Canadian Adverse Driving Conditions Dataset
Canadian Adverse Driving Conditions Dataset
Abstract— The Canadian Adverse Driving Conditions In this work, we present an autonomous driving dataset
(CADC) dataset was collected with the Autonomoose au- filled with representative examples of winter driving con-
tonomous vehicle platform, based on a modified Lincoln MKZ. ditions in the Waterloo region, in an effort to compel
The dataset, collected during winter within the Region of Water-
loo, Canada, is the first autonomous vehicle dataset that focuses the self-driving vehicle research community to address the
shortcomings of current methods in adverse weather. Cover-
arXiv:2001.10117v3 [cs.CV] 27 Feb 2020
2x USB COM
2x PPS I/O COM
2x RS232 COM
1x RS232 COM + PPS
2x Xsens
IMUs Novatel 2x RF Coax
GNSS Receiver
Camera
IMU COM 2x VEXXIS Lidar
Sensonor
MEMS IMU GNSS Antennae Phase Lock Angle
180° Cut Angle
Pointcloud Corrected Behind
Data
Pointcloud Corrected Forward
Time Sync
Both
Fig. 4. Lidar-camera motion correction diagram (top-down view).
Fig. 3. Sensor communication and synchronization diagram.
(15-30 seconds in length). As shown in Figure 7, there are 10 Truck truck type Snowplow Truck
Semi Truck
folders, one for each of the eight cameras denoted image 0X Construction Truck
for X from 0 to 7, a lidar points folder for the Velodyne lidar Garbage Truck
Pickup Truck
data and a novatel folder containing GPS/IMU data. All data Emergency Truck
is synced such that data for all sensors was matched to the Bus bus type Coach Bus
Transit Bus
closest data timestamp of the GPS/IMU. Standard School Bus
Van School Bus
A. Data (∼3 Hz) Bicycle rider state With Rider
Without Rider
1) images:: This data is equivalent to the image data in Pedestrian age Adult
Pedestrian With Object Child
the Raw Data section with the only difference being that Traffic Guidance Objects traffic guidance type Permanent
these images have been undistorted. Moveable
2) lidar points:: These lidar points are equivalent to the
motion corrected lidar points in the Raw Data Section.
3) novatel (GPS/IMU):: This data is equivalent to the post 4) dimensions:: The dimensions of the cuboid with x
processed Novatel RTK data within the Raw Data section. being the width from left to right, y being the length from
front to back and z being the height from top to bottom.
IX. 3D A NNOTATIONS 5) yaw:: The orientation of the object in the lidar frame.
Each 3D annotation file contains a list of frames with A yaw of zero will occur when when the cuboid is aligned
the detected cuboids in each frame. Figure 9 contains the with the positive direction of the lidar frame’s x-axis. A yaw
structure of this JSON file with an example cuboid. value of π/2 occurs when the cuboid is aligned with the
positive direction of the lidar frame’s y-axis.
A. cuboid 6) stationary:: A boolean value that describes if the
1) uuid:: A string used to identify this cuboid across all object is stationary across all frames in a drive.
frames within a drive. 7) points count:: An integer value of how many lidar
2) camera used:: The index of the camera used to label points are contained within the cuboid at this frame.
this cuboid. 8) label and attributes:: Each object has a label as well
3) position:: The center of the object in the lidar frame. as any attributes that are defined for the specified label. The
The object has its z axis pointing upwards, x axis pointing following labels are used: Car, Truck, Bus, Bicycle, Horse
to the forward facing direction of the object and the y axis and Buggy, Pedestrian, Pedestrian with Object, Animal,
pointing to the left direction of the object. Garbage Container on Wheels, and Traffic Guidance Object.
104
Count (log)
102
100
s ts e t
Ca
r
ria
n ck eel jec Bu
s
ycl jec ggy als
est Tru Wh Ob Bic Ob Bu im
Ped on ce ith and An
rs a n W e
ine id ria
n rs
nta Gu est Ho
Co ffic Ped
age Tra
a r b
G
Label
Count (log)
104
102
s ts e t
Ca
r
stri
an ck Bu
s
eel jec ycl jec ggy als
e Tru Wh Ob Bic Ob Bu im
Ped on ith and An
rs da nce W se
ine i n r
Fig. 10. A map of data collected for CADC. nta Gu est
ria Ho
Co ffic Ped
age Tra
Garb
TABLE IV
TABLE CONTAINING DRIVING ASPECTS OF CADC DATASET. Label
Dataset type # of point clouds # of images Distance (Km) Fig. 12. Top: Number of unique labeled objects across all frames.
Bottom: Number of object instances across all frames.
Raw 32887 263637 20.33
Labeled 7000 56000 12.94
TABLE V on the given object class. The Truck label’s major attributes
TABLE CONTAINING DATA ASPECTS OF CADC DATASET. are pickup trucks and semi-trucks. The Bus label has four
different attributes: two transit types for coach and public
Dataset type Compressed size (GB) Uncompressed size (GB) transit and two school types for standard and van-length
Raw 472.7 514.73 school buses. The Bicycle label has an attribute for whether
Labeled 92.76 97.79
it is, or is not, being ridden. The Pedestrian label has an age
attribute set to Adult or Child. A Pedestrian with Object also
150 exists and is used, for example, when a person is pushing a
Frame count
X. DATASET S TATISTICS
The set of vehicle classes includes [Car, Truck, Bus,
Bicycle, Horse and Buggy] and have attributes [Parked, We provide several figures and tables showcasing the wide
Stopped, Moving] in every frame. A Horse and Buggy range of data that has been collected. Figure 10 shows a
label is included, although there is only one in the training map with GPS points placed from the data. The red points
data. Pedestrian, Pedestrian with Object, Animal, Garbage represent the full dataset, whereas the overlayed green points
Container on Wheels and Traffic Guidance Object are not in are the subset of the data that is labeled.
vehicle class. Table IV contains information on the number of point
Table III lists potential attributes that are unique based clouds, images and distance traveled. Table V contains the
·104 TABLE VI
3 TOTAL INSTANCES FOR EACH VEHICLE LABEL SORTED BY STATE
Cars
ATTRIBUTE .
Trucks
2
Count
Pedestrians
Label (and attribute) Total Parked Stopped Moving
1
Car 281941 193246 18002 70693
Truck 20411 9959 2060 8392
0 Snowplow Truck 1497 628 221 648
Semi Truck 4653 1547 516 2590
0 50 100 150 200 Construction Truck 715 433 45 237
Radial distance (m) Garbage Truck 27 1 0 26
Pickup Truck 13045 7178 1138 4729
Percentage of annotations/class
Orientation (rad)
Label Total Adult Child
Fig. 13. Top: Radial distance from the center of a cuboid to the origin of Pedestrian 62851 61664 1187
the lidar frame. Bottom: Orientation of cuboids within the lidar frame. Pedestrian With Object 638 638 0
30
20 LIDAR point cloud data. The number of points removed
10 is taken to be the approximate number of snow reflectance
0 points in a LIDAR scan. Bins for snowfall intensity, depicted
Light Snowfall Medium Snowfall Heavy Snowfall Extreme Snowfall
in Figure 14 are defined as: Light (25-249), Medium (250-
499), Heavy (500-749) and Extreme (750-1500). Lastly
Fig. 14. Number of drives for each level of snowfall.
Figure 15 contains an example LIDAR scan and image for
each snowfall level. The snow covering of the road is also
included. There are 18 driving sequences with bare road and
compressed and uncompressed sizes of the raw and labeled 57 with snow covering the road.
data. They are similar due to the images being the largest
sensor data size and already losslessly compressed in the raw
data. XI. D EVELOPMENT KIT
Figure 11 shows the number of frames for each number A basic development kit implemented in python is avail-
of annotations per frame. This is restricted to objects with at able at cadc devkit with the ability to view the vehicle
least one lidar point within its cuboid for a specific frame. path, the lidar projected onto the images and lastly the 3D
Figure 12 contains two graphs. The top graph shows the annotations projected onto the images and lidar.
number of unique objects binned by their label across all
frames based on uuid. The bottom graph displays the number
of object instances by how many frames they appear in. A. run demo vehicle path.py
Figure 13 also contains two graphs for the three objects This script loads all GPS messages in a drive, converts
with the most instances. The first displays the radial distance them to an ENU frame with the origin at the first message
of objects, and the second displays the orientation of each and plots each message as an axis frame. Figure 16 is an
object. Table VI contains the number of instances for each image displaying the output of this script.
vehicle label and type. Table VII contains the number of
instances for each pedestrian with age attribute.
B. run demo lidar.py
Each drive has been given a snowfall level from: light,
medium, heavy and extreme. This was done by first cropping This script loads a camera image and the corresponding
the point cloud to a cube that spans -4 to 4 in the x and y lidar file in a drive, loads the calibration data, then projects
direction and -3 to 10 in the z direction within the lidar frame, each lidar point onto the camera image. Point color is scaled
and then applying the Dynamic Radius Outlier Removal by depth. Figure 17 is an image displaying the output of this
(DROR)[12], which is designed to remove snowfall from script.
Fig. 15. Top down lidar view of each snowfall levels with the corresponding front camera image. Top: left image couple is the light snow and the right
side is medium snow. Bottom: left image couple is heavy snow and the right is extreme snow.
[2] W. Maddern, G. Pascoe, C. Linegar, and P. Newman, “1 Year, Vision and Pattern Recognition (CVPR), 2019.
1000km: The Oxford RobotCar Dataset,” The International Journal [8] Q.-H. Pham, P. Sevestre, R. S. Pahwa, H. Zhan, C. H. Pang, Y. Chen,
of Robotics Research (IJRR), vol. 36, no. 1, pp. 3–15, 2017. [Online]. A. Mustafa, V. Chandrasekhar, and J. Lin, “A*3D dataset: Towards
Available: http://dx.doi.org/10.1177/0278364916679498 autonomous driving in challenging environments,” 2019.
[3] P. Wang, X. Huang, X. Cheng, D. Zhou, Q. Geng, and [9] P. Sun, H. Kretzschmar, X. Dotiwalla, A. Chouard, V. Patnaik, P. Tsui,
R. Yang, “The ApolloScape open dataset for autonomous driving J. Guo, Y. Zhou, Y. Chai, B. Caine, V. Vasudevan, W. Han, J. Ngiam,
and its application,” IEEE Transactions on Pattern Analysis H. Zhao, A. Timofeev, S. Ettinger, M. Krivokon, A. Gao, A. Joshi,
and Machine Intelligence, p. 11, 2019. [Online]. Available: Y. Zhang, J. Shlens, Z. Chen, and D. Anguelov, “Scalability in
http://dx.doi.org/10.1109/TPAMI.2019.2926463 perception for autonomous driving: Waymo open dataset,” 2019.
[4] Y. Choi, N. Kim, S. Hwang, K. Park, J. S. Yoon, K. An, and I. S. [10] G. E. Miller and E. S. Raymond, “Gpsd time service
Kweon, “KAIST multi-spectral day/night data set for autonomous howto,” Jun 2018. [Online]. Available: https://gpsd.gitlab.io/gpsd/
and assisted driving,” IEEE Transactions on Intelligent Transportation gpsd-time-service-howto.html
Systems, vol. 19, no. 3, pp. 934–948, March 2018. [11] D. C. Brown, “Decentering distortion of lenses,” Photometric Engi-
[5] A. Patil, S. Malla, H. Gang, and Y.-T. Chen, “The H3D dataset for neering, vol. 32, no. 3, pp. 444–462, 1966.
full-surround 3D multi-object detection and tracking in crowded urban [12] N. Charron, S. Phillips, and S. L. Waslander, “De-noising of lidar point
scenes,” 2019. clouds corrupted by snowfall,” in 2018 15th Conference on Computer
[6] H. Caesar, V. Bankiti, A. H. Lang, S. Vora, V. E. Liong, Q. Xu, and Robot Vision (CRV), May 2018, pp. 254–261.
A. Krishnan, Y. Pan, G. Baldan, and O. Beijbom, “nuScenes: A
multimodal dataset for autonomous driving,” 2019.
[7] M.-F. Chang, J. W. Lambert, P. Sangkloy, J. Singh, S. Bak, A. Hartnett,
D. Wang, P. Carr, S. Lucey, D. Ramanan, and J. Hays, “Argoverse: 3D
tracking and forecasting with rich maps,” in Conference on Computer
Fig. 19. Output from the run demo lidar bev.py script on drive 0033 from
2019 02 27. Each cuboid from the 3D annotation file is displayed within
the lidar frame from a top down perspective.