CN110533647A - 一种基于线特征匹配的液晶屏Mark点定位方法 - Google Patents
一种基于线特征匹配的液晶屏Mark点定位方法 Download PDFInfo
- Publication number
- CN110533647A CN110533647A CN201910799937.2A CN201910799937A CN110533647A CN 110533647 A CN110533647 A CN 110533647A CN 201910799937 A CN201910799937 A CN 201910799937A CN 110533647 A CN110533647 A CN 110533647A
- Authority
- CN
- China
- Prior art keywords
- line
- band
- line segment
- point
- image
- 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
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
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30121—CRT, LCD or plasma display
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于线特征匹配的液晶屏Mark点定位方法。其特征是:通过线特征匹配实现目标图像与模板图像的Mark点匹配,模板图像中Mark点位置已知,故可计算得到目标图像中Mark点位置。本方法具体实现步骤为:1)获取模板图像与液晶屏目标位置;2)标记模板图像的Mark点坐标,并建立模板坐标系;3)模板图像线段的提取与描述;4)获取目标图像,并建立目标图像坐标系;5)目标图像线段的提取与描述;6)线特征匹配,得到模板图像与目标图像中对应线段的线特征匹配对;7)分别计算模板图像与目标图像的匹配点;8)计算单应性矩阵,通过单应性矩阵计算得到模板图像上的每一点在目标图像上对应的映射点;9)定位到目标图像中Mark点坐标;10)计算待检测液晶屏的位置偏差与角度偏差。本发明提供的技术方案的计算效率高,机械装置无需频繁校准,可提高驱动芯片排线与液晶屏的贴合效率;精度可达亚像素级,有利于提高驱动芯片排线与液晶屏的贴合精度。
Description
技术领域
本发明涉及计算机视觉领域,尤其涉及一种基于线特征匹配的液晶屏Mark点定位方法。
背景技术
近几年来,液晶显示器发展突发猛进,在手机、平板显示领域得到广泛应用,而液晶屏需要与驱动芯片连接在一起才可以正常工作。在屏幕生产过程中通过排线实现液晶屏与芯片的连接,所以需要先对液晶屏进行精准定位,才可以实现与排线准确贴合。
液晶屏定位主要有两种方法,一种是依靠机械组装方式单一地完成预编程赋予的动作指令,即被操作物体的原始位置和终止位置是严格限定的,只是完成固定的点到点的动作,但这种方法每工作一段时间需要重新校准,准确率也无法得到保证;另一种方法是通过计算机视觉的方法识别定位液晶屏上的Mark点(在液晶屏设计阶段,设计者通常会制作Mark点作为定位基准)从而完成液晶屏定位,利用计算机视觉技术可以提高生产的灵活性和自动化程度,在大批量重复性工业生产过程中,用计算机视觉检测方法可以大大提高生产的效率。
Mark点形状不固定,有圆形、三角形、十字形等,而液晶屏上的标记通常为十字形。目前基于计算机视觉对Mark点检测通常是采用模板匹配的方法,即在目标图像中依次取和模板图像相同大小的区域,计算该区域与模板图像的相似度,最终得到相似度最大的区域作为识别到的Mark点区域。但这种方法需要依次遍历所有像素点,计算复杂,耗时长,且其精度最高为像素级,对于目标图像与模板图像中Mark点存在旋转变换时,匹配准确性会急剧下降,甚至匹配错误。
发明内容
针对上述问题,本发明的目的是提供一种基于线特征匹配的液晶屏Mark点定位方法,使用该方法能够将定位精度提高到亚像素级,且对目标图像与模板图像中Mark点旋转变换鲁棒,从而提高液晶屏定位精度,降低次品率。
为解决上述技术问题,本发明提出了一种基于线特征匹配的液晶屏Mark点定位方法,包括以下步骤:
步骤1:获取模板图像与液晶屏目标位置,用工业相机拍摄下待检测液晶屏含有Mark点区域的图像为标准图像,从标准图像中手工截取包含Mark点的区域图像作为模板图像,通过手动操作调整液晶屏至合适位置,并标记Mark点在相机图像中的位置坐标为液晶屏目标位置;
步骤2:标记模板图像的Mark点坐标,首先在模板图像上建立模板坐标系,然后在所述模板坐标系中手工标记Mark点位置并记录坐标值;
步骤3:模板图像线段的提取与描述,通过EDLine算法提取模板图像中的线段,并通过BLBD算法计算出所述模板图像中线段的描述符,然后通过所述描述符来表征线特征;
步骤4:获取目标图像,通过工业相机拍摄下待检测液晶屏含有Mark点的图像为目标图像,并在所述目标图像上建立图像坐标系;
步骤5:目标图像线段的提取与描述,通过EDLine算法提取目标图像中的线段,并通过BLBD算法计算出所述目标图像中线段的描述符,使用该描述符来表征线特征;
步骤6:线特征匹配,采用类似SIFT算法计算欧氏距离,并通过对比最近距离与次近距离的方法计算得到所述模板图像与目标图像中对应线段的线特征匹配对;
步骤7:分别计算模板图像与目标图像的匹配点,根据步骤6计算得到的线段匹配对中所述线段所在直线的两两交点得到模板图像与目标图像中所有线段匹配对的交点,所述交点即为模板图像与目标图像的匹配点;
步骤8:计算单应性矩阵,根据步骤7计算得到的点匹配对,通过调用单应性矩阵求取算法计算出模板图像到目标图像的单应性矩阵,通过所述单应性矩阵计算得到模板图像上的每一点在目标图像上对应的映射点;
步骤9:定位到目标图像中Mark点坐标,通过所述单应性矩阵计算出模板图像中标记的Mark点在目标图像中的映射位置,所述映射位置即为目标图像中的Mark点坐标;
步骤10:计算待检测液晶屏的位置偏差与角度偏差,重复上述获取目标图像中的Mark点坐标的步骤4~步骤9,计算出另一个Mark点坐标,通过两个Mark点坐标即可准确计算液晶屏的位置,实现液晶屏定位,根据步骤1所述的液晶屏目标位置,即可计算出液晶屏位置偏差与角度偏差。
所述步骤3通过BLBD算法计算出所述模板图像中线段的描述符,具体描述为:
所述BLBD算法是结合LBD算法与BOLD算法生成的一种新算法,利用所述BLBD算法构建线段的描述符包括条带描述和线束描述两部分,所述条带描述由线段周围的像素计算得出,所述线束描述表示线段与周围线段的关系,令所述条带描述得到的描述符称为LBD,令所述线束描述得到的描述符称为BOLD,则最终得到的线段描述符BLBD表示为:
BLBD=(LBD,BOLD)T (1)
BLBD的计算包括条带描述计算和线束描述计算,具体步骤如下:
(1)计算条带描述符LBD:
1)构建尺度空间,通过一组尺度因子和高斯模糊,对一张原图进行N次采样,得到N层尺度金字塔,其中N属于自然数,所述N层尺度金字塔的最下方一层是原图,每高一层就是一层高斯模糊后的图像,连续两个层之间并没有内层;
2)提取线段,首先将步骤1)构建的所述N层尺度金字塔中的每一层的图片均进行一次EDLine算法的线段提取,每一层尺度空间的图片得到一组线段,然后将得到的N层尺度空间中的N组线段进行重组,对于处在不同的尺度空间中的同一线段,则定义一个唯一的ID并存储到同一个LineVec变量中,遍历所述N组线段得到一组LineVec变量,所述LineVec变量中的不同线段代表不同尺度空间下的同一个线段,同一LineVec变量中的所有线段具有相同的方向,且对应于所述原图的同一个区域;
3)构建线段描述符,所述线段描述符的构建首先定义线段支持区域的条带的表示方法,然后构造LBD条带描述符,具体步骤如下:
3.1)定义线段支持区域的条带的表示方法,将线段宽度增加,所覆盖的区域为线段支持区域,通过步骤2)提取线段的线段支持区域计算线段描述符,首先将线段支持区域分割为包含s个条带的一组条带,即为{B1,B2,B3,…Bs},s表示一组条带的总数,s属于自然数,所述条带{B1,B2,B3,…Bs}是线段支持区域的子区域,并且满足与线段是平行关系,然后定义两个方向构成局部2D坐标系,用来区分有相反梯度方向的平行线并使线段描述符旋转不变,所述局部2D坐标系的两个方向定义为直线方向dL和正交方向d⊥,所述直线方向dL定义为所提取的线段所在直线的所朝方向,所述正交方向d⊥定义为所述直线方向dL的顺时针垂直方向,并定义所提取的线段所在的直线的中点为所述局部2D坐标系的坐标原点,通过公式(2)将线段支持区域内的每一个像素的梯度投影到所述局部2D坐标系中;
式中,gT表示图像坐标系中的像素梯度,g'表示局部2D坐标系中的像素梯度,d⊥表示局部2D坐标系中的正交方向,dL表示局部2D坐标系中的直线方向,表示gT在d⊥方向的投影,表示gT在dL方向的投影;
3.2)构造LBD条带描述符,定义条带Bj与条带Bj的两个相邻条带Bj-1和Bj+1构成的条带Bj的描述符为BDj,条带总数为s,因此j取值范围为1至s,所述LBD描述符为:LBD=(BD1,BD2,…,BDs)T,所述条带Bj的描述符BDj的计算步骤如下:
3.2.1)累计计算第j个条带Bj第k行的dL方向、dL反方向、d⊥方向、d⊥反方向四个方向上的像素梯度数据:
d⊥方向上的像素梯度数据:
d⊥反方向上的像素梯度数据:
dL方向上的像素梯度数据:
dL反方向上的像素梯度数据:
其中,λ表示高斯系数,且满足λ=fg(k)fl(k),其中fg(k)表示条带Bj第k行的全局权重系数,fl(k)表示条带Bj第k行的局部权重系数;j表示条带的个数,且1≤j≤s,s表示一组条带的总数,当j=1时,B1表示顶端条带,当j=s时,Bs表示底端条带,在计算所述顶端条带B1和底端条带Bs时,且线段支持区域以外的部分BDj计算时不考虑;
3.2.2)通过累计计算与第j个条带Bj相关联的所有行的梯度信息,构造用于描述条带信息的第j个条带的描述符矩阵BDMj:
其中,n表示描述符矩阵BDMj的行数;由于存在边缘条带,所以n的定义如下:
其中,w表示每个条带的宽,j表示条带的个数,且1≤j≤s,s表示一组条带的总数;
3.3.3)通过BDMj的平均向量Mj和标准方差向量Sj计算条带描述符BDj:根据所述BDj与LBD关系,将带入LBD=(BD1,BD2,…,BDs)T中,整理得到LBD描述符的具体表达式为:
其中,表示j=1,2,…,s时的取值,j表示条带的个数,且1≤j≤s,s表示一组条带的总数;
(2)计算线束描述描述符BOLD:
1)构建相邻的一对线段的几何基元:
1.1)定义两个相邻线段的中点分别为mx和my,则mx和my的连接线表示为:
txy=my-mx (6)
tyx=mx-my (7)
其中,txy表示从点mx到点my的向量,tyx表示从点my到点mx的向量;
1.2)为了规范每个线段的计算方向,定义线向量S,则线向量S的计算公式如下:
S=sign(S)·(e2-e1) (9)
其中,e1表示线段的起点,e2表示线段的终点,g(m)表示线段的中点m处的梯度方向,n表示单位向量;
1.3)计算每条线向量S与所述线向量S中点的连接线向量t的角度:
其中,α*表示线向量Sx与向量txy的夹角,β*表示线向量Sy与向量tyx的夹角,α表示基于α*得到的几何基元,β表示基于β*得到的几何基元,Sx表示第x条线段的线向量,Sy表示第y条线段的线向量,且满足x、y为相邻线段,txy表示从点mx到点my的向量,tyx表示从点my到点mx的向量;
2)计算邻域内临近线段组的BOLD描述符,首先通过KNN方法选择邻域内临近线段组,所述邻域内临近线段组是由一个线向量S和所述邻域内的线段束组成,所述线向量S与邻域内的线段束中的每条线段利用公式(6)~公式(13)计算出一对几何基元,所有几何基元的集合构成所述邻域内临近线段组的几何基元,然后将计算出的邻域内临近线段组的几何基元累加到二维联合直方图中构建BOLD描述符,所述二维联合直方图的每一维的范围为[0,2π],最后对所述BOLD描述符进行L2范数规范,得到BOLD描述符。
所述步骤3中的BLBD算法中的构造LBD条带描述符时在d⊥方向的每一行都应用全局高斯窗口和局部高斯窗口相结合的方式求解,具体表示为:
(1)在线段支持区域内的第i行安排一个全局权重系数fg,计算公式如下:
其中,σg表示参数,且满足σg=0.5(s·w-1),s表示线段支持域中条带数,w表示每个条带宽,di表示线段支持区域内第i行到线段支持区域中心行的距离;
(2)利用公式(15)为Bj条带以及Bj条带的相邻条带Bj+1和Bj-1中的每一行均分配一个局部权重系数,
其中,fl(z)表示第z行所分配的局部权重系数,σl为参数,且满足σl=w,w表示每个条带宽,dz表示Bj条带以及Bj条带的相邻条带Bj+1和Bj-1组成区域内第z行到Bj条带中心行的距离。
所述步骤6线特征匹配,采用类似SIFT算法计算欧氏距离,并通过对比最近距离与次近距离的方法计算得到所述模板图像与目标图像中对应线段的线特征匹配对,具体表述为:通过定义一个预设比例阈值来衡量两个BLBD描述符之间的最短距离,所述比例阈值是指两个BLBD描述符之间的最短距离与次短距离的比值,只有两个BLBD描述符之间的最短距离与次短距离的比值小于预设比例阈值,才认为所述两个BLBD描述符是一对线段匹配对。
所述步骤8计算单应性矩阵,根据步骤7计算得到的点匹配对,通过调用单应性矩阵求取算法计算出模板图像到目标图像的单应性矩阵,通过所述单应性矩阵求取算法计算得到模板图像上的每一点在目标图像上对应的映射点,所述单应性矩阵求取算法是指通过对应匹配点求解对应点匹配关系,通过RANSAC或LMEDS算法计算得到的单应性矩阵的质量会更高。
本发明的有益效果是:
本发明采用特征匹配的方式基于模板图像定位液晶屏图像中的Mark点位置,计算效率高,机械装置无需频繁校准,可提高驱动芯片排线与液晶屏的贴合效率;精度可达亚像素级,可提高驱动芯片排线与液晶屏的贴合精度。
附图说明
图1为本发明实施例中的基于线特征匹配的液晶屏Mark点定位方法的流程图。
图2为本发明实施例中的模板图像示意。
图3为本发明实施例中的模板图像线特征示意。
图4为本发明实施例中的目标图像示意,其中图(a)为Mark点标记的示意图,图(b)为同一张目标图像上的其他标记的示意图。
图5为本发明实施例中的模板图像匹配点示意。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图1本发明实施例中的基于线特征匹配的液晶屏Mark点定位方法的流程图所示,一种基于线特征匹配的液晶屏Mark点定位方法,从实施上来说主要分为两部分,模板训练与Mark点定位,Mark点的定位需要与模板进行匹配,所以在Mark点定位开始前需要有初始化步骤即模板训练。
模板训练与Mark点定位,实现液晶屏的定位具体实施方式包括以下步骤:
步骤1:获取模板图像与液晶屏目标位置,用工业相机拍摄下待检测液晶屏含有Mark点区域的图像为标准图像,从标准图像中手工截取包含Mark点的区域图像作为模板图像,模板图像示意图如图2所示,通过手动操作调整液晶屏至合适位置,并标记Mark点在相机图像中的位置坐标为液晶屏目标位置;
步骤2:标记模板图像的Mark点坐标,首先在模板图像上建立模板坐标系,然后在所述模板坐标系中手工标记Mark点位置并记录坐标值,Mark点为十字形,通常标记其十字中心点为该坐标点,也可根据实际情况标记其他位置;
步骤3:模板图像线段的提取与描述,通过EDLine算法提取模板图像中的线段,Mark点为十字形,在图像中可以看作两个垂直相交的矩形,矩形的一条边即为一个线特征,模板图像线特征提取结果示意图如图3所示,记录该线特征的起点、终点等信息,通过BLBD算法计算出所述模板图像中线段的描述符,然后通过所述描述符来表征线特征,以备Mark点定位时进行匹配计算;
其中BLBD算法是结合LBD算法与BOLD算法生成的一种新算法,利用所述BLBD算法构建线段的描述符包括条带描述和线束描述两部分,所述条带描述由线段周围的像素计算得出,所述线束描述表示线段与周围线段的关系,令所述条带描述得到的描述符称为LBD,令所述线束描述得到的描述符称为BOLD,则最终得到的线段描述符BLBD表示为:
BLBD=(LBD,BOLD)T (1)
BLBD的计算包括条带描述计算和线束描述计算,具体步骤如下:
(1)计算条带描述符LBD:
1)构建尺度空间,当拿到一张图片,我们先构建一个尺度金字塔,就和sift算法所实现的那样,通过一组尺度因子和高斯模糊,对一张原图进行N次采样,得到N层尺度金字塔,其中N属于自然数,所述N层尺度金字塔的最下方一层是原图,每高一层就是一层高斯模糊后的图像,连续两个层之间并没有内层;
2)提取线段,首先将步骤1)构建的所述N层尺度金字塔中的每一层的图片均进行一次EDLine算法的线段提取,每一层尺度空间的图片得到一组线段,然后将得到的N层尺度空间中的N组线段进行重组,对于处在不同的尺度空间中的同一线段,则定义一个唯一的ID并存储到同一个LineVec变量中,遍历所述N组线段得到一组LineVec变量,所述LineVec变量中的不同线段代表不同尺度空间下的同一个线段,同一LineVec变量中的所有线段具有相同的方向,且对应于所述原图的同一个区域;
3)构建线段描述符,所述线段描述符的构建首先定义线段支持区域的条带的表示方法,然后构造LBD条带描述符,具体步骤如下:
3.1)定义线段支持区域的条带的表示方法,将线段宽度增加,所覆盖的区域为线段支持区域,通过步骤2)提取线段的线段支持区域计算线段描述符,首先将线段支持区域分割为包含s个条带的一组条带,即为{B1,B2,B3,…Bs},s表示一组条带的总数,s属于自然数,所述条带{B1,B2,B3,…Bs}是线段支持区域的子区域,并且满足与线段是平行关系,然后定义两个方向构成局部2D坐标系,用来区分有相反梯度方向的平行线并使线段描述符旋转不变,所述局部2D坐标系的两个方向定义为直线方向dL和正交方向d⊥,所述直线方向dL定义为所提取的线段所在直线的所朝方向,所述正交方向d⊥定义为所述直线方向dL的顺时针垂直方向,并定义所提取的线段所在的直线的中点为所述局部2D坐标系的坐标原点,通过公式(2)将线段支持区域内的每一个像素的梯度投影到所述局部2D坐标系中;
式中,gT表示图像坐标系中的像素梯度,g'表示局部2D坐标系中的像素梯度,d⊥表示局部2D坐标系中的正交方向,dL表示局部2D坐标系中的直线方向,表示gT在d⊥方向的投影,表示gT在dL方向的投影;
3.2)构造LBD条带描述符,定义条带Bj与条带Bj的两个相邻条带Bj-1和Bj+1构成的条带Bj的描述符为BDj,条带总数为s,因此j取值范围为1至s,所述LBD描述符为:LBD=(BD1,BD2,…,BDs)T;
简单的说,我们去计算一个条带描述符BDj,BDj是通过Bj和它的两个相邻条带Bj-1和Bj+1构成的,在计算条带中顶端条带B1和底端条带Bs时,在LSR区域以外的部分不考虑到算法中,在计算完BDj之后,我们可以用LBD条带描述符把他们简单的连接在一起;
所述条带Bj的描述符BDj的计算步骤如下:
3.2.1)累计计算第j个条带Bj第k行的dL方向、dL反方向、d⊥方向、d⊥反方向四个方向上的像素梯度数据:
d⊥方向上的像素梯度数据:
d⊥反方向上的像素梯度数据:
dL方向上的像素梯度数据:
dL反方向上的像素梯度数据:
其中,λ表示高斯系数,且满足λ=fg(k)fl(k),其中fg(k)表示条带Bj第k行的全局权重系数,fl(k)表示条带Bj第k行的局部权重系数;j表示条带的个数,且1≤j≤s,s表示一组条带的总数,当j=1时,B1表示顶端条带,当j=s时,Bs表示底端条带,在计算所述顶端条带B1和底端条带Bs时,且线段支持区域以外的部分BDj计算时不考虑;
3.2.2)通过累计计算与第j个条带Bj相关联的所有行的梯度信息,构造用于描述条带信息的第j个条带的描述符矩阵BDMj:
其中,n表示描述符矩阵BDMj的行数;由于存在边缘条带,所以n的定义如下:
其中,w表示每个条带的宽,j表示条带的个数,且1≤j≤s,s表示一组条带的总数;
3.3.3)通过BDMj的平均向量Mj和标准方差向量Sj计算条带描述符BDj:根据所述BDj与LBD关系,将带入LBD=(BD1,BD2,…,BDs)T中,整理得到LBD描述符的具体表达式为:
其中, 表示j=1,2,…,s时的取值,j表示条带的个数,且1≤j≤s,s表示一组条带的总数;
(2)计算线束描述描述符BOLD:
1)构建相邻的一对线段的几何基元:
1.1)定义两个相邻线段的中点分别为mx和my,则mx和my的连接线表示为:
txy=my-mx (6)
tyx=mx-my (7)
其中,txy表示从点mx到点my的向量,tyx表示从点my到点mx的向量;
1.2)为了规范每个线段的计算方向,定义线向量S,则线向量S的计算公式如下:
S=sign(S)·(e2-e1) (9)
其中,e1表示线段的起点,e2表示线段的终点,g(m)表示线段的中点m处的梯度方向,n表示单位向量;
1.3)计算每条线向量S与所述线向量S中点的连接线向量t的角度:
其中,α*表示线向量Sx与向量txy的夹角,β*表示线向量Sy与向量tyx的夹角,α表示基于α*得到的几何基元,β表示基于β*得到的几何基元,Sx表示第x条线段的线向量,Sy表示第y条线段的线向量,且满足x、y为相邻线段,txy表示从点mx到点my的向量,tyx表示从点my到点mx的向量;
通过上式计算出几何基元α和β,它们不仅依赖于两线特征之间的相对方向,而且依赖于线段之间的相对空间位移。
2)计算邻域内临近线段组的BOLD描述符,首先通过KNN方法选择邻域内临近线段组,所述邻域内临近线段组是由一个线向量S和所述邻域内的线段束组成,所述线向量S与邻域内的线段束中的每条线段利用公式(6)~公式(13)计算出一对几何基元,所有几何基元的集合构成所述邻域内临近线段组的几何基元,然后将计算出的邻域内临近线段组的几何基元累加到二维联合直方图中构建BOLD描述符,所述二维联合直方图的每一维的范围为[0,2π],最后对所述BOLD描述符进行L2范数规范,得到BOLD描述符。
构造LBD条带描述符时在d⊥方向的每一行都应用全局高斯窗口和局部高斯窗口相结合的方式求解,具体表示为:
(1)在线段支持区域内的第i行安排一个全局权重系数fg,计算公式如下:
其中,σg表示参数,且满足σg=0.5(s·w-1),s表示线段支持域中条带数,w表示每个条带宽,di表示线段支持区域内第i行到线段支持区域中心行的距离;
(2)利用公式(15)为Bj条带以及Bj条带的相邻条带Bj+1和Bj-1中的每一行均分配一个局部权重系数,
其中,fl(z)表示第z行所分配的局部权重系数,σl为参数,且满足σl=w,w表示每个条带宽,dz表示Bj条带以及Bj条带的相邻条带Bj+1和Bj-1组成区域内第z行到Bj条带中心行的距离。
对于以上两种高斯函数,第一种为全局高斯窗口,目的是为降低远离线段的梯度的重要性,以此缓和在线段垂直方向d⊥上微小变化的敏感度;第二种为局部高斯窗口,目的是为降低边缘效应,避免了像素从一个条带到下一个条带时,描述符突然改变。
步骤4:获取目标图像,通过工业相机拍摄下待检测液晶屏含有Mark点的图像为目标图像,目标图像示意图如图4所示,图4中的图(a)为Mark点标记的示意图,在同一张目标图像中除了Mark点外,还会有液晶屏上的其他标记,形状大小位置不定,示意图如图4(b)所示,并在如图4所示的目标图像上建立图像坐标系,本实施例中以目标图像左上角像素点为原点,上边缘与左边缘分别作为X轴与Y轴建立图像坐标系,工业相机的位置固定,所以在图像坐标系的每一点均可计算得到其在世界坐标系下的位置;
步骤5:目标图像线段的提取与描述,通过EDLine算法提取目标图像中的线段,并通过BLBD算法计算出所述目标图像中线段的描述符,使用该描述符来表征线特征;
EDLines包括两个步骤:
(1)给定一个灰度图像,使用Edge Drawing算法检测边缘,得到多组相邻像素组成的链,即边缘,给定一个灰度图像,Edge Drawing检测包括如下步骤:
1.1)图像先通过一个过滤器(如高斯滤波器)抑制噪声并输出平滑图像,默认用一个5x5高斯核;
1.2)计算每个像素的梯度幅值以及梯度方向,任何已知的梯度算子都可以实现,如Prewitt,Sobel等算子;
1.3)各像素按照计算得到的梯度值降序排列,取大于梯度阈值的一组像素,称为锚(anchors);
1.4)连接步骤1.3)计算得到的锚,绘制由它们组成的边;
从一个锚(点),Edge Drawing利用相邻像素的梯度幅值和方向,通过梯度极值走到下一个锚,Edge Drawing不仅产生类似于其他边缘检测器的二进制边缘图,而且它还产生一组边缘段,这些段是由对象边界相对应的像素连接而成。
(2)给定一个由连续的边缘像素链组成的边缘段,目的是将这个链分割成一个或多个直线段,其基本思想是依次跟踪像素,然后用最小二乘线拟合法对像素线进行拟合,直到误差超过某个阈值,会生成一个新的线段,再根据该算法递归处理链的剩余像素,直到处理所有像素,最终得到该图像的线特征。
步骤6:线特征匹配,采用类似SIFT算法计算欧氏距离,并通过对比最近距离与次近距离的方法计算得到所述模板图像与目标图像中对应线段的线特征匹配对,具体表述为:通过定义一个预设比例阈值来衡量两个BLBD描述符之间的最短距离,所述比例阈值是指两个BLBD描述符之间的最短距离与次短距离的比值,只有两个BLBD描述符之间的最短距离与次短距离的比值小于预设比例阈值,才认为所述两个BLBD描述符是一对线段匹配对
步骤7:分别计算模板图像与目标图像的匹配点,线特征的计算基于图像边缘检测,线特征对图像中边缘线段的位置与斜率描述比较准确,但线特征的起点与终点受噪声干扰较大,误差较大,所以仅根据线特征的匹配结果不能准确建立模板图像与目标图像的映射关系,因此根据步骤6计算得到的线段匹配对中所述线段所在直线的两两交点得到模板图像与目标图像中所有线段匹配对的交点,所述交点即为模板图像与目标图像的匹配点,由于计算交点的两线夹角不确定所以不能保证所有交点仍在图像内,故对于每对交点若有至少一个落在图像外则舍弃,为进一步去除误匹配线特征,对于每对交点分别计算交于该点的两直线夹角,若两个交点对应夹角差值大于阈值,认为线特征匹配有误,舍弃此对匹配点。模板图像的匹配点示意如图5所示。
步骤8:计算单应性矩阵,根据模板图像与目标图像的匹配点,即模板图像到目标图像的映射点,根据步骤7计算得到的点匹配对,通过调用单应性矩阵求取算法计算出模板图像到目标图像的单应性矩阵,,结合RANSAC或LMEDS算法可以计算得到质量更高的单应性矩阵,通过所述单应性矩阵计算得到模板图像上的每一点在目标图像上对应的映射点;
步骤9:定位到目标图像中Mark点坐标,通过所述单应性矩阵计算出模板图像中标记的Mark点在目标图像中的映射位置,所述映射位置即为目标图像中的Mark点坐标,在本实施例中定义模板图像上Mark点为P(u,v),模板图像到目标图像的单应性矩阵为H,则可计算得到在目标图像上的Mark点Q(u',v'),计算方法如下:
步骤10:计算待检测液晶屏的位置偏差与角度偏差,重复上述获取目标图像中的Mark点坐标的步骤4~步骤9,计算出另一个Mark点坐标,通过两个Mark点坐标即可准确计算液晶屏的位置,实现液晶屏定位,根据步骤1所述的液晶屏目标位置,即可计算出液晶屏位置偏差与角度偏差。
Claims (5)
1.一种基于线特征匹配的液晶屏Mark点定位方法,其特征在于,包括以下步骤:
步骤1:获取模板图像与液晶屏目标位置,用工业相机拍摄下待检测液晶屏含有Mark点区域的图像为标准图像,从标准图像中手工截取包含Mark点的区域图像作为模板图像,通过手动操作调整液晶屏至合适位置,并标记Mark点在相机图像中的位置坐标为液晶屏目标位置;
步骤2:标记模板图像的Mark点坐标,首先在模板图像上建立模板坐标系,然后在所述模板坐标系中手工标记Mark点位置并记录坐标值;
步骤3:模板图像线段的提取与描述,通过EDLine算法提取模板图像中的线段,并通过BLBD算法计算出所述模板图像中线段的描述符,并通过所述描述符来表征线特征;
步骤4:获取目标图像,通过工业相机拍摄下待检测液晶屏含有Mark点的图像为目标图像,并在所述目标图像上建立图像坐标系;
步骤5:目标图像线段的提取与描述,通过EDLine算法提取目标图像中的线段,并通过BLBD算法计算出所述目标图像中线段的描述符,使用该描述符来表征线特征;
步骤6:线特征匹配,采用类似SIFT算法计算欧氏距离,并通过对比最近距离与次近距离的方法计算得到所述模板图像与目标图像中对应线段的线特征匹配对;
步骤7:分别计算模板图像与目标图像的匹配点,根据步骤6计算得到的线段匹配对中所述线段所在直线的两两交点得到模板图像与目标图像中所有线段匹配对的交点,所述交点即为模板图像与目标图像的匹配点;
步骤8:计算单应性矩阵,根据步骤7计算得到的点匹配对,通过调用单应性矩阵求取算法计算出模板图像到目标图像的单应性矩阵,通过所述单应性矩阵计算得到模板图像上的每一点在目标图像上对应的映射点;
步骤9:定位到目标图像中Mark点坐标,通过所述单应性矩阵计算出模板图像中标记的Mark点在目标图像中的映射位置,所述映射位置即为目标图像中的Mark点坐标;
步骤10:计算待检测液晶屏的位置偏差与角度偏差,重复上述获取目标图像中的Mark点坐标的步骤4~步骤9,计算出另一个Mark点坐标,通过两个Mark点坐标即可准确计算液晶屏的位置,实现液晶屏定位,根据步骤1所述的液晶屏目标位置,即可计算出液晶屏位置偏差与角度偏差。
2.根据权利要求1所述的一种基于线特征匹配的液晶屏Mark点定位方法,其特征在于,所述步骤3通过BLBD算法计算出所述模板图像中线段的描述符,具体描述为:
所述BLBD算法是结合LBD算法与BOLD算法生成的一种新算法,利用所述BLBD算法构建线段的描述符包括条带描述和线束描述两部分,所述条带描述由线段周围的像素计算得出,所述线束描述表示线段与周围线段的关系,令所述条带描述得到的描述符称为LBD,令所述线束描述得到的描述符称为BOLD,则最终得到的线段描述符BLBD表示为:
BLBD=(LBD,BOLD)T (1)
BLBD的计算包括条带描述计算和线束描述计算,具体步骤如下:
(1)计算条带描述符LBD:
1)构建尺度空间,通过一组尺度因子和高斯模糊,对一张原图进行N次采样,得到N层尺度金字塔,其中N属于自然数,所述N层尺度金字塔的最下方一层是原图,每高一层就是一层高斯模糊后的图像,连续两个层之间并没有内层;
2)提取线段,首先将步骤1)构建的所述N层尺度金字塔中的每一层的图片均进行一次EDLine算法的线段提取,每一层尺度空间的图片得到一组线段,然后将得到的N层尺度空间中的N组线段进行重组,对于处在不同的尺度空间中的同一线段,则定义一个唯一的ID并存储到同一个LineVec变量中,遍历所述N组线段得到一组LineVec变量,所述LineVec变量中的不同线段代表不同尺度空间下的同一个线段,同一LineVec变量中的所有线段具有相同的方向,且对应于所述原图的同一个区域;
3)构建线段描述符,所述线段描述符的构建首先定义线段支持区域的条带的表示方法,然后构造LBD条带描述符,具体步骤如下:
3.1)定义线段支持区域的条带的表示方法,将线段宽度增加,所覆盖的区域为线段支持区域,通过步骤2)提取线段的线段支持区域计算线段描述符,首先将线段支持区域分割为包含s个条带的一组条带,即为{B1,B2,B3,…Bs},s表示一组条带的总数,s属于自然数,所述条带{B1,B2,B3,…Bs}是线段支持区域的子区域,并且满足与线段是平行关系,然后定义两个方向构成局部2D坐标系,用来区分有相反梯度方向的平行线并使线段描述符旋转不变,所述局部2D坐标系的两个方向定义为直线方向dL和正交方向d⊥,所述直线方向dL定义为所提取的线段所在直线的所朝方向,所述正交方向d⊥定义为所述直线方向dL的顺时针垂直方向,并定义所提取的线段所在的直线的中点为所述局部2D坐标系的坐标原点,通过公式(2)将线段支持区域内的每一个像素的梯度投影到所述局部2D坐标系中;
式中,gT表示图像坐标系中的像素梯度,g'表示局部2D坐标系中的像素梯度,d⊥表示局部2D坐标系中的正交方向,dL表示局部2D坐标系中的直线方向,表示gT在d⊥方向的投影,表示gT在dL方向的投影;
3.2)构造LBD条带描述符,定义条带Bj与条带Bj的两个相邻条带Bj-1和Bj+1构成的条带Bj的描述符为BDj,条带总数为s,因此j取值范围为1至s,所述LBD描述符为:LBD=(BD1,BD2,…,BDs)T,所述条带Bj的描述符BDj的计算步骤如下:
3.2.1)累计计算第j个条带Bj第k行的dL方向、dL反方向、d⊥方向、d⊥反方向四个方向上的像素梯度数据:
d⊥方向上的像素梯度数据:
d⊥反方向上的像素梯度数据:
dL方向上的像素梯度数据:
dL反方向上的像素梯度数据:
其中,λ表示高斯系数,且满足λ=fg(k)fl(k),其中fg(k)表示条带Bj第k行的全局权重系数,fl(k)表示条带Bj第k行的局部权重系数;j表示条带的个数,且1≤j≤s,s表示一组条带的总数,当j=1时,B1表示顶端条带,当j=s时,Bs表示底端条带,在计算所述顶端条带B1和底端条带Bs时,且线段支持区域以外的部分BDj计算时不考虑;
3.2.2)通过累计计算与第j个条带Bj相关联的所有行的梯度信息,构造用于描述条带信息的第j个条带的描述符矩阵BDMj:
其中,n表示描述符矩阵BDMj的行数;由于存在边缘条带,所以n的定义如下:
其中,w表示每个条带的宽,j表示条带的个数,且1≤j≤s,s表示一组条带的总数;
3.3.3)通过BDMj的平均向量Mj和标准方差向量Sj计算条带描述符BDj:根据所述BDj与LBD关系,将带入LBD=(BD1,BD2,…,BDs)T中,整理得到LBD描述符的具体表达式为:
其中,表示j=1,2,…,s时的取值,j表示条带的个数,且1≤j≤s,s表示一组条带的总数;
(2)计算线束描述描述符BOLD:
1)构建相邻的一对线段的几何基元:
1.1)定义两个相邻线段的中点分别为mx和my,则mx和my的连接线表示为:
txy=my-mx (6)
tyx=mx-my (7)
其中,txy表示从点mx到点my的向量,tyx表示从点my到点mx的向量;
1.2)为了规范每个线段的计算方向,定义线向量S,则线向量S的计算公式如下:
S=sign(S)·(e2-e1) (9)
其中,e1表示线段的起点,e2表示线段的终点,g(m)表示线段的中点m处的梯度方向,n表示单位向量;
1.3)计算每条线向量S与所述线向量S中点的连接线向量t的角度:
其中,α*表示线向量Sx与向量txy的夹角,β*表示线向量Sy与向量tyx的夹角,α表示基于α*得到的几何基元,β表示基于β*得到的几何基元,Sx表示第x条线段的线向量,Sy表示第y条线段的线向量,且满足x、y为相邻线段,txy表示从点mx到点my的向量,tyx表示从点my到点mx的向量;
2)计算邻域内临近线段组的BOLD描述符,首先通过KNN方法选择邻域内临近线段组,所述邻域内临近线段组是由一个线向量S和所述邻域内的线段束组成,所述线向量S与邻域内的线段束中的每条线段利用公式(6)~公式(13)计算出一对几何基元,所有几何基元的集合构成所述邻域内临近线段组的几何基元,然后将计算出的邻域内临近线段组的几何基元累加到二维联合直方图中构建BOLD描述符,所述二维联合直方图的每一维的范围为[0,2π],最后对所述BOLD描述符进行L2范数规范,得到BOLD描述符。
3.根据权利要求1或2任意一项所述的一种基于线特征匹配的液晶屏Mark点定位方法,其特征在于,所述步骤3中的BLBD算法中的构造LBD条带描述符时在d⊥方向的每一行都应用全局高斯窗口和局部高斯窗口相结合的方式求解,具体表示为:
(1)在线段支持区域内的第i行安排一个全局权重系数fg,计算公式如下:
其中,σg表示参数,且满足σg=0.5(s·w-1),s表示线段支持域中条带数,w表示每个条带宽,di表示线段支持区域内第i行到线段支持区域中心行的距离;
(2)利用公式(15)为Bj条带以及Bj条带的相邻条带Bj+1和Bj-1中的每一行均分配一个局部权重系数,
其中,fl(z)表示第z行所分配的局部权重系数,σl为参数,且满足σl=w,w表示每个条带宽,dz表示Bj条带以及Bj条带的相邻条带Bj+1和Bj-1组成区域内第z行到Bj条带中心行的距离。
4.根据权利要求1所述的一种基于线特征匹配的液晶屏Mark点定位方法,其特征在于,所述步骤6线特征匹配,采用类似SIFT算法计算欧氏距离,并通过对比最近距离与次近距离的方法计算得到所述模板图像与目标图像中对应线段的线特征匹配对,具体表述为:通过定义一个预设比例阈值来衡量两个BLBD描述符之间的最短距离,所述比例阈值是指两个BLBD描述符之间的最短距离与次短距离的比值,只有两个BLBD描述符之间的最短距离与次短距离的比值小于预设比例阈值,才认为所述两个BLBD描述符是一对线段匹配对。
5.根据权利要求1所述的一种基于线特征匹配的液晶屏Mark点定位方法,其特征在于,所述步骤8计算单应性矩阵,根据步骤7计算得到的点匹配对,通过调用单应性矩阵求取算法计算出模板图像到目标图像的单应性矩阵,通过所述单应性矩阵求取算法计算得到模板图像上的每一点在目标图像上对应的映射点,所述单应性矩阵求取算法是指通过对应匹配点求解对应点匹配关系,通过RANSAC或LMEDS算法计算得到的单应性矩阵的质量会更高。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910799937.2A CN110533647B (zh) | 2019-08-28 | 2019-08-28 | 一种基于线特征匹配的液晶屏Mark点定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910799937.2A CN110533647B (zh) | 2019-08-28 | 2019-08-28 | 一种基于线特征匹配的液晶屏Mark点定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110533647A true CN110533647A (zh) | 2019-12-03 |
CN110533647B CN110533647B (zh) | 2023-02-03 |
Family
ID=68664682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910799937.2A Active CN110533647B (zh) | 2019-08-28 | 2019-08-28 | 一种基于线特征匹配的液晶屏Mark点定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110533647B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379752A (zh) * | 2021-04-09 | 2021-09-10 | 合肥工业大学 | 一种用于双层液晶屏显示的图像分割算法 |
CN117746056A (zh) * | 2023-12-26 | 2024-03-22 | 江苏福拉特自动化设备有限公司 | 一种查找屏体标记的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015096806A1 (zh) * | 2013-12-29 | 2015-07-02 | 刘进 | 智能机姿态测定、全景影像生成及目标识别方法 |
WO2016062159A1 (zh) * | 2014-10-20 | 2016-04-28 | 网易(杭州)网络有限公司 | 图像匹配方法及手机应用测试平台 |
CN107067415A (zh) * | 2017-03-21 | 2017-08-18 | 南京航空航天大学 | 一种基于图像匹配的目标快速精确定位方法 |
CN109949340A (zh) * | 2019-03-04 | 2019-06-28 | 湖北三江航天万峰科技发展有限公司 | 基于OpenCV的目标尺度自适应跟踪方法 |
-
2019
- 2019-08-28 CN CN201910799937.2A patent/CN110533647B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015096806A1 (zh) * | 2013-12-29 | 2015-07-02 | 刘进 | 智能机姿态测定、全景影像生成及目标识别方法 |
WO2016062159A1 (zh) * | 2014-10-20 | 2016-04-28 | 网易(杭州)网络有限公司 | 图像匹配方法及手机应用测试平台 |
CN107067415A (zh) * | 2017-03-21 | 2017-08-18 | 南京航空航天大学 | 一种基于图像匹配的目标快速精确定位方法 |
CN109949340A (zh) * | 2019-03-04 | 2019-06-28 | 湖北三江航天万峰科技发展有限公司 | 基于OpenCV的目标尺度自适应跟踪方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379752A (zh) * | 2021-04-09 | 2021-09-10 | 合肥工业大学 | 一种用于双层液晶屏显示的图像分割算法 |
CN113379752B (zh) * | 2021-04-09 | 2022-10-25 | 合肥工业大学 | 一种用于双层液晶屏显示的图像分割方法 |
CN117746056A (zh) * | 2023-12-26 | 2024-03-22 | 江苏福拉特自动化设备有限公司 | 一种查找屏体标记的方法 |
CN117746056B (zh) * | 2023-12-26 | 2024-06-04 | 江苏福拉特自动化设备有限公司 | 一种查找屏体标记的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110533647B (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104376548B (zh) | 一种基于改进型surf算法的图像快速拼接方法 | |
CN103411553B (zh) | 多线结构光视觉传感器的快速标定方法 | |
CN104835173B (zh) | 一种基于机器视觉的定位方法 | |
US8422777B2 (en) | Target and method of detecting, identifying, and determining 3-D pose of the target | |
CN110047109A (zh) | 一种基于自识别标记的相机标定板及其识别检测方法 | |
CN110096920A (zh) | 一种面向视觉伺服的高精度高速定位标签和定位方法 | |
CN106441138A (zh) | 基于视觉测量的变形监测方法 | |
CN108648194A (zh) | 基于cad模型三维目标识别分割和位姿测量方法及装置 | |
CN106295512A (zh) | 基于标识的多纠正线室内视觉数据库构建方法以及室内定位方法 | |
CN112254656B (zh) | 一种基于结构表面点特征的立体视觉三维位移测量方法 | |
Urban et al. | Finding a good feature detector-descriptor combination for the 2D keypoint-based registration of TLS point clouds | |
CN110415304B (zh) | 一种视觉标定方法及系统 | |
CN104217459B (zh) | 一种球面特征提取方法 | |
CN111046843A (zh) | 一种智能驾驶环境下的单目测距方法 | |
CN110533647A (zh) | 一种基于线特征匹配的液晶屏Mark点定位方法 | |
CN109614513A (zh) | 一种面向区域覆盖的遥感影像数据选取方法和系统 | |
CN101315700B (zh) | 一种多序列图像快速自动定位的方法 | |
CN106980851A (zh) | 一种数据矩阵dm码的定位方法及装置 | |
CN102999895B (zh) | 利用两个同心圆线性求解摄像机内参数 | |
CN103854271A (zh) | 一种平面摄像机标定方法 | |
CN114998447A (zh) | 多目视觉标定方法及系统 | |
CN114689038A (zh) | 基于机器视觉的果实检测定位与果园地图构建方法 | |
US6731392B2 (en) | Marker used for measuring displacement of moving object and method therefor | |
CN107038710B (zh) | 一种以纸张为目标的视觉跟踪算法 | |
CN106340062B (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 |