ai_图像识别(代码片段)

gcgc gcgc     2023-02-13     237

关键词:

http://ai.baidu.com/forum/topic/show/595938

经测试识别率相当高,车辆信息识别

 

 

文中的import cv2不是python3自带库,需要安装

pip install alfred-py

 

文中代码是别的是汽车,需要换为其他物体的识别请修改 API_URL

原文:

本文由在当地较为英俊的男子金天大神原创,版权所有,欢迎转载,本文首发地址 https://jinfagang.github.io 。但请保留这段版权信息,多谢合作,有任何疑问欢迎通过微信联系我交流:jintianiloveu

 

咋一看标题感觉有点标题党,其实不然,本篇主要介绍AI的一个强大赋能,那就是用人工智能来识别车的型号以及出厂年份,甚至包括车自身的颜色信息!车型检测识别是个刚需,目前这块还当真处于市场空白。我有时候面前一辆无比牛逼的跑车,我却视之如五菱宏光。假如有一款app可以拍照识别车型,并且告诉你,车的品牌、颜色,甚至是定损程度,这一定非常吸引人啊。我点子已经说到这里了。如果你参考我的文章写了一个这样的应用,别忘了回来给我打个赏。

通过AI去识别车型,如果你只是用汽车之家这样的APP来做车的识别,应该只能得到车的品牌,不要说车的型号以及出厂年份了,更不用说能够识别车的颜色信息。这个再很多场合非常有用,比如说智能安防,对通过的车辆建库,自动识别车主车型号以及颜色信息,方便快捷成本低。

闲话不多说,我们今天的主要目标就是在极其短的时间之类,构建一个车型检测识别的人工智能应用。而我们要祭出的大杀器,正是来自百度ai开放平台的图像识别。这个平台能做些什么事情呢,我在之前的文章都有详细的介绍。考虑到很多人并没有阅读之前的文章,所以在这里,我还是教大家如何一步步从零来构建这么一个应用。

 

使用场景
这个AI赋能的使用场景可有说是极其广泛。下面我们先简单的列举一下,然后再教大家如何去实现。

做一个车型识别APP
开发一个APP一键拍照识别车型号甚至出厂年份是很直接的需求。目前在市场上很难找到一款完全用深度学习来做的这方面的产品啊。下面给大家演示的这个实例就可以看出,不管是准确度还是速度,这都无疑是最好的方式。

车型识别APP在市场上需求还是非常大的,这个API所能够检测的不仅仅包含国产车,国外车型、跑车、越野车等车型应有尽有,极大地满足客户们的需求。

洗车门店客户车型自动识别
如果大家有幸成为一家汽车美容店的老板,那这个需求就很显然了,每天无数的车来来往往,有心的记录一下过往的顾客们的车型号、年份、颜色,从而从这些大数据中挖掘出一些用户消费模式,这就是AI赋能线下产业的一个很显然的例子啊!然而如果人工去做,无疑是耗时费力的。而这个平台所给予的便是最基础的能力!如果大家有想法建造一个这样的系统,那最起码最基础的功能部分已经被百度所解决了,接下来就是业务模式的问题了。

高档社区车型自动统计
很多企业用户,尤其是从事安防领域的会有这样的需求,他们往往需要知道每天进入的车辆的型号、颜色以及出厂年份,从而与人脸识别的车主对应。其实使用百度图像识别平台就可以非常出色的完成这个任务。如果大家仔细阅读下面的内容,就会发现,所有的这些需求都可以在返回的结果中得到!再结合百度的人脸识别SDK,所有的一切水到渠成!

好了,闲话不多说,让我们直接开始去实现它!

 

创建百度图像识别平台动物识别应用
闲话不多说,首先我们需要前往百度的AI开放平台,找到图像技术下面的细粒度

我们可以看到一个霸气的banner,这里我们点击立即使用,能够看到下面的界面:

 

技术分享图片

这是我的百度云控制台界面。实际上大家只需要新建一个应用,就可以调用所有能力了。我强烈建议大家能够根据创建的每个应用的不同功能去命名不同的名字,这样后面也好区分啦。

技术分享图片

 

创建完应用之后,你就可以看到你的apikey和secretkey,这两个就是我们最终需要的绝密秘钥了。

然而我们需要进一步思考的问题是,如果用这么牛逼的平台来构建自己的车型识别应用呢?首先我们可能需要一张测试图片。我尽可能的把整个内容精简吧。我先给大家推荐一款直接根据关键词下载图片的深度学习工具:alfred。

 

构建车型识别框架
在这里给大家推荐alfred, 大家可以直接从pip安装:

sudo pip3 install alfred-py

然后你可以在terminal里面看到alfred的使用方式:

alfred -h

在这里不具体讲解。实际上我们需要的一辆保时捷911的图片, 请注意哦!我们要测试这个车型!如果百度图像识别平台没有检测出来,那就不能说其牛逼了,连保时捷911都不认识,那还检测个毛。我们直接用alfred进行搜索一张测试图片吧:

alfred scrap image -q ‘保时捷911‘

我们看看我们的测试图片啥样:

 

技术分享图片

看上去很霸气。这要是我的车库该多好,纵横北京成大佬。别做梦了,还是想想接下来怎么做把。我们打算用上面那张黄色的保时捷来做一下测试。

测试代码如下:

import os
import requests
import cv2
import base64
import json
from pprint import pprint
import time


class PlantRecognizer(object):

    def __init__(self, api_key, secret_key):
        self.access_token = self._get_access_token(api_key=api_key, secret_key=secret_key)
        self.API_URL = ‘https://aip.baidubce.com/rest/2.0/image-classify/v1/car‘ + ‘?access_token=‘
                       + self.access_token

    @staticmethod
    def _get_access_token(api_key, secret_key):
        api = ‘https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials
              ‘&client_id=&client_secret=‘.format(api_key, secret_key)
        rp = requests.post(api)
        if rp.ok:
            rp_json = rp.json()
            print(rp_json[‘access_token‘])
            return rp_json[‘access_token‘]
        else:
            print(‘=> Error in get access token!‘)

    def get_result(self, params):
        rp = requests.post(self.API_URL, data=params)
        if rp.ok:
            print(‘=> Success! got result: ‘)
            rp_json = rp.json()
            pprint(rp_json)
            return rp_json
        else:
            print(‘=> Error! token invalid or network error!‘)
            print(rp.content)
            return None

    def detect(self, img_path):
        f = open(img_path, ‘rb‘)
        img_str = base64.b64encode(f.read())
        params = ‘image‘: img_str, ‘with_face‘: 1

        tic = time.clock()
        rp_json = self.get_result(params)
        toc = time.clock()
        print(‘=> Cost time: ‘, toc - tic)

        result = rp_json[‘result‘]
        print(result)


if __name__ == ‘__main__‘:
    recognizer = PlantRecognizer(api_key=‘G5Vq7N0GGTBGK5C3vk4BV2N7‘, secret_key=‘2NqvsFtbsgY9277QTInKXWVxyDw46Ri6‘)

    img = ‘保时捷911/保时捷911_02.jpg‘
    recognizer.detect(img)

好了,见证奇迹的时刻到了,让我们来运行一下?看看这个结果怎么样。

技术分享图片

简直牛逼了好么!!!不仅识别出了这事保时捷911,连2002款也识别出来了!!!甚至识别出了这事香槟色!!!庸俗的我作为人类还以为是屎黄色。。

 

总结
我们大概花了3分钟时间够构建了一个车型检测的应用,不仅仅是车型,连车的出场年份都一清二楚,甚至包括车的颜色。看了本文收到启发而且创业担任CEO的亲们,别忘了我的微信收款二维码。

更新在最后,截止本文发布,最新的车型检测API不仅仅可以识别车型,还能够检测!!API地址为: http://ai.baidu.com/tech/imagerecognition/fine_grained ,这个新的API能够检测车的具体位置!!

百度ai图像识别(代码片段)

require‘restclient‘require‘open-uri‘require‘nokogiri‘require‘json‘require‘yaml‘require‘fileutils‘require‘base64‘defextract_phone(image_src)url="https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"a 查看详情

基于art-pi实现的ai图像识别(代码片段)

....com/liukangcc/ART-PI_BAIDUAI不用自己训练模型,也能进行AI图像识别;借助百度云平台,我们可以在APT-Pi上实现图像识别功能。创建图像识别应用1、打开链接 百度智能云,申请账号;2、打开控制台3、打开图像识... 查看详情

python实现ai图像识别-身份证识别(代码片段)

图像识别说白了就是把一张照片上面的文字进行提取,提供工作效率需求分析身份证识别主要是把一张身份证照片上面的文字信息进行提取,不用再使用人工去手动抄写了,下面给大家说的这个身份识别主要是使用pyt... 查看详情

知物由学|只要5行代码,就可以实现ai图像识别(代码片段)

“知物由学”是网易云易盾打造的一个品牌栏目,词语出自汉·王充《论衡·实知》。人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道。“知物由学”希望通过一篇篇技术干货、趋势解读、人... 查看详情

实战!轻松搭建图像分类ai服务(代码片段)

...「说」、「动」、「理解」、「分辨」和「思考」。AI在图像识别和文本处理方面的效果尤为突出,且已经应用到人类的生活中,例如人脸识别、对话、车牌识别、城市智慧大脑项目中的目标检测和目标分类等。接下来,我们将... 查看详情

神经网络cnn—cifar_10图像识别(代码片段)

1fromkeras.datasetsimportcifar102fromkeras.utilsimportnp_utils3importmatplotlib.pyplotasplt4fromkeras.modelsimportload_model5importnumpyasnp6np.random.seed(10)7(x_img_train,y_label_train),(x_img_test, 查看详情

hcia-ai_深度学习_图像分类(代码片段)

图像分类4图像分类4.1实验介绍4.1.1关于本实验4.1.2目标4.2实验步骤4.2.1导入依赖包4.2.2数据预处理4.2.3模型构建4.2.4模型训练4.2.5模型评估4.3总结4图像分类4.1实验介绍4.1.1关于本实验4.1.2目标加强对keras神经网络模型构建过程的理解... 查看详情

ai人脸识别/烟火检测/车牌识别智能分析网关新增mqtt服务(代码片段)

...支持AI视频智能分析功能,通过对场景中的监控视频图像进行智能识别与分析,可提供人脸、人体、车辆、烟火、物体、行为等识别、抓拍、比对、告警等服务,支持对场景中的异常及违规现象进行精准研判、数据分... 查看详情

hcia-ai_深度学习_利用tensorflow进行手写数字识别(代码片段)

利用TensorFlow进行手写数字识别3利用TensorFlow进行手写数字识别3.1实验介绍3.2实验目的3.3实验步骤3.3.1项目描述和数据集获取3.3.1.1项目描述3.3.1.2数据获取以及数据处理3.3.2数据集预处理及可视化3.3.3DNN模型3.3.3.1DNN模型构建3.3.3.2DNN... 查看详情

hcia-ai_深度学习_利用tensorflow进行手写数字识别(代码片段)

利用TensorFlow进行手写数字识别3利用TensorFlow进行手写数字识别3.1实验介绍3.2实验目的3.3实验步骤3.3.1项目描述和数据集获取3.3.1.1项目描述3.3.1.2数据获取以及数据处理3.3.2数据集预处理及可视化3.3.3DNN模型3.3.3.1DNN模型构建3.3.3.2DNN... 查看详情

基于python的百度ai人脸识别api接口(可用于opencv-python人脸识别)(代码片段)

基于Python的百度AI人脸识别API接口(可用于OpenCV-Python人脸识别)资源:https://download.csdn.net/download/weixin_53403301/43644312之前的项目:【最新】基于OpenCV的Python人脸识别、检测、框选(遍历目录下所有照片依次识别... 查看详情

opencv-字典法实现数字识别(尺寸归一化+图像差值)(代码片段)

...,非商业转载请注明出处实现原理    数字识别是图像处理学在现实生活中较多的应用之一,比如车牌识别、银行卡号识别、执照识别、文档文字OCR识别等等。如何实现数字识别呢?目前最为流行的就是运用AI、机... 查看详情

opencv利用cv.matchshapes()函数实现图像识别技术(代码片段)

在待识别图像上找到模板图像待识别图像:模板图像:识别原理1.将待识别图像->灰度图像->二值图像2.通过轮廓检索函数cv.findContours找到待识别图像所有轮廓3.模板图像->灰度图像->二值图像4.通过轮廓检索函数cv.findContour... 查看详情

easyocr简单实用(代码片段)

...字识别工具。目前支持80中语言的识别。框架如下:图像预处理(去噪、色彩饱和度、尖锐处理)CRAFT文字检测中间处理(倾斜处理等)文字识别后续处理输出结果安装安装稳定版pipinstalleasyocr安装最新版本:pipi... 查看详情

java示例代码_更改图像的颜色,但仍然可以识别对象

java示例代码_更改图像的颜色,但仍然可以识别对象 查看详情

从原理到代码:大牛教你如何用tensorflow亲手搭建一套图像识别模块|ai研习社

 从原理到代码:大牛教你如何用TensorFlow亲手搭建一套图像识别模块|AI研习社 PPT链接:https://pan.baidu.com/s/1i5Jrr1N视频链接:https://v.qq.com/x/page/n0386utnrb0.html?start=492  查看详情

python如何图像识别?

...们显示的图片了。 参考技术B1.提取待检索电影的每一帧图像的局部敏感哈希(LocalitySensitiveHashing;LSH)特征,并保存下来,不妨称为库(gallery).LSH特征可以用整型来表示,一般是6...2.来了一张查询图像(query),也计算它的LSH特征.然后与预先... 查看详情

各类场景应用中涉及的ai算法汇总

参考技术A整理了各类场景应用中AI算法一、图像CV内容安全,目标检测,图像识别,智能视觉生产,图像搜索,图像分割,物体检测,图像分类,图像标签,名人识别,概念识别,场景识别,物体识别,场景分析,智能相册,内... 查看详情