Video Summary实操记录

主要记录上一阶段有关video summary工作的一些理解和想法
一、《Deep Reinforcement Learning for Unsupervised Video Summarization with Diversity-Representativeness Reward》

众所周知视频标注成本极高,一旦涉及主观评分则需要多个标注人员(多为10人以上)对每一个标注样本进行标注。而视频类别本身又极其丰富,难以在涵盖所有视频类别的情况下进行大量标注。因此本文的无监督+强化学习方法很好的解决了数据成本问题。

Baseline如下图所示。总体上通过去掉了最后输出层的CNN对视频的每一帧进行特征提取,之后将全部输出特征合并送入一个双向LSTM获得对每一帧的选取结果,之后根据当前的Summary结果计算奖励函数(代表性奖励+多样性奖励)。

baseline

就具体代码而言,模型的Summary过程可以具体表述为:

1、顺序读取视频中的每一帧,将每一帧送入CNN(Resnet152等均可)提取特征。这一过程中维护两个array,一个是所有视频帧的特征video_feat,另一个是根据指定间隔(默认15帧)的特征video_feat_for_train

2、根据video_feat、总帧数、fps进行镜头切换检测,获得镜头切分帧和每一段视频segment长度

3、将video_feat_for_train输入RNN网络,对其中的每一帧获得一个【0,1】内的值,训练时依据这个值进行伯努利算法,决定是否选择这一帧,进而进行奖励函数的计算,而Summary时则代表了这一帧的得分(相对重要程度),并将此得分复制给临近区间(默认15帧)内的所有帧。之后按照视频切分segment,对每个segment内的帧得分计算平均值,从而获得每个segment的得分。

4、将问题转换为了0/1背包问题,在限定了最终总长度的基础上,尽可能选取总得分最高的segment们组成Summary。

其他细节:

1、奖励函数

1)多样性函数:就是在计算任意两帧之间的相似性,越不相似则说明多样性更高。值得注意的是,对于相似性高但间隔距离很远的两帧,不能简单认为他们是相似的,这样忽略了时间上的关系。因此指定了一个间隔阈值λ,对于大于此阈值的两帧则d(xt, xt‘ ) = 1。
在这里插入图片描述
在这里插入图片描述

2)代表性函数:旨在希望模型可以选择足够代表视频主体的帧。因此首先对所有帧进行k-medoids problem聚类,簇类中心则是理论上最佳选取对象,通过计算选取帧与中心的距离来衡量选取效果。
在这里插入图片描述

在实际操作中,视频中经常会包含表情包、转场镜头等不重要的快速过度画面,但因为多样性奖励函数的存在会使得模型倾向于选择这样的画面,实际上与视频主体无关。
解决方案:一方面需要提升视频场景边界帧检测准确度,进而过滤间隔过短的视频片段(视为不重要帧);或者建立常见表情包特征库,对相应的特征做相似判断实现过滤。

开源代码易用性强,可以根据具体场景做更多的复加功能和操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值