CN108305281B - 图像的校准方法、装置、存储介质、程序产品和电子设备 - Google Patents
图像的校准方法、装置、存储介质、程序产品和电子设备 Download PDFInfo
- Publication number
- CN108305281B CN108305281B CN201810136229.6A CN201810136229A CN108305281B CN 108305281 B CN108305281 B CN 108305281B CN 201810136229 A CN201810136229 A CN 201810136229A CN 108305281 B CN108305281 B CN 108305281B
- Authority
- CN
- China
- Prior art keywords
- image
- data
- key points
- determining
- transformed
- 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
Images
Classifications
-
- 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/38—Registration of image sequences
-
- 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
- G06T7/337—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供一种图像的校准方法、装置、存储介质、程序产品和电子设备,涉及图像处理领域。其中,所述方法包括:获取第一图像和第二图像中匹配的多对关键点,所述第一图像与所述第二图像为立体图像对;根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据;根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐。通过本发明实施例,使得在维持图像校准的稳定性的同时,还提高了图像校准的准确度。
Description
技术领域
本发明实施例涉及图像处理领域,尤其涉及一种图像的校准方法、装置、存储介质、程序产品和电子设备。
背景技术
随着双镜头相机模块的快速发展,表示捕获的场景的第三维的深度信息可用于智能手机。目前,可利用立体匹配技术依据具有双摄像头的智能手机获得的主图像和辅图像估算得到深度信息。景深渲染是基于深度信息应用的趋势之一。作为最典型应用的大光圈浅景深已经成功应用于多款具有双摄像头的智能手机上。为了在双摄智能手机上实现深度估计的快速运算,需要对智能手机的两个摄像头分别获得的主图像和辅图像进行校准。校准的目的是使两幅图像的对应像素点处于图像上的同一条水平线上,这样立体匹配的搜索范围就由未校准前的二维搜索变成校准后的一维搜索,从而大大减少了立体匹配的计算量。
在现有技术中,图像校准是将一对投影变换应用到一对对极几何已知的的图像的过程,这样原始图像中的对极线可水平映射至变换图像中的对齐线。然而,为了获得对极几何,现有的图像校准方法要求对双摄智能手机进行线下标定或线上标定。虽然使用双摄智能手机捕获立体图像是很容易的,但是标定它们是很麻烦的。具体地,在出厂前对每部双摄智能手机都标定一次。此外,双摄智能手机出厂后两个摄像头不可避免地发生一些轻微的偏移,导致使用事先的标定数据的校准效果下降,甚至事先标定的数据完全不可用。如果智能手机的摄像头是变焦镜头,一旦在实际使用时摄像头的焦距相对标定的焦距发生了变化,直接使用事先标定的数据也不能达到很好的校准效果。
发明内容
本发明实施例的目的在于,提供一种图像校准的技术方案。
根据本发明实施例的第一方面,提供了一种图像的校准方法。所述方法包括:获取第一图像和第二图像中匹配的多对关键点,所述第一图像与所述第二图像为立体图像对;根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据;根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐。
可选地,所述获取第一图像和第二图像中匹配的多对关键点,包括:对所述第一图像和所述第二图像分别进行特征提取,获得所述第一图像的多个关键点和所述第二图像的多个关键点;根据所述第一图像和所述第二图像中的关键点的特征向量对所述第一图像的多个关键点与所述第二图像的多个关键点进行匹配,获得所述第一图像和所述第二图像中匹配的多对关键点。
可选地,所述根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据,包括:迭代地执行以下步骤t次:在所述多对关键点中随机选择n对关键点,并根据所述n对关键点中关键点的位置数据,确定用于所述第二图像中匹配关键点位置变换的第二变换数据;根据所述第二变换数据对所述第二图像中匹配关键点的位置进行变换,获得所述第二图像中的匹配关键点变换后的位置数据;确定所述第二图像中每个匹配关键点变换后的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值的绝对值;确定所述第二图像中所述差值的绝对值小于预设阈值的匹配关键点的数量与所述第二图像中匹配关键点的数量的比值;根据每次迭代获得的比值确定最大比值,并将获得最大比值的迭代中的第二变换数据确定为所述第一变换数据,其中,t和n均为常数。
可选地,所述根据所述第一变换数据对所述第二图像中像素点的位置进行变换之后,所述方法还包括:根据所述第二图像的尺寸数据以及变换后的第二图像中每条边的中间像素点的位置数据,确定用于拉伸所述变换后的第二图像的拉伸数据;根据所述拉伸数据对所述变换后的第二图像进行拉伸,获得拉伸后的第二图像。
可选地,所述根据所述第二图像的尺寸数据以及变换后的第二图像中每条边的中间像素点的位置数据,确定用于拉伸所述变换后的第二图像的拉伸数据,包括:根据所述变换后的第二图像中每条边的中间像素点的位置数据,确定所述变换后的第二图像中连接上下两条边的中间像素点的第一向量和连接左右两条边的中间像素点的第二向量;根据所述第二图像的尺寸数据、所述第一向量以及所述第二向量确定用于拉伸所述变换后的第二图像的拉伸数据。
可选地,所述拉伸数据包括切变矩阵。
可选地,所述根据所述拉伸数据对所述变换后的第二图像进行拉伸之后,所述方法还包括:根据所述拉伸后的第二图像中的匹配关键点的位置数据和所述第一图像中匹配关键点的位置数据,确定用于平移所述拉伸后的第二图像的平移数据;根据所述平移数据对所述拉伸后的第二图像进行平移,获得平移后的第二图像。
可选地,所述根据所述拉伸后的第二图像中的匹配关键点的位置数据和所述第一图像中匹配关键点的位置数据,确定用于平移所述拉伸后的第二图像的平移数据,包括:确定所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值;根据所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值确定最大差值;根据所述最大差值确定用于平移所述拉伸后的第二图像的平移数据。
可选地,所述平移数据包括位移矩阵。
可选地,所述第一变换数据包括对齐矩阵。
可选地,所述第一图像为所述立体图像对中的主图像,所述第二图像为所述立体图像对中的辅图像。
根据本发明实施例的第二方面,提供了一种图像的校准装置。所述装置包括:获取模块,用于获取第一图像和第二图像中匹配的多对关键点,所述第一图像与所述第二图像为立体图像对;第一确定模块,用于根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据;变换模块,用于根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐。
可选地,所述获取模块,包括:特征提取子模块,用于对所述第一图像和所述第二图像分别进行特征提取,获得所述第一图像的多个关键点和所述第二图像的多个关键点;匹配子模块,用于根据所述第一图像和所述第二图像中的关键点的特征向量对所述第一图像的多个关键点与所述第二图像的多个关键点进行匹配,获得所述第一图像和所述第二图像中匹配的多对关键点。
可选地,所述第一确定模块,具体用于:迭代地执行以下步骤t次:在所述多对关键点中随机选择n对关键点,并根据所述n对关键点中关键点的位置数据,确定用于所述第二图像中匹配关键点位置变换的第二变换数据;根据所述第二变换数据对所述第二图像中匹配关键点的位置进行变换,获得所述第二图像中的匹配关键点变换后的位置数据;确定所述第二图像中每个匹配关键点变换后的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值的绝对值;确定所述第二图像中所述差值的绝对值小于预设阈值的匹配关键点的数量与所述第二图像中匹配关键点的数量的比值;根据每次迭代获得的比值确定最大比值,并将获得最大比值的迭代中的第二变换数据确定为所述第一变换数据,其中,t和n均为常数。
可选地,所述装置还包括:第二确定模块,用于在根据所述第一变换数据对所述第二图像中像素点的位置进行变换之后,根据所述第二图像的尺寸数据以及变换后的第二图像中每条边的中间像素点的位置数据,确定用于拉伸所述变换后的第二图像的拉伸数据;拉伸模块,用于根据所述拉伸数据对所述变换后的第二图像进行拉伸,获得拉伸后的第二图像。
可选地,所述第二确定模块,具体用于:根据所述变换后的第二图像中每条边的中间像素点的位置数据,确定所述变换后的第二图像中连接上下两条边的中间像素点的第一向量和连接左右两条边的中间像素点的第二向量;根据所述第二图像的尺寸数据、所述第一向量以及所述第二向量确定用于拉伸所述变换后的第二图像的拉伸数据。
可选地,所述拉伸数据包括切变矩阵。
可选地,所述装置还包括:第三确定模块,用于在根据所述拉伸数据对所述变换后的第二图像进行拉伸之后,根据所述拉伸后的第二图像中的匹配关键点的位置数据和所述第一图像中匹配关键点的位置数据,确定用于平移所述拉伸后的第二图像的平移数据;平移模块,用于根据所述平移数据对所述拉伸后的第二图像进行平移,获得平移后的第二图像。
可选地,所述第三确定模块,具体用于:确定所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值;根据所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值确定最大差值;根据所述最大差值确定用于平移所述拉伸后的第二图像的平移数据。
可选地,所述平移数据包括位移矩阵。
可选地,所述第一变换数据包括对齐矩阵。
可选地,所述第一图像为所述立体图像对中的主图像,所述第二图像为所述立体图像对中的辅图像。
根据本发明实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现本发明实施例的第一方面所述的图像的校准方法的步骤。
根据本发明实施例的第四方面,提供了一种计算机程序产品,其包括有计算机程序指令,其中,所述程序指令被处理器执行时实现本发明实施例的第一方面所述的图像的校准方法的步骤。
根据本发明实施例的第五方面,提供了一种电子设备,包括:处理器、存储器、通信元件和通信总线,所述处理器、所述存储器和所述通信元件通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如本发明实施例的第一方面所述的图像的校准方法的步骤。
根据本发明实施例提供的技术方案,获取立体图像对中的第一图像和第二图像中匹配的多对关键点,并根据多对关键点中关键点的位置数据确定用于第二图像中像素点位置变换的变换数据,再根据所述变换数据对第二图像中像素点的位置进行变换,使得第二图像中的像素点分别与第一图像中对应的像素点对齐,相比于现有的图像校准技术,本发明实施例无需立体图像对的对极几何,并且仅对立体图像对中的一幅图像进行位置变换,使得在维持图像校准的稳定性的同时,还提高了图像校准的准确度。
附图说明
图1是根据本发明实施例一的一种图像的校准方法的流程图;
图2是根据本发明实施例二的一种图像的校准方法的流程图;
图3是根据本发明实施例三的一种图像的校准装置的结构示意图;
图4是根据本发明实施例四的一种图像的校准装置的结构示意图;
图5是根据本发明实施例五的一种图像的校准装置的结构示意图;
图6是根据本发明实施例六的一种电子设备的结构示意图。
具体实施方式
下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本发明实施例的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
实施例一
图1是根据本发明实施例一的一种图像的校准方法的流程图。如图1所示,本实施例提供的图像的校准方法包括以下步骤:
在步骤S101中,获取第一图像和第二图像中匹配的多对关键点。
这里,所述第一图像与所述第二图像为立体图像对。所述立体图像对为场景内容相同而视觉角度不同的两幅图像。通常情况下,所述立体图像对包括合成立体图像对和真实立体图像对。其中,所述真实立体图像对可为针对同一场景以两种稍有不同的视角拍摄的两幅图像所构成的图像对。例如,具有横向布置的双镜头的相机针对同一场景拍摄的两幅图像所构成的图像对,具有纵向布置的双镜头的相机针对同一场景拍摄的两幅图像所构成的图像对,具有双镜头相机模块的智能手机、无人机、机器人或车辆针对同一场景拍摄的两幅图像所构成的图像对,水平移动单摄像头的相机并在两个时间点针对同一场景拍摄的两幅图像所构成的图像对。所述合成立体图像对可为针对相同的图像内容以两种不同的相机参数配置合成的存在着视差的两幅图像所构成的图像对。
在本实施例中,可采用SIFT(Scale Invariant Feature Transform,尺度不变特征转换)、SURF(Speeded Up Robust Features,加速稳健特征)以及BRIEF(Binary robustindependent elementary features,二元稳健的独立基本特征)等这类经典的特征描述方法来获取第一图像和第二图像中匹配的多对关键点。当然,还可通过手工标定的方式来获取第一图像和第二图像中匹配的多对关键点。具体的获取方法可由本领域技术人员根据实际需要进行选择,本发明实施例对此不作任何限制。
在步骤S102中,根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据。
在本实施例中,所述多对关键点中关键点的位置数据可为每对关键点中每个关键点的位置数据,所述关键点的位置数据可为关键点的二维坐标数据,所述第二图像中像素点的位置变换可为第二图像中像素点的二维坐标数据的变换,所述第一变换数据可包括用于对齐第二图像中的像素点与第一图像中的相应像素点的对齐矩阵。其中,所述关键点的位置数据是在获取第一图像和第二图像中匹配的多对关键点时利用二维坐标系自动获得的。另外,关键点对的一个关键点来自第一图像,另一个关键点来自第二图像,并且这两个关键点是匹配的。关键点对的位置数据指的是,第一图像中的关键点的位置数据和第二图像中的关键点的位置数据都要。
在步骤S103中,根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐。
在具体的实施方式中,可根据所述第一变换数据对所述第二图像中每个像素点的位置进行变换,使得所述第二图像中的每个像素点分别与所述第一图像中对应的像素点对齐。当所述关键点的位置数据为关键点的二维坐标数据时,可根据所述第一变换数据对所述第二图像中每个像素点的二维坐标数据进行变换,使得所述第二图像中的每个像素点的横坐标分别与所述第一图像中对应的像素点的横坐标对齐。当然,还可根据所述第一变换数据对所述第二图像中每个像素点的二维坐标数据进行变换,使得所述第二图像中的每个像素点的纵坐标分别与所述第一图像中对应的像素点的纵坐标对齐。具体的对齐方法可由本领域技术人员根据实际需要进行选择,本发明实施例对此不作任何限制。另外,由于立体图像对中的第一图像和第二图像存在视差,不能使得第二图像中的像素点的横坐标和纵坐标分别与所述第一图像中的对应像素点的横坐标和纵坐标对齐。
另外,在本实施例中,第一图像和第二图像是没有区别的,第一图像或第二图像均可以是被处理的对象。具体地,当第二图像是被处理的对象时,对第二图像中的像素点进行位置变换,以使得第二图像中的像素点分别与第一图像中对应的像素点对齐。当第一图像是被处理的对象时,对第一图像中的像素点进行位置变换,以使得第一图像中的像素点分别与第二图像中对应的像素点对齐。总之,是仅对立体图像对中的一幅图像的像素点进行位置变换,另一幅图像的像素点不需要进行位置变换。
根据本实施例提供的图像的校准方法,获取立体图像对中的第一图像和第二图像中匹配的多对关键点,并根据多对关键点中关键点的位置数据确定用于第二图像中像素点位置变换的变换数据,再根据所述变换数据对第二图像中像素点的位置进行变换,使得第二图像中的像素点分别与第一图像中对应的像素点对齐,相比于现有的图像校准技术,本发明实施例无需立体图像对的对极几何,并且仅对立体图像对中的一幅图像进行位置变换,使得在维持图像校准的稳定性的同时,还提高了图像校准的准确度。
本实施例的图像校准方法可以由任意适当的具有图像或数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、PC机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(PDA)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如Google Glass、Oculus Rift、Hololens、Gear VR)等。
实施例二
图2是根据本发明实施例二的一种图像的校准方法的流程图。如图2所示,本实施例提供的图像的校准方法包括以下步骤:
在步骤S201中,获取第一图像和第二图像中匹配的多对关键点。
在本实施例中,可采用SIFT、SURF以及BRIEF等这类经典的特征描述方法来获取第一图像和第二图像中匹配的多对关键点。本申请的发明人发现,无论采用哪一种经典的特征描述方法来获取第一图像和第二图像中匹配的多对关键点,所述获取第一图像和第二图像中匹配的多对关键点具体包括以下两个步骤:对所述第一图像和所述第二图像分别进行特征提取,获得所述第一图像的多个关键点和所述第二图像的多个关键点;再根据所述第一图像和所述第二图像中的关键点的特征向量对所述第一图像的多个关键点与所述第二图像的多个关键点进行匹配,获得所述第一图像和所述第二图像中匹配的多对关键点。使用不同的特征描述方法来获取第一图像和第二图像中匹配的多对关键点的区别在于,表征关键点的特征的特征向量的维数不相同,例如,特征向量的维数可为64维或128维等。一般情况下,关键点的特征向量的维数越大,那么表征关键点的特征的精度越高。另外,当第一图像中的关键点的特征向量与第二图像中的关键点的特征向量的相似度大于或等于预设的相似度阈值时,可确定第一图像中的关键点与第二图像中的关键点为匹配的一对关键点。这样,第一图像中的关键点与第二图像中的关键点构成了对应的关系。
在步骤S202中,根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据。
在本实施例中,可采用{pi,,p’i}N i=1表示第一图像和第二图像中匹配的多对关键点,其中,pi=[xi,yi]表示第一图像中第i个匹配关键点的二维坐标数据,p’i=[x’i,y’i]表示第二图像中第i个匹配关键点的二维坐标数据,pi和p’i是第一图像和第二图像中匹配的一对关键点。为了表示方便,可采用三维计算机视觉中普遍使用的齐次坐标***。其中,图像中的像素点的二维坐标数据可通过三维列向量来表示,例如,第一图像中第i个关键点的二维坐标数据在齐次坐标系中可表示为pi=[xi,yi,1]T,第二图像中第i个关键点的二维坐标数据在齐次坐标系中可表示为p’i=[x’i,y’i,1]T。另外,由于齐次坐标系中的点具有尺度不变性,因此,[x,y,1]T和[ax,ay,a]T表示相同的点。其中,a和N表示不为零的常数。
在具体的实施方式中,可根据所述多对关键点中关键点的二维坐标数据计算得到用于所述第二图像中像素点位置转换的对齐矩阵。在给出对齐矩阵的计算公式之前,可先详细描述对齐矩阵的计算公式的推导过程。具体地,可通过最小化变换后的第二图像中的关键点与第一图像中对应的关键点之间在竖直方向上的位置差值来计算得到对齐矩阵Hy,也即是,通过最小化变换后的第二图像中的关键点的纵坐标与第一图像中对应的关键点的纵坐标的差值来计算得到对齐矩阵Hy。由于变换后的第二图像中的像素点的纵坐标取决于对齐矩阵Hy最后两排的元素,可将对齐矩阵Hy定义为:
其中,h21、h22、h23、h31以及h32分别表示对齐矩阵H y中的元素。另外,由于在齐次坐标中,相乘一个非零的标量不改变对齐矩阵,因此,可简单地令h33=1。这里,令h2和h3分别表示对齐矩阵Hy的第二排的元素和第三排的元素。然后,可通过以下公式二来最小化变换后的第二图像中的关键点与第一图像中对应的关键点之间在竖直方向上的位置差值:
其中,Hy *表示对齐矩阵Hy的伴随矩阵。通过对公式二进行变换,可获得以下公式三:
具体地,最小化变换后的第二图像中的关键点与第一图像中对应的关键点之间在竖直方向上的位置差值的问题转化成了多变量回归的问题。具体的回归函数如下:
因此,最优解可由以下公式五给出:
h★=A+y公式五
其中,A+表示公式四中矩阵A的伪逆矩阵,h*表示公式四中矩阵h的伴随矩阵,y具体为公式四中的y矩阵。
由以上描述的内容可知,公式五可为对齐矩阵的计算公式。在获得多对关键点中每个关键点的二维坐标数据的情况下,可根据公式五计算得到对齐矩阵Hy中的元素h21、h22、h23、h31以及h32。另外,以上描述的内容是通过最小化变换后的第二图像中的关键点与第一图像中对应的关键点之间在竖直方向上的位置差值来计算得到对齐矩阵,可以理解的是,本领域技术人员还可通过最小化变换后的第二图像中的关键点与第一图像中对应的关键点之间在水平方向上的位置差值来计算得到对齐矩阵,也即是,通过最小化变换后的第二图像中的关键点的横坐标与第一图像中对应的关键点的横坐标的差值来计算得到对齐矩阵,本发明实施例对此不做任何限制。此外,无论是通过最小化变换后的第二图像中的关键点的横坐标与第一图像中对应的关键点的横坐标的差值来计算得到对齐矩阵,还是通过最小化变换后的第二图像中的关键点的纵坐标与第一图像中对应的关键点的纵坐标的差值来计算得到对齐矩阵,原理和求解方式并没有任何的不同。因此,通过最小化变换后的第二图像中的关键点的横坐标与第一图像中对应的关键点的横坐标的差值来计算得到对齐矩阵的过程在此不再赘述。
在本发明一可选实施方式中,为了提高计算对齐矩阵的鲁棒性,可使用RANSAC(random sample consensus,随机抽样一致性)来去除匹配的多对关键点中的误匹配的关键点对。具体地,迭代地执行以下步骤t次:在所述多对关键点中随机选择n对关键点,并根据所述n对关键点中关键点的位置数据,确定用于所述第二图像中匹配关键点位置变换的第二变换数据;根据所述第二变换数据对所述第二图像中匹配关键点的位置进行变换,获得所述第二图像中的匹配关键点变换后的位置数据;确定所述第二图像中每个匹配关键点变换后的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值的绝对值;确定所述第二图像中所述差值的绝对值小于预设阈值的匹配关键点的数量与所述第二图像中匹配关键点的数量的比值。在迭代地执行完以上步骤t次之后,根据每次迭代获得的比值确定最大比值,并将获得最大比值的迭代中的第二变换数据确定为所述第一变换数据,其中,t和n均为常数。
更具体地,所述第二图像中的匹配关键点可为第二图像中与第一图像中的关键点匹配的关键点,所述第二变换数据可包括临时的对齐矩阵,所述第一图像中的匹配关键点可为第一图像中与第二图像中的关键点匹配的关键点。在确定所述第二变换数据时,可通过上述公式五根据所述n对关键点中每个关键点的位置数据计算得到所述第二变换数据。在确定所述第二图像中每个匹配关键点变换后的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值的绝对值时,可具体确定所述第二图像中每个匹配关键点变换后的纵坐标分别与所述第一图像中对应的匹配关键点的纵坐标的差值的绝对值。此外,可根据以下公式六计算得到所述第二图像中所述差值的绝对值小于预设阈值的匹配关键点的数量与所述第二图像中匹配关键点的数量的比值:
其中,表示变换后的第二图像中第i个匹配关键点的纵坐标,yi表示第一图像中第i个匹配关键点的纵坐标,N表示第一图像和第二图像中匹配的关键点对的对数,1(·)表示指示器函数,∈表示所述预设阈值,例如,∈可为1、2或3等,PAP表示变换后的第二图像中与第一图像中的匹配关键点对齐的匹配关键点的比例。这里,将变换后的第二图像中所述差值的绝对值小于预设阈值的匹配关键点认定为变换后的第二图像中与第一图像中的匹配关键点对齐的匹配关键点。
在步骤S203中,根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐。
在本实施例中,当所述第一变换数据为通过最小化变换后的第二图像中的关键点的纵坐标与第一图像中对应的关键点的纵坐标的差值计算得到的对齐矩阵时,可根据所述第一变换数据对所述第二图像中每个像素点的位置进行变换,使得所述第二图像中的每个像素点的纵坐标分别与所述第一图像中对应的像素点的纵坐标对齐,从而实现所述第一图像与所述第二图像的校准。当所述第一变换数据为通过最小化变换后的第二图像中的关键点的横坐标与第一图像中对应的关键点的横坐标的差值计算得到的对齐矩阵时,可根据所述第一变换数据对所述第二图像中每个像素点的位置进行变换,使得所述第二图像中的每个像素点的横坐标分别与所述第一图像中对应的像素点的横坐标对齐,从而实现所述第一图像与所述第二图像的校准。
在步骤S204中,根据所述第二图像的尺寸数据以及变换后的第二图像中每条边的中间像素点的位置数据,确定用于拉伸所述变换后的第二图像的拉伸数据。
在本实施例中,在确定用于拉伸所述变换后的第二图像的拉伸数据时,可根据所述变换后的第二图像中每条边的中间像素点的位置数据,确定所述变换后的第二图像中连接上下两条边的中间像素点的第一向量和连接左右两条边的中间像素点的第二向量;再根据所述第二图像的尺寸数据、所述第一向量以及所述第二向量确定用于拉伸所述变换后的第二图像的拉伸数据。具体地,所述第二图像的尺寸数据可为所述第二图像的宽度和高度,所述中间像素点的位置数据可为中间像素点的二维坐标数据,所述拉伸数据可包括用于拉伸所述变换后的第二图像的切变矩阵。之所以使用切变矩阵对位置变换后的第二图像进行拉伸,是因为第二图像在经过位置变换之后会遭受几何变形。例如,位置变换之前的第二图像的形状为长方形,位置变换之后的第二图像的形状变为平行四边形,此时,需要使用切变矩阵对位置变换之后的第二图像进行拉伸,以使位置变换之后的第二图像的形状恢复为长方形。再例如,位置变换之前的第二图像的形状为正方形,位置变换之后的第二图像的形状变为菱形,此时,需要使用切变矩阵对位置变换之后的第二图像进行拉伸,以使位置变换之后的第二图像的形状恢复为正方形。籍此,能够最小化经过位置变换后的第二图像的几何变形程度。
在具体的实施方式中,可根据所述第二图像的宽度和高度、所述第一向量以及所述第二向量计算得到用于拉伸所述变换后的第二图像的切变矩阵。在给出切变矩阵的计算公式之前,可先详细描述切变矩阵的计算公式的推导过程。按照切变矩阵的定义,可将切变矩阵定义如下:
其中,Hs表示所述切变矩阵,sa和sb分别表示切变矩阵Hs中的元素。
由于变换后的第二图像的拉伸(切变矩阵)仅与变换后的第二图像中的像素点的二维坐标数据中的横坐标相关,因此,在通过第一图像和第二图像中像素点的纵坐标的对齐实现第一图像和第二图像校准的情况下,变换后的第二图像的拉伸不会影响第一图像和第二图像校准的准确度。具体地,使用w和h分别表示第二图像的宽度和高度,那么第二图像中每条边的中间像素点的位置数据在齐次坐标系中分别表示为
在对第二图像进行位置变换和拉伸之前,第二图像的两条中线互相垂直,并且两条中线的长度的比值为h/w。在对第二图像进行位置变换和拉伸之后,假设经过位置变换和拉伸之后的第二图像的两条中线仍然互相垂直,并且两条中线的长度的比值仍然为h/w,那么切变矩阵Hs中的元素sa和sb可通过这种假设估算得到。具体地,可获得:
(Hsu)THsv=0 公式八
其中,将公式七分别代入公式八和公式九,再将公式八和公式九分别进行变换,可分别获得切变矩阵Hs中的元素sa和sb的计算公式,从而获得切变矩阵Hs的计算公式。具体地,切变矩阵Hs中的元素sa和sb的计算公式如下所示:
在获得所述第二图像的尺寸数据、所述第一向量以及所述第二向量的情况下,可根据公式十和公式十一分别计算得到切变矩阵Hs中的元素sa和sb。另外,在通过第一图像和第二图像中像素点的横坐标的对齐实现第一图像和第二图像校准的情况下,可根据相同的原理和求解方式获得仅与变换后的第二图像中的像素点的二维坐标数据中的纵坐标相关的切变矩阵,在此不再赘述。
在步骤S205中,根据所述拉伸数据对所述变换后的第二图像进行拉伸,获得拉伸后的第二图像。
在本实施例中,在通过第一图像和第二图像中像素点的纵坐标的对齐实现第一图像和第二图像校准的情况下,变换后的第二图像的拉伸仅与变换后的第二图像中的像素点的二维坐标数据中的横坐标相关。在通过第一图像和第二图像中像素点的横坐标的对齐实现第一图像和第二图像校准的情况下,变换后的第二图像的拉伸仅与变换后的第二图像中的像素点的二维坐标数据中的纵坐标相关。因此,变换后的第二图像的拉伸不会影响第一图像和第二图像校准的准确度。籍此,在不影响第一图像和第二图像校准的准确度的情况下,能够减少变换后的第二图像的几何变形程度。
在本发明一可选实施方式中,在对变换后的第二图像进行拉伸之后,所述方法还包括:根据所述拉伸后的第二图像中的匹配关键点的位置数据和所述第一图像中匹配关键点的位置数据,确定用于平移所述拉伸后的第二图像的平移数据;根据所述平移数据对所述拉伸后的第二图像进行平移,获得平移后的第二图像。籍此,能够使得平移后的第二图像中的像素点与第一图像中对应的像素点的最大视差为零,从而方便于后续第一图像和平移后的第二图像的立体匹配。
在具体的实施方式中,在确定用于平移所述拉伸后的第二图像的平移数据时,可先确定所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值,再根据所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值确定最大差值,再根据所述最大差值确定用于平移所述拉伸后的第二图像的平移数据。具体地,所述匹配关键点的位置数据可为匹配关键点的二维坐标数据,所述平移数据可包括用于平移所述拉伸后的第二图像的位移矩阵。在确定所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值时,可具体确定所述拉伸后的第二图像中的匹配关键点的二维坐标数据中的横坐标分别与所述第一图像中对应的匹配关键点的二维坐标数据中的横坐标的差值。
在本实施例中,位移矩阵Hk可用来平移拉伸后的第二图像,以使得平移后的第二图像中的像素点与第一图像中对应的像素点的最大视差为零,从而方便于后续第一图像和第二图像的立体匹配。位移矩阵Hk可定义如下:
其中,N表示第一图像和第二图像中匹配的关键点对的对数。在获得拉伸后的第二图像中的匹配关键点的位置数据和第一图像中匹配关键点的位置数据之后,可根据上述公式十三计算得到位移矩阵Hk中的元素k。
在本发明一可选实施方式中,所述第一图像为所述立体图像对中的主图像,所述第二图像为所述立体图像对中的辅图像。一般来说,主图像的画质略高于辅图像,是呈现给用户的图像,而辅图像是用于辅助主图像计算的图像,并且是不呈现给用户的图像。例如,主图像可为双摄手机中像素较高的摄像头拍摄的图像,辅图像可为双摄手机中像素较低的摄像头拍摄的图像。在图像校准的过程中,仅对辅图像进行位置变换、拉伸以及平移,而不对主图像进行相应的处理,因此,在图像校准的过程中,主图像没有任何的几何变形。籍此,能够极大地维持图像校准的稳定性。
需要说明的是,上述实施例二是针对横向布置双镜头的相机模块获得的立体图像对而提出的图像校准实施例,而对于竖向布置双镜头的相机模块获得的立体图像对,可先以相同的方向分别对立体图像对中的两幅图像进行垂直旋转,然后,再根据上述实施例二提供的图像校准方法实现立体图像对中两幅图像的校准。
在实际的应用中,本实施例提供的图像校准方法可应用于具有双镜头相机模块的智能手机、无人机、机器人以及无人驾驶车辆中。例如,可对出厂前不标定的双摄智能手机进行双目校准。当用户拍照或预览拍摄的图像时,可采用本实施例提供的对齐矩阵进行双目校准,或者可采用本实施例提供的对齐矩阵和切变矩阵进行双目校准,或者可采用本实施例提供的对齐矩阵、切变矩阵以及位移矩阵进行双目校准。用户可根据实际需要使用相关的校准方法进行双目校准。又例如,双摄智能手机在出厂前实施正常的产线标定方案。当用户拍照或预览拍摄的图像时,先使用预先标定的数据进行预校准,然后再采用本实施例提供的图像校准方法进行校准。又例如,先根据单目标定的参数对图像做去畸变操作或者根据焦距长度、视角对图像做放大缩小操作,再采用本实施例提供的图像校准方法进行校准。
根据本实施例提供的图像的校准方法,在根据第一变换数据对第二图像中像素点的位置进行变换之后,根据第二图像的尺寸数据以及变换后的第二图像中每条边的中间像素点的位置数据,确定用于拉伸变换后的第二图像的拉伸数据,再根据所述拉伸数据对变换后的第二图像进行拉伸,与现有的图像校准方法相比,在不影响第一图像和第二图像校准的准确度的情况下,能够减少变换后的第二图像的几何变形程度。
此外,在根据所述拉伸数据对变换后的第二图像进行拉伸之后,还可根据拉伸后的第二图像中的匹配关键点的位置数据和第一图像中匹配关键点的位置数据,确定用于平移拉伸后的第二图像的平移数据,再根据所述平移数据对拉伸后的第二图像进行平移,与现有的图像校准方法相比,能够使得平移后的第二图像中的像素点与第一图像中对应的像素点的最大视差为零,从而方便于后续第一图像和平移后的第二图像的立体匹配。
本实施例的图像的校准方法可以由任意适当的具有图像或数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、PC机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(PDA)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如Google Glass、Oculus Rift、Hololens、Gear VR)等。
实施例三
基于相同的技术构思,图3是示出根据本发明实施例三的一种图像的校准装置的结构示意图。可用以执行如实施例一所述的图像的校准方法的流程。
参照图3,该图像的校准装置包括获取模块301、第一确定模块302和变换模块303。
获取模块301,用于获取第一图像和第二图像中匹配的多对关键点,所述第一图像与所述第二图像为立体图像对;
第一确定模块302,用于根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据;
变换模块303,用于根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐。
通过本实施例提供的图像的校准装置,获取立体图像对中的第一图像和第二图像中匹配的多对关键点,并根据多对关键点中关键点的位置数据确定用于第二图像中像素点位置变换的变换数据,再根据所述变换数据对第二图像中像素点的位置进行变换,使得第二图像中的像素点分别与第一图像中对应的像素点对齐,相比于现有的图像校准技术,本发明实施例无需立体图像对的对极几何,并且仅对立体图像对中的一幅图像进行位置变换,使得在维持图像校准的稳定性的同时,还提高了图像校准的准确度。
实施例四
基于相同的技术构思,图4是根据本发明实施例四的一种图像的校准装置的结构示意图。可用以执行如实施例二所述的图像的校准方法的流程。
参照图4,该图像的校准装置包括获取模块401、第一确定模块402和变换模块403。其中,获取模块401,用于获取第一图像和第二图像中匹配的多对关键点,所述第一图像与所述第二图像为立体图像对;第一确定模块402,用于根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据;变换模块403,用于根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐。
可选地,所述获取模块401,包括:特征提取子模块4011,用于对所述第一图像和所述第二图像分别进行特征提取,获得所述第一图像的多个关键点和所述第二图像的多个关键点;匹配子模块4012,用于根据所述第一图像和所述第二图像中的关键点的特征向量对所述第一图像的多个关键点与所述第二图像的多个关键点进行匹配,获得所述第一图像和所述第二图像中匹配的多对关键点。
可选地,所述第一确定模块402,具体用于:迭代地执行以下步骤t次:在所述多对关键点中随机选择n对关键点,并根据所述n对关键点中关键点的位置数据,确定用于所述第二图像中匹配关键点位置变换的第二变换数据;根据所述第二变换数据对所述第二图像中匹配关键点的位置进行变换,获得所述第二图像中的匹配关键点变换后的位置数据;确定所述第二图像中每个匹配关键点变换后的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值的绝对值;确定所述第二图像中所述差值的绝对值小于预设阈值的匹配关键点的数量与所述第二图像中匹配关键点的数量的比值;根据每次迭代获得的比值确定最大比值,并将获得最大比值的迭代中的第二变换数据确定为所述第一变换数据,其中,t和n均为常数。
可选地,所述装置还包括:第二确定模块404,用于在根据所述第一变换数据对所述第二图像中像素点的位置进行变换之后,根据所述第二图像的尺寸数据以及变换后的第二图像中每条边的中间像素点的位置数据,确定用于拉伸所述变换后的第二图像的拉伸数据;拉伸模块405,用于根据所述拉伸数据对所述变换后的第二图像进行拉伸,获得拉伸后的第二图像。
可选地,所述第二确定模块404,具体用于:根据所述变换后的第二图像中每条边的中间像素点的位置数据,确定所述变换后的第二图像中连接上下两条边的中间像素点的第一向量和连接左右两条边的中间像素点的第二向量;根据所述第二图像的尺寸数据、所述第一向量以及所述第二向量确定用于拉伸所述变换后的第二图像的拉伸数据。
可选地,所述拉伸数据包括切变矩阵。
需要说明的是,对于本发明实施例提供的图像的校准装置还涉及的具体细节已在本发明实施例提供的图像的校准方法中作了详细的说明,在此不在赘述。
实施例五
基于相同的技术构思,图5是根据本发明实施例五的一种图像的校准装置的结构示意图。可用以执行如实施例二所述的图像的校准方法的流程。
参照图5,该图像的校准装置包括获取模块501、第一确定模块502和变换模块503。其中,获取模块501,用于获取第一图像和第二图像中匹配的多对关键点,所述第一图像与所述第二图像为立体图像对;第一确定模块502,用于根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据;变换模块503,用于根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐。
可选地,所述第一确定模块502,具体用于:迭代地执行以下步骤t次:在所述多对关键点中随机选择n对关键点,并根据所述n对关键点中关键点的位置数据,确定用于所述第二图像中匹配关键点位置变换的第二变换数据;根据所述第二变换数据对所述第二图像中匹配关键点的位置进行变换,获得所述第二图像中的匹配关键点变换后的位置数据;确定所述第二图像中每个匹配关键点变换后的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值的绝对值;确定所述第二图像中所述差值的绝对值小于预设阈值的匹配关键点的数量与所述第二图像中匹配关键点的数量的比值;根据每次迭代获得的比值确定最大比值,并将获得最大比值的迭代中的第二变换数据确定为所述第一变换数据,其中,t和n均为常数。
可选地,所述装置还包括:第二确定模块504,用于在根据所述第一变换数据对所述第二图像中像素点的位置进行变换之后,根据所述第二图像的尺寸数据以及变换后的第二图像中每条边的中间像素点的位置数据,确定用于拉伸所述变换后的第二图像的拉伸数据;拉伸模块505,用于根据所述拉伸数据对所述变换后的第二图像进行拉伸,获得拉伸后的第二图像。
可选地,所述第二确定模块504,具体用于:根据所述变换后的第二图像中每条边的中间像素点的位置数据,确定所述变换后的第二图像中连接上下两条边的中间像素点的第一向量和连接左右两条边的中间像素点的第二向量;根据所述第二图像的尺寸数据、所述第一向量以及所述第二向量确定用于拉伸所述变换后的第二图像的拉伸数据。
可选地,所述拉伸数据包括切变矩阵。
可选地,所述装置还包括:第三确定模块506,用于在根据所述拉伸数据对所述变换后的第二图像进行拉伸之后,根据所述拉伸后的第二图像中的匹配关键点的位置数据和所述第一图像中匹配关键点的位置数据,确定用于平移所述拉伸后的第二图像的平移数据;平移模块507,用于根据所述平移数据对所述拉伸后的第二图像进行平移,获得平移后的第二图像。
可选地,所述第三确定模块506,具体用于:确定所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值;根据所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值确定最大差值;根据所述最大差值确定用于平移所述拉伸后的第二图像的平移数据。
可选地,所述平移数据包括位移矩阵。
可选地,所述第一变换数据包括对齐矩阵。
可选地,所述第一图像为所述立体图像对中的主图像,所述第二图像为所述立体图像对中的辅图像。
需要说明的是,对于本发明实施例提供的图像的校准装置还涉及的具体细节已在本发明实施例提供的图像的校准方法中作了详细的说明,在此不在赘述。
实施例六
本发明实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。下面参考图6,其示出了适于用来实现本发明实施例的终端设备或服务器的电子设备600的结构示意图。如图6所示,电子设备600包括一个或多个处理器、通信元件等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU)601,和/或一个或多个图像处理器(GPU)613等,处理器可以根据存储在只读存储器(ROM)602中的可执行指令或者从存储部分608加载到随机访问存储器(RAM)603中的可执行指令而执行各种适当的动作和处理。本实施例中,只读存储器602和随机访问存储器603统称为存储器。通信元件包括通信组件612和/或通信接口609。其中,通信组件612可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,通信接口609包括诸如LAN卡、调制解调器等的网络接口卡的通信接口,通信接口609经由诸如因特网的网络执行通信处理。
处理器可与只读存储器602和/或随机访问存储器603中通信以执行可执行指令,通过通信总线604与通信组件612相连、并经通信组件612与其他目标设备通信,从而完成本发明实施例提供的任一项图像的校准方法对应的操作,例如,获取第一图像和第二图像中匹配的多对关键点,所述第一图像与所述第二图像为立体图像对;根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据;根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐。
此外,在RAM 603中,还可存储有装置操作所需的各种程序和数据。CPU601或GPU613、ROM602以及RAM603通过通信总线604彼此相连。在有RAM603的情况下,ROM602为可选模块。RAM603存储可执行指令,或在运行时向ROM602中写入可执行指令,可执行指令使处理器执行上述通信方法对应的操作。输入/输出(I/O)接口605也连接至通信总线604。通信组件612可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在通信总线链接上。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信接口609。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
需要说明的,如图6所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图6的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,通信元件可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明的保护范围。
特别地,根据本发明实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本发明实施例提供的方法步骤对应的指令,例如,获取第一图像和第二图像中匹配的多对关键点,所述第一图像与所述第二图像为立体图像对;根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据;根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐。在这样的实施例中,该计算机程序可以通过通信元件从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器执行时,执行本发明实施例的方法中限定的上述功能。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
Claims (20)
1.一种图像的校准方法,其特征在于,所述方法包括:
获取第一图像和第二图像中匹配的多对关键点,所述第一图像与所述第二图像为立体图像对;
根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据;
根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐,
其中,所述根据所述第一变换数据对所述第二图像中像素点的位置进行变换之后,所述方法还包括:
根据所述第二图像的尺寸数据以及变换后的第二图像中每条边的中间像素点的位置数据,确定用于拉伸所述变换后的第二图像的拉伸数据,所述拉伸数据包括切变矩阵;
根据所述拉伸数据对所述变换后的第二图像进行拉伸,获得拉伸后的第二图像。
2.根据权利要求1所述的方法,其特征在于,所述获取第一图像和第二图像中匹配的多对关键点,包括:
对所述第一图像和所述第二图像分别进行特征提取,获得所述第一图像的多个关键点和所述第二图像的多个关键点;
根据所述第一图像和所述第二图像中的关键点的特征向量对所述第一图像的多个关键点与所述第二图像的多个关键点进行匹配,获得所述第一图像和所述第二图像中匹配的多对关键点。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据,包括:
迭代地执行以下步骤t次:
在所述多对关键点中随机选择n对关键点,并根据所述n对关键点中关键点的位置数据,确定用于所述第二图像中匹配关键点位置变换的第二变换数据;
根据所述第二变换数据对所述第二图像中匹配关键点的位置进行变换,获得所述第二图像中的匹配关键点变换后的位置数据;
确定所述第二图像中每个匹配关键点变换后的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值的绝对值;
确定所述第二图像中所述差值的绝对值小于预设阈值的匹配关键点的数量与所述第二图像中匹配关键点的数量的比值;
根据每次迭代获得的比值确定最大比值,并将获得最大比值的迭代中的第二变换数据确定为所述第一变换数据,其中,t和n均为常数。
4.根据权利要求1~2中任意一项权利要求所述的方法,其特征在于,所述根据所述第二图像的尺寸数据以及变换后的第二图像中每条边的中间像素点的位置数据,确定用于拉伸所述变换后的第二图像的拉伸数据,包括:
根据所述变换后的第二图像中每条边的中间像素点的位置数据,确定所述变换后的第二图像中连接上下两条边的中间像素点的第一向量和连接左右两条边的中间像素点的第二向量;
根据所述第二图像的尺寸数据、所述第一向量以及所述第二向量确定用于拉伸所述变换后的第二图像的拉伸数据。
5.根据权利要求4权利要求所述的方法,其特征在于,所述根据所述拉伸数据对所述变换后的第二图像进行拉伸之后,所述方法还包括:
根据所述拉伸后的第二图像中的匹配关键点的位置数据和所述第一图像中匹配关键点的位置数据,确定用于平移所述拉伸后的第二图像的平移数据;
根据所述平移数据对所述拉伸后的第二图像进行平移,获得平移后的第二图像。
6.根据权利要求5所述的方法,其特征在于,所述根据所述拉伸后的第二图像中的匹配关键点的位置数据和所述第一图像中匹配关键点的位置数据,确定用于平移所述拉伸后的第二图像的平移数据,包括:
确定所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值;
根据所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值确定最大差值;
根据所述最大差值确定用于平移所述拉伸后的第二图像的平移数据。
7.根据权利要求5所述的方法,其特征在于,所述平移数据包括位移矩阵。
8.根据权利要求1~2中任意一项权利要求所述的方法,其特征在于,所述第一变换数据包括对齐矩阵。
9.根据权利要求1~2中任意一项权利要求所述的方法,其特征在于,所述第一图像为所述立体图像对中的主图像,所述第二图像为所述立体图像对中的辅图像。
10.一种图像的校准装置,其特征在于,所述装置包括:
获取模块,用于获取第一图像和第二图像中匹配的多对关键点,所述第一图像与所述第二图像为立体图像对;
第一确定模块,用于根据所述多对关键点中关键点的位置数据,确定用于所述第二图像中像素点位置变换的第一变换数据;
变换模块,用于根据所述第一变换数据对所述第二图像中像素点的位置进行变换,使得所述第二图像中的像素点分别与所述第一图像中对应的像素点对齐,
其中,所述装置还包括:
第二确定模块,用于在根据所述第一变换数据对所述第二图像中像素点的位置进行变换之后,根据所述第二图像的尺寸数据以及变换后的第二图像中每条边的中间像素点的位置数据,确定用于拉伸所述变换后的第二图像的拉伸数据,所述拉伸数据包括切变矩阵;
拉伸模块,用于根据所述拉伸数据对所述变换后的第二图像进行拉伸,获得拉伸后的第二图像。
11.根据权利要求10所述的装置,其特征在于,所述获取模块,包括:
特征提取子模块,用于对所述第一图像和所述第二图像分别进行特征提取,获得所述第一图像的多个关键点和所述第二图像的多个关键点;
匹配子模块,用于根据所述第一图像和所述第二图像中的关键点的特征向量对所述第一图像的多个关键点与所述第二图像的多个关键点进行匹配,获得所述第一图像和所述第二图像中匹配的多对关键点。
12.根据权利要求10或11所述的装置,其特征在于,所述第一确定模块,具体用于:
迭代地执行以下步骤t次:
在所述多对关键点中随机选择n对关键点,并根据所述n对关键点中关键点的位置数据,确定用于所述第二图像中匹配关键点位置变换的第二变换数据;
根据所述第二变换数据对所述第二图像中匹配关键点的位置进行变换,获得所述第二图像中的匹配关键点变换后的位置数据;
确定所述第二图像中每个匹配关键点变换后的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值的绝对值;
确定所述第二图像中所述差值的绝对值小于预设阈值的匹配关键点的数量与所述第二图像中匹配关键点的数量的比值;
根据每次迭代获得的比值确定最大比值,并将获得最大比值的迭代中的第二变换数据确定为所述第一变换数据,其中,t和n均为常数。
13.根据权利要求10~11中任意一项权利要求所述的装置,其特征在于,所述第二确定模块,具体用于:
根据所述变换后的第二图像中每条边的中间像素点的位置数据,确定所述变换后的第二图像中连接上下两条边的中间像素点的第一向量和连接左右两条边的中间像素点的第二向量;
根据所述第二图像的尺寸数据、所述第一向量以及所述第二向量确定用于拉伸所述变换后的第二图像的拉伸数据。
14.根据权利要求13权利要求所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于在根据所述拉伸数据对所述变换后的第二图像进行拉伸之后,根据所述拉伸后的第二图像中的匹配关键点的位置数据和所述第一图像中匹配关键点的位置数据,确定用于平移所述拉伸后的第二图像的平移数据;
平移模块,用于根据所述平移数据对所述拉伸后的第二图像进行平移,获得平移后的第二图像。
15.根据权利要求14所述的装置,其特征在于,所述第三确定模块,具体用于:
确定所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值;
根据所述拉伸后的第二图像中的匹配关键点的位置数据分别与所述第一图像中对应的匹配关键点的位置数据的差值确定最大差值;
根据所述最大差值确定用于平移所述拉伸后的第二图像的平移数据。
16.根据权利要求14所述的装置,其特征在于,所述平移数据包括位移矩阵。
17.根据权利要求10~11中任意一项权利要求所述的装置,其特征在于,所述第一变换数据包括对齐矩阵。
18.根据权利要求10~11中任意一项权利要求所述的装置,其特征在于,所述第一图像为所述立体图像对中的主图像,所述第二图像为所述立体图像对中的辅图像。
19.一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现权利要求1~9中任意一项权利要求所述的图像的校准方法的步骤。
20.一种电子设备,包括:处理器、存储器、通信元件和通信总线,所述处理器、所述存储器和所述通信元件通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1~9中任意一项权利要求所述的图像的校准方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810136229.6A CN108305281B (zh) | 2018-02-09 | 2018-02-09 | 图像的校准方法、装置、存储介质、程序产品和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810136229.6A CN108305281B (zh) | 2018-02-09 | 2018-02-09 | 图像的校准方法、装置、存储介质、程序产品和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108305281A CN108305281A (zh) | 2018-07-20 |
CN108305281B true CN108305281B (zh) | 2020-08-11 |
Family
ID=62865058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810136229.6A Active CN108305281B (zh) | 2018-02-09 | 2018-02-09 | 图像的校准方法、装置、存储介质、程序产品和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108305281B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242892B (zh) | 2018-09-12 | 2019-11-12 | 北京字节跳动网络技术有限公司 | 用于确定图像间的几何变换关系的方法和装置 |
CN111383255B (zh) * | 2018-12-29 | 2024-04-12 | 北京市商汤科技开发有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN110473235A (zh) * | 2019-09-12 | 2019-11-19 | 杭州依图医疗技术有限公司 | 一种对齐两侧***图像的方法及装置 |
CN113538529B (zh) * | 2020-04-15 | 2023-06-02 | 杭州海康威视数字技术股份有限公司 | 图像配准装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179745A (zh) * | 2007-12-05 | 2008-05-14 | 宁波大学 | 一种多视点图像的预处理方法 |
CN102905147A (zh) * | 2012-09-03 | 2013-01-30 | 上海立体数码科技发展有限公司 | 立体图像校正方法及装置 |
CN103329548A (zh) * | 2010-12-27 | 2013-09-25 | 3D媒体公司 | 用于图像处理的主、辅图像捕获设备及其相关方法 |
CN103403739A (zh) * | 2011-01-25 | 2013-11-20 | 意大利电信股份公司 | 用于比较图像的方法和*** |
CN103649997A (zh) * | 2011-07-13 | 2014-03-19 | 高通股份有限公司 | 用于校准成像装置的方法和设备 |
CN103971378A (zh) * | 2014-05-29 | 2014-08-06 | 福州大学 | 一种混合视觉***中全景图像的三维重建方法 |
CN106910222A (zh) * | 2017-02-15 | 2017-06-30 | 中国科学院半导体研究所 | 基于双目立体视觉的人脸三维重建方法 |
CN107665479A (zh) * | 2017-09-05 | 2018-02-06 | 平安科技(深圳)有限公司 | 一种特征提取方法、全景拼接方法及其装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122958B1 (en) * | 2014-02-14 | 2015-09-01 | Social Sweepster, LLC | Object recognition or detection based on verification tests |
-
2018
- 2018-02-09 CN CN201810136229.6A patent/CN108305281B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179745A (zh) * | 2007-12-05 | 2008-05-14 | 宁波大学 | 一种多视点图像的预处理方法 |
CN103329548A (zh) * | 2010-12-27 | 2013-09-25 | 3D媒体公司 | 用于图像处理的主、辅图像捕获设备及其相关方法 |
CN103403739A (zh) * | 2011-01-25 | 2013-11-20 | 意大利电信股份公司 | 用于比较图像的方法和*** |
CN103649997A (zh) * | 2011-07-13 | 2014-03-19 | 高通股份有限公司 | 用于校准成像装置的方法和设备 |
CN102905147A (zh) * | 2012-09-03 | 2013-01-30 | 上海立体数码科技发展有限公司 | 立体图像校正方法及装置 |
CN103971378A (zh) * | 2014-05-29 | 2014-08-06 | 福州大学 | 一种混合视觉***中全景图像的三维重建方法 |
CN106910222A (zh) * | 2017-02-15 | 2017-06-30 | 中国科学院半导体研究所 | 基于双目立体视觉的人脸三维重建方法 |
CN107665479A (zh) * | 2017-09-05 | 2018-02-06 | 平安科技(深圳)有限公司 | 一种特征提取方法、全景拼接方法及其装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108305281A (zh) | 2018-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108305281B (zh) | 图像的校准方法、装置、存储介质、程序产品和电子设备 | |
JP6902122B2 (ja) | ダブル視野角画像較正および画像処理方法、装置、記憶媒体ならびに電子機器 | |
US10558881B2 (en) | Parallax minimization stitching method and apparatus using control points in overlapping region | |
CN106815869B (zh) | 鱼眼相机的光心确定方法及装置 | |
US11282232B2 (en) | Camera calibration using depth data | |
CN112435193B (zh) | 一种点云数据去噪的方法、装置、存储介质和电子设备 | |
CN113140036B (zh) | 一种三维建模方法、装置、设备及存储介质 | |
WO2019232793A1 (zh) | 双摄像头标定方法、电子设备、计算机可读存储介质 | |
CN112348863A (zh) | 图像对齐方法、图像对齐装置及终端设备 | |
CN116129037B (zh) | 视触觉传感器及其三维重建方法、***、设备及存储介质 | |
KR20110073386A (ko) | 형태의 불변 어파인 인식을 위한 방법 및 장치 | |
CN110136048B (zh) | 一种图像配准方法及***、存储介质及终端 | |
CN113379815A (zh) | 基于rgb相机与激光传感器的三维重建方法、装置及服务器 | |
CN113436269B (zh) | 图像稠密立体匹配方法、装置和计算机设备 | |
CN113298885A (zh) | 双目标定方法及装置、设备和存储介质 | |
CN117333367A (zh) | 基于图像局部特征的图像拼接方法、***、介质及装置 | |
CN112785651A (zh) | 用于确定相对位姿参数的方法和装置 | |
Ishii et al. | Wide-baseline stereo matching using ASIFT and POC | |
CN112615993A (zh) | 深度信息获取方法、双目摄像模组、存储介质及电子设备 | |
CN112446928B (zh) | 一种拍摄装置的外参确定***和方法 | |
WO2009055165A1 (en) | Method and apparatus to facilitate forming a compensated image of a wide-angle image | |
CN117649454B (zh) | 双目相机外参自动校正方法、装置、电子设备及存储介质 | |
CN110728714B (zh) | 图像处理方法和装置、存储介质、电子设备 | |
CN114266833A (zh) | 摄像头的参数标定方法、装置及设备 | |
Yamao et al. | A sequential online 3d reconstruction system using dense stereo matching |
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 |