Esempio n. 1
0
    def _init_files_and_annotations(self, *args, **kwargs):
        """Create files and annotations."""
        if self.subset == "train":
            subset = "train_validation"
        elif self.subset == "validation" or self.subset == "test":
            subset = "test"

        if subset == "train_validation":
            pascalvoc_2007 = Pascalvoc2007(subset=subset,
                                           skip_difficult=self.skip_difficult,
                                           *args,
                                           **kwargs)
            pascalvoc_2012 = Pascalvoc2012(subset=subset,
                                           skip_difficult=self.skip_difficult,
                                           *args,
                                           **kwargs)
            self.files = pascalvoc_2007.files + pascalvoc_2012.files
            self.annotations = pascalvoc_2007.annotations + pascalvoc_2012.annotations
        elif subset == "test":
            pascalvoc_2007 = Pascalvoc2007(subset=subset,
                                           skip_difficult=self.skip_difficult,
                                           *args,
                                           **kwargs)
            self.files = pascalvoc_2007.files
            self.annotations = pascalvoc_2007.annotations
Esempio n. 2
0
def test_pascalvoc_2007():
    dataset = Pascalvoc2007()
    assert len(dataset.classes) == 20
    assert dataset.available_subsets == [
        'train', 'validation', 'test', 'train_validation'
    ]
    assert dataset._files_and_annotations() == ([
        'unit/fixtures/datasets/PASCALVOC_2007/VOCdevkit/VOC2007/JPEGImages/000085.jpg'
    ], [[[5, 103, 212, 174, 8], [21, 69, 232, 257, 14]]])
Esempio n. 3
0
def test_hue():
    batch_size = 3
    image_size = [256, 512]
    dataset = Pascalvoc2007(
        batch_size=batch_size, pre_processor=ResizeWithGtBoxes(image_size),
        augmentor=Hue((-10, 10)),
    )
    dataset = DatasetIterator(dataset)

    for _ in range(5):
        images, labels = dataset.feed()
        _show_images_with_boxes(images, labels)
Esempio n. 4
0
def test_filp_top_bottom():
    batch_size = 3
    image_size = [256, 512]
    dataset = Pascalvoc2007(
        batch_size=batch_size, pre_processor=ResizeWithGtBoxes(image_size),
        augmentor=FlipTopBottom(),
    )
    dataset = DatasetIterator(dataset)

    for _ in range(5):
        images, labels = dataset.feed()
        _show_images_with_boxes(images, labels)
Esempio n. 5
0
def test_ssd_random_crop():
    batch_size = 3
    image_size = [256, 512]
    dataset = Pascalvoc2007(
        batch_size=batch_size, pre_processor=ResizeWithGtBoxes(image_size),
        augmentor=SSDRandomCrop(),
    )
    dataset = DatasetIterator(dataset)

    for _ in range(5):
        images, labels = dataset.feed()
        _show_images_with_boxes(images, labels)
        assert np.all(labels[:, :, 2] <= 512)
        assert np.all(labels[:, :, 3] <= 256)
Esempio n. 6
0
def test_sequence():
    batch_size = 3
    image_size = [256, 512]
    augmentor = Sequence([
        FlipLeftRight(),
        FlipTopBottom(),
        SSDRandomCrop(),
    ])

    dataset = Pascalvoc2007(
        batch_size=batch_size, pre_processor=ResizeWithGtBoxes(image_size),
        augmentor=augmentor,
    )
    dataset = DatasetIterator(dataset)

    for _ in range(5):
        images, labels = dataset.feed()
        _show_images_with_boxes(images, labels)