机器视觉与卷积神经网络

简介:

根据2016年嵌入式视觉联盟进行的嵌入式视觉开发者调查2,77%的受访者表示目前正在或计划将要利用神经网络来处理分类工作。卷积神经网络并不是一个最近才出现的新概念。但是随着机器视觉的发展,卷积神经网络的应用也变得越来越重要了。

机器视觉卷积神经网络.jpg

早在1968年,加拿大神经生物学家David Hubel与瑞典神经生理学家Torsten Wiesel针对猫科动物视觉皮层进行了合作研究。视觉皮层是大脑皮层中主要负责将视觉数据处理成可用信息的部分。因此他们的目标是寻求如何从大脑接受到眼睛所采集的视觉图像信息(比如“我看到一个苹果”)中,获得目标对象有用信息方式的答案。这两名研究人员给猫演示不同走向的光条,在这一过程中发现视觉皮层的不同细胞会根据光条的走向被激活并做出反应。他们同时还发现复杂的光线图案,比如眼睛的形状,能够激活视觉皮层更深层部位的细胞。通过Hubel和Wiesel的努力,最终研发出一个能够演绎细胞激活和转发特定图像信息过程的模型。这也为计算机辅助图像分类建模奠定了基础。

30年后,法国计算机科学家Yann LeCun再次为Hubel和Wiesel所取得的成就所激励。他将视觉皮层功能的演绎叠加到一个演算中 -- 并从中成功创建出第一个卷积神经网络应用。

但即便如此,卷积神经网络在之后的很多年仍未能适用于实际操作和应用。其中最主要的原因是卷积神经网络需要投入大量的计算能力。使用串行技术处理数据的CPU处理器需要对数据记录挨个进行分析,意味着在这一网络能够最终应用于工作之前需要花费多年时间。

直到图形处理器单元(GPU)的出现,能够对数据实现并行处理,卷积神经网络才再一次被人们记起 -- 实际上近年来卷积神经网络的发展已经有了很大的起色。研究人员对卷积神经网络在笔记识别、医疗诊断、自动驾驶车辆预警系统,机器人物体识别以及生物识别技术应用方面取得的巨大成功感到欣慰。与其它竞争性学习技术相比,卷积神经网络在具有挑战性的应用中通常能够产生更好的结果。包括Google、IBM、微软和Facebook等大型企业所投资的数十亿美元巨额资金无不表现出其对这一领域的极大兴趣以及这一技术本身所具有的巨大潜力。

卷积神经网络不仅需要密集的处理器运作;同样对数据有极大需求。对卷积神经网络进行一次彻底培训,需要输入大量已经分类的图像数据。目前开发人员能够自由访问与此相关的数据库。最常用的图像数据库之一是ImageNet1。 它包含超过1400万幅分类图像。同时还有一系列针对具体分类问题而存在的专门数据库。比如,一个名为德国交通标志识别基准的数据库中就保存了5万余幅关于交通标志的图像。在这一例子中,卷积神经网络在2012年测试中取得了高达99.46%的成功率 -- 超过人工分类取得的98.84%。然而,在实践过程中,开发人员通常会面临高度专业化的分类问题,因此无法获取自己的图像数据库。但幸运的是,现在他们并不需要采集数百万张图像。一项被称为“迁移学习”的技术小窍门能够大大减少所需的图像数量,有时甚至只需要几百或几千幅图像。

目前已经开发出一系列适用于卷积神经网络的深度学习框架:包括Caffe,Torch和Theano在内的众多软件库都是专为这一课题而研发。2015年11月,Google甚至为此开放了内部机器学习软件TensorFlow,这一软件是从图像搜索到Google Photo等多种Google产品的基本组成部分。

嵌入式相机(Baslerdart BCON)通过柔性带状线材与具有FPGA(XilinxZynq)的处理单元相连接。图像数据的分类在FPGA上运行,因此可以进行实时计算。配置了FPGA的嵌入式视觉系统具备一系列能够完美适用于卷积神经网络的优点: FPGA能够执行卷积操作和网络所需的其它数学运算,以便对图像进行并行和高速分类任务。此设置提供实时图像分析和分类功能。

相比GPU,FPGA所需功耗更小,因此更适合低功耗的嵌入式系统。微软研究院最近发布的一份报告8显示,FPGA能够比GPU节省10倍功耗。

FPGA的大型片上存储和带宽使卷积神经网络能够对更高分辨率的图像进行实时分类。能够与FPGA直接连接的相机(如Basler's dart BCON相机)能够将数据直接传送到FPGA。这是处理器密集型应用程序(如卷积神经网络)的一个主要优势,因为通过USB传输的数据在到达FPGA之前必须通过不同的硬件组件(比如主机控制器)运行。实现相机与FPGA的直接连接能够保证更加高效的工作性能。

卷积神经网络在机器视觉应用领域中发挥越来越大的作用。2015年3进行的同一项调查显示,仅61%的受访者有此打算。2016年进行的该项调查还发现,86%的卷积神经网络被用于分类算法。这一结果表明,除了像Google或Facebook这样拥有庞大规模和丰富资源的大公司之外,普通的公司也能够自主研发基于卷积神经网络的产品或服务。

本文由朗锐智科编辑整理(www.lrist.com),如有侵权请联系本站。

相关文章
|
3月前
|
机器学习/深度学习 编解码 算法
基于卷积神经网络的车牌识别
基于卷积神经网络的车牌识别
|
4月前
|
机器学习/深度学习 算法 计算机视觉
卷积神经网络(CNN)在图像识别中的应用与优化
卷积神经网络(CNN)在图像识别中的应用与优化
95 0
|
6月前
|
机器学习/深度学习 PyTorch 算法框架/工具
计算机视觉物体检测
计算机视觉物体检测
16 0
|
9月前
|
自然语言处理 计算机视觉
【计算机视觉】多模态的理解
多模态指的是多种模态的信息,包括:文本、图像、视频、音频等。
|
11月前
|
机器学习/深度学习 传感器 监控
【车牌识别】基于卷积神经网络CNN实现车牌识别附matlab代码
【车牌识别】基于卷积神经网络CNN实现车牌识别附matlab代码
|
11月前
|
机器学习/深度学习 计算机视觉
深度学习中的目标识别
深度学习中的目标识别
153 0
|
机器学习/深度学习 传感器 SQL
领域最全 | 计算机视觉算法在路面坑洼检测中的应用综述(基于2D图像/3D LiDAR/深度学习)(下)
本文首先介绍了用于2D和3D道路数据采集的传感系统,包括摄像机、激光扫描仪和微软Kinect。随后,对 SoTA 计算机视觉算法进行了全面深入的综述,包括: (1)经典的2D图像处理,(2)3D点云建模与分割,(3)机器/深度学习。本文还讨论了基于计算机视觉的路面坑洼检测方法目前面临的挑战和未来的发展趋势: 经典的基于2D图像处理和基于3D点云建模和分割的方法已经成为历史; 卷积神经网络(CNN)已经展示了引人注目的路面坑洼检测结果,并有望在未来的进展中打破瓶颈的自/无监督学习多模态语义分割。作者相信本研究可为下一代道路状况评估系统的发展提供实用的指导。
领域最全 | 计算机视觉算法在路面坑洼检测中的应用综述(基于2D图像/3D LiDAR/深度学习)(下)
|
机器学习/深度学习 传感器 数据采集
领域最全 | 计算机视觉算法在路面坑洼检测中的应用综述(基于2D图像/3D LiDAR/深度学习)(上)
本文首先介绍了用于2D和3D道路数据采集的传感系统,包括摄像机、激光扫描仪和微软Kinect。随后,对 SoTA 计算机视觉算法进行了全面深入的综述,包括: (1)经典的2D图像处理,(2)3D点云建模与分割,(3)机器/深度学习。本文还讨论了基于计算机视觉的路面坑洼检测方法目前面临的挑战和未来的发展趋势: 经典的基于2D图像处理和基于3D点云建模和分割的方法已经成为历史; 卷积神经网络(CNN)已经展示了引人注目的路面坑洼检测结果,并有望在未来的进展中打破瓶颈的自/无监督学习多模态语义分割。作者相信本研究可为下一代道路状况评估系统的发展提供实用的指导。
领域最全 | 计算机视觉算法在路面坑洼检测中的应用综述(基于2D图像/3D LiDAR/深度学习)(上)
|
机器学习/深度学习 传感器 算法
【图像识别】基于卷积神经网络CNN和支持向量机SVM实现花卉图像识别附matlab代码
【图像识别】基于卷积神经网络CNN和支持向量机SVM实现花卉图像识别附matlab代码
|
机器学习/深度学习 算法 前端开发
人工智能,神经网络,图像识别,目标检测
该库采用C及C++ 语言编写,可以在windows,linux,macOSX系统上面运行。该库的所有代码都经过优化,计算效率很高 它的一个目标是提供友好的机器视觉接口函数,从而使得复杂的机器视觉产品可以加速面世。该库包含了横跨工业产品检测、医学图像处理、安防、用户界面、摄像头标定、三维成像、机器视觉等领域的超过500个接口函数。
197 0
人工智能,神经网络,图像识别,目标检测