一种基于视频监控的手扶电梯客流量统计方法与流程

文档序号:21369344发布日期:2020-07-04 04:45阅读:383来源:国知局
一种基于视频监控的手扶电梯客流量统计方法与流程

本发明涉及手扶电梯视频监控和计算机视的技术领域,尤其是指一种基于视频监控的手扶电梯客流量统计方法。



背景技术:

手扶电梯通常安装在城市人流量密集的重要场合,给市民出行带来便利。最后,手扶电梯出入口是人流经过的“要塞”,对手扶电梯出入口区域进行人流量的统计,可以对客流量分析,从而使商场、机场等在管理和决策上做出正确的决定,因此统计手扶电梯客流量可以辅助经营分析,从而带来商业价值。

传统客流统计方法有有:人工统计、红外感应、重力感应等。人工统计方法容易受计数人员的疲劳而导致计数错误,且计数人员工作量较大且繁琐。红外感应容易受环境温度等因素干扰,在实际应用中有较高错误率,重力感应的方法安装要求高,且成本也较高,稳定性较差,存在较大不确定性。

随着计算机计算能力以及图像算法的稳步提升,借助计算机实现智能监控成为当前研究热点。基于视频统计客流量的方法根据摄像头采集到的图像,使用算法对图像数据进行分析处理,来辅助人们对公共场所的客流量进行统计。

通过监控视频来统计客流量主要设计两个方面的算法:前景提取、乘客检测、乘客跟踪。

常用的前景提取方法包括帧间差分法、光流法等。帧间差分法的优势是运算量小,检测速度快,实时性好,只对运动物体敏感,但是对光线变化不敏感,在运动目标实体内部易产生空洞情况。光流法的算法计算复杂,抗噪性差,一般在实际中应用不多。

乘客检测则是根据提取出来的前景,来从中检测出乘客。常用的乘客检测大致可以分为基于图像空间和基于特征空间的,前者主要利用图像中目标的轮廓边缘、目标区域大小、目标灰度、人体形状与纹理等底层特征进行人体目标识别。而后者则是将识别图像经过某种空间变换,然后利用特征空间提取图像的特征来实现图像中人体的识别,但是这两种乘客检测方法都是基于前景提取基础之上,且对前景提取结果有较大依赖,容易受光照等因素干扰。

实现乘客跟踪可以有许多算法,如均值漂移、卡尔曼滤波等。均值漂移本质是局部检测,在局部区域内寻找密度最大的点,计算较为简单。同时这也是它的缺点,当背景较为复杂或者物体的纹理较为丰富的时候,此时反向投影图中的噪声就会很大,这将直接干扰均值漂移算法对物体位置的判断。基于位置信息的卡尔曼滤波用于跟踪有一个很大的问题,即跟踪的过程当中只用到了乘客位置信息,而每个乘客的色彩信息都大不相同,丰富色彩的信息没有利用到跟踪当中,这是一种对信息的浪费。

综上所述,发明一种准确性高且抗干扰能力强的手扶电梯客流量统计方法具有较高的科学研究和商业价值。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出了一种基于视频监控的手扶电梯客流量统计方法,该方法使用深度学习中的yolov3网络,将前景提取和乘客检测合二为一,直接实现对乘客人头检测,在完成乘客人头检测后,使用检测人头的色度统计直方图作为特征向量,并使用粒子滤波对人头进行跟踪。在此基础上,实现对客流量的准确稳定统计。

为实现上述目的,本发明所提供的技术方案为:一种基于视频监控的手扶电梯客流量统计方法,包括以下步骤:

1)使用摄像头对手扶电梯楼层板进行俯拍,收集手扶电梯楼层板上乘客的人头图像,并对图像中人头位置进行标注,制作数据集,并将数据集划分为用于训练的训练集,以及用来进行模型择优的验证集;

2)使用训练集对yolov3网络进行训练,训练停止条件为达到设定迭代次数或者在验证集上的准确率达到某个阈值,保留在验证集上表现最好的网络模型用于后续步骤;

3)在实际应用中,开始时先初始化当前时刻t=0,并设t=0帧为关键帧,同时初始化其它变量,从摄像头中读取图像,由于yolov3算法计算量大,如果每一帧都使用yolov3检测人头,耗时大,因此使用在关键帧进行人头检测并匹配,在非关键帧进行粒子滤波跟踪,首先判断当前帧号是否为关键帧,若当前帧号为设定周期常量的整数倍,则该帧为关键帧,执行步骤4)-9),否则该帧为非关键帧,执行步骤10),最后再执行步骤11)、12);

4)使用步骤2)中训练好的模型对图像进行乘客人头检测,并对检测结果进行非极大值移植以及面积阈值过滤,除去不符合要求的检测框;

5)设当前帧为t,若t=0,则使用yolov3的检测矩形框的中心坐标来初始化粒子滤波算法的粒子坐标,否则以上一帧的粒子滤波跟踪矩形框的中心坐标为高斯分布的均值,以高斯分布为概率撒粒子,并计算所有粒子的色度统计直方图向量,并选取撒下的粒子中与中心粒子色度统计直方图向量欧式距离最近的粒子,作为这一帧的跟踪结果;

6)设在该关键帧使用yolov3检测到的人头集合为h,其中hi表示h中第i个元素,代表第i个检测矩形框;设该关键帧的上一帧的跟踪列表集合为t,其中tj表示t中第j个元素,表示第j个跟踪矩形框;设hi到tj的距离为dij,计算方法为检测矩形框hi的色度统计直方图向量到跟踪矩形框tj的色度统计直方图向量的欧式距离,最后使用集合h中的元素到t中两两元素的距离,构造出集合h与集合t的距离矩阵d,其中矩阵d的行、列分别代表检测人头、跟踪人头;

7)使用匈牙利匹配算法对矩阵d进行最优配对求解,对于匹配成功的对(i,j),将hi的检测矩形框用于更新tj的跟踪矩形框,并把tj的跟踪置信度增加,其中tj的跟踪置信度代表tj在监控范围内存在的可能性,与元素tj在监控范围内连续跟踪的帧数成正相关,tj在监控范围内待的时间越长,tj的跟踪置信度会越大;

8)定义集合c,集合c中的元素表示在上一帧跟踪结果t中,那些离检测到的人头集合h中所有的元素距离大于设定阈值的元素;c中的元素表示离开监控范围的行人,需要根据跟踪置信度将其剔除;对未匹配成功的列号集合j,将其加入到集合c中,并降低集合c中元素的跟踪置信度,当某元素的跟踪置信度小于0,将其从跟踪列表中剔除;

9)定义集合r,集合r中的元素表示检测到的人头集合h,那些离上一帧跟踪结果t中所有的元素距离大于设定阈值的元素,r中的元素表示新进入监控范围的人头目标,需要将其添加到跟踪列表中;对未匹配成功的行号集合i,将其加入到集合r中,并把集合r中的元素加入到跟踪列表,并初始化其粒子滤波跟踪参数;

10)对于非关键帧图像,进行操作:对跟踪列表集合t中的每个元素tj,以上一帧的跟踪矩形框的中心为高斯分布的均值中心,以高斯分布撒粒子,并计算所撒粒子的色度统计直方图,并选取撒下的粒子中与中心粒子色度直方图距离最近的粒子,判断该最近距离是否小于设定阈值,若最近距离小于设定阈值,则用色度距离最近的粒子矩形框来代替原中心粒子,并增加tj的跟踪置信度,否则降低tj跟踪置信度,当tj跟踪置信度小于0,将tj从跟踪列表中剔除;

11)根据跟踪矩形框的中心坐标以及设定的客流量统计线的位置关系,来对一段时间内手扶电梯乘客的客流量进行统计;

12)将时间往后推移,即t=t+1,对摄像头新采集的图像循环执行步骤3),从而实现手扶电梯客流量的准确稳定统计。

在步骤1)中,使用开源标注工具labelimg对摄像头采集的楼层板乘客人头图像进行标注,构建手扶电梯乘客人头的数据集,标注信息为(x,y,w,h,c),分别代表乘客人头在图像中的相对横坐标、相对纵坐标、相对宽、相对高以及类别,由于只有1类,故c统一标注为0,然后按照7:3的比例,将数据集划分为训练集、验证集,训练集的人头图像用于yolov3的训练,而验证集图像用于对训练好的yolov3模型进行择优。

在步骤3)中,开始时,先初始化当前时刻t=0,并设t=0帧为关键帧,同时初始化其它变量,从摄像头中读取图像,并判断当前帧号是否为关键帧,由于乘客人头检测相比于跟踪,时间长,因此,为了保障实时性,没有必要每一帧都进行乘客人头检测,采取方案为在关键帧进行乘客人头检测,而非关键帧则使用粒子滤波的方法对乘客人头位置进行估计,每次读取摄像头的图像时,先判断当前帧是否为关键帧,再进行处理,关键帧和非关键帧的数目由电脑性能决定,电脑性能越好,关键帧占比设置就能够越大,从而提高乘客客流量统计的准确率。

在步骤4)中,使用步骤2)中训练好的yolov3对摄像头采集的图像进行人头检测,并对检测结果进行非极大值抑制以及面积阈值过滤,消除同一个人头对应多个检测框的情况,以及将检测框面积过大及过小的明显不是人头的目标滤除。

在步骤5)中,设当前帧为t,当t=0时,使用yolov3的检测结果矩形框的中心坐标来初始化粒子滤波算法的粒子坐标,即使用检测结果矩形框的宽高及横纵坐标来初始化粒子的宽高及横纵坐标;当t≠0时,以粒子滤波跟踪矩形框的中心坐标为高斯分布的均值,以高斯分布为概率撒粒子,均值中心撒的粒子多,而距离均值中心越远,撒的粒子越少;然后使用均值中心的粒子属性为初始值,叠加高斯噪声来对撒出的粒子进行属性初始化,即撒出的粒子的宽高都以设定概率进行放大或者缩小,从而来适应视频帧之间的变化,接着对每个撒出去的粒子,将其矩形框内的感兴趣区域转换到hsv通道,并计算色度统计直方图,色度从0变换到180,共181个bin,将这个181维特征向量作为人头的色彩特征进行距离计算,选取撒下的粒子中特征向量到中心粒子的特征向量欧式距离最近的粒子作为第t帧的跟踪人头结果,并将该最近粒子的属性用来更新第t-1帧的粒子属性。

在步骤6)中,计算检测矩形框中心与粒子滤波跟踪矩形框中心之间的距离矩阵d,过程为:设在该关键帧使用yolov3检测到的人头集合为h,其中hi表示h中第i个元素,代表第i个检测矩形框;设该关键帧的上一帧的跟踪列表集合为t,其中tj表示t中第j个元素,表示第j个跟踪矩形框;设hi到tj的距离为dij,计算方法为检测矩形框hi的色度统计直方图向量到跟踪矩形框tj的色度统计直方图向量的欧式距离,最后使用集合h到集合t中两两元素的距离,构造出集合h与集合t的距离矩阵d,其中矩阵d的行、列分别代表人头检测结果、跟踪结果;矩阵d中的第i行、第j列表示第i个检测矩形框到第j个跟踪矩形框的色度统计直方图向量的欧式距离,这个距离越大说明两个矩形框的相似度越小,而这个欧式距离越小,则说明两个检测框的分布越相似。

在步骤7)中,使用匈牙利匹配算法对矩阵d进行匹配,匈牙利匹配算法以最小距离之和为目标,将矩阵d的行和列进行匹配,从而来将检测结果与跟踪结果结合起来,对于匹配成功的对(i,j),将hi的检测矩形框用于更新tj的跟踪矩形框,并把tj的跟踪置信度增加,其中tj的跟踪置信度与元素tj在监控范围内连续跟踪的帧数成正相关,tj在监控范围内待的时间越长,tj的跟踪置信度会越大,说明其被稳定跟踪的时间越长,而在跟踪置信度降至0时,说明其在视频监控中的可能性降低,需要将该人头从跟踪对列中清除。

在步骤11)中,根据跟踪矩形框的中心坐标以及设定的客流量统计线的位置关系,来对一段时间内手扶电梯乘客的客流量进行统计,具体如下:

首先,在监控范围的中间画一条水平客流计数线;若乘客的跟踪矩形框的中心坐标在计数线上方和下方均出现,则对客流量进行计数;若乘客的跟踪矩形框的中心坐标先在计数线上方出现,后在计数线下方出现,则将进入扶梯口的客流量进行增加;若乘客的跟踪矩形框的中心坐标先在计数线下方出现,后在计数线上方出现,则将离开扶梯口的客流量进行增加;

以上过程达到不重复计数的效果,一个跟踪目标对应一个计数单位,就算乘客在计数线附近徘徊,也只进行一次计数,从而提高计数的准确率。

本发明与现有技术相比,具有如下优点与有益效果:

1、可以根据实际设备的情况设定不同的检测周期,在关键帧进行检测,而在非关键帧进行跟踪。使得算法不同性能的设备都能达到较好的效果。

2、使用色度统计直方图向量的欧式距离作为跟踪的指标,使得算法的抗光照干扰能力提升。在不同的光照环境下,算法均有较好的表现效果。

3、使用客流计数线的上下方同时计数的方法,同时结合乘客的跟踪矩形框在计数线的上下方出现的先后顺序,来对客流量进行准确统计。

附图说明

图1为本发明方法的流程图。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

如图1所示,本实施例所提供的基于视频监控的手扶电梯客流量统计方法,其具体情况如下:

1)使用开源标注工具labelimg对摄像头采集的楼层板乘客人头图像进行标注,构建手扶电梯乘客人头的数据集,标注信息为(x,y,w,h,c),分别代表乘客人头在图像中的相对横坐标、相对纵坐标、相对宽、相对高以及类别,由于只有1类,故c统一标注为0,然后按照7:3的比例,将数据集划分为训练集、验证集,训练集的人头图像用于yolov3的训练,而验证集图像用于对训练好的yolov3模型进行择优。

2)使用训练集对yolov3网络进行训练,首先需要使用k-means算法对初始yolov3的9个anchor框的宽高进行聚类,以更好地进行算法回归。训练过程中,初始化优化器选择为adam,初始学习率为0.001,总迭代次数为2000次,批次为16,当迭代次数到达总迭代次数的80%时,将优化器变为sgd,以更好地寻找最优点,拟合数据集。在达到总迭代次数或者在验证集上的map0.5达到97%时,停止迭代。

3)由于乘客人头检测相比于跟踪,时间较长,因此,为了保障实时性,没有必要每一帧都进行乘客人头检测,采取方案为在关键帧进行乘客人头检测,而非关键帧则使用粒子滤波的方法对乘客人头位置进行估计,每次读取摄像头的图像时,先判断当前帧是否为关键帧,再进行处理,关键帧和非关键帧的数目由电脑性能决定,电脑性能越好,yolov3的周期可以设定短一些,从而提高乘客客流量统计的准确率。

开始时,先初始化当前时刻t=0,并设t=0帧为关键帧,同时初始化其它变量,从摄像头中读取图像,并判断当前帧号是否为关键帧,若当前帧号为设定周期常量的整数倍,则该帧为关键帧,执行步骤4)-9),否则该帧为非关键帧,执行步骤10),最后再执行步骤11)、12)。

4)使用步骤2)中训练好的yolov3对摄像头采集的图像进行人头检测,并对检测结果进行非极大值抑制以及面积阈值过滤,消除同一个人头对应多个检测框的情况,以及将检测框面积过大及过小的明显不是人头的目标滤除。

5)设当前帧为t,当t=0时,使用yolov3的检测结果矩形框的中心坐标来初始化粒子滤波算法的粒子坐标,即使用检测结果矩形框的宽高及横纵坐标来初始化粒子的宽高及横纵坐标;当t≠0时,以粒子滤波跟踪矩形框的中心坐标为高斯分布的均值,以高斯分布为概率撒粒子,均值中心撒的粒子较多,而距离均值中心越远,撒的粒子越少,然后使用均值中心的粒子属性为初始值,叠加高斯噪声来对撒出的粒子进行属性初始化,即撒出的粒子的宽高都以一定概率进行放大或者缩小,从而来适应视频帧之间的变化,接着对每个撒出去的粒子,将其矩形框内的感兴趣区域转换到hsv通道,并计算色度统计直方图,色度从0变换到180,共181个bin,将这个181维特征向量作为人头的色彩特征进行距离计算,选取撒下的粒子中特征向量到中心粒子的特征向量欧式距离最近的粒子作为第t帧的跟踪人头结果,并将该最近粒子的属性用来更新第t-1帧的粒子属性。

6)计算检测矩形框中心与粒子滤波跟踪矩形框中心之间的距离矩阵d,过程为:设在该关键帧使用yolov3检测到的人头集合为h,其中hi表示h中第i个元素,代表第i个检测矩形框。设该关键帧的上一帧的跟踪列表集合为t,其中tj表示t中第j个元素,表示第j个跟踪矩形框。设hi到tj的距离为dij,计算方法为检测矩形框hi的色度统计直方图向量到跟踪矩形框tj的色度统计直方图向量的欧式距离。最后使用集合h到集合t中两两元素的距离,构造出集合h与集合t的距离矩阵d,其中矩阵d的行、列分别代表人头检测结果、跟踪结果。d矩阵中的第i行、第j列表示第i个检测矩形框到第j个跟踪矩形框的色度统计直方图向量的欧式距离,这个距离越大说明两个矩形框的相似度越小,而这个欧式距离越小,则说明两个检测框的分布越相似。

7)使用匈牙利匹配算法对矩阵d进行匹配,匈牙利匹配算法以最小距离之和为目标,将矩阵d的行和列进行匹配,从而来将检测结果与跟踪结果结合起来,对于匹配成功的对(i,j),将hi的检测矩形框用于更新tj的跟踪矩形框,并把tj的跟踪置信度增加。其中tj的跟踪置信度代表tj在监控范围内存在的可能性,与元素tj在监控范围内连续跟踪的帧数成正相关,tj在监控范围内待的时间越长,tj的跟踪置信度会越大,说明其被稳定跟踪的时间越长,而在跟踪置信度降至0时,说明其在视频监控中的可能性降低,需要将该人头从跟踪对列中清除。

8)定义集合c,集合c中的元素表示在上一帧跟踪结果t中,那些离检测到的人头集合h中所有的元素都较远的元素。c中的元素表示离开监控范围的行人,需要根据跟踪置信度将其剔除。对未匹配成功的列号集合j,将其加入到集合c中,并降低集合c中元素的跟踪置信度,当某元素的跟踪置信度小于0,将其从跟踪列表中剔除。

9)定义集合r,集合r中的元素表示检测到的人头集合h,那些离上一帧跟踪结果t中所有的元素都较远的元素。r中的元素表示新进入监控范围的人头目标,需要将其添加到跟踪列表中。对未匹配成功的行号集合i,将其加入到集合r中,并把集合r中的元素加入到跟踪列表,并初始化其粒子滤波跟踪参数。

10)对于非关键帧图像,进行下面操作。对跟踪列表集合t中的每个元素tj,以上一帧的跟踪矩形框的中心为高斯分布的均值中心,以高斯分布撒粒子,并计算所撒粒子的色度统计直方图,并选取撒下的粒子中与中心粒子色度直方图向量欧式距离最近的粒子,判断该最近距离是否小于设定阈值d,若最近距离小于设定阈值d,则用色度距离最近的粒子矩形框来代替原中心粒子,并增加tj的跟踪置信度,否则降低tj跟踪置信度,当tj跟踪置信度小于0,将tj从跟踪列表中剔除。

11)根据跟踪矩形框的中心坐标以及设定的客流量统计线的位置关系,来对一段时间内手扶电梯乘客的客流量进行统计,具体如下:

首先在监控范围的中间画一条水平客流计数线;若乘客的跟踪矩形框的中心坐标在计数线上方和下方均出现,则对客流量进行计数;若乘客的跟踪矩形框的中心坐标先在计数线上方出现,后在计数线下方出现,则将进入扶梯口的客流量进行增加;若乘客的跟踪矩形框的中心坐标先在计数线下方出现,后在计数线上方出现,则将离开扶梯口的客流量进行增加。

以上过程可以达到不重复计数的效果,一个跟踪目标对应一个计数单位,就算乘客在计数线附近徘徊,也只进行一次计数,可以大大提高计数的准确率。

12)将时间往后推移,即t=t+1,对摄像头新采集的图像循环执行步骤3),从而实现手扶电梯客流量的准确稳定统计。

以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之原理所作的变化,均应涵盖在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1