![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 91
一只帅气的小菜鸡
这个作者很懒,什么都没留下…
展开
-
深度学习之OCR识别
写在前面,最近两天在做ocr识别相关内容,趁有时间来记录一下。本文的代码是基于Pytorch框架mobilenetv3基础网络的CRNN+CTC网络实现文字检测与识别介绍文字识别也是图像领域一个常见问题。然而,对于自然场景图像,首先要定位图像中的文字位置,然后才能进行识别。所以一般来说,从自然场景图片中进行文字识别,需要包括2个步骤:文字检测:解决的问题是哪里有文字,文字的范围有多少文字识别:对定位好的文字区域进行识别,主要解决的问题是每个文字是什么,将图像中的文字区域进转化为字符信息。在原创 2020-12-18 15:00:28 · 3718 阅读 · 3 评论 -
深度学习之学习率退火的六种调整策略
记录下SGD优化时几种常见的学习率调整策略,方便后续使用PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorch提供的学习率调整策略分为三大类,分别是a. 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火CosineAnnealing。b. 自适应调整:自适应调整学习率 ReduceLROnPlateau。c. 自定义调整:自定义调整学习率 LambdaLR。1 等间隔调原创 2020-12-10 14:28:55 · 4864 阅读 · 0 评论 -
深度学习之权重初始化
四种权重初始化方法:把w初始化为0对w随机初始化Xavier initializationHe initialization把w初始化为0:缺点:因为如果把w初始化为0,那么每一层的神经元学到的东西都是一样的(输出是一样的)。在梯度回传阶段,同一层内的所有神经元都是相同的,这样的话神经网络就没有意义了,相当于每一层只有一个神经元。因为在前项传播时,同层的所有神经元都相同,w也相同,在回传计算的梯度时,w的梯度也相同,同层内的神经元同步更新,数值都一样。对w随机初始化原创 2020-08-10 22:29:15 · 605 阅读 · 0 评论 -
语义分割之图像经镜像、翻转、裁剪后像素点的位置映射
1. 问题标注完数据之后,因为数据量太小经常会做一些数据增广,但是经过旋转等操作之后,原先标注的坐标就不再准确,需要重新标注。2. 解决通过计算原标注的边界点随图像增广后的映射位置,可以解决重新标注的问题。3. 实现#1.图像水平翻转,对应坐标映射 def mirror_position(height,width,x,y): #height/width:为图片的高和宽;x/y为像素...原创 2020-05-03 20:57:21 · 1313 阅读 · 1 评论 -
目标检测之经典算法解读(rcnn系列、YOLO系列、SSD系列)
1. Faster rcnn一文读懂faster rcnn代码详解之网络结构代码阅读小结shared convolutional layers【输入图片大小:600∗800600*800600∗800,输出feature map 大小:38∗5038*5038∗50】使用ResNet的conv1到conv4_x部分,提取输入图片特征,得到的conv_feat特征将输入至RPN网络和R...原创 2020-01-31 21:57:37 · 4048 阅读 · 0 评论 -
语义分割之原图与mask的可视化
目的语义分割中,标注或由其产生的mask与原图可以正确匹配,是训练模型的前提。接下来介绍1种可视化方法,可以直观且方便的check匹配的正确性。实现原图(我把gt打印出来了,没影响):mask:代码:imgfile = 'image.jpg' #原图路径pngfile = 'mask.png' #mask路径img = cv2.imread(imgfile, 1)mask ...原创 2020-05-02 21:41:18 · 5179 阅读 · 0 评论 -
语义分割之PointRend论文与源码解读
参考:https://zhuanlan.zhihu.com/p/98508347?utm_source=qq存在问题:一般的语义分割网络,在得到一定分辨率的mask之后,都会直接插值回原像素尺寸,这会导致回插的物体边缘像素十分不准确。以MaskRCNN举例,由于计算量和显存的原因,对于每一个ROIAlign之后的proposal我们一般只会upsample到28*28的分辨率的mask,这...原创 2020-04-08 10:35:03 · 3438 阅读 · 87 评论 -
语义分割之评价指标MIoU介绍
预备知识我们在进行语义分割结果评价的时候,常常将预测出来的结果分为四个部分:True Positive,False Positive,True Negative,False Negative,其中negative就是指非物体标签的部分(可以直接理解为背景),那么显而易见的,positive就是指有标签的部分。下图显示了四个部分的区别:在图上可以清晰的看到,prediction图被分成四个部分...原创 2020-03-29 14:37:29 · 4874 阅读 · 2 评论 -
语义分割之Deeplabv3源码解读
写在前面,本文的代码是基于resnet50基础网络的预备知识本文提到的output_stride来源于deeplabv3论文,指的是(输入图像的分辨率/特征图的分辨率),可以看出,output_stride越大,说明特征图越小,每个特征图网格包含的原图像素越多,越高层。【论文中resnet50对应 8, resnet101对应16】ResNet50ResNet50包括一个Init Bloc...原创 2020-03-18 23:39:52 · 1515 阅读 · 22 评论 -
语义分割之VOC2012、Cityscapes数据集介绍
PASCAL-VOC2012数据集介绍官网: 参考数据集下载地址:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tarVOC2012数据集分为20类,包括背景为21类,分别如下:Person: personAnimal: bird, cat, cow, dog, horse, sheep...原创 2020-03-16 23:06:12 · 3881 阅读 · 0 评论 -
目标检测之Mtcnn网络详解(人脸检测)
本文记录了学习MTCNN的一些细节,参考Mtcnn的预测过程(大体流程介绍)这是论文中的原图,揭示了MTCNN预测时的主体流程,主要分为4个部分:图像金字塔、PNet、RNet、ONet首先对test的图片进行resize,得到图片金字塔。按照resize_factor(如0.709,这个具体根据数据集人脸大小分布来确定,基本确定在0.70-0.80之间会比较合适,设的比较大,容易...原创 2020-03-03 16:47:50 · 1199 阅读 · 0 评论 -
深度学习之Loss不下降原因分析篇
Train & Test Losstrain loss 不断下降,test loss不断下降,说明网络仍在学习;train loss 不断下降,test loss趋于不变,说明网络过拟合;train loss 趋于不变,test loss不断下降,说明数据集100%有问题;train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目;t...原创 2020-03-02 15:17:36 · 6369 阅读 · 3 评论 -
深度学习之浅谈全连接层
参考:https://www.zhihu.com/question/41037974全连接层全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的特征空间表示映射到样本标记空间的作用。在实际应用时,可以通过卷积操作实现。比如,将7x7x512...原创 2020-03-02 11:08:09 · 1088 阅读 · 0 评论 -
深度学习之卷积、全连接、反卷积等
参考1:https://zhuanlan.zhihu.com/p/32819991参考2:代码实现原创 2020-03-02 10:31:34 · 669 阅读 · 0 评论 -
深度学习之激活函数篇(Sigmoid、tanh、ReLU、PReLU)
常用激活函数(激励函数)理解与总结激活函数的区别与优点梯度消失与爆炸1. 激活函数是什么?在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(又称激励函数)。2. 激活函数的用途如果不用激活函数,每一层的输入都是上一层输出的线性函数,而多层线性函数与一层线性函数的功能是等价的,网络的逼近能力就相当有限,因此引入非线性函数作为激励函数,使得深层神经...原创 2020-02-03 16:27:38 · 2056 阅读 · 0 评论 -
深度学习之Image captioning的评分指标篇(BLEU、CIDEr)
BLEU参考:https://www.cnblogs.com/by-dream/p/7679284.htmlBLEU 采用一种N-gram的匹配规则+召回率+惩罚因子组合方式。N-gram当N=1时,一般用来判断文字生成的准确性,234用来判断生成文本的流畅性。原文:今天天气不错机器译文:It is a nice day today人工译文:Today is a nice day如...原创 2020-02-29 16:45:47 · 5965 阅读 · 3 评论 -
深度学习之常用优化方法篇
写在前面,此文记录常用的优化算法包括:随机梯度下降(SGD),Momentum算法,AdaGrad算法,Adadelta算法,Adam算法,牛顿法和拟牛顿法(包括L-BFGS参考1:https://www.cnblogs.com/ljygoodgoodstudydaydayup/p/7294671.html参考2:https://blog.csdn.net/qsczse943062710/ar...原创 2020-02-28 16:12:16 · 438 阅读 · 0 评论 -
深度学习之RNN、LSTM、GRU篇
写在前面,作为RNN篇学习的记录参考1:https://blog.csdn.net/mpk_no1/article/details/72875185参考2:https://blog.csdn.net/lreaderl/article/details/78022724RNN( Recurrent Neural Networks循环神经网络)循环神经网络的主要用途是处理和预测序列数据,在全连接...原创 2020-02-28 10:25:05 · 786 阅读 · 0 评论 -
目标检测之SSD数据处理、训练与预测流程记录
写在前面:本文不详细介绍SSD,只记录一些大体流程,具体细节可见参考1,换用数据集训练SSD可见参考2参考1:SSD代码细节讲解参考2:SSD换数据集训练给定图片如何得到对应的GTSSD网络若指定了先验框的minsize和maxsize,则整个图片的所有先验框位置均固定。拿300SSD来说,可以得到8372个位置确定的先验框(存于model_data/prior_boxes_ssd300...原创 2020-02-19 18:25:59 · 987 阅读 · 0 评论 -
轻量化神经网络篇(SqueezeNet、Xception、MobileNet、ShuffleNet)
写在前面:此文只记录了下本人感觉需要注意的地方,不全且不一定准确。详细内容可以参考文中帖的链接,比较好!!!最近看的轻量化神经网络:SqueezeNet、Xception、MobileNet、ShuffleNet时间轴2016.02 伯克利&斯坦福提出 SqueezeNet2016.10 google提出 Xception2017.04 google提出 MobileNet2...原创 2020-02-16 10:59:32 · 2512 阅读 · 1 评论 -
经典卷积神经系列(Inception v1\v2\v3\v4、ResNet、ResNext、DenseNet、SENet)
经典卷积神经网络原创 2020-01-22 23:29:59 · 2847 阅读 · 1 评论