
文献阅读
文章平均质量分 62
薛定谔的智能
这个作者很懒,什么都没留下…
展开
-
从attention到Transformer+CV中的self-attention
1.Position encoding其也叫做Position embedding,由于Transformer模型没有使用RNN,故Position encoding(PE)的目的就是实现文本序列的顺序(或者说位置)信息而出现的。代码实现如下:输入batch内的词位置,输出是batch内的每个词的位置embedding向量.class PositionalEncoding(nn.Module): def __init__(self, d_model, max_seq_len):原创 2020-10-23 17:17:32 · 2963 阅读 · 1 评论 -
利用dbnet分割条形码与文字(代码+模型)+知识蒸馏+tensorrt推理+利用pyzbar和zxing进行条形码解析
1.安装环境:apt-get install zbar-toolsapt-get install python-jpypepip install pyzbarpip install zxing2.代码案例#coding:utf-8import pyzbar.pyzbar as pyzbarimport timeimport shutilimport zxingimport cv2def parse_code(codeimg, reader): """ .原创 2020-07-08 10:25:42 · 3490 阅读 · 0 评论 -
RNN知识+LSTM知识+encoder-decoder+ctc+基于pytorch的crnn网络结构
一.基础知识:序列特点就是某一步的输出不仅依赖于这一步的输入,还依赖于其他步的输入或输出.1.RNN:xt不止与该时刻输入有关还与上一时刻的输出状态有关,而第t层的误差函数跟输出Ot直接相关,而Ot依赖于前面每一层的xi和si,?≤?i≤t,故存在梯度消失或梯度爆炸的问题,对于长时序很难处理.所以可以进行改造让第t层的误差函数只跟该层{si,xi}有关.2.LSTM:传统R...原创 2019-09-14 11:58:34 · 5380 阅读 · 0 评论 -
MSE与FC作用
一.MSE作用在做super resolution的时候,如果用MSE,做出来的图片会非常的模糊,就是因为MSE是基于高斯分布假设,最后的结果会尽可能地靠近高斯分布最高的地方,使得结果不会太sharp。二.FC作用转载:为什么回归问题用MSE?全连接层的作用是什么?...转载 2022-04-12 15:32:12 · 353 阅读 · 0 评论 -
RepVGG
论文链接一.背景:现在的一些复杂模型虽然有很高准确度,但是缺点也很明显:1.多分支,带来了速度的减慢和降低显存的使用率;2.Mobilenet虽然采用可分离卷积.shufflenet采用分组卷积,带来了flop降低,但是却增加了内存的访问成本(MAC)二.网络结构1. 模型RepVGG在train和inference和ResNet的差异,可看出train时除了引入残差分支和1*1卷积分支,同时为了方便参数化重构,没有跨层连接.2. 3*3卷积核优势在N卡和MKL等原创 2021-03-05 11:23:06 · 956 阅读 · 2 评论 -
AN IMAGE IS WORTH 16X16 WORDS :TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE(VIT)
最近看transformer用于CV比较热门,特意去进行了解,这里用分类的一篇文章进行讲解。NLP中的transformer和代码讲解参考我另一篇文章。论文链接:AN IMAGE IS WORTH 16X16 WORDS :TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE一.思想其实核心问题就是考虑如何把图像数据H*W*C,序列化成一个一个词那种结构,自然就想到将图片crop成一个一个patch,假设有N个patch,维度为p*p*C,reshape加c原创 2020-12-24 14:16:49 · 10055 阅读 · 0 评论 -
水印去除(基于nosie2noise优化 代码+模型)
github链接针对noise2nosie进行改造:1.加深网络,使用空洞卷积;2.修改loss函数.class L0Loss(nn.Module): """High dynamic range loss.""" def __init__(self, eps=1e-8, nb_epochs=10): """Initializes loss with numerical stability epsilon.""" super(L0Loss,原创 2020-10-30 17:35:02 · 6716 阅读 · 0 评论 -
CPNDet:Corner Proposal Network for Anchor-free, Two-stage Object Detection
论文链接一.背景anchor-based方法将大量框密集分布在feature map上,在推理时,由于预设的anchor与目标差异大,召回率会偏低。而anchor-free不受anchor大小限制,在任意形状上会更加灵活,但是像CornerNet,先进行角点检测,将有效的角点枚举组合成大量候选预测框,容易带来大量的FP。FCOS需要回归关键点到边界的距离,对于长宽大的物体也比较难以预测。二.网络介绍1.网络结构Stage 1: Anchor-free Proposals.原创 2020-11-13 14:56:18 · 559 阅读 · 0 评论 -
CenterNet:Objects as Points
CenterNet论文链接一.背景1.anchor-base缺点 (1).anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定,难度较大.(2).anchor太过密集,其中很多是负样本,引入了不平衡.(3).anchor的计算涉及IOU增加计算复杂度.2.应用场景(1).目标检测(2).3D定位(3).人体姿态估计二.网络介绍输出分支主要由三部分组成(1)heatmap,大小为(W/4,H/4,C),输出不同类别的物体中心原创 2020-11-09 16:29:14 · 397 阅读 · 0 评论 -
CornerNet: Detecting Objects as Paired Keypoints
CornerNet论文链接Hourglass Network论文链接一.背景1.anchor-base缺点 (1).anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定,难度较大.(2).anchor太过密集,其中很多是负样本,引入了不平衡.(3).anchor的计算涉及IOU增加计算复杂度.二.网络介绍1.网络结构网络总共有两个分支,一个分支有三个输出,主要包含heatmap,embedding,offsets.2.网络推理原创 2020-11-06 14:08:02 · 278 阅读 · 0 评论 -
FCOS: A Simple and Strong Anchor-free Object Detector
一.anchor-base缺点 1.anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定,难度较大.2.anchor太过密集,其中很多是负样本,引入了不平衡.3.anchor的计算涉及IOU增加计算复杂度.二.回归方式anchor-based回归方式在于回归anchor与gt框之间的偏移量,而fcos回归的是上下左右距离....原创 2020-11-04 11:54:04 · 1333 阅读 · 0 评论 -
pytorch实现常用的一些即插即用模块(长期更新)
1.可分离卷积#coding:utf-8import torch.nn as nnclass DWConv(nn.Module): def __init__(self, in_plane, out_plane): super(DWConv, self).__init__() self.depth_conv = nn.Conv2d(in_channels=in_plane, out_ch原创 2020-09-18 08:59:52 · 3392 阅读 · 3 评论 -
生成高斯热力图(craft中有使用)+2d heatmap+3d heatmap
from math import expimport numpy as npimport cv2import osclass GaussianTransformer(object): def __init__(self, imgSize=512, region_threshold=0.4, affinity_threshold=0.2): distanceRatio = 3.34 scaledGaussian = la.原创 2020-06-04 10:26:21 · 5448 阅读 · 4 评论 -
ctpn论文阅读与代码
代码地址:1.通用的目标检测是封闭的,而文字是封闭且连续2. 构造一系列宽度相等的小文本,回归中心y坐标和高度3. 对于边界回归x坐标,在进一次修正4.整个模型就是backbone提取特征,将每个像素点的相邻3*3像素拉成行向量,利用空间信息,在进入lstm提取时序信息进行分类与回归.5.文本构建算法将每个相邻竖直文本框进行合并6.一些中间过程...原创 2020-05-23 17:09:06 · 415 阅读 · 0 评论 -
GIOU loss+DIOU loss+CIOU loss
1.GIOU解决没有交集的框,IOU为0,其损失函数导数为0,无法优化的问题。图1GIOU,IOU,l2范数差异a)可看出 l2值一样,IOU值是不一样的,也就是l2对于尺度不具有不变性b)可看出当框有包含关系,GIOU就退化为IOU其是找到一个最小的封闭形状C,让C可以将A和B包围在里面,然后我们计算C中没有覆盖A和B的面积占C总面积的比例S.GIOU = IOU- S可看出,GIOU<=IOU图2 GIOU 计算公式GIOU的损失函数算法:...原创 2020-05-19 15:41:42 · 1136 阅读 · 0 评论 -
SSD300网络结构(pytorch)+多尺度训练与测试
一.如图是预测框的相应feature map其中anchor的长宽关系,s就是上图中的scale,a就是上图中的anchor ratio二.代码主要由三部分组成1.vgg作为基础网络要注意的是作者对38*38*512进行L2正则化,并用一个可学习参数调节通道权重2.增加大目标检测网络3.输出包括预测框的偏移量输出与分类偏移量计算误检...原创 2020-03-15 09:21:17 · 7010 阅读 · 0 评论 -
resnet系列+mobilenet v2+pytorch代码实现
一.mobilenet v21.采用inverted residual,与resnet不一样的是通道1X1卷积先变宽->卷积提特征->1X1卷积变窄,因为经过1x1的卷积扩大通道数以后,可以提升抽取特征的能力,图1所示。2.最后不采用Relu,而使用Linear代替,因为降维后特征丢失部分,如果采用Relu还会丢失,图2所示. 图1 inver...原创 2019-11-06 17:12:23 · 2646 阅读 · 4 评论 -
CNN分类,ResNet V1 ,ResNet V2,ResNeXt,DenseNet
一.CNN分类1.基于空间利用的CNN2.基于深度的CNN3.基于多路径的CNN4.基于宽度的多连接5.基于特征图的CNN6.基于通道的CNN7.基于注意力的CNN二,ResNet V12015 ILSVRC 第一论文指出归一化包括BN,权重初始化已经很大程度解决了梯度消失和爆炸的问题,所以单纯一层一层叠加的深层网络效果不好是由于网络退化的原因...原创 2019-04-17 20:59:07 · 1265 阅读 · 0 评论 -
L1/L2/smooth_l1_loss/center_loss+Dice Loss+focal loss+各种IOU loss+kl散度
函数:def smooth_l1_loss(y_true, y_pred): """Implements Smooth-L1 loss. y_true and y_pred are typically: [N, 4], but could be any shape. """ diff = tf.abs(y_true - y_pred) less_th...原创 2018-10-16 16:58:15 · 8907 阅读 · 0 评论 -
检测系列--YOLO系列
截图来自小象学院ppt,若侵权联系我删除开头语:RCNN系列,需要区域候选框,即便最后是多任务损失函数,但回归和分类各是一块是很明显的,而yolo要把分类问题转换成回归,这样的話就全是回归。一,yolo v11,介绍,此时输入size要一致448*4482,框架,googlenet作为主干网络,但注意经过了一些改进,并没有用到多通路做法3,红色箭头是经改进的goog...原创 2018-10-07 21:19:29 · 819 阅读 · 0 评论 -
卷积在计算机中实现+pool作用+数据预处理目的+特征归一化+理解BN+感受野理解与计算+梯度回传+NMS/soft NMS
一.卷积在计算机中怎么实现将其存入内存当中再操作(按照“行先序”):这样就造成混乱.故需要im2col操作,将特征图转换成庞大的矩阵来进行卷积计算,利用矩阵加速来实现,牺牲了空间.而对于1x1卷积,按照原始储存结构和im2col存储结构计算是一样的,故1x1卷积不需要im2col的过程,所以底层可以有更快的实现,大大节省了数据重排列的时间和空间。如下图所示:二....原创 2019-04-21 15:15:01 · 3390 阅读 · 0 评论 -
RetinaNet+focal loss
one stage 精度不高,一个主要原因是正负样本的不平衡,以YOLO为例,每个grid cell有5个预测,本来正负样本的数量就有差距,再相当于进行5倍放大后,这种数量上的差异更会被放大。文中提出新的分类损失函数Focal loss,该损失函数通过抑制那些容易分类样本的权重,将注意力集中在那些难以区分的样本上,有效控制正负样本比例,防止失衡现象。其中用于控制正负样本的数量失...原创 2019-06-26 22:13:53 · 5380 阅读 · 0 评论 -
Xception,Inception-ResNet,SENet(Squeeze-and-Excitation)
一,XceptionXception是在InceptionV3基础上修改的,主要引入了深度可分离卷积,将空间和通道的操作进行解耦合。与“extreme” Inception两个区别:1,1×1卷积的顺序,Xcption用于3×3之后,而Inception用于之前2,Xception在1×1和3×3之后都没用relu,而Inception都用了。3*3做空间相关性,1×1做通...原创 2019-04-24 21:44:15 · 676 阅读 · 0 评论 -
Deep Alignment Network(人脸对齐)
一,DAN由于使用了关键点热力图的可视化信息,故可以将整张图输入网络。网络分为多个阶段(STAGE),每个阶段的结构都是相同的(STAGE 1除外)。第一阶段的输入仅有原始图片,和S0。面部关键点的初始化即为S0,S0是由所有关键点取平均得到。每个STAGE都由前馈网络和connection层组成。前馈网络用来估计特征点的位置,connection层生成下一个STAGE的输入。connec...原创 2019-04-27 22:23:17 · 1877 阅读 · 0 评论 -
检测系列--RCNN系列
截图来自小象学院ppt,若有侵权,联系我删除一,RCNN框架:1,selective search2,区域预处理,尺寸缩放到227×2273,利用Alexnet(去掉最后分类层,4096维向量),做特征提取,一个物体一个SVM分类,(当时认为SVM比softmax分类好)bounding box回归4,正负样本选择方法全连接层最后一层换成分类数+背景,I...原创 2018-10-05 21:12:01 · 509 阅读 · 0 评论