自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 yolov5的后处理解析

,其中开头的1表示batch_size,(20,20)、(40,40)、(80,80)分别为3个特征层的形状大小,255=3*(80+4+1),3表示每个特征点对应的3个先验框,80为one-hot后的各类别概率,4为先验框的回归参数,1为先验框是否包含物体的概率大小。这里需要注意的是,公式中的解码结果是根据先验框的位置信息进行解码的,如果给定的是先验框的实际位置信息,则解码出来的结果就是实际框的位置信息,这样就不需要针对不同特征层的不同先验框位置进行解码;

2023-07-28 17:14:13 9442 9

原创 python 给图片添加倾斜透明文字水印

给图片加倾斜透明文字水印

2023-06-09 17:14:38 1329 1

原创 Python中的defaultdict方法

返回指定键的值,如果值不在字典中返回default值返回:500hhh更多操作地址collections.defaultdict类的介绍该函数返回一个类似字典的对象。defaultdict是Python内建字典类(dict)的一个子类,它重写了方法_missing_(key),增加了一个可写的实例变量default_factory,实例变量default_factory被missing()方法使用,如果该变量存在,则用以初始化构造器,默认为None。其它的功能和dict一样,

2023-04-26 10:31:02 1941 1

原创 python whl库与清华源

【代码】python whl库与清华源。

2023-04-20 13:38:07 626

原创 可变形卷积(Deformable Conv)原理解析与torch代码实现

图6为可变形卷积示意图。图1所示为普通卷积在输入特征图上进行卷积计算的过程,卷积核大小为3*3,在输入特征图尺寸为7*7上进行卷积,将卷积核权重与输入特征图对应位置元素相乘并求和得到输出特征图元素,按一定方式滑动窗口就能计算得到整张输出特征图。图6所示,在input feature map上普通卷积操作对应卷积采样区域是一个卷积核大小的正方形(绿框),而可变形卷积对应的卷积采样区域为一些蓝框表示的点,这就是可变形卷积与普通卷积的区别。先来一张图感受一下,图3为标准卷积与可变形卷积的卷积示例。

2023-03-28 17:21:26 22655 33

原创 torch中的矩阵乘法与广播机制

几乎可用于计算所有矩阵/向量相乘的情况,支持broadcast操作,可以理解为torch.mm的broadcast版本,其乘法规则视参与乘法的两个张量的维度而定。特别的,针对多维数据 matmul()乘法,可以认为该 matmul()乘法使用两个参数的后两个维度来计算,其他的维度都可以认为是batch维度。用于计算矩阵和向量之间的乘法(矩阵在前,向量在后),不支持broadcast操作,要求矩阵与向量满足矩阵乘法的要求。用来计算两个向量的点积,不支持broadcast操作,要求两个一维张量的元素个数相同。

2023-03-25 10:43:12 3237

原创 使用torch自实现简易版conv2d卷积(2种方法)

padding参数代表在输入特征矩阵四周补零的情况默认为0,同样输入可以为int型如1 代表上下方向各补一行,左右方向各补一列,如果输入为tuple型如(2, 1) 代表在上下方向补两行,左右方向补一列。kernel_size参数代表卷积核的尺寸,输入可以是int类型如3 代表卷积核的height=width=3,也可以是tuple类型如(3, 5)代表卷积核的height=3,width=5;卷积核尺寸为3*3*3,一共有2个卷积核;输入特征图尺寸为5*5,通道为3;– 卷积核元素之间的间距;

2023-03-23 13:46:18 1980

原创 目标检测学习--yolo v5

yolo v5论文:没有下表是官网贴出的关于不同大小模型以及输入尺度对应的mAP、推理速度、参数数量以及理论计算量下图为yolov5s的网络结构,它是yolov5系列中深度最小、特征图宽度最小的网络::由Conv+BN+Leaky_relu激活函数组成;...

2022-08-29 16:32:37 2555

原创 目标检测学习--yolo v4

需要注意的是在SAT的反向传播的过程中,是不需要改变网络权值的。CBN:每次iteration中的BN数据是其之前n次数据和当前数据的和(对非当前batch统计的数据进行了补偿再参与计算),用该累加值对当前的batch进行Normalization,好处在于每个batch可以设置较小的size;使用k={1×1,5×5,9×9,13×13}的最大池化的方式,再将不同尺度的特征图进行Concat操作,采用SPP模块的方式,比单纯的使用k×k最大池化的方式,极大地增加感受野,显著的分离了最重要的上下文特征;

2022-08-24 09:45:25 554 1

原创 目标检测学习--yolov3

yolov3论文作者比较幽默,论文整体内容中创新点和技术分布较为零散,有兴趣的可以去看看原论文;yolov3是对于v1、v2的一种改进,相对v2主要的改进有:调整了网络结构;利用多尺度特征进行对象检测;对象分类用Logistic取代了softmax;在保持速度优势的前提下,提升了预测精度,尤其是加强了对小物体的识别能力。YOLO v3的整体结构如下图所示:主要亮点在于用3个尺度的特征图来进行对象检测,对检测小物体的效果有所提升。即在识别图片中各类目标的基础上,还需定位出识别对象的位置,并框出。...

2022-08-18 13:48:35 3161 1

原创 用于图像语义分割的GAU与PPM

PPM、GAU

2022-07-22 16:08:26 2870 1

原创 目标检测学习--YOLOv2

论文地址:《YOLO9000:Better,Faster,Stronger》在这篇论文中,作者首先在YOLOv1的基础上提出了改进的YOLOv2,然后提出了一种检测与分类联合训练方法,使用这种联合训练方法在COCO检测数据集和ImageNet分类数据集上训练出了YOLO9000模型,其可以检测超过9000多类物体;所以,这篇文章其实包含两个模型:YOLOv2和YOLO9000,不过后者是在前者基础上提出的,两者模型主体结构是一致的;YOLOv2相比YOLOv1做了很多方面的改进,这也使得YOLOv2的mAP

2022-07-02 15:15:18 1193

原创 目标检测学习--YoLov1

论文地址:《You Only Look Once: Unified, Real-Time Object Detection》官方代码地址:GitHub链接地址 目标检测是一件比较实际的且具有挑战性的计算机视觉任务,其可以看成图像分类与定位的结合,给定一张图片,目标检测系统要能够识别出图片的目标并给出其位置,由于图片中目标数是不定的,且要给出目标的精确位置,目标检测相比分类任务更复杂。对于一张图片有多个目标的目标检测任务主要有以下难点:(1). deformable parts models (DPM)利用滑

2022-06-21 14:45:29 2139

原创 目标检测回归损失函数总结

目标检测的预测框回归损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成,本文介绍Bounding Box Regeression Loss。L1 loss也称为平均绝对误差,即真实值和预测值差值的绝对值:设y-f(x)为横轴,MAE值为纵轴,函数图像如下:由图可知,L1损失函数对y-f(x)的导数为常数,在训练后期,即y与f(x)接近时,也即y-f(x)很小时,假设learning rate不变,损失函数会在稳定值附近波动,由于梯度的稳定,

2022-06-14 16:37:37 944

原创 目标检测学习--FPN(特征金字塔网络)-解决多尺度检测问题

论文地址《Feature Pyramid Networks for Object Detection》深度神经网络学习到的特征中,浅层特征学到的是物理信息,比如物体的角点、边缘的细节信息,而深层特征学到的是语义信息,更加高维与抽象;目标检测包括分类和定位任务,对于分类任务来说,深层网络学到的特征可能更为重要,而对于定位任务来说,深层次和浅层次的特征同样重要;之前的目标检测算法,多数只采用深层特征来做预测,所含的细节信息比较粗略,即使采用了特征融合的方法,也一般是采用融合后的特征进行预测的;卷积网络可以得到不

2022-06-08 15:36:03 5348

原创 目标检测学习--Faster RCNN

论文地址《Faster R-CNN Towards Real-Time Object》Faster RCNN将特征提取(feature extraction),proposal提取,bounding box regression(Region Refine),classification都整合在了一个网络中,使得检测性能较RCNN、Fast RCNN进一步提高。如上图所示: Conv layers:Faster RCNN首先使用一组基础的conv+relu+pooling操作提取输入image的featur

2022-06-08 09:45:26 1283

原创 目标检测学习--Fast R-CNN

论文地址:《Fast R-CNN》重复操作:R-CNN中用CNN对每一个候选区域反复提取特征,而一张图片的2000个候选区域之间有大量重叠部分,这一设定造成特征提取操作浪费大量计算;步骤繁琐:R-CNN的训练先要fine tuning一个预训练的网络,然后针对每个类别都训练一个SVM分类器,最后还要用regressors对bounding-box进行回归,另外region proposals也要单独用selective search的方式获得;时间和内存消耗较大:R-CNN中目标分类与候选框的回归是独立的两

2022-06-06 15:32:02 295

原创 项目总结:基于tensorflow的100类小图的目标分类

任务简介:使用tensorflow==1.14.0框架完成100类小图的目标分类任务图片形式:图片集以文件夹形式存储,每一个文件夹内都包含有一类图片,共100类图片,每类图片的分辨率不同,图片个数不同,每类图片都以.jpg形式存储;1(1)中图片生成训练集与测试集:遍历上述目录提取文件打乱后每类按照7:3的比例划分,生成训练集text文件夹与验证集val文件夹,放在split_image文件夹中;生成txt文件:遍历训练集与测试集,生成训练text.txt文件与val.txt文件,包括图片地址+空格+分类标

2022-06-06 10:38:40 348

原创 目标检测学习--RCNN

论文地址:《Rich feature hierarchies for accurate object detection and semantic segmentation》RCNN(Region CNN)是将CNN引入目标检测领域的开山之作,在当时取得了一些好的效果。 1. 候选区域生成:输入一张图像;使用Selective Search方法提取大约2k个候选区域;对每个候选区域的图像进行拉伸形变,使之成为固定大小的正方形图像;Selective Search算法流程使用一种过分割手段,将图像分割成小区域

2022-06-05 14:47:54 398

原创 tf.one_hot()--tensorflow实现独热编码

独热编码一般是在有监督学习中对数据集进行标注时使用,指的是在分类问题中,将存在数据类别的那一类用X表示,不存在的用Y表示,这里的X常常是1, Y常常是0;例如最常见的mnist手写数字识别任务,用one_hot进行编码,如下所示:数字0,[1,0,0,0,0,0,0,0,0,0];数字1,[0,1,0,0,0,0,0,0,0,0];数字9,[0,0,0,0,0,0,0,0,0,1];独热编码也适用于多分类任务,特别是损失函数为交叉熵损失的时候。indices表示输入的多个数值,通常是矩阵形式;dept

2022-06-02 15:27:35 1053

原创 轻量级网络IGCNets--对组卷积的运用

IGCNet v1论文地址:2017.07《Interleaved Group Convolutions for Deep Neural Networks》IGC(Interleaved Group Convolutions):交错分组卷积前言随着卷积神经网络的不断发展,越来越多的网络结构不断出现,例如MobileNet、shuffleNet等,这些网络结构都是为了进一步提升模型的效果;那么如何提高网络分类的精度呢?提升网络的深度与宽度,即增加网络层数、增加输入输出的特征层通道数

2022-05-26 15:58:03 830 2

原创 轻量级网络FBNet v3

论文地址:FBNetV3: Joint Architecture-Recipe Search using Neural Acquisition Function问题尽管NAS在网路架构方面取得了非常好的结果,比如EfficientNet、MixNet、MobileNetV3等等。但无论基于梯度的NAS,还是基于super net的NAS,亦或基于强化学习的NAS均存在这几个缺陷:忽略了训练超参数,即仅仅关注于网络架构而忽略了训练超参数的影响; 仅支持一次性应用,即在特定约束下只会输出一个模

2022-05-24 16:05:29 490

原创 轻量级网络FBNet v2

FBNet v2论文地址: CVPR 2020FBNetV2: Differentiable Neural Architecture Search for Spatial and Channel Dimensions问题基于 DARTS 的这种可微分的网络结构搜索方法 (Differentiable Neural Architecture Search) :一般是构造一个包含所有候选结构的超图 (super graph),然后从中选一条single path做为最终的网络结构。.

2022-05-24 15:26:24 377 2

原创 轻量级网络FBNet v1

FBNetv1论文地址: CVPR 2019《FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture Search》问题传统卷积神经网络的设计除了注重准确率之外,还需要兼顾运行性能,特别是在移动设备上的运行性能,这使得卷积神经网络的设计变得更加困难,主要有以下难点:Intractable design space(未知的设计空间),由于卷积网络参数很多,导致设计空间十分复杂

2022-05-24 14:34:11 391

原创 NASNet--训练小数据的Cell以减少计算量

NAS的基本原理可以在我之前的那篇博文找到,有着详细的介绍:NAS(神经结构搜索)学习记录论文地址:CVPR 2018 Google Brain《Learning Transferable Architectures for Scalable Image Recognition》1. 背景NAS介绍了如何使用强化学习学习一个完整的CNN网络或是一个独立的RNN单元,这一篇论文是神经网络架构搜索开篇之作NAS的集成和发展,也是由谷歌的Zoph等人提出来的,针对NAS论文中的缺点进行改进,在

2022-05-21 10:10:15 535

原创 NAS(神经结构搜索)学习记录

文地址:《Neural Architecture Search: A Survey》问题深度学习卷积神经网络最近得到了很好的发展,由于深度学习可以捕捉到有用的特征,其在图像处理领域取得了很好的效果;然而, 这种效果很大程度上得益于新的神经网络结构的出现,如ResNet、Inception、DenseNet等等。但设计出高性能的神经网络需要大量的专业知识与反复试验,成本极高,限制了神经网络在很多问题上的应用;尽管各种神经网络模型层出不穷,但往往模型性能越高,对超参数的要求也越来越严格,稍有不同就无

2022-05-20 10:58:39 3835

原创 轻量级网络EdgeViTs论文翻译

论文地址:https://arxiv.org/abs/2205.03436EdgeViTs: Competing Light-weight CNNs on Mobile Devices with Vision TransformersEdgeViTs: 轻量级视觉Transformer新工作,可与最好的轻量级CNN在移动设备上竞争!摘要:Self-attention based models such as vision transformers (ViTs) have emerged

2022-05-19 15:33:42 1387

原创 轻量级网络MobileNeXt--改进MobileNet v2的逆残差结构

论文地址:ECCV 2020《MobileNeXt: Rethinking Bottleneck Structure for Efficient Mobile Network Design》要点论文针对MobileNetV2的核心模块逆残差结构存在的问题进行了深入分析,提出了一种新颖的SandGlass模块,并用于组建了该文的MobileNeXt架构,SandGlass是一种通用的模块,它可以轻易的嵌入到现有网络架构中并提升模型性能,这种轻量级模块有原生残差块和倒置残差块的影子,是一种正向残差设

2022-05-19 10:22:33 8041 4

原创 轻量级网络MicroNet--低FLOPs的实现:卷积与激活函数的改进

论文地址:《MicroNet: Towards Image Recognition with Extremely Low FLOPs》亮点卷积:稀疏连通性,避免了网络宽度的大幅度缩减;激活函数:动态激活函数,减轻了网络深度缩减。问题这篇论文旨在以极低的计算成本解决性能大幅下降的问题,移动嵌入式设备通常具有较低的性能,因此要在边缘设备上部署深度学习模型,就要求网络模型具有较低计算量,但是低开销的网络通常性能表现不会很好。高效CNN架构的最新进展成功地将ImageNet分类的计算成本

2022-05-18 13:59:14 974

原创 轻量级网络GhostNet--对卷积的新设计解决特征图冗余的问题

论文地址:华为诺亚方舟实验室 2020 CVPR《GhostNet: More Features from Cheap Operations》该论文提供了一个全新的Ghost模块,旨在通过廉价操作生成更多的特征图。基于一组原始的特征图,作者应用一系列线性变换,以很小的代价生成许多能从原始特征发掘所需信息的“Ghost”特征图(Ghost feature maps)。该Ghost模块即插即用,通过堆叠Ghost模块得出Ghost bottleneck,进而搭建轻量级神经网络——GhostNet。

2022-05-17 10:10:47 4750

原创 WeightNet--在权值空间将SENet和CondConv统一

论文地址:2020 ECCV《Revisiting the Design Space of Weight Networks》预备知识CondConvSENet该论文在权重层面上统一了目前两种有效的网络,SENet和CondConv。SENet是在特征层面进行融合,CondConv则是在卷积核层面进行融合,作者首次探究这两种方法之间的联系,并且基于此提出了一种灵活、高效、简单的卷积核生成网络,有明显的性能提升。Grouped fully-connected operation(Gr..

2022-05-16 14:35:22 229

原创 CondConv--动态卷积思想

论文地址:《CondConv: Conditionally Parameterized Convolutions for Efficient Inference》问题常规卷积具有权值共享的特点,即所有的样本共享卷积网络中的卷积参数,因此,若想提升模型的容量,就需要增加网络的深度或者宽度,这会导致模型的计算量和参数量增加,模型部署难度大;然而,在某些cv应用中,要求模型的实时性高,及需要模型拥有较低的参数量和计算量。思想作者提出一种条件参数卷积用于解决上述问题,它通过输入计算卷积核参数打破

2022-05-16 13:53:09 1633 2

原创 在特征通道提升网络性能 --SENet网络详解

论文地址:《Squeeze-and-Excitation Networks》1. 简介SENet是ImageNet 2017(ImageNet最后一届比赛)的 Image Classification 任务的冠军模型,和ResNet的出现类似,都在很大程度上减小了之前模型的错误率,并且复杂度低,新增参数量和计算量小。SENet的全称是Squeeze-and-Excitation Networks,中文可以翻译为压缩和激励网络。SE block并不是一个完整的网络结构,而是一个子结构,可以

2022-05-16 11:25:21 4187 1

原创 轻量级神经网络PeleeNet--对DenseNet的进一步改进

论文地址:《Pelee: A Real-Time Object Detection System on Mobile Devices》文章总体上参考DenseNet的设计思路,提出了三个核心模块进行改进,有一定参考价值。PeleeNet实际上是DenseNet的变体,使用的依然是DenseNet的连接方法,核心的设计原则也和DenseNet相仿(特征重用)。1. Two-Way Dense Layer:如下图所示:左边(a)图是DenseNet中设计的基本模块,其中k、4k代表filte

2022-05-12 14:01:11 2433

原创 Transformer前言:self-attention与Multi-Headed Attention的详细理解

在此特别感谢李宏毅老师的课程,真的是醍醐灌顶。论文地址:《Attention Is All You Need》引入:self-attention是一种新的注意力机制,transformer在NLP(自然语言处理)上应用的很广。假设有这么一项任务,给定一个英文句子,能够得出句子中每个单词的词性:考虑一句话:I saw a saw(我看见了一个锯子)对应词性为:名词 动词 量词 名词那么问题来了,这个句子如何放进模型进行训练呢?如何区别两个saw呢?如果交给机器去学习,只考虑

2022-05-11 15:00:37 399

原创 轻量化网络ChannelNet--channel-wize Conv在channel维度卷积

论文地址:《ChannelNets: Compact and Efficient Convolutional Neural Networks via Channel-Wise Convolutions》亮点:提出了channel-wise卷积概念,将输入输出的维度进行稀疏化连接而非全连接 基于channel-wise深度可分离卷积结构替换网络最后的全连接层+全局池化1. Channel-Wise Convolutions深度可分离卷积能够减少网络的计算量和参数量,其中point-wise

2022-05-10 17:15:31 1917 2

原创 轻量级网络ESPNet系列 空洞卷积简介

空洞卷积(Dilated/Atrous Convolution)相比原来的正常convolution,dilated convolution 多了一个 hyper-parameter 称之为 dilation rate 指的是kernel的间隔数量:a是普通的卷积过程(dilation rate = 1),卷积后的感受野为3 b是dilation rate = 2的空洞卷积,卷积后的感受野为5 c是dilation rate = 3的空洞卷积,卷积后的感受野为7卷积核膨胀是将卷积核扩张到膨

2022-05-10 09:53:30 3372

原创 轻量化神经网络CondenseNet--对DenseNet的进一步改进

原文地址:《CondenseNet: An Efficient DenseNet using Learned Group Convolutions》亮点:提出了可学习的分组卷积(Learned Group Convolutions):利用网络压缩技术中的稀疏网络原理,在训练期间根据卷积核的L1值对卷积核进行置零操作; 剪枝:训练一开始就直接对权重做剪枝,而不是对训练好后的模型做剪枝操作,不仅能准确地剪枝,还能继续训练,使网络权重更平滑; 全稠密连接:DenseNet的稠密连接只在相应的blo

2022-05-09 10:48:27 3337

原创 轻量级卷积网络DenseNet:密集连接卷积网络

原文地址:CVPR 2017《Densely Connected Convolutional Networks》卷积神经网络如何提高效果:网络做得更深:ResNet,解决了网络深时的梯度消失问题;网络做得更宽:即增加每一层的输入输出通道数,例如GoogleNet的Inception;还有什么方法可以提高网络的效果呢?作者的想法则是从feature map入手,通过对feature的极致利用达到更好的效果和更少的参数,希望网络可以支持百层以上的深度,以减少更多的参数和计算量来实现更高的

2022-05-07 15:04:01 6043

原创 tf.pad()--填充操作

padings:代表每一维填充多少,它的维度和tensor的维度一样;此操作根据您指定的 paddings 来填充一个 tensor,paddings 是一个具有形状 [n, 2] 的整数张量,其中 n 是 tensor 的秩,对于每个输入维度 D,paddings [D, 0] 表示在该维度的 tensor 内容之前要添加多少个值,而 paddings[D, 1] 表示在该维度中的 tensor 内容之后要添加多少值。

2022-05-06 15:03:45 937

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除