基于计算机视觉识别焊点中心位置的方法

文档序号:6031286阅读:146来源:国知局

专利名称::基于计算机视觉识别焊点中心位置的方法
技术领域
:本发明属于焊接
技术领域
,涉及一种焊点中心位置的方法,具体涉及一种基于计算机视觉识别焊点中心位置的方法。
背景技术
:准确、高效识别工件上的焊点是大型焊接自动化生产线完成自动焊接的关键。目前,工件上的焊点识别大多依靠人工完成。自动识别的方法是在数字x射线实时成像的基础上,利用灰度、形状信息进行焊点中心位置的识别。该方法很大程度上克服了其他方法对测试途经的种种限制,能获得比较满意的识别结果,但该自动识别方法对计算机硬件的要求高、设备造价高,不适宜中小企业使用。.
发明内容本发明的目的是提供一种基于计算机视觉识别焊点中心位置的方法,可自动识别焊点中心位置,且对计算机硬件的要求较低,设备造价降低,特别适合中小企业使用。本发明所采用的技术方案是,一种基于计算机视觉识别焊点中心位置的方法,通过架设于生产线上方的摄像头采集图像,并将该图像传入计算机,通过计算机对其进行分析计算,得到焊点的中心位置坐标,然后,将该中心位置坐标传输给后续机械装置,为机械装置提供定位信息,该方法按以下步骤进行步骤l:在工件上设置标记位在工件边角等非主体位置设置一个大小确定的圆环形标记位;.步骤2:通过架设于生产线上方的摄像头采集图像,并将该图像传入计算机;步骤3:计算目标的实际偏移量,根据步骤l设置的圆环形标记位和步骤2采集的图像,设实际内圆圆心的坐标为(O,O),图像中的内圆圆心坐标为(;c,^,Ax为图像中X坐标相对于实际圆心坐标的偏移量,Ax-x,为图像中y坐标相对于实际圆心坐标的偏移量,Ay="按照下面的对应关系,计算得到目标的实际偏移量Ax'=Ax--jr△_y'=A少--、尸式中,r'为标示物的实际内圆半径,r为标示物在图像中的内圆半径,为焊点沿x坐标轴的实际偏移量,A/为焊点沿y坐标轴的实际偏移量;步骤4:确定二值化的阈值进入计算机设计界面,选择局部光照比较理想的焊盘照片,手动框选需识别焊盘的位置,并在该焊盘位置内选定包含光照亮度信息和焊盘的焊点大小、焊点基座颜色信息的焊点区域,然后,将选择框内的图像转换为HSV色系,其转换公式如下-F=max(i,G,5)—10F=0'60(G-5)/SFK=i60[2+(5-及)/W]P=G//=J60[4+(i—G)/SF]F=50F=0//+360//<0其中,R、G、B分别表示拍摄到的图像的红色、绿色、蓝色通道的三基色值,H为色调,表示不同的颜色,S为饱和度,表示颜色的纯度,V为亮度,表示颜色的明暗程度,再采用如下公式,计算选择框内的V、H通道的均值^,^:其中,Q为框内焊点像素集合,iV。为焊点像素集合中的像素点个数,亮度均值/^<75时,采用色度均值/^作为二值化的阈值,亮度均值A^75时,采用亮度均值/v作为二值化的阈值,即阈值巧得计算公式为冗丁~如果<75步骤5:获得二值化图根据步骤4确定的二值化阈值77;,采用下式,获得二值化图","1。,/(x,力〈77z式中,g"力为获得的二值图;步骤6:确定焊点区域对步骤5得到的二值图像,进行贴标签,获得标签图像,统计该标签图像中标签编号相同的区域,即连通域中的像素个数,将连通域中像素个数与步骤4中手动框选的焊盘区域中像素个数相近的连通域,确定为焊点区域;步骤7:识别焊点中心对步骤6确定的焊点区域,根据下式计算得到焊点中心坐标-7、(;c,"eS7、(w)eS式中,S表示连通域;JV、为连通域中像素的个数;(&7J为焊点中心的坐标;步骤8:确定焊点中心的实际物理坐标若步骤6计算得到的焊点中心处于步骤5确定的焊点区域内,则将步骤7计算获得的焊点中心坐标(&,^)与步骤3获得的实际偏移量&'和',通过下式-计算获得焊点中心的实际物理坐标"',力,并将该实际物理坐标"',力输入到后续机械,控制其定位、焊接;若步骤6计算得到的焊点中心在步骤5确定的焊点区域中无法获得或明显偏离该焊点区域时,程序返回一个异常信号,计算机不提示后续机械操作。本发明的有益效果是,基于计算机自动识别技术,识别工件焊点的中心位置,具有非接触测量特有的无损检测特性,同时,对不同工件的不同位置、不同形状焊点的判别具有很强的适应性。基于计算机视觉获取的信息丰富、精确,应用广泛。具体实施例方式下面结合具体实施方式对本发明进行详细说明。本发明为自动焊接系统提供一种自动确定焊点中心位置的方法。通过生产线上方架设的工业摄像头,采集图像,并将该图像传入计算机,利用计算机对传入的图像进行分析计算,然后,将分析计算得到的结果传输给后续机械装置,为其提供控制定位信息。生产线使用的焊盘为梯形棱台,其顶面的焊点部分,即为需要识别焊点中心位置的区域。焊盘工件顶面焊点部分的大小、形状以及焊盘基座的颜色有较大差异。为了实时在线完成对焊点中心的准确识别定位,本发明方法按以下步骤进行-步骤l:在工件上设置标记位为了将图像中所测得的焊点大小、位置转换成焊点的实际物理尺寸,需进行相机标定,该标定采用设置标记位的方法完成,标记位的设置方法如下-通常在工件的边角等非主体位置设置一个已知大小和形状的标记位,考虑到实际生产中工件摆放的随意性,标记位设置为一个圆环形;步骤2:架设于生产线上方的摄像头采集步骤1设定的圆环形标记位的图像,并将该图像传入计算机;步骤3:计算目标的实际偏移量根据步骤1设置的圆环形标记位和步骤2采集的图像,设实际标记位的内圆圆心的坐标为(O,O),图像中标记位的内圆圆心坐标为(:c,力,Ax为图像中x坐标相对于实际圆心坐标的偏移量,Ax=h为图像中y坐标相对于实际圆心坐标的偏移量,按照以下公式,计算得到焊点实际移动的物理距离与图像中的目标像素距离之间的对应关系,即计算得到目标的实际偏移量<formula>formulaseeoriginaldocumentpage10</formula>式中,,为标示物的实际内圆半径,r为标示物在图像中的内圆半径,Ax'为目标沿x坐标轴的实际偏移量,Ay'为目标沿y坐标轴的实际偏移量;步骤4:确定二值化的阈值进入计算机设计界面,选择局部光照比较理想的焊盘照片,手动框选需识别焊盘的位置,并选定焊点区域,该区域中包含当前情况下的光照亮度的信息与焊盘的焊点大小、焊点基座颜色的信息,然后,将选择框内的图像转换为HSV色系,其转换公式如下-其中,R、G、B分别表示拍摄到的图像的红色、绿色、蓝色通道的三基色值,H为色调,表示不同的颜色,S为饱和度,表示颜色的纯度,V为亮度,表示颜色的明暗程度,再采用如下公式,计算选择框内的V、H通道的均值/v,/^:<formula>formulaseeoriginaldocumentpage10</formula>其中,Q为框内焊点像素集合,w。为焊点像素集合中的像素点个数,亮度均值uv<75时,采用色度均值uH作为二值化的阈值,亮度均值uv大于等于75时,采用亮度均值/v作为二值化的阈值,即阈值777的计算公式为步骤5:获得二值化图根据步骤4确定的二值化阈值",采用下式,获得二值化图:式中,g(x,力为获得的二值图;步骤6:确定焊点区域对步骤5得到的二值图像,进行贴标签,在获得标签图像的基础上,统计各个标签编号相同的区域,即连通域中的像素个数,将连通域中像素个数与步骤4中手动框选的焊盘区域中像素个数相近的连通域,确定为焊点区域;步骤7:识别焊点中心对步骤6确定的焊点区域,根据下式计算得到焊点中心坐标式中,S表示连通域,乂为连通域中像素的个数,(&,;0为焊点中心的坐标;步骤8:确定焊点中心的实际物理坐标若步骤6计算得到的焊点中心处于步骤5确定的焊点区域内,则将步骤7计算获得的焊点中心坐标(&,h)与步骤1获得的实际偏移量&'和',通过下式计算获得焊点中心的实际物理坐标"',力,并将该实际物理坐标"',力输入到后续机械,控制其定位并进行焊接;若步骤6计算得到的焊点中心在步骤5确定的焊点区域中无法获得或明显偏离该焊点区域时,程序返回一个异常信号,计算机不提示后续机械操作。权利要求1.一种基于计算机视觉识别焊点中心位置的方法,通过架设于生产线上方的摄像头采集图像,并将该图像传入计算机,通过计算机对其进行分析计算,得到焊点的中心位置坐标,然后,将该中心位置坐标传输给后续机械装置,为机械装置提供定位信息,其特征在于,该方法按以下步骤进行步骤1在工件上设置标记位在工件边角等非主体位置设置一个大小确定的圆环形标记位;步骤2通过架设于生产线上方的摄像头采集图像,并将该图像传入计算机;步骤3计算目标的实际偏移量根据步骤1设置的圆环形标记位和步骤2采集的图像,设实际内圆圆心的坐标为(0,0),图像中的内圆圆心坐标为(x,y),Δx为图像中x坐标相对于实际圆心坐标的偏移量,Δx=x,Δy为图像中y坐标相对于实际圆心坐标的偏移量,Δy=y,按照下面的对应关系,计算得到目标的实际偏移量<mathsid="math0001"num="0001"><math><![CDATA[<mfencedopen='{'close=''><mtable><mtr><mtd><mi>&Delta;</mi><msup><mi>x</mi><mo>&prime;</mo></msup><mo>=</mo><mi>&Delta;x</mi><mo>&CenterDot;</mo><mfrac><msup><mi>r</mi><mo>&prime;</mo></msup><mi>r</mi></mfrac></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msup><mi>y</mi><mo>&prime;</mo></msup><mo>=</mo><mi>&Delta;y</mi><mo>&CenterDot;</mo><mfrac><msup><mi>r</mi><mo>&prime;</mo></msup><mi>r</mi></mfrac></mtd></mtr></mtable></mfenced>]]></math></maths>式中,r′为标示物的实际内圆半径,r为标示物在图像中的内圆半径,Δx′为焊点沿x坐标轴的实际偏移量,Δy′为焊点沿y坐标轴的实际偏移量;步骤4确定二值化的阈值进入计算机设计界面,选择局部光照比较理想的焊盘照片,手动框选需识别焊盘的位置,并在该焊盘位置内选定包含光照亮度信息和焊盘的焊点大小、焊点基座颜色信息的焊点区域,然后,将选择框内的图像转换为HSV色系,其转换公式如下V=max(R,G,B)<mathsid="math0002"num="0002"><math><![CDATA[<mrow><mi>S</mi><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mo>[</mo><mi>V</mi><mo>-</mo><mi>min</mi><mrow><mo>(</mo><mi>R</mi><mo>,</mo><mi>G</mi><mo>,</mo><mi>B</mi><mo>)</mo></mrow><mo>/</mo><mi>V</mi></mtd><mtd><mi>V</mi><mo>></mo><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>V</mi><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced></mrow>]]></math></maths><mathsid="math0003"num="0003"><math><![CDATA[<mrow><mi>H</mi><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mn>60</mn><mrow><mo>(</mo><mi>G</mi><mo>-</mo><mi>B</mi><mo>)</mo></mrow><mo>/</mo><mi>SV</mi></mtd><mtd><mi>V</mi><mo>=</mo><mi>R</mi></mtd></mtr><mtr><mtd><mn>60</mn><mo>[</mo><mn>2</mn><mo>+</mo><mrow><mo>(</mo><mi>B</mi><mo>-</mo><mi>R</mi><mo>)</mo></mrow><mo>/</mo><mi>SV</mi></mtd><mtd><mi>V</mi><mo>=</mo><mi>G</mi></mtd></mtr><mtr><mtd><mn>60</mn><mo>+</mo><mo>[</mo><mn>4</mn><mo>+</mo><mrow><mo>(</mo><mi>R</mi><mo>-</mo><mi>G</mi><mo>)</mo></mrow><mo>/</mo><mi>SV</mi></mtd><mtd><mi>V</mi><mo>=</mo><mi>B</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>V</mi><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mi>H</mi><mo>+</mo><mn>360</mn></mtd><mtd><mi>H</mi><mo>&lt;</mo><mn>0</mn></mtd></mtr></mtable></mfenced></mrow>]]></math></maths>其中,R、G、B分别表示拍摄到的图像的红色、绿色、蓝色通道的三基色值,H为色调,表示不同的颜色,S为饱和度,表示颜色的纯度,V为亮度,表示颜色的明暗程度,再采用如下公式,计算选择框内的V、H通道的均值μV,μH<mathsid="math0004"num="0004"><math><![CDATA[<mrow><msub><mi>&mu;</mi><mi>f</mi></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&Element;</mo><mi>&Omega;</mi></mrow></munder><mi>f</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>/</mo><msub><mi>N</mi><mi>&Omega;</mi></msub><mo>,</mo><mrow><mo>(</mo><mi>f</mi><mo>=</mo><mi>V</mi><mo>,</mo><mi>H</mi><mo>)</mo></mrow></mrow>]]></math></maths>其中,Ω为框内焊点像素集合,NΩ为焊点像素集合中的像素点个数,亮度均值μV<75时,采用色度均值μH作为二值化的阈值,亮度均值μV≥75时,采用亮度均值μV作为二值化的阈值,即阈值Th得计算公式为步骤5获得二值化图根据步骤4确定的二值化阈值Th,采用下式,获得二值化图<mathsid="math0005"num="0005"><math><![CDATA[<mrow><mi>g</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>Th</mi></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&lt;</mo><mi>Th</mi></mtd></mtr></mtable></mfenced></mrow>]]></math></maths>式中,g(x,y)为获得的二值图;步骤6确定焊点区域对步骤5得到的二值图像,进行贴标签,获得标签图像,统计该标签图像中标签编号相同的区域,即连通域中的像素个数,将连通域中像素个数与步骤4中手动框选的焊盘区域中像素个数相近的连通域,确定为焊点区域;步骤7识别焊点中心对步骤6确定的焊点区域,根据下式计算得到焊点中心坐标<mathsid="math0006"num="0006"><math><![CDATA[<mrow><msub><mi>x</mi><mi>m</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>N</mi><mi>s</mi></msub></mfrac><mo>&CenterDot;</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Element;</mo><mi>S</mi></mrow></munder><mi>x</mi></mrow>]]></math>id="icf0007"file="A2008101511970004C1.tif"wi="36"he="11"top="105"left="69"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths><mathsid="math0007"num="0007"><math><![CDATA[<mrow><msub><mi>y</mi><mi>m</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>N</mi><mi>s</mi></msub></mfrac><mo>&CenterDot;</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Element;</mo><mi>S</mi></mrow></munder><mi>y</mi></mrow>]]></math>id="icf0008"file="A2008101511970004C2.tif"wi="37"he="12"top="105"left="116"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>式中,S表示连通域;Ns为连通域中像素的个数;(xm,ym)为焊点中心的坐标;步骤8确定焊点中心的实际物理坐标若步骤6计算得到的焊点中心处于步骤5确定的焊点区域内,则将步骤7计算获得的焊点中心坐标(xm,ym)与步骤3获得的实际偏移量Δx′和Δy′,通过下式<mathsid="math0008"num="0008"><math><![CDATA[<mfencedopen='{'close=''><mtable><mtr><mtd><msup><mi>x</mi><mo>&prime;</mo></msup><mo>=</mo><msub><mi>x</mi><mi>m</mi></msub><mo>+</mo><mi>&Delta;</mi><msup><mi>x</mi><mo>&prime;</mo></msup></mtd></mtr><mtr><mtd><msup><mi>y</mi><mo>&prime;</mo></msup><mo>=</mo><msub><mi>y</mi><mi>m</mi></msub><mo>+</mo><mi>&Delta;</mi><msup><mi>y</mi><mo>&prime;</mo></msup></mtd></mtr></mtable></mfenced>]]></math></maths>计算获得焊点中心的实际物理坐标(x′,y′),并将该实际物理坐标(x′,y′)输入到后续机械,控制其定位、焊接;若步骤6计算得到的焊点中心在步骤5确定的焊点区域中无法获得或明显偏离该焊点区域时,程序返回一个异常信号,计算机不提示后续机械操作。全文摘要本发明公开的基于计算机视觉识别焊点中心位置的方法,通过架设于生产线上方的摄像头采集图像,并输入通过计算机,计算机首先对该图像设置标记位,计算得到焊点的实际偏移量;然后确定二值化的阈值,根据该阈值获得二值化图,通过二值化图确定焊点区域,再识别出焊点中心,之后,确定焊点中心的实际物理坐标,将该实际物理坐标传输给后续机械装置,为其提供定位信息。本发明方法,基于自动识别技术,对焊点的中心位置自动进行识别,对计算机的硬件要求较低,降低了设备造价,特别适合中小企业使用。文档编号G01B11/00GK101358836SQ20081015119公开日2009年2月4日申请日期2008年9月28日优先权日2008年9月28日发明者静史,徐骁斐,虹朱,栋王,欢金申请人:西安理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1