
deep learning
bestrivern
热爱计算机视觉,机器学习,算法,编程,正在不断学习中
展开
-
PersFormer
Motivation在前视图上做2D图像的分割技术很成熟,但是2D的图像空间不适用于复杂的工业级场景。为什么这么说呢,有两方面原因,一方面是下游的任务例如PNC更需要BEV视角的检测结果,有些方法将前视图上的车道线分割结果通过相机内外参变换到BEV空间,有些则更优雅的通过相机内外参将前视图的特征变换到BEV空间的特征,但这样的话BEV的特征强依赖于前视图的特征,会受到前视图中遮挡,scale变换的很大的影响。另一方面,我们应该要考虑车道线本身的height,这个height定义为车道线在BEV 3.原创 2022-04-07 13:41:34 · 666 阅读 · 0 评论 -
跨卡同步 Batch Normalization
一.为什么要跨卡同步 Batch Normalization现有的标准 Batch Normalization 因为使用数据并行(Data Parallel),是单卡的实现模式,只对单个卡上对样本进行归一化,相当于减小了批量大小(batch-size)。 对于比较消耗显存的训练任务时,往往单卡上的相对批量过小,影响模型的收敛效果。 之前在在图像语义分割的实验中,就发现使用大模型的效果反而变差,...原创 2019-12-29 18:02:41 · 2234 阅读 · 3 评论 -
Filter Response Normalization Layer(FRN)
一.概述目前主流的深度学习模型都会采用BN层(Batch Normalization)来加速模型训练以及提升模型效果,对于CNN模型,BN层已经上成为了标配。但是BN层在训练过程中需要在batch上计算中间统计量,这使得BN层严重依赖batch,造成训练和测试的不一致性,当训练batch size较小,往往会恶化性能。GN(Group Normalization)通过将特征在channel维度...原创 2019-12-29 16:10:59 · 2204 阅读 · 1 评论 -
ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks
一.概述提出了一个Asymmetric Convolution Block (ACB),可以在普通的网络中加入一些ACB来代替普通的卷积,这个仅在训练的时候起作用,然后测试的时候可以使得网络恢复之前的结构,所以这种方法是提升了网络的性能但是完全不会破坏网络,所以原作者说是白给的性能。但是这个性能的提升也是以训练时间增加40%换来的。所以具体能不能应用到实际业务中就是仁者见仁智者见智了。二....原创 2019-12-27 21:24:56 · 2935 阅读 · 1 评论 -
FCOS详解S:FullyConvolutionalOne-StageObjectDetection
这玩意和基于anchor的有异曲同工之处,anchor-based是一个点对应n个anchor,而这玩意是每一个点对应一个box。训练时:基于anchor的方法是在featuremap的每一个点上产生anchor,然后将anchor映射回原图求gt与anchor的iou,大于一定阈值就认为是正样本,进行gt与anchor的坐标偏移回归,并且进行分类的训练。而这玩意是对于featurema...原创 2019-12-20 10:37:54 · 812 阅读 · 0 评论 -
Global Average Pooling
一.简介大牛在NIN(Network in Network)论文中提到了使用全局平局池化层代替全连接层的思路,以下是摘录的一部分资料:global average poolilng。既然全连接网络可以使feature map的维度减少,进而输入到softmax,但是又会造成过拟合,是不是可以用pooling来代替全连接。答案是肯定的,Network in Network工作使用GAP来取...原创 2019-12-11 22:31:58 · 842 阅读 · 0 评论 -
PSPNet
一.概述Pyramid Scene Parsing Network(PSPNet)是CVPR2017上关于场景解析的文章,拿到了2016年ImageNet比赛中scene parsing任务的冠军,当然也常用来做语义分割。这篇文章出发点是在语义分割算法中引入更多的上下文信息(context information), 这样能够避免许多误分割,PSPNet在FCN算法的基础上引入更多上下文信息是...原创 2019-12-11 21:58:25 · 776 阅读 · 1 评论 -
ThunderNet
一.Abstracttwo-stage lightweighted backbone for object detection efficient rpn and detection head design To generate more discriminative feature representation, we design two efficient architectu...原创 2019-12-07 14:06:04 · 655 阅读 · 0 评论 -
感受野
感受野是卷积神经网络里面最重要的概念之一,为了更好地理解卷积神经网络结构,甚至自己设计卷积神经网络,对于感受野的理解必不可少。一.定义感受野是卷积神经网络里面最重要的概念之一,为了更好地理解卷积神经网络结构,甚至自己设计卷积神经网络,对于感受野的理解必不可少。在机器视觉领域的深度神经网络中有一个概念叫做感受野,用来表示网络内部的不同位置的神经元对原图像的感受范围的大小。在学习计...原创 2019-11-17 11:21:24 · 2176 阅读 · 2 评论 -
分类问题的评价指标
一.概述 二.理论其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索...原创 2019-11-16 18:07:22 · 1297 阅读 · 0 评论 -
Inception系列
一.Inception V1Inception v1的原始Inception module如下所示: 首先解释一下这种Inception module的好处,从Alexnet到VGG,网络层次不断增加,深度不断增加,但是却忽视了广度上的增加,而Inception就是在广度上增加,同时使用不同的卷积核大小,3*3,5*5,1*1,这些不同卷积...原创 2019-11-12 21:20:15 · 1554 阅读 · 0 评论 -
MobileNet_v2
一.概述MobileNetV1网络是一条路的单通道结构,没有feature map的复用。ResNet和DenseNet等网络的提出,也验证了feature map复用对提升网络性能的有效性,MobileNetV2便应运而生。MobileNetV2提出使用 inverted residual with linear bottleneck,有很大residual block的影子在里面。接下来便...原创 2019-11-07 19:36:20 · 593 阅读 · 0 评论 -
MobileNet_v1
一.概述深度学习能够很好解决部分计算机视觉相关的问题,但是其需要依靠强大的计算能力作为支撑。深度学习在能耗有限,计算资源有限和存储空间有限的移动端部署困难重重。在不改变网络结构的前提下,网络稀疏化,量化是加速和压缩深度神经网络模型的重要手段。以AlexNet为例,网络的权重有233M的参数,在ILSVRC-2012上精度top1=62.5% top5=83%,而ResNet-18有45M的参...原创 2019-11-06 12:15:43 · 841 阅读 · 0 评论 -
Cascade R-CNN
本篇文章主要解决了在目标检测中,检测框不是特别准,容易出现噪声干扰的问题,即close false positive,为什么会有这个问题呢?作者实验发现,因为在基于anchor的检测方法中,我们一般会设置训练的正负样本(用于训练分类以及对正样本进行坐标回归),选取正负样本的方式主要利用候选框与ground truth的IOU占比,常用的比例是50%,即IOU>0.5的作为正样本,IOU&l...原创 2019-11-04 11:45:30 · 1593 阅读 · 1 评论 -
BN、LN、IN、GN
常用的Normalization方法主要有:Batch Normalization(BN,2015年)、Layer Normalization(LN,2016年)、Instance Normalization(IN,2017年)、Group Normalization(GN,2018年)。它们都是从激活函数的输入来考虑、做文章的,以不同的方式对激活函数的输入进行 Norm的。我们将输入的...原创 2019-11-02 22:47:06 · 1356 阅读 · 0 评论 -
ROI Pooling和ROI Aligen
ROI Pooling可以在Faster RCNN中使用以便使生成的候选框region proposal映射产生固定大小的feature map。ROI Align 是在Mask-RCNN这篇论文里提出的一种区域特征聚集方式, 很好地解决了ROI Pooling操作中两次量化造成的区域不匹配(mis-alignment)的问题。实验显示,在检测测任务中将 ROI Pooling 替换为 RO...原创 2019-10-29 20:51:23 · 523 阅读 · 0 评论 -
DenseNet
一.概述这篇文章是CVPR2017的oral,DenseNet脱离了加深网络层数(ResNet)和加宽网络结构(Inception)来提升网络性能的定式思维,从特征的角度考虑,通过特征重用和旁路(Bypass)设置,既大幅度减少了网络的参数量,又在一定程度上缓解了gradient vanishing问题的产生.结合信息流和特征复用的假设,DenseNet当之无愧成为2017年计算机视觉顶会的年...原创 2019-10-22 21:52:10 · 639 阅读 · 0 评论 -
FPN
一.概述作者提出的多尺度的object detection算法:FPN(feature pyramid networks)。原来多数的object detection算法都是只采用顶层特征做预测,但我们知道低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。另外虽然也有些算法采用多尺度特征融合的方式,但是一般是采用融合后的特征做预测,而本文不一样的地方...原创 2019-10-27 19:51:46 · 855 阅读 · 0 评论 -
SSD(Single Shot MultiBox Detector)
一.概述 本文讲解的是SSD算法,其英文全名是Single Shot MultiBox Detector,名字取得不错,Single shot指明了SSD算法属于one-stage方法,MultiBox指明了SSD是多框预测。从图1可以看到,SSD算法在准确度和速度(除了SSD512)上都比Yolo要好很多。图2给出了不同算法的基本框架图,对于Faster ...原创 2019-10-23 13:12:34 · 3632 阅读 · 0 评论 -
RNN详解(Recurrent Neural Network)
一.概述RNN用于处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用...原创 2019-07-21 12:06:19 · 131117 阅读 · 22 评论 -
指数加权移动平均
一.概述指数加权移动平均(Exponential Weighted Moving Average),简称EMA。算术平均(权重相等)—>加权平均(权重不等)—>移动平均(大约是只取最近的N次数据进行计算)—> 批量归一化(BN)及各种优化算法的基础 EMA:是以指数式递减加权的移动平均,各数值的加权影响力随时间呈指数式递减,时间越靠近当前时刻的数据加权影响力越大以伦敦...原创 2019-01-07 22:29:31 · 8415 阅读 · 0 评论 -
yolo_v3
一.概述YOLO算法的基本思想是:首先通过特征提取网络对输入图像提取特征,得到一定size的feature map,比如13*13,然后将输入图像分成13*13个grid cell,接着如果ground truth中某个object的中心坐标落在哪个grid cell中,那么就由该grid cell来预测该object,因为每个grid cell都会预测固定数量的bounding box(YO...原创 2019-10-14 15:11:14 · 2200 阅读 · 0 评论 -
yolo_v1
一.yolo概述作者在YOLO算法中把物体检测(object detection)问题处理成回归问题,用一个卷积神经网络结构就可以从输入图像直接预测bounding box和类别概率。YOLO算法的优点:1、YOLO的速度非常快。在Titan X GPU上的速度是45 fps(frames per second),加速版的YOLO差不多是150fps。2、YOLO是基于图像的全局信息进行预...原创 2019-10-10 09:15:36 · 352 阅读 · 0 评论 -
卷积神经网络(CNN)
一.边缘检测1.垂直边缘检测1 0 -1 1 0 -1 1 0 -1 2.水平边缘检测1 1 1 0 0 0 -1 -1 -1 3.更多边缘检测滤波器Sobel filter 1 0 -1 2 0 ...原创 2019-02-14 20:50:49 · 312 阅读 · 1 评论 -
迁移学习(Transfer learning),多任务学习(Multitask learning)和端到端学习(End-to-end deep learning)
一.迁移学习(Transfer learning)1.Task A and Task B has the same input x2.You have a lot more data for Task A than Task B3.Low level features from A could be helpful for learning B二.多任务学习(Multitask l...原创 2019-02-11 20:49:10 · 1259 阅读 · 0 评论 -
Softmax回归
一.概述softmax其实是Logistic的推广到多类别分类应用中。softmax分类器的思想很简单,对于一个新的样本,softmax回归模型对于每一类都先计算出一个分数,然后通过softmax函数得出一个概率值,根据最终的概率值来确定属于哪一类。首先,我们看一下sigmod激活函数,如下图,它经常用于逻辑回归,将一个real value映射到(0,1)的区间(当然也可以是(-1,1),...原创 2019-02-02 10:55:35 · 166 阅读 · 0 评论 -
Adam优化算法(Adam optimization algorithm)
一.算法概述及实现步骤Adam优化算法基本上就是将Momentum和RMSprop结合在一起。1.初始化2.在第t次迭代中,用mini-batch梯度下降法计算出和3.计算Momentum指数加权平均数4.用RMSprop进行更新5.计算Momentum和RMSprop的偏差修正6.更新权重 Adam的参数配置::同样也称为学习率或步长因子,它控制了权重...原创 2019-01-11 14:46:18 · 47912 阅读 · 1 评论 -
RMSprop
RMSprop算法,全称是root mean square prop。为了进一步优化损失函数在更新中存在摆动幅度过大的问题,并且进一步加快函数的收敛速度,RMSProp算法对权重W和偏置b的梯度使用了微分平方加权平均数。 在第t轮迭代中:其中dW的平方是(dW)^2,db的平方是(db)^2。如果严谨些,防止分母为0,在分数下加上个特别小的一个值epsilon,通常取10^-8。...原创 2019-01-09 16:33:37 · 9227 阅读 · 2 评论 -
批标准化(batch normalization)
一.概述1.为什么需要BN我们知道网络一旦train起来,那么参数就要发生更新,除了输入层的数据外(因为输入层数据,我们已经人为的为每个样本归一化),后面网络每一层的输入数据分布是一直在发生变化的,因为在训练的时候,前面层训练参数的更新将导致后面层输入数据分布的变化。以网络第二层为例:网络的第二层输入,是由第一层的参数和input计算得到的,而第一层的参数在整个训练过程中一直在变化,因此必...原创 2019-01-14 22:33:40 · 8705 阅读 · 1 评论 -
动量梯度下降法(Gradient descent with Momentum)
如果你要优化成本函数,函数形状如图,红点代表最小值的位置,假设你从这里(蓝色点)开始梯度下降法,如果进行梯度下降法的一次迭代,无论是batch或mini-batch下降法,都要进行如图所示的波动,慢慢摆动到最小值,这种上下波动减慢了梯度下降法的速度,你就无法使用更大的学习率,如果你要用较大的学习率(紫色箭头),结果可能会偏离函数的范围,为了避免摆动过大,你要用一个较小的学习率。另一个看待问...原创 2019-01-08 23:04:12 · 4189 阅读 · 2 评论 -
学习率衰减(Learning rate decay)
随时间慢慢减少学习率来加快学习算法在使用mini-batch梯度下降法时,mini-batch数量不大,大概64或者128个样本,在迭代过程中会有噪音(蓝色线),下降朝向最小值,但是不会精确地收敛,所以你的算法最后在附近摆动,并不会真正收敛,因为你用的是固定值,不同的mini-batch中有噪音。 但要慢慢减少学习率的话,在初期的时候,学习率还较大,你的学习还是相对较快,但随着...原创 2019-01-11 15:45:09 · 23697 阅读 · 4 评论 -
目标检测(Object Detection)
一.概述目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观,形状,姿态,加上成像时光照,遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。计算机视觉中关于图像识别有四大类任务:分类-Classification:解决“是什么?”的问题,即给定一张图片或一段...原创 2019-01-04 21:48:53 · 1884 阅读 · 1 评论 -
mini_batch梯度下降法
一.概述向量化能够让你有效地对所有m个样本进行计算,允许你处理整个训练集,而无需某个明确的公式。所以我们要把训练样本放大巨大的矩阵X当中去,,Y也是如此,,所以X的维数是,Y的维数是(1,m),向量化能够让你相对较快地处理所有m个样本。如果m很大的话,处理速度仍然缓慢。比如说,如果m是500万或5000万或者更大的一个数,在对整个训练集执行梯度下降法时,你要做的是,你必须处理整个训练集,然后才...原创 2019-01-04 21:09:34 · 4169 阅读 · 0 评论 -
Dropout(随机失活)正则化
一 .概述1.定义Dropout说的简单一点就是:我们在前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征 假设你在训练上图这样的神经网络,它存在过拟合,这就是dropout所要处理的,我们复制这个神经网络,dropout会遍历网络的每一层,并设置消除神经网络中节点的概率。假设网络中的每一层,每个节点都以抛硬币的方式...原创 2018-12-27 11:00:16 · 4328 阅读 · 1 评论 -
L1和L2正则化
一.L2正则化左半部分:经验风险 右半部分:正则化项右半部分计算如下:弗罗贝尼乌斯范数:梯度下降过程:L2正则化也被称为权重衰减二.L1正则化 其他同上三.L1与L2的对比分析L2正则化的效果是对原最优解的每个元素进行不同比例的放缩, L1正则化则会使原最优解的元素产生不同量的偏移,并使...原创 2018-12-26 22:09:11 · 607 阅读 · 0 评论 -
正则化
一.正则化概述深度学习可能存在过拟合问题——高方差,有两个解决方法,一个是正则化,另一个是准备更多的数据,这是非常可靠的方法,但你可能无法时时刻刻准备足够多的训练数据或者获取更多数据的成本很高,但正则化通常有助于避免过拟合或减少你的网络误差。二.正则化方法1.L1和L2正则化https://blog.youkuaiyun.com/bestrivern/article/details/85266...原创 2018-12-27 18:39:34 · 150 阅读 · 0 评论 -
经典网络
一.LeNet-5二.AlexNet三.VGG-16原创 2019-03-01 15:38:08 · 237 阅读 · 0 评论 -
残差网络(ResNet)
一.概述因为CNN能够提取low/mid/high-level的特征,网络的层数越多,意味着能够提取到不同level的特征越丰富。并且,越深的网络提取的特征越抽象,越具有语义信息。 对于原来的网络,如果简单地增加深度,会导致梯度弥散或梯度爆炸。(对于该问题的解决方法是正则化初始化和中间的正则化层(Batch Normalization),这样的话可以训练几十层的网络。) 虽然通过上述方法能...原创 2019-03-02 16:58:57 · 3241 阅读 · 0 评论 -
east文本检测
一.简介近年来,提取和理解在自然场景中的文本信息变得越来越重要和普遍,ICDAR系列竞赛的参与者的数量以及NIST发起的TRAIT 2016评估都证明了这一点。文本检测作为文本识别、机器翻译等后续过程的前提条件,其核心是区分文本和背景。传统方法使用手动设计特征以获得文本属性,而现在基于深度学习直接从训练数据中学习有效特征,可获得更加鲁棒的高级特征。现有的无论是传统的还是基...原创 2019-11-11 11:37:54 · 2134 阅读 · 0 评论 -
soft nms
一.动机非最大抑制(Non-maximum suppression, NMS)是物体检测流程中重要的组成部分(如下图划线部分)。NMS算法首先按照得分从高到低对建议框进行排序,然后分数最高的检测框M被选中,其他框与被选中建议框有明显重叠的框被抑制。该过程被不断递归的应用于其余检测框。根据算法的设计,如果一个物体处于预设的重叠阈值之内,可能会导致检测不到该待检测物体。即当两个目标框接近时,分数更...原创 2019-10-02 22:03:16 · 1003 阅读 · 0 评论