Classical Computer Vision Methods
Voice-over: ../assets/audio/classical.mp3
Before deep learning became common, many crosswalk systems used simple but fast vision tools. A typical pipeline detected edges (e.g., Canny), fit straight lines with a Hough transform, and then searched for parallel line clusters and repeated bright/dark bands that match zebra patterns. Some papers also used row/column structure analysis to capture periodicity across the stripes [1].
These approaches are lightweight and easy to explain—great for embedded devices. However, they are sensitive to worn paint, shadows, perspective changes, and occlusion. When contrast is low or the pattern is irregular, classical cues often fail, which is one reason later work moved to learning-based methods [1].
// Pseudocode sketch of a classical pipeline
edges = canny(image)
lines = hough_transform(edges)
pairs = find_parallel_pairs(lines)
score = measure_periodicity_along(pairs) // alternating bright/dark
if score > threshold:
report "Crosswalk"
