Pedestrian Detection and Attribute Recognition.

1. 行人检测 Pedestrian Detection

行人检测(Pedestrian Detection)要解决的问题是:找出图像或视频帧中所有的行人,包括位置和大小,一般用矩形框表示,是典型的目标检测问题。

行人检测的主要困难:

行人检测常用的数据集包括:

用于评估检测器性能的指标通常有:对数平均漏检率(LAMR)、每秒帧数(帧率)(FPS)、准确率(AP)和召回率(recall)。帧率表示模型的效率,准确率、对数平均漏检率和召回率反映了模型的准确性。

DeepParts:Deep Learning Strong Parts for Pedestrian Detection

DeepParts基于多个局部检测器完成行人检测;使用对身体的局部检测来降低对行人检测的丢失率。进行局部检测的目的主要是为了处理行人身体被遮挡的问题。

算法流程:

  1. 构造part pool
  2. 对于每一个part,训练一个单独的检测器;
  3. 使用互补的检测器推断目标。

① Part Pool

使用$2m×m$的网格定义一个人的全身,将身体的一部分(Part prototype)定义为$P=(x,y,w,h,i)$,$x,y$为中心点坐标,$w,h$分别为网格的宽高,i表示第几个Part prototype

其中,为了避免可能有太细小的部分生成,使$w$和$h$的最小值为$2$。在具体的实现中定义了$45$个Part prototype

② Part Detector

对于每个Part,都单独训练了卷积网络分类器。

如下图是head-shoulder part的分类器:

③ Bbox Shifting

检测得到的边界框存在漂移问题。

若在单方向上相对ground truth偏移$10\%$,就会使$IoU$为$0.9$,但是当在两个方向同时偏移$10\%$时,$IoU$就成了$0.68$,这就可能导致人体重要部分丢失,所以就要解决偏移问题。

在候选区域周围抖动的裁剪多个图像块,将这些块进行检测,选择得分最高的区域作为最终的结果。

为减少计算量,使用全卷积网络实现。将每个候选区域送给全卷积神经网络之前,重调它的大小为$(227+32n)×(227+32n)$,最后就可以得到对应于每个$227×227$区域的$(1+n)×(1+n)$个得分映射。取其中得分最大的区域作为候选区域。。

2. 行人属性识别 Pedestrian Attribute Recognition

行人属性识别(Pedestrian Attribute Recognition,PAR)是从行人图像中挖掘属性信息,属性信息是行人的高层语义信息,将属性信息集成到行人检测、行人重识别等任务中可以获得更好的性能。

行人属性识别常用的数据集包括:

DeepSAR & DeepMAR:Multi-attribute Learning for Pedestrian Attribute Recognition in Surveillance Scenarios

DeepSAR是对行人的单一属性进行识别,DeepMAR是对行人的多项属性进行识别;即通过卷积网络后分别进行二分类和多个二分类:

HydraPlus-Net: Attentive Deep Features for Pedestrian Analysis

HP-Net将注意力机制引入行人属性识别中。

网络分为Main Net(M-Net)Attentive Feature Net(AF-Net)。网络的四条主路径是共享参数的。

AF-Net中,分别对三个Inception模块使用了multi-directional attention (MDA)