深度学习(DL)
aift
不破楼兰终不还!
展开
-
“反向传播算法”过程及公式推导(超直观好懂的Backpropagation)
自己学习机器学习,深度学习也有好长一段时间了,一直以来都想写点有价值的技术博客,以达到技术分享及记录自己成长的目的,奈何之前一直拖着,近来算是醒悟,打算以后不定时写一写博客,也算是作为自己不断学习,不断进步的记录。既然是写博客,希望自己的博客以后要做到“准确、生动、简洁、易懂”的水平,做到对自己、对读者负责,希望大家多交流,共同进步!言归正传,想起当时自己刚入门深度学习的时候,当时对神经网络的“...原创 2019-05-15 11:37:33 · 193678 阅读 · 290 评论 -
Kaggle: SIIM-ACR Pneumothorax Segmentation 比赛记录(银牌)Top 5%
文章目录记事SIIM是19年暑假的一个比赛了,当时拿了银牌,这篇博客是赛后自己做的总结和笔记。现在分享出来。记事随着 Kaggle: SIIM-ACR Pneumothorax Segmentation 接近尾声,我感觉有必要写一篇 blog 来记录一下这两个月的比赛经历,顺便总结一下经验。刚开始的时候想着这不过是一场普通CV类的比赛而已,肝一肝就能上金牌。但现实狠狠地打了我的脸。最初三天...原创 2020-03-20 21:15:23 · 1089 阅读 · 3 评论 -
PAN解读 —— Efficient and Accurate Arbitrary-Shaped Text Detection with Pixel Aggregation Network
文章目录简述网络结构BackboneSegmentation Head简述本文介绍的是一个“Face++ ”在今年8月份刚刚发在ICCV 2019上面的论文——PAN(像素聚合网络),这是一篇文字检测方面的论文,其达到了目前文字检测的最好效果。之前在CVPR 2019上发的PSENet是之前效果非常好的文本检测算法,PAN的作者还是之前PSENet算法的原班作者,所以说我们可以把PAN看做是...原创 2019-10-23 22:26:19 · 6260 阅读 · 6 评论 -
SSD学习总结
文章目录简介创新点采用多尺度特征图用于检测采用卷积进行检测设置先验框网络结构训练过程先验框匹配策略损失函数各种Trick分析References简介这篇文章提出了一个新的目标检测模型SSD,这是一种 single stage 的检测模型,相比于R-CNN系列模型上要简单许多。其精度可以与Faster R-CNN相匹敌,而速度达到了惊人的59FPS,速度上完爆 Fster R-CNN。基于”P...原创 2019-08-07 11:09:59 · 839 阅读 · 0 评论 -
YOLO v3学习总结
别的不说,YOLOv3的论文确实是有意思呀,读论文感觉着实又被大佬虐了一把,强烈推荐阅读。YOLOv3没有太多的创新,主要是借鉴一些好的方案融合到YOLO里面。不过效果还是不错的,在保持速度优势的前提下,提升了预测精度,尤其是加强了对小物体的识别能力。正如作者所说,这仅仅是他们近一年的一个工作报告(TECH REPORT),不算是一个完整的paper,因为他们实际上是把其它论文的一些工作在YO...原创 2019-08-07 02:23:54 · 1526 阅读 · 0 评论 -
YOLO v2学习总结
文章目录简介精度改进Batch NormalizationHigh Resolution ClassifierConvolutional With Anchor BoxesDimension ClustersNew Network: Darknet-19Direct location prediction(直接位置预测)Fine-Grained Features(细粒度特征)Multi-Scale...原创 2019-08-07 02:09:27 · 1294 阅读 · 0 评论 -
YOLO v1学习总结
文章目录简介YOLO v1简介首先题外话,You Only Look Once,这名字我太喜欢了。现在最新的是YOLO v3,不过要讲YOLO v3,需要YOLO v1和YOLO v2做铺垫,所以一并介绍。近几年来,目标检测算法取得了很大的突破。比较流行的算法可以分为两类,一类是基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN, Faster R-CN...原创 2019-08-06 22:46:19 · 567 阅读 · 0 评论 -
Faster R-CNN学习总结
文章目录简介网络结构Fast R-CNNRPNAnchorsProposals生成损失函数References简介本文假定读者已经有了一定的目标检测的预备知识,否则请戳博客卷积神经网络总结及R-CNN系列目标检测算法总结(应该还不错,欢迎戳~)。本文将对Faster R-CNN中的关键点进行介绍,其它特别细节的点还是推荐阅读论文。注:本文参考了很多其他文章,最后均给出了链接,感谢分享。Fa...原创 2019-08-06 20:27:10 · 752 阅读 · 0 评论 -
Mask R-CNN学习总结
额。。。。大佬写得好到炸(强烈推荐!),实在没必要徒劳,故转载,,,,灰常灰常感谢各位大佬。。。。。不断更新目标检测和语义分割的文章,感兴趣的请关注我。令人拍案称奇的Mask RCNN最近在做一个目标检测项目,用到了Mask RCNN。我仅仅用了50张训练照片,训练了1000步之后进行测试,发现效果好得令人称奇。就这个任务,很久之前用yolo v1训练则很难收敛。不过把它们拿来比当然不公平,但我...原创 2019-08-08 22:26:41 · 1734 阅读 · 0 评论 -
U-Net学习总结(附DeepLab v3)
文章目录简介U-NetReferences简介本论文主要亮点:(1)改进了FCN,把扩展路径完善了很多,多通道卷积与类似FPN(特征金字塔网络)的结构相结合。(2)利用少量数据集进行训练测试,为医学图像分割做出很大贡献。这是比较早的论文了,这篇论文比较简单,但是却非常的经典。而且U-Net和之前的FCN很像。总之,U-Net在医学图像分割领域简直是baba一般的存在。U-NetU-N...原创 2019-08-09 20:22:16 · 2298 阅读 · 0 评论 -
PVANet学习总结
文章目录简介网络结构C.ReLUInception structureHyperNet实验过程References简介PVANet: Deep but Lightweight Neural Networks for Real-time Object Detection——是RCNN系列目标方向,其基于Faster-RCNN进行了改进。这是一种轻量级的网络。这篇文章的出发点是改进Faster ...原创 2019-08-09 22:08:43 · 714 阅读 · 0 评论 -
FCN学习总结
文章目录简介网络结构逐像素预测反卷积跳级结构训练结论References简介FCN——Fully Convolutional Networks for Semantic Segmentation是CVPR 2015的论文,其是深度学习应用于图像分割的代表作,作者Oral发表于CVPR 2015。该算法在图像分割问题中应用了当下CNN的几种最新思潮。全卷积网络(FCN)是从抽象的特征中恢复出每个...原创 2019-08-07 21:43:54 · 1302 阅读 · 0 评论 -
Dropout深入理解
文章目录简介What is dropout?How it work?Dropout in neural networksTraining stageTest stageCode implementationSome questionsReferences简介在2012年,Alex、Hinton(大佬们呀)在其论文《ImageNet Classification with Deep Convol...原创 2019-08-14 15:58:50 · 2347 阅读 · 0 评论 -
深度学习中的Normalization总结(BN/LN/WN/IN/GN)
文章目录简介独立同分布(i.i.d)Internal Covariate ShiftBatch-Normalization为什么用BNBN怎么操作InferenceBatchNorm的好处简介在深度学习领域,Normalization用得很多,最近在学习各种Normalization方法的时候颇有感悟和收获,特此记录。BN(Batch Normalization)于2015年由 Google...原创 2019-08-11 18:25:00 · 6933 阅读 · 13 评论 -
YOLO K-means获取anchors大小代码详解
预备知识:应该了解yolo的基本操作,详见YOLO v1,YOLO v2,YOLO v3。首先应该了解yolo标签文件的格式,其格式为:图片的位置 框的4个坐标和1个类别ID (xmin,ymin,xmax,ymax,id) …。示例如下:/home/aift/CV/detect/yolo3-keras-master/VOCdevkit/VOC2007/JPEGImages/000012.jp...原创 2019-08-25 11:56:52 · 912 阅读 · 0 评论 -
IOU及其代码实现
IoU,即Intersection over Union,用于计算两个图的重叠度,用于计算两个标注框(bounding box)之间的相关度,值越高,相关度越高。在NMS(Non-Maximum Suppression,非极大值抑制)或计算mAP(mean Average Precision)中,都会使用IoU判断两个框的相关性。如图:代码实现:def bb_intersection_ov...原创 2019-08-25 16:30:49 · 1673 阅读 · 2 评论 -
目标检测中的mAP及代码实现
文章目录mAP定义及相关概念举例计算mAPmAP定义及相关概念下面只简要介绍必需的基础知识,来自文章及翻译,推荐阅读。mAP: mean Average Precision, 即各类别AP的平均值;AP: PR曲线下面积,后文会详细讲解;PR曲线: Precision-Recall曲线;Precision: TP / (TP + FP);Recall: TP / (TP + FN)...原创 2019-08-22 10:31:52 · 3517 阅读 · 0 评论 -
FPN学习总结
文章目录简介框架解析利用FPN构建Faster R-CNN检测器为什么FPN能够很好地处理多尺度目标总结References简介FPN——Feature Pyramid Networks for Object Detection,其是CVPR 2017年的论文,在多尺度目标检测领域很强!很多多尺度的目标检测算法都采用了FPN作为backbone,很强很常见。作者提出的多尺度的object d...原创 2019-08-08 20:58:26 · 885 阅读 · 0 评论 -
R-FCN学习总结
文章目录简介网络结构Position-Sensitive Score Map解析留坑(懂的老哥希望能不吝赐教)Position-Sensitive Rol Pooling解析简介R-FCN——Object Detection via Region-based Fully Convolutional Networks,这篇文章提出了一种高效简洁的目标检测模型 R-FCN(Region-based...原创 2019-08-08 12:13:31 · 604 阅读 · 0 评论 -
EAST解读 —— An Efficient and Accurate Scene Text Detector
文章目录简述现有工作问题数据集网络结构特征提取层特征合并层结果输出层标签生成损失函数文本分割LossRBOX边界偏移LossRBOX偏移角度损失QUAD偏移LossLocality-Aware NMS实验结果简述EAST是旷视科技CVPR 2017年的一篇场景文本检测算法,其特点有:结构简单,速度快,端到端等,Github上有很好的复现代码,是一种实用性很强的文本检测算法。paper:ht...原创 2019-07-22 18:41:16 · 2570 阅读 · 0 评论 -
CIFAR-10图像分类(基于PyTorch)
数据集介绍CIFAR-10是一个常用的彩色图片数据集,它有10个类别: ‘airplane’, ‘automobile’, ‘bird’, ‘cat’, ‘deer’, ‘dog’, ‘frog’, ‘horse’, ‘ship’, ‘truck’。每张图片都是3×32×323\times32\times323×32×32,也即3-通道彩色图片,分辨率为32×3232\times3232×32。...原创 2019-05-28 18:31:03 · 17373 阅读 · 6 评论 -
基本卷积神经网络(CNN) —— AlexNet,VGG-Net,Inception系列,ResNet,DenseNet等
文章目录概要介绍基本卷积神经网络(CNN)AlexNetZF-NetVGG-NetInception系列Inception-V1:GoogLeNetInception-V2:An Improved Version of Inception-V1Inception-V3:Factorizing NxN into 1xN and Nx1Inception-V4:Inception with skip...原创 2019-06-05 21:41:52 · 5087 阅读 · 0 评论 -
2个3*3卷积核对一个5*5卷积核的替代性分析(或3个3*3卷积核对一个7*7卷积核的替代性分析)
使用更小的卷积核是当前在保证网络精度的情况下,减少参数的趋势之一,在VGG16中,使用了333个3∗33*33∗3卷积核来代替7*7卷积核,使用了222个3∗33*33∗3卷积核来代替5∗55*55∗5卷积核,这样做的主要目的是在保证具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果。以下简单地说明一下小卷积(3∗33*33∗3)对于5×55×55×5网络感知野相同的替代...原创 2019-06-05 21:51:47 · 4003 阅读 · 0 评论 -
1*1卷积核的作用(bottleneck的作用)
上来先说1∗11*11∗1卷积核的作用:特征降维,节省计算量增加模型非线性表达能力举例:因为bottleneck(1∗11*11∗1卷积核)是在2014年的GoogLeNet中首先应用的,所以我们就拿GoogLeNet来举例。在GoogLeNet(2014)之前,网络的设计思路是一直在stack(堆叠)层数,当时的假设是网络越deeper,网络的performance越好。到了2014...原创 2019-06-05 21:59:44 · 14864 阅读 · 0 评论 -
深度学习 —— 调整学习率(finetune)
PyTorch将深度学习中常用的优化方法全部封装在torch.optim中,其设计十分灵活,能够很方便的扩展成自定义的优化方法。所有的优化方法都是继承基类optim.Optimizer,并实现了自己的优化步骤。下面就以最基本的优化方法——随机梯度下降法(SGD)举例说明。这里需重点掌握:优化方法的基本使用方法如何对模型的不同部分设置不同的学习率如何调整学习率# 首先定义一个LeNet...原创 2019-06-12 20:33:20 · 6923 阅读 · 2 评论 -
搭建ResNet
首先,不太了解基础卷积神经网络的同学请先参考这篇博客。搭建ResNetKaiming He的深度残差网络(ResNet)在深度学习的发展中起到了很重要的作用,ResNet不仅一举拿下了当年CV下多个比赛项目的冠军,更重要的是这一结构解决了训练极深网络时的梯度消失问题。首先来看看ResNet的网络结构,这里选取的是ResNet的一个变种:ResNet34。ResNet的网络结构如下左图所示,可...原创 2019-06-12 21:45:41 · 1473 阅读 · 0 评论 -
猫狗二分类实战(PyTorch)
PyTorch实战指南文章目录PyTorch实战指南比赛介绍文件组织架构关于`__init__.py`数据加载模型定义工具函数配置文件main.py训练验证测试帮助函数使用争议References在学习某个深度学习框架时,掌握其基本知识和接口固然重要,但如何合理组织代码,使得代码具有良好的可读性和可扩展性也必不可少。本文不会深入讲解过多知识性的东西,更多的则是传授一些经验,这些内容可能有些争议...原创 2019-06-13 21:40:21 · 15124 阅读 · 15 评论 -
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程
公式首先需要了解CrossEntropyLoss的计算过程,交叉熵的函数是这样的: 其中,其中yi表示真实的分类结果。这里只给出公式,关于CrossEntropyLoss的其他详细细节请参照其他博文。测试代码(一维)import torchimport torch.nn as nnimport mathcriterion = nn.CrossEntropyLos...原创 2019-06-15 11:54:17 · 37747 阅读 · 26 评论 -
深度学习中常用的linux命令
本文主要是记录一下本人在做DL时,在linux上的一些常用的命令。Linux上的很多命令会让我们的工作效率加倍,但由于命令及其参数过多,让人难以记忆。本文仅作为自己的学习笔记,以供未来不时之需。(会不断补充、更新)查看进程运行时间 :ps -p PID -o etime,例如ps -p 13417 -o etimehtop:性能监控软件,top的增强版。nvidia-smi:常用,而且还...原创 2019-06-14 18:10:04 · 1494 阅读 · 0 评论 -
搭建一个简单的神经网络LeNet(基于PyTorch)
文章目录简介神经网络定义网络损失函数优化器数据加载与预处理References简介PyTorch的简洁设计使得它入门很简单,本文将利用PyTorch来搭建一个简单的神经网络(LeNet),在另外一篇博客中,我们将利用本文搭建的神经网络来实现CIFAR-10图像分类问题。神经网络Autograd实现了反向传播功能,但是直接用来写深度学习的代码在很多情况下还是稍显复杂,torch.nn是专门为...原创 2019-06-10 17:53:45 · 2614 阅读 · 0 评论 -
目标检测算法总结—R-CNN系列(R-CNN、Fast R-CNN、Faster R-CNN)
object detection我的理解,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。object detection要解决的问题就是物体在哪里,是什么这整个流程的问题。然而,这个问题可不是那么容易解决的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。object detection技术的演进:RCNN->Spp...原创 2019-06-04 14:35:54 · 1533 阅读 · 0 评论 -
AlexNet,ResNet34,SqueezeNet模型的实现
文章目录概要__init__.pybasic_module.py具体模型定义alexnet.pyresnet34.pysqueezenet.pyReferences概要如果对这几种基础模型不太了解,请先参考博客。首先来看程序文件的组织结构:├── checkpoints/├── data/│ ├── __init__.py│ ├── dataset.py│ └── ge...原创 2019-06-16 10:21:49 · 982 阅读 · 2 评论 -
visdom的常用帮助函数(utils)
在项目中,我们可能会用到一些helper方法,这些方法可以统一放在utils/文件夹下,需要使用时再引入。在本文中主要是封装了可视化工具visdom的一些操作,其代码如下。└── utils/│ ├── __init__.py│ └── visualize.py#coding:utf8import visdomimport timeimport numpy as npc...原创 2019-06-16 10:25:23 · 783 阅读 · 3 评论 -
CRNN解读 —— An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its ……
文章目录简述各层介绍卷积层(CNN)循环层(Bi-LSTM)转录层(CTC)网络损失定义网络结构代码(Talk is cheap. Show me the code.)References简述paper: https://arxiv.org/abs/1507.05717code:https://github.com/meijieru/crnn.pytorch额,,,很早之前就看过了,非...原创 2019-07-10 18:28:46 · 2884 阅读 · 0 评论 -
FOTS解读 —— Fast Oriented Text Spotting with a Unified Network
文章目录简述网络结构backbone检测分支RoIRotate分支识别分支损失函数简述FOTS是CVPR 2018的一篇论文,其是第一篇针对多方向文本的端到端可训练的文本检测+识别算法。(反正论文中是这么说的,感觉貌似不是,莫在意)paper:https://arxiv.org/abs/1801.01671code:https://github.com/jiangxiluning/FOT...原创 2019-07-10 22:33:08 · 2203 阅读 · 0 评论 -
目标检测:R-CNN系列,YOLO系列,SSD总结
对于现在想入门目标检测的同学来说,R-CNN系列,YOLO系列和SSD很可能是最早会接触的一些目标检测算法。不得不说,这三个算法真的是非常非常经典的目标检测算法,在熟悉了这三个算法之后,基本就可以说自己已经在目标检测领域入门了。目前网络上已经有了很多很不错的讲解这三个算法模型的文章,自认为在有限的时间内很难去写到那种高质量的文章,况且也没必要(自己本来已经写了好多这三个算法的详解,不过质量不满意...原创 2019-08-03 17:32:52 · 7106 阅读 · 1 评论 -
零基础入门深度学习——强烈推荐!!!
这是蛮久前自己刚入门深度学习时看过的资料,当时把网址保存下来了,下面是一套零基础入门深度学习的教程,一看就是大神写的,写的非常好!!自己实在没必要重复造轮子了,膜拜一下吧,发这个博客的原因也是因为想分享一下这个网站。大神博客:零基础入门深度学习这是一套教程,并不是单单的一篇博客,推荐大家阅读!...原创 2019-05-15 23:57:54 · 5692 阅读 · 5 评论