`
kongshanxuelin
  • 浏览: 912641 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

计算机视觉识别汽车花草人脸颜值

阅读更多

目前人工智能技术已日趋成熟,在不知不觉中,这些算法影响着你的生活,各大app的消息推送越来越精准,不论是知乎,抖音,今日头条等,利用大数据与AI技术消耗着你大量的碎片化时间,本文主要详解下人工智能之计算机视觉;

项目背景

近些年,人工智能技术发展之快,近乎超出所有人的料想,从alphaGo战胜柯洁等一众围棋高手,AI技术被捧上神坛,似乎一夜之间,原来遥不可及的AI走进普通人的视线,这之后,各类基于AI的软硬件在市场上风生水起,基于AI的闲聊的各类机器人,如天猫精灵,亚马逊echo,Google Home,叮咚音响之类的小机器人和智能音箱设备如雨后春笋般冒出;

技术开源方面,以Google为首的TensorFlow斩获10w个star,这个成绩估计可以排进GitHub前10了吧,自带Google光环,第二代智能学习系统,可被用于语音识别和图像识别等机器学习领域;

人工智能和大数据似乎是天然的绝配,以前计算机识别算法即便再精准准确率都很难达到30%以上,比如要识别一只猫,通过人眼和经验是何等简单的事情,让计算机识别并不简单,猫可能是坐着站着躺着,可能品种不同,颜色不同,也可能有障碍物只露出一个头,计算机如何识别,有了大数据,一切就不同了,基于大数据的训练集,加上一系列猫的特征向量,通过自主学习,计算机的视觉技术已经不可同日而语,目前市面上开源的大数据训练集,比如是识别文字的,动物的等,比如ftp://ftp.ics.uci.edu/pub/machine-learning-databases 资源上有各类的训练集,通过大数据训练集,可将机器学习的算法精准度提高到比较满意的程度,本文介绍基于腾讯的AI云平台API,它们可以如何识别花花草草,汽车品种,甚至预测人的年龄,颜值等强大功能;

调用腾讯AI云API

    腾讯AI云API访问网址:http://ai.qq.com/,使用步骤:

  • 使用自己QQ或微信账户申请个开发者账号;

  • API的调用Demo官方只提供了python版和php版,本文使用Java版;

 

看了python代码后,我们可以编写一个Java版的调用,关键在于发送post请求时sign的生成,我们可以写一个公共函数,如下:

 

 1        /**
2     * @param url 腾讯post API Restful地址
3     * @param params 接口的请求参数列表,只需要填入API参数即可
4     * @return
5     */

6    public JSONObject post(String url,Map<String,String> params) {
7        if(!params.containsKey("app_id")) {
8            params.put("app_id", appId);
9        }
10        if(!params.containsKey("time_stamp")) {
11            long time_stamp = System.currentTimeMillis()/1000;
12            params.put("time_stamp", time_stamp+"");
13        }
14        if(!params.containsKey("nonce_str")) {
15            String nonce_str = IdWorker.getInstance().uuid();
16            params.put("nonce_str", nonce_str);
17        }
18        if(!params.containsKey("sign") || StrUtil.formatNullStr(params.get("sign")).equals("")) {
19            Map<String, String> sPara = PayUtil.paraFilter(params);
20            String prestr = PayUtil.createLinkString(sPara);
21            String key = "&app_key="+appKey;
22            String mysign = sign(prestr, key, "utf-8").toUpperCase();
23            params.put("sign", mysign);
24        }
25        String paramStr = createLinkString(params);
26        Map<String,String> headers = new HashMap();
27        headers.put("Content-Type", "application/x-www-form-urlencoded");
28        String json = HttpUtils.post(url,null, paramStr,headers);
29        return JSON.parseObject(json);
30    }

 

直接使用Restful API地址即,以识别汽车为例:

 

1        String url = "https://api.ai.qq.com/fcgi-bin/vision/vision_imgidentify";
2        Map<String,String> params = new HashMap();
3        String image = ImageUtils.encodeImage(new File(path));
4        params.put("scene", "1");
5        params.put("image", image);
6        JSONObject json = post(url,params);
7        return json;

小程序版AI接口演示

利用以上代码,我们即可用在各个平台中,以微信小程序为例,效果如下:

 

  • 花草识别;

     

     

  • 汽车品牌识别;

 

  • 年龄评测;

 

 

 

点击阅读原文,直达源码地址:https://github.com/kongshanxuelin/microteam

 

技术探讨请关注我们的公众号(文末)或长按二维码即可下载体验:

 

 

你可能还对以下文章感兴趣:

 

  1. 基于OCR技术的债券代码识别;

  2. 微信版识别债券代码;

 

 

长按识别二维码关注我们

 

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics