CN117252993A - 特征点提取算法的验证方法、装置、电子设备及存储介质 - Google Patents
特征点提取算法的验证方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117252993A CN117252993A CN202311524007.9A CN202311524007A CN117252993A CN 117252993 A CN117252993 A CN 117252993A CN 202311524007 A CN202311524007 A CN 202311524007A CN 117252993 A CN117252993 A CN 117252993A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- model
- workpiece
- extraction algorithm
- feature
- 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.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 70
- 238000000605 extraction Methods 0.000 title claims abstract description 67
- 238000012795 verification Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000013461 design Methods 0.000 claims abstract description 34
- 239000007787 solid Substances 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims abstract description 24
- 230000009467 reduction Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000005520 cutting process Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect 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
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- 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)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Architecture (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种特征点提取算法的验证方法、装置、电子设备及存储介质。该方法包括:根据工件的设计尺寸,构建工件的实体模型;响应于用户的第一操作,将实体模型转化为点云模型,并为点云模型添加噪声,得到标准点云模型;采用预设的特征点提取算法对标准点云模型进行特征点提取,得到各特征点坐标;根据各特征点坐标,确定工件的特征尺寸,并根据特征尺寸和设计尺寸确定预设的特征点提取算法的计算误差。本发明能够有效验证特征提取算法的准确性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种特征点提取算法的验证方法、装置、电子设备及存储介质。
背景技术
在工件的加工过程中,由于工人操作失误以及环境因素等原因,使得工件的设计尺寸和实际尺寸之间存在制造误差。通过对工件进行特征点提取,可以确定工件的实际尺寸,进而确定工件的制造误差结果。
然而,进行特征点提取时所采用的特征点提取算法的计算精度以及工件自身的制造误差,都会影响最终所确定的制造误差结果。为避免因特征点提取算法自身的计算精度,而影响最终的制造误差结果,可以预先对特征点提取算法的计算精度进行验证。而现有技术中,尚未存在有效的验证方法。
发明内容
本发明实施例提供了一种特征点提取算法的验证方法、装置、电子设备及存储介质,以解决无法确定特征点提取算法的准确性,从而影响工件的制造误差结果的问题。
第一方面,本发明实施例提供了一种特征点提取算法的验证方法,包括:
根据工件的设计尺寸,构建所述工件的实体模型;
响应于用户的第一操作,将所述实体模型转化为点云模型,并为所述点云模型添加噪声,得到标准点云模型;
采用预设的特征点提取算法对所述标准点云模型进行特征点提取,得到各特征点坐标;
根据各特征点坐标,确定所述工件的特征尺寸,并根据所述特征尺寸和所述设计尺寸确定所述预设的特征点提取算法的计算误差。
在一种可能的实现方式中,为所述点云模型添加噪声,得到标准点云模型,包括:
生成符合高斯分布的随机数,并将所述随机数分别对应添加至所述点云模型中的各点云数据中,得到标准点云模型。
在一种可能的实现方式中,所述根据工件的设计尺寸,构建所述工件的实体模型,包括:
根据工件的设计尺寸,构建工件理论模型;所述工件理论模型包括杆件结构模型和端头结构模型;
对所述工件理论模型中的端头结构模型进行剖切,得到所述实体模型;所述实体模型包括所述端头结构模型。
在一种可能的实现方式中,所述采用预设的特征点提取算法对所述标准点云模型进行特征点提取,得到各特征点坐标,包括:
对所述标准点云模型进行降噪处理,得到降噪点云模型;
对所述降噪点云模型中的所有点云数据进行聚类分割,得到至少一个端头点云簇;
分别针对各端头点云簇进行平面方程拟合,对应得到多个平面方程;
从所述多个平面方程中,筛选出平面互不平行的方程组,并分别对所述方程组进行求解,对应得到各特征点坐标。
在一种可能的实现方式中,所述分别针对各端头点云簇进行平面方程拟合,对应得到多个平面方程,包括:
针对每一个端头点云簇,对该端头点云簇进行平面聚类分割,得到多个平面点云簇;
分别对各平面点云簇进行平面方程拟合,得到多个平面方程。
在一种可能的实现方式中,所述从所述多个平面方程中,筛选出平面互不平行的方程组,包括:
针对每一个端头点云簇,按照每3个平面方程为一组的原则,将该端头点云簇所对应的所有平面方程进行组合,形成多个方程组;
根据所述多个方程组,对应生成多个矩阵,并分别计算得到各矩阵的秩;
将秩小于0的矩阵所对应的方程组,确定为平面互不平行的方程组。
在一种可能的实现方式中,所述平面方程的数学表达式为:AX+BY+CZ=D;其中,A表示第一系数,B表示第二系数,C表示第三系数,D表示第四系数,X、Y和Z用于表示当前平面上的任一点云数据的坐标值;
所述根据所述多个方程组,对应生成多个矩阵,包括:
针对每一个方程组,获取该方程组中各平面方程中的第一系数、第二系数、第三系数和第四系数;
所述第一系数、所述第二系数、所述第三系数和所述第四系数,构成与该方程组对应的矩阵。
第二方面,本发明实施例提供了一种特征点提取算法的验证装置,包括:
建模模块,用于根据工件的设计尺寸,构建所述工件的实体模型;
转化模块,用于响应于用户的第一操作,将所述实体模型转化为点云模型,并为所述点云模型添加噪声,得到标准点云模型;
验证模块,用于采用预设的特征点提取算法对所述标准点云模型进行特征点提取,得到各特征点坐标;
所述验证模块,还用于根据各特征点坐标,确定所述工件的特征尺寸,并根据所述特征尺寸和所述设计尺寸确定所述预设的特征点提取算法的计算误差。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面或第一方面的任一种可能的实现方式所述方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面或第一方面的任一种可能的实现方式所述方法的步骤。
本发明实施例提供一种特征点提取算法的验证方法、装置、电子设备及存储介质,通过根据工件的设计尺寸构建实体模型,并转化为点云模型,用于模拟基于实际工件进行点云扫描后所构建的实际点云模型,可以有效消除实际工件的制造误差对于特征点提取算法的计算精度的影响,有效确定特征点提取算法的计算误差。同时,通过对点云模型添加噪声,用于模拟对实际工件进行点云扫描时,所采用的扫描设备的精度和稳定性,以及环境中的随机干扰,从而使得标准点云模型能够更贴近于实际点云模型,进一步提升验证结果的可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的特征点提取算法的验证方法的实现流程图;
图2是本发明实施例提供的轮廓模型的示意图;
图3是本发明实施例提供的工件理论模型的示意图;
图4是本发明实施例提供的实体模型的示意图;
图5是本发明实施例提供的点云模型的示意图;
图6是本发明实施例提供的对标准点云模型进行特征点提取的实现流程图;
图7是本发明实施例提供的端头点云簇的示意图;
图8是本发明实施例提供的分割端头点云簇的示意图;
图9是本发明实施例提供的特征点提取算法的验证装置的结构示意图;
图10是本发明实施例提供的电子设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。
图1为本发明实施例提供的特征点提取算法的验证方法的实现流程图,详述如下:
步骤101,根据工件的设计尺寸,构建工件的实体模型。
在验证特征点提取算法的计算精度的过程中,为避免实际工件的制造误差,影响验证结果。可以根据工件设计尺寸,构建工件的实体模型。并基于该实体模型进行后续的特征点提取工作,以验证特征点提取算法的计算精度。通过采用CAD软件,可以构建得到工件的实体模型。
在一些实施例中,步骤101可以包括:
根据工件的设计尺寸,构建工件理论模型。工件理论模型包括杆件结构模型和端头结构模型。
对工件理论模型中的端头结构模型进行剖切,得到实体模型。实体模型包括端头结构模型。
一并参见图2和图3,在构建工件理论模型时,首先根据工件的设计尺寸,构建工件的轮廓模型;再对该轮廓模型中的边线进行放样,并对螺栓孔进行布尔运算,得到工件理论模型。其中,工件通常包括杆件结构和端头结构。相对应地,工件理论模型包括杆件结构模型和端头结构模型。
本发明实施例考虑到对实际工件进行特征点提取时,通常只针对工件的端头结构进行特征点提取。由此,本发明实施例对工件理论模型中的端头结构模型进行剖切提取,得到实体模型。参见图4,图4示出了实体模型的示意图。
通过对端头结构模型进行剖切提取,可以使最终得到的实体模型更贴近于实际工件。
需要说明的是,图2至图4仅作为示例性附图,以箱型的标准工件为例,示出了该标准工件的轮廓模型、工件理论模型和实体模型。但这并不作为对工件结构或形状的具体限定。
步骤102,响应于用户的第一操作,将实体模型转化为点云模型,并为点云模型添加噪声,得到标准点云模型。
将实体模型导入点云处理软件中,并利用软件中的“点云化”功能,可以将实体模型转化为点云模型。示例性地,点云处理软件可以是CloudCompare软件。
在将实体模型转化为点云模型之前,可以预先将实体模型转化为stl格式的文件,再将其导入CloudCompare软件中。用户可自行在CloudCompare软件中设置点云密度和采样参数等。参见图5,响应于用户所设置的点云密度和采样参数,可以将实体模型转化为点云模型。点云模型由多个点云数据点构成。
点云模型由工件的设计尺寸而生成,与工程实际有所偏差。为更贴近于工程实际,可以在点云模型中添加噪声。通过添加噪声而得到的标准点云模型更贴近于工程实际,可以代替实际工件,用于验证特征点提取算法的计算精度。
在一些实施例中,为点云模型添加噪声,得到标准点云模型,包括:
生成符合高斯分布的随机数,并将随机数分别对应添加至点云模型中的各点云数据中,得到标准点云模型。
高斯噪声是一种随机噪声。高斯噪声服从高斯分布。通过设置高斯分布的均值和方差,可以生成符合高斯分布的随机数。将这些随机数对应添加至点云模型的各点云数据中,得到包含高斯噪声的标准点云模型。在将随机数对应添加至各点云数据中时,可以将随机数直接累加至各点云数据的坐标值中。
通过在点云模型中添加高斯噪声,可以模拟对实际工件进行点云扫描时,所采用的扫描设备的精度和稳定性,以及环境中的随机干扰。通过添加高斯噪声可以使得标准点云模型,更贴近于基于实际工件的点云扫描结果所构建的实际点云模型。
步骤103,采用预设的特征点提取算法对标准点云模型进行特征点提取,得到各特征点坐标。
标准点云模型用于模拟基于实际工件的点云扫描结果所构建的实际点云模型。但与实际点云模型有所区别的是,标准点云模型是基于工件的设计尺寸建立的,不存在制造误差。通过该标准点云模型进行特征点提取算法的计算精度进行验证,可以有效保证验证结果的精准性,以避免实际工件的制造误差对于验证结果造成影响。
在一些实施例中,参见图6,步骤103可以包括:
步骤301,对标准点云模型进行降噪处理,得到降噪点云模型。
通过高斯滤波器可以对标准点云模型进行降噪处理,得到降噪点云模型。
步骤302,对降噪点云模型中的所有点云数据进行聚类分割,得到至少一个端头点云簇。
实体模型包含至少一个端头结构模型。相应地,降噪点云模型中包含至少一个端头点云模型。对端头结构模型进行点云化,并添加高斯噪声,即可得到端头点云模型。也就是说,降噪点云模型中的所有点云数据是各端头点云模型所对应的点云数据的集合。通过对所有点云数据进行聚类分割,可以将各端头点云模型所对应的点云数据进行分割,每一个端头点云模型所对应的点云数据构成一个端头点云簇。
在对点云数据进行聚类分割时,可以采用欧式聚类算法。在采用欧式聚类算法进行聚类分割时,可以预先根据杆件结构的尺寸和降噪点云模型中的点云数据的数量,设置搜索半径和各端头点云簇的点云数据的数量范围。
从所有点云数据中任选一个点云数据,分别计算其他各点云数据与该点云数据之间的距离,当距离小于搜索半径时,则确定为是同一端头点云簇,直到搜索半径内找不到其他点云数据或者当前端头点云簇中的点云数据数量达到数量范围的上限值时,得到一个完整的端头点云簇。以此类推,迭代其他点云数据,最终将点云数据划分为多个端头点云簇。参见图7,针对图6中的标准点云模型进行聚类分割,可以得到两个端头点云簇。
可以理解的是,搜索半径可以大于0且小于杆件结构的长度,各端头点云簇的点云数据数量之和小于或等于整个降噪点云模型中的点云数据的数量。
示例性地,当杆件结构的长度为10m时,可以将搜索半径设置为5m。当整个降噪点云模型中的点云数据的数量为1000000时,为过滤掉噪声点和孤立点,同时保留主要的端头点云簇,可以将各端头点云簇的点云数据的数量范围设置为2000-80000。
步骤303,分别针对各端头点云簇进行平面方程拟合,对应得到多个平面方程。
端头结构模型中包含多个平面。相应地,各端头点云簇中的点云数据可以拟合形成多个平面方程,以表示各端头结构模型中的各平面。
在一些实施例中,步骤303可以包括:
针对每一个端头点云簇,对该端头点云簇进行平面聚类分割,得到多个平面点云簇。
分别对各平面点云簇进行平面方程拟合,得到多个平面方程。
在对各端头点云簇中的点云数据进行平面方程拟合时,可以预先对各端头点云簇进行平面聚类分割。也就是,按照当前端头点云模型中的平面,将当前端头点云簇中的所有点云数据聚类分割为多个平面点云簇。每一个平面点云簇中包含一个平面上的所有点云数据。在对各端头点云簇进行平面聚类分割时,可以采用区域生长算法。利用区域生长算法可以将相似性质的点云数据合并到一起,并不断向外生长,直到将所有相似性质的点云数据合并,形成一个区域。最终可以将端头点云簇中的所有点云数据分割成不同的区域,即,分割形成不同的平面。
示例性地,参见图8,端头点云模型外表面包括6个平面,内壁包括4个平面,共计10个平面。由于与杆件结构模型连接位置处的平面,是由于对端头结构模型进行剖切所产生的,而实际工件中并不存在该平面。由此,端头点云模型中包含9个平面。相应地,按照区域生长算法,可以将端头点云簇聚类分割为9个平面点云簇。
每一个平面点云簇中的点云数据构成一个平面。对这些点云数据进行拟合可以得到该平面所对应的平面方程。在对点云数据进行平面拟合时可以采用随机一致性(RANdomSAmple Consensus,RANSAC)算法。用户也可采用其他算法进行平面方程拟合,本发明实施例对此不做具体限定。
示例性地,参见表1,表1示出了图8中各平面对应的平面方程的系数表。
表1 平面方程的系数表
平面方程的数学表达式为:AX+BY+CZ=D;其中,A表示第一系数,B表示第二系数,C表示第三系数,D表示第四系数。X、Y和Z用于表示当前平面上的任一点云数据的坐标值。根据表1所示出的各平面方程的系数,可以对应得到各平面方程。
步骤304,从多个平面方程中,筛选出平面互不平行的方程组,并分别对方程组进行求解,对应得到各特征点坐标。
实质上,特征点就是端头点云模型中的边角点。示例性地,参见图8,端头点云模型中包含8个边角点,即,8个特征点。每一个特征点可以由三个互不平行的平面共同确定。通过求解三个平面互不平行的平面方程的交点,即可得到特征点的坐标值。
在一些实施例中,步骤304可以包括:
针对每一个端头点云簇,按照每3个平面方程为一组的原则,将该端头点云簇所对应的所有平面方程进行组合,形成多个方程组。
根据多个方程组,对应生成多个矩阵,并分别计算得到各矩阵的秩。
将秩小于0的矩阵所对应的方程组,确定为平面互不平行的方程组。
在筛选平面互不平行的方程组时,可以按照每3个平面方程为一组的原则,遍历每一个平面方程,组建方程组,从而形成多个方程组。
在一些实施例中,根据多个方程组,对应生成多个矩阵,包括:
针对每一个方程组,获取该方程组中各平面方程中的第一系数、第二系数、第三系数和第四系数;
第一系数、第二系数、第三系数和第四系数,构成与该方程组对应的矩阵。
根据组建的方程组中的第一系数、第二系数和第三系数,可以对应生成多个矩阵。分别计算各矩阵的秩,秩小于0的矩阵所对应的方程组,即为平面互不平行的方程组。
相比于现有技术中只能提取单个特征点的特征点提取算法来说,本发明实施例所提供的特征点提取算法,通过聚类分割和平面聚类分割可以对大体量点云数据进行集中处理,尤其是针对复杂结构工件,可以有效提升点云处理效率;并且,通过计算对应矩阵的秩,可以从大批量的平面方程中,筛选出平面互不平行的方程组,进而集中求解得到各特征点坐标,可以有效提升特征点提取效率。同时,还可以保持较高的计算精度。
步骤104,根据各特征点坐标,确定工件的特征尺寸,并根据特征尺寸和设计尺寸确定预设的特征点提取算法的计算误差。
通过求解各平面互不平行的方程组,可以得到各特征点的坐标值。参见图8,每一个端头点云模型中包含8个特征点,对应求解到8个特征点坐标。本发明实施例中共包含2个端头点云模型,共计16个特征点。示例性地,本发明实施例示出了一个端头点云模型中的各特征点的坐标值。具体参见表2。
表2 特征点的坐标值表
各特征点坐标值,可以对应展示至图7的端头点云模型中。将各特征点坐标带入距离公式,可以对应计算得到工件的特征尺寸。距离公式可以表示为:
;其中,/>表示两特征点之间的距离,表示一个特征点的坐标值,/>表示另一个特征点的坐标值。
根据上述,特征点实质就是工件的边角点。通过计算同一边线上的两特征点之间的距离,即可得到工件的边线长度。工件的各边线长度即为工件的特征尺寸。
根据特征尺寸和设计尺寸,可以对应确定上述特征点提取算法的计算误差。在确定特征点提取算法的计算误差时,可以计算特征尺寸与设计尺寸之间的差值,该差值即为计算误差。将计算误差与设计尺寸的商,确定为误差占比。
具体参见表3,表3示出了特征尺寸与设计尺寸之间的误差及误差占比。
表3 特征尺寸与设计尺寸之间的误差及误差占比表
根据表3,上述特征点提取算法的误差占比的最大值为0.59%。可以满足实际工程需要。
本发明实施例的有益效果在于:根据工件的设计尺寸构建实体模型,并转化为点云模型,用于模拟基于实际工件进行点云扫描后所构建的实际点云模型,可以有效消除实际工件的制造误差对于特征点提取算法的计算精度的影响,有效确定特征点提取算法的计算误差。同时,通过对点云模型添加噪声,用于模拟对实际工件进行点云扫描时,所采用的扫描设备的精度和稳定性,以及环境中的随机干扰,从而使得标准点云模型能够更贴近于实际点云模型,进一步提升算法验证结果的可靠性。
另外,本发明实施例还提供了一种特征点提取算法,通过对点云数据依次进行聚类分割和平面聚类分割,可以对不同平面上的点云数据进行分割提取,进而拟合得到各平面方程,并通过计算对应矩阵的秩,筛选出平面互不平行的方程组,从而求解得到各特征点坐标。一方面,通过聚类分割和平面聚类分割可以对大体量点云数据进行集中处理,尤其是针对复杂结构工件,可以有效提升处理效率;另一方面,通过计算对应矩阵的秩,可以从大批量的平面方程中,筛选出平面互不平行的方程组,进而集中求解得到各特征点坐标,可以有效提升特征点提取效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
图9示出了本发明实施例提供的特征点提取算法的验证装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
如图9所示,特征点提取算法的验证装置9包括:建模模块91、转化模块92和验证模块93。
建模模块91,用于根据工件的设计尺寸,构建工件的实体模型;
转化模块92,用于响应于用户的第一操作,将实体模型转化为点云模型,并为点云模型添加噪声,得到标准点云模型;
验证模块93,用于采用预设的特征点提取算法对标准点云模型进行特征点提取,得到各特征点坐标;
验证模块93,还用于根据各特征点坐标,确定工件的特征尺寸,并根据特征尺寸和设计尺寸确定预设的特征点提取算法的计算误差。
在一种可能的实现方式中,转化模块92,用于生成符合高斯分布的随机数,并将随机数分别对应添加至点云模型中的各点云数据中,得到标准点云模型。
在一种可能的实现方式中,建模模块91,用于根据工件的设计尺寸,构建工件理论模型;工件理论模型包括杆件结构模型和端头结构模型;
建模模块91,还用于对工件理论模型中的端头结构模型进行剖切,得到实体模型;实体模型包括端头结构模型。
在一种可能的实现方式中,验证模块93,还用于对标准点云模型进行降噪处理,得到降噪点云模型;
验证模块93,还用于对降噪点云模型中的所有点云数据进行聚类分割,得到至少一个端头点云簇;
验证模块93,还用于分别针对各端头点云簇进行平面方程拟合,对应得到多个平面方程;
验证模块93,还用于从多个平面方程中,筛选出平面互不平行的方程组,并分别对方程组进行求解,对应得到各特征点坐标。
在一种可能的实现方式中,验证模块93,用于针对每一个端头点云簇,对该端头点云簇进行平面聚类分割,得到多个平面点云簇;
验证模块93,还用于分别对各平面点云簇进行平面方程拟合,得到多个平面方程。
在一种可能的实现方式中,验证模块93,用于针对每一个端头点云簇,按照每3个平面方程为一组的原则,将该端头点云簇所对应的所有平面方程进行组合,形成多个方程组;
验证模块93,还用于根据所述多个方程组,对应生成多个矩阵,并分别计算得到各矩阵的秩;
验证模块93,还用于将秩小于0的矩阵所对应的方程组,确定为平面互不平行的方程组。
在一种可能的实现方式中,平面方程的数学表达式为:AX+BY+CZ=D;其中,A表示第一系数,B表示第二系数,C表示第三系数,D表示第四系数,X、Y和Z用于表示当前平面上的任一点云数据的坐标值;
验证模块93,用于针对每一个方程组,获取该方程组中各平面方程中的第一系数、第二系数、第三系数和第四系数;
第一系数、第二系数、第三系数和第四系数,构成与该方程组对应的矩阵。
本发明实施例中的建模模块91根据工件的设计尺寸构建实体模型,并由转化模块92将其转化为点云模型,用于模拟基于实际工件进行点云扫描后所构建的实际点云模型,可以有效消除实际工件的制造误差对于特征点提取算法的计算精度的影响,有效确定特征点提取算法的计算误差。同时,转化模块92通过对点云模型添加噪声,用于模拟对实际工件进行点云扫描时,所采用的扫描设备的精度和稳定性,以及环境中的随机干扰,从而使得标准点云模型能够更贴近于实际点云模型,进一步提升算法验证结果的可靠性。
另外,本发明实施例还提供了一种特征点提取算法,验证模块93通过对点云数据依次进行聚类分割和平面聚类分割,可以对不同平面上的点云数据进行分割提取,进而拟合得到各平面方程,并通过计算对应矩阵的秩,筛选出平面互不平行的方程组,从而求解得到各特征点坐标。一方面,验证模块93通过聚类分割和平面聚类分割可以对大体量点云数据进行集中处理,尤其是针对复杂结构工件,可以有效提升处理效率;另一方面,验证模块93通过计算对应矩阵的秩,可以从大批量的平面方程中,筛选出平面互不平行的方程组,进而集中求解得到各特征点坐标,可以有效提升特征点提取效率。
图10是本发明实施例提供的电子设备的示意图。如图10所示,该实施例的电子设备10包括:处理器1000、存储器1001以及存储在所述存储器1001中并可在所述处理器1000上运行的计算机程序1002。所述处理器1000执行所述计算机程序1002时实现上述各个特征点提取算法的验证方法实施例中的步骤,例如图1所示的步骤101至步骤104。或者,所述处理器1000执行所述计算机程序1002时实现上述各装置实施例中各模块/单元的功能,例如图9所示模块91至93的功能。
示例性的,所述计算机程序1002可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器1001中,并由所述处理器1000执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序1002在所述电子设备10中的执行过程。例如,所述计算机程序1002可以被分割成图9所示的模块91至93。
所述电子设备10可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备10可包括,但不仅限于,处理器1000、存储器1001。本领域技术人员可以理解,图10仅仅是电子设备10的示例,并不构成对电子设备10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器1000可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1001可以是所述电子设备10的内部存储单元,例如电子设备10的硬盘或内存。所述存储器1001也可以是所述电子设备10的外部存储设备,例如所述电子设备10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器1001还可以既包括所述电子设备10的内部存储单元也包括外部存储设备。所述存储器1001用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器1001还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个特征点提取算法的验证方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种特征点提取算法的验证方法,其特征在于,包括:
根据工件的设计尺寸,构建所述工件的实体模型;
响应于用户的第一操作,将所述实体模型转化为点云模型,并为所述点云模型添加噪声,得到标准点云模型;
采用预设的特征点提取算法对所述标准点云模型进行特征点提取,得到各特征点坐标,包括:对所述标准点云模型进行降噪处理,得到降噪点云模型;对所述降噪点云模型中的所有点云数据进行聚类分割,得到至少一个端头点云簇;分别针对各端头点云簇进行平面方程拟合,对应得到多个平面方程;从所述多个平面方程中,筛选出平面互不平行的方程组,并分别对所述方程组进行求解,对应得到各特征点坐标;
根据各特征点坐标,确定所述工件的特征尺寸,并根据所述特征尺寸和所述设计尺寸确定所述预设的特征点提取算法的计算误差。
2.根据权利要求1所述的特征点提取算法的验证方法,其特征在于,为所述点云模型添加噪声,得到标准点云模型,包括:
生成符合高斯分布的随机数,并将所述随机数分别对应添加至所述点云模型中的各点云数据中,得到标准点云模型。
3.根据权利要求1所述的特征点提取算法的验证方法,其特征在于,所述根据工件的设计尺寸,构建所述工件的实体模型,包括:
根据工件的设计尺寸,构建工件理论模型;所述工件理论模型包括杆件结构模型和端头结构模型;
对所述工件理论模型中的端头结构模型进行剖切,得到所述实体模型;所述实体模型包括所述端头结构模型。
4.根据权利要求1所述的特征点提取算法的验证方法,其特征在于,所述分别针对各端头点云簇进行平面方程拟合,对应得到多个平面方程,包括:
针对每一个端头点云簇,对该端头点云簇进行平面聚类分割,得到多个平面点云簇;
分别对各平面点云簇进行平面方程拟合,得到多个平面方程。
5.根据权利要求1所述的特征点提取算法的验证方法,其特征在于,所述从所述多个平面方程中,筛选出平面互不平行的方程组,包括:
针对每一个端头点云簇,按照每3个平面方程为一组的原则,将该端头点云簇所对应的所有平面方程进行组合,形成多个方程组;
根据所述多个方程组,对应生成多个矩阵,并分别计算得到各矩阵的秩;
将秩小于0的矩阵所对应的方程组,确定为平面互不平行的方程组。
6.根据权利要求5所述的特征点提取算法的验证方法,其特征在于,所述平面方程的数学表达式为:AX+BY+CZ=D;其中,A表示第一系数,B表示第二系数,C表示第三系数,D表示第四系数,X、Y和Z用于表示当前平面上的任一点云数据的坐标值;
所述根据所述多个方程组,对应生成多个矩阵,包括:
针对每一个方程组,获取该方程组中各平面方程中的第一系数、第二系数、第三系数和第四系数;
所述第一系数、所述第二系数、所述第三系数和所述第四系数,构成与该方程组对应的矩阵。
7.一种特征点提取算法的验证装置,其特征在于,包括:
建模模块,用于根据工件的设计尺寸,构建所述工件的实体模型;
转化模块,用于响应于用户的第一操作,将所述实体模型转化为点云模型,并为所述点云模型添加噪声,得到标准点云模型;
验证模块,用于采用预设的特征点提取算法对所述标准点云模型进行特征点提取,得到各特征点坐标,包括:对所述标准点云模型进行降噪处理,得到降噪点云模型;对所述降噪点云模型中的所有点云数据进行聚类分割,得到至少一个端头点云簇;分别针对各端头点云簇进行平面方程拟合,对应得到多个平面方程;从所述多个平面方程中,筛选出平面互不平行的方程组,并分别对所述方程组进行求解,对应得到各特征点坐标;
所述验证模块,还用于根据各特征点坐标,确定所述工件的特征尺寸,并根据所述特征尺寸和所述设计尺寸确定所述预设的特征点提取算法的计算误差。
8.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上的权利要求1至6中任一项所述特征点提取算法的验证方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上的权利要求1至6中任一项所述特征点提取算法的验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311524007.9A CN117252993B (zh) | 2023-11-16 | 2023-11-16 | 特征点提取算法的验证方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311524007.9A CN117252993B (zh) | 2023-11-16 | 2023-11-16 | 特征点提取算法的验证方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117252993A true CN117252993A (zh) | 2023-12-19 |
CN117252993B CN117252993B (zh) | 2024-03-26 |
Family
ID=89131673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311524007.9A Active CN117252993B (zh) | 2023-11-16 | 2023-11-16 | 特征点提取算法的验证方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117252993B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103075973A (zh) * | 2012-12-31 | 2013-05-01 | 吉林大学 | 车身缝隙尺寸非接触在线检测方法 |
CN105354883A (zh) * | 2015-11-25 | 2016-02-24 | 武汉大学 | 基于点云的3ds Max快速精细三维建模方法及系统 |
CN109737874A (zh) * | 2019-01-17 | 2019-05-10 | 广东省智能制造研究所 | 基于三维视觉技术的物体尺寸测量方法及装置 |
CN113012238A (zh) * | 2021-04-09 | 2021-06-22 | 南京星顿医疗科技有限公司 | 一种多深度相机快速标定与数据融合的方法 |
CN113042939A (zh) * | 2021-03-22 | 2021-06-29 | 山东大学 | 基于三维视觉信息的工件焊缝定位方法及系统 |
CN113587835A (zh) * | 2021-07-22 | 2021-11-02 | 河北工业大学 | 一种利用三维激光扫描技术进行桥梁工程质量验收的方法 |
CN115578457A (zh) * | 2022-10-25 | 2023-01-06 | 苏州中科行智智能科技有限公司 | 一种应用于无序抓取的动态箱体检测方法 |
CN116592776A (zh) * | 2023-07-19 | 2023-08-15 | 浙江视觉智能创新中心有限公司 | 一种基于三维点云的管径尺寸检测方法、装置及电子设备 |
WO2023173506A1 (zh) * | 2022-03-16 | 2023-09-21 | 江苏大学 | 基于水弹折纸衍生结构拟合广义圆柱体曲面的建模方法 |
-
2023
- 2023-11-16 CN CN202311524007.9A patent/CN117252993B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103075973A (zh) * | 2012-12-31 | 2013-05-01 | 吉林大学 | 车身缝隙尺寸非接触在线检测方法 |
CN105354883A (zh) * | 2015-11-25 | 2016-02-24 | 武汉大学 | 基于点云的3ds Max快速精细三维建模方法及系统 |
CN109737874A (zh) * | 2019-01-17 | 2019-05-10 | 广东省智能制造研究所 | 基于三维视觉技术的物体尺寸测量方法及装置 |
CN113042939A (zh) * | 2021-03-22 | 2021-06-29 | 山东大学 | 基于三维视觉信息的工件焊缝定位方法及系统 |
CN113012238A (zh) * | 2021-04-09 | 2021-06-22 | 南京星顿医疗科技有限公司 | 一种多深度相机快速标定与数据融合的方法 |
CN113587835A (zh) * | 2021-07-22 | 2021-11-02 | 河北工业大学 | 一种利用三维激光扫描技术进行桥梁工程质量验收的方法 |
WO2023173506A1 (zh) * | 2022-03-16 | 2023-09-21 | 江苏大学 | 基于水弹折纸衍生结构拟合广义圆柱体曲面的建模方法 |
CN115578457A (zh) * | 2022-10-25 | 2023-01-06 | 苏州中科行智智能科技有限公司 | 一种应用于无序抓取的动态箱体检测方法 |
CN116592776A (zh) * | 2023-07-19 | 2023-08-15 | 浙江视觉智能创新中心有限公司 | 一种基于三维点云的管径尺寸检测方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
GUIFANG ZHANG ET AL.: "3D curvature grinding path planning based on point cloud data", 《2016 12TH IEEE/ASME INTERNATIONAL CONFERENCE ON MECHATRONIC AND EMBEDDED SYSTEMS AND APPLICATIONS (MESA)》, pages 1 - 6 * |
王丽辉;袁保宗;: "三维散乱点云模型的特征点检测", 《信号处理》, vol. 27, no. 06, pages 932 - 938 * |
Also Published As
Publication number | Publication date |
---|---|
CN117252993B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4893148B2 (ja) | 形状簡略化装置及びそれに用いられるプログラム | |
CN110163863B (zh) | 三维物体分割方法、设备和介质 | |
US10019649B2 (en) | Point cloud simplification | |
CN113724401B (zh) | 一种三维模型切割方法、装置、计算机设备和存储介质 | |
CN114694139B (zh) | 一种数控机床复杂结构件加工特征识别方法及系统 | |
US10943037B2 (en) | Generating a CAD model from a finite element mesh | |
CN116227209A (zh) | 一种点云数据多维线性差值方法、终端设备及存储介质 | |
CN114676522A (zh) | 融合gan和迁移学习的气动形状优化设计方法及系统及设备 | |
CN116738920B (zh) | 一种三维几何内核的芯片3d设计方法及系统 | |
CN117252993B (zh) | 特征点提取算法的验证方法、装置、电子设备及存储介质 | |
CN110910463B (zh) | 全视角点云数据定长有序化编码方法、设备及存储介质 | |
CN116186864B (zh) | 一种基于bim技术的深基坑模型快速建模方法及系统 | |
CN110532670B (zh) | 一种适分析样条实体模型构建方法及系统 | |
CN115330971B (zh) | 一种面向渲染性能优化的几何模型轻量化方法 | |
CN114972695A (zh) | 一种点云生成方法、装置、电子设备及存储介质 | |
CN114463512B (zh) | 点云数据的处理方法、矢量化方法及装置 | |
CN112256054B (zh) | 一种无人机轨迹规划方法及装置 | |
US10042962B2 (en) | Mid-surface extraction for finite element analysis | |
CN110837707B (zh) | 一种有限元分析系统、方法、计算机设备及存储介质 | |
CN106251401A (zh) | 一种六面体二十节点单元网格的生成系统及方法 | |
Cipriani et al. | Topology-based goodness-of-fit tests for sliced spatial data | |
CN117422610B (zh) | 一种三维模型轻量化方法、装置及电子设备 | |
KR101811135B1 (ko) | 최적 정밀도 결정을 통한 모델 단순화 장치 및 방법 | |
US10083531B2 (en) | Physical quantity distribution calculation program, physical quantity distribution calculation method, and information processing apparatus | |
CN116227308B (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 |