
ระบบอนุญาตให้ผู้ใช้อัปโหลดรูปภาพไปยังฐานข้อมูลซึ่งจะใช้ในการจดจำใบหน้าของพวกเขาระหว่างการตรวจสอบการเข้าร่วม ใบหน้าที่ได้รับการยอมรับจะถูกจับคู่กับฐานข้อมูลและการเข้าร่วมจะได้รับการอัปเดตแบบเรียลไทม์ ระบบยังมีคุณสมบัติการเข้าสู่ระบบที่ปลอดภัยสำหรับครูในการดูบันทึกการเข้าร่วม
โครงการนี้เป็นตัวอย่างที่ยอดเยี่ยมของวิธีการใช้การมองเห็นคอมพิวเตอร์และการเรียนรู้ของเครื่องเพื่อใช้กระบวนการแบบดั้งเดิมโดยอัตโนมัติทำให้มีประสิทธิภาพและแม่นยำยิ่งขึ้น
ในระบบการเข้าร่วมแบบดั้งเดิมกระบวนการทำเครื่องหมายการเข้าร่วมมักจะใช้เวลานานและมีแนวโน้มที่จะเกิดข้อผิดพลาด ด้วยการถือกำเนิดของการเรียนรู้ของเครื่องและวิสัยทัศน์คอมพิวเตอร์ตอนนี้เรามีเครื่องมือในการทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติและทำให้มีประสิทธิภาพและแม่นยำยิ่งขึ้น
ระบบการเข้าร่วมการจดจำใบหน้าของเราได้รับการออกแบบมาเพื่อใช้ประโยชน์จากเทคโนโลยีเหล่านี้เพื่อจัดหาโซลูชันการติดตามการเข้าร่วมที่ราบรื่นและเป็นไปโดยอัตโนมัติ ระบบใช้เทคโนโลยีการจดจำใบหน้าเพื่อระบุบุคคลและทำเครื่องหมายการเข้าร่วมของพวกเขา กระบวนการนี้ไม่จำเป็นต้องเข้าด้วยตนเองและลดโอกาสในการเกิดข้อผิดพลาดหรือรายการที่ฉ้อโกง
ระบบถูกสร้างขึ้นโดยใช้ Python, Flask, OpenCV และ Firebase Python และ Flask ให้ฟังก์ชั่นแบ็กเอนด์ OpenCV ใช้สำหรับการตรวจจับและรับรู้ใบหน้าและ Firebase ใช้เป็นฐานข้อมูลเพื่อจัดเก็บข้อมูลผู้ใช้และบันทึกการเข้าร่วม
ระบบยังรวมถึงคุณสมบัติการเข้าสู่ระบบที่ปลอดภัยสำหรับครูทำให้พวกเขาสามารถดูบันทึกการเข้าร่วมได้ คุณลักษณะนี้ช่วยให้มั่นใจได้ว่าบุคคลที่ได้รับอนุญาตเท่านั้นที่สามารถเข้าถึงข้อมูลการเข้าร่วมได้
ไม่ว่าคุณจะเป็นมหาวิทยาลัยที่ต้องการปรับปรุงกระบวนการติดตามการเข้าร่วมของคุณหรือธุรกิจที่ต้องการระบบเช็คอินพนักงานของคุณโดยอัตโนมัติระบบการเข้าร่วมการจดจำใบหน้าของเราให้บริการโซลูชั่นที่แข็งแกร่งและมีประสิทธิภาพ
กรุณาคลิกรูปภาพด้านล่างสำหรับวิดีโอโครงการ

ระบบการเข้าร่วมการจดจำใบหน้า มาพร้อมกับโฮสต์ของคุณสมบัติที่ออกแบบมาเพื่อให้การติดตามการเข้าร่วมเป็นไปอย่างราบรื่นและมีประสิทธิภาพมากที่สุด:
การจดจำใบหน้า : ระบบใช้เทคโนโลยีการจดจำใบหน้าขั้นสูงเพื่อระบุบุคคลและทำเครื่องหมายการเข้าร่วมของพวกเขา สิ่งนี้ช่วยลดความจำเป็นในการเข้าร่วมด้วยตนเองและสร้างความมั่นใจในความแม่นยำในการติดตามการเข้าร่วม
การติดตามการเข้าร่วมแบบเรียลไทม์ : ระบบติดตามการเข้าร่วมตามเวลาจริง ทันทีที่ระบบได้รับการยอมรับจากแต่ละบุคคลการเข้าร่วมของพวกเขาจะถูกทำเครื่องหมายและอัปเดตในฐานข้อมูล
Secure Teacher Login : ระบบมีคุณสมบัติการเข้าสู่ระบบที่ปลอดภัยสำหรับครู สิ่งนี้ช่วยให้ครูสามารถดูบันทึกการเข้าร่วมและมั่นใจได้ว่าบุคคลที่ได้รับอนุญาตเท่านั้นที่สามารถเข้าถึงข้อมูลนี้ได้
การสนับสนุนหลายคลาส : ระบบรองรับหลายคลาส นักเรียนสามารถลงทะเบียนในหลายชั้นเรียนและการเข้าร่วมของพวกเขาจะถูกติดตามแยกต่างหากสำหรับแต่ละชั้นเรียน
การรวมฐานข้อมูล : ระบบถูกรวมเข้ากับ Firebase ซึ่งเป็นฐานข้อมูล NOSQL บนคลาวด์ สิ่งนี้ช่วยให้การจัดเก็บข้อมูลที่มีประสิทธิภาพและการดึงข้อมูลผู้ใช้และบันทึกการเข้าร่วม
การสนับสนุนเว็บแคม : ระบบรองรับอินพุตเว็บแคมสำหรับการจดจำใบหน้า สิ่งนี้ทำให้ง่ายต่อการติดตั้งและใช้งานในการตั้งค่าที่หลากหลาย
อินเทอร์เฟซที่ใช้งานง่าย : ระบบมีอินเทอร์เฟซที่ใช้งานง่ายทำให้ผู้ใช้สามารถนำทางและใช้ระบบได้ง่าย
โอเพ่นซอร์ส : ระบบเป็นโอเพ่นซอร์ส นักพัฒนาสามารถมีส่วนร่วมและช่วยปรับปรุงระบบ





เพื่อให้ระบบการเข้าร่วมการจดจำใบหน้าและทำงานบนเครื่องในพื้นที่ของคุณให้ทำตามขั้นตอนเหล่านี้:
โคลนที่เก็บ : ก่อนอื่นให้โคลนที่เก็บของเครื่องในเครื่องของคุณ คุณสามารถทำได้โดยเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลของคุณ:
git clone https://github.com/turhancan97/Intelligent-Face-Recognition-Attendance-System.git
สร้างสภาพแวดล้อมเสมือนจริงและเปิดใช้งาน คุณสามารถทำได้โดยเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลของคุณ:
สภาพแวดล้อม Python
python3.8 -m venv your_env_name
source your_env_name/bin/activate
หรือ
สภาพแวดล้อมคอนดา
conda create -n your_env_name python=3.8
conda activate your_env_name
สิ่งนี้จะสร้างสภาพแวดล้อมเสมือนจริงและเปิดใช้งาน การพึ่งพาทั้งหมดจะถูกติดตั้งในสภาพแวดล้อมเสมือนจริงนี้
ติดตั้งการพึ่งพา : นำทางไปยังไดเรกทอรีโครงการโคลนและติดตั้งการพึ่งพาที่จำเป็นโดยเรียกใช้:
pip install -r requirements.txt
คำสั่งนี้จะติดตั้งไลบรารีและแพ็คเกจที่จำเป็นทั้งหมดที่ระบุไว้ในไฟล์ requirements.txt . txt
โปรดทราบว่าคุณต้องดาวน์โหลดไฟล์ตัวทำนายรูปร่าง 'shape_predictor_68_face_landmarks.dat' จากเว็บไซต์ DLIB คุณสามารถดาวน์โหลดไฟล์ได้จากที่นี่ คุณสามารถใส่ไฟล์ในโฟลเดอร์การตรวจจับและคุณต้องเขียนเส้นทางเต็มของไฟล์ในไฟล์ face_matching.py สำหรับตัวแปร datfile ดังต่อไปนี้

ตั้งค่า Firebase : ระบบใช้ Firebase สำหรับการดำเนินการฐานข้อมูล คุณต้องตั้งค่าโครงการ Firebase และเปลี่ยนการกำหนดค่า Firebase ในโครงการด้วยของคุณเอง คุณสามารถทำตามคู่มือการตั้งค่า Firebase สำหรับคำแนะนำ



เรียกใช้แอปพลิเคชัน : ก่อนอื่นเรียกใช้คำสั่งด้านล่างและป้อนรหัสผ่านสำหรับการเข้าสู่ระบบของครู
python generate_password_hash.py
จากนั้นคัดลอกไฟล์ configs/database.yaml ลงในส่วน Enter-Your-Teacher-Login-Hash
เมื่อการตั้งค่าทั้งหมดเสร็จสมบูรณ์คุณสามารถเรียกใช้แอปพลิเคชันได้โดยดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัล:
python app.py
สิ่งนี้จะเริ่มต้นเซิร์ฟเวอร์ Flask และแอปพลิเคชันจะสามารถเข้าถึงได้ที่ http://127.0.0.1:5000/
โปรดทราบว่าคุณต้องมีเว็บแคมที่เชื่อมต่อกับเครื่องของคุณเพื่อให้คุณลักษณะการจดจำใบหน้าทำงานได้ หากคุณใช้แล็ปท็อปเว็บแคมในตัวจะทำงานได้ดี
เมื่อคุณมีระบบการเข้าร่วมการจดจำใบหน้าคุณสามารถเริ่มใช้งานได้โดยทำตามขั้นตอนเหล่านี้:
โฮมเพจ : เปิดเว็บเบราว์เซอร์ของคุณและนำทางไปที่ http://127.0.0.1:5000/ สิ่งนี้จะนำคุณไปที่หน้าแรกของแอปพลิเคชัน
อัปโหลดหน้าใหม่ : หากต้องการเพิ่มนักเรียนใหม่ลงในระบบให้คลิกที่ปุ่ม "อัปโหลดหน้าใหม่เป็นภาพ" สิ่งนี้จะช่วยให้คุณอัปโหลดภาพใบหน้าของนักเรียน ภาพควรชัดเจนและใบหน้าของนักเรียนควรมองเห็นได้ นอกจากนี้คุณสามารถจับภาพจากกล้องได้โดยคลิกที่ปุ่ม "จับหน้าใหม่จากกล้อง"
เพิ่มข้อมูลนักเรียน : หลังจากอัปโหลดรูปภาพคุณจะถูกนำไปยังหน้าเว็บที่คุณสามารถป้อนข้อมูลของนักเรียนได้ ซึ่งรวมถึงชื่อของนักเรียนอีเมลประเภทผู้ใช้ (นักเรียนหรือครู) ชั้นเรียนที่พวกเขาลงทะเบียนและรหัสผ่าน เมื่อคุณป้อนข้อมูลทั้งหมดให้คลิกที่ปุ่ม "ส่ง"
การจดจำใบหน้า : กลับมาที่หน้าแรกคุณสามารถคลิกที่ปุ่ม "รู้จักใบหน้า" สิ่งนี้จะเริ่มกระบวนการจดจำใบหน้า ระบบจะพยายามจับคู่ใบหน้าที่ด้านหน้าของเว็บแคมกับใบหน้าในฐานข้อมูล
การเลือกคลาส : หากพบการจับคู่คุณจะถูกเปลี่ยนเส้นทางไปยังหน้าเว็บที่คุณสามารถเลือกคลาสได้ การเข้าร่วมคลาสที่เลือกจะได้รับการอัปเดตในฐานข้อมูล
การเข้าสู่ระบบของครู : หากคุณเป็นครูคุณสามารถดูการเข้าร่วมได้โดยคลิกที่ปุ่ม "เข้าสู่ระบบครู" ในหน้าแรก คุณจะถูกขอให้ป้อนรหัสผ่าน เมื่อป้อนรหัสผ่านที่ถูกต้องแล้วคุณจะถูกนำไปยังหน้าการเข้าร่วมซึ่งคุณสามารถดูรายชื่อนักเรียนและการเข้าร่วมของพวกเขา
โปรดจำไว้ว่าคุณสมบัติการจดจำใบหน้าต้องใช้เว็บแคม หากคุณใช้แล็ปท็อปเว็บแคมในตัวจะทำงานได้ดี หากคุณใช้เดสก์ท็อปคุณจะต้องเชื่อมต่อเว็บแคมกับเครื่องของคุณ
ระบบการเข้าร่วมการจดจำใบหน้าต้องอาศัยไลบรารี Python หลายแห่งในการทำงานอย่างถูกต้อง นี่คือรายการของการพึ่งพาหลัก:
Flask : กรอบแอปพลิเคชันเว็บที่มีน้ำหนักเบา มันถูกใช้เพื่อจัดการด้านเว็บเซิร์ฟเวอร์ของแอปพลิเคชัน
OpenCV : ไลบรารีของฟังก์ชั่นการเขียนโปรแกรมส่วนใหญ่มุ่งเป้าไปที่การมองเห็นคอมพิวเตอร์แบบเรียลไทม์ มันถูกใช้เพื่อจับภาพจากเว็บแคมและทำการตรวจจับใบหน้า
ผู้ดูแลระบบ Firebase : ห้องสมุดสำหรับการโต้ตอบกับบริการ Firebase มันถูกใช้เพื่อโต้ตอบกับฐานข้อมูล Firebase Realtime และ Firebase Storage
Werkzeug : ห้องสมุดแอปพลิเคชันเว็บ WSGI ที่ครอบคลุม มันถูกใช้เพื่อจัดการการอัปโหลดไฟล์ใน Flask
หมอน : ไลบรารีการถ่ายภาพ Python เพิ่มความสามารถในการประมวลผลภาพให้กับล่าม Python ของคุณ
Numpy : ไลบรารีสำหรับภาษาการเขียนโปรแกรม Python เพิ่มการสนับสนุนสำหรับอาร์เรย์และเมทริกซ์หลายมิติขนาดใหญ่พร้อมกับคอลเลกชันขนาดใหญ่ของฟังก์ชั่นทางคณิตศาสตร์ระดับสูงเพื่อใช้งานในอาร์เรย์เหล่านี้
ในการติดตั้งการพึ่งพาเหล่านี้คุณสามารถใช้ PIP ซึ่งเป็นตัวจัดการแพ็คเกจสำหรับ Python เพียงเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลของคุณ:
pip install -r requirements.txt สิ่งนี้จะติดตั้งแพ็คเกจที่จำเป็นทั้งหมด ตรวจสอบให้แน่ใจว่าคุณอยู่ในไดเรกทอรีที่ถูกต้องเมื่อคุณเรียกใช้คำสั่งนี้ (ไดเรกทอรีควรมีไฟล์ requirements.txt )
การมีส่วนร่วมในระบบการเข้าร่วมการจดจำใบหน้ายินดีเป็นอย่างยิ่ง! หากคุณมีคำขอคุณลักษณะรายงานข้อผิดพลาดหรือข้อเสนอสำหรับการปรับโครงสร้างรหัสโปรดเปิดปัญหาหรือสร้างคำขอดึง
นี่คือวิธีที่คุณสามารถมีส่วนร่วม:
การปรับปรุง UI/UX : อินเทอร์เฟซปัจจุบันค่อนข้างพื้นฐาน หากคุณมีประสบการณ์เกี่ยวกับการพัฒนาส่วนหน้าและมีแนวคิดเกี่ยวกับวิธีการปรับปรุงส่วนต่อประสานผู้ใช้หรือประสบการณ์ผู้ใช้การมีส่วนร่วมของคุณจะได้รับการชื่นชมอย่างมาก
การเพิ่มคุณสมบัติใหม่ : หากคุณมีความคิดสำหรับคุณสมบัติใหม่ที่เหมาะกับโครงการนี้ให้เข้ากันได้ดีอย่าลังเลที่จะแนะนำโดยการเปิดปัญหา หากคุณต้องการที่จะนำไปใช้ด้วยตัวเองดียิ่งขึ้น! เปิดคำขอดึงด้วยการเปลี่ยนแปลงของคุณและเราจะตรวจสอบ
การรายงานข้อบกพร่อง : หากคุณพบข้อบกพร่องใด ๆ ในขณะที่ใช้ระบบโปรดรายงานโดยเปิดปัญหา รวมข้อมูลให้มากที่สุดเท่าที่จะเป็นไปได้เกี่ยวกับข้อผิดพลาดและสถานการณ์ที่เกิดขึ้น
รหัส Refactoring : เช่นเดียวกับโครงการซอฟต์แวร์ใด ๆ มีที่ว่างสำหรับการปรับปรุงใน codebase เสมอ หากคุณเห็นโอกาสในการสร้างรหัสบางส่วนเพื่อให้สะอาดมีประสิทธิภาพมากขึ้นหรือแข็งแกร่งขึ้นเรายินดีที่จะตรวจสอบข้อเสนอของคุณ
ก่อนที่จะมีส่วนร่วมโปรดตรวจสอบให้แน่ใจว่าได้ตรวจสอบปัญหาที่มีอยู่และดึงคำขอเพื่อหลีกเลี่ยงความพยายามซ้ำซ้อน นอกจากนี้เมื่อคุณเปิดคำขอดึงให้แน่ใจว่าได้รวมคำอธิบายที่ชัดเจนและละเอียดของการเปลี่ยนแปลงที่คุณทำ
ขอขอบคุณที่ให้ความสนใจในการมีส่วนร่วมในระบบการเข้าร่วมการจดจำใบหน้า!
มีหลายพื้นที่ที่ระบบสามารถปรับปรุงหรือขยายได้ในอนาคต:
การกำหนดรหัสนักเรียน : ปัจจุบันรหัสนักเรียนได้รับมอบหมายเป็นหนึ่งภาพมากกว่าจำนวนภาพทั้งหมดในฐานข้อมูล ในอนาคตเราวางแผนที่จะเพิ่มประสิทธิภาพกระบวนการนี้โดยการกำหนดรหัสนักเรียนที่หายไป (เช่นหาก IDs คือ 1,2,3,4, [], 6,7,8, ID ของภาพใหม่จะเป็น 5)
การปรับปรุงส่วนต่อประสานผู้ใช้ : เรามุ่งมั่นที่จะเพิ่มความน่าดึงดูดความงามของอินเทอร์เฟซเพื่อให้ประสบการณ์ผู้ใช้ที่มีส่วนร่วมมากขึ้น
การเพิ่มอิมเมจฐานข้อมูล : ณ ตอนนี้รูปภาพจะถูกเพิ่มลงในฐานข้อมูลทันทีที่ถูกจับ เราวางแผนที่จะแก้ไขกระบวนการนี้เพื่อให้ภาพถูกเพิ่มลงในฐานข้อมูลหลังจากป้อนข้อมูลที่เกี่ยวข้องเท่านั้น
การเพิ่มประสิทธิภาพฐานข้อมูล : เรามุ่งมั่นที่จะเพิ่มประสิทธิภาพการดำเนินงานฐานข้อมูลเพื่อเร่งกระบวนการโดยเรียกพวกเขาเพียงครั้งเดียว
การปรับปรุงความปลอดภัย : เราวางแผนที่จะใช้วิธีการที่ปลอดภัยยิ่งขึ้นสำหรับการจัดการข้อมูลและการตรวจสอบผู้ใช้
การเข้าสู่ระบบของนักเรียน : ในอนาคตเราวางแผนที่จะอนุญาตให้นักเรียนเข้าสู่ระบบโดยใช้รหัสผ่าน
ฐานข้อมูลครู : เรามุ่งมั่นที่จะสร้างฐานข้อมูลแยกต่างหากสำหรับครู เมื่อกดปุ่ม 'เข้าสู่ระบบของครู' จะมีการร้องขอชื่อผู้ใช้และรหัสผ่าน
มุมมองของครู : เมื่อเข้าสู่ระบบครูจะสามารถดูการเข้าเรียนของนักเรียนได้ตามชั้นเรียนที่พวกเขาสอน
การปรับใช้ : ปัจจุบันระบบได้รับการออกแบบให้ทำงานในพื้นที่ ในอนาคตเราวางแผนที่จะปรับใช้ระบบบนแพลตฟอร์มเช่น Heroku ซึ่งจะทำให้สามารถเข้าถึงได้จากทุกที่ไม่ใช่แค่ในเครื่องท้องถิ่น
ปรับปรุงการจัดการข้อผิดพลาดและความคิดเห็นของผู้ใช้ : ในขณะที่ระบบจัดการกับข้อผิดพลาดและให้ข้อเสนอแนะแก่ผู้ใช้ แต่ด้านเหล่านี้สามารถปรับปรุงได้เพื่อให้ระบบมีความแข็งแกร่งและใช้งานง่ายมากขึ้น
การอัปเดตแบบเรียลไทม์ : ในขณะนี้ข้อมูลการเข้าร่วมจะได้รับการอัปเดตเมื่อนักเรียนเข้าสู่ระบบในอนาคตเราสามารถใช้การอัปเดตแบบเรียลไทม์เพื่อให้ข้อมูลการเข้าร่วมได้รับการปรับปรุงทันทีทันทีที่ใบหน้าของนักเรียนได้รับการยอมรับ
การรวมเข้ากับระบบอื่น ๆ : ระบบสามารถรวมเข้ากับระบบอื่น ๆ ที่ใช้ในสถาบันการศึกษาเช่นระบบการจัดการการเรียนรู้หรือระบบข้อมูลนักเรียน สิ่งนี้จะช่วยให้ได้รับประสบการณ์ที่ราบรื่นมากขึ้นสำหรับทั้งนักเรียนและครู
คุณสมบัติเพิ่มเติม : มีคุณสมบัติเพิ่มเติมมากมายที่สามารถเพิ่มเข้าไปในระบบเช่นการรองรับกล้องหลายตัวการรับรู้หลายใบหน้าในครั้งเดียวหรือความสามารถในการจัดการกับสภาพแสงที่แตกต่างกัน
นี่เป็นเพียงแนวคิดบางประการสำหรับการปรับปรุงในอนาคต เรามักจะเปิดรับแนวคิดและข้อเสนอแนะใหม่ ๆ ดังนั้นอย่าลังเลที่จะมีส่วนร่วม!
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT ซึ่งหมายความว่าคุณมีอิสระที่จะใช้แก้ไขและแจกจ่ายโครงการภายใต้ข้อกำหนดของใบอนุญาตนี้ โปรดดูไฟล์ใบอนุญาตสำหรับรายละเอียดเพิ่มเติม
โปรดทราบว่าโครงการนี้มีให้ "ตามสภาพ" โดยไม่มีการรับประกันใด ๆ ผู้เขียนจะไม่รับผิดชอบต่อความเสียหายหรือปัญหาใด ๆ ที่อาจเกิดขึ้นจากการใช้โครงการ ตรวจสอบรหัสด้วยตัวเองเสมอก่อนที่จะใช้ในสภาพแวดล้อมการผลิต
นี่คือมุมมองระดับสูงของส่วนประกอบของระบบและการโต้ตอบของพวกเขา:

1. ระบบการจดจำใบหน้า: นี่คือแกนหลักของโครงการของคุณ มันจะจับภาพหรือกรอบวิดีโอตรวจจับใบหน้าแยกคุณสมบัติและใบหน้าที่ตรงกัน ระบบนี้จะได้รับการพัฒนาโดยใช้ Python และ OpenCV
2. ส่วนต่อประสานผู้ใช้: นี่เป็นส่วนหนึ่งของระบบที่ผู้ใช้ (นักเรียนและอาจารย์) จะโต้ตอบกับ มันจะแสดงข้อมูลจากฐานข้อมูล Firebase และส่งอินพุตผู้ใช้ไปยังฐานข้อมูล อินเทอร์เฟซจะได้รับการพัฒนาเป็นเว็บแอปพลิเคชันโดยใช้ HTML, CSS และ JavaScript
3. ฐานข้อมูล Firebase: นี่คือที่ที่ข้อมูลที่จำเป็นทั้งหมดจะถูกเก็บไว้ ฐานข้อมูลจะจัดเก็บข้อมูลนักเรียนบันทึกการเข้าร่วมและข้อมูลที่จำเป็นอื่น ๆ ระบบการจดจำใบหน้าและส่วนต่อประสานผู้ใช้จะโต้ตอบกับฐานข้อมูลเพื่อจัดเก็บและดึงข้อมูล
ปฏิสัมพันธ์:
ระบบการจดจำใบหน้า จะจับภาพหรือเฟรมวิดีโอจากกล้องของผู้ใช้ตรวจจับใบหน้าแยกคุณสมบัติและใบหน้าที่ตรงกัน เมื่อจับคู่ใบหน้าระบบจะส่ง ID ของนักเรียนและวันที่และเวลาปัจจุบันไปยังฐานข้อมูล Firebase เพื่อบันทึกการเข้าร่วม
ส่วนต่อประสานผู้ใช้ จะแสดงระเบียนการเข้าร่วมจากฐานข้อมูล Firebase เมื่อนักเรียนหรือผู้สอนเข้าสู่ระบบอินเทอร์เฟซจะส่ง ID ของพวกเขาไปยังฐานข้อมูล Firebase เพื่อดึงบันทึกการเข้าร่วมของพวกเขา อินเทอร์เฟซจะให้ตัวเลือกสำหรับนักเรียนในการลงทะเบียนสำหรับชั้นเรียนและสำหรับผู้สอนในการสร้างชั้นเรียนและการกระทำเหล่านี้จะเกี่ยวข้องกับการส่งข้อมูลไปยังฐานข้อมูล Firebase
ฐานข้อมูล Firebase จะจัดเก็บข้อมูลทั้งหมดสำหรับระบบ เมื่อได้รับข้อมูลจากระบบการจดจำใบหน้าหรือส่วนต่อประสานผู้ใช้จะอัปเดตระเบียนที่เกี่ยวข้อง เมื่อได้รับการร้องขอข้อมูลจากส่วนต่อประสานผู้ใช้จะดึงข้อมูลบันทึกที่ร้องขอและส่งไปยังอินเทอร์เฟซ
นี่คือมุมมองที่เรียบง่ายของสถาปัตยกรรมระบบและการโต้ตอบระหว่างส่วนประกอบ ขึ้นอยู่กับข้อกำหนดเฉพาะของโครงการของคุณคุณอาจต้องเพิ่มส่วนประกอบหรือการโต้ตอบเพิ่มเติม ตัวอย่างเช่นคุณอาจต้องเพิ่มส่วนประกอบสำหรับการจัดการการรับรองความถูกต้องของผู้ใช้หากคุณต้องการให้แน่ใจว่ามีนักเรียนและอาจารย์ที่ลงทะเบียนเท่านั้นที่สามารถเข้าถึง System.docs/Images/database_design.png
ตอนนี้มาออกแบบและวาดสคีมาฐานข้อมูลสำหรับ Firebase ซึ่งรวมถึงการกำหนดข้อมูลที่จะจัดเก็บ (เช่นข้อมูลนักเรียนบันทึกการเข้าร่วม ฯลฯ ) และวิธีการที่ข้อมูลนี้จะถูกจัดโครงสร้างและเกี่ยวข้อง

คอลเลกชันผู้ใช้: คอลเลกชันนี้จะจัดเก็บข้อมูลเกี่ยวกับผู้ใช้ทั้งหมดรวมถึงทั้งนักเรียนและอาจารย์ ผู้ใช้แต่ละคนจะมี ID ที่ไม่ซ้ำกันและข้อมูลที่เก็บไว้สำหรับผู้ใช้แต่ละคนอาจรวมถึง:
userID : ตัวระบุที่ไม่ซ้ำกันสำหรับผู้ใช้name : ชื่อเต็มของผู้ใช้email : ที่อยู่อีเมลของผู้ใช้embeddings : ผู้ใช้ face embeddingsuserType : ประเภทของผู้ใช้ (นักเรียนหรือผู้สอน)password : รหัสผ่านของผู้ใช้ (เก็บไว้อย่างปลอดภัย)classes : รายการโปรแกรมที่ผู้ใช้ลงทะเบียน (สำหรับนักเรียน) และจำนวนการเข้าร่วมของนักเรียนคนนั้นนี่คือมุมมองที่เรียบง่ายของโครงสร้างของฐานข้อมูลของเรา นอกจากนี้เรายังเก็บภาพของนักเรียนไว้ในที่เก็บของ Firebase รูปภาพจะถูกเก็บไว้ในโฟลเดอร์ชื่อ Static/Images และชื่อของภาพคือ ID ของนักเรียน
นี่เป็นส่วนสำคัญของโครงการของคุณและเกี่ยวข้องกับหลายขั้นตอน:

อัลกอริทึมการจดจำใบหน้าการวิจัย:
ใช้ระบบการจดจำใบหน้า:
รวมระบบการจดจำใบหน้าเข้ากับฐานข้อมูล Firebase: