Mündəricat:
- Addım 1: Sipeed MAix: AI kənarında
- Addım 2: Ətrafınızı hazırlayın
- Addım 3: Kodu tərtib edin
- Addım 4:.bin Faylının Yüklənməsi
- Addım 5: Arduinoya qoşulun
- Addım 6: Raspberry Pi -yə qoşulun
- Addım 7: Nəticə
Video: Raspberry Pi/Arduino üçün AI Kamera: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu yaxınlarda xəbərləri izləyirsinizsə, ML (maşın öyrənmə) alqoritmlərinin çıxarılmasını və təlimini sürətləndirmək üçün fiş inkişaf etdirən yeni başlayanlar bir partlayış oldu. Ancaq bu çiplərin çoxu hələ də inkişaf mərhələsindədir və əslində orta istehsalçınızın əlindən ala biləcəyi bir şey deyil. İndiyə qədər yeganə əhəmiyyətli istisna, satın alına bilən və yaxşı bir SDK ilə birlikdə gələn Intel Movidius Neural Compute Stick idi. Bir neçə əhəmiyyətli çatışmazlığı var - yəni qiyməti (təxminən 100 ABŞ dolları) və USB stick formatında olması faktı. Laptop və ya Raspberry PI ilə istifadə etmək istəyirsinizsə, əladır, amma Arduino ilə bəzi görüntü tanıma layihələri etmək istəyirsinizsə nə etməli? Yoxsa Raspberry Pi Zero?
Addım 1: Sipeed MAix: AI kənarında
Çox keçməmiş əllərimi iki nüvəli RISC-V 64bit CPU-ya malik olan və görüntü emalı üçün CNN-i sürətləndirmək üçün xüsusi olaraq hazırlanmış bir bortda KPU (Neyron Şəbəkə Prosessoru) olan Sipeed M1w K210 inkişaf lövhəsinə sahib oldum. Ətraflı məlumatı buradan oxuya bilərsiniz.
Açıqca bu lövhənin qiyməti məni şok etdi, Wi-Fi dəstəyi ilə tam hüquqlu AI-on-the-edge inkişaf lövhəsi üçün cəmi 19 USD! Bununla birlikdə bir xəbərdarlıq var (əlbəttə var): lövhə üçün micropython firmware hələ inkişaf mərhələsindədir və ümumilikdə indiyə qədər istifadəçi dostu deyil. Hal -hazırda bütün funksiyalarına daxil olmağın yeganə yolu, öz C kodunuzu yazmaq və ya bəzi mövcud demoları dəyişdirməkdir.
Bu dərslik, Mobilenet 20 sinif aşkarlama modelinin obyektləri aşkar etmək və Arduino/Raspberry Pi tərəfindən qəbul edilə biləcəyi yerdən UART vasitəsi ilə göndərilməsini izah edir.
İndi bu təlimatda Linux və C kodunun tərtib edilməsinin əsasları ilə tanış olduğunuz güman edilir. Bu ifadəni eşitmək sizi bir az başgicəlləndirdi:) Əgər əvvəlcədən qurduğum ikili faylımı Sipeed M1-ə yüklədiyiniz və tərtib etməyi atdığınız 4-cü addıma keçin.
Addım 2: Ətrafınızı hazırlayın
C kodu tərtib etmək və yükləmək üçün Ubuntu 16.04 istifadə etdim. Windows -da bunu etmək mümkündür, amma mən özüm sınamamışam.
RISC-V GNU Derleyici Alət Zəncirini yükləyin, lazım olan bütün asılılıqları quraşdırın.
git klonu-təkrarlanan
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
Yüklənmiş alət zəncirini /opt qovluğuna kopyalayın. Bundan sonra aşağıdakı əmrləri yerinə yetirin
./configure --prefix =/opt/kendryte-toolchain --with-cmodel = medany
etmək
İndi yolunuza/opt/kendryte-toolchain/bin əlavə edin.
İndi kodu tərtib etməyə hazırsınız!
Addım 3: Kodu tərtib edin
Kodu github depomdan yükləyin.
Kendryte K210 bağımsız SDK yükləyin
Github depomdan /kpu qovluğunu SDK -dakı /src qovluğuna kopyalayın.
Aşağıdakı əmrləri SDK qovluğunda çalıştırın (not /src qovluğu!)
mkdir build && cd qurmaq
cmake.. -DPROJ = project_name -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make
burada project_name, layihənizin adıdır (sizə bağlıdır) və -DTOOLCHAIN = risc -v alət zəncirinizin yerini göstərməlidir (birinci addımda yükləmisiniz, yadınızdadırmı?)
Əla! İndi inşallah kompilyasiyanın səhvsiz bitdiyini görəcəksiniz və yükləyə biləcəyiniz.bin faylınız var.
Addım 4:.bin Faylının Yüklənməsi
İndi Sipeed M1 -i kompüterə qoşun və /build qovluğundan aşağıdakı əmri işlədin
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin
Harada kpu.bin.bin faylınızın adıdır
Yükləmə ümumiyyətlə 2-3 dəqiqə çəkir, tamamlandıqdan sonra lövhədə 20 sinif aşkarlama işlədiyini görəcəksiniz. Bizim üçün son addım onu Arduino mega və ya Raspberry Pi ilə birləşdirməkdir.
!!! Yalnız 2 -ci addımdan gəlsəniz !
Github depomu klonladığınız qovluqdan aşağıdakı əmri işlədin
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin
Yükləmə ümumiyyətlə 2-3 dəqiqə çəkir, tamamlandıqdan sonra 20 sinif aşkarlama ilə işləyən lövhəni görəcəksiniz. Bizim üçün son addım onu Arduino mega və ya Raspberry Pi ilə birləşdirməkdir.
Addım 5: Arduinoya qoşulun
Seeed Studio Mega Shield ilə Arduino Mega -dan istifadə etdim, buna görə bir Grove bağlayıcısını Sipeed M1 lövhəsinə lehimlədim. Bununla birlikdə, keçid tellərindən istifadə edə və Sipeed M1 -i birbaşa Arduino Mega -ya qoşa bilərsiniz.
Bundan sonra camera.ino eskizini yükləyin və Serial monitoru açın. Kameranı fərqli obyektlərə yönəltdiyiniz zaman (20 sinifin siyahısı eskizdədir) seriyanın monitorunda sinifin adını yazmalıdır!
Təbrik edirik! İndi Arduino üçün işləyən görüntü aşkarlama modulunuz var!
Addım 6: Raspberry Pi -yə qoşulun
Mən Raspberry Pi 2B üçün Grove Pi+ şapkasından istifadə etdim, amma yenə də Arduino ilə olduğu kimi, Sipeed M1 -i də Raspberry Pi -nin UART interfeysinə birbaşa qoşa bilərsiniz.
Bu kamera_speak.py -ni işə saldıqdan və kameranı fərqli obyektlərə yönəltdikdən sonra, terminal aşağıdakı "Məncə belədir" yazısını çıxaracaq və dinamikləriniz varsa, bu ifadəni yüksək səslə danışacaq. Çox sərin, elə deyilmi?
Addım 7: Nəticə
AI və maşın öyrənməsinin həyatımızın bütün sahələrinə nüfuz etməsi ilə yaşadığımız çox çətin dövrlərdir. Bu sahədə inkişafı gözləyirəm. Sipeed komandası ilə əlaqə saxlayıram və bilirəm ki, CNN sürətlənməsi də daxil olmaqla bütün lazımi funksiyalar üçün mikropiton sarğı hazırlayırlar.
Hazır olduqda, çox güman ki, öz CNN modellərinizi mikropitonla necə istifadə etməyinizlə bağlı daha çox təlimatlar dərc edəcəyəm. Bu qiymətə və bu ayaq izi ilə öz şəkil emal neyron şəbəkələrinizi işlədə biləcək bir lövhə üçün edə biləcəyiniz bütün maraqlı tətbiqləri düşünün!
Tövsiyə:
Suya davamlı Raspberry Pi Powered Wifi DSLR Vaxt Kamerası üçün Veb Kamera: 3 Addım (Şəkillərlə)
Suya davamlı Raspberry Pi Powered Wifi DSLR Vaxt Kamerası üçün Veb Kamera: Evdən günəşin batmasını seyr etmək üçün bir əmməyəm. Günəş batanda və onu görmək üçün evdə olmadığımda bir az FOMO alıram. IP veb -kameralar məyus görüntü keyfiyyətinə səbəb oldu. İlk DSLR -ni yenidən istifadə etməyin yollarını axtarmağa başladım: 2007 Cano
Arduino istifadə edərək robotdan qaçınmaq üçün əngəl yaratmaq üçün necə: 5 addım
Arduino istifadə edərək robotdan qaçınmaq üçün əngəl yaratma: Bu təlimatda sizə Arduino ilə işləyən robotdan qaçaraq maneə yaratmağı öyrədəcəyəm. Arduino ilə tanış olmalısınız. Arduino, atmega mikro nəzarətçisini istifadə edən bir idarəetmə lövhəsidir. Arduinonun hər hansı bir versiyasından istifadə edə bilərsiniz, amma
Arduino üçün 6 Düymə üçün 1 Analog Girişdən istifadə edin: 6 addım
Arduino üçün 6 Düymə üçün 1 Analog Girişdən istifadə edin: Arduino üçün necə daha çox Rəqəmsal Giriş əldə edə biləcəyimi tez -tez düşünürəm. Bu yaxınlarda ağlıma gəldi ki, birdən çox rəqəmsal giriş gətirmək üçün Analog Girişlərdən birini istifadə etməliyəm. Sürətli bir axtarış apardım və insanların harada olduğunu tapdım
Arduino üçün L298 2Amp Motor Sürücü Qalxanı üçün təlimat: 6 addım
Arduino üçün L298 2Amp Motor Sürücü Qalxanı üçün təlimat: Təsvir Arduino üçün L298 2Amp Motor Sürücü Qalxanı, tam körpülü motor sürücüsü L298 motor sürücüsünün inteqral sxeminə əsaslanır. İki ayrı 2A DC mühərriki və ya 1 2A pilləli motoru idarə edə bilər. Motorun sürəti və istiqamətləri ayrı -ayrılıqda idarə oluna bilər
ENV2 və ya digər Kamera Telefonları üçün Kamera Stabilizatoru: 6 Addım
ENV2 və ya Digər Kamera Telefonları üçün Kamera Stabilizatoru: Heç bir video çəkmək istəyirsiniz, ancaq bir kamera telefonunuz var? Heç kamera telefonu ilə video çəkmisiniz, amma hələ də saxlaya bilmirsiniz? Bu sizin üçün öyrədicidir