昇腾社区首页
中文
注册
昇腾社区
昇腾AI市场
主页
解决方案
原生大模型
软件服务
ModelZoo
应用案例
Powered by Ascend
文档HOT
支持
应用案例
人像分割与背景替换
人像分割与背景替换
图像处理PythonAscendCL

662次浏览

暂无评分
我要评分
人像分割及背景替换技术一向是学术界以及工业界中研究的热点话题,在娱乐平台的视频直播、在线教育、远程视频会议方面具有广泛的应用。除此之外,人像分割技术还在VR领域有诸多应用,在便利数据采集、提升用户体验,多样化商业模式等方面能够发挥巨大的作用。本项目属于人像分割与背景替换应用,旨在Atlas 200 DK上实现实时对摄像头拍摄的视频进行人像分割与背景替换的系统。该系统能够使用摄像头捕获视频/图像,实时检测人像区域并对背景进行替换。该系统与用户交互的部分包括从摄像头图像采集、模型推理到输出结果的完整流程。
获取样例

项目意义

目前工业界通用的人像分割主要采用绿屏技术,需要专门的绿屏设备及环境,不利于普通用户的广泛使用。传统的人像分割使用背景减除法,严重依赖人像和背景的色差。在颜色相近的区域会产生不稳定的分割结果。并且具有对环境的高度依赖性。而基于简单神经网络的人像分割方法具有较低的精度,会在分割时产生人像关键部位的缺失,不完整。复杂的神经网络方法由于其较高的复杂度通常难以满足实时高效的需求。

本项目基于速度快、精度高的Atlas 200 DK,实现了借助摄像头对人像视频进行实时检测和分割,并对其背景进行替换,满足了在实际场景下用摄像头进行人像视频的拍摄、实时分割和背景替换的需求。

概述

该项目使用Atlas 200 DK外接摄像头捕获人像图片,经过PortraitNet网络输出与输入相同大小的逐像素分割结果,对每个像素点分别进行预测,判断其为背景还是人像,而从通过对人像的分割达到背景替换或虚化的目的。

模型设计

PortraitNet主要分为两个模块:encoder模型与decoder模块,网络结构如图1所示。encoder部分对输入的三通道图像进行特征提取,decoder部分对特征图进行上采样得到与输入图像相同大小的分割结果。


图1 PortraitNet网络模型结构图

Encoder部分

在encoder部分,主要利用深度可��离��积来降低网络的参数量,提高网络的运行速度。为了减少特征提取部分的运行时间,我们只使用了10层卷积层来进行特征提取,最大下采样倍数为16倍。为了充分利用模型的特征提取能力,在使用较少卷积层的情况下提高分割准确率结果,考虑将不同分辨率的特征图在channel维度进行拼接进行后续的decoder操作。由于在encoder部分分别进行了2倍、4倍、8倍、16倍的下采样,以下采样8倍的特征图的尺寸为基准,将下采样4倍、8倍、16倍的特征进行channel维度的拼接,由于不同下采样倍数的特征图分辨率大小不同,在channel维度上拼接时需要对下采样4倍的特征图进行核为2×2的max pool操作,对下采样16倍的特征图进行2倍的上采样操作,用反卷积层实现,这样可以将特征图的尺寸对齐为下采样8倍的特征图的尺寸,因为可以在channel维度上进行特征图拼接,拼接后的特征图channel数为896,在该融合后的特征图后使用1×1的卷积将通道数从896降低为128,降低模型的复杂度。

Decoder部分

Decoder部分相对较为简单,主要涉及两个操作,一个是对特征图进行上采样的反卷积层,每次扩大倍数为2倍,由于encoder部分下采样倍数为8倍,故共需三层反卷积层将特征图上采样为与输入图像相同的尺寸。在反卷积层之间,添加Residual block来进行过渡,采用Residual block的出发点是希望能更好的保存图像的边缘信息。其中Residual Block的结构如图2所示。


图2 Residual Block结构图


关于昇腾

昇腾计算产业概述

新闻与活动

新闻资讯昇腾活动

交流与资讯

昇腾论坛技术干货

支持与服务

文档技术工单

开源社区

昇思社区昇腾开放资源
关注我们
友情链接
华为官网华为计算鲲鹏社区华为云启智社区
版权所有 © 2021-2025华为技术有限公司 保留一切权利粤A2-20044005号
粤公网安备 44030702005057号
法律声明隐私政策Cookie协议用户协议联系我们