Lihit / object-that-sound-pytorch

object-that-sound-pytorch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

说明

主要参考代码:https://github.com/rohitrango/objects-that-soundhttps://github.com/hangzhaomit/Sound-of-Pixels

论文:objects-that-soundSound-of-Pixels

数据准备

  • 下载数据,该论文使用的是AudioSet这个数据集,但是这个数据集只提供youtube的video id,需要自己去下载,在./data/目录里我提供了下载 的脚本download_video_audio.py,但是需要梯子(你懂的)。建议先将所有的数据下载,然后再根据自己的需求划分,训练集videoid文件对应是 ./data/data_infos/balanced_train_segments.csv./data/data_infos/unbalanced_train_segments.csv, 二者的区别是类别均不均衡, 其中unbalanced_train_segments.csv包含的数据量比较多,根据自己的需求选择吧。验证集videoid文件对应是 ./data/data_infos/eval_segments.csv。然后更改download_video_audio.py里的文件路径,运行python download_video_audio.py.
  • 根据自己的需求选择数据。./data/select_data_by_genre.py就是根据类别./data/data_infos/genre_select.txt来挑选数据,可以参考这个 脚本写自己的挑选规则。
  • 脚本./data/train_val_split_small.py是对鑫哥给我的100对数据进行划分和处理。

数据格式

data   
│
└───train
│   │       vid2genre.json
│   └───video
│       │   0FaO2iU5q2s.mp4
│       │   0FbD8rmclVE.mp4
│       │   ...
│   └───audio
│       │   0FaO2iU5q2s.wav
│       │   0FbD8rmclVE.wav
│       │   ...
│   
└───val
│   │       vid2genre.json
│   └───video
│       │   0FaO2iU5q2s.mp4
│       │   ...
│   └───audio
│       │   0FaO2iU5q2s.wav
│       │   ...
└───test
│   │      vid2genre.json
│   └───video
│       │   0FaO2iU5q2s.mp4
│       │   ...
│   └───audio
│       │   0FaO2iU5q2s.wav
│       │   ...

每个数据目录下应该包含train, val, test三个文件目录,用于训练,验证和测试。每个子目录,比如train下,都有一个文件vid2genre.json, 里面每个video id对应他的类别,注意在Youtube的video类别是编码之后的,可通过./data/data_infos/class_labels_indices.csv解码。另外还有 audiovideo两个文件夹,分别用于保存视频和音频,注意这两个目录下的每个数据的id都要做到互相对应(correspond).如果要跑自己的数据集的话, 请按照这样的数据格式处理,不然你可能需要在./dataset里自己写dataset和dataloader。

运行环境

  • python3
  • GPU
  • python的一些包:pytorch, numpy, pandas, opencv, scipy等,缺什么再补上。

运行

  • 修改configs/config_AVENet.py里一些配置,比如数据路径等,如果你新建了一个config文件,记得在train_AVENet.py 调用他。
  • 然后运行:python train_AVENet.py

TODO

  • train_VOLNet.py待写
  • 论文里nDCG的评价指标待写,这个得定义每个类别之间的关系,进而定义视频直接的联系。
  • 贴上一些结果图

About

object-that-sound-pytorch


Languages

Language:Python 95.4%Language:Tcl 4.1%Language:PowerShell 0.2%Language:Batchfile 0.2%