CN107358638A - 视差图计算方法和装置、电子设备、计算机存储介质 - Google Patents

视差图计算方法和装置、电子设备、计算机存储介质 Download PDF

Info

Publication number
CN107358638A
CN107358638A CN201710593224.1A CN201710593224A CN107358638A CN 107358638 A CN107358638 A CN 107358638A CN 201710593224 A CN201710593224 A CN 201710593224A CN 107358638 A CN107358638 A CN 107358638A
Authority
CN
China
Prior art keywords
disparity map
parallax
layer
diminution
image
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.)
Granted
Application number
CN201710593224.1A
Other languages
English (en)
Other versions
CN107358638B (zh
Inventor
何君舰
刘瑞祥
曹红胜
赵东旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leauto Intelligent Technology Beijing Co Ltd
Original Assignee
Leauto Intelligent Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Leauto Intelligent Technology Beijing Co Ltd filed Critical Leauto Intelligent Technology Beijing Co Ltd
Priority to CN201710593224.1A priority Critical patent/CN107358638B/zh
Publication of CN107358638A publication Critical patent/CN107358638A/zh
Application granted granted Critical
Publication of CN107358638B publication Critical patent/CN107358638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种视差图计算方法和装置、电子设备、计算机存储介质,其中,方法包括:分别将左图像和右图像的宽和高都缩小为原来的1/n,得到缩小左图和缩小右图,其中,n为大于一的正整数;对所述缩小左图和缩小右图计算缩小视差值,基于计算得到的缩小视差值得到缩小视差图,所述缩小视差图包括至少两个视差层;将所述缩小视差图的宽和高分别放大为原来的n倍,所述缩小视差图中每两个相邻视差层之间的视差值的差值放大为原来的n倍;分别计算所有所述视差层的层视差图,将所有所述层视差图叠加得到对应所述左图像和右图像的视差图。本实施例通过图像的缩小和放大过程,减少了计算量和内存消耗,使视差图的计算能够更广泛的推广应用。

Description

视差图计算方法和装置、电子设备、计算机存储介质
技术领域
本发明涉及立体视觉技术,尤其是一种视差图计算方法和装置、电子设备、计算机存储介质。
背景技术
立体视觉是靠计算同一个物体在左右两个摄像头中位置的不同(视差)来计算物体距离的,左右两幅图像,经过复杂的计算,最后得到的是一个由物体像素点构成的视差图;然后再经过摄像头的透视参数,计算出每个像素点的距离,最后得到深度图。
发明内容
本发明实施例所要解决的一个技术问题是:提供一种视差图计算技术。
本发明实施例提供的一种视差图计算方法,包括:
分别将左图像和右图像的宽和高都缩小为原来的1/n,得到缩小左图和缩小右图,其中,n为大于一的正整数;
对所述缩小左图和缩小右图计算缩小视差值,基于计算得到的缩小视差值得到缩小视差图,所述缩小视差图包括至少两个视差层;
将所述缩小视差图的宽和高分别放大为原来的n倍,所述缩小视差图中每两个相邻视差层之间的视差值的差值放大为原来的n倍;
分别计算所有所述视差层的层视差图,将所有所述层视差图叠加得到对应所述左图像和右图像的视差图。
基于上述方法的另一实施例中,还包括:基于原图分别通过两个采集设备获得左图像和右图像,基于两个采集设备的相关信息获得左图像与右图像的最大视差值。
基于上述方法的另一实施例中,所述缩小视差图包括最大视差值的1/n数量的视差层。
基于上述方法的另一实施例中,所述缩小视差图中每两个相邻视差层之间的视差值的差值为1。
基于上述方法的另一实施例中,所述计算一个所述视差层的层视差图,包括:
选取一个视差层,基于所述视差层和缩小视差图得到一个蒙版,所述蒙版只包括1和0两个像素值;
将蒙版与左图像做与运算得到左残差图;将右图像向左平移蒙版对应的视差值数量的像素后与蒙版做与运算得到右残差图;
基于所述左残差图和所述右残差图计算得到所述左残差图与所述右残差图的残差视差图,所述残差视差图等于所述左残差图与所述右残差图的残差视差值加所述视差层的视差值;
将所述残差视差图与蒙版做与运算得到对应所述视差层的层视差图。
基于上述方法的另一实施例中,所述计算所述左残差图与所述右残差图的残差视差值,包括:
将蒙版分割为至少两个矩形分块图,每个所述分块图的边长大于等于n;
获得所有包括非零元素的分块图的位置和大小作为计算块;
按照所述计算块的位置和大小在所述左残差图和右残差图中查找相应的位置和大小进行计算,得到残差视差值。
基于上述方法的另一实施例中,将所有所述层视差图叠加得到对应所述左图像和右图像的视差图,包括:
将所有所述层视差图的同一位置的视差值相加,得到所述位置的视差值;
基于得到的所有位置的视差值,得到对应所述左图像和右图像的视差图。
基于上述方法的另一实施例中,还包括:将所述得到的视差图进行边缘平滑处理,得到边缘平滑的目标视差图。
基于上述方法的另一实施例中,所述n的取值根据计算节省率获得;
所述计算节省率等于n与最大视差值的比值加n的三次方分之一。
根据本发明实施例的另一个方面,提供的一种视差图计算装置,包括:
缩小单元,用于分别将左图像和右图像的宽和高都缩小为原来的1/n,得到缩小左图和缩小右图,其中,n为大于一的正整数;
视差计算单元,用于对所述缩小左图和缩小右图计算缩小视差值,基于计算得到的缩小视差值得到缩小视差图,所述缩小视差图包括至少两层视差层;
放大单元,用于将所述缩小视差图的宽和高分别放大为原来的n倍,所述缩小视差图中每两个相邻视差层之间的视差值的差值放大为原来的n倍;
层视差图单元,用于分别计算所有所述视差层的层视差图;
叠加单元,用于将所有所述层视差图叠加得到对应所述左图像和右图像的视差图。
基于上述装置的另一实施例中,还包括:
最大视差单元,用于基于原图分别通过两个采集设备获得左图像和右图像,基于两个采集设备的相关信息获得左图像与右图像的最大视差值。
基于上述装置的另一实施例中,所述缩小视差图包括最大视差值的1/n数量的视差层。
基于上述装置的另一实施例中,所述缩小视差图中每两个相邻视差层之间的视差值的差值为1。
基于上述装置的另一实施例中,所述层视差图单元,包括:
蒙版选取模块,用于选取一个视差层,基于所述视差层和缩小视差图得到一个蒙版,所述蒙版只包括1和0两个像素值;
残差图模块,用于将蒙版与左图像做与运算得到左残差图;将右图像向左平移蒙版对应的视差值数量的像素后与蒙版做与运算得到右残差图;
残差视差图模块,用于基于所述左残差图和所述右残差图计算得到所述左残差图与所述右残差图的残差视差图,所述残差视差图等于所述左残差图与所述右残差图的残差视差值加所述视差层的视差值;
层视差图模块,用于将所述残差视差图与蒙版做与运算得到对应所述视差层的层视差图。
基于上述装置的另一实施例中,所述残差视差图模块,包括:
分割模块,用于将蒙版分割为至少两个矩形分块图,每个所述分块图的边长大于等于n;获得所有包括非零元素的分块图的位置和大小作为计算块;
计算模块,用于按照所述计算块的位置和大小在所述左残差图和右残差图中查找相应的位置和大小进行计算,得到残差视差值。
基于上述装置的另一实施例中,所述叠加单元,具体用于将所有所述层视差图的同一位置的视差值相加,得到所述位置的视差值;基于得到的所有位置的视差值,得到对应所述左图像和右图像的视差图。
基于上述装置的另一实施例中,还包括:
平滑单元,用于将所述得到的视差图进行边缘平滑处理,得到边缘平滑的目标视差图。
基于上述装置的另一实施例中,所述n的取值根据计算节省率获得;
所述计算节省率等于n与最大视差值的比值加n的三次方分之一。
根据本发明实施例的另一个方面,提供的一种电子设备,设置有如上任一所述的视差图计算装置。
根据本发明实施例的另一个方面,提供的一种电子设备,存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成上述任一所述视差图计算方法的操作。
根据本发明实施例的另一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行如上任一所述视差图计算方法的操作。
基于本发明上述实施例提供的视差图计算方法和装置、电子设备、计算机存储介质;通过分别将左图像和右图像的宽和高都缩小为原来的1/n,对缩小左图和缩小右图计算缩小视差值,由于图像面积变小,因此计算视差值的计算量得了了极大的减少;将缩小视差图的宽和高分别放大为原来的n倍,为了得到准确的视差图,对于得到的缩小视差图进行放大,分别计算所有视差层的层视差图,将所有层视差图叠加得到对应左图像和右图像的视差图;通过分别计算视差层的层视差图,将层视差图叠加后得到视差图,通过图像的缩小和放大过程,减少了计算量和内存消耗,使视差图的计算能够更广泛的推广应用。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为现有技术中视差计算示意图。
图2为本发明视差图计算方法一个实施例的流程图。
图3为本发明视差图计算方法一个实施例的流程图。
图4为本发明视差图计算方法又一个实施例的流程图。
图5为计算节省率与n的取值的关系曲线图。
图6a-6f为本发明视差图计算方法一个具体示例中的图像处理示意图。
图7为本发明视差图计算装置一个实施例的结构示意图。
图8为本发明视差图计算装置另一个实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
在计算视差图时,关键是通过两个摄像设备获得的左右两幅图中同一个物体的匹配,即在左图中的点,必须准确地在右图中找到它的对应点,才能得到准确的视差。
现有技术中,在计算视差图的时候,一般设定了一个图中所有像素的最大视差值dmax,然后左图中的每个像素点,都要在右图中找到左图某一点的对应点,再计算出左右两个点相对于图像左边缘的差值,这就是视差;因为事先不知道哪个点是左图的对应点,因此要在右图中计算出相距该点偏离最大视差值dmax个像素点的匹配值,然后从这最大视差值dmax个数据中,找到一个最佳的匹配点,作为左图的匹配点,它的偏移值就是该点的视差。例如,最大视差如果是128个像素,那么左图中位置(300,10)的像素点,在右图中我们要分别计算(300,10),(299,10)……(173,10)像素点与(300,10)点匹配的代价值,代价值是用于评价两个点的匹配情况的一个值;不同的情况有不同的代价值计算方法,例如:常见的有灰度差的平方,灰度差的绝对值,灰度差平方和,灰度值绝对值平方和等等。
这样也就是一幅宽w个像素,高h个像素的图片,最大视差为dmax,w和h的值取决于摄像头上感光元器件的大小和每个感光点的大小,也就是分辨率;dmax的值取决于每个摄像头的焦距、两个摄像头的之间的间距;经过计算,中间的匹配代价值要计算w*h*dmax个点的值,然后从这些图中找到最优的w*h个像素;其中,最优的像素匹配指两个图像上经判断最大可能为同一个点的一对点,判断最优的方法也因具体方法不同而不同,例如绝对灰度差方法则是所有点对中,差值最小的对为最佳匹配,归一化互相关则是代价值最大为最佳匹配,计算左右的差距,所指差距是一个物体在左右两个相机的图像上形成两个像,每个像离自己图像左侧边缘的像素的个数乘以感光元器件上感光点的大小,然后相减可得,得到视差图,计算量和内存消耗相当大,一般机器都难以完成。
图1为现有技术中视差计算示意图。如图1所示,Z是物体P离相机的距离,B是两个相机之间的距离,f是相机的焦距,Xr是物体P在左侧相机上成的像离图像左边的距离,Xt是物体P在右侧相机上成的像离图像左边的距离,如果设感光器件上一个像素的大小为μ,则物体在左右相机上成像离左边距离的像素为Xr/μ和Xt/μ,μ对相机是固定的,因此只要计算左右图上的像素点差值,即视差,就可以计算出Xr-Xt的值。
其中:Z=B*f/(Xr-Xt) 公式(1)。
图2为本发明视差图计算方法一个实施例的流程图。如图2所示,该实施例方法包括:
步骤202,分别将左图像和右图像的宽和高都缩小为原来的1/n,得到缩小左图和缩小右图。
其中,n为大于一的正整数,n值的确定是根据本发明方法的计算量与现有技术的计算量的比值决定的,并不是n值越大越好,当n值取最佳值时,相对于同样的图像,本发明方法能节省最多的计算量。
步骤203,对缩小左图和缩小右图计算缩小视差值,基于计算得到的缩小视差值得到缩小视差图。
其中,缩小视差图包括至少两个视差层;由于将左图像和右图像的宽和高都缩为原来的1/n,则同一个点在左图像和右图像上距离左边的差距也将缩小为原来的1/n,也就是说视差缩小为原来的1/n,因为视差为像素,只能为整数,这样就意味着视差相差0~n-1的视差层被合并成了一层视差层。
步骤204,将缩小视差图的宽和高分别放大为原来的n倍,缩小视差图中每两个相邻视差层之间的视差值的差值放大为原来的n倍。
因为之前的步骤中进行了缩小,因此要得到准确的视差图,需要将缩小视差图放大为本身的n倍,此时就将合并成一层的视差层之间的0~n-1的视差层显示出来。
步骤205,分别计算所有视差层的层视差图,将所有层视差图叠加得到对应左图像和右图像的视差图。
基于本发明上述实施例提供的视差图计算方法;通过分别将左图像和右图像的宽和高都缩小为原来的1/n,对缩小左图和缩小右图计算缩小视差值,由于图像面积变小,因此计算视差值的计算量得了了极大的减少;将缩小视差图的宽和高分别放大为原来的n倍,为了得到准确的视差图,对于得到的缩小视差图进行放大,分别计算所有视差层的层视差图,将所有层视差图叠加得到对应左图像和右图像的视差图;通过分别计算视差层的层视差图,将层视差图叠加后得到视差图,通过图像的缩小和放大过程,减少了计算量和内存消耗,使视差图的计算能够更广泛的推广应用。
图3为本发明视差图计算方法一个实施例的流程图。如图3所示,该实施例方法包括:
步骤301,基于原图分别通过两个采集设备获得左图像和右图像,基于两个采集设备的相关信息获得左图像与右图像的最大视差值。
根据公式(1)中提出的距离公式转换后得到计算视差d的公式(2):
d=B*f/Z 公式(2)
d为视差值,Z是物体P离相机的距离,B是两个相机之间的距离,f是相机的焦距,如果观察的最近距离为Zmin的话,得到的结果为最大视差值dmax;最近距离是由每个项目的需求来定的,一旦确定了Zmin,则就可以确定出最大视差值dmax。
步骤202,分别将左图像和右图像的宽和高都缩小为原来的1/n,得到缩小左图和缩小右图。
其中,n为大于一的正整数,n值的确定是根据本发明方法的计算量与现有技术的计算量的比值决定的,并不是n值越大越好,当n值取最佳值时,相对于同样的图像,本发明方法能节省最多的计算量。
步骤203,对缩小左图和缩小右图计算缩小视差值,基于计算得到的缩小视差值得到缩小视差图。
其中,缩小视差图包括至少两个视差层;由于将左图像和右图像的宽和高都缩为原来的1/n,则同一个点在左图像和右图像上距离左边的差距也将缩小为原来的1/n,也就是说视差缩小为原来的1/n,因为视差为像素,只能为整数,这样就意味着视差相差0~n-1的视差层被合并成了一层视差层。
步骤204,将缩小视差图的宽和高分别放大为原来的n倍,缩小视差图中每两个相邻视差层之间的视差值的差值放大为原来的n倍。
因为之前的步骤中进行了缩小,因此要得到准确的视差图,需要将缩小视差图放大为本身的n倍,此时就将合并成一层的视差层之间的0~n-1的视差层显示出来。
步骤205,分别计算所有视差层的层视差图,将所有层视差图叠加得到对应左图像和右图像的视差图。
本实施例中,通过获得的最大视差值为后续计算视差层的层视差图提供了计算基础,在本实施例中,对于计算视差值的方法可以采用现有技术中已知的计算方法,由于将左图像和右图像的宽和高都缩小为了原来的1/n,计算得到的视差层也减少为原来的1/n,此时,视差相差0~n-1的层被合并成了一层,例如:原来视差0~128,取n=4时,缩小左右图像为原来的1/4,则视差为0~3的层现在视差都为0,视差为4~7的层现在视差都为1,视差为8~11的层现在视差都为2,依此类推,最终最大视差为32,此时的计算量将由原来的width宽度像素值*height高度像素值*dmax最大视差值,变为width/4*height/4*dmax/4,降低为原来的1/64,即1/n3。等计算完成后把视差图再放大,则视差放大为原来的n倍。这样我们得到的是视差为0,n,2n,3n,……的视差层,而每个视差层还包含了0~n-1个小的差异层;计算每个视差层得到层视差图,叠加就得到视差图,这个过程节省了大量计算量,对计算工具的要求较低,并且计算速度大大加快。
在本发明视差图计算方法上述各实施例的一个具体示例中,缩小视差图包括最大视差值的1/n数量的视差层。
由于将左图像和右图像都缩小到了原来的1/n,因此,得到的视差图也缩小到了1/n,此时得到的缩小后的最大视差值等于未缩小的最大视差值的1/n,此时视差层的数量也相应减少,如果不缩小,得到的视差层应该是最大视差值数量的视差层,本实施例经过缩小,就变成了最大视差值的1/n数量的视差层。
在本发明视差图计算方法上述各实施例的一个具体示例中,缩小视差图中每两个相邻视差层之间的视差值的差值为1。
图4为本发明视差图计算方法又一个实施例的流程图。如图4所示,该实施例方法中,计算一个视差层的层视差图的过程可以包括:
步骤405,选取一个视差层,基于视差层和缩小视差图得到一个蒙版。
其中,蒙版只包括1和0两个像素值。选取视差为i*n的视差层作为蒙版,蒙版就是选框的外部,选框的内部就是选区,此时缩小视差图上如果某点的视差为i*n,则蒙版上对应该点的位置的值为1,其余位置为0。
步骤406,将蒙版与左图像做与运算得到左残差图;将右图像向左平移蒙版对应的视差值数量的像素后与蒙版做与运算得到右残差图。
将右图像平移的原因是,因为蒙版与右图像之间的视差值为i*n,根据视差的定义,平移后得到的图像才能与蒙版对齐,对齐后才能做内部的精细视差搜索。
步骤407,基于左残差图和右残差图计算得到左残差图与右残差图的残差视差图。
其中,由于在选取蒙版的时候做了偏移,偏移像素为i*n,因此,在恢复到原来的时候需要将偏移量加上,此时,残差视差图等于左残差图与右残差图的残差视差值加视差层的视差值。
步骤408,将所残差视差图与蒙版做与运算得到对应该视差层的层视差图。
本实施例中通过选取蒙版的方式将0~n-1的差异层显示出来,把刚才得到的放大了的0~dmax/n层视差层中地i层作为蒙版,和左图直接做与操作,得到只含视差为i*n的左残差图,然后把右图所有像素向左平移i*n个像素,然后也和蒙版做与操作,得到只含视差为i*n的右残差图,接下来计算左残差图与右残差图的视差,此时最大视差变为了n,需要注意的是,此时只是计算了一部分图的视差,记为Img(i),蒙版以外的区域为0,非计算区域。
在本发明视差图计算方法上述各实施例的一个具体示例中,计算左残差图与右残差图的残差视差值,包括:
将蒙版分割为至少两个矩形分块图,每个分块图的边长大于等于n;
获得所有包括非零元素的分块图的位置和大小作为计算块;
按照计算块的位置和大小在左残差图和右残差图中查找相应的位置和大小进行计算,得到残差视差值。
本实施例中将蒙版切分成m*m的分块图,其中m的取值大于等于n,对于切分获得的分块图中,如果包含非0元素,就在左残差图和右残差图中查找相应的位置和大小进行计算,得到残差视差值,而在某些分块图中的元素都是0时,则在左残差图和右残差图中对应该分块图的位置不进行计算,通过分块进一步减少了计算量,加快了计算速度。
在本发明视差图计算方法上述各实施例的一个具体示例中,将所有层视差图叠加得到对应左图像和右图像的视差图,包括:
将所有层视差图的同一位置的视差值相加,得到位置的视差值;
基于得到的所有位置的视差值,得到对应左图像和右图像的视差图。
在本实施例中,由于基于选取的一个蒙版计算左残差图与右残差图的层视差图时,只是计算了一部分图的视差,记为Img(i),因为得到的所有层视差图大小相同,因此,Img(0)+Img(1)+….+Img(dmax/n)等于原图的所有像素,因此,需要将得到的所有层视差图叠加获得视差图,实际上只做了width*height*n的计算量,把两次搜索的计算量加起来,通过本实施例方法计算视差图,实际上的计算量为width*height*dmax/n3+width*height*n,现在的计算量只占原来的(n+dmax/n3)/dmax,即n/dmax+1/n3
本发明视差图计算方法的还一个实施例中,在上述各实施例的基础上,还包括:将得到的视差图进行边缘平滑处理,得到边缘平滑的目标视差图。
由于本发明方法对图像先进行缩小,后进行放大,在图像缩放和图像拼接过程中,可能会使图像的边缘产生锯齿,为了得到更好的视差图,因此,需要进行边缘平滑处理,通常采用滤波的方法实现边缘平滑处理,例如:中值滤波、均值滤波和高斯滤波等,在本发明中通过反复实践得到中值滤波的效果最佳,可有效消除边缘的锯齿。
在本发明视差图计算方法上述各实施例的一个具体示例中,n的取值根据计算节省率获得,当计算节省率最小时,n值最佳;
计算节省率等于n与最大视差值的比值加n的三次方分之一。
在本实施例中,计算节省率等于n/dmax+1/n3,图5为计算节省率与n的取值的关系曲线图。如图5所示,横坐标为n值,纵坐标为计算节省率;例如,用dmax=128时,从上图的效率图可以看出,n=4为最低点,为最佳选择,计算节省率达到了0.05左右,是原来的1/20,这里计算节省率的计算是其它运算(如:平移、与运算等)暂不考虑的理论值。
本发明提供的视差图计算方法,图6a-6f为本发明视差图计算方法一个具体示例中的图像处理示意图。如图6a-6f所示,图6a为通过两个摄像机获得的左图像和右图像,此时获得的左图像和右图像可以为彩色图像或黑白图像;图6b为缩小1/4之后得到的视差图;图6c为缩小视差图对应的视差层;图6d为取某一视差层作为蒙版得到的左残差图和右残差图;图6e为计算得到的左残差图与右残差图的残差视差图;图6f为将所有层视差图叠加得到对应左图像和右图像的视差图。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图7为本发明视差图计算装置一个实施例的结构示意图。该实施例的装置可用于实现本发明上述各方法实施例。如图7所示,该实施例的装置包括:
缩小单元72,用于分别将左图像和右图像的宽和高都缩小为原来的1/n,得到缩小左图和缩小右图,其中,n为大于一的正整数。
视差计算单元73,用于对缩小左图和缩小右图计算缩小视差值,基于计算得到的缩小视差值得到缩小视差图,缩小视差图包括至少两层视差层。
放大单元74,用于将缩小视差图的宽和高分别放大为原来的n倍,缩小视差图中每两个相邻视差层之间的视差值的差值放大为原来的n倍;
层视差图单元75,用于分别计算所有视差层的层视差图;
叠加单元76,用于将所有层视差图叠加得到对应所述左图像和右图像的视差图。
基于本发明上述实施例提供的视差图计算装置;通过分别将左图像和右图像的宽和高都缩小为原来的1/n,对缩小左图和缩小右图计算缩小视差值,由于图像面积变小,因此计算视差值的计算量得到了极大的减少;将缩小视差图的宽和高分别放大为原来的n倍,为了得到准确的视差图,对于得到的缩小视差图进行放大,分别计算所有视差层的层视差图,将所有层视差图叠加得到对应左图像和右图像的视差图;通过分别计算视差层的层视差图,将层视差图叠加后得到视差图,通过图像的缩小和放大过程,减少了计算量和内存消耗,使视差图的计算能够更广泛的推广应用。
图8为本发明视差图计算装置另一个实施例的结构示意图。如图8所示,该实施例装置还包括:
最大视差单元81,用于基于原图分别通过两个采集设备获得左图像和右图像,基于两个采集设备的相关信息获得左图像与右图像的最大视差值。
本实施例中,通过获得的最大视差值为后续计算视差层的层视差图提供了计算基础,在本实施例中,对于计算视差值的方法可以采用现有技术中已知的计算方法,由于将左图像和右图像的宽和高都缩小为了原来的1/n,计算得到的视差层也减少为原来的1/n,此时,视差相差0~n-1的层被合并成了一层,例如:原来视差0~128,取n=4时,缩小左右图像为原来的1/4,则视差为0~3的层现在视差都为0,视差为4~7的层现在视差都为1,视差为8~11的层现在视差都为2,依此类推,最终最大视差为32,此时的计算量将由原来的width宽度像素值*height高度像素值*dmax最大视差值,变为width/4*height/4*dmax/4,降低为原来的1/64,即1/n3。等计算完成后把视差图再放大,则视差放大为原来的n倍。这样我们得到的是视差为0,n,2n,3n,……的视差层,而每个视差层还包含了0~n-1个小的差异层;计算每个视差层得到层视差图,叠加就得到视差图,这个过程节省了大量计算量,对计算工具的要求较低,并且计算速度大大加快。
在本发明视差图计算装置上述各实施例的一个具体示例中,缩小视差图包括最大视差值的1/n数量的视差层。
在本发明视差图计算装置上述各实施例的一个具体示例中,缩小视差图中每两个相邻视差层之间的视差值的差值为1。
本发明视差图计算装置的又一个实施例,在上述各实施例的基础上,层视差图单元75,包括:
蒙版选取模块,用于选取一个视差层,基于视差层和缩小视差图得到一个蒙版,蒙版只包括1和0两个像素值;
残差图模块,用于将蒙版与左图像做与运算得到左残差图;将右图像向左平移蒙版对应的视差值数量的像素后与蒙版做与运算得到右残差图;
残差视差图模块,用于基于左残差图和右残差图计算得到左残差图与右残差图的残差视差图,残差视差图等于左残差图与右残差图的残差视差值加视差层的视差值;
层视差图模块,用于将残差视差图与蒙版做与运算得到对应视差层的层视差图。
本实施例中通过选取蒙版的方式将0~n-1的差异层显示出来,把上述实施例得到的放大了的0~dmax/n层视差层中地i层作为蒙版,和左图直接做与操作,得到只含视差为i*n的左残差图,然后把右图所有像素向左平移i*n个像素,然后也和蒙版做与操作,得到只含视差为i*n的右残差图,接下来计算左残差图与右残差图的视差,此时最大视差变为了n,需要注意的是,此时只是计算了一部分图的视差,记为Img(i),蒙版以外的区域为0,非计算区域。
在本发明视差图计算装置上述各实施例的一个具体示例中,残差视差图模块,包括:
分割模块,用于将蒙版分割为至少两个矩形分块图,每个分块图的边长大于等于n;获得所有包括非零元素的分块图的位置和大小作为计算块;
计算模块,用于按照计算块的位置和大小在左残差图和右残差图中查找相应的位置和大小进行计算,得到残差视差值。
在本发明视差图计算装置上述各实施例的一个具体示例中,叠加单元76,具体用于将所有层视差图的同一位置的视差值相加,得到位置的视差值;基于得到的所有位置的视差值,得到对应左图像和右图像的视差图。
本发明视差图计算装置的还一个实施例中,在上述各实施例的基础上,还包括:
平滑单元,用于将得到的视差图进行边缘平滑处理,得到边缘平滑的目标视差图。
由于本发明方法对图像先进行缩小,后进行放大,在图像缩放和图像拼接过程中,可能会使图像的边缘产生锯齿,为了得到更好的视差图,因此,需要进行边缘平滑处理,通常采用滤波的方法实现边缘平滑处理,例如:中值滤波、均值滤波和高斯滤波等,在本发明中通过反复实践得到中值滤波的效果最佳,可有效消除边缘的锯齿。
在本发明视差图计算装置上述各实施例的一个具体示例中,n的取值根据计算节省率获得,当计算节省率最小时,n值最佳;
计算节省率等于n与最大视差值的比值加n的三次方分之一。
根据本发明实施例的另一个方面,提供的一种电子设备,设置有如上述任一实施例所述的视差图计算装置。
根据本发明实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成上述任一实施例所述视差图计算方法的操作。
根据本发明实施例的另一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,指令被执行时执行上述任一实施例所述视差图计算方法的操作。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (10)

1.一种视差图计算方法,其特征在于,包括:
分别将左图像和右图像的宽和高都缩小为原来的1/n,得到缩小左图和缩小右图,其中,n为大于一的正整数;
对所述缩小左图和缩小右图计算缩小视差值,基于计算得到的缩小视差值得到缩小视差图,所述缩小视差图包括至少两个视差层;
将所述缩小视差图的宽和高分别放大为原来的n倍,所述缩小视差图中每两个相邻视差层之间的视差值的差值放大为原来的n倍;
分别计算所有所述视差层的层视差图,将所有所述层视差图叠加得到对应所述左图像和右图像的视差图。
2.根据权利要求1所述的方法,其特征在于,还包括:基于原图分别通过两个采集设备获得左图像和右图像,基于两个采集设备的相关信息获得左图像与右图像的最大视差值。
3.根据权利要求2所述的方法,其特征在于,所述缩小视差图包括最大视差值的1/n数量的视差层。
4.根据权利要求1-3任一所述的方法,其特征在于,所述缩小视差图中每两个相邻视差层之间的视差值的差值为1。
5.根据权利要求1-4任一所述的方法,其特征在于,所述计算一个所述视差层的层视差图,包括:
选取一个视差层,基于所述视差层和缩小视差图得到一个蒙版,所述蒙版只包括1和0两个像素值;
将蒙版与左图像做与运算得到左残差图;将右图像向左平移蒙版对应的视差值数量的像素后与蒙版做与运算得到右残差图;
基于所述左残差图和所述右残差图计算得到所述左残差图与所述右残差图的残差视差图,所述残差视差图等于所述左残差图与所述右残差图的残差视差值加所述视差层的视差值;
将所述残差视差图与蒙版做与运算得到对应所述视差层的层视差图。
6.根据权利要求5所述的方法,其特征在于,所述计算所述左残差图与所述右残差图的残差视差值,包括:
将蒙版分割为至少两个矩形分块图,每个所述分块图的边长大于等于n;
获得所有包括非零元素的分块图的位置和大小作为计算块;
按照所述计算块的位置和大小在所述左残差图和右残差图中查找相应的位置和大小进行计算,得到残差视差值。
7.一种视差图计算装置,其特征在于,包括:
缩小单元,用于分别将左图像和右图像的宽和高都缩小为原来的1/n,得到缩小左图和缩小右图,其中,n为大于一的正整数;
视差计算单元,用于对所述缩小左图和缩小右图计算缩小视差值,基于计算得到的缩小视差值得到缩小视差图,所述缩小视差图包括至少两层视差层;
放大单元,用于将所述缩小视差图的宽和高分别放大为原来的n倍,所述缩小视差图中每两个相邻视差层之间的视差值的差值放大为原来的n倍;
层视差图单元,用于分别计算所有所述视差层的层视差图;
叠加单元,用于将所有所述层视差图叠加得到对应所述左图像和右图像的视差图。
8.一种电子设备,其特征在于,设置有如权利要求7所述的视差图计算装置。
9.一种电子设备,其特征在于,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成权利要求1至6任一所述视差图计算方法的操作。
10.一种计算机存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行权利要求1至6任一所述视差图计算方法的操作。
CN201710593224.1A 2017-07-19 2017-07-19 视差图计算方法和装置、电子设备、计算机存储介质 Active CN107358638B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710593224.1A CN107358638B (zh) 2017-07-19 2017-07-19 视差图计算方法和装置、电子设备、计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710593224.1A CN107358638B (zh) 2017-07-19 2017-07-19 视差图计算方法和装置、电子设备、计算机存储介质

Publications (2)

Publication Number Publication Date
CN107358638A true CN107358638A (zh) 2017-11-17
CN107358638B CN107358638B (zh) 2020-11-27

Family

ID=60284266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710593224.1A Active CN107358638B (zh) 2017-07-19 2017-07-19 视差图计算方法和装置、电子设备、计算机存储介质

Country Status (1)

Country Link
CN (1) CN107358638B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107798694A (zh) * 2017-11-23 2018-03-13 海信集团有限公司 一种像素点视差值计算方法、装置及终端
CN108346160A (zh) * 2017-12-22 2018-07-31 湖南源信光电科技股份有限公司 基于视差图背景差法和Meanshift结合的多运动目标跟踪方法
CN108520536A (zh) * 2018-03-27 2018-09-11 海信集团有限公司 一种视差图的生成方法、装置及终端
CN110310317A (zh) * 2019-06-28 2019-10-08 西北工业大学 一种基于深度学习的单目视觉场景深度估计的方法
CN112767293A (zh) * 2021-01-11 2021-05-07 达闼机器人有限公司 获取视差图像的方法、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547325A (zh) * 2010-09-28 2012-07-04 富士胶片株式会社 立体图像粘贴系统以及用于控制该系统操作的方法和程序
CN103679680A (zh) * 2012-08-31 2014-03-26 富士通株式会社 立体匹配方法和系统
CN104166992A (zh) * 2014-07-25 2014-11-26 广东外语外贸大学 基于网格变形的内容感知双目图像缩放方法
US20160021359A1 (en) * 2011-04-11 2016-01-21 Sony Corporation Imaging processing apparatus, image processing method, and program
JP2016042662A (ja) * 2014-08-18 2016-03-31 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、プログラム、記憶媒体
CN106525004A (zh) * 2016-11-09 2017-03-22 人加智能机器人技术(北京)有限公司 双目立体视觉系统及深度测量方法
CN106791782A (zh) * 2016-12-19 2017-05-31 北京星辰美豆文化传播有限公司 基于单摄像头的立体图像的拍摄方法、装置和电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547325A (zh) * 2010-09-28 2012-07-04 富士胶片株式会社 立体图像粘贴系统以及用于控制该系统操作的方法和程序
US20160021359A1 (en) * 2011-04-11 2016-01-21 Sony Corporation Imaging processing apparatus, image processing method, and program
CN103679680A (zh) * 2012-08-31 2014-03-26 富士通株式会社 立体匹配方法和系统
CN104166992A (zh) * 2014-07-25 2014-11-26 广东外语外贸大学 基于网格变形的内容感知双目图像缩放方法
JP2016042662A (ja) * 2014-08-18 2016-03-31 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、プログラム、記憶媒体
CN106525004A (zh) * 2016-11-09 2017-03-22 人加智能机器人技术(北京)有限公司 双目立体视觉系统及深度测量方法
CN106791782A (zh) * 2016-12-19 2017-05-31 北京星辰美豆文化传播有限公司 基于单摄像头的立体图像的拍摄方法、装置和电子设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107798694A (zh) * 2017-11-23 2018-03-13 海信集团有限公司 一种像素点视差值计算方法、装置及终端
CN108346160A (zh) * 2017-12-22 2018-07-31 湖南源信光电科技股份有限公司 基于视差图背景差法和Meanshift结合的多运动目标跟踪方法
CN108520536A (zh) * 2018-03-27 2018-09-11 海信集团有限公司 一种视差图的生成方法、装置及终端
CN108520536B (zh) * 2018-03-27 2022-01-11 海信集团有限公司 一种视差图的生成方法、装置及终端
CN110310317A (zh) * 2019-06-28 2019-10-08 西北工业大学 一种基于深度学习的单目视觉场景深度估计的方法
CN112767293A (zh) * 2021-01-11 2021-05-07 达闼机器人有限公司 获取视差图像的方法、电子设备及存储介质
WO2022148307A1 (zh) * 2021-01-11 2022-07-14 达闼机器人有限公司 获取视差图像的方法、装置、电子设备、存储介质及计算机程序
CN112767293B (zh) * 2021-01-11 2023-04-11 达闼机器人股份有限公司 获取视差图像的方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN107358638B (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN109508681B (zh) 生成人体关键点检测模型的方法和装置
CN107358638A (zh) 视差图计算方法和装置、电子设备、计算机存储介质
CN108335322B (zh) 深度估计方法和装置、电子设备、程序和介质
US8405742B2 (en) Processing images having different focus
US9619933B2 (en) Model and sizing information from smartphone acquired image sequences
Ali et al. Guided image filtering in shape-from-focus: A comparative analysis
CN107516322B (zh) 一种基于对数极空间的图像物体大小和旋转估计计算方法
Chen et al. Developments with motion magnification for structural modal identification through camera video
KR20200031019A (ko) 깊이 데이터를 최적화하기 위해 깊이 맵에 이미지 등록을 수행할 수 있는 깊이 데이터 처리 시스템
EP3599588B1 (en) Rendering an object
Sur et al. On biases in displacement estimation for image registration, with a focus on photomechanics
Li et al. Modified phase correlation algorithm for image registration based on pyramid
Meyer et al. Phase-based modification transfer for video
Xu et al. Multi-view image restoration from plenoptic raw images
Ogale et al. Robust contrast invariant stereo correspondence
Gapon et al. Multimodal image inpainting for an autonomous robot navigation application
US10529085B2 (en) Hardware disparity evaluation for stereo matching
US20220148314A1 (en) Method, system and computer readable media for object detection coverage estimation
CN114638996A (zh) 基于对抗学习的模型训练方法、装置、设备和存储介质
Pitard et al. Robust anomaly detection using reflectance transformation imaging for surface quality inspection
Lv et al. Three-dimensional laser scanning under the pinhole camera with lens distortion
CN110196638B (zh) 基于目标检测和空间投影的移动端增强现实方法和系统
Liu et al. A new stereo matching method for RAW image data based on improved SGBM
Ito et al. A 3D reconstruction method with color reproduction from multi-band and multi-view images
CN111435448A (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