Fixed the software code.
This commit is contained in:
parent
f288b6e81a
commit
b9cdecdf43
10 changed files with 23 additions and 49 deletions
|
@ -17,9 +17,7 @@ def inference():
|
||||||
FACE_RECOGNITION_MODEL_PATH = pwd + '/Facial_models/dlib_face_recognition_resnet_model_v1.dat'
|
FACE_RECOGNITION_MODEL_PATH = pwd + '/Facial_models/dlib_face_recognition_resnet_model_v1.dat'
|
||||||
|
|
||||||
SKIP_FRAMES = 1
|
SKIP_FRAMES = 1
|
||||||
MAXIMUM_TIME = 10
|
|
||||||
THRESHOLD = 0.4
|
THRESHOLD = 0.4
|
||||||
DEMO_SHOW = False
|
|
||||||
|
|
||||||
faceDetector = dlib.get_frontal_face_detector()
|
faceDetector = dlib.get_frontal_face_detector()
|
||||||
shapePredictor = dlib.shape_predictor(PREDICTOR_PATH)
|
shapePredictor = dlib.shape_predictor(PREDICTOR_PATH)
|
||||||
|
@ -28,7 +26,7 @@ def inference():
|
||||||
index = np.load(pwd + '/Facial_models/index.pkl', allow_pickle=True)
|
index = np.load(pwd + '/Facial_models/index.pkl', allow_pickle=True)
|
||||||
faceDescriptorsEnrolled = np.load(pwd + '/Facial_models/descriptors.npy')
|
faceDescriptorsEnrolled = np.load(pwd + '/Facial_models/descriptors.npy')
|
||||||
|
|
||||||
cam = cv2.VideoCapture(1)
|
cam = cv2.VideoCapture(0)
|
||||||
count = 0
|
count = 0
|
||||||
|
|
||||||
x1 = x2 = y1 = y2 = 0
|
x1 = x2 = y1 = y2 = 0
|
||||||
|
@ -38,8 +36,6 @@ def inference():
|
||||||
label = 'unknown'
|
label = 'unknown'
|
||||||
start = time.time()
|
start = time.time()
|
||||||
|
|
||||||
label_counter = {}
|
|
||||||
|
|
||||||
while DBHelper.get_power() == "on":
|
while DBHelper.get_power() == "on":
|
||||||
success, im = cam.read()
|
success, im = cam.read()
|
||||||
|
|
||||||
|
@ -78,18 +74,13 @@ def inference():
|
||||||
|
|
||||||
if minDistance <= THRESHOLD:
|
if minDistance <= THRESHOLD:
|
||||||
label = DBHelper.get_firstname(index[argmin]) + "_" + DBHelper.get_lastname(index[argmin])
|
label = DBHelper.get_firstname(index[argmin]) + "_" + DBHelper.get_lastname(index[argmin])
|
||||||
#cond = True
|
cond = True
|
||||||
else:
|
else:
|
||||||
label = 'unknown'
|
label = 'unknown'
|
||||||
#cond = False
|
cond = False
|
||||||
|
|
||||||
if label in label_counter.keys():
|
|
||||||
label_counter[label] += 1
|
|
||||||
else:
|
|
||||||
label_counter[label] = 1
|
|
||||||
|
|
||||||
# print("time taken = {:.3f} seconds".format(time.time() - t))
|
# print("time taken = {:.3f} seconds".format(time.time() - t))
|
||||||
if DEMO_SHOW:
|
|
||||||
cv2.rectangle(im, (x1, y1), (x2, y2), (0, 255, 0), 2)
|
cv2.rectangle(im, (x1, y1), (x2, y2), (0, 255, 0), 2)
|
||||||
font_face = cv2.FONT_HERSHEY_SIMPLEX
|
font_face = cv2.FONT_HERSHEY_SIMPLEX
|
||||||
font_scale = 0.8
|
font_scale = 0.8
|
||||||
|
@ -97,7 +88,6 @@ def inference():
|
||||||
printLabel = '{} {:0.4f}'.format(label, minDistance)
|
printLabel = '{} {:0.4f}'.format(label, minDistance)
|
||||||
cv2.putText(im, printLabel, (int(x1), int(y1)), font_face, font_scale, text_color, thickness=2)
|
cv2.putText(im, printLabel, (int(x1), int(y1)), font_face, font_scale, text_color, thickness=2)
|
||||||
|
|
||||||
if DEMO_SHOW:
|
|
||||||
cv2.imshow('img', im)
|
cv2.imshow('img', im)
|
||||||
|
|
||||||
k = cv2.waitKey(1) & 0xff
|
k = cv2.waitKey(1) & 0xff
|
||||||
|
@ -105,21 +95,6 @@ def inference():
|
||||||
break
|
break
|
||||||
|
|
||||||
count += 1
|
count += 1
|
||||||
|
|
||||||
if(count == MAXIMUM_TIME):
|
|
||||||
break
|
|
||||||
|
|
||||||
print("The statics of 10 frames: ", label_counter)
|
|
||||||
|
|
||||||
output_label =sorted(label_counter,key=lambda x:label_counter[x])[-1]
|
|
||||||
|
|
||||||
print("Final results: ", output_label)
|
|
||||||
|
|
||||||
if output_label == 'unknown':
|
|
||||||
cond = False
|
|
||||||
else:
|
|
||||||
cond = True
|
|
||||||
|
|
||||||
if cond:
|
if cond:
|
||||||
DBHelper.set_motor("on")
|
DBHelper.set_motor("on")
|
||||||
DBHelper.set_alarm("off")
|
DBHelper.set_alarm("off")
|
||||||
|
@ -132,7 +107,6 @@ def inference():
|
||||||
thief = True
|
thief = True
|
||||||
DBHelper.set_power("off")
|
DBHelper.set_power("off")
|
||||||
|
|
||||||
|
|
||||||
DBHelper.set_alarm("off")
|
DBHelper.set_alarm("off")
|
||||||
DBHelper.set_motor("off")
|
DBHelper.set_motor("off")
|
||||||
cv2.destroyAllWindows()
|
cv2.destroyAllWindows()
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in a new issue