(華東理工大學(xué) 機(jī)械與動(dòng)力工程學(xué)院, 上海 200237)
目前,一些復(fù)雜零件成型精度比較低、加工質(zhì)量不穩(wěn)定、廢品率很高,因此作為一種先進(jìn)的無損檢測(cè)技術(shù),工業(yè)CT越來越受到關(guān)注。工業(yè)CT能夠在不接觸樣件的情況下,無損快速地檢測(cè)樣件的內(nèi)外部結(jié)構(gòu)等[1-5]。工業(yè)CT設(shè)備通過對(duì)零件的掃描,可以獲得一系列切片圖像,通過這些切片圖像可以方便地觀察到零件的內(nèi)部形狀、大小及空間位置,更好地了解零件結(jié)構(gòu)。
改善工業(yè)CT檢測(cè)中的虛擬測(cè)量精度主要有兩種方式:一種是提高工業(yè)CT設(shè)備掃描系統(tǒng)的分辨率;另一種是提高虛擬測(cè)量時(shí)的圖像算法精度。筆者采用某商用工業(yè)CT設(shè)備進(jìn)行試驗(yàn),因此硬件設(shè)備是固定的,故主要通過改善軟件的算法精度來提高虛擬測(cè)量的精度。
筆者提出了一種對(duì)CT圖像進(jìn)行虛擬測(cè)量的方法。該方法對(duì)工業(yè)CT獲得的切片圖像進(jìn)行二值化處理,分離出圖像中的目標(biāo)和背景;再通過灰度值的差別進(jìn)行輪廓跟蹤,識(shí)別出切片圖像的內(nèi)外輪廓;然后,將內(nèi)輪廓和外輪廓數(shù)據(jù)分別擬合成樣條曲線;最后進(jìn)行虛擬測(cè)量。
為了更好地提取出工業(yè)CT圖像輪廓,首先通過中值濾波對(duì)圖像進(jìn)行預(yù)處理,去除噪聲,以避免輪廓的誤提取。在去噪后,可進(jìn)行圖像二值化和輪廓邊緣的提取。
圖像二值化是圖像分割的重要方法之一,可以直接將圖像分類為物體和背景兩部分。常見的二值化方法包括平均值法、迭代選擇閾值法、一維Otsu法、二維Otsu法等。二維Otsu法是一種比較好的圖像二值化方法,它保留了最多的有用信息,同時(shí)噪聲較少。文章采用二維Otsu法[6-7]選取合適的閾值對(duì)圖像實(shí)現(xiàn)二值化。通過對(duì)工業(yè)CT圖像的二值化,可以將物體和背景明確地區(qū)分開來。
區(qū)分出物體和背景后,通過八鄰域追蹤算法提取圖像邊緣,八鄰域法的搜索順序如圖1所示。其具體步驟如下:
(1) 按從左到右,從上到下的方向掃描CT圖像,找到第一個(gè)像素值為1的點(diǎn)P0作為目標(biāo)點(diǎn),存儲(chǔ)其坐標(biāo)值。
(2) 從P0點(diǎn)的0鄰域點(diǎn)開始,逆時(shí)針方向搜索它的8鄰域點(diǎn)的值,找到第一個(gè)像素值為1的點(diǎn),存儲(chǔ)其坐標(biāo)值并記為P1。P0為P1的前鄰域點(diǎn)。
(3) 從P1點(diǎn)的0鄰域點(diǎn)開始,逆時(shí)針方向搜索它的8鄰域點(diǎn)的值,找到第一個(gè)像素值為1的點(diǎn)(該點(diǎn)不能是P1的前鄰域點(diǎn)),存儲(chǔ)其坐標(biāo)值并記為P2。依此類推。
(4) 直到再次遇到P0點(diǎn),跟蹤結(jié)束。第一個(gè)輪廓邊緣結(jié)束。
(5) 按從左到右,從上到下的方向掃描CT圖像,找到的第一個(gè)像素值為1的點(diǎn)Q0作為目標(biāo)點(diǎn),存儲(chǔ)坐標(biāo)值。Q0是新的輪廓起點(diǎn)。
(6) 從Q0點(diǎn)的0鄰域點(diǎn)開始,逆時(shí)針方向搜索它的8鄰域點(diǎn)的值,找到第一個(gè)像素值為1的點(diǎn),存儲(chǔ)其坐標(biāo)值并記為Q1。Q0為Q1的前鄰域點(diǎn)。
(7) 從Q1點(diǎn)的0鄰域點(diǎn)開始,逆時(shí)針方向搜索它的8鄰域點(diǎn)的值,找到第一個(gè)像素值為1的點(diǎn)(該點(diǎn)不能是Q1的前鄰域點(diǎn)),存儲(chǔ)其坐標(biāo)值并記為Q2。依此類推。
(8) 直到再次遇到Q0點(diǎn),跟蹤結(jié)束。第二個(gè)輪廓邊緣追蹤結(jié)束。
(9) 依此類推,追蹤到所有的輪廓邊緣。
圖1 八鄰域法的搜索順序
現(xiàn)有的亞像素級(jí)的邊緣檢測(cè)方法有基于矩的方法,擬合法和基于插值的方法。擬合法獲得的亞像素邊緣精度要高于另外兩種方法。因此在提取輪廓邊緣數(shù)據(jù)后,對(duì)內(nèi)外輪廓數(shù)據(jù)點(diǎn)進(jìn)行B樣條擬合,擬合成B樣條曲線。基于B樣條擬合輪廓邊緣,定位精度高。整像素提取出的數(shù)據(jù)在通過B樣條曲線擬合后,變成亞像素級(jí)的數(shù)據(jù),從而提高了虛擬測(cè)量精度。
CT圖像內(nèi)外輪廓擬合成B樣條曲線后,測(cè)量?jī)?nèi)外輪廓沿x,y方向以及任意方向的尺寸,就是沿需要測(cè)量的方向虛擬繪制一條直線,該直線與內(nèi)外輪廓曲線相交,求取其交點(diǎn),就可計(jì)算出所需測(cè)量方向的具體尺寸。
對(duì)于一系列CT圖像,將所有圖像的內(nèi)外輪廓擬合成樣條曲線后,沿需要測(cè)量的方向虛擬繪制一個(gè)平面,該平面與這些樣條曲線相交,就可以計(jì)算出每幅圖像在所需要測(cè)量方向的具體尺寸。
用工業(yè)CT掃描設(shè)備對(duì)某個(gè)鑄件進(jìn)行掃描,得到一系列工業(yè)CT圖像。圖2為某鑄件的CT 圖像。圖3為采用二維Otsu法對(duì)圖像二值化的結(jié)果。圖4為提取輪廓邊緣后,通過樣條擬合得到的內(nèi)外輪廓曲線。用一系列平行于y軸的直線與圖4中的內(nèi)外輪廓曲線相交,可得到一系列y方向的內(nèi)外輪廓寬度值。圖5為內(nèi)外輪廓寬度的走勢(shì),圖中橫坐標(biāo)為x坐標(biāo)值,縱坐標(biāo)為y方向的內(nèi)外輪廓寬度值。用一系列平行于x軸的直線與圖4中的內(nèi)外輪廓曲線相交,可以獲得一系列x方向的內(nèi)外輪廓長(zhǎng)度值。圖6為內(nèi)外輪廓長(zhǎng)度的走勢(shì),圖中橫坐標(biāo)為y坐標(biāo)值,縱坐標(biāo)為x方向的內(nèi)外輪廓長(zhǎng)度值。對(duì)于沿任意方向的虛擬測(cè)量,只要給出直線方程,虛擬繪制一條直線,如圖7所示,就可分別得到內(nèi)輪廓及外輪廓的尺寸為14.54,37.57 mm。
圖2 某鑄件CT圖像
圖3 二維Otsu法對(duì)鑄件圖像的二值化結(jié)果
圖4 樣條擬合得到的鑄件輪廓曲線
圖5 鑄件內(nèi)外輪廓寬度
圖6 鑄件內(nèi)外輪廓長(zhǎng)度
圖7 鑄件任意方向的虛擬測(cè)量
表1 鑄件虛擬測(cè)量和實(shí)際測(cè)量的結(jié)果對(duì)比
基于工業(yè)CT圖像提出了一種虛擬測(cè)量方法,此方法對(duì)圖像預(yù)處理后,提取圖像輪廓邊緣,然后對(duì)邊緣數(shù)據(jù)點(diǎn)進(jìn)行B樣條擬合,得到樣條曲線后,再進(jìn)行虛擬測(cè)量。這種方法可以應(yīng)用于不適合采用傳統(tǒng)方式測(cè)量的場(chǎng)合,也特別適用于零件的內(nèi)部輪廓、壁厚等參數(shù)的測(cè)量。 將虛擬測(cè)量與傳統(tǒng)測(cè)量方式相結(jié)合,可以有效地對(duì)零件內(nèi)部以及外部尺寸進(jìn)行測(cè)定。