ชื่อโปรเจกต์: Crowd Informer
Introduction
ชีวิตเป็นปกติจนกระทั่งเกิดการระบาดใหญ่ของ COVID-19 นอกจากการสร้างความเสี่ยงสูงต่อสุขภาพกายแล้ว การระบาดใหญ่ยังส่งผลกระทบต่อสุขภาพจิตของผู้คนทั่วโลก และกระทบต่อชีวิตประจำวันของทุกคน เศรษฐกิจโลกชะลอตัวลงจากการระบาดใหญ่ครั้งนี้ และเกือบทุกอย่างกลายเป็นเรื่องยากสำหรับทุกคน โดยเฉพาะอย่างยิ่งผู้ที่อยู่ในพื้นที่เสี่ยงสูง
การควบคุมการแพร่กระจายของไวรัสเป็นสิ่งสำคัญอันดับแรกของนานาชาติ หลายประเทศได้รับผลกระทบจากคลื่นลูกแรกของการระบาดใหญ่ครั้งนี้ และการล็อกดาวน์เป็นวิธีหนึ่งในการควบคุมการแพร่กระจายในพื้นที่เสี่ยงสูง ผู้คนได้รับคำแนะนำให้สวม **masks** รักษาความสะอาดของมือ และปฏิบัติตามกฎการเว้นระยะห่างทางสังคม (**social distancing**) อีกวิธีหนึ่งในการป้องกันตนเองจากเชื้อไวรัสโคโรนาคือการหลีกเลี่ยงฝูงชน
ในประเทศของผม ศรีลังกา ตำรวจท้องถิ่นกำลังบังคับใช้กฎอย่างเคร่งครัดกับผู้ที่ไม่สวม **masks** และผู้ที่ละเมิดการเว้นระยะห่างทางสังคม และลงโทษผู้ละเมิด ในขณะที่มาตรการต่อต้านไวรัสอื่นๆ เช่น การล็อกดาวน์ ได้รับการผ่อนปรนเพื่อลดผลกระทบทางเศรษฐกิจ
ควรหลีกเลี่ยงการรวมกลุ่มกันของผู้คนในช่วงการระบาดใหญ่นี้ แม้ว่าผู้คนจะตระหนักถึงเรื่องนี้ แต่พวกเขาก็อาจลืมและรวมตัวกันในบางสถานที่ ซึ่งเพิ่มความเสี่ยงของการติดเชื้อ เพื่อป้องกันสิ่งนี้ ผมจึงเกิดแนวคิดในการสร้างระบบ **drone** อัตโนมัติเพื่อระบุสถานที่ที่มีผู้คนพลุกพล่าน และแบ่งปันตำแหน่งที่ตั้งกับตำรวจท้องถิ่น
Hardware Components

- HoverGames Drone Developer Kit (พร้อม Remote Controller)
- Telemetry radio
- Battery และ charger : 3S 3500-5000mAh XT60 LiPo
- Raspberry Pi 3 Model B
- Raspberry Pi Camera module
- Intel Neural Compute Stick 2
Software and OS
- PX4 Autopilot
- Raspberry Pi Raspbian
- Intel OpenVINO toolkit
Intel Neural Compute Stick 2 and OpenVINO Toolkit
สำหรับโปรเจกต์นี้ ผมจะใช้ Intel Neural Compute Stick 2 และ OpenVINO toolkit เพื่อช่วยให้ระบบ **drone** อัตโนมัติของผมตรวจจับฝูงชนได้ Intel Neural Compute Stick 2 มี Intel Movidius Myriad X VPU ซึ่งเป็นโปรเซสเซอร์แบบครบวงจรในตัว ที่มี **Neural Program Engine** อันทรงพลัง และ 16 **SHAVE cores** ซึ่งให้ประสิทธิภาพชั้นนำสำหรับการประยุกต์ใช้ **deep neural network interference**

Intel Neural Compute Stick 2 ที่รัน OpenVINO จะเชื่อมต่อกับ Raspberry Pi 3
คุณสามารถทำตาม คู่มือนี้ เพื่อติดตั้ง OpenVINO บนแพลตฟอร์ม Raspberry สำหรับใช้กับ Intel Neural Compute Stick 2.
Crowd detection with OpenVINO
ผมจะใช้ pre-trained object detection model ของ OpenVINO เพื่อพัฒนาซอฟต์แวร์ **deep learning** สำหรับตรวจจับผู้คน เราสามารถทำการเปลี่ยนแปลงเล็กน้อยใน **codes** เพื่อตรวจจับฝูงชน หากจำนวนคนที่ตรวจพบสูง **drone** ของเราจะระบุว่ากลุ่มนั้นเป็นฝูงชน
**Pre-trained Machine learning model** สามารถถูกฝึกให้เรียนรู้ความหลากหลายของร่างกายมนุษย์ เพื่อตรวจจับมนุษย์ใน **video streams**
Communication between FMU and Raspberry Pi
โปรดทำตาม คู่มือที่เป็นประโยชน์นี้ เพื่อเรียนรู้วิธีทำให้ **FMU** ของคุณสื่อสารกับ Raspberry Pi ของคุณ
GPS
**RDDRONE-FMUK66 flight management unit** เป็นรากฐานสำหรับการสร้าง **drones** หุ่นยนต์อุตสาหกรรม, **rovers**, และยานพาหนะอัตโนมัติขนาดเล็กอื่นๆ การออกแบบอ้างอิงนี้รัน PX4 ซึ่งเป็นมาตรฐานสำหรับ **drones** ระดับอุตสาหกรรม และให้คุณมีอิสระในการพัฒนายานพาหนะหุ่นยนต์ของคุณเอง
มันควบคุมและสั่งการการนำทางของยานพาหนะ และการตอบสนองแบบเรียลไทม์ต่อสภาพแวดล้อม สามารถปรับใช้ได้กับโครงสร้างอากาศยานและประเภทยานพาหนะหลายชนิด รวมถึงหุ่นยนต์บนบกและทางน้ำ มันดำเนินการ **sensor fusion** รวมถึง GPS และอินพุตตำแหน่งอื่นๆ สำหรับการนำทางอัตโนมัติไปยังจุดปฏิบัติภารกิจ แพลตฟอร์มแบบเปิดที่ขยายได้นี้รองรับ **sensors** เพิ่มเติมมากมาย
**GSM module** จะถูกเชื่อมต่อกับ Raspberry Pi เพื่อให้ทันทีที่ตรวจพบฝูงชน ตำแหน่ง **GPS** จะถูกบันทึกและแบ่งปันกับตำรวจท้องถิ่น
Future work
ระบบ **drone** อัตโนมัติคันนี้สามารถใช้เพื่อตรวจสอบฝูงชนและแจ้งเตือนตำรวจได้ ระบบนี้จะเป็นประโยชน์แม้หลังจากการระบาดใหญ่ และสามารถนำไปใช้ได้หลายวิธี เช่น การระบุการรวมกลุ่มกันมากเกินไป และการแจ้งเตือนผู้คนเกี่ยวกับฝูงชน
EXPANDED TECHNICAL DETAILS
Edge AI Analytics
Crowd Informer ทำหน้าที่เป็น smart monitoring node โดยใช้ Computer Vision
- Visual Intelligence: ระบบใช้กล้องที่รองรับ OpenCV และ OpenVINO toolkit เพื่อดำเนินการตรวจจับและนับจำนวนคนแบบเรียลไทม์บน Raspberry Pi หรือ SBC ประสิทธิภาพสูง
- Arduino Integration: ข้อมูลความหนาแน่นของฝูงชนที่ประมวลผลแล้วจะถูกส่งไปยัง Arduino ซึ่งจัดการส่วนประกอบตัวบ่งชี้ทางกายภาพ (เช่น RGB traffic lights หรือ dials ขนาดใหญ่)
Communication Protocol
- MAVLink / Telemetry: ในการติดตั้งแบบ drone-based หรือขนาดใหญ่ ข้อมูลจะถูกบรรจุลงใน MAVLink packets เพื่อการส่งผ่านที่เสถียรผ่านลิงก์วิทยุระยะไกล
- Public Information: เป้าหมายสุดท้ายคือการให้ข้อมูลตอบกลับด้วยภาพที่ไม่รบกวนแก่สาธารณะเกี่ยวกับระดับการเข้าใช้งาน ซึ่งช่วยในการจัดการการเว้นระยะห่างทางสังคม (social distancing) หรือเวลาคิวในพื้นที่เชิงพาณิชย์