【正文】
e ig h t W id th??; 遍 歷 二 值 化 圖 片 內(nèi) 存[]P im a g eB in a ry H eig h t W id th?,構(gòu)建一個(gè) 44? 的二維活動(dòng)窗 N ,當(dāng) N 窗里的灰度值為0 的個(gè)數(shù)等于或超過(guò) 8 個(gè)時(shí),縮小圖像相對(duì)應(yīng)的點(diǎn)的灰度值為 0,反之,縮小圖像想對(duì)應(yīng)的點(diǎn)的灰度值為 255。但是哈弗 圓檢測(cè) 法找圓的速度很慢,我們?cè)诠?圓檢測(cè) 法上進(jìn)行了優(yōu)化。對(duì)于該系統(tǒng),目標(biāo)提取實(shí)際上就是提取密封圈的圓環(huán)的過(guò)程。如 圖 密封圈二值圖 所示。粗略二值化時(shí)可以采用全局二值化法。 圖片二值化 從 圖 密封圈 8 比特 BMP 位圖數(shù)據(jù) 中可以觀察到,密封圈表面的顏色是比周邊顏色要亮出許多的。 }m X i d j n d nm X i d j d n d nm X i j d n d nm X i d j d n d n? ? ? ? ?? ? ? ? ? ?? ? ? ? ?? ? ? ? ? ? 公式 () 對(duì)于每個(gè)子窗口分別進(jìn)行一維中值濾波,即對(duì)子窗口所有元素進(jìn)行排序取中值,設(shè)分別 17 為 1P , 2P , 3P , 4P ,則最后輸出: 1 2 3 4( , ) m in[ , , , ]Y i j P P P P? 公式 () 則 (, )Yi j 便是中心點(diǎn) (, )ij 的灰度值。 }90 { ( , ) 。窗口內(nèi)像素位置用 ( , )Xef 表示,則 4 個(gè)一維子窗口依次表示為: 0 { ( , ) 。具體算法如 圖 分角度中值濾波示意圖 所示,分別統(tǒng)計(jì)二維滑動(dòng)窗口中綠色、藍(lán)色、灰色、紫 色部分的灰度分布。 本系統(tǒng)用的是分角度的中值濾波法。這不利于對(duì)瑕疵的識(shí)別。 16 圖 相機(jī)中圖像灰度值保存的位置 圖片預(yù)處理 由于圖像在傳輸線中傳輸?shù)臅r(shí)候不可避免會(huì)出現(xiàn)干擾,所以提取出的灰度圖像要進(jìn)行濾波處理以便減小干擾。對(duì)于大部分的模擬相機(jī),單位像素是以 2 像素 4 個(gè)數(shù)字保存的,如 圖 相機(jī)中圖像灰度值保存的位置 所示,表示相機(jī)捕捉到的圖像的 8 個(gè)像素,每個(gè)像素包含的信息都是用黑色的粗框圍成的,每個(gè) 2 像素包含 4 個(gè)數(shù)據(jù),以橫向 2 像素為 1 單位,其中藍(lán)色和綠色數(shù)據(jù)表示顏色信息,每個(gè)像素的紅色數(shù)據(jù)為灰度信息。在圖像處理中,顏色分量起不到太大的作用,我們可以將它去掉。 圖像處理一般分為如下 圖 圖像處理流程 所示的幾個(gè)步驟 [18]: 捕 捉 源 圖 像 預(yù) 處 理 二 值 化 目 標(biāo) 提 取目 標(biāo) 特 征 參數(shù) 計(jì) 算 圖 圖像處理流程 捕捉源圖像 首先直接在相機(jī)里直接采集到的數(shù)組信息并不是灰度圖信息。 15 圖 WAT902B 工業(yè)相機(jī) 本章小結(jié) 本章主要交代了密封圈瑕疵檢測(cè)系統(tǒng)平臺(tái)的搭建,以及系統(tǒng)中所應(yīng)用到的各部分硬件的名稱和作用。我們選用了該相機(jī)。如果圖像傳輸?shù)倪^(guò)程中參雜了過(guò)多的噪聲因素,無(wú)疑增加了識(shí)別算法的困難程度。 圖 低角度環(huán)形光源下的密封圈 便是密封圈在該環(huán)形光源下的成像效果 : 圖 低角度環(huán)形光源下的密封圈 相機(jī) WAT902B 該工業(yè)相機(jī)的特點(diǎn)就是抗噪性良好。 圖 便是密封圈在 13 該同軸光源下的成像效果 [17]: 圖 同軸光源下的密封圈 環(huán)形 90 度水平低角度光源維郎 HXA90D56R1X 如 圖 低角度環(huán)形光源 所示的光源型號(hào)是上海維郎光源提供的 HXA90D56R1X: 圖 低角度環(huán)形光源 該光源 LED 后部基板與水平面成 90 度,因此 LED 顆粒變成水平方向,光源通常為 1排 LED 顆粒,水平照射后可以實(shí)現(xiàn)對(duì)于光滑表面的裂痕等由于凹凸造成的細(xì)微缺陷行程很好的反光效果。間接的起到了棱鏡的使用效果。 圖 同軸光源 該光源有內(nèi)部的光學(xué)鏡片經(jīng)過(guò)特殊的位置設(shè)置 ,使得光源的發(fā)光光路可以與相機(jī)成 90176。前者我們選用的是維郎 TZD18X,后者我們選用的是維郎 HXA90D56R1X。當(dāng)前我們采用的是沃特克的WAT902B 型號(hào)的模擬相機(jī),模擬的數(shù)據(jù)傳輸屏蔽線,捕捉到的圖像經(jīng)由 VGA 接口傳遞到觸摸屏上顯示出來(lái) [16]。在非 WINDOWS、 LINUX 系列的操作系統(tǒng)中,極少有同時(shí)支持觸摸屏和鼠標(biāo),這是本軟件系統(tǒng)的一大特點(diǎn)。其主要由三部分組成: 1) DSP/BIOS API:用戶設(shè)計(jì)的程序可通過(guò) API 調(diào)用 DSP/BIOS 接口函數(shù); 2) DSP/BIOS 配置:創(chuàng)建的配置文件定義了程序使用的靜態(tài) BIOS 對(duì)象; 3) DSP/BIOS 分析工具 :集成在 CCS 上的一些 DSP/BIOS 分析工具可以對(duì)運(yùn)行與目標(biāo)設(shè)備上的程序進(jìn)行檢測(cè),包括 CPU 負(fù)載、時(shí)間、日志、線程執(zhí)行狀態(tài)等。實(shí)際應(yīng)用中需要的定制算法作為一個(gè)線程插入 DSP/BIOS的調(diào)度隊(duì)列,由 DSP/BIOS 進(jìn)行調(diào)度。操作系統(tǒng)維護(hù)調(diào)度多線程的運(yùn)行,只需將定制的數(shù)字信號(hào)算法作為一個(gè)線程嵌入系統(tǒng)即可;芯片支持庫(kù)幫助管理外設(shè)資源,復(fù)雜的外設(shè)寄存器初始化可以利用直接圖形工具配置;實(shí)時(shí)分析工具可以幫助分析算法實(shí)時(shí)運(yùn)行情況。 DSP/BIOS 是一個(gè)用戶可剪裁的實(shí)時(shí)操作系統(tǒng),主要由三部分組成:多線程實(shí)時(shí)內(nèi)核;實(shí)時(shí)分析工具;芯片支持庫(kù)。 CPU 可直接訪問(wèn) L1,在 L1D miss情況下 stall 等待 L2 數(shù)據(jù)或代碼通過(guò) DMA 刷新到 L1 cache,如果 L2 cache miss、則消耗更多的時(shí)間等待數(shù)據(jù)或代碼從片外 SRAM 通過(guò) DMA 刷新到 L1 cache。片外搭配 128M KB DDR2 SRAM。采用數(shù)據(jù)與代碼分開(kāi)的哈佛總線結(jié)構(gòu),同時(shí)取指令與數(shù)據(jù),最佳狀況下,每時(shí)鐘周期可以執(zhí)行 8 條指令。交叉數(shù)據(jù)通路允 許某側(cè)的單元在執(zhí)行指令時(shí)將另外一邊寄存器堆中寄存 10 器作為操作數(shù)來(lái)源同時(shí)允許向另 側(cè)通往片外的數(shù)據(jù)通路傳輸數(shù)據(jù)。 C64x+內(nèi)核有 8 個(gè)功能單元, M. S. L. ,分別主要負(fù)責(zé)乘法,加法,邏輯,地址運(yùn)算,同時(shí)也支持很多其他運(yùn)算。并不像同為達(dá)芬奇技術(shù)的 6446 有 1 個(gè) ARM 核, 1 個(gè) DSP核,通 過(guò)貫通兩核的 DSPlink 實(shí)現(xiàn)應(yīng)用程序調(diào)用運(yùn)行于 DSPside 的算法 codec。所配備的視頻處理子系統(tǒng) (VPSS)極大的支持了前端預(yù)處理與后端顯示,減軒 DSP 核負(fù)擔(dān),配備的 10/100M EMAC,減少外圍電路,使硬件小型化成為可能。 核心控制芯片 TMS320DM6437 TMS320DM6437 是 TI(德州儀器 )針對(duì)數(shù)字視頻領(lǐng)域 開(kāi)發(fā) 的支持達(dá)芬奇技術(shù)的單核 DSP處理器。跟 CPU 的接口有 ITU 656,以及 RAW 格式。其工作時(shí)鐘可由芯片外接晶振提供,亦可由 CPU 提供,采取何種方式由芯片的工作模式?jīng)Q定。 2) 供電模式和工作時(shí)鐘 TVP5146 采用雙電源供電,模擬 和數(shù)字 ,數(shù)字 和模擬 。一色度陷波器也已經(jīng)推出。該設(shè)備采用得克薩斯儀器公司的專利技術(shù),能采集嘈雜,或不穩(wěn)定的信號(hào),并輸出一個(gè)色度產(chǎn)生頻率控制下游同步視頻編碼器。該設(shè)備包括兩個(gè) TVP5146 10bit采樣的 A / D轉(zhuǎn)換器,線鎖定采樣方形像素。能將基帶模擬 NTSC, PAL 制式,和SECAM 視頻轉(zhuǎn)換成數(shù)字分量視頻。最終的檢測(cè)結(jié)果由處理芯片模塊輸出道執(zhí)行機(jī)構(gòu)。 電源模塊負(fù)責(zé)給各個(gè)模塊提供合適的工作電壓,圖像由信號(hào) 采集模板輸入到處理芯片。 D S P 處 理 芯 片 模 塊T M S 3 2 0 D M 6 4 3 7電 源 模 塊觸 摸 屏 模 塊信 號(hào) 采 集 模 塊T V P 5 1 4 6結(jié) 果 輸 出圖 像 輸 入 觸 摸 屏 輸 入 圖 DSP 核心主板組成及聯(lián)系 9 嵌入式圖像處理器 嵌入式核心的圖像處理器由信號(hào)采集模塊、觸摸屏模塊、處理芯片模塊以及電源模塊幾個(gè)主要部分構(gòu)成。 8 相機(jī)獲取的圖片信息 系統(tǒng)在收到 PLC 的拍照信號(hào)后,檢測(cè)系統(tǒng)便會(huì)將當(dāng)前要檢測(cè)的密封圈圖像從相機(jī)中利用傳輸線寫(xiě)入到系統(tǒng)內(nèi)存 [12],如 圖 密封圈 8 比特 BMP 位圖數(shù)據(jù) 所示便是把從相機(jī)寫(xiě)入內(nèi)存的數(shù)據(jù)以 BMP8 比特位圖的形式保存出來(lái)的圖像。 3) PLC 接收到結(jié)果并不馬上恢復(fù)給 DSP,而是等到進(jìn)料機(jī)械手到達(dá)右形成時(shí),移位寄存器記錄并做 30ms 的延時(shí)后發(fā)生確認(rèn)信號(hào)個(gè) DSP,確認(rèn)信號(hào)發(fā)生的同時(shí),要求 DSP 的確認(rèn)信號(hào)同時(shí)有效。 P L C D S PI N 1I N 2O U T 1O U T 2 圖 通信 IO 口示意圖 1) 工件靜止后 ,PLC 給 DSP 拍照命令, out1 高電平 。在 2 套系統(tǒng)檢測(cè)過(guò)程中,如果有其中任意一套出現(xiàn)不合格的情況,那么在與密封圈分類裝置通信時(shí),該產(chǎn) 品便為不合格產(chǎn)品。 圖 密封圈檢測(cè)平臺(tái) 圖像經(jīng)過(guò)智能識(shí)別系統(tǒng)處理過(guò)后,會(huì)出現(xiàn)合格與次品的兩種結(jié)果,利用 PLC 通信,對(duì)密封圈分類裝置進(jìn)行電信號(hào)的通信 [11]。其中裂紋、暗紋等細(xì)瑕疵在紅色同軸光下比較明顯;模影等瑕疵在紅色環(huán)形光下成像明顯。這樣密封圈的圖像就采集到圖像識(shí)別系統(tǒng)中了,我們就可以在該嵌入式系統(tǒng)內(nèi)對(duì)該圖像進(jìn)行算法識(shí)別,判斷是否為合格產(chǎn)品。 第 3章 視覺(jué)瑕疵檢測(cè)系統(tǒng)設(shè)計(jì) 算法檢測(cè)平臺(tái)的搭建 密封圈檢測(cè)平臺(tái) 為了讓相機(jī)捕捉到密封圈的圖像,我們?cè)O(shè)計(jì)了如 圖 密封圈檢測(cè)平臺(tái) 所示的檢測(cè)平臺(tái),將密封圈放置在合適的光源正下方,將工業(yè)智能相機(jī)搭載光源正上方。 本章小結(jié) 本章主要介紹了當(dāng)前國(guó)內(nèi)外主要流行的圖像處理的總體流程,以及幾種經(jīng)典的算法。運(yùn)用數(shù)學(xué)形態(tài)學(xué)里的圖 像膨脹的算法對(duì)細(xì)化的圖像進(jìn)行處理,然后和細(xì)化前的圖像的每個(gè)像素分別進(jìn)行與操作(細(xì)化前的圖背景為 0,瑕疵為 1),重復(fù)膨脹和與操作直到細(xì)化圖像不再發(fā)生閾值的改變。之后對(duì)細(xì)化的圖像進(jìn)行濾波處理,這樣非線性的細(xì)化點(diǎn)將會(huì)被清除。 為了實(shí)現(xiàn)這一目的,就要進(jìn)行圖像的細(xì)化運(yùn)算 [10]。由于分割時(shí)采用了瑕疵亮度比背景暗的特征進(jìn)行的,所以在這種情況下,如果有與瑕疵同樣亮度的干擾物存在,就會(huì)把干擾圖像也同樣保留下來(lái)。提取瑕疵的特征。 確定圓心位置后,便可以根據(jù)密封圈表面圓環(huán)的內(nèi) 外徑,來(lái)提取出目標(biāo)圓環(huán),利用公式遍歷 []P im a g eB in a ry H eig h t W id th?圖像,將不滿足的像素 ( , )Fxy 賦值為 0,設(shè)圓環(huán)內(nèi)徑為 edgeThick ,公式如下: 2 2 22 2 2( ) ( ) ( )( ) ( )x P o s X y P o s Y n M a x R a d iu s e d g e T h ic kx P o s X y P o s Y n M a x R a d iu s? ? ? ? ?? ? ? ? 公式 () 可以得到密封圈目標(biāo)圓環(huán)的二值化圖像 []P im a g e S u rfa c e H e ig h t W id th???梢跃幊汤L制灰度直方圖,來(lái)描述圖像中灰度值所對(duì)應(yīng)的像素個(gè)數(shù),其橫坐標(biāo)表示像素的灰度級(jí)別,縱坐標(biāo)表示該灰度出現(xiàn)的像素個(gè)數(shù),通過(guò)人工觀察輸入閾值的方法,來(lái)實(shí)現(xiàn)閾值分割圖像的目的[8]。但由于在密封圈表面圖像上瑕疵相對(duì)于背景像素所占的比例非常小,所以 OSTU 在計(jì)算閾值的過(guò)程中,瑕疵元素影響很小。其原理是統(tǒng)計(jì)出圖片內(nèi)的灰度直方圖,根據(jù)直方圖的波谷位置分布來(lái)確定合適的閾值。 圖像二值化的方法和種類很多,但到目前為止,還沒(méi)有一種或幾種完善的二值化方法能 5 按照人們意愿準(zhǔn)確分割出目標(biāo)圖像。二值化閾值選取的精確度甚至決定著圖像分析的精確度。因此要克服這個(gè)問(wèn)題,對(duì)這兩種經(jīng)典方法進(jìn)行了改進(jìn),把這種干擾降到最低。由于密封圈上的裂縫邊緣具有一定的突變特征,這與噪聲的特點(diǎn)非常相似,用這 2 種普通的濾波法就不能全面適用于圖像中的每條裂縫的形狀和走向,結(jié)果會(huì)導(dǎo)致在進(jìn)行去噪的過(guò)程中模糊了裂縫的邊緣。 則最后輸出: 211( , ) ( , ) ( 2 1 )naaaY i j f i j n??? ? ?? 公式 () 則 (, )Yi j 便是中心點(diǎn) (, )ij 的灰度值。假設(shè)排序如下: 1 1 2 2 2 1 2 1( , ) , ( , ) ... ( , )nnf i j f i j f i j?? 公式 () 則最后輸出: ( , ) ( , )nnY i j f i j? 公式 () 則 (, )Yi j 便是中心點(diǎn) (, )ij 的灰度值。分別統(tǒng)計(jì)二維滑動(dòng)窗口中的灰度分布 [7]。下面列出兩種濾波方法詳細(xì)的算法過(guò)程: 4 如 圖 中值濾波 示意 圖 所 示, 構(gòu)造 一個(gè) 二維 滑動(dòng) 窗口 M , M 的大小為(2 1) (2 1)nn? ? ?,中心點(diǎn)為 (, )ij ,即圖中紅色部分。對(duì)于其 M 窗口的中心 點(diǎn)為 (, )mi j 的像素值求計(jì)算。目前圖像噪聲一般指的是在成像和傳輸過(guò)程中產(chǎn)生的隨機(jī)噪聲中的高斯 噪聲和脈沖噪聲,高斯噪聲的特點(diǎn)是在乎坦的區(qū)域出現(xiàn)幅