崔巖
(天津中醫(yī)藥大學(xué)公共課教學(xué)部)
一種基于模板匹配的ColorChecker定位分割算法
崔巖
(天津中醫(yī)藥大學(xué)公共課教學(xué)部)
提出一種基于模板匹配的ColorChecker定位分割算法,該算法不需要使用顏色值等信息,避免拍攝環(huán)境差異造成的定位失敗。經(jīng)過實驗確定參數(shù)后,成功用于1400例舌部圖像中ColorChecker的定位。經(jīng)過改進后,該算法可以進一步提高效率,并用于進一步的開發(fā)。
ColorChecker;定位;分割;算法
天津市衛(wèi)生與計劃委員會中醫(yī)中西醫(yī)結(jié)合科研課題(No.2015081)
ColorChecker被廣泛的用于圖像的標準化采集。這一裝置被廣泛地應(yīng)用在數(shù)碼照相、印刷等領(lǐng)域[1-2]。采集時,它被置于采集對象附近,連同被采集對象一同拍攝。而后使用專用的軟件完成定位、分割和顏色校正。盡管廠家提供了專門軟件完成一系列工作,但是因為沒有源代碼或者應(yīng)用編程接口(API),所以這些專門軟件無法用于二次開發(fā)。在舌部圖像標準化采集的過程中,拍攝環(huán)境受到嚴格限制,為定位分割ColorChecker提供了良好的環(huán)境,因此在此環(huán)境下開發(fā)算法難度較低。模板匹配是一種相對簡易的定位方法,在這類嚴格限制的條件下編程簡易,效果較好[3]。
基于模板匹配的ColorChecker定位和分割算法,包含以下幾個步驟。首先,需要通過欠采樣和標準差將圖像轉(zhuǎn)換為合適尺寸的二值圖像,其次要通過模式匹配找到ColorChecker所在位置的坐標。在第一步中,需要為后續(xù)步驟做好準備形成較容易且算法代價較低的圖像。傳統(tǒng)的邊界檢測多用差分或者微分實現(xiàn)。這種計算方法,計算數(shù)值微分代價較大。使用差分時,需要確定差分的閾值,對于某些色塊,無法有效的檢測出邊界,例如左上角的黑色塊,顏色值幾乎沒有差別,如圖1。此外,由于不同色塊與背景顏色差不同,每個色塊都需要確定閾值。由于受到采集環(huán)境的影響,無法預(yù)知色塊拍攝出的顏色值,也就無法確定閾值。即使用這類方法取得邊界,所得的邊界因為各種因素中斷、扭曲,對進一步的處理造成影響。由于ColorChecker上色塊、背景內(nèi)顏色一致,所以臨近像素的標準差對于顏色值的變化有著非常高的敏感度。這一指標不僅不用計算數(shù)值微分,而且不需要顏色值和確定閾值。而且一定數(shù)量的像素范圍內(nèi)的標準差,很好地解決了個別像素因為拍攝設(shè)備等問題出現(xiàn)異常值造成邊界中斷,提高了算法的穩(wěn)定性。此外,還需要對圖像進行欠采樣。欠采樣后圖像縮小,運算量降低,提高了計算速度。在測試中,可以采用少量的圖像實驗確定圖像縮小比例以及求標準差的鄰近像素數(shù)。最后,通過判斷標準差將圖像二值化成為黑白圖像。
在模式匹配這一步驟,整圖匹配需要搜索整張圖片。盡管經(jīng)過縮小,匹配效率仍舊較低。為此,可以將圖像整體轉(zhuǎn)換為模式串,而后匹配速度可以提高。轉(zhuǎn)換的方法為首先將整張圖像設(shè)置為模式o,而后將某一范圍內(nèi)連續(xù)出現(xiàn)的黑色或者白色像素變?yōu)閟或者l兩種模式。同樣可以通過少量圖像實驗,確定l和s對應(yīng)的連續(xù)出現(xiàn)像素的個數(shù)。在x或者y軸先行轉(zhuǎn)換后,在另一軸再次轉(zhuǎn)換,即可得到最終的模式圖像。此時進行模式串匹配,僅需要一次查找字符串操作即可完成模式串匹配。
圖1 使用差分閾值判定邊界時,色塊邊界出現(xiàn)了中斷。圖中為ColorChecker左上角接近于背景色的兩個色塊。
最終設(shè)計出的基于模板匹配的ColorChecker定位和分割算法見表1。首先通過欠采樣將原始圖像縮小為原來的1/n2。而后通過臨近b像素值的標準差判別將圖像二值化。最后通過模式匹配,找到ColorChecker的位置并分割,保存圖像。
表1 基于模板匹配的ColorChecker定位和分割算法
因為涉及到大量的矩陣元素操作,程序通過R語言實現(xiàn),版本為2.15.2,也可以在3.3.0版本運行[4]。
使用從體檢中心采集的1400例舌部圖像運行該算法。這些圖像使用改進型YM-III型舌診儀,佳能1100D數(shù)碼相機采集,每幅圖像像素數(shù)為4272×2848。首先通過在10幅圖像試運行確定參數(shù)范圍。最終確定n值為4,b值為2,s取值范圍為2到8,l為40到55。測試運行的結(jié)果見圖2。
圖2 測試實驗結(jié)果。左:欠采樣后的圖像,中:二值化后的圖像,右:分離后的ColorChecker。
實際運行中因為ColorChecker還可以用于定位舌部圖像,因此加入了剪裁圖像的功能,得到的結(jié)果見圖3。處理1400幅圖像,共用時23小時13分17秒。
圖3 實際運行結(jié)果。為了進一步減少未來工作的壓力,加入了圖片剪裁功能。
本文提出了一種基于模板匹配的ColorChecker定位分割算法,并成功地應(yīng)用在圖像預(yù)處理。這一算法不需要ColorChecker的顏色信息,而使用圖像中邊界信息。因此只要其全部位于圖像內(nèi)就可以定位并分割。但是該方法對無法處理過度傾斜、ColorChecker面積不足等圖像,需要進一步改進。此外,舌部圖像是在嚴格限制的環(huán)境下采集的,所以圖片上沒有出現(xiàn)光斑、遮擋等噪聲,如何處理這些噪聲,也是需要進一步需要研究和改進的。此外,作為實驗算法,這一算法使用效率較低的語言編寫而成,在使用的過程中可以改用MATLAB或者其他語言重寫以提高效率。也可以經(jīng)過簡單改造,用于不同的環(huán)境下 (本文受天津市衛(wèi)生與計劃委員會中醫(yī)中西醫(yī)結(jié)合科研課題2015081資助)。
[1]徐廣輝,石俊生,黃小喬等.利用自然光照明辦公環(huán)境特性化相機校正手掌顏色的研究[J].云南師范大學(xué)學(xué)報(自然科學(xué)版),2013,05:48-53.
[2]梁靜,趙輝.基于ProfileMaker的數(shù)碼相機色彩管理實施方案[J].數(shù)碼印刷,2009,02:44-46.
[3]張靖婭,劉昶,劉麗萍.一種特征加權(quán)模板匹配的鋼板噴印字符識別方法[J].沈陽理工大學(xué)學(xué)報,2015,06:72-76.
[4]R Core Team(2016).R:A Language and Environment for Statistical Computing.R Foundation for Statistical Computing,Vienna,Austria.URL https://www.R-project.org/.
ColorChecker;Positioning;Segmentation;Algorithm
A Positioning and Segmentation Algorithm for ColorChecker Based on Template Matching
CUI Yan
(Department of Common Required Courses,Tianjin University of Traditional Chinese Medicine,Tianjin 300193)
Proposes a positioning and segmentation algorithm for ColorChecker based on template matching,this algorithm avoids using color value because its difference will lead to unsuccessfully positioning.After tuning parameters,this algorithm segments colorcheckers in 1400 tongue images successfully.Modifications for this algorithm will lead more efficient and can be used in other developments.
1007-1423(2016)29-0078-03
10.3969/j.issn.1007-1423.2016.29.019
崔巖,男,天津市人,碩士,副教授,研究方向為模式識別與智能系統(tǒng),Email:cuiyan_tju@126.com或cuiyan@tjutcm.edu.cn
2016-08-16
2016-09-19