精华内容
下载资源
问答
  • 对于卷积神经网络框架、anchor-based模型和anchor-free模型三个主流的目标检测模型进行梳理。首先,综述了主流卷积神经网络框架的网络结构、优缺点以及相关的改进方法;其次从one-stage和two-stage两个分支对anchor-...
  • Detectron的pytorch实现。 从零开始训练并可用直接从预训练的Detectron权重推断。
  • 目标检测框架

    千次阅读 2019-01-28 20:29:52
    以行人检测为例,该方法将目标检测规约为一个二分类问题。首先在训练过程中,根据标注信息将正样本剪裁,并缩放至统一分辨率,然后随机剪裁一些背景图像作为负样本。分别提取正样本和负样本的HOG特征,利用HOG特征...

    1、SVM+HOG

    区域生成方法:滑动窗口;
    特征:HOG;
    检测范式:手工特征+分类器;
    SVM+HOG过去常常用于行人检测和车辆检测。以行人检测为例,该方法将目标检测规约为一个二分类问题。首先在训练过程中,根据标注信息将正样本剪裁,并缩放至统一分辨率,然后随机剪裁一些背景图像作为负样本。分别提取正样本和负样本的HOG特征,利用HOG特征训练二分类SVM分类器。在测试阶段,采用滑动窗口的方式,建立一个图像金字塔。金字塔的每一层对应图像中的一个区域。提取金字塔每一层上子图像的HOG特征,并用SVM分类器判断样本属于正类还是负类。如果是正类,则认为该区域对应了行人。最后将所有检测到的结果用非最大值抑制算法进行后处理,得到最终的检测结果。

    2、DPM

    区域生成方法:滑动窗口;
    特征:HOG;
    检测范式:手工特征+根分类器+部件分类器;
    DPM检测框架主要用于检测形变物体。与SVM+HOG相比,DPM不仅训练整体目标的根检测器,还训练目标部件的部件检测器。在检测过程中,分别用根检测器和部件检测器在图像的HOG特征图上做二分类,得到各自的响应图。然后将根检测器、部件检测器的响应图相加,得到融合响应图。融合响应图上幅值较大的区域为潜在的目标区域。最后同样采用非最大值抑制对检测框后处理,得到最终检测结果。

    3、R-CNN/Fast R-CNN

    区域生成方法:Selective search;
    特征:CNN;
    检测范式:区域建议+卷积特征的非端到端检测;

    4、Faster R-CNN/R-FCN

    区域生成方法:RPN网络;
    特征:CNN;
    检测范式:端到端的特征提取+分类;

    5、Mask R-CNN

    区域生成方法:RPN网络;
    特征:CNN;
    检测范式:多任务联合学习;

    6、SSD/DSSD

    区域生成方法:直接构造(锚点);
    特征:CNN;
    检测范式:端到端检测(one stage);

    7、YOLO v1-v3

    区域生成方法:直接构造(网格);
    特征:CNN;
    检测范式:端到端检测(one stage);

    R-CNN与SVM+HOG框架的检测思路一致,区别在于釆用的区域生成算法和特征提取算法不同。为了降低检测算法的搜索空间,R-CNN采用selective search区域建议算法来代替滑动窗口。与滑动窗口方法相比,selective search能够极大的减少候选窗口的数量,从而加快检测速度,并降低误检率。另一方面,R-CNN采用卷积神经网络提取图像特征,代替原有的HOG特征。与低层HOG特征相比,卷积特征具有层级式的特征结构和更强的表达能力。因此,R-CNN的检测准确度要远超SVM+HOG框架。

    尽管采用卷积神经网络提取图像特征能显著提高检测准确度,但R-CNN检测算法存在较多的冗余计算,当selective search算法给出的候选窗口存在重叠区域时,R-CNN会重复提取这部分的特征。对此,Girshick等提出先整体对全图提取卷积特征,再根据候选窗口在特征图上截取相应的区域,作为该候选窗口的特征,最后釆用ROI-Pooloing进行分辨率对齐。采用这一方法,Fast R-CNN相比R-CNN算法在检测速度上有显著提升。Faseter R-CNN是基于Fast R-CNN的改进算法。尽管Fast R-CNN降低了特征提取阶段的计算时间,但区域建议算法selective search算法本身的时间复杂度仍然较高。为此,Faster R-CNN提出了端到端训练的RPN区域建议网络,能够极大的降低区域建议算法的计算时间。与R-CNN、Fast R-CNN相比,Faster R-CNN能够在提高检测准确度的同时降低检测时间消耗。

    尽管Fast R-CNN通过在后选窗口之间共享特征图的方式来避免重复地提取特征,但全连接层在ROI-Pooloing之后仍然存在冗余计算,对此,He等提出了Region-based Fully Convolution Network(R-FCN**)检测算法,采用类似的思想,使得全连接层共享ROI-Pooloing的输出结果,最终提高了检测速度。

    多尺度特征通常能够提高目标检测算法的性能,但Faster R-CNN测算法并未考虑这一点。针对这一问题,Lin等提出了FPN检测算法。祌经网络的感受野随深度的增加而不断扩大,这使得位于不同层级的卷积特征具有拉普拉斯金字塔的多尺度结构。利用这一性质,FPN检测算法采用跳跃链接,将不同层的输出进行融合,作为多尺度特征。这一方法可以在不显著增加计算复杂度的前提下提高目标检测系统的性能。

    Fast R-CNN和Faster R-CNN均采用区域建议算法生成候选框,这种先生成候选框再检测的框架一般被称为两步检测算法(Two-stage)。这种检测范式的优点是准确度高,正样本和负样本较为平衡。但缺点是区域建议算法需要消耗额外的计算时间。SSD是一类单步检测算法(One-stage),采用一组默认的候选框来代替区域建议算法。在检测阶段,该算法在每一个候选框上预测目标类型,并根据标注信息对检测框微调。因此,SSD成功的将目标检测中所有的运算集成到了单个卷积神经网络中,大大提高目标检测的速度。另一个具有代表性的单步检测算法是YOLO。这类单步检测算法随着检测速度快,但是由于采用了默认候选框,因此很难保证正样本和负样本之间的平衡。

    Mask R-CNN是基于Faster R-CNN的改进算法,在原有检测任务的基础上添加语义分割侧枝,实现目标识别、检测和语义分割的并行处理。其中,新增的语义分割侧支是一个以ROI为输入的小型全卷积网络FCN(Fully Convolution Network)网络,并进行端到端的像素式分类预测。该方法是一个简单、高效和灵活的一般性框架,不仅可以用于目标识别、检测和语义分割,也可以用于姿态估计等。多任务联合学习是一个有潜力的研宄方向,联合学习通常能够比单任务学习获得更好的性能。

    主流的检测算法在大尺度物体上的检测效果较好,但对小目标的检测效果不佳。针对这一问题,Bharat等对目标检测中的尺度问题进行深入分析,并通过实验验证了上采样有助于小物体的检测,并据此提出了SNIP检测算法。主流的目标检测算法在训练时不区分大小物体的梯度信号,而SNIP算法将梯度信号视为尺度的一个函数,在训练的后向传递阶段,根据目标尺度选择性的回传梯度信号,在预测阶段,建立图像金字塔并筛选出在指定尺度范围内的输出,最后采用NMS算法融合不同分辨率下的检测结果。该方法在COCO检测数据集上取得了很好的结果。

    展开全文
  • 目标检测基本框架

    2021-01-02 22:19:06
    目标检测框架目标检测框架组成BackboneHeadNeck提升检测效率全卷积FCN多特征检测—不同尺度的特征图相加SSD多尺度融合—特征金字塔FPN注意力机制目标检测的评价参数AccPrecision—查准率Recall—查全率AP—PR曲线下...

    前言:学长讲的目标检测入门,我就随手记了个大框架,感觉深度学习迭代太快,具体模型特点还是各自看论文吧~
    本文可能存在拼写/部分错误,重点是框架啊哈哈哈。 另,欢迎指正!

    目标检测框架组成

    Backbone

    • 提取:目标独有(黑盒子)的特征
    • 特征提取器:VGG,ResNet

    Head

    • 识别/分割/掩码-马赛克等具体任务

    Neck

    • FPN结构(2016)
    • ASFF
    • RFB
    • SPP

    提升检测效率

    目的:提取有效特征

    全卷积FCN

    全连接转化为1*1的全卷积

    • 优点:可以接受任意大小的输入图像,更加高效
    • 缺点:得到结果不够精细,缺乏空间一致性

    多特征检测—不同尺度的特征图相加SSD

    2016 Single Shot MultiBox–SSD

    多尺度融合—特征金字塔FPN

    同Neck部分

    注意力机制

    目的:更快get目标

    • 自上而下——主动——聚焦式注意力【normal】
    • 自下而上——被动——显著性注意力
    • 例如:SENet(2018),SKNet(2019),CBAM

    目标检测的评价参数

    • TP—IoU>0.5的检测框数量
      True Positive (TP): (同一Ground Truth只计算一次)
    • FP—IoU<=0.5的检测框数量
      False Positive (FP): 检测到同一个GT的多余检测框的数量
    • FN—没有检测到的GT数量
    • TN—不会使用到mAP中

    Acc

    所有样本
    A c c = T P + T N T P + T N + F P + F N Acc=\frac{TP+TN}{TP+TN+FP+FN} Acc=TP+TN+FP+FNTP+TN

    Precision—查准率

    所有正样本(检测出来的)
    P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP

    Recall—查全率

    所有正确识别的概率
    P r e c i s i o n = T P T P + F N Precision=\frac{TP}{TP+FN} Precision=TP+FNTP

    AP—PR曲线下面积

    A P = ∑ P r ∑ r AP=\frac{\sum P_r}{\sum r} AP=rPr

    mAP—mean Average Precision

    m A P = A P t o t a l c l a s s mAP=\frac{AP}{total_{class}} mAP=totalclassAP

    IoU

    交并比(IOU)是度量两个检测框(对于目标检测来说)的交叠程度。
    I o U = a r e a ( B p ∩ B g t ) a r e a ( B p ∪ B g t ) B g t 目 标 实 际 的 边 框 ; B p 预 测 的 边 框 IoU=\frac{area(B_p\cap B_{gt})}{area(B_p\cup B_{gt})} \\B_{gt}目标实际的边框;B_p预测的边框 IoU=area(BpBgt)area(BpBgt)BgtBp

    目标检测的平台

    • detection2
      • pytorch
    • MMdetection
      • pytorch
      • 港中文-商汤
      • github/open-mmlab/mmdetection
    • maskrcnn-benchmark
    • SimpleDet
      • pytorch
      • 图森未来
    • Tensorpack
      • tensorflow

    目标检测方法

    { 阶 段 { o n e − s t a g e : Y O L O 1 ( 2016 ) , S S D , P o l a r − N e t ( 2019 ) t w o − s t a g e : R − C N N 2014 , D y n a m i c R − C N N 2020 锚 框 { a n c h o r : F a s t e r − R − C N N , S S D , Y O L O v 2 + a n c h o r − f r e e : F C O S \begin{cases} 阶段\begin{cases} one-stage:YOLO1(2016),SSD,Polar-Net(2019) \\two-stage:R-CNN2014,Dynamic R-CNN2020 \end{cases} \\锚框\begin{cases} anchor:Faster-R-CNN,SSD,YOLOv2+ \\anchor-free:FCOS \end{cases} \end{cases} {onestage:YOLO1(2016),SSD,PolarNet(2019)twostage:RCNN2014,DynamicRCNN2020{anchor:FasterRCNN,SSD,YOLOv2+anchorfree:FCOS

    目标检测过程

    数据集打标签

    • LabelIme:曲面边缘
    • OpenCV/CVAT:MASK-R-CNN
    • VOTT,VIA
    • PixelAnnotationTool:超分辨率

    数据集类型

    • 语义分割:semantic segmentation
    • 实例分割:instance
    • 常用:VOC&COCO

    数据集的文件格式,需要转换为模型输入的格式(比如记录锚框位置信息的XML)

    环境配置注意

    • CUDA的版本需要对应硬件GPU,cudan

    设置参数训练Train&验证validation&(测试test)&调参

    展开全文
  • PyTorch实现的faster RCNN目标检测框架
  • 目标检测最好用的三个框架

    千次阅读 2020-04-03 16:21:06
    目标检测三大开源神器:Detectron2/mmDetection/SimpleDet http://blog.itpub.net/69946223/viewspace-2674254/ 2019下半年最新监测方法 https://zhuanlan.zhihu.com/p/96115519

    目标检测三大开源神器:Detectron2/mmDetection/SimpleDet
    http://blog.itpub.net/69946223/viewspace-2674254/

    2019下半年最新监测方法
    https://zhuanlan.zhihu.com/p/96115519

    展开全文
  • Detectron2 维护团队:Facebook ...这个项目后面 Amusi 会单独写一篇文章来介绍,AdelaiDet 主要是阿德莱德大学沈春华团队维护的项目,涉及目标检测、实例分割、文本检测等方向。比如包含了SOLOv1-v

    Detectron2

    维护团队:Facebook

    所属框架:PyTorch

    https://github.com/facebookresearch/detectron2

    基于Detectron2二次开发的开源项目

    AdelaiDet:实例级识别任务开源工具箱

    https://github.com/aim-uofa/AdelaiDet

    这个项目后面 Amusi 会单独写一篇文章来介绍,AdelaiDet 主要是阿德莱德大学沈春华团队维护的项目,涉及目标检测、实例分割、文本检测等方向。比如包含了SOLOv1-v2、FCOS、BlendMask、CondInst等工作。

    像最近 CVPR 2020、ECCV 2020上有不少好的工作也都是基于 Detectron2开发的,比如DETR、CenterMask:

    https://github.com/facebookresearch/detr

    https://github.com/youngwanLEE/centermask2

    https://github.com/youngwanLEE/vovnet-detectron2

    https://github.com/shenyunhang/NA-fWebSOD/

    mmDetection

    维护团队:香港中文大学-商汤联合实验室

    所属框架:PyTorch

    https://github.com/open-mmlab/mmdetection

    基于mmdetection二次开发的开源项目

    基于mmdetection 开发的开源项目特别特别多,比如最近CVPR 2020上很多检测工作就是基于此开发的。这里就不一一介绍,简单列几个较为知名的:

    https://github.com/Gus-Guo/AugFPN

    https://github.com/FishYuLi/BalancedGroupSoftmax

    https://github.com/JialeCao001/D2Det

    https://github.com/caiqi/sample-weighting-network

    https://github.com/jshilong/SEPC

    https://github.com/Sense-X/TSD

    https://github.com/ggjy/HitDet.pytorch

    SimpleDet

    维护团队:图森未来(TuSimple)

    所属框架:MXNet

    https://github.com/TuSimple/simpledet

    SimpleDet 是一套简单且多功能的目标检测与实例分割的框架。就这么说吧,如果你是用MXNet来开发检测项目,那么直接用SimpleDet就行。SimpleDet 包含的库也相当丰富,如:Faster R-CNN,Mask R-CNN,Cascade R-CNN,RetinaNet,DCNv1/v2,TridentNet,NASFPN , EfficientNet, FOCS,FreeAnchor,RepPoints,和SEPC等

    darknet

    维护团队:AlexeyAB(个人开发者)

    所属框架:darknet(基于C语言编写)

    https://github.com/AlexeyAB/darknet

    说起 darknet 可能有些人并不熟悉,但直接说出它的目标检测真身:YOLO,很多人就知道了。darknet 本身是 YOLO系列中著名的backbone,然后YOLO项目一直放在darknet中。

    本文介绍的darknet并非YOLOv1-v3作者(Joseph Redmon)的darknet,而是YOLOv4作者(AlexeyAB)的darknet,因为Joseph Redmon不再继续维护darknet。

    值得提一下,本文介绍的darknet的github star数是11667!这个数量要高于上面介绍的Detectron2、mmDetection和SimpleDet。而且这三个项目的commits数量全部加起来都比不过darknet。

    darknet中包含的目标检测模型相对上面三大神器要少很多,但个个都是扛把子的,比如YOLO、YOLOv2、YOLOv3和YOLOv4。

    如果你想用C/C++来开发目标检测模型,那么darknet是最适合你的神器

    转自:https://mp.weixin.qq.com/s/CrdkKj2nPiuUVYDs3Ky05g

    展开全文
  • 实现基于贝叶斯框架目标检测技术研究,创建了GUI界面,实现了时间差分法、背景减除法、光流法、高斯背景建模算法等多种算法处理效果对比,还实现了灰度处理、二值化等多种图像处理功能
  • 笔记观看链接:目标检测框架个人总结 (PS:推荐是使用笔记观看链接进行阅读,因为很懒不想在博客再排一次版) 以下是笔记中包含的内容: 目标检测网络框架总结(YOLOV4中有图) 从最开始的神经网络到现在深度更深,...
  • 目标检测框架mmdetection框架的安装与测试

    万次阅读 热门讨论 2019-03-06 16:23:27
    最近利用Conda终于成功安装了mmdetection,说实话,非conda的还真的不好装,特别在.complie的时候,即使成功,总是会出现各种问题,直到conda安装后,才明白之前...这个框架还是非常清晰的,整个代码从骨架,模型,B...
  • 工具包支持 Mask RCNN 等多种流行的检测框架,读者可在 PyTorch 环境下测试不同的预训练模型及训练新的检测分割模型。 项目地址:https://github.com/open-mmlab/mmdetection mmdetection 目标检测工具包 ...
  • 目标检测主流框架论文汇总
  • 目标检测常见的框架

    千次阅读 2019-09-25 00:03:15
    2.检测 r-cnn系列 yolo-ssd 3.多尺度 3.1FPN:采用resnet的策略,进行加法运算。——多尺度的做法。 自底向上其实就是网络的前向过程。在前向过程中,feature map的大小在经过某些层后会改变,而在经过其他...
  • 并结合像素的“Center-Surround冶模型和核密度估计,提出一种能由粗到精逐步感知和获取视场中视觉显著性目标位置及尺度的实时显著目标检测算法,称其为基于贝叶斯框架的显著目标检测. 通过在微软MSRA数据集上进行ROC和...
  • 目标检测框架——mmdetection2.0

    千次阅读 2020-06-23 11:35:35
    目标检测的模型还是很多的,要挨个挨个学还是有点吃力(精力旺盛可忽略),所以这里总结一下当前流行的目标检测框架:darknet yolov4,mmdetection2.0,detectron2.0。至于这三个框架怎么去选择,我的答案是只有你...
  • 前言: faster-RCNN在目标检测精度上已经能够达到一个很高的水准,但是作为RCNN系列的最巅峰,它提出了RPN网络产生推荐性区域,但是它依旧有着一些缺点,这些区域里面有大面积是重合的,影响了计算效率。为了更好地...
  • 摘要:VC/C++源码,多媒体技术,视频跑跑,目标分割 VC++视频处理框架,一款VC++视频目标检测演示框架的【源代码】,视频演示算法包括:  1. 静态背景下的背景预测法目标检测  2. 静态背景下帧间差分法目标检测  3. ...
  • SSD目标检测框架教程--2017.3

    千次阅读 2017-09-27 19:52:33
    SSD目标检测框架教程–2017.3参考文献: 官网: https://github.com/weiliu89/caffe/tree/ssd 博客: http://blog.csdn.net/wizardna521/article/details/53463348 SSD简介SSD是weiliu博士基于caffe,用于实时目标...
  • 基于深度学习的目标检测框架总结

    千次阅读 2018-08-01 15:56:23
    目前比较主流的基于深度学习的目标检测框架主要分为两类,一类是基于two-stage的方法,比如RCNN,Fast RCNN,Faster RCNN,将检测任务分为回归(location)和分类任务。还有基于one-stage的目标检测框架,例如YOLO/...
  • 文章目录 R-CNN :使用区域(region)缩小目标区域 | Fast R-CNN :①在建立区域之前进行特征提取 ②用softmax代替svm | Faster R-CNN :优化搜索算法(RPN)...从RCNN到SSD,这应该是最全的一份目标检测算法盘点 ...
  • Windows10+VS2015+OpenCV3.4.0+CUDA9.0+cuDNN7.0,可以实现目标检测
  • 目标检测框架——Darknet YOLOv4

    千次阅读 2020-06-28 09:53:35
    前言 目标检测的模型还是很多的,要挨个挨个学还是有点吃力(精力旺盛可忽略),所以这里总结一下当前流行的目标检测框架:darknet yolov4,mmdetection2.0,detectron2.0。至于这三个框架怎么去选择,我的答案是...
  • 基于thundernet框架+dlanet网络+shufflenetv2卷积模块的小目标检测--检测框架前言检测算法框架thundernetLighthead-RCNN先验框聚类空间注意力模块PSRoiAlign替换PSRoiPool关于检测框架的实验结果后记 前言 由于实习...
  • CppUnit测试框架入门

    2021-02-27 17:11:47
    XUnit,一个基于测试驱动开发的测试框架,它为我们在开发过程中使用测试驱动开发提供了一个方便的工具,使我们得以快速的进行单元测试。XUnit的成员有很多,如JUnit,PythonUnit等。今天给大家介绍的CppUnit即是...
  • 内容: 训练VOC数据集和coco数据集 测试VOC数据集和coco数据集,并输出各种性能...使用深度学习目标检测框架mmdetection训练自己的数据集,首先配置好环境: 根据之前博客https://blog.csdn.net/qq_35153620/ar...
  • 目标检测models源码

    2020-11-15 14:55:09
    现在的models都不兼容。适配tensorflow1.12+以上的目标检测源码,搞了很多次才下载并实验成功。
  • 基于深度学习的目标检测框架进展研究.pdf
  • 在第一阶段,使用所有标记的数据训练一个目标检测器(例如,Faster RCNN)直到收敛。然后使用训练过的检测器预测未标记图像的边界框和类标签(也就是生成初步的伪标签的过程),如图所示。然后,受FixMatch设计的启发,...
  • detectron2(目标检测框架)无死角玩转-00:目录

    万次阅读 多人点赞 2020-01-16 16:44:25
    接下来,我会为大家无死角的解析detectron2(基于pytorch的目标检测框架),之前的文章,如下(以下是我工作的所有项目,每一个项目都是,我都做了百分百的详细解读,随着项目增多,为了方便不臃肿,所以给出以下链接) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 358,124
精华内容 143,249
关键字:

最好的目标检测框架