Python动物图像分割API简单调用实例演示,阿里达摩院视觉智能开放平台使用步骤

本文涉及的产品
对象存储 OSS,20GB 3个月
视觉智能开放平台,图像资源包5000点
对象存储 OSS,恶意文件检测 1000次 1年
简介: 图像分割的目标是将图像中的像素分成不同的组或区域,使具有相似特征的像素属于同一组,从而实现目标对象的提取。常见的图像分割方法之一是语义分割(Semantic Segmentation)。语义分割通过深度学习模型,如卷积神经网络(CNN),学习图像的特征表示,并生成像素级的分割结果。通常,语义分割使用全卷积网络(FCN)或其改进版本作为网络结构。编码器用于提取图像的特征表示,而解码器通过上采样操作将特征图还原到原始图像的尺寸,并生成分割结果。

效果图演示


调用本地图片处理后可以直接保存到本地,右边就是分割好的效果图,可以看到分割的效果还算比较好,尤其是第二个狗,背景有人都能处理的很好,比之前用到的很多训练包还好。

image.png

狗原图:

image.png

处理后的效果图:

image.png


平台入口


可以直接访问地址阿里达摩院视觉智能开放平台,或者通过主页的菜单来进入。

image.png

image.png

进来有线上分割演示,上传图片即可。

image.png


创建获取密钥


点击控制台个人头像的 AccessKey 管理

image.png

image.png


本地图片转 URL 与密钥测试


本地图片文件生成 url 测试。

后面正好会用这个 url 地址进行上传使用。

首先要安装下相关包:

pip install oss2
pip install aliyun-python-sdk-viapiutils
pip install viapi-utils

然后是测试代码:

密钥信息要换成自己的。

from viapi.fileutils import FileUtils
# 这里填入上面获取到的秘钥信息
file_utils = FileUtils("YOUR_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_SECRET")
# 场景一,使用本地文件,第一个参数为文件路径,第二个参数为生成的url后缀,但是并不能通过这种方式改变真实的文件类型,第三个参数True表示本地文件模式
oss_url = file_utils.get_oss_url("C:/Users/Administrator/Desktop/cat.png", "png", True)
# 场景二,使用任意可访问的url,第一个url,第二个参数为生成的url后缀,但是并不能通过这种方式改变真实的文件类型,第三个参数False表示非本地文件模式
# oss_url = file_utils.get_oss_url("https://viapi-test-bj.oss-cn-beijing.aliyuncs.com/viapi-3.0domepic/ocr/RecognizeBankCard/yhk1.jpg", "jpg", False)
# 生成的url,可用于调用视觉智能开放平台的能力
print(oss_url)

如果运行后返回一个 url 地址就证明上传没问题。

image.png


代码调用演示


首先通过查看 SDK 参照文档,可以查看使用相关功能需要安装的库。

这里使用分割抠图,用到的就是 pip install alibabacloud_imageseg20191230

image.png

然后就是调用代码:

官方给的调用示例稍微复杂点,这里进行了简单化处理,方便大家来理解。

# 自己的密钥信息
access_key_id = "xxx"
access_key_secret = "xxx"
# 配置项
from alibabacloud_tea_openapi import models as open_api_models
config = open_api_models.Config(
    access_key_id=access_key_id,
    access_key_secret=access_key_secret
)
config.endpoint = 'imageseg.cn-shanghai.aliyuncs.com'
from alibabacloud_imageseg20191230.client import Client
from alibabacloud_imageseg20191230 import models
# 加载配置项
client = Client(config)
# 根据图片url封装请求,这里用到的就是上一节生成的url
request = models.SegmentAnimalRequest(image_url=oss_url)
# 进行动物分割处理  
response = client.segment_animal(request)
# 获取请求里的图片地址,这个地址输入到浏览器里可以直接下载查看
image_url = response.body.data.image_url
print(image_url)
# 将处理后的图片地址保存到本地
import urllib.request
urllib.request.urlretrieve(image_url, "C:/Users/Administrator/Desktop/deal/cat_result.png")

处理后效果图如下:

image.png


语义分割知识拓展


图像分割的目标是将图像中的像素分成不同的组或区域,使具有相似特征的像素属于同一组,从而实现目标对象的提取。常见的图像分割方法之一是语义分割(Semantic Segmentation)。


语义分割通过深度学习模型,如卷积神经网络(CNN),学习图像的特征表示,并生成像素级的分割结果。通常,语义分割使用全卷积网络(FCN)或其改进版本作为网络结构。编码器用于提取图像的特征表示,而解码器通过上采样操作将特征图还原到原始图像的尺寸,并生成分割结果。


卷积神经网络(Convolutional Neural Networks,CNN):CNN是一种深度学习模型,广泛应用于图像处理任务。对于图像分割,CNN可以学习图像的特征表示,并生成像素级的分割结果。


网络结构:通常,语义分割使用的网络结构是全卷积网络(Fully Convolutional Networks,FCN)或其改进版本。这些网络通常由编码器和解码器组成。编码器用于提取图像的特征表示,而解码器则通过上采样操作将特征图还原到原始图像的尺寸,并生成分割结果。


训练数据和标签:图像分割模型需要大量标记好的训练数据。对于动物图像分割,训练数据应包含动物和背景的图像,以及对应的像素级标签,其中动物部分标记为前景,背景部分标记为背景。这些标签可以通过人工标注或使用图像分割工具(如Mask R-CNN等)生成。


损失函数:在训练过程中,需要定义适当的损失函数来度量模型预测分割结果与真实标签之间的差异。常用的损失函数包括交叉熵损失和Dice损失等。


推理和后处理:在推理阶段,通过输入图像到已训练好的模型中,得到每个像素属于前景或背景的概率。可以根据阈值对概率进行二值化,得到最终的分割结果。为了进一步提高分割质量,可以应用后处理技术,如连通区域分析、边缘平滑等。


阿里云达摩院智能视觉开放平台


阿里云达摩院视觉智能开放平台是阿里巴巴集团旗下的人工智能技术平台之一,旨在为开发者和企业提供强大的视觉智能能力和解决方案。以下是对阿里云达摩院视觉智能开放平台的简要介绍:

视觉智能能力: 阿里云达摩院视觉智能开放平台提供了多项视觉智能能力,包括图像识别、图像搜索、图像分割、人脸识别、人体关键点检测等。这些能力基于深度学习和计算机视觉技术,可以实现对图像和视频内容的高精度分析和处理。


API和SDK支持: 开放平台提供了丰富的API和SDK,方便开发者在各种应用场景中集成和调用视觉智能能力。通过简单的接口调用,开发者可以实现图像识别、人脸比对、图像搜索等功能。


完整的解决方案: 阿里云达摩院视觉智能开放平台还提供了一系列完整的解决方案,包括智能零售、智能安防、智能交通等。这些解决方案基于阿里云的强大计算和存储能力,结合视觉智能技术,可以帮助企业快速构建和部署各种视觉智能应用。


算法模型和数据集: 开放平台还提供了一些高质量的算法模型和数据集,供开发者使用和参考。这些模型和数据集经过训练和验证,可以在各种视觉任务中发挥良好的效果,并加速开发者的开发过程。


阿里云达摩院视觉智能开放平台致力于为开发者和企业提供领先的视觉智能能力和解决方案,帮助他们快速构建和部署创新的视觉应用。通过该平台,开发者可以实现图像识别、人脸识别、图像搜索等各种功能,提升业务的智能化水平。

目录
相关文章
|
3月前
|
缓存 测试技术 API
API的封装步骤流程
API封装流程是一个系统化的过程,旨在将内部功能转化为可复用的接口供外部调用。流程包括明确需求、设计接口、选择技术和工具、编写代码、测试、文档编写及部署维护。具体步骤为确定业务功能、数据来源;设计URL、请求方式、参数及响应格式;选择开发语言、框架和数据库技术;实现数据连接、业务逻辑、错误处理;进行功能、性能测试;编写详细文档;部署并持续维护。通过这些步骤,确保API稳定可靠,提高性能。
|
15天前
|
JSON API 数据格式
淘宝 / 天猫官方商品 / 订单订单 API 接口丨商品上传接口对接步骤
要对接淘宝/天猫官方商品或订单API,需先注册淘宝开放平台账号,创建应用获取App Key和App Secret。之后,详细阅读API文档,了解接口功能及权限要求,编写认证、构建请求、发送请求和处理响应的代码。最后,在沙箱环境中测试与调试,确保API调用的正确性和稳定性。
|
28天前
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
49 5
|
29天前
|
缓存 NoSQL 测试技术
构建高效后端API的五个关键步骤
【10月更文挑战第23天】 在数字化时代的浪潮中,一个高效、可靠的后端API是支撑现代应用程序不可或缺的基石。本文将通过五个关键步骤,指导你如何从零开始构建一个强大的后端API。我们将深入探讨设计原则、选择合适的技术栈、实现安全性、优化性能以及确保可维护性等方面。无论你是初学者还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。让我们一起探索后端开发的奥秘,解锁高效API的秘密吧!
36 1
|
2月前
|
数据处理 Apache 数据库
将 Python UDF 部署到 Apache IoTDB 的详细步骤与注意事项
【10月更文挑战第21天】将 Python UDF 部署到 Apache IoTDB 中需要一系列的步骤和注意事项。通过仔细的准备、正确的部署和测试,你可以成功地将自定义的 Python UDF 应用到 Apache IoTDB 中,为数据处理和分析提供更灵活和强大的支持。在实际操作过程中,要根据具体情况进行调整和优化,以确保实现最佳的效果。还可以结合具体的代码示例和实际部署经验,进一步深入了解和掌握这一过程。
25 2
|
2月前
|
机器学习/深度学习 算法 计算机视觉
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
75 2
|
3月前
|
机器学习/深度学习 数据挖掘 测试技术
自学Python的系统策略与步骤
通过遵循这些步骤和策略,你可以系统地自学Python,并有效地构建和深化你的编程知识和技能。
32 6
|
3月前
|
NoSQL Linux Redis
linux安装单机版redis详细步骤,及python连接redis案例
这篇文章提供了在Linux系统中安装单机版Redis的详细步骤,并展示了如何配置Redis为systemctl启动,以及使用Python连接Redis进行数据操作的案例。
75 2
|
2月前
|
机器学习/深度学习 算法 数据可视化
【机器学习】决策树------迅速了解其基本思想,Sklearn的决策树API及构建决策树的步骤!!!
【机器学习】决策树------迅速了解其基本思想,Sklearn的决策树API及构建决策树的步骤!!!
|
3月前
|
自然语言处理 算法 数据可视化
9-4|Python在一群人聊天记录中提取关键字 需要什么步骤
9-4|Python在一群人聊天记录中提取关键字 需要什么步骤