第二节课——【分割抠图功能讲解及演示】|学习笔记

本文涉及的产品
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,视频资源包5000点
简介: 快速学习第二节课——【分割抠图功能讲解及演示】

开发者学堂课程【达摩院视觉 AI 精品课第二节课——【分割抠图功能讲解及演示】笔记与课程紧密联系,让用户快速学习知识。

课程地https://developer.aliyun.com/learning/course/912/detail/14419


第二节课——【分割抠图功能讲解及演示】

内容介绍:

一、一些图像相关的基础概念

二、智能视觉开放平台图像分割的使用方法

三、在图像分割结果上进行二次加工的例子

一、一些图像相关的基础概念

最常用的图像格式一般是3通道的 BGR 格式,即一张图可以分为B(蓝)、G(绿)、R(红)三个颜色分量;

4通道图片格式为 PNG,区别于3通道图可以看到除了它的人物以外的背景区域是半透明的状态,那么图像可视化的边界就可以支持一些不规则的边缘,而3通道只能是矩形的。

多出来的4通道 alpha 通道则用来控制对应像素的透明程度:0表示全透,255表示不透。

如果 alpha 通道为全255,那么这张图片视觉上和3通道就没有差别了(后面统称alpha 通道为 mask)。在3通道图片的基础上,融合对应的 mask 图层,就可以得到抠图后的 png 图片,平台的能力主要是用来预测图片主体的 mask 图层。接下来介绍如何使用该能力。


二、智能视觉开放平台图像分割的使用方法

首先进入智能视觉开放平台官网http://vision.aliyun.com/并登录阿里云账号,在能力广场-分割抠图类目下找到自己需要的接口。这里以人体分割作为样例,进入到试用界面,可以先试用,满意后再开通服务。

点击上传图片,上传成功后点击发起调用,可以看到右边就是算法结果。对于结果的满意程度这里强烈建议点击反馈,方便购物做进一步的优化。

点击代码展示,这里展示的为抠图服务反回的阶层结果,ImageURL 表示的就是刚才结果图的图片地址了。点击帮助文档,这里有更多服务的详情介绍。

下一步讲述如果免费开通:点击免费开通,选择需要开通的接口,点击立即购买,再点击确认付款。点击提示到跳转控制台,在控制台可以看到已经开通的能力。在分割抠图模块的相关信息也是可以看到的,如果需要更高的 QPS 支持,可以点击这里进行购买

接下来看如何开通对应的 API 服务:回到上一级界面往下滑,这里有示例代码以及开通需要接入的 SDK。

提醒在使用 SDK 前需要提前开通 OSS 服务和创建 AccessKey。然后点击 Python 对应的 SDK 界面,

首先需要安装阿里云 SDK 核心库:

pip install aliyun-python-sdk-core,其次再安装对应的分割接口:pip install aliyun-python-sdk-imageseg,然后返回上一级目录,选择 Python 示例,复制代码并粘贴在对应的编辑器中。

图片地址必须存放在 shanghai 的 oss-viapi 里面,点击运行,可以看到服务器反回的结果及服务器反回的解析后到的图片 url,以及把该 url 对应的图片写到本地的结果。

url = "https://viapi-data-shanghai.oss-cn-shanghai,aliyuncs.com/ppt source

client = AcsClient (accessKeyId, accessSeqret, 'cn-shanghai')

request = SegmentBodyRequest()

request.set_accept_format('json')

request.set ImageURL (url)

response = client.do_action_with_exception(request)

resultJson = str(response,eneoding='utf-8')

print(resultJson)

import json

resultUrl = json.loads (resultJson)["Data"]["ImageURL"]

print(resultUrl)

输出结果为:

Process finished with exit code 0

三、在图像分割结果上进行二次加工的例子

示例代码的结构:downloadDate.sh(用来下载图片素材),backgroundMergeDemo.py(用来展示如何抠图)。首先运行downloadDate.sh,运行脚本进行和图,(pic表示的是图片和图,vid表示的是视频和图)出现result.jpg就是和图后的结果。

和图代码的基础逻辑:

首先传进来有4个参数:of_file = arge.files,sc_image, viapi_image,bg_image。然后对 png 图片和背景图片进行 resize,保证和背景图片的尺寸是一致的。

接着提取一下 mask 通道,对于4通道图直接把 alpha 通道提取出来;对于有些可能是把 alpha 通道转换成了一个灰度图,那么这一块也会做一个转换,然后对图像再进行一个规划到0到1,然后再按照之前提到的前景*alpha+背景*(1-alpha)的公式进行计算。

核心代码主要是是:of_image = (sc_image-bg_image)*mask + bg_image。它是上一个公式的变种可以减少一次 floa t计算。然后把图片写回到输出文件地址,本次教程结束。

if len(viapi_image.shape)==2:

mask = viapi_image[: : np.newaxis]

if viapi_image.shape[2] == 4:

mask = viapi_ image[: : 3:4]

elif viapi_image.shape[2] == 3:

mask = viapi_image[: : 0:1]

else:

raise Exception( invialld image mask!")

mask = mask/255.0

sc_image = sc_image.astype (np.float)

bg_image = bg_image.astype (np .float)

of image = (sc image-bg image) *mask + bg image

相关文章
|
22天前
|
机器学习/深度学习 人工智能 自然语言处理
MakeAnything:手残党有救了!新加坡国立大学开源AI教程生成器:上传任意作品,自动生成分步图示指南!
MakeAnything 是新加坡国立大学推出的一致性图片序列生成框架,基于扩散变换器和非对称低秩适配技术,支持从文本或图像生成高质量的分步教程。
88 15
MakeAnything:手残党有救了!新加坡国立大学开源AI教程生成器:上传任意作品,自动生成分步图示指南!
|
9月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】47. Pytorch图片样式迁移实战:将一张图片样式迁移至另一张图片,创作自己喜欢风格的图片【含完整源码】
【从零开始学习深度学习】47. Pytorch图片样式迁移实战:将一张图片样式迁移至另一张图片,创作自己喜欢风格的图片【含完整源码】
|
10月前
|
数据安全/隐私保护 计算机视觉 Python
OpenCV中图像的位运算讲解与实战演示(附Python源码 图文解释)
OpenCV中图像的位运算讲解与实战演示(附Python源码 图文解释)
285 0
|
机器学习/深度学习 算法 PyTorch
Python实现替换照片人物背景,精细到头发丝(附上代码) | 机器学习(1)
Python实现替换照片人物背景,精细到头发丝(附上代码) | 机器学习
Python实现替换照片人物背景,精细到头发丝(附上代码) | 机器学习(1)
|
机器学习/深度学习 数据采集 编解码
人脸表情识别系统介绍——上篇(python实现,含UI界面及完整代码)
人脸表情识别系统介绍——上篇(python实现,含UI界面及完整代码)
664 0
|
存储 编解码 算法
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(二)
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(二)
326 0
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(二)
|
机器学习/深度学习 算法 图计算
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(一)
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(一)
216 0
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(一)
|
算法 计算机视觉
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(三)
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(三)
286 0
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(三)
|
人工智能 JSON 算法
分割抠图功能讲解及演示 | 学习笔记
快速学习分割抠图功能讲解及演示
分割抠图功能讲解及演示 | 学习笔记
|
人工智能 达摩院 JavaScript
第四节课——【图像识别项目及使用说明】(二)|学习笔记
快速学习第四节课——【图像识别项目及使用说明】

热门文章

最新文章