来源 | Jack Cui

头图 | CSDN下载自视觉中国

今年提出的 U^2-Net 显著性检测算法,刷爆了 reddit 和 twitter,号称是 2020 年「地表最强」的静态背景分割算法,可以看下效果:

你以为今天要讲分割?错!

U^2-Net 这两天又出新活,在 U^2-Net 网络架构基础上,实现了人物肖像画的生成,细节「完美」复刻。

我用自己的「歪脖子照」测试了下效果。

万年不变老规矩,继续手把手教学。

算法原理、环境搭建、效果实现,一条龙服务,尽在下文!

U^2-Net

受 U-Net 网络的启发,U^2-Net 也是一种类似编码-解码(Encoder-Decoder)的网络结构。

研究者在此基础上,提出了新型残差 U-block(ReSidual U-block, RSU),融合不同尺寸接受野的特征,以捕获更多不同尺度的上下文信息。

RSU 网络与现有卷积块的结构对比如下:

最右边的结构,就是 RSU-L,L 表示编码器中的层数,C_in、C_out 分别表示输入和输出通道,M 表示 RSU 内层通道数。

具体而言,RSU 主要有三个组成部件,分别是一个输入卷积层、一个高度为 L 的类 U-Net 对称编码器 - 解码器结构以及一个通过求和来融合局部和多尺度特征的残差连接。

为了更好地理解设计理念,研究者在下图中对 RSU 与原始残差块进行了比较。

结果显示,RSU 与原始残差块的最大区别在于 RSU 通过一个类 U-Net 的结构替换普通单流卷积,并且通过一个由权重层转换的局部特征替换原始特征。

更值得注意的是,得益于 U 形结构,RSU 的计算开销相对较少,因为大多数运算在下采样特征图中应用。下图展示了 RSU 与其他特征提取模块的计算成本曲线图:

U^2-Net 的整体网络架构如下:

U^2-Net 主要由三部分组成:

  • 6 阶段编码器;

  • 5 阶段解码器;

  • 与解码器阶段和最后编码器阶段相连接的显著图融合模块。

说完网络结构,再看下损失函数,研究者使用了类似于整体嵌套边缘检测(HED)的深度监督算法:

其中,M=6, 为 U^2-Net 的 Sup1, Sup2, ..., Sup6 stage。

为 Sup1, Sup2, ..., Sup6 输出的显著图,的损失函数;

为最终融合输出的显著图,的损失函数;为每个损失函数的权重。

对于每个 l ,采用标准的二值交叉熵损失函数:

其中,(r, c) 为像素坐标;(H, W) 为图像尺寸,height 和 width。

分别表示 GT 像素值和预测的显著概率图。

总的来说,U^2-Net 的设计构建了具有丰富多尺度特征以及较低计算和内存成本的深度架构。

更详细的内容,可以直接看 paper:

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

效果测试

Github 项目地址:

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

第一步:搭建测试环境。

很简单,没啥特殊的库,安装好 Pytorch、Numpy、Skimage 等基础第三方库即可。

第二步:下载训练好的模型权重文件。

我将程序和权重文件都进行了打包,嫌麻烦,可以下载直接使用。

第三步:在工程目录,运行程序。

python u2net_portrait_test.pybr

在 u2net_portrait_test.py 可以查看输入图片路径和输出图片路径:

最后再看下运行效果:

更多精彩推荐
☞我给 Apache 顶级项目提了个 Bug
☞开源代码却无奈遗弃,濒临奔溃的开源开发者们!
☞虾米回应“关闭”消息:不予置评;明年 Win 10 或将原生运行安卓应用;Perl 项目治理新规| 极客头条
☞文本分类六十年
☞AIops | 一文了解日志异常检测
☞闪电贷攻击又背锅? “幕后元凶”竟是它!
点分享点点赞点在看

GitHub 标星 2.5K+,U^2-Net 跨界肖像画,完美复刻人物细节!相关推荐

  1. U^2-Net跨界肖像画,完美复刻人物细节,GitHub标星2.5K+

    来源 | Jack Cui 头图 | CSDN下载自视觉中国 今年提出的 U^2-Net 显著性检测算法,刷爆了 reddit 和 twitter,号称是 2020 年「地表最强」的静态背景分割算法, ...

  2. 常见算法的python实现(Github标星75.5k+)

    我找到一个github标星75.5k+star的仓库,把各种常见算法用python实现了,而且还有动图演示,非常值得推荐.(黄海广) 仓库说明 这个仓库用python语言实现了绝大部分算法,主要是用于 ...

  3. Github 标星 11.5K!这可能是最好的 Java 博客系统

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:github.com/halo-dev/halo 简介 快速 ...

  4. GIF 斗图警告!GitHub 标星 5.5k+,Sorry 会编程就是可以 为所欲为!

    作为一个瞎扯淡重度患者,表情包是我保持长久战斗力的必备武器.没有表情包的聊天,是没有灵魂的. 人力有穷时,表情亦有尽,再多的图也有用腻的时候.作为一个能用图坚决不打字的资深患者,当没有表情包能表达出我 ...

  5. 手机上的机器学习资源!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>.CS229数学基础等,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成 ...

  6. 注册不到两年半Github标星39k+,吴恩达、李航老师的作品的笔记和代码实现

    2017 年 11 月,我注册了 github,现在差不多两年半了,一共收获了约 39000star,排名个人用户81.今天,我就对我的 github 做下介绍,里面的几个仓库,非常适合机器学习和深度 ...

  7. 新建网站了!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现,可以在线阅读了!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成了网页版,可以在线阅读 ...

  8. 高颜值 Markdown 编辑器(GitHub 标星 17.5 K)

    导语:大家好,我是朋哥,十年码农经验,对技术情有独钟. Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. Markdown 在文字 ...

  9. 【干货】Github标星1.2K,Visual Transformer 最全最新资源,包含期刊、顶会论文

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨梁定康 编辑丨极市平台 导读 给大家分享一个超全面的visua ...

最新文章

  1. 浅谈深度学习混合精度训练
  2. windows installer清理实用工具
  3. MVC中HtmlHelper用法大全
  4. Failure while trying to resolve exception [org.springframework.http.converter.HttpMessageNotWritabl
  5. (chap1 web网络基础) HTTP协议相关的各个协议(1)
  6. 批量更改文件编码格式 utf8到gb2312
  7. python练习,随机数字 函数,循环,if,格式化输出
  8. 阿里云块存储、对象存储(OSS)、文件存储(NAS)的区别?
  9. BZOJ 2728 HNOI2012 与非 高斯消元
  10. pcl画圆球_PCL 可视化-阿里云开发者社区
  11. 第八章 拦截器机制——《跟我学Shiro》[张开涛]
  12. Java 原生 PCM 格式文件转 WAV
  13. 毕向东java基础,B站直达,目录,b站浏览目录太难受,在这做一个
  14. Job和CronJob介绍
  15. 手机号码/身份证号码中间几位的隐藏
  16. 在abap中的SQL嵌套
  17. 网络其他计算机无法访问,win7局域网别人无法访问我的电脑是为什么_win7其他电脑无法访问我的电脑如何修复-win7之家...
  18. 电脑上微信公众平台进不去
  19. 使用babel转换高版本的js 更好的兼容一些设备
  20. 安川与欧姆龙Plc通讯设置方法

热门文章

  1. 估值380亿美元!这家微软、谷歌、亚马逊都投资的AI初创公司什么来头?
  2. 270亿参数、刷榜CLUE,阿里达摩院发布最大中文预训练语言模型PLUG(开放测试)...
  3. 代码实践 | CVPR2020——AdderNet(加法网络)迁移到检测网络(代码分享)
  4. 迁移学习与跨域推荐,以及解决跨域推荐的方法
  5. 经历小升初择校,我明白了几个道理
  6. 【转】人脸识别功能的用户体验设计优化
  7. 应用层下的人脸识别(一):图像获取
  8. 一句话总结LLE(流形学习)
  9. 科普丨浅谈人工神经网络跌宕起伏七十年
  10. 全美人工智能研究生院排名出炉:CMU第一,MIT第二