本发明涉及安防监控,具体涉及一种视频过线统计方法。
背景技术:
1、在视觉监控领域中,过线统计功能是一种常用的功能,通常可以用在店铺门口,超市过道以及交通街道,用来统计人员、车辆或者其他目标的进出数目,该功能通常涉及到的技术有目标检测、目标跟踪以及过线判断。
2、现有的技术中通常使用设置一根虚拟线用来判断目标是否越过这个线,当从线的一边越到另一边对目标进行进出的统计以达到统计人员、车辆的作用,同时对人员的统计现有技术大多也都采用的是对人行进行检测或者对头肩进行检测。
3、现有技术中的过线统计算法往往采用的是单条线进行判断检测目标是否通过,这样在实际应用过程中当目标在线上左右徘徊的过程很容易产生误触发,对人员的统计以往算法往往采用人形检测或者头肩检测的方法检测目标,普通场景能比较好的统计,但是当密集场景的时候人行检测容易出现重叠的情况导致漏统计一些人。
技术实现思路
1、针对现有技术的不足,本发明提出了一种视频过线统计方法,基于人头检测的人员统计方法可以降低由于遮挡原因而引入的漏检情况,同时基于线和区域相结合的规则判断人员是否过线,防止人员在线上徘徊引起的误统计,或未真实经过线的误统计,大幅提高过线统计的准确率。
2、为实现上述技术方案,本发明提供了一种视频过线统计方法,具体包括如下步骤:
3、s1、基于深度学习的人头检测:
4、s11、人头数据集收集,从现有开放的数据集中收集人头数据集,并利用收集好的数据训练模型以及将模型应用到板端,使用板端设备在不同场景进行人头检测,同时对出现误报的目标再针对的进行收集,总共收集了超过25000张包含人头以及常见误报漏报的数据集;
5、s12、人头检测模型训练,使用步骤s11收集好的人头数据集将数据转换为yolov5支持的格式,基于yolov5进行训练;
6、s13、板端模型的应用,将步骤s12训练好的电脑端模型通过对应芯片提供的转换工具转换为板端模型,首先对图像数据进行缩放操作,然后将缩放后的图像数据和板端模型送入到芯片的推演模块进行运算得到模型网络的输出数据,对输出的数据进行后处理,对候选框进行非极大抑制操作筛选出检测的目标框,最后将输出的框的位置输出用于后面的跟踪算法跟踪以及画框使用;
7、s2、使用区域和线结合的方式进行过线统计:
8、s21、获取摄像头拍摄到的图像数据;
9、s22、将图像数据送入到推演算法模块进行运算实现人头检测,将人头检测到的目标框通过人头目标跟踪将同一人头在不同帧形成相同的id,以用于后续的过线判断;
10、s23、依据跟踪轨迹信息以及用户设置的规则,使用区域和线形成的规则进行人员的过线判断;
11、s24、将过线判断的信息进行统计,分别计数进去和出去的人员数目,最后将统计好的信息输出出去。
12、优选的,所述步骤s11中,现有开放的数据集包括widerface、coco数据集,并将特别小的人头目标进行马赛克处理防止其影响最终的检测效果。
13、优选的,所述步骤s12中,为了满足嵌入式板端实时运行的条件,需要对网络结构进行一些调整,去除掉yolov5中第一层的focus层,使用卷积层进行替换,对于嵌入式设备端不支持的激活层进行修改,使用leakyrelu替代原有网络中的silu,同时网络结构中的宽度和高度修改为width=0.25,height=0.75,并使用repvgg的方式替换了yolov5中的部分卷积层,在导出模型的时候合并卷积分支提高速度。
14、优选的,所述步骤s13中,后处理包括提取候选框执行度、类别、以及框的位置信息。
15、优选的,所述步骤s22中,人头目标跟踪为卡尔曼滤波和匈牙利算法相结合的跟踪算法,目标跟踪距离的计算公式为dist=1-a∩b/a∪b,其中a为预测的下一帧的目标的位置信息,b为当前帧目标的位置信息,dist用来度量两个目标之间的距离。
16、优选的,所述步骤s23中,使用区域和线形成的规则进行人员的过线判断方式具体如下:
17、a、当人员先进入区域a然后越过线再进入区域b同时在b区域中离开,或者从反方向人员先进入区域b然后越过线再进入区域a同时在a区域中离开这样的过程可以认为是一个越线过程,对这一过程进行统计以达到对人员统计的效果;
18、b、只在某一个区域进行了运动,包含在区域a或者区域b中,这种情况没有越过线不会被统计;
19、c、在其中一个区域运动同时越过线也在另一个区域有出现,但是最终回到了初始进入的区域离开,这种情况不会统计;
20、d、在某个区域出现然后绕过设置的线出现在另一个区域,这种情况也不进行统计因为没有越过线所以不会被统计。
21、优选的,所述步骤s24中,目标数目的统计与输出方式如下:
22、a、设置规则区域和线的判断规则,用户设置的参数为一个6个点的数组参数,记点为p1~p6,其中p1~p4为区域的4个点,p5~p6为线的两个点,将[p1,p2,p5,p6]4个点使用opencv中cv::fillpoly函数填充区域,并将其中的值设置为128,再将[p3,p4,p5,p6]4个点按照同样的方式将值设置为255,其他不在设置区域内的位置设置为0,设置不同的值是为了区分三个区域为不同的区域,分别为a区域、b区域、以及区域外,保存规则信息到缓存中用于后续判断;
23、b、目标检测框通过跟踪算法形成轨迹,使用跟踪轨迹信息与上面设置规则的缓存数据进行判断,首先通过目标框的中心位置所在设置规则区域位置的像素值大小为0、128、255用来判断目标分别在区域外、a区域、b区域三种状态,然后判断跟踪轨迹的状态为第二次判断区域还是第一次,如果是第一次那么就直接存储当前所在区域状态,如果为第二次那么与第一次的状态进行并集操作,用以记录两次所在的区域,最后通过判别轨迹是否在设置区域外的状态用来判断目标是否离开区域。
24、本发明提供的一种视频过线统计方法的有益效果在于:
25、1)针对现有技术中过线统计对人员的统计使用人形检测或者头肩检测容易被遮挡的情况,本发明对人员统计使用人头检测的方法避免遮挡带来的检测人员数目不准确情况,可以降低由于遮挡原因而引入的漏检情况,提高统计的准确性;
26、2)针对现有技术中过线统计通过单条线进行统计,在线上移动频繁统计的情况,本发明增加一个缓冲区域,用以避免在线上晃动引起的多次统计,并且使用基于线和区域相结合的规则判断人员是否过线,防止人员在线上徘徊引起的误统计,或未真实经过线的误统计,大幅提高过线统计的准确率。
1.一种视频过线统计方法,其特征在于具体包括如下步骤:
2.如权利要求1所述的视频过线统计方法,其特征在于,所述步骤s11中,现有开放的数据集包括widerface、coco数据集,并将特别小的人头目标进行马赛克处理防止其影响最终的检测效果。
3.如权利要求1所述的视频过线统计方法,其特征在于,所述步骤s12中,为了满足嵌入式板端实时运行的条件,需要对网络结构进行一些调整,去除掉yolov5中第一层的focus层,使用卷积层进行替换,对于嵌入式设备端不支持的激活层进行修改,使用leakyrelu替代原有网络中的silu,同时网络结构中的宽度和高度修改为width=0.25,height=0.75,并使用repvgg的方式替换了yolov5中的部分卷积层,在导出模型的时候合并卷积分支提高速度。
4.如权利要求1所述的视频过线统计方法,其特征在于,所述步骤s13中,后处理包括提取候选框执行度、类别、以及框的位置信息。
5.如权利要求1所述的视频过线统计方法,其特征在于,所述步骤s22中,人头目标跟踪为卡尔曼滤波和匈牙利算法相结合的跟踪算法,目标跟踪距离的计算公式为dist=1-a∩b/a∪b,其中a为预测的下一帧的目标的位置信息,b为当前帧目标的位置信息,dist用来度量两个目标之间的距离。
6.如权利要求1所述的视频过线统计方法,其特征在于,所述步骤s23中,使用区域和线形成的规则进行人员的过线判断方式具体如下:
7.如权利要求1所述的视频过线统计方法,其特征在于,所述步骤s24中,目标数目的统计与输出方式如下: