system: [SYSTEM]

user: 3. 方法论 3.1. 整体网络模型架构 在这一节中，我们提出了两个模块(通道级运动特征编码模块和长距离时序运动特征建模模块)来提取视频运动特征，其中，通道级运动特征编码模块提取视频段相邻帧间短时运动特征，长依赖时序运动建模模块(LDTM)提取长距离时序运动特征。 如图1，展示了我们的整体网络模型结构图。我们选用ResNet50作为卷积网络，并用CME Block替换ResNet50中每一个卷积层的Block，用以提取相邻帧间的运动特征；此外，我们在Conv Layer2、Conv Layer3及Conv Layer4后引出一个并行分支接入长依赖时序运动建模模块(LDTM)，并与每一个卷积层的输出进行融合，作为后续卷积或者全连接网络的输入。在接下来的小节中，我们将详细介绍我们提出的通道级运动特征编码模块(CME)以及长依赖时序运动建模模块(LDTM)。 图1. 整体网络模型结构图 3.2. 通道级运动特征编码模块(CME) 在之前的大量工作中，通常是通过提取光流特征来作为运动特征进行行为识别，但是计算光流特征需要巨大的计算资源和存储资源，效率比较低。因此，我们借鉴了帧差法检测运动目标的思想，提出了一个通道级运动特征编码模块CME (Channel-wise Motion Encoding)来提取运动特征并激励运动信道，以取代光流特征。 如图2所示，在CME模块中，我们首先将输入的视频帧经过一个1 × 1的2D空间卷积降低特征通道维度，假设放缩因子为r，输入维度为[N， T， C， H， W]，经过卷积后得到输出维度为[N， T， C/r， H， W]的特征图。将得到的特征图沿时间维度T拆分成单独的每一帧，然后将相邻帧进行差分，用后一帧图像特征 X t + 1 减去前一帧 X t 。由于视频中前景目标的运动，导致两帧之间目标位置发生变化，直接作差可能会导致特征混乱。因此，为了消除特征混淆，我们先对后一帧用3x3的2D卷积进行空间特征变换，然后再用得到的变换特征与前一帧做差，从而得到相邻两帧之间的运动表征。我们假设第t帧到第t+1帧的运动特征为 M t ，那么： 图2. 通道级运动特征编码模块(CME)结构图 M t = C o n v 3 × 3 ( X t + 1 ) − X t ， M t ∈ R N × C / r × H × W (1) 其中， X t 表示第t帧图像特征， X t + 1 为第t + 1帧图像特征， C o n v 3 × 3 ( · ) 表示3 × 3的2D空间卷积。将得到的相邻帧间运动特征拼接，得到输入视频的运动特征表示为M，即： M = C o n c a t ( M 1 ， M 2 ， ⋯ ， M T ) ， M ∈ R N × T × C / r × H × W (2) 由于输入特征X经过了卷积通道降维，因此得到的视频运动特征M的维度为[N， T， C/r， H， W]。我们将得到的视频运动特征M输入两个并行分支，运动编码分支与运动信道激励分支。在运动编码分支，我们设计一个1 × 1的2D卷积对运动特征M进行编码，并将通道维度从C/r恢复到C，确保特征信息不会损失，同时也便于与输入特征融合。假设运动编码后得到的特征为 M e n c o d e ，则有： M e n c o d e = C o n v 1 × 1 ( M ) ， M e n c o d e ∈ R N × T × C × H × W (3) 其中， C o n v 1 × 1 ( · ) 表示1 × 1的2D卷积操作。运动编码分支得到编码后的相邻帧之间的运动特征，但是特征通道包含了前景目标的运动特征以及背景特征。因此，我们采用注意力机制，对拼接后得到运动特征学习其通道的注意力权重，对于运动特征通道进行激励，对背景特征通道进行抑制。具体地，考虑到通道特征权重与空间位置无关，我们先将运动特征进行空间上的全局平均池化，得到空间无关的运动特征，记为 M p o o l i n g ，即： M p o o l i n g = P o o l i n g ( M ) ， M p o o l i n g ∈ R N × T × C / r × 1 × 1 (4) 其中 P o o l i n g ( · ) 表示空间池化操作，得到的 M p o o l i n g 维度为[N， T， C/r， W， H]。接下来，将 M p o o l i n g 经过卷积升维，并输入到sigmoid激活函数，得到注意力权重矩阵记为A，即： A = s i g m o i d ( C o n v 1 × 1 ( M p o o l i n g ) ) ， A ∈ R N × T × C × 1 × 1 (5) 其中 s i g m o i d ( · ) 表示sigmoid激活函数， C o n v 1 × 1 ( · ) 同上，表示1 × 1的2D卷积操作。将得到的通道注意力权重A与运动编码特征 M e n c o d e 相乘，激励其中的运动特征通道，同时加入残差连接，保持原有输入特征不丢失，即： Y = X + A ⋅ M e n c o d e ， Y ∈ R N × T × C × H × W (6) 其中，X为输入特征，Y为模块的最终输出特征。显然，X与Y具有相同的维度，即CME模块并不改变输入特征的输出维度，这允许我们可以将该模块嵌入模型的任何位置进行端对端的学习，在我们的实验中，我们将其嵌入ResNet50网络，并用以替换每一个卷积层Block。 3.3. 长依赖时序运动建模(LDTM) 运动特征编码模块(CME)可以提取相邻帧之间的运动特征，激励运动特征通道，但对于时长较长的视频段时序运动特征提取存在局限性。因此，我们提出一个长依赖时序运动建模模块(Long-Dependency Temporal Motion)，如图3所示。 图3. 长依赖时序运动建模(LDTM)模块结构图 首先，我们对输入的视频帧序列通过一个1 × 1的2D卷积对通道进行降维，缩放因子取r = 16，然后将得到的特征经过维度变形转换后，输入一个双向LSTM网络(Bi-LSTM)。假设输入的视频帧序列为 x ∈ R N × T × C × H × W ，经1 × 1卷积后特征维度变为 N × T × C / 16 × H × W ，然后通过Reshape操作将特征维度转换成 N H W × T × C / 16 。我们将若将 N H W 看作一个新的Batchsize，则等价于将每一帧特征向量 x t ∈ R 1 × C / r 输入双向LSTM网络。在图3所示的结构图中，我们详细展示了双向LSTM模块的结构。具体地，我们将每一帧 x t ∈ R 1 × C / r 输入到一个前向LSTM网络和一个反向LSTM网络，将两者的输出特征进行融合得到每一帧的隐藏层输出为 y t ∈ R 1 × C / r 。显然，双向LSTM网络并不改变输入特征的输出维度。因此，我们将得到的双向LSTM输出特征进行逆操作(Reshape和1 × 1卷积)后，并可将特征维度恢复与输入特征保持一致。我们将LDTM模块的操作流程表达如下： y = C o n v 1 × 1 ( R s h ( B i L S T M ( R s h ( C o n v 1 × 1 ( x ) ) ) ) ) ， y ∈ R N × T × C × H × W (7) 其中， C o n v 1 × 1 ( · ) 表示1x1的空间卷积， R s h ( · ) 表示Reshape操作， B i L S T M ( · ) 表示双向LSTM的输出，x与y分别代表输入及输出特征。