完美影象(perfect image)是連續圖形,完美影象由一個物理過程所產生。
將這個物理過程用I所表示,他們代表了從平面上的點到一個數位的對映,即
I : R 2 → R I: R^2\rightarrow R I:R2→R
Remark: 0 < I ( ⋅ ) < ∞ 0<I(\cdot)<\infty 0<I(⋅)<∞
Remark: 抽象後我們可以將定義域看作超平面上的點,其維度可以超過2 。如此,哦我們可以將它們定義成一個對映:
I : R k → R I: R^k \rightarrow R I:Rk→R
由所經受的物理過程所決定
Remark: 完美影象僅在無法取樣的時候存在抽象化。
朗伯模型是一個經典的漫反射模型。朗博模型中光的反射量由入射角的餘弦角所決定。
考慮一個點 x ∈ R 3 x \in R^3 x∈R3 在朗伯表面上,其對此表面的法向量 n ( x ) n(x) n(x) 。入射角的方向是 l ( x ) l(x) l(x)。 此時反射可以寫作:
R ( x ) = ρ l ( x ) T n ( x ) R(x) = \rho l(x)^Tn(x) R(x)=ρl(x)Tn(x)
其中 ρ \rho ρ是一個常數,用於描述材料屬性。
仍和的反射光與我們的影象平面相交時,都會引起我們的完美影象
I ( u ) = P ( R ( x ) ) I(u) = P(R(x)) I(u)=P(R(x))
其中P投影函數,I(u)是投影的能量
問題:朗伯模型的缺點是什麼?
朗伯模型難以對光滑的表面,比如金屬,進行建模。此時我們需要Phong模型。
雖然我們不能直接獲得完美影象,但是我們可以通過電子裝置將其轉換之。如此做,我們可以通過量化和取樣完美影象來獲得數位影像。
定義:數位影像是取樣和量化完美影象所獲得。它們展現出從點到非負自然畫素(non-negative natural pixels)到自然數的對映
N 0 2 → N 0 N_0 ^2\rightarrow N_0 N02→N0
Remark:數位化是一個投影( R 2 → R R^2 \rightarrow R R2→R)
Remark:「取樣」指的是座標值的數位化,「量化」指的是(能量,亮度)強度值的數位化。
Remark:取樣密度由感測器的物理限制所約束
Remark:量化深度由特殊的硬體所決定。8bit的量化廣泛應用於數位化的影象。
Remark: 在特定的數位化情境下(可能指Bayer pattern)完美影象被用於梳理感興趣的訊號。
對數位影像的數學解釋
定義:一個離散影象是一個數位影像的自然數的數位型概述。它獲取數位影像中的整數畫素位置並且將其對映到整數畫素值上。 I : Z 3 → Z I:Z^3\rightarrow Z I:Z3→Z
Remark:它可以表示更高維的影象,比如 Z 3 Z^3 Z3(視訊),並且值域維度也可以更高,比如 Z 3 Z^ 3 Z3(三色影象)。
Remark:我們將一個影象的值於的整數的子集稱作 Λ \Lambda Λ
Potts模型是一個離散影象模型。Potts模型最初在統機物理學中作為雙態化模型(two-state Ising model)的推廣而派生出來的。它假定了一個分段常熟影象訊號。對於大小為 n × n n\times n n×n的影象,我們將其寫作能量泛函(energy functional)。
E ( I ) = β Σ s = 1 n − 1 Σ t = 1 n ( 1 [ I ( s , t ) ≠ ( s + 1 , t ) ] + β Σ s = 1 n − 1 Σ t = 1 n ( 1 [ I ( s , t ) ≠ ( s , t + 1 ) ] ) E(I)=\beta \Sigma^{n-1}_{s=1}\Sigma^{n}_{t=1}(1[I(s, t)\neq(s+1, t)]+\beta \Sigma^{n-1}_{s=1}\Sigma^{n}_{t=1}(1[I(s, t)\neq(s, t+1)]) E(I)=βΣs=1n−1Σt=1n(1[I(s,t)=(s+1,t)]+βΣs=1n−1Σt=1n(1[I(s,t)=(s,t+1)])
β \beta β是一個建模常數,最初與所研究的材料的物理性質有關,我們忽略了區域上的邊界條件 1 1 1是指示器函數。根據Potts模型的定義,我們發現模型的能量正比於橫縱畫素的變化。當影象 I I I由大的恆定取與,他將具有相應的能量。
定義:一個連續影象可以將離散影象泛化(generalize)為定義域與值域。
Remark:對於離散影象的相似的定義域和值於的泛化可以用於連續模型
Remark:離散與連續混合的表現是非常常見的
Remark:插值。通過數位化過程,最初的完美影象已經被量化到整數座標了。為了研究連續圖形並分析,我們需要不斷地對非整數座標進行插值。
在影象的函數解釋下,我們可以用數學的角度去處理影象。
在影象的函數解釋下,影象的三個主要操作:
空間範圍操作講一個區域內所有資訊集合起來,將一個影象的區域定義成 W ⊆ Λ ⊆ Z 2 W\subseteq \Lambda \subseteq Z^2 W⊆Λ⊆Z2 。其中W代表一張影象中的視窗(windows)。
定義:一個空間範圍操作 f f f是一個講一張圖對映到一個實數的函數
f : W × ( Z 2 → Z ) → R / W × I → R f: W\times(Z^2\rightarrow Z)\rightarrow R / W \times I \rightarrow R f:W×(Z2→Z)→R/W×I→R
其中 I I I為影象本身。
Remark:我們使用縮寫 I [ W ] I[W] I[W]來表示定義域由 W W W所擷取的新圖,這種新圖也叫子圖(sub-image),或者image patch。
Remark:我們可以講 W W W當作一種函數,當 W = Λ → B Λ W=\Lambda\rightarrow B^{\Lambda} W=Λ→BΛ時,這種函數講畫素對映到 B = { 0 , 1 } B=\{0, 1\} B={0,1}。我們可以將mask應用在影象上。在空間範圍操作應用之前,我們也可以基於視窗 W W W在函數 f f f上實現特殊的定義域。
Remark:一個空間範圍操作是線性的當
f W ( α i I i + α j I j ) = α i f W ( I i ) + α j f W ( I j ) f_W(\alpha_i I_i + \alpha_j I_j)=\alpha_i f_W(I_i)+\alpha_jf_W(I_j) fW(αiIi+αjIj)=αifW(Ii)+αjfW(Ij)
α i \alpha_i αi與 α j \alpha_j αj是任意常標量。
Remark:空間範圍操作可以在影象領域中被組合去組成複雜的操作符。
範圍對映擦歐總作用於影象值域,他們將單個操作作用域整個影象域 Λ \Lambda Λ
定義:一個範圍對映操作 g : ( W × I → R ) × I → J g:(W\times I \rightarrow R)\times I \rightarrow J g:(W×I→R)×I→J對於影象 J J J來說,是一個函數 f f f作用域影象定義域 Λ \Lambda Λ的每一個空間中,範圍對映操作會產生一個新的影象。
影象 J J J f : W × I → R f: W \times I \rightarrow R f:W×I→R
procedure GENERIC_RANGE_MAP_OPERATOR:
foreach pixel s
∈
Λ
J
\in \Lambda_J
∈ΛJ do
let W s W_s Ws be the window into Λ \Lambda Λ at centered at s
J ( s ) = f ( I , W s ) J(s)=f(I, W_s) J(s)=f(I,Ws)
end for
end procedure
Remark:範圍對映操作的輸出集是實數集。實際操作上,它常被放寬到實數或者其他的範圍。
Remark:範圍對映操作通常被用於一個被稱作強度轉換(intensity transformations)的畫素視窗。文獻中存在許多可能的強度變換 (very many possibly intensity transformations exist in the literature,不會翻譯)並且包括了操作符比如直方圖均衡化(histogram equalization),線性放大(linear scaling)或者log轉換等。
例子單畫素範圍對映強度轉換。一個強度轉換的例子是對負影象的轉換。每一個新畫素的值是輸入值的負值。
J ( S ) = − I ( S ) J(S)=-I(S) J(S)=−I(S)
Remark:一個特殊的範圍對映例子是對映到二進位制畫素而不是實數:
g : ( W × I → B ) × I → B g:(W\times I\rightarrow B)\times I \rightarrow B g:(W×I→B)×I→B
對於二進位制影象 B B B。
例子二進位制函數的範圍對映
考研率一個二進位制閾值操作符 f b f_b fb。在一個確定的範圍對每一個畫素視窗, f b f_b fb選擇畫素值 ( Γ − ≤ I [ W ] ≤ Γ + ) (\Gamma^-\le I[W]\le \Gamma^+) (Γ−≤I[W]≤Γ+)。
f b ( I [ W ] ; Γ − , Γ + ) = { 1 Γ − ≤ I [ W ] ≤ Γ + 0 o t h e r w i s e f_b(I[W];\Gamma^-,\Gamma^+)=\left\{ \begin{aligned} 1\quad & \Gamma^-\leq I[W]\leq\Gamma^+\\ 0\quad & otherwise \end{aligned} \right. fb(I[W];Γ−,Γ+)={10Γ−≤I[W]≤Γ+otherwise
或在更大的視窗中使用空間範圍操作符,比如:
f b ( I , W ; Γ − , Γ + ) = { 1 Γ − ≤ s u m ( I , W ) ≤ Γ + 0 o t h e r w i s e f_b(I,W;\Gamma^-,\Gamma^+)=\left\{ \begin{aligned} 1\quad & \Gamma^-\leq sum(I, W)\leq\Gamma^+\\ 0\quad & otherwise \end{aligned} \right. fb(I,W;Γ−,Γ+)={10Γ−≤sum(I,W)≤Γ+otherwise
Remark:在一個範圍操作符中,空間範圍操作在一個大視窗 W W W將應用相同的操作在這個圖的每一個區域內。
Remark:一個特別重要的引數在一個空間操作符中的是核(kernel)。一個核 κ \kappa κ是一個與 W W W大小相同的矩陣。核的值都是實數, κ ∈ R ∣ W ∣ \kappa\in\mathbb{R}^{|W|} κ∈R∣W∣。在核操作中,核 κ \kappa κ與影象視窗 I [ W ] I[W] I[W]的元素積操作被計算與累加起來。這個操作最容易被向量化的核 κ \kappa κ與影象視窗 I [ W ] I[W] I[W]的點積所表示。向量化一個矩陣代表連線一個矩陣的所在列,並且將其連成一個長列向量。
當核操作被應用於整個影象中的一個範圍對映的時候,我們可以將這個過程稱作離散折積,並用符號 ⊗ \otimes ⊗表示。我們為了輸出影象位置 J ( s , t ) J(s, t) J(s,t)而寫下這個折積。核的大小是 2 m + 1 × 2 m + 1 2m+1\times 2m+1 2m+1×2m+1因此一個視窗可以索引至 s − m . . . s + m s-m ...s+m s−m...s+m與 t − n . . . t + n t-n ... t+n t−n...t+n被寫作
J ( s , t ) = κ ⊗ I [ W ] = Σ k = − m m Σ l = − n n κ ( k , l ) I ( s − k , t − l ) = κ ⃗ T I [ W ] ⃗ J(s, t) = \kappa \otimes I[W]=\Sigma^m_{k=-m}\Sigma^n_{l=-n}\kappa(k,l)I(s-k, t-l)=\vec{\kappa}^TI\vec{[W]} J(s,t)=κ⊗I[W]=Σk=−mmΣl=−nnκ(k,l)I(s−k,t−l)=κTI[W]
我們將核對映應用於所有位置,適當地考慮影象邊界,即簡單的說 κ ⊗ I \kappa\otimes I κ⊗I,它是建立影象的函數。這裡有一個折積的連續模擬,但是我們暫不進行討論。假如維度與核相匹配,這個操作可以清晰地泛化到高維。
例子離散影象求導
在影象的函數解釋下,像這樣的計算式非常正常的。
對 I ( x , y ) I(x, y) I(x,y)的部分求導是
∂ I ( x , y ) ∂ x = l i m h → 0 I ( x + h , y ) − I ( x , y ) h \frac{\partial I(x,y)}{\partial x} = lim_{h\rightarrow 0}\frac{I(x+h, y)-I(x, y)}{h} ∂x∂I(x,y)=limh→0hI(x+h,y)−I(x,y)
考慮一個離散影象模型,我們有一個固定的值 h h h可以讓我們去考慮一個有限(離散)差別的解釋:
d I ( x , y ) d x = I ( x + h , y ) − I ( x , y ) h \frac{dI(x,y)}{dx}=\frac{I(x+h,y)-I(x,y)}{h} dxdI(x,y)=hI(x+h,y)−I(x,y)
最後,考慮到離散影象 I I I,我們可以將 h h h設為1來表示一個畫素的差別。我們將有限差別符設為 ∇ x = d I ( x , y ) d x = I ( x + 1 , y ) − I ( x , y ) \nabla_x=\frac{dI(x,y)}{dx}=I(x+1,y)-I(x,y) ∇x=dxdI(x,y)=I(x+1,y)−I(x,y)
將其用於核中,則縱向為 κ = [ 1 , − 1 ] T \kappa=[1,-1]^T κ=[1,−1]T,橫向為 κ = [ 1 , − 1 ] \kappa=[1,-1] κ=[1,−1]
Remark:範圍操作可以是二元,三元,或者同時任意數位
例子影象拉普拉斯與0-crossing
考慮影象 I I I 被核 κ 1 \kappa_1 κ1與 κ 2 \kappa_2 κ2所折積處理, κ 1 \kappa_1 κ1與 κ 2 \kappa_2 κ2是分別從 σ = 1 \sigma=1 σ=1與 σ = 2 \sigma=2 σ=2的高斯函數中取樣出來。將折積出來的影象稱為 G 1 G_1 G1與 G 2 G_2 G2。取兩者之差 G 2 − G 1 G_2-G_1 G2−G1。可以發現影象的邊緣被凸顯出來。
一個突然的強度改變會在一階導提升到頂峰,或者在二階導達到0-crossing
之前的例子(離散影象求導)表現了一階導,這個例子考慮二階導
∇ 2 = ∂ 2 ∂ x 2 + ∂ 2 ∂ y 2 \nabla^2=\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2} ∇2=∂x2∂2+∂y2∂2
這兩個(二階導和高斯核)效果相近
完美影象: perfect Image
定義域: Domain
值域:range
朗伯模型Lambertian Model
數位影像 digital Image
非負自然畫素 non-negative natural pixels
取樣:Sampling
量化:quantization
感興趣的訊號 signals of interest.
雙態化模型:two-state Ising model
指示器函數:indicator function
泛化generalize
空間範圍操作 Spatial Range Operation
範圍對映操作 Range map operation
文獻中 in the literature