目标检测及相关算法介绍

文章目录

  • 目标检测介绍
  • 目标检测算法分类
  • 目标检测算法模型组成
  • 经典目标检测论文

在这里插入图片描述

目标检测介绍

目标检测是计算机视觉领域中的一项重要任务,旨在识别图像或视频中的特定对象的位置并将其与不同类别中的对象进行分类。与图像分类任务不同,目标检测不仅需要识别出图像中的对象,还需要确定这些对象在图像中的准确位置,同时通过矩形边界框(Bounding Box)来表示。在自动驾驶领域,目标检测技术具有重要的应用,帮助自动驾驶系统识别和理解道路上的环境,从而做出适当的驾驶决策。以下是目标检测在自动驾驶领域的一些主要应用:

  • 行人检测: 目标检测可用于识别道路上的行人,包括行人的位置和动态行为。这对于确保行人的安全以及避免与行人的碰撞非常重要。
  • 车辆检测: 自动驾驶车辆需要准确地检测其他车辆的位置、速度和行驶方向,以便在交通中做出正确的驾驶决策,如超车、跟车等。
  • 交通信号灯和标志检测: 目标检测可以帮助车辆识别交通信号灯的状态(红灯、绿灯、黄灯)以及道路上的交通标志,从而调整行驶速度和行为。
  • 道路边缘和障碍物检测: 自动驾驶车辆需要检测道路边缘和障碍物,以保持在正确的车道内并避免与障碍物发生碰撞。
  • 自动驾驶中的人体姿态估计: 目标检测可以用于估计驾驶员或乘客的身体姿态,以便自动驾驶系统可以更好地理解车内的情况。
  • 环境感知和感知预测: 目标检测可以帮助自动驾驶系统感知周围环境中的不同目标,并预测它们的行为和轨迹,以做出相应的驾驶决策。
  • 道路几何检测: 目标检测可以用于检测道路的几何特征,如车道线和路缘石,以提供更准确的定位和导航信息。
  • 自动泊车: 在自动泊车场景中,目标检测可用于检测停车位的位置和大小,以及其他可能的障碍物,以确保安全的泊车过程。

目标检测算法分类

目标检测算法可以有多种划分方法。按照stage个数划分,可以分为:one-stage(一阶段)算法和two-stage(两阶段)算法,按照是否需要预定义anchor划分,也可分为anchor-based和anchor-free。以下是按照stage个数进行划分的案例:

  • one-stage代表算法: RetinaNet、YOLO系列、FCOS、SSD等。

  • two-stage代表算法: R-CNN、SPPNet、Fast R-CNN、Faster R-CNN、Mask R-CNN、Cascade R-CNN、Sparse R-CNN等。

  • 理解: two-stage算法会先①生成一个候选区域(region proposal),然后②利用CNN对每个候选区域进行分类;而one-stage算法则一步到位,直接输出每个候选区域及对应的分类结果。

  • Anchor-Based(基于锚点的方法):Faster R-CNN、YOLO系列、SSD、Cascade R-CNN、RetinaNet

  • Anchor-Free(无锚点方法):CenterNet、FCOS、CornerNet

目标检测算法模型组成

目标检测算法训练阶段的模型主要由以下几个部分组成,分别是:Backbone、Neck、Head、Enhance、BBox Assigner、BBox Sampler、BBox Encoder、 Loss组成。

  • Backbone: Backbone(主干网络)的主要作用是特征提取。常见的Backbone有:ResNet、ResNext、Res2Net、ResNeSt、DarkNet、HRNet、RegNet等。

  • Neck: Neck可以认为是Backbone和Head的连接层,主要负责对Backbone提取的的特征进行高效融合和增强,能够对输入的单尺度或者多尺度特征进行融合、增强输出等。常见的Neck有:FPN、BFP、RFP、PAFPN、NAS_FPN、HRFPN等。

  • Head: 目标检测算法输出一般包括分类(比如:人、汽车等)和框坐标回归(标记"人"的矩形框对应的坐标)两个分支。

  • Enhance: Enhance是即插即用、能够对特征进行增强的模块。常用的Enhance模块有:SPP、ASPP、RFB、Dropout、Dropblock、DCN以及各种注意力模块SeNet、Non_local、CBA等。

  • BBox Assigner: 待更新

  • BBox Sampler: 待更新

  • BBox Encoder: 待更新

  • Loss: Loss(损失)通常分为分类Loss和回归Loss,主要对Head网络输出的预测值和BBox encoder得到的targets进行梯度下降迭代训练。常见的分类Loss有:BCELoss、CELoss、FocalLoss、QualityFocalLoss、VarifocalLoss、GaussianFocalLoss、GHMC、OHEM等;常见的回归Loss有:L1/L2 Loss、SmoothL1Loss、BalancedL1Loss、DistributionFocalLoss、GHMR、IoU/BoundeIoU/GIoU/CIoU Loss等。

  • 训练技巧: 目标检测算法的训练技巧非常多,常说的调参很大一部分工作都是在设置这部分超参。这部分内容比较杂乱,很难做到完全统一,目前主流的tricks有:大batch训练、分布式训练和同步BN、Warm Up、余弦学习率、多尺度训练、模型EMA、知识蒸馏、Label Smoothing、对抗训练、随机权重平均、遗传算法自动超参数搜索等。

  • 图像数据增强: 图像数据增强旨在通过对原始图像进行一系列变换和修改,从而生成更多、多样化的训练样本。常见的数据增强方法有:常规的图像数据增强(翻转、旋转、平移、缩放、裁剪、色彩变换、噪声添加等)、AutoAug、RandAug、MixUp/CutMix、Mosaic、Stitcher等。

经典目标检测论文

  • R-CNN (Region-based Convolutional Neural Networks): [2014-CVPR] Rich feature hierarchies for accurate object detection and semantic segmentation. [pdf]
  • Fast R-CNN: [2015-ICCV] Fast R-CNN. [pdf]
  • Faster R-CNN: [2015-NeurIPS] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks [pdf]
  • YOLO (You Only Look Once): [2016-CVPR] You Only Look Once: Unified, Real-Time Object Detection. [pdf]
  • SSD (Single Shot MultiBox Detector): [2016-ECCV] SSD: Single Shot MultiBox Detector. [pdf]
  • RetinaNet: [2017-CVPR] Focal Loss for Dense Object Detection. [pdf]
  • EfficientDet: [2020-CVPR] EfficientDet: Scalable and Efficient Object Detection. [pdf]
  • Cascade R-CNN: [2018-CVPR] Cascade R-CNN: Delving into High Quality Object Detection [pdf]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/667796.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OfficeWeb365 Readfile 任意文件读取漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

主品牌竞争方向之洞察竞争环境变化

随着市场环境加速变化,如果只停留在过去,未能及时进化的主品牌可能会逐渐老化,失去市场竞争力,甚至被新兴竞争对手所取代。因此,企业需要不断洞察竞争环境变化,避免企业走向衰退,让主品牌进化&a…

TrinityCore安装记录

TrinityCore模拟魔兽世界(World of Warcraft)的开源项目,并且该项目代码广泛的优化、改善和清理代码。 前期按照官方手册按部就班的安装即可。 注意几点: 1 需要配置Ubuntu22.04版本的服务器或者Debian11 服务器。2 需要使用gi…

网易和腾讯面试题精选---缓存面试问题和答案

介绍 在当今快节奏的数字环境中,数据和资源的高效管理对于确保最佳应用程序性能、可扩展性和响应能力变得至关重要。缓存是一种用于将频繁访问的数据存储在更接近使用点的技术,在提高系统效率、减少延迟和改善各种计算环境中的用户体验方面发挥着关键作用。本文深入探讨了缓存…

Office恢复旧UI|Office UI问题|Word UI|小喇叭找不到

Office恢复旧UI|Office UI问题|Word UI|小喇叭找不到 问题描述:Office新版本默认新UI,主界面没有小喇叭可以切换到旧UI. 解决方案: 以下述内容新建.txt,保存并改后缀为.reg,双击打开…

Flink生产环境常见问题及解决方法

在Flink生产环境中,可能会遇到一些常见的问题。下面简单的介绍几个常见问题,并且提供一些解决方法,来帮助你更好地应对这些问题。 故障转移和高可用性 Flink提供了故障转移和高可用性机制,但在配置和使用时可能会遇到问题。如果…

154基于matlab的二维元胞自动机模拟森林火灾(生命游戏 )和模拟收费站交通流

基于matlab的二维元胞自动机模拟森林火灾(生命游戏 )和模拟收费站交通流。全国大学生美国建模竞赛,程序已调通,可直接运行。 154 元细胞自动机 森林起火 收费站交通 (xiaohongshu.com)

unity 如何将字典显示在Inspector面板上

主要通过ISerializationCallbackReceiver接口来实现, 将所有的Value值存入List显示即可. 这里在value里存了一个Key 也可以将Key和value分别保存 public interface RecordValue<T>{public T Key { get; }}[Serializable]public class RecordDictionary<TKey, TValue&g…

Linux的库文件

概述&#xff1a; 库文件一般就是编译好的二进制文件&#xff0c;用于在链接阶段同目标代码一块生成可执行文件&#xff0c;或者运行可执行文件的时候被加载&#xff0c;以遍调用库文件中的某段代码。 动态链接都是索引的.so文件&#xff0c;静态链接都是压缩打包的.a文件。 …

rust原生语言对比 <在rust内> 执行javascirpt与lua解释型语言的性能

对于javascript我使用的是js-sandbox库。我测试当前js-sandbox的release版本是0.1.6不知道为什么无法在mac下正常运行,只能以path的方式指向js-sandbox的源码了。 对于lua我使用的是rlua库,版本号为0.19.8。 我有两个系统都做了测试,ubuntu和mac。 先看代码 use js_sandb…

Python新春烟花盛宴

写在前面 哈喽小伙伴们&#xff0c;博主在这里提前祝大家新春快乐呀&#xff01;我用Python绽放了一场新春烟花盛宴&#xff0c;一起来看看吧&#xff01; 环境需求 python3.11.4及以上PyCharm Community Edition 2023.2.5pyinstaller6.2.0&#xff08;可选&#xff0c;这个库…

深度学习的进展:人工智能时代的里程碑

深度学习的进展&#xff1a;人工智能时代的里程碑 摘要 深度学习作为机器学习领域的重要分支&#xff0c;近年来取得了巨大的进展。本文将回顾深度学习的发展历程&#xff0c;探讨其在图像识别、自然语言处理和语音识别等领域的重要应用&#xff0c;并展望深度学习在人工智能…

报错:string sub-command REGEX, mode MATCH needs at least 5 arguments

编译的时候碰到这个报错string sub-command REGEX, mode MATCH needs at least 5 arguments搜索到这个issue&#xff1a;Error with cmake build "string sub-command REGEX, mode MATCH needs at least 5 arguments" Issue #12959 zephyrproject-rtos/zephyr Git…

React实例之完善布局菜单(三)

接着上篇的内容继续。规划界面布局。界面分为三个部分&#xff0c;左边为菜单部分&#xff0c;右边上部有个 80 px 高度左右的功能区&#xff0c;下面是主内容区。 依据这个设计&#xff0c;我们进行下面的步骤&#xff1a; 在 SMenu项目中创建一个目录&#xff1a; SLayout, …

iPhone搞机记录

-iPhone 8 或以上 设备进入DFU模式的方法&#xff1a; &#xff08;适用&#xff1a;iPhone 8/8 Plus、iPhone X 系列、iPad Pro3 (11-inch)/(12.9-inch)&#xff09; 1.保持设备处于开机或恢复模式下&#xff0c;插入数据线。 2.按一次设备的“音量加键”松开、再按一次“音量…

aspose-words在linux上安装字体

大多数情况下,使用 Aspose.Words 将 DOC 或 DOCX 文档转换为 PDF 格式。如果需要在 Linux 计算机上执行此操作,确保 Aspose.Words 以最佳准确性渲染文档。 最常见的是,需要转换的 DOC 和 DOCX 文档是在 Windows 或 Mac OS 操作系统上使用 Microsoft Word 创建的。因此,DOC…

C++实战Opencv第二天——色彩空间转换函数和opencv中图像对象创建与赋值(从零开始,保姆教学)

OpenCV是一个强大的计算机视觉库&#xff0c;使用C作为主要编程语言&#xff0c;对于图像处理和计算机视觉领域具有重要意义。其提供了丰富的功能和算法&#xff0c;使得开发者能够快速实现各种图像处理和计算机视觉应用。OpenCV C为图像处理和计算机视觉领域的开发者提供了一个…

【实战】阿里智能编码助手通义灵码

文章目录 前言技术积累通义灵码是什么&#xff1f;Copilot是什么&#xff1f;通义灵码主要功能通义灵码有哪些优势&#xff1f;通义灵码支持语言/工具通义灵码接入方式通义灵码帮助中心 实战演示安装插件行/函数级实时续写自然语言生成代码代码优化单元测试生成代码注释生成解释…

【RPA】什么是RPA

一、什么是RPA? RPA&#xff0c;全称机器人流程自动化&#xff0c;是一种利用机器人技术实现工作信息与业务交互自动化的过程。它能够按照预先设计的流程&#xff0c;高效地处理大量的工作信息与业务交互&#xff0c;极大地节约了人工成本。如今&#xff0c;RPA已成为智能化软…

贪心算法篇

“靠漫步&#xff0c;将生趣填饱~” 贪心算法简介&#xff1f; 贪心算法&#xff08;Greedy Algorithm&#xff09;&#xff0c;也称为贪婪算法&#xff0c;是一种在解决问题时采取贪心策略的方法。其基本原理是很简单的&#xff1a; “在每个决策点上都选择当下看似最好的选项…