Showing
3 changed files
with
12 additions
and
11 deletions
... | @@ -108,6 +108,7 @@ def verify(): | ... | @@ -108,6 +108,7 @@ def verify(): |
108 | embedding = sess.run(embeddings_placeholder, feed_dict=feed_dict) | 108 | embedding = sess.run(embeddings_placeholder, feed_dict=feed_dict) |
109 | # compare received embedding to database embedding | 109 | # compare received embedding to database embedding |
110 | verified_id = None | 110 | verified_id = None |
111 | + dist_min = 99 | ||
111 | sql = "SELECT student_id, embedding FROM student_embedding;" | 112 | sql = "SELECT student_id, embedding FROM student_embedding;" |
112 | cursor.execute(sql) | 113 | cursor.execute(sql) |
113 | result = cursor.fetchall() | 114 | result = cursor.fetchall() |
... | @@ -116,16 +117,16 @@ def verify(): | ... | @@ -116,16 +117,16 @@ def verify(): |
116 | db_embedding = db_embedding.reshape((1,512)) | 117 | db_embedding = db_embedding.reshape((1,512)) |
117 | distance = get_distance(embedding, db_embedding) | 118 | distance = get_distance(embedding, db_embedding) |
118 | print(distance) | 119 | print(distance) |
119 | - if (distance < threshold): | 120 | + if (distance < dist_min): |
120 | verified_id = row_data['student_id'] | 121 | verified_id = row_data['student_id'] |
121 | - new_embedding = db_embedding * 0.8 + embedding * 0.2 | 122 | + dist_min = distance |
122 | - new_embedding = new_embedding.tobytes() | 123 | + # new_embedding = db_embedding * 0.98 + embedding * 0.02 |
123 | - sql = "UPDATE student_embedding SET embedding=_binary %s WHERE student_id = %s" | 124 | + # new_embedding = new_embedding.tobytes() |
124 | - cursor.execute(sql, (new_embedding, verified_id)) | 125 | + # sql = "UPDATE student_embedding SET embedding=_binary %s WHERE student_id = %s" |
125 | - attendance_db.commit() | 126 | + # cursor.execute(sql, (new_embedding, verified_id)) |
126 | - break | 127 | + # attendance_db.commit() |
127 | - | 128 | + |
128 | - if verified_id != None: | 129 | + if verified_id != None and dist_min < threshold: |
129 | sql = "SELECT student_name FROM student WHERE student_id = %s" | 130 | sql = "SELECT student_name FROM student WHERE student_id = %s" |
130 | cursor.execute(sql, (verified_id)) | 131 | cursor.execute(sql, (verified_id)) |
131 | row_data = cursor.fetchone() | 132 | row_data = cursor.fetchone() | ... | ... |
... | @@ -61,7 +61,7 @@ function detect_face() | ... | @@ -61,7 +61,7 @@ function detect_face() |
61 | let point1 = new cv.Point(face.x, face.y); | 61 | let point1 = new cv.Point(face.x, face.y); |
62 | let point2 = new cv.Point(face.x + face.width, face.y + face.height); | 62 | let point2 = new cv.Point(face.x + face.width, face.y + face.height); |
63 | cv.rectangle(dst, point1, point2, [255, 0, 0, 255], 8); | 63 | cv.rectangle(dst, point1, point2, [255, 0, 0, 255], 8); |
64 | - let rect = new cv.Rect(face.x, face.y, face.width, face.height); | 64 | + let rect = new cv.Rect(Math.max(face.x-face.width/4, 0), Math.max(face.y-face.height/2, 0), Math.min(face.width+face.width/2, src.cols), Math.min(face.height+face.height/2, src.rows)); |
65 | let cropped = src.roi(rect); | 65 | let cropped = src.roi(rect); |
66 | cv.imshow(tempCanvas,cropped); | 66 | cv.imshow(tempCanvas,cropped); |
67 | } | 67 | } | ... | ... |
-
Please register or login to post a comment