乐趣区

关于深度学习:视频目标检测TemporallyAwareFeatureMaps

视频指标检测

卷积神经网络在指标检测中施展出重要作用 [1,2,3,4,5]
近期,新的网络结构 [6,7] 使得指标检测算法能够运行在计算力更低的硬件平台,并且性能足够媲美先进单幅图像指标检测算法。
而后,视频给指标检测带来了额定的时空线索,如何利用这一线索设计更好的视频指标检测框架称为目前的次要挑战。

那么能够利用的时空线索有哪些:

  1. 因为视频的工夫连续性,相邻帧中的指标在地位上具备相似性,且不会产生实质性变动。
  2. 多帧之间能够反映指标的不同姿势,有利于精确定位指标。
  3. 工夫线可能晋升指标检测的置信度,减少检测稳定性[8]

<!– –>

Bottleneck-LSTM 一种疾速 LSTM

长短期记忆网络(LSTM)[9]是一种宽泛应用的时序数据处理网络,构造如下图所示,其中 $\odot$ 是 Hadamard Product,也就是操作矩阵中对应的元素相乘,因而要求两个相乘矩阵是同型的,$\oplus$ 代表矩阵加法。

Convolutional LSTM 是 LSTM 的一个非凡变种,应用 3D 隐层状态,并将门(Gate)计算替换为卷积层(Convolutional Layer),如此使得 LSTM 可能同时编码时空信息。

间接将 Convolutional LSTM 嵌入到指标检测网络会大幅减少计算量 ,解决这一问题的形式就是应用 Bottleneck-LSTM,Bottleneck-LSTM 应用 深度可拆散卷积(Depthwise Separable Convolutions)以及非凡设计的 Bottleneck 门。

咱们将图像思考为间断图像帧的序列 $V=\{I_0,I_1,…,I_n\}$。
视频检测的目标是失去每一帧的检测后果 $\{D_0,D_1,…,D_n\}$,其中 $D_k$ 是 $I_k$ 帧中一系列的预测指标外包矩形框和预测类别。
在线 视频指标检测认为 $D_k$ 仅能从 $I_k$ 帧与之前的图像帧中进行计算。

预测模型能够看作这样一个函数 $F(I_t,s_{t-1})=(D_t,s_t)$,其中 $s_k=\{s_k^0,s_k^1,…,s_k^{m-1}\}$ 是形容 $k$ 帧与之前的特色图向量。
$m$ 层 LSTM 的神经网络用来迫近这一函数,$s_{t-1}$ 的每个特色图作为 LSTM 的状态输出,LSTM 的输入状态为 $s_t$ 的特色图。

LSTM 对特色的细化

令单幅图像指标检测器为函数 $D_t=G(I_t)$。在 LSTM 视频检测器中,$m$ 个 LSTM 将 $G$ 划分为 $m+1$ 个子网络 ${g_0,g_1,…,g_m}$,并满足:

$G(I_t)=(g_m \circ \cdots \circ g_1 \circ g_0)(I_t)$

将每一个 LSTM 层 $L_0,L1,…,L_{m-1}$ 定义为函数 $L_k(M,s_{t-1}^k)=(M_+,s_t^k)$,其中 $M$ 和 $M+$ 为雷同维度的特色图。则计算过程如下

下图给出了这一计算过程的可视化:

将 LSTM 单元嵌入到检测网络中的哪些层须要认真探讨,如果嵌入到晚期的一些特色层上,会面临很大计算压力。试验局部也给出了证实,嵌入到 SSD 网络的 Conv 13 之后是一个较好的抉择。SSD 网络结构如下表所示:

然而咱们还须要思考如下的嵌入形式:

  1. 在 Conv 13 之后嵌入单个 LSTM
  2. 在 Conv 13 之后嵌入重叠的多个 LSTM
  3. 在每个特色图后嵌入 1 个 LSTM

先来解答这个问题吧。

  • 单层 LSTM 放在哪成果最好?下表展现这一问题的试验后果,将单个 LSTM 放在模型的不同层,能够看出单层 LSTM 嵌入到 Conv 13 层是成果最好的。

  • 多层 LSTM 如何搁置成果最好?因为同时训练多个 LSTM 十分艰难,在逐渐增加层的同时,对之前的训练权重进行微调。

因为高层特色的维度更低,减少的计算量并不多。重叠 2 层 LSTM 并没有取得好的收益。
Conv 13,FM1,FM2,FM3 之后嵌入 LSTM 单元是一个不错的抉择。

扩大宽度乘数

LSTM 计算复杂度高,因为须要计算一系列门。对此,首先想到通道(Channel)降维,给通道一个乘数因子 $\alpha$[6]
定义 3 个乘数 $\alpha_{base},\alpha_{ssd},\alpha_{lstm}$ 别离管制网络的不同局部。

对于任何 MobileNet 的输入通道 $N$,使其输入为 $N\times \alpha_{base}$。
$\alpha_{ssd}$ 管制所有 SSD 特色图的通道数,$\alpha_{lstm}$ 管制 LSTM 层的特色数。
在试验局部,令 $\alpha_{base}=\alpha$,$\alpha_{ssd}=0.5\alpha$,$\alpha_{lstm}=0.25\alpha$。

Bottleneck-LSTM 详解

令 $M$ 和 $N$ 别离代表 LSTM 的输出与输入通道数。因为 Convolutional LSTM 的具体实现有不同版本[10,11],定义规范 Convolutional LSTM 如下:

$x_t$ 和 $h_{t-1}$ 是 3D 特色图,并将它们按通道连贯。$h_t$ 和 $c_t$ 为输入特色图。
$^jW^k\star X$ 示意输出为 $X$,参数为 $W$ 的深度可拆散卷积(Depthwise Separable Convolution),输出通道数为 $j$,输入通道数为 $k$,$\phi(x)=ReLU(x)$ 为激活函数,$\circ$ 示意逐元素乘(Hadamard product)。

留神:应用深度可拆散卷积可能无效缩小 8 - 9 倍计算量,ReLU 尽管不罕用于 LSTM,咱们发现不扭转映射的边界很重要,因为这里的 LSTM 是夹在卷积层两头的。

此外,这里的 LSTM 输入通道数小于输出通道数,咱们批改如下公式以压缩特色通道数:

$b_t=\phi(^{(M+N)}W_b^N\star [x_t,h_{t-1}])$

如此 $b_t$ 替换了所有其余门的输出,如下图所示,这被称为 Bottleneck-LSTM。无效升高计算量,理论体现成果更好。

令输出特色图空间分辨率为 $D_F\times D_F$,深度可拆散卷积核大小为 $D_K\times D_K$,咱们比照一下规范 Convolutional LSTM 与 Bottleneck-LSTM 的计算量:

  • Convolutional LSTM(GRU 是其计算量的 3 /4)

$4(D_K^2\cdot (M+N)\cdot D_F^2+(M+N)\cdot N\cdot D_F^2)$

  • Bottleneck-LSTM

$D_K^2\cdot (M+N)\cdot D_F^2+(M+N)\cdot N\cdot D_F^2+4(D_K^2\cdot N\cdot D_F^2+N^2\cdot D_F^2)$

设 $D_K=3$,令 $k=\frac{M}{N}$。$k>\frac{1}{3}$ 时,Bottleneck-LSTM 就能够超过 Convolutional LSTM,$k=4$ 时,Bottleneck-LSTM 成为不二之选。

算法实现细节

训练与评估的数据集是 ImageNet VID 2015。LSTM 按时序开展 10 步,即 10 帧图像参加 LSTM 时序建模。
训练两种乘数模型,别离是 $\alpha=1$ 和 $\alpha=0.5$。
$\alpha=1$ 时,输出图像分辨率为 $320\times 320$,学习率为 0.003;$\alpha=0.5$ 时,输出图像分辨率为 $256\times 256$,学习率为 0.002。

艰难负样本开掘与数据加强策略参考文献[4]。10 个负样本对应 1 个正样本,且负样本损失乘以 0.3。

为了应答过拟合,训练网络时采纳两个阶段步骤。
首先,不嵌入 LSTM 网络,微调 SSD 网络。而后解冻骨干网络参数,直到 Conv 13 层,且包含 Conv 13 层,接着,嵌入 LSTM 网络,实现之后的训练过程。

最初,给出一张与单幅图像指标检测器的比照后果,提高还是比拟可观,当然,也并没有质的飞跃 ==。

参考

[1] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014. 1, 2

[2] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV, 2014. 1

[3] J. Dai, Y. Li, K. He, and J. Sun. R-fcn: Object detection via region-based fully convolutional networks. In NIPS, 2016. 1, 2

[4] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C. Berg. Ssd: Single shot multibox detector. In ECCV, 2016. 1, 2, 5

[5] S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In NIPS, 2015. 1, 2

[6] A. Howard, M. Zhu, B. Chen, D. Kalenichenko, W. Wang, T. Weyand, M. Andreetto, and H. Adam. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861, 2017. 1, 3, 4

[7] X. Zhang, X. Zhou, M. Lin, and J. Sun. Shufflenet: An extremely efficient convolutional neural network for mobile devices. arXiv preprint arXiv:1707.01083, 2017. 1, 3

[8] C. Szegedy, W. Zaremba, I. Sutskever, J. Bruna, D. Erhan, I. Goodfellow, and R. Fergus. Intriguing properties of neural networks. arXiv preprint arXiv:1312.6199, 2013. 1

[9] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural Computation, 9(8):1735–1780, 1997. 3

[10] V. Patraucean, A. Handa, and R. Cipolla. Spatio-temporal video autoencoder with differentiable memory. arXiv preprint arXiv:1511.06309, 2015. 3, 4

[11] X. Shi, Z. Chen, H. Wang, D. Yeung, W. Wong, and W. Woo. Convolutional lstm network: A machine learning approach for precipitation nowcasting. In NIPS, 2015. 3, 4

退出移动版