视差图计算方法和装置的制造方法
【技术领域】
[0001]本申请涉及视差图计算方法和装置,更具体地,涉及基于历史信息计算视差图的方法和装置。
【背景技术】
[0002]近年来,立体视觉技术获得广泛关注。立体视觉的基本原理是结合两个(双目)或更多视点的信息,以获得不同视角下同一物体的图像,并利用三角测量原理来计算图像的像素点之间的位置偏差,从而获得物体的立体信息。该立体视觉包括图像获取、摄像机定标、特征提取、立体匹配、深度及内插等处理,其中,通过立体匹配技术得到的视差信息(深度信息)可用来估量摄像机和物体之间的相对距离。这些视差信息可以应用于诸多场合,例如三维电影、机器人、监控、基于三维技术的道路检测、行人检测、自动驾驶、智能车辆控制等等。例如,在智能车辆控制中,基于通过视差信息获得的视差图,可以很容易地检测到路面上的包括行人和车辆等的目标,从而可以基于检测结果对车辆进行智能控制。可见,获得鲁棒和准确的视差图在立体视觉中起着重要的作用。
[0003]通常,立体匹配技术可以分成两类,一类是朴素的基于像素的算法,另一类是基于分割的算法。基于像素的算法单独考虑每个像素。如图1所示,基于像素的算法为像素P和Q单独寻找对应像素,实际上,P和Q均位于路面区域,它们的视差值之间满足某种特定关系。基于像素的算法需要很长的处理时间。
[0004]另外一种常用的算法是基于分割的算法。该算法的基本思想是根据参考图像的灰度值将参考图像分割为区块,对同一区域块内的所有像素一起进行考虑,即利用区域块内有效像素的视差值来估计每个区域块的视差分布。图2为典型的基于分割的立体匹配算法的系统框图,该算法包括对参考图像进行分割,根据参考图像和目标图像计算初始视差值获得初始视差图像,对每个分割的区域块计算视差值从而利用计算的视差值更新初始视差图像来获得视差图像。
[0005]基于分割的算法在很大程度上解决了基于像素的算法所存在的问题:处理时间过长。但是,典型的基于分割的立体匹配算法有些盲目,仅仅基于灰度值的分割结果常常不太可靠,得到的视差图可能不够准确。
【发明内容】
[0006]鉴于现有技术中的上述问题,本申请提出了基于历史信息的视差图计算方法及装置。
[0007]根据本发明的一个方面,提供了视差图计算方法,该方法可以包括:获得目标场景的当前帧的左右灰度图像以及在当前帧之前的预定数量帧的历史信息;以所述左右灰度图像的任意一个作为参考图像,从所获得的左右灰度图像生成当前帧的初始视差图;基于该预定数量帧的历史信息对该参考图像进行分割;根据分割结果优化该初始视差图,将优化后的视差图作为当前帧的视差图。
[0008]根据一个实施例,该历史信息可以包括目标场景中的对象的位置信息、历史视差分布信息以及运动特征信息。
[0009]根据一个实施例,基于该预定数量帧的历史信息对该参考图像进行分割的步骤可以包括:根据目标场景中的对象在该预定数量帧中的位置信息和该对象的运动特征信息预测对象在当前帧中的位置;基于该预定数量帧中的对象的历史视差分布信息和所预测的对象在当前帧中的位置,获得用于对该参考图像中的预测对象区域进行分界的分界线;在该参考图像中的分界线附近进行边缘检测;根据边缘检测结果分割参考图像。
[0010]根据一个实施例,根据分割结果优化该初始视差图的步骤可以包括通过在分割的区域内传播所述初始视差图中的相应视差值以获得优化的视差图。
[0011]根据一个实施例,该视差图计算方法还可以包括:根据该预定数量帧中的对象的历史视差分布信息建立对象表面的视差分布模型;以及通过将传播的视差值与所建立的视差分布模型进行匹配而获得对象的视差图。
[0012]根据一个实施例,可以采用中值滤波方法来在分割的区域内传播相应视差值。
[0013]根据一个实施例,可以利用canny算子方法来进行边缘检测。
[0014]根据一个实施例,可以利用立体匹配算法基于所获得的左右灰度图像生成当前帧的初始视差图。
[0015]根据一个实施例,该视差图计算方法还可以包括:根据所获得的当前帧的视差图进行目标场景中的对象的检测和跟踪,并将该检测和跟踪结果存储,作为当前帧的历史信肩、O
[0016]根据本发明的另一方面,提供了视差图计算装置,该装置可以包括:获得部件,用于获得目标场景的当前帧的左右灰度图像以及在当前帧之前的预定数量帧的历史信息;生成部件,用于以所述获得部件所获得的左右灰度图像的任意一个作为参考图像,从所获得的左右灰度图像生成当前帧的初始视差图;分割部件,用于基于所述获得部件所获得的该预定数量帧的历史信息对该参考图像进行分割;优化部件,用于根据所述分割部件的分割结果优化该初始视差图,将优化后的视差图作为当前帧的视差图。
[0017]根据本发明的视差图计算方法和装置,可以在分割参考图像时参考在前帧的历史信息,使得分割结果更准确,由此根据分割结果优化当前帧的初始视差图,可以获得更加准确的当前帧的视差图。
【附图说明】
[0018]图1是基于像素的立体匹配算法的示意图。
[0019]图2是基于分割的立体匹配算法的示意图。
[0020]图3是本发明的实施例可应用的硬件系统的框图。
[0021]图4是根据本发明的一个实施例的视差图计算方法的流程图。
[0022]图5示出了示例的场景及相应的初始视差图。
[0023]图6是根据本发明的一个实施例的参考图像分割方法的流程图。
[0024]图7是根据本发明的另一实施例的视差图计算装置的框图。
【具体实施方式】
[0025]现在将详细参照本发明的具体实施例,在附图中例示了本发明的例子。尽管将结合具体实施例描述本发明,但是可以理解,不意图将本发明限于所公开的具体实施例。应注意,在此所述的方法步骤都可以由任何功能块或功能布置来实现,且任何功能块或功能布置可被实现为物理实体或逻辑实体、或者两者的组合。
[0026]如上所述,典型的基于分割的方法过于盲目,基于灰度值的分割结果常常不太可靠。然而,如果能够获得目标场景的之前帧的历史信息并利用该历史信息对参考图像进行分割,则获得的视差图将更加准确。根据本发明,基于之前帧的历史信息对参考图像进行分害I],根据分割结果优化初始视差图以获得当前帧的视差图,从而获得更加准确的视差图,以下详细描述。
[0027]首先参考图3,描述应用于本发明的实施例的硬件系统300的框图。
[0028]硬件系统300包括:立体相机310,用于从两个或更多视点拍摄两个或更多图像;解码器320,用于从立体相机310拍摄的图像中提取与像素相关的图像信息,例如灰度信息、彩色信息等;处理器330,用于对解码器320输出的各种信息进行处理;存储器340,与处理器130耦合,用于存储由处理器330处理的数据以及向处理器330提供数据。
[0029]根据本发明的实施例的视差图计算方法可以实现在图3所示的处理器330中。当然,这仅仅是一个例子,其实现方式不限于此。
[0030]以下参考图4的流程图描述根据本发明的一个实施例的视差图计算方法400。
[0031]如