Open source and data
This project builds on many open-source projects and public datasets. The data sources and tools used, and their licenses, are listed below; MIT-licensed items are marked in blue.
Last updated: October 9, 2026
Training data sources
| Source | Used for | Amount | License |
|---|---|---|---|
| Our own Taiwanese intersection dataset (Roboflow) | Main data for detection and color classification | 2,455 downloaded; 1,364 after removing vehicle viewpoints | CC BY 4.0 |
| Wikimedia Commons (first batch) | Taiwanese signal images, hard street-scene negatives | 328 images | CC BY-SA, CC BY or CC0, per image |
| ImVisible PTL (Shanghai, Samuel Yu et al.) | Pedestrian signals from other countries | 2,802 usable after filtering | MIT |
| pedestrian-traffic-light (ono-gedd7, Roboflow Universe) | Close-range signals from other countries | 683 images | CC BY 4.0 |
| Traffic Lights of New York (Hugging Face) | Vehicle-signal negatives | 151 images, cropped into 558 signal heads | MIT, images from Unsplash |
| nsw_traffic_lights (Hugging Face) | Vehicle-signal negatives and the misread test | 66 images | MIT |
| Photos from the board's camera | Images closest to real use | 51 intersection photos | Our own, not published (they show passers-by's faces) |
| Close-range synthetic images (generated by script) | Phone screens and close-range scenes | About 1,500 + 200 per version | Generated from our own data |
Data from other countries makes up at most a third of the training set, so the look of Taiwanese signals dominates. A per-image list of authors and licenses for the Wikimedia Commons images is kept in the project documents.
Tools and open-source projects
Model training and inference
- Ultralytics YOLOTraining framework and pretrained weights for the detection model (YOLO26n) and the color classifier (YOLO11n-cls)AGPL-3.0
- PyTorchDeep-learning frameworkBSD-3-Clause
- OpenCLIPRemoving photos taken from scooters and vehicles (not deployed to the board)MIT
- ONNX RuntimeSimulating on-board inference on a computer for offline evaluationMIT
- OpenCVImage preprocessingApache-2.0
- NumPyNumerical computingBSD-3-Clause
- PillowReading and writing images, cropping signal imagesHPND
K230 board
- nncaseConverting models to int8 kmodels that run on the KPUApache-2.0
- CanMV K230 firmware v1.8MicroPython runtime on the boardNo license stated on GitHub
Enclosure design and manufacturing
- build123dParametric CAD models written as codeApache-2.0
- trimeshChecking for closed solids, floating faces and part collisionsMIT
- PyVistaEnclosure rendersMIT
- OrcaSlicerSlicing print files for Bambu Lab printersAGPL-3.0
- ReportLabEnclosure design document (PDF)BSD
Website
- LighthouseChecking site performance, accessibility and best practicesApache-2.0
- axe-coreAccessibility rules (WCAG 2.2 AA); built into Lighthouse, and also run in full through PlaywrightMPL-2.0
- PlaywrightAutomated tests in a real browser: screen sizes, display modes, languages, keyboard use and interactive featuresApache-2.0
- html-validateChecking that the HTML follows the standardMIT
- fonttoolsKeeping only the characters the site uses, to shrink the Chinese font filesMIT
- jf open-huninn, Noto Sans TC, IBM Plex MonoSite fontsOFL-1.1
- Wrangler (Cloudflare)Deploying to Cloudflare PagesApache-2.0
Cloud services (not open source)
- KaggleFree GPUs (T4) for model trainingTerms of service
- RoboflowImage labeling and dataset managementTerms of service
- OnshapeViewing and sharing the enclosure model in the cloudTerms of service
License notes
Ultralytics YOLO is licensed under AGPL-3.0. Academic research may use it normally; publishing a model trained with it, or using it commercially, requires releasing the source code under AGPL-3.0 or obtaining a commercial license.
Images under CC BY and CC BY-SA must be credited with the author, license and original link when quoted directly in a report or presentation. Derivative works of CC BY-SA images must be released under the same license.