Inhoudsopgave:
- Stap 1: Vereisten
- Stap 2: De MicroSD-kaart monteren (alleen met DB410c)
- Stap 3: Vereiste frameworks installeren
- Stap 4: De objectdetectie-API uitvoeren
Video: Objectdetectie met Dragonboard 410c of 820c met OpenCV en Tensorflow: 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Deze instructables beschrijft hoe u OpenCV-, Tensorflow- en machine learning-frameworks voor Python 3.5 installeert om de Object Detection-toepassing uit te voeren.
Stap 1: Vereisten
Je hebt de volgende onderdelen nodig:
- Een DragonBoard™ 410c of 820c;
-
Een schone installatie van Linaro-alip:
- DB410c: getest in versie v431. Link:
- DB820c: getest in versie v228. Link:
- Minimaal een MicroSD-kaart met een capaciteit van 16 GB (bij gebruik van de 410c);
Download het bestand (aan het einde van deze stap), pak het uit en kopieer het naar de MicroSD-kaart;Obs: Als u een DB820c gebruikt, download het bestand, pak het uit en verplaats het naar /home/*USER*/ om het gebruik van de opdrachten te vergemakkelijken.
- Een USB-hub;
- Een USB-camera (compatibel met Linux);
- Een USB-muis en -toetsenbord;
- Een internetverbinding.
Obs: volg deze instructies indien mogelijk in de DragonBoard-browser, waardoor het kopiëren van de opdrachten wordt vergemakkelijkt
Stap 2: De MicroSD-kaart monteren (alleen met DB410c)
- Open de terminal in het Dragonboard;
- Voer in de terminal fdisk uit:
$ sudo fdisk -l
- Plaats de MicroSD-kaart in de DragonBoard MicroSD-kaartsleuf;
- Voer fdisk opnieuw uit en zoek naar de naam (en partitie) van het nieuwe apparaat in de lijst (bijv. mmcblk1p1)
$ sudo fdisk -l
Ga naar de hoofdmap:
$ cd ~
Maak een map aan:
$ mkdir sdfolder
Monteer de MicroSD-kaart:
$ mount /dev/ sdfolder
Stap 3: Vereiste frameworks installeren
- Open de terminal in het Dragonboard;
- Ga in de terminal naar een gekozen map (gebruik "~" voor de 820c en de gekoppelde SD-kaart voor de 410c):
(820c) $ cd ~
(410c) $ cd ~/sdmap
Ga naar de map Object Detector scripts:
$ cd object_detector_tensorflow_opencv/scripts/
Voer het installatiescript voor de omgeving uit:
$ sudo bash set_Env.sh
Het systeem bijwerken:
$ sudo apt-update
Installeer deze pakketten:
$ 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 build-libess-devential cm libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libjpeg-dev libtiff5-dev libavcodec-dev libavformat-devde libavformat-devde libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl
Ga naar deze map:
$ cd /usr/src
Python 3.5 downloaden:
$ sudo wget
Pak het pakket uit:
$ sudo tar xzf Python-3.5.6.tgz
Verwijder het gecomprimeerde pakket:
$ sudo rm Python-3.5.6.tgz
Ga naar de Python 3.5-directory:
$ cd Python-3.5.6
Optimalisaties inschakelen voor de Python 3.5-compilatie:
$ sudo./configure --enable-optimizations
Compileer Python 3.5:
$ sudo make altinstall
Upgrade pip en setup-tools:
$ sudo python3.5 -m pip install --upgrade pip && python3.5 -m pip install --upgrade setuptools
Numpy installeren:
$ python3.5 -m pip installatie numpy
Ga naar de gekozen map:
(820c) $ cd ~
(410c) $ cd ~/sdmap
Download Tensorflow 1.11 whl:
$ wget
Installeer tensorflow:
$ sudo python3.5 -m pip install tensorflow-1.11.0-cp35-none-linux_aarch64.whl
Kloon OpenCV- en OpenCV Contrib-opslagplaatsen:
$ sudo git clone -b 3.4 https://github.com/opencv/opencv.git && sudo git clone -b 3.4
Ga naar map:
$ cd opencv
Maak een build-map en ga ernaartoe:
$ sudo mkdir build && cd build
Voer CMake uit:
$ 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 PYTHON3_DEFAULT welke python3.5) -D PYTHON_INCLUDE_DIR=/usr/local/include/python3.5m/ -D INSTALL_C_EXAMPLES=UIT -D INSTALL_PYTHON3_EXAMPLES=UIT -D BUILD_EXAMPLES=UIT -D WITH_CUDA=UIT -D BUILD_TESTS=UIT= -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_OPENCV_DNNV_ON_D OPENC modulen..
Compileer OpenCV met 4 cores:
$ sudo make -j 4
OpenCV installeren:
$ sudo make install
Ga naar de gekozen map:
(820c) $ cd ~
(410c) $ cd ~/sdmap
Ga naar de scriptmap:
$ cd object_detector_tensorflow_opencv/scripts/
Installeer Python3.5-vereisten:
$ sudo python3.5 -m pip install -r requirements.txt --no-cache-dir
Testimport:
$ python3.5
> import cv2 >> import tensorflow
Obs: Als cv2 een importfout retourneert, voer dan make install uit in de OpenCV build-map en probeer het opnieuw
Ga naar de gekozen map:
(820c) $ cd ~
(410c) $ cd ~/sdmap
Cocopi-repository downloaden:
$ git-kloon
Download de opslagplaats voor Tensorflow-modellen:
$ git-kloon
Ga naar deze map:
$ cd cacaopi/PythonAPI
Bewerk het bestand Makefile, verander python in python3.5 in regel 3 en 8 en sla het bestand op (met nano als voorbeeld):
$ nano Makefile
Stel de cacaopi samen:
$ sudo make
Obs: Als het 'make'-commando niet compileert, probeer dan cython opnieuw te installeren met:
$ sudo python3.5 -m pip installeer cython
Kopieer pycocotools naar tensorflow /models/research directory:
(820c) $ cp -r pycocotools ~/modellen/onderzoek/
(410c) $ cp -r pycocotools ~/sdfolder/models/research/
Ga naar de gekozen map:
(820c) $ cd ~
(410c) $ cd ~/sdmap
Ga naar modellen/onderzoeksdirectory:
$ cd-modellen/onderzoek
Compileren met protocol:
$ protoc object_detection/protos/*.proto --python_out=.
Omgevingsvariabele exporteren:
$ export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
Test de omgeving:
$ python3.5 object_detection/builders/model_builder_test.py
Obs: Het moet OK retourneren, anders werkt de applicatie niet. Zo niet, zoek dan zorgvuldig naar fouten tijdens het installeren van de vereiste frameworks
Stap 4: De objectdetectie-API uitvoeren
Als alle frameworks zijn geconfigureerd, is het nu mogelijk om de objectdetectie-API uit te voeren die OpenCV samen met Tensorflow gebruikt.
Ga naar de gekozen map:
(820c) $ cd ~
(410c) $ cd ~/sdmap
Ga naar objectdetectiedirectory:
$ cd object_detector_tensorflow_opencv/
Voer nu de applicatie uit:
$ python3.5 app.py
Nu zal het Dragonboard de video via het netwerk streamen. Om de uitvoervideo te zien, opent u de browser in de DB en gaat u naar "0.0.0.0:5000".
Aanbevolen:
Objectdetectie met Sipeed MaiX-kaarten (Kendryte K210) - Ajarnpa
Objectdetectie met Sipeed MaiX-borden (Kendryte K210): Als vervolg op mijn vorige artikel over beeldherkenning met Sipeed MaiX-borden, besloot ik om nog een tutorial te schrijven, gericht op objectdetectie. Er is onlangs een aantal interessante hardware verschenen met de Kendryte K210-chip, waaronder S
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android - Ajarnpa
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: DESCRIÇÃOO intuito do projeto é dar autonomia para deficientes visuais se locomoverem em ambientes indoor como casas of shopping centers en aeroportos.A locomoção em ambientes já mapeados pode ou náo s
RASPBERRY PI Pi OBJECTDETECTIE MET MEERDERE CAMERA'S - Ajarnpa
RASPBERRY PI Pi OBJECTDETECTIE MET MEERDERE CAMERA'S: Ik zal de intro kort houden, aangezien de titel zelf al aangeeft wat het hoofddoel van de instructable is. In deze stapsgewijze instructie zal ik je uitleggen hoe je meerdere camera's zoals 1-pi cam en ten minste één USB-camera of 2 USB-camera's kunt aansluiten
Traffic Pattern Analyzer met behulp van live objectdetectie - Ajarnpa
Verkeerspatroonanalyse met behulp van live objectdetectie: in de wereld van vandaag zijn verkeerslichten essentieel voor een veilige weg. Vaak kunnen verkeerslichten echter vervelend zijn in situaties waarin iemand het licht nadert op het moment dat het op rood springt. Dit verspilt tijd, vooral als het licht pr
Visuele objectdetectie met een camera (TfCD) - Ajarnpa
Visual Object Detection With a Camera (TfCD): Cognitieve diensten die emoties, gezichten van mensen of eenvoudige objecten kunnen herkennen, bevinden zich momenteel nog in een vroeg stadium van ontwikkeling, maar met machine learning ontwikkelt deze technologie zich steeds meer. We kunnen meer van deze magie verwachten in