สารบัญ:

การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow.: 4 ขั้นตอน
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow.: 4 ขั้นตอน

วีดีโอ: การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow.: 4 ขั้นตอน

วีดีโอ: การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow.: 4 ขั้นตอน
วีดีโอ: เทคนิคการใช้ Chat GPT : AI สำหรับการจัดการเรียนการสอน 2024, พฤศจิกายน
Anonim
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow

คำแนะนำนี้อธิบายวิธีการติดตั้งเฟรมเวิร์ก OpenCV, Tensorflow และการเรียนรู้ของเครื่องสำหรับ Python 3.5 เพื่อเรียกใช้แอปพลิเคชัน Object Detection

ขั้นตอนที่ 1: ข้อกำหนด

คุณจะต้องมี itens ต่อไปนี้:

  • DragonBoard™ 410c หรือ 820c;
  • การติดตั้ง Linaro-alip ใหม่ทั้งหมด:

    • DB410c: ทดสอบในเวอร์ชัน v431. Link:
    • DB820c: ทดสอบในเวอร์ชัน v228. Link:
  • การ์ด MicroSD ความจุอย่างน้อย 16GB (หากใช้ 410c)

ดาวน์โหลดไฟล์ (ในตอนท้ายของขั้นตอนนี้) เปิดเครื่องรูดและคัดลอกไปยังการ์ด MicroSD;Obs: หากใช้ DB820c ให้ดาวน์โหลดไฟล์ คลายซิปและย้ายไปที่ /home/*USER*/ เพื่อทำให้การใช้คำสั่งง่ายขึ้น

  • ฮับ USB;
  • กล้อง USB (รองรับ Linux);
  • เมาส์และคีย์บอร์ด USB;
  • การเชื่อมต่ออินเทอร์เน็ต

Obs: ทำตามคำแนะนำนี้ในเบราว์เซอร์ DragonBoard ถ้าเป็นไปได้ อำนวยความสะดวกในการคัดลอกคำสั่ง

ขั้นตอนที่ 2: การติดตั้งการ์ด MicroSD (เฉพาะ W/ DB410c)

  • เปิดเทอร์มินัลใน Dragonboard;
  • ในเทอร์มินัลรัน fdisk:

$ sudo fdisk -l

  • ใส่การ์ด MicroSD ลงในช่องเสียบการ์ด DragonBoard MicroSD;
  • เรียกใช้ fdisk อีกครั้ง โดยมองหาชื่อ (และพาร์ติชัน) ของอุปกรณ์ใหม่ในรายการ (เช่น mmcblk1p1)

$ sudo fdisk -l

ไปที่ไดเรกทอรีราก:

$ cd ~

สร้างโฟลเดอร์:

$ mkdir sdfolder

ติดตั้งการ์ด MicroSD:

$ mount /dev/sdfolder

ขั้นตอนที่ 3: การติดตั้งเฟรมเวิร์กที่จำเป็น

  • เปิดเทอร์มินัลใน Dragonboard;
  • ในเทอร์มินัล ไปที่ไดเร็กทอรีที่เลือก (โดยใช้ "~" สำหรับ 820c และ SDCard ที่ต่อเชื่อมสำหรับ 410c):

(820c) $ cd ~

(410c) $ cd ~/sdfolder

ไปที่โฟลเดอร์สคริปต์ Object Detector:

$ cd object_detector_tensorflow_opencv/scripts/

เรียกใช้สคริปต์การตั้งค่าสภาพแวดล้อม:

$ sudo bash set_Env.sh

อัพเดทระบบ:

$ sudo apt update

ติดตั้งแพ็คเกจเหล่านี้:

$ sudo apt ติดตั้ง -y protobuf-compiler gcc-aarch64-linux-gnu

g++-aarch64-linux-gnu debootstrap schroot git curl pkg-config zip เปิดเครื่องรูด python python-pip g++ zlib1g-dev default-jre libhdf5-dev libatlas-base-dev gfortran v4l-utils hdf5* libhdf5* build-libespng-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-dev libswscale-dev libxcore-dev libv4l-vid 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

ลบแพ็คเกจที่บีบอัด:

$ sudo rm Python-3.5.6.tgz

ไปที่ไดเร็กทอรี Python 3.5:

$ cd Python-3.5.6

เปิดใช้งานการปรับให้เหมาะสมสำหรับการรวบรวม Python 3.5:

$ sudo./configure --enable-optimizations

รวบรวม Python 3.5:

$ sudo สร้าง altinstall

อัปเกรด pip และเครื่องมือตั้งค่า:

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

ติดตั้งจำนวน:

$ python3.5 -m pip ติดตั้ง numpy

ไปที่ไดเร็กทอรีที่เลือก:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

ดาวน์โหลด Tensorflow 1.11 whl:

$ wget

ติดตั้งเทนเซอร์โฟลว์:

$ 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

สร้างไดเร็กทอรี build และไปที่:

$ sudo mkdir build && cd build

เรียกใช้ 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 -UthABLETHLE_ON3_DE_$ ซึ่ง EXpython3_D: $ sudo cmake ซึ่ง 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 -_TEST_=OFF -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= ปิด -D BUILD_OPENCV_DNC_DON. โมดูล..

รวบรวม OpenCV ด้วย 4 คอร์:

$ sudo make -j 4

ติดตั้ง OpenCV:

$ sudo ทำการติดตั้ง

ไปที่ไดเร็กทอรีที่เลือก:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

ไปที่ไดเรกทอรีสคริปต์:

$ cd object_detector_tensorflow_opencv/scripts/

ติดตั้งข้อกำหนด Python3.5:

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

นำเข้าทดสอบ:

$ python3.5

> นำเข้า cv2 >> นำเข้าเทนเซอร์โฟลว์

Obs: หาก cv2 ส่งคืนข้อผิดพลาดในการนำเข้า ให้เรียกใช้ make install ในโฟลเดอร์บิลด์ OpenCV แล้วลองอีกครั้ง

ไปที่ไดเร็กทอรีที่เลือก:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

ดาวน์โหลดที่เก็บโคโคปี:

$ git clone

ดาวน์โหลดที่เก็บโมเดล Tensorflow:

$ git clone

ไปที่ไดเร็กทอรีนี้:

$ cd cocoapi/PythonAPI

แก้ไขไฟล์ Makefile เปลี่ยน python เป็น python3.5 ในบรรทัดที่ 3 และ 8 จากนั้นบันทึกไฟล์ (โดยใช้ nano เป็นตัวอย่าง):

$ nano Makefile

รวบรวมโกโก้ปิ:

$ sudo make

Obs: หากคำสั่ง 'make' ไม่คอมไพล์ให้ลองติดตั้ง cython ใหม่ด้วย:

$ sudo python3.5 -m pip ติดตั้ง cython

คัดลอก pycocotools ไปยังไดเร็กทอรี tensorflow /models/research:

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

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

ไปที่ไดเร็กทอรีที่เลือก:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

ไปที่รุ่น/ไดเร็กทอรีการวิจัย:

$ cd รุ่น/งานวิจัย

รวบรวมด้วยโปรโตคอล:

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

ตัวแปรสภาพแวดล้อมการส่งออก:

$ ส่งออก PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

ทดสอบสภาพแวดล้อม:

$ python3.5 object_detection/builders/model_builder_test.py

Obs: ต้องส่งคืน OK มิฉะนั้น aplication จะไม่ทำงาน หากไม่เป็นเช่นนั้น ให้ค้นหาข้อผิดพลาดในกระบวนการติดตั้งเฟรมเวิร์กที่ต้องการอย่างระมัดระวัง

ขั้นตอนที่ 4: เรียกใช้ API การตรวจจับวัตถุ

เรียกใช้ API การตรวจจับวัตถุ
เรียกใช้ API การตรวจจับวัตถุ

เมื่อกำหนดค่าเฟรมเวิร์กทั้งหมดแล้ว ตอนนี้คุณสามารถเรียกใช้ API การตรวจหาวัตถุที่ใช้ OpenCV ร่วมกับ Tensorflow ได้แล้ว

ไปที่ไดเร็กทอรีที่เลือก:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

ไปที่ไดเร็กทอรีการตรวจจับวัตถุ:

$ cd object_detector_tensorflow_opencv/

ตอนนี้เรียกใช้แอปพลิเคชัน:

$ python3.5 app.py

ตอนนี้ Dragonboard จะสตรีมวิดีโอผ่านเครือข่าย หากต้องการดูวิดีโอที่ส่งออก ให้เปิดเบราว์เซอร์ในฐานข้อมูลและไปที่ "0.0.0.0:5000"

แนะนำ: