利用双目视觉自主解算汽车速度的方法与流程

文档序号:12551920阅读:来源:国知局

技术特征:

1.一种利用双目视觉自主解算汽车速度的方法,其特征在于,包括如下步骤:

步骤1:通过双目相机采集图像;

步骤2:以逐帧方式,对双目相机采集到的图像进行图像处理步骤,得到目标图像;

步骤3:根据目标图像,解算得到特征点在相机坐标系中的坐标;

步骤4:根据特征点在相机坐标系中的坐标,解算得到车速。

2.根据权利要求1所述的利用双目视觉自主解算汽车速度的方法,其特征在于,所述步骤1,包括:

步骤1.1:安装调试双目相机,准备采集图像;

步骤1.2:利用双目相机软件触发功能,采集图像信息,获得Picli、Picri

Picli表示双目相机在第i个时刻ti下的初始左图像;

Picri表示双目相机在第i个时刻ti下的初始右图像;

i=1,2,3…,N,N表示双目相机的采集次数。

3.根据权利要求2所述的利用双目视觉自主解算汽车速度的方法,其特征在于,所述步骤2,包括:

步骤2.1:判断拍摄场景是白天还是夜晚,根据先验知识,剔除初始左图像Picli、初始右图像Picri的背景噪声;

步骤2.2:对当前的初始左图像Picli、初始右图像Picri进行图像预处理;

步骤2.3:对当前的初始左图像Picli、初始右图像Picri去除背景噪声;

步骤2.4:对当前的初始左图像Picli、初始右图像Picri进行灰度化处理,分别得到灰度化左图像picli、灰度化右图像picri,然后将灰度化左图像picli减去灰度化右图像picri得到左灰度图pic′li,将灰度化右图像picri减去灰度化左图像picli得到右灰度图pic′ri

步骤2.5:对左灰度图pic′li、右灰度图pic′ri进行归一化处理,分别得到左二值化图像pic″li、右二值化图像pic″ri

步骤2.6:分别对左二值化图像pic″li、右二值化图像pic″ri做开运算,消除目标车辆所在区域外部的孤立点,将目标车辆所在区域内部的孤立点连通起来,分割处目标图像;

其中,所述目标车辆所在区域是指目标车辆的最小包围矩形,记为目标图像。

4.根据权利要求3所述的利用双目视觉自主解算汽车速度的方法,其特征在于,所述步骤3,包括:

步骤3.1:提取左二值化图像pic″li中目标图像的位置信息,(xli,yli),widthli,heightli;提取右二值化图像pic″ri中目标图像的位置信息,(xri,yri),widthri,heightri

xli表示目标图像在初始左图像坐标系X轴上的起始坐标;

yli表示目标图像在初始左图像坐标系Y轴上的起始坐标;

widthli表示目标图像在初始左图像坐标系中X轴方向占的像素数;

heightli表示目标图像在初始左图像坐标系中Y轴方向占的像素数;

xri表示目标图像在初始右图像坐标系X轴上的起始坐标;

yri表示目标图像在初始右图像坐标系Y轴上的起始坐标;

widthri表示目标图像在初始右图像坐标系中X轴方向占的像素数;

heightri表示目标图像在初始右图像坐标系中Y轴方向占的像素数;

步骤3.2:按照所述目标图像的位置信息,从初始左图像Picli、初始右图像Picri分别分割出包括目标车辆的图像Pic′li、图像Pic′ri

步骤3.3:分别对图像Pic′li、图像Pic′ri提取特征点,并剔除误匹配点;

将对应于左相机的特征点坐标记为plk(xlk,ylk);

将对应于右相机的特征点坐标记为prk(xrk,yrk);

其中,k=1,2,…K,K为特征点数量;

xlk表示第k个特征点在图像Pic′li坐标系X轴上的坐标;

ylk表示第k个特征点在图像Pic′li坐标系Y轴上的坐标;

xrk表示第k个特征点在图像Pic′ri坐标系X轴上的坐标;

yrk表示第k个特征点在图像Pic′ri坐标系Y轴上的坐标;

定义特征点在初始左图像Picli、初始右图像Picri中的坐标分别为Plk(Xlk,Ylk)和Prk(Xrk,Yrk),则:

Xlk=xlk+xli

Ylk=ylk+yli

Xrk=xrk+xri

Yrk=yrk+yri

Xlk表示第k个特征点在初始左图像坐标系X轴上的坐标;

Ylk表示第k个特征点在初始左图像坐标系Y轴上的坐标;

Xrk表示第k个特征点在初始右图像坐标系X轴上的坐标;

Yrk表示第k个特征点在初始右图像坐标系Y轴上的坐标;

步骤3.4:基于双目测距原理,利用第k个特征点在图像物理坐标系下的坐标Plk(Xlk,Ylk),Prk(Xrk,Yrk)计算出该特征点在左相机坐标系下3D坐标值,pk=(xk,yk,zk),其中k=1,2,…K,K为特征点数量;

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mi>l</mi> <mi>k</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>u</mi> <mn>0</mn> </msub> <mo>)</mo> <mi>f</mi> </mrow> <msub> <mi>D</mi> <mi>k</mi> </msub> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mi>Y</mi> <mrow> <mi>l</mi> <mi>k</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>v</mi> <mn>0</mn> </msub> <mo>)</mo> <mi>f</mi> </mrow> <msub> <mi>D</mi> <mi>k</mi> </msub> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>z</mi> <mi>k</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mi>B</mi> <mi>f</mi> </mrow> <msub> <mi>D</mi> <mi>k</mi> </msub> </mfrac> </mrow> </mtd> </mtr> </mtable> </mfenced>

Dk=Xlk-Xrk

pk表示第k个特征点在相机坐标系下的3D坐标;

xk表示第k个特征点在左相机坐标系下的坐标X轴上的坐标值;

yk表示第k个特征点在左相机坐标系下的坐标Y轴上的坐标值;

zk表示第k个特征点在左相机坐标系下的坐标Z轴上的坐标值;

(u0,v0)为相机图像像素坐标系中的主点坐标;

B表示双目相机的基线长度;

f表示相机的焦距;

Dk表示第k个特征点在初始左图像与初始右图像的视差。

5.根据权利要求4所述的利用双目视觉自主解算汽车速度的方法,其特征在于,所述步骤4,包括:

计算目标车辆在第i时刻的速度:

Δti=ti+1-ti

vi表示目标车辆在第i时刻的速度;

Δti表示第i个前后帧图像间的时间间隔。

6.根据权利要求1至5中任一项所述的利用双目视觉自主解算汽车速度的方法,其特征在于,还包括如下步骤:

步骤5:对采集到的不同时刻目标车辆的位置坐标进行滤波,以实时检测车辆的运动速度。

7.根据权利要求6所述的利用双目视觉自主解算汽车速度的方法,其特征在于,在所述步骤5中,采用卡尔曼滤波对采集到的不同时刻目标车辆在相机坐标系下的位置坐标进行滤波,实时检测车辆的运动速度。

8.根据权利要求7所述的利用双目视觉自主解算汽车速度的方法,其特征在于,在所述步骤5中,进行如下计算

V(k|k-1)=AV(k-1|k-1)+BU(k)

P(k|k-1)=AP(k-1|k-1)A′+Q

V(k|k)=V(k|k-1)+Kg(k)(Z(k)-HZ(k|k-1))

Kg(k)=P(k|k-1)H′/(HP(k|k-1)H′+R)

P(k|k)=(I-Kg(k)H)P(k|k-1)

V(k|k-1)表示利用k-1时刻的结果预测的解;

V(k-1|k-1)表示k-1时刻的最优解;

V(k|k)表示k时刻的最优解;

k表示离散化的时间变量;

A表示系统参数;

U(k)表示k时刻系统的控制量;

P(k|k-1)表示对应V(k|k-1)的协方差;

P(k-1|k-1)表示对应V(k-1|k-1)的协方差;

P(k|k)表示对应V(k|k)的协方差;

A′表示矩阵A的转置;

Q表示高斯白噪声的协方差;

Kg(k)表示卡尔曼滤波增益;

Z(k)表示k时刻的测量值;

H表示测量系统的参数;

H′表示矩阵H的转置;

R表示高斯白噪声的协方差。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1