对象物推断装置以及对象物推断方法

申请号 CN201480046274.2 申请日 2014-08-20 公开(公告)号 CN105474265B 公开(公告)日 2017-09-29
申请人 株式会社电装; 丰田自动车株式会社; 发明人 石神裕丈; 白井孝昌; 松原利之;
摘要 对象物推断装置基于图像获取单元从不同的 位置 拍摄到的多个图像,来推断该图像中的对象物的位置以及速度。上述对象物推断装置具备:推移信息获取单元,在上述多个图像中的成为基准的基准图像中,从在时间上位于前后的 帧 中获取对应的 像素 的位置在时间上的推移信息; 视差 信息获取单元,以上述基准图像为基准从上述多个图像中获取对应的各像素的视差信息;推断值获取单元,基于上述推移信息获取单元获取的推移信息以及上述视差信息获取单元获取的视差信息,使用滤波来推断上述对象物在三维空间上的位置以及速度的推断值;判定单元,判定上述推移信息获取单元获取的推移信息以及上述视差信息获取单元获取的视差信息分别是否是异常值;以及修正单元,基于上述判定单元的判定结果,对上述推断值获取单元获取的上述推断值进行修正。上述修正单元在上述判定单元判定为上述推移信息获取单元获取的上述推移信息是异常值的情况下、和在上述判定单元判定为上述视差信息获取单元获取的上述视差信息是异常值的情况下,利用不同的方法对上述推断值获取单元获取的推断值进行修正。
权利要求

1.一种对象物推断装置,是基于图像获取单元(12)从不同的位置拍摄到的多个图像,来推断该图像中的对象物的位置以及速度的对象物推断装置,其特征在于,具备:
推移信息获取单元(28),在上述多个图像中的成为基准的基准图像中,从在时间上位于前后的获取对应的像素的位置在时间上的推移信息;
视差信息获取单元(30),以上述基准图像为基准从上述多个图像中获取对应的各像素的视差信息;
推断值获取单元(32),基于上述推移信息获取单元获取的推移信息以及上述视差信息获取单元获取的视差信息,使用滤波来推断上述对象物在三维空间上的位置以及速度的推断值;
判定单元(34),判定上述推移信息获取单元获取的推移信息以及上述视差信息获取单元获取的视差信息分别是否是异常值;以及
修正单元(36),基于上述判定单元的判定结果,对上述推断值获取单元获取的上述推断值进行修正,
上述修正单元在上述判定单元判定为上述推移信息获取单元获取的上述推移信息是异常值的情况下、和在上述判定单元判定为上述视差信息获取单元获取的上述视差信息是异常值的情况下,利用不同的方法对上述推断值获取单元获取的推断值进行修正。
2.根据权利要求1所述的对象物推断装置,其特征在于,
上述修正单元在上述判定单元将上述推移信息获取单元获取的上述推移信息判定为异常值的情况下,使上述推断值获取单元获取的上述推断值无效,并且将上述滤波复位到初始状态。
3.根据权利要求1或2所述的对象物推断装置,其特征在于,
上述推断值获取单元假定为上述对象物遵照预先设定的过程模型,根据过去获取到的上述推断值来获取上述对象物的位置以及速度的预测值,
上述修正单元在上述判定单元判定为上述视差信息获取单元获取的上述视差信息是异常值的情况下,将上述推断值获取单元获取的上述推断值修正为该推断值获取单元获取的上述预测值的值。
4.根据权利要求3所述的对象物推断装置,其特征在于,
上述判定单元基于上述推移信息获取单元获取的上述推移信息与根据上述推断值获取单元获取的上述预测值计算出并与上述推移信息对应的预测推移信息之差,来判定该推移信息是否是异常值。
5.根据权利要求3所述的对象物推断装置,其特征在于,
上述判定单元基于上述视差信息获取单元获取的上述视差信息与根据上述推断值获取单元获取的上述预测值计算出并与上述视差信息对应的预测视差信息之差,来判定该视差信息是否是异常值。
6.根据权利要求4所述的对象物推断装置,其特征在于,
上述判定单元基于上述视差信息获取单元获取的上述视差信息与根据上述推断值获取单元获取的上述预测值计算出并与上述视差信息对应的预测视差信息之差,来判定该视差信息是否是异常值。
7.一种对象物推断方法,是基于图像获取单元(12)从不同的位置拍摄到的多个图像,来推断该图像中的对象物的位置以及速度的对象物推断方法,其特征在于,具备:
推移信息获取单元(28)在上述多个图像中的成为基准的基准图像中,从在时间上位于前后的帧获取对应的像素的位置在时间上的推移信息的步骤(S18);
视差信息获取单元(30)以上述基准图像为基准从上述多个图像中获取对应的各像素的视差信息的步骤(S20);
推断值获取单元(32)基于上述推移信息获取单元获取的推移信息以及上述视差信息获取单元获取的视差信息,使用滤波来推断上述对象物在三维空间上的位置以及速度的推断值的步骤(S24);
判定单元(34)判定上述推移信息获取单元获取的推移信息以及上述视差信息获取单元获取的视差信息分别是否是异常值的步骤(S26、S28);以及
修正单元(36)基于上述判定单元的判定结果,对上述推断值获取单元获取的上述推断值进行修正的步骤(S32、S34、S36),
上述修正单元在上述判定单元判定为上述推移信息获取单元获取的上述推移信息是异常值的情况下、和在上述判定单元判定为上述视差信息获取单元获取的上述视差信息是异常值的情况下,利用不同的方法对上述推断值获取单元获取的推断值进行修正。
8.根据权利要求7所述的对象物推断方法,其特征在于,
上述修正单元在上述判定单元将上述推移信息获取单元获取的上述推移信息判定为是异常值的情况下,使上述推断值获取单元获取的上述推断值无效(S34),并且将上述滤波复位到初始状态(S32)。
9.根据权利要求7或者8所述的对象物推断方法,其特征在于,
上述推断值获取单元假定为上述对象物遵照预先设定的过程模型,根据过去获取到的上述推断值来获取上述对象物的位置以及速度的预测值,
上述修正单元在上述判定单元判定为上述视差信息获取单元获取的上述视差信息是异常值的情况下,将上述推断值获取单元获取的上述推断值修正为上述推断值获取单元获取的上述预测值的值(S36)。
10.根据权利要求9所述的对象物推断方法,其特征在于,
上述判定单元基于上述推移信息获取单元获取的上述推移信息与根据上述推断值获取单元获取的上述预测值计算出并与上述推移信息对应的预测推移信息之差,来判定该推移信息是否是异常值。
11.根据权利要求9所述的对象物推断方法,其特征在于,
上述判定单元基于上述视差信息获取单元获取的上述视差信息与根据上述推断值获取单元获取的上述预测值计算出并与上述视差信息对应的预测视差信息之差,来判定该视差信息是否是异常值。
12.根据权利要求10所述的对象物推断方法,其特征在于,
上述判定单元基于上述视差信息获取单元获取的上述视差信息与根据上述推断值获取单元获取的上述预测值计算出并与上述视差信息对应的预测视差信息之差,来判定该视差信息是否是异常值。

说明书全文

对象物推断装置以及对象物推断方法

技术领域

[0001] 本发明涉及根据对对象物进行拍摄而得到的图像来推断该对象物的位置以及速度的对象物推断装置以及对象物推断方法。

背景技术

[0002] 例如,提出了各种利用搭载于汽车等车辆的照相机对车辆的前方进行拍摄,并根据拍摄到的图像来检测行人、其它车辆等对象物的检测装置(参照专利文献1、非专利文献1)。在这样的检测装置中,对对象物进行检测来测定(推断)从车辆(照相机)到对象物的距离以及对象物的移动(速度)。
[0003] 通过掌握这样的对象物的位置以及速度,能够判定该对象物对于车辆而言是否危险。而且,在对象物对于车辆而言可能构成危险的情况下,能够对驾驶员警告该情况或自动控制制动器,来辅助驾驶员的驾驶。
[0004] 在非专利文献1中公开了一种根据利用两个照相机拍摄到的图像来推断对象物在三维上的位置以及速度的方法。具体而言,在非专利文献1的方法中,根据利用两个照相机拍摄到的两个图像按每个像素求出视差。另外,根据利用一个照相机获取到的连续的图像来计算每个像素的推移(光流场)。而且,将上述视差以及光流场作为输入,通过卡尔曼滤波来推断对象物的当前的位置以及速度。
[0005] 专利文献1:国际公开第2006/081906号公报
[0006] 非专利文献1:クレメンス·ラーベ(Clemens Rabe)、ウェ·フランケ(Uwe Franke)、およびステファン·ギリグ(Stefan Gehrig)著、「複雑な背景における移動体の高速検出」(Fast detection of moving objects in complex scenarios)、インテリジェント自動車シンポジウム,2007IEEE(Intelligent Vehicles Symposium,2007IEEE)、(イスタンブール)、2007年6月13日、p.398-403
[0007] 然而,根据利用照相机拍摄到的映像获取的视差、光流场不可避免地会产生因照相机的分辨率引起的误差、因错误地追踪对象物而引起的误差(跟踪错误)等。而且,若被输入包含这样的误差(异常值)的视差、光流场,则计算出的对象物的推断值也包含误差。
[0008] 即,没有提供在视差、光流场的输入值是异常值的情况下,能够适当地对通过滤波计算出的推断值进行修正,并以较高的精度推断对象物的状态(位置/速度)的装置。

发明内容

[0009] 一个实施方式提供一种在视差信息以及推移信息中检测出异常值的情况下能够适当地对推断值进行修正,高精度地推断对象物的位置以及速度的对象物推断装置以及对象物推断方法。
[0010] 一个实施方式的对象物推断装置基于图像获取单元从不同的位置拍摄到的多个图像,来推断该图像中的对象物的位置以及速度。上述对象物推断装置具备:推移信息获取单元,在上述多个图像中的成为基准的基准图像中,从在时间上位于前后的帧获取对应的像素的位置在时间上的推移信息;视差信息获取单元,从上述多个图像中以上述基准图像为基准来获取对应的各像素的视差信息;推断值获取单元,基于上述推移信息获取单元获取的推移信息以及上述视差信息获取单元获取的视差信息,使用滤波来推断上述对象物在三维空间上的位置以及速度的推断值;判定单元,判定上述推移信息获取单元获取的推移信息以及上述视差信息获取单元获取的视差信息分别是否是异常值;以及修正单元,基于上述判定单元的判定结果,来对上述推断值获取单元获取的上述推断值进行修正。上述修正单元在上述判定单元判定为上述推移信息获取单元获取的上述推移信息是异常值的情况下、以及在上述判定单元判定为上述视差信息获取单元获取的上述视差信息是异常值的情况下,利用不同的方法对上述推断值获取单元获取的推断值进行修正。附图说明
[0011] 图1是表示搭载有实施方式所涉及的对象物推断装置的汽车的系统结构的框图
[0012] 图2是表示实施方式所涉及的对象物推断装置推断对象物的状态的概念图
[0013] 图3(a)是表示对作为对象物的其他车辆进行拍摄而得到的图像的图,(b)是表示视差信息的图,(c)是表示推移信息的图。
[0014] 图4是对在推移信息中产生异常值并对推断值进行修正的情况加以说明的图。
[0015] 图5是对在视差信息中产生异常值并对推断值进行修正的情况加以说明的图。
[0016] 图6是表示通过实施方式所涉及的对象物推断方法来进行对象物的状态推断时的控制流程的流程图
[0017] 图7是表示实验例的实验条件的图。
[0018] 图8是表示实验例的实验结果的图表。

具体实施方式

[0019] 接下来,对实施方式所涉及的对象物推断装置以及对象物推断方法进行说明。在实施方式中,对将对象物推断装置搭载于作为车辆的汽车(普通乘用车)的情况进行说明。
[0020] [实施方式]
[0021] 图1是表示搭载有本实施方式所涉及的对象物推断装置10的汽车的系统结构的框图。对象物推断装置10与图像获取部12(图像获取单元)以及车辆信息获取部14电连接。而且,对象物推断装置10基于来自图像获取部12以及车辆信息获取部14的输入,来推断由图像获取部12拍摄到的对象物(例如其它车辆、行人)的状态(位置以及速度)。
[0022] 其中,对象物推断装置10与未图示的驾驶辅助装置电连接,将由对象物推断装置10获得的对象物的推断值输出至驾驶辅助装置。在驾驶辅助装置中,使用被输入的推断值,例如对驾驶员警告对象物的存在或自动控制制动器,来辅助驾驶员的驾驶。
[0023] (关于图像获取部)
[0024] 图像获取部12例如被安装于汽车的挡玻璃(前窗玻璃)(未图示)的车辆室侧,对汽车的行进方向的前方进行拍摄。本实施方式的图像获取部12是具备分离在左右(与汽车的行进方向垂直的平方向)的一对照相机16、18的立体照相机。其中,在以下的说明中,将左侧的照相机称为第一照相机16(第一拍摄单元),将右侧的照相机称为第二照相机18(第二拍摄单元)。
[0025] 第一照相机16以及第二照相机18实现拍摄时机的同步以便在同一时刻拍摄帧。第一照相机16以及第二照相机18从相互不同的位置对汽车的行驶方向的前方进行拍摄,分别获取第一图像(基准图像)以及第二图像。
[0026] (关于车辆信息获取部)
[0027] 车辆信息获取部14用于检测汽车的行驶状态,具备检测汽车的横摆率的横摆率传感器20以及检测汽车的车速(行驶速度)的车速传感器22。由车辆信息获取部14获取到的横摆率以及车速被输出至对象物推断装置10的后述的推断值获取部26。
[0028] (关于对象物推断装置)
[0029] 如图1所示,对象物推断装置10将输入值获取部24以及推断值获取部26作为基本结构。
[0030] (关于输入值获取部)
[0031] 输入值获取部24具备推移信息计算部28(推移信息获取单元)以及视差信息计算部30(视差信息获取单元)。输入值获取部24基于图像获取部12获取的第一图像以及第二图像,来获取输入至推断值获取部26的输入值(后述的视差信息以及推移信息)。
[0032] 推移信息计算部28与第一照相机16电连接,被输入由第一照相机16获取到的第一图像。另外,推移信息计算部28具备RAM等可改写的存储部(未图示),将前1帧的第一图像随时存储以及更新至存储部。
[0033] 推移信息计算部28根据当前的帧的第一图像和存储部所存储的前1帧的第一图像(在时间上位于前后的帧)来获取对应的像素的位置在时间上的推移信息(光流场)。
[0034] 在实施方式中,推移信息以第一照相机16的光轴中心为原点,有关像素的横向(x方向)的位置分量被定义为u、有关像素的纵向(y方向)的位置分量被定义为v。
[0035] 其中,推移信息计算部28在计算推移信息(u,v)时,例如使用浓度梯度法、Horn-Schunck的方法(B.K.P.Horn and B.G.Schunck,Determining Optical Flow,AI(17),No.1-3,1981,pp.185-203)等公知的方法。
[0036] 视差信息计算部30与第一照相机16以及第二照相机18双方电连接,分别被输入由两个照相机16、18获取到的第一图像以及第二图像。视差信息计算部30基于被输入的第一图像以及第二图像,按每个像素来计算视差(视差信息d)。
[0037] 具体而言,对于第一图像的各像素以及第二图像所对应的各像素,例如通过基于Semi-Global Matching的图像处理来计算视差信息d。在本实施方式中,视差信息计算部30被设定为以第一图像为基准来计算视差信息d。即,视差信息d与以第一照相机16的光轴中心为原点的有关像素的纵深位置(从第一照相机16到对象物的距离)唯一建立对应关系。其中,各像素的帧间的跟踪基于推移信息计算部28计算的推移信息(u,v)(即,光流场)来进行。
[0038] 由推移信息计算部28计算出的推移信息(u,v)以及由视差信息计算部30计算出的视差信息d被输出至推断值获取部26。
[0039] 如图1所示,推断值获取部26具备计算部32(推断值获取单元)、判定部34(判定单元)、以及修正部36(修正单元)。
[0040] 计算部32通过将推移信息(u,v)以及视差信息d作为输入值,执行具有规定的过程模型以及观测模型的卡尔曼滤波(Kalman Filter),来计算对象物的位置以及速度的推断值。其中,在本实施方式中,计算部32以第一图像为基准来计算推断值。
[0041] 这里,为了抑制计算量,计算部32被设定为不对第一图像的全部像素计算推断值,而对例如第一图像的除去周边部之外的规定范围的像素计算推断值。
[0042] 图2是对象物推断装置10推断对象物的状态时的概念图。坐标系以第一照相机16的光轴中心为原点设定为如图2那样,计算部32推断对象物的位置(X,Y,Z)以及速度(VX,VY,Vz)。如式1所示,计算部32中设定有将对象物的位置以及速度以匀速直线运动模型化的过程模型。
[0043] [式1]
[0044]
[0045] [式2]
[0046]
[0047] 这里,v平均为零,遵照协方差矩阵Q的多元正态分布。
[0048] [式3]
[0049] v~N(0,Q)
[0050] 其中,车速是车速传感器22中的检测值,横摆率是横摆率传感器20中的检测值。
[0051] 另外,如式4所示,计算部32中设定有规定视差信息d以及推移信息(u,v)与对象物的位置(X,Y,Z)以及速度(Vx,Vy,Vz)的关系的观测模型。
[0052] [式4]
[0053]
[0054] 这里,H是3D→2D射影变换矩阵。若将第一图像的横向的焦距设为fx[pix]、将纵向的焦距设定为fy[pix]、将第一照相机16以及第二照相机18的基线长度(光轴间距离)设定为B,则H被如式5那样表示。
[0055] [式5]
[0056]
[0057] 将其代入式4的式子。
[0058] [式6]
[0059]
[0060] 由于式6的式子是非线性函数,所以不能直接应用卡尔曼滤波。鉴于此,为了对式6的式子进行线性近似,如式7的式子所示,在时刻t(t帧)的对象物的位置的预测值(根据过程模型计算)的周围进行泰勒展开并采用到1次项为止。
[0061] [式7]
[0062] 预测值:
[0063] 若对式7的式子进行整理,则成为
[0064] [式8]
[0065]
[0066] 这里,w平均为零,遵照协方差矩阵R的多元正态分布。
[0067] [式9]
[0068] w~N(0,R)
[0069] 计算部32基于上述的过程模型以及观测模型,执行卡尔曼滤波。即,如以下所示,计算部32以第一图像为基准按每个帧反复进行基于过程模型的预测(式12~式14)以及基于观测模型的更新(式15~式20)。由此,计算部32推断对象物的状态(位置/速度)。将卡尔曼滤波的在t帧中的推断值以及该推断值的误差的协方差矩阵分别表示为式10以及式11。
[0070] [式10]
[0071]
[0072] [式11]
[0073]
[0074] 式11的xt表示对象物的状态(位置/速度)的真值。
[0075] [预测]
[0076] [式12]
[0077] (根据过程模型)
[0078] [式13]
[0079] 预测值)
[0080] [式14]
[0081] (预测值的误差的协方差矩阵)
[0082] [更新]
[0083] [式15]
[0084] (根据观测模型)
[0085] [式16]
[0086] (观测值以及预测值的残差)
[0087] [式17]
[0088] (残差的协方差矩阵)
[0089] [式18]
[0090] (卡尔曼增益)
[0091] [式19]
[0092] (推断值)
[0093] [式20]
[0094] (推断值的误差的协方差矩阵)
[0095] 为了执行上述预测以及更新,计算部32中预先设定有关于推断值的初始值(式21)以及推断值的误差的协方差矩阵的初始值(式22)。
[0096] [式21]
[0097] 推断值的初始值:
[0098] [式22]
[0099] 推断值的误差的协方差矩阵的初始值:
[0100] 这些初始值能够根据执行卡尔曼滤波的模型、条件,来设定适当的常量,或采用通过模拟、实验等而求出的值。
[0101] 判定部34判定由推移信息计算部28计算出的推移信息(u,v)以及由视差信息计算部30计算出的视差信息d是否是异常值。以下,对于产生推移信息(u,v)以及视差信息d的异常值的情况,举出具体例来进行说明。
[0102] 设想如图3(a)所示,将在搭载有对象物推断装置10的汽车的行驶方向的前方进行行驶的汽车(以下,称为其他车辆38)作为对象物,通过对象物推断装置10进行状态推断的情况。图3(b)表示了视差信息计算部30计算出的t-1帧、t帧、t+1帧中的视差信息d。
[0103] 图3(b)的对各帧标注的圆形的包围线表示被正常跟踪(即,恰当地计算推移信息)的像素(追踪点)。由图3(b)可知,不管包围线内的像素是否是对象物的同一部位,从t-1帧到t帧,该像素中的视差信息d都发生变化。另外,可知在t+1帧中,视差信息d正被修正。即,在t帧中视差信息计算部30计算出的包围线内的像素的视差信息d成为偏离了真值的异常值(偏离值)。
[0104] 这样的异常值因第一图像以及第二图像所包含的噪声的影响、伴随以有限的像素来划分各图像而产生的误差等而引起。另一方面,在t+1帧视差信息d正被修正是因视差信息计算部30按每个帧独立地计算视差信息d而引起的。即,这是因为由于视差信息计算部30不依赖于过去计算出的视差信息d地计算视差信息d,所以即便一旦在视差信息d中产生了异常值,也能够在t+1帧中计算出恰当的视差信息d。
[0105] 图3(c)表示推移信息计算部28计算出的t′-1帧、t′帧、t′+1帧中的推移信息(u,v)。在t′帧中的标注有包围线的部位,追踪点从其他车辆38移至其他车辆38以外的风景(侧壁)、或此外的车辆40。即,推移信息计算部28对t′帧的标注有包围线的像素计算出的推移信息(u,v)成为异常值(偏离值)。这样的推移信息(u,v)的异常值主要因模式匹配的错误而产生。
[0106] 这里,在t′+1帧中,从其他车辆38偏离的追踪点保持被跟踪。即,若一旦在推移信息(u,v)中产生异常值,则追踪点不会被修正(不会恢复到其他车辆38上的追踪点)。这是因为遍及在时间上位于前后的帧间计算推移信息(u,v)(光流场)而依赖于过去计算出的推移信息(u,v)。
[0107] 如上所述,存在推移信息计算部28计算出的推移信息(u,v)、视差信息计算部30计算出的视差信息d是因错误引起的异常值的可能性。鉴于此,判定部34基于推移信息(u,d)以及视差信息d与计算部32计算出的预测值(数13)之差,来判定推移信息(u,v)以及视差信息d是否是异常值。
[0108] 具体而言,判定部34基于推移信息计算部28计算出的推移信息(u,v)与根据计算部32计算出的预测值得到并与推移信息(u,v)对应的预测推移信息之差,来判定该推移信息(u,v)是否是异常值。另外,判定部34基于视差信息计算部30计算出的视差信息d与根据计算部32计算出的预测值得到并与视差信息d对应的预测视差信息之差,来判定该视差信息d是否是异常值。
[0109] 即,判定部34使用计算部32更新卡尔曼滤波时计算出的观测值以及预测值的残差(式16)。
[0110] [式23]
[0111]
[0112] 推移信息与预测信息的差
[0113] 视差信息与预测视差信息的差
[0114] 而且,在推移信息与预测信息的差以及视差信息与预测视差信息的差分别比规定的阈值Thu、Thv、Thd大的情况下,判定部34判定为观测值(视差信息d、推移信息(u,d))分别是异常值。
[0115] [式24]
[0116]
[0117] [式25]
[0118]
[0119] [式26]
[0120]
[0121] 即,在满足式24以及式25的公式的至少一个的情况下,判定部34判定为推移信息(u,v)是异常值。另外,在满足式26的情况下,判定部34判定为视差信息d是异常值。作为该阈值Thu、Thv、Thd,可采用通过模拟、实验等而得到的固定值。
[0122] 其中,作为阈值,不必一定是固定值。例如,远方的对象物的视差信息d受拍摄到的图像的噪声等大幅影响,计算出的视差信息d的误差也容易增大。结果,在采用了固定的阈值的情况下,存在判定部34总是将视差信息d判定为异常值之虞。
[0123] 鉴于此,由于实施考虑了观测值以及预测值的偏差的判定,所以也可以代替作为固定值的阈值而使用作为变量的阈值。
[0124] 即,也可以使用作为式17所示的残差的协方差矩阵的St的元素,对阈值进行调整(变动)。
[0125] [式27]
[0126]
[0127] 而且,在以下的情况下,判定部34判定为观测值是异常值。
[0128] [式28]
[0129] St的0行0列的值
[0130] [式29]
[0131] St的1行1列的值
[0132] [式30]
[0133] St的2行2列的值
[0134] 即,在满足式28以及式29的公式的至少一个的情况下,判定部34判定为推移信息(u,v)是异常值。另外,在满足式30的情况下,判定部34判定为视差信息d是异常值。
[0135] 修正部36在判定部34判定为观测值的任意一个是异常值的情况下,对计算部32计算出的推断值进行修正。另一方面,在观测值不是异常值的情况下,修正部36不对由计算部32计算出的推断值进行修正。
[0136] 这里,在判定为推移信息(u,v)是异常值的情况下、和判定为视差信息d是异常值的情况下,修正部36利用不同的方法对推断值进行修正。
[0137] (关于判定为推移信息是异常值的情况)
[0138] 首先,使用图4对在判定为推移信息(u,v)是异常值的情况下,修正部36对推断值进行修正的方法进行说明。其中,图4所示的图像用于表示推移信息计算部28计算出的推移信息(u,v),与在图3(c)中说明的情况相同。
[0139] 如图4所示,直到t′-1帧,图中的包围线内所示的部位(追踪点A)的跟踪(推移信息)都正常进行。因此,由计算部32计算的推断值成为观测其他车辆38上的追踪点A而推断出的值。
[0140] 若在t′帧中产生跟踪错误,则追踪点从其他车辆38上的A推移到背景(侧壁)上的B。即,在t′帧中推移信息计算部28计算出的推移信息(u,v)成为满足式24或者式25(或式28或者式29)的异常值。该情况下,使用关于t′-1帧中的追踪点A的推断值而计算出的关于t′帧中的追踪点B的推断值成为追踪不同的对象物而得到的错误值。
[0141] 鉴于此,修正部36在推移信息(u,v)是异常值的情况下,将计算部32计算出的t′帧中的推断值取消(无效),并且将卡尔曼滤波复位到初始状态。这样,在产生了跟踪错误的情况下,由于之后不将推移信息(u,v)修正为正常值,所以修正部36将推断值复位到式21的初始值。
[0142] 由于在推移信息(u,v)是异常值的情况下,关于该像素的跟踪无效,所以修正部36设定无效值作为对象物推断装置10的输出。即,输出无效值作为推移信息(u,v)被判断为异常值的关于该像素的推断值,关于该像素的推断结束。
[0143] 此外,在卡尔曼滤波被复位到初始状态后,也继续关于追踪点B的跟踪。因此,在t′+1帧中,计算部32使用上述的初始值来计算关于追踪点B的推断值。而且,在以后的帧中,计算关于追踪点B的推断值。
[0144] 其中,在判定为推移信息(u,v)不是异常值的情况下,修正部36不对由计算部32计算出的推断值进行修正,而将该推断值设定为对象物推断装置10的输出。
[0145] (关于判定为视差信息是异常值的情况)
[0146] 接下来,使用图5,对在判定为视差信息d是异常值的情况下,修正部36对推断值进行修正的方法进行说明。其中,图5的左侧的图像表示视差信息计算部30计算出的视差信息d,与在图3(b)中说明的情况相同。另外,图5的右侧的图像表示左侧的图像所对应的帧中的跟踪(推移信息)。其中,图中的圆形的包围线表示对象物的同一部位(追踪点C),在t帧中,视差信息d成为异常值。其中,对于推移信息(u,d),设在所有的帧中恰当地计算出。即,准确地进行追踪点C的跟踪。
[0147] 在t-1帧中,正确地计算视差信息d,计算部32计算出的推断值也为适当的值。因此,修正部36将计算部32计算出的推断值设定为输出。
[0148] 在t帧中,虽然正常地执行跟踪,但在视差信息d中产生误差。即,在t帧中视差信息计算部30计算的视差信息d成为满足式26(或者式30)的异常值。
[0149] 该情况下,认为与使用作为异常值的视差信息d而计算出的推断值(式19)相比,通过式13得到的预测值更准确地表示对象物的状态(更接近真值)。鉴于此,修正部36若判定为视差信息d是异常值,则取消根据式19计算出的推断值,并且采用通过式13得到的预测值作为推断值。而且,修正部36设定被修正为预测值的值的推断值作为对象物推断装置10的输出。
[0150] 在t+1帧中,对视差信息d进行修正,来计算适当的值。该情况下,修正部36不对计算部32计算出的推断值进行修正地加以采用。即,在t+1帧中,计算部32直接采用使用在t帧中得到的推断值(预测值)而计算出的推断值。而且,修正部36将该推断值设定为输出。
[0151] 接下来,参照图6的流程图对本实施方式的对象物推断装置10的推断方法进行说明。其中,图6的流程图表示在任意的帧(t帧)中,对象物推断装置10推断对象物的状态时的控制流程。
[0152] 第一照相机16以及第二照相机18(图像获取部12)对汽车的行驶方向前方的风景进行拍摄,分别获取第一图像以及第二图像。由图像获取部12获取到的第一图像以及第二图像被输入至对象物推断装置10(输入值获取部24)(步骤S10)。
[0153] 推移信息计算部28将被输入的第一图像存储至存储部(步骤S12)。该存储至存储部的t帧的第一图像在下一帧(t+1帧)中推移信息计算部28计算推移信息(u,v)时使用。
[0154] 接下来,将车辆信息获取部14获取到的汽车的横摆率以及车速输入至对象物推断装置10(推断值获取部26)(步骤S14)。即,将由横摆率传感器20检测出的横摆率以及由车速传感器22检测出的汽车的车速输入至对象物推断装置10。
[0155] 接着,推移信息计算部28从存储部中读出前1帧(t-1帧)的第一图像(步骤S16)。然后,推移信息计算部28基于从图像获取部12输入的该帧(t帧)中的第一图像以及前1帧的第一图像,来计算推移信息(u,v)(步骤S18)。
[0156] 视差信息计算部30基于从图像获取部12输入的第一图像以及第二图像,来计算视差信息d(步骤S20)。此时,视差信息计算部30以第一图像为基准,按该第一图像的每个像素来计算视差信息d。将由输入值获取部24获取到的视差信息d以及推移信息(u,v)输出至推断值获取部26。
[0157] 在推断值获取部26中,对于第一图像的规定范围的各像素获取对象物的状态的推断值(步骤S22~S38)。即,基于从输入值获取部24输入的视差信息d以及推移信息(u,v),计算部32执行基于预测(式12~式14)以及更新(式15~式20)的卡尔曼滤波(步骤S24)。
[0158] 接下来,判定部34判定由推移信息计算部28计算出的推移信息(u,v)是否是异常值(步骤S26)。即,判定部34判定推移信息(u,v)的各分量是否分别满足式24以及式25(或者式28以及式29)的公式。
[0159] 这里,在正确进行关于该像素的跟踪的情况下,推移信息(u,v)的各分量均不满足式24、式25(或者式28、式29)。该情况下,判定部34判定为由推移信息计算部28计算出的推移信息(u,v)不是异常值(步骤S26的“否”)。
[0160] 若在步骤S26中为否定,则接下来判定部34判定在步骤S16中视差信息计算部30计算出的视差信息d是否是异常值(步骤S28)。即,判定部34判定视差信息d是否满足式26(或者式30)。
[0161] 这里,在适当地计算出关于该像素的视差信息d的情况下,视差信息d不满足式26(或者式30)。该情况下,判定部34判定为由视差信息计算部30计算出的视差信息d不是异常值(步骤S28的“否”)。
[0162] 若判定部34判定为推移信息(u,v)以及视差信息d均不是异常值,则修正部36不对在步骤S24中计算部32计算出的推断值进行修正地加以采用。即,修正部36将在步骤S24中计算出的推断值直接设定为该像素中的推断值的输出(步骤S30)。
[0163] 另一方面,当在步骤S26中不能适当地进行针对该像素的跟踪的情况下,推移信息(u,v)的至少一个分量满足式24、式25(式28、式29)。该情况下,判定部34判定为推移信息(u,v)是异常值(步骤S26的“是”)。
[0164] 若判定为推移信息(u,v)是异常值,则修正部36不采用在步骤S24中计算出的推断值,而将卡尔曼滤波复位到初始状态(步骤S32)。即,修正部36将预先设定的初始值(数21)设置为卡尔曼滤波。然后,修正部36设定无效值作为该像素中的推断值的输出(步骤S34)。
[0165] 这样,在推移信息计算部28计算出的推移信息(u,v)是异常值的情况下,修正部36将基于该推移信息(u,v)计算出的推断值取消而使该像素中的推断值无效。由此,通过使用关于未被恰当地跟踪的像素的推断结果,能够防止输出包含大的误差的推断值。
[0166] 另一方面,当在步骤S28中该像素中的视差信息d产生了误差的情况下,视差信息d满足式26(或者式30)。该情况下,判定部34判定为视差信息d是异常值(步骤S28的“是”)。若判定为视差信息d是异常值,则修正部36取消在步骤S24中计算部32计算出的推断值。而且,修正部36将计算部32在执行卡尔曼滤波时计算出的预测值(参照式13)的值设定为推断值(步骤S36)。
[0167] 即,由于在视差信息d是异常值的情况下,计算部32计算出的推断值也包含误差,所以修正部36取消该推断值。而且,修正部36将认为比计算部32计算出的推断值更准确的预测值设定为该像素中的推断值。由此,即使在视差信息d包含误差的情况下,也采用更适当的值作为对象物的推断值,能够提高对象物推断装置10的可靠性。
[0168] 并且,由于按每个帧独立地计算视差信息d,所以即使当前的帧的视差信息d是异常值,也不会影响后面的帧中的视差信息d的计算。因此,修正部36不用像推移信息(u,v)是异常值的情况那样将卡尔曼滤波复位到初始状态,而针对该像素继续以后的推断。
[0169] 若修正部36设定预测值的值作为推断值,则将该推断值的值设定为该像素的输出值(步骤S30)。
[0170] 若推断值获取部26决定了关于该像素的推断值,则对下一个像素执行步骤S26~S36。而且,若对处于第一图像的规定范围的全部像素决定了推断值(步骤S38),则推断值获取部26将设定为输出的推断值输出至驾驶辅助装置(步骤S40),并结束当前的帧的处理。
[0171] [实验例]
[0172] 接下来,为了确认上述的对象物推断装置10的效果,进行了视差信息d产生异常值的情况下的证实实验(实验例)。如图7所示,搭载有对象物推断装置10的汽车42以车速25km/h在道路上直行。而且,将在汽车42的行驶方向的前方行驶的车辆(以下,称为其他车辆44)设为对象物,推断了该其他车辆44的位置以及速度。其中,坐标系如图7所示,将第一照相机16的镜头的中心设为原点位置。
[0173] 这里,车速传感器22的车速为7.32m/s,横摆率传感器20的横摆率为0.15deg/s(均包含误差)。该情况下,式1所示的卡尔曼滤波的过程模型如以下所示。
[0174] [式31]
[0175]
[0176] 这里,式31的协方差矩阵Q如以下所示,采用在预先进行了的模拟中得到的适合值。
[0177] [式32]
[0178]
[0179] 另外,观测模型的式9所示的协方差矩阵R如以下所示,采用了在预先进行的模拟中得到的适合值。
[0180] [式33]
[0181]
[0182] 另外,本实验例中,作为卡尔曼滤波的初始值,设定了以下那样的值。在推断值的初始值(参照式21)中,根据输入值的初始值(u0,v0,d0)来计算位置,另外,对于速度,使用了通过预先进行的模拟而得到的适合值(0.00)。
[0183] [式34]
[0184]
[0185] 另外,关于式22所示的推断值的误差的协方差矩阵的初始值,基于通过预先进行的模拟而求出的(u,v,d)的方差(σu2,σv2,σd2)来计算协方差矩阵的一部分的元素。另外,对于协方差矩阵的其它元素,直接采用通过该模拟而求出的适合值。
[0186] [式35]
[0187]
[0188] [式36]
[0189]
[0190] 另外,在实验例中,作为由判定部34进行的输入值的判定,使用了式28~式30的式子。
[0191] 在以上的条件下,遍及0帧至20帧间,由对象物推断装置10进行了对象物的状态推断。而且,将到其他车辆44为止的距离(Z)的推断结果示于图8的图表。其中,在实验例中,设在第9帧中,视差信息d产生了异常值。另外,为了比较,一并表示了未使用卡尔曼滤波而推断出的结果(比较例1)、以及在即使视差信息d是异常值也未由修正部36进行修正的条件下推断出的结果(比较例2)。此外,图表中的真值表示到其他车辆44为止的实际的距离。
[0192] 从图8的图表可知,在未使用滤波的比较例1中,在视差信息d成为异常值的9帧中,大幅偏离了真值。
[0193] 另外,对于未进行推断值的修正的比较例2,到8帧为止描绘了与实验例相同的轨迹。然而可知,由于在视差信息d成为异常值的9帧中,原样采用根据该视差信息d计算出的推断值,所以推断结果偏离真值。另外,在10帧以后,因包含9帧中的误差的推断值的影响,继续偏离了真值的推断结果。
[0194] 另一方面,在实验例中,即使在从推断的开始起逐渐接近真值,视差信息d成为异常值的9帧中,也成为接近真值的推断结果。这是因为在9帧中,未采用计算部32计算出的推断值而采用了预测值的值作为推断值。另外,在10帧以后,也成为接近真值的推断结果。这样,可知实验例最准确地推断了对象物的距离。
[0195] 根据以上说明的实施方式所涉及的对象物推断装置10以及对象物推断方法,会起到以下的效果。
[0196] (1)修正部36基于判定部34的判定结果,来对计算部32计算出的推断值进行修正。因此,推断值的精度提高,能够准确地推断对象物的状态。
[0197] (2)在判定部34判定为推移信息(u,v)是异常值的情况下,修正部36将卡尔曼滤波复位到初始状态(将推断值设定为初始值),并且将计算部32计算出的推断值设为无效值。由此,能够防止直接输出使用作为异常值的推移信息(u,v)而计算出的推断值。即,将根据产生了跟踪错误的像素而得到的推断值设为无效,能够提高对象物推断装置的可靠性。
[0198] 此外,通过将卡尔曼滤波复位到初始状态,能够在因跟踪错误而追踪点推移之后,从初始状态开始追踪该追踪点。即,作为与产生了异常值的追踪点不同的新的追踪点,能够继续推断。
[0199] (3)按每个帧计算视差信息d,视差信息d的异常值也以帧为单位独立地产生。鉴于这样的视差信息d的特性,在视差信息d是异常值的情况下,修正部36将认为比计算部32计算出的推断值精度高的预测值设定为推断值。由此,在视差信息d是异常值的情况下,能够减小对象物的推断值的误差。
[0200] 并且,修正部36不会像推移信息(u,v)产生了异常值的情况那样将卡尔曼滤波复位到初始状态。因此,在下一帧中,能够使用被设定为预测值的推断值来继续关于该像素的推断。
[0201] (4)判定部34基于推移信息计算部28计算出的推移信息(u,v)与根据预测值计算的预测推移信息之差(参照式24、式25或者式28、式29),来判定该推移信息(u,v)是否是异常值。因此,判定部34能够恰当地判定推移信息计算部28计算出的推移信息(u,v)是否是异常值。
[0202] (5)判定部34基于视差信息计算部30计算出的视差信息d与根据预测值计算的预测视差信息之差(参照式26或者式30),判定为该视差信息d是异常值。因此,判定部34能够恰当地判定视差信息计算部30计算出的视差信息d是否是异常值。
[0203] (6)这里,在采用了式24~式26所示的固定值作为判定部34进行判定时的阈值的情况下,能够高效地进行推移信息(u,d)以及视差信息d的判定,可减轻判定部34的处理负担。
[0204] (7)另一方面,在采用了式28~式30所示的变量值作为阈值的情况下,能够考虑观测值、推测值的偏差来进行恰当的判定。由此,例如在对象物处于远方而视差信息d容易受到噪声的影响的情况下,阈值的值增大而难以判定为是异常值成为可能。另一方面,在对象物处于近处而噪声对视差信息d的影响较小的情况下,阈值减小而能够准确地捕捉视差信息d的异常值变为可能。
[0205] (变更例)
[0206] 上述的实施方式所涉及的对象物推断装置能够以如下的方式变更。
[0207] ·在实施方式中,作为滤波,采用了通过反复预测(式12~式14)以及更新(式15~式20)来推断对象物的状态的卡尔曼滤波。然而,作为卡尔曼滤波,并不限定于实施方式,例如也可以采用无迹卡尔曼滤波、粒子滤波等。
[0208] ·另外,作为滤波,并不像实施方式那样限定于卡尔曼滤波,也能够采用例如H∞滤波等其它滤波。
[0209] ·在实施方式中,作为图像获取单元,例示了具备第一照相机以及第二照相机的图像获取部。然而,作为图像获取单元,只要从不同的位置获取多个图像即可,也可以具备3个以上照相机。另外,在实施方式中,根据第一照相机以及第二照相机获取到的第一图像以及第二图像来计算出视差信息,但也可以根据由3个以上照相机拍摄到的3个以上的图像来计算视差信息。
[0210] ·在实施方式中,以第一照相机获取到的图像作为基准图像,来推断对象物的状态,但也可以将第二照相机获取到的图像作为基准图像来计算推断值。该情况下,第二照相机成为第一拍摄单元,第一照相机成为第二拍摄单元,第二照相机拍摄到的图像成为第一图像,第一照相机拍摄到的图像成为第二图像。
[0211] ·在实施方式中,根据第一图像的连续的帧计算出推移信息,但只要是在时间上处于前后的帧即可,无需必须根据连续的帧来计算推移信息。例如,也可以根据1帧前后的帧间(即,t帧以及t+2帧)来计算推移信息。
[0212] ·在实施方式中,示出了第一照相机以及第二照相机对汽车的行驶方向的前方进行拍摄,来推断汽车的前方的对象物的情况。然而,例如第一照相机以及第二照相机也可以对汽车的侧方(左右方向)、后方进行拍摄。由此,能够对汽车的前方以外的对象物(例如,后方车辆)推断状态。
[0213] ·在实施方式中,例示了将对象物推断装置搭载于普通乘用车的汽车的情况,但对象物推断装置也能够搭载于公共汽车、卡车等大型车辆、两轮摩托车等所有的车辆。另外,也可以将对象物推断装置搭载于模拟装置等实验设施。
[0214] ·在实施方式中,利用车速传感器来计算平移运动,但也可以根据由第一拍摄单元获取到的第一图像或者由第二拍摄单元获取到的第二图像来计算汽车的平移运动。同样,对于旋转运动,也可以不采用横摆率传感器而根据第一图像或者第二图像来计算汽车的旋转运动。
[0215] ·在实施方式中,对于第一图像的规定范围的像素执行卡尔曼滤波,计算出推断值,但也可以对第一图像的所有像素计算推断值。
[0216] 上述对象物推断装置基于图像获取单元从不同的位置拍摄到的多个图像,来推断该图像中的对象物的位置以及速度。上述对象物推断装置具备:推移信息获取单元,在上述多个图像中的成为基准的基准图像中,从在时间上位于前后的帧中获取对应的像素的位置在时间上的推移信息;视差信息获取单元,从上述多个图像中以上述基准图像为基准来获取对应的各像素的视差信息;推断值获取单元,基于上述推移信息获取单元获取的推移信息以及上述视差信息获取单元获取的视差信息,使用滤波来推断上述对象物在三维空间上的位置以及速度的推断值;判定单元,判定上述推移信息获取单元获取的推移信息以及上述视差信息获取单元获取的视差信息分别是否是异常值;和修正单元,基于上述判定单元的判定结果,来对上述推断值获取单元获取的上述推断值进行修正。上述修正单元在上述判定单元判定为上述推移信息获取单元获取的上述推移信息是异常值的情况下、以及在上述判定单元判定为上述视差信息获取单元获取的上述视差信息是异常值的情况下,利用不同的方法对上述推断值获取单元获取的推断值进行修正。
[0217] 判定单元判定推移信息以及视差信息分别是否是异常值。而且,修正单元基于判定单元的判定结果,来对推断值获取单元获取到的推断值进行修正。因此,在推移信息、视差信息是异常值的情况下,能够对推断值获取单元获取到的包含误差的推断值进行修正,高精度地推断对象物的位置以及速度。
[0218] 这里,修正单元在判定单元判定为推移信息是异常值的情况下、以及将视差信息判定为是异常值的情况下,变更对推断值进行修正的方法。即,通过根据产生了异常值的输入值(推移信息、视差信息)的种类来恰当地修正推断值,能够更加准确地推断对象物的状态。
[0219] 上述修正单元在上述判定单元将上述推移信息获取单元获取到的上述推移信息判定为是异常值的情况下,使上述推断值获取单元获取到的上述推断值无效,并且将上述滤波复位到初始状态。
[0220] 推移信息获取单元从基准图像的在时间上位于前后的帧中获取推移信息。即,依赖于过去获取到的推移信息来获取推移信息。因此,若一旦推移信息为异常值(跟踪错误),则在以后的帧中获取的推移信息受到该异常值的推移信息的影响而包含大的误差。
[0221] 鉴于此,修正单元在推移信息是异常值的情况下,将推断值获取单元获取到的推断值设为无效值,并且将滤波复位到初始状态。即,对于判定为推移信息是异常值的像素,在该帧中中止推断。由此,会防止将产生了跟踪错误的像素推断为同一对象物,能够提高对象物推断装置的可靠性。并且,将滤波复位到初始状态,能够重新开始对于产生了异常值的像素的追踪而得到关于该像素的推断值。
[0222] 上述推断值获取单元假定为上述对象物遵照预先设定的过程模型,根据过去获取的上述推断值来获取上述对象物的位置以及速度的预测值。上述修正单元在上述判定单元判定为上述视差信息获取单元获取的上述视差信息是异常值的情况下,将上述推断值获取单元获取的上述推断值修正为该推断值获取单元获取的上述预测值的值。
[0223] 视差信息获取单元根据同一帧中的多个图像来获取视差信息。即,由于在时间上独立地计算视差信息,所以过去的视差信息不会给以后计算的视差信息带来影响。因此,对于视差信息的异常值,也按每个帧独立地产生。
[0224] 在视差信息是异常值的情况下,修正单元将推断值获取单元获取到的推断值修正为预测值。即,通过将使用作为异常值的视差信息而获取到的包含误差的推断值变更为预测值,能够减小该帧中的推断值的误差。
[0225] 而且,在视差信息是异常值的情况下,修正单元不将滤波复位到初始状态,在以后的帧继续关于该像素的推断。即,在视差信息产生了异常值的情况下,将该帧中的视差信息设定为预测值,并且在以后的帧能够继续关于该像素的推断。
[0226] 符号说明
[0227] 12…图像获取部,28…推移信息计算部,30…视差信息计算部,32…计算部,34…判定部,36…修正部,d…视差信息。
QQ群二维码
意见反馈