
深度学习
文章平均质量分 92
奔跑的大西吉
这个作者很懒,什么都没留下…
展开
-
深度学习目标检测之 YOLO v4
论文原文:https://arxiv.org/abs/2004.10934代码原版c++: https://github.com/AlexeyAB/darknetkeras:https://github.com/Ma-Dan/keras-yolo4pytorch:https://github.com/Tianxiaomo/pytorch-YOLOv4前言2020年YOLO系列的作者Redmon在推特上发表声明,出于道德方面的考虑,从此退出CV界。本以为YOLOv3已经是YOLO系列的终.转载 2021-11-09 22:45:00 · 1240 阅读 · 0 评论 -
深度学习目标检测之 YOLO v3
论文名:《YOLOv3: An Incremental Improvement》论文地址https://pjreddie.com/media/files/papers/YOLOv3.pdfhttps://arxiv.org/abs/1804.02767v1论文代码https://github.com/yjh0410/yolov2-yolov3_PyTorchkeras:https://github.com/qqwweee/keras-yolo3YOLOv3在Pascal Tit.转载 2021-11-05 17:31:42 · 834 阅读 · 0 评论 -
深度学习目标检测之 YOLO v2
论文名:《YOLO9000: Better, Faster, Stronger》原文:https://arxiv.org/pdf/1612.08242v1.pdf代码:http://pjreddie.com/darknet/yolo/YOLO v2 斩获了CVPR 2017 Best Paper Honorable Mention。在这篇文章中,作者首先在YOLOv1的基础上提出了改进的YOLOv2,在继续保持处理速度的基础上,从预测更准确(Better),速度更快(Faster),识别对象更多(.转载 2021-11-04 20:47:12 · 471 阅读 · 0 评论 -
深度学习之 OHEM (Online Hard Example Mining)
论文 《Training Region-based Object Detectors with Online Hard Example Mining》链接 https://arxiv.org/pdf/1604.03540.pdfAstract摘要主要讲了四点:(1) 训练过程需要进行参数的空间搜索(2) 简单样本与难分辨样本之间的类别不平衡是亟需解决的问题(3) 自动地选择难分辨样本来进行训练不仅效率高而且性能好(4) 提出了OHEM算法,不仅效率高而且性能好,在各种数据集上表现优越.转载 2021-11-03 14:59:32 · 3094 阅读 · 0 评论 -
深度学习之双线性插值(Bilinear interpolation)
1. 什么是插值Interpolation is a method of constructing new data points within the range of a discrete set of known data points. Image interpolation refers to the“guess”of intensity values at missing locations.图片放大是图像处理中的一个特别基础的操作。在几乎每一个图片相关的项目中,从传统图像处理到深度学习,都转载 2021-11-02 21:29:29 · 18130 阅读 · 2 评论 -
深度学习之 DCN(Deformable Convolution)-可变形卷积
Paper link:http://openaccess.thecvf.com/content_ICCV_2017/papers/Dai_Deformable_Convolutional_Networks_ICCV_2017_paper.pdfhttps://arxiv.org/pdf/1703.06211Code link: https://github.com/msracver/Deformable-ConvNetsAbstract如何有效地对几何图形的变化进行建模一直是一个挑战,大.转载 2021-11-02 14:40:24 · 10384 阅读 · 1 评论 -
深度学习之 Cascade R-CNN
Zhaowei Cai, Nuno Vasconcelos. 《Cascade R-CNN: Delving into High Quality Object Detection》. CVPR 2018.论文链接:https://arxiv.org/abs/1712.00726代码链接:https://github.com/zhaoweicai/cascade-rcnn前言IOU阈值被用来定义正负例,当使用一个较低的IOU阈值训练object detector, 通常会导致noisy detec.转载 2021-10-28 16:32:40 · 4407 阅读 · 0 评论 -
深度学习之 soft-NMS
论文:《Improving Object DetectionWith One Line of Code》soft-NMS 英文论文链接:https://arxiv.org/pdf/1704.04503.pdfsoft-NMS github 链接:https://github.com/bharatsingh430/soft-nms绝大部分目标检测方法,最后都要用到 NMS 非极大值抑制进行后处理。 通常的做法是将检测框按得分排序,然后保留得分最高的框,同时删除与该框重叠面积大于一定比例的其它框。这.转载 2021-10-18 14:18:43 · 3166 阅读 · 0 评论 -
深度学习之RetinaNet
总述Focal loss主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘。目标识别有两大经典结构:第一类是以Faster RCNN为代表的两级识别方法,这种结构的第一级专注于proposal的提取,第二级则对提取出的proposal进行分类和精确坐标回归。两级结构准确度较高,但因为第二级需要单独对每个proposal进行分类/回归,速度就打了折扣;第二类结构是以YOLO和SSD为代表的单级结构,它们摒转载 2021-10-12 17:15:16 · 4063 阅读 · 0 评论 -
深度学习之 FPN (Feature Pyramid Networks)
目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型:(1)two-stage方法,如R-CNN系算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(RPN)产生一系列稀疏的候选框,然后对这些候选框进行分类与回归,two-stage方法的优势是准确度高;(2)one-stage方法,如Yolo和SSD,其主要思路是均匀地在图片的不同位置进行密集抽样,抽样时可以采用不同尺度和长宽比,然后利用CNN提取特征后直接进行分类与回归,整个过程只需要一步,所以其优势是速转载 2021-07-07 12:00:40 · 27301 阅读 · 2 评论 -
深度学习目标检测之 YOLO v1
YOLO v1这是继RCNN,fast-RCNN和faster-RCNN之后,rbg(RossGirshick)针对DL目标检测速度问题提出的另外一种框架。YOLO V1其增强版本GPU中能跑45fps,简化版本155fps。论文:http://arxiv.org/abs/1506.02640代码:https://github.com/pjreddie/darknet1. YOLO的核心思想YOLO的核心思想就是利用整张图作为网络的输入,直接在输出层回归bounding box的位置和boun转载 2021-07-06 17:12:39 · 1192 阅读 · 0 评论 -
深度学习之 TensorRT
1 简介TensorRT是一个高性能的深度学习推理(Inference)优化器,可以为深度学习应用提供低延迟、高吞吐率的部署推理。TensorRT可用于对超大规模数据中心、嵌入式平台或自动驾驶平台进行推理加速。TensorRT现已能支持TensorFlow、Caffe、Mxnet、Pytorch等几乎所有的深度学习框架,将TensorRT和NVIDIA的GPU结合起来,能在几乎所有的框架中进行快速和高效的部署推理。TensorRT 是一个C++库,从 TensorRT 3 开始提供C++ API和Pyt转载 2021-06-21 11:51:22 · 1779 阅读 · 1 评论 -
深度学习之 RPN(RegionProposal Network)- 区域候选网络
RPN的本质是 “ 基于滑窗的无类别obejct检测器 ” :对于提取候选框最常用的SelectiveSearch方法,提取一副图像大概需要2s的时间,改进的EdgeBoxes算法将效率提高到了0.2s,但是这还不够。候选框提取不一定要在原图上做,特征图上同样可以,低分辨率特征图意味着更少的计算量,基于这个假设,MSRA的任少卿等人提出RPN(RegionProposal Network, 区域候选网络),完美解决了这个问题,它的主要功能是生成区域候选(Region Proposal)(可以看做是许多潜在转载 2021-06-15 11:50:37 · 30265 阅读 · 7 评论 -
深度学习之 ROI Pooling
什么是ROI?ROI是Region of interest的简写,指的是faster rcnn结构中,经过rpn层后,产生的proposal对应的box框。ROIs Pooling顾名思义,是pooling层的一种,而且是针对ROIs的pooling。整个 ROI 的过程,就是将这些 proposal 抠出来的过程,得到大小统一的 feature map。ROI Pooling 该层有两个输入:从具有多个卷积核池化的深度网络中获得的固定大小的feature maps;一个表示所有ROI的N*5的转载 2021-06-13 22:13:14 · 20790 阅读 · 1 评论 -
深度学习之非极大值抑制(Non-maximum suppression,NMS)
非极大值抑制(Non-maximum suppression,NMS)是一种去除非极大值的算法,常用于计算机视觉中的边缘检测、物体识别等。算法流程给出一张图片和上面许多物体检测的候选框(即每个框可能都代表某种物体),但是这些框很可能有互相重叠的部分,我们要做的就是只保留最优的框。假设有N个框,每个框被分类器计算得到的分数为Si,(1<=i<=N)S_i, (1<=i<=N)Si,(1<=i<=N)。建造一个存放待处理候选框的集合H,初始化为包含全部N个框;建造转载 2021-06-13 11:57:50 · 2079 阅读 · 0 评论 -
深度学习之 hard negative mining (难例挖掘)
首先是negative,即负样本,其次是hard,说明是困难样本,也就是说在对负样本分类时候,loss比较大(label与prediction相差较大)的那些样本,也可以说是容易将负样本看成正样本的那些样本,例如roi里没有物体,全是背景,这时候分类器很容易正确分类成背景,这个就叫easy negative;如果roi里有二分之一个物体,标签仍是负样本,这时候分类器就容易把他看成正样本,即假阳性(false positive),这时候就是had negative。hard negative mining就是转载 2021-06-13 11:17:48 · 9114 阅读 · 0 评论 -
深度学习之卷积神经网络 ResNet
Resnet差不多是当前应用最为广泛的CNN特征提取网络。它的提出始于2015年,作者中间有大名鼎鼎的三位人物He-Kaiming, Ren-Shaoqing, Sun-Jian。绝对是华人学者的骄傲啊。VGG网络试着探寻了一下深度学习网络的深度究竟可以深几许以能持续地提高分类准确率。我们的一般印象当中,深度学习愈是深(复杂,参数多)愈是有着更强的表达能力。凭着这一基本准则CNN分类网络自Alexnet的7层发展到了VGG的16乃至19层,后来更有了Googlenet的22层。可后来我们发现深度CNN网络转载 2021-06-08 19:36:00 · 2828 阅读 · 0 评论 -
深度学习之卷积神经网络 VGGNet
2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发出了新的深度卷积神经网络:VGGNet,并取得了ILSVRC2014比赛分类项目的第二名(第一名是GoogLeNet,也是同年提出的)和定位项目的第一名。VGGNet探索了卷积神经网络的深度与其性能之间的关系,成功地构筑了16~19层深的卷积神经网络,证明了增加网络的深度能够在一定程度上影响网络最终的性能,使错误率大幅下降,同时拓展性又很强,迁移到其它图片数据上的泛化性也非常好转载 2021-06-08 19:22:27 · 1801 阅读 · 0 评论 -
深度学习之卷积神经网络 GoogleNet
GoogLeNet Incepetion V1这是GoogLeNet的最早版本,出现在2014年的《Going deeper with convolutions》。之所以名为“GoogLeNet”而非“GoogleNet”,文章说是为了向早期的LeNet致敬。深度学习以及神经网络快速发展,人们不再只关注更给力的硬件、更大的数据集、更大的模型,而是更在意新的idea、新的算法以及模型的改进。一般来说,提升网络性能最直接的办法就是增加网络深度和宽度,这也就意味着巨量的参数。但是,巨量参数容易产生过拟合也会转载 2021-06-08 19:12:10 · 1829 阅读 · 0 评论 -
深度学习之卷积神经网络 ZF Net
ZFNet出自论文《 Visualizing and Understanding Convolutional Networks》,作者Matthew D. Zeiler和Rob Fergus——显然ZFNet是以两位作者名字的首字母命名的。ZFNet通常被认为是ILSVRC 2013的冠军方法,但实际上ZFNet排在第3名,前两名分别是Clarifai和NUS,不过Clarifai和ZFNet都出自Matthew D. Zeiler之手,见ILSVRC2013 results。ZFNet的网络架构是在A转载 2021-06-08 18:30:22 · 1811 阅读 · 0 评论 -
深度学习之卷积神经网络 AlexNet
AlexNet 是 2012年ILSVRC 比赛冠军,远超第二名的CNN,比LeNet更深,用多层小卷积叠加来替换单个的大卷积。结构如下图所示。结构原始图片:2562563图像处理:随机的剪切,将256256的图片剪切成为224224的图片对224*224的图像做了一些旋转和位置变换对224224的图像做了一个图像大小的扩大,变成227227的图片备注:实际输入AlexNet网络的图片是一个2272273的图片信息"激励函数:论文中是:sigmoid,但是实际比赛的时候,使用的是原创 2021-06-03 19:30:27 · 1715 阅读 · 0 评论 -
深度学习之 SSD(Single Shot MultiBox Detector)
前言目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型:(1)two-stage方法,如R-CNN系算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(RPN)产生一系列稀疏的候选框,然后对这些候选框进行分类与回归,two-stage方法的优势是准确度高;(2)one-stage方法,如Yolo和SSD,其主要思路是均匀地在图片的不同位置进行密集抽样,抽样时可以采用不同尺度和长宽比,然后利用CNN提取特征后直接进行分类与回归,整个过程只需要一步,所以其优转载 2021-06-02 15:47:01 · 3411 阅读 · 0 评论 -
深度学习之边框回归(Bounding Box Regression)
从rcnn, fast rcnn, faster rcnn, yolo, r-fcn, ssd,到cvpr的yolo9000。这些paper中损失函数都包含了边框回归,除了rcnn详细介绍了,其他的paper都是一笔带过,或者直接引用rcnn就把损失函数写出来了。前三条网上解释比较多,后面的两条我看了很多paper,才得出这些结论。为什么要边框回归?什么是边框回归?边框回归怎么做的?边框回归为什么宽高,坐标会设计这种形式?为什么边框回归只能微调,在离Ground Truth近的时候才能生效?转载 2021-05-31 11:51:41 · 3760 阅读 · 0 评论 -
深度学习之目标检测:R-CNN、Fast R-CNN、Faster R-CNN
object detection就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。object detection要解决的问题就是物体在哪里,是什么 这整个流程的问题。然而,这个问题可不是那么容易解决的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。object detection技术的演进:RCNN->SppNET->Fast-RCNN->Faster-RCNN传统的目标检测方法传统的目标检测方法一般分为转载 2021-05-28 18:00:18 · 3596 阅读 · 0 评论 -
深度学习之生成式对抗网络 GAN(Generative Adversarial Networks)
一、GAN介绍生成式对抗网络GAN(Generative Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。它源于2014年发表的论文:《Generative Adversarial Nets》,论文地址:https://arxiv.org/pdf/1406.2661.pdf。模型通过框架中(至少)两个模块:生成模型(Generative model)和判别模型(Discriminative model)的相互博弈学习产生相当好的输出。原始原创 2021-05-27 17:52:44 · 8470 阅读 · 9 评论 -
循环神经网络变形之 (Long Short Term Memory,LSTM)
1、长短期记忆网络LSTM简介在RNN 计算中,讲到对于传统RNN水平方向进行长时刻序列依赖时可能会出现梯度消失或者梯度爆炸的问题。LSTM 特别适合解决这种需要长时间依赖的问题。LSTM(Long Short Term Memory,长短期记忆网络)是RNN的一种,大体结构一直,区别在于:LSTM 的‘记忆cell’ 是被改造过的,水平方向减少梯度消失与梯度爆炸 该记录的信息会一直传递,不该记录的信息会被截断掉,部分输出和输入被从网络中删除RNN 在语音识别,语言建模,翻译,图片描述等问题转载 2020-12-18 17:21:21 · 5452 阅读 · 0 评论 -
深度学习之循环神经网络(Recurrent Neural Network,RNN)
递归神经网络和循环神经网络循环神经网络(recurrent neural network):时间上的展开,处理的是序列结构的信息,是有环图 递归神经网络(recursive neural network):空间上的展开,处理的是树状结构的信息,是无环图 二者简称都是 RNN,但是一般提到的RNN指的是循环神经网络(recurrent neural network)。为什么有bp神经网络、CNN、还需要RNN?BP神经网络和CNN的输入输出都是互相独立的;但是实际应用中有些场景输出内容和之前的内原创 2020-09-15 19:44:23 · 14300 阅读 · 2 评论 -
深度学习案例之 验证码识别
本项目介绍利用深度学习技术(tensorflow),来识别验证码(4位验证码,具体的验证码的长度可以自己生成,可以在自己进行训练)程序分为四个部分1、生成验证码的程序,可生成数字+字母大小写的任意长度验证码# coding:utf-8# name:captcha_gen.pyimport randomimport numpy as npfrom PIL import Imagefrom captcha.image import ImageCaptchaNUMBER = ['0转载 2020-09-11 14:17:58 · 7233 阅读 · 9 评论 -
深度学习案例之基于 CNN 的 MNIST 手写数字识别
一、模型结构本文只涉及利用Tensorflow实现CNN的手写数字识别,CNN的内容请参考:卷积神经网络(CNN)MNIST数据集的格式与数据预处理代码input_data.py的讲解请参考 :Tutorial (2)二、实验代码# -*- coding: utf-8 -*-import tensorflow as tf# 导入input_data用于自动下载和安装MNIST数据集from tensorflow.examples.tutorials.mnist import inpu转载 2020-09-07 19:52:55 · 6935 阅读 · 0 评论 -
深度学习之数据增强方案和TensorFlow操作
数据增强的方法介绍增加训练数据, 则能够提升算法的准确率, 因为这样可以避免过拟合, 而避免了过拟合你就可以增大你的网络结构了。 当训练数据有限的时候, 可以通过一些变换来从已有的训练数据集中生成一些新的数据, 来扩大训练数据。数据增强的方法有:1) 图片的水平翻转(主要包括对称处理, 度数旋转等)2) 随机裁剪(可以裁剪成不同大小的数据)如原始图像大小为256*256,随机裁剪出一些图像224*224的图像。如下图,红色方框内为随机裁剪出的224*224的图片。 A...原创 2020-05-19 11:11:39 · 860 阅读 · 0 评论 -
深度学习之卷积神经网络 LeNet
卷积神经网络典型CNNLeNet:最早用于数字识别的CNN AlexNet:2012年ILSVRC比赛冠军,远超第二名的CNN,比LeNet更深,用多层小卷积叠加来替换单个的大卷积 ZF Net:2013ILSVRC冠军 GoogleNet:2014ILSVRC冠军 VGGNet:2014ILSVRC比赛中算法模型,效果率低于GoogleNet ResNet:2015ILSVRC冠军,结构修正以适应更深层次的CNN训练卷积神经网络典型CNN-LeNetC1层是一个卷积层6个特原创 2020-05-19 10:54:24 · 7174 阅读 · 0 评论 -
深度学习之卷积神经网络(Convolutional Neural Networks, CNN)(二)
前面我们说了CNN的一般层次结构, 每个层的作用及其参数的优缺点等内容.https://blog.youkuaiyun.com/fenglepeng/article/details/106077002一 CNN参数初始化及参数学习方法和机器学习很多算法一样, CNN在进行训练之前也要进行参数的初始化操作. 我们知道, 在机器学习中的参数值一般都是随机给定的. 但是, 这CNN的参数初始化又和机器学习中有所不同.1.1 W的初始化由于CNN 中的参数更新的过程一般是通过BP算法实现的,再由前面我们在深..原创 2020-05-19 10:28:34 · 7955 阅读 · 0 评论 -
深度学习之卷积神经网络(Convolutional Neural Networks, CNN)
前面, 我们介绍了DNN及其参数求解的方法(BP算法),我们知道了DNN仍然存在很多的问题,其中最主要的就是BP求解可能造成的梯度消失和梯度爆炸的问题.那么,人们又是怎么解决这个问题的呢?本节的卷积神经网络(Convolutional Neural Networks, CNN)就是一种解决方法.我们知道神经网络主要有三个部分组成, 分别为:网络结构---描述神经元的层次与连接神经元的结构. 激活函数(激励函数)--- 用于加入非线性的因素,解决线性模型所不能解决的问题. 参数学习方...原创 2020-05-12 16:14:01 · 44693 阅读 · 3 评论 -
激活函数之 Sigmoid、tanh、ReLU、ReLU变形和Maxout
Sigmoid函数Sigmoid函数具体的计算公式如下sigmoid函数的因变量x取值范围是(-∞,+∞),但是sigmoid函数的值域是(0, 1)。下面我们用通过spyder用python语言把logistic曲线画出来,如下所示。# -*- coding: utf-8 -*-"""@author: tom"""import numpyimport math...原创 2020-03-14 22:29:51 · 7714 阅读 · 0 评论 -
深度学习之 RBF神经网络
RBF神经网络通常只有三层,即输入层、中间层和输出层。其中中间层主要计算输入x和样本矢量c(记忆样本)之间的欧式距离的Radial Basis Function (RBF)的值,输出层对其做一个线性的组合。径向基函数:RBF神经网络的训练可以分为两个阶段:第一阶段为无监督学习,从样本数据中选择记忆样本/中心点;可以使用聚类算法,也可以选择随机给定的方式。第二阶段为监督学习,主要计算样本经过RBF转换后,和输出之间的关系/权重;可以使用BP算法计算、也可以使用简单的数学公式计算。.转载 2020-05-11 13:57:27 · 22758 阅读 · 5 评论 -
深度学习之 BP 算法
神经网络的一种求解W的算法,分为信号“正向传播(FP)”求损失,“反向传播(BP)”回传误差;根据误差值修改每层的权重,继续迭代BP算法也叫做δ算法。以三层的感知器为例(假定现在隐层和输出层均存在相同类型的激活函数)输入层误差隐层误差输入层误差误差E有了,那么为了使误差越来越小,可以采用随机梯度下降的方式进行ω和υ的求解,即求得ω和υ使得误差E最小BP算法的例子初始值:w(0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.原创 2020-05-09 17:50:53 · 5248 阅读 · 0 评论 -
深度学习之概述
深度学习的应用场景1、图像应用: 1.1 大规模(大数据量)图片识别(聚类/分类),如人脸识别,车牌识别,OCR等 人脸识别:① faceID ② faceNet 1.2 以图搜图,图像分割 1.3 目标检测,如自动驾驶的行人检测,安防系统的异常人群检测 目标检测:① faster RCNN ② SSD ③ YOLO(YOLO3)2、语音识别 语音识别,语音合成 语音识别:① deep speec...原创 2020-05-09 16:37:53 · 2986 阅读 · 0 评论