โปรเจกต์ ทำนาย Air Pollution ด้วย Computer Vision
ฉันสร้างระบบ AI ต้นทุนต่ำที่ทำนาย Air Quality จากภาพถ่ายเพียงใบเดียว โปรเจกต์นี้แสดงให้เห็นว่า AI on the edge ช่วยให้การทำ Environmental Monitoring มีราคาประหยัด ปรับขยายได้ และทุกคนเข้าถึงได้
ฉันสร้างระบบ AI ต้นทุนต่ำที่ทำนาย Air Quality จากภาพถ่ายเพียงใบเดียว โปรเจกต์นี้แสดงให้เห็นว่า AI on the edge ช่วยให้การทำ Environmental Monitoring มีราคาประหยัด ปรับขยายได้ และทุกคนเข้าถึงได้
▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์
Project Supporter Team
โพสต์โดย
เมื่อเร็วๆ นี้ ผมได้โพสต์วิดีโอสอนเกี่ยวกับโปรเจกต์นี้บน YouTube
เมื่อคุณมองไปที่รูปภาพด้านล่าง คุณไม่ได้กำลังเห็นแค่ภาพทิวทัศน์ แต่คุณกำลังเห็นข้อมูลนำเข้า (input) สำหรับระบบ AI แบบโต้ตอบที่ผมสร้างขึ้น ระบบนี้สามารถประมาณค่าคุณภาพอากาศได้โดยพิจารณาจากรูปภาพท้องฟ้าและสภาพแวดล้อมรอบๆ




สิ่งที่ทำให้น่าตื่นเต้นคือทุกอย่างทำงานแบบ locally บนคอมพิวเตอร์บอร์ดเดี่ยวขนาดจิ๋วที่เรียกว่า UNIHIKER K10 โดยไม่มีการใช้ cloud servers หรือการประมวลผลภายนอก — เป็นเพียงโมเดล AI น้ำหนักเบาที่ทำงานบนอุปกรณ์โดยตรง
ในบทความนี้ ผมจะพาคุณไปดูขั้นตอนการสร้างระบบนี้ทีละขั้นตอน เราจะเริ่มจากการเก็บรวบรวมข้อมูล (data collection) ไปจนถึงการฝึกโมเดล (training the model) จากนั้นจะครอบคลุมถึงการนำไปใช้งาน (deployment) บน K10 และสุดท้ายคือการประเมินผลลัพธ์ ผมจะแบ่งปันความท้าทายที่ผมพบ ข้อจำกัดที่ต้องยอมรับ และไอเดียบางอย่างเกี่ยวกับวิธีการปรับปรุงโปรเจกต์นี้ในอนาคต



นี่ไม่ใช่แค่บทความสอน DIY ทั่วไป แต่มันคือโปรเจกต์ที่เชื่อมโยงเทคนิค TinyML ล้ำสมัยเข้ากับหนึ่งในปัญหาที่เร่งด่วนที่สุดของโลก นั่นคือ มลพิษทางอากาศ นอกจากนี้ผมจะอธิบายเกี่ยวกับวิทยาศาสตร์ของคุณภาพอากาศ มลพิษที่ส่งผลต่อสุขภาพของเรา และการทำงานของดัชนีคุณภาพอากาศของสหรัฐฯ (AQI) เป้าหมายของผมคือเมื่ออ่านจบ คุณจะไม่เพียงแต่เข้าใจวิธีการสร้างระบบนี้ แต่ยังเข้าใจว่าทำไมมันถึงมีความสำคัญ
อนึ่ง นี่เป็นโปรเจกต์ open-source คุณสามารถหา Code, ชุดข้อมูล (datasets) และไฟล์สนับสนุนทั้งหมดได้ใน GitHub repository นี้
เมื่อคุณทราบแล้วว่าโปรเจกต์นี้เกี่ยวกับอะไร เรามาเริ่มดูเรื่องราวการสร้างกันเลยครับ
ก่อนจะเจาะลึกรายละเอียดการฝึกโมเดล AI และการนำไปใช้กับ microcontrollers เรามาพูดถึง Hardware และเครื่องมือที่ทำให้โปรเจกต์นี้เป็นจริงได้ หัวใจสำคัญของมันคือ UNIHIKER K10 ซึ่งเป็นคอมพิวเตอร์บอร์ดเดี่ยวที่พัฒนาโดย DFRobot อุปกรณ์ตัวเล็กนี้อาจดูไม่มีอะไรในตอนแรก แต่มันอัดแน่นไปด้วยประสิทธิภาพสำหรับแอปพลิเคชัน TinyML (Tiny Machine Learning)
K10 ถูกสร้างขึ้นโดยใช้ชิป ESP32-S3 Xtensa LX7 และมาพร้อมกับ:
สรุปสั้นๆ คือ มันเป็น all-in-one solution สำหรับการทดลอง AI ที่ edge สิ่งที่ผมชอบที่สุดคือมันช่วยให้ Maker อย่างเราสามารถทดลองได้โดยไม่ต้องใช้ shield, module หรือการเดินสายที่ซับซ้อน ทุกอย่างมีมาให้พร้อมบนบอร์ดแล้ว
ผมได้รับ K10 ผ่านทาง การประกวด DFRobot Explore AI with K10 ซึ่งเป็นโปรแกรมที่จะแจกจ่ายบอร์ด 1,000 บอร์ดให้กับ Maker และนักการศึกษาทั่วโลก หากคุณมีไอเดีย AI ที่สร้างสรรค์ ผมขอแนะนำให้ลองสมัครดูครับ คุณจะประหลาดใจว่าบอร์ดเล็กๆ นี้ทำอะไรได้บ้าง
สำหรับชุดอุปกรณ์ที่ผมใช้ มีดังนี้:




เพียงเท่านี้ครับ ไม่มีการต่อ Hardware ที่ซับซ้อน มีเพียงบอร์ด พื้นที่จัดเก็บข้อมูล และแหล่งจ่ายไฟเท่านั้น
และแน่นอนว่า Code และไฟล์สำหรับการฝึกโมเดลทั้งหมดเป็น open-source บน GitHub repository นี้
เมื่อเตรียมอุปกรณ์พร้อมแล้ว มาลองดูว่าทำไมผมถึงสร้างโปรเจกต์นี้ขึ้นมา และทำไมคุณภาพอากาศถึงมีความสำคัญมากขนาดนี้
Artificial Intelligence มักจะถูกเชื่อมโยงกับเทคโนโลยีล้ำสมัยอย่าง รถยนต์ไร้คนขับ, ผู้ช่วยเสียง หรือโรงงานอัจฉริยะ แต่หนึ่งในแอปพลิเคชันที่มีผลกระทบมากที่สุดอาจอยู่ในสิ่งที่เราพบเจอทุกวัน นั่นคืออากาศที่เราหายใจเข้าไป
มลพิษทางอากาศไม่ใช่แค่ความท้าทายด้านสิ่งแวดล้อม แต่มันคือวิกฤตสาธารณสุข จากข้อมูลขององค์การอนามัยโลก (WHO) ระบุว่า 99% ของประชากรโลกหายใจเอาอากาศที่เกินขีดจำกัดความปลอดภัยเข้าไป การสัมผัสนี้ส่งผลให้มีการเสียชีวิตก่อนวัยอันควรประมาณ 7 ล้านคนในทุกปี ส่วนใหญ่เกิดขึ้นในเอเชียตะวันออกเฉียงใต้และแปซิฟิกตะวันตก แต่ไม่มีภูมิภาคใดที่จะรอดพ้นไปได้
ผลกระทบต่อสุขภาพนั้นรุนแรง การสัมผัสกับอากาศที่เป็นมลพิษเป็นเวลานานอาจทำให้เกิดโรคหลอดเลือดสมอง, โรคหัวใจ, มะเร็งปอด และโรคทางเดินหายใจเรื้อรัง เด็ก ผู้สูงอายุ และผู้ที่มีโรคประจำตัวมีความเสี่ยงเป็นพิเศษ และนอกเหนือจากความทุกข์ทรมานส่วนบุคคลแล้ว คุณภาพอากาศที่แย่ยังสร้างภาระมหาศาลให้กับระบบสาธารณสุขและเศรษฐกิจ ยิ่งอากาศสกปรกมากเท่าไหร่ ต้นทุนต่อสังคมก็ยิ่งสูงขึ้นเท่านั้น
ด้วยการตระหนักถึงความเร่งด่วนของปัญหานี้ สมัชชาใหญ่แห่งสหประชาชาติจึงได้ประกาศให้วันที่ 7 กันยายน เป็น วันอากาศสะอาดสากลเพื่อท้องฟ้าสีคราม (International Day of Clean Air for Blue Skies) ในปี 2019 ตั้งแต่นั้นมา รัฐบาล NGO และนักวิจัยได้ใช้ในวันนี้เพื่อเน้นย้ำถึงแนวทางแก้ไขที่สร้างสรรค์และผลักดันนโยบายที่จะนำเราไปสู่โลกที่มีสุขภาพดีขึ้น
แต่ประเด็นสำคัญคือ เพื่อที่จะแก้ไขมลพิษทางอากาศ เราจำเป็นต้องวัดค่ามันอย่างแม่นยำก่อน ท้ายที่สุดแล้ว เราจะรู้ได้อย่างไรว่าเรากำลังหายใจเอาอากาศที่สะอาดหรือเป็นอันตรายเข้าไปหากเราไม่มีข้อมูลที่เชื่อถือได้?
วิธีการดั้งเดิมในการวัดคุณภาพอากาศ
สถานีตรวจสอบอากาศทั่วไปจะใช้ Hardware เฉพาะทางเพื่อตรวจจับมลพิษแบบ real-time ระบบเหล่านี้มีความแม่นยำสูงมาก แต่ก็มีราคาแพง เทอะทะ และซับซ้อน โดยทั่วไปจะอาศัยเครือข่ายของ Sensor ที่วัดมลพิษต่างกัน:
ในการวัดมลพิษเหล่านี้ สถานีจะใช้เทคนิคต่างๆ เช่น laser scattering (สำหรับฝุ่นละออง) และ non-dispersive infrared sensors (สำหรับ CO₂) บริษัทอย่าง IQAir ถึงกับสร้าง เครือข่ายการตรวจสอบทั่วโลก ที่ทุกคนสามารถตรวจสอบระดับมลพิษแบบ real-time ได้
แม้ว่าระบบเหล่านี้จะมีประสิทธิภาพ แต่ก็ใช้ทรัพยากรสูงมาก ต้องการการบำรุงรักษา การปรับเทียบ (calibration) และการลงทุนอย่างต่อเนื่อง ทำให้ยากต่อการขยายผลให้ครอบคลุมทุกที่
ทางเลือกด้วย AI
นี่คือจุดที่ Artificial Intelligence เข้ามามีบทบาท ในช่วงไม่กี่ปีที่ผ่านมา นักวิจัยเริ่มตั้งคำถามว่า: จะเป็นอย่างไรถ้าเราสามารถประมาณค่าคุณภาพอากาศได้โดยใช้รูปภาพท้องฟ้า?
ตรรกะนั้นง่ายมาก: เมื่อระดับมลพิษสูงขึ้น ลักษณะปรากฏของท้องฟ้าและบรรยากาศจะเปลี่ยนไป เช่นเดียวกับมนุษย์ที่เราบางครั้งสามารถบอกความแตกต่างระหว่างท้องฟ้าที่ "สะอาด" กับท้องฟ้าที่ "เต็มไปด้วยหมอกควัน" ได้ ระบบ computer vision ก็สามารถถูกฝึกให้ทำเช่นนี้ได้ในวงกว้าง (ด้วยความแม่นยำที่มากกว่ามาก)
ตัวอย่างเช่น ในปี 2025 ทีมนักวิทยาศาสตร์ จากจีน, เกาหลีใต้, โปแลนด์, คาซัคสถาน และทาจิกิสถาน ได้เผยแพร่ระบบที่ใช้ Deep Learning เพื่อวิเคราะห์ฟีดวิดีโอและประมาณค่าคุณภาพอากาศ โมเดลของพวกเขามีความแม่นยำถึง 94% โดยมี latency น้อยกว่าสองวินาที ทำให้เหมาะสำหรับการใช้งานแบบ real-time
อีกหนึ่งโปรเจกต์จากแคนาดา แสดงให้เห็นว่ากล้องจราจรที่มีอยู่สามารถนำมาประยุกต์ใช้เพื่อประมาณค่าระดับมลพิษ เช่น PM2.5, NO₂ และ O₃ ได้ ลองจินตนาการถึงทั้งเมืองที่ตรวจสอบคุณภาพอากาศผ่านกล้องที่ติดตั้งตามสี่แยกอยู่แล้ว โดยไม่ต้องติดตั้ง Sensor เพิ่มเติม
วิธีการเหล่านี้ไม่ได้มีไว้เพื่อแทนที่วิธีการดั้งเดิมทั้งหมด แต่เป็นเครื่องมือที่มีต้นทุนต่ำ ขยายผลได้ง่าย และเป็นส่วนเสริมสำหรับการตรวจสอบ
ด้วยแรงบันดาลใจจากงานวิจัยเหล่านี้ ผมจึงอยากทดลองแนวคิดนี้ด้วยตัวเอง ผมจะสามารถฝึกโมเดล AI ให้จำแนกภาพถ่ายทิวทัศน์ตามดัชนีคุณภาพอากาศของสหรัฐฯ (AQI) ได้หรือไม่? และผมจะสามารถรันมันบนบอร์ดเล็กๆ อย่าง UNIHIKER K10 ได้หรือไม่?
นั่นคือความท้าทายที่ผมตั้งใจจะสำรวจครับ
แนวคิดเบื้องหลังโปรเจกต์นี้เรียบง่ายมาก: ใช้ Artificial Intelligence เพื่อวิเคราะห์ภาพถ่ายทิวทัศน์และประมาณค่าดัชนีคุณภาพอากาศ (AQI) แทนที่จะพึ่งพา Sensor ราคาแพง ระบบจะจำแนกรูปภาพและรายงานว่าอากาศอยู่ในเกณฑ์ดี, ปานกลาง, ไม่ดีต่อสุขภาพ หรืออันตราย โดยอิงตาม มาตรฐาน AQI ของสหรัฐฯ
หัวใจสำคัญของโปรเจกต์นี้ประกอบด้วยองค์ประกอบหลัก 3 ส่วน:
สิ่งที่ทำให้การสร้างครั้งนี้น่าตื่นเต้นคือมันทำงานแบบ offline ทั้งหมด ไม่จำเป็นต้องใช้ cloud computing หรือ server ภายนอก ทุกอย่างตั้งแต่การถ่ายภาพไปจนถึงการประมวลผลด้วย AI เกิดขึ้นบน microcontroller เอง
สิ่งที่คุณจะได้เรียนรู้
จากการทำตามบทความนี้ คุณจะได้รับประสบการณ์ลงมือทำจริงในด้าน:
โปรเจกต์นี้ไม่ได้มีไว้เพื่อแทนที่ระบบตรวจสอบคุณภาพอากาศระดับมืออาชีพ แต่มันเป็น การพิสูจน์แนวคิด (proof of concept) ที่แสดงให้เห็นว่า AI สามารถนำมาประยุกต์ใช้อย่างสร้างสรรค์กับปัญหาในโลกแห่งความเป็นจริงได้อย่างไร ลองคิดว่ามันเป็นการ ทดลองแบบ DIY ที่เชื่อมโยงความตระหนักด้านสิ่งแวดล้อม, AI และวัฒนธรรม Maker เข้าด้วยกัน
โปรเจกต์ Machine Learning ใดๆ จะดีได้เท่ากับชุดข้อมูลที่มี และโปรเจกต์นี้ก็ไม่มีข้อยกเว้น โชคดีที่ผมไม่ต้องเริ่มจากศูนย์ หลังจากค้นหาอยู่พักหนึ่ง ผมพบ ชุดข้อมูลแบบเปิด (open dataset) ที่ยอดเยี่ยมซึ่งเป็นรูปภาพทิวทัศน์เมืองจากอินเดียและเนปาล
ชุดข้อมูลนี้สร้างขึ้นโดยนักวิจัย Adarsh Rouniyar, Sapdo Utomo, Dr. John A., และ Dr. Pao-Ann Hsiung ซึ่งรวบรวมรูปภาพเมืองในอินเดียและเนปาลมากกว่า 12,000 ภาพ และติดป้ายกำกับตาม ดัชนีคุณภาพอากาศของสหรัฐฯ (AQI)
นั่นหมายความว่าทุกรูปถ่ายมีการระบุหมวดหมู่ไว้แล้ว เช่น:
นี่คือการกระจายตัวของคลาสในชุดข้อมูล:

ชุดข้อมูลนี้เป็นกระดูกสันหลังของโปรเจกต์ของผม การใช้คอลเลกชันรูปภาพในโลกแห่งความเป็นจริงที่ถ่ายภายใต้สภาวะแวดล้อมที่หลากหลาย ช่วยให้ผมสามารถฝึกโมเดลที่มีความหลากหลายและแข็งแกร่งกว่าที่ผมจะทำได้ด้วยตัวเอง
ทำไมชุดข้อมูลนี้ถึงมีความสำคัญ
ชุดข้อมูลอินเดีย/เนปาลมีค่าด้วยเหตุผลหลายประการ:



ความโปร่งใสเกี่ยวกับข้อจำกัด
แม้ว่าชุดข้อมูลจะยอดเยี่ยม แต่ก็ยังมีความเฉพาะเจาะจงทางภูมิศาสตร์ โมเดลที่ฝึกด้วยรูปภาพเหล่านี้อาจไม่สามารถนำไปใช้ได้อย่างสมบูรณ์แบบกับภูมิภาคอื่นๆ ของโลก ตัวอย่างเช่น มลพิษในเซาเปาโลอาจดูไม่เหมือนหมอกควันในลอสแอนเจลิส หรือพายุฝุ่นในตะวันออกกลาง
อย่างไรก็ตาม สำหรับจุดประสงค์ของโปรเจกต์นี้ ชุดข้อมูลดังกล่าวเป็นรากฐานที่น่าทึ่งในการสร้างและทดสอบการพิสูจน์แนวคิดนี้
เมื่อผมรวบรวมชุดข้อมูลรูปภาพทิวทัศน์ได้แล้ว ขั้นตอนใหญ่ถัดไปคือการฝึกโมเดลที่สามารถจดจำรูปแบบที่เกี่ยวข้องกับคุณภาพอากาศได้ สำหรับงานนี้ ผมใช้ Convolutional Neural Network (CNN) — ซึ่งเป็นโมเดล Deep Learning ประเภทหนึ่งที่ออกแบบมาเพื่องานจำแนกรูปภาพโดยเฉพาะ
CNN มีประสิทธิภาพมากเพราะสามารถตรวจจับคุณลักษณะต่างๆ เช่น สี, ขอบ, พื้นผิว และรูปร่างในรูปภาพได้โดยอัตโนมัติ ในบริบทของคุณภาพอากาศ สิ่งต่างๆ เช่น สีของท้องฟ้า, ทัศนวิสัยของวัตถุที่อยู่ไกล และการมีอยู่ของหมอกควันกลายเป็นเบาะแสที่สำคัญ CNN จะเรียนรู้ที่จะเชื่อมโยงรูปแบบภาพเหล่านี้กับหมวดหมู่ AQI เช่น ดี, ปานกลาง, ไม่ดีต่อสุขภาพ หรืออันตราย
การตั้งค่าการฝึกโมเดลแบบ DIY ของผม
นี่คือส่วนที่ผมภูมิใจที่สุด: ผมฝึกโมเดล locally บน PC ที่ผมประกอบเองในราคาต่ำกว่า $300 หลายคนคิดว่าคุณต้องใช้ Hardware ราคาแพงสำหรับโปรเจกต์ AI แต่นั่นไม่เป็นความจริงเสมอไปหากคุณทำงานกับ Framework ที่ได้รับการปรับแต่งมาอย่างดีอย่าง TensorFlow Lite
นี่คือสเปกเครื่องที่เรียบง่ายแต่เชื่อถือได้ของผม:
เครื่องนี้ไม่ใช่เครื่องสเปกแรง แต่มันมีความสามารถเกินพอสำหรับการรับมือกับการทดลอง AI น้ำหนักเบาและการฝึกโมเดล TinyML ส่วน GPU นั้นไม่ได้แรงเป็นพิเศษสำหรับ Deep Learning (VRAM 2GB นั้นน้อยมาก) แต่เนื่องจากผมทำงานกับชุดข้อมูลที่กะทัดรัดและโมเดลที่ปรับแต่งมาแล้ว การฝึกฝนจึงยังคงเป็นไปได้
หากคุณสงสัยเกี่ยวกับการประกอบเครื่องนี้ ผมได้ทำวิดีโออธิบายวิธีการประกอบ PC เครื่องนี้ไว้แล้ว — คุณสามารถรับชมได้ทาง YouTube channel ของผมครับ
ความพยายามครั้งแรกและข้อจำกัดของ Hardware
มีอัลกอริทึมและสถาปัตยกรรมนับไม่ถ้วนสำหรับปัญหา computer vision ความพยายามครั้งแรกของผมคือการใช้ MobileNetV2 — ซึ่งเป็น CNN น้ำหนักเบายอดนิยมที่ออกแบบมาสำหรับงาน embedded vision ด้วยการปรับแต่งเล็กน้อย มันสามารถทำความแม่นยำ (validation accuracy) ได้ประมาณ 86% นั่นเป็นเรื่องที่น่าตื่นเต้น จนกระทั่งผมลองนำไปใช้กับ UNIHIKER K10
ปัญหาคืออะไร? หน่วยความจำ (Memory)
MobileNetV2 ต้องการ SRAM เกือบ 2MB ในขณะที่ K10 มีให้ใช้เพียง 512KB เท่านั้น นั่นทำให้มันไม่สามารถใช้งานได้เลยสำหรับโปรเจกต์นี้
ดังนั้นผมจึงเปลี่ยนแผน แทนที่จะพยายามย่อส่วนโมเดลหนักๆ ที่มีอยู่ ผมตัดสินใจออกแบบและฝึก CNN ที่เรียบง่ายขึ้นเรื่อยๆ จนกว่าจะพบโมเดลที่เบาพอที่จะรันบน K10 ได้ ในขณะที่ยังคงมีความแม่นยำเพียงพอที่จะใช้งานได้จริง
การเตรียมชุดข้อมูล
เดิมทีรูปภาพในชุดข้อมูลมีขนาด 224×224 พิกเซล แต่ในระหว่างการฝึกผมได้ปรับขนาดเป็น 64×64 ซึ่งช่วยลดความต้องการในการคำนวณได้อย่างมาก และทำให้มั่นใจว่าโมเดลสุดท้ายจะสามารถทำงานบน Hardware ได้จริง
ผมแบ่งชุดข้อมูลโดยใช้ กฎ 70/20/10:
เพื่อหลีกเลี่ยงการเกิด overfitting ผมตั้งค่า 60 training epochs พร้อมด้วย early stopping patience ที่ 6 นั่นหมายความว่าการฝึกจะหยุดลงหากความแม่นยำในการตรวจสอบไม่ดีขึ้นติดต่อกันหกครั้ง และจะกู้คืนน้ำหนัก (weights) ที่ดีที่สุดโดยอัตโนมัติ
ผมยังได้ใช้เทคนิค data augmentation เช่น การพลิกภาพแบบสุ่ม (random flips), การหมุนเล็กน้อย และการซูม สิ่งเหล่านี้ช่วยให้โมเดลสามารถทำงานได้ดีขึ้นในสถานการณ์จริงโดยการจำลองความแปรปรวนที่อาจเกิดขึ้น
กระบวนการฝึกฝน
หลังจากลองผิดลองถูก ผมใช้ TensorFlow เพื่อออกแบบ CNN ที่มีโครงสร้างดังนี้:
การฝึกฝนไม่ได้ราบรื่นเสมอไป ผมต้องทดลองกับ hyperparameter ต่างๆ (เช่น learning rate และ batch size) และรับมือกับข้อจำกัดของหน่วยความจำ แต่ในที่สุด ผมก็สามารถสร้างโมเดลที่เล็กพอจะบรรจุลงใน K10 ได้ โดยที่ยังคงประสิทธิภาพที่ดีในการทดสอบ
Script สำหรับการฝึกถูกออกแบบมาเพื่อ:
Quantization เป็นสิ่งที่สำคัญมาก หากไม่มีสิ่งนี้ โมเดลจะมีขนาดใหญ่เกินกว่าจะบรรจุลงในหน่วยความจำ ด้วย int8 quantization น้ำหนัก (weights) และ activations จะถูกบีบอัดให้เป็นเลขจำนวนเต็มขนาด 8 บิต ซึ่งช่วยลดขนาดลงอย่างมากในขณะที่ยังคงรักษาความแม่นยำส่วนใหญ่ไว้ได้
ผลลัพธ์
เมื่อสิ้นสุดการฝึกฝน CNN ขนาดจิ๋วของผมสามารถทำ test accuracy ได้ 71.29% เมื่อพิจารณาจากข้อจำกัดที่รุนแรงของหน่วยความจำใน K10 นี่ถือว่าเป็นผลลัพธ์ที่น่าพอใจมาก
กระบวนการนี้ให้ความสำคัญกับ memory footprint ที่ต่ำมากกว่าความแม่นยำดิบๆ ซึ่งเป็นสิ่งที่คุณต้องการสำหรับอุปกรณ์ IoT และ edge ที่มีข้อจำกัดด้านทรัพยากรอย่าง ESP32-S3 หรือ UNIHIKER K10
ผมจะเจาะลึกเกี่ยวกับการแลกเปลี่ยน (tradeoff) ระหว่างการใช้ทรัพยากรและความแม่นยำในส่วนถัดไป แต่สำหรับตอนนี้ นี่คือภาพรวมของประสิทธิภาพของโมเดล:







นี่เป็น ความท้าทายที่ยากที่สุด ที่ผมต้องเผชิญ: คุณจะรันโมเดล AI ที่สร้างขึ้นเองบน UNIHIKER K10 ได้อย่างไร?
หากคุณจำได้จากช่วงต้นของบทความนี้ K10 สามารถเขียนโปรแกรมได้โดยใช้เครื่องมือ 4 อย่าง ณ เดือนกันยายน 2025 Arduino IDE เป็นตัวเลือกที่มีความยืดหยุ่นมากที่สุดสำหรับการสร้างโปรเจกต์ K10 ของคุณเอง
ในการควบคุมบอร์ด คุณต้องมี Library พิเศษที่ชื่อว่า unihiker_k10 ซึ่งจัดทำโดย DFRobot ในการใช้งาน คุณต้องค้นหาคำว่า UNIHIKER ใน Boards Manager และติดตั้งแอปพลิเคชัน

เอกสารประกอบอย่างเป็นทางการนั้นมีตัวอย่างที่ยอดเยี่ยม แต่ไม่ได้อธิบายถึงวิธีการรันโมเดล AI ของคุณเอง
แล้วเราจะทำให้มันทำงานได้อย่างไร? คำตอบคือ TensorFlow Lite for Microcontrollers (TFLite Micro) — Library อย่างเป็นทางการของ TensorFlow สำหรับการรันโมเดล AI บน microcontrollers ใน Arduino Library Manager คุณจะพบสองเวอร์ชัน: เวอร์ชันหนึ่งสำหรับบอร์ด Arduino มาตรฐาน และอีกเวอร์ชันหนึ่งสำหรับอุปกรณ์ ESP32 สำหรับ K10 เราต้องใช้ เวอร์ชัน ESP32 (TensorFlowLite_ESP32)

ทำไม Quantization ถึงมีความสำคัญ
จำที่ผมพูดถึง int8 quantization ระหว่างการฝึกได้ไหมครับ? ขั้นตอนนี้สำคัญมากสำหรับการนำไปใช้งานบนอุปกรณ์ edge ในระหว่างการทำ quantization โมเดลของคุณจะถูกแปลงเป็น C array ซึ่ง microcontroller สามารถอ่านและประมวลผลได้โดยตรง
มีข้อสังเกตคือ: TFLite Micro ไม่สามารถรันโมเดลที่เก็บไว้ใน micro SD card ได้ ซึ่งหมายความว่าโมเดลจะต้องอยู่ใน internal flash memory ของบอร์ด ซึ่งมีขนาดเพียง 16MB การทำ quantization ช่วยให้มั่นใจว่าโมเดล AI มีขนาดเล็กพอที่จะใส่ลงไปได้ หากไม่มีขั้นตอนนี้ แม้แต่ CNN ขนาดปานกลางก็อาจจะใหญ่เกินกว่าจะโหลดได้
การอัปโหลดโมเดล
เมื่อการฝึกเสร็จสิ้น ไฟล์ best_model_int8.h สุดท้ายจะต้องถูกวางไว้ ในโฟลเดอร์เดียวกับ Arduino Sketch ของคุณ เมื่อคุณกด Upload ใน Arduino IDE ทั้งโปรแกรมและโมเดล AI จะถูกเก็บไว้ด้วยกันใน flash memory ของ K10

มาถึงจุดนี้ คุณมีทุกอย่างพร้อมสำหรับการรัน inference โดยตรงบนบอร์ดแล้ว ตอนนี้ AI สามารถวิเคราะห์รูปภาพ จำแนกคุณภาพอากาศ และให้ผลการทำนายได้ — ทั้งหมดนี้โดยไม่ต้องพึ่งพา PC หรือ Cloud Server
ต่อไป เราจะมาดู Code ของ Arduino ที่ทำให้สิ่งมหัศจรรย์นี้เกิดขึ้น โดยจะแสดงให้เห็นว่า K10 โต้ตอบกับโมเดล ถ่ายภาพ และส่งผลการทำนายออกมาแบบ real-time ได้อย่างไร
Arduino Sketch สำหรับโปรเจกต์นี้มีความยาวกว่า 500 บรรทัด ดังนั้นการเจาะลึกทีละบรรทัดอาจจะมากเกินไป ผมจะสรุป ภาพรวม โดยเน้นที่สถาปัตยกรรม, ฟังก์ชันสำคัญ และการตัดสินใจเชิงเทคนิคที่ทำให้ UNIHIKER K10 ทำงานได้ตามที่ต้องการ การเข้าใจโครงสร้างนี้จะช่วยให้คุณนำไปประยุกต์ใช้กับโปรเจกต์ของคุณเองได้
ส่วนประกอบหลัก
K10 มีส่วนประกอบ Hardware หลัก 3 อย่างที่โปรแกรมของเราเข้าไปโต้ตอบ:
การควบคุมองค์ประกอบทั้งสามนี้มีความจำเป็นเพื่อให้ AI ทำงานได้อย่างถูกต้องและเพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ราบรื่น
หน้าจอและ User Interface
หน้าจอแสดงผลมีความสามารถที่น่าทึ่ง แต่ Library unihiker_k10 อย่างเป็นทางการมีข้อจำกัดบางประการ — คุณสามารถตั้งค่าสีข้อความและสีพื้นหลังได้ แต่คุณ ไม่สามารถ:
ถึงกระนั้น ผมก็ได้ออกแบบ Interface ที่ชัดเจนและโต้ตอบได้:
เนื่องจากข้อจำกัดของ Library ผมจึงใช้วิธีแก้ปัญหาเพื่อให้ UI (user interface) ดูสวยงามยิ่งขึ้น:




วิธีนี้เรียบง่ายแต่ได้ผลดี ต่อมาผมพบวิธีที่ก้าวหน้ากว่าซึ่งใช้โดย Mirko Pavleski ใน โปรเจกต์เครื่องวัดแสง เขาใช้ TFT_eSPI Library และทำการถอดรหัส (reverse-engineer) ขาของจอแสดงผล K10 เพื่อให้ควบคุมหน้าจอได้เต็มรูปแบบ มันเป็นทางเลือกที่สวยงาม แต่ผมเลือกที่จะใช้วิธี SD card เพื่อความเรียบง่าย




การถ่ายภาพและประมวลผลรูปภาพ
เมื่อผู้ใช้ถ่ายภาพ:
การรันโมเดล AI
หลังจากปรับขนาดแล้ว ขั้นตอนการทำ inference นั้นตรงไปตรงมา:
การตั้งค่านี้ช่วยให้มั่นใจได้ว่ากระบวนการ AI ทั้งหมด ตั้งแต่การถ่ายภาพไปจนถึงการแสดงผลการจำแนกประเภท จะทำงานบน K10 ทั้งหมด โดยไม่ต้องมีการประมวลผลผ่าน PC หรือ Cloud
คำอธิบายนี้ครอบคลุมถึง ตรรกะ, การไหลของข้อมูล และ ความท้าทาย เบื้องหลัง Arduino Sketch ต่อไป เราจะไปดูที่ ส่วนผลลัพธ์ ซึ่งผมจะวิเคราะห์ว่าโมเดลทำงานได้ดีเพียงใดกับรูปภาพในโลกแห่งความเป็นจริง และแบ่งปันข้อมูลเกี่ยวกับความแม่นยำ ข้อจำกัด และแนวโน้มที่สังเกตได้
หลังจากผ่านไปหลายวันในการออกแบบ, ฝึกฝน และนำโมเดลไปใช้งานบน UNIHIKER K10 ในที่สุดก็ถึงเวลาประเมินว่าระบบทำงานได้ดีเพียงใด ผลลัพธ์มีความสำคัญมากเพราะมันบอกเราว่าขั้นตอนทั้งหมด ตั้งแต่การเตรียมชุดข้อมูลไปจนถึงการใช้งาน TinyML นั้นได้ผลจริงในโลกภายนอกหรือไม่




อย่างที่คุณเห็นจากรูปภาพด้านบน ผมได้ทดสอบโมเดลนอกสถานที่โดยการถ่ายภาพท้องฟ้าหลายๆ มุม ส่วนใหญ่แล้ว โมเดลจะทำนายว่าคุณภาพอากาศอยู่ในระดับ ปานกลาง (moderate) จากข้อมูลของ IQAir สถานที่ที่ทำการทดสอบได้คะแนน 55 (ปานกลาง) ดังนั้นดูเหมือนว่าระบบจะทำงานได้ถูกต้อง แต่นั่นนำไปสู่คำถามที่สำคัญ: นี่คือโมเดลที่ดีจริงๆ หรือไม่? ผมจะมั่นใจได้อย่างไรว่ามันไม่ได้เกิดภาวะ underfitting หรือ overfitting?
เพื่อเจาะลึกลงไป ผมได้ประเมินโมเดลกับชุดข้อมูลที่มัน ไม่เคยเห็นมาก่อน สำหรับการทดสอบนี้ ผมได้ใช้คอลเลกชัน ภาพถ่ายทิวทัศน์จากสมาร์ทโฟนที่ถ่ายโดย Ruikuan Zhu
ชุดข้อมูลภายนอกนี้ประกอบด้วยรูปภาพ 456 ภาพ ในหมวดหมู่ AQI 5 หมวดหมู่ที่กำหนดโดยหน่วยงานคุ้มครองสิ่งแวดล้อมของสหรัฐฯ (EPA):
ผมเขียน Script เพื่อโหลดโมเดล quantized ตัวเดียวกับที่ผมใช้บน UNIHIKER K10 และประเมินกับชุดข้อมูลนี้ หลังจากใช้เวลาประเมินสักพัก ผลลัพธ์ที่ได้ก็เป็นอย่างที่ผมกังวล
โมเดลทำความแม่นยำโดยรวมได้เพียง 6.61% ในชุดข้อมูลนี้
ความแม่นยำแยกตามคลาสมีดังนี้:
มีเพียง การทำนายที่ผิดพลาด (invalid) สองครั้งโดยรวม และโมเดลแทบจะไม่ทำนายคลาส "Hazardous" เลย
นี่คือ confusion matrix เพื่อความชัดเจน:


แล้วเกิดอะไรขึ้น?
มีสาเหตุหลายประการที่ทำให้การทำงานในวงกว้าง (generalization) แย่ลง:
ความไม่สอดคล้องของข้อมูล (Data mismatch): ชุดข้อมูลฝึกฝนมีรูปภาพที่ปรับขนาดเป็น 224×224 ในขณะที่ชุดข้อมูลประเมินประกอบด้วย รูปภาพ 4K (4032×3024 หรือ 3024×4032) เนื่องจากอินพุตของโมเดล K10 มีขนาดเพียง 64×64 การปรับขนาดภาพ 4K ลงมาขนาดนี้ทำให้สูญเสียรายละเอียดอย่างมาก เบาะแสเล็กๆ น้อยๆ ที่แยกความแตกต่างระหว่างหมวดหมู่ AQI จึงหายไป
ข้อจำกัดของ Hardware: การตัดสินใจฝึกฝนที่ความละเอียด 64×64 ไม่ใช่เรื่องบังเอิญ แต่มันคือความจำเป็น เนื่องจาก K10 มี SRAM เพียง 512KB ซึ่งบีบให้ผมต้องฝึก CNN ที่กะทัดรัดมาก โมเดลที่ใหญ่กว่าและแสดงออกได้มากกว่าอย่าง MobileNetV2 หรือ EfficientNet จะทำงานได้ดีกว่า แต่มันไม่สามารถใส่ลงใน K10 ได้
ความเสี่ยงของ Overfitting: เนื่องจาก CNN ของผมค่อนข้างตื้น (shallow) มันจึงน่าจะเกิด overfitting กับชุดข้อมูลฝึกฝนที่จำกัด วิธีการที่แข็งแกร่งกว่าคือการใช้ transfer learning กับโมเดลที่ฝึกมาก่อน (pretrained models) (เช่น MobileNetV2) แต่อีกครั้งที่ข้อจำกัดของ Hardware เป็นอุปสรรค
การเข้าถึงข้อมูล (Data availability): หนึ่งในความท้าทายที่ใหญ่ที่สุดของโปรเจกต์นี้คือ การหาข้อมูลที่มีคุณภาพเพียงพอ งานวิจัยหลายชิ้นที่ผมพบใช้ชุดข้อมูลที่สร้างขึ้นเอง ผมติดต่อไปยังนักวิจัยเหล่านั้น แต่ส่วนใหญ่ไม่ตอบกลับหรือปฏิเสธการเข้าถึง นั่นทำให้ผมต้องทำงานกับชุดข้อมูลเพียงไม่กี่ชุดที่มีให้ใช้งานแบบเปิดออนไลน์
สรุปสั้นๆ: แม้ว่าโมเดลจะทำงานได้ในการทดสอบที่ควบคุมและรันบน K10 ได้ แต่ ความสามารถในการใช้งานทั่วไป (generalize) ยังคงต่ำ การแลกเปลี่ยนระหว่างความแม่นยำและข้อจำกัดของหน่วยความจำกำหนดทุกตัวเลือกการออกแบบในโปรเจกต์นี้ และนั่นคือเหตุผลว่าทำไมการพิจารณา Platform Hardware ใหม่ๆ จึงมีความสำคัญในอนาคต
แม้ว่าโปรเจกต์ UNIHIKER K10 จะประสบความสำเร็จในการแสดงให้เห็นว่า AI ขนาดจิ๋วสามารถจำแนกคุณภาพอากาศจากภาพทิวทัศน์ได้ แต่ก็ยังมีช่องว่างอีกมากสำหรับการปรับปรุง Edge AI นั้นเป็นเรื่องของการแลกเปลี่ยนระหว่างความแม่นยำ, ความซับซ้อนของโมเดล และข้อจำกัดของ Hardware การสำรวจความเป็นไปได้เหล่านี้จะเปิดทิศทางที่น่าตื่นเต้นสำหรับงานในอนาคต
1. ขนาดอินพุตที่สูงขึ้นและสถาปัตยกรรมที่ซับซ้อนขึ้น
ปัจจุบัน CNN ของเราทำงานบนรูปภาพขนาด 64x64 เพื่อให้อยู่ภายใต้ข้อจำกัดของหน่วยความจำของ K10 การเพิ่มขนาดอินพุต เป็น 128x128 หรือแม้แต่ 224x224 จะช่วยให้โมเดลจับรายละเอียดภาพได้มากขึ้น เช่น การไล่ระดับของหมอกควันที่ละเอียดอ่อนหรือวัตถุที่อยู่ไกล ซึ่งอาจช่วยเพิ่มความแม่นยำได้
นอกจากนี้ การทดลองกับ สถาปัตยกรรมที่ซับซ้อนขึ้น — เช่น MobileNet, EfficientNet หรือ ResNet รุ่นต่างๆ — อาจช่วยให้โมเดลเรียนรู้คุณลักษณะที่หลากหลายขึ้น สถาปัตยกรรมเหล่านี้ถูกออกแบบมาเพื่อประสิทธิภาพบนอุปกรณ์มือถือและ embedded ดังนั้นด้วยการทำ pruning และ quantization ที่ระมัดระวัง พวกมันอาจยังรันบนบอร์ดหรือ microcontroller ที่มีความสามารถสูงขึ้นเล็กน้อยได้
การใช้ transfer learning เป็นอีกแนวทางที่น่ามีความหวัง แทนที่จะฝึกโมเดลตั้งแต่ต้น เราสามารถเริ่มจากโมเดลที่ฝึกฝนมาแล้วจากชุดข้อมูลรูปภาพขนาดใหญ่ เช่น ImageNet และปรับจูน (fine-tune) สำหรับการจำแนกคุณภาพอากาศ ซึ่งปกติจะช่วยเพิ่มประสิทธิภาพได้อย่างมหาศาล โดยเฉพาะเมื่อชุดข้อมูลมีจำกัด
2. การใช้ Hardware ที่มีประสิทธิภาพมากขึ้น
ข้อจำกัดอย่างหนึ่งของ K10 คือ SRAM 512KB และ flash memory 16MB บอร์ดที่มีประสิทธิภาพมากกว่า เช่น UNIHIKER M10 มีการอัปเกรดที่สำคัญดังนี้:
แม้ว่า M10 จะไม่มีกล้องมาในตัว แต่มันรองรับกล้อง USB ภายนอก ทำให้สามารถถ่ายภาพแบบ real-time ได้ การใช้ Hardware ดังกล่าวจะช่วยให้ใช้ โมเดลที่ใหญ่ขึ้น, รูปภาพความละเอียดสูงขึ้น และ การทำ inference ที่เร็วขึ้น ซึ่งจะเปิดโอกาสสู่แอปพลิเคชันที่ซับซ้อนมากขึ้น
ทางเลือกอื่นๆ ได้แก่ บอร์ด Raspberry Pi หรือคอมพิวเตอร์บอร์ดเดี่ยวที่เน้น AI ซึ่งให้ข้อดีที่คล้ายกัน: การประมวลผลที่ดีขึ้น, รองรับ Python/TensorFlow เต็มรูปแบบ และการเชื่อมต่อกล้องที่ง่าย สิ่งนี้จะทำให้การฝึกฝนและนำโมเดลที่ซับซ้อนมาใช้งานจริงเป็นไปได้
3. การเปลี่ยนเป็นระบบบนมือถือหรือระบบแบบ Real-Time
อีกแนวทางที่น่าตื่นเต้นคือการเปลี่ยนระบบให้เป็น แอปพลิเคชันบนโทรศัพท์มือถือ สมาร์ทโฟนมีกล้อง, CPU/GPU ที่ทรงพลัง และมีการเข้าถึงที่แพร่หลายอยู่แล้ว การนำโมเดลไปใช้บน iOS หรือ Android จะช่วยให้ ทุกคนสามารถวัดคุณภาพอากาศในท้องถิ่นได้ ด้วยการแตะเพียงไม่กี่ครั้ง เป็นการขยายผลกระทบของโปรเจกต์จากกลุ่ม Maker ไปสู่สาธารณชนทั่วไป
นอกจากนี้ ระบบยังสามารถบูรณาการเข้ากับ กล้องรักษาความปลอดภัย และ กล้องจราจร ได้ หลายเมืองมีเครือข่ายกล้องที่กว้างขวางอยู่แล้ว การนำโมเดล AI คุณภาพอากาศไปใช้กับโครงสร้างพื้นฐานที่มีอยู่เหล่านี้จะช่วยให้สามารถ ตรวจสอบคุณภาพอากาศในระดับเมืองแบบ real-time และให้ข้อมูลที่นำไปปฏิบัติได้จริงแก่ประชาชนและหน่วยงานภาครัฐ
4. การสร้างชุดข้อมูลที่แข็งแกร่งขึ้น
ชุดข้อมูลปัจจุบันมุ่งเน้นไปที่ทิวทัศน์เมืองในเวลากลางวันจากอินเดียและเนปาล เพื่อให้ได้ โมเดลที่แข็งแกร่ง และ ใช้งานได้ทั่วไปมากขึ้น ชุดข้อมูลควรประกอบด้วย:
นอกจากนี้ การสร้างป้ายกำกับเฉพาะสำหรับเขม่าควัน (smog) เทียบกับหมอก (haze) จะช่วยให้โมเดลสามารถแยกแยะประเภทของมลพิษได้ ซึ่งจะช่วยให้ประเมินคุณภาพอากาศได้ละเอียดขึ้น
5. สู่การตรวจสอบแบบต่อเนื่องและ Real-Time
เป้าหมายสูงสุดของระบบนี้คือการตรวจสอบสิ่งแวดล้อมแบบ real-time การรวมอุปกรณ์ edge ที่ทรงพลังเข้ากับกระแสข้อมูลภาพอย่างต่อเนื่องจะช่วยให้สามารถ:
จากการนำ AI นี้ไปใช้ในหลายตำแหน่งและใช้ประโยชน์จากโครงสร้างพื้นฐานกล้องที่มีอยู่ เราสามารถสร้าง เครือข่ายตรวจสอบคุณภาพอากาศขนาดใหญ่ที่มีต้นทุนต่ำ เพื่อเสริม Sensor แบบดั้งเดิมและให้ข้อมูล real-time ที่มีค่าแก่รัฐบาล นักวิจัย และสาธารณชน
โดยสรุป โปรเจกต์ UNIHIKER K10 เป็นเพียงก้าวแรกของวิสัยทัศน์ที่กว้างใหญ่กว่า ตั้งแต่โมเดลความละเอียดสูงและสถาปัตยกรรมที่ซับซ้อน ไปจนถึงแอปมือถือและการตรวจสอบระดับเมืองแบบ real-time โอกาสในการขยายผล ปรับแต่ง และยกระดับงานนี้มีมหาศาล ด้วยการให้ความสำคัญกับข้อจำกัดของ Hardware, คุณภาพของชุดข้อมูล และกลยุทธ์การนำไปใช้งาน ระบบนี้อาจพัฒนาจากการทดลองแบบ DIY ไปสู่เครื่องมือที่ใช้งานได้จริงเพื่อความตระหนักด้านสิ่งแวดล้อมและสาธารณสุข
มลพิษทางอากาศเป็นหนึ่งในความท้าทายด้านสิ่งแวดล้อมที่เร่งด่วนที่สุดในยุคของเรา สถานีตรวจสอบคุณภาพอากาศแบบดั้งเดิมแม้จะมีความแม่นยำสูง แต่ก็มีราคาแพงและมีจำนวนน้อย ทำให้เกิดจุดบอดขนาดใหญ่ในการครอบคลุมข้อมูล โปรเจกต์นี้แสดงให้เห็นว่าด้วยบอร์ดที่รองรับ AI ราคาประหยัดอย่าง UNIHIKER K10 เราสามารถสร้างเครื่องจำแนกคุณภาพอากาศจากรูปภาพที่พกพาได้สะดวก
การดำเนินงานในปัจจุบันรัน CNN น้ำหนักเบาบนรูปภาพขนาด 64×64 และแม้ว่ามันจะทำงานได้ดีพอสมควรในชุดข้อมูลฝึกฝน แต่การประเมินจากภายนอกเผยให้เห็นข้อจำกัดของมัน เมื่อทดสอบกับชุดข้อมูลรูปภาพจากสมาร์ทโฟนที่แตกต่างกันโดยสิ้นเชิง ความแม่นยำลดลงเหลือเพียง 6.61% ซึ่งเน้นย้ำถึงปัญหาเกี่ยวกับการใช้งานในวงกว้าง (generalization), ความไม่สมดุลของคลาส และการสูญเสียรายละเอียดอย่างรุนแรงจากการปรับขนาดภาพ 4K ลงเหลือ 64×64 ผลลัพธ์เหล่านี้ทำให้ชัดเจนว่า: โมเดลทำงานได้ภายใต้เงื่อนไขที่ควบคุม แต่ยังคงประสบปัญหาเมื่อต้องเผชิญกับความแปรปรวนในโลกแห่งความเป็นจริง
อย่างไรก็ตาม ความจริงที่ว่าอุปกรณ์ที่มีข้อจำกัดอย่างมาก โดยมี SRAM เพียง 512KB สามารถรันโมเดล AI ที่สร้างขึ้นเองได้ก็นับเป็นความสำเร็จในตัวมันเอง ระบบนี้ไม่ได้มีไว้เพื่อแทนที่สถานีตรวจสอบอย่างเป็นทางการ แต่เป็นการเสริมศักยภาพโดยการสำรวจว่าอุปกรณ์ edge สามารถให้การตรวจวัดสภาพแวดล้อมที่ราคาถูกและขยายผลได้ง่ายอย่างไร
ตลอดการทำงาน โปรเจกต์นี้ได้เน้นย้ำถึงบทเรียนสำคัญเกี่ยวกับการเตรียมชุดข้อมูล, การปรับแต่งโมเดล, overfitting และการแลกเปลี่ยนระหว่าง ความแม่นยำ และ ข้อจำกัดของหน่วยความจำ — ซึ่งเป็นความท้าทายที่พบได้ทั่วไปในแอปพลิเคชัน AI-on-edge ส่วนใหญ่
และนี่เป็นเพียงจุดเริ่มต้น ด้วยชุดข้อมูลที่สมบูรณ์ขึ้น, สถาปัตยกรรมที่ก้าวหน้าขึ้นอย่าง MobileNet หรือ EfficientNet, transfer learning และบอร์ดที่ทรงพลังมากขึ้นอย่าง UNIHIKER M10 หรือ Raspberry Pi เราจะสามารถปลดล็อกระบบที่ตรวจสอบคุณภาพอากาศได้อย่างต่อเนื่อง แบบ real-time และในระดับเมือง ลองจินตนาการถึงการฝังโมเดลเหล่านี้ลงในสมาร์ทโฟน, กล้องจราจร หรือโครงสร้างพื้นฐานของเมือง ทำให้มลพิษที่มองไม่เห็นสามารถมองเห็นได้ และ มอบอำนาจให้ชุมชน ในการดำเนินการอย่างมีความรู้
ในท้ายที่สุด โปรเจกต์นี้เป็นมากกว่าการทดลองทางเทคนิค มันเป็นข้อพิสูจน์ว่านวัตกรรมมักเริ่มต้นจากสิ่งเล็กๆ: จากข้อจำกัด, จากการยอมรับข้อจำกัด และจากความพยายามอย่างต่อเนื่อง ด้วยการผลักดันขอบเขตของสิ่งที่เป็นไปได้บน Hardware ราคาประหยัด เราได้ก้าวเข้าใกล้การทำให้การตรวจวัดสิ่งแวดล้อมเป็นเรื่องที่ทุกคนเข้าถึงได้ผ่าน AI อีกก้าวหนึ่ง
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้