论文部分内容阅读
目前,视觉跟踪算法作为人工智能的一个重要研究方向,多种视觉跟踪算法应运而生。跟踪学习检测(Tracking-Learning-Detection,TLD)视觉跟踪算法就是其中一种。因其结合跟踪和检测算法并具有在线学习机制,跟踪效果要优于主流的视觉跟踪算法。如果TLD视觉跟踪算法应用在移动端,利用移动终端便携性将会有很大的应用前景。但是,以ARM架构中央处理器(Central ProcessingUnit,CPU)为核心Android为系统的移动终端处理能力有限,极大的限制了 TLD视觉跟踪算法在移动终端上的应用。因此,在TLD视觉跟踪算法的基础上进行改进,本文提出了一种面向安卓(Android)的视觉跟踪算法。本文首先深入研究Zdenek Kalal提出的TLD视觉跟踪算法的跟踪模块、检测模块和学习模块以及TLD视觉跟踪算法流程,深入分析TLD视觉跟踪算法的自学习机制。以提高性能为目标,对TLD视觉跟踪算法进行分析。由于需要处理过多的扫描窗口检测模块耗时最长。所以,本文提出了三方面改进以减少进入检测模块的扫描窗口,从而减少检测模块的运行时间,最终提高算法的运行效率。在算法实现部分,为改进TLD算法能在Android系统上运行,基于改进TLD算法设计了 Android应用。为提高应用的运行效率,改进算法使用效率更高的C++语言实现。通过Android应用开发中的Java本地接口(Java Native Interface,JNI)机制,将C++编写的改进TLD视觉跟踪算法集成到Android应用程序中。在PC上对改进的视觉跟踪算法使用视觉跟踪测试集中的视频序列进行验证测试。经测试改进TLD视觉跟踪算法与原TLD视觉跟踪算法相比每帧处理时间提升了约20%。在Android系统上对本文所述的视觉跟踪应用使用实物进行跟踪测试。经测试应用能够有效对目标进行跟踪,运行平均帧率达到12帧每秒(frame per second,fps),并且能够有效克服目标形变、遮挡和消失这三种情况下出现目标丢失的问题。实现了改进TLD算法的应用能够应对日常生活中的视觉跟踪需求,满足了设计指标。