Example #1
0
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!"
Example #4
0
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)
Example #6
0
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)
Example #7
0
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!"
Example #8
0
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'