李雪松 常 樂
(北京電影學(xué)院 影視技術(shù)系,北京 100088)
Matchmoving又稱作運動匹配,它是影視后期視效制作流程中的一個非常重要的環(huán)節(jié),主要是指將虛擬畫面與實拍畫面在運動和空間透視上進行匹配的過程。因為現(xiàn)在的電影超過90%的鏡頭都是運動鏡頭,所以在后期有大量的鏡頭都很有可能需要進入Matchmoving這個環(huán)節(jié),一般來說這個環(huán)節(jié)所耗費的時間在整個后期制作周期中的占比超過5%。它主要致力于計算出實拍相機或?qū)嵟奈矬w在三維空間中的運動姿態(tài)和軌跡,并將這些數(shù)據(jù)賦予在虛擬空間中的虛擬相機,從而將兩個畫面在運動和透視上進行完美的匹配。Matchmoving不僅應(yīng)用于電影領(lǐng)域,在其他多媒體領(lǐng)域也有諸多應(yīng)用,體育賽事轉(zhuǎn)播、天氣預(yù)報、多媒體晚會直播、網(wǎng)絡(luò)直播等平臺近些年來都使用了相關(guān)技術(shù)。
Matchmoving在電影中的應(yīng)用最早可以追溯到上個世紀(jì)七十年代后期好萊塢的真人漫畫電影《Pete's Dragon》,片中需要將卡通角色與真人角色、場景進行匹配并且還包括運動鏡頭。另一部更具意義的影片是來自1992年拍攝的《Death Becomes Her》(《飛越長生》),雖然片中的運動匹配仍然主要是依靠手動來完成,但后期特效全都是在數(shù)字平臺的環(huán)境中制作完成。這些數(shù)字工作平臺的開發(fā)者就是大名鼎鼎的工業(yè)光魔(Industrial Light and Magic),后來工業(yè)光魔又在這套系統(tǒng)之上創(chuàng)建了一個能夠計算深度的3D跟蹤系統(tǒng),并且將這套系統(tǒng)大量使用在了第一部《侏羅紀(jì)公園》中。這成為了現(xiàn)在非常成熟的Matchmoving軟件的雛形。
目前后期視效流程在Matchmoving階段主要處理四種類型的問題:固定機位匹配、運動機位匹配、運動物體匹配、動作捕捉。本文主要對前兩種問題展開探討。要完成以上這四種類型的工作,只是依靠成熟的Matchmoving后期軟件是不夠的,通常需要在前期實拍時就要做好多種相關(guān)數(shù)據(jù)的記錄,如果工作缺失,后期的制作難度將會非常大甚至無法完成。
固定機位匹配是最簡單的一種,但是如果一些關(guān)鍵的參數(shù)沒有正確地匹配,在后期制作時也會比較麻煩。進行固定機位匹配,我們首先要記錄攝影機的焦距以及感光元件(CMOS)尺寸,得到實拍攝影機的視場角。因為在合成的時候虛擬攝影機的視野與畫幅需要與實拍的攝影機保持完全一致,而決定視野范圍的關(guān)鍵就是視場角。對于每種攝影機的CMOS尺寸我們都可以通過廠家查詢得到,需要注意的是有些攝影機在不同分辨率或者幀率設(shè)置的情況下CMOS的真實使用面積是不一樣的。當(dāng)然不同尺寸感光元件、不同焦距之間的匹配有可能會得到同樣的視場角,在固定機位匹配的時,一般只保證視場角的一致就可以了。對于焦距,需要將每一條鏡頭使用的焦距數(shù)值都如實記錄,一般攝影機旁邊會有專門的特效場記來完成,如果一條鏡頭有變焦的動作還需要記錄下變焦的大致范圍,如果使用的是帶LDS的鏡頭,焦點、焦距以及感光元件等數(shù)據(jù)就可以保存在視頻文件的元數(shù)據(jù)里。另外還有一個很重要的問題就是一定要記錄下攝影機的姿態(tài),比如有無俯仰角、滾動角,這樣在三維環(huán)境中或者到外景采集背景素材的時候也就必須使用同樣的機身姿態(tài)去擺放攝影機,這樣兩次拍攝的透視角度才能夠準(zhǔn)確地匹配起來。
運動機位匹配是整個Matchmoving后期流程中最常見也最主要的工作。運動機位跟蹤的本質(zhì)是攝影機軌跡的反求,如果要想精準(zhǔn)地反求出視頻素材中攝影機原本的空間運動軌跡需要滿足以下三個基本條件:足夠的視差、有效的特征點、詳細(xì)的拍攝現(xiàn)場信息。
眾所周知相機鏡頭的畫面是包含透視效果的,如果機位發(fā)生變化,透視也會隨著機位改變,這就是透視變化,也被稱作視差平移,簡稱視差(parallax)。運動機位的反求就是通過畫面中物體在視差上的變化來進行計算的。圖1是在一輛高速行駛的列車上拍攝的,可以看出在畫面中近處的景物要比遠(yuǎn)處的景物運動速度快。因此我們要檢測一個鏡頭畫面是否有視差,只要檢測前景的物體是不是比背景的物體移動得更多就可以。如果前后景的物體在畫面運動時保持相對靜止,那么就可以認(rèn)為該畫面不存在視差。這種情況通常是腳架拍攝,畫面雖然有運動但只是水平或者垂直方向上的搖移(yaw,pitch)。這種情況可以視為相機沒有運動軌跡只有姿態(tài)改變,在反求時有專門的解算模式選項,但是在前期拍攝時我們一定要對這種鏡頭進行特別的注明以便后期人員能夠正確切換計算模式。圖2中的界面是PFtrack中針對腳架拍攝的情況,位移設(shè)置為無,旋轉(zhuǎn)設(shè)置為正常。但是這種解算方式存在一些限制,它會將場景中的特征點全部視作處于同一個球面上,而相機所處的位置就是球心的位置,這樣的話我們無法得到一個準(zhǔn)確的空間點云信息。通常我們都需要在場景中添加帶動畫的三維角色或者物體,并且可能還需要與場景互動,這時得到一個相對準(zhǔn)確的特征點的空間信息就變得十分必要。而主攝影機的運動方式僅能做搖移,提供不了足夠的視差,那么在前期拍攝時我們就需要記錄該場景輔助機位的照片或視頻素材作為獲得視差的參考。通常輔助機位的畫面要與主機位畫面有足夠多的共同特征點(一般在7個點以上),這樣在后期的反求軟件中我們可以根據(jù)專有的輔助解算功能計算出場景中的點云信息,也就是特征點之間的真實空間關(guān)系。圖3中借助了9個輔助機位成功解算出了場景特征點的真實空間關(guān)系,理論上只需要一個輔助機位即可,但是為了驗證結(jié)果的可靠有效,應(yīng)該多角度多機位排布。最后有一種情況很容易讓人忽視,在棚內(nèi)拍綠幕的時候機位的運動軌跡和綠幕墻幾乎完全平行,并且該機位使用的是一個很長的焦距,這種情況在后期解算時大概率會發(fā)生嚴(yán)重的偏差。因為綠幕和機位運動方向幾乎平行,也就是說攝影機的光軸方向和綠幕是一直處于幾乎垂直的狀態(tài),并且由于使用的是長焦,就意味著此時攝影機的視角很窄,在畫面構(gòu)圖中除了綠幕墻上標(biāo)記的點以外幾乎找不到其他的特征點。這樣畫面中的特征點到相機的距離其實都相差無幾,其實這是不太容易察覺到遠(yuǎn)近視差關(guān)系的,在后期反求軟件也很難提取到有效的視差線索用以解算。這種情況有兩種解決方案:第一種方法是在綠幕墻前面增加一些標(biāo)記桿(圖4),從而提供一些與綠幕墻有明顯視差的特征點,當(dāng)然標(biāo)記桿也要處理成和背景一致的顏色,否則會增加摳像工作量,標(biāo)記桿也要輕便靈活便于隨時增減調(diào)整。第二種方法是與現(xiàn)場攝影師或者導(dǎo)演協(xié)商能否使用更短的焦距以便獲得更大的視野。如果能夠獲取到更大范圍的特征點,那么即便是特征點處于同一平面,其和攝影機在相同距離也可獲得更大的反差,這樣反求軟件也能夠從畫面中感知到視差。之前這種方法不推薦使用的原因是最終剪輯時為了獲取預(yù)想的構(gòu)圖方式,還需要對素材進行裁切,這樣會損失分辨率。但是在今天已經(jīng)出現(xiàn)了8K大畫幅攝影機的情況下這種方式其實也未必不可行,超高的分辨率在后期可以提供足夠大的畫幅裁切空間。
圖1 高速運動的列車窗外素材所捕獲的特征點軌跡
圖2 PFtrack中的跟蹤類型界面選項以及在無位移模式下的點云分布情況
圖3 輔助機位解算的節(jié)點連接以及空間點云和各機位的分布情況
圖4 標(biāo)記桿在攝影機視野變窄的情況下的應(yīng)用
圖5 對極幾何原理
我們知道Matchmoving軟件是通過檢測畫面中的視差來反求解算的,這里的檢測方式其實是通過對極幾何(Epipolar geometry)的相關(guān)原理來實現(xiàn)的。圖5中C1和C2是兩個相機中心,P點是真實空間中的一個點,pl和pr是P點在左右兩個相機上的投影,那么C1→pl就是由C1相機反向發(fā)出的光線。單憑左邊的相機無法知道P點位置到底在哪里,它可能存在于P1、P2、P3……但是一旦引入右邊的相機C2,C2同樣過像點發(fā)出一條光線,它們相交的位置就能確定P點的位置。在圖中P、C1、C2三點構(gòu)成的面就叫做兩個畫面的對極平面,它們分別與左右兩個像平面相交于pl→e1和pr→e2,分別記作“l(fā)”和“l(fā)′”,就是兩條對極線。C1和C2的連線叫做基線,它與兩個圖像平面的交點就是對極點。畫面中的所有對極線都會相交于各自的對極點,當(dāng)然基線也有可能不與圖像平面相交(對極點處于像平面之外)。從對極幾何可得知,對于左邊圖像上的任意一點x,在右邊圖像中都有一條與之對應(yīng)的對極線l′,并且右邊圖像上與之相對應(yīng)的像點x′也必定在該對極線上面。因此,存在一個從左圖像點x到右圖對極線l′的映射:
x→l′
(1)
而基礎(chǔ)矩陣(fundamental matrix)表示的也就是這種點到直線的映射關(guān)系?;A(chǔ)矩陣F有繁復(fù)的展開推導(dǎo)過程,因為也不是本文的重點,這里直接給出:
(pl)F pr = 0
(2)
從上面的原理公式和圖5 我們可以看出,處于同一個場景中的不同位置之上拍攝的畫面之間其實存在著某種關(guān)聯(lián)約束——對極約束,這種約束關(guān)系就是Matchmoving實現(xiàn)反求解算的核心依據(jù),而這種約束的建立主要是基于采樣畫面中的特征點來實現(xiàn)。并不是畫面中所有的特征點都可以被用于反求和解算,它們必須要滿足一些條件才能夠被軟件很好地識別并求出正確的結(jié)果。這需要我們在前期拍攝的時候?qū)Υ擞谐浞值臏?zhǔn)備措施。
3.2.1足夠的特征點數(shù)量
由剛才的公式知道了反求解算的本質(zhì)就是矩陣F的求解過程,可以對剛才的公式繼續(xù)推導(dǎo)演變?yōu)椋?/p>
(x′)K′R×SKx=0
(3)
其中K為相機的內(nèi)參矩陣,R為兩個機位間的旋轉(zhuǎn)矩陣,S為兩個機位之間位移向量的反對稱矩陣,R和S 其實就構(gòu)成了需要求解的相機軌跡,x′與x是兩幅圖像上的任意一對點對。每一組點對的匹配提供了計算F系數(shù)的一個線性方程,而F的自由度為7,所以要解這個方程組至少需要7個點對,也就是至少要確保在每幀畫面中能夠至少找到7個特征點。這是最穩(wěn)妥的辦法,也有一些改進的算法利用已知幀的位置去反推其它幀的位置,可能就不必在所有的幀都必須有7個點,但是往往由于成像質(zhì)量噪點等的影響,一般情況下還是會盡可能地在前期拍攝時保證每幀畫面可提取超過7個特征點。當(dāng)計算出了R和S,就可以利用三角測量法進而計算出像點在空間中的真實位置P。
3.2.2 特征點要相對場景保持靜止
我們反求的是攝影機相對于場景的運動,運動都是相對的,一般將攝影機視作運動,拍攝場景視作靜止,那么選取的所有特征點之間都必須保持相對靜止或者說是一個剛性的連接。這里著重要提出的是有一些點容易被忽視或者誤判為靜止的點,比如高光點、非鏡面反射點、前后景物遮擋交叉產(chǎn)生的點,這樣的點都會隨著相機拍攝角度的變化而產(chǎn)生相對于場景的運動。還有在棚內(nèi)拍攝的時候有一些戲需要用到風(fēng)機,而風(fēng)機會擾動綠幕,這樣在綠幕上的點就不能夠再使用了,需要再另外添加一些剛性的點如圖6所示,這里可以添加一些標(biāo)記桿。
圖6 攝影棚中常見的風(fēng)扇以及標(biāo)記桿
3.2.3 與藍(lán)綠背景存在明顯的亮度或者色度上的反差
Matchmoving軟件具備一些自動比對識別跟蹤的功能,從而極大地提高了跟蹤效率。這些功能主要通過畫面中亮度和色度的反差來進行比對和識別,一般是以亮度的反差為優(yōu)先選取模式,因為跟蹤反求的素材通常是代理文件,經(jīng)過壓縮和采樣,色度一般都會有較大損失,而亮度的損失很小。所以我們在前期布置特征點的時候最好依據(jù)這一特性來進行布置,如果背景是綠色,那么特征點就會使用比綠幕的亮度更高或者更低一些的綠色來標(biāo)記,這樣不僅容易識別跟蹤,還會節(jié)省摳像的工作量。
3.2.4 形態(tài)多樣化、邊緣銳利
這里也是基于自動跟蹤的功能進行前期優(yōu)化。如果我們的特征點都是非常相似的點,間距也比較近,那么在識別的時候軟件很有可能將鄰近的點識別為同一個點,這樣跟蹤會產(chǎn)生較大的偏差,會嚴(yán)重影響我們的解算結(jié)果。而邊緣銳利會使特征點點位更加容易辨別。如圖7如果是一個圓點,在較遠(yuǎn)的距離上可以很好地識別為一個點,但是一旦機位向前推進或者變焦,特征點開始變大成為了一個圓,識別中心就很可能會發(fā)生偏移,而銳利的邊緣就不太容易發(fā)生這種情況。
圖7 各種形態(tài)的標(biāo)記點
3.2.5 特征點在空間中的位置不能離合成位置太遠(yuǎn)
圖8 近處有無標(biāo)記點的跟蹤對比
有時在室外拍攝的時候,場地可能非??諘?,前景較難提取有效的特征點,絕大部分特征點都處于很遠(yuǎn)處,但是需要在前景合成CG物體。那么此時僅僅通過遠(yuǎn)處的特征點進行的解算結(jié)果用于近處的CG參考物體,很可能會發(fā)生抖動、匹配不穩(wěn)定的問題。如圖8所示,如果僅提取遠(yuǎn)處樹上的特征點用于解算,這些特征點反映在畫面上可能也就是幾個像素的直徑,但是它們在真實空間中的尺寸可能很大,達(dá)到幾十公分甚至幾米,中間還可能會有成像質(zhì)量如噪點等因素的影響,此時即便跟蹤發(fā)生了很大的偏差,人眼和軟件都不太容易察覺并進行糾正,這顯然會影響跟蹤質(zhì)量。這時需要在合成位置的附近人為添加一些特征點來輔助解算。
3.2.6 有大小疏密間隔的分布以及有固定間距的分布
在棚內(nèi)拍攝時考慮到機位運動的隨機性,有時會遠(yuǎn)離綠幕,有時則貼得很近,那么在周邊布點時最好間或有兩到三種尺寸的標(biāo)記點(圖9),這樣可以適應(yīng)機位的遠(yuǎn)近變化,當(dāng)機位推進時使用小一些的點,機位拉遠(yuǎn)后則可以繼續(xù)跟蹤較大一些的點。如果我們將場景中的某些點進行固定間距分布,那么相當(dāng)于已知了這些點的空間分布關(guān)系,也就是圖5中P點確切的值,根據(jù)之前的公式去推論,可以通過較少的點得到更準(zhǔn)確的相機軌跡以及場景空間尺寸。這種方法是排布標(biāo)記點的基本法則。
圖9 標(biāo)記點的大小以及疏密分布
一副圖像的生成除了與外部環(huán)境有關(guān)之外,更與攝影機本身的各種參數(shù)設(shè)置有著密不可分的關(guān)系,相機的內(nèi)參K可以描述攝影機的一些重要特性,它在之前的公式里也出現(xiàn)過。它主要包含四個部分: 內(nèi)參矩陣、畸變系數(shù)、運動模糊與噪點和準(zhǔn)確完整的現(xiàn)場空間信息。
(1)內(nèi)參矩陣
(4)
k就是內(nèi)參矩陣,正常情況下f=f為焦距大小,s一般都視作理想值為0,x、y為像素坐標(biāo)系下的主點坐標(biāo),如果已知f和主點的值,那就已知了k的值,所以在前期拍攝現(xiàn)場,每個鏡頭都應(yīng)認(rèn)真記錄拍攝時的焦距以及感光元件大小(通常該值固定不變)。已知這兩個值就知道了真實的視場角大小,從而能幫助我們縮小解算的范圍,如果有變焦的操作還需要記錄下變焦的大致范圍以備后期參考,這和固定機位匹配情況完全一致。
(2)畸變系數(shù)
圖10 畸變的常見類型
畸變是由攝影機系統(tǒng)設(shè)計、制作、裝配所引起的像點偏離其理想位置點的現(xiàn)象,畸變主要分為徑向畸變和切向畸變,我們用畸變系數(shù)來描述畸變的情況。電影鏡頭一般加工的精度都比較高,畸變系數(shù)較小并且一般都屬于徑向畸變。徑向畸變又分為桶形畸變和枕形畸變(圖10),一般都可以直接提取畫面中的信息進行矯正,但是為了更精準(zhǔn)地計算畸變的系數(shù),一般會在前期拍攝的時候用一些特定的方法記錄畸變系數(shù)。方法就是提前將影片拍攝要用到的機身和鏡頭依次組合然后拍攝棋牌格圖案,并將圖案按照機身和鏡頭的編號逐一記錄,在后期Matchmoving人員可以準(zhǔn)確地通過相應(yīng)的畫面采樣計算畸變系數(shù)。另外有些時候由于創(chuàng)作的需要會使用變形鏡頭來拍攝,變形鏡頭也是利用鏡頭的光學(xué)特性對影像進行了擠壓,我們在處理這一類素材時通常不直接使用棋盤格來校正,而是先得到鏡頭的變形系數(shù),利用系數(shù)在反求軟件中將素材還原到正常的寬高比后再進行畸變的校正。在還原時原則上要保持素材高度不變,只對寬度進行拉伸,但是為了能盡可能保持畫面的銳度一般會反向操作。
(3)運動模糊與噪點
除了攝影機的內(nèi)部參數(shù),成像時產(chǎn)生的運動模糊和噪點也會直接對跟蹤質(zhì)量產(chǎn)生很大的影響。我們需要盡一切可能將這兩樣干擾降到最低,一些導(dǎo)演或攝影師有時會想要在實拍時故意制造這些干擾,他們將之視作效果,前期視效人員在這種時候必須要堅定自己的立場并明確告訴他們這些效果在后期都非常容易實現(xiàn),在前期還是必須盡量保持畫面的干凈清晰完整,盡可能地記錄場景原本信息。遇到噪點大的畫面盡量降低感光度,給更多的光,遇到運動模糊較大的情況就減小葉子板開角或者增大電子快門速度同時可能也要給出更多的光。前期視效人員必須隨時和攝影師、燈光師等現(xiàn)場工作人員保持暢通無阻的聯(lián)系。
(4)準(zhǔn)確完整的現(xiàn)場空間信息
如果已知現(xiàn)場的空間信息,可以為后期的解算提供很大的幫助。之前我們采用的方式是測量記錄標(biāo)記點之間的距離,但是這種方法能夠記錄的信息比較有限,而經(jīng)常利用到的很多特征點都是在標(biāo)記點以外的點,這些點可以通過全站儀來進行測量,并現(xiàn)場拍照為這些點做好編號。當(dāng)然最好的方法是將整個拍攝現(xiàn)場用激光掃描進行掃描生成場景的點云,這和用全站儀測量得到的數(shù)據(jù)是同一種數(shù)據(jù),只不過點的密度和數(shù)量要大得多,速度也更快,幾乎可以做到無死角記錄。如圖11在前期拍攝現(xiàn)場利用激光掃描儀得到的點云可以導(dǎo)入PFtrack并與畫面中對應(yīng)的二維特征點指定匹配從而完成反求解算,這樣得到的相機軌跡可以高度還原實拍現(xiàn)場的真實相機軌跡。當(dāng)然激光掃描的方式比較昂貴,我們也可以用圖像掃描的方式來完成現(xiàn)場點云的重建,但是精度會稍差。
圖11 PFtrack中導(dǎo)入從外部導(dǎo)入點云的跟蹤情況
Matchmoving的完整流程是需要覆蓋前后期的,有很多鏡頭如果在前期的工作沒有做充分會直接影響后期的工作效率和成敗,但是前期的工作又必須是在充分了解熟悉了Matchmoving的后期工作原理機制后予以展開。在前期的每一個動作和步驟都必須要思路清晰目的明確,問題一旦明確,處置需要非常果斷,要盡可能地把問題放在前期解決掉。?
注釋
①LDS全稱為Lens Data System,是ARRI專門針對前期鏡頭數(shù)據(jù)記錄開發(fā)的系統(tǒng)。
②yaw是偏航角,特指圍繞Y軸方向的旋轉(zhuǎn),pitch是特指俯仰角。
③PFtrack是一款功能非常齊全也是比較主流的Matchmoving軟件。