自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 问答 (4)
  • 收藏
  • 关注

原创 细化算法简单概念

细化概念很多细化算法的学者对细化概念做了定义,将骨架定义为从图像线条的内部传播的波阵面的结果,骨架就是对边波阵面交集的轨迹,它作为一个概括性的理论被大多数学者所接受。图像中最外层的像素被连续的移除直到剩下骨架像素,但同时要保证骨架的连通性。其中有学者将骨架定义为图像线条的中心,使用这个骨架化定义可以精确地重建最初始的图像和重新描绘出它们。因为细化是模式识别领域的主要任务或本质要求之一,所以细化或骨架化算法的设计是一个非常活跃的研究领域。细化的方法在介绍细化方法之前,先简单介绍一下边缘检测算法,常用的比

2021-09-09 10:25:07 930

转载 Focal Loss for Dense Object Detection(整理后转载)

@[TOC](Focal Loss for Dense Object Detection论文目标核心思想focal loss的提出交叉熵损失函数focal loss的重要性质论文目标Object Detection算法可以分为 two-stage detector 二阶段和 one-stage detector 一阶段两种,前者指类似Faster RCNN, RFCN这样需要 region proposal 的检测算法,这类算法可以达到很高的精确度,但是速度很慢,虽然可以通过减少proposal的数量或

2021-09-08 16:28:29 400

原创 1*1卷积核的作用

1*1卷积核的作用降维(减少参数)升维(用最少的参数拓宽网络channel)跨通道信息交互(channel的变换)增加非线性特性

2021-09-08 15:34:29 175

原创 关于半精度fp16的混合训练

关于半精度fp16的混合训练fp16概念优点缺点fp16&fp32混合精度训练混合精度训练的好处混合精度训练的流程**参考链接:**https://www.jianshu.com/p/a5b057688097https://blog.csdn.net/baidu_32048673/article/details/103715333https://blog.csdn.net/weixin_38740463/article/details/102301044fp16概念fp16即半精度浮点数

2021-09-08 12:04:19 1335

原创 python内存管理学习笔记

视频地址:https://www.bilibili.com/video/BV1F54114761?p=6&spm_id_from=pageDriverPython内存管理python内存管理:引用计数器为主,标记清除和分代回收为辅 + 缓存机制引用计数器环状双向链表refchain在python程序中创建的任何对象都会放在refchain链表中。name = “ wupeiqi ”age = 18hoobby = {“ basketball”, “ beauty ”}内部会创建一

2021-09-08 11:11:24 67

转载 各种聚类算法的介绍与比较(转载)

转载自:https://blog.csdn.net/abc200941410128/article/details/78541273一、简要介绍聚类概念聚类就是按照某个特定标准(如距离准则)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。即聚类后同一类的数据尽可能聚集到一起,不同数据尽量分离。聚类和分类的区别聚类技术通常又被称为无监督学习,因为与监督学习不同,在聚类中那些表示数据类别的分类或者分组信息是没有的。Clust

2021-09-07 16:57:53 1613

原创 最近邻、双线性、立方卷积三种插值方法比较

常用的三种图像插值方法最近邻插值双线性插值立方卷积插值参考链接:https://www.cnblogs.com/okaimee/archive/2010/08/18/1802585.html最近邻插值优点:计算量很小,算法简单,速度快。缺点:仅使用离待测采样点最近的像素的灰度值作为该采样点的灰度值,而没有考虑其他相邻像素点的影响,因此采样后的灰度值有明显的不连续性,图像质量损失较大,会产生明显的马赛克和锯齿现象。双线性插值优点双线性插值效果比最近邻插值效果好,缩放后的图像质量高。因为考虑

2021-09-07 16:21:13 3244

转载 详解one-hot编码(转载)

详解one-hot编码什么是one-hotone-hot编码过程详解为什么需要one-hot编码?one-hot编码的缺陷转载链接:https://www.cnblogs.com/shuaishuaidefeizhu/p/11269257.html什么是one-hotone-hot编码又称一位有效编码,主要采用N个状态进行编码,每个状态都有它独立地寄存器位,并且在任意时候只有一位有效。one-hot编码是分类变量作为二进制向量的表示,这首先要求将分类值映射到整数值,然后每个整数值被表示为二进制向量。

2021-09-07 15:59:22 318

原创 离散化方法之分桶概念

分桶简介分桶的优点注意参考链接:https://blog.csdn.net/lc013/article/details/104454135简介分桶是离散化的常用方法,将连续型特征离线化为一系列0/1的离散特征。当数值特征跨越不同的数量级的时候,模型可能只会对大的特征值敏感,这种情况就可以考虑分桶操作。分桶操作可以看作是对数值变量的离散化,然后通过二值化进行 one hot 编码。常用的分桶方法:等距分桶。每个桶的宽度是固定的,即值域范围是固定的;这种适合样本分布比较均匀的情况,避免出现有的桶

2021-09-07 15:46:46 944

原创 常用的相似度计算方法

几种相似度计算方法欧氏距离余弦距离余弦距离与欧氏距离汉明距离欧氏距离欧氏距离最初用于计算欧几里得空间中两个点的距离,假设x,y是n维空间的两个点,他们之间的欧式距离:上式是最常用的二维空间内的欧氏距离的计算公式,他是一种平面距离,距离越小,相似度越大。余弦距离余弦距离的原理就是多维空间两点与所设定的点形成的夹角的余弦值,距离范围在-1到1之间,值越大说明夹角越大,两点距离越远,相似度越小。余弦距离与欧氏距离余弦相似度衡量的是维度间取值方向的一致性,注重维度之间的差异,不注重数值上的差异,而

2021-09-07 11:36:33 867

原创 常用的边缘算子

边缘算子边缘算子sobelRobertsPrewittCannyLaplacian对比边缘算子参考链接:https://blog.csdn.net/yato0514/article/details/82051790图像方面的特征一般是从边缘开始,然后不断向上构成更高层次的特征描述,边缘和边界是不同的,边缘是指图像中的像素值突变的地方,边界指实际场景中物体间的边界常用的一阶算子:sobel,roberts,prewitt,canny常用的二阶算子:laplaciansobelsobel是离散型的

2021-09-07 10:48:11 1396

原创 python读取输入键值

python读取输入键值input()指令读取一个整数读取一行数据读取多行数据input()指令读取一个整数input() 函数可以读取键盘的输入,读到回车结束。从下面的结果可以看得到:input() 函数从键盘读取的输入是 str 类型,长度为1;strip() 函数是去掉头尾的字符,默认为空格或者换行符,也可以指定字符,因为我没有在头尾输入其他字符,所以这里inputs1和inputs2是一样的;因为后面会用这个整数做一些运算,所以要把 str 转换成 int ,从TypeError中可以

2021-09-01 15:53:04 3664

原创 机器学习算法笔记-随机森林与集成算法

随机森林(RF)集成算法(E内设目标了learning)RF梯度提升树(GBDT)Boosting模型Stacking集成算法(E内设目标了learning)目的:让机器学习效果更好,类似集成电路。集成学习Bagging:训练多个模型取平均(各模型相互独立,并行)Boosting:从弱学习期开始,通过加权来进行训练(隔膜型间存在关系,串行),随机森林就是一种BaggingStacking:聚合多个分类或回归模型RF随机森林:每次从训练集中随机选择一定比例的数据,作为决策树的输入数据,因为

2021-08-27 20:26:58 145

原创 机器学习算法笔记-决策树

决策树(DT)树模型如何切分特征衡量标准如何选择特征衡量决策树不纯度的方法剪枝策略树模型决策树:从根节点开始一步步走到叶子节点(决策)所有的数据最终都会落到叶子节点,既可以分类也可以回归。决策树对于特征判断的顺序比较严格,如果判断顺序不同,最终的结果可能不同树的组成:根节点、非叶子结点与分支、叶子节点如何切分特征衡量标准熵:表示随机变量不确定性的度量,即混乱程度。不确定性越大,得到的熵值也就越大。信息增益:表示特征X使得类Y的不确定性减少的程度(分类后的结果希望都是同类)。如何选

2021-08-27 17:52:38 89

原创 机器学习算法笔记-聚类

聚类算法k-means聚类DBSCAN聚类k-means聚类相比于之前的线性回归和逻辑回归,k-means聚类算法属于无监督问题,因为没有标签,所以评估比较困难。k-means的基本概念:1.要得到簇的个数,需要指定k值2.质心:均值,即向量各维的平均3.距离的度量:常用欧氏距离得距离和余弦相似度(先标准化)4.优化目标:每一簇内所有点离质心的距离最短。优点和缺点:优点,简单,快速,适合常规数据集。缺点,k难确定,复杂度与样本呈线性关系,很难发现任意形状的簇(就是形状比较随意的那种)。

2021-08-27 15:34:29 379

原创 机器学习算法笔记-逻辑回归

逻辑回归(LR)我的理解是,逻辑回归就是以改进的线性回归的方法求分类,改进的内容就是引入了非线性函数,最常用的就是sigmoid函数。如下图就是sigmoid函数,横轴z = 0时,纵轴g(z) = 0.5,z趋向于负无穷时,g(z)趋向于0,z趋向于正无穷时,g(z)趋向于1。其中z = thetaT * X,g(z)表示概率,逻辑回归目标函数的推导见下图。逻辑回归最经典的是二分类函数,二分类回归常用的损失函数就是交叉熵损失函数。如果想要处理多分类回归问题,比如3类,那么就把它拆分成3个二分类问

2021-08-26 16:39:32 78

原创 机器学习算法笔记-线性回归的实验过程

线性回归的实验过程参数直接求解方法数据预处理梯度下降模块学习率对结果的影响二级目录三级目录参数直接求解方法如下图所示,根据目标函数的极值可以直接求出参数theta的表达式,用这种方法也可以直接求出线性回归的最终结果,但是这种方法并非适用于所有数据,因为theta的求解公式中包含了特征矩阵的逆矩阵,求解逆矩阵是有前提条件的,不是所有的矩阵都有你军阵,因此这种方法并不总是适用的,而且这是一种纯粹的数学推导,与机器学习的思想是不符的。数据预处理这里数据预处理模块主要指数据标准化。如下图,作图是标准化后的

2021-08-26 12:11:25 476

原创 机器学习算法笔记-评价

评价方法交叉验证集混淆矩阵(confusion matrix)评价指标阈值对结果的影响交叉验证集平时我们常用的是把数据集分成训练集和测试集,但是每训练一次就用测试集测试一次,如果测试结果不好还要再训练,这样就比较麻烦,因此就要用到交叉验证集了,那么什么是交叉验证集呢?如下图,把原来的训练集分出一小部分作为验证集,在验证时使用训练集和验证集中的所有数据,那么这两部分数据集组合在一起就叫交叉验证集。我的理解是,训练集的精度高,代表训练的偏差小,验证集的精度高,说明方差小,也就是鲁棒性好。一般来说我们肯定

2021-08-25 20:21:06 250

原创 YOLO V4代码理解(未完待续)

YOLOV4理解整理1. voc2faster-rcnn.py2.voc_annotation.py3.kmeans_for_anchors.py4.train.py用自己的数据集调试了YOLOV4,下面是按照运行顺序来写的对各函数的理解1. voc2faster-rcnn.py这个函数的功能是生成trainval.txt,train.txt,val.txt和test.txt,并将生成的文件存放在数据集的ImageSets/Main文件夹中,代码及其注释如下import osimport rand

2021-08-25 17:15:57 625

原创 机器学习算法笔记-线性回归

机器学习算法笔记-线性回归线性回归的概念线性回归的表达线性回归的误差线性回归的目标函数参数求解与更新梯度下降学习率参考视频资料:https://www.bilibili.com/video/BV1rq4y1p7nJ?p=10&spm_id_from=pageDriver线性回归的概念我的理解是,假如有1个或多个特征量xi,根据这些特征量的重要性赋予其不同的参数(权重),将被赋予参数的所有特征量(xi必须是一次项)相加,就能够得到一个目标预测值y。记-线性回归)线性回归的表达比如预测贷款额

2021-08-25 17:13:47 81

原创 Mobilenet-yolov4代码调试

Mobilenet-yolov4代码调试train.py调试问题一问题二问题三一级目录train.py调试问题一KeyError: 'make_five_conv1.0.conv.weight’Debug运行一下,发现发生错误的语句如下(train.py的第210行),该问题的错误原因是因为,下载的模型pretrained_dict_net文件中没有make_five_conv1.0.conv.weight这个权重内容。pretrained_dict = {k: v for k, v in pre

2021-07-20 10:43:14 1135

原创 粘连目标的分离方法

粘连目标的分离方法 项目中经常会遇到一些粘连目标,直接分割可能难以把粘连目标分离开来,往往需要一些其他算法识别粘连目标,并将其分离开来,然后再进行分割。这种方法对于形状比较复杂的目标不适用,比如行人检测,车辆检测等,它比较适合形状简单的目标,比如米粒检测,类圆形目标检测等。 方法一:凹点检测下图是粘连目标的示例,凹点检测比较简单,利用凹点检测进行目标分割的步骤大致是:根据图形几何特征,比如面积、周长、角度、灰度、凹度(缺陷面积与连通域面积之比)等等,从所有目标中筛选出粘连目标;凹点检测:

2021-07-01 20:07:41 5085 5

原创 Pytorch训练SSD时出现的警告和错误

assert win is not None, 'Must define a window to update'AssertionError: Must define a window to updat

2021-05-08 16:43:53 2598

原创 修改github上的SSD代码在本地运行

@TOC修改github上的SSD代码在本地运行准备数据首先根据README.md安装一些库1.安装visdompip install visdompython -m visdom.server2.下载数据集sh data/scripts/COCO2014.shsh data/scripts/VOC2007.sh sh data/scripts/VOC2012.sh3.下载VOCdevkit下载到data文件夹下,链接:链接:https://pan.baidu.com/s/1C-

2021-05-07 15:49:23 546 3

原创 如何理解神经网络中的Epoch, Batch, iteration三个参数

在学习SSD算法时,对于迭代训练的部分不是很理解,主要原因是对epoch,batch,iteration三个参数所代表的的意义不清楚,只看代码的话和SSD网络图并不能搞明白,后来查了一下几个参数的定义,豁然开朗,下面是对这段代码的详细解析: # 开始迭代训练 for iteration in range(args.start_iter, cfg['max_iter']): # 如果启用了visdom,迭代次数不为0(iteration=0时已经对loss了,不需要再重置),且所

2021-05-07 11:20:58 859

原创 visdom一直蓝屏的解决方法

最近在学习关于神经网络的东西,跑了一些代码,在训练SSD代码时,使用到了visdom可视化软件,虽然安装成功,但是visdom一直蓝屏,没有显示,而且解决办法也不太容易查到。以前遇到问题没有总结的习惯,也不太会用CSDN写东西,但是想从今天开始使用CSDN记录一下学习中的问题,不求排版有多好,毕竟目前时间有限,只是想做一个记录,如果以后在遇到同样的或者类似的问题可以返回来看一看,不用再次从网上查一堆资料了。我使用的是ubuntu1804+python,以下是安装及使用中遇到的问题:平常习惯使用con

2021-04-29 23:16:54 1431 1

空空如也

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

TA关注的人

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