นี่คือความพยายามของฉันในการสร้างระบบการจดจำใบหน้าสำหรับการเข้าชั้นเรียนหรือการเข้าร่วมสำนักงาน ระบบนี้ใช้สถาปัตยกรรม CNN ชนิดพิเศษที่รู้จักกันในชื่อเครือข่ายสยาม เครือข่ายดังกล่าวได้รับการฝึกฝนให้สร้างเวกเตอร์ 128 ที่แม่นยำและเกือบจะเป็นเอกลักษณ์เนื่องจากภาพใบหน้าที่ A ถูกป้อนเข้าสู่เครือข่ายได้รับการจัดตำแหน่งและครอบตัดอย่างเหมาะสม
จากนั้นเครือข่ายประสาทหนาแน่นอีกเครือข่ายที่ได้รับการฝึกฝนจากการป้อนข้อมูลเหล่านี้ เครือข่ายประสาทที่สองมีวัตถุประสงค์เพื่อการจำแนกประเภทเท่านั้น จากนั้นบุคคลที่ถูกระบุโดยระบบการเข้าร่วมของเขา/เธอในระบบจะเพิ่มขึ้น 1
เมื่อระบบถูกปิดไฟล์ Excel ประกอบด้วยการเข้าร่วมของนักเรียนทุกคนจะถูกสร้างขึ้น
นำมาจาก deeplearning.ai
คุณสามารถดูวิดีโอเหล่านี้ได้ ศาสตราจารย์ Andrew NG ให้คำอธิบายที่ยอดเยี่ยมเกี่ยวกับเครือข่ายเหล่านี้
ฉันดาวน์โหลดโมเดล Facenet ที่ผ่านการฝึกอบรมจาก Nyoki-MTL Githubu
เครือข่ายนี้ได้รับการปรับแต่งในชุดข้อมูลขนาดใหญ่ที่ค่อนข้างสวยและผลิตเวกเตอร์มิติ 128 มิติที่ไม่ซ้ำกันสำหรับใบหน้าเฉพาะที่ได้รับภาพที่ป้อนเข้ามาจะถูกครอบตัดไปยังบริเวณใบหน้าเท่านั้นและได้รับการจัดเรียง ขนาดอินพุตของภาพสำหรับ netowrk นี้คือ 160x160x3
การตรวจจับใบหน้าทำได้โดยใช้ Haar Cascades of OpenCV Haarcascade ตรวจจับใบหน้าใช้ในการตรวจจับใบหน้าและบริเวณที่ตรวจพบนี้ถูกป้อนไปยังเครื่องกำเนิดไฟฟ้าฝัง
เครือข่ายประสาทที่สองมีสถาปัตยกรรมหนาแน่นและใช้สำหรับการจำแนกประเภท เครือข่ายประสาทที่สองใช้อินพุตเวกเตอร์ 128 มิติและ ouputs ความน่าจะเป็นของใบหน้าเป็นหนึ่งในนักเรียนสถาปัตยกรรมของเครือข่ายประสาทที่สองคือ 
ฐานข้อมูลที่ใช้คือ MongoDB Pymongo ใช้เพื่อเพิ่มลบบันทึกและเพิ่มการเข้าร่วมของนักเรียนโดยเฉพาะ 
หลังจากปิดแอปพลิเคชันไฟล์ Excel จะถูกสร้างขึ้น ไฟล์ Excel นี้มีการเข้าร่วมของนักเรียนทั้งหมด
เริ่มต้นเทอร์มินัลของ CMD ขึ้นอยู่กับระบบปฏิบัติการของคุณ
หากคุณมี Nvidia GPU ให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นสำหรับการติดตั้ง TensorFlow GPU (ดูเว็บไซต์อย่างเป็นทางการ) จากนั้นใช้ commmand นี้
PIP Install -r reching_gpu.txt
ในกรณีที่คุณไม่มี GPU ให้ใช้คำสั่งนี้
pip install -r requirements_cpu.txt
1) ติดตั้งข้อกำหนดทั้งหมด
2) สร้างโฟลเดอร์ชื่อ "คน" โดยไม่พูด
3) ตอนนี้เรียกใช้ generating_training_data.py เมื่อการทำงานนี้ป้อนชื่อของบุคคลตามด้วยดัชนีเริ่มต้นจากศูนย์ตัวอย่างเช่นถ้าฉันต้องการสร้างข้อมูลสำหรับ "ravi" ฉันจะเขียน "ravi0" และสำหรับชื่อต่อไปเขียน "SecondName1" ตอนนี้ใส่โฟลเดอร์ทั้งหมดนี้ลงในโฟลเดอร์ผู้คน 
4) ตอนนี้ใน trainer.py เปลี่ยนจำนวนคลาสตามจำนวนโฟลเดอร์แล้วเรียกใช้ Trainer.py
5) แบบจำลองจะได้รับการฝึกฝน
6) ตอนนี้สร้างฐานข้อมูลโดยใช้ MongoDB ป้อนชื่อทั้งหมดด้วยการเข้าร่วม สิ่งนี้สามารถทำได้โดย
a) สร้างฐานข้อมูลชื่อ "ใหม่"
b) สร้างคอลเลกชันชื่อ "PA"
c) เพิ่ม enteries สำหรับเช่น db.pa.insert ({"ชื่อ": "satinder", "การเข้าร่วม": 0})

7) ตอนนี้เปิด Recognizer.py และเปลี่ยนพจนานุกรม "A" และผู้คนตามข้อมูลของคุณ กุญแจสำคัญของอาร์เรย์ "A" คือดัชนีของผู้คนและข้อมูลเป็นตัวแปรบ่งชี้ซึ่งใช้เพื่อระบุว่าในเซสชั่นเฉพาะหากการเข้าร่วมของบุคคลนั้นถูกนำมาใช้
8) พจนานุกรม "คน" เป็นคำอธิบายตนเอง
9) เรียกใช้ Recognizer.py เพื่อรับรู้ผู้คน การเข้าร่วมของพวกเขาจะลงทะเบียนในฐานข้อมูล MongoDB


ถ้าคุณชอบคุณก็จะชอบ repos อื่น ๆ ของฉันเช่นกัน นอกจากนี้คุณยังสามารถดูที่ช่อง YouTube ของฉัน "วิทยาศาสตร์เครื่องปฏิกรณ์" หากคุณมีข้อสงสัยใด ๆ คุณสามารถติดต่อฉันได้ที่หน้า Facebook ของฉัน "Science Reactor"
1) การเรียนรู้อย่างลึกซึ้งกับ Python โดย Francois Chollet
2) keras.io
3) deeplearning.ai โดย Coursera (Prof Andrew NG)
4) CS231N โดย Stanford
5) pyimagesearch.com (Adrian Rosenberg)
6) Brandon Amos (GitHub: https: //github.com/bamos)