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.
Yapay Zeka Görüşü nesne öğesini ayarla — Algılanan nesne listesinden belirli bir nesneyi seçer.
Değerler — Yakalanan verilere erişim ve kullanım.
Yapay Zeka Görüşü nesnesi mevcut — Bir nesnenin algılanıp algılanmadığını bildirir.
Yapay Zeka Görsel Nesne Sayısı — Tespit edilen nesne sayısını bildirir.
AI Vision nesne özelliği — Şunlar gibi ayrıntıları rapor eder:
Yapay Zeka Görüşü nesnesi nedir? — Algılanan bir nesnenin belirli bir sınıflandırmayla eşleşip eşleşmediğini kontrol eder.
AI Vision nesnesi AprilTag mi? — Algılanan nesnenin belirli bir kimlikle eşleşen bir AprilTag olup olmadığını kontrol eder.
AI Vision nesnesi AprilTag Kimliği mi? — Algılanan AprilTag Kimliğinin belirli bir kimlikle eşleşip eşleşmediğini kontrol eder.
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.
[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:
|
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.

Ö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.

Ö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.
[AIVision1 v] nesne öğesini (1) olarak ayarla
Parametreler |
Tanım |
|---|---|
öğe |
Veri setinde kullanılacak öğenin numarası. |
Örnek
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.
<[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.
([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).
([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.
([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.
([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.
([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.
([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.
([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.
([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.
([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.
([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.
<[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.
<[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.
<[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