Home

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

Training data sources, amounts used and licenses
SourceUsed forAmountLicense
Our own Taiwanese intersection dataset (Roboflow)Main data for detection and color classification2,455 downloaded; 1,364 after removing vehicle viewpointsCC BY 4.0
Wikimedia Commons (first batch)Taiwanese signal images, hard street-scene negatives328 imagesCC BY-SA, CC BY or CC0, per image
ImVisible PTL (Shanghai, Samuel Yu et al.)Pedestrian signals from other countries2,802 usable after filteringMIT
pedestrian-traffic-light (ono-gedd7, Roboflow Universe)Close-range signals from other countries683 imagesCC BY 4.0
Traffic Lights of New York (Hugging Face)Vehicle-signal negatives151 images, cropped into 558 signal headsMIT, images from Unsplash
nsw_traffic_lights (Hugging Face)Vehicle-signal negatives and the misread test66 imagesMIT
Photos from the board's cameraImages closest to real use51 intersection photosOur own, not published (they show passers-by's faces)
Close-range synthetic images (generated by script)Phone screens and close-range scenesAbout 1,500 + 200 per versionGenerated 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.