Пример #1
0
    def to_coco(self,coco_root,split=None,reset=False):
        split = split if split is not None else self.voc.split
        if reset:
            reset_dir(coco_root)
        dist_anno_path, dist_image_path = Coco.reset_dir(coco_root,split)
        dist_anno_file = os.path.join(dist_anno_path,"%s.json" % split)

        anno_data = make_empty_coco_anno()
        json.dump(anno_data,open(dist_anno_file,"w+"))

        coco = Coco(
                    dist_image_path,
                    dist_anno_file,
                    keep_no_anno_image=self.voc.keep_no_anno_image,
                )
        coco.set_categories(self.voc.categories)

        image_id = 1

        for sample in self.voc.get_samples():
            assert isinstance(sample,Sample)
            coco.sample_db[image_id] = sample
            coco.ids.append(image_id)
            image_id += 1

        coco.save(coco_root,reset_dir=reset,split=split)
        coco.init()
        return coco
Пример #2
0
    def to_voc(self, voc_root, split=None, reset=False):
        split = split if split is not None else self.elf.split
        if reset:
            reset_dir(voc_root)
        anno_path, image_path, imgset_path, imgset_seg_path, \
        seg_class_image_path, seg_object_image_path = Voc.reset_dir(voc_root)

        setfile = os.path.join(
            imgset_seg_path, "%s.txt" %
            split) if self.elf.is_seg_mode else os.path.join(
                imgset_path, "%s.txt" % split)
        mkfile(setfile)

        voc = Voc(
            voc_root,
            split,
            keep_no_anno_image=self.elf.keep_no_anno_image,
            mode="detect" if not self.elf.is_seg_mode else "segment",
            categories=self.elf.categories,
            one_index=self.elf.one_index,
        )

        for sample in self.elf.get_samples():
            assert isinstance(sample, Sample)
            voc.sample_db[sample.name] = sample
            voc.ids.append(sample.name)

        voc.save(voc_root, reset_dir=reset, split=split)
        voc.init()
        return voc