目标检测:PVAnet原理解析

原文:用于实时物体检测的深度轻量神经网络(PVANET:Deep but Lightweight Neural Networks for Real-time Object Detection)

论文链接:http://arxiv.org/pdf/1608.08021

Github:https://github.com/sanghoon/pva-faster-rcnn

C++ Demo:https://github.com/baiyancheng20/PVANet-Demo

原文链接:https://www.cnblogs.com/fariver/p/7449563.html

创新点:基于Faster-RCNN使用更高效的基础网络

1.1 创新点

PVAnet是RCNN系列目标方向,基于Faster-RCNN进行改进,Faster-RCNN基础网络可以使用ZF、VGG、Resnet等,但精度与速度难以同时提高。PVAnet的含义应该为:Performance Vs Accuracy,意为加速模型性能,同时不丢失精度的含义。主要的工作再使用了高效的自己设计的基础网络。该网络使用了C.ReLU、Inception、HyperNet以及residual模块等技巧。整体网络结构如图1所示。

2.1 C.ReLU

C.ReLU的作者观察基础网络卷积层参数,发现低层卷积核成对出现(参数互为相反数),因此,作者减小输出特征图个数为原始一半,另一半直接取相反数得到,再将两部分特征图连接,从而减少了卷积核数目。关于C.ReLU参考博客论文。C.ReLU的模块结构如图2所示。

2.2 Inception模块

作者发现googlenet中Inception模块由于具有多种感受野的卷积核组合,因此能够适应多尺度目标的检测,作者使用基于Inception模块组合并且组合跳级路特征进行基础网络后部分特征的提取。

2.3 HyperNet

将conv3中原图1/8特征图、conv3中原图1/16特征图、conv3中原图1/32特征图连接来增加最终特征图中多尺度信息。其中,conv3中特征图被下采样,conv5中特征图被线性插值上采样。如图1所示。

3.1 实验过程

除了以上基础网络的区别:

(1) PVAnet使用的anchor与faster-rcnn不同,PVA在每个特征点上使用了25个anchor(5种尺度,5种形状)。

(2) 并且RPN网络不使用全部特征图就能达到很好的定位精度,RPN网络只用生成200个proposals;

(3) 使用VOC2007、VOC2012、COCO一起训练模型;

(4) 可以使用类似于Fast-RCNN的truncated SVD来加速全连接层的速度;

(5) 使用投票机制增加训练精度,投票机制应该参考于R-FCN

展开阅读全文

YOLOv3目标检测原理与源码解析

06-07

<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn Linux创始人<span>LinusrnTorvalds</span>有一句名言:<span>Talk is cheap, Show me the code.</span>(冗谈不够,放码过来!)。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn YOLOv3的实现<span>Darknet</span>是使用<span>C</span>语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 本课程将解析<span>YOLOv3</span>的实现原理和源码,具体内容包括:<span></span> rn</p>rn<p align="left" class="MsoNormal" style="text-indent:-18pt;background:white;">rn <br />rn</p>rn<ul>rn <li>rn &nbsp; &nbsp; &nbsp;<span>YOLO目标检测原理&nbsp;</span> rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;代码阅读工具及方法&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;深度学习计算的利器:BLAS和GEMM&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;GPU的CUDA编程方法及在Darknet的应用&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;YOLOv3的程序流程及各层的源码解析rn </li>rn</ul>rn<!--[if !supportLists]-->rn<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 本课程将提供注释后的<span>Darknet</span>的源码程序文件。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 除本课程《<span>YOLOv3</span>目标检测:原理与源码解析》外,本人推出了有关<span>YOLOv3</span>目标检测的系列课程,包括:<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn <br />rn</p>rn<ul>rn <li>rn &nbsp; 《YOLOv3目标检测实战:训练自己的数据集》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测实战:交通标志识别》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测:原理与源码解析》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测:网络模型改进方法》rn </li>rn</ul>rn<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 建议先学习课程《<span>YOLOv3</span>目标检测实战:训练自己的数据集》或课程《<span>YOLOv3</span>目标检测实战:交通标志识别》,对<span>YOLOv3</span>的使用方法了解以后再学习本课程。<span></span> rn</p>rn<p>rn <br />rn</p>rn<p>rn <span></span><span></span><span></span><span></span> rn</p>

YOLOv3目标检测原理

05-29

在无人驾驶中,交通标志识别是一项重要的任务。本项目以美国交通标志数据集LISA为训练对象,采用YOLOv3目标检测方法实现实时交通标志识别。<br />rn<br />rn具体项目过程包括包括:安装Darknet、下载LISA交通标志数据集、数据集格式转换、修改配置文件、训练LISA数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。<br />rn<br />rnYOLOv3基于深度学习,可以实时地进行端到端的目标检测,以速度快见长。本课程将手把手地教大家使用YOLOv3实现交通标志的多目标检测。本课程的YOLOv3使用Darknet,在Ubuntu系统上做项目演示。 Darknet是使用C语言实现的轻型开源深度学习框架,依赖少,可移植性好,值得深入学习和探究。<br />rn<br />rn除本课程《YOLOv3目标检测实战:交通标志识别》外,本人推出了有关YOLOv3目标检测的系列课程,请持续关注该系列的其它课程视频,包括:<br />rn<br />rn《YOLOv3目标检测实战:训练自己的数据集》<br />rn<br />rn《YOLOv3目标检测:原理与源码解析》<br />rn<br />rn《YOLOv3目标检测:网络模型改进方法》<br />rn<br />rn另一门课程《YOLOv3目标检测实战:训练自己的数据集》主要是介绍如何训练自己标注的数据集。而本课程的区别主要在于学习对已标注数据集的格式转换,即把LISA数据集从csv格式转换成YOLOv3所需要的PASCAL VOC格式和YOLO格式。本课程提供数据集格式转换的Python代码。<br />rn<br />rn请大家关注以上课程,并选择学习。<br />rn<br />rn下图是使用YOLOv3进行交通标志识别的测试结果<br />rn<p>rn <br />rn</p>rn<p>rn <img alt="" src="https://img-bss.csdn.net/201905291412089927.jpg" /><img alt="" src="https://img-bss.csdn.net/201905291412336785.jpg" /><img alt="" src="https://img-bss.csdn.net/201905291412485752.jpg" /> rn</p>rn<p>rn <img alt="" src="https://img-bss.csdn.net/201905291413012686.jpg" /> rn</p>

目标检测-YOLOv2原理

06-07

<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn Linux创始人<span>LinusrnTorvalds</span>有一句名言:<span>Talk is cheap, Show me the code.</span>(冗谈不够,放码过来!)。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn YOLOv3的实现<span>Darknet</span>是使用<span>C</span>语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 本课程将解析<span>YOLOv3</span>的实现原理和源码,具体内容包括:<span></span> rn</p>rn<p align="left" class="MsoNormal" style="text-indent:-18pt;background:white;">rn <br />rn</p>rn<ul>rn <li>rn &nbsp; &nbsp; &nbsp;<span>YOLO目标检测原理&nbsp;</span> rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;代码阅读工具及方法&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;深度学习计算的利器:BLAS和GEMM&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;GPU的CUDA编程方法及在Darknet的应用&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;YOLOv3的程序流程及各层的源码解析rn </li>rn</ul>rn<!--[if !supportLists]-->rn<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 本课程将提供注释后的<span>Darknet</span>的源码程序文件。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 除本课程《<span>YOLOv3</span>目标检测:原理与源码解析》外,本人推出了有关<span>YOLOv3</span>目标检测的系列课程,包括:<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn <br />rn</p>rn<ul>rn <li>rn &nbsp; 《YOLOv3目标检测实战:训练自己的数据集》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测实战:交通标志识别》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测:原理与源码解析》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测:网络模型改进方法》rn </li>rn</ul>rn<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 建议先学习课程《<span>YOLOv3</span>目标检测实战:训练自己的数据集》或课程《<span>YOLOv3</span>目标检测实战:交通标志识别》,对<span>YOLOv3</span>的使用方法了解以后再学习本课程。<span></span> rn</p>rn<p>rn <br />rn</p>rn<p>rn <span></span><span></span><span></span><span></span> rn</p>

目标检测-YOLOv1原理

06-07

<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn Linux创始人<span>LinusrnTorvalds</span>有一句名言:<span>Talk is cheap, Show me the code.</span>(冗谈不够,放码过来!)。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn YOLOv3的实现<span>Darknet</span>是使用<span>C</span>语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 本课程将解析<span>YOLOv3</span>的实现原理和源码,具体内容包括:<span></span> rn</p>rn<p align="left" class="MsoNormal" style="text-indent:-18pt;background:white;">rn <br />rn</p>rn<ul>rn <li>rn &nbsp; &nbsp; &nbsp;<span>YOLO目标检测原理&nbsp;</span> rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;代码阅读工具及方法&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;深度学习计算的利器:BLAS和GEMM&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;GPU的CUDA编程方法及在Darknet的应用&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;YOLOv3的程序流程及各层的源码解析rn </li>rn</ul>rn<!--[if !supportLists]-->rn<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 本课程将提供注释后的<span>Darknet</span>的源码程序文件。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 除本课程《<span>YOLOv3</span>目标检测:原理与源码解析》外,本人推出了有关<span>YOLOv3</span>目标检测的系列课程,包括:<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn <br />rn</p>rn<ul>rn <li>rn &nbsp; 《YOLOv3目标检测实战:训练自己的数据集》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测实战:交通标志识别》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测:原理与源码解析》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测:网络模型改进方法》rn </li>rn</ul>rn<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 建议先学习课程《<span>YOLOv3</span>目标检测实战:训练自己的数据集》或课程《<span>YOLOv3</span>目标检测实战:交通标志识别》,对<span>YOLOv3</span>的使用方法了解以后再学习本课程。<span></span> rn</p>rn<p>rn <br />rn</p>rn<p>rn <span></span><span></span><span></span><span></span> rn</p>

目标检测-YOLOv3原理

06-07

<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn Linux创始人<span>LinusrnTorvalds</span>有一句名言:<span>Talk is cheap, Show me the code.</span>(冗谈不够,放码过来!)。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn YOLOv3的实现<span>Darknet</span>是使用<span>C</span>语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 本课程将解析<span>YOLOv3</span>的实现原理和源码,具体内容包括:<span></span> rn</p>rn<p align="left" class="MsoNormal" style="text-indent:-18pt;background:white;">rn <br />rn</p>rn<ul>rn <li>rn &nbsp; &nbsp; &nbsp;<span>YOLO目标检测原理&nbsp;</span> rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;代码阅读工具及方法&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;深度学习计算的利器:BLAS和GEMM&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;GPU的CUDA编程方法及在Darknet的应用&nbsp;rn </li>rn <li>rn &nbsp; &nbsp; &nbsp;YOLOv3的程序流程及各层的源码解析rn </li>rn</ul>rn<!--[if !supportLists]-->rn<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 本课程将提供注释后的<span>Darknet</span>的源码程序文件。<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 除本课程《<span>YOLOv3</span>目标检测:原理与源码解析》外,本人推出了有关<span>YOLOv3</span>目标检测的系列课程,包括:<span></span> rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn <br />rn</p>rn<ul>rn <li>rn &nbsp; 《YOLOv3目标检测实战:训练自己的数据集》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测实战:交通标志识别》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测:原理与源码解析》rn </li>rn <li>rn &nbsp; 《YOLOv3目标检测:网络模型改进方法》rn </li>rn</ul>rn<p>rn <br />rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn &nbsp;rn</p>rn<p align="left" class="MsoNormal" style="background:white;">rn 建议先学习课程《<span>YOLOv3</span>目标检测实战:训练自己的数据集》或课程《<span>YOLOv3</span>目标检测实战:交通标志识别》,对<span>YOLOv3</span>的使用方法了解以后再学习本课程。<span></span> rn</p>rn<p>rn <br />rn</p>rn<p>rn <span></span><span></span><span></span><span></span> rn</p>

没有更多推荐了,返回首页