Other
English
SPT_GridNet-HD_baseline / src /datasets /kitti360_config.py
Shanci's picture
Upload folder using huggingface_hub
26225c5 verified
Raw
History Blame
33.7 kB
import numpy as np
import os.path as osp
from collections import namedtuple
from src.datasets import IGNORE_LABEL as IGNORE
########################################################################
# Download information #
########################################################################
CVLIBS_URL = 'http://www.cvlibs.net/datasets/kitti-360/download.php'
BASE_URL = 'https://s3.eu-central-1.amazonaws.com/avg-projects/KITTI-360'
DATA_3D_SEMANTICS_URL = osp.join(BASE_URL, '6489aabd632d115c4280b978b2dcf72cb0142ad9/data_3d_semantics.zip')
DATA_3D_SEMANTICS_TEST_URL = osp.join(BASE_URL, '6489aabd632d115c4280b978b2dcf72cb0142ad9/data_3d_semantics_test.zip')
CALIBRATION_URL = osp.join(BASE_URL, '384509ed5413ccc81328cf8c55cc6af078b8c444/calibration.zip')
DATA_POSES_URL = osp.join(BASE_URL, '89a6bae3c8a6f789e12de4807fc1e8fdcf182cf4/data_poses.zip')
DATA_3D_SEMANTICS_ZIP_NAME = 'data_3d_semantics.zip'
DATA_3D_SEMANTICS_TEST_ZIP_NAME = 'data_3d_semantics_test.zip'
UNZIP_NAME = 'data_3d_semantics'
########################################################################
# Data splits #
########################################################################
# These train and validation splits were extracted from:
# - 'data_3d_semantics/2013_05_28_drive_train.txt'
# - 'data_3d_semantics/2013_05_28_drive_val.txt'
WINDOWS = {
'train': [
'2013_05_28_drive_0000_sync/0000000002_0000000385',
'2013_05_28_drive_0000_sync/0000001980_0000002295',
'2013_05_28_drive_0000_sync/0000002282_0000002514',
'2013_05_28_drive_0000_sync/0000002501_0000002706',
'2013_05_28_drive_0000_sync/0000002913_0000003233',
'2013_05_28_drive_0000_sync/0000003919_0000004105',
'2013_05_28_drive_0000_sync/0000004093_0000004408',
'2013_05_28_drive_0000_sync/0000004397_0000004645',
'2013_05_28_drive_0000_sync/0000004631_0000004927',
'2013_05_28_drive_0000_sync/0000004916_0000005264',
'2013_05_28_drive_0000_sync/0000005249_0000005900',
'2013_05_28_drive_0000_sync/0000005880_0000006165',
'2013_05_28_drive_0000_sync/0000006154_0000006400',
'2013_05_28_drive_0000_sync/0000006387_0000006634',
'2013_05_28_drive_0000_sync/0000006623_0000006851',
'2013_05_28_drive_0000_sync/0000006828_0000007055',
'2013_05_28_drive_0000_sync/0000007044_0000007286',
'2013_05_28_drive_0000_sync/0000007277_0000007447',
'2013_05_28_drive_0000_sync/0000007438_0000007605',
'2013_05_28_drive_0000_sync/0000007596_0000007791',
'2013_05_28_drive_0000_sync/0000007777_0000007982',
'2013_05_28_drive_0000_sync/0000007968_0000008291',
'2013_05_28_drive_0000_sync/0000008278_0000008507',
'2013_05_28_drive_0000_sync/0000008496_0000008790',
'2013_05_28_drive_0000_sync/0000008779_0000009015',
'2013_05_28_drive_0000_sync/0000009003_0000009677',
'2013_05_28_drive_0000_sync/0000009666_0000009895',
'2013_05_28_drive_0000_sync/0000009886_0000010098',
'2013_05_28_drive_0000_sync/0000010078_0000010362',
'2013_05_28_drive_0000_sync/0000010352_0000010588',
'2013_05_28_drive_0000_sync/0000010577_0000010841',
'2013_05_28_drive_0000_sync/0000010830_0000011124',
'2013_05_28_drive_0000_sync/0000011079_0000011287',
'2013_05_28_drive_0000_sync/0000011278_0000011467',
'2013_05_28_drive_0002_sync/0000006383_0000006769',
'2013_05_28_drive_0002_sync/0000006757_0000007020',
'2013_05_28_drive_0002_sync/0000007002_0000007228',
'2013_05_28_drive_0002_sync/0000007216_0000007502',
'2013_05_28_drive_0002_sync/0000007489_0000007710',
'2013_05_28_drive_0002_sync/0000007700_0000007935',
'2013_05_28_drive_0002_sync/0000007925_0000008100',
'2013_05_28_drive_0002_sync/0000008091_0000008324',
'2013_05_28_drive_0002_sync/0000008311_0000008656',
'2013_05_28_drive_0002_sync/0000008645_0000009059',
'2013_05_28_drive_0002_sync/0000009049_0000009275',
'2013_05_28_drive_0002_sync/0000009265_0000009515',
'2013_05_28_drive_0002_sync/0000009502_0000009899',
'2013_05_28_drive_0002_sync/0000009885_0000010251',
'2013_05_28_drive_0002_sync/0000010237_0000010495',
'2013_05_28_drive_0002_sync/0000010484_0000010836',
'2013_05_28_drive_0002_sync/0000010819_0000011089',
'2013_05_28_drive_0002_sync/0000011082_0000011480',
'2013_05_28_drive_0002_sync/0000011467_0000011684',
'2013_05_28_drive_0002_sync/0000011675_0000011894',
'2013_05_28_drive_0002_sync/0000011885_0000012047',
'2013_05_28_drive_0002_sync/0000012039_0000012206',
'2013_05_28_drive_0002_sync/0000012197_0000012403',
'2013_05_28_drive_0002_sync/0000012378_0000012617',
'2013_05_28_drive_0002_sync/0000012607_0000012785',
'2013_05_28_drive_0002_sync/0000012776_0000013003',
'2013_05_28_drive_0002_sync/0000012988_0000013420',
'2013_05_28_drive_0002_sync/0000013409_0000013661',
'2013_05_28_drive_0002_sync/0000013652_0000013860',
'2013_05_28_drive_0002_sync/0000013850_0000014120',
'2013_05_28_drive_0002_sync/0000014106_0000014347',
'2013_05_28_drive_0002_sync/0000014337_0000014499',
'2013_05_28_drive_0002_sync/0000014491_0000014687',
'2013_05_28_drive_0002_sync/0000014677_0000014858',
'2013_05_28_drive_0002_sync/0000014848_0000015027',
'2013_05_28_drive_0002_sync/0000015017_0000015199',
'2013_05_28_drive_0002_sync/0000015399_0000015548',
'2013_05_28_drive_0002_sync/0000015540_0000015692',
'2013_05_28_drive_0002_sync/0000015684_0000015885',
'2013_05_28_drive_0002_sync/0000015874_0000016223',
'2013_05_28_drive_0003_sync/0000000274_0000000401',
'2013_05_28_drive_0003_sync/0000000394_0000000514',
'2013_05_28_drive_0003_sync/0000000508_0000000623',
'2013_05_28_drive_0003_sync/0000000617_0000000738',
'2013_05_28_drive_0003_sync/0000000731_0000000893',
'2013_05_28_drive_0003_sync/0000000886_0000001009',
'2013_05_28_drive_0004_sync/0000003967_0000004185',
'2013_05_28_drive_0004_sync/0000004174_0000004380',
'2013_05_28_drive_0004_sync/0000004919_0000005171',
'2013_05_28_drive_0004_sync/0000005157_0000005564',
'2013_05_28_drive_0004_sync/0000005466_0000005775',
'2013_05_28_drive_0004_sync/0000005765_0000005945',
'2013_05_28_drive_0004_sync/0000005930_0000006119',
'2013_05_28_drive_0004_sync/0000006111_0000006313',
'2013_05_28_drive_0004_sync/0000006306_0000006457',
'2013_05_28_drive_0004_sync/0000006450_0000006647',
'2013_05_28_drive_0004_sync/0000006637_0000006868',
'2013_05_28_drive_0004_sync/0000006857_0000007055',
'2013_05_28_drive_0004_sync/0000007045_0000007242',
'2013_05_28_drive_0004_sync/0000007232_0000007463',
'2013_05_28_drive_0004_sync/0000007449_0000007619',
'2013_05_28_drive_0004_sync/0000007610_0000007773',
'2013_05_28_drive_0004_sync/0000007763_0000007929',
'2013_05_28_drive_0004_sync/0000007919_0000008113',
'2013_05_28_drive_0004_sync/0000008103_0000008330',
'2013_05_28_drive_0004_sync/0000008320_0000008559',
'2013_05_28_drive_0004_sync/0000008547_0000008806',
'2013_05_28_drive_0004_sync/0000008794_0000009042',
'2013_05_28_drive_0004_sync/0000009026_0000009253',
'2013_05_28_drive_0004_sync/0000009244_0000009469',
'2013_05_28_drive_0004_sync/0000009458_0000009686',
'2013_05_28_drive_0004_sync/0000009675_0000010020',
'2013_05_28_drive_0004_sync/0000010156_0000010336',
'2013_05_28_drive_0004_sync/0000010327_0000010554',
'2013_05_28_drive_0004_sync/0000010785_0000011115',
'2013_05_28_drive_0004_sync/0000011105_0000011325',
'2013_05_28_drive_0004_sync/0000010010_0000010166',
'2013_05_28_drive_0004_sync/0000010544_0000010799',
'2013_05_28_drive_0005_sync/0000000002_0000000357',
'2013_05_28_drive_0005_sync/0000000341_0000000592',
'2013_05_28_drive_0005_sync/0000000579_0000000958',
'2013_05_28_drive_0005_sync/0000000864_0000001199',
'2013_05_28_drive_0005_sync/0000001189_0000001398',
'2013_05_28_drive_0005_sync/0000001386_0000001669',
'2013_05_28_drive_0005_sync/0000001653_0000001877',
'2013_05_28_drive_0005_sync/0000001865_0000002132',
'2013_05_28_drive_0005_sync/0000002115_0000002461',
'2013_05_28_drive_0005_sync/0000002447_0000002823',
'2013_05_28_drive_0005_sync/0000002807_0000003311',
'2013_05_28_drive_0005_sync/0000003245_0000003509',
'2013_05_28_drive_0005_sync/0000003501_0000003711',
'2013_05_28_drive_0005_sync/0000003698_0000004017',
'2013_05_28_drive_0005_sync/0000004007_0000004299',
'2013_05_28_drive_0005_sync/0000004277_0000004566',
'2013_05_28_drive_0005_sync/0000004549_0000004787',
'2013_05_28_drive_0005_sync/0000006298_0000006541',
'2013_05_28_drive_0006_sync/0000001208_0000001438',
'2013_05_28_drive_0006_sync/0000001423_0000001711',
'2013_05_28_drive_0006_sync/0000001700_0000001916',
'2013_05_28_drive_0006_sync/0000001906_0000002133',
'2013_05_28_drive_0006_sync/0000002124_0000002289',
'2013_05_28_drive_0006_sync/0000002801_0000003011',
'2013_05_28_drive_0006_sync/0000003001_0000003265',
'2013_05_28_drive_0006_sync/0000003251_0000003634',
'2013_05_28_drive_0006_sync/0000003613_0000003905',
'2013_05_28_drive_0006_sync/0000003895_0000004070',
'2013_05_28_drive_0006_sync/0000004058_0000004393',
'2013_05_28_drive_0006_sync/0000004368_0000004735',
'2013_05_28_drive_0006_sync/0000004723_0000004930',
'2013_05_28_drive_0006_sync/0000004920_0000005128',
'2013_05_28_drive_0006_sync/0000005107_0000005311',
'2013_05_28_drive_0006_sync/0000005303_0000005811',
'2013_05_28_drive_0006_sync/0000005801_0000005966',
'2013_05_28_drive_0006_sync/0000005957_0000006191',
'2013_05_28_drive_0006_sync/0000006177_0000006404',
'2013_05_28_drive_0006_sync/0000006393_0000006648',
'2013_05_28_drive_0006_sync/0000006639_0000006827',
'2013_05_28_drive_0006_sync/0000006818_0000007040',
'2013_05_28_drive_0006_sync/0000007027_0000007239',
'2013_05_28_drive_0006_sync/0000007228_0000007465',
'2013_05_28_drive_0006_sync/0000007457_0000007651',
'2013_05_28_drive_0006_sync/0000007641_0000007836',
'2013_05_28_drive_0006_sync/0000007826_0000008063',
'2013_05_28_drive_0006_sync/0000008052_0000008284',
'2013_05_28_drive_0006_sync/0000008271_0000008499',
'2013_05_28_drive_0006_sync/0000008490_0000008705',
'2013_05_28_drive_0006_sync/0000008694_0000008906',
'2013_05_28_drive_0006_sync/0000008898_0000009046',
'2013_05_28_drive_0006_sync/0000009038_0000009223',
'2013_05_28_drive_0007_sync/0000000542_0000000629',
'2013_05_28_drive_0007_sync/0000000624_0000000710',
'2013_05_28_drive_0007_sync/0000000705_0000000790',
'2013_05_28_drive_0007_sync/0000000785_0000000870',
'2013_05_28_drive_0007_sync/0000000865_0000000952',
'2013_05_28_drive_0007_sync/0000000947_0000001039',
'2013_05_28_drive_0007_sync/0000001034_0000001127',
'2013_05_28_drive_0007_sync/0000001122_0000001227',
'2013_05_28_drive_0007_sync/0000001221_0000001348',
'2013_05_28_drive_0007_sync/0000001340_0000001490',
'2013_05_28_drive_0007_sync/0000001483_0000001582',
'2013_05_28_drive_0007_sync/0000001577_0000001664',
'2013_05_28_drive_0007_sync/0000001659_0000001750',
'2013_05_28_drive_0007_sync/0000001745_0000001847',
'2013_05_28_drive_0007_sync/0000001841_0000001957',
'2013_05_28_drive_0007_sync/0000001950_0000002251',
'2013_05_28_drive_0007_sync/0000002237_0000002410',
'2013_05_28_drive_0007_sync/0000002395_0000002789',
'2013_05_28_drive_0007_sync/0000002782_0000002902',
'2013_05_28_drive_0009_sync/0000000002_0000000292',
'2013_05_28_drive_0009_sync/0000000284_0000000460',
'2013_05_28_drive_0009_sync/0000000451_0000000633',
'2013_05_28_drive_0009_sync/0000000623_0000000787',
'2013_05_28_drive_0009_sync/0000001385_0000001543',
'2013_05_28_drive_0009_sync/0000001534_0000001694',
'2013_05_28_drive_0009_sync/0000001686_0000001961',
'2013_05_28_drive_0009_sync/0000001951_0000002126',
'2013_05_28_drive_0009_sync/0000002117_0000002353',
'2013_05_28_drive_0009_sync/0000002342_0000002630',
'2013_05_28_drive_0009_sync/0000002615_0000002835',
'2013_05_28_drive_0009_sync/0000002826_0000003034',
'2013_05_28_drive_0009_sync/0000003026_0000003200',
'2013_05_28_drive_0009_sync/0000003188_0000003457',
'2013_05_28_drive_0009_sync/0000003441_0000003725',
'2013_05_28_drive_0009_sync/0000003712_0000003987',
'2013_05_28_drive_0009_sync/0000003972_0000004258',
'2013_05_28_drive_0009_sync/0000004246_0000004489',
'2013_05_28_drive_0009_sync/0000004905_0000005179',
'2013_05_28_drive_0009_sync/0000005719_0000005993',
'2013_05_28_drive_0009_sync/0000005976_0000006285',
'2013_05_28_drive_0009_sync/0000006515_0000006753',
'2013_05_28_drive_0009_sync/0000006740_0000007052',
'2013_05_28_drive_0009_sync/0000007038_0000007278',
'2013_05_28_drive_0009_sync/0000007264_0000007537',
'2013_05_28_drive_0009_sync/0000007524_0000007859',
'2013_05_28_drive_0009_sync/0000007838_0000008107',
'2013_05_28_drive_0009_sync/0000008096_0000008413',
'2013_05_28_drive_0009_sync/0000008391_0000008694',
'2013_05_28_drive_0009_sync/0000008681_0000008963',
'2013_05_28_drive_0009_sync/0000008953_0000009208',
'2013_05_28_drive_0009_sync/0000009195_0000009502',
'2013_05_28_drive_0009_sync/0000009489_0000009738',
'2013_05_28_drive_0009_sync/0000009727_0000010097',
'2013_05_28_drive_0009_sync/0000010086_0000010717',
'2013_05_28_drive_0009_sync/0000010703_0000011118',
'2013_05_28_drive_0009_sync/0000011099_0000011363',
'2013_05_28_drive_0009_sync/0000011351_0000011646',
'2013_05_28_drive_0009_sync/0000011630_0000011912',
'2013_05_28_drive_0009_sync/0000011896_0000012181',
'2013_05_28_drive_0009_sync/0000012167_0000012410',
'2013_05_28_drive_0009_sync/0000012683_0000012899',
'2013_05_28_drive_0009_sync/0000012876_0000013148',
'2013_05_28_drive_0009_sync/0000013133_0000013380',
'2013_05_28_drive_0010_sync/0000000002_0000000208',
'2013_05_28_drive_0010_sync/0000000199_0000000361',
'2013_05_28_drive_0010_sync/0000000353_0000000557',
'2013_05_28_drive_0010_sync/0000000549_0000000726',
'2013_05_28_drive_0010_sync/0000000718_0000000881',
'2013_05_28_drive_0010_sync/0000000854_0000000991',
'2013_05_28_drive_0010_sync/0000000984_0000001116',
'2013_05_28_drive_0010_sync/0000001109_0000001252',
'2013_05_28_drive_0010_sync/0000001245_0000001578',
'2013_05_28_drive_0010_sync/0000001563_0000001733',
'2013_05_28_drive_0010_sync/0000001724_0000001879',
'2013_05_28_drive_0010_sync/0000002911_0000003114',
'2013_05_28_drive_0010_sync/0000003106_0000003313'],
'val': [
'2013_05_28_drive_0000_sync/0000000372_0000000610',
'2013_05_28_drive_0000_sync/0000000599_0000000846',
'2013_05_28_drive_0000_sync/0000000834_0000001286',
'2013_05_28_drive_0000_sync/0000001270_0000001549',
'2013_05_28_drive_0000_sync/0000001537_0000001755',
'2013_05_28_drive_0000_sync/0000001740_0000001991',
'2013_05_28_drive_0000_sync/0000002695_0000002925',
'2013_05_28_drive_0000_sync/0000003221_0000003475',
'2013_05_28_drive_0000_sync/0000003463_0000003724',
'2013_05_28_drive_0000_sync/0000003711_0000003928',
'2013_05_28_drive_0002_sync/0000004391_0000004625',
'2013_05_28_drive_0002_sync/0000004613_0000004846',
'2013_05_28_drive_0002_sync/0000004835_0000005136',
'2013_05_28_drive_0002_sync/0000005125_0000005328',
'2013_05_28_drive_0002_sync/0000005317_0000005517',
'2013_05_28_drive_0002_sync/0000005506_0000005858',
'2013_05_28_drive_0002_sync/0000005847_0000006086',
'2013_05_28_drive_0002_sync/0000006069_0000006398',
'2013_05_28_drive_0002_sync/0000015189_0000015407',
'2013_05_28_drive_0003_sync/0000000002_0000000282',
'2013_05_28_drive_0004_sync/0000002897_0000003118',
'2013_05_28_drive_0004_sync/0000003107_0000003367',
'2013_05_28_drive_0004_sync/0000003356_0000003586',
'2013_05_28_drive_0004_sync/0000003570_0000003975',
'2013_05_28_drive_0004_sync/0000004370_0000004726',
'2013_05_28_drive_0004_sync/0000004708_0000004929',
'2013_05_28_drive_0005_sync/0000004771_0000005011',
'2013_05_28_drive_0005_sync/0000004998_0000005335',
'2013_05_28_drive_0005_sync/0000005324_0000005591',
'2013_05_28_drive_0005_sync/0000005579_0000005788',
'2013_05_28_drive_0005_sync/0000005777_0000006097',
'2013_05_28_drive_0005_sync/0000006086_0000006307',
'2013_05_28_drive_0006_sync/0000000002_0000000403',
'2013_05_28_drive_0006_sync/0000000387_0000000772',
'2013_05_28_drive_0006_sync/0000000754_0000001010',
'2013_05_28_drive_0006_sync/0000001000_0000001219',
'2013_05_28_drive_0006_sync/0000002280_0000002615',
'2013_05_28_drive_0006_sync/0000002511_0000002810',
'2013_05_28_drive_0006_sync/0000009213_0000009393',
'2013_05_28_drive_0006_sync/0000009383_0000009570',
'2013_05_28_drive_0007_sync/0000000002_0000000125',
'2013_05_28_drive_0007_sync/0000000119_0000000213',
'2013_05_28_drive_0007_sync/0000000208_0000000298',
'2013_05_28_drive_0007_sync/0000000293_0000000383',
'2013_05_28_drive_0007_sync/0000000378_0000000466',
'2013_05_28_drive_0007_sync/0000000461_0000000547',
'2013_05_28_drive_0009_sync/0000000778_0000001026',
'2013_05_28_drive_0009_sync/0000001005_0000001244',
'2013_05_28_drive_0009_sync/0000001234_0000001393',
'2013_05_28_drive_0009_sync/0000004475_0000004916',
'2013_05_28_drive_0009_sync/0000005156_0000005440',
'2013_05_28_drive_0009_sync/0000005422_0000005732',
'2013_05_28_drive_0009_sync/0000006272_0000006526',
'2013_05_28_drive_0009_sync/0000012398_0000012693',
'2013_05_28_drive_0009_sync/0000013370_0000013582',
'2013_05_28_drive_0009_sync/0000013575_0000013709',
'2013_05_28_drive_0009_sync/0000013701_0000013838',
'2013_05_28_drive_0010_sync/0000001872_0000002033',
'2013_05_28_drive_0010_sync/0000002024_0000002177',
'2013_05_28_drive_0010_sync/0000002168_0000002765',
'2013_05_28_drive_0010_sync/0000002756_0000002920'],
'test': [
'2013_05_28_drive_0008_sync/0000006988_0000007177',
'2013_05_28_drive_0008_sync/0000000002_0000000245',
'2013_05_28_drive_0008_sync/0000008536_0000008643',
'2013_05_28_drive_0008_sync/0000000235_0000000608',
'2013_05_28_drive_0008_sync/0000008417_0000008542',
'2013_05_28_drive_0008_sync/0000004623_0000004876',
'2013_05_28_drive_0008_sync/0000001277_0000001491',
'2013_05_28_drive_0008_sync/0000004854_0000005104',
'2013_05_28_drive_0008_sync/0000006792_0000006997',
'2013_05_28_drive_0008_sync/0000002769_0000003002',
'2013_05_28_drive_0008_sync/0000006247_0000006553',
'2013_05_28_drive_0008_sync/0000007875_0000008100',
'2013_05_28_drive_0008_sync/0000000812_0000001058',
'2013_05_28_drive_0008_sync/0000007161_0000007890',
'2013_05_28_drive_0008_sync/0000008236_0000008426',
'2013_05_28_drive_0008_sync/0000001046_0000001295',
'2013_05_28_drive_0008_sync/0000006517_0000006804',
'2013_05_28_drive_0008_sync/0000005911_0000006258',
'2013_05_28_drive_0008_sync/0000008637_0000008745',
'2013_05_28_drive_0008_sync/0000005316_0000005605',
'2013_05_28_drive_0008_sync/0000008090_0000008242',
'2013_05_28_drive_0008_sync/0000005588_0000005932',
'2013_05_28_drive_0008_sync/0000002580_0000002789',
'2013_05_28_drive_0008_sync/0000005093_0000005329',
'2013_05_28_drive_0008_sync/0000000581_0000000823',
'2013_05_28_drive_0008_sync/0000002404_0000002590',
'2013_05_28_drive_0018_sync/0000001191_0000001409',
'2013_05_28_drive_0018_sync/0000001399_0000001587',
'2013_05_28_drive_0018_sync/0000003503_0000003724',
'2013_05_28_drive_0018_sync/0000002090_0000002279',
'2013_05_28_drive_0018_sync/0000002487_0000002835',
'2013_05_28_drive_0018_sync/0000002827_0000003047',
'2013_05_28_drive_0018_sync/0000001577_0000001910',
'2013_05_28_drive_0018_sync/0000000330_0000000543',
'2013_05_28_drive_0018_sync/0000000002_0000000341',
'2013_05_28_drive_0018_sync/0000000717_0000000985',
'2013_05_28_drive_0018_sync/0000000530_0000000727',
'2013_05_28_drive_0018_sync/0000000975_0000001200',
'2013_05_28_drive_0018_sync/0000003033_0000003229',
'2013_05_28_drive_0018_sync/0000003215_0000003513',
'2013_05_28_drive_0018_sync/0000001878_0000002099',
'2013_05_28_drive_0018_sync/0000002269_0000002496']}
SEQUENCES = {
k: list(set(osp.dirname(x) for x in v)) for k, v in WINDOWS.items()}
########################################################################
# Labels #
########################################################################
# Credit: https://github.com/autonomousvision/kitti360Scripts
Label = namedtuple('Label', [
'name', # The identifier of this label, e.g. 'car', 'person', ... .
# We use them to uniquely name a class
'id', # An integer ID that is associated with this label.
# The IDs are used to represent the label in ground truth images
# An ID of -1 means that this label does not have an ID and thus
# is ignored when creating ground truth images (e.g. license plate).
# Do not modify these IDs, since exactly these IDs are expected by the
# evaluation server.
'kittiId', # An integer ID that is associated with this label for KITTI-360
# NOT FOR RELEASING
'trainId', # Feel free to modify these IDs as suitable for your method. Then create
# ground truth images with train IDs, using the tools provided in the
# 'preparation' folder. However, make sure to validate or submit results
# to our evaluation server using the regular IDs above!
# For trainIds, multiple labels might have the same ID. Then, these labels
# are mapped to the same class in the ground truth images. For the inverse
# mapping, we use the label that is defined first in the list below.
# For example, mapping all void-type classes to the same ID in training,
# might make sense for some approaches.
# Max value is 255!
'category', # The name of the category that this label belongs to
'categoryId', # The ID of this category. Used to create ground truth images
# on category level.
'hasInstances', # Whether this label distinguishes between single instances or not
'ignoreInEval', # Whether pixels having this class as ground truth label are ignored
# during evaluations or not
'ignoreInInst', # Whether pixels having this class as ground truth label are ignored
# during evaluations of instance segmentation or not
'color', # The color of this label
])
# A list of all labels
# NB:
# Compared to the default KITTI360 implementation, we set all classes to be
# ignored at train time to IGNORE. Besides, for 3D semantic segmentation, the
# 'train', 'bus', 'rider' and 'sky' classes are absent from evaluationn so we
# adapt 'ignoreInEval', 'ignoreInInst' and 'trainId' accordingly. Finally, it
# seems, from the official website, the that only 'building' and 'car' are
# actually evaluated for 3D instance segmentation, so we set 'ignoreInInst'
# accordingly for all other classes.
#
# See:
# https://github.com/autonomousvision/kitti360Scripts/blob/master/kitti360scripts/evaluation/semantic_3d/evalPointLevelSemanticLabeling.py
labels = [
# name id kittiId, trainId category catId hasInstances ignoreInEval ignoreInInst color
Label( 'unlabeled' , 0 , -1 , IGNORE , 'void' , 0 , False , True , True , ( 0, 0, 0) ),
Label( 'ego vehicle' , 1 , -1 , IGNORE , 'void' , 0 , False , True , True , ( 0, 0, 0) ),
Label( 'rectification border' , 2 , -1 , IGNORE , 'void' , 0 , False , True , True , ( 0, 0, 0) ),
Label( 'out of roi' , 3 , -1 , IGNORE , 'void' , 0 , False , True , True , ( 0, 0, 0) ),
Label( 'static' , 4 , -1 , IGNORE , 'void' , 0 , False , True , True , ( 0, 0, 0) ),
Label( 'dynamic' , 5 , -1 , IGNORE , 'void' , 0 , False , True , True , (111, 74, 0) ),
Label( 'ground' , 6 , -1 , IGNORE , 'void' , 0 , False , True , True , ( 81, 0, 81) ),
Label( 'road' , 7 , 1 , 0 , 'flat' , 1 , False , False , True , (128, 64,128) ),
Label( 'sidewalk' , 8 , 3 , 1 , 'flat' , 1 , False , False , True , (244, 35,232) ),
Label( 'parking' , 9 , 2 , IGNORE , 'flat' , 1 , False , True , True , (250,170,160) ),
Label( 'rail track' , 10 , 10, IGNORE , 'flat' , 1 , False , True , True , (230,150,140) ),
Label( 'building' , 11 , 11, 2 , 'construction' , 2 , True , False , False , ( 70, 70, 70) ),
Label( 'wall' , 12 , 7 , 3 , 'construction' , 2 , False , False , True , (102,102,156) ),
Label( 'fence' , 13 , 8 , 4 , 'construction' , 2 , False , False , True , (190,153,153) ),
Label( 'guard rail' , 14 , 30, IGNORE , 'construction' , 2 , False , True , True , (180,165,180) ),
Label( 'bridge' , 15 , 31, IGNORE , 'construction' , 2 , False , True , True , (150,100,100) ),
Label( 'tunnel' , 16 , 32, IGNORE , 'construction' , 2 , False , True , True , (150,120, 90) ),
Label( 'pole' , 17 , 21, 5 , 'object' , 3 , True , False , True , (153,153,153) ),
Label( 'polegroup' , 18 , -1 , IGNORE , 'object' , 3 , False , True , True , (153,153,153) ),
Label( 'traffic light' , 19 , 23, 6 , 'object' , 3 , True , False , True , (250,170, 30) ),
Label( 'traffic sign' , 20 , 24, 7 , 'object' , 3 , True , False , True , (220,220, 0) ),
Label( 'vegetation' , 21 , 5 , 8 , 'nature' , 4 , False , False , True , (107,142, 35) ),
Label( 'terrain' , 22 , 4 , 9 , 'nature' , 4 , False , False , True , (152,251,152) ),
Label( 'sky' , 23 , 9 , IGNORE , 'sky' , 5 , False , True , True , ( 70,130,180) ),
Label( 'person' , 24 , 19, 10 , 'human' , 6 , True , False , True , (220, 20, 60) ),
Label( 'rider' , 25 , 20, IGNORE , 'human' , 6 , True , True , True , (255, 0, 0) ),
Label( 'car' , 26 , 13, 11 , 'vehicle' , 7 , True , False , False , ( 0, 0,142) ),
Label( 'truck' , 27 , 14, 12 , 'vehicle' , 7 , True , False , True , ( 0, 0, 70) ),
Label( 'bus' , 28 , 34, IGNORE , 'vehicle' , 7 , True , True , True , ( 0, 60,100) ),
Label( 'caravan' , 29 , 16, IGNORE , 'vehicle' , 7 , True , True , True , ( 0, 0, 90) ),
Label( 'trailer' , 30 , 15, IGNORE , 'vehicle' , 7 , True , True , True , ( 0, 0,110) ),
Label( 'train' , 31 , 33, IGNORE , 'vehicle' , 7 , True , True , True , ( 0, 80,100) ),
Label( 'motorcycle' , 32 , 17, 13 , 'vehicle' , 7 , True , False , True , ( 0, 0,230) ),
Label( 'bicycle' , 33 , 18, 14 , 'vehicle' , 7 , True , False , True , (119, 11, 32) ),
Label( 'garage' , 34 , 12, 2 , 'construction' , 2 , True , True , True , ( 64,128,128) ),
Label( 'gate' , 35 , 6 , 4 , 'construction' , 2 , False , True , True , (190,153,153) ),
Label( 'stop' , 36 , 29, IGNORE , 'construction' , 2 , True , True , True , (150,120, 90) ),
Label( 'smallpole' , 37 , 22, 5 , 'object' , 3 , True , True , True , (153,153,153) ),
Label( 'lamp' , 38 , 25, IGNORE , 'object' , 3 , True , True , True , (0, 64, 64) ),
Label( 'trash bin' , 39 , 26, IGNORE , 'object' , 3 , True , True , True , (0, 128,192) ),
Label( 'vending machine' , 40 , 27, IGNORE , 'object' , 3 , True , True , True , (128, 64, 0) ),
Label( 'box' , 41 , 28, IGNORE , 'object' , 3 , True , True , True , (64, 64,128) ),
Label( 'unknown construction' , 42 , 35, IGNORE , 'void' , 0 , False , True , True , (102, 0, 0) ),
Label( 'unknown vehicle' , 43 , 36, IGNORE , 'void' , 0 , False , True , True , ( 51, 0, 51) ),
Label( 'unknown object' , 44 , 37, IGNORE , 'void' , 0 , False , True , True , ( 32, 32, 32) ),
Label( 'license plate' , -1 , -1, -1 , 'vehicle' , 7 , False , True , True , ( 0, 0,142) ),
]
# Dictionaries for a fast lookup
NAME2LABEL = {label.name: label for label in labels}
ID2LABEL = {label.id: label for label in labels}
TRAINID2LABEL = {label.trainId: label for label in reversed(labels)}
KITTIID2LABEL = {label.kittiId: label for label in labels} # KITTI-360 ID to cityscapes ID
CATEGORY2LABELS = {}
for label in labels:
category = label.category
if category in CATEGORY2LABELS:
CATEGORY2LABELS[category].append(label)
else:
CATEGORY2LABELS[category] = [label]
KITTI360_NUM_CLASSES = len(TRAINID2LABEL) - 1 # 15 classes for 3D semantic segmentation
INV_OBJECT_LABEL = {k: TRAINID2LABEL[k].name for k in range(KITTI360_NUM_CLASSES)}
OBJECT_COLOR = np.asarray([TRAINID2LABEL[k].color for k in range(KITTI360_NUM_CLASSES)])
OBJECT_LABEL = {name: i for i, name in INV_OBJECT_LABEL.items()}
ID2TRAINID = np.array([label.trainId for label in labels])
TRAINID2ID = np.asarray([TRAINID2LABEL[c].id for c in range(KITTI360_NUM_CLASSES)] + [0])
CLASS_NAMES = [INV_OBJECT_LABEL[i] for i in range(KITTI360_NUM_CLASSES)] + ['ignored']
CLASS_COLORS = np.append(OBJECT_COLOR, np.zeros((1, 3), dtype=np.uint8), axis=0)
# For instance segmentation
MIN_OBJECT_SIZE = 100
THING_CLASSES = [label.trainId for label in labels if not label.ignoreInInst]
STUFF_CLASSES = [i for i in range(KITTI360_NUM_CLASSES) if not i in THING_CLASSES]