cnn深度学习

你不得不了解的目标检测发展史

喜你入骨 提交于 2020-02-07 15:48:21
计算机视觉 计算机视觉中的三大类任务: 分类 Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标 定位 Location:解决“在哪里”的问题,即定位出这个目标的位置 检测 Detection:解决“是什么?在哪里”的问题,即定位出这个目标的位置并且知道目标物是什么 分割 Segmentation:分为实例分割和场景分割,解决“每一个像素属于哪个目标物或场景”的问题。 一、目标检测 目标检测可以理解为是物体识别和物体定位的综合,不仅仅要识别物体属于哪个分类,更重要的是得到物体在图片中的具体位置。 为了完成这两个任务,目标检测模型分为两类。一类是two-stage算法;一类是one-stage算法。对于two-stage检测方法来说,它先生成了可能包含物体的候选区域Region Proposal,然后对这个候选区域做进一步的分类和校准,得到最终的检测结果,代表方法有R-CNN系列方法。而对于one-stage检测算法直接给出最终的检测结果,没有经过生成候选区域的步骤,典型代表为YOLO和SSD。 目标检测算法的3个模块: 第一个是检测窗口的选择 ; 第二个是图像特征的提取 ; 第三个是分类器的设计 。 补充基础知识之检测窗口的选择 1.滑动窗口法 首先对输入图像进行不同窗口大小的滑窗进行从左往右、从上到下的滑动

目标检测:R-CNN

元气小坏坏 提交于 2020-02-04 23:37:43
R-CNN:Region-CNN,是第一个成功将深度学习应用到目标检测上的算法。 R-CNN 基于卷积神经网络( CNN ),线性回归,和支持向量机(SVM)等算法 ,实现目标检测技术。 创新点: 将CNN用作目标检测的特征提取器、有监督预训练的方式初始化CNN、在CNN特征上做BoundingBox 回归。 目标检测区别于目标识别很重要的一点是其需要目标的具体位置,也就是BoundingBox。而产生BoundingBox最简单的方法就是滑窗,可以在卷积特征上滑窗。但是我们知道CNN是一个层次的结构,随着网络层数的加深,卷积特征的步伐及感受野也越来越大。例如AlexNet的Pool5层感受野为195*195, feature map大小 为32*32,显然这种感受野是不足以进行目标定位的。使用浅层的神经网络能够保留这种空间结构,但是特征提取的性能就会大打折扣。RCNN另辟蹊径,既然我们无法使用卷积特征滑窗,那我们通过 Region P roposals( 区域建议 ) 方法产生一系列的区域,然后直接使用CNN去分类这些区域是目标还是背景不就可以吗?当然这样做也会面临很多的问题,不过这个思路正是RCNN的核心。因此RCNN全称为Regions with CNN features。 RCNN算法分为4个步骤 : 候选区域生成:一张图像生成1K~2K个候选区域 (采用Selective

R-CNN算法(论文部分翻译+个人总结)

ぃ、小莉子 提交于 2020-02-03 23:54:24
论文题目是《Rich feature hierarchies for accurate object detection and semantic segmentation》 这篇论文做出的贡献有两个方面: (1)可以将高容量的卷积神经网络应用在自底向上的候选区域,以实现对目标的定位和分割。 (2)当标注的训练数据稀缺时,在大型辅助数据集(ILSVRC)上进行有监督的预训练,然后在小型数据集(PASCAL)上进行特定领域的微调,可以有效地训练大型CNN。 背景知识 在过去十年中(本篇论文发布于2014年),各种视觉识别任务主要使用SIFT和HOG。但是在PASCAL VOC上进行目标检测的性能在2010-2012间进展缓慢。Fukushima的“neocognitron”是一种受生物学启发的模式识别模型,具有分层和平移不变性等特点,这项成果算是一种早期的尝试。但是neocognitron缺少有监督的训练算法。LeCun在Rumelhart等人文章的基础上表明,通过反向传播的随机梯度下降对于训练CNN是有效的,这类模型扩展了neocognitron。 CNN在1990年代曾被大量使用,但随后随着SVM的兴起而逐渐过时。在2012年,Krizhevsky等人通过在ImageNet大规模视觉识别挑战赛(ILSVRC)上展示出更高的图像分类准确性,重新引起了人们对CNN的兴趣

RCNN论文翻译

爱⌒轻易说出口 提交于 2020-01-24 15:22:57
用于目标检测和语义分割的丰富特征层次结构的提取 1、摘要 过去几年,在权威数据集PASCAL上,物体检测的效果已经达到一个稳定水平。效果最好的方法是融合了多种图像低维特征和高维上下文环境的复杂结合系统。在这篇论文里,我们提出了一种简单并且可扩展的检测算法,可以将mAP在VOC2012最好结果的基础上提高30%以上,也就是达到了53.3%。我们的方法结合了两个关键的因素: 为了实现目标检测和语义分割,将大型卷积神经网络用于图像的候选区域。 由于带标签数据稀少,我们先针对辅助任务使用了监督性的预训练,然后再对特征任务进行微调,实验证明产生了明显的性能提升。 因为我们采用了带CNN的候选区域筛选法,我们就把我们的方法叫做R-CNN:Regions with CNN features.我们也把RCNN效果跟Overfit比较了下(OverFeat是最近提出的在与我们相似的CNN特征下采用滑动窗口进行目标检测的一种方法),结果发现RCNN在200类ILSVRC2013检测数据集上性能明显优于OVerFeat。本文完整系统源码在:http://www.cs.berkeley.edu/˜rbg/rcnn。 2、介绍 特征很重要。在过去几十年,不同视觉检测任务基本都建立在对SIFT和HOG特征的使用。但是如果我们回看在权威视觉检测任务比赛PASCAL VOC的性能变化,我们必须得承认在2010

卷积神经网络CNN的原理一基本概念

会有一股神秘感。 提交于 2020-01-15 22:52:08
卷积神经网络CNN的原理(一)---基本概念 什么是卷积神经网络呢?这个的确是比较难搞懂的概念,特别是一听到神经网络,大家脑海中第一个就会想到复杂的生物学,让人不寒而栗,那么复杂啊.卷积神经网络是做什么用的呢?它到底是一个什么东东呢? 卷积神经网络的灵感源一种生物进程,其中神经元之间的联结模式和动物视觉皮层组织非常相似。所以发明者把它叫做卷积神经网络.只是做了类比,没有生物学知识的同学不要怕,只要有良好的数学基础(这个也不是很容易喔). 下面看看各方神圣对CNN的概念的定义吧: 科学的说法: 卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。 它包括卷积层(convolutional layer)和池化层(pooling layer)。 通俗的说法: 简单说,卷积神经网络是一种类似于人工神经网络的深度学习模型或多层感知机,常用于分析和处理视觉数据。 个人理解: 卷积神经网络是一种能够有效对数据进行分类的神经网络算法,它的特点是简单,高效. 卷积神经网络为什么那么火?它的优点是什么呢?试用场景又是什么呢? 卷积神经网络包括一维卷积神经网络、二维卷积神经网络以及三维卷积神经网络。一维卷积神经网络常应用于序列类的数据处理;二维卷积神经网络常应用于图像类文本的识别

A Taxonomy of Deep Convolutional Neural Nets for Computer Vision

霸气de小男生 提交于 2020-01-14 20:01:03
A Taxonomy of Deep Convolutional Neural Nets for Computer Vision 基本信息 摘要 1. Introduction 2. Introduction to Convolutional Neural Networks 2.1. Building Blocks of CNNs 2.1.1. Why Convolutions? 2.1.2. Max-Pooling 2.1.3. Non-Linearity 2.2. Depth 2.3. Learning Algorithm 2.3.1. Gradient-Based Optimization 2.3.2. Dropout 2.4. Tricks to Increase Performance 2.5. Putting It All Together: AlexNet 2.6. Using Pre-Trained CNNs 2.6.1. Fine-Tuning 2.6.2. CNN Activations as Features 2.7. Improving AlexNet 3. CNN Flavors 3.1. Region-Based CNNs 3.2. Fully Convolutional Networks 3.3. Multi-Modal Networks 3.4.

遥感图像目标检测调研

一个人想着一个人 提交于 2020-01-12 20:29:43
之前做数字图像处理时的作业,整理上来备份一下。 近年来,目标检测在深度学习这波浪潮下经历了快速迭代和发展,包括两阶段的R-CNN, Fast R-CNN, Faster R-CNN, Mask R-CNN系列的方法,更加上了FPN,FCN,Focal Loss等多种技巧,由于准确度较好,目前仍然在各种检测任务扮演者重要的角色,包括在遥感图像领域。与此相比,SSD,Yolo系列的一阶段检测方法,由于效率更高,在落地应用中展现出了强大的活力。 上述的R-CNN、YOLO系列几种经典目标检测算法在通用的PASCAL VOC,COCO数据集上都有不错的效果,但是在遥感领域却需要做很多针对性的优化,才能对遥感图像做较好的检测。遥感图像与自然场景下的普通图像相比,有如下特点: 角度是从空中拍摄,30度-90度 因图像涵盖范围广,小目标占比很大,分布密集 旋转不变性(船舶各个方向都有,但ImageNet中大树总是垂直的) 周围环境信息更重要 训练数据少,但单张图片像素可能极大(某些数据集不大) 图片可能包含其他各种信息,如波段,地理坐标 遥感图像的上述特点,使得对其进行精准的目标检测有很大的挑战。接下来本文将重点分析几篇和遥感图像目标检测有关的重要文献,并简单介绍调研到的其他文献。 第一篇是DOTA数据集[1](DOTA2018),我们小组的课题打算在此数据集的更新版本(DOTA2019)上

卷积神经网络详解

假装没事ソ 提交于 2019-12-27 17:33:48
1 前言 在dl中,有一个很重要的概念,就是卷积神经网络CNN,基本是入门dl必须搞懂的东西。本文基本根据斯坦福的机器学习公开课、cs231n、与七月在线寒老师讲的5月dl班第4次课CNN与常用框架视频所写,是一篇课程笔记。本只是想把重点放在其卷积计算具体是怎么计算怎么操作的,但后面不断补充,故写成了关于卷积神经网络的通俗导论性的文章。有何问题,欢迎不吝指正。 2 人工神经网络 2.1 神经元 神经网络由大量的节点(或称“神经元”、“单元”)和相互连接而成。每个神经元接受输入的线性组合,进行非线性变换(亦称激活函数activation function)后输出。每两个节点之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。 举个手写识别的例子,给定一个未知数字,让神经网络识别是什么数字。此时的神经网络的输入由一组被输入图像的像素所激活的输入神经元所定义。在通过激活函数进行非线性变换后,神经元被激活然后被传递到其他神经元。重复这一过程,直到最后一个输出神经元被激活。从而识别当前数字是什么字。 神经网络的每个神经元/单元如下 类似wx + b的形式,其中 a1~an为输入向量,当然,也常用x1~x n表示输入 w1~wn为权重 b为偏置 bias f 为激活函数 t 为输出 如果只是上面这样一说,估计以前没接触过的十有八九又必定迷糊了

卷积神经网络CNN的可视化

▼魔方 西西 提交于 2019-12-27 03:21:14
通常我们认为深度学习模型是“黑盒”的,即模型学到的表示很难用人类可以理解的方式来提取和呈现。然而对于卷积神经网络来说却不是这样的。CNN学到的表示非常适合可视化,因为CNN本身就是 视觉概念的表示 。 CNN可视化和解释:【本文给出3个层面的可视化】 1)可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积网络神经连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义。 2)可视化卷积神经网络的过滤器 有助于精确理解卷积神经网络中每个过滤器容易接受的视觉模式或视觉概念。 3)可视化图像中类激活的热力图 有助于理解图像的哪个部分被识别为属于某个类别,从而可以定位图像中的物体。 一、可视化中间激活 可视化中间激活,是指对于给定输入,展示网络中各个卷积层和池化层输出的特征图(层的输出通常被称为该层的激活,即激活函数的输出)。 可视化中间激活,可以看到输入如何被分解为网络学到的不同过滤器。 从三个维度对特征图进行可视化:宽度、高度和深度(通道)。每个通道都对应相对独立的特征,所以讲这些特征图可视化的正确方法是将每个通道的内容分别绘制成二维图像。 原图如下: 第一层卷积层第4通道可视化结果: 第一层卷积层第7通道可视化结果: 第5个卷积层第5个通道可视化: 第5个卷积层的第30通道可视化: 上例中揭示了DL学到的表示存在一个重要普遍特征: 随着层数的加深

CNN中的深度可分离卷积、组卷积、空洞卷积、可变性卷积

巧了我就是萌 提交于 2019-12-18 20:35:10
参考: https://zhuanlan.zhihu.com/p/28749411 https://blog.csdn.net/Chaolei3/article/details/79374563 1 普通卷积 CNN中的普通卷积是三维卷积,每个卷积核的通道数和输入数据通道数相同,卷积核的个数为输出数据的通道数。具体的计算过程为在各通道进行卷积核和对应感受野输入数据的对应位置相乘再相加操作,得到一个输出值。N个不同的卷积核就得到了N个输出值,将这些值沿着深度方向concatenate,就得到了一个点的输出。沿着空间滑动卷积核,就得到了最终的卷积结果。 假设输入大小为 H I × W I × C I H_I\times W_I \times C_I H I ​ × W I ​ × C I ​ ,输出为 H o × W o × C o H_o \times W_o \times C_o H o ​ × W o ​ × C o ​ ,卷积核的空间大小为 w × w w \times w w × w ,那么实际的卷积过程中使用的是大小为 w × w × C I w \times w \times C_I w × w × C I ​ 的卷积核,共 C o C_o C o ​ 个,因此总的参数数量为: C o × C I × w × w C_o \times C_I \times w