コード例 #1
0
def _export(dst_file, task_data, save_images=False):
    extractor = CvatTaskDataExtractor(task_data, include_images=save_images)
    envt = dm_env.transforms
    extractor = extractor.transform(envt.get('id_from_image_name'))
    extractor = Dataset.from_extractors(extractor)  # apply lazy transforms
    with TemporaryDirectory() as temp_dir:
        converter = dm_env.make_converter('label_me', save_images=save_images)
        converter(extractor, save_dir=temp_dir)

        make_zip_archive(temp_dir, dst_file)
コード例 #2
0
    def test_can_skip_outside(self):
        images = self._generate_task_images(3)
        task = self._generate_task(images)
        self._generate_annotations(task)
        task_ann = TaskAnnotation(task["id"])
        task_ann.init_from_db()
        task_data = TaskData(task_ann.ir_data, Task.objects.get(pk=task["id"]))

        extractor = CvatTaskDataExtractor(task_data, include_outside=False)
        dm_dataset = datumaro.components.project.Dataset.from_extractors(extractor)
        self.assertEqual(4, len(dm_dataset.get("image_1").annotations))

        extractor = CvatTaskDataExtractor(task_data, include_outside=True)
        dm_dataset = datumaro.components.project.Dataset.from_extractors(extractor)
        self.assertEqual(5, len(dm_dataset.get("image_1").annotations))
コード例 #3
0
def _export(dst_file, task_data, save_images=False):
    extractor = CvatTaskDataExtractor(task_data, include_images=save_images)
    envt = dm_env.transforms
    extractor = extractor.transform(envt.get('polygons_to_masks'))
    extractor = extractor.transform(envt.get('boxes_to_masks'))
    extractor = extractor.transform(envt.get('merge_instance_segments'))
    extractor = Dataset.from_extractors(extractor)  # apply lazy transforms
    with TemporaryDirectory() as temp_dir:
        converter = dm_env.make_converter('voc_segmentation',
                                          apply_colormap=True,
                                          label_map=make_colormap(task_data),
                                          save_images=save_images)
        converter(extractor, save_dir=temp_dir)

        make_zip_archive(temp_dir, dst_file)
コード例 #4
0
ファイル: icdar.py プロジェクト: z80020100/cvat
def _export_recognition(dst_file, task_data, save_images=False):
    dataset = Dataset.from_extractors(CvatTaskDataExtractor(
        task_data, include_images=save_images), env=dm_env)
    dataset.transform(LabelToCaption)
    with TemporaryDirectory() as temp_dir:
        dataset.export(temp_dir, 'icdar_word_recognition', save_images=save_images)
        make_zip_archive(temp_dir, dst_file)
コード例 #5
0
def _export(dst_file, task_data, save_images=False):
    dataset = Dataset.from_extractors(CvatTaskDataExtractor(
        task_data, include_images=save_images),
                                      env=dm_env)
    with TemporaryDirectory() as temp_dir:
        dataset.export(temp_dir, 'wider_face', save_images=save_images)

        make_zip_archive(temp_dir, dst_file)
コード例 #6
0
def _export(dst_file, task_data, save_images=False):
    extractor = CvatTaskDataExtractor(task_data, include_images=save_images)
    extractor = Dataset.from_extractors(extractor) # apply lazy transforms
    with TemporaryDirectory() as temp_dir:
        dm_env.converters.get('mot_seq_gt').convert(extractor,
            save_dir=temp_dir, save_images=save_images)

        make_zip_archive(temp_dir, dst_file)
コード例 #7
0
ファイル: market1501.py プロジェクト: z80020100/cvat
def _export(dst_file, task_data, save_images=False):
    dataset = Dataset.from_extractors(CvatTaskDataExtractor(
        task_data, include_images=save_images),
                                      env=dm_env)
    with TemporaryDirectory() as temp_dir:
        dataset.transform(LabelAttrToAttr, 'market-1501')
        dataset.export(temp_dir, 'market1501', save_images=save_images)
        make_zip_archive(temp_dir, dst_file)
コード例 #8
0
def _export(dst_file, task_data, save_images=False):
    extractor = CvatTaskDataExtractor(task_data, include_images=save_images)
    envt = dm_env.transforms
    extractor = extractor.transform(envt.get('polygons_to_masks'))
    extractor = extractor.transform(envt.get('boxes_to_masks'))
    extractor = extractor.transform(envt.get('merge_instance_segments'))
    extractor = Dataset.from_extractors(extractor)  # apply lazy transforms
    label_map = make_colormap(task_data)
    with TemporaryDirectory() as temp_dir:
        dm_env.converters.get('camvid').convert(
            extractor,
            save_dir=temp_dir,
            save_images=save_images,
            apply_colormap=True,
            label_map={label: label_map[label][0]
                       for label in label_map})

        make_zip_archive(temp_dir, dst_file)
コード例 #9
0
ファイル: tfrecord.py プロジェクト: Abhishek-katta/Cvat
def _export(dst_file, task_data, save_images=False):
    extractor = CvatTaskDataExtractor(task_data, include_images=save_images)
    extractor = Dataset.from_extractors(extractor)  # apply lazy transforms
    with TemporaryDirectory() as temp_dir:
        converter = dm_env.make_converter('tf_detection_api',
                                          save_images=save_images)
        converter(extractor, save_dir=temp_dir)

        make_zip_archive(temp_dir, dst_file)
コード例 #10
0
ファイル: icdar.py プロジェクト: z80020100/cvat
def _export_segmentation(dst_file, task_data, save_images=False):
    dataset = Dataset.from_extractors(CvatTaskDataExtractor(
        task_data, include_images=save_images), env=dm_env)
    with TemporaryDirectory() as temp_dir:
        dataset.transform('polygons_to_masks')
        dataset.transform('boxes_to_masks')
        dataset.transform('merge_instance_segments')
        dataset.export(temp_dir, 'icdar_text_segmentation', save_images=save_images)
        make_zip_archive(temp_dir, dst_file)
コード例 #11
0
ファイル: coco.py プロジェクト: gost-sniper/cvat
def _export(dst_file, task_data, save_images=False):
    dataset = Dataset.from_extractors(CvatTaskDataExtractor(
        task_data, include_images=save_images),
                                      env=dm_env)
    with TemporaryDirectory() as temp_dir:
        dataset.export(temp_dir,
                       'coco_instances',
                       save_images=save_images,
                       merge_images=True)

        make_zip_archive(temp_dir, dst_file)
コード例 #12
0
def _export(dst_file, task_data, save_images=False):
    dataset = Dataset.from_extractors(CvatTaskDataExtractor(
        task_data, include_images=save_images),
                                      env=dm_env)
    dataset.transform(KeepTracks)  # can only export tracks
    dataset.transform('polygons_to_masks')
    dataset.transform('boxes_to_masks')
    dataset.transform('merge_instance_segments')
    with TemporaryDirectory() as temp_dir:
        dataset.export(temp_dir, 'mots_png', save_images=save_images)

        make_zip_archive(temp_dir, dst_file)
コード例 #13
0
ファイル: mask.py プロジェクト: z80020100/cvat
def _export(dst_file, task_data, save_images=False):
    dataset = Dataset.from_extractors(CvatTaskDataExtractor(
        task_data, include_images=save_images),
                                      env=dm_env)
    dataset.transform('polygons_to_masks')
    dataset.transform('boxes_to_masks')
    dataset.transform('merge_instance_segments')
    with TemporaryDirectory() as temp_dir:
        dataset.export(temp_dir,
                       'voc_segmentation',
                       save_images=save_images,
                       apply_colormap=True,
                       label_map=make_colormap(task_data))

        make_zip_archive(temp_dir, dst_file)
コード例 #14
0
    def _export(self, task_data, save_dir, save_images=False):
        dataset = CvatTaskDataExtractor(task_data, include_images=save_images)
        converter = dm_env.make_converter('datumaro_project',
            save_images=save_images,
            config={ 'project_name': task_data.db_task.name, }
        )
        converter(dataset, save_dir=save_dir)

        project = Project.load(save_dir)
        target_dir = project.config.project_dir
        os.makedirs(target_dir, exist_ok=True)
        shutil.copyfile(
            osp.join(self._TEMPLATES_DIR, 'README.md'),
            osp.join(target_dir, 'README.md'))

        if not save_images:
            # add remote links to images
            source_name = 'task_%s_images' % task_data.db_task.id
            project.add_source(source_name, {
                'format': self._REMOTE_IMAGES_EXTRACTOR,
            })
            self._save_image_info(
                osp.join(save_dir, project.local_source_dir(source_name)),
                task_data)
            project.save()

            templates_dir = osp.join(self._TEMPLATES_DIR, 'plugins')
            target_dir = osp.join(project.config.project_dir,
                project.config.env_dir, project.config.plugins_dir)
            os.makedirs(target_dir, exist_ok=True)
            shutil.copyfile(
                osp.join(templates_dir, self._REMOTE_IMAGES_EXTRACTOR + '.py'),
                osp.join(target_dir, self._REMOTE_IMAGES_EXTRACTOR + '.py'))

        # Make Datumaro and CVAT CLI modules available to the user
        shutil.copytree(DATUMARO_PATH, osp.join(save_dir, 'datumaro'),
            ignore=lambda src, names: ['__pycache__'] + [
                n for n in names
                if sum([int(n.endswith(ext)) for ext in
                        ['.pyx', '.pyo', '.pyd', '.pyc']])
            ])

        cvat_utils_dst_dir = osp.join(save_dir, 'cvat', 'utils')
        os.makedirs(cvat_utils_dst_dir)
        shutil.copytree(osp.join(BASE_DIR, 'utils', 'cli'),
            osp.join(cvat_utils_dst_dir, 'cli'))
コード例 #15
0
def _export(dst_file, task_data, save_images=False):
    extractor = CvatTaskDataExtractor(task_data, include_images=save_images)
    envt = dm_env.transforms
    extractor = extractor.transform(KeepTracks)  # can only export tracks
    extractor = extractor.transform(envt.get('polygons_to_masks'))
    extractor = extractor.transform(envt.get('boxes_to_masks'))
    extractor = extractor.transform(envt.get('merge_instance_segments'))
    extractor = Dataset.from_extractors(extractor)  # apply lazy transforms
    with TemporaryDirectory() as temp_dir:
        dm_env.converters.get('mots_png').convert(extractor,
                                                  save_dir=temp_dir,
                                                  save_images=save_images)

        make_zip_archive(temp_dir, dst_file)
コード例 #16
0
    def _export(self, task_data, save_dir, save_images=False):
        dataset = CvatTaskDataExtractor(task_data, include_images=save_images)
        dm_env.converters.get('datumaro_project').convert(
            dataset,
            save_dir=save_dir,
            save_images=save_images,
            project_config={
                'project_name': task_data.db_task.name,
            })

        project = Project.load(save_dir)
        target_dir = project.config.project_dir
        os.makedirs(target_dir, exist_ok=True)
        shutil.copyfile(osp.join(self._TEMPLATES_DIR, 'README.md'),
                        osp.join(target_dir, 'README.md'))

        if not save_images:
            # add remote links to images
            source_name = 'task_%s_images' % task_data.db_task.id
            project.add_source(source_name, {
                'format': self._REMOTE_IMAGES_EXTRACTOR,
            })
            self._save_image_info(
                osp.join(save_dir, project.local_source_dir(source_name)),
                task_data)
            project.save()

            templates_dir = osp.join(self._TEMPLATES_DIR, 'plugins')
            target_dir = osp.join(project.config.project_dir,
                                  project.config.env_dir,
                                  project.config.plugins_dir)
            os.makedirs(target_dir, exist_ok=True)
            shutil.copyfile(
                osp.join(templates_dir, self._REMOTE_IMAGES_EXTRACTOR + '.py'),
                osp.join(target_dir, self._REMOTE_IMAGES_EXTRACTOR + '.py'))

        # Make CVAT CLI module available to the user
        cvat_utils_dst_dir = osp.join(save_dir, 'cvat', 'utils')
        os.makedirs(cvat_utils_dst_dir)
        shutil.copytree(osp.join(BASE_DIR, 'utils', 'cli'),
                        osp.join(cvat_utils_dst_dir, 'cli'))