![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Deep Learning
文章平均质量分 71
深度学习相关的知识
超级无敌陈大佬的跟班
站在巨人的肩膀上看星星.
不辜负每个朝阳,不荒废每个深夜,因平凡而奋斗,因奋斗而不平凡
展开
-
【人脸】人脸特征点检测
人脸特征点检测算法:PFLD。原创 2023-03-14 10:51:04 · 319 阅读 · 0 评论 -
语义分割网络-STDC_CVPR2021
前言该网络是基于语义分割网络BiSeNetV1版本进行的改进,删掉BiSeNet网络中的双路径方式。属于实时语义分割算法,速度快。1.2STDC网络的性能STDC(Short-Term Dense Concatenate network)在Cityscapes上,在1080Ti上1)STDC1-50网络以250.4FPS的速度在测试集上实现了71.9%的mIoU。2)STDC2-75网络在97.0FPS的情况下达到76.8%的mIoU。跟其他算法的性能对比:...原创 2022-01-28 17:44:35 · 4845 阅读 · 0 评论 -
CVPR论文ORALS 、SPOTLIGHTS 、 POSTERS的区别
粗暴且狭义的论文质量对比:ORALS > SPOTLIGHTS > POSTERS- ORALS: equivalent to the traditional CVPR orals. CVPR 2016 will have a similar percentage of orals as in previous CVPRs. Each oral presentation will be 12 minutes long.- SPOTLIGHTS: these are new to CVPR原创 2021-11-01 17:54:15 · 4574 阅读 · 2 评论 -
【深度学习基础知识】池化层pooling操作如何参与反向传播?
参考自:池化层pooling操作如何参与反向传播? - 知乎 详细解释直接看原文.在反向传播时,梯度是按位传播的,那么一个解决方法,就是如何构造按位的问题,但一定要遵守传播梯度总和保持不变的原则。平均池化:将梯度平均分配给每一个神经元再进行反向传播,如下图所示。最大池化:在反向传播时,框架仅需要将该区域的梯度直接分配到最大值神经元即可,其他神经元的梯度被分配为0且是被舍弃不参与反向传播的,但如何确认...原创 2021-09-17 11:20:41 · 445 阅读 · 1 评论 -
【深度学习】模型评价指标
一、分类任务分类任务一般有二分类、多分类和多标签分类。多分类: 表示分类任务中有多个类别,但是对于每个样本有且仅有一个标签,例如一张动物图片,它只可能是猫,狗,虎等中的一种标签(二分类特指分类任务中只有两个类别)多标签: 一个样本可以有多个标签。例如文本分类中,一个文本可以是宗教相关,也可以是新闻相关,所以它就可以有两个标签。常见的评价指标有:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1 score、ROC曲线(Receiver Operating原创 2021-09-10 11:17:45 · 18564 阅读 · 1 评论 -
【深度学习】深度学习基础-Warm_up训练策略
背景学习率是最影响性能的超参数之一,如果我们只能调整一个超参数,那么最好的选择就是它。 其实在我们的大多数情况下,遇到 loss 变成 NaN 的情况大多数是由于学习率选择不当引起的。warmup介绍warmup可以称为训练热身。由于神经网络在刚开始训练的时候是非常不稳定的,因此刚开始的学习率应当设置得很低很低,这样可以保证网络能够具有良好的收敛性。但是较低的学习率会使得训练过程变得非常缓慢,因此这里会采用以较低学习率逐渐增大至较高学习率的方式实现网络训练的“热身...原创 2021-09-07 14:50:04 · 6640 阅读 · 2 评论 -
【深度学习】Transformer相关知识学习
CNN和Transformer的区别:1)CNN卷积归纳偏置对于规模较小的数据集较为有用,但对于较大的数据集(千万级规模数据集)而言,Transformer学习相关模式就足够了,甚至更加有效;2)CNN提取局部信息,Transformer提取全局信息;以一个目标检测网络为例,介绍Transformer的结构:基于CNN的目标检测和Transformer的目标检测网络结构区别检测流程Transformer内部结构Transformer内部结构2匈牙利算法:匹配预测框...原创 2021-09-01 15:47:05 · 480 阅读 · 0 评论 -
【深度学习】Group Convolution分组卷积、Depthwise Convolution和Global Depthwise Convolution
目录1. 分组卷积(Group Convolution)1.1 分组卷积与普通卷积的区别1.2 分组卷积的用途2. 深度分离卷积(Depthwise Convolution)原文链接:https://www.cnblogs.com/shine-lee/p/10243114.html本文主要介绍减少参数量、计算量的卷积形式:Group Convolution(分组卷积) Depthwise Convolution(深度分离卷积) Global Depthwise Convolu转载 2021-08-26 15:28:51 · 8847 阅读 · 0 评论 -
【深度学习】目前几种热门的数据增强方法
目录1)Mosaic增强2)Mixup增强3)Cutout增强3)CutMix增强前言传统的镜像、旋转、缩放、调整亮度、对比度、高斯噪声这里不详细讲解。主要讲一下现在几种火爆的数据增强方式。1)Mosaic增强将4张图片缩放,然后拼接到一起。Mosaic增强的主要优点:丰富数据集:随机使用4张图片,随机缩放,再随机分布进行拼接,大大丰富了检测数据集,特别是随机缩放增加了很多小目标,让网络的鲁棒性更好。 减少GPU:同时Mosaic增强训练时,可以直接...原创 2021-08-25 17:59:32 · 4668 阅读 · 0 评论 -
【深度学习】backbone网络结构ResNet、Inception、DenseNet简单概述
目录前言各自的亮点:一、ResNet1. Resnet要解决的是什么问题2. Residual Block的设计3. ResNet 网络结构二、Inception1. Inception系列想要解决的问题2. Inception V1-2014年3. Inception V2、Inception-V3 -2015年4. 总结三、DenseNet3.0 DenseNet优点:3.1 DenseNet与Resnet的区别:3.2 DenseNet网络结原创 2021-08-21 21:26:36 · 3717 阅读 · 1 评论 -
【人脸】低分辨率图像识别的一些方法路线
前言低分辨率/低质量 图像信息丢失严重,基于低质量数据集训练的模型往往不能达到预期效果。此外,若模型是基于高分辨率(High Resolution, HR)图像进行训练的,而真实业务场景中的数据来源质量非常低,高分辨率与低分辨率(Low Resolution, LR)数据之间存在着domain mismatch的问题,效果也会大打折扣。下面总结了一些处理低分辨率/低质量图像识别的常见思路。方案1:限制输入图片分辨率(这还用你说- -)控制上传图像质量;若图像来源可控,即可通过某种反馈机制让用户输入较高原创 2021-08-12 20:44:12 · 2768 阅读 · 0 评论 -
【人脸识别】人脸识别损失函数学习笔记
目录二、CosFace(CVPR2018)1 softmax loss的不同变种1.1 原始的softmax loss:1.2 归一化softmax Loss(NSL,Normalization Softmax Loss)1.3 CosFace Loss(LNCL,Large Margin Cosine Loss)2. 不同loss的分类边界分析2.1 Softmax Loss:2.2 NSL:Normalized Softmax Loss:2.3 A-Softmax(S原创 2021-07-24 17:48:54 · 1814 阅读 · 1 评论 -
千万级类别人脸识别模型并行训练
并行训练的方式:1.nn.DataParallel数据并行。将一个batchsize中的数据分给多个GPU并行训练。 2.模型并行。将FC层拆分给多个GPU进行并行训练。 3.partial_fc。(抽样fc层)一、模型并行目前处理大规模(数据多、类别大)数据集的方法:混合并行:即backbone使用数据并行,分类层使用模型并行;该方法具备两个优点:1)缓解了 W 的存储压力。将W划分为k个子矩阵w; 2)将 W 梯度的通信转换成了所有GPU的特征 X 与 softmax 局部分原创 2021-07-22 21:28:20 · 617 阅读 · 1 评论 -
【部署加速】模型Int8量化
1、INT8量化过程一个训练好的深度学习模型,其数据包含了权重(weights)和偏移(biases)两部分,在其进行前向推理(forward)时,中间会根据权重和偏移产生激活值(activation)。INT8的量化原理简单介绍:TensorRT在进行INT8量化时:1)对权重直接使用了最大值量化);2)对偏移直接忽略;3)对前向计算中的激活值的量化是重点; 对激活值进行INT8量化采用饱和量化:因为激活值通常分布不均匀,直接使用非饱和量化会使得量化后的值都挤在一个很小的范围从而浪费了INT原创 2021-07-07 13:53:29 · 2274 阅读 · 0 评论 -
【深度学习】RetinaFace人脸检测简要介绍
介绍Insight Face在2019年提出的最新人脸检测模型,原模型使用了deformable convolution和dense regression loss, 当时在 WiderFace 数据集上达到SOTA。基网络有三种结构,基于ResNet的ResNet50和ResNet152版本能提供更好的精度,以及基于mobilenet(0.25)的轻量版本mnet,检测速度更快。简化版mnet结构RetinaFace的mnet本质是基于RetinaNet的结构,采用了特征金字塔的技术,实现原创 2021-06-24 09:58:16 · 3999 阅读 · 2 评论 -
【深度学习-基础知识】batchNormal原理及caffe中是如何使用的
Batchnorm解决的问题:机器学习领域有个很重要的假设:IID独立同分布假设,就是假设训练数据和测试数据是满足相同分布的,这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。那BatchNorm的作用是什么呢?BatchNorm就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同的分布。如果ML系统实例集合<X,Y>中的输入值X的分布老是变,这不符合IID假设,网络模型很难稳定的学规律,这不得引入迁移学习才能搞定吗,我们的ML系统还得去学习怎么迎合这种分布变化啊原创 2021-06-23 15:38:48 · 1390 阅读 · 0 评论 -
【LSTM】CRNN网络结构
文章认为文字识别是对序列的预测方法,所以采用了对序列预测的RNN网络。通过CNN将图片的特征提取出来后采用RNN对序列进行预测,最后通过一个CTC的翻译层得到最终结果。说白了就是CNN+RNN+CTC的结构。作者:ce0b74704937链接:https://www.jianshu.com/p/ef8e16fbcb65来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...原创 2021-06-23 10:35:00 · 1040 阅读 · 0 评论 -
【文本识别】CTC_Loss原理
一种RNN(Recurrent Neural Networks)的端到端训练方法—CTC(Connectionist Temporal Classification)算法,它可以让RNN直接对序列数据进行学习,而无需事先标注好训练数据中输入序列和输出序列的映射关系...原创 2021-06-21 21:23:00 · 2025 阅读 · 0 评论 -
深度学习研究方向资料书签
人脸检测https://github.com/xialuxi/yolov5_face_landmark原创 2021-06-09 19:41:38 · 115 阅读 · 0 评论 -
【人脸】人脸矫正相关知识
目录人脸矫正相关知识一、人脸矫正的简要流程二、Python代码中人脸矫正实现方式三、C++代码中人脸矫正实现方式人脸矫正相关知识一、人脸矫正的简要流程Step1、使用人脸检测结果的5个特征点和人脸标准的5个参考特征点坐标求出仿射变换矩阵。Step2、通过上一步求得的放射变换矩阵对人脸进行旋转平移矫正,得到矫正好的人脸。补充1.人脸标准的5个参考特征点坐标如下(人脸尺寸为112 * 112): src = np.array([ [30.2946+8.原创 2021-05-07 21:33:12 · 10993 阅读 · 5 评论 -
【transformer】
:是图像分割出的N个patch embedding,尺寸维度。(该步即是将图像分割为N个patch)E:是线性映射矩阵,维度为;上面的右乘线性矩阵E,就将都固定成D维向量。(该步即是将每个patch embedding线性映射到固定维度):是Learnable embedding,也是一个D维向量,它和 concat就得到了(1+N)×D维矩阵。(该步是加上一个可学习的embedding表示全局图像信息):是(1+N)个D维position embedding,position ...原创 2020-11-25 14:05:43 · 362 阅读 · 0 评论 -
图像数据扩充
# -*- coding: utf-8 -*-import sys reload(sys) # Python2.5 初始化后会删除 sys.setdefaultencoding 这个方法,我们需要重新载入 sys.setdefaultencoding('utf-8') import osimport timefrom PIL import Image,ImageChops,ImageEnhancedef image_reversal(img,savefilepath,save.原创 2020-10-13 17:23:01 · 1370 阅读 · 3 评论 -
【deeplearning基础知识】Momentum优化是如何计算的
mini-batch SGD训练算法的问题:1)虽然能够带来很好的训练速度,但是在到达最优点的时候并不能够总是真正到达最优点,而是在最优点附近徘徊。容易产生一些震荡。2)采用小的学习率的时候,会导致网络在训练的时候收敛太慢;当我们采用大的学习率的时候,会导致在训练过程中优化的幅度跳过函数的范围,也就是可能跳过最优点。Momentum方法:能够很好的解决SGD中上面的两个问题。SGD更新...原创 2019-11-13 07:44:46 · 720 阅读 · 0 评论 -
【Deep Learning基础知识】深度学习中关于batch、epoch和iteration的含义 和 batchsize的大小对训练过程的影响
前言:深度学习中最基本的思想为梯度下降,反向传播减小误差优化参数。而在使用训练数据优化参数的时候有两种方法:1)Batch gradient descent:每次迭代(完成一次前向和反向运算)会计算训练数据集中所有的样本,在深度学习中训练样本数量通常达十万、百万甚至更多,这样一次迭代遍历所有的样本显然很慢。2)Stochastic gradient descent:每次迭代只使用训练集...原创 2019-10-13 17:05:50 · 3619 阅读 · 0 评论 -
【CNN】卷积神经网络中param和FLOPs介绍
卷积神经网络中param和FLOPs介绍CNN论文中在比较网络性能时经常会提到这两个参数,下面简单介绍这两个参数的含义。Parameters:是指这个网络中参数的数量(训练网络时学习的参数)。这里的参数一般指的时参数W和b,也就是权重和附加值。FLOPs:全称是floating point operations,即表示浮点运算次数(在CNN中也可简单成为网络的计算量),小s后缀是复数...原创 2020-03-09 15:11:57 · 4556 阅读 · 2 评论 -
【deep learning】train loss与test loss结果分析
train loss与test loss结果分析train loss 不断下降,test loss不断下降,说明网络仍在学习;train loss 不断下降,test loss趋于不变,说明网络过拟合;train loss 趋于不变,test loss不断下降,说明数据集100%有问题;train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目...原创 2019-12-03 22:59:53 · 200 阅读 · 0 评论 -
【深度学习】多尺度的理解
多尺度训练这个问题应该是可以分为两个方面:一个是图像金字塔,一个是特征金字塔吧。1、人脸检测的MTCNN就是图像金字塔,使用多种分辨率的图像送到网络中识别,时间复杂度自然就很高,毕竟每幅图都要用多种scale去检测。2、像FPN特征金字塔网络,是在多个feature map上面识别的话,但是是一次图像输入完成的,所以只是识别时间会稍微长一些,时间复杂度并不会增加吧。3、faster r...原创 2019-11-30 16:47:06 · 7914 阅读 · 0 评论 -
深度模型不work?这有一份超全的Debug检查清单
为什么需要讨论DL Troubleshooting?80%-90%时间用于debug和tune,10%-20%时间用于推导数学或者实现。模型为什么会表现糟糕? 实现时的bug,很多深度学习bug不可见,比如模型label顺序错误 超参数选择,因为模型对超参数比较敏感 数据/模型拟合 数据集创建,常见问题...转载 2019-11-07 06:57:39 · 73 阅读 · 0 评论 -
【记事本】mobilenet相关资料收集
sp2823---官方github地址上的conv_dw层修改:https://github.com/BVLC/caffe/pull/5665/files#diff-4f402e0933af71910feb2a9d38eaf2e6R1该修改来源于:https://github.com/sp2823/caffe/tree/convolution-depthwiseyong...原创 2019-10-14 20:12:47 · 202 阅读 · 0 评论 -
【Deep Learning】空洞卷积(膨胀卷积)解析
前言:在阅读SSD网络的时候,看到conv6层中pad=6,且有个参数dilation: 6。在平时没怎么注意到整个参数,今天对其进行记录。layer { name: "fc6" type: "Convolution" bottom: "pool5" top: "fc6" param { lr_mult: 1.0 decay_mult: 1.0 }...原创 2019-10-12 11:53:04 · 4030 阅读 · 0 评论 -
【分类网络】Resnet网络结构简述
残差网络:解决普通深度学习网络中深度到达一定程度时,导致的错误率升高的问题。文中表示:使用残差网络结构的深度网络,能够获得比浅网络更低的错误率,并且不断加深网络的层数时,性能并没有退化。plan A B C表示不同的增加维度方式:Identity vs. Projection Shortcuts比较了三种选择:(A)zero-padding shortcuts用来增加维度(R...原创 2019-09-26 08:41:16 · 1699 阅读 · 1 评论 -
【deep learning】CPU与GPU区别,cuda 、 cudnn 、多GPU运算 科普。
首先放一张CPU和GPU的对比图:GPU(图像处理器,Graphics Processing Unit):GPU有更多的运算单元(如图中绿色的ALU),而Control和Cache单元不如CPU多,因为GPU在进行并行计算的时候每个运算单元都是执行相同的程序,而不需要太多的控制。GPU中Cache很小或者没有,因为GPU可以通过并行计算的方式来减少内存延迟。CPU(中央处理器,Cent...原创 2019-09-04 08:33:12 · 1176 阅读 · 0 评论 -
CSDN教程博客链接
SSD训练:https://blog.csdn.net/zhang_shuai12/article/details/52346878https://blog.csdn.net/zhang_shuai12/article/details/52346878SSD理论详解:https://blog.csdn.net/qianqing13579/article/details/821066...原创 2019-07-05 15:14:44 · 817 阅读 · 0 评论 -
卷积神经网络的复杂度分析
原文链接: https://zhuanlan.zhihu.com/p/31575074 在梳理CNN经典模型的过程中,我理解到其实经典模型演进中的很多创新点都与改善模型计算复杂度紧密相关,因此今天就让我们对卷积神经网络的复杂度分析简单总结一下下。本文主要关注的是针对模型本身的复杂度分析(其实并不是很复杂啦~)。如果想要进一步评估模型在计算平台上的理论计算性能,则需要了解 Rooflin...转载 2018-10-21 22:32:42 · 456 阅读 · 0 评论