1.本发明涉及机器视觉技术领域,具体地,涉及一种基于机器视觉的道路抛洒物检测追踪方法和系统。
背景技术:2.目前,智慧交通路测端感知设备,大部分由摄像头、毫米波雷达、激光雷达组成,比较成熟的探测感知技术都是基于人工先验标注的数据,通过监督学习,来生成响应的模型,再通过网络推理而得到结果,而高速路网上面,各种各样的随机丢弃物,从车上掉落,或者故意抛出的物体,难以通过人工先验收集标签,来通过上述的监督学习来指导训练,推理监测出来。
3.专利文献cn111339824a(申请号:cn201911409901.5)公开了一种基于机器视觉的路面抛洒物检测方法,包括获取摄像机视频流,按帧读取图像,对图像中每一个像素点建立高斯混合模型,并利用高斯混合模型实现运动目标与背景分离;去除运动目标图像噪点,强化运动目标图像,凸显待检测物体;将强化后的运动目标图像按帧输入经过训练的yolo v3目标检测网络,完成对路面抛洒物区域的框选。而现存于市面上基于视觉的检测技术,难以精准的探测出抛洒物体,误检测较多,并且缺乏实时性。
技术实现要素:4.针对现有技术中的缺陷,本发明的目的是提供一种基于机器视觉的道路抛洒物检测追踪方法和系统。
5.根据本发明提供的基于机器视觉的道路抛洒物检测追踪方法,包括:
6.步骤1:使用高斯混合模型分离监控区域前后景,模型输入为3通道的rgb彩图,输出为1通道的灰度图,灰度图中只包含2种信息,全黑的区域为背景区域,白色区域为可能的抛洒物目标和运动目标;
7.步骤2:剔除预设交通参与者目标;
8.步骤3:获取前景目标的最小矩形框的像素位置,逐个与神经网络检出物进行递归匹配比较,若匹配则剔除目标,不进行疑似抛洒物追踪;若不匹配则进行疑似抛洒物追踪;
9.步骤4:对疑似抛洒物从运动态到静止态进行交并比iou追踪,根据交并比值确认是否为抛洒物。
10.优选的,所述步骤1包括:
11.步骤1.1:初始化高斯模型;
12.步骤1.2:设定背景学习率和模式系数,通过学习率参与权重计算并更新权重值;
13.步骤1.3:在权重值满足预设条件后,得到监控区域的前后背景分离。
14.优选的,所述步骤2包括:
15.统计分离出来的所有白色区域前景,作为抛洒物候选,通过神经网络推理出交通参与者,在抛洒物候选中减去推理出的交通参与者,得到可能的抛洒物;
16.神经网络推理出交通参与者的过程为:加载预先训练好的网络模型,输入对应权重值和偏差参数,然后由计算机自动进行推断,得到每帧检测标的物,以及标的物的像素位置和物体类型。
17.优选的,交并比iou追踪衡量两个边界框重叠的相对大小,得到预测边框与真实边框的交集的比值,交并比值越高,说明帧间物体运动状态越趋近于静止,当场景中有多个目标相交时,匹配最大的iou目标框。
18.优选的,iou值计算公式为:
[0019][0020]
iou(a,b)代表两个目标框重叠的交并比值;area(a)代表a目标的边界框面积大小;area(b)代表b目标的边界框面积大小;公式分子代表目标a,b的面积相交部分;公式分母代表目标a,b的面积并集大小。
[0021]
根据本发明提供的基于机器视觉的道路抛洒物检测追踪系统,包括:
[0022]
模块m1:使用高斯混合模型分离监控区域前后景,模型输入为3通道的rgb彩图,输出为1通道的灰度图,灰度图中只包含2种信息,全黑的区域为背景区域,白色区域为可能的抛洒物目标和运动目标;
[0023]
模块m2:剔除预设交通参与者目标;
[0024]
模块m3:获取前景目标的最小矩形框的像素位置,逐个与神经网络检出物进行递归匹配比较,若匹配则剔除目标,不进行疑似抛洒物追踪;若不匹配则进行疑似抛洒物追踪;
[0025]
模块m4:对疑似抛洒物从运动态到静止态进行交并比iou追踪,根据交并比值确认是否为抛洒物。
[0026]
优选的,所述模块m1包括:
[0027]
模块m1.1:初始化高斯模型;
[0028]
模块m1.2:设定背景学习率和模式系数,通过学习率参与权重计算并更新权重值;
[0029]
模块m1.3:在权重值满足预设条件后,得到监控区域的前后背景分离。
[0030]
优选的,所述模块m2包括:
[0031]
统计分离出来的所有白色区域前景,作为抛洒物候选,通过神经网络推理出交通参与者,在抛洒物候选中减去推理出的交通参与者,得到可能的抛洒物;
[0032]
神经网络推理出交通参与者的过程为:加载预先训练好的网络模型,输入对应权重值和偏差参数,然后由计算机自动进行推断,得到每帧检测标的物,以及标的物的像素位置和物体类型。
[0033]
优选的,交并比iou追踪衡量两个边界框重叠的相对大小,得到预测边框与真实边框的交集的比值,交并比值越高,说明帧间物体运动状态越趋近于静止,当场景中有多个目标相交时,匹配最大的iou目标框。
[0034]
优选的,iou值计算公式为:
[0035]
[0036]
iou(a,b)代表两个目标框重叠的交并比值;area(a)代表a目标的边界框面积大小;area(b)代表b目标的边界框面积大小;公式分子代表目标a,b的面积相交部分;公式分母代表目标a,b的面积并集大小。
[0037]
与现有技术相比,本发明具有如下的有益效果:
[0038]
本发明解决了路测端视觉抛洒物体难以检测,并且准确度偏低的问题,通过低计算复杂度的triou_track算法,能够高效实时追踪抛洒物,实时化的视觉工程化落地嵌入式系统。
附图说明
[0039]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0040]
图1为本发明方法流程图;
[0041]
图2为多目标追踪示意图;
[0042]
图3为混合高斯模型的输出示意图。
具体实施方式
[0043]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0044]
实施例:
[0045]
目前基于摄像头的抛洒物识别算法已经实际部署到x86,cpu16g,以及nvidia jetson nano系列,系统集成设备也以部署到路测端。
[0046]
本发明提出了一种基于gmm混合高斯建模的抛洒物检测、追踪算法,对交通参与者存在物体抛洒行为进行实时监控并快速追踪,该追踪算法为本发明的核心,为带召回时间的交并比多帧追踪方法triou_track。主要算法在计算物体交并集的时候,根据帧间的交并比值变化,记录物体运动状态,从运动态、停止运行中、静止三态变化,来高效追踪,并最终判断是否为抛洒物体。
[0047]
如图1,具体包括如下步骤:
[0048]
步骤1:使用高斯混合模型分离监控区域前后景;
[0049]
使用两种方式来建立高斯模型,一种是使用opencv的backgroundsubstractormog2方法进行背景提取;另一种为本发明用c/c++语言所实现的步骤。
[0050]
混合高斯背景建模是基于像素样本统计信息的背景表示方法,利用像素在较长时间内大量样本值的概率密度等统计信息(如模式数量、每个模式的均值和标准差)表示背景,然后使用统计差分(如3σ原则)进行目标像素判断,可以对复杂动态背景进行建模,计算量较大。
[0051]
在混合高斯背景模型中,认为像素之间的颜色信息互不相关,对各像素点的处理都是相互独立的。对于视频图像中的每一个像素点,其值在序列图像中的变化可看作是不
断产生像素值的随机过程,即用高斯分布来描述每个像素点的颜色呈现规律,用单峰表示单模态,用多峰表示多模态。
[0052]
对于多峰高斯分布模型,图像的每一个像素点按不同权值的多个高斯分布的叠加来建模,每种高斯分布对应一个可能产生像素点所呈现颜色的状态,各个高斯分布的权值和分布参数随时间更新。当处理彩色图像时,假定图像像素点r、g、b三色通道相互独立并具有相同的方差。对于随机变量x的观测数据集{x1,x2,
…
,xn},xt=(rt,gt,bt)为t时刻像素的样本,则单个采样点xt其服从的混合高斯分布概率密度。
[0053]
本发明使用gmm混合高斯模型,输入为一副3通道的rgb彩图,输出为一副1通道的灰度图,其中灰度图中只包含2种信息,全黑的区域为大致的背景区域,白色区域为可能的抛洒物目标和运动目标,如图3。
[0054]
步骤1.1、初始化高斯模型;
[0055]
步骤1.2、更新参数,设定背景学习率;
[0056]
constdoublealpha=0.002;//固定学习率为0.002;
[0057]
constdoublect=0.05;//设定模式系数为定值0.05;
[0058]
constdoubleprune=-alpha*ct;//匹配模式prune等于学习率乘以ct,也是定参数;
[0059]
constdoublealpha_bar=1.0-alpha;
[0060]
weight=ptr-》weight;//将新的权重更新赋值;
[0061]
weight=weight*alpha_bar+prune;以上,更新就是更新像素的权重,通过定学习率参与weight的计算,更新weight的值,学习率的alpha的不同会导致系统计算图像前后景的时间不同,alpha越大背景分离速度快,但是效果精度低,反之则背景分离慢,但是精度高。
[0062]
步骤1.3、获取监控区域的前后背景分离;
[0063]
步骤2:剔除常见交通参与者目标;
[0064]
常见的交通参与者为骑行人员,行人,车辆三大类,剔除方法为:首先统计分离出来的所有白色空洞前景,作为抛洒物候选,然后,该系统运用神经网络推理出来交通参与者,统计的总数减去推理出来的交通参与者,剩下的就是可能的抛洒物(白色空洞)
[0065]
步骤2.1、系统获取视觉检测常见目标;
[0066]
该算法系统从整个运行软件系统,能够实时获取每帧的常见检测标的物,附带获取标的物的像素位置,物体类型,通常由神经网络推理完成。推理过程是,系统加载预先训练好的网络模型,即各种权重加偏差参数,然后计算机自动进行推断。
[0067]
步骤3:追踪过滤后目标物
[0068]
计算前景目标的最小矩形框的像素位置,逐个与神经网络检出物进行递归匹配比较,若匹配的上则剔除目标,不做疑似抛洒物追踪,若匹配不上则入选待定抛洒物,进一步分析追踪。
[0069]
步骤4:对疑似物体进行triou_track操作。
[0070]
目标检测当中,有一个常用的指标,叫iou(intersectionoverunion),它常常用来衡量目标检测任务中,预测结果的位置信息的准确程度。
[0071]
在目标检测中需要从给定的图片里,推测出这张图片里有哪样(或者是哪几样)东
西,并且推测这样(或者这几样)东西在图片中的具体位置。实际检测过程中,识别框与实际位置存在偏差,通常使用iou(intersection over union)这个指标来衡量偏差的大小。
[0072]
iou交并集操作,主要衡量2个边界框重叠的相对大小,得到预测的边框与真实边框的交集的比值,交并比越高,说明帧间物体运动状态越趋近于静止,本发明通过限定几组交并比阈值(lazy_threshold,status_threshold),来判断物体的运动态,当场景中有多个目标相交时候,则匹配最大的iou目标框,多目标追踪示意图如图2。
[0073]
计算iou得分公式:
[0074][0075]
iou(a,b)代表两个目标框重叠的交并比值;area(a)代表a的边界框面积大小;公式分子代表a,b的面积相交部分;公式分母代表a,b的面积并集大小。
[0076]
根据本发明提供的基于机器视觉的道路抛洒物检测追踪系统,包括:模块m1:使用高斯混合模型分离监控区域前后景,模型输入为3通道的rgb彩图,输出为1通道的灰度图,灰度图中只包含2种信息,全黑的区域为背景区域,白色区域为可能的抛洒物目标和运动目标;模块m2:剔除预设交通参与者目标;模块m3:获取前景目标的最小矩形框的像素位置,逐个与神经网络检出物进行递归匹配比较,若匹配则剔除目标,不进行疑似抛洒物追踪;若不匹配则进行疑似抛洒物追踪;模块m4:对疑似抛洒物从运动态到静止态进行交并比iou追踪,根据交并比值确认是否为抛洒物。
[0077]
所述模块m1包括:模块m1.1:初始化高斯模型;模块m1.2:设定背景学习率和模式系数,通过学习率参与权重计算并更新权重值;模块m1.3:在权重值满足预设条件后,得到监控区域的前后背景分离。所述模块m2包括:统计分离出来的所有白色区域前景,作为抛洒物候选,通过神经网络推理出交通参与者,在抛洒物候选中减去推理出的交通参与者,得到可能的抛洒物;神经网络推理出交通参与者的过程为:加载预先训练好的网络模型,输入对应权重值和偏差参数,然后由计算机自动进行推断,得到每帧检测标的物,以及标的物的像素位置和物体类型。交并比iou追踪衡量两个边界框重叠的相对大小,得到预测边框与真实边框的交集的比值,交并比值越高,说明帧间物体运动状态越趋近于静止,当场景中有多个目标相交时,匹配最大的iou目标框。
[0078]
iou值计算公式为:iou(a,b)代表两个目标框重叠的交并比值;area(a)代表a目标的边界框面积大小;area(b)代表b目标的边界框面积大小;公式分子代表目标a,b的面积相交部分;公式分母代表目标a,b的面积并集大小。
[0079]
triou_track算法伪代码:
[0080]
输入:status_threshold,lazy_threshold,sigma_h,sigma_iou,t_min,detections,disturbing_factor
[0081]
输出:tracks
[0082]
for 0:detections.size():遍历每一帧检测全集
[0083]
for track in all active_tracks遍历所有现有tracks
[0084]
debest=highestiou(track.bbox,frameboxs)
[0085]
if iou(debest,track)》sigma_iou
[0086]
score of debest’index=iou(debest,track)
[0087]
记录下iou的值,并且和序列号;
[0088]
if(track.first_stationary&&scoreofiou》lazy_threshold+disturbing_factor)&&scoreofiou《status_threshold+disturbing_factor
[0089]
track.status=static_sure判定为抛洒物体
[0090]
track.stationary_count-=1该目标的停止计数减一
[0091]
if scoreofiou》status_threshold+disturbing_factor:
[0092]
track.first_stationary=true
[0093]
track.status=stopping目标判断为正在停止状态
[0094]
track.stationary_count+=1
[0095]
else:
[0096]
track.status=moving该目标始终在运动
[0097]
track.stationary_count=0该目标没停止过
[0098]
updatetrack
[0099]
else:
[0100]
…
[0101]
for dj in detections:
[0102]
start new track for dj,add to active_tracks
[0103]
return active_tracks
[0104]
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
[0105]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。