计算机视觉导论
首先我们得对计算机视觉有一个基本的感受。
低层次:如何接收、处理信号
中层次:图像分类,3D 建模等
高层次:图像的理解、生成
Classic Vision
图像处理基础
An Image as a function f from to
gives the intensity at position
Defined over a rectangle,with a finite range:
实际处理中这个函数是离散(discrete)的,每个离散的位置叫一个 pixel(像素)。
一般来说 (RGB)这个数字叫 channel。
可以定义 表示 Image Gradient(图像梯度),通过计算梯度可以体现图像中变化剧烈的位置。
但实践中函数是离散的,常见的处理方式是 用 来估计。
Filters (滤波器)
对图片做某种变换得到新图片。本质上是 2D 的信号处理。
目标:提取图片某种关键信息,或者是去除不必要的信息(去噪)。
先看一下 1D 的滤波器 (1D Filter):
有一个 System ,原来的数据 (Original data) 通过系统 得到新的数据 ,可以看做 。
很多时候变换都是离散卷积(discrete convolution)的形式,即有 满足 。
类似于连续函数的傅里叶变换(Fourier Transform),我们也可以定义离散傅里叶变换(DFT)。
。
通过 DFT 可以考察卷积的性质,比如说:如果 主要集中在 附近,那么 就是低频滤波器(low-pass filter)。我们可以通过这种滤波器进行噪声抑制(denoise)。
当然除了卷积以外,还有做线性变换的滤波器(Linear Filters)。
接下来讨论 2D 的滤波器 (2D Filter) ,我们自然也有 2D 的离散卷积。
一种最简单的卷积核是对一个小矩阵取平均数(Moving Average) ,这样做的好处是可以去除一些噪点,缺点是边缘变得模糊。
一个非线性(Non-Linear)的滤波器例子:(Binarization via Thresholding) 设置一个阈值(threshold) ,然后设 。
边缘检测
首先定义 edge:沿着某个方向的像素有高对比度,且垂直方向的权重几乎无变化。
怎么评定检测的效果呢?
(精度)Precision:
(召回率)Recall:
精度高:希望检测到的边缘基本上确为边缘
召回率高:希望所有边缘基本上都被检测到了
对边缘定位的准确:希望和真实边缘的距离尽量小
最后还有去重问题
发现直接求梯度然后去取较大位置的方法不具有鲁棒性(robust):噪声有巨大的影响

考虑用一种经典的滤波器处理:Gaussian filter ,即设
