1.一种车辆车窗精准定位方法,其特征在于,包括如下步骤:步骤1:已知车辆图像I,在图像I用yolo检测模型进行车窗检测,将找到的车窗区域记W L R
为D ,确定车窗图像上左、右、上、下四条边线对应的检测区域分别为D (0,0,w/3,h)、D (2*T B W
w/3‑1,0,w/3,h)、D (0,0,w,h/5)、D (0,4*h/5‑1,w,h/5),其中,w、h分别为车窗区域D的宽和高;
L R L R L R
步骤2:从图像I上得到区域D 、D 对应的图像分别记为I 和I ,对图像I 、I分别通过一L R
种图像关键直线检测方法,找到对应的车窗左右斜边L、L;
步骤2中的一种图像关键直线检测方法的具体过程如下:
2.1):对于输入图像X,首先给定关键直线的预估角度范围,记为[angleMin,angleMax];
2.2):对图像X进行灰度化、高斯滤波、Canny边缘检测处理,得到图像X对应的二值边缘图,在边缘图上用Hough直线检测方法确定直线集L={li|i=0,1,…,NL‑1},NL表示检测到的直线数量;
2.3):筛选剔除直线集L中角度不在[angleMin,angleMax]范围内的直线,然后将直线集L按照直线角度从小到大排序,将更新后的直线集记为L’={li|i=0,1,…,NL’‑1},NL’表示更新后的直线数量;
2.4):将直线集L用K‑means算法聚类成m个子集{T0,T1,...,Tm‑1},子集数m根据公式(1)确定;
其中,θi表示直线集L’中第i条直线的角度,Φ为预先设定的类间最大角度差;
2.5):计算每个直线集Ti对应的直线长度总和,找到直线长度总和最大的直线集,记为Tk,则确定Tk中长度最长的直线为图像的关键直线;
T B T B
步骤3:从图像I上得到区域D 、D对应的图像分别记为I、I ,采用一种基于旋转扫描的T B
直线检测方法确定车窗上下边线L、L;
步骤3中的一种基于旋转扫描的直线检测方法的具体过程如下:L R TB
3.1):根据车窗左右边线的角度θ、θ和公式(2)和(3)确定车窗上下边线的角度θ ;
T B TB BB
3.2):对图像I和I 进行Sobel水平边缘检测和OTSU二值化,得到二值图I 和I ,用角TB TB
度为θ 、宽度为3个像素的扫描线分别从上往下扫描图像I ,找到对应score1值最大的扫T TB
描线位置,记扫描线在该位置的扫描线中心点为P ,同理,用角度为θ 、宽度为3个像素的扫BB
描线分别从下往上扫描图像I ,找到对应score1值最大的扫面线位置,记扫描线在该位置B
的扫描线中心点为P;其中score1表示扫描线上的像素投影面积与扫描线在图像上的区域面积之比;
TB BB TB‑P TB BB
3.3):联合图像I 、I 确定车窗上下边线的精准偏转角度θ ,具体为:在图像I 、IT B
上分别以点P、P为扫描线旋转中心,以1°为单位旋转角度、旋转宽度为3个像素的扫描线,TB TB
在[θ ‑7°,θ +7°]角度范围内,找到对应socre1最大的扫描线角度,确定为车窗上下边线TB‑P
的精准偏转角度θ ;
T T TB‑P B B TB‑P
3.4):则车窗上边线L 为过点P角度θ 为的直线,车窗下边线L 为过点P角度θ 为的直线;
L T R B
步骤4:最终,确定直线L、L、L、L围成的区域为车辆的车窗区域。