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

在这里插入图片描述

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

    • 什么是物体检测?
      • 物体检测与图像分类
      • 物体检测与图像分割
    • 计算机视觉中的目标检测
      • 物体检测的优点
      • 物体检测的缺点
      • 深度学习和目标检测
      • 人员检测
    • 物体检测如何工作?
      • 一阶段与两阶段深度学习目标检测器
    • 物体检测用例和应用
      • 物体检测发展里程碑
      • 流行的物体检测算法
        • 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 等计算硬件的发展使模型训练变得更加容易
  • 高性能硬件和高效架构使得在移动设备上针对利基应用部署对象检测成为可能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kotlin快速入门系列6

Kotlin的接口与扩展 接口 与Java类似,Kotlin使用interface关键字定义接口,同时允许方法有默认实现: interface KtInterfaceTest {fun method()fun methodGo(){println("上面方法未实现,此方法已实现")} } 接口实现 …

npm ERR! path E:node_modules\node-sass

分析报错发现有关 python2 环境相关报错 解决办法:需要再电脑中安装python 2.X版本的环境 因为我本地电脑有python 3.9的环境,所以我使用 Anaconda安装python环境 1、安装 python 2.7 conda create -n py2 python2.72、激活虚拟环境 conda activate…

go-zero 统一返回

1、整体目录结构 2、全局处理主入口 package manageimport ("net/http""github.com/zeromicro/go-zero/rest/httpx" )type Body struct {Code int json:"code"Message string json:"message"Result interface{} jso…

Elastic Search的RestFul API入门:查询ES当前的情况cat和cluster

在我们使用 Elasticsearch 进行索引的增删改查的同时,有时候我们也需要查看集群的整体情况,这就需要用到 cat 和 cluster 这两个 API。 cat 和 cluster 是 Elasticsearch 中两个非常重要的 API,它们主要用于获取和管理集群以及节点的相关信息。 cat API 是一个强大且易用的…

电脑服务器漏洞有何影响?怎么修复?

一、什么是电脑服务器漏洞 电脑服务器漏洞是指在计算机服务器软、硬件中存在的漏洞或弱点,黑客或病毒利用这些漏洞可以入侵服务器系统,获取机密信息,破坏服务器的稳定和安全性。德迅云安全提醒用户,服务器漏洞的影响不容忽视。 …

纯html+js+css个人博客

首页 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8"><title>主页</title><!-- 引入layui css文件 --><link rel"stylesheet" href"layui-…

基于Redis的高可用分布式锁——RedLock

目录 RedLock简介 RedLock工作流程 获取锁 释放锁 RedLock简介 Redis作者提出来的高可用分布式锁由多个完全独立的Redis节点组成&#xff0c;注意是完全独立&#xff0c;而不是主从关系或者集群关系&#xff0c;并且一般是要求分开机器部署的利用分布式高可以系统中大多数存…

vtk二进制文件查看DATASET为POLYDATA里的标量属性,C++语言

先看我有的vtk文件&#xff0c;打开看到数据集结构为PolyData 我们需要使用C来读取该二进制文件&#xff0c;然后进行获取里边的标量。 // 引入必要头文件 #include "QDebug" #include <vtkSmartPointer.h> #include <vtkPolyDataReader.h> #include &…

【macOS】mac M2 安装 Homebrew nvm

gitee 快速安装 打开终端&#xff0c;复制如下命令&#xff0c;按回车执行(需要输入密码) /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"在这个过程中可能还会弹出安装 git 的提示&#xff0c;直接安装等待即可 然后再…

借助gpt生成ppt:文心一言(chatgpt)、chatppt

提供一种简单的基于gpt快速生成ppt的方式。前置条件&#xff1a; 文心一言chatpptwps/office ppt Step1: 下载chatppt插件 https://chat-ppt.com/invitelinke?share_code47949695&channelchat-ppt.com 注册地址 下载完成后&#xff0c;安装即可&#xff0c;安装完成后…

JVM系列——垃圾收集器

对象存活判断 引用计数法 在对象中添加一个引用计数器&#xff0c;每当有一个地方引用它时&#xff0c;计数器值就加一&#xff1b;当引用失效时&#xff0c;计数器值就减一&#xff1b;任何时刻计数器为零的对象就是不可能再被使用的。 可达性分析算法 通过一系列称为“GC …

asp.net core监听本地ip地址

开发asp.net core的时候遇到一个问题我想提供访问供其他同事测试&#xff0c;但是默认都是localhost或者127.0.0.1。我想换成我的Ip地址访问但是不行&#xff0c;百度搜索需要更换监听的地址即修改launchSettings.json&#xff0c;修改为0.0.0.0:5248&#xff0c;这样不管local…

C语言王道第八周一题

Description 初始化顺序表&#xff08;顺序表中元素为整型&#xff09;&#xff0c;里边的元素是 1,2,3&#xff0c;然后通过 scanf 读取一个元素&#xff08;假如插入的是 6&#xff09;&#xff0c;插入到第 2 个位置&#xff0c;打印输出顺序表&#xff0c;每个 元素占 3 个…

笔记本电脑系统Win10重装教程

当前很多用户都会使用笔记本电脑办公&#xff0c;如果笔记本电脑携带的操作系统不好用&#xff0c;就会影响到用户的办公效率&#xff0c;这时候可以给笔记本电脑重新安装一款好用的系统。以下小编带来笔记本电脑系统Win10重装教程&#xff0c;让用户们轻松给笔记本电脑重新安装…

大模型学习笔记一:大模型应开发基础(模型归类选型、安全因素选型、)

文章目录 一、大模型一些概念介绍二、市面上大模型对比三、大模型使用安全选型四、使用大模型的方式&#xff08;一问一答、Agent Function Calling、RAG、Fine-tuning五、大模型使用路线九、补充说明1&#xff09;注意力机制讲解 一、大模型一些概念介绍 1&#xff09;产品和大…

Linux安装Jdk8

本文以centos7为例&#xff0c;一步一步进行jdk1.8的安装。 1. 下载安装 笑小枫网站下载&#xff1a;https://xiaoxiaofeng.com/resource/16 官网下载链接&#xff1a; https://www.oracle.com/cn/java/technologies/downloads/#java8 上传jdk的压缩包到服务器的/usr/local目…

封装通用mixins,在vue中实现a-table组件的可伸缩列(详细且使用便捷)

1、实现效果 2、使用场景 vue2 antd-vue 1.x版本由于antd-vue 1.x版本的组件库没有提供可伸缩列的功能&#xff0c;才需要我们手动开发在antd-vue 3.x版本以上的表格已经支持这个功能&#xff0c;不需要我们再去手动开发 3、话不多说&#xff0c;上代码 首先安装vue-dragga…

【超详细教程】GPT-SoVITs从零开始训练声音克隆教程(主要以云端AutoDL部署为例)

目录 一、前言 二、GPT-SoVITs使用教程 2.1、Windows一键启动 2.2、AutoDL云端部署 2.3、人声伴奏分离 2.4、语音切割 2.5、打标训练数据 2.6、数据集预处理 2.7、训练音频数据 2.8、推理模型 三、总结 一、前言 近日&#xff0c;RVC变声器的创始人&#xff08;GitH…

网络安全防御保护 Day4

要点一&#xff1a;防火墙的智能选路 就近选路&#xff1a; 在访问不同运营商的服务器时直接通过对应运营商的链路&#xff0c;以此来提高通信效率&#xff0c;避免绕路。 策略路由&#xff08;PBR&#xff09;&#xff1a; 这是一种基于用户定义的策略&#xff08;如业务需求、…

嵌入式中Qt5.7.1添加支持openssl方法

1、openssl编译 版本&#xff1a;openssl-1.0.2g 一定要选对Qt版本对应的openssl版本&#xff0c;由于开始选的openssl版本不对&#xff0c;导致编译Qt时出现很多错误。 交叉编译 ./config no-asm shared --prefix/opt/Xilinx2018_zynq/zynq_openssl_1.0.2/ --cross-compile…