วันนี้มีการพูดถึง AI ที่สามารถนับจำนวนคนที่ใส่หน้ากากอนามัยได้ เลยอยากจะมาเจาะลึกเบื้องหลังว่ามันทำอย่างไร และ ถ้าเราจะทำเอง จะทำได้หรือไม่ (ถ้ามีอุปกรณ์พร้อม)
Objective: เพื่อพัฒนา AI solutions ที่สามารถนับจำนวนคนใส่หน้ากากอนามัยได้ โดยใช้ข้อมูลจากวีดีโอ
แนวคิดการทำ AI: ทุกครั้งที่เราเริ่มจะทำ solution อะไรซักอย่าง ไม่ว่าจะเป็น AI หรือไม่ สิ่งแรกที่ต้องทำ คือ ความาเข้าใจกระบวนการปัจจุบันที่มีอยู่ก่อน และวิเคราะห์ถึงปัญหาที่เกิดขึ้น และ ถ้าเราคิดว่า AI น่าจะแก้ปัญหาเราก็เริ่มการทดลองสร้างมันดู และ ถ้ามันได้ผลที่แม่นยำ (กว่ากระบวนการปกติ) เราก็นำมาใช้จริงกับธุรกิจของเรา
ถ้าไม่มี AI Technology กระบวนการนับคนที่ใส่หน้ากากอนามัยสามารถทำได้อย่างไร? จริงๆแล้วเราก็เอาคนมานั่งหน้าอาคาร และ นั่งนับคนใส่หน้ากากว่าเข้าอาคารกี่คนก็ได้นะครับ แม่นยำด้วย แต่อาจจะไม่สามารถทำอะไรได้เหมือนเครื่องจักร ซึ่งก็คือ คนอาจจะเหนื่อยบ้าง มี bias บ้าง และไม่สามารถทำงานได้ตลอด 24 ชั่วโมง หรือ ไม่สามารถ scale ไปได้หลายๆอาคารได้อย่างรวดเร็วเหมือนที่เราขยาย AI technology ไปได้อย่ารวดเร็ว (เมื่อเรามั่นใจว่ามันแม่นยำกว่าคน)
สิ่งหนึ่งที่สำคัญ ถ้าเราจะทำการพัฒนา AI เราต้องวางแผนการให้ เครื่องจักร์ หรือ machine เรียนรู้แบบคนให้ได้ โดยการดูว่า คนใส่ mask หรือ ไม่เราก็จะต้อง สอน machine ให้ดูรูปทั้งคนใส่ mask และ คนไม่ใส่ mask เพื่อให้ machine มันเรียนรู้หรือ ที่เรียกว่า Machine + Learning ไงครับ
วิธีการสร้าง AI เพื่อให้เข้าใจได้ง่าย จะขอยกตัวอย่างของ บริษัท Zkteco นะครับ ซึ่งอธิบายไว้ได้ดี และ ง่ายต่อการเข้าใจ กระบวนการจะแบ่งออกเป็นสองส่วนครับ
ส่วนแรก วิธีการสอนให้เครื่องเรียนรู้ และจำแนก รูปภาพ ว่าเป็น Mask หรือ No Mask
สำหรับวิธีการของ Zkteco นันเริ่มด้วยขั้นตอนของการ train model ด้วย รูปภาพ คนใส่ mask สองแสนใบ และ รูปภาพหน้าคน หนึ่งล้านรูป และพัฒนาจนให้ได้ ค่า recognition deviation rate ต่ำกว่า 10%
ขั้นต่อไปเป็นการนำพยายามลดค่า deviation rate โดยเพิ่มข้อมูลที่ทายผิดเข้าไป เพื่อใหเรียนรู้เพิ่มเติมจน มีความแม่นยำที่ 99.8%

หลังจากที่ได้ model ที่มีความแม่นยำแล้วก็นำมาติดตั้งกับ เครื่องตรวจจับ และจะมีการทดสอบทุกๆ 10000 เคสโดยจะต้องมีความแม่นยำที่ไม่น้อยกว่า 98% (และอาจจะต้องกลับไปทำข้อ 2 ใหม่ คือ การ retrain)
ส่วนที่สอง เป็นการติดตั้ง AI เข้าไปที่ระบบเก็บรูปภาพ
ขั้นตอนนี้คือการติดตั้ง model ที่เราสร้างเสร็จเข้ากับระบบจริง โดยอย่างที่กล่าวมาแล้วข้างต้นว่า เราต้องรูปกระบวนก่อน ซึ่ง การติดตั้ง model จะมี models อื่นร่วมอยู่ด้วย ตามภาพด้านล่าง (เช่น การจับว่าใบหน้าอยู่ส่วนไหน การ detect หู ตา จมูก) เมื่อติดตั้งเสร็จก็จะมีการทดลองใช้จริง ซึ่งอาจจะมีการ tuning หรือ เพิ่ม techniques เข้าไปเพื่อให้ประสิทธิภาพดีขึ้น โดยในตัวอย่างนี้ มีการเพิ่ม การ resize, rotate ให้มากขึ้น

สุดท้ายหลังจากที่ติดตั้งระบบเสร็จ ก็จะเป็นการ monitor และเก็บข้อมูลจริงเพื่อนำไปพัฒนา model ต่อยอดให้แม่นยำมากขึ้น
นอกจากตัวอย่างของ Zktco แล้ว ยังมีบริษัทอื่นๆทีทำมากมาย เช่นตัวอย่างของ NVIDIA ก็มีการอธิบายถึงวิธีการประยุกต์ใช้ pretrain models


Open Source Mask Detector
สุดท้ายสำหรับผู้สนใจอยากจะสร้างเอง สามารถ follow ในกลุ่ม https://hackaday.io/ สำหรับโปรเจค Mask Detector ได้นะครับ จะมีการมาแชร์ idea และ sourcecode กันครับ หรือจะค้นหาใน github ก็ได้ครับ
ใครสนใจลองศึกษาดูนะครับ ตามลิ้งด้านบน หรือ ใน google ก็ได้ครับ
อย่าลืมใส่ mask ออกจากบ้านนะครับ
Source:
https://zkteco.eu/news-center/news/zkteco-access-control-mask-detection
https://hackaday.io/project/171688-open-source-mask-detector