当前位置: 首页 > 科技观察

一键抹去瑕疵皱纹:深度解读达摩院高清人像美肤模型ABPN

时间:2023-03-12 10:25:37 科技观察

随着数字文化产业的蓬勃发展,人工智能技术开始广泛应用于影像领域编辑和美化。其中,人像美化无疑是应用最广、需求量最大的技术之一。传统美化算法采用基于滤镜的图像编辑技术,实现自动平滑皮肤和去除瑕疵的效果,已广泛应用于社交、直播等场景。然而,在高门槛的专业摄影行业,由于对图像分辨率和质量标准的高要求,人工修图仍然是人像修图的主要生产力,完成皮肤平滑、去斑、美白等一系列工作。.系列作品。通常,专业修图师对高清人像进行美肤操作的平均处理时间为1-2分钟。在广告、影视等对精度要求较高的领域,处理时间较长。相较于互动娱乐场景下的护肤美颜,广告级、影楼级的精细化美肤,对算法提出了更高的要求和挑战。一方面,瑕疵种类繁多,包括粉刺、痘印、雀斑、肤色不均等,算法需要自适应地处理不同的瑕疵;另一方面,在去除瑕疵的过程中,需要尽可能的保留皮肤的纹理、质感,实现高精度的皮肤修饰;最后一点,随着摄影器材的不断迭代,专业摄影领域常用的图像分辨率已经达到4K甚至8K,这对算法的处理效率产生了极高的影响。严格要求。因此,我们从实现专业级智能美肤出发,开发了一套针对高清图像的超精细局部图像修图算法ABPN,在美肤、衣物去皱等任务中取得了不错的效果。超高清图像。与应用程序。论文:https://openaccess.thecvf.com/content/CVPR2022/papers/Lei_ABPN_Adaptive_Blend_Pyramid_Network_for_Real-Time_Local_Retouching_of_CVPR_2022_paper.pdf模型&代码:https://www.modelscope.cn/models/damo/cv_unet_skin-retouching/summary传统工作3.美化算法传统美化算法的核心是使皮肤区域的像素点更平滑,降低瑕疵的严重程度,使皮肤看起来更光滑。一般来说,现有的美化算法可以分为三个步骤:1)图像滤波算法,2)图像融合,3)锐化。整体过程如下:为了在保留图像边缘的同时平滑皮肤区域,传统的美颜算法首先使用保边滤波器(如双边滤波、引导滤波等)对图像进行处理。与常用的均值滤波器和高斯滤波器不同,保边滤波器考虑到不同区域像素值的变化,对像素变化较大的边缘部分和中间区域像素变化较大的部分采用不同的权重相对平缓的变化,从而实现图像边缘。预订。然后,为了不影响背景区域,通常使用分割检测算法来定位皮肤区域并引导原始图像和平滑图像的融合。最后,锐化可以进一步改善边缘突出度和感知清晰度。下图是目前传统美颜算法的效果:原图来自unsplash[31]从效果来看,传统美颜算法存在两大问题:1)瑕疵的处理是非自适应的,它不能很好地处理差异。类型的瑕疵。2)平滑导致皮肤纹理和质地的损失。这些问题在高清图像中尤为明显。3.2现有的深度学习算法为了实现皮肤不同区域、不同瑕疵的自适应修饰,数据驱动的深度学习算法似乎是一个更好的解决方案。考虑到任务的相关性,我们讨论并比较了图像到图像转换、照片修饰、图像修复和高分辨率图像编辑这四种现有方法对皮肤美化任务的适用性。3.2.1Image-to-ImageTranslationImage-to-ImageTranslation(图像到图像转换)任务最早由pix2pix[1]定义,它将大量的计算机视觉任务概括为像素到像素的预测任务,并提出了一项基于条件生成对抗网络的通用框架的任务来解决此类问题。基于pix2pix[1],已经提出了各种方法来解决图像翻译问题,包括使用成对图像的方法[2,3,4,5]和使用未成对图像的方法[6,7,8,9]。一些作品专注于一些特定的图像翻译任务(如语义图像合成[2,3,5],风格迁移等[9,10,11,12]),并取得了令人瞩目的成果。然而,上述大多数图像翻译主要关注整体图像到图像的转换,缺乏对局部区域的关注,这限制了它们在皮肤美化任务中的表现。3.2.2照片修饰得益于深度卷积神经网络的发展,基于学习的方法[13,14,15,16]近年来在图像修饰领域取得了优异的成绩。然而,与大多数图像翻译方法类似,现有的修图算法主要集中在操纵图像的一些全局属性,如颜色、光照、曝光等,很少关注局部区域的修图,皮肤美化只是局部修图任务(LocalPhotoRetouching),需要在修图目标区域的同时保持背景区域静止。3.2.3图像修复图像修复算法常用于补全和生成图像缺失的部分,类似于皮肤美化任务。凭借强大的特征学习能力,基于深度生成网络的方法[17,18,19,20]近年来在修复任务中取得了长足的进步。然而,修复方法依赖于目标区域的掩码作为输入,在皮肤美化等局部修改任务中,获得准确的目标区域掩码本身就是一项非常具有挑战性的任务。因此,大多数图像修复任务不能直接用于皮肤美化。近年来,一些盲图像修复方法[21,22,23]摆脱了对mask的依赖,实现了目标区域的自动检测和补全。然而,与大多数其他图像修复方法一样,这些方法存在两个问题:a)缺乏对目标区域纹理和语义信息的充分利用,以及b)计算量大,难以应用于超高分辨率图像。3.2.4高分辨率图像编辑为了实现高分辨率图像编辑,[15,24,25,26]等方法将主要计算从高分辨率图像转移到低分辨率图像以减少空间和时间负担.尽管在效率方面取得了优异的性能,但由于缺乏对局部区域的关注,这些方法中的大多数并不适用于皮肤美化等局部修饰任务。综上所述,现有的深度学习方法大多难以直接应用于皮肤美化任务,主要是缺乏对局部区域的关注或计算量大难以应用于高分辨率图像。美肤的本质在于对图像的剪辑。与大多数其他图像转换任务不同,这种编辑是本地的。与之类似的还有服装除皱、产品改装等任务。这种局部图像修图任务具有很强的共性。我们总结了它的三个主要困难和挑战:1)目标区域的精确定位。2)具有全局一致性和细节保真度的本地生成(装饰)。3)超高分辨率图像处理。为此,我们提出了一种基于自适应混合金字塔的局部修饰框架(ABPN:AdaptiveBlendPyramidNetworkforReal-TimeLocalRetouchingofUltraHigh-ResolutionPhoto,CVPR2022,[27])以实现超高分辨率的精炼对图片进行局部修图,下面介绍实现细节。4.1网络整体结构如上图所示,网络结构主要由上下文感知局部修改层(LRL)和自适应混合金字塔层(BPL)两部分组成。LRL的目的是对降采样后的低分辨率图像进行局部修改,生成低分辨率修改结果图,充分考虑全局上下文信息和局部纹理信息。此外,BPL用于逐步将LRL中生成的低分辨率结果放大为高分辨率结果。其中,我们设计了一个自适应混合模块(ABM)及其逆向模块(R-ABM),利用中间混合层Bi,可以实现原始图像和结果图像之间的自适应变换和向上扩展,表现出强大的可扩展性和细节保真度功能。我们对人脸修改和服装修改这两个数据集进行了大量的实验,结果表明我们的方法在效果和效率上都明显领先于现有的方法。值得一提的是,我们的模型在单卡P100上实现了对4K超高分辨率图像的实时推理。下面,我们分别介绍LRL、BPL和网络的trainingloss。4.2Context-awareLocalRetouchingLayer(上下文感知局部修饰层)在LRL中,我们要解决第三个提到的两个挑战:目标区域的精确定位和具有全局一致性的局部生成。如图3所示,LRL由共享编码器、掩码预测分支(MPB)和局部装饰分支(LRB)组成。总的来说,我们采用多任务架构,在局部装饰的指导下实现显式对象区域预测。其中,共享编码器的结构可以利用两个分支共同的训练和优化特征来改善装饰分支对目标的全局语义信息和局部感知。大多数图像翻译方法采用传统的encoder-decoder结构直接实现局部编辑,没有将目标定位和生成解耦,从而限制了生成的效果(网络容量有限),相比多分支结构更有利于任务解耦,互惠互利。在局部修改分支LRB中,我们设计了LAM(图4),它同时使用空间注意机制和特征注意机制来实现特征的完全融合和目标区域的语义和纹理的捕获。消融实验(图6)证明了每个模块设计的有效性。4.3自适应混合金字塔层(AdaptiveBlendPyramidLayer)LRL在低分辨率下实现局部修改。如何在增强细节保真度的同时将修改结果扩展到高分辨率?这就是我们这部分要解决的问题。4.3.1自适应混合模块(AdaptiveBlendModule)在图像编辑领域,混合层(blendlayer)常用于与图像(baselayer)以不同模式混合,以实现多种图像编辑任务。如对比度增强、加深、减淡等操作。通常,给定一张图片和一个混合层,我们可以将两层混合得到图像编辑结果,如下:其中f是一个固定的逐像素映射函数,通常由混合模式决定。受转换能力的限制,特定的混合模式和固定的函数f很难直接应用于各种编辑任务。为了更好的适应数据的分布和不同任务的转换模式,我们借鉴了图像编辑中常用的柔光模式,设计了一个自适应混合模块(ABM),如下:表示Hadmard积,和对于learnable的参数,网络中所有ABM模块和后面的R-ABM模块共享,表示所有值为1的常数矩阵。4.3.2反向自适应混合模块(ReverseAdaptiveBlendModule),为了得到混合层B,我们求解公式3,构造一个反向自适应混合模块(R-ABM),如下:一般来说,通过使用混合层作为中介,ABM模块和R-ABM模块实现了图像I和结果R之间的自适应转换,相比直接使用卷积上采样(如Pix2PixHD)等操作扩展低分辨率结果,我们使用混合层来实现这个目标,有两个好处:1)在局部修图任务中,混合层主要记录两幅图像之间的局部变换信息,这意味着它包含较少的无关信息,更容易用轻量级优化网络。2)混合层直接作用于原图,实现最终的修饰,可以充分利用图像本身的信息,进而达到高度的细节保真度。事实上,自适应混合模块有很多可选的功能或策略。在论文中,我们详细介绍了设计的动机以及与其他方案的比较。我们这里就不细说了。图7显示了我们的方法与其他混合方法之间的消融比较。4.3.3RefiningModule4.4损失函数实验结果5.1与SOTA方法对比5.2消融实验5.3运行速度和内存消耗效果展示皮肤美化效果展示:原图来自unsplash[31]原图来自人脸数据集FFHQ[32]可以看出,与传统的美颜算法相比,我们提出的局部图像修图框架在去除皮肤瑕疵的同时,充分保留了皮肤的纹理和纹理,实现了精细化、智能化的皮肤质量优化。进一步,我们将该方法推广到衣物除皱领域,取得了很好的效果,具体如下: