本發(fā)明屬于醫(yī)學數(shù)字圖像處理領域,具體指的是一種白帶顯微圖像中白細胞的自動識別算法。
背景技術:
白帶是女性陰道的分泌物,白帶中白細胞的檢測是判定女性生殖系統(tǒng)是否健康的重要條件。傳統(tǒng)的顯微細胞檢測大多為人工鏡檢,這種方法操作時間長、工作強度大、易污染環(huán)境、受主觀的影響,不利于臨床診斷。近年來,隨著人工智能研究的發(fā)展和生物醫(yī)學圖像處理技術的提高,對顯微細胞圖像采用圖像處理技術進行有形成分的自動識別已成為現(xiàn)實。在面對細胞成分復雜、粘連嚴重、散焦嚴重、對比度不高的情況下,提出了與之對應的圖像預處理、圖像分割、特征提取和自動識別技術算法。這大大降低了醫(yī)務人員的工作強度,提高了診斷的有效性。本算法通過研究和比較傳統(tǒng)的圖像預處理方法、閾值分割法和邊緣檢測法以及數(shù)學形態(tài)學等方法在顯微細胞特征提取中的應用,提出了一種基于Sobel算子邊緣提取結(jié)合形態(tài)學操作的特征分割方法,并利用BP神經(jīng)網(wǎng)絡誤差訓練方法對白帶中白細胞的特征進行自動識別。
技術實現(xiàn)要素:
本發(fā)明的目的是針對醫(yī)院白帶檢測中現(xiàn)有技術的不足,設計了一種基于白帶顯微圖像中白細胞的自動識別的算法,從而達到快速、準確的識別出細胞的目的。
本發(fā)明技術方案是一種白帶顯微圖像中白細胞的自動識別方法,該方法包括如下步驟:
步驟1:使用顯微成像系統(tǒng)采集有形細胞圖像;
步驟2:對細胞圖像進行灰度處理,得到灰度圖像;
步驟3:對步驟2得到的灰度圖像采用中值濾波去噪,得到去噪后的圖像;
步驟4:對步驟3的圖像利用直方圖均衡化的方法增強圖像的對比度,得到灰度增強后的圖像;
步驟5:對步驟4得到的圖像采用Sobel算子提取邊緣,得到邊緣圖像;
步驟6:對步驟5得到的圖像進行膨脹,得到膨脹后的圖像;
步驟7:對步驟6得到的圖像進行閉運算,得到閉運算后的圖像;
步驟8:對步驟7得到的閉運算后的圖像進行連通區(qū)域標記,獲取每個連通區(qū)域的坐標并根據(jù)標號提取相應的區(qū)域;
步驟9:對步驟8標記后的圖像,計算各個連通區(qū)域的面積和外接矩形的長以及寬;
步驟10:根據(jù)白細胞的實際大小,利用步驟9計算出來的連通區(qū)域的面積和外接矩形的長、寬對閉運算后的圖像進行初步篩選;
步驟11:根據(jù)步驟10保留下來連通區(qū)域的坐標,在步驟4得到的圖像中裁剪出對應的各連通區(qū)域小圖;
步驟12:對步驟11得到的各連通區(qū)域小圖二值化,得到二值化的圖;
步驟13:將步驟12得到的圖取反,得到二值化取反后的圖;
步驟14:對步驟13得到的各連通區(qū)域小圖進行連通區(qū)域標記并找到各連通區(qū)域小圖中的最大連通區(qū)域;
步驟15:計算步驟14得到各連通區(qū)域小圖對應的最大連通區(qū)域的面積、周長、離心率;
步驟16:根據(jù)白細胞的實際大小,利用步驟15計算的最大連通區(qū)域面積、周長、離心率,對各連通區(qū)域小圖內(nèi)最大連通區(qū)域進行篩選;
步驟17:對步驟16篩選后保留的連通區(qū)域小圖進行填充并閉運算;
步驟18:對步驟17得到的圖進行連通區(qū)域標記,并找到最大的連通區(qū)域;
步驟19:計算步驟18得到的最大的連通區(qū)域的圓形度A;
步驟20:對步驟16篩選后的圖進行膨脹,得到膨脹后的圖;
步驟21:對步驟20得到的圖進行連通區(qū)域標記,并找到最大的連通區(qū)域;
步驟22:計算步驟21得到的最大的連通區(qū)域的圓形度B;
步驟23:根據(jù)白細胞的實際大小,利用步驟19和步驟22計算出來的圓形度進行篩選;
步驟24:計算步驟23保留下來的圖的第二大連通區(qū)域的圓形度以及其面積占連通區(qū)域小圖的二值化圖像的比例;
步驟25:根據(jù)白細胞的實際大小,利用步驟24計算出來的所占圖像比例進行篩選;
步驟26:計算步驟25保留下來的圖的灰度平均值、灰度方差、對比度和熵;
步驟27:根據(jù)實際情況,利用步驟26算出來的特征值進行篩選;
步驟28:對步驟27保留下來的區(qū)域特征輸入BP神經(jīng)網(wǎng)絡,由BP神經(jīng)網(wǎng)絡判斷是否為白細胞;
步驟29:統(tǒng)計數(shù)量,輸出結(jié)果;
其中步驟1獲得放大倍數(shù)為35~40倍,分辨率為1360*1024的細胞圖像。
其中步驟10的具體步驟為:
步驟10-1:用面積的特征值進行篩選,保留連通區(qū)域的像素面積在350~2500的區(qū)域;
步驟10-2:用外接的長和寬進行篩選,保留長和寬的最小值在25~68以及最大值在30~80的區(qū)域。
步驟12的具體步驟為:
步驟12-1:對每個小連通區(qū)域采用最大類間方差法得到灰度閾值;
步驟12-2:將灰度圖像各像素點的灰度值與灰度閾值比較,若大于閾值則該點的灰度值賦值為255,若小于閾值則該點的灰度值賦值為0,得到二值化后的圖。
步驟14的具體步驟為:
步驟14-1:對每個小圖進行連通區(qū)域標記;
步驟14-2:計算每個連通區(qū)域的面積,找到面積最大的區(qū)域。
步驟16的具體步驟為:
步驟16-1:根據(jù)面積進行篩選,保留面積在260~1160之間的區(qū)域;
步驟16-1:根據(jù)周長進行篩選,保留周長在90~380之間的區(qū)域;
步驟16-3:根據(jù)離心率進行篩選,保留離心率在0.4~0.97之間的區(qū)域。
步驟23的具體步驟為:
步驟23-1:篩選出圓形度A在0.35~1和圓形度B在0.4~1的區(qū)域;
步驟23-2:篩選出圓形度A和圓形度B之差的絕對值在0.06~0.45之間的區(qū)域。
步驟25的具體步驟為:
步驟25-1:篩選出第二大連通區(qū)域的圓形度小于0.7的區(qū)域;
步驟25-2:篩選出第二大連通區(qū)域的面積占連通區(qū)域小圖二值化圖像的比例在0.35~1之間的區(qū)域。
步驟26的具體步驟為:
步驟26-1:計算圖的灰度平均值,灰度平均值的計算公式為:
其中,m是灰度值平均值,p(zi)是一個區(qū)域中的灰度值直方圖,i=1,2,3,...L-1為對應的直方圖,L是可區(qū)分的灰度級數(shù)目;
步驟26-2:計算圖的灰度方差,灰度方差的計算公式為:
其中,σ是灰度方差,m是灰度的平均值;
步驟26-3:計算圖的對比度和熵,熵的計算公式為:
其中,e是熵,p(zi)是一個區(qū)域中的灰度值直方圖,i=1,2,3,...L-1為對應的直方圖,L是可區(qū)分的灰度級數(shù)目。
步驟27的具體步驟為:
步驟27-1:篩選出灰度平均值在110~140之間和灰度方差在300~2000之間的區(qū)域;
步驟27-2:篩選出對比度在3.1~4之間和熵在4.2~5.1之間的區(qū)域。
步驟28的具體步驟為:
步驟28-1:設計BP神經(jīng)網(wǎng)絡模型,包括輸入層、隱藏層和輸出層,輸入層和隱藏層的神經(jīng)元個數(shù)都設置為9,輸出層的神經(jīng)元個數(shù)設置為5,初始化神經(jīng)網(wǎng)絡的閾值;
步驟28-2:將提取的顯微細胞樣本的特征量送入BP神經(jīng)網(wǎng)絡識別器,采用Levenberg-Marquardt的改進算法對其進行訓練,先計算各層輸出,再計算網(wǎng)絡輸出的誤差和各層誤差型號,調(diào)整各層權值,直到期望輸出與實際輸出的誤差小于0.0001時結(jié)束這一輪的訓練;
步驟28-3:將需要檢測的樣本輸入已經(jīng)訓練完成的BP神經(jīng)網(wǎng)絡,保留識別為白細胞的區(qū)域。
本發(fā)明一種白帶顯微圖像中白細胞的自動識別方法,該方法通過對顯微圖像的處理,識別出白帶中的白細胞圖像,從而極大地減少了工作人員的工作時間,及人為誤差,提高了工作效率。
附圖說明
圖1是本發(fā)明的一種白帶顯微圖像中白細胞自動識別算法的流程圖。
圖2是BP神經(jīng)網(wǎng)絡訓練流程圖。
具體實施方式
下面結(jié)合附圖,對本發(fā)明的一種白帶白細胞的自動識別算法進行詳細說明:
步驟1:使用顯微成像系統(tǒng)自動采集細胞有形成分圖像;
步驟2:對圖像進行灰度處理,得到灰度圖像;
步驟3:對步驟2得到的灰度圖像采用中值濾波去噪,得到去噪后的圖像;
步驟4:對步驟3得到的圖像利用直方圖均衡化的方法增強圖像的對比度,得到灰度增強后的圖像;
步驟5:對步驟4得到的圖像采用Sobel算子提取邊緣,得到邊緣圖像;
步驟6:對步驟5得到的圖像進行膨脹,得到膨脹后的圖像;
步驟7:對步驟6得到的圖像進行閉運算,得到閉運算后的圖像;
步驟8:對步驟7得到的閉運算后的圖像進行連通區(qū)域標記,獲取每個連通區(qū)域的坐標并根據(jù)標號提取相應的區(qū)域;
步驟9:對步驟8標記后的圖像,計算各個連通區(qū)域的面積和外接矩形的長以及寬;
步驟10:根據(jù)步驟9計算出來的特征值對閉運算后的圖像進行初步篩選;
步驟10-1:用面積的特征值進行篩選,保留連通區(qū)域的面積在350~2500的區(qū)域;
步驟10-2:用外接的長和寬進行篩選,保留長和寬的最小值在25~68以及最大值在30~80的區(qū)域;
步驟11:根據(jù)步驟10保留下來的連通區(qū)域,在步驟4得到的圖像中裁剪出每個小連通區(qū)域;
步驟12:對步驟11得到的每個小連通區(qū)域二值化,得到二值化的圖;
步驟12-1:對每個小連通區(qū)域采用最大類間方差法得到灰度閾值;
步驟12-2:將灰度圖像各像素點的灰度值與灰度閾值比較,若大于閾值則該點的灰度值賦值為255,若小于閾值則該點的灰度值賦值為0,得到二值化后的圖;
步驟13:將步驟12得到的圖并取反,得到二值化取反后的圖;
步驟14:對步驟13得到的每個小圖進行連通區(qū)域標記并找到最大的連通區(qū)域;
步驟14-1:對每個小圖進行連通區(qū)域標記;
步驟14-2:計算每個連通區(qū)域的面積,找到面積最大的區(qū)域;
步驟15:計算步驟14得到的每個最大的連通區(qū)域的面積、周長、離心率;
步驟16:根據(jù)步驟15計算的特征值,對每個連通區(qū)域進行篩選;
步驟16-1:根據(jù)面積進行篩選,保留面積在260~1160之間的區(qū)域;
步驟16-1:根據(jù)周長進行篩選,保留周長在90~380之間的區(qū)域;
步驟16-3:根據(jù)離心率進行篩選,保留離心率在0.4~0.97之間的區(qū)域;
步驟17:對步驟16篩選后的圖進行填充并閉運算,得到閉運算后的圖;
步驟18:對步驟17得到的圖進行連通區(qū)域標記,并找到最大的連通區(qū)域;
步驟19:計算步驟18得到的最大的連通區(qū)域的圓形度A;
步驟20:對步驟16篩選后的圖進行膨脹,得到膨脹后的圖;
步驟21:對步驟19得到的圖進行連通區(qū)域標記,并找到最大的連通區(qū)域;
步驟22:計算步驟21得到的最大的連通區(qū)域的圓形度B;
步驟23:根據(jù)步驟19和步驟22計算出來的圓形度進行篩選;
步驟23-1:篩選出圓形度A在0.35~1和圓形度B在0.4~1的區(qū)域;
步驟23-2:篩選出圓形度A和圓形度B之差的絕對值在0.06~0.45之間的區(qū)域;
步驟24:計算步驟23保留下來的圖的第二大連通區(qū)域的圓形度以及其面積占二值化圖像的比例;
步驟25:根據(jù)步驟24計算出來的特征值進行篩選;
步驟25-1:篩選出第二大連通區(qū)域的圓形度小于0.7的區(qū)域;
步驟25-2:篩選出第二大連通區(qū)域的面積占二值化圖像的比例在0.35~1之間的區(qū)域;
步驟26:計算步驟25保留下來的圖的灰度平均值、灰度方差、對比度和熵;
步驟26-1:計算圖的灰度平均值,灰度平均值的計算公式為:
其中,m是灰度值平均值,p(zi)是一個區(qū)域中的灰度值直方圖,i=1,2,3,...L-1為對應的直方圖,L是可區(qū)分的灰度級數(shù)目;
步驟26-2:計算圖的灰度方差,灰度方差的計算公式為:
其中,σ是灰度方差,m是灰度的平均值;
步驟26-3:計算圖的對比度和熵,熵的計算公式為:
其中,e是熵,p(zi)是一個區(qū)域中的灰度值直方圖,i=1,2,3,...L-1為對應的直方圖,L是可區(qū)分的灰度級數(shù)目;
步驟27:根據(jù)步驟26算出來的特征值進行篩選;
步驟27-1:篩選出灰度平均值在110~140之間和灰度方差在300~2000之間的區(qū)域;
步驟27-2:篩選出對比度在3.1~4之間和熵在4.2~5.1之間的區(qū)域;
步驟28:對步驟27保留下來的區(qū)域特征輸入BP神經(jīng)網(wǎng)絡,由BP神經(jīng)網(wǎng)絡判斷是否為白細胞;
步驟28-1:設計BP神經(jīng)網(wǎng)絡模型,包括輸入層、隱藏層和輸出層,輸入層和隱藏層的神經(jīng)元個數(shù)都設置為9,輸出層的神經(jīng)元個數(shù)設置為5;
步驟28-2:將提取的顯微細胞樣本的特征量送入BP神經(jīng)網(wǎng)絡識別器,采用Levenberg-Marquardt的改進算法對其進行訓練,先計算各層輸出,再計算網(wǎng)絡輸出誤差和各層誤差信號,調(diào)整各層權值,直到期望輸出與實際輸出的誤差小于0.0001時結(jié)束這一輪的訓練;
步驟28-3:將需要檢測的樣本輸入已經(jīng)訓練完成的BP神經(jīng)網(wǎng)絡,保留識別為白細胞的區(qū)域;
步驟29:統(tǒng)計數(shù)量,輸出結(jié)果。