掌桥专利:专业的专利平台
掌桥专利
首页

图像的三维重建方法及相关装置

文献发布时间:2024-04-18 19:55:22


图像的三维重建方法及相关装置

技术领域

本申请涉及图像处理领域,具体而言,涉及一种图像的三维重建方法及相关装置。

背景技术

目前,双目系统在进行图像的三维重建时,往往需要首先对左右相机进行极线校正,之后在水平方向上进行搜索以对特征点进行匹配,但针对图像中较为水平的线条来说,由于水平方向上多处纹理特征比较接近,因此通过该方法进行特征匹配就容易产生较多的匹配错误,从而使得图像的三维重建效果较差。

发明内容

有鉴于此,本申请的目的在于提供一种图像的三维重建方法及相关装置,以解决现有技术中存在的容易产生较多的匹配错误,使得图像的三维重建效果较差的问题。

为了实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请提供一种图像的三维重建方法,所述方法包括:

获取多目系统中第一相机拍摄的第一图像、第二相机拍摄的第二图像以及第三相机拍摄的第三图像;所述第一相机与所述第二相机位置相对水平,所述第二相机与所述第三相机位置相对垂直;

根据所述第二图像中各个像素点的梯度方向,将所述第二图像拆分为竖直图像以及水平图像;其中,所述竖直图像中各个像素点的梯度方向与水平方向的夹角均处于预设的第一角度范围,所述水平图像中各个像素点的梯度方向与竖直方向的夹角均处于预设的第二角度范围;

将所述竖直图像与所述第一图像进行立体匹配,获得所述竖直图像对应的竖直深度图,将所述水平图像与所述第三图像进行立体匹配,获得所述水平图像对应的水平深度图;

根据所述竖直深度图以及所述水平深度图,生成三维重建图像。

在可选的实施方式中,所述根据所述第二图像中各个像素点的梯度方向,将所述第二图像拆分为竖直图像以及水平图像,包括:

根据所述第二图像中各个所述像素点的梯度方向分别与水平方向和竖直方向的位置关系,确定属于竖直图像的像素点以及属于水平图像的像素点,以将所述第二图像拆分为竖直图像和水平图像。

在可选的实施方式中,各个所述像素点的梯度方向根据所述像素点的水平梯度和竖直梯度确定,所述水平梯度和所述竖直梯度根据预设的梯度算子对所述像素点计算得到,具体包括:

针对所述第二图像中各个所述像素点,根据预设的梯度算子以及所述像素点所处的预设区域内各个像素点的灰度值,计算所述像素点的水平梯度和竖直梯度。

在可选的实施方式中,所述梯度算子包括纵向边缘检测算子以及横向边缘检测算子;所述根据预设的梯度算子以及所述像素点所处的预设区域内各个像素点的灰度值,计算所述像素点的水平梯度以及竖直梯度,包括:

将所述纵向边缘检测算子与所述像素点所处的预设区域内各个像素点的灰度值进行卷积,获得所述像素点的水平梯度;

将所述横向边缘检测算子与所述像素点所处的预设区域内各个像素点的灰度值进行卷积,获得所述像素点的竖直梯度。

在可选的实施方式中,所述将所述竖直图像与所述第一图像进行立体匹配,获得所述竖直图像对应的竖直深度图,包括:

分别根据所述竖直图像以及所述第一图像中各个像素点的灰度值,确定所述竖直图像以及所述第一图像中各个像素点的特征序列;

根据所述竖直图像中各个像素点的特征序列以及所述第一图像中各个像素点的特征序列,计算所述竖直图像中各个像素点的视差;

根据所述竖直图像中各个像素点的视差、所述第一相机和所述第二相机之间的相机距离以及所述第二相机的相机焦距,计算所述竖直图像中各个像素点的深度值,以生成所述竖直图像对应的竖直深度图。

在可选的实施方式中,所述分别根据所述竖直图像以及所述第一图像中各个像素点的灰度值,确定所述竖直图像以及所述第一图像中各个像素点的特征序列,包括:

针对所述竖直图像以及所述第一图像中的各个所述像素点,将所述像素点作为第一目标像素点,根据预设的区域大小确定所述第一目标像素点对应的特征区域;

根据所述特征区域内所述第一目标像素点与其他像素点之间的灰度值大小,确定所述第一目标像素点的特征序列。在可选的实施方式中,所述分别根据所述竖直图像以及所述第一图像中各个像素点的灰度值,确定所述竖直图像以及所述第一图像中各个像素点的特征序列,包括:

针对所述竖直图像以及所述第一图像中的各个所述像素点,将所述像素点作为第一目标像素点,根据预设的区域大小确定所述第一目标像素点对应的特征区域;

根据所述特征区域内所述第一目标像素点与其他像素点之间的灰度值大小,确定所述第一目标像素点的特征序列。

在可选的实施方式中,所述根据所述竖直图像中各个像素点的特征序列以及所述第一图像中各个像素点的特征序列,计算所述竖直图像中各个像素点的视差,包括:

依次将所述竖直图像中的各个像素点作为第二目标像素点,根据预设的视差范围在所述第一图像中水平方向上确定所述第二目标像素点对应的目标搜索范围;

根据所述第二目标像素点的特征序列和所述目标搜索范围内各个像素点的特征序列,确定所述目标搜索范围内与所述第二目标像素点对应的同名点;所述同名点与所述第二目标像素点之间的汉明距离最小;

根据所述第二目标像素点的位置参数和所述同名点的位置参数,计算所述第二目标像素点的视差。

在可选的实施方式中,所述将所述水平图像与所述第三图像进行立体匹配,获得所述水平图像对应的水平深度图,包括:

分别根据所述水平图像以及所述第三图像中各个像素点的灰度值,确定所述水平图像以及所述第三图像中各个像素点的特征序列;

根据所述水平图像中各个像素点的特征序列以及所述第三图像中各个像素点的特征序列,计算所述水平图像中各个像素点的视差;

根据所述水平图像中各个像素点的视差、所述第二相机和所述第三相机之间的相机距离以及所述第二相机的相机焦距,计算所述水平图像中各个像素点的深度值,以生成所述水平图像对应的水平深度图。

在可选的实施方式中,所述根据所述竖直深度图以及所述水平深度图,生成三维重建图像,包括:

生成空白重建图像;

将所述竖直深度图和所述水平深度图中各个像素点对应的深度值,按照所述像素点的位置写入所述空白重建图像,以生成所述三维重建图像。

在可选的实施方式中,在获取所述多目系统拍摄的图像之后,所述方法还包括:

根据预存的第一水平校正矩阵对所述第一图像进行校正,根据预存的第二水平校正矩阵对所述第二图像进行校正,以使所述第一图像与所述第二图像的极线在水平方向对齐;

根据预存的第一竖直校正矩阵对所述第三图像进行校正,根据预存的第二竖直校正矩阵对所述第二图像进行校正,以使所述第三图像与所述第二图像的极线在竖直方向对齐。

第二方面,本申请提供一种图像的三维重建装置,所述装置包括:

获取模块,用于获取多目系统中第一相机拍摄的第一图像、第二相机拍摄的第二图像以及第三相机拍摄的第三图像;所述第一相机与所述第二相机位置相对水平,所述第二相机与所述第三相机位置相对垂直;

拆分模块,用于根据所述第二图像中各个像素点的梯度方向,将所述第二图像拆分为竖直图像以及水平图像;其中,所述竖直图像中各个像素点的梯度方向与水平方向的夹角均处于预设的第一角度范围,所述水平图像中各个像素点的梯度方向与竖直方向的夹角均处于预设的第二角度范围;

匹配模块,用于将所述竖直图像与所述第一图像进行立体匹配,获得所述竖直图像对应的竖直深度图,将所述水平图像与所述第三图像进行立体匹配,获得所述水平图像对应的水平深度图;

重建模块,用于根据所述竖直深度图以及所述水平深度图,生成三维重建图像。

第三方面,本申请提供一种检测装置,包括取像部件、处理部件以及显示部件,所述取像部件和所述显示部件分别与所述处理部件连接;其中,所述取像部件用于通过取像得到待检测产品的待检测图像;所述处理部件用于通过前述实施方式任一所述的图像的三维重建方法对所述待检测图像进行处理,得到重建后的三维图像,并通过所述三维重建图像,对所述待检测产品进行检测;所述显示部件用于对所述三维图像进行显示。

在可选的实施方式中,所述取像部件包括多目系统中第一相机、第二相机以及第三相机。

第四方面,本申请提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现前述实施方式任一所述的方法。

第五方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的方法。

本申请实施例提供的图像的三维重建方法及相关装置,根据第二图像中各个像素点的梯度方向,将第二图像拆分为竖直图像和水平图像,从而分别将竖直图像与第一图像进行立体匹配,将水平图像与第三图像进行立体匹配,由于竖直图像中各个像素点的梯度方向与水平方向的夹角处于预设的第一角度范围,水平图像中各个像素点的梯度方向与竖直方向的夹角处于预设的第二角度范围,因此竖直图像中的线条更倾向于竖直方向,水平图像中的线条更倾向于水平方向,从而实现针对较为竖直的线条在水平方向上进行匹配,针对较为水平的线条在竖直方向上进行匹配,在此基础上,可以提高特征匹配的准确度,进而提高图像的三维重建效果。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了多目系统的方框示意图;

图2示出了本申请实施例提供的电子设备的方框示意图;

图3示出了本申请实施例提供的检测装置的一种方框示意图;

图4示出了本申请实施例提供的图像的三维重建方法的一种流程示意图;

图5示出了本申请实施例提供的图像的三维重建方法的另一种流程示意图;

图6示出了本申请实施例提供的一种图像的三维重建装置的功能模块图。

图标:10-多目系统;100-第一相机;110-第二相机;120-第三相机;20-电子设备;200-存储器;210-处理器;220-通信模块;300-获取模块;310-拆分模块;320-匹配模块;330-重建模块;40-检测装置;400-取像部件;410-处理部件;420-显示部件。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

首先,在本实施例中以多目系统为三目系统为例,结合方框示意图对多目系统以及本申请实施例提供的电子设备进行介绍。

图1为多目系统10的方框示意图,请参见图1,该多目系统10包括第一相机100、第二相机110以及第三相机120,其中,第一相机100与第二相机110位置相对水平,第二相机110与第三相机120位置相对垂直。

图2为本申请实施例提供的电子设备20的方框示意图,该电子设备20可以是多目系统10中的第一相机100、第二相机110或者第三相机120,也可以是终端设备等可以对图像进行处理的设备。

可选地,该电子设备20包括存储器200、处理器210及通信模块220。存储器200、处理器210以及通信模块220各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

其中,存储器200用于存储程序或者数据。存储器200可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。

处理器210用于读/写存储器中存储的数据或程序,并执行相应地功能。

通信模块220用于通过网络建立电子设备20与其它通信终端之间的通信连接,并用于通过网络收发数据。

应当理解的是,图2所示的结构仅为电子设备20的结构示意图,电子设备20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

此外,本申请实施例还提供一种检测装置40,图3为本申请实施例提供的检测装置40的一种方框示意图,请参见图3,该检测装置40包括取像部件400、处理部件410以及显示部件420,且该取像部件400和显示部件420分别与处理部件410连接。

可选地,该取像部件400可以用于通过取像得到待检测产品的待检测图像;该处理部件410可以用于通过本申请实施例提供的图像的三维重建方法对待检测图像进行处理,得到重建后的三维图像,并通过该三维重建图像,对待检测产品进行检测;该显示部件420用于对三维图像进行显示。

可选地,该取像部件400包括多目系统10中的第一相机、第二相机以及第三相机。

可以理解地,用户可以通过该检测装置40对待检测产品拍照,对包含有待检测产品的待检测图像进行三维重建,从而通过三维重建后的三维图像对待检测产品进行检测。

接下来以上述图2中的电子设备为执行主体,结合流程示意图对本申请实施例提供的图像的三维重建方法进行示例性介绍,具体地,图4为本申请实施例提供的图像的三维重建方法的一种流程示意图,请参见图4,该方法包括:

步骤S20,获取多目系统中第一相机拍摄的第一图像、第二相机拍摄的第二图像以及第三相机拍摄的第三图像。

步骤S21,根据第二图像中各个像素点的梯度方向,将第二图像拆分为竖直图像以及水平图像。

其中,竖直图像中各个像素点的梯度方向与水平方向的夹角均处于预设的第一角度范围,水平图像中各个像素点的梯度方向与竖直方向的夹角均处于预设的第二角度范围;

可选地,电子设备可以获取多目系统中第一相机拍摄的第一图像、第二相机拍摄的第二图像以及第三相机拍摄的第三图像,可以理解的,该第一图像、第二图像和第三图像都是针对同一事物同时拍摄得到的图像。

可选地,电子设备可以在获得第一图像、第二图像和第三图像之后,计算该第二图像中各个像素点的梯度方向,从而根据该梯度方向将第二图像拆分为竖直图像和水平图像。

可选地,该第一角度范围和第二角度范围可以由用户根据实际需求进行设置,例如该第一角度范围和第二角度范围可以均设置为45°。

可以理解的,由于竖直图像中各个像素点的梯度方向与水平方向的夹角均处于预设的第一角度范围,因此竖直图像中的线条更倾向于竖直方向;由于水平图像中各个像素点的梯度方向与竖直方向的夹角均处于预设的第二角度范围,因此水平图像中的线条更倾向于水平方向。

步骤S22,将竖直图像与第一图像进行立体匹配,获得竖直图像对应的竖直深度图,将水平图像与第三图像进行立体匹配,获得水平图像对应的水平深度图。

可选地,该竖直深度图可以是包括了各个像素点的深度值的竖直图像,该水平深度图可以是包括了各个像素点的深度值的水平图像。

在本实施例中,电子设备可以将竖直图像与第一图像进行立体匹配,由于竖直图像中的线条更倾向于竖直方向,因此实际上是将更倾向于竖直方向的线条进行水平方向上的匹配;此外,电子设备还可以将水平图像与第三图像进行立体匹配,由于水平图像中的线条更倾向于水平方向,因此实际上是将更倾向于水平方向的线条进行竖直方向上的匹配。

可以理解的,通过将更倾向于竖直方向的线条进行水平方向上的匹配,以及将更倾向于水平方向的线条进行竖直方向上的匹配,可防止由于匹配方向上多处纹理特征接近,从而容易产生较多的匹配错误的问题。

步骤S23,根据竖直深度图以及水平深度图,生成三维重建图像。

可选地,电子设备可以在获得竖直深度图以及水平深度图之后,将二者融合从而生成三维重建图像。可以理解的,该三维重建图像中也包括各个像素点的深度值。

本申请实施例提供的图像的三维重建方法,根据第二图像中各个像素点的梯度方向,将第二图像拆分为竖直图像和水平图像,从而分别将竖直图像与第一图像进行立体匹配,将水平图像与第三图像进行立体匹配,由于竖直图像中各个像素点的梯度方向与水平方向的夹角处于预设的第一角度范围,水平图像中各个像素点的梯度方向与竖直方向的夹角处于预设的第二角度范围,因此竖直图像中的线条更倾向于竖直方向,水平图像中的线条更倾向于水平方向,从而实现针对较为竖直的线条在水平方向上进行匹配,针对较为水平的线条在竖直方向上进行匹配,在此基础上,可以提高特征匹配的准确度,进而提高图像的三维重建效果。

可选地,为了提高立体匹配的效率,电子设备可以在获取到第一图像、第二图像以及第三图像之后,先对图像进行极线校正,以使第一图像和第二图像的极线在水平方向上对齐、第二图像和第三图像的极线在竖直方向上对齐。

在一种可能实现的方式中,电子设备可以根据预存的第一水平校正矩阵对第一图像进行校正,根据预存的第二水平校正矩阵对第二图像进行校正,以使第一图像与第二图像的极线在水平方向对齐;根据预存的第一竖直校正矩阵对第三图像进行校正,根据预存的第二竖直校正矩阵对第二图像进行校正,以使第三图像与第二图像的极线在竖直方向对齐。

可选地,该第一水平校正矩阵、第二水平校正矩阵、第一竖直校正矩阵、第二竖直校正矩阵,均可以在设置好第一相机、第二相机以及第三相机之后,先根据第一相机、第二相机以及第三相机的外参求得,并保存在电子设备中,以便之后调用。

在一种可能实现的方式中,可以在将第一相机与第二相机水平放置,第三相机与第二相机竖直放置之后,先控制第一相机、第二相机以及第三相机同时对标定板进行拍摄,以获得标定板图像。

可选地,电子设备可以根据标定板图像分别计算第一相机、第二相机以及第三相机的外参,该外参包括该相机相对于标定板的旋转矩阵和平移矩阵。

在一种可能实现的方式中,电子设备可以根据第一相机的外参和第二相机的外参,计算第一相机与第二相机之间的相对位姿,根据该相对位姿计算第一水平校正矩阵以及第二水平校正矩阵。

例如,若第一相机的外参为

其中,

可选地,电子设备可以通过以下公式计算该第一水平校正矩阵

其中,

其中,

类似的,电子设备也可以根据第二相机的外参和第三相机的外参,计算第二相机与第三相机之间的相对位姿,从而根据该相对位姿计算第一竖直校正矩阵以及第二竖直校正矩阵,其具体计算方法与计算第一水平校正矩阵以及第二水平校正矩阵的过程类似,此处不做过多赘述。

可选地,电子设备还可以根据标定板图像分别计算第一相机、第二相机以及第三相机的内参,并进行存储以备他用。

在本实施例中,电子设备可以在获得第一图像、第二图像以及第三图像之后,调用该第一水平校正矩阵以及第二水平校正矩阵、第一竖直校正矩阵以及第二竖直校正矩阵,进行第一图像与第二图像、第二图像与第三图像之间的极线校正。

在本实施例中,第二图像可以分别与第一图像和第三图像进行校正,获得与第一图像极线水平对齐的第二图像以及与第三图像极线竖直对齐的第二图像。可以理解的,在之后的处理过程中,与第一图像进行处理时需要选择与第一图像极线水平对齐的第二图像,与第三图像进行处理时需要选择与第三图像极线竖直对齐的第二图像。

在另一种可能实现的方式中,电子设备还可以保持第二图像不变,直接根据第一相机与第二相机之间的相对位姿、第二相机与第三相机之间的相对位姿,变换第一图像和第三图像,使得第一图像与第二图像极线水平对齐,第二图像与第三图像极线竖直对齐。

可选地,在获取到第一图像、第二图像以及第三图像之后,电子设备可以先计算第二图像中各个像素点的梯度方向,在此基础上,电子设备可以根据第二图像中各个像素点的梯度方向分别与水平方向和竖直方向的位置关系,确定属于竖直图像的像素点以及属于水平图像的像素点,以将第二图像拆分为竖直图像和水平图像。

在一种可能实现的方式中,各个像素点的梯度方向可根据该像素点的水平梯度和竖直梯度确定,且该水平梯度和该竖直梯度可以根据预设的梯度算子对该像素点计算得到。

具体的,电子设备可以针对第二图像中各个像素点,根据预设的梯度算子以及像素点所处的预设区域内各个像素点的灰度值,计算像素点的水平梯度和竖直梯度。

可选地,该预设的梯度算子和预设区域之间存在一定联系,即梯度算子的大小和预设区域的大小应当一致,例如,若预设的梯度算子为

在一种可能实现的方式中,电子设备可以根据如下公式计算各个像素点的梯度方向:

其中,

此外,该水平梯度以及竖直梯度还可以用于计算该像素点的梯度大小grad,即,

在本实施例中,电子设备可以根据每个像素点的梯度方向分别与水平方向和竖直方向的夹角,确定属于竖直图像的像素点以及属于水平图像的像素点。

在一种可能实现的方式中,若第一角度范围和第二角度范围均设置为45°,则可以通过以下公式确定第二图像中的像素点

可选地,由于需要计算像素点的水平梯度和竖直梯度,因此预设的梯度算子也可以包括纵向边缘检测算子以及横向边缘检测算子,在此基础上,电子设备可以将纵向边缘检测算子与像素点所处的预设区域内各个像素点的灰度值进行卷积,获得像素点的水平梯度;将横向边缘检测算子与像素点所处的预设区域内各个像素点的灰度值进行卷积,获得像素点的竖直梯度。

在一个示例中,若梯度算子为

此外,横向边缘检测算子

在本示例中,由于梯度算子为

在一种可能实现的方式中,电子设备可以在获取到全部像素点的水平梯度和竖直梯度之后,根据各个像素点的水平梯度和竖直梯度计算各个像素点的梯度方向,进而依次根据各个像素点的梯度方向对第二图像进行拆分;在另一种可能实现的方式中,电子设备也可以在获取到一个像素点的水平梯度和竖直梯度之后,就针对该像素点计算其梯度方向,进而确定该像素点属于水平图像还是竖直图像,本申请对该执行顺序不做限定。

可选地,电子设备可以分别基于竖直图像和第一图像,生成竖直图像对应的竖直深度图,以及基于水平图像和第三图像,生成水平图像对应的水平深度图。

接下来首先介绍生成竖直图像对应的竖直深度图的过程。

具体地,在图4的基础上,图5为本申请实施例提供的图像的三维重建方法的另一种流程示意图,请参见图5,上述步骤S22中的将竖直图像与第一图像进行立体匹配,获得竖直图像对应的竖直深度图,还可以通过如下步骤实现:

步骤S22-1,分别根据竖直图像以及第一图像中各个像素点的灰度值,确定竖直图像以及第一图像中各个像素点的特征序列。

可选地,电子设备可以针对竖直图像以及第一图像,分别确定其中各个像素点对应的特征序列。

在本实施例中,可以依次针对上述图像,计算其中各个像素点的灰度值,也可以并行的针对上述图像,计算其中各个像素点的灰度值,本申请对此不做限定。

步骤S22-2,根据竖直图像中各个像素点的特征序列以及第一图像中各个像素点的特征序列,计算竖直图像中各个像素点的视差。

步骤S22-3,根据竖直图像中各个像素点的视差、第一相机和第二相机之间的相机距离以及第二相机的相机焦距,计算竖直图像中各个像素点的深度值,以生成竖直图像对应的竖直深度图。

在本实施例中,电子设备可以根据竖直图像中各个像素点的特征序列以及第一图像中各个像素点的特征序列,计算竖直图像中各个像素点的视差d,之后通过如下公式计算各个像素点的深度值z:

其中,

可选地,第一相机和第二相机之间的相机距离可以由工作人员事先采集并输入该电子设备中,也可以由第一相机或第二相机上的测距装置采集并输入该电子设备中,本申请对此不作限定。

在一种可能实现的方式中,第一相机与第二相机的相机焦距应当一致。

可以理解的,竖直图像对应的竖直深度图中包括了该竖直图像中各个像素点对应的深度值。

可选地,电子设备可以根据竖直图像和第一图像中各个像素点与该像素点对应的特征区域内其他像素点之间的灰度值大小,确定各个像素点的特征序列。在此基础上,上述步骤S22-1还可以通过如下步骤实现:

针对竖直图像以及第一图像中的各个像素点,将像素点作为第一目标像素点,根据预设的区域大小确定第一目标像素点对应的特征区域;根据特征区域内第一目标像素点与其他像素点之间的灰度值大小,确定第一目标像素点的特征序列。

可选地,该预设的区域大小可以是

可以理解的,若预设的区域大小为

可以理解地,该预设区域应当不包括第一目标像素点所在的行或列。

可选地,电子设备可以在某个像素点的灰度值小于第一目标像素点的灰度值时,将该像素点位置设置为1,否则设置为0,从而获得该第一目标像素点的特征序列。

可选地,电子设备可以根据竖直图像中各个像素点的特征序列以及第一图像中各个像素点的特征序列,确定竖直图像中各个像素点在第一图像中对应的同名点,从而根据该像素点以及该像素点对应的同名点,计算该像素点的视差。

可选地,电子设备可以在各个像素点在第一图像中对应的目标搜索范围内确定其对应的同名点。具体地,上述步骤S22-2还可以通过如下步骤实现:

依次将竖直图像中的各个像素点作为第二目标像素点,根据预设的视差范围在第一图像中水平方向上确定第二目标像素点对应的目标搜索范围。

可选地,该预设的视差范围可以事先根据实际情况设置,则电子设备可以根据第二目标像素点的位置和视差范围,在第一图像的水平方向上确定目标搜索范围。

例如,若第二目标像素点位于第n行m列,视差范围为[a,b],则电子设备可以确定该第二目标像素点在第一图像的水平方向上的目标搜索范围为第n行的m+a列到m+b列。

根据第二目标像素点的特征序列和目标搜索范围内各个像素点的特征序列,确定目标搜索范围内与第二目标像素点对应的同名点;

其中,同名点与第二目标像素点之间的汉明距离最小;

可选地,电子设备可以根据第二目标像素点的特征序列和目标搜索范围内各个像素点的特征序列,依次计算该第二目标像素点与目标搜索范围内各个像素点的汉明距离,将目标搜索范围内与第二目标像素点汉明距离最小的像素点,确定为该第二目标像素点的同名点。

根据第二目标像素点的位置参数和同名点的位置参数,计算第二目标像素点的视差。

在本实施例中,电子设备可以根据该第二目标像素点的位置参数以及对应的同名点的位置参数,计算第二目标像素点的视差。

在一种可能实现的方式中,该位置参数指的是该像素点的横纵坐标,则电子设备可以通过作差的方式,计算第二目标像素点的视差。

可选地,电子设备也可以根据水平图像中各个像素点的特征序列以及第三图像中各个像素点的特征序列,确定水平图像中各个像素点在第三图像中对应的同名点,从而根据该像素点以及该像素点对应的同名点,计算该像素点的视差。

可选地,对于生成水平图像对应的水平深度图的过程与上述生成竖直图像对应的竖直深度图的过程类似,即,上述步骤S22中的将水平图像与第三图像进行立体匹配,获得水平图像对应的水平深度图,还可以通过如下步骤实现:

分别根据水平图像以及第三图像中各个像素点的灰度值,确定水平图像以及第三图像中各个像素点的特征序列;根据水平图像中各个像素点的特征序列以及第三图像中各个像素点的特征序列,计算水平图像中各个像素点的视差;根据水平图像中各个像素点的视差、第二相机和第三相机之间的相机距离以及第二相机的相机焦距,计算水平图像中各个像素点的深度值,以生成水平图像对应的水平深度图。

可以理解地,由于计算水平图像中各个像素点的深度值的方式与计算竖直图像中各个像素点的深度值的方式类似,因此此处不再赘述。

可选地,第二相机和第三相机之间的相机距离可以由工作人员事先采集并输入该电子设备中,也可以由第二相机或第三相机上的测距装置采集并输入该电子设备中,本申请对此不作限定。

在一种可能实现的方式中,第二相机与第三相机的相机焦距应当一致。

可以理解的,水平图像对应的水平深度图中包括了该水平图像中各个像素点对应的深度值。

可选地,电子设备可以针对水平图像以及第三图像中的各个像素点,将像素点作为第三目标像素点,根据预设的区域大小确定第三目标像素点对应的特征区域;根据特征区域内第三目标像素点与其他像素点之间的灰度值大小,确定第三目标像素点的特征序列。

可以理解地,该过程与上述确定竖直图像和第一图像中各个像素点的特征序列的过程类似,此处不作过多赘述。

可选地,电子设备可以在各个像素点在第三图像中对应的目标搜索范围内确定其对应的同名点。

依次将水平图像中的各个像素点作为第四目标像素点,根据预设的视差范围在第三图像中竖直方向上确定第四目标像素点对应的目标搜索范围;根据第四目标像素点的特征序列和第四目标像素点对应的目标搜索范围内各个像素点的特征序列,确定第四目标像素点对应的目标搜索范围内与第四目标像素点对应的同名点;该第四目标像素点对应的同名点与第四目标像素点之间的汉明距离最小;根据第四目标像素点的位置参数和第四目标像素点对应的同名点的位置参数,计算第四目标像素点的视差。

可以理解的,计算第三目标像素点的视差的方式与计算第二目标像素点的视差的方式类似,因此此处不再赘述。

在本实施例中,电子设备可以根据竖直图像中各个像素点的视差,以及水平图像中各个像素点的视差,计算竖直图像中各个像素点的深度以及水平图像中各个像素点的深度,从而生成竖直深度图和水平深度图。

可选地,在获得竖直图像对应的竖直深度图以及水平图像对应的水平深度图之后,电子设备可以先生成空白重建图像,之后将竖直深度图和水平深度图中各个像素点对应的深度值,按照该像素点的位置写入该空白重建图像,以生成三维重建图像。

可选地,电子设备可以通过遍历竖直深度图中各个像素点,以及遍历水平深度图中各个像素点的方式,将竖直深度图和水平深度图中各个像素点对应的深度值,按照该像素点的位置写入该空白重建图像。

可选地,该三维重建图像可以用于进行图像缺陷检测。

为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种图像的三维重建装置的实现方式。进一步地,请参阅图6,图6为本申请实施例提供的一种图像的三维重建装置的功能模块图。需要说明的是,本实施例所提供的图像的三维重建装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该图像的三维重建装置包括:获取模块300、拆分模块310、匹配模块320以及重建模块330。

该获取模块300,用于获取多目系统中第一相机拍摄的第一图像、第二相机拍摄的第二图像以及第三相机拍摄的第三图像;第一相机与第二相机位置相对水平,第二相机与第三相机位置相对垂直。

可以理解的,该获取模块300还可以用于执行上述步骤S20。

该拆分模块310,用于根据第二图像中各个像素点的梯度方向,将第二图像拆分为竖直图像以及水平图像;其中,竖直图像中各个像素点的梯度方向与水平方向的夹角均处于预设的第一角度范围,水平图像中各个像素点的梯度方向与竖直方向的夹角均处于预设的第二角度范围。

可以理解的,该拆分模块310还可以用于执行上述步骤S21。

该匹配模块320,用于将竖直图像与第一图像进行立体匹配,获得竖直图像对应的竖直深度图,将水平图像与第三图像进行立体匹配,获得水平图像对应的水平深度图。

可以理解的,该匹配模块320还可以用于执行上述步骤S22。

该重建模块330,用于根据竖直深度图以及水平深度图,生成三维重建图像。

可以理解的,该重建模块330还可以用于执行上述步骤S23。

可选地,该拆分模块310,还用于根据第二图像中各个像素点的梯度方向分别与水平方向和竖直方向的位置关系,确定属于竖直图像的像素点以及属于水平图像的像素点,以将第二图像拆分为竖直图像和水平图像。

可选地,各个像素点的梯度方向根据像素点的水平梯度和竖直梯度确定,水平梯度和竖直梯度根据预设的梯度算子对像素点计算得到,该拆分模块310,还用于针对第二图像中各个像素点,根据预设的梯度算子以及像素点所处的预设区域内各个像素点的灰度值,计算像素点的水平梯度和竖直梯度。

可选地,梯度算子包括纵向边缘检测算子以及横向边缘检测算子;根据预设的梯度算子以及像素点所处的预设区域内各个像素点的灰度值,该拆分模块310,还用于将纵向边缘检测算子与像素点所处的预设区域内各个像素点的灰度值进行卷积,获得像素点的水平梯度;将横向边缘检测算子与像素点所处的预设区域内各个像素点的灰度值进行卷积,获得像素点的竖直梯度。

可选地,该匹配模块320,还用于分别根据竖直图像以及第一图像中各个像素点的灰度值,确定竖直图像以及第一图像中各个像素点的特征序列;根据竖直图像中各个像素点的特征序列以及第一图像中各个像素点的特征序列,计算竖直图像中各个像素点的视差;根据竖直图像中各个像素点的视差、第一相机和第二相机之间的相机距离以及第二相机的相机焦距,计算竖直图像中各个像素点的深度值,以生成竖直图像对应的竖直深度图。

可以理解的,该匹配模块320还可以用于执行上述步骤S22-1~步骤S22-3。

可选地,该匹配模块320,还用于针对竖直图像以及第一图像中的各个像素点,将像素点作为第一目标像素点,根据预设的区域大小确定第一目标像素点对应的特征区域;根据特征区域内第一目标像素点与其他像素点之间的灰度值大小,确定第一目标像素点的特征序列。

可选地,该匹配模块320,还用于依次将竖直图像中的各个像素点作为第二目标像素点,根据预设的视差范围在第一图像中水平方向上确定第二目标像素点对应的目标搜索范围;根据第二目标像素点的特征序列和目标搜索范围内各个像素点的特征序列,确定目标搜索范围内与第二目标像素点对应的同名点;同名点与第二目标像素点之间的汉明距离最小;根据第二目标像素点的位置参数和同名点的位置参数,计算第二目标像素点的视差。

可选地,该拆分模块310,还用于分别根据水平图像以及第三图像中各个像素点的灰度值,确定水平图像以及第三图像中各个像素点的特征序列;根据水平图像中各个像素点的特征序列以及第三图像中各个像素点的特征序列,计算水平图像中各个像素点的视差;根据水平图像中各个像素点的视差、第二相机和第三相机之间的相机距离以及第二相机的相机焦距,计算水平图像中各个像素点的深度值,以生成水平图像对应的水平深度图。

可选地,该重建模块330,还用于生成空白重建图像;将竖直深度图和水平深度图中各个像素点对应的深度值,按照像素点的位置写入空白重建图像,以生成三维重建图像。

可选地,该获取模块300,还用于根据预存的第一水平校正矩阵对第一图像进行校正,根据预存的第二水平校正矩阵对第二图像进行校正,以使第一图像与第二图像的极线在水平方向对齐;根据预存的第一竖直校正矩阵对第三图像进行校正,根据预存的第二竖直校正矩阵对第二图像进行校正,以使第三图像与第二图像的极线在竖直方向对齐。

本申请实施例提供的图像的三维重建装置,通过获取模块获取多目系统中第一相机拍摄的第一图像、第二相机拍摄的第二图像以及第三相机拍摄的第三图像;第一相机与第二相机位置相对水平,第二相机与第三相机位置相对垂直;通过拆分模块根据第二图像中各个像素点的梯度方向,将第二图像拆分为竖直图像以及水平图像;其中,竖直图像中各个像素点的梯度方向与水平方向的夹角均处于预设的第一角度范围,水平图像中各个像素点的梯度方向与竖直方向的夹角均处于预设的第二角度范围;通过匹配模块分别将竖直图像与第一图像进行立体匹配,将水平图像与第三图像进行立体匹配,获得竖直图像对应的竖直深度图以及水平图像对应的水平深度图;通过重建模块根据竖直深度图以及水平深度图,生成三维重建图像。

由于竖直图像中各个像素点的梯度方向与水平方向的夹角处于预设的第一角度范围,水平图像中各个像素点的梯度方向与竖直方向的夹角处于预设的第二角度范围,因此竖直图像中的线条更倾向于竖直方向,水平图像中的线条更倾向于水平方向,从而实现针对较为竖直的线条在水平方向上进行匹配,针对较为水平的线条在竖直方向上进行匹配,在此基础上,可以提高特征匹配的准确度,进而提高图像的三维重建效果。

可选地,上述模块可以软件或固件(Firmware)的形式存储于图2所示的存储器中或固化于该电子设备的操作系统(Operating System,OS)中,并可由图2中的处理器执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器中。

可选地,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现本申请实施例提供的图像的三维重建方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种三维重建图像采集消影装置及方法
  • 一种图像识别模型的训练方法、图像识别方法和相关装置
  • 图像特征识别方法、相关装置及存储介质
  • 一种获取图像的方法、相关装置及可读存储介质
  • 图像中目标物体的分割方法、三维重建方法及相关装置
  • 一种三维重建方法、人脸三维重建方法及其相关装置
技术分类

06120116396386