Esempio n. 1
0
def register_display(basedir):
    print("REGISTER")
    for split in ["train", "val"]:
        name = split
        DatasetRegistry.register(name, lambda x=split: DisplayDemo(basedir, x))
        DatasetRegistry.register_metadata(name, "class_names",
                                          ["BG", "LabelID0", "LabelID1"])
Esempio n. 2
0
def register_ic(basedir):
    for split in ["train", "val"]:
        print('split: ', split)
        name = "ic_" + split
        DatasetRegistry.register(name, lambda x=split: ICDemo(basedir, x))
        DatasetRegistry.register_metadata(name, "class_names", ["BG", "IC"])
        print(DatasetRegistry._metadata_registry)
def register_coco(basedir):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.

    Note that train2017==trainval35k==train2014+val2014-minival2014, and val2017==minival2014.
    """

    # 80 names for COCO
    # For your own coco-format dataset, change this.
    """
    class_names = [
        "person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light", "fire hydrant", "stop sign", "parking meter", "bench", "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", "bear", "zebra", "giraffe", "backpack", "umbrella", "handbag", "tie", "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup", "fork", "knife", "spoon", "bowl", "banana", "apple", "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake", "chair", "couch", "potted plant", "bed", "dining table", "toilet", "tv", "laptop", "mouse", "remote", "keyboard", "cell phone", "microwave", "oven", "toaster", "sink", "refrigerator", "book", "clock", "vase", "scissors", "teddy bear", "hair drier", "toothbrush"]  # noqa
    class_names = ["BG"] + class_names
    """
    class_names = ["BG", "failure"]

    for split in [
            "train2017", "val2017", "train2014", "val2014",
            "valminusminival2014", "minival2014", "val2017_100"
    ]:
        name = "coco_" + split
        DatasetRegistry.register(name,
                                 lambda x=split: COCODetection(basedir, x))
        DatasetRegistry.register_metadata(name, 'class_names', class_names)
Esempio n. 4
0
def register_waymo(basedir):
    for split in ["train", "val"]:
        name = "waymo_" + split
        DatasetRegistry.register(name, lambda x=split: WaymoDemo(basedir, x))
        DatasetRegistry.register_metadata(name, "class_names", [
            "TYPE_BACKGROUND", "TYPE_UNKNOWN", "TYPE_VEHICLE",
            "TYPE_PEDESTRIAN", "TYPE_SIGN", "TYPE_CYCLIST"
        ])
Esempio n. 5
0
def register_coco(basedir):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.
    """
    for split in ["train2017", "val2017", "train2014", "val2014",
                  "valminusminival2014", "minival2014"]:
        DatasetRegistry.register("coco_" + split, lambda x=split: COCODetection(basedir, x))
Esempio n. 6
0
def register_deep_fashion_2(basedir):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.
    """
    for split in ['train', 'val']:
        DatasetRegistry.register(
            split, lambda x=split: DeepFashion2Detection(basedir, x))
Esempio n. 7
0
def register_coco(basedir):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.

    Note that train2017==trainval35k==train2014+val2014-minival2014, and val2017==minival2014.
    """

    # 80 names for COCO
    # For your own coco-format dataset, change this.
    class_names = [
        'OttavaBracket', 'OttavaText_15ma', 'OttavaText_15mb',
        'OttavaText_8va', 'OttavaText_8vb', 'accidentalDoubleFlat',
        'accidentalDoubleSharp', 'accidentalFlat', 'accidentalNatural',
        'accidentalSharp', 'arpeggiato', 'articAccentAbove',
        'articAccentBelow', 'articMarcatoAbove', 'articMarcatoBelow',
        'articStaccatissimoAbove', 'articStaccatissimoBelow',
        'articStaccatoAbove', 'articStaccatoBelow', 'articTenutoAbove',
        'articTenutoBelow', 'augmentationDot', 'barlineHeavy', 'barlineSingle',
        'beam', 'brace', 'cClefAlto', 'cClefAltoChange', 'cClefTenor',
        'cClefTenorChange', 'caesura', 'clef15', 'clef8', 'coda', 'combStaff',
        'combTimeSignature', 'dynamicFF', 'dynamicFFF', 'dynamicFFFF',
        'dynamicFFFFF', 'dynamicForte', 'dynamicFortePiano', 'dynamicMF',
        'dynamicMP', 'dynamicMezzo', 'dynamicPP', 'dynamicPPP', 'dynamicPPPP',
        'dynamicPPPPP', 'dynamicPiano', 'dynamicRinforzando2',
        'dynamicSforzando1', 'dynamicSforzato', 'fClef', 'fClefChange',
        'fermataAbove', 'fermataBelow', 'fingering0', 'fingering1',
        'fingering2', 'fingering3', 'fingering4', 'fingering5',
        'flag128thDown', 'flag128thUp', 'flag16thDown', 'flag16thUp',
        'flag32ndDown', 'flag32ndUp', 'flag64thDown', 'flag64thUp',
        'flag8thDown', 'flag8thUp', 'gClef', 'gClefChange', 'hairpin',
        'keyFlat', 'keyNatural', 'keySharp', 'keyboardPedalPed',
        'keyboardPedalUp', 'legerLine', 'noteheadBlack', 'noteheadDoubleWhole',
        'noteheadHalf', 'noteheadWhole', 'ornamentMordent', 'ornamentTrill',
        'ornamentTurn', 'ornamentTurnInverted', 'repeatDot', 'rest128th',
        'rest16th', 'rest32nd', 'rest64th', 'rest8th', 'restDoubleWhole',
        'restHBar', 'restHNr', 'restHalf', 'restLonga', 'restQuarter',
        'restWhole', 'segno', 'slur', 'staffLine', 'stem', 'stringsDownBow',
        'stringsUpBow', 'text_field', 'text_script', 'tie', 'timeSig0',
        'timeSig1', 'timeSig2', 'timeSig3', 'timeSig4', 'timeSig5', 'timeSig6',
        'timeSig7', 'timeSig8', 'timeSig9', 'timeSigCommon',
        'timeSigCutCommon', 'tremolo1', 'tremolo2', 'tremolo3', 'tremolo4',
        'tuplet1', 'tuplet3', 'tuplet4', 'tuplet5', 'tuplet6', 'tuplet7',
        'tuplet8', 'tuplet9', 'tupletBracket'
    ]

    class_names = ["BG"] + class_names

    for split in [
            "train2017", "val2017", "train2014", "val2014",
            "valminusminival2014", "minival2014", "val2017_100"
    ]:
        name = "coco_" + split
        DatasetRegistry.register(name,
                                 lambda x=split: COCODetection(basedir, x))
        DatasetRegistry.register_metadata(name, 'class_names', class_names)
Esempio n. 8
0
def register_coco_format(data_config: DataConfig):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.

    Note that train2017==trainval35k==train2014+val2014-minival2014, and val2017==minival2014.
    """

    # split_names = ['train', 'eval']

    class_names_ls = {}
    class_names = []

    for _split in data_config.train_splits + data_config.eval_splits:  # type: DataSubsetSplit
        _name = _split.nickname
        print("register coco:", _split)
        class_names = DatasetRegistry.register(
            dataset_name=_name,
            func=lambda sp=_split: COCOFormatDetectionSubset(
                _split.ann_path,
                image_data_basedir=data_config.image_data_basedir),
            logx=_split)
        class_names_ls[_name] = class_names

    # consistency check
    for nm, cls_n in class_names_ls.items():
        assert class_names == cls_n, "Train and Val category sets are not consistent"

    class_names_include_bg = ["BG"] + list(class_names)
    for subset_name, _ in class_names_ls.items():
        DatasetRegistry.register_metadata(subset_name, 'class_names',
                                          class_names_include_bg)

    # TODO: check dataset here
    return
Esempio n. 9
0
def register_coco(basedir):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.

    Note that train2017==trainval35k==train2014+val2014-minival2014, and val2017==minival2014.
    """

    # 80 names for COCO
    # For your own coco-format dataset, change this.
    #class_names = [
    #   "person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light", "fire hydrant", "stop sign", "parking meter", "bench", "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", "bear", "zebra", "giraffe", "backpack", "umbrella", "handbag", "tie", "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup", "fork", "knife", "spoon", "bowl", "banana", "apple", "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake", "chair", "couch", "potted plant", "bed", "dining table", "toilet", "tv", "laptop", "mouse", "remote", "keyboard", "cell phone", "microwave", "oven", "toaster", "sink", "refrigerator", "book", "clock", "vase", "scissors", "teddy bear", "hair drier", "toothbrush"]  # noqa
    # !!! xiaoying
    class_names = [
        'aeroplane',  # 0
        'bicycle',  # 1
        'bird',  # 2
        'boat',  # 3
        'bottle',  # 4
        'bus',  # 5
        'car',  # 6
        'cat',  # 7
        'chair',  # 8
        'cow',  # 9
        'diningtable',  # 10
        'dog',  # 11
        'horse',  # 12 
        'motorbike',  # 13
        'person',  # 14
        'pottedplant',  # 15
        'sheep',  # 16
        'sofa',  # 17
        'train',  # 18
        'tvmonitor'  # 19
    ]
    class_names = ["BG"] + class_names
    print("!!! xiaoying class_names", class_names)

    for split in [
            "train2017", "val2017", "train2014", "val2014",
            "valminusminival2014", "minival2014", "val2017_100",
            "voctrain2012", "vocval2012"
    ]:  #!!xiaoying
        name = "coco_" + split
        DatasetRegistry.register(name,
                                 lambda x=split: COCODetection(basedir, x))
        DatasetRegistry.register_metadata(name, 'class_names', class_names)
Esempio n. 10
0
def register_coco(basedir):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.

    Note that train2017==trainval35k==train2014+val2014-minival2014, and val2017==minival2014.
    """

    # 80 names for COCO
    # For your own coco-format dataset, change this.
    class_names = ["page"]#, "passport_code"]
    class_names = ["BG"] + class_names

    for split in ["train_set_vito"]:
        name = split
        DatasetRegistry.register(name, lambda x=split: COCODetection(basedir, x))
        DatasetRegistry.register_metadata(name, 'class_names', class_names)
Esempio n. 11
0
def register_coco(basedir):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.

    Note that train2017==trainval35k==train2014+val2014-minival2014, and val2017==minival2014.
    """

    # 80 names for COCO
    # For your own coco-format dataset, change this.

    class_names = ["BG", "failure"]

    for split in ["train2019", "val2019"]:
        #name = "coco_" + split
        DatasetRegistry.register(split,
                                 lambda x=split: COCODetection(basedir, x))
        DatasetRegistry.register_metadata(split, 'class_names', class_names)
Esempio n. 12
0
def register_coco(basedir):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.

    Note that train2017==trainval35k==train2014+val2014-minival2014, and val2017==minival2014.
    """

    # 80 names for COCO
    # For your own coco-format dataset, change this.
    class_names = ['table']
    class_names = ["BG"] + class_names

    for split in [
            'train2021', "train2017"
    ]:  #, "train2014", "val2014", "valminusminival2014", "minival2014", "val2017_100"]:
        name = "coco_" + split
        DatasetRegistry.register(name,
                                 lambda x=split: COCODetection(basedir, x))
        DatasetRegistry.register_metadata(name, 'class_names', class_names)
Esempio n. 13
0
def register_pascal_voc(basedir):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.

    Note that train2017==trainval35k==train2014+val2014-minival2014, and val2017==minival2014.
    """

    # 80 names for COCO
    # For your own coco-format dataset, change this.
    class_names = [
        "aeroplane",
        "bicycle",
        "bird",
        "boat",
        "bottle",
        "bus",
        "car",
        "cat",
        "chair",
        "cow",
        "diningtable",
        "dog",
        "horse",
        "motorbike",
        "person",
        "pottedplant",
        "sheep",
        "sofa",
        "train",
        "tvmonitor",
    ]  # noqa

    class_names = ["BG"] + class_names

    for split in ["minitrain2014", "minival2014", "train2014", "val2014"]:
        name = "voc_" + split
        DatasetRegistry.register(name,
                                 lambda x=split: COCODetection(basedir, x))
        DatasetRegistry.register_metadata(name, 'class_names', class_names)
Esempio n. 14
0
def register_coco(basedir):
    """
    Add COCO datasets like "coco_train201x" to the registry,
    so you can refer to them with names in `cfg.DATA.TRAIN/VAL`.

    Note that train2017==trainval35k==train2014+val2014-minival2014, and val2017==minival2014.
    """

    # 80 names for COCO
    # For your own coco-format dataset, change this.
    class_names = ['Bacterial_Spot', 
              'Late_Blight', 
              'Septorial_Leaf_spot', 
              'Mosaic_Virus', 
              'Yellow_Curved']
    
    '''['Bird', 'Ground Animal', 'Curb', 'Fence', 'Guard Rail', 'Barrier', 
                   'Wall', 'Bike Lane', 'Crosswalk - Plain', 'Curb Cut', 'Parking', 
                   'Pedestrian Area', 'Rail Track', 'Road', 'Service Lane', 'Sidewalk', 
                   'Bridge', 'Building', 'Tunnel', 'Person', 'Bicyclist', 'Motorcyclist', 
                   'Other Rider', 'Lane Marking - Crosswalk', 'Lane Marking - General', 
                   'Mountain', 'Sand', 'Sky', 'Snow', 'Terrain', 'Vegetation', 'Water', 
                   'Banner', 'Bench', 'Bike Rack', 'Billboard', 'Catch Basin', 
                   'CCTV Camera', 'Fire Hydrant', 'Junction Box', 'Mailbox', 'Manhole', 
                   'Phone Booth', 'Pothole', 'Street Light', 'Pole', 'Traffic Sign Frame',
                   'Utility Pole', 'Traffic Light', 'Traffic Sign (Back)', 
                   'Traffic Sign (Front)', 'Trash Can', 'Bicycle', 'Boat', 'Bus', 'Car', 
                   'Caravan', 'Motorcycle', 'On Rails', 'Other Vehicle', 'Trailer', 'Truck', 
                   'Wheeled Slow', 'Car Mount', 'Ego Vehicle', 'Unlabeled']'''

    '''['short_sleeved_shirt', 'long_sleeved_shirt', 'short_sleeved_outwear', 
                  'long_sleeved_outwear', 'vest', 'sling', 'shorts', 'trousers', 'skirt', 
                  'short_sleeved_dress', 'long_sleeved_dress', 'vest_dress', 'sling_dress']'''
    class_names = ["BG"] + class_names

    for split in ["train2017", "val2017", "train2014", "val2014",
                  "valminusminival2014", "minival2014", "val2017_100"]:
        name = "coco_" + split
        DatasetRegistry.register(name, lambda x=split: COCODetection(basedir, x))
        DatasetRegistry.register_metadata(name, 'class_names', class_names)
Esempio n. 15
0
def register_balloon(basedir):
    for split in ["train", "val"]:
        name = "balloon_" + split
        DatasetRegistry.register(name, lambda x=split: BalloonDemo(basedir, x))
        DatasetRegistry.register_metadata(name, "class_names",
                                          ["BG", "balloon"])
Esempio n. 16
0
def register_idcard(basedir):
    for split in ["train", "val"]:
        name = "idcard_" + split
        DatasetRegistry.register(name,
                                 lambda x=split: IDCardDataset(basedir, x))
        DatasetRegistry.register_metadata(name, "class_names", ["BG", "page"])