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
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
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
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