DeOverlay: A Benchmark and Source-Anchored Flow for Video Overlay Removal
Organizations: ByteDance · Southern University of Science and Technology
Abstract
Video overlay removal aims to recover scenes obscured by subtitles, titles, and logos while preserving surrounding content. Existing methods use temporal propagation or source-conditioned generation, but can leave residual overlays and distort scene structure when useful source information is obscured. We propose DeOverlay, a source-anchored flow model that reconstructs the clean video from the source latent with fixed source guidance. Specifically, we train a shared velocity network along paired source-to-clean paths using region-weighted flow matching, enabling successive cor- rections from intermediate states. To select local source cues, we develop visibility-normalized temporal aggregation that excludes masked positions and averages the remaining observations. Global source context and edit-region embeddings complement these cues through additive condi- tioning, retaining a single video-token sequence. To evaluate scene recovery across diverse overlay conditions, we introduce DVTE-Bench, comprising 1,631 paired videos across eight text-overlay categories, with OCR-screened clean targets, frame-aligned pixel masks, and a common evaluation protocol. Experiments on the complete release show that DeOverlay outperforms four baselines on all five reconstruction and perceptual metrics, reducing Mask LPIPS and Mask VFID by 58.3% and 70.3%, respectively, relative to the strongest evaluated baseline. Additional qualitative examples demonstrate the removal of graphic logos and stickers. We will make the complete benchmark, evaluation code, and test outputs availabl. Project page:https://yahooo-m.github.io/DVTE-Bench/
Figures & tables
| Benchmark | Clips | Release | Ground Truth | Overlay Diversity | Evaluation | ||||||
| Clean | Mask | Types | Multilingual | Spatial | Temporal | Appearance | Regional | Temporal | |||
| CLEAR test set | 400 | ✗ | ✓ | ✗ | 1 | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| VSR-Bench-400 | 400 | ✗ | ✓ | ✓ | 1 | ✓ | ✓ | ✗ | ✓ | ✗ | ✗ |
| DVTE-Bench (ours) | 1,631 | ✓ | ✓ | ✓ | 8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| (a) Regional reconstruction and perceptual quality | |||||
|---|---|---|---|---|---|
| Method | PSNR | SSIM | LPIPS | DISTS | VFID |
| CLEAR | 16.02 | 0.5172 | 0.3209 | 0.2158 | 1.4736 |
| ProPainter | 25.90 | 0.7832 | 0.1166 | 0.0957 | 0.3879 |
| MiniMax-Remover | 26.17 | 0.8044 | 0.0977 | 0.0856 | 0.2806 |
| DiffuEraser | 24.84 | 0.7723 | 0.1130 | 0.0952 | 0.3285 |
| DeOverlay, | 30.80 | 0.8822 | 0.0408 | 0.0507 | 0.0835 |
| Variant | PSNR | MAE | Crop SSIM | Outside MAE | TWE gap | PSNR |
|---|---|---|---|---|---|---|
| DeOverlay, | 32.461 | 4.299 | 0.92765 | 2.541 | 0.180 | 0.000 |
| Direct residual, | 31.300 | 4.520 | 0.91120 | 2.548 | 0.195 | -1.161 |
| Noise init. + source tokens | 29.600 | 6.500 | 0.89200 | 3.050 | 0.320 | -2.861 |
| Mask only (no VSA/GSC) | 32.230 | 4.440 | 0.92590 | 2.552 | 0.197 | -0.231 |
| Ordinary temporal mean | 32.360 | 4.360 | 0.92725 | 2.542 | 0.183 | -0.101 |
| Without VSA | 32.370 | 4.350 | 0.92705 | 2.543 | 0.185 | -0.091 |
| Mask PSNR | Mask MAE | MaskCrop SSIM | TWE abs. gap | Rel. latency | |
|---|---|---|---|---|---|
| 2 | 32.410 | 4.330 | 0.92710 | 0.184 | |
| 4 | 32.461 | 4.299 | 0.92765 | 0.180 | |
| 6 | 32.467 | 4.294 | 0.92772 | 0.178 | |
| 8 | 32.468 | 4.293 | 0.92774 | 0.178 |
| Method | E2E s/frame | E2E FPS | Inference s/frame | Peak GiB |
|---|---|---|---|---|
| CLEAR | 0.6030 | 1.6584 | 0.5983 | 18.354 |
| ProPainter | 0.4271 | 2.3413 | 0.4134 | 34.101 |
| MiniMax-Remover | 0.3787 | 2.6405 | 0.3530 | 10.776 |
| DiffuEraser | 1.1677 | 0.8564 | 1.1524 | 23.950 |
| DeOverlay, | 0.3242 | 3.0847 | 0.3001 | 12.236 |
| DeOverlay, | 0.4828 | 2.0712 | 0.4587 | 12.236 |
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| Setting | Value |
|---|---|
| Backbone | LingBot-Video dense 1.3B configuration |
| Latent channels / patch size | 16 / |
| Transformer blocks / width / heads | 24 / 2048 / 16 |
| Feed-forward width / text embedding width | 6144 / 2560 |
| LoRA rank / scale | 256 / 1.0 |
| Local / global branch hidden width | 512 / 512 |
| Challenge type | Overlay characteristic | Release | Evaluated |
|---|---|---|---|
| Standard subtitle | Lower-third captions and style variation | 232 | 232 |
| Artistic title | Display typography, outlines, and glow | 218 | 218 |
| Moving text | Frame-varying trajectories | 232 | 232 |
| Vertical text | Vertical writing at varied positions | 215 | 215 |
| Non-bottom layout | Placement outside the bottom region | 223 | 223 |
| Multi-region | Distributed simultaneous text regions | 225 | 225 |
| Text type | Clips | PSNR | SSIM | LPIPS | DISTS | |
|---|---|---|---|---|---|---|
| Standard subtitle | 232 | 30.39 | 0.8718 | 0.0285 | 0.0395 | 1 |
| Artistic title | 218 | 26.24 | 0.8409 | 0.0674 | 0.0668 | 0 |
| Moving text | 232 | 30.73 | 0.8800 | 0.0209 | 0.0325 | 4 |
| Vertical text | 215 | 30.46 | 0.8736 | 0.0975 | 0.1015 | 3 |
| Non-bottom layout | 223 | 30.92 | 0.8843 | 0.0414 | 0.0628 | 2 |
| Multi-region | 225 | 29.88 | 0.8834 | 0.0103 | 0.0167 | 2 |
| Input organization | Video tokens | Total tokens | Time (s) | Memory (GiB) |
|---|---|---|---|---|
| Source-initialized stream | 13,248 | 13,346 | 5.266 | 1.744 |
| Noise and source streams | 26,496 | 26,594 | 13.088 | 3.479 |
| Method | PSNR | SSIM | LPIPS | DISTS | |
| Standard subtitle (232 clips) | |||||
| CLEAR | 17.98 | 0.5726 | 0.2192 | 0.1567 | 0 |
| ProPainter | 25.17 | 0.7668 | 0.0890 | 0.0778 | 1 |
| MiniMax-Remover | 24.92 | 0.7752 | 0.0838 | 0.0755 | 0 |
| DiffuEraser | 24.17 | 0.7501 | 0.0899 | 0.0783 | 1 |
| DeOverlay ( ) | 30.39 | 0.8718 | 0.0285 | 0.0395 | 1 |
| Method | PSNR | SSIM | LPIPS | DISTS | |
| Non-bottom layout (223 clips) | |||||
| CLEAR | 17.76 | 0.5941 | 0.3264 | 0.2282 | 0 |
| ProPainter | 24.84 | 0.7627 | 0.1462 | 0.1269 | 2 |
| MiniMax-Remover | 25.31 | 0.7909 | 0.1195 | 0.1137 | 1 |
| DiffuEraser | 24.22 | 0.7582 | 0.1356 | 0.1229 | 2 |
| DeOverlay ( ) | 30.92 | 0.8843 | 0.0414 | 0.0628 | 2 |
Flow Matching
Flow matching learns continuous-time vector fields that transport simple noise distributions into data for efficient generative modeling.
See all 650 papers