Агуулгын хүснэгт:
- Алхам 1: Шаардлага
- Алхам 2: MicroSD картыг суурилуулах (зөвхөн W/ DB410c)
- Алхам 3: Шаардлагатай хүрээг суулгах
- Алхам 4: Объект илрүүлэх API ажиллуулах
Видео: OpenCV ба Tensorflow ашиглан Dragonboard 410c эсвэл 820c объектыг илрүүлэх: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Энэхүү зааварчилгаа нь Объект илрүүлэх програмыг ажиллуулахын тулд Python 3.5 -д зориулсан OpenCV, Tensorflow болон машин сургалтын хүрээг хэрхэн суулгах талаар тайлбарласан болно.
Алхам 1: Шаардлага
Танд дараахь хэрэгсэл хэрэгтэй болно.
- DragonBoard ™ 410c эсвэл 820c;
-
Linaro-alip-ийн цэвэр суурилуулалт:
- DB410c: v431 хувилбарт туршсан. Холбоос:
- DB820c: v228 хувилбарт туршсан. Холбоос:
- Хамгийн багадаа 16GB багтаамжтай MicroSD карт (410c ашиглаж байгаа бол);
Файлыг татаж ав (энэ алхамын төгсгөлд), задалж, MicroSD карт руу хуулж аваарай; Объектууд: Хэрэв DB820c ашиглаж байгаа бол файлыг татаж аваад задалж, тушаалуудын хэрэглээг хөнгөвчлөхийн тулд/home/*USER*/руу зөөнө үү.
- USB төв;
- USB камер (Linux -тэй нийцтэй);
- USB хулгана, гар;
- Интернет холболт.
Тэмдэглэл: Хэрэв боломжтой бол DragonBoard хөтөч дээрх зааврыг дагана уу
Алхам 2: MicroSD картыг суурилуулах (зөвхөн W/ DB410c)
- Dragonboard дахь терминалыг нээнэ үү;
- Терминал дээр fdisk ажиллуулна уу:
$ sudo fdisk -l
- MicroSD картыг DragonBoard MicroSD картны үүрэнд оруулах;
- Fdisk -ийг дахин ажиллуулаад жагсаалтаас шинэ төхөөрөмжийн нэрийг (мөн хуваалтыг) хайж олоорой (жишээ нь mmcblk1p1)
$ sudo fdisk -l
Үндсэн лавлах руу очно уу:
$ cd ~
Фолдер үүсгэх:
$ mkdir sdfolder
MicroSD картыг холбох:
$ mount / dev / sdfolder
Алхам 3: Шаардлагатай хүрээг суулгах
- Dragonboard дахь терминалыг нээнэ үү;
- Терминал дээр сонгосон лавлах руу очно уу (820c -д "~", 410c -д суулгасан SDCard ашиглан):
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Объект илрүүлэгч скрипт хавтас руу очно уу:
$ cd object_detector_tensorflow_opencv/скриптүүд/
Орчны тохиргооны скриптийг ажиллуулна уу:
$ sudo bash set_Env.sh
Системийг шинэчлэх:
$ sudo apt шинэчлэлт
Эдгээр багцыг суулгана уу:
$ sudo apt install -y protobuf-compiler gcc-aarch64-linux-gnu
g ++-aarch64-linux-gnu debootstrap schroot git curl pkg-config zip unzip python python-pip g ++ zlib1g-dev default-jre libhdf5-dev libatlas-base-dev gfortran v4l-utils hdf5* libhdf5* libpng-dev build-essential cmp libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libjpeg-dev libtiff5-dev libavcodec-dev libavformat-dev libvvlv2 libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl
Энэ лавлах руу очно уу:
$ cd /usr /src
Python 3.5 татаж авах:
$ sudo wget
Багцыг задлах:
$ sudo tar xzf Python-3.5.6.tgz
Шахсан багцыг устгах:
$ sudo rm Python-3.5.6.tgz
Python 3.5 лавлах руу очно уу:
$ cd Python-3.5.6
Python 3.5 эмхэтгэлийн оновчлолыг идэвхжүүлнэ үү
$ sudo./configure-идэвхжүүлсэн оновчлол
Python 3.5 хөрвүүлэх:
$ sudo altinstall хийх
Пип болон тохируулах хэрэгслүүдийг шинэчлэх:
$ sudo python3.5 -m pip install -pip && python3.5 -m pip install -upu setuptools
Numpy суулгах:
$ python3.5 -m pip суулгах numpy
Сонгосон лавлах руу очно уу:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Tensorflow 1.11 татаж авах:
$ wget
Tensorflow суулгах:
$ sudo python3.5 -m pip суулгах tensorflow-1.11.0-cp35-none-linux_aarch64.whl
OpenCV ба OpenCV Contrib репозиторуудыг клон хийх:
$ sudo git clone -b 3.4 https://github.com/opencv/opencv.git && sudo git clone -b 3.4
Директор руу очих:
$ cd нээлттэй
Бүтээх лавлах үүсгэж, түүнд очно уу:
$ sudo mkdir build && cd build
CMake ажиллуулах:
$ sudo cmake -D CMAKE_BUILD_TYPE = RELEASE -D CMAKE_INSTALL_PREFIX =/usr/local -D BUILD_opencv_java = OFF -D BUILD_opencv_python = OFF -D BUILD_opencv_python3 = аль python3.5) -D PYTHON_INCLUDE_DIR =/usr/local/include/python3.5m/-D INSTALL_C_EXAMPLES = OFF -D INSTALL_PYTHON3_EXAMPLES = OFF -D BUILD_EXAMPLES = OFF -D WTHTBCUDA_TUTB_CUDA -DBUILD_TBB = ON -D OPENCV_ENABLE_NONFREE = ON -DBUILD_opencv_xfeatures2d = OFF -D OPENGL = ON -D OPENMP = ON -D ENABLE_NEON = ON -D BUILD_PERF_TESTS = OFF/ON -ON/ON -ON/ON -ON модулиуд..
OpenCV -ийг 4 цөмтэй хөрвүүлэх:
$ sudo make -j 4
OpenCV суулгах:
$ sudo make install
Сонгосон лавлах руу очно уу:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Скриптийн лавлах руу очно уу:
$ cd object_detector_tensorflow_opencv/скриптүүд/
Python3.5 -ийн шаардлагыг суулгах:
$ sudo python3.5 -m pip install -r requirements.txt --no -cache -dir
Туршилтын импорт:
$ python3.5
> cv2 импорт >> tensorflow импортлох
Обс: Хэрэв cv2 импортын алдааг буцааж өгвөл openCV бүтээх хавтсанд make install ажиллуулаад дахин оролдоно уу
Сонгосон лавлах руу очно уу:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Кокоапи репозиторыг татаж авах:
$ git клон
Tensorflow загварын репозиторыг татаж авах:
$ git клон
Энэ лавлах руу очно уу:
$ cd cocoapi/PythonAPI
Makefile файлыг засварлаж, 3 ба 8 -р мөрөнд python -ийг python3.5 болгон өөрчилж, файлыг хадгална уу (жишээ болгон нано ашиглан):
$ нано Makefile
Кокоапи эмхэтгэх:
$ sudo хийх
Obs: Хэрэв 'make' командыг эмхэтгэхгүй бол cython -ийг дахин суулгаж үзээрэй
$ sudo python3.5 -m pip cython суулгаарай
Pycocotools -ийг tensorflow /model /судалгааны лавлах руу хуулах:
(820c) $ cp -r pycocotools ~/загвар/судалгаа/
(410c) $ cp -r pycocotools ~/sdfolder/загвар/судалгаа/
Сонгосон лавлах руу очно уу:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Загвар/судалгааны лавлах руу очно уу:
$ cd загвар/судалгаа
Проток ашиглан эмхэтгэх:
$ protoc object_detection/protos/*. proto --python_out =.
Экспортын орчны хувьсагч:
$ export PYTHONPATH = $ PYTHONPATH: `pwd`:` pwd`/slim
Байгаль орчныг турших:
$ python3.5 object_detection/барилгачид/model_builder_test.py
Obs: Энэ нь буцаагдах ёстой, эс тэгвээс програм ажиллахгүй болно. Хэрэв тийм биш бол шаардлагатай хүрээг суурилуулах явцад гарсан алдааг сайтар хайгаарай
Алхам 4: Объект илрүүлэх API ажиллуулах
Бүх хүрээг тохируулсны дараа OpenCV ашигладаг объект илрүүлэх API -ийг Tensorflow -тэй хамт ажиллуулах боломжтой боллоо.
Сонгосон лавлах руу очно уу:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Объект илрүүлэх лавлах руу очно уу:
$ cd object_detector_tensorflow_opencv/
Одоо програмыг ажиллуулна уу:
$ python3.5 app.py
Одоо Dragonboard видеог сүлжээгээр дамжуулах болно. Гаралтын видеог үзэхийн тулд хөтөчийг DB дээр нээгээд "0.0.0.0: 5000" руу очно уу.
Зөвлөмж болгож буй:
Шинээр үүссэн нөхцөл байдлыг илрүүлэх - Qualcomm Dragonboard 410c: 7 алхам
Шинээр үүсч буй нөхцөл байдлыг илрүүлэх - Qualcomm Dragonboard 410c: Нөхцөл байдлын нөхцөл байдлыг хянаж ажилладаг аюулгүй байдлын систем хайж байгаа бол бүртгэгдсэн бүх мэдээллийг боловсруулахад хэтэрхий хэцүү байгааг анзаарч болно. Үүнийг бодоод бид мэдлэгээ аудио/дүрс боловсруулах, мэдрэгч
OpenCV ашиглан энгийн өнгө илрүүлэх: 6 алхам
OpenCV ашиглан энгийн өнгө илрүүлэх: Сайн байна уу! Өнөөдөр би OpenCV болон python ашиглан амьд видеоноос өнгийг олж илрүүлэх энгийн аргыг үзүүлэх гэж байна, үндсэндээ шаардлагатай өнгө нь арын фрэймд байгаа эсэхийг шалгана, харин OpenCV модулиудыг ашиглан тухайн бүсийг масклах болно
OpenCV ашиглан Python дээр өнгө илрүүлэх: 8 алхам
OpenCV ашиглан Python дээр өнгө илрүүлэх: Сайн байна уу! Энэхүү заавар нь openCV номын санг ашиглан python дээрх дүрсээс тодорхой өнгө гаргаж авахад туслах зорилгоор ашиглагддаг. Хэрэв та энэ техникийг шинээр ашиглаж байгаа бол санаа зовох хэрэггүй, энэ гарын авлагын төгсгөлд та өөрийн өнгөөр програмчлах боломжтой болно
Neopixel Ws2812 LED эсвэл LED зурвас эсвэл Led бөгжийг Arduino ашиглан хэрхэн ашиглах вэ: 4 алхам
Neopixel Ws2812 LED эсвэл LED STRIP эсвэл Led Ring -ийг Arduino ашиглан хэрхэн ашиглах вэ: Сайн уу залуусаа Neopixel led Strip нь маш алдартай бөгөөд үүнийг ws2812 LED зурвас гэж нэрлэдэг. Эдгээр нь маш их алдартай, учир нь эдгээр LED зурвас дээр бид тус бүрийг тус тусад нь авч үзэх боломжтой бөгөөд хэрэв та цөөн хэдэн гэрлийг нэг өнгөөр гэрэлтүүлэхийг хүсч байвал
ESP32 эсвэл ESP8266 ашиглан MQTT дохиолол бүхий HiFive1 Arduino халдагчийг илрүүлэх: 6 алхам
HiFive1 ESP32 эсвэл ESP8266 ашиглан MQTT дохиолол бүхий Arduino халдагчдыг илрүүлэх: HiFive1 бол SiFive-ийн FE310 процессороор бүтээгдсэн анхны Arduino-тэй нийцтэй RISC-V самбар юм. Энэхүү самбар нь Arduino UNO -оос 20 дахин хурдан боловч НҮБ -ын удирдах зөвлөлтэй адил утасгүй холболтгүй байдаг