เบื้องหลังการทำ AI เพื่อนับจำนวนคนใส่ mask

วันนี้มีการพูดถึง AI ที่สามารถนับจำนวนคนที่ใส่หน้ากากอนามัยได้ เลยอยากจะมาเจาะลึกเบื้องหลังว่ามันทำอย่างไร และ ถ้าเราจะทำเอง จะทำได้หรือไม่ (ถ้ามีอุปกรณ์พร้อม)

Face Mask Detetion in Youtube.com

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%

ZKTeco principle of Access Control with Mask Detection
Source: Zktco.com

หลังจากที่ได้ model ที่มีความแม่นยำแล้วก็นำมาติดตั้งกับ เครื่องตรวจจับ และจะมีการทดสอบทุกๆ 10000 เคสโดยจะต้องมีความแม่นยำที่ไม่น้อยกว่า 98% (และอาจจะต้องกลับไปทำข้อ 2 ใหม่ คือ การ retrain)

ส่วนที่สอง เป็นการติดตั้ง AI เข้าไปที่ระบบเก็บรูปภาพ

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

ZKTeco’s principle of Access Control with Mask Detection
Source: Zktco.com

สุดท้ายหลังจากที่ติดตั้งระบบเสร็จ ก็จะเป็นการ monitor และเก็บข้อมูลจริงเพื่อนำไปพัฒนา model ต่อยอดให้แม่นยำมากขึ้น

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

Workflow for developing an AI-based face mask detector.
Workflow การสร้าง Model ของ NVIDIA
This image shows the TLT recommended workflow, from processing input data, pruning and retraining the model, to finally exporting and generating a trained and optimized model
การ train pretrained model และ optimization

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://tryolabs.com/blog/2020/07/09/face-mask-detection-in-street-camera-video-streams-using-ai-behind-the-curtain/

https://hackaday.io/project/171688-open-source-mask-detector

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s