CN114820954B - 三维重建方法、装置、电子设备及存储介质 - Google Patents
三维重建方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114820954B CN114820954B CN202210745744.0A CN202210745744A CN114820954B CN 114820954 B CN114820954 B CN 114820954B CN 202210745744 A CN202210745744 A CN 202210745744A CN 114820954 B CN114820954 B CN 114820954B
- Authority
- CN
- China
- Prior art keywords
- point
- cloud data
- point cloud
- determining
- frame
- 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 55
- 238000001514 detection method Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 10
- 238000009432 framing Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明涉及三维重建技术领域,提供一种三维重建方法、装置、电子设备及存储介质,所述方法包括:确定管道内壁的多帧点云数据;确定多帧点云数据中相邻两帧点云数据中的第一点和第二点,第一点和第二点分属不同帧的点云数据;在第一点所属的点云数据中,遍历第一点之后的点,直至得到角度值大于第二点的角度值的点作为第三点;基于第一点、第二点和第三点构建三角拓扑,并基于第二点和第三点重新确定多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至相邻两帧点云数据中的各点遍历完成;基于多帧点云数据中每两帧相邻点云数据所构建的三角拓扑,确定所述管道内壁的三维模型。本发明能够保证构建的管道内壁三维模型的真实性和完整性。
Description
技术领域
本发明涉及三维重建技术领域,尤其涉及一种三维重建方法、装置、电子设备及存储介质。
背景技术
目前,在进行管道检测时,通常需要对管道进行三维重建。现有技术中是通过管道机器人携带雷达设备,基于雷达设备沿管道截面方向发射二维雷达信号,得到管道内壁的点云数据,但是这样得到的各帧点云数据的点个数不相同。通过计算最小点距离进行三维重建,不能得到准确的拓扑关系,容易出现破裂和冗余。而使用移动立方体算法(MarchingCubes,MC)进行三维重建时,容易出现拓扑关系重建不全、耗时很长等问题。
发明内容
本发明提供一种三维重建方法、装置、电子设备及存储介质,用以解决通过三维重建不全、耗时长的缺陷。
本发明提供一种三维重建方法,包括:
确定管道内壁的多帧点云数据;
确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,所述第一点和所述第二点分属不同帧的点云数据;
在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点;
基于所述第一点、第二点和第三点构建三角拓扑,并基于所述第二点和所述第三点重新确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至所述相邻两帧点云数据中的各点遍历完成;
基于所述多帧点云数据中每两帧相邻点云数据所构建的三角拓扑,确定所述管道内壁的三维模型。
根据本发明提供的一种三维重建方法,所述在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点,包括:
在所述第一点不是所述第一点所属的点云数据的尾点的情况下,在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点。
根据本发明提供的一种三维重建方法,所述确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,之后还包括:
在所述第一点是所述第一点所属的点云数据的尾点的情况下,以所述第一点、所述第一点所属的点云数据的首点、所述第二点为三个顶点,构建三角拓扑,并将所述第一点所属的点云数据的首点确定为第三点。
根据本发明提供的一种三维重建方法,所述在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点,包括:
在所述第一点所属的点云数据中,确定所述第一点之后的下一个点为候选点;
在所述候选点是所述第一点所属的点云数据的尾点的情况下,或者在所述候选点的角度值大于所述第二点的角度值的情况下,将所述候选点确定为所述第三点并停止遍历;
在所述候选点不是所述尾点且所述候选点的角度值小于等于所述第二点的角度值的情况下,将所述候选点之后的下一个点更新为候选点。
根据本发明提供的一种三维重建方法,所述相邻两帧点云数据中的各点遍历完成,之后还包括:
确定所述相邻两帧点云数据中未构建三角拓扑的点;
基于所述未构建三角拓扑的点在所属点云数据中的相邻点所构建的三角拓扑的边,以及所述未构建三角拓扑的点,构建三维拓扑。
根据本发明提供的一种三维重建方法,所述确定管道内壁的多帧点云数据,包括:
确定所述管道内壁的雷达检测数据;
基于所述雷达检测数据中各点的行进坐标,对所述雷达检测数据分帧,得到多帧点云数据。
本发明还提供了一种三维重建装置,包括:
采集单元,用于确定管道内壁的多帧点云数据;
点确定单元,用于确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,所述第一点和所述第二点分属不同帧的点云数据;
点遍历单元,用于在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点;
三角拓扑遍历单元,用于基于所述第一点、第二点和第三点构建三角拓扑,并基于所述第二点和所述第三点重新确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至所述相邻两帧点云数据中的各点遍历完成;
模型构建单元,用于基于所述多帧点云数据中每两帧相邻点云数据所构建的三角拓扑,确定所述管道内壁的三维模型。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述三维重建方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述三维重建方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述三维重建方法。
本发明提供的三维重建方法、装置、电子设备及存储介质,将管道内壁的多帧点云数据中相邻两帧点云数据进行遍历,并对相邻两帧点云数据中的所有点进行遍历,构建三角拓扑,由此构建的三角拓扑是准确的,再将所有点构建的三角拓扑整合起来,作为管道内壁的三维模型,由此确定的三维模型,能够保证构建的管道内壁的真实性和完整性,其模型可以在管道三维检测中进行广泛应用。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的三维重建方法的流程示意图;
图2是本发明提供的构建两帧点云数据之间的拓扑关系的流程示意图;
图3是本发明提供的构建相邻两帧点云数据之间的拓扑关系的流程示意图之一;
图4是本发明提供的构建相邻两帧点云数据之间的拓扑关系的流程示意图之二;
图5是本发明提供的构建相邻两帧点云数据之间的拓扑关系的流程示意图之三;
图6是本发明提供的三维重建装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类。
本发明实施例提供了一种三维重建方法。图1是本发明提供的三维重建方法的流程示意图,如图1所示,该方法包括:
步骤110,确定管道内壁的多帧点云数据。
可以理解的是,本发明中的管道可以是横截面为圆形的管道,也可以是横截面为正多边形的管道,本发明对此不作具体限定。为了方便说明,本实施例后续均以圆形的管道进行说明。
具体地,多帧点云数据可以基于是管道机器人携带雷达设备,基于雷达设备沿管道截面方向发射二维雷达信号后采集得到的雷达数据确定。此处的雷达数据也可以通过激光扫描仪确定,还可以通过扫描全站仪确定,本发明实施例对此不作具体限定。
进一步地,管道机器人在针对管道内壁进行采集的过程中是不断移动的,因此可以根据管道机器人携带的雷达设备进行采集的具体位置,将采集得到的雷达数据拆分为多个帧的点云数据,其中每个帧点云数据对应一个具体位置上的点云数据。
其中,通过管道机器人携带的雷达设备去扫描管道内壁,雷达数据可以包括各个
点的极坐标角度θ和距离。可以将极坐标角度θ和距离转换为直角坐标值X和Y,以
牵引管道机器人移动的电缆爬行器的电缆盘刻度为坐标点Z值,同时记录角度值θ,此处的
角度值θ,就是将极坐标与直角坐标进行转换之前的极坐标角度θ,此处的电缆爬行器是一
种用于管道检测的检测过程中,将检测设备输送到预定位置的特殊工具。
步骤120,确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,所述第一点和所述第二点分属不同帧的点云数据。
具体地,在三维重建过程中,可以先针对每两帧相邻点云数据中的点构建三角拓扑,从而实现每两帧相邻点云数据之间的三维模型的构建,从而组合得到所有点云数据组合的三维模型。针对其中两个任意相邻的帧点云数据,首先确定帧点云数据上的两个点,这两个点分别属于不同帧的点云数据。
可以理解的是,这两个点可以分别是每帧点云数据的起点,也可以是上次三角拓扑构建完之后,三角拓扑中朝外的两个顶点。例如获取其中任意两帧相邻点云数据A帧、B帧,这两个点可以是A帧点云数据的起点A0,B帧点云数据的起点B0,其中,第一点是B0,第二点是A0,第一点B0和第二点A0分别属于点云数据B和点云数据A帧。此处的第一点和第二点中的“第一”、“第二”仅作为两帧不同点云数据中的点的区分。在确定这两个点的情况下,可以在第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于第二点的角度值的点作为第三点,由此基于三点构建三角拓扑。
步骤130,在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点。
具体地,在第一点所属的点云数据中,遍历第一点之后的点,直到得到角度值大于第二点的角度值的点作为第三点。例如任意两帧相邻点云数据A、点云数据B中,第一点是点云数据A的A3,第二点是点云数据B的B2,假设点云数据A中的A4的角度值大于B2的角度值,则第三点为点云数据A中的A4,假设点云数据A中的A4的角度值小于B2的角度值,则进一步判断A5的角度值是否大于B2的角度值,如果大于,则第三点为点云数据中的A5,否则进一步判断A6的角度值是否大于B2的角度值,依序遍历直至找到大于B2的角度值的点。
步骤140,基于所述第一点、第二点和第三点构建三角拓扑,并基于所述第二点和所述第三点重新确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至所述相邻两帧点云数据中的各点遍历完成。
具体地,可以将第一点、第二点和第三点作为三角形的三个顶点连接起来以构建三角拓扑,在此基础上,如果第一点和第三点之间还存在点,例如第一点为A2,第三点为A4,其中间隔有A3,则可以基于第一点、第二点、第三点,以及第一点和第三点之间的点,构建多个三角拓扑。
可以理解的是,在基于第一点、第二点和第三点完成三角拓扑的构建之后,针对新的三角拓扑,第二点和第三点即朝外的两个顶点,因此需要在新一轮三角拓扑构建中,基于第二点和第三点重新确定多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至此处的第一点和第二点是第一点和第二点分别所属的点云数据的最后一点,由此,相邻两帧点云数据中的各点遍历完成。此处,具体可以是将第二点作为新的第一点,将第三点作为新的第二点。
步骤150,基于所述多帧点云数据中每两帧相邻点云数据所构建的三角拓扑,确定所述管道内壁的三维模型。
具体地,针对任意相邻两帧点云数据中的各点遍历完成,也就是任意相邻两帧点云数据的三角拓扑构建完成,由此,将所有任意相邻两帧点云数据构建的三角拓扑整合在一起,得到管道内壁的三维模型。
本发明实施例提供的方法,在每两帧相邻点云数据中确定三角拓扑的两个顶点之后,在其中一帧点云数据中查找角度值大于另一帧点云数据中顶点的角度值的点作为第三个顶点,以实现三角拓扑的构建,执行过程中无需考虑相邻两帧点云数据的点数是否相同,即可实现简单快速全面的三维重建,降低了三维重建所需的计算量,提高了三维重建的响应速度。
基于上述实施例,图2是本发明提供的构建两帧点云数据之间的拓扑关系的流程示意图,如图2所示,包括:
具体地,基于雷达设备获取某段管道所有的点云数据,从而获取到总帧数N,N是多帧点云数据的总数,遍历任一帧点云数据Fi,当确定i不等于N时,则获取i帧点云数据与i+1帧点云数据,此处的i帧点云数据与i+1帧点云数据是两相邻帧,并构建i帧点云数据与i+1帧点云数据之间的拓扑关系,构建完拓扑关系之后,将构建i+1帧点云数据与i+2帧点云数据之间的拓扑关系,依次类推,当确定i等于N时,结束构建两帧点云数据之间的拓扑关系,至此所有的两帧点云数据之间的拓扑关系构建完成。
其中,针对i帧点云数据与i+1帧点云数据之间的拓扑关系的构建,可以参见上述实施例中的步骤120-步骤140,此处不作赘述。
基于上述实施例,步骤130包括:
在所述第一点不是所述第一点所属的点云数据的尾点的情况下,在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点。
具体地,在针对第一点和第二点查找第三点以构建三角拓扑之前,需要先判断此时的第一点是否为所属点云数据的尾点,此处的尾点是指帧点云数据的最后一个点,例如点云数据一共有M个点,那么尾点就是点云数据的第M点。
如果确定第一点是所属点云数据的尾点,则第一点之后已经不存在其他点,也就无需再遍历第一点之后的点,因此,仅在确定第一点不是第一点所属点云数据的尾点时,在第一点所属的点云数据中,遍历第一点之后的点,直至得到角度值大于第二点的角度值的点作为第三点。
基于上述实施例,步骤120之后还包括:
在所述第一点是所述第一点所属的点云数据的尾点的情况下,以所述第一点、所述第一点所属点云数据的首点、所述第二点为三个顶点,构建三角拓扑,并将所述第一点所属的点云数据的首点确定为第三点。
具体地,当确定第一点是第一点所属点云数据的尾点时,则不需要在第一点所属的点云数据中,遍历第一点之后的点,而是需要考虑的是如何实现两个相邻帧的点云数据在三维建模上的首尾相接,此时可以以第一点、第一点所属点云数据的首点、第二点为三个顶点,构建三角拓扑,此处的首点是指点云数据的第一个点。
基于上述实施例,图3是本发明提供的相邻两帧点云数据之间的拓扑关系的流程示意图之一,如图3所示,步骤130包括:
步骤131,在所述第一点所属的点云数据中,确定所述第一点之后的下一个点为候选点;
具体地,在第一点所属的点云数据中,确定第一点之后的下一个点为候选点,此处的下一个点是指第一点所属的点云数据的遍历方向的下一个点,下一个点属于第一点所属的点云数据,此处的候选点是指在第一点所属的点云数据中,等待进行三角拓扑的点。如图3所示,A帧与B帧是相邻两帧,第一点可以是B帧点云数据的首点B0,第一点所属的点云数据中的下一个点是B1,此时候选点是B1。
步骤132,在所述候选点是所述第一点所属的点云数据的尾点的情况下,或者在所述候选点的角度值大于所述第二点的角度值的情况下,将所述候选点确定为所述第三点并停止遍历;
具体地,针对候选点是第一点所属的点云数据的尾点或者候选点的角度值大于第二点的角度值这两种情况,则将候选点确定为第三点并停止遍历,此处这两种情况是遍历停止的条件。如图3所示,A帧与B帧是相邻两帧,第一点可以是B帧点云数据的首点B0,第一点所属的点云数据中的候选点是B1,此时B1不是第一点所属的点云数据的尾点B5,且候选点B1的角度值小于第二点A1的角度值,所以继续遍历;此时第一点所属的点云数据中的候选点是B2,B2不是第一点所属的点云数据的尾点B5,且候选点B2的角度值小于第二点A1的角度值,所以继续遍历;此时第一点所属的点云数据中的候选点是B3,B3不是第一点所属的点云数据的尾点B5,而候选点B3的角度值大于第二点A1的角度值,所以停止遍历,同时将候选点B3确定为第三点。
步骤133,在所述候选点不是所述尾点且所述候选点的角度值小于等于所述第二点的角度值的情况下,将所述候选点之后的下一个点更新为候选点。
具体地,如图3所示,A帧与B帧是相邻两帧,第一点可以是B帧点云数据的首点B0,第一点所属的点云数据中的候选点是B1,此时B1不是第一点所属的点云数据的尾点B5,且候选点B1的角度值小于等于第二点A1的角度值,此时第一点所属的点云数据中的候选点之后的下一个点为B2,则将候选点B1更新为候选点之后的下一个点B2。
基于上述实施例,图4是本发明提供的构建相邻两帧点云数据之间的拓扑关系的流程示意图之二,如图4所示,所述相邻两帧点云数据中的各点遍历完成,之后还包括:
步骤410,确定所述相邻两帧点云数据中未构建三角拓扑的点;
步骤420,基于所述未构建三角拓扑的点在所属点云数据中的相邻点所构建的三角拓扑的边,以及所述未构建三角拓扑的点,构建三维拓扑。
具体地,在相邻两帧点云数据遍历完成之后,每帧点云数据中可能存在一些点在遍历过程中被跳过了,例如图3中的B1点、B2点,这些点也就是相邻两帧点云数据中未构建三角拓扑的点。
为了保证三维重建的完整性,需要基于这些未构建三角拓扑的点也构建三角拓扑,具体的方式可以是基于未构建三角拓扑的点在所属点云数据中的相邻点所构建的三角拓扑的边,以及未构建三角拓扑的点,构建三维拓扑。例如图3中将未构建三角拓扑的B1点,与B1点在所属点云数据中的相邻点B0所构建的三角拓扑的边B0A1,构建三维拓扑;将未构建三角拓扑的B2点,与B2点在所属点云数据中的相邻点B1所构建的三角拓扑的边B1A1,构建三维拓扑;将未构建三角拓扑的B2点,与B2点在所属点云数据中的相邻点B3所构建的三角拓扑的边B3A1,构建三维拓扑。
基于上述实施例,如图4所示,A帧与B帧是相邻两帧,第一点所属的点云数据为A帧,第二点所属的点云数据为B帧,构建A帧与B帧点云数据之间的拓扑关系,先计算A帧与B帧的点云数据的总数,分别为An和Bn,设置第一点的候选点为变量Ai,第二点的候选点为变量Bi,首先构建一个以A0,A1和B0三个点为三角形顶点的拓扑关系,此时第一点所属的点云数据中的候选点为A1,第二点所属的点云数据中的候选点为B0。按顺序遍历A帧中的点云数据,当确定候选点A1小于A帧点云数据的总数即An时,也就是A1点不是第一点所属点云数据的尾点时,取A1点作为当前三角拓扑构建的三角形的一点,获取第二点所属的点云数据,即B帧上的候选点作为三角拓扑的另外两点,且输入第二点所属的点云数据当前的候选点Bi。
当确定Bi点不是第二点所属的点云数据的首点即B0时,取当前的Bi点作为三角拓扑的一点,再获取第一点所属的点云数据即A帧上的点作为三角拓扑中的另外两点,构建三角拓扑关系,输出当前的候选点Ai,再判断当前的候选点Ai是否是第一点所属的点云数据的首点即A0,当确定当前的候选点Ai是第一点所属的点云数据的首点A0,则构建以第一点所属的点云数据当前的候选点Ai为三角拓扑的顶点,与基于未构建三角拓扑的点Bi在所属点云数据中的相邻点所构建的三角拓扑的边,构建三维拓扑,并结束遍历;当确定当前的候选点Ai不是第一点所属的点云数据的首点A0,则继续遍历,构建三角拓扑关系。
当确定Bi点是第二点所属的点云数据的首点即B0时,则构建以第二点所属的点云数据当前的候选点Bi为三角拓扑的顶点,与基于未构建三角拓扑的点Ai在所属点云数据中的相邻点所构建的三角拓扑的边,构建三维拓扑,并结束遍历。
可以理解的是,当确定第一点所属的点云数据中的候选点A1等于A帧点云数据的总数即An时,也就是A1点是第一点所属点云数据的尾点时,停止构建三维拓扑,并结束遍历。
基于上述实施例,图5是本发明提供的构建相邻两帧点云数据之间的拓扑关系的流程示意图之三,如图5所示:
A帧与B帧是相邻两帧,第一点所属的点云数据为A帧,第二点所属的点云数据为B帧,获取第二点所属的点云数据即B帧上的点作为三角形的另外两点,构建三角拓扑,输出第二点所属的点云数据当前的候选点Bi是基于如下步骤确定的:
具体地,首先确定第二点所属的点云数据当前的候选点Bi与第二点所属的点云数据的总数Bn的大小,当确定第二点所属的点云数据当前的候选点Bi小于点云数据的总数Bn时,遍历第二点所属的点云数据的候选点Bi的下一点Bi+1,比较Bi+1与点云数据的总数Bn的大小,当确定Bi+1小于Bn时,比较Bi+1与第一点所属的点云数据当前的候选点Ai的角度值大小,当确定Bi+1的角度值大于Ai的角度值时,则构建第一点所属的点云数据当前的候选点Ai为三角拓扑的一点,第二点所属的点云数据中的Bi与Bi+1点之间的相邻两点的三角拓扑关系,把第二点所属的点云数据中的Bi点更新为Bi+1点;当确定Bi+1点的角度值小于Ai点的角度值时,则比较Bi+2点与Bn的大小,当确定Bi+2小于Bn时,再确定Bi+2与第一点所属的点云数据当前的候选点Ai的角度值大小,依次类推。
可以理解的是,当确定Bi+1等于Bn时,即Bi+1是第二点所属的点云数据的尾点,则构建第一点所属的点云数据当前的候选点Ai,第二点所属的点云数据的Bi与第二点所属的点云数据当前的候选点Bi+1的三角拓扑关系,并将第二点所属的点云数据的Bi更新为第二点所属的点云数据的首点B0,结束遍历。
基于上述实施例,所述确定管道内壁的多帧点云数据,包括:
确定所述管道内壁的雷达检测数据;
基于所述雷达检测数据中各点的行进坐标,对所述雷达检测数据分帧,得到多帧点云数据。
具体地,可以通过管道机器人携带雷达设备并基于雷达设备沿管道截面方向发射二维雷达信号,得到管道内壁的雷达检测数据。基于雷达检测数据中各点的行进坐标,此处的行进坐标是指以电缆爬行器的电缆盘刻度为行进方向得到的坐标点Z值,对雷达检测数据分帧,其中每个帧点云数据对应一个行进坐标上的点云数据,从而得到多帧点云数据。
下面对本发明提供的三维重建装置进行描述,下文描述的三维重建装置与上文描述的三维重建方法可相互对应参照。
图6是本发明提供的三维重建装置的结构示意图,如图6所示,该装置包括:
采集单元610,用于确定管道内壁的多帧点云数据;
点确定单元620,用于确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,所述第一点和所述第二点分属不同帧的点云数据;
点遍历单元630,用于在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点;
三角拓扑构建单元640,用于基于所述第一点、第二点和第三点构建三角拓扑,并基于所述第二点和所述第三点重新确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至所述相邻两帧点云数据中的各点遍历完成;
模型构建单元650,用于基于所述多帧点云数据中每两帧相邻点云数据所构建的三角拓扑,确定所述管道内壁的三维模型。
本发明实施例提供的装置,模型构建单元将多帧点云数据中每两帧相邻点云数据中的所有点构建的三角拓扑整合起来,作为管道内壁的三维模型,由此确定的三维模型,能够保证构建的管道内壁的真实性和完整性。
基于上述任一实施例,所述在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点,包括:
在所述第一点不是所述第一点所属的点云数据的尾点的情况下,在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点。
基于上述任一实施例,所述确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,之后还包括:
在所述第一点是所述第一点所属的点云数据的尾点的情况下,以所述第一点、所述第一点所属的点云数据的首点、所述第二点为三个顶点,构建三角拓扑,并将所述第一点所属的点云数据的首点确定为第三点。
基于上述任一实施例,所述在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点,包括:
在所述第一点所属的点云数据中,确定所述第一点之后的下一个点为候选点;
在所述候选点是所述第一点所属的点云数据的尾点的情况下,或者在所述候选点的角度值大于所述第二点的角度值的情况下,将所述候选点确定为所述第三点并停止遍历;
在所述候选点不是所述尾点且所述候选点的角度值小于等于所述第二点的角度值的情况下,将所述候选点之后的下一个点更新为候选点。
基于上述任一实施例,所述相邻两帧点云数据中的各点遍历完成,之后还包括:
确定所述相邻两帧点云数据中未构建三角拓扑的点;
基于所述未构建三角拓扑的点在所属点云数据中的相邻点所构建的三角拓扑的边,以及所述未构建三角拓扑的点,构建三维拓扑。
基于上述任一实施例,所述确定管道内壁的多帧点云数据,包括:
确定所述管道内壁的雷达检测数据;
基于所述雷达检测数据中各点的行进坐标,对所述雷达检测数据分帧,得到多帧点云数据。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行三维重建方法,该方法包括:确定管道内壁的多帧点云数据;确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,所述第一点和所述第二点分属不同帧的点云数据;在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点;基于所述第一点、第二点和第三点构建三角拓扑,并基于所述第二点和所述第三点重新确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至所述相邻两帧点云数据中的各点遍历完成;基于所述多帧点云数据中每两帧相邻点云数据所构建的三角拓扑,确定所述管道内壁的三维模型。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的三维重建方法,该方法包括:确定管道内壁的多帧点云数据;确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,所述第一点和所述第二点分属不同帧的点云数据;在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点;基于所述第一点、第二点和第三点构建三角拓扑,并基于所述第二点和所述第三点重新确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至所述相邻两帧点云数据中的各点遍历完成;基于所述多帧点云数据中每两帧相邻点云数据所构建的三角拓扑,确定所述管道内壁的三维模型。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的三维重建方法,该方法包括:确定管道内壁的多帧点云数据;确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,所述第一点和所述第二点分属不同帧的点云数据;在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点;基于所述第一点、第二点和第三点构建三角拓扑,并基于所述第二点和所述第三点重新确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至所述相邻两帧点云数据中的各点遍历完成;基于所述多帧点云数据中每两帧相邻点云数据所构建的三角拓扑,确定所述管道内壁的三维模型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种三维重建方法,其特征在于,包括:
确定管道内壁的多帧点云数据;
确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,所述第一点和所述第二点分属不同帧的点云数据;
在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点,所述角度值为极坐标角度值;
基于所述第一点、第二点和第三点构建三角拓扑,并基于所述第二点和所述第三点重新确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至所述相邻两帧点云数据中的各点遍历完成;
基于所述多帧点云数据中每两帧相邻点云数据所构建的三角拓扑,确定所述管道内壁的三维模型;
所述在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点,包括:
在所述第一点不是所述第一点所属的点云数据的尾点的情况下,在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点;
所述确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,之后还包括:
在所述第一点是所述第一点所属的点云数据的尾点的情况下,以所述第一点、所述第一点所属的点云数据的首点、所述第二点为三个顶点,构建三角拓扑,并将所述第一点所属的点云数据的首点确定为第三点。
2.根据权利要求1所述的三维重建方法,其特征在于,所述在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点,包括:
在所述第一点所属的点云数据中,确定所述第一点之后的下一个点为候选点;
在所述候选点是所述第一点所属的点云数据的尾点的情况下,或者在所述候选点的角度值大于所述第二点的角度值的情况下,将所述候选点确定为所述第三点并停止遍历;
在所述候选点不是所述尾点且所述候选点的角度值小于等于所述第二点的角度值的情况下,将所述候选点之后的下一个点更新为候选点。
3.根据权利要求1所述的三维重建方法,其特征在于,所述相邻两帧点云数据中的各点遍历完成,之后还包括:
确定所述相邻两帧点云数据中未构建三角拓扑的点;
基于所述未构建三角拓扑的点在所属点云数据中的相邻点所构建的三角拓扑的边,以及所述未构建三角拓扑的点,构建三维拓扑。
4.根据权利要求1所述的三维重建方法,其特征在于,所述确定管道内壁的多帧点云数据,包括:
确定所述管道内壁的雷达检测数据;
基于所述雷达检测数据中各点的行进坐标,对所述雷达检测数据分帧,得到多帧点云数据。
5.一种三维重建装置,其特征在于,包括:
采集单元,用于确定管道内壁的多帧点云数据;
点确定单元,用于确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,所述第一点和所述第二点分属不同帧的点云数据;
点遍历单元,用于在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点,所述角度值为极坐标角度值;
三角拓扑构建单元,用于基于所述第一点、第二点和第三点构建三角拓扑,并基于所述第二点和所述第三点重新确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,直至所述相邻两帧点云数据中的各点遍历完成;
模型构建单元,用于基于所述多帧点云数据中每两帧相邻点云数据所构建的三角拓扑,确定所述管道内壁的三维模型;
所述在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点,包括:
在所述第一点不是所述第一点所属的点云数据的尾点的情况下,在所述第一点所属的点云数据中,遍历所述第一点之后的点,直至得到角度值大于所述第二点的角度值的点作为第三点;
所述确定所述多帧点云数据中相邻两帧点云数据中的第一点和第二点,之后还包括:
在所述第一点是所述第一点所属的点云数据的尾点的情况下,以所述第一点、所述第一点所属的点云数据的首点、所述第二点为三个顶点,构建三角拓扑,并将所述第一点所属的点云数据的首点确定为第三点。
6.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述三维重建方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述三维重建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210745744.0A CN114820954B (zh) | 2022-06-29 | 2022-06-29 | 三维重建方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210745744.0A CN114820954B (zh) | 2022-06-29 | 2022-06-29 | 三维重建方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114820954A CN114820954A (zh) | 2022-07-29 |
CN114820954B true CN114820954B (zh) | 2022-11-15 |
Family
ID=82522296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210745744.0A Active CN114820954B (zh) | 2022-06-29 | 2022-06-29 | 三维重建方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114820954B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08131429A (ja) * | 1994-11-11 | 1996-05-28 | Toshiba Corp | 管状体像再生方法およびその装置 |
US8483488B2 (en) * | 2009-08-07 | 2013-07-09 | Medinol Ltd. | Method and system for stabilizing a series of intravascular ultrasound images and extracting vessel lumen from the images |
CN112991479B (zh) * | 2021-03-05 | 2023-08-08 | 深圳英美达医疗技术有限公司 | 一种超声三维扫描图像重建方法及重建系统 |
CN113112588A (zh) * | 2021-04-07 | 2021-07-13 | 中国电建集团贵州电力设计研究院有限公司 | 基于rgb-d深度相机重建的地下管井三维可视化方法 |
CN113223174B (zh) * | 2021-05-12 | 2023-03-24 | 武汉中仪物联技术股份有限公司 | 基于横断面的管道内部漫游方法和系统 |
CN113487490A (zh) * | 2021-05-24 | 2021-10-08 | 深圳亦芯智能视觉技术有限公司 | 一种立体视觉成像检测管道内部缺陷的方法及装置 |
CN114119867A (zh) * | 2021-11-16 | 2022-03-01 | 武汉中仪物联技术股份有限公司 | 三维模型构建方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-29 CN CN202210745744.0A patent/CN114820954B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114820954A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114756383B (zh) | 一种分布式计算方法、系统、设备及存储介质 | |
CN102298795B (zh) | 一种快速成型工艺中零件的stl三角网格模型的三维分段方法 | |
CN107622530B (zh) | 一种高效鲁棒的三角网切割方法 | |
CN104792274A (zh) | 一种圆形隧道收敛变形的测量方法 | |
US9824494B2 (en) | Hybrid surfaces for mesh repair | |
CN103294421A (zh) | 三维复印装置 | |
CN110084894B (zh) | 三维模型的局部放大展示方法、装置与电子设备 | |
CN114332291A (zh) | 一种倾斜摄影模型建筑物外轮廓规则提取方法 | |
CN113715338B (zh) | 三维模型的切片方法、打印方法及相关设备 | |
CN113723715A (zh) | 公交线网自动匹配道路网络方法、系统、设备及存储介质 | |
CN114427866A (zh) | 路径规划方法、电子设备以及存储介质 | |
CN114820954B (zh) | 三维重建方法、装置、电子设备及存储介质 | |
WO2017107866A1 (zh) | 图像检索服务器、系统、相关检索及排错方法 | |
CN113420004A (zh) | 隧道点云数据的存储方法、装置、计算机设备及存储介质 | |
CN111008429B (zh) | 一种基于点云的异构cad几何一致性对比方法 | |
CN115330971B (zh) | 一种面向渲染性能优化的几何模型轻量化方法 | |
CN111680376B (zh) | 线要素构建多边形的方法、装置及系统 | |
CN115424133A (zh) | 一种车道级高精度可计算路网构建方法、装置及电子设备 | |
CN115481268A (zh) | 一种平行线墙体数据识别方法、装置、设备及存储介质 | |
Tushev et al. | Effective graph-based point matching algorithms | |
CN113223179A (zh) | 管道选定线路长度的确定方法和装置 | |
KR100965843B1 (ko) | 레이저 점으로 이루어진 객체들의 최 외곽 벡터 추출 방법 | |
CN109558630B (zh) | 一种适用于地下空间的三维自动建模方法 | |
CN110223385A (zh) | 一种包含交汇点的路渠网络的三维模型构建方法及装置 | |
CN117197410B (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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: 3D reconstruction methods, devices, electronic devices, and storage media Granted publication date: 20221115 Pledgee: Guanggu Branch of Wuhan Rural Commercial Bank Co.,Ltd. Pledgor: WUHAN EASY-SIGHT TECHNOLOGY Co.,Ltd. Registration number: Y2024980005423 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |