สารบัญ:

การตรวจจับวัตถุ Raspberry Pi: 7 ขั้นตอน
การตรวจจับวัตถุ Raspberry Pi: 7 ขั้นตอน

วีดีโอ: การตรวจจับวัตถุ Raspberry Pi: 7 ขั้นตอน

วีดีโอ: การตรวจจับวัตถุ Raspberry Pi: 7 ขั้นตอน
วีดีโอ: ตรวจจับความเคลื่อนไหวถ่ายรูปส่ง Line ด้วย Raspberry PI 2024, กรกฎาคม
Anonim
การตรวจจับวัตถุ Raspberry Pi
การตรวจจับวัตถุ Raspberry Pi

คู่มือนี้ให้คำแนะนำทีละขั้นตอนสำหรับการตั้งค่า Object Detection API ของ TensorFlow บน Raspberry Pi โดยทำตามขั้นตอนในคู่มือนี้ คุณจะสามารถใช้ Raspberry Pi เพื่อทำการตรวจจับวัตถุในวิดีโอสดจากเว็บแคม Picamera หรือ USB การเรียนรู้ด้วยเครื่องด้วยตนเองไม่จำเป็นต้องใช้ในฐานข้อมูลออนไลน์สำหรับการตรวจจับวัตถุ คุณสามารถตรวจจับวัตถุส่วนใหญ่ที่ใช้กันทั่วโลกได้

โปรดดูภาพด้านบนของฉัน เราใช้เมาส์ แอปเปิ้ล และกรรไกร และตรวจพบวัตถุได้อย่างสมบูรณ์

คู่มือจะดำเนินตามขั้นตอนต่อไปนี้:

อัปเดต Raspberry Pi

ติดตั้ง TensorFlowInstall OpenCV

รวบรวมและติดตั้ง Protobuf

ตั้งค่าโครงสร้างไดเร็กทอรี TensorFlow

ตรวจจับวัตถุ

ขั้นตอนที่ 1: อัปเดต Raspberry Pi

อัพเดต Raspberry Pi
อัพเดต Raspberry Pi

Raspberry Pi ของคุณต้องได้รับการอัปเดต

ขั้นตอนที่ 1:

พิมพ์ในเทอร์มินัลคำสั่ง

sudo apt-get update

แล้วพิมพ์

sudo apt-get dist-upgrade

อาจใช้เวลานานขึ้นอยู่กับอินเทอร์เน็ตและ Raspberry pi. ของคุณ

นั่นคือทั้งหมดที่คุณต้องการ คุณเสร็จสิ้นการอัพเดต Raspberry pi. ของคุณ

ขั้นตอนที่ 2: ติดตั้ง TensorFlow

ติดตั้ง TensorFlow
ติดตั้ง TensorFlow

ตอนนี้ เรากำลังจะทำการติดตั้ง Tensorflow

พิมพ์คำสั่งต่อไปนี้

pip3 ติดตั้ง TensorFlow

TensorFlow ยังต้องการแพ็คเกจ LibAtlas พิมพ์คำสั่งต่อไปนี้

sudo apt-get ติดตั้ง libatlas-base-dev

และพิมพ์คำสั่งต่อไปนี้ด้วย

sudo pip3 ติดตั้งหมอน lxml jupyter matplotlib cythonsudo apt-get ติดตั้ง python-tk

ตอนนี้ เราได้เสร็จสิ้นการติดตั้ง Tensorflow แล้ว

ขั้นตอนที่ 3: ติดตั้ง OpenCV

ติดตั้ง OpenCV
ติดตั้ง OpenCV

ตอนนี้ เรากำลังดำเนินการติดตั้งไลบรารี OpenCV เนื่องจากตัวอย่างการตรวจจับวัตถุของ TensorFlow ใช้ matplotlib เพื่อแสดงรูปภาพ แต่ฉันเลือกที่จะฝึก OpenCV เนื่องจากทำงานได้ง่ายขึ้นและมีข้อผิดพลาดน้อยลง ดังนั้น เราต้องติดตั้ง OpenCV ตอนนี้ OpenCV ไม่รองรับ RPI ดังนั้นเราจะติดตั้งเวอร์ชันที่เก่ากว่า

ตอนนี้เรากำลังดำเนินการติดตั้งการพึ่งพาบางอย่างที่ต้องติดตั้งผ่าน apt-get

sudo apt-get ติดตั้ง libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

sudo apt-get ติดตั้ง libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

sudo apt-get ติดตั้ง libxvidcore-dev libx264-dev

sudo apt-get ติดตั้ง qt4-dev-tools libatlas-base-dev

สุดท้าย ตอนนี้เราสามารถติดตั้ง OpenCV ได้โดยพิมพ์

pip3 ติดตั้ง opencv-python==3.4.6.27

เท่านี้เราก็ได้ติดตั้ง OpenCV. แล้ว

ขั้นตอนที่ 4: ติดตั้ง Protobuf

ติดตั้ง Protobuf
ติดตั้ง Protobuf

API การตรวจจับวัตถุ TensorFlow ใช้ Protobuf ซึ่งเป็นแพ็คเกจที่กำหนดรูปแบบข้อมูล Protocol Buffer ของ Google คุณต้องคอมไพล์จากซอร์ส ตอนนี้คุณสามารถติดตั้งได้อย่างง่ายดาย

sudo apt-get ติดตั้ง protobuf-compiler

เรียกใช้ protoc --version เมื่อเสร็จแล้ว คุณควรได้รับการตอบกลับของ libprotoc 3.6.1 หรือคล้ายกัน

ขั้นตอนที่ 5: ตั้งค่าโครงสร้างไดเรกทอรี TensorFlow

ตั้งค่าโครงสร้างไดเรกทอรี TensorFlow
ตั้งค่าโครงสร้างไดเรกทอรี TensorFlow

เราได้ติดตั้งแพ็คเกจทั้งหมดแล้ว เราต้องการตั้งค่าไดเร็กทอรีสำหรับ TensorFlow จากโฮมไดเร็กตอรี่ สร้างชื่อไดเร็กทอรีชื่อ “tensorflow1”

พิมพ์ต่อไปนี้

mkdir เทนเซอร์โฟลว์1cd เทนเซอร์โฟลว์1

ตอนนี้ดาวน์โหลด TensorFlow โดยพิมพ์

โคลน git --ความลึก 1

เราต้องการแก้ไขตัวแปรสภาพแวดล้อม PYTHONPATH เพื่อกำหนดทิศทางไปยังบางไดเรกทอรีภายในที่เก็บ TensorFlow เราต้องตั้งค่า PYTHONPATH ทุกครั้ง เราต้องปรับไฟล์.bashrc เราต้องเปิดโดยพิมพ์

sudo nano ~/.bashrc

ที่ส่วนท้ายของไฟล์และบรรทัดสุดท้ายให้เพิ่มคำสั่งเช่นในภาพด้านบนซึ่งทำเครื่องหมายไว้ที่กล่องสีแดง

export PYTHONPATH=$PYTHONPATH:/home/pi/tensorflow1/models/research:/home/pi/tensorflow1/models/research/slim

ตอนนี้บันทึกและออก เราจำเป็นต้องใช้ Protoc เพื่อคอมไพล์ไฟล์ Protocol Buffer(.proto) ที่ใช้โดย Object Detection API ไฟล์.proto อยู่ใน /research/object_detection/protos เราต้องการรันคำสั่งจากไดเร็กทอรี /research พิมพ์คำสั่งต่อไปนี้

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

คำสั่งนี้จะเปลี่ยนไฟล์ "name".proto ทั้งหมดเป็นไฟล์ "name_pb2".py

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

เราจำเป็นต้องดาวน์โหลดรุ่น SSD_Lite จากสวนสัตว์รุ่น TensorFlowdetection สำหรับสิ่งนี้ เราต้องการใช้ SSDLite-MobileNet ซึ่งเป็นรุ่นที่เร็วที่สุดสำหรับ RPI

Google กำลังเปิดตัวโมเดลอย่างไม่สิ้นสุดด้วยความเร็วและประสิทธิภาพที่เพิ่มขึ้น ดังนั้นโปรดตรวจสอบบ่อยๆ ว่ามีโมเดลที่ปรับปรุงแล้วหรือไม่

พิมพ์คำสั่งต่อไปนี้เพื่อดาวน์โหลดโมเดล SSDLite-MobileNet

wget

tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz

ตอนนี้เราสามารถฝึกโมเดล Object_Detction ได้แล้ว!

เราใกล้จะเสร็จแล้ว!

ขั้นตอนที่ 6: ตรวจหาวัตถุ

ตรวจจับวัตถุ
ตรวจจับวัตถุ

ตอนนี้สิ่งทั้งหมดได้รับการตั้งค่าสำหรับการดำเนินการตรวจจับวัตถุบน Pi!

Object_detection_picamera.py ตรวจจับวัตถุแบบสดจากเว็บแคม Picamera หรือ USB

หากคุณกำลังใช้ Picamera ให้เปลี่ยนการกำหนดค่า Raspberry Pi เป็นเมนูเหมือนในภาพด้านบนที่ทำเครื่องหมายในกล่องสีแดง

พิมพ์คำสั่งต่อไปนี้เพื่อดาวน์โหลดไฟล์ Object_detection_picamera.py ลงในไดเร็กทอรี 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

พิมพ์คำสั่งต่อไปนี้สำหรับกล้อง USB

python3 Object_detection_picamera.py --usbcam

คำสั่งหนึ่งถูกดำเนินการ หลังจาก 1 นาที หน้าต่างใหม่จะเปิดขึ้นซึ่งจะเริ่มตรวจจับวัตถุ !!!

ขั้นตอนที่ 7: ปัญหาและขอขอบคุณ

ปัญหาและขอบคุณ
ปัญหาและขอบคุณ

โปรดแจ้งให้เราทราบหากคุณมีคำถามใดๆ

อีเมล์: [email protected]

ขอขอบคุณ, ฤทธิก

แนะนำ: