Mục lục:

Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow.: 4 bước
Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow.: 4 bước

Video: Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow.: 4 bước

Video: Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow.: 4 bước
Video: $449 Qualcomm Robotics RB3 Platform Snapdragon 845 Development Board, Embedded World 2019 booth tour 2024, Tháng bảy
Anonim
Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow
Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow
Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow
Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow
Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow
Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow
Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow
Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow

Tài liệu hướng dẫn này mô tả cách cài đặt OpenCV, Tensorflow và các khuôn khổ học máy cho Python 3.5 để chạy ứng dụng Phát hiện đối tượng.

Bước 1: Yêu cầu

Bạn sẽ cần các bước lặp sau:

  • Một DragonBoard ™ 410c hoặc 820c;
  • Một bản cài đặt sạch của Linaro-alip:

    • DB410c: được thử nghiệm trong phiên bản v431. Liên kết:
    • DB820c: được thử nghiệm trong phiên bản v228. Link:
  • Thẻ MicroSD dung lượng ít nhất 16GB (Nếu sử dụng 410c);

Tải xuống tệp (Ở phần cuối của bước này), giải nén và sao chép vào thẻ MicroSD; Hạn chế: Nếu sử dụng DB820c, hãy tải tệp xuống, giải nén và chuyển đến / home / * USER * / để dễ sử dụng các lệnh.

  • Một trung tâm USB;
  • Một máy ảnh USB (tương thích Linux);
  • Một con chuột và bàn phím USB;
  • Kết nối Internet.

Obs: Làm theo hướng dẫn này trong trình duyệt DragonBoard nếu có thể, tạo điều kiện thuận lợi cho việc sao chép các lệnh

Bước 2: Gắn thẻ MicroSD (chỉ W / DB410c)

  • Mở thiết bị đầu cuối trong Dragonboard;
  • Trong thiết bị đầu cuối chạy fdisk:

$ sudo fdisk -l

  • Cắm thẻ MicroSD vào khe cắm thẻ DragonBoard MicroSD;
  • Chạy lại fdisk, tìm kiếm tên (và phân vùng) của thiết bị mới trong danh sách (ví dụ: mmcblk1p1)

$ sudo fdisk -l

Đi tới thư mục gốc:

$ cd ~

Tạo một thư mục:

$ mkdir sdfolder

Gắn thẻ MicroSD:

$ mount / dev / sdfolder

Bước 3: Cài đặt các khung bắt buộc

  • Mở thiết bị đầu cuối trong Dragonboard;
  • Trong thiết bị đầu cuối, hãy chuyển đến thư mục đã chọn (sử dụng "~" cho 820c và thẻ SDCard được gắn cho 410c):

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Đi tới thư mục tập lệnh của Trình dò tìm đối tượng:

$ cd object_detector_tensorflow_opencv / scripts /

Chạy tập lệnh thiết lập môi trường:

$ sudo bash set_Env.sh

Cập nhật hệ thống:

Cập nhật $ sudo apt

Cài đặt các gói này:

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

Đi tới thư mục này:

$ cd / usr / src

Tải xuống Python 3.5:

$ sudo wget

Giải nén gói:

$ sudo tar xzf Python-3.5.6.tgz

Xóa gói nén:

$ sudo rm Python-3.5.6.tgz

Đi tới thư mục Python 3.5:

$ cd Python-3.5.6

Bật tối ưu hóa cho biên dịch Python 3.5:

$ sudo./configure --enable-Optimizations

Biên dịch Python 3.5:

$ sudo make altinstall

Nâng cấp pip và các công cụ thiết lập:

$ sudo python3,5 -m pip cài đặt - nâng cấp pip && cài đặt python3,5 -m pip - nâng cấp công cụ thiết lập

Cài đặt numpy:

$ python3,5 -m pip cài đặt numpy

Đi tới thư mục đã chọn:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Tải xuống Tensorflow 1.11 whl:

$ wget

Cài đặt tensorflow:

$ sudo python3,5 -m pip cài đặt tensorflow-1.11.0-cp35-none-linux_aarch64.whl

Kho lưu trữ Clone OpenCV và OpenCV Contrib:

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

Đi tới thư mục:

$ cd opencv

Tạo thư mục xây dựng và truy cập vào nó:

$ sudo mkdir build && cd build

Chạy 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 PYTHON3_DEFAULT_EXECUTABLE.5 = $ python mà 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_TESTS = OFF -D WITH_TBB = ON -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 OPENCV_EXTRA_MODULES../PATH mô-đun..

Biên dịch OpenCV với 4 lõi:

$ sudo make -j 4

Cài đặt OpenCV:

$ sudo thực hiện cài đặt

Đi tới thư mục đã chọn:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Đi tới thư mục script:

$ cd object_detector_tensorflow_opencv / scripts /

Cài đặt các yêu cầu của Python3.5:

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

Nhập thử nghiệm:

$ python3,5

> nhập cv2 >> nhập tensorflow

Ám ảnh: Nếu cv2 trả về lỗi nhập, hãy chạy thực hiện cài đặt trong thư mục xây dựng OpenCV và thử lại

Đi tới thư mục đã chọn:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Tải xuống kho cocoapi:

$ git clone

Tải xuống kho lưu trữ mô hình Tensorflow:

$ git clone

Đi tới thư mục này:

$ cd cocoapi / PythonAPI

Chỉnh sửa tệp Makefile, thay đổi python thành python3.5 ở dòng 3 và 8, sau đó lưu tệp (sử dụng nano làm ví dụ):

$ nano Makefile

Biên dịch cocoapi:

$ sudo make

Ám ảnh: Nếu lệnh ‘make’ không biên dịch, hãy thử cài đặt lại cython bằng:

$ sudo python3,5 -m pip cài đặt cython

Sao chép pycocotools vào thư mục tensorflow / models / research:

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

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

Đi tới thư mục đã chọn:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Đi tới thư mục mô hình / nghiên cứu:

$ cd mô hình / nghiên cứu

Biên dịch với protoc:

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

Biến môi trường xuất khẩu:

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

Kiểm tra môi trường:

$ python3.5 object_detection / builders / model_builder_test.py

Obs: Nó phải trả về OK, nếu không thì ứng dụng sẽ không hoạt động. Nếu không, hãy cẩn thận tìm kiếm bất kỳ lỗi nào trong quá trình cài đặt các khuôn khổ được yêu cầu

Bước 4: Chạy API phát hiện đối tượng

Chạy API phát hiện đối tượng
Chạy API phát hiện đối tượng

Với tất cả các khung được định cấu hình, giờ đây có thể chạy API phát hiện đối tượng sử dụng OpenCV cùng với Tensorflow.

Đi tới thư mục đã chọn:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Đi tới thư mục phát hiện đối tượng:

$ cd object_detector_tensorflow_opencv /

Bây giờ hãy chạy ứng dụng:

$ python3.5 app.py

Bây giờ Dragonboard sẽ truyền video qua mạng. Để xem video đầu ra, hãy mở trình duyệt trong DB và đi tới "0.0.0.0: 5000".

Đề xuất: