Yapay Zeka Görüntü Sensörü#

giriiş#

VEX IQ Yapay Zeka Görsel Sensörü, nesneleri, renkleri ve AprilTag kimliklerini algılayıp takip edebiliyor. Bu sayede robot, çevresini analiz edebiliyor, nesneleri takip edebiliyor ve algılanan görsel verilere göre tepki verebiliyor.

Yapay Zeka Görüntüleme örnekleri, VEX IQ Yapay Zeka Görüntüleme Sensörü ile donatılmış bir Basebot ile kullanılmak üzere tasarlanmıştır. Bu örneklerde, sensör bloklarda görünen AIVision1 adıyla yapılandırılmıştır.

Aşağıda tüm blokların listesi bulunmaktadır:

İşlemler — Seçilen imza için VEX IQ Yapay Zeka Görüntü Sensöründen veri yakalayın.

  • Nesne verilerini al — Belirli bir imza için veri yakalar; örneğin yapılandırılmış bir renk, önceden eğitilmiş bir nesne veya bir AprilTag Kimliği.

Ayarlar — Hangi nesneyle etkileşim kuracağınızı seçin.

Değerler — Yakalanan verilere erişim ve kullanım.

Eylemler#

nesne verilerini al#

Nesne verilerini al yığın bloğu, VEX IQ AI Vision Sensör çerçevesindeki verileri tek bir imzaya filtreler; bu imza, sensörün tanıyabileceği bir şeyin kaydedilmiş bir açıklamasıdır; örneğin önceden eğitilmiş bir nesne, bir AprilTag kimliği veya yapılandırılmış bir renk veya renk kodu.

Bu bloğu kullanabilmek için önce AI Vision Utility’de renkler ve renk kodları yapılandırılmalıdır.

Veri seti, 0 indeksinden başlayarak genişliklerine göre en büyükten en küçüğe doğru sıralanmış nesneleri depolar. Her nesnenin özelliklerine AI Vision nesne özelliği bloğu kullanılarak erişilebilir. Eşleşen nesne bulunmazsa boş bir veri seti raporlanır.

Nesne verilerini alma yığın bloğu.#
[AIVision1 v] sensöründen [SELECT_A_SIG v] verilerini al

Parametre

Tanım

imza

Veri kümesini yalnızca verilen imzaya ait verileri içerecek şekilde filtreler. Mevcut imzalar şunlardır:

  • Nisan Etiketi Kimlikleri
  • Yapay Zeka Sınıflandırmaları — Kullanılabilirlik, Yapay Zeka Görsel Yardımcı Programında yapılandırılan modele bağlı olarak değişir.
  • AD — Bir Renk İmzası veya Renk Kodu, burada AD, Yapay Zeka Görsel Yardımcı Programında yapılandırılan addır

Not: AprilTag ID veya AI Sınıflandırma seçeneklerinin görünmesi için, bunların AI Vision Utility’de algılanması etkinleştirilmelidir.

Örnek

başladığında
[Drive forward if an AprilTag ID is detected.]
sonsuza kadar
[AIVision1 v] sensöründen [AprilTag IDs v] verilerini al
eğer <[AIVIsion1 v] nesnesi var mı?> ise
[ileri v] yönünde [10] [mm v] sürdür ▶

Yapay Zeka Sınıflandırmaları#

VEX IQ Yapay Zeka Görüntüleme Sensörü, belirli Yapay Zeka Sınıflandırmaları altında farklı nesneleri algılayabilir. Cihazlar penceresinde VEX IQ Yapay Zeka Görüntüleme Sensörünü yapılandırırken seçilen Yapay Zeka Sınıflandırma modeline bağlı olarak farklı nesneler algılanacaktır. Şu anda mevcut modeller şunlardır:

Sınıf Malzemeleri

  • Mavi Top

  • Yeşil Top

  • Kırmızı Top

  • MaviRing

  • YeşilRing

  • KırmızıRing

  • Mavi Küp

  • YeşilKüp

  • Kırmızı Küp

VEX IQ Robotik Yarışması Karışık ve Eşleştirme

  • Işın

  • RedPin

  • BluePin

  • OrangePin

VEX IQ Robotik Yarışması Seviye Atlıyor

  • Mavi Fasulye Torbası

  • Kırmızı Fasulye Torbası

  • SarıPuf

Renk İmzaları#

Renk İmzası, VEX IQ Yapay Zeka Görüntü Sensörünün tanıyabileceği benzersiz bir renktir. Bu imzalar, sensörün nesneleri renklerine göre algılamasına ve izlemesine olanak tanır. Bir Renk İmzası yapılandırıldıktan sonra, sensör görüş alanındaki o belirli renkteki nesneleri tanımlayabilir.

Renk İmzaları, renkli nesneleri gerçek zamanlı olarak işlemek ve tespit etmek için nesne verilerini al bloğunda kullanılır. Aynı anda en fazla 7 Renk İmzası yapılandırılabilir.

İki renkli nesneyi algılayan bağlı bir görüntü sensörünü gösteren yapay zeka görüntü yardımcı programı. Sol tarafta, solda mavi bir kutu ve sağda kırmızı bir kutu bulunan, her biri beyaz sınırlayıcı kutularla çevrili canlı kamera görüntüsü yer almaktadır. Siyah etiketler, ilgili adlarını, koordinatlarını ve boyutlarını göstermektedir. Sağ tarafta, hem kırmızı hem de mavi kutular için ton ve doygunluk aralığı kaydırıcıları içeren renk imzası ayarları bulunmaktadır. Renk ekleme, videoyu dondurma, kopyalama ve görüntüyü kaydetme düğmeleri altta, ayrıca sağ alt köşede bir kapatma düğmesi bulunmaktadır.

Örnek

başladığında
[Display if any objects matching the RED_BOX signature is detected.]
sonsuza kadar
imleci ekranda satır [1] sütun [1] konumuna taşı
ekranda [1] satırını temizle
[Change the signature to any configured Color Signature.]
[AIVision1 v] sensöründen [RED_BOX v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
ekranda [Color detected!] yazdır ▶

Renk Kodları#

Renk kodu, belirli bir düzende düzenlenmiş 2 ila 4 renk imzasından oluşan yapılandırılmış bir desendir. Bu kodlar, VEX IQ AI Görsel Sensörünün önceden tanımlanmış renk desenlerini tanımasını sağlar.

Renk kodları, özellikle karmaşık nesneleri tanımlamak, oyun öğeleriyle hizalamak veya otonom navigasyon için benzersiz işaretler oluşturmak için kullanışlıdır. Aynı anda en fazla 8 renk kodu yapılandırılabilir.

Yapay Zeka Görsel Yardımcı Programı arayüzü, bağlı bir görsel sensörün, solda mavi bir kutu ve sağda kırmızı bir kutu olmak üzere, bitişik iki nesneyi algıladığını ve bu nesnelerin BlueRed etiketli tek bir beyaz sınırlayıcı kutu içinde gruplandığını gösterir. Algılama bilgileri açı (A:11°), koordinatlar (X:143, Y:103), genişlik (W:233) ve yükseklik (H:108) içerir. Sağ panelde, ayarlanabilir ton ve doygunluk aralıklarına sahip üç renk imzası listelenmiştir: Red_Box, Blue_Box ve BlueRed. BlueRed imzası, Blue_Box ve Red_Box'ı birleştirir. Video akışının altında, Videoyu Dondur, Görüntüyü Kopyala, Görüntüyü Kaydet ve Kapat etiketli düğmeler bulunur.

Örnek

başladığında
[Display if any objects matching the RED_BLUE code is detected.]
sonsuza kadar
imleci ekranda satır [1] sütun [1] konumuna taşı
ekranda [1] satırını temizle
[Change the signature to any configured Color Code.]
[AIVision1 v] sensöründen [RED_BLUE v] verilerini al
eğer <[AIVIsion1 v] nesnesi var mı?> ise
ekranda [Code detected!] yazdır ▶

Ayarlar#

Yapay zeka görme nesnesi öğesini ayarla#

Yapay Zeka Görsel Algılama nesne öğesini ayarla yığın bloğu, veri kümesindeki hangi öğenin kullanılacağını belirler.

Yapay Zeka Görüşü nesne öğesi yığın bloğunu ayarlayın.#
[AIVision1 v] nesne öğesini (1) olarak ayarla

Parametreler

Tanım

öğe

Veri setinde kullanılacak öğenin numarası.

Örnek

Bir dizi blok, “başlangıçta” bloğuyla başlar, ardından “Algılanan en büyük AprilTag ID’sini görüntüle” yazan bir yorum bloğu gelir. Sonsuz bir döngünün içinde, bir AI Vision anlık görüntü alma bloğu AprilTag ID’lerinin bir görüntüsünü yakalar. Bir “eğer” bloğu, bir AI Vision nesnesinin var olup olmadığını kontrol eder. Eğer varsa, bir AI Vision nesnesi sayısını bir değişkene atayan bir “AI Vision nesnesi öğesi ayarla” bloğu ve algılanan nesnenin etiket kimliğini ekranda görüntüleyen bir “yazdır” bloğu bulunur.#
başladığında
[Display the largest detected AprilTag ID.]
sonsuza kadar
[AIVision1 v] sensöründen [AprilTag IDs v] verilerini al
ekranda [1] satırını temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
eğer <[AIVision1 v] nesnesi var mı?> ise
[AIVision1 v] nesne öğesini ([AIVision1 v] nesne sayısı) olarak ayarla
ekranda ([AIVision1 v] nesnesi [etiketID v]) yazdır ▶

Değerler#

Yapay zeka görme nesnesi mevcut#

AI Vision nesnesinin mevcut olup olmadığını gösteren Boolean bloğu, veri kümesinde herhangi bir nesnenin tespit edilip edilmediğini bildirir.

  • Doğru — Veri kümesi tespit edilmiş bir nesne içeriyor.

  • Yanlış — Veri kümesi herhangi bir tespit edilmiş nesne içermiyor.

AI Vision nesnesi Boolean bloğundan oluşmaktadır.#
<[AIVision1 v] nesnesi var mı?>

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında
[Drive forward if an object is detected.]
sonsuza kadar
[AIVision1 v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
[ileri v] yönünde [10] [mm v] sürdür ▶

Yapay Zeka Görüntüsü nesne sayımı#

Yapay Zeka Görsel Algılama nesne sayısı raporlama bloğu, veri kümesindeki algılanan nesne sayısını tam sayı olarak rapor eder.

Yapay Zeka Görüşü nesne öğesi yığın bloğunu ayarlayın.#
([AIVision1 v] nesne sayısı)

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

başladığında
[Display the total amount of cubes, rings, and balls.]
sonsuza kadar
ekranda [1] satırını temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
[AIVision1 v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
ekranda ([AIVision1 v] nesne sayısı) yazdır ▶
son
[0.5] saniye bekle

AI Vision nesne özelliği#

Nesne verilerini al bloğu kullanıldıktan sonra depolanan her nesneyle birlikte dokuz özellik de dahil edilir (aşağıda gösterilmiştir).

AI Vision nesne özelliği raporlayıcı bloğu.#
([AIVision1 v] nesnesi [genişlik v])

tagID dışındaki tüm özellik değerleri, nesne verilerini al bloğu kullanıldığı anda VEX IQ AI Vision Sensor’ün görüş alanındaki algılanan nesnenin konumunu ve boyutunu tanımlar. Bu değerler, sensörün 320 x 240 piksel çözünürlüğüne bağlı olarak piksel cinsinden ölçülür.

Parametre

Tanım

mülk

Algılanan nesnenin hangi özelliğini kullanacağız:

Genişlik#

Genişlik özelliği, algılanan nesnenin genişliğini piksel cinsinden, 1 ile 320 arasında tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi genişlik olarak ayarlanmış halde.#
([AIVision1 v] nesnesi [genişlik v])

Örnek

başladığında
[Drive towards an object until its width is larger than 100 pixels.]
sonsuza kadar
[AIVision1 v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <([AIVision1 v] nesnesi [genişlik v]) [math_less_than v] [100]> ise
[ileri v] yönünde sürdür
son
değilse
sürüşü durdur

yükseklik#

Height özelliği, algılanan nesnenin yüksekliğini piksel cinsinden, 1 ile 240 arasında tam sayı olarak bildirir.

Yükseklik parametresi ayarlanmış AI Vision nesnesi özellik yığını bloğu.#
([AIVision1 v] nesnesi [yükseklik v])

Örnek

başladığında
[Drive towards an object until its height is larger than 100 pixels.]
sonsuza kadar
[AIVision1 v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <([AIVision1 v] nesnesi [yükseklik v]) [math_less_than v] [100]> ise
[ileri v] yönünde sürdür
son
değilse
sürüşü durdur

merkezX#

centerX özelliği, algılanan nesnenin merkezinin x koordinatını piksel cinsinden, 0 ile 320 arasında tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi centerX olarak ayarlanmış halde.#
([AIVision1 v] nesnesi [merkezX v])

Örnek

başladığında
[Turn slowly until an object is centered in front of the robot.]
dönüş hızını [30] [% v] olarak ayarla
[sağ v] yönüne dön
sonsuza kadar
[AIVision1 v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <[140] [math_less_than v] ([AIVision1 v] nesnesi [merkezX v]) [math_less_than v] [180]> ise
sürüşü durdur

merkezY#

centerY özelliği, tespit edilen nesnenin merkezinin y koordinatını piksel cinsinden, 0 ile 240 arasında tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi centerY olarak ayarlanmış halde.#
([AIVision1 v] nesnesi [merkezY v])

Örnek

başladığında
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
sonsuza kadar
[AIVision1 v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <([AIVision1 v] nesnesi [merkezY v]) [math_less_than v] [140]> ise
[ileri v] yönünde sürdür
son
değilse
sürüşü durdur

açı#

Açı özelliği, algılanan Renk Kodunun veya AprilTag Kimliğinin yönünü 0 ile 359 arasında tam sayı olarak derece cinsinden bildirir.

Parametresi “açı” olarak ayarlanmış AI Vision nesne özellik yığını bloğu.#
([AIVision1 v] nesnesi [açı v])

Örnek

başladığında
[Slide left or right depending on how the Color Code is rotated.]
sonsuza kadar
[AIVision1 v] sensöründen [RED_BLUE v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <[50] [math_less_than v] ([AIVision1 v] nesnesi [açı v]) [math_less_than v] [100]> ise
[sağ v] yönünde sürdür
değilse eğer <[270] [math_less_than v] ([AIVision1 v] nesnesi [açı v]) [math_less_than v] [330]> ise
[sol v] yönünde sürdür
değilse
sürüşü durdur
son
değilse
sürüşü durdur

originX#

originX özelliği, algılanan nesnenin sınırlayıcı kutusunun sol üst köşesinin x koordinatını piksel cinsinden, 0 ile 320 arasında tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi originX olarak ayarlanmış halde.#
([AIVision1 v] nesnesi [başlangıçX v])

Örnek

başladığında
[Display if an object is to the left or the right.]
sonsuza kadar
ekranda [1] satırını temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
[AIVision1 v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <([AIVision1 v] nesnesi [başlangıçX v]) [math_less_than v] [160]> ise
ekranda [To the left!] yazdır ▶
değilse
ekranda [To the right!] yazdır ▶
son
[0.5] saniye bekle

originY#

originY özelliği, tespit edilen nesnenin sınırlayıcı kutusunun sol üst köşesinin y koordinatını piksel cinsinden, 0 ile 240 arasında tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi originY olarak ayarlanmış halde.#
([AIVision1 v] nesnesi [başlangıçY v])

Örnek

başladığında
[Display if an object is close or far from the robot.]
sonsuza kadar
ekranda [1] satırını temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
[AIVision1 v] sensöründen [AI Sınıflandırmaları v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <([AIVision1 v] nesnesi [başlangıçY v]) [math_less_than v] [80]> ise
ekranda [Far!] yazdır ▶
değilse
ekranda [Close!] yazdır ▶
son
[0.5] saniye bekle

etiketID#

tagID özelliği, tespit edilen AprilTag ID’sinin tanımlama numarasını tam sayı olarak bildirir.

AI Vision nesnesinin özellik yığını bloğu, parametresi tagID olarak ayarlanmış halde.#
([AIVision1 v] nesnesi [etiketID v])

Örnek

başladığında
[Drive forward when AprilTag ID 0 is detected.]
sonsuza kadar
[AIVision1 v] sensöründen [AprilTag IDs v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <([AIVision1 v] nesnesi [etiketID v]) [math_equal v] [0]> ise
[ileri v] yönünde sürdür
değilse
sürüşü durdur
son
[0.5] saniye bekle

Yapay zekâ destekli görüntü işleme nesnesi nedir?#

Yapay Zeka Görüntüleme nesnesi nedir? bloğu, tespit edilen nesnenin belirli bir sınıflandırmaya uyup uymadığını gösteren bir Boolean değer bildirir.

  • Doğru — Veri kümesindeki öğe, belirli bir nesnedir.

  • Yanlış — Veri kümesindeki öğe, belirtilen nesne değil.

Yapay Zeka Görsel Algılama Yapay Zeka Sınıflandırması, nesne Boolean bloğudur.#
<[AIVision1 v] nesnesi [BlueBall v] mi?>

Parametre

Tanım

nesne

Öğeyi hangi Yapay Zeka Sınıflandırması ile karşılaştıracağız?

Örnek

başladığında
[Display if a Blue Cube is detected.]
sonsuza kadar
[AIVision1 v] sensöründen [AI Sınıflandırmaları v] verilerini al
ekranda [1] satırını temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <[AIVision1 v] nesnesi [BlueCube v] mi?> ise
ekranda [Cube detected!] yazdır ▶
[0.5] saniye bekle

AI Vision nesnesi AprilTag mi?#

AI Vision nesnesi AprilTag mi? bloğu, algılanan nesnenin belirli bir kimlikle eşleşen bir AprilTag olup olmadığını gösteren bir Boolean değer bildirir.

  • Doğru — Tespit edilen nesne, verilen kimliğe sahip bir AprilTag’dir.

  • Yanlış — Tespit edilen nesne, verilen kimlik numarasına sahip bir AprilTag değil.

AI Vision nesnesi AprilTag Boolean bloğudur.#
<[AIVision1 v] nesnesi AprilTag [0] mi?>

Parametre

Tanım

Nisan Etiket Kimliği

Tespit edilen AprilTag ile karşılaştırılacak kimlik numarası.

Örnek

başladığında
[Report if AprilTag 3 is detected.]
sonsuza kadar
ekranı temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
[AIVision1 v] sensöründen [AprilTag IDs v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <[AIVision1 v] nesnesi AprilTag [3] mi?> ise
ekranda [That is 3!] yazdır ▶
değilse
ekranda [That isn't 3!] yazdır ▶
son
son
[0.1] saniye bekle

AI Vision nesnesi AprilTag ID mi?#

AI Vision nesnesi AprilTag ID’si mi? bloğu, algılanan AprilTag ID’sinin belirli bir ID ile eşleşip eşleşmediğini gösteren bir Boolean değeri bildirir.

  • Doğru — AprilTag ID numarasıdır.

  • Yanlış — AprilTag ID’si sayı değildir.

AI Vision, AprilTag ID’sinin Boolean blok olduğunu tespit etti.#
<[AIVision1 v] object is AprilTag ID [1] ?>

Parametreler

Tanım

Nisan Etiketi kimlik numarası

Tespit edilen AprilTag kimlik numarasıyla karşılaştırılacak sayı.

Örnek:

başladığında
[Report if AprilTag ID 3 is detected.]
sonsuza kadar
ekranı temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
[AIVision1 v] sensöründen [AprilTag IDs v] verilerini al
eğer <[AIVision1 v] nesnesi var mı?> ise
eğer <[AIVision1 v] object is AprilTag ID [3] ?> ise
ekranda [That is 3!] yazdır ▶
değilse
ekranda [That isn't 3!] yazdır ▶
son
son
[0.1] saniye bekle