coco数据集80个分类是哪些_目标分类定位,实时速度检测...目标检测5大挑战与解决方案...

2023-10-30

图像分类是指计算机根据图像内容对图像进行分类或分配标签,通常只需利用预先训练好的神经网络,对最后几个吞吐量层进行微调,然后就可以看到很好的结果。

然而,仅在几年前,对图像中的单个目标进行分类和查找未知数量是极其困难的。

现在,这项被称为目标检测的任务是可行的,甚至已经被谷歌、IBM产品化。

但取得这些进展并不容易!除了图像分类的要求外,目标检测还面临着许多严峻挑战。

近期发表在medium上的一篇博文,深入研究了这些问题所带来的挑战以及各种解决方案。

为什么要做目标检测?

目标检测的最终目的是发现重要的项目,在它们周围绘制矩形包围框,并确定每个项目的类别。

目标检测的应用出现在许多不同领域,包括自动驾驶汽车的行人检测,农作物监测,甚至体育运动中对球的实时跟踪。

多年来,为了实现这一目标,研究人员做了大量努力:从2001年发布的Viola和Jones人脸检测算法,到2017年发布的RetinaNet (一种快速、高精度的单状态检测框架)。

由于几乎所有现代系统都在使用CNN, CNN的引入是目标检测历史上的重要时刻。

尽管其他方法也面临类似的挑战,但本文的其余部分将集中讨论用于目标检测的深度学习解决方案。

1. 双重优先:目标分类和定位

目标检测复杂之处首先是它的附加目标:我们不仅要对图像目标进行分类,还要确定目标的位置,通常称为目标定位任务。

为了解决这个问题,研究人员通常使用多任务丢失函数来惩罚错误分类和定位错误。

基于区域的CNN代表了一类流行的目标检测框架。这些方法包括生成定位目标的区域建议,然后CNN对目标位置进行分类和进一步细化。

Ross Girshick等人开发了Fast R-CNN。

顾名思义,Fast R-CNN有了显著的提升,但由于使用了统一的多任务丢失函数优化了分类和定位任务,因此准确度也得到了提高。

将每个包含目标的候选区域与图像的真实目标进行比较。然后,候选区域会因为错误分类和边界框未对齐而受到惩罚。

在这里,分类项将对数损失强加在真实物体类别u的预测概率上,而定位项是定义矩形的四个位置分量的平滑L₁损失。

注意,当不存在任何目标(u = 0)时,本地化惩罚不适用于background类。还应注意,可以调整参数λ,以便更好地区分分类或定位的优先级。

2.实时检测速度

目标检测算法不仅需要对重要目标进行精确分类和定位,预测时间上还需要惊人的速度,以满足视频处理的实时性要求。

多年来,几项重要的改进提高了算法的速度,将测试时间从R-CNN 的0.02帧每秒(fps)提高到了Fast YOLO的155帧每秒。

Fast R-CNN和Faster R-CNN旨在加快R-CNN的速度。

R-CNN使用选择性搜索生成2000个感兴趣的候选区域(RoIs),每个RoI都单独通过一个CNN base,因为CNN的处理速度相当慢,所以造成了很大的问题。

相反,Fast R-CNN通过CNN base将图像只发送一次,然后通过选择性搜索创建的RoIs与CNN feature map匹配,处理时间减少了20倍。

虽然Fast R-CNN比R-CNN快得多,但仍然存在另一个速度障碍。当对单个图像进行目标检测时,Fast R-CNN大约需要2.3秒,而选择性搜索就占了2秒!

Faster R-CNN用一个单独的子神经网络代替选择性搜索以生成RoI,从而将速度提高了10倍,因此测试速度约为7-18帧每秒。

尽管这些改进令人印象深刻,但视频通常至少拍摄24帧,这意味着Faster R-CNN可能会跟不上。基于区域的方法包括两个单独的阶段:提出区域和处理区域。事实证明,这种任务分离效率并不高。

另一种目标检测系统依赖于统一的单状态方法。这些所谓的单步检测器,在通过图像的过程中完全定位和分类目标,大大减少了测试时间。

单步检测器YOLO首先在图像上放置一个网格,允许每个网格单元检测固定数量的大小不同的物体。

对于图像中出现的真实物体,与物体中心关联的网格单元负责预测该目标。然后,复杂的多分类损失函数可确保所有定位和分类都在一个过程中发生。

Fast YOLO甚至达到了155帧的速度;然而,速度的提升却伴随着分类和定位精度的急剧下降。

如今,目标检测算法试图在速度和精度之间取得平衡。检测框架之外的设计选择会影响速度和精度的结果。

例如,YOLOv3允许不同分辨率的图像:高分辨率图像通常具有更高的准确性,但处理时间较慢,反之亦然。

CNN base的选择也会影响速度和精度的权衡。像Inception-ResNet-V2中使用的164层的深度网络,具有极高的准确性,但与速度上无法与VGG-16的框架相比。

必须根据速度或准确性优先考虑目标检测设计的选择。

3. 多重空间比例和长宽比

对于许多目标检测的应用程序,感兴趣的项目可能以各种尺寸和长宽比出现。研究者利用多种技术来确保检测算法能够在多个尺度和视图中捕获目标。

Anchor boxes

更新后的Faster R-CNN区域建议网络使用一个小的滑动窗口,通过图像的卷积特征图生成候选RoI,而不是选择性搜索。

可以在每个位置预测多个RoI,并相对于参考Anchor boxes进行描述。

Anchor boxes的形状和大小经过精心选择,可以跨越不同比例和长宽比。

这允许检测各种类型的目标,并且在定位任务期间,无需过多调整边界框坐标。其他框架包括单步检测器,也采用Anchor boxes初始化关注区域。

精心选择的各种大小和纵横比的Anchor boxes有助于创建感兴趣的不同区域。

多个特征图

单步检测器必别强调多尺度的问题,因为通过CNN框架,它们一次就可以检测到物体。

如果仅从最后的CNN层检测目标,则只会发现较大的项,因为较小的项在池层下行采样时可能丢失太多信号。

为了解决这个问题,单步检测器通常会在多个CNN层中寻找目标,包括早期仍然保持较高分辨率的层。

单步探测器在探测小物体时异常困难,尤其是那些密集地聚集在一起的物体,比如一群鸟。

来自多个CNN的特征图有助于预测多个尺度的对象

特征金字塔网络

特征金字塔网络(FPN)进一步提出了多特征映射的概念。图像首先通过CNN路径,生成语义丰富的最终层。

然后为了获得更好的分辨率,FPN通过对该特征图进行上采样来创建自上而下的路径。

虽然自上而下的路径有助于检测不同大小的物体,但空间位置可能会倾斜。

在原始特征图和相应的重建图层之间增加横向连接,以提高目标定位。

目前,FPN提供了一种领先的检测多种尺度物体的方法,YOLO在其V3中增加了此技术。

特征金字塔网络是通过从具有更高语义强度的图层中重建高分辨率图层来检测大小不同的对象

4.有限的数据

当前,可用于目标检测的带注释的数据数量有限,这是另一个大的障碍。

目标检测数据集通常包含大约12到100个目标类的ground turth示例,而图像分类数据集可以包含超过100,000个类别。

此外,众包通常会免费生成图像分类标签(例如,通过解析用户提供的照片标题的文本)。

然而,为目标检测收集真实标签和准确边界框仍是一项繁琐的工作。

由微软提供的COCO数据集目前是最好的目标检测数据。

COCO包含300,000张具有80个不同类别目标的分段图像,具有非常精确的位置标签。

每张图像平均包含7个目标。尽管此数据集很有用,但是如果仅对COCO进行训练,则无法识别这80个类别之外的目标类型。

YOLO9000是YOLO的V2,可以缓解数据稀缺。

YOLO9000将许多重要的更新合并到YOLO中,但其目的还在于缩小目标检测和图像分类之间的数据集差距。

YOLO9000同时在COCO和ImageNet上进行训练,ImageNet是一个包含数万个目标类别的图像分类数据集。

COCO信息有助于精确定位目标,而ImageNet可以增加YOLO的分类“词汇”。

分层的WordTree允许YOLO9000首先检测目标的概念(比如“动物/狗”),然后再深入到细节(比如“西伯利亚哈斯基狗”)。

5.类不平衡

类不平衡存在于多数分类问题,目标检测也不例外。

最近,RetinaNet中采用了一种焦点损失的新方法,有助于减少类不平衡的影响。

在优化损失函数中,当对错误分类进行惩罚时,焦点损代替了传统的对数损失

其中pᵤ是真实类别的预测类别概率,且γ>0。附加因子(*)减少了高概率、分类良好的示例损失,并且总体效果降低了模型所熟悉的示例类的重要性,例如background类。

因此,占据少数类别的目标有更大的意义,并看到了更高的准确性。

结论

通常认为目标检测比图像分类困难得多,特别是由于以下挑战的存在:双重优先级,速度,多尺度,有限数据和类不平衡。

为了克服这些困难,研究人员付出了大量的努力,结果往往不错,但挑战仍然存在。

基本上所有的目标检测框架都在持续与小目标斗争,特别是那些与部分遮挡捆绑在一起的小目标。

具有顶级分类和定位精度的实时检测仍然具有挑战性,在进行设计决策时,研究者通常必须优先考虑其中一个。

如果假设帧之间具有某种连续性,而不是单独处理每个帧,则在将来,视频跟踪可能会有所改进。

此外,一个有趣的增强将当二维边界框扩展为三维边界立方体。

尽管许多目标检测障碍已经有了解决方案,但这些额外的考虑因素—以及更多的信号表明,目标检测研究肯定还没有完成!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

coco数据集80个分类是哪些_目标分类定位,实时速度检测...目标检测5大挑战与解决方案... 的相关文章

  • DataSourceBuilder.create().build()

    Spring Boot also provides a utility builder class DataSourceBuilder that can be used to create one of the standard data
  • 【MQTT】MQTT实现订阅发送demo

    Mqtt简单实现发送消息 订阅消息 系列文章目录 目录 Mqtt简单实现发送消息 订阅消息 系列文章目录 安装好Mosquitto maven引入依赖 创建发布客户端 PublishClient java 创建订阅客户端 Subscribe
  • 计算机网络(16)-计算机网络应用示例

    目录 一 音频视频传输 二 语音电话的流量控制 服务质量QoS 1 数据分组标记优先级 2 路由器流量管制 3 路由器调度机制分配带宽 4 呼叫接纳 三 无线网络 无线局域网的组成 1 有固定基础设施的无线局域网 2 移动自组网络 一 音频
  • LaTex中把下标置于文本正下方的方法 (转载)

    转载一篇文章 因为我想打出 H z H 0 J m
  • Everything下载及使用教程【非常详细】(磁盘文件搜索神器)

    下载地址https www voidtools com zh cn 下载完以后双击exe安装 选择简体中文 点击ok 点击我接受 选择安装目录 点击下一步 保存设置和数据到文件夹 选择安装到文件夹 NTFS索引 选择安装Everything
  • android中的Package替换流程

    android系统在安装 删除 替换 清除数据等与应用相关的动作时 会发出对应的Broadcast 上层的应用通过注册相应的广播事件来做相应的处理 1 ACTION PACKAGE ADDED 当有新的包安装成功的时候 系统会发出此广播 2
  • python web.py启动https端口

    web py启动https端口需要ssl证书 如果没有ssl证书 那么可以通过如下方式生成 具体可参考 https blog csdn net FinalDragonborn article details 79301026 openssl
  • QT之QComboBox使用汇总

    简介 QComboBox是一个集按钮和下拉选项于一体的控件 也被称为下拉列表框 addItem 函数添加一个列表项 ui gt comboBox gt clear 清除列表 for int i 0 i lt 20 i QIcon icon
  • 上传图片返回url java_Java实现图片上传返回上传地址

    关于在实际开发中最常用也是用的最多的Java实现文档 图片上传 一 准备阶段 文档 图片上传有几种方式 包括传统的ajax上传 云上传 这里给大家实现通过代码将图片上传至七牛云服务器并返回图片地址 1 需申请一台七牛云服务器地址 可免费试用
  • MacBook 配置 item2 、oh-my-zsh、Powerline

    MacBook 配置 item2 oh my zsh Powerline item2安装 oh my zsh 强烈推荐使用Git方式获取 简单上手 Powerline 强烈推荐使用Git方式获取 简单上手 最后效果图 item2安装 链接
  • Leetcode:28. Implement strStr() —— KMP算法

    Implement strStr Return the index of the first occurrence of needle in haystack or 1 if needle is not part of haystack E
  • tts服务器最基本维护方法,关于服务器维护的方法和技巧_

    关于服务器维护的方法和技巧 服务器出现故障的几率是非常的少的 但是仍然是需要引起高度性的重视的 因为这种类型的产品是非常重要的 大家都知道 尤其是对于整个网站是具有非常重要的意义 所以是需要时刻的关注产品 是不是出现一些问题 要避免损坏 在
  • VSCode 之 设置 settings.json 配置文件

    这篇文章主要介绍了 VSCode settings json 配置 文中通过示例代码介绍的非常详细 对大家的学习或者工作具有一定的参考学习价值 VSCode 从插件库里安装 eslint 和 prettier 两个 插件 也 实现 自动 格
  • 切比雪夫不等式例题讲解_一些不等式的杂货

    本文主要针对高考生和竞赛新手 东西比较杂 没什么顺序想到哪写哪 不涉及太多额外知识 一 三角里内角的几个不等式 锐角三角形 如果你不知道它们 或许问题不大 如果你不用琴生不会证 我就不知道说啥了 1 固定变量的思想有没有 不等式得证 或者考
  • 入门Docker你不得不读的基础知识

    本期喵锅给大家带来关于Docker研究及实际工作过程中的知识经验分享 内容过于翔实 万字长文 还请耐心阅读哦 不足之处还望小伙伴们在下方评论区多多留言 大家共同探讨 共同进步 一 Docker介绍 先讲问题 什么是docker 为什么用do
  • 解决recycleView加载九宫格由于图片过大导致卡顿的问题

    最近在开发公司项目的时候 遇到了很棘手的问题就是后台返回的图片很大 导致加载的很慢 当时考虑用压缩 但是压缩考虑到性能不好 所以就常识了新的解决办法代码如下 public class NineGridImageView extends Vi
  • UE4 SpawnActor

    UPROPERTY EditDefaultsOnly Category Player TSubclassOf
  • [Go版]算法通关村第一关白银——判断是否回文链表

    目录 题目 判断是否是回文链表 解决方法 快慢指针 递归反转链表 思路分析 复杂度 时间复杂度 O n O n
  • linux3.x 内核如何强制卸载模块?

    一 问题现象 在insmod时调用的init函数代码执行过程中出现oops 导致rmmod卸载失败 此时不得不重启目标板 No 下面是 精通linux设备驱动程序开发 中模拟鼠标的输入设备驱动的内核模块vms c代码 include

随机推荐

  • VS2017+gnuplot画图,下载安装教程

    c c 画图插件 gnuplot 1 官网下载 http www gnuplot info 这里下载的是5 4版本 2 之后进行无脑安装即可 只需注意以下几点 一定要记得点击 Add application directory to you
  • Spring Cloud Gateway 全局异常处理

    文章目录 Spring Cloud Gateway 全局异常处理 范例 示例 修改前抛出一个运行时异常 示例 全局异常处理抛出一个运行时异常 如何添加 自定义异常处理配置 全局异常处理监听器 总结 Spring Cloud Gateway
  • Android平台GB28181设备接入技术探讨

    GB T28181技术背景 在此之前 我们先对协议规范做个简单了解 GB28181协议是一种用于视频监控系统互联互通的国际标准 它定义了视频监控系统中的设备间如何进行通信 交换数据和协调控制 以下是GB28181协议的一些主要内容 设备互联
  • 期货中的正向交易与反向交易

    期货中的正向交易和反向交易 两者之间有什么样的共同点又存在什么样的差异 本文转发自公众号 反跟单交易 转载需注明出处 首先有一点值得认同 两者都属于交易 大家都抱有同样的赢利目的 就好像我们要去北京一样 虽然大家的出发点不同 乘坐的交通工具
  • Word处理控件Aspose.Words功能演示:在 Python 中将 Word DOCX 或 DOC 转换为 PDF

    Word 到PDF是最流行和执行最广泛的文档转换之一 DOCX或DOC文件在打印或共享之前会转换为 PDF 格式 在本文中 我们将在 Python 中自动将 Word 转换为 PDF 步骤和代码示例将演示如何使用 Python 将 Word
  • 公司自建机房IDC还是选择云服务器?以腾讯云为例

    大企业是选择自购服务器自建机房还是使用腾讯云服务器 都说企业上云是趋势 自建机房是一次性支出 上云租赁云服务器等产品需要年年续费 大型企业有必要把数据中心迁移上云吗 腾讯云服务器网想说 自建机房购买服务器等硬件并不是一次性支出 后续人工成本
  • 如何确定一个期刊是不是EI?

    去爱思唯尔官网下载最新的目录 网址 https www elsevier com solutions engineering village content compendex 打开EXCEL查看 SERIALS就是罗列出的所有的EI期刊和
  • 应急响应基础(三)——Windows日志分析

    Windows日志分析 一 Windows事件日志简介 1 Windows事件日志 Windows系统日志是记录系统中硬件 软件和系统问题的信息 同时还可以监视系统中发生的事件 用户可以通过它来检查错误发生的原因 或者寻找受到攻击时攻击者留
  • 拒绝“割韭菜”— 谈谈区块链正经的商用场景!

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 作者 林喜东 腾讯云高级工程师 最近区块链有多火 已经无需过多阐述 无论你是主动了解 还是被比特币 加密猫 3点钟无眠区块链等刷屏 相信区块链概念已经在多数人心中萌芽 但区块链这么火
  • ndvi计算公式_NDVI时间序列分析原理与实现(CV和Sen+MK趋势分析)

    NDVI时间序列分析原理与实现 CV和Sen MK趋势分析 总结两种常用的NDVI时间序列栅格分析方法 变异系数和Sen MK趋势分析 简单介绍原理和实现代码 实验数据均为年际变化数据 在CV中使用的是多波段ENVI数据 Sen MK趋势分
  • 《从Paxos到ZooKeeper》读书笔记之第一章(一)

    从Paxos到ZooKeeper 读书笔记之第一章 一 开始读 从Paxos到ZooKeeper 这本书 以了解和使用ZooKeeper 这里会记录一些随笔画下来的自以为的重点 自己理解和代码块 第一章 分布式结构 1 1 从集中式到分布式
  • springboot 启动后,调用接口时报错404问题汇总(层层推进、超全面)

    确保项目启动成功 看到这条日志才能判定项目是启动成功的 确保controller类被成功注册到了springboot容器中 首先 按springboot的类扫描规则来说 启动类和被扫描的组件类应该要在同一包下的 验证策略 从springbo
  • 联调QuartersII + ModelSim(下载安装)

    目录 1 ModelSim安装 1 之前埋得坑 2 如果额外装完整版的ModelSim 我还是推荐按照这个博客的步骤就好 安装文件我已经在上一篇博客一起给大家了 3 存在的问题 一定要管理员模式使用软件 2 联调QuartersII Mod
  • Mysql(数据库基础篇)

    棒棒有言 也许我一直照着别人的方向飞 可是这次 我想要用我的方式飞翔一次 人生 既要淡 又要有味 凡事不必太在意 一切随缘 缘深多聚聚 缘浅随它去 凡事看淡点看开些 顺其自然 无意于得 就无所谓失 人生 看轻看淡多少 痛苦就远离你多少 本章
  • MATLAB&机器学习进阶

    本文借鉴了数学建模清风老师的课件与思路 可以点击查看链接查看清风老师视频讲解 清风数学建模 https www bilibili com video BV1DW411s7wi 目录 一 K最近邻 KNN 二 决策树 三 支持向量机 四 集成
  • 喜欢就争取,得到就珍惜,错过就忘记—dbGet(二)

    通过前面一篇对dbGet基本用法的介绍 大家应该对它有一定了解了吧 那接来下 我们就要学习一下进阶的dbGet用法了 dbGet是由它基本的语法加上各种object的attribute的组合构成的 大家在熟悉基本语法之后 就应该去学习各个o
  • OpenThread is an Open Source Implementation of Thread IoT Networking Protocol

    本文转载至 http www cnx software com 2016 05 12 openthread is an open source implementation of thread iot networking protocol
  • zabbix邮件报警配置

    前言 Zabbix监控服务端 客户端都已经部署完成 被监控主机已经添加 Zabiix监控运行正常 在Zabbix服务端设置邮件报警 当被监控主机宕机或者达到触发器预设值时 会自动发送报警邮件到指定邮箱 邮件服务可以使用系统自带的邮件服务来发
  • linuxrpm命令卸载python_Linux RPM包安装、卸载、升级命令讲解

    一个 RPM 包包含了已压缩的软件文件集以及该软件的内容信息 通常表现为以 rpm 扩展名结尾的文件 例如 samba rpm 如果需要对RPM包进行操作则需要使用rpm命令 一 RPM包的来源 所有RPM包都在系统光盘的Packages目
  • coco数据集80个分类是哪些_目标分类定位,实时速度检测...目标检测5大挑战与解决方案...

    图像分类是指计算机根据图像内容对图像进行分类或分配标签 通常只需利用预先训练好的神经网络 对最后几个吞吐量层进行微调 然后就可以看到很好的结果 然而 仅在几年前 对图像中的单个目标进行分类和查找未知数量是极其困难的 现在 这项被称为目标检测