附图说明
图1是示出本发明的实施例1涉及的测距装置的结构的图。
图2是示出本发明的实施例1涉及的测距装置和对象物的位置关系的图。
图3是示出本发明的实施例1涉及的与测距装置的对象物的三维位置或距离的算出有关的处理的过程的流程图。
图4是示出本发明的实施例1涉及的通过基准摄像光学***拍摄对象物的表面上的点13的周边的纹理时从对象物的一侧看的图像的一部分的图。
图5A是示出本发明的实施例1涉及的通过摄像光学***拍摄的图像的一部分的图。
图5B是示出本发明的实施例1涉及的通过摄像光学***拍摄的图像的一部分的图。
图5C是示出本发明的实施例1涉及的通过摄像光学***拍摄的图像的一部分的图。
图6A是示出本发明的实施例1涉及的SAD的推移的图。
图6B是示出本发明的实施例1涉及的SAD的推移的图。
图7是示出本发明的实施例1涉及的合成SAD的推移的图。
图8是示出在本发明的实施例1涉及的被映射图像的对象物的一点的周边的纹理的图。
图9A是示出本发明的实施例1涉及的SAD的推移的图。
图9B是示出本发明的实施例1涉及的SAD的推移的图。
图10是示出本发明的实施例2涉及的测距装置的结构的图。
图11A是示出本发明的实施例2涉及的SAD的推移的图。
图11B是示出本发明的实施例2涉及的SAD的推移的图。
图12是示出本发明的实施例2涉及的SAD的推移的图。
图13是示出本发明的实施例3涉及的测距装置的结构的图。
图14是本发明的实施例3涉及的测距装置的工作的说明图。
图15是本发明的实施例3涉及的测距装置的工作的说明图。
图16是本发明的实施例3涉及的测距装置的性能的说明图。
图17是本发明的实施例3涉及的测距装置的工作的说明图。
图18A是示出本发明的实施例3涉及的SAD的推移的图。
图18B是示出本发明的实施例3涉及的SAD的推移的图。
图19是示出本发明的实施例3涉及的合成SAD的推移的图。
图20是本发明的实施例3涉及的测距装置的性能的说明图。
图21是示出本发明的实施例4涉及的测距装置的结构的图。
图22是示出本发明的实施例4涉及的测距装置和对象物的位置关系的图。
图23是示出本发明的实施例4涉及的与测距装置的对象物的三维位置或距离的算出有关的处理的过程的流程图。
图24A是示出本发明的实施方式涉及的测距装置的结构的图。
图24B是示出本发明的实施方式涉及的测距装置的结构的图。
图24C是示出本发明的实施方式涉及的测距装置的结构的图。
图24D是示出本发明的实施方式涉及的测距装置的结构的图。
图24E是示出本发明的实施方式涉及的测距装置的结构的图。
图24F是示出本发明的实施方式涉及的测距装置的结构的图。
图25A是示出本发明的实施方式涉及的用于测距装置进行性能评价的图像的图。
图25B是示出通过本发明的实施方式涉及的用于测距装置进行性能评价的图像的图。
图25C是示出本发明的实施方式涉及的用于测距装置进行性能评价的图像的图。
图25D是示出本发明的实施方式涉及的用于测距装置进行性能评价的图像的图。
图26A是示出本发明的实施方式涉及的测距装置的性能评价的图。
图26B是示出本发明的实施方式涉及的测距装置的性能评价的图。
图26C是示出本发明的实施方式涉及的测距装置的性能评价的图。
图26D是示出本发明的实施方式涉及的测距装置的性能评价的图。
图27A是示出本发明的变形例涉及的摄像光学***的配置的图。
图27B是示出本发明的变形例涉及的摄像光学***的配置的图。
图28A是示出本发明涉及的摄像光学***的配置的说明图。
图28B是示出本发明涉及的摄像光学***的配置的说明图。
图28C是示出本发明涉及的摄像光学***的配置的说明图。
图29A是示出本发明涉及的摄像光学***的配置的说明图。
图29B是示出本发明涉及的摄像光学***的配置的说明图。
图30是通过立体测距方法算出到对象物为止的距离的例子的说明图。
图31是表示以往的技术的说明中的测距装置与对象物之间的位置关系的图。
图32是以往的技术的说明中的从Yw轴的负的一侧看的照相机和对象物的一点时的图。
图33是以往的技术的说明中的从Xw轴的正的一侧看的照相机和对象物的一点时的图。
图34是图像中的各个像素的亮度的表达方法的说明图。
图35A是示出以往的技术的说明中的从对象物的一侧看的映射的对象物的纹理时的图像的一部分的图。
图35B是示出以往的技术的说明中的从对象物的一侧看的映射的对象物的纹理时的图像的一部分的图。
图36是示出以往的技术的说明中的SAD的推移的图。
图37是示出以往的技术的说明中的SAD的推移的图。
图38A是示出以往的技术的说明中的从对象物的一侧看的图像的一部分的图。
图38B是示出以往的技术的说明中的从对象物的一侧看的图像的一部分的图。
图39是通过以往的技术的说明中的等角直线拟合的子像素视差推测的说明图。
图40A是示出以往的技术的说明中的其它的结构的测距装置的图。
图40B是示出以往的技术的说明中的其它的结构的测距装置的图。
符号说明
1s、1a、1b照相机
2s、2a、2b、21a、21b、21c、21d、21e、21f、21g、21h透镜
3s、3a、3b、22a、22b、22c、22d、22e、22f、22g、22h摄像区域
4模数转换部
5预处理部
6相关值算出部
7相关值加法部
8视差算出部
9后处理部
10s、10a、10b光学中心
11s、11a、11b光轴
12对象物
13对象物的表面上的点
14s、14a、14b、15s、15a、15b块
16a、16b、17a、17b箭头线
20复眼照相机
23平滑滤波部
24视差换算部
25s光学中心
50、60、70、80测距装置
具体实施方式
以下,参照附图说明本发明的实施例。
(实施例1)
图1是示出本实施例涉及的测距装置50的结构的图。该测距装置50包括:三个照相机1s、1a、1b;模数转换部4;预处理部5;相关值算出部6;相关值加法部7;视差算出部8;以及后处理部9。
三个照相机1s、1a、1b分别具有同样的结构。也就是,照相机1s包括透镜2s以及摄像区域3s,照相机1a包括透镜2a以及摄像区域3a,照相机1b包括透镜2b以及摄像区域3b。在此,将照相机1s称为基准摄像光学***s,将照相机1a称为参考摄像光学***a,将照相机1b称为参考摄像光学***b。
摄像区域3s、3a、3b,例如被构成在CCD或CMOS等的固体摄像元件上,根据通过透镜2s、2a、2b的对象物的光生成图像。
在此,本实施例涉及的基准摄像光学***s、参考摄像光学***a以及参考摄像光学***b具有以下示出的特征。首先,各个摄像光学***的光轴为平行。而且,各个摄像光学***的光学中心的光轴被配置在一条直线上,且该直线与光轴垂直。并且,各个摄像光学***的摄像区域(二维平面)与光轴被配置为垂直,所有的摄像光学***的焦距(从摄像区域到光学中心为止的距离)相同。进而,连接各个摄像光学***的光学中心的线、即核线(epipolar line),与各个摄像区域的水平方向的像素排列平行,在各个摄像区域的像素排列的水平方向产生各个摄像光学***之间的视差。
而且,在本发明中,不需要严格满足与所述的本实施例涉及的基准摄像光学***s、参考摄像光学***a、参考摄像光学***b、光学中心、摄像区域以及焦距等有关的特征。例如,若通过校准处理等能够校正,则也可以不需要严格使光轴相互平行。并且,若可以忽视与光轴、光学中心、摄像区域以及焦距等有关的特征的误差程度,则没有问题。
并且,基准摄像光学***s被配置在三个摄像光学***的正中间,基准摄像光学***s的光学中心与参考摄像光学***a的光学中心之间的距离(以后,称为基线长度)Ba、和基准摄像光学***s的光学中心与参考摄像光学***b的光学中心之间的距离(基线长度)Bb相同。也就是,参考摄像光学***a以及参考摄像光学***b被配置为,对基准摄像光学***s成为点对称。
模数转换部4,将从构成摄像区域3s、3a、3b的摄像元件传输的亮度信息,从模拟值转换为数字值(量化)。在此假设,由模数转换部4将摄像区域3s的像量化而得到的图像作为图像s,由模数转换部4将摄像区域3a的像量化而得到的图像作为图像a,由模数转换部4将摄像区域3b的像量化而得到的图像作为图像b。可以针对照相机1s、1a、1b的各自个别构成模数转换部4,也可以针对照相机1s、1a、1b共同地构成模数转换部4,还可以只针对任一个照相机个别构成模数转换部4。
预处理部5,针对转换为数字值的各个摄像区域的亮度信息,进行校准、亮度的明暗校正、光学***之间的光度的差的降低校正等的、用于高精度地进行图像的相关运算的图像的校正处理。例如,进行一般所周知的透镜变形校正或立体图像的平行化等的校准处理。通过进行该校准处理,从而能够得到校正安装误差后的图像。而且,在本实施例中说明预处理部5进行校准处理等的图像校正的情况,但是,适用本发明的测距装置不仅限于这些测距装置。例如,也可以是没有校准处理的测距装置。
虽然在后面进行详细说明,不过,相关值算出部6,针对参考摄像光学***a以及参考摄像光学***b的每一个,按每个偏移量算出表示基准图像和参考图像的相似度的相关值,该偏移量为沿着作为连接基准摄像光学***s的光学中心和参考摄像光学***a或b的光学中心的直线的基线的方向,针对图像s中包含的基准图像将图像a或b中包含的参考图像的图像位置(图像坐标)逐渐偏移来对图像进行比较的情况下的偏移量(块匹配运算)。在此,针对基准图像将参考图像的一方的图像位置逐渐偏移是指,选择基准摄像光学***以及参考摄像光学***生成的图像的一部分的区域,以分别作为基准图像以及参考图像,针对基准图像将参考图像的选择位置(搜索位置)逐渐偏移。
虽然在后面进行详细说明,不过,相关值加法部7,按每个对应的偏移量,对在相关值算出部6按每个摄像光学***的组合算出的相关值进行加法运算,从而算出以实际视差为基准成为对称的分布的合成相关值。
视差算出部8,使用利用了对称性的插值式,对在相关值加法部7进行加法运算后的、以实际视差为基准成为对称的分布的合成相关值进行插值,从而推测基准图像以及参考图像中的子像素级的视差。在此,子像素级是指,小数点以下的像素的精度。
后处理部9,通过进行根据在视差算出部8算出的子像素级的视差算出对象物的三维位置(或,从测距装置到对象物为止的距离)的处理、推测的三维形状的滤波处理、或制作推测的对象物的纹理的处理等,从而制作对应于每个应用程序的输出的数据。而且,在本实施例中说明后处理部9算出对象物的三维位置或距离的情况,但是,适用本发明的测距装置不仅限于这些测距装置。例如,也可以是后处理部9将在视差算出部8算出的视差输出到其它的装置的装置。在此情况下,由于不测定到对象物为止的距离,因此将算出视差的装置称为复眼摄像装置。
图2是示出图1示出的测距装置50和对象物12的位置关系的图。光学中心10s是基准摄像光学***s的光学中心,光学中心10a是参考摄像光学***a的光学中心,光学中心10b是参考摄像光学***b的光学中心。在此,将基准摄像光学***s的光学中心10s作为三维的世界坐标系的原点Mw(0、0、0)。
光轴11s是基准摄像光学***s的光轴,光轴11a是参考摄像光学***a的光轴,光轴11b是参考摄像光学***b的光轴。
对象物12是测定三维位置或距离的对象物。
对象物的表面上的点13是对象物12的表面上的一点,在此,点13的周边的区域被设置为与摄像区域平行。并且,点13的世界坐标为Mw(Xw1、Yw1、Zw1)。
其次,说明如上构成的本实施例中的测距装置50的基本工作。
图3是示出与测距装置50的对象物12的三维位置或距离的算出有关的处理的过程的流程图。
首先,模数转换部4,将从构成摄像区域3s、3a、3b的摄像元件传输的亮度信息,从模拟值转换为数字值(S101)。
其次,预处理部5,针对转换为数字值的各个摄像区域的亮度信息,进行校准、亮度的明暗校正、光学***之间的光度的差的降低校正等的、用于高精度地进行图像的相关运算的图像的校正处理(S102)。
接着,相关值算出部6,将在S102进行校正处理后的图像分割为规定的小区域(以下,称为块)(S103)。而且,相关值算出部6,选择与成为算出三维位置或距离的对象的对象物12的表面上的点13相对应的图像s的块,以作为基准图像。(S104)。而且,相关值算出部6,若能够取得还没有进行以下所述的步骤S106~S109的处理的、参考摄像光学***所生成的图像a或图像b,则开始循环1(S105)。进而,相关值算出部6,若能够取得偏移量,则开始循环2(S106)。
而且,相关值算出部6,从在步骤S105取得的图像a或图像b中选择与在步骤S106取得的偏移量相对应的块,以作为参考图像(S107)。接着,算出表示作为在步骤S104选择的图像s的块的基准图像、和作为在步骤S107选择的图像a或图像b的块的参考图像的相似度的相关值,例如算出SAD(S108)。
如此,相关值算出部6,从预先规定的最小偏移量开始依次使偏移量变大,从而算出每个偏移量的相关值(S106~S109)。在此,在偏移量达到预先规定的最大偏移量的情况下,相关值算出部6,结束循环2(S106~S109)。
并且,若结束循环2(S106~S109),即结束算出每个偏移量的相关值,相关值算出部6,则取得还没有进行关于相关值的算出的处理的、参考摄像光学***所生成的图像,反复进行循环2(S106~S109)的处理(S105~S110)。在此,在没有还没有进行关于相关值的算出的处理的、参考摄像光学***所生成的图像的情况下,即在结束图像a以及图像b这两者的处理的情况下,相关值算出部6,结束循环1(S105~S110)。
接着,相关值加法部7,按每个对应的偏移量,对通过所述处理算出的基准图像和各个参考图像的相关值进行加法运算,从而算出合成相关值(S111)。通过该处理得到的合成相关值,以实际视差为基准形成对称的分布。
而且,视差算出部8,使用利用了对称性的插值式,对在步骤S111进行加法运算后的、每个偏移量的相关值进行插值(S112)。在此使用的插值式是,例如以等角直线拟合或抛物线拟合(由二次函数的拟合)等的、在相关值以实际视差为基准形成对称的分布的前提下的子像素视差推测方法来利用的插值式。而且,视差算出部8,利用插值后的相关值,算出相关值为最大或最小(类似度最高)的偏移量即子像素视差(S113)。具体而言,在利用作为相关值的SAD的情况下,视差算出部8,算出SAD为最小的偏移量,以作为子像素视差。
利用如此得到的视差,后处理部9,算出对象物的三维位置或距离(S114)。
而且,在所述处理中,测距装置50,针对图像s的选择的一个块,求出子像素视差来算出对象物的三维位置或距离,但也可以是,反复选择图像s的块,针对图像s的所有的块,求出子像素视差来算出对象物的三维位置或距离。
其次,参照图4~图7说明测距装置50的对象物12的三维位置的算出,以作为图3中说明了的处理的具体例子。
图4是示出通过基准摄像光学***s拍摄图2的对象物12的表面上的点13的周边的纹理时从对象物的一侧看的图像的一部分的图。与背景技术的说明相同,各个四角形表示像素,各个像素中的线的密度表示亮度值。如图示出假设,在图像s上,点13与以黑圈点示出的位置相对应。
在此情况下,如图3的步骤S103示出,相关值算出部6,将从各个摄像光学***得到的图像分割为规定的小区域(块),按每个块算出三维位置。
在基准摄像光学***s的块尺寸为水平方向4像素、垂直方向4像素的4×4像素的情况下,如图3的步骤S104示出,对于图像s,选择包含成为测定对象的对象物12的表面上的点13的、块14s的位置的块,以作为基准图像。而且,对于图像s中的基准图像的选择,只要包含成为测定对象的对象物12的表面上的点13,就可以进行任何选择,例如,也可以选择从图4示出的位置向左偏移1像素的位置的块,以作为基准图像。
而且,由于基准摄像光学***s与参考摄像光学***a之间的基线长度Ba、和基准摄像光学***s与参考摄像光学***b之间的基线长度Bb相同,因此,针对图像s在图像a以及图像b产生反方向、且大小相同的视差。在此,在图像a以及图像b产生的实际视差,均为3.6像素。
如此,在实际视差为3.6像素的情况下,在与图像s的块14s相同的图像a的图像坐标,映出图4示出的块14a的位置的图像。并且,在与图像s的块14s相同的图像b的图像坐标,映出图4示出的块14b的位置的图像。也就是,在图像s、图像a、图像b的同一图像坐标的对象物12的图像成为像图5A~图5C那样。在此,图像坐标是指,表示以各个摄像光学***的光轴和摄像面的交点为原点时的像素的位置的坐标。而且,在对象物位于相当于无穷远的位置情况下,对于图像s、图像a、图像b,对象物的像成像在同一图像坐标。
图5A是示出通过基准摄像光学***s拍摄的图像s的一部分的图。图5B是示出通过参考摄像光学***a拍摄的图像a的一部分的图。图5C是示出通过参考摄像光学***b拍摄的图像b的一部分的图。
在图5A~图5c中,各个图像中的用粗线包围的块4×4像素的块,与图4示出的块14s、14a、14b相对应,且表示同一图像坐标。以下,示出利用作为图像s、和图像a或图像b的相关值的通过(式4)求出的SAD时的相关值的算出方法。
首先,如图2的步骤S105~S110示出,相关值算出部6,取得参考摄像光学***拍摄的图像中的图像a,即取得图5B的图像。而且,相关值算出部6,将已经选择的作为基准图像的图像s的块、和作为图像a的块的参考图像作为对象,即将图5A的用粗线包围的块、和作为图像a的块的参考图像作为对象,从而算出SAD。此时,相关值算出部6,从与作为最小偏移量的0像素相对应的图5B的用粗线包围的块、到与作为最大偏移量的7像素相对应的块为止,向产生视差的方向,即向图5B示出的作为箭头线的方向的图像水平方向的右边,按每一个像素将块偏移,从而选择作为参考图像的块。其结果为,算出按每个偏移量的SAD。在图6A示出如此算出的SAD。
其次,相关值算出部6,选择还没有算出相关值的图像b,即选择图5C的图像。而且,相关值算出部6,与图像a的情况相同,算出基准图像和参考图像的SAD。此时,相关值算出部6,从与作为最小偏移量的0像素相对应的图5C的用粗线包围的块、与作为最大偏移量的7像素相对应的块为止,向产生视差的方向,即向图5C示出的作为箭头线的方向的图像水平方向的左边,按每一个像素将块偏移,从而选择作为参考图像的块。其结果为,算出按每个偏移量的SAD。在图6B示出如此算出的SAD。
图6A是表示图像s和图像a的SAD的推移的图,图6B是表示图像s和图像b的SAD的推移的图。由于图示出的SAD的推移,都以实际视差为基准成为左右非对称,因此,在通过等角直线拟合测定子像素视差的情况下,针对作为实际视差的3.6像素,对于图像a在负的一侧产生0.4像素左右的误差(图6A),对于图像b在正的一侧产生0.5像素左右的误差(图6B)。
于是,如图2的步骤S111示出,相关值加法部7,按每个对应的偏移量对SAD进行加法运算,来算出合成相关值,以使SAD的推移以实际视差为基准成为左右对称。
图7是示出合成SAD的推移的图,该合成SAD是按每个偏移量对图6A和图6B示出的SAD进行加法运算时的合成相关值。如图示出,进行加法运算后的SAD的推移,以实际视差为基准成为对称。在此,若图6A的SAD的推移为Sa(i)、图6B的SAD的推移为Sb(i),则通过(式6)能够算出相关值加法部7算出的合成SAD的推移S_sum(i)。
【公式6】
S_sum(i)=Sa(i)+Sb(i) …(式6)
(i=最小偏移量,最小偏移量+1,最小偏移量+2,…最大偏移量)
如此,由于合成SAD的推移以实际视差为基准成为对称,因此,在如图2的步骤S112示出、通过使用利用了对称性的插值式的所述等角直线拟合来测定子像素视差的情况下,如图7示出,视差算出部8,能够以不足0.1像素的误差算出视差。因此,与SAD的推移成为左右非对称的情况相比,能够大幅度地提高子像素视差测定精度。也就是,对于等角直线拟合,在SAD的推移以实际视差为基准成为对称、且SAD的推移成直线的情况下,能够进行没有误差的子像素视差测定。特别是,如图7示出,由于SAD的推移不是直线,因此虽然产生视差的测定误差,但是,通过相关值(SAD)的加法运算能够使SAD的推移以实际视差为基准成为对称,从而能够使视差的测定误差变得非常小。
根据视差算出部8如此算出的子像素级的视差,如图3的步骤S114示出,后处理部9,将视差转换为对应于输出的形式,从而输出数据。例如,在输出对象物的三维位置的情况下,将m(us1、vs1)转换为ms(xs1、ys1),与背景技术的说明相同,利用(式1)、(式2)、(式3)能够求出对应于图像s的各个块的三维位置,所述m(us1、vs1)是图像s的二维图像坐标系,所述ms(xs1、ys1)是将图2的光轴10s和摄像区域3s的交点作为原点的二维图像坐标系。在此,通过算出的子像素视差乘以像素间距,从而能够求出(式1)的视差P。并且,在只算出从测距装置到对象物为止的距离的情况下,与背景技术的说明相同,利用(式1)能够求出距离。
其次,利用图8、图9A以及图9B,说明在本实施例中如图7示出、合成相关值(在此,合成SAD)的推移对实际视差成为对称的原理。
图8是示出从对象物12的一侧看的、被映射在图像s的对象物12的表面上的点13的周边的纹理的图。并且,用粗线包围的块15s与图5A示出的用粗线包围的块相同。
用虚线包围的块15a是,被映射在与图像s的块15s相同的图像坐标的图像a的图像区域。并且,用虚线包围的块15b是,被映射在与图像s的块15s相同的图像坐标的图像b的图像区域。在此,图6A示出的SAD的推移相当于,针对图8的黑箭头线16a以及白箭头线17a的区域,将作为参考图像的图像a的块逐渐偏移来算出的SAD的推移。另一方面,图6B示出的SAD的推移相当于,针对图8的白箭头线16b以及黑箭头线17b的区域,将作为参考图像的图像b的块逐渐偏移来算出的SAD的推移。
而且,通过运算只能以离散的点来算出SAD。于是,图9A以及图9B示出,在假定算出SAD的间隔、即取样间隔为无限小的情况下的SAD的推移。
图9A是示出与在取样间隔为无限小的情况下的图6A以及图6B相对应的SAD的推移的图。并且,图9B是示出在取样间隔为无限小的情况下的合成SAD的推移的图。
在图9A中,用实线示出的SAD的推移示出,与图6A相对应的图像a的SAD的推移。在用实线示出的SAD的推移中,从偏移量0到实际视差的偏移量为止的SAD的推移(实线18a)相当于,图8示出的黑箭头线16a的区域中的SAD,从实际视差的偏移量到其以上的偏移量的SAD的推移(实线19a)相当于,图8示出的白箭头线17a的区域中的SAD。而且,图9A的黑圈点是实际上的取样点。
另一方面,用虚线示出的SAD的推移示出,与图6B相对应的图像b的SAD的推移。在用虚线示出的SAD的推移中,从偏移量0到实际视差的偏移量为止的SAD的推移(虚线18b)相当于,图8示出的白箭头线16b的区域中的SAD,从实际视差的偏移量到其以上的偏移量的SAD(虚线19b)相当于,图8示出的黑箭头线17b的区域中的SAD。而且,图9A的白圈点是实际上的取样点。
在图8中,在取样间隔为无限小的情况下,对于黑箭头线16a的SAD的推移、即图像a中的从偏移量0到实际视差为止的推移、和黑箭头线17b的SAD的推移、即图像b中的从实际视差到其以上的偏移量的推移,以实际视差的偏移量为基准算出SAD的基准图像和参考图像的组合相同。因此,图9A的以实线18a所示的SAD的推移和以虚线19b所示的SAD的推移,以实际视差的偏移量为基准成为对称。
同样,在图8中,在取样间隔为无限小的情况下,对于白箭头线17a的SAD的推移、即图像a中的从实际视差到其以上的偏移量的推移、和白箭头线16b的SAD的推移、即图像b中的从偏移量0到实际视差的推移,以实际视差的偏移量为基准算出SAD的基准图像和参考图像的组合相同。因此,图9A的以实线16b所示的SAD的推移和以虚线17a所示的SAD的推移,以实际视差的偏移量为基准成为对称。
根据这些理由,对以各个偏移量的图像s以及图像a的块之间的SAD、和图像s以及图像b的块之间的SAD进行加法运算的情况下,如图9B示出,合成SAD的推移以实际视差为基准成为对称。而且,当然,即使取样间隔变大,所述的对称性也不会被损失。因此,在本实施例中,如图7示出、合成相关值(在此,合成SAD)的推移以实际视差为基准成为对称。
而且,在算出相关值时,即使不利用SAD而利用例如SSD或NCC等其它的相关值,也起因于如上所述的不同摄像光学***的基准图像和参考图像的组合的同一性,合成相关值以实际视差为基准成为对称。
并且,在本实施例中说明了图像s中的一个块,但是,通过对图像s中的所有的块进行同样的运算,从而能够求出在图像s映出的对象物的所有的三维位置。
并且,在本实施例中,后处理部9,算出对象物12的三维位置或距离,但也可以利用视差算出部8算出的视差合成多个图像。
如上所述,根据本实施例,相关值的推移与对象物的亮度的分布无关而以实际视差为基准成为对称,因此,能够提供与对象物无关而可以测定子像素视差的复眼摄像装置以及测距装置。
(实施例2)
其次,说明本发明的实施例2涉及的测距装置。
本实施例涉及的测距装置60,与实施例1的测距装置50不同,预处理部5包括使图像的高频成分降低的平滑滤波部,但是,其它的构成部以及功能等与实施例1的测距装置50相同。因此,以本实施例的测距装置的特征部分为中心进行说明。
图10是示出本实施例涉及的测距装置60的结构的图。而且,对于与实施例1相同的构成部,以相同符号来示出,且省略说明。
如图示出,本实施例涉及的测距装置60包括的预处理部5具有平滑滤波部23,该平滑滤波部23,除了进行用于高精度地进行与实施例1相同的图像的相关运算的图像的校正处理以外,还进行例如像高斯(Gaussian)滤波、平均滤波或加权平均滤波那样的使图像的高频成分降低的处理。
相关值算出部6,若利用如此使高频成分降低后的图像,通过与实施例1示出的处理相同的处理来算出相关值的推移,相关值的推移的直线性则若干被改进。
图11A以及图11B是在对图4示出的图像s、图像a、图像b执行σ=1的高斯滤波的情况下得到的SAD的推移的图。
在图11A以及图11B中,由于图像的高频成分的亮度分布被降低,因此,与实施例1的图6A以及图6B示出的SAD的推移相比,SAD的推移的直线性若干被改进。然而,以实际视差为基准的SAD的推移的对称性几乎不被改进。因此,即使对图11A以及图11B示出的各个SAD的推移,进行所述的等角直线拟合的子像素视差推测,也不能期待视差推测精度大幅度地被改进。于是,与实施例1相同需要,相关值加法部7,通过按每个偏移量对SAD进行加法运算,从而提高SAD的推移的对称性。
图12是示出图11A以及图11B示出的按每个偏移量对SAD进行加法运算时的合成SAD的推移的图。
视差算出部8,若对合成SAD的推移进行等角直线拟合的子像素视差推测,则比实施例1的情况更能够降低误差。这是因为,除了如上所述合成SAD的推移以实际视差为基准成为对称的缘故以外,还通过平滑滤波部23降低亮度分布的高频成分,从而SAD的推移的直线性提高了的缘故。也就是,在SAD的推移以实际视差为基准不成为对称的被摄体的情况下,平滑滤波部23只除去图像的高频成分,就不能使等角直线拟合的子像素视差推测的精度大幅度地提高。然而,像本实施例那样,在相关值加法部7对SAD进行加法运算来合成SAD的推移以实际视差为基准成为对称的情况下,能够与被摄体无关而使等角直线拟合的子像素视差推测的精度大幅度地提高。
如上所述,根据本实施例,通过平滑滤波部23除去图像的高频成分,从而使相关值(在此,SAD)的推移的直线性提高。其结果为,在使用低次的插值式对相关值的推移进行插值的情况下,测距装置能够更高精度地测定子像素视差。
(实施例3)
其次,说明本发明的实施例3涉及的测距装置。
图13是示出本实施例涉及的测距装置70的结构的图。如图13示出,参考摄像光学***b的光学中心19b,针对连接基准摄像光学***s的光学中心19s、和参考摄像光学***a的光学中心19a的直线(图13的虚线18),在虚线18的垂直方向以距离Error_v隔离。也就是,测距装置70具有光学中心位置误差(以下称为,基线垂直方向误差)Error_v。并且,作为光学中心19s和光学中心19a的距离的基线长度Ba、与光学中心19s和光学中心19b的距离的基线长度Bb(与虚线18平行方向的距离),具有Error_h的差异。也就是,测距装置70具有基线长度误差(以下称为,基线方向误差)Error_h。其它的构成部以及功能等与图10的实施例2的测距装置60相同。因此,以本实施例的测距装置的特征部分为中心进行说明。
通过如图10的实施例2、将参考摄像光学***的光学中心配置为对基准摄像光学***的光学中心成为点对称,从而能够实现具有高精度的视差检测精度的测距装置,但是,实际上存在以下的情况,即,因照相机的安装误差或透镜成型误差等的原因,而产生如图13示出的基线垂直方向误差Error_v或基线方向误差Error_h。这些误差越大,实施例2的图12示出的相关值的推移以实际视差为基准就越不成为左右对称。因此,在本实施例中说明这些误差带给相关值的推移的影响、和其允许范围。而且,在此假定,基准摄像光学***s、和参考摄像光学***a以及参考摄像光学***b的光轴为平行,基准摄像光学***的光轴位于摄像区域3s的区域中心,并且,参考摄像光学***a以及参考摄像光学***b的光轴位于摄像区域3a以及摄像区域3b的区域中心。进而假定,在摄像区域3s、摄像区域3a和摄像区域3b中,纵横的像素排列分别为平行。而且,可以实现为,即使不满足所述假定,也通过依据预处理部5的校准处理等的校正来成立所述假定。
首先,说明有基线垂直方向误差Error_v的情况。在此假设,没有基线方向误差Error_h。在有基线垂直方向误差Error_v的情况下,如图14示出,在图像a中,搜索相似于基准图像的参考图像的图像坐标的搜索方向、和视差的产生方向一致。然而,在图像b中,基线垂直方向误差Error_v越大,搜索相似于基准图像的参考图像的图像坐标的搜索方向、和视差的产生方向就越不同。在图14中,以虚线来示出视差的产生方向,以实线来示出搜索方向。在图14中,为了更直感地示出说明,而与实际相比使视差的产生方向与搜索方向大不同。根据图14可知,由于被摄体距离越近,视差就越大,因此,视差的产生位置和搜索位置的垂直方向的隔离越大,从而不成立图12示出的以实际视差为基准成为左右对称的相关值的推移。例如,对于照相机1s、照相机1a和照相机1b假设,焦距f=5mm,基线长度Ba=20mm,基线长度Bb=20mm,像素间距pitch=0.002mm,基线垂直方向误差Error_v=0.5mm。在被摄体距离D=2000mm的情况下,若根据(式1)计算视差P,则产生图15示出的25像素的视差。此时,对于图像a中包含的被摄体,如图14说明,在视差的搜索方向产生25像素的视差,即在与基线水平的方向产生25像素的视差,另一方面,对于图像b中包含的被摄体,在图14的虚线方向产生25像素的视差。此时,图像b中包含的被摄体,根据基线垂直方向误差Error_v的影响,与图像s相比,在视差搜索方向的垂直方向偏移0.62像素左右而被映射。在视差搜索方向的平行方向的视差为24.99像素左右,对25像素的差异为0.01像素以下,因此可以忽视的该视差。据此,在此情况下,在图像s和图像a中的SAD的推移、和在图像s和图像b中的SAD的推移,在视差搜索方向的垂直方向偏移0.62像素左右,因此,严格而言,以实际视差为基准不成为左右对称。在被摄体距离更近的情况下,由于图像b在视差搜索方向的垂直方向的映射的偏移变大,因此SAD的推移的左右对称性更降低。
图16示出在使用图13示出的具有基线垂直方向误差Error_v的测距装置来拍摄某个被摄体的情况下的测距精度的降低(视差检测误差的增加)的模拟验证结果的图表。由于测距精度的降低起因于视差搜索方向的垂直方向的映射的偏移量,因此,将图16的横轴作为对视差搜索方向的垂直方向的映射的偏移量。若图16的横轴的图像偏移量为P_v,则能够以(式7)来换算Error_v。
【公式7】
…(式7)
在此,D为被摄体距离,pitch为像素间距,f为焦距。在图16中可知,图像偏移P_v越大,视差检测误差就越大。图16的虚线的基准测距精度是指,以模拟来求出在利用同一被摄体的情况下的图40A的以往的立体相机(3眼)的测距精度(视差检测误差)的结果。将以往的立体相机的焦距、像素间距、被摄体距离设定为相同,图40A的基准摄像光学***s和参考摄像光学***a的基线长度、以及基准摄像光学***s和参考摄像光学***b的基线长度,都与图13的本实施例的基线长度Ba相同。由于对该以往的立体相机(3眼)的模拟结果没有给予相当于基线垂直方向误差Error_v的安装误差(因为,通过以往的校准方法等能够校正),因此基准测距精度为一定值。根据图16可知,若图像偏移P_v在0.15像素以内,则比以往的立体相机更能够进行高精度的测距(视差检测)。因此,对于本实施例的测距装置70,构成测距装置70,使得(式7)中P_v=0.15,来将基线垂直方向误差Error_v为(式8),据此,测距装置70,比以往的立体相机更能够进行高精度的测距(视差检测)。
【公式8】
…(式8)
例如,在(最小)被摄体距离D=500mm、像素间距pitch=0.002mm、焦距5mm的情况下,通过将垂直方向误差Error_v制作为0.03mm以内,从而比以往的立体相机更能够进行高精度的测距(视差检测)。因此,高精度地安装图13的各个照相机的光学中心的相对位置,以使安装时满足(式8)即可。例如,通过以一体成型来制作透镜2s、2a、2b,从而能够较容易地实现。并且,当然,也可以以晶圆级相机(Wafer Level Camera)(参照,日经MICRODEVICES 2008年7月号)等的采用了照相机的大量生产技术的立体相机来实现,该晶圆级相机是以MEMS(Micro Electro MechanicalSystems:微电子机械***)技术等来实现的。并且,本实施例中对3眼进行了说明,但是,当然5眼、7眼、9眼等多数光学***也能够适用。而且,从图16示出的图表中得到的P_v=0.15不是,只在拍摄特定的被摄体的情况下得到的值。即使变更被摄体,也能够得到同样的倾向,P_v=0.15为不依赖于被摄体的值。
其次,说明有基线方向误差Error_h的情况。在此假设,没有基线垂直方向误差Error_v。在有基线方向误差Error_h的情况下,由于如图13示出基线长度Ba和基线长度Bb不同,因此如图17示出对同一被摄体的图像a产生的视差Pa、和图像b产生的视差Pb不同。因此,如图18A以及图18B示出,图像s和图像a的SAD的推移(图18A)、和图像s和图像b的SAD的推移(图18B的黑圆点)的对实际视差的对称性变坏。在此,实际视差是指,图像s和图像a的实际视差。基线方向误差Error_h越大,对实际视差的对称性就越坏。这是因为,例如,在基线方向误差Error_h为正的情况下,如图18B示出,图像s和图像b的SAD的推移在偏移量变大的方向平行移动的缘故。基线方向误差Error_h越大,所述平行移动的量就越多,从而对称性变坏。在图18B中白圈点的SAD的推移是,在图10的实施例2中的图像s和图像b的SAD的推移(即,Error_h=0)。图19示出按每个偏移量对图18A和图18B的SAD进行加法运算而得到的合成SAD的推移的图。根据图19可知,由于以实际视差为基准的SAD的推移的对称性变坏,因此可知测定视差从实际视差偏移了。
图20示出在使用图13示出的具有基线方向误差Error_h的测距装置来拍摄某个被摄体的情况下的测距精度的降低(视差检测误差的增加)的模拟验证结果的图表。由于视差检测误差起因于视差搜索方向的映射的偏移量,因此,将图20的横轴作为对视差搜索方向的映射的偏移量。若图20的横轴的图像偏移量为P_h,则能够以(式9)来换算Error_h。
【公式9】
…(式9)
在此,D为被摄体距离,pitch为像素间距,f为焦距。在图20中可知,图像偏移P_h越大,视差检测误差就越大。图20的实线的基准测距精度是指,以模拟来求出在利用同一被摄体的情况下的图40A的以往的立体相机(3眼)的测距精度(视差检测误差)的结果。将以往的立体相机的焦距、像素间距、被摄体距离设定为相同,图40A的基准摄像光学***s和参考摄像光学***a的基线长度、以及基准摄像光学***s和参考摄像光学***b的基线长度,都与图13的本实施例的基线长度Ba相同。由于对该以往的立体相机(3眼)的模拟结果没有给予相当于基线方向误差Error_h的安装误差(因为,通过以往的校准方法等能够校正),因此基准测距精度为一定值。根据图20可知,若图像偏移P_h在0.2像素以内,则比以往的立体相机更能够进行高精度的测距(视差检测)。因此,对于本实施例的测距装置70,构成测距装置70,使得(式9)中P_h=0.2,来将基线方向误差Error_h为(式10),据此,测距装置70,比以往的立体相机更能够进行高精度的测距(视差检测)。
【公式10】
…(式10)
例如,在(最小)被摄体距离D=500mm、像素间距pitch=0.002mm、焦距5mm的情况下,通过将垂直方向误差Error_v制作为0.04mm以内,从而比以往的立体相机更能够进行高精度的测距(视差检测)。因此,高精度地安装图13的各个照相机的光学中心的相对位置,以使安装时满足(式10)即可。例如,通过以一体成型来制作透镜2s、2a、2b,从而能够较容易地实现所述内容。并且,当然,也可以以晶圆级相机(参照,日经MICRODEVICES 2008年7月号)等的采用了照相机的大量生产技术的立体相机来实现,该晶圆级相机是以MEMS技术等来实现的。并且,本实施例中对3眼进行了说明,但是,当然5眼、7眼、9眼等多数光学***也能够适用。而且,与P_v=0.15相同,从图20示出的图表中得到的P_h=0.2不是,只在拍摄特定的被摄体的情况下得到的值。即使变更被摄体,也能够得到同样的倾向,P_h=0.2为不依赖于被摄体的值。
根据上述,本实施例涉及的测距装置70,若构成为满足(式8)、(式10),则比以往的立体相机更能够进行高精度的测距(视差检测)。
(实施例4)
其次,说明本发明的实施例4涉及的测距装置。
本实施例涉及的测距装置80,与实施例2的测距装置60不同,包括八个参考摄像光学***,并且,相关值算出部6包括换算参考摄像光学***之间的视差的差异的视差换算部,但是,其它的构成部以及功能等与实施例2的测距装置60相同。因此,以本实施例的测距装置的特征部分为中心进行说明。
图21是示出本实施例涉及的测距装置80的结构的图。而且,对于与实施例2相同的构成部,以相同符号来示出,且省略说明。
如图21示出,测距装置80包括复眼照相机20。复眼照相机20由一体成型的九个透镜矩阵(Lens array)、和具有九个不同相同的摄像区域的单一的CCD或CMOS等的的固体摄像元件构成。在此,光波段分离滤波或光圈等,由于不是本发明的主要部分,因此图中没有示出。复眼照相机20,由于透镜直径比普通的照相机小,因此能够设计为透镜的焦距短,且能够构成为光学***整体的厚度非常薄。并且,通过由透镜阵列一体成型,从而也能够高精度地制作阵列中包含的各个光学***的光轴之间的相对位置关系(例如,误差不足5μm)。
而且,在本实施例中说明各个摄像光学***为透镜阵列的情况,但是,适用本发明的测距装置,不仅限于这些测距装置。例如,也可以由个别的摄像光学***构成测距装置。也可以利用多个摄像元件。
基准摄像光学***s,在结构上包括透镜21s以及摄像区域22s,且被配置在固体摄像元件的中心附近。参考摄像光学***a~h,在结构上分别包括透镜21a~h以及摄像区域22a~h。
在此,与实施例2的测距装置60相同,基准摄像光学***s、参考摄像光学***a~h具有以下示出的特征。首先,各个摄像光学***的光轴为平行。而且,各个摄像光学***的光学中心被配置在同一平面上,且该平面与光轴垂直。并且,各个摄像光学***的摄像区域(二维平面)被配置为与光轴垂直,所有的摄像光学***的焦距(从摄像区域到光学中心为止的距离)相同。
并且,基准摄像光学***s、参考摄像光学***a和参考摄像光学***b的光学中心,被配置在同一条直线上。而且,参考摄像光学***a的光学中心和参考摄像光学***b的光学中心,被配置在以基准摄像光学***s为基准的点对称的位置。并且,基准摄像光学***s、参考摄像光学***c和参考摄像光学***d的光学中心,被配置在同一条直线上。而且,参考摄像光学***c的光学中心和参考摄像光学***d的光学中心,被配置在以基准摄像光学***s为基准的点对称的位置。并且,基准摄像光学***s、参考摄像光学***e和参考摄像光学***f的光学中心,被配置在同一条直线上。而且,参考摄像光学***e的光学中心和参考摄像光学***f的光学中心,被配置在以基准摄像光学***s为基准的点对称的位置。并且,基准摄像光学***s、参考摄像光学***g和参考摄像光学***h的光学中心,被配置在同一条直线上。而且,参考摄像光学***g的光学中心和参考摄像光学***h的光学中心,被配置在以基准摄像光学***s为基准的点对称的位置。
并且,为了便于说明而假定,连接基准摄像光学***s、参考摄像光学***a和参考摄像光学***b的光学中心的所述直线,平行于摄像区域22s的水平方向像素排列。因此,在各个摄像区域的像素排列的水平方向产生,基准摄像光学***s与参考摄像光学***a之间产生的视差、以及基准摄像光学***s与参考摄像光学***b之间产生的视差。
根据上述,基准摄像光学***s和参考摄像光学***a的基线长度Ba、与基准摄像光学***s和参考摄像光学***b的基线长度Bb相同。并且,基准摄像光学***s和参考摄像光学***c的基线长度Bc、与基准摄像光学***s和参考摄像光学***d的基线长度Bd相同。并且,基准摄像光学***s和参考摄像光学***e的基线长度Be、与基准摄像光学***s和参考摄像光学***f的基线长度Bf相同。并且,基准摄像光学***s和参考摄像光学***g的基线长度Bg、与基准摄像光学***s和参考摄像光学***h的基线长度Bh相同。
相关值算出部6,进行实施例1中说明的算出相关值的处理,另外具有进行视差的换算处理的视差换算部24。虽然在后面进行详细说明,不过,视差换算部24,在算出被配置为基线长度不同的、参考摄像光学***的相关值时,将块的偏移量变换为相关值加法部7能够进行加法运算的偏移量。例如,视差换算部24,在算出被配置为基线长度和参考摄像光学***a不同的参考摄像光学***e的相关值时,通过在算出参考摄像光学***a所生成的参考图像的相关值时利用了的块的偏移量乘以Le·Me(=Ke),从而变换为相关值加法部7能够进行加法运算的偏移量,该Le·Me(=Ke)为值Le和值Me的乘积,该值Le是基线长度Be除以基线长度Ba而得到的值,该值Me是与基线长度Ba平行的方向的像素间距pitch_a除以与基线长度Be平行的方向的像素间距pitch_e而得到的值。在此,与基线长度平行的方向的像素间距是指,在摄像光学***所拍摄的图像中,在与基线平行的同一条直线上出现与像素的中心相对应的点的最短周期。
而且,在本实施例中,偏移量的单位是表示基线方向的像素间距的“像素”。因此,在对因基线方向而像素间距不同的摄像光学***之间的相关值进行加法运算时,视差换算部24需要进行单位的变换。也就是,需要对成为基准的偏移量,除了乘以基线长度的比率以外,还乘以作为像素间距的比率的Me,从而进行视差的换算。但是,在偏移量的单位是不依赖于基线方向的单位的情况下,例如,在偏移量的单位是毫米等的单位的情况下,不需进行单位的变换。也就是,视差换算部24,不利用作为像素间距的比率的Me,而作为基线长度的比率的Le乘以成为基准的偏移量,从而能够换算偏移量。
相关值加法部7,与实施例2相同,对于在相关值计算部6按每个光学***的组合算出的相关值,根据视差换算部24所变换的偏移量,对每个对应的偏移量的所有的相关值进行加法运算。其结果为,相关值加法部7,算出以实际视差为基准成为对称的推移的合成相关值。
图22是示出图21示出的测距装置80和对象物12的位置关系的图。
如图示出,与实施例2相同,将基准摄像光学***s的光学中心25s作为世界坐标的原点Mw(0、0、0),将作为对象物12的表面上的1点的点13的世界坐标作为Mw(Xw1、Yw1、Zw1)。
而且,如上所述,对于参考摄像光学***c和参考摄像光学***d,与参考摄像光学***a和参考摄像光学***b相同,摄像光学***的光学中心被配置为对基准摄像光学***s的光学中心成为点对称,且各个光学中心被配置在同一条直线上。因此,若对基准摄像光学***s和参考摄像光学***c、以及基准摄像光学***s和参考摄像光学***d的通过块匹配运算得到的每个偏移量的SAD进行加法运算,则得到以实际视差为基准成为对称的SAD的推移。但是,在基准摄像光学***s和参考摄像光学***a以及参考摄像光学***b的基线长度、与基准摄像光学***s和参考摄像光学***c以及参考摄像光学***d的基线长度不同的情况下,实际视差不同。因此,相关值加法部7,即使按每个相同的偏移量将SAD的推移合成(进行加法运算),也不能得到以实际视差为基准成为对称的SAD的推移。于是,视差换算部24需要,按照基线长度的长度和像素间距来变更算出SAD时的偏移量。
其次,说明如上构成的实施例中的测距装置80的基本工作。
图23是示出与测距装置80的对象物12的三维位置或距离的算出有关的处理的过程的流程图。
步骤S201~S204的处理,由于与实施例1的图3中示出的步骤S101~S104的处理相同,因此省略说明。
在步骤S204的处理结束的情况下,相关值算出部6,若能够取得还没有进行以下所述的步骤S206~S212的处理的、参考摄像光学***所生成的图像a~h中的任一个,则开始循环1(S205)。
其次,相关值算出部6包括的视差换算部24,例如,若以基准摄像光学***s和参考摄像光学***a以及参考摄像光学***b为基准,则取得参考摄像光学***a和基准摄像光学***s的基线长度(成为基准的基线长度)、和像素间距(S206)。而且,视差换算部24,取得生成了在步骤S205所选择的图像的参考摄像光学***和基准摄像光学***s的基线长度、和像素间距(S207)。接着,视差换算部24,根据在步骤S206取得的成为基准的基线长度、和在步骤S207取得的基线长度以及像素间距,算出新的偏移量(S208)。
而且,相关值算出部6,若能取得如上算出的新的偏移量,则开始循环2(S209)。
进而,相关值算出部6,从在步骤S205取得的图像a~h中的任一个图像中选择与在步骤S209取得的偏移量相对应的块,以作为参考图像(S210)。接着,算出表示作为在步骤S204选择的图像s的块的基准图像、和作为在步骤S209选择的图像a~h中的任一个图像的块的参考图像的相似度的相关值,例如算出SAD(S211)。
如此,相关值算出部6,算出按每个在步骤S208算出的新的偏移量的相关值(S212、S209)。在此,在偏移量达到预先规定的最大偏移量的情况下,相关值算出部6,结束循环2(S209、S212)。
并且,若结束循环2(S209、S212),即结束算出每个偏移量的相关值,相关值算出部6,则取得还没有进行关于相关值的算出的处理的、参考摄像光学***所生成的图像,反复进行循环2(S209、S212)的处理(S213、S205)。在此,在没有还没有进行关于相关值的算出的处理的、参考摄像光学***所生成的图像的情况下,即在结束图像a以及图像b这两者的处理的情况下,相关值算出部6,结束循环1(S205、S213)。
接着,相关值加法部7,按每个对应的偏移量,对通过所述处理算出的基准图像和各个参考图像的相关值进行加法运算(S214)。在此,不仅对配置为对称的参考摄像光学***的相关值进行加法运算,而对所有的参考摄像光学***的相关值进行加法运算。通过该处理得到的合成相关值,以实际视差为基准形成对称的分布。在此,所谓实际视差是指,作为基准的基线长度和像素间距中的视差量。
以下的步骤S215~S217的处理,由于与实施例1的图3中示出的步骤S112~S114的处理相同,因此省略说明。
其次,进行图23说明的处理的详细说明。在图23的步骤S208中,视差换算部24,根据基线长度以及像素间距的比率来算出新的偏移量。具体而言,在相关值计算部6算出参考摄像光学***c生成的图像c的相关值的情况下,若将成为基准的基线长度作为参考摄像光学***a的基线长度、将成为基准的像素间距作为与基线长度Ba平行的方向的像素间距pitch_a,视差换算部24,则通过(式11),根据基线长度的比率,能够算出在算出SAD的推移时的偏移量的增加量Kc(单位:像素)。而且,算出图像a的相关值时的偏移量的增加量为1像素。
【公式11】
…(式11)
在此,Bc为基准准摄像光学***s和参考摄像光学***c之间的基线长度,pitch_c为与基线长度Bc平行的方向的像素间距。而且,如上所述,基线长度Ba和基线长度Bb相同,基线长度Bc和基线长度Bd也相同。因此,视差换算部24,根据所述增加量Kc能够算出在算出基准摄像光学***s和参考摄像光学***c、以及基准摄像光学***s和参考摄像光学***d的SAD的推移时的偏移量。也就是,在最小偏移量为0像素的情况下,新的偏移量为0像素、Kc像素、2·Kc像素、3·Kc像素、…。假如,在最小偏移量为-2像素素的情况下,偏移量为-2·Kc像素、-Kc像素、0像素、Kc像素、2·Kc像素、3·Kc像素、…。而且,根据所述的增加量Kc的值,有可能成为子像素单位的偏移量。在此情况下,在相关值算出部6选择参考图像时,通过双线性插值等的处理来抽出参考图像,从而能够算出相关值。
同样,在基准摄像光学***s、参考摄像光学***e和参考摄像光学***f的组合的情况下,视差换算部24,也算出在算出SAD时的新的偏移量。通过(式12),能够求出在视差换算部24算出新的偏移量时利用的增加量。
【公式12】
…(式12)
在此,Be为基准准摄像光学***s和参考摄像光学***e之间的基线长度,pitch_e为与基线长度Be平行的方向的像素间距。而且,如上所述,基线长度Be和基线长度Bf相同。因此,视差换算部24,根据所述增加量Kc能够算出在算出基准摄像光学***s和参考摄像光学***e、以及基准摄像光学***s和参考摄像光学***f的SAD的推移时的偏移量。也就是,在最小偏移量为0像素的情况下,新的偏移量为0像素、Ke像素、2·Ke像素、3·Ke像素、…。
同样,在基准摄像光学***s、参考摄像光学***g和参考摄像光学***h的组合的情况下,视差换算部24,也算出在算出SAD时的新的偏移量。通过(式13),能够求出在视差换算部24算出新的偏移量时利用的增加量。
【公式13】
…(式13)
在此,Bg为基准准摄像光学***s和参考摄像光学***g之间的基线长度,pitch_g为与基线长度Bg平行的方向的像素间距。而且,如上所述,基线长度Bg和基线长度Bh相同。因此,视差换算部24,根据所述增加量Kc能够算出在算出基准摄像光学***s和参考摄像光学***g、以及基准摄像光学***s和参考摄像光学***h的SAD的推移时的偏移量。也就是,成为0像素、Kg像素、2·Kg像素、3·Kg像素、…的偏移方法。
在此,存储基准摄像光学***s和参考摄像光学***a~h的SAD的推移的变量分别作为Sa(i)、Sb(i)、Sc(i)、Sd(i)、Se(i)、Sf(i)、Sg(i)、Sh(i)。在此情况下,如图23的步骤S214示出,相关值加法部7,通过(式14)将SAD的推移合成(进行加法运算)。用于该SAD的推移的合成的偏移量是,视差换算部24算出的新的偏移量。
【公式14】
S_sum(i)=Sa(i)+Sb(i)+Sc(i)+Sd(i)+Se(i)+Sf(i)+Sg(i)+Sh(i)…(式14)
(i=最小偏移量,最小偏移量+1,最小偏移量+2,…最大偏移量)
如此,与实施例1相同,相关值加法部7合成的SAD的推移也,以实际视差为基准成为对称。并且,与实施例1相比,由于对基准摄像光学***s成为对称的两个参考摄像光学***的组合的数量增加,因此,因平滑效果而SAD的推移的变动变小,且SAD的推移的直线性更提高。
与实施例2相同,根据相关值加法部7合成的相关值S_sum,视差算出部8,如图23的步骤S215以及S216示出,算出子像素级的视差。此时,由于SAD的推移的直线性提高了,因此,在使用低次的插值式的情况下,与对象物的亮度分布无关而能够高精度地测定子像素视差。
并且,根据视差算出部8算出的子像素级的视差,如图23的步骤S217示出,将视差变换为对应于后处理部9的输出的形态,从而输出数据。例如,在输出对象物的三维位置的情况下,将m(us1、vs1)转换为ms(xs1、ys1),与背景技术的说明相同,利用(式1)、(式2)、(式3)能够求出对应于图像s的各个块的三维位置,所述m(us1、vs1)是图像s的二维图像坐标系,所述ms(xs1、ys1)是将图22的摄像光学***s的光轴和摄像区域22s的交点作为原点的二维图像坐标系。使用基线长度Ba(基准摄像光学***s和参考摄像光学***a之间的基线长度),以作为此时使用的基线长度的参数。而且,通过由所述处理算出的子像素视差乘以像素间距,从而能够求出(式1)的视差P。
如上所述,根据本实施例,由于与对象物的亮度分布无关而相关值的推移以实际视差为基准成为对称,因此,能够提供与对象物无关而能够高精度地测定子像素视差的测距装置。而且,通过使对基准摄像光学***s成为对称的两个参考摄像光学***的组合的数量增加,从而因平滑效果而SAD的推移的变动变小,并且,使用低次的插值式来能够提供可以更高精度地测定子像素视差的测距装置。
(实施方式)
本实施方式中示出,以往的立体相机和本发明涉及的测距装置的测距精度(视差检测精度)的比较模拟结果的例子。图24A~图24C示出以往的立体相机的结构。图24D~图24F示出本发明涉及的测距装置的结构,即,将两个参考光学***的光学中心配置为对基准摄像光学***的光学中心成为点对称,并构成一个以上的该两个参考光学***的对,从而与对象物的亮度分布无关而合成相关值以实际视差为基准成为左右对称。在图24A~图24F中,对于所有的光学***,焦距、水平以及垂直方向像素间距、被摄体距离都相同。假设,对于与各个参考图像的基准摄像光学***相对应的基线长度,在水平以及垂直方向产生基线的情况下均为相同,在斜方向产生基线的情况下为水平方向的基线长度的sqrt(2)倍。在此,不包含实施例3中说明的基线垂直方向误差或基线方向误差。图25A~图25D是示出用于测距精度的比较的被摄体的图。对于图25A~图25D的各个被摄体,按照各个光学***,适当且理想地、且按每个0.1像素来制作10.0~11.0像素的偏移图像(视差图像),从而用于比较模拟。对图像施加实际上像素元件中观测到的程度的白噪声。图26A~图26D是示出与图25A~图25D的各个被摄体相对应的比较模拟结果的图表。图26A~图26D的各个图的横轴示出进行视差运算时的运算块尺寸(正方形运算块的一边的像素),纵轴示出与各自相对应的视差检测误差。各个运算块的视差检测误差的算出方法示出以下的值,即,以该运算块尺寸来对图25A~图25D的各个被摄体进行区域分割,并以被摄体区域整体来将各个运算块的视差检测误差平均化的值。并且,对于各个运算块的视差检测误差,对按每个0.1像素制作的10.0~11.0像素的偏移图像(视差图像)的所有的偏移量(视差图像),算出视差检测误差的平均值(即,验证了小数点以下为按每个0.1像素0.0~0.9的所有的视差量)。
根据图26A~图26D的比较模拟结果可知,对于任何被摄体,本发明涉及的测距装置与以往的立体相机相比,视差检测误差大幅度地降低了(视差检测精度提高了)。
(变形例1)
所述各个实施例中的测距装置是用于说明本发明的一个例子,例如,也可以构成为如图27A示出的测距装置。
图27A是示出本变形例涉及的测距装置的摄像光学***的结构的图。如图示出,本变形例涉及的测距装置包括两个纹理摄像光学***,该纹理摄像光学***用于将高分辨率的彩色的纹理映射到基准摄像光学***s以及参考摄像光学***a~f、和由基准摄像光学***s以及参考摄像光学***a~f所算出的对象物的三维位置(形状)。也可以在任意的位置配置纹理用摄像光学***,以及,也可以配置任意的数量的纹理用摄像光学***。另外,为了追加附加性功能,而可以向变形例涉及的测距装置追加新的摄像光学***。
(变形例2)
所述各个实施例中的测距装置包括了四个或八个参考摄像光学***,但是,当然可以包括六个参考摄像光学***。
图27B是示出本变形例涉及的测距装置的摄像光学***的结构的图。如图示出,本变形例涉及的测距装置包括七个摄像光学***。并且,在本变形例涉及的测距装置中:参考摄像光学***a的光学中心和参考摄像光学***b的光学中心,大致被配置在一条直线上,且以基准摄像光学***s的光学中心为基准成为点对称;参考摄像光学***c的光学中心和参考摄像光学***d的光学中心,大致被配置在一条直线上,且以基准摄像光学***s的光学中心为基准成为点对称;参考摄像光学***e的光学中心和参考摄像光学***f的光学中心,大致被配置在一条直线上,且以基准摄像光学***s的光学中心为基准成为点对称。
如本变形例涉及的测距装置,本发明涉及的测距装置的结构为,具有大致被配置在一条直线上的、以基准摄像光学***为基准大致成为对称的参考摄像光学***的多个对即可。进而,包括多个(例如,10个、12个等)参考摄像光学***的测距装置,也可以得到本发明的效果。
而且,像所述的实施例4、变形例1以及变形例2涉及的测距装置那样,在包括四个以上的参考摄像光学***的情况下,根据参考摄像光学***的配置,有可能块匹配运算时的偏移量成为子像素单位,从而块匹配运算的时间增大。于是,对于块匹配运算时的偏移量不成为子像素单位的摄像光学***的配置,即对于块匹配运算的运算时间变短的摄像光学***的配置,利用图28A~图28C进行说明。
图28A~图28C是表示摄像光学***的配置的图。在图28A~图28C示出的各个摄像光学***中,构成所有的摄像光学***的摄像区域的像素的水平方向的排列为平行,并且,构成所有的摄像光学***的摄像区域的像素的垂直方向的排列为平行。在此,将两个参考摄像光学***作为摄像光学***群1,该两个参考摄像光学系大致被配置在与像素的排列方向(水平或垂直)平行的一条直线上,且光学中心以基准摄像光学***为基准大致成为点对称。并且,将其它的两个参考摄像光学***作为摄像光学***群2,该其它的两个参考摄像光学系大致被配置在与像素的排列方向(水平或垂直)平行的一条直线上,且光学中心以基准摄像光学***为基准大致成为点对称。此时,在摄像光学***群1以及2中,基准摄像光学***s和两个各参考摄像光学***的基线长度,分别为B1以及B2。并且,摄像光学***群1以及2的块匹配运算时的块的偏移方向、即与各个基线长度平行的方向的像素间距,分别为p1以及p2。
在此,在B1/p1和B2/p2处于整数倍的关系的情况下,在选择与块匹配运算时的偏移量相对应的块以作为参考图像时,块的边界和像素的边界一致(总是参考图像的剪取坐标成为整数)。其结果为,在相关值算出部6选择参考图像时,不需要进行双线性插值等的插值运算,因此,能够大幅度地减少运算时间。
在图28A示出的摄像光学***中,摄像光学***群1为参考摄像光学***a以及参考摄像光学***b,摄像光学***群2为参考摄像光学***c以及参考摄像光学***d。在此,垂直方向的像素间距和水平方向的像素间距为相同的p1(p1=p2)。基准摄像光学***s和参考摄像光学***a的基线长度Ba、基准摄像光学***s和参考摄像光学***c的基线长度Bc的基线长度B为相同。据此,由于成立Ba/p1=Bc/p2,因此,块匹配运算时的每个偏移量的块的边界和像素的边界一致。其结果为,能够大幅度地减少块匹配运算的运算时间。
在图28B示出的摄像光学***中,除了图28A的摄像光学***的配置以外,还参考摄像光学***e、f、g、h分别被配置在对象素排列斜45度方向的、sqrt(2)倍的基线长度的长度的位置。此时,与基准摄像光学***s和参考摄像光学***e、f、g、h的基线长度平行的方向的像素间距p2,都成为水平(垂直)方向的像素间距的sqrt(2)倍(p2=sqrt(2)·p1)。因此,若假定参考摄像光学***e为摄像光学***群2来说明以代表,还考虑Be=sqrt(2)·Ba,则成立Ba/p1=Be/p2。Be为基准摄像光学***s和参考摄像光学***e的基线长度。在此情况下,在选择与块匹配运算时的偏移量相对应的块以作为参考图像时,块的边界和像素的边界一致(总是参考图像的剪取坐标成为整数)。其结果为,能够大幅度地减少块匹配运算的运算时间。
在图28C示出的摄像光学***中,与图28A以及图28B不同,作为水平方向的像素间距的p1比作为垂直方向的像素间距的p2长。于是,为了对应于水平方向以及垂直方向的像素间距的比率,而基准摄像光学***s和参考摄像光学***a以及b的基线长度Ba、比基准摄像光学***s和参考摄像光学***c以及d的基线长度Bc长。也就是,为了成立Ba/p1=Bc/p2,而配置各个摄像光学***。其结果为,与图28A以及图28B相同,能够大幅度地减少块匹配运算的运算时间。
如上所述,按照构成作为各个摄像光学***的摄像装置的摄像区域的像素的位置关系配置各个摄像光学***,从而能够大幅度地减少块匹配运算的运算时间。也就是,各个摄像光学***被配置为,构成各个摄像光学***的摄像区域的像素的排列方向以及距离、和各个摄像光学***的基线的方向以及长度相似,从而能够大幅度地减少运算时间。
(变形例3)
所述的各个实施例涉及的测距装置,如图29A以及图29B示出,各个参考图像的光学中心对基准摄像光学***s的光学中心大致成为点对称即可。图29A以及图29B是本发明涉及的从测距装置的上面看测距装置的、装置的其它的例子的图。省略了透镜以及摄像元件以外的结构。如图29A示出,也可以连接各个光学***的光学中心的基线与各个光学***的光轴不垂直。在此情况下,利用视差搜索时按每个偏移量使块尺寸可变的、以往的视差搜索方法,导出对各个参考摄像光学***的相关值即可,由于合成的相关值的推移的、对实际视差的对称特性不被损坏,因此能够得到本发明的效果。或者,也可以通过利用仿射变换的校准(视点变换)使光轴与基线方向垂直,从而进行演算。并且,如图29B示出,不一定需要各个光学***的光轴为平行。这是因为,通过利用仿射变换的校准(视点变换)能够校正光轴的方向的缘故。
以上,说明了本发明的实施例以及变形例涉及的测距装置,但是,本发明的具体结构不仅限于所述的各个实施例以及各个变形例。并且,也可以组合相互不同的实施例以及变形例中的构成部。若不脱离发明目的的范围,则能够进行各种变更以及修正。
例如,也可以是所述的各个实施例以及各个变形例涉及的摄像光学***,包括拜尔(Bayer)排列等的彩色摄像元件的情况。在此情况下,利用通过一般周知的去马赛克(demosaic)处理等而高分辨率化后的彩色图像,与所述的各个实施例以及各个变形例相同,能够高精度地算出视差。
并且,在所述的各个实施例以及各个变形例中,基准摄像光学***的光学中心和其它的两个参考摄像光学***的光学中心被配置在一条直线上,且以基准摄像光学***的光学中心为基准成为点对称,但也可以,基准摄像光学***的光学中心和其它的两个参考摄像光学***的光学中心大致被配置在一条直线上,且以基准摄像光学***的光学中心为基准大致成为点对称。
在此所述的大致被配置在一条直线上、以及大致成为点对称是指,满足在实施例3说明的(式8)、(式10)的条件的范围。
并且,在所述的各个实施例中利用了SAD以作为算出相关值的函数,但也可以利用例如ZNCC(互相关系数)。在利用ZNCC的情况下,相关最高时相关值为1,相关低时相关值不足1。如此,在相关值的推移成为最大的偏移量作为视差、且以子像素级来求出的情况下,也可以适用本发明。也就是,根据本发明,由于相关值的推移以实际视差为基准成为对称,因此,与相关值的推移的极值的最大、最小无关,而能够高精度地求出子像素视差。
并且,所述的各个实施例以及变形例涉及的测距装置中,可以不算出对象物的三维位置或距离。在此情况下,测距装置被称为复眼摄像装置。复眼摄像装置与测距装置相同,成为例如图1示出的结构。但是,与测距装置不同,复眼摄像装置不包括算出对象物的三维位置或距离的后处理部9。
并且,本发明,除了可以作为如上所述的测距装置来实现以外,也可以作为将这些测距装置具有的特征构成部作为步骤的测距方法或视差算出方法来实现,还可以作为使计算机执行这些步骤的程序来实现。并且,当然也可以通过CD-ROM等存储介质或互联网等传输介质分发这些程序。
并且,本发明,也可以作为实现所述的测距装置的构成部具有的功能的一部分的、半导体集成电路(LSI)来实现。
本发明涉及能够算出在拍摄同一对象物的多个摄像光学***产生的视差的复眼摄像装置,以及涉及能够求出从装置到对象物为止的距离、或对象物的三维位置或形状的测距装置,并且有用于车载、监视、医疗、机器人、电子游戏、CG(计算机图形)图像制作、立体图像输入、数字照相机或数字摄像机的自动变焦等的用途。