Բովանդակություն:
- Քայլ 1: Պահանջներ
- Քայլ 2. MicroSD քարտի տեղադրում (միայն W/ DB410c)
- Քայլ 3: Պահանջվող շրջանակների տեղադրում
- Քայլ 4. Գործարկեք օբյեկտի հայտնաբերման API- ն
Video: Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c OpenCV- ի և Tensorflow- ի միջոցով. 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս հրահանգները նկարագրում են, թե ինչպես տեղադրել 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- ն, որն օգտագործում է OpenCV- ն Tensorflow- ի հետ միասին:
Գնացեք ընտրված գրացուցակ
(820c) $ cd
(410c) $ cd ~/sd պանակ
Անցեք օբյեկտների հայտնաբերման գրացուցակին
$ cd object_detector_tensorflow_opencv/
Այժմ գործարկեք ծրագիրը
$ python3.5 app.py
Այժմ Dragonboard- ը տեսանյութը կհեռարձակի ցանցի միջոցով: Ելքային տեսանյութը տեսնելու համար բացեք զննարկիչը DB- ում և գնացեք «0.0.0.0: 5000»:
Խորհուրդ ենք տալիս:
Օբյեկտի հայտնաբերում Sipeed MaiX տախտակներով (Kendryte K210) ՝ 6 քայլ
Օբյեկտների հայտնաբերում Sipeed MaiX տախտակներով (Kendryte K210). Որպես Sipeed MaiX տախտակներով պատկերի ճանաչման մասին իմ նախորդ հոդվածի շարունակություն, ես որոշեցի գրել մեկ այլ ձեռնարկ ՝ կենտրոնանալով օբյեկտների հայտնաբերման վրա: Վերջերս ինչ -որ հետաքրքիր սարքավորում հայտնվեց Kendryte K210 չիպով, ներառյալ S
Պարզ գույնի հայտնաբերում OpenCV- ի միջոցով. 6 քայլ
Պարզ գույնի հայտնաբերում OpenCV- ի միջոցով. Բարև: Այսօր ես ցույց կտամ OpenCV- ի և python- ի միջոցով կենդանի տեսանյութից գույնը հայտնաբերելու մի պարզ մեթոդ: Հիմնականում ես պարզապես կփորձեմ անհրաժեշտ գույնը առկա է հետին պլանում կամ ոչ, և OpenCV մոդուլների միջոցով դիմակավորելու եմ այդ տարածաշրջանը և
Գույնի հայտնաբերում Python- ում OpenCV- ի միջոցով. 8 քայլ
Գույնի հայտնաբերում Python- ում OpenCV- ի միջոցով. Բարև: Այս հրահանգը օգտագործվում է ուղեցույց այն մասին, թե ինչպես կարելի է պիթոնում պատկերից վերցնել որոշակի գույն ՝ օգտագործելով openCV գրադարան: Եթե դուք նոր եք այս տեխնիկայում, ապա մի անհանգստացեք, այս ուղեցույցի վերջում դուք կկարողանաք ծրագրավորել ձեր սեփական գույնը
Ազնվամորի Պի օբյեկտի հայտնաբերում. 7 քայլ
Raspberry Pi օբյեկտի հայտնաբերում. Այս ուղեցույցը տալիս է քայլ առ քայլ հրահանգներ, թե ինչպես ստեղծել Raspberry Pi- ի վրա TensorFlow’s Object Detection API- ն: Հետևելով այս ուղեցույցի քայլերին ՝ դուք կկարողանաք օգտագործել ձեր Raspberry Pi- ն ՝ կենդանի տեսանյութերի միջոցով օբյեկտների հայտնաբերում իրականացնելու P
Տեսողական օբյեկտի հայտնաբերում ֆոտոխցիկով (TfCD). 15 քայլ (նկարներով)
Տեսախցիկների միջոցով օբյեկտների հայտնաբերում (TfCD). Ognանաչողական ծառայությունները, որոնք կարող են ճանաչել հույզերը, մարդկանց դեմքերը կամ պարզ առարկաները, դեռ զարգացման վաղ փուլում են, սակայն մեքենայական ուսուցման դեպքում այս տեխնոլոգիան գնալով զարգանում է: Մենք կարող ենք ակնկալել, որ այս հրաշքն ավելի շատ կտեսնենք