菜单

目的检查测试,分享欢悦是不是更简便

2019年6月8日 - 美高梅mgm02233.com
目的检查测试,分享欢悦是不是更简便

图片 1

图片 2

图片 3

如今,人们可以通过录制视频的方式与朋友和爱人分享美好时光,这已经不再是什么新鲜事。然而,每个拥有大量视频素材的人都会告诉你这样一个事实:遍历所有原始视频素材,寻找值得重温,或者适合与家人朋友共享的完美视频片段,是一项十分耗时的工作。

译者 | 王柯凝

本文为 AI 研习社编译的技术博客,原标题 :

由于谷歌图片会自动在视频中寻找具有纪念意义的画面,并创建动画,所以,像孩子吹灭蜡烛的瞬间,或者朋友跳进泳池的瞬间,诸如此类的画面都可以被快速捕捉。这样一来,与朋友和家人分享美妙瞬间就容易多了。

出品 | AI科技大本营(公众号ID:rgznai100)

The 5 Computer Vision Techniques That Will Change How You See The World

在反复研究了用于时序动作定位的 R-CNN
架构之后,自动化方面的一些难题已解决。这些难题的棘手之处在于,从千万种不同排列的数据中完成辨认或分类。因此,我们建立了
TALNet,它能在一定时间内识别大量的短暂性动作。目前来说,相比起其他方法,TALNet
完成这个任务的用时最短。它还允许谷歌图片推荐视频的最佳画面,让你可以与朋友和家人分享。

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

作者 |James Le

图片 4

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

翻译 | jinlilei

想要识别视频中的美妙瞬间,第一步是将人们可能希望保留的动作瞬间集合起来,比如吹灭生日蜡烛,猫摇尾巴等。然后,我们将这些带有特定动作的视频片段进行注释,以创建一个大型培训数据库。之后,我们会要求评定员找出并标记所有时刻。最后,模型经过这个带注释的数据集训练,之后就可以在全新的视频中识别所需的瞬间。

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

校对 | 酱番梨 整理 | 菠萝妹

识别这些动作属于计算机视觉领域,它与生活中常见的对象识别一样,属于视觉检测的范畴。然而,TAL
的目的是,在一个冗长且未修剪的视频里,标识每个动作的开始和结束时间,并给不同的动作贴上标签
( 如 ” 吹灭蜡烛 ” ) 。它更侧重在一维视频帧序列中捕捉包含动作的时间片段。

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

原文链接:

我们使用的 TALNet 方法是受到了 R-CNN
二维图像对象检测框架的启发。因此,要理解 TALNet,首先要理解
R-CNN。下图演示了如何使用 R-CNN 架构进行对象检测。

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

图片 5

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

图片 6

第一步是生成一组对象推荐,可以对图像中的对象进行分类。在此之前,要先通过卷积神经网络
将输入图像转换为二维特征图。然后,对象推荐网络围绕候选对象生成包围框。这些框是在多个尺度上生成的,以便应对自然图像中对象大小的不确定性。在对象确定之后,使用深度神经网络
将边界框中的对象分类为特定对象,比如 ” 人 “、” 自行车 ” 等。

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

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

时序动作定位是用一种类似于 R-CNN
的方式完成的。首先将视频输入帧序列转换为编码场景的一维特征映射序列。此映射被传递到一个视频段推荐网络,该网络生成候选段,每个候选段由开始和结束时间来定义。然后,DNN
对视频片段中的动作进行分类,比如灌篮、传球。

人脸识别: Snapchat 和 Facebook 使用人脸检测算法来识别人脸。

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

图片 7

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

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

虽然时序动作定位可以看作是对象检测的一维对应物,但是,处理动作定位有一些值得注意的问题。为了将
R-CNN
方法应用到动作定位领域,我们特意解决了三个问题,并重新设计了体系结构来专门解决这些问题。

游戏和控制:使用立体视觉较为成功的游戏应用产品是:微软 Kinect。

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

  1. 动作在持续时间方面变量更大

监测:用于监测可疑行为的监视摄像头遍布于各大公共场所中。

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

动作执行的时间范围变化很大,可以从几秒钟到几分钟不等。对于长时间的动作,理解动作的每一个框架并不重要。相反,我们可以通过快速浏览视频,使用扩展的时间卷积来更好地处理这个动作。这种方法允许
TALNet
搜索视频中的动作,同时根据既定的膨胀率跳过交替帧。根据锚段的长度自动选择不同速率的视频进行分析,可以有效地识别大至整个视频或短至一秒的动作。

生物识别技术:指纹、虹膜和人脸匹配仍然是生物识别领域的一些常用方法。

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

  1. 目标动作前后的内容很重要

智能汽车:计算机视觉仍然是检测交通标志、灯光和其他视觉特征的主要信息来源。

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

目标动作前后的内容包含了定位和分类的关键信息,这里说的是时间前后,而不是空间前后。因此,我们在时间内容上进行了编码,方法是在推荐生成和分类生成的阶段,将目标段在时间前后上按一定比例扩展。

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

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

  1. 目标动作需要多模式输入

▌1 、图像分类

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

目标动作由外观、运动轨迹,有时甚至是音频信息来定义。因此,为了获得最佳的结果,考虑特征的多种形式是很重要的。我们对推荐生成网络和分类网络都使用了一种后期融合方案,其中每种模式都有一个单独的推荐生成网络,这些网络的输出组合在一起才能得到最终的推荐集。

图片 8

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

这些推荐使用单独的分类网络对每种模式进行分类,然后经过综合平均得到最终的预测。由于这些改进,在
THUMOS 的 14 检测基准上,TALNet 在动作推荐和行动定位方面表现最佳,并在
ActivityNet
项目中展示了其竞争力。现在,每当人们将视频保存到谷歌图片中时,模型就会开始识别这些视频并创建动画来共享。

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

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

我们正在不断完善,使用更多的数据、特性和模型来提高动作定位的精度。时序动作定位的改进可以推动视频亮点、视频摘要、视频搜索等许多重要功能的进展。我们希望继续提高这一领域的技术水平,同时为人们提供更多方式来追忆他们宝贵的记忆。

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

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

雷锋网注:本文编译自Google AI Blog

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

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

图片 9

图片 10

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

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

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

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

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

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

输入是由 N 个图像组成的训练集,共有 K
个类别,每个图像都被标记为其中一个类别。

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

然后,使用该训练集训练一个分类器,来学习每个类别的外部特征。

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

最后,预测一组新图像的类标签,评估分类器的性能,我们用分类器预测的类别标签与其真实的类别标签进行比较。

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

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

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

图片 11

图片 12

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

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

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

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

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

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

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

图片 13

图片 14

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

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

图片 15

随着内核越来越便宜,数据集越来越大,大型神经网络的速度要比老式计算机视觉系统更快。在这之后,已经有很多种使用卷积神经网络作为核心,并取得优秀成果的模型,如ZFNet,GoogLeNet,
VGGNet, RESNET,DenseNet等。

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

▌2 、对象检测

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

图片 16

图片 17

识别图像中的对象这一任务,通常会涉及到为各个对象输出边界框和标签。这不同于分类/定位任务——对很多对象进行分类和定位,而不仅仅是对个主体对象进行分类和定位。在对象检测中,你只有
2
个对象分类类别,即对象边界框和非对象边界框。例如,在汽车检测中,你必须使用边界框检测所给定图像中的所有汽车。

为了处理这种情况,神经网络研究人员已经提出使用区域来代替,在那里我们找到可能包含目标的“blobby”图像区域。这个区域运行起来相对较快。第一个引人注目的模型是
R-CNN(基于区域的卷积神经网络)。在R-CNN中,我们首先使用称为选择性搜索的算法扫描输入图像以寻找可能的目标,生成约2,000个候选区域。然后我们在每个区域框的基础上运行CNN。最后,我们获取每个CNN的输出并将其输入到SVM以对区域进行分类,并使用线性回归来收紧目标的边界框。

如果使用图像分类和定位图像这样的滑动窗口技术,我们则需要将卷积神经网络应用于图像上的很多不同物体上。由于卷积神经网络会将图像中的每个物体识别为对象或背景,因此我们需要在大量的位置和规模上使用卷积神经网络,但是这需要很大的计算量!

基本上,我们将目标检测转变成了图像分类问题。但是,存在一些问题 –
训练缓慢,需要大量磁盘空间,推理也很慢。

为了解决这一问题,神经网络研究人员建议使用区域这一概念,这样我们就会找到可能包含对象的“斑点”图像区域,这样运行速度就会大大提高。第一种模型是基于区域的卷积神经网络,其算法原理如下:

R-CNN的直接后代是快速R-CNN,它通过2次增强提高了检测速度:1)在侯选区域之前执行特征提取,因此在整个图像上仅运行一个CNN,以及2)用softmax层替换SVM
,从而扩展神经网络的预测,而不是创建一个新的模型。

在 R-CNN
中,首先使用选择性搜索算法扫描输入图像,寻找其中的可能对象,从而生成大约
2,000 个区域建议;

图片 18

然后,在这些区域建议上运行一个 卷积神网络;

快速R-CNN在速度方面表现得更好,因为它只为整个图像训练一个CNN。但是,选择性搜索算法仍然需要花费大量时间来生成候选区域。

最后,将每个卷积神经网络的输出传给支持向量机,使用一个线性回归收紧对象的边界框。

因此,发现了更快的R-CNN,它现在是用于基于深度学习的目标检测的规范模型。通过插入区域生成网络来预测来自特征的区域,它用快速神经网络取代慢的选择性搜索算法。RPN用于决定“在哪里”以减少整个推理过程的计算要求。RPN快速有效地扫描每个位置,以评估是否需要在给定区域中进行进一步处理。它通过输出k个边界框区域来做到这一点,
每个区域具有2个分数,表示每个位置处目标的概率。

图片 19

图片 20

实质上,我们将对象检测转换为一个图像分类问题。但是也存在这些问题:训练速度慢,需要大量的磁盘空间,推理速度也很慢。

一旦我们获得了我们的候选区域,我们就会直接将它们提供给基本上是快速R-CNN的内容。我们添加了一个池化层,一些全连接层,最后是一个softmax分类层和边界框回归器。

R-CNN 的第一个升级版本是 Fast R-CNN,通过使用了 2
次增强,大大提了检测速度:

总而言之,更快的R-CNN实现了更好的速度和更高的精度。值得注意的是,尽管未来的模型在提高检测速度方面做了很多工作,但很少有模型能够以更高的优势超越更快的R-CNN。换句话说,更快的R-CNN可能不是最简单或最快的目标检测方法,但它仍然是表现最好的方法之一。

在建议区域之前进行特征提取,因此在整幅图像上只能运行一次卷积神经网络;

近年来的主要目标检测趋势已转向更快,更有效的检测系统。这在诸如You Only
Look Once,Single Shot MultiBox
Detector和基于区域的完全卷积网络等方法中可见,作为在整个图像上共享计算的一种方法。因此,这些方法将自己与3种R-CNN技术相关联的昂贵子网区分开来。这些趋势背后的主要原因是避免让单独的算法孤立地关注各自的子问题,因为这通常会增加训练时间并降低网络准确性。

用一个 softmax
层代替支持向量机,对用于预测的神经网络进行扩展,而不是创建一个新的模型。

图片 21

图片 22

目标跟踪指的是在给定场景下跟踪特定感兴趣的一个或者多个目标
。传统上,它应用在视频和现实世界的交互中,它们在初始目标检测之后进行观察。现在,它对自动驾驶系统至关重要,例如优步和特斯拉等公司的自动驾驶车辆。

Fast R-CNN 的运行速度要比 R-CNN 快的多,因为在一幅图像上它只能训练一个
CNN 。 但是,择性搜索算法生成区域提议仍然要花费大量时间。

目标跟踪方法可以根据观察模型分为两类:生成方法和判别方法。生成方法使用生成模型来描述表观特征并最小化重建误差以搜索目标,例如PCA。判别方法可用于区分目标和背景,其性能更加鲁棒,它逐渐成为跟踪的主要方法。判别方法也称为检测跟踪,深度学习属于这一类。为了通过检测实现跟踪,我们检测所有帧的候选目标,并使用深度学习从候选者中识别所需目标。可以使用两种基本网络模型:栈式自动编码器和卷积神经网络。

Faster R-CNN 是基于深度学习对象检测的一个典型案例

使用SAE跟踪任务的最流行的深度网络是深度学习跟踪器,它提出了离线预训练和在线微调网络。这个过程是这样的:

该算法用一个快速神经网络代替了运算速度很慢的选择性搜索算法:通过插入区域提议网络,来预测来自特征的建议。
RPN 决定查看“哪里”,这样可以减少整个推理过程的计算量。

离线无监督预训练使用大规模自然图像数据集的栈式去噪自动编码器以获得一般目标表示。通过在输入图像中添加噪声并重建原始图像,栈式
去噪自动编码器可以获得更鲁棒的特征表达能力。

RPN
快速且高效地扫描每一个位置,来评估在给定的区域内是否需要作进一步处理,其实现方式如下:通过输出
k 个边界框建议,每个边界框建议都有 2
个值——代表每个位置包含目标对象和不包含目标对象的概率。

将预训练网络的编码部分与分类器组合以获得分类网络,然后使用从初始帧获得的正样本和负样本来微调网络,这可以区分当前目标和背景。DLT使用粒子滤波器作为运动模型来产生当前帧的候选补丁。分类网络输出这些补丁的概率分数,表示其分类的置信度,然后选择这些补丁中最高的补丁作为目标。

图片 23

在模型更新中,DLT使用限制阈值的方式。

一旦我们有了区域建议,就直接将它们送入 Fast R-CNN 。
并且,我们还添加了一个池化层、一些全连接层、一个 softmax
分类层以及一个边界框回归器。

图片 24

总之,Faster R-CNN
的速度和准确度更高。值得注意的是,虽然以后的模型在提高检测速度方面做了很多工作,但很少有模型能够大幅度的超越
Faster R-CNN 。换句话说, Faster R-CNN
可能不是最简单或最快速的目标检测方法,但仍然是性能最好的方法之一。

由于其在图像分类和目标检测方面的优越性,CNN已成为计算机视觉和视觉跟踪的主流深度模型。一般而言,大规模CNN既可以作为分类器也可以作为跟踪器进行训练。2个代表性的基于CNN的跟踪算法是
完全卷积网络跟踪器和多域CNN 。

近年来,主要的目标检测算法已经转向更快、更高效的检测系统。这种趋势在 You
Only Look Once,Single Shot MultiBox
Detector和基于区域的全卷积网络算法中尤为明显,这三种算法转向在整个图像上共享计算。因此,这三种算法和上述的3种造价较高的R-CNN
技术有所不同。

FCNT成功分析并利用VGG模型的特征图,这是一个经过预先训练的ImageNet,并产生以下观察结果:

▌3 、 目标跟踪

CNN特征图可用于定位和跟踪。

图片 25

许多CNN特征图区分特定目标与其背景的任务是嘈杂的或不相关的。

目标跟踪,是指在特定场景跟踪某一个或多个特定感兴趣对象的过程。传统的应用就是视频和真实世界的交互,在检测到初始对象之后进行观察。现在,目标跟踪在无人驾驶领域也很重要,例如
Uber 和特斯拉等公司的无人驾驶。

较高层捕获对象类别的语义概念,而较低层编码更多的判别特征以捕获类内变异。

根据观察模型,目标跟踪算法可分成 2 类:生成算法和判别算法。

由于这些观察,FCNT设计了特征选择网络,以在VGG网络的conv4-3和conv5-3层上选择最相关的特征图。然后,为了避免在噪声上过拟合,它还分别为两个层的选定特征图设计了额外的两个通道(称为SNet和GNet)。GNet捕获目标的类别信息,而SNet将目标位置为中心的感兴趣区域。最后,通过SNet和GNet,分类器获得两个预测热图,并且跟踪器根据是否存在干扰者来决定将使用哪个热图来生成最终跟踪结果。FCNT的流程如下所示。

生成算法使用生成模型来描述表观特征,并将重建误差最小化来搜索目标,如主成分分析算法;

图片 26

判别算法用来区分物体和背景,其性能更稳健,并逐渐成为跟踪对象的主要手段(判别算法也称为
Tracking-by-Detection ,深度学习也属于这一范畴)。

与FCNT的想法不同,MD
Net使用视频的所有序列来跟踪其中的移动物体。上述网络使用不相关的图像数据来减少跟踪数据的训练需求,这种想法与跟踪有一些偏差。此视频中一个类的目标可以是另一个视频中的背景,因此MD
Net提出了多域的概念,以独立区分每个域中的目标和背景。域表示包含相同类型目标的一组视频。

为了通过检测实现跟踪,我们检测所有帧的候选对象,并使用深度学习从候选对象中识别想要的对象。有两种可以使用的基本网络模型:堆叠自动编码器和卷积神经网络。

如下所示,MD
Net分为两部分:共享层和特定域层的K分支。每个分支包含一个具有softmax损失的二进制分类层,用于区分每个域中的目标和背景,以及共享层与所有域共享以确保一般性表示。

目前,最流行的使用 SAE 进行目标跟踪的网络是 Deep Learning
Tracker,它使用了离线预训练和在线微调。其过程如下:

图片 27

离线无监督预训练使用大规模自然图像数据集获得通用的目标对象表示,对堆叠去噪自动编码器进行预训练。堆叠去噪自动编码器在输入图像中添加噪声并重构原始图像,可以获得更强大的特征表述能力。

近年来,深度学习研究人员尝试了不同的方法来适应视觉跟踪任务的特征。他们已经探索了许多方向:应用其他网络模型,如递归神经网络和深度置信网络,设计网络结构以适应视频处理和端到端学习,优化过程,结构和参数,或者甚至将深度学习与传统的计算机视觉方法或语言处理和语音识别等其他领域的方法相结合。

将预训练网络的编码部分与分类器合并得到分类网络,然后使用从初始帧中获得的正负样本对网络进行微调,来区分当前的对象和背景。
DLT 使用粒子滤波作为意向模型(motion model),生成当前帧的候选块。
分类网络输出这些块的概率值,即分类的置信度,然后选择置信度最高的块作为对象。

图片 28

在模型更新中, DLT 使用有限阈值。

计算机视觉的核心是分割过程
,它将整个图像分成像素组,然后可以对其进行标记和分类。特别是,语义分割试图在语义上理解图像中每个像素的作用(例如,它是汽车,摩托车还是其它类型的类?)。例如,在上图中,除了识别人,道路,汽车,树木等之外,我们还必须描绘每个物体的边界。因此,与分类不同,我们需要从模型中进行密集的逐像素预测。

图片 29

与其他计算机视觉任务一样,CNN在分割问题上取得了巨大成功。其中一种流行的初始方法是通过滑动窗口进行补丁分类,其中每个像素使用其周围的图像分别分为类。然而,这在计算上是非常低效的,因为我们不重用重叠补丁之间的共享特征。

鉴于 CNN
在图像分类和目标检测方面的优势,它已成为计算机视觉和视觉跟踪的主流深度模型。
一般来说,大规模的卷积神经网络既可以作为分类器和跟踪器来训练。具有代表性的基于卷积神经网络的跟踪算法有全卷积网络跟踪器和多域卷积神经网络。

相反,解决方案是加州大学伯克利分校的全卷积网络,它推广了端到端的CNN架构,用于密集预测而无需任何全连接层。这允许为任何大小的图像生成分割图,并且与补丁分类方法相比也快得多。几乎所有后续的语义分割方法都采用了这种范式。

FCNT 充分分析并利用了 VGG 模型中的特征映射,这是一种预先训练好的
ImageNet 数据集,并有如下效果:

图片 30

卷积神经网络特征映射可用于定位和跟踪。

然而,仍然存在一个问题:原始图像分辨率下的卷积将非常昂贵。为了解决这个问题,FCN在网络内部使用下采样和上采样。下采样层称为条纹卷积,而上采样层称为反卷积。

对于从背景中区分特定对象这一任务来说,很多卷积神经网络特征映射是噪音或不相关的。

尽管采用了上采样/下采样层,但由于在池化期间信息丢失,FCN会生成粗分割图。
SegNet 是一种比使用最大池化和编码 –
解码器框架的FCN更高效的内存架构。在SegNet中,从更高分辨率的特征映射引入快捷/跳跃连接,以改善上采样/下采样的粗糙度。

较高层捕获对象类别的语义概念,而较低层编码更多的具有区性的特征,来捕获类别内的变形。

图片 31

因此, FCNT 设计了特征选择网络,在 VGG 网络的卷积 4-3 和卷积 5-3
层上选择最相关的特征映射。 然后为避免噪音的过拟合, FCNT
还为这两个层的选择特征映射单独设计了两个额外的通道(即 SNet 和 GNet ):
GNet 捕获对象的类别信息; SNet
将该对象从具有相似外观的背景中区分出来。

最近的语义分割研究在很大程度上依赖于全卷积网络,例如扩张卷积,DeepLab和RefineNet。

这两个网络的运作流程如下:都使用第一帧中给定的边界框进行初始化,以获取对象的映射。而对于新的帧,对其进行剪切并传输最后一帧中的感兴趣区域,该感兴趣区域是以目标对象为中心。最后,通过
SNet 和 GNet
,分类器得到两个预测热映射,而跟踪器根据是否存在干扰信息,来决定使用哪张热映射生成的跟踪结果。
FCNT 的图如下所示。

图片 32

图片 33

除了语义分割之外,实例分割将不同类的实例分段,例如用5种不同颜色标记5辆汽车。在分类中,通常有一个图像,其中一个目标作为焦点,任务是说这个图像是什么。但是为了分割实例,我们需要执行更复杂的任务。我们看到复杂的景点有多个重叠的物体和不同的背景,我们不仅要对这些不同的物体进行分类,还要确定它们之间的界限,差异和关系!

与 FCNT 的思路不同, MD Net
使用视频的所有序列来跟踪对象的移动。上述网络使用不相关的图像数据来减少跟踪数据的训练需求,并且这种想法与跟踪有一些偏差。该视频中的一个类的对象可以是另一个视频中的背景,因此,
MD Net
提出了“多域”这一概念,它能够在每个域中独立的区分对象和背景,而一个域表示一组包含相同类型对象的视频。

图片 34

如下图所示, MD Net 可分为两个部分,即 K
个特定目标分支层和共享层:每个分支包含一个具有 softmax
损失的二进制分类层,用于区分每个域中的对象和背景;共享层与所有域共享,以保证通用表示。

到目前为止,我们已经看到了如何以许多有趣的方式使用CNN特征来有效地定位带有边界框的图像中的不同目标。我们可以扩展这些技术来定位每个目标的精确像素而不仅仅是边界框吗?使用称为Mask
R-CNN的架构在Facebook AI上探索该实例分割问题。

图片 35

就像Fast R-CNN和Faster R-CNN一样,Mask R-CNN的潜在原理很简单。鉴于
Faster
R-CNN在目标检测中运行得非常好,我们是否可以扩展它以进行像素级分割?

近年来,深度学习研究人员尝试使用了不同的方法来适应视觉跟踪任务的特征,并且已经探索了很多方法:

Mask R-CNN通过向 Faster
R-CNN添加分支来完成此操作,该分支输出二进制掩码,该掩码表示给定像素是否是目标的一部分。该分支是基于CNN的特征图之上的全卷积网络。给定CNN特征图作为输入,网络在像素属于目标的用1s在所有位置输出矩阵,在其他地方输出0。

应用到诸如循环神经网络和深度信念网络等其他网络模型;

图片 36

设计网络结构来适应视频处理和端到端学习,优化流程、结构和参数;

另外,当在原始Faster
R-CNN架构上运行而没有修改时,由RoIPool选择的特征图的区域与原始图像的区域略微不对准。由于图像分割需要像素级特异性,与边界框不同,这自然会导致不准确。Mask
R-CNN通过使用称为RoIAlign的方法调整RoIPool以更精确地对齐来解决此问题。从本质上讲,RoIAlign使用双线性插值来避免舍入误差,从而导致检测和分割不准确。

或者将深度学习与传统的计算机视觉或其他领域的方法(如语言处理和语音识别)相结合。

一旦生成了这些掩模,Mask R-CNN将它们与来自Faster
R-CNN的分类和边界框组合在一起,以生成如此精确的分割:

▌4、语义分割

图片 37

图片 38

这5种主要的计算机视觉技术可以帮助计算机从一个或一系列图像中提取,分析和理解有用的信息。我还没有谈到许多其他先进技术,包括样式转移,着色,动作识别,3D对象,人体姿势估计等。事实上,计算机视觉领域的成本太高而无法深入探讨,我鼓励您进一步探索,无论是通过在线课程,博客教程还是正式文档。对于初学者,我强烈推荐CS231n课程,因为您将学习如何实现,训练和调试自己的神经网络。作为奖励,您可以从我的GitHub存储库获取所有演讲幻灯片和作业指南。我希望它能指导你改变对世界的看法!

计算机视觉的核心是分割,它将整个图像分成一个个像素组,然后对其进行标记和分类。特别地,语义分割试图在语义上理解图像中每个像素的角色(比如,识别它是汽车、摩托车还是其他的类别)。如上图所示,除了识别人、道路、汽车、树木等之外,我们还必须确定每个物体的边界。因此,与分类不同,我们需要用模型对密集的像素进行预测。

想要继续查看该篇文章相关链接和参考文献?

与其他计算机视觉任务一样,卷积神经网络在分割任务上取得了巨大成功。最流行的原始方法之一是通过滑动窗口进行块分类,利用每个像素周围的图像块,对每个像素分别进行分类。但是其计算效率非常低,因为我们不能在重叠块之间重用共享特征。

长按链接点击打开:

解决方案就是加州大学伯克利分校提出的全卷积网络,它提出了端到端的卷积神经网络体系结构,在没有任何全连接层的情况下进行密集预测

这种方法允许针对任何尺寸的图像生成分割映射,并且比块分类算法快得多,几乎后续所有的语义分割算法都采用了这种范式。

AI研习社每日更新精彩内容,观看更多精彩内容:

图片 39

自然语言处理产业界的力量

但是,这也仍然存在一个问题:在原始图像分辨率上进行卷积运算非常昂贵。为了解决这个问题,
FCN 在网络内部使用了下采样和上采样:下采样层被称为条纹卷积( striped
convolution );而上采样层被称为反卷积( transposed convolution )。

迁移学习:如何将预训练CNN当成特征提取器

尽管采用了上采样和下采样层,但由于池化期间的信息丢失, FCN
会生成比较粗糙的分割映射
。 SegNet 是一种比 FCN
(使用最大池化和编码解码框架)更高效的内存架构。在 SegNet
解码技术中,从更高分辨率的特征映射中引入了 shortcut/skip connections
,以改善上采样和下采样后的粗糙分割映射。

谷歌开源BERT不费吹灰之力轻松训练自然语言模型

图片 40

数据科学家应当了解的五个统计基本概念:统计特征、概率分布、降维、过采样/欠采样、贝叶斯统计

目前的语义分割研究都依赖于完全卷积网络,如空洞卷积 ( Dilated
Convolutions ),DeepLab 和 RefineNet 。

等你来译:

▌5 、实例分割

基于图像的路径规划:Dijkstra算法

图片 41

GANGogh:使用GANS创造艺术

除了语义分割之外,实例分割将不同类型的实例进行分类,比如用 5
种不同颜色来标记 5
辆汽车。分类任务通常来说就是识别出包含单个对象的图像是什么,但在分割实例时,我们需要执行更复杂的任务。我们会看到多个重叠物体和不同背景的复杂景象,我们不仅需要将这些不同的对象进行分类,而且还要确定对象的边界、差异和彼此之间的关系!

掌握机器学习必须要了解的4个概念

到目前为止,我们已经看到了如何以多种有趣的方式使用卷积神经网络的特征,通过边界框有效定位图像中的不同对象。我们可以将这种技术进行扩展吗?也就是说,对每个对象的精确像素进行定位,而不仅仅是用边界框进行定位?
Facebook AI 则使用了 Mask R-CNN 架构对实例分割问题进行了探索。

取得自然语言处理SOA结果的分层多任务学习模型

图片 42

就像 Fast R-CNN 和 Faster R-CNN 一样, Mask R-CNN 的底层是鉴于 Faster
R-CNN 在物体检测方面效果很好,我们是否可以将其扩展到像素级分割?

Mask R-CNN 通过向 Faster R-CNN
添加一个分支来进行像素级分割,该分支输出一个二进制掩码,该掩码表示给定像素是否为目标对象的一部分:该分支是基于卷积神经网络特征映射的全卷积网络。将给定的卷积神经网络特征映射作为输入,输出为一个矩阵,其中像素属于该对象的所有位置用
1 表示,其他位置则用 0 表示,这就是二进制掩码。

图片 43

另外,当在原始 Faster R-CNN
架构上运行且没有做任何修改时,感兴趣池化区域( RoIPool )
选择的特征映射区域或原始图像的区域稍微错开。由于图像分割具有像素级特性,这与边界框不同,自然会导致结果不准确。
Mas R-CNN 通过调整 RoIPool 来解决这个问题,使用感兴趣区域对齐( Roialign
)方法使其变的更精确。本质上, RoIlign
使用双线性插值来避免舍入误差,这会导致检测和分割不准确。

一旦生成这些掩码, Mask R-CNN 将 RoIAlign 与来自 Faster R-CNN
的分类和边界框相结合,以便进行精确的分割:

图片 44

▌结语

上述这 5
种主要的计算机视觉技术可以协助计算机从单个或一系列图像中提取、分析和理解有用的信息。你还可以通过我的
GitHub
存储库(

作者 | James Le

原文链接

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图