人工智能技术的突破往往来自于多方面技术间的融合互通。近日,百度在语音识别技术方面再获突破,将图像识别技术成功“跨界”到语音领域,大幅度提升语音识别产品性能,是继端对端语音识别后取得的另一次重大技术突破。那么,图像识别究竟是什么?
近些年比较经典的一个应用,就是谷歌和百度推出的识图功能,相信大家都已经有所体验;IT行业同事炒得火热的人脸识别,也是图像识别应用的一个典例;当然,现在的日常生活中也少不了网上购物中的识图,只要把想买的东西拿在某宝APP拍一下,就会立即搜索出此物品的种类和价格。
不过,这些厉害的功能究竟是怎么实现的呢?未来图像识别还会和我们生活有哪些更深的接触,又跟大数据有什么关系?今天为你慢慢探索。
数字图像(又称数码图像或数位图像),是二维图像用有限数字数值像素的表示。完成数字图像的识别需要大致经过信息获取图像采集->图像预处理(如二值化、反色等处理方法)得到特征数据->训练过程(分类器涉及和分类决策)->识别这几个步骤。由于数字图像和文字、数字均以像素为基本元素,加之数字图像识别和数字识别的基本过程类似,我将以图像识别技术中比较基础的数字识别简单讲述识别的过程。
先介绍一下几个后面会用到的基本概念:
1.模式识别:当前,模式识别的应用范围十分广泛,它的观察对象囊括了人类感官直接或间接接受的外界信息。而运用模式识别的目的,则是利用计算机模仿人的识别能力来辨别观察对象。模式识别方法大致可分为两种,即结构方法和决策理论方法,其中决策理论方法又称为统计方法。字符模式识别的方法可以大致分为统计模式识别、结构模式识别和人工神经网络等。上述的图像识别步骤就是模式识别的基本步骤了。
常用的模式识别方法之一是模板匹配,顾名思义,就是在输入图像上不断切割出临时图像、并将之与模板图像匹配,如果相似度足够高,就认为我们寻找到了应有的目标。最常见的匹配方法包括平方差匹配法、相关匹配法、相关系数匹配法等。以下我们都将以模板匹配为例,说明模型识别的概念。
2.支持向量机(SVM):支持向量机是一种可训练的、基于结构风险最小化原则的通用机器学习方法,简单来说就是一种分类器。SVM方法的原理简单说即是线性化和升维的过程。SVM是从线性可分情况下的最优分类超平面发展而来的。如下图所示,空心点和实心点分别代表两类样本,H为H维分类超平面,HI和H2分别为过各类点且离分类超平面举例最近且平行于H的超平面。最优分类超平面理论要求分类超平面在可将两类正确分开的基础上,使分类间隔最大化。
3.OpenCV:是一个基于BSD许可证授权发型的跨平台计算机视觉库。与其他函数库相比,致力于真实世界的实时应用。同时通过优化的C代码的编写,为其执行速度带来了客观的提升。
4.LIBSVM:一个简单、易于使用的SVM模式识别与回归软件包。软件包内包含python,svmtoy等文件夹,以及SVM-predict,svm-scale,svm-train等。
首先运用OpenCV函数库读取原始图像库中的图像数据,存储特征值到外部.txt文档。随后对数据进行预处理,并形成待训练数据;随后对及格过预处理的数据进行参数寻优、模型训练。在对待测试图像进行数据特征的提取后,将特征数据放进模型中进行预测并得到识别率预测值。最后对识别率情况进行分析。
下面是实战步骤:
1.图像采集
手绘了0-9共十个数字,每个数字10个样本,共100个样本。样本均为5*5模板。通过代码实现获得了手写数字图像的特征信息。
2.预处理
在得到特征数据后,需对特征数据进行一定的预处理以保证后续工作的正常进行。此次我们选用归一化处理,用svm-scale实现。进行归一化,目的是保证提取的数据处在一定范围内,避免过大或过小的情况发生,进而为模型的训练提供了保障。
此外,过程中还运用了参数寻优,目的是为模型的训练提供好的参数,以得到准确率更高的模型。
3.模型训练
模型训练即是根据之前提取到的样本特征数据,放到LIBSVM分类器中进行分类,分类的依据是每组特征值的标签。SVM机器学习方法是基于统计学理论的,因此大量的数据会得到更为精准的模型文件。
实战结果:
进行了几组简单的试验。
1.使用相同的训练集和测试样本,分别基于模板匹配法和基于SVM的识别方法,以观察数据维度对于识别准确率的影响。
原因分析:由于模板匹配方法使用网络特征的提取方法,对每个区域内黑色像素个数进行统计,计算得到每个区域占得总体区域的百分比;而SVM是针对每个像素点的坐标进行统计分析的,加之高纬度可以使得坐标定位更加精准,因此SVM方法优势较大。
结论:在相同测试样本、相同纬度的前提下,运用SVM方法训练得到的模型分别在16维和25维下预测,运用SVM方法得到的准确率高于模板匹配法。
2.运用SVM方法,使用相同训练样本和测试样本,在不同维度下对比准确率。训练样本500个,测试样本100个。
结论:对于相同样本,使用SVM方法对模型进行预测,维度的高低对于准确率起到一定积极的影响,但准确率不会随维度的升高而无限升高。
3.对于相同测试样本,在相同维度下,测试训练样本数对于准确率的影响。
原因分析:由于SVM方法的图像识别是基于统计学理论进行研究的,因此大量的训练样本有助于得到更加准确的训练模型,对模型训练的预测准确度起到一定积极的影响。
图像识别和大数据有着密不可分的关系。有前辈指出,数据挖掘=大数据+机器学习;也有专家认为,模式识别=数据+机器学习。大数据是一个时代性的概念,也是社会发展的必然产物。我们通过大数据技术实现我们最终的目的——即数据挖掘。无疑,“图像”也是一种数据,而图像识别是将非结构化数据结构化的必要过程。
图像识别技术日益火热,每年都在以火箭般的速度更新着新的技术和成果,当然并不局限于图像处理和购物方面。如今,图像识别技术更是从搜图识物发展到了视频领域,不断给我们带来惊喜。比如新兴的互动视频技术video++,已经可以实现在视频中捕捉待识别的人脸和同款服饰。科技是第一生产力,在21世纪,最火的技术之一当属人工智能,然而图像识别技术又是人工智能的核心,它是未来智能AI的“眼睛”,它的发展必然会带动人工智能的迅速发展。未来已至,你准备好了吗?