Агуулгын хүснэгт:

Raspberry Pi/Arduino -д зориулсан AI камер: 7 алхам
Raspberry Pi/Arduino -д зориулсан AI камер: 7 алхам

Видео: Raspberry Pi/Arduino -д зориулсан AI камер: 7 алхам

Видео: Raspberry Pi/Arduino -д зориулсан AI камер: 7 алхам
Видео: СКР 1.4 - конфигурация A4988/DRV8825 2024, Арваннэгдүгээр
Anonim
Image
Image

Хэрэв та энэ мэдээг саяхан дагаж байсан бол ML (машин сурах) алгоритмын дүгнэлт, сургалтыг хурдасгах зориулалттай чип хөгжүүлж буй гарааны бизнесүүд тэсрэлт болсон. Гэсэн хэдий ч эдгээр чипүүдийн ихэнх нь хөгжүүлэлт хийгдээгүй байгаа бөгөөд таны дундаж үйлдвэрлэгч үүнийг хийх боломжгүй юм. Өнөөдрийг хүртэл цорын ганц үл хамаарах зүйл бол Intel Movidius Neural Compute Stick байсан бөгөөд үүнийг худалдаж авах боломжтой бөгөөд сайн SDK -тэй. Энэ нь хэд хэдэн чухал сул талуудтай байдаг, тухайлбал үнэ (ойролцоогоор 100 доллар) ба USB зөөгч хэлбэрээр ирдэг. Хэрэв та үүнийг зөөврийн компьютер эсвэл Raspberry PI -тэй ашиглахыг хүсч байвал маш сайн, гэхдээ хэрэв та Arduino -той дүрс таних төсөл хийхийг хүсч байвал яах вэ? Эсвэл Raspberry Pi Zero уу?

Алхам 1: Sipeed MAix: AI -ийн ирмэг дээр

Sipeed MAix: Edge дээрх хиймэл оюун ухаан
Sipeed MAix: Edge дээрх хиймэл оюун ухаан

Удалгүй би хоёр цөмт RISC-V 64bit процессортой, зураг боловсруулах зориулалттай CNN-ийг хурдасгах зориулалттай KPU (Neural Network Processor) -той Sipeed M1w K210 хөгжлийн самбар дээр гараа барьсан. Та эндээс дэлгэрэнгүй мэдээллийг уншиж болно.

Энэхүү самбарын үнэ намайг шоконд оруулсан нь Wi-Fi дэмжлэгтэй хиймэл оюун ухаан, хиймэл дагуулын хөгжлийн самбар болох ердөө 19 доллар юм! Гэсэн хэдий ч анхааруулах зүйл бий (мэдээжийн хэрэг байдаг): самбарын микропитон програм хангамж хөгжүүлэгдсээр байгаа бөгөөд ерөнхийдөө одоогоор хэрэглэгчдэд тийм ч таатай биш байна. Яг одоо түүний бүх функцэд хандах цорын ганц арга бол өөрийн суулгасан С кодыг бичих эсвэл одоо байгаа зарим демо хувилбарыг өөрчлөх явдал юм.

Энэхүү заавар нь Mobilenet 20 ангиллын илрүүлэх загварыг ашиглан обьектуудыг илрүүлэх, илрүүлсэн объектын кодыг UART -ээр илгээх, эндээс Arduino/Raspberry Pi хүлээн авах боломжтойг тайлбарласан болно.

Одоо энэ заавар нь Линукс болон С кодыг хөрвүүлэх үндсийг мэддэг байх болно. Хэрэв энэ хэллэгийг сонссоноор таны толгой бага зэрэг эргэв:) Дараа нь 4-р алхам руу ороод, миний бэлтгэсэн хоёртын файлыг Sipeed M1 дээр оруулаад эмхэтгэлийг алгасаарай.

Алхам 2: Орчноо бэлтгэ

Орчноо бэлтгэ
Орчноо бэлтгэ

Би Ubuntu 16.04 -ийг C код хөрвүүлэх, байршуулахдаа ашигласан. Windows дээр үүнийг хийх боломжтой, гэхдээ би өөрөө үүнийг туршиж үзээгүй.

RISC-V GNU Compiler Toolchain-ийг татаж аваад шаардлагатай бүх хамаарлыг суулгаарай.

git clone-давтагдах

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

Татаж авсан багажны сүлжээг /opt директор руу хуулах. Үүний дараа дараах тушаалуудыг ажиллуулна уу

./configure --prefix =/opt/kendryte-toolchain-with-cmodel = medany

хийх

PATH-д одоо/opt/kendryte-toolchain/bin нэмээрэй.

Та одоо кодыг эмхэтгэхэд бэлэн боллоо!

Алхам 3: Кодыг эмхэтгэх

Кодыг эмхэтгэх
Кодыг эмхэтгэх

Миний github репозитороос кодыг татаж аваарай.

Kendryte K210 бие даасан SDK татаж авах

Миний github репозитороос /kpu фолдерыг SDK дахь /src фолдер руу хуулах.

Дараах тушаалуудыг SDK фолдерт ажиллуулна (not /src фолдер!)

mkdir build && cd build

cmake.. -DPROJ = project_name -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make

хаана project_name нь таны төслийн нэр (танд хамаарна) ба -DTOOLCHAIN = таны risc -v хэрэгслийн сүлжээний байршлыг зааж өгөх ёстой (та үүнийг эхний алхам дээр татаж авсан, санаж байна уу?)

Агуу их! Одоо та эмхэтгэлийг ямар ч алдаагүй дуусгах болно гэж найдаж байна, танд байршуулах боломжтой.bin файл байна.

Алхам 4:.bin файлыг байршуулж байна

. Bin файлыг байршуулж байна
. Bin файлыг байршуулж байна

Одоо Sipeed M1 -ийг компьютерт холбоод /build хавтаснаас дараах тушаалыг ажиллуулна уу

sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin

Энд kpu.bin бол таны.bin файлын нэр юм

Байршуулалт нь ихэвчлэн 2-3 минут болдог бөгөөд үүнийг хийсний дараа та 20 анги илрүүлэх самбарыг харах болно. Бидний хийх хамгийн сүүлийн алхам бол үүнийг Arduino мега эсвэл Raspberry Pi -тэй холбох явдал юм.

!!! Хэрэв та 2 -р алхамаас дөнгөж ирсэн бол !

Дараах тушаалыг миний github репозиторыг хуулбарласан фолдероос ажиллуулна уу

sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin

Байршуулалт нь ихэвчлэн 2-3 минут болдог бөгөөд үүнийг хийсний дараа та 20 анги илрүүлэх самбарыг харах болно. Бидний хийх хамгийн сүүлийн алхам бол үүнийг Arduino мега эсвэл Raspberry Pi -тэй холбох явдал юм.

Алхам 5: Arduino руу холбогдох

Arduino руу холбогдож байна
Arduino руу холбогдож байна
Arduino руу холбогдож байна
Arduino руу холбогдож байна
Arduino руу холбогдож байна
Arduino руу холбогдож байна

Би Arduino Mega -ийг Seeed Studio Mega Shield ашиглан ашигласан тул би Grove холбогчийг Sipeed M1 хавтан дээр гагнав. Гэсэн хэдий ч та холболтын диаграмыг дагаж холбогч утас ашиглаж, Sipeed M1 -ийг Arduino Mega руу шууд холбож болно.

Үүний дараа camera.ino -ийн ноорогыг байршуулж, Цуваа дэлгэцийг нээнэ үү. Та камерыг өөр өөр объект руу чиглүүлэх үед (20 ангийн жагсаалт ноорог дээр байгаа) энэ нь цувралын дэлгэц дээрх ангийн нэрийг гаргах ёстой!

Баяр хүргэе! Та одоо Arduino -д зориулсан дүрс илрүүлэх модултай боллоо!

Алхам 6: Raspberry Pi -тай холбогдох

Raspberry Pi -тэй холбогдож байна
Raspberry Pi -тэй холбогдож байна
Raspberry Pi -тэй холбогдож байна
Raspberry Pi -тэй холбогдож байна

Би Raspberry Pi 2B -д Grove Pi+ малгай ашигласан боловч Arduino -ийн нэгэн адил та энэхүү утас диаграмын дагуу Sipeed M1 -ийг Raspberry Pi -ийн UART интерфэйстэй шууд холбож болно.

Үүний дараа camera_speak.py -ийг ажиллуулж, камерыг өөр өөр объект руу чиглүүлсний дараа терминал нь "Энэ бол миний бодлоор" гэсэн текстийг гаргах бөгөөд хэрэв та чанга яригч холбогдсон бол энэ хэллэгийг чангаар хэлэх болно. Хөөрхөн юм, тийм үү?

Алхам 7: Дүгнэлт

Энэ бол бидний амьдарч буй маш гайхалтай үе бөгөөд хиймэл оюун ухаан, машин сурах нь бидний амьдралын бүхий л салбарт нэвтэрсэн байдаг. Би энэ салбарын хөгжлийг тэсэн ядан хүлээж байна. Би Sipeed багтай холбоо барьж байгаа бөгөөд тэд CNN -ийн хурдатгал гэх мэт шаардлагатай бүх функцэд зориулагдсан микропитон хальсыг идэвхтэй хөгжүүлж байгааг би мэднэ.

Бэлэн болсон үед би өөрийн CNN загварыг микропитон ашиглан хэрхэн ашиглах талаар зааварчилгаа өгөх болно. Мэдээллийн мэдрэлийн сүлжээг ийм үнээр, ул мөрөөрөө ажиллуулах боломжтой самбарын хувьд танд хэрэгтэй бүх сонирхолтой програмуудын талаар бодоорой!

Зөвлөмж болгож буй: