สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
คู่มือนี้ให้คำแนะนำทีละขั้นตอนสำหรับการตั้งค่า Object Detection API ของ TensorFlow บน Raspberry Pi โดยทำตามขั้นตอนในคู่มือนี้ คุณจะสามารถใช้ Raspberry Pi เพื่อทำการตรวจจับวัตถุในวิดีโอสดจากเว็บแคม Picamera หรือ USB การเรียนรู้ด้วยเครื่องด้วยตนเองไม่จำเป็นต้องใช้ในฐานข้อมูลออนไลน์สำหรับการตรวจจับวัตถุ คุณสามารถตรวจจับวัตถุส่วนใหญ่ที่ใช้กันทั่วโลกได้
โปรดดูภาพด้านบนของฉัน เราใช้เมาส์ แอปเปิ้ล และกรรไกร และตรวจพบวัตถุได้อย่างสมบูรณ์
คู่มือจะดำเนินตามขั้นตอนต่อไปนี้:
อัปเดต Raspberry Pi
ติดตั้ง TensorFlowInstall OpenCV
รวบรวมและติดตั้ง Protobuf
ตั้งค่าโครงสร้างไดเร็กทอรี TensorFlow
ตรวจจับวัตถุ
ขั้นตอนที่ 1: อัปเดต Raspberry Pi
Raspberry Pi ของคุณต้องได้รับการอัปเดต
ขั้นตอนที่ 1:
พิมพ์ในเทอร์มินัลคำสั่ง
sudo apt-get update
แล้วพิมพ์
sudo apt-get dist-upgrade
อาจใช้เวลานานขึ้นอยู่กับอินเทอร์เน็ตและ Raspberry pi. ของคุณ
นั่นคือทั้งหมดที่คุณต้องการ คุณเสร็จสิ้นการอัพเดต Raspberry pi. ของคุณ
ขั้นตอนที่ 2: ติดตั้ง 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 เนื่องจากตัวอย่างการตรวจจับวัตถุของ 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
API การตรวจจับวัตถุ TensorFlow ใช้ Protobuf ซึ่งเป็นแพ็คเกจที่กำหนดรูปแบบข้อมูล Protocol Buffer ของ Google คุณต้องคอมไพล์จากซอร์ส ตอนนี้คุณสามารถติดตั้งได้อย่างง่ายดาย
sudo apt-get ติดตั้ง protobuf-compiler
เรียกใช้ protoc --version เมื่อเสร็จแล้ว คุณควรได้รับการตอบกลับของ libprotoc 3.6.1 หรือคล้ายกัน
ขั้นตอนที่ 5: ตั้งค่าโครงสร้างไดเรกทอรี 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]
ขอขอบคุณ, ฤทธิก