呂銘軒,陳兆學(xué)
(上海理工大學(xué) 醫(yī)療器械與食品學(xué)院,上海 200093)
結(jié)核病是因機(jī)體感染結(jié)核分枝桿菌所引起的一種慢性傳染病。據(jù)統(tǒng)計(jì),中國(guó)每年因結(jié)核病死亡的人數(shù)高達(dá)13 萬(wàn)。因此,對(duì)結(jié)核病潛伏期感染的診斷以及防治工作十分重要。研究表明,結(jié)核感染T 細(xì)胞檢測(cè),對(duì)結(jié)核病具有較低的不確定性和良好的特異性,是近年來(lái)國(guó)內(nèi)外結(jié)核感染診斷的一種可靠方法。該方法中,T 細(xì)胞斑點(diǎn)數(shù)量是診斷患者是否結(jié)核感染的依據(jù),快速且準(zhǔn)確地檢測(cè)出菌斑數(shù)量是臨床研究的一個(gè)重點(diǎn)和難點(diǎn)問(wèn)題。隨著計(jì)算機(jī)技術(shù)高速發(fā)展和圖像處理技術(shù)日趨成熟,利用計(jì)算機(jī)自動(dòng)計(jì)數(shù)來(lái)取代耗時(shí)長(zhǎng)、效率低的傳統(tǒng)人工計(jì)數(shù)已是大勢(shì)所趨。
針對(duì)于此,研究人員提出了各種菌落自動(dòng)分割和計(jì)數(shù)算法。如:Mohammad I Shah提出了一種基于分水嶺分割的細(xì)菌自動(dòng)檢測(cè)和分類(lèi)方法,在分水嶺分割之前加入預(yù)處理技術(shù),用于去除大于或小于細(xì)菌的偽影和干擾目標(biāo),最終對(duì)結(jié)核陽(yáng)性圖像細(xì)菌檢測(cè)的靈敏度和精確度達(dá)到90.3%和77%。桑艷艷等提出了一種針對(duì)菌落圖像改進(jìn)的分水嶺分割算法。在分割之前先對(duì)圖像進(jìn)行倒角距離變換和形態(tài)學(xué)處理,再利用區(qū)域合并算法聚集圖像相似區(qū)域,很好地抑制了分水嶺算法的過(guò)分割現(xiàn)象。張力新等提出了一種基于改進(jìn)水平集的全自動(dòng)菌落分割計(jì)數(shù)方法。該方法利用偏置場(chǎng)對(duì)背景建模來(lái)消除背景灰度的不均勻性,并構(gòu)造了多相水平集算法,實(shí)現(xiàn)菌落目標(biāo)的自適應(yīng)分割。雖然以上算法在各自的實(shí)驗(yàn)對(duì)象上都取得了不錯(cuò)的分割效果,但由于在T細(xì)胞斑點(diǎn)試驗(yàn)中,形成的不同菌斑區(qū)域之間的灰度及形狀大小往往會(huì)存在很大差異,而當(dāng)前已有的菌斑自動(dòng)計(jì)數(shù)算法大多是針對(duì)特定類(lèi)型的菌斑圖像進(jìn)行研究的,針對(duì)性較強(qiáng)但魯棒性差,難以對(duì)T 細(xì)胞菌斑圖像實(shí)現(xiàn)自適應(yīng)和精準(zhǔn)的分割。
為解決T 細(xì)胞粘連菌斑圖像的分割和計(jì)數(shù)問(wèn)題,本文設(shè)計(jì)了一種基于改進(jìn)分水嶺算法的全自動(dòng)T 細(xì)胞菌斑分割的計(jì)數(shù)算法。
在T 細(xì)胞斑點(diǎn)試驗(yàn)中,抗原刺激誘導(dǎo)的斑點(diǎn)特征是清晰的深色圓點(diǎn),實(shí)際計(jì)數(shù)應(yīng)忽略小的及不清晰的斑點(diǎn),僅對(duì)清晰的斑點(diǎn)進(jìn)行計(jì)數(shù)。圖1 所示為人工計(jì)數(shù)的6 組樣例。
圖1 計(jì)數(shù)規(guī)則示例圖Fig.1 Example diagram of counting rules
根據(jù)T 細(xì)胞菌斑圖像的特點(diǎn)和相關(guān)計(jì)數(shù)規(guī)定,本文設(shè)計(jì)的改進(jìn)分水嶺分割方法的過(guò)程主要包括以下3個(gè)基本步驟:
(1)預(yù)處理:包括消除背景和對(duì)圖像進(jìn)行濾波降噪,主要目的是去除無(wú)效區(qū)域和噪聲干擾,增強(qiáng)圖像質(zhì)量。
(2)粘連區(qū)域識(shí)別:通過(guò)閾值分割、形態(tài)學(xué)處理和面積濾波等方法,找出圖像中的大面積菌斑區(qū)域。
(3)分割計(jì)數(shù):將圖像分為大面積菌斑區(qū)域和小面積菌斑區(qū)域,利用標(biāo)記分水嶺算法分別對(duì)兩類(lèi)區(qū)域進(jìn)行分割,合并分割結(jié)果并統(tǒng)計(jì)連通域數(shù)目得到最終計(jì)數(shù)結(jié)果。系統(tǒng)整體流程如圖2 所示。
圖2 T 細(xì)胞菌斑圖像自動(dòng)分割和計(jì)數(shù)算法流程Fig.2 Algorithm flow for automatic segmentation and counting of T cell plaque images
原始菌斑圖像如圖3(a)所示。原始菌斑圖像常包含環(huán)境背景,如顯微設(shè)備光源對(duì)細(xì)胞圖像的鏡像反射部分及其干擾區(qū)域。為了避免這些因素對(duì)圖像處理的影響,同時(shí)減少計(jì)算負(fù)擔(dān)、提高算法效率,需先將目標(biāo)培養(yǎng)皿識(shí)別并提取出來(lái)。本文使用霍夫變換提取出培養(yǎng)皿區(qū)域,消除背景干擾?;舴蜃儞Q是圖像處理中常用的檢測(cè)算法,能夠從較大的噪聲環(huán)境中提取出圖像里具有某種相同特征的幾何形狀(如直線(xiàn)、圓等)。本文基于霍夫變換實(shí)現(xiàn)圓形圖像目標(biāo)檢測(cè)方法實(shí)現(xiàn)原理為:首先對(duì)原始圖像進(jìn)行二值化處理,通過(guò)邊緣檢測(cè)獲取圖像邊界點(diǎn)。如果圖像中存在圓形,那么圓的輪廓一定屬于邊界點(diǎn)。圓的邊緣點(diǎn)的一般表達(dá)式為:
其中,(,)為圓心,(X,Y)為圓上的點(diǎn),即待檢測(cè)圓所對(duì)應(yīng)邊界點(diǎn)。
若轉(zhuǎn)換一下視角,把(X,Y)看成圓心坐標(biāo),(,)理論上當(dāng)對(duì)應(yīng)以各邊緣點(diǎn)為圓心、半徑為的一系列圓的公共交點(diǎn)。因?yàn)閿?shù)字圖像中圓形表達(dá)的誤差和邊界點(diǎn)檢測(cè)誤差的存在,各圓之交點(diǎn)實(shí)際上分布在以(,)點(diǎn)為中心的一個(gè)小區(qū)域中,而半徑也有微小誤差。因此,霍夫變換常常首先限定一個(gè)包含圓心坐標(biāo)的二維區(qū)域,基于枚舉其中(,)組合,并針對(duì)所有邊緣點(diǎn)(X,Y)依照式(1)進(jìn)行計(jì)算,對(duì)所得的在預(yù)估的(,,)參數(shù)空間中的對(duì)應(yīng)位置進(jìn)行投票,最后選取得票數(shù)最多的(,,)參數(shù)組合,作為圖像中所檢測(cè)到的圓的參數(shù)。本文基于該方法可以確定培養(yǎng)皿所對(duì)應(yīng)圓的圓心和半徑參數(shù),進(jìn)而獲得有效的培養(yǎng)皿區(qū)域。經(jīng)霍夫變換得到的結(jié)果如圖3(b)所示。
圖3 原始圖像和提取出的有效計(jì)數(shù)區(qū)域Fig.3 Original image and extracted effective counting area
通過(guò)濾波處理,消除圖像數(shù)據(jù)中可能存在的一些噪聲污染。本文分別使用均值濾波、中值濾波、雙邊濾波對(duì)圖像進(jìn)行處理。通過(guò)實(shí)驗(yàn)對(duì)比發(fā)現(xiàn):均值濾波處理后的菌斑圖像會(huì)變模糊,會(huì)導(dǎo)致后續(xù)的粘連菌斑的識(shí)別非常困難。雙邊濾波計(jì)算量較大,實(shí)驗(yàn)中取到的原始菌斑圖像大小均為3 288×4 608,因此耗時(shí)過(guò)長(zhǎng)。中值濾波在平滑脈沖噪聲方面有很好的去噪效果,同時(shí)還保留了圖像的尖銳邊緣,但可能會(huì)將圖像中的細(xì)小菌斑當(dāng)成噪聲誤處理掉,而本文中T 細(xì)胞菌斑計(jì)數(shù)任務(wù)要求忽略小的斑點(diǎn),正好將此缺點(diǎn)轉(zhuǎn)換成了優(yōu)勢(shì)。因此中值濾波非常適合本論文算法的處理要求。圖4 分別是均值濾波和中值濾波處理后的結(jié)果。從中可以看出,與均值濾波相比,中值濾波結(jié)果的對(duì)比度更好。
圖4 濾波效果的比較Fig.4 Comparison of filtering effects
把灰度圖像轉(zhuǎn)化為二值圖像時(shí),通常是設(shè)定一個(gè)灰度閾值,根據(jù)圖像中每個(gè)像素點(diǎn)的灰度是否達(dá)到該閾值,來(lái)判斷該點(diǎn)屬于背景區(qū)域還是目標(biāo)區(qū)域。其公式如下:
其中,是設(shè)定的閾值,確定合適的值是達(dá)到好的分割效果的關(guān)鍵。
二值分割常用的方法是最大類(lèi)間方差(Qstu)法,直接使用該方法得到的效果如圖5(a)所示??梢钥吹?,部分背景區(qū)域被劃分到了目標(biāo)區(qū)域,尤其是菌斑粘連的區(qū)域,輪廓失真較為嚴(yán)重,這與培養(yǎng)皿圖像中包含大量灰度與背景十分接近的菌斑區(qū)域相關(guān)。因此,對(duì)于本文研究的菌斑圖像,單一閾值的分割效果往往不盡人意,若采用局部閾值算法,則計(jì)算量又過(guò)大。為此,本文根據(jù)菌斑圖像的特點(diǎn),使用一種改進(jìn)的閾值解決該問(wèn)題,其具體算法是:把最大類(lèi)間方差法得到的二值化圖像看成一個(gè)掩膜,與原圖像相乘,得到不含菌斑的背景部分;計(jì)算背景部分的平均灰度得到閾值,再基于閾值得到最后的二值化結(jié)果。本文算法的處理結(jié)果圖5(b)所示,可見(jiàn)其分割效果得到了明顯改善。
圖5 二值化效果圖對(duì)比Fig.5 Comparison of binarization effect diagrams
本次研究使用分水嶺算法對(duì)圖像進(jìn)行分割,該算法的思想源自于地形學(xué),其原理是把一幅圖像視為跌宕起伏的地形曲面,采用浸水模型對(duì)圖像進(jìn)行分割。傳統(tǒng)分水嶺算法對(duì)細(xì)微邊緣、噪聲和細(xì)小的灰度變化敏感,將其直接用于梯度圖像時(shí),噪聲和梯度的其它局部不規(guī)則性常常會(huì)導(dǎo)致過(guò)分割。解決該問(wèn)題的一種方法是加入一個(gè)預(yù)處理階段,將其他相關(guān)知識(shí)帶到分割過(guò)程中,從而限制允許的區(qū)域數(shù)目。通過(guò)對(duì)標(biāo)記符的控制來(lái)抑制過(guò)量分割區(qū)域的產(chǎn)生。具體實(shí)現(xiàn)方法分為以下幾步:
第一步:對(duì)二值化處理后的圖像進(jìn)行歐氏距離變換,得到一副灰度圖像;對(duì)該圖像使用分水嶺變換得到分,即標(biāo)記背景標(biāo)記。
第二步:利用擴(kuò)展最小值變換,提取圖像的局部極小值作為內(nèi)部標(biāo)記符。
第三步:利用強(qiáng)制最小技術(shù)產(chǎn)生梯度圖像的局部最小值,對(duì)修改后的圖像進(jìn)行分水嶺分割。完成分割后,采用四鄰域標(biāo)準(zhǔn)遍歷搜索圖像連通域,標(biāo)記排序每個(gè)連通域?qū)崿F(xiàn)計(jì)數(shù)。
擴(kuò)展最小值變換在Matlab 中可以直接調(diào)用函數(shù)(,)來(lái)實(shí)現(xiàn)。其中,是輸入圖像,為最小值變換的區(qū)域最小值,參數(shù)的選取會(huì)影響最終分割結(jié)果。圖6 是直接使用標(biāo)記分水嶺算法分割后的部分區(qū)域結(jié)果,其中圖6(a)參數(shù)設(shè)置為50,部分粘連區(qū)域的菌斑無(wú)法被準(zhǔn)確分割出來(lái),圖6(b)參數(shù)設(shè)置10 時(shí),產(chǎn)生了大量過(guò)分割現(xiàn)象。通過(guò)多次改變參數(shù)發(fā)現(xiàn),由于T 細(xì)胞菌斑圖像本身的特點(diǎn),無(wú)論怎么改變參數(shù),對(duì)全局進(jìn)行一次性標(biāo)記分水嶺分割得到的結(jié)果均無(wú)法令人滿(mǎn)意。
圖6 傳統(tǒng)分水嶺算法處理后的部分區(qū)域Fig.6 Part of the area processed by the traditional watershed algorithm
為了解決上述問(wèn)題,本文結(jié)合形態(tài)學(xué)處理和面積濾波技術(shù),對(duì)分水嶺算法進(jìn)行了改進(jìn)。在分割前對(duì)圖像進(jìn)行粘連區(qū)域識(shí)別,并根據(jù)菌斑面積的大小,將圖像分成兩個(gè)部分。具體實(shí)現(xiàn)方法如下:
第一步:對(duì)二值化后的圖像進(jìn)行形態(tài)學(xué)處理。
第二步:對(duì)形態(tài)學(xué)處理后的圖像進(jìn)行連通域統(tǒng)計(jì),設(shè)定一個(gè)面積閾值,根據(jù)菌斑面積的大小將圖像分成兩個(gè)區(qū)域。
第三步:分別對(duì)兩個(gè)區(qū)域的圖像進(jìn)行分水嶺分割,合并兩幅圖像得到最終分割結(jié)果。
利用形態(tài)學(xué)中最基本的膨脹和腐蝕運(yùn)算,可以進(jìn)一步對(duì)二值化圖像進(jìn)行處理,以改善分割效果。
膨脹運(yùn)算公式為:
式中,為待處理圖像,為結(jié)構(gòu)元素。
圖像被結(jié)構(gòu)元素所膨脹,實(shí)際就是計(jì)算該點(diǎn)局部范圍內(nèi)各點(diǎn)與結(jié)構(gòu)元素中對(duì)應(yīng)點(diǎn)的灰度值相加,并選取最大值作為該點(diǎn)的膨脹結(jié)果。該運(yùn)算可以起到邊界點(diǎn)擴(kuò)充和連接內(nèi)部縫隙的作用。
腐蝕運(yùn)算可以切斷粘連對(duì)象間的細(xì)小連接,消除細(xì)小噪聲,其運(yùn)算公式為:
通過(guò)對(duì)這兩種算法不同順序的結(jié)合使用,以及對(duì)不同形狀大小的結(jié)構(gòu)元素的選取,可以擴(kuò)展形態(tài)學(xué)圖像處理。如圖7 所示。
圖7 形態(tài)學(xué)處理前后的對(duì)比圖Fig.7 Comparison chart before and after morphological processing
圖7(a)是形態(tài)學(xué)處理前的圖像,從中選取了3處細(xì)節(jié)放大,由此可見(jiàn)圖像中存在的問(wèn)題:
(1)對(duì)象輪廓十分粗糙,整體存在很多雜質(zhì)和噪聲。
(2)對(duì)象間存在細(xì)小連接。
(3)對(duì)象內(nèi)部有小孔洞。
圖7(b)是選取半徑為5的圓形結(jié)構(gòu)元素,對(duì)圖像進(jìn)行先腐蝕再膨脹得到的結(jié)果。從局部放大圖中可以看到,形態(tài)學(xué)處理可以讓菌落輪廓變得光滑,同時(shí)剔除了一些雜質(zhì)點(diǎn)和偽菌落。
對(duì)形態(tài)學(xué)處理后的圖像進(jìn)行連通域統(tǒng)計(jì),并通過(guò)面積濾波刪除小面積對(duì)象,將得到的新二值圖像構(gòu)成一個(gè)掩膜。將該掩膜與原圖像相乘,并把其它部分置為背景灰度,得到圖像的大面積菌斑區(qū)域。在這一過(guò)程中,本文設(shè)置的面積閾值為50,即像素點(diǎn)大于50的區(qū)域被視為大面積菌斑區(qū)域,該區(qū)域包含粘連菌斑,需要進(jìn)一步進(jìn)行二次分割提高計(jì)數(shù)精度。如圖8 所示,圖8(a)是大面積菌斑區(qū)域,包含了所有粘連菌斑。圖8(b)是小面積菌斑區(qū)域,包含了所有滿(mǎn)足計(jì)數(shù)條件的菌斑。
圖8 大面積菌斑區(qū)域和小面積菌斑區(qū)域Fig.8 Large plaque area and small plaque area
使用改進(jìn)后的算法得到結(jié)果如圖9 所示,其中圖9(a)是對(duì)圖像的第一次分割,僅檢測(cè)面積較小的菌斑區(qū)域,所有被檢測(cè)出來(lái)的菌斑均用“+”符號(hào)標(biāo)記。圖9(b)是針對(duì)面積較大菌斑區(qū)域的二次分割??梢钥闯?,粘連區(qū)域的菌斑被準(zhǔn)確識(shí)別并用“.”符號(hào)標(biāo)記出來(lái)。合并兩次處理結(jié)果得到的最終效果如圖10 所示。結(jié)果表明,本文算法能夠精準(zhǔn)的識(shí)別出粘連菌斑,同時(shí)能有效排除面積或灰度未達(dá)到計(jì)數(shù)規(guī)定的菌斑。
圖9 本文算法處理后的部分區(qū)域Fig.9 Part of the area processed by the algorithm in this paper
圖10 本文算法最終結(jié)果Fig.10 The final result of the algorithm in this paper
為了測(cè)試本文算法的有效性和穩(wěn)定性,對(duì)復(fù)星醫(yī)藥集團(tuán)股份公司提供的一組菌斑圖像進(jìn)行實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)選取的原始圖片大小均為3 288×4 608;實(shí)驗(yàn)平臺(tái)為window10、CPU 為AMD3900X、MATLAB版本為2019b。
通過(guò)與傳統(tǒng)標(biāo)記分水嶺算法的計(jì)數(shù)結(jié)果以及人工計(jì)數(shù)結(jié)果進(jìn)行比對(duì),來(lái)驗(yàn)證本文算法的有效性。圖11 是選取的4個(gè)具有代表性的菌斑樣本的分割結(jié)果。其中,培養(yǎng)皿A 透光均勻,菌斑清晰可見(jiàn)且數(shù)量很少,幾乎沒(méi)有粘連現(xiàn)象,計(jì)數(shù)最為簡(jiǎn)單;培養(yǎng)皿B 存在部分粘連菌斑,總體菌落相對(duì)較清晰,是本次實(shí)驗(yàn)中最常見(jiàn)的一類(lèi)圖像;培養(yǎng)皿C 中的菌落分布比較密集,對(duì)于這一類(lèi)圖像,人工計(jì)數(shù)比較吃力;培養(yǎng)皿D 中的菌斑灰度非常不均勻,偽陰影過(guò)多且粘連現(xiàn)象太過(guò)嚴(yán)重,即使是肉眼也難以分辨。表1 是圖11 中的計(jì)數(shù)結(jié)果以及對(duì)剩余50 多個(gè)菌斑樣本計(jì)數(shù)的平均結(jié)果。其中,人工計(jì)數(shù)的結(jié)果是由10個(gè)人分別計(jì)數(shù),去掉最大值和最小值取平均得到的。準(zhǔn)確率由該算法得到的計(jì)數(shù)結(jié)果除以人工計(jì)數(shù)結(jié)果得到。
圖11 培養(yǎng)皿圖像的分割結(jié)果Fig.11 Select the segmentation results of four petri dish images
表1 結(jié)核感染T 細(xì)胞菌斑圖像計(jì)數(shù)結(jié)果Tab.1 Results of image count of plaque of T cells infected by tuberculosis
實(shí)驗(yàn)結(jié)果表明,除了少量如培養(yǎng)皿D 這一類(lèi)的菌斑圖像(實(shí)際臨床得到的這種圖像通常都是斑點(diǎn)飽和的陽(yáng)性對(duì)照,不需要準(zhǔn)確計(jì)數(shù)。),本文的算法對(duì)結(jié)核感染T 細(xì)胞菌斑圖像的檢測(cè)準(zhǔn)確率均在95%以上,耗時(shí)30 s 以?xún)?nèi)。相較于傳統(tǒng)的標(biāo)記分水嶺算法,本文算法大大提高了計(jì)數(shù)精度。
本文根據(jù)T 細(xì)胞菌斑圖像的特點(diǎn),設(shè)計(jì)了一種基于改進(jìn)分水嶺算法的菌斑檢測(cè)方法。在傳統(tǒng)標(biāo)記分水嶺算法的基礎(chǔ)上,加入了一個(gè)粘連區(qū)域識(shí)別的階段,通過(guò)把圖像分成兩部分并分別分割,大大提高了分割精度,有效抑制了傳統(tǒng)分水嶺算法的過(guò)分割現(xiàn)象。實(shí)驗(yàn)證明,本文的算法滿(mǎn)足T 細(xì)胞菌斑圖像的計(jì)數(shù)要求,對(duì)T 細(xì)胞菌斑圖像有良好的分割效果。由于本文算法只需稍作修改,因此也適用于其它具有類(lèi)似特征的菌斑或細(xì)胞圖像的分割,應(yīng)用前景較廣。