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


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


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

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


從大量檢測(cè)結(jié)果來看,系統(tǒng)的誤差最多是一個(gè)像素點(diǎn),精確度非常之高;同時(shí)可以適應(yīng)各種復(fù)雜的情況,具有很強(qiáng)的魯棒性。
3 結(jié)束語
本文論述了基于ADSP-2181的圖像自動(dòng)檢測(cè)系統(tǒng)的實(shí)現(xiàn)方案,并針對(duì)PCB檢測(cè)的難點(diǎn),提出Hough變換法進(jìn)行PCB圓形定位標(biāo)志的檢測(cè)。該系統(tǒng)對(duì)于圖像處理技術(shù)的研究、工業(yè)自動(dòng)檢測(cè)的實(shí)踐都具有重要的價(jià)值,同時(shí)也是將圖像科學(xué)技術(shù)應(yīng)用于實(shí)踐的成功范例。
參考文獻(xiàn)
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].北京:清華大學(xué)出版社,1999.148~152