Microservice AI Neural Network Tensorflowjs face (YOLO object) detection Two-factor deep learning (TensorFlow) authentication in Spring, Vue, and Flask with face verification based on logistic regression and cosine similarity in high dimensional vector space.
Predmetni projekat iz predmeta Osnovi računarske inteligencije (ORI) - 2FA sistem zasnovan na neuronskim mrežama za detekciju i verifikaciju lica.
Za pokretanje projekta potrebno je instalirati Pg Admin
(https://www.pgadmin.org/) i MongoDB Server
(https://www.mongodb.com/try/download/community). Zatim je potrebno napraviti Postgre bazu sa nazivom 2FAce
. Python
verzija na kojoj je projekat testiran je 3.8
.
Potrebno je pokrenuti sve projektu u navedenom redosledu (bitno je pokrenuti eureka server pre bekend aplikacije i servisa za verifikaciju lica).
Iz 2face-frontend
foldera potrebno je pokrenuti komandu npm ci
(samo pre prvog pokretanja), a zatim pokrenuti komandu npm run serve
. Frontend aplikacija će biti startovana na adresi http://localhost:8080/
.
Eureka server je moguće pokrenuti iz nekog razvojnog okruženja ili pokretanjem komande .\mvnw spring-boot:run
iz foldera eureka-server
. Ovim je eureka server pokrenut i registrovani servisi se mogu videti na adresi http://localhost:8761/
.
Bekend aplikaciju je moguće pokrenuti iz nekog razvojnog okruženja ili pokretanjem komande .\mvnw spring-boot:run
iz foldera 2face-backend
.
Pre pokretanja servisa za verifikaciju lica potrebno je instalirati sve biblioteke iz fajla face-verification-service/requirements.txt
. Poželjno je pre instalacije podesiti virtuelno okruženje. Servise za verifikaciju lica je moguće pokrenuti iz nekog razvojnog okruženja, čime će im biti dodeljen podrazumevani port 8181
. Dodatno, servise je moguće pokrenuti pokretanjem komande python ./flask_verification_service.py --port <PORT>
iz foldera face-verification-service/src
. Ovim će servis biti pokrenut na prosleđenom portu.
Za pokretanje tensorboard aplikacije koja prikazuje rezultate prikupljene prilikom treniranja modela za verifikaciju potrebno je pozicionirati se u folder face-verification-service/src
i pokrenuti komandu
tensorboard --logdir logs/fit
. Tensorboard je nakon toga moguće koristiti na adresi http://localhost:6006/
.