Mục lục:
- Bước 1: Yêu cầu
- Bước 2: Gắn thẻ MicroSD (chỉ W / DB410c)
- Bước 3: Cài đặt các khung bắt buộc
- Bước 4: Chạy API phát hiện đối tượng
Video: Phát hiện đối tượng W / Dragonboard 410c hoặc 820c Sử dụng OpenCV và Tensorflow.: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
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 wgetGiả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:
$ wgetCà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 cloneTải xuống kho lưu trữ mô hình Tensorflow:
$ git cloneĐi tới thư mục này:
Đ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
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:
Phát hiện đối tượng với bảng Sipeed MaiX (Kendryte K210): 6 bước
Phát hiện đối tượng với Sipeed MaiX Boards (Kendryte K210): Là phần tiếp theo của bài viết trước của tôi về nhận dạng hình ảnh với Sipeed MaiX Boards, tôi quyết định viết một hướng dẫn khác, tập trung vào phát hiện đối tượng. Có một số phần cứng thú vị xuất hiện gần đây với chip Kendryte K210, bao gồm cả S
Lập trình hướng đối tượng: Tạo đối tượng Học / Phương pháp giảng dạy / Kỹ thuật sử dụng Shape Puncher: 5 bước
Lập trình hướng đối tượng: Tạo đối tượng Phương pháp học / dạy / kỹ thuật sử dụng Shape Puncher: Phương pháp học / dạy dành cho sinh viên mới làm quen với lập trình hướng đối tượng. Đây là một cách cho phép họ hình dung và xem quá trình tạo các đối tượng từ các lớp. Cú đấm lớn 2 inch của EkTools; hình dạng rắn là tốt nhất.2. Mảnh giấy hoặc c
Phát hiện đối tượng Raspberry Pi: 7 bước
Phát hiện đối tượng trên Raspberry Pi: Hướng dẫn này cung cấp hướng dẫn từng bước về cách thiết lập API phát hiện đối tượng của TensorFlow trên Raspberry Pi. Bằng cách làm theo các bước trong hướng dẫn này, bạn sẽ có thể sử dụng Raspberry Pi của mình để thực hiện phát hiện đối tượng trên video trực tiếp từ P
Lập trình hướng đối tượng: Tạo đối tượng Học / Phương pháp giảng dạy / Kỹ thuật sử dụng kéo: 5 bước
Lập trình hướng đối tượng: Tạo đối tượng Phương pháp học / dạy / kỹ thuật dùng kéo: Phương pháp học / dạy dành cho sinh viên mới làm quen với lập trình hướng đối tượng. Đây là một cách cho phép họ hình dung và nhìn thấy quá trình tạo ra các đối tượng từ các lớp. Phần: 1. Kéo (bất kỳ loại nào cũng được). 2. Mảnh giấy hoặc bìa cứng. 3. Điểm đánh dấu.
Bộ phân tích mô hình giao thông sử dụng tính năng phát hiện đối tượng trực tiếp: 11 bước (có hình ảnh)
Trình phân tích mô hình giao thông sử dụng tính năng phát hiện đối tượng trực tiếp: Trong thế giới ngày nay, đèn giao thông rất cần thiết cho một con đường an toàn. Tuy nhiên, nhiều khi, đèn giao thông có thể gây khó chịu trong tình huống có người đang đến gần đèn ngay khi đèn đang chuyển sang màu đỏ. Điều này gây lãng phí thời gian, đặc biệt nếu ánh sáng