CN115861584A - 基于单相机的模板标记检测方法及模板位置矫正方法 - Google Patents

基于单相机的模板标记检测方法及模板位置矫正方法 Download PDF

Info

Publication number
CN115861584A
CN115861584A CN202211651503.6A CN202211651503A CN115861584A CN 115861584 A CN115861584 A CN 115861584A CN 202211651503 A CN202211651503 A CN 202211651503A CN 115861584 A CN115861584 A CN 115861584A
Authority
CN
China
Prior art keywords
detection
edge
line
collinear
line segment
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
Application number
CN202211651503.6A
Other languages
English (en)
Inventor
罗先刚
李成文利
刘明刚
闫剑
王长涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Optics and Electronics of CAS
Original Assignee
Institute of Optics and Electronics of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Optics and Electronics of CAS filed Critical Institute of Optics and Electronics of CAS
Priority to CN202211651503.6A priority Critical patent/CN115861584A/zh
Priority to PCT/CN2022/142311 priority patent/WO2024130762A1/zh
Priority to US18/575,791 priority patent/US12100188B2/en
Publication of CN115861584A publication Critical patent/CN115861584A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了一种基于单相机的模板标记检测方法及模板位置矫正方法,包括:S1,采用单相机对模板上的标记进行图像采集,预处理后得到二值化图像;S2,对二值化图像进行边缘锯齿角点检测,得到边缘锯齿角点集合;S3,对二值化图像依次进行边缘检测、直线检测,得到粗检测边缘线段集合;S4,遍历粗检测边缘线段集合,判断并保留其中共线的线段,得到粗检测共线线段集合;S5,遍历边缘锯齿角点集合,与粗检测共线线段集合中的线段进行点、线共线判断,得到精检测点线集合;S6,对精检测点线集合进行直线拟合,再利用反正切函数计算得到各条直线的倾斜角度,完成对标记的检测。进一步地,对模板的位置进行矫正。

Description

基于单相机的模板标记检测方法及模板位置矫正方法
技术领域
本公开涉及光学检测技术领域,具体涉及一种基于单相机的模板标记检测方法及模板位置矫正方法。
背景技术
机械手传输模板过程中需要进行位置的矫正,一般采用2个PSD进行光学矫正或者采用两个相机进行图像矫正,但对于模板吸盘上方和下方的空间有限的情况,并没有足够的空间进行PSD和相机的安装。采用光学方法对位置标记进行直线检测时,因为单条直线斜率已经固定,难以对其斜率进行修正,因此直线检测得出的标记斜率精度低。另外,由于灰度图相邻像素点的像素值差别较小,因此基于灰度图的角点检测得到的角点数量较少,故无法利用获得的角点来确定标记的位置信息。
发明内容
(一)要解决的技术问题
针对上述问题,本公开提供了一种基于单相机的模板标记检测方法及模板位置矫正方法,用于解决传统方法中检测装置安装受限、得到标记的倾斜角度精度低等技术问题。
(二)技术方案
本公开一方面提供了一种基于单相机的模板标记检测方法,包括:S1,采用单相机对模板上的标记进行图像采集,预处理后得到二值化图像;S2,对二值化图像进行边缘锯齿角点检测,得到边缘锯齿角点集合;S3,对二值化图像依次进行边缘检测、直线检测,得到粗检测边缘线段集合;S4,遍历粗检测边缘线段集合,判断并保留其中共线的线段,得到粗检测共线线段集合;S5,遍历边缘锯齿角点集合,与粗检测共线线段集合中的线段进行点、线共线判断,得到精检测点线集合;S6,对精检测点线集合进行直线拟合,再利用反正切函数计算得到各条直线的倾斜角度,完成对标记的检测。
进一步地,S1包括:S11,采用单相机对模板上的标记进行图像采集,得到初始图像;S12,将初始图像转化为灰度图并进行滤波;S13,对S12所得的图像进行二值化处理,得到二值化图像。
进一步地,S2包括:对二值化图像中的像素点进行Shi-Tomasi角点响应函数检测,得到边缘锯齿角点集合。
进一步地,S3包括:对二值化图像进行Canny边缘检测,得到边缘图形;根据边缘图形利用累计概率霍夫变换得到标记中的多条边缘线段,多条边缘线段组成粗检测边缘线段集合。
进一步地,S4包括:S41,在粗检测边缘线段集合中任选两条线段,得到四个端点;S42,计算由四个端点组成的四边形的面积,计算其中一条线段的斜率、一条线段的两个端点分别与另一条线段的两个端点连接成的线段的斜率;S43,若四边形的面积小于第一预设阈值,且斜率的差值均小于第二预设阈值,则两条线段共线;S44,遍历粗检测边缘线段集合,保留其中共线的线段,得到粗检测共线线段集合。
进一步地,S5包括:S51,在边缘锯齿角点集合中任选一角点,角点与粗检测共线线段集合中的线段分别构成三角形;S52,计算三角形的面积;S53,若三角形的面积小于第三预设阈值,则角点与线段点、线共线;S54,遍历边缘锯齿角点集合,将点、线共线的角点和线段合并得到精检测点线集合。
进一步地,S5还包括:S55,选取精检测点线集合中相同的共线的线段,保留其中任意一条,去除多余的线段。
进一步地,S6包括:S61,将精检测点线集合中点、线共线的角点与相应线段的两个端点进行直线拟合,得到直线方程;S62,根据直线方程利用反正切函数计算得到各条直线的倾斜角度。
进一步地,模板上的标记包括“米”字形、“十”字形中的一种。
本公开另一方面提供了一种基于单相机的模板位置矫正方法,包括:S1,采用单相机对模板上的标记进行图像采集,预处理后得到二值化图像;S2,对二值化图像进行边缘锯齿角点检测,得到边缘锯齿角点集合;S3,对二值化图像依次进行边缘检测、直线检测,得到粗检测边缘线段集合;S4,遍历粗检测边缘线段集合,判断并保留其中共线的线段,得到粗检测共线线段集合;S5,遍历边缘锯齿角点集合,与粗检测共线线段集合中的线段进行点、线共线判断,得到精检测点线集合;S6,对精检测点线集合进行直线拟合,再利用反正切函数计算得到各条直线的倾斜角度;S7,根据各条直线的倾斜角度与标准角度的差值,对模板的位置进行矫正。
(三)有益效果
本公开的基于单相机的模板标记检测方法及模板位置矫正方法,采用单相机进行图像采集,减少了工位占用,解决了检测装置安装受限的问题;进一步地,通过图像二值化得到更多且精确的边缘角点,结合使用模板标记联通部分两边共线的直线,进行直线拟合后得到更精准的直线倾斜角度,确定标记的准确位置信息,实现对模板标记高精度的检测,最终利用该检测方法得出的标记位置信息进行模板位置的矫正。
附图说明
图1示意性示出了根据本公开实施例中基于单相机的模板标记检测方法的流程图;
图2示意性示出了根据本公开实施例中检测方法使用装置的工位结构示意图;
图3示意性示出了根据本公开实施例中对标记图像进行滤波后的图形;
图4示意性示出了根据本公开实施例中对灰度图进行二值化处理后的图形;
图5示意性示出了根据本公开实施例中对二值化图像进行边缘锯齿角点检测的结果图;
图6示意性示出了根据本公开实施例中对二值化图像进行边缘检测、直线检测的结果图;
图7示意性示出了根据本公开实施例中进行共线判断的夹角示意图;
图8示意性示出了根据本公开实施例中对精检测点线集合进行直线拟合的结果图;
图9示意性示出了根据本公开实施例中基于单相机的模板标记检测的处理流程示意图;
图10示意性示出了根据本公开实施例1中五次模板上片后二值化处理的结果图;
图11示意性示出了根据本公开实施例1中五次模板上片后对二值化图像进行边缘锯齿角点检测的结果图;
图12示意性示出了根据本公开实施例1中五次模板上片后对二值化图像进行边缘检测、直线检测的结果图;
图13示意性示出了根据本公开实施例1中五次模板上片后对精检测点线集合进行直线拟合的结果图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
需要说明,若本公开实施例中有涉及方向性指示,则该方向性指示仅用于解释在某一特定姿态下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
说明书与权利要求中所使用的序数例如“第一”、“第二”、“第三”等的用词,以修饰相应的元件,其本身并不意含或代表该元件有任何的序数,也不代表某一元件与另一元件的顺序、或是制造方法上的顺序,该些序数的使用仅用来使具有某命名的一元件得以和另一具有相同命名的元件能作出清楚区分。
本公开提供了一种基于单相机的模板标记检测方法,请参见图1,包括:S1,采用单相机对模板上的标记进行图像采集,预处理后得到二值化图像;S2,对二值化图像进行边缘锯齿角点检测,得到边缘锯齿角点集合;S3,对二值化图像依次进行边缘检测、直线检测,得到粗检测边缘线段集合;S4,遍历粗检测边缘线段集合,判断并保留其中共线的线段,得到粗检测共线线段集合;S5,遍历边缘锯齿角点集合,与粗检测共线线段集合中的线段进行点、线共线判断,得到精检测点线集合;S6,对精检测点线集合进行直线拟合,再利用反正切函数计算得到各条直线的倾斜角度,完成对标记的检测。
该检测方法使用装置的工位示意图如图2所示,包括光源、镜组、CCD相机,工作过程为:机械手传输模板至CCD相机下方的模板工位,光源发出的光经过镜组传输后到达模板上的标记处,携带标记信息的反射光再经过镜组到达CCD相机,对CCD相机采集得到的图像进行处理。本方法采用单路CCD相机进行图像采集,减少了工位占用,解决了检测装置安装受限的问题。由于模板工位四周有夹持方形槽,模板在此方形槽中的转动范围和移动范围不超过0.5°和±0.5mm,在此范围内该单路CCD相机采集的图像标记定位的精度越高,后续模板位置矫正后的位置精度相应就越高。
具体地,首先将采集的图像进行预处理、二值化;图像二值化后产生边缘锯齿,此特征正好可以在角点检测时得到更多且精确的边缘锯齿角点。然后并行进行边缘锯齿角点检测和直线检测(即步骤S2与步骤S3的处理可以同步也可以不同步,两者的顺序不分先后),对得到的粗检测边缘线段进行共线检测,保留两条或以上共线的线段,得到粗检测共线线段集合;再遍历边缘锯齿角点集合,在粗检测共线线段集合中进行点、线共线判断,对于共线的边缘锯齿角点进行保留,得到精检测点线集合;最后对精检测点线集合进行直线拟合和反三角函数运算得到更精确的直线倾斜角度,根据上述处理过程,可以实现对模板标记的高精度检测。即本公开通过图像二值化得到更多且精确的边缘角点,结合使用模板标记联通部分两边共线的直线,进行直线拟合后得到更精准的直线倾斜角度,得到了标记的更准确的位置信息。
在上述实施例的基础上,S1包括:S11,采用单相机对模板上的标记进行图像采集,得到初始图像;S12,将初始图像转化为灰度图并进行滤波;S13,对S12所得的图像进行二值化处理,得到二值化图像。
CCD相机对模板上的标记进行图像采集,得到初始图像;将该初始图像转化为灰度图并进行滤波,滤波块的大小是可变的,结果如图3所示(以“米”字形标记为例)。这里采用滤波的原因是图像边缘非常容易受到噪声的干扰,为了避免检测到错误的边缘信息,需要对图像进行滤波以去除噪声。滤波的目的是平滑一些纹理较弱的非边缘区域,以便得到更准确的边缘。
接着遍历灰度图中所有的像素点计算此灰度图的像素中值,根据像素中值对所有像素值进行二值化。例如,将像素值小于中值的像素值赋255,将像素值大于中值的像素值赋0。当然,还可以赋其他值,但是所选取的两个值差别需足够大,以便进行图像与空白区域的区分。一般来说,图像二值化(Image Binarization)就是将图像上的像素点的灰度值设置为0或255。结果如图4所示,由图可知二值化处理后的对准标记图形边缘产生了多个锯齿,如图4中圆圈部分所示。
在上述实施例的基础上,S2包括:对二值化图像中的像素点进行Shi-Tomasi角点响应函数检测,得到边缘锯齿角点集合。
对二值化图像进行边缘锯齿角点检测,获取图像Shi-Tomasi角点检测数据,获取图像边缘锯齿角点集合{sp1,sp2,sp3,…spm},边缘锯齿角点检测结果如图5所示。为了获得足够多的点,Shi-Tomasi角点响应函数中的质量系数尽可能取小。
在上述实施例的基础上,S3包括:对二值化图像进行Canny边缘检测,得到边缘图形;根据边缘图形利用累计概率霍夫变换得到标记中的多条边缘线段,多条边缘线段组成粗检测边缘线段集合。
对二值化图像采用常规的Canny边缘检测算法进行边缘检测,Canny边缘检测算法中具体数值的选取理论:在获得边缘的过程中,会获取一些虚边缘,这些虚边缘可能是真实图像产生,也可能是由于噪声产生,噪声产生的虚边缘需要剔除。根据当前边缘像素的梯度值与两个阈值之间的关系来判断当前边缘的属性,若当前边缘的像素梯度≥第二边缘阈值时,则当前边缘像素标记为强边缘,即该边缘为真实图像产生。若当前边缘的像素梯度介于第二边缘阈值与第一边缘阈值间时,当前边缘像素标记为虚边缘(此时仍需保留)。若当前边缘的像素梯度≤第一边缘阈值时,则舍弃当前边缘。经过上述处理获得虚边缘之后,通过判断虚边缘与强边缘是否连接,来确定该虚边缘是真实图像产生或噪声产生。若虚边缘与强边缘连接,则该虚边缘为真实图像产生;若虚边缘不与强边缘连接,则该虚边缘为噪声导致。其中,第一边缘阈值与第二边缘阈值的具体数值可以根据需要进行选择。
对Canny边缘检测后的图像可以采用常规的累计概率霍夫变换进行直线检测,根据Canny边缘检测得到的边缘图形(该边缘图形可能具有曲线部分)获得图像标记中的边缘线段。直线检测后获得粗检测边缘线段集合{d1,d2,d3,…,dn},粗检测边缘线段的检测结果如图6所示。从图6中的方框部分可以看出,累计概率霍夫变换后在同一位置可能会检测出多条边缘线段。
在上述实施例的基础上,S4包括:S41,在粗检测边缘线段集合中任选两条线段,得到四个端点;S42,计算由四个端点组成的四边形的面积,计算其中一条线段的斜率、一条线段的两个端点分别与另一条线段的两个端点连接成的线段的斜率;S43,若四边形的面积小于第一预设阈值,且斜率的差值均小于第二预设阈值,则两条线段共线;S44,遍历粗检测边缘线段集合,保留其中共线的线段,得到粗检测共线线段集合。
在获得的粗检测边缘线段集合{d1,d2,d3,…,dn}中进行线段遍历,将共线的线段进行合并,这里的合并是指合并到粗检测共线线段集合里,暂时不进行共线线段的去重,得到粗检测共线线段集合{cl1,cl2,cl3,…clk},即该粗检测共线线段集合里的每一个元素都是共线的集合。
共线的判断方式有很多,下面对本公开的共线判断过程进行说明,在粗检测边缘线段集合{d1,d2,d3,…,dn}中任选两条线段,已知两条线段的端点分别为(P1,P2)和(P3,P4),共线判断条件是Ψ1和Ψ2,当两个条件均满足时认为共线。
Ψ1是由四个端点组成四边形的面积是否小于第一预设阈值。本公开根据海伦公式,利用三角形的三条边长直接求三角形的面积。四边形的面积等于两个三角形面积之和,如下式(1)所示:
Figure BDA0004009495060000071
其中,S1表示三角形P1P2P3的面积,h1为三角形P1P2P3的半周长,
Figure BDA0004009495060000072
表示Pi与Pj点间的线段长度,S2表示三角形P2P3P4的面积,h2为三角形P2P3P4的半周长,η为第一预设阈值,例如,η=400;h1、h2和/>
Figure BDA0004009495060000081
的计算公式如下式(2)和式(3)所示:
Figure BDA0004009495060000082
Figure BDA0004009495060000083
Ψ2是一条线段的斜率、一条线段的两个端点分别与另一条线段的两个端点连接成的线段的斜率是否小于第二预设阈值。为方便说明,本公开中将斜率转换成线段与x轴的夹角进行展示;通过反正切函数可以将斜率转换成端点P1和端点P2所在直线与x轴的夹角θ1;端点P1和端点P3所在直线与x轴的夹角θ2;端点P2和端点P4所在直线与x轴的夹角θ3。如图7所示。倾斜角均为弧度制,如下式(4)所示:
Figure BDA0004009495060000084
其中,例如第二预设阈值δ=0.16,倾斜角θ1、θ2和θ3的计算公式如下式(5)所示:
Figure BDA0004009495060000085
在上述实施例的基础上,S5包括:S51,在边缘锯齿角点集合中任选一角点,角点与粗检测共线线段集合中的线段分别构成三角形;S52,计算三角形的面积;S53,若三角形的面积小于第三预设阈值,则角点与线段点、线共线;S54,遍历边缘锯齿角点集合,将点、线共线的角点和线段合并得到精检测点线集合。
遍历边缘锯齿角点集合,在粗检测共线线段集合中进行点、线共线判断,对于共线的角点和线段合并到同一个粗检测共线线段集合中,得到精检测点线集合{fl1,fl2,fl3,…flk}。
其中,点、线共线判断的条件是Ψ3。Ψ3是角点spk与粗检测共线线段集合中线段的两个端点(Pi,Pj)构成的三角形面积是否小于第三预设阈值,例如第三预设阈值ηs=300,Ψ3的计算方法与Ψ1中计算三角形面积公式相同。
在上述实施例的基础上,S5还包括:S55,选取精检测点线集合中相同的共线的线段,保留其中任意一条,去除多余的线段。
此时,还可以去掉精检测点线集合中相同的共线线段中多余的线段,每组相同的共线线段仅保留一条。如图6中方框部分所示,在同一个位置可能存在多条相互间距离很近的线段,这些线段相互之间或与其他线段进行步骤S54的共线判断后,可能得到两条斜率相同的线段,并且这两条线段在步骤S4中均被保存到了粗检测共线线段集合中,为了去除冗余数据,在此步骤中通过线段的求并集计算,将包含同一条粗检测共线线段的多余粗检测线段去除。
在上述实施例的基础上,S6包括:S61,将精检测点线集合中点、线共线的角点与相应线段的两个端点进行直线拟合,得到直线方程;S62,根据直线方程利用反正切函数计算得到各条直线的倾斜角度。
对精检测点线共线集合中点、线共线的角点与相应线段进行直线拟合,例如采用最小二乘法进行直线拟合。由于一条线段可以用其两个端点表示,因此精检测点线集合中所有点的个数为N,方程如下式(6)所示,精检测点线的拟合结果如图8所示,得到形如y=ax+b的直线方程,进行反正切函数计算后得到精确的直线倾斜角度β,如式7所示。
Figure BDA0004009495060000091
Figure BDA0004009495060000092
在上述技术方案的基础上,可以对检测方法的检测偏差进行计算。S8包括:S81,根据各条直线的标准偏差角度与偏差角度相减,得到各条直线的检测误差;S82,根据检测误差求平均得到模板传输的偏转误差;S83,对多个标准偏差角度对应的偏转误差求均值和标准差,可估算此方法的检测精度偏差。
机械手上片时,将模板上的标记偏离标准位置一定角度,将该偏离角度作为标准偏差角度,各条直线的倾斜角度与标准角度相减得到各条直线的偏差角度,所以,检测误差=标准偏差角度-直线的偏差角度,对检测误差求平均得到偏转误差。对多个标准偏差角度对应的偏转误差求均值和标准差,可估算此方法的检测偏差。
Figure BDA0004009495060000101
其中,
Figure BDA0004009495060000102
为偏转误差,m为每幅图像的精检测点线集合的个数,θ为机械手转动角度作为标准偏差角度,β为各条直线的倾斜角度与标准角度相减得到直线的偏差角度。
在上述实施例的基础上,模板上的标记包括“米”字形、“十”字形中的一种。
本公开的检测方法不仅适用于“米”字形标记,“十”字形标记同样可以适用,只要满足由相交直线组成且没有曲线的标记均可使用本公开的检测方法进行模板标记检测。
本公开还提供了一种基于单相机的模板位置矫正方法,包括:S1,采用单相机对模板上的标记进行图像采集,预处理后得到二值化图像;S2,对二值化图像进行边缘锯齿角点检测,得到边缘锯齿角点集合;S3,对二值化图像依次进行边缘检测、直线检测,得到粗检测边缘线段集合;S4,遍历粗检测边缘线段集合,判断并保留其中共线的线段,得到粗检测共线线段集合;S5,遍历边缘锯齿角点集合,与粗检测共线线段集合中的线段进行点、线共线判断,得到精检测点线集合;S6,对精检测点线集合进行直线拟合,再利用反正切函数计算得到各条直线的倾斜角度;S7,根据各条直线的倾斜角度与标准角度的差值,对模板的位置进行矫正。
根据上述标记检测方法S1~S6,进一步地,根据标记检测得到的倾斜角度与标准角度的差值,对模板的位置进行更准确的矫正。
本公开根据对准标记的特征,使用联通部分两边共线的直线可以得到更精准的斜率;基于灰度图的角点检测得到的角点信息较少,而图像二值化后产生会边缘锯齿,此特征正好可以在角点检测时得到更多且精确的边缘角点。本公开结合双线与边缘锯齿角点进行末端传输位置偏转误差检测,有较高的误差检测精度。
下面通过具体实施方式对本公开作进一步说明。在以下实施例中对上述基于单相机的模板标记检测方法及模板位置矫正方法进行具体说明。但是,下述实施例仅用于对本公开进行例示,本公开的范围不限于此。
本公开的基于单相机的模板标记检测方法及模板位置矫正方法,如图9所示,包括依次执行以下的步骤:
步骤1:采用单路CCD相机进行图像采集,得到原图(初始图像);将采集的原图转化为灰度图,并进行滤波和二值化,得到二值化图像;相当于上述步骤S1。
步骤2:对二值化图像进行边缘锯齿角点检测,获取图像的角点检测数据,得到图像的边缘锯齿角点集合{sp1,sp2,sp3,…spmm};相当于上述步骤S2。
步骤3:对二值化图像进行边缘检测;对边缘检测后的图像进行直线检测,获得粗检测边缘线段集合{d1,d2,d3,…,dn};相当于上述步骤S3。
步骤4:在粗检测边缘线段集合{d1,d2,d3,…,dn}中进行线段遍历,将共线的线段合并到粗检测共线线段集合中,得到粗检测共线线段集合{cl1,cl2,cl3,…clk};相当于上述步骤S4。
步骤5:遍历边缘锯齿角点集合,在粗检测共线线段集合中进行点、线共线判断,对于共线的角点和线段合并到同一个粗检测共线线段集合中,得到精检测点线集合{fl1,fl2,fl3,…flk};相当于上述步骤S5。
步骤6:对精检测点线集合进行直线拟合和反三角函数运算得到更精确的模板标记中各直线倾斜角度;相当于上述步骤S6。
步骤7:根据各条直线的倾斜角度与标准角度的差值,对模板的位置进行矫正;相当于上述步骤S7。
根据上述步骤1~步骤7,以下提供了1个具体实施例。
实施例1:
本实施例基于单相机的模板标记检测方法的实施步骤如下:
步骤11:模板上的标记为“米”字形,上片五次,分别对模板图案标记进行五次检测,将单路CCD相机采集的初始图像转化为灰度图并进行Blur滤波,滤波块的大小是可变的,本实施例采用的是5*5像素进行滤波,同时也尝试使用了3*3、7*7像素的滤波块,结果显示检测得到标记直线的倾斜角度的精度会下降,但最终还是能得到较精确的标记直线的倾斜角度。
步骤12:遍历图像中所有像素点计算此灰度图的像素中值,根据像素中值对所有像素值进行二值化,得到二值化图像。本实施例中,将像素值小于中值的像素值赋255,将像素值大于中值的像素值赋0(在opencv中0是黑色,255是白色)。结果如图10所示,图10中(a)~(e)分别对应五次模板上片后二值化处理的结果,由图10可知二值化处理后的对准标记图形边缘产生了多个锯齿。
步骤13:对二值化图像进行边缘锯齿角点检测,获取图像Shi-Tomasi角点检测数据,得到边缘锯齿角点集合{sp1,sp2,sp3,…spm},边缘锯齿角点检测结果如图11所示,图11中(a)~(e)分别对应五次模板上片后边缘锯齿角点检测的结果。为了获得足够多的点,Shi-Tomasi角点检测算法中的质量系数尽可能取小,本实施例中质量系数为0.01,设置角点之间最小的欧式距离为20,表示的是最后保留的角点间的最小距离为20像素。计算导数自相关矩阵时指定的邻域范围为3。从图11可看出Shi-Tomasi角点检测无法查找坐标系下倾斜直线上的角点。
步骤14:对二值化图像进行Canny边缘检测;本实施例中,由于“米”字形没有曲线与异形凸起,图像结构简单干净,因此所选第一边缘阈值为1,第二边缘阈值为10,较小的阈值能够捕获更多的边缘信息。对Canny边缘检测后的图像进行累计概率霍夫变换,本实施例中,所选的共线阈值为80,即在极坐标系下,相交于一点的曲线的数量超过80,那么就认为这80条以上曲线所对应的笛卡尔坐标系下的边缘点共线,这些共线的边缘点共同组成了边缘直线。另外,为了避免数据过多,设置边缘直线的最小长度为50,低于这个长度的线段就不被保留和显示。将允许两点进行连接的欧式距离(直线距离)设置为10个像素。得到粗检测边缘线段集合{d1,d2,d3,…,dn},粗检测边缘线段的检测结果如图12所示,图12中(a)~(e)分别对应五次模板上片后Canny边缘检测、直线检测的结果。
步骤15:在获得的粗检测边缘线段集合{d1,d2,d3,…,dn}中进行线段遍历,将共线的线段合并到粗检测共线线段集合中,得到粗检测共线线段集合{cl1,cl2,cl3,…clk}。
在粗检测边缘线段集合{d1,d2,d3,…,dn}中任选两条线段,已知两条线段的端点分别为(P1,P2)和(P3,P4),共线判断条件是Ψ1和Ψ2,当两个条件均满足时认为共线。Ψ1是由四个端点组成四边形的面积是否小于第一预设阈值。本实施例根据海伦公式,利用三角形的三条边长直接求三角形的面积。Ψ2是一条线段的斜率、一条线段的两个端点分别与另一条线段的两个端点连接成的线段的斜率间的差值是否小于第二预设阈值。本实施例中,第一预设阈值η=400,第二预设阈值δ=0.16。
步骤16:遍历边缘锯齿角点集合,在粗检测共线线段集合中进行点、线共线判断,对于共线的角点和线段合并到同一个粗检测共线线段集合中,得到精检测点线集合{fl1,fl2,fl3,…flk}。其中,点、线共线判断的条件是Ψ3。Ψ3是角点spk与粗检测共线线段集合中线段的两个端点(Pi,Pj)构成的三角形面积是否小于第三预设阈值,本实施例中,第三预设阈值ηs=300,Ψ3的计算方法与Ψ1中计算三角形面积公式相同。
步骤17:对精检测点线共线集合中点、线共线的角点与相应线段进行直线拟合,例如采用最小二乘法进行直线拟合。精检测点线的拟合结果如图13所示,图13中(a)~(e)分别对应五次上片的直线拟合的结果,每幅图像分别得到多条形如y=ax+b的直线方程,进行反正切函数计算后得到精确的直线倾斜角度β。
步骤18:该步骤用于验证上述的检测方法存在的检测偏差;检测出的各条直线的倾斜角度与标准角度(模板上片后期望角度)相减得到直线偏差角度,模板上片实际位置各条直线的倾斜角度与标准角度(模板上片后期望角度)相减得到标准偏差角度所以,检测误差=标准偏差角度-直线的偏差角度,对检测误差求平均得到偏转误差。对多个标准偏差角度对应的偏转误差求均值和标准差,可估算此方法的检测偏差。检测误差和偏转误差如表1所示。由表1可知,检测误差的均值就是偏转误差。
表1偏转误差检测结果(单位/°)
Figure BDA0004009495060000131
Figure BDA0004009495060000141
对多个检测的偏转误差求均值和标准差,可估算此方法的检测偏差,如表2所示,由表2可知,此方法检测偏差为[-0.00381±0.01259],已满足模板传输的精度要求。
表2检测精度
偏转误差
1 -0.00691
2 -0.01527
3 -0.00417
4 0.01746
5 -0.01016
均值 -0.00381
标准差 0.01259
根据以上方法获得模板标记的各直线的倾斜角度后,可以根据该标记偏离标准角度的差值,对模板进行角度的矫正,使模板标记到达上片期望的位置,从而使模板到达上片期望的位置。
综上,本公开将采集的图像转化为灰度图并进行Blur滤波和二值化;然后并行进行边缘锯齿角点检测和直线检测,对得到的粗检测线段进行共线检测,保留有两条线段以上共线的粗检测共线线段集合;再然后遍历角点数据,在粗检测共线线段集合中进行点、线共线判断,对于共线的角点进行合并,得到精检测点线集合;最后对各个精检测点线集合进行直线拟合和反三角函数运算得到更精确的直线倾斜角度,根据各条直线的倾斜角度与标准角度的差值,对模板的位置进行高精度的矫正。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种基于单相机的模板标记检测方法,其特征在于,包括:
S1,采用单相机对模板上的标记进行图像采集,预处理后得到二值化图像;
S2,对所述二值化图像进行边缘锯齿角点检测,得到边缘锯齿角点集合;
S3,对所述二值化图像依次进行边缘检测、直线检测,得到粗检测边缘线段集合;
S4,遍历所述粗检测边缘线段集合,判断并保留其中共线的线段,得到粗检测共线线段集合;
S5,遍历所述边缘锯齿角点集合,与所述粗检测共线线段集合中的线段进行点、线共线判断,得到精检测点线集合;
S6,对所述精检测点线集合进行直线拟合,再利用反正切函数计算得到各条所述直线的倾斜角度,完成对所述标记的检测。
2.根据权利要求1所述的基于单相机的模板标记检测方法,其特征在于,所述S1包括:
S11,采用单相机对模板上的标记进行图像采集,得到初始图像;
S12,将所述初始图像转化为灰度图并进行滤波;
S13,对所述S12所得的图像进行二值化处理,得到二值化图像。
3.根据权利要求1所述的基于单相机的模板标记检测方法,其特征在于,所述S2包括:
对所述二值化图像中的像素点进行Shi-Tomasi角点响应函数检测,得到边缘锯齿角点集合。
4.根据权利要求1所述的基于单相机的模板标记检测方法,其特征在于,所述S3包括:
对所述二值化图像进行Canny边缘检测,得到边缘图形;
根据所述边缘图形利用累计概率霍夫变换得到所述标记中的多条边缘线段,所述多条边缘线段组成所述粗检测边缘线段集合。
5.根据权利要求1所述的基于单相机的模板标记检测方法,其特征在于,所述S4包括:
S41,在所述粗检测边缘线段集合中任选两条线段,得到四个端点;
S42,计算由所述四个端点组成的四边形的面积,计算其中一条线段的斜率、一条线段的两个端点分别与另一条线段的两个端点连接成的线段的斜率;
S43,若所述四边形的面积小于第一预设阈值,且所述斜率的差值均小于第二预设阈值,则所述两条线段共线;
S44,遍历所述粗检测边缘线段集合,保留其中共线的线段,得到粗检测共线线段集合。
6.根据权利要求1所述的基于单相机的模板标记检测方法,其特征在于,所述S5包括:
S51,在所述边缘锯齿角点集合中任选一角点,所述角点与所述粗检测共线线段集合中的线段分别构成三角形;
S52,计算所述三角形的面积;
S53,若所述三角形的面积小于第三预设阈值,则所述角点与所述线段点、线共线;
S54,遍历所述边缘锯齿角点集合,将点、线共线的角点和线段合并得到精检测点线集合。
7.根据权利要求6所述的基于单相机的模板标记检测方法,其特征在于,所述S5还包括:
S55,选取所述精检测点线集合中相同的共线的线段,保留其中任意一条,去除多余的线段。
8.根据权利要求1所述的基于单相机的模板标记检测方法,其特征在于,所述S6包括:
S61,将所述精检测点线集合中点、线共线的角点与相应线段的两个端点进行直线拟合,得到直线方程;
S62,根据所述直线方程利用反正切函数计算得到各条所述直线的倾斜角度。
9.根据权利要求1所述的基于单相机的模板标记检测方法,其特征在于,所述模板上的标记包括“米”字形、“十”字形中的一种。
10.一种基于单相机的模板位置矫正方法,其特征在于,包括:
S1,采用单相机对模板上的标记进行图像采集,预处理后得到二值化图像;
S2,对所述二值化图像进行边缘锯齿角点检测,得到边缘锯齿角点集合;
S3,对所述二值化图像依次进行边缘检测、直线检测,得到粗检测边缘线段集合;
S4,遍历所述粗检测边缘线段集合,判断并保留其中共线的线段,得到粗检测共线线段集合;
S5,遍历所述边缘锯齿角点集合,与所述粗检测共线线段集合中的线段进行点、线共线判断,得到精检测点线集合;
S6,对所述精检测点线集合进行直线拟合,再利用反正切函数计算得到各条所述直线的倾斜角度;
S7,根据各条所述直线的倾斜角度与标准角度的差值,对所述模板的位置进行矫正。
CN202211651503.6A 2022-12-21 2022-12-21 基于单相机的模板标记检测方法及模板位置矫正方法 Pending CN115861584A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202211651503.6A CN115861584A (zh) 2022-12-21 2022-12-21 基于单相机的模板标记检测方法及模板位置矫正方法
PCT/CN2022/142311 WO2024130762A1 (zh) 2022-12-21 2022-12-27 基于单相机的模板标记检测方法及模板位置矫正方法
US18/575,791 US12100188B2 (en) 2022-12-21 2022-12-27 Template mark detection method and template position correction method based on single camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211651503.6A CN115861584A (zh) 2022-12-21 2022-12-21 基于单相机的模板标记检测方法及模板位置矫正方法

Publications (1)

Publication Number Publication Date
CN115861584A true CN115861584A (zh) 2023-03-28

Family

ID=85653652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211651503.6A Pending CN115861584A (zh) 2022-12-21 2022-12-21 基于单相机的模板标记检测方法及模板位置矫正方法

Country Status (3)

Country Link
US (1) US12100188B2 (zh)
CN (1) CN115861584A (zh)
WO (1) WO2024130762A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116690962A (zh) * 2023-05-17 2023-09-05 佛山市龙源镭射科技有限公司 一种带有功能性涂层的薄膜的高温模压方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100935236B1 (ko) 2008-02-28 2010-01-06 숭실대학교산학협력단 카메라 영상의 선분 세그먼트 기반 임의 허프변환을 이용한 원형물체 검출 방법
CN108921176B (zh) * 2018-06-22 2020-07-10 河海大学常州校区 一种基于机器视觉的指针式仪表定位与识别方法
CN110458858A (zh) 2019-08-14 2019-11-15 中国科学院长春光学精密机械与物理研究所 一种十字靶标的检测方法、系统及存储介质
CN112258455A (zh) * 2020-09-28 2021-01-22 上海工程技术大学 基于单目视觉检测零件空间位置的检测方法
CN112258585B (zh) 2020-10-16 2022-08-30 中国石油大学(华东) 一种面向图像畸变分区求解的标定场设计和图像处理方法
CN112348837B (zh) 2020-11-10 2023-06-09 中国兵器装备集团自动化研究所 一种点线检测融合的物体边缘检测方法及系统
CN112348815B (zh) 2021-01-07 2021-04-06 新东方教育科技集团有限公司 图像处理方法、图像处理装置以及非瞬时性存储介质
CN114543747A (zh) * 2022-04-07 2022-05-27 乌鲁木齐禾润科技开发有限公司 一种用于检测倾角的检测方法及检测装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116690962A (zh) * 2023-05-17 2023-09-05 佛山市龙源镭射科技有限公司 一种带有功能性涂层的薄膜的高温模压方法及系统
CN116690962B (zh) * 2023-05-17 2024-03-29 佛山市龙源镭射科技有限公司 一种带有功能性涂层的薄膜的高温模压方法及系统

Also Published As

Publication number Publication date
US20240273853A1 (en) 2024-08-15
US12100188B2 (en) 2024-09-24
WO2024130762A1 (zh) 2024-06-27

Similar Documents

Publication Publication Date Title
CN109035276B (zh) 一种图像边缘提取方法、装置及自动驾驶系统
CN112233116B (zh) 基于邻域决策与灰度共生矩阵描述的凹凸痕视觉检测方法
CN108985305B (zh) 一种激光蚀刻工业雷管编码图像定位及校正方法
CN111354047B (zh) 一种基于计算机视觉的摄像模组定位方法及系统
CN115170669A (zh) 基于边缘特征点集配准的识别定位方法及系统、存储介质
CN113324478A (zh) 一种线结构光的中心提取方法及锻件三维测量方法
CN111968079B (zh) 基于断面局部极值及分段稀疏的三维路面裂缝提取方法
JP6177541B2 (ja) 文字認識装置、文字認識方法及びプログラム
CN112833784B (zh) 一种单目相机结合激光扫描的钢轨定位方法
CN115861584A (zh) 基于单相机的模板标记检测方法及模板位置矫正方法
CN108335266B (zh) 一种文档图像畸变的矫正方法
CN109887038B (zh) 一种用于在线检测的机器视觉图像校正方法
CN114998571A (zh) 基于固定尺寸标志物的图像处理及颜色检测方法
CN113112396A (zh) 导电粒子的检测方法
CN115511966B (zh) 基于角点检测的元件识别定位方法及系统、存储介质
CN116343215A (zh) 一种文档图像的倾斜校正方法和系统
CN116596987A (zh) 一种基于双目视觉的工件三维尺寸高精度测量方法
CN115760860A (zh) 一种基于dxf文件导入的多类型工件尺寸视觉测量方法
CN112233063B (zh) 一种大尺寸圆形物体的圆心定位方法
WO2020031980A1 (ja) レンズマーカ画像の補正方法、補正装置、プログラム、および記録媒体
CN114120320A (zh) 一种图像多目标信息识别方法、系统及介质
CN113793315A (zh) 一种基于单目视觉的相机平面和目标平面夹角估算方法
JP2010243209A (ja) 欠陥検査方法および欠陥検出装置
CN109872367B (zh) 带有ccd相机雕刻机的校正方法及校正系统
CN112257705B (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