AI自助帮你换背景,超强实时人像扣图算法开源啦!

谈到人像抠图想必大家都不陌生。在影视剪辑、直播娱乐、线上教学、视频会议等场景中都有人像分割的身影,它可以帮助用户实时、精准地将人物和背景精准识别出来,实现更精细化的人物美颜、背景虚化替换、弹幕穿人等,进一步提升视觉应用体验。

      

高精度的实时人像抠图模型一直是学术和产业界研究的重点,为此PaddleSeg团队开源了多场景覆盖的PP-HumanSeg人像系列模型:

  • PP-HumanSeg提供了3个高精度的人像分割模型:

    有应用于服务端GPU部署的PP-HumanSegl模型,有适用于移动端的轻量PP-HumanSegm模型,还有能够在浏览器部署的超轻量模型PP-HumanSegs模型。

  • 提供了完善的服务端、移动端、Web端部署文档,尤其是Web端提供了产业级的实时人像分割解决方案。

近期“百度视频会议”也上线虚拟背景功能,支持用户在视频会议时进行人像背景切换。这个功能正是基于PP-HumanSeg提供的超轻量的PP-HumanSegs来实现。通过 Padddle.js实现了在Web端部署,直接利用浏览器的算力进行实时人像抠图,效果受到一致好评!

模型性能如此之好,是不是迫不及待地想知道如何实现的?

大规模数据合成和数据增强

在训练集里有各种比例的图片,有横屏的,有竖屏的。如果直接使用缩放变形等数据增强方式,会直接导致形变失真,反而不会提升精度。针对此类问题,采用维持图像纵横比缩放、Padding补齐等方式缩放图像达到原图比例。通过这些方式处理后图像不会失真,训练精度也得到了提升。

针对人像标注样本少的问题,使用标注信息和背景图合成的方式进行数据生成,数据量的扩充提升了模型的精度。

轻量级网络设计方式

对于移动端和网页端的人像分割,一个高效的轻量级网络必不可少,在这里为大家总结了一些轻量化关键设计方法。

关键一:深度可分离卷积

深度可分离卷积是一种卷积分解方式,将普通卷积分解为Depthwise Convolution和Pointwise Convolution,主要目的是减少计算量和参数量,此方式已被广泛应用在轻量级卷积网络中。

关键二:Channel Shuffle(通道洗牌)

在深度可分离卷积中用到的Depthwise Convolution会将所有的channel分组,每个channel分为一组,这就导致组与组之间无信息交换。Channel Shuffle通过对group convolution之后的特征图进行“重组”,可以保证接下了采用的group convolution输入来自不同的组,因此信息可以在不同组之间流转。

关键三:Skip-connection(跳跃连接)

对于分割任务,空间域信息非常重要。主流的分割网络均采用encoder-decoder结构。网络的encoder部分通过下采样层把特征图分辨率降得非常小,这一点不利于精确的分割mask生成,通过skip-connection跨层连接编码器和解码器,更利于生成精细的mask。Skip-connection直接复用encoder的特征,几乎不增加计算量,性价比非常之高!

关键四:上采样方法

Decoder的主要目的是将低分辨率信息的特征恢复到高分辨率。为了实现这个目的就需要上采样。常用的上采样方式有四类:转置卷积、反池化、插值、亚像素卷积。

当使用转置卷积进行上采样的时候,容易出现棋盘效应(左图肩膀处)。开发团队为平衡计算量、显存占用和效果,最终采用深度可分离卷积+双线性插值,在保持高效计算的同时解决了棋盘效应问题。

综合考虑上述四个关键,开发团队设计了Web端超轻量级模型PP-HumanSegs。

优化损失函数

解决类别不均衡

人像在整张图片中所占的比例往往较小,存在前景背景类别占比不均衡的问题。常用的Cross Entropy Loss会公平处理正负样本,当出现正样本占比较小时,就会被更多的负样本淹没。通过改变损失函数,使用Lovasz loss来降低正负样本不均衡的问题。

光流后处理优化

视频分割存在一个问题:视频帧间不连贯,边缘部分闪烁严重,为此研发团队利用时序信息结合光流法,对分割结果进行优化。采用光流解决方法,将光流预测结果与分割结果进行融合,这样就可以参考上一帧的运动信息,使得前后帧变换相对更加稳定,减少边缘的闪烁。

             原图(左)     未加光流效果(中)     加光流效果(右)   


心动不如行动,大家可以直接前往Github地址获得完整开源项目代码,记得Star收藏支持一下哦:

https://github.com/PaddlePaddle/PaddleSeg

也可以扫码加入微信交流群,与官方开发团队直接交流:

如有飞桨相关技术问题,欢迎在飞桨论坛中提问交流:

http://discuss.paddlepaddle.org.cn/

欢迎加入官方QQ群获取最新活动资讯:793866180。

如果您想详细了解更多飞桨的相关内容,请参阅以下文档。

·飞桨官网地址·

https://www.paddlepaddle.org.cn/

·飞桨开源框架项目地址·

GitHub: https://github.com/PaddlePaddle/Paddle 

Gitee: https://gitee.com/paddlepaddle/Paddle

????长按上方二维码立即star!????

飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体,是中国首个自主研发、功能丰富、开源开放的产业级深度学习平台。飞桨企业版针对企业级需求增强了相应特性,包含零门槛AI开发平台EasyDL和全功能AI开发平台BML。EasyDL主要面向中小企业,提供零门槛、预置丰富网络和模型、便捷高效的开发平台;BML是为大型企业提供的功能全面、可灵活定制和被深度集成的开发平台。

END

本文封面照片来自Ales Nesetril on Unsplash

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42147.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Claude不能用了?我来帮你

前几天,我在《不需要等待列表,也不用魔法上网的Claude,能否比肩ChatGPT?》一文中,介绍了ChatGPT的同门师兄Claude的注册使用教程。许多同学按照我的教程,很快就无痛使用上了类似ChatGPT的服务。 403 Forbid…

零门槛复现ChatGPT:预训练模型数据集直接用,包含完整RLHF流程,在线可体验

这边ChatGPT、GPT-4等AI大模型和应用打得火热; 另一边“平替”开源复现方案也加紧更新迭代。 这不,“首个开源ChatGPT低成本复现流程”就来了波大更新! 现在,仅需不到百亿参数,利用RLHF简单微调,模型即可…

常用AI网站精简版

一、聊天、绘图、生产力 1.ChatGPT:(需国外) ChatGPThttps://chat.openai.com/ 2.Discord社区:((需国外,收费)AI绘图midjourney) Discord | Midjourney AI生图https://discord.com/channels/@me

利用 tesseract 自动识别图片中的文字

一、tesseract 下载 tesseract 下载地址:Index of /tesseract 我用的是 4.0 版本,对应的如图中下载链接 下载后双击安装,一路 next,一定要记住自己的安装路径。 二、添加环境变量 接下来配置环境变量: 电脑 -->…

使用百度文字识别API进行图片中文字的识别

今天,为了满足我女朋友作业的需求,我使用Python制作了一个图片转文字的小应用。 (当然,下面导入模块的问题我就不多说了,是非常简单的) 一. 申请百度通用文字识别接口。 1.先在百度AI开放平台注册账号&…

图片怎么识别文字?这几个方法很实用

在工作中,我们有时会需要将一些纸质资料存储为电子文档,毕竟纸质文档很容易因为环境的原因而损毁,比如天气比较潮湿时就很容易受潮,导致资料内容被破坏,因此我们额外另存一份电子文档还是很有必要。那要怎么快速将纸质…

使用tesseract识别图片中的文字

1.下载tesseract,并将其加入环境变量 下载地址:https://digi.bib.uni-mannheim.de/tesseract/ 这里我下载的最新版本,保存到D:\Tesseract 然后我们来设置环境变量: 右击“此电脑”——选择“属性”——找到“高级系统设置”——在…

从图片提取文字的终极解决方法 ——【通用文字识别 API】

写在前面 相信你用过类似对进行图片中的文字提取的功能,但是你了解过背后的原理吗? 本文将从图片中文字提取的原理以及应用案例等多方面进行讲述,希望一文能为你讲透通用文字识别。 通用文字识别是什么技术 随着信息化和数字化的发展&…

Python + Tesseract-OCR识别图片文字

考试答题偶然一次需要提取图片中的文字,所以搜索了一下解决方法 测试代码如下: from PIL import Image import pytesseracttextpytesseract.image_to_string(Image.open(../Demo/Chinese.png),langchi_sim) print(text)1.第一步首先的话需安装pytesser…

【文字识别】OCR截图文字识别提取(无需安装)拖拽图片,打开图片,图片PDF转文字的好帮手

软件无需安装,双击打开就能用,适用于Windows 7以上平台; 具有截图文字识别,拖拽文字识别,打开文字识别,翻译文字等功能 可用于图片和PDF中文字的识别提取中,电脑一切看得见的文件都可以识别&a…

图片文字识别

目录 第一章 系统描述 3 1.1系统概述 3 1.2系统的物理组成 4 第二章 需求分析模型 4 2.1 E-R图 4 2.2 数据流图 5 2.3 状态转换图 6 第三章 软件模块结构图 6 第四章 面向对象的视图 7 4.1 用例图 7 4.2 活动图 8 五、关键技术及实现 9 5.1 图像预处理 9 5.1.1 开发工具 9 5.1.…

tesseract-ocr .NET 识别图片中文字

github:http://​https://github.com/charlesw/tesseract​ 例子: https://github.com/charlesw/tesseract-samples 语言数据文件github:https://github.com/tesseract-ocr/tessdata 语言数据文件下载:https://github.com/tess…

不懂怎么识别图片中的文字?在线教你识别文字方法

我们在学习和工作中经常会遇到许多电子版、纸质版的资料和文件,但当我们需要复制这些资料的文本内容时,如果不借助识别软件,是很难快速地将它们复制粘贴出来。今天,我就来告诉大家几个简单的方法,教大家怎么识别图片中…

实现一个文字识别(图片转文字)工具

00 前言 最近做ppt,看到有些图片中的文字内容很好,一张一张地码字很累还很费时间。就想着有空做一个文字识别的小工具,方便办公流程。在网上查了一下资料,百度智能云提供了文字识别的接口,可以直接调用,挺方…

Android上图片文字识别

前言 OCR 是 Optical Character Recognition 的缩写,翻译为光学字符识别,指的是针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,通过识别软件将图像中的文字转换成文本格式,供文字处理软…

图片转文字,实用的图片文字识别工具

我们在平时的工作和学习生活中,一旦碰到一些需要拷贝下来的图片上的文字,通常我们的做法就是手动抄录文字,或者对照图片在电脑上敲打这些文字。 其实,现在已经有很多图片文字识别软件,我们可以直接利用工具来帮助我们…

如何识别图片中的文字?三种方法轻松搞定

在我们日常办公中,常常需要将纸质文件的文字提取出来,转为电子档,如果字比较少的情况,还可以手打。但是如果字比较多的话,就有些累了,还可能耽误后面的工作,是不是有小伙伴和我一样有这种困扰呢…

tesseract-ocr识别英文和中文图片文字以及扫描图片实例讲解

tesseract-ocr识别英文和中文图片文字以及扫描图片实例讲解 本文参考http://blog.sina.com.cn/s/blog_4aa166780101cji7.html实现,在这里感谢该文章的作者。 OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取…

识别图片中文字的三种方法/图片转文字

一、钉钉 钉钉内置了很多小功能。打开手机钉钉,点击左下角的消息按钮,然后点击右上角的号-扫一扫,点击拍图识字选中需要识别的文字即可。 二、QQ 打开手机QQ,点击右上角的+号-扫一扫之后,点击转文字把图片…

【老保姆教程】:Tesseract-OCR图片文字识别

文章目录 🌟介绍一波🌟小安装🌟配置环境变量⭐️tesseract-ocr配置⭐️tessdata语言配置⭐️检测环境变量是否安装成功 🌟语言包的配置使用🌟CMD命令框中进行图片识别操作⭐️举例一:识别数字⭐️举例二&am…