การตรวจจับวัตถุ Raspberry Pi: 7 ขั้นตอน
การตรวจจับวัตถุ Raspberry Pi: 7 ขั้นตอน
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]

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