# Copyright (c) OpenMMLab. All rights reserved. from .builder import DATASETS from .video_dataset import VideoDataset @DATASETS.register_module() class ImageDataset(VideoDataset): """Image dataset for action recognition, used in the Project OmniSource. The dataset loads image list and apply specified transforms to return a dict containing the image tensors and other information. For the ImageDataset The ann_file is a text file with multiple lines, and each line indicates the image path and the image label, which are split with a whitespace. Example of a annotation file: .. code-block:: txt path/to/image1.jpg 1 path/to/image2.jpg 1 path/to/image3.jpg 2 path/to/image4.jpg 2 path/to/image5.jpg 3 path/to/image6.jpg 3 Example of a multi-class annotation file: .. code-block:: txt path/to/image1.jpg 1 3 5 path/to/image2.jpg 1 2 path/to/image3.jpg 2 path/to/image4.jpg 2 4 6 8 path/to/image5.jpg 3 path/to/image6.jpg 3 Args: ann_file (str): Path to the annotation file. pipeline (list[dict | callable]): A sequence of data transforms. **kwargs: Keyword arguments for ``BaseDataset``. """ def __init__(self, ann_file, pipeline, **kwargs): super().__init__(ann_file, pipeline, start_index=None, **kwargs) # use `start_index=None` to indicate it is for `ImageDataset`