Innholdsfortegnelse:
- Trinn 1: Krav
- Trinn 2: Montering av MicroSD -kortet (bare W/ DB410c)
- Trinn 3: Installering av nødvendige rammer
- Trinn 4: Kjøre Object Detection API
Video: Objektdeteksjon W/ Dragonboard 410c eller 820c ved bruk av OpenCV og Tensorflow .: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Denne instruksen beskriver hvordan du installerer OpenCV, Tensorflow og maskinlæringsrammer for Python 3.5 for å kjøre Object Detection -programmet.
Trinn 1: Krav
Du trenger følgende itens:
- En DragonBoard ™ 410c eller 820c;
-
En ren installasjon av Linaro-alip:
- DB410c: testet i versjon v431. Link:
- DB820c: testet i versjon v228. Link:
- Minst et 16 GB MicroSD -kort (hvis du bruker 410c);
Last ned filen (på slutten av dette trinnet), pakk ut og kopier til MicroSD -kortet. Obs: Hvis du bruker en DB820c, laster du ned filen, pakker ut og flytter til/home/*USER*/for å lette bruken av kommandoene.
- En USB -hub;
- Et USB -kamera (Linux -kompatibelt);
- USB -mus og tastatur;
- En internettforbindelse.
Obs: Følg denne instruksjonene i DragonBoard -nettleseren hvis mulig, forenkle kopiering av kommandoene
Trinn 2: Montering av MicroSD -kortet (bare W/ DB410c)
- Åpne terminalen i Dragonboard;
- I terminalen kjøre fdisk:
$ sudo fdisk -l
- Sett MicroSD -kortet inn i DragonBoard MicroSD -kortsporet;
- Kjør fdisk igjen, og se etter navnet (og partisjonen) på den nye enheten i listen (f.eks. Mmcblk1p1)
$ sudo fdisk -l
Gå til rotkatalogen:
$ cd ~
Lag en mappe:
$ mkdir sdfolder
Monter MicroSD -kortet:
$ mount / dev / sdfolder
Trinn 3: Installering av nødvendige rammer
- Åpne terminalen i Dragonboard;
- I terminalen, gå til en valgt katalog (ved å bruke "~" for 820c og det monterte SDCard for 410c):
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Gå til Object Detector scripts -mappen:
$ cd object_detector_tensorflow_opencv/scripts/
Kjør miljøoppsettskriptet:
$ sudo bash set_Env.sh
Oppdater systemet:
$ sudo apt oppdatering
Installer disse pakkene:
$ 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 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 libxvidcore libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl
Gå til denne katalogen:
$ cd /usr /src
Last ned Python 3.5:
$ sudo wget
Trekk ut pakken:
$ sudo tar xzf Python-3.5.6.tgz
Slett den komprimerte pakken:
$ sudo rm Python-3.5.6.tgz
Gå til Python 3.5 -katalogen:
$ cd Python-3.5.6
Aktiver optimaliseringer for Python 3.5 -samlingen:
$ sudo./configure-enable-optimizations
Kompiler Python 3.5:
$ sudo gjør altinstall
Oppgrader pip og oppsettverktøy:
$ sudo python3.5 -m pip install -oppgrader pip && python3.5 -m pip install -oppgrader setuptools
Installer numpy:
$ python3.5 -m pip installer numpy
Gå til den valgte katalogen:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Last ned Tensorflow 1.11 whl:
$ wget
Installer tensorflow:
$ sudo python3.5 -m pip install tensorflow-1.11.0-cp35-none-linux_aarch64.whl
Klon OpenCV og OpenCV Contrib -lagre:
$ sudo git clone -b 3.4 https://github.com/opencv/opencv.git && sudo git clone -b 3.4
Gå til katalogen:
$ cd opencv
Lag build -katalog og gå til den:
$ sudo mkdir build && cd build
Kjør 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 = ON -D PYTHON3D_ (PYTHON_DUT_DELEN_DELEN_DET_DELE_DET_DELE_DET_DELE_DELE_DET_DELE_DET_DELE_DET_DELE_DELE) hvilken 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 -D BUILD_ -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 -D BUILD_OPENCVD moduler..
Kompiler OpenCV med 4 kjerner:
$ sudo lage -j 4
Installer OpenCV:
$ sudo gjør installering
Gå til den valgte katalogen:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Gå til skriptkatalogen:
$ cd object_detector_tensorflow_opencv/scripts/
Installer Python3.5 -krav:
$ sudo python3.5 -m pip install -r requirements.txt --no -cache -dir
Testimport:
$ python3.5
> import cv2 >> import tensorflow
Obs: Hvis cv2 returnerer importfeil, kjør make install i OpenCV build -mappen og prøv igjen
Gå til den valgte katalogen:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Last ned cocoapi -depot:
$ git klon
Last ned Tensorflow -modeller:
$ git -klon
Gå til denne katalogen:
$ cd cocoapi/PythonAPI
Rediger filen Makefile, endre python til python3.5 på linje 3 og 8, og lagre filen (ved å bruke nano som eksempel):
$ nano Makefile
Kompiler cocoapi:
$ sudo lage
Obs: Hvis kommandoen 'make' ikke kompilerer, kan du prøve å installere cython på nytt med:
$ sudo python3.5 -m pip install cython
Kopier pycocotools til tensorflow /models /research directory:
(820c) $ cp -r pycocotools ~/models/research/
(410c) $ cp -r pycocotools ~/sdfolder/models/research/
Gå til den valgte katalogen:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Gå til modeller/forskningskatalog:
$ cd -modeller/forskning
Kompiler med protokoll:
$ protoc object_detection/protos/*. proto --python_out =.
Eksporter miljøvariabel:
$ export PYTHONPATH = $ PYTHONPATH: `pwd`:` pwd`/slim
Test miljøet:
$ python3.5 object_detection/builders/model_builder_test.py
Obs: Den må returnere OK, ellers fungerer ikke applikasjonen. Hvis ikke, søk nøye etter eventuelle feil i prosessen med å installere de nødvendige rammene
Trinn 4: Kjøre Object Detection API
Med alle rammer konfigurert, er det nå mulig å kjøre objektgjenkjennings -API som bruker OpenCV sammen med Tensorflow.
Gå til den valgte katalogen:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Gå til objektgjenkjenningskatalogen:
$ cd object_detector_tensorflow_opencv/
Kjør nå programmet:
$ python3.5 app.py
Nå vil Dragonboard streame videoen gjennom nettverket. For å se utgående video, åpne nettleseren i DB og gå til "0.0.0.0: 5000".
Anbefalt:
Objektdeteksjon med Sipeed MaiX -plater (Kendryte K210): 6 trinn
Objektdeteksjon med Sipeed MaiX -plater (Kendryte K210): Som en fortsettelse av min forrige artikkel om bildegjenkjenning med Sipeed MaiX -plater, bestemte jeg meg for å skrive en annen opplæring med fokus på gjenkjenning av objekter. Det dukket opp noen interessant maskinvare nylig med Kendryte K210 -brikken, inkludert S
Hjemmeautomatisering ved bruk av ESP8266 eller NODEMCU: 6 trinn
Hjemmeautomatisering ved hjelp av ESP8266 eller NODEMCU: Har du noen gang ønsket å gjøre hjemmet ditt automatisert via wifi? Ønsker du å kontrollere lys, vifte og alle andre apparater fra smarttelefonen din? Eller noen gang ønsket en instruksjon om tilkoblede enheter og hvordan du kommer i gang med det? Dette hjemmeautomatiseringsprosjektet vil
Gjenopprett eller oppgrader fastvare på ESP8266 (ESP-01) -modul ved bruk av Arduino UNO: 7 trinn
Gjenopprett eller oppgrader fastvare på ESP8266 (ESP-01) -modul ved bruk av Arduino UNO: ESP-01-modulen som jeg brukte kom opprinnelig med eldre AI Thinker-fastvare, noe som begrenser funksjonene siden mange nyttige AT-kommandoer ikke støttes. Det er generelt en god idé å oppgradere fastvaren din for feilrettinger og også avhengig av
Vannsensor eller alarm ved bruk av 2N2222 -transistorer: 5 trinn
Vannsensor eller alarm ved bruk av 2N2222 -transistorer: Hvem hater det ikke når det regner mens noen ting er ute? (Og du skjønner ikke at det regner). Jeg gjør i hvert fall det! Det er derfor jeg kom på et slikt prosjekt. La oss begynne
HiFive1 Arduino -inntrengeroppdagelse med MQTT -varsler ved bruk av ESP32 eller ESP8266: 6 trinn
HiFive1 Arduino Intruder Detection With MQTT Alerts Using ESP32 or ESP8266: HiFive1 er det første Arduino-kompatible RISC-V-baserte kortet bygget med FE310 CPU fra SiFive. Brettet er omtrent 20 ganger raskere enn Arduino UNO, men som UNO -kortet mangler det noen trådløs tilkobling. Heldigvis er det flere rimelige