DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition

DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning
for Mobile Object Recognition

摘要

+++深度学习技术在许多计算机视觉相关任务上实现了最先进的性能,例如大规模物体识别。在本文中,我们表明,由于不同位置、一天中的时间等引起的上下文变化,在日常移动场景中使用时,识别准确度会降低。为了解决这个问题,我们提出了 DeepCham——第一个自适应移动对象识别框架, 允许深度学习技术成功地应用于移动环境。具体而言,DeepCham 由边缘主服务器协调,该服务器与参与的移动用户协调以协作训练域感知适应模型,当与域约束深度模型 一起使用时,该模型可以产生更好的对象识别精度。 DeepCham 使用两个主要步骤从原位移动照片生成高质量的领域感知训练实例:(i) 一种分布式算法,用于识别存储在每个移动设备中进行训练的合格图像,(ii) 一个用户标签过程,用于从合格的图像中识别可识别的物体,使用由一个通用的深度模型自动生成的建议。使用新收集的包含从不同位置、一天中的时间和设备类型收集的智能手机图像的数据集,我们表明,与仅使用通用深度模型实现的精度相比,DeepCham 将对象识别精度提高了 150%。此外,我们调查了主要设计因素如何影响 DeepCham 的性能。最后,我们使用实现的原型证明了 DeepCham 的可行性。
关键词:移动对象识别、边缘计算、众包、自适应深度学习。

I 引言

配备功能强大的相机和强大处理器的当代移动设备(例如,智能手机、移动机器人)支持许多令人兴奋的移动计算机视觉应用,例如增强现实 [19]、[39]、[26]、[27]、家用机器人 [22] [21] 等。大多数此类应用程序的核心功能是对图像或视频序列的对象识别。传统的物体识别算法对于受控环境中的特定视觉任务(例如,酒标阅读、基于 OCR 的语言翻译)运行稳健,但在不受约束的移动环境中对于更一般的移动物体识别任务表现出很高的准确性。主要挑战是:(1)模型包容性:很难提前知道环境中有哪些对象可以为这样的环境预训练包容性识别模型,以及(2)视觉域转移:每个移动视觉域是高度可变的:图像分辨率、照明、背景、视点和后处理(或上述任何组合)的变化会对计算机视觉算法的准确性产生不利影响。

深度学习方法,学习具有非常大数据集的多级神经网络,为解决具有挑战性的移动对象识别问题打开了一扇门。具体来说,最近先进的卷积神经网络 (CNN) [23] 在大规模对象识别任务上取得了最先进的性能,例如 ImageNet 大规模视觉识别挑战赛中的 1000 类对象分类任务(ILSVRC)。这种大规模识别模型(我们将其命名为通用深度模型)可以训练以识别现实生活中的大多数对象,这似乎解决了包容性问题。然而,使用这种大规模数据集训练的深度神经网络并不能保证在每个目标视觉域(即应用深度模型的上下文)中有足够的识别率[13]、[20]、[18],例如,它可以很好地识别博物馆中展示的动物标本,但不能很好地识别动物园中的动物标本。

最近已经表明,使用有监督的深度模型自适应方法可以显着提高目标视觉域中通用深度模型的对象识别精度 [13]、[18]。有效的适应需要从此类目标视觉域中捕获的高质量训练实例(良好的图像特征和正确的图像标签)。然而,在移动对象识别任务中,由于高度可变的移动视觉域,获得如此高质量的训练实例具有挑战性。

本文中,我们提出了 Deep Chameleon(或简称 DeepCham),这是一种边缘介导的协作深度学习适应框架,旨在解决具有挑战性的移动对象识别问题。 DeepCham 使用来自参与移动设备的原位照片创建特定领域的适应训练实例,并在个人空间(例如,家庭)和公共空间(例如,博物馆)中实现深度模型适应。

移动环境中的深度模型适应应花费最少的人力、尊重用户隐私、资源高效且实时完成。 DeepCham 通过三个系统组件实现这些目标。第一个组件是域感知图像选择管道,它在边缘服务器 [37]、[38]、[41]、[8] 和所有参与的移动设备之间协作运行。它包括识别与目标视觉域规范匹配的设备上移动照片的功能,以及允许参与的移动设备协作选择代表性图像子集的分布式图像修剪算法,考虑到每个设备对所选图像数量的限制.第二个组件是在每个参与的移动设备上运行的训练实例生成管道。它包括一个目标提议算法,旨在从移动照片中快速准确地提取目标,以及一个通用的深度学习模型,以促进训练实例的生成。深度模型采用建议的对象并自动为用户生成标签推荐。同时从深层模型的隐藏层中提取图像特征。第三个组件是适应训练管道,它使用来自所有协作用户的最终训练实例来训练浅层模型(例如 SVM)。

DeepCham 使用类似于 [18]、[10]、[15] 中使用的方法的后期融合技术对目标视觉域执行对象识别,该技术结合了通用深度学习模型和适应的特定领域的识别结果浅模型。与现有工作不同的是,DeepCham 中使用的后期融合方法不需要训练单独的特定领域的深度模型。相反,它向通用深度模型提供领域信息(即适应模型中现有类的集合),以便它在预测中忽略与领域无关的类。

我们使用新收集的数据集评估 DeepCham,该数据集能够系统地评估不同移动视觉环境下的适应性能。使用这个数据集,我们首先表明通用深度学习模型在不受约束的移动环境中性能不佳,然后我们评估环境因素如何影响适应模型的性能。接下来,我们评估 DeepCham 三个组件的有效性及其对端到端自适应准确性的贡献。最后,我们用原型系统证明了 DeepCham 框架的可行性。

总之,我们的贡献如下:

  • 使用深度学习模型在不同移动视觉域下进行对象识别的边缘介导框架。
  • 一种用于灵活适应任务初始化和候选训练图像选择的基于属性的移动视觉域规范方法。
  • 用于在移动设备上运行的适应的快速协作训练实例生成管道。我们的方法旨在最大限度地减少人力,尊重用户隐私并提高资源效率。
  • 创建一个新的图像数据集,可以对不同移动视觉域的深度模型适应进行受控的实验评估。
  • 一个原型系统实现证明了该框架的可行性。

II 动机、挑战和相关工作

A、动机
DeepCham 的设计基于以下关键观察:在移动环境中,智能手机用户捕获了大量未标记(即没有文本注释)的高分辨率域感知照片。如今,手机照片附有信息丰富的元数据,例如,EXIF 数据包含有关相机的详细信息、拍摄设置、日期/时间、位置等。使用现代编程的标准库可以轻松提取此类元数据语言。此外,使用其他移动服务提供的 API 扩展图像元数据的范围也很容易,例如,我们可以通过天气服务的 API 发送日期/时间来获取天气数据。另一方面,我们也可以使用这样的元数据属性来指定我们想要适应的目标视觉域。通过将图像元数据与预定义的目标视觉域进行匹配来识别可能用于适应训练的照片。
B、挑战
尽管原位移动用户照片具有潜力,但将它们直接用于适应训练会带来一些挑战:首先,移动用户照片没有标记,通常包含多个对象。这需要解决一个硬对象检测和识别问题,即识别手机拍摄的图像中多个对象的位置和类别/标签。其次,需要多个用户来覆盖目标视觉域中更具包容性的一组对象。这需要用户对对象类使用不同标签的协调挑战,并解决用户拍摄目标域相似照片的图像冗余问题。第三,典型的深度学习适应训练在云端进行,处理能力强,数据量大。然而,在我们的案例中,由于隐私问题和高上行带宽/能耗,将原始移动用户照片发送到云端进行处理并不具有吸引力。因此,需要一种基于边缘的解决方案,理想情况下可以在移动电话上执行自适应训练。
C、相关工作
视觉域适应。 对于物体识别任务,视觉域被定义为图像/视频识别的上下文,包括各种视觉线索,如视觉照明、背景等。为了提高特定目标视觉域的识别性能,视觉域适应方法已经被提出被计算机视觉社区广泛研究 [34]。最近的工作表明,即使使用最先进的深度学习模型,视觉域转移仍然是一个问题 [13]、[20]、[18]、[43],并且已经提出了各种基于服务器的方法。总的来说,现有的适配技术并不特定于移动视觉领域,也不关心移动资源的限制。相比之下,我们研究了移动视觉域适应的案例,其中手机中存在潜在有用的图像数据,但在保护隐私和最大限度地减少移动资源使用的同时,应该花费最少的人力。
在移动设备上进行深度学习。 深度学习模型已被移植到主流移动平台上,例如 Android [4]、[24]、[5] 和 iOS [2]、[5]。在最近的传感器计算论文中,Lane 和 Georghiev [25] 使用深度学习构建了一个用于音频传感(例如语音识别)的系统,在具有离线训练的移动设备上显示出高效的操作和良好的准确性。与音频相比,我们表明移动视觉领域需要在线适应训练。此外,在我们的系统设计中,我们在移动设备上运行深度学习模型有多种用途:它不仅用于对象识别,还用于生成高质量的训练实例,有监督的适应训练中的适应训练概述标签和判别图像特征。
用于监督机器学习的训练实例标记。 在监督机器训练中,分配给训练实例的标签质量非常重要,尤其是在训练实例数量非常有限的情况下。当多个用户参与标注时,标记同一对象类还有一个标签一致问题[9]。为了促进标记过程,机器学习社区已经研究了交互式标记技术 [30]、[31]、[44]、[47],它们结合了自动图像标记和人工反馈的力量。然而,这些技术依赖于精心准备的训练图像,而不是来自个人移动设备的原始图像。
对象边界框建议 为了从复杂的多对象图像中自动识别和裁剪对象,DeepCham 依赖于计算机视觉研究社区的实时对象边界框建议算法 [48]、[40] 的最新进展。传统上,边界框提议算法被用作已知对象检测任务 [40]、[17]、[16] 的重要步骤,这需要准确裁剪目标对象(即出现在训练图像中的对象)。这意味着该算法会在潜在对象周围定位许多可能的边界框(通常超过 1000 个按置信度评分排序),稍后由计算机程序处理这些边界框以选择目标对象的最佳边界框。 DeepCham 涉及人类用户进行对象标记,因此它不能使用许多边界框。在本文中,我们分析了新要求并提出了一种增强型边界框策略 (EBBS) 来应对这一新挑战。
移动系统中的对象识别。 现有的移动增强现实 (AR) 系统 [19]、[39]、[26]、[27] 使用复杂的基于传感器的技术进行上下文推断,结合传统的计算机视觉技术进行对象识别:它们将测试图像发送到 GPU-配备的服务器提取图像特征并将它们与数据库中带注释的对象图像的特征进行匹配。这些基于图像匹配的系统需要精确的查询图像和数据库中注释图像的初始群体的手动标记。我们的系统专注于采用最先进的深度学习技术来进行更广泛的对象识别(即,它不需要图像数据库)。此外,我们表明它可以在移动设备上执行,而不是支持 GPU 的服务器。
边缘计算 DeepCham 遵循边缘计算范式 [37]、[38]、[41]、[8]、[45],将计算推到互联网的边缘。 “一跳”边缘服务器通过低延迟通信和足够的数据缓存容量实现协作用户之间的协调。此外,连接到同一本地部署的边缘服务器(例如,在博物馆)的移动用户很可能拥有与相同目标视觉域匹配的照片。然而,与现有方法的一个主要区别是 DeepCham 将更多对隐私敏感的图像处理操作卸载到移动设备上。这一事实提出了几个独特的算法和系统挑战,我们必须在本文中加以解决。

III DeepCham adaptation training

A、训练系统概述

+++DeepCham 通过向参与的移动设备分配适应训练任务来工作(图 1)。每个适应任务针对一个特定的移动视觉域,由一个Initiator、一个Master和多个Worker组成。Initiator可以是任何一个人,他通过指定目标视觉领域的特征来初始化适应任务,并将这种规范发送给Master。 Master 是在本地边缘服务器中执行的软件模块。它的目标是接受一个适应任务请求并协调工作人员之间为此任务的协作。 Worker 是驻留在移动用户手机上的软件模块。Worker从Master那里接收任务,并通过基于他们捕获的原生图像生成和分享目标领域的训练实例,来执行适应性任务。这些实例以后可以用来调整现有的通用深度模型以适应目标移动视觉领域。随后,每个用户都可以使用此适应模型在目标环境中进行目标识别。Adaptation Training 旨在允许具有共同兴趣的移动用户协作训练域感知适应模型。该训练过程可以细分为四个步骤,即 (i) 任务初始化、(ii) 域感知图像选择、(iii) 训练实例生成和 (iv) 浅层模型训练。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第1张图片
B、任务初始化

+++ Adaptation Task由用户启动,即对识别特定移动视觉域中的对象感兴趣(例如,在朋友的帮助下为个人空间创建自适应模型),或者由一个希望为公共空间启动一个训练任务的用户(例如,在参观者的帮助下为博物馆创建一个适应模型)。initiator首先创建适配任务的特征,然后将规范发送到本地边缘服务器(Master)。
+++ Adaptation Task通过一组上下文属性(例如时间、位置或天气)来描述目标移动视觉域的特征。这些属性可帮助workers选择设备中的匹配照片。 DeepCham 允许指定远程和现场任务。远程任务可以由没有位置或时间限制的任何授权 initiators发起,而现场任务是由现场用户初始化的,她想为她当前的移动环境训练和使用一个适应模型。在图 2 中,我们展示了 Android 设备上的现场适配任务规范的屏幕截图。在这种情况下,客户端软件通过调用系统 API(例如,时间和位置)来自动设置视觉域属性。需要注意的是,可视域属性可以定义在不同的粒度级别。例如,可以按地点 [12](餐厅、教室等)的粒度定义位置。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第2张图片
在收到任务规范后,master 首先检查是否存在匹配指定目标视觉域的现有自适应模型。模型匹配标准可以灵活确定,例如,如果模型定义了一个位置属性为一个区域(GPS c o o r d _{coord} coord +Radius),master可以计算并呈现与现有适应模型(如果定义了位置区域)的区域重叠率,并且基于此信息,任务发起者可以决定是否应该训练新模型。如果存在预训练模型,发起者可以选择直接使用它或使用更多训练实例来增强该模型。如果这是一个新的适配任务或发起者选择增强现有模型,则Master将适配任务广播给运行工作软件的参与移动设备。适应任务描述包含对未来worker的指导。 DeepCham 支持两种adaptation tasks的场景。在第一种情况下,任务可以要求移动用户使用其设备中的现有照片。在第二种情况下,它可能会要求他们在有限的时间间隔内拍摄和标记目标域的照片。如果用户愿意参与,它会将确认发送回master,该设备将被称为worker。一旦worker被确定,他们就开始作为一个由master协调的协作组来执行任务。
+++ initiator还为适应任务指定了一个到期时间,当任务到期时,master停止招募新的workers,并将使用现有workers创建的训练实例来训练适应模型。

C、域感知图像选择

+++在每个设备中运行的 DeepCham 工作客户端软件扫描本地存储以获得与任务规范匹配的候选图像列表。这些候选图像的列表可能非常大,每个图像可能包含多个对象。手动标记大量对象是详尽且不切实际的。例如,如果一张图像平均包含 3 个对象,而用户标记一个对象需要 5 秒(即创建一个训练实例),那么标记 100 个图像将花费 25 分钟!因此,DeepCham 允许workers指定他们打算标记的最大图像数量。鉴于这个最大限制,DeepCham 应该选择一个图像子集,这些图像共同包含最大数量的不同对象。出现的一个挑战是,当多个用户参与自适应训练时,选择算法还应避免让用户标记许多重复的对象。我们使用一种新的分布式冗余图像修剪方法解决了这个问题。
分布式图像剪枝: 首先,我们描述了这个分布式图像剪枝问题的一种特殊的最简单形式:只有一个工人 u i u_i ui,他想要从 m i m_i mi(假设 m i m_i mi> n i n_i ni m i m_i mi∈Z+) 候选图像中标记 n i n_i ni( n i n_i ni∈Z+)图像,我们希望最大化所选图像中覆盖的不同对象的数量。但是,我们不知道每个图像中包含哪些对象,也无法手动识别它们。为了找到一个可行的解决方案,我们观察到如果两个图像的视觉外观有很大不同,则两个图像包含相同对象的可能性非常小。因此,我们不是直接最大化不同对象的数量,而是识别具有较大视觉差异的图像子集。我们对最简单的单worker场景的解决方案很简单:我们假设从每个候选图像中提取了一个全局图像特征(我们使用轻量级和广泛接受的 CEDD [11] 进行评估),使用K-means进入 n i n_i ni集群的候选图像特征。然后,对于每个集群,我们只保留一个图像,它是集群质心的最近邻居。
+++接下来,我们正式描述这个问题的一般版本:对于一个适应任务,有 l l l个参与的工人 { u i u_i ui,…, u l u_l ul} ( l l l∈ Z )。每个工人 u i u_i ui(1 ≤ i ≤ l) 都想从她本地设备中的 m i m_i mi候选图像中标记 n i n_i ni图像的一个子集,只要任务没有过期,她就可以在任何时间点加入任务。我们希望最大化所有worker的选定图像中覆盖的不同对象的数量。同样,我们不知道每个图像中包含哪些对象。因此,我们可以选择识别具有较大视觉差异的图像子集。
+++对于一般问题,简单地在每worker的设备上对提取的图像特征运行聚类算法并不是最佳解决方案。原因是不同的工人可能拍到了相似的照片,而在不知道其他工人选择了哪些图像的情况下,复制的对象可能包含在协作工作人员的选定图像中。因此,任何解决方案都必须解决这个问题。现在,在我们针对一般问题描述我们的算法之前,我们首先考虑两种特殊情况:
一个接一个异步场景:
在这个场景中,我们假设一个新的 worker , u j u_j uj 只能在另一个参与的 worker , u i u_i ui 选择了要保留的图像子集后才能加入适应任务。为了让新工作人员知道其他工作人员的设备中保留了哪些图像,系统要求工作人员在选择图像后立即将所选图像的图像特征发送给master。第一次加入这个适应任务的工人 u1 将 m1 个候选图像聚类到 n1 个集群,而不考虑其他工人的选择(就像最简单的单工人形式一样)。对于每个 n1集群,u1 只保留一个图像,它是簇质心的最近邻居,然后将保留图像(或出于隐私考虑的簇质心)的图像特征发送给master。随后的新工人 ni (1 < i ≤ l) 首先从 master 接收现有工人所选图像的 ne图像特征。然后在新工人的设备上执行两步方法。在步骤 1 中,它将其 mi候选图像聚类为 ne+ni集群,并且在每个聚类中它保留一个图像,该图像是聚类质心的最近邻居。保留的图像特征形成集合 Sr。在步骤 2 中,我们使用从 master 接收到的每个 ne图像特征作为查询,我们在 ˆSr 中找到它的最近邻居和将其从 Sr 中删除。 Sr中剩余的图像保留给 worker ni做标签,并将图像特征(或质心)发送给 master。为了避免产生过多的通信和计算成本,每个worker可以设置一个预定义的阈值nt(nt≤ne),以便master最多向新worker发送nt图像特征。 nt图像特征集可以通过随机选择或对所有新特征进行聚类来确定。
All-together 同步场景
在这个场景中,我们假设所有的worker 同时加入 adaptation task,即没有一个worker 在其他worker 之前选择了一组保留图像,这可能发生在多个worker 主动接受新的适应任务时。每个worker ui 指定她想要标记的图像数量 ni,并且master通知每个工人还有其他现有工人。我们针对这种情况提出了一个同步解决方案:每个工作人员将她自己的候选图像聚类到 ni+t 集群,并且对于每个集群,它保留与集群质心最近的邻居。在这里,我们首先为每个工人选择 t 个以上的图像,期望我们可以从 ni+t 个保留的图像中找到该工人独有的 ni 个图像。我们将 t 命名为同步容差变量,并在我们的实验研究中讨论 t 的设置。然后每个工作人员将保留的图像特征(或质心)发送给master。在接收到所有特征/质心后,在主节点上执行第二个 Kmeans 算法以将它们聚类为 ∑ n i \sum n_i ni集群。对于每个新集群,如果集群成员来自两个 worker,则只保留其中一个。保留图像的信息(例如,id)被发送回每个工人。
一般问题的解决方案:
综合上述两种特殊场景的解决方案,即可解决一般问题。我们展示了算法 1 中的伪代码,它在每个工作线程上运行。首先,每个 worker 将从 master 接收一组现有功能,并与 master 核对是否有同步的同事。如果没有同事存在,它会退回到一个接一个的异步场景。否则,它首先运行异步方法,但为了获得更多的集群,并依赖主服务器进行第二轮集群,就像在所有同步场景中一样。 updateFromMaster 函数从 master 接收保留图像的标识符列表。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第3张图片
D、训练实例生成管道

在每个参与的移动设备上,DeepCham 工作人员软件通过训练实例生成管道传递所选图像。对于包含多个对象的图像,管道首先自动检测图像中的对象,并将它们裁剪为训练对象图像,即,图像仅包含一个要标记的单个对象。这种自动化是通过新设计的增强边界框策略 (EBBS) 算法实现的。 EBBS 对最先进的边界框提议算法 Edge Boxes [48] 的输出进行操作,以选择一些具有高召回率的对象边界框。 (更多关于第 III-D1 节)。
一旦创建了训练对象图像,它们就会被输入到预先安装的通用深度学习模型中,该模型会生成(1)每个对象图像的潜在正确标签列表,以及(2)从 68 个图像中提取的 ConvNet 特征 [13]它的隐藏层之一。 Worker 用户通过点击屏幕来选择正确的标签(图 3)。此设计基于我们的观察,即尽管通用深度学习模型的识别准确率 (Top-1) 不够好(ILSVR2014 数据集 < 60%),很有可能是正确的预测包含在Top-K的结果中(Top-5的预测结果约为90%)的[36]中。此外,由于每个用户都被要求在他自己的照片中标记对象,因此他有更好的机会知道自己照片中的对象是什么,而不是标记其他人照片中的任何对象。同时提取的 ConvNet 特征已被证明具有很强的辨别力,并在许多不同类型的应用中表现出优异的性能,例如图像检索 [42] 和场景识别 [13]。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第4张图片

每个用户选择的标签和 ConvNet 特征对形成一个新的适应训练实例。对于在建议标签中没有显示正确标签的对象图像,有 3 个选项:首先,用户可以手动输入正确的标签,但使用 Google Instant [33] 中的自动完成建议。其次,如果用户不认识该对象,他可以将其标记为特殊类别“其他”。最后,用户还可以选择跳过此图像的标记。
增强边界框策略 (EBBS): 我们训练实例生成管道中的边界框提议与用于已知对象检测任务的传统边界框提议算法具有不同的挑战和要求 [40][48]:
1、没有先验知识:当一个自适应任务被初始化时,很难知道目标视觉域中可用对象的集合。
2、裁剪对象的足够余量:适应任务的良好训练图像应该在目标对象周围有余量,以捕获目标视觉域信息 [18]。
3、很少有高召回率的边界框:系统要求用户为每个对象/框选择正确的标签,因此应该识别较少的边界框以最小化用户的标记工作。
4、过小的boxes应该被忽略:过小的boxes由于图像质量低不适合适应训练。
EBBS 通过对 Edge Boxes 算法 [48] 的输出进行操作来满足要求并解决挑战,Edge Boxes 算法是一个分级边界框列表。边缘框通过计算客观性分数对框进行排名,该分数测量框中的边数减去与框边界重叠的轮廓的成员。 EBBS 将一张图像中提议的边界框的最大数量限制为一个较小的值 j(我们在实验中设置 j = 5)并包括以下操作:
去除大框和小框: EdgeBoxes 提出的大边界框通常会覆盖多对象图像中的多个对象。另一方面,如果一个物体覆盖了照片的大面积,它通常是一个单物体图像,不需要边界框识别过程。小的边界框通常包含不清晰的图像,可能不是很好的训练实例。在我们的实验中,如果提议的边界框的面积大于图像面积的 40%,那么我们认为它“太大了”。如果面积小于图像面积的 1%,我们认为它“太小了”。我们忽略所有“大”和“小”框。
等区域分布: 我们强制给定图像中边界框的等区域分布如下:首先,我们将给定图像划分为 4 个相等的区域:左上、左下、右上、右下。接下来,我们检查我们正在考虑的边界框 bi 是否可以使用算法 2 中的函数 Equal Region 分配给 4 个区域之一。 该函数确保 (i) 在所有边界框中仅保留最多 j 个边界框区域,(ii)分配给区域的最大框数为 ceil(j/4)。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第5张图片
为边界框添加边距:对于宽度为 w 和高度为 h 的边界框,我们裁剪了一个更大的宽度为 1.5w 和高度为 1.5 h 的框,同时保持原始框居中。算法 2 中说明了 EBBS 的伪代码。在我们的原型 Android 实现中,我们在低分辨率图像(通过调整原始图像大小)上运行 Edge Boxes(和 EBBS)以提高时间效率。然而,从低分辨率图像返回的边界框可能非常小,从这些小块中提取的特征是不可靠的。因此,在我们获得边界框的坐标后,我们将它们映射到原始高分辨率图像并裁剪出来用于下一个过程。
多尺度合并:我们观察到,当图像缩放到不同分辨率时,边缘框将检测不同细节级别的对象,因此将使用算法 2 生成不同的边界框集。使用生成的每组提议的边界框的并集不同的图像分辨率覆盖更完整的对象。不幸的是,简单地返回不同规模的盒子的联合可能是一种矫枉过正,并损害了我们限制用户标记盒子数量的设计目标。因此,我们提出了一种从联合集中删除冗余框的框合并方法。冗余框是具有“几乎相同”视觉内容的框。在我们的原型系统中,如果两个框的交叉区域超过每个单独框面积的 50%,我们将它们定义为具有“几乎相同”的视觉内容。对于这样的盒子,我们通过生成这两个盒子的联合来合并。

E、适配管道:模型构建

当所有参与的工人完成生成培训实例后,可以使用培训进行适配,以使用传统训练方法(例如 Softmax 或 SVM)创建新的浅层模型。适应训练可以在 Master 上完成,也可以使用分布式学习方法协作完成 [29]。适配模型将与所有参与用户共享。该自适应模型以及训练实例存储在具有视觉域属性的本地边缘服务器中,并且可以与具有相同自适应要求的其他用户共享。新用户可以直接使用模型,也可以使用新的训练实例增量训练自适应模型。

IV DeepCham目标识别

DeepCham 使用自适应浅层模型和深层模型进行对象识别(图 4)。具体来说,我们通过考虑以下好处,使用后期融合的方法来生成最终的识别结果:
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第6张图片

+++少量训练实例的良好性能:已经表明,后期融合方法 [18] 实现了与具有一次性自适应的复杂自适应方法类似的识别精度提高,即,对每个对象类使用单个训练实例。
+++简单的适应训练:训练一个浅层学习模型不需要配备强大的 GPU 的服务器。它速度很快,甚至可以在单个移动设备上执行。
作为插件共享适配:浅层模型的尺寸比深层模型小得多。一旦经过训练,它可以很容易地与其他对此类目标视觉域中的对象识别感兴趣的移动用户共享。
+++在移动视觉域自适应中直接应用后期融合方法的问题在于:它假设深层模型和浅层模型都识别同一组对象类。然而,每个目标视觉域中可用的对象类集是高度可变的,并且为每个域训练或微调深度模型是不切实际的。我们通过提出一个域约束的深度模型来解决这个问题。

A、领域约束深度模型

+++从通用深度模型创建的域约束深度模型仅识别目标视觉域中包含的对象类。我们构建域约束深度模型如下:假设在特定的移动视觉域中有 d 个对象类(即适应模型中的类)。对于每张图像,给定使用通用深度模型获得的预测向量,该模型表示该图像属于不同可识别类别的概率,我们仅保留 d 类集合 {p1,p2, …, pd} 的那些概率.然后我们将每个概率 pi=pi/?dn=1p 归一化为域约束预测结果。

B、基于后期融合的识别

+++为了获得最终的识别结果,我们应用了延迟融合方法[18][10][15],其中使用线性插值来计算特定实例的融合概率:pfusion=αpdeep(1-α)padpt。 (其中 pdeep 是域约束深度模型的概率,padp 是浅层适应模型的概率)。这里的一个问题是很难确定双模型识别的权重因子 α。我们提供了在我们的实验研究中设置权重的基本指南。
+++适应模型可能不包括目标视觉域中的一组完整的对象类,尤其是当只有一个工人参与适应训练时。我们通过在适应模型中包含一个特殊的“其他”类来解决这个问题,该类在训练实例创建步骤中表示无法识别。当一个对象被自适应模型识别为“other”时,系统仅使用通用深度模型进行对象识别。

V 评估

我们首先描述一个常用的 CNN 模型,它被称为通用深度模型(第 5.1 节),以及我们创建的捕捉不同目标视觉域的新图像数据集(第 5.2 节)。接下来,我们使用该数据集来呈现基线自适应性能,即我们假设包含对象集的完美训练实例,并将其与通用深度模型(第 5.3 节)实现的结果进行比较。然后,我们展示了我们提出的分布式图像修剪算法(第 5.4 节)和 EBBS 算法(第 5.5 节)的影响,以及使用所提出的算法创建的训练实例的自适应性能(第 5.6 节)。最后,我们描述原型实现并测量其系统成本(第 5.7 节)。

A、AlexNet CNN 模型

我们使用 1000 类 AlexNet [23] CNN 模型,该模型使用 ILSVRC 2012 数据集进行训练。该模型在 ImageNet 2012 验证数据集上实现了 57.4% 的 Top-1 准确率和 80.4% 的 Top-5 准确率。 AlexNet 由 5 个卷积层 (Conv1-Conv5) 组成,其中一些后面是最大池化层、3 个全连接层(FC6、FC7、FC8)和一个最终的 1000 路 softmax 层。在实验中,我们使用从 FC7 [18] 中提取的 4096 维 ConvNet 特征训练自适应模型。

B、移动上下文图像数据集 (MCID)

+++为了评估我们系统的性能,我们收集了一个新的移动上下文图像数据集 (MCID),其中包括使用三种不同的移动设备在两个不同时间(中午/晚上)从 3 个位置拍摄的照片。所有照片均在自动对焦和自动闪光(如果有闪光灯)模式下以默认分辨率拍摄。表 I 总结了我们的 MCID 数据集中包含的元数据图像属性。
+++我们可以根据设备类型、位置和捕获图像的时间的不同组合,将 MCID 中的图像划分为 18 个子集。我们使用以下格式 dev_loc_time 表示每个子集,例如,ip4_lab_d 表示中午 (d) 在研究大楼 (lab) 使用 iPhone4s(ip4) 拍摄的图像。对于在同一位置采集的子集,它们的图像包含几乎相同的视觉内容:一个子集中的每个图像必须在该位置的其他子集中具有镜像(图 5 中的示例)。这样做是为了更容易确定哪个属性对自适应性能的影响更大。 MCID 为与家庭公寓相关的每个子集有 117 张图像,研究大楼有 204 张图像,图书馆图书馆有 99 张图像。因此,MCID中包含的图像总数为(117+204+99)*2(时间)*3(设备)=2520。每个图像可能包含一个或多个对象。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第7张图片

+++为了便于讨论我们的评估结果,我们首先定义表 II 中显示的三个重要术语。我们从 MCID 中的所有图像中手动裁剪实例以进行基线评估。对于每个实例,它用 (1) 从中裁剪的图像 id,(2) 原始图像中其边界框的坐标,(3) 对象标签,例如 Tom 的手机,以及 (4) 进行注释班级标签。 MCID 中手动裁剪实例的所有类标签都包含在 AlexNet 的 1000 个类中。每个要识别的对象恰好有 3 个实例,从 3 个不同的角度显示其视觉外观。表 III 总结了每个位置子集的实例、对象和类的数量。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第8张图片
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第9张图片

C、基线适应性能

+++在本小节中,我们首先比较使用通用 Alexnet 深度模型获得的基线结果和我们使用手动裁剪框提出的自适应模型,即假设包含 MCID 内图像中所有对象的边界框被正确识别。
1、在本小节中,我们首先比较使用通用 Alexnet 深度模型获得的基线结果和我们使用手动裁剪框提出的自适应模型,即假设包含 MCID 内图像中所有对象的边界框被正确识别。
这个实验的目的有两个。首先,我们要验证使用通用深度模型不会产生良好的 Top-1 分类结果。图中显示的结果证实了我们的假设,因为对于所有设备/时间组合,获得的 Top-1 准确率始终低于 40%,这意味着通用深度模型在移动对象识别任务中没有实际用处。其次,我们要验证通用深度模型在 K 最大时是否达到更高的精度。对于 K > 1,我们假设只要 groundtruth 类标签在 Top-K 列表中,我们就会认为返回的结果是正确的。从图 6a 中,我们看到当 K = 5 时分类准确度提高到 60% 左右,当 K = 1 0 时分类准确度提高到 70%。这个结果表明我们可以使用这个通用的深度模型来为 DeepCham 用户提供有用的建议列表。训练实例创建管道,因为这意味着如果选择 K = 1 0,他只需在 30% 的时间内手动输入对象标签。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第10张图片

2、Shallow Adaptation Model Performance:图 6b 显示了使用仅使用子集内的对象实例训练的自适应模型的分类结果。子集中的每个对象,例如 ip4_home_d,包含三个实例,因此我们将每个子集分成 3 个迷你集,其中每个迷你集仅包含任何对象的一个​​实例。在实验中,我们保证使用不同的小集训练和测试自适应模型。提供了七种不同的实验设置。

  • 通用和域约束:使用通用深度模型或域约束深度模型(如 4.1 中所述)的 Top-1 精度。所有图像都用作测试图像。
  • OnePerObj 和 TwoPerObj:使用针对每个对象使用一或两个实例训练的适应模型的 Top-1 精度。一个 miniset 用于训练,而另外两个用于测试。
  • OnePerClass:使用针对每个类使用一个实例训练的适应模型的 Top-1 准确度。一个 miniset 用于训练,而另外两个用于测试。
  • TwoPerSameObj 和 TwoPerDiffObj:使用每个类使用两个实例训练的适应模型的 Top-1 精度。这两个选定的实例要么代表同一个对象(前一种情况),要么代表不同的对象(后一种情况)。两个 miniset 用于训练,而第三个用于测试。
    图中的每个条形图都显示了使用 6 个子集(3 个位置和 2 个不同的时间)的单个设备的平均准确度。对于呈现的结果,我们观察到: (1) 域约束模型与一般模型相比,Top-1 的准确率显着提高了 20%。
    (2) 使用新训练的自适应模型进行分类总是比使用通用或域约束模型获得的分类准确度更高。每个对象一个训练实例的适应 (82.4%) 将准确度提高了 46.6%(与一般模型相比)和 27.0%(与域约束模型相比)。 (3) 使用覆盖类中更多对象的实例进行训练比使用更多代表同一对象的实例进行训练更好。
    3、不同图像属性的影响:我们研究了不同属性对适应模型所达到的精度的影响。我们使用具有不同属性的不同子集进行实验以进行训练和测试。
    +++我们首先展示了图 7a 中时间属性影响的结果。对于这个实验,我们选择具有相同位置和设备类型但不同时间属性的图像子集进行训练和测试,例如 ip4 home d 和 ip4 home e。同样,我们确保训练实例和测试实例是从不同角度拍摄的同一对象的裁剪图像。在这里,我们使用了 4 种不同的实验设置:Obj_self 和 Class_self 表示具有适应模型的 Top1 精度,该模型使用每个对象一个实例或每个类一个实例进行训练,而测试实例与训练实例来自同一子集。 Obj_time 和 Class_time 表示具有适应模型的 Top-1 精度,该模型使用每个对象一个实例或每个类一个实例进行训练,而测试实例来自不同的子集(时间属性)。
    DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第11张图片

+++同样,我们在图 7b 中展示了显示设备类型影响的结果。 Obj 设备和类设备代表 Top-1 准确率,使用每个对象一个实例或每个类一个对象训练的自适应模型,但测试实例来自具有不同设备类型但在相同位置和时间的另一个子集。
+++为了评估位置属性的影响,我们在 MCID 中的 3 个位置的照片中包含的对象中确定了 21 个常见类。我们按如下方式运行多个实验:在每个实验中,我们使用来自一个位置的具有相同设备类型和时间属性的一个照片子集训练一个 21 类适应模型,并使用来自其他两个位置的适当子集测试该分类器。实验结果如图 7c 所示。 Obj_Dloc 和 Class_Dloc 表示具有适应模型的 Top-1 精度,该模型使用每个对象一个实例或每个类一个对象进行训练,但测试实例来自具有不同位置的另一个子集。
+++比较图 7 中显示的结果,很明显位置属性对自适应性能的影响最显着。在不同位置训练的适应模型仅比通用深度模型稍好。另一方面,与设备类型相比,时间属性对性能的影响更大。使用不同时间属性的图像进行训练会使准确率下降10%以上,而使用不同设备拍摄的图像进行训练的影响可以忽略不计。这一结果确保了涉及许多不同类型移动设备的协作模型训练的潜在好处。
4、后期融合研究:我们研究了后期融合的能力,并在图 8 中展示了两个子集 ip4_home_d 和 ip4_lab_d 的结果。子集 ip4_home_d 包含的每个类的对象数 (1.19) 比子集 ip4_lab_d (1.97) 少。我们使用每类一个随机选择的训练实例(每类一个)或每类两个随机选择的训练实例(每类两个)来训练浅层适应模型。我们从结果中观察到:虽然两个模型之间的精度差异很小(图 8c),但融合方法总是能达到更好的性能,精度提高高达 10%。当两个模型之间的精度差异很大时(图 8a、8b 和 8d),使用后期融合的好处非常有限。此外,我们的结果表明,当 α < 0.4 时,后期融合方法将始终提高更好模型(即自适应方法)的准确性。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第12张图片

D. 分布式图像修剪的影响

+++为了评估我们提出的分布式图像修剪算法的有效性,我们将所有相关工作人员的对象覆盖率 (OCR) 定义为我们的性能指标。 OCR 计算如下:假设worker ui 包含一组Mi 对象,那么我们生成S =∪Mi来自所有worker 的联合集。接下来,假设从 ni保持图像中识别出的对象集是 Ri。我们还生成 R =∪Ri。接下来,对象覆盖率计算为|R| |S|。
+++为了评估我们提出的分布式图像修剪算法的性能,我们假设有 3 个同步的工人 a、b 和 c。对于每个工人,我们随机选择在home_day目标域拍摄的 351 张图像中的 50% 作为候选图像以在我们的实验中进行评估。因此,每个工人大约有 175 张图像,每个用户拥有包含相同对象的图像的可能性相对较高。在我们的实验中,我们假设每个工人将标记相同数量的图像,即 na= nb= nc= n (5 ≤ n ≤ 20)。我们将所有实验重复 20 次。
+++我们首先研究改变 t(同步容限变量)对我们提出的算法性能的影响。我们使用一个场景运行实验,其中 3 个 worker 都在 master 上同步,即,worker 没有从 master 接收现有特征,并且它们都将候选图像聚类到 n+t 个集群。该实验的结果如图 9a 所示。它表明当 t ≤ 3 时,我们算法的性能随着 t 的增长而提高;当t≥3时,性能相对稳定,对t的设置不敏感。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第13张图片

+++接下来,我们展示了该算法在 4 种不同场景下的性能:一个接一个模拟一个接一个异步场景,一个新的工作人员只有在现有工作人员完成图像修剪选择后才能加入适应任务; all-together 模拟 all-together 同步场景,所有 worker 在 master 上同步; one-two模拟了一个worker先加入任务,剩下的两个worker在第一个worker完成剪枝选择后一起加入任务的组合场景;最后,二合一模拟了两个worker最初一起加入任务,第三个worker在这两个完成剪枝选择后加入的组合场景。在所有涉及同步工作者的场景中,我们设置 t = 3。我们还与两种简单的非分布式方法进行了比较:随机意味着每个工作者随机选择 n 个图像的子集;个体意味着每个工人在本地运行集群而不与其他人合作。我们在图 9b 中展示了实验结果。
+++性能结果表明,与简单的非分布式方法相比,我们提出的算法在所有实验场景中都提高了 OCR,尤其是当 n 小时。例如当n=7时,我们算法在四个实验场景中的平均OCR为58.3%,而随机方法为41.5%,个体方法为46.5%。这个结果非常有希望,因为要求每个用户标记更少的图像会增加他们加入任务的动机。另一方面,当 n 非常大时,例如 n > 15,单个方法的 OCR 接近于所提出的算法(两者都接近 100% OCR)。然而,在实践中,用户不太可能标记大量图像。

E、EBBS 性能

+++我们使用 ip4_home_d 中的 59 个多目标图像评估我们的增强边界框策略 (EBBS)。这些图像包括 Alexnet 模型可识别的 47 个对象的 118 个实例。对于 EBBS 提出的每个边界框,如果它与手动裁剪框的 80% 重叠,并且其面积小于手动裁剪框的 1.5 倍,那么我们认为这是正确匹配。我们使用原始 EdgeBoxes 算法的默认参数。
+++在这组实验中,我们在 300、500 和 700 三个不同的图像尺度上运行 EBBS(即,我们保持原始纵横比并将较长的边缘重新缩放为减小的值),并且我们还在 3 个不同的图像尺度上评估了我们的合并方法秤。对于每个单一尺度,EBBS 为输入图像返回 5 个边界框。我们使用两个指标来衡量性能。首先,实例匹配率(IMR):让 ki作 为图像 i 中正确匹配的数量,然后 IMR 计算为 ∑ k i \sum k_i ki/118。对象匹配率 (OMR):我们计算这 59 张图像中所有正确匹配中包含的“可识别”对象的总数(表示为 w),并计算 OMR 为 w/47。
+++在图 10 中,我们展示了我们的结果,将我们的方法与简单的基于分数的选择方法(得分最高的 5 个框)进行了比较。图 10a 显示了实例匹配率 (IMR),而图 10b 显示了对象匹配率 (OMR)。结果表明,我们的策略在包含更多潜在对象方面比基于分数的选择方法更有效。此外,与单尺度结果相比,我们提出的多尺度合并方法显着提高了 IMR 和 OMR。此外,合并后,对平均而言,所选边界框的数量约为 7,这仍然是可以接受的。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第14张图片

F、使用 DeepCham 生成的训练实例的对象识别精度
+++我们使用 DeepCham 生成的训练实例评估 home_ d 目标视觉域中的对象识别准确性。训练实例生成如下。首先,我们假设有 3 个同步的 worker,每个 worker 想要标记 10 张图像,每个 worker 的候选图像与 V-D 部分中使用的相同。然后,我们运行分布式图像剪枝来为 3 个工人选择 30 个图像。在这 30 张图像中,有 22 张多目标图像和 8 张单目标图像,我们在 22 张多目标图像上运行具有 3级合并的 EBBS 以提出目标边界框。
+++以下图像/框用于生成训练实例:(1) 8 个单对象图像和 (2) 建议的边界框,每个框都是正确匹配的,其正确标签位于AlexNet 模型。我们总共有 27 个类别的 36 个训练实例,我们使用这些实例来训练一个适应模型。自适应的识别精度在手动裁剪的边界框上进行测试,该边界框包含属于来自 home_d 目标视觉域的相同 27 个类的对象。我们的后期融合方法 (α = 0.3) 的 top-1 准确率为 82.7%。另一方面,使用通用 AlexNet 模型的 top-1 准确率仅为 33.4%。因此,我们实现了大约 150% 的准确度提高。

G、原型系统评估

1、原型实现:我们使用 Linux 服务器作为主边缘服务器和 Android 移动设备作为工作器来实现我们的初步原型系统。 Linux服务器和Wi-Fi路由器通过1Gbps以太网交换机连接,Android设备通过Wi-Fi路由器与Linux服务器通信。在每个基于 Android 的 worker 上,我们在 Android Caffe [20] 框架中安装 Alexnet CNN 模块,该模块包含经过训练的 CNN 模型(包含在 Caffe Model Zoo [1] 中)和支持深度 CNN 特征提取的库。此外,我们将Matlab [3] 中的EdgeBoxes 算法重新实现到OpenCV 环境中,然后使用JNI 将重新实现的模块移植到Android 设备上运行。据我们所知,这是 EdgeBoxes 算法在 OpenCV 和 Android 平台上的第一个工作实现。我们还使用 LibSVM [14] 来训练浅层模型。此外,我们使用 K-means [6] 算法进行快速收敛,并将最大迭代次数设置为 100。
2、原型评估:我们将初步原型系统的评估重点放在Android worker上。具体来说,我们使用了一个 Android 设备 LG G2,它有一个带有四核 CPU @ 2.26 GHz 和 2 GB RAM 的 Snapdragon 800 芯片。我们测量系统组件运行时间、内存成本和能源成本。
系统组件运行时间: 在我们的初始原型系统的自适应训练 (A T) 和识别 ® 过程中,每个计算成本更高的步骤的运行时间总结在表 IV 中。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第15张图片

+++第 1 行显示了拍摄照片时发生的 CEDD 特征提取的成本。结果表明,这款手机可以在短短 10 秒内从 50 张图像中提取 CEDD 特征。第 2 行显示了 K-means 聚类的成本,将 200 个 CEDD 特征聚类到 40 个聚类需要 897 毫秒。接下来的 4 行显示了具有不同比例图像的 EBBS 的运行时间。该算法在小尺寸图像上运行得更快,在大尺寸图像上运行得更慢。 “EBBS-Merge”行显示了并行计算方案的运行时间(即,我们使用不同的线程为每个图像比例运行算法)。使用多线程,每张图像运行我们的增强型 EdgeBox 选择方案的成本不到 1.5 秒,因此不会产生用户可观察到的延迟。
+++在查询过程中,在应用后期融合方法之前,将使用 AlexNet 深度模型和基于 SVM 的自适应模型。因此,接下来的 3 行显示了使用深度模型或自适应模型的分类成本,以及总体分类成本。我们的结果表明,与仅使用深度模型的成本(697 毫秒)相比,使用浅层适应模型(85 毫秒)产生的额外成本很小。
系统内存成本: DeepCham 的内存成本总结在表 V 中。在适应训练阶段,worker 在 EdgeBoxes 中加载经过训练的边缘模型,以及用于训练实例生成的深度 AlexNet 模型。训练的总内存成本为 238.66 MB。在物体识别阶段,系统加载了 AlexNet 模型和上下文感知自适应模型,总内存成本为 234.95 MB。考虑到现代移动设备配备的大内存(例如 LG G2 上的 2GB),这样的内存成本是可以接受的。请注意,主内存成本是由于大深度模型造成的,系统的其余部分对内存的影响最小。另一方面,已经提出了降低深度学习模型的内存成本的技术,例如 [28],我们将在未来的工作中考虑这种优化。
DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition_第16张图片

能源消耗: 适应训练的另一个问题是每个参与的工人设备的能源消耗。 DeepCham 以两种方式节省处理成本。首先,它使用聚类算法选择具有代表性的图像子集(由参与用户控制)进行处理。二、DeepCham实现节能通过在本地处理图像而不是将图像从移动设备发送到本地边缘服务器。在我们使用 PowerTutor [46] 的能量测量中,我们假设用户有 100 张与目标视觉域匹配的候选图像,100 张图像中的 10 张由图像剪枝算法选择,并且有 50 个对象(用于创建训练实例) ) 从 10 张图像中识别出来。我们测量了系统每个组件的能源成本 (CPU WiFi),并将结果显示在表 VI 中。总能耗仅为 59.1 焦耳,仅为 LG G2 电池容量的 0.14%。同时,阅读 10 分钟 Facebook News Feed 的能耗仅为 85.7%,观看 10 分钟 YouTube 的能耗仅为 35.6%。
+++我们将能源成本与其他两个系统进行比较: 纯服务器端图像处理:所有与目标视觉域匹配的图像都被发送到服务器进行处理。服务器将边界框坐标和建议的标签发送回客户端。由于我们的系统处理高分辨率图像,平均每张图像大约 2MB,纯服务器端图像处理系统消耗大约 400 焦耳(DeepCham 的 6.76 倍)电池能量,主要是由于向服务器发送 100 张图像。
+++服务端-客户端图像处理相结合:移动客户端在本地运行图像剪枝算法,将选中的图像发送到服务器端。服务器将边界框坐标和建议的标签发送回客户端。这种系统的能源成本约为 63.3 焦耳,DeepCham 节省了约 9% 的能源。
+++此外,DeepCham 保护用户隐私,因为没有从每个参与用户的设备发送原始图像,这是比较系统都没有的功能。

VI 讨论

我们现在讨论一些实际未解决的问题和 DeepCham 框架的扩展。
参与激励。
Deecham 可用于具有不同业务和激励模型的各种应用程序。在娱乐场所或房地产服务等私人或商业应用中,负责模型创建的员工可以在现场进行适应培训。在家庭机器人等其他应用中,用户天生就有动力协作创建更高精度的模型,机器人可以使用这些模型来提高其智能。在博物馆等公共空间应用中,也可以使用众筹活动,活动组织者充当任务发起者,并为参与的用户提供物理或虚拟奖励。
虚假标签。
在现实生活中,无论有意与否,一些用户可能会为对象提供虚假标签。在我们未来的工作中,我们计划利用和评估现有的防御机制 [35],例如让更多用户标记同一对象并使用多数票获胜策略来选择正确的标签。
适应方法。
DeepCham 强调模型适应而不是深度模型重新训练。每个适应任务都针对特定的目标视觉域。视觉域的变化(例如,新位置或同一位置上下文下雨而不是晴天)将触发新的适应任务(不是重新训练)。如果已经适应的目标视觉域(例如新对象)存在微小变化,系统可以通过为新对象添加新的训练实例来增量训练浅层适应模型(例如 SVM)[35]。
动态后期融合超参数估计。
未来工作的一个有趣途径是后期融合的动态超参数调整。我们提出的适应技术的好处是需要少量标记的训练/验证数据。然而,现有的用于后期融合的动态超参数调整方法 [7]、[32] 需要大量数据,可能无法直接适用。然而,在交互式标记过程中监控通用深度学习模型的推理错误率并相应地在部分 IV-B 的融合概率方程中设置超参数可能是可行的。如果通用深度模型在正确(错误)标签上排名低(高),这提供了设置小(大)超参数值的指示。我们计划在未来的工作中探索这种方法。
受过教育的用户与自动图像修剪。
在一些适应任务中,如果招募的参与者被告知有关预期的标记任务,甚至引导他们拍摄对象相关照片的不同子集,则标记数据的质量可能会提高。另一方面,与自动分布式修剪方法相比,这种方法给参与者和任务发起者带来了更多的负担。我们将在未来的工作中探索这种比较。

VII 结论

+++在本文中,我们介绍了 DeepCham,一种用于移动对象识别的边缘介导的协作深度模型适应框架。 DeepCham 是第一个解决在高度可变的移动视觉域中部署通用深度学习模型时面临的挑战的工作。 DeepCham 学习特定领域的浅层模型,其中训练实例由协作用户使用移动设备中的本地图像交互创建。 DeepCham 依靠分布式冗余图像修剪算法、增强的边界框提议算法以及通用深度模型来促进训练实例的创建。实验研究表明,DeepCham 能够实现高效和有效的适应训练,其对象识别准确率显着优于使用通用深度模型实现的目标识别准确率。

“DeepCham: Collaborative edge-mediated adaptive deep learning for mobile object recognition,” in Proc. IEEE/ACM Symp. Edge Comput. (SEC), 2016, pp. 64–76.

你可能感兴趣的:(DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition)