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

giriiş#

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.

Aşağıda mevcut blokların listesi bulunmaktadır:

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

  • anlık görüntü 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#

fotoğraf çek#

Anlık görüntü al yığın bloğu, yapay zeka görme 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.

Anlık görüntü alma yığın bloğu.#
[AIVision1 v] sensörüyle [SELECT_A_SIG v] anlık görüntüsü al

Parametre

Tanım

cihaz

Kullanılacak yapay zeka görüntü sensörünün hangisi olduğu, Cihazlar penceresinde yapılandırılır.

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üyle [AprilTag IDs v] anlık görüntüsü 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ı#

Yapay Zeka Görüntüleme Sensörü, belirli Yapay Zeka Sınıflandırmaları altında farklı nesneleri algılayabilir. Cihazlar penceresinde 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 V5 Robotik Yarışması Geri Bildirimi

  • Mavi Blok

  • RedBlock

VEX V5 Robotik Yarışması Yüksek Riskli

  • MobilHedef

  • KırmızıRing

  • MaviRing

VEX V5 Robotik Yarışması Geçersiz Kılma

  • KırmızıMaviPin

  • MaviSarıİğne

  • KırmızıSarıİğne

  • Sarı Pin

  • Bardak

Renk İmzaları#

Renk İmzası, Yapay Zeka Görsel 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 algılamak için anlık görüntü 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üyle [RED_BOX v] anlık görüntüsü 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, yapay zeka görüntü 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üyle [RED_BLUE v] anlık görüntüsü 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 ayarla.#
[AIVision1 v] nesne öğesini (1) olarak ayarla

Parametreler

Tanım

cihaz

Kullanılacak yapay zeka görüntü sensörünün hangisi olduğu, Cihazlar penceresinde yapılandırılır.

öğ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üyle [AprilTag IDs v] anlık görüntüsü 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 zekâ destekli görüntü işleme nesnesi mevcut mu?#

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ümesinde tespit edilen hiçbir nesne bulunmamaktadır.

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

Parametreler

Tanım

cihaz

Kullanılacak yapay zeka görüntü sensörünün hangisi olduğu, Cihazlar penceresinde yapılandırılır.

Örnek

başladığında
[Drive forward if an object is detected.]
sonsuza kadar
[AIVision1 v] sensörüyle [AI Sınıflandırmaları v] anlık görüntüsü 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üleme nesnesi#

Yapay Zeka Görsel Algılama nesnesi, tespit edilen bir nesnenin belirli bir sınıflandırmaya uyup uymadığını bildiren bir Boolean bloğudur.

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

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

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

cihaz

Kullanılacak yapay zeka görüntü sensörünün hangisi olduğu, Cihazlar penceresinde yapılandırılır.

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üyle [AI Sınıflandırmaları v] anlık görüntüsü 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’dir.#

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

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

  • Yanlış – Tespit edilen nesne, verilen kimliğe sahip bir AprilTag değil.

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

Parametre

Tanım

cihaz

Kullanılacak yapay zeka görüntü sensörünün hangisi olduğu, Cihazlar penceresinde yapılandırılır.

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üyle [AprilTag IDs v] anlık görüntüsü 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’dir.#

AI Vision nesnesi AprilTag ID Boolean bloğu, algılanan AprilTag ID’sinin belirli bir ID ile eşleşip eşleşmediğini bildirir.

  • Doğru – AprilTag ID’si numaradır.

  • Yanlış – AprilTag ID’si numara değildir.

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

Parametreler

Tanım

cihaz

Kullanılacak yapay zeka görüntü sensörünün hangisi olduğu, Cihazlar penceresinde yapılandırılır.

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üyle [AprilTag IDs v] anlık görüntüsü 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

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 ayarla.#
([AIVision1 v] nesne sayısı)

Parametreler

Tanım

cihaz

Kullanılacak yapay zeka görüntü sensörünün hangisi olduğu, Cihazlar penceresinde yapılandırılır.

Ö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üyle [AI Sınıflandırmaları v] anlık görüntüsü 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#

anlık görüntü al bloğu kullanıldıktan sonra saklanan 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 ve score dışındaki tüm özellik değerleri, anlık görüntü al bloğunun kullanıldığı anda AI Vision Sensor’un 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

cihaz

Kullanılacak yapay zeka görüntü sensörünün hangisi olduğu, Cihazlar penceresinde yapılandırılır.

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üyle [AI Sınıflandırmaları v] anlık görüntüsü 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
değilse
sürüşü durdur
son

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üyle [AI Sınıflandırmaları v] anlık görüntüsü 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
değilse
sürüşü durdur
son

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üyle [AI Sınıflandırmaları v] anlık görüntüsü 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üyle [AI Sınıflandırmaları v] anlık görüntüsü 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
değilse
sürüşü durdur
son

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 nesnesi ö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üyle [RED_BLUE v] anlık görüntüsü 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üyle [AI Sınıflandırmaları v] anlık görüntüsü 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üyle [AI Sınıflandırmaları v] anlık görüntüsü 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üyle [AprilTag IDs v] anlık görüntüsü 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

Gol#

Puan özelliği, modelin tespit ettiği yapay zeka sınıflandırmasına olan güvenini %70 ile %100 arasında bir yüzde olarak gösterir.

Daha düşük bir puan, sensörün tespit edilen nesne konusunda daha az emin olduğunu, daha yüksek bir puan ise sensörün daha emin olduğunu gösterir.

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