1. 预备知识
细粒度分类
细粒度图像分析任务相对通用图像(general/generic images)任务的区别和难点在于其图像所属类别的粒度更为精细(通用:狗和袋鼠的区分;细粒度:哈士奇与爱斯基摩犬的区分)。而细粒度图像分析任务也主要以细粒度图像分类为主,细粒度物体的差异仅体现在细微之处。如何有效地对前景对象进行检测,并从中 发现重要的局部区域信息,成为了细粒度图像分类算法要解决的关键问题。对细粒度分类模型,可以按照其使用的监督信息的多少,分为“基于强监督信息的分类模型”和“基于弱监督信息的分类模型”两大类。
- 基于强监督信息的分类模型:Part-based R-CNN;Pose Normalized CNN;Mask-CNN
- 基于弱监督信息的分类模型:Two level Attention Model;Constellations;Bilinear CNN
R-CNNs具体步骤
-一张图像生成1k-2k个候选区域
-对每个候选区域使用深度神经网络提取特征
-特征送入每一类的SVM分类器,判别是否属于该类
-使用回归器精细修正候选框位置
速度:仅在候选区域提取特征,较传统方法会快很多
训练集:传统是在提取人工设定的特征,而这个是使用识别库和检测库进行调优测评[R-CNNs][1]
典型的 part-based 方法,将人体骨架分为多个子图,定义了子图内部和子图之间的信息传播方式,这样便能更好的抽取局部关节信息,同时加快信息传播速度。
数据增强
何(geometric)特征与动力学(kinematic)特征
这里的几何信息就是骨骼特征(包含非骨骼连接),即在空间上计算相邻关节坐标差值,动力学特征就是运动特征,通过计算相邻帧对应关节的差值得到。
基于局部划分的图卷积(PBGC)
首先将人体骨架图分为多个子图:
并且保证相邻两个子图间至少有一个公共关节。然后对每个节点,首先在其所在的子图内执行图卷积,再执行子图间的信息传播:
其中(5)表示在分图p中的点vi的卷积结果,Nkp是点vi在子图p中的邻接节点集合,Wp表示点子图p的权重矩阵(不与其他子图共享),(6)表示点vi与相邻子图的邻接节点之间的信息聚合。其中聚合函数定义如下:
即加权平均。因此,每个点先在其所属子图内的邻域进行图卷积,再与相邻子图的邻接节点进行信息聚合。
由于不同子图之间不共享权重,因此子图划分策略就异常重要。本文提出了多种不同的划分策略,可以按上下不同肢体划分,可以按左右划分,其中效果最好的是四部划分:
这是因为人体骨架左右对称,左手和右手往往具有非常相似的行为,适合共享权重,而不同类型的肢体往往具有不同的运动特征,因此适合划分到不同子图。
时空图卷积
这部分与ST-GCN中的时空图卷积比较相似。
公式15表示时域卷积,将每个关节与该关节前后τ帧内的值做加权求和。
2s-SDGCN
空间残差层和密集连接块增强时空图卷积网络用于基于骨架的动作识别
本文方法相对较简单,即认为空间信息重要性更强,因此在残差连接中也进行图卷积:
上方绿色部分是本文使用的残差连接,而ST-GCN是用的残差连接只有简单的通道变换,没有邻接矩阵参与运算。
用公式表示如下:
此外,还添加了dense连接(DCB):
将这两种方法结合到一起,再嵌入到其他方法中。