公开/公告号CN107103279A
专利类型发明专利
公开/公告日2017-08-29
原文格式PDF
申请/专利权人 广东顺德中山大学卡内基梅隆大学国际联合研究院;中山大学;
申请/专利号CN201710139113.3
申请日2017-03-09
分类号G06K9/00(20060101);G06T7/00(20170101);
代理机构44102 广州粤高专利商标代理有限公司;
代理人林丽明
地址 528300 广东省佛山市顺德区大良街道办广东顺德中山大学卡内基梅隆大学国际联合研究院
入库时间 2023-06-19 03:10:37
法律状态公告日
法律状态信息
法律状态
2020-06-05
授权
授权
2017-09-22
实质审查的生效 IPC(主分类):G06K9/00 申请日:20170309
实质审查的生效
2017-08-29
公开
公开
技术领域
本发明涉及数字图像处理领域,更具体地,涉及一种在垂直视角下基于深度学习的客流计数方法。
背景技术
近来年,视频客流计数技术一直是业界备受关注的研究热点,它也逐步应用于各大商场连锁店、超市、酒店、机场、地铁、景区等,这些场景下产生的人流量数据能够为很多领域提供很有价值的信息。对于各大商场连锁店、超市而言,面对目前火热的线上电子商务系统,如京东、淘宝、天猫、亚马逊等,线下的销售市场一直受到挤迫,科学化的管理显然是提高自身竞争力的有效手段。商场内不同时段、不同区域的人流数据在提高其经营决策的科学性、资源调度的合理性、消费环境的舒适性等方面起到了重要的作用,商业人流数据对商业的绩效考核、商品转化率、店铺选址、商品陈列、广告价值有着很重要的意义。另外,对于展览馆、体育馆、地铁站、公交站、机场等公共场所中,人流数据能够呈现实时精准的的区域人数和人群密度,管理者通过数据分析动态调整工作人员配置计划,控制区域人群数量,使资源更合理使用,同时也能加强安全防范。
目前针对客流计数这个领域,现有技术中有提出了利用局部轮廓的方法去检测头部,他用椭圆模型去拟合头部轮廓,当轮廓拟合度比较高就认为是一个头部。现有技术中还有利用头发的颜色以及头部的轮廓特征进行头部检测,众所周知,头部的轮廓类似一个圆,所以可以利用这个特征检测头部。但是这种特征的缺点就是容易受到轮廓类似圆的其他物体所影响,比如气球等。现有技术中还有提出了一个有效的行人计数方法,第一次使用霍夫圆变换(Hough circle Transform)进行头部检测,后面接上光流(optical flow)法进行跟踪,但是,这个方法的缺点就是光流需要耗费很大的计算力,难以部署到嵌入式设备上。现有技术中还有提出了一种先利用高斯混合背景建模提取前景区域,接着在前景区域使用自适应增强(Adaptive Boosting)方法结合局部二值模式(Local Binary Pattern)特征进行人头检测,最后接上均值漂移(meanshift)跟踪算法进行进出统计,这样一个系统依赖于前景提取的完整,而很多时候尤其在画面中行人密集的时候很难提取完好的前景。
发明内容
本发明提供一种明显地提高人流统计准确率的在垂直视角下基于深度学习的客流计数方法。
为了达到上述技术效果,本发明的技术方案如下:
一种在垂直视角下基于深度学习的客流计数方法,包括以下步骤:
S1:在视频画面内绘制进出统计线;
S2:利用深度学习方法在当前画面内进行行人头肩检测;
S3:判断当前画面是否存在头肩,如果是则转到步骤S4;如果不是则转到步骤S2,对下一帧继续检测;
S4:将当前帧检测到的头肩与跟踪列表里的头肩进行匹配更新;
S5:判断跟踪目标起始点和终止点是否在进出线两侧,如果是则转到步骤S6;如果不是则转到步骤S2,对下一帧继续检测;
S6:更新进出的人数信息,接着转到步骤S2,对下一帧继续检测。
进一步地,所述步骤S1中当行人先经过进线再经过出线,表示离开状态,反之,当行人先经过出线再经过进线,表示进入状态。
进一步地,所述步骤S2中使用SSD深度学习检测方法,先在应用场景进行数据学习训练,接着对采集的视频的每一帧进行头肩检测:
其中N表示在多个深度卷积层匹配到的框的个数,如果N=0,设置损失函数L()为0,
定位损失Lloc使用的是预测框l与真实框g的L1范数损失:
置信度损失Lconf采用的是头肩与背景置信度c的softmax损失:
基于上述的损失函数训练出来的模型收敛后可用于行人的头肩检测,给模型输入一张图片后可得到图片中头肩框的坐标位置以及是否为头肩的置信度,接着对采集的视频的每一帧利用该模型进行行人头肩的检测,用深度学习的方法不需要对视频进行背景建模和前景提取,也不需要对前景进行行人切割,解决了对于环境复杂人员密集的场景前景难以提取的问题。
进一步地,所述步骤S4中将当前帧检测到的头肩与跟踪列表里的头肩进行匹配更新,
初始时跟踪列表为空,当检测到画面内有头肩信息时,将头肩信息加入到跟踪列表内,接着使用匈牙利算法对跟踪列表里的头肩与当前帧检测到头肩进行匹配,其中匈牙利算法首先利用距离进行限制,头肩之间质心距离超过一个肩部距离的直接不匹配,接着衡量头肩之间的匹配相似度采用深度卷积层的特征进行度量,将检测到的头肩位置映射回深度卷积层对应的位置,若基础网络是VGG则采用conv4_3层的特征,将头肩的深度卷积特征统一归一化到一个固定的尺寸使得两两之间利用L2范数求得一个匹配相似度:
其中L表示匹配相似度,flast跟踪列表的头肩在conv4_3层的特征,fnow表示当年帧检测到的头肩在conv4_3层的特征;
通过匈牙利算法的最优匹配原则将头肩之间匹配相似度最高的匹配上,剩下没有匹配上的再做下述步骤的处理;
1)如果跟踪列表里有头肩没有匹配上,先暂时保留,如果8帧之后仍旧没有匹配上则认为该跟踪目标已离开将它删除;
2)如果当前帧检测到的头肩没有匹配上,则认为它可能是新出现的跟踪目标,如果后续8帧有出现了5帧以上,则确认它为新出现的目标,将它加入跟踪列表,如果后续8帧该目标出现的次数小于2次,则认为它是噪声,将它删除。
进一步地,所述步骤步骤S5中跟踪目标初次进入画面捕获到的位置即为跟踪起始点,跟踪目标离开画面时跟踪结束,跟踪目标最后存在的位置即为跟踪终止点;采用的是对跟踪目标的跟踪起始点以及跟踪终止点进行判定,通过起始点与终止点与线的相对位置判定是否为一个有效的进入或者离开,避免工作人员在线的两侧徘徊影响计数的现象。
进一步地,所述步骤S6中更新进出的人数信息,根据上一步骤得到的当前帧的离开人数和进入人数更新当前系统的总离开人数和进入人数,当前总离开人数等于当前帧的离开人数加上上一帧的总离开人数,当前总进入人数等于当前帧的进入人数加上上一帧的总进入人数,接着转到步骤S2,对下一帧继续检测。
与现有技术相比,本发明技术方案的有益效果是:
本发明是在垂直视角下进行人流统计,相比于斜拍视角,这个视角更容易应对商场、超市、地铁等公共场所人流很密集的情况;提出利用深度学习检测头肩,利用深度学习强大的学习能力,不需要对视频进行背景建模和前景提取,也不需要对前景进行行人切割,能够更精确更鲁棒地检测到头肩信息;进行匹配跟踪利用的是深度卷积特征,相对于HOG、LBP等手动设计的特征,深度卷积特征有更好的表达能力,能够更好的应对各种场景;本发明是直接将某一层的深度卷积特征拿来做匹配,避免了特征的重复计算,使得更加省时。
附图说明
图1为本发明的方法流程图;
图2为本发明自建数据集SYSUHS数据集示意图;
图3为本发明画线规则示意图;
图4为本发明匹配跟踪示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1所示,一种在垂直视角下基于深度学习的客流计数方法,包含以下步骤:
步骤1:在视频画面内绘制进出统计线:
所绘制的进线与出线需尽可能靠近,且画绘制在画面中间的话会使得人流统计会更加准确。如图3所示,进去线为红色,离开线为绿色,他们都画在电梯通道口,且都画在画面的中心位置。
步骤2:利用深度学习方法在当前画面内进行头肩检测:
使用SSD深度学习检测方法,SSD是一个用于目标检测的框架,利用的是回归的思想直接在图像的多个位置回归出目标边框以及目标类别,并且它利用多个卷积层的特征去预测目标,能够高效并且准确的预测目标。我们预先准备了在商场录制的视频制作了一个数据集SYSUHS,总共有9个场景,总共标注了16万个头肩信息。在该数据集上进行学习训练,训练时采用以下的损失函数:
其中N表示在多个深度卷积层匹配到的框的个数,如果N=0,我们设置损失L()为0。
定位损失Lloc使用的是预测框l与真实框g的L1范数损失:
置信度损失Lconf采用的是头肩与背景置信度c的softmax损失:
基于上述的损失函数训练出来的模型收敛后可用于行人的头肩检测,给模型输入一张图片后可得到图片中头肩框的坐标位置以及是否为头肩的置信度。接着对采集的视频的每一帧利用该模型进行行人头肩的检测。用深度学习的方法不需要对视频进行背景建模和前景提取,也不需要对前景进行行人切割,解决了对于环境复杂人员密集的场景前景难以提取的问题。
步骤3:判断当前画面是否存在头肩。根据步骤2得到的检测结果做判定,如果当前视频画面检测出来的头肩框的个数不为0,则转到步骤4;如果为0则转到步骤2,对下一帧继续检测。
步骤4:将当前帧检测到的头肩与跟踪列表里的头肩进行匹配更新。
初始时跟踪列表为空,当检测到画面内有头肩信息时,将头肩信息加入到跟踪列表内。接着使用匈牙利算法对跟踪列表里的头肩与当前帧检测到头肩进行匹配,其中匈牙利算法首先利用距离进行限制,头肩之间质心距离超过一个肩部距离的直接不匹配。接着衡量头肩之间的匹配相似度采用深度卷积层的特征进行度量,将检测到的头肩位置映射回深度卷积层对应的位置,如果基础网络是VGG则可以采用conv4_3层的特征,将头肩的深度卷积特征统一归一化到一个固定的尺寸使得两两之间可以利用L2范数求得一个匹配相似度:
其中L表示匹配相似度,flast跟踪列表的头肩在conv4_3层的特征,fnow表示当年帧检测到的头肩在conv4_3层的特征。
通过匈牙利算法的最优匹配原则将头肩之间匹配相似度最高的匹配上,剩下没有匹配上的再做下面的处理。
1、如果跟踪列表里有头肩没有匹配上,先暂时保留,如果8帧之后仍旧没有匹配上则认为该跟踪目标已离开将它删除。
2、如果当前帧检测到的头肩没有匹配上,则认为它可能是新出现的跟踪目标,如果后续8帧有出现了5帧以上,则确认它为新出现的目标,将它加入跟踪列表。如果后续8帧该目标出现的次数小于2次,则认为它是噪声,将它删除。
步骤5:判断跟踪目标起始点和终止点是否在进出线两侧,如果是的话转到步骤6,如果不是的话转到步骤2,对下一帧继续检测。
跟踪目标初次进入画面捕获到的位置即为跟踪起始点。当跟踪目标离开画面时跟踪结束,跟踪目标最后存在的位置即为跟踪终止点。这里采用的是对跟踪目标的跟踪起始点以及跟踪终止点进行判定,通过起始点与终止点与线的相对位置判定是否为一个有效的进入或者离开,可以避免有些工作人员在线的两侧徘徊影响计数的现象。如图4所示,画面圆圈代表根据头肩检测找到的一个人,连接圆圈的是一条直线,直线的起点就是跟踪目标的起始点,圆圈的质心就是跟踪目标最新的位置,当跟踪目标离开画面时,此次跟踪结束,目标在画面最后出现的位置即为终止点,通过起始点终止点与线的相对位置即可判定结果并且更新进出的人流信息。
步骤6:更新进出的人数信息,根据上一步骤得到的当前帧的离开人数和进入人数更新当前系统的总离开人数和进入人数,当前总离开人数等于当前帧的离开人数加上上一帧的总离开人数,当前总进入人数等于当前帧的进入人数加上上一帧的总进入人数。接着转到步骤2,对下一帧继续检测。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
机译: 基于深度学习的轨道交通乘客流量需求预测方法和装置
机译: 基于第一人称视角的基于深度学习的手势识别系统及方法
机译: 基于第一人称视角的基于深度学习的手势识别系统及方法