卷积遗传编程与程序化地形生成技术综述
1. 卷积遗传编程
1.1 单层卷积遗传编程滤波器
提出使用标准的遗传编程(GP)个体表示,即语法树,作为图像滤波器。该滤波器在一个 $d \times d$($d$ 为奇数)像素的小窗口区域上操作,接收该区域内的像素作为输入,并输出一个单一值,即操作窗口中心像素的噪声水平。为了过滤整个图像,将窗口在整个图像上滑动,生成一个与输入图像大小相同的残差图像,该残差图像表示组成输入图像的每个像素的(估计)噪声水平。为了获得干净图像的近似值,从有噪声的输入中减去残差图像。
GP 个体的叶节点应该是正在处理的区域中的单个像素,或者是某个范围内的常数值。原语可以是任何能够在单个像素级别上操作的函数,这样做是为了避免使用任何图像过滤专家的知识。
1.2 多层卷积遗传编程
还提出将多个滑动 GP 滤波器以并行和串行的方式堆叠,因为深度神经网络(DNN)实际上就是这样设计的。即不是使用单个 GP 语法树来过滤图像,而是可以滑动多个不同的 GP 语法树,生成多个特征图作为输出,这些特征图是输入的中间变换,可能对生成所需的输出有用。所有这些特征图形成一个编码信息的体积,由另一个 GP 树进一步处理,生成最终输出,即残差图像。
串行堆叠这些卷积滤波器的优点是增加了感受野。例如,如果使用两个 $3 \times 3$ 的滑动滤波器串行连接,当在第二个滤波器的输出处重建中心像素时,实际上使用的是其周围 $5 \times 5$ 窗口大小的信息。另一方面,每层并行堆叠滤波器允许在每层生成多个特征图,每个特征图可能编码对下一层处理有用的不同信息。
传统的 GP 形式考虑的是由单个语法树组