通用物体识别
检测图像中的通用对象主体,返回该对象主体的区域信息与置信度。支持识别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 分钟