朱 峰,戴璞微,潘 斌,郭小明,王玉銘,鐘 凡
?
一種基于細(xì)菌覓食優(yōu)化算法的舌體分割算法
朱 峰1,戴璞微1,潘 斌1,郭小明1,王玉銘1,鐘 凡2
(1. 遼寧石油化工大學(xué),遼寧 撫順 113001;2.山東大學(xué),山東 青島 250101)
針對(duì)醫(yī)學(xué)舌體數(shù)字圖像的準(zhǔn)確分割,提出了一種基于細(xì)菌覓食優(yōu)化算法(BFOA)和Snake活動(dòng)輪廓模型相組合的舌體分割算法。首先,以信息熵與Kapur算法相結(jié)合作為自適應(yīng)函數(shù)來改進(jìn)BFOA算法,通過改進(jìn)的BFOA算法計(jì)算舌體圖像的最佳圖像二值化閾值,并將舌體圖像二值化;然后,利用舌體圖像的對(duì)稱性提取舌體的關(guān)鍵邊緣點(diǎn),并基于B-樣條插值算法由關(guān)鍵點(diǎn)集合插值得到閉合的B-樣條曲線,作為Snake模型的初始輪廓;最后,通過Snake模型計(jì)算求解,即可準(zhǔn)確提取舌體的輪廓曲線。實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法能夠高精度地分割出舌體圖像,并能消除基本Snake模型在初始輪廓曲線選取中存在的人機(jī)交互難題,實(shí)現(xiàn)了舌體圖像的自動(dòng)分割。
舌體分割;細(xì)菌覓食優(yōu)化算法;Snake模型;關(guān)鍵點(diǎn)提取;B-樣條曲線
舌診的核心就是通過觀察患者的舌象深入了解患者機(jī)體的生理機(jī)能和病理變化,從而得知患者的健康情況的一種傳統(tǒng)醫(yī)學(xué)的診察方法,同時(shí)舌診也是傳統(tǒng)中醫(yī)四診的四大核心內(nèi)容之一[1]。然而傳統(tǒng)舌診的診斷結(jié)果正確與否非常依賴于醫(yī)生個(gè)人經(jīng)驗(yàn)以及專業(yè)知識(shí)水平,使診斷結(jié)果帶有強(qiáng)烈的主觀性,導(dǎo)致舌診診斷經(jīng)驗(yàn)不能被足夠客觀地保留與繼承。
醫(yī)療與人工智能的有機(jī)結(jié)合是當(dāng)今時(shí)代的一大熱點(diǎn)問題。就中醫(yī)的舌診而言,實(shí)現(xiàn)利用大數(shù)據(jù)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等技術(shù)對(duì)患者的癥狀進(jìn)行分類的第一步,就是準(zhǔn)確分割醫(yī)療影像中的舌體。所以,有效的舌體分割算法對(duì)于提高舌診準(zhǔn)確率、實(shí)現(xiàn)醫(yī)療智能化都具有非常重要的實(shí)際意義與科研價(jià)值。
當(dāng)前,圖像分割算法主要有閾值分割法、區(qū)域生長法、邊緣分割法以及聚類算法[2-5]等;文獻(xiàn)[6]根據(jù)顏色和空間的相似性,首先利用漂移均值聚類算法對(duì)像素進(jìn)行分類,然后利用舌體主成分分析算法檢測舌體,最后使用張量投票(tensor voting)算法分割舌體區(qū)域;文獻(xiàn)[7]提出了一種基于閾值分割及區(qū)域分裂合并法的舌體分割方法,在實(shí)驗(yàn)圖像的測試中,其分割方法的準(zhǔn)確性較為理想;文獻(xiàn)[8]利用RGB顏色空間和模糊C聚類算法(fuzzy C-means)進(jìn)行唇部區(qū)域的分割;文獻(xiàn)[9]利用彩色閾值函數(shù)來確定圖像閾值,以得到舌體的初始區(qū)域,隨后增強(qiáng)所得區(qū)域的亮度,并在Lab色彩空間中進(jìn)行分割,其實(shí)驗(yàn)中有70%以上的圖片分割達(dá)到較好的效果。實(shí)現(xiàn)自動(dòng)舌診目標(biāo)的第一步,則側(cè)重于使用活動(dòng)輪廓模型從圖像中提取舌體。活動(dòng)輪廓模型也被稱作Snake模型,是一種高效的圖像分割算法。文獻(xiàn)[10]在441張圖片中進(jìn)行測試,得到活動(dòng)輪廓模型Snake的分割準(zhǔn)確率為82%;文獻(xiàn)[11]將分水嶺分割算法與Snake模型相結(jié)合,用于實(shí)驗(yàn)舌體圖像的分割,取得了較為理想的分割效果;文獻(xiàn)[12]闡明雙Snake模型可提高分割的準(zhǔn)確率,與單Snake模型的準(zhǔn)確率相比得到了顯著地提高。文獻(xiàn)[13]首先考慮了舌體的位置和顏色信息,其后利用Snake模型獲得舌體的準(zhǔn)確區(qū)域;文獻(xiàn)[14]利用梯度矢量流(gradient vector flow,GVF)、區(qū)域合并法來實(shí)現(xiàn)舌體自動(dòng)分割,在實(shí)驗(yàn)環(huán)境中取得了較好的效果,但在包括牙齒、唇部特征的圖片中,其分割輪廓的精度則受到了初始分割策略的影響導(dǎo)致效果不佳。上述部分工作,涉及到人機(jī)交互的過程,無法實(shí)現(xiàn)舌體的自動(dòng)分割;也未從根本上解決初始輪廓選擇敏感的問題;在單一的色彩空間對(duì)舌體進(jìn)行分割時(shí),其適用范圍受到一定的限制性,在獲取閾值的精確度問題上不夠理想[15]。
本文針對(duì)Snake模型在圖像分割時(shí)的初始輪廓選擇敏感問題,提出了一種基于細(xì)菌覓食算法和Snake模型相結(jié)合的舌體分割優(yōu)化算法。利用信息熵與Kapur算法[16]相結(jié)合來優(yōu)化細(xì)菌覓食算法,以此獲取舌體圖像的最佳二值化閾值,并利用雙彩色空間結(jié)合的方法得到精準(zhǔn)的二值舌體邊緣圖像。由于舌體屬于對(duì)稱圖像,因此利用舌體的對(duì)稱特性再對(duì)二值圖像進(jìn)行關(guān)鍵點(diǎn)的提取,然后利用 B-樣條插值法得到B-樣條曲線[17],并用其作為Snake模型的初始目標(biāo)輪廓,以實(shí)現(xiàn)舌體圖像的自動(dòng)分割。
具體算法流程如下:
步驟3.2. 用last保存最優(yōu)自適應(yīng)函數(shù)值。
步驟3.4. 前移:翻轉(zhuǎn)后,細(xì)菌沿步驟3.3中所述的向量方向移動(dòng)一個(gè)自適應(yīng)步長的距離,即
步驟3.5. 計(jì)算當(dāng)前細(xì)菌的自適應(yīng)函數(shù)值為
步驟3.6. 游動(dòng)。
圖1 細(xì)菌覓食優(yōu)化算法流程圖
對(duì)式(5)進(jìn)行離散化,得
本文采用多彩色空間分割算法對(duì)舌體圖像預(yù)處理并進(jìn)行圖像二值化。算法如下:
(1) 由于舌體主體為紅色,因此先將原始RGB圖像的R通道進(jìn)行均衡化處理[19],并將處理過的圖像轉(zhuǎn)換至HSV空間,得到HSV圖像;之后分別在 HSV圖像的H和S通道上做圖像均衡化處理,接著采用細(xì)菌覓食算法并以Kapur算法為自適應(yīng)函數(shù),求得最佳閾值,并以其為基準(zhǔn)進(jìn)行圖像二值化,從而獲取舌體的二值圖像(圖2)。
圖2 HSV空間處理示意圖
(2) 將原始的RGB圖像轉(zhuǎn)換到chromatic空間[20],轉(zhuǎn)換公式為
其中,,,分別為RGB顏色空間中的紅、綠、藍(lán)3個(gè)分量;,,分別為chromatic顏色空間中的紅、綠、藍(lán)3個(gè)分量。舌體顏色主要分布為紅色,因此本文選取chromatic顏色空間的通道進(jìn)行處理。利用式(9)求得像素點(diǎn)分量的比例值,和分別為圖像矩陣的行、列數(shù),然后對(duì)chromatic顏色空間圖像進(jìn)行Fisher變換[21],通過式(10)求得圖像分割的二值化閾值,并進(jìn)行圖像二值化操作(圖3)。
(10)
(3) 從圖2可以看出,HSV顏色空間分割得到的圖像能夠更好地展現(xiàn)舌體圖像的一些細(xì)節(jié)信息,而圖3 chromatic彩色空間分割得到的圖像能夠更好地反映舌體圖像的邊緣信息。在雙彩色空間的預(yù)處理中,chromatic空間本質(zhì)是RGB空間的歸一化,紅色在圖中更加明顯,能夠較好地顯示邊緣信息;相比于RGB空間,能夠保留更多細(xì)節(jié)的HSV空間更容易被人接受。因此,2個(gè)顏色空間的預(yù)處理相或后既能保留更多細(xì)節(jié)又能得到明顯邊緣信息,有利于為Snake算法尋找到精確的初始輪廓,使改進(jìn)算法的分割效果優(yōu)于單色空間Snake模型。
綜上,本文對(duì)上述2類圖像進(jìn)行了形態(tài)學(xué)的或運(yùn)算操作,得到了原始圖像的舌體的黑白輪廓。其中或運(yùn)算為
圖4 兩彩色空間二值圖像相或結(jié)果示意圖
上述預(yù)處理流程如圖5所示。
圖5 舌體分割與預(yù)處理流程
3.2.1 關(guān)鍵點(diǎn)提取
在得到精準(zhǔn)舌體輪廓黑白圖像后,開始進(jìn)行關(guān)鍵邊緣點(diǎn)提取流程。由于舌體具有對(duì)稱性,故本文采取對(duì)稱查找的思路進(jìn)行關(guān)鍵邊緣點(diǎn)提取。
步驟1. 在精準(zhǔn)舌體邊緣輪廓黑白圖像中,以輪廓圖寬度的1/2為縱坐標(biāo)找到最左與最右的2個(gè)舌體邊緣角點(diǎn)并記錄2個(gè)點(diǎn)的坐標(biāo)。
步驟2. 以步驟1得到2個(gè)邊緣點(diǎn)的橫坐標(biāo)之和的1/2作為舌體底部關(guān)鍵邊緣點(diǎn)的橫坐標(biāo),然后按列在輪廓圖中查找到最下面的黑色邊緣點(diǎn),并記錄這個(gè)點(diǎn)的坐標(biāo)。
步驟3. 以最左邊角點(diǎn)與最下面點(diǎn)的縱坐標(biāo)的1/2為縱坐標(biāo),按行從左到右遍歷找到最左邊黑色邊緣中點(diǎn)。同理,找到最右邊的黑色邊緣的中點(diǎn)。
步驟4. 以最左角點(diǎn)與最左中點(diǎn)2個(gè)點(diǎn)為基準(zhǔn),計(jì)算其橫坐標(biāo)的2個(gè)3等分點(diǎn)作為關(guān)鍵點(diǎn)的橫坐標(biāo),之后按列向上遍歷,找到合適的黑色邊緣點(diǎn),記錄此2點(diǎn)的坐標(biāo)。同理,分別以最左中點(diǎn)和最下點(diǎn)、最右中點(diǎn)和最下點(diǎn)、最右中點(diǎn)和最右角點(diǎn)、左右角點(diǎn)4對(duì)組合按列遍歷,尋找到合適的關(guān)鍵邊緣點(diǎn),如圖6所示。
圖6 關(guān)鍵點(diǎn)集合示意圖
3.2.2 舌體輪廓的提取
得到的B-樣條曲線效果如圖7所示。上述具體舌體輪廓提取算法流程如圖8所示。
圖7 B-樣條插值效果圖
圖8 舌體輪廓算法流程圖
Snake模型具有很強(qiáng)的實(shí)用性,但傳統(tǒng)的 Snake模型對(duì)于初始輪廓需要盡最大可能去接近實(shí)際的邊緣,才能得到最佳輪廓曲線。所以如果初始輪廓的選擇不當(dāng),那么算法將會(huì)陷入局部最優(yōu)解,以致影響最佳輪廓曲線的獲取。即傳統(tǒng)Snake模型存在初始輪廓選擇敏感的問題,可能在一定程度上影響分割的精度[23]。
為了避免初始輪廓選擇敏感問題,本文提出了一種基于細(xì)菌覓食優(yōu)化算法的改進(jìn)的Snake模型自動(dòng)舌體分割算法。其算法流程如圖9所示。
圖9 本文舌體分割算法流程
算法的具體步驟如下:
步驟1. 讀入采用原始RGB舌體圖像。
步驟2. 進(jìn)行多彩色空間舌體分割??赏瑫r(shí)進(jìn)行2個(gè)步驟:①將R通道均衡化的RGB圖像轉(zhuǎn)換到HSV顏色空間,得到其圖像,并對(duì)H,S通道均衡化。再利用BFOA算法求得圖像二值化的最佳閾值,并將HSV舌體圖像轉(zhuǎn)化為二值圖像;②將R通道均衡化的圖像轉(zhuǎn)換到chromatic顏色空間,并對(duì)其做 Fisher變換,之后轉(zhuǎn)化為二值圖像。最后將兩個(gè)二值圖像進(jìn)行或操作得到最終精準(zhǔn)邊緣圖像。
步驟3. 利用二值圖像進(jìn)行關(guān)鍵點(diǎn)提取,記錄對(duì)應(yīng)坐標(biāo)。對(duì)關(guān)鍵點(diǎn)集合進(jìn)行B-樣條插值,得到B-樣條曲線。
步驟4. 將B-樣條曲線作為Snake模型初始目標(biāo)輪廓線,通過Snake模型得到最終舌體輪廓線。
本文在Windows 10操作系統(tǒng)下,利用Python3與MATLAB相結(jié)合實(shí)現(xiàn)算法,以檢驗(yàn)算法效果。其中,Python代碼在Pycharm集成編譯環(huán)境中運(yùn)行。
對(duì)于舌體分割效果,本文采用手動(dòng)分割的舌體區(qū)域作為參考標(biāo)準(zhǔn),將改進(jìn)算法分割得到的區(qū)域和參考標(biāo)準(zhǔn)區(qū)域的重疊率(percentage of overlap,POL)作為評(píng)價(jià)指標(biāo)[24],稱為準(zhǔn)確率,即
將單彩色空間的分割效果與本文方法進(jìn)行了比較。實(shí)驗(yàn)結(jié)果(表1)表明,利用本文雙彩色空間提取的舌體輪廓更加精確。
表1 本文算法與單彩色空間的實(shí)驗(yàn)對(duì)比
同時(shí),本文額外采用10張人臉舌體圖像,采用相同的評(píng)價(jià)標(biāo)準(zhǔn)將本文算法與其他2種不同算法進(jìn)行對(duì)比,并分別統(tǒng)計(jì)分割的準(zhǔn)確率,如圖10所示。
圖10 3種算法的準(zhǔn)確率比較
此外,本文以其中4張為例,將本文的改進(jìn)算法與傳統(tǒng)Snake模型、文獻(xiàn)[14]提出算法的實(shí)驗(yàn)結(jié)果做比較。對(duì)比的實(shí)驗(yàn)結(jié)果如圖11所示。圖11(a)所示分別對(duì)應(yīng)形狀為U型、O型、V型和W型舌體的傳統(tǒng)Snake模型的分割結(jié)果圖,需要預(yù)先設(shè)置一條原始輪廓曲線,可以看出傳統(tǒng)Snake模型容易陷入局部最優(yōu)解;圖11(b)、(c)分別是文獻(xiàn)[14]和本文算法得到的分割結(jié)果圖,與圖11(b)相比,本文算法有較精確的分割輪廓,且分割結(jié)果更接近實(shí)際輪廓。從圖11中可以看出對(duì)于各種不同形狀的舌體,本文的改良算法較其他2種算法的分割效果更好。
圖11 4型舌體分割結(jié)果對(duì)比圖
針對(duì)Snake模型對(duì)于初始輪廓選擇敏感的問題,本文提出了一種基于細(xì)菌覓食優(yōu)化算法的改進(jìn)的Snake模型自動(dòng)舌體分割算法。利用優(yōu)化的細(xì)菌覓食算法尋求圖像二值化的最佳閾值,并利用雙彩色空間結(jié)合的分割方法,得到精準(zhǔn)的舌體邊緣圖像;接著利用舌體對(duì)稱性進(jìn)行關(guān)鍵點(diǎn)提取,并進(jìn)行B-樣條插值;最后利用得到的B-樣條曲線作為初始輪廓進(jìn)行執(zhí)行Snake模型,得到最終舌體分割圖,對(duì)于Snake模型的智能化執(zhí)行來說具有一定的實(shí)際意義。但是,本文算法在實(shí)驗(yàn)中也表現(xiàn)出部分缺陷,首先,如果舌體主體部分不在整個(gè)舌體圖像中心位置,將不利于舌體的精準(zhǔn)分割;其次,改進(jìn)算法是在光照強(qiáng)度限定的條件下進(jìn)行實(shí)驗(yàn),因此由光照強(qiáng)度差異而引起的圖片清晰度和陰影情況變化給分割帶來的影響需要進(jìn)一步研究;最后,本文所有實(shí)驗(yàn)圖片中患者均為黃種人,因此改進(jìn)算法能否適應(yīng)其他膚色患者有待證明。
[1] ZHANG Y, ZHANG M, ZHU Y, et al. A facile graphene nanosheets-based electrochemical sensor for sensitive detection of honokiol in Traditional Chinese Medicine [J]. Electroanalysis, 2016, 28(3): 508-515.
[2] HOU J L, LI B K. An improved algorithm for horizon detection based on OSTU [C]//International Conference on Intelligent Human-Machine Systems and Cybernetics. Washington, DC: IEEE Computer Society Press, 2015: 414-417.
[3] CHAUGULE A, MALI S N. Area measurement of seed from distorted images for quality seed selection [C]// NirmaUniversity International Conference on Engineering. New York: IEEE Press, 2014: 1-6.
[4] ZHANG D D, ZHAO S. An improved edge detection algorithm based on canny operator [J]. Applied Mechanics & Materials, 2015, 347-350(4): 3541-3545.
[5] DUBEY Y K, MUSHRIF M M. FCM clustering algorithms for segmentation of brain MR images [J]. Advances in Fuzzy Systems, 2016(2016): 1-14.
[6] XU W, KANAWONG R, XU D, et al. An automatic tongue detection and segmentation framework for computer-aided tongue image analysis [J]. International Journal of Functional Informatics and Personalised Medicine, 2011, 4(1): 189-192.
[7] BAI L Y, SHI Y, JIA W U, et al. Automatic extraction of tongue coatings from digital images: A traditional Chinese medicine diagnostic tool [J]. Tsinghua Science and Technology, 2009, 14(2): 170-175.
[8] GHALEH V E C, BEHRAD A. Lip contour extraction using RGB color space and fuzzy c-means clustering [C]// International Conference on Cybernetic Intelligent Systems. New York: IEEE Press, 2011: 1-4.
[9] CHEN L, WANG D, LIU Y, et al. A novel automatic tongue image segmentation algorithm: Color enhancement method based on L*a*b* color space [C]// International Conference on Bioinformatics and Biomedicine. Washington, DC: IEEE Computer Society Press, 2015: 990-993.
[10] LI P H, ZHANG T W. Review on active contour model (Snake model) [J]. Journal of Software, 2000, 11(6): 751-757.
[11] 汪梅, 李琳, 汪斌, 等. 分水嶺算法應(yīng)用于主動(dòng)輪廓模型能量分割算法的研究[J]. 計(jì)算機(jī)科學(xué), 2017, 44(5): 314-319.
[12] ZHAI X, LU H, ZHANG L. Application of image segmentation technique in tongue diagnosis [C]// International Forum on Information Technology and Applications. New York: IEEE Press, 2009: 768-771.
[13] SHI M J, LI G Z, LI F F. C2G2FSnake: Automatic tongue image segmentation utilizing prior knowledge [J]. Science China: Information Sciences, 2013, 56(9): 1-14.
[14] NING J F, ZHANG D, WU C K, et al. Automatic tongue image segmentation based on gradient vector flow and region merging [J]. Neural Computing and Applications, 2012, 21(8): 1819-1826.
[15] 奉小慧, 王偉凝, 吳緒鎮(zhèn). 基于多色彩空間的自適應(yīng)嘴唇區(qū)域定位算法[J]. 計(jì)算機(jī)應(yīng)用, 2009, 29(7): 1924-1927.
[16] NITHYA S, MEENA K. Genetic algorithm based bacterial foraging optimization with three-pass protocol concept for heterogeneous network security enhancement [J]. Journal of Computational Science, 2017, 21(4): 275-282.
[17] ZHANG W J, ZHANG F, ZHAO J H. Research on modification algorithm of cubic B-Spline curve interpolation technology [J]. Applied Mechanics and Materials, 2014, 687-691: 1596-1599.
[18] 蘭紅, 張璐. 分水嶺優(yōu)化的Snake模型肝臟圖像分割[J]. 中國圖象圖形學(xué)報(bào), 2012, 17(7): 873-879.
[19] ZHOU Z HHONG X P. A compact representation of visual speech data using latent variables [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(1): 181-187.
[20] DA F M, SAMENGO I. Derivation of human chromatic discrimination ability from an information-theoretical notion of distance in color space [J]. Neural Computation, 2016, 28(12): 1.
[21] PERRONNIN F, LARLUS D. Fisher vectors meet neural networks: A hybrid classification architecture [C]// Computer Vision and Pattern Recognition. New York: IEEE Press, 2015: 3743-3752.
[22] SHI B H, HE J P. The robot motion trajectory algorithm research based on B-spline and new velocity planning [C]// Control and Decision Conference. New York: IEEE Press, 2016: 5968-5974.
[23] XIE W, DUAN J, SHEN L, et al. Open snake model based on global guidance field for embryo vessel location [J]. IET Computer Vision, 2018, 12(2): 129-137.
Tongue Segmentation Algorithm Based on Improved Bacteria Foraging Optimization Algorithm
ZHU Feng1, DAI Pu-wei1, PAN Bin1, GUO Xiao-ming1, WANG Yu-ming1, ZHONG Fan2
(1. Liaoning Shihua University, Fushun Liaoning 113001, China; 2. Shandong University, Qingdao Shandong 250101, China)
Aimed at the accurate segmentation of medical digital image of tongue, this study proposed a tongue segmentation algorithm based on bacteria foraging optimization algorithm (BFOA) and Snake active contour model. Firstly, information entropy threshold method and Kapur algorithm are combined to improve BFOA, and then the improved BFOA is used to get the optimal threshold value, then binarize the tongue image. Secondly, the key contour points of the tongue coating are extracted according to the symmetry. Finally, the B-spline interpolation is performed by using the key points to obtain the closed B-spline curve as the initial contour of the Snake model, by which the external contour of the tongue edge is accurately extracted. The results show that the proposed algorithm can improve the accuracy of tongue segmentation and reduce human-computer interaction.
tongue segmentation; bacteria foraging optimization algorithm; Snake model; key points extraction; B-spline curve
TP 391
10.11996/JG.j.2095-302X.2019010070
A
2095-302X(2019)01-0070-08
2018-06-29;
2018-07-14
國家自然科學(xué)基金項(xiàng)目(61602228,61572290);遼寧省自然科學(xué)基金項(xiàng)目(2015020041)
朱 峰(1993-),女,遼寧撫順人,碩士研究生。主要研究方向?yàn)橛?jì)算機(jī)圖形學(xué)、數(shù)字圖像處理。E-mail:897827316@qq.com
潘 斌(1981-),男,山東濰坊人,副教授,博士,碩士生導(dǎo)師。主要研究方向?yàn)橛?jì)算機(jī)圖形學(xué)、數(shù)字圖像處理。E-mail:panbin@lnpu.edu. cn