Google ได้เปิดตัว MediaPipe โซลูชันด้าน Machine Learning บนอุปกรณ์แบบไม่ต้องเขียนโค้ด/เขียนโค้ดเพียงเล็กน้อยสำหรับ Raspberry Pi (และ iOS SDK) หลังจากเปิดตัวอย่างเป็นทางการในเดือนพฤษภาคมสำหรับ Android, เว็บ และ Python แต่โครงการนี้เริ่มต้นขึ้นมาหลายปี ที่เราเคยเขียนบทความเกี่ยวกับโครงการ MediaPipe ครั้งแรกในเดือนธันวาคม 2019
การพอร์ตเข้าสู่ Raspberry Pi เป็นการอัปเดต Python SDK และรองรับการจำแนกเสียง, การตรวจจับใบหน้า, การตรวจจับวัตถุ และการประมวลผลภาษาธรรมชาติต่างๆ
MediaPipe Solutions ประกอบด้วย 3 ส่วน:
- MediaPipe Tasks (low-code) เพื่อสร้างและปรับใช้ไปป์ไลน์โซลูชัน ML แบบ end-to-end ที่กำหนดเองโดยใช้ API และไลบรารีที่สามารถใช้ได้หลายแพลตฟอร์ม
- MediaPipe Model Maker (low-code) เพื่อสร้างโมเดล ML ที่กำหนดเอง
- MediaPipe Studio (no-code) เว็บเพจเพื่อสร้าง, ประเมิน, ดีบัก, เปรียบเทียบ สร้างต้นแบบ และปรับใช้โซลูชันระดับการผลิต คุณสามารถลองใช้ได้โดยตรงบนหน้าเว็บเบราว์เซอร์ของคุณ อPC และฉันสามารถทดสอบการตรวจจับวัตถุบน Ubuntu 22.04 ได้อย่างรวดเร็ว
MediaPipe Tasks สามารถติดตั้งได้ง่ายดายด้วย pip บนระบบปฏิบัติการ Raspberry Pi:
1 |
python -m pip install mediapipe |
คุณจะพบตัวอย่างสำหรับ Raspberry Pi และแพลตฟอร์มอื่นๆบน GitHub เพียงป้อนไดเร็กทอรีใดที่ให้มา และถ้า Raspberry Pi อยู่ในรายการแสดงว่าคุณโชคดี..
ตัวอย่างบางส่วน เช่น face_detector ไม่รองรับโดย Raspberry Pi ในขณะที่เขียน, แต่มีหลายตัวที่รองรับ เช่น face_landmarker และ object_detection
การติดตั้งและรันตัวอย่างบนบอร์ด Raspberry Piที่มีกล้องทางการหรือกล้อง USB ค่อนข้างง่ายดาย:
1 2 3 4 |
git clone https://github.com/googlesamples/mediapipe/ cd mediapipe/examples/object_detection/raspberry_pi sh setup.sh python3 detect.py --model efficientdet_lite0.tflite |
สคริปต์การตั้งค่ารันคำสั่ง pip เพื่อติดตั้ง mediapipe ดังนั้นบรรทัดคำสั่งแรกในโพสต์นี้จึงไม่จำเป็น…
ขณะที่โปรแกรมรัน คุณจะเห็นบล็อกรอบๆ วัตถุที่ตรวจจับได้พร้อมชื่อ (persons/cup) และค่าความเชื่อมั่นเป็นเปอร์เซ็นต์ หมายเหตุอัตราเฟรมต่อวินาทีค่อนข้างต่ำบนฮาร์ดแวร์ Raspberry Pi ที่ประมาณ 2 fps โปรแกรมสามารถรันด้วยตัวเลือกเพื่อจำกัดจำนวนวัตถุที่ตรวจจับได้และตั้งค่าเกณฑ์การตรวจจับ:
1 2 3 4 |
python3 detect.py \ --model efficientdet_lite0.tflite \ --maxResults 5 \ --scoreThreshold 0.3 |
“Low-code” ในที่นี้หมายถึงประมาณ 150 บรรทัดเพื่อรันการตรวจหาวัตถุ
สามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับ MediaPipe Solutions ได้บยเว็บไซต์ Google สำหรับนักพัฒนา และในประกาศที่ให้รายละเอียดเพิ่มเติมเกี่ยวกับโค้ด Python สำหรับการตรวจจับวัตถุที่ทำงานบน Raspberry Pi
แปลจากบทความภาษาอังกฤษ : MediaPipe for Raspberry Pi released – No-code/low-code on-device machine learning solutions
บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT