转自 :机器之心

有些时候,我们需要把一些人身上的纹身覆盖掉,以避免引人效仿。有的时候人们只是单纯地好奇,想知道一些大明星如果没有纹身会是什么样子。来自印度的机器学习研究者 Vijish Madhavan 最近开源的一个机器学习工具 SkinDeep 满足了我们的需求。

网友们也使用这一工具去处理了一些画了重度纹身的人物照片,效果还不错。

该项目的作者 Vijish Madhavan 在看完加拿大歌手贾斯汀 · 比伯的 MV《Anyone》后,萌生了做这个项目的计划。贾斯汀 · 比伯在化妆师的帮助下花了好几个小时的时间才把他的一身纹身覆盖掉。

MV 视频的效果非常完美,因为制作视频输出是非常困难的,因此项目作者选择图像来处理。该项目的起点是深度学习能否胜任这项工作,与 photoshop 相比又如何?

项目地址:

https://github.com/vijishmadhavan/SkinDeep

有人会问,为什么不把纹身直接 PS 掉?Photoshop 可以产生非常好的效果,但问题是使用 Photoshop 需要专业知识,如果用 PS 处理纹身的话,你可能需要花费几个小时的时间去修饰整个图像。

我们先来看一下效果如何?美国篮球运动员阿伦 · 艾弗森(Allen Iverson)的纹身就是用这个模型去掉的。

下图中第一行为输入图像,第二行为输出图像,输出结果明显感觉到纹身被去除了。

脸部有大量密集纹身的图像,还有其他装饰,AI 的纹身去除效果也非常好:

与专业图像处理软件 photoshop 相比,效果也不错:

看起来 SkinDeep 的效果还不错,但如果纹身是彩色的,还会有一些残留的痕迹。

项目介绍

根据作者介绍,完成这个项目需要大量的图像对,因为没有合适的数据集,很多时候训练内容采用合成数据来完成,具体来说:

  • 首先将 APDrawing 数据集图像对与一些背景去掉纹身设计的图像叠加在一起,使用 Python OpenCV 实现;

  • 绘制数据集有线条艺术对,可以模拟纹身线条,这将有助于模型学习和删除这些线条;

  • APDrawing 数据集只有头像,对于全身图像,项目作者采用了以前的项目 ArtLine,并将输出与输入图像叠加在一起;

  • ImageDraw.Draw 与森林绿色(forest green colour)色码一起使用,并随机放置在身体图像上,类似于 fast.ai 中的 Crappify ;

  • Photoshop 也被用来在需要弯曲和角度改变的对象上放置纹身。

这一项目是由 Fast.AI 库构建的,你需要安装 fastai 1.0.61 版(及其依赖库),以及 PyTorch 1.6.0,不支持更高的版本。

尝试这一项目的最快方法就是在 Colab 上:

  • https://colab.research.google.com/github/vijishmadhavan/SkinDeep/blob/master/SkinDeep.ipynb

它的输出限制为 500 像素。

限制

去纹身的机器学习模型虽然看起来并不复杂,但在现实世界千奇百怪的情况下,有时仍然会出现一些「贴图错误」的情况。该项目的构建者表示,由于缺乏数据集支持,所以用于训练的数据集容量有限。另外,如果有人纹了彩色纹身,恐怕人工智能目前还是认不出来的。

如果这个效果被做成网站,或者成为美颜 app 的一个滤镜,那就太好了。最后,SkinDeep 能不能反过来给人加纹身呢?「试穿」的效果或许会火起来。

开源前哨 日常分享热门、有趣和实用的开源项目。参与维护 10万+ Star 的开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

这个开源 AI 项目可以“一键去纹身”,AI:我不要面子了么?相关推荐

  1. AI一键去纹身,几秒钟让你看见明星「真面目」

    来源:机器之心本文约1200字,建议阅读5分钟本文为你介绍利用深度学习去纹身的应用技术. 深度学习去纹身的应用,看起来有不小的应用潜力. 有些时候,我们需要把一些人身上的纹身覆盖掉,以避免引人效仿.有 ...

  2. AI一键去纹身,让你看见明星「真面目」

    本文转载自不正经程序员 有些时候,我们需要把一些人身上的纹身覆盖掉,以避免引人效仿.有的时候人们只是单纯地好奇,想知道一些大明星如果没有纹身会是什么样子.来自印度的机器学习研究者 Vijish Mad ...

  3. “千言”开源数据集项目全面升级:数据驱动AI技术进步

    "千言"是由百度联合中国计算机学会.中国中文信息学会共同发起的面向自然语言处理的开源数据集项目,旨在推动中文信息处理技术的进步.近日,在2021年12月12日的 WAVE SUMM ...

  4. ai项目实施步骤_停止AI产品开发中道德责任的6个步骤

    ai项目实施步骤 这是官方的:人工智能(AI)并不是我们想要成为的公正的天才. Google的母公司Alphabet(Alphabet)使用其最新的年度报告来警告称,对其产品的道德顾虑可能会损害未来的 ...

  5. 做AI项目,找有三AI,200+研发人员为你服务

    有三AI研发团队介绍 有三AI社区从2019年算起已经三年了,我们社区积累了大量算法人员,精心打造了由200余名专业人员组成的研发团队,一个专注于解决个人AI项目需求的专业社群. 有三AI研发团队成员 ...

  6. GitHub上能让你重拾学习热情的AI项目:权游预测/AI作画/与AlphaZero对弈

    你是否觉得入门AI一段时间,更多是跟公式,代码打交道,感到枯燥?快要失去学习动力了?今天带你了解GitHub上都有哪些好玩有价值的项目,一起重拾学习热情吧! <权力的游戏>预测 4月15号 ...

  7. 基于 openGauss 的五子棋 AI 项目,openGauss 设计一个 AI 小 demo

    目录 1 前言 2 方案意义 3 架构设计 4 数据表设计 5 代码结构 6 项目演示 7 总结 1 前言 openGauss 是一款全面友好开放的企业级开源关系型数据库.openGauss 采用木兰 ...

  8. 【重要】做AI项目,找有三AI,100+研发人员为你服务

    有三AI已经正式成立研发组,并且按照公司的标准流程进行规范化管理,本次就我们的研发组团队现状,可接受业务以及具体流程给大家做统一介绍. 什么是研发组 研发组是有三AI社区两大组之一,主要负责项目研发, ...

  9. 【华为云技术分享】深度理解AI概念、算法及如何进行AI项目开发

    莫衷一是的AI 做了多年的业务工作,一直希望能够用机器代替人力,把人从繁琐的具体工作中解放出来,从技术发展看AI或许可以支撑实现这个愿景. 但最近关于AI的讨论和争论比较多,学术上,纽约大学的Gary ...

最新文章

  1. 大数据工具篇之flume1.4-安装部署指南
  2. composer 更新版本
  3. [IOI2014]Wall
  4. crt mysql中文乱码_CRT 和mysql 中文乱码解决方式
  5. lisp将图元追加选择_汕尾幸运儿喜爱大乐透 两次买彩票就擒获8注追加二等奖254万元...
  6. 三电平igbt死区时间计算_基于大功率三电平IGBT模块并联的参考设计
  7. 前台传String日期格式后台用Date类型接收
  8. 洛谷入门题P1008、P1035、P1423、P1424、P1980题解(Java语言描述)
  9. 正则表达式 Tricks
  10. javaEmail发邮件是问号乱码,已解决
  11. 曼秀雷敦搜索引擎营销方案_搜索引擎营销——被严重低估的互联网营销途径
  12. Allegro导出STP文件
  13. 各种音频视频编解码详细介绍
  14. 【归纳】对于S3C2440A芯片的认知和使用理论再学习
  15. 互联网进化论在中国科技论文在线正式发表
  16. DataWhale基于逻辑回归的分类预测模型
  17. openwrt nas_树莓派安装 OpenWrt 打造超级路由器
  18. 查看mysql数据库所占内存,以及每个表所占内存
  19. 【错误记录】使用./make.sh ./make.sh install命令安装FastDFS时出错
  20. Multisim 实验 2.0.1 逻辑门电路 PPT

热门文章

  1. Python大数据教程:科学计算库NumPy案例之酒鬼漫步
  2. iostat linux,centos安装iostat命令的方法详解
  3. 串口参数详解:波特率,数据位,停止位,奇偶校验位
  4. 阿迪达斯健身跟踪器:具备音乐播放列表和跑步路线推荐功能
  5. 本博客导读(2021/08/09更新)
  6. 老师讲的真棒!Android-性能优化最佳实践
  7. mysql 存储 longtext 与 longblob数据类型的区别
  8. idea配置文件位置修改
  9. VirtualBox配置时出现:硬件加速配置页中已启用硬件虚拟化,但主机并不支持。需要禁用硬件虚拟化才能启动虚拟机。
  10. iOS实践:OpenCV、Tesseract OCR结合 识别图片中文字