Commit ·
c60d79b
0
Parent(s):
Duplicate from uva-cv-lab/OmniShotCut
Browse filesCo-authored-by: Boyang Wang <HikariDawn@users.noreply.huggingface.co>
- .gitattributes +35 -0
- OmniShotCut_ckpt.pth +3 -0
- README.md +55 -0
- config.json +19 -0
.gitattributes
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
OmniShotCut_ckpt.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5948ea78e00626c0e6c5e742e64873ef872cf4a5071d2a0841aed51c3e686cfa
|
| 3 |
+
size 164149963
|
README.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: mit
|
| 3 |
+
tags:
|
| 4 |
+
- shot-boundary-detection
|
| 5 |
+
- scene-detection
|
| 6 |
+
- video
|
| 7 |
+
- transformer
|
| 8 |
+
arxiv: 2604.24762
|
| 9 |
+
---
|
| 10 |
+
|
| 11 |
+
## OmniShotCut: Holistic Relational Shot Boundary Detection with Shot-Query Transformer
|
| 12 |
+
|
| 13 |
+
**Authors:** Boyang Wang, Guangyi Xu, Jiahui Zhang, Zhipeng Tang, Zezhou Cheng
|
| 14 |
+
**Affiliation:** UVA Computer Vision Lab
|
| 15 |
+
|
| 16 |
+
[](https://uva-computer-vision-lab.github.io/OmniShotCut_website/)
|
| 17 |
+
[](https://huggingface.co/spaces/uva-cv-lab/OmniShotCut)
|
| 18 |
+
[](https://github.com/UVA-Computer-Vision-Lab/OmniShotCut)
|
| 19 |
+
[](https://arxiv.org/abs/2604.24762)
|
| 20 |
+
|
| 21 |
+
OmniShotCut is a sensitive and informative shot boundary detector. It detects shot changes across diverse sources (anime, vlog, game, shorts, sports, screen recording, etc.) and recognizes Sudden Jumps and Transitions (dissolve, fade, wipe, ...) with a Shot-Query-based Video Transformer.
|
| 22 |
+
|
| 23 |
+
## Model Zoo
|
| 24 |
+
|
| 25 |
+
| Model | Description | Link |
|
| 26 |
+
|-------|-------------|------|
|
| 27 |
+
| **OmniShotCut v1.5** (recommended) | Hidden dim 576, 52.8M params. Best real-world quality: fewer false cuts on continuous camera motion / lighting changes, and better dense fast-cut recall. | [Download](https://huggingface.co/uva-cv-lab/OmniShotCut_v1.5) |
|
| 28 |
+
| OmniShotCut (paper) | 3 encoders, 34.5M params. Reproduces the paper (Table 1) numbers. | [Download](https://huggingface.co/uva-cv-lab/OmniShotCut_paper) |
|
| 29 |
+
| OmniShotCut (preview) | 6 encoders, 41M params. Early preview release. | [Download](https://huggingface.co/uva-cv-lab/OmniShotCut) |
|
| 30 |
+
|
| 31 |
+
## Usage
|
| 32 |
+
|
| 33 |
+
Install:
|
| 34 |
+
```bash
|
| 35 |
+
pip install git+https://github.com/UVA-Computer-Vision-Lab/OmniShotCut.git
|
| 36 |
+
```
|
| 37 |
+
|
| 38 |
+
Run shot boundary detection:
|
| 39 |
+
```python
|
| 40 |
+
import omnishotcut
|
| 41 |
+
|
| 42 |
+
cut_model = omnishotcut.load("uva-cv-lab/OmniShotCut_v1.5", filename="OmniShotCut_ckpt.pth")
|
| 43 |
+
ranges = cut_model.inference("video.mp4", mode="clean_shot")
|
| 44 |
+
```
|
| 45 |
+
|
| 46 |
+
## Citation
|
| 47 |
+
|
| 48 |
+
```bibtex
|
| 49 |
+
@article{wang2026omnishotcut,
|
| 50 |
+
title={OmniShotCut: Holistic Relational Shot Boundary Detection with Shot-Query Transformer},
|
| 51 |
+
author={Wang, Boyang and Xu, Guangyi and Zhang, Jiahui and Tang, Zhipeng and Cheng, Zezhou},
|
| 52 |
+
journal={arXiv preprint arXiv:2604.24762},
|
| 53 |
+
year={2026}
|
| 54 |
+
}
|
| 55 |
+
```
|
config.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"backbone": "resnet18",
|
| 3 |
+
"position_embedding": "sine",
|
| 4 |
+
"hidden_dim": 384,
|
| 5 |
+
"enc_layers": 6,
|
| 6 |
+
"dec_layers": 6,
|
| 7 |
+
"dim_feedforward": 2048,
|
| 8 |
+
"nheads": 8,
|
| 9 |
+
"dropout": 0.0,
|
| 10 |
+
"pre_norm": false,
|
| 11 |
+
"num_queries": 24,
|
| 12 |
+
"aux_loss": true,
|
| 13 |
+
"num_intra_relation_classes": 10,
|
| 14 |
+
"num_inter_relation_classes": 7,
|
| 15 |
+
"process_height": 96,
|
| 16 |
+
"process_width": 128,
|
| 17 |
+
"max_process_window_length": 100,
|
| 18 |
+
"weight_file": "OmniShotCut_ckpt.pth"
|
| 19 |
+
}
|