视觉显著对象跟踪应用开发与原理剖析
1. 应用规划
我们要开发的最终应用程序,会将视频序列中的每个RGB帧转换为显著图,提取所有有趣的原始对象,并将它们输入到均值漂移跟踪算法中。为实现这一目标,应用需要以下几个关键组件:
-main:这是启动应用程序的主函数例程,位于chapter5.py文件中。
-Saliency:该类用于从RGB彩色图像生成显著图,包含以下公共方法:
-Saliency.get_saliency_map:将RGB彩色图像转换为显著图的主要方法。
-Saliency.get_proto_objects_map:把显著图转换为包含所有原始对象的二值掩码的方法。
-Saliency.plot_power_density:显示RGB彩色图像的二维功率密度,有助于理解傅里叶变换。
-Saliency.plot_power_spectrum:显示RGB彩色图像的径向平均功率谱,有助于理解自然图像统计特性。
-MultiObjectTracker:使用均值漂移跟踪在视频中跟踪多个对象的类,包含以下公共方法,该方法本身包含多个私有辅助方法:
-MultiObjectTracker.advance_frame:更新新帧的跟踪信息,结合从显著图和均值漂移跟踪获得的边界框。