Sommario:
- Passaggio 1: requisiti
- Passaggio 2: montaggio della scheda MicroSD (solo con DB410c)
- Passaggio 3: installazione dei framework richiesti
- Passaggio 4: esecuzione dell'API di rilevamento oggetti
Video: Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow.: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Queste istruzioni descrivono come installare OpenCV, Tensorflow e framework di apprendimento automatico per Python 3.5 per eseguire l'applicazione Object Detection.
Passaggio 1: requisiti
Avrai bisogno dei seguenti articoli:
- Un DragonBoard™ 410c o 820c;
-
Un'installazione pulita di Linaro-alip:
- DB410c: testato nella versione v431. Link:
- DB820c: testato nella versione v228. Link:
- Almeno una scheda MicroSD da 16 GB (se si utilizza il 410c);
Scarica il file (alla fine di questo passaggio), decomprimi e copia sulla scheda MicroSD; Obs: Se usi un DB820c, scarica il file, decomprimi e spostati in /home/*USER*/ per facilitare l'uso dei comandi.
- Un hub USB;
- Una fotocamera USB (compatibile con Linux);
- Un mouse e una tastiera USB;
- Una connessione Internet.
Obs: Se possibile, seguire queste istruzioni nel browser DragonBoard, facilitando la copia dei comandi
Passaggio 2: montaggio della scheda MicroSD (solo con DB410c)
- Apri il terminale nella Dragonboard;
- Nel terminale esegui fdisk:
$ sudo fdisk -l
- Inserire la scheda MicroSD nello slot per schede MicroSD di DragonBoard;
- Esegui di nuovo fdisk, cercando il nome (e la partizione) del nuovo dispositivo nell'elenco (es. mmcblk1p1)
$ sudo fdisk -l
Vai alla directory principale:
$ cd ~
Crea una cartella:
$ mkdir sdfolder
Montare la scheda MicroSD:
$ mount /dev/ sdfolder
Passaggio 3: installazione dei framework richiesti
- Apri il terminale nella Dragonboard;
- Nel terminale, vai in una directory scelta (usando "~" per l'820c e la SDCard montata per il 410c):
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Vai alla cartella degli script di Object Detector:
$ cd object_detector_tensorflow_opencv/scripts/
Esegui lo script di configurazione dell'ambiente:
$ sudo bash set_Env.sh
Aggiorna il sistema:
$ sudo apt update
Installa questi pacchetti:
$ 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-espng-de libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libjpeg-dev libtiff5-dev libtiff5-dev libavcodec-devlvcore libavformat libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl
Vai a questa directory:
$ cd /usr/src
Scarica Python 3.5:
$ sudo wget
Estrai il pacchetto:
$ sudo tar xzf Python-3.5.6.tgz
Elimina il pacchetto compresso:
$ sudo rm Python-3.5.6.tgz
Vai alla directory Python 3.5:
$ cd Python-3.5.6
Abilita le ottimizzazioni per la compilazione di Python 3.5:
$ sudo./configure --enable-optimizations
Compila Python 3.5:
$ sudo make altinstall
Aggiorna pip e strumenti di configurazione:
$ sudo python3.5 -m pip install --upgrade pip && python3.5 -m pip install --upgrade setuptools
Installa numpy:
$ python3.5 -m pip install numpy
Vai alla directory scelta:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Scarica Tensorflow 1.11 whl:
$ wget
Installa tensorflow:
$ sudo python3.5 -m pip install tensorflow-1.11.0-cp35-none-linux_aarch64.whl
Clona repository OpenCV e OpenCV Contrib:
$ sudo git clone -b 3.4 https://github.com/opencv/opencv.git && sudo git clone -b 3.4
Vai alla rubrica:
$ cd opencv
Crea la directory di build e vai ad essa:
$ sudo mkdir build && cd build
Esegui 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 PYTHONTABLE_EXECUTH -D PYTHON3_TABELLA = -D PYTHONTABELLA3_DEFAULT_EXECUCU which 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_TESTBB=OFF -D -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_DNN=ON -D OPEN_CV.contrATH_MODUL. moduli..
Compila OpenCV con 4 core:
$ sudo make -j 4
Installa OpenCV:
$ sudo make install
Vai alla directory scelta:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Vai alla directory degli script:
$ cd object_detector_tensorflow_opencv/scripts/
Installa i requisiti di Python3.5:
$ sudo python3.5 -m pip install -r requisiti.txt --no-cache-dir
Importazioni di prova:
$ pitone3.5
> import cv2 >> import tensorflow
Obs: se cv2 restituisce un errore di importazione, eseguire make install nella cartella build OpenCV e riprovare
Vai alla directory scelta:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Scarica il repository di Cocopi:
$ git clone
Scarica il repository dei modelli Tensorflow:
$ git clone
Vai a questa directory:
$ cd cacaopi/PythonAPI
Modifica il file Makefile, cambiando python in python3.5 nelle righe 3 e 8, quindi salva il file (usando nano come esempio):
$ nano Makefile
Componi il cacaopi:
$ sudo make
Obs: se il comando "make" non viene compilato, prova a reinstallare cython con:
$ sudo python3.5 -m pip install cython
Copia pycocotools nella directory tensorflow /models/research:
(820c) $ cp -r pycocotools ~/models/ricerca/
(410c) $ cp -r pycocotools ~/sdfolder/models/research/
Vai alla directory scelta:
(820c) $ cd ~
(410c) $ cd ~/sdfolder
Vai alla directory modelli/ricerca:
$ cd modelli/ricerca
Compila con protocollo:
$ protoc object_detection/protos/*.proto --python_out=.
Esporta variabile di ambiente:
$ export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
Testare l'ambiente:
$ python3.5 object_detection/builders/model_builder_test.py
Obs: deve restituire OK, altrimenti l'applicazione non funzionerà. In caso contrario, cercare attentamente eventuali errori nel processo di installazione dei framework richiesti
Passaggio 4: esecuzione dell'API di rilevamento oggetti
Con tutti i framework configurati, ora è possibile eseguire l'API di rilevamento degli oggetti che utilizza OpenCV insieme a Tensorflow.
Vai alla directory scelta:
(820c) $ cd ~
(410c) $ cd ~/cartella sd
Vai alla directory di rilevamento degli oggetti:
$ cd object_detector_tensorflow_opencv/
Ora esegui l'applicazione:
$ python3.5 app.py
Ora la Dragonboard trasmetterà il video in streaming attraverso la rete. Per vedere il video in uscita apri il browser nel DB e vai a "0.0.0.0:5000".
Consigliato:
Rilevamento di oggetti con schede Sipeed MaiX (Kendryte K210): 6 passaggi
Rilevamento di oggetti con le schede Sipeed MaiX (Kendryte K210): come continuazione del mio precedente articolo sul riconoscimento delle immagini con le schede Sipeed MaiX, ho deciso di scrivere un altro tutorial, incentrato sul rilevamento di oggetti. Recentemente è apparso un hardware interessante con il chip Kendryte K210, incluso S
Programmazione orientata agli oggetti: creazione di oggetti Metodo/tecnica di apprendimento/insegnamento utilizzando Shape Puncher: 5 passaggi
Programmazione orientata agli oggetti: creazione di oggetti Metodo/tecnica di apprendimento/insegnamento utilizzando Shape Puncher: metodo di apprendimento/insegnamento per studenti nuovi alla programmazione orientata agli oggetti. Questo è un modo per consentire loro di visualizzare e vedere il processo di creazione di oggetti dalle classi.Parti:1. EkTools punzone grande da 2 pollici; le forme solide sono le migliori.2. Pezzo di carta o c
Cursore della telecamera di rilevamento degli oggetti con asse di rotazione. Stampato in 3D e costruito su RoboClaw DC Motor Controller e Arduino: 5 passaggi (con immagini)
Cursore della telecamera di rilevamento degli oggetti con asse di rotazione. Stampato in 3D e costruito sul RoboClaw DC Motor Controller e Arduino: questo progetto è stato uno dei miei progetti preferiti da quando ho avuto modo di combinare il mio interesse per la creazione di video con il fai-da-te. Ho sempre guardato e voluto emulare quegli scatti cinematografici nei film in cui una telecamera si muove su uno schermo mentre fa una panoramica per tracciare
Programmazione orientata agli oggetti: creazione di oggetti Metodo/tecnica di apprendimento/insegnamento con le forbici: 5 passaggi
Programmazione orientata agli oggetti: creazione di oggetti Metodo/tecnica di apprendimento/insegnamento Utilizzo delle forbici: metodo di apprendimento/insegnamento per studenti nuovi alla programmazione orientata agli oggetti. Questo è un modo per consentire loro di visualizzare e vedere il processo di creazione di oggetti dalle classi. Parti: 1. Forbici (va bene qualsiasi tipo). 2. Pezzo di carta o cartoncino. 3. Indicatore
Rilevamento di oggetti visivi con una fotocamera (TfCD): 15 passaggi (con immagini)
Visual Object Detection With a Camera (TfCD): i servizi cognitivi in grado di riconoscere emozioni, volti di persone o semplici oggetti sono attualmente ancora in una fase iniziale di sviluppo, ma con l'apprendimento automatico questa tecnologia si sta sviluppando sempre più. Possiamo aspettarci di vedere più di questa magia in