Բովանդակություն:

Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c OpenCV- ի և Tensorflow- ի միջոցով. 4 քայլ
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c OpenCV- ի և Tensorflow- ի միջոցով. 4 քայլ

Video: Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c OpenCV- ի և Tensorflow- ի միջոցով. 4 քայլ

Video: Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c OpenCV- ի և Tensorflow- ի միջոցով. 4 քայլ
Video: Խելացի պատուհան - սենյակի օդափոխության ավտոմատացում, ինտեգրում Home Assistant-ին 2024, Հուլիսի
Anonim
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c օգտագործելով OpenCV և Tensorflow- ը
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c օգտագործելով OpenCV և Tensorflow- ը
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c օգտագործելով OpenCV և Tensorflow- ը
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c օգտագործելով OpenCV և Tensorflow- ը
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c օգտագործելով OpenCV և Tensorflow- ը
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c օգտագործելով OpenCV և Tensorflow- ը
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c օգտագործելով OpenCV և Tensorflow- ը
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c օգտագործելով OpenCV և Tensorflow- ը

Այս հրահանգները նկարագրում են, թե ինչպես տեղադրել OpenCV, Tensorflow և մեքենայական ուսուցման շրջանակներ Python 3.5 – ի համար ՝ օբյեկտների հայտնաբերման ծրագիրը գործարկելու համար:

Քայլ 1: Պահանջներ

Ձեզ հարկավոր են հետևյալ պարագաները.

  • DragonBoard ™ 410c կամ 820c;
  • Linaro-alip- ի մաքուր տեղադրում.

    • DB410c. Փորձարկվել է v431. տարբերակում: Հղում ՝
    • DB820c. Փորձարկվել է v228 տարբերակով: Հղում ՝
  • Առնվազն 16 ԳԲ հզորությամբ MicroSD քարտ (եթե օգտագործում եք 410c);

Ներբեռնեք ֆայլը (այս քայլի վերջում), բացեք և պատճենեք MicroSD քարտին: Obs. Եթե DB820c եք օգտագործում, ներբեռնեք ֆայլը, բացեք այն և տեղափոխեք/տուն/*USER*/՝ հրամանների օգտագործումը հեշտացնելու համար:

  • USB հանգույց;
  • USB տեսախցիկ (Linux- ի հետ համատեղելի);
  • USB մկնիկ և ստեղնաշար;
  • Ինտերնետ կապ:

Ուշադրություն. Հնարավորության դեպքում հետևեք այս հրահանգներին DragonBoard դիտարկիչում ՝ հեշտացնելով հրամանների պատճենումը:

Քայլ 2. MicroSD քարտի տեղադրում (միայն W/ DB410c)

  • Բացեք տերմինալը Dragonboard- ում;
  • Տերմինալի գործարկման fdisk:

$ sudo fdisk -l

  • Տեղադրեք MicroSD քարտը DragonBoard MicroSD քարտի բնիկի մեջ;
  • Կրկին գործարկեք fdisk- ը ՝ ցանկում փնտրելով նոր սարքի անունը (և բաժանումը) (օրինակ ՝ mmcblk1p1)

$ sudo fdisk -l

Գնացեք արմատային գրացուցակ

$ cd

Ստեղծեք թղթապանակ

$ mkdir sd պանակ

Տեղադրեք MicroSD քարտ

$ mount / dev / sd պանակ

Քայլ 3: Պահանջվող շրջանակների տեղադրում

  • Բացեք տերմինալը Dragonboard- ում;
  • Տերմինալում գնացեք ընտրված գրացուցակ (820c- ի համար օգտագործելով «~» և 410c- ի համար տեղադրված SDCard- ը).

(820c) $ cd

(410c) $ cd ~/sd պանակ

Գնացեք օբյեկտի հայտնաբերման սցենարների պանակ:

$ cd object_detector_tensorflow_opencv/սցենարներ/

Գործարկեք միջավայրի կարգավորման սցենարը

$ sudo bash set_Env.sh

Թարմացրեք համակարգը

$ sudo apt թարմացում

Տեղադրեք այս փաթեթները

$ 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-build 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

Անցեք այս գրացուցակին

$ cd /usr /src

Ներբեռնեք Python 3.5:

$ sudo wget

Հանել փաթեթը

$ sudo tar xzf Python-3.5.6.tgz

Deնջել սեղմված փաթեթը

$ sudo rm Python-3.5.6.tgz

Գնացեք Python 3.5 գրացուցակ

$ cd Python-3.5.6

Միացնել Python 3.5 հավաքածուի օպտիմալացումները

$ sudo./configure-ակտիվացնել-օպտիմալացումները

Կազմել Python 3.5:

$ sudo make altinstall

Թարմացրեք pip և տեղադրման գործիքներ

$ sudo python3.5 -m pip install -upgrade pip && python3.5 -m pip install -upgrade setuptools

Տեղադրեք numpy:

$ python3.5 -m pip տեղադրեք numpy

Գնացեք ընտրված գրացուցակ

(820c) $ cd

(410c) $ cd ~/sd պանակ

Ներբեռնեք Tensorflow 1.11 whl:

$ wget

Տեղադրեք tensorflow:

$ sudo python3.5 -m pip տեղադրել tensorflow-1.11.0-cp35-none-linux_aarch64.whl

Կլոնավորել OpenCV և OpenCV Contrib պահեստարանները

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

Գնալ գրացուցակ

$ cd opencv

Ստեղծեք կառուցման գրացուցակ և անցեք դրան

$ sudo mkdir build && cd build

Գործարկել CMake:

$ Sudo cmake -D CMAKE_BUILD_TYPE = ՀԱՂՈՐԴԱԳՐՈՒԹՅՈՒՆ -D CMAKE_INSTALL_PREFIX = / usr / տեղական -D BUILD_opencv_java = OFF -D BUILD_opencv_python = OFF -D BUILD_opencv_python3 = ON -D PYTHON3_DEFAULT_EXECUTABLE = $ (որը python3.5) -D PYTHON3_EXECUTABLE: filepath = $ (որը 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 = BIDD -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 BUILDEN_EN մոդուլներ..

Կազմել OpenCV 4 միջուկով

$ sudo make -j 4

Տեղադրեք OpenCV:

$ sudo make install

Գնացեք ընտրված գրացուցակ

(820c) $ cd

(410c) $ cd ~/sd պանակ

Գնացեք սցենարների գրացուցակ

$ cd object_detector_tensorflow_opencv/սցենարներ/

Տեղադրեք Python3.5 պահանջները

$ sudo python3.5 -m pip install -r պահանջները. txt -no -cache -dir

Թեստային ներմուծում

$ python3.5

> ներմուծել cv2 >> ներմուծել tensorflow

Obs. Եթե cv2- ը վերադարձնի ներմուծման սխալը, գործարկեք make install OpenCV կառուցման թղթապանակում և նորից փորձեք:

Գնացեք ընտրված գրացուցակ

(820c) $ cd

(410c) $ cd ~/sd պանակ

Ներբեռնեք cocoapi շտեմարանը

$ git կլոն

Ներբեռնեք Tensorflow մոդելների շտեմարան

$ git կլոն

Անցեք այս գրացուցակին

$ cd cocoapi/PythonAPI

Խմբագրեք Makefile ֆայլը ՝ 3 -րդ և 8 -րդ տողերում փոխելով python- ը python3.5, այնուհետև պահպանեք ֆայլը (օրինակ ՝ nano- ն օգտագործելով)

$ nano Makefile

Կազմեք կոկոպին

$ sudo մակնիշ

Obs. Եթե «make» հրամանը չի հավաքվում, փորձեք նորից տեղադրել cython- ը ՝

$ sudo python3.5 -մ pip տեղադրեք ցիտոն

Պատճենեք pycocotools- ը tensorflow /models /research directory:

(820c) $ cp -r pycocotools ~/մոդելներ/հետազոտություններ/

(410c) $ cp -r pycocotools/sdfolder/մոդելներ/հետազոտություններ/

Գնացեք ընտրված գրացուցակ

(820c) $ cd

(410c) $ cd ~/sd պանակ

Գնացեք մոդելների/հետազոտությունների գրացուցակ

$ cd մոդելներ/հետազոտություն

Կազմել protoc- ի հետ

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

Արտահանման միջավայրի փոփոխական

$ արտահանման PYTHONPATH = $ PYTHONPATH: `pwd`:` pwd`/բարակ

Փորձարկեք միջավայրը

$ python3.5 object_detection/builders/model_builder_test.py

Obs. Այն պետք է վերադառնա OK, հակառակ դեպքում հավելվածը չի աշխատի: Եթե ոչ, ապա ուշադիր փնտրեք որևէ սխալ `պահանջվող շրջանակների տեղադրման գործընթացում:

Քայլ 4. Գործարկեք օբյեկտի հայտնաբերման API- ն

Գործարկում է օբյեկտի հայտնաբերման API- ն
Գործարկում է օբյեկտի հայտնաբերման API- ն

Բոլոր կազմաձևված շրջանակներով այժմ հնարավոր է գործարկել օբյեկտի հայտնաբերման API- ն, որն օգտագործում է OpenCV- ն Tensorflow- ի հետ միասին:

Գնացեք ընտրված գրացուցակ

(820c) $ cd

(410c) $ cd ~/sd պանակ

Անցեք օբյեկտների հայտնաբերման գրացուցակին

$ cd object_detector_tensorflow_opencv/

Այժմ գործարկեք ծրագիրը

$ python3.5 app.py

Այժմ Dragonboard- ը տեսանյութը կհեռարձակի ցանցի միջոցով: Ելքային տեսանյութը տեսնելու համար բացեք զննարկիչը DB- ում և գնացեք «0.0.0.0: 5000»:

Խորհուրդ ենք տալիս: