从R-CNN到YOLO,一文带你了解目标检测模型(附论文下载)

简介:

R-CNN

R-CNN是2014年出现的。它是将CNN用于对象检测的起源,能够基于丰富的特征层次结构进行目标精确检测和语义分割来源。

如何确定这些边界框的大小和位置呢?R-CNN网络是这样做的:在图像中提出了多个边框,并判断其中的任何一个是否对应着一个具体对象。

00140b3354fa241f7310fbc41aa1d4f741d53323

要想进一步了解,可以查看以下PPT和笔记:

http://www.image-net.org/challenges/LSVRC/2013/slides/r-cnn-ilsvrc2013-workshop.pdf

http://www.cs.berkeley.edu/~rbg/slides/rcnn-cvpr14-slides.pdf

http://zhangliliang.com/2014/07/23/paper-note-rcnn/

Fast R-CNN

2015年,R-CNN的作者Ross Girshick解决了R-CNN训练慢的问题,发明了新的网络Fast R-CNN。主要突破是引入感兴趣区域池化(ROI Pooling),以及将所有模型整合到一个网络中。

00140b3354fa241f7310fbc41aa1d4f741d53323

你可以通过以下GitHub链接查看模型的各种实现代码:

https://github.com/rbgirshick/fast-rcnn

https://github.com/precedenceguo/mx-rcnn

https://github.com/mahyarnajibi/fast-rcnn-torch

https://github.com/apple2373/chainer-simple-fast-rnn

https://github.com/zplizzi/tensorflow-fast-rcnn


这里还有一个利用对抗学习改进目标检测结果的应用:

http://abhinavsh.info/papers/pdfs/adversarial_object_detection.pdf

https://github.com/xiaolonw/adversarial-frcnn

Faster R-CNN

2015年,一个来自微软的团队(任少卿,何恺明,Ross Girshick和孙剑)发现了一种叫做“Faster R-CNN”的网络结构,基于区域建议网络进行实时目标检测,重复利用多个区域建议中相同的CNN结果,几乎把边框生成过程的运算量降为0。

c8f978790ac8dac0ed14bda57ead7c37d04b04ea

你可以在这里看到关于Faster R-CNN的更多介绍,包括PPT和GitHub代码实现:

http://web.cs.hacettepe.edu.tr/~aykut/classes/spring2016/bil722/slides/w05-FasterR-CNN.pdf

Matlab

https://github.com/ShaoqingRen/faster_rcnn

Caffe

https://github.com/rbgirshick/py-faster-rcnn

MXNet

https://github.com/msracver/Deformable-ConvNets/tree/master/faster_rcnn

PyTorch

https://github.com//jwyang/faster-rcnn.pytorch

TensorFlow

https://github.com/smallcorgi/Faster-RCNN_TF

Keras

https://github.com/yhenon/keras-frcnn

C++

https://github.com/D-X-Y/caffe-faster-rcnn/tree/dev

SPP-Net(空间金字塔池化网络)

072023dd7d98198900f3b7e84b291c467ee1b722

SPP-Net是基于空间金字塔池化后的深度学习网络进行视觉识别。它和R-CNN的区别是,输入不需要放缩到指定大小,同时增加了一个空间金字塔池化层,每幅图片只需要提取一次特征。

相关资源:

https://github.com/ShaoqingRen/SPP_net

http://zhangliliang.com/2014/09/13/paper-note-sppnet/

更多论文:

DeepID-Net:基于变形深度卷积神经网络进行目标检测

http://www.ee.cuhk.edu.hk/%CB%9Cwlouyang/projects/imagenetDeepId/index.html

深度感知卷积神经网络中的目标检测器

https://www.robots.ox.ac.uk/~vgg/rg/papers/zhou_iclr15.pdf

segDeepM:利用深度神经网络中的分割和语境进行目标检测

https://github.com/YknZhu/segDeepM

基于卷积特征激活图的目标检测网络

http://arxiv.org/abs/1504.06066

利用贝叶斯优化与结构化预测改进基于深度卷积神经网络的目标检测

http://arxiv.org/abs/1504.03293

DeepBox:利用卷积网络学习目标特性

http://arxiv.org/abs/1505.02146

YOLO模型

YOLO是指标准化、实时的目标检测。

可以先看大数据文摘翻译的这个视频了解YOLO:

TED演讲 | 计算机是怎样快速看懂图片的:比R-CNN快1000倍的YOLO算法

ced803811c6ab2c1e695f2455f015685297ff3eb

有了YOLO,不需要一张图像看一千次,来产生检测结果,你只需要看一次,这就是我们为什么把它叫"YOLO"物体探测方法(You only look once)。

代码实现:

https://github.com/pjreddie/darknet

https://github.com/gliese581gg/YOLO_tensorflow

https://github.com/xingwangsfu/caffe-yolo

https://github.com/tommy-qichang/yolo.torch

https://github.com/nilboy/tensorflow-yolo

相关应用:

Darkflow:将darknet转换到tesorflow平台。加载训练好的权值,用tensorflow再次训练,再将导出计算图到C++环境中。

https://github.com/thtrieu/darkflow

使用你自己的数据训练YOLO模型。利用分类标签和自定义的数据进行训练,darknet支持Linux / Windows系统。

https://github.com/Guanghan/darknet

2a1c52097601e3f08b9aef982532095aa685ce13

IOS上的YOLO实战:CoreML vs MPSNNGraph,用CoreML和新版MPSNNGraph的API实现小型YOLO。

https://github.com/hollance/YOLO-CoreML-MPSNNGraph

安卓上基于TensorFlow框架运行YOLO模型实现实时目标检测。

https://github.com/natanielruiz/android-yolo

YOLOv2模型

时隔一年,YOLO作者放出了v2版本,称为YOLO9000,并直言它“更快、更高、更强”。YOLO v2的主要改进是提高召回率和定位能力。

各种实现:

Keras

https://github.com/allanzelener/YAD2K

PyTorch

https://github.com/longcw/yolo2-pytorch

Tensorflow

https://github.com/hizhangp/yolo_tensorflow

Windows

https://github.com/AlexeyAB/darknet

Caffe

https://github.com/choasUp/caffe-yolo9000

相关应用:

Darknet_scripts是深度学习框架中YOLO模型中darknet的辅助脚本,生成YOLO模型中的参数anchors。

https://github.com/Jumabek/darknet_scripts

Yolo_mark:图形化标记用于训练YOLOv2模型的图像目标

https://github.com/AlexeyAB/Yolo_mark

LightNet:改进的DarkNet

https://github.com//explosion/lightnet

用于生成YOLOv2模型所需训练数据的边界框标记工具

https://github.com/Cartucho/yolo-boundingbox-labeler-GUI

Loss Rank Mining:基于实时目标检测的一种通用的困难样本挖掘方法。LRM是第一个高度适用于YOLOv2模型中的困难样本挖掘策略,它让YOLOv2模型能够更好的应用到对实时与准确率要求较高的场景中。

https://arxiv.org/abs/1804.04606

YOLOv3模型

再次改进YOLO模型。提供多尺度预测和更好的基础分类网络。相关实现:

https://pjreddie.com/darknet/yolo/

https://github.com/pjreddie/darknet

https://github.com/experiencor/keras-yolo3

https://github.com/marvis/pytorch-yolo3

SSD(单网络目标检测框架)

51cf486e8be4e59ddc37517d0fd215c626f4c766

SSD可以说是YOLO和Faster R-Cnn两者的优势结合。相比于Faster R-Cnn,SSD的目标检测速度显著提高,精度也有一定提升;相比YOLO,速度接近,但精度更高。

相关实现:

https://github.com/zhreshold/mxnet-ssd

https://github.com/rykov8/ssd_keras

https://github.com/balancap/SSD-Tensorflow

https://github.com/amdegroot/ssd.pytorch

https://github.com/chuanqi305/MobileNet-SSD

DSOD(深度监督目标检测方法)

6c6de24aa294a8ac8d4074f5f349a125e9573950

与SSD类似,是一个多尺度不需要proposal的检测框架,是一种完全脱离预训练模型的深度监督目标检测方法。

相关实现:

https://arxiv.org/abs/1708.01241

https://github.com/szq0214/DSOD

https://github.com/Windaway/DSOD-Tensorflow

https://github.com/chenyuntc/dsod.pytorch


原文发布时间为:2018-05-21
本文作者:文摘菌
本文来自云栖社区合作伙伴“ 大数据文摘”,了解相关信息可以关注“ 大数据文摘”。
相关文章
|
7月前
|
机器学习/深度学习 Web App开发 编解码
论文精度笔记(四):《Sparse R-CNN: End-to-End Object Detection with Learnable Proposals》
Sparse R-CNN是一种端到端的目标检测方法,它通过使用一组可学习的稀疏提议框来避免传统目标检测中的密集候选框设计和多对一标签分配问题,同时省去了NMS后处理步骤,提高了检测效率。
120 0
论文精度笔记(四):《Sparse R-CNN: End-to-End Object Detection with Learnable Proposals》
|
5月前
|
机器学习/深度学习 存储 人工智能
【AI系统】轻量级CNN模型综述
本文介绍了几种常见的小型化CNN模型,包括SqueezeNet、ShuffleNet、MobileNet等系列。这些模型通过减少参数量和计算量,实现在有限资源下高效运行,适用于存储和算力受限的场景。文章详细解释了各模型的核心技术和优化策略,如Fire Module、Channel Shuffle、Depthwise Separable Convolutions等,旨在帮助读者理解和应用这些高效的小型化CNN模型。
153 3
|
7月前
|
机器学习/深度学习 Web App开发 人工智能
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》这篇论文提出了一种基于YOLOv3-Tiny的轻量级目标检测模型Micro-YOLO,通过渐进式通道剪枝和轻量级卷积层,显著减少了参数数量和计算成本,同时保持了较高的检测性能。
239 2
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
|
8月前
|
机器学习/深度学习
ACM MM24:复旦提出首个基于扩散模型的视频非限制性对抗攻击框架,主流CNN和ViT架构都防不住它
【9月更文挑战第23天】复旦大学研究团队提出了ReToMe-VA,一种基于扩散模型的视频非限制性对抗攻击框架,通过时间步长对抗性潜在优化(TALO)与递归令牌合并(ReToMe)策略,实现了高转移性且难以察觉的对抗性视频生成。TALO优化去噪步骤扰动,提升空间难以察觉性及计算效率;ReToMe则确保时间一致性,增强帧间交互。实验表明,ReToMe-VA在攻击转移性上超越现有方法,但面临计算成本高、实时应用受限及隐私安全等挑战。[论文链接](http://arxiv.org/abs/2408.05479)
166 3
|
7月前
|
机器学习/深度学习 编解码 算法
【深度学习】经典的深度学习模型-01 开山之作:CNN卷积神经网络LeNet-5
【深度学习】经典的深度学习模型-01 开山之作:CNN卷积神经网络LeNet-5
133 0
|
9月前
|
机器学习/深度学习
CNN模型验证和CNN模型保存
【8月更文挑战第10天】CNN模型验证和CNN模型保存。
98 27
|
9月前
|
机器学习/深度学习
加载CNN保存模型
【8月更文挑战第10天】加载CNN保存模型。
65 12
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介
**RNN**,1986年提出,用于序列数据,如语言模型和语音识别,但原始模型有梯度消失问题。**LSTM**和**GRU**通过门控解决了此问题。 **CNN**,1989年引入,擅长图像处理,卷积层和池化层提取特征,经典应用包括图像分类和物体检测,如LeNet-5。 **Transformer**,2017年由Google推出,自注意力机制实现并行计算,优化了NLP效率,如机器翻译。 **BERT**,2018年Google的双向预训练模型,通过掩码语言模型改进上下文理解,适用于问答和文本分类。
289 9
|
10月前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
计算机视觉借助深度学习实现了革命性进步,从图像分类到复杂场景理解,深度学习模型如CNN、RNN重塑了领域边界。
【7月更文挑战第2天】计算机视觉借助深度学习实现了革命性进步,从图像分类到复杂场景理解,深度学习模型如CNN、RNN重塑了领域边界。AlexNet开启新时代,后续模型不断优化,推动对象检测、语义分割、图像生成等领域发展。尽管面临数据隐私、模型解释性等挑战,深度学习已广泛应用于安防、医疗、零售和农业,预示着更智能、高效的未来,同时也强调了技术创新、伦理考量的重要性。
124 1

热门文章

最新文章