- 博客(275)
- 资源 (1)
- 收藏
- 关注
原创 Vscode连接服务器
在扩展中安装sftp,安装完后,使用快捷键 ctrl+shift+P 打开指令窗口,输入 sftp:config ,回车,在当前目录中会自动生成 .vscode 文件夹及 sftp.json。在项目空白处右击,点击upload上传文件。
2024-11-25 10:28:57
484
原创 SparseRCNN代码逻辑
features: 从backbone出来的新初始化的proposal_boxes和proposal_features输入dynamic head中。
2024-11-14 17:34:24
827
原创 【目标检测】目标检测中全连接层(Fully Connected Layer)
在目标检测任务中,全连接层(Fully Connected Layers,简称FC层)通常用于最后的输出阶段,尤其是,如,以及可能的其他附加信息。通常,在目标检测任务中,特征图(由卷积神经网络提取的特征)经过一系列的卷积、池化、特征提取后,会被(flatten)成一个一维的向量,然后传递到全连接层。全连接层的作用是将这些特征映射到最终的输出,例如预测目标框的坐标和类别。全连接层在目标检测中的关键作用是,例如:边界框回归(Bounding box regression):用于预测目标边界框的位置。
2024-11-08 11:23:20
1018
原创 【卷积基础】CNN中一些常见卷积(1*1卷积、膨胀卷积、组卷积、深度可分离卷积)
参考:,也称为 1x1 卷积,是一种特殊的卷积操作,其中卷积核的大小为 1x1。这种卷积操作不会覆盖空间维度(height 和 width),而是只作用于每个位置上的所有通道,这使得逐通道卷积主要用于。
2024-11-08 09:15:53
2450
原创 最大池化(Max Pooling)和平均池化(Average Pooling)
是两种常见的池化操作,用来对特征图进行下采样,从而减少数据的维度,突出特征,同时降低计算成本。池化操作通常在卷积层之后进行,用来缩小特征图的尺寸,同时保持关键信息。
2024-11-08 08:25:56
3377
原创 什么是特征图的空间特征和通道特征
在卷积神经网络(CNN)中,“空间特征”和“通道特征”是指在特征图(feature map)中不同层次的表示方式,它们对应了不同的特征提取方式和信息处理方式。
2024-11-07 11:39:47
1830
原创 【目标检测】手把手教你如何使用MMDetection训练自己的数据集
参考 : MMDetection全流程实战指南:手把手带你构建目标检测模型2. 安装GPU版本的PyTorch这里如果安装失败了需要去官网 pytorch官网 找对应的版本下载;先输入nvidia-smi命令查看可下载的cuda的最高版本我的可下载的最高CUDA版本为12.0,因此我选择11.8的这个下载命令进行下载下载后进行检验是否安装成功可以看到输出为true,安装成功。使用 OpenMMLab 推出的 MIM 来安装 MMEngine 和 MMCV 两个必要的库。至此,需要下载的包就
2024-09-04 12:10:54
12161
26
原创 【深度学习代码缝合教程】二:适用于新手小白的超详细模块+模块=新模块的代码缝合
参考B站教学视频:上一篇写了如何把模块放进自己的主干网络进行模块的融合,那么如果想要把模块A+模块B进行融合然后形成一个新模块C要如何做呢?
2024-06-04 15:56:50
2208
1
原创 【神经网络基础辨析】什么是神经网络的主干(backbone)、颈部(neck)和头部(head)网络
分层结构的设计使得神经网络具有灵活性和可扩展性,可以根据不同的任务和数据集进行调整和修改。通常,骨干网络是由预训练模型提供的,而颈部网络和头部网络则可以根据具体的任务进行调整和定制。
2024-04-23 13:21:40
3341
原创 【新手适用】手把手教你从零开始实现一个基于Pytorch的卷积神经网络CNN三: 如何验证和测试模型
新建一个test.py文件,导入所需的包,并且定义测试数据集和dataloader。定义所需的设备。
2024-04-02 14:00:57
743
原创 【目标检测基础篇】目标检测评价指标:mAP计算的超详细举例分析以及coco数据集标准详解(AP/AP50/APsmall.....))
使用yolov5来进行预测,图片的标注为左图所示,yolov5预测的结果如右图所示,可以看到模型预测的有错误:没有预测到窗户里的人,错把一只小狗预测成了泰迪。图片中有5个目标,但是模型只检测出一个目标(1个红色框),没有其他任何的检测框,所以TP=1,FP=0,故P = 1,因此P高并不能说明模型检测效果好。假设模型一次给出了50个预测框,包括了图中的5个目标,故TP=5,由于没有漏检目标,故FN=0,因此recall=1,故R高也不能说明模型预测的好。:针对小目标,目标像素面积<32平方。
2024-03-20 12:35:25
3972
1
原创 最详细最清晰的epoch、batchsize和iteration概念辨析
参考博文和图片来源 : Epoch vs Batch Size vs Iterations梯度下降算法是一种用于机器学习的迭代优化算法,用于寻找最佳结果(损失函数曲线的最小值)。该算法是迭代的(iterative),意味着我们需要多次进行多次计算才能得到最优的结果。梯度下降法有一个参数叫做学习率(learning rate)。如上图(左所示),一开始成本/损失函数(cost function)上的point下降的较快,说明学习率较大,步长大,随着该point的下降变慢,学习率逐渐减小,步长变慢。当数据太大的
2024-03-19 13:35:55
14061
2
原创 【目标检测经典算法】R-CNN、Fast R-CNN和Faster R-CNN详解系列三:Faster R-CNN图文详解
在图像上预设好的不同大小,不同长宽比的参照框。论文中设定每个区域可以生成k个anchor box。可以看到。
2024-03-18 14:51:32
1439
原创 【目标检测经典算法】R-CNN、Fast R-CNN和Faster R-CNN详解系列二:Fast R-CNN图文详解
论文中从2000个候选框中选择64个候选框进行训练使用,其中如果与真实目标边界框的IOU值>0.5,则被认定为正样本,负样本则是与真实候选框的IOU值最大的且在(0.1 , 0.5]范围内的。
2024-03-13 14:40:40
2699
1
原创 【目标检测经典算法】R-CNN、Fast R-CNN和Faster R-CNN详解系列一:R-CNN图文详解
是一种常用于目标检测的候选区域生成方法。在传统的目标检测算法中,需要对图像中的每个可能包含目标的区域进行检测,但这样做会导致计算量巨大,尤其是在图像具有大量区域时。Selective Search的目标是通过一种高效的方式生成一组可能包含目标的区域,以减少后续目标检测算法的计算复杂度。Selective Search算法的核心思想是通过结合不同的图像特征(如颜色、纹理、大小等)来生成候选区域。具体来说,
2024-03-13 11:59:00
1624
原创 【新手适用】手把手教你从零开始实现一个基于Pytorch的卷积神经网络CNN一: 创建model模块和加载数据集
前向传播函数需要传入self和输入的变量,一般写为x,即。在函数内把之前定义好的层按顺序调用,每一层在计算后会返回结果;我们需要一个变量进行保存,即,在最后将最后一步的计算结果返回。当网络中不存在跳跃连接或密集连接等分支结构的情况下,可以直接用x作为中间变量。依次调用前面定义的网络层修改需要变化的张量维度。
2024-03-12 14:31:57
1682
原创 【开放集检测】OpenGAN: Open-Set Recognition via Open Data Generation 论文阅读
利用一些例外(异常)数据作为开放集,训练一个闭集VS开放集的二分类检测器使用GAN网络无监督学习闭集数据分布,使用该判别器作为开放集的似然函数作为开放集使用的异常数据无法穷尽现实世界的所有可能的未知值GAN网络训练过程不稳定解决: 提出OpenGAN使用对抗合成的假数据填充可用的真实开放集训练数据在闭集k-ways的特征基础上建立判别器使用GAN网络生成fake data,训练一个判别 close data 和 fake data 的二分类判别器;在训练时使用一些真实世界中的。
2023-12-22 10:39:53
2747
1
原创 【异常检测】论文阅读:CSI: Novelty Detection via Contrastive Learning on Distributionally Shifted Instances
主题:基于对比学习模型SimCLR在开放集检测上进行应用B:=xii1BB−i。
2023-12-13 11:50:09
545
原创 SimCLR损失函数详解
可以增加负样本的数量,在计算概率的时候,计算公式的分母中就包含了负样本的计算。有一批batchsize为N的样本,论文中N=8192,下图以N=2为例;其余任意两两图片之间的组合组成的图片对即为负样本。更大的训练批量和训练轮数,可以提供更多的负样本,促进模型收敛。最后,计算每个Batch里面的所有Pair(共有N个图片对,),所以1个Batch 一共有 N*2 个增强样本图片。对于一个batch中,由同一张图片数据增强过的两张图片(对一个batch中的每个样本都进行2次随机的。张图片的相似性求对数的和。
2023-12-13 11:07:57
1796
原创 使用自监督对比学习模型SimCLR完成图像分类任务:pytorch代码详解
网络特征提取采用resnet50,将输入层进行更改,并去掉池化层及全连接层。之后将特征图平坦化,并依次进行全连接、批次标准化、relu激活、全连接,得到输出特征。使用无监督学习网络的特征提取层及参数,之后由一个全连接层得到分类输出。最小化正样本之间的相似性与负样本之间的相似性之间的差异,从而使得正样本更接近,负样本更远离。在计算机视觉任务中,常用的评估指标之一是top-k准确率,其中k表示预测结果的排名。
2023-12-12 13:55:57
4515
5
原创 【开放集检测OSR】《OPEN-SET RECOGNITION: A GOOD CLOSED-SET CLASSIFIER IS ALL YOU NEED?》详解
得到结论:模型做出“属于非以上类”决策的能力高度取决于在闭集分类中的准确性使用方法:通过提高闭集精读来提高OSR性能提出框架:SSB(Semantic Shift Benchmark)当我们说模型只是在对“未见过”的数据中进行低级特征的分布式转移时,意味着模型可能没有真正理解新类别的高级语义特征,而是依赖于在训练中学到的一些通用低级特征来进行分类。在这种情况下,模型可能会将新类别的图像与训练数据中的某些低级特征进行关联,而不是基于真正的高级语义理解。
2023-12-10 09:38:18
2329
原创 英语论文写作常用词汇积累
baseline:比较算法好坏中作为“参照物”而存在,在比较中作为基线;目的是比较提出算法的性能或者用以彰显所提出的算法的优势;benchmark:评价算法好坏的一种规则和标准。是目前的模型能做到的比较好的效果;SOTA(state-of-the-art):业界顶尖水平;SOTA,全称「state-of-the-art」,用于描述机器学习中取得某个任务上当前最优效果的模型。former 前者- latter后者。
2023-12-10 09:29:53
262
原创 【开放集检测OSR】RPL(Reciprocal Point Learning)、ARPL和ARPL+CS 概念辨析
在开放集检测中,RPL(Reciprocal Point Learning)方法。RPL方法基于以下原则:开放集样本与已知类别之间的差异性较大,因此可以通过寻找一个特殊点来表示这种差异性。
2023-12-07 20:25:44
812
原创 【开放集检测OSR】open-set recognition(OSR)开集识别概念辨析
然而,尽管这两个子任务的基准传统不同,但它们实际上都在处理相同的语义转换检测问题(y变化的检测,作者这里还是认为ood的重点是检测y的变化)。一般的正常图像是这个高斯分布中随机采样出来的一个点,而一些噪声图像等非正常图像,它所对应的位置就很可能远离这个高斯分布,或者说计算出来的概率十分低。而"谁谁谁的似然"中的谁谁谁只能是参数,比如说,参数等于某个值时的似然是多少。OSR识别是OOD的子集问题,OSR主要侧重于解决语义偏移的问题,而且可以识别出未来会出现的一些新类别,OOD会有语义偏移或者分布偏移等等。
2023-12-07 16:22:30
1424
原创 【开放集检测OSR】开放集检测和闭集检测的区别和联系:从模型角度进行理解
定义一个分类器:测试时:用于测试模型性能的图像也都属于已知类别CCC分类器为每个输入示例x返回一个关于已知类别的概率分布p(y∣x)p(y|x)p(y∣x),意味着对于给定的输入示例x,分类器会生成一个概率分布,其中每个类别y都对应一个概率值。这个概率值表示分类器对于该输入示例属于每个已知类别的置信度或可能性。具体而言,对于每个已知类别c∈Cc ∈ Cc∈C,分类器会计算条件概率p(y=c∣x)p(y=c|x)p(y=c∣x),表示在给定输入示例x的条件下,该示例属于类别c的概率。这样,对于每个输入示例x,
2023-12-07 14:29:50
1042
转载 Fine-grained和Coarse-grained解析,什么是细粒度图像分类
fine-grained:细粒度fine-grained classification:细粒度的图像分类。粗粒度:分辨是猫还是狗细粒度:分辨狗这个类别下,这张图是1.吉娃娃还是2.萨摩耶……n.哈巴狗;Fine-grained classification往往需要professional expert去标注数据,这使得数据更加昂贵。
2023-12-06 19:24:28
950
原创 论文中的baseline、benchmark、SOTA(state-of-the-art)释义解释
SOTA(state-of-the-art):业界顶尖水平;SOTA,全称「state-of-the-art」,用于描述机器学习中取得某个任务上当前最优效果的模型。baseline:比较算法好坏中作为“参照物”而存在,在比较中作为基线;目的是比较提出算法的性能或者用以彰显所提出的算法的优势;benchmark:评价算法好坏的一种规则和标准。是目前的模型能做到的比较好的效果;
2023-12-06 18:28:44
4989
原创 【刘二大人】pytorch深度学习实践(三):如何实现线性模型的反向传播+代码实现详解(Tensor、backward函数)
y′w∗xy' =w*xy′w∗xlossy′−y2x∗w−y2lossy′−y2x∗w−y2这段代码是在构建如下的计算图,前向传播并且求出loss值此处的lll是一个张量(因为w是一个张量),所以后续需要lll的值时要使用liteml.item()litem的方法进行取值。
2023-12-06 09:58:56
614
原创 Vision Transformer
把class token从最终结果[197,768]中切片拿出来,对其进行linear全连接(简单理解),如果需要类别概率的话,可以再接一个softmax。在代码实现中,直接通过一个卷积层来实现以ViT一 B/16为例,使用卷积核大小为16x16,stride为16, 卷积核个数为768;对于标准的Transformer模块,要求输入的是token (向量)序列,即二维矩阵[num_token,token_dim];以及Position Embedding。借用我导的图片来总结一下。
2023-12-04 10:20:20
221
原创 适合小白的超详细yolov8环境配置+实例运行教程,从零开始教你如何使用yolov8训练自己的数据集(Windows+conda+pycharm)
yolov8源码下载地址:GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLiteyolov8使用文档: Home - Ultralytics YOLOv8 Docs教学视频参考: 包会!YOLOv8训练自己的数据集_哔哩哔哩_bilibili先用conda prompt创建一个虚拟环境,我的叫yolov8, python版本用3.10源码地址:GitHub - ul
2023-11-21 08:14:27
201874
248
原创 [解决] 问题:ImportError: cannot import name ‘Callable‘ from ‘collections‘
我在运行yolov8的代码时,出现了。
2023-11-20 10:13:00
13260
14
原创 注意力机制(Attention)、自注意力机制(Self Attention)和多头注意力(Multi-head Self Attention)机制详解
简单理解:多组自注意力机制并行运行,最后把结果拼接起来。
2023-11-13 19:33:57
13324
1
原创 Transformer详解一:transformer的由来和先导知识
感谢我的互联网导师:水论文的程序猿参考资料和图片来源:Transformer、GPT、BERT,预训练语言模型的前世今生(目录)预训练语言模型的前世今生 - 从Word Embedding到BERTB站教学视频:预训练语言模型(Transformer、BERT)的前世今生通过 ImageNet 数据集我们训练出一个模型 A,由于上面提到 CNN 的浅层学到的特征通用性特别强,我们可以对模型 A 做出一部分改进得到模型 B(两种方法):独热编码无法计算词语之间的相似度(余弦相似度),比如fruit为[1
2023-11-13 19:09:11
497
原创 ViT模型中的tokens和patches概念辨析
在ViT模型中,“tokens”(令牌)和"patches"(图像块)是两个相关但不同的概念。令牌(Tokens):在ViT中,令牌是指将输入图像分割成固定大小的图块,并将每个图块映射为一个向量表示。这些向量表示即为令牌。每个令牌代表图像中的一个局部区域,可以看作是图像的抽象表示。通过将图像分割成令牌序列,并将其输入到Transformer模型中,ViT能够利用自注意力机制来建模图像中的全局关系。图像块(Patches):图像块是指将输入图像分割成固定大小的小块。
2023-11-06 18:19:25
4815
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人