周長虹蔣俊鋒張文璽黃 瑞張 昊陳 亮
(1.河海大學物聯網工程學院 常州 213022)(2.溧陽市人民醫(yī)院骨科 常州 213300)(3.上海長海醫(yī)院血管外科 上海 200433)(4.常州錦瑟醫(yī)療信息科技有限公司 常州 213000)
計算機輔助的骨科術前規(guī)劃中,如圖1(a)所示,需要先提取碎骨的內外表面,以每個碎骨外表面為單元進行拼接從而完成骨折高效修復[1](見圖2);另一方面,對骨病進行診斷時,也需要對骨骼表面的醫(yī)學語義區(qū)域進行分割。如圖1(b)所示,人體股骨可初步劃分為股骨頭、股骨頸、股骨干等醫(yī)學語義區(qū)域,這些區(qū)域的劃分對于骨骼畸形測量、骨骼疾病診斷具有重要意義[2]?,F有的骨骼分割方法一般采用手動或半自動分割,分割效率低下,且通常依賴骨科醫(yī)生經驗,這會導致病人輻射次數較多、分割精度不高、分割時間較長等問題。
圖1 骨骼語義分割
圖2 骨折修復
近年來,利用深度學習進行三維物體語義分割已經成為研究熱點。深度學習中,監(jiān)督學習需要大量標注數據訓練深度神經網絡,由于手工標注費時費力,尤其對于骨骼標注,需要非常專業(yè)的骨科醫(yī)生進行標注,成本較高,因此這也是制約當前骨骼語義智能分割的關鍵因素。
目前,為了有效提高無標簽數據的利用率,半監(jiān)督學習應運而生。半監(jiān)督學習是利用小部分有標簽數據和大部分無標簽數據訓練神經網絡,從而盡可能提高神經網絡的性能。半監(jiān)督學習主要包括兩種方法:一類是一致性正則化方法,另一類是代理標簽方法。其中,一致性正則化通常利用“學生-教師”框架[2],對于同一無標簽數據的不同增強形式,學生網絡和教師網絡預測要盡量一致,以此增加網絡泛化能力。這類方法問題主要在于,當無標簽數據存在噪聲時,影響網絡的一致性判斷。代理標簽法利用有標簽數據訓練的網絡預測無標簽數據的標簽,網絡輸出置性度較高的作為偽標簽數據,但不具備一致性正則化的優(yōu)點。
針對以上問題,本文面向人體骨骼語義分割任務,并結合以上兩種方法的優(yōu)點,提出一種基于一致性正則化與代理標簽的半監(jiān)督分割方法(Consistent Regularization and Proxy Label,CRPL)。該方法將點云分割網絡嵌入到“學生-教師”框架中,對于無標簽數據,學生網絡預測每個點標簽概率進行高閾值過濾計算出代理標簽與教師網絡計算一致性損失,該方法增加了代理標簽的可信度,降低了網絡預測偏差。在實驗部分針對碎骨內外表面分割與股骨表面語義分割兩類任務,對本文方法進行較為全面的評估。
CRPL方法的相關工作主要包括半監(jiān)督學習和骨骼點云語義分割兩方面研究。相關研究進展介紹如下。
半監(jiān)督學習包含一致性正則化[2~3]、代理標簽法[4]、混合方法[5~6]、生成式方法[7]以及基于圖[8]等方法。其中,一致性正則化技術促使模型和數據收到干擾時,網絡仍然可以輸出相同的分布,關鍵點在于選擇合適的擾動方式。代理標簽方法是使用預測模型或它的某些變體生成代理標簽來訓練模型?;旌戏椒ㄔ噲D在一個框架中整合當前的半監(jiān)督學習的主要方法,從而獲得更好的性能。生成式方法假設所有的數據都由同一個潛在的模型生成,難點在于在具體任務中很難做出準確的模型假設?;趫D的方法試圖通過構建圖連接,來建立標簽數據和無標簽數據之間的潛在關系進行標簽傳播,但由于存儲成本高難以直接處理大規(guī)模數據。
三維模型的半監(jiān)督學習,按照三維形狀的表示方式分為基于多視圖[4]、網格[9]、體素[10]、點云[11]等方法。基于多視圖的表示方法通過從不同視角獲取物體信息,但很難描述物體三維內部特征。網格模型由于面片數量過多,處理起來往往比較復雜。對于基于點云表示方法,由于其簡單的表示方法和良好的幾何特征被廣泛應用于深度學習領域。
骨骼語義分割是將骨骼分成幾個有意義的部分。按照是否利用模板,骨骼語義分割可分為兩類:一類是無模板[12~13]方法,主要基于骨骼形態(tài)特點以及骨骼標志區(qū)域的空間位置關系提取參數;二是有模板[14~15]的方法,基于可變形模板[14]和多譜圖[15]方法,通過擬合模板與目標骨骼,完成語義區(qū)域提取。按照骨骼是否發(fā)生骨折,骨骼語義分割可分為面向碎骨內外表面分割和完整骨骼表面語義分割,相比于完整骨骼,碎骨存在形態(tài)復雜多變、骨折斷裂邊界重合、細小碎片丟失等情況,加大分割難度。
利用深度學習方法進行骨骼語義分割已成為當前的研究熱點。其中,三維點云分割方法包括PointNet++[16]、PointCNN[17]、DGCNN[18]等,這些都屬于監(jiān)督學習方法,需要大量標注完備的數據。骨骼數據獲取十分困難,標注成本較高,半監(jiān)督學習能有效降低數據標注的成本。目前面向骨骼點云的半監(jiān)督學習研究尚未見公開報道。
CRPL方法總體流程如圖3所示,神經網絡總損失由監(jiān)督損失和無監(jiān)督損失構成,其中監(jiān)督損失由帶標簽的數據與學生網絡輸出計算交叉熵函數得到;無監(jiān)督損失先由學生網絡計算出無標簽數據的代理標簽,然后與教師網絡輸出計算交叉熵函數。教師網絡參數由學生網絡通過滑動指數平均[2](Exponential Moving Average,EMA)傳遞。
圖3 CRPL方法流程
本文總體方法流程如下:
輸入:標簽集{xl,yl},無標簽集{xu}
Step1:預訓練階段
1)由標簽數據{xl,yl}得到學生網絡輸出,由監(jiān)督損失進行梯度下降,更新學生網絡參數。
Step2:訓練階段
1)通過EMA傳播,計算教師網絡參數。
2)根據{xl,yl}與{xu}分別計算學生網絡輸出y?s與教師網絡輸出y?T。
3)由學生網絡輸出y?s與閾值τ計算無標簽數據代理標簽y?u。
4)計算損失L=Ll+β(t)Lu,其中學生網絡監(jiān)督 損 失,無監(jiān)督損失其中,β(t)為無監(jiān)督權重,Bl、Bu分別為每批訓練的標簽數據和無標簽數據量。
5)根據損失L,梯度下降更新學生網絡參數。
本文訓練數據為標簽和無標簽骨骼三維點云數據,通過“學生-教師”點云分割網絡得到骨骼每個點的語義標簽,無標簽骨骼數據經過學生網絡預測得到的結果過濾得到代理標簽,與教師網絡的輸出計算一致性差異,無標簽數據訓練細節(jié)如下。
無標簽數據的代理標簽與教師網絡的輸出計算無監(jiān)督損失,每個點的標簽為學生網絡輸出經過置信過濾后選取后驗概率最大的作為代理標簽。在代理標簽的生成過程中不可避免地會有一些不正確的預測。因此,需要進行標簽選擇以獲得合適的代理標簽。一般來說,具有較高后驗概率的預測更有可能是正確的,常用的方法是設置一個嚴格的閾值,并選擇在其之上的概率所對應的標簽。代理標簽生成公式如下。
其中,為學生網絡點云的預測的概率分布,τ為置信閾值,在本文方法中取0.8。
本節(jié)中主要介紹了“學生-教師”網絡半監(jiān)督學習損失的構成以及學生與教師網絡之間學習原理。細節(jié)如下,“學生-教師”網絡訓練數據由標簽數據集,和無標簽數據集共同完成,標簽數據計算監(jiān)督損失,無標簽數據計算無監(jiān)督損失,總損失函數如下。
其中,Ll為監(jiān)督損失,Lu為無監(jiān)督損失,β(t)表示無監(jiān)督損失權重,Nl、Nu表示標簽數據和無標簽數據總數。對于無監(jiān)督損失權重β(t)的調度對網絡性能非常重要。若設置過高,會影響標簽數據的訓練;反之,將無法利用未標記數據給學生網絡帶來的增益,影響網絡泛化性能。β(t)表示如下。
其中,βf=5,T1與T2為網絡訓練輪數,分別取500和1000。當t<T1,β(t)=0,神經網絡在預訓練階段,損失由監(jiān)督損失構成,可以加快網絡收斂速度;當T1≤t<T1,通過緩慢增加β(t)的確定性退火過程,有助于在網絡優(yōu)化過程避免局部極小值,使未標記數據的代理標簽盡可能與真實標簽相同;當t≥T2,βf=5,網絡處于穩(wěn)定訓練階段。
半監(jiān)督訓練過程中“學生-教師”網絡之間參數傳遞過程描述如下。首先,學生網絡的參數由梯度下降法更新得到;然后,教師網絡模型參數由學生網絡通過EMA傳遞得到,并不與學生模型共享參數。神經網絡訓練過程中每個步驟都進行了EMA傳播。與Temporal-Ensembling[3]等傳統(tǒng)半監(jiān)督學習相比,EMA有以下優(yōu)勢:1)學生網絡之間有了更快的參數反饋循環(huán),從而提高測試準確率;2)適用于大型數據集以及在線學習。EMA平均權重計算如式(4)所示。
其中,超參數α=0.999,表示平滑系數,即EMA權重。表示訓練階段第t步的教師網絡參數,St為學生網絡模型參數。當α=0,表示教師網絡參數與學生網絡參數相同。
在數據增強方面,本文采用了一種非對稱式數據增強方式。學生網絡采用了采樣、平移、翻轉的弱增強策略,學生網絡本身的預測能力保證了代理標簽的質量和數量;對于教師網絡,在弱增強基礎上增加了縮放與擾動的強增強策略,教師網絡在訓練過程中,需要保持一定的一致性差異來幫助學生網絡更好地進行參數學習。經過對不同網絡進行合理的數據增強,可以有效提高網絡泛化能力。
本文人體骨骼數據從江蘇省常州市溧陽人民醫(yī)院采集。實驗數據具體描述如下:骨骼數據為CT影像掃描數據,男女比例為4∶6,年齡范圍為30歲~80歲;分別使用了300例脛骨碎片與完整股骨數據作為本文的實驗數據;所有的病人均簽署了知情同意書。
本文實驗基于PyTorch 1.7.1框架,實驗平臺為VSCode Linux x64,Python 3.7搭建在Ubuntu20.04 LTS系統(tǒng)上,測試環(huán)境為NVIDIA Quadro P4000(8G),系統(tǒng)內存為32G。所有模型的超參數設置相同,具體設置如表1所示。
表1 CRPL超參數
5.3.1 分割精度評估
利用平均類別交并比(mean Intersection over Unio,mIoU)衡量骨骼語義分割的準確度,計算出每個類別的交并比然后對其求平均,交并比計算公式如式(5)所示。
其中,TP表示交集,表示網絡分割正確的點數。TP+FP+FN表示并集。FP表示網絡分割錯誤的點數,FN表示網絡漏分割點數。
本文網絡預測精度如表2所示,結論如下:
表2 點云網絡分割精度對比(mIoU)
1)相同標注占比情況下,PointNet分割精度最低,DGCNN在股骨表面語義分割任務中平均高于PointNet++0.23%,但在碎骨內外表面分割任務中與PointNet++平均相差1.67%。因此,PointNet++相對于其他網絡具有較好的數據兼容性;
2)同一點云網絡下,對于兩種分割任務,當標注占比由5%提升到10%,分割精度平均提高10%,由10%提升到20%時,分割精度平均提高0.8%。當標注占比達到10%左右,半監(jiān)督學習網絡達到了很好的分割性能。
5.3.2 方法效率
通過對點云網絡的復雜度分析來評估本文方法效率,包括空間和時間復雜度。細節(jié)如表3所示。
表3 方法效率評估
從表3可以得出以下結論:1)PointNet網絡方法效率最高,PointCNN最低;2)四種網絡測試時間相近,平均為7.2,平均訓練時間為13.25;3)綜合分割精度和方法效率,PointNet++方法效率高于DGCNN,分割精度高于PointNet。PointNet++優(yōu)于其他三種網絡。下文實驗均采用PointNet++點云分割網絡,標注占比10%進行半監(jiān)督學習分析。
為了驗證本文提出的方法的有效性,本文與4種半監(jiān)督學習方法模型進行了比較。其中,一致性訓練方法包括Pimodel[3]、Temporal-Ensembling[3]、Mean Teacher[2],代理標簽法選擇Pseudo-Label[19]。在兩種骨骼數據集下分別評估CRPL方法的有效性,其中監(jiān)督學習指使用300例數據訓練沒有無標簽數據訓練的結果。
結合圖4與圖5,得出以下結論:1)隨著標注數據占比的增大,神經網絡參數擬合性能越來越好,準確率逐漸增加。當標注數據占比達到10%時,半監(jiān)督學習準確率上升幅度變緩,預測精度達到了一個很好的效果;2)在兩種數據集上,CRPL表現優(yōu)于其他四種方法。
圖4 股骨表面語義分割
圖5 碎骨內外表面分割
置信閾值的大小決定學生網絡所產生代理標簽的質量以及數量。通過改變閾值來探索閾值大小對分割精度的影響。如圖6,當置信閾值取值在[0.55,0.8]范圍,準確率呈現出上升的趨勢。當置信閾值取值在[0.8,0.9]范圍呈下降趨勢。這是因為隨著閾值的增加,點云代理標簽點的確定性也會隨之增加,表明高質量的代理標簽能提高模型預測準確率。但閾值過大也會使學生網絡生成的代理標簽數量減少,從而降低網絡分割性能。因此,通過選擇閾值平衡代理標簽的質量與數量,對網絡分割效果具有重要意義。
圖6 閾值對網絡精確度影響
針對骨骼數據標注困難問題,本文提出了一種基于點云的三維骨骼半監(jiān)督點云學習方法,該方法的核心思想是將“學生-教師”點云分割網絡作為骨干網絡,結合一致性正則化和代理標簽思想,有效利用無標簽數據訓練神經網絡。經過實驗表明,該方法優(yōu)于傳統(tǒng)的一致性正則化和代理標簽法,利用10%標注數據即可基本接近監(jiān)督網絡性能,高效地完成了骨骼自動化分割任務。