AV-Highlight: results

Joint audio-visual highlighting: given an 8-second clip and an object name, brighten the object in the video and make its sound stand out in the audio. Every number on this page is read from the evaluation JSONs when the page is built.

1 · Data process

  1. Source clips. 8-s clips from filtered VGGSound and AudioSet (unbalanced). The same clip is both the audio and the video input.
  2. Video target (SAM3). SAM3 segments the object named in the prompt (up to 3 instances + union), and the masks are interpolated over time. The target brightens the object's box (×2.0, skipped if the box covers under 5% of the frame) and applies a Gaussian-falloff blur outside 2.5× the box. Output is 24 fps.
  3. Audio target (SAM-Audio, best of several seeds). Separation is guided by the mask when one exists (5 seeds × up to 4 masks) and by the text prompt otherwise (5 seeds). ImageBind picks the winner by the highest text–audio score, with ties broken by the lowest residual score. Target audio = peaknorm(1.5·sonority_boost(target) + 0.1·residual), 44.1 kHz mono.
  4. Mask / prompt consistency fix. 23% of train+val ids had their mask and their audio built from different object names. A canonical text_prompt was restored, then SAM3 and SAM-Audio were re-run for those ids.
  5. Object count (GroundingDINO). grounding-dino-base runs on 8 frames (threshold 0.35); the median detections per frame gives 0 / 1 / 2 / ≥3.
  6. Highlight visual check. The highlight region is compared with the GroundingDINO boxes, giving one of: match, global (the whole frame is highlighted), mismatch, nodet, invisible, noop.
  7. Cleaning (clean3). Three filters, applied in order: drop empty audio targets (target stem RMS < 0.005), then clips with more than 2 objects, then bad highlights (noop / invisible).
splitstart− empty audio target− object count > 2− bad highlight (noop / invisible)finalkept
train46,3597,2823,9863,62131,47067.9%
val2,5754142242041,73367.3%
test1,51218618517296964.1%

Model inputs: stable-audio VAE latents (64×345), CV-VAE video latents (16×48×32×32; 256², 192 frames), and per-frame Perception-Encoder features of the highlight video (192×1792). Two things are not filtered out: mismatch / global highlights, and weak or leaky audio separations (≈5%). The highlight data has no speech filter; voices are valid targets.

2 · Data distribution & statistics

34,172clips (train + val + test)
2,053distinct object prompts
16%of clips are “birds” or “water”
33test prompts never seen in train (1 clip each)
object count, object type and top-20 prompts

Target objects per clip

splitclips0 (none / invisible)1 (single)2 (two)
train31,4702,117 (6.7%)25,290 (80.4%)4,063 (12.9%)
val1,733103 (5.9%)1,420 (81.9%)210 (12.1%)
test96961 (6.3%)729 (75.2%)179 (18.5%)
all34,1722,281 (6.7%)27,439 (80.3%)4,452 (13.0%)

Object type (regex group of the prompt)

object typetrainvaltestall
Musical instrument11,414 (36.3%)644 (37.2%)367 (37.9%)12,425 (36.4%)
Vehicle / engine4,081 (13.0%)203 (11.7%)130 (13.4%)4,414 (12.9%)
Bird3,997 (12.7%)209 (12.1%)97 (10.0%)4,303 (12.6%)
Human voice / people3,378 (10.7%)190 (11.0%)85 (8.8%)3,653 (10.7%)
Water / nature3,194 (10.1%)193 (11.1%)159 (16.4%)3,546 (10.4%)
Other animal3,016 (9.6%)169 (9.8%)61 (6.3%)3,246 (9.5%)
Machine / tool / household2,152 (6.8%)114 (6.6%)63 (6.5%)2,329 (6.8%)
Other / unmapped238 (0.8%)11 (0.6%)7 (0.7%)256 (0.7%)

Regex quirks, left unfixed so the numbers match the figure: “singing bowl” is counted as Bird, “fireworks” as Water / nature, and “hens” is unmapped.

Object type × count / highlight verdict (all splits)

object typen0 obj1 obj2 objmatchglobalmismatchnodet
Musical instrument12,4259.2%76.9%13.8%76.2%7.0%9.2%7.7%
Vehicle / engine4,4145.1%85.3%9.6%70.8%17.3%8.2%3.7%
Bird4,3031.3%73.2%25.6%81.6%1.5%16.1%0.8%
Human voice / people3,6535.6%82.0%12.4%74.2%10.5%10.7%4.6%
Water / nature3,5464.0%93.5%2.4%63.1%29.0%5.4%2.5%
Other animal3,2465.5%79.8%14.7%80.1%6.0%9.5%4.5%
Machine / tool / household2,32912.6%80.7%6.7%67.6%14.8%7.9%9.7%
Other / unmapped25612.5%72.7%14.8%65.6%6.2%18.8%9.4%
all34,1726.7%80.3%13.0%74.3%10.7%9.7%5.3%

Every nodet clip has 0 detected objects. Water / nature causes most global highlights: diffuse sources have no single box. Birds are the most common two-object type, which drives up their mismatch rate.

Top-20 prompts

prompttypealltrainvaltest
birdsBird3,1842,95815571
waterWater / nature2,2952,063128104
pianoMusical instrument1,0649736328
trainVehicle / engine9088504018
individualHuman voice / people8778114521
electric guitarMusical instrument7787174417
trumpetMusical instrument6786193326
violinMusical instrument6746163424
engineVehicle / engine6255762623
harpMusical instrument5394962716
guitarMusical instrument4864571811
vehicleVehicle / engine4614222316
fluteMusical instrument4464022321
accordionMusical instrument440411263
crowdHuman voice / people407386147
canineOther animal394368206
dogOther animal376354166
acoustic guitarMusical instrument374344246
animalOther animal3673352210
brass instrumentMusical instrument348328146

The prompt distribution is long-tailed: 1,162 of 2,053 prompts appear only once. Only 56 val and 33 test prompts are unseen in train, and they are one-off paraphrases (e.g. resonant piano, snack foods, operator, high-speed motorized machine, emergency sirens, fast-paced percussive instrument), so there is no held-out object class.

3 · Main model & ablations

All three runs share the same data (0902 clean3), architecture (DiT with a Schrödinger-bridge flow, PE-FiLM conditioning, cross-attention with time-aligned RoPE), video_loss_weight 0.5, and sampler (Euler from t = 0.02, 10 steps). They differ only in the settings below; highlighted cells differ from the main model. Values are read from each run's config.yaml.

arm / runσ (bridge noise)timestept rangecross-attn RoPEcheckpoint scored
Main: σ1 separate-t + RoPE time-align
…data0902clean3_sigma1_sept_ropealign
1.0separate (ta, tv)[0.02, 0.98]time-alignedlast, ep175 / 10,912 steps
Shared-t + RoPE time-align
…data0902clean3_sharedt_ropealign
1.0shared t[0.02, 0.98]time-alignedlast, ep108 / 6,758 steps
σ0.01 shared-t + RoPE time-align
…data0902clean3_ropealign
0.01shared t[0.0, 1.0]time-alignedlast, ep108 / 6,758 steps

Eval set sub500: 500 random clips from the clean3 test split (seed 0). Audio: audioldm_eval against the highlight audio target; FAD from login-node VGGish with single-thread BLAS; LSD without the vocoder time offset. Video: metrics against the VAE-decoded highlight target (192 frames, 256²). Bold marks the best model in each column; the grey row is the unedited source.

Audio

modelFAD ↓KL ↓IS ↑LSD ↓
Main: σ1 separate-t + RoPE time-align5.4460.003591.011814.32
Shared-t + RoPE time-align6.3010.003951.011315.09
σ0.01 shared-t + RoPE time-align5.4490.003971.010314.27
Pass-through (source audio)1.4930.002551.011313.97

Video

modelPSNR ↑SSIM ↑LPIPS ↓FVD ↓
Main: σ1 separate-t + RoPE time-align18.000.6340.25999.7
Shared-t + RoPE time-align17.730.6290.268105.2
σ0.01 shared-t + RoPE time-align17.970.6360.259118.1
Pass-through (source video)16.470.6090.295154.1

Paired Wilcoxon over the same 500 clips (per-clip video PSNR / LPIPS vs target). Δ = Main − other (PSNR: + favours Main; LPIPS: − favours Main).

pairmetricΔ meanclips favouring Mainp
Main vs σ0.01 shared-t + RoPEPSNR+0.03058%1.5e-03
Main vs σ0.01 shared-t + RoPELPIPS+0.00051%9.9e-01
Main vs Shared-t + RoPEPSNR+0.27771%8.0e-20
Main vs Shared-t + RoPELPIPS-0.00969%1.0e-20

Checkpoint steps are not matched (≈6.8k vs ≈10.9k steps). FVD ranks close arms differently from the per-clip metrics, so trust the paired tests more than FVD.

4 · Main model vs baselines (sub500)

No existing baseline edits audio and video together, so each baseline appears only in the table for the modality it edits. Video baselines get the prompt highlight {object}. VisAH is guided by the video and takes no text.

Audio

modelFAD ↓KL ↓IS ↑LSD ↓
Main: σ1 separate-t + RoPE time-align5.4460.003591.011814.32
VisAH (audio only)3.7060.003141.010416.16
Pass-through (source audio)1.4930.002551.011313.97

Video (vs VAE-decoded target, n = 500)

modelPSNR ↑SSIM ↑LPIPS ↓FVD ↓
Main: σ1 separate-t + RoPE time-align18.000.6340.25999.7
Ditto (video only)13.590.4330.406317.8
LGVI (video only)12.110.3700.5931023.8
Pass-through (source video)16.470.6090.295154.1

Video vs raw highlight target (video-only baselines, n = 474)

modelPSNR ↑SSIM ↑LPIPS ↓FVD ↓
Ditto13.850.4600.358239.8
LGVI12.060.3770.5731034.3
Pass-through (source video)19.410.7750.190157.7

Baselines output raw video, so this second table compares them against the raw (not VAE-decoded) highlight target. Clips whose raw target is shorter than 8 s are excluded.

5 · 20 test samples: single vs multiple objects

Metrics by object count (sub500)

All sub500 clips with 1 object (n = 380) vs 2 objects (n = 89); 0-object clips excluded. FAD is computed separately inside each group (login-node VGGish, 1-thread BLAS; smaller n → higher FAD, so compare models within a column, not single vs multi). Video = mean per-clip PSNR / LPIPS against the VAE-decoded target.

modelFAD ↓ singleFAD ↓ multivPSNR ↑ singlevPSNR ↑ multiLPIPS ↓ singleLPIPS ↓ multi
Main: σ1 separate-t + RoPE time-align5.3418.28317.9118.260.2540.283
Shared-t + RoPE time-align6.0998.98117.6517.930.2610.297
σ0.01 shared-t + RoPE time-align5.3897.30617.9018.150.2540.284
Ditto (video only)13.3914.240.4040.426
LGVI (video only)11.8413.170.6030.560
VisAH (audio only)4.0655.773
Pass-through (source)1.7113.32616.1717.430.2870.329

Samples

20 sub500 test clips whose highlight target passed the visual check (match): 10 with one object and 10 with two, drawn at random (seed 0) round-robin over object types. They are not cherry-picked. Each cell plays video with audio. Video-only baselines play with the source audio; VisAH plays with the source video. Captions give that clip's video PSNR / LPIPS against the target.

Single object (object_count = 1)

Single object (380 sub500 clips).
S1 “guitar” · Musical instrument · 2h3hW-QxTXg_000040
Source
vPSNR 16.2 · LPIPS 0.141
Target (highlight)
Main
vPSNR 18.0 · LPIPS 0.130
Shared-t + RoPE
vPSNR 17.9 · LPIPS 0.133
σ0.01 + RoPE
vPSNR 17.5 · LPIPS 0.140
Ditto video · src audio
vPSNR 12.7 · LPIPS 0.311
LGVI video · src audio
vPSNR 7.6 · LPIPS 0.707
VisAH audio · src video
S2 “water” · Water / nature · x5y--luMtzk_000030
Source
vPSNR 16.4 · LPIPS 0.275
Target (highlight)
Main
vPSNR 19.3 · LPIPS 0.260
Shared-t + RoPE
vPSNR 19.3 · LPIPS 0.270
σ0.01 + RoPE
vPSNR 19.0 · LPIPS 0.274
Ditto video · src audio
vPSNR 9.8 · LPIPS 0.540
LGVI video · src audio
vPSNR 11.3 · LPIPS 0.593
VisAH audio · src video
S3 “motorcycle engine” · Vehicle / engine · K2-zg_Mm4F4
Source
vPSNR 13.8 · LPIPS 0.265
Target (highlight)
Main
vPSNR 17.2 · LPIPS 0.245
Shared-t + RoPE
vPSNR 16.6 · LPIPS 0.254
σ0.01 + RoPE
vPSNR 17.8 · LPIPS 0.245
Ditto video · src audio
vPSNR 6.6 · LPIPS 0.605
LGVI video · src audio
vPSNR 9.4 · LPIPS 0.710
VisAH audio · src video
S4 “jazz brass band” · Human voice / people · yEQUwnjKwno_000350
Source
vPSNR 20.4 · LPIPS 0.138
Target (highlight)
Main
vPSNR 21.6 · LPIPS 0.127
Shared-t + RoPE
vPSNR 21.5 · LPIPS 0.131
σ0.01 + RoPE
vPSNR 21.5 · LPIPS 0.131
Ditto video · src audio
vPSNR 18.7 · LPIPS 0.224
LGVI video · src audio
vPSNR 21.2 · LPIPS 0.179
VisAH audio · src video
S5 “clucking chicken” · Bird · vFkj3DKYEcU
Source
vPSNR 15.6 · LPIPS 0.159
Target (highlight)
Main
vPSNR 22.4 · LPIPS 0.104
Shared-t + RoPE
vPSNR 21.2 · LPIPS 0.114
σ0.01 + RoPE
vPSNR 21.4 · LPIPS 0.109
Ditto video · src audio
vPSNR 12.9 · LPIPS 0.406
LGVI video · src audio
vPSNR 11.5 · LPIPS 0.513
VisAH audio · src video
S6 “machinery” · Machine / tool / household · gyR9ElSyem0
Source
vPSNR 22.7 · LPIPS 0.246
Target (highlight)
Main
vPSNR 23.3 · LPIPS 0.168
Shared-t + RoPE
vPSNR 22.1 · LPIPS 0.186
σ0.01 + RoPE
vPSNR 23.7 · LPIPS 0.169
Ditto video · src audio
vPSNR 11.6 · LPIPS 0.487
LGVI video · src audio
vPSNR 12.1 · LPIPS 0.691
VisAH audio · src video
S7 “feline” · Other animal · bckQn5FUHCg_000130
Source
vPSNR 10.8 · LPIPS 0.404
Target (highlight)
Main
vPSNR 12.2 · LPIPS 0.398
Shared-t + RoPE
vPSNR 11.6 · LPIPS 0.397
σ0.01 + RoPE
vPSNR 12.3 · LPIPS 0.391
Ditto video · src audio
vPSNR 13.7 · LPIPS 0.290
LGVI video · src audio
vPSNR 8.8 · LPIPS 0.691
VisAH audio · src video
S8 “stove or grill” · Other / unmapped · 9iGjureW7uE
Source
vPSNR 13.9 · LPIPS 0.218
Target (highlight)
Main
vPSNR 14.2 · LPIPS 0.240
Shared-t + RoPE
vPSNR 14.3 · LPIPS 0.225
σ0.01 + RoPE
vPSNR 15.0 · LPIPS 0.224
Ditto video · src audio
vPSNR 11.1 · LPIPS 0.382
LGVI video · src audio
vPSNR 10.1 · LPIPS 0.718
VisAH audio · src video
S9 “bass” · Musical instrument · ji-27X81tIs_000149
Source
vPSNR 16.9 · LPIPS 0.312
Target (highlight)
Main
vPSNR 17.6 · LPIPS 0.292
Shared-t + RoPE
vPSNR 17.0 · LPIPS 0.322
σ0.01 + RoPE
vPSNR 16.8 · LPIPS 0.304
Ditto video · src audio
vPSNR 18.0 · LPIPS 0.353
LGVI video · src audio
vPSNR 13.8 · LPIPS 0.390
VisAH audio · src video
S10 “water” · Water / nature · eW7_vMFcGRA_000379
Source
vPSNR 10.7 · LPIPS 0.478
Target (highlight)
Main
vPSNR 10.1 · LPIPS 0.491
Shared-t + RoPE
vPSNR 11.0 · LPIPS 0.477
σ0.01 + RoPE
vPSNR 11.0 · LPIPS 0.471
Ditto video · src audio
vPSNR 8.7 · LPIPS 0.593
LGVI video · src audio
vPSNR 8.2 · LPIPS 0.733
VisAH audio · src video

Multiple objects (object_count = 2)

Two objects (89 sub500 clips).
M1 “instrumentalist” · Musical instrument · hJ51OR7bsnk
Source
vPSNR 18.5 · LPIPS 0.217
Target (highlight)
Main
vPSNR 21.3 · LPIPS 0.148
Shared-t + RoPE
vPSNR 20.3 · LPIPS 0.186
σ0.01 + RoPE
vPSNR 22.0 · LPIPS 0.148
Ditto video · src audio
vPSNR 15.4 · LPIPS 0.288
LGVI video · src audio
vPSNR 17.4 · LPIPS 0.245
VisAH audio · src video
M2 “individual” · Human voice / people · 3gIBNY5VHzI_000132
Source
vPSNR 16.2 · LPIPS 0.321
Target (highlight)
Main
vPSNR 16.8 · LPIPS 0.313
Shared-t + RoPE
vPSNR 16.4 · LPIPS 0.326
σ0.01 + RoPE
vPSNR 16.6 · LPIPS 0.323
Ditto video · src audio
vPSNR 8.2 · LPIPS 0.547
LGVI video · src audio
vPSNR 11.6 · LPIPS 0.697
VisAH audio · src video
M3 “motor vehicle” · Vehicle / engine · GEaOWeaSBOs
Source
vPSNR 13.0 · LPIPS 0.366
Target (highlight)
Main
vPSNR 13.5 · LPIPS 0.368
Shared-t + RoPE
vPSNR 13.3 · LPIPS 0.365
σ0.01 + RoPE
vPSNR 13.5 · LPIPS 0.359
Ditto video · src audio
vPSNR 12.0 · LPIPS 0.419
LGVI video · src audio
vPSNR 10.1 · LPIPS 0.674
VisAH audio · src video
M4 “birds” · Bird · wlOKFKXReh0_000073
Source
vPSNR 14.0 · LPIPS 0.295
Target (highlight)
Main
vPSNR 15.2 · LPIPS 0.285
Shared-t + RoPE
vPSNR 14.9 · LPIPS 0.257
σ0.01 + RoPE
vPSNR 15.0 · LPIPS 0.277
Ditto video · src audio
vPSNR 11.1 · LPIPS 0.350
LGVI video · src audio
vPSNR 11.2 · LPIPS 0.652
VisAH audio · src video
M5 “cat's purr” · Other animal · OpDJ4an3Hf4_000206
Source
vPSNR 18.7 · LPIPS 0.312
Target (highlight)
Main
vPSNR 19.0 · LPIPS 0.275
Shared-t + RoPE
vPSNR 18.8 · LPIPS 0.305
σ0.01 + RoPE
vPSNR 18.9 · LPIPS 0.268
Ditto video · src audio
vPSNR 15.0 · LPIPS 0.354
LGVI video · src audio
vPSNR 10.4 · LPIPS 0.757
VisAH audio · src video
M6 “watercraft” · Water / nature · Q78Vy9-8Ykw
Source
vPSNR 27.1 · LPIPS 0.136
Target (highlight)
Main
vPSNR 22.4 · LPIPS 0.124
Shared-t + RoPE
vPSNR 22.8 · LPIPS 0.133
σ0.01 + RoPE
vPSNR 23.4 · LPIPS 0.120
Ditto video · src audio
vPSNR 19.5 · LPIPS 0.340
LGVI video · src audio
vPSNR 16.2 · LPIPS 0.440
VisAH audio · src video
M7 “sewing machine” · Machine / tool / household · hL6BEHsG8Bo
Source
vPSNR 13.9 · LPIPS 0.325
Target (highlight)
Main
vPSNR 15.3 · LPIPS 0.296
Shared-t + RoPE
vPSNR 15.2 · LPIPS 0.301
σ0.01 + RoPE
vPSNR 14.9 · LPIPS 0.307
Ditto video · src audio
vPSNR 10.7 · LPIPS 0.536
LGVI video · src audio
vPSNR 11.5 · LPIPS 0.657
VisAH audio · src video
M8 “cello” · Musical instrument · cosFNwdH4Es_000000
Source
vPSNR 16.9 · LPIPS 0.284
Target (highlight)
Main
vPSNR 18.1 · LPIPS 0.242
Shared-t + RoPE
vPSNR 17.8 · LPIPS 0.263
σ0.01 + RoPE
vPSNR 17.9 · LPIPS 0.246
Ditto video · src audio
vPSNR 12.5 · LPIPS 0.440
LGVI video · src audio
vPSNR 13.4 · LPIPS 0.345
VisAH audio · src video
M9 “man” · Human voice / people · r-Zku8Czrjc_000334
Source
vPSNR 17.8 · LPIPS 0.197
Target (highlight)
Main
vPSNR 19.8 · LPIPS 0.189
Shared-t + RoPE
vPSNR 19.0 · LPIPS 0.174
σ0.01 + RoPE
vPSNR 19.6 · LPIPS 0.167
Ditto video · src audio
vPSNR 12.3 · LPIPS 0.429
LGVI video · src audio
vPSNR 14.1 · LPIPS 0.355
VisAH audio · src video
M10 “lawnmower engine” · Vehicle / engine · K4jy3Xx6UVI
Source
vPSNR 12.5 · LPIPS 0.486
Target (highlight)
Main
vPSNR 13.4 · LPIPS 0.442
Shared-t + RoPE
vPSNR 13.0 · LPIPS 0.459
σ0.01 + RoPE
vPSNR 12.9 · LPIPS 0.453
Ditto video · src audio
vPSNR 14.9 · LPIPS 0.419
LGVI video · src audio
vPSNR 9.8 · LPIPS 0.696
VisAH audio · src video

Caveats