張峰峰, 陳龍, 楊欣榮, 薛峰, 孫立寧
(1.蘇州大學 機電工程學院,江蘇 蘇州 215006; 2.蘇州大學 蘇州納米科技協(xié)同創(chuàng)新中心,江蘇 蘇州 215123; 3.復旦大學附屬中山醫(yī)院 肝外科肝癌研究所, 上海 200032; 4.中國鐵道科學研究院集團有限公司 鐵道建筑研究所, 北京 100081)
開放式肝臟腫瘤切除手術(shù)是目前治療肝臟腫瘤最有效的方法之一[1-3]。從醫(yī)生角度出發(fā),如果能在術(shù)中無輻射條件下快速獲取肝臟表面三維信息進行三維重建,將有助于醫(yī)生實時觀察肝臟表面切割狀況,可以較大程度上規(guī)避肝臟被誤切的風險[4-6]?;陔p目結(jié)構(gòu)光的肝臟表面三維重建的方法可以為醫(yī)生提供術(shù)中重建的肝臟表面,但在三維重建之前,需要完成肝臟表面三維重建系統(tǒng)的標定。肝臟表面三維重建系統(tǒng)的標定精度直接影響后續(xù)肝臟表面三維重建的精度。
目前尚未有成熟的面向肝臟表面三維重建的系統(tǒng)標定方法。傳統(tǒng)的標定方法在實際標定過程中存在著標定流程復雜、標定精度低、求解計算復雜等問題[7-8]。相機的標定相對比較成熟[9],通常以基于張正友的標定方法為主流[10]。然而投影儀的標定卻相對復雜,目前常用的投影法存在較大弊端。主要存在的問題在于其提取的棋盤圖像的角點或圓形圖像的圓心的亞像素精度較低,導致最終的投影儀標定精度較差[11-12]。王衡等[13]利用投影法進行投影儀標定,取得了一定的效果,但從整體精度來講,該標定方法無法滿足術(shù)中肝臟三維重建系統(tǒng)的要求。YANG等[14]也利用了類似的方法完成了相機投影儀系統(tǒng)的標定,但是結(jié)果依然不盡人意。除此以外整個系統(tǒng)標定還需要對投影儀和相機的標定參數(shù)進行組合優(yōu)化,這樣才能保證最終系統(tǒng)的標定精度[15-16]。
針對上述問題,本文主要根據(jù)實際手術(shù)過程中的需要,提出了一種針對肝臟表面三維重建系統(tǒng)的標定方法。從實際的手術(shù)過程中的肝臟表面三維重建系統(tǒng)的硬件之間的位姿關系入手,對手術(shù)視場進行分析。針對標定過程中存在的解相困難、標定板質(zhì)心求解復雜等問題進行深入分析和研究,提出相應的解決辦法。在此基礎上搭建肝臟表面三維重建的實驗平臺,通過標定實驗來對本文提出的方法進行驗證,并且對系統(tǒng)的標定參數(shù)進行整體優(yōu)化。
在肝臟表面三維重建系統(tǒng)中雙目相機和投影儀之間擺放的位置對手術(shù)過程中肝臟表面三維重建的精度和完整度有著重要的影響。在基于雙目結(jié)構(gòu)光的肝臟表面三維重建過程中,一般雙目相機的擺放位置按照其光軸是否相交可分為平行雙目模型和相交雙目模型。平行雙目模型最大的優(yōu)點在于左右相機之間的幾何關系簡單,計算方便。但是考慮到實際的手術(shù)過程中肝臟表面三維重建會需要較廣的手術(shù)視野,此時平行雙目模型的視野不符合要求,因此選擇視野更加寬闊的相交雙目模型。這樣可以保證在手術(shù)區(qū)域范圍內(nèi)左右相機能夠捕獲更多的公共視場下的投影儀投射的條紋光柵。
如圖1所示為手術(shù)過程中雙目結(jié)構(gòu)光系統(tǒng)的視場示意圖,在相機視場中只有左右相機、投影儀三者的公共重疊視場才可以作為肝臟表面三維重建的范圍。已知左相機的視場范圍為AF,右相機的視場范圍為CH,投影儀有效視場范圍為IK,因此只有圖1中陰影部分IJK構(gòu)成的區(qū)域為肝臟表面三維重建的有效區(qū)域。若是超出該區(qū)域則會破壞結(jié)構(gòu)光相位的單調(diào)性,影響后續(xù)的相位立體匹配,導致肝臟表面的部分區(qū)域無法三維重建。
圖1 手術(shù)過程中肝臟表面三維重建的有效視場分析
雙目相機主要由2個單目相機組成,雙目相機的內(nèi)參標定可以簡化成2個單目相機的內(nèi)參的標定。假設肝臟表面三維空間中存在一點P,則跟據(jù)坐標系轉(zhuǎn)換關系得到P點在像素坐標系的坐標為:
(1)
式中:s表示相機的比例系數(shù);R和T共同組成相機的外參;A表示通過相機標定出的相機內(nèi)部參數(shù)矩陣;(u,v)和(XW,YW,ZW)為像素坐標和世界坐標中點的坐標。可以將三維世界坐標系建立在標定板的左上角第一個圓的圓心上。在此基礎上可以求得三維世界坐標系中的點的Z軸方向的坐標值都為0,進而可以將式(1)改寫為:
(2)
式中:r1、r2、r3為外參旋轉(zhuǎn)矩陣的3個列向量。相機的外參旋轉(zhuǎn)矩陣R通過r1、r2和r3來表示。與此同時,在制造和安裝時,由于人為的操作或自身材料的限制會導致相機在標定時產(chǎn)生一定的誤差,這就導致相機在實際的標定過程中需要進行非線性標定。通常對相機的標定精度影響較大的畸變主要是偏心畸變和徑向畸變。將相機的這2種畸變考慮在內(nèi),可以得到相機整體畸變的數(shù)學模型為:
(3)
此外,還要確定2個相機之間的三維空間位置關系,即雙目相機的外參。假設2個相機求得的內(nèi)參分別為Al和Ar,外參數(shù)的平移和旋轉(zhuǎn)矩陣分別為Tl、Rl和Tr、Rr。由于以圓形標定板中左上角建立世界坐標系,因此可以根據(jù)標定板物理尺寸來確定標定板中所有圓的圓心坐標。通過雙目相機捕捉到的圖像,選擇與實際標定板對應的圓,分別在左右相機圖像中求取該圓心的坐標。則世界坐標系和像素坐標系關系已知的情況下,可以求解出左右相機在世界坐標系中的位姿關系,整個雙目系統(tǒng)的標定轉(zhuǎn)換關系如圖2所示。
圖2 雙目系統(tǒng)標定轉(zhuǎn)換關系
上述世界坐標系中的點P(XW,YW,ZW),通過雙目相機拍攝后,左、右相機坐標系中的點Pcl(Xcl,Ycl,Zcl)和Pcr(Xcr,Ycr,Zcr)與之相對應,根據(jù)相機坐標系轉(zhuǎn)換關系可得:
(4)
(5)
聯(lián)立式(4)和式(5)可得:
(6)
式中:Rl、Tl、Rr和Tr分別為左右相機各自的旋轉(zhuǎn)和平移矩陣;Rlr和Tlr為左右相機之間的旋轉(zhuǎn)和平移矩陣;Pcl(Xcl,Ycl,Zcl)和Pcr(Xcr,Ycr,Zcr)分別為左右相機坐標系中的點。
由式(6)可以看出只需要求出Tl、Rl和Tr、Rr的值,即2個相機的外參數(shù)就可求得2個相機的空間相對位置關系。由于2個相機的外參數(shù)在2個相機單獨標定時已求出,故可求得2個相機的相對旋轉(zhuǎn)矩陣Rlr和平移矩陣Tlr。
目前投影儀標定主要有向標定板投射棋盤或圓形圖案的投影法和向標定板投射條紋光柵的解相法。投影法標定投影儀主要存在的問題在于其提取的棋盤圖像的角點或圓形圖像的圓心的亞像素精度較低,導致最終的投影儀標定精度較差。解相法主要通過向標定板投射條紋光柵,其利用相移法求解出對應于角點或圓心的絕對相位值,從而進一步建立其與投影平面中的像素坐標的關系。該方法標定的投影儀精度相對較高。
本文采用3種不同頻率的光柵條紋,有助于降低三維重建精度對相位主值的精度和光柵條紋節(jié)距大小的依賴。結(jié)合四步相移原理,如圖3所示,本文采用三頻四步法,共需要投射12幅不同的條紋光柵圖像,圖3中φi為不同頻率的相位主值,Φi為絕對相位。利用多頻外差法將相位主值展開,獲得絕對相位,從而保證在相機拍攝的視野范圍內(nèi)的每個像素有與之唯一對應的絕對相位值。本文所采用的光柵條紋的頻率分別為70、64和59。使用多頻外差法解相的流程如下所示:
圖3 基于三頻四步法的絕對相位值求解
1) 相機拍攝投射的條紋光柵圖像,根據(jù)相移原理對圖像的相位主值求解;
2) 依據(jù)外差疊加原理,將不同頻率的相位主值進行疊加;
3) 求得整個圖像范圍內(nèi)唯一的相位頻率為1的不重復的絕對相位Φi;
4) 根據(jù)周期相位Φi反推出φi的連續(xù)的相位。
投影儀的標定所需要標定出的參數(shù)和相機一樣,主要包括其內(nèi)參、畸變系數(shù)以及和相機之間的外參矩陣。投影儀的結(jié)構(gòu)與相機類似,在某種程度上可以看成是一種“逆相機”,但是無法和相機一樣拍攝標定板圖片。
1.4.1 投影儀的標定流程
“逆向機”標定主要建立投影圖像坐標和三維世界坐標下的角點或圓心之間的對應映射關系。棋盤圖像的角點主要由水平和豎直的線相交組成,利用解相法進行投影儀標定時,其圖像的角點包含豐富的相位信息。投影儀的標定需要借助左、右相機中的任何一個相機。以左相機為例,由于棋盤圖像角點處的黑白灰度差較大,產(chǎn)生較大的灰度跳躍,導致采集角點處的條紋光柵的效果較差。這種偏差將導致后續(xù)的條紋光柵解相的時候出現(xiàn)相位丟失,進而影響投影儀標定的精度。因此本文選擇黑底白圓的標定板進行投影儀標定。
采用解相法進行投影儀的標定時需要通過投影儀向圓形標定板投射水平、豎直2種類型的條紋光柵,其具體的標定步驟為:
1) 調(diào)節(jié)投影儀和相機的視角,確保相機能采集到投影儀投射的光柵;
2) 調(diào)節(jié)并固定相機的曝光時間和進光量;
3) 向圓形標定板投射水平、豎直條紋光柵,并用相機進行拍攝,調(diào)節(jié)標定板位置,連續(xù)采集圖像;
4) 計算出拍攝圖像中標定板的圓心亞像素坐標,進而可完成相機的標定;
5) 對圓心坐標在水平和豎直方向的絕對相位進行插值進而求解出對應投影平面下的亞像素圓心坐標;
6) 重復上述步驟,最終即可完成投影儀的逆向機標定。
1.4.2 基于亞像素坐標線性插值的橢圓質(zhì)心求解
從投影儀標定的流程中可看出標定板圓心的亞像素坐標的求取異常重要。相比于棋盤圖像,圓形標定板的圓心周圍的灰度差較小,故其圓心對應的絕對相位值求解的精度較高。為了提高投影儀的標定精度,需要對相機拍攝的圖像的圓心進行亞像素坐標求解。由于相機成像的問題,在相機拍攝的圖像中的圓形近似成橢圓形,因此需要對橢圓的圓心進行擬合來求解其圓心的亞像素坐標。橢圓的圓心相對圓的圓心求解較為困難,因此本文采用橢圓的質(zhì)心來近似代替圓心,從而在保證精度的前提下減少復雜的求解操作并提高求解計算的速度。
在進行橢圓質(zhì)心求解的時候,需要劃分橢圓的窗口區(qū)域,對窗口區(qū)域內(nèi)的橢圓進行圖像的二值化處理。假設該窗口區(qū)域僅包含一個橢圓,通過m、n來表示對應的行和列的序列號,選擇一個合適的閾值TI作為圖像二值化的標準,則根據(jù)圖像二值化的方法對其處理后的灰度值為:
(7)
式中:I(m,n)表示窗口內(nèi)對應的像素點的灰度值。根據(jù)橢圓的質(zhì)心求解公式可解得其質(zhì)心坐標為:
(8)
根據(jù)計算出的橢圓質(zhì)心的像素坐標,此時便可對相機進行標定。由于用橢圓的質(zhì)心代替橢圓圓心,因此可以進一步求解出圓心的亞像素坐標。本文的相位展開方法主要針對像素級的像素點對于亞像素級的橢圓圓心無法實現(xiàn)相位展開,需要憑借插值法對相機圖像中圓心周圍的像素進行插值才能進一步相位展開。
假設如圖4所示相機圖像中的亞像素圓心相鄰的4個像素點分別為(uce,vce)、(uce,vce+1) 、(uce+1,vce) 和(uce+1,vce+1) ,從水平、豎直方向?qū)?個像素點分別進行相位展開,則投影儀圖像中的橢圓圓心的亞像素坐標(ucp,vcp) 可根據(jù)水平和豎直2個方向的相位展開求得:
圖4 亞像素坐標的線性插值
(9)
2.1.1 雙目相機的參數(shù)計算及選型
相機的選擇對肝臟表面三維重建起到至關重要的作用,結(jié)合重建精度的需求和成本2方面考慮,本文選擇型號為MER-125-30UC-L的相機。相機只可采集有限視野范圍內(nèi)的圖像,因此相機的選擇需要根據(jù)實際的使用要求確定。本文中根據(jù)醫(yī)生提供的實際的相機采集到的手術(shù)區(qū)域范圍達到S=30 cm×30 cm 即可完全滿足需求,相機安放的位置距離手術(shù)區(qū)域大約為H=60~120 cm。相機的焦距f計算公式為:
(10)
式中:F為相機感光原件的物理尺寸。根據(jù)上述的手術(shù)區(qū)域面積及高度等要求,最終計算后選擇焦距為f=8~12 mm,選擇鏡頭的型號為C08F16-5MP。
2.1.2 肝臟表面三維重建系統(tǒng)的硬件組成
肝臟表面三維重建的硬件平臺主要由圖5所示的顯示器、工作站、投影儀、雙目相機、滑動支架、支撐架、手術(shù)器械、豬肝等組成。每個硬件的參數(shù)/型號和具體的作用如表1所示。
圖5 基于雙目結(jié)構(gòu)光的肝臟表面三維重建系統(tǒng)硬件平臺
表1 肝臟表面三維重建平臺硬件作用及參數(shù)
2.2.1 雙目相機內(nèi)、外參標定實驗
本文采用圓形標定板進行標定,該圓形標定板主要由19×15個圓組成,其中圓形距為10 mm。圓形標定板中包括5個用于確定世界坐標系的大圓以及用于圓形特征點檢測的280個小圓。如圖6所示,調(diào)節(jié)標定板的位置,使其能夠清晰、完整地出現(xiàn)在雙目相機的視野范圍內(nèi),用雙目相機拍攝標定板。不斷改變標定板的位姿,使其始終出現(xiàn)在雙目相機的視野范圍內(nèi),雙目相機同時拍攝20組標定板的圖片。
圖6 雙目相機采集標定板圖像
對相機拍攝的上述圖像分別利用OpenCV庫中的函數(shù)對其進行橢圓和其圓心的擬合,最終擬合的結(jié)果如圖7所示。從擬合的效果可以看出大部分的橢圓擬合成功,在標定板的邊緣也存在極少數(shù)的擬合失敗,但這對實際的標定結(jié)果的影響可以忽略不計。
圖7 標定板的圓心檢測
雙目相機的最終標定結(jié)果為:
雙目相機標定的誤差主要依靠重投影誤差的平均值來衡量,憑借已經(jīng)經(jīng)過標定得到的雙目相機的系統(tǒng)參數(shù)以及標定板圓心的坐標,計算出理論上的圓心坐標值。通過將標定板中實際的圓心的坐標值與理論上的坐標值來作差計算,將二者的差值作為重投影的誤差值。對重投影誤差求取平均值作為相機和投影儀的平均標定誤差。
2.2.2 投影儀及系統(tǒng)外參標定實驗
將雙目相機和投影儀的位置進行固定,調(diào)節(jié)相機的光圈和曝光時間,使相機能夠拍攝到完整清晰的圖像。投影儀的“逆相機”標定需要借助左、右相機中的任意一個,二者構(gòu)成類似雙目系統(tǒng)。以左相機為例。通過投影儀將已制定好的條紋光柵投射至標定板上,利用左相機采集此時的圖像,如圖8所示,右下角為標定板中圓形的放大圖。調(diào)整標定板的位置,不斷利用相機采集標定板表面的圖像。
圖8 基于結(jié)構(gòu)光掃描的標定板放大圖
將上述相機拍攝的圖片中的圓提取出來,如圖9中黃色的方框框選區(qū)域,在此基礎上將該圓按照橢圓的圓心擬合的方式來擬合出圓心。對提取的橢圓進行如圖9中白色方框框選的區(qū)域進行圖像二值化處理,從而進一步求出圖9中紫色方框圈出的橢圓的質(zhì)心。根據(jù)橢圓質(zhì)心標定左相機,再對相機圖像中的亞像素圓心周圍的像素點進行插值解出絕對相位。從而求解對應的投影面的圓心的位置,完成投影儀標定,其最終標定的結(jié)果如表2所示。
表2 投影儀標定的參數(shù)結(jié)果
圖9 橢圓的圓心擬合
將投影儀看成逆相機后,通過依賴左相機完成投影儀內(nèi)參標定進而可以得到投影儀和左相機之間的位姿關系。左、右相機之間的位姿關系在雙目相機標定實驗中便可求出,因此最終的系統(tǒng)標定參數(shù)如表3所示。
表3 系統(tǒng)外參標定結(jié)果
2.3.1 系統(tǒng)整體參數(shù)的標定優(yōu)化
以圓形標定板某個圓為例,假設利用投影儀投射結(jié)構(gòu)光至標定板后,對應該圓的結(jié)構(gòu)光經(jīng)過三頻四步解相法后獲得的投影儀圖像坐標為(up,vp)。與此同時相機圖像中拍攝的該圓的坐標為(uc,vc),該圓的實際三維世界坐標為(XW,YW,ZW)。采用基于Levenberg-Marquardt的非線性最小二乘法對系統(tǒng)的整體參數(shù)進行優(yōu)化。對經(jīng)過優(yōu)化后的系統(tǒng)標定誤差進行統(tǒng)計,最大的標定誤差為0.098 mm,整體的均方根誤差為0.084 mm。
為了進一步驗證該系統(tǒng)的標定精度,通過將標定板移到5個不同的位置,對其進行系統(tǒng)重新標定。由于標定板放在水平面上,暫設置其世界坐標中的Z坐標為0,使用標定板上所有圓坐標(xci,yci)測量值與理論值(xi,yi)的偏差表示系統(tǒng)的測量誤差,具體的誤差測量數(shù)據(jù)如表4所示。
表4 肝臟三維重建系統(tǒng)的標定精度
從表4中的實驗數(shù)據(jù)可以看出,基于雙目結(jié)構(gòu)光的肝臟表面三維重建系統(tǒng)的平均標定誤差為0.078 mm,且最大誤差不超過0.1 mm。
2.3.2 系統(tǒng)誤差分析
針對上述5組實驗,在每組實驗中隨機選取50個標定的圓心坐標的誤差進行分析。從圖10可以看出5組實驗選取的圓的標定精度平均值在0.07 mm左右,而且誤差最大和最小值之間相差較小,最高的精度達到0.05 mm左右。
圖10 肝臟三維重建系統(tǒng)的標定誤差
從圖11所示的誤差曲線變化圖中可以清晰看出本文提出的肝臟表面三維重建系統(tǒng)的標定仍然存在一定的誤差,并且該誤差會有輕微的波動。在整體系統(tǒng)的標定精度穩(wěn)定的同時,存在極少數(shù)的標定點的誤差相對較大。
圖11 肝臟三維重建系統(tǒng)的標定誤差變化曲線
1)針對術(shù)中雙目結(jié)構(gòu)光肝臟表面三維重建系統(tǒng),本文提出一種高精度的系統(tǒng)標定方法。根據(jù)實際的手術(shù)環(huán)境,研究系統(tǒng)各組成硬件之間的位姿關系,制定了系統(tǒng)的標定流程。
2)通過實驗驗證,本文提出的方法的標定精度達到0.078 mm,完全符合醫(yī)生的實際需求。