ITADN
ruohaoguo/ovavss
ruohaoguo/ovavss · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

开放词汇视听语义分割(ACM MM 24 口头报告)

Ruohao Guo, Liao Qu, Dantong Niu, Yanyu Qi, Wenzhen Yue, Ji Shi, Bowei Xing, Xianghua Ying*

PDF | CODE | Cite

新闻

2024年7月25日: 我们的论文被 ACM MM 2024 接收为 Oral

引言


视听语义分割(AVSS)旨在利用声学线索对视频中的发声物体进行分割和分类。然而,大多数方法基于封闭集假设,仅识别训练数据中预定义的类别,缺乏在实际应用中检测新类别的泛化能力。在本文中,我们引入了一项新任务:开放词汇视听语义分割,将 AVSS 任务扩展到标注标签空间之外的开放世界场景。这是一项更具挑战性的任务,要求识别所有类别,包括那些在训练期间从未见过或听过的类别。此外,我们提出了首个开放词汇 AVSS 框架 OV-AVSS,它主要由两部分组成:1) 一个通用声源定位模块,用于执行视听融合并定位所有潜在的发声物体;2) 一个开放词汇分类模块,借助大规模预训练视觉-语言模型的先验知识来预测类别。为了正确评估开放词汇 AVSS,我们基于 AVSBench-semantic 基准划分了零样本训练和测试子集,即 AVSBench-OV。大量实验表明,我们的模型在所有类别上具有强大的分割和零样本泛化能力。在 AVSBench-OV 数据集上,OV-AVSS 在基础类别上实现了 55.43% 的 mIoU,在新类别上实现了 29.14% 的 mIoU,比最先进的零样本方法高出 41.88%/20.61%,比开放词abulary 方法提升 10.2%/11.6%。


安装

示例 1

conda create -n ov_avss python==3.8 -y
conda activate ov_avss

git clone https://github.com/ruohaoguo/ovavss
cd ovavss

pip install torch torchvision
git clone https://github.com/facebookresearch/detectron2.git
python -m pip install -e detectron2

pip install -r requirements.txt

pip install git+https://github.com/openai/CLIP.git
pip install -e third_parties/mask_adapted_clip 

cd ov_avss/modeling/pixel_decoder/ops
bash make.sh

pip install git+https://github.com/sennnnn/TrackEval.git

示例 2

conda create -n ov_avss python==3.8 -y
conda activate ov_avss

git clone https://github.com/ruohaoguo/ovavss
cd ovavss

conda install pytorch==1.9.0 torchvision==0.10.0 cudatoolkit=11.1 -c pytorch -c nvidia
pip install -U opencv-python
git clone https://github.com/facebookresearch/detectron2
cd detectron2
pip install -e .

cd ..
pip install -r requirements.txt
pip install git+https://github.com/openai/CLIP.git
pip install -e third_parties/mask_adapted_clip

cd ov_avss/modeling/pixel_decoder/ops
bash make.sh

pip install git+https://github.com/sennnnn/TrackEval.git

设置

  1. 下载预训练权重 (model_final_3c8ec9.pkl, [facebook]) 并将其放置在 ./pre_models
  2. 下载预训练权重 (model_final_83d103.pkl, [facebook]) 并将其放置在 ./pre_models
  3. 下载预训练权重 (vggish-10086976.pth, [baidu(code: 1234) | OneDrive]) 并将其放置在 ./pre_models
  4. 下载并解压数据集 [baidu(code: 1234) | OneDrive] 并将其放置在 ./datasets

训练

  • 对于 ResNet-50 骨干网络:运行以下命令

    python train_net.py \
        --config-file configs/avsbench/OV_AVSS_R50.yaml \
        --num-gpus 1
    
  • 对于 Swin-base 骨干网络:运行以下命令

    python train_net.py \
        --config-file configs/avsbench/swin/OV_AVSS_SwinB.yaml \
        --num-gpus 1
    

推理与评估

  • 对于 ResNet-50 骨干网络:运行以下命令

  • 下载训练好的模型 (model_ov_avss_r50.pth, [baidu(code: 1234) | OneDrive]) 并将其放置在 ./pre_models

    cd demo_video
    python test_net_video_avsbench_r50.py
    
  • 对于 Swin-base 骨干网络:运行以下命令

  • 下载训练好的模型(model_ov_avss_swinb.pth, [baidu(code: 1234) | OneDrive]) 并将其放置在 ./pre_models

    cd demo_video
    python test_net_video_avsbench_swinb.py
    
  • Note: 在 Example 1Example 2 上测试的结果存在轻微的性能差异。

FAQ

如果您想改进可用性或有任何建议,请随时直接联系(ruohguo@foxmail.com)。

Citation

如果该项目有助于您的研究,请在您的出版物中考虑引用我们的论文。BibTeX 引用如下。

@article{guo2024open,
  title={Open-Vocabulary Audio-Visual Semantic Segmentation},
  author={Guo, Ruohao and Qu, Liao and Niu, Dantong and Qi, Yanyu and Yue, Wenzhen and Shi, Ji and Xing, Bowei and Ying, Xianghua},
  journal={arXiv preprint arXiv:2407.21721},
  year={2024}
}

致谢

本仓库基于 OpenVISMask2Formerdetectron2。感谢他们的出色工作。