Example #1
0
    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()
Example #3
0
                        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()
Example #5
0
        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))
Example #6
0
                                           (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)
Example #7
0
            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)
Example #8
0
    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
Example #9
0
    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)
Example #10
0
    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)