def _init_model(self, model_path, gpu_id): os.environ["CUDA_VISIBLE_DEVICES"] = str(gpu_id) self.det_net = self.det_model_manager.object_detector() self.det_net = nn.DataParallel(self.det_net).cuda() if model_path is not None: model_dict = torch.load(model_path) self.det_net.load_state_dict(model_dict['state_dict']) self.configer = Configer(config_dict=model_dict['config_dict']) else: Log.error('Model Path is not existed.') exit(1) self.det_net.eval()
def _init_model(self, model_path, gpu_list): self.device = torch.device('cpu' if len(gpu_list) == 0 else 'cuda') model_dict = None if model_path is not None: model_dict = torch.load(model_path) else: Log.error('Model Path is not existed.') exit(1) self.configer = Configer(config_dict=model_dict['config_dict']) if len(gpu_list) > 0: os.environ["CUDA_VISIBLE_DEVICES"] = ','.join(str(gpu_id) for gpu_id in gpu_list) self.pose_model_manager = PoseModelManager(self.configer) self.pose_net = self.pose_model_manager.multi_pose_detector() self.pose_net = nn.DataParallel(self.pose_net).to(self.device) self.pose_net.load_state_dict(model_dict['state_dict']) self.pose_net.eval()
type=str, dest='json_file', help='The json file of Det Parser.') parser.add_argument('--mask_file', default=None, type=str, dest='mask_file', help='The mask file of Det Parser.') parser.add_argument('--image_dir', default=None, type=str, dest='image_dir', help='The image directory of Det Parser.') parser.add_argument('--json_dir', default=None, type=str, dest='json_dir', help='The json directory of Det Parser.') parser.add_argument('--mask_dir', default=None, type=str, dest='mask_dir', help='The mask directory of Det Parser.') args_parser = parser.parse_args() det_parser = DetParser(Configer(hypes_file=args_parser.hypes_file)) det_parser.parse_img_det(args_parser.image_file, args_parser.json_file, args_parser.mask_file) det_parser.parse_dir_det(args_parser.image_dir, args_parser.json_dir, args_parser.mask_dir)
# print(mask_canvas.shape) image_canvas = cv2.addWeighted(image_canvas, 0.6, mask_canvas, 0.8, 0) return image_canvas if __name__ == '__main__': # segmention net init CONFIG_DICT = { 'img_size': (480, 640), 'gpu_id': [0], 'fabby_model': './model/ICNet32Photo640x480_iter_310000.pth', 'trimap_model': './model/trimap_icnet32SimpleV2_iter_120000.pth', 'mat_model': './model/trimap_icnet32SimpleV2_matting_iter_120000.pth' } os.environ["CUDA_VISIBLE_DEVICES"] = ','.join( str(gpu_id) for gpu_id in CONFIG_DICT['gpu_id']) person_segmentor = PersonSegmentor(Configer(config_dict=CONFIG_DICT)) image = cv2.imread('./samples/25962783011.jpg') print(image.shape) out = person_segmentor.forward(image) cv2.imshow("main", person_segmentor.parse(image, out)) cv2.waitKey() video_reader = VideoReader('./samples/24866_25155.avi') for image in video_reader: print(image.shape) out = person_segmentor.forward(image) cv2.imshow("main", person_segmentor.parse(image, out)) #cv2.imshow("main", frame) cv2.waitKey()
dest='hypes_file', help='The hypes file of pose.') parser.add_argument('--gt_dir', default='/home/donny/DataSet/VOC/VOCdevkit/VOC2007', type=str, dest='gt_dir', help='The groundtruth annotations file of voc dets.') parser.add_argument( '--json_dir', default='../../../val/results/det/voc/test_dir/image/json', type=str, dest='json_dir', help='The json dir of predict annotations.') parser.add_argument('--dataset', default='VOC2007', type=str, dest='dataset', help='The target dataset.') args = parser.parse_args() coco_evaluator = VOCEvaluator(Configer(hypes_file=args.hypes_file)) if args.gt_dir is not None: pred_dir = coco_evaluator.relabel(args.json_dir) coco_evaluator.evaluate(pred_dir, args.gt_dir, use_07=(args.dataset == 'VOC2007')) else: submission_dir = coco_evaluator.relabel(args.json_dir) Log.info('Submisson file path: {}'.format(submission_dir))
(int(length / 2), self.configer.get('vis', 'stick_width')), int(angle), 0, 360, 1) cv2.fillConvexPoly(cur_canvas, polygon, self.configer.get('details', 'color_list')[i]) image_canvas = cv2.addWeighted(image_canvas, 0.4, cur_canvas, 0.6, 0) return image_canvas if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('--hypes_file', default=None, type=str, dest='hypes_file', help='The file of the hyper parameters.') parser.add_argument('--image_file', default=None, type=str, dest='image_file', help='The image file of Pose Parser.') parser.add_argument('--json_file', default=None, type=str, dest='json_file', help='The json file of Pose Parser.') parser.add_argument('--mask_file', default=None, type=str, dest='mask_file', help='The mask file of Pose Parser.') parser.add_argument('--image_dir', default=None, type=str, dest='image_dir', help='The image directory of Pose Parser.') parser.add_argument('--json_dir', default=None, type=str, dest='json_dir', help='The json directory of Pose Parser.') parser.add_argument('--mask_dir', default=None, type=str, dest='mask_dir', help='The mask directory of Pose Parser.') args_parser = parser.parse_args() pose_parser = PoseParser(Configer(hypes_file=args_parser.hypes_file)) pose_parser.parse_img_pose(args_parser.image_file, args_parser.json_file, args_parser.mask_file) pose_parser.parse_dir_pose(args_parser.image_dir, args_parser.json_dir, args_parser.mask_dir)
self.seg_running_score.update(predmap[np.newaxis, :, :], gtmap[np.newaxis, :, :]) img_cnt += 1 Log.info('Evaluate {} images'.format(img_cnt)) Log.info('mIOU: {}'.format(self.seg_running_score.get_mean_iou())) Log.info('Pixel ACC: {}'.format( self.seg_running_score.get_pixel_acc())) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('--hypes_file', default=None, type=str, dest='hypes_file', help='The hypes file of pose.') parser.add_argument('--gt_dir', default=None, type=str, dest='gt_dir', help='The groundtruth annotations.') parser.add_argument('--pred_dir', default=None, type=str, dest='pred_dir', help='The label dir of predict annotations.') args = parser.parse_args() ade20k_evaluator = ADE20KEvaluator(Configer(hypes_file=args.hypes_file)) ade20k_evaluator.evaluate(args.pred_dir, args.gt_dir)
parser.add_argument('--logfile_level', default=None, type=str, dest='logging:logfile_level', help='To set the log level to files.') parser.add_argument('--stdout_level', default=None, type=str, dest='logging:stdout_level', help='To set the level to print to screen.') parser.add_argument('--log_file', default=None, type=str, dest='logging:log_file', help='The path of log files.') # *********** Params for test or submission. ********** parser.add_argument('--test_img', default=None, type=str, dest='test_img', help='The test path of image.') parser.add_argument('--test_dir', default=None, type=str, dest='test_dir', help='The test directory of images.') args_parser = parser.parse_args() configer = Configer(args_parser=args_parser) if configer.get('gpu') is not None: os.environ["CUDA_VISIBLE_DEVICES"] = ','.join(str(gpu_id) for gpu_id in configer.get('gpu')) project_dir = os.path.dirname(os.path.realpath(__file__)) configer.add_value(['project_dir'], project_dir) Log.init(logfile_level=configer.get('logging', 'logfile_level'), stdout_level=configer.get('logging', 'stdout_level'), log_file=configer.get('logging', 'log_file'), log_format=configer.get('logging', 'log_format'), rewrite=configer.get('logging', 'rewrite')) method_selector = MethodSelector(configer) model = None
parser.add_argument('--hypes_file', default='../../hypes/seg/coco/mr_fpn_coco_seg.json', type=str, dest='hypes_file', help='The file of the hyper parameters.') parser.add_argument('--image_file', default=None, type=str, dest='image_file', help='The image file of Ins Parser.') parser.add_argument('--json_file', default=None, type=str, dest='json_file', help='The json file of Det Parser.') parser.add_argument('--image_dir', default='/home/donny/DataSet/COCO_INS/train/image', type=str, dest='image_dir', help='The image directory of Ins Parser.') parser.add_argument('--json_dir', default='/home/donny/DataSet/COCO_INS/train/json', type=str, dest='json_dir', help='The json directory of Ins Parser.') args_parser = parser.parse_args() ins_parser = InsParser(Configer(hypes_file=args_parser.hypes_file)) ins_parser.parse_img_det(args_parser.image_file, args_parser.json_file) ins_parser.parse_dir_det(args_parser.image_dir, args_parser.json_dir)
parser.add_argument('--hypes_file', default=None, type=str, dest='hypes_file', help='The file of the hyper parameters.') parser.add_argument('--image_file', default=None, type=str, dest='image_file', help='The image file of Seg Parser.') parser.add_argument('--label_file', default=None, type=str, dest='label_file', help='The label file of Seg Parser.') parser.add_argument('--image_dir', default=None, type=str, dest='image_dir', help='The image directory of Seg Parser.') parser.add_argument('--label_dir', default=None, type=str, dest='label_dir', help='The label directory of Seg Parser.') args_parser = parser.parse_args() seg_parser = SegParser(Configer(hypes_file=args_parser.hypes_file)) seg_parser.parse_img_seg(args_parser.image_file, args_parser.label_file) seg_parser.parse_dir_seg(args_parser.image_dir, args_parser.label_dir)