利用音频做视频分类

    xiaoxiao2021-03-25  116

    视频分类通常是一个多模态任务。

    可以用RGB图片, optical flow光流图片以及audio音频来进行分类。

    这篇博客主要讲一讲用音频来做视频分类的过程。

    主要思路

    目前利用音频的主要方法是将音频转换为对应谱图,然后让卷积网络像看图片一样去“看”音频信号,以此学会音频信号的特征来进行分类。

    几种谱图

    要将音频信号转为图片形式,转换的代码网上有很多,但是要考虑的问题是转换为哪种谱图。

    声谱图(Spectrogram):横坐标是时间,纵坐标是频率值(见下图的上半部分),同一时间的纵线上存在着数个波,重合而成最终的波。颜色越亮则表示波的振幅越大。

    频谱图(Spectrum):某个时间点上(上图中的黄线)的频率分布。横坐标为频率,纵坐标为振幅(见下图的下半部分)。频谱图更有利于直观的观察泛音的成分和强弱。

    在视频分类中,视频是时序信号,需要把时间因素考虑进去,所以采用声谱图。 具体代码,直接借用的github上的项目。

    另外,可以使用FFmpeg来从视频中提取音频。

    archer@Saber:~$ ffmpeg -i apple.mp4 -f mp3 -vn apple.mp3

    参数解释: -i 表示input,即输入文件 -f 表示format,即输出格式 -vn表示vedio not,即输出不包含视频

    具体可参考这篇博客。

    批量提取音频 假设所有视频文件放在test_文件夹内。

    先在test_内运行以下命令,提取所有文件名:

    archer@Saber:~/Desktop/test_$ ls > ../test_.txt

    然后批量提取音频:

    archer@Saber:~/Desktop/test_$ cat ../test_.txt | while read l > do > ffmpeg -i $l -f mp3 -vn ${l}".mp3" > done

    简直爽歪歪~

    网络训练

    对声音信号进行转化后,现在采用网络进行训练。


    转载请注明原文地址: https://ju.6miu.com/read-19973.html

    最新回复(0)