def get_models(): model_path = 'face_sdk/models' # face detection model setting. scene = 'non-mask' model_category = 'face_detection' model_name = model_conf[scene][model_category] logger.info('Start to load the face detection model...') try: faceDetModelLoader = FaceDetModelLoader(model_path, model_category, model_name) model, cfg = faceDetModelLoader.load_model() faceDetModelHandler = FaceDetModelHandler(model, 'cuda:0', cfg) except Exception as e: logger.error('Falied to load face detection Model.') logger.error(e) sys.exit(-1) else: logger.info('Success!') # face landmark model setting. model_category = 'face_alignment' model_name = model_conf[scene][model_category] logger.info('Start to load the face landmark model...') try: faceAlignModelLoader = FaceAlignModelLoader(model_path, model_category, model_name) model, cfg = faceAlignModelLoader.load_model() faceAlignModelHandler = FaceAlignModelHandler(model, 'cuda:0', cfg) except Exception as e: logger.error('Failed to load face landmark model.') logger.error(e) sys.exit(-1) else: logger.info('Success!') # face recognition model setting. model_category = 'face_recognition' model_name = model_conf[scene][model_category] logger.info('Start to load the face recognition model...') try: faceRecModelLoader = FaceRecModelLoader(model_path, model_category, model_name) model, cfg = faceRecModelLoader.load_model() faceRecModelHandler = FaceRecModelHandler(model, 'cuda:0', cfg) except Exception as e: logger.error('Failed to load face recognition model.') logger.error(e) sys.exit(-1) else: logger.info('Success!') face_cropper = FaceRecImageCropper() return faceDetModelHandler, faceAlignModelHandler, faceRecModelHandler, face_cropper
sys.exit(-1) else: logger.info( 'Successfully parsed the model configuration file model_meta.json!' ) try: model, cfg = faceAlignModelLoader.load_model() except Exception as e: logger.error('Model loading failed!') logger.error(e) sys.exit(-1) else: logger.info('Successfully loaded the face landmark model!') faceAlignModelHandler = FaceAlignModelHandler(model, 'cuda:0', cfg) # read image image_path = 'api_usage/test_images/test1.jpg' image_det_txt_path = 'api_usage/test_images/test1_detect_res.txt' image = cv2.imread(image_path, cv2.IMREAD_COLOR) with open(image_det_txt_path, 'r') as f: lines = f.readlines() try: for i, line in enumerate(lines): line = line.strip().split() det = np.asarray(list(map(int, line[0:4])), dtype=np.int32) landmarks = faceAlignModelHandler.inference_on_image(image, det) save_path_img = 'api_usage/temp/test1_' + 'landmark_res' + str( i) + '.jpg'