Automated enforcement of bus-only lanes and crossings with policy and implementation insights from a Calgary case study
Bibliographic record
Abstract
• Proposes cost-effective framework for bus-only lane and crossing enforcement. • Combines Raspberry Pi, GPS, and LiDAR for automated violation detection. • Uses YOLOv8 and PaddleOCR for vehicle, plate, and pedestrian recognition. • Field-tested in Calgary on 18 bus lanes and one bus-only crossing corridor. • Provides policy insights for scalable, reliable transit priority enforcement. With further attention to improving public transit service quality and reliability, transit priority measures such as bus-only lanes and bus-only crossings are becoming more common. These measures are only effective if priority can be maintained for transit, and access for regular vehicles is restricted. This can be only achieved by regulating their usage and enforcing these regulations. However, enforcement measures to prevent unauthorized vehicles from using bus-only lanes and bus-only crossings have been a manual process or employed costly systems such as bus traps in many cities. Automating this enforcement process through digital technologies can lead to substantial benefits and cost savings. Nevertheless, academic and professional literature on automated enforcement of bus-only lanes and bus-only crossings using advanced image and video processing techniques is limited. In this study, we propose a framework and guidelines for these automated enforcement systems that can be implemented by any transit agency at a low cost. We outlined our framework using three components: Hardware proof of concept, software design containing an image processing model, and user interface. We used a Raspberry Pi for hardware, PaddleOCR for license plate recognition and YOLOv8 for training our model. The operation of the system was further optimized using GPS (for bus-only lanes) and LiDAR (for bus-only crossings) sensors. To assess the applicability of our framework, we tested it on several bus-only lanes and a bus-only crossing in Calgary. The results showed a cost-effective solution while providing good performance in detecting violations and identifying unauthorized vehicles and pedestrians. The observations presented in the study can provide valuable insights to any transit agency for future implementations and policy-making process of automated bus-only lanes and bus-only crossings.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.003 | 0.005 |
| Meta-epidemiology (narrow) | 0.001 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.000 |
| Bibliometrics | 0.001 | 0.001 |
| Science and technology studies | 0.002 | 0.002 |
| Scholarly communication | 0.003 | 0.002 |
| Open science | 0.002 | 0.002 |
| Research integrity | 0.002 | 0.001 |
| Insufficient payload (model declined to judge) | 0.005 | 0.001 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".