发明内容
本发明技术解决问题:克服现有技术的不足,提供了一种利用车辆测距的方法,可以在进行车牌识别的同时,利用车牌进行车辆测距。在车牌测距中,利用SIFT关键点点进行关键点匹配时引入了卡尔曼滤波算法,提高了匹配效率。
一种基于双目摄像头的车牌识别与定位方法,其特征在于步骤如下:
(1)构建双目视觉系统,限定其中一个为主摄像头,另一个为辅摄像头;
(2)左右摄像头同时抓拍车辆获取照片;
(3)主摄像头进行车牌识别,包括车牌定位、字符分割和字符识别;主摄像头计算车牌的尺度不变特征关键点——SIFT(scaleinvariantfeaturetransform)关键点,并筛选出SIFT关键点中的显著性关键点;
(4)利用卡尔曼滤波算法预测主摄像头显著性关键点在下帧中的位置;
(5)利用卡尔曼滤波算法以及双目视觉成像原理,预测辅摄像头中与主摄像头待匹配的显著性关键点在下一帧中的位置;
(6)辅助摄像头利用上帧中对本帧待匹配的显著性关键点的预测位置,在该预测的匹配的显著性关键点邻域像素点内搜索SIFT关键点;
(7)主辅摄像头显著性关键点匹配,根据向量的欧氏距离及最近邻判别法,确定主辅摄像头中相匹配的关键点,确定规则为最小欧氏距离dm与次最小欧氏距离d’m的比值小于确定阈值;
(8)所有显著性关键点匹配后,利用双目视觉成像原理,计算车牌距离;车牌距离加权平均,得出车牌最终距离。
所述步骤(3)中筛选显著性关键点的原则如下:
(33)筛选出来的点能在空间上覆盖目标;
(34)SIFT关键点本身区分度高的点,区分度以局部极值差分大小判断,对局部极值差分大于0.03的点进行排序,排序越靠前视为区分度越大。
所述步骤(3)中筛选SIFT关键点的显著性关键点的具体步骤为:
若SIFT关键点不足N个,则全部列为显著性关键点,对于超过N个的进行下列处理:
2-1将所有SIFT关键点按空间划分为四个区域;
2-2计算各区域areai中SIFT关键点到中心点c的距离dij,中心点c指的是车牌区域的形心;进行归一化处理后的距离d’ij,dij代表空间i中第j个SIFT关键点到中心点c的距离,i=1、2、3、4;
2-3对各区域中SIFT关键点亚像素差分值进行归一化处理,得到D′ij(xI),亚像素差分值是在SIFT关键点生成过程中的临时变量;
2-4计算个区域SIFT关键点的显著性指标significant,
significant=d’ij*D′ij(xI);
2-5取significant值前N个最大值作为显著性关键点;
N的取值范围为3-6。
所述步骤(4)中的卡尔曼滤波算法中使用线性卡尔曼滤波器。
所述步骤(5)中利用卡尔曼滤波算法以及双目视觉成像原理,预测辅摄像头匹配关键点在下一帧中的位置的步骤如下:
5-1、计算出主摄像头关键点在主摄像头下帧图像中利用卡尔曼滤波器预测的位置(xm next,ym next);
5-2、根据公式:
Xa next=xm next-fT/Z
ya next=ym next-fT/Z
计算出辅助摄像头中关键点位置预测(xa next,ya next),f指的是摄像头焦距,T指的是主摄像头和辅摄像头在水平方向的距离,Z是目标距离摄像头的距离。
所述步骤(8)中目标最终距离计算公式为:
7-1利用公式Z=fT/(xm-xa)计算每一显著性关键点对应的测算距离Zj,Zj是根据第j个显著性关键点测算的车牌距离;
7-2最终车牌距离N是SIFT关键点的个数,取值范围是3-6,Z是车牌距离摄像头的距离。
本发明与现有技术相比的优点在于:本发明与已有的相应技术相比,在SIFT关键点匹配环节,匹配时间减少,同时由于引入多个关键点测算距离,增加了距离测算的准确性。
具体实施方式
本发明一种车牌识别与车辆定位的方法与系统,在SIFT关键点匹配上引入了卡尔曼滤波预测技术,以及视差原理,同时利用多对关键点进行距离测算,最终加权平均计算目标距离,提高了关键点匹配效率以及测距准确性。方法整体流程图如图1所示。
下面结合具体示例,进一步阐述本发明,本实例采用的雄迈3518E网络摄像头搭建双目视觉系统,图像为720p。
输入:左右摄像头的视频流。
输出:车牌的距离。
具体步骤如下:
(1)构建双目视觉系统,限定左摄像头为主摄像头,右摄像头为辅摄像头;
(2)对左右摄像头的视频流进行解码,获取图片信息,大小为1280*720;
(3)主摄像头进行车牌识别,包括车牌定位、字符分割、字符识别,具体步骤如下:
3-1根据车牌的先验知识确定车牌候选区域,先验知识包括:车牌为矩形;车牌的长宽比在一定范围内;车牌的颜色基本固定,蓝底白字、白底黑字等;
3-2利用训练好的SVM模型,对候选区域是否存在车牌进行判断,提取存在车牌的候选区域。具体流程如图2所示,通过先验知识对车牌进行预选,然后人工分类出为车牌的图像,作为正样本,其他不包含的图像作为负样本,将正负样本输入到SVM训练模型后,得到生成后的SVM模型。之后即可重复利用SVM模型对车牌区域定位;
3-3图像分割。图像分割采用方法为,将包含车牌的区域二值化后,分别向水平、垂直方向进行投影,统计在各方向二值化后值为1的点的个数,依据个数统计图的波峰波谷进行字符分割;
3-4利用训练好的CNN卷积神经网络进行字符识别。
字符分割及字符识别流程图如图3所示。
(4)计算车牌的SIFT关键点。具体步骤如下:
4-1将图像按缩放比例不同分为5组,每组中按高斯滤波器中σ值得不同分为5层;
4-2第i组图像的缩放比例为2i-1,第i组第j层的高斯滤波函数为:
σ=2i-1*k(j-1)/S*σ0,其中i代表第i组图像,j为第i组图像中的第j层图像,i、j均从1开始,S代表组内层数,k=1/2,σ0为第1组第1层图像所使用的方差值。
4-3构建图像LOG空间,其计算公式为:
L(x,y,σ)=G(x,y,σ)*I(x,y)
I(x,y)为灰度图点(x,y)的灰度值,G(x,y,σ)为高斯分布函数。
4-4构建差分图DOG;
D(x,y,σ)=(G(x,y,σ(i,j+1))-G(x,y,σ(i,j)))*I(x,y)
G(x,y,σ(i,j))代表第i组j层使用的高斯分布函数,高斯分布函数的方差为σ(i,j),D(x,y,σ)代表点(x,y)处的差分值。
4-5计算极值点;
DOG空间中,每点与其本层周围8个相邻点以及上下两层中对应相邻的9*2个点进行比较,确定极值点。
4-6极值点精确定位,确定关键点;
4-7确定关键点的方向;
根据关键点周围点的方向统计直方图,确定关键点的主方向;
4-8利用关键点周围点的方向梯度生成SIFT关键点的描述128维算子。
(5)筛选出显著性关键点,步骤如下:
若关键点不足5个,则全部列为显著性关键点。对于超过N个的进行下列处理:
5-1将所有关键点按空间划分为四份;
5-2计算各区域areai(i=1、2、3、4)中关键点到中心点c的距离dij(dij代表空间i中第j个关键点到中心点C的距离),进行归一化处理得d’ij;
5-3对各区域关键点亚像素差分值进行归一化处理,得到D′ij(xI);
5-4计算个区域SIFT关键点的显著性指标significant,significant=d’ij*D′ij(xI);
5-5取significant值前5个最大值作为显著性关键点。
(6)利用卡尔曼滤波算法预测主摄像头特定关键点在下帧中的位置;
此处采用的是线性卡尔曼滤波器。具体步骤如下:
6-1滤波器初始化
随机初始化
6-2状态矢量预测
6-2观测值预测
6-3卡尔曼滤波器更新
代表卡尔曼滤波对真实值的预测,真实值指的是无法被确定观测的但实际存在的物理值,代表卡尔曼滤波对观测值的预测,观测值指的是通过物理手段能够收集的可测量数据,是依据n-1时刻对状态量xn`预测而得出的变量值,P指代的是协方差矩阵,上标代表的是进行协方差矩阵计算法变量,下表指的是对应变量取值的时间,例如指的是n-1时刻观测变量zn-1`与n时刻状态变量xn`的协方差,Kn指的是信息增益,R为观测噪声的协方差矩阵。
此处对SIFT关键点的运动建模为线性运动,因此转移矩阵F、H分别为:
H=[1,0,0,0;0,0,1,0]
F=[1,T,0,0;0,1,0,0;0,0,1,T;0,0,0,1]
un代表已知控制,Q为观测噪声,此处均设为零。
(7)利用卡尔曼滤波算法以及双目视觉成像原理,预测辅摄像头匹配关键点在下一帧中的位置,步骤如下:
7-1计算出主摄像头关键点在主摄像头下帧图像中利用卡尔曼滤波器预测的位置(xm next,ym next);
7-2根据公式:
Xa next=xm next-fT/Z
ya next=ym next-fT/Z
计算出辅助摄像头中SIFT关键点位置预测(xa next,ya next)。
Xa next,ya next指的是SIFT关键点在下一帧中x,y坐标的预测,f指的是摄像头焦距,T真的是主辅摄像头在水平方向的距离,Z指的是车牌与摄像头的距离。
(8)辅助摄像头利用上帧中对本帧匹配关键点的预测位置,在其领域像素点内搜索SIFT关键点,并进行匹配;
匹配时利用欧式距离进行相似性判断,利用最近邻算法确定最终的匹配点,匹配点确定规则为最小距离dm与次最小距离d’m的比值小于一确定阈值。
(9)所有显著性关键点匹配后,利用双目视觉成像原理,计算车牌距离;车牌距离加权平均,得出目标最终距离,具体步骤为:
9-1利用公式Z=fT/(xm-xa)计算每一关键点对应的测算距离Zj;
9-2最终车牌距离
xm,xa分别指显著性关键点在主辅摄像头中x方向坐标,Zj是根据第j个显著性关键点测算的车牌距离。
如图4所示,第(6)(7)(8)(9)步骤,包括主摄像头SIFT关键点预测、辅摄像头关键点预测、主辅摄像头关键点匹配、车牌距离测算。输入流为SIFT关键点的坐标,输入流为车牌距离。
以上所述实施例子仅用于说明本发明的技术思想及特点,其目的在于使本领域内的技术人员能够理解本发明的内容并据以实施,不能仅以本实施例子来限定本发明的范围,即凡依本发明所揭示的精神所做的同等变化或修饰,仍落在本发明的范围内。