İçindekiler:

Sipeed MaiX Bit OpenMV Demoları - Bilgisayarla Görme: 3 Adım
Sipeed MaiX Bit OpenMV Demoları - Bilgisayarla Görme: 3 Adım

Video: Sipeed MaiX Bit OpenMV Demoları - Bilgisayarla Görme: 3 Adım

Video: Sipeed MaiX Bit OpenMV Demoları - Bilgisayarla Görme: 3 Adım
Video: Unpacking and OpenMV Demos Sipeed MaiX Bit 2024, Kasım
Anonim
Image
Image

Bu, Edge mikrodenetleyici platformunda Sipeed AI hakkında serinin ikinci makalesidir. Bu sefer daha küçük, breadboard'a hazır bir geliştirme kartı olan MaiX Bit (Seed Studio Shop'a bağlantı) hakkında yazacağım. Teknik özellikleri, aynı çip olan Kendryte K210'u kullandıklarından, son ders için kullandığım kart olan MaiX Dock'a çok benziyor.

Bazı OpenMV demolarını denemek için micropython üretici yazılımını kullanacağız. İşte OpenMV ana sayfasından açıklama:

OpenMV projesi, düşük maliyetli, genişletilebilir, Python destekli yapay görme modülleri oluşturmakla ilgilidir ve “Makine Görmenin Arduinosu” olmayı hedeflemektedir.…Python, yapay görme algoritmaları ile çalışmayı çok daha kolay hale getirir. Örneğin, koddaki find_blobs() yöntemi, renk bloblarını bulur ve bulunan her renk blobunu temsil eden 8 değerli nesnelerin bir listesini döndürür. Python'da find_blobs() tarafından döndürülen nesnelerin listesini yinelemek ve her renk bloğunun etrafına bir dikdörtgen çizmek yalnızca iki satır kodla kolayca yapılır.

Bu nedenle, MaiX Bit'in özel sinir ağı hızlandırıcısına sahip olmasına rağmen, bazen işi yapmak için OpenMV sabit kodlu algoritmaları kullanmak veya bunları yan yana kullanmak daha kolay olabilir.

Aklıma gelen bazı kullanım durumları:

1) Çizgi izleyen bot için çizgi algılama

2) Daire ve renk algılama ile trafik ışıklarını algılama

3) Yüz tanıma için yüzleri bulmak için yüz tanımayı kullanma (DNN ile)

Bu makale için Github deposu

Adım 1: Flash Micropython Firmware

MaiX Bit'e bağlanın
MaiX Bit'e bağlanın

Öncelikle micropython yazılımını kartımıza flashlamamız gerekecek. Bu makale için github deposuna önceden derlenmiş bir ikili dosya, kflash.py(bir flash yardımcı programı) ile birlikte dahil edilmiştir. Firmware'i kaynak koddan derlemek istiyorsanız, https://github.com/sipeed/MaixPy adresinden kaynak kodunu indirin, toolchain'i kurun ve kaynak kodu maixpy.bin dosyasında derleyin. Ayrıntılı yapım talimatları burada bulunabilir.

ile ikili dosyayı flash

sudo python3 kflash.py kpu.bin

Başarılı bir şekilde yanıp söndükten sonra bir sonraki adıma geçin.

Adım 2: MaiX Bit'e bağlanın

Artık MaiX Bit'imize baudrate 115200 ile bir USB seri bağlantısı üzerinden erişilebilir olmalıdır. İhtiyaçlarınıza uygun olanı seri iletişim veya sadece cat ve echo komutları için favori yazılımınızı kullanabilirsiniz. Seri iletişim için ekran kullanıyordum ve çok uygun buldum.

Ekran ile seri iletişim oturumu kurma komutu

sudo ekranı / dev / ttyUSB0 115200

burada /dev/ttyUSB0 cihazınızın adresidir.

Karşılama mesajını ve python yorumlayıcı istemini görmek için mikrodenetleyicinizdeki sıfırlama düğmesine basmanız gerekebilir.

Adım 3: Demoları Çalıştırın

Artık Ctrl+E tuşlarına basarak kopyalama moduna erişebilir ve demo kodlarını kopyalayıp yapıştırabilirsiniz. Bunları çalıştırmak için kopyalama modunda Ctrl+D tuşlarına basın.

Videoları kaydetmek istemiyorsanız, video kayıt satırlarına yorum yapmanız gerekir. Aksi takdirde, takılı SD kart yoksa kod bir istisna atar

Aşağıda her bir demonun kısa açıklamaları verilmiştir:

Çevreleri bul - OpenMV'den find_circles işlevini kullanır. Özel uygulamanız için daha fazla ince ayar yapılması gerekiyor, özellikle eşik(hough dönüşümünden hangi dairelerin algılandığını kontrol eder. Yalnızca eşik değerinden büyük veya eşit olan daireler döndürülür) ve r_min, r_max değerleri.

Dikdörtgenleri bul - OpenMV'den bul_rects işlevini kullanır. Eşik değeri ile oynayabilirsiniz ama demoda sahip olduğum değer dikdörtgenleri bulmak için oldukça iyi çalışıyor.

Yüzleri bul, gözleri bul - görüntüdeki gözleri ve ön yüzü algılamak için Haar Cascades ile find_features işlevini kullanır. Doğru hız-doğruluk dengesi için eşik ve ölçek değerleriyle oynayabilirsiniz.

Sonsuz çizgileri bul - hough dönüşümünü kullanarak görüntüdeki tüm sonsuz çizgileri bulmak için find_lines işlevini kullanır.

Rengi algıla - yüzdelik nesneyi elde etmek için get_statistics işlevini kullanır ve ardından LAB grubunun ortalama değerlerini RGB değerleri grubuna dönüştürür. Bu örneği kendim yazdım ve oldukça iyi çalışıyor, ancak renk algılama sonuçlarının ortam ışığı koşullarından etkileneceğini unutmayın.

OpenMV github deposunda çok daha ilginç demolar bulabilirsiniz! Çoğunlukla MaiX Bit micropython ile uyumludurlar, hatırlamanız gereken tek şey pixformat ve çerçeve boyutunu ayarladıktan sonra sensor.run(1) eklemektir.

OpenMV koduyla mutlu deneyler. Herhangi bir sorunuz varsa veya ilginç sonuçlarınızdan bazılarını paylaşmak istiyorsanız, bana Youtube veya LinkedIn üzerinden ulaşmaktan çekinmeyin. Şimdi, afedersiniz, gidip biraz robot yapacağım!

Önerilen: