冯 伟 计忠平 付晓峰 魏明强 张玉伟
1(杭州电子科技大学图形图像研究所 浙江 杭州 310018) 2(南京航空航天大学 江苏 南京 210016) 3(齐鲁工业大学机械与汽车工程学院 山东 济南 250353)
浮雕是一种在平面上进行雕刻的艺术品,它是一种介于2D和3D之间,雕刻与绘画相结合的艺术作品,它结合透视与光线来表现三维空间,因其独特的艺术表现形式,深受艺术家们的喜爱。此外,浮雕因其压缩空间的特性,占用空间少,特别适合装饰。广泛应用在建筑、用具器物、钱币、奖牌等物品上。
从空间的压缩程度来看,浮雕又分为浅浮雕和高浮雕,浅浮雕相较于高浮雕来说,深度值压缩较大,更接近于平面的绘画形式,在日常生活中浅浮雕应用更为广泛,传统的浅浮雕作品需要艺术家们手工雕刻完成,制作流程复杂且耗费时间。如何在计算机中利用3D物体进行浅浮雕建模,受到了人们的广泛关注。目前,很多3D物体由于自身顶点数限制,无法生成精致的浅浮雕模型,而如何提升低质量3D模型的细节,进而提升浅浮雕建模质量,越来越受到人们关注。
本文提出一种利用深度学习增强3D模型浅浮雕建模质量的方法,利用3D模型渲染出的高低分辨率法向图作为训练集,搭建一个基于法向图的超分辨率卷积神经网络,该网络的输入是低分辨率法向图,输出是高分辨率法向图,实验表明利用该方法能够丰富低分辨率3D模型的细节特征,进而提升浅浮雕建模质量。
利用3D模型进行浅浮雕建模,一直是较受关注的话题,Cignoni等[1]利用3D模型的高度场,对高度场做非线性压缩,开创了浅浮雕建模的先河。但是这种方法无法处理复杂模型中深度值不连续的问题。Weyrich等[2]直接处理高度场的梯度值,通过非线性改变梯度值来解决深度不连续的问题。Song等[3]利用缩放后的微分坐标,泊松重建浅浮雕。Kerber等[4-5]同样针对3D模型的高度场做非线性缩放,利用双边滤波分离高频与低频信息,来保留细节信息。Sun等[6]利用不同邻域大小的自适应直方图均衡得到最终高度场,保留了浅浮雕中不同尺度的信息。Bian等[7]提出非线性压缩梯度域,利用拉普拉斯锐化增强浅浮雕的几何特征。最近,基于法向图的浅浮雕建模方法,在保留细节和去除不连续性方面的表现,引起了很多关注。Ji等[8]首次使用3D物体渲染出的法向图,由法向图得到梯度域,泊松重建出浅浮雕高度场,这样可以避免直接处理一些深度值不连续的高度图。Wei等[9]在此基础上,将输入的法向图分解为基础层和细节层,以此来增强浅浮雕的几何特征。Schüller等[10]在保证深度约束的前提下,通过逼近3D模型的法线生成全局最优曲面。
当3D模型本身顶点数较少时,这些方法因为顶点数目的限制,生成的浅浮雕模型,质量普遍不高。因此,为了提高低顶点数3D模型的细节特征,针对3D模型渲染出的法向图,做超分辨率放大,提升细节,使浅浮雕模型更精致。目前在图像的超分辨率重建方面,深度学习已经成为越来越重要的研究方法,它相较于传统方法,速度更快,效果更好。SRCNN[11]作为超分辨率在深度学习方面的开山之作,低分辨率图像经过双三次插值达到高分辨率图像尺寸后输入网络,经过简单的三个卷积层,就取得了不错的结果;FSRCNN[12]利用反卷积代替插值操作,将低分辨率图像输入网络,通过上采样扩大了图像的尺寸;ESPCN[13]首次引入亚像素卷积层,仅对低分辨率图像做卷积操作,对得到的多通道特征图做周期筛选处理得到高分辨率图像,大幅提高了计算效率。VDSR[14]首次将ResNet[15]即残差网络引入超分辨率网络,不仅加深了网络的层数,还解决了低分辨率与高分辨率图片大量低频信息相近影响训练结果的问题。2017ntire超分辨率挑战赛冠军解决方案EDSR[16]创造性地去除了网络中的BN层[17],节省了大量内存与计算资源,并加深加宽了网络模型,得到了更好的结果。2018ntire超分辨率挑战赛冠军解决方案WDSR[18],认为超分辨率网络中激活函数会阻止信息流的传递,因此WDSR[18]将激活函数之前的特征图数目进行了扩展,降低基础特征图数目减少参数量,利用更少的参数得到更优的预测结果。这些都是针对普通图像进行超分辨率放大的网络模型,而针对法向图这种含有3D模型空间信息的特殊图片,还需要结合法向图的特点对网络进行修改,构建一个适用于法向图超分辨率放大的网络模型。
针对超分辨率重建法向图的任务,本文收集并筛选了20种3D模型,以提高本文算法的通用性,其中:16种3D模型用于生成训练集,4种3D模型用于生成测试集。同一模型的高度场,在不同视角下也大不相同。因此,针对每个模型,都选取相同的66个角度,每个模型每个角度都生成一对低分辨率与高分辨率法向图。至此超分辨率模型的数据集构建完成。在超分辨率网络的设计中,本文参考了WDSR[18]网络,结合对法向图做超分辨率放大的任务,对网络做了加宽加深的处理,同时设计了一种针对法向图的loss函数,利用GPU进行训练,得到了较好的效果。进行实验的配置为CPU:AMD R5 2600,GPU:GTX 1080,RAM:16 GB。
本文筛选了20种3D模型,如图1所示,同一种模型在不同角度下生成的法向图所含的三维信息也有很大不同,因此借助3D模型渲染法向图的相关算法,针对每个模型的66个角度渲染出对应的低分辨率和高分辨率法向图。生成了大约2 000幅法向图,如图2所示,其中:1 000幅为3D模型直接渲染出的1 024×1 024的高分辨率法向图,而另外1 000幅是低顶点数的相同3D模型渲染出的256×256的低分辨率图片。其中,80%用作训练集,15%用作验证集,5%用作测试集。借助超分辨率网络对低分辨率法向图做4倍放大,同时为了提高本文算法的通用性,训练集和测试集中的法向图来自于不同的3D模型。图3展示了高低分辨率法向图的细节对比。
图1 超分辨率法向图数据集生成过程
图2 法向图超分辨率重建数据集(只列出部分高分辨率法向图)
(a) 高分辨率法向图
(b) 低分辨率法向图图3 不同分辨率法向图的细节对比
与传统的图像分类与分割任务相比,超分辨率重建任务是更加基础的计算机视觉问题。网络结构和参数的复杂程度对于超分辨率重建任务来说影响较大。为了能得到高质量的超分辨率重建图像,本文在卷积神经网络设计方面主要参考了EDSR[16]和WDSR[18]。EDSR[16]通过引入残差网络ResNet[15],大大增加了网络的深度,避免了深层网络出现梯度消失的问题。残差网络对于图像分类或分割任务来说,效果提升较大,但不能直接套用在超分辨率重建这种低层次计算机视觉问题之上,因此EDSR[16]对残差网络做了修改,移除了网络中的批规范层。批规范层主要应用在基于卷积神经网络的图像分类分割任务中,它可以加速网络的收敛,还有一定正则化的效果,可以防止模型过拟合。但是在图像超分辨率重建方面,表现并不是很好,它破坏了图像原本的对比度信息,影响了网络输出图片的质量。另外,批规范层的计算量与一个卷积层几乎持平,通过去除批规范层,可以加宽网络或堆叠更多的卷积层,增加网络的参数量,从而在有限的计算资源下得到更好的性能表现。由于EDSR[16]网络引入大量残差块,会导致训练过程不稳定,所以采用了残差缩放的方法,即在残差块相加之前,经过卷积处理的一路要先乘以一个小数,这样可以避免由于残差块太多带来的训练不稳定的问题。
在EDSR[16]网络结构基础上,WDSR[18]认为ReLU激活函数会阻止信息流的传递,因此,WDSR[18]扩展了激活函数之前的特征图数目,同时减少了基础特征图的数目来降低整体的网络参数,显著提高了网络的性能。
与普通图片的超分辨率重建任务有所不同,本文的法向图是一种特殊的含有三维信息的二维图像,法向图的每一个像素点代表着3D模型中每个顶点的法向量。但是法向图的像素取值范围在0到1之间,而实际的法向量在-1到1间取值,因此在将法向图输入网络之前还需要一步转换操作:
N=2P-1
(1)
式中:P代表法向图中的像素值;N代表实际的法向量。
对超分辨率重建网络的输出还要加入约束,即网络预测出的法向图,每个像素点位置处所代表的法向量要满足长度为1这个基本条件。另外,本文引入了超分辨率任务中常用的指标峰值信噪比psnr对本文的实验结果进行评价,psnr值一般在20 dB到40 dB之间,值越高说明超分辨率重建的图像越接近原始图像。
网络的输入是RGB三通道的256×256分辨率的低分辨率法向图,ground truth即是对应的1 024×1 024分辨率的高分辨率法向图。本文构建的超分辨率网络可以做到对原始法向图做4倍放大,即输入一幅256分辨率的法向图,网络预测得到一幅1 024分辨率的法向图。其中网络具体的结构设计参考了WDSR[18]超分辨率网络,如图4所示,输入网络的图像首先经过一个普通的卷积层,然后送入多个残差块组成的Redidual Block,其中,每个残差块内部由两个卷积层和一个ReLU激活函数组成。残差网络输出的特征图与原始输入的特征图分别做卷积和上采样处理,最后两个分支融合得到网络的输出,即最终预测出的高分辨率法向图。其中上采样操作采用的是ESPCN[13]中的亚像素卷积层,其具体步骤为:将H×W×1的低分辨率特征图通过普通卷积层生成H×W×r2的特征图(H、W代表特征图尺寸;r代表特征图通道数,也表示超分辨率放大倍数),再通过周期筛选的方法得到rH×rW×1的高分辨率特征图。图像尺寸的放大函数被隐含在了普通卷积层中,在反向传播时会自动学习到,这样避免了对高分辨率特征图做卷积的复杂性,提高了计算效率。
图4 法向图超分辨率网络结构
为了防止网络过拟合,本文还采用了数据增强的方法,对训练集中的图片进行随机翻转90度。在训练中本文采用adam优化器,同时将weight decay设为0.000 1,它可以进一步减少网络过拟合问题。初始学习率设为0.000 1,batchsize设为1。本文使用一个GTX 1080显卡对网络进行训练,训练迭代次数为300。
法向图超分辨率网络的损失函数为:
Loss=|Np-Ng|
(2)
式中:Np代表超分辨率网络预测得到的并经过单位化处理后的法向图;Ng代表3D模型渲染出来的并经过单位化处理后的法向图。函数整体表示为Np与Ng所代表的所有法向量之间的L1损失。
我们对测试集中的低分辨率法向图,分别利用EDSR[16]、WDSR[18]和双三次上采样方法(Bicubic)进行放大,实验结果如图5所示,其展示了四幅预测集图片利用不同方法放大之后的细节对比,发现基于深度学习的超分辨率放大结果要显著优于双三次上采样这类传统算法。利用psnr值作为法向图重建质量的评估标准,对三种算法处理后的图像与ground truth之间求峰值信噪比psnr,并进行比较,结果如表1所示,利用超分辨率网络预测出的图片质量较高,达到了我们的预期结果,其中WDSR[18]模型要优于EDSR[16]模型。
表1 高分辨率法向图与ground truth之间的峰值信噪比 单位:dB
利用3D模型生成浅浮雕,当3D模型本身顶点数较少时,无法生成高质量的浅浮雕模型。本文提出一种提高3D模型浅浮雕建模质量的方法,通过对3D模型的法向图做超分辨率放大,间接提升3D模型的细节特征,利用超分辨率网络放大之后的法向图生成浅浮雕模型,提高浅浮雕建模质量。为了验证本文算法的有效性,我们设计了两个实验流程,流程一是由低顶点数的3D模型直接渲染生成1 024×1 024分辨率的法向图,流程二是由相同的低顶点数的3D模型首先渲染出256×256分辨率的法向图,利用WDSR[18]超分辨率网络对其进行超分辨率放大,得到1 024×1 024分辨率的法向图。实验结果如图6所示,图6(a)为流程一最终生成的法向图,图6(b)为流程二最终生成的法向图。对其细节进行放大比较,发现右侧图片的细节明显优于左侧图片。由此得出结论,本文算法在3D模型本身顶点数较少的情况下,可以生成细节更丰富的法向图。
(a) (b)图6 不同算法流程生成的法向图细节对比
同时我们利用法向图借助Ji等[8]的算法进行浅浮雕建模,结果如图7所示,分别对图6中两个流程最终生成的法向图进行浅浮雕建模,图7(a)为没有经过本文算法增强的法向图生成的浅浮雕模型,图7(b)为经过本文算法增强的法向图生成的浅浮雕模型。可以看出图7(b)的浅浮雕模型细节更丰富,说明本文算法可以有效提升低分辨率3D模型的浅浮雕建模质量。
本文提出一种增强3D模型浅浮雕建模质量的方法,当3D模型本身顶点数较低,无法生成高质量浅浮雕时,本文利用3D模型渲染出的法向图,对法向图进行超分辨率放大,间接提升3D模型的细节,进而提升浅浮雕建模质量。实验结果表明,本文算法显著提升了低分辨率3D模型的细节特征,进而提高了浅浮雕建模质量。
本文仅针对低顶点数的3D模型提升3D模型的浅浮雕建模质量,有一定的局限性,需要设计一个更为通用的算法;本文算法数据集需要进一步扩大,挑选更多类别的3D模型,构建相应的3D场景及浅浮雕模型,提高算法的适用性。