通用物体识别
检测图像中的通用对象主体,返回该对象主体的区域信息与置信度。支持识别300类物体,详情可参见本文中支持的目标识别实体列表。
适用场景
可应用于IPC图像检测、交通、安防等行业中图像场景的目标检测与跟踪。
支持的目标识别实体列表
| ID | 名称 |
|---|---|
| accordion | 手风琴 |
| airplane | 飞机 |
| alligator | 鳄鱼 |
| apple | 苹果 |
| army_tank | 军队坦克 |
| awning | 棚 |
| backpack | 背包 |
| ball | 球 |
| balloon | 气球 |
| banana | 香蕉 |
| barrel | 桶 |
| baseball | 棒球 |
| baseball_bat | 棒球棒 |
| baseball_glove | 棒球手套 |
| basket | 篮子 |
| bathtub | 浴缸 |
| bear | 熊 |
| bed | 床 |
| bee | 蜜蜂 |
| beer_bottle | 啤酒瓶 |
| bell_pepper | 灯笼椒 |
| belt | 腰带 |
| bench | 长椅 |
| bicycle | 自行车 |
| billboard | 广告牌 |
| bird | 鸟 |
| blackboard | 黑板 |
| boat | 船 |
| book | 书 |
| bookcase | 书柜 |
| boot | 开机 |
| bottle | 瓶子 |
| bowl | 碗 |
| bowling_ball | 保龄球 |
| box | 盒子 |
| bracelet | 手镯 |
| brassiere | 乳罩 |
| bread | 面包 |
| broccoli | 西兰花 |
| building | 建造 |
| bus_(vehicle) | 公共汽车_(车辆) |
| butterfly | 蝴蝶 |
| cabinet | 内阁 |
| cake | 蛋糕 |
| camel | 骆驼 |
| camera | 相机 |
| can | 能够 |
| candle | 蜡烛 |
| candy_bar | 糖果条 |
| cannon | 大炮 |
| canoe | 独木舟 |
| car_(automobile) | car_(汽车) |
| carrot | 胡萝卜 |
| cart | 大车 |
| castle | 城堡 |
| cat | 猫 |
| caterpillar | 毛虫 |
| cello | 大提琴 |
| cellular_telephone | 蜂窝电话 |
| chair | 椅子 |
| chicken_(animal) | 鸡_(动物) |
| chopping_board | 切菜板 |
| chopstick | 筷子 |
| christmas_tree | 圣诞树 |
| clock | 钟 |
| coat | 外套 |
| cocktail | 鸡尾酒 |
| coffee_table | 咖啡桌 |
| coin | 硬币 |
| computer_keyboard | 计算机键盘 |
| computer_monitor | 电脑显示器 |
| cone | 锥体 |
| cookie | 曲奇饼 |
| cow | 牛 |
| cowboy_hat | 牛仔帽 |
| crab_(animal) | 螃蟹_(动物) |
| crown | 王冠 |
| cucumber | 黄瓜 |
| cup | 杯子 |
| cupboard | 橱柜 |
| curtain | 窗帘 |
| deer | 鹿 |
| desk | 桌子 |
| dessert | 甜点 |
| dinosaur | 恐龙 |
| dog | 狗 |
| doll | 玩具娃娃 |
| dolphin | 海豚 |
| door | 门 |
| doorknob | 门把手 |
| doughnut | 甜甜圈 |
| dragonfly | 蜻蜓 |
| drawer | 抽屉 |
| dress | 裙子 |
| drum_(musical_instrument) | 鼓_(音乐乐器) |
| duck | 鸭 |
| duffel_bag | 行李袋 |
| eagle | 鹰 |
| earring | 耳环 |
| egg | 蛋 |
| elephant | 大象 |
| fan | 扇子 |
| faucet | 龙头 |
| fireplace | 壁炉 |
| fireplug | 火塞 |
| fish | 鱼 |
| flag | 旗帜 |
| flower_arrangement | 插花 |
| flowerpot | 花盆 |
| football_helmet | 足球头盔 |
| fork | 叉 |
| fountain | 喷泉 |
| french_fries | 炸薯条 |
| frisbee | 飞盘 |
| frog | 青蛙 |
| fruit | 水果 |
| fruit_juice | 果汁 |
| frying_pan | 平底锅 |
| gazelle | 羚羊 |
| giraffe | 长颈鹿 |
| glass_(drink_container) | 玻璃_(饮料容器) |
| glove | 手套 |
| goat | 山羊 |
| goggles | 风镜 |
| goose | 鹅 |
| grape | 葡萄 |
| guitar | 吉他 |
| gun | 枪 |
| hamburger | 汉堡包 |
| hamster | 仓鼠 |
| handbag | 手提包 |
| handle | 处理 |
| harbor_seal | 港口密封 |
| hat | 帽子 |
| headset | 耳机 |
| helicopter | 直升机 |
| helmet | 头盔 |
| high_heels | 高跟鞋 |
| hog | 猪 |
| horse | 马 |
| house | 屋 |
| icecream | 冰淇淋 |
| insect | 昆虫 |
| jacket | 夹克 |
| jaguar | 捷豹 |
| jean | 牛仔布 |
| jellyfish | 海蜇 |
| kitchen_table | 厨房的桌子 |
| kite | 风筝 |
| knife | 刀 |
| ladder | 梯子 |
| lamp | 灯 |
| lantern | 灯笼 |
| laptop_computer | 笔记本电脑 |
| lavender | 薰衣草 |
| lemon | 柠檬 |
| lettuce | 莴苣 |
| license_plate | 车牌 |
| life_jacket | 救生衣 |
| lightbulb | 灯泡 |
| lighthouse | 灯塔 |
| lily | 百合 |
| lion | 狮子 |
| lizard | 蜥蜴 |
| maple | 枫 |
| mask | 面具 |
| microphone | 麦克风 |
| microwave_oven | 微波炉 |
| minivan | 小型货车 |
| mirror | 镜子 |
| monkey | 猴 |
| motorcycle | 摩托车 |
| mouse_(computer_equipment) | 鼠标_(计算机设备) |
| muffin | 松饼 |
| mug | 马克杯 |
| mushroom | 蘑菇 |
| musical_instrument | 乐器 |
| napkin | 餐巾 |
| necklace | 项链 |
| necktie | 领带 |
| nightstand | 床头柜 |
| onion | 洋葱 |
| orange_(fruit) | 橙子_(水果) |
| oven | 烤箱 |
| owl | 猫头鹰 |
| paddle | 桨 |
| painting | 绘画 |
| palm_tree | 棕榈树 |
| parachute | 降落伞 |
| parking_meter | 停车收费表 |
| parrot | 鹦鹉 |
| pasta | 意大利面 |
| pastry | 糕点 |
| pen | 笔 |
| penguin | 企鹅 |
| person | 人 |
| piano | 钢琴 |
| pillow | 枕头 |
| pizza | 比萨 |
| plastic_bag | 塑料袋 |
| plate | 盘子 |
| polar_bear | 北极熊 |
| pool_table | 池表 |
| porch | 门廊 |
| poster | 海报 |
| potted_plant | 盆栽植物 |
| pumpkin | 南瓜 |
| rabbit | 兔子 |
| refrigerator | 冰箱 |
| remote_control | 遥控 |
| ring | 戒指 |
| roller_skate | 溜冰鞋 |
| rose | 玫瑰 |
| salad | 沙拉 |
| sandal_(type_of_shoe) | 凉鞋 |
| sandwich | 三明治 |
| saucer | 碟子 |
| saxophone | 萨克斯管 |
| scarf | 围巾 |
| scissors | 剪刀 |
| sculpture | 雕塑 |
| sheep | 羊 |
| shirt | 衬衫 |
| shoe | 鞋 |
| short_pants | 短裤 |
| shrimp | 虾 |
| sink | 下沉 |
| skateboard | 滑板 |
| ski | 滑雪 |
| skirt | 短裙 |
| skullcap | 黄芩 |
| snake | 蛇 |
| snowboard | 滑雪板 |
| soccer_ball | 足球 |
| sock | 短袜 |
| sofa | 沙发 |
| sofa_bed | 沙发床 |
| sparrow | 麻雀 |
| speaker_(stero_equipment) | 扬声器_(音响设备) |
| spectacles | 眼镜 |
| spider | 蜘蛛 |
| spoon | 勺子 |
| sportswear | 运动服 |
| squirrel | 松鼠 |
| stool | 凳子 |
| stop_sign | 停止标志 |
| stove | 火炉 |
| straw_(for_drinking) | 稻草_(喝) |
| strawberry | 草莓 |
| street_sign | 街道路标 |
| streetlight | 路灯 |
| suit_(clothing) | 套装_(服装) |
| suitcase | 手提箱 |
| sunflower | 向日葵 |
| sunglasses | 太阳镜 |
| sunhat | 太阳帽 |
| surfboard | 冲浪板 |
| sushi | 寿司 |
| swimming_pool | 游泳池 |
| swimsuit | 泳装 |
| table | 桌子 |
| tablet_computer | 平板电脑 |
| taxi | 出租车 |
| teddy_bear | 玩具熊 |
| telephone | 电话 |
| television_set | 电视机 |
| tennis_ball | 网球 |
| tennis_racket | 网球拍 |
| tent | 帐篷 |
| tiger | 老虎 |
| toilet | 洗手间 |
| toilet_tissue | 卫生纸 |
| tomato | 番茄 |
| toothbrush | 牙刷 |
| towel | 毛巾 |
| tower | 塔 |
| toy | 玩具 |
| traffic_light | 红绿灯 |
| train_(railroad_vehicle) | 火车_(铁路_车辆) |
| trash_can | 垃圾箱 |
| tray | 托盘 |
| tree | 树 |
| tripod | 三脚架 |
| trousers | 裤子 |
| truck | 卡车 |
| trumpet | 喇叭 |
| turtle | 龟 |
| umbrella | 伞 |
| vase | 花瓶 |
| vegetables | 蔬菜 |
| violin | 小提琴 |
| wall_socket | 墙上的插座 |
| watch | 手表 |
| water_jug | 水壶 |
| whale | 鲸 |
| wheel | 车轮 |
| wheelchair | 轮椅 |
| window | 窗户 |
| wineglass | 红酒杯 |
| zebra | 斑马 |
API参数说明
-
HTTP 方法:
POST -
Body 请求参数
| 名称 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| url | String | 与 img 参数二选一 | 图像的 URL 地址。支持 HTTP/HTTPS 和 S3 协议。要求图像格式为 jpg/jpeg/png/bmp ,最长边不超过 4096px。 |
| img | String | 与 url 参数二选一 | 进行 Base64 编码的图像数据 |
- 请求 Body 示例
{
"url": "图像的URL地址"
}
{
"img": "Base64编码的图像数据"
}
- 返回参数
| 名称 | 类型 | 说明 |
|---|---|---|
| Labels | List | 图像中找到的目标列表 |
| Name | String | 目标类别名 |
| Instances | List | 类别实例列表 |
| BoundingBox | JSON | 实例在图像中的的坐标值,包含top,left,width,height相对全画面的百分比 |
| Confidence | Float | 实例的置信度,0-100 |
| Confidence | Int | 当前类别实例置信度的最大值 |
| LabelModelVersion | String | 当前模型版本号 |
- 返回示例
{
"Labels": [
{
"Name": "car_(automobile)",
"Confidence": 67.87780523300171,
"Instances": [
{
"BoundingBox": {
"Width": 1.0013043403596384,
"Height": 0.9958885181613408,
"Left": -0.00021715163893532008,
"Top": 0.00033918747441136817
},
"Confidence": 67.87780523300171
}
]
},
{
"Name": "mirror",
"Confidence": 59.2678964138031,
"Instances": [
{
"BoundingBox": {
"Width": 0.14041614532470703,
"Height": 0.29166373257057565,
"Left": 0.2743588984012604,
"Top": 0.2794425819140053
},
"Confidence": 59.2678964138031
}
]
},
{
"Name": "window",
"Confidence": 16.396354138851166,
"Instances": [
{
"BoundingBox": {
"Width": 0.44319993257522583,
"Height": 0.6673663154702585,
"Left": 0.5509995222091675,
"Top": 0.015529238811174562
},
"Confidence": 16.396354138851166
}
]
}
],
"LabelModelVersion": "1.2.0"
}
开始使用
API资源浏览器
前提条件
通过AWS CloudFormation部署解决方案时,您需要:
- 设置参数API Explorer为yes。
- 设置参数API Gateway Authorization为NONE。
否则,在API资源浏览器中只能看到该API的参考定义,而不能进行在线测试等操作。
操作步骤
- 访问AWS CloudFormation控制台。
-
从堆栈列表中选择方案的根堆栈,而不是嵌套堆栈。列表中嵌套堆栈的名称旁边会显示嵌套(NESTED)。

-
打开输出(Outputs)标签页,找到APIExplorer对应的URL。
-
点击URL访问API资源浏览器。页面将显示在部署解决方案时选中的API。

-
点击API右侧的向下箭头,展开显示API标准模型的请求方法。
- 点击右侧的测试(Try it out)按钮,并在Request body中输入正确的Body请求数据进行测试,并查看测试结果。
- 确认格式正确后,点击下方的Execute。
- 在Responses body中查看返回的JSON结果。您还可以通过右侧复制或下载按钮保存处理结果。
- 在Response headers中查看响应头的相关信息。
- (可选)点击Execute右侧Clear按钮,即可清空Request body与Responses测试结果。
Postman(AWS_IAM认证)
- 访问AWS CloudFormation控制台。
- 从堆栈列表中选择方案的根堆栈。
- 打开输出标签页,找到以 ObjectRecognition 为前缀的URL。
-
在Postman中新建标签页,并把URL粘贴到地址栏,选择POST作为HTTP调用方法。

-
打开Authorization配置,在下拉列表里选择Amazon Web Service Signature,并填写对应账户的AccessKey、SecretKey和Amazon Web Service Region(例如,cn-north-1或cn-northwest-1)。

-
打开Body配置项,选中raw和JSON数据类型。
-
在Body中输入测试数据,单击Send按钮即可看到相应返回结果。
{
"url": "图像的URL地址"
}

cURL
- Windows
curl --location --request POST "https://[API_ID].execute-api.[AWS_REGION].amazonaws.com/[STAGE]/object_recognition" ^
--header "Content-Type: application/json" ^
--data-raw "{\"url\": \"图像的URL地址\"}"
- Linux/MacOS
curl --location --request POST 'https://[API_ID].execute-api.[AWS_REGION].amazonaws.com/[STAGE]/object_recognition' \
--header 'Content-Type: application/json' \
--data-raw '{
"url":"图像的URL地址"
}'
Python(AWS_IAM认证)
import requests
import json
from aws_requests_auth.boto_utils import BotoAWSRequestsAuth
auth = BotoAWSRequestsAuth(aws_host='[API_ID].execute-api.[AWS_REGION].amazonaws.com',
aws_region='[AWS_REGION]',
aws_service='execute-api')
url = 'https://[API_ID].execute-api.[AWS_REGION].amazonaws.com/[STAGE]/object_recognition'
payload = {
'url': '图像的URL地址'
}
response = requests.request("POST", url, data=json.dumps(payload), auth=auth)
print(json.loads(response.text))
Python(NONE认证)
import requests
import json
url = "https://[API_ID].execute-api.[AWS_REGION].amazonaws.com/[STAGE]/object_recognition"
payload = json.dumps({
"url": "图像的URL地址"
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"url\":\"图像的URL地址\"\n}");
Request request = new Request.Builder()
.url("https://xxxxxxxxxxx.execute-api.xxxxxxxxx.amazonaws.com/[STAGE]/object_recognition")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
成本预估
您需要承担运行解决方案时使用亚马逊云科技各个服务的成本费用。截至这次发布的版本,影响解决方案的成本因素主要包括:
- Amazon API Gateway调用次数
- Amazon API Gateway数据输出量
- Amazon CloudWatch Logs存储量
- Amazon Elastic Container Registry存储量
如果您选择基于Amazon Lambda架构部署,影响成本的因素还包括:
- Amazon Lambda调用次数
- Amazon Lambda运行时间
与之对应的Amazon SageMaker架构部署,影响成本的因素还包括:
- Amazon SageMaker终端节点实例类型
- Amazon SageMaker终端节点数据输入量
- Amazon SageMaker终端节点数据输出量
成本预估示例1
以由西云数据运营的亚马逊云科技中国(宁夏)区域(cn-northwest-1)为例,处理1MB图像,处理时间1秒
使用本方案处理此图像所需的成本费用如下表所示:
| 服务 | 用量 | 费用 |
|---|---|---|
| AWS Lambda | 调用百万次 | ¥1.36 |
| AWS Lambda | 内存10240MB,每次运行1秒 | ¥1134.8 |
| Amazon API Gateway | 调用百万次 | ¥28.94 |
| Amazon API Gateway | 数据输出以每次10KB计算,¥0.933/GB | ¥9.33 |
| Amazon CloudWatch Logs | 每次10KB,¥6.228/GB | ¥62.28 |
| Amazon Elastic Container Registry | 0.5GB存储,每月每GB¥0.69 | ¥0.35 |
| 合计 | ¥1237.06 |
成本预估示例2
以美国东部(俄亥俄州)区域(us-east-2)为例,处理1MB图像,处理时间1秒
使用本方案处理此图像所需的成本费用如下表所示:
| 服务 | 用量 | 费用 |
|---|---|---|
| AWS Lambda | 调用百万次 | $0.20 |
| AWS Lambda | 内存10240MB,每次运行1秒 | $166.7 |
| Amazon API Gateway | 调用百万次 | $3.5 |
| Amazon API Gateway | 数据输出以每次10KB计算,$0.09/GB | $0.9 |
| Amazon CloudWatch Logs | 每次10KB,$0.50/GB | $5 |
| Amazon Elastic Container Registry | 0.5GB存储,每月每GB$0.1 | $0.05 |
| 合计 | $176.35 |
卸载部署
您可以通过AWS CloudFormation卸载 通用物体识别 功能,具体步骤请见部署解决方案:更新AWS CloudFormation堆栈(添加或删除AI功能),并在参数部分确认 ObjectRecognition 参数设置为no。
卸载时间:10 分钟