一、视觉感知
人眼视觉结构
光线从光路系统投射到视网膜上(角膜->前房->晶状体->视网膜)
视网膜上的中央凹一般作为视觉的中心点,中央凹附近为黄斑,在盲点附近没有视网膜细胞,但存在神经(将视觉信息传输到大脑)
视网膜由视锥细胞和视杆细胞组成
视锥细胞(约650万):明视觉细胞,感知成像的形状,人的视网膜中有三种不同的视锥细胞,对光谱的敏感值分别在:
- 430nm(蓝光)
- 540nm(绿光)
- 570nm(红光)
人的颜色视觉主要由这三种颜色的光构成(三原色)
视杆细胞(约一亿):暗视觉细胞,负责观察物体运动,黑暗下作用
在中央凹处(0°)视锥细胞最多,视觉最清晰;视杆细胞大约离中央凹细胞20°开始分布较多,在0°趋于0。
人眼视觉特性
- 时间特性:>15帧/s,可以得到连贯的感觉
- 亮度适应:改变灵敏度适应光强变动,在10e-6~10e4 mL的范围都可调,主观亮度是光强对数的函数
- 对比灵敏度:人眼能分辨的强度差δI是I(背景)的函数,δI/I(韦伯分数)在相当宽的范围近似为2%,在过亮/过暗时需要更大的δI。
- 人眼的空间分辨率为1′(在1′夹角刚好能分辨顶点和底点的区别)
- 对灰度的分辨能力约64级
- 人眼成像模型参照小孔成像模型,在视网膜上成倒实像
- 马赫带效应:人类视觉系统有过高/过低估计不同亮度区域边界值的现象。(颜色分界线比较明显)
这是由于锥状细胞感知形状,其敏感度对中心点的值较大,向两侧衰减(看起来像low pass filter)。
我们可以用侧抑制来解释马赫带的产生。侧抑制是指视网膜上相邻的感光细胞相互抑制对光线反应的现象,即某个感光细胞受到光线刺激时,若它的相邻感光细胞再受到刺激,则它的反应会减弱。由于相邻细胞间存在侧抑制的现象,来自暗明交界处亮区一侧的抑制大于来自暗区一侧的抑制,因而使暗区的边界显得更暗;同样,来自暗明交界处暗区一侧的抑制小于亮区一侧的抑制,因而使亮区的边界显得更亮。可看作视锥细胞对光的滤波。(有一说一有点像吉布斯效应)
- 同时对比度:人的眼睛无法判断出视场中目标物的绝对亮度。因为人类视觉对亮度的响应与背景有关。
- 空间错觉和假轮廓——没啥好说的
光和电磁波谱
电磁波谱图
可见光谱:380nm~780nm
二、图像感知与获取
传感器
- 胶片(化学反应,如氧化银)->模拟图像,需要数字化
- 电荷耦合器件(Charge Coupled Device,CCD):将光能转换为电荷,并存储->经放大器转化为电压量。CCD工作原理 在灵敏度、解析度、分辨率、噪声控制、成像等方面都优于CMOS。
- CMOS图像传感器 低成本低功耗,高整合度
成像方式:
- 单个传感器
- 线阵式传感器(扫描仪)
- 传感器阵列(数码相机)
二维图像的获取:
- 传感器线性移动,胶片转动
- 线阵传感器线性移动扫描图像
- 对三维图像(CT/MRI et al),物体旋转扫描->三维重建,之后会在医学成像原理写。
三、图像的数字化
数字图像的表示:z=f(x,y),x轴向下,y轴向右。
模拟图像的数字化
采样(Sampling):将在空间上连续的图像转换成离散的采样点(即像素)集的操作。可以是等间隔采样,可以是非均匀采样。
二维采样定理(Nyguist准则)在一维的基础上推导:1/δx,1/δy≥2倍图像函数上限频率(像素的周期变化率)--一般情况都是满足的(啊还挺喜欢像素风格和low poly的
采样间隔太小,则增大数据量;太大,则会发生信息的混叠,导致细节无法辨认。
量化(Quantization):把采样后所得的各像素的灰度值从模拟量到离散量的转换称为图像灰度的量化。(k级量化,灰度值有2^k个。最低的2级->二值图像)
编码(Coding):一般,采样量化后,需对所得数据先进行PCM编码(脉码调制)。
空间和灰度分辨率
图像分辨率:
- 图像分辨率:组成一幅图像的像素密度(图幅参数)
- 显示分辨率:显示器上能显示出的像素数目
假设用交替的黑色和白色垂线来构造图形,其中线宽W个单位,线对的宽度就是2W,每单位距离有1/2W个线对。如线宽0.1mm,每单位距离(1mm)就有5个线对。一般用每英寸点数(dpi)来衡量。dpi高到一定程度绝对清晰度仍增加,但由于人眼的视觉特性会趋于饱和。
像素深度:指存储每个像素所用的位数(k),也用来度量图像的分辨率。
位面数量:图像通道数,如灰度图单通道,彩图RGB三通道。
图像存储空间的计算
假设图像尺寸为M、N(长宽),灰度级数为G=2^k,存储这幅图像所需空间为:
bit(位数)=M*N*k
Byte(字节)=M*N*K/8
四、像素间的基本关系
像素的邻域与邻接
邻域:在一定意义下,与某一像素相邻的像素的集合。
常用4邻域,记作N4(p):
坐标表示:
每个像素与中心点距离为1
对角邻域,记作:ND(p):
坐标表示:
每个像素与中心点距离为 (sqrt{2})
8邻域,记作N8(p):
N8(p)=N4(p)+ND(p)
像素邻接
空间上相邻,且像素灰度值相似。
邻接:
1.是否接触(邻域关系)?
2.灰度值是否满足某个特定的相似准则V。如:两像素灰度值相等/同在一个灰度值集合中。
三种邻接:
假设V为灰度值集合
-
4邻接:两个像素p和q在V中取值且q在N4(p)中。
-
8邻接:两个像素p和q在V中取值且q在N8(p)中。
举例:
- m邻接(混合邻接)
对于上图右上角的1走到右下角有两条通路(二义性),为了保证像素p与q之间存在一条不含回路的通路(单通路),定义了m邻接:
p和q在V中取值,且满足以下条件之一:
1.q在N4(p)中
2.q在ND(p)中且集合N4(p)∩N4(q)是空集。(q在p的对角邻域且他们之间没有4邻域通路/只存在8邻域相接)
实质:像素间同时存在4-邻接和8-邻接时优先采用4-邻接,屏蔽存在4-邻接时的8-邻接。
连通性
通路:像素p到q之间的通路由一系列具有坐标的像素的独立像素组成。其中两两像素邻接。
连通:通路上所有像素灰度值满足相似准则。
连通的种类:
- 4-连通
- 8-连通
- m-连通
距离的度量
1.欧氏距离:
对于像素p(x,y)与q(s,t),
(D_e(p,q)=sqrt[2]{[(x-s)^2+(y-t)^2]})
距点(x,y)的欧式距离小于或等于某一值的像素形成一个中心在(x,y)的半径为的圆平面。
2.城市距离/街区距离:
对于像素p(x,y)与q(s,t),
(D_4(p,q)=|x-s|+|y-t|)
距点(x,y)的城市距离小于或等于某一值的像素形成一个中心在(x,y)的菱形。
对图像的操作
图像内插
内插:用于调整图像的大小,是基本的图像Resampling方法。具体的操作会在后续章节写到(或者啥时候有时间了再补吧()。
内插的种类:
- 最近邻内插
- 双线性内插
- 双三次内插
图像的算术操作
加:对带噪图像相加求均值(由于噪声是不相关且均值为0的,但显然会降低清晰度)
减:图像增强(如血管造影,反锐化掩模)
乘&除:阴影校正(原图×阴影模式/原图×ROI模板)
空间操作
单像素操作
灰度映射(通过变换函数转换灰度值)
几何变换与配准(Registration)
最常用的空间坐标变换是仿射变换,其一般形式为
即用原图像乘一个变换矩阵。
常用的仿射变换表:
灰度内插:由于几何变换(如放大)将图像的像素重新定位到新的位置,需要对新的位置赋予灰度值,因此在做仿射变换时通常还需要用到内插。对于仿射变换,有两种方法实现:
前向映射:扫描输入图像的像素,并在每个位置直接计算输出图像中相应像素的空间位置组成。问题是:输入图像中的一个/多个像素可能被变换到输出图像的同一位置(如缩小),产生了合并多个输出值的问题,此外一些输出位置可能并没有需要赋值的像素。
反向映射:扫描输出图像的像素位置,并对每一个位置使用上式(输入=输出x变换矩阵的逆)计算输入图像的位置,然后内插是用最近的输入像素之一决定输出像素的灰度值的。对于实现来说反向映射更为有效(Matlab就采用的此方法)
图像配准:用于对齐两幅/多幅相同场景的图像。如在相同位置不同时间获取的图像,对它们进行分析,都要求对几何畸变进行修正。
在这个问题中,我们已经有了输入图像和输出图像(参考图像),但对输入输出之间的变换是不清楚的,解决的办法之一是使用约束点/控制点。选择控制点/使用特定算法获取控制点后,根据控制点来实现图像配准。
图像变换
常见的有FT(空域-频域),拉当变换,小波变换(wavelet)
统计特征
图像的均值是对图像明亮程度的度量
图像灰度值的方差是对比度的度量
高阶矩balabala...