正文

计算机视觉五大技术:图像分类、对象检测、目标跟踪、语义分割和实例分割 -凯发k8国际首页登录

  详解计算机视觉五大技术:图像分类、对象检测、目标跟踪、语义分割和实例分割

  【 ai 科技大本营导读】目前,计算机视觉是深度学习领域最热门的研究领域之一。计算机视觉实际上是一个跨领域的交叉学科,包括计算机科学(图形、算法、理论、系统、体系结构),数学(信息检索、),工程学(机器人、语音、自然语言处理、图像处理),物理学(光学 ),生物学(神经科学)和心理学(认知科学)等等。许多科学家认为,计算机视觉为的发展开拓了道路。

  那么什么是计算机视觉呢? 这里给出了几个比较严谨的定义:

  ✦ “对图像中的客观对象构建明确而有意义的描述”(ballard&brown,1982)

  ✦ “从一个或多个数字图像中计算三维世界的特性”(trucco&verri,1998)

  ✦ “基于感知图像做出对客观对象和场景有用的决策”(sockman&shapiro,2001)

  ▌为什么要学习计算机视觉?

  一个显而易见的答案就是,这个研究领域已经衍生出了一大批快速成长的、有实际作用的应用,例如:

  人脸识别: snapchat 和 facebook 使用人脸检测算法来识别人脸。图像检索:google images 使用基于内容的查询来搜索相关图片,算法分析查询图像中的内容并根据最佳匹配内容返回结果。游戏和控制:使用立体视觉较为成功的游戏应用产品是:微软 kinect。监测:用于监测可疑行为的监视摄像头遍布于各大公共场所中。生物识别技术:指纹、虹膜和人脸匹配仍然是生物识别领域的一些常用方法。智能汽车:计算机视觉仍然是检测交通标志、灯光和其他视觉特征的主要信息来源。

  视觉识别是计算机视觉的关键组成部分,如图像分类、定位和检测。神经网络和深度学习的最新进展极大地推动了这些最先进的视觉识别系统的发展。在本文中,我将分享 5 种主要的计算机视觉技术,并介绍几种基于计算机视觉技术的深度学习模型与应用。

  ▌1 、图像分类

  给定一组各自被标记为单一类别的图像,我们对一组新的测试图像的类别进行预测,并测量预测的准确性结果,这就是图像分类问题。图像分类问题需要面临以下几个挑战☟☟☟:

  视点变化,尺度变化,类内变化,图像变形,图像遮挡,照明条件和背景杂斑

  我们怎样来编写一个图像分类算法呢?

  计算机视觉研究人员提出了一种基于数据驱动的方法。

  该算法并不是直接在代码中指定每个感兴趣的图像类别,而是为计算机每个图像类别都提供许多示例,然后设计一个学习算法,查看这些示例并学习每个类别的视觉外观。也就是说,首先积累一个带有标记图像的训练集,然后将其输入到计算机中,由计算机来处理这些数据。

  因此,可以按照下面的步骤来分解:

  输入是由 n 个图像组成的训练集,共有 k 个类别,每个图像都被标记为其中一个类别。然后,使用该训练集训练一个分类器,来学习每个类别的外部特征。最后,预测一组新图像的类标签,评估分类器的性能,我们用分类器预测的类别标签与其真实的类别标签进行比较。

  目前较为流行的图像分类架构是卷积神经网络(cnn)——将图像送入网络,然后网络对图像数据进行分类。卷积神经网络从输入“扫描仪”开始,该输入“扫描仪”也不会一次性解析所有的训练数据。比如输入一个大小为 100*100 的图像,你也不需要一个有 10,000 个节点的网络层。相反,你只需要创建一个大小为 10 *10 的扫描输入层,扫描图像的前 10*10 个像素。然后,扫描仪向右移动一个像素,再扫描下一个 10 *10 的像素,这就是滑动窗口。

  输入数据被送入卷积层,而不是普通层。每个节点只需要处理离自己最近的邻近节点,卷积层也随着扫描的深入而趋于收缩。除了卷积层之外,通常还会有池化层。池化是过滤细节的一种方法,常见的池化技术是最大池化,它用大小为 2*2 的矩阵传递拥有最多特定属性的像素。

  现在,大部分图像分类技术都是在 imagenet 数据集上训练的, imagenet 数据集中包含了约 120 万张高分辨率训练图像。测试图像没有初始注释(即没有分割或标签),并且算法必须产生标签来指定图像中存在哪些对象。

  现存的很多计算机视觉算法,都是被来自牛津、 inria 和 xrce 等顶级的计算机视觉团队在 imagenet 数据集上实现的。通常来说,计算机视觉系统使用复杂的多级管道,并且,早期阶段的算法都是通过优化几个参数来手动微调的。

  第一届 imagenet 竞赛的获奖者是 alex krizhevsky(nips 2012) ,他在 yann lecun 开创的神经网络类型基础上,设计了一个深度卷积神经网络。该网络架构除了一些最大池化层外,还包含 7 个隐藏层,前几层是卷积层,最后两层是全连接层。在每个隐藏层内,激活函数为线性的,要比逻辑单元的训练速度更快、性能更好。除此之外,当附近的单元有更强的活动时,它还使用竞争性标准化来压制隐藏活动,这有助于强度的变化。

  就硬件要求而言, alex 在 2 个 nvidia gtx 580 gpu (速度超过 1000 个快速的小内核)上实现了非常高效的卷积网络。 gpu 非常适合矩阵间的乘法且有非常高的内存带宽。这使他能在一周内完成训练,并在测试时快速的从 10 个块中组合出结果。如果我们能够以足够快的速度传输状态,就可以将网络分布在多个内核上。

  随着内核越来越便宜,数据集越来越大,大型神经网络的速度要比老式计算机视觉系统更快。在这之后,已经有很多种使用卷积神经网络作为核心,并取得优秀成果的模型,如 zfnet(2013),googlenet(2014), vggnet(2014), resnet(2015),densenet(2016)等。

来源:ai科技大本营 王柯凝译
爱科学

上一篇:医师资格考试报名资格规定(2014年版)

下一篇:华人科学家研发纳米机器人!有望成为抗癌新疗法!

登录注册
欢迎内容投稿或举报!e-mail: ikx@ikx.cn
凯发天生赢家一触即发官网 copyright © 爱科学 iikx.com "));
网站地图