一、反走样(Antialiasing)
(1)上一讲中提到的锯齿属于走样(Aliasing)的一种。
(2)计算机图形学中采样的瑕疵(Sampling Artifacts)
①锯齿
②摩尔纹
③车轮效应
(3)下面举一个反走样的例子。
①先对图像进行模糊操作,再进行采样,可以得到反走样的图像,如下图。
二、信号的相关知识
(1)时域和频域
①时域(time domain)是描述数学函数或物理信号对时间的关系。例如一个信号的时域波形可以表达信号随着时间的变化。是真实世界,是惟一实际存在的域。
②频域(frequency domain)是描述信号在频率方面特性时用到的一种坐标系。
(2)傅里叶变换
①傅里叶变换可以把一个函数从时域变换到频域。
②一个函数可以使用傅里叶变换从时域变换到频域;且可以使用逆傅里叶变换从频域变换到时域。
(3)更高频的信号需要更快速的采样。
(4)欠采样会导致频率走样。
三、滤波(Filtering)
(1)滤波是指去掉一系列频率。
①高通滤波:仅通过高频信号,抹去低频信号。
②低通滤波:仅通过低频信号,抹去高频信号。
(2)以两张图片的变换来理解滤波。
①两张图片的原图如下。
②使用高通滤波之后两张图片如下。
③使用低通滤波之后两张图片如下。
④过滤掉高频和低频信号,仅留下中间频率的信号。
(3)滤波也可以理解为卷积。
(4)查阅的一些小知识点
①对于一张图片而言,像素点的灰度值发生更大变化的区域频率更高,通常对应图像里的边界、细节和噪点。
②对于一张图片而言,像素点的灰度值近似的区域频率更低,通常是一大片同色块,如天空等。
四、卷积(Convolution)
(1)卷积的操作如下:
(2)卷积的一些理论知识
①在时域上进行卷积相当于在频域上进行乘积;反之亦然。
②操作一:在时域进行卷积
③操作二:首先使用傅里叶变换变换到频域,然后乘上操作一的卷积核(需要进行傅里叶变换),最后使用逆傅里叶变换变换回时域。
④操作一和操作二结果一致。
(3)用一个例子理解上面的知识点
(4)卷积核
①卷积核也称为滤波器,下面是一个卷积核的例子。其中做平均是进行归一化操作。
②下面是两个不同大小的卷积核对应的频率,可以看到卷积核越大频率越低。直观地理解是,一张图片使用更大的卷积核进行操作会更加模糊,频率越低也会更加模糊,这是一致的。
五、采样(Sampling)
(1)从频率的角度看,采样就是重复频域上的内容。
(2)下面是一个函数在时域和频域上的采样情况。
①图a为该函数在时域上的图像;图c为冲击函数表示每隔一段时间进行采样;图e为该函数在时域上的采样结果,是一系列离散的点。
②图b为该函数在频域上的图像;图d为冲击函数变换到频率的结果;图f为该函数在频域上的采样结果,相当于把这个函数的频谱按照冲击函数复制粘贴了许多个。
(3)下图为不同采样速度的频域图像对比。
①在时域上采样速度越慢,在频域上就越密集;采样速度越快,则越稀疏。
②如果频域上的采样越密集,复制粘贴也会更密集,就会发生混叠现象,这就是产生走样的原因。
六、解决走样误差的方法
(1)解决走样误差的操作
①增加采样率(开销大,需要更高的分辨率),并不是在进行反走样操作。
②反走样
(2)反走样的第一种方法:使用低通滤波进行模糊操作,去掉高频信号
①去掉高频信号后,频谱覆盖面积变小,因此低采样率也可以采样到正确的频谱。
②实际操作中,对于图像来说相当于使用一个卷积核进行卷积操作。
③使用滤波器(卷积核)之后,该像素会变成周围像素点的均值。
④该方案需要进行卷积操作,计算量较大。
(3)反走样的第二种方法:超采样
①在每个像素点内使用复数个点进行采样。
②超采样并不是增加了采样率,而是获得更加近似的覆盖率,来更加近似原图像。
③采用超采样方法后的结果。
(5)一些有效的方法
①超分辨率是指例如想把一张512512的图像变成一张10241024的图像,即从低分辨率转换到高分辨率,这个过程与超采样有点相似。目前实现超分辨率大多使用深度学习进行恢复。