CN104835136B - 通过迭代插值和扭曲生成深度图的***和方法 - Google Patents
通过迭代插值和扭曲生成深度图的***和方法 Download PDFInfo
- Publication number
- CN104835136B CN104835136B CN201410840565.0A CN201410840565A CN104835136B CN 104835136 B CN104835136 B CN 104835136B CN 201410840565 A CN201410840565 A CN 201410840565A CN 104835136 B CN104835136 B CN 104835136B
- Authority
- CN
- China
- Prior art keywords
- depth map
- image
- depth
- distortion
- initial
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明提供了一种生成深度图的计算机实现的方法,包括:生成第一图像的初始深度图,所述第一图像为从成像设备接收的一对立体图像中的一者,所述一对立体图像包括所述第一图像和第二图像,以及通过假设所述初始深度图中缺失区域的深度值而基于所述初始深度图生成预估深度图。所述方法包括基于所述预估深度图使所述第二图像扭曲,基于所述第一图像和所述扭曲的第二图像生成扭曲深度图,以及基于所述扭曲深度图和所述预估深度图生成相对于所述第二图像的所述第一图像的新深度图。
Description
相关申请
本申请要求于2014年2月8日提交的美国临时专利申请No.61/937496的优先权,该专利申请以引用方式明确并入本文。
背景技术
计算机立体视觉***通常包括两个摄像头以获得相同图像场景的两个不同视图。由于摄像头对图像场景的不同视角,因此两个不同视图中的对象和表面可出现在稍微不同位置。局部区块立体匹配方法可用于从两个不同视图恢复深度。然而,在具有复杂表面(诸如,非纹理表面和倾斜表面)的视图中可能难以恢复对象和表面的深度。因此,由于正面平行假设和不含纹理,以及其他问题,从摄像头图像恢复深度的局部区块立体匹配方法通常无法确定有效深度。
发明内容
根据一个方面,生成深度图的计算机实现的方法包括:生成第一图像的初始深度图,该第一图像为从成像设备接收的一对立体图像中的一者,该一对立体图像包括第一图像和第二图像;通过假设初始深度图中缺失区域的深度值而基于初始深度图生成预估深度图;以及基于预估深度图使第二图像扭曲。该方法包括基于第一图像和扭曲的第二图像生成扭曲深度图,以及基于扭曲深度图和预估深度图生成相对于第二图像的第一图像的新深度图。
根据另一个方面,非暂态计算机可读介质包括指令,当指令由处理器执行时执行生成深度图的方法,包括:生成第一图像的初始深度图,该第一图像为从成像设备接收的一对立体图像中的一者,该一对立体图像包括第一图像和第二图像;通过假设初始深度图中缺失区域的深度值而基于初始深度图生成预估深度图;以及基于预估深度图使第二图像扭曲。该方法包括基于第一图像和扭曲的第二图像生成扭曲深度图,以及基于扭曲深度图和预估深度图生成相对于第二图像的第一图像的新深度图。
根据又一个方面,生成深度图的计算机***包括处理器和预估深度图模块,该模块使得处理器生成第一图像的初始深度图,该第一图像为从成像设备接收的一对立体图像中的一者,该一对立体图像包括第一图像和第二图像,以及通过假设初始深度图中缺失区域的深度值而基于初始深度图生成预估深度图。该***包括深度图细化模块,该模块使得处理器基于预估深度图使第二图像扭曲,基于第一图像和扭曲的第二图像生成扭曲深度图,以及基于扭曲深度图和预估深度图生成相对于第二图像的第一图像的新深度图。
附图说明
被认为是本发明的特征的一些新结构在所附权利要求书中示出。在以下描述中,相同部分在整个说明书和附图中分别使用相同的数字标记。附图未必按比例绘制,并且为了清晰和简洁起见,某些图形可以以放大或一般的形式示出。然而,当结合附图阅读时,通过参考以下对于示例性实施例的详细描述,将最好地理解发明本身以及优选的使用方式、及其更多的目标和进步,其中:
图1是根据本申请的一个方面的通过迭代插值和扭曲生成深度图的示例性***的示意图;
图2a是根据本申请的一个方面的稍微倾斜表面的标准局部区块匹配的示例性例子;
图2b是根据本申请的一个方面的根据通过迭代插值和扭曲生成深度图的示例性实施例的稍微倾斜表面的局部区块匹配的示例性例子;
图3为根据本申请的一个方面的流程图,其示出了通过迭代插值和扭曲生成深度图的示例性方法;
图4a是根据本申请的一个方面的用于示例性水平线性插值的像素的示例性区块的示意图;
图4b是根据本申请的一个方面的用于多方向线性插值的像素的示例性区块的示意图;
图5a是根据本申请的一个方面的示例性左侧立体图像;
图5b是根据本申请的一个方面的图5a的左侧立体图像的示例性视差图;
图5c是根据本申请的一个方面的一次迭代之后的图5a的左侧立体图像的示例性视差图;以及
图5d是根据本申请的一个方面的八次迭代之后的图5a的左侧立体图像的示例性视差图。
具体实施方式
以下包括本文所用的所选术语的定义。这些定义包括落在术语范围内并可用于实施的组件的各种例子和/或形式。这些例子并非意图进行限制。此外,本领域的普通技术人员将认识到,可将本文所述的组件结合、省略或与其他组件组织起来,或组织成不同的体系结构。
如本文所用,“总线”是指可操作地连接于在计算机内部或在计算机之间的其他计算机组件的互联结构。总线可在计算机组件之间传输数据。因此,总线可使用其他总线与各种设备、模块、逻辑装置和***设备通信。总线可为单个内部总线互联体系结构和/或其他总线或网状体系结构(例如,外部)。总线可为存储器总线、内存控制器、***总线、外部总线、纵横开关和/或局部总线等等。在一些实施例中,总线可为车载总线等等,该车载总线使用诸如控制器局域网(CAN)、局部互联网(LIN)等协议使车内的组件互连。
如本文所用,“计算机通信”是指在两个或更多个计算设备(例如,计算机、便携式设备、个人数字助理、移动电话、网络设备)之间的通信,并且可为例如网络传输、文件传输、小程序传输、电子邮件、超文本传输协议(HTTP)传输等。计算机通信可在例如无线***(例如,IEEE 802.11)、以太网***(例如,IEEE 802.3)、令牌环***(例如,IEEE 802.5)、局域网(LAN)、广域网(WAN)、点到点***、电路交换***、包交换***等等上进行。
如本文所用,“深度图”通常为图像或图像信道,该图像或图像信道包含涉及场景对象的表面距观察点的距离的信息。在一些实施例中,深度图包括深度值的二维矩阵(例如,阵列),其中每个深度值对应于场景中的相应位置,并且指出从特定参考位置到相应场景位置的距离。在一些实施例中,视差图为其中从相同场景的偏移图像得出深度信息的深度图。视差图可以是通过转化给定的摄像头校准参数获得的反转深度图。
如本文所用,“盘”可为例如磁盘驱动器、固态盘驱动器、软盘驱动器、磁带驱动器、极碟驱动器、闪存卡和/或记忆棒。此外,盘可为CD-ROM(光盘ROM)、CD可记录驱动器(CD-R驱动器)、CD可再写驱动器(CD-RW驱动器)和/或数字视频ROM驱动器(DVD ROM)。该盘可存储用于控制或分配计算设备的资源的操作***。
如本文所用,“局部区块立体匹配方法”是计算图像之间视差的相应方法。一般来讲,对于第一图像中的每个像素而言,围绕该像素提取第一区块。在第二图像中进行搜索以得到与第一区块最佳匹配的第二区块。在围绕第一图像中的像素的预定范围像素内进行搜索。将第一区块和第二区块进行比较并且在具有最小匹配成本的情况下选择一个像素。所利用的成本函数可包括累计绝对差值(SAD)、等级变换相关(NCC)和累计归一化互相关(SNCC)等等。
如本文所用,“存储器”可包括易失性存储器和/或非易失性存储器。非易失性存储器可包括例如ROM(只读存储器)、PROM(可编程只读存储器)、EPROM(可擦除PROM)和EEPROM(电可擦除PROM)。易失性存储器可包括例如RAM(随机存取存储器)、同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)和直接RAM总线RAM(DRRAM)。所述存储器可存储用于控制或分配计算设备的资源的操作***。
如本文所用,“输入/输出设备”可包括键盘、麦克风、指向和选择设备、摄像头、成像设备、视频卡、显示器、磁盘、网络设备等等。输入/输出设备可包括输入/输出端口,例如,串行端口、平行端口和USB端口。
如本文所用,“模块”包括但不限于用以存储指令的非暂态计算机可读介质、在机器上执行的指令、硬件、固件、在机器上执行的软件和/或每一者的组合以执行一个或多个功能或者一个或多个操作,和/或引起来自另一个模块、方法和/或***的功能或操作。模块还可包括逻辑、软件控制的微处理器、分立逻辑电路、模拟电路、数字电路、可编程逻辑设备、包含执行指令的内存设备、逻辑门、门组合和/或其他电路组件。可将多个模块组合成一个模块并且可在多个模块间分配单个模块。
“可操作连接部”或将实体“可操作地连接”的连接部是其中可发送和/或接收信号、物理通信和/或逻辑通信的连接部。可操作的连接部可包括物理接口、数据接口和/或电接口。
如本文所用,“处理器”处理信号并执行一般计算和运算功能。经处理器处理的信号可包括数字信号、数据信号、计算机指令、处理器指令、消息、比特、比特流或其他可被接收、传输和/或检测的对象。通常,处理器可以是多种不同的处理器,包括多个单核和多核处理器和协处理器以及其他多个单核和多核处理器和协处理器体系结构。处理器可包括各种模块以执行各种功能。
如本文所用,“车辆”指能够运载一人或多人并以任何形式的能源提供动力的任何移动车辆。术语“车辆”包括但不限于:汽车、卡车、厢式货车、小型货车、SUV、摩托车、踏板车、小船、私人船艇和航空器。在一些情况下,机动车辆包括一个或多个引擎。另外,术语“车辆”可指能够承载一个或多个乘客并由一个或多个电动机完全或部分提供动力的电动车辆(EV),所述电动机由电池提供电力。EV可包括纯电动车辆(BEV)和插电式混合电动车辆(PHEV)。另外,术语“车辆”可指由任何形式能量提供电力的自动车辆和/或无人驾驶车辆。自动车辆可能或可能不承载一个或多个乘客。
如本文所用,“车辆***”可包括但不限于可用于提高车辆驾驶和/或安全的任何自动或手动***。示例性车辆***包括但不限于:电子稳定性控制***、防抱死制动***、制动辅助***、自动制动预充填***、低速跟踪***、巡航控制***、碰撞预警***、碰撞缓解制动***、自动巡航控制***、车道偏离预警***、盲点指示***、车道保持辅助***、导航***、传输***、制动踏板***、电动转向***、可视设备(例如,摄像头***、接近传感器***)、气候控制***、电子预拉伸***等等。
现在参考附图,其中图示是为了示出一个或多个示例性实施例,并且不是为了对其进行限制,图1示出了用于通过迭代插值和扭曲生成深度图的示例性***100的示意图。可将***100的组件以及本文所述的其他***、硬件体系结构和软件体系结构的组件结合、省略或组织成不同的体系结构以用于各种实施例。另外,在一些实施例中,可利用车辆或车辆***(例如,信息娱乐***、导航***、车辆音响主机)(未示出)来实施***100和/或***100的一个或多个组件。
在图1的图示实施例中,***100包括计算机102,该计算机102具备对***100的各种组件进行处理并且与组件进行通信和交互的配置。一般来讲,计算机102包括处理器104、存储器106、磁盘108和通信接口110,它们各自可操作地连接以用于经由总线112进行计算机通信。在一些实施例中,计算机可与车辆(未示出)集成或关联,例如ECU、车辆音响主机、成像***等等。通信接口112提供软件和硬件以促进计算机102的组件与将在本文描述的其他组件、网络和数据源之间的数据输入和输出。另外,如将利用本文所述的***和方法更详细地讨论,处理器104包括预估深度图模块118和深度图细化模块120。
计算机102还可操作地连接以用于与成像设备114和显示设备116进行计算机通信。成像设备114可包括一个或多个摄像头。成像设备114获得视图的一对图像。该一对图像可为视图的第一图像和第二图像。例如,该一对图像可为视图的左侧图像和右侧图像。成像设备114可为用于获得和/或捕获有关视图的图像数据的任何类型的设备。例如,成像设备114可为一个或多个立体摄像头、3D摄像头、2D摄像头、移动深度摄像头、视频摄像头、CCD摄像头、CMOS摄像头、便携式设备摄像头等等。在车辆内,成像设备114可位于车辆的内部或车辆的外部,例如,前视摄像头。在其他实施例中,成像设备114可包括一个或多个成像设备,其来自可操作地连接以用于与计算机102进行计算机通信的一个或多个便携式设备(未示出)。在又一个实施例中,该一对图像可得自网络(未示出)、数据库(未示出)或用于存储从成像设备获得的一对图像的其他设备。
在图1所示的实施例中,显示设备116可包括输入和/或输出设备以用于接收和/或显示来自计算机102的信息。例如,显示设备116可为图像显示屏、触摸显示屏、便携式设备的显示器、车辆中的显示器、平视显示器、LCD显示器等等。在一些实施例中,可在显示设备116上显示在本文所述的方法和***中处理的深度图和图像。
现在将参考根据示例性实施例用于生成深度图的示例性***详细地讨论图1的预估深度图模块118和深度图细化模块120。预估深度图模块使得处理器生成第一图像的初始深度图。第一图像为从成像设备(例如,成像设备114)所接收的图像场景(例如,相同图像场景)的一对立体图像中的一者。该一对立体图像包括图像场景的第一图像和第二图像。在一些实施例中,第一图像为左侧图像(例如,示出图像场景左侧透视图的图像)并且第二图像为右侧图像(例如,示出图像场景右侧透视图的图像),或反之亦然。本文所述的示例性***和方法将被描述为作为左侧图像的第一图像和作为右侧图像的第二图像,然而,如上所述,可设想其他实施方式。另外,应当理解,在一些实施例中,第一图像和第二图像为彩色立体图像并且***100可将彩色立体图像转换成灰阶(例如,单通道图像)或***100可处理彩色的立体图像。
现在将参考图2a和2b对该一对立体图像进行讨论。图2a为稍微倾斜表面的标准局部区块匹配的示例性例子。图2a包括图像场景的第一图像(例如,左侧图像L)202a和该图像场景的第二图像(例如,右侧图像R)202b。在图2a和2b中,图像场景为例如由车辆上的前视摄像头(例如,成像设备114)捕获的街道视图。在第一图像202a和第二图像202b中,街道204a(例如,图像场景中的对象)相对于两个摄像头(例如观察点)的图像平面是倾斜的。如图2a所示,通过第一图像202a中的局部区块匹配方法计算区块206a,区块206a包括街道204a。通过基于区块206a的第二图像202b中的局部区块匹配计算区块206b。图2a中的对应区块(即,区块206a和区块206b)之间的视差值大不相同,这部分地是由于第二图像202b中的街道204a的表面高度倾斜。这导致对应区块大大相异并且该相异性可导致基于区块206a和区块206b生成的深度图中不精确或缺失深度的相关值和区域不精确。
与图2a相比,图2b是根据通过迭代插值和扭曲生成深度图的示例性实施例的稍微倾斜表面的局部区块匹配的示例性例子。与图2a类似,图2b包括图像场景的第一图像(例如,左侧图像L)210a和图像场景的第二图像(例如,右侧图像R)210b。在第一图像210a和第二图像210b中,街道212a(例如,图像场景中的对象)是高度倾斜的。然而,与其中从不同观察点观察街道的图2a不同,使用预估深度图(如本文所述)改变图像210b的观察点以与图像210a的观察点匹配。这通过使图像202b扭曲以获得图像210b来实现,如将通过本文所述的示例性方法和***所述。如图2b所示,通过第一图像210a(包括街道212a)的局部区块匹配方法来计算区块214a。通过基于区块214a扭曲的第二图像210b的局部区块匹配来计算区块214b。图2b中的对应区块(即,区块214a和区块214b)之间的视差值最小,导致对应区块类似,这部分是由于第二图像210b被扭曲。因此,基于区块214a和区块214b生成的深度图将更准确。
再次参见图1,预估深度图模块118通过假设初始深度图中缺失区域的深度值而基于初始深度图生成预估深度图。可使用插值(例如,水平线性插值和/或多方向插值)假设缺失区域的深度值,将在下文参考图3、4a和4b更详细地进行讨论。一般来讲,通过使用局部区块匹配方法由预估深度图模块118生成初始深度图,并且通过使用插值用缺失深度值填充区域的方法由预估深度图模块118生成预估深度图。
预估深度图可由深度图细化模块120用于使例如第二图像扭曲,如图2b的第二图像210b所示。具体地讲,深度图细化模块120使得处理器104基于预估深度图使第二图像扭曲。深度图细化模块120基于第一图像和扭曲的第二图像生成扭曲深度图。深度图细化模块120基于扭曲深度图和预估深度图生成相对于第二图像的第一图像的新深度图。在一些实施例中,深度图细化模块120通过对扭曲深度图进行反扭曲来生成新深度图。对深度图进行反扭曲包括深度图细化模块120识别预估深度图与扭曲的第二图像中的对应像素之间的视差。随后将该视差添加至扭曲深度图,从而生成新深度图。
在一个实施例中,处理器104以迭代方式执行预估深度图模块118和深度图细化模块120并且通过由深度图细化模块120输出的新深度图重写初始深度图。在又一个实施例中,处理器104以迭代方式执行预估深度图模块118和深度图细化模块120,直至确定来自前一次迭代(例如,其可为初始深度图)的深度图和新深度图的对应值保持恒定。将通过图3更详细地描述迭代过程的细节。该迭代和扭曲方法在使具有错误深度的像素的百分比保持较低的同时增加了局部方法的有效深度百分比。
现在将参考图3的方法描述上述图1中示出的***100。应当认识到,可通过图3的方法类似地实施图1中的上述***和组件。图3的方法示出了通过迭代插值和扭曲生成深度图的示例性方法。如上所述,将讨论图3的方法,其中第一图像作为图像场景的左侧图像(L)并且第二图像作为图像场景的右侧图像(R),然而,应当理解,在其他实施例中,第一图像可为右侧图像并且第二图像可为左侧图像。
现在参见图3,在方框310处,该方法包括生成第一图像(即,左侧图像L)的初始深度图,在本文中表示为DL。在一个实施例中,图1的预估深度图模块118可生成第一图像(即,左侧图像L)的初始深度图DL。具体地讲,可生成第一图像的初始深度图DL,第一图像为从成像设备接收的一对立体图像中的一者,该一对立体图像包括第一图像和第二图像。在图3中,接收左侧图像(即,第一图像)作为方框310处的输入302并且接收右侧图像(即,第二图像)作为方框310处的输入304。从例如图1的成像设备114获得左侧图像和右侧图像。
初始深度图DL由反扭曲的左侧图像和反扭曲的右侧图像(例如,初始图像;L、R)生成。在一些实施例中,初始深度图DL使用局部区块匹配方法生成。另外,应当理解,在生成初始深度图DL之后可应用其他图像处理步骤,例如左右检查和/或移除小视差区域。另外,还将指示循环迭代的计数器ITER接收作为方框310处的输入306。如在输入306处所示,在进行第一次迭代时,将ITER设置为0。图1的处理器104可保持计数器ITER。在图3所示的方法中,在进行第一次迭代(即,ITER=0)时执行方框310。
在一些情形下,即使利用后处理技术,初始深度图DL还是具有许多缺失深度(如,孔)的区域。因此,再次参见图3,在方框312处,该方法包括通过假设初始深度图中缺失区域的深度值而基于初始深度图生成预估深度图。预估深度图在本文表示为DI。在一个实施例中,图1的预估深度图模块118基于初始深度图生成预估深度图。如将在本文中更详细地说明,如果ITER>0,则预估深度图基于新深度图因此,如果ITER>0,则
假设缺失区域的深度值可以各种方式进行,例如,通过方框314处的插值。在方框314处,ITER计数器递增1,例如,可保持ITER计算器的处理器104使ITER计数器递增1。另外,在方框314处,内插深度图DL以获得预估深度图DI。在一个实施例中,通过假设初始深度图中缺失区域的深度值而基于初始深度图生成预估深度图包括利用水平插值预估深度值。在水平插值中,每一行均水平和线性填充,从而在具有有效视差条目的第一左侧和右侧像素之间内插。在一个实施例中,在确定视差值在预定阈值内后,完成第一左侧和右侧像素之间的插值。例如,可将预定阈值设置为多个像素,例如,40个像素。用最小相邻视差填充剩余的像素。
图4a是用于水平线性插值的像素示例性区块402的示意图。在图4a中,像素区块402为10×10个像素区块,其从坐标(1a,1a)开始并且延伸到坐标(100a,100a)。图4a中示出的黑点(例如,黑点404)为具有值的图像的像素。如果要在没有插值的情况下将具有像素区块402的第一图像显示于例如图1的显示设备116上,则将存在缺失的像素和区域,因为存在一些没有值的像素。例如,坐标(1a,2a)处的像素没有值。可内插没有值的像素区块402中的像素,并且在图4a中示出的例子中,使用如箭头406所示的水平线性插值内插这些像素。因此,在一个实施例中,处理器104使用从像素区块402中选择的像素内插缺少值的像素的值。在该实施例中,例如,可使用左侧像素(例如,(6a,4a))的有效视差值和右侧像素(例如,(6a,6a))的有效视差值内插位于坐标(6a,5a)处的像素的值。可将水平线性插值应用于每一行或者行和/或像素的子集。
在另一个实施例中,通过假设初始深度图中缺失区域的深度值而基于初始深度图生成预估深度图包括利用多方向线性插值预估深度值。多方向线性插值可基于迭代(即,ITER)。另外,在一个实施例中,对于每一次迭代,插值的方向将改变。例如,根据大约180度的迭代编号分配插值方向。例如,就两次迭代而言,第一插值(即,ITER=1)处于0度水平,并且第二插值(即,ITER=2)处于90度竖直。就四次迭代而言,第一插值(即,ITER=1)处于0度水平,第二插值(即,ITER=2)处于90度竖直,第三插值(即,ITER=3)处于45度并且第四插值(即,ITER=4)处于135度。可用最小相邻视差填充剩余的像素。
图4b是根据示例性多方向线性插值所使用的示例性像素区块408的示意图。在图4b中,像素区块408为10×10个像素区块,其从坐标(1b,1b)开始并且延伸到(100b,100b)。图4b中所示的黑点(例如,黑点410)是具有值的图像的像素。如果要在没有插值的情况下将具有像素区块408的第一图像显示于例如图1的显示设备116上,则将存在缺失的像素和区域,因为存在一些没有值的像素。例如,坐标(1b,2b)处的像素没有值。可内插没有值的像素区块408中的像素,并且在图4b的例子中,使用基于迭代的多方向线性插值内插这些像素。例如,对于第一次迭代i1(即,ITER=1)而言,插值处于0度水平。对于第二次迭代i2(即,ITER=2)而言,插值处于90度竖直。对于第三次迭代i3(即,ITER=3)而言,插值处于45度。对于第四次迭代i4(即,ITER=4)而言,插值处于135度。应当认识到,多方向线性插值可包括一个或多个插值,其包括不止四次迭代。可将多方向线性插值应用于每一行或者行和/或像素的子集。
再次参见图3,在步骤316处,该方法包括基于预估深度图DI使第二图像扭曲。在一个实施例中,深度图细化模块120基于预估深度图DI使第二图像扭曲。具体地讲,在一个实施例中,预估深度图DI用于使右侧图像(R)扭曲以获取新图像RW。具体地讲,基于预估深度图使第二图像扭曲包括基于预估深度图中对应像素的强度确定第二图像中的一个或多个像素的强度。换句话说,为了生成新图像RW,来自R(即,初始右侧图像)的RW中的像素位置(x,y)处的强度计算如下:
Rw(x,y)=R(x-DI(x,y),y) (1)
再次参见图3,在方框318处,该方法包括基于第一图像和扭曲的第二图像生成扭曲深度图。扭曲深度图在本文表示为DW。在一个实施例中,深度图细化模块120基于第一图像和扭曲的第二图像生成扭曲深度图。在图3中示出的实施例中,扭曲深度图基于左侧图像L和扭曲的右侧图像RW。因此,在使第二图像扭曲之后(即RW),新图像对(L,RW)之间的差值减小。因此,基于新图像对的新视差图(即,DW)不太容易产生透视效果,因为新图像对彼此更为类似。
当发现左侧图像和扭曲的右侧图像之间的对应关系时,搜索正视差和负视差。具体地讲,搜索负视差是因为对于一些像素而言DI中的视差预估可高于实际视差,并且因此,扭曲的右侧图像中的像素可能向右侧偏移过多。因此,在一个实施例中,可针对每次迭代修改总体视差搜索范围。例如,视差搜索范围在以下迭代中可减小。作为示例性的例子,初始搜索范围可为0至128个像素,而后续迭代中的搜索范围可低至-8至8个像素。另外,应当理解,可将其他后处理步骤应用于扭曲的视差图,例如,左右检查和小视差区域移除。
在方框320处,该方法包括基于扭曲深度图和预估深度图生成相对于第二图像的第一图像的新深度图。新深度图表示为在一个实施例中,生成新深度图包括在方框322处对扭曲深度图进行反扭曲。在图3中示出的实施例中,扭曲深度图DW包含使左侧图像中的像素与扭曲的右侧图像(即,RW)中的像素相关的视差。因此,需要对扭曲深度图进行“反扭曲”以获取相对于初始右侧图像的深度值,并且随后,生成新深度图。
在一个实施例中,对扭曲深度图进行反扭曲包括识别预估深度图和扭曲的第二图像中的对应像素之间的视差并且将该视差添加至扭曲深度图。具体地讲,将扭曲的右侧图像中的对应像素借此偏移的视差添加至DW并且使用内插深度图(表示为DI),因为扭曲的右侧图像使用内插深度图获取,如下所示:
在一个实施例中,新深度图也可进一步过滤以防止多次迭代中的错误累积。具体地讲,基于预估深度图中的像素的值与扭曲深度图中的像素的值是否匹配而拒绝或接受预估深度图中的像素的值,如方框324处所示。在一个实施例中,对新深度图进行检查以确保新深度图不具有方框314处的局部区块匹配的初始搜索范围外的任何视差。另外,为在上一次迭代(即在两次后处理检查之后)中具有正确预估深度值的像素重新分配其最后一个值,并且只有深度值在当前迭代中第一次计算的像素在内插(例如,预估)深度值的阈值内时才允许其保持其深度值。例如,只有在以下情况下才接受
其中t为像素的预定值,例如0.5个像素。因此,优选较大视差并丢弃与内插视差不匹配的视差。
再次参见图3的方法,可以以迭代方式执行图3的方框。具体地讲,在以下迭代中,深度图DL(其可为初始深度图)被在方框320处生成的新深度图取代。在一个实施例中,以迭代方式对图3的方框执行固定次数的迭代。如方框326处所示,确定ITER是否<=MAX_ITER,其中MAX_ITER为预定值。如果是,则方法继续进行至方框312以生成预估深度图DI。如果否,则方法结束,并且在一个实施例中,在方框340处,将新深度图输出至例如显示设备116(图1)。在一些实施例中,将新深度图输出并且可进一步加以处理。
在另一个实施例中,该方法包括在方框328处将新深度图与来自前一次迭代的深度图DL进行比较。该方法以迭代方式继续,直至确定新深度图与前一个深度图DL之间的对应值是恒定的。如果在方框328处,新深度图与初始深度图之间的对应值不是恒定的(否),则方法继续进行到方框312处以生成预估深度图DI。如果在方框328处,新深度图与前一个深度图之间的对应值是恒定的(是),则方法结束,并且在一个实施例中,在方框326处,将新深度图输出至例如显示设备116。在一些实施例中,将新深度图输出并且可进一步加以处理。该迭代和扭曲方法在使具有错误深度的像素的百分比保持较低的同时增加了部方法的有效深度的百分比。
现在参见图5a-5d,现在将描述本文所述的***和方法的示例性结果。图5a为示例性左侧立体图像。例如,将图2b的第一图像210a和/或左侧图像接收作为图3中的输入302。图5a的左侧立体图像为由例如车辆上的前视摄像头(例如,由成像设备114)拍摄的街道视图。已经以灰阶再现了图5a的左侧立体图像。图5b是使用例如如利用图2a所述的标准局部区块匹配方法的图5a的左侧立体图像的示例性视差图。图5c是根据本文所述的迭代插值和扭曲的***和方法在一次迭代之后的图5a的左侧立体图像的示例性视差图。如图5c所示,与图5b中的视差图相比较,道路的深度预估有了显著改善并且建筑物的深度预估有了一些改善。在一些实施例中,已经发现的是,在一次迭代之后密度可平均增加7-13%。图5d是根据本文所述的迭代插值和扭曲的***和方法进行八次迭代之后的图5a的左侧立体图像的示例性视差图。如图5d所示,道路、建筑物和图像左侧的灌木丛的深度预估有了显著改善。因此,该迭代和扭曲方法在使具有错误深度的像素的百分比保持较低的同时增加了部方法的有效深度的百分比。
本文所讨论的实施例也可在存储计算机可执行指令的非暂态计算机可读存储介质的上下文中描述和实施。非暂态计算机可读存储介质包括计算机存储介质和通信介质。例如,闪存驱动器、数字通用光盘(DVD)、光盘(CD)、软盘和盒式磁带。非暂态计算机可读存储介质可包括以用于存储信息(例如,计算机可读指令、数据结构、模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。非暂态计算机可读存储介质不包括暂态和传播的数据信号。
应当理解,以上公开的以及其他的结构和功能的各种具体实施或其替代形式或变型可有利地结合到许多其他的不同***或应用中。另外,随后可由本领域技术人员作出各种当前未预见或意料之外的替代形式、修改、变型或其中的改进,本文旨在将这些涵盖于以下权利要求书范围内。
Claims (17)
1.一种生成深度图的计算机实现的方法,包括:
生成第一图像的初始深度图,所述第一图像为从成像设备所接收的一对立体图像中的一者,所述一对立体图像包括所述第一图像和第二图像;
通过假设所述初始深度图中缺失区域的深度值而基于所述初始深度图生成预估深度图;
基于所述预估深度图使所述第二图像扭曲;
基于所述第一图像和所述扭曲的第二图像生成扭曲深度图;以及
基于所述扭曲深度图和所述预估深度图生成相对于所述第二图像的所述第一图像的新深度图。
2.根据权利要求1所述的计算机实现的方法,其中权利要求1以迭代方式执行,并且在每次迭代中通过所述新深度图取代所述初始深度图。
3.根据权利要求2所述的计算机实现的方法,其中以迭代方式将权利要求1执行固定次数的迭代。
4.根据权利要求2所述的计算机实现的方法,包括将所述新深度图与所述初始深度图进行比较,并且以迭代方式执行权利要求1,直至确定所述新深度图与前一个深度图之间的对应值为恒定的。
5.根据权利要求1所述的计算机实现的方法,其中通过假设所述初始深度图中缺失区域的深度值而基于所述初始深度图生成所述预估深度图包括通过水平线性插值假设深度值。
6.根据权利要求2所述的计算机实现的方法,其中通过假设所述初始深度图中缺失区域的深度值而基于所述初始深度图生成所述预估深度图包括基于迭代通过多方向插值假设深度值。
7.根据权利要求6所述的计算机实现的方法,其中对于每次迭代而言插值的方向将改变。
8.根据权利要求1所述的计算机实现的方法,其中基于所述预估深度图使所述第二图像扭曲包括基于所述预估深度图中的对应像素的强度确定所述第二图像中的一个或多个像素的强度。
9.根据权利要求1所述的计算机实现的方法,其中生成所述新深度图包括对所述扭曲深度图进行反扭曲:
识别所述预估深度图与所述扭曲的第二图像的对应像素之间的视差;以及
将所述视差添加至所述扭曲深度图以生成所述新深度图。
10.一种包含指令的非暂态计算机可读介质,当所述指令由处理器执行时执行生成深度图的方法,包括:
生成第一图像的初始深度图,所述第一图像为从成像设备接收的一对立体图像中的一者,所述一对立体图像包括所述第一图像和第二图像;
通过假设所述初始深度图中缺失区域的深度图而基于所述初始深度图生成预估深度图;
基于所述预估深度图使所述第二图像扭曲;
基于所述第一图像和所述扭曲的第二图像生成扭曲深度图;以及
基于所述扭曲深度图和所述预估深度图生成相对于所述第二图像的所述第一图像的新深度图。
11.根据权利要求10所述的非暂态计算机可读介质,其中所述处理器以迭代方式执行权利要求10并且在每次迭代时通过所述新深度图重写所述初始深度图。
12.根据权利要求10所述的非暂态计算机可读介质,其中所述处理器以迭代方式执行权利要求10,直至所述处理器确定在与来自前一次迭代的深度图进行比较时所述新深度图的一个或多个值保持恒定。
13.根据权利要求10所述的非暂态计算机可读介质,其中生成新深度图包括对所述扭曲深度图进行反扭曲:
识别所述预估深度图和所述扭曲的第二图像中的对应像素之间的视差;以及
将所述视差添加至所述扭曲深度图以生成所述新深度图。
14.一种生成深度图的计算机***,包括:
处理器;
预估深度图模块,所述模块使得所述处理器生成第一图像的初始深度图,所述第一图像为从成像设备接收的一对立体图像中的一者,所述一对立体图像包括所述第一图像和第二图像,并且通过假设所述初始深度图中缺失区域的深度值而基于所述初始深度图生成预估深度图;以及
深度图细化模块,所述模块使得处理器基于所述预估深度图使所述第二图像扭曲,基于所述第一图像和扭曲的第二图像生成扭曲深度图,并且基于所述扭曲深度图和所述预估深度图生成相对于所述第二图像的所述第一图像的新深度图。
15.根据权利要求14所述的***,其中所述处理器以迭代方式执行所述预估深度图模块和所述深度图细化模块,并且通过由所述深度图细化模块输出的所述新深度图重写所述初始深度图。
16.根据权利要求14所述的***,其中所述处理器以迭代方式执行所述预估深度图模块和所述深度图细化模块,直至确定所述初始深度图和所述新深度图的对应值保持恒定。
17.根据权利要求14所述的***,其中所述深度图细化模块对所述扭曲深度图进行反扭曲:
识别所述预估深度图与所述扭曲的第二图像中的对应像素之间的视差;以及
将所述视差添加至所述扭曲深度图以生成所述新深度图。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461937496P | 2014-02-08 | 2014-02-08 | |
US61/937,496 | 2014-02-08 | ||
US14/297,792 US9336604B2 (en) | 2014-02-08 | 2014-06-06 | System and method for generating a depth map through iterative interpolation and warping |
US14/297,792 | 2014-06-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104835136A CN104835136A (zh) | 2015-08-12 |
CN104835136B true CN104835136B (zh) | 2019-06-11 |
Family
ID=53775359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410840565.0A Active CN104835136B (zh) | 2014-02-08 | 2014-12-30 | 通过迭代插值和扭曲生成深度图的***和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9336604B2 (zh) |
JP (1) | JP6601935B2 (zh) |
CN (1) | CN104835136B (zh) |
DE (1) | DE102015201953A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101676656B1 (ko) * | 2014-12-22 | 2016-11-16 | 현대모비스 주식회사 | 장애물 검출 장치 및 장애물 검출 방법 |
US10097805B2 (en) * | 2015-10-13 | 2018-10-09 | Apple Inc. | Multi-image color refinement with application to disparity estimation |
EP3176013B1 (en) | 2015-12-01 | 2019-07-17 | Honda Research Institute Europe GmbH | Predictive suspension control for a vehicle using a stereo camera sensor |
EP3185208A1 (en) * | 2015-12-22 | 2017-06-28 | Thomson Licensing | Method for determining missing values in a depth map, corresponding device, computer program product and non-transitory computer-readable carrier medium |
CN106952310A (zh) * | 2016-01-29 | 2017-07-14 | 法拉第未来公司 | 用于确定能见度状态的***及方法 |
WO2018098789A1 (en) * | 2016-12-01 | 2018-06-07 | SZ DJI Technology Co., Ltd. | Method and system for detecting and tracking objects using characteristic points |
GB2561525B (en) * | 2016-12-22 | 2020-06-10 | Canon Kk | Generation of depth maps for 3D image reconstruction |
US10373362B2 (en) * | 2017-07-06 | 2019-08-06 | Humaneyes Technologies Ltd. | Systems and methods for adaptive stitching of digital images |
CN109426760A (zh) * | 2017-08-22 | 2019-03-05 | 聚晶半导体股份有限公司 | 一种道路图像处理方法与道路图像处理装置 |
CN109472180A (zh) * | 2017-09-07 | 2019-03-15 | 聚晶半导体股份有限公司 | 道路图像处理方法与道路图像处理装置 |
CN108845975B (zh) * | 2018-06-22 | 2021-04-13 | 深圳大学 | 一种基于阵列天线的相位恢复方法 |
CN112396671B (zh) * | 2019-08-16 | 2024-01-30 | 北京字节跳动网络技术有限公司 | 水波纹效果实现方法、装置、电子设备和计算机可读存储介质 |
US11532165B2 (en) * | 2020-02-26 | 2022-12-20 | GM Global Technology Operations LLC | Natural surround view |
US11704804B2 (en) * | 2020-04-02 | 2023-07-18 | GE Precision Healthcare LLC | Domain adaptation using post-processing model correction |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101822067A (zh) * | 2007-07-26 | 2010-09-01 | 皇家飞利浦电子股份有限公司 | 深度相关信息传播方法和设备 |
CN102572488A (zh) * | 2012-02-16 | 2012-07-11 | 友达光电股份有限公司 | 立体图像生成*** |
CN102771128A (zh) * | 2009-12-04 | 2012-11-07 | 阿尔卡特朗讯公司 | 一种用于获得目标的改善的立体图像的方法和*** |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04329481A (ja) * | 1991-05-01 | 1992-11-18 | Matsushita Electric Ind Co Ltd | 3次元データ獲得方法及び3次元データ獲得装置 |
US6377712B1 (en) * | 2000-04-10 | 2002-04-23 | Adobe Systems Incorporated | Iteratively building displacement maps for image warping |
WO2005027038A2 (en) | 2003-09-08 | 2005-03-24 | Honda Motor Co., Ltd. | Systems and methods for directly generating a view using a layered approach |
JP2006065472A (ja) * | 2004-08-25 | 2006-03-09 | Fuji Xerox Co Ltd | 3次元モデル生成装置および方法 |
US7889905B2 (en) * | 2005-05-23 | 2011-02-15 | The Penn State Research Foundation | Fast 3D-2D image registration method with application to continuously guided endoscopy |
CA2553473A1 (en) | 2005-07-26 | 2007-01-26 | Wa James Tam | Generating a depth map from a tw0-dimensional source image for stereoscopic and multiview imaging |
US8411149B2 (en) | 2006-08-03 | 2013-04-02 | Alterface S.A. | Method and device for identifying and extracting images of multiple users, and for recognizing user gestures |
US8605992B2 (en) | 2011-04-08 | 2013-12-10 | Microsoft Corporation | Image completion using scene geometry |
US9300946B2 (en) | 2011-07-08 | 2016-03-29 | Personify, Inc. | System and method for generating a depth map and fusing images from a camera array |
US20130127988A1 (en) * | 2011-11-17 | 2013-05-23 | Sen Wang | Modifying the viewpoint of a digital image |
WO2013080439A1 (ja) | 2011-11-28 | 2013-06-06 | パナソニック株式会社 | 立体画像処理装置及び立体画像処理方法 |
US9237326B2 (en) * | 2012-06-27 | 2016-01-12 | Imec Taiwan Co. | Imaging system and method |
US9838669B2 (en) * | 2012-08-23 | 2017-12-05 | Stmicroelectronics (Canada), Inc. | Apparatus and method for depth-based image scaling of 3D visual content |
EP2775723A1 (en) * | 2013-03-07 | 2014-09-10 | imcube labs GmbH | Method, apparatus and computer program for generating a multiview image-plus-depth format |
-
2014
- 2014-06-06 US US14/297,792 patent/US9336604B2/en active Active
- 2014-11-10 JP JP2014228303A patent/JP6601935B2/ja not_active Expired - Fee Related
- 2014-12-30 CN CN201410840565.0A patent/CN104835136B/zh active Active
-
2015
- 2015-02-04 DE DE102015201953.5A patent/DE102015201953A1/de not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101822067A (zh) * | 2007-07-26 | 2010-09-01 | 皇家飞利浦电子股份有限公司 | 深度相关信息传播方法和设备 |
CN102771128A (zh) * | 2009-12-04 | 2012-11-07 | 阿尔卡特朗讯公司 | 一种用于获得目标的改善的立体图像的方法和*** |
CN102572488A (zh) * | 2012-02-16 | 2012-07-11 | 友达光电股份有限公司 | 立体图像生成*** |
Non-Patent Citations (2)
Title |
---|
Extracting View-Dependent Depth Maps from a Collection of Images;SING BING KANG 等;《International Journal of Computer Vision》;20040731;第58卷(第2期);第139-163页 |
利用深度信息增强的自由视点DIBR技术研究;霍智勇 等;《湖北工业大学学报》;20130228;第28卷(第1期);第36-42页 |
Also Published As
Publication number | Publication date |
---|---|
US20150228079A1 (en) | 2015-08-13 |
JP6601935B2 (ja) | 2019-11-06 |
JP2015149059A (ja) | 2015-08-20 |
US9336604B2 (en) | 2016-05-10 |
CN104835136A (zh) | 2015-08-12 |
DE102015201953A1 (de) | 2015-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104835136B (zh) | 通过迭代插值和扭曲生成深度图的***和方法 | |
JP4876080B2 (ja) | 環境認識装置 | |
CN111223135A (zh) | 通过使用雷达和运动数据的单目相机来增强距离估计的***和方法 | |
CN109657638B (zh) | 障碍物定位方法、装置和终端 | |
JP2019509552A (ja) | コンテキスト及び深さ順序を用いる、部分的に遮られた物体の検出 | |
US20140071240A1 (en) | Free space detection system and method for a vehicle using stereo vision | |
US9665782B2 (en) | Obstacle detecting apparatus and obstacle detecting method | |
US20180309978A1 (en) | Camera parameter set calculation method, recording medium, and camera parameter set calculation apparatus | |
CN112889071B (zh) | 用于确定二维图像中深度信息的***和方法 | |
CN108028023A (zh) | 信息处理装置、信息处理方法和程序 | |
CN111369617B (zh) | 一种基于卷积神经网络的单目视图的3d目标检测方法 | |
KR101566910B1 (ko) | 차량 운전 보조 장치 및 그 동작 방법 | |
CN111627001B (zh) | 图像检测方法及装置 | |
CN109741241B (zh) | 鱼眼图像的处理方法、装置、设备和存储介质 | |
CN111837158A (zh) | 图像处理方法、装置、拍摄装置和可移动平台 | |
WO2020117285A9 (en) | A multicamera system for autonamous driving vehicles | |
EP3293700A1 (en) | 3d reconstruction for vehicle | |
CN113312983A (zh) | 基于多模态数据融合的语义分割方法、***、装置及介质 | |
CN115019273A (zh) | 一种目标检测方法、装置、汽车及存储介质 | |
JP2016206774A (ja) | 立体物検出装置及び立体物検出方法 | |
CN105389790B (zh) | 为立体匹配校正插值系数的装置、方法和计算机可读介质 | |
US10847030B2 (en) | Parking space search device, parking space searching method, and recording medium | |
US20230394690A1 (en) | Method for obtaining depth images for improved driving safety and electronic device | |
CN113409376A (zh) | 一种基于相机的深度估计进行激光雷达点云过滤的方法 | |
CN111762155A (zh) | 车用测距***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |