图像如函数

本秂侑毒 提交于 2020-09-29 20:27:59

图像如函数

图像分类

完美图像

完美图像(perfect image)是连续图形,完美图像由一个物理过程所产生。

将这个物理过程用I所表示,他们代表了从平面上的点到一个数字的映射,即

I : R 2 → R I: R^2\rightarrow R I:R2R

Remark: 0 < I ( ⋅ ) < ∞ 0<I(\cdot)<\infty 0<I()<

Remark: 抽象后我们可以将定义域看作超平面上的点,其维度可以超过2 。如此,哦我们可以将它们定义成一个映射:

I : R k → R I: R^k \rightarrow R I:RkR

由所经受的物理过程所决定

Remark: 完美图像仅在无法取样的时候存在抽象化。

例子:朗伯模型(Lambertian Image)

朗伯模型是一个经典的漫反射模型。朗博模型中光的反射量由入射角的余弦角所决定。

考虑一个点 x ∈ R 3 x \in R^3 xR3 在朗伯表面上,其对此表面的法向量 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 N02N0

Remark:数字化是一个投影( R 2 → R R^2 \rightarrow R R2R)

Remark:“取样”指的是坐标值的数字化,“量化”指的是(能量,亮度)强度值的数字化。

Remark:取样密度由传感器的物理限制所约束

Remark:量化深度由特殊的硬件所决定。8bit的量化广泛应用于数字化的图像。

Remark: 在特定的数字化情境下(可能指Bayer pattern)完美图像被用于梳理感兴趣的信号。

数字图像建模

对数字图像的数学解释

  1. 一个从像素到数字的离散函数
  2. 作为对于原来完美图像的一个近似,我们对一个函数的值域和定义域进行了一个泛化,并且用函数的形式呈现出来。(We generalize domain and range of this function to once again consider a continuous image, albeit an approximate one to our original perfect image,这句话有点离谱)

定义:一个离散图像是一个数字图像的自然数的数字型概述。它获取数字图像中的整数像素位置并且将其映射到整数像素值上。 I : Z 3 → Z I:Z^3\rightarrow Z I:Z3Z

Remark:它可以表示更高维的图像,比如 Z 3 Z^3 Z3(视频),并且值域维度也可以更高,比如 Z 3 Z^ 3 Z3(三色图像)。

Remark:我们将一个图像的值于的整数的子集称作 Λ \Lambda Λ

例子:Potts 模型

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=1n1Σt=1n(1[I(s,t)=(s+1,t)]+βΣs=1n1Σt=1n(1[I(s,t)=(s,t+1)])

β \beta β是一个建模常数,最初与所研究的材料的物理性质有关,我们忽略了区域上的边界条件 1 1 1是指示器函数。根据Potts模型的定义,我们发现模型的能量正比于横纵像素的变化。当图像 I I I由大的恒定取与,他将具有相应的能量。

定义:一个连续图像可以将离散图像泛化(generalize)为定义域与值域。

Remark:对于离散图像的相似的定义域和值于的泛化可以用于连续模型

Remark:离散与连续混合的表现是非常常见的

Remark:插值。通过数字化过程,最初的完美图像已经被量化到整数坐标了。为了研究连续图形并分析,我们需要不断地对非整数坐标进行插值。

图像操作

在图像的函数解释下,我们可以用数学的角度去处理图像。

在图像的函数解释下,图像的三个主要操作:

  1. 空间范围操作(Spatial Range Operation)如计算图像所有强度值的和
  2. 范围映射操作(Range map operation)比如计算图的差别
  3. 定义域操作或几何变换比如平移和旋转

空间范围操作

空间范围操作讲一个区域内所有信息集合起来,将一个图像的区域定义成 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×(Z2Z)R/W×IR

其中 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×IR)×IJ对于图像 J J J来说,是一个函数 f f f作用域图像定义域 Λ \Lambda Λ的每一个空间中,范围映射操作会产生一个新的图像。

图像 J J J f : W × I → R f: W \times I \rightarrow R f:W×IR

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×IB)×IB

对于二进制图像 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(IW;Γ,Γ+)={ 10Γsum(I,W)Γ+otherwise

Remark:在一个范围操作符中,空间范围操作在一个大窗口 W W W将应用相同的操作在这个图的每一个区域内。

Remark:一个特别重要的参数在一个空间操作符中的是核(kernel)。一个核 κ \kappa κ是一个与 W W W大小相同的矩阵。核的值都是实数, κ ∈ R ∣ W ∣ \kappa\in\mathbb{R}^{|W|} κRW。在核操作中,核 κ \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 sm...s+m t − n . . . t + n t-n ... t+n tn...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(sk,tl)=κ 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} xI(x,y)=limh0hI(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 G2G1。可以发现图像的边缘被凸显出来。

一个突然的强度改变会在一阶导提升到顶峰,或者在二阶导达到0-crossing

之前的例子(离散图像求导)表现了一阶导,这个例子考虑二阶导

∇ 2 = ∂ 2 ∂ x 2 + ∂ 2 ∂ y 2 \nabla^2=\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2} 2=x22+y22

这两个(二阶导和高斯核)效果相近

专业术语翻译对照(不确定是不是对的)

完美图像: 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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!