数天未见,进步如何?距第一篇笔记发布已过多日,在笔记中立下的flag推动下再次打开CSDN创作中心来记录学习进展。
首先让我来对竞赛项目和datawhale提供的baseline做一个简单的梳理:
balseline网址:https://www.kaggle.com/code/littlejian/deepfake-ffdv-baseline
项目要求:判断一段视频(图像+音频)是否为Deepfake图像,输出其为Deepfake图像的概率评分,目标值1分代表是深度伪造的音视频,0分表示真实的人脸音视频~意思大概是要人类选手利用手上的工具与Deepfake进行对抗,世界是一个巨大的生成对抗模型。。。是时候再去回顾《矛盾论》了。。。
项目数据:非常大,建议直接登录kaggle避免本地下载
curl 'http://zoloz-open.oss-cn-hangzhou.aliyuncs.com/waitan2024_deepfake_challenge%2F_%E8%B5%9B%E9%81%932%E5%AF%B9%E5%A4%96%E5%8F%91%E5%B8%83%E6%95%B0%E6%8D%AE%E9%9B%86%2Fphase1.tar.gz?Expires=1727816306&OSSAccessKeyId=LTAI5tAfcZDV5eCa1BBEJL9R&Signature=Saa7nwn904l3UTeLgizBt4AQ840%3D' -o multiFFDV-phase1.tar.gz
数据集简介:在baseline中Input文件夹中可以看到两个数据集,ffdv-sample-dataset和ffdv-sample-dataset-10K,出看两者似乎没有差别,后续在官网看到7.8对数据做了修正,所以我们要用ffdv-sample-dataset-10K文件下的数据。
数据集内容是Deepfake伪造的音视频和真实的人脸音视频,分类标签储存在txt文件中,文件格式是视频文件名,标签。
我先尝试使用自己的大脑——自然选择亿万年后的高级产物,作为分类器去判定视频真假。
在2000个样本里随机抽了10个视频,其中8个正例(这里正例代表fake)中7个判断正确,2个反例中1个判断正确,80%的正确率。fake视频可能具有明显问题比如下图,具有莫名奇妙的方块黑影,其他的问题有僵硬的脸部和嘴唇,和音频内容完全不匹配,还有就是某些音频问题较明显,在某个音节处由女声变为男声。(CSDN不能插入视频,可惜,想让读者也尝试判断一下,感兴趣的同学自行登录datawhale的baseline即可观看数据集)
平心而论,只让我听声音的话,我会觉得大部分音频都是真实的,我判断真伪的依据主要是图像,,尤其是图像和音频是否同步。而初步的深度学习测试结果证明了这一点,仅把音频作为判断依据的深度学习模型在测试集上表现较差,AUC在0.5附近,基本是随便猜能够达到的分数。将音频和图像模型融合是必要的。
然后我们来理解一下baseline做了一项什么工作
简单来说,baseline:
- 提取了每段音视频的 音频
- 将音频转为频谱图
- 将频谱图归一化为256*256的矩阵
- 以频谱矩阵作为输入,标签作为输出目标微调resnet18
- 预测测试集音视频为fake的概率
其略显吃力的原因应该在于音频本身和resnet的预训练数据差异过大
频谱图
归一化后的频谱图:
目前的结论就是单用音频不大可能在deepfake分类任务中有较好表现,结合图像和同时间的音频则有较高的潜力,依据比较主观,来源于我自己在做分类时总结的规律,但听声音,基本判断不出结果(还有语言不通的问题);只看图像,效果要比音频强,因为图像生成的瑕疵更多;结合音频和图像,相信可以区分大部分fake视频。
让我们期待一下后续的进展,多模态模型能否实现遥遥领先呢?拭目以待吧。