最近调研了时序动作识别,相关论文见GitHub链接,最后抽象成如下树状结构:

- effectiveness
    - temporal scale
        - TSN
        - TRN[Relation Networks]
        - SlowFast[FPN]
        - TPN[FPN]
    - separated modeling of space and time
        - spatial feature representation
            - Conv
        - temporal feature representation
            - low level
                - optical flow
                - frame difference
            - high level
                - RNN
                - Conv
                - Non-local
    - correlated modeling of space and time
        - Conv
            - 3D-Conv
                - C3D, I3D[2D-Conv]
                - P3D, R(2+1)D[Separable-Conv]
                - CSN[Separable-Conv]
            - 3D-Conv mixed with 2D-Conv
                - S3D[SENet]
        - Non-local
        - Two-Stream
- efficiency
    - kernel factorization
        - space, time, channel
            - space, time 
                - P3D, R(2+1)D[Separable-Conv]
            - channel
                - CSN[Separable-Conv]
    - 2D-Conv enhancement
        - TSM, TIN[Shift]
        - S3D[SENet]
    - compound scaling
        - X3D[EffientDet]

中括号里的内容是一个简单注释,注明中括号前的时序动作识别方法借鉴的是哪些2D领域的思路。

时序动作识别的数据是视频(3D),比图像数据(2D)多了一个时间维度。

时序动作识别面对的问题跟2D领域的类似,大部分问题沿着2D已有的方法做一个拓展,就有一个不错的方案。

效率

比如时序动作识别也有效率问题。

2D图像里面的一个解决方案是将space-channel进行分解(比如MobileNet),将2D图像拓展到时序动作识别,那就可以将space-time-channel进行分解,对应的方案就是P3D、R(2+1)D、CSN。

2D图像里面另一个解决方案是进行compound scaling(比如EfficientDet),也就是scaling的时候要同时考虑网络输入的空间尺寸、网络宽度、网络深度,这样得到的网络效率会更高,从2D图像拓展到时序动作识别,那就在scaling的时候同时考虑网络输入的空间尺寸、网络输入的时间尺寸、网络宽度、网络深度,对应的方案就是X3D。

效果

比如时序动作识别也有效果问题。

2D图像里面一个比较重要的问题是空间的scale,时序动作识别里存在时间的scale问题。2D图像里面一个对应的方案是FPN,时序动作识别里按照类似的思路得到的方案是SlowFast和TPN。

2D图像中另一个方案是ASPP,我没看到时序动作识别领域内有类似论文,但是Scale Matters: Temporal Scale Aggregation Network for Precise Action Localization in Untrimmed Videos这篇文章里将ASPP应用到时序动作检测中,我想ASPP应用到时序动作识别中应该也会有收益。

做研究的思路

上述的例子阐述了时序动作识别的研究思路不少来自于2D图像领域,只要我们对2D图像领域的根本问题理解足够深,以及对相应的解决方案足够熟,那么我们很容易针对时序动作识别提出新的问题以及解决方案。

其实不仅仅是时序动作识别,几乎所有的领域都可以从其他横向领域中发现相似点,然后获取看待问题的角度和解决思路。比如时序动作检测,非常多论文的思路是迁移自基于图像的目标检测。

刚刚说的是横向看,也可以纵向看,看看历史上,这个领域有哪些挑战以及解决思路,然后将之迁移到现在。比如深度学习时代的FPN,跟传统计算机视觉时代的图像金字塔异曲同工。

横向看、纵向看获取思路,然后多看目标任务的数据,归纳总结该数据分布的特点,结合该特点才能更好地将借鉴的思路迁移到目标任务中。