百度开放可定制化图像识别平台,构建深度学习应用只需几秒

最近百度开放了一个可定制化的图像识别平台,传送门在此:http://ai.baidu.com/customize/ 。百度在此平台上实现了多个可以实际落地化的图像识别细化场景,比如餐饮菜品识别、人工智能安防人体检测、动植物品种识别等,种类繁多分门别类,最为重要的是,每个可落地化的场景还支持模型再训练和定制化!这对于广大人工智能从业者和企业来说都是一个巨大的福音。以前花费几十万的安防平台可能只需要一个简单的API就能轻松实现。其中也不乏一些亮点能力,比如直接识别车的型号功能,以后可以自己做个APP拍照识别车了,从此再也不用做车盲或者low逼,凯迪拉克摆在前面不认识。

为了让广大开发者对这个平台有一个更加详尽的了解,我在这里给大家详细列举一下,百度这个开放平台到底赋能了哪些东西,并且对于我们来说怎么才能使用到位。

首先抛开大的不说,百度这个平台实际落地的点还是非常focus的,这也和当今深度学习应用的特性有关,也就是说没有一个普适的模型去实现所有的任务。百度此次开发的图像识别平台,大的来说可以分为:通用图像识别细粒度图像识别人体分析手机端图像识别模型车辆定损检测,以及最重要的,来自开放平台的可定制化图像识别模型支持。

我将从具体的识别案例以及具体API调用来介绍这么能力怎么被赋能。

通用图像识别

所谓通用图像识别,其实就是目标检测。个人认为能够实现目标的检测,就说明这个开放的图像识别平台已经是集大成了。该能力主要用于识别主体目标在图像中的区域,也就是物体的检测。本文只是对图像识别平台进行一个大致介绍,将不会对通用图像识别的反应速度做一个测评,具体各个接口能力的速度还请关注另外几篇文章。

该能力的API调用方式为:

https://aip.baidubce.com/rest/2.0/image-classify/v1/object_detect

调用方式为POST, 通过百度ai平台的API_KEY以及SECRET_KEY合成access_token, 并将该参数传入url。

其次在传入参数的body中,添加两个参数:

  • image: 图像数据的base64编码,string类型
  • with_face: int,0代表检测区域带脸部区域,默认为1,即带人脸

最终返回的数据类型为:

{
"log_id": 895582300,
"result": {
"width": 486,
"top": 76,
"left": 134,
"height": 394
}
}

即,最终结果的四角坐标。log_id指的是问题的定位。

细粒度图像识别

这个模块具体细分下来,百度实现了许多可以落地场景,我将一一讲解一下。首先是,图像分类本身的细化需求,这就必须要一个细粒度的分类,比如识别花,就应该在更加集中于花识别的数据集上做这个检测。

1. 车型识别

这个技能可以说是许多开发者想要的!做一个直接识别车辆型号、品牌、颜色、年份等信息。So here it is!这个能力还是非常赞的。让我们来看看如何调用。

接口地址为:

https://aip.baidubce.com/rest/2.0/image-classify/v1/car

同样适用post方法,传入access_token. 在body里面传入参数:

  • image: 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式;
  • top_num: 识别结果的置信度最高的n个结果,返回结果top n,默认5。

最后我们来看看实际返回的数据:

{
"log_id": 513144405,
"result": [{
"name": "非车类图片",
"score": 1,
"year": "无年份信息"
}, {
"name": "宾利慕尚",
"score": 0,
"year": "2012"
}, {
"name": "众泰M300",
"score": 0,
"year": "2009"
}, {
"name": "宾利添越",
"score": 0,
"year": "2016"
}, {
"name": "佩奇奥HEMERA",
"score": 0,
"year": "无年份信息"
}],
"color_result": "白色"
}

这个非常不错,准确度很高啊,有没有车可以被准确识别出来。相信大家看到这个文章之后,就可以着手去做一个app了,名字都想好了,拍照识别。估计会很火,等拿到了融资胜任了CEO别忘了再来给我捐点钱。

2. 菜品识别

这个是助力智能餐饮的一个应用。菜品识别可以提供自动识别菜品种的能力,但是除了名称以外还会进一步输出卡路里量!这个也是很好的落地场景啊!让我们来看看如何调用的:

https://aip.baidubce.com/rest/2.0/image-classify/v2/dish

同样直接使用post方法进行调用。加上acess_token, 最后需要在body传入的参数有:

  • image: Base64编码字符串,以图片文件形式请求时必填。(支持图片格式:jpg,bmp,png,jpeg),图片大小不超过4M。最短边至少15px,最长边最大4096px;
  • top-num: 返回结果top n,默认5;
  • filter_threshold: 默认0.95,可以通过该参数调节识别效果,降低非菜识别率.

返回的具体数据为:

{
"log_id": 2471272194,
"result_num": 5,
"result": [
{
"name": "烧烤(串类)",
"calorie": 333.33,
"probability": 0.35874313116074
},
{
"name": "鱿鱼",
"calorie": 333.33,
"probability": 0.20610593259335
},
{
"name": "板筋",
"calorie": 333.33,
"probability": 0.15860831737518
},
{
"name": "鸡脆骨",
"calorie": 333.33,
"probability": 0.077698558568954
},
{
"name": "麻辣烫",
"calorie": 333.33,
"probability": 0.041968926787376
}
]
}

这个识别还是不错的,可以对一张图片的多个菜品进行识别。

3. logo商品识别

这个logo识别应该支持当今诸多的知名商标,比如nike,肯德基,但是牛逼的是,假如你是一家公司,并不知名的公司,只要具有商标便可以申请入库。从而可以使你的logo能够被检测得到。我们来看看具体如何调用:

https://aip.baidubce.com/rest/2.0/image-classify/v2/logo

请求的方式也是post,并且带上acess_token.

body的内容为:

  • image: 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式;
  • custom_lib: 这是一个bool类型,意思就是是否用自己建的子库,这个子库的建立可以到百度ai平台控制台中进行自行建立。

最后这个返回的数据如下:

{
"log_id": 843411868,
"result_num": 1,
"result": [
{
"type": 0,
"name": "科颜氏",
"probability": 0.99998807907104,
"location": {
"width": 296,
"top": 20,
"height": 128,
"left": 23
}
}
]
}

显示的是logo的名字以及概率,还有该logo所在的位置。可以说功能非常强大了。

4. 动物识别

这个api应该不用多说,传入一张图片,识别出该图片的动物品种。还记得以前微软识花的app吗?现在你也可以开发一个app,叫做某某识马,xx识狗了,真正AI赋能的一种体现啊!这个调用依旧很简单,调用的url为:

https://aip.baidubce.com/rest/2.0/image-classify/v1/animal

传入body参数为:

  • image: 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式;
  • top_num: 识别结果的置信度最高的n个结果,返回结果top n,默认5。

返回数据的结果为:

{
"log_id": 304829369,
"result": [
{
"name": "蒙古马",
"score": 0.41471540927887
},
{
"name": "伊犁马",
"score": 0.39988899230957
},
{
"name": "哈萨克马",
"score": 0.39988899230957
}
...
]
}

5. 植物识别

这个个人认为更有用,因为女孩子喜欢旅游,喜欢花花草草,这个时候你如果有一个人工智能去识别它们,那……(此处大家可脑补)。不管怎么说,大家熟悉了百度识别平台的套路之后,你会发现真的有很多玩法啊!!!甚至可以帮你脱单,被无数妹子所仰慕,最终胜任CEO,走向人生巅峰…醒醒,现在是白天,我们继续码代码吧…

闲话不多说,api接口地址为:

https://aip.baidubce.com/rest/2.0/image-classify/v1/plant

传入body参数为:

  • image: 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式;

返回数据的结果为:

{
"log_id": 304829369,
"result": [
{
"name": "吉娃莲",
"score": 0.41471540927887
},
{
"name": "番杏科",
"score": 0.39988899230957
},
{
"name": "花月夜",
"score": 0.39988899230957
}
...
]
}

定制化图像识别

最后这个模块是定制化的图像识别,这个所在地址为: http://ai.baidu.com/customize/app/model/ 。可以可视化的定制自己的模型:

大家可以创建模型、训练模型、校验模型,非常方便的部署和测试。

总结

最后总结一下,这个百度开放的可定制化图像识别平台给予了普通开发者许多的AI功能,而这些跟我们的实际业务场景有着千丝万缕的联系,是人工智能实际应用场景落地的伟大尝试。非常期待百度陆续推出更多赋能的ai能力,让普通的app开发者能够更加快速的上手如此专业的ai功能,让app乘上人工智能的快车道!


Powered by 萝莉萝莉 and Sia

Copyright © 2017 - 2018 Jin Tian All Rights Reserved.

访客数 : | 访问量 :