張建立,馮小雨,張建強(qiáng)
(1.鄭州大學(xué)機(jī)械與動(dòng)力工程學(xué)院,河南 鄭州 450001;2.鄭州市市政工程勘測(cè)設(shè)計(jì)研究院,河南 鄭州 450000 )
提升小波是一種新的時(shí)頻域分析方法[3],它廣泛的應(yīng)用于圖像處理的去噪、圖像邊緣檢測(cè)、特征提取等方面。相較于傅立葉變換和小波變換,提升小波變換有以下優(yōu)點(diǎn):(1)構(gòu)造簡(jiǎn)單靈活,可以從一些簡(jiǎn)單的小波函數(shù)構(gòu)造得到;(2)它更加適合于圖像這種離散數(shù)據(jù)的處理;(3)算法簡(jiǎn)單,運(yùn)算速度快,占用內(nèi)存小[4]。
首先利用三次B樣條函數(shù)來(lái)構(gòu)造提升小波,再對(duì)礦石圖像使用構(gòu)造的提升小波,對(duì)得到四個(gè)子圖分別進(jìn)行中值濾波,再進(jìn)行小波重構(gòu),最后使用改進(jìn)的分水嶺算法,得到礦石圖像的分割圖。
提升小波算法有三個(gè)步驟組成:分裂、預(yù)測(cè)和更新。
分裂:將原信號(hào)Sn等分成兩個(gè)子集,每個(gè)子集是原信號(hào)的一半,同時(shí)兩個(gè)子集相互正交。對(duì)于這里礦石圖像,將其分裂為奇數(shù)序列on-1和偶數(shù)序列en-1,及Sn=on-1+en-1。
據(jù)悉,α9Gen 2影像處理器是LG去年推出的α9處理器的升級(jí)版,α9處理器曾亮相于CES 2018,并被應(yīng)用于LG的高端子品牌“璽印”W8 OLED電視中。新一代α9Gen 2影像處理器在α9處理器的功能上再次進(jìn)行了升級(jí)和優(yōu)化,不但支持120幀的4K視頻播放,還有望完成4K 120FPS視頻的直接傳輸。
預(yù)測(cè):由于奇數(shù)序列和偶數(shù)序列本身存在著相關(guān)性,可以用一個(gè)序列來(lái)預(yù)測(cè)另一個(gè)序列,一般用偶數(shù)序列en-1來(lái)預(yù)測(cè)奇數(shù)序列on-1,預(yù)測(cè)值P(en-1)與實(shí)際值on-1之間存在差值,差值的大小叫做小波系數(shù)dn-1[5],它反映了二者之間的相似程度,對(duì)于礦石圖像,它還可以表示圖像的高頻信息。奇數(shù)序列與偶數(shù)序列的相關(guān)性越強(qiáng),則圖像的高頻信息dn-1越小[6]。預(yù)測(cè)過(guò)程為:dn-1=on-1-P(en-1)。
更新:經(jīng)過(guò)分裂得到的子集,可能導(dǎo)致原信號(hào)的某些特性(如均值)發(fā)生改變,為了保證這些信號(hào)的基本特征不變,需要一個(gè)更新過(guò)程。用算子U來(lái)代替,同時(shí)它是自變量為dn-1的函數(shù),用U(dn-1)表示,通過(guò)更新算子U(dn-1)可以求得原信號(hào)Sn的低頻信號(hào)Sn-1,其過(guò)程為:Sn-1=en-1+U(dn-1)。
提升小波的重構(gòu)也可分為三個(gè)步驟:反更新、反預(yù)測(cè)和合并,分別對(duì)應(yīng)提升小波變換的三個(gè)步驟[7],它是提升小波的逆變換。
反更新:利用低頻信號(hào)Sn-1和更新算子U(dn-1)以及高頻信號(hào)dn-1,可以得到原信號(hào)的偶數(shù)序列en-1,過(guò)程為:en-1=Sn-1-U(dn-1)。
反預(yù)測(cè):利用高頻信號(hào)dn-1和預(yù)測(cè)函數(shù)P(en-1)以及反更新得到的偶數(shù)序列en-1,可以求得奇數(shù)序列on-1,其及過(guò)程為:on-1=dn-1+P(en-1)。
合并:把上兩步得到的偶數(shù)序列en-1和奇數(shù)序列on-1合并起來(lái),就可得到提升小波變換的重構(gòu)圖S′n,其過(guò)程為:S′n=Merge(en-1,on-1)。
由于礦石圖像是二維的信號(hào),不同于一維信號(hào),它要進(jìn)行兩次提升小波變換[8]。具體步驟:先對(duì)圖像按行分裂成兩個(gè)子集,對(duì)得到的兩個(gè)子集進(jìn)行提升小波變換,得到一個(gè)低頻圖和一個(gè)高頻圖。再對(duì)得到的低頻圖和高頻圖按列分裂,分別得到兩個(gè)子集,再進(jìn)行提升小波變換,最后得到四個(gè)子圖,分別為低頻-低頻圖、低頻-高頻圖、高頻-低頻圖和高頻-高頻圖。
提升小波變換中,需要確定的函數(shù)有預(yù)測(cè)函數(shù)P和更新算子U,由于預(yù)測(cè)函數(shù)P 和更新算子U 本身存在著關(guān)聯(lián),為了簡(jiǎn)化計(jì)算,把這兩個(gè)函數(shù)取成相同的函數(shù)。通過(guò)查閱大量資料,發(fā)現(xiàn)樣條函數(shù)構(gòu)造簡(jiǎn)單、使用方面,擬合準(zhǔn)確,能夠避免擬合中產(chǎn)生極值點(diǎn),并能對(duì)圖像進(jìn)行平滑的擬合。因此,這里選取三次B樣條函數(shù)作為提升小波的預(yù)測(cè)算子。
三次B樣條函數(shù)表達(dá)式如式(1):
式中:Pi—給定的點(diǎn);
Gi,3(t)—三次B樣條函數(shù)的基函數(shù),(i=0,1,2,3)。
基函數(shù)的具體表達(dá)式,如式(2):
由三次B樣條函數(shù)的端點(diǎn)性質(zhì)可以近似把擬合過(guò)程看作相鄰三個(gè)點(diǎn)不同權(quán)重的疊加,即可得其對(duì)應(yīng)的預(yù)測(cè)函數(shù)P和更新算子U分別如式(3)、式(4)所示。
式中:i,j—圖像像素點(diǎn)所在的行坐標(biāo)和列坐標(biāo);
en-1—圖像的偶數(shù)序列;
dn-1—圖像的高頻信息。
所以經(jīng)過(guò)提升小波變換,圖像的低頻信息Sn-1和高頻信息dn-1分別如式(5)、式(6):
分水嶺算法是一種常用的圖像分割方法。它最先應(yīng)用于測(cè)地學(xué)的地形分割,隨著分水嶺應(yīng)用的不斷擴(kuò)大,最后應(yīng)用到圖像的處理。它把圖像看作是拓?fù)涞孛?,圖像中各點(diǎn)的像素值表示該點(diǎn)的海拔高度。分水嶺的形成可以用模擬的浸入過(guò)程來(lái)說(shuō)明,在每一個(gè)局部極小值表面,刺穿一個(gè)小孔,然后通過(guò)這個(gè)孔,慢慢向模型里注水,隨著水平面的加深,每一個(gè)局部極小值的影響域慢慢向外擴(kuò)展,在相鄰的兩個(gè)集水盆匯合處構(gòu)筑大壩,即形成分水嶺[9]。
直接對(duì)礦石圖像運(yùn)用分水嶺算法分割圖像會(huì)產(chǎn)生過(guò)度分割的現(xiàn)象[10]。對(duì)提升小波重構(gòu)后的圖像應(yīng)用改進(jìn)的分水嶺算法進(jìn)行圖像的分割。具體思路是:對(duì)經(jīng)過(guò)提升小波重構(gòu)的圖像先進(jìn)行形態(tài)學(xué)運(yùn)算,消除礦石圖像存在的孔洞部分,同時(shí)分離出礦石圖像的前景和背景,在標(biāo)記出前景和背景的基礎(chǔ)上,使用分水嶺算法。
圖像處理部分是在MATLAB軟件上運(yùn)行得到的。圖像處理流程圖,如圖1所示。
為了減少礦石圖像的運(yùn)算量,首先對(duì)原圖,如圖2所示。進(jìn)行灰度變換[11],得到的灰度圖像,如圖3所示。
圖2 原始圖像 Fig.2 The Original Image
圖3 灰度圖像Fig.3 Grayscale Image
在灰度圖像的基礎(chǔ)上,用三次B樣條函數(shù)作為預(yù)測(cè)函數(shù)和更新算子,進(jìn)行提升小波變換,得到的四個(gè)子圖分別是高頻-高頻圖,如圖4所示。高頻-低頻圖,如圖5所示。低頻-高頻圖,如圖6所示。低頻-低頻圖,如圖7所示。
圖4 高頻-高頻圖 Fig.4 High Frequency-High Frequency Image
圖5 高頻-低頻圖Fig.5 High Frequency-Low Frequency Image
圖6 低頻-高頻圖 Fig.6 Low Frequency-High Frequency Image
圖7 低頻-低頻圖Fig.7 Low Frequency-Low Frequency Image
對(duì)四個(gè)子圖分別進(jìn)行中值濾波,濾除礦石圖像的噪聲,再進(jìn)行提升小波的重構(gòu),得到的重構(gòu)圖[12],如圖8所示。然后,對(duì)重構(gòu)圖進(jìn)行相應(yīng)的形態(tài)學(xué)運(yùn)算,標(biāo)記出礦石圖像的背景和前景,再使用分水嶺運(yùn)算,得到分水嶺脊線圖,如圖9所示。
圖8 重構(gòu)圖Fig.8 Reconstruction Image
圖9 分水嶺脊線圖Fig.9 Watershed Ridge Diagram
分割結(jié)果,如圖10所示。
圖10 這里分割結(jié)果Fig.10 Segmentation Results
對(duì)比直接利用分水嶺算法的分割結(jié)果,如圖11所示。未能把所有礦石都分割開,有大量礦石產(chǎn)生了欠分割。所用方法的結(jié)果實(shí)現(xiàn)了把每個(gè)礦石分割開來(lái),分割結(jié)果更好。
圖1 礦石圖像處理流程圖Fig.1 Ore Image Processing Flow Chart
圖11 直接利用分水嶺算法的分割結(jié)果Fig.11 Direct Use of the Watershed Algorithm for Segmentation Results
在分水嶺脊線圖的基礎(chǔ)上,對(duì)圖像進(jìn)行連通域運(yùn)算[13],獲得連通域的個(gè)數(shù)(礦石個(gè)數(shù))和連通域的面積(礦石的水平投影面積),再把圖像中的像素個(gè)數(shù)轉(zhuǎn)化為實(shí)際的礦石面積,把礦石的水平投影等價(jià)于圓形,通過(guò)圓的面積公式:S=π·r2,可以求得近似的礦石粒度r。根據(jù)在新鄉(xiāng)某公司的實(shí)驗(yàn)驗(yàn)證,CCD工業(yè)相機(jī)在高度、焦距及分辨率固定時(shí),10mm 的礦石顆粒的平均像素個(gè)數(shù)為959,20mm的礦石顆粒的平均像素個(gè)數(shù)為2927。即圖像連通域的面積在(959~2927)之間,可以認(rèn)為礦石粒度大小在(10~20)mm 之間。同理依次可以得出其他像素面積區(qū)間所對(duì)應(yīng)的礦石粒度。
為了檢測(cè)這里算法的可行性,在新鄉(xiāng)某公司做相關(guān)實(shí)驗(yàn),首先搭建的圖像采集平臺(tái),如圖12所示。獲得實(shí)時(shí)的礦石圖像,應(yīng)用這里算法對(duì)礦石圖像進(jìn)行粒度檢測(cè),同時(shí)用如圖13所示的篩分篩進(jìn)行人工篩分實(shí)驗(yàn),把不同大小的礦石粒度區(qū)分開來(lái)。通過(guò)對(duì)比本文算法分割礦石的結(jié)果和實(shí)際人工篩選的結(jié)果,可驗(yàn)證該方法的準(zhǔn)確度。首先將礦石粒度人為的劃分為r≤10、10 <r≤20、20 <r≤25、25<r≤30、30 <r≤35、35<r≤40、40 <r≤50、r>50共8個(gè)區(qū)間(r為礦石粒度的粒徑,單位為mm)。
圖12 圖像采集平臺(tái)Fig.12 Image Acquisition Platform
圖13 篩分篩Fig.13 Screen Sieve
累積誤差的計(jì)算方式,如式(7)所示。
這里算法得到的粒級(jí)數(shù)據(jù)與人工篩分得到的數(shù)據(jù)對(duì)比,如表1所示。
表1 礦石顆粒粒度分布統(tǒng)計(jì)表Tab.1 Ore Particle Size Distribution Data Sheet
根據(jù)表1的數(shù)據(jù),各個(gè)區(qū)間的累積誤差在3%以內(nèi),累積誤差顯現(xiàn)的規(guī)律是先增大后減小,再突然驟增,其中35 <r≤40區(qū)間的誤差最小,說(shuō)明前面區(qū)間的正負(fù)誤差已基本抵消,40 <r≤50區(qū)間累積誤差驟增,說(shuō)明可能由于礦石的粘連,這里算法未能有效的進(jìn)行分割,使得檢測(cè)到的礦石粒度增大,這也是今后需要改進(jìn)的方向。綜合說(shuō)明這里的算法能夠較準(zhǔn)確的檢測(cè)礦石粒度的分布。
(1)由于礦石顆粒存在大量無(wú)規(guī)律的噪聲,在進(jìn)行圖像分割時(shí),首先要濾除這些噪聲。提出了一種用三次B樣條構(gòu)造的提升小波變換,首先用三次B樣條來(lái)構(gòu)造預(yù)測(cè)函數(shù)P和更新算子U,對(duì)圖像進(jìn)行提升小波變換,結(jié)果顯示使用基于三次B樣條函數(shù)的提升小波變換,不僅能去除礦石圖像的噪聲,還能極大限度的保存原有的礦石圖像邊界信息。再使用改進(jìn)的分水嶺算法,成功的實(shí)現(xiàn)了礦石圖像的分割,最后利用圖像的連通域,對(duì)礦石粒度進(jìn)行標(biāo)定。
(2)對(duì)比這里算法結(jié)果與人工篩分結(jié)果,每個(gè)粒度區(qū)間的誤差都在3%以內(nèi),說(shuō)明這里算法在實(shí)際的礦石粒度檢測(cè)中的可行性。