黃健,殷鋒,袁平,陳彥如
(1.四川大學計算機學院,成都610065;2.西南民族大學計算機科學與技術學院,成都610041;3.重慶市第二師范學院技術與信息工程學院,重慶400067)
計算機輔助外科手術(Computer Assisted Surgery,CAS)是一門新興的研究領域。它通過合理、定量地利用CT、MRI、SPET 等醫學診斷設備提供的多模圖像數據和立體手術導航定位系統,輔助外科醫生進行手術的計劃和干預。手術導航系統根據采用的空間定位技術,可分為機械導航系統、超聲導航系統、電磁導航系統和光學導航系統,其中光學導航系統采用可見光或紅外光成像,使用雙目立體視覺技術確定空間坐標,精度較高,是目前手術導航定位系統的主流方法。
本文設計了一種低成本、高精度的光學手術器械定位跟蹤系統。在所提出的光學跟蹤系統中,三個彩色標志小球被安裝在手術儀器上。本系統使用CAMAR0135-3T16 雙目攝像機,用張正友的標定方法[2-5]通過拍攝棋盤格對攝像機進行標定。使用Python 基于OpenCV 庫開發了一種雙目立體視覺手術器械跟蹤定位系統。系統以Win10 系統的個人計算機為運行載體,由圖像采集、圖像處理、特征點提取、立體匹配和三維重建幾個模塊構成,通過連續處理視頻數據,實現對手術器械尖端坐標的實時跟蹤定位。

圖1 實驗器具
雙目立體視覺模型涉及到幾個坐標系:如圖2 所示,世界坐標系XwYwZw,原點為Ow,其中點P 的坐標為P(xw,yw,zw)。左攝像機坐標系為XlYlZl,右攝像機坐標系為XrYrZr,原點Ol、Or分別代表左右攝像機的光學中心,Zl、Zr分別為左右攝像機的光軸。以左右攝像機光軸與各自成像平面的交點O 作為成像平面的原點,建立像平面坐標系,點p 在像平面坐標系的坐標可表示為p1(xl,yl),p2(xr,yr)。像素坐標系以左上角為原點,點p 在像素坐標系的坐標可表示為p1(ul,vl),p2(ur,vr)。

圖2 雙目視覺模型與各坐標系
根據上述坐標系關系,可得世界坐標系到像素坐標系的變換公式為:

其中Zc為比例因子,dx和dy分別代表每一個像素在x 軸與y 軸方向上的物理尺寸,f 代表攝像機的焦距。dx、dy、u0、v0只與攝像機的結構有關,稱為攝像機內部參數;R 和T 分別代表攝像機相對于世界坐標系的旋轉矩陣和平移矩陣,稱為攝像機外部參數。攝像機標定就是確定內外參數的過程。
攝像機的標定方法根據是否需要標定參照物分為傳統攝像機標定和攝像機自標定。傳統攝像機標定需要使用已知尺寸信息的高精度參照物,將參照物的已知坐標與圖像點建立對應關系以完成三維空間到二維圖像的映射,精度較高。攝像機自標定利用自身運動過程中拍攝的不同圖像建立對應關系完成標定,比較靈活但精度較低。張正友于1998 年提出的棋盤格標定方法,介于傳統標定方法和自標定方法之間,兼具兩者優勢,且已封裝為MATLAB 工具箱,可以快速對攝像機進行標定。
理想的雙目立體視覺模型中,兩個完全相同的雙目攝像機平行放置,如圖2 所示,兩個攝像機的光軸Zl、Zr互相平行,Yl、Yr軸也互相平行,Xl、Xr在同一條直線上。以兩個攝像機的光心Ol、Or作為原點分別建立坐標系,兩個光學中心的連線稱為基線,記為b。成像平面與光心的距離為焦距,兩攝像機的焦距相同,記為f。若以左攝像機的坐標系為世界坐標系,空間點P(xw,yw,zw)在左右攝像機的成像平面上的坐標分別為p1(xl,yl),p2(xr,yr),由相似三角形原理可得:

式中基線b 和焦距f 可以通過攝像機標定得到。因此,在已標定的理想雙目立體視覺系統中,可以定量計算空間點P 的深度。但實際上,兩臺攝像機光軸無法做到完全平行,若在硬件條件無法滿足的情況下,按照理想的雙目立體視覺模型來進行定位,會得到誤差較大的結果。在實際應用中,通常會對攝像機分別進行標定,得到兩個攝像機的標定矩陣參數,并通過立體匹配的方法,得到空間點P 在兩個攝像機成像平面上對應像點的坐標,采用最小二乘法進行深度信息的精確求解。
本文所述雙目視覺定位系統基于可見光定位,使用彩色小球作為手術器械的標志點。通過在手術器械上安裝三個彩色標志小球以定位手術器械針尖。標志點的中心坐標的提取計算直接影響三維坐標重建的精度。如圖1 所示,本系統使用裝有三個紅色小球的實驗裝置模擬手術器械,雙目攝像機實時拍攝運動過程中的手術器械圖像,輸入上位機中進行處理。下面以左攝像機拍攝的一幀圖像為例,說明計算機處理圖像,獲取標志點中心坐標的過程:
(1)左攝像機拍攝的圖像輸入筆記本電腦中
(2)利用OpenCV-Python 庫讀取采集到的圖像,對圖像根據RGB 值做顏色通道分離,通過高斯濾波和圖像膨脹等形態學處理方法,對圖像進行二值化處理。
(3)在圖像矩陣中尋找高亮連通區域(灰度值大于一定閾值),根據公式(4)計算中心坐標:

從右攝像機采集的圖像中提取標志點中心坐標的流程與上述過程相同。在分別獲取并處理左右攝像機拍攝的圖像,提取三個標志點的中心坐標后,可以根據第4 節的理論重建三個標志點在空間中的球心坐標。
本文提出的手術器械跟蹤系統是基于雙目攝像機的。根據標記的三維坐標重建模型(第4 節),需要一對匹配的標記點中心坐標以計算真實的標志點中心位置。在左圖像和右圖像中分別有三個標記點。在進行三維重建之前,必須對左右圖像中同一位置的標記對進行匹配。本文使用標記的空間位置進行匹配,手術器械上標記的位置固定,圖像上標記的位置也固定。左右圖像中的三個標記按照它們的位置從上到下和從左到右排序,可以通過匹配它們的排序順序號來匹配標記對。
假設已通過攝像機標定獲得兩個攝像機的標定參數,空間點P(xw,yw,zw)在左右攝像機得像素平面坐標分別為p1(ul,vl),p2(ur,vr)。根據1.1 小節中式(1),可得:

其中,Ml與Mr為世界坐標系到左右攝像機的投影矩陣。聯立式(5)與(6)得:

式(7)表示過Ol pl的直線,式(8)表示過Or pr的直線。通過(7)、(8),根據最小二乘法,可求得空間點P的坐標xw,yw,zw。
手術器械的工作點(針尖或刀尖)往往會深入病人體內而導致無法在視距范圍中獲得其圖像以及位置信息。因此,對工作點坐標的計算是間接的,首先要確定手術器械上的標志點與工作點間的剛體約束關系。
如圖3 所示,A、B、C 為手術器械的三個標志點的中心點,T 為手術器械的工作點。以A 為原點,在以ABC 確定的平面上,以AB 為x 軸建立坐標系,此為手術器械坐標系。由于手術器械是剛體結構,手術器械坐標系中工作點T 的位置是固定的。A、B、C 三點的世界坐標系坐標可由上述雙目視覺方法獲得。下一步再根據三點在世界坐標系和手術器械坐標系中的坐標,確定手術器械坐標系到世界坐標系的旋轉平移矩陣。根據此旋轉平移矩陣,可以計算出T 點在世界坐標系中的位置。因此手術器械標定,就是確定工作點T 在手術器械坐標系中的坐標。

圖3 手術器械示意圖
手術器械標定的第一步是將手術器械繞工作點T(T 點不動)進行N 次旋轉。設工作點T 的坐標為T(xt,yt,zt),標志點坐標為P(xi,yi,zi),表示第i 次旋轉所拍攝圖像中標志點的坐標。根據該標志點到點T 的歐氏距離d不變,可得:

i>=2 的方程均減去i=1 的方程消去d,得到N-1個方程:

對于三個標志點,共可得到3(N-1)個方程。通過最小二乘法,可解得T(xt,yt,zt)。
根據某次旋轉得到的標志點坐標,可求得世界坐標系至手術器械坐標系的旋轉平移變換矩陣,進而可以根據旋轉平移矩陣和T(xt,yt,zt),求得手術器械工作點T 在手術器械坐標系中的坐標。
步驟1:讀取雙目圖像;

圖4 雙目圖像
步驟2:對圖像進行RGB 通道分離、二值化、膨脹等處理;
步驟3:提取圖像中標志點中心坐標;
步驟4:立體匹配獲取雙目圖像中對應標志點的中心坐標,三維重建得到標志點在世界坐標系中的空間坐標;
步驟5:通過坐標系的旋轉平移變換,求得手術器械工作點的空間坐標。

圖6 實驗結果
本文設計了一種低成本、高精度的光學跟蹤系統。系統運行在搭載Win10 操作系統的個人計算機上,通過MATLAB 工具箱中的張氏標定法對攝像機進行標定,基于雙目視覺原理獲取標志點的深度信息,再根據標志點與手術器械針尖的剛體約束計算針尖坐標,實現對手術器械的實時跟蹤定位。系統通過Python 編寫基于OpenCV 庫完成圖像采集、處理和坐標計算的功能。