付攀,李楨,韋柄廷,王杰,王爽,3,邊桂彬*
(1.北京信息科技大學自動化學院,北京 100192; 2.中國科學院自動化研究所,北京 100190;3.北方工業大學機械與材料工程學院,北京 100144)
基于深度學習的深度估計方法通過預測二維圖像中每個像素相對于觀察相機的深度值,實現對原場景三維結構的估計。在顯微外科手術中,數字影像能夠為醫生提供實時的高清晰度術野,并可以從中提取關鍵的信息,例如病灶位置、大小和形態等,來輔助醫生做出更加精準的手術決策[1-3]。當前,深度學習方法在醫學影像領域被廣泛應用于三維重建、手術規劃和病理分析等方面[4-5],但很少有對于顯微術中影像深度估計的研究,主要是由于顯微手術場景中存在目標尺度微小、特征模糊、多鏡面反射等難點。因此,進一步研究和改進深度估計方法以克服這些挑戰并提高其推理精度,有助于在術中更精準地判斷手術器械和軟組織的空間位置關系,為新手醫生提供關鍵的決策信息、縮短其學習曲線,從而為改善患者預后作出貢獻。
當前常用的深度估計方法主要分為3類?;谝暡畹姆椒ɡ脤c間的視差或結構光中相位的差異來計算深度信息[6],例如經典的雙目視覺算法和基于結構光的三維重建方法,還包括基于光場等模態圖像的深度估計方法[7]等?;趫D像語義信息的方法利用神經網絡從圖像中提取語義線索,例如進行物體檢測和分割,進而推理更加精準的深度信息[8-9]。基于運動信息的方法則通過分析連續幀之間的運動變化推斷場景中深度分布[10-11],如使用SLAM(simultaneous localization and mapping)技術,可以將實時的影像信息映射到三維模型中,用于場景重建和虛擬現實[12-14]。這些方法從平面圖像中恢復了深度信息,有助于增強計算機視覺應用如智能駕駛、機器人導航中的場景理解能力。
深度估計技術在醫學影像中的應用也越來越受到關注。其中,深度卷積神經網絡(convolutional neural networks,CNN)和Transformer是兩種最常用的深度學習基礎架構。在胸外科領域,深度估計技術被用于輔助使用支氣管鏡的活檢導航[15]。通過使用周期一致性生成對抗網絡直接從支氣管鏡圖像中生成深度圖,并將深度圖注冊到術前CT(computed tomography)上,獲得了較高的準確性。在結腸鏡檢查中,深度估計技術被用來從單一圖像中重建結腸表面的地形[16-17],在開發的內窺鏡相機模型渲染得到的合成圖像上訓練,并最終集成到現有內窺鏡系統中對腸道地形進行在線估計。這些研究表明,深度估計技術在醫學影像領域的應用前景廣闊,可以為醫生提供更加精準的診斷和治療方案。
然而,在常見的深度估計策略中,基于密集特征匹配的方法[18-19]在多軟組織和目標尺度微小的手術影像中容易受特征點模糊和漂移影響而發生性能退化。在基于深度編解碼架構的神經網絡中,考慮到算力資源限制,難以保持原始圖像高分辨率進行深層處理。往往采用連續的下采樣和上采樣以在網絡深層提高感受野并減少計算量,卻容易因此帶來細小特征丟失、深度邊界模糊等性能衰減。盡管已提出一系列方法如跳躍連接、殘差連接等用于保留下采樣和上采樣過程中的細節信息,但仍然在許多具有挑戰性的任務,如顯微手術場景中的微小器械深度估計方面存在明顯局限性。此外,由于顯微手術場景中器械軟組織存在復雜交互,且臨床上難以采集高質量的真值數據,因此仍然缺乏高精度的深度估計方法。
為了從二維術野彩色圖像中更精準地恢復場景中各語義對象的深度,現從以下3個方面提出了解決方案。一是利用多層次跳級連接聚合模塊傳遞編碼器中的上下文信息到解碼器中,從而更好地保留帶有局部細節的隱層空間特征;二是提出基于通道選擇和分支優化的雙重注意力特征融合機制,優化解碼過程的精度。此外,提出一種迭代式點云融合策略,通過結合自動化的結構光掃描實現多視角點云配準和重建高精度深度數據,以獲得稠密的深度真值。通過上述策略,實現顯微手術場景的端到端高精度深度估計,有效解決推理的深度圖中關鍵細節信息丟失的問題。
如圖1所示,所提出的跨層級特征級聯網絡模型的數據流主要由多層編解碼器架構定義。網絡以RGB通道彩色圖作為輸入,以單通道深度圖作為輸出。網絡主要組成結構包含逐層下采樣的分窗特征編碼模塊、逐層上采樣的雙重注意力引導特征融合解碼模塊。提出跨層級級聯特征傳遞模式,將早期編碼階段中具有更豐富局部細節的特征圖逐級采樣到每一個更低分辨率的目標等級。在目標等級將來自各編碼階段的重采樣特征進行選擇性融合和投影,使得初始低分辨率解碼特征在上下文信息引導下漸進優化到原始分辨率,從而緩解細節信息在深層傳遞過程中的丟失,提高算法的深度估計精度。

圖1 網絡結構基本框圖
對輸入的三通道特征圖進行歸一化后,將其劃分為P個圖像塊XP,每個塊的大小為C×B×B,其中B表示塊的邊長,C為通道數。將每個塊XP按照其位置p轉換成位置信息嵌入塊ep,公式為
ep=LN[MLP(XP)+PosEmb(p)]
(1)
式(1)中:MLP(multilayer perceptron)為多層感知機;PosEmb為位置嵌入;LN為層歸一化。以此獲得了一個維度為P×d的嵌入矩陣E,其中d為嵌入維度。
為了充分提取各分塊中的局部細節信息,將嵌入矩陣E傳入多層堆疊的Swin Transformer模塊中[20],每個模塊的輸出都是一個維度為P×d的矩陣。Swin Transformer的編碼過程為
(2)
式(2)中:ST為Swin Transformer塊;L為編碼器的深度。最終得到維度為P×d的潛在特征表示HL,將圖像的全局信息編碼為一個固定長度的向量。
采用預訓練的large Swin Transformer模型作為編碼器主干網絡,并設置窗口大小為7。對于不同層級的隱層特征圖,編碼器的初始嵌入維度為192,深度為[2,2,18,2],注意力頭數為[6,12,24,48],通道數為[192,384,768,1 536]。這些參數遵循了該模型在大規模圖像分類預訓練任務上的設置。
傳統編解碼器交互方式往往只在同層特征之間進行信息傳遞,盡管深層低分辨率特征一定程度上攜帶了淺層高分辨率特征,卻未能充分利用其豐富的信息。因此,設計了一種新的編解碼器信息傳遞策略。設編碼器和解碼器都有L層,分別為E1,E2,…,EL和D1,D2,…,DL,其中特征圖分辨率隨層數遞減。傳統連接是從編碼器的第i層到解碼器的第i層,如Ei~Di。提出的跨層特征級聯模塊在編碼器第i層同時連接到解碼器的第i~L層,如Ei到Di,Di+1,…,DL。具體來說,對于解碼器的第i層,i∈[1,L-1],其特征圖先與來自編碼器的Ei連接,再與來自編碼器的Ei+1,…,EL連接,即輸入為:Di,Ei,Ei+1,…,EL,輸出為
D′i=Wiconcat(Di,Ei,…,EL)+bi
(3)
式(3)中:D′i為第i層解碼器輸出;Wi和bi為可學習的參數。對于解碼器的最后一層DL,其只與來自編碼器的EL連接,即輸入為DL、EL,輸出為
D′L=WLconcat(DL,EL)+bL
(4)
1.3.1 通道注意力機制
通道注意力機制是一種在深度學習中廣泛應用的技術,旨在優化網絡中特征的選擇和利用。通道注意力機制的常見方法之一是全局平均池化,通過該操作獲取每個通道的全局特征響應作為對應的權重。然后使用一個多層感知機對每個通道進行權重調整,以加強重要通道的影響,同時抑制不重要通道的響應。
利用通道注意力機制以減少編碼器大體量輸出特征的冗余,并促使輸出到解碼器的特征具有更高效的嵌入表示。首先,在級聯特征后使用通道注意力機制進行特征選擇,并對加權后的特征圖執行通道縮減,以此有效減少網絡中的參數數量,提高模型的效率和性能。其次,在最底層編碼器的特征傳輸到解碼器作為輸入特征時,使用通道注意力機制和通道重投影來增強最低分辨率特征的信息密度,為解碼器輸入一個高效的編碼特征表示,從而提高了解碼器的預測能力和精度。所采用的通道注意力實現機制為
CA(x)=σ{Wc2Relu[Wc1avgpool(x)]}
(5)
式(5)中:Wc1和Wc2為全連接網絡的參數;σ為Sigmoid函數;avgpool為自適應平均池化操作;Relu為激活函數;x為輸入張量;CA為通道注意力函數。
1.3.2 分支注意力機制
分支注意力機制可以讓網絡動態地調整不同分支特征的權重,從而提高網絡的性能和泛化能力。其常見實現方法是通過將多個分支特征進行拼接,然后通過一系列的卷積和非線性激活操作,生成多個注意力圖。這些注意力圖將用于對不同分支的特征進行加權,以實現最終的特征融合。
利用分支注意力機制,對每一層的解碼環節中的兩類輸入做加權融合,包括:來自通道選擇和重投影后的級聯編碼器特征、來自上層解碼器的特征或底層編碼器輸出特征,所采用的分支注意力實現方式描述如下。
attn=σ(Wb3h3+bb3)
(6)
h3=ReLU(Wb2h2+bb2)
(7)
h2=ReLU[Wb1concat(xdec,xenc)+bb1]
(8)
out=xdec⊙attn1+xenc⊙attn2
(9)
式中:attn為注意力計算結果;ReLU為激活函數;concat為維度拼接操作;xdec為來自上層解碼器特征;xenc為來自編碼器的特征;h2為第一層卷積的輸出特征圖;h3為第二層卷積的輸出特征圖;⊙為按位相乘;Wbi和bbi分別為第i層卷積的權重和偏置項;out為融合后特征。
1.3.3 解碼器網絡結構
通過上述雙重注意力機制的引導,本文的解碼器可在漸進將低分辨率特征圖細化到高分辨率同時,使用通道注意力塊來保留重要的特征信息,使用分支特征融合模塊將來自淺層和深層的特征圖進行合并,從而有效恢復細節信息。
在解碼器初始部分,使用通道注意力塊來選擇輸入特征圖的重要信息,并使用1×1卷積塊壓縮通道的數量,以提高計算效率。然后,使用卷積層對輸入特征圖進行上采樣,并使用3個層疊的特征融合模塊將來自不同層級的特征圖進行合并。在每個特征融合模塊中,將來自淺層和深層的特征圖在通道維度連接起來,并通過堆疊的卷積和歸一化操作來學習不同特征之間的權重。在最后一層,使用上采樣層將特征圖恢復到原始分辨率,并生成最終的深度估計結果。解碼器的主要網絡結構如表1所示,從編碼器底層輸入的特征尺寸為36 pixel×36 pixel。

表1 解碼器網絡結構
深度估計中最常用的損失函數為尺度不變深度損失[21],考慮了深度值的標度不變量和人類對深度感知的對數性質,通過在對數域對深度真值和預測值計算差值并對其均值和方差進行加權,可以有效均衡不同尺度的深度損失。其計算公式為
(10)
為了加強網絡對局部深度邊緣尤其是器械與組織之間的深度梯度的感知,分別對深度真值和預測值計算深度梯度圖,并作為加權項計入最終損失,其計算公式為
(11)
式(11)中:?表示梯度算子,由對離散圖像差分實現。
最終損失函數通過上述二者的加權和得到,以同時優化網絡在絕對深度估計精度、全局估計一致性以及深度邊緣一致性的性能,計算公式為

(12)
從真實的手術場景中采集深度信息非常困難,但從模擬手術場景中可以采集到相似的數據。提出了一種自動化的數據采集流程和迭代式點云配準方法,實現高效采集高精度的模擬深度數據。
通過將結構光掃描儀安裝在機械臂的末端可以實現靈活的運動和定位。數據采集前,使用手眼標定方法可以將運動的掃描儀自身坐標系轉換到機器人遠端TCP(tool center point)坐標系。從而可以進一步利用TCP相對于機械臂基座的實時位姿轉換到基坐標系,獲得較好的三維點云配準初始值,有效提高點云配準效率。具體而言,固定標定板于特定平面,操控機械臂攜帶掃描儀從多個不同方位捕獲關鍵幀。每次掃描中同時記錄機械臂TCP在其基坐標系下的位姿參數和標定板上關鍵角點在掃描儀坐標系下的坐標。將每組點對應信息轉化為矩陣Mi,通過奇異值分解求解手眼標定矩陣Mhand-eye,實現掃描儀坐標系到機器人TCP坐標系的轉換。
數據采集設置中,主要采用了撕囊鑷、主切口刀、側切口刀、超乳頭及波恩鉗作為手術器械,使用離體豬眼作為目標組織來模擬手術場景。
通過機械臂將掃描儀定位到特定的空間位姿可實現對模擬手術場景獲取三維點云,但受組織吸光、水膜鏡面反射和結構光遮擋等因素影響,單個點云中存在不同程度信息缺失。采集多個姿態下的點云可以實現迭代互補融合,從而顯著增加點云密集程度以獲得稠密深度數據。其主要步驟如下。
設輸入的9個點云分別為P1,P2,…,P9,對應的機械臂末端姿態分別為T1,T2,…,T9,手眼標定矩陣為Mhand-eye,成對配準停止準則為C,輸出的點云為Pfused,對應姿態變換為Tfused,1,Tfused,2,…,Tfused,9。
步驟1將9個原始點云轉換到機械臂TCP坐標系下,得到Ptcp,1,Ptcp,2,…,Ptcp,9。
Ptcp,i=Mhand-eyePi,i=1,2,…,9
(13)
步驟2根據TCP實時姿態獲取姿態轉換矩陣,將點云轉換到機器人基坐標系下,得到Pbase,1,Pbase,2,…,Pbase,9。
Ttcp=Tk,k∈[1,9]
(14)
(15)
Pbase,i=TbasePtcp,i,i∈1,2,…,9
(16)
步驟3對每個點云進行統計濾波,得到Pfiltered,1,Pfiltered,2,…,Pfiltered,9。
步驟4使用ICP算法[22]對濾波后的點云進行配準,當滿足停止準則C時停止,得到粗粒度姿態映射圖Tcoarse為
Tcoarse=ICP(Pfiltered,1,…,Pfiltered,9,C)
(17)
步驟5基于參考點云Pbase,1進行全局姿態圖優化,得到最終姿態映射圖Tfinal為
Tfinal=GO(Pbase,1,…,Pbase,9,Tcoarse)
(18)
步驟6使用最終姿態映射圖將每個點云轉換到參考點云Pbase,1并融合,得到最終點云Pfused和最終姿態變換矩陣Tfused,i為
Pfused=Merge(Pbase,1,…,Pbase,9,Tfinal)
(19)
Tfused,i=TfinalTbase,i,i=1,2,…,9
(20)
式中:GO表示全局優化函數,采用圖優化方法,將ICP算法配準結果表示為一個圖結構,每個節點代表一個點云,每條邊表示兩個點云之間的變換關系。通過最小化圖中節點之間的誤差優化所有點云的變換關系,獲得更精準的匹配結果。Merge表示聚合函數,將一組點云累加為單個稠密點云。
上述漸進點云配準融合的結果如圖2所示,分別為單個點云可視化結果和2~9個點云融合可視化結果,色調越暖表示深度值越小,顏色越冷表示深度值越大,可觀察到隨著融入的不同位姿點云數目遞增,點云中的空洞區域數量和表面積遞減。以上結果充分說明所提出的策略可以較好地還原被采集場景的稠密空間結構。

t為點云融合輪次
2.3.1 深度投影
由于深度估計任務通常采用三通道彩色紋理圖像作為輸入,采用單通道深度圖作為輸出,需要將上述配準融合后的點云投影回圖像坐標系以形成單通道深度真值數據。設點云在掃描儀坐標系下的表示為Pcam,需要投影回的深度圖為D,相機內參矩陣為K,通過點云坐標轉換投影回二維深度圖的過程如下。
對每個點pi∈Pcam,計算其在深度圖中的像素坐標(ui,vi)為
(21)
根據像素坐標(ui,vi),將深度圖中對應像素點的值賦為該點的深度值zi,從而獲得投影后深度圖。
D(ui,vi)=zi
(22)
圖3展示了多視角點云迭代配準過程中是否對點云進行統計濾波的深度投影結果對比。由此可見,主要受空氣中灰塵對結構光漫反射影響,原點云數據在各個區域存在部分深度值較小的微小噪音。而上述濾波過程能夠有效濾除分布在各深度區間的噪音,獲得更平滑且符合實際目標的深度分布,有利于提升逐對配準效率。

圖3 是否進行點云統計濾波處理的深度圖對比
2.3.2 感興趣區域提取
在采集到的場景深度中包含器械長柄、器械夾持器等無關深度數據。定義感興趣區域(region of interest,ROI)為眼球組織及組織上方的器械末端,因此深度圖中的組織支撐臺區域近似為ROI的內切圓。對該區域點云進行圓臺平面上、下局部區域的深度截斷,從而使得該區域的最大輪廓為圓臺外邊緣。針對不同視角采集的深度圖執行圓檢測,并沿其外接正方形進行圖像截取。分別對原始灰度紋理圖像和深度圖提取ROI的部分結果如圖4所示,其中,為了更好地展現深度差異,將空洞區域賦值為場景中最大深度,并對深度圖進行了可視化增強處理,色調越暖表示深度值越大。

圖4 9位姿下深度圖及紋理圖ROI可視化結果
深度數據集包括1 500對576×576像素的紋理圖和深度圖對,其中采集深度有效精度為35 μm,深度圖保存精度約10 μm。由于原始采集紋理為灰度圖,通過直方圖均衡化方法對暗處增強后進行上色處理,以適應網絡輸入。選擇其中1 100對作為訓練集,其余作為測試集。
所有的訓練和驗證都在NVIDIA TITAN Xp顯卡上運行,CUDA版本為10.2。使用Pytorch實現上述網絡,并利用Adam作為優化器。λ、w1、w2值分別設置為0.75、1和2。最大深度設定為0.070 55,最小深度為1×10-1。通過針對數據集的微調,將本文方法與主流深度估計基準中的算法進行了對比。
為了同時評價不同網絡在上述數據中的深度估計性能,引入3種主要的評價指標:RMSE、log10和SILog。RMSE表示實際深度值和預測深度值之間的均方根誤差,SILog和log10是針對深度值的比例誤差進行評估的指標。SILog在一定程度上對小深度值的誤差更加敏感。RMSE的公式為
(24)
log10的公式為
(25)
SILog的公式為
(26)

基于在創建的數據集上的實驗結果,對不同方法的性能進行了評估和比較。其中,各評價指標定量對比結果如表2所示,在RMSE、log10、SILog等指標下,本文提出的方法表現出了優秀的性能,相較于Lap、GLP、Bts以及NeWCRFs等主流深度估計方法,均具有更小的誤差和更高的精確性。

表2 本文方法與主流方法評價指標對比
在RMSE指標下,本文提出的方法相較于Lap、GLP、Bts、NeWCRFs等方法的改進比率分別為22.2%、7.4%、30.7%、42.8%;在log10指標下,相應的改進比率33.7%、31.4%、42.0%、53.2%;在SILog指標下,相應的改進比率13.0%、9.4%、17.1%、6.1%。這些實驗結果表明,本文方法在對該場景進行全局深度推理時比其他方法更加準確可靠,在絕對精度方面領先。
對不同方法推理的深度圖進行定性比較的結果如圖5所示,像素顏色越暖代表深度值越小。本文方法對于器械位于眼外的部分能夠更加顯著地區分器械和周圍組織的邊界,尤其對于小型器械如撕囊鑷或波恩鉗表現出更為出色的性能,如圖5中撕囊鑷位于眼外部分的兩個分支間的間隙更為清晰。
對于器械在眼內的部分,如圖5中白框所標注,本文方法能夠更精準地識別器械尖端的深度信息,而其他方法中則存在深度信息模糊或器械部分被過度放大的情況,這在實際應用中可能導致對危險操作的預計失效。本文方法在眼內外器械深度估計中均表現出優越的性能,具有更好的臨床應用前景。
為了探究模型不同組件對性能的影響,進行了分別去除通道注意力和分支注意力組件的實驗,并與完整模型進行了性能比較。實驗結果如表3所示。

表3 是否采用關鍵注意力機制的消融實驗結果
在RMSE評價指標上,無通道注意力和無分支注意力組件的模型相對于完整模型均出現了性能下降,RMSE分別為0.001 66和0.001 72,而完整模型的RMSE為0.001 51。在log10評價指標上,無分支注意力組件的模型相對于完整模型的表現下降最為明顯,log10分別為0.009 79和0.008 33,而無通道注意力組件的模型相對表現稍好,log10為0.009 24??梢钥闯?在log10評價指標上,通道注意力和分支注意力組件對模型的性能提升也非常重要。在SILog評價指標上,雖然無通道注意力和無分支注意力組件的模型相對完整模型的表現都有所下降,但差距相對較小,SILog分別為0.031 55和0.032 07,而完整模型的SILog為0.030 39。因此,本文采用的通道注意力和分支注意力組件對模型性能起到了較好的提升作用,在不同評價指標上表現略有差異。
設計并實現了一種基于雙注意力引導特征級聯的深度估計網絡,并提出了一種多視角點云迭代式配準方法。在構建的數據集上的實驗結果表明,通過與主流算法對比,本文方法更為準確地恢復了顯微手術影像中的三維結構,并在全局推理精確性上有較大提升。該方法在推理時不依賴于昂貴的深度采集裝置和精密的雙目成像設備,可與現有的影像系統高效集成,端到端地進行深度估計,為醫生提供術中導航信息支撐。尤其是在關鍵的微小器械深度估計方面,解決了局部深度模糊、細節丟失問題,有望為難以人為察覺的危險操作提供預警機制。
然而,本文研究只涵蓋了器械末端全部處于透明角膜組織下且紋理清晰可見的場景,但在臨床實踐中,手術器械對于非淺表組織的誤傷也多見于器械被不透明結構如虹膜或晶體皮質等遮擋導致視覺特征模糊的情形下,僅憑借點對點的像素到深度估計將難以有效識別器械末端深度。在未來的工作中,將進一步對眼內被組織遮擋的器械的深度估計問題進行研究。