AI生成肖像画,精细到毛发!北大校友最新研究收割2.8k星标,还登上了ICPR 2020

这款AI工具叫U2-Net(U Square Net),最近火到不行!

不仅登上了GitHub热榜,收割了2.8k星标,还被顶会ICPR 2020 选中。更关键是,这项研究的一作还是北大校友——秦雪彬。

相信不少开发者朋友对这个名字非常熟悉,他之前提出边界感知显著目标检测网络 BASNet,被用来做了很多好玩的工具,比如『隔空复制粘贴』——AR Cut & Paste。

https://twitter.com/cyrildiagne/status/1256916982764646402

只要手机扫一扫,书本、花盆、杂志人物,你能看到的任何现实物体,只需10s统统都可以被“粘贴”到电脑里。

这项研究在Reddit上短短几个小时,就获得了近5K点赞量,之后累计浏览量超过了500万。

秦雪彬以前在北京大学读硕士,现在是加拿大阿尔伯塔大学的一名在读博士。他对计算机视觉技术非常感兴趣,尤其是目标物体检测。最近推出的这款U^2-Net深度网络架构,同样是一个目标检测工具。

之前的BASNet网络被用来做“复制粘贴”测试,效果很好。这次,他就用U^2-Net做了一个生成肖像画测试,结果也火了。

再来感受下精细到毛发的生成效果。

目标检测是计算机视觉和数字图像处理的一个重要分支。计算机视觉对于目标运动的分析大致分为三个层次:图像分割,目标检测;目标跟踪;目标识别与描述。其中,目标检测是最基础且关键的环节。

2006 年,自深度学习三大巨头Hinton、Bengio、Lecun 提出卷积神经网络(CNN),并应用于图像处理以来,目标检测技术得到显著性改善,尤其是随着全卷积神经网络(FCN)的提出,目标检测任务逐步达到最佳SOAT。

在今年的MICCAI 2020(国际医学图像计算与计算机介入)大会上,U^2-Net凭借出色的性能表现,在甲状腺结节分割比赛中获得第六名。

接下来,我们说说它是如何做到的。

任何AI处理过程都分为三个阶段:输入目标——模型训练——输出结果。要想达到高质量的生成效果,除了考验模型精度外,当然输入源也很重要。这一点也是我们所能控制的。

对于U^2-Net而言,高质量的照片源可以获得更多细节,所以在上传照片时要注意以下几点:

  • 照片中人头区域应接近或大于512x512像素。

  • 照片整体大小最好达到960x1280像素。

  • 背景要尽量清晰、无干扰。

如图,秦雪彬还亲自示范做了说明。

接下来是最关键的目标检测模型(SOD)。

U^2-Net模型:嵌套式双层U型结构

先来看一组与现有最先进SOD模型的比较。

其中红色星标代表U2模型(176.3 MB),它在相对小的模型尺寸下,表现出了最高性能。(蓝色星标为4.7 MB的U2)

之所以达到如此性能,是因为U2拥有两层嵌套式U型结构,其中的ReSidual U-Block(RSU)中混合了大小不同的接收域,能够从不同尺度捕获更多语境信息。另外,由于这些RSU块中使用了池化操作,因此可以深度捕获更多细节,同时不会显著增加计算成本。

最关键的是,这种结构体系能够让模型从头训练深层网络,而无需使用图像分类任务的架构。

现在大多数SOD 网络设计都存在这样一个问题:即专注于利用现有的基础网络提取深度特征,例如 Alexnet、VGG、ResNet、ResNeXt、DenseNet 等。但这些主干网络最初都是为图像分类任务设计的。

它们提取代表语义含义的特征,而不是代表局部性细节或全局对照信息,这对于显著性目标检测至关重要,并且这些网络通常需要在 ImageNet 数据上进行预训练,效率比较低。相比之下,U∧2-Net可以有效地避免上述问题。

U∧2-Net架构

接下来详细介绍其中的块结构、网络监督策略以及训练损失。

ReSidual U-Block

在图像信息提取中,1×1或3×3的小型卷积滤波器是最常用的特征提取元件。因为它所需内存小且计算效率高。但该元件接收域太小,无法捕获全局信息,因此解决方法只能是采用扩张卷积(Dilated Convolution)的方法来扩大接收域。

然而在原始分辨率的特征图上进行多次扩张卷积(尤其是在初始阶段),会耗费大量的计算和内存资源。

为了降低计算成本,同时又能捕获全局信息,研究人员采用了金字塔池化模块(Pyramid Scene Parseing Network,PSPNet)。该模块在下采样特征映射上使用小核滤波器,而不是在原始尺寸的特征映射上使用扩张卷积的方法。

但通过直接上采样和级联将不同尺度的特征融合,可能会导致高分辨率特征的退化。因此,研究人员受到受U型网络结构的启发,提出了一种全新的ReSidual U-block:RSU,来捕获阶段内的多尺度特征。如图:

从测试数据来看,RSU计算开销确实相对较小。与PLN(普通卷积块)、RES(剩余块)、DSE(密集块)、INC(初始化块)相比,所耗费的GFLOPS浮点数最低。(GFLOPS ,全称Giga Floating-point Operations Per Second,即每秒10亿次的浮点运算数,常作为GPU性能参数)。

Supervision策略

在训练过程中,研究人员采用了类似于HED的深度监督。

其中,训练损失(Training Loss)定义为:

每个项L使用标准二进制交叉熵来计算损失:

在训练过程,等式(1)让总体损失最小化;在测试过程,选择融合输出的lfuse作为最终的显著性图。

比较实验:全尺寸最佳SOTA

在论文中,研究人员将U2模型与其他20多种现有最先进的模型进行了比较。

其中,各模型采用训练数据集是DUTS-TR,它含10553张图像,是目前用于目标检测的最大和最常用的数据集;采用的基准数据集分别为DUT-OMRON、DUTS-TE、HKU-IS、ECSSD、PASCAL-S、SOD六种。

先来看下定性比较的结果:

红色、绿色和蓝色分别表示最佳、第二和第三性能

从表3、表4来看,U2-Net在DUT-OMRON、HKU-IS以及ECSSD三个基准数据集上展现了极大先进性,五个评估指标都达到了最佳SOTA。

其中,在DUTS-TE上,U2-Net总体性能仅次于PoolNet;在PASCAL-S上,U2-Net性能仅略低于AFNet、CPD和PoolNet。此外,在边界质量评估指标(RelaxFbβ)方面,U2-Net性能位居第二。

在SOD数据集上, U2-Net在整体性能方面也仅此于PoolNet。更重要的是,U2-Net模型大小只有4.7 MB,是在显著性目标检测领域型号最小的,而且与其他型号相比,它的参数量也少的多。

定性比较结果:比较了七种SOTA模型,如图:

可以看出,U2-Net能够处理不同类型的目标,并均产生了精准的识别结果。

比如,第4行图像充分展示它在分割由大结构和薄结构组成的目标时的性能;在第六行复杂的图像结构下,产生了近乎完美的结果。

总之,U2-Net模型能够处理全尺寸和小尺寸图像的各种场景,与其他模型相比,能够产生更高精度的显著目标检测结果。

了解更多论文内容的可以戳这里:

  • https://arxiv.org/pdf/2005.09007.pdf

相关地址:

  • https://github.com/NathanUA/U-2-Net

  • https://github.com/yiranran/APDrawingGAN

  • https://webdocs.cs.ualberta.ca/~xuebin/

(0)

相关推荐