深度学习
文章平均质量分 67
有情怀的机械男
这个作者很懒,什么都没留下…
展开
-
【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)
一个深度学习模型一般包含以下几个文件:datasets文件夹:存放需要训练和测试的数据集model.py:根据自己的需求搭建一个深度学习模型,具体搭建方法参考原创 2021-09-15 23:01:15 · 13300 阅读 · 14 评论 -
【机器视觉】——裂纹检测笔记
目录传统算法处理裂缝的基本思路:第一种思路第二种思路:第三种思路CPP代码halcon代码python代码Matlab代码深度学习缺陷检测裂缝检测文献传统算法处理裂缝的基本思路:第一种思路1.先转换彩色图为灰度图2.进行自适应局部阈值化,目的是为了减少光照与阴影对阈值的影响3.进行膨胀操作,尽量放大凸显裂缝,在用中值滤波平滑一下,去除一些高频噪声4.进行腐蚀操作,让轮廓枝干化,减少类似裂缝物体的干扰。5.测量裂缝宽和高代码见:https://转载 2021-09-14 22:51:21 · 7863 阅读 · 1 评论 -
【深度学习】——如何处理输入图像大小不一样的情况
这里一般有常见的几种方法:1)将图像缩放成大小一致后再输入,如RCNN算法2)roi pooling:这里允许输入图像的大小不一样,后续根据指定的固定大小来求解池化的核大小,以此来得到相同大小的特征图,如我目标是得到7*7的特征图,这时候我有一个图像是14*14,有一个图像是21*21,则前一个图像的池化卷积核为2*2,后一个池化卷积核为3*3这样就保证了最后得到的特征图都是7*7,这种方法称之为roi pooling,但是会出现浮点数,这种方法直接取整,导致特征不完整,主要用在FASTER RC.原创 2021-09-12 19:52:37 · 6683 阅读 · 0 评论 -
【深度学习】——pytorch搭建模型及相关模型
1、搭建模型的流程2、搭建模型的四种方法3、VGG16搭建4、全卷积层实现方法5、保存各个子模块的输出特征层原创 2021-09-12 08:59:54 · 2992 阅读 · 0 评论 -
【深度学习】——物体检测的难点
目录一、小物体检测1、降采样率减小 +空洞卷积2、anchor设计1)统计方法2)anchor边框聚类3、多尺度训练(multi scale training——MST)4、 特征融合一、小物体检测在分类任务中,一般物体的大小都差不多,这也使得单纯的分类任务不需要考虑物体的大小等因素,但是在目标检测中,因为在同一个图像中,可能会出现多个目标,有的目标像素占比大,有的目标像素占比小,比如远处的人高度只有30个像素,近处的人却有几百个像素,这导致在深度学...原创 2021-09-09 18:19:25 · 619 阅读 · 0 评论 -
【深度学习】——物体检测细节处理(NMS、样本不均衡、遮挡物体)
目录一、候选框大量重叠问题1、NMS核心思想2、 步骤:3、缺陷4、改进1)soft NMS——衰减的方式来减小预测框的分类得分2)softer nms——增加了位置置信度二、样本不平衡问题1、不平滑的来源(3方面)1)正负样本不平衡2)难易样本不平衡3)类别间样本不平衡2、解决样本不平衡的方法1)在线难样本挖掘(online hard example mining,OHEM)2) Focal Loss(专注难样本的一个损...原创 2021-09-09 15:24:09 · 1892 阅读 · 1 评论 -
【深度学习】——BN层(batch normalization)
目录一、“Internal Covariate Shift”问题二、BatchNorm的本质思想两个参数r和β的意义——精髓所在三、训练阶段如何做BatchNorm四、BatchNorm的推理(Inference)过程五、BatchNorm的好处一般使用在卷积层后、激活层前Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和重要性。虽然有些细节处理还解释不清其理论原因,但是实践证明好用才是真的好,别忘了DL从Hinton对深层网络做原创 2021-09-01 22:42:17 · 4444 阅读 · 2 评论 -
【深度学习】——过拟合的处理方法
目录一、什么是过拟合?(overfitting)二、过拟合的表现(判定方法)训练集、测试集、验证集区别测试集与验证集的区别三、产生过拟合的原因1、样本方面2、模型方面四、避免过拟合的方法1、样本方面1)增加样本量2)样本筛选(特征降维、特征选择)2、模型方法1)正则化①概念②L0正则化③L1正则化④L2正则化⑤为什么可以避免过拟合?2)归一化(Normalization)①最小最大值归一化(min-max normaliz...原创 2021-09-01 18:18:24 · 16261 阅读 · 2 评论 -
【深度学习】——性能指标(ROC、MAP、AUC等)
一、分类任务性能指标1、混淆矩阵2、精确度ACCURACY = 正确数/总数 3、查全率(RECALL)——真正正样本中预测正确的比例 4、查准率(precision)——预测为正样本中的预测正确的比例5、F-score——对查准率和查全率进行结合的一个参数 6、ROC曲线与AUC1) 真正率:TPR——RECALL2)假正率:FPR = FP /(TN+FP)3)AUC——由TPR-FPR曲线(ROC)包围的面积 7、P-R曲线与AP1)P-R曲线——Prec原创 2021-08-31 01:50:26 · 9272 阅读 · 0 评论 -
【深度学习系列】基础知识、模型学习
基础知识原创 【深度学习】——训练过程 原创 【深度学习】——激活函数(sigmoid、tanh、relu、softmax) 原创 【深度学习】——损失函数 原创 【深度学习】——梯度下降优化算法深度学习模型学习原创 【深度学习】——常见深度学习模型总结、anchor-free和anchor-based 原创 【深度学习】——如何提高map值 原创 【深度学习】——2021年FPN特征金字塔 原创 【深度学习】——模型评估指标MAP计算 原创 【深度学习】——日常知识原创 2021-08-25 00:32:47 · 299 阅读 · 0 评论 -
【深度学习】——梯度下降优化算法(批量梯度下降、随机梯度下降、小批量梯度下降、Momentum、Adam)
首先来看看梯度下降的一个直观的解释。比如我们在一座大山上的某处位置,由于我们不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个局部的山峰低处。原创 2021-08-25 00:27:11 · 3502 阅读 · 0 评论 -
【深度学习】——分类损失函数、回归损失函数、交叉熵损失函数、均方差损失函数、损失函数曲线、
损失函数的一般表示为L(y,f(x)),用以衡量真实值y和预测值f(x)之间不一致的程度,一般越小越好。为了便于不同损失函数的比较,常将其表示为单变量的函数,在回归问题中这个变量为y−f(x),在分类问题中则为yf(x)。下面分别进行讨论。原创 2021-08-25 00:26:24 · 5779 阅读 · 0 评论 -
【深度学习】——激活函数(sigmoid、tanh、relu、softmax)
目录激活函数1、作用2、常用激活函数3、衡量激活函数好坏的标准:4、不同的激活函数1)sigmoid2)tanh函数3)RULE函数和leak-relu函数4)softmax函数激活函数1、作用如果只是线性卷积的话,会导致无法形成复杂的表达空间,因此需要激活函数来进行非线性映射,这样可以得到更高语义的信息,提升整个神经网络的表达能力。2、常用激活函数sigmoid、tanh、relu、softmax3、衡量激活函数好坏的标准:1)是否0-.原创 2021-08-25 00:25:46 · 3896 阅读 · 0 评论 -
【深度学习】——训练过程
训练过程其实就是y=f(x)的求参过程,先给参数一个初始值,然后根据初始函数计算得到预测值,根据预测值和真值计算损失,然后又根据损失函数进行反向传播更新参数,更新参数后,再次计算预测值,如此往复,直到损失达到期望的结果停止迭代。步骤如下:1、选择模型,设置参数初始值2、获得真实数据(xi,yi)3、前向传播计算获得预测值4、确定损失函数,计算损失5、反向传播计算,计算梯度6、根据梯度更新参数7、将参数代入模型中,重复2-78、当损失小于期望值时,停止..原创 2021-08-25 00:01:42 · 2067 阅读 · 0 评论 -
YOLOV1学习
YOLOV1学习(输入的图像固定大小为448X448X3)参考文献模型结构将输入的图像归一化为大小为448x448x3的图像,然后将经过中间24层的卷积后得到了7x7x1024的特征图,然后后面连接的是两个全连接层,分别是4096和1470,最后将1470reshape成7x7x30的张量。问题0:①为什么是30,又为什么是7?②怎么解析?答:①为什么是7是因为将输入图像划分成了7x7的grid cell,30是因为每个grid cell都会生成两个预测框,每个预测框又有5个参数(x,y,h,原创 2021-08-22 00:55:53 · 435 阅读 · 0 评论 -
【深度学习】——常见深度学习模型总结、anchor-free和anchor-based
目录1、faster rcnn:2、SSD:3、YOLOv1:小结:拓展:anchor-based和anchor-freeanchor1、faster rcnn:是一个two stage模型,主要创新点在于RPN网络用于候选框的生成。首先利用先验知识对特征图上每一个点生成先验大小的9个ANCHOR框,然后第一阶段是训练RPN网络即生成候选区域,确定每一个框是否包含物体,这里主要是对固定的ANCHOR进行筛选和修正,将剩余的锚框作为候选区域;第二个阶段则是对候选区域进行分.原创 2021-08-22 00:53:25 · 1597 阅读 · 0 评论 -
【深度学习】——纠错error: Unable to find vcvarsall.bat:关于安装pycocotools
1、安装包下载大佬改写支持 Windows 的 COCO 地址:https://github.com/philferriere/cocoapi下载后原创 2021-06-08 14:42:59 · 207 阅读 · 0 评论 -
【深度学习】——如何提高map值
本文是在faster_rcnn模型的基础上进行map的提高map计算代码clone于:这个是用来绘制mAP曲线的。https://github.com/Cartucho/mAP这个是用来获取绘制mAP曲线所需的txt的https://github.com/bubbliiiing/count-mAP-txtmap...原创 2021-06-07 09:25:54 · 8263 阅读 · 2 评论 -
【深度学习】——2021年FPN特征金字塔
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/4/22 17:06# @Author : @linlianqin# @Site : # @File : fpn.py# @Software: PyCharm# @description:其搭建的基本流程和resnet是一致的,只是将每一层的卷积结果保存了起来import torchimport torch.nn as nnimport torch.原创 2021-05-27 22:00:37 · 561 阅读 · 0 评论 -
【深度学习】——模型评估指标MAP计算&实例计算
目录理论知识:推导:理论知识:参考up主《睿智的目标检测20——利用mAP计算目标检测精确度》推导:原创 2021-05-24 11:55:33 · 3953 阅读 · 0 评论 -
【深度学习】——日常知识点总结(持续更新)
设计卷积网络的原则:1、最后转为一维有两种方式:1)全局平均池化;2)扁平化直接转化为一维的2、在卷积层的大小变化时尽量保证特征图大小减小n倍时,特征图的个数也增加n倍,维持网络的复杂度(VGG和RESNET遵循了这个原则)...原创 2021-04-22 23:21:35 · 113 阅读 · 0 评论 -
【深度学习之ResNet】——深度残差网络—ResNet总结
目录论文名称:Deep Residual Learning for Image Recognition摘要:1、引言2、为什么会提出ResNet残差网络呢?3、深度残差网络结构学习(DeepResiduallearning) (1)残差单元 (2)恒等映射/单位映射(identitymapping) (3)瓶颈(BottleNeck)模块 (4)ResNet的结构 (5)ResNet的进一步改进参考博客:转载:https://w...原创 2021-04-22 23:21:14 · 3767 阅读 · 0 评论 -
【深度学习】——DNN后向传播、CNN后向传播文章汇总
深度神经网络(DNN)模型与前向传播算法深度神经网络(DNN)反向传播算法(BP)卷积神经网络CNN的前向和后向传播(一)卷积神经网络CNN的前向和后向传播(二)有batch normalization的卷积层的前向和后向传播...原创 2021-04-22 21:36:16 · 175 阅读 · 0 评论 -
【深度学习】——非极大值抑制(nms/soft-nms)
nms(非极大值抑制)相关概念以及Python实现原创 2021-03-19 16:45:13 · 1636 阅读 · 1 评论 -
UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figur
“UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure”在利用mask_rcnn进行物体检测的时候出现的问题,主要是因为matplotlib的使用格式不对可以检查者两个地方:1、visualize.py中import matplotlib.pyplot as plt改为:import matplotlibmatplotlib.u.原创 2021-01-11 22:58:02 · 1139 阅读 · 0 评论 -
【深度学习】mask_rcnn训练自己的数据集以及模型使用(实践结合GitHub项目)
根据requirements - 开源项目默认的.txt进行库安装环境:WIN10 + Anoconda + Pycharm + python3.6.2mask_rcnn基本流程1、训练1)labelme进行目标物体标记,生成json文件,含点坐标、以及各个物体的标签label;json文件的格式:(在balloon.py中提到)# { 'filename': '28503151_5b5b7ec140_b.jpg', # 'regions': { #原创 2021-01-11 15:23:14 · 989 阅读 · 0 评论