SwisTrack/版本 3/使用 SwisTrack
此页面指的是 SwisTrack 的版本 3。 除非您仍在使用此旧版本,否则您可能希望阅读SwisTrack 最新版本的文档。
SwisTrack 在不同的步骤中处理图像,而每个步骤都可以在特定的模式下执行。例如,您可以从设备 A 获取图像,使用方法 B 对其进行分割,并使用方法 C 进行跟踪。这些选择彼此独立,例如,图像来自相机还是视频并不重要。相反,每个步骤都期望以特定格式提供数据,并相应地生成输出。
本手册的组织方式与 SwisTrack 用于图像处理的方案相同,在下表中总结。
步骤 | 输入 | 输出 | 示例 |
---|---|---|---|
输入 |
任何视频源(相机或文件)。 |
原始图像 |
|
分割器 |
原始图像 |
一个二进制图像,其中潜在的目标为白色斑点。 |
|
分割器后处理 |
一个二进制图像 |
分割器后处理对图像执行一些过滤(侵蚀/膨胀)以获得更平滑的斑点,从而更容易检测轮廓。此外,还可以应用掩码图像(右侧)来拒绝图像特定区域之外的斑点。 |
|
粒子滤波器 |
一个二进制图像 |
一个轮廓列表,满足特定标准(大小、形状等)。被拒绝的轮廓(“粒子”)用红色圆圈表示,而被接受的轮廓用绿色圆圈表示。 |
|
跟踪器 |
一个粒子列表 |
一个轨迹列表 |
|
校准 |
一个轨迹列表 |
一个轨迹列表(已校准) |
n.a. |
输出 |
一个轨迹列表 |
一个包含轨迹坐标和时间戳的文本文件。 |
n.a. |
此模式使用 Intel OpenCV 的视频获取功能,该功能使用视频窗口 (VfW) 编解码器加载 AVI 和 MPEG 文件。确保您安装了正确的编解码器,SwisTrack 不支持 DirectShow 驱动程序!一个很好的测试是使用 VirtualDub 软件(开源),它允许您获取有关使用编解码器的更详细信息。
此模式使用卡内基梅隆大学开发的火线驱动程序。在安装之前,请确保您卸载了随相机附带的驱动程序!CMU 驱动程序附带一个小的测试应用程序,它允许您测试您的相机,以及执行一些 SwisTrack 尚不可用的设置。
此模式利用您操作系统的原生视频驱动程序。在 Windows 下,此模式允许访问标准 USB 相机(“网络摄像头”)。在 Linux 下,它也应该允许访问火线相机,但这尚未经过测试。
通过从每个视频帧中减去场景的背景图像来分割图像。一个固定的阈值定义了将像素计为不属于背景所需的最小差异。
此模式对光照条件的变化很敏感。
显然,您需要确保背景图像与视频文件的尺寸完全相同。从 SwisTrack 本身导出的 bmp 并不总是具有相同的尺寸。
此模式不需要背景图像,而是所有迄今为止处理过的视频帧的运行平均值。参数alpha指定运行平均值的速率,即每个新帧对平均值的贡献比率。
此模式在处理光照条件变化时更强大,但无法应对长时间停止移动的物体,因为它们会成为背景的一部分。
此功能目前正在修订中。
选项“最大允许速度”以像素为单位,定义了 SwisTrack 寻找潜在目标的半径。“最大允许速度”不一定代表物体的物理速度,还应考虑物体合并和分裂后出现的场景,这种场景会导致轨迹上的位移,而这些物体实际上并没有移动。
选项“轨迹可以共享一个粒子吗?”允许你指定轨迹是否可以合并到一个粒子(例如,当两只昆虫重叠时)或是否不希望出现这种情况(例如,当跟踪配备标记的机器人时)。