กลับไปหน้ารวมไฟล์
ml-model-to-differentiate-between-humans-and-elephants-07e99b.md

ช้างเป็นสัตว์เลี้ยงลูกด้วยนมบนบกที่ใหญ่ที่สุด และเป็นสัตว์ที่อ่อนไหวและเอาใจใส่ เหมือนกับมนุษย์มากๆ พวกมันเป็นสัตว์ที่ฉลาดมาก มีอารมณ์ซับซ้อน ความรู้สึก ความเห็นอกเห็นใจ และการรู้จักตัวเอง (ช้างเป็นหนึ่งในไม่กี่สายพันธุ์ที่สามารถจดจำตัวเองในกระจกได้นะ!) พวกมันรับเสียงคำรามผ่านเท้า และสามารถได้ยินการสื่อสารความถี่ต่ำในระยะไกลผ่านการสั่นสะเทือนที่ส่งผ่านเท้าขึ้นไปถึงหู เช่นเดียวกับมนุษย์ ช้างก็โศกเศร้าเมื่อสูญเสียคนรัก และช้างนั้น...จำแม่นมาก!

แต่สิ่งมีชีวิตที่น่าทึ่งเหล่านี้กำลังตกอยู่ในอันตรายอย่างรุนแรง จากที่เคยพบเห็นได้ทั่วไปทั่วยุคอาฟริกาและเอเชีย จำนวนช้างลดลงอย่างฮวบฮาบในศตวรรษที่ 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

กระบวนการตรวจจับที่ขับเคลื่อนด้วยระยะใกล้ถูกออกแบบมาให้ใช้ง่ายสุดๆ:

  1. เตรียมพื้นที่ทำงาน: วาง Nano BLE และแบตเตอรี่ของคุณให้ถูกต้องในกล่องกันน้ำ แล้วเชื่อมต่อมันกับต้นไม้/จุดติดตั้งให้เรียบร้อย
  2. ตั้งค่า High-Speed Sync: ใน Edge Impulse Studio ให้เริ่มต้น Classifier-Model และกำหนดหน้าต่างเสียงในฟังก์ชัน setup()
  3. ลูปการทำงานภายใน: สถานีจะทำการตรวจสอบสัญญาณเป็นระยะๆ ด้วยประสิทธิภาพสูง และอัปเดตสถานะการตรวจจับแบบเรียลไทม์ตามตำแหน่งและการตั้งค่าของคุณ
  4. รวมการตอบรับภาพและข้อมูล: ดูให้ดีนะ บีคอนของคุณจะกลายเป็นสัญญาณแสดงสถานะที่มีจังหวะ พัลส์และติดตามการตั้งค่าตำแหน่งจากทุกจุดในห้องโดยอัตโนมัติ

ไอเดียสุดท้ายแบบจัดเต็ม

เพื่อให้มันตื่นเต้นและได้ผลดีขึ้น เราสามารถฝังไมโครชิป 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:

ข้อมูล Frontmatter ดั้งเดิม

title: "โมเดล ML จัดการแยกคนกับช้าง งานง่ายแต่หล่อ!"
description: "ใช้โมเดลเทพๆ ตัวนี้แยกมนุษย์กับช้างได้ชัดเจน ตึงๆ ไว้ตรวจจับการลักลอบล่าและป้องกันความขัดแย้งระหว่างคนกับช้าง งานนี้ทั้งช่วยสัตว์ป่าและเท่ห์สุดๆ วัยรุ่นสายช่างต้องลองจัดไป!"
author: "RucksikaaR"
category: ""
tags:
  - "sound"
  - "animals"
  - "artificial intelligence"
  - "wildlife"
  - "machine learning"
views: 896
likes: 1
price: 299
difficulty: "Intermediate"
components:
  - "1x Arduino Nano 33 BLE Sense"
  - "1x SparkFun Simultaneous RFID Reader - M6E Nano"
  - "1x Beacon, EZ-Light"
  - "1x UHF RFID Antenna"
tools: []
apps:
  - "1x Edge Impulse Studio"
downloadableFiles:
  - "https://github.com/RucksikaaR/Elephant-Human-Differentiation.git"
documentationLinks: []
passwordHash: "96be3542b1997b82c5f92ca620baa326bce38872f498b953ffe429454e99e6d3"
encryptedPayload: "U2FsdGVkX1+NqKLEuUJqg9uBvdNRSxQL/FWzowiXoppjhtUNHRl6+t72qb9DgU4G9Nedz3e648ZPTpXgTHMlot2ms4ZwaDuUGDcu+l902Uo="
seoDescription: "ML Model to differentiate Humans and Elephants for poaching detection and conflict prevention using AI and sensor technology."
videoLinks:
  - "https://www.youtube.com/embed/ZyhtvXg4_SI"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/ml-model-to-differentiate-between-humans-and-elephants-07e99b_cover.jpg"
lang: "en"