CN110895821B - 图像处理装置、存储有图像处理程序的存储介质及驾驶支援*** - Google Patents
图像处理装置、存储有图像处理程序的存储介质及驾驶支援*** Download PDFInfo
- Publication number
- CN110895821B CN110895821B CN201910112079.XA CN201910112079A CN110895821B CN 110895821 B CN110895821 B CN 110895821B CN 201910112079 A CN201910112079 A CN 201910112079A CN 110895821 B CN110895821 B CN 110895821B
- Authority
- CN
- China
- Prior art keywords
- image
- parallax
- pixel
- reference image
- cost
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 63
- 238000004364 calculation method Methods 0.000 claims abstract description 167
- 238000005457 optimization Methods 0.000 claims abstract description 48
- 238000000605 extraction Methods 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims description 54
- 239000002131 composite material Substances 0.000 claims description 21
- 238000003384 imaging method Methods 0.000 claims description 10
- 238000007476 Maximum Likelihood Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 13
- 230000002093 peripheral effect Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 6
- 238000007689 inspection Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20004—Adaptive image processing
- G06T2207/20012—Locally adaptive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Measurement Of Optical Distance (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
Abstract
实施方式提供一种能够提高视差的计算精度的图像处理装置、存储有图像处理程序的存储介质及驾驶支援***。实施方式的图像处理装置具备:控制电路(20),将L图像(6l)、R图像(6r)中的任意一方设定为基准图像,将另一方设定为参照图像;成本最优化运算部(16),进行基于全局最优化的成本最优化运算;成本最小视差提取电路(17),决定各像素的视差;集中视差范围决定电路(23),基于使用参照图像计算出的第1视差,动态地改变进行成本最优化运算时的插补图像中的视差搜索的步长;视差输出电路(19),将第2视差变换为基准图像中的分辨率而输出。
Description
相关申请:本申请享有以日本专利申请2018-170863号(申请日:2018年9月12日)为基础申请的优先权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本实施方式涉及图像处理装置、存储有图像处理程序的存储介质及驾驶支援***。
背景技术
若利用水平地并列的两个摄像机拍摄相同的被摄体,则根据摄像机位置的不同,拍摄到的两个图像中的被摄体的位置会在水平方向上产生偏差。将两个图像中的被摄体的位置的差称为“视差(Disparty)”。从摄像机到被摄体的距离与视差的倒数成正比。即,距离越远则视差越小,距离越近则视差越大,与近处相比,远处的距离分辨率降低。
作为提高远处的距离的分辨率的方法,提出了视差计算的子像素运算。但是,若为了提高远处的距离分辨率而对画面整体实施子像素运算,则对本来不需要提高距离分辨率的近距离的对象物也追加了分辨率提高的处理,因此存在计算量变得庞大的问题。另外,还考虑在按照整数单位计算出了视差之后对视差前后的像素实施子像素运算,但在该情况下,计算量也相当地增加。
另外,作为提高分辨率的其他方法,还提出了通过对按照像素单位离散地计算出的成本值实施折线拟合或抛物线拟合等来推定不足整数的值的方法。但是,需要抑制小数点以下的推定结果偏向整数位置附近的像素摇摆现象,导致计算复杂化。另外,还存在即便通过拟合函数的改善来抑制像素摇摆现象也仍然残留有偏差的问题。
发明内容
本实施方式提供一种能够提高视差的计算精度的图像处理装置、存储有图像处理程序的存储介质及驾驶支援***。
本实施方式的图像处理装置基于由第1摄像单元得到的第1图像、以及由与所述第1摄像单元不同位置处的第2摄像单元得到的第2图像,计算视差,其中,具备:控制电路,将所述第1图像或所述第2图像中的任意一方设定为基准图像,将另一方设定为参照图像;输入图像插补电路,提高所述参照图像的分辨率而生成插补图像;成本最优化运算部,使用所述参照图像或所述插补图像,进行基于全局最优化的成本最优化运算;成本最小视差提取部,使用通过所述成本最优化运算得到的成本值,决定各像素的视差;集中视差范围决定电路,基于使用所述参照图像计算出的第1视差,动态地改变通过在与所述参照图像相同帧中取得的所述第1图像或所述第2图像生成的所述插补图像中的视差搜索的步长;以及视差输出电路,将使用所述插补图像计算出的第2视差变换为所述基准图像中的分辨率而输出。
附图说明
图1是表示包含本实施方式所涉及的图像处理装置1的、图像处理***的结构的一例的概略框图。
图2是表示距离信息运算电路11的结构的一例的框图。
图3是表示每视差成本值计算电路15的详细结构的一例的框图。
图4是说明每视差成本值计算电路15中的成本值计算步骤的一例的流程图。
图5的(a)及(b)是说明SGM法中的计算成本的路径与扫描方向之间的关系的图。
图6是表示成本最优化运算电路16的详细结构的一例的框图。
图7是说明视差输出电路19中的视差的交叉检查的方法的图。
图8是说明集中视差范围决定电路23中的、成本值计算对象像素的决定方法的图。
图9的(a)及(b)是说明在成本值插补电路22中需要成本值插补的像素的一例。
图10是说明第1实施方式的图像处理步骤的一例的流程图。
图11是表示本实施方式的移动体100的一例的图。
图12是表示移动体100的结构的一例的框图。
图13是表示搭载于移动体100的图像处理装置1的一例的框图。
图14是第2实施方式的图像处理步骤的一例的流程图。
具体实施方式
以下,参照附图对实施方式进行说明。
(第1实施方式)
图1是表示包含本实施方式的图像处理装置1的、图像处理***的结构的一例的概略框图。图像处理***由图像匹配处理装置(以下,称为图像处理装置)1、校准装置2、图像输入装置3、连接它们的总线4构成。图1例示了使用两台摄像机的左右视差图像来进行立体匹配处理的图像处理***。
在图像输入装置3中,输入由未图示的摄像机拍摄到的多个图像(例如,由与左眼对应的摄像机拍摄到的L图像5l和由与右眼对应的摄像机拍摄到的R图像5r这2张图像)。L图像5l和R图像5r经由总线4输入到校准装置2。
校准装置2对因设定条件、镜头的个体差异等引起的摄像机内外的静态偏差进行校正。具体而言,使用对格子状图案等、大小已知的特定图形图案进行摄像而得的图像,事先计算出内部参数和外部参数。然后,通过使用内部参数和外部参数对从图像输入装置3输入的L图像5l和R图像5r分别进行变换来校正静态偏差,生成已校正L图像6l和已校正R图像6r。另外,内部参数表示摄像机的内部特性,诸如焦距、图像主点位置和镜头失真。另外,外部参数是指摄像机在三维空间中的旋转及平行移动的参数,在立体图像中,表示以一方的图像为基准的情况下的另一方的图像的旋转及平行移动的程度。已校正L图像6l和已校正R图像6r经由总线4输入到图像处理装置1。
图像处理装置1使用校正后的图像(已校正L图像6l、已校正R图像6r)进行立体匹配,生成距离图像(表示从摄像机到被摄体的距离的图像)7。图1的图像处理装置1具有处理器1a、L图像用行缓冲器(以下,记为L行缓冲器)12、R图像用行缓冲器(以下,记为R行缓冲器)13。
L行缓冲器12是用于存储在已校正L图像6l中包含视差计算对象像素位置的行的、多行的量的像素数据的缓冲器。R行缓冲器13是用于存储在已校正R图像6r中包含视差计算对象像素位置的行的、多行的量的像素数据的缓冲器。
处理器1a包括距离信息运算电路11。距离信息运算电路11使用图割法等全局匹配或SGM法(Semi-Global Matching method,半全局匹配)等,对基准图像的每个像素计算视差,作为视差图像输出。另外,左右调换基准图像,还进行交叉检查。即,距离信息运算电路11中的各处理由处理器1a执行。
另外,在本实施方式中使用的“处理器”的表述例如是CPU(Central ProcessingUnit)、GPU(Graphical Processing Unit)、面向特定用途的集成电路(ApplicationSpecific Integrated Circuit:ASIC)、可编程逻辑设备(例如,简单可编程逻辑设备(Simple Programmable Logic Device:SPLD)、复合可编程逻辑设备(ComplexProgrammable Logic Device:CPLD)及现场可编程门阵列(Field Programmable GateArray:FPGA)的电路。
图2是表示距离信息运算电路11的结构的一例的框图。距离信息运算电路11包括输入图像取得电路14、输入图像插补电路21、每视差成本值计算电路15、成本最优化运算电路(16)、成本最小视差提取电路17、交叉检查缓冲器18、视差输出电路19、集中视差范围决定电路23、成本值插补电路22、视差步长信息存储器24及控制电路20。
输入图像取得电路14按照来自控制电路20的指示,从L行缓冲器12及R行缓冲器13取得基准图像的各像素、以及参照图像的各像素。在取得各像素时,由控制电路20来指示L图像/R图像中的哪一个是基准图像、以及各图像中的像素的取得顺序(光栅扫描的方向)。
输入图像插补电路21按照从集中视差范围决定电路23输入的指示,在从输入图像取得电路14输入的输入图像之中插补参照图像而生成插补图像。具体而言,首先,将输入图像的被指定的区域仅在水平方向上扩展,维持整数精度地提高分辨率。在图像的扩展中,例如使用双线性插值法或双三次插值法等超分辨率方法。在将输入图像整体扩展成了2倍的情况下,水平方向的像素数成为约2倍。例如,对于水平方向的像素数为1280像素的输入图像,在将全部的像素在水平方向上扩展为2倍的情况下,插补图像的水平方向的像素数为2559像素。
接着,按照从集中视差范围决定电路23输入的指示,提取成本值计算像素。另外,成本值计算像素的数量被设定为与在输入图像中成为扩展对象的区域的像素数相同的数量。例如,在成为扩展对象的区域的像素数为128像素的情况下,成本值计算像素数也被设定为128像素。最后,从将指定的区域扩展而生成的像素区域中,删除成本值计算对象像素以外的像素,生成插补图像。另外,在没有集中视差范围决定电路23的指示的情况下,将输入图像直接作为插补图像输出。
每视差成本值计算电路15在插补图像中设定视差计算对象像素中的成本值计算像素区域,计算该区域中的成本值。成本值计算像素区域具有水平方向的最大视差的大小。在以下的说明中,将表示插补图像中的水平方向的像素位置的坐标设为X坐标,将表示垂直方向的像素位置的坐标设为Y坐标。例如,在基准图像为L图像、视差计算对象像素的位置为(X,Y)=(150,25)、水平方向的最大视差为128像素的情况下,成本值计算像素区域为插补图像中的(X,Y)=(150,25)~(23,25)的范围的像素。
图3是表示每视差成本值计算电路15的详细结构的一例的框图。每视差成本值计算电路15包括特征量计算电路141、成本运算电路142和成本缓冲器143。
特征量运算电路141分别计算从存储有基准图像的行缓冲器取得的视差计算对象像素的像素数据、以及从输入图像插补电路21取得的插补图像的成本值计算像素区域内的像素数据的特征量。例如,计算LBP(Local Binary Pattern)等已知的定量化的特征量。在计算LBP作为特征量的情况下,对特征量计算对象像素(中心像素)与周边像素的亮度值进行比较。如果周边像素的亮度值比该周边像素的中心像素的亮度值大,则赋予“1”位,若周边像素的亮度值比中心像素的亮度值小,则赋予“0”位。然后,将周边像素的位以规定的顺序结合,作为特征量计算对象像素的特征量(LBP编码)。此外,也可以是,关于对周边像素赋予的位,如果周边像素的亮度值比中心像素的亮度值大则设为“0”,如果周边像素的亮度值比中心像素的亮度值小则设为“1”。
成本运算电路142将基准图像中的视差计算对象像素相关的特征量与插补图像中的成本值计算像素相关的特征量进行比较,计算每个视差的成本值。例如,在作为特征量而计算出LBP编码的情况下,计算基准图像与参照图像的LBP编码间的汉明距离,作为成本值。
成本缓冲器143将由成本运算电路142计算出的成本值与插补图像中的像素位置建立对应地存储。
图4是说明每视差成本值计算电路15中的成本值计算步骤的一例的流程图。另外,在成本值计算之前,在基准图像中设置好视差计算对象像素,计算出成本值计算所需的特征量。为了制作距离图像7,需要针对基准图像的所有像素计算视差。通常,从位于基准图像的左上的像素到位于右下的像素,按照光栅扫描的顺序依次设置视差计算对象像素位置,逐次计算各像素位置处的视差。
首先,确定成本值计算对象区域,设定水平方向的最大视差数Dnum(S1)。例如,在上述的一例的情况下,设定为Dnum=128。另外,设定最初的成本值计算对象像素位置(搜索像素位置)。最初的成本值计算对象像素位置是位于成本值计算对象区域的左端部的像素。例如,在上述的一例的情况下,最初的成本值计算对象像素位置被设定为(X,Y)=(23,25)。
接着,将成本计算对象的水平方向的像素位置设置为初始状态(D=0)(S2)。接着,在成本运算电路142中,计算搜索像素位置处的成本值,并将其存储在成本缓冲器143中(S3)。接着,使搜索像素位置的水平方向的像素位置(D)增加1,使搜索像素位置移动到相邻的像素(S4)。
在搜索像素位置被包含在成本值计算对象区域中的情况下(S5,否),返回S3,计算该像素位置处的成本值。另一方面,在移动后的搜索对象像素位置不被包含于成本值计算对象区域的情况下(S5,是),判定为针对成本值计算对象区域内的所有像素结束了成本值的计算,结束每视差成本值计算电路15中的一系列的成本值计算步骤。
另外,每视差成本值计算电路15中的成本值的计算方法并不限定于上述的图4的流程图的步骤,只要是能够无遗漏地计算出成本值计算对象区域内的所有像素的成本值的步骤即可。例如,也可以将成本值计算对象区域分割为多个块,并行地处理各块中的成本值的计算。
另外,每视差成本值计算电路15中的成本值的计算方法并不限定于上述的LBP编码的汉明距离,也可以使用SAD函数等已知的定量化的成本函数。在使用SAD函数等、能够不用根据像素数据计算特征量而直接地计算出成本的方法的情况下,能够将从存储有基准图像的行缓冲器取得的视差计算对象像素的像素数据、以及从插补图像取得的成本值计算像素区域内的像素数据直接输入到成本运算电路142而计算出成本值,因此能够省略特征量运算电路141。
成本最优化运算电路16通过利用图割法等全局匹配或SGM法(Semi-GlobalMatching method)等计算合成非相似度即合成成本值S,从而针对基准图像的每个像素导出最优化的视差。
在此,说明利用SGM法计算合成成本值S的计算方法。合成成本值S是定义沿着从插补图像的端部朝向视差计算对象像素汇集的方向的、多个路径,作为各个路径中的成本的总和而计算出的。计算成本的路径通常设定有沿着从水平右方向、水平左方向、垂直上方向、垂直下方向朝向视差计算对象像素汇集的4个方向的、4个路径。而且,通常,除了上述的沿着4个方向的4个路径以外,还有沿着从右上45度方向、右下45度方向、左下45度方向、左上45度方向朝向视差计算对象像素汇集的4个方向的4个路径,而设定有8个路径。另外,还可以对8个方向进一步分割而设为16个方向、对8个方向再进行三分割而设为24个方向等这样,路径的数量不限于特定的数量。
各个路径r中的成本Lr(p,d)使用以下的(1)式计算。
Lr(p,d)=C(p,d)+min{Lr(p-r,d),Lr(p-r,d-1)+P1,Lr(p-r,d+1)+P1,Lrmin(p-r)+P2}
…(1)式
在(1)式中,C(p,d)表示从视差计算对象像素位置求出位于视差d的位置处的像素的成本值,min{}表示求出最小值的函数,Lrmin(p-r)表示在从视差计算对象像素位置向r方向偏移1像素后的坐标中,使偏移量d进行了变化时的Lr(p-r,d)的最小值。另外,P1、P2是预先设定的罚常数(penalty constant)。这样,成本Lr(p,d)是在成本值C(p,d)中选择r方向的规定路径上的1像素前的成本的值而相加的递推式,因此被进行了最优化。
通过从多个方向(例如8个方向)进行(1)式所示的成本计算,从而近似地进行整体最优化。即,作为各方向的成本Lr(p,d)的总和而计算出合成成本值S。
图5是说明SGM法中的计算成本的路径与扫描方向之间的关系的图。在图5中,用阴影示出的像素表示当前的成本值计算对象像素。另外,在图5中,带箭头的粗线表示计算成本的路径和方向。此外,在图5中,带箭头的虚线表示插补图像中的像素的扫描方向。
沿着从水平左方向、垂直上方向、右上45度方向、左上45度方向汇集的4个方向的4个路径的成本,需要参照位于左及上方向的像素的结果来计算。因此,如图5的(a)所示,从位于插补图像的左上的像素到位于右下的像素,一边进行光栅扫描一边计算。
另外,沿着从水平右方向、垂直下方向、右下45度方向、左下45度方向汇集的4个方向的矢量的4个路径的成本需要参照位于右及下方向的像素的结果来计算。因此,如图5的(b)所示,从位于插补图像的右下的像素到位于左上的像素,一边进行光栅扫描一边计算。
即,在从8个方向进行成本计算的情况下,需要改变方向进行两次光栅扫描。为了进行两次光栅扫描,首先,将在第1次的光栅扫描的期间计算出的4个方向的成本暂时存储在存储装置等中。然后,在第2次的光栅扫描结束后,从存储装置等读出所存储的4个方向的成本,将其与通过第2次的光栅扫描计算出的4个方向的成本合起来而得到合成成本值S。
图6是表示成本最优化运算电路16的详细结构的一例的框图。成本最优化运算电路16具有成本更新值运算部161和成本缓冲器162。成本更新值运算部161使用从每视差成本值计算电路15输入的成本值、从未图示的存储部等输入的规定的罚常数P1、P2及成本缓冲器162所存储的相邻像素的成本,进行上述的(1)式的运算来计算成本。运算结果被存储在成本缓冲器162中,递归地用于成本更新值运算部161中的成本计算。
另外,成本最优化运算电路16一般被用于特定的一个路径中的成本计算。因此,在距离信息运算电路11中设置有与为了计算合成成本值S而设定的路径的数量相同数量的成本最优化运算电路16。
另外,成本最优化运算电路16中的合成成本值S的计算方法并不限定于上述的图割法等的全局匹配或SGM法,也可以使用已知的其他方法。
成本最小视差提取电路17提取由成本最优化运算电路16计算出的合成成本值S成为最小的视差(插补图像中的像素位置)。对基准图像的所有像素进行视差的提取。
交叉检查缓冲器18在将基准图像左右调换而进行交叉检查的情况下,针对在先被设定为基准图像的图像中的各像素,存储由成本最小视差提取电路17提取出的视差。
视差输出电路19将针对在先被设定为基准图像的图像中的各像素提取出的视差,作为视差标准而输出到集中视差范围决定电路23。另外,检查交叉检查缓冲器18所存储的各像素的视差与在后被设定为基准图像的图像中的各像素的视差之间的差分,按每个像素检查是否正确地求出了视差,检查其恰当性。
另外,输入到视差输出电路19的视差是基于插补图像中的像素位置的视差。因此,需要换算为基准图像中的视差。参照图像中的像素位置与插补图像中的像素位置之间的对应关系被存储在后述的视差步长信息存储器24中。另外,参照图像与基准图像的分辨率相等。因此,使用存储在视差步长信息存储器24中的信息,将在后被设定为基准图像的图像中的各像素的视差变换为参照图像中的视差,由此将输入到视差输出电路19的视差变换为基准图像中的视差。
另外,在视差步长信息存储器24中未登记有参照图像中的像素位置与插补图像中的像素位置之间的对应关系的情况下,将所输入的各像素的视差作为基准图像中的视差。以下说明的视差的交叉检查使用变换后的视差来进行。
图7是说明视差输出电路19中的视差的交叉检查的方法的图。具体而言,针对L图像的各像素,从自身的X坐标减去计算出的视差(换算后视差),求出对应的R图像的像素位置。例如,在计算出L图像的像素(X,Y)=(100,25)的换算后视差为15的情况下,从100减去15,得到对应的R图像的像素(X,Y)=(85,25)。接着,从交叉检查缓冲器18读出计算出的R图像的像素位置处的视差,计算与在先的L图像的像素中的视差的差分。例如,在R图像的像素(X,Y)=(85,25)的换算后视差为16的情况下,差分为15-16=-1。将计算出的差分的绝对值与预先设定的阈值进行比较,在小于阈值的情况下,判定为正确地求出了视差。
另外,视差输出电路19中的交叉检查的方法只要是进行以L图像为基准图像时的视差和以R图像为基准图像时的视差的比较,判定是否正确地求出了视差即可,并不限定于上述方法。例如,使用从各坐标减去视差的方法(式)、通过与阈值的比较而进行的是否正确的判定也可以使用其他方法。
视差输出电路19输出视差及检查结果。另外,可以单独地输出视差和检查结果,或者也可以如针对未被正确地求出视差的像素、将所计算出的视差用特定的值(例如,-1)置换这样,在视差中包含检查结果而输出。另外,在不进行交叉检查的情况下,将由成本最小视差提取电路17提取出的视差换算为基准图像中的视差而输出。
进而,视差输出电路19还以从图像的左上的像素朝向右下的像素按照光栅扫描顺序输出视差的方式进行输出顺序的控制、地址的计算。
集中视差范围决定电路23基于从视差输出电路19输入的视差标准、即针对在先被设定为基准图像的图像中的各像素提取出的视差,针对左右调换后的基准图像,在参照图像中决定集中地搜索视差的范围。
集中地搜索视差的范围可以以一个像素为单位来决定,也可以将基准图像分割为规定的小区域,按每个该小区域来决定。在以1个像素为单位来决定的情况下,以与针对该像素提取出的视差标准越接近的像素则越集中地进行搜索的方式决定视差搜索范围。例如,在将在先的基准图像设为R图像,像素(X,Y)=(85,25)的视差标准为1的情况下,针对左右调换后的基准图像即L图像,在搜索像素(X,Y)=(86,25)的视差时,以将参照图像(R图像)的像素(X,Y)=(85,25)作为视差集中搜索像素位置,集中地搜索其附近的像素的方式,决定视差搜索范围。
在按每个小区域决定集中地搜索视差的范围的情况下,首先,按每个小区域取得视差标准的分布统计。然后,将从视差计算对象像素离开了视差标准的平均值的像素位置,作为左右调换后的基准图像的对应的小区域中的视差集中搜索像素位置。例如设为,将在先的基准图像设为R图像,将图像在水平方向上分割为4份并在垂直方向上分割为4份,分割为16块的小区域,右上端的小区域中包含的像素的视差标准的平均值为40。在这种情况下,首先,将左右调换后的基准图像即L图像也是,在水平方向上分割成4份并在垂直方向上分割成4份,分割成16块的小区域。在视差计算对象像素被包含在右上端的小区域中的情况下,以将参照图像即R图像中的视差计算对象像素位置起向右侧40像素的位置处的像素作为视差集中搜索像素位置,集中地搜索其附近的方式,决定视差搜索范围。
另外,视差集中搜索像素位置并不限定于分布统计的平均值,也可以使用峰值、最大似然推定值、中央值(median)。另外,在小区域内包含的像素的视差标准的偏差大的情况下,例如,在方差超过规定值的情况下,也可以是,针对该小区域不设定集中地搜索视差的范围,而与通常的视差搜索同样,均匀地进行搜索。
另外,小区域的分割方法并不限定于将图像在垂直方向及水平方向上进行等分割的方法,例如也可以使用其他方法,诸如进行基准图像的对象识别,利用识别结果来进行分割等方法。另外,也可以根据场景来切换分割方法、分割数。
图8是说明集中视差范围决定电路23中的、成本值计算对象像素的决定方法的图。在图8中,作为具体的一例,示出了在后的基准图像(L图像)中的视差计算对象像素的位置为(X,Y)=(150,25)、水平方向的最大视差为128像素的情况下的成本值计算对象像素的决定方法。另外设为,在先的基准图像(R图像)中,包含像素(X,Y)=(150,25)的小区域的视差标准平均为1。
图8所示的像素列是提取第Y=25行的像素的一部分而得的。(a)所示的像素列表示参照图像中的成本值计算像素区域中包含的像素列。即,(a)表示参照图像中的(X,Y)=(150,25)~(23,25)的范围的像素。(b)、(c)所示的像素列是扩展为(a)中包含的像素的分辨率的2倍后的像素列。另外,(d)所示的像素列表示插补图像中的成本值计算像素区域中包含的像素列。
另外,在各像素的上部记载的数字是该像素的水平方向的坐标位置。带括号的数字表示参照图像中的X方向的坐标位置。例如,(23)表示参照图像中的X方向的坐标位置为23。另外,仅数字的情况表示将分辨率扩展为2倍的图像中的X方向的坐标位置。例如,27表示2倍扩展图像中的坐标位置为27。另外,带下划线的数字表示插补图像中的X方向的坐标位置。例如,24表示插补图像中的X方向的坐标位置为24。
以下,说明成本值计算对象像素的决定方法。首先,集中视差范围决定电路23设定视差计算对象像素,提取成本值计算像素区域。在图8所示的一例的情况下,成本值计算像素区域为(X,Y)=(150,25)~(23,25)的范围的像素(参照像素列(a)。然后,计算该像素的视差集中搜索像素位置。在图8中,将视差计算对象像素设为(X,Y)=(150,25),该像素被包含的小区域的视差标准平均为1,因此X方向的视差集中搜索像素位置为X=150-1=149。
接着,将成本值计算像素区域中包含的像素在水平方向上扩展为2倍,提高分辨率。即,将(X,Y)=(150,25)~(23,25)的范围的128个像素扩展,生成255个像素(参照像素列(b))。
接着,从提高了分辨率后的255个像素中提取成本值计算对象像素。成本值计算对象像素仅提取水平方向的最大视差的数量(在这种情况下,提取128像素。)。此时,视差集中搜索像素位置附近的像素以密集的步长来提取,距视差集中搜索像素位置较远的像素以宽大的步长来提取。另外,“步长”表示从提高了分辨率后的像素作为成本值计算对象像素而被提取的像素的间隔。“以密集的间隔来提取”表示较窄地设定像素的提取间隔,连续地提取成本值计算对象像素。所谓“以宽大的步长来提取”表示较宽地设定像素的提取间隔,离散地提取成本值计算对象像素。
图8所示的像素列(c)示出了这样提取出的成本值计算对象像素的一例。在图8中,对成本值计算对象像素施加了阴影。即,在被赋予了作为视差搜索集中像素位置的(149)的像素(扩展为2倍的图像中,X=275的像素)的附近,以密集的步长进行提取。即,阴影的像素连续,全部被选择为成本值计算对象像素。另外,在从视差搜索集中像素位置稍微离开的位置,稍微加宽步长地进行提取。即,每隔一个像素配置阴影像素。另一方面,在远离视差搜索集中像素位置的地方,以更宽大的步长进行提取。即,每4个像素有1个阴影的像素,离散地配置阴影的像素。
这样,通过密集地提取视差标准附近的像素,能够提高视差的计算精度,并且通过离散地提取距视差标准较远的像素,能够抑制视差计算量的增加。
集中视差范围决定电路23对输入图像插补电路21输入如上述那样提取出的成本值计算对象像素位置。另外,在视差步长信息存储器24中也存储提取出的成本值计算对象像素位置。输入图像插补电路21在扩展为2倍的像素中,删除在所输入的成本值计算对象像素的位置以外配置的像素,将剩余的像素从右向左凑紧地配置。由此,能够如图8的像素列(d)所示那样在插补图像的(X,Y)=(150,25)~(23,25)的位置配置成本值计算对象像素。例如,在插补图像的像素(X,Y)=(23,25)配置参照图像的像素(X,Y)=(23,25)。在插补图像的像素(X,Y)=(24,25)配置参照图像的像素(X,Y)=(25,25)。此外,在插补图像的像素(X,Y)=(145,25)配置对参照图像进行插补而生成的与参照图像的像素(X,Y)=(147.5,25)相当的像素。
另外,从集中视差范围决定电路23对输入图像插补电路21输入、存储到视差步长信息存储器24中的数据不限定于成本值计算对象像素位置,也可以输入相对于视差计算对象像素的相对位置(索引)、成本值计算对象像素的提取规则等、能够由输入图像插补电路21计算出成本值计算对象像素位置的数据。
成本值插补电路22为如下电路:在成本最优化运算电路16中一边参照像素间的搜索结果(成本值)一边计算合成成本值S时,在应参照的像素的搜索结果未被计算出的情况下,使用周边的像素的搜索结果来对该像素的成本值进行插补。例如,在视差小的区域中密集地设定步长、在视差大的区域中宽大地设定步长而提取成本值计算对象像素的第一小区域与在成本值计算对象像素区域内均匀地提取成本值计算对象像素的第二小区域邻接地配置的情况下,需要由成本值插补电路22进行成本值的插补。
以下,使用具体的一例进行说明。图9是说明需要在成本值插补电路22中进行成本值插补的像素的一例的图。图9的(a)表示视差计算对象像素(X,Y)=(150,25)处的成本值计算对象像素的一例,图9的(b)表示视差计算对象像素(X,Y)=(151,25)处的成本值计算对象像素的一例。另外,图9是在水平方向上扩展为2倍的参照图像,对被提取为成本值计算对象像素的像素实施了阴影。
另外,图中用带括号的数字示出的坐标表示扩展前的参照图像中的坐标。进而,在图9中设为,基准图像(L图像)中的水平方向的最大视差为128像素,将X坐标为0~150的区域设为第一小区域,将X坐标为151~的区域设为第二小区域。即,像素(X,Y)=(150,25)被包含在第一小区域中,相邻的像素(X,Y)=(151,25)被包含在第二小区域中。另外,图9的(a)及(b)所示的d坐标轴表示以视差计算对象像素为基准的视差方向。
如图9的(a)所示,在视差计算对象像素为(X,Y)=(150,25)的情况下,在视差小的区域中以密集的步长来提取像素。例如,在视差小的区域中提取出的像素是(X,Y)=…(149,25)、(149.5,25)、(150,25)。另一方面,在视差大的区域中以宽大的步长来提取像素。例如为(X,Y)=(23,25)、(25,25)、(27,25)…。接着,如图9的(b)所示,将视差计算对象像素在水平方向上偏移1而设定为(X,Y)=(151,25)来计算成本值的情况下,在所有的区域中以均等的步长来提取像素。即,所提取出的像素为(X,Y)=(24,25)、(25,25)、(26,25)…(150、25)、(151、25)。
即,计算视差计算对象像素(X,Y)=(151,25)的合成成本值S时需要的像素(X,Y)=(24,25)、(26,25)的成本值在计算视差计算对象像素(X,Y)=(150,25)的合成成本值S时是不需要的,因此不进行计算。因此,在计算视差计算对象像素(X,Y)=(151,25)的合成成本值S时,使用周围的像素的成本值等对像素(X,Y)=(24,25)、(26,25)的成本值进行插补生成。另外,在成本值的插补中,例如使用双线性差值法、双三次差值法等插补方法。
控制电路20对输入图像取得电路14、输入图像插补电路21、每视差成本值计算电路15、成本最优化运算电路16、成本最小视差提取电路17的各部分,进行基准图像的设定、各图像中的像素的扫描方向的指示。
接着,对本实施方式的图像处理装置中的视差计算步骤进行说明。图10是说明本实施方式的图像处理步骤的一例的流程图。图10表示在输出以L图像为基准图像的视差的情况下使用以R图像为基准图像而计算出的视差进行1次交叉检查时的步骤。
首先,控制电路20对输入图像取得电路14、输入图像插补电路21、每视差成本值计算电路15、成本最优化运算电路16、成本最小视差提取电路17的各部设置R图像而作为基准图像(S11)。通常,首先,将与输出视差的图像相反的图像作为基准图像来计算视差。因此,在上述情况下,首先,将R图像作为基准图像来计算视差。另外,在想要输出以R图像为基准图像的视差的情况下,在S11中将L图像设置为基准图像。
接着,输入图像取得电路14、每视差成本值计算电路15、成本最优化运算电路16、成本最小视差提取电路17将R图像作为基准图像,一边扫描作为参照图像的L图像的插补图像,一边计算各像素的视差,按每个规定的小区域取得视差的分布统计(S12)。具体而言,S12如下那样执行。
首先,输入图像取得电路14、每视差成本值计算电路15、成本最优化运算电路16、成本最小视差提取电路17将R图像作为基准图像,一边扫描作为参照图像的L图像的插补图像,一边计算各像素的视差。此时,输入图像插补电路21不进行图像的扩展处理,将作为输入图像的参照图像直接作为插补图像输出。即,插补图像=L图像。然后,对于基准图像的所有像素,提取合成成本值S最小的视差,存储在交叉检查缓冲器18中,并且输出到视差输出电路19。视差输出电路19将关于基准图像的所有像素的视差作为视差标准输出到集中视差范围决定电路23。集中视差范围决定电路23基于规定的逻辑将基准图像分割为小区域。然后,按每个小区域,取得该区域中包含的像素的视差标准的分布统计。
接着,集中视差范围决定电路23基于在S12中取得的视差标准的分布统计,按每个小区域,决定集中地进行搜索的视差集中搜索像素位置(中央视差值)(S13)。
然后,控制电路20进行基准图像的调换,对输入图像取得电路14、输入图像插补电路21、每视差成本值计算电路15、成本最优化运算电路16、成本最小视差提取电路17的各部设置L图像作为基准图像(S14)。
输入图像取得电路14、输入图像插补电路21、每视差成本值计算电路15、成本最优化运算电路16、成本最小视差提取电路17将L图像作为基准图像,一边扫描作为参照图像的R图像的插补图像,一边计算各像素的视差(S15)。具体而言,S15如下那样执行。
首先,输入图像插补电路21按照来自集中视差范围决定电路23的指示,对从输入图像取得电路14输入的参照图像(R图像)生成插补图像。视差集中搜索像素位置根据视差计算对象像素而不同,因此每当视差计算对象像素被设置为下一个像素时,都从集中视差范围决定电路23接受与该视差计算对象像素对应的指示,生成插补图像。
接着,每视差成本值计算电路15在插补图像中设定视差计算对象像素中的成本值计算像素区域,计算该区域中的成本值。接着,在成本最优化运算电路16中计算合成成本值S,在成本最小视差提取电路17中提取合成成本值S最小的视差。
接着,视差输出电路19检查以存储在交叉检查缓冲器18中的R图像为基准图像的各像素的视差与以L图像为基准图像的各像素的视差之间的差分,按每个像素检查是否正确地求出了视差(S16)。
最后,视差输出电路19将检查结果反映于以L图像为基准图像的各像素的视差,对于判定为未被正确地求出视差的像素,用特定的值(例如-1)置换计算出的视差(S17)。对于判定为被正确地求出了视差的像素,直接使用计算出的视差。另外,也可以不进行与检查结果对应的视差的置换,而是分别输出视差和检查结果。
最后,使用在S15中存储在视差步长信息存储器24中的数据(校正图像中的像素位置与参照图像中的像素位置之间的对应关系的数据)来校正计算出的视差,并且变换为基准图像中的视差而输出(S18),结束视差计算处理。
这样,根据本实施方式,在左右调换基准图像来计算视差、进行交叉检查的情况下,在在后的基准图像中计算视差时,基于使用在先的基准图像计算出的视差(视差标准),决定集中地搜索视差的范围。因此,能够在不追加处理电路、运算的情况下取得视差标准。在在后的基准图像中计算视差时,密集地提取视差标准附近的像素、离散地提取距视差标准较远的像素而进行成本运算,从而能够抑制计算量的增加并提高视差的计算精度。
本实施方式的图像处理装置1能够用作移动体100等中的驾驶支援***。接着,对搭载有本实施方式的图像处理装置1的移动体100进行说明。
图11是表示本实施方式的移动体100的一例的图。
移动体100具备图像处理装置1、输出部100A、传感器100B、输入装置100C、动力控制部100G及动力部100H。
移动体100是能够移动的物体。移动体100例如是车辆(机动二轮车、机动四轮车、自行车)、台车、机器人、船舶、飞行体(飞机、无人飞行器(UAV:Unmanned Aerial Vehicle)等)。移动体100例如是经由人的驾驶操作而行驶的移动体、不经由人的驾驶操作而能够自动行驶(自主行驶)的移动体。能够自动行驶的移动体例如是自动驾驶车辆。作为一例,说明本实施方式的移动体100为能够自主行驶的车辆的情况。
另外,作为驾驶支援***的图像处理装置1并不限定于搭载于移动体100的方式。图像处理装置1也可以搭载于静止物。静止物是不可移动的物体、相对于地面静止状态的物体。静止物例如是护栏、杆、停车车辆、道路标识等。另外,图像处理装置1也可以搭载于在云端执行处理的云服务器。
输出部100A输出各种信息。例如,输出部100A输出各种处理的输出信息。
输出部100A例如具备发送输出信息的通信功能、显示输出信息的显示功能、输出表示输出信息的声音的声音输出功能等。例如,输出部100A包括通信部100D、显示器100E和扬声器100F。
通信部100D与外部装置进行通信。通信部100D是VICS(注册商标)通信电路、动态地图通信电路。通信部100D将输出信息向外部装置发送。另外,通信部100D从外部装置接收道路信息等。道路信息是信号、标识、周围的建筑物、各车道的道宽、车道中心线等。道路信息可以存储在设置在图像处理装置内的RAM、ROM这样的存储器1b内,也可以存储在移动体内另外设置的存储器内。
显示器100E显示输出信息。显示器100E例如是公知的LCD(Liquid CrystalDisplay:液晶显示器)、投影装置、灯等。扬声器100F输出表示输出信息的声音。
传感器100B是取得移动体100的行驶环境的传感器。行驶环境例如是移动体100的观测信息、移动体100的周边信息。传感器100B例如是外界传感器或内界传感器。
内界传感器是对观测信息进行观测的传感器。观测信息例如包括移动体100的加速度、移动体100的速度、移动体100的角速度。
内界传感器例如是惯性计测装置(IMU:Inertial Measurement Unit)、加速度传感器、速度传感器、旋转编码器等。IMU对包含移动体100的三轴加速度及三轴角速度的观测信息进行观测。
外界传感器对移动体100的周边信息进行观测。外界传感器可以搭载于移动体100,也可以搭载于该移动体100的外部(例如,其他移动体或外部装置等)。
周边信息是表示移动体100的周边状况的信息。移动体100的周边是指从该移动体100起预先确定的范围内的区域。该范围是外界传感器可观测的范围。该范围只要预先设定即可。
周边信息例如是移动体100的周边的摄影图像及距离信息等。另外,周边信息也可以包含移动体100的位置信息。拍摄图像是通过拍摄而得到的拍摄图像数据(以下,有时仅称为拍摄图像)。距离信息是表示从移动体100到对象的距离的信息。对象是外界中的可由外界传感器观测的场所。位置信息可以是相对位置,也可以是绝对位置。
外界传感器例如是通过拍摄而得到拍摄图像的拍摄装置、距离传感器(毫米波雷达、激光传感器、距离图像传感器)、位置传感器(GNSS(Global Positioning System)、GPS(Global Positioning System)、无线通信装置)等。拍摄图像是对每个像素规定了像素值的数字图像数据、对每个像素规定了距传感器100B的距离的景深图等。激光传感器例如是相对于水平面平行设置的二维LIDAR(Laser Imaging Detection and Ranging)传感器、三维LIDAR传感器。
输入装置100C受理来自用户的各种指示及信息输入。输入装置100C例如是鼠标、轨迹球等指示设备、或者键盘等输入设备。另外,输入装置100C也可以是与显示器100E一体设置的触摸面板中的输入功能。
动力控制部100G控制动力部100H。动力部100H是搭载于移动体100的、进行驱动的设备。动力部100H例如是发动机、马达、车轮等。
动力部100H在动力控制部100G的控制下进行驱动。例如,动力控制部100G基于由图像处理装置1生成的输出信息、从传感器100B得到的信息等,判断周边的状况,进行加速器量、制动量、转向角等的控制。
接着,对移动体100的电气结构进行详细说明。图12是表示移动体100的结构的一例的框图。
移动体100具备图像处理装置1、输出部100A、传感器100B、输入装置100C、动力控制部100G及动力部100H。如上所述,输出部100A包括通信部100D、显示器100E和扬声器100F。
图像处理装置1、输出部100A、传感器100B、输入装置100C及动力控制部100G经由总线100I连接。动力部100H与动力控制部100G连接。
图13是表示搭载于移动体100的图像处理装置1的一例的框图。图像处理装置1包括I/F1c、存储器1b、处理器1a。即,输出部100A、传感器100B、输入装置100C、动力控制部100G、图像处理装置1经由总线100I连接。
此外,输出部100A(通信部100D、显示器100E、扬声器100F)、传感器100B、输入装置100C及动力控制部100G中的至少一个通过有线或无线方式与图像处理装置1连接即可。此外,也可以是,输出部100A(通信部100D、显示器100E、扬声器100F)、传感器100B、输入设备100C和动力控制单元100G中的至少一个与图像处理设备1经由网络而连接。
I/F1c与其他***的网络(N/W)等连接。此外,I/F1c负责与通信部100D之间的信息的发送接收。经由I/F1c,输出人等识别出的对象的信息、距识别出的对象的距离的信息。
存储器1b存储各种数据。存储器1b例如是RAM(Random Access Memory)、闪存等半导体存储器元件、硬盘、光盘等。另外,存储器1b也可以设置在图像处理装置1的外部。ROM保持由处理器1a执行的程序和必要的数据。RAM作为处理器1a的作业区域发挥功能。另外,存储器1b也可以设置在移动体100的外部。例如,也可以将存储器1b配置在设置于云端的服务器装置中。
另外,存储器1b也可以是存储介质。具体而言,存储介质也可以是经由LAN(LocalArea Network:局域网)、因特网等下载程序或各种信息并存储或临时存储的存储介质。另外,也可以由多个存储介质构成存储器1b。
处理器1a中的各处理功能以可由计算机执行的程序的形式存储在存储器1b中。处理器1a是通过从存储器1b读出并执行程序来实现与各程序对应的功能部的处理器。
此外,也可以组合用于分别实现各功能的独立的多个处理器来构成处理电路1e。在这种情况下,各处理器执行程序来实现各功能。另外,可以是各处理功能作为程序而构成、一个处理电路1e执行各程序的情况,也可以是作为专用电路而设置图像处理访问器1d、将特定的功能安装于独立的程序执行电路的情况。
处理器1a通过读出并执行存储器1b所保存的程序来实现功能。另外,也可以代替在存储器1b中保存程序,而构成为在处理器的电路内直接装入程序。在这种情况下,处理器通过读出并执行电路内装入的程序来实现功能。
在这样构成的移动体100中,在使用由传感器100B观测到的周边信息即拍摄图像来计算视差的情况下,也能够通过使用上述的图像处理方法来抑制计算量的增加,并且提高视差的计算精度。
(第2实施方式)
在上述第1实施方式中,在进行视差的交叉检查的情况下,基于使用在先的基准图像计算出的视差(视差标准),决定在在后的基准图像中集中地搜索视差的范围。与此相对,在本实施方式中,不同点在于,在利用SGM法多次扫描图像、求出合成成本S而计算视差的情况下,基于通过在先的扫描而计算出的视差(视差标准),决定在之后的扫描中集中地搜索视差的范围。另外,本实施方式中的图像处理装置的结构与图2所示的第1实施方式的图像处理装置相同,因此省略说明。
图14是说明第2实施方式的图像处理步骤的一例的流程图。图14示出了一边利用SGM方法两次扫描图像一边输出视差时的步骤。
首先,控制电路20对输入图像取得电路14、输入图像插补电路21、每视差成本值计算电路15、成本最优化运算电路16、成本最小视差提取电路17的各部设置L图像作为基准图像(S21)。另外,在想要输出以R图像为基准图像的视差的情况下,在S21中将R图像设置为基准图像。
接着,控制电路20对输入图像取得电路14、输入图像插补电路21、每视差成本值计算电路15、成本最优化运算电路16、成本最小视差提取电路17的各部,以从右下朝向左上方向扫描像素的方式设定扫描方向(S22)。
随后,输入图像取得电路14、输入图像插补电路21、每视差成本值计算电路15、成本最优化运算电路16和成本最小视差提取电路17将L图像作为基准图像,一边对作为参照图像的R图像的插补图像从右下方朝向左上方向左进行扫描一边计算视差,按每个规定的小区域取得视差的分布统计(S23)。另外,输入图像插补电路21不进行图像的扩展处理,将作为输入图像的参照图像直接作为插补图像而输出,因此成为成本计算对象的插补图像为R图像本身。
此时,成本最优化运算电路16仅针对能够一边从右下朝向左上方向扫描像素一边进行计算的路径,计算成本。即,计算沿着从水平右方向、垂直下方向、右下方45度方向、左下45度方向汇集的4个方向的矢量的4个路径的成本,使用这4个路径的成本来计算合成成本值S。
然后,针对基准图像的所有像素,提取合成成本值S最小的视差,存储在交叉检查缓冲器18中,并且输出到视差输出电路19。视差输出电路19将针对基准图像的所有像素的视差,作为视差标准输出到集中视差范围决定电路23。集中视差范围决定电路23基于规定的逻辑将基准图像分割为小区域。然后,按每个小区域,取得该区域中包含的像素的视差标准的分布统计。
接着,集中视差范围决定电路23基于在S23中取得的视差标准的分布统计,按每个小区域,决定集中地进行搜索的视差集中搜索像素位置(中央视差值)(S24)。然后,控制电路20对输入图像取得电路14、输入图像插补电路21、每视差成本值计算电路15、成本最优化运算电路16、成本最小视差提取电路17的各部,以从左上朝向右下方向扫描像素的方式设定扫描方向(S25)。
输入图像取得电路14、输入图像插补电路21、每视差成本值计算电路15、成本最优化运算电路16、成本最小视差提取电路17一边从左上朝向右下方向扫描插补图像,一边计算各像素的视差(S26)。具体而言,S26如下那样执行。
首先,输入图像插补电路21按照来自集中视差范围决定电路23的指示,对从输入图像取得电路14输入的参照图像(R图像)生成插补图像。视差集中搜索像素位置根据视差计算对象像素而不同,因此每当视差计算对象像素被设置为下一个像素时,都从集中视差范围决定电路23接受与该视差计算对象像素对应的指示,生成插补图像。
接着,每视差成本值计算电路15在插补图像中设定视差计算对象像素中的成本值计算像素区域,计算该区域中的成本值。接着,在成本最优化运算电路16中计算合成成本值S。此时,成本最优化运算电路16仅针对能够一边从左上朝向右下方向扫描像素一边进行计算的路径,计算成本。即,计算沿着从水平左方向、垂直上方向、右上45度方向、左上45度方向汇集的4个方向的矢量的4个路径的成本,使用这4个路径的成本计算合成成本值S。然后,在成本最小视差提取电路17中,提取合成成本值S最小的视差。
最后,使用在S24中存储在视差步长信息存储器24中的数据(校正图像中的像素位置与参照图像中的像素位置之间的对应关系的数据)来校正在S26中计算出的视差,变换为基准图像中的视差(S27),结束视差计算处理。
这样,根据本实施方式,在利用SGM法来多次扫描图像、求出合成成本S而计算视差的情况下,在基于通过在先的扫描而计算出的视差(视差标准),在在后的扫描中计算视差时,决定集中地搜索视差的范围。因此,能够在不追加处理电路及运算的情况下取得视差标准。在在后的扫描中计算视差时,密集地提取视差标准附近的像素、离散地提取距视差标准较远的像素而进行成本运算,由此能够抑制计算量的增加并提高视差的计算精度。
对本发明的几个实施方式进行了说明,但这些实施方式是作为一例示出的,并不意图限定发明的范围。这些新的实施方式能够以其他各种方式实施,在不脱离发明的主旨的范围内,能够进行各种省略、置换、变更。这些实施方式及其变形包含在发明的范围或主旨中,并且包含在权利要求书所记载的发明及其等同的范围内。
Claims (9)
1.一种图像处理装置,基于由第1摄像单元得到的第1图像、以及由与所述第1摄像单元不同位置处的第2摄像单元得到的第2图像,计算视差,其中,具备:
控制电路,将所述第1图像或所述第2图像中的任意一方设定为基准图像,将另一方设定为参照图像;
输入图像插补电路,提高所述参照图像的分辨率而生成插补图像;
成本最优化运算部,使用所述参照图像或所述插补图像,进行基于全局最优化的成本最优化运算;
成本最小视差提取部,使用通过所述成本最优化运算得到的成本值,决定各像素的视差;
集中视差范围决定电路,基于使用所述参照图像计算出的第1视差,动态地改变利用在与所述参照图像相同帧中取得的所述第1图像或所述第2图像生成的所述插补图像中的视差搜索的步长;以及
视差输出电路,对使用所述插补图像计算出的第2视差,使用所述插补图像中的像素位置与所述参照图像中的像素位置之间的对应关系的数据进行校正,变换为所述基准图像中的分辨率而输出,
所述视差输出电路使用将所述第1图像作为基准图像而计算出的所述第1视差和将所述第2图像作为基准图像而计算出的所述第2视差进行交叉检查,按每个像素判定所计算出的视差的恰当性。
2.根据权利要求1所述的图像处理装置,其特征在于,
所述成本最优化运算是通过基于SGM法计算合成成本值而进行的。
3.根据权利要求1所述的图像处理装置,其特征在于,
所述控制部将所述参照图像中的像素的取得顺序及运算顺序设定为第1方向,并将所述插补图像中的像素的取得顺序及运算顺序设定为与所述第1方向相反方向的第2方向,所述成本最优化运算部使用能够一边按照由所述控制部设定的取得顺序对像素进行取得及运算一边进行计算的路径,进行成本最优化运算。
4.根据权利要求3所述的图像处理装置,其特征在于,
所述像素的取得顺序及运算顺序是光栅扫描,所述第1方向是从图像的右下朝向左上的方向,所述第2方向是从图像的左上朝向右下的方向。
5.根据权利要求1~4中任一项所述的图像处理装置,其特征在于,
所述集中视差范围决定电路以由1个以上像素构成的块为单位计算所述第1视差的分布统计量,基于所述分布统计量来决定所述视差搜索的步长。
6.根据权利要求5所述的图像处理装置,其特征在于,
所述集中视差范围决定电路对所述分布统计量附近的像素,较大地设定搜索的步长,对远离所述分布统计量的像素,较小地设定搜索的步长。
7.根据权利要求6所述的图像处理装置,其特征在于,
所述分布统计量是平均值、峰值、最大似然值、中央值中的任意一个。
8.一种存储有图像处理程序的存储介质,所述图像处理程序使计算机执行如下步骤:
将由第1摄像单元得到的第1图像作为基准图像,将由第2摄像单元得到的第2图像作为参照像素的步骤;
利用使用所述参照图像进行基于全局最优化的成本最优化运算而得到的成本值,决定各像素的第1视差的步骤;
提高所述参照图像的分辨率而生成插补图像的步骤;
基于所述第1视差,动态地改变利用在与所述参照图像相同帧中取得的所述第1图像或所述第2图像生成的所述插补图像中的所述成本最优化运算的视差搜索的步长的步骤;
利用使用所述插补图像进行所述成本最优化运算而得到的成本值,决定各像素的第2视差的步骤;
对所述第2视差,使用所述插补图像中的像素位置与所述参照图像中的像素位置之间的对应关系的数据进行校正,变换为所述基准图像中的分辨率而输出的步骤;以及
使用将所述第1图像作为基准图像而计算出的所述第1视差和将所述第2图像作为基准图像而计算出的所述第2视差进行交叉检查,按每个像素判定所计算出的视差的恰当性的步骤。
9.一种驾驶支援***,具有图像处理装置,该图像处理装置基于由第1摄像单元得到的第1图像、以及由与所述第1摄像单元不同位置处的第2摄像单元得到的第2图像来计算视差,
所述图像处理装置具备:
控制电路,将所述第1图像或所述第2图像中的任意一方设定为基准图像,将另一方设定为参照图像;
输入图像插补电路,提高所述参照图像的分辨率而生成插补图像;
成本最优化运算部,使用所述参照图像或插补图像,进行基于全局最优化的成本最优化运算;
成本最小视差提取部,使用通过所述成本最优化运算得到的成本值,决定各像素的视差;
集中视差范围决定电路,基于使用所述参照图像计算出的第1视差,动态地改变利用在与所述参照图像相同帧中取得的所述第1图像或所述第2图像生成的所述插补图像中的视差搜索的步长;以及
视差输出电路,对使用所述插补图像计算出的第2视差,使用所述插补图像中的像素位置与所述参照图像中的像素位置之间的对应关系的数据进行校正,变换为所述基准图像中的分辨率而输出,
所述视差输出电路使用将所述第1图像作为基准图像而计算出的所述第1视差和将所述第2图像作为基准图像而计算出的所述第2视差进行交叉检查,按每个像素判定所计算出的视差的恰当性。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018170863A JP7005458B2 (ja) | 2018-09-12 | 2018-09-12 | 画像処理装置、及び、画像処理プログラム、並びに、運転支援システム |
JP2018-170863 | 2018-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110895821A CN110895821A (zh) | 2020-03-20 |
CN110895821B true CN110895821B (zh) | 2023-11-03 |
Family
ID=65635449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910112079.XA Active CN110895821B (zh) | 2018-09-12 | 2019-02-13 | 图像处理装置、存储有图像处理程序的存储介质及驾驶支援*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US10977816B2 (zh) |
EP (1) | EP3624057A1 (zh) |
JP (1) | JP7005458B2 (zh) |
CN (1) | CN110895821B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11460854B1 (en) * | 2020-04-28 | 2022-10-04 | Amazon Technologies, Inc. | System to determine floor or obstacle by autonomous mobile device |
EP4191196A1 (en) * | 2020-07-28 | 2023-06-07 | Kyocera Corporation | Image processing device, stereo camera device, moving object, parallax calculation method, and image processing method |
US11827216B2 (en) * | 2020-12-08 | 2023-11-28 | Deere & Company | Optimal sensor reading for low latency object detection |
CN112802079A (zh) * | 2021-01-19 | 2021-05-14 | 奥比中光科技集团股份有限公司 | 一种视差图获取方法、装置、终端和存储介质 |
KR20220107831A (ko) | 2021-01-26 | 2022-08-02 | 삼성전자주식회사 | 디스플레이 장치 및 그 제어 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101952854A (zh) * | 2008-04-21 | 2011-01-19 | 夏普株式会社 | 图像处理装置、显示装置、图像处理方法、程序和记录介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3647885B2 (ja) | 1993-05-07 | 2005-05-18 | 日本電信電話株式会社 | 画像処理装置 |
JP3794199B2 (ja) | 1999-04-27 | 2006-07-05 | 株式会社日立製作所 | 画像のマッチング方法 |
JP4212307B2 (ja) | 2002-06-24 | 2009-01-21 | セントラル硝子株式会社 | 含フッ素スチレン重合性単量体の製造方法及びそれに使用される中間体化合物 |
JP4080942B2 (ja) | 2003-04-28 | 2008-04-23 | 株式会社東芝 | 画像間の対応点推定方法およびテンプレートマッチングシステム |
JP2007293900A (ja) | 2007-06-20 | 2007-11-08 | Nippon Telegr & Teleph Corp <Ntt> | 画像処理装置 |
CN101588436B (zh) | 2008-05-20 | 2013-03-27 | 株式会社理光 | 一种压缩原始图像动态范围的方法、装置和数码相机 |
JP5468426B2 (ja) | 2010-03-12 | 2014-04-09 | 日立オートモティブシステムズ株式会社 | ステレオカメラ装置 |
JP5942203B2 (ja) | 2011-06-17 | 2016-06-29 | パナソニックIpマネジメント株式会社 | ステレオ画像処理装置およびステレオ画像処理方法 |
WO2013108339A1 (ja) | 2012-01-20 | 2013-07-25 | パナソニック株式会社 | ステレオ撮影装置 |
EP4296963A3 (en) * | 2012-08-21 | 2024-03-27 | Adeia Imaging LLC | Method for depth detection in images captured using array cameras |
JP2014096062A (ja) | 2012-11-09 | 2014-05-22 | Yamaguchi Univ | 画像処理方法及び画像処理装置 |
DE102013100344A1 (de) * | 2013-01-14 | 2014-07-17 | Conti Temic Microelectronic Gmbh | Verfahren zur Bestimmung von Tiefenkarten aus Stereobildern mit verbesserter Tiefenauflösung im Fernbereich |
US9538081B1 (en) * | 2013-03-14 | 2017-01-03 | Amazon Technologies, Inc. | Depth-based image stabilization |
JP6377970B2 (ja) * | 2014-06-12 | 2018-08-22 | トヨタ自動車株式会社 | 視差画像生成装置及び視差画像生成方法 |
JP6411188B2 (ja) | 2014-11-26 | 2018-10-24 | 国立研究開発法人産業技術総合研究所 | ステレオマッチング装置とステレオマッチングプログラムとステレオマッチング方法 |
-
2018
- 2018-09-12 JP JP2018170863A patent/JP7005458B2/ja active Active
-
2019
- 2019-02-13 CN CN201910112079.XA patent/CN110895821B/zh active Active
- 2019-02-27 EP EP19159669.1A patent/EP3624057A1/en not_active Withdrawn
- 2019-03-04 US US16/292,157 patent/US10977816B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101952854A (zh) * | 2008-04-21 | 2011-01-19 | 夏普株式会社 | 图像处理装置、显示装置、图像处理方法、程序和记录介质 |
Also Published As
Publication number | Publication date |
---|---|
US10977816B2 (en) | 2021-04-13 |
JP7005458B2 (ja) | 2022-01-21 |
CN110895821A (zh) | 2020-03-20 |
JP2020042661A (ja) | 2020-03-19 |
US20200082556A1 (en) | 2020-03-12 |
EP3624057A1 (en) | 2020-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110895821B (zh) | 图像处理装置、存储有图像处理程序的存储介质及驾驶支援*** | |
CA3028653C (en) | Methods and systems for color point cloud generation | |
EP3876141A1 (en) | Object detection method, related device and computer storage medium | |
KR102653953B1 (ko) | 위치파악 참조 데이터를 생성하고 사용하는 방법 및 시스템 | |
JP5468426B2 (ja) | ステレオカメラ装置 | |
US20200042803A1 (en) | Information processing method, information processing apparatus, and recording medium | |
US10477178B2 (en) | High-speed and tunable scene reconstruction systems and methods using stereo imagery | |
KR20190053217A (ko) | 위치파악 참조 데이터를 생성 및 사용하기 위한 방법 및 시스템 | |
CN111213153A (zh) | 目标物体运动状态检测方法、设备及存储介质 | |
CN111261016A (zh) | 道路地图的构建方法、装置和电子设备 | |
CN113240813A (zh) | 三维点云信息确定方法及装置 | |
CN113608234A (zh) | 一种城市数据采集*** | |
US8340399B2 (en) | Method for determining a depth map from images, device for determining a depth map | |
EP4067815A1 (en) | Electronic device and control method | |
CN114662587A (zh) | 一种基于激光雷达的三维目标感知方法、装置及*** | |
KR102091648B1 (ko) | 화상 처리 장치, 화상 처리 방법 및 운전 지원 시스템 | |
JP7136721B2 (ja) | 演算装置、視差算出方法 | |
US20230104937A1 (en) | Absolute scale depth calculation device, absolute scale depth calculation method, and computer program product | |
JP2017199285A (ja) | 情報処理装置、情報処理方法、プログラム | |
US20220300744A1 (en) | Information processing device and information processing method | |
WO2020107151A1 (en) | Systems and methods for managing a high-definition map | |
KR20230072002A (ko) | 디바이스를 이용한 공간 정보 지도 갱신 시스템 | |
CN118274755A (zh) | 基于lidar的物体三维尺寸测量方法 | |
CN116994166A (zh) | 处理方法、装置以及无人机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |