CN104063868B - 一种多边形工件检测定位方法 - Google Patents
一种多边形工件检测定位方法 Download PDFInfo
- Publication number
- CN104063868B CN104063868B CN201410305198.4A CN201410305198A CN104063868B CN 104063868 B CN104063868 B CN 104063868B CN 201410305198 A CN201410305198 A CN 201410305198A CN 104063868 B CN104063868 B CN 104063868B
- Authority
- CN
- China
- Prior art keywords
- point
- straightway
- curve
- polygon
- adjacent side
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000001514 detection method Methods 0.000 claims description 33
- 230000004807 localization Effects 0.000 claims description 12
- 239000000284 extract Substances 0.000 claims description 5
- 239000000203 mixture Substances 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 abstract description 2
- 210000001503 joint Anatomy 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000004927 fusion Effects 0.000 description 5
- 241000219739 Lens Species 0.000 description 4
- 210000000695 crystalline len Anatomy 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明为一种多边形工件检测定位方法,包括:步骤1、检测工件图像中的边缘图像,获取边缘图像中的每条曲线构成的曲线集合,从所述曲线集合中提取出直线段集合;步骤2、对于所述直线段集合的每条直线段,搜索得到与其具有一定夹角且端点距离最近的边作为其邻边,提取出所有互为邻边的所有直线段,这些直线段组成的图形即为多边形;步骤3、对所述多边形进行六自由度定位。本发明提出的多边形工件检测方法可以应用于视频监控、智能交通、视频检索、机器人导航、人机交互以及军事等众多领域,另外本方法提供了空间平面多边形的六自由度定位,可以应用于工业抓取、装配、对接等领域。
Description
技术领域
本发明属于图像处理技术领域,具体涉及一种基于链接模型的多边形工件检测定位方法。
背景技术
视觉信息是人类从客观世界获得信息的主要来源之一,随着计算机技术的不断发展,利用计算机实现人类的视觉功能吸引了众多的研究者。空间平面多边形检测是当前计算机视觉领域中的热点问题之一,并被广泛地应用到视频监控、智能交通、视频检索、机器人导航、人机交互以及军事等众多领域中。
工业环境中,存在特定一类的物体,它们包含一个或者多个平面,而这些平面又包括多边形。这一类物体包括半导体集成电路、移动电话、盒子、某些工业零件等等。如果这类物体所包含的平面里的多边形可以被检测和定位,那么物体本身也可以被定位。包含平面物体的检测定位一直是一个非常有使用价值的领域,而多边形检测是属于平面物体检测的一个特例,对于特定的物体能够快速的检测与定位,属于包含平面物体检测里的一个重要方法。
近年来学者们已经提出一些多边形检测的方法,这些方法主要可以分为3类:1.基于直线段检测的多边形检测方法;2.基于角点检测的多边形检测方法;3.全局多边形检测方法。
第一种方法首先使用直线段检测的方法提取出图像中的直线段,然后在这些直线段中提取出合适的多边形。([1]Li,Luyuan,et a1.Automatic comic page segmentat ionbased on polygondetect ion.Mult imedia Tools and Applications(2012):1-27.[2]Laha A,Sen A,Sinha B P.Parallel algorithms for identifying convex and non-convex basis polygons in an image.Parallel Computing,2005,31(3-4):290-310)。这类方法的优点是能够快速稳定地找到多边形,即使多边形失去了角点(例如一些圆角矩形)这种方法仍然能够正常使用。然而这类方法的缺点就是对于不连续直线情况可能会无法检测多边形。
第二种方法首先使用一些角点检测算子(例如哈尔角点检测算子)来获取图像中的角点,然后通过这些角点的方向与相互之间的逻辑关系来估计多边形的信息。([3]ManayS,Paglierone D W.Matching flexible polygons tofields of cornersextracted fromimages.Lecture Notes in Computer Science.Berlin:Springer,2007.4474592005.5566[4]Shi Jun,Xiao Zhi-Heng,Chang Qian.An algor ithm for recognizinggeometricalshapes automatically based on tunable filter.Journal of North University ofChina(NaturalScience),2009,30(5):467471)。这类方法的优缺点与第一类方法刚好相反,基于角点的方法可以很好地克服不连续直线情况的问题,实际上只需要角点就可以对多边形进行检测,但是对于角点缺失的情况则可能无法检测多边形。
第三种方法直接对图像进行一些全局性的操作,或者将图像转换到其他空间,直接计算得出多边形。这些方法出现时期较早,(Davies E R.Machine Vision:Theory,Algorithms,Practicalities,ThirdEdition.San Francisco:Elsevier,2005.387-410[6]Xudong,Yang,et al.Intelligent Detection of Convex Polygon Based onHoughTransformation and Set Classifier.Intelligent Systems andApplications(ISA),2010 2nd International Workshop on.IEEE,2010.[7]Barnes N,Loy G,Shaw D.Theregular polygon detector.PatternRecognition,2010,43(3):592-602)。它们的优点是步骤简单、可克服不连续、缺失角点情况。但是这类方法通常计算时间很长所以只适合比较简单的多边形检测例如三角形,甚至这类的方法只能用于检测正多边形。
综上所述,以上三种方法中基于直线段检测和基于角点检测的方法是比较常用的,但各有优缺点。
发明内容
(一)要解决的技术问题
本发明提出了一种基于直线段检测多边形检测方法,其克服现有技术的不足,提供了一种能够检测圆角的多边形,其相对于其他基于直线段检测的方法具有速度快,稳定性好,精度高的优点。并且本发明提供了对空间平面多边形进行六自由度定位的方法,可以应用在工业抓取、装配、对接等领域。
(二)技术方案
为达到以上目的,本发明提供了一种多边形工件检测定位方法,包括:
步骤1、检测工件图像中的边缘图像,获取边缘图像中的每条曲线构成的曲线集合,从所述曲线集合中提取出直线段集合;
步骤2、对于所述直线段集合的每条直线段,搜索得到与其具有一定夹角且端点距离最近的边作为其邻边,提取出所有互为邻边的所有直线段,这些直线段组成的图形即为多边形;
步骤3、对所述多边形进行六自由度定位。
其中,步骤1包括:
步骤101:从检测工件图像中获取边缘,进而得到边缘图像;
步骤102:根据所获得的边缘图像搜索其中的所有曲线;
步骤103:从搜索得到的所有曲线中提取出直线段。
其中,步骤102具体包括:
步骤1021:行列扫描所述边缘图像,若不存在边缘点则结束流程;
步骤1022:若存在边缘点,则判断搜索到的边缘点是否为端点,是则转步骤1023,否则转步骤1021;
步骤1023:若是,则以当前边缘点作为曲线的起始点,并从所述边缘图像删除该起始点;
步骤1024:从所述当前边缘点的邻域中寻找下一个边缘点,若有下一个边缘点则转步骤1025,否则该曲线搜索结束,转步骤1021进行下一曲线的搜索;
步骤1025:将所述下一个边缘点作为当前边缘点加入当前曲线,并从边缘图像中删除该当前边缘点,转步骤1024。
其中,步骤1022中利用如下方式判断边缘点是否为端点:
判断边缘图像中所述边缘点的左、右、上、下四个邻域方向中是否同时存在两个或两个以上方向的点为所述边缘点所在曲线上的点,若是,则其不为端点,否则就是端点。
其中,步骤103具体包括:
步骤1031:搜索每条曲线,如果所述曲线中某个点的曲率大于预定的折点曲率阈值,且该点为极值点,则以该点将所述曲线拆分为两条曲线,并重复该步骤,直到所有曲线都搜索完毕;
步骤1032:对于每条曲线,如果所述曲线中某个点的曲率大于预定的弧段曲率阈值并且小于所述预定的折点曲率阈值,则将该点从所述曲线中删除,得到直线段集合;
步骤1033:将所述直线段集合中斜率差小于第一预定阈值、且至少分别具有距离小于第二预定阈值的一个端点的两条直线段融合成一条直线段;
步骤1034:对于所述直线段集合中的每条直线段,如果其长度小于预定值,则删除该直线段。
其中,步骤2具体包括:
步骤201:建立链接模型,其中所述链接模型用于存储直线段、所述直线段的两条邻边以及连接两条邻边的两个端点,其中所述直线段及其两条邻边互为邻边;
步骤202:遍历所述链接模型,得到构成封闭结构的多边形。
其中,步骤201包括:
步骤2011:针对每条直线,找到其邻边,将并所述直线、邻边以及连接所述邻边的端点的对应关系存储在所述链接模型中;
步骤2012:针对链接模型中的每条直线,保留互为邻边的直线段,删除其他直线段。
其中,所述步骤2011具体包括:
选择所有距离小于预定阈值的其他直线段,并将所述其他直线段中斜率差大于第三预定阈值且距离最近的直线段作为邻边;
其中,步骤202包括:
步骤2021:从所述链接模型中选择其中一条直线段作为多边形的第一条边;
步骤2022:找到当前边的其中一条邻边并判断其是否为所述多边形的前一条边,若否则将该条邻边作为所述多边形的当前边,若是则将另一条邻边作为所述多边形的当前边;其中所述前一条边为所述多边形的边且为当前边的邻边;
步骤2023:判断所述当前边是否为所述多边形的第一条边,若否则转步骤2022;若是则结束流程。
其中,步骤3中对多边形进行六自由度定位具体为:根据透视投影方程和多边形内部相对几何关系计算得到多边形在相机坐标系中的坐标。
(三)有益效果:
本发明的有益效果在于:(1)本发明中的检测直线算法直接对图像进行像素级操作,不需要复杂的数学转换,所以检测速度很快。本发明和目前公认的直线检测方法LSD相比,对于同一幅图像(像素为1620x1220),LSD的检测时间为1.03秒,而本方发明在保证直线段检测效果相当的情况下将检测时间减少到0.18秒。(2)链接模型的建立避免了无顺序的对直线段进行组合-判断是否多边形的操作,等价于启发式搜索,提高了搜索效率,提高了检测速度;(3)由于链接模型可以容忍多边形相邻边端点保持一定距离,相邻边端点不一定要在同一个坐标,这种容忍度提高了检测的鲁棒性,特别是针对于圆角多边形。
附图说明
图1为本发明所提供的一种多边形工件检测定位方法的流程图。
图2为本发明中多边形工件检测定位的一个实例展示图。
具体实施方式
下面结合附图对本发明的实施例作详细的说明:本实施例在以本发明技术方案为前提下进行实施,结合详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述实施例。
图1示出了本发明提出一种多边形工件检测定位方法的流程图。如图1所示,该方法首先提取图像中的直线段,其次从图像中搜索出多边形,最后根据透视投影方程以及多边形的内部几何关系求出多边形在像极坐标系中的坐标,具体包括以下步骤:
第一步:检测图像中的直线段。其中包括边缘检测、搜索曲线以及直搜索线段。
第二步:从直线段中搜索多边形。其中包括建立链接模型、过滤孤立直线段以及搜索多边形等步骤。
第三步:对多边形进行六自由度定位。主要是结合透视投影方程和多边形内部相对几何关系求解多边形的在相机坐标系中的坐标。
所述第一步,具体如下:
获取边缘:首先对输入图像使用Canny边缘算子,提取出图像边缘,由于Canny算子的非最大值抑制操作,Canny算子得到的边缘宽度总是为1,每一条连续的边缘定义为曲线。曲线实际上被定义为若干个点的集合,每一条曲线从起点到终点由点的集合组成。一条曲线可能是一条直线段,也可能是折线段或者是弧线段。一条曲线有可能含有两个端点,也有可能只有一个端点,例如形状“6”的曲线,也有可能没有端点,例如形状“0”。
搜索曲线:由于Canny算子得到的边缘图像只是一个二值图像,即该二值图像中边缘点的像素值为255,其他点的像素值均为0。本发明中通过遍历这个二值图像来获取每一条曲线,并加入自定义的数据结构中。
首先我们要确定一个曲线点是否是这条曲线的端点,对于像素点的八邻域,该点每个方向都有三个相邻点,例如当前像素的右方有右上、右、右下三个相邻点,由于Canny算子得到的边缘宽度为1,所以如果一个曲线点是端点,那么在它的左、右、上、下方向,不能同时存在两个或两个以上方向含有曲线点,否则该曲线点不为端点。例如某曲线点左侧三邻点中和右侧三邻点各自包含一个曲线点,那么当前曲线点就不是端点。
有了端点的判据,接下来可以搜索曲线。对于含有一个或者两个端点的曲线,搜索算法为:行列扫描当前图像,如果当前点的像素值为255(图像已经二值化),则确定当前点为边缘点,然后判断该点是否为端点(判断法方法见上文),如果是端点,那么开始准备子循环:以当前点为起始点,在八邻域中寻找下一个边缘点,八邻域寻找的顺序是(0,-1),(1,0),(0,1),(-1,0),(-1,-1),(1,-1),(1,1),(-1,1),即先搜索直角4邻域,后搜索对角4邻域,否则会出现搜索链断裂的情况。每搜索到一个曲线点,将曲线点加入当前曲线中,然后在图像中删除该点,防止重复搜索。搜索曲线过程持续到在某点8邻域找不到边缘点为止,这个点就是终点,到此为止,寻找一条曲线过程结束,将这条曲线c加入曲线集合C,然后继续图像行列扫描。
对于没有端点的闭合曲线的搜索算法:先进行上文所说的搜索含有一个或者两个端点的曲线,搜索完毕后这些曲线会被删除,那么剩下的全都是没有端点的曲线。这时候开始图像行列扫描,判断当前点是否为边缘点,如果是那么以这个点为起始点,按照上文一样的8邻域搜索方法搜索整条曲线,这样就可以把闭合环状曲线搜索出来。将曲线加入曲线集合,然后继续图像行列扫描。这样得到的曲线的起始点具有随机性。
提取直线段:至此,已经得到图像中的所有曲线,下一步就需要从这些曲线中提取出直线段。一条曲线可以是一条直线段、弧线段、折线甚至折线和弧线段的结合。首先第一步,通过最小二乘判断当前曲线是否为直线段,如果是,那么将当前直线段加入直线集合,如果不是,那么通过曲率的方式来分解曲线,下面具体说明。
这里引出曲率概念,曲率用于描述一条边上的某一点的弯曲程度,使用一个点Q与其左右两侧距离为d的两点形成的向量的夹角来表示,这里的距离不是图像中距离,而是曲线点序列中的距离,一条曲线本质上就是一个曲线点序列。角度越大,曲率的值越大,一条直线段的每一点的曲率都接近于零,而折线的折点曲率非常的大,弧线则介于两者之间,三者很容易区分。d的值为手动设置手动设定,10~30左右,d的值过小,则曲率表示有误差,d的值过大,则线段两端会有很长部分无法定义曲率:一条曲线序号为0~N,但是只有序号d~N-d部分可以定义曲率,因为序号小于d的点“前方”没有足够(d个)的点来计算曲率。因为d通常取很小,所以序号为0~d和N-d~N的点虽然不计算曲率,但是可以忽略。
公式中curvature(Q)为某曲线点Q的曲率,和为PQ和QR组成的向量,P、R为Q“前方”和“后方”距离为d的两点,这里的“前方”和“后方”是指曲线点序列中的方向。
曲线上的每一个点都对应一个曲率值,当说到计算某条曲线的曲率的时候,是指计算这条曲线上所有点的曲率值。
下面从非直线中提取出直线:第一步拆分折线,搜索整条曲线,如果发现某个点曲率大于折点曲率阈值,并且该点是极值点(只要某点的值同时大于两侧的相邻点的值即为极值点。为了克服波动还可以增加所谓“稳定极值点”概念,即某点的值同时大于左侧r个点的值和右侧r个点的值即为稳定极值点,r通常取3~5),那么这个点视为折点,以这个点为分隔拆分首尾两条曲线,重新计算两条曲线的曲率;第二步去除弧段,如果发现某个点的曲率大于弧段曲率阈值并且小于折线中折点的曲率阈值,那么将这个点视为弧线点,直接从曲线中删除即可。最后,遍历所有的直线段,将一条直线段的长度小于d的直线段删除;因为曲线的前d个点和后d个点是无法定义曲率的,所以这两段曲线需要特殊处理,因为通常d<10,在后续的处理步骤中我们会去除较短的曲线,所以这里的前d个点和后d个点都会因为太短而被去除掉。这样最后的结果得到的就是直线段。注意第一步和第二步的差别,第一步中寻找折点,必须是极大值,而第二步中只需要大于阈值即可。这些阈值的具体数值在实验中可以确定。
接下来要融合直线,由于噪声以及闭合曲线起始点的随机性,我们得到的直线段可能不是连续的,现在要将本来就是同一条直线上的直线段融合。线段能融合的评判标准为:1.两直线段的斜率差别小于某阈值;2.两直线段至少分别有一个端点,这两个端点的距离小于某阈值;3.两个直线另外两个端点距离要大于两条直线段的长度。融合步骤:检视输入集合的所有直线段,如果某直线段与其他所有直线段均不能融合,把它移动到输出集合,如果该直线段能与另一个直线段融合,那么融合两条直线段得到一条新的直线段,从输入集合中删除这两条曲线,并且将新的直线段加入输入集合。直到输入集合为空,此时所有的直线段不能与其他直线段融合,即表示直线段融合完毕。至此直线段寻找部分已完成。
所述第二步,具体如下:
首先第一步建立链接模型,第二步去除无用直线段,第三步遍历链接模型得到多边形。
所谓的链接模型是指每条直线段包含两个指针,分别指向该直线段认为适合作为它的两个邻边的两条直线段。也即所述链接模型具体存储直线段、该直线段对应的两条邻边以及连接两条邻边的两个端点。如果直线段A认为直线段B是自己合适的邻边,并且B也认为A是其对应端点合适的邻边,那么会产生一个所谓的双向链接,否则为单向链接。在一个稳定封闭的多边形中,所有的相邻边都应该是双向链接。
下一步讨论怎样选择合适的邻边,对于一条直线,其合适的邻边其端点必须和自身某端点距离很近,小于某阈值,其次,这两条直线段的夹角不能太小,否则视为平行的直线,无法构成多边形。对于一条直线段寻找合适的邻边的步骤是:选择所有距离小于某阈值的其他直线段集合,并且剔除斜率相近的直线段,然后在剩下来的直线段中寻找端点距离最近的直线,该直线段即被选为合适的邻边,将当前直线的对应端点的指针指向被选定的邻边。
在一个稳定封闭的多边形中,所有的相邻边都应该是双向链接,那么接下来要删除所有含有单向链接的直线段。主要步骤是:检视每一条直线段,如果所有直线段都含有双向链接,则过程结束,如果有直线段包含非双向链接,那么删除这条直线段,并且重新检视所有直线段,直到没有直线段不包含双向链接为止。
剔除包含非双向链接的直线段后,剩下的所有直线都属于某个多边形的一部分,接下来只要根据链接模型即可搜索出多边形。其中,所述链接模型用于对应存储所有直线段、所有直线段的两条邻边以及连接两条邻边的两个端点。搜索步骤是:选择第一条直线段,并且将其作为多边形的第一条边;根据链接找到当前边的邻边,如果当前边的邻边是所述多边形的前一条边,即当前边是从所述前一条边找到的,则将当前边的另一条邻边作为多边形的当前边,寻找多边形的下一条边,如果当前边为所述多边形的第一条边,那么已经找出多边形,过程结束。本发明能够检测多个独立多边形,检测算法是每检测到多边形或者检测到非多边形直线段,则将所检测到的多边形记录下来,并去除这些非多边形的直线段,然后重新搜索即可。
至此为止,多边形搜索已经完成。
所述第三步,具体如下:
我们将要计算多边形的六自由度世界坐标系坐标,包含了3个位置坐标和3个方向坐标。一个平面只需要3个不在同一条直线上的点来确定,所以空间平面多边形六自由度位姿的确定也只需要3个顶点即可,所以我们这里只计算3个顶点的位姿。这里设p,q,r为图像中的多边形三个顶点,P,Q,R为其对应世界坐标系中的点。u,v为图像中的点坐标(以像素为单位),x,y为相机坐标系中图像的点坐标。
k是CCD上相邻的两个像素之间的距离,通常情况下这个距离在水平和垂直方向是一样的。w,h为图像对应的宽度和高度(以像素为单位),这些数据通常通过标定得到。
公式2展示了透视投影方程,d是镜头原点到相机平面的距离。镜头原点是指相机镜头凸透镜的几何中心,相机平面是指相机的CCD阵列所在的空间平面(单位为m),注意并不是图像平面(单位为像素)。P,Q,R组成一个三角形。
公式中,xyz代表世界坐标系中的空间坐标,下标PQR为多边形真实顶点,下标pqr为PQR对应在相机平面的成像点。例如xQ为Q在世界坐标系中的的x坐标,zR为R的空间z坐标。
由于多边形的结构是已知的,在已知多边形结构尺寸的情况下和是已知常量,而和的夹角也是已知量,所以下面的方程成立。
(xP-xQ)2+(yP-yQ)2+(zP-zQ)2=W2 (3)
(xQ-xR)2+(yQ-yR)2+(zQ-zR)2=H2 (4)
(xQ-xP)(xQ-xR)+(yQ-yP)(yQ-yR)+(zQ-zP)(zQ-zR)=0
(5)
公式中假设多边形的某三个顶点为PQR,那么为PQ组成的向量,为Q和R组成的向量,H和W是PQ和QR的长度,都为已知常量,如果检测实例为矩形,则所述夹角为90°。
一共有9个方程(方程2到方程5)和9个未知数(xP,yP,zP,xQ,yQ,zQ,xR,yR,zR),故方程组可以有解。另外因为只要多边形能在相机里成像,那么物理世界中的多边形对应的位置总是存在的,即方程肯定有解。通过迭代法就可以求解方程得到多边形的位姿。
图2示为多边形检测定位的实例,本实例具体实施过程如下:
步骤1:选择移动电话作为检测定位对象,移动电话有很明显的四边形结构,适合多边形检测定位。手动测量移动电话的宽W和高H。并且测量四边形的四个夹角,理论上是90°。
步骤2:对相机进行标定,得到相机的内参数,用于计算移动电话的位姿。
步骤3:从若干不同的角度和距离拍摄包含移动电话的图片,将这些图片输入到程序,即可通过公式2-5计算出每张图片中移动电话的位姿。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
1.一种多边形工件检测定位方法,包括:
步骤1、检测工件图像中的边缘图像,获取边缘图像中的每条曲线构成的曲线集合,从所述曲线集合中提取出直线段集合;
步骤2、对于所述直线段集合的每条直线段,搜索得到与其具有一定夹角且端点距离最近的边作为其邻边,提取出所有互为邻边的所有直线段,这些直线段组成的图形即为多边形;
步骤3、对所述多边形进行六自由度定位;
步骤2具体包括:
步骤201:建立链接模型,其中所述链接模型用于存储直线段、所述直线段的两条邻边以及连接两条邻边的两个端点,其中所述直线段及其两条邻边互为邻边;
步骤202:遍历所述链接模型,得到构成封闭结构的多边形。
2.如权利要求1所述的检测定位方法,其中,步骤1包括:
步骤101:从检测的工件图像中获取边缘,进而得到边缘图像;
步骤102:根据所获得的边缘图像搜索其中的所有曲线;
步骤103:从搜索得到的所有曲线中提取出直线段。
3.如权利要求2所述的检测定位方法,其中,步骤102具体包括:
步骤1021:行列扫描所述边缘图像,若不存在边缘点则结束流程;
步骤1022:若存在边缘点,则判断搜索到的边缘点是否为端点,是则转步骤1023,否则转步骤1021;
步骤1023:若是,则以当前边缘点作为曲线的起始点,并从所述边缘图像删除该起始点;
步骤1024:从所述当前边缘点的邻域中寻找下一个边缘点,若有下一个边缘点则转步骤1025,否则该曲线搜索结束,转步骤1021进行下一曲线的搜索;
步骤1025:将所述下一个边缘点作为当前边缘点加入当前曲线,并从边缘图像中删除该当前边缘点,转步骤1024。
4.如权利要求2所述的检测定位方法,其中,步骤103具体包括:
步骤1031:搜索每条曲线,如果所述曲线中某个点的曲率大于预定的折点曲率阈值,且该点为极值点,则以该点将所述曲线拆分为两条曲线,并重复该步骤,直到所有曲线都搜索完毕;
步骤1032:对于每条曲线,如果所述曲线中某个点的曲率大于预定的弧段曲率阈值并且小于所述预定的折点曲率阈值,则将该点从所述曲线中删除,得到直线段集合;
步骤1033:将所述直线段集合中斜率差小于第一预定阈值、且至少分别具有距离小于第二预定阈值的一个端点的两条直线段融合成一条直线段;
步骤1034:对于所述直线段集合中的每条直线段,如果其长度小于预定值,则删除该直线段。
5.如权利要求4所述的检测定位方法,其中,步骤201包括:
步骤2011:针对每条直线段,找到其邻边,并将所述直线段、邻边以及连接所述邻边的端点的对应关系存储在所述链接模型中;
步骤2012:针对链接模型中的每条直线段,保留互为邻边的直线段,删除其他直线段。
6.如权利要求5所述的检测定位方法,其中,所述步骤2011具体包括:
选择所有距离小于预定阈值的其他直线段,并将所述其他直线段中斜率差大于第三预定阈值且距离最近的直线段作为邻边。
7.如权利要求1所述的检测定位方法,其中,步骤202包括:
步骤2021:从所述链接模型中选择其中一条直线段作为多边形的第一条边;
步骤2022:找到当前边的其中一条邻边并判断其是否为所述多边形的前一条边,若否则将该条邻边作为所述多边形的当前边,若是则将另一条邻边作为所述多边形的当前边;其中所述前一条边为所述多边形的边且为当前边的邻边;
步骤2023:判断所述当前边是否为所述多边形的第一条边,若否则转步骤2022;若是则结束流程。
8.如权利要求1所述的检测定位方法,其中,步骤3中对多边形进行六自由度定位具体为:根据透视投影方程和多边形内部相对几何关系计算得到多边形在相机坐标系中的坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305198.4A CN104063868B (zh) | 2014-06-30 | 2014-06-30 | 一种多边形工件检测定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305198.4A CN104063868B (zh) | 2014-06-30 | 2014-06-30 | 一种多边形工件检测定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063868A CN104063868A (zh) | 2014-09-24 |
CN104063868B true CN104063868B (zh) | 2017-05-10 |
Family
ID=51551560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410305198.4A Active CN104063868B (zh) | 2014-06-30 | 2014-06-30 | 一种多边形工件检测定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104063868B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650542A (zh) * | 2016-12-29 | 2017-05-10 | 浙江理工大学 | 多功能手持式物体扫描仪 |
CN106931906A (zh) * | 2017-03-03 | 2017-07-07 | 浙江理工大学 | 一种基于双目立体视觉的物体三维尺寸简便测量方法 |
CN108106549B (zh) * | 2017-11-24 | 2019-10-18 | 清华大学 | 一种电机转子磁钢片装配径向缺陷的结构光检测方法 |
CN108038880B (zh) * | 2017-12-20 | 2019-12-13 | 百度在线网络技术(北京)有限公司 | 用于处理图像的方法和装置 |
CN108037503B (zh) * | 2017-12-22 | 2021-02-19 | 杭州视熵科技有限公司 | 一种面向家居板材上下料的基于激光雷达的平面多板材定位方法 |
CN108665467A (zh) * | 2018-05-15 | 2018-10-16 | 深圳市智绘睿图科技信息有限公司 | 一种实时交互式图像的几何图形的提取方法 |
CN109801281B (zh) * | 2019-01-23 | 2020-09-18 | 浙江大学 | 一种无纹理金属零件图像规整化直线段边缘检测方法 |
CN112000824A (zh) * | 2019-05-27 | 2020-11-27 | 英业达科技有限公司 | 对象辨识系统及其方法 |
CN110827307B (zh) * | 2019-11-04 | 2022-04-15 | 深圳技术大学 | 电子雕刻机高精度图像像素测距方法 |
CN112233162A (zh) * | 2020-10-06 | 2021-01-15 | 武汉烽火凯卓科技有限公司 | 一种基于结构照明特征的平面图像分析的测量方法及装置 |
CN112257598A (zh) * | 2020-10-22 | 2021-01-22 | 北京字跳网络技术有限公司 | 图像中四边形的识别方法、装置、可读介质和电子设备 |
CN112428264B (zh) * | 2020-10-26 | 2021-12-07 | 中国计量大学 | 一种机器人臂的矫正方法及系统 |
CN112802045B (zh) * | 2021-02-24 | 2022-05-13 | 燕山大学 | 一种同步检测图像中平行直线和平行曲线特征的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681151B1 (en) * | 2000-12-15 | 2004-01-20 | Cognex Technology And Investment Corporation | System and method for servoing robots based upon workpieces with fiducial marks using machine vision |
CN102915522A (zh) * | 2012-09-12 | 2013-02-06 | 康佳集团股份有限公司 | 一种智能手机的名片提取系统及其实现方法 |
-
2014
- 2014-06-30 CN CN201410305198.4A patent/CN104063868B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681151B1 (en) * | 2000-12-15 | 2004-01-20 | Cognex Technology And Investment Corporation | System and method for servoing robots based upon workpieces with fiducial marks using machine vision |
CN102915522A (zh) * | 2012-09-12 | 2013-02-06 | 康佳集团股份有限公司 | 一种智能手机的名片提取系统及其实现方法 |
Non-Patent Citations (2)
Title |
---|
The regular polygon detector;Nick Barnes等;《Pattern Recognition》;20100331;第43卷(第3期);第592-602页 * |
基于视觉的工件识别定位方法的研究;李阳君;《中国优秀硕士学位论文全文数据库》;20070815(第02期);正文第30-41页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104063868A (zh) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063868B (zh) | 一种多边形工件检测定位方法 | |
Cham et al. | Estimating camera pose from a single urban ground-view omnidirectional image and a 2D building outline map | |
CN104851094A (zh) | 一种基于rgb-d的slam算法的改进方法 | |
US20150317821A1 (en) | Geodesic Distance Based Primitive Segmentation and Fitting for 3D Modeling of Non-Rigid Objects from 2D Images | |
CN110135455A (zh) | 影像匹配方法、装置及计算机可读存储介质 | |
CN101216895A (zh) | 一种复杂背景图像中椭圆图像特征的自动提取方法 | |
Ückermann et al. | Real-time 3D segmentation of cluttered scenes for robot grasping | |
CN110599545B (zh) | 一种基于特征的构建稠密地图的系统 | |
CN104361627B (zh) | 基于sift的双目视觉沥青路面微观纹理三维图像重构方法 | |
CN112819883B (zh) | 一种规则对象检测及定位方法 | |
EP2610783B1 (en) | Object recognition method using an object descriptor | |
CN110570474B (zh) | 一种深度相机的位姿估计方法及系统 | |
CN104700355A (zh) | 室内二维平面图的生成方法、装置和系统 | |
Alcantarilla et al. | Large-scale dense 3D reconstruction from stereo imagery | |
David et al. | Orientation descriptors for localization in urban environments | |
CN110335282B (zh) | 一种基于栅格的轮廓线段特征提取方法 | |
JP2010055340A (ja) | 走行路推定装置及びプログラム | |
Wang et al. | Multi-features visual odometry for indoor mapping of UAV | |
Mu et al. | Visual navigation features selection algorithm based on instance segmentation in dynamic environment | |
JP4935769B2 (ja) | 平面領域推定装置及びプログラム | |
CN103729850B (zh) | 一种在全景图中提取直线的方法 | |
Shao | A Monocular SLAM System Based on the ORB Features | |
Zhang et al. | 3D reconstruction of weak feature indoor scenes based on hector SLAM and floorplan generation | |
CN103971356B (zh) | 基于视差信息的街景图像目标分割方法及装置 | |
Lv et al. | Semantically guided multi-view stereo for dense 3d road mapping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |