Vehicle-Anti-Theft-Face-Rec.../Check_Up.py

51 lines
1.8 KiB
Python

import os
import DBHelper
from joblib import Parallel, delayed
import multiprocessing
import Facial_Recognition_Enrollment
def update():
# Downloads all the user and thief photos from database to the project folder first or updates them.
users = DBHelper.db.child("Users").get()
thieves = DBHelper.db.child("Thieves").get()
print("Checking and updating User photos...")
try:
count = 0
for user in users.each():
count += 1
if not os.path.isdir("Facial_images/face_rec/train/User_" + str(count)):
os.makedirs("Facial_images/face_rec/train/User_" + str(count))
Parallel(n_jobs=multiprocessing.cpu_count())(
delayed(download_parallel_user_photos)(i, count) for i in range(50))
print("User data is found.")
except:
print("No Users are registered.")
count = 0
print("Checking and updating Thief photos...")
try:
for thief in thieves.each():
count += 1
if not os.path.isdir("Photos_of_Thieves/Thief_" + str(count)):
os.makedirs("Photos_of_Thieves/Thief_" + str(count))
Parallel(n_jobs=multiprocessing.cpu_count())(
delayed(download_parallel_thief_photos)(i, count) for i in range(50))
print("Thief data is found.")
except:
print("No Thieves are registered.")
print("Data saved! Starting enrollment...")
Facial_Recognition_Enrollment.enroll_face_dataset()
print("Success.")
if __name__ == "__main__":
update()
def download_parallel_user_photos(i, count):
DBHelper.download_user_photo("User_" + str(count) + "/" + str(i) + ".jpg")
def download_parallel_thief_photos(i, count):
DBHelper.download_thief_photo("Thief_" + str(count) + "/" + str(i) + ".jpg")