AI人工智能|对象检测技术如此混乱,如何更清晰地厘清各类目标检测复杂概念
文章图片
文章图片
目标检测技术的复杂程度超出我们的想象 。始终需要将数据转换为类似COCO的JSON或其他不需要的格式 。它从来没有即插即用的体验 。此外 , 没有像U-Net或ResNet那样的图完全解释Faster R-CNN或YOLO , 细节太多了 。
尽管这些模型非常混乱 , 但对它们缺乏简单性的解释却很简单 。它适合一个句子:神经网络具有固定大小的输出
在物体检测中 , 无法先验地知道一个场景中有多少个对象 。可能只有1个 , 2个 , 12个或没有 。以下图像均具有相同的分辨率 , 但具有不同数量的对象 。
文章图片
文章图片
文章图片
文章图片
一百万美元的问题是:如何从固定规模的网络中构建可变规模的产出?另外 , 我们应该如何训练各种损失(分类损失、边界框损失)?我们如何惩罚错误的预测?
实施可变大小的预测
为了创建大小不同的输出 , 文献中有两种方法可供使用:"一种尺寸适合所有人"方法 , 如此广泛以至于足以满足所有应用程序的输出 , 以及"超前"想法 , 我们在以下地区进行搜索:感兴趣区域 , 然后我们将其分类 。
【AI人工智能|对象检测技术如此混乱,如何更清晰地厘清各类目标检测复杂概念】我只是编造了这些用语 。实际上 , 它们被称为"一阶段"和"两阶段"方法 , 这有点不言自明 。一阶段方法
Overfeat , YOLO , SSD等如果我们不能有可变大小的输出 , 我们将返回一个太大的输出以至于它总是大于我们需要的输出 , 那么我们可以修剪多余的输出
整个想法是走贪婪的路线 。原始的YOLO检测器最多可以检测448x448图像的98个边界框 。听起来很荒谬 , 确实如此 。你自己看:
文章图片
文章图片
有太多冗余的检出
真是一团糟!但是 , 您可以看到每个框都有一个百分比 。该百分比表示算法对分类的"信心" 。如果我们将此阈值限制为某个值(例如50%) , 则会得到以下结果:
文章图片
文章图片
设定为50%置信度的阈值效果很好
好多了!这几乎可以概括为一个阶段的方法:生成大量(但固定)的检测结果并消除混乱 , 通常将阈值和非最大抑制(NMS)混合在一起 。
这种方法因其速度快而受到高度重视 。单个网络可以一次性处理整个图像并输出检测结果 。时至今日 , 每当速度成为最重要的问题时 , 单级检测器就受到青睐 。
缺点是存储成本高、检测精度低 。每个边界框消耗的内存与类的数量成正比 , 并且边界框的数量与图像分辨率成平方增长 。当类别很多且输入分辨率高时 , 这种成本可能会非常昂贵 。最重要的是 , 网络必须共同定位和分类对象 , 这会损害两个任务的性能 。两阶段探测器
RCNN , Fast-RCNN , Faster-RCNN , RetinaNet等如果我们无法获得可变大小的输出 , 那么让我们搜索感兴趣的区域并自己处理每个区域
换句话说 , 这种方法将边界框与检测结果分离 。在第一阶段 , 该算法找出感兴趣区域 。然后 , 我们使用专用网络对它们进行分类 。第一阶段如下所示:分页标题
文章图片
文章图片
两阶段检测器的区域建议
准备好我们感兴趣的区域后 , 我们可以对它们进行逐一处理 , 得出它们各自的类别以及用于最终修剪的置信度得分 。结果如下:
文章图片
文章图片
两级检测器结果
现在 , 我们得到了出色的检测 , 几乎没有混乱 。与一阶段方法相比 , 该技术使用专用网络进行区域建议和区域分类 。这个想法允许两个阶段都可以独立开发 , 从第一阶段到第二阶段 , 为了进行更快的检测 , 已经进行了大量工作来共享见解 。
这种方法的明显优势是它的准确性 。通过将位置与分类分离 , 两个任务都由专门的网络处理 。另一方面 , 速度较慢 , 因为需要中间区域投标步骤 , 并且需要为每个投标运行分类器网络 。因此 , 所花费的时间与检测次数成正比 。训练可变大小的输出
现在我们知道了如何处理输出大小问题 , 最后一个问题是 , 我们如何训练这样的网络 。值得庆幸的是 , 在两种情况下 , 该过程大致相同 。
训练对象检测算法就像抚养孩子一样 。你必须告诉孩子对与错 。但是 , 如果称赞或抱怨太多 , 最终将宠坏或伤害孩子 。用检测术语 , 我们只会赞扬最好的发现 , 只会惩罚最坏的错误 , 而其余的则什么也没说 。
考虑到真实边界框的集合 , 我们将奖励具有大于0.7"交集"(IoU)的框 , 并惩罚低于0.3的检测 。这将创建一个梯度信号 , 重点放在真正好的检测上 , 淡化唯一真正错误的检测 , 剩下其余的 。
可以添加的一件简单的事情是IoU仅在0.1到0.3之间的淡化检测 。因此 , 惩罚性有所降低 。还可以平衡考虑正数和负数的框数 , 以平衡正负样本的贡献 。
进一步的步骤是使用某种形式的硬负开采 。总体思路是利用模型的损失对检测结果进行从最坏到最好的排序 。这样 , 我们就有了更原则性的选择赞美和惩罚的方法 。检测与细分
到目前为止 , 我们一直在进行对象检测:为场景中的对象找到边界框 。对于人类而言 , 这是一项容易的任务:我们可以轻松地检测到事物 , 并且可以快速绘制矩形 。更具挑战性的任务是细分 。
图像分割是绘制一个概述对象的蒙版 。例如 , 我们需要完全绘制其轮廓 , 而不是围绕一个人的矩形 。这比较难 , 因为绘制对象实际轮廓比画矩形更难 , 并且事物也可以与背景融为一体 , 这使其更具挑战性 。
但是 , 对于神经网络 , 这更容易 。代替具有可变大小的输出 , 我们必须对每个像素进行分类 , 从而制作一个蒙版 。因此 , 每个输入像素需要一个输出像素 。这是由人员细分工具处理的上述场景之一的示例:
文章图片
文章图片
人群细分
它并不完全完美 , 但这是一项可爱的工作 。从概念上讲 , 这是一个困难得多的问题 。但是 , 在网络体系结构级别 , 它更易于管理 。
如果我们同时利用两个框架 , 我们可以快速获得所谓的"实例分割" , 这是将不同的对象与不同的对象进行分割的任务 , 例如:
文章图片
文章图片
实例分割示例
总体思路是分割每个边界框的结果 。这样 , 边界框就是"实例" , 而分段确实可以实现分段:) 。虽然这被简化 , 但这是Mask R-CNN算法背后的一般思想 。总结分页标题
在本文中 , 我介绍了为什么对象检测算法比其他网络复杂得多 , 以及如何处理可变输出大小问题 。然后 , 我简要比较了图像分割模型如何看待此问题以及如何将两种方法组合到实例分割框架中 。
总体而言 , 没有特别讨论任何体系结构 。实际上 , 所有提出的概念都是出于教学目的的简化 。每个模型的处理方式略有不同 , 都引入了锚点、平滑和新颖损失等概念 。如前所述 , 它可能变得相当复杂 。
- 新科技嗅|人工智能可以应用在哪些方面
- 寒冬已过|而对象竟然是各大“民主国家”,意外!世界多国的亚美尼亚人爆发抗议
- 胖次资讯|网红发文一线男明星约其同玩,吴亦凡成头号怀疑对象,这位无辜躺枪
- 超越|《中餐厅4》周五首播赵丽颖杨超越为何成为网友重点关注对象
- 大众报业·海报新闻|“人工智能、60%...”山东女子学院男生比例最高的专业
- 青年|艾比终于找到对象了,脖子上草莓印明显,网友好奇是男的还是女的
- 人工智能|厦大成立人工智能研究院,欲加强AI与经济化学等学科交融
- 无锡|无锡工行助力市场主体崛起:再选万家小微企业作为走访扶持对象
- 教学|四川今年执行高职(专科)计划33万人 招生对象覆盖部分在岗群体
- 技术编程|人工智能在大视频运维中如何实现CDN硬盘故障预测?