|
|
| <!--插入廣告JS代碼--> |
摘要 結合當前電子技術和圖像處理技術的最新發展,設計了一種采用ADSP- 2181數字信號處理器建構的圖像檢測定位的硬件平臺,以滿足圖像檢測的工業應用需要。運用并行數據流的分析方法系統論證了ADSP-2181作為圖像檢測系統核心處理器方案,提出了系統的數據流模型和控制模型,并以此設計實現了一個較高性能的硬件系統,具有視頻圖像獲取、實時顯示、圖像處理和圖像檢測等多種功能。從PCB自動檢測的標志識別及定位的需要出發,提出了適合硬件處理的Hough變換算法進行PCB圓形定位標志的檢測,并給出了實驗結果。<!--摘要CH(結束)←-->
<!--→關鍵CH(開始)--> 關鍵詞:數字信號處理器;圖像檢測;Hough變換<!--關鍵CH(結束)←-->
<!--關鍵EN(結束)←--> 隨著自動化工業生產的迅速發展,基于圖像的自動檢測方法得到了較為深入的研究和廣泛應用。圖像檢測涉及到圖像獲取、圖像處理、圖像理解以及模式識別等許多方面的內容,而在這些領域的研究工作已經取得了很多有價值的成果。目前國內外對于PCB檢測定位系統以及其他外觀檢測的研究已經開展了不少工作,比如日本松下電子公司生產的Image Check B410高速圖像檢測系統,但是造價高昂,在檢測精確度方面同實際需求還有不少距離。
本文根據自動檢測的需要,結合當前DSP技術和圖像處理技術的最新發展,研制出一種成本低的、滿足工業特定需要的檢測系統,能夠對PCB進行定位,進一步完成斷點檢測、切割、自動裝配等功能。系統的攝像頭安裝在步進電機上,由系統控制中心推動;操作平臺上的PCB與控制中心確定相對坐標系;系統中存貯 PCB的電子版圖,根據相對位置移動電機,自動搜尋目標的大致位置,再通過圖像檢測方式精確定位。
1 基于ADSP-2181的硬件平臺
近年來DSP技術向更小、更快、更便宜的方向發展。與普通微機相比,基于DSP的處理系統更適于工業上的推廣。選擇DSP作為圖像檢測系統核心處理器,需要考慮外圍設備和相應算法的配合。外圍設備必須保證提供質量優良的原始圖像,以利于進行后期處理;而在DSP實現的算法需要壓縮運算量和存儲空間,同時能夠滿足精確度和速度的需要。基于DSP的硬件平臺,包括圖像獲取子系統、圖像處理子系統和圖像理解子系統[1]。在系統設計中,圖像處理和圖像檢測的任務主要通過ADSP-2181來完成。
1.1 系統數據流模型
系統實現主要包括7個部分:攝像頭、A/D轉換、D/A轉換、幀存儲器、ADSP-2181、控制器和總線接口等。根據硬件系統的功能,運用數據流方法進行分析,系統包含以下的數據交換:視頻芯片I2C總線控制數據流、圖像直通顯示數據流、圖像凍結數據流、DSP獲取圖像數據流、DSP處理數據流、處理結果疊加顯示數據流、系統控制數據流。系統實現的數據流模型如圖1所示。
1.2 系統控制原理
系統控制原理如圖2所示。


系統實現的數據流模型和控制原理可認為是對系統的高層次行為域描述,而子系統的劃分則是較低層次的行為域描述模型。系統分為6個子系統:
視頻前端子系統 將復合視頻同步信號轉換成16位4:2:2格式YUV數字信號,并輸出系統的同步信號。
視頻后端子系統 將數字圖像和采樣鼠標、加亮標志疊加合成的數字信號轉換成模擬信號,以視頻輸出。
幀存貯器子系統 TMS55160為核心,用于存貯原始圖像、DSP寫入加亮圖形,凍結時視頻信號實時顯示。
DSP子系統 ADSP-2181為核心,FLASH、SRAM、ISA接口和輔助的GAL為外圍設備,實現DSP的初始化、功能控制、圖像數據獲取和圖像識別與理解,同時設置I2C總線初始化視頻芯片。
系統控制子系統 Lattice的ispLSI1048E,高性能、高效率、延時固定、低耗、在線編程、設計快速、保密性好、成本低,功能是實現系統的時序控制、數據傳輸和整體控制。
系統初始化子系統 包括ADSP-2181的初始化,實現系統運行;SAA7111和ADV7176的I2C總線初始化,設置工作模式;TMS55160的初始化,以達到標準工作狀態。
1.3 系統時鐘控制
系統使用了兩種時鐘,即SAA7111提供的視頻流同步信號和ADSP-2181的工作時鐘。由于顯示和數據處理是并行的,所以系統采用了“時間片” 的分配辦法,將視行周期分為不同的時間片(圖3),分別進行不同的處理,以實現幀存貯器的正確讀寫。圖3中的數字是以像素點為單位的計數描述,每點的周期大約70 ns;96~608是視頻輸出時間,32~63是VRAM刷新時間,84~87是VRAM的全傳輸時間,232~235和360~363是VRAM的分離傳輸時間,這兩種傳輸保證VRAM從片內的DRAM向SAM傳輸數據,以實現視頻實時顯示。從圖3中可以看出,在整個行周期內,系統刷新等部分的開銷占據了32~384點周期,而其余時間共有556點周期,均屬于DSP可控制時間片,這就保證了系統能夠在行周期內占據大部分的時間,完成相應的幀存貯器存取數據的復雜操作。
1.4 系統工作流程
系統工作流程如圖4所示。


2 檢測定位算法研究
由于采用了16位定點DSP,圖像處理和檢測算法必須最大程度的適合DSP的內部數據格式、指令特征和存儲結構,以達到最佳運算性能。基于ADSP-2181的硬件平臺,可實現多種檢測應用。
2.1 圓形定位標志檢測算法
對圓的檢測可以采用Hough變換,其特點是抗噪能力強,可以不受實際圖像中曲線段不連續性的影響[2]。圓的方程可以表示為:(x-a)2+(y-b)2=r2,其中有三個參數a,b,r,所以需要在參數空間建立一個三維的累加數組A(a,b,r),根據具體圖像計算出的每一個三元組(a,b,r),對A累加:A(a,b,r)=A(a,b,r)+1。
如何計算三元組(a,b,r)是實現該算法的關鍵所在。Hough變換的實質是把圖像空間中的檢測問題轉換到參數空間。如果固定r,則參數空間與圖像空間的對應可以用圖5來說明。

上圖所示為圓的參數空間。圖中的黑色小方塊對應圖像空間中的圓周上的點;而圓周則為可能的圓心位置。在圖像空間中共圓的點在參數空間中對應同一個點。也即,圖像空間中的點對應參數空間中的圓;參數空間中的點對應圖像空間中的圓。也可稱之為點-圓對偶性。在實現該算法時,利用了上述性質。算法流程如下:
第0步 確定半徑r的取值范圍 
第4步 若像素點(x,y)非目標像素,則轉到第9步執行;
第5步 令α=0;
第6步 a=x-r×cos(α),b=y-r×sin(α) (2)
第7步 若a∈(0,W-1),b∈(0,H-1),則A(a,b,r)=A(a,b,r)+1;
第8步 α=α+1,轉到第6步,直到α=360;
第9步 x=x+1,轉到第4步,直到x=W;
第10步 y=y+1,轉到第3步,直到y=H;
第11步 r=r+1,轉到第2步,直到r=rmax。
第12步 對A(a,b,r)搜索,找到一個三元組(a0,b0,r0),使得在所有的A(a,b,r)中A(a0,b0,r0)最大。
經過以上運算得到的三元組(a0,b0,r0)即認為是指定區域內存在的圓形目標。該算法通過增大計算量而減小了存貯空間,達到壓縮存貯量的目的,以適應DSP內存有限的特點。由于用到了三角函數,按角度計算,共有360個,采用查表法可以降低計算復雜度,小數用1.15格式表示,可以實現整數與小數的乘法。需要說明確定半徑r取值范圍:從理論上講r 的取值應該滿足
。但從計算量和實際應用的角度考慮,式(1)所確定的范圍是比較適宜的。
經過如上優化,該算法得以在DSP中實現。
2.2 實驗結果
以上算法經過實際運用,得到了比較理想的結果。PCB圓形定位標志的檢測結果見圖6((d)圖中左邊部分的黑色弧形是為了顯示處理結果而添加的)。可以看到,算法的抗噪聲能力相當強。Hough變換檢測圓形是累計位于圓形邊緣的點,所以當處理結果不是整圓,而有殘缺部分時,同樣可以得到正確的結果。


從大量檢測結果來看,系統的誤差最多是一個像素點,精確度非常之高;同時可以適應各種復雜的情況,具有很強的魯棒性。
3 結束語
本文論述了基于ADSP-2181的圖像自動檢測系統的實現方案,并針對PCB檢測的難點,提出Hough變換法進行PCB圓形定位標志的檢測。該系統對于圖像處理技術的研究、工業自動檢測的實踐都具有重要的價值,同時也是將圖像科學技術應用于實踐的成功范例。
參考文獻
1 Kim T,Cho T,Moon Y,et al.Visual inspection sys-tem for the classification of solder joints[J].Pattern Recognition,1999,32(4):565~575
2 章毓晉.圖像處理和分析[M].北京:清華大學出版社,1999.148~152