欢迎访问绛县科学技术协会网站!

网站首页加入收藏 |

今日是:

前沿科技

这5种计算机视觉技术,刷新你的世界观

【发布日期:2019-08-19 08:38】 信息来源:雷锋网 作者: 浏览次数:1233次

计算机视觉是目前深度学习领域最热门的研究领域之一。它位于许多学术科目的交汇点,如计算机科学(图形学,算法,理论,系统,建筑),数学(信息检索,机器学习),工程学(机器人学,语音,自然语言处理,图像处理),物理学(光学) ,生物学(神经科学)和心理学(认知科学)。由于计算机视觉代表了对视觉环境及其背景的相对理解,许多科学家认为,该领域由于其跨域掌握为人工智能铺平了道路。

  那么什么是计算机视觉?以下是一些正式的教科书定义:

  “从图像中构建明确,有意义的物理对象描述”(Ballard&Brown,1982)

  “从一个或多个数字图像计算3D世界的属性”(Trucco&Verri,1998)

  “根据感知的图像做出有关真实物体和场景的有用决策”(Sockman&Shapiro,2001)

  为何学习计算机视觉?最明显的答案是,从这一研究领域衍生出的快速增长的有用的应用集合。以下是其中的一小部分:

  人脸识别:Snapchat和Facebook使用 面部检测 算法应用卷积核并在图片中识别出你。

  图像检索:Google图像使用基于内容的查询来搜索相关图像。算法分析查询图像中的内容,并根据最匹配的内容返回结果。

  游戏和控制:Microsoft Kinect是使用立体视觉的游戏中的一个很好的商业产品。

  监视:监控摄像机在公共场所无处不在,它用于检测可疑行为。

  生物识别:指纹,虹膜和面部匹配仍然是生物识别中的一些常用方法。

  智能汽车:视觉仍然是检测交通标志和信号灯以及其他视觉特征的主要信息来源。

  我最近完成了斯坦福大学关于使用卷积神经网络进行视觉识别的精彩CS231n课程。视觉识别任务,如图像分类,定位和检测,是计算机视觉的关键组成部分。神经网络和深度学习方法的最新发展极大地提高了这些最先进的视觉识别系统的性能。该课程是一个非凡的资源,它教会了我在顶端计算机视觉研究中使用深度学习架构的细节。在本文中,我想分享我学到的5种主要计算机视觉技术,以及使用每种技术主要的深度学习模型和应用。

   1--图像分类

1.jpg


  图像分类的问题是这样的:给定一组单一类别标注的图像,要求我们对一组新的测试集预测这些类别并且测试预测的准确率。关于这个任务有很多挑战,包括视点变化,尺度变换,类内变化,图像变形,图像遮挡,条件,以及杂乱的背景。

  我们如何来编写一个能将图像分成不同类别的算法?计算机视觉研究人员已经提出一种数据驱动的方法来解决这个问题。 他们不是试图直接在代码中指定每个感兴趣的图像类别,而是为计算机提供每张图像类的许多样本,然后开发学习算法,查看这些样本并了解每个类的视觉外观。换句话说,他们首先收集一个带标注图像的训练集,然后将它传给计算机去处理这个数据。

  鉴于这一事实,整个图像分类的过程可形式化如下:

  我们的输入是一个训练集,包括N 个图像,用K 个不同的类别给每个图像进行标注。

  然后,我们用这个训练集来训练分类器以了解每个类别像什么。

  最后,我们通过让这个分类器预测一组它之前没见过的新的图像集来评估分类器的效果。然后我们将这些图像的真实标签与分类器预测的标签进行比较。

  卷积神经网络(CNNs)是用于图像分类最流行的架构。CNNs一个典型的用例是你传给这个网络图像,然后网络对这些数据分类。CNNs往往从输入”扫描器“ 开始,它不打算一次解析所有的训练数据。比如,输入一张100×100像素的图像,你不需要具有10,000节点的图层。相反,你会创建一个10×10大小的扫描输入层,你可以为图像的前10×10像素提供图像。通过该输入后,通过将扫描器向右移动一个像素,可以输入下一个10×10像素。这个技术称为滑动窗口。


2.jpg

  然后,通过卷积层而不是正常层馈送输入数据。每个节点仅仅关注与自身相邻的部分。这些卷积层随着网络的变深也趋于收缩,主要是通过输入的易分解因素。除了卷积层,它们通常还具有特征池化层。 池化是一个过滤细节的方法:常见的池化技术是最大池化,我们采用2×2像素,并传递具有最大量特定属性的像素。

  目前大多数图像分类技术都是在ImageNet上面训练的,它是一个约120万个高分辨率的训练图像的数据集。测试图像不显示初始注释(没有分割或者标签),并且算法必须生成指定图像中存在的对象的标签。Oxford、INRIA、XRCE 等机构的领先计算机视觉小组用已有的最好计算机视觉方法应用于这个数据集。通常,计算机视觉系统是复杂的多级系统,往往需要在早期阶段通过手动调试优化参数。

  第一届ImageNet 竞赛的冠军 Alex Krizhevsky (NIPS 2012) 由 Yann LeCun 开创的深度卷积神经网络。其结构包括7个隐藏层,不包括一些最大池化层。前5层是卷积层,最后2层是全连接层。每个隐藏层的激活函数是ReLU。这些训练比逻辑单元更快更有表达力。除此之外,当相近的单元有更强的激活值,它还用竞争的归一化来抑制隐藏的活动。这有助于强度的变化。

  在硬件要求方面,Alex在2个Nvidia GTX 580 GPU(超过1000个快速小内核)上使用了非常有效的卷积网络实现。 GPU非常适合矩阵矩阵乘法,并且具有非常高的存储器带宽。 这使他能够在一周内训练网络,并在测试时快速组合10个补丁的结果。 如果我们能够足够快地传达状态,我们可以在多个核心上传播网络。 随着核心变得越来越便宜而数据集越来越大,大型神经网络的改进速度将超过老式的计算机视觉系统。 自AlexNet以来,已有多种新型号使用CNN作为其骨干架构,并在ImageNet中取得了出色的成果:ZFNet(2013),GoogLeNet(2014),VGGNet(2014),ResNet(2015),DenseNet(2016)等。

   2--目标检测

3.jpg

  在图像中定义目标的任务通常涉及单个目标的边界框和标签的输出。这与分类/定位任务的不同之处在于,它将分类和定位应用于许多目标,而不仅仅是一个主导目标。你只有2类目标分类,即目标边界框和非目标边界框。例如,在汽车检测中,您必须使用其边界框检测给定图像中的所有汽车。

  如果我们就像对图像进行分类和定位的方式使用滑动窗口技术,我们需要将CNN应用于图像的许多不同位置。因为CNN将每个位置分类为目标或背景,我们需要在CNN中应用许多的位置和不同比例,计算上是非常昂贵的!

 4.jpg

绛县科学技术协会版权所有    网站备案号:晋ICP备17012083号-1

地址:山西省运城市绛县绛山西街13号    山西云智创新科技有限公司    

晋公网安备 14082602000027号