CN113436269A - 图像稠密立体匹配方法、装置和计算机设备 - Google Patents

图像稠密立体匹配方法、装置和计算机设备 Download PDF

Info

Publication number
CN113436269A
CN113436269A CN202110658460.3A CN202110658460A CN113436269A CN 113436269 A CN113436269 A CN 113436269A CN 202110658460 A CN202110658460 A CN 202110658460A CN 113436269 A CN113436269 A CN 113436269A
Authority
CN
China
Prior art keywords
camera
resolution
image
pixel
matching
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
CN202110658460.3A
Other languages
English (en)
Other versions
CN113436269B (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.)
Insta360 Innovation Technology Co Ltd
Original Assignee
Insta360 Innovation Technology 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 Insta360 Innovation Technology Co Ltd filed Critical Insta360 Innovation Technology Co Ltd
Priority to CN202110658460.3A priority Critical patent/CN113436269B/zh
Publication of CN113436269A publication Critical patent/CN113436269A/zh
Application granted granted Critical
Publication of CN113436269B publication Critical patent/CN113436269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery

Landscapes

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

Abstract

本申请涉及一种图像稠密立体匹配方法、装置、计算机设备和存储介质。所述方法包括:获取多目相机中第一相机的待匹配图像和至少一个第二相机的候选匹配图像;待匹配图像和候选匹配图像为第一分辨率图像;通过建立的多目相机的第一分辨率极线查找表,从第一分辨率的候选匹配图像中确定与待匹配图像中各待匹配像素点匹配的候选匹配像素点;通过建立第一相机在第二分辨率图像上的高精度代价空间,确定各候选匹配像素点的匹配代价值;通过对匹配代价值进行代价聚合处理得到各待匹配像素点的目标深度值,根据各目标深度值确定多目相机的初始深度图。采用本方法能够同时在提高匹配精度和匹配速度。

Description

图像稠密立体匹配方法、装置和计算机设备
技术领域
本申请涉及图像处理技术领域,特别是涉及一种图像稠密立体匹配方法、装置、计算机设备。
背景技术
随着光学成像透视技术的发展,具有普通镜头的传统视觉系统已经活跃在人们的实视线当中。然而,根据立体图像对获取场景的三维信息时,一般的普通镜头已经满足不了人们的需求,双目立体视觉技术根据立体图像对获取场景的三维信息,例如,工业检测、机器人导航、海底勘探等领域。基于鱼眼镜头的双目立体视觉系统及普通相机的多目立体视觉系统,与传统双目立体视觉相比,在实时获取大视场图像信息方面有着无可比拟的优势。
然而,鱼眼镜头的非线性成像模型使图像中的场景发生形变,在图像边缘部分形变尤其严重,这对选取匹配点的对应支持邻域造的准确性造成了很大阻碍。极线的非线性也使得处理时不能简单的采用水平方向的坐标偏差来表示视差,视差与深度的对应关系也需要根据视差的定义重新推导。所以,针对鱼眼镜头的成像特点,对现有的匹配算法进行改进,提出适合基于鱼眼镜头的双目立体视觉系统的匹配算法很有必要。
目前,根据得到的视差图的不同,鱼眼图像的立体匹配可以分为稀疏匹配、准稠密匹配和稠密匹配。通过将鱼眼图像矫正成极线平行的常规图像后再利用传统针孔图像的算法完成对鱼眼图像的处理,这类方法思路简单,是比较常见的鱼眼图像处理方法。但在矫正过程中迭代处理容易造成细节信息的丢失,影响后续处理的效果,而且现有的图像匹配方法还存在匹配精度低、匹配速度慢等缺点。
发明内容
基于此,有必要针对上述技术问题,提供一种能够同时在提高多目图像匹配精度的同时提高匹配速度的图像稠密立体匹配方法、装置、计算机设备和存储介质。
一种图像稠密立体匹配方法,所述方法包括:
获取多目相机中第一相机的待匹配图像和至少一个第二相机的候选匹配图像;所述待匹配图像和所述候选匹配图像为第一分辨率图像;
建立所述多目相机的第一分辨率极线查找表;
根据所述第一分辨率极线查找表及所述第一分辨率图像与第二分辨率图像之间的映射关系,确定所述第一相机的第二分辨率图像中像素点与所述第二相机的第二分辨率图像中像素点的第二分辨率像素映射表;
根据所述第二分辨率像素映射表,建立所述第一相机在第二分辨率图像上的高精度匹配代价空间;
对所述高精度匹配代价空间进行匹配代价计算,确定各所述待匹配像素点与对应的候选匹配像素点之间的初始代价值;
通过对所述初始代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值,根据各所述目标深度值确定所述待匹配图像的初始深度图。
在其中一个实施例中,所述建立所述多目相机的第一分辨率极线查找表的,包括:
获取所述第一相机和所述第二相机的第一分辨率焦距,以及所述第一相机和所述第二相机之间的坐标变换矩阵;
根据所述第一分辨率焦距和所述坐标变换矩阵确定至少一个所述第一相机在第一分辨率下的深度值集合;
根据所述深度值集合和相机畸变模型,确定所述第一相机在所述深度值集合中各所述深度值下到所述第二相机的第一分辨率像素映射表,得到第一分辨率极线查找表。
在其中一个实施例中,所述根据所述第一分辨率焦距和所述坐标变换矩阵确定至少一个所述第一相机在第一分辨率下的深度值集合,包括:
根据所述第一分辨率焦距和所述坐标变换矩阵中的平移矩阵确定所述第一相机在第一分辨率下的深度最大值和深度最小值,得到至少所述第一相机在第一分辨率下的深度范围;
对各所述深度范围内的深度值进行离散化处理,将得到预设数量个物体到第一相机光心的距离作为所述第一相机在第一分辨率下的深度值集合。
在其中一个实施例中,所述根据所述深度值集合和相机畸变模型,确定所述第一相机在所述深度值集合中各所述深度值下到所述第二相机的第一分辨率像素映射表,包括:
根据第一相机的相机畸变模型,对所述第一相机采集的第一分辨率图像中像素点的像素坐标进行坐标变换处理,得到对应的第一相机的相机坐标系下的第一坐标;
根据所述坐标转换矩阵,对所述第一坐标在所述深度值集合中各深度值下的第一三维坐标进行坐标变换处理,得到所述像素点在所述第二相机的相机坐标系下对应的第二三维坐标;
确定所述第二三维坐标在所述第二相机中的深度值;
根据所述第二三维坐标在所述第二相机中的深度值及所述第二三维坐标,确定所述第一坐标在所述第二相机的相机坐标系中对应的第二坐标;
根据第二相机的相机畸变模型,将所述第二坐标投影到所述第二相机的第一分辨率图像的像素坐标系中,确定所述像素点在所述第二相机的第一分辨率图像中对应的像素点的像素坐标;
根据所述像素点在所述第二相机的第一分辨率图像中对应的像素点的像素坐标,确定所述第一相机的第一分辨率图像中的像素点在所述深度值集合中各所述深度值下到所述第二相机的第一分辨率图像的像素映射表。
在其中一个实施例中,所述根据所述第一分辨率极线查找表及所述第一分辨率图像与第二分辨率图像之间的映射关系,确定所述第一相机的第二分辨率图像中像素点与所述第二相机的第二分辨率图像中像素点的第二分辨率像素映射表,包括:
基于所述第一分辨率极线查找表,根据所述第一相机的第一分辨率图像与第二分辨率图像的像素映射关系,及所述第二相机的第一分辨率图像与第二分辨率图像的像素映射关系,得到所述第一相机的第二分辨率图像中像素点在所述深度值集合中各所述深度值下到所述第二相机的第二分辨率图像中像素点的第二分辨率像素映射表。
在其中一个实施例中,所述确定待匹配像素点与对应的候选匹配像素点,包括根据所述第一相机的第二分辨率图像中的像素点在所述深度值集合中各所述深度值下到所述第二相机的第二分辨率图像的像素映射表,从所述第二相机的候选匹配图像中确定所述待匹配像素点在所述第一分辨率下的深度值集合中各深度值下对应的候选匹配像素点。
在其中一个实施例中,所述根据所述第二分辨率像素映射表,建立所述第一相机在第二分辨率图像上的高精度匹配代价空间,包括:
根据所述第二分辨率像素映射表,在所述深度值集合中各所述深度值下,得到所述第一相机的第二分辨率图像中的像素点及对应的第二相机的第二分辨率图像中的像素点,建立所述第一相机在第二分辨率图像上的高精度匹配代价空间。
在其中一个实施例中,所述通过对所述初始匹配代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值,包括:当所述待匹配像素点存在至少两个对应的候选匹配像素时,对所述初始代价值进行加权求和处理,得到加权求和处理后的初始代价值;
通过对所述加权求和处理后的初始代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值。
在其中一个实施例中,所述通过对所述均值处理后的初始代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值,包括:
根据动态规划算法对所述初始代价值进行代价聚合处理,得到初始深度值;
对所述初始深度值进行插值处理,得到各所述待匹配像素点的目标深度值。
一种图像稠密立体匹配装置,所述装置包括:
获取模块,用于获取多目相机中第一相机的待匹配图像和至少一个第二相机的候选匹配图像;所述待匹配图像和所述候选匹配图像为第一分辨率图像;
第一建立模块,用于建立所述多目相机的第一分辨率极线查找表;
确定模块,用于根据所述第一分辨率极线查找表及所述第一分辨率图像与第二分辨率图像之间的映射关系,确定所述第一相机的第二分辨率图像中像素点与所述第二相机的第二分辨率图像中像素点的第二分辨率像素映射表;
第二建立模块,用于根据所述第二分辨率像素映射表,建立所述第一相机在第二分辨率图像上的高精度匹配代价空间;
计算模块,用于对所述高精度匹配代价空间进行匹配代价计算,确定各所述待匹配像素点与对应的候选匹配像素点之间的初始代价值;
聚合处理模块,用于通过对所述初始代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值,根据各所述目标深度值确定所述待匹配图像的初始深度图。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取多目相机中第一相机的待匹配图像和至少一个第二相机的候选匹配图像;所述待匹配图像和所述候选匹配图像为第一分辨率图像;
建立所述多目相机的第一分辨率极线查找表;
根据所述第一分辨率极线查找表及所述第一分辨率图像与第二分辨率图像之间的映射关系,确定所述第一相机的第二分辨率图像中像素点与所述第二相机的第二分辨率图像中像素点的第二分辨率像素映射表;
根据所述第二分辨率像素映射表,建立所述第一相机在第二分辨率图像上的高精度匹配代价空间;
对所述高精度匹配代价空间进行匹配代价计算,确定各所述待匹配像素点与对应的候选匹配像素点之间的初始代价值;
通过对所述初始代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值,根据各所述目标深度值确定所述待匹配图像的初始深度图。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取多目相机中第一相机的待匹配图像和至少一个第二相机的候选匹配图像;所述待匹配图像和所述候选匹配图像为第一分辨率图像;
建立所述多目相机的第一分辨率极线查找表;
根据所述第一分辨率极线查找表及所述第一分辨率图像与第二分辨率图像之间的映射关系,确定所述第一相机的第二分辨率图像中像素点与所述第二相机的第二分辨率图像中像素点的第二分辨率像素映射表;
根据所述第二分辨率像素映射表,建立所述第一相机在第二分辨率图像上的高精度匹配代价空间;
对所述高精度匹配代价空间进行匹配代价计算,确定各所述待匹配像素点与对应的候选匹配像素点之间的初始代价值;
通过对所述初始代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值,根据各所述目标深度值确定所述待匹配图像的初始深度图。
上述图像稠密立体匹配方法、装置、计算机设备和存储介质,通过建立多目相机的第一分辨率极线查找表,根据第一分辨率极线查找表及第一分辨率图像与第二分辨率图像之间的映射关系,确定第一相机的第二分辨率图像中像素点与第二相机的第二分辨率图像中像素点的第二分辨率像素映射表;根据第二分辨率像素映射表,建立第一相机在第二分辨率图像上的高精度匹配代价空间;对高精度匹配代价空间进行匹配代价计算,确定各待匹配像素点与对应的候选匹配像素点之间的初始代价值;通过对初始代价值进行代价聚合处理得到各待匹配像素点的目标深度值,根据各目标深度值确定待匹配图像的初始深度图,提高了立体匹配的速度和精度。
附图说明
图1为一个实施例中图像稠密立体匹配方法的应用环境图;
图2为一个实施例中图像稠密立体匹配方法的流程示意图;
图3为一个实施例中建立第一分辨率极线查找表的流程示意图;
图4为一个实施例中确定候选匹配像素点的匹配代价值的流程示意图;
图5为另一个实施例中图像稠密立体匹配方法的流程示意图;
图6为一个实施例中图像稠密立体匹配装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的鱼眼图像稠密立体匹配方法,可以应用于如图1所示的应用环境中。其中,第一终端102通过网络与第二终端104进行通信。第一终端102获取第二终端104(例如,多目相机)中第一鱼眼相机的待匹配图像和至少一个第二鱼眼相机的候选匹配图像;待匹配图像和候选匹配图像为第一分辨率图像;基于预先建立的多目鱼眼相机的第一分辨率极线查找表,从第一分辨率的候选匹配图像中确定与待匹配图像中各待匹配像素点匹配的候选匹配像素点;通过建立第一鱼眼相机在第二分辨率图像上的高精度代价空间,确定各候选匹配像素点的匹配代价值;通过对匹配代价值进行代价聚合处理得到各待匹配像素点的目标深度值,根据各目标深度值确定多目鱼眼相机的初始深度图。其中,第一终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,第二终端104可以但不仅限于多目相机(例如,多目鱼眼相机),多目相机中的相机数量大于或等于2。
本申请的说权利要求书、说明书及附图中的术语“第一”、“第二”、“第三”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,本申请中多目相机可以但不限于是多目鱼眼相机,在本申请中多目相机以多目鱼眼相机为例进行说明。
在一个实施例中,如图2所示,提供了一种图像稠密立体匹配方法,以该方法应用于图1中的第一终端为例进行说明,包括以下步骤:
步骤202,获取多目相机中第一相机的待匹配图像和至少一个第二相机的候选匹配图像;待匹配图像和候选匹配图像为第一分辨率图像。
其中,多目鱼眼相机中包括至少两个鱼眼相机;第一相机即第一鱼眼相机,第一鱼眼相机可以是多目鱼眼相机中的任意一个鱼眼相机,第一相机即第二鱼眼相机,第二鱼眼相机是除第一鱼眼相机以外的任意一个鱼眼相机;例如,多目鱼眼相机中包括左鱼眼相机和右鱼眼相机,可以将左鱼眼相机作为第一鱼眼相机,将右鱼眼相机作为第二鱼眼相机。第一分辨率为高分辨率,第二分辨率为低分辨率。多目鱼眼相机采集的是高分辨率高精度的鱼眼图像。本申请中以多目鱼眼相机包括左鱼眼相机和右鱼眼相机,将左鱼眼相机作为第一鱼眼相机,将右鱼眼相机作为第二鱼眼相机为例进行说明。
具体地,将左鱼眼相机采集的第一分辨率图像作为待匹配图像,将右鱼眼相机采集的第一分辨率图像作为候选匹配图像。
步骤204,建立的多目相机的第一分辨率极线查找表。
其中,第一分辨率极线查找表(高分辨率极线查找表)是指第一鱼眼相机的第二分辨率到每个第二鱼眼相机的第一分辨率的极线查找表,以及每个第二鱼眼相机的第二分辨率到第一鱼鱼眼相机的第一分辨率的极线查找表,如多目鱼眼相机中包括N(N≥2)个相机时,建立2(N-1)个第一分辨率极线查找表。第一分辨率极线查找表是通过获取第一鱼眼相机和第二鱼眼相机的第一分辨率焦距,以及第一鱼眼相机和第二鱼眼相机之间的坐标变换矩阵;根据第一分辨率焦距和坐标变换矩阵确定第一鱼眼相机在第一分辨率下的深度值集合;根据深度值集合和鱼眼相机畸变模型,确定第一鱼眼相机在深度值集合中各深度值下到第二鱼眼相机的像素映射表得到的;深度值与多目鱼眼相机的视差成反比,立体匹配中的视差为一幅图像上的像素点与另一幅图像上的对应像素点之间的欧式距离或无穷范数。
例如,左鱼眼相机记为相机1,右鱼眼相机记为相机2。相机i的高分辨率焦距记为fi,相机i到相机j的坐标变换为[Rij Tij],Rij代表从i相机到j相机三维旋转矩阵,可以是3X3的正交矩阵;Tij代表从i相机到j相机三维平移矩阵,可以是一个3X1的矩阵;根据第一分辨率焦距fi和坐标变换矩阵[Rij Tij]、以及第一分辨率投影矩阵满足的坐标变换关系,确定第一鱼眼相机在第一分辨率下的深度值集合D={depth(k)|k=0,1,L,Ndepth},k代表深度集合中深度值的索引,depth(k)代表第k个深度值,L代表省略;根据深度值集合D={depth(k)|k=0,1,L,Ndepth}和鱼眼相机畸变模型的参数,确定第一鱼眼相机在深度值集合中各深度值下到第二鱼眼相机的像素映射表,即得到第一鱼眼相机的第二分辨率到第二鱼眼相机的第一分辨率的第一分辨率极线查找表。
步骤206,根据第一分辨率极线查找表及第一分辨率图像与第二分辨率图像之间的映射关系,确定第一相机的第二分辨率图像中像素点与第二相机的第二分辨率图像中像素点的第二分辨率像素映射表。
具体地,通过建立多目鱼眼相机中第一鱼眼相机的第二分辨率到至少一个第二鱼眼相机的第一分辨率极线查找表,根据相机的第一分辨率图像与第二分辨率图像之间的映射关系,确定与第一分辨率的待匹配图像中各待匹配像素点对应的第二分辨率待匹配像素点,从第一分辨率的候选匹配图像中确定与第二分辨率待匹配像素点匹配的第一分辨率的候选匹配像素点;以及确定第一相机的第二分辨率图像中像素点与第二相机的第二分辨率图像中像素点的第二分辨率像素映射表。
步骤208,根据第二分辨率像素映射表,建立第一相机在第二分辨率图像上的高精度匹配代价空间。
步骤210,对高精度匹配代价空间进行匹配代价计算,确定各待匹配像素点与对应的候选匹配像素点之间的初始代价值。
其中,匹配代价值用来度量多目鱼眼相机采集的图像中待匹配像素点和候选匹配像素点是对应点的可能性大小,匹配代价值越大,这两个点属于同名对应点的可能性越小;反之亦然;例如,左右图像中待匹配像素点和候选匹配像素点是对应点的可能性大小。代价空间是一个三维的矩阵,其中两个维度是二维的像素
Figure BDA0003114168760000091
另一个维度是深度空间D,三维矩阵中的每个元素可以用来表示每个像素在深度范围内每个深度下的匹配代价值。
相机i的第一分辨率图像
Figure BDA0003114168760000092
到相机i的第二分辨率图像
Figure BDA0003114168760000093
的映射关系可以表示为:plow=maph2l(phigh);相机i的第二分辨率图像
Figure BDA0003114168760000094
到相机i的第一分辨率图像
Figure BDA0003114168760000095
的映射关系可以表示为:phigh=mapl2h(plow),其中
Figure BDA0003114168760000096
具体地,根据相机i的第一分辨率图像
Figure BDA0003114168760000097
到i相机的第二分辨率图像
Figure BDA0003114168760000098
的映射关系,建立第一鱼眼相机在第二分辨率图像上的高精度代价空间;确定第二分辨率的候选匹配像素点在第二鱼眼相机的第一分辨率图像上的邻域窗口;通过遍历邻域窗口,确定各候选匹配像素点的匹配代价值;即通过遍历邻域窗口,可以通过基于区域的局部匹配准则方法(例如,图像序列中对应像素差的绝对值(SAD,Sum of Absolute Differences)、图像序列中对应像素差的平方和(SSD,Sum of Squared Differences)图像的相关性(NCC,Normalized Cross Correlation)、Census和Ad-Census等)确定候选匹配像素点和待匹配像素点之间的匹配代价值。
步骤212,通过对初始代价值进行代价聚合处理得到各待匹配像素点的目标深度值,根据各目标深度值确定待匹配图像的初始深度图。
具体地,根据动态规划算法对匹配代价值进行代价聚合处理,得到的数值最小的匹配代价值的初始深度值;对初始深度值进行插值处理,得到各待匹配像素点的目标深度值,根据各目标深度值确定待匹配图像的初始深度图。
上述图像稠密立体匹配方法中,通过在预先建立多目鱼眼相机的第一分辨率极线查找表,基于第一分辨率极线查找表,在候选匹配图像中确定待匹配图像中各待匹配像素点的候选匹配像素点;即不需要对鱼眼图像进行矫正,通过预先建立的极线查找表,提高鱼眼图像的匹配速度;通过在建立第一鱼眼相机在第二分辨率图像上的高精度代价空间,确定各候选匹配像素点的匹配代价值,对匹配代价值进行代价聚合处理得到各待匹配像素点的目标深度值,根据各目标深度值确定待匹配图像的初始深度图,提高了立体匹配的速度和精度。
在一个实施例中,如图3所示,提供了一种建立第一分辨率极线查找表的方法,以该方法应用于图1中的第一终端为例进行说明,包括以下步骤:
步骤302,获取第一相机和第二相机的第一分辨率焦距,以及第一相机和第二相机之间的坐标变换矩阵。
其中,第一相机可以但不仅限于是第一鱼眼相机,第二相机可以但不仅限于第二鱼眼相机,第一鱼眼相机和第二鱼眼相机之间的坐标变换矩阵是指从第一鱼眼相机的相机坐标系到第二鱼眼相机的相机坐标系的坐标变换矩阵,坐标变换矩阵包括旋转矩阵和平移矩阵。
具体地,通过获取第一相机和第二相机的第一分辨率焦距,以及第一相机和第二相机之间的坐标变换矩阵;根据第一分辨率焦距和坐标变换矩阵确定至少一个第一相机在第一分辨率下的深度值集合。
步骤304,根据第一分辨率焦距和坐标变换矩阵中的平移矩阵确定第一鱼眼相机的第一分辨率的深度最大值和深度最小值,得到第一分辨率的深度范围。
其中,第一鱼眼相机为相机1,第二鱼眼相机记为相机2。i相机的高分辨率焦距记为fi,i相机到j相机的坐标变换为[Rij Tij]。
深度值的范围[depthmin depthmax)是根据预先给定的参数和相机的景深范围确定的;在实施例中,根据深度值depth与视差disp满足关系式
Figure BDA0003114168760000111
可以确定深度值与相机的视差成反比,对于深度最大值depthmax,满足depthmax≤bf,根据测量最大的范围是bf确定最大深度depthmax,深度最大值是根据相机1和相机2之间坐标变换的模和最大焦距确定的,最大焦距为相机1和相机2中焦距值最大的数值;因此确定dispmin≥1;depthmin其中符
Figure BDA0003114168760000112
代表向下取整,符
Figure BDA0003114168760000113
代表向上取整。
步骤306,对各深度范围内的深度值进行离散化处理,将得到预设数量个物体到相机光心的距离作为第一分辨率的深度值集合。
具体地,根据确定的深度最大值和深度最小值,以及视差和深度值之间满足的关系式
Figure BDA0003114168760000114
可知disp(k)=dispmin+k是区间[dispmin dispmax)内的所有整数,其中k∈R,即k∈[0dispmax-dispmin),R表示实数区间。令depth(k)=bf/disp(k),把深度范围内的深度值非均匀的离散化为预设数量Ndepth=dispmax-dispmin个数值,得到的表示离散的深度值集合D={depth(k)|k=0,1,L,Ndepth},其中L代表省略。可选地,第一鱼眼相机的相邻离散深度,对应第二鱼眼相机极线上相邻的像素。
步骤308,根据深度值集合和相机畸变模型,确定第一相机在深度值集合中各深度值下到第二相机的第一分辨率像素映射表,得到第一分辨率极线查找表。
具体地,根据鱼眼相机畸变模型,根据预先建立的不同坐标系的转换关系,对第一鱼眼相机采集的第一分辨率图像进行像素处理,得到第二分辨率图像,对该第二分辨图像中像素点的像素坐标进行坐标变换处理,得到对应第二分辨率的第一相机坐标系下的第一坐标;根据坐标转换矩阵,对第一坐标在深度值集合中各深度值下的第一三维坐标进行坐标变换处理,得到像素点在第二鱼眼相机的相机坐标系下对应的第二三维坐标;确定第二三维坐标在第二鱼眼相机中的深度值;根据第二三维坐标在第二鱼眼相机中的深度值及第二三维坐标,确定第一坐标在第二鱼眼相机的相机坐标系中对应的第二坐标;根据第二鱼眼相机的相机畸变模型,将第二坐标投影到第二鱼眼相机的第一分辨率图像的像素坐标系中,确定像素点在第二鱼眼相机的第一分辨率图像中对应的像素点的像素坐标;根据像素点在第二鱼眼相机的第一分辨率图像中对应的像素点的像素坐标,确定第一鱼眼相机的第一分辨率图像中的像素点在深度值集合中各深度值下到第二鱼眼相机的第一分辨率图像的像素映射表,即得到第一分辨率极线查找表。
例如,建立第一鱼眼相机(即相机1)在不同深度值下到第二鱼眼相机(即相机2)的像素映射表,即建立集合
Figure BDA0003114168760000121
到集合
Figure BDA0003114168760000122
的映射表,用
Figure BDA0003114168760000123
表示i相机的高分辨率像素集合,用
Figure BDA0003114168760000124
表示i相机的低分辨率像素集合,根据鱼眼相机畸变模型,把相机1高分辨率像素图像转化为低分辨率图像,将低分辨率图像中的低分辨率像素坐标
Figure BDA0003114168760000125
映射到相机1相机坐标系下的单位球坐标下q1=(x1 y1 z1)t,其中
Figure BDA0003114168760000126
这个映射记为:mapimg2sq,那么有q1=mapimg2sq(p1)∈S2
把球面坐标在不同的深度下的三维坐标映射到相机2的相机坐标系下。q1在深度d1∈D下的坐标为P1=q1d1,根据相机1的相机坐标系到相机2的相机坐标系的坐标变换矩阵,将P1=q1d1变换到相机2坐标系下得到坐标为:P2=R12q1d1+T12。计算点P1=q1d1在相机2下的深度值d2为:
Figure BDA0003114168760000127
T12代表相机1和相机2之间的平移矩阵,那么P2投影到单位球面的坐标为
Figure BDA0003114168760000131
设q2=(x2 y2 z2)t,其中
Figure BDA0003114168760000132
根据鱼眼畸变模型,把相机2的球面坐标投影到相机2的高分辨率像素坐标
Figure BDA0003114168760000133
上,这个映射记为:mapsq2img。那么q2投影到相机2上的像素坐标为p2=mapsq2img(q2)。
以上定义了
Figure BDA0003114168760000134
到集合
Figure BDA0003114168760000135
的映射表:p2=map12(p1 d1)。同时,定义了
Figure BDA0003114168760000136
到D的深度映射:
Figure BDA0003114168760000137
其中符[]代表取最近整数。
基于上述原理,可以建立相机2在不同深度下到相机1的像素映射表,以及
Figure BDA0003114168760000138
到集合D的深度映射:
Figure BDA0003114168760000139
可选地,在一个实施例中,当多目鱼眼相机中存在N(N≥2)个鱼眼相机时,即可以依次建立相机1到相机K(K=2,……,N)的映射,以及相机K(K=N-1,N-2……N)到相机1的映射,映射包括像素映射和深度映射,例如,多目鱼眼相机中存在3个鱼眼相机时,可以建立相机3在不同深度下到相机1的像素映射表,以及
Figure BDA00031141687600001310
到集合D的深度映射
Figure BDA00031141687600001311
以及相机2在不同深度下到相机1的像素映射表,以及
Figure BDA00031141687600001312
到集合D的深度映射:
Figure BDA00031141687600001313
可选地,在一个实施例中,多目相机为普通相机,包括N个相机,第一分辨率为高分辨率,第二分辨率为低分辨率,把N(N≥2)个相机分别记为相机1,相机2,…,相机N;建立第一分辨率极线查找表的方法包括:相机1为第一相机,相机2为第二相机,…,相机N为第N相机,相机i(1…,N)的高分辨率焦距记为
Figure BDA00031141687600001314
相机i的高分辨率投影矩阵记为
Figure BDA00031141687600001315
相机的低分辨率焦距记为
Figure BDA00031141687600001316
相机i的低分辨率投影矩阵记为
Figure BDA00031141687600001317
相机i到相机j的坐标变换矩阵为[Rij Tij]。需要计算的深度范围是[depthmin depthmax)。相机i的低分辨率图像
Figure BDA00031141687600001318
到相机i的高分辨率图像
Figure BDA0003114168760000141
的映射关系可以表示为:
Figure BDA0003114168760000142
其中,相机i高分辨率图像的投影矩阵
Figure BDA0003114168760000143
具体可表示为:
Figure BDA0003114168760000144
Figure BDA0003114168760000145
Figure BDA0003114168760000146
代表高分辨率下相机i的内部参数。
i相机低分辨率图像的投影矩阵
Figure BDA0003114168760000147
具体可表示为:
Figure BDA0003114168760000148
这里
Figure BDA0003114168760000149
Figure BDA00031141687600001410
Figure BDA00031141687600001411
代表低分辨率下相机i的内部参数。
定义
Figure BDA00031141687600001412
深度离散化处理和鱼眼相机处理一致,在此不做赘述。
分别对相机1,相机2,…,相机N的图片根据各个相机的内参做去畸变操作。
把深度范围按照逆深度均匀离散化,用D={depth(k)|k=0,1,L,Ndepth}表示离散的深度集合。用
Figure BDA00031141687600001413
表示i相机的低分辨率像素集合,
Figure BDA00031141687600001414
表示i相机的高分辨率像素集合。
以下为一个实施例中,建立相机1的低分辨率图片在不同高分辨率深度下到相机k(2≤k≤N)的高分辨率像素映射表(即集合
Figure BDA00031141687600001415
分别到集合
Figure BDA00031141687600001416
(2≤k≤N)映射表)为例进行说明也就是分别建立:
把相机1采集的高分辨率图像进行分辨率处理,得到低分辨率图像,将低分辨率图像上的各像素点坐标
Figure BDA00031141687600001417
在高分辨率深度dh∈D下映射到相机k(2≤k≤N)高分辨率坐标系下,这个映射记为map1k;map1k可以表示为:
Figure BDA0003114168760000151
其中,R1k表示相机1到相机k的坐标变换的平移矩阵,T1k表示相机1到相机k的坐标变换的旋转矩阵。
在相机1到相机k(2≤k≤N)的查找表包括两种参数:一次项系数和常数项系数,一次项系数包括在相机1的低分辨率的每一个像素上存储三个值
Figure BDA0003114168760000152
常数项系数包括相机1和相机k(2≤k≤N)之间存储三个值
Figure BDA0003114168760000153
这样有
Figure BDA0003114168760000154
的值是一个三维向量记为(xk yk zk)t,相机1的低分辨率像素值
Figure BDA0003114168760000155
的高分辨率深度值为dhigh的点在相机2下的高分辨率深度是zk,高分辨率像素坐标是(xk/zk yk/zk 1)t。将相机1相机坐标系的三维坐标在不同的深度下的映射到相机2的相机坐标系下,(深度q1在深度d1∈D下的坐标为P1=q1d1),根据外参变换到相机2坐标系下P2=R12q1d1+T12;即在图像进行匹配之前,根据相机的内外参建立一个像素映射查找表,根据像素映射查找表进行匹配不需要通过极线校正,提高了算法的匹配效率以及提高了数据的处理效率。
同样,可以确定相机k(2≤k≤N)的低分辨率到相机1的高分辨率的像素映射表;可以对错误的深度值进行排查。
上述建立第一分辨率极线查找表的方法中,通过获取第一鱼眼相机和第二鱼眼相机的第一分辨率焦距,根据第一分辨率焦距和坐标变换矩阵中的平移矩阵确定第一鱼眼相机的第一分辨率的深度最大值和深度最小值,得到第一分辨率的深度范围;对深度范围内的深度值的深度值进行离散化处理,将得到预设数量个物体到相机光心的距离作为第一分辨率的深度值集合,根据深度值集合和鱼眼相机畸变模型,确定第一鱼眼相机在深度值集合中各深度值下到第二鱼眼相机的像素映射表,得到第一分辨率极线查找表,即预先建立极线查找表,有效提高鱼眼图像的匹配速度。
在一个实施例中,如图4所示,提供了一种确定候选匹配像素点的匹配代价值的方法,以该方法应用于图1中的第一终端为例进行说明,包括以下步骤:
步骤402,确定第一相机的第二分辨率图像中像素点在深度值集合中各深度值下到第二相机的第二分辨率图像中像素点的第二分辨率像素映射表。
具体地,基于第一分辨率极线查找表,根据第一相机的第一分辨率图像与第二分辨率图像的像素映射关系,及第二相机的第一分辨率图像与第二分辨率图像的像素映射关系,得到第一相机的第二分辨率图像中像素点在深度值集合中各深度值下到第二相机的第二分辨率图像中像素点的第二分辨率像素映射表。
步骤404,根据第二分辨率像素映射表,在深度值集合中各深度值下,得到第一相机的第二分辨率图像中的像素点及对应的第二相机的第二分辨率图像中的像素点,建立第一相机在第二分辨率图像上的高精度匹配代价空间。
具体地,根据第二分辨率像素映射表,在深度值集合中各深度值下,得到第一相机的第二分辨率图像中的像素点及对应的第二相机的第二分辨率图像中的像素点,建立第一相机在第二分辨率图像上的高精度匹配代价空间;也就是说,根据图像第一分辨率与第二分辨率的映射关系,确定与各候选匹配像素点对应的第二分辨率的候选匹配像素点;确定待匹配像素点和待匹配像素点之间的匹配度;根据匹配度建立第一相机在第二分辨率图像上的高精度代价空间。
步骤406,根据高精度代价空间确定第二分辨率图像中的候选匹配像素点在第二相机的第一分辨率图像上的邻域窗口。
其中,候选匹配像素点是通过根据第一相机的第二分辨率图像中的像素点在深度值集合中各深度值下到第二相机的第二分辨率图像的像素映射表,从第二相机的候选匹配图像中确定待匹配像素点在第一分辨率下的深度值集合中各深度值下对应的像素点。
步骤408,通过遍历邻域窗口,确定各待匹配像素点与对应的候选匹配像素点之间的初始代价值。
具体地,根据匹配度建立第一相机在第二分辨率图像上的高精度代价空间,确定第二分辨率的候选匹配像素点在第二相机的第一分辨率图像上的邻域窗口,通过遍历邻域窗口,确定各候选匹配像素点的初始代价值,即可以得到第一相机的匹配代价值。
其中,领域窗口可以但不仅限于是正方形。例如,在第一分辨率图像
Figure BDA0003114168760000171
上,像素
Figure BDA0003114168760000172
的邻域用
Figure BDA0003114168760000173
表示,r代表邻域半径,邻域半径可以但不仅限于是1、5等。
Figure BDA0003114168760000174
代表
Figure BDA0003114168760000175
中所有亮度组成的向量值。
Figure BDA0003114168760000176
Figure BDA0003114168760000177
分别是图片
Figure BDA0003114168760000178
Figure BDA0003114168760000179
中的两个像素,那么
Figure BDA00031141687600001710
Figure BDA00031141687600001711
的代价就是指向量
Figure BDA00031141687600001712
和向量
Figure BDA00031141687600001713
的相似度,用
Figure BDA00031141687600001714
表示,
Figure BDA00031141687600001715
的数值越小代表
Figure BDA00031141687600001716
Figure BDA00031141687600001717
的匹配度越高。代价空间每个元素的数值是
Figure BDA00031141687600001718
其中
Figure BDA00031141687600001719
depthh∈D,depthh代表高精度的深度。这是一个从三维空间
Figure BDA00031141687600001720
到实数空间R的一个映射,可以确定第一相机与第二相机之间的匹配代价值的关系式可以表示为:
Figure BDA00031141687600001721
可选地,在一个实施例中,双目立体匹配的时候,即N=2,确定的相机1的匹配代价值为:
Figure BDA00031141687600001722
即,当多目鱼眼相机中包括2个鱼眼相机时,即一个第一鱼眼相机和一个第二鱼眼相机时,确定第一鱼眼相机的第一分辨率图像在第二分辨率的图像的匹配代价值的关系式可以表示为:
Figure BDA00031141687600001723
其中,
Figure BDA00031141687600001724
是根据
Figure BDA00031141687600001725
到集合
Figure BDA00031141687600001726
的映射表确定第一鱼眼相机的待匹配像素点在深度下对应的第二鱼眼相机的像素点。
可选地,在一个实施例中,当待匹配像素点存在至少两个对应的候选匹配像素时,对初始代价值进行加权求和处理或者均值处理,得到处理后的初始代价值;通过对处理后的初始代价值进行代价聚合处理得到各待匹配像素点的目标深度值;即待匹配像素点存在至少两个对应的候选匹配像素时,也就是说,存在至少两个第二相机时,分别确定第一相机与每个第二相机的匹配代价值,对匹配代价值进行求均值,得到第一相机的匹配代价值,根据确定的匹配代价值得到待匹配像素点与对应的候选匹配像素的最终初始代价值,通过对初始代价值进行代价聚合处理得到各待匹配像素点的目标深度值。
例如,三目立体匹配的时候,即N=3时,确定的相机1的匹配代价值为相机到相机2和相机3的匹配代价值的均值,可以表示为:
Figure BDA0003114168760000181
其中,
Figure BDA0003114168760000182
是根据
Figure BDA0003114168760000183
到集合
Figure BDA0003114168760000184
的映射表确定第一鱼眼相机的待匹配像素点在深度下对应的第二鱼眼相机的像素点,
Figure BDA0003114168760000185
是根据
Figure BDA0003114168760000186
到集合
Figure BDA0003114168760000187
的映射表确定第一鱼眼相机的待匹配像素点在深度下对应的第二鱼眼相机的像素点。
上述确定候选匹配像素点的匹配代价值中,通过基于区域的算法以待匹配像素为中心,建立一个窗口邻域,利用左右图像中相应窗口内所有像素点的距离作为待匹配像素与相应候选匹配像素间的匹配代价,有效地降低匹配错误率,提高算法的准确性。
在另一个实施例中,如图5所示,提供了一种图像稠密立体匹配方法,以该方法应用于图1中的第一终端为例进行说明,包括以下步骤:
步骤502,获取第一相机和第二相机的第一分辨率焦距,以及第一相机和第二相机之间的坐标变换矩阵。
步骤504,根据第一分辨率焦距和坐标变换矩阵确定第一相机在第一分辨率下的深度值集合。
步骤506,根据深度值集合和相机畸变模型,确定第一相机在深度值集合中各深度值下到第二相机的像素映射表,得到第一分辨率极线查找表。
步骤508,获取多目相机中第一相机的待匹配图像和至少一个第二相机的候选匹配图像;待匹配图像和候选匹配图像为第一分辨率图像。
步骤510,根据第一分辨率极线查找表及第一分辨率图像与第二分辨率图像之间的映射关系,确定第一相机的第二分辨率图像中像素点与第二相机的第二分辨率图像中像素点的第二分辨率像素映射表。
步骤512,根据第二分辨率像素映射表,建立第一相机在第二分辨率图像上的高精度匹配代价空间。
步骤514,对高精度匹配代价空间进行匹配代价计算,确定各待匹配像素点与对应的候选匹配像素点之间的初始代价值。
具体地,根据第二分辨率像素映射表,在深度值集合中各深度值下,得到第一相机的第二分辨率图像中的像素点及对应的第二相机的第二分辨率图像中的像素点,建立第一相机在第二分辨率图像上的高精度匹配代价空间。
步骤516,通过对初始代价值进行代价聚合处理得到各待匹配像素点的目标深度值,根据各目标深度值确定待匹配图像的初始深度图。
具体地,当待匹配像素点存在至少两个对应的候选匹配像素时,对初始代价值进行加权求和处理,得到初始代价值;通过对均值处理后的初始代价值进行代价聚合处理得到各待匹配像素点的目标深度值,即根据动态规划算法对初始代价值进行代价聚合处理,得到初始深度值;对初始深度值进行插值处理,得到各待匹配像素点的目标深度值;根据各目标深度值确定待匹配图像的初始深度图。
上述鱼眼图像稠密立体匹配方法中,通过建立多目相机的第一分辨率极线查找表,根据第一分辨率极线查找表及第一分辨率图像与第二分辨率图像之间的映射关系,确定第一相机的第二分辨率图像中像素点与第二相机的第二分辨率图像中像素点的第二分辨率像素映射表;根据第二分辨率像素映射表,建立第一相机在第二分辨率图像上的高精度匹配代价空间;对高精度匹配代价空间进行匹配代价计算,确定各待匹配像素点与对应的候选匹配像素点之间的初始代价值;通过对初始代价值进行代价聚合处理得到各待匹配像素点的目标深度值,根据各目标深度值确定待匹配图像的初始深度图;即通过根据各目标深度值确定多目鱼眼相机的初始深度图,提高了立体匹配的速度和精度。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种图像稠密立体匹配装置,包括:获取模块602、第一建立模块604、确定模块606、第二建立模块608、计算模块610和聚合处理模块612,其中:
获取模块602,用于获取多目相机中第一相机的待匹配图像和至少一个第二相机的候选匹配图像;待匹配图像和候选匹配图像为第一分辨率图像。
第一建立模块604,用于建立多目相机的第一分辨率极线查找表。
确定模块606,用于根据第一分辨率极线查找表及第一分辨率图像与第二分辨率图像之间的映射关系,确定第一相机的第二分辨率图像中像素点与第二相机的第二分辨率图像中像素点的第二分辨率像素映射表。
第二建立模块608,用于根据第二分辨率像素映射表,建立第一相机在第二分辨率图像上的高精度匹配代价空间。
计算模块610,用于对高精度匹配代价空间进行匹配代价计算,确定各待匹配像素点与对应的候选匹配像素点之间的初始代价值。
聚合处理模块612,用于通过对初始代价值进行代价聚合处理得到各待匹配像素点的目标深度值,根据各目标深度值确定待匹配图像的初始深度图。
上述图像稠密立体匹配装置中,通过在预先建立多目鱼眼相机的第一分辨率极线查找表,基于第一分辨率极线查找表,在候选匹配图像中确定待匹配图像中各待匹配像素点的候选匹配像素点;即不需要对鱼眼图像进行矫正,通过预先建立的极线查找表,提高鱼眼图像的匹配速度;通过在建立第一鱼眼相机在第二分辨率图像上的高精度代价空间,确定各候选匹配像素点的匹配代价值,对匹配代价值进行代价聚合处理得到各待匹配像素点的目标深度值,根据各目标深度值确定多目鱼眼相机的初始深度图,提高了立体匹配的速度和精度。
在另一个实施例中,提供了一种图像稠密立体匹配装置,除包括获取模块602、第一建立模块604、确定模块606、第二建立模块608、计算模块610和聚合处理模块612之外,还包括:离散化处理模块、坐标变换处理模块、加权求和处理模块和聚合处理模块,其中:
在一个实施例中,获取模块602还用于获取第一相机和第二相机的第一分辨率焦距,以及第一相机和第二相机之间的坐标变换矩阵。
在一个实施例中,确定模块606还用于根据第一分辨率焦距和坐标变换矩阵确定第一相机在第一分辨率下的深度值集合;根据深度值集合和相机畸变模型,确定第一相机在深度值集合中各深度值下到第二相机的像素映射表,得到第一分辨率极线查找表。
在一个实施例中,确定模块606还用于根据第一分辨率焦距和坐标变换矩阵中的平移矩阵确定第一相机的第一分辨率的深度最大值和深度最小值,得到第一分辨率的深度范围。
离散化处理模块,用于对深度范围内的深度值的深度值进行离散化处理,将得到预设数量个物体到相机光心的距离作为第一分辨率的深度值集合。
坐标变换处理模块,用于根据相机畸变模型,对第一相机采集的第一分辨率图像中像素点的像素坐标进行坐标变换处理,得到对应的球面坐标;对球面坐标在深度值集合中各深度下的三维坐标进行坐标变换处理,得到像素点在第二相机的相机坐标系下的坐标;
在一个实施例中,确定模块606还用于确定三维坐标在第二相机中的深度值。
坐标变换处理模块还用于根据三维坐标在第二相机中的深度值确定球面坐标在第二相机的单位球坐标系中的球面坐标;
在一个实施例中,确定模块606还用于根据相机畸变模型,将第二相机中的单位球坐标系中的球面坐标投影到第二相机中的第一分辨率图像的像素坐标系中,得到第一相机和第二相机在不同深度值下的第一分辨率图像的像素映射表。
在一个实施例中,确定模块606还用于基于第一分辨率极线查找表,根据第一相机的第一分辨率图像与第二分辨率图像的像素映射关系,及第二相机的第一分辨率图像与第二分辨率图像的像素映射关系,得到第一相机的第二分辨率图像中像素点在深度值集合中各深度值下到第二相机的第二分辨率图像中像素点的第二分辨率像素映射表。
在一个实施例中,确定模块606还用于根据第一相机的第二分辨率图像中的像素点在深度值集合中各深度值下到第二相机的第二分辨率图像的像素映射表,从第二相机的候选匹配图像中确定待匹配像素点在第一分辨率下的深度值集合中各深度值下对应的候选匹配像素点。
在一个实施例中,第二建立模块608还用于根据第二分辨率像素映射表,在深度值集合中各深度值下,得到第一相机的第二分辨率图像中的像素点及对应的第二相机的第二分辨率图像中的像素点,建立第一相机在第二分辨率图像上的高精度匹配代价空间。
加权求和处理模块,用于当待匹配像素点存在至少两个对应的候选匹配像素时,对初始代价值进行加权求和处理,得到加权求和处理后的初始代价值。
聚合处理模块,用于通过对加权求和处理后的初始代价值进行代价聚合处理得到各待匹配像素点的目标深度值。
在一个实施例中,聚合处理模块还用于根据动态规划算法对初始代价值进行代价聚合处理,得到初始深度值;对初始深度值进行插值处理,得到各待匹配像素点的目标深度值。
在一个实施例中,通过在预先建立多目鱼眼相机之间的第一分辨率极线查找表,基于第一分辨率极线查找表,在候选匹配图像中确定待匹配图像中各待匹配像素点的候选匹配像素点;即不需要对鱼眼图像进行矫正,通过预先建立的极线查找表,提高鱼眼图像的匹配速度;通过在建立第一鱼眼相机在第二分辨率图像上的高精度代价空间,确定各候选匹配像素点的匹配代价值,对匹配代价值进行代价聚合处理得到各待匹配像素点的目标深度值,根据各目标深度值确定多目鱼眼相机的初始深度图,提高了立体匹配的速度和精度。
关于图像稠密立体匹配装置的具体限定可以参见上文中对于图像稠密立体匹配方法的限定,在此不再赘述。上述图像稠密立体匹配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像稠密立体匹配方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种图像稠密立体匹配方法,其特征在于,所述方法包括:
获取多目相机中第一相机的待匹配图像和至少一个第二相机的候选匹配图像;所述待匹配图像和所述候选匹配图像为第一分辨率图像;
建立所述多目相机的第一分辨率极线查找表;
根据所述第一分辨率极线查找表及所述第一分辨率图像与第二分辨率图像之间的映射关系,确定所述第一相机的第二分辨率图像中像素点与所述第二相机的第二分辨率图像中像素点的第二分辨率像素映射表;
根据所述第二分辨率像素映射表,建立所述第一相机在第二分辨率图像上的高精度匹配代价空间;
对所述高精度匹配代价空间进行匹配代价计算,确定各所述待匹配像素点与对应的候选匹配像素点之间的初始代价值;
通过对所述初始代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值,根据各所述目标深度值确定所述待匹配图像的初始深度图。
2.根据权利要求1所述的方法,其特征在于,所述建立所述多目相机的第一分辨率极线查找表的,包括:
获取所述第一相机和所述第二相机的第一分辨率焦距,以及所述第一相机和所述第二相机之间的坐标变换矩阵;
根据所述第一分辨率焦距和所述坐标变换矩阵确定至少一个所述第一相机在第一分辨率下的深度值集合;
根据所述深度值集合和相机畸变模型,确定所述第一相机在所述深度值集合中各所述深度值下到所述第二相机的第一分辨率像素映射表,得到第一分辨率极线查找表。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一分辨率焦距和所述坐标变换矩阵确定至少一个所述第一相机在第一分辨率下的深度值集合,包括:
根据所述第一分辨率焦距和所述坐标变换矩阵中的平移矩阵确定所述第一相机在第一分辨率下的深度最大值和深度最小值,得到至少所述第一相机在第一分辨率下的深度范围;
对各所述深度范围内的深度值进行离散化处理,将得到预设数量个物体到第一相机光心的距离作为所述第一相机在第一分辨率下的深度值集合。
4.根据权利要求2所述的方法,其特征在于,所述根据所述深度值集合和相机畸变模型,确定所述第一相机在所述深度值集合中各所述深度值下到所述第二相机的第一分辨率像素映射表,包括:
根据第一相机的相机畸变模型,对所述第一相机采集的第一分辨率图像中像素点的像素坐标进行坐标变换处理,得到对应的第一相机的相机坐标系下的第一坐标;
根据所述坐标转换矩阵,对所述第一坐标在所述深度值集合中各深度值下的第一三维坐标进行坐标变换处理,得到所述像素点在所述第二相机的相机坐标系下对应的第二三维坐标;
确定所述第二三维坐标在所述第二相机中的深度值;
根据所述第二三维坐标在所述第二相机中的深度值及所述第二三维坐标,确定所述第一坐标在所述第二相机的相机坐标系中对应的第二坐标;
根据第二相机的相机畸变模型,将所述第二坐标投影到所述第二相机的第一分辨率图像的像素坐标系中,确定所述像素点在所述第二相机的第一分辨率图像中对应的像素点的像素坐标;
根据所述像素点在所述第二相机的第一分辨率图像中对应的像素点的像素坐标,确定所述第一相机的第一分辨率图像中的像素点在所述深度值集合中各所述深度值下到所述第二相机的第一分辨率图像的像素映射表。
5.根据权利要求2所述的方法,其特征在于,所述根据所述第一分辨率极线查找表及所述第一分辨率图像与第二分辨率图像之间的映射关系,确定所述第一相机的第二分辨率图像中像素点与所述第二相机的第二分辨率图像中像素点的第二分辨率像素映射表,包括:
基于所述第一分辨率极线查找表,根据所述第一相机的第一分辨率图像与第二分辨率图像的像素映射关系,及所述第二相机的第一分辨率图像与第二分辨率图像的像素映射关系,得到所述第一相机的第二分辨率图像中像素点在所述深度值集合中各所述深度值下到所述第二相机的第二分辨率图像中像素点的第二分辨率像素映射表。
6.根据权利要求5所述的方法,其特征在于,所述确定待匹配像素点与对应的候选匹配像素点,包括:
根据所述第一相机的第二分辨率图像中的像素点在所述深度值集合中各所述深度值下到所述第二相机的第二分辨率图像的像素映射表,从所述第二相机的候选匹配图像中确定所述待匹配像素点在所述第一分辨率下的深度值集合中各深度值下对应的候选匹配像素点。
7.根据权利要求1所述的方法,其特征在于,所述根据所述第二分辨率像素映射表,建立所述第一相机在第二分辨率图像上的高精度匹配代价空间,包括:
根据所述第二分辨率像素映射表,在所述深度值集合中各所述深度值下,得到所述第一相机的第二分辨率图像中的像素点及对应的第二相机的第二分辨率图像中的像素点,建立所述第一相机在第二分辨率图像上的高精度匹配代价空间。
8.根据权利要求7所述的方法,其特征在于,所述通过对所述初始匹配代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值,包括:
当所述待匹配像素点存在至少两个对应的候选匹配像素时,对所述初始代价值进行加权求和处理,得到加权求和处理后的初始代价值;
通过对所述加权求和处理后的初始代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值。
9.根据权利要求1所述的方法,其特征在于,所述通过对所述均值处理后的初始代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值,包括:
根据动态规划算法对所述初始代价值进行代价聚合处理,得到初始深度值;
对所述初始深度值进行插值处理,得到各所述待匹配像素点的目标深度值。
10.一种图像稠密立体匹配装置,其特征在于,所述装置包括:
获取模块,用于获取多目相机中第一相机的待匹配图像和至少一个第二相机的候选匹配图像;所述待匹配图像和所述候选匹配图像为第一分辨率图像;
第一建立模块,用于建立所述多目相机的第一分辨率极线查找表;
确定模块,用于根据所述第一分辨率极线查找表及所述第一分辨率图像与第二分辨率图像之间的映射关系,确定所述第一相机的第二分辨率图像中像素点与所述第二相机的第二分辨率图像中像素点的第二分辨率像素映射表;
第二建立模块,用于根据所述第二分辨率像素映射表,建立所述第一相机在第二分辨率图像上的高精度匹配代价空间;
计算模块,用于对所述高精度匹配代价空间进行匹配代价计算,确定各所述待匹配像素点与对应的候选匹配像素点之间的初始代价值;
聚合处理模块,用于通过对所述初始代价值进行代价聚合处理得到各所述待匹配像素点的目标深度值,根据各所述目标深度值确定所述待匹配图像的初始深度图。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
CN202110658460.3A 2021-06-15 2021-06-15 图像稠密立体匹配方法、装置和计算机设备 Active CN113436269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110658460.3A CN113436269B (zh) 2021-06-15 2021-06-15 图像稠密立体匹配方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110658460.3A CN113436269B (zh) 2021-06-15 2021-06-15 图像稠密立体匹配方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN113436269A true CN113436269A (zh) 2021-09-24
CN113436269B CN113436269B (zh) 2023-06-30

Family

ID=77755987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110658460.3A Active CN113436269B (zh) 2021-06-15 2021-06-15 图像稠密立体匹配方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN113436269B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115908723A (zh) * 2023-03-09 2023-04-04 中国科学技术大学 基于区间感知的极线引导多视图立体重建方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5383013A (en) * 1992-09-18 1995-01-17 Nec Research Institute, Inc. Stereoscopic computer vision system
CN102005039A (zh) * 2010-08-24 2011-04-06 浙江大学 基于泰勒级数模型的鱼眼相机立体视觉深度测量方法
CN105574875A (zh) * 2015-12-18 2016-05-11 燕山大学 一种基于极曲线几何的鱼眼图像稠密立体算法
CN106340036A (zh) * 2016-08-08 2017-01-18 东南大学 一种基于双目立体视觉的立体匹配方法
US20170230633A1 (en) * 2015-07-08 2017-08-10 Korea University Research And Business Foundation Method and apparatus for generating projection image, method for mapping between image pixel and depth value
CN107909543A (zh) * 2017-12-27 2018-04-13 秦皇岛视听机械研究所 一种鱼眼双目视觉立体匹配空间定位方法
CN110310320A (zh) * 2019-07-09 2019-10-08 南京美基森信息技术有限公司 一种双目视觉匹配代价聚合优化方法
US20190324134A1 (en) * 2018-04-23 2019-10-24 KMB Telematics, Inc. Imaging using frequency-scanned radar
US20200128225A1 (en) * 2018-10-23 2020-04-23 Xi'an Jiaotong University Depth Information Acquisition Method and Device
CN111145342A (zh) * 2019-12-27 2020-05-12 山东中科先进技术研究院有限公司 一种双目散斑结构光三维重建方法及系统
CN111260715A (zh) * 2020-01-20 2020-06-09 深圳市普渡科技有限公司 深度图的处理方法、小障碍物检测方法及系统
CN111402129A (zh) * 2020-02-21 2020-07-10 西安交通大学 一种基于联合上采样卷积神经网络的双目立体匹配方法
CN111583313A (zh) * 2020-03-25 2020-08-25 上海物联网有限公司 一种基于PSMNet改进的双目立体匹配方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5383013A (en) * 1992-09-18 1995-01-17 Nec Research Institute, Inc. Stereoscopic computer vision system
CN102005039A (zh) * 2010-08-24 2011-04-06 浙江大学 基于泰勒级数模型的鱼眼相机立体视觉深度测量方法
US20170230633A1 (en) * 2015-07-08 2017-08-10 Korea University Research And Business Foundation Method and apparatus for generating projection image, method for mapping between image pixel and depth value
CN105574875A (zh) * 2015-12-18 2016-05-11 燕山大学 一种基于极曲线几何的鱼眼图像稠密立体算法
CN106340036A (zh) * 2016-08-08 2017-01-18 东南大学 一种基于双目立体视觉的立体匹配方法
CN107909543A (zh) * 2017-12-27 2018-04-13 秦皇岛视听机械研究所 一种鱼眼双目视觉立体匹配空间定位方法
US20190324134A1 (en) * 2018-04-23 2019-10-24 KMB Telematics, Inc. Imaging using frequency-scanned radar
US20200128225A1 (en) * 2018-10-23 2020-04-23 Xi'an Jiaotong University Depth Information Acquisition Method and Device
CN110310320A (zh) * 2019-07-09 2019-10-08 南京美基森信息技术有限公司 一种双目视觉匹配代价聚合优化方法
CN111145342A (zh) * 2019-12-27 2020-05-12 山东中科先进技术研究院有限公司 一种双目散斑结构光三维重建方法及系统
CN111260715A (zh) * 2020-01-20 2020-06-09 深圳市普渡科技有限公司 深度图的处理方法、小障碍物检测方法及系统
CN111402129A (zh) * 2020-02-21 2020-07-10 西安交通大学 一种基于联合上采样卷积神经网络的双目立体匹配方法
CN111583313A (zh) * 2020-03-25 2020-08-25 上海物联网有限公司 一种基于PSMNet改进的双目立体匹配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
熊文莉: "基于鱼眼镜头的双目立体视觉匹配算法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115908723A (zh) * 2023-03-09 2023-04-04 中国科学技术大学 基于区间感知的极线引导多视图立体重建方法
CN115908723B (zh) * 2023-03-09 2023-06-16 中国科学技术大学 基于区间感知的极线引导多视图立体重建方法

Also Published As

Publication number Publication date
CN113436269B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
US10659768B2 (en) System and method for virtually-augmented visual simultaneous localization and mapping
WO2020001168A1 (zh) 三维重建方法、装置、设备和存储介质
CN111368717B (zh) 视线确定方法、装置、电子设备和计算机可读存储介质
US20210118162A1 (en) Depth information calculation method and device based on light-field-binocular system
CN108965853B (zh) 一种集成成像三维显示方法、装置、设备及存储介质
CN116129037B (zh) 视触觉传感器及其三维重建方法、系统、设备及存储介质
CN112150518B (zh) 一种基于注意力机制的图像立体匹配方法及双目设备
CN112733641A (zh) 物体尺寸测量方法、装置、设备及存储介质
CN108444452B (zh) 目标经纬度和拍摄装置的三维空间姿态的检测方法及装置
CN113436269B (zh) 图像稠密立体匹配方法、装置和计算机设备
CN114742703A (zh) 双目立体全景图像的生成方法、装置、设备和存储介质
CN113808269A (zh) 地图生成方法、定位方法、系统及计算机可读存储介质
CN116778094B (zh) 一种基于优选视角拍摄的建筑物变形监测方法及装置
CN111161138B (zh) 用于二维全景图像的目标检测方法、装置、设备、介质
CN111091117B (zh) 用于二维全景图像的目标检测方法、装置、设备、介质
CN112767457A (zh) 一种基于主成分分析的平面点云匹配方法及装置
CN103489165A (zh) 一种面向视频拼接的小数查找表生成方法
CN113808185B (zh) 图像深度恢复方法、电子设备及存储介质
CN110300991A (zh) 表面图形确定方法和装置
CN110196638B (zh) 基于目标检测和空间投影的移动端增强现实方法和系统
CN112615993A (zh) 深度信息获取方法、双目摄像模组、存储介质及电子设备
CN113159197A (zh) 一种纯旋转运动状态判定方法及装置
CN113763468A (zh) 一种定位方法、装置、系统及存储介质
CN111178300B (zh) 目标检测方法、装置、设备、介质
CN113436256B (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