กลับไปหน้ารวมไฟล์
safe-or-not-prediction-with-machine-learning-model-ai-e2a6cd.md

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

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

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

title: "ปลอดภัยหรือเปล่า!? มาทายสถานะช้างด้วย AI กัน (งานง่ายแต่หล่อ)"
description: "โมเดล Machine Learning ที่เทพๆ สร้างด้วย Edge Impulse เอาไว้ตรวจจับว่าช้างอยู่ในสถานะปลอดภัยหรือไม่ปลอดภัย ใช้เซนเซอร์แล้วก็อินเตอร์รัพต์ให้ตึงๆ งานนี้จัดไปวัยรุ่น!"
author: "RucksikaaR"
category: ""
tags:
  - "sound"
  - "sensor"
  - "artificial intelligence"
  - "wildlife"
  - "machine learning"
views: 1362
likes: 1
price: 699
difficulty: "Intermediate"
components:
  - "1x Beacon, EZ-Light"
  - "1x SparkFun Simultaneous RFID Reader - M6E Nano"
  - "1x Arduino Nano 33 BLE Sense"
  - "1x UHF RFID Antenna"
tools: []
apps:
  - "1x Edge Impulse Studio"
downloadableFiles:
  - "https://github.com/RucksikaaR/Elephant-Audio-classification.git"
documentationLinks: []
passwordHash: "67f9d34c702a67e2d6c10cb4fe2289ba175241a2f1d18b3fe0e8b0d0c025801e"
encryptedPayload: "U2FsdGVkX1/jApbqhHpR/4XZG6oj6JAf2TgV2LJLbZsQGUlkUhnBc/eLqesL8wttZSI61rPeHgtB7EqlQEGyLEkv04OI9WXdfDgqLTVASaA="
seoDescription: "Detect elephant safety using a Machine Learning model and Edge Impulse on Arduino for effective wildlife monitoring."
videoLinks:
  - "https://www.youtube.com/embed/pu3MqtpEFuc"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/safe-or-not-prediction-with-machine-learning-model-ai-e2a6cd_cover.jpg"
lang: "en"