• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    焊接機器人實時引導中光條快速提取算法研究

    2015-04-19 02:49:36劉常杰張云昊
    激光技術(shù) 2015年5期
    關(guān)鍵詞:條紋高斯灰度

    劉常杰,李 斌,郭 寅,張云昊,劉 洋

    (1.天津大學精密測試技術(shù)及儀器國家重點實驗室,天津300072;2.清華大學 精密儀器系,北京100084)

    引 言

    由激光三角法原理發(fā)展而來的結(jié)構(gòu)光視覺測量方法在目前工業(yè)領(lǐng)域應用愈加廣泛,該方法具有結(jié)構(gòu)簡單、精度較高、可靠性好等優(yōu)點。其中,結(jié)構(gòu)光條紋圖像包含被測量物體表面的3維形貌信息,是被測點3維坐標求取的依據(jù)。光條提取是結(jié)構(gòu)光視覺傳感器最常用的算法,提取精度決定測量精度,提取算法穩(wěn)定性決定測量穩(wěn)定性[1]。

    目前常用的激光條紋中心提取算法有極值法、灰度重心法[2]、梯度重心法[3]、方向模板法[4]、互相關(guān)算法[5]、高斯擬合法[6]、曲線擬合法[7]和 Steger方法[8]等。極值法處理速率極快,但精度低,受噪聲影響嚴重?;叶戎匦姆ㄌ幚硭俾士?,易受環(huán)境噪聲影響,常結(jié)合閾值分割進行處理。基于骨架的灰度重心法解決了精度差的缺點,精度能達到亞像素級,但算法復雜、處理時間長,難以滿足實時性的要求。梯度重心法結(jié)合梯度法改進的閾值法和重心法相結(jié)合,具有一定的精度、抗噪性和魯棒性,但難以滿足高精度測量。方向模板法處理速率快,但提取精度不高、易受環(huán)境影響?;ハ嚓P(guān)算法有較高的精度和實時性。高斯擬合法和曲線擬合法精度高,但處理速率較慢,且不適合窄光條提取。在此基礎(chǔ)上提出的自適應窗曲線擬合方法和變邊限高斯擬合方法[9]一定程度上提升了算法速率。Steger方法精度高、穩(wěn)定性高,但運算量很大,很難實現(xiàn)結(jié)構(gòu)光條紋實時性提取。為解決Steger算法運算量大的問題,基于感興趣區(qū)域(region of interest,ROI)的結(jié)構(gòu)光條紋中心混合圖像處理方法和基于脊線跟蹤的結(jié)構(gòu)光條紋中心提取方法先后提出,大大提高了處理速率[10]。

    作者在嵌入式Linux系統(tǒng)中采用一種激光條紋快速提取方法,并在自制6410開發(fā)板上進行實驗驗證,采用灰度中心法粗略提出條紋中心,并用承上啟下的搜索方式進行優(yōu)化搜索,然后采用優(yōu)化的Hessian矩陣法對條紋進行精確提取。該提取方法具有精度高、速率快的特點,從而可運用到視覺傳感器中,滿足其實時性和高精度的要求。

    1 硬件平臺

    本研究應用在視覺測量系統(tǒng)實時引導機器人高精度焊接中,如圖1所示,系統(tǒng)需要實時測量出被測特征與理論位置的差別,并實時引導機器人對軌跡進行微調(diào)整,從而實現(xiàn)高精度焊接。柔性視覺器通過激光條紋信息獲取預焊點3維坐標,并反饋到焊接系統(tǒng),進而調(diào)整焊槍的位姿,對其誤差進行補償,提高焊接質(zhì)量。對于高節(jié)拍的生產(chǎn)線而言,每個機器人需要在1s左右的時間對一個焊點進行精確焊接,而傳感器進行圖像采集到返回給機器人補償信息的過程不超過0.5s。因此要保證視覺測量系統(tǒng)的高精度和實時性,實現(xiàn)對激光條紋中心的快速、精確提取對結(jié)構(gòu)光測量系統(tǒng)的研究具有重要意義。

    Fig.1 Welding robot and structured light vision sensor

    在已有的柔性傳感器設(shè)計中,現(xiàn)有硬件平臺有個人計算機(personal computer,PC)、微控制單元(micro control unit,MCU)、復雜可編程邏輯器件(complex programmable logic device,CPLD)平臺、現(xiàn)場可編程門陣列(field-programmable gate array,F(xiàn)PGA)平臺、微處理器(advanced risc machines,ARM)平臺等。PC機成本比較高、處理速率一般。MCU+CPLD平臺數(shù)據(jù)處理速率較慢、多任務處理能力較弱、FPGA平臺處理速率快、多任務處理能力較弱、可擴展性不強,適合圖像采集和預處理,高速的、重復的處理過程適合在FPGA中處理。ARM平臺設(shè)計復雜、多任務處理能力強、可擴展性強,適合進行高層處理算法。考慮到本應用中柔性傳感器不僅完成圖像采集和處理工作,還要完成傳感器和機器人的通信工作,因此選用可以使用Linux操作系統(tǒng)、易于開發(fā)和后期擴展、主頻高、處理速率快的ARM11平臺。

    由于視覺測量系統(tǒng)實時引導機器人高精度焊接系統(tǒng)在室內(nèi)進行時,外界光強影響變化不大,該系統(tǒng)對精度和速率要求較高。根據(jù)系統(tǒng)要求,本文中提出優(yōu)化Steger快速條紋提取算法,并在自制6410開發(fā)板上進行驗證,該方法可以降低外界噪聲的影響,提高提取速率和精度。

    2 優(yōu)化Steger快速條紋提取算法

    2.1 Steger方法概述

    Steger方法是一種高精度、高魯棒性的激光條紋中心提取方法[8],通過高斯卷積算出的Hessian矩陣得到條紋的法線方向,在此方向上進行泰勒展開求取條紋中心亞像素坐標,常用在精密測量中。

    Steger方法具有精度高、穩(wěn)定性好的特點,但由于圖像上的所有點都要參與大規(guī)模高斯卷積計算,導致運算量極大,算法處理速率很低,不能滿足實時性要求。因此作者在此方法的基礎(chǔ)上進行優(yōu)化,大大縮短處理時間。本文中算法首先采用中值濾波對圖像進行預處理,然后用灰度重心法粗略提取條紋中心,最后運用Hessian矩陣法對粗提的條紋中心特定處理區(qū)域內(nèi)的條紋進行亞像素中心精確提取。

    2.2 中值濾波

    首先對圖像進行中值濾波[11],對圖像進行預處理,去除大部分由測量環(huán)境和圖像采集過程中等引起的椒鹽噪聲。

    2.3 灰度重心法粗提取

    2.3.1 灰度重心法粗略提取中心位置 在預處理之后,本文中采用灰度重心法對光條進行粗提取,其原理是計算圖像中光線灰度分布的重心位置,逐行進行計算,采用優(yōu)化的掃描方式分割出條紋區(qū)域,計算出此區(qū)域光條灰度重心的橫坐標作為其光條中心位置,假設(shè)圖像像素大小為M×N,對第j行閾值分割后的連續(xù)m個像素參與計算,把這m個像素中像素的橫坐標設(shè)為xi,相應灰度值為Ii,其中i∈[1,m],計算得出第j行的光條中心橫坐標為Xj,其中j∈[1,N],具體計算公式如下:

    2.3.2 掃描方式 在進行灰度重心法粗提取的時候,采用優(yōu)化的掃描方式對圖像進行搜索,可以大大縮短搜索時間,提高算法的速率。

    針對圖像上連續(xù)或間斷的條紋圖像,本文中在圖像相鄰行之間光條中心位置采用優(yōu)化的搜索方式,縮小搜索范圍,從而提高處理速率。從第1行開始對圖像進行整行搜索進行梯度閾值法分割圖像,然后提取中心,如果不滿足要求,則下一行繼續(xù)整行搜索,直到第i行閾值分割后進行灰度重心粗提取得到條紋中心Xi,則在第i+1行Xi左右各7個像素進行閾值分割中心提取工作,這樣只需所搜這15個像素即可,如果找到中心則進入下一行,沒找到中心則再改行重新進行整行搜索,以此類推完成整幅圖像。圖2為不連續(xù)條紋搜索示意圖。

    Fig.2 Coarse search of center location of discontinuous laser strips

    2.4 優(yōu)化Hessian矩陣方法精提取

    在粗提取后,對圖像使用優(yōu)化Hessian矩陣方法進行精提取,由于傳統(tǒng)求Hessian矩陣方法的過程中,圖像上的每個點至少要進行5次高斯卷積計算,運算量極大,難以達到實時性條紋提取要求。由于高斯卷積具有可分離性,在不影響結(jié)果的前提下,可將2維高斯卷積改用兩次1維高斯卷積[12]代替,兩次卷積使用同一個1維模板,先沿豎直方向進行卷積,計算出結(jié)果后再沿水平方向進行卷積,以求得最終結(jié)果。這樣將1維卷積中的重復部分除去,將圖像處理的5n2次乘加減少為8n次乘加,結(jié)合灰度重心粗提取,在粗提取的條紋附近自動分割出條紋所在區(qū)域作為圖像處理區(qū)域,做此優(yōu)化后,可大幅減小算法的運算量,并保證Hessian矩陣算法的精度。

    本文中提出的優(yōu)化條紋處理方法,結(jié)合灰度重心粗提取,在粗提取的條紋附近自動分割出條紋所在區(qū)域作為圖像處理區(qū)域,依據(jù)條紋寬度在整條條紋取邊緣整像素坐標后左右各取N個像素點,即為該段圖像的處理區(qū)域,如果條紋是分段的,則處理區(qū)域也分段處理。在選出的所有區(qū)域內(nèi)使用1維高斯卷積代替2維卷積求得相應的Hessian矩陣,根據(jù)Hessian矩陣計算出每點對應的條紋法線方向,在此方向上進行泰勒展開計算出極值點,即為亞像素級的激光條紋中心坐標。

    設(shè)求取Hessian過程中,g(x,y)為N階高斯卷積模板,G(x,y)為高斯函數(shù)的 2 階偏導,I(x,y)是以(x,y)為中心、大小為N×N的圖像矩陣,Ixx,Ixy,Iyy為高斯函數(shù)的2階偏導與圖像的卷積,Hessian矩陣可表示為:

    同理可求得Ixy和Iyy。

    求得Hessian矩陣后,可根據(jù)Hessian矩陣的特征值和特征向量得到條紋的法線方向。圖像上點(x0,y0)的法線方向由該點2階方向?qū)?shù)絕對值取極大值的方向得到,即為其Hessian矩陣最大特征值的絕對值所對應的特征向量(nx,ny)。求得法線方向后將此點圖像灰度分布函數(shù)沿該方向2級泰勒展開,表示為I(x0+tnx,y0+tny),光條灰度值在該方向上近似呈現(xiàn)高斯分布,光強越大,越靠近光條中心,因此求出該方向上的灰度極值,即當I(x0+tnx,y0+tny)的1階導數(shù)為0 時,得到的點 (x0+tnx,y0+tny)即為點(x0,y0)法線方向上對應的亞像素條紋中心點,該點的切線方向即為條紋方向。其中,Ix和Iy為高斯函數(shù)的1階偏導與圖像的卷積,且:

    Fig.3 Processing area

    圖3a為原算法處理區(qū)域,圖3b為本文中算法處理區(qū)域。本文中算法只在圖3b所示的處理區(qū)域內(nèi)對條紋進行高斯卷積計算,相比原算法對如圖3a所示的處理區(qū)域進行計算,大大減小了運算量,并保證了Hessian矩陣算法的計算精度,實現(xiàn)了激光條紋的快速提取。

    2.5 本文中算法流程圖

    算法及系統(tǒng)流程圖如圖4所示,圖5是焊接機器人實時引導流程。

    Fig.4 Algorithm flowchart in this article

    Fig.5 Flowchart of welding robot real-time guidance

    3 實驗與分析

    根據(jù)以上算法,在自制6410開發(fā)板上進行了實驗驗證。實驗分為三部分:(1)采用優(yōu)化Steger方法提取激光條紋實驗;(2)與Steger算法比較試驗;(3)算法精度驗證實驗。

    3.1 硬件系統(tǒng)設(shè)計[13]

    考慮傳感器要完成圖像采集和圖像處理工作,并與機器人進行實時通訊,還有激光器的控制工作,并基于系統(tǒng)對算法的高處理速率、實時性和多任務處理的要求,以及系統(tǒng)后期的可擴展性,因此選用ARM11平臺、SAMSUNG公司的S3C6410核心芯片進行硬件設(shè)計,S3C6410主頻可達667MHz,運算能力強、功能齊全、開發(fā)資料豐富、可擴展性強。該系統(tǒng)采用底板加核心板的硬件結(jié)構(gòu),節(jié)約空間,可完成柔性傳感器的設(shè)計。該系統(tǒng)包括以下幾個模塊:采集模塊采集電荷耦合器件(charge coupled device,CCD)相機拍攝的圖片信息;存儲模塊用于存儲圖片信息和其它信息(存儲模塊包括NAND FLASH閃存和雙倍速率同步動態(tài)隨機存儲器(double data rate synchronous dynamic random access memory,DDR SDRAM));通信模塊用于與機器人和激光器的實時通信(通過局域網(wǎng)(local area network,LAN)進行數(shù)據(jù)傳輸,通過通用輸入輸出端口(general purpose input output,GPIO)控制激光器開關(guān));調(diào)試模塊用于開發(fā)階段的調(diào)試工作,包括通用異步收發(fā)傳輸器(universal asynchronous receiver/transmitter,UART),其中 6410 有1個RS-232C標準(electronic industry association recommended standard 232,EIA-RS-232C)串口和3個晶體管-晶體管邏輯電平(transistor-transistor logic,TTL)串口,通用串行總線(universal serial bus on-the-go,USB OTG)端口和聯(lián)合測試行為組織(joint test action group,JTAG)3種端口。各個模塊由ARM內(nèi)核通過AHB系統(tǒng)總線(advanced high performance bus,AHB)進行控制,系統(tǒng)圖如圖6所示。

    Fig.6 Hardware framework

    3.2 軟件系統(tǒng)設(shè)計

    采用穩(wěn)定性好、資源豐富易開發(fā)的Linux系統(tǒng)平臺,并以V4L2作為視頻驅(qū)動框架,進行應用程序設(shè)計:傳感器上電自啟動,等待機器人進入預設(shè)位置的命令后開始進行測量任務,使用V4L2的用戶層接口函數(shù)來完成圖像采集工作,進行激光條紋中心提取,進行數(shù)據(jù)處理后算出機器人偏移位置數(shù)據(jù),機器人接到數(shù)據(jù)后調(diào)整位置進行焊接,之后再進入下個焊接任務點以完成整個焊接任務。

    3.3 激光條紋提取實驗

    激光條紋提取實驗在自制6410開發(fā)板平臺上進行,將傳感器與PC機相連,將處理后的圖片和數(shù)據(jù)通過socket網(wǎng)絡(luò)傳給PC機進行數(shù)據(jù)分析。選用工作距200mm、波長635nm的激光器投射激光,選用Toshiba Teli Corporation CCD工業(yè)相機采集圖像,在室內(nèi)環(huán)境條件下,以特征孔為被測對象,將激光條紋打到被測孔特征上進行實驗驗證。采用本文中算法進行激光條紋中心提取,進行高斯卷積時取σ=1.5,n=3,進行精提取時取N=3,圖像像素大小設(shè)置為768×576,如圖7所示,采用本文中算法進行中心提取后的圖像如圖8所示,圖中包括原始圖像和提出的條紋中心。

    Fig.7 Stripe images to be processed

    Fig.8 Extraction results of stripe

    3.4 與Steger算法比較實驗

    3.4.1 精度比較實驗 對圖7中的條紋圖像進行處理,并對Steger方法和本文中算法的提取精度進行了分析比較,實驗結(jié)果如表1所示。由表1可知,本算法與Steger算法之間的誤差約為0.071pixel,具有很好的精度。

    Table 1 Comparison of stripe center extraction accuracy

    Fig.9 Image of single linear stripe

    3.4.2 運算速率比較實驗 對圖9所示的單線狀條紋圖像進行處理,并對Steger方法和本文中算法的運算速率進行了分析比較,理論上卷積運算量Steger方法有5n2×768×576=19906560次乘加,本文中的算法有8n×7×576=96768次乘加,Steger算法是本文中算法的200多倍。實驗結(jié)果如表2所示,本文中算法提取速率比傳統(tǒng)Steger方法提高100多倍,運行速率大幅提升,滿足系統(tǒng)要求。

    3.5 精度驗證實驗

    為了防止連續(xù)采集圖像時存在圖像重疊,采集的圖像有黑邊、圖像抖動和圖像純在黑邊的現(xiàn)象,本文中對6410相機接口、TVP5150寄存器及相機驅(qū)動進行優(yōu)化設(shè)置,保證圖像采集的穩(wěn)定性。

    (1)設(shè)置TVP5150部分BT656輸出。

    (2)設(shè)置6410驅(qū)動部分為interlace模式、BT656格式、設(shè)置為720像素×576像素,每場為720像素×288像素,交替輸出。

    (3)設(shè)置應用程序為768像素×288像素格式,識別BT656的F位;偶數(shù)場存在0,2,奇數(shù)場在1,3。最后奇偶場合并為一幀。

    Linux V4L2驅(qū)動為camera接口申請4塊內(nèi)存,由于相程序讀取速率約為相機寫入速率的4.5倍,為了在取多幅圖像時防止內(nèi)存中的數(shù)據(jù)在完全讀出之前被新數(shù)據(jù)洗掉,本文中采用相機等待一場圖像捕捉完畢后停止捕捉來采集圖像,采集完畢后再開始捕捉的方法。以此方法可以保證采集圖像的穩(wěn)定性及對激光條紋提取算法驗證的可靠性。

    以此方法對本文中的算法進行重復性實驗,在相同環(huán)境中,對條紋圖像進行多幅連續(xù)拍攝,計算出的每幅條紋圖像的中心線理論上均應相同,而實際情況由于多種原因而有誤差:硬件系統(tǒng)的制造誤差及實驗環(huán)境的影響導致每次采集的圖像不能保證完全相同;算法本身的誤差也會直接影響條紋提取的精度?,F(xiàn)忽略了硬件系統(tǒng)及實驗環(huán)境的影響,且修改后的相機驅(qū)動不會影響圖片采集,直接分析本文中的算法對條紋精度提取的影響,實驗中取條紋圖像的第11行條紋進行多次中心提取分析,如表3所示,采用本文中的算法進行激光條紋中心提取,具有較小的重復性誤差。

    Table 3 Repetitive experiments of the algorithm in this paper

    4 結(jié)論

    采用優(yōu)化的Steger算法對激光條紋進行了亞像素級別的條紋中心提取,并在自制6410開發(fā)板上進行實驗驗證。該方法對圖像條紋進行預處理,并采用優(yōu)化處理區(qū)域,提高了算法精度,大幅減小運算量,提升了算法運行速率。實驗結(jié)果表明,在保證Hessian矩陣算法高精度和高魯棒性的前提下,使用優(yōu)化Steger算法進行激光條紋中心提取,精度高、速率快、魯棒性好,適合用于視覺測量系統(tǒng)實時引導機器人高精度焊接中。

    [1] CHEN H D,ZHOU G,WANG C J,et al.An algorithm for laser stripe matching based on the epipolar constraint[J].Laser Technology,2003,27(6):584-587(in Chinese).

    [2] LI D,GENG N,KANG J N.Research on laser stripe centre extraction algorithm under complex background[J].Computer Applications and Software,2013,30(3):271-273(in Chinese).

    [3] WU J Y,WANG P J,CHEN J H,et al.Method of linear structured light sub-pixel center position extracting based on gradient barycenter[J].Journal of Image and Graphics,2009,14(7):1354-1360(in Chinese).

    [4] YANG J H,YANG X R,CHENG X Y,et al.Review of extracting the centers of linear structured light stripes for 3-D visual measurements[J].Journal of Guangdong University of Technology,2014,31(1):74-78(in Chinese).

    [5] LIU Zh,LI Sh,F(xiàn)ENG Ch.Laser stripe center extraction based on cross-correlation algorithm[J].Chinese Journal of Lasers,2013,40(5):197-202(in Chinese).

    [6] SUN P Q,YANG Y Y,HE L L.An improved Gaussian fitting method used in light-trap center acquiring[J].Electronic Design Engineering,2012,20(13):179-181(in Chinese).

    [7] HE Zh H,WANG B G,LIAO Y B,et al.Subpixel algorithm using a curve fitting method[J].Chinese Journal of Scientific Instrument,2003,24(2):195-197(in Chinese).

    [8] STEGER C.An unbiased detector of curvilinear structures[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1998,20(2):113-125.

    [9] LI Y Y,ZHANG Zh Y,YUAN L.Survey on linear structured light stripe center extraction[J].Laser& Optoelectronics Progress,2013,50(10):100002(in Chinese).

    [10] YANG W.Research on method for extracting center of structured light stripe[D].Harbin:Harbin Institute of Technology,2009:6-31(in Chinese).

    [11] YU X J.Application of median filtering for removing image noise[J].Computer Knowledge and Technology,2008,8(3):1795-1796(in Chinese).

    [12] HU K,ZHOU F Q,ZHANG G J.Fast extrication method for subpixel center of structured light stripe[J].Chinese Journal of Scientific Instrument,2006,27(10):1326-1329(in Chinese).

    [13] ZHANG Q T,YANG XE Y,LIU T,et al.Design of a smart visual sensor based on fast template matching[J].Chinese Journal of Sensors and Actuators,2013,26(8):1039-1044(in Chinese).

    猜你喜歡
    條紋高斯灰度
    小高斯的大發(fā)現(xiàn)
    采用改進導重法的拓撲結(jié)構(gòu)灰度單元過濾技術(shù)
    基于灰度拉伸的圖像水位識別方法研究
    誰是窮橫條紋衣服的人
    小福爾摩斯(2019年2期)2019-09-10 07:22:44
    天才數(shù)學家——高斯
    別急!丟了條紋的斑馬(上)
    別急!丟了條紋的斑馬(下)
    基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
    自動化學報(2017年5期)2017-05-14 06:20:56
    基于灰度線性建模的亞像素圖像抖動量計算
    有限域上高斯正規(guī)基的一個注記
    浏阳市| 武隆县| 静乐县| 望奎县| 兰坪| 新野县| 晴隆县| 探索| 慈溪市| 汽车| 房山区| 大厂| 金阳县| 吉安县| 凤庆县| 藁城市| 油尖旺区| 张家港市| 讷河市| 遂平县| 册亨县| 建瓯市| 景东| 衡阳市| 高陵县| 彩票| 衡南县| 嘉义市| 于都县| 鄄城县| 临潭县| 通渭县| 宁阳县| 科尔| 怀化市| 共和县| 湖南省| 嘉峪关市| 昭通市| 建宁县| 松潘县|