CYF200127's picture
Upload 235 files
3e1d9f3 verified
raw
history blame
1.2 kB
from ..utils import (
MInstrDataset,
)
from ..root import (
DATASETS,
IMAGE_PLACEHOLDER,
BOXES_PLACEHOLDER,
OBJS_PLACEHOLDER,
)
@DATASETS.register_module()
class REGDataset(MInstrDataset):
def __init__(self, *args, **kwargs):
super().__init__(*args, placeholders=(IMAGE_PLACEHOLDER, OBJS_PLACEHOLDER), **kwargs)
def __getitem__(self, index):
item = self.get_raw_item(index)
img_path = item['img_path']
expr = item['expression']
bbox = item['bbox']
image = self.get_image(img_path)
question = self.get_template().replace(OBJS_PLACEHOLDER, BOXES_PLACEHOLDER)
caption = expr
ret = {
'image': image,
'target': {
'boxes': [bbox],
},
'conversations': [
{
'from': 'human',
'value': question,
'boxes_seq': [[0]],
},
{
'from': 'gpt',
'value': f'{caption}',
}
]
}
return ret
@DATASETS.register_module()
class GCDataset(REGDataset):
pass