百度AI攻略:通用物体识别

1.功能描述:

基于深度学习及大规模图像训练,准确识别图片中的物体、场景信息。可以应用于:
相关内容及广告推荐:对用户浏览网页中图片进行分析,识别图片内容给出相关内容推荐或广告展示。
相册分类及智能美图:批量读图实现相册智能分类管理。

通用物体与场景识别进行了能力升级——模型升级,Top1准确率绝对值提升7%,业界领先!具体如下图所示:


2.平台接入

通用物体与场景识别接入网址:https://console.bce.baidu.com/ai/?fromai=1#/ai/imagerecognition/overview/index

具体接入方式比较简单,可以参考我的另一个帖子,这里就不重复了:
http://ai.baidu.com/forum/topic/show/943327

3.调用攻略(Python3)及评测

3.1首先认证授权:

在开始调用任何API之前需要先进行认证授权,具体的说明请参考:

http://ai.baidu.com/docs#/Auth/top

具体Python3代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python

import urllib
import base64
import json
#client_id 为官网获取的AK, client_secret 为官网获取的SK
client_id =【百度云应用的AK】
client_secret =【百度云应用的SK】

#获取token
def get_token():
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret
    request = urllib.request.Request(host)
    request.add_header('Content-Type', 'application/json; charset=UTF-8')
    response = urllib.request.urlopen(request)
    token_content = response.read()
    if token_content:
        token_info = json.loads(token_content)
        token_key = token_info['access_token']
    return token_key


3.2通用物体与场景识别分析接口调用:

详细说明请参考: https://ai.baidu.com/docs#/ImageClassify-API/

说明的比较清晰,这里就不重复了。

大家需要注意的是:
API访问URL:https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general
Base64编码字符串,以图片文件形式请求时必填。(支持图片格式:jpg,bmp,png,jpeg),图片大小不超过4M。最短边至少15px,最长边最大4096px。注意:图片需要base64编码、去掉编码头后再进行urlencode。

Python3调用代码如下:

#通用物体与场景识别,返回可能性最大的通用物体与场景
#filename:图片名(本地存储包括路径),plantnum展示的数量
def general(filename,plantnum):
    request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general"
    
    # 二进制方式打开图片文件
    f = open(filename, 'rb')
    img = base64.b64encode(f.read())
    
    params = dict()
    params['image'] = img
    params['baike_num'] = plantnum
    params = urllib.parse.urlencode(params).encode("utf-8")
    #params = json.dumps(params).encode('utf-8')
    
    access_token = get_token()
    request_url = request_url + "?access_token=" + access_token
    request = urllib.request.Request(url=request_url, data=params)
    request.add_header('Content-Type', 'application/x-www-form-urlencoded')
    response = urllib.request.urlopen(request)
    content = response.read()
    if content:
        #print(content)
        content=content.decode('utf-8')
        #print(content)
        data = json.loads(content)
        result=data['result']
        
        nums=min(plantnum,len(result))
        
        for i in range(0,nums):
            item=result[i]
            print ('名称:',item['keyword'])
            print ('可能性:',item['score'])
            baike_info=item['baike_info']
            print ('百科描述:',baike_info['description'])
            print ('百科链接:',baike_info['baike_url'])
            print ('百科图片:',baike_info['image_url'])
        
    
general("../img/cbd1.jpg",1)

4.功能评测及建议:

选用不同的数据对效果进行测试,具体效果如下:


名称: 汗血马
可能性: 0.886632
百科描述: 汗血宝马,学名阿哈尔捷金马(拉丁学名:Akhal-teke horses),原产于土库曼斯坦。头细颈高,四肢修长,皮薄毛细,步伐轻盈,力量大、速度快、耐力强。德、俄、英等国的名马大都有阿哈尔捷金马的血统。汗血宝马是土库曼斯坦的国宝,并将其形象绘制在国徽和货币上。
百科链接: http://baike.baidu.com/item/%E6%B1%97%E8%A1%80%E5%AE%9D%E9%A9%AC/14310
百科图片: http://imgsrc.baidu.com/baike/pic/item/f31fbe096b63f6241b16dd1c8144ebf81a4ca362.jpg


名称: 电脑
可能性: 0.834694

名称: 都市夜景
可能性: 0.95057
百科描述: 内容简介本书集中收集了近年来国内外城市灯光设计的范例,并配以图片说明。书中将都市夜景分为城市鸟瞰、广场、街道、建筑、商店入口、橱窗、广告、标志、配景共7大类。本书对城市景观及灯光设计具有参考价值。
百科链接: http://baike.baidu.com/item/%E9%83%BD%E5%B8%82%E5%A4%9C%E6%99%AF/9838817
百科图片: http://imgsrc.baidu.com/baike/pic/item/d089b9863208d46867096ed3.jpg


测试下来,整体感觉处理的结果和速度都很好,对于不同物体与场景的识别都很准确。不过与百科内容结合还有提高的余地。
建议:是否能够扩展,提供每个物体的bounding box?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值