共聚焦激光顯微內鏡技術可以實時、原位獲取細胞級圖像,能夠輔助醫生術中實時診斷,但是其無創性給重新定位光學活檢部位帶來了困難。共聚焦探針定位算法可以自動計算探針尖端坐標,即光學活檢部位坐標。本文提出了一種基于區域生長和內窺鏡尺寸先驗的共聚焦探針定位算法,該算法在探針邊緣圖像上通過區域生長檢測探針區域,隨后基于給定的探針軸線搜索尖端點,并迭代優化。最后基于探針單自由度運動特點,利用內窺鏡的尺寸先驗信息計算出探針尖端點的三維坐標,解決了單目相機的尺度不確定問題。在本文采集到的數據集上對共聚焦探針定位算法進行測試,結果表明,該算法不再依賴于探針的顏色信息,避免了光照不均勻對探針像素灰度值的影響,具有較魯棒的定位精度和運行速度。在探針伸出內窺鏡0~5 cm的長度范圍內,像素誤差最低可達11.76像素,平均相對位置誤差最低可達1.66 mm,能夠實時、準確地實現共聚焦探針的定位。
引用本文: 劉玉瑩, 王一帆, 左思洋. 基于區域生長和內窺鏡尺寸先驗的共聚焦探針定位算法. 生物醫學工程學雜志, 2022, 39(5): 945-957. doi: 10.7507/1001-5515.202205036 復制
引言
組織學活檢是癌癥細胞鑒別的金標準,但是其程序繁瑣,等候時間較長,無法實時指導手術[1]。基于探針的共聚焦激光顯微內鏡技術(probe-based confocal laser endomicroscopy,pCLE)是一種新興的光學成像技術[2-3],通過共聚焦探針傳遞激光至組織表面,可以實時、原位地獲取細胞級圖像[4],能夠輔助醫生術中實時診斷[5-7]。使用pCLE技術進行檢查的過程被稱為光學活檢[8-10],具有巨大的臨床應用潛力。但是,由于共聚焦探針不在組織上留下痕跡,因此當醫生想要對該活檢部位再次進行光學活檢或切除時,存在重定位困難的問題[11]。
針對光學活檢部位沒有痕跡難以重復定位的問題,研究人員們提出了一系列解決方案。目前,基于純圖像實現光學活檢重定位方法主要有以下幾種。第一種是通過場景識別技術重定位光學活檢部位,當算法識別到包含光學活檢部位的圖像幀時,輸出相應信息提醒操作人員,該方法雖然可以判斷當前幀中是否存在光學活檢部位,但是其輸出結果是一張包含光學活檢部位的圖像,無法準確定位圖像中光學活檢部位的具體位置。第二種方法是將光學活檢重定位問題作為二維(two-dimensional,2D)目標跟蹤問題進行求解,其輸出信息是當前圖像上的光學活檢點或光學活檢部位的位置。例如Allain等[12]基于對極幾何[13]獲得的三維(three-dimensional,3D)位姿信息,通過極線交點跟蹤光學活檢部位;Mouton等[14]將重定位光學活檢部位問題作為二維目標跟蹤問題進行處理,混合使用Lucas-Kanade光流[15-17]和Tracking-Learning-Detection方法[18]跟蹤光學活檢部位。第三種方法是跟蹤內窺鏡位姿并構造胃部的三維地圖,在三維地圖中標記光學活檢點,基于內窺鏡當前位姿將三維地圖中的光學活檢點重投影至內窺鏡當前圖像,以在當前圖像中重定位光學活檢點。例如Mountney等[19]使用視覺同步定位與地圖構建(simultaneous localization and mapping,SLAM)算法估計內窺鏡位姿并構建三維地圖,同時計算光學活檢部位的三維位置,基于空間位置信息實現光學活檢部位的重定位。
獲取光學活檢部位在圖像或三維空間中的位置是跟蹤光學活檢部位的前提,由于共聚焦探針尖端與光學活檢部位緊密接觸,因此共聚焦探針尖端位置即光學活檢部位位置[19-21]。為了避免在手術或檢查中手動選擇共聚焦探針尖端像素點的麻煩,使用算法實現共聚焦探針尖端定位更加方便。Mountney等[19]提出了一種基于探針顏色信息的共聚焦探針定位算法,該算法通過幀間差分[22]與區域生長[23-24]分割探針區域,通過霍夫變換[25-26]檢測探針軸線,將軸線與探針區域的交點作為目標點,隨后根據探針尺寸的先驗知識獲得目標點的三維坐標。但是該方法依賴探針的顏色信息以及探針軸的可見性,而在實際使用中由于光照不均勻,探針難以被算法完整地分割出來,導致算法定位精度較差。Mouton等[14]使用主動形狀建模方法通過探針尖端邊緣的四個標志點直接定位探針尖端,避免了探針軸可見性的限制。但是他們的方法需要提前訓練探針尖端的形狀模型,在處理過程中也需要迭代計算探針尖端的位置,因此算法的速度較慢;同時該方法只計算探針尖端的二維坐標,而省略了三維坐標。
本論文提出了一種基于區域生長和內窺鏡尺寸先驗的共聚焦探針定位算法。本文的主要貢獻是:① 提出了一種基于探針邊緣圖像區域生長算法的探針區域檢測方法。該方法在探針邊緣圖像上執行區域生長,降低了在傳統灰度圖像上進行區域生長時因探針區域亮度變化而帶來的探針區域分割不完整的問題。② 有別于傳統使用霍夫變換檢測探針軸線的方法,本文基于給定的探針軸線方程,直接搜索探針尖端點。③ 基于探針單自由度運動特性和內窺鏡尺寸的先驗知識,實現了單目相機中探針尖端點三維空間坐標的計算。
1 方法
本文所提出的基于區域生長和內窺鏡尺寸先驗的共聚焦探針定位算法流程如圖1所示,可分為預處理和共聚焦探針定位算法兩個部分。由圖1可知預處理又可分為圖像裁剪、相機標定和測量尺寸,共聚焦探針定位算法可分為探針區域檢測、尖端像素定位、三維點坐標計算三部分。

1.1 預處理
1.1.1 圖像裁剪
原始的內窺鏡圖像包含時間、患者姓名等無關信息,因此首先要對圖像進行裁剪,我們保留圖1中紅色方框所標記出的圖像中心區域。
1.1.2 相機標定[27 ]
由于需要實現像素坐標系和相機坐標系之間的坐標轉換以計算探針尖端點三維位置,因此需要對內窺鏡相機進行標定獲取焦距和主點等相機內參。我們采用了簡單且實用性強的張正友標定法對內窺鏡相機進行標定,需要使用一塊棋盤格標定板,如圖1所示,令相機在不同視角拍攝該標定板,拍攝圖像數目在20張左右。隨后使用MATLAB(MathWorks,美國)中的Camera Calibrator工具箱完成標定,最終標定的精度較高。
1.1.3 測量尺寸
單目相機具有尺度不確定性,無法直接從圖像中恢復某一像素點在相機坐標系下對應的絕對位置。我們借助內窺鏡尺寸先驗信息,給定探針在相機坐標系X軸方向上的絕對坐標,從而獲得探針尖端點在相機坐標系中的絕對位置。如圖1中所示,我們使用游標卡尺測量兩個工作通道最外側距離 和最內側距離
便可得到內窺鏡工作通道的軸線與相機軸線間的距離為
,這樣得到的數值誤差相對較小,而如何應用 W 將在1.2.3節三維點坐標計算部分介紹。
1.2 共聚焦探針定位算法
1.2.1 探針區域檢測
醫生在進行光學活檢時,內窺鏡基本保持不動,探針從內窺鏡的工作通道中伸出,達到活檢區域實施光學活檢。因此,可以通過幀間差分計算當前幀與背景幀之間的差異,差異部分主要為探針區域。由于在進行內窺鏡檢查時,光完全從內窺鏡上的照明燈發出,共聚焦探針也從內窺鏡工作通道伸出,與照明燈距離很近,因此當探針伸出較長時,探針靠近燈的部分和遠離燈的部分亮度差異較大,且探針不同部分的灰度值也存在差異,因此在灰度圖像上進行區域生長時難以完整檢測出探針區域,如圖2所示。但是,探針邊緣圖像是一種二值圖像,檢測到的邊緣像素值為255,其他像素值均為0。當在邊緣圖像上進行區域生長時,將不受到探針近端遠端像素值變化的影響,能較為完整地檢測探針區域,如圖2所示。

探針區域檢測算法的整體偽代碼如表1所示,探針區域檢測算法流程如圖3所示。在第1步中,我們對彩色RGB圖像,灰度圖像,彩色HSV圖像,紅色(R)、綠色(G)、藍色(B)通道圖像,以及色調(H)、飽和度(S)、明度(V)通道圖像分別進行了幀間差分,通過對比不同圖像的幀間差分結果,發現G通道圖像進行幀間差分的效果最好,探針區域和周圍環境區域的區分度最高,因此選擇彩色RGB模型中的G通道圖像完成幀間差分得到如圖3所示幀間差分后的圖像。在第2步中,我們使用腐蝕處理去除部分噪聲,同時算法通過計算圖像中白色像素的數目辨別探針是否出現,以加速計算。在區域生長時,邊緣的閉合對獲得良好的探針區域至關重要,但是單張圖像或去除其中的灰度圖/RGB/SV三者之一所提取出的探針邊緣會不完整,容易導致無法通過區域生長分割出探針區域,因此在第3步中我們采取可能存在信息冗余的策略將多張圖像的Canny算法的邊緣檢測結果累加[28]以確保探針邊緣閉合,并隨后在第4步進行膨脹處理,以進一步實現探針邊緣微小縫隙的閉合。第5步以第2步圖像中的白色像素點作為區域生長的種子點在第4步得到的圖像中執行區域生長算法,獲得如圖3所示的區域生長結果圖。為了抵消第4步中的膨脹處理,我們在第6步進行腐蝕處理得到探針區域。


1.2.2 尖端像素定位
Mountney等[19]使用霍夫變換檢測探針兩側切線隨后計算軸線,但是檢測到的探針區域的完整性對霍夫變換檢測切線的精度有很大影響,該方法易導致兩條切線的檢測不準確、不穩定的問題。共聚焦探針從內窺鏡的工作通道中伸出,由醫生操縱進行前進和后退的單自由度運動,而且探針彈性較大,在使用中可近似認為是剛體,因此,探針軸線在相機坐標系中幾乎是固定不變的。基于此先驗,本論文通過采集相關數據并人工標記探針真實位置,直接給定圖像中的軸線方程而并未采用霍夫變換,這限制了算法在不同設備間的通用性,因為不同設備的軸線方程是不一樣的,但通過對所提出的共聚焦探針定位算法進行實驗測試,證明該方法提升了算法定位精度、魯棒性及處理速度。我們使用的內窺鏡和共聚焦探針如圖4a~b所示,為了計算簡單,我們以軸線和探針區域的交點作為探針尖端點,而不是探針尖端的圓心,如圖4c~d所示。

a. 內窺鏡;b. 探針;c. 探針尖端圓心;d. 探針尖端點
Figure4. Equipment used in the probe tip pixel localization algorithm and its detailsa. endoscopy; b. probe; c. center of the probe tip; d. the probe tip
尖端像素定位算法偽代碼如表2所示,因為內窺鏡具有左右兩個通道,因此我們在第1步基于圖像的灰度質心法判斷探針位于左側通道或右側通道,以此啟動不同的給定軸線方程,圖像中的軸線方程為:

![]() |
點(m,n)為人工標記真實探針尖端點坐標,θ為初始角度。第2步,在圖像中沿著軸線由上至下搜索白色像素點,以第一個搜索到的點作為初始點。由于所使用的共聚焦探針的形狀不為標準圓柱體,這會導致探針的軸線存在變化,如圖5b所示。第3步,我們借助已知的給定軸線方程,對初始點坐標進行優化,利用已知軸線迭代逼近尖端點。一次迭代優化結果如圖5c所示,其中綠色線為給定軸線,藍色點為探針初始尖端點 ,青色線為位于探針區域邊緣的左右兩點
和
的連線,紅色點為本次優化后的探針尖端點
,而中點
與
過于接近,未作標記。

a. 內窺鏡示意圖;b. 軸線偏差示意圖;c. 一次迭代優化后結果圖
Figure5. Axis deviation causes and correctionsa. schematic diagram of the endoscope; b. schematic diagram of the axis deviation; c. result graph after one iteration optimization
1.2.3 三維點坐標計算
共聚焦探針從內窺鏡的工作通道中伸出,只存在前后方向,即相機坐標系中Z軸方向的單自由度運動,因此我們可以根據內窺鏡尺寸的先驗知識,限制探針尖端在相機坐標系X軸的坐標,原理如圖6所示。內窺鏡工作通道的軸線與相機軸線間的距離為W,我們假設共聚焦探針與工作通道同軸,則探針尖端的X坐標已知,為W或-W。

結合基于相機模型得到的歸一化坐標,可計算尖端點的三維坐標,三維點坐標計算偽代碼如表3所示。

2 結果
我們使用EVIS LUCERA ELITE電子內鏡系統[29](包括GIF-2TQ260M內窺鏡,奧林巴斯,日本)、硅膠胃模型、Cellivizio UltraMiniO探針(Mauna Kea Technologies公司,法國)、Aurora電磁追蹤系統(NDI,加拿大)進行實驗[30],在一臺搭載了Core i7-8700 CPU的Ubuntu 16.04 LTS電腦上進行實驗,整體實驗設備系統如圖7所示。

2.1 二維數據集實驗
我們使用上述設備(不包括電磁追蹤系統)采集數據,探針在內窺鏡左右兩個通道分別前進5 cm,隨后后退。共采集四個數據集,分為二維左進、左出、右進、右出,共293張圖像,具體情況如表4所示。

數據集經人工標記探針尖端作為其真實值。2D_left_go數據集中的部分圖像如圖8所示,由圖可見,數據集中包含了探針只出現很小區域(0 cm之后第一張)的圖像以及探針伸出較長(5 cm)時的圖像,這些都是非常有挑戰性的圖像。

所提出算法在計算尖端點像素坐標時使用了直接給定的軸線方程,而文獻[14]的算法中使用霍夫變換提取共聚焦探針兩側切線隨后計算軸線,即提取出探針邊緣后在邊緣圖像上用霍夫變換檢測探針兩側的切線,然后根據兩條切線的極坐標方程和切線間夾角計算確定出軸線方程,隨后從圖像第一行開始遍歷軸線上的點以尋找尖端像素點。為表明給定軸線的優勢,我們對比了在所提出的算法中使用霍夫變換檢測軸線和直接給定軸線的算法性能。同時,為表明迭代優化尖端點的效果,也對比了迭代優化前后的性能。使用霍夫變換且不進行迭代優化的算法被記作Hough,使用給定軸線且不進行迭代優化的算法被記作Fixed,使用給定軸線且進行迭代優化的算法被記作Refine。圖9為基于Hough和Refine共聚焦探針定位算法的二維效果圖示例,由圖可見基于Hough共聚焦探針定位算法效果過于依賴探針區域的完整性,檢測效果十分不穩定,易導致較大誤差即軸線完全偏離(如圖9中Hough算法效果較差的彩色圖像和檢測區域圖像);而基于Refine共聚焦探針定位算法的效果則較為穩定,探針無論是從左邊進入還是右邊進入,對于探針尖端的定位精度都較為準確。

本文采用召回率、像素誤差和處理時間三個指標量化對比三種算法,其中召回率指成功計算出探針尖端點位置的圖像占所有圖像的比例;像素誤差是指以標記的探針尖端像素點真實位置和算法所計算出的尖端像素點位置之間的像素距離為誤差,計算二維數據集中所有圖像的平均誤差。對比結果如表5所示,由此可見給定軸線的兩種算法,即Fixed和Refine,在召回率、像素誤差和處理時間上均優于Hough算法;Refine算法在像素誤差上優于Fixed算法,這表明給定軸線的有效性,以及迭代優化尖端點的有效性。特別是由于探針剛進入相機視野時,圖像中的探針區域較小,霍夫變換進行線檢測時非常容易失敗,然后Hough算法會因計算軸線失效而無法順利計算出探針尖端像素點,進而導致Hough算法的召回率較低同時像素誤差較大。另一方面,由表5可以看出Hough算法處理時間比Fixed和Refine算法要長,這是因為Hough算法需要額外的時間計算軸線;Fixed和Refine算法在處理時間指標中毫秒量級的差異波動不相上下,會有處理時間上的隨機現象,這種隨機現象是因為Refine算法優化Fixed算法只有三次,計算簡單,負擔小。

若輸出每一張圖像對應的像素誤差,其誤差分布如圖10所示。由于探針伸出與收回過程均采集圖像,因此2D_left_go和2D_left_come、2D_right_go和2D_right_come數據集對應的誤差圖像基本具有對稱性。從圖中可以看出,Hough算法的像素因為霍夫線檢測易存在錯誤,導致探針尖端點檢測誤差較大且不穩定;Fixed算法的像素誤差和穩定性均更優,但是在探針伸出長度較小時(即2D_left_go和2D_right_go的0-24號圖像、2D_left_come的75-90號圖像和2D_right_come的50-70號圖像)誤差均較大,這是因為Fixed算法的探針軸線是給定標注的,而在標注給定軸線時探針伸出長度較大,所以當探針伸出長度較小時容易導致探針軸線的偏離;Refine算法對軸線偏離問題有較好的修正效果,誤差得到了明顯降低,但由于探針與內窺鏡較長,兩者間存在摩擦誤差會導致探針比工作通道細,無法保證百分之百符合先驗給定的探針軸線,所以在探針伸出長度較小時,Refine算法的效果雖然比Fixed和Refine算法好但也存在一些誤差。在圖10中,當探針伸出長度較大時,即2D_left_go的50-80號圖像和2D_right_go的32-60號圖像、2D_left_come的0-33號圖像和2D_right_come的15-25號圖像,出現鋸齒狀變化,這是由于檢測到的探針區域的不完整所致。圖11a展示了2D_left_go數據集的51號圖像的邊緣檢測結果,圖11b是圖11a中紅色方框處的放大圖,從圖11b中可以看出,探針末端的邊緣存在斷裂,因此圖11c所示的區域生長得到的探針區域并不完整,圖11d是圖11c中紅色方框處的放大圖,從中可以看出邊緣閉合對于探針區域生長非常重要,初始點相比圖11e的真實位置存在較大誤差。由于探針距離內窺鏡越遠,探針頭部在圖像上所占的區域越小,因此該原因導致的誤差會隨著探針伸出長度的增大而減小,該趨勢可從圖10中觀察到。


a. 邊緣檢測;b. a圖中紅色方框放大圖;c. 尖端像素點定位結果;d. c圖中紅色方框放大圖;e. 初始尖端點與真實尖端點位置誤差
Figure11. The large error renderings caused by incomplete edgesa. edge detection; b. the enlarged image of the red box in image a; c. the localization result of the tip pixel; d. the enlarged image of the red box in image c; e. the position error between the initial tip point and the real tip point
2.2 三維數據集實驗
在共聚焦探針上綁定電磁追蹤傳感器,如圖12a所示,以獲得共聚焦探針的三維坐標,仿照二維數據集部分采集數據,得到如表6所示的三維數據集。同樣人工標記探針尖端的真實像素坐標。由于探針附加電磁追蹤傳感器后重力變大,因此當探針伸出長度較長時軸線發生偏移,如圖12b所示,這會導致誤差增加。

a. 附加電磁追蹤傳感器的共聚焦探針;b. 受重力影響導致的軸線偏移
Figure12. The additional electromagnetic tracking sensor and its effect on the axisa. confocal probe with attached electromagnetic tracking sensor; b. axis offset due to gravity

如圖13所示,當探針伸出長度在正常范圍0~5 cm內(超出5 cm后人眼也難以分辨),共聚焦探針定位算法三維圖像效果良好。

三維數據集的圖像像素誤差的對比結果如表7所示,誤差分布如圖14所示。可以發現:給定軸線的兩種算法Fixed和Refine在召回率、像素誤差和處理時間上依然均優于Hough算法,且Refine算法在像素誤差上依然優于Fixed算法,與二維數據集的結果相同。


由于Aurora電磁追蹤系統的坐標系與相機坐標系不同,且在胃模型內部無法進行坐標系對齊,因此,借助電磁追蹤設備所采集的三維信息,我們對比了相鄰兩個圖像對應的尖端三維坐標間的相對位置誤差,即,對于兩個相鄰圖像和
,計算所得的尖端點坐標分別為
和
,而根據Aurora電磁追蹤系統獲得的坐標分別為
和
,則相對位置誤差為
![]() |
計算三維數據集中所有圖像的相對位置誤差平均值作為平均相對位置誤差。分別基于Hough、Fixed和Refine的三種共聚焦探針定位算法在三維數據集上的平均相對位置誤差如表8所示,其對應的相對位置誤差分布如圖15所示。由表8可知Hough算法不穩定,存在由于霍夫線檢測失敗等導致相對位置誤差大于100 mm的數據,而在繪制圖15時為了圖片表達清楚、圖片大小美觀等原因我們過濾掉了誤差大于100 mm的數據。總的來說導致誤差的原因除了二維數據集實驗中所述的給定軸線偏差和檢測到的尖端區域邊緣斷裂外,還增加了由于附加電磁追蹤傳感器影響探針形狀從而導致的軸線偏移誤差。結果表明,Fixed與Refine算法精度接近,均遠優于Hough算法。要注意的是,雖然Fixed的相對位置誤差要略小于Refine算法,但這并不能證明Fixed的精度高于Refine算法。在探針剛伸出時,探針真實軸線與算法中預先給定的軸線偏離,Fixed算法獲得的尖端像素點也偏離了真實的尖端像素點,但是這些錯誤的尖端點很接近,因此其相對位置誤差較小。而Refine算法對初始點進行調整以獲得尖端點,在調整時可能導致相鄰兩幀的尖端點距離加大,這導致了相對位置誤差略大,但正如上述的像素誤差對比結果,其精度是優于Fixed算法的。


3 討論
在進行內窺鏡檢查時,光照由內窺鏡上的照明燈發出,共聚焦探針近處和遠處的亮度差異較大,共聚焦探針不同零件因材質不同亮度差異也較大,因此在傳統灰度圖像上進行區域生長時極易導致探針區域分割不完整。本文提出了一種基于邊緣和區域生長的共聚焦探針檢測算法。該算法通過幀間差分獲取區域生長的種子像素點,并在探針邊緣圖像(二值圖像)上執行區域生長,以實現對探針區域的檢測。為了使得探針邊緣更加完整,我們將多個圖像的邊緣檢測結果累加,以增加算法的精度和魯棒性。
在圖像分析領域常用的直線檢測算法霍夫變換的精度受到探針區域的精度和完整性的影響,且當探針區域過小而尚未顯露切線時,霍夫變換會失效。我們在算法中預先設置了軸線方程,并針對探針形狀不規則而導致的軸線變化問題,對尖端點坐標進行了迭代優化。給定軸線限制了算法在不同設備間的通用性,需要針對每一臺設備手動調整軸線方程,但是給定軸線也提高了算法的精度、魯棒性和速度。且每一臺設備的軸線方程是不變的,我們只需要手動調整一次即可。
單目視覺的尺度不確定性給尖端三維坐標計算帶來了困難,基于共聚焦探針單自由度運動的特征,我們引入內窺鏡尺寸先驗信息,固定尖端的X軸坐標,以此計算尺度因子并恢復尖端的三維坐標。
二維數據集的實驗證明了我們算法的有效性,它能夠在0~5 cm范圍內有效計算尖端的像素坐標,為醫生提供參考。而在三維數據集中,由于所使用的胃模型并非是開放的,難以實現相機坐標系和Aurora坐標系的對齊,無法直接測量所提出算法的精度,因此我們使用相對位置精度側面證明了所提出算法的有效性。
本文所提出的共聚焦探針定位算法目前只在硅膠胃模型上進行了實驗驗證,尚未在真實臨床胃鏡數據中進行驗證。未來將加強與醫院的聯系,嘗試采集真實胃鏡環境中的共聚焦探針圖像,以驗證所提出的共聚焦探針定位算法。
4 總結
本論文提出了一種基于區域生長和內窺鏡尺寸先驗的共聚焦探針定位算法,該算法在二值的探針邊緣圖像上進行區域生長以實現探針區域的檢測,這減少了在傳統灰度圖像上進行區域生長時因探針區域亮度變化而帶來的探針區域分割不完整問題,由于在計算尖端點像素坐標時使用了直接給定的軸線方程而不是霍夫變換計算得到的軸線方程,提高了算法的精度、魯棒性和速度。針對單目視覺的尺寸不確定而帶來的探針尖端三維坐標計算困難問題,我們引入先驗信息恢復三維尺度。本論文采集圖像數據對共聚焦探針定位算法進行測試,通過人工標記的真實探針尖端像素點計算二維圖像上該算法所得的尖端像素點的像素精度,通過Aurora電磁追蹤系統計算該算法所得的尖端點三維位置的相對位置誤差。結果表明,在探針伸出內窺鏡0~5 cm的長度范圍內,像素誤差最低可達11.76 像素,平均相對位置誤差最低可達1.66 mm,證明所提出的算法具有在臨床上輔助醫生定位共聚焦探針的潛力。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:劉玉瑩負責實驗數據的收集分析與初稿撰寫,王一帆負責實驗設計與調試,左思洋負責論文修改并審核同意發表。
引言
組織學活檢是癌癥細胞鑒別的金標準,但是其程序繁瑣,等候時間較長,無法實時指導手術[1]。基于探針的共聚焦激光顯微內鏡技術(probe-based confocal laser endomicroscopy,pCLE)是一種新興的光學成像技術[2-3],通過共聚焦探針傳遞激光至組織表面,可以實時、原位地獲取細胞級圖像[4],能夠輔助醫生術中實時診斷[5-7]。使用pCLE技術進行檢查的過程被稱為光學活檢[8-10],具有巨大的臨床應用潛力。但是,由于共聚焦探針不在組織上留下痕跡,因此當醫生想要對該活檢部位再次進行光學活檢或切除時,存在重定位困難的問題[11]。
針對光學活檢部位沒有痕跡難以重復定位的問題,研究人員們提出了一系列解決方案。目前,基于純圖像實現光學活檢重定位方法主要有以下幾種。第一種是通過場景識別技術重定位光學活檢部位,當算法識別到包含光學活檢部位的圖像幀時,輸出相應信息提醒操作人員,該方法雖然可以判斷當前幀中是否存在光學活檢部位,但是其輸出結果是一張包含光學活檢部位的圖像,無法準確定位圖像中光學活檢部位的具體位置。第二種方法是將光學活檢重定位問題作為二維(two-dimensional,2D)目標跟蹤問題進行求解,其輸出信息是當前圖像上的光學活檢點或光學活檢部位的位置。例如Allain等[12]基于對極幾何[13]獲得的三維(three-dimensional,3D)位姿信息,通過極線交點跟蹤光學活檢部位;Mouton等[14]將重定位光學活檢部位問題作為二維目標跟蹤問題進行處理,混合使用Lucas-Kanade光流[15-17]和Tracking-Learning-Detection方法[18]跟蹤光學活檢部位。第三種方法是跟蹤內窺鏡位姿并構造胃部的三維地圖,在三維地圖中標記光學活檢點,基于內窺鏡當前位姿將三維地圖中的光學活檢點重投影至內窺鏡當前圖像,以在當前圖像中重定位光學活檢點。例如Mountney等[19]使用視覺同步定位與地圖構建(simultaneous localization and mapping,SLAM)算法估計內窺鏡位姿并構建三維地圖,同時計算光學活檢部位的三維位置,基于空間位置信息實現光學活檢部位的重定位。
獲取光學活檢部位在圖像或三維空間中的位置是跟蹤光學活檢部位的前提,由于共聚焦探針尖端與光學活檢部位緊密接觸,因此共聚焦探針尖端位置即光學活檢部位位置[19-21]。為了避免在手術或檢查中手動選擇共聚焦探針尖端像素點的麻煩,使用算法實現共聚焦探針尖端定位更加方便。Mountney等[19]提出了一種基于探針顏色信息的共聚焦探針定位算法,該算法通過幀間差分[22]與區域生長[23-24]分割探針區域,通過霍夫變換[25-26]檢測探針軸線,將軸線與探針區域的交點作為目標點,隨后根據探針尺寸的先驗知識獲得目標點的三維坐標。但是該方法依賴探針的顏色信息以及探針軸的可見性,而在實際使用中由于光照不均勻,探針難以被算法完整地分割出來,導致算法定位精度較差。Mouton等[14]使用主動形狀建模方法通過探針尖端邊緣的四個標志點直接定位探針尖端,避免了探針軸可見性的限制。但是他們的方法需要提前訓練探針尖端的形狀模型,在處理過程中也需要迭代計算探針尖端的位置,因此算法的速度較慢;同時該方法只計算探針尖端的二維坐標,而省略了三維坐標。
本論文提出了一種基于區域生長和內窺鏡尺寸先驗的共聚焦探針定位算法。本文的主要貢獻是:① 提出了一種基于探針邊緣圖像區域生長算法的探針區域檢測方法。該方法在探針邊緣圖像上執行區域生長,降低了在傳統灰度圖像上進行區域生長時因探針區域亮度變化而帶來的探針區域分割不完整的問題。② 有別于傳統使用霍夫變換檢測探針軸線的方法,本文基于給定的探針軸線方程,直接搜索探針尖端點。③ 基于探針單自由度運動特性和內窺鏡尺寸的先驗知識,實現了單目相機中探針尖端點三維空間坐標的計算。
1 方法
本文所提出的基于區域生長和內窺鏡尺寸先驗的共聚焦探針定位算法流程如圖1所示,可分為預處理和共聚焦探針定位算法兩個部分。由圖1可知預處理又可分為圖像裁剪、相機標定和測量尺寸,共聚焦探針定位算法可分為探針區域檢測、尖端像素定位、三維點坐標計算三部分。

1.1 預處理
1.1.1 圖像裁剪
原始的內窺鏡圖像包含時間、患者姓名等無關信息,因此首先要對圖像進行裁剪,我們保留圖1中紅色方框所標記出的圖像中心區域。
1.1.2 相機標定[27 ]
由于需要實現像素坐標系和相機坐標系之間的坐標轉換以計算探針尖端點三維位置,因此需要對內窺鏡相機進行標定獲取焦距和主點等相機內參。我們采用了簡單且實用性強的張正友標定法對內窺鏡相機進行標定,需要使用一塊棋盤格標定板,如圖1所示,令相機在不同視角拍攝該標定板,拍攝圖像數目在20張左右。隨后使用MATLAB(MathWorks,美國)中的Camera Calibrator工具箱完成標定,最終標定的精度較高。
1.1.3 測量尺寸
單目相機具有尺度不確定性,無法直接從圖像中恢復某一像素點在相機坐標系下對應的絕對位置。我們借助內窺鏡尺寸先驗信息,給定探針在相機坐標系X軸方向上的絕對坐標,從而獲得探針尖端點在相機坐標系中的絕對位置。如圖1中所示,我們使用游標卡尺測量兩個工作通道最外側距離 和最內側距離
便可得到內窺鏡工作通道的軸線與相機軸線間的距離為
,這樣得到的數值誤差相對較小,而如何應用 W 將在1.2.3節三維點坐標計算部分介紹。
1.2 共聚焦探針定位算法
1.2.1 探針區域檢測
醫生在進行光學活檢時,內窺鏡基本保持不動,探針從內窺鏡的工作通道中伸出,達到活檢區域實施光學活檢。因此,可以通過幀間差分計算當前幀與背景幀之間的差異,差異部分主要為探針區域。由于在進行內窺鏡檢查時,光完全從內窺鏡上的照明燈發出,共聚焦探針也從內窺鏡工作通道伸出,與照明燈距離很近,因此當探針伸出較長時,探針靠近燈的部分和遠離燈的部分亮度差異較大,且探針不同部分的灰度值也存在差異,因此在灰度圖像上進行區域生長時難以完整檢測出探針區域,如圖2所示。但是,探針邊緣圖像是一種二值圖像,檢測到的邊緣像素值為255,其他像素值均為0。當在邊緣圖像上進行區域生長時,將不受到探針近端遠端像素值變化的影響,能較為完整地檢測探針區域,如圖2所示。

探針區域檢測算法的整體偽代碼如表1所示,探針區域檢測算法流程如圖3所示。在第1步中,我們對彩色RGB圖像,灰度圖像,彩色HSV圖像,紅色(R)、綠色(G)、藍色(B)通道圖像,以及色調(H)、飽和度(S)、明度(V)通道圖像分別進行了幀間差分,通過對比不同圖像的幀間差分結果,發現G通道圖像進行幀間差分的效果最好,探針區域和周圍環境區域的區分度最高,因此選擇彩色RGB模型中的G通道圖像完成幀間差分得到如圖3所示幀間差分后的圖像。在第2步中,我們使用腐蝕處理去除部分噪聲,同時算法通過計算圖像中白色像素的數目辨別探針是否出現,以加速計算。在區域生長時,邊緣的閉合對獲得良好的探針區域至關重要,但是單張圖像或去除其中的灰度圖/RGB/SV三者之一所提取出的探針邊緣會不完整,容易導致無法通過區域生長分割出探針區域,因此在第3步中我們采取可能存在信息冗余的策略將多張圖像的Canny算法的邊緣檢測結果累加[28]以確保探針邊緣閉合,并隨后在第4步進行膨脹處理,以進一步實現探針邊緣微小縫隙的閉合。第5步以第2步圖像中的白色像素點作為區域生長的種子點在第4步得到的圖像中執行區域生長算法,獲得如圖3所示的區域生長結果圖。為了抵消第4步中的膨脹處理,我們在第6步進行腐蝕處理得到探針區域。


1.2.2 尖端像素定位
Mountney等[19]使用霍夫變換檢測探針兩側切線隨后計算軸線,但是檢測到的探針區域的完整性對霍夫變換檢測切線的精度有很大影響,該方法易導致兩條切線的檢測不準確、不穩定的問題。共聚焦探針從內窺鏡的工作通道中伸出,由醫生操縱進行前進和后退的單自由度運動,而且探針彈性較大,在使用中可近似認為是剛體,因此,探針軸線在相機坐標系中幾乎是固定不變的。基于此先驗,本論文通過采集相關數據并人工標記探針真實位置,直接給定圖像中的軸線方程而并未采用霍夫變換,這限制了算法在不同設備間的通用性,因為不同設備的軸線方程是不一樣的,但通過對所提出的共聚焦探針定位算法進行實驗測試,證明該方法提升了算法定位精度、魯棒性及處理速度。我們使用的內窺鏡和共聚焦探針如圖4a~b所示,為了計算簡單,我們以軸線和探針區域的交點作為探針尖端點,而不是探針尖端的圓心,如圖4c~d所示。

a. 內窺鏡;b. 探針;c. 探針尖端圓心;d. 探針尖端點
Figure4. Equipment used in the probe tip pixel localization algorithm and its detailsa. endoscopy; b. probe; c. center of the probe tip; d. the probe tip
尖端像素定位算法偽代碼如表2所示,因為內窺鏡具有左右兩個通道,因此我們在第1步基于圖像的灰度質心法判斷探針位于左側通道或右側通道,以此啟動不同的給定軸線方程,圖像中的軸線方程為:

![]() |
點(m,n)為人工標記真實探針尖端點坐標,θ為初始角度。第2步,在圖像中沿著軸線由上至下搜索白色像素點,以第一個搜索到的點作為初始點。由于所使用的共聚焦探針的形狀不為標準圓柱體,這會導致探針的軸線存在變化,如圖5b所示。第3步,我們借助已知的給定軸線方程,對初始點坐標進行優化,利用已知軸線迭代逼近尖端點。一次迭代優化結果如圖5c所示,其中綠色線為給定軸線,藍色點為探針初始尖端點 ,青色線為位于探針區域邊緣的左右兩點
和
的連線,紅色點為本次優化后的探針尖端點
,而中點
與
過于接近,未作標記。

a. 內窺鏡示意圖;b. 軸線偏差示意圖;c. 一次迭代優化后結果圖
Figure5. Axis deviation causes and correctionsa. schematic diagram of the endoscope; b. schematic diagram of the axis deviation; c. result graph after one iteration optimization
1.2.3 三維點坐標計算
共聚焦探針從內窺鏡的工作通道中伸出,只存在前后方向,即相機坐標系中Z軸方向的單自由度運動,因此我們可以根據內窺鏡尺寸的先驗知識,限制探針尖端在相機坐標系X軸的坐標,原理如圖6所示。內窺鏡工作通道的軸線與相機軸線間的距離為W,我們假設共聚焦探針與工作通道同軸,則探針尖端的X坐標已知,為W或-W。

結合基于相機模型得到的歸一化坐標,可計算尖端點的三維坐標,三維點坐標計算偽代碼如表3所示。

2 結果
我們使用EVIS LUCERA ELITE電子內鏡系統[29](包括GIF-2TQ260M內窺鏡,奧林巴斯,日本)、硅膠胃模型、Cellivizio UltraMiniO探針(Mauna Kea Technologies公司,法國)、Aurora電磁追蹤系統(NDI,加拿大)進行實驗[30],在一臺搭載了Core i7-8700 CPU的Ubuntu 16.04 LTS電腦上進行實驗,整體實驗設備系統如圖7所示。

2.1 二維數據集實驗
我們使用上述設備(不包括電磁追蹤系統)采集數據,探針在內窺鏡左右兩個通道分別前進5 cm,隨后后退。共采集四個數據集,分為二維左進、左出、右進、右出,共293張圖像,具體情況如表4所示。

數據集經人工標記探針尖端作為其真實值。2D_left_go數據集中的部分圖像如圖8所示,由圖可見,數據集中包含了探針只出現很小區域(0 cm之后第一張)的圖像以及探針伸出較長(5 cm)時的圖像,這些都是非常有挑戰性的圖像。

所提出算法在計算尖端點像素坐標時使用了直接給定的軸線方程,而文獻[14]的算法中使用霍夫變換提取共聚焦探針兩側切線隨后計算軸線,即提取出探針邊緣后在邊緣圖像上用霍夫變換檢測探針兩側的切線,然后根據兩條切線的極坐標方程和切線間夾角計算確定出軸線方程,隨后從圖像第一行開始遍歷軸線上的點以尋找尖端像素點。為表明給定軸線的優勢,我們對比了在所提出的算法中使用霍夫變換檢測軸線和直接給定軸線的算法性能。同時,為表明迭代優化尖端點的效果,也對比了迭代優化前后的性能。使用霍夫變換且不進行迭代優化的算法被記作Hough,使用給定軸線且不進行迭代優化的算法被記作Fixed,使用給定軸線且進行迭代優化的算法被記作Refine。圖9為基于Hough和Refine共聚焦探針定位算法的二維效果圖示例,由圖可見基于Hough共聚焦探針定位算法效果過于依賴探針區域的完整性,檢測效果十分不穩定,易導致較大誤差即軸線完全偏離(如圖9中Hough算法效果較差的彩色圖像和檢測區域圖像);而基于Refine共聚焦探針定位算法的效果則較為穩定,探針無論是從左邊進入還是右邊進入,對于探針尖端的定位精度都較為準確。

本文采用召回率、像素誤差和處理時間三個指標量化對比三種算法,其中召回率指成功計算出探針尖端點位置的圖像占所有圖像的比例;像素誤差是指以標記的探針尖端像素點真實位置和算法所計算出的尖端像素點位置之間的像素距離為誤差,計算二維數據集中所有圖像的平均誤差。對比結果如表5所示,由此可見給定軸線的兩種算法,即Fixed和Refine,在召回率、像素誤差和處理時間上均優于Hough算法;Refine算法在像素誤差上優于Fixed算法,這表明給定軸線的有效性,以及迭代優化尖端點的有效性。特別是由于探針剛進入相機視野時,圖像中的探針區域較小,霍夫變換進行線檢測時非常容易失敗,然后Hough算法會因計算軸線失效而無法順利計算出探針尖端像素點,進而導致Hough算法的召回率較低同時像素誤差較大。另一方面,由表5可以看出Hough算法處理時間比Fixed和Refine算法要長,這是因為Hough算法需要額外的時間計算軸線;Fixed和Refine算法在處理時間指標中毫秒量級的差異波動不相上下,會有處理時間上的隨機現象,這種隨機現象是因為Refine算法優化Fixed算法只有三次,計算簡單,負擔小。

若輸出每一張圖像對應的像素誤差,其誤差分布如圖10所示。由于探針伸出與收回過程均采集圖像,因此2D_left_go和2D_left_come、2D_right_go和2D_right_come數據集對應的誤差圖像基本具有對稱性。從圖中可以看出,Hough算法的像素因為霍夫線檢測易存在錯誤,導致探針尖端點檢測誤差較大且不穩定;Fixed算法的像素誤差和穩定性均更優,但是在探針伸出長度較小時(即2D_left_go和2D_right_go的0-24號圖像、2D_left_come的75-90號圖像和2D_right_come的50-70號圖像)誤差均較大,這是因為Fixed算法的探針軸線是給定標注的,而在標注給定軸線時探針伸出長度較大,所以當探針伸出長度較小時容易導致探針軸線的偏離;Refine算法對軸線偏離問題有較好的修正效果,誤差得到了明顯降低,但由于探針與內窺鏡較長,兩者間存在摩擦誤差會導致探針比工作通道細,無法保證百分之百符合先驗給定的探針軸線,所以在探針伸出長度較小時,Refine算法的效果雖然比Fixed和Refine算法好但也存在一些誤差。在圖10中,當探針伸出長度較大時,即2D_left_go的50-80號圖像和2D_right_go的32-60號圖像、2D_left_come的0-33號圖像和2D_right_come的15-25號圖像,出現鋸齒狀變化,這是由于檢測到的探針區域的不完整所致。圖11a展示了2D_left_go數據集的51號圖像的邊緣檢測結果,圖11b是圖11a中紅色方框處的放大圖,從圖11b中可以看出,探針末端的邊緣存在斷裂,因此圖11c所示的區域生長得到的探針區域并不完整,圖11d是圖11c中紅色方框處的放大圖,從中可以看出邊緣閉合對于探針區域生長非常重要,初始點相比圖11e的真實位置存在較大誤差。由于探針距離內窺鏡越遠,探針頭部在圖像上所占的區域越小,因此該原因導致的誤差會隨著探針伸出長度的增大而減小,該趨勢可從圖10中觀察到。


a. 邊緣檢測;b. a圖中紅色方框放大圖;c. 尖端像素點定位結果;d. c圖中紅色方框放大圖;e. 初始尖端點與真實尖端點位置誤差
Figure11. The large error renderings caused by incomplete edgesa. edge detection; b. the enlarged image of the red box in image a; c. the localization result of the tip pixel; d. the enlarged image of the red box in image c; e. the position error between the initial tip point and the real tip point
2.2 三維數據集實驗
在共聚焦探針上綁定電磁追蹤傳感器,如圖12a所示,以獲得共聚焦探針的三維坐標,仿照二維數據集部分采集數據,得到如表6所示的三維數據集。同樣人工標記探針尖端的真實像素坐標。由于探針附加電磁追蹤傳感器后重力變大,因此當探針伸出長度較長時軸線發生偏移,如圖12b所示,這會導致誤差增加。

a. 附加電磁追蹤傳感器的共聚焦探針;b. 受重力影響導致的軸線偏移
Figure12. The additional electromagnetic tracking sensor and its effect on the axisa. confocal probe with attached electromagnetic tracking sensor; b. axis offset due to gravity

如圖13所示,當探針伸出長度在正常范圍0~5 cm內(超出5 cm后人眼也難以分辨),共聚焦探針定位算法三維圖像效果良好。

三維數據集的圖像像素誤差的對比結果如表7所示,誤差分布如圖14所示。可以發現:給定軸線的兩種算法Fixed和Refine在召回率、像素誤差和處理時間上依然均優于Hough算法,且Refine算法在像素誤差上依然優于Fixed算法,與二維數據集的結果相同。


由于Aurora電磁追蹤系統的坐標系與相機坐標系不同,且在胃模型內部無法進行坐標系對齊,因此,借助電磁追蹤設備所采集的三維信息,我們對比了相鄰兩個圖像對應的尖端三維坐標間的相對位置誤差,即,對于兩個相鄰圖像和
,計算所得的尖端點坐標分別為
和
,而根據Aurora電磁追蹤系統獲得的坐標分別為
和
,則相對位置誤差為
![]() |
計算三維數據集中所有圖像的相對位置誤差平均值作為平均相對位置誤差。分別基于Hough、Fixed和Refine的三種共聚焦探針定位算法在三維數據集上的平均相對位置誤差如表8所示,其對應的相對位置誤差分布如圖15所示。由表8可知Hough算法不穩定,存在由于霍夫線檢測失敗等導致相對位置誤差大于100 mm的數據,而在繪制圖15時為了圖片表達清楚、圖片大小美觀等原因我們過濾掉了誤差大于100 mm的數據。總的來說導致誤差的原因除了二維數據集實驗中所述的給定軸線偏差和檢測到的尖端區域邊緣斷裂外,還增加了由于附加電磁追蹤傳感器影響探針形狀從而導致的軸線偏移誤差。結果表明,Fixed與Refine算法精度接近,均遠優于Hough算法。要注意的是,雖然Fixed的相對位置誤差要略小于Refine算法,但這并不能證明Fixed的精度高于Refine算法。在探針剛伸出時,探針真實軸線與算法中預先給定的軸線偏離,Fixed算法獲得的尖端像素點也偏離了真實的尖端像素點,但是這些錯誤的尖端點很接近,因此其相對位置誤差較小。而Refine算法對初始點進行調整以獲得尖端點,在調整時可能導致相鄰兩幀的尖端點距離加大,這導致了相對位置誤差略大,但正如上述的像素誤差對比結果,其精度是優于Fixed算法的。


3 討論
在進行內窺鏡檢查時,光照由內窺鏡上的照明燈發出,共聚焦探針近處和遠處的亮度差異較大,共聚焦探針不同零件因材質不同亮度差異也較大,因此在傳統灰度圖像上進行區域生長時極易導致探針區域分割不完整。本文提出了一種基于邊緣和區域生長的共聚焦探針檢測算法。該算法通過幀間差分獲取區域生長的種子像素點,并在探針邊緣圖像(二值圖像)上執行區域生長,以實現對探針區域的檢測。為了使得探針邊緣更加完整,我們將多個圖像的邊緣檢測結果累加,以增加算法的精度和魯棒性。
在圖像分析領域常用的直線檢測算法霍夫變換的精度受到探針區域的精度和完整性的影響,且當探針區域過小而尚未顯露切線時,霍夫變換會失效。我們在算法中預先設置了軸線方程,并針對探針形狀不規則而導致的軸線變化問題,對尖端點坐標進行了迭代優化。給定軸線限制了算法在不同設備間的通用性,需要針對每一臺設備手動調整軸線方程,但是給定軸線也提高了算法的精度、魯棒性和速度。且每一臺設備的軸線方程是不變的,我們只需要手動調整一次即可。
單目視覺的尺度不確定性給尖端三維坐標計算帶來了困難,基于共聚焦探針單自由度運動的特征,我們引入內窺鏡尺寸先驗信息,固定尖端的X軸坐標,以此計算尺度因子并恢復尖端的三維坐標。
二維數據集的實驗證明了我們算法的有效性,它能夠在0~5 cm范圍內有效計算尖端的像素坐標,為醫生提供參考。而在三維數據集中,由于所使用的胃模型并非是開放的,難以實現相機坐標系和Aurora坐標系的對齊,無法直接測量所提出算法的精度,因此我們使用相對位置精度側面證明了所提出算法的有效性。
本文所提出的共聚焦探針定位算法目前只在硅膠胃模型上進行了實驗驗證,尚未在真實臨床胃鏡數據中進行驗證。未來將加強與醫院的聯系,嘗試采集真實胃鏡環境中的共聚焦探針圖像,以驗證所提出的共聚焦探針定位算法。
4 總結
本論文提出了一種基于區域生長和內窺鏡尺寸先驗的共聚焦探針定位算法,該算法在二值的探針邊緣圖像上進行區域生長以實現探針區域的檢測,這減少了在傳統灰度圖像上進行區域生長時因探針區域亮度變化而帶來的探針區域分割不完整問題,由于在計算尖端點像素坐標時使用了直接給定的軸線方程而不是霍夫變換計算得到的軸線方程,提高了算法的精度、魯棒性和速度。針對單目視覺的尺寸不確定而帶來的探針尖端三維坐標計算困難問題,我們引入先驗信息恢復三維尺度。本論文采集圖像數據對共聚焦探針定位算法進行測試,通過人工標記的真實探針尖端像素點計算二維圖像上該算法所得的尖端像素點的像素精度,通過Aurora電磁追蹤系統計算該算法所得的尖端點三維位置的相對位置誤差。結果表明,在探針伸出內窺鏡0~5 cm的長度范圍內,像素誤差最低可達11.76 像素,平均相對位置誤差最低可達1.66 mm,證明所提出的算法具有在臨床上輔助醫生定位共聚焦探針的潛力。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:劉玉瑩負責實驗數據的收集分析與初稿撰寫,王一帆負責實驗設計與調試,左思洋負責論文修改并審核同意發表。