一种人车流量统计方法、电子设备及存储介质与流程

文档序号:31941531发布日期:2022-10-26 03:11阅读:167来源:国知局
一种人车流量统计方法、电子设备及存储介质与流程

1.本技术涉及人车流量统计方法,尤其涉及一种人车流量统计方法、电子设备及存储介质,属于流量统计技术领域。


背景技术:

2.利用深度学习算法在摄像头下进行人流量和机动车流量计数是较为常见。但是在实际应用中,现有计数算法,一般要求摄像头角度正对着道路,使用线段划分人行道或者车道,根据行人和车辆左右上下移动的坐标信息,再对比线段前后(在视频二维画面上,线段的x坐标或者y坐标)单个目标的id是否一致,就可达到普通计数的效果。
3.现有计数算法统计通过线段的流量时大都缺乏充分的考虑。在摄像头二维画面上,根据行人和车辆上下、左右移动的坐标信息,一般只能统计从上到下,从下到上,从左到右,从右到左4个方向的人车流量,不支持从不同角度的方向上进行人车流量统计,计数精度依赖于摄像头角度;在多个人或者多辆车同时经过的场景下,容易产生漏检问题;当人车在检测线段处抖动时,也会产生重复计数的误检问题。


技术实现要素:

4.在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
5.鉴于此,为解决现有技术中存在的依赖摄像头的角度导致漏检、误检的技术问题,本发明提供一种人车流量统计方法、电子设备及存储介质。
6.方案一:一种人车流量统计方法,包括以下步骤:s1.获取行人或车辆目标的矩形检测框坐标信息,并获取目标跟踪的id信息;s2.使用不同斜率的线段划分人行道或车道;s3.设定距离阈值,将各个线段沿着垂直平分线前后方向平移得到的两个虚拟区域:s4.计算行人或车辆目标的中心点坐标,根据行人或车辆目标的坐标信息判断目标是否进入虚拟区域;s5.将进入两个虚拟区域的目标id进行比较,如果进入两个虚拟区域的id前后一致,进行计数。
7.优选的,采用yolov5目标检测算法模型检测视频每帧图片中行人和车辆,获得行人和车辆的矩形检测框坐标信息(left, top, width, height)其中,left、top、 width、height分别为矩形检测框的左上角横坐标、左上角纵坐标、宽度和高度。
8.优选的,获取目标跟踪的id信息的方法是:采用级联匹配算法,将行人和车辆的矩形检测框与预测的目标跟踪框的iou输入到匈牙利算法中进行线性分配直接关联当前帧中
的id。
9.优选的,设定距离阈值t1和t2;t1代表当前线段到虚拟区域第一条边的距离;t2代表当前线段到虚拟区域第二条边的距离,t2大于t1;线段沿着垂直平分线向上平移t1距离得到虚拟区域1的第1条边,向上平移t2距离得到虚拟区域1的第2条边,将第1条边和第2条边的四个顶点坐标组成虚拟区域1;线段沿着垂直平分线向下平移t1距离得到虚拟区域2的第1条边,向下平移t2距离得到虚拟区域2的第2条边,将第1条边和第2条边的四个顶点坐标组成虚拟区域2。
10.优选的,计算顶点坐标的方法是:假设线段ab的两端点坐标为a(,)和b(,),将线段沿着垂直平分线向上偏移,偏移量为t,得到cd线段c(,)和d(,)其中,表示线段ab的斜率,表示垂直平分线与坐标y的夹角;根据线段沿着垂直平分线向上移动t的偏移量,得到x坐标的偏移和y坐标的偏移,那么c(,)和d(,)的坐标为:同理,当沿着垂直平分线分别向上向下平移t1和t2距离时,计算得到虚拟区域的坐标集合,虚拟区域1的四个顶点坐标集合为:虚拟区域2的四个顶点坐标集合为:。
11.优选的,计算行人或车辆目标的中心点坐标,根据行人或车辆目标的坐标信息判断目标是否进入虚拟区域的方法是:包括以下步骤:s41.根据行人和车辆的矩形检测框坐标信息(left,top, width, height),计算当前目标的中心点坐标(x,y):
s42.判断坐标点(x,y)是否在虚拟区域内,计算通过该点的水平线与虚拟区域多边形各边的交点个数c,假设区域顶点坐标集合为{{x[0], y[0]},{x[1], y[1]}...{x[n-1], y[n-1]}},计算方法为:s421.初始另i=0,j=n-1,c=0;s422.若i《 n,执行s423-s424,否则退出;s423.若(y 《 y[i])= (y 《 y[j])且x 《( (x[j]
ꢀ‑ꢀ
x[i]) * (y
ꢀ‑ꢀ
y[i]) / (y[j]
ꢀ‑ꢀ
y[i] ) + x[i])都成立,则c=c+1;s424.j=i;i=i+1;跳转到s422;s43.计算得到交点个数c,若1=c%2,目标进入区域范围内。
[0012]
优选的,s5所述将进入两个虚拟区域的目标id进行比较的方法是:为各个线段的虚拟区域分配对应的数组队列,数组队列存储进入虚拟区域的目标id,队列长度为n,对数组队列预先设计两种函数操作:比较并新增元素:将新元素与数组队列的每个元素进行比较,若,新元素不在数组队列中,将数组头元素出队,若新元素在数组队列,将新元素加到数组尾,同时返回判断结果;比较并删除元素:将新元素与数组队列的每个元素进行比较,若,新元素在数组队列中,将此元素删除,后面的元素往前移,同时返回判断结果;从虚拟区域1通过线段进入到虚拟区域2的方向的计数方法为:当目标进入虚拟区域1时,将当前目标id作为新元素按照“比较并新增元素”的操作方式加入数组队列1;当目标进入虚拟区域2时,将当前目标id作为新元素按照“比较并删除元素”的操作方式对数组队列1进行操作;当返回的判断结果显示“当前目标id在数组队列1内”,并成功删除掉之后,对从虚拟区域1通过线段进入到虚拟区域2的目标流量进行计数;从虚拟区域2通过线段进入到虚拟区域1的方向的计数方法为:当目标进入虚拟区域2时,将当前目标id作为新元素按照“比较并新增元素”的操作方式加入到数组队列2;当目标进入虚拟区域1时,将当前目标id作为新元素按照“比较并删除元素”的操作方式对数组队列2进行操作;当返回的判断结果显示“当前目标id在数组队列2内”,并成功删除掉之后,对从虚拟区域2通过线段进入到虚拟区域1的目标流量进行计数。
[0013]
方案二、 一种电子设备,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现方案一所述方法的步骤。
[0014]
方案三、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现方案一所述的方法。
[0015]
本发明的有益效果如下:本发明采用深度学习yolov5目标检测算法和deepsort目
标跟踪算法对人车进行识别和跟踪,并提出一种计数算法,使用不同斜率的线段划分人行道或者车道,设定两个距离阈值计算各个线段的两个虚拟区域,通过虚拟区域和数组队列的方式,分别统计经过各个线段垂直平分线(等同于摄像头画面上的不同角度)前后方向的人车流量,降低了对摄像头角度的依赖,避免漏检和重复计数误检现象。
附图说明
[0016]
此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1为本发明方法流程示意图;图2为本发明不同斜率的线段划分道路示意图;图3为本发明虚拟区域示意图;图4为本发明计算顶点坐标方法示意图;图5为本发明数组队列示意图;图6为现有计数算法划分道路示意图。
具体实施方式
[0017]
为了使本技术实施例中的技术方案及优点更加清楚明白,以下结合附图对本技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本技术的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0018]
实施例1、参照图1-图6说明本实施方式,一种人车流量统计方法,包括以下步骤:s1.获取行人或车辆目标的矩形检测框坐标信息,并获取目标跟踪的id信息;采用yolov5目标检测算法模型检测视频每帧图片中行人和车辆,获得行人和车辆的矩形检测框坐标信息(left, top, width, height)其中,left、top、 width、height分别为矩形检测框的左上角横坐标、左上角纵坐标、宽度和高度;yolov5是一种单阶段目标检测算法,具体包括:yolov5s、yolov5m、yolov5l和yolov5x四个版本,模型越大,其检测精度越高,检测速度越慢,可根据自身对准确度和精确度的需求选择不同版本。
[0019]
获取目标跟踪的id信息的方法是:利用deepsort目标跟踪算法对识别到的行人和车辆进行跟踪,获取目标id信息。
[0020]
deepsort采用的级联匹配算法,采用级联匹配算法,将行人和车辆的矩形检测框与预测的目标跟踪框的iou输入到匈牙利算法中进行线性分配直接关联当前帧中的id,目标的物体外观位置信息可以加入连接到帧间匹配的过程计算中,这样在目标被物体遮挡但后续目标再次出现的实际情况下,还可以正确的来匹配这个帧间id,在进行实时检测目标追踪过程中,可以改善在有遮挡目标情况下的实时目标自动追踪检测效果。同时,也大大减少了目标id之间跳变频繁的问题,达到持续跟踪的目的。
[0021]
s2.使用不同斜率的线段划分人行道或车道;s3.设定距离阈值,将各个线段沿着垂直平分线前后方向平移得到的两个虚拟区域。
[0022]
根据线段坐标和线段沿着垂直平分线平移的关系,分别计算得到各个线段沿着垂直平分线前后方向的两个虚拟区域的顶点坐标。
[0023]
设定距离阈值t1和t2;t1代表当前线段到虚拟区域第一条边的距离;t2代表当前线段到虚拟区域第二条边的距离,t2大于t1;线段沿着垂直平分线向上平移t1距离得到虚拟区域1的第1条边,向上平移t2距离得到虚拟区域1的第2条边,将第1条边和第2条边的四个顶点坐标组成虚拟区域1;线段沿着垂直平分线向下平移t1距离得到虚拟区域2的第1条边,向下平移t2距离得到虚拟区域2的第2条边,将第1条边和第2条边的四个顶点坐标组成虚拟区域2。
[0024]
计算顶点坐标的方法是:假设线段ab的两端点坐标为a( ,)和b(,),将线段沿着垂直平分线向上偏移,偏移量为t,得到cd线段c(,)和d(,)其中,表示线段ab的斜率,表示垂直平分线与坐标y的夹角;根据线段沿着垂直平分线向上移动t的偏移量,得到x坐标的偏移和y坐标的偏移,那么c(,)和d(,)的坐标为:同理,当沿着垂直平分线分别向上向下平移t1和t2距离时,计算得到虚拟区域的坐标集合,虚拟区域1的四个顶点坐标集合为:虚拟区域2的四个顶点坐标集合为:。
[0025]
s4.计算行人或车辆目标的中心点坐标,根据行人或车辆目标的坐标信息判断目标是否进入虚拟区域:包括以下步骤:s41.根据行人和车辆的矩形检测框坐标信息(left,top, width, height),计算当前目标的中心点坐标(x,y):
x = left + width/2y = top+ height/2s42.判断坐标点(x,y)是否在虚拟区域内,计算通过该点的水平线与虚拟区域多边形各边的交点个数c,假设区域顶点坐标集合为{{x[0], y[0]},{x[1], y[1]}...{x[n-1], y[n-1]}},计算方法为:s421.初始另i=0,j=n-1,c=0;s422.若i《 n,执行s423-s424,否则退出;s423.若(y 《 y[i])= (y 《 y[j])且x 《( (x[j]
ꢀ‑ꢀ
x[i]) * (y
ꢀ‑ꢀ
y[i]) / (y[j]
ꢀ‑ꢀ
y[i] ) + x[i])都成立,则c=c+1;s424.j=i;i=i+1;跳转到s422;s43.计算得到交点个数c,若1=c%2,目标进入区域范围内。
[0026]
s5.为各个线段的虚拟区域分配对应的数组队列,并设定数组队列长度,将进入某个线段虚拟区域1和虚拟区域2的目标id分别加入到对应的数组队列之后,根据数组队列操作进行比较计数。
[0027]
为各个线段的虚拟区域分配对应的数组队列,数组队列存储进入虚拟区域的目标id,队列长度为n,对数组队列预先设计两种函数操作:比较并新增元素:将新元素与数组队列的每个元素进行比较,若,新元素不在数组队列中,将数组头元素出队,若新元素在数组队列,将新元素加到数组尾,同时返回判断结果;比较并删除元素:将新元素与数组队列的每个元素进行比较,若,新元素在数组队列中,将此元素删除,后面的元素往前移,同时返回判断结果;从虚拟区域1通过线段进入到虚拟区域2的方向的计数方法为:当目标进入虚拟区域1时,将当前目标id作为新元素按照“比较并新增元素”的操作方式加入数组队列1;当目标进入虚拟区域2时,将当前目标id作为新元素按照“比较并删除元素”的操作方式对数组队列1进行操作;当返回的判断结果显示“当前目标id在数组队列1内”,并成功删除掉之后,对从虚拟区域1通过线段进入到虚拟区域2的目标流量进行计数;从虚拟区域2通过线段进入到虚拟区域1的方向的计数方法为:当目标进入虚拟区域2时,将当前目标id作为新元素按照“比较并新增元素”的操作方式加入到数组队列2。
[0028]
当目标进入虚拟区域1时,将当前目标id作为新元素按照“比较并删除元素”的操作方式对数组队列2进行操作当返回的判断结果显示“当前目标id在数组队列2内”,并成功删除掉之后,对从虚拟区域2通过线段进入到虚拟区域1的目标流量进行计数。
[0029]
实施例2、本发明的计算机装置可以是包括有处理器以及存储器等装置,例如包含中央处理器的单片机等。并且,处理器用于执行存储器中存储的计算机程序时实现上述的基于creo软件的可修改由关系驱动的推荐数据的推荐方法的步骤。
[0030]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其
他通用处理器、数字信号处理器 (digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列 (field-programmable gate array,fpga) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0031]
所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0032]
实施例3、计算机可读存储介质实施例本发明的计算机可读存储介质可以是被计算机装置的处理器所读取的任何形式的存储介质,包括但不限于非易失性存储器、易失性存储器、铁电存储器等,计算机可读存储介质上存储有计算机程序,当计算机装置的处理器读取并执行存储器中所存储的计算机程序时,可以实现上述的基于creo软件的可修改由关系驱动的建模数据的建模方法的步骤。
[0033]
所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0034]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1