CN112614172A - 基于三维视觉的平面和/或曲面划分方法以及系统 - Google Patents
基于三维视觉的平面和/或曲面划分方法以及系统 Download PDFInfo
- Publication number
- CN112614172A CN112614172A CN202011567037.4A CN202011567037A CN112614172A CN 112614172 A CN112614172 A CN 112614172A CN 202011567037 A CN202011567037 A CN 202011567037A CN 112614172 A CN112614172 A CN 112614172A
- Authority
- CN
- China
- Prior art keywords
- point
- point cloud
- plane
- points
- target area
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 239000013598 vector Substances 0.000 claims abstract description 49
- 230000009467 reduction Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 10
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 claims description 2
- 238000003466 welding Methods 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- 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
-
- G06T5/70—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- 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
Abstract
本发明提出了一种基于三维视觉的平面和/或曲面划分方法以及系统,所述包括以下步骤:步骤1,获取工件的空间点云信息,并从中截取工件的目标区域点云;步骤2,对所述目标区域点云进行降噪处理;步骤3,计算目标区域点云中每个点Pi的K邻域内所对应的切平面法向量;步骤4,利用Pi的K邻域内各点云对应Pi点的切平面法向量值,对目标区域点云中的每个点云进行归类,然后根据归类后的点云划分出不同的平面和/或曲面。本发明能够准确地对工件的曲面以及平面进行划分。
Description
技术领域
本发明涉及工业机器人识别技术领域,具体涉及一种基于三维视觉的平面和/或曲面划分方法以及系统。
背景技术
工业相机相当于机器的眼睛。目前,机器人在进行自动化加工时,大多通过设定固定的机械臂的运动参数,让机械臂沿着固定的路径往复作业,但这种设备在改变目标工件后需要重新设定参数,柔性化差,只适合大批量流水线作业生成。随着人均收入增加,人们对商品的需求逐渐多样化,当下的企业为了适应这种趋势,生产方式也逐渐步入多品类、小批量的生产模式,这时柔性化加工设备日益受到青睐。
而进行柔性化加工,则需要根据工业相机所获取到的工件信息,对工件的曲面和/平面进行划分,这样机器人才能根据需要选取所需的平面或者曲面完成加工任务。而现有技术中,主要通过对二维图像的边缘提取来完成工件的分类识别,但很多时候需要知道工件具体加工点位,可以通过这种方法来分割平、曲面,得到具体的空间点位信息,进而计算出出工业机器人需要完成对应工序的位置变换信息,从而提高机加工的柔性化程度。
发明内容
针对现有技术的不足,本发明提出一种基于三维视觉的平面和/或曲面划分方法以及系统,能够准确地对工件的曲面以及平面进行划分。
为了实现上述目的,本发明公开了一种基于三维视觉的平面和/或曲面划分方法,包括以下步骤:
步骤1,获取工件的空间点云信息,并从中截取工件的目标区域点云;
步骤2,对所述目标区域点云进行降噪处理;
步骤3,计算目标区域点云中每个点Pi的K邻域内所对应的切平面法向量;其中,i=1,2,3…N;
步骤4,利用Pi的K邻域内各点云对应Pi点的切平面法向量值,对目标区域点云中的每个点云进行归类,然后根据归类后的点云划分出不同的平面和/或曲面。
进一步的,步骤2包括以下子步骤:
步骤201,遍历目标区域点云中的所有点Pi,并计算Pi的K邻域内各Ki点与Pi点之间的距离总和di;
步骤202,对每个点云所对应的di进行从大到小排序,然后按照预设比例剔除di值较大所对应的点云。
进一步的,步骤3具体包括:
确定点Pi的K邻域内的K个点信息,然后根据这K个点信息利用最小二乘法拟合平面,所拟合出的平面法向量即为点Pi的K邻域内所对应的切平面法向量。
进一步的,步骤4包括以下子步骤:
步骤401,计算目标区域点云中某一点Pi与其K邻域内K个点之间的法向量余弦值Pik,并确定各余弦值Pij是否在预设余弦值范围内;
步骤402,统计余弦值Pij在预设余弦值范围内的点云个数Bi,并确定点云个数Bi是否在预设点云个数范围内;是,则标志该点Pi为已检测点,并放入集合Qi中;否,则标志该点Pi为已检测点,但不放入集合Qi中;
步骤403,选取点Pi的K领域内的某一点作为下一待检测点,然后重复步骤401-步骤402,直至遍历所有与Pi以及K邻域相关的点云,遍历完后得到集合Qi;
步骤404,确定集合Qi内点云的个数是否大于预设阈值,若是,则该集合Qi为同一个面内的点云;
步骤405,确定除去点云属于同一面内的集合Qi后的剩余点云,然后利用剩余点云重复步骤401-步骤404来确定下一个面点云Qi+1,当执行n次得到不同的Qn且n大于预设数值时,或者所有点云均被归类完毕时循环结束,从而完成平面和/或曲面的划分。
进一步的,步骤405中,在进行下一面确定点云Qi+1前,需要对除去Qi后的剩余点云进行再次降噪。
另一方面,本发明还公开了一种基于三维视觉的平面和/或曲面划分系统,包括
目标区域点云确定模块,用于获取工件的空间点云信息,并从中截取工件的目标区域点云;
降噪模块,用于对所述目标区域点云进行降噪处理;
切平面法向量计算模块,用于计算目标区域点云中每个点Pi的K邻域内所对应的切平面法向量;其中,i=1,2,3…N;
划分模块,用于利用Pi的K邻域内各点云对应Pi点的切平面法向量值,对目标区域点云中的每个点云进行归类,然后根据归类后的点云划分出不同的平面和/或曲面。
进一步的,降噪模块包括:
距离总和计算单元,用于遍历目标区域点云中的所有点Pi,并计算Pi的K邻域内各Ki点与Pi点之间的距离总和di;
噪点剔除单元,用于对每个点云所对应的di进行从大到小排序,然后按照预设比例剔除di值较大所对应的点云。
进一步的,切平面法向量计算模块具体用于确定点Pi的K邻域内的K个点信息,然后根据这K个点信息利用最小二乘法拟合平面,所拟合出的平面法向量即为点Pi的K邻域内所对应的切平面法向量。
进一步的,划分模块包括:
法向量余弦值计算单元,用于计算目标区域点云中某一点Pi与其K邻域内K个点之间的法向量余弦值Pik,并确定各余弦值Pij是否在预设余弦值范围内;
点Pi分类单元,用于统计余弦值Pij在预设余弦值范围内的点云个数Bi,并确定点云个数Bi是否在预设点的个数范围内;是,则标志该点Pi为已检测点,并放入集合Qi中;否,则标志该点Pi为已检测点,但不放入集合Qi中;
集合Qi确定单元,用于选取点Pi的K领域内的某一点作为下一待检测点,然后重复利用法向量余弦值计算单元和点Pi分类单元遍历所有与Pi以及K邻域相关的点,遍历完后得到集合Qi;
同一面点云确定单元,用于确定集合Qi内点的个数是否大于预设阈值,若是,则该集合Qi为同一个面内的点;
循环单元,用于除去点属于同一面内的集合Qi后的剩余点云,然后根据所述剩余点云重复利用法向量余弦值计算单元、点Pi分类单元、集合Qi确定单元和同一面点云确定单元来确定下一个面点云Qi+1,当执行次数大于预设数值或所有点云均被归类完毕时循环结束,从而完成不同平面和/或曲面的划分。
进一步的,循环单元中,在进行下一面确定点云Qi+1前,需要对除去Qi后的剩余点云进行再次降噪。
与现有技术相比,本发明具有以下优点:本发明通过三维相机获取工件的目标区域点云,并计算目标区域点云中每个点Pi的K邻域内所对应的切平面法向量,然后利用Pi的K邻域内各点云对应Pi点的切平面法向量值,对目标区域点云中的每个点云进行归类,从而最终根据归类后的点云划分出不同的平面和/或曲面。本发明基于三维视觉的点云数据对工件的平面和曲面进行边缘提取,能够准确确定目标点,对企业实现少人化有非常积极的促进作用,可以自主实现焊接对准,零部件与零部件衔接前的对准,目标点的识别等。
在该方法下,能够使得机器人具有独立感知能力,企业能够进一步实现少人化目标,并能够降低系统维护方面时间的开销,提高生产能力和生产率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于三维视觉的平面和/或曲面划分方法的流程图;
图2为本发明基于三维视觉的平面和/或曲面划分系统的结构框图;
图3为自主实现焊接对准应用时的方法实施过程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明实施例公开了一种基于三维视觉的平面和/或曲面划分方法,包括以下步骤:
步骤1,获取工件的空间点云信息,并从中截取工件的目标区域点云;
步骤2,对所述目标区域点云进行降噪处理;
步骤3,计算目标区域点云中每个点Pi的K邻域内所对应的切平面法向量;其中,i=1,2,3…N;
步骤4,利用Pi的K邻域内各点云对应Pi点的切平面法向量值,对目标区域点云中的每个点进行归类,然后根据归类后的点云划分出不同的平面和/或曲面。
参见图2,本发明实施例还公开了一种基于三维视觉的平面和/或曲面划分系统,包括
目标区域点云确定模块,用于获取工件的空间点云信息,并从中截取工件的目标区域点云;
降噪模块,用于对所述目标区域点云进行降噪处理;
切平面法向量计算模块,用于计算目标区域点云中每个点Pi的K邻域内所对应的切平面法向量;其中,i=1,2,3…N;
划分模块,用于利用Pi的K邻域内各点云对应Pi点的切平面法向量值,对目标区域点云中的每个点云进行归类,然后根据归类后的点云划分出不同的平面和/或曲面。
在本实施例中,基于三维视觉的平面和/或曲面划分方法是以基于三维视觉的平面和/或曲面划分系统作为步骤的执行对象。具体地,步骤1是以目标区域点云确定模块作为步骤的执行对象,步骤2是以降噪模块作为步骤的执行对象,步骤3是以切平面法向量计算模块作为步骤的执行对象,步骤4是以划分模块作为步骤的执行对象。
步骤1中,可通过工业相机来获取工件的三维点云数据,即空间点云信息;然后利用预设模板来截取工件的目标区域点云,即机器人加工时,与曲面和/平面边缘提取有关联的点云。
步骤2中,由于工业相机在进行点云测量过程中会有误差,从而扫描出错误的位置点,因此需要对错误点进行剔除。
具体的,步骤2中,在对所述目标区域点云进行降噪处理时,具体包括以下子步骤:
步骤201,遍历目标区域点云中的所有点Pi,并计算Pi的K邻域内各点Ki与Pi点之间的距离总和di;
步骤202,对每个点云所对应的di进行从大到小排序,然后按照预设比例剔除di值较大所对应的点云。
对应的,基于三维视觉的平面和/或曲面划分系统中,降噪模块包括:
距离总和计算单元,用于遍历目标区域点云中的所有点Pi,并计算Pi的K邻域内各Ki点与Pi点之间的距离总和di;
噪点剔除单元,用于对每个点所对应的di进行从大到小排序,然后按照预设比例剔除di值较大所对应的点。
其中,步骤2是以降噪模块作为步骤的执行对象。具体的,步骤201是以距离总和计算单元作为步骤的执行对象,步骤202是以噪点剔除单元作为步骤的执行对象。
本实施例中,距离总和di越大,则证明其所对应的点云越离散,即越偏离目标区域,则该点越有可能为错误点,因此需要按照一定比例剔除距离总和di较大的点。在进行剔除时,按照预设比例剔除排列di位于前方的所对应的点,即从最大的di所对应的点进行剔除,直到剔除数量与di总数的比例达到预设比例时停止剔除。
其中,步骤3中,是利用点Pi的K邻域内的K个点信息来确定点Pi的切平面法向量。
进一步的,步骤3具体包括:
确定点Pi的K邻域内的K个点信息,然后根据这K个点信息利用最小二乘法拟合平面,所拟合出的平面法向量即为点Pi的K邻域内所对应的切平面法向量。
对应的,切平面法向量计算模块具体用于确定点Pi的K邻域内的K个点信息,然后根据这K个点信息利用最小二乘法拟合平面,所拟合出的平面法向量即为点Pi的K邻域内所对应的切平面法向量。
本实施例中,若只利用邻近的三个不共线点计算切平面法向量,结果可能会有较大的误差。因此,为了减少误差,选取Pi的K邻域内的K个点来计算Pi的切平面法向量;其中,这里的K邻域内的K个点为5-10个即可,以保证面与面边缘过度点法向量值的差异性,否则过度会比较平缓,分割效果差。
步骤4中,当需要同时对曲面和平面进行划分时,先将平面进行提取,所有平面都提取完后,然后再对曲面进行提取;即先分别划分出所有平面的点云,然后再分别划分所有曲面的点云,这样可以提高划分精度。
具体的,步骤4包括以下子步骤:
步骤401,计算目标区域点云中某一点Pi与其K邻域内K个点之间的法向量余弦值Pik,并确定各余弦值Pij是否在预设余弦值范围内;
步骤402,统计余弦值Pij在预设余弦值范围内的点个数Bi,并确定Bi点个数是否在预设点的个数范围内;是,则标志该点Pi为已检测点,并放入集合Qi中;否,则标志该点Pi为已检测点,但不放入集合Qi中;
步骤403,选取点Pi的K领域内的某一点作为下一待检测点,然后重复步骤401-步骤402,直至遍历所有与Pi以及K邻域相关的点云,遍历完后得到集合Qi;
步骤404,确定集合Qi内点云的个数是否大于预设阈值,若是,则该集合Qi中的点为同一个面内的点;
步骤405,确定除去点云属于同一面内的集合Qi后的剩余点云,然后利用剩余点云重复步骤401-步骤404来确定下一个面点云Qi+1,当执行n次得到不同的Qn且n大于预设数值时,或者所有点云均被归类完毕时循环结束,从而完成平面和/或曲面的划分。
对应的,基于三维视觉的平面和/或曲面划分系统中,划分模块包括:
法向量余弦值计算单元,用于计算目标区域点云中某一点Pi与其K邻域内K个点之间的法向量余弦值Pik,并确定各余弦值Pij是否在预设余弦值范围内;
点Pi分类单元,用于统计余弦值Pij在预设余弦值范围内的点云个数Bi,并确定点云个数Bi是否在预设点云个数范围内;是,则标志该点Pi为已检测点,并放入集合Qi中;否,则标志该点Pi为已检测点,但不放入集合Qi中;
集合Qi确定单元,用于选取点Pi的K领域内的某一点作为下一待检测点,然后重复利用法向量余弦值计算单元和点Pi分类单元遍历所有与Pi以及K邻域相关的点云,遍历完后得到集合Qi;
同一面点云确定单元,用于确定集合Qi内点云的个数是否大于预设阈值,若是,则该集合Qi为同一个面内的点云;
循环单元,用于除去点云属于同一面内的集合Qi后的剩余点云,然后根据所述剩余点云重复利用法向量余弦值计算单元、点Pi分类单元、集合Qi确定单元和同一面点云确定单元来确定下一个面点云Qi+1,当执行次数大于预设数值或所有点云均被归类完毕时循环结束,从而完成不同平面和/或曲面的划分。
同样的,步骤4是以划分模块作为步骤的执行对象。具体的,步骤401是以法向量余弦值计算单元作为步骤的执行对象,步骤402是以点Pi分类单元作为步骤的执行对象,步骤403是以集合Qi确定单元作为步骤的执行对象,步骤404是以同一面点云确定单元作为步骤的执行对象,步骤405是以循环单元作为步骤的执行对象。
步骤401中,对于平面点云的划分,对于不同的平面,预设余弦值相同;而对于曲面点云的划分,由于不同曲面的曲率不同,因此对于不同的曲面,预设余弦值可能不同。其中,对于平面上的点云,预设余弦值的范围优选为(0.98,1)。
步骤402中,对于K邻域内K个点,由于点云测量的测量存在较小误差,因此并不需要所有K个点与该点Pi之间的法向量余弦值Pik都在预设余弦值的范围内,因此只需要至少Bi个法向量余弦值Pik均在预设余弦值的范围内,即可将Pi归入集合Qi中。无论是对于平面点云的划分,或者是曲面点云的划分,均是如此。
步骤403中,在检测完点Pi是否属于集合Qi后,还需要对点Pi的K邻域内K个点是否可以归入集合Qi进行检测,而当这K个点检测完,再对这K个点的K邻域内的K个点是否可以归入集合Qi进行检测,……,以此类推,直至遍历所有与Pi以及K邻域相关的所有点云,从而最终得到集合Qi。
而当得到集合Qi后,还不能认为集合Qi内的点云就是某一平面上的点云,这是由于若集合Qi内的点云的数量过小,有可能并不能构成一个面。比如若集合Qi内的点的数量只有3个,则3个点构成一个平面的几率不是很大,我们称之为误判。有可能会目标区域点云划分成很多平面,而这对实际应用的用处不大,还会造成干扰;因此,步骤404中,我们还应该考虑到实际情况,当集合Qi内点的个数是否大于预设阈值时,即为我们实际需要到的平面或者曲面,此时Qi内的点才是同一个面内的点。其中,对于不同平面或者不同曲面,预设阈值有可能不同。
其中,步骤401-步骤404为一个面内的点云的确定过程。当确定完一个面后,我们还需要继续确定下一个面的点云,因此在步骤405中,在进行下一个面的确定时,需要先除去构成同一面内的集合Qi内的点,然后对剩下的点云数据重复步骤401-步骤404确定下一个面Qi+1内的点,以免对后面的检测结果造成干扰。当执行n次得到不同的Qn且n大于预设数值时,或者所有点均被归类完毕时循环结束,从而完成平面和/或曲面的划分。其中,这里的预设数值可为工件实际要提取的面数;比如工件一共要提取6个面,当执行6次后得到不同的Qn,且这n个Qn分别属于不同面(即n个Qn内点云的个数均大于预设阈值),则预设数值为6。
进一步的,步骤405中,在进行下一面确定点云Qi+1前,需要对除去Qi后的剩余点云进行再次降噪。
对应的,循环单元中,在进行下一面确定点云Qi+1前,需要对除去Qi后的剩余点云进行再次降噪。
本实施例中,目标区域点云中,当去除属于同一面上的集合Qi内的点云后,由于测量误差,少数本该被归类为Qi内的点并没有被归类,导致剩下的点云可能离散度较大,这样会对后面平面或者曲面上点云的检测结果造成误差,因此在每进行下一面确定点云Qi+1前,都需要对除去Qi后的剩余点云进行再次降噪。
在这里,步骤405中,在进行降噪时,可通过以下步骤进行降噪:
步骤4051,遍历剩余点云中的所有点Pi,并计算Pi的K邻域内各Ki点与Pi点之间的距离总和di;
步骤4052,对每个点云所对应的di进行从大到小排序,然后按照预设比例剔除di值较大所对应的点。
这里的步骤4051、4052与以上步骤201、202的降噪处理过程相同,因此,这里就不再过多赘述。
以上即为曲面和/或平面点云的划分过程。曲面点云或平面点云划分完后,根据曲面点云和平面点云可以根据需求选择目标平面或目标曲面,计算出目标值信息,然后将该目标值信息传送至需要执行的机器人或者设备,从而完成下一步的任务。
例如,当需要自主实现焊接对准时,可参见图3,在进行点云平面配准时,分别根据板件的焊接平面点云和螺母的焊接平面点云提取出板件和螺母的焊接平面后,可对螺纹孔的边缘点进行提取,得到螺纹孔的孔心坐标,就能够计算出螺母移动到板件对应位置的变换矩阵,进而求取抓取螺母的机械臂的运动轨迹,完成焊接任务。而关于如何根据板件的焊接平面点云和螺母的焊接平面点云提取出板件和螺母的焊接平面,并如何计算出螺母移动到板件对应位置的变换矩阵以及机械臂的运动轨迹,这些均属于现有技术,而且也不是本发明的重点,因此这里不再过多赘述。可见,本发明对于提高设备柔性化、对于企业实现少人化有非常积极的促进作用。
综上所述,本发明通过三维相机获取工件的目标区域点云,并计算目标区域点云中每个点Pi的K邻域内所对应的切平面法向量,然后利用Pi的K邻域内各点云对应Pi点的切平面法向量值,对目标区域点云中的每个点云进行归类,从而最终根据归类后的点云划分出不同的平面和/或曲面。本发明基于三维视觉的点云数据对工件的平面和曲面进行边缘提取,能够准确确定目标点,对企业实现少人化有非常积极的促进作用,可以自主实现焊接对准,零部件与零部件衔接前的对准,目标点的识别等。
在该方法下,能够使得机器人具有独立感知能力,企业能够进一步实现少人化目标,并能够降低系统维护方面时间的开销,提高生产能力和生产率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于三维视觉的平面和/或曲面划分方法,其特征在于,包括以下步骤:
步骤1,获取工件的空间点云信息,并从中截取工件的目标区域点云;
步骤2,对所述目标区域点云进行降噪处理;
步骤3,计算目标区域点云中每个点Pi的K邻域内所对应的切平面法向量;其中,i=1,2,3…N;
步骤4,利用Pi的K邻域内各点云对应Pi点的切平面法向量值,对目标区域点云中的每个点云进行归类,然后根据归类后的点云划分出不同的平面和/或曲面。
2.根据权利要求1所述基于三维视觉的平面和/或曲面划分方法,其特征在于,步骤2包括以下子步骤:
步骤201,遍历目标区域点云中的所有点Pi,并计算Pi的K邻域内各Ki点与Pi点之间的距离总和di;
步骤202,对每个点云所对应的di进行从大到小排序,然后按照预设比例剔除di值较大所对应的点。
3.根据权利要求1所述基于三维视觉的平面和/或曲面划分方法,其特征在于,步骤3具体包括:
确定点Pi的K邻域内的K个点信息,然后根据这K个点信息利用最小二乘法拟合平面,所拟合出的平面法向量即为点Pi的K邻域内所对应的切平面法向量。
4.根据权利要求1所述基于三维视觉的平面和/或曲面划分方法,其特征在于,步骤4包括以下子步骤:
步骤401,计算目标区域点云中某一点Pi与其K邻域内K个点之间的法向量余弦值Pik,并确定各余弦值Pij是否在预设余弦值范围内;
步骤402,统计余弦值Pij在预设余弦值范围内的点个数Bi,并确定点个数Bi是否在预设点云个数范围内;是,则标志该点Pi为已检测点,并放入集合Qi中;否,则标志该点Pi为已检测点,但不放入集合Qi中;
步骤403,选取点Pi的K领域内的某一点作为下一待检测点,然后重复步骤401-步骤402,直至遍历所有与Pi以及K邻域相关的点云,遍历完后得到集合Qi;
步骤404,确定集合Qi内点的个数是否大于预设阈值,若是,则该集合Qi为同一个面内的点;
步骤405,确定除去点属于同一面内的集合Qi后的剩余点云,然后利用剩余点云重复步骤401-步骤404来确定下一个面点云Qi+1,当执行n次得到不同的Qn且n大于预设数值时,或者所有点云均被归类完毕时循环结束,从而完成平面和/或曲面的划分。
5.根据权利要求4所述基于三维视觉的平面和/或曲面划分方法,其特征在于,步骤405中,在进行下一面确定点云Qi+1前,需要对除去Qi后的剩余点云进行再次降噪。
6.一种基于三维视觉的平面和/或曲面划分系统,其特征在于,包括
目标区域点云确定模块,用于获取工件的空间点云信息,并从中截取工件的目标区域点云;
降噪模块,用于对所述目标区域点云进行降噪处理;
切平面法向量计算模块,用于计算目标区域点云中每个点Pi的K邻域内所对应的切平面法向量;其中,i=1,2,3…N;
划分模块,用于利用Pi的K邻域内各点对应Pi点的切平面法向量值,对目标区域点云中的每个点进行归类,然后根据归类后的点云划分出不同的平面和/或曲面。
7.根据权利要求6所述基于三维视觉的平面和/或曲面划分系统,其特征在于,降噪模块包括:
距离总和计算单元,用于遍历目标区域点云中的所有点Pi,并计算Pi的K邻域内各点Ki与点Pi之间的距离总和di;
噪点剔除单元,用于对每个点Pi所对应的di进行从大到小排序,然后按照预设比例剔除对应di值较大的点Pi。
8.根据权利要求6所述基于三维视觉的平面和/或曲面划分系统,其特征在于,切平面法向量计算模块具体用于确定点Pi的K邻域内的K个点信息,然后根据这K个点信息利用最小二乘法拟合平面,所拟合出的平面法向量即为点Pi的K邻域内所对应的切平面法向量。
9.根据权利要求6所述基于三维视觉的平面和/或曲面划分系统,其特征在于,划分模块包括:
法向量余弦值计算单元,用于计算目标区域点云中某一点Pi与其K邻域内K个点之间的法向量余弦值Pik,并确定各余弦值Pij是否在预设余弦值范围内;
点Pi分类单元,用于统计余弦值Pij在预设余弦值范围内的点个数Bi,并确定点个数Bi是否在预设点个数范围内;是,则标志该点Pi为已检测点,并放入集合Qi中;否,则标志该点Pi为已检测点,但不放入集合Qi中;
集合Qi确定单元,用于选取点Pi的K领域内的某一点作为下一待检测点,然后重复利用法向量余弦值计算单元和点Pi分类单元遍历所有与Pi以及K邻域相关的点,遍历完后得到集合Qi;
同一面点云确定单元,用于确定集合Qi内点的个数是否大于预设阈值,若是,则该集合Qi为同一个面内的点云;
循环单元,用于除去点云属于同一面内的集合Qi后的剩余点云,然后根据所述剩余点云重复利用法向量余弦值计算单元、点Pi分类单元、集合Qi确定单元和同一面点云确定单元来确定下一个面点云Qi+1,当循环执行次数大于预设数值或所有点云均被归类完毕时循环结束,从而完成不同平面和/或曲面的划分。
10.根据权利要求9所述基于三维视觉的平面和/或曲面划分系统,其特征在于,循环单元中,在进行下一面确定点云Qi+1前,需要对除去Qi后的剩余点云进行再次降噪。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011567037.4A CN112614172A (zh) | 2020-12-25 | 2020-12-25 | 基于三维视觉的平面和/或曲面划分方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011567037.4A CN112614172A (zh) | 2020-12-25 | 2020-12-25 | 基于三维视觉的平面和/或曲面划分方法以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112614172A true CN112614172A (zh) | 2021-04-06 |
Family
ID=75249248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011567037.4A Pending CN112614172A (zh) | 2020-12-25 | 2020-12-25 | 基于三维视觉的平面和/或曲面划分方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112614172A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486741A (zh) * | 2021-06-23 | 2021-10-08 | 中冶南方工程技术有限公司 | 一种料场料堆点云台阶识别方法 |
-
2020
- 2020-12-25 CN CN202011567037.4A patent/CN112614172A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486741A (zh) * | 2021-06-23 | 2021-10-08 | 中冶南方工程技术有限公司 | 一种料场料堆点云台阶识别方法 |
CN113486741B (zh) * | 2021-06-23 | 2022-10-11 | 中冶南方工程技术有限公司 | 一种料场料堆点云台阶识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109272523B (zh) | 基于改进cvfh和crh特征的随机堆放活塞位姿估计方法 | |
CN110315525A (zh) | 一种基于视觉引导的机器人工件抓取方法 | |
CN109434251B (zh) | 一种基于粒子滤波的焊缝图像跟踪方法 | |
CN111126174A (zh) | 一种用于机器人抓取零件的视觉检测方法 | |
CN106934813A (zh) | 一种基于视觉定位的工业机器人工件抓取实现方法 | |
CN110065068B (zh) | 一种基于逆向工程的机器人装配作业演示编程方法及装置 | |
KR20130072063A (ko) | 부품을 인식하기 위한 장치 및 그 방법 | |
CN113096094A (zh) | 三维物体表面缺陷检测方法 | |
CN115482195B (zh) | 一种基于三维点云的列车部件变形检测方法 | |
CN115311629B (zh) | 一种折弯机的异常折弯精度监测系统 | |
JP2021527256A (ja) | ビジョンシステムで画像内のパターンを検出及び分類するためのシステム及び方法 | |
CN112836558A (zh) | 机械臂末端调整方法、装置、系统、设备及介质 | |
CN108582075A (zh) | 一种智能机器人视觉自动化抓取系统 | |
CN110852265B (zh) | 一种应用在工业流水线上的快速目标检测和定位方法 | |
CN112614172A (zh) | 基于三维视觉的平面和/或曲面划分方法以及系统 | |
US11961255B2 (en) | Object detection device and object detection computer program | |
CN116385440B (zh) | 一种弧形刀片视觉检测方法 | |
CN116740036A (zh) | 一种钢管管端引熄弧板切割点位检测方法和系统 | |
Butters et al. | Using machine vision to command a 6-axis robot arm to act on a randomly placed zinc die cast product | |
JP2011174891A (ja) | 位置姿勢計測装置、位置姿勢計測方法、及びプログラム | |
Frank et al. | Stereo-vision for autonomous industrial inspection robots | |
CN116228783A (zh) | 一种复杂背景下的工件点云分割方法及其应用 | |
CN110021027B (zh) | 一种基于双目视觉的切边点计算方法 | |
CN110427982B (zh) | 一种基于图像处理的自动布线机路线校正方法及系统 | |
Pyo et al. | Precise pose estimation using landmark feature extraction and blob analysis for bin picking |
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 |