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