CN117495785A - 一种基于点云数据的产品检测方法及装置 - Google Patents
一种基于点云数据的产品检测方法及装置 Download PDFInfo
- Publication number
- CN117495785A CN117495785A CN202311349741.6A CN202311349741A CN117495785A CN 117495785 A CN117495785 A CN 117495785A CN 202311349741 A CN202311349741 A CN 202311349741A CN 117495785 A CN117495785 A CN 117495785A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud data
- subspace
- target
- calculating
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 95
- 239000011159 matrix material Substances 0.000 claims abstract description 155
- 238000012545 processing Methods 0.000 claims abstract description 21
- 239000013598 vector Substances 0.000 claims description 106
- 238000012216 screening Methods 0.000 claims description 42
- 238000000034 method Methods 0.000 claims description 34
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000013519 translation Methods 0.000 claims description 9
- 238000000354 decomposition reaction Methods 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000009877 rendering Methods 0.000 claims description 5
- 238000000513 principal component analysis Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 31
- 238000004590 computer program Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction 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
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification 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/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- 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/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- 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/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本申请适用于数据处理的技术领域,提供了一种基于点云数据的产品检测方法及装置,所述一种基于点云数据的产品检测方法,通过分割三维空间体、去噪处理、关键点提取、特征值计算和相似度计算,筛选与待检测三维点云数据对应的第一特征矩阵相似的第二特征矩阵。精计算通过计算第二特征矩阵对应的标准三维点云数据与待检测三维点云数据之间的第二相似度,得到比对结果。其中,第二相似度通过不同子空间体之间的差异性和子空间体内点云数据的差异性共同计算而得,进而从多个维度上判断原始点云文件对应的产品符合标准。大大提高了点云数据的比对精度。
Description
技术领域
本发明属于数据处理的技术领域,尤其涉及一种基于点云数据的产品检测方法及装置。
背景技术
点云数据是通过一系列点来表示三维几何信息的数据形式,在机器人、计算机视觉和自动驾驶等各种应用中广泛使用。比较两组点云数据之间的距离对于目标识别、形状匹配和配准等任务至关重要。近年来,深度学习技术在准确计算点云之间的距离方面展现出巨大潜力。
例如PointNet、PointNet++和PointCNN等模型,可以直接在点云之间进行有效的距离估计。然而,由于点云数据的特性,传统的深度学习模型,无法很好地提取点云数据的特征,进而无法实现高精度的点云数据比对,这是一个亟需解决的技术问题。
发明内容
有鉴于此,本申请实施例提供了一种基于点云数据的产品检测装置、基于点云数据的产品检测方法、装置、终端设备及计算机可读存储介质,以解决由于点云数据的特性,传统的深度学习模型,无法很好地提取点云数据的特征,进而无法实现高精度的点云数据比对的技术问题。
本申请实施例的第一方面提供了一种基于点云数据的产品检测装置,所述一种基于点云数据的产品检测装置包括格式转换模块、编辑模块和检测模块;
所述格式转换模块用于获取原始点云文件,将所述原始点云文件转换为目标格式,得到初始点云文件;
所述编辑模块用于将所述初始点云文件进行渲染,并向用户展示所述初始点云文件对应的原始三维点云数据;
所述编辑模块用于响应于由用户触发编辑操作指令,对所述原始三维点云数据进行编辑操作,得到待检测三维点云数据;
所述检测模块用于将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;
所述检测模块用于基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;
所述检测模块用于提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;
所述检测模块用于根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;
所述检测模块用于获取所述第二特征矩阵对应的标准三维点云数据;
所述检测模块用于基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;
所述检测模块用于分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;
所述检测模块用于分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;
所述检测模块用于根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;
所述检测模块用于若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。
本申请实施例的第二方面提供了一种基于点云数据的产品检测方法,所述基于点云数据的产品检测方法,包括:
将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;
基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;
提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;
根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;
获取所述第二特征矩阵对应的标准三维点云数据;
基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;
分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;
分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;
根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;
若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。
进一步地,所述根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵的步骤,包括:
根据多个所述特征数据计算所述子空间体的特征值;
将多个所述子空间体各自对应的特征值,构建为第一特征矩阵;
获取标准产品对应的第二特征矩阵,并计算所述第一特征矩阵与第二特征矩阵之间的第一相似度;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;
根据所述第一相似度在多个预存的第二特征矩阵中筛选所述目标第二特征矩阵。
进一步地,所述分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差的步骤,包括:
计算所述第一点云数据与多个所述第二点云数据之间的第一距离;
将最小第一距离对应的第二点云数据作为目标点云数据;
计算所述第一点云数据的第一空间特征矩阵;
获取预存的所述目标点云数据的第二空间特征矩阵;
计算所述第一空间特征矩阵和所述第二空间特征矩阵之间的第二距离,得到所述第二匹配误差。
进一步地,所述计算所述第一点云数据的第一空间特征矩阵的步骤,包括:
以多个所述第一点云数据的平均坐标为圆心,预设长度为半径,形成圆球体;
将所述圆球体中的点云数据作为邻接点云数据;
计算所述平均坐标的第一法向量,计算所述平均坐标到所述邻接点云数据的向量的投影,计算所述第一法向量与所述投影之间的第一夹角;
计算所述邻接点云数据的第二法向量,计算所述第一法向量和所述第二法向量之间的第二夹角;
计算所述平均坐标与所述邻接点云数据之间的分布特征值;
将多个所述邻接点云数据各自对应的所述第一夹角、所述第二夹角和所述分布特征值,构建为所述第一空间特征矩阵。
进一步地,所述计算所述平均坐标与所述邻接点云数据之间的分布特征值的步骤,包括:
计算所述圆球体中邻接点云数据的旋转矩阵和平移向量;
将所述第一法向量、所述第二法向量、所述平均坐标、所述邻接点云数据、所述旋转矩阵和所述平移向量代入如下公式一,得到所述分布特征值;
公式一:
其中,FH(i)表示第i个所述邻接点云数据的分布特征值,ns表示所述第一法向量,nt表示所述第二法向量,p表示所述平均坐标,pi表示第i个所述邻接点云数据,R表示所述旋转矩阵,t表示平移向量。
进一步地,所述基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据的步骤,包括:
根据多个所述待检测三维点云数据各自对应的坐标值,匹配对应的所述第一子空间体;
计算所述第一子空间体中所有待检测三维点云数据的第一平均坐标值;
计算所述第一平均坐标值与所述所有待检测三维点云数据对应的第二坐标值之间的第二距离;
在所述所有待检测三维点云数据中,将所述第二距离大于第二阈值的待检测三维点云数据剔除,得到多个当前三维点云数据;
基于法向量,对多个当前三维点云数据进行去噪处理,得到多个目标三维点云数据。
进一步地,所述基于法向量,对多个当前三维点云数据进行去噪处理,得到多个目标三维点云数据的步骤,包括:
计算所述第一子空间体中所有当前三维点云数据与所述第一平均坐标值之间的当前向量;
将所述当前向量构建为点云矩阵,对所述点云矩阵进行奇异值分解,得到最小特征值对应的特征向量,并将所述特征向量作为目标法向量;
计算所有当前三维点云数据对应的当前法向量;
若所述目标法向量和所述点云法向量之间的夹角超过第三阈值,则剔除所述点云法向量对应的当前三维点云数据,得到多个目标三维点云数据。
进一步地,所述提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据的步骤,包括:
基于主成分分析,提取所述第一子空间体对应的目标三维点云数据中的多个关键点;
获取所述第一子空间体内目标三维点云数据的分布密度;
获取多个所述关键点的对应的关键点坐标值;
计算多个所述关键点的第二平均坐标值,并计算多个所述关键点坐标值与所述第二平均坐标值之间的第二距离;
将所述分布密度、所述第二平均坐标值、多个所述关键点坐标值和多个所述第二距离,作为所述特征数据。
进一步地,所述根据多个所述特征数据计算所述子空间体的特征值的步骤,包括:
将所述分布密度、所述第二平均坐标值、多个所述关键点坐标值和多个所述第二距离代入如下公式二,得到所述特征值;
公式二:
其中,σ表示所述特征值,Q表示所述分布密度,Xi和Yi表示第i个所述关键点坐标值,X0和Y0表示所述第二平均坐标值,Di表示第i个所述第二距离,n表示关键点数量。
本申请实施例的第二方面提供了一种基于点云数据的产品检测装置,所述一种基于点云数据的产品检测装置包括格式转换模块、编辑模块和检测模块;
所述格式转换模块用于获取原始点云文件,将所述原始点云文件转换为目标格式,得到初始点云文件;
所述编辑模块用于将所述初始点云文件进行渲染,并向用户展示所述初始点云文件对应的原始三维点云数据;
所述编辑模块用于响应于由用户触发编辑操作指令,对所述原始三维点云数据进行编辑操作,得到待检测三维点云数据;
所述检测模块用于将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;
所述检测模块用于基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;
所述检测模块用于提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;
所述检测模块用于根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;
所述检测模块用于获取所述第二特征矩阵对应的标准三维点云数据;
所述检测模块用于基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;
所述检测模块用于分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;
所述检测模块用于分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;
所述检测模块用于根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;
所述检测模块用于若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:通过将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;获取所述第二特征矩阵对应的标准三维点云数据;基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。上述技术方案,采用粗计算和精计算结合,以提高点云数据的比对精度。其中,粗计算通过分割三维空间体、去噪处理、关键点提取、特征值计算和相似度计算,筛选与待检测三维点云数据对应的第一特征矩阵相似的第二特征矩阵。精计算通过计算第二特征矩阵对应的标准三维点云数据与待检测三维点云数据之间的第二相似度,得到比对结果。其中,第二相似度通过不同子空间体之间的差异性和子空间体内点云数据的差异性共同计算而得,进而从多个维度上判断原始点云文件对应的产品符合标准。大大提高了点云数据的比对精度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本申请提供的一种基于点云数据的产品检测方法的示意性流程图;
图2示出了本申请提供的一种基于点云数据的产品检测装置的示意图;
图3示出了本申请一实施例提供的一种终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
本申请实施例提供了一种基于点云数据的产品检测装置、基于点云数据的产品检测方法、装置、终端设备及计算机可读存储介质,以解决传统技术计算复杂性较高的技术问题的技术问题。
首先,本申请提供了一种基于点云数据的产品检测装置,一种基于点云数据的产品检测装置包括格式转换模块、编辑模块和检测模块;格式转换模块用于获取原始点云文件,将所述原始点云文件转换为目标格式,得到初始点云文件;编辑模块用于将所述初始点云文件进行渲染,并向用户展示所述初始点云文件对应的原始三维点云数据;编辑模块用于响应于由用户触发编辑操作指令,对所述原始三维点云数据进行编辑操作,得到待检测三维点云数据;所述检测模块用于将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;所述检测模块用于基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;所述检测模块用于提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;所述检测模块用于根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;所述检测模块用于获取所述第二特征矩阵对应的标准三维点云数据;所述检测模块用于基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;所述检测模块用于分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;所述检测模块用于分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;所述检测模块用于根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;所述检测模块用于若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。
其中,由于本申请中一种基于点云数据的产品检测装置可适用于不同格式的原始点云文件,故可适用于不同的应用场景,例如:服装场景、建筑场景或家居场景下的点云数据编辑。
其次,本申请提供了一种基于点云数据的产品检测方法。请参见图1,图1示出了本申请提供的一种基于点云数据的产品检测方法的示意性流程图。如图1所示,该基于点云数据的产品检测方法可以包括如下步骤:
步骤101:将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;
为了将三维数据降维至二维数据,以减小计算量。故本申请将待检测三维点云数据所处的三维空间体分割为多个第一子空间体。
具体地,步骤101包括步骤1011和步骤1013:
步骤1011:获取所述待检测三维点云数据对应的多个第一坐标值,在多个所述第一坐标值中获取X轴最大值、X轴最小值、Y轴最大值、Y轴最小值、Z轴最大值和Z轴最小值;
为了获取待检测三维点云数据所处的最小邻接三维空间体,故需要获取待检测三维点云数据中的X轴最大值、X轴最小值、Y轴最大值、Y轴最小值、Z轴最大值和Z轴最小值,以构建最小邻接三维空间体。
步骤1012:根据所述X轴最大值、所述X轴最小值、所述Y轴最大值、所述Y轴最小值、所述Z轴最大值和所述Z轴最小值,构建所述三维空间体;
根据X轴最大值、X轴最小值、Y轴最大值、Y轴最小值、Z轴最大值和Z轴最小值,匹配三维空间体的八个顶点。基于八个顶点确定三维空间体。
步骤1013:将所述三维空间体进行等分切割,得到多个所述第一子空间体。
本申请将三维空间体进行等分切割,得到多个第一子空间体。在后续计算过程中以子空间体为计算单元,分别计算第一子空间体的特征值,进而构建特征矩阵。实现将三维数据转换为二维数据。不仅具有较高的计算精度,且极大减少了计算量。
步骤102:基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;
由于传感器(激光雷达或深度相机)采集的点云数据往往存在一定的噪音,故需要对待检测三维点云数据进行去噪处理,以提高后续计算精度。
具体地,步骤102具体包括步骤1021至步骤1025:
步骤1021:根据多个所述待检测三维点云数据各自对应的坐标值,匹配对应的所述第一子空间体;
步骤1022:计算所述第一子空间体中所有待检测三维点云数据的第一平均坐标值;
分别计算所有待检测三维点云数据对应的X轴坐标值的平均值,分别计算所有待检测三维点云数据对应的Y轴坐标值的平均值,将X轴坐标值的平均值和Y轴坐标值的平均值作为第一平均坐标值。
步骤1023:计算所述第一平均坐标值与所述所有待检测三维点云数据对应的第二坐标值之间的第二距离;
步骤1024:在所述所有待检测三维点云数据中,将所述第二距离大于第二阈值的待检测三维点云数据剔除,得到多个当前三维点云数据;
可以理解的是,由于噪音点云数据往往与正常点云数据分布的距离较远,故可基于第一距离筛选噪音点云数据。并将待检测三维点云数据中的噪音点云数据剔除,得到多个当前三维点云数据。
步骤1025:基于法向量,对多个当前三维点云数据进行去噪处理,得到多个目标三维点云数据。
为了进一步提高去噪精度,在根据第一距离剔除噪音点云数据后,本申请还通过法向量剔除噪音点云数据,以提高去噪精度。
在本实施例中,根据多个待检测三维点云数据各自对应的坐标值,匹配对应的第一子空间体。计算第一子空间体中所有待检测三维点云数据的第一平均坐标值。计算第一平均坐标值与所有待检测三维点云数据对应的第二坐标值之间的第一距离。从所有待检测三维点云数据中剔除第一距离大于第二阈值的点,获得多个当前三维点云数据。利用法向量,对多个当前三维点云数据进行去噪处理。得到多个目标三维点云数据,即经过去噪处理后的最终结果。这种去噪处理方法通过计算平均坐标值和距离,可以排除那些偏离较大或异常的点,提高了准确性和稳定性。法向量的使用可以进一步增强去噪效果,使得最终的点云数据更加平滑和真实。
具体地,步骤1025具体包括步骤A1至步骤A4:
步骤A1:计算所述第一子空间体中所有当前三维点云数据与所述第一平均坐标值之间的当前向量;
步骤A2:将所述当前向量构建为点云矩阵,对所述点云矩阵进行奇异值分解,得到最小特征值对应的特征向量,并将所述特征向量作为目标法向量;
将当前向量按照多个当前三维点云数据对应的空间分布顺序,依次进行排列,得到点云矩阵。并将点云矩阵进行奇异值分解,将奇异值分解得到的特征向量作为目标法向量。
值得注意的是,第一平均坐标值与目标法向量构成了当前三维点云数据对应的平面模型。其中,平面的目标法向量和平面上的一点可以一起作为平面模型,这是因为目标法向量与平面垂直,并提供了平面的方向信息,而平面上的一点确定了平面在空间中的位置。一个平面可以由其目标法向量和经过平面上一点的位置来定义。目标法向量指示着平面的方向,垂直于该平面的每个点,并且平面上的一点确定了平面在三维空间体中的位置。通过这两个信息,可以唯一地描述一个平面。其中,由于噪音点云数据是与平面不一致的点,故可基于平面模型的目标法向量,筛选噪音点云数据。
步骤A3:计算所有当前三维点云数据对应的当前法向量;
步骤A4:若所述目标法向量和所述点云法向量之间的夹角超过第三阈值,则剔除所述点云法向量对应的当前三维点云数据,得到多个目标三维点云数据。
计算每个当前三维点云数据的当前法向量,并将当前法向量与平面模型的目标法向量进行比较。如果两者方向差异较大,则可以将当前三维点云数据视为与平面不一致的点,可能是噪声或属于其他平面。故可将目标法向量和点云法向量之间的夹角超过第三阈值的当前三维点云数据剔除,得到多个目标三维点云数据。
在本实施例中,计算子空间体中所有当前三维点云数据与第一平均坐标值之间的当前向量。将当前向量构建为点云矩阵,并对该点云矩阵进行奇异值分解。从奇异值分解的结果中,获取最小特征值对应的特征向量,将其作为目标法向量。计算所有当前三维点云数据对应的当前法向量。若目标法向量与点云法向量之间的夹角超过第三阈值,则剔除点云法向量对应的当前三维点云数据。经过上述步骤筛选后,得到多个目标三维点云数据,即经过去噪处理后的最终结果。这种去噪处理方法的主要优势在于利用奇异值分解来提取目标法向量,该目标法向量可以作为参考,与点云数据的当前法向量进行比较。通过设置合适的夹角阈值,可以剔除那些当前法向量明显偏离目标法向量的点云数据,减少噪声的影响,从而获得更干净和真实的目标三维点云数据。
步骤103:提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;
特征数据包括但不限于分布密度、第二平均坐标值、关键点坐标值和距离值等等。
具体地,步骤103具体步骤B1至步骤B5:
步骤B1:基于主成分分析,提取所述第一子空间体对应的目标三维点云数据中的多个关键点;
步骤B2:获取所述第一子空间体内目标三维点云数据的分布密度;
通过统计子空间体中的目标三维点云数据个数,得到分布密度。
步骤B3:获取多个所述关键点的对应的关键点坐标值;
步骤B4:计算多个所述关键点的第二平均坐标值,并计算多个所述关键点坐标值与所述第二平均坐标值之间的第二距离;
步骤B5:将所述分布密度、所述第二平均坐标值、多个所述关键点坐标值和多个所述第二距离,作为所述特征数据。
由于不同的第一子空间体中分布密度、第二平均坐标值、多个关键点坐标值和多个第二距离均存在差异,故可将分布密度、第二平均坐标值、多个关键点坐标值和多个第二距离作为子空间体特征数据。
步骤104:根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵。
具体地,步骤104具体包括步骤1041至步骤1044:
步骤1041:根据多个所述特征数据计算所述第一子空间体的特征值;
具体地,步骤104具体包括:将所述分布密度、所述第二平均坐标值、多个所述关键点坐标值和多个所述第二距离代入如下公式二,得到所述特征值;
公式二:
其中,σ表示所述特征值,Q表示所述分布密度,Xi和Yi表示第i个所述关键点坐标值,X0和Y0表示所述第二平均坐标值,Di表示第i个所述第二距离,n表示关键点数量。
本申请综合考虑多方面的因素影响,由于分布密度、第二平均坐标值、关键点坐标值和第二距离对于特征值的计算准确度均有一定的影响,故需基于分布密度、第二平均坐标值、关键点坐标值和第二距离计算特征值,以实现高精度计算。其中,上述公式是基于大量实验数据与验证而得,包括但不限于上述数学表达式。
步骤1042:将多个所述第一子空间体各自对应的特征值,构建为第一特征矩阵;
通过上述步骤依次计算每个第一子空间体对应的特征值,并按照第一子空间体的空间分布顺序,将多个特征值,构建为第一特征矩阵。实现了三维数据向二维数据的转换,极大降低了数据量。
步骤1043:获取标准产品对应的第二特征矩阵,并计算所述第一特征矩阵与第二特征矩阵之间的第一相似度;所述第二特征矩阵是预先根据标准产品对应的标准点云文件生成的特征矩阵;
标准产品的第二特征矩阵的计算原理与第一特征矩阵的计算原理一致,可参考第一特征矩阵的计算过程,得到第二特征矩阵,在此不再赘述。
可通过计算第一特征矩阵与第二特征矩阵之间的欧式距离,得到相似度。
步骤1044:若所述第一相似度小于第一阈值,则执行步骤S105;否则,确定原始点云文件对应的产品不符合标准。
第一特征矩阵和第二特征矩阵之间的相似度,可用于判断原始点云文件对应的产品是否符合标准。若相似度小于第一阈值,则确定原始点云文件对应的产品符合标准。若相似度不小于第一阈值,则确定原始点云文件对应的产品不符合标准。
在本实施例中,将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;根据多个所述特征数据计算所述第一子空间体的特征值;将多个所述第一子空间体各自对应的特征值,构建为第一特征矩阵;获取标准产品对应的第二特征矩阵,并计算所述第一特征矩阵与第二特征矩阵之间的第一相似度;所述第二特征矩阵是预先根据标准产品对应的标准点云文件生成的特征矩阵;若所述第一相似度小于第一阈值,则执行后续步骤;若所述第一相似度不小于第一阈值,则确定原始点云文件对应的产品不符合标准。上述方案,通过分割三维空间体、去噪处理、关键点提取、特征值计算和相似度计算等步骤,实现了云点数据的比对。相较于传统的深度学习算法,本申请通过以第一子空间体为处理单元,将三维数据转为为二维的特征矩阵,并基于特征矩阵计算点云数据之间的相似度。不仅具有较高的计算精度,且极大减少了计算量。
步骤105:获取所述第二特征矩阵对应的标准三维点云数据;
步骤106:基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;
由于点云数据往往分布在被扫描物体的表面,故非物体区域以及物体内部区域均为空白区域,故为了避免不必要的计算量,本申请通过子空间体中点云数据的密度筛选目标子空间体。例如:当子空间体中点云数据的密度大于预设数值,则将该子空间体作为目标空间体。
步骤107:分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;
通过计算第一目标子空间体与多个第二目标子空间体之间的距离,并将最小距离对应的第二目标子空间体与第一目标子空间体进行配对,得到子空间体对。每个第一目标子空间体分别执行上述步骤,得到多个子空间体对。
通过计算子空间体对中,两个子空间体的中心距离,得到第一匹配误差。即当子空间体之间的距离作为第一匹配误差。
步骤108:分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;
具体地,步骤108具体包括步骤1081至步骤1085:
步骤1081:计算所述第一点云数据与多个所述第二点云数据之间的第一距离;
步骤1082:将最小第一距离对应的第二点云数据作为目标点云数据;
为了计算点云数据之间的差异,故基于最小第一距离匹配第一点云数据在第二子空间体(标准三维点云数据)中对应的第二点云数据。进而分别提取第一点云数据的第一空间特征矩阵和目标点云数据的第二空间特征矩阵,比对第一空间特征矩阵和第二空间特征矩阵之间的第二距离,得到第二匹配误差。
步骤1083:计算所述第一点云数据的第一空间特征矩阵;
具体地,步骤1083具体包括步骤C1至步骤C6:
步骤C1:以多个所述第一点云数据的平均坐标为圆心,预设长度为半径,形成圆球体;
为了尽可能地减少计算量,故本申请以第一点云数据为圆心,预设长度为半径,形成圆球体,以圆球体为计算单元。
步骤C2:将所述圆球体中的点云数据作为邻接点云数据;
步骤C3:计算所述平均坐标的第一法向量,计算所述平均坐标到所述邻接点云数据的向量的投影,计算所述第一法向量与所述投影之间的第一夹角;
为了充分挖掘平均坐标与邻接点云数据之间的空间分布特征,故分别计算平均坐标的第一法向量和两个点云之间的向量投影,进而计算第一法向量与投影之间的第一夹角。
步骤C4:计算所述邻接点云数据的第二法向量,计算所述第一法向量和所述第二法向量之间的第二夹角;
为了充分挖掘平均坐标与邻接点云数据之间的空间分布特征,故计算第一法向量和第二法向量之间的第二夹角。
步骤C5:计算所述平均坐标与所述邻接点云数据之间的分布特征值;
具体地,步骤C5具体通过如下方式实现:
计算所述圆球体中邻接点云数据的旋转矩阵和平移向量;将所述第一法向量、所述第二法向量、所述平均坐标、所述邻接点云数据、所述旋转矩阵和所述平移向量代入如下公式一,得到所述分布特征值;
公式一:
其中,FH(i)表示第i个所述邻接点云数据的分布特征值,ns表示所述第一法向量,nt表示所述第二法向量,p表示所述平均坐标,pi表示第i个所述邻接点云数据,R表示所述旋转矩阵,t表示平移向量。
步骤C6:将多个所述邻接点云数据各自对应的所述第一夹角、所述第二夹角和所述分布特征值,构建为所述第一空间特征矩阵。
将多个第一夹角、多个第二夹角和多个分布特征值按照预设顺序排列,得到第一空间特征矩阵。
步骤1084:获取预存的所述目标点云数据的第二空间特征矩阵;
第二空间特征矩阵是预先计算得到的,计算逻辑与第一空间特征矩阵一致,在此不再赘述。
步骤1085:计算所述第一空间特征矩阵和所述第二空间特征矩阵之间的第二距离,得到所述第二匹配误差。
将第二距离作为第二匹配误差。
步骤109:根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;
分别获取第一匹配误差和第二匹配误差对应的权重值,通过将第一匹配误差和所述第二匹配误差进行加权求和,得到第二相似度。
步骤110:若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。
值得注意的是,步骤101至步骤104为粗计算,用于匹配与待检测三维点云数据相近的标准三维点云数据。步骤105至步骤110为精计算,用于具体判断待检测三维点云数据是否符合标准。
在本实施例中,通过将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;获取所述第二特征矩阵对应的标准三维点云数据;基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。上述技术方案,采用粗计算和精计算结合,以提高点云数据的比对精度。其中,粗计算通过分割三维空间体、去噪处理、关键点提取、特征值计算和相似度计算,筛选与待检测三维点云数据对应的第一特征矩阵相似的第二特征矩阵。精计算通过计算第二特征矩阵对应的标准三维点云数据与待检测三维点云数据之间的第二相似度,得到比对结果。其中,第二相似度通过不同子空间体之间的差异性和子空间体内点云数据的差异性共同计算而得,进而从多个维度上判断原始点云文件对应的产品符合标准。大大提高了点云数据的比对精度。
如图2本申请提供了一种基于点云数据的产品检测装置2,请参见图2,图2示出了本申请提供的一种基于点云数据的产品检测装置的示意图,如图2所示一种基于点云数据的产品检测装置包括格式转换模块21、编辑模块22和检测模块23;
所述格式转换模块21用于获取原始点云文件,将所述原始点云文件转换为目标格式,得到初始点云文件;
所述编辑模块22用于将所述初始点云文件进行渲染,并向用户展示所述初始点云文件对应的原始三维点云数据;
所述编辑模块22用于响应于由用户触发编辑操作指令,对所述原始三维点云数据进行编辑操作,得到待检测三维点云数据;
所述检测模块23用于将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;
所述检测模块23用于基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;
所述检测模块23用于提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;
所述检测模块23用于根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;
所述检测模块23用于获取所述第二特征矩阵对应的标准三维点云数据;
所述检测模块23用于基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;
所述检测模块23用于分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;
所述检测模块23用于分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;
所述检测模块23用于根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;
所述检测模块23用于若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。
本申请提供的一种基于点云数据的产品检测装置,通过将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;获取所述第二特征矩阵对应的标准三维点云数据;基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。上述技术方案,采用粗计算和精计算结合,以提高点云数据的比对精度。其中,粗计算通过分割三维空间体、去噪处理、关键点提取、特征值计算和相似度计算,筛选与待检测三维点云数据对应的第一特征矩阵相似的第二特征矩阵。精计算通过计算第二特征矩阵对应的标准三维点云数据与待检测三维点云数据之间的第二相似度,得到比对结果。其中,第二相似度通过不同子空间体之间的差异性和子空间体内点云数据的差异性共同计算而得,进而从多个维度上判断原始点云文件对应的产品符合标准。大大提高了点云数据的比对精度。
图3是本申请一实施例提供的一种终端设备的示意图。如图3所示,该实施例的一种终端设备3包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32,例如一种基于点云数据的产品检测方法程序。所述处理器30执行所述计算机程序32时实现上述各个一种基于点云数据的产品检测方法实施例中的步骤,例如图1所示的步骤101至步骤110。或者,所述处理器30执行所述计算机程序32时实现上述各装置实施例中各单元的功能,例如图2所示单元21至23的功能。
示例性的,所述计算机程序32可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器31中,并由所述处理器30执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序32在所述一种终端设备3中的执行过程。例如,所述计算机程序32可以被分割成各单元的具体功能如下:
格式转换模块、编辑模块和检测模块;
所述格式转换模块用于获取原始点云文件,将所述原始点云文件转换为目标格式,得到初始点云文件;
所述编辑模块用于将所述初始点云文件进行渲染,并向用户展示所述初始点云文件对应的原始三维点云数据;
所述编辑模块用于响应于由用户触发编辑操作指令,对所述原始三维点云数据进行编辑操作,得到待检测三维点云数据;
所述检测模块用于将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;
所述检测模块用于基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;
所述检测模块用于提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;
所述检测模块用于根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;
所述检测模块用于获取所述第二特征矩阵对应的标准三维点云数据;
所述检测模块用于基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;
所述检测模块用于分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;
所述检测模块用于分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;
所述检测模块用于根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;
所述检测模块用于若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。
所述终端设备中包括但不限于处理器30和存储器31。本领域技术人员可以理解,图3仅仅是一种终端设备3的示例,并不构成对一种终端设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器31可以是所述一种终端设备3的内部存储单元,例如一种终端设备3的硬盘或内存。所述存储器31也可以是所述一种终端设备3的外部存储设备,例如所述一种终端设备3上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器31还可以既包括所述一种终端设备3的内部存储单元也包括外部存储设备。所述存储器31用于存储所述计算机程序以及所述一种漫游控制设备所需的其他程序和数据。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,既将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于监测到”。类似地,短语“如果确定”或“如果监测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦监测到[所描述条件或事件]”或“响应于监测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于点云数据的产品检测方法,其特征在于,所述基于点云数据的产品检测方法,包括:
将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;
基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;
提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;
根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;
获取所述第二特征矩阵对应的标准三维点云数据;
基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;
分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;
分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;
根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;
若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。
2.如权利要求1所述的基于点云数据的产品检测方法,其特征在于,所述根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵的步骤,包括:
根据多个所述特征数据计算所述第一子空间体的特征值;
将多个所述第一子空间体各自对应的特征值,构建为第一特征矩阵;
获取标准产品对应的第二特征矩阵,并计算所述第一特征矩阵与第二特征矩阵之间的第一相似度;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;
根据所述第一相似度在多个预存的第二特征矩阵中筛选所述目标第二特征矩阵。
3.如权利要求1所述的基于点云数据的产品检测方法,其特征在于,所述分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差的步骤,包括:
计算所述第一点云数据与多个所述第二点云数据之间的第一距离;
将最小第一距离对应的第二点云数据作为目标点云数据;
计算所述第一点云数据的第一空间特征矩阵;
获取预存的所述目标点云数据的第二空间特征矩阵;
计算所述第一空间特征矩阵和所述第二空间特征矩阵之间的第二距离,得到所述第二匹配误差。
4.如权利要求3所述的基于点云数据的产品检测方法,其特征在于,所述计算所述第一点云数据的第一空间特征矩阵的步骤,包括:
以多个所述第一点云数据的平均坐标为圆心,预设长度为半径,形成圆球体;
将所述圆球体中的点云数据作为邻接点云数据;
计算所述平均坐标的第一法向量,计算所述平均坐标到所述邻接点云数据的向量的投影,计算所述第一法向量与所述投影之间的第一夹角;
计算所述邻接点云数据的第二法向量,计算所述第一法向量和所述第二法向量之间的第二夹角;
计算所述平均坐标与所述邻接点云数据之间的分布特征值;
将多个所述邻接点云数据各自对应的所述第一夹角、所述第二夹角和所述分布特征值,构建为所述第一空间特征矩阵。
5.如权利要求4所述的基于点云数据的产品检测方法,其特征在于,所述计算所述平均坐标与所述邻接点云数据之间的分布特征值的步骤,包括:
计算所述圆球体中邻接点云数据的旋转矩阵和平移向量;
将所述第一法向量、所述第二法向量、所述平均坐标、所述邻接点云数据、所述旋转矩阵和所述平移向量代入如下公式一,得到所述分布特征值;
公式一:
其中,FH(i)表示第i个所述邻接点云数据的分布特征值,ns表示所述第一法向量,nt表示所述第二法向量,p表示所述平均坐标,pi表示第i个所述邻接点云数据,R表示所述旋转矩阵,t表示平移向量。
6.如权利要求1所述的基于点云数据的产品检测方法,其特征在于,所述基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据的步骤,包括:
根据多个所述待检测三维点云数据各自对应的坐标值,匹配对应的所述第一子空间体;
计算所述第一子空间体中所有待检测三维点云数据的第一平均坐标值;
计算所述第一平均坐标值与所述所有待检测三维点云数据对应的第二坐标值之间的第二距离;
在所述所有待检测三维点云数据中,将所述第二距离大于第二阈值的待检测三维点云数据剔除,得到多个当前三维点云数据;
基于法向量,对多个当前三维点云数据进行去噪处理,得到多个目标三维点云数据。
7.如权利要求6所述的基于点云数据的产品检测方法,其特征在于,所述基于法向量,对多个当前三维点云数据进行去噪处理,得到多个目标三维点云数据的步骤,包括:
计算所述第一子空间体中所有当前三维点云数据与所述第一平均坐标值之间的当前向量;
将所述当前向量构建为点云矩阵,对所述点云矩阵进行奇异值分解,得到最小特征值对应的特征向量,并将所述特征向量作为目标法向量;
计算所有当前三维点云数据对应的当前法向量;
若所述目标法向量和所述点云法向量之间的夹角超过第三阈值,则剔除所述点云法向量对应的当前三维点云数据,得到多个目标三维点云数据。
8.如权利要求1所述的基于点云数据的产品检测方法,其特征在于,所述提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据的步骤,包括:
基于主成分分析,提取所述第一子空间体对应的目标三维点云数据中的多个关键点;
获取所述第一子空间体内目标三维点云数据的分布密度;
获取多个所述关键点的对应的关键点坐标值;
计算多个所述关键点的第二平均坐标值,并计算多个所述关键点坐标值与所述第二平均坐标值之间的第二距离;
将所述分布密度、所述第二平均坐标值、多个所述关键点坐标值和多个所述第二距离,作为所述特征数据。
9.如权利要求2所述的基于点云数据的产品检测方法,其特征在于,所述根据多个所述特征数据计算所述子空间体的特征值的步骤,包括:
将所述分布密度、所述第二平均坐标值、多个所述关键点坐标值和多个所述第二距离代入如下公式二,得到所述特征值;
公式二:
其中,σ表示所述特征值,Q表示所述分布密度,Xi和Yi表示第i个所述关键点坐标值,X0和Y0表示所述第二平均坐标值,Di表示第i个所述第二距离,n表示关键点数量。
10.一种基于点云数据的产品检测装置,其特征在于,所述一种基于点云数据的产品检测装置包括格式转换模块、编辑模块和检测模块;
所述格式转换模块用于获取原始点云文件,将所述原始点云文件转换为目标格式,得到初始点云文件;
所述编辑模块用于将所述初始点云文件进行渲染,并向用户展示所述初始点云文件对应的原始三维点云数据;
所述编辑模块用于响应于由用户触发编辑操作指令,对所述原始三维点云数据进行编辑操作,得到待检测三维点云数据;
所述检测模块用于将待检测三维点云数据所处的三维空间体分割为多个第一子空间体;
所述检测模块用于基于所述第一子空间体中的所述待检测三维点云数据进行去噪处理,得到目标三维点云数据;
所述检测模块用于提取所述第一子空间体对应的目标三维点云数据中的关键点,并计算所述关键点对应的特征数据;
所述检测模块用于根据所述特征数据构建的第一特征矩阵和多个预存的第二特征矩阵之间的第一相似度,筛选目标第二特征矩阵;所述第二特征矩阵是预先根据标准产品对应的标准三维点云数据生成的特征矩阵;
所述检测模块用于获取所述第二特征矩阵对应的标准三维点云数据;
所述检测模块用于基于所述第一子空间体中点云数据的密度,筛选第一目标子空间体;基于所述第二子空间体中点云数据的密度,筛选第二目标子空间体;所述第二子空间体是基于所述标准三维点云数据所处的三维空间体分割而来;
所述检测模块用于分别将所述第一目标子空间体与多个所述第二目标子空间体进行匹配,得到多个子空间体对,并计算所述子空间体对中两个子空间体的第一匹配误差;
所述检测模块用于分别将所述子空间体对中第一子空间体的第一点云数据与所述第二子空间体中的多个第二点云数据进行匹配,并计算第二匹配误差;
所述检测模块用于根据所述第一匹配误差和所述第二匹配误差,计算所述目标三维点云数据和所述标准三维点云数据之间的第二相似度;
所述检测模块用于若所述第二相似度小于第二阈值,则确定原始点云文件对应的产品符合标准。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311349741.6A CN117495785B (zh) | 2023-10-18 | 2023-10-18 | 一种基于点云数据的产品检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311349741.6A CN117495785B (zh) | 2023-10-18 | 2023-10-18 | 一种基于点云数据的产品检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117495785A true CN117495785A (zh) | 2024-02-02 |
CN117495785B CN117495785B (zh) | 2024-08-16 |
Family
ID=89668045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311349741.6A Active CN117495785B (zh) | 2023-10-18 | 2023-10-18 | 一种基于点云数据的产品检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117495785B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090169098A1 (en) * | 2007-12-26 | 2009-07-02 | Jong-Ho Chong | Image quality estimation device and method |
CN103413352A (zh) * | 2013-07-29 | 2013-11-27 | 西北工业大学 | 基于rgbd多传感器融合的场景三维重建方法 |
CN105478363A (zh) * | 2015-11-20 | 2016-04-13 | 苏州易瑞得电子科技有限公司 | 一种基于三维图形的不良品检测分类方法及系统 |
CN113205486A (zh) * | 2021-04-08 | 2021-08-03 | 南京汇川图像视觉技术有限公司 | 基于三维点云的表面缺陷检测方法、装置及存储介质 |
CN114037745A (zh) * | 2021-11-17 | 2022-02-11 | 北京容积视觉科技有限公司 | 一种基于分支定界的多视点三维点云数据的粗配准方法 |
CN116862960A (zh) * | 2023-06-12 | 2023-10-10 | 湖北文理学院 | 工件形貌点云配准方法、装置、设备及存储介质 |
-
2023
- 2023-10-18 CN CN202311349741.6A patent/CN117495785B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090169098A1 (en) * | 2007-12-26 | 2009-07-02 | Jong-Ho Chong | Image quality estimation device and method |
CN103413352A (zh) * | 2013-07-29 | 2013-11-27 | 西北工业大学 | 基于rgbd多传感器融合的场景三维重建方法 |
CN105478363A (zh) * | 2015-11-20 | 2016-04-13 | 苏州易瑞得电子科技有限公司 | 一种基于三维图形的不良品检测分类方法及系统 |
CN113205486A (zh) * | 2021-04-08 | 2021-08-03 | 南京汇川图像视觉技术有限公司 | 基于三维点云的表面缺陷检测方法、装置及存储介质 |
CN114037745A (zh) * | 2021-11-17 | 2022-02-11 | 北京容积视觉科技有限公司 | 一种基于分支定界的多视点三维点云数据的粗配准方法 |
CN116862960A (zh) * | 2023-06-12 | 2023-10-10 | 湖北文理学院 | 工件形貌点云配准方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
朱瑞芳;方勇;: "多视点云数据同步配准新方法", 《国土资源遥感》, vol. 25, no. 02, 15 June 2013 (2013-06-15), pages 47 - 52 * |
Also Published As
Publication number | Publication date |
---|---|
CN117495785B (zh) | 2024-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430951B2 (en) | Method and device for straight line detection and image processing | |
CN109272016B (zh) | 目标检测方法、装置、终端设备和计算机可读存储介质 | |
CN110334762B (zh) | 一种基于四叉树结合orb和sift的特征匹配方法 | |
JP5677798B2 (ja) | 3次元シーンにおける3次元物体の認識及び位置姿勢決定方法 | |
WO2021052283A1 (zh) | 处理三维点云数据的方法和计算设备 | |
CN102831427B (zh) | 一种融合视觉显著性和灰度共生矩的纹理特征提取方法 | |
CN109784250B (zh) | 自动引导小车的定位方法和装置 | |
CN116188805B (zh) | 海量图像的图像内容分析方法、装置和图像信息网络 | |
CN112435193B (zh) | 一种点云数据去噪的方法、装置、存储介质和电子设备 | |
CN109191513B (zh) | 基于全局优化的电力设备立体匹配方法 | |
CN111612841A (zh) | 目标定位方法及装置、移动机器人及可读存储介质 | |
CN104574401A (zh) | 一种基于平行线匹配的图像配准方法 | |
CN112200056B (zh) | 人脸活体检测方法、装置、电子设备及存储介质 | |
CN111488810A (zh) | 人脸识别方法、装置、终端设备及计算机可读介质 | |
CN117132630A (zh) | 一种基于二阶空间兼容性度量的点云配准方法 | |
CN111798453A (zh) | 用于无人驾驶辅助定位的点云配准方法及其系统 | |
CN111161348B (zh) | 一种基于单目相机的物体位姿估计方法、装置及设备 | |
CN117495891B (zh) | 点云边缘检测方法、装置和电子设备 | |
CN110673607A (zh) | 动态场景下的特征点提取方法、装置、及终端设备 | |
CN109344750B (zh) | 一种基于结构描述子的复杂结构三维对象识别方法 | |
CN112435283A (zh) | 图像的配准方法、电子设备以及计算机可读存储介质 | |
CN117495785B (zh) | 一种基于点云数据的产品检测方法及装置 | |
CN115147433A (zh) | 点云配准方法 | |
CN110969128A (zh) | 一种基于多特征融合的海面背景下红外船舰的检测方法 | |
CN112884817B (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 |