冉鑫,彭將輝
(上海海事大學(xué) 商船學(xué)院,上海 201306)
船舶水尺是在船舶的首、尾及船舶中間兩舷的位置上繪制的刻度,用于估量船舶吃水深度,是進(jìn)行船舶計(jì)重和船舶積載安全評(píng)估的重要依據(jù).
傳統(tǒng)的水尺觀測(cè)主要依靠人工目測(cè),但此方法由于主觀或客觀因素(如工作量大、觀測(cè)不便、觀測(cè)者經(jīng)驗(yàn)、天氣條件、有無(wú)障礙物、危險(xiǎn)性等),誤差較大.針對(duì)該問(wèn)題,相關(guān)專家學(xué)者提出多種船舶電子水尺檢測(cè)方法.孫國(guó)元等[1]提出一種雙壓力傳感器船舶吃水檢測(cè)法,可自動(dòng)監(jiān)測(cè)船舶的6面水尺,但此方法對(duì)傳感器的精度要求高,且因傳感器放置環(huán)境潮濕,其電子線路不易布置.鄭灼輝[2]提出無(wú)須在惡劣環(huán)境下布置電子線路的超聲波水尺,利用傳感器接收發(fā)射到水面后返回的超聲波,根據(jù)當(dāng)?shù)芈曀儆?jì)算船舶吃水值.但聲速的誤差直接影響結(jié)果精度,而聲速又與介質(zhì)密度有關(guān),空氣中的介質(zhì)受溫度影響較大,因此,超聲波水尺的精度不高.
圖1 船舶水尺標(biāo)志
隨著圖像處理技術(shù)的蓬勃發(fā)展,涌現(xiàn)出很多利用圖像處理方法進(jìn)行字符圖像自動(dòng)識(shí)別的技術(shù)[3-4],同時(shí)航海行業(yè)對(duì)該技術(shù)的應(yīng)用也越來(lái)越多,金雪丹等[5]提出一種基于靜態(tài)照片對(duì)船舶進(jìn)行分類的方法.船舶水尺刻度主要由1個(gè)英文大寫(xiě)字母“M”和10個(gè)阿拉伯?dāng)?shù)字字符組成,見(jiàn)圖1中的米制標(biāo)志圖.該類字符的識(shí)別主要有模板匹配算法和神經(jīng)網(wǎng)絡(luò)算法2類.前者常采用輪廓、投影等特征,對(duì)相似字符的區(qū)分能力較弱;后者需要選擇輸入特征、設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)以及優(yōu)化系統(tǒng)參數(shù),工作很復(fù)雜.
針對(duì)數(shù)字進(jìn)行識(shí)別的具體算法有很多種.比如最小距離法是模式識(shí)別中最傳統(tǒng)的方法,其算法簡(jiǎn)單,對(duì)小樣本問(wèn)題有一定的優(yōu)勢(shì),但無(wú)法保證良好的識(shí)別率.在某些參數(shù)發(fā)生變化時(shí),如特征值矩陣的分塊選取變化,實(shí)驗(yàn)的識(shí)別效果差別就會(huì)比較大.[6]魏暢然[7]采用穿線法,但穿線條數(shù)必須大于一定的數(shù)值,才能使編碼重復(fù)率較低,保證識(shí)別水平.
船舶的所有水尺刻度高度均為10 cm,筆劃寬度基本一致,非常適合用細(xì)化算法提取字符的結(jié)構(gòu)特征.因此,本文提出一種針對(duì)水尺數(shù)字刻度圖像三叉點(diǎn)結(jié)構(gòu)特征的提取方法,將其制成樣本模板與特征模板進(jìn)行匹配,實(shí)現(xiàn)船舶水尺刻度的自動(dòng)識(shí)別.
圖2 圖像的預(yù)處理流程
水尺刻度圖像的預(yù)處理主要包括水尺刻度區(qū)域分割、形狀矯正、二值化、噪聲處理和圖像細(xì)化等,預(yù)處理流程見(jiàn)圖2.
船舶水尺圖像通過(guò)攝像機(jī)拍攝船體水尺獲取.船舶水尺刻度通常用白色油漆涂寫(xiě),可根據(jù)此特征提取水尺刻度區(qū)域.由于本文重點(diǎn)是圖像特征的提取和模板匹配算法,圖像分割方法在此不詳細(xì)展開(kāi).
由于船體本身不完全豎直,并且受攝像機(jī)架設(shè)角度的影響,所拍攝的圖像中水尺刻度會(huì)有一定的不成比例的壓縮變形.如果不進(jìn)行形狀矯正,水尺刻度識(shí)別的準(zhǔn)確性將受到較大影響.水尺圖像的幾何矯正可以用外接矩形和最小外接矩形進(jìn)行仿射變換或投影變換,將歪斜的字符區(qū)域變換成方正的區(qū)域.[8]計(jì)算仿射矩陣,將原圖中像素點(diǎn){p=(x,y),x∈R,y∈R}對(duì)應(yīng)到新坐標(biāo)系中的像素點(diǎn){p'=(x',y'),x'∈R,y'∈R},通過(guò)仿射變換
計(jì)算矩陣對(duì)坐標(biāo)進(jìn)行放縮、旋轉(zhuǎn)、平移后取得的新坐標(biāo)值.
水尺刻度特征提取需要進(jìn)行圖像二值化處理,將圖像中的每個(gè)像素按一定閾值分類,將水尺圖像轉(zhuǎn)換成二值圖像.文中水尺刻度圖像二值化采用Kittler算法[9],通過(guò)計(jì)算整幅圖像梯度灰度的平均值獲取分割閾值.此方法效果好、速度快,可以應(yīng)用在質(zhì)量不錯(cuò)的圖像上.水尺刻度圖像二值化后,進(jìn)行必要的數(shù)學(xué)形態(tài)學(xué)處理可以提高圖像識(shí)別率.通過(guò)運(yùn)用腐蝕和膨脹操作,消除圖像中不大的噪聲區(qū)域,填補(bǔ)水尺刻度圖像中的孔洞,從而得到水尺刻度的平滑邊緣.在連續(xù)進(jìn)行幾次腐蝕迭代后,再進(jìn)行同等次數(shù)的膨脹操作,可以加強(qiáng)去噪和平滑的效果,達(dá)到較好的期望效果.
水尺刻度圖像細(xì)化,就是尋找水尺數(shù)字的中軸線或骨架,以其骨架取代數(shù)字.細(xì)化之后,該數(shù)字的像素寬度為1,可以用數(shù)學(xué)語(yǔ)言嚴(yán)格地描述圖形的軸線或骨架.本文采用Hilditch細(xì)化算法[10],通過(guò)一種串行處理方式最終得到8鄰域連接線條.數(shù)字圖像的特征提取是在細(xì)化的基礎(chǔ)上進(jìn)行的.
水尺刻度的三叉點(diǎn)特征表明字符筆畫(huà)的連接關(guān)系,體現(xiàn)待檢測(cè)字符的結(jié)構(gòu)特征.因此,將水尺數(shù)字的三叉點(diǎn)作為特征點(diǎn)能夠很好地保證不同數(shù)字之間的區(qū)分度.利用水尺刻度三叉點(diǎn)的位置特征,構(gòu)造圖像的特征模板,利用模板匹配實(shí)現(xiàn)水尺數(shù)字的機(jī)器自動(dòng)識(shí)別.
二值化后,設(shè)水尺刻度圖像的背景點(diǎn)像素值為0,前景點(diǎn)像素值為1,則圖像各前景像素所對(duì)應(yīng)的T值為
表1 當(dāng)前像素點(diǎn)及其鄰域像素
式中:ti(i=1,2,…,8)表示第i個(gè)像素點(diǎn)處的值.t0表示當(dāng)前點(diǎn).若 T=1,則 t0是端點(diǎn);若 T=2,則 t0是一般的連點(diǎn);若 T=3,則 t0是三叉點(diǎn);若 T=4,則 t0是四叉點(diǎn).像素點(diǎn)分布見(jiàn)表1.
水尺刻度的三叉點(diǎn)特征是從細(xì)化處理后的圖像上提取的,由于提取出的三叉點(diǎn)信息是圖像中多個(gè)彼此相鄰的同類特征點(diǎn)的集合,需要在提取方向信息時(shí)將他們聚類成一個(gè)點(diǎn).三叉點(diǎn)的方向特征按規(guī)定有向上、向下、向左、向右和其他共5類.[11]判別水尺刻度圖像三叉點(diǎn)方向的方法如下:
(1)對(duì)三叉點(diǎn)所在的3×3鄰域的每一行、列進(jìn)行計(jì)數(shù)運(yùn)算,并且只有在該行(列)存在前景點(diǎn)時(shí)才計(jì)數(shù).若三叉點(diǎn)的鄰域中,存在1個(gè)行的計(jì)數(shù)值等于3并且1個(gè)列的計(jì)數(shù)值等于2的點(diǎn),則判定該點(diǎn)的方向?yàn)樯匣蛳?如果三叉點(diǎn)又處在行計(jì)數(shù)為3的行的上方,則判定該點(diǎn)的方向向上,反之向下.
(2)判斷三叉點(diǎn)的左右方向的理論方法與判定上下方向的方法類同.
(3)方向?yàn)槠渌娜纥c(diǎn)標(biāo)記為0.
針對(duì)水尺刻度圖像的三叉點(diǎn)方向進(jìn)行判別后,接著就可以進(jìn)行相應(yīng)的特征模板制作.基于水尺刻度三叉點(diǎn)特征的模板制作步驟:
(1)刪除水尺刻度圖像中數(shù)字區(qū)域以外的無(wú)效區(qū)域,并分別沿高度和寬度方向平均分成3份,得到9個(gè)區(qū)域,根據(jù)新得出的圖像判斷三叉點(diǎn)所在區(qū)域.
(2)另外構(gòu)造零矩陣,高寬為3×3,代表水尺刻度的9個(gè)區(qū)域.經(jīng)過(guò)本文上述部分的聚類處理,將得到的三叉點(diǎn)與步驟(1)中的9個(gè)區(qū)域進(jìn)行比對(duì),對(duì)零矩陣中三叉點(diǎn)所在區(qū)域的賦值為1,從而得到位置特征模板.
按上述模板制作方法將標(biāo)準(zhǔn)的水尺刻度也制作成3×3的標(biāo)準(zhǔn)模板,見(jiàn)表2.
運(yùn)用上述方法對(duì)事先挑選的典型船舶水尺刻度圖像提取三叉點(diǎn)特征制作模板,再對(duì)當(dāng)前水尺刻度圖像用同樣的方法制作樣本模板,就可以利用模板匹配方法進(jìn)行水尺刻度粗分類.首先將待識(shí)別水尺刻度的圖像模板與標(biāo)準(zhǔn)數(shù)字模板逐一進(jìn)行比較,其中設(shè)待識(shí)別水尺刻度模板中各點(diǎn)的值分別為ti(i=1,2,…,9),標(biāo)準(zhǔn)數(shù)字模板中各點(diǎn)的值為 li(i=1,2,…,9).然后計(jì)算這兩個(gè)模板中對(duì)應(yīng)點(diǎn)的差值
表2 標(biāo)準(zhǔn)字符模板及其代表的數(shù)字
式中:T0反映兩個(gè)模板之間的差別,差別越小說(shuō)明兩個(gè)模板越接近.最后,將待識(shí)別模板與所有標(biāo)準(zhǔn)模板逐一比較得出關(guān)于T0的數(shù)組結(jié)果,哪個(gè)模板與待匹配模板最接近則將其歸入相應(yīng)的數(shù)字子類.
將水尺刻度圖像與特征模板進(jìn)行匹配,大部分水尺刻度已能用模板直接加以識(shí)別,從而實(shí)現(xiàn)數(shù)字的粗分類.水尺刻度的數(shù)字被粗分成兩大子類:一類是可以用三叉點(diǎn)特征模板直接識(shí)別的數(shù)字圖像;另一類是不能直接識(shí)別的數(shù)字圖像.從所有制作好的水尺字符的特征模板可以直接看出,除了“0”“1”和“3”“9”這兩組還不能區(qū)分開(kāi)外,其他的水尺數(shù)字及字母“M”都能用三叉點(diǎn)特征模板準(zhǔn)確地區(qū)分,而不能區(qū)分的兩組可以再進(jìn)行細(xì)分類.細(xì)分類的方法很多,基于水尺數(shù)字本身的書(shū)寫(xiě)特征,這里對(duì)“0”“1”采用端點(diǎn)特征區(qū)分,而對(duì)“3”“9”采取三叉點(diǎn)的方向特征進(jìn)行識(shí)別,其中字符“3”的三叉點(diǎn)方向?yàn)?,字符“9”的三叉點(diǎn)方向?yàn)?.
基于上述模板匹配和細(xì)分類方法,可解決模板匹配法中的樣本模板與特征模板尺寸不符、字符長(zhǎng)寬比例不統(tǒng)一等問(wèn)題,有效提高識(shí)別準(zhǔn)確率.
圖3 船舶水尺刻度識(shí)別流程
船舶水尺刻度識(shí)別的實(shí)際處理步驟如下:(1)選取具有代表性的船舶水尺刻度圖像樣本,提取相應(yīng)的數(shù)字特征并建立對(duì)應(yīng)的特征模板;(2)利用攝像機(jī)或數(shù)碼相機(jī)拍攝船舶水尺視頻或圖像,從中截取水尺刻度圖像;(3)定位并提取船舶水尺刻度區(qū)域,預(yù)處理水尺刻度圖像;(4)采用文中改進(jìn)的特征提取方法提取實(shí)際水尺數(shù)字圖像的特征,與水尺刻度特征模板進(jìn)行匹配,匹配結(jié)果即為系統(tǒng)識(shí)別的數(shù)值.水尺圖像數(shù)字刻度識(shí)別流程見(jiàn)圖3.本文方法側(cè)重于水尺刻度的識(shí)別,實(shí)驗(yàn)假定水尺刻度區(qū)域已從原始圖像中準(zhǔn)確提取.
圖4 船舶水尺視頻截圖
圖4為實(shí)際拍攝的船舶水尺視頻截圖,圖5為水尺刻度檢測(cè)過(guò)程中各階段的處理結(jié)果.算法實(shí)現(xiàn)的硬件環(huán)境為 IntelPentium 1.73 GHz,1 GB 內(nèi)存 PC機(jī),軟件平臺(tái)為 Windows XP,Visual C++編程環(huán)境.按照上述實(shí)驗(yàn)流程,對(duì)多次獲取的船舶水尺數(shù)字圖像中共計(jì)1 200個(gè)刻度進(jìn)行識(shí)別.為便于比較,同時(shí)還使用文獻(xiàn)[12]中的算法進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果見(jiàn)表3.表3說(shuō)明,本文方法比文獻(xiàn)[12]算法的數(shù)字識(shí)別率高,因?yàn)樵摲椒苡行Ы鉀Q模板匹配法中的字符圖像與模板尺寸不符等問(wèn)題,減少誤識(shí)率,改善識(shí)別精度.
針對(duì)船舶水尺人工讀取主觀誤差較大的問(wèn)題,提出一種基于圖像處理的船舶水尺刻度識(shí)別方法,對(duì)傳統(tǒng)的水尺圖像特征提取方法進(jìn)行改進(jìn),在圖像預(yù)處理基礎(chǔ)上針對(duì)數(shù)字字符的結(jié)構(gòu)特征提取三叉點(diǎn)特征.利用三叉點(diǎn)的位置和方向構(gòu)造模板數(shù)組進(jìn)行字符分類,然后與構(gòu)造的模板匹配進(jìn)行水尺字符識(shí)別.由于是基于結(jié)構(gòu)特征分析選取特征,故本文方法能夠有效區(qū)分相似字符.同時(shí),使用的特征提取算法計(jì)算過(guò)程簡(jiǎn)單、計(jì)算量小,能夠滿足實(shí)時(shí)性要求.
圖5 船舶水尺刻度識(shí)別各階段處理結(jié)果
表3 本文方法與文獻(xiàn)[12]方法識(shí)別率對(duì)比
[1]孫國(guó)元,徐揚(yáng).船舶電子水尺及其應(yīng)用[C]//中國(guó)航海學(xué)會(huì)通信導(dǎo)航學(xué)術(shù)年會(huì)(1992)論文集.遼寧大連,1992:87-87.
[2]鄭灼輝.一種新型智能化船舶水尺檢測(cè)儀[J].工業(yè)計(jì)量,1999,9(6):38-39.
[3]COMELLI P,F(xiàn)ERRAGINA P.Optical recognition of motor vehicle license plates[J].IEEE Trans Vehicular Technol,1995,44(4):790-799.
[4]羅輝武,唐遠(yuǎn)炎,王翊,等.基于結(jié)構(gòu)特征和灰度特征的車牌字符識(shí)別方法[J].計(jì)算機(jī)科學(xué),2011,38(11):267-302.
[5]金雪丹,施朝健.圖像處理與神經(jīng)網(wǎng)絡(luò)識(shí)別技術(shù)在船舶分類中的應(yīng)用[J].上海海事大學(xué)學(xué)報(bào),2007,28(1):11-16.
[6]王朋,王剛,竇海妮.基于最小距離法的數(shù)字識(shí)別[J].廣西輕工業(yè),2011(3):74-75.
[7]魏暢然.基于穿線法的數(shù)字識(shí)別方法[J].科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì),2010,20(28):137-139.
[8]左丹丹,劉鑫,朱雙東.仿射變換在交通標(biāo)志檢測(cè)中的應(yīng)用[J].寧波大學(xué)學(xué)報(bào):理工版,2011,24(2):42-45.
[9]楊碩,尚振宏.一種新的二維條碼圖像二值化算法[J].昆明理工大學(xué)學(xué)報(bào):理工版,2008,33(1):43-46.
[10]YU Jia,LI Yaqin.Improving Hilditch thinning algorithms for text image[C]//2009 Int Conf on E-Learning,E-Business,Enterprise Infor Syst,and E-Government.Hong Kong:IEEE,2009(5/6):76-79.
[11]宋懷波,路長(zhǎng)厚,李國(guó)平,等.基于三叉點(diǎn)特征的激光刻蝕標(biāo)牌字符識(shí)別[J].光電子·激光,2007,18(12):1465-1468.
[12]路小波,凌小靜,黃衛(wèi).一種基于模板匹配的汽車牌照識(shí)別方法[J].交通與計(jì)算機(jī),2004,22(6):79-82.