Deeplearn
文章平均质量分 79
追光少年羽
这个作者很懒,什么都没留下…
展开
-
transformer目标检测开山之作detr
首先,我们通过indices获得正样本anchor索引:tensor((0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1))、tensor(( 1, 40, 59, 4, 12, 23, 26, 36, 40, 53, 55, 56, 60, 61, 70, 79, 81, 86, 94, 98)),这样就可以在(2,100)这个维度中找到正样本anchor。(2,c,w,h)先输入resnet50中,得到(2,2048,w,h)。原创 2023-03-03 21:44:28 · 615 阅读 · 0 评论 -
DarkNet网络结构
如下图所示,残差块结构由两条支路组成,一条支路将上一层输出的feature map进行卷积等操作,另一条支路将上一层输出的feature map。而更基本的结构就是残差块了,因此我们先构建出残差块,然后重复堆叠上述结构darknet53就完成了。残差)(下采+4*残差),所以待会儿会出现一个储存残差块个数的列表blocks_num=[1,2,8,8,4]残差块)+(下采样卷积+4*残差块)基本结构:下采样卷积+残差块。残差块)+(下采样卷积+2。残差块)+(下采样卷积+8。残差块)+(下采样卷积+8。原创 2022-11-17 23:33:32 · 3070 阅读 · 0 评论 -
VOC和COCO数据集讲解
一、VOC格式相对其他计算机视觉任务,目标检测算法的数据格式更为复杂。为了对数据进行统一的处理,目标检测数据一般都会做成VOC或者COCO的格式。VOC和COCO都是既支持检测也支持分割的数据格式,本文主要分析PASCAL VOC和COCO数据集中物体识别相关的内容,并学习如何制作自己的数据集。一、VOC格式。原创 2022-09-01 18:38:43 · 6733 阅读 · 0 评论 -
目标框选之单阶段与两阶段目标检测区别
不需要得到建议框阶段,直接产生物体的类别概率和位置坐标值,经过单次检测即可直接得到最终的检测结果。在目标检测算法中,目标边框从无到有以及边框变化的过程在一定程度上体现了检测是。:R-CNN、SPP-Net、Fast R-CNN 和 Faster R-CNN。:专注于找出目标物体出现的位置,得到建议框,保证足够的准确率和召回率。:速度一般比Two-stage算法更快,但精度有所损失。:SSD、YOLO是采用每个像素点周边都生成三个锚框。:专注于对建议框进行分类,寻找更精确的位置。...原创 2022-08-31 14:53:46 · 7657 阅读 · 0 评论 -
Word Embedding与Word2Vec学习
当然,这也会带来其他的一些问题,例如,我们的词汇表中有新词加入,那么就很难为他分配一个新的向量。更重要的是,我们在把单词嵌入进另外一个空间时,要做到单射和structure-preserving,或者说我们更专注的是映射关系,而最终得到每个单词在另外一个空间中的表达也仅仅是之前设计好的映射关系的很自然的表达。这种方法,把词汇表中的词排成一列,对于某个单词A,如果它出现在上述词汇序列中的位置为k,那么它的向量表示就是“第k位为1,其他位置都为0”的一个向量。2)词汇的语义的类比。...原创 2022-07-28 10:51:58 · 1264 阅读 · 0 评论 -
swin-transformer初步理解
近期Transformer在CV领域掀起了一股热潮,从图像分类的ViT,到目标检测的DETR,再到图像分割的SETR以及3D人体姿态的METRO,预计在未来所有CNN能干的事情,都会涌现出一大批论文。虽然灌水总是存在的,但客观上的确也一定程度上推进了AI领域技术和方法的融合与发展。...原创 2022-07-27 22:56:46 · 823 阅读 · 0 评论 -
transformer通俗理解
Transformer是一个利用注意力机制来提高模型训练速度的模型。trasnformer可以说是完全基于自注意力机制的一个深度学习模型,因为它适用于并行化计算,和它本身模型的复杂程度导致它在精度和性能上都要高于之前流行的RNN循环神经网络。那什么是transformer呢?你可以简单理解为它是一个黑盒子,当我们在做文本翻译任务是,我输入进去一个中文,经过这个黑盒子之后,输出来翻译过后的英文。那么在这个黑盒子里面都有什么呢?里面主要有两部分组成:Encoder 和 Decoder当我输入一个文本的时候,该文原创 2022-07-27 22:48:14 · 19793 阅读 · 3 评论 -
Transformer理解实现
注意力机制是一种在现代深度学习模型中无处不在的方法,它有助于提高神经机器翻译应用程序性能的概念。在本文中,我们将介绍Transformer这种模型,它可以通过注意力机制来提高训练模型的速度。在特定任务中,Transformer的表现优于Google神经机器翻译模型。但是,最大的好处来自于Transformer如何适用于并行化。实际上,Google Cloud建议使用Transformer作为参考模型来使用其Cloud TPU产品。因此,我们试试将模型分解开吧,看看它是如何工作的。...原创 2022-05-13 10:54:08 · 964 阅读 · 0 评论 -
神经网络中的反向传播&&参数更新
1,前言最近在看机器学习神经网络方面的知识,也看了很多关于反向传播算法原理的介绍,有一篇文章写的很好,在这里记录下,并且加入自己的理解。反向传播法其实是神经网络的基础了,但是很多人在学的时候总是会遇到一些问题,或者看到大篇的公式觉得好像很难就退缩了,其实不难,就是一个链式求导法则反复用。如果不想看公式,可以直接把数值带进去(这种学习方法很重要),实际的计算一下,体会一下这个过程之后再来推导公式,这样就会觉得很容易了。说到神经网络,大家看到这个图应该不陌生: 这是典型的三层神经网络的..原创 2022-05-13 10:07:25 · 4349 阅读 · 2 评论 -
pytorch使用torch.nn.Sequential快速搭建神经网络
torch.nn.Sequential是一个Sequential容器,模块将按照构造函数中传递的顺序添加到模块中。另外,也可以传入一个有序模块。 为了更容易理解,官方给出了一些案例:# Sequential使用实例model = nn.Sequential( nn.Conv2d(1,20,5), nn.ReLU(), nn.Conv2d(20,64,5), nn.ReLU() )# Sequent.原创 2022-05-07 15:56:46 · 998 阅读 · 0 评论 -
ResNet自己理解体会
什么是ResNetResNet是一种残差网络,咱们可以把它理解为一个子网络,这个子网络经过堆叠可以构成一个很深的网络。咱们可以先简单看一下ResNet的结构,之后会对它的结构进行详细介绍。那么可能会有小伙伴疑问,干嘛非要构建这么一个网络来堆叠出一个深层网络呢?干嘛不直接用卷积层对网络进行一个堆叠呢?为什么要引入ResNet?我们知道,网络越深,咱们能获取的信息越多,而且特征也越丰富。但是根据实验表明,随着网络的加深,优化效果反而越差,测试数...原创 2022-05-07 15:12:07 · 540 阅读 · 0 评论 -
基于MTCNN+CNN的疲劳检测
一.设计原理在人脸检测中应用较广的算法就是MTCNN( Multi-task Cascaded Convolutional Networks的缩写)。MTCNN算法是一种基于深度学习的人脸检测和人脸对齐方法,它可以同时完成人脸检测和人脸对齐的任务,相比于传统的算法,它的性能更好,检测速度更快。本文目的不是为了强调MTCNN模型的训练,而是如何使用MTCNN提取人脸区域和特征点,然后依据“三庭五眼”的理论把人脸分成眼睛、嘴巴、耳朵三个区域后将图像传入训练好的图像分类模型,判断闭眼、睁眼、张嘴、闭嘴、吸烟原创 2022-05-06 12:06:29 · 1822 阅读 · 3 评论 -
pytorch中的数据类型和相互转换
1 torch.TensorA torch.Tensoris a multi-dimensional matrix containing elements of a single data type.torch.Tensor 是包含单一数据类型的多维矩阵2 Data typesTorch定义了10种不同CPU和GPU的张量类型,下面摘录常用的几种Data type dtype CPU tensor GPU tensor 32-bit floating point原创 2022-05-04 16:41:30 · 4358 阅读 · 0 评论 -
pytorch数据选择CPU或者GPU
pytorch中.to(device) 和.cuda()的区别说明原理.to(device) 可以指定CPU 或者GPU 1 2 3 4 5 6 device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 单GPU或者CPU model.to(device) #如果是多GPU if torch.cuda.device_原创 2022-05-04 16:34:43 · 1738 阅读 · 0 评论 -
目标检测算法YOLO-V1算法详解
一、YOLO-V1结构剖析YOLO-V1的核心思想:就是利用整张图作为网络的输入,将目标检测作为回归问题解决,直接在输出层回归预选框的位置及其所属的类别。YOLO和RCNN最大的区别就是去掉了RPN网络,去掉候选区这个步骤以后,YOLO的结构非常简单,就是单纯的卷积、池化最后加了两层全连接。单看网络结构的话,和普通的CNN对象分类网络几乎没有本质的区别,最大的差异是最后输出层用线性函数做激活函数,因为需要预测bounding box的位置(数值型),而不仅仅是对象的概率。所以粗略来说,YOLO的整...原创 2022-05-03 16:37:19 · 2019 阅读 · 1 评论 -
yolov1的损失函数详解
一、整体框架损失函数如下二.损失函数具体解释 首先明确一概念,网格就是最终特征图(7*7*30)上的一个预测目标了,v1版本这样的预测结果网格一共有49个,每个维度为1*30.这30的向量含义为【x0,y0,w0, h0,I0,x1,y1,w1, h1,I1,C0,C1,C2.....C19】前面10位代表了2个box框信息以及其置信度,后20位表示了分类概率值。后面的损失函数都是针对网格中的一些属性来干活的。2.1 标注有预测有损失 标注图像某位置有目标...原创 2022-05-03 16:16:13 · 4484 阅读 · 4 评论 -
数据加载Dataset和DataLoader的使用
1、模型中使用数据加载器的目的在前面的线性回归模型中,我们使用的数据很少,所以直接把全部数据放到模型中去使用。但是在深度学习中,数据量通常是都非常多,非常大的,如此大量的数据,不可能一次性的在模型中进行向前的计算和反向传播,经常我们会对整个数据进行随机的打乱顺序,把数据处理成个个的batch,同时还会对数据进行预处理。所以,接下来介绍pytorch中的数据加载的方法。2、数据集类2.1 Dataset基类介绍:在torch中提供了数据集的基类torch.utils.data.D原创 2022-05-03 15:31:50 · 6994 阅读 · 1 评论 -
搞懂激活函数(Sigmoid/ReLU/LeakyReLU/PReLU/ELU)
1. 简介在深度学习中,输入值和矩阵的运算是线性的,而多个线性函数的组合仍然是线性函数,对于多个隐藏层的神经网络,如果每一层都是线性函数,那么这些层在做的就只是进行线性计算,最终效果和一个隐藏层相当!那这样的模型的表达能力就非常有限 。实际上大多数情况下输入数据和输出数据的关系都是非线性的。所以我们通常会用非线性函数对每一层进行激活,大大增加模型可以表达的内容(模型的表达效率和层数有关)。这时就需要在每一层的后面加上激活函数,为模型提供非线性,...原创 2022-05-02 15:53:08 · 5819 阅读 · 2 评论 -
理解Batch Normalization批标准化
torch.nn.BatchNorm2d:对输入batch的每一个特征通道进行normalize【sample】以input为2 x 3 x 4 x 5输入为例,其中 2:batch中样本数量 3:每个样本通道数 4:每个样本行数 5:每个样本列数调用代码如下:bn = torch.nn.BatchNorm2d(3) # 参数3表示特征通道数out = bn(input)input:out:【说明】torch.nn.BatchN...原创 2022-05-02 15:29:14 · 385 阅读 · 0 评论 -
卷积过程详细讲解
1:单通道卷积以单通道卷积为例,输入为(1,5,5),分别表示1个通道,宽为5,高为5。假设卷积核大小为3x3,padding=0,stride=1。卷积过程如下:相应的卷积核不断的在图像上进行遍历,最后得到3x3的卷积结果,结果如下:2:多通道卷积1以彩色图像为例,包含三个通道,分别表示RGB三原色的像素值,输入为(3,5,5),分别表示3个通道,每个通道的宽为5,高为5。假设卷积核只有1个,卷积核通道为3,每个通道的卷积核大小仍为3x3,padding=0,stride=1。原创 2022-05-02 15:04:25 · 37245 阅读 · 0 评论 -
FasterRCNN目标检测算法
什么是FasterRCNN目标检测算法Faster-RCNN是一个非常有效的目标检测算法,虽然是一个比较早的论文, 但它至今仍是许多目标检测算法的基础。Faster-RCNN作为一种two-stage的算法,与one-stage的算法相比,two-stage的算法更加复杂且速度较慢,但是检测精度会更高。事实上也确实是这样,Faster-RCNN的检测效果非常不错,但是检测速度与训练速度有待提高。源码下载https://gitee.com/yu_shaonian/faster-rc原创 2022-05-02 11:26:28 · 5771 阅读 · 1 评论 -
yolo3目标检测平台
yolo3实现思路一、预测部分1、主题网络darknet53介绍YoloV3所使用的主干特征提取网络为Darknet53,它具有两个重要特点:1、Darknet53具有一个重要特点是使用了残差网络Residual,Darknet53中的残差卷积就是首先进行一次卷积核大小为3X3、步长为2的卷积,该卷积会压缩输入进来的特征层的宽和高,此时我们可以获得一个特征层,我们将该特征层命名为layer。之后我们再对该特征层进行一次1X1的卷积和一次3X3的卷积,并把这个结果加上layer,此时我们便构原创 2022-05-02 11:04:13 · 1003 阅读 · 0 评论