一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种结合深度学习和高斯混合模型的无监督逆行检测算法的制作方法

2021-12-12 23:16:00 来源:中国专利 TAG:

1.本发明涉及逆向行驶检测技术领域,尤其涉及一种结合深度学习和高斯混合模型的无监督逆行检测算法。


背景技术:

2.现存的车辆逆行检测算法,主要有两种:1.基于细粒度分类的方法,通过目标检测识别出车辆,然后对识别的目标框进行细粒度分类,得到车辆的朝向(四方向或者八方向分类),通过对比车辆朝向和事先设定的道路方向,即可判断出逆行车辆,该方法为二阶段算法,响应慢,细分类数据标注繁琐,且需要人为提供先验知识,应用面较窄;2.基于目标追踪的方法,通过目标检测算法识别出车辆,然后送入追踪算法进行追踪,同步算出该目标的运动方向,结合预先设定的道路方向,即可判断逆行车辆,该方法较前述方法更为简单,无需额外标注数据,但同样的,其也需要人为指定正确行驶方向,具有局限性。
3.综上所述,本发明通过设计一种结合深度学习和高斯混合模型的无监督逆行检测算法来解决存在的问题。


技术实现要素:

4.本发明的目的在于提供一种结合深度学习和高斯混合模型的无监督逆行检测算法,以解决上述背景技术中提出的问题。
5.为实现上述目的,本发明提供如下技术方案:
6.一种结合深度学习和高斯混合模型的无监督逆行检测算法,包括目标检测、目标追踪和速度聚类,其具体步骤如下:
7.s1,目标检测:采用一阶段目标检测算法,并且利用coco预训练模型,可以得到车辆检测器,用该检测器可以检测出图片中车辆的位置坐标及宽高;
8.s2,将s1中得到的目标图片和位置信息送入追踪器,进行追踪计算,将不同时间帧图片中的相同目标找到,同时通过状态转移矩阵得到目标的速度,考虑到单目相机的测距并不准确,此处的速度主要指速度方向,后面相同;
9.s3,将图片进行网格化得到若干区域,每个区域初始化一个速度记录器,用来记录该区域的过往速度,并判断后续速度是否属于逆行,按照s1和s2,步骤得到车辆的位置和速度后,根据该车辆的位置选择速度记录器,将车辆的速度录入,更新记录器并判断车辆是否逆行。
10.作为本发明优选的方案,所述s1中一阶段目标检测算法包括但不仅限于yolo,ssd,retinanet,并且其具体步骤如下:
11.s11,以yolov5为例,将图片变形为640*640的尺寸送入网络,得到包含[x,y,w,h,c,s]的识别结果,其中x,y为目标中心点坐标,w,h为目标框的宽和高,c是目标的类别,s为目标的置信度;
[0012]
s12,根据x,y,w,h和原图得到一个个具体目标的图片及其在原图中的位置。
[0013]
作为本发明优选的方案,所述s2中追踪器采用但不仅限于deepsort,其具体步骤如下:
[0014]
以deepsort为例,得到每一个目标的唯一id,id相同的目标为同一个物体,由于deepsort中的卡尔曼滤波器的转移矩阵如下:
[0015][0016]
从而在追踪的过程中也得到了目标的速度。
[0017]
作为本发明优选的方案,所述s3中网格化的具体步骤如下:
[0018]
由于车辆的行驶方向是否属于逆行与其所处的路段有关,所以对图片进行网格化,假设图片尺寸为w*h,每一个小网格的尺寸为w*h,从而得到一共w//w*h//h个网格,每一个网格都初始化一个速度记录器,目标位置(x,y)和其所属的网格(i,j)之间的对应关系为(i,j)=(x//w,y//h);
[0019]
作为本发明优选的方案,所述s3中速度记录器的具体步骤如下:
[0020]
每一个速度记录器实质是一个聚类器,采用高斯混合模型,记录该区域内过往行驶车辆的速度,聚类的簇k等于该区域的最大可通行方向,一般设为4即通常最大通行方向发生在交叉路口处,一般不会超过4个,高斯混合模型的参数计算过程一般采用极大似然估计和em算法,结合实际情况,对em算法进行简化。
[0021]
作为本发明优选的方案,所述s3中逆行的检测的具体步骤如下:
[0022]
对于每一个速度记录器,当速度个数,即样本数量大于一定值时,即可进行逆行判断,对于新来的车辆,计算其速度属于该区域的速度分布的概率,并基于此判断车辆速度是否正常即是否逆行。
[0023]
作为本发明优选的方案,所述高斯混合模型中高斯分布的概率分布函数如下所示:
[0024][0025]
其中μ,∑分别为均值和方差,高斯混合模型即为k个高斯分布,其概率分布为:
[0026][0027]
其中φ代表单高斯分布,α
k
表示数据属于第k个模型的概率,且有:
[0028][0029]
作为本发明优选的方案,所述极大似然估计和em算法,具体步骤如下:单高斯分布的参数通过极大似然估计来计算,似然函数为:
[0030]
[0031]
则最优参数为:
[0032]
θ=argmax
θ
l(θ)
[0033]
此时,两边取对数得到:
[0034][0035]
对于高斯混合模型,则有:
[0036][0037]
与单高斯模型对比,上式是无法通过求导进行直接求解的,其中包含了三个未知数为α
k

k

k

[0038]
为了求解上式,有em算法,此方法为迭代算法,步骤如下:
[0039]
a.e

step,根据当前的参数计算期望:e(γ
jk
|x,θ)
[0040]
b.m

step,由于此时α
k
已知,可以利用极大似然计算出μ
k

k

[0041]
重复e

step和m

step,直至参数收敛:||θ
i 1

θ
i
||<ε
[0042]
作为本发明优选的方案,所述em算法的简化具体步骤如下:
[0043]
em算法在求解的过程中,每次记录新速度,都需要进行一轮迭代,同时每记录一个速度样本也需要开辟内存进行保存,其时间复杂度为o(n2),空间复杂度为o(n),结合该问题实际情况,进行了简化,使时间复杂度和空间复杂度均降为o(1),具体如下:
[0044]
a.e

step:对α
k
进行离散化,同时在计算α
k
的时候,利用速度夹角进行分配,即:
[0045][0046]
式中,k聚类簇,π/k表示了平均的类间距离,本例中,也就是平均夹角;
[0047]
b.m

step:由于σ
k
并非必须参数,为简化计算,忽略σ
k
的影响,只保留μ
k
,进而在计算过程中采用滑动更新的方式,而非采用极大似然计算。更新方式如下:
[0048][0049]
式中,l为样本数量,可见样本数量越多,更新速度越慢,模型也越稳定,通过两块部分的简化,将em的迭代过程简化为o(1)步计算,且变量保存也只有l和μ。
[0050]
作为本发明优选的方案,所述计算其速度属于该区域的速度分布的概率具体步骤如下:
[0051]
由于对em过程的简化,使得概率的计算方式简化:
[0052][0053]
同时,判断阈值的表达式为:
[0054][0055]
其中ε>=1,为调整系数,一般选1~2,比较概率和阈值的大小即可判断逆行。
[0056]
与现有技术相比,本发明的有益效果是:
[0057]
1、本发明中,通过设计目标检测采用预训练模型,判断逆行采用的是聚类算法,均无需额外标注,且无需人为指定正确方向;同时,算法在单行道、双行道、交叉路口、不可通行区域等各种复杂路段均可使用,泛化性好;此外算法精度高,响应快,在保证精度的同时可达到超实时的处理速率。
具体实施方式
[0058]
下面将结合本发明实施例中,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0059]
本发明提供一种技术方案:
[0060]
一种结合深度学习和高斯混合模型的无监督逆行检测算法,包括目标检测、目标追踪和速度聚类,其具体步骤如下:
[0061]
s1,目标检测:采用一阶段目标检测算法,并且利用coco预训练模型,可以得到车辆检测器,用该检测器可以检测出图片中车辆的位置坐标及宽高;
[0062]
s2,将s1中得到的目标图片和位置信息送入追踪器,进行追踪计算,将不同时间帧图片中的相同目标找到,同时通过状态转移矩阵得到目标的速度,考虑到单目相机的测距并不准确,此处的速度主要指速度方向,后面相同;
[0063]
s3,将图片进行网格化得到若干区域,每个区域初始化一个速度记录器,用来记录该区域的过往速度,并判断后续速度是否属于逆行,按照s1和s2,步骤得到车辆的位置和速度后,根据该车辆的位置选择速度记录器,将车辆的速度录入,更新记录器并判断车辆是否逆行。
[0064]
作为本发明进一步优选的方案,所述s1中一阶段目标检测算法包括但不仅限于yolo,ssd,retinanet,并且其具体步骤如下:
[0065]
s11,以yolov5为例,将图片变形为640*640的尺寸送入网络,得到包含[x,y,w,h,c,s]的识别结果,其中x,y为目标中心点坐标,w,h为目标框的宽和高,c是目标的类别,s为目标的置信度;
[0066]
s12,根据x,y,w,h和原图得到一个个具体目标的图片及其在原图中的位置。
[0067]
作为本发明进一步优选的方案,所述s2中追踪器采用但不仅限于deepsort,其具体步骤如下:
[0068]
以deepsort为例,得到每一个目标的唯一id,id相同的目标为同一个物体,由于deepsort中的卡尔曼滤波器的转移矩阵如下:
[0069][0070]
从而在追踪的过程中也得到了目标的速度。
[0071]
作为本发明进一步优选的方案,所述s3中网格化的具体步骤如下:
[0072]
由于车辆的行驶方向是否属于逆行与其所处的路段有关,所以对图片进行网格
化,假设图片尺寸为w*h,每一个小网格的尺寸为w*h,从而得到一共w//w*h//h个网格,每一个网格都初始化一个速度记录器,目标位置(x,y)和其所属的网格(i,j)之间的对应关系为(i,j)=(x//w,y//h);
[0073]
作为本发明进一步优选的方案,所述s3中速度记录器的具体步骤如下:
[0074]
每一个速度记录器实质是一个聚类器,采用高斯混合模型,记录该区域内过往行驶车辆的速度,聚类的簇k等于该区域的最大可通行方向,一般设为4即通常最大通行方向发生在交叉路口处,一般不会超过4个,高斯混合模型的参数计算过程一般采用极大似然估计和em算法,结合实际情况,对em算法进行简化。
[0075]
作为本发明进一步优选的方案,所述s3中逆行的检测的具体步骤如下:
[0076]
对于每一个速度记录器,当速度个数,即样本数量大于一定值时,即可进行逆行判断,对于新来的车辆,计算其速度属于该区域的速度分布的概率,并基于此判断车辆速度是否正常即是否逆行。
[0077]
作为本发明进一步优选的方案,所述高斯混合模型中高斯分布的概率分布函数如下所示:
[0078][0079]
其中μ,∑分别为均值和方差,高斯混合模型即为k个高斯分布,其概率分布为:
[0080][0081]
其中φ代表单高斯分布,a
k
表示数据属于第k个模型的概率,且有:
[0082][0083]
作为本发明进一步优选的方案,所述极大似然估计和em算法,具体步骤如下:
[0084]
单高斯分布的参数通过极大似然估计来计算,似然函数为:
[0085][0086]
则最优参数为:
[0087]
θ=argmax
θ
l(θ)
[0088]
为方便计算,两边取对数得到:
[0089][0090]
对于高斯混合模型,则有:
[0091][0092]
与单高斯模型对比,上式是无法通过求导进行直接求解的,其中包含了三个未知
数为α
k

k

k

[0093]
为了求解上式,有em算法,此方法为迭代算法,步骤如下:
[0094]
a.e

step,根据当前的参数计算期望:e(γ
jk
|x,θ)
[0095]
b.m

step,由于此时α
k
已知,可以利用极大似然计算出μ
k

k
;重复e

step和m

step,直至参数收敛:||θ
i 1

θ
i
||<ε
[0096]
作为本发明进一步优选的方案,所述em算法的简化具体步骤如下:
[0097]
em算法在求解的过程中,每次记录新速度,都需要进行一轮迭代,同时每记录一个速度样本也需要开辟内存进行保存,其时间复杂度为o(n2),空间复杂度为o(n),结合该问题实际情况,进行了简化,使时间复杂度和空间复杂度均降为o(1),具体如下:
[0098]
a.e

step:对α
k
进行离散化,同时在计算α
k
的时候,利用速度夹角进行分配,即:
[0099][0100]
式中,k聚类簇,π/k表示了平均的类间距离,本例中,也就是平均夹角;
[0101]
b.m

step:由于σ
k
并非必须参数,为简化计算,忽略σ
k
的影响,只保留μ
k
,进而在计算过程中采用滑动更新的方式,而非采用极大似然计算。更新方式如下:
[0102][0103]
式中,l为样本数量,可见样本数量越多,更新速度越慢,模型也越稳定,通过两块部分的简化,将em的迭代过程简化为o(1)步计算,且变量保存也只有l和μ,速度和内存占用都得到了大幅度优化。
[0104]
作为本发明进一步优选的方案,所述计算其速度属于该区域的速度分布的概率具体步骤如下:
[0105]
由于对em过程的简化,使得概率的计算方式简化:
[0106][0107]
同时,判断阈值的表达式为:
[0108][0109]
其中ε>=1,为调整系数,一般选1~2,比较概率和阈值的大小即可判断逆行。
[0110]
具体实施案例:
[0111]
步骤1,目标检测:以yolov5为例,将图片变形为640*640的尺寸送入网络,得到包含[x,y,w,h,c,s]的识别结果,其中x,y为目标中心点坐标,w,h为目标框的宽和高,c是目标的类别,s为目标的置信度,然后根据x,y,w,h和原图得到一个个具体目标的图片及其在原图中的位置;
[0112]
步骤2,目标追踪:将步骤1中得到的目标图片和位置信息送入追踪器,这里以deepsort为例,得到每一个目标的唯一id,id相同的目标为同一个物体,由于deepsort中的卡尔曼滤波器的转移矩阵如下:
[0113][0114]
从而在追踪的过程中也得到了目标的速度。
[0115]
步骤3,速度聚类:将图片进行网格化得到若干区域,每个区域初始化一个速度记录器,用来记录该区域的过往速度,并判断后续速度是否属于逆行,按照步骤1和步骤2,步骤得到车辆的位置和速度后,根据该车辆的位置选择速度记录器,将车辆的速度录入,更新记录器并判断车辆是否逆行。
[0116]
其中:
[0117]
网格化:由于车辆的行驶方向是否属于逆行与其所处的路段有关,所以对图片进行网格化,假设图片尺寸为w*h,每一个小网格的尺寸为w*h,从而得到一共w//w*h//h个网格,每一个网格都初始化一个速度记录器,目标位置(x,y)和其所属的网格(i,j)之间的对应关系为(i,j)=(x//w,y//h);
[0118]
速度记录器:每一个速度记录器实质是一个聚类器,采用高斯混合模型(补充说明1),记录该区域内过往行驶车辆的速度。聚类的簇k等于该区域的最大可通行方向,一般设为4(通常最大通行方向发生在交叉路口处,一般不会超过4个),高斯混合模型的参数计算过程一般采用em方法(补充说明2),本发明创造结合实际情况,对em方法进行了一些简化(补充说明3),大大提升了高斯混合模型计算的速度,且减少了内存消耗。
[0119]
逆行的检测:对于每一个速度记录器,当速度个数,即样本数量大于一定值时,即可进行逆行判断,对于新来的车辆,计算其速度属于该区域的速度分布的概率(补充说明4),并基于此判断车辆速度是否正常(即是否逆行)。
[0120]
补充说明1.高斯混合模型中高斯分布的概率分布函数如下所示:
[0121][0122]
其中μ,∑分别为均值和方差,高斯混合模型即为k个高斯分布,其概率分布为:
[0123][0124]
其中φ代表单高斯分布,α
k
表示数据属于第k个模型的概率,且有:
[0125][0126]
补充说明2.极大似然估计和em算法,具体步骤如下:
[0127]
单高斯分布的参数通过极大似然估计来计算,似然函数为:
[0128][0129]
则最优参数为:
[0130]
θ=argmax
θ
l(θ)
[0131]
此时,两边取对数得到:
[0132][0133]
对于高斯混合模型,则有:
[0134][0135]
与单高斯模型对比,上式是无法通过求导进行直接求解的,其中包含了三个未知数为α
k

k

k

[0136]
为了求解上式,有em算法,此方法为迭代算法,步骤如下:
[0137]
a.e

step,根据当前的参数计算期望:e(γ
jk
|x,θ)
[0138]
b.m

step,由于此时α
k
已知,可以利用极大似然计算出μ
k

k

[0139]
重复e

step和m

step,直至参数收敛:||θ
i 1

θ
i
||<ε
[0140]
补充说明3.em算法的简化具体步骤如下:
[0141]
em算法在求解的过程中,每次记录新速度,都需要进行一轮迭代,同时每记录一个速度样本也需要开辟内存进行保存,其时间复杂度为o(n2),空间复杂度为o(n),结合该问题实际情况,进行了简化,使时间复杂度和空间复杂度均降为o(1),具体如下:
[0142]
a.e

step:对α
k
进行离散化,同时在计算α
k
的时候,利用速度夹角进行分配,即:
[0143][0144]
式中,k聚类簇,π/k表示了平均的类间距离,本例中,也就是平均夹角;
[0145]
b.m

step:由于σ
k
并非必须参数,为简化计算,忽略σ
k
的影响,只保留μ
k
,进而在计算过程中采用滑动更新的方式,而非采用极大似然计算。更新方式如下:
[0146][0147]
式中,l为样本数量,可见样本数量越多,更新速度越慢,模型也越稳定,通过两块部分的简化,将em的迭代过程简化为o(1)步计算,且变量保存也只有l和μ,速度和内存占用都得到了大幅度优化。
[0148]
补充说明4.计算其速度属于该区域的速度分布的概率具体步骤如下:
[0149]
由于对em过程的简化,使得概率的计算方式简化:
[0150][0151]
同时,判断阈值的表达式为:
[0152][0153]
其中ε>=1,为调整系数,一般选1~2,比较概率和阈值的大小即可判断逆行。
[0154]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其
发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献