İçindekiler:
- Adım 1: Sipeed MAix: Uçta Yapay Zeka
- 2. Adım: Ortamınızı Hazırlayın
- Adım 3: Kodu Derleyin
- 4. Adım:.bin Dosyasını Yükleme
- Adım 5: Arduino'ya Bağlanma
- Adım 6: Raspberry Pi'ye Bağlanma
- 7. Adım: Sonuç
Video: Raspberry Pi/Arduino için AI Kamera: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Son zamanlarda haberleri takip ediyorsanız, makine öğrenimi (makine öğrenimi) algoritmaları çıkarımını ve eğitimini hızlandırmak için çipler geliştiren bir start-up patlaması yaşandı. Bununla birlikte, bu çiplerin çoğu hala geliştirme aşamasındadır ve ortalama bir üreticinin uygulayabileceği bir şey değildir. Şimdiye kadarki tek önemli istisna, satın alınabilen ve iyi bir SDK ile birlikte gelen Intel Movidius Neural Compute Stick oldu. Birkaç önemli dezavantajı var - yani fiyat (yaklaşık 100 USD) ve USB bellek formatında gelmesi. Dizüstü bilgisayar veya Raspberry PI ile kullanmak istiyorsanız harika, ancak Arduino ile bazı görüntü tanıma projeleri yapmak isterseniz ne olur? Veya Raspberry Pi Zero?
Adım 1: Sipeed MAix: Uçta Yapay Zeka
Çok uzun zaman önce, çift çekirdekli RISC-V 64bit CPU'ya sahip ve özellikle görüntü işleme için CNN'yi hızlandırmak için tasarlanmış yerleşik bir KPU'ya (Sinir Ağı İşlemcisi) sahip Sipeed M1w K210 geliştirme kartına sahip oldum. Daha fazla ayrıntıyı buradan okuyabilirsiniz.
Bu anakartın fiyatı açıkçası beni şok etti, Wi-fi destekli tam teşekküllü AI-on-the-end geliştirme kartı için sadece 19 USD! Yine de bir uyarı var (tabii ki var): Anakart için micropython ürün yazılımı hala geliştirme aşamasında ve genel olarak şu an itibariyle çok kullanıcı dostu değil. Şu anda tüm işlevlerine erişmenin tek yolu, kendi gömülü C kodunuzu yazmak veya mevcut bazı demoları değiştirmek.
Bu öğretici, nesneleri algılamak ve algılanan nesne kodunu Arduino/Raspberry Pi tarafından alınabileceği UART aracılığıyla göndermek için Mobilenet 20 sınıf algılama modelinin nasıl kullanılacağını açıklar.
Şimdi, bu öğretici, Linux'a ve C kodunu derlemenin temellerine aşina olduğunuzu varsayar. Bu cümleyi duymak sizi biraz şaşırttıysa:) o zaman önceden oluşturulmuş ikili dosyamı Sipeed M1'e yüklediğiniz ve derlemeyi atladığınız Adım 4'e geçin.
2. Adım: Ortamınızı Hazırlayın
C kodu derleme ve yükleme için Ubuntu 16.04 kullandım. Bunu Windows'ta yapmak mümkündür, ancak kendim denemedim.
RISC-V GNU Derleyici Araç Zincirini indirin, gerekli tüm bağımlılıkları kurun.
git klon -- özyinelemeli
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk inşa-temel bizon esnek texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
İndirilen araç zincirini /opt dizinine kopyalayın. Bundan sonra aşağıdaki komutları çalıştırın
./configure --prefix=/opt/kendryte-toolchain --with-cmodel=medany
Yapmak
PATH'inize şimdi /opt/kendryte-toolchain/bin ekleyin.
Artık kodu derlemeye hazırsınız!
Adım 3: Kodu Derleyin
Kodu github depomdan indirin.
Kendryte K210 bağımsız SDK'sını indirin
/kpu klasörünü github depomdan SDK'daki /src klasörüne kopyalayın.
SDK klasöründe aşağıdaki komutları çalıştırın (/src klasörü değil!)
mkdir derlemesi && cd derlemesi
cmake.. -DPROJ=proje_adı -DTOOLCHAIN=/opt/kendryte-toolchain/bin && make
proje_adı projenizin adıdır (size kalmış) ve -DTOOLCHAIN= risc-v araç zincirinizin yerini göstermelidir (ilk adımda indirdiniz, hatırladınız mı?)
Harika! Şimdi umarım derlemenin hatasız bir şekilde tamamlandığını görürsünüz ve yükleyebileceğiniz bir.bin dosyanız vardır.
4. Adım:.bin Dosyasını Yükleme
Şimdi Sipeed M1'inizi bilgisayara bağlayın ve /build klasöründen aşağıdaki komutu çalıştırın
sudo python3 isp_auto.py -d /dev/ttyUSB0 -b 200000 kpu.bin
Burada kpu.bin,.bin dosyanızın adıdır
Yükleme genellikle 2-3 dakika sürer, tamamlandıktan sonra panonun 20 sınıf algılamasını çalıştırdığını görürsünüz. Bizim için son adım Arduino mega veya Raspberry Pi'ye bağlamak.
!!! Adım 2'den yeni geldiyseniz !!
Github depomu klonladığınız klasörden aşağıdaki komutu çalıştırın
sudo python3 isp_auto.py -d /dev/ttyUSB0 -b 200000 kpu_bin.bin
Yükleme genellikle 2-3 dakika sürer, tamamlandıktan sonra panonun 20 sınıf algılaması yaptığını göreceksiniz. Bizim için son adım Arduino mega veya Raspberry Pi'ye bağlamak.
Adım 5: Arduino'ya Bağlanma
Arduino Mega'yı Seeed Studio Mega Shield ile kullandım, bu yüzden Sipeed M1 kartına bir Grove konektörü lehimledim. Ancak bu bağlantı şemasını izleyerek sadece jumper kabloları kullanabilir ve Sipeed M1'i doğrudan Arduino Mega'ya bağlayabilirsiniz.
Bundan sonra camera.ino taslağını yükleyin ve Seri monitörü açın. Kamerayı farklı nesnelere doğrulttuğunuzda (20 sınıfın listesi çizimdedir) seri monitörde sınıfın adını çıkarmalıdır!
Tebrikler! Artık Arduino'nuz için çalışan görüntü algılama modülünüz var!
Adım 6: Raspberry Pi'ye Bağlanma
Raspberry Pi 2B için Grove Pi+ şapkasını kullandım, ancak yine Arduino'da olduğu gibi, bu bağlantı şemasını izleyerek Sipeed M1'i doğrudan Raspberry Pi'nin UART arayüzüne bağlayabilirsiniz.
Bu, camera_speak.py'yi başlattıktan ve kamerayı farklı nesnelere yönelttikten sonra, terminal "Sanırım öyle" metnini çıkaracak ve ayrıca bağlı hoparlörleriniz varsa, bu ifadeyi yüksek sesle söyleyecektir. Çok güzel, değil mi?
7. Adım: Sonuç
Yapay zeka ve makine öğreniminin hayatımızın tüm alanlarına nüfuz etmesiyle, içinde yaşadığımız çok heyecan verici zamanlar. Bu alandaki gelişmeleri dört gözle bekliyorum. Sipeed ekibiyle iletişim halindeyim ve CNN hızlandırması da dahil olmak üzere gerekli tüm işlevler için aktif olarak mikropython sarmalayıcı geliştirdiklerini biliyorum.
Hazır olduğunda, kendi CNN modellerinizi micropython ile nasıl kullanacağınıza dair daha fazla talimat yayınlayacağım. Bu fiyata ve bu ayak izi ile kendi görüntü işleme sinir ağlarınızı çalıştırabilen bir pano için sahip olabileceğiniz tüm heyecan verici uygulamaları bir düşünün!
Önerilen:
COVID 19 için Uygulanan Arduino için Sıcaklık Sensörü: 12 Adım (Resimlerle)
Arduino için Sıcaklık Sensörü Applied for COVID 19: Arduino için sıcaklık sensörü, insan vücudunun bir işlemcisinin sıcaklığını ölçmek istediğimizde temel bir unsurdur. Arduino ile sıcaklık sensörü, ısı seviyesini alıp ölçmek için temas halinde veya yakın olmalıdır. İşte böyle
All-sky Kamera için Raspberry Pi Çiğ Isıtıcı: 7 Adım
Tüm Gökyüzü Kamerası için Raspberry Pi Çiy Isıtıcı: [Kullanılan rölede bir değişiklik için 7. Adıma bakın] Bu, Thomas Jaquin'in mükemmel kılavuzunu izleyerek oluşturduğum tüm gökyüzü kamerasına yapılan bir yükseltmedir (Kablosuz Tüm Gökyüzü Kamerası) gökyüzü kameralarında (ve teleskoplarda da) meydana gelen çiy birleşecek
Arduino için 6 Buton İçin 1 Analog Giriş Kullanın: 6 Adım
Arduino için 6 Düğme için 1 Analog Giriş Kullanın: Arduino'm için nasıl daha fazla Dijital Giriş elde edebileceğimi sık sık merak etmişimdir. Kısa süre önce birden fazla dijital giriş getirmek için Analog Girişlerden birini kullanabilmem gerektiği aklıma geldi. Hızlı bir arama yaptım ve insanların nerede olduğunu buldum
Küçük Kamera/Video Kamera için Trekking Pole Monopodu: 4 Adım
Küçük Kamera/Video Kamera için Trekking Pole Monopodu: Yürüyüş yaparken çok fazla fotoğraf çekmeyi severim, ancak tripodum ciddi yürüyüşler için biraz ağırdır ve goril-pod tarzı tripodumun doğru noktaya gelmesi çok uzun sürer ve çok kararlı değil (daha güzel bir tane almalıydım). Bu basit k
Bir Nikon Sc-28 Ttl Kablosuna bir Pc Sync Jakı Ekleyin (Kamera Açık Flaş ve Tetik Kapalı Kamera Flaşları için Otomatik Ayarları kullanın!!): 4 Adım
Bir Nikon Sc-28 Ttl Kablosuna bir Pc Sync Jakı ekleyin (Kamerada Flaş ve Tetikleme Kapalı Kamera Flaşları için Otomatik Ayarları kullanın!!): Bu talimatta size bu sinir bozucu tescilli 3pin TTL konektörlerinden birini nasıl çıkaracağınızı göstereceğim. Nikon SC-28 kapalı kamera TTL kablosunun yan tarafına yerleştirin ve standart bir PC senkronizasyon konektörü ile değiştirin. bu, özel bir flaş kullanmanıza izin verir, s