吳穗嵐,陳 樂,曾 濤
(中國計量大學(xué) 機電工程學(xué)院,浙江 杭州 310018)
膝關(guān)節(jié)炎癥是中老年人群中的常見病,一般伴有關(guān)節(jié)發(fā)熱、發(fā)冷或疼痛等現(xiàn)象。現(xiàn)有臨床診斷中可采用X射線、關(guān)節(jié)鏡等醫(yī)學(xué)影像診斷技術(shù),但X射線的放射性對人體健康有潛在危害;關(guān)節(jié)鏡會使患者產(chǎn)生不同程度的痛感,且有感染風險。此外,膝關(guān)節(jié)炎癥會隨季節(jié)變化反復(fù)出現(xiàn)膝關(guān)節(jié)疼痛現(xiàn)象,需定期復(fù)診。目前臨床診斷上缺少一種無輻射、無創(chuàng)傷、高效率的膝關(guān)節(jié)炎診斷方法。
紅外熱像技術(shù)[1]是一種非接觸式、無創(chuàng)傷、無輻射和高效率的獲取物體表面溫度分布的成像技術(shù)。膝關(guān)節(jié)炎癥發(fā)病時引起膝關(guān)節(jié)內(nèi)部血流變化,從而引起膝關(guān)節(jié)處溫度升高或降低,因此可使用紅外熱像技術(shù)獲取膝關(guān)節(jié)紅外圖像,并使用圖像處理技術(shù)對其做出是否患病的判斷。吳思等[2]根據(jù)膝骨性關(guān)節(jié)炎紅外熱像表現(xiàn)研究膝關(guān)節(jié)痛點分布規(guī)律,喬世權(quán)等[3]提出使用紅外圖像信息熵對膝關(guān)節(jié)病癥進行分析。
本文使用紅外熱像儀分別拍攝膝關(guān)節(jié)健康及炎癥兩類紅外圖像,表征膝關(guān)節(jié)表面溫度分布。取膝關(guān)節(jié)健康者紅外圖像作為正樣本,膝關(guān)節(jié)炎癥患者的作為負樣本。分別構(gòu)建基于特征提取的支持向量機(Support vector machine, SVM)分類器和基于卷積神經(jīng)網(wǎng)絡(luò)的二分類模型,使用相同的樣本數(shù)據(jù)對上述兩種模型進行訓(xùn)練和測試,比較測試所得的分類準確度,以驗證卷積網(wǎng)絡(luò)的判斷準確度。
為獲取一定數(shù)量的有效的膝關(guān)節(jié)紅外圖像,應(yīng)避免被測物體發(fā)射率、大氣成分、背景溫度、拍攝距離等紅外測溫主要干擾因素的影響,故選擇在空氣清潔的室內(nèi)進行膝關(guān)節(jié)紅外圖像采集,環(huán)境溫度為27 ℃左右,環(huán)境濕度在40%~50%之間,拍攝物鏡距離為20 cm,拍攝背景為無雜物的普通墻面,調(diào)節(jié)紅外熱像儀發(fā)射率參數(shù)為人體體表發(fā)射率0.99,拍攝了800張膝關(guān)節(jié)紅外圖像數(shù)據(jù),其中正負樣本數(shù)量各為400張。采集膝關(guān)節(jié)紅外圖像的時間集中在2018年3月至6月份,拍攝對象年齡分布于18~65歲之間。
SVM分類器是目前發(fā)展較成熟、分類性能較好的圖像分類模型。本文首先采用SVM分類器對膝關(guān)節(jié)紅外圖像進行二分類。
方向梯度直方圖(Histogram of oriented gradient, HOG)的基本思想是利用圖像像素的方向梯度來描述和體現(xiàn)圖像的外觀特征,可用于圖像的檢測和分類[4]。將HOG和SVM結(jié)合使用是圖像分類的常見方法之一[5]。HOG+SVM分類器的分類流程如圖1。
圖1 HOG+SVM分類器流程圖Figure 1 HOG+SVM classifier flow chart
獲取HOG的過程一般是:首先將圖像灰度化和顏色空間歸一化,計算圖像中每個像素的梯度[4];隨后,將圖像分成多個連通區(qū)域,并統(tǒng)計每個連通區(qū)域中的各個像素的梯度,作為其特征描述;最后規(guī)范化方向梯度直方圖,形成HOG特征描述器[6]。
SVM是在一個高維空間內(nèi)建立的一個最大分割超平面y=wx+b,該高維空間由樣本空間的數(shù)據(jù)通過非線性映射得到。該超平面中x表示該超平面上的點,w表示與該超平面垂直的向量,b表示位移間隔[6]。通過最佳超平面將樣本空間的數(shù)據(jù)分割為相互對立的兩個類,進而尋找最佳超平面的過程就是使幾何間隔2/‖w‖最大[7]。由此,尋找最佳超平面的問題就可以轉(zhuǎn)化為以下約束最小化問題:
(1)
s.t.yi‖wxi+b‖≥1,i=1,2,…,n。
(2)
由此可見,它是一種簡單的二分類器,若wx+b>0,判斷類別y為1,若wx+b<0,則為-1,將實際的分類問題轉(zhuǎn)化成了數(shù)學(xué)方程的求解問題。
將膝關(guān)節(jié)紅外圖像數(shù)據(jù)作為SVM分類器的分類對象,使用OpenCV對圖像進行灰度化等預(yù)處理,部分樣本集如圖2。選取600張膝關(guān)節(jié)紅外圖像數(shù)據(jù)作為訓(xùn)練集,其正負樣本數(shù)量各300張,剩余200張作為測試集,其正負樣本數(shù)量各100張。
圖2 圖像樣本集Figure 2 Image sample set
將測試和訓(xùn)練樣本制作成txt格式的樣本集,使用OpenCV中的圖像讀取結(jié)合HOG特征提取算法,進行SVM模型訓(xùn)練并保存模型,之后將測試集中的所有圖像導(dǎo)入模型,得到分類結(jié)果。實驗結(jié)果200張測試集中,179張圖像分類正確,準確度為89.5%,基于SVM的分類模型可以得到一個比較高的判斷準確度。
上述SVM分類模型在樣本數(shù)量較少的訓(xùn)練集上可得到比較好的分類結(jié)果,對大規(guī)模的訓(xùn)練樣本將耗費大量計算機內(nèi)存和運算時間,在擴充數(shù)據(jù)集的情況下SVM模型難以達到良好的分類效果。因此,本文提出將改進的卷積神經(jīng)網(wǎng)絡(luò)算法用于建立膝關(guān)節(jié)炎診斷模型。
卷積神經(jīng)網(wǎng)絡(luò)是由一系列卷積層和池化層組成的深度神經(jīng)網(wǎng)絡(luò),每層卷積層包含有固定參數(shù)的卷積核,圖像信息輸入時與其進行卷積運算來提取圖像特征;池化層進行下采樣操作,用來降低圖像特征的維度、提高計算效率,并且保留圖像的有效信息;后若干層由全連接層和輸出層構(gòu)成,其作用主要就是實現(xiàn)圖像分類[8-9]。其典型的網(wǎng)絡(luò)結(jié)構(gòu)如圖3。
圖3 卷積神經(jīng)網(wǎng)絡(luò)框架圖Figure 3 Convolutional neural network framework
2.1.1 卷積層
卷積層屬于網(wǎng)絡(luò)中的特征提取層,該層與前一層網(wǎng)絡(luò)之間采用稀疏連接,即卷積神經(jīng)元與前一層神經(jīng)元之間并不是一一對應(yīng)的全連接形式,而是每個神經(jīng)元僅與上層網(wǎng)絡(luò)的局部感受域相連,稀疏連接的方式明顯地減少了網(wǎng)絡(luò)的計算量。卷積層的參數(shù)共享策略是卷積網(wǎng)絡(luò)的另外一個特征,即該層中同一個卷積核可以作用于前一層網(wǎng)絡(luò)中的不同位置,也有著減少網(wǎng)絡(luò)參數(shù)和降低網(wǎng)絡(luò)復(fù)雜度的作用[10]。卷積層運算的具體運算過程如下:
(2)
式(3)中矩陣Aw×w表示輸入圖像,矩陣B2×2表示大小2×2為卷積核,根據(jù)卷積運算的規(guī)則可計算得到卷積特征圖,具體示例如圖4,設(shè)圖像大小為5×5的矩陣,卷積核大小為3×3,根據(jù)公式(3)得到卷積運算在圖像中間位置的計算結(jié)果。
圖4 卷積計算示意圖Figure 4 Convolution calculation diagram
2.1.2 池化層
池化層也屬于網(wǎng)絡(luò)中的特征提取層,該層規(guī)定了一種特征提取的方式。繼卷積層之后,池化層再一次提取圖像某特定區(qū)域的新特征,該特定區(qū)域被稱為池化域[10]。以圖5中的4×4卷積特征圖為例,選取2×2大小為池化域,將其進行最大池化操作,即選取池化域中最大的數(shù)據(jù)作為新的特征數(shù)據(jù)。最終得到右側(cè)2×2的池化特征圖。因文本中不同患者的膝關(guān)節(jié)紅外圖像特征區(qū)別較大,本文選用最大池化操作作為下采樣操作。
圖5 最大池化示意圖Figure 5 Maximum pooling diagram
2.1.3 全連接層
在多次卷積和池化操作后,需要全連接層完成對數(shù)據(jù)特征的提取和整理工作。全連接層在運算時可視為卷積核為1×1的卷積層,對上一次輸入進行卷積運算,最終得到一個一維特征向量,之后將其傳遞給輸出層進行邏輯判斷和分類[11]。本文中設(shè)置兩層全連接層。
2.1.4 輸出層
神經(jīng)網(wǎng)絡(luò)分類問題的最后一步是分類函數(shù)的選擇,本文選擇Softmax分類器作為網(wǎng)絡(luò)的最后一層,Softmax函數(shù)將全連接層的一維特征向量映射到(0,1)的區(qū)間內(nèi)。若一維特征向量為(V1,V2,…,Vn),Softmax函數(shù)的計算公式可表示為
(4)
Softmax函數(shù)返回樣本的概率分布Si,并根據(jù)Si的值進行分類。
本文基于TensorFlow機器學(xué)習框架進行網(wǎng)絡(luò)結(jié)構(gòu)的搭建,使用部署在GPU上的NVIDIA GeForce GTX Titan芯片進行訓(xùn)練,網(wǎng)絡(luò)結(jié)構(gòu)圖如圖6。
本文搭建的網(wǎng)絡(luò)參考LeNet5手寫字符識別網(wǎng)絡(luò)[12],網(wǎng)絡(luò)的第一個隱層為卷積層,卷積核的數(shù)量為6,卷積核的大小為28×28,輸入圖片經(jīng)過第一卷積層后,成為6個213×213的特征圖,特征圖的大小由240×240變成輸出的213×213,卷積采用Valid方式實現(xiàn)。
網(wǎng)絡(luò)的第二個隱層為池化層,其局部感受野的大小為3×3,即每一個3×3的像素被下采樣為1個像素,經(jīng)過第二層隱層之后,特征圖的大小變成71×71,特征圖的數(shù)量仍為6個。
網(wǎng)絡(luò)的第三個隱層為卷積層,卷積核的個數(shù)為28個,卷積核的大小為16×16,所以經(jīng)過該層
圖6 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Figure 6 Convolutional neural network structure
輸出的特征圖大小變成56×56,經(jīng)過該層后特征圖的個數(shù)變?yōu)?8個,在第四層采用2×2大小的下采樣,該層輸出28個28×28的特征圖。
網(wǎng)絡(luò)的第五層和第六層為全連接層,第五層的節(jié)點數(shù)設(shè)置為256,該層的節(jié)點與上一次的連接采用稀疏連接,第六層為一個全連接網(wǎng)絡(luò),節(jié)點數(shù)為84,該層的節(jié)點與上層的連接層采用全連接。
網(wǎng)絡(luò)最后的輸出層節(jié)點數(shù)為2,實現(xiàn)圖像的二分類。
本文使用與SVM分類器相同的膝關(guān)節(jié)紅外圖像數(shù)據(jù)對卷積網(wǎng)絡(luò)進行訓(xùn)練和測試,訓(xùn)練集中樣本數(shù)為600張,在進行數(shù)據(jù)集擴充后達到1 000張,測試集為200張。本文所有訓(xùn)練過程均在深度學(xué)習主機上進行,訓(xùn)練主機的參數(shù)配置如表1。
表1 深度學(xué)習測試主機配置表
網(wǎng)絡(luò)訓(xùn)練過程中,準確度曲線如圖7,交叉熵曲線如圖8。訓(xùn)練過程中交叉熵持續(xù)下降,在訓(xùn)練步數(shù)達到500步以后網(wǎng)絡(luò)的識別率達到了91.2%,此時具有較好的訓(xùn)練結(jié)果。網(wǎng)絡(luò)最終訓(xùn)練了1 000步,最后識別率達到99.8%。
圖7 準確度曲線Figure 7 Accuracy curve
圖8 交叉熵曲線Figure 8 Cross entropy curve
在測試集實驗中,200張測試集圖像有198張分類正確,判斷準確度為99%。由此可以得出,使用卷積神經(jīng)網(wǎng)絡(luò)分類模型可對圖像進行“患病”和“健康”的判斷,具有較可靠的診斷能力。
本文基于卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建了膝關(guān)節(jié)炎診斷模型,卷積網(wǎng)絡(luò)實現(xiàn)了分類精度高、收斂效果好的深度學(xué)習網(wǎng)絡(luò)。本文使用卷積神經(jīng)網(wǎng)絡(luò)分類模型診斷膝關(guān)節(jié)炎的測試級準確度達到99%,其判斷準確度高于SVM分類器,具有較好的診斷效果。在后續(xù)工作中,將緊密結(jié)合臨床醫(yī)學(xué)相關(guān)知識,引入關(guān)節(jié)病變程度的概念,將膝關(guān)節(jié)紅外圖像二分類擴展為多分類,對初步建立的膝關(guān)節(jié)炎診斷模型進行不斷更新和優(yōu)化,進而找到更加通用的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計方法,為膝關(guān)節(jié)炎癥的診斷提供便利。