İçindekiler:

Raspberry Pi/Arduino için AI Kamera: 7 Adım
Raspberry Pi/Arduino için AI Kamera: 7 Adım

Video: Raspberry Pi/Arduino için AI Kamera: 7 Adım

Video: Raspberry Pi/Arduino için AI Kamera: 7 Adım
Video: Простой робот с камерой | Orange pi | Raspberry pi | OpenCV 2024, Haziran
Anonim
Image
Image

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

Sipeed MAix: Uçta Yapay Zeka
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

Ortamınızı Hazırlayın
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 Derleyin
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

.bin Dosyasını Yükleme
.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'ya bağlanma
Arduino'ya bağlanma
Arduino'ya bağlanma
Arduino'ya bağlanma
Arduino'ya bağlanma
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'ye bağlanma
Raspberry Pi'ye bağlanma
Raspberry Pi'ye bağlanma
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: