Turinys:

Objekto aptikimas naudojant „Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“: 4 žingsniai
Objekto aptikimas naudojant „Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“: 4 žingsniai

Video: Objekto aptikimas naudojant „Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“: 4 žingsniai

Video: Objekto aptikimas naudojant „Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“: 4 žingsniai
Video: We Might Have Seen The Afterglow of a Neutron Star Kilonova Explosion 2024, Lapkritis
Anonim
Objektų aptikimas „W/ Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“
Objektų aptikimas „W/ Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“
Objektų aptikimas „W/ Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“
Objektų aptikimas „W/ Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“
Objektų aptikimas „W/ Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“
Objektų aptikimas „W/ Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“
Objektų aptikimas „W/ Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“
Objektų aptikimas „W/ Dragonboard 410c“arba „820c“naudojant „OpenCV“ir „Tensorflow“

Šioje instrukcijoje aprašoma, kaip įdiegti „OpenCV“, „Tensorflow“ir mašininio mokymosi sistemas, skirtas „Python 3.5“, kad būtų paleista objektų aptikimo programa.

1 žingsnis: Reikalavimai

Jums reikės šių itenų:

  • „DragonBoard ™ 410c“arba „820c“;
  • Švarus „Linaro-alip“įrengimas:

    • DB410c: išbandyta v431 versijoje. Nuoroda:
    • DB820c: išbandytas v228 versijoje. Nuoroda:
  • Bent 16 GB talpos „MicroSD“kortelė (jei naudojate 410c);

Atsisiųskite failą (šio veiksmo pabaigoje), išpakuokite ir nukopijuokite į „MicroSD“kortelę; Pastaba: jei naudojate DB820c, atsisiųskite failą, išpakuokite ir perkelkite į/home/*USER*/, kad būtų lengviau naudoti komandas.

  • USB šakotuvas;
  • USB kamera (suderinama su „Linux“);
  • USB pelė ir klaviatūra;
  • Interneto ryšys.

Pastaba: jei įmanoma, vykdykite šias instrukcijas „DragonBoard“naršyklėje, palengvindami komandų kopijavimą

2 veiksmas: „MicroSD“kortelės montavimas (tik W/ DB410c)

  • Atidarykite terminalą „Dragonboard“;
  • Terminale paleiskite fdisk:

$ sudo fdisk -l

  • Įdėkite „MicroSD“kortelę į „DragonBoard MicroSD“kortelės angą;
  • Paleiskite „fdisk“dar kartą, sąraše ieškodami naujo įrenginio pavadinimo (ir skaidinio) (pvz., Mmcblk1p1)

$ sudo fdisk -l

Eikite į šakninį katalogą:

$ cd ~

Sukurkite aplanką:

$ mkdir sdfolder

Įdėkite „MicroSD“kortelę:

$ mount / dev / sdfolder

3 žingsnis: reikiamų rėmų diegimas

  • Atidarykite terminalą „Dragonboard“;
  • Terminale eikite į pasirinktą katalogą (naudodami „~“820c ir prijungtą SDCard kortelę 410c):

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Eikite į objektų aptikimo scenarijų aplanką:

$ cd object_detector_tensorflow_opencv/scripts/

Paleiskite aplinkos sąrankos scenarijų:

$ sudo bash set_Env.sh

Atnaujinkite sistemą:

$ sudo apt atnaujinimas

Įdiekite šiuos paketus:

$ 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-lib lib2vidcore libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl

Eikite į šį katalogą:

$ cd /usr /src

Atsisiųskite „Python 3.5“:

$ sudo wget

Ištraukite pakuotę:

$ sudo tar xzf Python-3.5.6.tgz

Ištrinkite suspaustą paketą:

$ sudo rm Python-3.5.6.tgz

Eikite į „Python 3.5“katalogą:

$ cd Python-3.5.6

Įgalinti „Python 3.5“kompiliacijos optimizavimą:

$ sudo./configure --enable-optimization

Kompiliuoti „Python 3.5“:

$ sudo padaryti altinstall

Atnaujinkite „pip“ir sąrankos įrankius:

$ sudo python3.5 -m pip install -atnaujinti pip && python3.5 -m pip install -atnaujinti sąrankos priemones

Įdiekite numpy:

$ python3.5 -m pip install numpy

Eikite į pasirinktą katalogą:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Parsisiųsti Tensorflow 1.11 whl:

$ wget

Įdiekite „Tensorflow“:

$ sudo python3.5 -m pip install tensorflow-1.11.0-cp35-none-linux_aarch64.whl

Klonuoti „OpenCV“ir „OpenCV Contrib“saugyklas:

$ sudo git clone -b 3.4 https://github.com/opencv/opencv.git && sudo git clone -b 3.4

Eikite į katalogą:

$ cd opencv

Sukurkite kūrimo katalogą ir eikite į jį:

$ sudo mkdir build && cd build

Paleisti 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 PYTHONT_3_PU kuris 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 = OFF -D BUILD_N_BEN_V moduliai..

Sudarykite „OpenCV“su 4 branduoliais:

$ sudo padaryti -j 4

Įdiekite „OpenCV“:

$ sudo make install

Eikite į pasirinktą katalogą:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Eikite į scenarijų katalogą:

$ cd object_detector_tensorflow_opencv/scripts/

Įdiekite „Python3.5“reikalavimus:

$ sudo python3.5 -m pip install -r vaatimukset.txt --no -cache -dir

Bandomasis importas:

$ 3.5 python

> importuoti cv2 >> importuoti tensorflow

Pastaba: jei „cv2“grąžina importavimo klaidą, paleiskite „make install“aplanke „OpenCV“ir bandykite dar kartą

Eikite į pasirinktą katalogą:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Atsisiųskite „cocoapi“saugyklą:

$ git klonas

Atsisiųskite „Tensorflow“modelių saugyklą:

$ git klonas

Eikite į šį katalogą:

$ cd cocoapi/PythonAPI

Redaguokite failą „Makefile“, 3 ir 8 eilutėse pakeisdami „python“į „python3.5“, tada išsaugokite failą (kaip pavyzdį naudodami „nano“):

$ nano Makefile

Sudėkite kakavą:

$ sudo padaryti

Pastaba: jei komanda „make“nėra sukompiliuota, pabandykite iš naujo įdiegti „cython“naudodami:

$ sudo python3.5 -m pip įdiegti cython

Nukopijuokite pycocotools į tensorflow /models /research katalogą:

(820c) $ cp -r pycocotools ~/models/research/

(410c) $ cp -r pycocotools ~/sdfolder/models/research/

Eikite į pasirinktą katalogą:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Eikite į modelių/tyrimų katalogą:

$ cd modeliai/tyrimai

Sudaryti naudojant protokolą:

$ protoc object_detection/protos/*. proto --python_out =.

Eksportuoti aplinkos kintamąjį:

$ export PYTHONPATH = $ PYTHONPATH: `pwd`:` pwd`/plonas

Išbandykite aplinką:

$ python3.5 object_detection/builders/model_builder_test.py

Pastaba: jis turi būti grąžintas gerai, kitaip aplikacija neveiks. Jei ne, atidžiai ieškokite klaidų diegdami reikiamus rėmus

4 veiksmas: paleiskite objektų aptikimo API

Vykdoma objektų aptikimo API
Vykdoma objektų aptikimo API

Kai visi rėmai yra sukonfigūruoti, dabar galima paleisti objektų aptikimo API, kuri naudoja „OpenCV“kartu su „Tensorflow“.

Eikite į pasirinktą katalogą:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Eikite į objektų aptikimo katalogą:

$ cd object_detector_tensorflow_opencv/

Dabar paleiskite programą:

$ python3.5 app.py

Dabar „Dragonboard“transliuos vaizdo įrašą per tinklą. Norėdami pamatyti išvesties vaizdo įrašą, atidarykite DB naršyklę ir eikite į „0.0.0.0: 5000“.

Rekomenduojamas: