自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SSD和CenterNet

SSD,Center NetSSD并不像Yolo一样满地开花,比较像一个孤岛。虽然在初期有比较惊艳的表现,但是在发育上明显落后Yolo,被人家甩飞了,但是毕竟也是目标检测元老级的人物,还是需要在学习笔记上留下它的身影才可以。上图是SSD的网络结构图,从图上可以知道,BBox的输出是多尺度的,每一层的feature map都有输出。不像之后的Yolo,只有固定的输出层有输出。在SSD里面,低层预测小目标,高层预测大目标。设置的anchor数量还是比较多的,所以对不同大小的目标检测效果比较好

2021-07-09 22:16:02 912 1

原创 Transformer超详细整理

先普及一些NLP基本概念,也给自己提个醒。tokenization指的是分词,分出来的每一个词语叫做token。文本向量化,转化成vector(一般不用one-hot,文本很多就完蛋了)word-embedding:使用了浮点型的稠密矩阵表示token,根据词典大小,向量会使用不同的维度,可以是100,256,300等等。向量中每一个值是个超参数,初始的时候是随机生成的,之后会在训练的过程中进行学习而获得。能够比one-hot表示减少大量的空间。可以把文本转化成向量,句子也可以。一般来说会先用toke.

2021-06-29 18:59:00 1916

原创 机器学习面试题整理-决策树系列+逻辑回归

机器学习面试题整理-决策树系列+逻辑回归一般的矩阵不一定能够对角化,但是对称矩阵一定可以对角化。特别是对称正定矩阵,得到的λ都是正数。正定矩阵压缩的表示最小是n+1.注意对角化的公式,正定对称矩阵对角化之后得到的矩阵是对称正定矩阵。如果不是对称矩阵,可以进行SVD分解,得到对角元素。它的压缩存储最小需要m+n+1,当然,这个是有损压缩。伪逆矩阵,一般来说不是可逆矩阵。伪逆矩阵如果要变成可逆矩阵可以加正则化。无约束优化:梯度下降,牛顿法。牛顿法适合在接近于极值点的时候使用收敛比较快。牛顿法是二次收

2021-06-28 20:46:52 566

原创 DeepLab全家桶小结

目标分割经过了FCN->U-net->U-net++等等的迭代之后,出现了一个通过改良VGG网络融合机器学习方法CRF得到的全新网络DeepLab。然而,为了让网络能够更加简洁,使用推广起来更加方便,作者又放弃了可解释性强的CRF方法,把整个网络变成了一个end2end的全深度学习网络。目标分割网络的迭代过程也是令人心潮澎湃,值得好好的学习和整理,为将来的论文改进提供思想上的指导。在进行DeepLab的介绍之前,我想先讲一下空洞卷积和感受野的计算方法,在这两个概念明确了之后,我们能够更好的..

2021-06-19 16:33:19 414

原创 Unet演化系列大整理

Unet演化系列大整理:Unet是学习语义分割不可缺少的一个网络。它的对称美和简洁一直能够震撼人心。主要摘要和前人工作:作者发现,要进行分割任务需要很多的标注好的图片,然而标注图片是一个费时费力的过程。他提出了一个strong use of data augmentation方法能够更好的利用现有的数据。这个网络更主要是用在医疗图像分割方面。作者说道了一个sliding-window模型。这个模型通过形成patch(其实就是通过不同大小的卷积核吧,当做滑动窗口)来对每一类像素进行预测。然而,这

2021-06-12 20:46:46 10861 1

原创 FCN详解

FCN大总结:FCN虽然是一篇现在来看比较简单的一个网络结构,但是却能够连年在应用量上霸榜。现在我们就来一窥究竟。在深入了解FCN之前,还是需要对转置卷积进行一个比较充分的总结,这样在理解网络结构的时候会好受得多。转置卷积:转置卷积其实用一句话来概括就是普通卷积重新排列的矩阵和要卷积的拉平之后的feature map进行矩阵相乘得到的。这句话很绕,可以慢慢解释。例如上面的卷积,可以对卷积核进行矩阵重排,变成下面的矩阵:把要拉平的feature map拉平之后矩阵相乘转.

2021-04-21 16:30:49 8303 1

原创 图像的上采样整理

图像的上采样整理:图像的上采样其实也是一个非常重要的概念,它会应用在分割的图像场景中。图片分割的各种分割的概念很容易混淆,在这里稍微整理一下语义分割:语义分割更像是分类,只不过分类的最小的单位是像素而已。它把各种物体分类出来用不同的颜色进行标记。这应该是分割中比较简单的吧实例分割:就只分割车或者人等实体,没有对背景进行分割。全景分割:这个是最难的,不仅要把每一个类别分出来,每一个类别对应的个体也要用不同的颜色进行标记。要分割一张图片的所有区域,这是非常难的。上采样技术:

2021-04-18 12:21:28 1101

原创 目标检测 One Stage Detection(Yolo 系列下)

目标检测 One Stage Detection (Yolo系列下)因为YoloV4信息量其实是比较大的,但是创新点确实是比较少。所以把它单独拿出来讲。其中还有很多的优化和网络参数的调节技巧。YoloV4:很可惜,Joe Sir退出了CV界,虽然Yolo系列仍然在更新,但是还是不免有些寂寞了。YoloV4的更新主要是有以下几个方面:数据増广方面,还有模型Module方面,把CBN改成了CmBN,小改了一下SAM和PAN,之后加了各种trick。数据増广:1. Mixup:其实就是.

2021-04-09 09:17:13 262

原创 目标检测 One Stage Detection(Yolo 系列上)

目标检测 One Stage Detection (Yolo系列上)在CNN出现之后,人工智能的研究被推向了高潮,其中图片分类和目标检测也飞速发展。在目标检测领域,首先兴起的是以RCNN系列为代表的两阶段检测(Two Stage Detection)方法。最初的RCNN其实是传统计算机视觉算法和深度学习的结合。它首先用传统的select search算法提取2000个左右的特征图像块(region proposel),之后用CNN提取到图像特征,最后用包含(支持向量机)SVM分类器和目标选框回归(bb.

2021-04-07 23:53:37 406

原创 目标检测 Two Stage Detection(RCNN 系列)

目标检测 Two Stage Detection(RCNN 系列)在没有CNN的时期,人们进行目标检测一般选择Sift/Hog/Orb等传统方法提取特征,在检测的时候用SVM等传统的分类器进行分类和选框回归,然而有了CNN之后,只要有输入就可以自动得到结果,使得我们只需要关心CNN模型的搭建,不需要关心如何人工提取特征,筛选特征。最终搭建模型变成下图所示的工作。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9lry9kJO-RCNN开启了两阶段目标检测的新.

2021-04-07 12:51:44 301

原创 pytorch中的代码封装整理

接下来大部分的blog都会是代码的整理数据集的实现:import osimport randomfrom PIL import Imagefrom torch.utils.data import Datasetfrom torch import nn# 主要要记住代码的主要结构# 设定标签:Dog_Cat_label = {"dog":0, "cat":1}# 注意要继承Dataset父类class DogCatDataset(Dataset): # 主要目的:进行tran.

2021-03-21 22:24:39 1201 1

原创 Loss大集合来了,一次看到饱

Loss 大集合:pytorch中Loss的基类是_Loss,源码如下:CrossEntropyLoss:ignore_index :忽略某个类别weight :各类别的 loss 设置权值reduction -> none 逐个元素计算 | sum 所有元素求和,返回标量 | mean加权平均,返回标量先进性LogSoftMax,之后进行NLLLoss计算def cross_entropy(input, target, weight=None, size_average=No

2021-03-21 15:06:13 531

原创 手推机器学习终于来啦

终于推导完成了。

2021-03-18 15:29:35 110 1

原创 正则化方法一篇就够了

你应该知道的正则化方法:L1,L2 正则化:在模型训练的时候,会产生一定的误差。误差其实就是偏差,方差和噪声之和。偏差表示算法的期望与真实值的偏差程度,偏差大通常是因为欠拟合导致的。方差表示数据集的变动导致学习性能的变化,换句话说,就是用来衡量模型在测试集的拟合能力的,方差大通常导致过拟合。噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,就是说,模型最好的情况就是放弃拟合那些噪声,但是却拟合了所有正常的特征的意思。用图表表示以上关系:Regulari

2021-03-17 22:30:29 3748

原创 超多注释助你手撕LeetCode(一)

超多注释助你手撕LeetCode(一)链表复习:Leetcode-86-分隔链表使用两个链表,一个用于插入小于x的元素,一个用于插入大于等于x的元素,最后合并两个链表即可。// 把链表分成大小两条单链表,之后再连接起来就可以了// 用两个头,一个小,一个大class Solution {public: ListNode* partition(ListNode* head, int x) { // 分别用来存储大数和小数 // r1和r2是为了让指针

2021-03-17 14:42:23 196

原创 微耗算力不改结构增加准确度大法来了

微耗算力不改结构增加准确度大法来了CBAM: Convolutional Block Attention Module介绍:在这篇文章中,作者主要在两个卷积feature map之间增加了由(CAM) Channel Attention Module和(SAM)Spatial Attention Module构成的小shortcut类似的网络,虽然使得网络变宽了,但是计算量在大多数情况下是可以忽略不计的。而且最重要的是,这个模块是一个即插即用的模块,只要在CNN的feature map之间都是可以

2021-03-16 00:38:19 399

原创 超多注释助你手撕指针与链表

超多注释助你手撕指针与链表结构体也叫做更复杂的结构类型,只要类型能够做的事情,结构体也能做struct person{ char name[20]; int age; char gender; float height;}struct person Yu; struct person *p;p = &Yu;直接引用:Yu.name间接引用:p->name所以复杂结构体能够用指针间接访问,可以用变量直接访问结构体以所占空间最大的作为对齐,.

2021-03-16 00:33:06 140

原创 必须知道的神经网络的一些重要部分

必须知道的神经网络的一些重要部分初始化方法:初始化的原则:模型的收敛速度和效果和初始化的相关性是不可忽视的。如果有了一个好的初始化的值,模型的收敛很可能会更快,效果会更好。如果初始化参数不好的话,就可能会上梁不正下梁歪,轻则模型收敛速度慢,重则模型退化,效果堪忧。比如,当你把所有卷积和权重的初始化都变成0的时候,通过loss反向传播的时候你会发现,对称位置的参数更新值相同,甚至所有的参数更新出来的值都是一样的。这就使得模型严重退化,效果如何不言自明。例如以下神经元:对于这个神经元

2021-03-14 19:10:32 146

原创 ResNet论文详解

ResNet论文详解文章概述:这是一个在ImageNet detection, ImageNet localization,COCO detection, and COCO segmentation都包揽冠军的网络。在它之前的网络的主要目标是为了使得loss减小,拟合目标值,而resnet主要的思想是拟合残差,在module之间添加了一个shortcut,使得网络的梯度不会消失,而且训练的时候效果也会更好。在加上了shortcut的同时,其实相当于模型的融合,数据走过不同通道相当于不同模型的.

2021-03-14 19:06:52 1792 1

空空如也

空空如也

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

TA关注的人

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