OmniAgent
Native Active Perception as Reasoning for Omni-Modal Understanding
7B > 72B
beats a 10× larger passive model on LVBench
−73%
frames ingested per video — 203 vs 768
10/10
all 10 benchmarks improve — up to 7× on temporal grounding
Zhenghao Xing · CUHK Ph.D. Candidate · Multimodal Agent & Audio-Visual Reasoning
Zhenghao Xing* · Ruiyang Xu* · Yuxuan Wang* · Jinzheng He · Ziyang Ma · Qize Yang · Yunfei Chu · Jin Xu† · Junyang Lin · Chi-Wing Fu · Pheng-Ann Heng†
Qwen · CUHK · SJTU · NTU · *equal contribution · †corresponding author · built on Qwen2.5-Omni-7B
“Why are the vlogger family members so happy at 22:03?”
2,448 s vlog · audio: yes
Passivewatch it all
768 uniform frame probes — dense across the whole video (illustrative)
What the query needsquery-driven
4 targeted observations — frames + audio around 22:03
OmniAgent — a native omni-modal agent for active perception, built on Qwen2.5-Omni-7B. One model that sees, hears, and decides what to look at next — no external tools, no pipeline.
see
Broad scans locate candidates; dense scans refine boundaries.
hear
Audio confirms what frames alone can't.
reason
Raw media is deleted each turn; short notes persist.
act
Frames, audio, clip, or answer — stopping is a decision too.
not this
external captioner / ASR toolchain · exhaustive caption-everything pre-scan
this
native active perception — train the looking, not just the answering
result
small + active > big + passive — exact margins in the results
Persistent memory
Starts as the question plus video metadata. Grows one note per turn — never raw media.
write a note
⟵
read every turn
⟶
OmniAgent — one native model
Observationwhat did I just see / hear?
Thoughtwhat is still missing?
Actionget_frames · get_audio · get_clip · answer
action
⟶
transient percept — purged after the turn
⟵
Video environment Ω
Returns the requested frames, audio, or A/V clip. No captioner, no ASR, no retrieval — all perception happens inside the model.
purge — raw media deleted each turn; only notes persist
cost — grows with the reasoning, not the video length
stop — the answer action ends the loop once evidence suffices
real demo trajectory
Find all time ranges where “Linda Grimbeck discusses tourism security measures in an interview.”
Video: 260.10 s · audio + visual news clip
Task: temporal grounding, no explanation in final answer
First action: get_frames(0.0, 260.1, 50)
0.00s
21.23s
175s
260s
1 · quick glance — 50 frames, the model's own choice (not a 768-frame pre-scan)
Two promising islands. Both need verifying — and their edges are still fuzzy.
2 · switch to audio
Frames found the candidates. Audio confirms the topic: tourism security.
3 · refine cuts
range A
before
inside
afterrange B
before
inside
afterTransient percepts
50-frame global scan
finds candidates, not the answer
purge
Audio on candidate windows
verifies the security topic
purge
Dense boundary frames
before / inside / after the cuts
purge
Persistent text memory
01 Candidate A around 22-76 s; candidate B around 175-226 s.
02 Audio says smart cameras, intelligence network, victim support helpline, tourism monitors.
03 Both candidates are Linda Grimbeck discussing tourism security.
04 Remaining work: refine start/end boundaries, then answer.
answer action · turn 9
[22.00, 76.00]
[175.04, 225.96]
ordinary video-QA SFT
sampled video tokens
→answer label
More answer labels just reinforced the passive habit — the score dropped.
LVBench
43.0 → 41.6agentic SFT
Observation
→Thought
→Action
Best-of-N exploration with self-correction; a path is kept only if the answer is right and the reasoning matches what was seen.
LVBench
43.0 → 48.758K
accepted trajectories
2 filters
right answer + supported reasoning
learns when
to scan, listen, zoom in, and stop
Problem — advantage homogenization
Every turn gets the same credit — the turn that found the evidence earns no more than filler.
79.2%
of decision-point turns show above-average entropy — uncertainty marks the forks
Fix — entropy-rescaled turn credit
Pay each turn by its uncertainty. Discovery earns more; routine earns less; confident mistakes are punished harder.
Illustrative — routine turns get down-weighted; the turn that finds the evidence earns amplified credit.
TAURA — Turn-aware Adaptive Uncertainty Rescaled Advantage
Normalized so E[wi,k] = 1; credit shifts to high-entropy discovery turns without changing gradient scale.
Every stage earns its keep — LVBench: SFT 48.7 → GRPO 49.8 → TAURA 50.5 · DailyOmni: GRPO dips to 62.2, TAURA 64.8
50.5%
OmniAgent-7Bactive perception
47.3%
Qwen2.5-VL-72Bpassive, 10× the parameters
frames per video: 203 vs 768 — ~73% fewer
10/10
all paper benchmarks improve over Qwen2.5-Omni-7B
Paper Tables 1-3: video understanding, audio-visual understanding, and temporal grounding. VUE-TR reports Vision+Audio / Vision.
VideoMME overall / long
64.8 → 67.8
54.8 → 59.6
VSI-Bench reasoning · avg 1.6 min
35.5 → 48.4
MLVU long · 3-120 min
65.2 → 71.1
Minerva reasoning · 2-90 min
33.4 → 41.4
LVBench long · avg 68 min
43.0 → 50.5
DailyOmni generic · avg 0.7 min
60.1 → 64.8
WorldSense generic · avg 2.4 min
45.4 → 47.2
OmniVideoBench reasoning · avg 6.4 min
29.3 → 37.1
LongVALE avg 3.9 min
5.7 → 39.1
VUE-TR V+A / vision
3.5 → 36.5
8.0 → 46.1
LongVALE · IoU — vs. base model
5.7
→
39.1
+33.4 absolute — a near-7× jump
scan
find candidate windows
verify
use audio or vision evidence
refine
tighten start and end cuts
VUE-TR (vision + audio) · IoU — frontier comparison
Closed-source generalists see the video; OmniAgent also learns where to look next.
+6.2%
VideoMME-Long accuracy, as the max turn budget K grows 6 → 52
~11.7
turns actually used even at K = 52 — it answers once the evidence is enough
16.9 → 5.7
turns per video-hour as videos grow 20–40 → 120–140 min (8.5 → 12.5 turns) — compute follows the question, not the clock
inspectable interface
Fully open-source — one launch script and a single A100 80GB gets you this exact interface.
Recorded walkthrough: the active-perception loop exposed as a web interface for real inspection.
1
It turns hours of video into a few notes — cost tracks the question, not the video.
2
Passive SFT made things worse (43.0 → 41.6). Agentic SFT + TAURA fix that.
3
7B > 72B on LVBench, ~73% fewer frames — and it keeps improving the more it thinks (+6.2%).
One honest caveat — the sequential loop adds latency vs. a single forward pass; parallelized exploration is next.
github.com/HarryHsing/OmniAgent
Released — code · env · RL-7B / SFT-7B · demo · Apache-2.0
Paper — arXiv:2606.19341 · Booth — Jul 8 · 13:20 · Qwen #B400
Poster — Wed Jul 8 · 2:30–4:15 PM KST · Hall A #1200
“Native Active Perception as Reasoning for Omni-Modal Understanding”
GitHub
Thread