SOONet是第一个端到端的长视频时序定位框架。不同于现有基于滑动窗口的方法需要将长视频切割成多个短视频进行重复推理,SOONet进行小时长度视频的推理只需要经过一次网络前向计算,从而避免了滑动窗口方法造成的低效率问题。同时,SOONet提出了一种“粗筛-精筛”二阶段召回的策略以及精细定制化的网络结构和损失函数,很好的融合了anchor间的上下文信息和anchor内的内容信息,从而达到精准的时序定位。SOONet在MAD和Ego4d两个长视频数据集上均取得了SOTA的定位准确度,同时分别将推理效率提升14.6倍和102.8倍。
SOONet是一种快速的视频时序定位框架。只需要提供查询文本及对应的待检索视频,即可快速输出与查询文本语义相关的视频片段的起止时间。
import cv2
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
# pipeline初始化
soonet_pipeline = pipeline(Tasks.video_temporal_grounding,
model='damo/multi-modal_soonet_video-temporal-grounding')
# 输入文本query
input_text = "a man takes food out of the refrigerator."
# 输入视频地址
input_video = "soonet_video_temporal_grounding_test_video.mp4"
# 运行pipeline获得结果
result = soonet_pipeline((input_text, input_video))
print(f'soonet output: {result}.')
print('finished!')
SOONet在MAD测试集上的准确率及推理耗时对比如下,详细的实验结果请参考我们的论文
Method | R1@0.1 | R5@0.1 | R50@0.1 | R1@0.3 | R5@0.3 | R50@0.3 | R1@0.5 | R5@0.5 | R50@0.5 |
---|---|---|---|---|---|---|---|---|---|
VLG-Net | 3.64 | 11.66 | 39.78 | 2.76 | 9.31 | 34.27 | 1.65 | 5.99 | 24.93 |
CLIP | 6.57 | 15.05 | 37.92 | 3.13 | 9.85 | 28.71 | 1.39 | 5.44 | 18.80 |
CONE | 8.90 | 20.51 | 43.36 | 6.87 | 16.11 | 34.73 | 4.10 | 9.59 | 20.56 |
SOONet | 11.26 | 23.21 | 50.32 | 9.00 | 19.64 | 44.78 | 5.32 | 13.14 | 32.59 |
Method | Params | FLOPs | GPU Mem. | Execution Time |
---|---|---|---|---|
CLIP | 0 | 0.2G | 2.9G | 7387.8s |
VLG-Net | 5,330,435 | 1757.3G | 20.0G | 29556.0s |
SOONet | 22,970,947 | 70.2G | 2.4G | 505.0s |
SOONet在MAD数据集上的一些推理结果展示如下,更多的可视化结果请参考我们的论文
如果该模型对您有所帮助,请引用我们的论文:
@article{pan2023scanning,
title={Scanning Only Once: An End-to-end Framework for Fast Temporal Grounding in Long Videos},
author={Pan, Yulin and He, Xiangteng and Gong, Biao and Lv, Yiliang and Shen, Yujun and Peng, Yuxin and Zhao, Deli},
journal={arXiv preprint arXiv:2303.08345},
year={2023}
}