车辆用图像生成设备和方法

文档序号:7962308阅读:106来源:国知局
专利名称:车辆用图像生成设备和方法
技术领域
本发明涉及一种使驾驶者容易地辨别车辆周围的状况的车辆用图像生成设备和其方法。
背景技术
例如在日本特开1997-159442号公报中说明了用于校正车辆周围的图像的光学系统失真的技术。对于其中所述的车辆用环境识别设备,当基于从图像存储器读取的图像数据对左/右图像对称地进行算术运算时,设置校正坐标表以存储校正坐标(Δx,Δy)。基于当由光学部和摄像装置拍摄作为被摄体的方格图案的图像时得到的图像失真数据准备这些坐标。然后,通过用校正坐标(Δx,Δy)校正扫描坐标(X,Y)得到校正的坐标(X+Δx,Y+Δy),从图像存储器生成读取图像存储地址。其结果是,可以避免基于光学系统中的失真不能处理图像失真的情况。
在此基准文献中,当通过读取与从校正坐标表读取的地址校正坐标(Δx,Δy)相加而得到的坐标(X+Δx,Y+Δy)来校正光学系统的失真时,可以以正确的位置坐标来读取图像。然后,在已知的空间位置安装电灯泡,将来自未失真位置的偏差作为地址相关坐标(Δx,Δy)写入表中。从测量的数据而不是从计算得出地址校正坐标。

发明内容
根据本发明的一个方面,提供一种图像生成设备和其使用方法,用于容易地校正摄像机安装误差。该图像生成设备可以用在车辆上,该车辆具有至少一个摄像机和显示器,该显示器显示从由该至少一个摄像机生成的图像而得到的图像。该图像生成设备包括输入帧缓冲器,用于接收表示由至少一个摄像机生成的图像的像素数据;重新排列表,其描述用于重新排列像素数据的规则;误差校正表,其描述用于调整像素数据以校正至少一个摄像机的安装误差的规则;输出帧缓冲器,其用于接收重新排列过的、用于作为图像显示在显示器上的像素数据;以及控制器,其用于从输入帧缓冲器读取像素数据,以基于重新排列表和误差校正表中的至少一个重新排列像素数据,并且将重新排列过的像素数据存储在输出帧缓冲器中。
根据本发明另一方面,提供一种车辆用图像生成方法,该车辆含有图像生成设备,该图像生成设备从至少一个摄像机接收车辆周围的图像,并且对驾驶者显示合成图像,所述方法包括准备对应于所述至少一个摄像机的安装误差的大小的多个误差校正表;显示所述合成图像;以及对用于创建所述合成图像的各图像,使用所述多个误差校正表中的至少一个作为参考来校正各摄像机的安装误差。
该图像生成方法可以用在车辆中,该车辆含有图像生成设备,该图像生成设备从至少一个摄像机接收车辆周围的图像,并且对驾驶者显示合成图像。该方法可以包括,例如准备对应于至少一个摄像机的安装误差的大小的多个误差校正表;显示合成图像;以及对用于创建合成图像的各图像,使用多个误差校正表中的至少一个作为参考来校正各摄像机的安装误差。


说明书在此参考附图,在附图的全部视图中,相同的附图标记表示相同的部分,其中图1是示出使用本发明实施例的车辆图像处理器的框图;
图2是示出用于重新配置地址变换表的配置的框图;图3是示出通过对由沿不同拍摄方向安装的摄像机所捕获的图像数据施加透视变换来生成全景图像的处理的图;图4是示出当摄像机模块具有安装误差时,在用于通过对沿不同拍摄方向捕获的摄像机图像数据施加透视变换以生成全景图像的处理期间的问题的图;图5是示出用于摄像机模拟的一般数学坐标系的图;图6是示出用于摄像机模拟的坐标系中的摄像机位置的图;图7是示出关于根据图6的图的俯仰角(pitch)的图;图8是示出关于根据图6的图的首摇角(yaw)的图;图9是示出关于根据图6的图的横摇角(roll)的图;图10是示出在摄像机模拟中的基准方向和入射到摄像机上的光线的图;图11是摄像机的简化的输出图像;图12是根据图11的帧缓冲器与表的坐标和地址的示图;图13是示出视点变换的概念的图;图14是示出实施例中车辆用图像生成设备的框图;以及图15是示出另一个实施例中车辆用图像生成设备的框图。
具体实施例方式
对于拍摄车辆周围的照片作为输入、将输入图像作为像素的集合存储在用于输入的帧缓冲器中、在图像变换(输入图像数据的重新排列)后将所存储的像素数据输出、并将图像呈现给驾驶者的车辆用图像生成设备,当摄像机的方向由于安装误差(关于方向的误差俯仰角、首摇角和横摇角)而与假定的方向不同时,可能会影响输出图像。
可能难以校正这些安装误差。例如,当在生产线上进行校正,即通过物理变化的方式来校正摄像机本身的方向时,很难进行细微调整,并且耗费大量时间。物理调整机构也增加成本。另外,当重新计算图像变换规则(即重新排列)时,计算本身耗费时间。这些因素导致生产过程的延迟,而这是不希望见到的。
以下实施例提供一种能够容易地校正摄像机安装误差的车辆用图像生成设备和其方法。下面基准附图给出实施例的详细说明。在这些附图中,相同的部分全部使用相同的附图标记,并且对其只说明一次。
图1示出根据第一实施例的车辆图像处理器1。在车辆图像处理器1的情况下,将由摄像机模块2A、2B、2C和2D在车辆周围捕获的摄像机图像数据输入到对应于各摄像机模块2A、2B、2C和2D的输入缓冲器12A、12B、12C和12D。由CPU 13和图像变换部14使用存储在表存储器部15中的缺省或非重新配置表施加透视变换,使得生成车辆周围的全景图像。将有关全景图像的数据存储在输出缓冲器16中,并输出到显示器3。为了在显示器3上以较小的全景图像失真或组成全景图像的各图像之间的任何偏移(deviation)来显示全景图像,车辆图像处理器1使用例如如图2所示的功能部41~43来重新配置或者校准缺省地址变换表,以校正摄像机模块2A、2B、2C和2D的影响。基于在摄像机模块2A、2B、2C和2D中没有安装误差的假设,缺省或非重新配置地址变换表提供地址变换信息以生成全景图像。
更具体地,如图3所示,为了生成车辆周围的全景图像30,由摄像机模块2A捕获前摄像机图像31A,由摄像机模块2B捕获后摄像机图像31B,由摄像机模块2C捕获左侧摄像机图像31C,并由摄像机模块2D捕获右侧摄像机图像31D。这里,摄像机图像31A包括车体33和画在路面上的白线L1、L3和L5。摄像机图像31B包括车体33和白线L2、L3和L5。摄像机图像31C包括车体33和白线L3和L4。摄像机图像31D包括车体33和白线L5和L6。为了说明在全景图像中出现的图像之间的失真和偏移,出现在全景图像30中的白线被画在路面上,并且由摄像机模块2A、2B、2C和2D捕获。
在理想状况(即假设摄像机模块2A、2B、2C和2D在其安装位置中没有误差)下,车辆图像处理器1生成排列在车辆被摄体33′周围的全景图像30,在使用前图像32A、后图像32B、左侧图像32C和右侧图像32D的全景图像30的组成像素之间没有任何偏移。正如从顶端看到的,通过变换各摄像机图像31A、31B、31C和31D得到这些图像。
另一方面,如图4所示,如果摄像机模块2A、2B、2C和2D在其安装位置中包含误差,则在透视变化后前图像32A中的白线L1将与车辆被摄体33′不匹配,白线L3变得失真,或者白线L1、L2和L3被移到跨过组成全景图像30的像素32A、32B和32C。然而,在以下说明的车辆图像处理器1的情况下,进行处理以校正由于用于生成全景图像30的摄像机模块2A、2B、2C和2D的安装误差而产生的全景图像30中的偏移和失真。通过此处理,即使摄像机模块2A、2B、2C和2D包含安装误差时,全景图像30中的偏移和失真也得到抑制。
下面说明用于生成从各摄像机图像31A、31B、31C和31D消除失真和/或偏移的全景图像30的结构和运算。
1-1、摄像机模拟的概念摄像机的位置和方向图5~11是示出摄像机模拟的图。图5示出一般数学坐标系。
如图5所示,一般数学坐标系用于表示(x,y,z)。x轴、y轴和z轴彼此互相正交。可以自由地选取单位,只要其统一即可。一般使用毫米单位。定义摄像机位置为此空间中的一个点。
如图6所示,在摄像机位置(xc,yc,zc)处绘制x′轴、y′轴和z′轴,并且分别与x轴、y轴和z轴平行。基准方向(俯仰角=0,首摇角=0)为y′轴的正方向。在图6中,较粗的箭头表示基准方向。此外,指定俯仰角、首摇角和横摇角的单位是度。
图7是示出俯仰角的图,图8是示出首摇角的图,图9是示出横摇角的图。
如图6和7所示,俯仰角表示围绕x′轴旋转的角。0°值平行于x-y平面。正方向包括向上的角,而负方向包括向下的角。当从x′轴的正方向看y′-z′平面时,正号是逆时针旋转,负号是顺时针旋转。值+90°朝向正上方(z′轴的正方向),值-90°朝向正下方(z′轴的负方向)。接受到±180°的值。
如图6和8所示,首摇角表示围绕z′轴旋转的角。当从z′轴的正方向看x′-y′平面时,顺时针为正值,逆时针为负值。
如图9所示,横摇角表示围绕表示由俯仰角和首摇角定义的摄像机方向的轴的旋转。当从后面看摄像机时,顺时针为正,逆时针为负。
对于摄像机方向的处理,首先处理俯仰角方向。然后处理首摇角方向。最后处理横摇角方向。因此,当俯仰角=90或俯仰角=-90时,首摇角方向的赋值变成横摇角方向的运算。另外,当俯仰角是例如俯仰角>90或者俯仰角<-90时,摄像机被倒转。
x、y、z、俯仰角、首摇角和横摇角这六个参数用于指定摄像机的设定状态。
1-2、摄像机模拟的概念摄像机模拟如图10所示,点C表示摄像机并且取作原点。定义基准方向Dc和垂直于方向Dc的方向Dcv。方向Dc表示摄像机的方向,方向Dcv表示摄像机的向上方向。这里,Sv表示由Dcv围绕Dc旋转所定义的平面。
考虑入射到摄像机(点C)上的光线A。光线A和方向Dc之间的夹角为角α。此外,通过将A平行于Dc投影到Sv上而得到的A′与Dcv之间形成的夹角为β。在这种情况下,角α总是在0.0deg≤α≤180.0deg的范围内。对于角β,当沿Dc方向看平面Sv时,顺时针方向为+方向。在图10中,光线A可以表示为(α,-β)。
在以下说明中,定义如何将光线r映射到摄像机的输出图像上。
图11表示摄像机的输出图像。将输出图像设置在x-y平面上。设置图像的中心点91与x-y平面的原点一致。此外,线段92从点91开始向上垂直地延伸(在y轴上y>0)。以点91和线段92为基准来考虑极坐标(L,θ)。认为从线段92开始的顺时针方向为θ的正方向。可以由x-y坐标(x,y)或极坐标(L,θ)来表示输出图像上的点。
如果光线从摄像机的前侧(α=0.0°,β=任意值)垂直入射,则可以考虑当从输出图像的中心,即点91拍摄图像时的情况。此外,对于光线(α,β),当角β固定在0.0,并且从0.0开始增加角α时,因为变化是朝向从摄像机的上面入射,所以可以认为在摄像机的输出图像上存在在线段92上向y的正方向的运动。这里,由于认为表示摄像机的向上方向(参见图10)的方向Dcv与线段92相关,并且因为入射角α与在输出图像上从原点91开始的距离L彼此相关,因此有L=fc(α),θ=β。
为了方便,总结表达式如下(L,θ)=fc(α,β)。
作为fc的反函数,fci定义如下α=fci(L),β=θ;并且此公式也可以总结和表示如下(α,β)=fci(L,θ)。
用这些公式,图像上的点(L,θ)和入射到摄像机上的光线(α,β)彼此关联。
为了限制摄像机的摄像范围,在图11中的平面上设置摄像区95(拍摄平面)。认为在该区内的位置是摄像区域,认为在该区外的位置是在摄像区域外。当将摄像机的水平图像角表示为h_max°时,可以在图11中将光线(α=(h_max/2)°,β=90.0°)绘制为点93。同样地,可以将光线(α=(h_max/2)°,β=-90.0°)绘制为点94。因此,当水平图像角为h_max°时沿摄像区95的横向方向的范围变成x坐标范围中的-fc(h_m ax/2)~fc(h_max/2)。将此设为-w~w。可以从摄像平面的宽高比和沿横向方向的范围得出沿摄像区95的纵向方向的范围。例如,如果屏幕的宽高比为3∶4,当由y轴表示时,摄像区95沿纵向方向的范围变成-3w/4~3w/4。当然,也可以从垂直图像角来计算该范围。将此范围设为-h~h。
如上所述,可以得出摄像区95的范围。
图12是示出以图11的部分像素化表示的帧缓冲器以及表的坐标和地址的图。
如图12所示,和传统的CG通常采用的相同,可以将图11所示的摄像区95划分为沿横向方向W个像素和沿垂直方向H个像素。通常在这种情况下,由XY坐标(0,0)表示左上角的像素,右下角的像素是(W-1,H-1)。用于变换图12所示的XY坐标和图11所示的(L,θ)坐标的公式定义如下(X,Y)=fs(L,θ)。
此外,函数fs的反函数fsi定义如下(L,θ)=fsi(X,Y)。
可以从参数w、h、W和H得出函数fs和fsi。
函数fc表示镜头的特性。例如,在镜头具有fθ系统的光学特性的情况下,有L=k×θ,其中k为常数,θ为入射角。因为函数fc用于定义摄像区,所以只要k具有0.0或更大的值,对于任意值可以得到相同的结果。在针孔摄像机的情况下,有L=tan(θ)。
还可以采用从多组入射角θ和图像高度Y的数据得出近似公式Y=F(θ)的方案,并且在L=fc(θ)中同样地采用该方案。
如上所述,可以在输出图像的入射光线(α,β)和像素单元(cell)坐标(X,Y)之间定义如下关系(X,Y)=fs(fc(α,β));以及(α,β)=fci(fsi(X,Y))。
在XY坐标系中,因为X和Y各自舍入为正整数,而不是完全的反函数,所以这是近似计算。当X、Y两个都是实数时,可以计算完全的反函数。
1-3、摄像机模拟的概念空间中的点的摄像在以下说明中,基于如第1-1节所述的摄像机的位置和方向,以及第1-2节中定义的摄像机模拟,可以得出空间点(xp,yp,zp)和摄像机的输出图像上的像素(Xp,Yp)之间的关系。如果摄像机的位置是(xc,yc,zc),则摄像机的方向变成(pitch,yaw,roll)(俯仰角,首摇角,横摇角)。
利用作为偏移量的摄像机位置(xc,yc,zc),定义以下沿空间坐标x、y、z的方向分别位移-xc、-yc、-zc的函数,使得摄像机位置位于原点(sx,sy,sz)=fo((x,y,z),(xc,yc,zc))。
此外,定义以下反函数(x,y,z)=foi((sx,sy,sz),(xc,yc,zc))。
将其应用到空间点(xp,yp,zp),有fo((xp,yp,zp),(xc,yc,zc))。
然后,当认为z轴为中心,并且以顺时针方向为正方向沿从z轴的+方向到-方向的方向看x-y平面时,定义以下函数用于将空间坐标旋转θ°(rzx,rzy,rzz)=rollZ((x,y,z),θ)。
将上述算术运算结果围绕z轴旋转-yaw°。这得到
rollZ(fo((xp,yp,zp),(xc,yc,zc)),-yaw)。
然后,当认为x轴为中心,并且以顺时针方向为正方向沿从x轴从+方向到-方向的方向看y-z平面时,定义用于将空间坐标旋转θ°的函数如下(rxx,rxy,rxz)=rollX((x,y,z),θ)。
将以上进行的算术运算的结果围绕x轴旋转-pitch°。这里,结果变成rollX(rollZ(fo((xp,yp,zp),(xc,yc,zc)),-yaw),-pitch)。
然后,当认为y轴为中心,并且以顺时针方向为正方向沿从y轴-方向到+方向的方向看x-z平面时,定义以下将空间坐标(x,y,z)旋转θ°的函数如下(ryx,ryy,ryz)=rollY((x,y,z),θ)。
将以上进行的算术运算的结果围绕y轴旋转-roll°。结果变为rollY(rollX(rollZ(fo((xp,yp,zp),(xc,yc,zc)),-yaw),-pitch),-roll)。
作为此计算的结果,当以摄像机的方向为基准看空间点(xp,yp,zp)时,可以得出坐标(xp′,yp′,zp′)。总结此运算,并定义下式(x′,y′,z′)=fd((x,y,z),(xc,yc,zc),(pitch,yaw,roll))。
此外,定义以下反函数(x,y,z)=fdi((x′,y′,z′),(xc,yc,zc),(pitch,yaw,roll))。
然后,从(xp′,yp′,zp′),得出到摄像机(原点)的入射方向(α,β)。定义此运算如下(α,β)=fa(x,y,z)。
因为反函数是坐标的方向的函数,所以不能定义反函数(x,y,z)=fai(α,β)。然而,可以定义计算表示该方向的坐标(xd,yd,zd)的函数如下
(xd,yd,zd)=fb(α,β);其中xd=t×x,yd=t×y,zd=t×z,t是大于0.0的实数。如果将函数fa应用到((xp′,yp′,zp′),αp,βp),则得到fa(xp′,yp′,zp′)。
从这些结果以及以上讨论,可以表示空间点(xp,yp,zp)和输出图像上的像素的坐标(Xp,Yp)之间的关系如下(Xp,Yp)=fs(fc(fa(fd((xp,yp,zp),(xc,yc,zc),(pitch,yaw,roll)))));并且可以进行摄像机模拟。因为不能定义函数fai,所以不能定义纯粹的反函数。然而,可以得出用于估计摄像原点的空间坐标的点的坐标(xv,yv,zv)。
可以用下式表示(xv,yv,zv)=fdi(fb(fci(fsi(Xp,Yp)))),(xc,yc,zc),(pitch,yaw,roll))。
通过被认为是开始点的(xc,yc,zc),(xp,yp,zp)在经过(xv,yv,zv)的线段附近。因为将Xp和Yp舍入为正整数,所以不可逆。结果可以不在线段上,但是会在其附近。
2、视点变换(vicwpoint conversion)的概念下面给出关于使用以上1-1至1-3节中所述的摄像机模拟的概念的视点变换的说明。图13是示出视点变换的图。假设在空间中有实体摄像机R和虚拟摄像机V。使用来自实体摄像机R的图像来生成虚拟摄像机V的图像。
以上已经定义了摄像机R和摄像机V的各种参数(位置、方向、镜头特性等)。摄像机R的位置表示为(x_r,y_r,z_r),方向表示为(pitch_r,yaw_r,roll_rr),各种函数表示为fxx_r()。此外,对于摄像机V,可以用_v同样地表示各种参数和函数。即由(x_v,y_v,z_v)表示摄像机V的位置,方向可以表示为(pitch_v,yaw_v,roll_v),函数可以表示为fxx_v()。
当使用摄像机R的图像来生成摄像机V的图像时,摄像机V的图像的像素和摄像机R的像素之间的对应关系计算简单。
现在,考虑摄像机V的像素(X_v,Y_v)。因为从以上1-1至1-3节中讨论的摄像机模拟的概念的结果得出形成此像素的入射光线的方向,所以有(tx,ty,tz)=fdi_v(fb_v(fci_v(fsi_v(X_v,Y_v))),(x_v,y_v,z_v),(pitch_v,yaw_v,roll_v))。
坐标(tx,ty,tz)表示方向而不是绝对位置,并且当得出该坐标时,需要一定的基准。这里,认为x-y平面是基准平面。可以得出由(x_v,y_v,z_v)和(tx,ty,tz)得出的方向和基准平面之间的交点C(x_c,y_c,0)。当z_v<tz时没有交点。稍后说明在这种情况下的处理。下面给出关于交点C在由摄像机R拍摄的图像中的情况的说明。
当摄像机R的图像上的交点C的坐标为(X_r,Y_r)时,有(X_r,Y_r)=fs_r(fc_r(fa_r(fd_r((x_c,y_c,0),(x_r,y_r,z_r),(pitch_r,yaw_r,roll_r)))))。
在以上运算中,可以得到来自虚拟摄像机V的图像的像素(X_v,Y_v)和来自实体摄像机R的图片的像素(X_r,Y_r)之间的对应关系。实体摄像机R的像素(X_r,Y_r)的信息被复制到来自虚拟摄像机V的图像的像素(X_v,Y_v)。当来自实体摄像机R的图像信息具有例如RGB的值时,复制RGB的值。
以上已经对没有得出交点C的情况以及摄像机R未拍摄到交点C的图像的情况进行了说明。在这些情况下,因为来自虚拟摄像机V的图像的像素(X_v,Y_v)不具有与来自实体摄像机R的图像相对应的像素,所以用例如黑色的值等已知值作为临时像素值(X_v,Y_v)代入来自虚拟摄像机V的图像中。
对于来自虚拟摄像机V的图像的全部像素,进行上述处理以建立来自虚拟摄像机V的图像。此外,如果有多个实体摄像机R,则可以进行相同的处理。在这种情况下,来自虚拟摄像机V的图像的像素(X_v,Y_v)的对应目的地跨越实体摄像机R的多个像素。
当摄像机V和摄像机R的各种参数和各种函数没有变化时,以上得出的摄像机V和摄像机R的图像之间的关系恒定。即使在处理运动图像时,也只是存储一个计算的结果。因此,可以进行高速处理。因为存储内容是(X_v,Y_v)和(X_r,Y_r)之间的关系,所以当来自虚拟摄像机V的图像由W_v横向像素和H_v纵向像素构成时,可以只保持表示二者关系的((W_v)×(H_v))数据。这称为重新排列表。
下面给出关于重新排列表的例子的说明。首先,用图12所示的规则,将地址编号分配给摄像机的图像的像素。地址编号从1开始,并且到W×H(这取决于摄像机的分辨率)结束。当摄像机编号被附在该地址时,可以存取每一个摄像机的各像素的信息。例如,如果摄像机R的摄像机编号为1,则为了存取摄像机R的像素(xr,yr),仅需要存取像素1((xr+yr)×(Wr+1))。这称为参考目的地址。在建立来自虚拟摄像机V的图像的重新排列表中,描述具有与来自虚拟摄像机V的图像的像素的数量相同的数量的参考目的地址((W_v)×(H_v))。可以以与存取像素相同的方式来存取重新排列表的信息。为了确定来自虚拟摄像机V的图像的像素(xv,yv)的信息,存取重新排列表中的信息的地址((xv+yv)×(W_v+1)),获得参考目的地址,并且得到表示参考目的地址的像素的影响。
3、图像角变换的概念图像角变换是视点变换的一种特殊解。图像角变换和视点变换的不同之处在于必须有一个摄像机R,并且摄像机V和摄像机R的位置相同。在这种状况下,可以直接使用(tx,ty,tz)来进行变换运算而不用算出交点C。因为(x_r,y_r,z_r)=(x_v,y_v,z_v)=(xA,yA,zA),所以有以下公式(tx,ty,tz)=fdi_v(fb_v(fci_v(fsi_v(X_v,Y_v))),(xA,yA,zA),(pitch_v,yaw_v,roll_v));以及(X_r,Y_r)=fs_r(fc_r(fa_r(fd_r((tx,ty,tz),(xA,yA,zA),(pitch_r,yaw_r,roll_r)))))。
通过使用以上所列的公式,可以计算(X_v,Y_v)和(X_r,Y_r)之间的对应关系。
在视点变换的情况下,因为基准平面用于进行变换处理,所以将除了z=0以外的被摄体摄像点投影到该基准平面上,可能发生特定的失真。然而,在图像角变换的情况下,因为没有使用基准平面,并且只有方向用于进行变换,所以可以没有失真地改变摄像范围和方向、图像角、以及镜头特性。
此外,在图像角变换的情况下,因为只有方向用于进行变换,所以只有摄像机R和摄像机V的方向之间的差成为问题,不管绝对方向为何,结果是相同的。因此,如果摄像机R和摄像机V的俯仰角方向相差5°,并且摄像机R和摄像机V具有相同的分辨率,则通过采用N轮使用摄像机R→摄像机V的重新排列表的重新排列,可以得到偏移(N×5)度的图像。
接下来讨论可选择的实施例。图14是示出图像生成设备的另一个框图。在此图中示出前述摄像机2、用于输入的帧缓冲器12、用于输出的帧缓冲器16和显示设备3。还包括重新排列设备17、误差校正表6、用于误差校正的表保持设备(误差校正表保持区域)7、重新排列表8和重新排列表保持设备(重新排列表保持区域)9。
使用误差校正表6和重新排列表8,重新排列设备17将原来在输入帧缓冲器12中的像素数据重新排列到输出帧缓冲器16中。在没有误差校正功能的传统系统中,只有重新排列表8用于将原来在输入帧缓冲器12中的像素数据重新排列到输出帧缓冲器16中。
误差校正表6是用于校正摄像机2的方向的误差的表。其在具有与输入帧缓冲器12的大小相同的大小的虚拟帧缓冲器内进行重新排列。此外,在重新排列设备17中有虚拟帧缓冲器。因为输入帧缓冲器12和重新排列设备17中的虚拟帧缓冲器与其中所保持的信息具有相同的大小,所以可以以与对输入帧缓冲器12的存取相同的方式来进行对虚拟帧缓冲器的存取。因此,对于误差校正表6中的重新排列的结果,可以使用相同或者不同的误差校正表6。误差校正表6使用以第1-3节中说明的概念生成的表,并且因为误差校正表6用于校正摄像机2的方向,所以使用在第3节中所说明的图像角变换。
摄像机2的安装误差包括方向误差(pitch,yaw,roll)和位置误差。根据安装在车体上的摄像机的特定状况,方向误差包括摄像机自身的误差,为±3°,以及位置误差为约±3mm。尤其在使用广角摄像机在呈现给驾驶者的图像的宽范围中进行摄像的系统中,因为远离摄像被摄体(几米远),并且摄像范围宽,所以出现明显的方向误差。然而,在许多情况下,位置误差忽略不计。因此,即使误差校正表的校正内容限于方向也没有问题,可以提高系统的整体性能。
误差校正表6可以具有以下形式将预先计算的若干结果保持在误差校正表保持设备7中,使用者在所希望的校正状态中选择要使用的结果。
还可以采用多轮应用误差校正表6以进行校正的方案。例如,当存储将首摇角方向校正1°的误差校正表时,通过将此表应用三次,误差校正表变成用于校正3°的表。三轮校正的结果可以作为新的误差校正表被生成并设置在误差校正表6中。此外,在重新排列表8中,也可以采用三轮应用的模式。另外,可以以如下方式若干轮应用不同的误差校正表在应用一次校正俯仰角的误差校正表之后,应用一次校正首摇角的误差校正表。
因为摄像机2沿俯仰角和首摇角方向的误差校正表取决于镜头特性,所以为了避免复杂的计算,必须保持预先计算的结果。另一方面,摄像机2沿横摇角方向的误差与镜头特性无关,该误差变成简单的图像旋转。因为这涉及很简单的计算,所以通过生成用于横摇角校正的内部表,然后应用该表,可以减少在误差校正表保持设备7中预存的误差校正表6的个数。
还有一种从误差校正表保持设备7中的多个误差校正表6生成误差校正表的方法。例如,有一种从校正一次俯仰角的表和校正三次俯仰角的表生成用于校正两次俯仰角的表的方法。假设用于校正一次俯仰角的表是表1,用于校正三次俯仰角的表是表2。使用用于公共存取的地址A从表1和2得到参考目的地址1和参考目的地址2。其两者都示出输入帧缓冲器12上的像素。将参考目的地址1的输入帧缓冲器12中的坐标指定为(x1,y1),将参考目的地址2的输入帧缓冲器12中的坐标指定为(x2,y2)。得到这两套坐标之间的中间坐标((x1+x2)/2,(y1+y2)/2)作为生成表的地址A的值。如果对全部像素的地址进行计算,则可以生成表1和表2之间的中间表。此表可用作用于对误差校正表6的两轮校正的表的近似。如果得到用于将俯仰角校正1.5°的表的近似表,则可以采用((x1×3+x2)/4,(y1×3+y2)/4)作为如上所述的用于计算中间坐标的公式。另外,由((x1×m×x2×n)/(m+n),(y1×m×y2×n)/(m+n))表示以m∶n划分的中间坐标。当表1和表2之间的部分窄时,实现校正近似。另一方面,当表1和表2之间的部分宽时,变得不准确。因此,在窄范围中得到调整值时,这种近似有效。
重新排列设备17在将原来在输入帧缓冲器12中的像素数据重新排列到输出帧缓冲器16中时,使用以上得到的误差校正表6和重新排列表8。例如,重新排列表保持设备9是从车辆上部拍摄且使用节2说明的方法从不同视点生成的全景视像的重新排列表。
下面给出关于得到输出帧缓冲器16的像素(x0,y0)的像素数据的过程的说明。首先,用(x0,y0)计算用于存取的地址B。如第1-3节所述,当输出帧缓冲器16具有横向W_0和纵向H_0时,可以通过(x0+y0)×(W_0+1)得到地址B。然后,通过用于存取的地址B来存取重新排列表8以得到参考目的地址C。通过参考目的地址C来存取误差校正表6以得到参考目的地址D。参考目的地址D用于存取输入帧缓冲器12以得到像素数据。当对输出帧缓冲器16的全部像素进行此操作过程时,得到输出帧缓冲器16中的数据。
因为误差校正表6是用于校正摄像机2的方向误差的表,所以即使当由另一个重新排列表代替重新排列表8时,仍然不需要改变该误差校正的应用。
此外,当存在多个摄像机2时,对每一个摄像机2应当有相同数目的输入帧缓冲器12和误差校正表6。然而,处理的要求相同。当存在具有相同要求的多个摄像机2时,可以共用误差校正表保持设备7中的误差校正表6的源(source)。这是因为误差校正表6由包含图像角的镜头特性得出,并且其不依赖于安装位置和方向。然而,因为不同的摄像机2具有不同的方向误差,所以误差校正表6需要关于各摄像机2独立。
如上所述,预先准备对应于摄像机2的安装误差的大小的多个误差校正表6,可以通过选择合适的校正表沿固有的图像拍摄操作的方向重建图像。此外,误差校正表6对应于摄像机2的方向即俯仰角、首摇角和横摇角的偏移,并且该表定义用于改变地址的规则。如果将俯仰角、首摇角和横摇角分别移位0.5°、1°和1.5°,则表可以定义将例如(12,12)的像素改变为像素(13,14)的对应关系。对全部像素定义该对应关系以建立摄像机2的俯仰角、首摇角和横摇角方向的对应性。此外,可以从像素的坐标找到地址编号。以此例子,当安装输入帧摄像机2时,安装者可以在观看显示器等的同时选择合适的校正表,可以简化用于校正再现图像的摄像机2的安装操作(安装误差校正操作)。
以下更详细说明误差校正表。通过节3中的公式,可以将实体摄像机R和虚拟摄像机V的方向(pitch_r,yaw_r,roll_r)、(pitch_v,yaw_v,roll_v)与虚拟摄像机V的位置(x_v,y_v,z_v)分离。其结果是,可以建立摄像机V的像素(X_v,Y_v)和摄像机R的像素(X_r,Y_r)之间的对应关系。当建立像素之间的该对应关系时,可以建立摄像机R的特定像素的地址和摄像机V的地址之间的对应关系。
这里,如果虚拟摄像机V是摄像机基准,当在摄像机V的位置和方向上安装摄像机2时,由摄像机2自身得出其位置和方向。此外,因为实际安装的实体摄像机R含有相对于虚拟摄像机V的方向误差,所以如果在实体摄像机R和虚拟摄像机V的经过误差校正的像素之间存在对应关系,则可以沿固有安装方向再现与用虚拟摄像机V看到的图像相同的图像。关于实际安装的实体摄像机R的误差,如果实体摄像机的方向(pitch_r,yaw_r,roll_r)与虚拟摄像机V的方向(pitch_v,yaw_v,roll_v)不同,则差值成为误差。
对应于全部像素的误差大小准备用于校正误差的多个误差校正表6,并且通过选择适合于实际误差的表,可以不依赖于误差的大小沿固有安装方向再现图像。
如上所述,对于此实施例中的车辆用图像生成设备,由摄像机2拍摄的车辆周围的图像经过图像变换(即将输入像素数据重新排列并输出),被显示给驾驶者。在此设备中,预先准备对应于摄像机2的安装误差的大小的多个误差校正表6。当进行图像变换时,认为误差校正表6是用于显示的基准,从而校正图像方向的误差。此外,在此实施例中的车辆用图像生成方法中,预先准备对应于摄像机1的安装误差的大小的多个误差校正表6。当进行图像变换时,认为误差校正表是用于显示的基准,从而校正图像方向的误差。在此例子中,可以容易地校正摄像机2的安装误差,可以消除由摄像机2的安装误差引起的输入图像的偏移,可以重新排列输入图像的像素,并可以正确地维持所生成的输出图像。
如上所述,日本特开1997-159442号公报中的校正坐标表用于对每一个摄像机校正光学系统的固有失真,而不是用于校正在安装摄像机时产生的方向误差等。此外,因为使用测量的值得到光学系统失真的校正坐标,所以很难准备用于校正方向误差等的多个表。因此,不能在安装期间校正方向误差。另外,因为多个误差校正表不是对应于方向误差的多个表,所以不能对应于安装摄像机时产生的任意误差来选择合适的表。
在此实施例中的车辆用图像生成设备包括至少一个摄像机2,将摄像机2的图像作为像素数据输入的输入帧缓冲器12,重新排列记录在输入帧缓冲器12中的像素数据的重新排列设备17,记录由重新排列设备17重新排列的像素数据的输出帧缓冲器16,将记录在输出帧缓冲器16中的像素数据显示为图像的显示设备3,记录用于将原来记录在输入帧缓冲器12中的像素数据重新排列到输出帧缓冲器16中的规则的重新排列表8,以及描述用于校正摄像机2的安装误差的规则的误差校正表6。重新排列设备17使用重新排列表8和误差校正表6将原来记录在输入帧缓冲器12中的像素数据重新排列到输出帧缓冲器16中。通过使用误差校正表6和重新排列表8,重新排列像素以生成输出图像。因此,可以容易地校正摄像机2的安装误差,而不用重新计算重新排列表8。
此外,可以将误差校正表6用作用于校正一个摄像机2的安装误差的表。当误差校正表6用于重新排列作为输入的一个相片时,可以用甚至更小的容量来表示该表。
也可以将误差校正表6用作用于仅校正摄像机2的方向的安装误差的表。除了校正摄像机2的位置误差之外,通过只用误差校正表6来进行摄像机2的方向的校正,在误差校正表6的生成中可以采用图像角变换代替视点变换。因此,可以由具有相同镜头特性的摄像机2共用误差校正表6。其结果是,可以用较少的表内容进行更多的校正。
此外,可以采用误差校正表6作为用于校正至少摄像机2的俯仰角方向和首摇角方向的安装误差的表。其结果是,可以容易地校正至少沿俯仰角方向和首摇角方向的摄像机2的安装误差。
可以通过对横摇角方向计算误差校正表6、然后对校正使用误差校正表6来进行摄像机2的至少横摇角方向的校正。以这种方式,对于摄像机1的至少横摇角方向的误差校正,可以通过内部计算的结果用更少的表来实现校正。
误差校正表6用于校正摄像机2的俯仰角方向和首摇角方向的安装误差,可以通过计算或者通过生成横摇角方向的误差校正表、然后对校正使用该误差校正表进行摄像机2的横摇角方向的校正。以这种方式,可以通过内部计算的结果用更少的表来实现摄像机2的横摇角方向的误差的校正。
误差校正表6仅用于校正摄像机2的方向安装误差,重新排列设备17允许通过多轮应用误差校正表6来进行校正。即分别给出用于校正至少沿俯仰角和首摇角方向的误差的误差校正表6,并且通过多轮应用误差校正表6,误差被校正。因为误差校正表6用于校正摄像机2的方向,所以输入帧缓冲器12的大小和输出帧缓冲器16的大小相同。因此可以将误差校正表6应用到由误差校正表6的应用而得到的结果,可用更少的表为更多的偏移状态建立对应关系。
此外,重新排列设备17可以通过从两个误差校正表6的计算来生成误差校正表6。即分别给出校正至少俯仰角和首摇角方向的误差的多个基准误差校正表6。从这两个误差校正表6,可以计算和生成新的误差校正表6。其结果是,可以用更少的表为更细微的校正建立对应关系。
图15还示出了车辆用图像生成设备的另一个实施例。在此图中示出了合并表10。
如图15所示,可以采用以下方案。在得到误差校正表6和重新排列表8时,生成和保存误差校正表6和重新排列表8的合并表10,并且重新排列设备17在运算中使用合并表10。在先前的说明中,从用于存取的地址B得到参考目的地址C,从参考目的地址C得到参考目的地址D,存取输入帧缓冲器12。合并表10保持用于从用于存取的地址B得到参考目的地址D的对应关系。在这种情况下,因为参考减少了一级,所以对存储器存取的轮数减少。因此,可以通过总线以及更低速度的处理器来实现重新排列。当由另一个重新排列表代替重新排列表8,必须重新计算合并表10。
如上所述,在本实施例中,重新排列表17使用通过合并误差校正表6和重新排列表8所生成的合并表10,将输入帧缓冲器12中的像素数据重新排列到输出帧缓冲器16中。即选择误差校正表6之后,将误差校正表6与重新排列表8合并,用得到的合并表10进行直接的重新排列。以这种方式,由于有从误差校正表6和重新排列表8生成合并表10的功能,可以在重新排列中使用所生成的结果,因此可以用简单的计算重新构造重新排列表8,并且可以用更简单的处理机制来进行重新排列。
本申请基于于2005年6月24日提交日本专利局的日本专利申请第2005-184491号,其全部内容在此引入作为基准。
此外,说明了上述实施例以便易于理解本发明,这些实施例不限制本发明。相反,本发明旨在覆盖包含在所附权利要求书的范围内的各种变形和等同配置。所附权利要求书的范围符合最宽的解释,使得包括法律所允许的全部变形和等同结构。
权利要求
1.一种车辆用图像生成设备,具有至少一个摄像机和显示器,该显示器显示从由该至少一个摄像机生成的图像而得到的图像,其特征在于,所述车辆用图像生成设备包括输入帧缓冲器,其用于接收表示由所述至少一个摄像机生成的图像的像素数据;重新排列表,其存储用于重新排列像素数据的规则;误差校正表,其存储用于调整像素数据以校正所述至少一个摄像机的安装误差的规则;输出帧缓冲器,其用于接收重新排列过的、用于作为图像显示在所述显示器上的像素数据;以及控制器,其用于从所述输入帧缓冲器读取像素数据,以基于所述重新排列表和所述误差校正表中的至少一个重新排列像素数据,并且将重新排列过的像素数据存储在所述输出帧缓冲器中。
2.根据权利要求1所述的车辆用图像生成设备,其特征在于,还包括合并表,其通过合并所述重新排列表和所述误差校正表而生成;其中,所述控制器使用所述合并表来重新排列像素数据。
3.根据权利要求1所述的车辆用图像生成设备,其特征在于,所述误差校正表是用于校正单个摄像机的安装误差的表。
4.根据权利要求1所述的车辆用图像生成设备,其特征在于,所述误差校正表是用于仅校正所述至少一个摄像机的摄像方向的安装误差的表。
5.根据权利要求1所述的车辆用图像生成设备,其特征在于,所述误差校正表是用于校正所述至少一个摄像机的俯仰方向和首摇方向中的至少一个的安装误差的表。
6.根据权利要求1所述的车辆用图像生成设备,其特征在于,还包括用于校正横摇方向的误差的装置。
7.根据权利要求6所述的车辆用图像生成设备,其特征在于,所述用于校正横摇方向的误差的装置还包括用于计算横摇方向的误差校正表的装置;所述控制器使用所述横摇方向的误差校正表重新排列像素数据。
8.根据权利要求1所述的车辆用图像生成设备,其特征在于,所述误差校正表是用于校正所述至少一个摄像机的俯仰方向和首摇方向中的至少一个的安装误差的表,所述设备还包括用于计算横摇方向的误差校正表的装置;所述控制器使用所述横摇方向的误差校正表重新排列像素数据。
9.根据权利要求1所述的车辆用图像生成设备,其特征在于,所述输入帧缓冲器的大小与所述输出帧缓冲器的大小相同;所述误差校正表是用于仅校正所述至少一个摄像机的摄像方向的安装误差的表;所述控制器使用所述误差校正表进行多轮校正。
10.根据权利要求1所述的车辆用图像生成设备,其特征在于,所述控制器从两个误差校正表生成所述误差校正表。
11.一种车辆用图像生成方法,该车辆含有图像生成设备,该图像生成设备从至少一个摄像机接收车辆周围的图像,并且对驾驶者显示合成图像,所述方法包括准备对应于所述至少一个摄像机的安装误差的大小的多个误差校正表;显示所述合成图像;以及对用于创建所述合成图像的各图像,使用所述多个误差校正表中的至少一个作为参考来校正各摄像机的安装误差。
12.根据权利要求11所述的车辆用图像生成方法,其特征在于,还包括使用描述用于重新排列像素数据的规则的重新排列表来重新排列用于创建所述合成图像的各图像的像素数据。
13.根据权利要求12所述的车辆用图像生成方法,其特征在于,还包括将所述重新排列表和所述多个误差校正表中的至少一个合并为合并表;以及在校正安装误差时使用所述合并表。
14.根据权利要求11所述的车辆用图像生成方法,其特征在于,所述多个误差校正表中的至少一个是用于仅校正各摄像机的摄像方向的安装误差的表,校正安装误差还包括校正各摄像机的方向误差。
15.根据权利要求11所述的车辆用图像生成方法,其特征在于,校正各摄像机的安装误差还包括校正俯仰方向的误差和首摇方向的误差中的至少一个。
16.根据权利要求11所述的车辆用图像生成方法,其特征在于,还包括计算至少横摇方向的误差校正表;其中,校正各摄像机的安装误差还包括校正各摄像机的至少横摇方向的误差。
17.根据权利要求11所述的车辆用图像生成方法,其特征在于,所述多个误差校正表中的至少一个是用于校正各摄像机的俯仰方向和首摇方向的安装误差的表,所述方法还包括计算用于横摇方向的误差校正表;以及使用所述用于横摇方向的误差校正表校正横摇方向的误差。
18.根据权利要求11所述的车辆用图像生成方法,其特征在于,还包括在校正各摄像机的安装误差时,顺序使用所述多个误差校正表中的至少一个。
19.根据权利要求11所述的车辆用图像生成方法,其特征在于,还包括使用所述多个误差校正表中的两个来计算所述多个误差校正表中的至少一个。
全文摘要
一种车辆用图像生成设备和方法,用于容易地校正车辆中的摄像机安装误差。该设备包括输入帧缓冲器,用于接收表示由摄像机生成的图像的像素数据;重新排列表,描述用于重新排列像素数据的规则;误差校正表,描述用于调整像素数据以校正摄像机的安装误差的规则;输出帧缓冲器,用于接收重新排列过的用于显示的像素数据;以及控制器,用于从输入帧缓冲器读取像素数据,基于重新排列表和/或误差校正表重新排列像素数据,并且将重新排列过的像素数据存储在输出帧缓冲器中。该方法包括准备对应于安装误差的大小的多个误差校正表;显示合成图像;以及对用于创建合成图像的各图像,使用误差校正表中的至少一个作为参考来校正安装误差。
文档编号H04N7/18GK1884968SQ20061008648
公开日2006年12月27日 申请日期2006年6月23日 优先权日2005年6月24日
发明者大泉谦 申请人:日产自动车株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1