華 亮 ,潘高超 ,劉飛朋 ,顧菊平
(1.南通大學電氣工程學院,江蘇 南通 226019;2.南通大學江蘇省新能源裝備及其智能測控重點實驗室,江蘇 南通 226019)
激光焊接技術是一種高效的、高質量的焊接技術,其具有能量密度大、焊接速率快、焊接質量好、線能量輸入小等長處[1]。為了充分利用激光焊接的優(yōu)點,提高生產(chǎn)效率和質量,焊接過程的實時檢測與評估多年來一直被研究[2-5]。Park經(jīng)過對CO2激光焊接過程中紅外和紫外光的檢測和分析,實現(xiàn)了基于模糊理論的光線與熔池誤差問題的識別[6]。文獻[7]把CO2激光焊接TA15鈦合金作為研究對象,研究了紅外輻射特性,并通過監(jiān)測設備發(fā)現(xiàn)激光焊接過程中熱輸入和熔池成形的影響,完成了焊接過程的穩(wěn)定性觀察。文獻[8]通過對高速相機獲取的光纖激光焊接圖像的分析,明確了等離子體波動與關鍵孔之間的關系,實現(xiàn)了焊接質量的實時檢測。這些系統(tǒng)通?;赑C機,成本較高,對激光焊接質量實時監(jiān)控專用集成電路的研究較少。處理焊接的熔池圖像,四元數(shù)是一個很好的工具[9-10]。四元數(shù)是Clifford代數(shù)的子代數(shù),數(shù)學家通常稱之為幾何代數(shù)[11]。FPGA一直被用來解決復雜系統(tǒng)和實時性要求高的問題。Franchini提出了一個在Clifford代數(shù)框架下給出的幾何向量的彩色圖像邊緣檢測方法和架構,并已成功地在FPGA板上實現(xiàn)了多光譜磁共振(MR)圖像的特征提取[12]。在RGB顏色空間,可以用四元數(shù)使激光焊接彩色圖像的三個顏色通道(RGB)作為一個整體,這種方法用來處理彩色圖像邊緣檢測問題,優(yōu)勢明顯?;贔PGA和四元數(shù)的方法,研制了高強度低合金厚鋼板的激光焊接彩色熔池圖像邊緣提取專用集成電路,以艦用鋼HSLA-115為對象,驗證了系統(tǒng)的可行性。
四元數(shù)旋轉的基本原理如下:
假設一個空間向量Q(x,y,z)以一個單位四元數(shù)u為旋轉軸,旋轉2θ度。此時,向量Q為一個純虛四元數(shù)Q=xi+yi+zk。經(jīng)過推導,可以證明,該向量的旋轉結果如下:
如果令U=cosθ+usinθ,則上式可化簡為:
圖1 四元數(shù)旋轉示意Fig.1 The Image of Quaternion Rotation
在RGB空間中,用R、G和B的三個相等分量表示的灰度向量,可以作為判斷彩色圖像邊緣的標尺。假設將某一單位灰度矢量作為旋轉軸,當旋轉角θ=π/2時,那么對應的旋轉矢量。任一彩色圖像的像素矢量對應的純四元數(shù)q,對其進行Rq變換。即,將矢量q以r為旋轉軸旋轉π角度,也就是把矢量q以單位灰度矢量r為軸,作軸對稱變換。在作軸對稱后,進行q+Rq的運算,其結果必定是一個RGB三分量值相等的四元數(shù)[19]。根據(jù)這一特性,則對于任意的兩個彩色圖像像素矢量q1和q2,對其做q2+Rq1的運算,若q1和q2完全相同的話,則其運算結果必定為一個灰度矢量(即RGB三分量值相等)。若q1和q2色調相近,那么其運算結果也必定趨近于灰度矢量。故根據(jù)所得到的結果中三分量值的相近程度,就可以判斷出當前彩色圖像像素點是否為圖像的邊緣點。彩色圖像像素的鄰域示意圖,如圖2所示。
需要對當前所要進行判斷的像素點的相鄰兩像素點進行運算,例如 q(m-1,n-1)+Rq(m-1,n+1)。為了充分考慮當前像素點所處的環(huán)境,文中會采取對3*3領域內的像素點做配對運算,同時考慮到各向異性的問題,會當前像素點進行的周圍像素點進行多向配對運算,例如對于圖二中的點(m,n),會分別將其周圍的與點(m-1,n-1)與點(m+1,n+1)點(m-1,n)與點(m+1,n)、點(m-1,n+1)與點(m+1,n-1)以及點(m,n-1)與點(m,n+1)即對其縱向、橫向、以及斜向的對應的兩個像素點進行配對運算,然后再對各對結果進行求和。
圖2 像素鄰域示意圖Fig.2 Schematic Diagram of Pixel Neighborhood
得到結果后,就需要衡量RGB三分量的值是否相近,而這實質上是衡量結果矢量的純虛四元數(shù)部分和與其最模接近的灰度矢量的相近程度,而兩個矢量的相近程度通常用歐幾里得距(Euclidean distance)來衡量。
三維空間的歐幾里得距離計算公式如下:
當兩矢量的歐幾里得距離接近或等于0時,可認為該點是非邊緣點;反之,則可以認為該點為邊緣點。
在設計中,硬件采用Altera公司的Cyclone III系列:EP3C2-5Q240C8N和外部晶振為50 MHz。在程序中,每個四元數(shù)被分成四個16位二進制數(shù)據(jù)進行運算,乘法器是FPGA的嵌入式乘法器。我們使用Quartus II軟件設計程序在FPGA實現(xiàn),和ModelSim軟件進行仿真分析。兩個隨機數(shù)A和B,他們加、減、乘、倒數(shù)和共軛運算的結果,如表1~表5所示。
表1 四元數(shù)加法運算結果及分析Tab.1 Addition Results and Analysis
表2 四元數(shù)減法運算結果及分析Tab.2 Subtraction Results and Analysis
表3 四元數(shù)乘法運算結果及分析Tab.3 Multiplication Results and Analysis
表4 四元數(shù)倒數(shù)運算結果及分析Tab.4 Reciprocal Results and Analysis
表5 四元數(shù)共軛運算結果及分析Tab.5 Conjugate Operation Results and Analysis
以上是采用FPGA進行四元數(shù)基本運算的誤差分析,后續(xù)設計的所有運算都是在這幾種基本運算基礎上拓展開來的。在測試中,操作過程是用二進制形式表示的,采用16位數(shù)據(jù)中的低8位表示小數(shù)。如表所示,基于FPGA的硬件計算誤差主要來自十六進制轉換誤差。從表格的絕對誤差和相對誤差來看,基于FPGA的四元數(shù)運算誤差很小,結果精度高,完全可以滿足圖像處理系統(tǒng)的需要。
系統(tǒng)設計的主要框圖,如圖3所示。
圖3 系統(tǒng)設計框圖Fig.3 The Design Block Diagram of System
系統(tǒng)設計框圖,如圖3所示。攝像頭采集圖像,并輸入FPGA,最終采用TFT液晶顯示屏進行可視化處理;框圖中整個系統(tǒng)的核心模塊是圖像處理模塊,整個過程是將激光焊接熔池彩色圖像直接導入到FPGA中,通過基于四元數(shù)旋轉所構建的濾波器進行濾波去噪以及邊緣提取,同時完成邊緣提取后的圖像的存儲和顯示。
對于這樣一個 3*3 的濾波窗口中,A、B、C、D、E、F、G、H、I分別表示在該濾波窗口中的對應像素點,如圖4所示。對于像素點A來說,考慮其周圍的八個點,計算每個點與其他七個點之間的歐幾里得距的和,找出其中最小的一組,并用來代替中心點A的值,以達到濾波的效果。在實際操作過程中,因FPGA中開平方的運算時間和資源消耗較大,因此省略了開平方的運算,直接用開平方之前的和。這樣做對濾波器的輸出影響并不大。
圖4 匹配像素的位置Fig.4 The Position of Matched Pixel
矢量中值濾波器的算法流程圖,如圖5所示。
圖5 濾波器的流程圖Fig.5 The Flow Chart of Filter
基于四元數(shù)的旋轉和歐氏距離的邊緣檢測算法流程圖,如圖6所示。將經(jīng)過計算所得到的歐幾里得距與設定的閾值進行比較,并將比較的結果作為判斷是否為邊緣點的依據(jù):如果歐幾里得距大于閾值,則A是邊緣點,從而保持A的值不變,即保持原色彩;若歐幾里得距小于或等于閾值,則A為非邊緣點,并將A的值設為0,即A為黑色,如此實現(xiàn)了邊緣點與非邊緣點的區(qū)分。處理算法與例化的RAM聯(lián)系在一起,例化了三個RAM內核:pic,f_pic和e_pic。分別為原始圖像、經(jīng)濾波處理后的圖像、邊緣提取后的圖像。處理算法與例化的RAM聯(lián)系,如圖7所示。
圖6 算法流程圖Fig.6 The Flow Chart of Algorithm
圖7 邊緣檢測流程圖Fig.7 The Flow Chart of Edge Detection
采用1.8 TFT LCD來實現(xiàn)處理后圖像的顯示。顯示過程中,只需將原先存儲在f_pic中的圖像數(shù)據(jù)進行顯示。由于濾波的過程中將圖像中的非邊緣點設置成了為黑色,這樣就能很容易將圖像中的目標和背景區(qū)分開來。
圖像顯示模塊的程序設計框圖,如圖8所示。在具體的設計中,選取邊緣處理模塊中的結束標志,作為該模塊中的開始信號。
圖8 圖像顯示模塊的流程圖Fig.8 The Flow Chart of Image Display Module
對艦用高強低碳合金鋼HSLA-115進行研究實驗,采用的是TLF15000型15kW大功率CO2激光制造系統(tǒng),實驗焊接方式為拼焊。激光焊接過程中采用aca2000-340kc Basler相機采集圖像并壓縮后導入FPGA中。實驗所用的大功率激光焊接機和圖像采集系統(tǒng),如圖9所示。
圖9 大功率激光焊接機及圖像采集系統(tǒng)Fig.9 High Power Laser Welding Machine and Image Acquisition System
實際系統(tǒng)的頂層文件設計,如圖10所示。由于省去了攝像頭模塊,因此我們替換了原來的RAM:pic,變成了ROM:pic,這樣一來可以使系統(tǒng)更加簡便。sys_clk為系統(tǒng)時鐘50MHz;rst_n為系統(tǒng)復位按鈕;CS為液晶屏片選信號;SCK為液晶屏串行時鐘信號;RS為液晶屏指令/數(shù)據(jù)選擇信號;SDA為液晶屏串行數(shù)據(jù)端口;RESET為液晶屏復位端口;Pic為存放原始圖像的ROM;f_pic為存放處理后的圖像的RAM;sys為濾波器頂層封裝;my_tft為液晶顯示屏驅動顯示頂層封裝。
圖10 實際系統(tǒng)的頂層設計Fig.10 The Top Layer Design of the Actual System
為簡化實驗驗證過程,經(jīng)過專業(yè)相機拍攝得到激光焊接彩色焊接圖像以后,我們還需要對所采集到的圖像進行處理與裁剪,使之能夠符合顯示屏的尺寸。將圖像數(shù)據(jù)壓縮后導入FPGA,將經(jīng)過預處理的圖片放入例化的ROM:pic中,對圖片進行矢量中值濾波以及基于四元數(shù)的邊緣提取處理。通過Modelsim軟件對程序進行仿真,F(xiàn)PGA內部相應標志位局部放大后,如圖11所示。
圖11 內部標志位的變化的放大圖Fig.11 The Larger Version of Internal Flags
data_done為一行數(shù)據(jù)讀取結束標志;j_end為一行數(shù)據(jù)處理結束標志;e_datadone為處理后一行數(shù)據(jù)輸出結束標志;kk為列計數(shù)器;k為行計數(shù)器;done為全部數(shù)據(jù)處理完畢標志。
通過圖11可以觀察到系統(tǒng)復位鍵以及done標志位的波形,從標志位波形可以計算出FPGA處理一幅圖像所需的時間。
焊接前期對不同厚度的鋼板進行多種坡口尺寸的加工:14mm、12mm、10mm中間開Y形坡口,單邊10度,兩邊夾角共20度,根部留2mm為I形。8mm、6mm不用開坡口。
對四組不同的焊接圖像進行邊緣處理。第一組的焊接結果為焊穿,功率10kW,速度0.6m/min,鋼板厚度6mm;第二組的焊接結果為焊透,功率8kW,速度0.6m/min,鋼板厚度6mm;第三組的焊接結果為焊透,功率14kW,速度0.4m/min,鋼板厚度8mm;第四組焊接結果為未焊透,功率10kW,速度為0.6m/min,鋼板厚度8mm。以逐行掃描方式,提取出四組熔池圖像邊緣的長和寬為分別為:75,21;74,19;129,38;88,27(單位為像素)。由得到的結果數(shù)據(jù),然后對比建立的數(shù)據(jù)庫,為激光焊接參數(shù)的實時調整和焊接質量的控制提供依據(jù),如圖12所示。
圖12 熔池原圖及處理結果圖Fig.12 Original Drawing of Molten Pool and Processing Result Diagram
采用這里的FPGA系統(tǒng)圖像處理的時間為6ms左右,可以滿足實時處理的需要。
提出基于FPGA結合四元數(shù)空間旋轉算法的大功率激光焊接彩色圖像邊緣檢測的新方法。該方法能檢測出熔池邊緣的細節(jié),提取的熔池彩色圖像邊緣精確合理,同時,在運算中保留了彩色熔池圖像R、G、B之間的相關性,保留了更多的輪廓特征(包括亮度和顏色轉換)。彩色圖像R、G、B單一分量的圖像數(shù)據(jù)存在明顯的局限性,處理單一分量數(shù)據(jù)往往難以滿足實際需求,為了對觀測目標有一個更加全面、清晰、準確的理解與認識,把彩色圖像R、G、B數(shù)據(jù)綜合起來進行處理顯得非常重要和實用。提取出的彩色激光焊接圖像的熔池尺寸數(shù)據(jù)可以作為激光焊接質量實時判定、焊接參數(shù)調節(jié)的依據(jù)。該系統(tǒng)具有可移植性強、實時性強、抗干擾能力強等優(yōu)點。它不僅適用于大功率激光焊接的在線監(jiān)測,在工業(yè)制造、醫(yī)療診斷、日常生活等其他圖像處理領域也有較好的推廣價值。