UTS CAPSTONE · PROJECT 08-01
Query multi-camera CCTV footage in natural language. Language and vision-language models turn hours of recordings into searchable events, and every answer points to the exact moments behind it.
YOUR QUERY
What happened at the hospital on 5 March between 1pm and 2pm?
5 matching moments · cited answer
THE PROBLEM
25,500+
cameras on public transport, in just three states.
600,000 h
of footage recorded every day by those cameras alone (25,500 × 24 h)
1 TB
of video evidence reaches NSW Police every day
After the 2014 Martin Place siege in Sydney, investigators viewed more than 1,000 hours of CCTV by hand. In a later NSW case, reviewing 14,000 CCTV files took months.
Today, someone still has to watch it.
Footage is slow to search when an event spans several cameras or unfolds over time, and current vision-language models reason poorly across cameras. Most tools only filter by camera and time window, so unless someone already knows where and when to look, the footage goes unreviewed.
Sources: Morgan & Coughlan (2018), Australian Institute of Criminology; Microsoft Australia News Centre (2021); State Coroner of NSW (2015). Daily hours are our estimate, assuming continuous recording.
THE IDEA
What happened at the hospital on 5 March between 1pm and 2pm?
What?
See the event
When?
Pinpoint the time
Who?
Spot who is involved
HOW IT WORKS
Models reason poorly about events across cameras, so Horus does not ask a model to watch the video at query time. It extracts structured events first, then searches them.
Hours of footage from many cameras and places.
MEVA · 71 clips · 23 cameras · 4 sites
It notes who is there, what they do, and when.
Qwen3-VL · YOLO26 · ByteTrack
Every moment becomes a short, searchable record.
1,955 events · Supabase · Qdrant
Type a question. Place, date and time are understood.
FastAPI · filters + search
An answer that links to the exact second of video.
Cited answer
CHECKEDSteps 2 and 4 are tested separately, so a wrong answer can be traced to the step that caused it.
Filters narrow the events to the right place and time; meaning then ranks what is left. Metadata alone cannot tell a white SUV from a red one.
1 · THE QUESTION
“A white SUV at the school on the 7th March between 11am and 12pm”
2 · FILTERS
No model call: instant and repeatable.
3 · SEARCH
1,955 events 5 returned
scores 0.73 0.72 0.71 0.70 0.70
All clear of the 0.6 cut-off.
4 · THE ANSWER
“A white SUV is parked nose-in at the building entrance at 11:13 [1]. Earlier that hour cameras captured it driving through campus at 11:02 [2] and leaving a service bay at 11:08 [4]; these may show the same vehicle.”
It cites every event it used, and says the sightings may be one vehicle rather than asserting it.
THE PRODUCT
QUESTIONS LIKE THESE


Answers in clear text
A formatted answer in the chat, with times and bullet points.
Every claim has a reference
Each sentence cites the event it came from.
One click to the exact second
The video jumps to the moment, with tracked people and vehicles outlined.
Suggests the next question
Follow-up ideas keep the search going.
The AI does not have the last word. The video does.
KEY RESULTS
MEVA's audited annotations are the ground truth. The annotations and the search are scored independently, and the test set includes questions whose right answer is that nothing matches, checked against every caption, twice.
The right video comes first
19/22
with filters
9/22
without filters
Turning the place, date and time in a question into filters doubles how often the right video is the first result.
0.886 vs 0.432
Mean reciprocal rank: how close to the top the right video lands (1 = always first).
Correct video firsthigher is better
Correct video in the top 5higher is better
Returned nothinglower is better
1,955
structured events
1,387 tracked objects from 5.9 hours of footage
96.4%
of events consistent with MEVA ground truth
1,724 of 1,788; only 1% contradict it
80.5%
of MEVA activity types described
487 of 605
HONEST FINDING
The events describe where people and vehicles move very well, but name the exact MEVA action less often. Even people disagree: MEVA lists what happens in a clip without saying who does it.
20%
strict action match
32%
agreement between two human reviewers
CONCLUSIONS
Hours of manual review become a question and a click, for police, transport operators and councils.
THE TEAM
Master of Data Science and Innovation students, each leading one layer of the system. External Mentor: Dr Ali Haidar · Mentor: Junaid Akram.
Abhishek Chopda
RAG Lead
@abychopdaGourika Sood
Backend Lead · RAG Researcher
@gourika22Juan Sebastian Vargas
Video Annotation Lead
@Sebas102507Maria Jose Bustamante
Evaluation Lead
@mariajosebustamante99Nelkit Chavez
Frontend Lead · Backend support
@NelkitSaurabh Sabharwal
Video Annotation Researcher · Evaluation Lead
@finegoodokHorus is live. Open the query workspace and ask your first question.
Try it now