技术支持
来源:光虎
机器视觉就是给计算机装上眼睛(相机)和大脑(算法),让计算机可以感知周围的环境。目前机器视觉研究主要集中在基础应用场景,像物体分类、识别、3D建模等。
物体识别是一个比较常见的应用,例如识别一个简单的工件,我们首先要给计算机定义模型,然后准备大量工件的图片去训练这个模型,让计算机能识别出来,输一张图片的时候能识别出图片是不是该工件。正常情况下计算机模型能识别得比较准确,但是当我们输入了一些有遮挡、形态多变或者角度、光照不一的图片时,之前我们建立的模型就识别不出来。这就是机器视觉在应用中存在的难点问题。
深度学习是机器学习的一种,机器学习的本质其实是为了找到一个函数,让这个函数在不同的领域会发挥不同的作用。像语音识别领域,这个函数会把一段语音识别成一段文字;图像识别的领域,这个函数会把一个图像映射到一个分类;下围棋的时候根据棋局和规则进行博弈;对话,是根据当前的对话生成下一段对话。
机器学习离不开学习两个字,根据不同的学习方式,可以分为监督学习和非监督学习两种方式。
监督学习
算法和数据是模型的核心所在。在监督学习中最关键的一点是,我们对训练的每个数据都要打上标签,然后通过把这些训练数据输入到算法模型经过反复训练以后,每经过一次训练都会减少算法模型的预计输出和标签数据的差距。通过大量的训练,算法模型基本上稳定下来以后,我们就可以把这个模型在测试数据集上验证模型的准确性。这就是整个监督学习的过程,监督学习目前在图片分类上应用得比较多。
非监督学习
跟监督学习不同的地方是,非监督学习不需要为所有的训练数据都打上标签。非监督学习主要应用在两个大类,第一类是做聚类分析,聚类分析是把一组看似无序的数据进行分类分组,以达到能够更好理解的目的;另外一类是做自动编码器,在数据分析的时候,原始数据量往往比较大,除了包含一些冗余的数据,还会包含一些对分析结果不重要的数据。自动编码器主要是对原始数据做降维操作,把冗余的数据去掉,提高后面数据分析的效率。
通过不同的学习方式获取到数据后,算法是接下来非常重要的一环。算法之于计算机就像大脑对于我们人类,选择一个好的算法也是特别重要的。
神经网络是受人脑神经元结构的启发,研究者认为人脑所有的神经元都是分层的,可以通过不同的层次学习不一样的特征,由简单到复杂地模拟出各种特征。
神经网络就是由许多的神经元级联而形成的,每一个神经元都经过线性变换和非线性变换,为什么会有非线性变换?从数学上看,没有非线性变换,不管你神经网络层次有多深都等价于一个神经元。如果没有非线性变换,神经网络深度的概念就没有什么意义了。
以上所讲的都是一般的全连接神经网络,接下来进入卷积神经网络。卷积神经网络是专门针对图片处理方面的神经网络。卷积神经网络首先会输入一张图片,比如图片是30×30,有三个颜色通道的数据,这是输入层。下面是卷积层,有一个卷积核的概念,每一个卷积核提取图片的不同特征。
提取出来以后到池化层,就是把卷积层的数据规模缩小,减少数据的复杂度。卷积和池化连起来我们叫做一个隐层,一个卷积神经网络会包含很多个隐层,隐层之后是全连接层,全连接层的目的是把前面经过多个卷积池化层的特征数据平铺开,形成特征向量,我们把特征向量输入到分类器,对图片进行分类。
简单来说,卷积神经网络更适合机器视觉主要有两个原因,一是参数共享,另外一个是稀疏连接。
【来源:网络】
http://www.optiger.com.cn 光虎光电科技(天津)有限公司