Skip to content

Commit d026e26

Browse files
committed
[feat] support for input augmentation bypass mode for Detectron2Dataset
1 parent 6b7fbf7 commit d026e26

File tree

3 files changed

+23
-9
lines changed

3 files changed

+23
-9
lines changed

cfgs/dataset/default.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ config:
88
seqinfo: "seqinfo.ini"
99
ext: "png"
1010
settings:
11+
input_augmentation_bypass: False
1112
linear_mapper: False
1213
patch_size: [512, 512]
1314
ret_name: False

cfgs/vision_model/default.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,6 @@ mask_rcnn_R_50_FPN_3x:
2727
integer_conv_weight: False
2828
splits : "r2" #, "c2" or "fpn"
2929

30-
sam_vit_h_4b8939:
31-
model_path_prefix: ${..model_root_path}
32-
cfg: "Built-in configurations"
33-
weights: "weights/segment_anything/sam_vit_h_4b8939.pth"
34-
splits: "imgenc"
35-
3630
mask_rcnn_X_101_32x8d_FPN_3x:
3731
model_path_prefix: ${..model_root_path}
3832
cfg: "models/detectron2/configs/COCO-InstanceSegmentation/mask_rcnn_X_101_32x8d_FPN_3x.yaml"
@@ -47,6 +41,12 @@ panoptic_rcnn_R_101_FPN_3x:
4741
integer_conv_weight: False
4842
splits : "fpn"
4943

44+
sam_vit_h_4b8939:
45+
model_path_prefix: ${..model_root_path}
46+
cfg: "Built-in configurations"
47+
weights: "weights/segment_anything/sam_vit_h_4b8939.pth"
48+
splits: "imgenc"
49+
5050
jde_1088x608:
5151
model_path_prefix: ${..model_root_path}
5252
cfg: "models/Towards-Realtime-MOT/cfg/yolov3_1088x608.cfg"

compressai_vision/datasets/image.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,17 @@
3131
import base64
3232
import logging
3333
import re
34-
3534
from glob import glob
3635
from pathlib import Path
3736
from typing import Dict, List
3837

3938
import numpy as np
40-
4139
from detectron2.data import DatasetCatalog, MetadataCatalog
4240
from detectron2.data.common import DatasetFromList, MapDataset
4341
from detectron2.data.dataset_mapper import DatasetMapper
4442
from detectron2.data.datasets import load_coco_json, register_coco_instances
4543
from detectron2.data.samplers import InferenceSampler
44+
from detectron2.data.transforms import AugmentationList
4645
from detectron2.utils.serialize import PicklableWrapper
4746
from jde.utils.io import read_results
4847
from PIL import Image
@@ -118,6 +117,14 @@ def __init__(self, root, dataset_name, imgs_folder, **kwargs):
118117
if kwargs["seqinfo"].lower() != "none":
119118
self.seqinfo_path = kwargs["dataset"].seqinfo_path
120119

120+
self.input_agumentation_bypass = False
121+
if "input_augmentation_bypass" in kwargs:
122+
self.input_agumentation_bypass = kwargs["input_augmentation_bypass"]
123+
if self.input_agumentation_bypass:
124+
self.logger.warning(
125+
"The vision model may or may not support the feature of input agumentation bypass\n"
126+
)
127+
121128
self.images_folder = Path(root) / imgs_folder
122129
assert self.images_folder == kwargs["dataset"].imgs_folder_path
123130

@@ -251,9 +258,15 @@ def __init__(self, root, dataset_name, imgs_folder, **kwargs):
251258
), "A proper mapper information via cfg must be provided"
252259
mapper = DatasetMapper(kwargs["cfg"], False)
253260

254-
self.mapDataset = MapDataset(_dataset, mapper)
255261
self._org_mapper_func = PicklableWrapper(DatasetMapper(kwargs["cfg"], False))
256262

263+
if self.input_agumentation_bypass:
264+
emptyAugList = AugmentationList([])
265+
self._org_mapper_func.augmentations = emptyAugList
266+
mapper.augmentations = emptyAugList
267+
268+
self.mapDataset = MapDataset(_dataset, mapper)
269+
257270
metaData = MetadataCatalog.get(dataset_name)
258271
try:
259272
self.thing_classes = metaData.thing_classes

0 commit comments

Comments
 (0)