移动端对象检测追踪有何挑战,高通又提出怎样的解决方案?


来源:魏莹作家吴玉华

计算机视觉应用通常需要将多帧图像处理成视频捕捉的图像。这个过程最重要的一个方面是在对象移动和视口改变时识别和跟踪对象的能力。从机器人视觉处理和自动驾驶到安全视频记录和增强现实,这个功能的用例几乎是无穷无尽的。

虽然这对于强大的移动处理器来说似乎微不足道,而且我们人类也很容易实现,但在数字世界中重现这一功能确实不容易。高通公司的费利克斯鲍姆(Felix Baum)最近写了一篇文章,向我们介绍这一领域的挑战和潜在解决方案。以下是视频网络的具体安排:

1。移动帧的挑战

分析视频帧会带来大量挑战,其中很大一部分是由于给定场景中包含大量变量。以下是开发对象检测和跟踪应用程序时需要考虑的挑战:

对象转换:对象可以随时间平移、旋转和缩放。对象遮挡:对象可能被其他对象部分或完全遮挡。运动模糊:图像可能会根据移动对象的速度和记录帧速率等因素变得模糊。快速运动(Fast Motion):物体在帧之间的转换速度可能非常快,并且会根据物体本身的速度以及物体相对于帧的捕捉速率而变化。场景混乱:场景可能包含复杂的特征和大量的对象。对象之间的相似性:像人脸这样的对象可能包含大量相似的特征,因此很难区分它们。环境影响:光照、雨水和霾的变化都会影响图像质量。跟踪失败:对象可能会消失,然后全部或部分重新出现。为了解决这个问题,我们需要重新检查对象。摄像机转换:摄像机位置、方向和视口设置将随时间变化。

幸运的是,社区已经开发了一系列的方法,并且由于边缘处理能力的提高,现在有了大量的方法。

2。方法

在跟踪对象的移动之前,我们需要知道对象的外观,并记住对象的外观可能会随着帧而改变。迎接挑战的第一步是开发一个视觉外观模型,如下图

所示

它由用于识别对象并将它们与唯一标识符(如对象标识)相关联的算法组成。负责此操作的组件通常称为分类器。其功能是以图像数据块为输入,生成输出图像包含识别对象的概率。

一旦有了识别对象的机制,下一步就是确定运动模型(即定位)。它包括一个算法来确定一个物体在多个帧中的位置,并且可以包括一个预测未来位置的功能。

视觉外观和运动模型是一般目标跟踪过程的基础,通常包括确定目标的初始状态和外观、估计其运动和计算其位置。该算法统称为跟踪算法,包括外观模型和运动模型的计算。在某些情况下,这两个模型的计算相互补充以得出结果。

3。跟踪算法分类

在研究特定算法之前,了解现有跟踪算法的一般分类很重要。

基于检测的跟踪算法跨视频帧工作,可以检测对象并确定跟踪轨迹,并且通常可以处理跨帧对象的出现和失败。另一方面,未检测到的跟踪算法必须初始化视频第一帧中的对象。当物体在帧之间保持静止时,通常使用非检测跟踪。单一目标跟踪。顾名思义,即使场景中有多个对象,单个对象算法也只会跟踪第一帧中标识的单个对象。多目标跟踪算法可以跟踪多个目标,即使它们在第一帧之后进入场景。捕获视频剪辑后,可以使用离线跟踪算法,并且可以离线处理。这里,计算可以在两个方向上分析材料(即,前一个突发到下一帧,反之亦然),从而增强跟踪预测的计算能力。此外,培训也是离线进行的。另一方面,在线(即实时)跟踪算法只能分析当前时刻之前捕获的帧,并使用依赖于过去帧的预测计算来帮助确定对象在下一帧中的移动位置。目标表征和定位方法(如基于核的跟踪和轮廓跟踪)具有较低的计算复杂度,因为它们主要根据轮廓等特征跟踪目标属性。另一方面,诸如卡尔曼滤波器和粒子滤波器的滤波和数据关联方法使用关于场景和对象的已知信息来评估与对象及其位置相关的不同假设,并且可以处理随时间变化的对象。

4。方法和算法

近年来,随着目标跟踪成为视觉处理领域的一个热门话题,社区不断开发各种方法和算法。下面我们将列举几个算法来帮助你进一步理解计算机科学领域的广度和深度。

GORURN和其他基于卷积神经网络的离线跟踪器首先训练成千上万个视频,目的是处理单目标跟踪。接下来,它确定视频第一帧中对象的边界框,并在后续帧中跟踪它。虽然它不处理对象遮挡,但它可以处理视点、照明和对象形状的变化。

质心跟踪获取每个帧中对象的边界框。边界框可以使用任意数量的算法来计算,例如上述基于卷积神经网络的方法。质心跟踪然后计算边界框的中心,并为其指定一个标识。在每个后续帧中,算法试图确定新计算的边界框是否可以与在前一帧中识别的边界框相关联。如果能够建立关联,则计算新位置以实现对目标的跟踪。

You Only Look Once (YOLO)跟踪是一种深度学习方法,它将帧分成多个区域,并应用神经网络预测每个区域的边界框和概率。接下来,通过预测概率对边界框进行加权,以识别对象。如果找到匹配对象标识符的概率,则表明对象跟踪是在给定的一组帧中实现的。如下图所示。

当然,你可以找到许多其他的算法,但是上面列出的算法可以向你展示这个问题有许多不同的解决方案。

5。在移动电话上跟踪物体

高通公司对物体并不陌生。我们的高通计算机视觉软件开发工具包包括一个用于检测和跟踪对象、面部和文本等特征以及运动的应用编程接口。高通神经处理软件开发工具包(Qualcomm Neural Processing SDK)可用于执行人工智能算法,而机器视觉软件开发工具包则适用于机器人和自动驾驶汽车的应用。此外,您可以关注高通数学库,其中包括数学运算。当然,我们的高通小龙移动平台可以通过高通六角形数字信号处理器、高通光谱图像信号处理器、高通肾上腺素图形处理器等功能执行目标检测和跟踪算法。

6。概述

对象检测和跟踪是计算机视觉中的关键组件,因为它们可以帮助实现从视频分析到自动机器人的一系列用例。正如应用程序几乎无止境一样,为应对挑战而开发的巧妙方法和算法也是如此。

原始链接: