เช็คชื่ออัตโนมัติด้วยระบบจดจำใบหน้า : Automatic Attendance 

ผู้เขียนบทความ
นาย ธีรพล เถาว์ชู COE #16
นาย อนันต์วุฒิ ธรรมสุวรรณ COE #16
นาย วิวรรธน์ เจริญมาศ COE #16
คณะ : วิศวกรรมศาสตร์ สาขา : วิศวกรรมคอมพิวเตอร์
วิชา : 04-513-201 การโปรแกรมคอมพิวเตอร์ขั้นสูง

1.ความเป็นมา

ในปัจจุบันเทคโนโลยีเข้ามามีบทบาทในใช้ชีวิตประจำวันอย่าง ทั้งในเรื่องของการแพทย์ เรื่องการเรียนการศึกษา หรือแม้กระทั่งในการอำนวยความสะดวกต่าง ๆ และในปัจจุบันนี้ได้มี ระบบ Face Recognition และ Deep face ที่เป็นเทคโนโลยีที่ใช้การวิเคราะห์และเปรียบเทียบใบหน้าของบุคคลเพื่อตรวจสอบหรือยืนยันตัวตนของพวกเขาเนื่องด้วยการเรียนการสอนนั้นอาจจะเสียเวลาเป็นอย่างในการเช็ครายชื่อของนักเรียน นักศึกษาภายในห้องเรียน และต้องเสียเวลามากขึ้นอีกหาว่าห้องเรียนนั้นมีจำนวนนักเรียน นักศึกษาเป็นจำนวนมากจากปัญหาดั่งกล่าวอาจจะมีส่วนส่งผลกระทบหรืออาจจะเป็นอุปสรรค์ต่อการเรียนการสอนได้ 
ดังนั้นทางคณะกลุ่มได้เล็งเห็นปัญหาจึงได้ระดมความคิดและได้จัดทำมินิโปรเจคชื่อ เช็คชื่ออัตโนมัติด้วยใบหน้า  ( Automatic Face Recognition Attendance ) เพื่อแก้ไขปัญหาการเสียเวลาเช็ครายชื่อนักเรียน นักศึกษา พัฒนาเทคโนโลยีที่อำนวยความสะดวกเพื่อยกระดับการเรียนการสอนขึ้นอีกขั้น และเพื่อการศึกษาการทำงานของ ภาษาpython และ opencv ในการำสร้างระบบ Face Recognition และ Deep Face

2.วัตถุประสงค์

2.1 เพื่อศึกษาการใช้ ภาษา python และ AI ในการสร้างระบบ Face Recognition 

3 ขอบเขตการทำงาน 

3.1 ให้ opencv เก็บภาพและจดจำใบหน้าสมาชิกในห้องเรียน 
3.4 นำใบหน้าที่ได้มาทำการเช็คชื่อ 

4 ประโยชน์ที่ได้รับ 

2.1 ได้ประยุกต์ใช้ ภาษา python และ opencv ในการสร้างระบบ Face Recognition , Deep Face 

5.ความรู้ที่เกี่ยวข้อง

5.1. cv2 (OpenCV) – OpenCV เป็นไลบรารีสำหรับการประมวลผลภาพและวิดีโอที่มีฟังก์ชันหลากหลาย โปรแกรมนี้ใช้ OpenCV เพื่อรับภาพจากกล้องหรือไฟล์วิดีโอ การประมวลผลภาพที่ได้มา และการวาดจุดที่ MediaPipe ตรวจจับได้ลงบนเฟรมภาพ รวมถึงการแสดงผลภาพแบบเรียลไทม์ ตัวอย่างการใช้งาน เช่น การวาดจุดตำแหน่งของข้อนิ้วและปลายนิ้วลงบนภาพวิดีโอ และการติดตามการเคลื่อนไหวของมือเพื่อนำไปแปลเป็นสัญลักษณ์ภาษามือ

5.2 numpy – ไลบรารีที่ทรงพลังสำหรับการคำนวณเชิงตัวเลขและการจัดการข้อมูลในรูปแบบของอาเรย์ (Array) โปรแกรมนี้ใช้ numpy ในการจัดเก็บและคำนวณค่าตำแหน่งของจุดบนมือที่ได้รับจาก MediaPipe ฟังก์ชันของ numpy เช่น การคำนวณค่าระยะห่างระหว่างจุด การคำนวณมุมหรือการคำนวณเชิงเวกเตอร์ ช่วยให้โปรแกรมสามารถวิเคราะห์ตำแหน่งและลักษณะการเคลื่อนไหวของมือได้อย่างแม่นยำและรวดเร็ว

5.3. os Python คือคำสั่งนำเข้า module OS มาในโค้ดภาษา Python เพื่อทำงานกับระบบปฏิบัติ หรือ operating system โดย module OS จะมีฟังก์ชันต่างๆ ที่เกี่ยวข้องกับ OS สามารถเขียนโปรแกรม

สรุป

โค้ดนี้จะเกี่ยวข้องกับการประมวลผลภาพจากกล้องหรือวิดีโอแบบเรียลไทม์ ซึ่งใช้ OpenCV ในการตรวจจับใบหน้าและเปรียบเทียบใบหน้า เพื่อทำการเช็คชื่อลงใน Google Sheet

6.การดำเนินงาน

7.วิธีการใช้งานโปรแกรม

วิธีการใช้งานโปรแกรม
7.1. เปิด cmd
7.2. พิมพ์ py espcam.py
7.3. ใช้งานได้เลย
7.4. เข้ากล้องเพื่อสแกนหน้าและเช็คชื่อ

8.การทดลอง

9.เทคนิกการประยุคเพื่อเพิ่มประสิทธิภาพมากขึ้น

แนะนำให้ใช้ Machine Learning เพื่อเพิ่มประสิทธิภาพในการจับหน้าใหัละเอียดและเพื่อให้มีปัญหาในการใช้งานน้อยลง ทำให้แม่นยำขึ้น

10.สรุปผลและข้อเสนอแนะ

สรุปผล
จากการทดลองพบว่า เช็คชื่ออัตโนมัติด้วยระบบจดจำใบหน้า : Automatic Attendance  นั้นสามารถทำงานได้อย่างถูกต้อง สามารถตรวจจับใบหน้าและทำการเช็ค ชื่อนักเรียน-นักศึกษาได้ แต่ยังคงมีความผิดพลาดเล็กน้อย เช่น จับหน้าไม่ค่อยติด และ เมื่อส่ง data ไป sheet จะทำให้โปรแกรมค้างไปชั่วขณะ
ข้อเสนอแนะ
– ก่อนนำภาพมาประมวลผล ควรปรับปรุงคุณภาพภาพให้ดีขึ้น เช่น การปรับความสว่าง ความคมชัด
– เพิ่มข้อมูลในการฝึกสอนให้มากขึัน เพื่อให้มีความแม่นยำมากขึ้น
– อาจจะเพิ่มการเเจ้งเตือนเมื่อทำการเช็คชื่อเสร็จเเล้ว
– เพิ่ม Deep learning เพื่อเพิ่มความแม่นยำในการวิเคราะห์ใบหน้า

11. ข้อมูลอ้างอิง

11.1 Python | เขียนโปรแกรมถ่ายภาพหน้าจอ โดยใช้ OpenCV/Numpy และ mss : https://medium.com/@pattanapong.sriph/python-
11.2 อยากมี API เป็นของตัวเอง สร้างได้ง่าย ๆ ด้วย Google Sheet :
https://www.borntodev.com/2022/09/23/
11.3 สรุปพื้นฐาน python :
https://medium.com/@teeppiphat/

วิดีโอการทำงานของระบบโปรแกรมแปลภาษามือเบื้องต้นด้วยการประมวณผลภาพ

You may also like...

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *