def register_check(): print(">>>>>>>>>>>>>") check_img = request.json['face_list'] check_np = np.array(check_img) check_np = np.uint8(check_np) check_pil = Image.fromarray(check_np) bboxes, faces = mtcnn.align_multi(check_pil, conf.face_limit, conf.min_face_size) bboxes = bboxes[:, : -1] # shape:[10,4],only keep 10 highest possibiity faces bboxes = bboxes.astype(int) bboxes = bboxes + [-1, -1, 1, 1] for idx, bbox in enumerate(bboxes): feature = get_face_feature(conf, learner.model, faces[idx]) cos_sim = get_max_cos(feature, register_list) if cos_sim < 0.9: check_np[bbox[1]:bbox[3], bbox[0]:bbox[2]] = cv2.blur( check_np[bbox[1]:bbox[3], bbox[0]:bbox[2]], (23, 23)) tolist_img = check_np.tolist() check_img = {'check_img': tolist_img} return jsonify(check_img)
def register(): print("--------------") register_face = request.json['face_image'] register_np = np.array(register_face) register_pil = Image.fromarray(register_np, mode='RGB') feature = get_face_feature(conf, learner.model, register_pil) register_list.append(feature) print(register_list) return "register success!"
def register(): print("--------------") register_face = request.json['face_image'] register_np = np.array(register_face) register_np = np.uint8(register_np) register_pil = Image.fromarray(register_np) bboxes, faces = mtcnn.align_multi(register_pil, conf.face_limit, conf.min_face_size) for face in faces: feature = get_face_feature(conf, learner.model, face) register_list.append(feature) return "register success!"
def register(): print("--------------") register_face = request.json['register_image'] register_np = np.array(register_face) register_np = np.uint8(register_np) register_pil = Image.fromarray(register_np) register_name = request.json['register_name'] bbox, face = mtcnn.align(register_pil, conf.min_face_size) feature = get_face_feature(conf, learner.model, face) name_list.append(register_name) register_list.append(feature) return register_name + " register success!"
def register_check(): print(">>>>>>>>>>>>>") face_list = request.json['face_list'] check_list=[] for face in face_list: face = np.array(face) pil_img=Image.fromarray(face,mode='RGB') feature=get_face_feature(conf,learner.model,pil_img) cos_sim=get_max_cos(feature,register_list) if cos_sim>0.9: check_list.append("known") else: check_list.append("unknown") print(check_list) check_list = {'check_list':check_list} return jsonify(check_list)
def register_check(): print(">>>>>>>Register_check<<<<<<<") face_list = request.json['face_list'] check_list = [] for idx in range(len(face_list)): face = np.array(face_list[idx]) pil_img = Image.fromarray(face, mode='RGB') feature = get_face_feature(conf, learner.model, pil_img) i, cos_sim = get_max_cos(feature, register_list) if cos_sim > 0.97: check_list.append(name_list[i]) else: check_list.append("unknown") print(check_list) check_list = {'check_list': check_list} return jsonify(check_list)
def register(): print("-------Register-------") register_face = request.json['face_list'] register_np = np.array(register_face) if register_np.shape[0] > 1: return "no" elif register_np.shape[0] == 1: register_np = np.squeeze(register_np) register_pil = Image.fromarray(register_np, mode='RGB') feature = get_face_feature(conf, learner.model, register_pil) register_list.append(feature) register_name = request.json['register_name'] name_list.append(register_name) return register_name + "register success!"
def update(): if request.method == 'GET': old_name = request.args.get('old_name') new_name = request.args.get('new_name') try: name_idx = name_list.index(old_name) name_list[name_idx] = new_name return new_name + ' updated' except: return old_name + ' is not a registered face' else: name = request.json['name'] new_img = request.json['new_image'] try: idx = name_list.index(name) new_np = np.array(new_img) new_np = np.uint8(new_np) new_pil = Image.fromarray(new_np) bbox, face = mtcnn.align(new_pil, conf.min_face_size) feature = get_face_feature(conf, learner.model, face) register_list[idx] = feature return name + ' image updated' except: return name + ' is not a registered face'