神經導航系統設備昂貴、操作復雜且普及率低,僅存于部分大型醫療機構。為了滿足其他中小型醫療機構對于神經外科手術導航系統的需求,本文闡述了一種基于增強現實(AR)理論開發的頭顱體表定位系統。該系統借鑒 AR 技術將虛擬世界影像與現實世界影像相融合的思想,將患者頭部計算機斷層掃描成像(CT)或磁共振成像(MRI)與現實中患者頭顱進行投影融合,實現頭顱體表定位。文章重點討論醫學圖像可視化中醫學數字成像和通信(DICOM)國際標準、三維重建、AR 圖像圖層融合等關鍵點。本研究測試表明,該系統適用于多款手機,能實現二維圖像展示、三維重建渲染以及臨床頭顱體表定位應用,對于輔助神經外科手術頭顱體表定位具有一定意義。
引用本文: 嚴洪立, 關俊文, 李永紅, 張秋銘, 周義成, 李雪珮, 徐江龍. 基于增強現實理論的神經外科頭顱體表定位系統. 生物醫學工程學雜志, 2019, 36(3): 428-434. doi: 10.7507/1001-5515.201711061 復制
引言
神經導航手術是指在神經外科手術中運用航海中導航的理論,依托電腦圖像處理和手術器械實現追蹤定位,輔助優化手術入路,精確操作范圍,從而減少創傷和提高手術質量。其中電腦圖像處理主要是利用計算機斷層掃描成像(computed tomography,CT)和磁共振成像(magnetic resonance imaging,MRI)采集的二維(two-dimensional,2D)圖像信息進行數字圖像處理,如圖像分割、三維(three-dimensional,3D)重建等,可實時展現患者的病灶信息,供醫生診斷、治療、制定手術方案等。而目前市面上的神經外科導航設備以國外進口為主,設備昂貴、操作復雜,需要培訓專業操作人員,增加了相應的手術治療費用,因此在國內普及率較低,主要存在于大型醫院[1]。
增強現實(augmented reality,AR)是一種實時地計算攝影機影像的位置及角度并加上相應圖像、視頻、3D 模型的技術[2-3],實現在屏幕上把虛擬世界套在現實世界中并進行互動。該技術可以簡單理解為通過攝像頭將現實世界的圖像采集展示在屏幕上,同時加上相應的圖像、視頻或 3D 模型等進行圖像的融合,實現現實世界與虛擬世界在屏幕上的互動融合。借鑒 AR 的思想,澳大利亞悉尼大學的 Eftekhar、國內解放軍總醫院的孫國臣和山東大學齊魯醫院的郭宇等采用一款名為 Sina 的軟件,通過翻拍患者頭部 CT 或 MRI 圖像并與手機攝像頭實時采集的患者頭部影像疊加融合,實現頭顱體表病灶定位,研究表明該方式可用于輔助定位[4-6]。土耳其安卡拉大學的 Dogan 等[7]的研究成果也表明該方式可行。
Sina 軟件是一款基于 Android 平臺開發的應用軟件。該軟件只可以翻拍 CT 或 MRI 圖片,然后用于與攝像頭實時采集的現實世界患者圖像信息進行融合,以實現神經外科頭顱體表定位。它僅支持拍攝的 2D 圖像,功能過于單一,醫生在根據 2D 圖像數據進行診斷時,往往會感到缺乏有效、直觀的診斷信息。因此本文結合 AR 理論,開發可對醫學數字成像和通信(Digital Imaging and Communications in Medicine,DICOM)格式的醫學圖像進行解析展示,并支持 3D 重建渲染的神經外科頭顱體表定位系統,輔助缺乏神經導航設備的中小型醫院醫生進行頭顱體表病灶定位。
1 系統設計
本系統設計如圖 1 所示,首先采用醫院的 CT 或 MRI 設備采集患者 2D 醫學圖像,圖像數據集導入服務器的數據庫中。經過視覺化工具函式庫(Visualization Toolkit,VTK)對患者的 2D 醫學圖像數據集進行 3D 重建,生成標準曲面細分語言(Standard Tessellation Language,STL)格式的 3D 醫學圖像數據并導入服務器的數據庫中。通過網絡接口,供客戶端應用程序訪問下載服務器端數據,在客戶端對 2D 和 3D 醫學圖像數據進行訪問、解析和可視化。經客戶端的攝像頭采集患者頭顱實時影像與醫學圖像融合,實現 AR 效果。經標志物(冠狀縫、矢狀縫或頭顱特征如眼眶、鼻梁等)匹配,可在客戶端屏幕上看到醫學圖像疊加到患者頭皮的情況,勾畫出腦部病灶在患者頭皮呈現的位置,實現頭顱體表病灶定位。

2 系統核心
2.1 圖像可視化
對 2D 和 3D 醫學圖像的可視化是本系統實現的基礎。在醫學圖像保存中,醫院里的 CT 或 MRI 設備采集的患者圖像都是一系列連續 2D 斷層掃描數據集。為了保證數據的質量和統一性,往往采用 DICOM 標準。該標準包含了醫學數字圖像實現采集、歸檔、通信、顯示及查詢等信息交換協議,其文件格式如圖 2 所示,分為文件頭和數據集[8]。文件頭用于標識數據集合的相關信息,而數據集則包含了醫學圖像及患者有關的信息,因此研究 2D 醫學圖像的可視化則集中在對數據集中圖像信息的解析。根據 DICOM 標準的第五部分數據結構,采用開源 DICOM 服務框架 dcm4che,通過調節窗寬窗位法提取圖像信息,并轉化成位圖,即可實現 2D 醫學圖像在普通設備上的可視化。

如前所述,所采集的患者醫學圖像都是 2D 掃描數據集,要實現 3D 可視化,則需要對其進行 3D 重建。3D 重建主要的算法有面繪制和體繪制兩種[9-10],本研究主要采用面繪制。
面繪制的實質是從一個 3D 的數據場中抽取一張等值面,也稱為“等值面提取”算法。其算法的實現過程為:首先根據 CT 或 MRI 是由不同灰度值的像素組成,而等值面是由所有具有相同灰度值的點構成的曲面,從相鄰兩個斷層圖像中分別取出 4 個對應像素點構成 3D 圖像體素[9-12],如圖 3 所示。

若體素某邊的兩端點值不相同,等值面會與這條邊相交,且僅有一個交點,交點 p 代表等值點坐標點。
![]() |
其中 p1、p2 代表兩個端點坐標,v1、v2 代表兩個端點的值,v 代表等值面的值。
將等值面與體素棱邊的交點連接會形成三角形或多邊形,共有 15 種情況,如圖 4 所示。

在等值面上的每一點,其沿面切線方向的梯度分量值是零,因此,該點梯度矢量的方向也就代表了等值面在該點的法向。移動立方體算法中使用中心差分法計算任意點 的梯度[8]
![]() |
這里 表示了空間中
這點的灰度值,然后對體素 8 個頂點上法向量進行線性插值,就可以得到位于體素邊上三角片各個頂點的法向量。根據等值面片的頂點坐標和法向量便可繪制出圖像。在開發時采用 VTK 中的 vtkMarchingCubes 實現面繪制 3D 重建。而應用領域有免費的 3DSlicer 醫學圖像可視化處理分析平臺,直接導入序列 2D 醫學圖像即可實現 3D 重建。
2.2 AR 圖像融合
AR 圖像融合是通過智能終端設備相機攝像頭采集真實世界中的頭顱實時影像,并將其與醫學影像信息融合實現 AR 的效果。其示意圖見圖 5,在智能終端設備的屏幕最終顯示為透明化的模型疊加融合在相機采集實時影像上。由于相機成像會因為鏡片的光學特性而發生有規律的變形或者畸變,包括桶型畸變、枕型畸變和線性畸變,本系統利用 OpenCV for Android 采用張正友相機標定法實現標定與畸形矯正。OpenCV 是一種開源跨平臺計算機視覺庫。通過 OpenCV 的相機視圖(JavaCameraView)展示相機采集影像圖層。而模型圖層分為 2D 和 3D 模型兩類,2D 模型即為 2D 醫學圖像,通過 Android 控件圖像視圖(ImageView)呈現。3D 模型為 3D 重建醫學圖像,要在智能終端上呈現,需要 3D 可視化,即將 STL 文件數據進行 3D 渲染。在 Android 上集成了 OpenGL ES 底層圖形庫,可實現 3D 圖形渲染。本系統基于 OpenGL ES 中專用于 3D 游戲開發的視圖類(SurfaceView),自定義 3D 視圖(STLView)用于 3D 可視化。對于相機圖層和模型圖層的疊加融合則采用幀布局管理器(FrameLayout)。它是 Android 的常用布局方式之一,以疊層方式組織內部控件,完全符合本系統需求[13]。而要使模型圖層下的相機圖層能夠在屏幕上顯示出來,只需將模型圖層的透明度設為透明即可。

3 應用測試
3.1 測試環境
由于系統尚未完全開發完善,我們僅在 PC 機上搭建簡單的服務器,并通過局域網進行測試。PC 機采用聯想小新 700 電競版,該筆記本配置的 CPU 為 i7-6700HQ,基本頻率 2.6 GHz,最大頻率 3.5 GHz,支持 4 核心、8 線程。配置了 8 GB 內存,500 GB 硬盤。首先將患者的 2D 醫學圖像保存在數據庫中,再將 3D 重建生成的 STL 文件也保存在數據庫中。移動端我們使用小米、魅族、華為等手機安裝神外導航軟件 APP 進行測試。考慮到測試的硬件環境,且測試的數據量不大,通過局域網進行測試。
3.2 測試結果
本文測試實驗數據為四川大學華西醫院 PACS 中的患者頭部 MRI 數據集,共 235 張 DICOM 格式 MRI 圖像,每張圖像大小在 555 KB 左右,共 127 MB。為了保護患者的隱私,本文屏蔽了患者的個人信息。首先通過 PC 端的 VTK 編程對 MRI 數據集進行 3D 算法重建,生成 STL 文件并與患者的 MRI 影像數據一起保存在服務器的數據庫中,再用 JAVA 后臺程序編寫相應的接口,供移動端訪問獲取數據,進行圖像解析和 3D 渲染。測試效果如圖 6 所示,表明可對 2D、3D 醫學圖像進行可視化,基于 3D 模型模擬定位。

針對 Android 平臺深度開發定制的 MIUI、ColorOS、EMUI 系統進行測試,結果如表 1 所示。該 APP 的 2D 可視化和頭顱定位功能能夠在所有測試機型中正常運行;而測試 3D 可視化及頭顱體表定位功能時,當 3D 重建的 STL 文件大于 10 MB 時,部分機型會出現無法顯示和卡頓的現象,經過 APP 調試發現造成該結果的原因是一些手機對 Android 系統進行了修改和割舍或者對內存使用進行了限制,導致無法正常使用。

4 臨床應用
4.1 應用情況
本研究開發的 APP 可通過服務器、本地、翻拍膠片三種方式獲取醫學圖像。在實際使用時,可根據實際條件選擇相應的醫學圖像獲取方式。由于本研究應用于患者手術前頭顱體表輔助病灶定位,定位區域僅作為手術的參考,并未涉及開顱后的病灶定位,手術切口設計把關還是以醫生判斷為準,因此符合四川大學華西醫院醫學倫理審查要求。在四川大學華西醫院對 19 例患者進行臨床定位分析,獲取的醫學圖像以本地數據和拍照方式獲取為主。其中硬膜外血腫 2 例,硬膜下血腫 5 例,顱內血腫 1 例,凹陷性骨折 2 例,顱骨缺損 3 例,顱骨骨折 1 例,腦挫裂傷 2 例,腦積水 2 例,皮下積液 1 例,使用 APP 進行頭顱體表定位的臨床分析情況見表 2。在手術前結合已有研究[6]表明,利用本文方法進行幕上病變輔助定位病變中心點,與標準神經導航系統對比誤差為(13.6 ± 0.55) mm,用 APP 在患者頭顱體表定位出病灶,根據病灶在頭顱體表的位置,以該區域為中心,適度向外延伸,并用記號筆標記出延伸后的區域,作為 APP 標記的頭顱體表定位病灶區。再將醫生設計的手術切口與 APP 標記的頭顱體表定位病灶區對比,重疊率在 95% 以上者作為有效定位,穿刺術以醫生穿刺點位于區域內為有效,并以醫生的手術切口設計、穿刺點為準,進行手術。定位時間采用秒表計時,從利用 APP 選擇醫學圖像時刻作為計時開始,到在患者頭皮用記號筆標記出病灶區域作為計時結束。頭部體表病灶定位的準確度以切開頭皮或打開骨窗時是否包含病灶為標準,包含則為準確,偏差大于 3 mm 及以上為偏差;腦室及血腫穿刺以術前定位穿刺點為標準,穿刺引流管達目標點即為準確,否則為偏差。滿意度為手術醫生根據 APP 體表定位結果與其手術中實際病灶的位置情況,評價為非常滿意、滿意、一般或不滿意。從表 2 可知 APP 的定位有效率為 100%,定位準確率為 89.47%(17 例患者定位滿意,2 例出現偏差),平均定位時長為 2 分 47 秒。表明 APP 頭顱體表定位具有較高的準確度且用時較短。

4.2 典型案例
4.2.1 顱骨凹陷性骨折鈦網修復術體表定位
患者為 30 歲男性,因工地鋼管砸傷左側顳部致顱骨凹陷性骨折,行鈦網修復術。首先將患者體位擺放與患者 3D 頭顱病灶膠片所示位置一致,如圖 7a 和 7b 所示,再利用 APP 拍攝患者 3D 頭顱膠片(見圖 7b),并將其選為定位圖片,將患者的鼻梁、眼等外部特征作為參照物,通過攝像頭實時采集的現實世界患者頭部(見圖 7a)與 3D 頭顱膠片(見圖 7b)中的眼眶、鼻梁、外耳、牙齒對齊,如圖 7c 所示,實現信息重疊融合,從而看到凹陷性骨折部位在患者頭皮的位置,由助手根據顯示屏上的提示,用記號筆在患者頭皮標記出,如圖 7d 和 7e 所示,最后根據頭皮標記和醫生經驗設計手術切口,進行手術。術后患者頭顱 3D 影像見圖 7f,表明體表定位處完全包含于手術切口內,定位準確。

a. 患者頭部;b. 患者 3D 頭顱膠片;c. 患者頭部與 3D 頭顱膠片標志物匹配融合;d. 描繪病灶區域;e. 頭皮定位病灶區;f. 術后患者 3D 頭顱
Figure7. The schematic diagram of scalp positioning of depressed fracturea. patient’s head; b. patient’s 3D skull film; c. match fusion of patient’s head and 3D skull film markers; d. describing the lesion area; e. scalp localization of lesion area; f. postoperative 3D skull
4.2.2 硬膜外血腫清除術體表定位
硬膜外血腫是神經外科臨床上的常見疾病,好發于兒童[14]。患者為 3 歲 7 個月男性,從約 1 米高處摔下致頭部受傷,經頭顱 CT 見右側顳頂部硬膜外血腫,行血腫清除術。首先,憑臨床醫生經驗結合解剖學知識,在患者頭部用記號筆勾勒出冠狀縫和矢狀縫在體表的位置,選擇患者最大層面的 CT 圖,并在 CT 圖上也用記號筆標注出矢狀縫的位置,用 APP 拍攝下該 CT 圖用于定位影像,通過攝像頭采集患者現實中頭部實時影像,調整手機位置至患者頭部的冠狀縫和矢狀縫與 CT 圖上的冠狀縫和矢狀縫兩側 4 個點重合,CT 上的血腫區域在患者頭皮上的疊加區域即為頭皮定位區域,如圖 8 左所示,同時助手使用記號筆標記硬膜外血腫在患者體表的投影位置,根據頭皮標記和醫生經驗設計手術切口,進行手術。在開顱后,見血腫包含于切口內,如圖 8 右所示,表明定位較準。

5 討論
目前,神經外科導航系統的定位已經相對精準,但是由于其設備十分昂貴和操作過程比較復雜,導致其普及和利用率較低,僅用于大型的醫院之中,而一些地市級醫院本身醫療水平較低,又缺乏相應的導航設備輔助診斷治療,因此急需一種簡單易用、價格較低的導航方式用于神經外科頭顱體表定位。大量研究已經證明在沒有神經導航系統或負擔不了該設備使用費的情況下,可以利用 Sina 軟件的定位方式輔助頭顱體表定位和設計頭皮切口[4-6]。由于 Sina 軟件功能單一,僅支持拍攝照片用于圖像融合定位,但在拍攝膠片時,受光線、角度等因素影響,可能造成誤差,影響定位效果。因此本研究開發了 APP,能在手機上完成 DICOM 格式醫學圖像解析,2D、3D 醫學圖像可視化,并用做定位圖像,可減少相機在拍攝膠片時產生的誤差。
傳統神經外科開顱術是醫生術前溫習患者 CT 或 MRI 醫學影像,然后根據影像的手術指征,結合術者經驗與解剖學特征,在患者頭顱體表定位并劃出皮膚切口和骨窗。對于年輕醫生,由于經驗缺乏、空間想象不足、病情評估不足、缺乏自信等,制定頭皮切口是一個極大的挑戰,為彌補病灶定位誤差,通常將頭皮切口做大。而本研究設計開發的 APP 可以通過多種途徑獲取患者的醫學影像,極大地方便了神經外科醫生隨時溫習患者醫學影像上的手術指征,并且可改變傳統的閱片方式,通過 3D 可視化患者頭顱結構,為醫生提供形象生動、真實的 3D 醫學圖像,通過移動終端觸屏實現圖像的移動、旋轉,可從頭顱結構任意角度觀察分析病情,對于顱骨骨折的診斷、定位具有較大意義。同時基于 AR 理論,利用 OpenCV 開發自定義相機,采集患者實時的頭部影像與 ImageView 展示的 2D 醫學圖像或者 OpenGL 渲染的 3D 醫學圖像進行重疊融合,結合解剖學的矢狀縫、冠狀縫或患者頭顱體表特征等參照物進行校準,可以將患者病灶在頭顱體表的大體位置化抽象為形象,輔助醫生頭顱體表定位,制定頭皮切口,有效率為 100%,準確率達到了 89.47%,符合循證醫學的要求。相對于傳統閱片定位過多依賴醫生的空間想象力,可能存在想象力盲區,本方法更加形象化,可輔助驗證醫生的經驗判斷,提高年輕醫生的自信,有利于年輕醫生的培養。在輔助完成頭顱體表定位時,無需特殊設備固定患者頭部,平均定位時間為 2 分 47 秒。經詢問多名神經外科醫生,都表示該耗時在急診時可以接受。對比神經導航系統需要多科室配合、手術準備時間較長、費用高、中小型醫院普及率低等問題,本研究成果對于急診、中小型醫院輔助頭顱體表定位,具有較大意義。但現階段研究成果也存在 3D 可視化性能差、資源開放獲取、信息安全、APP 兼容性等問題,需不斷改進。目前,該系統的實際應用分析表明頭顱體表病灶定位效果較佳,本研究對于促進神經導航技術的多元化發展,以及醫學影像的遠程分析、會診、教學等具有一定意義。
引言
神經導航手術是指在神經外科手術中運用航海中導航的理論,依托電腦圖像處理和手術器械實現追蹤定位,輔助優化手術入路,精確操作范圍,從而減少創傷和提高手術質量。其中電腦圖像處理主要是利用計算機斷層掃描成像(computed tomography,CT)和磁共振成像(magnetic resonance imaging,MRI)采集的二維(two-dimensional,2D)圖像信息進行數字圖像處理,如圖像分割、三維(three-dimensional,3D)重建等,可實時展現患者的病灶信息,供醫生診斷、治療、制定手術方案等。而目前市面上的神經外科導航設備以國外進口為主,設備昂貴、操作復雜,需要培訓專業操作人員,增加了相應的手術治療費用,因此在國內普及率較低,主要存在于大型醫院[1]。
增強現實(augmented reality,AR)是一種實時地計算攝影機影像的位置及角度并加上相應圖像、視頻、3D 模型的技術[2-3],實現在屏幕上把虛擬世界套在現實世界中并進行互動。該技術可以簡單理解為通過攝像頭將現實世界的圖像采集展示在屏幕上,同時加上相應的圖像、視頻或 3D 模型等進行圖像的融合,實現現實世界與虛擬世界在屏幕上的互動融合。借鑒 AR 的思想,澳大利亞悉尼大學的 Eftekhar、國內解放軍總醫院的孫國臣和山東大學齊魯醫院的郭宇等采用一款名為 Sina 的軟件,通過翻拍患者頭部 CT 或 MRI 圖像并與手機攝像頭實時采集的患者頭部影像疊加融合,實現頭顱體表病灶定位,研究表明該方式可用于輔助定位[4-6]。土耳其安卡拉大學的 Dogan 等[7]的研究成果也表明該方式可行。
Sina 軟件是一款基于 Android 平臺開發的應用軟件。該軟件只可以翻拍 CT 或 MRI 圖片,然后用于與攝像頭實時采集的現實世界患者圖像信息進行融合,以實現神經外科頭顱體表定位。它僅支持拍攝的 2D 圖像,功能過于單一,醫生在根據 2D 圖像數據進行診斷時,往往會感到缺乏有效、直觀的診斷信息。因此本文結合 AR 理論,開發可對醫學數字成像和通信(Digital Imaging and Communications in Medicine,DICOM)格式的醫學圖像進行解析展示,并支持 3D 重建渲染的神經外科頭顱體表定位系統,輔助缺乏神經導航設備的中小型醫院醫生進行頭顱體表病灶定位。
1 系統設計
本系統設計如圖 1 所示,首先采用醫院的 CT 或 MRI 設備采集患者 2D 醫學圖像,圖像數據集導入服務器的數據庫中。經過視覺化工具函式庫(Visualization Toolkit,VTK)對患者的 2D 醫學圖像數據集進行 3D 重建,生成標準曲面細分語言(Standard Tessellation Language,STL)格式的 3D 醫學圖像數據并導入服務器的數據庫中。通過網絡接口,供客戶端應用程序訪問下載服務器端數據,在客戶端對 2D 和 3D 醫學圖像數據進行訪問、解析和可視化。經客戶端的攝像頭采集患者頭顱實時影像與醫學圖像融合,實現 AR 效果。經標志物(冠狀縫、矢狀縫或頭顱特征如眼眶、鼻梁等)匹配,可在客戶端屏幕上看到醫學圖像疊加到患者頭皮的情況,勾畫出腦部病灶在患者頭皮呈現的位置,實現頭顱體表病灶定位。

2 系統核心
2.1 圖像可視化
對 2D 和 3D 醫學圖像的可視化是本系統實現的基礎。在醫學圖像保存中,醫院里的 CT 或 MRI 設備采集的患者圖像都是一系列連續 2D 斷層掃描數據集。為了保證數據的質量和統一性,往往采用 DICOM 標準。該標準包含了醫學數字圖像實現采集、歸檔、通信、顯示及查詢等信息交換協議,其文件格式如圖 2 所示,分為文件頭和數據集[8]。文件頭用于標識數據集合的相關信息,而數據集則包含了醫學圖像及患者有關的信息,因此研究 2D 醫學圖像的可視化則集中在對數據集中圖像信息的解析。根據 DICOM 標準的第五部分數據結構,采用開源 DICOM 服務框架 dcm4che,通過調節窗寬窗位法提取圖像信息,并轉化成位圖,即可實現 2D 醫學圖像在普通設備上的可視化。

如前所述,所采集的患者醫學圖像都是 2D 掃描數據集,要實現 3D 可視化,則需要對其進行 3D 重建。3D 重建主要的算法有面繪制和體繪制兩種[9-10],本研究主要采用面繪制。
面繪制的實質是從一個 3D 的數據場中抽取一張等值面,也稱為“等值面提取”算法。其算法的實現過程為:首先根據 CT 或 MRI 是由不同灰度值的像素組成,而等值面是由所有具有相同灰度值的點構成的曲面,從相鄰兩個斷層圖像中分別取出 4 個對應像素點構成 3D 圖像體素[9-12],如圖 3 所示。

若體素某邊的兩端點值不相同,等值面會與這條邊相交,且僅有一個交點,交點 p 代表等值點坐標點。
![]() |
其中 p1、p2 代表兩個端點坐標,v1、v2 代表兩個端點的值,v 代表等值面的值。
將等值面與體素棱邊的交點連接會形成三角形或多邊形,共有 15 種情況,如圖 4 所示。

在等值面上的每一點,其沿面切線方向的梯度分量值是零,因此,該點梯度矢量的方向也就代表了等值面在該點的法向。移動立方體算法中使用中心差分法計算任意點 的梯度[8]
![]() |
這里 表示了空間中
這點的灰度值,然后對體素 8 個頂點上法向量進行線性插值,就可以得到位于體素邊上三角片各個頂點的法向量。根據等值面片的頂點坐標和法向量便可繪制出圖像。在開發時采用 VTK 中的 vtkMarchingCubes 實現面繪制 3D 重建。而應用領域有免費的 3DSlicer 醫學圖像可視化處理分析平臺,直接導入序列 2D 醫學圖像即可實現 3D 重建。
2.2 AR 圖像融合
AR 圖像融合是通過智能終端設備相機攝像頭采集真實世界中的頭顱實時影像,并將其與醫學影像信息融合實現 AR 的效果。其示意圖見圖 5,在智能終端設備的屏幕最終顯示為透明化的模型疊加融合在相機采集實時影像上。由于相機成像會因為鏡片的光學特性而發生有規律的變形或者畸變,包括桶型畸變、枕型畸變和線性畸變,本系統利用 OpenCV for Android 采用張正友相機標定法實現標定與畸形矯正。OpenCV 是一種開源跨平臺計算機視覺庫。通過 OpenCV 的相機視圖(JavaCameraView)展示相機采集影像圖層。而模型圖層分為 2D 和 3D 模型兩類,2D 模型即為 2D 醫學圖像,通過 Android 控件圖像視圖(ImageView)呈現。3D 模型為 3D 重建醫學圖像,要在智能終端上呈現,需要 3D 可視化,即將 STL 文件數據進行 3D 渲染。在 Android 上集成了 OpenGL ES 底層圖形庫,可實現 3D 圖形渲染。本系統基于 OpenGL ES 中專用于 3D 游戲開發的視圖類(SurfaceView),自定義 3D 視圖(STLView)用于 3D 可視化。對于相機圖層和模型圖層的疊加融合則采用幀布局管理器(FrameLayout)。它是 Android 的常用布局方式之一,以疊層方式組織內部控件,完全符合本系統需求[13]。而要使模型圖層下的相機圖層能夠在屏幕上顯示出來,只需將模型圖層的透明度設為透明即可。

3 應用測試
3.1 測試環境
由于系統尚未完全開發完善,我們僅在 PC 機上搭建簡單的服務器,并通過局域網進行測試。PC 機采用聯想小新 700 電競版,該筆記本配置的 CPU 為 i7-6700HQ,基本頻率 2.6 GHz,最大頻率 3.5 GHz,支持 4 核心、8 線程。配置了 8 GB 內存,500 GB 硬盤。首先將患者的 2D 醫學圖像保存在數據庫中,再將 3D 重建生成的 STL 文件也保存在數據庫中。移動端我們使用小米、魅族、華為等手機安裝神外導航軟件 APP 進行測試。考慮到測試的硬件環境,且測試的數據量不大,通過局域網進行測試。
3.2 測試結果
本文測試實驗數據為四川大學華西醫院 PACS 中的患者頭部 MRI 數據集,共 235 張 DICOM 格式 MRI 圖像,每張圖像大小在 555 KB 左右,共 127 MB。為了保護患者的隱私,本文屏蔽了患者的個人信息。首先通過 PC 端的 VTK 編程對 MRI 數據集進行 3D 算法重建,生成 STL 文件并與患者的 MRI 影像數據一起保存在服務器的數據庫中,再用 JAVA 后臺程序編寫相應的接口,供移動端訪問獲取數據,進行圖像解析和 3D 渲染。測試效果如圖 6 所示,表明可對 2D、3D 醫學圖像進行可視化,基于 3D 模型模擬定位。

針對 Android 平臺深度開發定制的 MIUI、ColorOS、EMUI 系統進行測試,結果如表 1 所示。該 APP 的 2D 可視化和頭顱定位功能能夠在所有測試機型中正常運行;而測試 3D 可視化及頭顱體表定位功能時,當 3D 重建的 STL 文件大于 10 MB 時,部分機型會出現無法顯示和卡頓的現象,經過 APP 調試發現造成該結果的原因是一些手機對 Android 系統進行了修改和割舍或者對內存使用進行了限制,導致無法正常使用。

4 臨床應用
4.1 應用情況
本研究開發的 APP 可通過服務器、本地、翻拍膠片三種方式獲取醫學圖像。在實際使用時,可根據實際條件選擇相應的醫學圖像獲取方式。由于本研究應用于患者手術前頭顱體表輔助病灶定位,定位區域僅作為手術的參考,并未涉及開顱后的病灶定位,手術切口設計把關還是以醫生判斷為準,因此符合四川大學華西醫院醫學倫理審查要求。在四川大學華西醫院對 19 例患者進行臨床定位分析,獲取的醫學圖像以本地數據和拍照方式獲取為主。其中硬膜外血腫 2 例,硬膜下血腫 5 例,顱內血腫 1 例,凹陷性骨折 2 例,顱骨缺損 3 例,顱骨骨折 1 例,腦挫裂傷 2 例,腦積水 2 例,皮下積液 1 例,使用 APP 進行頭顱體表定位的臨床分析情況見表 2。在手術前結合已有研究[6]表明,利用本文方法進行幕上病變輔助定位病變中心點,與標準神經導航系統對比誤差為(13.6 ± 0.55) mm,用 APP 在患者頭顱體表定位出病灶,根據病灶在頭顱體表的位置,以該區域為中心,適度向外延伸,并用記號筆標記出延伸后的區域,作為 APP 標記的頭顱體表定位病灶區。再將醫生設計的手術切口與 APP 標記的頭顱體表定位病灶區對比,重疊率在 95% 以上者作為有效定位,穿刺術以醫生穿刺點位于區域內為有效,并以醫生的手術切口設計、穿刺點為準,進行手術。定位時間采用秒表計時,從利用 APP 選擇醫學圖像時刻作為計時開始,到在患者頭皮用記號筆標記出病灶區域作為計時結束。頭部體表病灶定位的準確度以切開頭皮或打開骨窗時是否包含病灶為標準,包含則為準確,偏差大于 3 mm 及以上為偏差;腦室及血腫穿刺以術前定位穿刺點為標準,穿刺引流管達目標點即為準確,否則為偏差。滿意度為手術醫生根據 APP 體表定位結果與其手術中實際病灶的位置情況,評價為非常滿意、滿意、一般或不滿意。從表 2 可知 APP 的定位有效率為 100%,定位準確率為 89.47%(17 例患者定位滿意,2 例出現偏差),平均定位時長為 2 分 47 秒。表明 APP 頭顱體表定位具有較高的準確度且用時較短。

4.2 典型案例
4.2.1 顱骨凹陷性骨折鈦網修復術體表定位
患者為 30 歲男性,因工地鋼管砸傷左側顳部致顱骨凹陷性骨折,行鈦網修復術。首先將患者體位擺放與患者 3D 頭顱病灶膠片所示位置一致,如圖 7a 和 7b 所示,再利用 APP 拍攝患者 3D 頭顱膠片(見圖 7b),并將其選為定位圖片,將患者的鼻梁、眼等外部特征作為參照物,通過攝像頭實時采集的現實世界患者頭部(見圖 7a)與 3D 頭顱膠片(見圖 7b)中的眼眶、鼻梁、外耳、牙齒對齊,如圖 7c 所示,實現信息重疊融合,從而看到凹陷性骨折部位在患者頭皮的位置,由助手根據顯示屏上的提示,用記號筆在患者頭皮標記出,如圖 7d 和 7e 所示,最后根據頭皮標記和醫生經驗設計手術切口,進行手術。術后患者頭顱 3D 影像見圖 7f,表明體表定位處完全包含于手術切口內,定位準確。

a. 患者頭部;b. 患者 3D 頭顱膠片;c. 患者頭部與 3D 頭顱膠片標志物匹配融合;d. 描繪病灶區域;e. 頭皮定位病灶區;f. 術后患者 3D 頭顱
Figure7. The schematic diagram of scalp positioning of depressed fracturea. patient’s head; b. patient’s 3D skull film; c. match fusion of patient’s head and 3D skull film markers; d. describing the lesion area; e. scalp localization of lesion area; f. postoperative 3D skull
4.2.2 硬膜外血腫清除術體表定位
硬膜外血腫是神經外科臨床上的常見疾病,好發于兒童[14]。患者為 3 歲 7 個月男性,從約 1 米高處摔下致頭部受傷,經頭顱 CT 見右側顳頂部硬膜外血腫,行血腫清除術。首先,憑臨床醫生經驗結合解剖學知識,在患者頭部用記號筆勾勒出冠狀縫和矢狀縫在體表的位置,選擇患者最大層面的 CT 圖,并在 CT 圖上也用記號筆標注出矢狀縫的位置,用 APP 拍攝下該 CT 圖用于定位影像,通過攝像頭采集患者現實中頭部實時影像,調整手機位置至患者頭部的冠狀縫和矢狀縫與 CT 圖上的冠狀縫和矢狀縫兩側 4 個點重合,CT 上的血腫區域在患者頭皮上的疊加區域即為頭皮定位區域,如圖 8 左所示,同時助手使用記號筆標記硬膜外血腫在患者體表的投影位置,根據頭皮標記和醫生經驗設計手術切口,進行手術。在開顱后,見血腫包含于切口內,如圖 8 右所示,表明定位較準。

5 討論
目前,神經外科導航系統的定位已經相對精準,但是由于其設備十分昂貴和操作過程比較復雜,導致其普及和利用率較低,僅用于大型的醫院之中,而一些地市級醫院本身醫療水平較低,又缺乏相應的導航設備輔助診斷治療,因此急需一種簡單易用、價格較低的導航方式用于神經外科頭顱體表定位。大量研究已經證明在沒有神經導航系統或負擔不了該設備使用費的情況下,可以利用 Sina 軟件的定位方式輔助頭顱體表定位和設計頭皮切口[4-6]。由于 Sina 軟件功能單一,僅支持拍攝照片用于圖像融合定位,但在拍攝膠片時,受光線、角度等因素影響,可能造成誤差,影響定位效果。因此本研究開發了 APP,能在手機上完成 DICOM 格式醫學圖像解析,2D、3D 醫學圖像可視化,并用做定位圖像,可減少相機在拍攝膠片時產生的誤差。
傳統神經外科開顱術是醫生術前溫習患者 CT 或 MRI 醫學影像,然后根據影像的手術指征,結合術者經驗與解剖學特征,在患者頭顱體表定位并劃出皮膚切口和骨窗。對于年輕醫生,由于經驗缺乏、空間想象不足、病情評估不足、缺乏自信等,制定頭皮切口是一個極大的挑戰,為彌補病灶定位誤差,通常將頭皮切口做大。而本研究設計開發的 APP 可以通過多種途徑獲取患者的醫學影像,極大地方便了神經外科醫生隨時溫習患者醫學影像上的手術指征,并且可改變傳統的閱片方式,通過 3D 可視化患者頭顱結構,為醫生提供形象生動、真實的 3D 醫學圖像,通過移動終端觸屏實現圖像的移動、旋轉,可從頭顱結構任意角度觀察分析病情,對于顱骨骨折的診斷、定位具有較大意義。同時基于 AR 理論,利用 OpenCV 開發自定義相機,采集患者實時的頭部影像與 ImageView 展示的 2D 醫學圖像或者 OpenGL 渲染的 3D 醫學圖像進行重疊融合,結合解剖學的矢狀縫、冠狀縫或患者頭顱體表特征等參照物進行校準,可以將患者病灶在頭顱體表的大體位置化抽象為形象,輔助醫生頭顱體表定位,制定頭皮切口,有效率為 100%,準確率達到了 89.47%,符合循證醫學的要求。相對于傳統閱片定位過多依賴醫生的空間想象力,可能存在想象力盲區,本方法更加形象化,可輔助驗證醫生的經驗判斷,提高年輕醫生的自信,有利于年輕醫生的培養。在輔助完成頭顱體表定位時,無需特殊設備固定患者頭部,平均定位時間為 2 分 47 秒。經詢問多名神經外科醫生,都表示該耗時在急診時可以接受。對比神經導航系統需要多科室配合、手術準備時間較長、費用高、中小型醫院普及率低等問題,本研究成果對于急診、中小型醫院輔助頭顱體表定位,具有較大意義。但現階段研究成果也存在 3D 可視化性能差、資源開放獲取、信息安全、APP 兼容性等問題,需不斷改進。目前,該系統的實際應用分析表明頭顱體表病灶定位效果較佳,本研究對于促進神經導航技術的多元化發展,以及醫學影像的遠程分析、會診、教學等具有一定意義。