机械视觉阅读
1. 什么是深度学习与机器视觉
深度学习框架,尤其是基于人工神经网络的框架可以追溯到1980年福岛邦彦提出的新认知机[2],而人工神经网络的历史更为久远。1989年,燕乐存(Yann LeCun)等人开始将1974年提出的标准反向传播算法[3]应用于深度神经网络,这一网络被用于手写邮政编码识别。尽管算法可以成功执行,但计算代价非常巨大,神经网路的训练时间达到了3天,因而无法投入实际使用[4]。许多因素导致了这一缓慢的训练过程,其中一种是由于尔根·施密德胡伯(Jürgen Schmidhuber)的学生赛普·霍克赖特(Sepp Hochreiter)于1991年提出的梯度消失问题[5][6]。与此同时,神经网络也受到了其他更加简单模型的挑战,支持向量机等模型在20世纪90年代到21世纪初成为更加流行的机器学习算法。
“深度学习”这一概念从2007年前后开始受到关注。当时,杰弗里·辛顿(Geoffrey Hinton)和鲁斯兰·萨拉赫丁诺夫(Ruslan Salakhutdinov)提出了一种在前馈神经网络中进行有效训练的算法。这一算法将网络中的每一层视为无监督的受限玻尔兹曼机,再使用有监督的反向传播算法进行调优[7]。在此之前的1992年,在更为普遍的情形下,施密德胡伯也曾在递归神经网络上提出一种类似的训练方法,并在实验中证明这一训练方法能够有效提高有监督学习的执行速度[8][9].
自深度学习出现以来,它已成为很多领域,尤其是在计算机视觉和语音识别中,成为各种领先系统的一部分。在通用的用于检验的数据集,例如语音识别中的TIMIT和图像识别中的ImageNet, Cifar10上的实验证明,深度学习能够提高识别的精度。
硬件的进步也是深度学习重新获得关注的重要因素。高性能图形处理器的出现极大地提高了数值和矩阵运算的速度,使得机器学习算法的运行时间得到了显著的缩短[10][11]。
基本概念[编辑]
深度学习的基础是机器学习中的分散表示(distributed representation)。分散表示假定观测值是由不同因子相互作用生成。在此基础上,深度学习进一步假定这一相互作用的过程可分为多个层次,代表对观测值的多层抽象。不同的层数和层的规模可用于不同程度的抽象[1]。
深度学习运用了这分层次抽象的思想,更高层次的概念从低层次的概念学习得到。这一分层结构常常使用贪婪算法逐层构建而成,并从中选取有助于机器学习的更有效的特征[1].
不少深度学习算法都以无监督学习的形式出现,因而这些算法能被应用于其他算法无法企及的无标签数据,这一类数据比有标签数据更丰富,也更容易获得。这一点也为深度学习赢得了重要的优势[1]。
人工神经网络下的深度学习[编辑]
一部分最成功的深度学习方法涉及到对人工神经网络的运用。人工神经网络受到了1959年由诺贝尔奖得主大卫·休伯尔(David H. Hubel)和托斯坦·威泽尔(Torsten Wiesel)提出的理论启发。休伯尔和威泽尔发现,在大脑的初级视觉皮层中存在两种细胞:简单细胞和复杂细胞,这两种细胞承担不同层次的视觉感知功能。受此启发,许多神经网络模型也被设计为不同节点之间的分层模型[12]。
福岛邦彦提出的新认知机引入了使用无监督学习训练的卷积神经网络。燕乐存将有监督的反向传播算法应用于这一架构[13]。事实上,从反向传播算法自20世纪70年代提出以来,不少研究者都曾试图将其应用于训练有监督的深度神经网络,但最初的尝试大都失败。赛普·霍克赖特(Sepp Hochreiter)在其博士论文中将失败的原因归结为梯度消失,这一现象同时在深度前馈神经网络和递归神经网络中出现,后者的训练过程类似深度网络。在分层训练的过程中,本应用于修正模型参数的误差随着层数的增加指数递减,这导致了模型训练的效率低下[14][15]。
为了解决这一问题,研究者们提出了一些不同的方法。于尔根·施密德胡伯(Jürgen Schmidhuber)于1992年提出多层级网络,利用无监督学习训练深度神经网络的每一层,再使用反向传播算法进行调优。在这一模型中,神经网络中的每一层都代表观测变量的一种压缩表示,这一表示也被传递到下一层网络[8]。
另一种方法是赛普·霍克赖特和于尔根·施密德胡伯提出的长短期记忆神经网络(long short term memory,LSTM)[16]。2009年,在ICDAR 2009举办的连笔手写识别竞赛中,在没有任何先验知识的情况下,深度多维长短期记忆神经网络取得了其中三场比赛的胜利[17][18]。
斯文·贝克提出了在训练时只依赖梯度符号的神经抽象金字塔模型,用以解决图像重建和人脸定位的问题[19]。
其他方法同样采用了无监督预训练来构建神经网络,用以发现有效的特征,此后再采用有监督的反向传播以区分有标签数据。辛顿等人于2006年提出的深度模型提出了使用多层隐变量学习高层表示的方法。这一方法使用斯摩棱斯基于1986年提出的受限玻尔兹曼机[20]对每一个包含高层特征的层进行建模。模型保证了数据的对数似然下界随着层数的提升而递增。当足够多的层数被学习完毕,这一深层结构成为一个生成模型,可以通过自上而下的采样重构整个数据集[21]。辛顿声称这一模型在高维结构化数据上能够有效低提取特征[22]。
吴恩达和杰夫·迪恩(Jeff Dean)领导的谷歌大脑(英语:Google Brain)团队创建了一个仅通过YouTube视频学习高层概念(例如猫)的神经网络[23] [24]。
其他方法依赖了现代电子计算机的强大计算能力,尤其是GPU。2010年,在于尔根·施密德胡伯位于瑞士人工智能实验室IDSIA的研究组中,丹·奇雷尚(Dan Ciresan)和他的同事展示了利用GPU直接执行反向传播算法而忽视梯度消失问题的存在。这一方法在燕乐存等人给出的手写识别MNIST数据集上战胜了已有的其他方法[10]。
截止2011年,前馈神经网络深度学习中最新的方法是交替使用卷积层(convolutional layers)和最大值池化层(max-pooling layers)并加入单纯的分类层作为顶端。训练过程也无需引入无监督的预训练[25][26]。从2011年起,这一方法的GPU实现[25]多次赢得了各类模式识别竞赛的胜利,包括IJCNN 2011交通标志识别竞赛[27]和其他比赛。
这些深度学习算法也是最先在某些识别任务上达到和人类表现具备同等竞争力的算法[28]。
深度学习结构[编辑]
深度神经网络是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。深度神经网络通常都是前馈神经网络,但也有语言建模等方面的研究将其拓展到递归神经网络[29]。卷积深度神经网络(Covolutional Neuron Networks, CNN)在计算机视觉领域得到了成功的应用[30]。此后,卷积神经网络也作为听觉模型被使用在自动语音识别领域,较以往的方法获得了更优的结果[31]。
深度神经网络[编辑]
深度神经网络(deep neuron networks, DNN)是一种判别模型,可以使用反向传播算法进行训练。权重更新可以使用下式进行随机梯度下降求解:
其中,为学习率,为代价函数。这一函数的选择与学习的类型(例如监督学习、无监督学习、增强学习)以及激活函数相关。例如,为了在一个多分类问题上进行监督学习,通常的选择是使用Softmax函数作为激活函数,而使用交叉熵作为代价函数。Softmax函数定义为,其中代表类别的概率,而和分别代表对单元和的输入。交叉熵定义为,其中代表输出单元的目标概率,代表应用了激活函数后对单元的概率输出[32]。
深度神经网络的问题[编辑]
与其他神经网络模型类似,如果仅仅是简单地训练,深度神经网络可能会存在很多问题。常见的两类问题是过拟合和过长的运算时间。
深度神经网络很容易产生过拟合现象,因为增加的抽象层使得模型能够对训练数据中较为罕见的依赖关系进行建模。对此,权重递减(正规化)或者稀疏(-正规化)等方法可以利用在训练过程中以减小过拟合现象[33]。另一种较晚用于深度神经网络训练的正规化方法是丢弃法("dropout" regularization),即在训练中随机丢弃一部分隐层单元来避免对较为罕见的依赖进行建模[34]。
反向传播算法和梯度下降法由于其实现简单,与其他方法相比能够收敛到更好的局部最优值而成为神经网络训练的通行方法。但是,这些方法的计算代价很高,尤其是在训练深度神经网络时,因为深度神经网络的规模(即层数和每层的节点数)、学习率、初始权重等众多参数都需要考虑。扫描所有参数由于时间代价的原因并不可行,因而小批量训练(mini-batching),即将多个训练样本组合进行训练而不是每次只使用一个样本进行训练,被用于加速模型训练[35]。而最显著地速度提升来自GPU,因为矩阵和向量计算非常适合使用GPU实现。但使用大规模集群进行深度神经网络训练仍然存在困难,因而深度神经网络在训练并行化方面仍有提升的空间。
深度信念网络[编辑]
一个包含完全连接可见层和隐层的受限玻尔兹曼机(RBM)。注意到可见层单元和隐层单元内部彼此不相连。
深度信念网络(deep belief networks,DBN)是一种包含多层隐单元的概率生成模型,可被视为多层简单学习模型组合而成的复合模型[36]。
深度信念网络可以作为深度神经网络的预训练部分,并为网络提供初始权重,再使用反向传播或者其他判定算法作为调优的手段。这在训练数据较为缺乏时很有价值,因为不恰当的初始化权重会显著影响最终模型的性能,而预训练获得的权重在权值空间中比随机权重更接近最优的权重。这不仅提升了模型的性能,也加快了调优阶段的收敛速度[37]。
深度信念网络中的每一层都是典型的受限玻尔兹曼机(restricted Boltzmann machine,RBM),可以使用高效的无监督逐层训练方法进行训练。受限玻尔兹曼机是一种无向的基于能量的生成模型,包含一个输入层和一个隐层。图中对的边仅在输入层和隐层之间存在,而输入层节点内部和隐层节点内部则不存在边。单层RBM的训练方法最初由杰弗里·辛顿在训练“专家乘积”中提出,被称为对比分歧(contrast divergence, CD)。对比分歧提供了一种对最大似然的近似,被理想地用于学习受限玻尔兹曼机的权重[35]。当单层RBM被训练完毕后,另一层RBM可被堆叠在已经训练完成的RBM上,形成一个多层模型。每次堆叠时,原有的多层网络输入层被初始化为训练样本,权重为先前训练得到的权重,该网络的输出作为新增RBM的输入,新的RBM重复先前的单层训练过程,整个过程可以持续进行,直到达到某个期望中的终止条件[38]。
尽管对比分歧对最大似然的近似十分粗略(对比分歧并不在任何函数的梯度方向上),但经验结果证实该方法是训练深度结构的一种有效的方法[35]。
卷积神经网络[编辑]
主条目:卷积神经网络
卷积神经网络(convolutional neuron networks,CNN)由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更优的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网络,卷积神经网络需要估计的参数更少,使之成为一种颇具吸引力的深度学习结构[39]。
卷积深度信念网络[编辑]
卷积深度信念网络(convolutional deep belief networks,CDBN)是深度学习领域较新的分支。在结构上,卷积深度信念网络与卷积神经网络在结构上相似。因此,与卷积神经网络类似,卷积深度信念网络也具备利用图像二维结构的能力,与此同时,卷积深度信念网络也拥有深度信念网络的预训练优势。卷积深度信念网络提供了一种能被用于信号和图像处理任务的通用结构,也能够使用类似深度信念网络的训练方法进行训练[40]。
结果[编辑]
语音识别[编辑]
下表中的结果展示了深度学习在通行的TIMIT数据集上的结果。TIMIT包含630人的语音数据,这些人持八种常见的美式英语口音,每人阅读10句话。这一数据在深度学习发展之初常被用于验证深度学习结构[41]。TIMIT数据集较小,使得研究者可以在其上实验不同的模型配置。
方法
声音误差率 (PER, %)
随机初始化RNN 26.1
贝叶斯三音子GMM-HMM 25.6
单音子重复初始化DNN 23.4
单音子DBN-DNN 22.4
带BMMI训练的三音子GMM-HMM 21.7
共享池上的单音子DBN-DNN 20.7
卷积DNN 20.0
图像分类[编辑]
图像分类领域中一个公认的评判数据集是MNIST数据集。MNIST由手写阿拉伯数字组成,包含60,000个训练样本和10,000个测试样本。与TIMIT类似,它的数据规模较小,因而能够很容易地在不同的模型配置下测试。Yann LeCun的网站给出了多种方法得到的实验结果[42]。截至2012年,最好的判别结果由Ciresan等人在当年给出,这一结果的错误率达到了0.23%[43]。
深度学习与神经科学[编辑]
计算机领域中的深度学习与20世纪90年代由认知神经科学研究者提出的大脑发育理论(尤其是皮层发育理论)密切相关[44]。对这一理论最容易理解的是杰弗里·艾尔曼(Jeffrey Elman)于1996年出版的专著《对天赋的再思考》(Rethinking Innateness)[45](参见斯拉格和约翰逊[46]以及奎兹和赛杰诺维斯基[47]的表述)。由于这些理论给出了实际的神经计算模型,因而它们是纯计算驱动的深度学习模型的技术先驱。这些理论指出,大脑中的神经元组成了不同的层次,这些层次相互连接,形成一个过滤体系。在这些层次中,每层神经元在其所处的环境中获取一部分信息,经过处理后向更深的层级传递。这与后来的单纯与计算相关的深度神经网络模型相似。这一过程的结果是一个与环境相协调的自组织的堆栈式的转换器。正如1995年在《纽约时报》上刊登的那样,“……婴儿的大脑似乎受到所谓‘营养因素’的影响而进行着自我组织……大脑的不同区域依次相连,不同层次的脑组织依照一定的先后顺序发育成熟,直至整个大脑发育成熟。”[48]
深度结构在人类认知演化和发展中的重要性也在认知神经学家的关注之中。发育时间的改变被认为是人类和其他灵长类动物之间智力发展差异的一个方面[49]。在灵长类中,人类的大脑在出生后的很长时间都具备可塑性,但其他灵长类动物的大脑则在出生时就几乎完全定型。因而,人类在大脑发育最具可塑性的阶段能够接触到更加复杂的外部场景,这可能帮助人类的大脑进行调节以适应快速变化的环境,而不是像其他动物的大脑那样更多地受到遗传结构的限制。这样的发育时间差异也在大脑皮层的发育时间和大脑早期自组织中从刺激环境中获取信息的改变得到体现。当然,伴随着这一可塑性的是更长的儿童期,在此期间人需要依靠抚养者和社会群体的支持和训练。因而这一理论也揭示了人类演化中文化和意识共同进化的现象[50]。
公众视野中的深度学习[编辑]
深度学习常常被看作是通向真正人工智能的重要一步[51],因而许多机构对深度学习的实际应用抱有浓厚的兴趣。2013年12月,Facebook宣布雇用燕乐存为其新建的人工智能实验室的主管,这一实验室将在加州、伦敦和纽约设立分支机构,帮助Facebook研究利用深度学习算法进行类似自动标记照片中用户姓名这样的任务[52]。
2013年3月,杰弗里·辛顿和他的两位研究生亚历克斯·克里泽夫斯基和伊利娅·苏特斯科娃被谷歌公司雇用,以提升现有的机器学习产品并协助处理谷歌日益增长的数据。谷歌同时并购了辛顿创办的公司DNNresearch[53]。
批评[编辑]
对深度学习的主要批评是许多方法缺乏理论支撑。大多数深度结构仅仅是梯度下降的某些变式。尽管梯度下降已经被充分地研究,但理论涉及的其他算法,例如对比分歧算法,并没有获得充分的研究,其收敛性等问题仍不明确。深度学习方法常常被视为黑盒,大多数的结论确认都由经验而非理论来确定。
也有学者认为,深度学习应当被视为通向真正人工智能的一条途径,而不是一种包罗万象的解决方案。尽管深度学习的能力很强,但和真正的人工智能相比,仍然缺乏诸多重要的能力。理论心理学家加里·马库斯(Gary Marcus)指出:
就现实而言,深度学习只是建造智能机器这一更大挑战中的一部分。这些技术缺乏表达因果关系的手段……缺乏进行逻辑推理的方法,而且远没有具备集成抽象知识,例如物品属性、代表和典型用途的信息。最为强大的人工智能系统,例如IBM的人工智能系统沃森,仅仅把深度学习作为一个包含从贝叶斯推理和演绎推理等技术的复杂技术集合中的组成部分[54]。
2. 机器视觉行业如何设计机器视觉系统框架
如何设计机器视觉系统框架 --- 创科黎友在决定一个机器视觉系统的需求及应用时,很多因素需要考虑。机器视觉(或称为自动可视检测系统)一般包含了大量部件,这些部件直接影响系统的性能。为了获得这些子系统的优越性能,并无缝将他们接合在你的生产线上,最好花一些时间来学习视觉系统的组成、应用、以及正确的规划的重要性。 机器视觉的应用在对精度和可靠性都很高的重复性检测任务中,机器视觉广泛应用在这些生产流程中。一些常见的任务:在食物包装中检测数据代码;自动检测部件用于正确的安装;为机器人的捡起(pick)和放置(place)动作提供向导;在制药中效验药品的颜色;读取部件的条形码、以及在产品上的标识;还有更多更多。基于PC的机器视觉系统的基本组成 由于机器视觉应用非常广泛,在不同的系统里使用不同的部件,但是,我们可以将这些部件分成如下几类(见图1)。图1 通常的机器视觉系统的主要组成(附件1) 1. 摄像头和光学部件 –这一类通常含有一个或多个摄像头和镜头(光学部件),用于拍摄被检测的物体。根据应用,摄像头可以基于如下标准,黑白RS-170/CCIR、复**色(Y/C),RGB彩色,非标准黑白(可变扫描),步进扫描(progressive-scan)或线扫描。 2. 灯光 –灯光用于照亮部件,以便从摄像头中拍摄到更好的图像,灯光系统可以在不同形状、尺寸和亮度。一般的灯光形式是高频荧光灯、LED、白炽灯和石英卤(quartz-halogen)光纤。 3. 部件传感器 –通常以光栅或传感器的形式出现。当这个传感器感知到部件靠近,它会给出一个触发信号。当部件处于正确位置时,这个传感器告诉机器视觉系统去采集图像。 4. 图像采集卡 –也称为视频抓取卡,这个部件通常是一张插在PC上的卡。这张采集卡的作用将摄像头与PC连接起来。它从摄像头中获得数据(模拟信号或数字信号),然后转换成PC能处理的信息。它同时可以提供控制摄像头参数(例如触发、曝光时间、快门速度等等)的信号。图像采集卡形式很多,支持不同类型的摄像头,不同的计算机总线。 5. PC平台 –计算机是机器视觉的关键组成部分。应用在检测方面,通常使用Pentium III或更高的CPU。一般来讲,计算机的速度越快,视觉系统处理每一张图片的时间就越短。由于在制造现场中,经常有振动、灰尘、热辐射等等,所以一般需要工业级的计算机。 6. 检测软件 –机器视觉软件用于创建和执行程序、处理采集回来的图像数据、以及作出“通过/失败(PASS/FAIL)”决定。机器视觉有多种形式(C语言库、 ActiveX控件、点击编程环境等等),可以是单一功能(例如设计只用来检测LCD或BGA、对齐任务等等),也可以是多功能(例如设计一个套件,包含计量、条形码阅读、机器人导航、现场验证等等)。 7. 数字I/O和网络连接 –一旦系统完成这个检测部分,这部分必须能与外界通信,例如需要控制生产流程、将“通过/失败(PASS/FAIL)”的信息送给数据库。通常,使用一张数字I/O板卡和(或)一张网卡来实现机器视觉系统与外界系统和数据库的通信。 配置一个基于PC的机器视觉系统认真的计划和注意细节能帮助你确保你的检测系统符合你的应用需求。如下是你必需考虑的几点: 确定你的目标 –这可能是最重要的一步 棗决定在这个检测任务中你需要实现什么,检测任务通常分为如下几类: 1. 测量或计量 2. 读取字符或编码(条形码)信息。 3. 检测物体的状态 4. 认知和识别特殊的特性棗模式识别 5. 将物体与模板进行对比或匹配 6. 为机器或机器人导航检测流程可以包含只有一个操作或包含多个与检测任务相关的任务。为了确认你的任务,首先你应该明确为了最大限度检测部件你需要做的测试,也就是你能考虑到会出现的缺陷。为了明确什么哪个才是最重要的,最好做一张评估表,列出“必须做”和“可以做”的测试。一旦主要的对测试标准满意,随后可以将更多的测试加进去来改善检测过程,一定要记住,添加测试的同时也会增加检测的时间。确定你需要的速度 –系统检测每一个部件需要多少时间?这个不只是由PC的速度决定,还受生产流水线速度的影响。很多机器视觉包含了时钟/计时器,所以检测操作的每一步所需要的时间都可以准确测量,从这些数据,我们就可以修改我们的程序以满足时间上的要求。通常,一个基于PC的机器视觉系统每一秒可以检测20-25个部件,与检测部件的多少和处理程序以及计算机的速度有密切关系。聪明地选择你的硬件 –一套机器视觉系统的性能与它的部件密切相关。在选择的过程中,有很多捷径棗特别在光学成像上棗可能很大程度降低系统的效率。如下是在选择部件时你必须紧记的几个基本原则。 1. 摄像头摄像头的选择与应用的需求直接相关,通常考虑三点:a)黑白还是彩色;b)部件/目标的运动;c)图像分辨率。在检测应用中大部分使用黑白摄像头,因为黑白图像能提供90%可视数据,并且比彩色便宜。彩色摄像头主要用于一些需要分析彩色图像的场合里。根据部件在检测时是否移动,决定我们选择标准隔行扫描摄像头还是逐行扫描摄像头。另外,图像的分辨率必须足够高,以提供检测任务需要的足够的数据。最后,摄像头必须质量好和可以避免工业现场中的振动、灰尘和热的影响。 2. 光学部件和照明这个至关重要的因素往往被人所忽略。当你使用一个很差的光学部件或照明,就算你使用最好的机器视觉系统,它表现出的性能甚至比不上一个配上良好光学部件和适当照明的低能力系统。光学部件的目标是产生最好和最大可用面积的图像,并且提供最好的图像分辨率。照明的目标是照亮需要测量或检测的部分的关键特征。通常,照明系统的设计由如下因素决定:颜色、纹理、尺寸、外形、反射率等等。 3. 图像采集卡虽然图像采集卡只是完整的机器视觉系统的一个部件,但是它扮演一个非常重要的角色。图像采集卡直接决定了摄像头的接口:黑白、彩色、模拟、数字等等。使用模拟输入的图像采集卡,目标是尽量不变地将摄像头采集的图像转换为数字数据。使用不正确的图像采集卡可能得到错误的数据。工业用的图像采集卡通常用于检测任务,多媒体采集卡由于它通过自动增益控制、边沿增强和颜色增强电路来更改图像数据,所以不用在这个领域里。使用数字输入的图像采集卡的目标是将摄像头输出的数字图像数据转换并输送到PC中作处理。考虑各种变化:人类的眼睛和大脑可以在不同的条件下识别目标,但是机器视觉系统就不是这样多才多艺了,它只能按程序编写的任务来工作。了解你的系统能看到什么和不能看到什么能帮助你避免失败(例如将好的部件认为是坏的)或其它检测错误。一般要考虑的包括部件颜色、周围光线、焦点、部件的位置和方向和背景颜色的大变化。正确选择软件:机器视觉软件是检测系统中的智能部分,也是最核心的部分。软件的选择决定了你编写调试检测程序的时间、检测操作的性能等等。图2 DTVF是一个多功能、图形化编程的机器视觉软件(附件2)机器视觉提供了图形化编程界面 (通常称为“Point & Click”) 通常比其他编程语言(例如Visual C++)容易,但是在你需要一些特殊的特征或功能时有一定的局限性。基于代码的软件包,尽管非常困难和需要编码经验,但在编写复杂的特殊应用检测算法具备更大的灵活性。一些机器视觉软件同时提供了图形化和基于代码的编程环境,提供两方面最好的特征,提供了很多灵活性,满足不同的应用需求。通信和记录数据:机器视觉系统的总的目标是通过区分好和坏的部件来实现质量检测。为了实现这一功能,这个系统需要与生产流水线通信,这样才可以在发现坏的部件是做某种动作。通常这些动作是通过数字I/O板,这些板与制造流水线中的PLC相连,这样坏的部件就可以跟好的部件分离。例外,机器视觉系统可以与网络连接,这样就可以将数据传送给数据库,用于记录数据以及让质量控制员分析为什么会出现废品。在这一步认真考虑将有助于将机器视觉系统无缝与生产流水线结合起来。需要考虑的问题是: 1. 使用了什么类型的PLC,它的接口如何? 2. 需要什么类型的信号? 3. 现在使用或必须使用什么类型的网络? 4. 在网络上传送的文件格式是什么?通常使用RS-232端口与数据库通信,来实现对数据的纪录。为以后做准备:当你为机器视觉系统选择部件时,时刻记住未来的生产所需和有可能发生的变动。这些将直接影响你的机器视觉软硬件是否容易更改来满足以后新的任务。提前的准备将不仅仅节约你的时间,而且通过在将来重用现有的检测任务可以降低整个系统的价格。机器视觉系统的性能由最差的部分决定(就像一个木桶的容量由最短的一个木块决定),精度则由它能获取的信息决定。花时间和精力合理配置系统就可以建造一个零故障和有弹性的视觉检测系统。
3. 如何才能做到视觉阅读,而不需要默读感谢感谢,快速阅读对每个阅读者都很重要
多看书。默读是刚开始的一个阶段,当你不停地看书,看多了就好
4. 机器视觉方面有哪些好的开发平台各有什么特点
机器视觉当前的比较流行的开发模式是“软件平台+工具包”
软件平台:
1.VC:最通用,功能最强大。用户多,和windows搭配,运行性能较好,可以自己写算法,也可以用工具包,而且基本上工具包都支持VC的开发。是大家主要选择的平台。
2.C#:比较容易上手,特别是完成界面等功能比用VC+MFC难度低了很多,已经逐渐成为流行的使用平台了,算法在调用标准的库或者使用C#+C++混合编程。可以看到目前很多相机厂商的SDK都已经开始使用C#做应用程序了。
3.LabVIEW:NI的工具图形化开发平台,开发软件快,特别是做工控行业或者自动化测试行业的很多工程师,由于使用labview进行测试测量的广泛性,所以都有labview的基础,再调用NI的Vision图像工具包开发,开发周期短,维护较为容易。
5. 我儿子想去若卜机器视觉培训学院读书,这个学校怎么样
这个学校我听说过,很不错的,我们小区有好几个孩子都在这个学校读书,据说学校的教师能力以及基础的硬件设施都很好,还能边学习边实践。
6. 什么是机器视觉
机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品(即图像摄取装置,分 CMOS 和CCD 两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统。
7. 如何培养视觉阅读能力
当我们步入读图时代, 视频时代时, 我需要越来越多的通过图片通过视频来获取知识和信息时, 阅读能力就如同文字时代一样, 需要不断培养, 然后才能形成一种能力.我们小时学习语文最终的目的就是能有效地进行阅读文字资料, 包括书籍, 报纸, 杂志, 论文等等. 那么相同地, 读图我们的阅读能力又该如何培养呢. 或许我们看照片, 很好看就行了, 看电影,很沉浸就行了. 但我们的下一代, 如果进入全视频时代, 视频可以包容文字及图片的时候, 视觉阅读能力就行重要了, 不然就会变成另一种文盲.
首先, 阅读先是需要对资料进行分解的能力, 我们把文章可以用文体来分, 用格式来分, 用语言来分. 图片也可以, 我们用相机拍的就是图像, 是记录体, 通过它可以写实, 也可以写意;用工具创作的图片就是符号系统, 由人来驾驭, 表达思想, 交流观点, 抽象概念.但图片在技术层面都有共通点, 就是形与色, 光与影, 通过技术分析可以理解美, 理解表达的过程, 获取作者更深层想表达的内容.色彩给我们感观刺激的同时, 也包含有情感的传达, 情绪的渲染, 气氛的营造, 中心的突出. 光和影能让各个图像元素和词语联系在一起, 形成空间, 形成层次.
其次, 视频是图片的延伸, 视频是图片加入了时间维之后的表达. 时间线的组织仿佛是文章的段落, 可以将有限的图片组成有限的时间范围和空间范围, 在这范围里面有很多符号在流动, 在交互, 在统一表达作者的中心思想. 视频除了用来表达文学上的情感, 哲学思考外, 应该还可以表达科学和逻辑, 商业和品牌. 像文字资料一样, 看懂一个视频作品, 同样需要有一定的背景知识, 没有一定的文化积累就理解不了一定情景下的空间里的时地人事以及科学技术.和图片一样, 视频也有技术层面, 看视频就如同看话剧一样, 看小品一样, 它会有背景, 人物, 道具, 装饰, 服装, 台词, 灯光, 人的表情, 人的动作, 镜头的方向和移动, 这此组成了一个空间, 元素代表着词语. 特殊效果就是在这些元素上加以处理, 背景替换, 人物增加复制, 道具摆放, 装饰美化, 灯光重新渲染. 当我们知道哪些是重要的, 哪此是不重要的时候, 才能从信息轰炸中, 找出思想, 也就是文章的中心思想来. 这就是阅读能力的产生.
8. 可以用视觉系统读取机械表的数据吗
如果指针与背景的颜色差别比较大,可以。如果颜色差别不大,可能就无法正确的读到指针的位置,就不能识别了。
9. 研究生读机器视觉 图像处理(计算机)方向
这个国外应复该待遇很好,国外制发展的比较成熟了。德国的技术比较先进。日本的也行。像现在机器视觉的工业相机,工业镜头,基本上全是德国日本货。国内嘛,有档次有水平的很少。如果你有技术,建议你回国自己干。企业嘛,到网络上搜索一下你学的这个,前面那些做广告的,全是你可以进的公司。