CN114820939A - 一种图像重建方法、装置及设备 - Google Patents
一种图像重建方法、装置及设备 Download PDFInfo
- Publication number
- CN114820939A CN114820939A CN202210469583.7A CN202210469583A CN114820939A CN 114820939 A CN114820939 A CN 114820939A CN 202210469583 A CN202210469583 A CN 202210469583A CN 114820939 A CN114820939 A CN 114820939A
- Authority
- CN
- China
- Prior art keywords
- point
- coding
- image
- pixel
- determining
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/521—Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本申请提供一种图像重建方法、装置及设备,包括:基于第一目标图像中N个第一光条中心线和第二目标图像中N个第二光条中心线确定多个关键点对,关键点对包括第一光条中心线中第一像素点和第二光条中心线中第二像素点;其中,针对第一光条中心线中每个第一像素点,从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点,基于所述第一编码图像确定该第一像素点对应的第一编码特征,基于所述第二编码图像确定各候选匹配点对应的第二编码特征;基于所述第一编码特征和各第二编码特征,从所述多个候选匹配点中选取该第一像素点对应的第二像素点;基于所述多个关键点对对应的三维点生成三维重建图像。通过本申请方案,解决多线激光误匹配问题。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像重建方法、装置及设备。
背景技术
三维成像设备可以由激光器和一个摄像机组成,使用激光器投射线结构光到被测物体(即被测目标)表面,并使用摄像机对被测物体进行拍摄,得到带有线结构光的图像,即线结构光图像。在得到线结构光图像之后,可以获取线结构光图像的光条中心线,并根据预先标定的传感器参数对光条中心线进行转换,得到被测物体在当前位置的空间坐标(即三维坐标)。基于被测物体在当前位置的空间坐标,就可以实现被测物体的三维重建(即三维重构)。
为了实现被测物体的三维重建,需要采集被测物体的不同位置的线结构光图像,即激光器投射线结构光到被测物体的不同位置,每个位置对应一个线结构光图像,摄像机每次只采集一个位置对应的线结构光图像,从而导致摄像机需要采集多次线结构光图像才能够完成三维重建,即三维重建的时间比较长。
发明内容
本申请提供一种图像重建方法,应用于三维成像设备,所述三维成像设备包括编码图案投射器、第一摄像机、第二摄像机和多线激光器,包括:
在所述编码图案投射器投射目标编码图案到被测物体时,获取第一摄像机采集的第一背景图像、第二摄像机采集的第二背景图像;确定第一背景图像对应的第一编码图像和第二背景图像对应的第二编码图像;其中,所述目标编码图案的水平方向上,不同编码点对应不同的编码特征;
在多线激光器投射N条线结构光到被测物体时,获取第一摄像机采集的第一原始图像、第二摄像机采集的第二原始图像;确定所述第一原始图像对应的第一目标图像和所述第二原始图像对应的第二目标图像;
基于第一目标图像中N个第一光条中心线和第二目标图像中N个第二光条中心线确定多个关键点对,关键点对包括第一光条中心线中第一像素点和第二光条中心线中第二像素点,该第一像素点和该第二像素点是被测物体上同一位置点对应的像素点;其中,针对第一光条中心线中每个第一像素点,从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点,基于所述第一编码图像确定该第一像素点对应的第一编码特征,并基于所述第二编码图像确定各候选匹配点对应的第二编码特征;基于所述第一编码特征和各第二编码特征,从所述多个候选匹配点中选取该第一像素点对应的第二像素点;
基于所述多个关键点对对应的三维点生成三维重建图像。
本申请提供一种图像重建装置,应用于三维成像设备,所述三维成像设备包括编码图案投射器、第一摄像机、第二摄像机和多线激光器,包括:
获取模块,用于在所述编码图案投射器投射目标编码图案到被测物体时,获取所述第一摄像机采集的第一背景图像、所述第二摄像机采集的第二背景图像;其中,所述目标编码图案的水平方向上,不同编码点对应不同的编码特征;
在所述多线激光器投射N条线结构光到被测物体时,获取所述第一摄像机采集的第一原始图像、所述第二摄像机采集的第二原始图像;
确定模块,用于确定第一背景图像对应的第一编码图像和第二背景图像对应的第二编码图像;确定所述第一原始图像对应的第一目标图像和所述第二原始图像对应的第二目标图像;基于第一目标图像中N个第一光条中心线和第二目标图像中N个第二光条中心线确定多个关键点对,关键点对包括第一光条中心线中第一像素点和第二光条中心线中第二像素点,该第一像素点和该第二像素点是被测物体上同一位置点对应的像素点;其中,针对第一光条中心线中每个第一像素点,从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点,基于所述第一编码图像确定该第一像素点对应的第一编码特征,并基于所述第二编码图像确定各候选匹配点对应的第二编码特征;基于所述第一编码特征和各第二编码特征,从多个候选匹配点中选取该第一像素点对应的第二像素点;生成模块,用于基于所述多个关键点对对应的三维点生成三维重建图像。
本申请提供一种三维成像设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例公开的图像重建方法。
由以上技术方案可见,本申请实施例中,多线激光器每次投射N条线结构光到被测物体,N为大于1的正整数,如7、11、15等,使得摄像机每次采集的线结构光图像包括N个光条中心线,这个线结构光图像等价于被测物体的N个位置的线结构光图像,从而能够减少线结构光图像的采集次数,减少三维重建的时间。多线激光对被测物体表面进行扫描时,能够快速获取被测物体的整个轮廓数据,输出被测物体的三维图像信息,提高检测精度和检测速度。通过使用第一摄像机和第二摄像机同时采集线结构光图像,基于两个摄像机采集的线结构光图像,就能够利用三角测量法获取被测物体的三维信息,即可以得到被测物体的深度信息,从而利用单次采集图像获取多线激光上的深度信息,能够单次将扫描效率提升N倍,快速实现对被测物体整个轮廓的全幅扫描。通过获取与目标编码图案对应的第一编码图像和第二编码图像,当第一像素点对应多个候选匹配点时,就可以基于第一编码图像和第二编码图像从多个候选匹配点中选取与第一像素点对应的第二像素点,从而能够解决多线激光误匹配问题,特别是在复杂环境下(如大景深遮挡、金属工件反光等)超多线激光(如11线及以上)的误匹配问题,获取高精度、高效、高质量的点云及深度图数据。
附图说明
图1是本申请一种实施方式中的三维成像设备的结构示意图;
图2是本申请一种实施方式中的目标编码图案的示意图;
图3是本申请一种实施方式中的编码图案投射器和多线激光器的控制图;
图4是本申请一种实施方式中的图像重建方法的流程示意图;
图5是本申请一种实施方式中的图像重建方法的流程示意图;
图6是本申请一种实施方式中的第一像素点对应的中心点的示意图;
图7是本申请一种实施方式中的三角化方式的原理示意图;
图8是本申请一种实施方式中的图像重建装置的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了获取三维重建图像,在相关技术中,可以采用面投影结构光方法、双目散斑法、TOF(Time of flight,飞行时间)法以及单线激光轮廓扫描法等。在采用面投影结构光方法时,可以采用DLP(Digital Light Processing,数字光处理)或LCD(Liquid CrystalDisplay,液晶显示器)投影技术,采用LED(Light Emitting Diode,发光二极管)光源作为投影光源,投影体积大,能量发散,在大视野远距离下,体积大、功耗大,不利于三维定位应用。在采用双目散斑法时,采用双目视差结合激光散斑双目匹配方法,检测精度低、切边缘轮廓差,不利于轮廓扫描和三维定位应用。在采用TOF法时,受限于相机分辨率,检测精度在cm级别,不满足自动化高精度定位应用。在采用单线激光轮廓扫描法时,利用单线激光扫描物体的深度信息,但是,扫描速度慢且稳定性差,不满足定位需求。
以采用单线激光轮廓扫描法为例,可以使用激光器投射线结构光到被测物体表面,并使用摄像机对被测物体进行拍摄,得到带有线结构光的图像,即线结构光图像。在得到线结构光图像之后,可以基于线结构光图像得到被测物体在当前位置的空间坐标(即三维坐标),实现被测物体的三维重建(即三维重构)。但是,为了实现被测物体的三维重建,需要采集被测物体的不同位置的线结构光图像,即激光器投射线结构光到被测物体的不同位置,每个位置对应一个线结构光图像,由于摄像机每次只采集一个位置对应的线结构光图像,从而导致摄像机需要采集多次线结构光图像才能够完成三维重建,即三维重建的时间比较长,扫描速度慢且稳定性差,不满足三维重建的定位需求。
针对上述发现,本申请实施例提出一种多线激光扫描的三维成像方法,可以利用三角测量法获取被测物体的深度信息,采用多线激光对被测物体表面形成光学扫描,能够快速获取被测物体的整个轮廓数据,输出被测物体的三维图像信息。其中,多线激光扫描的三维成像方法可以应用于机器视觉领域和工业自动化领域,可以用于实现三维测量和机器人定位,对此应用场景不做限制。
本实施例中,可以利用三角测量法获取被测物体的深度信息,通过单次获取多线激光上的深度信息,如10线、20线等,能够单次将扫描效率提升10-20倍,然后通过带动多线激光扫描,实现对被测物体的整个轮廓的全幅扫描。
本实施例中,能够解决面投影结构光方法的体积大、功耗大等问题,能够解决双目散斑法的检测精度低、切边缘轮廓差等问题,能够解决TOF法的检测精度低等问题,能够解决单线激光轮廓扫描法的扫描速度慢、稳定性差等问题。综上所述,本实施例中的多线激光扫描的三维成像方法,是一种高精度、低成本、小体积、低功耗的三维扫描成像方法,检测速度更快,检测精度更高。
本实施例中,当一个像素点对应多个候选匹配点时,基于编码图像从多个候选匹配点中选取与该像素点对应的像素点,从而能够解决多线激光误匹配问题,特别是在复杂环境下(如大景深遮挡、金属工件反光等)超多线激光(如11线及以上)的误匹配问题,获取高精度、高效、高质量的点云及深度图数据。
本申请实施例中提出一种多线激光扫描的三维成像方法,可以应用于三维成像设备,对此三维成像设备的类型不做限制,可以是具有三维成像功能的任意设备,例如,机器视觉领域或者工业自动化领域的任意设备等。
参见图1所示,为三维成像设备的结构示意图,该三维成像设备可以包括但不限于:左相机、右相机、多线激光器、编码图案投射器(即编码图案投射装置)、旋转机构、高反射镜、控制单元、数据处理单元、对外输出接口等。
示例性的,左相机和右相机可以采用黑白相机,相机前端增加与多线激光器波长相同带宽的滤光片,只允许激光波长范围内的光通过,即只接收被测物体反射的激光器波长,获取激光线的反射图像,提高对比度,减少环境光干扰。
示例性的,多线激光器是能够同时发射多条激光线的激光器,可以由激光二极管、准直透镜、多线DOE组成。其中,激光二极管采用大功率红光激光二极管,波长可以为635nm、或660nm、或其它波长。此外,多线DOE可以同时发射10条激光线、或11条激光线、或25条激光线等,对此不做限制。
示例性的,编码图案投射器用于投射目标编码图案到被测物体,该目标编码图案的水平方向上,不同编码点对应不同的编码特征。比如说,假设左相机采集图像的尺寸是W*H,右相机采集图像的尺寸也是W*H,即图像宽度是W,图像高度是H,那么,目标编码图案可以包括W*H个编码点,每个编码点具有一个编码特征。针对目标编码图案的每一行,该行可以包括W个编码点,不同编码点需要对应不同的编码特征,即编码点对应的编码特征在每一行具有唯一性。如第1个编码点对应编码特征1、第2个编码点对应编码特征2、以此类推,第W个编码点对应编码特征W。针对目标编码图案的不同行,不同编码点可以对应相同的编码特征,也可以对应不同的编码特征,如第一行的第k个编码点对应的编码特征与第二行的第k个编码点对应的编码特征可以相同或不同。
综上可以看出,目标编码图案具有明显地空间区分性,即每一行的不同编码点具有不同编码特征,这样,就可以基于编码特征确定出编码点是一行中的哪个编码点,比如说,若获知编码特征是编码特征2,则可以确定编码点是一行中的第2个编码点,即能够直接确定这个编码特征在图像中对应的位置。
为了得到目标编码图案,可以采用编码规则进行全局编码,得到目标编码图案,该编码规则可以是基于时域信息或者空间邻域信息的编码规则,对此编码规则不做限制,只要水平方向上的不同编码点对应不同的编码特征即可。
在一种可能的实施方式中,参见图2所示,示出了几种目标编码图案的示例,目标编码图案的编码点对应的编码特征,可以包括但不限于:时域编码特征和/或空间编码特征;时域编码特征包括:二值码特征、格雷码特征、相移特征;空间编码特征包括:De Bruijn序列特征。二值码特征、格雷码特征和相移特征是基于时域信息的编码规则进行全局编码得到的,De Bruijn序列特征是基于空间邻域信息的编码规则进行全局编码得到的。当然,图2所示的目标编码图案只是几个示例,本实施例中对此不做限制,可以是任意目标编码图案。
参见图2所示,左上角是二值码特征的示例,以一行的W个编码点是8个编码点为例,第1个编码点对应的编码图案是黑色黑色黑色,该编码图案对应的编码特征1是“000”,即第1个编码点对应的编码特征是“000”,第2个编码点对应的编码图案是黑色黑色白色,该编码图案对应的编码特征2是“001”,即第2个编码点对应的编码特征是“001”,第3个编码点对应的编码图案是黑色白色黑色,该编码图案对应的编码特征3是“010”,即第3个编码点对应的编码特征是“010”,以此类推。针对目标编码图案的每一行,该行的8个编码点对应的编码特征依次是000、001、010、011、100、101、110、111。
左下角是格雷码特征的示例,以一行的W个编码点是8个编码点为例,第1个编码点对应的编码图案是黑色黑色黑色,该编码图案对应的编码特征1是“000”,第2个编码点对应的编码图案是黑色黑色白色,该编码图案对应的编码特征2是“001”,第3个编码点对应的编码图案是黑色白色白色,该编码图案对应的编码特征3是“011”,以此类推。针对目标编码图案的每一行,该行的8个编码点对应的编码特征依次是000、001、011、010、110、111、101、100。
右上角是相移特征的示例,相移特征是基于相移法进行编码得到的,相移是通过投影一系列相移光栅图像编码,得到物体表面一点在投影仪图像上的相对位置或绝对位置,本实施例对此相移法的过程不做限制,只要能够保证编码图案的每一行,该行的每个编码点对应的编码特征(即相移特征)不同即可。
右下角是De Bruijn序列特征的示例,De Bruijn序列是一串字符,满足如下条件:De Bruijn序列的长度为n的所有子循环序列不重复,子循环序列包括字符尾部到头部拼接的序列,对此De Bruijn序列的过程不做限制,只要能够保证编码图案的每一行,该行的每个编码点对应的De Bruijn序列特征不同即可。
当然,上述只是目标编码图案的几个示例,对此目标编码图案不做限制。
示例性的,控制单元用于控制多线激光器、编码图案投射器、左相机、右相机的开启和关闭,并控制旋转机构的旋转操作。参见图3所示,关于多线激光器、编码图案投射器、左相机、右相机的控制过程,控制单元进行以下操作:
首先,控制单元用于控制旋转机构移动至初始位置A,在旋转机构位于初始位置A时,控制单元控制编码图案投射器启动,并控制左相机采集被测物体的背景图像Lb,并控制右相机采集被测物体的背景图像Rb。
然后,控制单元控制编码图案投射器关闭,并控制多线激光器启动,多线激光器可以发射多条线激光(即线结构光),多条线激光经过高反射镜的反射后,照射在被测物体表面,在此基础上,控制单元用于控制左相机采集被测物体的线结构光图像L1,并控制右相机采集被测物体的线结构光图像R1。
然后,控制单元控制旋转机构移动至初始位置A的下一个位置B,在旋转机构位于位置B时,控制单元控制多线激光器启动,此时编码图案投射器关闭,多线激光器发射多条线激光,控制单元控制左相机采集被测物体的线结构光图像L2,并控制右相机采集被测物体的线结构光图像R2。
然后,控制单元控制旋转机构移动至位置B的下一个位置C,在旋转机构位于位置C时,控制单元控制多线激光器启动,并控制左相机采集被测物体的线结构光图像L3,并控制右相机采集被测物体的线结构光图像R3。
以此类推,一直到控制单元控制旋转机构移动至最后一个位置,控制左相机采集被测物体的线结构光图像Lm,并控制右相机采集被测物体的线结构光图像Rm,至此,完成图像采集过程,控制单元控制多线激光器关闭。
示例性的,数据处理单元可以为处理器,如CPU或者GPU等,数据处理单元可以获取上述图像,如背景图像Lb、背景图像Rb、线结构光图像L1、线结构光图像R1、线结构光图像L2、线结构光图像R2、...、线结构光图像Lm、线结构光图像Rm等。基于上述图像,数据处理单元可以获得三维重建图像,并通过对外输出接口输出三维重建图像。比如说,基于背景图像Lb、背景图像Rb、线结构光图像L1、线结构光图像R1,数据处理单元可以确定初始位置A下的三维点(即三维点云)。基于背景图像Lb1、背景图像Rb1、线结构光图像L2、线结构光图像R2,数据处理单元可以确定位置B下的三维点,以此类推,可以得到所有位置下的三维点。在此基础上,可以将所有位置下的三维点拼接,得到被测物体表面的完整三维点,即得到三维重建图像。
以下结合具体实施例,对本申请实施例的图像重建方法进行说明。参见图4所示,为图像重建方法的流程示意图,该方法可以应用于三维成像设备,三维成像设备可以包括编码图案投射器、第一摄像机、第二摄像机和多线激光器,第一摄像机可以为左相机,第二摄像机可以为右相机,或者,第一摄像机可以为右相机,第二摄像机可以为左相机,该方法可以包括以下步骤:
步骤401、在编码图案投射器投射目标编码图案到被测物体时,获取第一摄像机采集的第一背景图像、第二摄像机采集的第二背景图像;确定第一背景图像对应的第一编码图像和第二背景图像对应的第二编码图像;其中,目标编码图案的水平方向上,不同编码点可以对应不同的编码特征。
步骤402、在多线激光器投射N条线结构光(即激光线)到被测物体(即被测目标)时,获取第一摄像机采集的被测物体的第一原始图像、第二摄像机采集的被测物体的第二原始图像;确定第一原始图像对应的第一目标图像和第二原始图像对应的第二目标图像。其中,N可以为大于1的正整数。
示例性的,可以对第一背景图像、第二背景图像、第一原始图像和第二原始图像进行极线校正,得到第一背景图像对应的第一编码图像、第二背景图像对应的第二编码图像、第一原始图像对应的第一目标图像和第二原始图像对应的第二目标图像;其中,极线校正用于使被测物体上的同一个位置点,在第一编码图像、第二编码图像、第一目标图像和第二目标图像中具有相同像素高度。
步骤403、基于第一目标图像中N个第一光条中心线和第二目标图像中N个第二光条中心线确定多个关键点对。其中,针对每个关键点对,该关键点对包括第一光条中心线中第一像素点和第二光条中心线中第二像素点,该第一像素点和该第二像素点是被测物体上同一位置点对应的像素点。针对第一光条中心线中每个第一像素点,从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点,基于第一编码图像确定该第一像素点对应的第一编码特征,并基于第二编码图像确定各候选匹配点对应的第二编码特征;基于第一编码特征和各第二编码特征,从多个候选匹配点中选取该第一像素点对应的第二像素点。
示例性的,由于通过多线激光器投射N条线结构光到被测物体,因此,第一原始图像包括N条线结构光对应的N个第一光条区域,第二原始图像包括N条线结构光对应的N个第二光条区域,第一目标图像也包括N条线结构光对应的N个第一光条区域,第二目标图像也包括N条线结构光对应的N个第二光条区域。在此基础上,可以确定第一目标图像中每个第一光条区域对应的第一光条中心线,即得到N个第一光条中心线,可以确定第二目标图像中每个第二光条区域对应的第二光条中心线,即得到N个第二光条中心线。
示例性的,基于第一编码图像确定该第一像素点对应的第一编码特征,并基于第二编码图像确定各候选匹配点对应的第二编码特征,可以包括但不限于:从第一编码图像中确定该第一像素点对应的第一编码点,该第一编码点在第一编码图像中的像素坐标与该第一像素点在第一目标图像中的像素坐标相同;基于第一编码点的编码特征确定该第一像素点对应的第一编码特征。针对各候选匹配点,从第二编码图像中确定该候选匹配点对应的第二编码点,该第二编码点在第二编码图像中的像素坐标与该候选匹配点在第二目标图像中的像素坐标相同;基于该第二编码点的编码特征确定该候选匹配点对应的第二编码特征。
示例性的,若目标编码图案对应的编码特征为编码值,基于第一编码特征和各第二编码特征,从多个候选匹配点中选取该第一像素点对应的第二像素点,包括但不限于:从所有第二编码特征中选取与第一编码特征相同的目标第二编码特征;将目标第二编码特征对应的候选匹配点选取为该第一像素点对应的第二像素点,即第一像素点对应的编码特征与第二像素点对应的编码特征相同。
示例性的,从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点,可以包括但不限于:基于多个标定方程将该第一像素点转换为多个目标三维重建点;其中,各标定方程均表示第一目标图像中像素点与三维重建点之间的函数关系。将多个目标三维重建点转换为第二目标图像中的多个投影像素点;基于每个第二光条中心线,从该第二光条中心线中确定与该第一像素点具有相同像素高度的中心点,基于该中心点与每个投影像素点之间的距离,确定该中心点是该第一像素点对应的候选匹配点,或不是该第一像素点对应的候选匹配点。或者,基于每个第二光条中心线,从该第二光条中心线中确定与该第一像素点具有相同像素高度的中心点,并将该中心点确定为候选匹配点,也就是说,与该第一像素点具有相同像素高度的中心点均作为候选匹配点,而不需要基于投影像素点与中心点之间的距离,从所有中心点中选取候选匹配点。
示例性的,基于该中心点与每个投影像素点之间的距离,确定该中心点是该第一像素点对应的候选匹配点,或不是该第一像素点对应的候选匹配点,可以包括:若该中心点与每个投影像素点之间的距离均大于第一距离阈值,则确定该中心点不是该第一像素点对应的候选匹配点;若该中心点与任一投影像素点之间的距离不大于第一距离阈值,则确定该中心点是该第一像素点对应的候选匹配点;或者,基于该中心点与每个投影像素点之间的距离确定距离平均值,若该距离平均值大于第二距离阈值,则确定该中心点不是该第一像素点对应的候选匹配点,若该距离平均值不大于第二距离阈值,则确定该中心点是该第一像素点对应的候选匹配点。
步骤404、基于多个关键点对对应的三维点生成三维重建图像。
示例性的,针对每个关键点对,可以基于该关键点对和相机标定参数确定该关键点对对应的三维点。其中,相机标定参数可以包括第一摄像机的相机内参、第二摄像机的相机内参、第一摄像机与第二摄像机之间的相机外参。可以通过第一摄像机的相机内参对第一像素点进行畸变校正,将畸变校正后的像素点转换为第一齐次坐标;通过第二摄像机的相机内参对第二像素点进行畸变校正,将畸变校正后的像素点转换为第二齐次坐标;基于第一齐次坐标、第二齐次坐标、第一摄像机的相机内参、第二摄像机的相机内参、第一摄像机与第二摄像机之间的相机外参,利用三角化方式确定该关键点对对应的三维点。
由以上技术方案可见,本申请实施例中,多线激光器每次投射N条线结构光到被测物体,N为大于1的正整数,如7、11、15等,使得摄像机每次采集的线结构光图像包括N个光条中心线,这个线结构光图像等价于被测物体的N个位置的线结构光图像,从而能够减少线结构光图像的采集次数,减少三维重建的时间。多线激光对被测物体表面进行扫描时,能够快速获取被测物体的整个轮廓数据,输出被测物体的三维图像信息,提高检测精度和检测速度。通过使用第一摄像机和第二摄像机同时采集线结构光图像,基于两个摄像机采集的线结构光图像,就能够利用三角测量法获取被测物体的三维信息,即可以得到被测物体的深度信息,从而利用单次采集图像获取多线激光上的深度信息,能够单次将扫描效率提升N倍,快速实现对被测物体整个轮廓的全幅扫描。通过获取与目标编码图案对应的第一编码图像和第二编码图像,当第一像素点对应多个候选匹配点时,就可以基于第一编码图像和第二编码图像从多个候选匹配点中选取与第一像素点对应的第二像素点,从而能够解决多线激光误匹配问题,特别是在复杂环境下(如大景深遮挡、金属工件反光等)超多线激光(如11线及以上)的误匹配问题,获取高精度、高效、高质量的点云及深度图数据。
以下结合具体应用场景,对本申请实施例的上述技术方案进行说明。
本应用场景中,三维成像设备可以包括第一摄像机、第二摄像机、多线激光器,编码图案投射器,第一摄像机为左相机,第二摄像机为右相机,或第一摄像机为右相机,第二摄像机为左相机。可以预先获取三维成像设备对应的相机标定参数和标定方程,并存储该相机标定参数和该标定方程。
示例性的,相机标定参数可以包括第一摄像机的相机内参、第二摄像机的相机内参、第一摄像机与第二摄像机之间的相机外参。第一摄像机的相机内参可以是与第一摄像机自身特性相关的参数,如焦距、像素大小、畸变系数等。第二摄像机的相机内参可以是与第二摄像机自身特性相关的参数,如焦距、像素大小、畸变系数等。第一摄像机与第二摄像机之间的相机外参是世界坐标系中的参数,如第一摄像机的位置和旋转方向、第二摄像机的位置和旋转方向、第一摄像机与第二摄像机之间的位置关系,例如,旋转矩阵和平移矩阵等。
关于第一摄像机的相机内参,是第一摄像机的固有参数,第一摄像机出厂时就已经给出第一摄像机的相机内参。关于第二摄像机的相机内参,是第二摄像机的固有参数,第二摄像机出厂时就已经给出第二摄像机的相机内参。
关于第一摄像机与第二摄像机之间的相机外参,如旋转矩阵和平移矩阵等,可以在目标场景部署多个标定点,通过第一摄像机采集目标场景的第一标定图像,该第一标定图像包括多个标定点,通过第二摄像机采集目标场景的第二标定图像,该第二标定图像包括多个标定点。基于多个标定点在第一标定图像中的像素坐标和多个标定点在第二标定图像中的像素坐标,就可以确定出第一摄像机与第二摄像机之间的相机外参,对此相机外参的确定过程不做限制。
示例性的,该标定方程表示第一摄像机采集图像中像素点与三维重建点之间的函数关系。假设多线激光器投射N条线结构光到被测物体,则获取N个标定方程,且标定方程可以是光平面方程。关于标定方程的获取方式,可以包括:
步骤S11、在多线激光器投射N条线结构光到白色背景板时,获取第一摄像机采集的针对白色背景板的图像s1,并获取第二摄像机采集的针对白色背景板的图像s2。其中,图像s1可以包括N条线结构光对应的N个第一光条区域,N个第一光条区域与N条线结构光一一对应,图像s2可以包括N条线结构光对应的N个第二光条区域,N个第二光条区域与N条线结构光一一对应。
步骤S12、确定图像s1中每个第一光条区域对应的第一光条中心线,并确定图像s2中每个第二光条区域对应的第二光条中心线,即,得到N条线结构光对应的N个第一光条中心线,得到N条线结构光对应的N个第二光条中心线。
步骤S13、基于所有第一光条中心线和所有第二光条中心线确定多个关键点对,各关键点对包括第一光条中心线中第一中心点和第二光条中心线中第二中心点,且第一中心点和第二中心点是白色背景板上同一位置点对应的像素点。
比如说,假设N条线结构光为线结构光1和线结构光2,图像s1包括线结构光1对应的第一光条区域1和线结构光2对应的第一光条区域2,图像s2包括线结构光1对应的第二光条区域1和线结构光2对应的第二光条区域2。第一光条区域1对应第一光条中心线1,第一光条区域2对应第一光条中心线2,第二光条区域1对应第二光条中心线1,第二光条区域2对应第二光条中心线2。
示例性的,由于被测物体是白色背景板,线结构光投射2条线结构光到白色背景板时,光条区域比较清晰,没有杂点产生,因此,在基于第一光条区域1确定第一光条中心线1时,第一光条中心线1的每一行只有1个中心点,同理,第二光条中心线1的每一行只有1个中心点。在此基础上,将第一光条中心线1的第一行中心点与第二光条中心线1的第一行中心点组成关键点对11,将第一光条中心线1的第二行中心点与第二光条中心线1的第二行中心点组成关键点对12,以此类推。同理,可以将第一光条中心线2的第一行中心点与第二光条中心线2的第一行中心点组成关键点对21,将第一光条中心线2的第二行中心点与第二光条中心线2的第二行中心点组成关键点对22,以此类推。
步骤S14、针对每个关键点对,基于该关键点对和相机标定参数确定该关键点对对应的三维点,比如说,可以采用三角化方式确定该关键点对对应的三维点,对此三角化方式可以参见后续实施例,在此不再赘述。
步骤S15、基于关键点对和该关键点对对应的三维点,确定每个线结构光对应的标定方程。比如说,基于第一光条中心线1和第二光条中心线1之间的多个关键点对(如关键点对11、关键点对12等)、及各关键点对对应的三维点,可以确定线结构光1对应的标定方程。例如,基于第一光条中心线1的大量中心点、及每个中心点对应的三维点,就可以确定标定方程,该标定方程用于表示图像s1中像素点(即第一光条中心线1的中心点)与三维重建点(即中心点对应的三维点)之间的函数关系,如使用平面模型或者二次模型进行拟合,得到该标定方程。同理,可以得到线结构光2对应的标定方程,以此类推,即可以得到与每个线结构光对应的标定方程,也就是得到N个标定方程。
在上述应用场景下,参见图5所示,本实施例的图像重建方法可以包括:
步骤501、在编码图案投射器投射目标编码图案到被测物体时,获取第一摄像机采集的第一背景图像Lb、第二摄像机采集的第二背景图像Rb。其中,第一背景图像Lb的采集时刻和第二背景图像Rb的采集时刻可以相同。
步骤502、在多线激光器投射N条线结构光到被测物体时,获取第一摄像机采集的被测物体的第一原始图像,获取第二摄像机采集的被测物体的第二原始图像,第一原始图像的采集时刻与第二原始图像的采集时刻可以相同。例如,第一原始图像是线结构光图像L1,第二原始图像是线结构光图像R1,或者,第一原始图像是线结构光图像L2,第二原始图像是线结构光图像R2,以此类推。
示例性的,第一原始图像包括N条线结构光对应的N个第一光条区域,如线结构光1对应的第一光条区域1、线结构光2对应的第一光条区域2、...、以此类推。第二原始图像包括N条线结构光对应的N个第二光条区域,如线结构光1对应的第二光条区域1、线结构光2对应的第二光条区域2、...、以此类推。
步骤503、对第一背景图像Lb、第二背景图像Rb、第一原始图像和第二原始图像进行极线校正,得到第一背景图像Lb对应的第一编码图像Lb’、第二背景图像Rb对应的第二编码图像Rb’、第一原始图像对应的第一目标图像和第二原始图像对应的第二目标图像。示例性的,极线校正用于使被测物体上的同一个位置点,在第一编码图像Lb’、第二编码图像Rb’、第一目标图像和第二目标图像中具有相同像素高度,本实施例中对此极线校正过程不做限制。
比如说,在二维空间上匹配对应点非常耗时,为了减少匹配搜索范围,可以利用极线约束使得对应点的匹配由二维搜索降为一维搜索,而极线校正的作用就是将第一背景图像Lb、第二背景图像Rb、第一原始图像和第二原始图像进行行对应,得到第一编码图像Lb’、第二编码图像Rb’、第一目标图像和第二目标图像,使得这些图像的对极线恰好在同一水平线,一个图像上任意一点与另一图像上对应点必然具有相同行号,只需在该行进行一维搜索即可。
示例性的,第一目标图像包括N条线结构光对应的N个第一光条区域,如线结构光1对应的第一光条区域1、线结构光2对应的第一光条区域2、...、以此类推。第二目标图像包括N条线结构光对应的N个第二光条区域,如线结构光1对应的第二光条区域1、线结构光2对应的第二光条区域2、...、以此类推。
步骤504、确定第一目标图像中每个第一光条区域对应的第一光条中心线,即得到第一目标图像中N个第一光条中心线;确定第二目标图像中每个第二光条区域对应的第二光条中心线,即得到第二目标图像中N个第二光条中心线。
示例性的,针对第一光条区域的每一行,可以包括多个像素点,可以从多个像素点中选取该行的中心点,而第一光条区域的所有行的中心点就组成第一光条中心线,因此,得到第一光条区域1对应第一光条中心线1、第一光条区域2对应第一光条中心线2、...、以此类推。同理,得到第二光条区域1对应的第二光条中心线1、第二光条区域2对应的第二光条中心线2、...、以此类推。
示例性的,可以采用光条中心线提取算法确定光条区域对应的光条中心线,例如,可以使用高斯拟合、COG或者STEGER等方式,提取光条区域的每一行的中心点,从而得到光条中心线,本实施例中对此过程不做限制。
示例性的,假设第一目标图像和第二目标图像的高度为H,则每个第一光条中心线均包括H行的中心点,每个第二光条中心线均包括H行的中心点。
步骤505、对于每个第一光条中心线(各第一光条中心线的处理方式相同,后续以一个第一光条中心线为例),针对该第一光条中心线中的每个第一像素点,基于多个标定方程将该第一像素点转换为多个目标三维重建点。其中,各标定方程均表示第一目标图像中像素点与三维重建点之间的函数关系。
示例性的,由于未获知该第一光条中心线对应哪条线结构光,因此,可以获取所有线结构光对应的标定方程,即N个标定方程,由于各标定方程均表示第一目标图像中像素点与三维重建点之间的函数关系,因此,可以基于各标定方程将第一像素点转换为目标三维重建点。比如说,基于线结构光1对应的标定方程将第一像素点转换为目标三维重建点,基于线结构光2对应的标定方程将第一像素点转换为目标三维重建点,以此类推,基于N个线结构光对应的N个标定方程,就可以将第一像素点转换为N个目标三维重建点。
步骤506、基于该第一像素点对应的多个目标三维重建点,可以将多个目标三维重建点转换为第二目标图像中的多个投影像素点。
示例性的,针对每个目标三维重建点,该目标三维重建点是世界坐标系下的三维点,基于第二摄像机的位置(基于相机标定参数获知),可以将该目标三维重建点转换为第二目标图像中的像素点,将这个像素点记为该目标三维重建点对应的投影像素点,本实施例中对此转换过程不做限制。
显然,针对每个目标三维重建点,可以得到该目标三维重建点对应的投影像素点,也就是说,N个目标三维重建点可以对应N个投影像素点,也就是该第一像素点对应的N个投影像素点。综上所述,针对第一光条中心线中的每个第一像素点,可以将该第一像素点投影到第二目标图像,得到N个投影像素点。
步骤507、针对第一光条中心线中的每个第一像素点,可以从每个第二光条中心线中确定与该第一像素点具有相同像素高度的中心点,由于存在N个第二光条中心线,因此,可以得到与该第一像素点对应的多个中心点。
综上可以看出,基于步骤506和步骤507,针对第一光条中心线中的每个第一像素点,可以从第二目标图像中确定出与该第一像素点对应的N个投影像素点,并从第二目标图像中确定出与该第一像素点对应的多个中心点。
步骤508、基于该第一像素点对应的所有投影像素点和所有中心点,从该第一像素点对应的所有中心点中选取与该第一像素点对应的候选匹配点。
比如说,针对该第一像素点对应的每个中心点,计算该中心点与每个投影像素点之间的距离,如欧式距离,基于该中心点与每个投影像素点之间的距离,就可以确定该中心点是该第一像素点对应的候选匹配点,或,该中心点不是该第一像素点对应的候选匹配点。显然,对每个中心点进行上述处理后,可以得到该第一像素点对应的候选匹配点,且候选匹配点的数量为至少一个,至此,可以从所有第二光条中心线中确定该第一像素点对应的至少一个候选匹配点。
在一种可能的实施方式中,针对该第一像素点对应的每个中心点,若该中心点与每个投影像素点之间的距离均大于第一距离阈值,则确定该中心点不是该第一像素点对应的候选匹配点;若该中心点与任一投影像素点之间的距离不大于第一距离阈值,则确定该中心点是该第一像素点对应的候选匹配点。
参见图6所示,第一像素点为cl,N条线结构光从左到右依次是p1、...、pN,第二目标图像上与第一像素点对应的中心点为cr1、cr2、...、crM,M为中心点总数量,在此基础上,第一像素点对应的候选匹配点可以满足如下公式:
在上述公式中,f(cl,pi,crj)表示第一像素点cl在第二目标图像中的投影像素点与中心点crj之间的欧式距离,thresh表示第一距离阈值,根据经验配置。
从上述公式可以看出,针对第一像素点对应的每个中心点crj,若中心点crj与每个投影像素点之间的欧式距离均大于第一距离阈值,则确定中心点crj不是第一像素点对应的候选匹配点若中心点crj与任一投影像素点之间的欧式距离不大于第一距离阈值,则确定中心点crj是该第一像素点对应的候选匹配点
综上所述,可以从第二目标图像中确定出第一像素点对应的候选匹配点。
在另一种可能的实施方式中,针对第一光条中心线中的每个第一像素点,可以从每个第二光条中心线中确定与该第一像素点具有相同像素高度的中心点,由于存在N个第二光条中心线,因此,可以得到与该第一像素点对应的多个中心点,在该实施方式中,这些中心点均作为第一像素点对应的候选匹配点。
步骤509、基于第一编码图像确定该第一像素点对应的第一编码特征,并基于第二编码图像确定各候选匹配点对应的第二编码特征。
在一种可能的实施方式中,可以采用如下步骤确定编码特征:
步骤5091、从第一编码图像中确定第一像素点对应的第一编码点,该第一编码点在第一编码图像中的像素坐标与该第一像素点在第一目标图像中的像素坐标相同。例如,从第一编码图像Lb’中确定第一像素点对应的第一编码点x11。
步骤5092、基于第一编码点的编码特征确定该第一像素点对应的第一编码特征,如将第一编码点的编码特征作为该第一像素点对应的第一编码特征。
示例性的,由于目标编码图案的水平方向上不同编码点对应不同的编码特征,因此,对于第一编码图像的每一行来说,该行的不同像素点对应不同的编码特征,具有唯一性,以二值码特征为例,假设第一编码图像的每一行均包括8个像素点,这8个像素点对应的编码特征依次是000、001、010、011、100、101、110、111,那么:从第一编码图像Lb’中确定第一像素点对应的第一编码点x11,假设第一编码点x11是第一编码图像中某行的第3个像素点,则第一编码点x11对应的编码特征是010,将编码特征是010作为第一像素点对应的第一编码特征。
步骤5093、针对每个候选匹配点,从第二编码图像中确定该候选匹配点对应的第二编码点,第二编码点在第二编码图像中的像素坐标与候选匹配点在第二目标图像中的像素坐标相同。假设存在候选匹配点1、候选匹配点2和候选匹配点3,从第二编码图像Rb’中确定候选匹配点1对应的第二编码点y11、确定候选匹配点2对应的第二编码点y13、确定候选匹配点3对应的第二编码点y13。
步骤5094、基于第二编码点的编码特征确定候选匹配点对应的第二编码特征。例如,将第二编码点y11的编码特征作为候选匹配点1对应的第二编码特征,将第二编码点y12的编码特征作为候选匹配点2对应的第二编码特征。
示例性的,由于目标编码图案的水平方向上不同编码点对应不同的编码特征,因此,对于第二编码图像的每一行来说,该行的不同像素点对应不同的编码特征,以二值码特征为例进行说明,假设第二编码图像的每一行均包括8个像素点,这8个像素点对应的编码特征依次是000、001、010、011、100、101、110、111,那么:假设第二编码点y11是第二编码图像中某行的第3个像素点,第二编码点y12是第二编码图像中某行的第4个像素点,第二编码点y13是第二编码图像中某行的第5个像素点,则第二编码点y11对应的编码特征是010,第二编码点y12对应的编码特征是011,第二编码点y13对应的编码特征是100,在此基础上,可以获知候选匹配点1对应的第二编码特征是010、候选匹配点2对应的第二编码特征是011、候选匹配点3对应的第二编码特征是100。
步骤510、基于第一像素点对应的第一编码特征和各候选匹配点对应的第二编码特征,从多个候选匹配点中选取该第一像素点对应的第二像素点。
示例性的,基于各候选匹配点对应的第二编码特征,从所有第二编码特征中选取与第一编码特征相同的目标第二编码特征,将目标第二编码特征对应的候选匹配点选取为该第一像素点对应的第二像素点。例如,第一像素点对应的第一编码特征是编码特征010,候选匹配点1对应的第二编码特征是编码特征010、候选匹配点2对应的第二编码特征是编码特征011、候选匹配点3对应的第二编码特征是编码特征100,显然,由于候选匹配点1对应的第二编码特征与第一像素点对应的第一编码特征相同,因此将候选匹配点1选取为第二像素点。
至此,得到第一像素点对应的第二像素点,将第一像素点和第二像素点组成关键点对,该关键点对包括第一光条中心线中第一像素点和第二光条中心线中第二像素点,且第一像素点和第二像素点是被测物体上同一位置点对应的像素点,第一像素点位于第一目标图像中,第二像素点位于第二目标图像中。
步骤511、基于关键点对和相机标定参数确定该关键点对对应的三维点。
示例性的,针对每个关键点对,该关键点对包括第一目标图像中的第一像素点和第二目标图像中的第二像素点,且该第一像素点和该第二像素点是被测物体上同一位置点对应的像素点,在此基础上,可以采用三角化方式确定该关键点对对应的三维点,以下结合具体步骤,对该过程进行说明。
步骤S21、通过第一摄像机的相机内参对第一像素点进行畸变校正,并将畸变校正后的像素点转换为第一齐次坐标;通过第二摄像机的相机内参对第二像素点进行畸变校正,并将畸变校正后的像素点转换为第二齐次坐标。
例如,由于透镜制造精度以及组装工艺偏差等原因,会导致第一摄像机采集的图像存在失真,即存在畸变,如径向畸变和切向畸变等。为了解决畸变问题,第一摄像机的相机内参包括畸变参数,如径向畸变参数k1,k2,k3,切向畸变参数p1,p2等。基于此,本实施例中,可以利用第一摄像机的相机内参对第一像素点进行畸变校正,得到去畸变处理后的像素坐标。在得到去畸变处理后的像素坐标之后,可以将去畸变处理后的像素坐标转换为第一齐次坐标。同理,可以利用第二摄像机的相机内参对第二像素坐标进行畸变校正,并将畸变校正后的像素坐标转换为第二齐次坐标。综上所述,关键点对的齐次坐标可以包括第一关键点的第一齐次坐标和第二关键点的第二齐次坐标。
步骤S22、基于第一齐次坐标、第二齐次坐标、第一摄像机的相机内参、第二摄像机的相机内参和相机外参(即第一摄像机与第二摄像机之间的相机外参,如位置关系等),利用三角化方式确定该关键点对对应的三维点。
比如说,参见图7所示,为三角化方式的原理示意图,OL为第一摄像机的位置,OR为第二摄像机的位置,基于第一摄像机与第二摄像机之间的相机外参,就可以获知OL和OR的位置关系。针对三维空间中的三维点P,在第一摄像机的像平面的成像位置为pl,在第二摄像机的像平面的成像位置为pr。pl作为第一像素点,pr作为第二像素点,该第一像素点和该第二像素点组成一个关键点对,而三维点P的坐标就是该关键点对对应的三维点。将OL,OR,pl和pr转换到同一坐标系下,针对同一坐标系下的OL,OR,pl和pr,OL和pl之间存在一条直线a1,OR和pr之间存在一条直线a2,若直线a1与直线a2存在交点,则直线a1与直线a2的交点就是三维点P。若直线a1与直线a2不存在交点,则三维点P是与直线a1和直线a2最近的点。基于上述应用场景,可以采用三角化方式获得三维点P的三维空间坐标,从而得到该关键点对对应的三维点。当然,上述实现方式只是三角化方式的示例,对此三角化方式的实现方式不做限制。
当然,上述三角化方式只是确定三维点的示例,对此不做限制,例如,在实际应用中,还可以使用双目立体视觉中的视差方式确定三维点。双目立体视觉中的视差公式为:z=bf/d,b表示双目基线距离,即第一摄像机与第二摄像机之间的距离,可以基于相机外参获知,f表示相机焦距,即第一摄像机的相机焦距或者第二摄像机的相机焦距,这两个相机焦距相同,d表示视差,即第一像素点与第二像素点之间的距离,由于第一像素点与第二像素点位于同一像素高度,因此,视差d也就表示第一像素点与第二像素点之间的水平距离,z表示三维点的z方向坐标,此外,可以基于相机标定参数确定三维点的x方向坐标和y方向坐标,对此x方向坐标和y方向坐标的确定方式不做限制。
综上所述,针对每个关键点对,可以得到该关键点对对应的三维点,第一目标图像包括N个第一光条中心线,每个第一光条中心线包括H个第一像素点,因此,可以得到N*H个关键点对,且N*H个关键点对对应N*H个三维点。
步骤512、基于多个关键点对对应的三维点生成三维重建图像。
比如说,针对旋转机构的每个位置,如位置A、位置B等,可以采用步骤501-511确定该位置下的N*H个三维点,在旋转机构的移动过程中,每个位置可以获取到一组原始图像进行上述操作,若旋转机构一共存在M个位置,则可以得到M个位置下的M*N*H个三维点。在此基础上,基于M*N*H个三维点生成三维重建图像,三维重建图像即点云数据,并输出三维重建图像。或,也可以将该三维重建图像投影到某个摄像机上得到深度图像,并输出深度图像。
由以上技术方案可见,本申请实施例中,多线激光对被测物体表面进行扫描时,快速获取被测物体的整个轮廓数据,输出被测物体的三维图像信息,提高检测精度和检测速度。通过使用第一摄像机和第二摄像机同时采集线结构光图像,能够利用三角测量法获取被测物体的三维信息,即得到被测物体的深度信息,从而利用单次采集图像获取多线激光上的深度信息,单次将扫描效率提升N倍,快速实现对被测物体整个轮廓的全幅扫描。通过获取与目标编码图案对应的第一编码图像和第二编码图像,当第一像素点对应多个候选匹配点时,就可以基于第一编码图像和第二编码图像从多个候选匹配点中选取与第一像素点对应的第二像素点,从而能够解决多线激光误匹配问题,特别是在复杂环境下超多线激光的误匹配问题,获取高精度、高效、高质量的点云及深度图数据。
基于与上述方法同样的申请构思,本申请实施例中提出一种图像重建装置,应用于三维成像设备,所述三维成像设备包括编码图案投射器、第一摄像机、第二摄像机和多线激光器,参见图8所示,为所述装置的结构示意图,包括:
获取模块81,用于在所述编码图案投射器投射目标编码图案到被测物体时,获取所述第一摄像机采集的第一背景图像、所述第二摄像机采集的第二背景图像;其中,所述目标编码图案的水平方向上,不同编码点对应不同的编码特征;
在所述多线激光器投射N条线结构光到被测物体时,获取所述第一摄像机采集的第一原始图像、所述第二摄像机采集的第二原始图像;
确定模块82,用于确定第一背景图像对应的第一编码图像和第二背景图像对应的第二编码图像;确定所述第一原始图像对应的第一目标图像和所述第二原始图像对应的第二目标图像;基于第一目标图像中N个第一光条中心线和第二目标图像中N个第二光条中心线确定多个关键点对,关键点对包括第一光条中心线中第一像素点和第二光条中心线中第二像素点,该第一像素点和该第二像素点是被测物体上同一位置点对应的像素点;针对第一光条中心线中每个第一像素点,从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点,基于所述第一编码图像确定该第一像素点对应的第一编码特征,基于所述第二编码图像确定各候选匹配点对应的第二编码特征;基于所述第一编码特征和各第二编码特征,从所述多个候选匹配点中选取该第一像素点对应的第二像素点;
生成模块83,用于基于所述多个关键点对对应的三维点生成三维重建图像。
示例性的,所述确定模块82确定第一背景图像对应的第一编码图像和第二背景图像对应的第二编码图像,确定第一原始图像对应的第一目标图像和第二原始图像对应的第二目标图像时具体用于:对第一背景图像、第二背景图像、所述第一原始图像和所述第二原始图像进行极线校正,得到所述第一背景图像对应的第一编码图像、所述第二背景图像对应的第二编码图像、所述第一原始图像对应的第一目标图像和所述第二原始图像对应的第二目标图像;其中,所述极线校正用于使所述被测物体上的同一个位置点,在所述第一编码图像、所述第二编码图像、所述第一目标图像和所述第二目标图像中具有相同像素高度。
示例性的,所述确定模块82基于第一编码图像确定该第一像素点对应的第一编码特征,基于第二编码图像确定各候选匹配点对应的第二编码特征时具体用于:从第一编码图像中确定该第一像素点对应的第一编码点,第一编码点在第一编码图像中的像素坐标与该第一像素点在第一目标图像中的像素坐标相同;基于第一编码点的编码特征确定该第一像素点对应的第一编码特征;针对各候选匹配点,从第二编码图像中确定该候选匹配点对应的第二编码点,第二编码点在第二编码图像中的像素坐标与该候选匹配点在第二目标图像中的像素坐标相同;基于第二编码点的编码特征确定该候选匹配点对应的第二编码特征。
示例性的,若所述目标编码图案对应的编码特征为编码值,所述确定模块82基于所述第一编码特征和各第二编码特征,从所述多个候选匹配点中选取该第一像素点对应的第二像素点时具体用于:从所有第二编码特征中选取与所述第一编码特征相同的目标第二编码特征;将所述目标第二编码特征对应的候选匹配点选取为该第一像素点对应的第二像素点。
示例性的,所述确定模块82从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点时具体用于:基于每个第二光条中心线,从该第二光条中心线中确定与该第一像素点具有相同像素高度的中心点,并将该中心点确定为候选匹配点;或者,基于多个标定方程将该第一像素点转换为多个目标三维重建点;各标定方程均表示第一目标图像中像素点与三维重建点之间的函数关系;将多个目标三维重建点转换为所述第二目标图像中的多个投影像素点;基于每个第二光条中心线,从该第二光条中心线中确定与该第一像素点具有相同像素高度的中心点,基于该中心点与每个投影像素点之间的距离,确定该中心点是该第一像素点对应的候选匹配点,或不是该第一像素点对应的候选匹配点。
示例性的,所述确定模块82基于该中心点与每个投影像素点之间的距离,确定该中心点是该第一像素点对应的候选匹配点,或不是该第一像素点对应的候选匹配点时具体用于:若该中心点与每个投影像素点之间的距离均大于第一距离阈值,确定该中心点不是该第一像素点对应的候选匹配点;若该中心点与任一投影像素点之间的距离不大于第一距离阈值,确定该中心点是该第一像素点对应的候选匹配点;或,基于该中心点与每个投影像素点之间的距离确定距离平均值,若该距离平均值大于第二距离阈值,则确定该中心点不是该第一像素点对应的候选匹配点,否则确定该中心点是该第一像素点对应的候选匹配点。
示例性的,所述生成模块83还用于采用如下方式确定每个关键点对对应的三维点:通过第一摄像机的相机内参对第一像素点进行畸变校正,将畸变校正后的像素点转换为第一齐次坐标;通过第二摄像机的相机内参对第二像素点进行畸变校正,将畸变校正后的像素点转换为第二齐次坐标;基于第一齐次坐标、第二齐次坐标、第一摄像机的相机内参、第二摄像机的相机内参、第一摄像机与第二摄像机之间的相机外参,利用三角化方式确定该关键点对对应的三维点。
示例性的,所述目标编码图案的编码点对应的编码特征,包括:二值码特征、格雷码特征、相移特征、De Bruijn序列特征。
基于与上述方法同样的申请构思,本申请实施例中提出一种三维成像设备,所述三维成像设备可以包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例公开的图像重建方法。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的图像重建方法。
其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种图像重建方法,其特征在于,应用于三维成像设备,所述三维成像设备包括编码图案投射器、第一摄像机、第二摄像机和多线激光器,包括:
在所述编码图案投射器投射目标编码图案到被测物体时,获取第一摄像机采集的第一背景图像、第二摄像机采集的第二背景图像;确定第一背景图像对应的第一编码图像和第二背景图像对应的第二编码图像;其中,所述目标编码图案的水平方向上,不同编码点对应不同的编码特征;
在多线激光器投射N条线结构光到被测物体时,获取第一摄像机采集的第一原始图像、第二摄像机采集的第二原始图像;确定所述第一原始图像对应的第一目标图像和所述第二原始图像对应的第二目标图像;
基于第一目标图像中N个第一光条中心线和第二目标图像中N个第二光条中心线确定多个关键点对,关键点对包括第一光条中心线中第一像素点和第二光条中心线中第二像素点,该第一像素点和该第二像素点是被测物体上同一位置点对应的像素点;其中,针对第一光条中心线中每个第一像素点,从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点,基于所述第一编码图像确定该第一像素点对应的第一编码特征,并基于所述第二编码图像确定各候选匹配点对应的第二编码特征;基于所述第一编码特征和各第二编码特征,从所述多个候选匹配点中选取该第一像素点对应的第二像素点;
基于所述多个关键点对对应的三维点生成三维重建图像。
2.根据权利要求1所述的方法,其特征在于,所述确定第一背景图像对应的第一编码图像和第二背景图像对应的第二编码图像,确定所述第一原始图像对应的第一目标图像和所述第二原始图像对应的第二目标图像,包括:
对所述第一背景图像、所述第二背景图像、所述第一原始图像和所述第二原始图像进行极线校正,得到所述第一背景图像对应的第一编码图像、所述第二背景图像对应的第二编码图像、所述第一原始图像对应的第一目标图像和所述第二原始图像对应的第二目标图像;其中,所述极线校正用于使所述被测物体上的同一个位置点,在所述第一编码图像、所述第二编码图像、所述第一目标图像和所述第二目标图像中具有相同像素高度。
3.根据权利要求1所述的方法,其特征在于,
所述基于所述第一编码图像确定该第一像素点对应的第一编码特征,并基于所述第二编码图像确定各候选匹配点对应的第二编码特征,包括:
从第一编码图像中确定该第一像素点对应的第一编码点,所述第一编码点在第一编码图像中的像素坐标与该第一像素点在第一目标图像中的像素坐标相同;基于所述第一编码点的编码特征确定该第一像素点对应的第一编码特征;
针对各候选匹配点,从第二编码图像中确定该候选匹配点对应的第二编码点,所述第二编码点在第二编码图像中的像素坐标与该候选匹配点在第二目标图像中的像素坐标相同;基于所述第二编码点的编码特征确定该候选匹配点对应的第二编码特征。
4.根据权利要求1或3所述的方法,其特征在于,若所述目标编码图案对应的编码特征为编码值,所述基于所述第一编码特征和各第二编码特征,从所述多个候选匹配点中选取该第一像素点对应的第二像素点,包括:从所有第二编码特征中选取与所述第一编码特征相同的目标第二编码特征;将所述目标第二编码特征对应的候选匹配点选取为该第一像素点对应的第二像素点。
5.根据权利要求1所述的方法,其特征在于,所述从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点,包括:
基于每个第二光条中心线,从该第二光条中心线中确定与该第一像素点具有相同像素高度的中心点,并将该中心点确定为候选匹配点;或者,
基于多个标定方程将该第一像素点转换为多个目标三维重建点;其中,各标定方程均表示第一目标图像中像素点与三维重建点之间的函数关系;将多个目标三维重建点转换为所述第二目标图像中的多个投影像素点;基于每个第二光条中心线,从该第二光条中心线中确定与该第一像素点具有相同像素高度的中心点,基于该中心点与每个投影像素点之间的距离,确定该中心点是该第一像素点对应的候选匹配点,或不是该第一像素点对应的候选匹配点。
6.根据权利要求5所述的方法,其特征在于,
所述基于该中心点与每个投影像素点之间的距离,确定该中心点是该第一像素点对应的候选匹配点,或不是该第一像素点对应的候选匹配点,包括:
若该中心点与每个投影像素点之间的距离均大于第一距离阈值,则确定该中心点不是该第一像素点对应的候选匹配点;若该中心点与任一投影像素点之间的距离不大于第一距离阈值,则确定该中心点是该第一像素点对应的候选匹配点;或者,基于该中心点与每个投影像素点之间的距离确定距离平均值,若该距离平均值大于第二距离阈值,则确定该中心点不是该第一像素点对应的候选匹配点,否则,确定该中心点是该第一像素点对应的候选匹配点。
7.根据权利要求1所述的方法,其特征在于,
所述基于所述多个关键点对对应的三维点生成三维重建图像之前,所述方法还包括:采用如下方式确定每个关键点对对应的三维点:
通过第一摄像机的相机内参对第一像素点进行畸变校正,并将畸变校正后的像素点转换为第一齐次坐标;通过第二摄像机的相机内参对第二像素点进行畸变校正,并将畸变校正后的像素点转换为第二齐次坐标;
基于所述第一齐次坐标、所述第二齐次坐标、所述第一摄像机的相机内参、所述第二摄像机的相机内参、及所述第一摄像机与所述第二摄像机之间的相机外参,利用三角化方式确定该关键点对对应的三维点。
8.根据权利要求1所述的方法,其特征在于,
所述目标编码图案的编码点对应的编码特征,包括:时域编码特征和/或空间编码特征;其中,所述时域编码特征包括:二值码特征、格雷码特征、相移特征;其中,所述空间编码特征包括:De Bruijn序列特征。
9.一种图像重建装置,其特征在于,应用于三维成像设备,所述三维成像设备包括编码图案投射器、第一摄像机、第二摄像机和多线激光器,包括:
获取模块,用于在所述编码图案投射器投射目标编码图案到被测物体时,获取所述第一摄像机采集的第一背景图像、所述第二摄像机采集的第二背景图像;其中,所述目标编码图案的水平方向上,不同编码点对应不同的编码特征;
在所述多线激光器投射N条线结构光到被测物体时,获取所述第一摄像机采集的第一原始图像、所述第二摄像机采集的第二原始图像;
确定模块,用于确定第一背景图像对应的第一编码图像和第二背景图像对应的第二编码图像;确定所述第一原始图像对应的第一目标图像和所述第二原始图像对应的第二目标图像;基于第一目标图像中N个第一光条中心线和第二目标图像中N个第二光条中心线确定多个关键点对,关键点对包括第一光条中心线中第一像素点和第二光条中心线中第二像素点,该第一像素点和该第二像素点是被测物体上同一位置点对应的像素点;其中,针对第一光条中心线中每个第一像素点,从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点,基于所述第一编码图像确定该第一像素点对应的第一编码特征,并基于所述第二编码图像确定各候选匹配点对应的第二编码特征;基于所述第一编码特征和各第二编码特征,从所述多个候选匹配点中选取该第一像素点对应的第二像素点;
生成模块,用于基于所述多个关键点对对应的三维点生成三维重建图像。
10.根据权利要求9所述的装置,其特征在于,
其中,所述确定模块确定第一背景图像对应的第一编码图像和第二背景图像对应的第二编码图像,确定第一原始图像对应的第一目标图像和第二原始图像对应的第二目标图像时具体用于:对所述第一背景图像、所述第二背景图像、所述第一原始图像和所述第二原始图像进行极线校正,得到所述第一背景图像对应的第一编码图像、所述第二背景图像对应的第二编码图像、所述第一原始图像对应的第一目标图像和所述第二原始图像对应的第二目标图像;其中,所述极线校正用于使所述被测物体上的同一个位置点,在所述第一编码图像、所述第二编码图像、所述第一目标图像和所述第二目标图像中具有相同像素高度;
其中,所述确定模块基于所述第一编码图像确定该第一像素点对应的第一编码特征,并基于所述第二编码图像确定各候选匹配点对应的第二编码特征时具体用于:从第一编码图像中确定该第一像素点对应的第一编码点,所述第一编码点在第一编码图像中的像素坐标与该第一像素点在第一目标图像中的像素坐标相同;基于所述第一编码点的编码特征确定该第一像素点对应的第一编码特征;针对各候选匹配点,从第二编码图像中确定该候选匹配点对应的第二编码点,所述第二编码点在第二编码图像中的像素坐标与该候选匹配点在第二目标图像中的像素坐标相同;基于所述第二编码点的编码特征确定该候选匹配点对应的第二编码特征;
其中,若所述目标编码图案对应的编码特征为编码值,所述确定模块基于所述第一编码特征和各第二编码特征,从所述多个候选匹配点中选取该第一像素点对应的第二像素点时具体用于:从所有第二编码特征中选取与所述第一编码特征相同的目标第二编码特征;将所述目标第二编码特征对应的候选匹配点选取为该第一像素点对应的第二像素点;
其中,所述确定模块从所有第二光条中心线中确定该第一像素点对应的多个候选匹配点时具体用于:基于每个第二光条中心线,从该第二光条中心线中确定与该第一像素点具有相同像素高度的中心点,并将该中心点确定为候选匹配点;或者,基于多个标定方程将该第一像素点转换为多个目标三维重建点;其中,各标定方程均表示第一目标图像中像素点与三维重建点之间的函数关系;将多个目标三维重建点转换为所述第二目标图像中的多个投影像素点;基于每个第二光条中心线,从该第二光条中心线中确定与该第一像素点具有相同像素高度的中心点,基于该中心点与每个投影像素点之间的距离,确定该中心点是该第一像素点对应的候选匹配点,或不是该第一像素点对应的候选匹配点;
其中,所述确定模块基于该中心点与每个投影像素点之间的距离,确定该中心点是该第一像素点对应的候选匹配点,或不是该第一像素点对应的候选匹配点时具体用于:若该中心点与每个投影像素点之间的距离均大于第一距离阈值,则确定该中心点不是该第一像素点对应的候选匹配点;若该中心点与任一投影像素点之间的距离不大于第一距离阈值,则确定该中心点是该第一像素点对应的候选匹配点;或者,基于该中心点与每个投影像素点之间的距离确定距离平均值,若该距离平均值大于第二距离阈值,则确定该中心点不是该第一像素点对应的候选匹配点,否则确定该中心点是该第一像素点对应的候选匹配点;
其中,所述生成模块还用于采用如下方式确定每个关键点对对应的三维点:通过第一摄像机的相机内参对第一像素点进行畸变校正,并将畸变校正后的像素点转换为第一齐次坐标;通过第二摄像机的相机内参对第二像素点进行畸变校正,并将畸变校正后的像素点转换为第二齐次坐标;基于第一齐次坐标、第二齐次坐标、第一摄像机的相机内参、第二摄像机的相机内参、第一摄像机与第二摄像机之间的相机外参,利用三角化方式确定该关键点对对应的三维点;
其中,所述目标编码图案的编码点对应的编码特征,包括:时域编码特征和/或空间编码特征;其中,所述时域编码特征包括:二值码特征、格雷码特征、相移特征;其中,所述空间编码特征包括:De Bruijn序列特征。
11.一种三维成像设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1-8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210469583.7A CN114820939A (zh) | 2022-04-28 | 2022-04-28 | 一种图像重建方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210469583.7A CN114820939A (zh) | 2022-04-28 | 2022-04-28 | 一种图像重建方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114820939A true CN114820939A (zh) | 2022-07-29 |
Family
ID=82508942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210469583.7A Pending CN114820939A (zh) | 2022-04-28 | 2022-04-28 | 一种图像重建方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114820939A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023207756A1 (zh) * | 2022-04-28 | 2023-11-02 | 杭州海康机器人股份有限公司 | 图像重建方法和装置及设备 |
WO2024032668A1 (zh) * | 2022-08-10 | 2024-02-15 | 先临三维科技股份有限公司 | 三维重建方法及装置、系统 |
-
2022
- 2022-04-28 CN CN202210469583.7A patent/CN114820939A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023207756A1 (zh) * | 2022-04-28 | 2023-11-02 | 杭州海康机器人股份有限公司 | 图像重建方法和装置及设备 |
WO2024032668A1 (zh) * | 2022-08-10 | 2024-02-15 | 先临三维科技股份有限公司 | 三维重建方法及装置、系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210112229A1 (en) | Three-dimensional scanning device and methods | |
US8848201B1 (en) | Multi-modal three-dimensional scanning of objects | |
US9501833B2 (en) | Method and system for providing three-dimensional and range inter-planar estimation | |
US8805057B2 (en) | Method and system for generating structured light with spatio-temporal patterns for 3D scene reconstruction | |
CN114820939A (zh) | 一种图像重建方法、装置及设备 | |
Moreno et al. | Simple, accurate, and robust projector-camera calibration | |
US20120176478A1 (en) | Forming range maps using periodic illumination patterns | |
US20120176380A1 (en) | Forming 3d models using periodic illumination patterns | |
EP2568253B1 (en) | Structured-light measuring method and system | |
WO2019160032A1 (ja) | 3次元計測システム及び3次元計測方法 | |
JP2001116526A (ja) | 3次元形状計測装置 | |
EP3742113A1 (en) | Systems and methods for marking images for three-dimensional image generation | |
CN114782632A (zh) | 一种图像重建方法、装置及设备 | |
CN109903377B (zh) | 一种无需相位展开的三维人脸建模方法及系统 | |
CN107370951B (zh) | 图像处理系统及方法 | |
WO2023207756A1 (zh) | 图像重建方法和装置及设备 | |
JP6009206B2 (ja) | 3次元計測装置 | |
EP3951314B1 (en) | Three-dimensional measurement system and three-dimensional measurement method | |
US8970674B2 (en) | Three-dimensional measurement apparatus, three-dimensional measurement method and storage medium | |
CN112184793A (zh) | 深度数据的处理方法、装置及可读存储介质 | |
KR102160340B1 (ko) | 이동하는 물체의 3차원 데이터를 생성하는 방법 및 장치 | |
Cheng et al. | 3D object scanning system by coded structured light | |
CN217135612U (zh) | 一种结构光系统及具有其的电子设备 | |
CN108961378B (zh) | 一种多目点云三维重建方法、装置及其设备 | |
JP6671589B2 (ja) | 3次元計測システム、3次元計測方法及び3次元計測プログラム |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Hikvision Robot Co.,Ltd. Address before: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |