WIUT HACKATHON 2026 // COMPUTER VISION

Traffic events, detected.
Accidents, anticipated.

A fixed road camera, one detector, one tracker and a rule engine that understands the intersection: every violation reported as a precise time segment, and an alarm raised before a crash begins.

event classes
11

event classes

false alarms in 18 min
4

false alarms in 18 min

· 29.97 fps input
4K

· 29.97 fps input

processing time vs. video length (limit 3×)
1.4-1.9×

processing time vs. video length (limit 3×)

PROBLEM

A city camera sees thousands of vehicles an hour. The dangerous moments last seconds.

Operators cannot watch every feed, and by the time a crash is reported the footage has already scrolled past. The task splits into two halves.

PART A

Event detection

Given a video, return every event as [start_sec, end_sec, label].

Scored by macro F1 over temporal IoU thresholds 0.3 / 0.5 / 0.7.

PART B

Accident anticipation

At every frame, using only past frames, output the probability that an accident starts within the next 5 seconds.

Strictly causal: no future frames, no lookahead.

PIPELINE // FROM PIXELS TO EVENTS

One pass over the frames, two answers out.

LEARNED trained modelRULE-BASED geometry and rules, no training

BRANCH FROM TRACKING // ACCIDENT ANTICIPATION

EXPLORATORY ANALYSIS

What the camera actually gives us.

THE FOOTAGE

18 minutes

4 sample videos, 4K at 29.97 fps, H.264 10-bit 4:2:2 — CPU-only decoding.

LIGHTING

noon

noon

evening

dusk

SIGNAL CYCLE

  • ~75 s full cycle
  • 3 s flashing green
  • 3 s yellow
  • then vehicle red

SCENE MAP

123456789101112
  1. 1far carriageway ←
  2. 2near carriageway →
  3. 3raised median · solid line
  4. 4crossing
  5. 5signal
  6. 6signal
  7. 7stop line
  8. 8crossing
  9. 9junction
  10. 10refuge islands
  11. 11crossing
  12. 12side street · exit
Our scene map in the camera view: lanes and their directions, stop line, crossings, intersection, refuge islands and signal heads, the zones every rule reasons about.

STOP-LINE CROSSINGS PER MINUTE

Vehicles crossing the stop line per minute, min to max. On red the rate drops to a handful, so a crossing on red stands out clearly.

CAMERA DRIFT

up to 3%

The camera shifts up to 3% of frame width between recordings, so the scene map is re-aligned per video.

MEAN VELOCITY FIELD

HEADINGEW

Averaging the velocity of every track per grid cell gives the direction traffic actually takes in each lane. That is how the legal direction of every lane is learned.

Schematic drawing · arrows coloured by heading (see the wheel)

WHERE TRAFFIC GOES

2 track points180 track points935 track points182 track points61 track points5 track points1 track points54 track points118 track points2,433 track points2,637 track points1,302 track points1,691 track points2,236 track points1,631 track points193 track points65 track points16 track points4 track points9 track points24 track points187 track points321 track points124 track points206 track points359 track points620 track points1,527 track points1,661 track points1,898 track points1,567 track points988 track points337 track points401 track points406 track points137 track points195 track points12 track points78 track points235 track points649 track points83 track points9 track points1,238 track points1,006 track points547 track points586 track points113 track points309 track points506 track points970 track points1,144 track points1,471 track points1,075 track points4,049 track points651 track points3,434 track points605 track points853 track points1,261 track points315 track points4 track points1 track points3 track points29 track points5 track points56 track points1,124 track points1,621 track points1,251 track points638 track points864 track points391 track points41 track points229 track points368 track points690 track points867 track points1,200 track points916 track points761 track points1,276 track points2,542 track points907 track points952 track points482 track points617 track points31 track points3 track points5 track points2 track points19 track points801 track points2,283 track points1,001 track points1,426 track points1,389 track points1,060 track points1,308 track points1,192 track points71 track points74 track points197 track points306 track points610 track points672 track points929 track points800 track points646 track points3,631 track points1,758 track points816 track points626 track points182 track points113 track points15 track points3 track points162 track points952 track points1,663 track points811 track points989 track points1,732 track points1,070 track points339 track points2,241 track points1,803 track points258 track points8 track points12 track points118 track points230 track points346 track points500 track points657 track points627 track points545 track points381 track points179 track points289 track points194 track points132 track points45 track points13 track points10 track points775 track points167 track points1,107 track points1,915 track points1,173 track points1,026 track points975 track points2,304 track points245 track points566 track points2,337 track points167 track points6 track points12 track points99 track points171 track points257 track points371 track points406 track points534 track points547 track points487 track points324 track points192 track points161 track points162 track points68 track points1 track points27 track points191 track points52 track points209 track points624 track points435 track points1,028 track points1,921 track points1,396 track points279 track points2,259 track points1,883 track points648 track points1,042 track points1,636 track points1,920 track points10 track points26 track points110 track points158 track points208 track points312 track points354 track points426 track points441 track points447 track points296 track points258 track points176 track points67 track points22 track points15 track points1 track points6,729 track points4,437 track points339 track points244 track points720 track points550 track points121 track points1,680 track points600 track points38 track points856 track points3,053 track points364 track points986 track points1,537 track points1,159 track points520 track points503 track points904 track points565 track points39 track points1 track points1 track points37 track points109 track points138 track points200 track points249 track points275 track points252 track points388 track points344 track points395 track points261 track points165 track points57 track points19 track points6 track points1 track points6 track points2 track points76 track points3,642 track points31 track points139 track points378 track points52 track points371 track points1,323 track points1,210 track points45 track points1,673 track points3,557 track points485 track points143 track points3,788 track points1,861 track points283 track points2,497 track points2,603 track points431 track points42 track points3 track points2 track points61 track points101 track points119 track points129 track points301 track points293 track points292 track points306 track points348 track points331 track points243 track points147 track points75 track points40 track points36 track points28 track points30 track points61 track points1,642 track points1,470 track points450 track points277 track points5,367 track points4 track points1,435 track points614 track points272 track points1,173 track points1,586 track points534 track points109 track points563 track points1,250 track points472 track points114 track points89 track points503 track points595 track points133 track points497 track points814 track points339 track points64 track points8 track points12 track points64 track points107 track points113 track points162 track points247 track points263 track points287 track points293 track points306 track points302 track points262 track points166 track points116 track points137 track points121 track points386 track points32 track points55 track points1 track points6,308 track points6 track points134 track points78 track points57 track points84 track points270 track points232 track points56 track points111 track points433 track points415 track points90 track points96 track points455 track points433 track points202 track points121 track points707 track points807 track points87 track points31 track points20 track points8 track points1 track points41 track points77 track points108 track points102 track points140 track points225 track points407 track points262 track points266 track points317 track points328 track points419 track points249 track points388 track points320 track points617 track points385 track points3 track points160 track points3 track points4 track points4 track points2 track points5 track points94 track points73 track points33 track points167 track points225 track points218 track points175 track points41 track points162 track points520 track points822 track points69 track points121 track points423 track points489 track points355 track points115 track points419 track points353 track points217 track points97 track points5 track points3 track points3 track points17 track points56 track points103 track points148 track points189 track points385 track points277 track points523 track points382 track points406 track points589 track points490 track points684 track points689 track points483 track points2 track points8 track points3 track points5 track points7 track points93 track points63 track points9 track points57 track points57 track points122 track points213 track points107 track points42 track points154 track points372 track points533 track points72 track points118 track points398 track points407 track points344 track points84 track points387 track points537 track points350 track points121 track points109 track points38 track points106 track points114 track points188 track points375 track points315 track points257 track points405 track points169 track points208 track points298 track points285 track points343 track points513 track points397 track points18 track points118 track points16 track points17 track points14 track points40 track points61 track points144 track points177 track points75 track points50 track points215 track points782 track points268 track points87 track points134 track points273 track points596 track points215 track points119 track points85 track points354 track points206 track points228 track points144 track points51 track points94 track points314 track points81 track points202 track points330 track points142 track points148 track points242 track points166 track points336 track points441 track points174 track points1 track points2 track points50 track points200 track points16 track points2 track points13 track points36 track points73 track points158 track points152 track points54 track points43 track points311 track points427 track points485 track points178 track points130 track points173 track points358 track points337 track points82 track points34 track points79 track points372 track points164 track points146 track points41 track points22 track points25 track points42 track points180 track points209 track points290 track points153 track points338 track points116 track points88 track points3 track points3 track points2 track points23 track points91 track points43 track points1 track points21 track points38 track points87 track points166 track points114 track points44 track points39 track points467 track points321 track points225 track points57 track points50 track points246 track points384 track points197 track points111 track points55 track points50 track points103 track points258 track points128 track points252 track points68 track points29 track points51 track points60 track points28 track points307 track points84 track points119 track points5 track points3 track points3 track points48 track points61 track points11 track points1 track points6 track points27 track points415 track points112 track points152 track points153 track points33 track points42 track points188 track points312 track points246 track points40 track points44 track points133 track points326 track points217 track points95 track points60 track points44 track points99 track points85 track points242 track points282 track points228 track points147 track points294 track points88 track points107 track points47 track points4 track points32 track points54 track points20 track points1 track points2 track points4 track points2 track points1 track points17 track points22 track points57 track points114 track points151 track points350 track points47 track points69 track points279 track points513 track points367 track points40 track points29 track points117 track points211 track points164 track points99 track points64 track points74 track points39 track points48 track points75 track points310 track points302 track points317 track points392 track points538 track points26 track points43 track points22 track points2 track points3 track points2 track points1 track points4 track points4 track points6 track points18 track points30 track points77 track points137 track points161 track points70 track points33 track points76 track points169 track points231 track points135 track points47 track points29 track points96 track points198 track points216 track points322 track points108 track points49 track points88 track points145 track points233 track points322 track points350 track points146 track points3 track points32 track points38 track points60 track points28 track points2 track points2 track points4 track points1 track points2 track points1 track points76 track points15 track points1 track points2 track points4 track points15 track points20 track points43 track points125 track points181 track points113 track points51 track points37 track points210 track points232 track points177 track points152 track points47 track points37 track points78 track points167 track points261 track points245 track points97 track points69 track points89 track points73 track points113 track points147 track points13 track points23 track points39 track points12 track points3 track points1 track points2 track points2 track points2 track points1 track points2 track points5 track points3 track points2 track points2 track points1 track points5 track points3 track points1 track points2 track points2 track points2 track points11 track points37 track points31 track points59 track points106 track points102 track points80 track points40 track points38 track points76 track points156 track points331 track points70 track points46 track points33 track points115 track points167 track points208 track points120 track points85 track points110 track points111 track points211 track points3 track points3 track points3 track points2 track points2 track points5 track points3 track points2 track points9 track points8 track points17 track points24 track points21 track points24 track points20 track points52 track points111 track points126 track points87 track points64 track points36 track points70 track points91 track points134 track points173 track points138 track points125 track points38 track points86 track points148 track points163 track points146 track points220 track points92 track points2 track points7 track points11 track points5 track points8 track points6 track points6 track points6 track points6 track points7 track points5 track points7 track points7 track points12 track points6 track points14 track points14 track points13 track points16 track points14 track points11 track points5 track points7 track points11 track points9 track points8 track points15 track points18 track points23 track points80 track points71 track points76 track points90 track points56 track points45 track points45 track points92 track points110 track points104 track points110 track points54 track points54 track points324 track points300 track points659 track points121 track points5 track points24 track points27 track points31 track points26 track points20 track points20 track points13 track points17 track points22 track points15 track points21 track points18 track points22 track points15 track points25 track points20 track points15 track points17 track points18 track points21 track points24 track points25 track points25 track points20 track points16 track points21 track points10 track points13 track points18 track points20 track points36 track points63 track points87 track points135 track points217 track points305 track points388 track points422 track points520 track points665 track points786 track points758 track points1,011 track points1,078 track points1,310 track points1,172 track points545 track points
16,729 points / cell (log scale)

Where road users actually move: track points per cell on a 48×27 grid, measured from our tracks on all 4 sample videos.

OBJECTS PER MINUTE

Measured from our tracks on all 4 sample videos. The last minute of each video is partial.

RESULTS ON SAMPLE VIDEOS

51 events across 18 minutes of footage.

HOW WE MEASURED

  • Labels: 43 events across the 4 sample videos, following the organisers' start/end conventions.
  • Thresholds were tuned on C3896 and C3905; C3897 and C3902 were held out.

READ THIS BEFORE THE NUMBERS

Labels were collected by reviewing the candidates our rules proposed (only C3905 was watched end to end). Events that every version of the rules missed never enter the metric, so recall is an upper bound. On C3905, watching in full revealed 1-2 missed events out of ~10, which puts the honest held-out score closer to 0.8 than to 0.9.

Score A on dev videos (C3896 + C3905)

  1. 1Initial rules0.444
  2. 2Pedestrian-signal and queue fixes0.556
  3. 3Stricter jaywalking rule0.631
  4. 4Final rules, final labels0.881

Held-out videos (C3897 + C3902)

0.901

Score A · dev 0.881

Why higher than dev: On the held-out videos three of six classes have only 1-2 events each and score 1.0, while the dev average is pulled down by jaywalking boundaries.

Scores on our own labels, not the hidden test set.

ACCURACY PER CLASS · OUR LABELS

Score A 0.881 · 20 labelled · 21 predicted

classF1 @0.3F1 @0.5F1 @0.7meanTP / FP / FN
failure_to_yield0.9090.9090.9090.9095 / 0 / 1
illegal_turn1.0001.0001.0001.0003 / 0 / 0
jaywalking0.8000.6670.6670.7116 / 3 / 0 @0.3 · 5 / 4 / 1 @0.5–0.7
red_light1.0001.0001.0001.0001 / 0 / 0
solid_line_crossing0.6670.6670.6670.6671 / 0 / 1
stop_line1.0001.0001.0001.0002 / 0 / 0

Not scored: accident, near_miss and congestion do not occur in the samples and are not predicted, so they do not enter these scores.

DETECTED EVENTS PER CLASS

jaywalking

Jaywalking

A pedestrian is on the carriageway outside a crossing.

Example: C3896 · 01:52.5-01:57.8 (5.3 s)

28 detected in 18 min

failure_to_yield

Failure to yield

A vehicle drives through a crossing while a pedestrian is on it or stepping onto it.

Example: C3896 · 03:43.2-03:44.0 (0.8 s)

10 detected in 18 min

illegal_turn

Illegal turn

A turn from the wrong lane or in a prohibited direction.

Example: C3896 · 00:49.3-00:54.8 (5.5 s)

5 detected in 18 min

stop_line

Stop line

A vehicle stops past the stop line on red without entering the intersection.

Example: C3896 · 01:06.1-01:42.2 (36.0 s)

4 detected in 18 min

red_light

Red light

A vehicle crosses the stop line while its signal is red.

Example: C3896 · 01:19.0-01:22.3 (3.3 s)

1 detected in 18 min

solid_line_crossing

Solid line crossing

A lane change or manoeuvre across a solid marking.

Example: C3896 · 01:10.4-01:12.0 (1.6 s)

1 detected in 18 min

stopped_vehicle

Stopped vehicle

A vehicle stands still on the carriageway for 10 s or more, and not as part of a queue at a signal.

Example: C3897 · 02:25.0-02:50.6 (25.6 s)

1 detected in 18 min

wrong_way

Wrong way

A vehicle moves against the traffic direction of its lane, including driving in the oncoming lane.

Example: C3902 · 00:39.1-00:41.1 (2.0 s)

1 detected in 18 min

Known limitations

Where the system is still wrong, and why. We would rather show this than hide it.

Pedestrians cutting corners

What went wrong
People shortcutting across the corner were confused with jaywalking.
What we did
We now require at least 3 m and 1 s on the asphalt.
Result
Jaywalking F1 went from 0.29 to 0.49 with this rule. With the final rules it is 0.711 on dev and 0.848 held-out; its segment boundaries still pull the dev average down.

Queues and signals

What went wrong
Cars stuck in a queue past the stop line were flagged as stop_line, and failure_to_yield fired while pedestrians had a red light.
What we did
Both rules now check the queue and the pedestrian signal.
Result
Score A went from 0.444 to 0.556.

No real crash in the samples

What went wrong
The sample videos contain no real accident.
What we did
accident, near_miss and the risk score are verified only for not raising false alarms (4 false alarms in 18 minutes).
Result
Whether they fire on a real crash is untested.
Explore every sample on the dashboard

TECHNICAL REPORT

An honest debrief.

What worked

  • A detector and a tracker plus rules on trajectories and scene geometry: Score A on our dev videos rose from 0.444 to 0.881 over our rule revisions (the last step also uses the final labels); 0.901 on the held-out videos.
  • Time-to-collision on the road plane for Part B: false alarms cut from 66-113 to 4 in 18 minutes, strictly causal (enforced by a test).
  • Deterministic and offline: fixed stride per device, identical results across runs, 1.4-1.9× the video length against a 3× limit.

What didn't

  • The samples contain no real accident, so accident detection and the risk score are untested on a real crash.
  • Recall is an upper bound: our labels came from reviewing the rules' own candidates (only C3905 was watched end to end), so events every version of the rules missed never enter the metric. On C3905, watching in full revealed 1-2 missed events out of ~10.
  • Jaywalking remains hard to separate from people cutting corners.

What we'd do next

  • Label every video end to end to measure recall properly.
  • Test accident detection and risk on public crash footage (CADP).
  • Finish the lane rules: illegal_turn and solid_line_crossing.
  • Benchmark on T4-class hardware.

TEAM

Who built ASILA.

Khojiakbar Khakimov

Team captain · Frontend, product & analytics

WHO DID WHAT

  • Analysed the task and the judging criteria and set the product direction
  • Designed and built the website, the dashboard and the demo UI
  • Coordinated the team and the submission

PREVIOUS PROJECTS

Real Holat, a civic-tech platform for checking how public money is spent on infrastructure (3rd place and a 40M UZS investment grant, Real Holat Hackathon 2026); 2nd place, Uzum AdTech Hackathon 2026; 3rd place, National Transport Hackathon 2026 (Safe Layer, a road-quality map for micromobility).

Zafar Ubaydullaev

Backend & infrastructure

WHO DID WHAT

  • The offline inference package and repository
  • Video decoding and the runtime budget; deterministic runs
  • The demo API and deployment

PREVIOUS PROJECTS

Yoshlar Radar, a GovTech youth-employment platform (NEXUS30 hackathon).

Khamid Bustanov

AI engineer · Models & testing

WHO DID WHAT

  • Model experiments
  • Testing and evaluation of the pipeline on our labelled sample videos

PREVIOUS PROJECTS

JobLedger (jobledger.uz); a computer-vision clustering model for football analytics (Abstract IT).