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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 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,方便开发者在各种应用场景中集成和调用视觉智能能力。通过简单的接口调用,开发者可以实现图像识别、人脸比对、图像搜索等功能。


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


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


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

目录
相关文章
|
30天前
|
数据采集 JSON API
如何实现高效率超简洁的实时数据采集?——Python实战电商数据采集API接口
你是否曾为获取重要数据而感到困扰?是否因为数据封锁而无法获取所需信息?是否因为数据格式混乱而头疼?现在,所有这些问题都可以迎刃而解。让我为大家介绍一款强大的数据采集API接口。
|
1月前
|
JSON API 数据库
解释如何在 Python 中实现 Web 服务(RESTful API)。
解释如何在 Python 中实现 Web 服务(RESTful API)。
25 0
|
1月前
|
缓存 API 定位技术
使用Python调用百度地图API实现地址查询
使用Python调用百度地图API实现地址查询
90 0
|
1月前
|
小程序 前端开发 JavaScript
视觉智能平台常见问题之抠人脸的api如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
29 3
|
9天前
|
JavaScript 搜索推荐 前端开发
音乐发现平台:借助Python和Vue构建个性化音乐推荐系统
【4月更文挑战第11天】本文介绍了如何使用Python和Vue.js构建个性化音乐推荐系统。首先确保安装Python、Node.js、数据库系统和Git。后端可选择Flask或Django搭建RESTful API,处理歌曲数据。前端利用Vue.js创建用户界面,结合Vue CLI、Vuex和Vue Router实现功能丰富的SPA。通过Vuex管理状态,Axios与后端通信。这种前后端分离的架构利于协作和系统扩展,助力打造定制化音乐体验。
|
1月前
|
JSON API 数据格式
Python中使用API(四)
Python中使用API(四)
20 0
|
1月前
|
JSON API 数据格式
Python中使用API(三)
Python中使用API(三)
18 0
|
1月前
|
JSON API 数据格式
Python中使用API(二)
Python中使用API(二)
18 0
|
1月前
|
JSON Shell API
Python中使用API(一)
Python中使用API(一)
14 0
|
1月前
|
机器学习/深度学习 API 计算机视觉
视觉智能平台常见问题之获取人脸皮肤的颜色Api如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
18 0