计算机图形学【GAMES-101】13、光场、颜色与感知
快速跳轉(zhuǎn):
1、矩陣變換原理Transform(旋轉(zhuǎn)、位移、縮放、正交投影、透視投影)
2、光柵化(反走樣、傅里葉變換、卷積)
3、著色計算(深度緩存、著色模型、著色頻率)
4、紋理映射(重心坐標插值、透視投影矯正、雙線性插值MipMap、環(huán)境光遮蔽AO)
5、幾何(距離函數(shù)SDF、點云、貝塞爾曲線、曲面細分、曲面簡化)
6、陰影映射(Shadow Mapping)
7、光線追蹤原理(線面求交、預處理光追加速)
8、輻射度量學與光線追蹤
9、蒙特卡洛路徑追蹤(Path Tracing)(光源采樣)
10、材質(zhì)(BRDF)(折射、菲涅爾項、微表面模型、各向異性材質(zhì))
11、渲染前沿技術介紹(雙向路徑追蹤BDPT、MLT、光子映射、實時輻射度、外觀建模)
12、相機(視場、曝光、光圈(F-Stop)、薄棱鏡近似、CoC、景深)
13、光場、顏色與感知
14、動畫(物理模擬、質(zhì)點彈簧系統(tǒng)、粒子系統(tǒng)、運動學、動作捕捉、歐拉方法)
Lecture20
- 1 光場(Light Field)
- 1.1 全光函數(shù)(The Plenoptic Function)
- 1.2 光場照相機
- 2 顏色(Color)
- 2.1 顏色的物理學基礎
- 2.2 顏色的生物學基礎
- 2.3 色彩復制 / 匹配
- 2.4 顏色空間(Color Spaces)
- (1)Standardized RGB (sRGB)
- (2)CIE XYZ
- (3)HSV
1 光場(Light Field)
個案例:人坐在屋子里,用一張畫布將人眼看到的東西全部畫下來。
然后在人的前面擺上這個畫布,以此2D圖像替代3D場景以假亂真,這就是VR的原理。
1.1 全光函數(shù)(The Plenoptic Function)
光場描述空間中任意一點向任意方向的光線的強度。
而完整描述光場的全光函數(shù)是個7維函數(shù),包含任意一點的位置(x, y, z)、方向(極坐標θ, φ)、波長(λ)(描述顏色)、時間(t)
全光函數(shù)描述了攝像機在任何位置,往任何方向看,在任何時間上看到的不同的顏色。
定義光線Ray
- 一般空間中的光線5D的:3D位置(x, y, z)+2D方向(θ, φ)。
- 光場中的光線為4D :2D位置+2D方向(θ, φ)。
如何理解?—— 位置并不是取物體表面的位置,而是取其包圍盒平面的2維坐標。
用一個盒子包裹住物體,并且記錄這個物體表面任何一個位置往各個方向發(fā)射的光的radiance。
相當于我們可以知道從外界任何一個位置任何一個方向看向該物體,有光場,我就應該知道能看到什么。
注意包圍盒表面的2D坐標跟物體表面3D坐標是一一對應的。
至此,我們其實并不關心物體是什么,當做黑盒,我只需要知道,從現(xiàn)在位置看過去,能看到什么。
再升級一步,把光線的表示改為:2D位置+2D方向——>2D位置 + 2D位置
也就是用兩個平面(分別是uv面和st面)上的兩個點來表示一根光線(連接任意兩個點就是一條線),之后我們就能用這個表示方式搞事情了。
記錄光場
- 圖(a):uv面上取一個點,看向st面,相當于一個針孔攝像機,能得到一張完整的圖像。在所有uv的點對st平面(場景)進行拍攝,就會得到一堆拍攝角度不同的圖像
- 圖(b):如果固定st面上一點,從uv面的不同的點看向它,相當于我從所有不同的角度看向世界中的同一個點。比如佛像的某個毛孔該是什么樣,最終得到一堆角度不同的毛孔圖。(另一種理解方式:每個像素存的是irradiance,遍歷uv面所有點就是把irradiance展開成radiance)
1.2 光場照相機
Lytro相機,原理就是光場,由Prof.Ren Ng(UC Berkeley)發(fā)明。
其中最重要的功能:先拍照,后期動態(tài)調(diào)節(jié)聚焦
- 一般的攝像機傳感器的位置在下圖那一排透鏡所在的平面上,每個透鏡就是一個像素,記錄場景的irradiance。現(xiàn)在,光場攝像機將傳感器后移一段距離,原本位置一個像素用透鏡替換,然后光穿過透鏡后落在新的傳感器上,擊中一堆像素,這一堆像素記錄不同方向的radiance。
- 光場攝像機拍出來的原始圖片如下圖所示,由一個個圓組成,如果把每個圓內(nèi)所有像素求平均,可以得到原始照相機的成像結(jié)果。
- 怎么體現(xiàn)光場的原理?—— 從透鏡所在平面往左看,不同的透鏡對應不同的拍攝位置,每個透鏡又記錄了來自不同方向的radiance。總而言之,原本一個像素記錄的irradiance,通過替換為透鏡的方法,拆開成不同方向的radiance用多個像素存儲。
如何由光場攝像機圖像得到普通的圖像呢?
- 選擇每個像素塊的最下面一個像素,然后用這些像素拼成普通圖像(實際上它們本來就是規(guī)則的矩陣)。
- 然后也能選擇中間、上面等各個位置的像素
- 最終實現(xiàn)拍照后,再移動攝像機位置的效果。
對于如何實現(xiàn)后期變焦比較復雜,但思想很簡單,首先我已經(jīng)得到了光場,只需算出前后移動傳感器,然后應該查詢哪條光線,也可能對不同透鏡查詢不同位置的光線,這需要計算。
最后光場攝像機存在的不足之處
- 分辨率不足,原本1個像素記錄的信息,需要可能100個像素來存儲
- 高成本,為了達到普通相機的分辨率,需要更大的膠片,并且儀器造價高,設計復雜
2 顏色(Color)
2.1 顏色的物理學基礎
光譜(Spectrum)
- 是復色光經(jīng)過色散系統(tǒng)(如棱鏡、光柵)分光后,被色散開的單色光按波長(或頻率)大小而依次排列的圖案,全稱為光學頻譜。
- 在圖形學中,我們關注的是可見光光譜。
光譜功率分布(Spectral Power Distribution)(SPD)
- 描述光在各個波長上的分布情況
- 自然界中不同的光對應不同的SPD
- SPD的線性性質(zhì)
多種不同光疊加在一起,對應的SPD圖也是簡單的線性疊加
2.2 顏色的生物學基礎
- 顏色是并不是光的普遍屬性,而是人對光的感知。
- 不同波長的光 ≠ 顏色
人眼球剖面圖
- 人眼跟相機類似,瞳孔對應光圈,晶狀體對應透鏡,視網(wǎng)膜則是傳感器(感光元件)
- 視網(wǎng)膜感光細胞:視桿細胞(Rods)、視錐細胞(Cones)
- Rods用來感知光的強度,可以得到灰度圖
- Cones相對少很多,用來感知顏色,它又被分為3類(S-Cone、M-Cone、L-Cone)
- S M L三類細胞對光的波長敏感度(回應度) 不同,如右圖所示
不同的人這三種細胞的比例和數(shù)量呈現(xiàn)很大的差異
下圖是12個人這三種細胞的含量對比圖
顏色的三刺激理論(Tristimulus Theory of Color)
三種不同細胞對于不同光是如何感知的?
- 將三種細胞的敏感度曲線(響應曲線)跟光的SPD相乘后做積分
- 最終返回人類感知到的三種顏色,SML對應三個數(shù)值
人看到的不是光譜,而是兩種曲線積分后得到SML再疊加的結(jié)果。
那么一定存在一種現(xiàn)象:兩種光,對應的光譜不同,但是積分出來的結(jié)果是一樣的
同色異譜(Metamerism)
- 如下4種不同的SPD,經(jīng)過響應曲線積分后,得到完全相同的結(jié)果。
- 比如現(xiàn)實中的太陽光譜如下,在顯示器上可以用另一種光譜合成出一樣的效果顯示出來
2.3 色彩復制 / 匹配
- 計算機中的成色系統(tǒng)成為Additive Color(加色系統(tǒng))
- 所謂加色法,是指顏色光的RGB三原色。它們按不同比例相加而混合出其他色彩的一種方法
CIE RGB顏色匹配實驗
- 利用RGB三原色匹配單波長光(SPD表現(xiàn)為集中在一個波長上)
匹配曲線: 描述了每個CIE RGB原色光必須各自組合多少,以匹配在x軸上給出的波長的單波長光(目標測試光)
比如波長為600的光,大概需要的比例為1.15R、0.2G、0B。
- 色匹配函數(shù)(非單波長光)
還是用RGB三原色,還是上面的匹配曲線,目標光變成了頻譜分布不單一的光(比如下方這種SPD)
那就不能只考慮一個波長需要多少RGB,而是考慮全部波長范圍,利用公式計算分別需要多少RGB(公式比較簡單,就是帶入RGB各自的匹配曲線的函數(shù)式,和目標光的頻譜曲線函數(shù),相乘并對橫軸波長積分即可)
2.4 顏色空間(Color Spaces)
(1)Standardized RGB (sRGB)
多用于各種成像設備,上面介紹過,這里略。色域有限(大概為CIE XYZ的一半)。
(2)CIE XYZ
廣泛用于科學領域
- 這種顏色空間的匹配函數(shù),對比之前的sRBG,沒有負數(shù)段
- 匹配函數(shù)不是實驗測出,而是人為定義的
- 綠色y的分布較為對稱,用這三條匹配函數(shù)組合出來的 Y(類比之前的G) 可以一定程度上表示亮度
色域Gamut(所有可以顯示的顏色)
只是簡單介紹,想更深入的學習,建議百度
(3)HSV
在顏色拾取器中廣泛使用
其他顏色空間略
總結(jié)
以上是生活随笔為你收集整理的计算机图形学【GAMES-101】13、光场、颜色与感知的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【纯干货】标题里的大学问,月薪10000
- 下一篇: mysql foxpro_|DBSync