Metamorphic Object Insertion for Testing Object Detection Systems
文章目录
简介
论文标题
- Metamorphic Object Insertion for Testing Object Detection Systems
- 用于测试目标检测系统的变形目标(Metamorphic Object 应该指的是蜕变关系的物体)插入
- 2020
贡献
- 我们介绍了一种新的变形测试方法来测试OD,OD是各种计算机视觉应用(例如自动驾驶汽车)中的重要部件。我们的技术将OD视为“黑匣子”。因此,它非常适用于测试真实的OD,比如云上的远程服务。
- 为了生成不同的、看起来自然的图像集作为测试输入,我们设计并实现了MetaOD,这是一个简化的工作流,它执行对象提取、对象细化/选择和对象插入,以高效和自适应的方式合成输入图像。
- 我们的方法在现实环境中测试OD,并描述最先进的商业OD的能力。从总共292,206张输入图像中,MetaOD在8个流行的(商业)OD中发现了38,345个错误检测结果。通过利用合成图像触发错误的OD输出进行再训练,我们表明OD模型的性能可以得到显著提高。
目前软工方向就一篇目标检测的论文
- 将目标检测模型作为一个黑盒模型
- MetaOD 在背景图像中插入额外的对象实例来合成看起来自然的图像
- 设计变形条件来判定原始图像和合成图像的OD结果的等价性
[8]2020. Dropbox folder of all erroneous detection results found by MetaOD.https://www.dropbox.com/sh/ivpprt96nycokd9/AAAZ_3D8TV AF25L90Z9AqpRya?dl=0.
[9] 2020. MetaOD Codebase.https://github.com/MetaOD/MetaOD.
想法很直观,就是在一个图片里面的物体周围放一些别的物体看看会不会出错,重点在于实现的细节.如放什么放在哪如何放
摘要
深度神经网络(DNNs)的最新进展导致了能够快速处理图片或视频并识别它们所包含的对象的对象检测器(OD)。尽管亚马逊(Amazon)和谷歌(Google)等工业制造商在将基于深度学习的OD商业化作为标准计算机视觉服务方面取得了令人振奋的进展,但OD-类似于传统软件-仍可能产生不正确的结果。这些错误反过来会给用户带来严重的负面后果。例如,自动驾驶系统如果未能检测到行人,可能会导致事故甚至死亡。然而,尽管它们很重要,但目前还不存在检测ODs的原则性的、系统的方法。
为了填补这一关键空白,我们介绍了MetaOD的设计和实现,这是一个专门为OD设计的变质测试系统,用于有效地发现错误的检测结果。为此,我们**(1)通过在背景图像中插入额外的对象实例来合成看起来自然的图像,以及(2)在排除对插入对象的预测结果之后,设计变形条件来判定原始图像和合成图像的OD结果的等价性**。MetaOD被设计为执行对象提取、选择和插入的简化工作流。我们开发了一套实用的技术来实现有效的工作流程,并生成多样化的、外观自然的图像用于测试。在对TensorFlow API提供的四个商业OD服务和四个预先训练的模型进行评估后,MetaOD发现了数以万计的检测失败。为了进一步展示MetaOD的实际应用,我们使用导致错误检测结果的合成图像对模型进行重新训练。我们的结果表明,模型的性能显著提高,从MAP得分9.3提高到MAP得分10.5。
初步
基于深度学习的目标检测器(OD)使用卷积神经网络识别给定图像中的目标。目前,包括谷歌、亚马逊、微软和洛克希德·马丁在内的几家主要工业制造商正在构建和改进OD,以作为各种计算机视觉任务的基础。这些模型广泛应用于实际应用中,如光学字符识别(OCR)、机器人、机器检测和自动驾驶汽车中的行人检测。它们也被用作监视和医学图像分析应用的初始步骤,
然而,尽管取得了如此惊人的进步,基于深度学习的OD-类似于传统软件-可能会产生错误的预测结果,可能会带来灾难性的后果。特别是,鉴于ODS在安全、医疗和自动驾驶领域的关键应用中的广泛采用,不正确或意想不到的边缘情况行为已经对公共安全或经济损失造成了严重威胁[11,43,73]。例如,在2016年的一个臭名昭著的案例中,特斯拉的自动驾驶模式导致了致命的撞车事故,因为自动驾驶系统在明亮的天空下未能识别出一辆白色卡车[15]。最近,优步(Uber)的一辆自动驾驶汽车撞死了一名过马路的行人,据信这是因为它未能识别出一名穿深色衣服的行人[32]。
近年来,已经设计了许多技术来测试深度学习系统,包括卷积神经网络(CNN)和递归神经网络(RNN)模型[20,57]。这些技术还被应用于测试特定领域的应用,如自动驾驶系统[11,73,84],以及测试深度学习库的基础设施[21,39,61]。然而,现有的研究还没有系统地研究检测ODs的具体原则,因此不太可能导致对ODs进行全面、系统的检测。
本文通过引入变质测试[16,17]框架MetaOD来解决这一重要问题,以具体而有效地揭露OD的错误预测。给定一幅真实图像作为背景,MetaOD将一个对象实例插入到背景中,生成合成图像,然后使用变形条件来检查合成图像和相应背景之间OD结果的一致性。MetaOD可以有效地生成触发实际预测误差的多样化和自然外观的图像,它被设计为一个三步方法,执行对象提取、对象细化/选择和对象插入。对象提取模块使用先进的实例分割技术从大量图片中提取对象实例图像[14],从而聚合按类别区分的许多对象集。然后,给定背景图像,对象细化/选择模块实现一组轻量级但有效的标准,用于从与背景密切相关的对象集中选择某些对象。为了确定插入位置,对象插入模块使用受增量调试[83]启发的域特定标准和技术来找到可能触发预测误差的位置,同时保持合成图像的真实感和多样性。
MetaOD 步骤 对象提取、对象细化/选择和对象插入
- 对象提取采用实例分割技术从大量图片中提取对象实例图像并聚类
- YOLACT分割
- 对象细化采用一组标准从与背景密切相关的对象集中选择某些对象
- 对象插入采用受增量调试(delta debugging)启发的域特定标准和技术来找到可能触发预测误差的位置
建议的工作流程是有效的,在亚马逊、Google、IBM和Microsoft提供的四个商业OD[1,2,4,6]和TensorFlow
API提供的四个预先训练的OD模型[3]上进行评估时,显示了令人满意的结果。我们的测试显示,这些流行的(商业)服务有数万个错误的OD输出。此外,我们使用合成图像重新训练了一个OD模型,该模型会导致该模型输出错误的输出。评估结果表明,经过再训练后,模型的性能有了很大的提高。
目标检测技术背景
通常使用手工制作的特征和选择性区域搜索来寻址对象检测[60,77,79]。通过试探法[77]将输入图像解剖成小区域(每个区域被称为“区域建议”,并且可能包含一个对象)。然后,从每个区域方案中提取特征进行目标分类。到目前为止,存在两个主要的研究方向(这两个研究方向中提出的流行模型都在本工作中进行了测试;见第6节),它们极大地改进了具有深度学习的OD技术,下面将对这两个方面进行简要介绍。
两阶段基于区域的OD被DNN应用于图像分类的初步成功所激励[41],RCNN[30]是首批应用CNN构建OD的公司之一。该技术形成了一个两级流水线,其中从输入图像中提取的每个区域方案都作为CNN的输入进行特征提取。然后,将提取的特征分别转发给支持向量机分类器和包围盒回归器,以确定对象类别和包围盒偏移量。
从那时起,OD研究的重点是快速发展RCNN架构[18,34,67],并消除对区域建议的明确依赖以提高速度。Fast-RCNN[29]引入了一种现代化的端到端预测管道。如图1所示,整个图像被转发到CNN以生成卷积特征图,并且从特征图中提取区域建议(第一阶段),而不是"区域建议"。在完全连接层(FC)之前放置感兴趣区域(ROI)池层,以将每个提议重塑成固定大小,并且FC层的输出被馈送到SoftMax和BBox回归器层,分别用于对象分类和用于确定边界框偏移(第二阶段)。
A Region of Interest (RoI)

单阶段OD两阶段OD使用区域(显式或隐式)进行对象本地化。另一项研究旨在通过在整体环境中设计单级前馈CNN网络来提出一种不需要区域建议的经济有效的解决方案。这类网络通常通过以精度换取速度来降低计算密集度,通常更适合实时任务或在移动设备中使用。
YOLO(您只需看一次)[64-66]和SSD(单发探测器)[47]型号是具有单级架构的实际OD。图2描述了YOLO工作流,在该工作流中,首先将输入图像划分为S×S网格;然后,在每个网格中预测固定数量的边界框。对于每个边界框,网络输出类别概率和边界框偏移。当边界框的类别概率超过阈值时,该边界框被视为包含对象。整个管道通常比基于区域的技术快几个数量级。事实上,MetaOD(参见4.1节)的对象提取模块构建在YOLACT[14]之上,YOLACT[14]是一个受YOLO启发的实时实例分割模型。
一般来说,给定一个良好的模型,基于区域建议的目标检测技术通常可以获得高性能;相比之下,像YOLO和SSD这样的“统一”管道通过以精度换取速度来实现高检测效率。虽然精确度可能往往是最重要的,但统一模型也被普遍采用,特别是在移动/可穿戴设备和分析视频方面,这些设备的速度非常关键
方法概述
变质测试(MT)已被广泛用于自动生成测试,以检测常规软件故障[16,17]和DNN预测错误[22,73,84]。MT的优势在于它能够通过变形关系(MRS)来缓解测试甲骨文问题。每个MR根据输入及其预期输出描述目标软件的必要属性。即使很难确定实际输出的正确性,也可以在给定输入的预期输出中构造和检查适当的MRS以检测软件检测。在本研究中,我们将变形测试应用于OD。为了提供方法概述,我们从制定相关符号开始。
通过将测试图像 i i i 馈送到OD d d d,预测输出被表示为 d [ [ i ] ] d[[i]] d[[i]],其由 d [ [ i ] ] d[[i]] d[[i]]由 $N¥个三元素元组 KaTeX parse error: Can't use function '$' in math mode at position 33: …}, c_{k}\right)$̲, 组成,其中 $N$ 表示在…
i^{\prime}=\mathcal{C}(o, i), o \in \mathbb{O} \text { and } \mathcal{C} \in \mathbb{C}
$$
一个插入的图像 + 一个要插入的坐标 + 原始图像 =合成后图像
其中o被放置为使其中心位于由C指定的2-D坐标。请注意,在本研究中,我们不应用任何变换规则(旋转、模糊等)。在插入的对象上,为了尽最大努力保持真实感, C ∈ C \mathcal{C} \in \mathbb{C} C∈C 被故意构造成使得插入的对象o不会与“背景”图像i中先前存在的对象重叠。因此,本研究采用的MR可以形式化如下:
∀ C ∈ C ∀ o ∈ O . E ( d [ [ i ] ] , d [ [ i ′ ] ] \ { ( b o , l o , c o ) } ) \forall \mathcal{C} \in \mathbb{C} \forall o \in \mathbb{O} . \mathcal{E}\left(d[[i]], d\left[\left[i^{\prime}\right]] \backslash\left\{\left(b_{o}, l_{o}, c_{o}\right)\right\}\right)\right. ∀C∈C∀o∈O.E(d[[i]],d[[i′]]\

本文介绍了一种新的变质测试方法MetaOD,用于高效地测试目标检测系统,通过在背景图像中插入额外的对象实例来合成自然图像,并设计变形条件来判断原始图像与合成图像的检测结果是否等价。MetaOD能有效发现检测错误,并通过使用错误触发的合成图像进行再训练,显著提升模型性能。
最低0.47元/天 解锁文章
926

被折叠的 条评论
为什么被折叠?



