晁建剛,王金坤,陳學(xué)文,張 炎
(1.中國航天員科研訓(xùn)練中心,北京100094;2.中國航天員科研訓(xùn)練中心人因工程重點實驗室,北京100094)
載人航天器交會對接任務(wù)按照航天員的參與程度通常分為自主和人控兩種操作模式[1]。自主模式下兩個航天器通過多種測量信息進行自主/自動控制達到對接目的;人控模式下航天員借助舷窗(美國)、光學(xué)瞄準(zhǔn)鏡(俄羅斯)或電視圖像(美國、俄羅斯等)等視覺測量設(shè)備,人控操作追蹤飛行器完成對接。我國人控對接時,需要航天員實時觀察圖像信息操作追蹤航天器完成對接[2];自主對接時航天員不直接參與操作,但需要監(jiān)控圖像和應(yīng)急情況下人控干預(yù)。
對接任務(wù)地面訓(xùn)練中,很難采用實物或者半實物模式實現(xiàn)追蹤與目標(biāo)的空間運動,通常采用數(shù)字方法仿真兩航天器的軌道運動、導(dǎo)航制導(dǎo)及動力控制,利用計算機圖形學(xué)建立虛擬空間,實時渲染生成目標(biāo)空間運動圖像。我國交會對接采用電視圖像進行目標(biāo)捕捉[1],訓(xùn)練仿真圖像渲染需要考慮近地空間光照亮度高動態(tài)變化,也需要考慮電視攝像機曝光特效、光度調(diào)節(jié)特性和最終顯示特性。太陽光照射在目標(biāo)飛行器上會有部分光線反射進入電視攝像機,在特定條件下進入電視攝像機的光強過大,超過電視攝像機的瞬時調(diào)節(jié)能力導(dǎo)致曝光過度,圖像中局部區(qū)域特別亮。當(dāng)航天器處于陰影區(qū)時,在交會對接燈開啟前,進入電視攝像機的光強太弱,導(dǎo)致曝光不足,圖像中局部區(qū)域特別暗。實際交會對接電視攝像機工作時,為清楚對接靶標(biāo),會對電視攝像機參數(shù)進行自動或者手動調(diào)節(jié),使視場中的物體的亮度均值處于指定的范圍內(nèi)。會縮短曝光時間、減少增益,當(dāng)均值亮度太小時增加曝光時間、增加增益,使之回到指定的范圍內(nèi)。
電視圖像仿真時建立了包括地球、追蹤飛行器、目標(biāo)飛行器、太陽等所有仿真對象的三維場景。電視圖像仿真軟件首先計算出所有仿真對象的位置、姿態(tài)、方向等參數(shù)并設(shè)置到三維場景中,接下來進行原始渲染,然后對原始渲染圖像進行飽和特效、均值亮度計算等處理,最后輸出最終仿真電視圖像并根據(jù)均值亮度設(shè)置下一次渲染所有光源亮度相關(guān)屬性。本文主要針對近地空間光照及攝像機的特性,提出了訓(xùn)練仿真電視圖像的實時渲染模式,闡述了高動態(tài)范圍(High Dynamic Range)成像、特效、調(diào)光和色調(diào)映射的實現(xiàn)方法。
真實任務(wù)中攝像機工作在近地空間,自然光源有太陽、地球、月亮、星光、銀河和宇宙光等[3],光照強度變化范圍很大。如圖1所示:空間的光照強度通常從10-6cd/m2變到108cd/m2,即光強從暗適應(yīng)范圍(Rod Function Scotopic)經(jīng)過度范圍(Mescopic)變化到亮適應(yīng)范圍(Cone Function Photopic),變化范圍大概為1014∶1。人的視覺系統(tǒng)(Human Visual System,HVS)對于亮度的感知范圍通常為10000∶1,攝像機與人的視覺光照敏感度一致。而通常圖形仿真的范圍為256∶1,顯示設(shè)備范圍為100∶1,適用于低動態(tài)范圍(Low Dynamic Range,LDR)的變化。研究表明,人對圖像的亮度對比度感知最明顯[4],采用亮度一一對應(yīng)的方式仿真很難保證亮度對比度感知的一致性;電視圖像仿真中采用高動態(tài)色調(diào)映射方法將較大亮度范圍內(nèi)的亮度層次映射到人對亮度的感知范圍內(nèi),保證人對亮度對比度感知一致性。
圖1 視覺感知及顯示亮度范圍圖Fig.1 Illumination range of visual perception and display
由于陽照區(qū)和陰影區(qū)不斷交替變化攝像機入射光強度變化很大。攝像圖像在兩種情況下無法識別,一種是入射光強度過高,目標(biāo)成像區(qū)域產(chǎn)生光飽和,形成強烈的白色模糊區(qū)域;一種是入射光強度過低,引起目標(biāo)欠飽和,成像過暗。為得到清晰的圖像,工程上攝像機采用自動或者手動調(diào)光,通過調(diào)節(jié)可變光闌孔徑的大小改變?nèi)肷銫CD靶面上的照度,得到合適的照度以保證成像清晰[5]。電視圖像仿真中,除模擬光飽和和光暗兩種成像模式,也要模擬實時光亮度統(tǒng)計進行自動或者手動調(diào)光。
為滿足對近地空間條件下攝像機動態(tài)曝光特性等功能的仿真以及最終圖像的亮度感知一致性,需要對目標(biāo)材質(zhì)光照特性進行二次光特效、光調(diào)節(jié)特性等處理。具體方法為在一次原始成像渲染的基礎(chǔ)上,實時對整個圖像進行特性統(tǒng)計計算、實現(xiàn)光學(xué)特效、亮度調(diào)節(jié)和高動態(tài)計算后再次渲染形成最終顯示的逼真圖像,實現(xiàn)過程比較復(fù)雜。
采用傳統(tǒng)圖形學(xué)仿真時,需要在渲染周期內(nèi)完成對渲染對象的初步光照渲染、圖像亮度統(tǒng)計、特效光照計算、亮度調(diào)節(jié)和適應(yīng)性高動態(tài),累計進行多次光照渲染[6]。如圖2所示,當(dāng)場景中包含m個光源以及n個物體時,在最壞的情況下,傳統(tǒng)渲染方法的復(fù)雜度為O(m×n),實時生成圖像效率受到影響。文獻[7-8]等提出了一種延遲著色(Deferred Shading)技術(shù),周期內(nèi)仿真只需設(shè)置完三維渲染狀態(tài)(Rendering State)后,在幾何階段(Geometry Stage)提交場景幾何圖元一次,在幾何內(nèi)存G-Buffer(Geometry Buffer)中存儲了每個像素的屬性(片元幾何位置、片元法線、漫反射、鏡面反射系數(shù)、材質(zhì)其他屬性等),用于隨后的通道進行渲染,如圖2所示,延遲渲染方法在最壞情況下復(fù)雜度降為O(m+n)。在幾何緩存的基礎(chǔ)上設(shè)置二維渲染狀態(tài)后,如圖3所示,光照階段(Lighting Stage)、后處理階段(Post-Processing Stage)和最終階段(Final Stage)每個像素是各自獨立著色,后處理經(jīng)過 P-Buffer(Pixel Buffer)實現(xiàn),減少了顯卡內(nèi)存和渲染通道交互,提高了效率。
圖2 傳統(tǒng)與延遲著色偽代碼Fig.2 Pseudo code for traditional shading and deferred shading
圖3 延遲著色技術(shù)架構(gòu)圖Fig.3 Architecture of deferred shading technique
為提高渲染的逼真度和實時性,電視圖像仿真采用了延遲著色的渲染模式進行圖像仿真。在幾何內(nèi)存中建立了圖形幾何及法線矢量特性、不同光照模式下目標(biāo)的材質(zhì)特性以及特效模式下的處理模型。光照階段采用浮點模式完成原始圖像的高動態(tài)渲染;后處理階段,模擬攝像機對原始亮度進行平均統(tǒng)計,用于光飽和特效仿真及調(diào)光處理;在最終階(Final Stage)段,采用色調(diào)映射實現(xiàn)圖像的高動態(tài)渲染。信息交互主要通過G-Buffer和P-Buffer,實現(xiàn)了幾何與光照的分離、特效處理、最終渲染與源圖像的處理、并行運算的有效匹配[6]。
傳統(tǒng)渲染系統(tǒng)通常只能產(chǎn)生低動態(tài)范圍的渲染結(jié)果。對于一般的場景對象而言,這種渲染結(jié)果基本上可以接受,但是對于近地空間對接任務(wù)所包含的具有高亮度的光源(太陽、對接聚光燈、標(biāo)志燈等)或者高光反射物體(目標(biāo)航天器對接環(huán)和對接瓣等)的場景,渲染結(jié)果通常嚴(yán)重失真。問題的主要原因是此類場景通常具有高動態(tài)范圍,而在傳統(tǒng)固定流水線僅能夠操作8 bit整型數(shù)值,對比度只有255∶1。為了模擬真實的電視攝像機光學(xué)特效和適應(yīng)性調(diào)光功能,需要渲染的原始圖像具備與空間攝像機接近的光學(xué)亮度范圍(10000∶1),傳統(tǒng)的整型紋理渲染已經(jīng)無法滿足需要[6]。
為了解決動態(tài)范圍不足問題,為場景中的每個表面創(chuàng)建一張浮點格式的光照貼圖,貼圖的每個像素代表了表面相應(yīng)位置的光強。使用Open-GL的FBO(Frame Buffer Object,幀緩沖對象)將綁定浮點光照貼圖的場景渲染到一個與屏幕大小一致的浮點紋理中,可以提高像素的亮度對比度。
目標(biāo)航天器進行三維建模,采用了GL_RGBA16F模式的浮點紋理,將每個像素的RGB以及亮度值用實際物理參數(shù)或是線性函數(shù)表示,參數(shù)不再限于整數(shù),可以達到更大的范圍和更高的精度。這種方法從源頭上保證了渲染的逼真度,避免了渲染處理過程中的紋理失真。
受空間環(huán)境因素影響,電視攝像機容易出現(xiàn)飽和,亮度比較高的地方出現(xiàn)光暈和光飽和現(xiàn)象。這種飽和與攝像機特性相關(guān),對浮點紋理內(nèi)存中的高亮部分采取高通濾波,濾波后的圖像縮比后分別進行橫向和縱向高斯混合,最后再與原始圖像進行融合,形成飽和特效。
在計算機圖形學(xué)和傳統(tǒng)色彩學(xué)中,每個像素點的光強亮度值通過公式(1)來獲?。?],其中R、G、B表示像素點三個顏色分量。
高通濾波時對原始圖像每個像素亮度值進行統(tǒng)計,亮度值LW大于高通閾值的像素點保留進行高斯混合,形成光學(xué)特效[8]。閾值的選取根據(jù)攝像機特性來實施,文中通過實驗,選取為0.665。
光亮度調(diào)節(jié)和最終色調(diào)映射都需要對渲染的原始圖像亮度進行統(tǒng)計,求取平均亮度值,作為調(diào)節(jié)和映射參考值。
獲取圖像平均亮度有兩種方法:一是對圖像逐像素亮度統(tǒng)計,方法簡單可行、統(tǒng)計精度高,耗時較大,很難滿足實時性要求;第二種為在延遲著色模式下,在GPU中對圖像進行多次降采樣實現(xiàn)平均亮度的統(tǒng)計,統(tǒng)計精度稍低,運行耗時較小。
延遲著色模式下降采樣是指將初步渲染并在屏幕空間裁減的圖像映射到規(guī)定的浮點紋理內(nèi)存中,通過多次紋理信息亮度比例壓縮、平均融合,最終把亮度值采樣到一個1×1的內(nèi)存紋理中,如圖4所示。
圖4 降采樣示意圖Fig.4 Illustration of downsampling
采用降采樣方法進行平均亮度計算前,通常先將圖像平均分割成N×N的多個區(qū)域,對每一個區(qū)域內(nèi)的N×N個采樣點的亮度相加求平均值,即降采樣平均亮度計算采用公式(2)進行計算。按照公式(2)計算出來的所有平均亮度均作為新圖像的采樣點組成下一層采樣圖像。將下一層采樣圖像作為輸入圖像重復(fù)上面的步驟,最后當(dāng)采樣圖像只剩下一個采樣點時,該采樣點的亮度值即為原始圖像的平均亮度。公式(2)中x、y是每個像素的2D坐標(biāo)。
電視圖像仿真分辨率為1024*768,首先將初步渲染的場景圖像信息拷貝出來,在后處理加工階段進行4×4像素信息降采樣,將采樣的圖像信息拷貝到128×128的浮點內(nèi)存紋理中,通過2×2亮度降采樣,拷貝到64×64浮點內(nèi)存紋理中,再次連續(xù)兩次4×4降采樣,分別形成16×16和4×4浮點內(nèi)存紋理,最后通過4×4降采樣,形成1×1內(nèi)存紋理,其值包含了整場景的平均亮度值。
由于人眼對亮度的感知成對數(shù)關(guān)系,首次亮度降采樣時每個像素點采用亮度值的對數(shù)求平均值,在最后一次采樣時恢復(fù)到指數(shù)亮度的平均值,如公式(3)所示[10]。其中,δ是一個很小的值,用以避免對亮度為0的全黑像素進行對數(shù)運算,通常取δ為0.001,N是降采樣時所取像素的個數(shù)。
真實攝像機光亮度調(diào)節(jié)方法為:視頻AD芯片對CCD輸出的模擬視頻信號進行采樣,獲得每一幀的圖像數(shù)據(jù),即灰度矩陣[11],對灰度矩陣求平均值即可獲取圖像的平均亮度。通常調(diào)光策略方法為:設(shè)取平均灰度結(jié)果為,當(dāng)灰度值在內(nèi),表明當(dāng)前的CCD攝像機接收的光照度合適,不調(diào)光;如果>,則調(diào)整電子快門使平均亮度調(diào)整到;反之如果則調(diào)整電子快門使平均亮度調(diào)整到
實際任務(wù)中,光源發(fā)出的光作用在物體上后再進入真實電視攝像機形成電視圖像,光源強度和物體材質(zhì)屬性不會發(fā)生改變。通過調(diào)整真實電視攝像機的曝光時間、增益等參數(shù)可以改變實際電視圖像的亮度。由于模擬真實電視攝像機工作過程比較復(fù)雜,電視圖像仿真過程中可以通過調(diào)整光源強度、調(diào)整物體材質(zhì)中的光學(xué)屬性、調(diào)整成像像素亮度來影響最終仿真圖像亮度。仿真時為達到調(diào)光的目的,改變光源亮度的方法可以稱為光源亮度調(diào)節(jié)法;通過延遲渲染調(diào)節(jié)每個像素點亮度的方法可以稱為成像像素亮度調(diào)節(jié)法;改變物體材質(zhì)中漫反射、鏡面反射等光學(xué)屬性系數(shù)的方法可以稱為材質(zhì)光學(xué)屬性調(diào)節(jié)法??紤]到運算的實時性和實際空間光學(xué)特點,電視圖像仿真采用光源亮度調(diào)節(jié)法和成像象素調(diào)節(jié)法混合模式。
電視圖像仿真中,采用平均值亮度作為參考,通過平均亮度值與調(diào)光策略規(guī)定的最大值和最小值相比較,確定調(diào)光系數(shù)Ca。根據(jù)神舟九號飛船(SZ-9)電視攝像機實際工作原理,仿真中采用的調(diào)整算法如公式(4)所示。
仿真過程中航天器在陽照區(qū)時,通過調(diào)節(jié)太陽光和地球的漫反射光的亮度系數(shù)(定義為太陽光的0.3倍)來實施;在陰影區(qū)時,以調(diào)節(jié)交會對接燈(圖像仿真中采用聚光燈)的亮度系數(shù)來實施;在過渡偽影區(qū)時,因太陽光和對接聚光燈同時存在,且貢獻因子強度變化級數(shù)較大,不宜采用光源亮度法,采用成像象素調(diào)節(jié)法更逼真。前者適用于單一主光源條件下,后者適用于多光源條件下。兩種模式的調(diào)節(jié)算法如公式(5)、(6)所示[7]。
色調(diào)映射其實就是一種曝光控制,即將近地空間攝像機捕獲的高動態(tài)范圍(0,10000)的圖像映射到一個固定的低范圍,既屏幕能夠顯示的(0,100)的低動態(tài)范圍內(nèi),保證人的視覺亮度感知不失真。關(guān)于色調(diào)映射,有很多具體的方法,每個方法都是從高動態(tài)范圍到低范圍的一個映射,統(tǒng)稱為TMO(Tone Mapping Operating)。電視圖像仿真中采用了文獻[12]中的調(diào)和算法。
色調(diào)算法模擬人的視覺系統(tǒng)通過視覺調(diào)節(jié)適應(yīng)高動態(tài)的范圍,其核心還是在平均亮度的基礎(chǔ)上對場景的亮度進行人眼視覺性再適應(yīng)性重新計算分配,更好的滿足在低動態(tài)顯示器逼真顯示。
色調(diào)算法采用公式(7)[12]來求取每個像素點的融合亮度值L(x,y)。其中α為鍵值,表示整個圖像的主觀亮度,用戶可以自行調(diào)整,通常取0.045,0.09,0.18,0.36 以及 0.72。文中太空環(huán)境陰影區(qū),通??扇?.09,在陽照區(qū)一般取0.18或0.36。像素點最終渲染的亮度值在融合亮度值的基礎(chǔ)上,通過公式(8)[13]平衡壓縮計算獲取,其中Lwhite是最大光強值,文中設(shè)置為1.2247。
基于延遲著色方法,原始光照圖像經(jīng)過平均亮度統(tǒng)計、特效處理和調(diào)光處理,在合成階段通過色調(diào)映射對每個象素點亮度重新計算,渲染生成的圖像保持了與實際一致。
基于上述方法,采用3Dmax對空間場景、飛行器進行幾何和材質(zhì)屬性浮點建模,在Windows系統(tǒng)下,以Microsoft Visual C++編程,用OpenGL圖形引擎模式實現(xiàn)電視圖像仿真。生成的仿真軟件運行在英特爾?至強?四核處理器W3565(3.20 GHz)、內(nèi)存 4 GB、顯卡 NVIDIA Quadro FX3800(1 GB)的工作站上。按照空間目標(biāo)運動規(guī)律,每40ms提供太陽、月亮、地球、追蹤飛行器、目標(biāo)飛行器空間坐標(biāo)/姿態(tài)位置驅(qū)動圖形仿真,經(jīng)測試,圖像渲染流暢,F(xiàn)PS(Frame Per Second)接近50,已經(jīng)充分滿足人的視覺需要。
根據(jù)SZ-9下傳圖像,對仿真圖像光飽和、光調(diào)節(jié)和色調(diào)映射顯示等進行了比對,結(jié)果見圖5~7。
圖5為進行高動態(tài)渲染前后的兩幅圖像。可以看出進行高動態(tài)渲染后圖像的細節(jié)層次更清晰,更有利于人的視覺感知,更接近SZ-9任務(wù)實飛圖像。
圖5 傳統(tǒng)仿真圖像和高動態(tài)仿真圖像Fig.5 Traditional simulated image and high dynamic range simulated image
圖6 過飽和仿真圖像和調(diào)光后的仿真圖像Fig.6 Simulated overexposure image and lightadjusted simulated image
圖7 SZ-9任務(wù)中過飽和圖像和調(diào)光后的圖像Fig.7 Simulated overexposure image and lightadjusted simulated image in SZ-9 task
圖6 為光過飽和仿真圖像和模擬手動調(diào)光過程后的仿真圖像的對比圖。從光過飽和仿真圖像中已不能分辨天宮及對接靶標(biāo),而從調(diào)光后的仿真圖像中已能較為清楚地分辨天宮和對接靶標(biāo)。圖7為SZ-9實際任務(wù)中電視攝像機拍攝到的光過飽和圖像和航天員手動調(diào)光后的圖像的對比圖。將仿真圖像與SZ-9任務(wù)圖像進行對比,圖像過飽和時以及調(diào)光前后的圖像細節(jié)層次與亮度的變化基本一致,并且手動調(diào)光過程中的圖像變化趨勢以及手動調(diào)光次數(shù)也基本一致。
上述比對過程可以看出,當(dāng)目標(biāo)過飽和、圖像均值亮度過大時,通過減少亮度系數(shù)來仿真電視攝像機的調(diào)光減少效果的方法是有效的。因此當(dāng)入射光強度過低、圖像均值亮度過低時,增加亮度系數(shù)可以使圖像均值亮度回到指定范圍內(nèi),即通過增加亮度系數(shù)來仿真電視攝像機的調(diào)光增加效果的方法也是適用的。
本文研究了近地空間光照特點、攝像機特性和仿真顯示特點和難點,提出了一種基于延遲著色模式下的圖形渲染模式;建立了適應(yīng)于空間高動態(tài)的浮點紋理渲染和特效渲染方法;基于降采樣平均亮度統(tǒng)計方法實現(xiàn)調(diào)光和最終顯示色調(diào)映射,試驗表明渲染與實際工程下傳圖像一致,可以滿足航天員訓(xùn)練需要。
[1]周建平.載人航天交會對接技術(shù)[J].載人航天,2011,17(2):5-12.
[2]楊進,姜國華,晁建剛.基于靶標(biāo)圖像的航天員手控對接方法[J].宇航學(xué)報,2010,31(5):1398-1404.
[3]Hoffleit D,Jaschek C.The Bright star catalogue[J].New Haven,Conn.:Yale University Observatory,|c1991,5th rev.ed.,edited by Hoffleit,Dorrit;Jaschek,Carlos|v(coll.),1991,1.
[4]Kunkel T,Reinhard E.A reassessment of the simultaneous dynamic range of the human visual system[C]//Proceedings of the 7th Symposium on Applied Perception in Graphics and Visualization.New York,ACM Press,2010:17-24.
[5]李松.航天員對地觀察望遠鏡設(shè)計與研究[D].長春:中國科學(xué)院長春光學(xué)精密機械與物理研究所,2003:19-29.
[6]Policarpo F,F(xiàn)onseca F.Deferred shading tutorial[EB/OL].http://fabio.policarpo.nom.br/docs.
[7]Soler C,Hoel O,Rochet F.A fast deferred shading pipeline for real time approximate indirect illumination[J].ACM SIGGRAPH 2010 Talks(2010)18:65-68.
[8]Randi J.Rost.天宏工作室,譯.OpenGL著色語言[M].北京:人民郵電出版社,2006:151-203.
[9]Lee S,Kwak B,Han H,et al.Dynamic range compression algorithm for mobile display devices using average luminance values[C]//Proceedings of the 12th International Symposium on Integrated Circuits.Washington DC:IEEE Computer Society Press,2009:340-343.
[10]Jinno T,Mouri K,Okuda M.HDR video tone mapping based on gamma blending[C]//Proceedings of 17th IEEE International Conference on Image Processing.Washington DC:IEEE Computer Society Press,2010:2521-2524.
[11]張宇,趙貴軍,李國寧,等.用于目標(biāo)跟蹤的大視場CCD相機自動調(diào)光方法及實現(xiàn)[J].液晶與顯示,2009,24(6):928-933.
[12]Reinhard E,Stark M,Shirley P,et al.Photographic tone reproduction for digital images[J].ACM Transactions on Graphics,2002,21(3):267-276.
[13]Kuang J T,Yamaguchi H,Johnson G M,et al.Testing HDR image rendering algorithms[C]//Proceedings of the 12th Color and Image Conference.Virginia:Society for Imaging Science and Technology Press,2004:315-320.