예제 #1
0
파일: model_tuner.py 프로젝트: wlau88/IDA
def profile_face_clf(img_lst, cascade_file, scale_factor, min_neighbors, min_size):
    """Classifies face based on profile image

    :param img_lst: list of image objects with profile image
    :param cascade_file, scale_factor, min_neighbors, min_size: tuning parameters
    :return pred_lst: list of predictions (face or not)
    """
    pred_lst = []

    i = 0

    for img_obj in img_lst:

        image = img_obj["face_img"]

        face_detector = FaceDetector(cascade_file, scale_factor, min_neighbors, min_size)
        face_detector_processor = FaceDetectorProcessor()
        face_detector_processor.detector = face_detector
        cropped_face, face_in_square = face_detector_processor.process_image(image)

        i += 1
        print "Inserting prediction result ", i

        pred_lst.append(face_in_square)

    return pred_lst
예제 #2
0
파일: model_tuner.py 프로젝트: wlau88/IDA
def profile_face_clf(img_lst, cascade_file, scale_factor, min_neighbors,
                     min_size):
    """Classifies face based on profile image

    :param img_lst: list of image objects with profile image
    :param cascade_file, scale_factor, min_neighbors, min_size: tuning parameters
    :return pred_lst: list of predictions (face or not)
    """
    pred_lst = []

    i = 0

    for img_obj in img_lst:

        image = img_obj['face_img']

        face_detector = FaceDetector(cascade_file, scale_factor, min_neighbors,
                                     min_size)
        face_detector_processor = FaceDetectorProcessor()
        face_detector_processor.detector = face_detector
        cropped_face, face_in_square = face_detector_processor.process_image(
            image)

        i += 1
        print "Inserting prediction result ", i

        pred_lst.append(face_in_square)

    return pred_lst
예제 #3
0
파일: model_tuner.py 프로젝트: wlau88/IDA
def tagged_face_clf(img_lst, cascade_file, scale_factor, min_neighbors,
                    min_size, crop_radius):
    """Classifies face based on full image and crop position

    :param img_lst: list of image objects with full image and crop 
    position information
    :param cascade_file, scale_factor, min_neighbors, min_size,
    crop_radius: tuning parameters
    :return pred_lst: list of predictions (face or not)
    """
    pred_lst = []

    i = 0

    for img_obj in img_lst:

        image = img_obj['full_img']

        if image == None:
            face_in_square = None

        else:
            pos_x = img_obj['crop_pos'][0]
            pos_y = img_obj['crop_pos'][1]

            height, width, channels = image.shape

            x_coord = float(pos_x) * width
            y_coord = float(pos_y) * height

            crop_processor = CropImageProcessor((x_coord, y_coord),
                                                tagged_radius=crop_radius)
            cropped_square = crop_processor.process_image(image)
            face_detector = FaceDetector(cascade_file, scale_factor,
                                         min_neighbors, min_size)
            face_detector_processor = FaceDetectorProcessor()
            face_detector_processor.detector = face_detector
            cropped_face, face_in_square = face_detector_processor.process_image(
                cropped_square)

            i += 1
            print "Inserting prediction result", i

        pred_lst.append(face_in_square)

    return pred_lst
예제 #4
0
파일: model_tuner.py 프로젝트: wlau88/IDA
def tagged_face_clf(img_lst, cascade_file, scale_factor, min_neighbors, min_size, crop_radius):
    """Classifies face based on full image and crop position

    :param img_lst: list of image objects with full image and crop 
    position information
    :param cascade_file, scale_factor, min_neighbors, min_size,
    crop_radius: tuning parameters
    :return pred_lst: list of predictions (face or not)
    """
    pred_lst = []

    i = 0

    for img_obj in img_lst:

        image = img_obj["full_img"]

        if image == None:
            face_in_square = None

        else:
            pos_x = img_obj["crop_pos"][0]
            pos_y = img_obj["crop_pos"][1]

            height, width, channels = image.shape

            x_coord = float(pos_x) * width
            y_coord = float(pos_y) * height

            crop_processor = CropImageProcessor((x_coord, y_coord), tagged_radius=crop_radius)
            cropped_square = crop_processor.process_image(image)
            face_detector = FaceDetector(cascade_file, scale_factor, min_neighbors, min_size)
            face_detector_processor = FaceDetectorProcessor()
            face_detector_processor.detector = face_detector
            cropped_face, face_in_square = face_detector_processor.process_image(cropped_square)

            i += 1
            print "Inserting prediction result", i

        pred_lst.append(face_in_square)

    return pred_lst