图像识别就是这么简单
Posted 飞特族
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像识别就是这么简单相关的知识,希望对你有一定的参考价值。
在这个快速发展的社会,时间就是金钱,有些机会稍不留神也就转眼即逝,所以很多公司在做某些产品的时候并不会把大把的时间放到某些技术上,为了快速适应社会的需要,企业大部分是借助现有的成熟技术去完成自身的业务需求,而不是自己先潜心研究某项技术再去完成产品要求;
今天我写这篇文章也是因为发生在我身上的一件事所以想分享出来能帮助更多的小伙伴,大概在今年4月份吧,我表弟刚参加完java培训班,出来找工作,因为他自己不是科班生,而且学历也一般,想找到一份差不多的工作着实很难,通过一段时间的努力好不容易找到一份工作,可是企业只愿意以实习的身份每个月给一千元工资!最后和我沟通后决定从新换工作,好不容易有个面试的,可是去后面试官扔给他一个题目(回家做完交题),让他实现一个“识别动物”的习题;一个刚培训完的职场小白看到这傻眼了,于是就江湖救急又找到我了;
看了题后可以看出来面试官只是想考考他的学习能力,如果真是让做识别动物的算法,我估计他们公司一个人都招不到(因为能在那么短的时间写图像识别算法的人我还真没见过);于是我就借助某度AI开放平台完成也面试官的业务要求;
分享出来只是给大家一个思路,以后再遇到这种高难度技术先去找找有没有成熟的技术可用:
操作步骤:
1、先申请一个百度账户;
2、进入百度云->管理控制台->产品服务->人工智能->图像识别;
3、创建应用,应用名称和应用描述随便填,其他的默认就行,创建完成后如下:
4、前奏完成了,开始完成代码工作啦!我这块用的是maven项目,引入jar;
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.2.0</version>
</dependency>
5、编写主程序
package com.sunfreeter;
import java.io.IOException;
import java.util.HashMap;
import org.json.JSONObject;
import com.baidu.aip.imageclassify.AipImageClassify;
public class AipImageClassifyClient{
public static final String APP_ID = "14415128";
public static final String API_KEY = "tcyzpY9IZqfdLBv0hXcCcbSR";
//换成你自己的就可以了,如果你只想玩一下可以在公众号回复“图像识别”临时使用族长无私奉献的key
public static final String SECRET_KEY = "******";
public static void main(String[] args) throws IOException {
AipImageClassify client = new AipImageClassify(APP_ID, API_KEY, SECRET_KEY);
HashMap<String, String> options = new HashMap<String, String>();
options.put("baike_num", "5");
//待识别的图片
String image = "d://test.jpg";
//动物识别
//JSONObject animal =client.animalDetect(image, options);
//System.out.println(animal.toString());
//通用识别
JSONObject general = client.advancedGeneral(image, options);
System.out.println(general.toString(2));
}
}
通用物体识别 请求参数详情
通用物体识别 返回数据参数详情
识别的test.jpg图片是我随便找的,是不是挺萌的!
6、运行结果,score 代表置信度,值越大代表可能性越大,比如下面的值说明识别的图片最可能的是俄罗斯蓝猫:
{
"result": [
{
"score": 0.280961,
"root": "动物-猫",
"keyword": "俄罗斯蓝猫",
"baike_info": {
"baike_url": "http://baike.baidu.com/item/%E4%BF%84%E7%BD%97%E6%96%AF%E8%93%9D%E7%8C%AB/643065",
"image_url": "http://imgsrc.baidu.com/baike/pic/item/908fa0ec08fa513da1c7f807346d55fbb3fbd9fe.jpg",
"description": "俄罗斯蓝猫(Russian Blue),历史上曾被称做阿契安吉蓝猫,曾有过三种不同的名字。最初是阿契安吉蓝猫,直到20世纪40年代才有现在的名字,另外有段时间它则叫做马耳他猫。证据显示,这种猫确实原产于俄罗斯,因为已在俄罗斯寒带地区发现了同种的猫。俄罗斯蓝猫体型细长,大而直立的尖耳朵,脚掌小而圆,走路像是用脚尖在走。身上披着银蓝色光泽的短被毛,配上修长苗条的体型和轻盈的步态,尽显一派猫中的贵族风度。"
}
},
{
"score": 0.211714,
"root": "动物-哺乳动物",
"keyword": "卡特尔猫",
"baike_info": {
"baike_url": "http://baike.baidu.com/item/%E5%8D%A1%E7%89%B9%E5%B0%94%E7%8C%AB/1004869",
"description": "卡特尔猫是夏特尔猫的别名,英文名字是Chartreux。是一个历史十分长久的品种。"
}
},
{
"score": 0.139753,
"root": "动物-哺乳动物",
"keyword": "英国短毛猫",
"baike_info": {
"baike_url": "http://baike.baidu.com/item/%E8%8B%B1%E5%9B%BD%E7%9F%AD%E6%AF%9B%E7%8C%AB/672846",
"image_url": "http://imgsrc.baidu.com/baike/pic/item/37d12f2eb9389b5039d4d0c88c35e5dde7116e04.jpg",
"description": "英国短毛猫,体形圆胖,四肢粗短发达,毛短而密,头大脸圆,温柔平静,对人友善,极易饲养。大而圆的眼睛根据被毛不同而呈现各种颜色。作为一个古老的猫品种,其历史可追溯至古罗马时期的家猫,由于拥有悠久的育种历史,可以称得上是猫家族中的典范。英国短毛猫除了拥有固定而聚,代表性的遗传特征之外,又具有丰富的变异性,如背毛色眼睛颜色等。更重要的是,有了广泛的配种历史后,这种猫拥有了更健康的身体和更温驯的性格。"
}
},
{
"score": 0.074385,
"root": "动物-哺乳动物",
"keyword": "欧洲短毛猫",
"baike_info": {
"baike_url": "http://baike.baidu.com/item/%E6%AC%A7%E6%B4%B2%E7%9F%AD%E6%AF%9B%E7%8C%AB/386735",
"image_url": "http://imgsrc.baidu.com/baike/pic/item/8326cffc1e178a82a153a044f603738da877e8e3.jpg",
"description": "欧洲短毛猫强壮耐劳,适应能力强。如乳黄色的淡色系往往很少。欧洲短毛猫远不如其英国或美国亲戚而闻名。在数似品种已建立稳固根基情况中,其很难说服培育者来发展这些短毛猫。乳黄色猫颜色的深度不一。暖色调带浅红色不讨人欢喜,而带有清晰虎纹猫同样也不讨人欢喜。然而这一种才有的缺陷很难克服,甚至同一窝猫仔颜色也是有深有浅。"
}
},
{
"score": 0.001433,
"root": "动物-猫",
"keyword": "短毛猫",
"baike_info": {
"baike_url": "http://baike.baidu.com/item/%E7%9F%AD%E6%AF%9B%E7%8C%AB/6221174",
"image_url": "http://imgsrc.baidu.com/baike/pic/item/d6ca7bcb0a46f21fce43b89ef7246b600d33ae8c.jpg",
"description": "短毛猫是家养猫,皮毛不长,很短。短毛猫可能有单层皮毛,也可能是双层皮毛。单层皮毛通常由一层纤细的丝绒般毛发形成,紧贴身体,比如暹罗猫,波曼猫;双层皮毛由外层粗长毛发和浓密柔软的绒毛内层组成,比如马恩岛猫,俄罗斯蓝猫。"
}
}
],
"log_id": 5060640491279115800,
"result_num": 5
}
看完后是不是觉得很简单呢?赶紧动起手来试试吧!
记住:互联网思维一定不要想着什么都自己从头做起!那样你永远抓不住机会!
族长
你如果想 屯干货 | 享信息 | 聊生活
以上是关于图像识别就是这么简单的主要内容,如果未能解决你的问题,请参考以下文章