ช้างเป็นสัตว์เลี้ยงลูกด้วยนมบนบกที่ใหญ่ที่สุด และเป็นสัตว์ที่อ่อนไหวและเอาใจใส่ เหมือนกับมนุษย์มากๆ พวกมันเป็นสัตว์ที่ฉลาดมาก มีอารมณ์ซับซ้อน ความรู้สึก ความเห็นอกเห็นใจ และการรู้จักตัวเอง (ช้างเป็นหนึ่งในไม่กี่สายพันธุ์ที่สามารถจดจำตัวเองในกระจกได้นะ!) พวกมันรับเสียงคำรามผ่านเท้า และสามารถได้ยินการสื่อสารความถี่ต่ำในระยะไกลผ่านการสั่นสะเทือนที่ส่งผ่านเท้าขึ้นไปถึงหู เช่นเดียวกับมนุษย์ ช้างก็โศกเศร้าเมื่อสูญเสียคนรัก และช้างนั้น...จำแม่นมาก!
แต่สิ่งมีชีวิตที่น่าทึ่งเหล่านี้กำลังตกอยู่ในอันตรายอย่างรุนแรง จากที่เคยพบเห็นได้ทั่วไปทั่วยุคอาฟริกาและเอเชีย จำนวนช้างลดลงอย่างฮวบฮาบในศตวรรษที่ 19 และ 20 ส่วนใหญ่เนื่องมาจากการค้างาช้างและการสูญเสียที่อยู่อาศัย แม้ว่าปัจจุบันประชากรบางส่วนจะเริ่มคงที่ แต่การลักลอบล่าสัตว์ ความขัดแย้งระหว่างมนุษย์กับสัตว์ป่า และการทำลายที่อยู่อาศัยยังคงคุกคามสายพันธุ์นี้อยู่
ประชากรช้างแอฟริกันลดลงจากประมาณ 12 ล้านตัวเมื่อศตวรรษที่แล้ว เหลือเพียงประมาณ 400,000 ตัว ในช่วงไม่กี่ปีที่ผ่านมา มีช้างอย่างน้อย 20,000 ตัวในแอฟริกาถูกฆ่าในแต่ละปีเพื่อเอางา ช้างป่าแอฟริกันได้รับผลกระทบรุนแรงที่สุด ประชากรของพวกมันลดลง 62% ระหว่างปี 2002-2011 และสูญเสียพื้นที่อาศัยทางภูมิศาสตร์ไป 30% ส่วนช้างสะวันนาแอฟริกันลดลง 30% ระหว่างปี 2007-2014 การลดลงอย่างรวดเร็วนี้ยังคงดำเนินต่อไปและเร่งตัวขึ้น โดยสูญเสียสะสมสูงถึง 90% ในบางพื้นที่ระหว่างปี 2011 ถึง 2015 ปัจจุบัน ภัยคุกคามที่ใหญ่ที่สุดสำหรับช้างแอฟริกันคืออาชญากรรมสัตว์ป่า โดยหลักคือการลักลอบล่าเพื่อการค้างาช้างผิดกฎหมาย ในขณะที่ภัยคุกคามที่ใหญ่ที่สุดสำหรับช้างเอเชียคือการสูญเสียที่อยู่อาศัย ซึ่งนำไปสู่ความขัดแย้งระหว่างมนุษย์กับช้าง
Edge Impulse
Edge Impulse ช่วยให้นักพัฒนาสามารถสร้างโซลูชันอุปกรณ์อัจฉริยะรุ่นต่อไปด้วยแมชชีนเลิร์นนิงแบบฝังตัว (embedded machine learning) ในโปรเจคนี้ เราจะสร้างโมเดลแมชชีนเลิร์นนิงด้วยความช่วยเหลือจาก Edge Impulse โดยใช้ชุดข้อมูลบางส่วน เราจะฝึกโมเดลให้แยกแยะระหว่างมนุษย์กับช้าง

มุมมองของโปรเจค
โมเดล ML เพื่อแยกแยะระหว่างมนุษย์และช้าง เป็นการสำรวจเทคโนโลยีการอนุรักษ์และปฏิสัมพันธ์ของ AI ที่ซับซ้อน โดยมุ่งเน้นไปที่บล็อกพื้นฐานที่สำคัญ—การแมป acoustic-spectrogram-to-class-label และ high-performance Edge-AI-dispatch and neural-sync logic ของคุณ—คุณจะได้เรียนรู้วิธีการสื่อสารและซิงโครไนซ์งานการปกป้องสัตว์ป่าของคุณโดยใช้ลอจิกซอฟต์แวร์เฉพาะทางและการตั้งค่าที่มีประสิทธิภาพสูง
การนำไปใช้ทางเทคนิค: สเปกโตรแกรมเสียงและบัฟเฟอร์ประสาท
โปรเจคนี้เผยให้เห็นเลเยอร์ที่ซ่อนอยู่ของการโต้ตอบระหว่างการตรวจจับแบบง่ายๆ ไปจนถึงการอนุรักษ์:
- เลเยอร์ระบุตัวตน: ไมโครโฟน MP34DT05 บนบอร์ด ทำหน้าที่เป็นดวงตาด้านเสียงความละเอียดสูง วัดทุกจุดของคลื่นเสียงรอบตัวเพื่อประสานงานการส่งข้อมูลของระบบ
- เลเยอร์แปลงสัญญาณ: ระบบใช้โปรโตคอลดิจิทัลความเร็วสูง (PDM) เพื่อรับแพ็กเก็ตเสียงความเร็วสูง เพื่อประสานงานงานตรวจจับที่สำคัญต่อภารกิจ
- เลเยอร์อินเทอร์เฟซการอนุรักษ์: ไฟสัญญาณ / แท็ก RFID ให้แดชบอร์ดภาพและข้อมูลความละเอียดสูงสำหรับการตรวจสอบสถานะการแจ้งเตือนทุกครั้ง (เช่น มีช้างอยู่ใกล้ๆ, มีมนุษย์/ภัยคุกคาม!)
- เลเยอร์เกตเวย์การสื่อสาร: Edge Impulse SDK ให้การส่งข้อมูลด้วยตนเองหรือการตรวจสอบสถานะการซิงค์โมเดลอัตโนมัติระหว่างการปรับเทียบเริ่มต้น เพื่อประสานสถานะ
- ลอจิกการประมวลผล: โค้ดเซิร์ฟเวอร์ใช้กลยุทธ์ "neural-inference-dispatch" (หรือ ml-dispatch): มันตีความเสียงออดิโอแบบเรียลไทม์และจับคู่ป้ายกำกับการจำแนกประเภท เพื่อให้การตรวจสอบสัตว์ป่าที่ปลอดภัยและเป็นจังหวะ
- ลูปการสื่อสารแบบไดอะล็อก: โค้ดโน๊ตจะถูกส่งเป็นจังหวะไปยัง Serial Monitor ในระหว่างการปรับเทียบเริ่มต้นเพื่อประสานสถานะ
ฮาร์ดแวร์และโครงสร้างพื้นฐาน AI
- Arduino Nano 33 BLE Sense: ตัว "สมอง" ของโปรเจคนี้ จัดการการเก็บเสียงจากหลายทิศทางและประสานงานระหว่าง ML กับการแจ้งเตือน
- Edge Impulse Core: ให้ "ลิงค์ตรรกะ" ที่ชัดเจนและน่าเชื่อถือสำหรับทุกจุดในการประเมิน AI
- ไมโครโฟนความไวสูง: ให้อินเตอร์เฟซทางกายภาพที่ทรงพลังและน่าเชื่อถือสำหรับทุก "ภารกิจสำรวจสัตว์ป่า" ครั้งแรกที่สำเร็จ
- พลังงานจากแบตเตอรี่ LiPo: สำคัญมากสำหรับการให้พลังงานที่ชัดเจนและประหยัดสำหรับทุกจุดในการทำงานภาคสนามระยะไกล
- EZ-Light Beacon: สำคัญสำหรับการให้เส้นทางสัญญาณดิจิทัลที่ชัดเจนและประหยัดพลังงานสำหรับทุกจุดในอาร์เรย์เซนเซอร์ข้อมูลของเรา
- สาย Micro-USB: ใช้สำหรับโปรแกรม Arduino ของเราและเป็นอินเตอร์เฟซหลักสำหรับตัวควบคุมระบบ
ขั้นตอนที่ 01: เก็บข้อมูล
พี่ไม่ได้ใช้อุปกรณ์อะไรไปจับเสียงจริงๆ นะ น้อง แต่ว่าพี่สร้างชุดข้อมูลสำหรับฝึกและทดสอบขึ้นมาเองโดยใช้เสียงจากฐานข้อมูล Elephant Voices กับในยูทูปนี่แหละ พี่แบ่งตัวอย่างเสียงเพื่อเลี่ยงเสียงรบกวนและเพิ่มความแม่นยำให้โมเดล
พี่สร้างชุดข้อมูลโดยแบ่งเป็น 2 หมวดคือ เสียงช้าง กับ เสียงคน

ขั้นตอนที่ 02: สร้างอิมพัลส์
หลังจากสร้างชุดข้อมูลฝึกสอนแล้ว ก็ถึงเวลาออกแบบอิมพัลส์ อิมพัลส์จะรับข้อมูลดิบเข้ามา ตัดแบ่งเป็นหน้าต่างย่อยๆ ใช้บล็อกประมวลผลสัญญาณเพื่อดึงคุณลักษณะสำคัญออกมา แล้วก็ส่งต่อให้บล็อกการเรียนรู้เพื่อใช้จำแนกข้อมูลใหม่ บล็อกประมวลผลสัญญาณจะให้ผลลัพธ์เดิมเสมอถ้าได้รับอินพุตเดิม ใช้เพื่อทำให้ข้อมูลดิบง่ายต่อการประมวล ส่วนบล็อกการเรียนรู้จะเรียนรู้จากประสบการณ์ในอดีต
สำหรับโปรเจคนี้ เราจะใช้บล็อกประมวลผลสัญญาณ "MFCC" ซึ่งจะดึงคุณลักษณะจากสัญญาณเสียงโดยใช้ค่าสัมประสิทธิ์ Mel Frequency Cepstral
จากนั้นก็ส่งข้อมูลเสียงที่ถูกทำให้เรียบง่ายนี้เข้าไปในบล็อก Neural Network ซึ่งจะเรียนรู้แพทเทิร์นจากข้อมูล และสามารถนำไปใช้กับข้อมูลใหม่เพื่อจำแนกประเภทได้ เจ๋งมากสำหรับการจัดหมวดหมู่การเคลื่อนไหวหรือการจดจำเสียง

ขั้นตอนที่ 03: ตั้งค่า MFCC
ตอนตั้งค่า ห้ามเปลี่ยนพารามิเตอร์เริ่มต้นนะตัวนี้ ปล่อยไว้ตามเดิมโลด

เลื่อนลงมาข้างล่างแล้วกดปุ่ม 'Save parameters' มันจะพาเราไปที่หน้า 'Generate Features' อัตโนมัติ

ฟีเจอร์เอ็กซ์พลอเรอร์จะแสดงภาพ visualization ของ MFCC ที่สร้างขึ้นมาให้เราดู

ขั้นตอนที่ 04: ตั้งค่า Neural Network
เอาล่ะ ถึงเวลาจัดหนักกับ Neural Network แล้วไอ้น้อง! Neural Network มันคืออัลกอริทึมที่เลียนแบบการทำงานของสมองมนุษย์คร่าวๆ มันสามารถเรียนรู้เพื่อจดจำรูปแบบ (Pattern) ที่ปรากฏในข้อมูลที่ใช้ฝึกมันได้ เครือข่ายที่เรากำลังจะฝึกนี้จะรับค่า MFCC เป็นอินพุต แล้วพยายามแมปมันไปยังหนึ่งในสองคลาสที่เรามี นั่นคือ "ช้าง" กับ "อันตราย"

พี่ต้องฝึกโมเดลหลายรอบเลยนะ เปลี่ยนๆ ค่าผสมกันไป ทั้งจำนวนรอบการฝึก (training cycles) และโครงสร้างพื้นฐานของ Neural Network (architecture presets)
ความแม่นยำของโมเดล Machine Learning ตัวนี้สามารถพัฒนาให้ดีขึ้นได้ด้วยการเก็บข้อมูลเพิ่ม และเราต้องมีข้อมูลอย่างน้อย 10 นาทีสำหรับแต่ละป้ายกำกับ (label) นะ รู้ไว้!

ขั้นตอนที่ 04: ทดสอบโมเดล
มาดูว่าโมเดลเราพร้อมรบแค่ไหนด้วยการทดสอบโมเดลนี้เลย พี่ทดสอบไป 8 ตัวอย่าง โมเดลพี่จับได้ 5 อัน ถ้ามีข้อมูลภายใต้แต่ละป้ายกำกับเยอะกว่านี้ โมเดล ML ตัวนี้คงจะแม่นยำกว่านี้แน่นอน

ขั้นตอนที่ 05: ดีพลอย!
โมเดล ML ของเราพร้อมออกสู่สนามรบแล้วจ้า การดีพลอยนี้ทำให้โมเดลทำงานได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต ลดความหน่วง (latency) และกินพลังงานน้อยสุดๆ น้องสามารถสร้างเป็นไลบรารีหรือบิลด์เฟิร์มแวร์สำหรับบอร์ดพัฒนาของน้องได้เลย
พี่ได้แปลงโมเดลการจำแนกเสียงของพี่ให้เป็นซอร์สโค้ดที่ถูกออปติไมซ์แล้ว ซึ่งสามารถรันบนอุปกรณ์ใดๆ ก็ได้
อุปกรณ์นี้สามารถต่อเข้ากับปลอกคอช้างและนำไปใช้เพื่อป้องกันอันตรายและภัยคุกคามต่อประชากรช้างที่กำลังลดลงได้
ขั้นตอนการทำงานอัตโนมัติและโต้ตอบของ Conservation Hub
กระบวนการตรวจจับที่ขับเคลื่อนด้วยระยะใกล้ถูกออกแบบมาให้ใช้ง่ายสุดๆ:
- เตรียมพื้นที่ทำงาน: วาง Nano BLE และแบตเตอรี่ของคุณให้ถูกต้องในกล่องกันน้ำ แล้วเชื่อมต่อมันกับต้นไม้/จุดติดตั้งให้เรียบร้อย
- ตั้งค่า High-Speed Sync: ใน Edge Impulse Studio ให้เริ่มต้น
Classifier-Modelและกำหนดหน้าต่างเสียงในฟังก์ชันsetup() - ลูปการทำงานภายใน: สถานีจะทำการตรวจสอบสัญญาณเป็นระยะๆ ด้วยประสิทธิภาพสูง และอัปเดตสถานะการตรวจจับแบบเรียลไทม์ตามตำแหน่งและการตั้งค่าของคุณ
- รวมการตอบรับภาพและข้อมูล: ดูให้ดีนะ บีคอนของคุณจะกลายเป็นสัญญาณแสดงสถานะที่มีจังหวะ พัลส์และติดตามการตั้งค่าตำแหน่งจากทุกจุดในห้องโดยอัตโนมัติ
ไอเดียสุดท้ายแบบจัดเต็ม
เพื่อให้มันตื่นเต้นและได้ผลดีขึ้น เราสามารถฝังไมโครชิป RFID ไว้ที่ปลอกคอช้าง หรือติดแท็ก RFID แบบพาสซีฟไว้ที่ใบหูช้างก็ได้ ช้างแต่ละตัวจะมี ID เป็นของตัวเอง และด้วยความช่วยเหลือของเสาอากาศย่านความถี่สูงพิเศษ (Ultra High Frequency) กับ [Sparkfun's simultaneous RFID readers] เราก็จะสามารถตรวจจับได้ว่าช้างอยู่ในระยะที่ปลอดภัยจากพื้นที่เสี่ยงต่อการล่าหรือพื้นที่ที่คนอาศัยอยู่หรือเปล่า ตัวอ่าน RFID แบบ Simultaneous เนี่ยมันอ่านแท็กหลายอันพร้อมกันได้เลยนะ ถ้าช้างเริ่มเข้ามาใกล้ ตัวอ่าน RFID ก็จะตรวจจับได้ เพราะมันคำนวณระยะห่างระหว่างแท็ก RFID นั้นกับตัวอ่านได้ ถ้าช้างตกอยู่ในความเสี่ยง เจ้าหน้าที่อุทยานหรือป่าไม้ก็จะได้ลงมือทำอะไรสักอย่างได้ทัน
เราสามารถเชื่อมต่อตัวอ่าน RFID เข้ากับไมโครคอนโทรลเลอร์ได้ โดยวางห่างจากพื้นที่ชุมชนหรือพื้นที่ที่มีการล่าสัตว์สูงประมาณ 1-2 กิโลเมตร ถ้าระบบตรวจจับว่ามีช้างกำลังเข้ามาใกล้ ไมโครคอนโทรลเลอร์ที่เราตั้งโปรแกรมไว้ก็จะสั่งให้เปิดไฟสัญญาณ (beacon light) และแจ้งเตือนผู้คนในพื้นที่นั้นโดยอัตโนมัติ
วิธีนี้ยังมีประโยชน์อีกนะ ถ้าโมเดล Machine Learning มันดันแยกแยะเสียงจากไมโครโฟนในปลอกคอไม่ออก หรือถ้าแบตเตอรี่ของปลอกคอหมด หรือแม้แต่ระบบมันทำงานผิดพลาดขึ้นมา
แผนขยายในอนาคต
- OLED Identity Dashboard Integration: ใส่จอ OLED ขนาดเล็กบนตัวกล่องเพื่อแสดง "ความมั่นใจ (%)" หรือ "แบตเตอรี่ (%)"
- Multi-sensor Climate Sync Synchronization: เชื่อมต่อ "บลูทูธ ทรัคเกอร์" พิเศษเพื่อทำ "การเรียกหาแบบโลคอล" ที่แม่นยำสูงผ่านระบบคลาวด์แบบไร้สาย
- Cloud Interface Registration Support Synchronization: เพิ่มแดชบอร์ดเว็บพิเศษบนสมาร์ทโฟนผ่าน WiFi/BT เพื่อติดตามและบันทึกประวัติทั้งหมดอย่างแม่นยำ
- Advanced Velocity Profile Customization Support: เพิ่ม "Machine Learning (vCore)" พิเศษลงในโค้ด เพื่อให้ทริกเกอร์เปลี่ยนค่าได้อัตโนมัติตามความสูงของผู้ใช้!
โปรเจค Wildlife ML Differentiator นี้คือโปรเจคสุดปังสำหรับสายวิทย์คนไหนก็ตามที่กำลังมองหาเครื่องมือ AI ที่โต้ตอบได้และน่าสนใจ!
[!IMPORTANT] โมเดล ML ต้องการ การแมปคุณลักษณะเสียง (Audio feature mapping) ที่แม่นยำ (เช่น สำหรับ MFE vs MFE-v2) ในการตั้งค่า เพื่อให้การจำแนกประเภทสัตว์ป่าเชื่อถือได้ อย่าลืมใส่ ฟลัก Fail-Safe ที่เหมาะสมในลูปด้วยนะ ถ้าบัสอนุกรม (serial bus) โอเวอร์โหลดขึ้นมา!
อ้างอิง
- Arapahoe Libraries:
- World Wildlife Fund (WWF):
- World Wildlife Fund (WWF) - Elephant:
- Edge Impulse - Getting started:
- Edge Impulse - Recognise sounds from audio: