CanDOR 99: A Canadian Dataset of On-Road Traffic Signs
收藏资源简介:
Overview CanDOR-99 is a large-scale traffic sign dataset designed for training and evaluating object detection and classification models. The dataset contains images collected from Mapillary across multiple Canadian cities, that have had their annotations verified and corrected through either manual verification or a classifier. Annotations are provided in COCO format. Dataset Composition The dataset includes: Images in JPG format a COCO-format JSON annotation file Dataset Information Class List: 99 classes organized by Mapillary taxonomy Geographic Coverage: Ottawa, Toronto, Vancouver, Montreal, Quebec City, Calgary, Victoria Images: 95,314 images Annotations: 103,521 annotations Class Categories Regulatory (37 classes): Stop signs, speed limits, no-entry signs, etc. Warning (45 classes): Construction, curves, crossings, etc. Complementary (14 classes): Additional speed limit signs, parking, services Information (3 classes): Highway exits, roundabouts, street signs Data Collection The images and image metadata were downloaded through the Mapillary API from September 2025 to December 2025. The images, image metadata, and traffic sign detections were retrieved by a Python script that we developed. Images and metadata were retrieved by running the script with a user-defined bounding box defining latitude and longitude coordinates as input. Initially, images were retrieved from the following cities: Vancouver, the Greater Toronto Area, Ottawa, Montreal, and Quebec City, with Calgary and Victoria added later to address image limitations for certain classes. The images were also distributed evenly across all five initial cities if there were a sufficient number of detections in our initial database of images, else they were balanced as much as possible. An emphasis was also placed on French-speaking regions to ensure that the initial collection of data contained a satisfactory quantity of French-language signs, which are not common, or are altogether missing, in existing North American traffic sign datasets. In the process of selecting images from the initial collection to be processed and used in the final dataset, only images where all detections were in our class list were selected in order to avoid missing bounding boxes. Data Processing After the images were obtained, the following steps were performed: Images were rotated if required Images were split into separate Label Studio projects based on class and language For manually labelled images: Existing Mapillary annotations for both class and bounding box were corrected if necessary During this process, subclasses were added if the sign differentiated from the main class For classifier-labelled images: only the class was corrected For each bounding box in the image: The bounding box was padded to a square aspect ratio, then cropped to 224x224, then normalized using a mean and standard deviation calculated over the whole manually labelled dataset before being classified. After manual verification, images with no traffic sign detections or of poor quality were removed. For each class, a COCO-format annotation file was produced containing the annotations for that class. Finally, the annotations for each class were combined into one COCO-format JSON annotation file. Classifier We used an EfficientNet_v2 model for our classifier, and trained it on the manually-labelled data in the dataset. The model was trained and evaluated using an 80/20 train-test split, and without a dedicated validation set. A single split was used instead of k-fold validation to lower computational cost. Along with the global classifier, we created two downstream models for the following class groups: Railroad crossing, crossroads and rail-road intersection Turn left or right and no turns File Structure & Formats There is one COCO annotation file that contains the annotations for all images. The filename for each image corresponds to the Mapillary id of the image. Annotations that were re-labelled using the classifier will have the "machine_labeled" flag set to 1. An example COCO annotation file: { "info": { "description": "Converted dataset", "version": "1.0", "year": 2025 }, "images": [ { "id": 186981043292163, "file_name": "images\\186981043292163.jpg", "width": 4000, "height": 3000, "creator_name": "mappymapmap", "location": { "lat": 43.73128609687444, "lon": -79.44518566131592, "city": "Toronto" } } ], "annotations": [ { "id": 1, "image_id": 186981043292163, "category_id": 71, "bbox": [ 3516.0, 1620.0, 100.0, 123.99999999999997 ], "area": 12399.999999999996, "iscrowd": 0, "segmentation": [], "machine_labeled": 0 } ], "categories": [ { "id": 0, "name": "chevron_left", "supercategory": "none" }, { "id": 1, "name": "no_right_turn_on_red", "supercategory": "none" } ] } Dataset Limitations When obtaining images from Mapillary, multiple images were occasionally part of a single sequence of photos, leading to images that look extremely similar but are not duplicates. Images re-labelled using the classifier may contain classification errors, and unlike manually-labelled images, bounding boxes were not manually corrected. Acknowledgments We would like to acknowledge and thank Dr. Paula Branco and Bill Aiken for their mentorship and assistance with this project. Images sourced from Mapillary https://www.mapillary.com, licensed under CC BY-SA 4.0. Citation & Attribution If you use this dataset in your research, please cite: @dataset{candor99, title={CanDOR 99: A Canadian Dataset of On-Road Traffic Signs}, author={do Rego, Noah and Pham, Andrew and Zhou, Adam}, year={2025}, version={1.0}, doi={10.5281/zenodo.20739255}, publisher={Zenodo} }



