Satura rādītājs:
- 1. darbība. Prasības
- 2. darbība: MicroSD kartes uzstādīšana (tikai W/ DB410c)
- 3. darbība. Nepieciešamo ietvaru instalēšana
- 4. darbība. Objektu noteikšanas API palaišana
Video: Objektu noteikšana W/ Dragonboard 410c vai 820c, izmantojot OpenCV un Tensorflow .: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:55
Šajā instrukcijā ir aprakstīts, kā instalēt OpenCV, Tensorflow un mašīnmācīšanās ietvarus Python 3.5, lai palaistu objektu noteikšanas lietojumprogrammu.
1. darbība. Prasības
Jums būs nepieciešami šādi elementi:
- DragonBoard ™ 410c vai 820c;
-
Tīra Linaro-alip instalācija:
- DB410c: pārbaudīts versijā v431. Saite:
- DB820c: pārbaudīts versijā 2222. Saite:
- Vismaz 16 GB ietilpīga MicroSD karte (ja izmantojat 410c);
Lejupielādējiet failu (šī soļa beigās), izpakojiet un kopējiet to uz MicroSD karti; ievērojiet: Ja izmantojat DB820c, lejupielādējiet failu, izpakojiet un pārvietojiet uz/home/*USER*/, lai atvieglotu komandu izmantošanu.
- USB centrmezgls;
- USB kamera (saderīga ar Linux);
- USB pele un tastatūra;
- Interneta pieslēgums.
Piezīme: Ja iespējams, izpildiet šīs instrukcijas pārlūkprogrammā DragonBoard, atvieglojot komandu kopēšanu
2. darbība: MicroSD kartes uzstādīšana (tikai W/ DB410c)
- Atveriet termināli Dragonboard;
- Terminālī palaidiet fdisk:
$ sudo fdisk -l
- Ievietojiet MicroSD karti DragonBoard MicroSD kartes slotā;
- Vēlreiz palaidiet fdisk, sarakstā meklējot jaunās ierīces nosaukumu (un nodalījumu) (piemēram, mmcblk1p1)
$ sudo fdisk -l
Dodieties uz saknes direktoriju:
$ cd ~
Izveidojiet mapi:
$ mkdir sdfolder
MicroSD kartes ievietošana:
$ mount / dev / sdfolder
3. darbība. Nepieciešamo ietvaru instalēšana
- Atveriet termināli Dragonboard;
- Terminālī dodieties uz izvēlēto direktoriju (izmantojot "~" 820c un pievienoto SDCard 410c):
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Dodieties uz mapi Objektu detektora skripti:
$ cd object_detector_tensorflow_opencv/scripts/
Palaidiet vides iestatīšanas skriptu:
$ sudo bash set_Env.sh
Atjauniniet sistēmu:
$ sudo apt atjauninājums
Instalējiet šīs paketes:
$ sudo apt install -y protobuf-kompilators 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 cmake 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 libswscale-dev libv4l-dev libxvid64-dev libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl
Dodieties uz šo direktoriju:
$ cd /usr /src
Lejupielādēt Python 3.5:
$ sudo wget
Izvelciet iepakojumu:
$ sudo tar xzf Python-3.5.6.tgz
Izdzēsiet saspiesto paketi:
$ sudo rm Python-3.5.6.tgz
Dodieties uz Python 3.5 direktoriju:
$ cd Python-3.5.6
Iespējot optimizāciju Python 3.5 kompilācijai:
$ sudo./configure --enable-optimization
Kompilējiet Python 3.5:
$ sudo veikt altinstall
Pip un jaunināšanas rīku jaunināšana:
$ sudo python3.5 -m pip instalēt -jaunināt pip && python3.5 -m pip instalēt -jaunināt iestatīšanas rīkus
Instalējiet numpy:
$ python3.5 -m pip instalēt numpy
Dodieties uz izvēlēto direktoriju:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Lejupielādēt Tensorflow 1.11:
$ wget
Instalējiet tensorflow:
$ sudo python3.5 -m pip install tensorflow-1.11.0-cp35-none-linux_aarch64.whl
Klonējiet OpenCV un OpenCV Contrib repozitorijus:
$ sudo git clone -b 3.4 https://github.com/opencv/opencv.git && sudo git clone -b 3.4
Dodieties uz direktoriju:
$ cd opencv
Izveidojiet būvēšanas direktoriju un dodieties uz to:
$ sudo mkdir build && cd build
Palaidiet CMake:
$ sudo cmake -D CMAKE_BUILD_TYPE = ATLAIST kurš 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 WITH_CUDA = OFF -ON = BUIL -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 = IZSLĒGTS moduļi..
Apkopojiet OpenCV ar 4 kodoliem:
$ sudo make -j 4
Instalējiet OpenCV:
$ sudo veikt instalēšanu
Dodieties uz izvēlēto direktoriju:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Dodieties uz skriptu direktoriju:
$ cd object_detector_tensorflow_opencv/scripts/
Instalējiet Python3.5 prasības:
$ sudo python3.5 -m pip instalēt -r prasības.txt --no -cache -dir
Pārbaudes imports:
$ python3.5
> importēt cv2 >> importēt tensorflow
Piezīme. Ja cv2 atgriež importēšanas kļūdu, palaidiet make install OpenCV būvēšanas mapē un mēģiniet vēlreiz
Dodieties uz izvēlēto direktoriju:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Lejupielādēt kakao krātuvi:
$ git klons
Lejupielādēt Tensorflow modeļu krātuvi:
$ git klons
Dodieties uz šo direktoriju:
$ cd cocoapi/PythonAPI
Rediģējiet failu Makefile, mainot python uz python3.5 3. un 8. rindā, pēc tam saglabājiet failu (kā piemēru izmantojot nano):
$ nano Makefile
Apkopojiet kakao:
$ sudo make
Piezīme: Ja komanda “make” netiek apkopota, mēģiniet pārinstalēt cython, izmantojot:
$ sudo python3.5 -m pip instalēt cython
Kopējiet pycocotools tensorflow /models /research direktorijā:
(820c) $ cp -r pycocotools ~/models/research/
(410c) $ cp -r pycocotools ~/sdfolder/models/research/
Dodieties uz izvēlēto direktoriju:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Dodieties uz modeļu/pētījumu direktoriju:
$ cd modeļi/pētījumi
Sastādīt ar protokolu:
$ protoc object_detection/protos/*. proto --python_out =.
Eksportēt vides mainīgo:
$ export PYTHONPATH = $ PYTHONPATH: `pwd`:` pwd`/slim
Pārbaudiet vidi:
$ python3.5 object_detection/builders/model_builder_test.py
Piezīme: tai ir jāatgriežas labi, pretējā gadījumā lietojumprogramma nedarbosies. Ja nē, uzmanīgi meklējiet kļūdas nepieciešamo ietvaru instalēšanas procesā
4. darbība. Objektu noteikšanas API palaišana
Kad visi ietvari ir konfigurēti, tagad ir iespējams palaist objektu noteikšanas API, kas kopā ar Tensorflow izmanto OpenCV.
Dodieties uz izvēlēto direktoriju:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Dodieties uz objektu noteikšanas direktoriju:
$ cd object_detector_tensorflow_opencv/
Tagad palaidiet lietojumprogrammu:
$ python3.5 app.py
Tagad Dragonboard straumēs video caur tīklu. Lai redzētu izvades video, atveriet DB pārlūkprogrammu un dodieties uz "0.0.0.0: 5000".
Ieteicams:
Objektu noteikšana ar Sipeed MaiX dēļiem (Kendryte K210): 6 soļi
Objektu noteikšana ar Sipeed MaiX dēļiem (Kendryte K210): Turpinot manu iepriekšējo rakstu par attēlu atpazīšanu ar Sipeed MaiX Boards, es nolēmu uzrakstīt vēl vienu pamācību, koncentrējoties uz objektu noteikšanu. Nesen parādījās interesanta aparatūra ar Kendryte K210 mikroshēmu, ieskaitot S
Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c: 7 soļi
Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c: meklējot drošības sistēmas, kas strādā, lai uzraudzītu ārkārtas situācijas, iespējams, pamanīsit, ka ir pārāk grūti apstrādāt visu ierakstīto informāciju. Domājot par to, mēs nolēmām izmantot savas zināšanas audio/attēlu apstrādē, sensoros un
Raspberry Pi objektu noteikšana: 7 soļi
Raspberry Pi objektu noteikšana: šajā rokasgrāmatā ir sniegti soli pa solim norādījumi, kā Raspberry Pi iestatīt TensorFlow objektu noteikšanas API. Izpildot šajā rokasgrāmatā norādītās darbības, jūs varēsit izmantot savu Raspberry Pi, lai veiktu objektu noteikšanu tiešraides video no P
Augu slimību noteikšana ar Qualcomm Dragonboard 410c: 4 soļi
Augu slimību noteikšana, izmantojot Qualcomm Dragonboard 410c: Sveiki visiem! Mēs piedalāmies konkursā Inventing the Future with Dragonboard 410c, ko sponsorē Embarcados, Linaro un Baita. AVOID projekts (Agro View Disease) Mūsu mērķis ir izveidot iegultu sistēmu, kas spēj uzņemt attēlu, procesu un atklāt poz
HiFive1 Arduino ielaušanās noteikšana ar MQTT brīdinājumiem, izmantojot ESP32 vai ESP8266: 6 soļi
HiFive1 Arduino ielaušanās noteikšana ar MQTT brīdinājumiem, izmantojot ESP32 vai ESP8266: HiFive1 ir pirmā ar Arduino saderīgā RISC-V borta plāksne, kas veidota ar SiFive FE310 CPU. Tāfele ir aptuveni 20 reizes ātrāka nekā Arduino UNO, taču tāpat kā UNO tāfelei trūkst bezvadu savienojuma. Par laimi, ir vairāki lēti