【深度学习:目标检测】深度学习中目标检测模型、用例和示例

news2024/12/24 8:58:43

在这里插入图片描述

【深度学习:目标检测】深度学习中目标检测模型、用例和示例

    • 什么是物体检测?
      • 物体检测与图像分类
      • 物体检测与图像分割
    • 计算机视觉中的目标检测
      • 物体检测的优点
      • 物体检测的缺点
      • 深度学习和目标检测
      • 人员检测
    • 物体检测如何工作?
      • 一阶段与两阶段深度学习目标检测器
    • 物体检测用例和应用
      • 物体检测发展里程碑
      • 流行的物体检测算法
        • YOLO:你只看一次
        • SSD: Single-shot Detector
        • R-CNN:基于区域的卷积神经网络
      • 下一步是什么?
    • 使用 Encord 进行物体检测
    • 物体检测:关键要点

物体检测是一种计算机视觉技术,用于检测图像或视频帧中的相关物体。物体检测算法使用复杂的机器学习和深度学习架构来分析图像数据,并识别和定位感兴趣的物体。这些算法的输出包括对象名称和边界框的位置信息。

物体检测有多种实际应用,包括医学成像、安全检测系统和自动驾驶汽车。本文将讨论物体检测、其工作原理和一些实际应用。

让我们深入了解…

什么是物体检测?

简单地说,物体检测是计算机在图像中识别和定位物体的能力。这里的直觉是,与人类一样,机器应该了解其参照系内的所有实体。这些实体可能包括人、动物、汽车、树木等。

然而,计算机视觉已经取得了长足的进步,如今我们可以看到许多先进的机器学习算法用于异议识别和分割。在向前迈进之前,有必要区分一下什么是物体检测,什么不是物体检测。

物体检测与图像分类

图像分类和物体检测都用于识别图像中的实体。不过,图像识别算法会将训练数据中的一个类别与整个图像或视频帧关联起来,而不管其中包含多少信息。例如,猫分类器模型只有在出现猫的情况下才会输出正面响应。此外,分类模型不提供任何有关检测到的物体位置的信息。

物体检测将分类算法向前推进了一步。除了对图像中的多个物体进行分类外,它还会返回与每个实体位置相对应的边界框注释。这些附加功能使 CV 模型可以用于多个实际应用中。

在这里插入图片描述

物体检测 vs. 图像分类 vs. 图像分割

物体检测与图像分割

图像分割与物体检测类似,因为它们执行相同的功能。这两种算法都能检测图像中的物体,并输出用于物体定位的坐标。不过,分割算法不是在物体周围画出整个方框,而是生成精确的遮罩,在像素级别上覆盖物体。

图像分割注释包括图像中包含的实例的精确像素坐标。由于其精确的结果,图像分割更适合现实生活中的应用,如车辆检测。然而,由于算法复杂,与物体检测相比,图像分割模型的计算成本较高。

计算机视觉中的目标检测

物体检测可以自动执行繁琐的任务,以提高各个行业的生产力和效率。

物体检测的优点

这种计算机视觉技术已进入多个行业并帮助实现关键操作的自动化。

大多数现代物体检测模型都用于医学成像,以检测可能被忽视的微小异常,例如肿瘤。这些算法也用于日常应用中。一些常见的用例包括使用安全摄像头进行人员检测以及授权进入/退出的人脸检测。此外,现代模型的效率足以在中型计算机上运行,​​从而进一步扩展了它们的可用性。

物体检测的缺点

虽然目标检测的有用性是不可否认的,但其应用对输入图像很敏感。检测精度取决于图像颜色、对比度、质量以及物体形状和方向。

对象检测模型经常受到对象方向的困扰。许多活体物体,例如人类和动物,可能会以不同的姿势被发现。人工智能模型将无法理解所有这些方向并失去检测准确性。

除了这些示例之外,对象检测对于数千个现实世界的用例和应用程序来说都是一个有价值的计算机视觉组件。

深度学习和目标检测

物体检测算法相当复杂。它们需要复杂的处理,并且它们的数据集包含多层次的信息。这些信息需要复杂的算法来进行特征提取、理解和模型训练。

深度学习使现代目标检测模型、算法和大多数现实世界的应用成为可能。大多数现代最先进的模型都采用深度学习架构来取得令人印象深刻的结果。一些流行的对象检测深度学习架构包括:

  • SSD
  • YOLO
  • R-CNN
  • Fast R-CNN

在深度学习之前,目标检测不太先进。现在,受深度学习算法和模型(如YOLO、SSD、R-CNN等)的影响,我们有了一阶段和两阶段的目标检测算法。使目标检测的用例和应用更加广泛和深入,包括计算机视觉中的无数示例。

在这里插入图片描述

实际中的物体检测,YOLOv8 在空中客车飞机检测数据集的 Encord 中使用。

人员检测

人员检测是对象识别模型的关键应用。它与摄像机一起使用,在家庭、公共场所和自动驾驶汽车中进行实时视频监控。

该应用程序进一步扩展以触发其他用例,例如,为未经授权的人员报警或阻止自动驾驶汽车撞上行人。

大多数人员检测模型都经过训练,可以根据正面和不对称图像或视频帧来识别人员。

物体检测如何工作?

传统的计算机视觉算法使用图像处理技术进行分类和对象检测任务。 OpenCV 等开源 Python 库包含多个图像转换和处理函数的实现。其中包括图像扭曲、模糊和 haar 级联分类器等高级实现。

然而,大多数现代训练模型都使用复杂的架构和监督学习。这些利用数据集注释和深度学习来实现高性能和高效率。

深度学习目标检测有多种工作方式,具体取决于所部署的算法和模型(例如 YOLO、SSD、R-CNN 等)。

在大多数情况下,这些模型被集成到其他系统中,并且只是检测、标记和注释图像或视频中的对象的整个过程的一部分。这包括计算机视觉项目的多目标跟踪。

一阶段与两阶段深度学习目标检测器

实现对象检测有两种主要方法:一级对象检测器和两级对象检测器。

这两种方法都会查找图像或视频帧中的对象数量,并对这些对象或对象实例进行分类,同时使用边界框估计大小和位置。

一级检测器不包括任何中间处理。它接受输入图像并直接输出类和边界框。流行的一级检测器包括 YOLO(包括 v8)、RetinaNet 和 SSD。

相反,两级检测器执行两个单独的任务。第一步涉及区域提议网络,它为我们提供可能存在对象的感兴趣区域 (ROI)。然后,第二个网络使用该 ROI 来生成边界框。流行的两级检测器包括 R-CNN、Faster R-CNN、Mask R-CNN 和最新模型 G-RCNN。

在这里插入图片描述

物体检测用例和应用

物体检测在现实世界中有许多应用和用途。

它是全球数十个领域的计算机视觉 (CV)、ML 和 AI 项目和软件的组成部分,包括医疗保健、机器人、汽车(自动驾驶汽车)、零售、电子商务、艺术、生态、农业、动物学、旅游、卫星图像和监视。

一些常见的现实用例包括:

  • 在机场扫描并验证护照上的面孔
  • 检测自动驾驶车辆中的道路、行人和交通灯
  • 监测农场和动物园的动物
  • 确保“禁飞”名单上的人无法通过机场的安检门
  • 监控零售店的顾客
  • 检测社交媒体上提到的品牌产品;称为“视觉聆听”的基于人工智能的系统

对象检测甚至用于艺术画廊,参观者可以使用应用程序扫描图片并了解它的所有信息,从它的历史到最新的估价。

物体检测发展里程碑

物体检测的里程碑并不是一朝一夕的成功。过去20年来,该领域一直在不断创新。

传统方法始于 2001 年的 Viola-Jones Detector,这是一种开创性的机器学习算法,使物体检测成为可能。 2006 年,推出了 HOG 检测器,随后于 2008 年推出了 DPM,引入了边界框回归。

然而,真正的进化是在 2014 年实现的,当时深度学习检测开始塑造使对象检测成为可能的模型。

自 2014 年深度学习检测介入以来,多年来开发了两阶段目标检测算法和模型。这些模型包括 RCNN 和 R-CNN 以及这些模型的各种迭代(Fast、Faster、Mask 和 G-RCNN)。我们将在下面更详细地介绍这些内容。

一阶段目标检测算法,例如 YOLO(以及后续迭代,直至版本 8)、SSD(2016 年)和 RetinaNet(2017 年)。

流行的物体检测算法

YOLO、SSD 和 R-CNN 是一些最流行的目标检测模型。

YOLO:你只看一次

YOLO(You Only Look Once)是一组流行的计算机视觉算法。它包括多项任务,例如分类、图像分割和对象检测。 YOLO 由 Joseph Redmon、Ali Farhadi 和 Santosh Divvala 开发,旨在比其他模型更快地获得高精度的物体检测结果。

YOLO 使用单阶段检测模型一次性处理图像并输出相关结果。 YOLO 是单阶段目标检测模型系列的一部分,该模型按照卷积神经网络 (CNN) 模式处理图像。

YOLO的最新版本是YOLOv8,由Ultralytics开发。如果您比其他对象检测模型更喜欢 YOLO,那么使用此模型是有意义的。其性能(以平均平均精度(mAP)衡量)、速度(以fps为单位)和准确度更好,而计算成本更低。

在这里插入图片描述

SSD: Single-shot Detector

单次检测器(SSD)是另一种单级检测器模型,可以识别和预测不同的类别和对象。

SSD 使用深度神经网络 (DNN),调整图像和视频帧中边界框的输出空间,然后为默认框中的对象类别生成分数。

SSD 准确率高,易于训练,并且可以与需要对象检测功能的软件和平台集成。它于 2015 年首次由学者和数据科学家开发并发布。

R-CNN:基于区域的卷积神经网络

基于区域的卷积神经网络或使用 CNN 特征的区域/模型(称为 R-CNN)是使用深度学习模型进行对象检测的创新方法。

R-CNN 从图像中选择多个区域,例如锚框。首先为模型提供预定义的标签类别。它使用这些来标记图像中对象的类别和其他偏移量,例如边界框。

R-CNN 模型还可以将图像划分为近 2,000 个区域部分,然后在图像中的每个区域应用卷积神经网络。 R-CNN 是两阶段模型,因此与 YOLO 相比,它们的训练速度较差,但还有其他实现,例如快速和更快的 R-CNN,可以提高效率。

R-CNN 模型的开发始于 2013 年,这种方法的一个应用是在 Google Lens 中实现对象检测。

下一步是什么?

与任何技术创新一样,计算机视觉目标检测的进步基于硬件、软件和算法模型的开发而不断加速。

现在,物体检测或物体识别的使用变得更加广泛,这主要归功于人工智能成像技术、平台、软件、开源工具以及 MS COCO 和 ImageNet 等复杂数据集的不断进步。计算能力不断增强,多核处理器技术、人工智能加速器、张量处理单元 (TPU) 和图形处理单元 (GPU) 支持计算机视觉的进步。

此外,处理单元的性能改进现在允许在边缘设备上部署复杂的模型。例如,可以更轻松地将对象检测集成到智能安全摄像头和智能手机等移动设备上。

这意味着智能设备可以内置对象检测功能,用户不再需要担心外部处理能力。边缘人工智能正在使实时物体检测作为商业应用变得更加经济实惠。

在这里插入图片描述

物体检测,用于面部识别。

使用 Encord 进行物体检测

Encord 简化并增强了计算机视觉项目中的对象检测。在整个机器学习管道中利用 Encord:

数据准备:Encord 提供全面的注释工具和数据分析,以确保高质量的数据准备,并具有自动化功能以节省时间。

自定义标注:利用Encord的可定制标注工具包定义标注类型、标签和属性,适应各种物体检测场景。

协作和管理注释者:使用 Encord 简化注释者管理、分配任务、监控进度,并通过协作功能确保注释的一致性和准确性。

训练和评估模型:使用 Encord 正确注释的数据有效地训练和评估对象检测模型,有助于提高模型性能。分析 Encord 平台内的模型性能。

迭代和改进:使用 Encord 的交互式仪表板不断审查和完善注释,可视化和分析注释数据和模型性能,以确定需要改进的领域。

在这里插入图片描述

借助 Encord,对象检测过程变得更加高效和有效,从而在计算机视觉项目中获得更好的结果。

物体检测:关键要点

  • 物体检测需要复杂的深度学习架构
  • R-CNN 和 YOLO 等模型计算效率高且结果优异
  • 物体检测有各种实际用例,例如视频监控和自动驾驶汽车
  • GPU 和 TPU 等计算硬件的发展使模型训练变得更加容易
  • 高性能硬件和高效架构使得在移动设备上针对利基应用部署对象检测成为可能。

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

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

相关文章

从0开始搭建若依微服务项目 RuoYi-Cloud(保姆式教程 一)

掌握陌生项目解读技巧 掌握若依(RuoYi-Cloud)框架 掌握SpringCloud Alibaba体系项目开发套路,结合我之前所有企业项目来学习就知道有多么简单。 一、框架介绍 1. 简介 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空…

老司机用脚本批量巧删恶意文件

作者:田逸(formyz) 一个NFS服务器,为多个Web项目所共享。这些目录包括PHP程序、图片、HTML页面和用户上传的文档和附件等。因为某些Web框架古老,存在诸如不对上传文件做严格的安全性检查,虽然此NFS服务器位…

OceanMind海睿思入选《2023大数据产业年度创新技术突破奖》,并蝉联多项图谱

近日,由数据猿和上海大数据联盟主办,上海市经济和信息化委员会、上海市科学技术委员会指导的“第六届金猿季&魔方论坛——大数据产业发展论坛”在上海成功举行,吸引了数百位业界精英的参与。中新赛克海睿思作为国内数字化转型优秀厂商代表…

虚拟机安装Centos8.5

记得看目录哦! 附件1. 新建虚拟机2. 安装Centos8.5 附件 安装包自行下载 https://mirrors.aliyun.com/centos/8/isos/x86_64/ 1. 新建虚拟机 2. 安装Centos8.5 启动虚拟机–选择第一个install Centos8.5 记得接收许可证

25考研北大软微该怎么做?

25考研想准备北大软微,那肯定要认真准备了 考软微需要多少实力 现在的软微已经不是以前的软微了,基本上所有考计算机的同学都知道,已经没有什么信息优势了,只有实打实的有实力的选手才建议报考。 因为软微的专业课也是11408&am…

在Windows上安装与配置Apache服务并结合内网穿透工具实现公网远程访问本地内网服务

文章目录 前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpolar web ui管理界面3.2 创建公网地址 4. 固定公网地址 前言 Apache作为全球使用较高的Web服务器…

Web开发8:前后端分离开发

在现代的 Web 开发中,前后端分离开发已经成为了一种常见的架构模式。它的优势在于前端和后端可以独立开发,互不干扰,同时也提供了更好的可扩展性和灵活性。本篇博客将介绍前后端分离开发的概念、优势以及如何实现。 什么是前后端分离开发&am…

Linux-动静态库

背景 在实践中,我们一定会使用别人的库(不限于C、C的库),在实践中,我们会使用成熟、被广泛使用的第三方库,而不会花费很多时间自己造轮子,为了能更好地使用库,就要在学习阶段了解其…

[嵌入式系统-4]:龙芯1B 开发学习套件-1-开发版硬件介绍

目录 前言: 一、龙芯 1B 开发学习套件简介 1.1 概述 二、龙芯1B 200开发板硬件组成与接口介绍 2.1 概述 2.2 核心板 2.2.1 CPU 2.2.2 什么是核心板 2.2.3 龙芯1B 200核心板 2.2.4 龙芯1B核心板的接口定义 2.3 开发板 2.3.1 龙芯1B0200开发板 2.3.2 龙芯…

Linux使用匿名管道实现进程池得以高效通信

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:Nonsense—Sabrina Carpenter 0:50━━━━━━️💟──────── 2:43 🔄 ◀️ ⏸ ▶️ …

Redis 持久化详解:RDB 与 AOF 的配置、触发机制和实际测试

什么是持久化? 就是 Redis 将内存数据持久化到硬盘,避免从数据库恢复数据。之所以避免从数据库恢复数据是因为后端数据通常有性能瓶颈,大量数据从数据库恢复可能会给数据库造成巨大压力。 Redis 持久化通常有 RDB 和 AOF 两种方式&#xff…

​ PaddleHub 首页图像 - 文字识别chinese_ocr_db_crnn_server​

PaddleHub 便捷地获取PaddlePaddle生态下的预训练模型,完成模型的管理和一键预测。配合使用Fine-tune API,可以基于大规模预训练模型快速完成迁移学习,让预训练模型能更好地服务于用户特定场景的应用 零基础快速开始WindowsLinuxMac Paddle…

算法学习系列(三十):高斯消元解线性方程组

目录 引言一、高斯消元法二、代码模板三、例题 引言 这个高斯消元法主要是线性代数的一些东西,然后步骤跟上课讲的步骤是一样的,只不过使用代码实现了而已,在竞赛和笔试中还是有出现的可能的,所以掌握它还是很重要的,…

「 典型安全漏洞系列 」07.OS命令注入详解

引言:什么是操作系统命令注入,如何防御和利用漏洞? 1. 简介 操作系统命令注入(OS command injection)是一种Web安全漏洞,允许攻击者在运行应用程序的服务器上执行任意操作系统(OS)命…

专栏:数据库、中间件的监控一网打尽

前言 对于数据库、中间件的监控,目前社区里最为完善的就是 Prometheus 生态的各个 Exporter,不过这些 Exporter 比较分散,不好管理,如果有很多目标实例需要监控,就要部署很多个 Exporter,要是能有一个大一…

基于springboot的房屋交易系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

【C语言/数据结构】排序(快速排序及多种优化|递归及非递归版本)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​​​ 目录 交换排序 快速排序 hoare版代…

【CanvasKeyFrames - HTML5 Canvas 图片序列帧播放工具】

前言 一、CanvasKeyFrames 是什么&#xff1f; 用来做canvas动画的工具。 二、使用步骤 效果如图&#xff1a;上下波动的线条 1.引入库 代码如下&#xff08;示例&#xff09;&#xff1a; 在html中引入&#xff1a; <script src"canvas-keyframes.js"><…

基于springboot药房管理系统源码和论文

伴随着全球信息化发展&#xff0c;行行业业都与计算机技术相衔接&#xff0c;计算机技术普遍运用于药房管理行业。实施计算机系统来管理可以降低逍遥大药房管理成本&#xff0c;使整个逍遥大药房行业的发展有显著提升。 本论文主要面向逍遥大药房管理中出现的一些常见问题&…

多符号表达式的共同子表达式提取教程

生成的符号表达式&#xff0c;可能会存在过于冗长的问题&#xff0c;且多个符号表达式中&#xff0c;有可能存在相同的计算部分&#xff0c;如果不进行处理&#xff0c;计算过程中会导致某些算式计算多次&#xff0c;从而影响计算效率。 那么多个符号表达式生成函数时&#xf…