CN110751640A - 一种基于角点配对的深度图像的四边形检测方法 - Google Patents
一种基于角点配对的深度图像的四边形检测方法 Download PDFInfo
- Publication number
- CN110751640A CN110751640A CN201910989813.0A CN201910989813A CN110751640A CN 110751640 A CN110751640 A CN 110751640A CN 201910989813 A CN201910989813 A CN 201910989813A CN 110751640 A CN110751640 A CN 110751640A
- Authority
- CN
- China
- Prior art keywords
- point
- edge line
- corner
- edge
- pixel
- 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 38
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000011218 segmentation Effects 0.000 claims description 74
- 101100079104 Schizosaccharomyces pombe (strain 972 / ATCC 24843) arm1 gene Proteins 0.000 claims description 32
- 238000010586 diagram Methods 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 4
- 238000005452 bending Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 abstract description 7
- 239000013598 vector Substances 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
-
- 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
- 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
- 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
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- 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/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种基于角点配对的深度图像的四边形检测方法,包括:S1、获取目标的深度图像,分别获取X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点进行分类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据每组最长边缘线提取角点;S6、对提取的角点进行配对;S7、根据角点配对结果结合上表面、左垂面和右垂面的分割图像实现目标的定位。本发明应用在物流行业中,能够解决对立方物体状包裹等目标的体积测量局限和耗时的问题,提高包裹分拣效率。
Description
技术领域
本发明涉及深度图像的目标识别领域,特别涉及一种基于角点配对的深度图像的四边形检测方法。
背景技术
深度图像也被称为距离影像,是指将从图像采集器到场景中各点的距离作为像素值的图像,它直接反映了目标可见表面的几何形状,因此,基于深度图像的应用比较广泛,尤其是在物流行业。目前,国内物流、港口航运、机场航运的吞吐量非常大,且呈递增趋势,各个分拣中心对包裹、货物、货柜等体积的测量比较局限和耗时,降低了运输效率。
现有技术中,包裹多为立方物体状,对包裹的体积测量主要通过比对传输带装货前和装货后的深度图像,提取包裹所在的矩形区域获知包裹的长宽,利用差异特征获取包裹的高度,计算包裹的体积,这种方式局限于特定场景,应用范围较小,无法满足实际物流行业中包裹密集堆积的需求;另外现有技术大部分要求相机垂直拍摄物体,对相机拍摄角度限制较大,而且基本上只能检测单个物体,多个物体检测误差较大,而且对于立方物体的多个面难以准确检测,且受外界环境噪声干扰,影响计算精度。目前对大型的货物、货柜的体积测量也基本采用手工测量。
发明内容
为解决现有技术中对立方物体状包裹、货物、货柜等目标的体积测量局限和耗时的问题,本发明提出一种基于角点配对的深度图像的四边形检测方法。
本发明的技术方案是这样实现的:
一种基于角点配对的深度图像的四边形检测方法,包括:
S1、获取目标的深度图像,根据深度图像分别获取与其大小相同的X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点进行分类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线组集合的每组最长的边缘线提取角点;S6、对提取的角点进行配对;S7、根据角点配对结果结合上表面、左垂面和右垂面的分割图像实现目标的定位。
优选的是,根据梯度图对其中的像素点进行分类的具体方式为:
遍历X方向的梯度图中的每个像素点值DX(r,c),Y方向的梯度图中的每个像素点值DY(r,c),其中r=0...m,c=0...n,m代表所在梯度图的行数,n代表所在梯度图的列数;
给定正分割阈值p和负分割阈值q,大于等于p的 DY(r,c)对应的像素点位于垂直面,小于等于q的 DY(r,c)对应的像素点位于水平面;
对于所有垂直面上的点,小于等于q的 DX(r,c)对应的像素点位于左垂面,大于等于p的DX(r,c)对应的像素点位于右垂面。
优选的是,根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像的具体方式为:
根据分类结果获取与梯度图大小相同的水平面、左垂面和右垂面的二值图,定义与梯度图大小相同的上表面分割图像,设定像素点的初始值为0;
从下到上遍历水平面的二值图中第一列的像素点,根据深度图获取每个像素点的可信度值,给定可信度阈值,若该像素点的可信度值小于给定的可信度阈值,则该像素点的状态为未知,处理下一像素点;否则,若对应的像素点值为255,则该像素点的状态为水平,若对应的像素点为0,则该像素点的状态为垂直,若像素点值为0的像素点的数目大于给定的高度阈值,则将其后出现的像素点值为255的像素点对应在上表面分割图像上并将其像素值更新为255,记录每一次像素点状态发生转变的像素点所在的行数,遍历完第一列所有行的像素点后,将从记录的行数起到第1行的第一列所有像素点对应在上表面分割图像上的位置的像素值置为0,同样的方式遍历完平行面图像的所有行列,获取初始的上表面分割图像,对获取的初始的上表面分割图像进行修补,更新上表面分割图像;
将边缘点图中的边缘点分别一一对应在更新后的上表面分割图像、左垂面的二值图和右垂面的二值图中,将更新后的上表面分割图像中水平状态的非边缘点的像素点值更新为0,将左垂面的二值图中非边缘点的像素值为255的像素点值更新为0,将右垂面的二值图中非边缘点的像素值为255的像素点值更新为0,获取最终的上表面分割图像、左垂面的二值图和右垂面的二值图,将左垂面的二值图和右垂面的二值图分别记作左垂面的分割图像和右垂面的分割图像。
优选的是,获取深度图像的边缘点图的具体方式为:
计算分类后的垂直面的所有像素点的Y方向的梯度平均值Yp、水平面的所有像素点的Y方向的梯度平均值Yq、左垂面的所有像素点的X方向的梯度平均值Xp以及右垂面的所有像素点的X方向的梯度平均值Xq;根据Yp、Yq、Xp、Xq设定Y方向正阈值、Y方向负阈值、X方向正阈值、X方向负阈值;定义一个与梯度图大小相同的图像,该图像中的像素点的初始值设定为0;遍历X方向的梯度图和Y方向的梯度图的所有像素点,对于每一个像素点,如果其Y方向的梯度值的绝对值大于X方向的梯度值的绝对值,且小于Y方向负阈值或大于等于Y方向正阈值,该像素点为边缘点,将该像素点对应到定义的图像中并将其像素值更新为255;如果其Y方向的梯度值的绝对值小于X方向的梯度值的绝对值,且其X方向的梯度值的绝对值小于等于X方向负阈值或大于等于X方向正阈值,该像素点为边缘点,将该像素点对应到定义的图像中并将其像素值更新为255;得到边缘点图。
优选的是,对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合的具体方式为:
对边缘点图进行边缘线检测,获取所有边缘线并按照长到短排序成边缘线集合,定义一个空的共线边缘线组集合,共线边缘线组集合包含多组边缘线,每组内的边缘线是共线的,两组间边缘线是不共线的,首先将最长的边缘线加入到共线边缘线组集合的一组中,对于边缘线集合中的每一条A边缘线,判断其与共线边缘线组集合的每组最长的B边缘线是否共线,判断条件依次如下:
C1、计算A边缘线与B边缘线的角度差,判断该角度差是否小于等于给定的角度差阈值e;
C2、若角度差小于等于角度差阈值e,计算B边缘线的起点到A边缘线的起点和终点的距离T1和T2,B边缘线的终点到A边缘线的起点和终点的距离T3和T4,给定点间距离阈值G,判断距离T1、T2、T3和T4中的最小距离是否小于等于点间距离阈值G;
C3、若min(min(T1,T2),min(T3,T4))≤G,计算A边缘线的长度L和B边缘线的长度H,判断距离T1、T2、T3和T4中的最大距离是否小于G+H+L;
C4、若max(max(T1,T2),max(T3,T4))<(G+H+L),计算B边缘线的起点和终点到A边缘线的距离S1和S2,A边缘线的起点和终点到B边缘线的距离S3和S4,给定距离阈值J,若T1和T2的最大距离小于L+G,判断S1是否小于等于J;若距离T3和T4的最大距离小于L+G,判断S2是否小于等于J;若距离T1和T3的最大距离小于L+G,判断S3是否小于等于J;若距离T2和T4的最大距离小于L+G,判断S4是否小于等于J;若任意最大距离均大于等于L+G则直接执行下一步骤;
C5、若满足C4中的条件,则A边缘线和B边缘线共线,将A边缘线加入到共线边缘线组集合的该组中,更新该组的边缘线;
判断过程中,任一个条件不满足,直接处理共线边缘线组集合中的下一组的最长边缘线,直至处理完共线边缘线组集合的所有组,每组边缘线用其最长边缘线表示,如果A边缘线与共线边缘线组集合的所有组的最长边缘线均不共线,则直接将A边缘线加入到共线边缘线组集合的新组中,更新共线边缘线组集合的组数;A边缘线和B边缘线共线后,判断A边缘线和B边缘线是否满足合并条件,若T1≤H、T2≤H、T3≤H且T4≤H,则A边缘线与B边缘线不满足合并条件,否则,将A边缘线和B边缘线合并,更新B边缘线的起点和终点,更新共线边缘线组集合;
与处理A边缘线相同的方式处理边缘线集合中的下一条边缘线,不断更新共线边缘线组集合,共线边缘线组集合中每组的边缘线按照长短排序,获取最终的共线边缘线组集合。
优选的是,根据共线边缘线组集合的每组最长的边缘线提取角点的具体方式为:
C1、获取共线边缘线组集合的每组的最长边缘线,记作种子边缘线集合,将种子边缘线集合的所有边缘线按从长到短排序,遍历种子边缘线集合的所有边缘线,从其中最长的C边缘线开始计算其与其余任一条D边缘线的夹角a,a的范围是0到180度,给定弯曲度阈值b,判断min(a,180-a)是否大于b;
C2、若min(a,180-a)>b,计算C边缘线与D边缘线的交点W(Wx,Wy),判断Wx或Wy是否未超出图像范围;
C3、若Wx或Wy未超出图像范围,判断交点W是否是角点,判断交点W是角点的条件为:先计算C边缘线的两个端点到交点W的距离d1和d2,定义最小距离min_d1,如果交点W在C边缘线的两个端点之间,则min_d1=0,否则min_d1=min(d1,d2), 若最小距离min_d1不为0或min(d1,d2)小于给定的臂长阈值Z1,再计算D边缘线的两个端点到交点W的距离d3和d4,定义最小距离min_d2,如果交点W在D边缘线的两个端点之间,则min_d2=0,否则min_d2=min(d3,d4),若最小距离min_d2不为0或 min(d3,d4)小于给定的臂长阈值Z2,判断min(d1,d2)和min(d3,d4)是否小于给定的交点半径阈值r;
C4、若满足C3的条件,给定四边形臂间差距阈值v,判断max(min(d1,d2),min(d3,d4))是否小于等于v,若满足则交点W是四边形的角点;
该条件C1到C4中依次判断,任一个条件不满足,则处理下一条边缘线;
将获取的第一个角点添加到角点集合中,对于获取的其余角点,将计算其与角点集合中所有角点的距离Li,i为变量,判断与角点集合中的所有角点是否相似,若Li<r,并与其余角点不相似,将该角点添加到角点集合中;
该交点W对应两条臂,第一条臂为其与C边缘线的终点的连线,第二条臂为其与D边缘线的终点的连线,C边缘线的终点为C边缘线中d1和d2中较大的对应端点,D边缘线的终点为D边缘线中d3和d4中较大的对应端点;同样的方式处理种子边缘线组集合中的其余任两条边缘线,获取所有的角点,根据种子边缘线集合扩展每个角点的两臂,得到最终的角点集合,实现角点提取。
优选的是,对提取的角点配对的具体方式为:
C1、对角点集合中的所有角点进行两两配对,若配对的两个角点的坐标不同,则继续判断两个角点之间是否共享一个臂,将一个角点的两臂标记为arm11和arm12,另一个角点的两臂记为arm21和arm22,先判断arm11和arm21是否为两个角点的同一个臂;
C2、判断arm11和arm21是同一臂的方式为:若两个角点之间的距离大于arm11和arm21的最小值的四分之一,先计算arm11与两个角点连线的角度差的绝对值x1,arm21与两个角点连线的角度差的绝对值x2,x1和x2的取值范围是[0,180],给定角度相似阈值f,若x1和x2均小于角度相似阈值f,给定角点间距离阈值u和长度比例阈值ratio,若arm11和arm21的长度和大于等于两个角点距离的ratio倍,并大于等于两个角点的距离与u的差值,则判定arm11和arm21是同一臂,角点配对成功;
否则,采用同样的方法判断两个角点的其余任两个臂是否是同一臂,若均不是则角点配对失败,否则角点配对成功;
同样的方式对其余的角点两两配对,获取所有配对成功的角点组合,每个角点组合的同一臂为共享臂,另两个臂为打开臂,计算每一个角点组合中两个打开臂与共享臂之间的夹角u1和u2,夹角u1和u2的取值范围是[0,180],将夹角u1或u2小于弯曲度阈值b的角点组合剔除;对剩余的角点组合,判断其两个打开臂是否在共享臂的同一侧,将两个打开臂不在共享臂的同一侧的角点组合剔除,最后根据当前配对的角点组合确定一个四边形;同样的方式处理所有的角点组合,获取所有的四边形。
优选的是,根据种子边缘线集合扩展每个角点的两臂的具体方式为:遍历种子边缘线集合的所有边缘线,对于每个角点,计算其到当前种子边缘线的距离,如果该距离小于给定的阈值,则判断该种子边缘线是否可以扩展当前角点的两臂,首先判断该种子边缘线是否可以扩展当前角点的臂1,具体方式为:
C1、计算当前角点到该种子边缘线的起点和终点的距离,记作dist1和
dist2,判断当前角点是否在该种子边缘线的两端点之间;
C2、若当前角点在该种子边缘线的两端点之间,将当前角点到该种子边缘
线的起点所在的线段记作M,线段M的起点为当前角点,终点为该种子边缘线的起点,当前角点的臂1所在的线段记作N,线段N的起点为当前角点,计算线段M的角度angle1和线段N的角度angle2,判断angle1和angle2的差的绝对值是否小于给定的角度阈值;
C3、若angle1和angle2的差的绝对值小于给定的角度阈值,则计算线M的终点到当前角点的距离rM,计算线段N的长度rN,判断rM与rN的差值是否小于给定的长度差阈值;
C4、若rM与rN的差值小于给定的长度差阈值,计算线段N的终点
到当前种子边缘线的距离,若该距离小于给定的点到线的距离阈值且dist1大于rN,则当前种子边缘线可以扩展当前角点的臂1,当前角点的扩展后的臂1的终点为该种子边缘线的起点,扩展后的臂1的长度为dist1;
C5、若C2到C4的任一条件不满足,则表明当前种子边缘线不可以扩展
当前角点的臂1,则采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂2,如果可以扩展,扩展后的臂2的终点为该种子边缘线的起点,扩展后的臂2的长度为dist1,如果不能扩展,直接执行下一步骤;
C6、将C2中的线段M的终点更新为当前种子边缘线的终点,线段N更新为当前角点的臂2所在的线段,线段N的起点为当前角点,dist1更新为dist2,采用同样的方法再次判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展;
C7、此时,若不满足C1中的条件,判断dist1 是否小于等于 dist2;
C8、若dist1 小于等于 dist2,将C2中的线段M的起点更新为当前种子边
缘线的起点,终点更新为当前边缘线的终点,线段N为当前角点的臂1或臂2所在的线段,采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展;
C9、若dist1大于 dist2,将C2中的线段M的起点更新为当前种子边缘线
的终点,终点更新为当前边缘线的起点,线段N为当前角点的臂1或臂2所在的线段,dist1更新为dist2,采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展。
优选的是,对获取的初始的上表面分割图像进行修补,具体方式为:给定图像大小阈值t,定义与上表面分割图像大小相同的上表面修补图像,设定像素点的初始值为0,根据上表面分割图像更新上表面修补图像的第t列到总列数减去t列的像素点值,遍历上表面分割图像的所有行和第1到第2*t列,将上表面修补图像的每行的第t列的每个像素点值更新为上表面分割图像的当前行的第1到第2*t列的像素点值之和,更新上表面修补图像;遍历上表面分割图像的所有行和第t+1列到总列数减去t列,将上表面修补图像的每个像素点值更新为当前行当前列的前一列的上表面修补图像像素点值加上当前行当前列加上t列的的上表面分割图像的像素点值再减去当前行当前列减去t列的的上表面分割图像的像素点值,获取最终的上表面修补图像;遍历上表面修补图像的所有像素点,给定像素值总和阈值,如果当前像素点的像素值大于给定的像素值总和阈值,则将其对应在上表面分割图像上的像素值更新为255,否则更新为0,更新上表面分割图像。
优选的是,将A边缘线和B边缘线合并,更新B边缘线的起点和终点的方式为:B边缘线为其所在组别的最长边缘线,若A边缘线和B边缘线共线且满足合并条件,则根据A边缘线更新B边缘线的起点和终点,更新B边缘线的终点的判断方式为:C1、若T1 >H且 T2 > H,在此基础上,T3 > T4,则将B边缘线终点更新为A边缘线的起点,不满足T3 > T4的条件,将B边缘线终点更新为A边缘线的终点;C2、不满足C1中的条件T1 >H且 T2 > H,若T1 > H但T2 <=H,则将B边缘线终点更新为A边缘线的起点;C3、不满足C1和C2中的条件,如果T2 >H但T1<=H,则将B边缘线终点更新为A边缘线的终点;
更新B边缘线的起点的判断方式为:C1、若T3>H且T4 > H,在此基础上,T1 > T2,则将B边缘线起点更新为A边缘线的起点,若不满足T1 > T2的条件,将B边缘线起点更新为A边缘线的终点;C2、不满足C1中的条件T3>H且T4 > H,若T3>H但T4 <=H,则将B边缘线起点更新为A边缘线的起点;C3、不满足该C1和C2中的条件,若T4 > H但T3<=H,则将B边缘线起点更新为A边缘线的终点。
本发明的有益效果为:本发明的基于角点配对的深度图像的四边形检测方法,在通过分割图像快速区分出立方物体的表面的基础上,对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取所有共线的边缘线组别,每个组别内边缘线共线,选取其最长边缘线表示每组边缘线,在计算时每组边缘线也只使用其最长边缘线,减少计算量,提高检测的稳定性;由于立方物体包含多个平面且立方物体投影后上每个面可能会发生变形,不再是规则的矩形,所以难以直接进行矩形检测获取立方物体的表面,本发明方法利用聚类合并后的边缘线间的交点提取角点并进行配对,角点配对验证两个角点之间是否存在共享臂,角点的两个打开臂是否在其共享臂的同一侧以及每个角点间的夹角是否大于给定的角度阈值,能够实现立方物体在深度图像中能够看见的所有可能的四边形检测,再结合上表面、左垂面和右垂面分割图像先确定立方体上表面和立方体整体轮廓,再确定每个上表面对应的左垂直面和右垂直面,准确实现立方物体的检测。实际应用在体积测量中至少包含上表面和一个垂直面。
本发明的四边形检测方法应用在包裹、货物、货柜等目标的体积测量中,避免比对传输带装货前和装货后的深度图像,而是直接识别立方物体状目标,获取对应的长宽高计算目标的体积,解决了包裹体积测量局限和耗时的问题,帮助物流行业提高包裹分拣效率,具有重要的实际应用意义。本发明的四边形检测方法,也可在图像识别领域应用。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:一种基于角点配对的深度图像的四边形检测方法,包括:S1、获取目标的深度图像,根据深度图像分别获取与其大小相同的X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点进行分类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线组集合的每组最长的边缘线提取角点;S6、对提取的角点进行配;S7、根据角点配对结果结合上表面、左垂面和右垂面的分割图像实现目标的定位。
深度图像可采用深度相机获取,目前的深度相机根据其工作原理可以分为三种:TOF(Time Of Flight)深度相机、双目立体视觉深度相机和结构光深度相机,实际使用中可根据具体需求选择合适的深度相机获取深度图像。像素点分类方法适用于任意场景的任意物体,实际应用在立方物体定位时,立方物体在图像中至少包含可见的上表面和一个垂直面,目标所在的平面是深度图像中最低的平面或者直接在地面上,便于更加准确地实现目标的定位。
S2中根据梯度图对其中的像素点进行分类的具体方式为:遍历X方向的梯度图中的每个像素点值DX(r,c),Y方向的梯度图中的每个像素点值DY(r,c),其中r=0...m,c=0...n,m代表所在梯度图的行数,n代表所在梯度图的列数;给定正分割阈值p和负分割阈值q,大于等于p的 DY(r,c)对应的像素点位于垂直面,小于等于q的 DY(r,c)对应的像素点位于水平面;对于所有垂直面上的点,小于等于q的 DX(r,c)对应的像素点位于左垂面,大于等于p的DX(r,c)对应的像素点位于右垂面。
S2中获取深度图像的边缘点图的具体方式为:计算分类后的垂直面的所有像素点的Y方向的梯度平均值Yp、水平面的所有像素点的Y方向的梯度平均值Yq、左垂面的所有像素点的X方向的梯度平均值Xp以及右垂面的所有像素点的X方向的梯度平均值Xq;根据Yp、Yq、Xp、Xq设定Y方向正阈值、Y方向负阈值、X方向正阈值、X方向负阈值;定义一个与梯度图大小相同的图像,该图像中的像素点的初始值设定为0;遍历X方向的梯度图和Y方向的梯度图的所有像素点,对于每一个像素点,如果其Y方向的梯度值的绝对值大于X方向的梯度值的绝对值,且小于Y方向负阈值或大于等于Y方向正阈值,该像素点为边缘点,将该像素点对应到定义的图像中并将其像素值更新为255,如果其Y方向的梯度值的绝对值小于X方向的梯度值的绝对值,且其X方向的梯度值的绝对值小于等于X方向负阈值或大于等于X方向正阈值,该像素点为边缘点,将该像素点对应到定义的图像中并将其像素值更新为255;得到边缘点图,边缘点图是二值图。
S3中根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像的具体方式为:根据分类结果获取与梯度图大小相同的水平面、左垂面和右垂面的二值图,定义与梯度图大小相同的上表面分割图像,设定像素点的初始值为0;从下到上遍历水平面的二值图中第一列的像素点,根据深度图获取每个像素点的可信度值,给定可信度阈值,若该像素点的可信度值小于给定的可信度阈值,则该像素点的状态为未知,处理下一像素点;否则,若对应的像素点值为255,则该像素点的状态为水平,若对应的像素点为0,则该像素点的状态为垂直,若像素点值为0的像素点的数目大于给定的高度阈值,则将其后出现的像素点值为255的像素点对应在上表面分割图像上并将其像素值更新为255,记录每一次像素点状态发生转变的像素点所在的行数,遍历完第一列所有行的像素点后,将从记录的行数起到第1行的第一列所有像素点对应在上表面分割图像上的位置的像素值置为0,同样的方式遍历完平行面图像的所有行列,获取初始的上表面分割图像;对获取的初始的上表面分割图像进行修补,更新上表面分割图像;对获取的初始的上表面分割图像进行修补的具体方式为:给定图像片大小阈值t,定义与上表面分割图像大小相同的上表面修补图像,设定像素点的初始值为0,根据上表面分割图像更新上表面修补图像的第t列到总列数减去t列的像素点值,遍历上表面分割图像的所有行和第1到第2*t列,将上表面修补图像的每行的第t列的每个像素点值更新为上表面分割图像的当前行的第1到第2*t列的像素点值之和,更新上表面修补图像;遍历上表面分割图像的所有行和第t+1列到总列数减去t列,将上表面修补图像的每个像素点值更新为当前行当前列的前一列的上表面修补图像像素点值加上当前行当前列加上t列的的上表面分割图像的像素点值再减去当前行当前列减去t列的的上表面分割图像的像素点值,获取最终的上表面修补图像;遍历上表面修补图像的所有像素点,给定像素值总和阈值,如果当前像素点的像素值大于给定的像素值总和阈值,则将其对应在上表面分割图像上的像素值更新为255,否则更新为0,更新上表面分割图像;
将边缘点图中的边缘点分别一一对应在更新后的上表面分割图像、左垂面的二值图和右垂面的二值图中,将更新后的上表面分割图像中水平状态的非边缘点的像素点值更新为0,将左垂面的二值图中非边缘点的像素值为255的像素点值更新为0,将右垂面的二值图中非边缘点的像素值为255的像素点值更新为0,获取最终的上表面分割图像、左垂面的二值图和右垂面的二值图,将左垂面的二值图和右垂面的二值图分别记作左垂直分割图像和右垂直分割图像。
在计算过程中,由于噪声干扰可能出现上表面上的个别点被误判为垂直面的点,导致上表面点不连续,为提高算法稳定性,对上表面分割图像进行修补。
记录每一次像素点状态发生转变的像素点所在的行数,在S1中获取目标的深度图像,目标在深度图像中完全能够看到,从下向上遍历每一列像素点,如果先后出现立方物体的垂直面和水平面,则之后的像素点类别一定会再发生改变,将最后一次记录的像素点状态发生改变的位置对应的行数到第一行的当前列的所有像素点对应在上表面分割图像上的像素值置为0(记录行数到第一行的点值有可能是0也有可能是255,统一置为0);否则很有可能当前立方体的上表面没有完全出现在画面中,剔除这种上表面的点,将其对应在上表面分割图像上的像素值置为0。
S4中对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合的具体方式为:对边缘点图进行边缘线检测,获取所有边缘线并按照长到短排序成边缘线集合,定义一个空的共线边缘线组集合,共线边缘线组集合包含多组边缘线,每组内的边缘线是共线的,两组间边缘线是不共线的,首先将最长的边缘线加入到共线边缘线组集合的一组中,对于边缘线集合中的每一条A边缘线,判断其与共线边缘线组集合的每组最长的B边缘线是否共线,判断条件依次如下:C1、计算A边缘线与B边缘线的角度差,判断该角度差是否小于等于给定的角度差阈值e,该角度差大于e,A边缘线和B边缘线肯定不共线,因为共线的两条边缘线应该近似平行,角度差比较小;C2、若该角度差小于等于e,计算B边缘线的起点到A边缘线的起点和终点的距离T1和T2,B边缘线的终点到A边缘线的起点和终点的距离T3和T4,给定点间距离阈值G,判断距离T1、T2、T3和T4中的最小距离是否小于等于点间距离阈值G, min(min(T1,T2),min(T3,T4))>G,则A和B边缘线肯定不共线;C3、若min(min(T1,T2),min(T3,T4))≤G,计算A边缘线的长度L和B边缘线的长度H,判断距离T1、T2、T3和T4中的最大距离是否小于G+H+L,max(max(T1,T2),max(T3,T4))≥(G+H+L),A和B边缘线不共线,C2和C3的条件主要是为了检测A边缘线和B边缘线的两个端点间的最小距离和最大距离间的差长度是否大于给定的阈值,如果最小距离大于给定的点间距离阈值,或最大距离大于两条边缘线的长度与给定的点间距离阈值之和,说明这两条边缘线离得比较远,A和B边缘线不共线;C4、若max(max(T1,T2),max(T3,T4))<(G+H+L),计算B边缘线的起点和终点到A边缘线的距离S1和S2,A边缘线的起点和终点到B边缘线的距离S3和S4,给定距离阈值J,若T1和T2的最大距离小于L+G,判断S1是否小于等于J;若距离T3和T4的最大距离小于L+G,判断S2是否小于等于J;若距离T1和T3的最大距离小于L+G,判断S3是否小于等于J;若距离T2和T4的最大距离小于L+G,判断S4是否小于等于J;若任意最大距离均大于等于L+G则直接执行下一步骤;C5、满足C4中的条件,则A边缘线和B边缘线共线,将A边缘线加入到共线边缘线组集合的该组中,更新该组的边缘线;在上述C1到C6的依次判断过程中,任一个条件不满足,直接处理共线边缘线组集合中的下一组的最长边缘线,直至处理完共线边缘线组集合的所有组,每组边缘线用其最长边缘线表示,如果A边缘线与共线边缘线组集合的所有组的最长边缘线均不共线,则直接将A边缘线加入到共线边缘线组集合的新组中,更新共线边缘线组集合的组数;A边缘线和B边缘线共线后,判断A边缘线和B边缘线是否满足合并条件,若T1≤H、T2≤H、T3≤H且T4≤H,则A边缘线与B边缘线不满足合并条件,否则,将A边缘线和B边缘线合并,更新B边缘线的起点和终点,更新共线边缘线组集合;;与处理A边缘线相同的方式处理边缘线集合中的下一条边缘线,不断更新共线边缘线组集合,共线边缘线组集合中的边缘线按照长短排序,获取最终的共线边缘线组集合。
此处进行边缘线的共线聚类与合并主要是因为在边缘线检测过程中,往往会因为噪声干扰导致原本连续的边缘线断开,原本只有一条边缘线在检测时可能检测到多条近似平行距离很近但长短不一的多条边缘线,会降低算法的稳定性和精度,进行共线聚类与合并主要是为了将有可能属于同一条线的多条线段划分为同一组,并进行合并,将断开的多条共线边缘线进行合并,获取每组的最长边缘线,用最长边缘线表示该组的所有边缘线,一方面减少了计算量,另一方面提高算法的稳定性。
将A边缘线和B边缘线合并,更新B边缘线的起点和终点的方式为:B边缘线为其所在组别的最长边缘线,若A边缘线和B边缘线共线且满足合并条件,则根据A边缘线更新B边缘线的起点和终点,如果边缘线的两端点x坐标不同,定义边缘线的左侧端点为起点,右侧端点为终点,如果两端点x坐标相同,则定义上面的端点为起点,下面的端点为终点。更新B边缘线的终点的判断方式为:C1、若T1 >H且 T2 > H,在此基础上,T3 > T4,则将B边缘线终点更新为A边缘线的起点,不满足T3 > T4的条件,将B边缘线终点更新为A边缘线的终点;C2、不满足C1中的条件T1 >H且 T2 > H,若T1 > H但T2 <=H,则将B边缘线终点更新为A边缘线的起点;C3、不满足C1和C2中的条件,如果T2 >H但T1<= H,则将B边缘线终点更新为A边缘线的终点。更新B边缘线的起点的判断方式为:C1、若T3>H且T4 > H,在此基础上,T1 > T2,则将B边缘线起点更新为A边缘线的起点,若不满足T1 > T2的条件,将B边缘线起点更新为A边缘线的终点;C2、不满足C1中的条件T3>H且T4 > H,若T3>H但T4 <=H,则将B边缘线起点更新为A边缘线的起点;C3、不满足该C1和C2中的条件,若T4 > H但T3<=H,则将B边缘线起点更新为A边缘线的终点。
S5中根据共线边缘线组集合的所有边缘线提取角点的具体方式为:根据共线边缘线组集合的每组最长的边缘线提取角点的具体方式为:C1、获取共线边缘线组集合的每组的最长边缘线,记作种子边缘线集合,遍历种子边缘线集合的所有边缘线,将种子边缘线集合的所有边缘线按从长到短排序,从其中最长的C边缘线开始计算其与其余任一条D边缘线的夹角a,a的范围是0到180度,给定弯曲度阈值b,判断min(a,180-a)是否大于b;C2、若min(a,180-a)>b,计算C边缘线与D边缘线的交点W(Wx,Wy),判断Wx或Wy是否未超出图像范围;若Wx或Wy超出图像范围,开始处理下一条边缘线;C3、若Wx或Wy未超出图像范围,判断交点W是否是角点,判断交点W是角点的条件为:先计算C边缘线的两个端点到交点W的距离d1和d2,定义最小距离min_d1,如果交点W在C边缘线的两个端点之间,则min_d1=0,否则min_d1=min(d1,d2), 若最小距离min_d1不为0或min(d1,d2)小于给定的臂长阈值Z1,再计算D边缘线的两个端点到交点W的距离d3和d4,定义最小距离min_d2,如果交点W在D边缘线的两个端点之间,则min_d2=0,否则min_d2=min(d3,d4),若最小距离min_d2不为0或 min(d3,d4)小于给定的臂长阈值Z2,判断min(d1,d2)和min(d3,d4)是否小于给定的交点半径阈值r;C4、若满足C3的条件,给定四边形臂间差距阈值v,判断max(min(d1,d2),min(d3,d4))是否小于等于v,若不满足处理下一条边缘线,若满足则交点W是四边形的角点;该条件C1到C4中依次判断,任一个条件不满足,则处理下一条边缘线;将获取的第一个角点添加到角点集合中,对于获取的其余角点,将计算其与角点集合中所有角点的距离Li,i为变量,判断与角点集合中的所有角点是否相似,若Li<r,并与其余角点不相似,将该角点添加到角点集合中;该交点W对应两条臂,第一条臂为其与C边缘线的终点的连线,第二条臂为其与D边缘线的终点的连线,C边缘线的终点为C边缘线中d1和d2中较大的对应端点,D边缘线的终点为D边缘线中d3和d4中较大的对应端点;同样的方式处理种子边缘线集合中的其余任两条边缘线,获取所有的角点,根据种子边缘线集合扩展每个角点的两臂,得到最终的角点集合,实现角点提取。
根据种子边缘线集合扩展每个角点的两臂的具体方式为:遍历种子边缘线集合的所有边缘线,对于每个角点,计算其到当前种子边缘线的距离,如果该距离小于给定的阈值,则判断该种子边缘线是否可以扩展当前角点的两臂,首先判断该种子边缘线是否可以扩展当前角点的臂1,具体方式为:C1、计算当前角点到该种子边缘线的起点和终点的距离,记作dist1和dist2,判断当前角点是否在该种子边缘线的两端点之间;C2、若当前角点在该种子边缘线的两端点之间,将当前角点到该种子边缘线的起点所在的线段记作M,线段M的起点为当前角点,终点为该种子边缘线的起点,当前角点的臂1所在的线段记作N,线段N的起点为当前角点,计算线段M的角度angle1和线段N的角度angle2,判断angle1和angle2的差的绝对值是否小于给定的角度阈值;C3、若angle1和angle2的差的绝对值小于给定的角度阈值,则计算线M的终点到当前角点的距离rM,计算线段N的长度rN,判断rM与rN的差值是否小于给定的长度差阈值;C4、若rM与rN的差值小于给定的长度差阈值,计算线段N的终点到当前种子边缘线的距离,若该距离小于给定的点到线的距离阈值且dist1大于rN,则当前种子边缘线可以扩展当前角点的臂1,当前角点的扩展后的臂1的终点为该种子边缘线的起点,扩展后的臂1的长度为dist1;C5、若C2到C4的任一条件不满足,则表明当前种子边缘线不可以扩展当前角点的臂1,则采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂2,如果可以扩展,扩展后的臂2的终点为该种子边缘线的起点,扩展后的臂2的长度为dist1,如果不能扩展,直接执行下一步骤;C6、将C2中的线段M的终点更新为当前种子边缘线的终点,线段N更新为当前角点的臂2所在的线段,线段N的起点为当前角点,dist1更新为dist2,采用同样的方法再次判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展;C7、此时,若不满足C1中的条件,判断dist1 是否小于等于 dist2;C8、若dist1 小于等于 dist2,将C2中的线段M的起点更新为当前种子边缘线的起点,终点更新为当前边缘线的终点,线段N为当前角点的臂1或臂2所在的线段,采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展;C9、若dist1大于 dist2,将C2中的线段M的起点更新为当前种子边缘线的终点,终点更新为当前边缘线的起点,线段N为当前角点的臂1或臂2所在的线段,dist1更新为dist2,采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展。
S6中对提取的角点配对的具体方式为:C1、对角点集合中的所有角点进行两两配对,若配对的两个角点的坐标不同,则继续判断两个角点之间是否共享一个臂,将一个角点的两臂标记为arm11和arm12,另一个角点的两臂记为arm21和arm22,先判断arm11和arm21是否为两个角点的同一个臂;C2、判断arm11和arm21是同一臂的方式为:若两个角点之间的距离大于arm11和arm21的最小值的四分之一,先计算arm11与两个角点连线的角度差的绝对值x1,arm21与两个角点连线的角度差的绝对值x2,x1和x2的取值范围是[0,180],给定角度相似阈值f,若x1和x2均小于角度相似阈值f,给定角点间距离阈值u和长度比例阈值ratio,若arm11和arm21的长度和大于等于两个角点距离的ratio倍,并大于等于两个角点的距离与u的差值,则判定arm11和arm21是同一臂,角点配对成功;否则,采用同样的方法判断两个角点的其余任两个臂是否是同一臂,若均不是则角点配对失败,否则角点配对成功;同样的方式对其余的角点两两配对,获取所有配对成功的角点组合,每个角点组合的同一臂为共享臂,另两个臂为打开臂,计算每一个角点组合中两个打开臂与共享臂之间的夹角u1和u2,夹角u1和u2的取值范围是[0,180],将夹角u1或u2小于弯曲度阈值b的角点组合剔除;对剩余的角点组合,判断其两个打开臂是否在共享臂的同一侧,计算该角点组合的共享臂的中心点,以中心点为起点,计算共享臂的单位法向量,计算第一个角点的打开臂的终点与中心点的连线所在的向量v1和第二个角点的打开臂的终点与中心点的连线所在的向量v2,如果向量v1和v2与共享臂的单位法向量的内积一正一负,则两个打开臂不在共享臂的同一侧,将两个打开臂不在共享臂的同一侧的角点组合剔除,最后根据当前配对的角点组合确定一个四边形;同样的方式处理所有的角点组合,获取所有的四边形。
根据角点配对结果结合上表面、左垂面和右垂面的分割图像实现目标的定位中,先根据获取的四边形和上表面的分割图像确定立方物体的上表面和整体轮廓,再根据左垂面的分割图像和右垂面的分割图像获取每个上表面四边形对应的左右垂直面,实现立方物体定位。确定立方物体的上表面和整体轮廓具体方式为:C 1、先对获取的四边形进行处理,若进行匹配的四边形的两个臂的终点距离小于其两个角点距离的0.8倍,该四边形不符合,处理下一个四边形,获取所有符合条件的四边形,并获取每个四边形的轮廓和外接矩形,根据轮廓坐标点计算其凸包;C2、根据上表面分割图像进行轮廓检测,获取所有的轮廓,根据轮廓坐标点计算其凸包,并获取包含每个轮廓的最小的旋转矩形以及包含旋转矩形的外接矩形,计算每个轮廓的面积,判断轮廓的面积是否大于给定的面积阈值,若轮廓的面积小于给定的面积阈值,则处理下一个轮廓;C3、若轮廓的面积大于给定的面积阈值,将当前轮廓与符合条件的四边形进行匹配,分别计算进行匹配的四边形的两个角点到当前轮廓的凸包的最小距离h1和h2,判断进行匹配的四边形的两个角点是否在进行匹配的四边形的凸包的外部以及h1和h2是否小于等于给定的距离阈值,若h1和h2中的任一个大于给定的距离阈值,则表明存在角点在该轮廓的内侧并在靠近其中心点位置处,进行下一个四边形匹配;C4、若进行匹配的四边形的两个角点在进行匹配的四边形的凸包的外部且h1和h2均小于等于该距离阈值,正在进行匹配的四边形的两个角点位于当前轮廓的凸包的外侧,判断当前轮廓外的旋转矩形的中心点是否在进行匹配的四边形的凸包内部,如果不在内部则进行下一个四边形匹配;C5、若当前轮廓外的旋转矩形的中心点位于进行匹配的四边形的凸包内部,计算其到进行匹配的四边形凸包的最小距离的绝对值,满足该值小于等于旋转矩形的长和宽,且中心点位于进行匹配的四边形的任一个臂的下侧的条件,计算进行匹配的四边形的外接矩形与当前轮廓的外接矩形的重叠面积,若该重叠面积大于给定的比例阈值,则当前轮廓与进行匹配的四边形初步匹配成功,进行匹配的四边形记作初步匹配四边形;C6、将当前轮廓的旋转矩形的中心点到初步匹配四边形的三个臂的距离进行归一化处理,归一化处理后的值在理论范围内,且h1与h2 的和小于等于给定阈值,将该初步匹配四边形记作有效四边形;C7、判断有效四边形的两个打开臂是否朝下,将两个打开臂朝下的有效四边形记作种子四边形,判断的方式为:分别以有效四边形的两个角点为起点,水平向右为X轴,在X轴上的线段角度为0度,按照顺时针转动线段角度不断增大,角度的取值范围为[0,360],利用该种定义规则计算两个打开臂的角度,若两个角度均小于15度或大于165度,则表明有效四边形的两个打开臂朝上,则处理下一个;否则,如果该有效四边形的两个打开臂的终点位于两个角点的上方,则处理下一个,否则,将两个打开臂朝下的有效四边形记作种子四边形;若获取满足上述条件的下一个种子四边形,则计算当前种子四边形的两个角点到其凸包的最小距离之和是否小于上一个种子四边形的两个角点到其凸包的最小距离之和,如果小于则用当前种子四边形替换上一个种子四边形,否则剔除当前种子四边形,再继续处理,获取当前轮廓的最终的种子四边形;C8、判断当前轮廓的最终的种子四边形是否与有效四边形存在共享角点,判断方式为,在与当前轮廓匹配的种子四边形和有效四边形中,每个轮廓只有一个种子四边形但可能存在多个有效四边形,计算最终的种子四边形的两个角点分别到有效四边形的两个角点的距离,若四个距离均大于给定的阈值,则表明种子四边形和有效四边形不存在共享角点,处理下一有效四边形;C9、若存在共享角点,判断有效四边形的共享臂和打开臂所在线段与种子四边形的共享臂所在线段是否存在重叠,若存在重叠,判断有效四边形的共享臂和打开臂所在线段与种子四边形的打开臂所在线段的重叠数目是否大于等于1,若满足则获取以种子四边形的三条臂为上表面的边,有效四边形的除重叠臂以外的臂为侧垂面的边的立方物体轮廓,获取所有的立方物体轮廓,记作立方物体轮廓集合,每个立方物体轮廓是一个多边形;C10、根据立方物体轮廓的每条边的端点获取立方物体轮廓的所有点坐标,立方物体轮廓以种子四边形为上表面;C11、遍历立方物体轮廓集合,计算每个立方物体轮廓中心点的y坐标P.y和其上表面的中心点的y坐标t.y,计算每个立方物体轮廓的面积P.area和其上表面的面积t.area,如果t.y>P.y或t.area>P.area,则剔除该立方物体轮廓,获取最终的立方物体轮廓集合。
判断两条线段重叠的方式为:给定线段E和线段F,E的长度L1和F的长度H1;计算线段E和线段F间的角度差,如果角度差大于给定的阈值,则线段E和线段F不重叠;否则,计算E的起点到F的起点和终点的距离R1和R2,E的终点到F的起点和终点的距离R3和R4,如果max(max(R1, R2), max(R3, R4)) >= (max(L1, H1) + min(L1, H1) / 2),则线段E和线段F不重叠;否则,如果max(R1, R2) <H1,线段E的起点到线段F的距离小于给定的阈值,如果max(R3, R4) <H1,线段E的终点到线段F的距离小于给定的阈值,如果max(R1, R3) <L1,线段F的起点到线段E的距离小于给定的阈值,如果max(R2, R4) <L1,线段F的终点到线段E的距离小于给定的阈值,则线段E和线段F重叠。
在角点提取中,两个角点相似表示两个角点各自对应的打开臂近似平行,举例说明:若两个角点分别包含一条横向打开臂和一条竖向打开臂,则两个角点的横向打开臂是近似平行,角度差很小,两个竖向打开臂近似平行,角度差也很小,故min(a11,a12)和min(a21,a22)的最小值也应该小于给定的相似角度阈值,否则两个角点不相似。判断两个角点是否相似的具体方式为:分别计算一个角点的每一个打开臂的角度与另一个角点的每一个打开臂的角度的差值的绝对值a11、a12、a21、a22,角度的差值的绝对值的取值范围为[0,180],选取min(a11,a12),min(a21,a22),对于给定的角度相似阈值f,若max(min(a11,a12),min(a21,a22))<f,则两个角点相似。
根据左垂面的分割图像和右垂面的分割的图像获取每个上表面四边形对应的左右垂直面,实现立方物体定位的具体方式为:遍历所有立方物体轮廓集合,根据左垂面的分割图像获取左垂直面所有的轮廓及其对应的旋转矩形和外接矩形,判断旋转矩形的中心点的y坐标是否大于等于上表面四边形中心点的y坐标,若旋转矩形的中心点的y坐标小于上表面四边形中心点的y坐标,处理下一轮廓;若旋转矩形的中心点的y坐标大于等于上表面四边形中心点的y坐标,判断上表面四边形对应的立方物体轮廓面积和外接矩形的重叠面积占立方物体轮廓面积的比例是否大于等于0.6;若大于等于0.6,寻找满足上述条件的所有左垂面轮廓中面积最大的轮廓即为当前立方物体的左垂直面轮廓;根据右垂面的分割图像获取右垂直面所有轮廓及其对应的旋转矩形和外接矩形,对右垂面的分割图像的所有轮廓的处理方式与左垂直面的所有轮廓的处理方式一致,以此获取每个立方物体上表面对应的左垂直面和右垂直面,每组上表面、左垂直面和右垂直面构成一个立方物体,实现立方物体检测。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于角点配对的深度图像的四边形检测方法,其特征在于,包括:
S1、获取目标的深度图像,根据深度图像分别获取与其大小相同的X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点进行分类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线组集合的每组最长的边缘线提取角点;S6、对提取的角点进行配对;S7、根据角点配对结果结合上表面、左垂面和右垂面的分割图像实现目标的定位。
2.根据权利要求1所述的基于角点配对的深度图像的四边形检测方法,其特征在于,根据梯度图对其中的像素点进行分类的具体方式为:
遍历X方向的梯度图中的每个像素点值DX(r,c),Y方向的梯度图中的每个像素点值DY(r,c),其中r=0...m,c=0...n,m代表所在梯度图的行数,n代表所在梯度图的列数;
给定正分割阈值p和负分割阈值q,大于等于p的 DY(r,c)对应的像素点位于垂直面,小于等于q的 DY(r,c)对应的像素点位于水平面;
对于所有垂直面上的点,小于等于q的 DX(r,c)对应的像素点位于左垂面,大于等于p的DX(r,c)对应的像素点位于右垂面。
3.根据权利要求2所述的基于角点配对的深度图像的四边形检测方法,其特征在于,根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像的具体方式为:
根据分类结果获取与梯度图大小相同的水平面、左垂面和右垂面的二值图,定义与梯度图大小相同的上表面分割图像,设定像素点的初始值为0;
从下到上遍历水平面的二值图中第一列的像素点,根据深度图获取每个像素点的可信度值,给定可信度阈值,若该像素点的可信度值小于给定的可信度阈值,则该像素点的状态为未知,处理下一像素点;否则,若对应的像素点值为255,则该像素点的状态为水平,若对应的像素点为0,则该像素点的状态为垂直,若像素点值为0的像素点的数目大于给定的高度阈值,则将其后出现的像素点值为255的像素点对应在上表面分割图像上并将其像素值更新为255,记录每一次像素点状态发生转变的像素点所在的行数,遍历完第一列所有行的像素点后,将从记录的行数起到第1行的第一列所有像素点对应在上表面分割图像上的位置的像素值置为0,同样的方式遍历完平行面图像的所有行列,获取初始的上表面分割图像,对获取的初始的上表面分割图像进行修补,更新上表面分割图像;
将边缘点图中的边缘点分别一一对应在更新后的上表面分割图像、左垂面的二值图和右垂面的二值图中,将更新后的上表面分割图像中水平状态的非边缘点的像素点值更新为0,将左垂面的二值图中非边缘点的像素值为255的像素点值更新为0,将右垂面的二值图中非边缘点的像素值为255的像素点值更新为0,获取最终的上表面分割图像、左垂面的二值图和右垂面的二值图,将左垂面的二值图和右垂面的二值图分别记作左垂面的分割图像和右垂面的分割图像。
4.根据权利要求2所述的基于角点配对的深度图像的四边形检测方法,其特征在于,获取深度图像的边缘点图的具体方式为:
计算分类后的垂直面的所有像素点的Y方向的梯度平均值Yp、水平面的所有像素点的Y方向的梯度平均值Yq、左垂面的所有像素点的X方向的梯度平均值Xp以及右垂面的所有像素点的X方向的梯度平均值Xq;根据Yp、Yq、Xp、Xq设定Y方向正阈值、Y方向负阈值、X方向正阈值、X方向负阈值;定义一个与梯度图大小相同的图像,该图像中的像素点的初始值设定为0;遍历X方向的梯度图和Y方向的梯度图的所有像素点,对于每一个像素点,如果其Y方向的梯度值的绝对值大于X方向的梯度值的绝对值,且小于Y方向负阈值或大于等于Y方向正阈值,该像素点为边缘点,将该像素点对应到定义的图像中并将其像素值更新为255;如果其Y方向的梯度值的绝对值小于X方向的梯度值的绝对值,且其X方向的梯度值的绝对值小于等于X方向负阈值或大于等于X方向正阈值,该像素点为边缘点,将该像素点对应到定义的图像中并将其像素值更新为255;得到边缘点图。
5.根据权利要求3所述的基于角点配对的深度图像的四边形检测方法,其特征在于,对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合的具体方式为:
对边缘点图进行边缘线检测,获取所有边缘线并按照长到短排序成边缘线集合,定义一个空的共线边缘线组集合,共线边缘线组集合包含多组边缘线,每组内的边缘线是共线的,两组间边缘线是不共线的,首先将最长的边缘线加入到共线边缘线组集合的一组中,对于边缘线集合中的每一条A边缘线,判断其与共线边缘线组集合的每组最长的B边缘线是否共线,判断条件依次如下:
C1、计算A边缘线与B边缘线的角度差,判断该角度差是否小于等于给定的角度差阈值e;
C2、若角度差小于等于角度差阈值e,计算B边缘线的起点到A边缘线的起点和终点的距离T1和T2,B边缘线的终点到A边缘线的起点和终点的距离T3和T4,给定点间距离阈值G,判断距离T1、T2、T3和T4中的最小距离是否小于等于点间距离阈值G;
C3、若min(min(T1,T2),min(T3,T4))≤G,计算A边缘线的长度L和B边缘线的长度H,判断距离T1、T2、T3和T4中的最大距离是否小于G+H+L;
C4、若max(max(T1,T2),max(T3,T4))<(G+H+L),计算B边缘线的起点和终点到A边缘线的距离S1和S2,A边缘线的起点和终点到B边缘线的距离S3和S4,给定距离阈值J,若T1和T2的最大距离小于L+G,判断S1是否小于等于J;若距离T3和T4的最大距离小于L+G,判断S2是否小于等于J;若距离T1和T3的最大距离小于L+G,判断S3是否小于等于J;若距离T2和T4的最大距离小于L+G,判断S4是否小于等于J;若任意最大距离均大于等于L+G则直接执行下一步骤;
C5、若满足C4中的条件,则A边缘线和B边缘线共线,将A边缘线加入到共线边缘线组集合的该组中,更新该组的边缘线;
判断过程中,任一个条件不满足,直接处理共线边缘线组集合中的下一组的最长边缘线,直至处理完共线边缘线组集合的所有组,每组边缘线用其最长边缘线表示,如果A边缘线与共线边缘线组集合的所有组的最长边缘线均不共线,则直接将A边缘线加入到共线边缘线组集合的新组中,更新共线边缘线组集合的组数;A边缘线和B边缘线共线后,判断A边缘线和B边缘线是否满足合并条件,若T1≤H、T2≤H、T3≤H且T4≤H,则A边缘线与B边缘线不满足合并条件,否则,将A边缘线和B边缘线合并,更新B边缘线的起点和终点,更新共线边缘线组集合;
与处理A边缘线相同的方式处理边缘线集合中的下一条边缘线,不断更新共线边缘线组集合,共线边缘线组集合中每组的边缘线按照长短排序,获取最终的共线边缘线组集合。
6.根据权利要求5所述的基于角点配对的深度图像的四边形检测方法,其特征在于,根据共线边缘线组集合的每组最长的边缘线提取角点的具体方式为:
C1、获取共线边缘线组集合的每组的最长边缘线,记作种子边缘线集合,将种子边缘线集合的所有边缘线按从长到短排序,遍历种子边缘线集合的所有边缘线,从其中最长的C边缘线开始计算其与其余任一条D边缘线的夹角a,a的范围是0到180度,给定弯曲度阈值b,判断min(a,180-a)是否大于b;
C2、若min(a,180-a)>b,计算C边缘线与D边缘线的交点W(Wx,Wy),判断Wx或Wy是否未超出图像范围;
C3、若Wx或Wy未超出图像范围,判断交点W是否是角点,判断交点W是角点的条件为:先计算C边缘线的两个端点到交点W的距离d1和d2,定义最小距离min_d1,如果交点W在C边缘线的两个端点之间,则min_d1=0,否则min_d1=min(d1,d2), 若最小距离min_d1不为0或min(d1,d2)小于给定的臂长阈值Z1,再计算D边缘线的两个端点到交点W的距离d3和d4,定义最小距离min_d2,如果交点W在D边缘线的两个端点之间,则min_d2=0,否则min_d2=min(d3,d4),若最小距离min_d2不为0或 min(d3,d4)小于给定的臂长阈值Z2,判断min(d1,d2)和min(d3,d4)是否小于给定的交点半径阈值r;
C4、若满足C3的条件,给定四边形臂间差距阈值v,判断max(min(d1,d2),min(d3,d4))是否小于等于v,若满足则交点W是四边形的角点;
该条件C1到C4中依次判断,任一个条件不满足,则处理下一条边缘线;
将获取的第一个角点添加到角点集合中,对于获取的其余角点,将计算其与角点集合中所有角点的距离Li,i为变量,判断与角点集合中的所有角点是否相似,若Li<r,并与其余角点不相似,将该角点添加到角点集合中;
该交点W对应两条臂,第一条臂为其与C边缘线的终点的连线,第二条臂为其与D边缘线的终点的连线,C边缘线的终点为C边缘线中d1和d2中较大的对应端点,D边缘线的终点为D边缘线中d3和d4中较大的对应端点;同样的方式处理种子边缘线组集合中的其余任两条边缘线,获取所有的角点,根据种子边缘线集合扩展每个角点的两臂,得到最终的角点集合,实现角点提取。
7.根据权利要求5所述的基于角点配对的深度图像的四边形检测方法,其特征在于,对提取的角点配对的具体方式为:
C1、对角点集合中的所有角点进行两两配对,若配对的两个角点的坐标不同,则继续判断两个角点之间是否共享一个臂,将一个角点的两臂标记为arm11和arm12,另一个角点的两臂记为arm21和arm22,先判断arm11和arm21是否为两个角点的同一个臂;
C2、判断arm11和arm21是同一臂的方式为:若两个角点之间的距离大于arm11和arm21的最小值的四分之一,先计算arm11与两个角点连线的角度差的绝对值x1,arm21与两个角点连线的角度差的绝对值x2,x1和x2的取值范围是[0,180],给定角度相似阈值f,若x1和x2均小于角度相似阈值f,给定角点间距离阈值u和长度比例阈值ratio,若arm11和arm21的长度和大于等于两个角点距离的ratio倍,并大于等于两个角点的距离与u的差值,则判定arm11和arm21是同一臂,角点配对成功;
否则,采用同样的方法判断两个角点的其余任两个臂是否是同一臂,若均不是则角点配对失败,否则角点配对成功;
同样的方式对其余的角点两两配对,获取所有配对成功的角点组合,每个角点组合的同一臂为共享臂,另两个臂为打开臂,计算每一个角点组合中两个打开臂与共享臂之间的夹角u1和u2,夹角u1和u2的取值范围是[0,180],将夹角u1或u2小于弯曲度阈值b的角点组合剔除;对剩余的角点组合,判断其两个打开臂是否在共享臂的同一侧,将两个打开臂不在共享臂的同一侧的角点组合剔除,最后根据当前配对的角点组合确定一个四边形;同样的方式处理所有的角点组合,获取所有的四边形。
8.根据权利要求6所述的基于角点配对的深度图像的四边形检测方法,其特征在于,根据种子边缘线集合扩展每个角点的两臂的具体方式为:遍历种子边缘线集合的所有边缘线,对于每个角点,计算其到当前种子边缘线的距离,如果该距离小于给定的阈值,则判断该种子边缘线是否可以扩展当前角点的两臂,首先判断该种子边缘线是否可以扩展当前角点的臂1,具体方式为:
C1、计算当前角点到该种子边缘线的起点和终点的距离,记作dist1和
dist2,判断当前角点是否在该种子边缘线的两端点之间;
C2、若当前角点在该种子边缘线的两端点之间,将当前角点到该种子边缘
线的起点所在的线段记作M,线段M的起点为当前角点,终点为该种子边缘线的起点,当前角点的臂1所在的线段记作N,线段N的起点为当前角点,计算线段M的角度angle1和线段N的角度angle2,判断angle1和angle2的差的绝对值是否小于给定的角度阈值;
C3、若angle1和angle2的差的绝对值小于给定的角度阈值,则计算线M的终点到当前角点的距离rM,计算线段N的长度rN,判断rM与rN的差值是否小于给定的长度差阈值;
C4、若rM与rN的差值小于给定的长度差阈值,计算线段N的终点
到当前种子边缘线的距离,若该距离小于给定的点到线的距离阈值且dist1大于rN,则当前种子边缘线可以扩展当前角点的臂1,当前角点的扩展后的臂1的终点为该种子边缘线的起点,扩展后的臂1的长度为dist1;
C5、若C2到C4的任一条件不满足,则表明当前种子边缘线不可以扩展
当前角点的臂1,则采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂2,如果可以扩展,扩展后的臂2的终点为该种子边缘线的起点,扩展后的臂2的长度为dist1,如果不能扩展,直接执行下一步骤;
C6、将C2中的线段M的终点更新为当前种子边缘线的终点,线段N更新为当前角点的臂2所在的线段,线段N的起点为当前角点,dist1更新为dist2,采用同样的方法再次判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展;
C7、此时,若不满足C1中的条件,判断dist1 是否小于等于 dist2;
C8、若dist1 小于等于 dist2,将C2中的线段M的起点更新为当前种子边
缘线的起点,终点更新为当前边缘线的终点,线段N为当前角点的臂1或臂2所在的线段,采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展;
C9、若dist1大于 dist2,将C2中的线段M的起点更新为当前种子边缘线
的终点,终点更新为当前边缘线的起点,线段N为当前角点的臂1或臂2所在的线段,dist1更新为dist2,采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展。
9.根据权利要求3所述的基于角点配对的深度图像的四边形检测方法,其特征在于,对获取的初始的上表面分割图像进行修补,具体方式为:给定图像大小阈值t,定义与上表面分割图像大小相同的上表面修补图像,设定像素点的初始值为0,根据上表面分割图像更新上表面修补图像的第t列到总列数减去t列的像素点值,遍历上表面分割图像的所有行和第1到第2*t列,将上表面修补图像的每行的第t列的每个像素点值更新为上表面分割图像的当前行的第1到第2*t列的像素点值之和,更新上表面修补图像;遍历上表面分割图像的所有行和第t+1列到总列数减去t列,将上表面修补图像的每个像素点值更新为当前行当前列的前一列的上表面修补图像像素点值加上当前行当前列加上t列的的上表面分割图像的像素点值再减去当前行当前列减去t列的的上表面分割图像的像素点值,获取最终的上表面修补图像;遍历上表面修补图像的所有像素点,给定像素值总和阈值,如果当前像素点的像素值大于给定的像素值总和阈值,则将其对应在上表面分割图像上的像素值更新为255,否则更新为0,更新上表面分割图像。
10.根据权利要求5所述的基于角点配对的深度图像的四边形检测方法,其特征在于,将A边缘线和B边缘线合并,更新B边缘线的起点和终点的方式为:B边缘线为其所在组别的最长边缘线,若A边缘线和B边缘线共线且满足合并条件,则根据A边缘线更新B边缘线的起点和终点,更新B边缘线的终点的判断方式为:C1、若T1 >H且 T2 > H,在此基础上,T3 >T4,则将B边缘线终点更新为A边缘线的起点,不满足T3 > T4的条件,将B边缘线终点更新为A边缘线的终点;C2、不满足C1中的条件T1 >H且 T2 > H,若T1 > H但T2 <=H,则将B边缘线终点更新为A边缘线的起点;C3、不满足C1和C2中的条件,如果T2 >H但T1<= H,则将B边缘线终点更新为A边缘线的终点;
更新B边缘线的起点的判断方式为:C1、若T3>H且T4 > H,在此基础上,T1 > T2,则将B边缘线起点更新为A边缘线的起点,若不满足T1 > T2的条件,将B边缘线起点更新为A边缘线的终点;C2、不满足C1中的条件T3>H且T4 > H,若T3>H但T4 <=H,则将B边缘线起点更新为A边缘线的起点;C3、不满足该C1和C2中的条件,若T4 > H但T3<=H,则将B边缘线起点更新为A边缘线的终点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910989813.0A CN110751640B (zh) | 2019-10-17 | 2019-10-17 | 一种基于角点配对的深度图像的四边形检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910989813.0A CN110751640B (zh) | 2019-10-17 | 2019-10-17 | 一种基于角点配对的深度图像的四边形检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110751640A true CN110751640A (zh) | 2020-02-04 |
CN110751640B CN110751640B (zh) | 2024-07-16 |
Family
ID=69278758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910989813.0A Active CN110751640B (zh) | 2019-10-17 | 2019-10-17 | 一种基于角点配对的深度图像的四边形检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110751640B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111833405A (zh) * | 2020-07-27 | 2020-10-27 | 北京大华旺达科技有限公司 | 基于机器视觉的标定识别方法及装置 |
CN113221926A (zh) * | 2021-06-23 | 2021-08-06 | 华南师范大学 | 一种基于角点优化的线段提取方法 |
CN115049928A (zh) * | 2022-06-20 | 2022-09-13 | 电子科技大学 | 一种基于角点特征和岸线封闭特征的级联港口检测方法 |
CN115984170A (zh) * | 2022-11-28 | 2023-04-18 | 广州航海学院 | 一种四边形晶片角顶点定位方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11333770A (ja) * | 1998-03-20 | 1999-12-07 | Kobe Steel Ltd | 積荷位置姿勢認識装置 |
CN101127076A (zh) * | 2007-09-27 | 2008-02-20 | 上海交通大学 | 基于级联分类和哈夫圆变换的人眼状态检测方法 |
CN103247075A (zh) * | 2013-05-13 | 2013-08-14 | 北京工业大学 | 基于变分机制的室内环境三维重建方法 |
CN106447669A (zh) * | 2016-04-08 | 2017-02-22 | 潍坊学院 | 基于圆形蒙版面积比率判别的粘连颗粒图像凹点分割方法 |
CN106548147A (zh) * | 2016-11-02 | 2017-03-29 | 南京鑫和汇通电子科技有限公司 | 一种快速的噪声鲁棒性图像异物检测方法及teds系统 |
US20180033148A1 (en) * | 2016-07-26 | 2018-02-01 | Neusoft Corporation | Method, apparatus and device for detecting lane boundary |
-
2019
- 2019-10-17 CN CN201910989813.0A patent/CN110751640B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11333770A (ja) * | 1998-03-20 | 1999-12-07 | Kobe Steel Ltd | 積荷位置姿勢認識装置 |
CN101127076A (zh) * | 2007-09-27 | 2008-02-20 | 上海交通大学 | 基于级联分类和哈夫圆变换的人眼状态检测方法 |
CN103247075A (zh) * | 2013-05-13 | 2013-08-14 | 北京工业大学 | 基于变分机制的室内环境三维重建方法 |
CN106447669A (zh) * | 2016-04-08 | 2017-02-22 | 潍坊学院 | 基于圆形蒙版面积比率判别的粘连颗粒图像凹点分割方法 |
US20180033148A1 (en) * | 2016-07-26 | 2018-02-01 | Neusoft Corporation | Method, apparatus and device for detecting lane boundary |
CN106548147A (zh) * | 2016-11-02 | 2017-03-29 | 南京鑫和汇通电子科技有限公司 | 一种快速的噪声鲁棒性图像异物检测方法及teds系统 |
Non-Patent Citations (1)
Title |
---|
陈冠楠;杨坤涛;谢志明;滕忠坚;陈荣;: "基于深度优先遍历的图像边缘检测方法", 应用光学, no. 01, 15 January 2008 (2008-01-15) * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111833405A (zh) * | 2020-07-27 | 2020-10-27 | 北京大华旺达科技有限公司 | 基于机器视觉的标定识别方法及装置 |
CN111833405B (zh) * | 2020-07-27 | 2023-12-08 | 北京大华旺达科技有限公司 | 基于机器视觉的标定识别方法及装置 |
CN113221926A (zh) * | 2021-06-23 | 2021-08-06 | 华南师范大学 | 一种基于角点优化的线段提取方法 |
CN115049928A (zh) * | 2022-06-20 | 2022-09-13 | 电子科技大学 | 一种基于角点特征和岸线封闭特征的级联港口检测方法 |
CN115049928B (zh) * | 2022-06-20 | 2024-05-07 | 电子科技大学 | 一种基于角点特征和岸线封闭特征的级联港口检测方法 |
CN115984170A (zh) * | 2022-11-28 | 2023-04-18 | 广州航海学院 | 一种四边形晶片角顶点定位方法 |
CN115984170B (zh) * | 2022-11-28 | 2023-07-14 | 广州航海学院 | 一种四边形晶片角顶点定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110751640B (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110751640B (zh) | 一种基于角点配对的深度图像的四边形检测方法 | |
CN110570471A (zh) | 一种基于深度图像的立方物体体积测量方法 | |
CN110728246A (zh) | 一种基于深度图像的立方物体识别方法 | |
CN108010036B (zh) | 一种基于rgb-d相机的物体对称轴检测方法 | |
CN111507390B (zh) | 一种基于轮廓特征的仓储箱体识别与定位方法 | |
CN110689568A (zh) | 一种基于深度图像的立方物体体积的精确计算方法 | |
US9327406B1 (en) | Object segmentation based on detected object-specific visual cues | |
CN106683137B (zh) | 基于人工标志的单目多目标识别与定位方法 | |
CN107610176A (zh) | 一种基于Kinect的栈板动态识别与定位方法、系统及介质 | |
CN110569861B (zh) | 一种基于点特征和轮廓特征融合的图像匹配定位方法 | |
US20180150969A1 (en) | Information processing device, measuring apparatus, system, calculating method, storage medium, and article manufacturing method | |
CN103727930A (zh) | 一种基于边缘匹配的激光测距仪与相机相对位姿标定方法 | |
CN114396875B (zh) | 一种基于深度相机垂直拍摄的长方形包裹体积测量方法 | |
CN112819883B (zh) | 一种规则对象检测及定位方法 | |
CN115546202B (zh) | 一种用于无人叉车的托盘检测与定位方法 | |
Burger et al. | Fast multi-pass 3D point segmentation based on a structured mesh graph for ground vehicles | |
CN110751688A (zh) | 一种基于深度图像的剔除噪声的立方物体体积计算方法 | |
CN113689429A (zh) | 一种基于计算机视觉的木板缺陷检测方法 | |
CN107610174B (zh) | 一种鲁棒的基于深度信息的平面检测方法及系统 | |
Burger et al. | Fast dual decomposition based mesh-graph clustering for point clouds | |
CN107122782B (zh) | 一种均衡的半密集立体匹配方法 | |
CN116843742B (zh) | 一种针对装载黑色煤车辆的点云配准后堆料体积的计算方法及系统 | |
CN113469195A (zh) | 一种基于自适应颜色快速点特征直方图的目标识别方法 | |
CN113033233B (zh) | 一种几何变形qr码的定位方法、装置及存储介质 | |
CN114049380B (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 |