Flagship case study · NSC 2026 National Finalist
BloodScope
แอปพลิเคชันวิเคราะห์ความผิดปกติของเม็ดเลือดขาวด้วย AI จากภาพสมาร์ตโฟนผ่านกล้องจุลทรรศน์ ประมวลผลบน iPhone และออกแบบเพื่อช่วยงานโรงพยาบาลชุมชน
The challenge
เครื่อง CBC อัตโนมัติทั่วไปบอกได้ว่าค่าผิดปกติ แต่ไม่ได้จำแนกชนิดเซลล์ทั้งหมด ขณะที่การแยกเม็ดเลือดขาวด้วยสายตาต้องใช้ความชำนาญและเวลา โครงการจึงตั้งโจทย์ว่าจะใช้กล้องจุลทรรศน์ที่โรงพยาบาลมีอยู่แล้วร่วมกับสมาร์ตโฟน เพื่อให้ AI ช่วยระบุชนิดเซลล์และแสดงค่าความมั่นใจได้หรือไม่
My role
ผมนำทีม 3 คน วางขอบเขตผลิตภัณฑ์ ดูแลกระบวนการข้อมูลและโมเดล ตั้งแต่รวบรวมข้อมูล 4 แหล่ง ทำ re-annotation ให้ 13 คลาสตรงกัน แก้ domain gap ของภาพมือถือและ class imbalance ไปจนถึงเชื่อมโมเดลกับแอป iOS และนำเสนอผลงานต่อกรรมการ
From clean data to real-world images
โมเดลใช้ Degradation Augmentation เพื่อจำลองความเบลอแบบภาพมือถือ, Repeat-Factor Sampling เพื่อให้คลาสที่พบได้น้อยถูกนำมาฝึกบ่อยขึ้น และ Equalized Quality Focal Loss เพื่อให้น้ำหนักกับคลาสหายาก กระบวนการนี้ยอมลดคะแนนบนภาพสะอาดบางส่วนเพื่อเพิ่มความทนทานในสภาพใช้งานจริง
Collect
รวบรวมข้อมูลจาก 4 แหล่ง
17,767 imagesAnnotate
Re-annotation ให้ตรงกัน 13 คลาส
13 classesTrain
แก้ domain gap ของภาพมือถือและ class imbalance
YOLO26nEvaluate
ทดสอบกับชุดทดสอบ 13 คลาสและภาพจริงจากโรงพยาบาล
mAP50Deploy
ส่งโมเดลเข้าแอป Flutter บน iPhone
CoreML
- Data
- 4 แหล่ง รวม 17,767 ภาพ re-annotate ให้ตรงกัน 13 คลาส
- Model
- YOLO26n
- Techniques
- Degradation Augmentation · Repeat-Factor Sampling · Equalized Quality Focal Loss
- Application
- Flutter (iOS) พร้อมโมเดล CoreML ประมวลผลบนอุปกรณ์
Results
mAP50 on two evaluation sets
Product and deployment
ผู้ใช้เปิดกล้อง ถ่ายภาพสไลด์เลือด และรับผลวิเคราะห์ภายในแอป Flutter โมเดลทำงานผ่าน CoreML บน iPhone โดยไม่ต้องส่งภาพขึ้น Cloud ผลลัพธ์แสดง bounding box, ชนิดเซลล์ และ confidence score
Limitations
BloodScope เป็นเครื่องมือช่วยตัดสินใจ ผลลัพธ์ยังต้องได้รับการตรวจสอบโดยนักเทคนิคการแพทย์ทุกครั้ง ชุดทดสอบภาพจริงครอบคลุม 6 จาก 13 คลาส จึงต้องเก็บข้อมูลเพิ่มก่อนการใช้งานทางคลินิก