ลงเวลา & สแกนใบหน้า

ลงเวลา & สแกนใบหน้า

ระบบลงเวลาเข้า-ออกงานด้วย Face Recognition พร้อมตรวจสอบตำแหน่ง GPS (Geofence)

วิธีการลงเวลา

ระบบรองรับการลงเวลาหลายวิธี:

วิธีการรายละเอียดผู้ใช้
Face Recognition สแกนใบหน้าผ่านกล้อง Webcam หรือกล้องหน้าสมาร์ทโฟน พนักงานทุกคน
Public Clock หน้า Self-service สำหรับลงเวลาด้วยตนเอง พนักงานทุกคน
Manual Entry บันทึกเวลาด้วยมือ (สำหรับกรณีพิเศษ) Admin / HR

ขั้นตอนลงเวลาด้วย Face Recognition

เปิดหน้าลงเวลา คลิกเมนู "ลงเวลา" หรือปุ่ม "Clock In/Out" ที่แดชบอร์ด
อนุญาตเข้าถึงกล้อง เบราว์เซอร์จะขออนุญาตเปิดกล้อง คลิก "Allow" (ครั้งแรกเท่านั้น)
ตรวจสอบตำแหน่ง GPS ระบบจะตรวจสอบว่าคุณอยู่ในพื้นที่ Geofence ที่กำหนด
สแกนใบหน้า หันหน้าตรงเข้ากล้อง ระบบจะตรวจจับและเปรียบเทียบใบหน้าอัตโนมัติ
บันทึกสำเร็จ เมื่อยืนยันตัวตนผ่าน ระบบจะบันทึกเวลา รูปถ่าย และตำแหน่ง GPS

ขั้นตอนการทำงาน (Flow)

เปิดกล้อง
ตรวจ GPS
สแกนใบหน้า
จับคู่ตัวตน
บันทึกเวลา

Face Recognition — รายละเอียดเทคนิค

ระบบรองรับ Face Recognition 2 โหมด:

Client-Side (face-api.js)

  • ประมวลผลในเบราว์เซอร์โดยตรง ไม่ส่งข้อมูลไปเซิร์ฟเวอร์
  • ใช้โมเดล SSD MobileNet V1 สำหรับตรวจจับใบหน้า
  • ใช้ Face Landmark 68 จุด สำหรับระบุตำแหน่งใบหน้า
  • สร้าง 128-Dimension Face Descriptor สำหรับเปรียบเทียบ

Server-Side (Python API — ตัวเลือกเสริม)

  • ใช้ library face_recognition (dlib) ที่มีความแม่นยำสูง
  • ทำงานบน Flask API port 5050
  • ระบบจะ Fallback ไปใช้ Client-Side อัตโนมัติหากไม่พร้อม
พารามิเตอร์ค่า
ค่า Threshold การจับคู่0.6 (Euclidean Distance)
ความมั่นใจขั้นต่ำ0.5 (Min Confidence)
ขนาดใบหน้าขั้นต่ำ80px
อัตราตรวจจับ5 FPS

Geofence — การตรวจสอบตำแหน่ง

ระบบใช้ GPS ตรวจสอบว่าพนักงานอยู่ในพื้นที่ที่กำหนดก่อนอนุญาตให้ลงเวลา:

  • พิกัดศูนย์กลาง — ละติจูดและลองจิจูดของสถานที่ทำงาน
  • รัศมี (เมตร) — ระยะห่างสูงสุดที่อนุญาต
  • การคำนวณ — ใช้สูตร Haversine เพื่อคำนวณระยะทาง
💡
สามารถตั้งค่า Geofence แยกแต่ละสาขาได้ที่ ตั้งค่าระบบ → Geofence Locations

ข้อมูลที่บันทึก

ทุกครั้งที่ลงเวลา ระบบจะบันทึกข้อมูลดังนี้:

ข้อมูลรายละเอียด
เวลาเข้า / ออกวันที่และเวลาที่แน่นอน
รูปถ่ายภาพถ่ายจากกล้องขณะสแกน
ตำแหน่ง GPSละติจูด, ลองจิจูด
วิธีการลงเวลาFace Recognition / Manual / Public Clock
ค่า Face Matchค่าความเชื่อมั่นในการจับคู่ใบหน้า
สถานะตรงเวลา / มาสาย (จำนวนนาที) / ออกก่อนเวลา
OTจำนวนนาทีทำงานล่วงเวลา (คำนวณอัตโนมัติ)

รายงานการลงเวลา

Admin/HR สามารถดูรายงานสรุปการลงเวลาได้ที่เมนู "รายงานการลงเวลา":

  • กรองตามช่วงวันที่ แผนก พนักงาน
  • ดูสถิติมาสาย ขาดงาน ออกก่อน
  • ดูภาพถ่ายประกอบการลงเวลา
  • ส่งออกรายงานเป็นไฟล์

บันทึกเวลาด้วยมือ (Manual Entry)

สำหรับกรณีพิเศษที่ไม่สามารถสแกนใบหน้าได้ Admin/HR สามารถบันทึกเวลาด้วยมือ:

  • เลือกพนักงาน
  • กำหนดวันที่และเวลาเข้า-ออก
  • ระบุเหตุผล (เช่น ลืมสแกน, ระบบขัดข้อง)
⚠️
การบันทึกด้วยมือต้องมีสิทธิ์ attendance.create เท่านั้น