将照片中的人或物从背景中分离出来,俗称抠图。要实现完美的抠图,没有一定的PS(Photoshop)基础是根本无法实现的,不过现在有个名为Remove.bg的网站,号称5秒钟就可以完成复杂的抠图,彻底将抠图难度降到了零门槛!这个工具到底是怎么实现极速抠图的呢?让我们一探其背后的技术内幕。

抠图曾经是技术活

平时我们拍摄的图片,前景的人或物往往是和作为背景的风景紧密结合在一起的,要想实现精准抠图并不容易,需要经过一系列精细的操作(图1)。

图1 抠图步骤图解

我们以通道抠头发丝操作为例。首先需要找出对象最清晰的通道,接着复制通道,再对通道的色阶进行调整,然后使用画笔工具涂抹人物以及需要的头发部分,最后进行反向选择、图层复制等操作才能完成一次抠图操作(图2)。过程中,因为头发丝比较细小而且混乱,光是涂抹选取就需要花费大量的时间。

图2 通道抠图操作

除了上面的介绍外,如果抠取复杂背景的图片,还可能需要多种工具结合在一起使用,这就必须了解蒙版、通道、快速选择、图层模式等等知识。正是因为抠图的专业性很强,因此对于普通人来说要想熟练掌握抠图技巧,就得反复不断的练习,这绝对是件技术活。

极速抠图让普通人变身PS大神

大部分人并没有时间花费在抠图学习上,所以各种抠图工具应运而生,其中比较引人注目的是新近出现的Remove.bg网站,他们声称可以将这个复杂的技术活零门槛化。在网站的演示中可以看到,即使是类似头发丝的高难度抠图操作,通过网站的处理也可以轻松完成(图3)。

图3 网站抠图演示

Remove.bg的极速抠图,其实是借助具有深度学习功能的Python工具来实现的。Python是一种程序开发语言,经常被设计用于编写自动化脚本(Shell),通过一系列的脚本代码实现很多自动操作,抠图便是它在图像领域中的一个典型应用(图4)。

图4 Python语言

在Python抠图处理的脚本中,脚本代码首先选定要抽取对象的区域,通过一定的算法将图像识别为区域内(前景)和区域外(背景)两部分。接着基于选定区域,其中的Grabcut算法会对图像背景和前景进行分割,同时循环处理前景内容,将其中的前景提取出来并将背景内容删除,从而实现抠图(图5)。

当然仅仅依靠脚本无法完全实现对任意图像背景和前景进行分割,为了能够让脚本有着更高效和精准的处理功能。Remove.bg将Python自动处理脚本和深度机器学习结合起来,为了让脚本可以精准识别出前景物件,开发者预先借助一些机器学习库和Python框架来制定一些算法,如Scikit和Tensorflow机器学习算法。这些算法可以自动检测输入中的模式,这样开发者先将一些图片给算法学习,输入很多前后景混合的人物照片让机器学习。以输入斑马在草原上的照片为例,算法可以将照片中的老虎和草原环境识别出来(图6)。

图6 机器算法

为了让算法拥有更高的识别能力,开发者还准备了很多类似的斑马图片,比如斑马在动物园中、笼子里、树丛中的各种图片供机器学习。利用深度学习和神经网络,通过海量图片的学习和自我纠错,使得机器算法最终对各种照片中的前景后景能精准识别出来。

最后开发者将这套算法生成的模型部署在Remove.bg服务器端,用户只要通过网站上传图片,网站后台的算法就可以实现对照片前景后景的准确识别并实现抠图,用户只需稍等片刻,然后下载处理好的抠图就可以了(图7)。

图7 Remove.bg抠图流程图解

Python不仅仅会抠图

如上所述,借助Remove.bg网站,普通人通过部署在网站的算法服务就可以实现快速抠图,这样大大降低抠图的技术难度。比如想在朋友圈满足下自己在全球各地的旅游美图,那么只要自拍一张人物照,然后上传抠图,并将抠图贴在国外旅游景点上就OK了。当然也可以进行各种恶搞特效制作。

其实不仅仅是抠图,Python的自动处理脚本还可以应用到更多的领域。比如可以借助脚本对照片中人物脸部的识别,结合人脸识别技术快速在众多的监控照片中提取犯罪嫌疑人照片。再比如将其应用到网站购物上,通过自动识别将各大购物网站同类商品全部提取出来供我们选择、参考,我们的生活将因此而越来越便利。

com技术内幕 代码_CFan科学院:零门槛极速抠图技术探秘相关推荐

  1. 【制作数字人】零门槛通过三维重建技术生成个人三维模型

    依托各项技术的发展,数字人技术开始拔地而起.我们发现,各大一线互联网企业.三大运营商,还有不少创业型公司都纷纷入局数字人. 难道元宇宙的入门票是数字人?等不及了,马上接触下这门技术.经简单了解,现在做 ...

  2. 国防科技大学计算机科学与技术专业代码,2021年国防科技大学计算机科学与技术(081200)硕士研究生招生信息_考研招生计划和招生人数 - 学途吧...

    不限 (学硕)(0101)哲学 (学硕)(0201)理论经济学 (学硕)(0202)应用经济学 (专硕)(0251)金融硕士 (专硕)(0252)应用统计硕士 (专硕)(0253)税务硕士 (专硕)( ...

  3. mysql技术内幕 innodb存储引擎 第2版_MySQL技术内幕:InnoDB存储引擎(第2版)

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

  4. 深入分析Java Web技术内幕pdf

    下载地址:网盘下载 内容简介  · · · · · · <深入分析Java Web技术内幕(修订版)>新增了淘宝在无线端的应用实践,包括:CDN 动态加速.多终端化改造. 多终端Sessi ...

  5. 《COM技术内幕》笔记(1)

    <COM技术内幕>笔记(1) <COM技术内幕>笔记(1) 第1章 组件 1.COM,即组件对象模型,是关于如何建立组件以及如何通过组件建构应用程序的一个规范. 2.组件的优点 ...

  6. 深入分析JavaWeb技术内幕(修订版)

    网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击"普通下载" ...

  7. 计算机科学与技术专业代码是080901还是081200?

    1 背景介绍 计算机科学与技术专业代码是080901还是081200?这个问题不仔细查还真不知道.即使是读了计算机专业很多年的同学,可能也不知道,只是在找工作的时候,一些单位会对专业代码有要求,才会去 ...

  8. 火山引擎工具技术分享:用 AI 完成数据挖掘,零门槛完成 SQL 撰写

    动手点关注 干货不迷路 在使用 BI 工具的时候,经常遇到的问题是:"不会 SQL 怎么生产加工数据.不会算法可不可以做挖掘分析?" 而专业算法团队在做数据挖掘时,数据分析及可视化 ...

  9. Excel催化剂开源第42波-与金融大数据TuShare对接实现零门槛零代码获取数据

    在金融大数据功能中,使用了TuShare的数据接口,其所有接口都采用WebAPI的方式提供,本来还在纠结着应该搬那些数据接口给用户使用,后来发现,所有数据接口都有其通用性,结合Excel灵活友好的输入 ...

最新文章

  1. C# Sato CL4NX打印机发送SBPL指令打印表面信息、RFID芯片数据写入
  2. MYSQL语法:左连接、右连接、内连接、全外连接
  3. 7、Flask实战第7天:Jinjia2模板
  4. android file isdirectory,android – 为什么我不能在Environment.DIRECTORY_PICTURES中创建一个目录?...
  5. Python使用递归法和函数式编程计算整数各位之和
  6. 马哥教育20-2期27号学员的7.27上课笔记
  7. 宝岛探险1(DFS)
  8. YBT 2.4 AC自动机
  9. SVN:SVN分支管理
  10. 【Java面试系列】Java微服务面试题
  11. python的web框架flask_PythonWEB框架之Flask
  12. Python爬取中国票房网所有电影片名和演员名字,爬取齐鲁网大陆所有电视剧名称...
  13. java根据内容生成二维码并保存到本地
  14. neo4j的搭建和实例使用
  15. 1127 - 咸鱼文章
  16. 一一数落2006几大“恶心”事件
  17. HTTPS网站优化问题
  18. S3 口腔CT设计-任务图
  19. 人工智能程序——猴子摘香蕉(C语言)
  20. MT4-MQL4语言EA自动交易编程入门到精通

热门文章

  1. 【渝粤教育】广东开放大学 标准化理论与方法 形成性考核 (50)
  2. 【渝粤题库】广东开放大学 静态网页技术 形成性考核
  3. 【渝粤题库】国家开放大学2021春2608中级财务会计(二)题目
  4. 【渝粤题库】陕西师范大学180103市场营销学Ⅰ作业(高起专)
  5. win8系统的计算机共享在哪里设置方法,win10系统设置与win8系统局域网文件共享的方案...
  6. 2020-12-19通信电子线路第一章
  7. python 生意_本周互联网关注(2015515):劳动人民的生意经、python好还是go好
  8. 怎么配置在谷歌和ie内核时使用不同的_重磅!微软竟然研发了谷歌内核的edge
  9. php常驻对象,php对象
  10. Java常用类(1)--字符串相关类String、StringBuffer、StringBuilder全面知识