美文网首页
阅读《FFNet: Video Fast-Forwarding

阅读《FFNet: Video Fast-Forwarding

作者: winddy_akoky | 来源:发表于2018-08-07 10:57 被阅读0次

    本文的目的

    Selection_013.png

    如上图所示,我们的输入的是一段视频,然后通过我们提出的算法FFNet,
    来跳过一些不重要的帧数,保留一些重要的帧数。

    背景

    对于一些对计算量/通信/存储/能源消耗等有消耗的应用来说,十分有必要去寻找一些
    方法来处理视频,使得我们能从原视频中抽取一些关键的帧数,去掉了一些无关要紧的
    帧数。

    对于这个问题,目前主要有两个大方向:

    1. 从原视频中提取帧数,以“预告片”的形式替代原来的视频
    2. 快进视频。

    相关工作

    本文涉及到的一些领域:

    1. 视频快进
    2. 视频概括
    3. 强化学习

    算法

    把问题提炼成决策链问题

    Selection_013.png

    如上图所示,问题可以简化如下:

    1. 给定一个未处理的原视频, 假设快进可以看作一个时序的处理过程
    2. 在程序每一回合中的每一次迭代里,我们只处理当前帧
    3. 在当前帧下,用程序决定接下来要快进多少帧数
    4. 根据步骤3跳到“下一帧”,回到步骤2

    State 和 Action

    1. State: 状态 s_k 表示当前帧
    2. Action: 动作 a_k 表示在某个状态下,需要快进多少帧数
      A = \{a^1, a_2,...,a^M\}

    Reward 设计

    先假设每一个帧都有对应的标签:l(i). 如果l(i)=1表示第i帧是一个重要的帧,
    那么它就不应该被跳过。如果l(i)=0表示第i帧不是一个重要的帧,那么我们希望它
    会被跳过。

    1. 初步的,reward可以表示如下:
      r_k = -SP_k + HR_k
      它包含两部分:跳过惩罚(SP)和击中奖励(HR)

    SP_k表示在跳过的t_k帧里,重要帧数越多,惩罚越严重,不重要帧数越多,奖励越过,表示如下:
    SP_k = \frac{\sum_{i\in t_k}\textbf{1}(l(i)=1)}{T} - \beta \frac{\sum_{i\in t_k} \textbf{1}(l(i) = 0)}{T}
    其中\beta是跳过重要帧数的惩罚和跳过不重要帧数的奖励两者之间的权衡

    HR_k表示跳到”下一帧“,即下一个状态时,该帧是不是重要帧或是不是在重要帧附近,若是,则HR的奖励就越大,反之则小
    为了把第i帧周围的帧数也考虑进去,我们引入一个高斯分布作为加权系数:
    f_i(t) = \frac{1}{\sqrt{2\pi \sigma^2}} \!exp ( -\frac{(t-i)^2}{2\sigma^2}) \ ,t\in [i-\omega, i+\omega]
    所以,最后HR_k表示如下:
    HR_k = \sum^{z+\omega}_{z - \omega} \textbf{1}(l(i)=1)\cdot f_i(z)

    算法框架

    Selection_001.png
    Selection_002.png
    1. RL算法采用的是简单的Q-Learning, 考虑到state的状态空间过大,所以用网络来估计
      Q function
    2. 算法中exploration部分采用的是decay \epsilon-greedy

    相关文章

      网友评论

          本文标题:阅读《FFNet: Video Fast-Forwarding

          本文链接:https://www.haomeiwen.com/subject/purovftx.html