CN116740101A - 用于点云对象的平面分割算法 - Google Patents
用于点云对象的平面分割算法 Download PDFInfo
- Publication number
- CN116740101A CN116740101A CN202310547298.7A CN202310547298A CN116740101A CN 116740101 A CN116740101 A CN 116740101A CN 202310547298 A CN202310547298 A CN 202310547298A CN 116740101 A CN116740101 A CN 116740101A
- Authority
- CN
- China
- Prior art keywords
- model
- point
- data
- points
- plane
- 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
- 230000011218 segmentation Effects 0.000 title claims abstract description 79
- 230000005477 standard model Effects 0.000 claims description 21
- 238000010276 construction Methods 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 abstract description 2
- 238000000926 separation method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000012636 effector Substances 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/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及图像点云处理技术领域,尤其涉及一种用于点云对象的平面分割算法,包括,步骤S1,在目标点云中随机选取三个数据点构建平面模型,并选取核心点;步骤S2,对核心点领域内数据点进行判定,确定其他核心点与边界点;步骤S3,对其他核心点领域内数据点进行判定,并以边界点生成分割曲线;步骤S4,以边界点构建下一平面模型,判定核心点与边界点,生成下一平面模型的分割曲线;步骤S5,将以分割曲线分割出的各平面选定模型进行拼接形成初始模型,并进行修正。本发明通过设定最大半径与最少点数,进行核心点的聚类簇搜索,可在未知要形成的簇类的数量时,发现任意形状的簇类,可在目标点云中完成不同对象平面的精准分割。
Description
技术领域
本发明涉及图像点云处理技术领域,尤其涉及一种用于点云对象的平面分割算法。
背景技术
在机器人分拣领域中,机器人需要通过吸盘等末端执行器去吸取目标,因此需要视觉控制系统得到吸取目标的最大平面作为吸取点,获取吸取目标的外观表面的各点数据集合形成点云,通常需采用对点云的所有平面进行分割并且对平面类别进行分割,以提高对点云的识别精度。
中国专利公开号:CN113409332A,公开了一种基于三维点云的建筑物平面分割方法;其技术点为利用在切面上的点与其相邻点之间形成的向量之间夹角的最大值来提取粗平面的边界点,根据剩余点到提取的粗平面边界点的距离阈值,得到两平面相交的角点,将粗提取的平面点与对应的角点相结合,得到最优的平面分割;由此可见,在现有的平面分割中,多采用两个以上平面的交线方式,确定平面分割,而难以从单一平面自身进行优化分割,不仅在平面交叉复杂度高的点云中难以识别,还导致了以单一平面进行分割时的分割不准确,使后续的模型修正变得极复杂。
发明内容
为此,本发明提供一种用于点云对象的平面分割算法,用以克服现有技术中以单一平面进行点云对象的平面分割时的分割不准确的问题。
为实现上述目的,本发明提供一种用于点云对象的平面分割算法,包括,
步骤S1,在目标点云中随机选取三个数据点构建平面模型,并获取所述平面模型内的全部数据点,设定最大半径R与最少点数minp,并在所述平面模型内的全部数据点中选取一个在半径R内至少有minp个数据点的随机点作为核心点;
步骤S2,设置以选取的随机核心点为中心,在最大半径R内的区域,作为该核心点的领域,并对该核心点领域内的各数据点进行判定,若该核心点领域内的任意一数据点在自身半径R内存在至少minp个其他的数据点,则将其作为另一核心点,否则将其作为边界点;
步骤S3,对于选取的随机核心点领域内的其他核心点,重复所述步骤S2的操作,确定所述平面模型内若干核心点与若干边界点,并将各边界点进行拟合,形成封闭的分割曲线,并以该分割曲线对所述平面模型进行分割,并将分割曲线内的区域作为平面选定模型,将各核心点与各边界点作为该平面选定模型的平面数据集;
步骤S4,在目标点云中随机选取两个不在所述平面模型内的数据点,并于平面模型任意一边界点构建平面模型,重复所述步骤S1至步骤S3的操作,形成下一平面选定模型与下一平面数据集;
步骤S5,重复所述步骤S4的操作,形成若干平面选定模型与若干平面数据集,将各平面选定模型进行拼接形成初始模型,将各平面数据集进行合并形成初始数据集,并根据目标点云中除初始数据集之外的数据点对初始模型进行修正,形成目标点云的确定模型,完成对目标点云的分割。
进一步地,在所述步骤S1中,若构建平面模型内的全部数据点,不存在核心点,则判定该平面无效,将重新随机选取数据点进行平面模型的构建。
进一步地,在所述步骤S1中,设定构建模型的数据点标准数量,获取所述平面模型内的全部数据点的实际数量进行判定,
若所述平面模型内的全部数据点的实际数量低于构建模型的数据点标准数量,则判定该平面无效,将重新随机选取数据点进行平面模型的构建;
若所述平面模型内的全部数据点的实际数量不低于构建模型的数据点标准数量,则以最大半径R与最少点数minp进行所述步骤S1中核心点的判定。
进一步地,在所述步骤S3中,对于选取的随机核心点领域内的其他核心点,重复所述步骤S2的操作,确定所述平面模型内若干核心点与若干边界点,并根据所述平面模型内的全部数据点,确定平面模型内除各核心点与各边界点之外的各数据点,并作为异领域点集合,确定异领域点集合内的数据点数量,根据设定的构建模型的数据点标准数量对平面模型内异领域点集合内的数据点数量进行判定,
若所述平面模型内异领域点集合内的数据点数量低于构建模型的数据点标准数量,则判定核心点确定完成,将拟合各边界点形成封闭的分割曲线,并以该分割曲线对所述平面模型进行分割;
若所述平面模型内异领域点集合内的数据点数量不低于构建模型的数据点标准数量,则对平面模型内异领域点集合内的数据点进行核心点的判定。
进一步地,在所述平面模型内异领域点集合内的数据点数量不低于构建模型的数据点标准数量时,则确定异领域点集合内的数据点中是否存在半径R内至少有minp个数据点的核心点,
若所述平面模型内异领域点集合内的各数据点不存在核心点,则判定核心点确定完成,将拟合各边界点形成封闭的分割曲线,并以该分割曲线对所述平面模型进行分割;
若所述平面模型内异领域点集合内的各数据点存在核心点,则拟合平面模型内现有各边界点形成封闭的分割曲线,并以异领域点集合内任意一核心点重复所述步骤S2至步骤S3的操作,形成若干封闭的分割曲线,并以各封闭的分割曲线对所述平面模型进行分割,并将各分割曲线内的区域作为平面选定模型,将平面模型内全部的核心点与边界点作为该平面选定模型的平面数据集。
进一步地,若所述平面模型内的任意一数据点不能够作为核心点也不能够作为边界点,则将该数据点作为离群点。
进一步地,在所述步骤S5中,包括,
步骤S51,将初始模型确定为当前模型,将初始数据集作为当前数据集进行初始模型的修正;
步骤S52,使用当前模型对目标点云中除当前数据集之外数据点的进行扫描,若该数据点在预设阈值范围内能够拟合当前模型,则将该数据点归入当前数据集之中;
步骤S53,在任一数据点归入当前数据集时,利用当前数据集内所有的数据点对当前模型通过最小二乘拟合进行修正,形成下一模型,并对目标点云中下一数据点进行扫描;
步骤S54,重复所述步骤S52至所述步骤S53的操作,对目标点云中所有的数据点进行扫描,并根据已扫描数据点数量与归入当前数据集的数据点数量计算拟合错误率,根据拟合错误率判定是否完成本次迭代中的标准模型;
步骤S55,重复所述步骤S52至所述步骤S54的操作,对目标点云进行若干次迭代,并对比每次迭代所产生的标准模型的拟合错误率,在各标准模型中选取其拟合错误率最小的标准模型作为目标点云的确定模型,该模型对应的数据集作为确定数据集。
进一步地,在所述步骤S52中,设置数据点拟合的预设阈值范围,使用当前模型对目标点云中除当前数据集之外数据点的进行扫描,对于任意一数据点,获取该数据点的真实值,并将该数据点拟合至当前模型,获得其拟合值,计算该数据点的拟合差值并判定,
若数据点的拟合差值在预设阈值范围内,则判定该数据点在预设阈值范围内能够拟合当前模型;
若数据点的拟合差值不在预设阈值范围内,则判定该数据点在预设阈值范围内不能够拟合当前模型;
其中,数据点的拟合差值为数据点的真实值与拟合值的差值。
进一步地,在所述步骤S52中,在目标点云中确定除当前数据集之外的数据点,并随机选取任意一数据点进行扫描,在所述步骤S53中对目标点云中下一数据点进行扫描,该数据点也为随机选取,直至对目标点云中除当前数据集之外的所有数据点完成扫描后,将记录本次迭代中的标准模型对应的数据点扫描顺序。
进一步地,在所述步骤S54中,设定标准拟合错误率,并根据已扫描数据点数量与归入当前数据集的数据点数量计算拟合错误率并进行判定,
若计算的拟合错误率未超出标准拟合错误率,则判定本次迭代完成,将拟合后的模型确定本次迭代中的标准模型,并执行所述步骤S55,进行下一次迭代;
若计算的拟合错误率已超出标准拟合错误率,则判定本次迭代无效,不生成本次迭代中的标准模型,并执行所述步骤S55,进行下一次迭代;
其中,拟合错误率为归入当前数据集的数据点数量与已扫描数据点数量的比值。
与现有技术相比,本发明的有益效果在于,通过三个数据点确定一个平面,从而构建平面模型,并通过设定最大半径与最少点数,则被视为同一类,确定任意一个核心点以及其领域,在设定的最大半径内被认为是一个簇的最小的点数,在最少点数中包括该核心点,若设定较高的最少点数将确保更健壮的集群,但如果集群太大,较小的集群将被合并到较大的集群中,然后对核心点的邻域内的每个点进行评估,以确定它是否在最大半径距离内存在最少点数的数据点,包括其本身,若数据点满足标准它将成为另一个核心点,集群将扩展,若数据点不满足标准它将成为边界点,随着过程的继续,算法开始发展成为对一个核心点领域内存在另一核心点,而另一核心点领域内又存在其他的核心点,以此类推,当集群被边界点包围时,这个聚类簇已经搜索完全,因为在距离内没有更多的点,选择一个新的随机点,并重复该过程以识别下一个簇,该方法不需要事先知道要形成的簇类的数量,可以发现任意形状的簇类,同时能够识别出噪声点,对离群点有较好的鲁棒性,可以检测离群点,并可完成不同对象平面的精准分割。
尤其,通过随机选取数据点进行平面模型的构建,若构建平面模型内数据点中无符合设定的最大半径与最少点数的核心点,则表示该平面选取不合理,并非所需识别的平面,因此判定该平面无效,并重新随机选取数据点进行平面模型的构建,保障算法的正常进行。
进一步地,通过对随机选取三个数据点构建平面模型的数据点数量进行判定,确定所选取的平面的合理性,在平面模型内的全部数据点的实际数量低于所需识别平面的数据点标准数量时,表示该平面真实度较低,即可能不存在,因此判定该平面无效,重新随机选取数据点进行平面模型的构建,以保障算法的正常进行。
进一步地,通过确定平面模型内除各核心点与各边界点之外的各数据点,作为异领域点集合,并确定异领域点集合中是否还存在其他的聚类簇,若异领域点集合中还存在其他的聚类簇,则对各聚类簇均进行完全搜索,并将各聚类簇的边界点形成对应的封闭的各分割曲线,确定在同一平面内的多个区域的模型,实现对任意形状的簇类的构件识别,保障了平面分割方法的稳定性同时提高平面分割的精准性。
进一步地,通过该平面分割算法,能够在设定的最大半径与最小数量的条件下,准确地检测离群点,对离群点有较好的鲁棒性,通过准确地检测到离群点,可提高对象平面的分割精准性。
进一步地,通过将初始模型作为当前模型,对目标点云中除当前数据集之外数据点的进行依次扫描,并通过预设阈值范围判定该数据点是否能够拟合至当前模型,若能够拟合,则用该数据点对当前模型进行一次修正,若不能够拟合至当前模型,则在本次迭代中放弃该数据点,并对下一数据点进行预设阈值范围的判定,以此类推,对当前模型进行多次迭代,确定各数据点的最优拟合顺序,并根据拟合错误率生成目标点云的确定模型,提高了对目标点云的识别能力,使构件的模型更加精准。
附图说明
图1为本发明实施例所述用于点云对象的平面分割算法的流程图;
图2为本发明实施例所述核心点的最大半径的示意图;
图3为本发明实施例所述边界点判定的示意图;
图4为本发明实施例所述聚类簇判定的示意图。
具体实施方式
为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
请参阅图1所示,其为本发明实施例所述用于点云对象的平面分割算法的流程图,本实施例公布一种用于点云对象的平面分割算法,包括,
步骤S1,在目标点云中随机选取三个数据点构建平面模型,并获取所述平面模型内的全部数据点,设定最大半径R与最少点数minp,并在所述平面模型内的全部数据点中选取一个在半径R内至少有minp个数据点的随机点作为核心点;
步骤S2,设置以选取的随机核心点为中心,在最大半径R内的区域,作为该核心点的领域,并对该核心点领域内的各数据点进行判定,若该核心点领域内的任意一数据点在自身半径R内存在至少minp个其他的数据点,则将其作为另一核心点,否则将其作为边界点;
步骤S3,对于选取的随机核心点领域内的其他核心点,重复所述步骤S2的操作,确定所述平面模型内若干核心点与若干边界点,并将各边界点进行拟合,形成封闭的分割曲线,并以该分割曲线对所述平面模型进行分割,并将分割曲线内的区域作为平面选定模型,将各核心点与各边界点作为该平面选定模型的平面数据集;
步骤S4,在目标点云中随机选取两个不在所述平面模型内的数据点,并于平面模型任意一边界点构建平面模型,重复所述步骤S1至步骤S3的操作,形成下一平面选定模型与下一平面数据集;
步骤S5,重复所述步骤S4的操作,形成若干平面选定模型与若干平面数据集,将各平面选定模型进行拼接形成初始模型,将各平面数据集进行合并形成初始数据集,并根据目标点云中除初始数据集之外的数据点对初始模型进行修正,形成目标点云的确定模型,完成对目标点云的分割。
请继续参阅图2所示,其为本发明实施例所述核心点的最大半径的示意图;
通过三个数据点确定一个平面,从而构建平面模型,并通过设定最大半径与最少点数,则被视为同一类,确定任意一个核心点以及其领域,在设定的最大半径内被认为是一个簇的最小的点数,在最少点数中包括该核心点,若设定较高的最少点数将确保更健壮的集群,但如果集群太大,较小的集群将被合并到较大的集群中,然后对核心点的邻域内的每个点进行评估,以确定它是否在最大半径距离内存在最少点数的数据点,包括其本身,若数据点满足标准它将成为另一个核心点,集群将扩展,若数据点不满足标准它将成为边界点,随着过程的继续,算法开始发展成为对一个核心点领域内存在另一核心点,而另一核心点领域内又存在其他的核心点,以此类推,当集群被边界点包围时,这个聚类簇已经搜索完全,因为在距离内没有更多的点,选择一个新的随机点,并重复该过程以识别下一个簇,该方法不需要事先知道要形成的簇类的数量,可以发现任意形状的簇类,同时能够识别出噪声点,对离群点有较好的鲁棒性,可以检测离群点,并可完成不同对象平面的精准分割。
具体而言,在所述步骤S1中,若构建平面模型内的全部数据点,不存在核心点,则判定该平面无效,将重新随机选取数据点进行平面模型的构建。
通过随机选取数据点进行平面模型的构建,若构建平面模型内数据点中无符合设定的最大半径与最少点数的核心点,则表示该平面选取不合理,并非所需识别的平面,因此判定该平面无效,并重新随机选取数据点进行平面模型的构建,保障算法的正常进行。
具体而言,在所述步骤S1中,设定构建模型的数据点标准数量,获取所述平面模型内的全部数据点的实际数量进行判定,
若所述平面模型内的全部数据点的实际数量低于构建模型的数据点标准数量,则判定该平面无效,将重新随机选取数据点进行平面模型的构建;
若所述平面模型内的全部数据点的实际数量不低于构建模型的数据点标准数量,则以最大半径R与最少点数minp进行所述步骤S1中核心点的判定。
通过对随机选取三个数据点构建平面模型的数据点数量进行判定,确定所选取的平面的合理性,在平面模型内的全部数据点的实际数量低于所需识别平面的数据点标准数量时,表示该平面真实度较低,即可能不存在,因此判定该平面无效,重新随机选取数据点进行平面模型的构建,以保障算法的正常进行。
请继续参阅图3所示,其为本发明实施例所述边界点判定的示意图;
具体而言,在所述步骤S3中,对于选取的随机核心点领域内的其他核心点,重复所述步骤S2的操作,确定所述平面模型内若干核心点与若干边界点,并根据所述平面模型内的全部数据点,确定平面模型内除各核心点与各边界点之外的各数据点,并作为异领域点集合,确定异领域点集合内的数据点数量,根据设定的构建模型的数据点标准数量对平面模型内异领域点集合内的数据点数量进行判定,
若所述平面模型内异领域点集合内的数据点数量低于构建模型的数据点标准数量,则判定核心点确定完成,将拟合各边界点形成封闭的分割曲线,并以该分割曲线对所述平面模型进行分割;
若所述平面模型内异领域点集合内的数据点数量不低于构建模型的数据点标准数量,则对平面模型内异领域点集合内的数据点进行核心点的判定。
具体而言,在所述平面模型内异领域点集合内的数据点数量不低于构建模型的数据点标准数量时,则确定异领域点集合内的数据点中是否存在半径R内至少有minp个数据点的核心点,
若所述平面模型内异领域点集合内的各数据点不存在核心点,则判定核心点确定完成,将拟合各边界点形成封闭的分割曲线,并以该分割曲线对所述平面模型进行分割;
若所述平面模型内异领域点集合内的各数据点存在核心点,则拟合平面模型内现有各边界点形成封闭的分割曲线,并以异领域点集合内任意一核心点重复所述步骤S2至步骤S3的操作,形成若干封闭的分割曲线,并以各封闭的分割曲线对所述平面模型进行分割,并将各分割曲线内的区域作为平面选定模型,将平面模型内全部的核心点与边界点作为该平面选定模型的平面数据集。
请继续参阅图4所示,其为本发明实施例所述聚类簇判定的示意图,在本实施例中,设定最大半径为1最小数量为4进行表示;
通过确定平面模型内除各核心点与各边界点之外的各数据点,作为异领域点集合,并确定异领域点集合中是否还存在其他的聚类簇,若异领域点集合中还存在其他的聚类簇,则对各聚类簇均进行完全搜索,并将各聚类簇的边界点形成对应的封闭的各分割曲线,确定在同一平面内的多个区域的模型,实现对任意形状的簇类的构件识别,保障了平面分割方法的稳定性同时提高平面分割的精准性。
具体而言,若所述平面模型内的任意一数据点不能够作为核心点也不能够作为边界点,则将该数据点作为离群点。
通过该平面分割算法,能够在设定的最大半径与最小数量的条件下,准确地检测离群点,对离群点有较好的鲁棒性,通过准确地检测到离群点,可提高对象平面的分割精准性。
具体而言,在所述步骤S5中,包括,
步骤S51,将初始模型确定为当前模型,将初始数据集作为当前数据集进行初始模型的修正;
步骤S52,使用当前模型对目标点云中除当前数据集之外数据点的进行扫描,若该数据点在预设阈值范围内能够拟合当前模型,则将该数据点归入当前数据集之中;
步骤S53,在任一数据点归入当前数据集时,利用当前数据集内所有的数据点对当前模型通过最小二乘拟合进行修正,形成下一模型,并对目标点云中下一数据点进行扫描;
步骤S54,重复所述步骤S52至所述步骤S53的操作,对目标点云中所有的数据点进行扫描,并根据已扫描数据点数量与归入当前数据集的数据点数量计算拟合错误率,根据拟合错误率判定是否完成本次迭代中的标准模型;
步骤S55,重复所述步骤S52至所述步骤S54的操作,对目标点云进行若干次迭代,并对比每次迭代所产生的标准模型的拟合错误率,在各标准模型中选取其拟合错误率最小的标准模型作为目标点云的确定模型,该模型对应的数据集作为确定数据集。
具体而言,在所述步骤S52中,设置数据点拟合的预设阈值范围,使用当前模型对目标点云中除当前数据集之外数据点的进行扫描,对于任意一数据点,获取该数据点的真实值,并将该数据点拟合至当前模型,获得其拟合值,计算该数据点的拟合差值并判定,
若数据点的拟合差值在预设阈值范围内,则判定该数据点在预设阈值范围内能够拟合当前模型;
若数据点的拟合差值不在预设阈值范围内,则判定该数据点在预设阈值范围内不能够拟合当前模型;
其中,数据点的拟合差值为数据点的真实值与拟合值的差值。
具体而言,在所述步骤S52中,在目标点云中确定除当前数据集之外的数据点,并随机选取任意一数据点进行扫描,在所述步骤S53中对目标点云中下一数据点进行扫描,该数据点也为随机选取,直至对目标点云中除当前数据集之外的所有数据点完成扫描后,将记录本次迭代中的标准模型对应的数据点扫描顺序。
具体而言,在所述步骤S54中,设定标准拟合错误率,并根据已扫描数据点数量与归入当前数据集的数据点数量计算拟合错误率并进行判定,
若计算的拟合错误率未超出标准拟合错误率,则判定本次迭代完成,将拟合后的模型确定本次迭代中的标准模型,并执行所述步骤S55,进行下一次迭代;
若计算的拟合错误率已超出标准拟合错误率,则判定本次迭代无效,不生成本次迭代中的标准模型,并执行所述步骤S55,进行下一次迭代;
其中,拟合错误率为归入当前数据集的数据点数量与已扫描数据点数量的比值。
通过将初始模型作为当前模型,对目标点云中除当前数据集之外数据点的进行依次扫描,并通过预设阈值范围判定该数据点是否能够拟合至当前模型,若能够拟合,则用该数据点对当前模型进行一次修正,若不能够拟合至当前模型,则在本次迭代中放弃该数据点,并对下一数据点进行预设阈值范围的判定,以此类推,对当前模型进行多次迭代,确定各数据点的最优拟合顺序,并根据拟合错误率生成目标点云的确定模型,提高了对目标点云的识别能力,使构件的模型更加精准。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用于点云对象的平面分割算法,其特征在于,包括,
步骤S1,在目标点云中随机选取三个数据点构建平面模型,并获取所述平面模型内的全部数据点,设定最大半径R与最少点数minp,并在所述平面模型内的全部数据点中选取一个在半径R内至少有minp个数据点的随机点作为核心点;
步骤S2,设置以选取的随机核心点为中心,在最大半径R内的区域,作为该核心点的领域,并对该核心点领域内的各数据点进行判定,若该核心点领域内的任意一数据点在自身半径R内存在至少minp个其他的数据点,则将其作为另一核心点,否则将其作为边界点;
步骤S3,对于选取的随机核心点领域内的其他核心点,重复所述步骤S2的操作,确定所述平面模型内若干核心点与若干边界点,并将各边界点进行拟合,形成封闭的分割曲线,并以该分割曲线对所述平面模型进行分割,并将分割曲线内的区域作为平面选定模型,将各核心点与各边界点作为该平面选定模型的平面数据集;
步骤S4,在目标点云中随机选取两个不在所述平面模型内的数据点,并于平面模型任意一边界点构建平面模型,重复所述步骤S1至步骤S3的操作,形成下一平面选定模型与下一平面数据集;
步骤S5,重复所述步骤S4的操作,形成若干平面选定模型与若干平面数据集,将各平面选定模型进行拼接形成初始模型,将各平面数据集进行合并形成初始数据集,并根据目标点云中除初始数据集之外的数据点对初始模型进行修正,形成目标点云的确定模型,完成对目标点云的分割。
2.根据权利要求1所述的用于点云对象的平面分割算法,其特征在于,在所述步骤S1中,若构建平面模型内的全部数据点,不存在核心点,则判定该平面无效,将重新随机选取数据点进行平面模型的构建。
3.根据权利要求1所述的用于点云对象的平面分割算法,其特征在于,在所述步骤S1中,设定构建模型的数据点标准数量,获取所述平面模型内的全部数据点的实际数量进行判定,
若所述平面模型内的全部数据点的实际数量低于构建模型的数据点标准数量,则判定该平面无效,将重新随机选取数据点进行平面模型的构建;
若所述平面模型内的全部数据点的实际数量不低于构建模型的数据点标准数量,则以最大半径R与最少点数minp进行所述步骤S1中核心点的判定。
4.根据权利要求3所述的用于点云对象的平面分割算法,其特征在于,在所述步骤S3中,对于选取的随机核心点领域内的其他核心点,重复所述步骤S2的操作,确定所述平面模型内若干核心点与若干边界点,并根据所述平面模型内的全部数据点,确定平面模型内除各核心点与各边界点之外的各数据点,并作为异领域点集合,确定异领域点集合内的数据点数量,根据设定的构建模型的数据点标准数量对平面模型内异领域点集合内的数据点数量进行判定,
若所述平面模型内异领域点集合内的数据点数量低于构建模型的数据点标准数量,则判定核心点确定完成,将拟合各边界点形成封闭的分割曲线,并以该分割曲线对所述平面模型进行分割;
若所述平面模型内异领域点集合内的数据点数量不低于构建模型的数据点标准数量,则对平面模型内异领域点集合内的数据点进行核心点的判定。
5.根据权利要求4所述的用于点云对象的平面分割算法,其特征在于,在所述平面模型内异领域点集合内的数据点数量不低于构建模型的数据点标准数量时,则确定异领域点集合内的数据点中是否存在半径R内至少有minp个数据点的核心点,
若所述平面模型内异领域点集合内的各数据点不存在核心点,则判定核心点确定完成,将拟合各边界点形成封闭的分割曲线,并以该分割曲线对所述平面模型进行分割;
若所述平面模型内异领域点集合内的各数据点存在核心点,则拟合平面模型内现有各边界点形成封闭的分割曲线,并以异领域点集合内任意一核心点重复所述步骤S2至步骤S3的操作,形成若干封闭的分割曲线,并以各封闭的分割曲线对所述平面模型进行分割,并将各分割曲线内的区域作为平面选定模型,将平面模型内全部的核心点与边界点作为该平面选定模型的平面数据集。
6.根据权利要求5所述的用于点云对象的平面分割算法,其特征在于,若所述平面模型内的任意一数据点不能够作为核心点也不能够作为边界点,则将该数据点作为离群点。
7.根据权利要求1所述的用于点云对象的平面分割算法,其特征在于,在所述步骤S5中,包括,
步骤S51,将初始模型确定为当前模型,将初始数据集作为当前数据集进行初始模型的修正;
步骤S52,使用当前模型对目标点云中除当前数据集之外数据点的进行扫描,若该数据点在预设阈值范围内能够拟合当前模型,则将该数据点归入当前数据集之中;
步骤S53,在任一数据点归入当前数据集时,利用当前数据集内所有的数据点对当前模型通过最小二乘拟合进行修正,形成下一模型,并对目标点云中下一数据点进行扫描;
步骤S54,重复所述步骤S52至所述步骤S53的操作,对目标点云中所有的数据点进行扫描,并根据已扫描数据点数量与归入当前数据集的数据点数量计算拟合错误率,根据拟合错误率判定是否完成本次迭代中的标准模型;
步骤S55,重复所述步骤S52至所述步骤S54的操作,对目标点云进行若干次迭代,并对比每次迭代所产生的标准模型的拟合错误率,在各标准模型中选取其拟合错误率最小的标准模型作为目标点云的确定模型,该模型对应的数据集作为确定数据集。
8.根据权利要求7所述的用于点云对象的平面分割算法,其特征在于,在所述步骤S52中,设置数据点拟合的预设阈值范围,使用当前模型对目标点云中除当前数据集之外数据点的进行扫描,对于任意一数据点,获取该数据点的真实值,并将该数据点拟合至当前模型,获得其拟合值,计算该数据点的拟合差值并判定,
若数据点的拟合差值在预设阈值范围内,则判定该数据点在预设阈值范围内能够拟合当前模型;
若数据点的拟合差值不在预设阈值范围内,则判定该数据点在预设阈值范围内不能够拟合当前模型;
其中,数据点的拟合差值为数据点的真实值与拟合值的差值。
9.根据权利要求7所述的用于点云对象的平面分割算法,其特征在于,在所述步骤S52中,在目标点云中确定除当前数据集之外的数据点,并随机选取任意一数据点进行扫描,在所述步骤S53中对目标点云中下一数据点进行扫描,该数据点也为随机选取,直至对目标点云中除当前数据集之外的所有数据点完成扫描后,将记录本次迭代中的标准模型对应的数据点扫描顺序。
10.根据权利要求7所述的用于点云对象的平面分割算法,其特征在于,在所述步骤S54中,设定标准拟合错误率,并根据已扫描数据点数量与归入当前数据集的数据点数量计算拟合错误率并进行判定,
若计算的拟合错误率未超出标准拟合错误率,则判定本次迭代完成,将拟合后的模型确定本次迭代中的标准模型,并执行所述步骤S55,进行下一次迭代;
若计算的拟合错误率已超出标准拟合错误率,则判定本次迭代无效,不生成本次迭代中的标准模型,并执行所述步骤S55,进行下一次迭代;
其中,拟合错误率为归入当前数据集的数据点数量与已扫描数据点数量的比值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310547298.7A CN116740101B (zh) | 2023-05-16 | 2023-05-16 | 用于点云对象的平面分割方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310547298.7A CN116740101B (zh) | 2023-05-16 | 2023-05-16 | 用于点云对象的平面分割方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116740101A true CN116740101A (zh) | 2023-09-12 |
CN116740101B CN116740101B (zh) | 2024-03-12 |
Family
ID=87915994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310547298.7A Active CN116740101B (zh) | 2023-05-16 | 2023-05-16 | 用于点云对象的平面分割方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116740101B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012071688A1 (zh) * | 2010-12-03 | 2012-06-07 | 中国科学院自动化研究所 | 基干感知信息的三维模型形狀分析方法 |
CN111985322A (zh) * | 2020-07-14 | 2020-11-24 | 西安理工大学 | 一种基于激光雷达的道路环境要素感知方法 |
CN112070769A (zh) * | 2020-09-18 | 2020-12-11 | 福州大学 | 一种基于dbscan的分层点云分割方法 |
CN114612795A (zh) * | 2022-03-02 | 2022-06-10 | 南京理工大学 | 基于激光雷达点云的路面场景目标识别方法 |
CN115099304A (zh) * | 2022-05-23 | 2022-09-23 | 中国人民解放军战略支援部队信息工程大学 | 一种建筑物立面点云提取方法 |
CN115390040A (zh) * | 2022-07-15 | 2022-11-25 | 电子科技大学 | 一种基于分割几何特征的树林点云枝叶分离方法 |
CN115423822A (zh) * | 2022-08-23 | 2022-12-02 | 埃夫特智能装备股份有限公司 | 基于特征搜索和区域生长的点云分割方法 |
CN115661509A (zh) * | 2022-09-27 | 2023-01-31 | 上海可明科技有限公司 | 基于三维点云icp配准算法的手术器械识别分类方法 |
CN116091771A (zh) * | 2023-01-12 | 2023-05-09 | 华中科技大学 | 一种复杂机匣腔体点云分割方法、装置及设备 |
-
2023
- 2023-05-16 CN CN202310547298.7A patent/CN116740101B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012071688A1 (zh) * | 2010-12-03 | 2012-06-07 | 中国科学院自动化研究所 | 基干感知信息的三维模型形狀分析方法 |
CN111985322A (zh) * | 2020-07-14 | 2020-11-24 | 西安理工大学 | 一种基于激光雷达的道路环境要素感知方法 |
CN112070769A (zh) * | 2020-09-18 | 2020-12-11 | 福州大学 | 一种基于dbscan的分层点云分割方法 |
CN114612795A (zh) * | 2022-03-02 | 2022-06-10 | 南京理工大学 | 基于激光雷达点云的路面场景目标识别方法 |
CN115099304A (zh) * | 2022-05-23 | 2022-09-23 | 中国人民解放军战略支援部队信息工程大学 | 一种建筑物立面点云提取方法 |
CN115390040A (zh) * | 2022-07-15 | 2022-11-25 | 电子科技大学 | 一种基于分割几何特征的树林点云枝叶分离方法 |
CN115423822A (zh) * | 2022-08-23 | 2022-12-02 | 埃夫特智能装备股份有限公司 | 基于特征搜索和区域生长的点云分割方法 |
CN115661509A (zh) * | 2022-09-27 | 2023-01-31 | 上海可明科技有限公司 | 基于三维点云icp配准算法的手术器械识别分类方法 |
CN116091771A (zh) * | 2023-01-12 | 2023-05-09 | 华中科技大学 | 一种复杂机匣腔体点云分割方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116740101B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240168563A1 (en) | Information processing device and method, program and recording medium for identifying a gesture of a person from captured image data | |
Kang et al. | Automatic targetless camera–lidar calibration by aligning edge with gaussian mixture model | |
Wang et al. | Robust adaptive-scale parametric model estimation for computer vision | |
Sampath et al. | Segmentation and reconstruction of polyhedral building roofs from aerial lidar point clouds | |
US8462992B2 (en) | Method of change detection for building models | |
Tazir et al. | CICP: Cluster Iterative Closest Point for sparse–dense point cloud registration | |
JP5328979B2 (ja) | 物体認識方法、物体認識装置、自律移動ロボット | |
CN106203342A (zh) | 基于多角度局部特征匹配的目标识别方法 | |
JP2013010155A (ja) | 対象物把持装置、対象物把持装置の制御方法、およびプログラム | |
KR20150036230A (ko) | 매칭 처리 장치, 매칭 처리 방법, 및 그것을 이용한 검사 장치 | |
Kim et al. | Urban scene understanding from aerial and ground LIDAR data | |
CN112070759A (zh) | 一种叉车托盘检测与定位方法及系统 | |
CN112907601B (zh) | 一种基于特征变换的隧道拱架点云自动提取方法及装置 | |
US11321953B2 (en) | Method and apparatus for posture, dimension and shape measurements of objects in 3D scenes | |
CN112734816A (zh) | 基于CSS-Delaunay的异源图像配准方法 | |
CN114463396B (zh) | 一种利用平面形状和拓扑图投票的点云配准方法 | |
CN117058404A (zh) | 一种基于三维点云的多类型焊接坡口特征提取方法 | |
CN112365528A (zh) | 一种基于主成分分析的三维点云模型逐步求精快速配准方法 | |
CN117629215A (zh) | 一种基于单线激光雷达点云配准的底盘充电回桩方法 | |
CN116740101B (zh) | 用于点云对象的平面分割方法 | |
Tran et al. | 3D point cloud registration based on the vector field representation | |
CN113140021B (zh) | 矢量线生成方法、系统及计算机可读存储介质 | |
US20030156748A1 (en) | Adaptive threshold determination for ball grid array component modeling | |
CN113592976A (zh) | 地图数据的处理方法、装置、家用电器和可读存储介质 | |
CN113366535A (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 |