今天跟大家分享一篇CVPR 2019论文《High-level Semantic Feature Detection:A New Perspective for Pedestrian Detection》,作者将行人检测问题转化为高级语义特征检测的问题,刷新了行人检测精度的新高度!而且作者称代码将开源。
论文作者信息:
作者分别来自国防科技大学、中科院自动化所、阿联酋起源人工智能研究院和地平线机器人公司。
算法思想
特征检测是计算机视觉中常用算法,比如我们所熟知的边缘检测、Blob检测,简单点说就是检测图像中的感兴趣部分。在传统的计算机视觉视觉中,这往往被认为是low-level的操作。
随着深度学习技术的发展,一般认为深度学习提取的特征具有高级语义特性。
作者认为行人检测中行人的中心点(x,y坐标)和尺度(宽高)是一种高级语义特征,行人检测完全可以转化为这些语义特征的检测。
如下图所示:
输入图像经过卷积网络,然后分成Center Heatmap计算和Scale Map 计算,得到的中心点坐标和宽高大小,即检测出了行人。
看起来很简单,但却是很有效!
下图是更详细的网络架构图:
该算法最主要的两部分为特征提取模块和Detection Head模块。
特征提取模块对4个Stage的特征图进行了串联,以增强特征的多尺度表达能力。
Detection Head模块,由256个3*3卷积和分支开来的两个1*1卷积组成,然后分别成为最终的Center heatmap 和Scale Map。
将现有标注好的行人检测数据集转化为中心点和尺度标注的方法是显而易见的,如下图(图中作者使用log(高度)作为行人尺度):
在Point Prediction 这一端,作者实际上尝试了中心点、顶部顶点、底部顶点等三种方式,实验结果如下图上半部分,发现使用中心点效果最好,而且是远好于另外两者。
同样在Scale Prediction这一端,作者尝试了预测高度、宽度和二者都预测。发现只预测高度的效果最好(此时设置固定宽高比0.41)。
实验结果
下面三张图是在Caltech数据集上的实验结果,该文提出的算法CSP均取得了最高的精度。
下图为在CityPersons数据集上的实验结果,CSP同样取得了最好的结果。
另外,值得一提的是,该算法不仅仅适用于行人检测!在作者的Github工程主页上放出了使用该文算法在人脸检测数据集WiderFace上的实验结果,在验证集和测试集上均取得了最高精度或者媲美最高精度的结果。
如下图所示:(请点击大图查看)
读完此文,CV君在想,人脸和行人的宽高比相对变化较小,该文提出的算法取得了很不错的结果。那么对于通用目标检测,宽高比变化比较大,该算法结果会如何呢?希望有进一步实验结果出来。
希望该文对你有帮助!
论文地址:
https://arxiv.org/abs/1904.02948v1
代码地址:
https://github.com/liuwei16/CSP