阿里云【达摩院特别版·趣味视觉AI训练营】笔记2

article/2025/8/18 22:18:07

阿里云【趣味视觉AI训练营】笔记2

  • 一、笔记说明
  • 二、正文
    • 2.1 人体分割实验
    • 2.2 图像人脸融合实验
  • 三、转载说明

一、笔记说明

  1. 本博客专栏《阿里云【达摩院特别版·趣味视觉AI训练营】》的所有文章均为趣味视觉AI训练营的学习笔记,当前【达摩院特别版·趣味视觉AI训练营】的学习路线内容为:
  • 达摩院视觉AI介绍
  • 分割抠图功能讲解及演示
  • 文字识别项目讲解及使用说明
  • 图像识别项目讲解及使用说明
  • 实践课:人脸动漫化搭建

二、正文

2.1 人体分割实验

常用的图片格式RGB是3通道,png格式是4通道,相对于3通道多出来的α通道用于表示透明程度。
在3通道图像的基础上,融合对应的α通道图层,就可以得到抠图后的png图片。
平台的分割抠图解决方案主要用于预测α通道图层。

登录视觉智能开放平台,本节将以人体分割作为演示案例:https://vision.aliyun.com/

点击“能力广场”->“分割抠图”->“人体分割”或点击链接进入人体分割产品体验页:https://vision.aliyun.com/experience/detail?spm=a211p3.14020179.J_7524944390.61.66cd35cc2kOzh6&tagName=imageseg&children=SegmentBody
在这里插入图片描述
阿里云视觉智能开放平台默认赠送2QPS识别数量,为方便接下来的演示,我们先购买免费API调用额度,点击链接进入:https://common-buy.aliyun.com/?spm=a2c4g.11186623.2.10.1aa86e43xkO1ZJ&commodityCode=viapi_imagesegqps_public_cn

首先需要开通服务:
在这里插入图片描述
点击“立即开通”。
在这里插入图片描述
点击“进入控制台”。
在这里插入图片描述
我们可以在能力列表中看到所有免费额度。
在这里插入图片描述
阿里云的分割抠图服务在开通后即可享受对应免费QPS额度,无需购买。
若需购买更高QPS使用,需要调整QPS数量后重新下单。所以我们不需要再回到免费次数购买链接,直接进行体验。

现在整理一下思路:

  • 我们有QPS的调用数量,超过就需要付钱。
  • API服务器位于上海区,所以我们可以使用OSS服务,也就是我们接下来要创建RAM账户的AccessKey。
  • 根据阿里云的体验机制,在平台体验页上传图像后,其会在后台自动转为OSS对象,且在示例代码中自动更改为OSS链接。通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除(API必须在上海区)。
  • 可参考本博客专栏上一篇笔记阿里云【达摩院特别版·趣味视觉AI训练营】笔记1,链接地址:https://blog.csdn.net/qq_35772105/article/details/115073695
  • 本人技术栈为Python,接下来依然使用pycharm2021.1进行演示,并且接下来我们还需要安装对应API的SDK。

首先,安装分割抠图的SDK,更多视觉智能开放平台
的SDK地址:https://help.aliyun.com/document_detail/145009.htm?spm=a2c4g.11186623.2.6.345971acNnGNQJ#concept-2145228

分割抠图SDK安装命令:

pip install aliyun-python-sdk-imageseg

在这里插入图片描述
接下来开通RAM账户的AccessKey。登录视觉智能开放平台控制台,链接https://vision.console.aliyun.com/cn-shanghai/overview?spm=a2c4g.11186623.2.5.22c93aae8aJ6wU,鼠标悬停至右上角的用户头像,单击AccessKey管理,点击“继续使用”,选择创建AccessKey,禁用状态选择“启用”,之后输入邮箱验证码即可创建或启用。AccessKey需要保密,使用后建议删除或禁用

最后我们利用一下阿里云的体验自动转OSS机制,也就是我们要用本地图片体验一下,这样在pycharm中我们就不需要上传了,直接发送OSS链接给API。测试照片如下:
在这里插入图片描述
这张图像的左边缘不明显,我们用它来测试API的分割能力,现在我们上传该图像。
在这里插入图片描述
在这里插入图片描述
这张结果图有些问题,为了阿里云继续优化程序,我们选择“不满意”作为反馈,当然,这张照片确实太复杂,除了手臂,其他地方的细节都处理得很好。接下来,我们开始代码调用以验证结果。

#!/usr/bin/env python
#coding=utf-8from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkimageseg.request.v20191230.SegmentBodyRequest import SegmentBodyRequestclient = AcsClient('LTAI5tFk8NHjLoxenQXKfrZ9', 'QhrTUcmGfjHUin52GYyRW2wWdiu2qJ', 'cn-shanghai')request = SegmentBodyRequest()
request.set_accept_format('json')request.set_ImageURL("http://explorer-image.oss-cn-shanghai.aliyuncs.com/J_Hj6mxz1MO9r3L44XvOfWSt/%E6%B5%8B%E8%AF%95.jpg?OSSAccessKeyId=LTAI4Fk9FstqSEYnqKJ5Dpeo&Expires=1616481569&Signature=s79cRxmIiJHH5tuad77o3JEPgAs%3D")response = client.do_action_with_exception(request)
# python2:  print(response)
print(str(response, encoding='utf-8'))

在这里插入图片描述
返回结果是一个图像链接,结果如下:
在这里插入图片描述

2.2 图像人脸融合实验

图像人脸融合用于抠图后贴背景图。图像人脸融合功能可以帮助用户在获得授权的前提下,将图像中的指定的某个人脸,融合进另一人的人脸特征。首先进入“图像人脸融合”页面开通服务。链接地址:https://vision.aliyun.com/experience/detail?spm=a211p3.14020179.J_7524944390.14.29c735ccS4uE48&tagName=facebody&children=MergeImageFace
在这里插入图片描述
开通服务成功后,点击“进入控制台”,可以看到我们获得了图像人脸融合2QPS的使用量。
在这里插入图片描述
安装图像人脸融合SDK。

pip install aliyun-python-sdk-facebody==1.2.18

之后我们需要找2张照片,一张模板照片,一张用户照片,API会将用户图的脸部特征融合进模板照片,最后返回模板照片。为了方便起见,本案例使用上海区OSS链接,大家可以通过“人体分割”的上传自存储OSS机制在人体分割页的示例代码中获得OSS链接。此处我们直接使用人体分割页的实例图片,点击图片刷新后示例代码中也会更新对于图像的OSS链接。

这里,我们将左图作为模板照片,右图作为用户照片。两张照片都是人体分割页面的示例图片,只要官网不更改,就永久可用。

左图上海区OSS链接:http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/imageseg/SegmentBody/SegmentBody9.png
右图上海区OSS链接:http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/imageseg/SegmentBody/SegmentBody4.png
在这里插入图片描述
接下来,我们开始代码调用,首先需要获得模板照片,即左图的TemplateId参数。运行以下代码添加人脸图像模板,返回TemplateId参数。

#!/usr/bin/env python
#coding=utf-8from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkfacebody.request.v20191230.AddFaceImageTemplateRequest import AddFaceImageTemplateRequest# AccessKey ID           LTAI5t72ALWDBt7Go12QV6EE
# AccessKey Secret       7pQ2Aac5nwxPkNQWvn48nJic0bWwJPaccessKeyId="LTAI5t72ALWDBt7Go12QV6EE"
accessSecret="7pQ2Aac5nwxPkNQWvn48nJic0bWwJP"client = AcsClient(accessKeyId, accessSecret, 'cn-shanghai')request = AddFaceImageTemplateRequest()
request.set_accept_format('json')request.set_UserId("kchacker")
request.set_ImageURL("http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/imageseg/SegmentBody/SegmentBody9.png")response = client.do_action_with_exception(request)
# python2:  print(response)
print(str(response, encoding='utf-8'))

返回的TemplateId为517070c7-68fa-4231-a987-06c0eba4444c。

{"RequestId":"40BF3F39-ADED-465D-8DD1-B21EED928478","Data":{"TemplateId":"517070c7-68fa-4231-a987-06c0eba4444c"}}

将获得的TemplateId放入图像人脸融合代码,运行代码。

#!/usr/bin/env python
#coding=utf-8from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkfacebody.request.v20191230.MergeImageFaceRequest import MergeImageFaceRequest# AccessKey ID           LTAI5t72ALWDBt7Go12QV6EE
# AccessKey Secret       7pQ2Aac5nwxPkNQWvn48nJic0bWwJPaccessKeyId="LTAI5t72ALWDBt7Go12QV6EE"
accessSecret="7pQ2Aac5nwxPkNQWvn48nJic0bWwJP"client = AcsClient(accessKeyId, accessSecret, 'cn-shanghai')request = MergeImageFaceRequest()
request.set_accept_format('json')# 人脸模板的用户ID,随意命名
request.set_UserId("kchacker")
# 人脸模板的模板ID
request.set_TemplateId("517070c7-68fa-4231-a987-06c0eba4444c")
# 待融合的人脸照片
request.set_ImageURL("http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/imageseg/SegmentBody/SegmentBody4.png")response = client.do_action_with_exception(request)
# python2:  print(response)
print(str(response, encoding='utf-8'))

在这里插入图片描述
返回图像如下:
在这里插入图片描述
最后不要忘记在AccessKey 管理页面注销或禁用AccessKey,链接:https://ram.console.aliyun.com/manage/ak

附:图像融合案例教程核心代码
在这里插入图片描述
在这里插入图片描述

三、转载说明

  1. 本文内容完全原创,文章完成时间2021.3.23。
  2. 若要转载本文,请在转载文章末尾附上本文链接:https://blog.csdn.net/qq_35772105/article/details/115102733
  3. 本文正文部分全部文本唯一MD5:F3567D62FEE2C5A52FF077ACEE66AFF0。
  4. 阿里云高校计划,陪伴两千多所高校在校生云上实践、云上成长。在这里你可以领用免费的cpu资源,还可以参加免费训练营,实践提高:https://developer.aliyun.com/adc/student/

http://chatgpt.dhexx.cn/article/YTEjWRZs.shtml

相关文章

笔记本简单使用eNSP的云连接外网

文章目录 前言一、连接拓扑图二、配置cloud 三、配置pc测试是否能连接外网 前言 很多时候ping不通的原因不是网卡问题,而是配置没有设置好 一、连接拓扑图 二、配置cloud 绑定信息为UDP然后点击增加 绑定信息 笔记本电脑可以选择WiFi-ip,有本地连接可以…

头歌-信息安全技术-用Python实现自己的区块链、支持以太坊的云笔记服务器端开发、编写并测试用于保存云笔记的智能合约、支持以太坊的云笔记小程序开发基础

头歌-信息安全技术-用Python实现自己的区块链、支持以太坊的云笔记服务器端开发、编写并测试用于保存云笔记的智能合约、支持以太坊的云笔记小程序开发基础 一、用Python实现自己的区块链1、任务描述2、评测步骤(1)打开终端,输入两行代码即可评测通过 二、支持以太坊…

华为云HCS解决方案笔记HUAWEI CLOUD Stack【面试篇】

目录 HCS方案 一、定义 1、特点 2、优点 二、云服务 1、云管理 2、存储服务 3、网络服务 4、计算服务 5、安全服务 6、灾备服务 7、容器服务 三、应用场景 四、HCS功能层 五、OpenStack网络平面规划 六、ManageOne运维面 1、首页 2、集中监控 3、资源拓扑 …

关于玄武集团MOS云平台的使用笔记

对于该平台感兴趣的可以自己下载开发文档看一下,附上地址: https://download.csdn.net/download/qq_39380192/11182359 1、根据开发手册,MOS云平台给用户提供了关于各种通信服务的接口,用户可以通过调用相关的接口来实现一下几点功能&#x…

巧用git commit搭建云笔记+历史记录本

一、整理笔记的必要性 长期学习过程中,我发现人脑并不擅长记忆,它更擅长思考问题。程序员每天都要学习很多知识,学得快,忘得快很正常。很多东西并不需要记住,况且知识那么多,怎么可能全部记住?…

Aliyun 学习笔记(二)阿里云物联网平台介绍

文章目录 1 阿里云物联网平台1.1 设备接入1.2 设备管理1.3 安全能力1.4 规则引擎 1 阿里云物联网平台 根据阿里云物联网平台文档可以了解到所有有关阿里云物联网平台的介绍。 阿里云物联网平台为设备提供安全可靠的连接通信能力,向下连接海量设备,支撑…

《没道云笔记》开发手记

基本配置 Client:Android Servlet:SAE(PHPMySQLStorage) Period:2 weeks 项目分析 1.Model: Article.class{int id;String username;String title;String time;String content;} Bean.calss{int[] ids;String u…

《物联网 - 机智云开发笔记》第2章 设备驱动开发

开发板:GoKit3开发板(STM32F103) 在上一章节,笔者带领大家已经将机智云平台玩起来,本节内容讲带领大家经进一步开发。 在开始讲解之前,有必要先了解的机智云的平台架构。 从上面的架构图可以看到&#xf…

云笔记的使用感受和选择

市场上有很多文章针对云笔记的选择,但经过下载发现可能存在很多虚假广告【求生欲:其实可能是个人使用感受不佳仅表示个人观点】。 为什么选择云笔记 个人比较喜欢(❤ ω ❤)记录学习笔记和生活中的东西。之前选择有道云笔记,但因为最近打开…

基于分布式的云笔记实现(参考某道云笔记)

注: 1)云笔记代码可在github上下载,如果对您有用,记得star一下。 2)依赖jar包可在以下地址下载jar包,密码:yvkj,放到web/lib下即可 3)hdfs配置参考网址 4&#xff09…

高软作业1:云笔记软件调研

写在前面: 选择云笔记作为这次调研对象,是因为看到一位同学作业里关于iOS场景下面的笔记软件对比。这一下子让我想起自己入坑过的各款云笔记应用,他们基本上都拥有云端存储和多端同步的功能,但同时又都存在着各自的优缺点。本来一…

华为云学习笔记(二)

物联网发展简史与概述 物联网大事件:NB-lot标准演进 NB-lot: 窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180kHz的带宽,可直接…

阿里云笔记2.0

【达摩院特别版趣味视觉AI训练营】 智能视觉开放平台> 目的:致力于更专业、全面、易用的视觉AI能力 图片4通道和3通道的对比成效 人体分割技术,适应复杂背景 即使人物处于复杂背景环境,依然可以将人体准确地从背景中分割出来。 阿里云…

SG90舵机的驱动

很多资料说SG90舵机是靠PWM控制的,其实不是,亲测该舵机是靠高电平的时间控制的,只是对周期有要求,需要是20ms以内,没错20ms的周期时间不是固定周期,而是最大周期。我尝试了3-20ms都可以控制。 高电平的时间…

STM32控制SG90舵机与超声波HC_SR04测距模块

目录 前言 1、项目简介 项目相关内容 2、模块 1、系统定时器SysTick 2、舵机模块SG90 3、 超声波模块 HC-SR04 4、Main.c 5、总结 前言 这篇文章主要是对自己学习STM32做的一个总结,利用超声波模块加舵机模块进行的小项目,为了方便知识的回顾&…

STM32F103单片机控制SG90舵机

前言 在智能衣柜系统中,试用SG90旋转0-180,模拟衣柜的开关门,舵机正转开门,180-0反转模拟一个关门的现象。 一,SG90舵机 1.1SG90链接: 【淘宝】https://m.tb.cn/h.UjfPasG?tk10CNdeeB4Il CZ0001 「SG9…

Arduino与SG90舵机握手

Arduino教程传送门🧭🏔🌋🛤🏞🏜 Arduino与SG90舵机握手 1.0 简介2.0 实验材料3.0 实验步骤3.1 根据原理图搭建电路3.2 新建sketch,拷贝如下代码并进行保存编译上传3.3 实验现象 4.0 总结 1.0 简…

C51单片机定时器2实现SG90舵机控制

谈起舵机最初的了解应用于航模,偶然的机会在网上看到有牛人使用多个舵机做人形机器人的关节,感觉这小东西很有趣,蒙发了买来学习学习的想法,这已经是多年前的事了,后来由于某些原因,这个想法直到今年才落地…

智能垃圾桶(七)——SG90舵机的介绍与使用(树莓派pico实现)

文章目录 一、SG90舵机的引脚介绍二、与pico引脚的对接三、舵机的使用原理四、Thonny程序五、效果展示一、SG90舵机的引脚介绍 舵机上会引出三根线:分别是GND(棕色线)、VCC(红色线)和SIG(黄色线),就是地线、电源线(5V)和信号线。千万不能接错! 二、与pico引脚的对接…

FPGA实现360°SG90舵机

SG90 SG90舵机需要注意区分90、180和360,今天要用的舵机是360的。 舵机是通过输入信号来控制转动的,360舵机不同于180舵机,它只有顺时针旋转、逆时针选择和停止,无法通过特定的信号来达到转动的角度。所以需要通过时间和转动速度…