OmniShotCut v1.5 — MLX, fp16
uva-cv-lab/OmniShotCut_v1.5
converted for MLX by
scripts/convert.py --bits 0,
for the Swift package OmniShotCutMLX:
import OmniShotCutMLX
let detector = try await OmniShotCut.pretrained() // this model
let segments = try await detector.segments(in: videoURL)
- Matrices stored in fp16, biases and normalization parameters in fp32; 106 MB. Computed in fp32.
- Key names are the official ones, but
backbone.0.body.is dropped, each attention's packedin_projis split intoq_proj/k_proj/v_proj, and convolutions are OHWI.
Against the official PyTorch code's 219 cuts on three Blender open movies, the package with these weights finds 218 on the same frame with the same labels. The other is a label PyTorch prefers by 0.0016 and flips the same way when its own weights are rounded to fp16. The smaller 8-bit conversion finds 214. See the package's README for the test.
License
MIT, as is the original. Copyright (c) 2026 UVA Computer Vision Lab.
@article{wang2026omnishotcut,
title={OmniShotCut: Holistic Relational Shot Boundary Detection with Shot-Query Transformer},
author={Wang, Boyang and Xu, Guangyi and Zhang, Jiahui and Tang, Zhipeng and Cheng, Zezhou},
journal={arXiv preprint arXiv:2604.24762},
year={2026}
}