CN111667570B - Marker点的三维重建方法、装置、设备及存储介质 - Google Patents
Marker点的三维重建方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111667570B CN111667570B CN202010505896.4A CN202010505896A CN111667570B CN 111667570 B CN111667570 B CN 111667570B CN 202010505896 A CN202010505896 A CN 202010505896A CN 111667570 B CN111667570 B CN 111667570B
- Authority
- CN
- China
- Prior art keywords
- dimensional coordinate
- tree
- dimensional
- matching
- points
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本发明涉及图像处理技术领域,公开了一种Marker点的三维重建方法、装置、设备及存储介质。该方法包括:获取若干个相机中的拍摄信息,形成二维坐标点集合;计算二维坐标点集合中二维坐标点两两之间的匹配误差率;将二维坐标点集合中二维坐标点依次连接,生成二维坐标点集合的匹配树状图;筛选出匹配树状图中长度最长的树状单链;基于长度最长的树状单链,匹配出匹配树状图中与长度最长的树状单链存在交叉二维坐标点的分支,并将分支中的二维坐标点剔除,得到最大不交叉的树状团;计算出最大不交叉的树状团对应的三维坐标。本发明通过极线误差计算提取最大不交叉的树状团,提高对2D点的匹配度,提高还原2D点的三维坐标的准确性。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种Marker点的三维重建方法、装置、设备及存储介质。
背景技术
在互联网技术不断发展的时代,伴随着虚拟现实技术不断深入展现其巨大的应用前景,许多的虚拟现实技术不断涌现。虚拟现实技术应用于公共领域、互联网购物、机器人自动化、异地通信、教育、医疗等领域,使得对相应的交互精度提出了极高的要求。
在抓取光学数据时,拍摄相机是输出二维的平面,为了得到立体的三维数据则需要通过多台拍摄相机同时在不同角度对同一物体进行数据获取。然后通过预置的关联算法与还原算法,在预先准备的网络环境中渲染出三维立体图像。但是该技术的精度不足以满足更高要求的应用场景,需要更加准确的二维点处理算法还原二维点。
发明内容
本发明的主要目的在于解决现有技术中对于还原二维坐标点的三维图像的还原精度较低的技术问题。
本发明第一方面提供了一种Marker点的三维重建方法,所述Marker点的三维重建方法包括:
获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,所述拍摄信息包括Marker点的二维像素坐标;
根据预置匹配误差率算法,计算所述二维坐标点集合中每个二维坐标点两两之间的匹配误差率;
根据所述匹配误差率,从所述二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成所述二维坐标点集合的匹配树状图;
分析所述匹配树状图中每条树状单链的长度,并筛选出所述匹配树状图中长度最长的树状单链;
基于所述长度最长的树状单链,匹配出所述匹配树状图中与所述长度最长的树状单链存在交叉二维坐标点的分支,并将所述分支中交叉二维坐标点之后的二维坐标点剔除,得到最大不交叉的树状团;
根据预置三角测量算法和所述最大不交叉的树状团中的二维坐标点,计算出所述最大不交叉的树状团对应的三维坐标,并基于所述三维坐标渲染还原得到对应的Marker点的三维图像。
可选的,在本发明第一方面的第一种实现方式中,所述二维坐标点集合为具有特定排序顺序的序列集合,所述获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合包括:
通过无线连接方式读取各个相机中存储的Marker点的二维坐标点、二维坐标点对应的二维像素坐标和相机的序号;
根据拍摄时间的先后顺序对同一序号的相机的二维坐标点进行排序,得到每个相机的二维坐标点的二维像素坐标序列;
根据所述相机的序号的先后顺序对所有的二维像素坐标序列依次排列,得到包含所有二维坐标点的信息的序列集合。
可选的,在本发明第一方面的第二种实现方式中,所述根据预置匹配误差率算法,计算所述二维坐标点集合中每个二维坐标点两两之间的匹配误差率包括:
依次读取所述序列集合中每个相机的二维坐标点的二维像素坐标,并将读取到的二维像素坐标进行两两配对,得到配对结果;
将所述配对结果输入至预置匹配误差率算法中进行运算,得到所述序列集合中二维坐标点两两之间的匹配误差率。
可选的,在本发明第一方面的第三种实现方式中,所述根据所述匹配误差率,从所述二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成所述二维坐标点集合的匹配树状图包括:
对所述序列集合中二维坐标点进行编号,以及统计所述排列顺序中二维坐标点的数量,得到二维点数值;
创建行和列数量均为所述二维点数值的零向量矩阵,其中,所述零向量矩阵中的元素的编号与所述序列集合中二维坐标点的编号一致;
依次判断所述零向量矩阵中每行的元素的编号等于元素所在的行数值的主元素与该元素所在的行的其他元素匹配时的匹配误差率是否超过预置误差阈值;
若否,则读取所述主元素匹配的元素的编号,并将编号对应的元素值修改为非零向量值,生成匹配记录矩阵;
根据所述匹配记录矩阵中的非零向量值确定所述序列集合中各个二维坐标点之间的匹配关系,以及确定每个二维坐标点的可匹配集;
从所述主元素的可匹配集中筛选出编号大于所述主元素的编号的二维坐标点;
根据所述主元素与其他二维坐标点的匹配关系,将筛选出的二维坐标点与所述主元素相连,层级递进相连生成所述序列集合的匹配树状图。
可选的,在本发明第一方面的第四种实现方式中,所述分析所述匹配树状图中每条树状单链的长度,并筛选出所述匹配树状图中长度最长的树状单链包括:
确定所述匹配树状图中的起始二维坐标点,并以所述起始二维坐标点为统计起点,统计所述统计起点所在的每条树状单链的传递二维坐标点的数量;
将每条树状单链上传递二维坐标点的数量相互比较,选择出二维坐标点的数量最多的树状单链,并确定为长度最长的树状单链。
可选的,在本发明第一方面的第五种实现方式中,所述将基于所述长度最长的树状单链,匹配出所述匹配树状图中与所述长度最长的树状单链存在交叉二维坐标点的分支,并将所述分支中交叉二维坐标点之后的二维坐标点剔除,得到最大不交叉的树状团包括:
判断所述匹配树状图中每条树状单链的二维坐标点的数量是否超过预置数量阈值;
若未超过预置数量阈值,则将对应的树状单链中第一个二维坐标点之后的二维坐标点剔除;
若超过预置数量阈值,则将对应的树状单链与所述长度最长的树状单链进行交叉二维坐标点的匹配,判断是否存在交叉二维坐标点;
若存在交叉二维坐标点,则将对应的树状单链中最后一个交叉二维坐标点之后的二维坐标点剔除;
直至遍历所述匹配树状图的所有树状单链后,将未被剔除的树状单链确认为最大不交叉的树状团。
可选的,在本发明第一方面的第六种实现方式中,所述根据预置三角测量算法和所述最大不交叉的树状团中的二维坐标点,计算出所述最大不交叉的树状团对应的三维坐标,并基于所述三维坐标渲染还原得到对应的Marker点的三维图像包括:
读取所述最大不交叉的树状团中二维坐标点的二维像素坐标;
获取预置三角测量算法,将所有所述二维像素坐标输入至所述三角测量算法进行运算,得到所述最大不交叉的树状团对应还原的三维坐标;
读取所述拍摄信息中的色彩信息,以及根据所述色彩信息与所述三维坐标渲染生成对应的Marker点的三维图像。
本发明第二方面提供了一种Marker点的三维重建装置,所述Marker点的三维重建装置包括:
获取模块,用于获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,所述拍摄信息包括Marker点的二维像素坐标;
匹配模块,用于根据预置匹配误差率算法,计算所述二维坐标点集合中每个二维坐标点两两之间的匹配误差率;
生成模块,用于根据所述匹配误差率,从所述二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成所述二维坐标点集合的匹配树状图;
筛选模块,用于分析所述匹配树状图中每条树状单链的长度,并筛选出所述匹配树状图中长度最长的树状单链;
剔除模块,用于基于所述长度最长的树状单链,匹配出所述匹配树状图中与所述长度最长的树状单链存在交叉二维坐标点的分支,并将所述分支中交叉二维坐标点之后的二维坐标点剔除,得到最大不交叉的树状团;
重建模块,用于根据预置三角测量算法和所述最大不交叉的树状团中的二维坐标点,计算出所述最大不交叉的树状团对应的三维坐标,并基于所述三维坐标渲染还原得到对应的Marker点的三维图像。
可选的,在本发明第二方面的第一种实现方式中,所述获取模块具体用于:
通过无线连接方式读取各个相机中存储的Marker点的二维坐标点、二维坐标点对应的二维像素坐标和相机的序号;
根据拍摄时间的先后顺序对同一序号的相机的二维坐标点进行排序,得到每个相机的二维坐标点的二维像素坐标序列;
根据所述相机的序号的先后顺序对所有的二维像素坐标序列依次排列,得到包含所有二维坐标点的信息的序列集合。
可选的,在本发明第二方面的第二种实现方式中,所述匹配模块具体用于:
依次读取所述序列集合中每个相机的二维坐标点的二维像素坐标,并将读取到的二维像素坐标进行两两配对,得到配对结果;
将所述配对结果输入至预置匹配误差率算法中进行运算,得到所述序列集合中二维坐标点两两之间的匹配误差率。
可选的,在本发明第二方面的第三种实现方式中,所述生成模块包括:
编号单元,用于对所述序列集合中二维坐标点进行编号,以及统计所述排列顺序中二维坐标点的数量,得到二维点数值;
创建单元,用于创建行和列数量均为所述二维点数值的零向量矩阵,其中,所述零向量矩阵中的元素的编号与所述序列集合中二维坐标点的编号一致;
判断单元,用于依次判断所述零向量矩阵中每行的元素的编号等于元素所在的行数值的主元素与该元素所在的行的其他元素匹配时的匹配误差率是否超过预置误差阈值;
修改单元,用于在匹配误差率未超过预置误差阈值时,读取所述主元素匹配的元素的编号,并将编号对应的元素值修改为非零向量值,生成匹配记录矩阵;
确定单元,用于根据所述匹配记录矩阵中的非零向量值确定所述序列集合中各个二维坐标点之间的匹配关系,以及确定每个二维坐标点的可匹配集;
筛选单元,用于从所述主元素的可匹配集中筛选出编号大于所述主元素的编号的二维坐标点;
生成单元,用于根据所述主元素与其他二维坐标点的匹配关系,将筛选出的二维坐标点与所述主元素相连,层级递进相连生成所述序列集合的匹配树状图。
可选的,在本发明第二方面的第四种实现方式中,所述筛选模块具体用于:
确定所述匹配树状图中的起始二维坐标点,并以所述起始二维坐标点为统计起点,统计所述统计起点所在的每条树状单链的传递二维坐标点的数量;
将每条树状单链上传递二维坐标点的数量相互比较,选择出二维坐标点的数量最多的树状单链,并确定为长度最长的树状单链。
可选的,在本发明第二方面的第五种实现方式中,所述剔除模块具体用于:
判断所述匹配树状图中每条树状单链的二维坐标点的数量是否超过预置数量阈值;
若未超过预置数量阈值,则将对应的树状单链中第一个二维坐标点之后的二维坐标点剔除;
若超过预置数量阈值,则将对应的树状单链与所述长度最长的树状单链进行交叉二维坐标点的匹配,判断是否存在交叉二维坐标点;
若存在交叉二维坐标点,则将对应的树状单链中最后一个交叉二维坐标点之后的二维坐标点剔除;
直至遍历所述匹配树状图的所有树状单链后,将未被剔除的树状单链确认为最大不交叉的树状团。
可选的,在本发明第二方面的第六种实现方式中,所述重建模块具体用于:
读取所述最大不交叉的树状团中二维坐标点的二维像素坐标;
获取预置三角测量算法,将所有所述二维像素坐标输入至所述三角测量算法进行运算,得到所述最大不交叉的树状团对应还原的三维坐标;
读取所述拍摄信息中的色彩信息,以及根据所述色彩信息与所述三维坐标渲染生成对应的Marker点的三维图像。
本发明第三方面提供了一种Marker点的三维重建设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述Marker点的三维重建设备执行上述的Marker点的三维重建方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的Marker点的三维重建方法。
本发明提供的技术方案中,获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,所述拍摄信息包括Marker点的二维像素坐标;根据预置匹配误差率算法计算所述二维坐标点集合中每个二维坐标点两两之间的匹配误差率;根据所述匹配误差率,从所述二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成所述二维坐标点集合的匹配树状图;分析所述匹配树状图中每条树状单链的长度,并筛选出所述匹配树状图中长度最长的树状单链;基于所述长度最长的树状单链,匹配出所述匹配树状图中与所述长度最长的树状单链存在交叉二维坐标点的分支,并将所述分支中交叉二维坐标点之后的二维坐标点剔除,得到最大不交叉的树状团;根据预置三角测量算法和所述最大不交叉的树状团中的二维坐标点,计算出所述最大不交叉的树状团对应的三维坐标,并基于所述三维坐标渲染还原得到对应的Marker点的三维图像。本发明实施例中,通过基于极线误差通过计算出最大不交叉的树状团,提高对二维坐标点的匹配度与通过二维坐标点还原三维图像的准确性。
附图说明
图1为本发明实施例中Marker点的三维重建方法的第一个实施例示意图;
图2为本发明实施例中Marker点的三维重建方法的第二个实施例示意图;
图3为本发明实施例中Marker点的三维重建方法的第三个实施例示意图;
图4为本发明实施例中Marker点的三维重建方法的第四个实施例示意图;
图5为本发明实施例中序列集合的排序示意图;
图6为本发明实施例中零向量矩阵的示意图;
图7为本发明实施例中匹配记录矩阵的示意图;
图8为本发明实施例中匹配树状图的一种结构示意图;
图9为本发明实施例中Marker点的三维重建装置的一个实施例示意图;
图10为本发明实施例中Marker点的三维重建装置的另一个实施例示意图;
图11为本发明实施例中Marker点的三维重建设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种Marker点的三维重建方法、装置、设备及存储介质,获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,所述拍摄信息包括Marker点的二维像素坐标;根据预置匹配误差率算法计算所述二维坐标点集合中每个二维坐标点两两之间的匹配误差率;根据所述匹配误差率,从所述二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成所述二维坐标点集合的匹配树状图;分析所述匹配树状图中每条树状单链的长度,并筛选出所述匹配树状图中长度最长的树状单链;基于所述长度最长的树状单链,匹配出所述匹配树状图中与所述长度最长的树状单链存在交叉二维坐标点的分支,并将所述分支中交叉二维坐标点之后的二维坐标点剔除,得到最大不交叉的树状团;根据预置三角测量算法和所述最大不交叉的树状团中的二维坐标点,计算出所述最大不交叉的树状团对应的三维坐标,并基于所述三维坐标渲染还原得到对应的Marker点的三维图像。本发明实施例中,通过基于极线误差通过计算出最大不交叉的树状团,提高对二维坐标点的匹配度与通过二维坐标点还原三维图像的准确性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中Marker点的三维重建方法的第一个实施例包括:
101、获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,拍摄信息包括Marker点的二维像素坐标;
在本实施例中,通过不同的位置的相机对目标Marker点进行拍摄。相机的位置可以分布在Marker点的正东、正北、正西、正南四个方向,从四个方向同时对Marker点进行拍摄,但是不同的位置的相机离Marker点的距离不同因此在产生对应的二维像素坐标也不同。在拍摄Marker点时,还对Marker点的颜色与表面光滑程度进行抓取,作为后续渲染生成三维图像的依据。产生四个不同的二维坐标点且在不同的坐标系中,将四个不同的二维坐标点组合成集合为{A(2,3),B(2,3),C(2,3),D(2,3)},在集合中(2,3)分别是在对应的相机的拍摄界面中获得的二维坐标点,并不是同一个坐标系,二维坐标相互之间要进行旋转、平移、去除硬件差异才能比较。
在另一种实施例中,共有五个相机编号分别为1、2、3、4、5,分别拍摄了一个点,则产生共有个同坐标系下的点集合为{A(2,8),B(3,4),C(4,1),D(8,5),E(1,7)},(2,8),(3,4),(4,1),(8,5),(1,7)是分别在各个相机下的二维像素坐标。
在实际应用中,每个相机可以拍摄有多个二维坐标点(即是2D点),而在后续计算匹配误差率时,可以对相机的每个2D点进行计算,但是在最后生成匹配记录矩阵时,从每个相机中只选择一个2D点进行匹配,最终生成多个矩阵。
102、根据预置匹配误差率算法计算二维坐标点集合中每个二维坐标点两两之间的匹配误差率;
在本实施例中,不同相机在其不同的二维像素坐标系中拍摄的Marker点得到二维坐标集合,以及将二维坐标集合中由不同相机拍摄的二维坐标点两两组合通过公式(a)求解对极线误差Error。在进行运算之前,判断运算的二维坐标点是否为同一相机的二维点,如果是则标记两者无关联终止运算并在匹配记录矩阵中标记为0。如果判断不为同一相机的二维点,则将两点通过对极线误差Error计算,将结果与误差阈值进行比较。如果误差值小于误差阈值,则表明选择的两个二维坐标点是匹配的,也就是同一个物体上的同一点。如果超过误差阈值,则认为这两个点不相互匹配。将两个二维坐标点变换在同一个二维坐标系中,计算之间的差距,公式(a):
式中,Xi和Xj表示i和j的2D像素坐标,Ki和Kj表示i和j所对应相机的内部参数,Di和Dj表示i和j所对应相机的畸变参数,R表示i和j所对应相机间的相对旋转,t表示i和j所对应相机间的相对平移,这些参数均可在多视相机标定后得出。
103、根据匹配误差率,从二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成二维坐标点集合的匹配树状图;
在本实施例中,如果判断二维坐标点为相互匹配,则将相互匹配的二维坐标点相连,将二维坐标集合中二维坐标点全部判断完成,最后得到二维坐标点的相连关系。然后根据相连关系,生成匹配树状图。在另一种实施例中,根据相机的序号将二维坐标点依次排列,然后对二维坐标点进行编号,并统计二维坐标点的数量。生成行列元素数大小为二维坐标点数量的零矩阵,将匹配误差率小于预置误差阈值的二维坐标点的两个编号作为行列数,修改零矩阵中行列数定位的元素记录下匹配误差率的匹配关系。然后读取修改后矩阵中数据,生成将二维坐标点依次连接,生成满足零矩阵中匹配关系的匹配树状图。
104、分析匹配树状图中每条树状单链的长度,并筛选出匹配树状图中长度最长的树状单链;
在本实施例中,生成匹配树状图后,从最初的二维坐标点读取最初的二维坐标点对应的匹配的二维坐标点,然后根据匹配的二维坐标点读取匹配的二维坐标点相应匹配的二维坐标点。不断迭代查询二维坐标点匹配的二维坐标点,直到查询到重复的匹配二维坐标点则停止。例如:A点查询到B点与C点,B点查询到Q点与W点,Q点除了B点查询不到其他的点则停止,W点查询到R点,R点查询除了W点与A点查询不到其他的点则停止,C点除了A点查询不到其他的点则停止。因此得到A-B-Q、A-B-W-R、A-C三条树状单链,而根据单链上的二维坐标点数目为3、4、2,可以得知最长的树状单链为A-B-W-R,将A-B-W-R的单链信息提取出来,以便对匹配树状图进行裁剪删除,留下有用的数据。
在实际应用中,1号点匹配2、3、4、5号点,2号点匹配1、3、4、5号点,3号点匹配1、2、4号点,4号点匹配1、2、3号点,5号点匹配1、2号点。第一节点,从1号点开始进行生成树状图,大于1则2、3、4、5均可被递进相连。第二节点中,2与3、4、5三个点相连。在第三节点中,连接3号点匹配的4号点。
105、基于长度最长的树状单链,匹配出匹配树状图中与长度最长的树状单链存在交叉二维坐标点的分支,并将分支中交叉二维坐标点之后的二维坐标点剔除,得到最大不交叉的树状团;
在本实施例中,根据已经提取出的A-B-W-R最长的树状单链,将A-B-W-R作为模板对匹配树状图中的其他树状单链进行裁剪。不符合A-B-W-R排列顺序的二维坐标点会被删除,从A出发,删除C点,再从B出发删除Q点,最后到R点,完成对匹配树状图的剪枝工作,最后将剩余的A-B-W-R作为最大不交叉的树状团。在另一种实施例中,不根据A-B-W-R的顺序进行剪枝,而是直接罗列A-B-Q、A-C、A-B-W-R的单链,根据最长单链将A-B-W-R与其他单链匹配二维坐标点,将其他单链没有匹配的二维坐标点进行删除,最后只剩下A-B-W-R的树状单链,最后将A-B-W-R确定为最大不交叉的树状团。
106、根据预置三角测量算法和最大不交叉的树状团中的二维坐标点,计算出最大不交叉的树状团对应的三维坐标,并基于三维坐标渲染还原得到对应的Marker点的三维图像。
在本实施例中,将A-B-W-R的最大不交叉的树状团,根据已知两个角和共用边可以唯一确定一个三角形。其中AB间距离确定为l,∠CAB=α,∠CBA=β。l、α、β均已知,那么这个三角形已经确定,假设C到AB的垂足为D。AD=d/tanα。如果以A点为原点建立坐标系,AB为x轴正向,DC为y正方向,z正方向向上。那么C点三维坐标就是(d/tanα,d,0)。根据三角形确定原则,将A-B-W-R作为计算依据还原Marker点的三维坐标。根据拍摄信息抓取到的Marker点的颜色、亮度、色温、表面光滑度等信息,在(d/tanα,d,0)点进行渲染生成相对应的三维图像。因为抓取的是一个点,因此三维图像应该也是一个细节点。
本发明实施例中,通过基于极线误差通过计算出最大不交叉的树状团,提高对二维坐标点的匹配度与通过二维坐标点还原三维图像的准确性。
请参阅图2,本发明实施例中Marker点的三维重建方法的第二个实施例包括:
201、通过无线连接方式读取各个相机中存储的Marker点的二维坐标点、二维坐标点对应的二维像素坐标和相机的序号;
在本实施例中,若干相机拍摄Marker点,存在A、B、C、D四个相机在正东、正南、正北、正西拍摄Marker点的细节,然后生成A点、B点、C点、D点的二维坐标点,并且对应生成在A、B、C、D相机的拍摄界面的二维像素坐标(2,3)、(2,3)、(2,3)、(2,3)。根据预置的顺序依次排列出A点、B点、C点、D点的二维坐标点。
202、根据拍摄时间的先后顺序对同一序号的相机的二维坐标点进行排序,得到每个相机的二维坐标点的二维像素坐标序列;
在本实施例中,如图5,将拍摄的点按照相机的种类和进行排序。具体的根据已经生成的排列顺序A点、B点、C点、D点,将A点、B点、C点、D点与在A、B、C、D相机的拍摄界面的二维像素坐标(2,3)、(2,3)、(2,3)、(2,3)进行组合,生成A(2,3),B(2,3),C(2,3),D(2,3)。
203、根据相机的序号的先后顺序对所有的二维像素坐标序列依次排列,得到包含所有二维坐标点的信息的序列集合;
在本实施例中,根据排序A点、B点、C点、D点,和预置的集合框架{,,,,},将组合坐标A(2,3),B(2,3),C(2,3),D(2,3)写入集合框架{,,,,},最后生成二维坐标点集合{A(2,3),B(2,3),C(2,3),D(2,3)}。
204、依次读取序列集合中各个二维坐标点的二维像素坐标,并将读取到的二维像素坐标进行两两配对,得到配对结果;
在本实施例中,读取二维坐标集合{A(2,3),B(2,3),C(2,3),D(2,3)}中A点、B点、C点、D点在对应拍摄界面的二维像素坐标,并且将A、B、C、D组合为A与B、A与C、A与D、B与C、B与D、C与D等6个配对结果。在另一种实施例中,会对二维坐标点的来源进行判断,如果二维坐标点来源于同一个相机,则直接判断选择的两个二维坐标点不匹配,而来源于不同相机则会进行下一步的匹配误差率的计算。
205、将配对结果输入至预置匹配误差率算法中进行运算,得到序列集合中二维坐标点两两之间的匹配误差率;
在本实施例中,将两个二维坐标点的二维像素坐标变换在同一个二维坐标系中,计算之间的差距,公式(a):
式中,Xi和Xj表示i和j的2D像素坐标,Ki和Kj表示i和j所对应相机的内部参数,Di和Dj表示i和j所对应相机的畸变参数,R表示i和j所对应相机间的相对旋转,t表示i和j所对应相机间的相对平移,这些参数均可在多视相机标定后得出。根据公式Error分别计算出A点与B点、A点与C点、A点与D点、B点与C点、B点与D点、C点与D点等之间的匹配误差率。
206、对序列集合中二维坐标点进行编号,以及统计排列顺序中二维坐标点的数量,得到二维点数值;
在本实施例中,根据排列顺序依次排列出A点、B点、C点、D点的二维坐标点,分别对A点、B点、C点、D点进行编号为1、2、3、4,统计A点、B点、C点、D点的数量,最后得到二维点数值为4。在实际应用中,共有5个相机,拍摄了共5个点,并将5个点A、B、C、D、E进行排序然后进行编号1、2、3、4、5。
207、创建行和列数量均为二维点数值的零向量矩阵,其中,零向量矩阵中的元素的编号与序列集合中二维坐标点的编号一致;
在本实施例中,如图6所示,根据排列的数据的数值N,生成N*N的零矩阵。具体实现方式为当二维点数值为4,创建4*4的零向量矩阵,且每个元素编号与序列集合编号是一致,都是1、2、3、4。在另一种应用中,二维点数值为5,创建5*5的零向量,横向与纵向编号为1、2、3、4、5。
208、依次判断零向量矩阵中每行的元素的编号等于元素所在的行数值的主元素与该元素所在的行的其他元素匹配时的匹配误差率是否超过预置误差阈值;
在本实施例中,根据二维点数值为4生成4*4的零向量矩阵,A点与B点、A点与C点、A点与D点、B点与C点、B点与D点、C点与D点之间的匹配误差率分别为1%、2%、0.5%、0.1%、0.9%、0.6%,而预置误差阈值为0.92%,则A点与B点、A点与C点超过了误差阈值。
209、若否,则读取主元素匹配的元素的编号,并将编号对应的元素值修改为非零向量值,生成匹配记录矩阵;
在本实施例中,将已经判断为不超过的匹配误差率的A点与D点、B点与C点、B点与D点、C点与D点相连,然后将编号转换为行列数将(1,4)与(4,1),(2,3)与(3,2),(2,4)与(4,2),(3,4)与(4,3)在零向量矩阵的零元素改为指定数值1,这就将匹配关系记录在矩阵中。
在实际应用中,计算1号与2、3、4、5号的匹配误差率,计算2号与1、3、4、5号的匹配误差率,计算3号与1、2、4、5号的匹配误差率计算3号与1、2、4、5号的匹配误差率,计算4号与1、2、3、5号的匹配误差率,计算5号与1、2、3、4号的匹配误差率,将匹配误差率与误差阈值比较。得到1号与2、3、4、5号点之间点的匹配误差率小于预置误差阈值,2号与1、3、4、5号之间匹配误差率小于预置误差阈值,3号与1、2、4号之间匹配误差率小于预置误差阈值,4号与1、2、3号之间匹配误差率小于预置误差阈值,5号与1、2号之间点匹配误差率小于预置误差阈值。故将如图7所示的矩阵中序列中的零向量(1,2)、(1,3)、(1,4)、(1,5);(2,1)、(2,3)、(2,4)、(2,5);(3,1)、(3,2)、(3,4);(4,1)、(4,2)、(4,3);(5,1)、(5,2)内的0元素改为1元素。
210、根据匹配记录矩阵中的非零向量值确定序列集合中各个二维坐标点之间的匹配关系,以及确定每个二维坐标点的可匹配集;
在本实施例中,将(1,4)与(4,1),(2,3)与(3,2),(2,4)与(4,2),(3,4)与(4,3)在4*4零向量矩阵中对应零元素修改为1,生成匹配记录矩阵。读取该匹配记录矩阵中的数据,可以得到A点与D点、B点与C点、B点与D点、C点与D点是相互匹配的数据。在另一种实施例中,直接读取图7中记录(1,2)、(1,3)、(1,4)、(1,5);(2,1)、(2,3)、(2,4)、(2,5);(3,1)、(3,2)、(3,4);(4,1)、(4,2)、(4,3);(5,1)、(5,2)的匹配关系数据。
211、从主元素的可匹配集中筛选出编号大于主元素的编号的二维坐标点;
在本事实施例中,筛选出大于的主元素的编号,得到相对应的匹配坐标集合为{(1,2)、(1,3)、(1,4)、(1,5);(2,3)、(2,4)、(2,5);(3,4)}。
212、根据主元素与其他二维坐标点的匹配关系,将筛选出的二维坐标点与主元素相连,层级递进相连生成序列集合的匹配树状图;
在本实施例中,读取匹配关系后,二维坐标集合中的二维坐标点排列顺序为A点、B点、C点、D点,于是从起始A点进行计算,A点相连的有D点、D点匹配的是B点与C点,而C点与B点匹配,再往下就出现重复相连。因此就生成了对应的匹配树状图。
在另一种实施例中,根据(1,2)、(1,3)、(1,4)、(1,5);(2,1)、(2,3)、(2,4)、(2,5);(3,1)、(3,2)、(3,4);(4,1)、(4,2)、(4,3);(5,1)、(5,2)的匹配关系数据,如图8,在第一节点层次连接1号点匹配2、3、4、5号点;在第二层次中,连接2号点匹配3、4、5号点,连接3号点匹配4号点。在第三层次中,连接3号点匹配的4号点,由此根据层级递进后相连生成树状图。
213、确定匹配树状图中的起始二维坐标点,并以起始二维坐标点为统计起点,统计起点所在的每条树状单链的传递二维坐标点的数量;
在本实施例中,查询A点连接D点、D点连接B点与C点、C点与B点相连,然后就查询不出新的二维坐标点相连关系。将查询出的连接关系解析提取得到A-D-B-C和A-D-C-B,两条树状单链,而且起始二维坐标点为A点。
214、将每条树状单链上传递二维坐标点的数量相互比较,选择出二维坐标点的数量最多的树状单链,并确定为长度最长的树状单链;
本实施例中,假如得到了A-D-B-C、A-D-C-B、A-D-C-B-E、A-D-C-B-E-R共四条树状单链,读取树状单链的二维坐标点梳理得到对应的二维坐标点数量是4、4、5、6,可以知道最大数量为6,故将A-D-C-B-E-R确定为最长树状单链。
215、基于长度最长的树状单链,匹配出匹配树状图中与长度最长的树状单链存在交叉二维坐标点的分支,并将分支中交叉二维坐标点之后的二维坐标点剔除,得到最大不交叉的树状团;
216、根据预置三角测量算法和最大不交叉的树状团中的二维坐标点,计算出最大不交叉的树状团对应的三维坐标,并基于三维坐标渲染还原得到对应的Marker点的三维图像。
本发明实施例中,通过基于极线误差通过计算出最大不交叉的树状团,提高对二维坐标点的匹配度与通过二维坐标点还原三维图像的准确性。
请参阅图3,本发明实施例中Marker点的三维重建方法的第三个实施例包括:
301、获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,拍摄信息包括Marker点的二维像素坐标;
302、根据预置匹配误差率算法计算二维坐标点集合中每个二维坐标点两两之间的匹配误差率;
303、根据匹配误差率,从二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成二维坐标点集合的匹配树状图;
304、分析匹配树状图中每条树状单链的长度,并筛选出匹配树状图中长度最长的树状单链;
305、判断匹配树状图中每条树状单链的二维坐标点的数量是否超过预置数量阈值;
在本实施例中,将匹配树状图中树状单链进行二维坐标点数量判断,A-D-B-C、A-C-D-B、A-C-D-B-E、A-D-C-B-E-R、A-D-C,预置数量阈值是3,超过数量阈值是A-D-B-C、A-D-C-B、A-D-C-B-E、A-D-C-B-E-R四个树状单链,其中A-D-B-C、A-D-C-B、A-D-C-B-E、A-D-C-B-E-R的二维点数量是4,4,5,6。
306、若未超过预置数量阈值,则将对应的树状单链中第一个二维坐标点之后的二维坐标点剔除;
在本实施例中,A-D-C没有超过数量阈值,则将该单链图形中出D、C剔除,则匹配树状图少了一个分支,这样就剪了一个分支。
307、若超过预置数量阈值,则将对应的树状单链与长度最长的树状单链进行交叉二维坐标点的匹配,判断是否存在交叉二维坐标点;
在本实施例中,将A-D-B-C、A-C-D-B、A-C-D-B-E与最长的A-D-C-B-E-R进行二维坐标匹配,判断是否有交叉的二维坐标点出现。
308、若存在交叉二维坐标点,则将对应的树状单链中最后一个交叉二维坐标点之后的二维坐标点剔除;
在本实施例中,发现A-D-B-C交叉二维坐标点为A-D,则将B、C剪除。
A-C-D-B中A为交叉二维坐标点,则将C、D、B剪除,A-C-D-B-E中A为交叉二维坐标点,则将C、D、B、E剪除。
309、直至遍历匹配树状图的所有树状单链后,将未被剔除的树状单链确认为最大不交叉的树状团;
在本实施例中,将剪除到最后剩下A-D-C-B-E-R的树状单链,而将A-D-C-B-E-R确认为最大不交叉的树状团。
310、根据预置三角测量算法和最大不交叉的树状团中的二维坐标点,计算出最大不交叉的树状团对应的三维坐标,并基于三维坐标渲染还原得到对应的Marker点的三维图像。
本发明实施例中,通过基于极线误差通过计算出最大不交叉的树状团,提高对二维坐标点的匹配度与通过二维坐标点还原三维图像的准确性。
请参阅图4,本发明实施例中Marker点的三维重建方法的第四个实施例包括:
401、获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,拍摄信息包括Marker点的二维像素坐标;
402、根据预置匹配误差率算法计算二维坐标点集合中每个二维坐标点两两之间的匹配误差率;
403、根据匹配误差率,从二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成二维坐标点集合的匹配树状图;
404、分析匹配树状图中每条树状单链的长度,并筛选出匹配树状图中长度最长的树状单链;
405、基于长度最长的树状单链,匹配出匹配树状图中与长度最长的树状单链存在交叉二维坐标点的分支,并将分支中交叉二维坐标点之后的二维坐标点剔除,得到最大不交叉的树状团;
406、读取最大不交叉的树状团中二维坐标点的二维像素坐标;
在本实施例中,读取最大不交叉的树状团中A点、D点、C点、B点、E点、R点对应的二维像素坐标(2,6)、(6,6)、(5,6)、(7,6)、(4,6)、(1,6)的数据。
407、获取预置三角测量算法,将所有二维像素坐标输入至三角测量算法进行运算,得到最大不交叉的树状团对应还原的三维坐标;
在本实施例中,根据已知两个角和共用边可以唯一确定一个三角形。其中AB间距离确定为l,∠CAB=α,∠CBA=β。l、α、β均已知,那么这个三角形已经确定,假设C到AB的垂足为D。AD=d/tanα。如果以A点为原点建立坐标系,AB为x轴正向,DC为y正方向,z正方向向上。那么C点三维坐标就是(d/tanα,d,0)。
408、读取拍摄信息中的色彩信息,以及根据色彩信息与三维坐标渲染生成对应的Marker点的三维图像。
在本实施例中,拍摄信息的色彩信息包括色相、纯度(也称彩度、饱和度)、明度、表面光滑度等信息,将色彩信息作为渲染的基本色彩在渲染环境的三维坐标上生成三维图像。
本发明实施例中,通过基于极线误差通过计算出最大不交叉的树状团,提高对二维坐标点的匹配度与通过二维坐标点还原三维图像的准确性。
对于上述的实施例流程,下面列举一个具体的实例做进一步的说明,从5台相机中抓取得到5个点Q点、W点、E点、R点、T点,并得到对应的坐标的二维点坐标(5,3)、(5,6)、(4,3)、(8,3)、(5,4),则序列集合为{Q(5,3)、W(5,6)、E(4,3)、R(8,3)、T(5,4)},然后基于该序列集合{Q(5,3)、W(5,6)、E(4,3)、R(8,3)、T(5,4)}进行编号为1、2、3、4、5以及进行匹配误差率的计算,得到匹配记录矩阵,该矩阵图如图7所示,进一步的,从该匹配记录矩阵中确定每个二维坐标点的可匹配集,并基于该可匹配集生成匹配树状图。
进一步的,对于生成匹配树状图具体通过以下方式实现:首先以二维坐标点1作为起始匹配点,将其分别与二维坐标点1对应的可匹配集{2、3、4、5}依次连接,形成一级节点,在完成一级节点构建后,继续构建一级节点的下级节点,例如以3点为例,3点匹配的点总共有1,2,4,但是在一级分子中只有2,3,4,5,所以3匹配的一级分支中的点为1,2,4和2,3,4,5的交集,即2,4,其中比3更大号的点只有4,所以在3的下一级分支添加4。其他点同理,如图8所示。
上面对本发明实施例中Marker点的三维重建方法进行了描述,下面对本发明实施例中Marker点的三维重建装置进行描述,请参阅图9,本发明实施例中Marker点的三维重建装置一个实施例包括:
获取模块901,用于获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,所述拍摄信息包括Marker点的二维像素坐标;
匹配模块902,用于根据预置匹配误差率算法,计算所述二维坐标点集合中每个二维坐标点两两之间的匹配误差率;
生成模块903,用于根据所述匹配误差率,从所述二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成所述二维坐标点集合的匹配树状图;
筛选模块904,用于分析所述匹配树状图中每条树状单链的长度,并筛选出所述匹配树状图中长度最长的树状单链;
剔除模块905,用于基于所述长度最长的树状单链,匹配出所述匹配树状图中与所述长度最长的树状单链存在交叉二维坐标点的分支,并将所述分支中交叉二维坐标点之后的二维坐标点剔除,得到最大不交叉的树状团;
重建模块906,用于根据预置三角测量算法和所述最大不交叉的树状团中的二维坐标点,计算出所述最大不交叉的树状团对应的三维坐标,并基于所述三维坐标渲染还原得到对应的Marker点的三维图像。
本发明实施例中,通过基于极线误差通过计算出最大不交叉的树状团,提高对二维坐标点的匹配度与通过二维坐标点还原三维图像的准确性。
请参阅图10,本发明实施例中Marker点的三维重建装置的另一个实施例包括:
获取模块1001,用于获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,所述拍摄信息包括Marker点的二维像素坐标;
匹配模块1002,用于根据预置匹配误差率算法,计算所述二维坐标点集合中每个二维坐标点两两之间的匹配误差率;
生成模块1003,用于根据所述匹配误差率,从所述二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成所述二维坐标点集合的匹配树状图;
筛选模块1004,用于分析所述匹配树状图中每条树状单链的长度,并筛选出所述匹配树状图中长度最长的树状单链;
剔除模块1005,用于基于所述长度最长的树状单链,匹配出所述匹配树状图中与所述长度最长的树状单链存在交叉二维坐标点的分支,并将所述分支中交叉二维坐标点之后的二维坐标点剔除,得到最大不交叉的树状团;
重建模块1006,用于根据预置三角测量算法和所述最大不交叉的树状团中的二维坐标点,计算出所述最大不交叉的树状团对应的三维坐标,并基于所述三维坐标渲染还原得到对应的Marker点的三维图像。
其中,所述获取模块1001具体用于:
通过无线连接方式读取各个相机中存储的Marker点的二维坐标点、二维坐标点对应的二维像素坐标和相机的序号;
根据拍摄时间的先后顺序对同一序号的相机的二维坐标点进行排序,得到每个相机的二维坐标点的二维像素坐标序列;
根据所述相机的序号的先后顺序对所有的二维像素坐标序列依次排列,得到包含所有二维坐标点的信息的序列集合。
其中,所述匹配模块1002具体用于:
依次读取所述序列集合中每个相机的二维坐标点的二维像素坐标,并将读取到的二维像素坐标进行两两配对,得到配对结果;
将所述配对结果输入至预置匹配误差率算法中进行运算,得到所述序列集合中二维坐标点两两之间的匹配误差率。
其中,所述生成模块1003包括:
编号单元10031,用于对所述序列集合中二维坐标点进行编号,以及统计所述排列顺序中二维坐标点的数量,得到二维点数值;
创建单元10032,用于创建行和列数量均为所述二维点数值的零向量矩阵,其中,所述零向量矩阵中的元素的编号与所述序列集合中二维坐标点的编号一致;
判断单元10033,用于依次判断所述零向量矩阵中每行的元素的编号等于元素所在的行数值的主元素与该元素所在的行的其他元素匹配时的匹配误差率是否超过预置误差阈值;
修改单元10034,用于若匹配误差率未超过预置误差阈值,则读取所述主元素匹配的元素的编号,并将编号对应的元素值修改为非零向量值,生成匹配记录矩阵;
确定单元10035,用于根据所述匹配记录矩阵中的非零向量值确定所述序列集合中各个二维坐标点之间的匹配关系,以及确定每个二维坐标点的可匹配集;
筛选单元10036,用于从所述主元素的可匹配集中筛选出编号大于所述主元素的编号的二维坐标点;
生成单元10037,用于根据所述主元素与其他二维坐标点的匹配关系,将筛选出的二维坐标点与所述主元素相连,层级递进相连生成所述序列集合的匹配树状图。
其中,所述筛选模块1004具体用于:
确定所述匹配树状图中的起始二维坐标点,并以所述起始二维坐标点为统计起点,统计所述统计起点所在的每条树状单链的传递二维坐标点的数量;
将每条树状单链上传递二维坐标点的数量相互比较,选择出二维坐标点的数量最多的树状单链,并确定为长度最长的树状单链。
其中,所述剔除模块1005具体用于:
判断所述匹配树状图中每条树状单链的二维坐标点的数量是否超过预置数量阈值;
若未超过预置数量阈值,则将对应的树状单链中第一个二维坐标点之后的二维坐标点剔除;
若超过预置数量阈值,则将对应的树状单链与所述长度最长的树状单链进行交叉二维坐标点的匹配,判断是否存在交叉二维坐标点;
若存在交叉二维坐标点,则将对应的树状单链中最后一个交叉二维坐标点之后的二维坐标点剔除;
直至遍历所述匹配树状图的所有树状单链后,将未被剔除的树状单链确认为最大不交叉的树状团。
其中,所述重建模块1006具体用于:
读取所述最大不交叉的树状团中二维坐标点的二维像素坐标;
获取预置三角测量算法,将所有所述二维像素坐标输入至所述三角测量算法进行运算,得到所述最大不交叉的树状团对应还原的三维坐标;
读取所述拍摄信息中的色彩信息,以及根据所述色彩信息与所述三维坐标渲染生成对应的Marker点的三维图像。
本发明实施例中,通过基于极线误差通过计算出最大不交叉的树状团,提高对二维坐标点的匹配度与通过二维坐标点还原三维图像的准确性。
上面图9和图10从模块化功能实体的角度对本发明实施例中的Marker点的三维重建装置进行详细描述,下面从硬件处理的角度对本发明实施例中Marker点的三维重建设备进行详细描述。
图11是本发明实施例提供的一种Marker点的三维重建设备的结构示意图,该Marker点的三维重建设备1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1110(例如,一个或一个以上处理器)和存储器1120,一个或一个以上存储应用程序1133或数据1132的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1120和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对Marker点的三维重建设备1100中的一系列指令操作。更进一步地,处理器1110可以设置为与存储介质1130通信,在Marker点的三维重建设备1100上执行存储介质1130中的一系列指令操作。
基于Marker点的三维重建设备1100还可以包括一个或一个以上电源1140,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1160,和/或,一个或一个以上操作系统1131,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图11示出的Marker点的三维重建设备结构并不构成对本申请提供的Marker点的三维重建设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述Marker点的三维重建方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种Marker点的三维重建方法,其特征在于,所述Marker点的三维重建方法包括:
获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,所述拍摄信息包括Marker点的二维像素坐标;
根据预置匹配误差率算法,计算所述二维坐标点集合中每个二维坐标点两两之间的匹配误差率;
根据所述匹配误差率,从所述二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成所述二维坐标点集合的匹配树状图;
分析所述匹配树状图中每条树状单链的长度,并筛选出所述匹配树状图中长度最长的树状单链;
判断所述匹配树状图中每条树状单链的二维坐标点的数量是否超过预置数量阈值;
若未超过预置数量阈值,则将对应的树状单链中第一个二维坐标点之后的二维坐标点剔除;
若超过预置数量阈值,则将对应的树状单链与所述长度最长的树状单链进行交叉二维坐标点的匹配,判断是否存在交叉二维坐标点;
若存在交叉二维坐标点,则将对应的树状单链中最后一个交叉二维坐标点之后的二维坐标点剔除;
直至遍历所述匹配树状图的所有树状单链后,将未被剔除的树状单链确认为最大不交叉的树状团;
根据预置三角测量算法和所述最大不交叉的树状团中的二维坐标点,计算出所述最大不交叉的树状团对应的三维坐标,并基于所述三维坐标渲染还原得到对应的Marker点的三维图像。
2.根据权利要求1所述的Marker点的三维重建方法,其特征在于,所述二维坐标点集合为具有特定排序顺序的序列集合,所述获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合包括:
通过无线连接方式读取各个相机中存储的Marker点的二维坐标点、二维坐标点对应的二维像素坐标和相机的序号;
根据拍摄时间的先后顺序对同一序号的相机的二维坐标点进行排序,得到每个相机的二维坐标点的二维像素坐标序列;
根据所述相机的序号的先后顺序对所有的二维像素坐标序列依次排列,得到包含所有二维坐标点的信息的序列集合。
3.根据权利要求2所述的Marker点的三维重建方法,其特征在于,所述根据预置匹配误差率算法,计算所述二维坐标点集合中每个二维坐标点两两之间的匹配误差率包括:
依次读取所述序列集合中每个相机的二维坐标点的二维像素坐标,并将读取到的二维像素坐标进行两两配对,得到配对结果;
将所述配对结果输入至预置匹配误差率算法中进行运算,得到所述序列集合中二维坐标点两两之间的匹配误差率。
4.根据权利要求3所述的Marker点的三维重建方法,其特征在于,所述根据所述匹配误差率,从所述二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成所述二维坐标点集合的匹配树状图包括:
对所述序列集合中二维坐标点进行编号,以及统计所述排列顺序中二维坐标点的数量,得到二维点数值;
创建行和列数量均为所述二维点数值的零向量矩阵,其中,所述零向量矩阵中的元素的编号与所述序列集合中二维坐标点的编号一致;
依次判断所述零向量矩阵中每行的元素的编号等于元素所在的行数值的主元素与该元素所在的行的其他元素匹配时的匹配误差率是否超过预置误差阈值;
若否,则读取所述主元素匹配的元素的编号,并将编号对应的元素值修改为非零向量值,生成匹配记录矩阵;
根据所述匹配记录矩阵中的非零向量值确定所述序列集合中各个二维坐标点之间的匹配关系,以及确定每个二维坐标点的可匹配集;
从所述主元素的可匹配集中筛选出编号大于所述主元素的编号的二维坐标点;
根据所述主元素与其他二维坐标点的匹配关系,将筛选出的二维坐标点与所述主元素相连,层级递进相连生成所述序列集合的匹配树状图。
5.根据权利要求4所述的Marker点的三维重建方法,其特征在于,所述分析所述匹配树状图中每条树状单链的长度,并筛选出所述匹配树状图中长度最长的树状单链包括:
确定所述匹配树状图中的起始二维坐标点,并以所述起始二维坐标点为统计起点,统计所述统计起点所在的每条树状单链的传递二维坐标点的数量;
将每条树状单链上传递二维坐标点的数量相互比较,选择出二维坐标点的数量最多的树状单链,并确定为长度最长的树状单链。
6.根据权利要求1-5中任一项所述的Marker点的三维重建方法,其特征在于,所述根据预置三角测量算法和所述最大不交叉的树状团中的二维坐标点,计算出所述最大不交叉的树状团对应的三维坐标,并基于所述三维坐标渲染还原得到对应的Marker点的三维图像包括:
读取所述最大不交叉的树状团中二维坐标点的二维像素坐标;
获取预置三角测量算法,将所有所述二维像素坐标输入至所述三角测量算法进行运算,得到所述最大不交叉的树状团对应还原的三维坐标;
读取所述拍摄信息中的色彩信息,以及根据所述色彩信息与所述三维坐标渲染生成对应的Marker点的三维图像。
7.一种Marker点的三维重建装置,其特征在于,所述Marker点的三维重建装置包括:
获取模块,用于获取若干个相机对Marker点进行拍摄的拍摄信息,形成二维坐标点集合,其中,所述拍摄信息包括Marker点的二维像素坐标;
匹配模块,用于根据预置匹配误差率算法,计算所述二维坐标点集合中每个二维坐标点两两之间的匹配误差率;
生成模块,用于根据所述匹配误差率,从所述二维坐标点集合中选择匹配误差率满足预设条件的二维坐标点依次连接,生成所述二维坐标点集合的匹配树状图;
筛选模块,用于分析所述匹配树状图中每条树状单链的长度,并筛选出所述匹配树状图中长度最长的树状单链;
剔除模块,用于判断所述匹配树状图中每条树状单链的二维坐标点的数量是否超过预置数量阈值;若未超过预置数量阈值,则将对应的树状单链中第一个二维坐标点之后的二维坐标点剔除;若超过预置数量阈值,则将对应的树状单链与所述长度最长的树状单链进行交叉二维坐标点的匹配,判断是否存在交叉二维坐标点;若存在交叉二维坐标点,则将对应的树状单链中最后一个交叉二维坐标点之后的二维坐标点剔除;直至遍历所述匹配树状图的所有树状单链后,将未被剔除的树状单链确认为最大不交叉的树状团;
重建模块,用于根据预置三角测量算法和所述最大不交叉的树状团中的二维坐标点,计算出所述最大不交叉的树状团对应的三维坐标,并基于所述三维坐标渲染还原得到对应的Marker点的三维图像。
8.一种Marker点的三维重建设备,其特征在于,所述Marker点的三维重建设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述Marker点的三维重建设备执行如权利要求1-6中任一项所述的Marker点的三维重建方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的Marker点的三维重建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010505896.4A CN111667570B (zh) | 2020-06-05 | 2020-06-05 | Marker点的三维重建方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010505896.4A CN111667570B (zh) | 2020-06-05 | 2020-06-05 | Marker点的三维重建方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111667570A CN111667570A (zh) | 2020-09-15 |
CN111667570B true CN111667570B (zh) | 2023-06-02 |
Family
ID=72386662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010505896.4A Active CN111667570B (zh) | 2020-06-05 | 2020-06-05 | Marker点的三维重建方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111667570B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287876B (zh) * | 2020-11-18 | 2021-07-30 | 广东新禾道信息科技有限公司 | 基于区块链的无人机环境污染遥测数据处理方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6664000B2 (ja) * | 2016-08-12 | 2020-03-13 | オリンパス株式会社 | 較正装置、較正方法、光学装置、撮影装置、および投影装置 |
CN108764024B (zh) * | 2018-04-09 | 2020-03-24 | 平安科技(深圳)有限公司 | 人脸识别模型的生成装置、方法及计算机可读存储介质 |
CN109859314B (zh) * | 2019-03-12 | 2023-08-29 | 上海曼恒数字技术股份有限公司 | 三维重建方法、装置、电子设备和存储介质 |
-
2020
- 2020-06-05 CN CN202010505896.4A patent/CN111667570B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111667570A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108537876B (zh) | 三维重建方法、装置、设备及存储介质 | |
CN110163953A (zh) | 三维人脸重建方法、装置、存储介质和电子装置 | |
CN106097436B (zh) | 一种大场景对象的三维重建方法 | |
CN108198230A (zh) | 一种基于散乱图像的作物果实三维点云提取系统 | |
CN109859314B (zh) | 三维重建方法、装置、电子设备和存储介质 | |
DE112011103452T5 (de) | Verfahren zum Angleichen von Pixeln einer Entfernungsdarstellung | |
CN106683163B (zh) | 一种视频监控的成像方法及系统 | |
CN111667570B (zh) | Marker点的三维重建方法、装置、设备及存储介质 | |
KR20150114950A (ko) | 이미지 스트림의 프레임 레이트 증가 | |
CN110838146A (zh) | 一种共面交比约束的同名点匹配方法、系统、装置及介质 | |
CN107341804A (zh) | 点云数据中平面的确定方法及装置、图像叠加方法及设备 | |
CN114119987A (zh) | 基于卷积神经网络的特征提取和描述子生成方法及系统 | |
CN110070608B (zh) | 一种自动删除基于图像的三维重建冗余点的方法 | |
Demaret et al. | Anisotropic Kaluza-Klein cosmologies | |
Lu et al. | Simultaneous direct depth estimation and synthesis stereo for single image plant root reconstruction | |
CN114708475A (zh) | 一种用于3d场景理解的点云多模态特征融合网络方法 | |
CN114758145A (zh) | 一种图像脱敏方法、装置、电子设备及存储介质 | |
CN106780633A (zh) | 一种图像校正方法、装置及双目视觉系统 | |
CN113920433A (zh) | 物体表面材质的分析方法和装置 | |
Do | Application of neural networks for stereo-camera calibration | |
Hyun et al. | Hardware-friendly architecture for a pseudo 2D weighted median filter based on sparse-window approach | |
CN112215893A (zh) | 目标二维中心坐标点确定方法、装置、设备及测距系统 | |
CN107301618A (zh) | 基于gpu并行加速的基础矩阵和单应矩阵估计方法和系统 | |
Koskenkorva et al. | Quasi-dense wide baseline matching for three views | |
CN110910463A (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 |