• 沒有找到結果。

局部視覺相似度化簡成本

以射線為基礎測量視覺相似度

3.1 化簡演算法概要

3.2.3 局部視覺相似度化簡成本

有了取樣視點和取樣射線的方法後,我們開始介紹如何定義視覺相似度化簡成 本,先介紹局部誤差,即單一化簡步驟前後的視覺相似度。

計算一條射線與模型網格交點後可以同時得到交點上的法向量和貼圖座標,這兩 個資訊是模型在一般繪圖流程中計算畫到螢幕上的顏色所需要的資訊。我們視覺 相似度的成本計算就是依法向量和貼圖座標所得到的顏色做為誤差的計算,其中 法向量會影響光影的亮暗,貼圖座標可以查出射線與模型的交點上貼圖內容的顏 色。對於一般的化簡成本的計算而言,我們無法對於模型在各種不同光源顏色或 位置之下計算其化簡成本,因化簡時並不會知道模型會在什麼情況之下被繪製出 來,所以在進行化簡成本計算時使用單一白色光源,並將光源放在取樣視點的相 同位置,使得由視點往化簡區域觀察時所看到的網格是亮的。

給予一個多邊形網格 M,M 包含網格所有的點、法向量、貼圖座標、拓樸,定 義 R 為一條射線,包含起始點(即為視點)和射線的方向,我們用 Cost(R,M)代表 任一條射線 R 和網格 M 的交點所呈現出來的顏色,顏色的計算方法為:

) ( ) ( ) ,

(R M C l N

Cost = texture × ⋅ (3.1)

其中Ctexture為交點上的貼圖顏色,N則為交點上的單位法向量,l則是光源的向量,

為交點往射線起始點的單位向量。

view

Mk view

圖 3.6 以 2D為例。(a)顏色代表貼圖的內容,當化簡區域是在貼圖變化的地方,

射線的顏色差異dRMS會較大(b)當化簡區域為輪廓邊時,會有沒有交點的射線,

Mk+1 Mk+1

Mk

(a) (b)

必需對這些射線給予適當的處罰值。 view3產生交點之射線。由這個觀察,我們可以將Cost函式中沒交點的處罰值依照 不同視點給予不同的值,當視點愈靠近半圓頂部給予其處罰值大於視點在半圓的

此公式使用均方根值(root mean square)來計算兩個顏色的差異得到非負的誤差。

一般在顏色的計算和顯示上都是使用 RGB(紅綠藍)三個頻道,每個頻道各有 256

階的明暗變化來顯示螢幕上的各種顏色,但在 RGB 上的顏色變化和人類的視覺 並不成線性的變化,因此測量視覺相似度時必需採用其數值變化符合人類視覺的 表示方法,我們採用亮度(luminance)單一頻道來代替 RGB 三頻的表示法,所以 C(R,M)得到的 RGB 表示法依一般的 RGB 轉換成亮度係數計算出其亮度,範圍 數。Local_Cost即為所有射線所得誤差的和。

綜合以上,當一個半邊線 he 需要計算其局部視覺相似度化簡成本時,用以下的 虛擬碼來描述所要計算的步驟:

Local_Cost( half edge he ,Current level mesh Mk ) Local_Cost = 0.0

Mk+1 = mesh Mk after collapsing he

V = Sample_Viewpoint_around_simplify_region(he) For each vV

Local_Cost +=dRMS(r , Tk , Tk+1) 是圖 3.7(b)與(c)兩個網格來做成本計算,這是屬於局部的誤差(local error)計算方 法。而Mk也是由M0化簡而來的,M0為原始網格,所以更精確來說每個化簡都是

相關文件