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

การนำไปใช้ทางเทคนิค: แมชชีนเลิร์นนิงและเซ็นเซอร์
โปรเจคนี้เผยให้เห็นเลเยอร์ที่ซ่อนอยู่ของการโต้ตอบระหว่างอันตรายง่ายๆ กับ AI:
- เลเยอร์รับรู้: เซ็นเซอร์หลักคือไมโครโฟน ทำหน้าที่เป็น "หู" ของโปรเจค รวบรวมสตรีมข้อมูลเสียงอย่างต่อเนื่องจากสิ่งแวดล้อมของช้าง
- เลเยอร์อนุมาน: Arduino ใช้ โมเดลแมชชีนเลิร์นนิง (TinyML) ที่ฝึกไว้ล่วงหน้าเพื่อวิเคราะห์รูปแบบเสียงและจัดประเภทเป็น "ปลอดภัย" หรือ "อันตราย"
- เลเยอร์ลอจิกประมวลผล: โค้ด Arduino ใช้กลยุทธ์ "อนุมาน" เฉพาะทาง: มันจับตัวอย่างเสียงและส่งเข้าไปในโมเดล AI ที่เก็บไว้ในตัวอุปกรณ์
- เลเยอร์แปลงผล: โมเดล AI แสดงผลความน่าจะเป็น (เช่น ปลอดภัย 90%, อันตราย 10%) ซึ่ง Arduino ใช้เพื่อกระตุ้นการแจ้งเตือน
- เลเยอร์แสดงผล/แจ้งเตือน: ระบบสามารถเชื่อมต่อกับกลไกการแจ้งเตือน เช่น ไฟสัญญาณหรือสัญญาณวิทยุ เพื่อเตือนเจ้าหน้าที่พิทักษ์ป่าถึงอันตรายที่อาจเกิดขึ้น
ขั้นตอนที่ 01: หาข้อมูลมาให้พี่ (Acquire Data)
พี่ไม่ได้ใช้อุปกรณ์อะไรมาเก็บข้อมูลเลยนะน้อง แต่พี่สร้างชุดข้อมูลสำหรับฝึก (training) และทดสอบ (test) ขึ้นมาจากเสียงช้างใน Elephant Voices database กับในยูทูปนี่แหละ พี่แยกเสียงตัวอย่างออกจากเสียงรบกวน (noise) เพื่อให้โมเดลของเราทำงานแม่นยำขึ้น
พี่สร้างชุดข้อมูลโดยแบ่งเป็น 2 หมวด (labels) คือ Safe (ปลอดภัย) กับ Danger (อันตราย)


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

ขั้นตอนที่ 03: ตั้งค่า MFCC
ขั้นตอนนี้ง่ายมาก น้องห้ามไปยุ่งกับค่าตั้งต้น (default parameters) เด็ดขาด! ปล่อยมันไว้เหมือนเดิมเลย


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

เจ้า Feature explorer จะแสดงภาพ visualization ของ MFCC ที่สร้างขึ้นมาให้ดู

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

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


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

ขั้นตอนที่ 05: ดีพลอยโมเดล
โมเดลเราพร้อมลุยแล้ว! ขั้นตอนนี้คือการทำให้โมเดลของเราวิ่งอยู่บนอุปกรณ์ได้เองโดยไม่ต้องพึ่งเน็ต (Edge Deployment) ข้อดีคือทำงานเร็ว ล่าช้าต่ำ และประหยัดพลังงานมากกก พี่น้องสามารถแปลงโมเดลเป็นไลบรารีหรือเฟิร์มแวร์สำหรับบอร์ดที่ใช้ได้เลย
อย่างของพี่ แปลงโมเดล Audio Classification เป็นโค้ดที่ออปติไมซ์แล้ว เอาไปรันบนอุปกรณ์ไหนก็ได้ ตัวอย่างเช่น Arduino Nano 33 BLE sense
อุปกรณ์นี่แหละที่เราจะเอาไปติดกับปลอกคอช้าง เพื่อช่วยป้องกันภัยคุกคามให้กับเพื่อนตัวใหญ่ที่ใกล้สูญพันธุ์ของเรา
อุปกรณ์ฮาร์ดแวร์ที่ใช้
- Arduino Nano 33 BLE Sense: ตัว "สมอง" AI ขนาดจิ๋วของโปรเจค คอยจัดการการประมวลผลโมเดลและประสานงานเซนเซอร์ต่างๆ ไมโครโฟนในตัวมันสำคัญมากสำหรับงานเกี่ยวกับเสียงแบบนี้
- ปลอกคอช้าง: เป็นที่ติดตั้งไมโครคอนโทรลเลอร์และแหล่งจ่ายไฟ ให้ระบบทำงานบนตัวช้างได้
- ระบบแจ้งเตือน: อาจจะเป็นไฟสัญญาณ วิทยุส่งสัญญาณ หรือกลไกอื่นๆ เพื่อเตือนเจ้าหน้าที่เมื่อโมเดลตรวจจับเสียง "อันตราย"
- เบรดบอร์ด & จัมเปอร์ไวร์: ใช้สำหรับต่อวงจรตอนพัฒนาโปรเจค
- สาย Micro-USB: ใช้โปรแกรม Arduino และจ่ายไฟระหว่างพัฒนางาน
ไอเดียสุดท้ายแบบจัดเต็ม
เพื่อให้งานนี้เจ๋งและได้ผลจริง เราสามารถเพิ่ม ไมโครชิป RFID เข้าไปในปลอกคอช้าง หรือติดแท็ก RFID แบบพาสซีฟที่หูช้างได้ แต่ละช้างจะมี ID เป็นของตัวเอง และด้วยความช่วยเหลือของเสาอากาศความถี่สูงมาก (UHF) และเครื่องอ่าน RFID แบบอ่านพร้อมกันหลายแท็กได้ เราจะสามารถตรวจจับได้ว่าช้างอยู่ในระยะที่ปลอดภัยจากพื้นที่เสี่ยงหรือพื้นที่อยู่อาศัยของมนุษย์หรือไม่ เครื่องอ่าน RFID แบบ Simultaneous นี่อ่านแท็กหลายอันพร้อมกันได้เลยนะ ถ้าช้างเริ่มเข้าใกล้เกินไป ระบบจะคำนวณระยะห่างระหว่างแท็กกับเครื่องอ่านได้ และถ้าช้างตกอยู่ในความเสี่ยง เจ้าหน้าที่ป่าไม้หรืออุทยานก็สามารถดำเนินการที่เหมาะสมได้ทันที
เราสามารถเชื่อมต่อเครื่องอ่าน RFID เข้ากับไมโครคอนโทรลเลอร์ได้ โดยวางห่างจากพื้นที่ชุมชนหรือพื้นที่เสี่ยงประมาณ 1-2 กม. ถ้าระบบตรวจจับว่าช้างกำลังเข้ามาใกล้ ไมโครคอนโทรลเลอร์ที่โปรแกรมไว้จะสั่งเปิดไฟสัญญาณและแจ้งเตือนผู้คนในพื้นที่โดยอัตโนมัติ
ระบบเสริมแบบนี้จะมีประโยชน์มากถ้าเกิดโมเดล Machine Learning ของเราจับเสียงจากไมโครโฟนในปลอกคอไม่สำเร็จ หรือถ้าแบตเตอรี่ของปลอกคอหมด หรืออุปกรณ์เกิดขัดข้องขึ้นมา
อนาคตที่รออยู่ (Future Expansion)
- การรวมข้อมูลจากเซ็นเซอร์หลายตัว (Multi-sensor Data Fusion): เอาตัวอื่นๆ เข้ามาช่วยด้วย เช่น GPS เพื่อติดตามตำแหน่ง หรือ Accelerometer เพื่อตรวจจับการเคลื่อนไหวที่ผิดปกติ (แบบตกใจหรือหนี) แล้วโยนข้อมูลทั้งหมดให้ AI โมเดลตัวใหม่ที่ฉลาดขึ้นมาวิเคราะห์ เพื่อความแม่นยำที่จัดเต็มกว่าเดิม
- อินเทอร์เฟสคลาวด์และบันทึกข้อมูล (Cloud Interface & Logging): เติม LoRa หรือโมดูล Cellular เข้าไป เพื่อส่งสัญญาณเตือนและข้อมูลเหตุการณ์ "อันตราย" ขึ้นไปเก็บบนคลาวด์ ให้เราสามารถดูแดชบอร์ดจากที่ไหนก็ได้ และวิเคราะห์ข้อมูลย้อนหลังได้ด้วย สะดวกจัดๆ
- การจัดการพลังงานขั้นสูง (Advanced Power Management): ใส่ระบบชาร์จพลังงานแสงอาทิตย์ให้แบตเตอรี่ของปลอกคอ เพื่อให้ใช้งานในพื้นที่จริงได้ยาวๆ แบบยั่งยืน ไม่ต้องคอยเปลี่ยนแบตบ่อย
- เครือข่ายแจ้งเตือนชุมชน (Community Alert Networks): ขยายระบบรั้วเสมือน (RFID-based perimeter) ให้เป็นเครือข่ายใหญ่ขึ้น สร้างระบบแจ้งเตือนอัตโนมัติผ่าน SMS หรือวิทยุให้กับคนในหมู่บ้านเมื่อช้างเริ่มเข้าใกล้พื้นที่เกษตรกรรม ช่วยลดความขัดแย้งระหว่างคนกับช้างได้อีกเยอะ
อ้างอิง (Reference)
- Arapahoe Libraries
- World Wildlife Fund (WWF)
- World Wildlife Fund (WWF) - Elephant
- Edge Impulse - Getting started
- Edge Impulse - Recognise sounds from audio