可视化图像
回忆可视化一个图像的两种方法
灰度模式
二维数组
弥补差距
动机:我们想把图像可视化到足以保留人类洞察力的高度,但要低到足以让我们轻易地将自己的洞察力转化为数学符号,并最终转化为对数组进行运算的计算机算法。
作为曲面的图像
表面高度与像素灰度值成比例 ( 深=低,浅=高)
例子
这样的可视化如何帮助我们?
地形概念
基本概念:
上坡/下坡
等高线(海拔高度相同的曲线)
坡度
峰/谷(局部极值)
更多数学概念:
正切平面
法向量
曲率
梯度向量(偏导数向量)将帮助我们定义/计算所有这些。
数学例子:一维梯度
考虑函数 f(x) = 100 - 0.5 * x^2
梯度是df(x)/dx = - 2 × 0.5 × x = - x
几何解释:x0处的梯度是曲线在x0处切线的坡度
f(x) = 100 - 0.5 * x^2 df(x)/dx = - x
注意:点梯度的符号告诉你“上坡”的方向
数学例子:二维梯度
f(x,y) = 100 - 0.5 * x^2 - 0.5 * y^2
df(x,y)/dx = - x df(x,y)/dy = - y
Gradient = [df(x,y)/dx , df(x,y)/dy] = [- x , - y]
梯度是相对于x轴和y轴偏导数的向量
绘制为向量场,在每个像素点“上坡”的梯度向量
梯度表示最陡上升方向
在峰值梯度为0 (同样在任何平坦点和局部极小值,…但这个函数没有这些地方)
g=[gx,gy] :点/像素(x0,y0)的梯度向量
向量g指向上坡(最陡上升方向)
向量-g指向下坡(最陡下降方向)
向量[gy,-gx]是垂直的,并且表示恒定高程的方向,也就是垂直于通过点(x0,y0)的等高线
图像梯度
二维图像梯度是同样的概念
基本函数是数值的(列表的),而不是代数的。所以需要数值导数。
数值导数
泰勒级数展开
移项整理:
有限前向差分
同样,泰勒级数展开
移项整理:
有限后向差分
类似的,泰勒级数展开
有限中心差分,更精准
例子:时间梯度
一个视频是一系列图像帧I(x,y,t)
每一帧有两个空间索引x,y以及一个时间索引t
考虑一段时间内在单个像素处观察到的强度值序列
例子:空间图像梯度
梯度的幅值 s q r t ( I x 2 + I y 2 ) sqrt(Ix^2 + Iy^2) sqrt(Ix2+Iy2)
测量每个像素处的坡度的陡峭程度
梯度的角度atan2(Iy, Ix)
表示坡度方向的相似性
我们还能从图像中观察到什么?
在低对比度区域的增强细节 (比如大衣的褶皱,天空中的成像伪影)
下一节:线性操算子
梯度是一个线性算子的例子,也就是在某个像素上的值为相邻像素的线性组合。