深度学习500问——Chapter08:目标检测(10)

2024-05-16 13:52

本文主要是介绍深度学习500问——Chapter08:目标检测(10),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

8.6 目标检测的常用数据集

8.6.1 PASCAL VOC

8.6.2 MS COCO

8.6.3 Google Open Image

8.6.4 ImageNet

8.6.5 DOTA

8.7 目标检测常用标注工具

8.7.1 LabelImg

8.7.2 labelme

8.7.3 Labelbo

8.7.4 RectLabel

8.7.5 CVAT

8.7.6 VIA

8.7.7 其他标注工具

8.8 目标检测工具和框架

参考文献


8.6 目标检测的常用数据集

8.6.1 PASCAL VOC

VOC数据集是目标检测经常用的一个数据集,自2005年起每年举办一次比赛,最开始只有4类,到2007年扩充为20个类,共有两个常用的版本:2007和2012。学术界常用的5k的train/val 2007和 16k 的train/val 2012作为训练集,test 2007 作为测试集,用10k 的train/val 2007+test 2007和 16k的train/val 2012作为训练集,test2012作为测试集,分别汇报结果。

8.6.2 MS COCO

COCO数据集是微软团队发布的一个可以用来图像recognition + segmentation + captioning数据集,该数据集收集了大量包含常见物体的日常场景图片,并提供像素级的实例标注以更精确地评估检测和分割算法的效果,致力于推动场景理解的研究进展。依托这一数据集,每年举办一次比赛,现已涵盖检测、分割、关键点识别、注释等机器视觉的中心任务,是继ImageNet Chanllenge以来最有影响力的学术竞赛之一。

相比ImageNet,COCO更加偏好目标与其场景共同出现的图片,即non-iconic images。这样的图片能够反映视觉上的语义,更符合图像理解的任务要求。而相对的iconic images则更适合浅语义的图像分类等任务。

COCO的检测任务共含有80个类,在2014年发布的数据规模分 train/val/test 分别为 80k/40k/40k,学术界较为通用的划分是使用train和35k的val子集作为训练集(trainval35k),使用剩余的val作为测试集(minival),同时向官方的evaluation server提交结果(test-dev)。除此之外,COCO官方也保留一部分test数据作为比赛的评测集。

8.6.3 Google Open Image

Open Image是谷歌团队发布的数据集。最新发布的Open Images V4包含190万图像、600个种类,1540万个bounding-box标注,是当前最大的带物体位置标注信息的数据集。这些边界框大部分都是由专业注释人员手动绘制的,确保了它们的准确性和一致性。另外,这些图像是非常多样化的,并且通常包含有多个对象的复杂场景(平均每个图像8个)。

8.6.4 ImageNet

ImageNet是一个计算机视觉系统识别项目,是目前世界上图像识别最大的数据库。ImageNet是美国斯坦福的计算机科学家,模拟人类的识别系统建立的。能够从图片识别物体。Imagenet数据集文档详细,有专门的团队维护,使用非常方便,在计算机视觉领域研究论文中应用非常广,几乎成为了目前深度学习图像领域算法性能检验的”标准“数据集。Imagenet数据集有1400多万幅图片,涵盖2万多个类别;其中有超过百万的图片有明确的类别标注和图像中物体位置的标注。

8.6.5 DOTA

DOTA是遥感航空图像检测的常用数据集,包含2806张航空图像,尺寸大约为 4kx4k,包含15个类别共计188282个实例,其中14个主类,small vehicle 和 large vehicle都是vehicle的子类。其标注方式为四点确定的任意形状和方向的四边形。航空图像区别于传统数据集,有其自己的特点,如尺度变化性更大;密集的小物体检测;检测目标的不确定性。数据划分为 1/6 验证集。1/3 测试集,1/2 训练集。目前发布了训练集和验证集,图像尺寸从 800x800 到 4000x4000不等。

8.7 目标检测常用标注工具

8.7.1 LabelImg

LabelImg 是一款开源的图像标注工具,标签可用于分类和目标检测,它是用Python编写的,并使用Qt作为其图形界面,简单好用。注释以PASCAL VOC格式保存为 XML文件,这是ImageNet使用的格式。此外,它还支持COCO数据集格式。

8.7.2 labelme

labelme 是一款开源的图像/视频标注工具,标签可用于目标检测、分割和分类。灵感是来自于MIT开源的一款标注工具LebelMe。labelme具有的特点是:

  • 支持图像的标注的组件有:矩形框,多边形,圆,线,点(rectangle,polygons,circle,lines,points)
  • 支持视频标注
  • GUI自定义
  • 支持导出VOC格式用于 semantic/instance segmentation
  • 支持导出COCO格式用于 instance segmentation

8.7.3 Labelbox

Labelbox 是一家为机器学习应用程序创建、管理和维护数据集的服务提供商,其中包含一款部分免费的数据标签工具,包含图像分类和分割,文本,音频和视频注释的接口,其中图像视频标注具有的功能如下:

  • 可用于标注的组件有:矩形框,多边形,线,点,画笔,超像素等(bounding box,polygons,lines,points,brush,subpixels)
  • 标签可用于分类,分割,目标检测等
  • 以 JSON / CSV / WKT / COCO / Pascal VOC 等格式导出数据
  • 支持 Tiled Imagery(Maps)
  • 支持视频标注(快要更新)

8.7.4 RectLabel

RectLabel 是一款在线免费图像标注工具,标签可用于目标检测、分割和分类。具有的功能或特点:

  • 可用的组件:矩形框,多边形,三次贝塞尔曲线,直线和点,画笔,超像素
  • 可只标记整张图像而不绘制
  • 可使用画笔和超像素
  • 导出为 YOLO,KITTI,COCO JSON 和 CSV格式
  • 以 PASCAL VOC XML 格式读写
  • 使用 Core ML模型自动标记图像
  • 将视频转换为图像帧

8.7.5 CVAT

CVAT是一款开源的基于网络的交互式视频/图像标注工具,是对加州视频标注工具(Video Annotation Tool)项目的重新设计和实现。

OpenCV团队正在使用该工具来标注不同属性的数百万个对象,许多 UI 和 UX 的决策都基于专业数据标注团队的反馈。具有的功能:

  • 关键帧之间的边界框插值
  • 自动标注(使用TensorFlow OD API 和 Intel OpenVINO IR格式的深度学习模型)

8.7.6 VIA

VGG Image Annotator(VIA)是一款简单独立的手动注释软件,适用于图像,音频和视频。VIA在Web浏览器中运行,不需要任何安装或设置。页面可在大多数现代Web浏览器中作为离线应用程序运行。

  • 支持标注的区域组件有:矩形,圆形,椭圆形,多边形,点和折线。

8.7.7 其他标注工具

​ liblabel,一个用 MATLAB 写的轻量级 语义/示例(semantic/instance) 标注工具。 ImageTagger:一个开源的图像标注平台。 Anno-Mage:一个利用深度学习模型半自动图像标注工具,预训练模型是基于MS COCO数据集,用 RetinaNet 训练的。

​ 当然还有一些数据标注公司,可能包含更多标注功能,例如对三维目标检测的标注(3D Bounding box Labelling),激光雷达点云的标注(LIDAR 3D Point Cloud Labeling)等。

8.8 目标检测工具和框架

各种不同的算法虽然部分官方会有公布代码,或者github上有人复现,但是由于安装环境不一,实现的框架(pytorch、C++、Caffee、tensorflow、MXNet等)不同,每次更换算法都需要重新安装环境,并且代码之间的迁移性差,十分不方便。所以为了方便将不同的算法统一在一个代码库中,不同的大厂都提出了自己的解决方案。如facebook的Detectron、商汤科技的mmdetection、SimpleDet等。其中Detectron最早,所以用户量最大,其次是国内近段时间崛起的mmdetection,下面介绍该目标检测工具箱。

1. Introduction

MMdetection 特点:

  • 模块化设计:将不同网络的部分进行切割,模块之间具有很高的复用性和独立性(十分便利,可以任意组合)
  • 高效的内存使用
  • SOTA

2. Support Frameworks

  • 单阶段检测器

        SSD、RetinaNet、FCOS、FSAF

  • 两阶段检测器

        Faster R-CNN、R-FCN、Mask R-CNN、Mask Scoring R-CNN、Grid R-CNN

  • 多阶段检测器

        Cascade R-CNN、Hybrid Task Cascade

  • 通用模块和方法

        soft-NMS、DCN、OHEN、Train from Scratch 、M2Det 、GN 、HRNet 、Libra R-CNN

3. Architecture

模型表征:划分为以下几个模块:
Backbone(ResNet等)、Neck(FPN)、DenseHead(AnchorHead)、RoIExtractor、RoIHead(BBoxHead/MaskHead)

4. Notice

  • 1x代表12epoch的COCO训练,2x类似推导
  • 由于batch-size一般比较小(1/2这样的量级),所以大多数地方默认冻结BN层。可以使用GN代替。

5. 参考链接 mmdetection代码高度模块化,十分好用和便利,更详细的文档直接参见官方文档: GitHub - open-mmlab/mmdetection: OpenMMLab Detection Toolbox and Benchmark

注释版的mmdetection代码(更新至v1.0.0):GitHub - ming71/mmdetection-annotated: mmdetection源码注释

使用方法简介: 安装记录(可能过时,以官方文档为准):https://ming71.github.io/mmdetection-memo.html 使用方法(截止更新日期,如果过时以官方为准):https://ming71.github.io/mmdetection-instruction.html

参考文献

GitHub - amusi/awesome-object-detection: Awesome Object Detection based on handong1587 github: https://handong1587.github.io/deep_learning/2015/10/09/object-detection.html

GitHub - hoya012/deep_learning_object_detection: A paper list of object detection using deep learning.

Object Detection - handong1587

深度学习在 small object detection 有什么进展? - 知乎

该博客已过期

RFBNet高精度检测算法笔记_rfb多尺度特征-CSDN博客

[1] Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2014: 580-587.

[2] Girshick R. Fast r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1440-1448.

[3] He K, Zhang X, Ren S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 37(9): 1904-1916.

[4] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91-99.

[5] Lin T Y, Dollár P, Girshick R, et al. Feature pyramid networks for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 2117-2125.

[6] He K, Gkioxari G, Dollár P, et al. Mask r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2961-2969.

[7] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37.

[8] Fu C Y, Liu W, Ranga A, et al. Dssd: Deconvolutional single shot detector[J]. arXiv preprint arXiv:1701.06659, 2017.

[9] Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 779-788.

[10] Redmon J, Farhadi A. YOLO9000: better, faster, stronger[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 7263-7271.

[11] Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.

[12] Lin T Y, Goyal P, Girshick R, et al. Focal loss for dense object detection[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2980-2988.

[13] Liu S, Huang D. Receptive field block net for accurate and fast object detection[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 385-400.

[14] Zhao Q, Sheng T, Wang Y, et al. M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network[J]. arXiv preprint arXiv:1811.04533, 2018.

这篇关于深度学习500问——Chapter08:目标检测(10)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995090

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识