自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(358)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 目标检测的类别损失和位置损失

文章目录类别损失Cross Entropy Loss二分类损失多分类损失Focal Lossα\alphaα平衡正负样本(1−pt)γ(1-p_t)^\gamma(1−pt​)γ平衡难易样本α+γ\alpha + \gammaα+γ结合位置损失L1 LossL2 LossSmooth L1 LossIoU LossGIOU LossDIoU LossCIoU LossInference类别损失Cross Entropy Loss交叉熵损失分为二分类损失和多分类损失二分类损失对于二分类问题(即0-1

2022-05-02 10:34:28 1311

原创 目标检测的进阶-one stage

文章目录前言Stage它们的主要区别one-stageSSD网络结构图特点损失函数YOLOv1网络结构图特点损失函数优缺点YOLOv2网络结构特点损失函数优缺点YOLOv3网络结构Darknet-53特点two-stageAnchoranchor-free 和 anchor-based 优缺点anchor boxanchor freeInference前言上一章介绍了目标检测的入门,这一章就目标检测近些年的发展做一个介绍。关于目标检测具体怎么分,谁和谁一家其实有两种分类:基于anchor和stage。

2022-04-27 21:32:21 2770

原创 解决梯度爆炸和梯度消失

文章目录原因解决方案1.预训练和微调2.relu、leakyrelu、Relu等激活函数3.Batch Normalization(批规范化)4.残差结构5.梯度剪切、正则6.LSTM(长短期记忆网络)原因梯度消失和梯度爆炸两种情况产生的原因可以总结成2类原因:1.深层网络的结构;2.不合适的损失函数,比如Sigmoid函数。梯度爆炸一般出现在深层网络和权值初始化值太大的情况下。解决方案1.预训练和微调预训练:无监督逐层训练,每次训练一层隐藏点,训练时将上一层隐节点的输出作为输入,而本层隐节点的输

2022-04-27 21:08:57 373

转载 loss损失不下降的原因

文章目录前言训练集loss不下降1.模型结构和特征工程存在问题2.权重初始化方案有问题3.正则化过度4.选择合适的激活函数,损失函数5.选择合适的优化器和学习速率6.训练时间不足7.模型训练遇到瓶颈8.batch size过大9.数据集未打乱10.数据集有问题11.未进行归一化12.特征工程中对数据特征的选取有问题验证集loss不下降1.适当的正则化和降维2.适当降低模型规模3.获取更多的数据集4.对数据集做扰动和扩增测试集loss不下降1.应用场景有问题2.噪声问题前言当我们训练一个神经网络模型的时候

2022-04-27 18:54:19 13666

原创 1*1卷积核的作用

文章目录来源应用作用跨通道的特征整合特征通道的升维特征通道的降维减少卷积核参数(简化模型)保持feature map尺度不变,增加非线性和全连接层的关系来源Network In Network一文中提到,如果1×1卷积核接在普通的卷积层后面,配合激活函数,即可实现network in network的结构应用GoogleNet中的Inception(升维和降维)、ResNet中的残差模块作用跨通道的特征整合例子:使用1∗11*11∗1卷积核,实现降维和升维的操作其实就是channel间信息的

2022-04-27 14:55:09 675

原创 目标检测的入门(截至2020)

目标检测入门

2022-04-25 20:51:12 949

原创 卷积神经网络CNN常用的几个模型

文章目录0️⃣LeNet5🏵LeNet-5的训练算法🏵卷积神经网络的优点🏵总结1️⃣AlexNet🏵特点🏵代码🏵主要贡献🌺ReLU激活函数的引入🌺层叠池化操作🌺Dropout操作🌺网络层数的增加2️⃣VGGNet(Visual Geometry Group)🏵要点3️⃣Google Inception Net🏵1x1卷积的作用🏵要点4️⃣ResNet🏵要点5️⃣基于区域的CNNs (R-CNN - 2013, Fast R-CNN - 2015, Faster R-CNN - 2015)🏵RCNN🏵Fast

2022-04-25 16:50:23 6390

原创 BN与LN的区别

BN与LN的区别主要区别在于 normalization的方向不同!Batch 顾名思义是对一个batch进行操作。假设我们有 10行 3列 的数据,即我们的batchsize = 10,每一行数据有三个特征,假设这三个特征是【身高、体重、年龄】。那么BN是针对每一列(特征)进行缩放,例如算出【身高】的均值与方差,再对身高这一列的10个数据进行缩放。体重和年龄同理。这是一种“列缩放”。而layer方向相反,它针对的是每一行进行缩放。即只看一笔数据,算出这笔所有特征的均值与方差再缩放。这是一种“行缩放”

2022-04-25 12:51:11 11839 4

原创 Pytorch:model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别

文章目录model.train()🎃model.eval()model.train()model.eval()model.eval()🎃torch.no_grad()Inferencemodel.train()🎃model.eval()model.train()和model.eval()的区别主要在于Batch Normalization和Dropout两层。model.train()启用 Batch Normalization 和 Dropout。如果模型中有BN层(Batch Normaliz

2022-04-25 10:49:32 359

原创 网络中的参数量(param)和浮点计算量(FLOPs)的计算

文章目录0️⃣前言1️⃣概念2️⃣如何计算网络中的参数量(param)🐱‍👤2.1卷积层:🐱‍👤2.2池化层:🐱‍👤2.3全连接层:3️⃣如何计算网络中的计算量🐱‍👓3.1一次卷积的计算量,如何计算呢?🐱‍👓3.2全连接层的计算量4️⃣计算参数量和计算量(pytorch库)🐱‍🚀4.1Torchstat🐱‍🚀4.2Torchinfo🐱‍🚀4.3Thop🐱‍🚀4.4Ptflops🐱‍🚀参数总量和可训练参数总量5️⃣输入数据对模型的参数量和计算量的影响6️⃣引用0️⃣前言本文介绍了卷积层和全连接层的参数量和

2022-04-24 08:30:00 5813 6

原创 Batch梯度下降、随机梯度下降和mini-batch梯度下降

文章目录🐱‍👓梯度下降🐱‍💻随机梯度下降🐱‍🚀mini-batch梯度下降🐱‍👤总结🐱‍👓梯度下降梯度下降又名批量梯度下降(Batch Gradient Descent),采用的方法是计算一个epoch(每个epoch都包含所有样本量)中所有样本的Loss和,对损失求平均就是当前epoch的损失值,进而计算梯度进行反向传播、参数更新。🐱‍💻随机梯度下降随机梯度下降(SGD,现在SGD含义发生了变化,不是指随机梯度下降),采用的方法是对一个epoch每一个样本都进行Loss求解,进而计算梯度进行反向传

2022-04-23 16:46:25 1033

原创 进程和线程

文章目录1.线程的基本概念2.线程的好处3.进程的概念4.进程的基本状态及状态之间的关系5.线程和进程的关系以及区别?6.引用1.线程的基本概念线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。2.线程的好处(1)易于调度。(2)提高并发性。通过线程可方便有效地实现并发性。进程可

2022-04-23 09:40:07 158

原创 ResNet知识点补充

文章目录前言传统深度学习网络的退化问题深层CNN为何发生退化? and ResNet到底解决了什么问题?简单了解下ResNet和残差结构前言这篇文章介绍resnet的重要小点,为面试做准备(1)传统深度学习网络的退化问题(2)ResNet到底解决了什么问题?(3)简单了解下ResNet和残差结构(4)残差结构如何解决退化问题(5)残差结构还有什么其他作用?传统深度学习网络的退化问题(1)在很深的网络层中,由于参数初始化一般更接近0,这样在训练过程中通过反向传播更新浅层网络的参数时,很容易随

2022-04-22 20:59:12 589

原创 详解HRNet姿态估计算法

文章目录🧇前言🧇HRNet理论🧇HRNet结构细节🍞Backbone设计🍞BasicBlock设计🍞Bottleneck设计🍞FuseLayer设计🍞TransitionLayer设计🍞Neck设计🍞整体代码设计🧇实验🧇Reference🧇前言本文结合多位大佬文章和自己理解所绘制,希望对大家有所帮助论文地址:https://arxiv.org/pdf/1908.07919.pdf代码地址:https://github.com/HRNet🧇HRNet理论计算机视觉领域有很多任务是位置敏感的,比

2022-04-20 19:16:49 6369 3

原创 详解FCOS《FCOS: Fully Convolutional One-Stage Object Detection》

文章目录0️⃣前言1️⃣Introduction2️⃣FCOS原理2.1 FCOS网络结构及输出设计2.2 Head输出特征图解码详解FPN的多级预测机制引用0️⃣前言Paper link:https://arxiv.org/pdf/1904.01355.pdfCode link:https://github.com/tianzhi0549/1️⃣IntroductionFCOS的paper是《FCOS: Fully Convolutional One-Stage Object Detection

2022-04-11 18:38:31 4589 2

原创 机器学习之集成学习(Ensemble Learning)

文章目录0️⃣概念1️⃣分类2️⃣特点⚔好而不同⚔五大特点⚔思考3️⃣五大方法🐱‍🐉训练样本扰动:🥘Boosting(例如:AdaBoost, GBDT)🥘Bagging(例如:Random Forest)🥘Bagging,Boosting二者之间的区别🥘Stacking🥘 决策树与这些算法框架进行结合所得到的新的算法:🐱‍🐉输入属性扰动:🥘RF算法解释🐱‍🐉算法参数扰动🐱‍🐉输出标记扰动🐱‍🐉混合扰动4️⃣集成学习结合策略5️⃣引用0️⃣概念集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的

2022-04-10 21:48:58 2679

原创 详解激活函数

文章目录0️⃣前言1️⃣Sigmoid2️⃣tanh3️⃣Relu4️⃣Leaky Relu5️⃣Softmax6️⃣总结0️⃣前言用了这么久的激活函数,抽空总结一下吧,不然总是忘记,这里介绍常用到的sigmoid,tanh,relu,leaky relu,softmaxtips:部分图片来自计算机视觉研究院公众号1️⃣SigmoidSigmoid 函数的图像看起来像一个 S 形曲线。函数表达式如下:在什么情况下适合使用 Sigmoid 激活函数呢?Sigmoid 函数的输出范围是

2022-04-10 19:03:52 2829

原创 详解决策树与随机森林

文章目录0️⃣引言1️⃣决策树🎟基本流程🎟特征选择🚌信息增益🚎缺点🚌信息增益率🚎缺点🚌基尼指数🎟剪枝处理2️⃣随机森林🎟bagging集成介绍0️⃣引言在之前介绍过决策树和随机森林调参,但都是直接调用skelearn,这次想重点介绍一下原理。1️⃣决策树🎟基本流程以分类任务为代表的决策树模型,是一种对样本特征构建不同分支的树形结构。一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点;叶结点对应于决策边界,其他每个结点则对应于一个属性测试;每个结点包含的样本结合根据属性测试的结.

2022-04-08 19:19:08 1426

原创 精确率和召回率 与 置信度之间的关系

文章目录1️⃣前言2️⃣召回率3️⃣精确率4️⃣总结1️⃣前言混淆矩阵的更多信息可以查看我另外一篇文章2️⃣召回率可以看到召回率的分母是TP+FN,表示正样本的个数,是没有办法改变的,是客观的;那么只有TP发生变化的时候,召回率才会发生变化;因此,当置信度阈值调低之后,会导致很多阈值低的样本被认为是真,当然除了TP会增加,FP也会增加,但是FP并不会影响到召回率的大小;在最极端的情况下,阈值为0,所有样本预测为真,会导致TP+FP达到样本数量(正常来说:总样本=TP+FP+TN+FN),TP是最.

2022-04-02 17:12:15 3776

原创 详解IoU、GIoU、DIoU、CIoU、EIoU和DIoU-NMS

IoU厨师大赛

2022-03-30 17:07:42 21753 16

原创 非极大值抑制Non-Maximum Suppression(NMS)

1. 目的使用NMS目的:提高召回率,但是召回率是“宁肯错杀一千,绝不放过一个”。因此在目标检测中,模型往往会提出远高于实际数量的区域提议(Region Proposal,SSD等one-stage的Anchor也可以看作一种区域提议)。这就导致最后输出的边界框数量往往远大于实际数量,而这些模型的输出边界框往往是堆叠在一起的。因此,我们需要NMS从堆叠的边框中挑出最好的那个。2. 何时使用NMS?回顾我在Cascade-RCNN中提到的流程:提议区域提取特征目标分类回归边框NMS使用.

2022-03-29 20:24:05 1882

原创 分类问题的评估指标

文章目录1️⃣ 起始源头2️⃣ 重要三点3️⃣ 衍生而出的指标 🍞 召回率==查全率R 🍦 精确率==查准率P 🍞 + 🍦 = 🍰 PR曲线 🍱 准确率 🌮 F1 🍠 Fβ

2022-03-27 19:48:49 1177

原创 详解多级目标检测体系结构Cascade RCNN

随着box回归带来proposal提高的同时,提高训练时proposal的IoU阈值和检测器的IoU阈值,让他们保持相近,从而训练多个级联的检测器。

2022-03-24 19:36:31 3415 5

原创 KNN与K-means的区别

整篇文章整合多人文章,并且加上自己的一些理解创作文章目录1. KNN(K-Nearest Neighbor)介绍1.1 优点1.2 缺点1.3 skelearn库代码实现1.4 手动实现KNN算法2. K-Means介绍2.1 优点2.2 缺点2.4 skelearn库代码实现2.5 手动实现K-Means算法3. KNN和K-Means的区别4. 引用1. KNN(K-Nearest Neighbor)介绍KNN是一种常用的监督学习办法,其工作机制十分简单:给定测试样本,基于某种距离度量找出训练.

2022-03-11 17:34:55 2149

原创 2022-天池-AI Challengers 赛后记录 264/3691

这是自己第一次参加的CV方向的比赛,是一种对抗性攻击的比赛,最后没有进决赛,成绩是90,264/3691,前50名98+的分数,卷不过,不过第一次,之后继续加油了。这篇文章还学习了前排大佬的思路,尝试跑了一下,当作学习。比赛地址:https://tianchi.aliyun.com/competition/entrance/531939/introduction比赛要求和数据:官方提供了ResNet50和DensNet121标准网络(基于Pytorch),选手需要在线下基于CIFAR-10数据进行模

2022-01-18 13:26:54 2086

原创 ST-GCN训练自己的数据集代码实践问题记录

ST-GCN训练自己的数据集代码实践问题记录

2021-07-22 14:05:11 4720 68

转载 torch- torchvision- python版本对应关系

torch- torchvision- python版本对应关系

2021-07-21 19:42:26 19557 9

原创 ResNet50的初步认知和复现链接

ResNet50的初步认知和复现链接

2021-05-05 20:47:02 532

原创 sklearn中对随机森林进行调参

sklearn中对随机森林进行调参

2020-12-06 20:36:35 3358 3

原创 python+sklearn进行交叉验证(使用交叉验证对数据划分,模型评估和参数估计,使用决策树举例)

python+sklearn进行交叉验证(使用交叉验证对数据划分,模型评估和参数估计,使用决策树举例)

2020-11-27 20:19:28 9370 5

原创 使用python+opencv进行图像的去畸变

使用python+opencv进行图像的去畸变

2020-10-28 14:42:06 6989 3

原创 LDA和PCA降维的区别

LDA和PCA降维的区别

2020-10-21 10:57:27 2770 6

原创 opencv4.2.0.34+python3.8.2+(直线检测、圆检测、轮廓发现、对象测量、膨胀和腐蚀、开闭操作、形态学操作、分水岭算法、人脸检测、识别验证码)

二十二、直线检测二十三、圆检测二十四、轮廓发现二十五、对象测量二十六、膨胀和腐蚀二十七、开闭操作二十八、其他形态学操作二十九、分水岭算法(基于距离变换)三十、人脸检测三十一、识别验证码

2020-07-13 20:30:28 1676 1

原创 opencv4.2.0.34+python3.8.2+(图像直方图、直方图反向投影、模板匹配、图像二值化、超大图像二值化、高斯金字塔和拉普拉斯金字塔 、图像梯度)

十四、图像直方图十五、直方图反向投影十六、模板匹配十七、图像二值化十八、超大图像二值化十九、高斯金字塔和拉普拉斯金字塔二十、图像梯度二十一、Canny边缘检测算法

2020-07-09 21:18:37 888 5

原创 opencv4.2.0.34+python3.8.2+(获取图片并打开、numpy、色彩空间、数值与逻辑计算、图像的切割合并填充、floodFill、卷积模糊处理、高斯噪声处理高斯模糊、ERF)

一、openCV和openGL的区别二、opencv的安装和测试(win10环境下)三、opencv的模块四、读取显示图片及其信息五、获取摄像头并打开六、numpy操作数组输出图片七、色彩空间八、图片色素的数值运算(加减乘除)和逻辑运算(与或非异或)九、图像的切割,合并和填充十、floodFill填充函数(泛洪填充)十一、利用卷积对图像模糊处理十二、添加高斯噪声并使用高斯模糊处理十三、边缘保留滤波(EPF)

2020-07-04 18:33:46 705 2

原创 2016-2018年第九届蓝桥杯【C++省赛B组】【题目汇总】

**原创文章链接**2016年第七届蓝桥杯【C++省赛B组】【题目汇总】煤球数目生日蜡烛凑算式快速排序抽签方格填数剪邮票四平方定理交换瓶子2017年第八届蓝桥杯【C++省赛B组】【题目汇总】原创链接2018年第九届蓝桥杯【C++省赛B组】【题目汇总】https://blog.csdn.net/y1196645376/article/details/697181...

2019-02-19 18:51:35 1229 1

原创 margin:auto 和margin:0 auto的区别

1、意思不同。margin:auto=margin:auto auto auto auto,表示上下左右都为auto;margin:0 auto=margin:0 auto 0 auto,表示上下为0,左右为auto;2、居中方式不同。margin:auto表示横竖都居中,margin: 0 auto表示横居中,竖不居中;margin后面一般会跟4个参数,如margin:1px、1px、1px...

2018-12-26 22:56:36 15474 5

转载 pytorch中BatchNorm1d、BatchNorm2d、BatchNorm3d

pytorch中BatchNorm1d、BatchNorm2d、BatchNorm3d。

2023-11-08 14:47:40 329

原创 二叉树的前中后序遍历,层序遍历,BFS,DFS的递归和非递归实现(Python)

二叉树中DFS分为前中后序遍历,DFS如果在图中,就没有前中后序遍历说法,如果在矩阵中,变化顺序就由上下左右随机组合了二叉树中BFS和层序遍历又有些区别遍历的递归实现深度遍历的运行过程是先进后出的,自然的方法是栈和递归广度遍历的运行过程是先进先出的,自然的方法是队列中序后序遍历的非递归实现前序中序后序BFS层序层序遍历要求的输入结果和 BFS 是不同的。层序遍历要求我们区分每一层,也就是返回一个二维数组。而 BFS 的遍历结果是一个一维数组,无法区分每一层。引用[0]

2022-08-23 18:25:30 915 2

转载 随机森林和GBDT的区别

随机森林和GBDT缺点。

2022-08-17 15:20:07 279

chrome.zip

方便Chrome商店的使用

2020-08-01

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

TA关注的人

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