来自霍尼韦尔的资深数据科学家Aditya Vora分享了一种快速精准的人头检测(head detector)算法并开源了代码。
先来看下检测视频截图:
人头检测在安防监控中是比较常用的功能,而公交车、商场或者大型场馆的拥挤人群计数的精准性也非常重要。
传统的算法原理
作者称拥挤人群计数目前主要有两种实现路径:
1.运用回归的算法思绪,直接依据图像回归出拥堵人群密度热图,它的缺陷是只能得到场景整体的一个拥堵指数,不能获知人群个体的详细位置,而且这种办法对图像分辨率很敏感。
2.运用目的检测的办法,比方直接运用Faster RCNN检测人,检测后数目的为“人”的个数。这种办法的缺陷是在人物互相遮挡的状况下常常性能较差,而人群越拥堵互相遮挡的可能性越大,招致算法运用受限。
该文作者希望设计更有针对性的精准的人头检测,完成愈加精准的人群计数。
作者创新的两点,轻量级人头检测网络和anchors尺度的选择。
算法的网络架构:
从上图可知,网络的前半局部是VGG16特征提取网络,经过一次卷积,然后分开分别运用1*1卷积进入Regression head(用于回归人头的位置信息)和Classification head(用于分类能否为人头)。
在检测网络中,anchors是很重要的概念,是一组预定义的包围框,在对象检测系统中预测尺度和位移。作者以为普通目的辨认中anchors的尺度定义过大,应该依据“有效感受野”(effective receptive field)的思想,减小尺度(直观上“人头”目的比“人体”目的也要小)。
实验结果
作者在BRAINWASH数据库上做了实验,打败了三个基线算法,并取得了与最好结果算法“可比较“的性能。
提出的算法比较快,使用Quadro M1000M显卡(仅有512 CUDA核心)速度达到5fps,使用Jetson TX2(仅有256 CUDA核心)速度1.6fps。相比以往算法更加适合于嵌入式边缘计算平台。
论文、代码、数据下载:
在“图像算法”公众号对话界面回复“FCHD”,即可收到百度云下载地址。