
Deep Learning
文章平均质量分 82
深度学习相关
大道@至简
大道至简
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Multiscale deformable attention
deformable attention 灵感来源可变形卷积,先来看看什么是可变形卷积DCN?DCN 论文地址大概就像图中所示,传统的CNN 卷积核是固定的,假设为N = 3 x3,所以邻域9个采样点位置就是固定的。可变形卷积目的就是动态生成这9个采样位置。首先特征图经过卷积层,这个和传统CNN没区别,然后生成与特征图一样大小的位置偏移网络,channel = N * 2,表示在原有9个固定采样点上的x, y 偏移。得到偏移量后再回到原始特征图上进行插值采样,进行采样点卷积,得到当前特征点的输出值原创 2025-03-13 13:56:48 · 1731 阅读 · 0 评论 -
深度学习网络各种激活函数 Sigmoid、Tanh、ReLU、Leaky_ReLU、SiLU、Mish
激活函数的目的就是:梯度为0, 无法反向传播,导致参数得不到更新:随着数据的变化,梯度没有明显变化:梯度越来越大,无法收敛梯度消失问题:1、反向传播链路过长,累积后逐渐减小2、数据进入梯度饱和区如何解决:1、选正确激活函数,relu, silu2、BN 归一化数据3、 resnet 较短反向传播路径4、LSTM 记忆网络。原创 2023-02-02 18:33:46 · 3727 阅读 · 0 评论 -
simOTA 彻底理解
simOTA 出现在YOLOX中,是作为正样本匹配,能达到自动分析一个Gt 需要匹配哪些正样本。要解决的问题就是去做预测的优化问题。步骤大致是先进行正样本的预筛选,然后通过计算预选框与gt 框的代价矩阵,原创 2022-10-13 23:14:49 · 3390 阅读 · 0 评论 -
yolov5简要介绍
正样本匹配:寻找负责预测真值框的先验框 (不负责的作为负样本或丢弃)正样本寻找过程:与以往的用IOU匹配不同,yolov5用如下2步骤进行正样本匹配:1、先验框尺寸匹配:目标框与先验框的宽比值、高比值的最大值 小于一定阈值,则为正匹配。原创 2022-10-08 18:16:55 · 8014 阅读 · 3 评论 -
目标框检测中准确率、召回率、AP、mAP计算原理及代码
假设有M个真值正样本,我们从Top-1 到 Top-N,每累积一个预测就会对应一个recall 和 一个 precision。,M/M),对每一个recall,从对应的precision 中取最大值作为当前recall 对应的precision,求M 个precision的平均得到AP。一般用 IOU 进行匹配,预测框和真实框之间的 IOU 值大于一定阈值时,比如0.5,则认为对真实样本正确预测。但是Accuracy 不经常使用,因为我们在做目标预测的时候往往只关心正样本,而不去关心负样本是否正确预测。原创 2022-09-28 00:09:28 · 9501 阅读 · 5 评论 -
yolov5模型 转 tensorRT
yolov5模型转TensorRT踩坑记原创 2022-06-01 15:01:28 · 932 阅读 · 0 评论 -
深度学习中的 BN (BatchNormalization)理解
CNN 三大算子: CONV + BN +RELU1、为什么 BN指导思想:机器学习领域有个很重要的假设:IID独立同分布假设,就是假设训练数据和测试数据是满足相同分布的。具有统一规格的数据, 能让机器学习更容易学习到数据之中的规律。具体原因:随着网络加深,数据经过激活层后趋向两侧,梯度趋于消失,分布在敏感激活区域(中间部分)的数据减少。不利于网络收敛。BN 将数据从新拉回标准正态分布。如何 BN减均值,除方差,乘scale, 加shift3、反归一化归一化有好有坏,如何取舍,最原创 2022-01-27 10:21:00 · 4432 阅读 · 0 评论 -
PsROI Pooling 深入理解,附代码
faster rcnn 和 rfcn 的最大不同点在于rfcn采用了PsROI Pooling 保留了局部区域的位置敏感性。输入batch_size = N 的批次训练图像。假设我们通过 RPN 层网络获取了 M 个 rois, 每个 rois 用 1*5 的向量表示,**第0 个数表示rois 所属于的图像id,**对roi 进行pooling 时要到特征图对应的batch 中。例如 rois = [[0, 1,4,6,8],[0,2,3,7,9],[1,3,5,7,9]],有3个roi,其中两个原创 2022-01-18 12:04:59 · 3427 阅读 · 0 评论 -
对抗网络GAN
“adversarial training is the coolest thing since sliced bread" – Yann LeCunGAN 网络主要由生成器G 和 判别器D两大部分组成。G 网络主要用于生成目标,D网络主要用于区分目标。通过二者之间的对抗,使得生成的目标越来越强大。比如我(G)要做亿万富翁,我向一个导师(D)请教:G:我要做亿万富翁D:你学识不够– 于是我开始疯狂学习知识G:我要做亿万富翁D:你投资能力不足– 于是我开始疯狂学习投资G:我要做亿万富翁D原创 2022-01-07 09:43:01 · 277 阅读 · 0 评论 -
FCOS : 一阶段无anchor全卷积检测网络
FCOS: Fully Convolutional One-Stage Object Detection文章链接:https://arxiv.org/pdf/1904.01355.pdfFCOS 是一阶段网络,基于 center-ness 的思想,实现没有anchor, 没有proposal的目标检测。而且召回率不亚于基于anchor 的检测算法。1、网络结构如下:网络结构借用FCN,通过反卷积上采样后进行特征融合,最后获取多尺度的特征输出,文章给出了5层尺度特征feature map, 最后在每一原创 2021-12-14 14:49:48 · 2651 阅读 · 0 评论 -
CornerNet详解
论文动机1、anchor-box 好用,但是有两个缺点:1)、数量太多,造成负样本太多,样本不均衡,导致训练效率低。2)、anchor-box引入太多超级参数,数量,大小,长宽比等增加算法设计难度。所以想通过一组关键点,用左上角和右下角的点来代替bbox。网络结构Heatmaps预测哪些点最有可能是Corners点,Embeddings用于表征属于相同对象的corner的相似度。它们的通道数都为C,C是object的类别数 (不包括background) 。最后的Offsets用于对corn原创 2021-09-16 08:46:00 · 8404 阅读 · 1 评论 -
样本均衡之Focal-Loss
论文地址:Focal Loss for Dense Object DetectionICCV2007 RBG和Kaiming大神新作要解决的问题:一阶段网络出现后,发现一阶段网络的检测准确率不如二阶段网路。作者希望能通过改进 loss 来促进一阶段网络的检测精度。为什么一阶段网络检测精度明显不如二阶段,作者认为是:样本类别不均衡导致的。...原创 2021-09-03 08:08:00 · 364 阅读 · 0 评论 -
样本均衡之OHEM
论文地址:Training Region-based Object Detectors with Online Hard Example MiningOHEM 主要解决神经网络中困难负样本的问题。困难负样本是神经网络难以区分的负样本。我们希望模型在训练的时候,负样本的confidence接近0,但是如果不加干涉,总会有一些负样本不那么接近0。难样本挖掘就是要找到这些样本,针对性地训练。主要贡献:1、不需要设置正负样本的比例来解决类别不均衡的问题。2、数据集越大,性能越加明显。主要原理1、根据损原创 2021-09-02 08:29:42 · 489 阅读 · 0 评论 -
RFCN详解
解决的问题:物体目标检测包括物体种类检测和物体的位置检测。在对物体种类检测时,我们希望能保持位置不敏感(translation invariance),也就是不管物体在哪个位置都能正确分类。在进行位置确定的时候,我们希望保持位置敏感(translation variance),也就是不论物体发生什么样的位置变换都能确定物体的位置。解决神经网络对物体位置不敏感的问题,神经网络擅长提取图像的局部特征,不太关心局部特征所在的位置(我认为是因为卷积权值共享导致)。为了让神经网络做到物体检测,需要增加位置敏感特性原创 2021-08-31 08:25:50 · 3707 阅读 · 0 评论 -
SSD详解
论文地址:Single Shot MultiBox Detectorgithub :代码SSD300 网络结构:目标检测两大类:two-stage: 产生稀疏的候选框,然后对候选框进行分类和回归。优点在于精准,但是速度欠缺。one-stage:均匀在图片不同位置上进行密集抽样,抽样可以采用不同的尺度和宽高,然后提取特征进行分类和回归。优点是速度快,但是均匀密集采样的缺点是训练难,主要是因为正负样本分布不均衡(使用FocalLoss)。多尺度 + 先验框(anchor)预测MultiBox预测原创 2021-08-24 09:27:20 · 460 阅读 · 0 评论 -
YOLO V1详解
YOLO 顾名思义: You Only Look Onece。你只需要看一次,对比与fasterrcnn先提取前景(Proposal),再对前景进行分类和回归两步走,YOLO 意思就是一步到位,直接是backbone之后就进行分类和回归。YOLO的目的就是要追求速度。核心思想如何一步到位?最简单的就是图像网格化。如果某个object 的中心点落在这个网格,这个网格就负责预测这个object。如何预测呢?一个网格预测B个bbox, 每个bbox 预测本身的位置回归还要预测一个confidence值。原创 2021-08-17 08:38:43 · 1009 阅读 · 0 评论 -
YOLOV3详解
YOLOV3 是集成了 SSD(多尺度预测), FCN(全卷机),FPN(特征金字塔),DenseNet(特征通道concat) 网络的大成之作!YOLOV3 的主干网络backbone 称为 DarkNet, 主要有DarkNet-21 , DarkNet-53, 区别在于每层的 ResidualBlock 个数不同.yolo-v3 网络结构:1、DarkNet-53 搭建:darknet-53 由一个初始卷积层 + 5个Layer 层构成,进入layer层后进行下采样,大小减半,通道增倍。每个原创 2020-10-16 18:24:41 · 4292 阅读 · 0 评论 -
Torch模型权重初始化
初始化方法在 torch.nn.init 中实例化模型后,在模型init函数中初始化权重初始化函数: def initialize_weights(self): for m in self.modules(): if isinstance(m, nn.Conv2d): torch.nn.init.xavier_normal_(m.weight.data) if m.bias is not No.原创 2020-10-16 14:55:27 · 2676 阅读 · 0 评论 -
FasterRCNN详解
faster r-cnn 是第一个完全可微分的检测模型 。也就是从数据到模型输出的整条路径既可以 前行传播 forward ,也可以反向传播 backword 。是一个 end -to- end 模型。faster r-cnn 发展进程1. R-CNN :特点:候选区域 + 卷积特征提取 + (SVM)特征分类 和 边界回归候选区域:select serch 方法; 提取个数大约:1k...原创 2019-12-25 13:47:19 · 3189 阅读 · 0 评论 -
Pytorch 模型训练入门
定义是否使用GPU可有可无,默认为 cpudevice = torch.device("cuda" if torch.cuda.is_available() else "cpu")训练数据:BATCH_SIZE = 64 :批处理尺寸,即一次处理图像的张数加载训练数据 : 以cifar10 为例trainset = torchvision.datasets.CIFAR10(root=...原创 2019-12-20 12:29:31 · 309 阅读 · 0 评论 -
ResNet解读和pytorch实现
为什么ResNet1 . 简单地增加卷积层导致梯度发散或梯度爆炸2. 残差网络可以消除这种现象ResNet 思想网络输出为 恒等映射 + 残差映射ResNet通过改变学习目标,即由学习完整的输出变为学习残差,解决了传统卷积在信息传递时存在的信息丢失核损耗问题,通过将输入直接绕道传递到输出,保护了信息的完整性。此外学习目标的简化也降低了学习难度。...原创 2019-12-19 22:21:44 · 1040 阅读 · 0 评论 -
Pytorch 模型保存
方式1 :保存整个模型使用时无需自定义网络模型,保存时已把网络结构保存,不方便调整网络结构。torch.save(modelname, 'model.pkl')model = torch.load('model.pkl')方式2:保存模型参数使用时需要自己定义网络,并且其中的参数名称与结构要与保存的模型中的一致(可以定义部分网络,比如只使用VGG的前几层),相对灵活,便于对网络进行修改...原创 2019-12-19 16:04:57 · 209 阅读 · 0 评论