CN116228830B - 一种三角网格编码结构光的三维重建方法及装置 - Google Patents
一种三角网格编码结构光的三维重建方法及装置 Download PDFInfo
- Publication number
- CN116228830B CN116228830B CN202310234465.2A CN202310234465A CN116228830B CN 116228830 B CN116228830 B CN 116228830B CN 202310234465 A CN202310234465 A CN 202310234465A CN 116228830 B CN116228830 B CN 116228830B
- Authority
- CN
- China
- Prior art keywords
- image
- coding
- vertex
- sub
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 10
- 230000008094 contradictory effect Effects 0.000 claims description 5
- 230000036961 partial effect Effects 0.000 claims description 3
- 238000004441 surface measurement Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 13
- 238000001914 filtration Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
-
- 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
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- 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/10028—Range image; Depth image; 3D point clouds
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种三角网格编码结构光的三维重建方法及装置,通过获取基于三角网格生成的编码结构光图案,编码结构光图案包括多个子图案,子图案包括若干个顶点的第一编码参数,并将编码结构光图案投影至被摄物体,得到被摄物体的投影图像和拍摄图像,投影图像为形变前图像,拍摄图像为形变后图像;基于目标顶点的第一编码参数,对投影图像和拍摄图像进行三角网格解码,得到目标顶点在形变前和形变后的坐标参数;最后基于多个目标顶点的坐标参数,对被摄物体进行三维重建,得到被摄物体的三维重建模型,以编码结构光图案的顶点编码参数进行解码,实现端到端进行图案匹配,从而提高结构光三维重建中的匹配速度和物体表面测量精度。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种基于三角网格编码结构光的三维重建方法及装置。
背景技术
在结构光三维重建领域中,通过摄像机的标定方法、摄像机与投影仪的角度、焦距等已知信息,即可得到物体表面坐标点与图像坐标点的计算关系,所以构建结构光三维视觉系统需要解决的重要问题是标定问题和匹配问题,其中匹配问题需要更为合适的编码方法。
目前,条纹图案结构光在时域编码策略方面,存在错误率高、速度慢和计算量较高的问题;在空域编码策略方面,需要根据特定应用设计特定的图像处理方法,不利于图案在不同应用的泛化性和通用性。而不同编码方法的匹配速度不同,从而影响到三维重建的时间。因此,亟需一种高精度、编码规则简单、速度快的结构光编码方法是结构光三维重建技术的重要部分。
发明内容
本申请提供了一种三角网格编码结构光的三维重建方法及装置,以解决的当前结构光三维重建中存在匹配速度慢的技术问题。
为了解决上述技术问题,第一方面,本申请提供了一种基于三角网格编码结构光的三维重建方法,包括:
获取基于三角网格生成的编码结构光图案,所述编码结构光图案包括多个子图案,所述子图案包括若干个顶点的第一编码参数;
将所述编码结构光图案投影至被摄物体,得到所述被摄物体的投影图像和拍摄图像,所述投影图像为形变前图像,所述拍摄图像为形变后图像;
基于目标顶点的第一编码参数,对所述投影图像和拍摄图像进行三角网格解码,得到所述目标顶点在形变前和形变后的坐标参数;
基于多个所述目标顶点的坐标参数,对所述被摄物体进行三维重建,得到所述被摄物体的三维重建模型。
在一些实现方式中,所述编码结构光图案中的子图案相同,所述子图案的若干个顶点以预设行列方式进行排列,所述第一编码参数为预设位的二进制数字。
在一些实现方式中,所述获取基于三角网格生成的编码结构光图案之前,包括:
初始化若干个所述顶点的邻域,并生成所述顶点的编码候选集;
基于所述编码候选集和所述邻域,生成若干个所述顶点的第一编码参数,以得到所述子图案;
复制所述子图案,生成所述编码结构光图案。
在一些实现方式中,所述基于所述编码候选集和所述邻域,生成若干个所述顶点的第一编码参数,包括:
对于每个所述顶点,执行编码生成步骤,得到若干个所述顶点的第一编码参数,所述编码生成步骤包括:
从所述编码候选集选取目标元素,并将所述目标元素从所述编码候选集中删除;
检查所述目标元素与所述第n+1个邻域中的第一编码参数是否矛盾;
若所述目标元素与所述第n+1个邻域中的第一编码参数不矛盾,将所述目标元素作为第n+1个顶点的第一编码参数。
在一些实现方式中,所述基于目标顶点的第一编码参数,对所述投影图像和拍摄图像进行三角网格解码,得到所述目标顶点在形变前和形变后的坐标参数,包括:
基于所述编码结构光图案,建立以子图案数量为坐标轴的坐标系;
基于所述目标顶点的第一编码参数,确定所述目标顶点在所述坐标系中的顶点坐标;
基于所述目标顶点的顶点坐标,对所述投影图像的图像坐标与所述拍摄图像的图像坐标进行匹配,得到所述目标顶点在形变前和形变后的坐标参数。
在一些实现方式中,所述基于所述目标顶点的第一编码参数,确定所述目标顶点在所述坐标系中的顶点坐标,包括:
对所述拍摄图像分别进行全局阈值处理和局部阈值处理,得到第一图像和第二图像;
利用图像矩原理,计算所述第一图像的中心点像素坐标集合,所述中心点像素坐标集合包括多个中心点像素坐标;
对于所述中心点像素坐标对应的目标顶点,利用预设像素滤波器在所述第二图像中进行过滤,得到所述目标顶点的第二编码参数;
对所述第二编码参数与所述第一编码参数匹配,得到所述目标顶点的顶点坐标。
在一些实现方式中,所述对于所述中心点像素坐标对应的目标顶点,利用预设像素滤波器在所述第二图像中进行过滤,得到所述目标顶点的第二编码参数,包括:
将与所述中心点像素坐标位置重合的顶点作为目标顶点;
对所述目标顶点在每个方向上的邻域像素矩阵与所述预设像素滤波器进行点乘操作;
基于所述点乘操作的求和结果,确定所述目标顶点的第二编码参数。
第二方面,本申请还提供一种基于三角网格编码结构光的三维重建装置,包括:
获取模块,用于获取基于三角网格生成的编码结构光图案,所述编码结构光图案包括多个子图案,所述子图案包括若干个顶点的第一编码参数;
投影模块,用于将所述编码结构光图案投影至被摄物体,得到所述被摄物体的投影图像和拍摄图像,所述投影图像为形变前图像,所述拍摄图像为形变后图像;
解码模块,用于基于目标顶点的第一编码参数,对所述投影图像和拍摄图像进行三角网格解码,得到所述目标顶点在形变前和形变后的坐标参数;
重建模块,用于基于多个所述目标顶点的坐标参数,对所述被摄物体进行三维重建,得到所述被摄物体的三维重建模型。
第三方面,本申请还提供一种计算机设备,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的基于三角网格编码结构光的三维重建方法。
第四方面,本申请还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的基于三角网格编码结构光的三维重建方法。
与现有技术相比,本申请至少具备以下有益效果:
通过获取基于三角网格生成的编码结构光图案,所述编码结构光图案包括多个子图案,所述子图案包括若干个顶点的第一编码参数,并将所述编码结构光图案投影至被摄物体,得到所述被摄物体的投影图像和拍摄图像,所述投影图像为形变前图像,所述拍摄图像为形变后图像,以能够使不同顶点对应不同图案,从而在后续直接通过解码即可计算出各个顶点的坐标,进而跳过位移的检测,有效降低计算量;再基于目标顶点的第一编码参数,对所述投影图像和拍摄图像进行三角网格解码,得到所述目标顶点在形变前和形变后的坐标参数,以编码结构光图案的顶点编码参数进行解码,实现端到端进行图案匹配,提高匹配速度,同时以三角网格图案能够保障图案在区域内的唯一性,能够拓展延伸成更大范围的图像,以保障更大规模物体的表面深度测量,提高物体表面的测量精度;最后基于多个所述目标顶点的坐标参数,对所述被摄物体进行三维重建,得到所述被摄物体的三维重建模型,实现了提高结构光三维重建中的匹配速度和物体表面测量精度。
附图说明
图1为本申请实施例示出的基于三角网格编码结构光的三维重建方法的流程示意图;
图2为本申请实施例示出的编码结构光图案的示意图;
图3为本申请实施例示出的三角网格解码流程示意图;
图4为本申请实施例示出的滤波器过滤示意图;
图5为本申请实施例示出的三角网格编码流程示意图;
图6为本申请实施例示出的基于三角网格编码结构光的三维重建装置的结构示意图;
图7为本申请实施例示出的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参照图1,图1为本申请实施例提供的一种基于三角网格编码结构光的三维重建方法的流程示意图。本申请实施例的基于三角网格编码结构光的三维重建方法可应用于计算机设备,该计算机设备包括但不限于智能手机、笔记本电脑、平板电脑、桌上型计算机、物理服务器和云服务器等设备。如图1所示,本实施例的基于三角网格编码结构光的三维重建方法包括步骤S101至步骤S104,详述如下:
步骤S101,获取基于三角网格生成的编码结构光图案,所述编码结构光图案包括多个子图案,所述子图案包括若干个顶点的第一编码参数。
在本步骤中,不同于经典算法中使用条纹、交叉线和序列图案等,本实施例使用三角网格图案,能够在保证图案在区域内唯一性的同时,三角网格图案能够拓展延伸成更大范围的图像,以保证更大规模的物体进行表面深度的测量。
可选地,所述编码结构光图案中的子图案相同,所述子图案的若干个顶点以预设行列方式进行排列,所述第一编码参数为预设位的二进制数字。示例性地,如图2所示的编码结构光图案的示意图,编码结构光图案包含其覆盖范围内的三角网格中所有顶点和部分边,其由多块平行四边形的子图案组成,每块子图案相同;子图案包含64个顶点,可以是4x16和8x8排列,附图中展示的为4x16排列;顶点的第一编码参数为6位的二进制数字(与邻近6个顶点对应,若邻近顶点与本顶点之间不存在边,编码为0;若存在,编码为1),子图案内的每个顶点编码唯一。
需要说明的是,本实施例顶点数量为64的定值,在其他实施例中可以根据本申请的发明构思进行适应性调整;本实施例的相邻点为6个,在图2可知,每个顶点周围都有6个相邻点,从而呈现为正六边形,而三角形则是其中的一部分,其中图2存在的4边形也是以三角形为基础。
步骤S102,将所述编码结构光图案投影至被摄物体,得到所述被摄物体的投影图像和拍摄图像,所述投影图像为形变前图像,所述拍摄图像为形变后图像。
在本步骤中,示例性地,使用投影仪将预设图像投射到被摄物体表面,使用RGB摄像头进行拍摄,其中相机标定、投影仪与相机角度以及焦距等采用固定参数。依据设置的子图案点的个数进行三角网格编码,并利用投影仪将编码得到的编码结构光图案投射到被摄物体进行编码,其中投影图像为形变前图像,相机拍摄得到的拍摄图像为形变后图像。
步骤S103,基于目标顶点的第一编码参数,对所述投影图像和拍摄图像进行三角网格解码,得到所述目标顶点在形变前和形变后的坐标参数。
在本步骤中,使用形变后的图像进行三角网格解码,得到形变后图像的每个点坐标,与对应形变前图像组成形变点集合。采用形变点集合中每个点在形变前和形变后的2个坐标输入深度计算公式中,得到物体表面点的世界坐标(即顶点坐标)。
在一些实施例中,所述步骤S103,包括:
基于所述编码结构光图案,建立以子图案数量为坐标轴的坐标系;
基于所述目标顶点的第一编码参数,确定所述目标顶点在所述坐标系中的顶点坐标;
基于所述目标顶点的顶点坐标,对所述投影图像的图像坐标与所述拍摄图像的图像坐标进行匹配,得到所述目标顶点在形变前和形变后的坐标参数。
在本实施例中,利用投影图像P、拍摄图像C和子图案中的64个编码参数进行解码,得到同一个顶点在形变前和形变后的坐标。
可选地,所述基于所述目标顶点的第一编码参数,确定所述目标顶点在所述坐标系中的顶点坐标,包括:
对所述拍摄图像分别进行全局阈值处理和局部阈值处理,得到第一图像和第二图像;
利用图像矩原理,计算所述第一图像的中心点像素坐标集合,所述中心点像素坐标集合包括多个中心点像素坐标;
对于所述中心点像素坐标对应的目标顶点,利用预设像素滤波器在所述第二图像中进行过滤,得到所述目标顶点的第二编码参数;
对所述第二编码参数与所述第一编码参数匹配,得到所述目标顶点的顶点坐标。
可选地,所述对于所述中心点像素坐标对应的目标顶点,利用预设像素滤波器在所述第二图像中进行过滤,得到所述目标顶点的第二编码参数,包括:
将与所述中心点像素坐标位置重合的顶点作为目标顶点;
对所述目标顶点在每个方向上的邻域像素矩阵与所述预设像素滤波器进行点乘操作;
基于所述点乘操作的求和结果,确定所述目标顶点的第二编码参数。
示例性地,如图3所示的三角网格解码流程示意图。为了描述详细,假设坐标系的单位为a像素,并且两个顶点的距离为a像素,以p表示顶点,三角网格解码流程包括:
1.将子图案个数初始化为M×N,以源子图案(即在编码结构光图案生成过程中的编码模块生成的子图案)为原点,定义一个坐标系,每个顶点坐标为(m,n,k),表示沿y轴正向的第m个子图案,沿x轴正向的第n个子图案,其中,0≤m≤M-1,0≤n≤N-1,0≤k≤63,子图案的像素坐标范围为xl≤x≤xl+15a,yl≤y≤yl+3a,(xl,yl)为子图案最左上的点。
2.以源子图案为中心划分区域,以有利于快速定位顶点所属的子图案区域,快速得到顶点p的(m,n,k)坐标,从而联系拍摄图像C与投影图像P中的两个图像坐标,使之成为一对坐标对。
3.使用全局阈值T1,即对拍摄图像C全部像素使用同一个阈值,低于T1的像素为0,否则为255,将拍摄图像C处理为第一图像A;使用局部阈值T2,即利用滑窗扫描图像,去滑窗中心点亮度与邻域比较,高于T2则标记为白色,否则为黑色,将拍摄图像C处理为第二图像B。其中,第一图像A由显眼的白色点阵和黑色背景组成,第二图像B由白色点线、其他干扰像素和黑色背景组成。
4.由于在现实应用中投影的点阵需要明亮照射在物体上,所以每个点加强亮度,拍摄图像C中会呈现出一个个白亮的实心圆,因此需要计算实心圆中心坐标。可选地,使用图像矩原理得到圆形区域的轮廓,通过轮廓进一步计算得到每个点的中心坐标,具体地:
在二值化图形s中,零阶矩为M00=∑I∑JV(i,j)定义为所有像素灰度值的总和,同样可以得到一阶矩为M10和M01,利用一阶矩得到s的中心点像素坐标(x,y):
其中,计算第一图像A每个圆点的图像矩可得到其顶点p的像素坐标(x,y),而第一图像A和第二图像B均由拍摄图像C处理得到,所以第一图像A和第二图像B中顶点p的像素坐标(x,y)相同,并将其设为中心点像素坐标集合R={(xn,yn)|n为顶点p的个数}。
5.如图4所示的滤波器过滤示意图,其中“1”表示待过滤像素值的顶点,“2”表示6个滤波器,“3”表示筛选后中心点与相邻点的连线,“4”表示中心点与相邻点最终组成的图案。定义7×7预设像素滤波器fn,n=1,2,...,6,n代表顶点p的6个邻近顶点方向,第n个方向上的值为1,其余位置均为0,用于确认点与第n个方向的邻近点是否有连接。由于滤波器fn拥有奇数个元素,即存在中心点元素,所以将中心点像素元素位置与顶点p重合,可看成滤波器fn在第二图像B中使用中心点像素集合R寻找顶点p的中心坐标,并以其为中心,使得顶点p的邻域像素矩阵l与滤波器fn进行点乘操作,点乘后全部元素求和得到Jn:
其中I={(xI,yI)|x-7≤xI≤x+7,y-7≤yI≤y+7};初始化顶点p的第二编码参数Pc=000000,当Jn大于预设阈值后,则顶点p与该方向的邻近点存在边,Pc(n)=1,即对应第n位的0变为1,否则不变;当6个方向都确定后,得到最终的Pc。
6.利用编码模块返回的第一编码参数c1,c2,...,c64,将第一编码参数与第二编码参数进行匹配,以寻找相同的编码参数,若cn=Pc,则顶点p的序号k=n-1,n=1,2,...,64。
7.若图像的大小为h×w,将中心点像素坐标(x,y)转换成拍摄图像的图像坐标(xi,yi):
通过(xi,yi)确定顶点p的(m,n),结合步骤6得到的k,组成顶点p的(m,n,k):
可选地,通过上式也可将投影图像P的图像坐标(xg,yg)得到(m,n,k);将中心点像素坐标集合R中对应的每个顶点执行以上步骤1-7,则得到{(m,n,k):(xi,yi),(xg,yg)|(m,n,k)相同则匹配},取一对(xi,yi),(xg,yg)输入至重建模块中进行深度计算。
步骤S104,基于多个所述目标顶点的坐标参数,对所述被摄物体进行三维重建,得到所述被摄物体的三维重建模型。
在本步骤中,可依据物体表面点(即目标顶点)的世界坐标(即坐标参数)通过构建点云、插值以及平滑等操作,得到三维重建后的物体表面模型(即被摄物体的三维重建模型)。
可选地,物体表面点世界坐标的计算可基于相机标定法确定外参,调整焦距角度确定内参,对于顶点p关于(m,n,k)的坐标对为(xi,yi),(xg,yg),则三维重建步骤包括:
相机坐标系与世界坐标重合,即使用共同原点,则物体表面点的(x,y)坐标与相机图像坐标Pi(xi,yi)相同;
通过相机焦距fc与投影仪焦距fp、相机投影仪各自的透视投影关系McMp、两者之间坐标系的转换Mcp已知,推算出物体表面点w的世界坐标计算公式;
将顶点p坐标对(xi,yi),(xg,yg)输入计算公式中,计算物体表面点w的世界坐标(x,y,z);
使用所有物体表面点w(x,y,z)构成点云,进行插值和平滑操作,即可得到三维重建后的模型。
需要说明的是,本申请不仅能够设置参数得到不同设计的图案,还能直接根据每个图案解码得到位置信息,端到端进行图案的匹配,做到图像匹配速度快。本申请的编码模块不同于经典算法中使用条纹、交叉线、序列图案等,其使用三角网格图案,在保证图案在区域内唯一性的同时,拓展延伸成更大范围的图像,以保证更大规模的物体进行表面深度的测量。本申请利用三角网格编码模块预先设计包含位置和点信息的图案,使得形变点坐标定位模块简单、高效精度高,并且不同的物体和应用均可使用同一图像处理方法,通用性好。本申请设计了一种特定方向图像滤波器筛选线段的方法,相比于使用简单二值化过滤后的图像,筛选后的图像线段更为清晰,造成干扰的像素较少,能够更准确地利用形变点图案得到对应的形变点坐标。
在一些实施例中,所述步骤S101之前,包括:
初始化若干个所述顶点的邻域,并生成所述顶点的编码候选集;
基于所述编码候选集和所述邻域,生成若干个所述顶点的第一编码参数,以得到所述子图案;
复制所述子图案,生成所述编码结构光图案。
在本实施例中,可选地,所述基于所述编码候选集和所述邻域,生成若干个所述顶点的第一编码参数,包括:
对于每个所述顶点,执行编码生成步骤,得到若干个所述顶点的第一编码参数,所述编码生成步骤包括:
从所述编码候选集选取目标元素,并将所述目标元素从所述编码候选集中删除;
检查所述目标元素与所述第n+1个邻域中的第一编码参数是否矛盾;
若所述目标元素与所述第n+1个邻域中的第一编码参数不矛盾,将所述目标元素作为第n+1个顶点的第一编码参数。
示例性地,由于编码结构光图案通过源子图案复制得到,所以只需生成源子图案。如图5所示的三角网格编码流程示意图,源子图案的生成过程包括:
1.将64个点的编码状态初始化为未编码,初始化当前已求编码数量n=0,初始化每个目标顶点的邻域为d1,d2,d3,...,d64,其中di={第j个顶点|第j个顶点是第i个顶点相邻的6个顶点之一(不一定为同一个图案内相邻)}。
2.生成目标顶点的编码候选集合:Cn+1={i|0<=i<=63且i不属于目前已编码的顶点的编码},假设每个目标顶点都有64个编码,再通过搜索算法将不符合要求的编码参数剔除。
3.若Cn+1为空集,将第n个顶点标注为未编码,令n=n-1,跳到步骤3;若Cn+1为非空集,从Cn+1中随机挑选元素c,并将其从Cn+1中删除。
4.设c为第n+1个顶点的编码,对应dn+1中的已求编码的顶点,检查其编码是否和第n+1个顶点矛盾。其中矛盾指的是两点之间有连线时(连接关系),两点对应方向的编码都需要在对应的方向的值为1;如初始化a=000000,b=000000,a与b点相邻(a在b的第1个方向,b在a的第4个方向),如果ab之间存在连线(连接关系),则a编码应该为000100,b编码应该为100000;即边lab存在则对两点的编码都有记录。应理解,通常不能只是其中一个点有编码,即不存在a为000000和b为100000,也不存在a000100和b000000,只能同时有记录或同时没记录,通俗地说,算法是先赋予所有点的编码全集(全部情况),根据预设限制条件,不断的减少编码个数,留下符合要求的编码,最终源子图案64个点都只留下了一个编码,即64个不同的编码,正好对应编码(图案)的最大数量。若矛盾,跳到步骤3。
5.将第n+1个点的编码为c,令n=n+1。
6.若n=64,则结束算法,输出第1到n个点的编码,即得到子图案,否则跳到步骤2。
为了执行上述方法实施例对应的基于三角网格编码结构光的三维重建方法,以实现相应的功能和技术效果。参见图6,图6示出了本申请实施例提供的一种基于三角网格编码结构光的三维重建装置的结构框图。为了便于说明,仅示出了与本实施例相关的部分,本申请实施例提供的基于三角网格编码结构光的三维重建装置,包括:
获取模块601,用于获取基于三角网格生成的编码结构光图案,所述编码结构光图案包括多个子图案,所述子图案包括若干个顶点的第一编码参数;
投影模块602,用于将所述编码结构光图案投影至被摄物体,得到所述被摄物体的投影图像和拍摄图像,所述投影图像为形变前图像,所述拍摄图像为形变后图像;
解码模块603,用于基于目标顶点的第一编码参数,对所述投影图像和拍摄图像进行三角网格解码,得到所述目标顶点在形变前和形变后的坐标参数;
重建模块604,用于基于多个所述目标顶点的坐标参数,对所述被摄物体进行三维重建,得到所述被摄物体的三维重建模型。
在一些实施例中,所述编码结构光图案中的子图案相同,所述子图案的若干个顶点以预设行列方式进行排列,所述第一编码参数为预设位的二进制数字。
在一些实施例中,所述装置,还包括:
初始化模块,用于初始化若干个所述顶点的邻域,并生成所述顶点的编码候选集;
编码模块,用于基于所述编码候选集和所述邻域,生成若干个所述顶点的第一编码参数,以得到所述子图案;
复制模块,用于复制所述子图案,生成所述编码结构光图案。
在一些实施例中,所述编码模块,具体用于:
对于每个所述顶点,执行编码生成步骤,得到若干个所述顶点的第一编码参数,所述编码生成步骤包括:
从所述编码候选集选取目标元素,并将所述目标元素从所述编码候选集中删除;
检查所述目标元素与所述第n+1个邻域中的第一编码参数是否矛盾;
若所述目标元素与所述第n+1个邻域中的第一编码参数不矛盾,将所述目标元素作为第n+1个顶点的第一编码参数。
在一些实施例中,所述解码模块603,包括:
建立单元,用于基于所述编码结构光图案,建立以子图案数量为坐标轴的坐标系;
确定单元,用于基于所述目标顶点的第一编码参数,确定所述目标顶点在所述坐标系中的顶点坐标;
匹配单元,用于基于所述目标顶点的顶点坐标,对所述投影图像的图像坐标与所述拍摄图像的图像坐标进行匹配,得到所述目标顶点在形变前和形变后的坐标参数。
在一些实施例中,所述确定单元,包括:
处理子单元,用于对所述拍摄图像分别进行全局阈值处理和局部阈值处理,得到第一图像和第二图像;
计算子单元,用于利用图像矩原理,计算所述第一图像的中心点像素坐标集合,所述中心点像素坐标集合包括多个中心点像素坐标;
过滤子单元,用于对于所述中心点像素坐标对应的目标顶点,利用预设像素滤波器在所述第二图像中进行过滤,得到所述目标顶点的第二编码参数;
匹配子单元,用于对所述第二编码参数与所述第一编码参数匹配,得到所述目标顶点的顶点坐标。
在一些实施例中,所述过滤子单元,具体用于:
将与所述中心点像素坐标位置重合的顶点作为目标顶点;
对所述目标顶点在每个方向上的邻域像素矩阵与所述预设像素滤波器进行点乘操作;
基于所述点乘操作的求和结果,确定所述目标顶点的第二编码参数。
上述的基于三角网格编码结构光的三维重建装置可实施上述方法实施例的基于三角网格编码结构光的三维重建方法。上述方法实施例中的可选项也适用于本实施例,这里不再详述。本申请实施例的其余内容可参照上述方法实施例的内容,在本实施例中,不再进行赘述。
图7为本申请一实施例提供的计算机设备的结构示意图。如图7所示,该实施例的计算机设备7包括:至少一个处理器70(图7中仅示出一个)、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意方法实施例中的步骤。
所述计算机设备7可以是智能手机、平板电脑、桌上型计算机和云端服务器等计算设备。该计算机设备可包括但不仅限于处理器70、存储器71。本领域技术人员可以理解,图7仅仅是计算机设备7的举例,并不构成对计算机设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述计算机设备7的内部存储单元,例如计算机设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述计算机设备7的外部存储设备,例如所述计算机设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述计算机设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现上述各个方法实施例中的步骤。
在本申请所提供的几个实施例中,可以理解的是,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意的是,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围。特别指出,对于本领域技术人员来说,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (7)
1.一种基于三角网格编码结构光的三维重建方法,其特征在于,包括:
获取基于三角网格生成的编码结构光图案,所述编码结构光图案包括多个子图案,所述子图案包括若干个顶点的第一编码参数;其中,编码结构光图案包含其覆盖范围内的三角网格中所有顶点和部分边,其由多块平行四边形的子图案组成,每块子图案相同;子图案包含64 个顶点;顶点的第一编码参数为6 位的二进制数字,与邻近6 个顶点对应,若邻近顶点与本顶点之间不存在边,编码为0;若存在,编码为1;
将所述编码结构光图案投影至被摄物体,得到所述被摄物体的投影图像和拍摄图像,所述投影图像为形变前图像,所述拍摄图像为形变后图像;
基于所述编码结构光图案,建立以子图案数量为坐标轴的坐标系;
对所述拍摄图像分别进行全局阈值处理和局部阈值处理,得到第一图像和第二图像;
利用图像矩原理,计算所述第一图像的中心点像素坐标集合,所述中心点像素坐标集合包括多个中心点像素坐标;
将与所述中心点像素坐标位置重合的顶点作为目标顶点;
对所述目标顶点在每个方向上的邻域像素矩阵与预设像素滤波器进行点乘操作;
基于所述点乘操作的求和结果,确定所述目标顶点的第二编码参数;
对所述第二编码参数与所述第一编码参数匹配,得到目标顶点的顶点坐标;
基于所述目标顶点的顶点坐标,对所述投影图像的图像坐标与所述拍摄图像的图像坐标进行匹配,得到所述目标顶点在形变前和形变后的坐标参数;
基于多个所述目标顶点的坐标参数,对所述被摄物体进行三维重建,得到所述被摄物体的三维重建模型。
2.如权利要求1所述的基于三角网格编码结构光的三维重建方法,其特征在于,所述编码结构光图案中的子图案相同,所述子图案的若干个顶点以预设行列方式进行排列,所述第一编码参数为预设位的二进制数字。
3.如权利要求1所述的基于三角网格编码结构光的三维重建方法,其特征在于,所述获取基于三角网格生成的编码结构光图案之前,还包括:
初始化若干个所述顶点的邻域,并生成所述顶点的编码候选集;
基于所述编码候选集和所述邻域,生成若干个所述顶点的第一编码参数,以得到所述子图案;
复制所述子图案,生成所述编码结构光图案。
4.如权利要求3所述的基于三角网格编码结构光的三维重建方法,其特征在于,所述基于所述编码候选集和所述邻域,生成若干个所述顶点的第一编码参数,包括:
对于每个所述顶点,执行编码生成步骤,得到若干个所述顶点的第一编码参数,所述编码生成步骤包括:
从所述编码候选集选取目标元素,并将所述目标元素从所述编码候选集中删除;
检查所述目标元素与第n+1个邻域中的第一编码参数是否矛盾;
若所述目标元素与所述第n+1个邻域中的第一编码参数不矛盾,将所述目标元素作为第n+1个顶点的第一编码参数。
5.一种基于三角网格编码结构光的三维重建装置,其特征在于,包括:
获取模块,用于获取基于三角网格生成的编码结构光图案,所述编码结构光图案包括多个子图案,所述子图案包括若干个顶点的第一编码参数;其中,编码结构光图案包含其覆盖范围内的三角网格中所有顶点和部分边,其由多块平行四边形的子图案组成,每块子图案相同;子图案包含64 个顶点;顶点的第一编码参数为6 位的二进制数字,与邻近6 个顶点对应,若邻近顶点与本顶点之间不存在边,编码为0;若存在,编码为1;
投影模块,用于将所述编码结构光图案投影至被摄物体,得到所述被摄物体的投影图像和拍摄图像,所述投影图像为形变前图像,所述拍摄图像为形变后图像;
解码模块,用于基于所述编码结构光图案,建立以子图案数量为坐标轴的坐标系;对所述拍摄图像分别进行全局阈值处理和局部阈值处理,得到第一图像和第二图像;利用图像矩原理,计算所述第一图像的中心点像素坐标集合,所述中心点像素坐标集合包括多个中心点像素坐标;将与所述中心点像素坐标位置重合的顶点作为目标顶点;对所述目标顶点在每个方向上的邻域像素矩阵与预设像素滤波器进行点乘操作;基于所述点乘操作的求和结果,确定所述目标顶点的第二编码参数;对所述第二编码参数与所述第一编码参数匹配,得到目标顶点的顶点坐标;基于所述目标顶点的顶点坐标,对所述投影图像的图像坐标与所述拍摄图像的图像坐标进行匹配,得到所述目标顶点在形变前和形变后的坐标参数;
重建模块,用于基于多个所述目标顶点的坐标参数,对所述被摄物体进行三维重建,得到所述被摄物体的三维重建模型。
6.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4任一项所述的基于三角网格编码结构光的三维重建方法。
7.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的基于三角网格编码结构光的三维重建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310234465.2A CN116228830B (zh) | 2023-03-13 | 2023-03-13 | 一种三角网格编码结构光的三维重建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310234465.2A CN116228830B (zh) | 2023-03-13 | 2023-03-13 | 一种三角网格编码结构光的三维重建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116228830A CN116228830A (zh) | 2023-06-06 |
CN116228830B true CN116228830B (zh) | 2024-01-26 |
Family
ID=86578514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310234465.2A Active CN116228830B (zh) | 2023-03-13 | 2023-03-13 | 一种三角网格编码结构光的三维重建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116228830B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281024A (zh) * | 2008-05-27 | 2008-10-08 | 北京中星微电子有限公司 | 一种结构光编码、解码方法及编码、解码装置 |
CN201218726Y (zh) * | 2008-04-23 | 2009-04-08 | 哈尔滨理工大学 | 基于彩色结构光的文物三维重建装置 |
CN104697469A (zh) * | 2015-03-30 | 2015-06-10 | 四川大学 | 利用谐波幅值判定饱和的高动态三维测量方法 |
CN107610171A (zh) * | 2017-08-09 | 2018-01-19 | 广东欧珀移动通信有限公司 | 图像处理方法及其装置 |
CN108122254A (zh) * | 2017-12-15 | 2018-06-05 | 中国科学院深圳先进技术研究院 | 基于结构光的三维图像重建方法、装置及存储介质 |
CN109872397A (zh) * | 2019-02-18 | 2019-06-11 | 北京工业大学 | 一种基于多目立体视觉的飞机零件的三维重建方法 |
CN112365601A (zh) * | 2020-11-19 | 2021-02-12 | 连云港市拓普科技发展有限公司 | 一种基于特征点信息的结构光三维点云重建方法 |
CN113345039A (zh) * | 2021-03-30 | 2021-09-03 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 三维重建量化结构光相位图像编码方法 |
CN113450460A (zh) * | 2021-07-22 | 2021-09-28 | 四川川大智胜软件股份有限公司 | 一种基于人脸面形空间分布的无相位展开三维人脸重建方法及系统 |
CN114332341A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 一种点云重建方法、装置及系统 |
CN115761126A (zh) * | 2022-11-15 | 2023-03-07 | 歌尔科技有限公司 | 基于结构光的三维重建方法、装置、电子设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626568B2 (en) * | 2013-11-26 | 2017-04-18 | Rowan University | Use of spatially structured light for dynamic three dimensional reconstruction and reality augmentation |
CN112150638B (zh) * | 2020-09-14 | 2024-01-26 | 北京百度网讯科技有限公司 | 虚拟对象形象合成方法、装置、电子设备和存储介质 |
-
2023
- 2023-03-13 CN CN202310234465.2A patent/CN116228830B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201218726Y (zh) * | 2008-04-23 | 2009-04-08 | 哈尔滨理工大学 | 基于彩色结构光的文物三维重建装置 |
CN101281024A (zh) * | 2008-05-27 | 2008-10-08 | 北京中星微电子有限公司 | 一种结构光编码、解码方法及编码、解码装置 |
CN104697469A (zh) * | 2015-03-30 | 2015-06-10 | 四川大学 | 利用谐波幅值判定饱和的高动态三维测量方法 |
CN107610171A (zh) * | 2017-08-09 | 2018-01-19 | 广东欧珀移动通信有限公司 | 图像处理方法及其装置 |
CN108122254A (zh) * | 2017-12-15 | 2018-06-05 | 中国科学院深圳先进技术研究院 | 基于结构光的三维图像重建方法、装置及存储介质 |
CN109872397A (zh) * | 2019-02-18 | 2019-06-11 | 北京工业大学 | 一种基于多目立体视觉的飞机零件的三维重建方法 |
CN114332341A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 一种点云重建方法、装置及系统 |
CN112365601A (zh) * | 2020-11-19 | 2021-02-12 | 连云港市拓普科技发展有限公司 | 一种基于特征点信息的结构光三维点云重建方法 |
CN113345039A (zh) * | 2021-03-30 | 2021-09-03 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 三维重建量化结构光相位图像编码方法 |
CN113450460A (zh) * | 2021-07-22 | 2021-09-28 | 四川川大智胜软件股份有限公司 | 一种基于人脸面形空间分布的无相位展开三维人脸重建方法及系统 |
CN115761126A (zh) * | 2022-11-15 | 2023-03-07 | 歌尔科技有限公司 | 基于结构光的三维重建方法、装置、电子设备和存储介质 |
Non-Patent Citations (5)
Title |
---|
A Structured Light Approach for 3-D Surface Reconstruction With a Stereo Line-Scan System;Erik Lilienblum等;《 IEEE Transactions on Instrumentation and Measurement》;第64卷(第5期);1258-1266 * |
Three-dimensional Reconstruction of Complex Spatial Surface Based on Line Structured Light;Shi Hongsheng等;《IECON 2021 – 47th Annual Conference of the IEEE Industrial Electronics Society》;1-5 * |
基于激光三角法的三维测量系统关键技术研究;刘慧芳;《中国优秀硕士学位论文全文数据库 (基础科学辑)》(第01期);A005-415 * |
基于线结构光测量系统的灵武长枣三维点云重建研究;赵琛;《中国优秀硕士学位论文全文数据库 (农业科技辑)》(第03期);D048-87 * |
等腰三角形结构光编码的面形测量误差分析;梁猛等;《光学学报》(第11期);1518-1523 * |
Also Published As
Publication number | Publication date |
---|---|
CN116228830A (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jeon et al. | Depth from a light field image with learning-based matching costs | |
US8531457B2 (en) | Apparatus and method for finding visible points in a cloud point | |
US8873835B2 (en) | Methods and apparatus for correcting disparity maps using statistical analysis on local neighborhoods | |
JP3915563B2 (ja) | 画像処理装置および画像処理プログラム | |
US20230298189A1 (en) | Method for reconstructing three-dimensional object combining structured light and photometry and terminal device | |
US20120176478A1 (en) | Forming range maps using periodic illumination patterns | |
US20120176380A1 (en) | Forming 3d models using periodic illumination patterns | |
CN110738273B (zh) | 图像特征点的匹配方法、装置、设备及存储介质 | |
CN109035170B (zh) | 基于单网格图分段映射的自适应广角图像校正方法及装置 | |
JP2012103239A (ja) | 三次元計測装置、三次元計測方法及びプログラム | |
TWI738196B (zh) | 一種圖像深度估計方法、電子設備、儲存介質 | |
CN107301366B (zh) | 一种嵌码视频中图形码的解码方法及装置 | |
CN111951377B (zh) | 三维对象重建方法及终端设备 | |
GB2536429A (en) | Image noise reduction | |
CN110390645B (zh) | 用于立体瞬时图像序列的改善3d数据重构的系统和方法 | |
GB2536430A (en) | Image noise reduction | |
CN104899589A (zh) | 一种采用阈值二值化算法实现二维条码预处理的方法 | |
CN115147499A (zh) | 标定参数确定方法、混合标定板、装置、设备和介质 | |
CN110599588A (zh) | 三维流场内粒子重构方法及装置、电子设备及存储介质 | |
CN112243518A (zh) | 获取深度图的方法、装置及计算机存储介质 | |
CN111947601B (zh) | 一种灰度伪随机编码结构光条纹的投影解算方法 | |
CN116228830B (zh) | 一种三角网格编码结构光的三维重建方法及装置 | |
US20120038785A1 (en) | Method for producing high resolution image | |
CN114862866B (zh) | 标定板的检测方法、装置、计算机设备和存储介质 | |
TWI834493B (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 |