DIP-数字图像处理-复习笔记

DIP复习

¨图像处理基础知识

¨空间域图像处理

¨频域图像处理

¨图像复原

¨彩色图像处理

¨形态学图像处理

¨图像分割

¨深度学习原理及应用

Basic

图像

  • 二维图像, f ( x , y ) f(x,y) f(x,y)

    x x x y y y为空间坐标

    ​ 振幅 f f f为强度or灰度

  • 强度 f ( x , y ) f(x,y) f(x,y)为有限值

数字图像

  • x , y , f ( x , y ) x,y,f(x,y) x,y,f(x,y)是有限离散的值

    ​ 由有限个元素组成

  • 这些元素一般称为像素

采样和量化

在这里插入图片描述

1.解释图像获取过程中的采样与量化

大多数传感器的输出是连续电压波形,为了产生一幅数字图像,需要把连续(空间坐标连续+幅值连续)的感知数据转化为数字形式,这包括两种处理:采样和量化。

采样:图像空间连续坐标的离散化,决定空间的图像分辨率

量化:图像函数值(幅值)的数字化,决定空间的幅度分辨率

图像表示及存储格式(交叉、顺序存储)

交叉存贮

在这里插入图片描述

顺序存贮

在这里插入图片描述

2.对一个32位浮点型3通道图像(CV_32FC3,行宽为step,如果一个像素地址为p,写出其上、下、左、右像素的地址。

基本的图像处理(对比度增强、插值)

Operates on pixel color (RGB、YUV、…) Algebraic processing:像素灰度变换

L ’ = T ( L )        L , L ′ ∈ [ 0 , 255 ] L’=T(L)~~~~~~L,L'∈[0,255] L=T(L)      L,L[0,255]

亮度调整

整体变亮或变暗

在这里插入图片描述

Log变换

s = c ⋅ l o g ( 1 + r ) s=c·log(1+r) s=clog(1+r)

在这里插入图片描述

Gamma变换

s = c ⋅ r γ s=c·r^\gamma s=crγ

在这里插入图片描述

对比度调整

亮的更亮,暗的更暗

在这里插入图片描述

突出显示特定灰度级别
  1. 为感兴趣范围内的所有灰度级别显示一个较高的值,为所有其他灰度级别(二进制图像)显示一个较低的值。
  2. 调亮所需的灰度级别范围,但保留图像中的背景和灰度级色调。
位平面切片
多幅图像

O ( x , y ) = f [ I 1 ( x , y ) , I 2 ( x , y ) , . . . , I N ( x , y ) ] O(x,y)=f[I^1(x,y),I^2(x,y),...,I^N(x,y)] O(x,y)=f[I1(x,y),I2(x,y),...,IN(x,y)]

Operates on spatial coordinated (x,y) Geometric processing
放大(Zoom in)

在这里插入图片描述

重采样:基于邻近像素的值,计算非整数位置上的颜色值

最邻近
x = i n t ( x + 0.5 ) y = i n t ( y + 0.5 ) x=int(x+0.5)\\ y=int(y+0.5) x=int(x+0.5)y=int(y+0.5)
双线性插值

2次水平,1次垂直

2次垂直,1次水平

一次双线性插值最少需多少次乘法运算? 答案:3

双三次插值

三次插值和双线性插值相比,抗锯齿和马赛克的效果更好,请说明为什么。

最近邻插值 法的优点是计算量很小,算法也简单,因此运算速度较快。但它仅使用离待测采样点最近的像素的灰度值作为该采样点的灰度值,而没考虑其他相邻像素点的影响,因而重新采样后灰度值有明显的不连续性,图像质量损失较大,会产生明显的马赛克和锯齿现象。

    双线性插值 法效果要好于最近邻插值,只是计算量稍大一些,算法复杂些,程序运行时间也稍长些,但缩放后图像质量高,基本克服了最近邻插值灰度值不连续的特点,因为它考虑了待测采样点周围四个直接邻点对该采样点的相关性影响。但是,此方法仅考虑待测样点周围四个直接邻点灰度值的影响, 而未考虑到各邻点间灰度值变化率的影响, 因此具有低通滤波器的性质, 从而导致缩放后图像的高频分量受到损失, 图像边缘在一定程度上变得较为模糊。用此方法缩放后的输出图像与输入图像相比, 仍然存在由于插值函数设计考虑不周而产生的图像质量受损与计算精度不高的问题。
    双三次插值 法计算量最大,算法也是最为复杂的。在几何运算中,双线性内插法的平滑作用可能会使图像的细节产生退化,在进行放大处理时,这种影响更为明显。在其他应用中,双线性插值的斜率不连续性会产生不希望的结果。立方卷积插值不仅考虑到周围四个直接相邻像素点灰度值的影响,还考虑到它们灰度值变化率的影响。因此克服了前两种方法的不足之处,能够产生比双线性插值更为平滑的边缘,计算精度很高,处理后的图像像质损失最少,效果是最佳的。
    总之,在进行图像缩放处理时,应根据实际情况对三种算法做出选择,既要考虑时间方面的可行性,又要对变换后图像质量进行考虑,这样才能达到较为理想的 权衡 (trade-off)。
旋转 (rotation)

f : [ x ′ , y ′ ] = [ x c o s θ − y s i n θ , x s i n θ + y c o s θ ] f:[x',y']=[xcos\theta-ysin\theta,xsin\theta+ycos\theta] f:[x,y]=[xcosθysinθ,xsinθ+ycosθ]

直方图均衡化

哪种更好?

占据整个可能的灰度级别范围且均匀分布
S k = T ( r k ) = ( L − 1 ) ∑ j = 0 k p r ( r j ) S_k=T(r_k)=(L-1)\sum_{j=0}^kp_r(r_j) Sk=T(rk)=(L1)j=0kpr(rj)
在这里插入图片描述

直方图匹配:指定能够突出显示某些灰度范围的特定直方图形状

局部增强

使用直方图统计进行增强:使用一些直接从直方图获得的统计参数对图像进行增强

图像滤波、图像梯度(Sobel、Laplacian)

空间域滤波器

对任意像素p ( N p N_p Np为像素p的某个邻域像素集合)
p ′ = f ( N p ) p'=f(N_p) p=f(Np)
均值滤波器:
p = 1 9 ( p 0 + p 1 + p 2 + . . . + p 8 ) p=\frac{1}{9}(p_0+p_1+p_2+...+p_8) p=91(p0+p1+p2+...+p8)
最大值滤波器: 去除图像中的暗斑,同时也会使亮斑增大(膨胀)
p ′ = m a x { p 0 , p 1 , p 2 , . . . , p 8 } p'=max\{p_0,p_1,p_2,...,p_8\} p=max{p0,p1,p2,...,p8}
最小值滤波器: 去除图像中的亮斑,同时也会使暗斑增大(腐蚀)
p ′ = m i n { p 0 , p 1 , p 2 , . . . , p 8 } p'=min\{p_0,p_1,p_2,...,p_8\} p=min{p0,p1,p2,...,p8}
线性滤波器:邻域像素的加权平均 滤波核
p ′ ( x , y ) = ∑ s = − a a ∑ t = − b b w ( s , t ) p ( x + s , y + t ) p'(x,y)=\sum_{s=-a}^a\sum_{t=-b}^bw(s,t)p(x+s,y+t) p(x,y)=s=aat=bbw(s,t)p(x+s,y+t)
非线性滤波器:

​ 中值滤波器:消除椒盐噪声

中值滤波器的主要作用是迫使各个点更像他们的临点。中值滤波器迫使亮于或暗于相邻像素的孤立像素族的值是邻域中这些像素灰度的中值

线性滤波器
平滑(低通)滤波器

平滑空间滤波器用于降低灰度的急剧过渡,由于随机噪声通常由灰度的急剧过渡组成,因此平滑的一个明显效果就是降噪

低通滤波器

  • 边界处理:对边界附近的像素,滤波核的部分可能落在图像区域外

    对边界外某个范围内的区域进行填充

        ~~~    常数填充

        ~~~    镜像填充(以边界为轴,取图像内对称点的像素值填充)

    在边界附件调整滤波核大小

快速均值滤波

    ~~~    积分图:可增量计算,只需对原图进行一边扫描 S ( u , v ) = S ( u , v − 1 ) + s u m ( I [ 1 : u , v ] ) S(u,v)=S(u,v-1)+sum(I[1:u,v]) S(u,v)=S(u,v1)+sum(I[1:u,v])

高斯滤波(以高斯函数为滤波核) 唯一可分离的圆对称核

w ( s , t ) = G ( s , t ) = K e − s 2 + t 2 2 σ 2 w(s,t)=G(s,t)=Ke^{-\frac{s^2+t^2}{2\sigma^2}} w(s,t)=G(s,t)=Ke2σ2s2+t2

    ~~~     σ \sigma σ越大,越趋于均值滤波; σ \sigma σ越大,核应该越大

锐化(高通)滤波器

锐化的作用是突出灰度中的过渡

导数算子的响应强度与应用该算子的点处的灰度不连续幅度成正比

基本高通滤波器

    ~~~    模板的特点:滤波器应在中心有正系数,而在边缘上有负的系数;总合为0

      ~~~~~      在平坦变化的区域很暗;在剧烈变化的区域很亮

$~~~~~$5×5的模板比3×3的模板边缘更宽

    ~~~    滤波后往往出现负值,或者很暗,因此常常需要对其进行比例变化或截断

差分滤波器

图像平均类似于积分,导致图像模糊

图像差分即计算图像的局部导数,则可能有相反的效果,导致图像锐化

    ~~~    一阶导:梯度
f ′ ( x ) = f ( x + 1 ) − f ( x ) f'(x)=f(x+1)-f(x) f(x)=f(x+1)f(x)
    ~~~    二阶导:拉普拉斯
f ′ ′ ( x ) = f ( x + 1 ) + f ( x − 1 ) − 2 f ( x ) f''(x)=f(x+1)+f(x-1)-2f(x) f(x)=f(x+1)+f(x1)2f(x)
在这里插入图片描述

一阶导产生的边缘可以有较大的宽度,如斜坡具有持续的亮度,这对边缘位置的确定是不利的,因为在寻找边缘的时候,我们希望确定准确的边缘位置

二阶导在边缘处过零点,这是确定边缘的简单判别方式

二阶导对噪声敏感,因此一般的图像处理中的二阶导施行之前,需要对图像进行高斯滤波,先行去除噪声

一阶导:梯度(灰度变化最大的方向)
▽ f ≈ ∣ G x ∣ + ∣ G y ∣ \bigtriangledown f≈|G_x|+|G_y| fGx+Gy
三种典型的梯度算子:

  • Roberts Operators
    ▽ f ≈ ∣ z 9 − z 5 ∣ + ∣ z 8 − z 6 ∣ \bigtriangledown f≈|z_9-z_5|+|z_8-z_6| fz9z5+z8z6

  • Prewitt Operators
    ▽ f ≈ ∣ ( z 7 + z 8 + z 9 ) − ( z 1 + z 2 + z 3 ) ∣ + ∣ ( z 3 + z 6 + z 9 ) − ( z 1 + z 4 + z 7 ) ∣ \bigtriangledown f≈|(z_7+z_8+z_9)-(z_1+z_2+z_3)|+|(z_3+z_6+z_9)-(z_1+z_4+z_7)| f(z7+z8+z9)(z1+z2+z3)+(z3+z6+z9)(z1+z4+z7)

  • Sobel Operators
    ▽ f ≈ ∣ ( z 7 + 2 z 8 + z 9 ) − ( z 1 + 2 z 2 + z 3 ) ∣ + ∣ ( z 3 + 2 z 6 + z 9 ) − ( z 1 + 2 z 4 + z 7 ) ∣ \bigtriangledown f≈|(z_7+2z_8+z_9)-(z_1+2z_2+z_3)|+|(z_3+2z_6+z_9)-(z_1+2z_4+z_7)| f(z7+2z8+z9)(z1+2z2+z3)+(z3+2z6+z9)(z1+2z4+z7)
    ∣ G x ∣ |G_x| Gx横向梯度很弱 ∣ G y ∣ |G_y| Gy纵向梯度很弱;

    中间权值为2的原因是,强调中心的重要程度,实现某种平滑

二阶导:拉普拉斯( x , y x,y x,y)方向上的二阶导的和)
▽ 2 f = [ f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) ] − 4 f ( x , y ) ▽ 2 f = 4 f ( x , y ) − [ f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) ] \bigtriangledown^2 f=[f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)]-4f(x,y)\\ \bigtriangledown^2 f=4f(x,y)-[f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)] 2f=[f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)]4f(x,y)2f=4f(x,y)[f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)]
可用Laplacian滤波检测到的边缘来锐化图像(噪声也可能被放大)

高频补偿滤波器

在这里插入图片描述

在这里插入图片描述

非线性滤波器

Order Statistic Filter : 中值(主要用于处理椒盐噪声)、最大值、最小值

Biliateral Filter(双边滤波):计算权重同时考虑空间位置和像素颜色之差

    ~~~    高斯滤波(消除噪音的同时也使边缘变得模糊)

Wiener Filter

Least Square Filter

设计5*5的Sobel梯度算子

根据Laplacian函数的定义,推导如下标准的Laplacian算子

图像的线性滤波是否是对图像的线性变换?可否表示成对图像的矩阵变换的形式?

不是,图像的线性变换: g ( x , y ) = a f ( x , y ) + b g(x,y)=af(x,y)+b g(x,y)=af(x,y)+b,其中 a a a表示图像对比度变换, b b b表示图像亮度变化

线性空间滤波是指图像与滤波器核进行卷积。

频域图像处理、傅里叶变换、高低通滤波器等

频率:信号进行周期性变化的速率

图像的频率:图像 亮度/颜色 在 水平/垂直 方向上周期性变化的速率

任意向量可以表示为一组正交基向量的线性组合

一个函数表达为一组正交基函数的线性组合

任意绝对可积函数可以表示成基函数的线性组合

傅里叶变换是矩阵(线性)变换

引入复数变换的目的是为了刻画信号的相位
F ( u ) = R ( u ) + j I ( u ) F(u)=R(u)+jI(u) F(u)=R(u)+jI(u)
幅度: ∣ F ( u ) ∣ = [ R 2 ( u ) + I 2 ( u ) ] 1 / 2 |F(u)|=[R^2(u)+I^2(u)]^{1/2} F(u)=[R2(u)+I2(u)]1/2

相角: ϕ ( u ) = t a n − 1 [ I ( u ) R ( u ) ] \phi(u)=tan^{-1}[\frac{I(u)}{R(u)}] ϕ(u)=tan1[R(u)I(u)]

在这里插入图片描述

傅里叶变换的功率刻画了信号在不同频率上的分布,而相角则刻画了信号在特定频率分量上的相位

傅里叶变换

F ( u ) = ∫ x = − ∞ x = + ∞ f ( x ) e − 2 j π u x d x F(u)=\int_{x=-∞}^{x=+∞}f(x)e^{-2j\pi ux}dx F(u)=x=x=+f(x)e2jπuxdx

从空间域到频域的连续变换

傅里叶级数:一个周期函数可以表示为不同频率的正弦/余弦函数乘以不同系数的和

傅里叶变换非周期函数也可以表示为一组正弦/余弦的积分乘以权函数

由连续傅里叶变换到离散傅里叶变换:采样

傅里叶谱, ∣ F ( u , v ) ∣ |F(u,v)| F(u,v)可以对其作为图像强度来显示,图像亮度正比于幅度(幅度谱常常具有巨大的动态范围,仅仅对最亮的部分频谱可见)

进行对数变换,可以提高其细节的显示能力
D ( u , v ) = c l o g ( 1 + ∣ F ( u , v ) ∣ ) D(u,v)=clog(1+|F(u,v)|) D(u,v)=clog(1+F(u,v))

基本属性

在变换的中心点 ( u , v ) = ( 0 , 0 ) (u,v)=(0,0) (u,v)=(0,0)有: F ( 0 , 0 ) = 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) F(0,0)=\frac{1}{MN}\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y) F(0,0)=MN1x=0M1y=0N1f(x,y),即傅里叶变换在原点的值=图像的平均灰度

二维傅里叶变换的性质
  • 平移

    f ( x , y ) f(x,y) f(x,y)乘以指数项,再进行傅里叶变换,则将频域原点移至 ( u 0 , v 0 ) (u_0,v_0) (u0,v0)

    F ( u , v ) F(u,v) F(u,v)乘以指数项,再进行傅里叶逆变换,则将空域的原点移至 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)

    f ( x , y ) f(x,y) f(x,y)的平移不印象傅里叶变换的幅度

在这里插入图片描述

  • 分配律与缩放

    傅里叶变换对加法有分配律,但对乘法没有

在这里插入图片描述

  • 旋转
    f ( r , θ + θ 0 ) ⇔ F ( ω , ϕ + θ 0 ) f(r,\theta+\theta_0)\Leftrightarrow F(\omega,\phi+\theta_0) f(r,θ+θ0)F(ω,ϕ+θ0)
    f ( x , y ) f(x,y) f(x,y)旋转 θ 0 \theta_0 θ0角,则 F ( u , v ) F(u,v) F(u,v)也旋转相同角度(反之亦然)

  • 周期性与共轭对称性

    F ( u ) F(u) F(u)具有长度为N的周期,并且其频谱是以原点为中心的,即傅里叶变换的频谱是对称的

  • 可分离性

    二维函数 F ( x , v ) F(x,v) F(x,v)可由 f ( x , y ) f(x,y) f(x,y)的沿着每一行的傅立叶变换进行.

    然后,再对 F ( x , v ) F(x,v) F(x,v)沿着每一列进行傅立叶变换,就可以获得整幅图像的傅立叶变换 F(u,v).

在这里插入图片描述

连续傅里叶变换(CFT)
  • 1维连续傅里叶变换
    F ( u ) = ∫ x = − ∞ x = + ∞ f ( x ) e − 2 j π u x d x F(u)=\int_{x=-∞}^{x=+∞}f(x)e^{-2j\pi ux}dx F(u)=x=x=+f(x)e2jπuxdx
    2维连续傅里叶变换 ( u , v u,v u,v是频率空间的变量)
    F ( u , v ) = ∫ x = − ∞ x = + ∞ ∫ y = − ∞ y = + ∞ f ( x , y ) e − j 2 π ( u x + v y ) d x d y F(u,v)=\int_{x=-∞}^{x=+∞}\int_{y=-∞}^{y=+∞}f(x,y)e^{-j2\pi (ux+vy)}dxdy F(u,v)=x=x=+y=y=+f(x,y)ej2π(ux+vy)dxdy

    f ( x , y ) = ∫ u = − ∞ u = + ∞ ∫ v = − ∞ v = + ∞ F ( u , v ) e j 2 π ( u x + v y ) d u d v f(x,y)=\int_{u=-∞}^{u=+∞}\int_{v=-∞}^{v=+∞}F(u,v)e^{j2\pi (ux+vy)}dudv f(x,y)=u=u=+v=v=+F(u,v)ej2π(ux+vy)dudv

离散傅里叶变换(DFT)

总共需要 M 2 M^2 M2次求和计算和乘法计算

  • 1维离散傅里叶变换
    F ( u ) = 1 M ∑ x = 0 M − 1 f ( x ) e − 2 j π u x / M F(u)=\frac{1}{M}\sum_{x=0}^{M-1}f(x)e^{-2j\pi ux/M} F(u)=M1x=0M1f(x)e2jπux/M
    F(u) 与原信号在基信号上投影的长度成正比,是原信号与基信号相似性的描述

    傅里叶变换将原信号分解为基信号的组合,F(u)为组合的系数

  • 2维离散傅里叶变换
    F ( u , v ) = 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) e − j 2 π ( u x / M + v y / N ) F(u,v)=\frac{1}{MN}\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)e^{-j2\pi (ux/M+vy/N)} F(u,v)=MN1x=0M1y=0N1f(x,y)ej2π(ux/M+vy/N)

    f ( x , y ) = ∑ u = 0 M − 1 ∑ v = 0 N − 1 F ( u , v ) e j 2 π ( u x / M + v y / N ) f(x,y)=\sum_{u=0}^{M-1}\sum_{v=0}^{N-1}F(u,v)e^{j2\pi (ux/M+vy/N)} f(x,y)=u=0M1v=0N1F(u,v)ej2π(ux/M+vy/N)

    二维傅里叶变换及其逆变换都是行列可分离的

  • 快速傅里叶变换

傅里叶逆变换

一维,连续: f ( x ) = ∫ x = − ∞ x = + ∞ F ( u ) e j 2 π u x d u f(x)=\int_{x=-∞}^{x=+∞}F(u)e^{j2\pi ux}du f(x)=x=x=+F(u)ej2πuxdu

一维,离散: f ( x ) = ∑ x = 0 M − 1 F ( u ) e j 2 π u x / M f(x)=\sum_{x=0}^{M-1}F(u)e^{j2\pi ux/M} f(x)=x=0M1F(u)ej2πux/M

傅里叶频谱

F ( u ) = R ( u ) + j I ( u ) = ∣ F ( u ) ∣ e j ϕ ( u ) F(u)=R(u)+jI(u)=|F(u)|e^{j\phi(u)} F(u)=R(u)+jI(u)=F(u)ejϕ(u)

幅值谱的平方即功率谱
P ( u ) = ∣ F ( u ) ∣ 2 = R 2 ( u ) + I 2 ( u ) P(u)=|F(u)|^2=R^2(u)+I^2(u) P(u)=F(u)2=R2(u)+I2(u)

快速傅里叶变换

只需进行 M l o g 2 M Mlog_2M Mlog2M次运算;FFT算法与原始变换算法的计算量之比是 l o g 2 M / M log_2M/M log2M/M

基本思想:

    ~~~    基于逐次加倍方法,通过推导将原始傅里叶转换成两个递推公式

在这里插入图片描述

F ( u ) F(u) F(u)可以通过奇部和偶部之和来计算

F ( u + k ) F(u+k) F(u+k)可以通过奇部和偶部分之差来计算

在这里插入图片描述

频率域的图像滤波
  1. 对输入图像乘以 ( − 1 ) ( x + y ) (-1)^{(x+y)} (1)(x+y)以对图像进行移中

  2. 对1的结果进行二维离散傅立叶变换(DFT),计算 F ( u , v ) F(u,v) F(u,v)

  3. F ( u , v ) F(u,v) F(u,v)乘上滤波函数 H ( u , v ) H(u,v) H(u,v)

  4. 对3的结果进行离散傅立叶逆变换

  5. 取4的结果的实部

  6. 对5的结果乘上 ( − 1 ) ( x + y ) (-1)^{(x+y)} (1)(x+y)获得空域的滤波后图像

陷波函数Notch Filter

H ( u , v ) = { 0 , i f ( u , v ) = ( M / 2 , N / 2 ) ; 1 , o t h e r w i s e . H(u,v)=\begin{cases}0,\quad if(u,v)=(M/2,N/2);\\ 1,\quad otherwise. \end{cases} H(u,v)={0,if(u,v)=(M/2,N/2);1,otherwise.

总体平均灰度水平下降; 强制将平均值设置为 0; 使突出的边缘脱颖而出

滤除一定范围的"不需要的"频率; 不影响图像中的对比度; 防止引入高频:振铃

在这里插入图片描述

空间域滤波是对图像的卷积

傅里叶变换对的卷积理论:
f ( x ) ∗ g ( x ) ⇔ F ( u ) G ( u ) f ( x ) g ( x ) ⇔ F ( u ) ∗ G ( u ) f(x)*g(x)\Leftrightarrow F(u)G(u)\\ f(x)g(x)\Leftrightarrow F(u)*G(u) f(x)g(x)F(u)G(u)f(x)g(x)F(u)G(u)
空域上的卷积等价于频域上的乘积

频域上的卷积等价于空域上的乘积

空域和频域的滤波函数也构成傅里叶变换对,利用该性质可以在频域上设计滤波器,再转换到空域进行实现(通常效率更高)

低通滤波器

模糊、平滑

Idea

H ( u , v ) = { 1 , i f   D ( u , v ) ≤ D 0 0 , i f   D ( u , v ) > D 0 H(u,v)=\begin{cases}1,\quad if~D(u,v)≤D_0\\ 0,\quad if~D(u,v)>D_0 \end{cases} H(u,v)={1,if D(u,v)D00,if D(u,v)D0

D 0 D_0 D0:截至频率

在这里插入图片描述

理想低通滤波器平滑处理的边缘清晰,但在处理过程中会产生较严重的模糊和振铃现象 D 0 D_0 D0越小,这种现象越严重。

Butterworth(最大平坦滤波器)

H ( u , v ) = 1 1 + [ D ( u , v ) / D 0 ] 2 n H(u,v)=\frac{1}{1+[D(u,v)/D_0]^{2n}} H(u,v)=1+[D(u,v)/D0]2n1

与理想低通滤波器不同,巴特沃兹滤波器处理的图像模糊程度减少,因为它的 H ( u , v ) H(u,v) H(u,v)不是陡峭的截止特性,它的尾部会包含大量的高频成分。它的通带和阻带之间没有明显的不连续性。也就是说,在通带和阻带之间有一个平滑的过渡带。

Gaussian

H ( u , v ) = e − D 2 ( u , v ) / 2 σ 2 H(u,v)=e^{-D^2(u,v)/2\sigma^2} H(u,v)=eD2(u,v)/2σ2

高通滤波器

锐利

图像锐化可以通过高通滤波过程实现,该过程在不干扰高频信息的情况下衰减低频分量。

Idea

H ( u , v ) = { 0 , i f   D ( u , v ) ≤ D 0 1 , i f   D ( u , v ) > D 0 H(u,v)=\begin{cases}0,\quad if~D(u,v)≤D_0\\ 1,\quad if~D(u,v)>D_0 \end{cases} H(u,v)={0,if D(u,v)D01,if D(u,v)D0

H I H P F = 1 − H I L P F H_{IHPF}=1-H_{ILPF} HIHPF=1HILPF

Butterworth

H ( u , v ) = 1 1 + [ D 0 / D ( u , v ) ] 2 n H(u,v)=\frac{1}{1+[D_0/D(u,v)]^{2n}} H(u,v)=1+[D0/D(u,v)]2n1

H B H P F = 1 − H B L P F H_{BHPF}=1-H_{BLPF} HBHPF=1HBLPF

高频强调:在高通滤波器中添加一个常数,以保留低频分量。
该滤波器没有在通过和滤波频率之间建立明确截止的尖锐不连续性。

Gaussian

H ( u , v ) = 1 − e − D 2 ( u , v ) / 2 σ 2 H(u,v)=1-e^{-D^2(u,v)/2\sigma^2} H(u,v)=1eD2(u,v)/2σ2

H G H P F = 1 − H G L P F H_{GHPF}=1-H_{GLPF} HGHPF=1HGLPF

Laplacian in FD

Laplace算子

在这里插入图片描述

性质:其值为Hessian矩阵的迹 ▽ 2 f = t r ( H ( f ) ) \bigtriangledown^2f=tr(H(f)) 2f=tr(H(f))
▽ 2 f ( x , y ) ⇔ − [ ( u − M / 2 ) 2 + ( v − N / 2 ) 2 ] F ( u , v ) \bigtriangledown^2f(x,y)\Leftrightarrow -[(u-M/2)^2+(v-N/2)^2]F(u,v) 2f(x,y)[(uM/2)2+(vN/2)2]F(u,v)

同态滤波

采用图像同态滤波方法,如果使用合适的滤波特性函数,可以达到既压缩灰度动态范围,又能让感兴趣的物体部分灰度级扩展,从而使图像清晰。

同态滤波是一种在频域中同时将图像亮度范围进行压缩和将图像对比度进行增强的方法-即把频率过滤和灰度变换结合起来

以图像的照明反射模型作为频域处理的基础,设自然景物的图像f(x,y)可以表示成它的照度分量fi(x,y)与反射分量fr(x,y)的乘积

在这里插入图片描述

(低频压缩,高频增强)

形态学图像处理(膨胀和腐蚀、开闭操作等)

图像恢复:根据某最优准则,使得恢复后的图像是对理想图像的最佳逼近;

从数学上来讲,图像恢复是对积分方程求解的数学反演(逆)问题,已知的信息是退化图像 g ( x , y ) g(x,y) g(x,y),而 h ( x , y ) 、 η ( x , y ) 、 f ( x , y ) h(x,y)、\eta(x,y)、f(x,y) h(x,y)η(x,y)f(x,y)均未知

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

图像恢复方法分类:

  • 技术:无约束和有约束
  • 策略:自动和交互
  • 处理所在域:频域和空域

从广义的角度上来看:

  • 几何失真(退化)校正(恢复)
  • 投影(退化)重建(恢复)
噪声模型

周期噪声:检测图像傅立叶谱

一般噪声:用局部直方图进行统计
μ = ∑ z i ∈ S z i p ( z i ) σ 2 = ∑ z i ∈ S ( z i − μ ) 2 p ( z i ) \mu=\sum_{z_i∈S}z_ip(z_i)\\ \sigma^2=\sum_{z_i∈S}(z_i-\mu)^2p(z_i) μ=ziSzip(zi)σ2=ziS(ziμ)2p(zi)

  • 高斯噪声模型:电子电路噪声;高温导致的传感器噪声;暗光照导致的传感器噪声
  • 瑞利(Rayleigh)噪声:适用于深度图像;不对称的直方图
  • 伽马噪声
  • 指数噪声:适用于激光成像的图像
  • 均匀噪声
  • 脉冲噪声
只存在噪声的空间域图像复原

如果噪声是周期函数,则可将其从频谱空间中减去;如果噪声是非周期的,且模型未知,将其从模型中直接做减法一般是行不通的

解决方法:

  • 周期噪声:基于频谱估计
  • 一般噪声:空间域滤波

均值滤波

顺序统计

自适应滤波器:行为变化基于 m × n m×n m×n矩形窗口定义的区域内的图像的统计特征

在这里插入图片描述

只存在噪声的频率域图像复原

图像恢复采用更加专用的频率域低通和高通滤波器,用以减弱或消除周期噪声

带通

带阻
H b p ( u , v ) = 1 − H b r ( u , v ) H_{bp}(u,v)=1-H_{br}(u,v) Hbp(u,v)=1Hbr(u,v)
陷波滤波器
H n p ( u , v ) = 1 − H n r ( u v ) H_{np}(u,v)=1-H_{nr}(uv) Hnp(u,v)=1Hnr(uv)
优化原则是使估计的原图像在邻域内方差最小

退化情况的空间域图像复原
退化情况的频率域图像复原

估计退化函数的三个准则:观察、实验、数学建模

逆向滤波(反卷积):如果噪声可以忽略,并且退化函数已知或已经获得,那么可以直接将退化函数除掉:
F ~ ( u , v ) = G ( u , v ) H ( u , v ) \tilde{F}(u,v)=\frac{G(u,v)}{H(u,v)} F~(u,v)=H(u,v)G(u,v)
由于: G ( u , v ) = H ( u , v ) F ( u , v ) + N ( u , v ) G(u,v)=H(u,v)F(u,v)+N(u,v) G(u,v)=H(u,v)F(u,v)+N(u,v)
F ~ ( u , v ) = F ( u , v ) + N ( u , v ) H ( u , v ) \tilde{F}(u,v)=F(u,v)+\frac{N(u,v)}{H(u,v)} F~(u,v)=F(u,v)+H(u,v)N(u,v)
注意:当 H ( u , v ) H(u,v) H(u,v)为零,或者接近零时,噪声将占主导地位

解决策略:忽略掉 H H H接近0的部分,即高频部分

带约束的最小二乘滤波器:矩阵形式的退化图像模型: g = H f + η g=Hf+\eta g=Hf+η ;函数 H H H对噪声极其敏感。

最小均方误差滤波器(维纳滤波器)

在这里插入图片描述

彩色图像处理

可见光范围: 380 n m   780 n m 380nm~780nm 380nm 780nm

光谱辐射能量与颜色感知之间的关系:

在这里插入图片描述

Grassman定律:原色的线性匹配

加色系统三原色(RGB)、减色系统三原色(CMY)

颜色恒常性

在这里插入图片描述

形态学图像处理

形态学图像处理的数学基础和所用语言:集合论

形态学图像处理的基本运算:膨胀、腐蚀、开操作、闭操作

膨胀:使图像扩大

A被B膨胀: A ⊕ B = { z ∣ ( B ~ ) z ∩ A ≠ ϕ } A\oplus B=\{{z|(\tilde B)_z∩A≠\phi\}} AB={z(B~)zA=ϕ}

A被B膨胀: A ⊕ B = { z ∣ ( B ~ ) z ∩ A ⊆ A } A\oplus B=\{{z|(\tilde B)_z∩A\subseteq A\}} AB={z(B~)zAA}

B的反射进行平移与A的交集不为空;B的反射进行平移与A的交集是A的子集

相当于拿集合B对集合A做一滤波式加法

B的反射:相对于自身原点的映像

B的平移:对B的反射进行平移

应用:桥接文字裂缝

腐蚀:使图像缩小

A被B腐蚀: A ⊖ B = { z ∣ ( B ) z ⊆ A } A\ominus B=\{{z|(B)_z\subseteq A\}} AB={z(B)zA}

B进行平移后包含于A

相当于拿集合B对集合A做一遍滤波式减法

应用:使用腐蚀消除图像的细节部分,产生滤波器的作用

开操作

在不改变形状的前提下,使图像的轮廓变得光滑,断开狭窄的间断,消除细的突出物

使用结构元素B对集合A进行开操作: A ∘ B = ( A ⊖ B ) ⊕ B A\circ B=(A\ominus B)\oplus B AB=(AB)B

先用B对A腐蚀,然后用B对结果膨胀

使用结构元素B对集合A进行开操作: A ∘ B = ∪ { ( B ) z ∣ ( B ) z ⊆ A } A\circ B=∪\{(B)_z|(B)_z\subseteq A\} AB={(B)z(B)zA}

性质:

  • A ∘ B A\circ B AB A A A的子集合
  • 如果C是D的子集,则 C ∘ B C\circ B CB D ∘ B D\circ B DB的子集
  • ( A ∘ B ) ∘ B = A ∘ B (A\circ B)\circ B=A\circ B (AB)B=AB
闭操作

在不明显改变面积的前提下,使图像的轮廓变得光滑,消除小的孔洞,消除狭窄的间断,细长的鸿沟,填补轮廓线中的裂痕

使用结构元素B对集合A进行闭操作: A ∙ B = ( A ⊕ B ) ⊖ B A\bullet B=(A\oplus B)\ominus B AB=(AB)B

先用B对A膨胀,然后用B对结果腐蚀

性质:

  • A A A A ∙ B A\bullet B AB是子集合
  • 如果C是D的子集,则 C ∙ B C\bull B CB D ∙ B D\bull B DB的子集
  • ( A ∙ B ) ∙ B = A ∙ B (A\bull B)\bull B=A\bull B (AB)B=AB
形态学的主要应用

边界提取: β ( A ) = A − ( A ⊖ B ) \beta(A)=A-(A\ominus B) β(A)=A(AB)

      ~~~~~      先用B对A腐蚀,然后用A减去腐蚀得到,B是结构元素

区域填充: X k = ( X k − 1 ⊕ B ) ∩ A c     k = 0 , 1 , 2 , . . . X_k=(X_{k-1}\oplus B)∩A^c ~~~ k=0,1,2,... Xk=(Xk1B)Ac   k=0,1,2,...

连通分量的提取: X k = ( X k − 1 ⊕ B ) ∩ A     k = 0 , 1 , 2 , . . . X_k=(X_{k-1}\oplus B)∩A ~~~ k=0,1,2,... Xk=(Xk1B)A   k=0,1,2,...

在这里插入图片描述
在这里插入图片描述

图像分割(传统方法和深度学习方法)

将图像/视频帧按照特定的目标或要求划分成子区域的操作

语义分割:将属于同一物体的像素聚合到一起

    ~~~    模拟人眼区分不同物体的基本功能,提取感兴趣区域进行后续处理

前景提取:将感兴趣的物体(前景)与图像的其他区域(背景)分离

    ~~~    图像视频编辑、特效合成

图像分割算法一般基于亮度值的两个基本特征之一:

  • 不连续性:图像边缘
  • 相似性:阈值处理、区域生长、区域分离和聚合

基于相似性的分割

  • 基于亮度/颜色分布的方法

    • 阈值分割

      利用亮度分布的不连续性,对像素的亮度进行阈值化处理;

      关键在于阈值的选择:手工或基于直方图选择全局阈值

      局部阈值:图像的不同区域具有不同的亮度分布,因此全局阈值不一定能适合所有区域

      局限性:阈值难以确定;仅适用于灰度图(1维空间),对彩色图难以定义阈值

    • K-Means_基于聚类的方法 (图像中可用于对聚类的特征:灰度或颜色;运动)

在这里插入图片描述
K的选择对结果影响大;随机初始化导致结果的不确定性

基于K-Means优化全局阈值

在这里插入图片描述

  • 均值漂移_基于聚类的方法

    求数据分布的密度峰值作为聚类中心

    无需指定类别个数,得到的类别个数等于找到的密度极大值个数;得到的类别个数取决于窗口大小(仍需手工指定)

    一般需同时考虑颜色和空间坐标,即对(r,g,b,x,y)的五维向量进行聚类

  • 基于区域的分割

    • 区域生长

      以一组种子点开始,将与种子点相似的相邻像素附加到生长区域的每个种子上

    • 区域分离与合并

      将图像任意分为一系列不相交的区域,将这些区域按照一定条件进行合并/拆分

在这里插入图片描述

  • 分水岭

    分割原理:任何的灰度级图像都可以被看作是一个地形图

    三类点:

    • 局部性最小值的点
    • 当一滴水放在某点的位置上时,水一定会落到一个单一的最小值点
    • 当水处在某个点的位置上时,水会等概率地流向不止一个这样的最小值点

    找出满足条件(3)的点的集合组成分水线

    实现方法:假设我们在每个区域最小值位置地方打个洞,让水 以均匀的速度上升,从低到高淹没整个地形.当处在不同的汇 聚盆地中的水将要聚合在一起时,修建大坝将阻止聚合,最后 得到的水坝边界就是分水岭的分割线

    缺点:由于噪声或局部不规则而引起“过度分割”

    改进:对图片进行预处理、分割时添加约束、分割后对图像进行再处理

    多级分割

  • 主动轮廓与水平集方法

    将图像分割转换为曲线演化的过程,由用户交互指定初始轮廓,再逐步迭代收敛到区域边界

    基本想法:赋予每种可能的轮廓形状一个能量,选取能量最小轮廓线作为解
    在这里插入图片描述

    连续性能量函数的定义: E c o n t = ∥ d c d s ∥ 2 E_{cont}=\Vert \frac{dc}{ds}\Vert^2 Econt=dsdc2

    离散形式: E c o n t = ∥ p i − p i − 1 ∥ 2 E_{cont}=\Vert p_i-p_{i-1}\Vert^2 Econt=pipi12

    光滑性能量函数的定义:轮廓线的曲率

    离散形式: E c u r v = ∥ p i − 1 − 2 p i + p i + 1 ∥ 2 E_{curv}=\Vert p_{i-1}-2p_i+p_{i+1}\Vert^2 Ecurv=pi12pi+pi+12

    连续性和光滑性都是轮廓线自身的性质,不依赖于图像本身,称为内部能量项

在这里插入图片描述

图像能量项是一种外在的轮廓线驱动

如果仅仅取这一项,获得轮廓线容易受噪声的干扰而震动

如果仅仅取内部项,将获得绝对光滑的轮廓线,但毫无意义

缺点:不能产生所需的拓扑变化

水平集方法:将曲线表示为水平面与三维曲面的切面,从而可以通过光滑函数模拟曲线的拓扑变化
  • 基于图的分割

    • 图切割

      最大流/最小割

      标号问题:解可能的状态为有限个

      图像分割是一个标号问题:每个像素可能的状态有两个: 前景(F)和背景(B)

      添加像素间关联的作用:改善光滑性;使分割边界与图像边缘对齐

      MRF能量优化问题:观测+经验的判别模式

    • 测地距离

      最短路径

在这里插入图片描述

  • 随机游走

在这里插入图片描述

可被看成是一个扩散过程

在这里插入图片描述

基于深度学习的图像分割:
  1. 上采样+下采样:Convlution+Deconvlution / Resize
  2. 多尺度特征融合,特征逐点相加/特征channel维度拼接
  3. 获得像素级别的segement map:对每一个像素点进行判断类别

卷积神经网络

(1)多层感知机与卷积神经网络的差别

​ MLP是CNN的一个特例。当CNN卷积核大小与输入大小相同时其计算过程等价于MLP。而卷积核大小与每层输入大小相同会直接丢失非常多的输入空间信息,所以MLP不适合图像这种空间信息丰富的数据

​ 多层感知机的优化函数容易陷入局部最优解、“梯度消失”现象严重。多层感知机里下层神经元和所有上层神经元都能够形成链接

卷积神经网络并不是所有上下层神经元都能直接相连,而是通过“卷积核”作为中介,同一个卷积核所在的图像内是共享的,图像通过卷积操作后仍然保留原先的位置关系。CNN中还有max-pooling等操作进一步提高鲁棒性

CNN模型限制了参数的个数并挖掘了布局结构这个特点

(2)什么是梯度消失,如何避免梯度消失

采用是反向传播方式训练网络,使用链式求导,计算每层梯度的时候会涉及一些连乘操作,因此如果网络过深。那么如果连乘的因子大部分小于1,最后乘积的结果可能趋于0,也就是梯度消失,后面的网络层的参数不发生变化.那么如果连乘的因子大部分大于1,最后乘积可能趋于无穷,这就是梯度爆炸

​ 梯度消失原因:深层网络、不合适的损失函数(sigmoid)

​ 梯度爆炸原因:深层网络、权值初始值太大

避免梯度消失:sigmoid容易发生,更换激活函数为 ReLU即可、权重初始化用高斯初始化

​ 避免梯度爆炸:设置梯度剪切阈值,如果超过了该阈值,直接将梯度置为该值、使用ReLU,maxout等替代sigmoid、权重正则化、pre-training+fine-tunning、batch normalization

pre-training+fine-tunning、梯度剪切:对梯度设置阈值、权重正则化、选择relu等梯度大部分落在常数上的激活函数、batch normalization、残差网络的捷径(shortcut)、LSTM中gate结构

(3)Batch Normalization解决的问题以及带来的好处
(4)已知损失函数,权重、学习率,写出SGD的参数更新过程

  • 请写出Batch normalization的过程
  • Batch normalization解决了什么问题,有什么优势?
  • 请写出SGD的过程
  • 请写出Adam的过程,他比SGD有什么优势?

Batch Normalization:批量标准化

过程:

  1. 计算样本均值
  2. 计算样本方差
  3. 样本数据标准化处理
  4. 进行平移和缩放处理。引入了γ和β两个参数。来训练γ和β两个参数。引入了这个可学习重构参数γ、β,让我们的网络可以学习恢复出原始网络所要学习的特征分布。

在这里插入图片描述

解决:梯度消失或爆炸、加速收敛、中间层数据分布发生不一致问题,解决内部协方差偏移

优势:

  1. 加快训练速度,可以使用较大的学习率来训练网络
  2. 提高网络的泛化能力
  3. 本质上是一个归一化网络层,可以替代局部相应归一化层(LRN层)
  4. 可以打乱样本训练数据

加速收敛、防止过拟合,可以少用或不用Dropout和正则、降低网络对初始权重敏感、允许使用较大学习率

reLU:

  • 解决了梯度消失、爆炸的问题
  • 计算方便、计算速度快、加速了网络的训练

缺点:

  • 由于负数部分恒为0,会导致一些神经元无法激活(可通过设置小学习率部分解决)
  • 输出不是以0为中心的

卷积神经网络:层与层之间的线性映射采用卷积形式

  • 平移不变性
  • 本地处理
  • 参数与输入大小分类
  • 同一网络可以处理不同大小的输入

C o n v N e t ConvNet ConvNet是一系列卷积层,其中穿插着激活函数

**池化:**无参数图层、类似于带有特殊不可训练滤波器的卷积

**感受野:**原始图像中影响某个单元的区域。

​ 后面的图层可以在更大的区域上捕获更复杂的图案

​ 感受野大小在卷积层上线性增长

​ 使用卷积核大小为 w × w w×w w×w,那么每层感受野增大 ( w − 1 ) (w-1) (w1)

​ 感受野在具有stride的层上呈指数级增长

**全连接层:**FC 层将上一层中的所有单元连接到下一层中的所有单元,将所有局部信息组合成全局矢量表示

**图像规范化:**对于图像的每个通道:减去平均图像、除以方差

Batch normalization:

过程:1. 独立计算每个维度的经验平均值和方差

​ 2. 规范化

通常插入到全连接层和/或卷积层之后,在非线性之前

作用:改善通过网络的梯度流;允许更高的学习率;减少对初始化的强烈依赖;分离权重矢量的方向及其大小

**Dropout:**避免过拟合

**颜色抖动:**随机化对比度和亮度

**扩张卷积:**类似于步长卷积,但是结果保持全分辨率:由于高分辨率特征的子采样,可能导致混叠效应

​ 高分辨率图层占用大量内存

Neural Network Optimization

损失函数具有条件数:最大与最小值比Hessian矩阵的奇异值很大

SGD:在这里插入图片描述

SGD+Momentum:在这里插入图片描述

Nesterov Momentum:在这里插入图片描述

AdaGrad:沿着陡峭方向前进会受到阻碍,沿着平坦方向前进速度加快

​ 时间长后step趋于0

RMSProp:

经常使用的学习率:

  • 指数级衰减: α = α 0 e − k t \alpha=\alpha_0e^{-kt} α=α0ekt
  • 1 / t 1/t 1/t 衰减: α = α 0 / ( 1 + k t ) \alpha=\alpha_0/(1+kt) α=α0/(1+kt)

很多场景下,Adam是默认选择,SGD+Momentum学习率衰减通常比Adam多一点,但需要更多的调整

无监督学习:

标准自动编码器:逐层训练、最小化重构误差

降噪自动编码器:在输入层增加噪声,学习重建原始

感知器:可以表示AND、OR、NOT,不能表示XOR;可以表示线性可分的

多层感知机:层之间一般是全连接的。隐藏单元的个数手工选定

多层感知机训练过程:

在这里插入图片描述

0个隐藏层:线性分类器

1个隐藏层:决策边界是凸区域

2个隐藏层:决策边界是凸区域的组合

激活函数:sigmoid函数/logistic函数

reLU:不饱和(在+区域中)、计算效率较高、在实践中,收敛速度比sigmoid/tanh快得多

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值