【香橙派系列教程】(十一)阿里云视觉识别方案-垃圾分类

【十一】阿里云视觉识别方案-垃圾分类

在接下来的垃圾分类的项目中,我们采用阿里云视觉智能开发平台的接口来做垃圾分类的识别方案,通过上传本地的拍照下的垃圾图片,通过阿里提供的接口来识别出该垃圾是干垃圾、湿垃圾、回收垃圾还是有害垃圾。


接入指引

  1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
  2. 开通能力:请确保您已开通图像识别服务,若未开通服务请立即开通
  3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权
  4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。
  5. 开发接入步骤:

输入限制

  • 图像类型:JPEG、JPG、PNG。
  • 图像大小:不大于3 MB。
  • 图像分辨率:不限制图像分辨率,但图像分辨率太高可能会导致API识别超时,超时时间为5秒。
  • URL地址中不能包含中文字符。

1.接入阿里云

官网地址如下:https://vision.aliyun.com/

1.1首先登录注册(淘宝、支付宝账号都可以),之后在产品内容一栏搜索:垃圾分类

image-20240715113943347

1.2点击立即开通,开通垃圾分类后,再返回点击技术文档查看使用说明。

image-20240715144957118

1.3创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权

在这里插入图片描述

1.4 在SDK总览中选择您要接入使用的SDK语言。

我们的垃圾分类属于图像识别,在Linux下进行pip安装

image-20240715172102276

2.配置环境变量

配置环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

  • Linux和macOS系统配置方法

    1. 在IntelliJ IDEA中打开终端Terminal。

    2. 执行以下命令,配置环境变量。

      <access_key_id>需替换为您RAM用户的AccessKey ID,<access_key_secret>替换为您RAM用户的AccessKey Secret。如果后续需要进行更多权限相关的配置,具体操作请参见使用RAM Policy控制访问权限

      示例:export ALIBABA_CLOUD_ACCESS_KEY_ID=“123456789”

      export命令可查看当前环境变量

      export ALIBABA_CLOUD_ACCESS_KEY_ID="你的ID" #根据自己实际的ID填写
      export ALIBABA_CLOUD_ACCESS_KEY_SECRET="你的SECRET" #根据自己实际的SECRET填写
      
      

    关于环境变量的配置,如果下次重启再次打开的话,会丢失我们配置的。如何做到一劳永逸呢?

    //把环境变量放到这个文件里面, #然后在末尾输入上面两行后保存
    vi ~/.bashrc
    

    然后退出终端重新登录下,此时再执行export,能看到这两个Key的存在

  • Windows系统配置方法

新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。本操作以Windows 10为例进行说明。

1. 打开文件资源管理器,在**此电脑**上右键单击**属性。**
2. 在右侧导航栏,单击**高级系统配置**。
3. 在**系统属性**对话框的**高级**页签下,单击**环境变量**。
4. 在**环境变量**对话框中,单击**新建(W)**。

image-20240715172826804

  1. 在弹出的新建系统变量对话框中,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。

  2. 重启Windows系统,使配置生效。

3.示例代码

文件在本地或可访问的URL

参考代码

garbage.py

# -*- coding: utf-8 -*-
# 引入依赖包
# pip install alibabacloud_imagerecog20190930

import os
import io
from urllib.request import urlopen
from alibabacloud_imagerecog20190930.client import Client
from alibabacloud_imagerecog20190930.models import ClassifyingRubbishAdvanceRequest
from alibabacloud_tea_openapi.models import Config
from alibabacloud_tea_util.models import RuntimeOptions

config = Config(
  # 创建AccessKey ID和AccessKey Secret,请参考https://help.aliyun.com/document_detail/175144.html。
  # 如果您用的是RAM用户的AccessKey,还需要为RAM用户授予权限AliyunVIAPIFullAccess,请参考https://help.aliyun.com/document_detail/145025.html
  # 从环境变量读取配置的AccessKey ID和AccessKey Secret。运行代码示例前必须先配置环境变量。
  access_key_id=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),
  access_key_secret=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
  # 访问的域名
  endpoint='imagerecog.cn-shanghai.aliyuncs.com',
  # 访问的域名对应的region
  region_id='cn-shanghai'
)
#场景一:文件在本地
#img = open(r'/tmp/ClassifyingRubbish1.jpg', 'rb')
#场景二:使用任意可访问的url
url = 'https://viapi-test-bj.oss-cn-beijing.aliyuncs.com/viapi-3.0domepic/imagerecog/ClassifyingRubbish/ClassifyingRubbish1.jpg'
img = io.BytesIO(urlopen(url).read())

classifying_rubbish_request = ClassifyingRubbishAdvanceRequest()
classifying_rubbish_request.image_urlobject = img
runtime = RuntimeOptions()
try:
  # 初始化Client
  client = Client(config)
  response = client.classifying_rubbish_advance(classifying_rubbish_request, runtime)
  # 获取整体结果
  print(response.body)
except Exception as error:
  # 获取整体报错信息
  print(error)
  # 获取单个字段
  print(error.code)

附录:

1.AccessKey的创建

您可以为阿里云账号(主账号)和RAM用户(子账号)创建一个访问密钥(AccessKey)。在调用视觉智能开放平台API时您需要使用AccessKey完成身份验证。

您可以使用AccessKey构造一个API请求来调用视觉智能开放平台的各个能力。AccessKey包括AccessKey ID和AccessKey Secret。

  • AccessKey ID:用于标识用户。
  • AccessKey Secret:用于验证用户的密钥。AccessKey Secret必须保密。

警告

  • 账号的AccessKey非常重要,创建成功后,请您确保AccessKey ID和AccessKey Secret的安全。一旦有泄漏的风险,请及时更新AccessKey。
  • 由于主账号泄漏风险较大,建议您使用子账号进行操作。
  • 阿里云视觉智能开放平台各类目视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。

主账号AccessKey

  1. 使用阿里云账号登录控制台
  2. 将鼠标悬浮在右上方的账号图标上,单击AccessKey管理
  3. 安全提示对话框,阅读安全提示信息,然后单击继续使用AccessKey
  4. AccessKey页面,单击创建AccessKey
  5. 根据界面提示完成安全验证。

子账号AccessKey

子账号AccessKey需要通过主账号进行创建。

  1. 登录RAM控制台

  2. 在左侧导航栏,选择身份管理 > 用户

  3. 用户页面,单击目标RAM用户名称。

  4. 用户AccessKey区域,单击创建AccessKey

  5. 根据界面提示完成安全验证。

  6. 创建AccessKey对话框,查看AccessKey ID和AccessKey Secret。

    您可以单击下载CSV文件,下载AccessKey信息。单击复制,复制AccessKey信息。

本文介绍了如何使用阿里云视觉智能开放平台相关服务的Python SDK,具体包括SDK的获取、安装方法以及SDK代码示例。

说明

阿里云视觉智能开放平台各类目视觉AI能力SDK接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。

该版本SDK只支持Python3及以上,如不满足请升级Python版本。如必须使用Python2请使用Python老版(不推荐)

2.Python-SDK安装

在安装和使用阿里云SDK前,确保您已经注册阿里云账号并生成访问密钥(AccessKey)。具体操作,请参见创建AccessKey

3.pip安装

#1.查看是否安装了pip及版本
pip --version
pip3 --version
#2.如果没有,更新apt源
sudo apt update
#3.安装pip包,对于 Ubuntu/Debian 系统:
sudo apt install python3 python3-pip
  1. 添加 pip 到 PATH: 如果 pip 已经安装但系统找不到它,您可能需要将 pip 的路径添加到 PATH 环境变量中。通常 pip 会安装在 /usr/local/bin/pip(在类 Unix 系统上)。您可以将以下行添加到您的 ~/.bashrc~/.profile 文件中:

    #export PATH=$PATH:/usr/local/bin
    export PATH=$PATH:/usr/lib/python3/dist-packages/pip 
    

    然后,运行 source ~/.bashrc 或重新登录终端,以使更改生效。

    • 对于当前用户查看 PATH:

      echo $PATH
      

    /usr/lib/python3/

    image-20240716115228585

4.收费标准

购买地址:https://vision.console.aliyun.com/cn-shanghai/detail/imagerecog

image-20240715181303678

image-20240715181320456

垃圾分类识别能力支持按量付费单类目预付费资源包通用预付费资源包方式进行计费。

  • 按量付费

    调用量价格QPS限制
    0<调用量(次/月)≤1,000,0000.060元/次2QPS
    1,000,000<调用量(次/月)≤5,000,0000.050元/次
    调用量(次/月)>5,000,0000.040元/次

重要

  • 如果您未购买资源包,系统将会按照按量付费的价格计费,请留意并及时支付账单,避免因欠费等原因影响您的业务。欠费24小时后会冻结调用该能力,支付欠费账单后可恢复使用。
  • 调用失败不计费。
  • 价格费用计算详情请参见计费方式
  • 单类目预付费资源包

阿里云视觉智能开放平台提供首次购买5000点规格享全单免费试用优惠活动。资源包支持叠加购买,当资源包点数耗尽或过期后,将按照按量付费进行计费。您可根据实际情况按需购买资源包。资源包有效期1年,价格如下所示。

资源包规格可调用次数抵扣系数标准价格优惠政策QPS限制
5,000点208次24点/次12.5元首次享0元免费试用5QPS(次日8点后生效)
500,000点20,833次24点/次1,250元
5,000,000点208,333次24点/次12,500元
30,000,000点1,250,000次24点/次75,000元
50,000,000点2,083,333次24点/次125,000元

重要

  • 单类目资源包不可跨类目使用。例如,使用车牌识别和场景识别两个能力,需要同时购买车牌识别和场景识别两个资源包。
  • 价格费用计算详情请参见计费方式
  • 如果因业务需求购买更多QPS,请通过咨询服务联系我们。
  • 通用预付费资源包

阿里云视觉智能开放平台提供首次购买5000点规格享全单免费试用优惠活动。资源包支持叠加购买,当资源包点数耗尽或过期后,将按照按量付费进行计费。您可根据实际情况按需购买资源包。资源包有效期1年,价格如下所示。

资源包规格可调用次数抵扣系数标准价格优惠政策QPS限制
5,000点833次6点/次50元首次享0元免费试用5QPS(次日8点后生效)
10,000点1,666次6点/次100元
100,000点16,666次6点/次1,000元
1,000,000点166,666次6点/次10,000元
5,000,000点8,333,333次6点/次50,000元
10,000,000点1,666,666次6点/次100,000元
20,000,000点3,333,333次6点/次200,000元
50,000,000点83,333,333次6点/次500,000元
150,00,000点25,000,000次6点/次1,500,000元
  • 通用预付费资源包可跨类目使用。例如,使用车牌识别和场景识别两个能力,可共用已购买的通用预付费资源包。
  • 价格费用计算详情请参见计费方式
  • 如果因业务需求购买更多QPS,请通过咨询服务联系我们。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘猫.exe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值