Mục lục:

Phát hiện đối tượng Raspberry Pi: 7 bước
Phát hiện đối tượng Raspberry Pi: 7 bước

Video: Phát hiện đối tượng Raspberry Pi: 7 bước

Video: Phát hiện đối tượng Raspberry Pi: 7 bước
Video: Phân tích thanh ghi GPIO trên Raspberry Pi và demo điều khiển Led 2024, Tháng bảy
Anonim
Phát hiện đối tượng Raspberry Pi
Phát hiện đối tượng 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ừ webcam Picamera hoặc USB. Máy học thủ công không bắt buộc như được sử dụng trong cơ sở dữ liệu trực tuyến để phát hiện đối tượng. Bạn có thể phát hiện hầu hết các đối tượng thường được sử dụng trên toàn thế giới.

Hãy tham khảo hình trên của tôi, chúng tôi đã sử dụng chuột, Apple và Scissors và phát hiện đối tượng một cách hoàn hảo.

Hướng dẫn sẽ thực hiện các bước sau:

Cập nhật Raspberry Pi

Cài đặt TensorFlowInstall OpenCV

Biên dịch và cài đặt Protobuf

Thiết lập cấu trúc thư mục TensorFlow

Phát hiện đối tượng

Bước 1: Cập nhật Raspberry Pi

Cập nhật Raspberry Pi
Cập nhật Raspberry Pi

Raspberry Pi của bạn cần được cập nhật

Bước 1:

Nhập vào Command terminal, sudo apt-get cập nhật

Và sau đó Nhập

sudo apt-get dist-upgrade

Điều này có thể mất nhiều thời gian phụ thuộc vào Internet của bạn và Raspberry pi

Đó là tất cả những gì bạn cần, bạn đã hoàn thành Cập nhật Raspberry pi của mình

Bước 2: Cài đặt TensorFlow

Cài đặt TensorFlow
Cài đặt TensorFlow

Bây giờ, chúng ta sẽ cài đặt Tensorflow.

Nhập lệnh sau đây, pip3 cài đặt TensorFlow

TensorFlow cũng cần gói LibAtlas, Nhập lệnh sau

sudo apt-get install libatlas-base-dev

Và cũng gõ lệnh sau đây, sudo pip3 install gối lxml jupyter matplotlib cythonsudo apt-get install python-tk

Bây giờ, chúng tôi đã hoàn thành cài đặt Tensorflow.

Bước 3: Cài đặt OpenCV

Cài đặt OpenCV
Cài đặt OpenCV

Bây giờ chúng tôi đang làm việc để Cài đặt thư viện OpenCV vì các ví dụ phát hiện đối tượng của TensorFlow sử dụng matplotlib để hiển thị hình ảnh, nhưng tôi chọn thực hành OpenCV vì nó dễ làm việc hơn và ít lỗi hơn. Vì vậy, chúng ta cần cài đặt OpenCV. Hiện OpenCV không hỗ trợ RPI, vì vậy chúng tôi sẽ cài đặt Verision cũ hơn.

Bây giờ chúng tôi đang làm việc để cài đặt một số phụ thuộc cần được cài đặt thông qua apt-get

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

sudo apt-get install libxvidcore-dev libx264-dev

sudo apt-get install qt4-dev-tools libatlas-base-dev

Cuối cùng, Bây giờ chúng ta có thể cài đặt OpenCV bằng cách gõ, pip3 cài đặt opencv-python == 3.4.6.27

Đó là tất cả, bây giờ chúng tôi đã cài đặt OpenCV

Bước 4: Cài đặt Protobuf

Cài đặt Protobuf
Cài đặt Protobuf

API phát hiện đối tượng TensorFlow sử dụng Protobuf, một gói trang bị cho định dạng dữ liệu Bộ đệm giao thức của Google. Bạn cần phải biên dịch từ nguồn, bây giờ bạn có thể cài đặt dễ dàng.

sudo apt-get install protobuf-compiler

Chạy protoc --version sau khi hoàn tất. Bạn sẽ nhận được phản hồi của libprotoc 3.6.1 hoặc tương tự.

Bước 5: Thiết lập cấu trúc thư mục TensorFlow

Thiết lập cấu trúc thư mục TensorFlow
Thiết lập cấu trúc thư mục TensorFlow

Chúng tôi đã cài đặt tất cả các gói, chúng tôi muốn thiết lập một thư mục cho TensorFlow. Từ thư mục chính, tạo tên thư mục có tên là “tensorflow1”, Nhập nội dung sau, mkdir tensorflow1cd tensorflow1

Bây giờ tải xuống TensorFlow bằng cách nhập, git clone --depth 1

Chúng tôi muốn sửa đổi biến môi trường PYTHONPATH để hướng đến một số thư mục bên trong kho lưu trữ TensorFlow. Chúng tôi cần PYTHONPATH được đặt mọi lúc. Chúng tôi phải điều chỉnh tệp.bashrc. Chúng ta phải mở nó bằng cách Nhập

sudo nano ~ /.bashrc

Ở cuối tệp và dòng cuối cùng thêm lệnh, như trong hình trên cùng được đánh dấu trên hộp màu đỏ.

xuất PYTHONPATH = $ PYTHONPATH: / home / pi / tensorflow1 / models / research: / home / pi / tensorflow1 / models / research / slim

Bây giờ lưu và thoát. Chúng tôi cần sử dụng Protoc để biên dịch các tệp Bộ đệm giao thức (.proto) được sử dụng bởi API phát hiện đối tượng. Các tệp.proto nằm trong / research / object_detection / protos, chúng tôi muốn thực thi lệnh từ thư mục / research. Gõ lệnh sau

cd / home / pi / tensorflow1 / models / researchprotoc object_detection / protos / *. proto --python_out =.

Lệnh này thay đổi tất cả các tệp.proto "name" thành các tệp.py "name_pb2".

cd / home / pi / tensorflow1 / models / research / object_detection

Chúng tôi cần tải xuống mô hình SSD_Lite từ vườn thú mô hình TensorFlowdetection. Đối với điều này, chúng tôi muốn sử dụng SSDLite-MobileNet, đây là mô hình nhanh nhất hiện có cho RPI.

Google liên tục phát hành các mô hình với tốc độ và hiệu suất được nâng cao, vì vậy hãy thường xuyên kiểm tra xem có bất kỳ mô hình nào được cải thiện hay không.

Nhập lệnh sau để tải xuống mô hình SSDLite-MobileNet.

wget

tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz

Bây giờ chúng ta có thể thực hành các mô hình Object_Detction!

Chúng tôi đã gần hoàn thành!

Bước 6: Phát hiện đối tượng

Phát hiện đối tượng
Phát hiện đối tượng

Bây giờ toàn bộ mọi thứ đã được thiết lập để phát hiện đối tượng thực thi trên Pi!

Object_detection_picamera.py phát hiện các đối tượng trực tiếp từ webcam Picamera hoặc USB.

Nếu bạn đang sử dụng Picamera, hãy thực hiện thay đổi cấu hình Raspberry Pi trong menu như trong hình trên được đánh dấu bằng hộp màu đỏ.

Gõ lệnh sau để tải xuống tệp Object_detection_picamera.py vào thư mục object_detection.

wget https://raw.githubusercontent.com/EdjeElectronics/ TensorFlow-Object-Detection-on-the-Raspberry-Pi / master / Object_detection_picamera.py

python3 Object_detection_picamera.py

Nhập lệnh sau cho máy ảnh USB

python3 Object_detection_picamera.py --usbcam

Lệnh của một người được thực hiện, sau 1 phút, một cửa sổ mới mở ra sẽ bắt đầu phát hiện các đối tượng !!!

Bước 7: Vấn đề và cảm ơn

Vấn đề và Cảm ơn bạn
Vấn đề và Cảm ơn bạn

Hãy cho tôi biết nếu bạn có bất cứ thắc mắc nào

Email: [email protected]

Cảm ơn bạn, Rithik

Đề xuất: