机器学习与深度学习

行人检测

2021-04-08  本文已影响0人  LCG22

参考资料:

行人检测算法

1、什么是行人检测

行人检测是使用计算机视觉技术来判断图像或视频中是否存在行人。可以通过跟行人跟踪,行人重识别技术,来应用于人工智能系统,车辆辅助驾驶系统、智能交通等领域

2、行人检测的具体过程

① 处理数据

② 训练模型

③ 输出目标位置

3、行人检测的难点

① 外观差异大。包括视觉、姿态、服饰和附着物、光照、成像距离等。行人不同的运动姿态、角度,都会显示出不同的外观,而且成像距离远近不一,也会造成外观大小不同

② 遮挡问题,在行人密集的地方,会发生行人被遮挡的问题,或者是被周围的建筑物遮挡住

③ 背景复杂,有些物体的外观、造型、颜色、纹理等都比较接近人体,例如雕塑或人像广告牌、假人等。之前就有个新闻说红绿灯行人越线检测时,把公共汽车上的代言人广告中的代言人也检测了出来

④ 检测速度,行人检测一般使用了比较复杂的模型,运算量相当大,要达到实时非常困难,一般需要大量的优化

4、行人检测的算法

Faster R-CNN

文献[16]分析了Faster R-CNN在行人检测问题上的表现,结果表明,直接使用这种算法进行行人检测效果并不满意。作者发现,Faster R-CNN中的RPN网络对提取行人候选区域是相当有效的,而下游的检测网络表现的不好。作者指出了其中的两个原因:对于小目标,卷积层给出的特征图像太小了,无法有效的描述目标;另外,也缺乏难分的负样本挖掘机制。作者在这里采用了一种混合的策略,用RPN提取出候选区域,然后用随机森林对候选区域进行分类。这一结构如下图所示:

DeepParts

文献[21]提出了一种基于部件的检测方案,称为DeepParts,致力于解决遮挡问题。这种方案将人体划分成多个部位,分别进行检测,然后将结果组合起来。部位划分方案如下图所示:

整个系统的结构如下图所示:

RepLoss

RepLoss[14]由face++提出,主要目标是解决遮挡问题。行人检测中,密集人群的人体检测一直是一个难题。物体遮挡问题可以分为类内遮挡和类间遮挡两类。类内遮挡指同类物体间相互遮挡,在行人检测中,这种遮挡在所占比例更大,严重影响着行人检测器的性能。

针对这个问题,作者设计也一种称为RepLoss的损失函数,这是一种具有排斥力的损失函数,下图为RepLoss示意图:

RepLoss 的组成包括 3 部分,表示为:

其中L_Attr 是吸引项,需要预测框靠近其指定目标;L_RepGT 和 L_RepBox 是排斥项,分别需要当前预测框远离周围其它的真实物体和该目标其它的预测框。系数充当权重以平衡辅助损失。

HyperLearner

文献[25]提出了一种称为HyperLearner的行人检测算法,改进自Faster R-CNN。在文中,作者分析了行人检测的困难之处:行人与背景的区分度低,在拥挤的场景中,准确的定义一个行人非常困难。

作者使用了一些额外的特征来解决这些问题。这些特征包括:

apparent-to-semantic channels

temporal channels

depth channels

为了将这些额外的特征也送入卷积网络进行处理,作者在VGG网络的基础上增加了一个分支网络,与主体网络的特征一起送入RPN进行处理:

其他的基本上遵循了Faster R-CNN框架的处理流程,只是将anchor参数做了改动。在实验中,这种算法相比Faster R-CNN有了精度上的提升。

从上面的回顾也可以看出,与人脸检测相比,行人检测难度要大很多,目前还远称不上已经解决,遮挡、复杂背景下的检测问题还没有解决,要因此还需要学术界和工业界的持续努力。

上一篇 下一篇

猜你喜欢

热点阅读