This shows you the differences between two versions of the page.
pm:prj2021:cghenea:facial-recognition-locker [2021/05/30 20:46] razvan.apetroaie |
pm:prj2021:cghenea:facial-recognition-locker [2021/06/04 21:43] (current) razvan.apetroaie |
||
---|---|---|---|
Line 4: | Line 4: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | * Metodele tradiționale de a obține accesul sunt metode de tipul "something you have" (descuierea ușii folosind o cheie) și "something you know" (parola propriului cont). Scopul proiectului este implementarea unei metode "something you are", mai exact recunoașterea facială, oferind accesul fără necesitatea de a memora sau a deține un obiect anume. | + | * Metodele tradiționale de a obține accesul sunt metode de tipul "something you have" (descuierea ușii folosind o cheie) și "something you know" (parola propriului cont). Scopul proiectului este implementarea unei metode "something you are", mai exact recunoașterea facială, oferind accesul fără necesitatea de a memora un cod sau a deține un obiect anume. |
* Proiectul își propune controlarea unei încuietori electrice pe baza capturilor realizate de o camera atașată și a rezultatului dat de un server extern în urma procesării imaginilor. | * Proiectul își propune controlarea unei încuietori electrice pe baza capturilor realizate de o camera atașată și a rezultatului dat de un server extern în urma procesării imaginilor. | ||
Line 50: | Line 50: | ||
În prima jumătate a execuției din [[https://youtu.be/h58WgDPylpk|demo]], s-au obținut imaginile (primele 5):\\ | În prima jumătate a execuției din [[https://youtu.be/h58WgDPylpk|demo]], s-au obținut imaginile (primele 5):\\ | ||
{{https://ocw.cs.pub.ro/courses/_media/pm/prj2021/cghenea/face_recognition_locker_photos.png?250x200}}\\ | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2021/cghenea/face_recognition_locker_photos.png?250x200}}\\ | ||
- | Având ca imagine de referință ultima captură din set, programul a returnat valorile False, True, False, True, respectiv True, după care încuietoarea se deschide. Se observă o "shiftare" sau decupare a pozelor (posibil un bug la sincronizare), însă din moment ce se realizează 5 capturi iar "shiftarea" pare uniformă, nu este afectat rezultatul final (cel puțin într-o imagine se găsește fața întreagă). După boot-are, primele 2-3 poze ies întotdeauna cu luminozitate crescută, după care se stabilizează și restul pozelor au un rezultat normal, obținându-se o corectitudine consistentă.\\ | + | Având ca imagine de referință ultima captură din set, programul a returnat valorile False, True, True, True, respectiv True, după care încuietoarea se deschide. Se observă o "shiftare" sau decupare a pozelor (posibil un bug la sincronizare), însă din moment ce se realizează 5 capturi iar "shiftarea" pare uniformă, nu este afectat rezultatul final (cel puțin într-o imagine se găsește fața întreagă). După boot-are, primele 2-3 poze ies întotdeauna cu luminozitate crescută, după care se stabilizează și restul pozelor au un rezultat normal, obținându-se o corectitudine consistentă.\\ |
În a doua jumătate a demo-ului, se testează cazul negativ prin capturarea unor imagini ce nu conțin nicio față, și prin urmare încuietoarea nu se deschide. | În a doua jumătate a demo-ului, se testează cazul negativ prin capturarea unor imagini ce nu conțin nicio față, și prin urmare încuietoarea nu se deschide. | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
Line 73: | Line 73: | ||
[[https://circuitdigest.com/microcontroller-projects/how-to-use-ov7670-camera-module-with-arduino]]\\ | [[https://circuitdigest.com/microcontroller-projects/how-to-use-ov7670-camera-module-with-arduino]]\\ | ||
[[https://github.com/ComputerNerd/ov7670-no-ram-arduino-uno]]\\ | [[https://github.com/ComputerNerd/ov7670-no-ram-arduino-uno]]\\ | ||
- | [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|ATmega328P Datasheet]] | + | [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|ATmega328P Datasheet]]\\ |
[[https://www.arduino.cc/reference/en/language/variables/utilities/progmem/|PROGMEM]]\\ | [[https://www.arduino.cc/reference/en/language/variables/utilities/progmem/|PROGMEM]]\\ | ||
[[https://www.arduino.cc/en/Reference/Ethernet|Arduino Ethernet]]\\ | [[https://www.arduino.cc/en/Reference/Ethernet|Arduino Ethernet]]\\ | ||
[[https://pypi.org/project/face-recognition/|Librăria Python face_recognition]]\\ | [[https://pypi.org/project/face-recognition/|Librăria Python face_recognition]]\\ | ||
[[https://linuxhint.com/send_receive_udp_python/|Model client-server în Python]]\\ | [[https://linuxhint.com/send_receive_udp_python/|Model client-server în Python]]\\ | ||
- | [[https://en.wikipedia.org/wiki/BMP_file_format|Formatul BMP]]// | + | [[https://en.wikipedia.org/wiki/BMP_file_format|Formatul BMP]]\\ |
[[https://ocw.cs.pub.ro/courses/pm/prj2021/cghenea/facial-recognition-locker?do=export_pdf|PDF]] | [[https://ocw.cs.pub.ro/courses/pm/prj2021/cghenea/facial-recognition-locker?do=export_pdf|PDF]] |