劉 波,陳國棟,王 娜
(1.福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108;2.福建師范大學(xué)福清分校,福建 福清 350300)
在虛擬手術(shù)領(lǐng)域軟組織形變仿真一直是一個(gè)值得深入研究的問題,因?yàn)槿梭w軟組織都有其特殊性,特別是人體心臟其運(yùn)動(dòng)形變具有規(guī)律性和周期性。人體心臟跳動(dòng)是一個(gè)非常復(fù)雜的過程,涉及生物電傳導(dǎo)、心肌收縮等方面的因素,仿真人體心臟跳動(dòng)的過程無論在教育實(shí)驗(yàn)方面還是在理論技術(shù)研究方面,都有重要意義。對(duì)人體心臟跳動(dòng)的模擬必須能夠真實(shí)合理地反應(yīng)心臟跳動(dòng)的規(guī)律,為用戶提供逼真的視覺效果。因此,在實(shí)時(shí)性方面,要在一個(gè)視覺反饋循環(huán)時(shí)間段內(nèi)真實(shí)地體現(xiàn)心臟跳動(dòng)的周期性規(guī)律;在逼真度方面,要在心臟跳動(dòng)過程中發(fā)生合理的幾何形變,符合心臟跳動(dòng)的基本形變規(guī)律。
在仿真心臟跳動(dòng)方面已有學(xué)者做了大量的理論和實(shí)踐研究。DAWSON S[1]等人采用了一種關(guān)鍵幀技術(shù)模擬心臟跳動(dòng),這種技術(shù)將各個(gè)關(guān)鍵時(shí)刻的心臟模型情況預(yù)先存儲(chǔ)起來,在實(shí)時(shí)模擬中進(jìn)行循環(huán)播放,因此只能夠模擬規(guī)則的心臟跳動(dòng)。SEEMANN G[2]等人使用了一種細(xì)胞自動(dòng)機(jī)方法對(duì)心臟的行為進(jìn)行建模,其中考慮了心臟組織的各向異性、心肌纖維走向、心電傳導(dǎo)等因素。這種方法一般用于計(jì)算機(jī)輔助診斷和治療,但是計(jì)算代價(jià)非常大,不能做到實(shí)時(shí)模擬。王彥臻[3]等人根據(jù)心臟的解剖結(jié)構(gòu)建立了心臟的復(fù)合彈簧振子模型,使用逆向動(dòng)力學(xué)技術(shù)將心房、心室的收縮、擴(kuò)張與整個(gè)模型結(jié)合起來,從而得到心臟外表面的跳動(dòng)效果。該方法在模擬心跳上有較為逼真的效果,但是該方法中心跳的運(yùn)動(dòng)需要人為地去調(diào)整設(shè)計(jì)各個(gè)參數(shù),有失簡便性,并且其構(gòu)建的模型在逼真度上也有所欠缺。
不同于一般虛擬手術(shù)中軟組織的局部形變,心臟的跳動(dòng)是由多部分共同作用的結(jié)果,其跳動(dòng)過程中發(fā)生的形變是全局形變。針對(duì)以上方法的不足和心臟跳動(dòng)的特性,本文提出一種基于示例的形狀匹配方法來模擬心臟的跳動(dòng)過程。該方法使用較高精度的心臟數(shù)據(jù)模型,考慮心房、心室收縮擴(kuò)展運(yùn)動(dòng)所表征的心臟形變視覺效果。與建模方法相比,其能夠保證心臟跳動(dòng)過程中的實(shí)時(shí)性與逼真度;與復(fù)合彈簧振子模型相比,其能夠靈活地控制和調(diào)整心臟的示例模型,實(shí)現(xiàn)心臟跳動(dòng)的個(gè)性化模擬。實(shí)驗(yàn)結(jié)果表明本文的方法能夠較為精確地實(shí)時(shí)模擬心臟跳動(dòng)的效果,滿足虛擬手術(shù)中心臟跳動(dòng)仿真和心臟介入手術(shù)仿真的需求。此外,本文首先將基于示例的彈性材料應(yīng)用到心臟跳動(dòng)的仿真中,這對(duì)心臟跳動(dòng)仿真方法的研究具有啟發(fā)性的意義。本文的心臟跳動(dòng)仿真結(jié)果還可以應(yīng)用到實(shí)驗(yàn)教學(xué)中,以科普心臟跳動(dòng)的規(guī)律和心臟跳動(dòng)的過程。
利用基于示例的彈性材料對(duì)形變對(duì)象進(jìn)行仿真,不僅能夠模擬出物體的形變特性,還能夠指導(dǎo)形變物體的運(yùn)動(dòng)。在這方面已有大量的研究,文獻(xiàn)[4]提出用給定的示例姿態(tài)來藝術(shù)指導(dǎo)形變材料的運(yùn)動(dòng);文獻(xiàn)[5]提出一種基于示例的彈性材料的快速子空間融合方法,能夠?qū)崟r(shí)地仿真計(jì)算機(jī)圖形。心臟模型本身也屬于彈性的軟組織,這些形變運(yùn)動(dòng)的研究對(duì)本文的研究具有指導(dǎo)意義。
不同于傳統(tǒng)的心臟跳動(dòng)方法,本文將基于示例的彈性形變應(yīng)用到心臟的跳動(dòng)仿真中。通過提供的表征心臟跳動(dòng)形變的模型,來控制心臟跳動(dòng)的形變效果。首先需要將當(dāng)前的變形映射到優(yōu)選形變空間,稱之為示例歧管ξ。由于這種示例歧管被設(shè)計(jì)為相對(duì)于模型的形變描述符是線性的,因此當(dāng)前心臟模型的投影是通過線性優(yōu)化來完成的。然后將當(dāng)前的形變姿態(tài)拉向目標(biāo)形變姿態(tài)。系統(tǒng)通過修改每個(gè)重疊區(qū)域的靜止形態(tài),就能將當(dāng)前的形變線性投影到優(yōu)選形變空間中,改變心臟模型的形變,在時(shí)間步長上就反映為心臟模型在不同時(shí)刻發(fā)生不同的形變,視覺效果上即為實(shí)時(shí)跳動(dòng)。基于示例的心臟跳動(dòng)仿真運(yùn)行示意圖如圖1所示,圖中彈性心臟模型具有靜止形態(tài)、當(dāng)前形態(tài)和兩個(gè)示例形態(tài);在每個(gè)時(shí)間步長中,將當(dāng)前形變姿態(tài)投影到示例歧管上,然后投影點(diǎn)會(huì)被當(dāng)作目標(biāo)姿態(tài),并將當(dāng)前形變姿態(tài)拉向目標(biāo)姿態(tài)。
圖1 基于示例的心臟跳動(dòng)仿真運(yùn)行示意圖
本文采用重疊局部區(qū)域下的卷積形狀匹配算子來驅(qū)動(dòng)心臟模型發(fā)生形變。輸入數(shù)據(jù)由體積四面體網(wǎng)格和n個(gè)示例形態(tài)構(gòu)成,其中體積四面體網(wǎng)格為心臟模型的靜止形態(tài)或者初始形態(tài),n個(gè)示例形態(tài)為心臟模型發(fā)生收縮、舒張的變形形態(tài)。將每個(gè)四面體網(wǎng)格的頂點(diǎn)視為一個(gè)有一定質(zhì)量的粒子,并且每個(gè)粒子本身和與之相鄰的粒子構(gòu)成該粒子的局部區(qū)域[6],則對(duì)任意粒子i其局部區(qū)域定義為Ni。
(1)
(2)
為了更好地描述形狀匹配的特征,實(shí)現(xiàn)基于示例的彈性形變,在式(2)中加入模型的拉伸分量,將式(2)優(yōu)化為:
(3)
粒子i的目標(biāo)位置gi用目標(biāo)位置的平均值來計(jì)算,該平均值則是用其重疊局部區(qū)域gi=〈gr,i〉r∈Ni來估計(jì)的。在此情況下,當(dāng)前粒子的位置xi和速度vi可以表示為:
(4)
xi(t+h)=xi(t)+hvi(t+h)
(5)
其中h是時(shí)間步長,fext是外力,?∈[0…1]表示剛度參數(shù)。
形變優(yōu)選空間是所有接近目標(biāo)形變的圖形所形成的一個(gè)形變集合空間,該優(yōu)選空間中的形變個(gè)體都有可能成為下一個(gè)目標(biāo)形變個(gè)體,從最接近當(dāng)前姿態(tài)的優(yōu)選形變空間中找到形變的姿態(tài)是非常關(guān)鍵的。采用修改每個(gè)局部區(qū)域的靜止形態(tài)來將當(dāng)前的形變拉向優(yōu)選空間,能夠準(zhǔn)確地完成形變空間的選擇,避免了使用額外的彈性勢能。
圖2 示例歧管ξ的線性插值定義示意圖
首先通過最小化二次方能量來計(jì)算權(quán)重w1,…,wn,
(6)
其解wT=(w1,…,wn)T可以得到為:
w=(LTL)-1LT(S-S0)
(7)
這里可能產(chǎn)生負(fù)權(quán)重,將導(dǎo)致超出示例姿態(tài)之外的額外姿態(tài)情況,這對(duì)心臟跳動(dòng)形變的控制會(huì)產(chǎn)生不希望看到的失真。本文通過迭代地執(zhí)行以下簡單的過程來消除負(fù)權(quán)重:選擇最小的負(fù)權(quán)重并將其設(shè)置為零,將其絕對(duì)值除以n并從所有其他權(quán)重中減去。
值得注意的是,由于在計(jì)算目標(biāo)位置時(shí)改變每個(gè)局部區(qū)域的靜止形狀,變形可能會(huì)停留在優(yōu)選姿勢的空間中,而不是回到靜止姿態(tài)。為了避免這個(gè)問題,需要修改權(quán)重,使得靜止姿態(tài)總是比其他姿態(tài)的權(quán)重稍高一些,這樣仿真結(jié)果更接近真實(shí)的情況。
圖3 不同β值下的不同程度的彈性形變效果
利用C++,并結(jié)合OpenGL 4.0圖形庫來實(shí)現(xiàn)本文的方法。所有的示例模型都運(yùn)行在Intel Core i7-4790 CPU 3.60 GHz,并配置NVIDIA GeForce GT 630獨(dú)立顯卡的個(gè)人計(jì)算機(jī)上。本文基于示例的仿真方法與復(fù)合彈簧振子模型的運(yùn)行參數(shù)比較如表1所示,從表中可以看出本文在使用較高精度的模型下,心臟跳動(dòng)的模擬周期較短,畫面的平均幀率較快,可見在心臟跳動(dòng)仿真的實(shí)時(shí)性方面,本文基于示例的心臟跳動(dòng)仿真具有較強(qiáng)的優(yōu)勢。在心臟跳動(dòng)模擬過程中總模擬時(shí)間是420 ms,其中形狀匹配的時(shí)間為220 ms,投影到示例歧管上的時(shí)間為63 ms。將當(dāng)前姿態(tài)投影到示例歧管上的計(jì)算成本遠(yuǎn)小于其他過程的計(jì)算成本,這是線性投影的一個(gè)巨大優(yōu)勢。
表1 不同模型運(yùn)行參數(shù)比較
圖4顯示了本文方法模擬的正常心臟跳動(dòng)過程中的形變效果,并截取一個(gè)心臟跳動(dòng)周期內(nèi)幾個(gè)關(guān)鍵時(shí)刻心臟外表面的形變情況。從圖中可以看出,本文提出的方法可以較為逼真地模擬出心臟跳動(dòng)周期內(nèi),其各部分發(fā)生收縮、舒張、扭曲的基本特點(diǎn),能夠直觀真實(shí)地反映出心臟跳動(dòng)的視覺效果。此外還可以通過改變示例模型的形變程度,來獲得不同形變效果的心臟跳動(dòng)過程;還可以通過增加具有連貫性的心臟形變示例模型,獲得心臟跳動(dòng)頻率不同的心臟跳動(dòng)過程。這說明通過心臟示例模型,可以控制心臟的跳動(dòng),做到個(gè)性化地去模擬不同人群的心臟跳動(dòng)過程。
圖4 不同時(shí)刻心臟模型形變狀態(tài)
圖5是用復(fù)合彈簧振子模型方法仿真的心臟跳動(dòng),比較圖4和圖5可以看出,在模型質(zhì)量上,本文的心臟模型逼真度更高,更加貼合實(shí)際的心臟外形;在心臟跳動(dòng)形變上,本文中心臟的舒張和收縮形變效果也明顯比圖5的效果要好。另外本文方法已經(jīng)能夠做到實(shí)時(shí)模擬心臟跳動(dòng),如果將方法進(jìn)一步優(yōu)化,與FastLSM和定向粒子技術(shù)等其他加速形狀匹配的方法相結(jié)合,則能夠?qū)崿F(xiàn)更加快速的心臟跳動(dòng)仿真。
圖5 復(fù)合彈簧振子模型的心臟跳動(dòng)仿真
本文提出一種基于示例的形狀匹配方法來仿真心臟跳動(dòng),提供了表征心臟模型跳動(dòng)的幾個(gè)姿勢,系統(tǒng)通過形狀匹配構(gòu)造一個(gè)優(yōu)先變形的空間。在模擬期間,示例歧管用作附加的彈性吸引子,將初始狀態(tài)引向其優(yōu)先形狀的空間,從而在時(shí)間步長上形成連貫的形變變化也即心臟跳動(dòng)的過程。該方法利用線性投影使得計(jì)算代價(jià)小,并且只需給定心臟模型跳動(dòng)的形變姿態(tài),就能夠?qū)崟r(shí)逼真地模擬心臟跳動(dòng)的過程。
[1] DAWSON S, COTIN S, MEGLAN D, et al.Designing a compute-based simulator for interventional cardiology training [J].Catheterization and Cardiovascular Interventions, 2000,51(4):522-527.
[2] SEERNANN G, SHMIDT T, KAYHAN N, et al.Three-dimensional electrophysiological and morphological information for computer-aided planning of cardiac surgery [C]//Proceedings of CARS’04, 2004.
[3] 王彥臻, 熊岳山, 譚珂,等. 基于復(fù)合彈簧振子模型的實(shí)時(shí)心跳模擬[J]. 計(jì)算機(jī)工程與科學(xué), 2008, 30(1):132-134.
[4] MARTIN S, THOMASZEWSKI B, GRINSPUN E, et al. Example-based elastic materials[J]. ACM Transactions on Graphics, 2011, 30(4):1-8.
[5] ZHANG W, ZHENG J, THALMANN N M. Real-time subspace integration for example-based elastic material[J]. Computer Graphics Forum, 2015, 34(2):395-404.
[6] SUMNER R, COROS S, MARTIN S, et al. Motion control of active deformable objects: USA, US20150029198[P]. 2015-01-29.