干货 | TOP5团队竞赛方案:没有机器学习相关训练算法的方案

方案简介

本文为北航团队在参加CCF BDCI-视频版权检测算法比赛中的方案分享,整个算法流程主要的特点是,没有利用任何机器学习相关的训练算法进行训练,涉及深度学习的部分只有利用深度模型提取特征,模型效果是纯粹靠手工设计算法达到的。而由于他们算法的运行环境只有500G硬盘和一块1080Ti,所以整个算法主要聚焦于如何利用已有的资源提升算法运行的效率,而在精度效果上确实差强人意。

算法流程具体主要分为三个部分:视频解帧、特征提取、以及检索比对算法设计。如下文中:

视频解帧方面,主要介绍北航团队针对比赛数据设计的视频帧采样方案,也包含了部分观察比赛数据特点方面的探索。

特征提取方面,将简单介绍北航团队针对视频中部分噪音的针对性图像处理方案,以及为了节约计算成本和计算资源而采用的特征提取方案。

图一

检索比对工作在得到每段视频的所有帧特征之后开始进行。检索比对工作主要分为三个部分,对于每段查询视频:首先,确认其涉嫌抄袭的refer集;其次,需确认其抄袭的片段在查询视频中的起始点;最后,确认抄袭片段在检索视频中的起始点。具体流程如下:

图二

图三


方案分享

1 视频解帧

在对视频进行解帧之前,首先要对数据进行简单的数据探索,观察检索集查询集中各视频的侵权片段时长信息,如图四。

图四:查询集侵权长度分布

图四的X轴的单位是微秒,从图中可以看出,侵权片段长度在几秒到120秒不等。同时,北航团队发现了一个很有趣的现象,查询集上的侵权长度与检索集上的侵权长度往往不一致。而针对这样的长度差异,他们随后又对查询集检索集各自的特点进行了分析。根据分析结果,查询集和检索集中的视频各自的FPS是完全不一致的,检索集中大部分视频的FPS是25,只有一个视频的FPS是24。而查询集中的视频差异则较大,部分视频的FPS是15,还有部分视频的FPS则只有10。所以在解帧算法上,针对不同视频在FPS上的差异,同时也为了节省存储视频各帧所需的硬盘存储空间,北航团队采取的帧采样方案是:在两个数据集的不同视频数据上,统一采用每隔200ms采样一次的方案,即FPS为25的视频每隔5帧采样一次,FPS为15的视频每隔3帧采样一次,FPS为10的视频每隔两帧采样一次。

通过这种方法,北航团队弥补了检索集和查询集中的视频在FPS上的差异。同时也通过间隔采样,弥补了他们在硬件设施上的严重不足。高采样率可能能够保证更高的分数,可惜他们当时没有足够的硬件条件进行尝试。

2 特征提取

在对检索集和查询集全部解帧完毕之后,在特征提取方面,北航团队统一使用经过ImageNET预训练的ResNet-18模型进行图像各帧的特征提取。由于主办方通过裁剪视频图像加入黑边的方式来增大数据噪声,所以他们在对帧图像进行特征提取之前统一使用裁去黑边的方式以应对这种情况,具体过程如前文图一所示。

在进行完去黑边操作之后,为了节省提取特征所需要的计算资源和计算时间,北航团队将所有帧图像大小统一调整为224*224,而后使用ResNet-18网络进行特征提取。此处,他们后来反思,可能是限制模型性能的主要原因。首先,将图像统一调整为224*224大小使原图像损失了很多信息;其次,未经过特殊训练的ResNet-18并不能很好地为各帧图像提取具有高区分度的特征。

所以如果要进一步地提高算法的准确度,还是要针对性地调整图像到适合的大小,并选取部分有代表性的噪音图像对网络模型进行调优,换用更深的网络模型,以保证提取出来的帧特征对噪音更为鲁棒,更具有区分性。

3 检索比对算法设计

得到每段视频的所有帧特征之后,北航团队便可以开始检索比对工作。检索比对工作主要分为三个部分:首先是确认每段查询视频涉嫌抄袭的refer集,其次是确认其抄袭的片段在查询视频中的起始点,最后是确认抄袭片段在检索视频中的起始点。在后文中,将根据这三个部分依次阐述。

3.1 确认抄袭视频

设一段查询视频的帧数为m。则此时经过深度学习模型提取帧特征,可以得到大小为m*512的视频帧向量,北航团队假设此向量为Q_v。同理,对于每个帧长度为n的检索视频,也可以得到大小为n*512的帧向量R_v。

首先,对各帧向量进行归一化操作,得到归一化的向量之后,可以通过利用归一化后查询向量与检索向量的转置做一个矩阵乘法。此时,可以得到查询视频中的每帧与检索视频中的每帧的余弦相似度。随后对查询视频中的每帧,选取当前检索视频中与之最相似的帧,作为此帧的最相似帧。此时,对于查询视频中的m帧,每帧都可以获得一个最相似帧,则可以得到大小为m的相似度向量V_similar和大小为m的由查询视频中各帧的最相似帧组成的相似帧向量V_similarframes,向量中的每个点代表查询视频的某一帧与当前检索视频中最相似帧的相似度大小。而对于所有N个检索视频,对于当前查询视频,可以得到N个大小为m的相似度向量V_similar。此时,比较这N个相似度向量的均值大小,选择与当前查询视频有均值最大的相似度向量的检索视频作为当前查询视频抄袭的视频。

3.2 确认其抄袭片段在查询视频中的起始点

在得到查询视频相对于检索视频的相似度向量之后,可以利用此相似度向量进行查询视频中抄袭片段起始点的确认。过程如下:

首先,找到相似度向量中的最大值max,随后设置阈值threshold = max - 0.1。然后,从头开始,在大小为m的相似度向量中逐点查找。直到找到一个点,其之后的K帧的相似度均大于threshold,其中K:

K = max(int((V_similar > line).sum() * 0.04),1)

则,此帧即为查询视频中的抄袭片段的开始点。

同理,可以从相似度向量的末端向前查找,直到找到一个点,其之前的K帧的相似度均大于threshold,则此点即为抄袭片段在查询视频中的结束点。

3.3 确认其抄袭的片段在检索视频中的起始点

由于在3.1中得到大小为m,由查询视频中各帧在检索视频中的最相似帧组成的相似帧向量V_similarframes,同时又在3.2中得到了查询视频中抄袭片段的起始点。因此,可以利用这两点信息,确认抄袭视频在检索视频中的起始点位置。具体过程如下:

首先,利用抄袭视频起始点位置,找到此起始帧在检索视频中对应的最相似帧在检索视频中的位置。而在此起始帧之后,又可以利用其后的帧对应的检索视频中最相似帧的位置,减去此帧与起始帧之间的差距,得到另一个起始帧在检索视频中对应的最相似帧在检索视频中的位置。假如利用了起始帧之后Y帧,就可以得到Y+1个起始帧在检索视频中对应的最相似帧在检索视频中的位置。此时,将此Y+1个结果中的绝对异常值剔除,随后求均值,便可以得到抄袭视频在检索视频中的起始点。

对于抄袭视频在检索视频中的结束点,则与起始点同理。

困难与挑战

这次比赛对于北航团队来说最大的问题是实验机器上的缺失,他们只有一张1080Ti作为实验机器,而要处理的是几百G的视频数据。

针对这个问题,北航团队采用的方案是:

(1)降低视频帧采样率,用算法来弥补机器上的不足;

(2)不用训练过程,通过手捏模型进行全方面的数据处理和结果产出,减少机器性能的弱势带来的劣势;

赛后,北航团队总结到:要想胜利,第一要算法,第二要硬件,第三则更多是在这个领域的积累。第一第二名都是专注于进行视频版权检测的公司,技术积累远超过普通学生,他们有信心像他们学习,继续加倍努力。

总结本次参赛的感悟,北航团队团队认为:第一,不要只关注A榜的成绩,更要相信本地验证集;第二,理性的接纳每一次变故,等待机会,把握机会;第三,保持向比自己优秀的人学习的心态,不仅是技术和习惯,更是他们乐于分享的精神。


收获与期许

选择参加视频版权检测算法比赛的主要原因,是队长在硕士期间的主要研究方向也是面向视频的计算机视觉研究的,很幸运、也很荣幸地能有机会参加到最后的决赛之中,来向各位前辈和高手请教相关的比赛和算法设计的经验。我们的这次比赛最大的收获是认识了这个领域的专家们,在视频版权检测领域结识了来自恒扬数据和博云视觉这种专业的视频版权检测团队有机会与他们比赛和交流。这对我们团队不仅是技术上的成长,更是阅历上的积累,对我们每个人的提升是全方位的。

我们还会继续参加2020年的比赛,下次争取向第一名发起冲击!

感谢实验室为我们提供了可以运行深度学习的模型、可以进行一定的算法设计尝试的计算机器以及实验环境。感谢各位队员的努力奋斗。感谢爱奇艺主办方及时有效的答疑解惑,感谢赛事举办方为我们提供这么好的竞技环境。最后,感谢在比赛过程中不断分享自己的想法和方案的水哥和其他所有热衷于开源奉献的同学们。

 

团队简介

北航团队来自于北京航空航天大学计算机学院,团队成员全部是北航智能识别与图像处理实验室的硕士研究生。实验室主要的研究方向是面向安防场景的计算机视觉,涉及视频分析的研究和项目比较多。团队成员硕士期间的主要研究方向包括,基于视频的行人属性分析和医疗图像的研究等。

团队成员包括:

陈志远:队长,北京航空航天大学,计算机科学与技术&研三,负责主要代码的编写和模型的优化

蒋诗璐:队员,北京航空航天大学,计算机科学与技术&研二,负责前期数据的EDA和文档的搜集整理与编写

余帆:队员,北京航空航天大学,计算机科学与技术&研二,负责前期数据的EDA和文档的搜集整理与编写

也许你还想看

干货分享 | TOP2团队参赛经验:最大收获来自队员支持和鼓励

干货分享 | TOP1团队参赛经验:全面了解研究方向助力获胜

扫一扫下方二维码,更多精彩内容陪伴你!


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值