跳转到内容

SwisTrack/版本 3/使用 SwisTrack

来自维基教科书,自由的教科书

此页面指的是 SwisTrack 的版本 3。 除非您仍在使用此旧版本,否则您可能希望阅读SwisTrack 最新版本的文档

使用 SwisTrack

[编辑 | 编辑源代码]

SwisTrack 在不同的步骤中处理图像,而每个步骤都可以在特定的模式下执行。例如,您可以从设备 A 获取图像,使用方法 B 对其进行分割,并使用方法 C 进行跟踪。这些选择彼此独立,例如,图像来自相机还是视频并不重要。相反,每个步骤都期望以特定格式提供数据,并相应地生成输出。

本手册的组织方式与 SwisTrack 用于图像处理的方案相同,在下表中总结。

步骤 输入 输出 示例

输入

任何视频源(相机或文件)。

原始图像

分割器

原始图像

一个二进制图像,其中潜在的目标为白色斑点。

分割器后处理

一个二进制图像

分割器后处理对图像执行一些过滤(侵蚀/膨胀)以获得更平滑的斑点,从而更容易检测轮廓。此外,还可以应用掩码图像(右侧)来拒绝图像特定区域之外的斑点。

粒子滤波器

一个二进制图像

一个轮廓列表,满足特定标准(大小、形状等)。被拒绝的轮廓(“粒子”)用红色圆圈表示,而被接受的轮廓用绿色圆圈表示。

跟踪器

一个粒子列表

一个轨迹列表

校准

一个轨迹列表

一个轨迹列表(已校准)

n.a.

输出

一个轨迹列表

一个包含轨迹坐标和时间戳的文本文件。

n.a.

AVI 视频驱动

[编辑 | 编辑源代码]

此模式使用 Intel OpenCV 的视频获取功能,该功能使用视频窗口 (VfW) 编解码器加载 AVI 和 MPEG 文件。确保您安装了正确的编解码器,SwisTrack 不支持 DirectShow 驱动程序!一个很好的测试是使用 VirtualDub 软件(开源),它允许您获取有关使用编解码器的更详细信息。

CMU 1394 数字相机驱动

[编辑 | 编辑源代码]

此模式使用卡内基梅隆大学开发的火线驱动程序。在安装之前,请确保您卸载了随相机附带的驱动程序!CMU 驱动程序附带一个小的测试应用程序,它允许您测试您的相机,以及执行一些 SwisTrack 尚不可用的设置。

原生视频驱动

[编辑 | 编辑源代码]

此模式利用您操作系统的原生视频驱动程序。在 Windows 下,此模式允许访问标准 USB 相机(“网络摄像头”)。在 Linux 下,它也应该允许访问火线相机,但这尚未经过测试。

分割器

[编辑 | 编辑源代码]

静态背景(固定阈值)

[编辑 | 编辑源代码]

通过从每个视频帧中减去场景的背景图像来分割图像。一个固定的阈值定义了将像素计为不属于背景所需的最小差异。

此模式对光照条件的变化很敏感。

显然,您需要确保背景图像与视频文件的尺寸完全相同。从 SwisTrack 本身导出的 bmp 并不总是具有相同的尺寸。

运行平均

[编辑 | 编辑源代码]

此模式不需要背景图像,而是所有迄今为止处理过的视频帧的运行平均值。参数alpha指定运行平均值的速率,即每个新帧对平均值的贡献比率。

此模式在处理光照条件变化时更强大,但无法应对长时间停止移动的物体,因为它们会成为背景的一部分。

静态背景(颜色比率)

[编辑 | 编辑源代码]

固定颜色

[编辑 | 编辑源代码]

分割器后处理

[编辑 | 编辑源代码]

粒子滤波器

[编辑 | 编辑源代码]

最小-最大尺寸滤波器

[编辑 | 编辑源代码]

圆形形状滤波器

[编辑 | 编辑源代码]

无掩码

[编辑 | 编辑源代码]

二进制掩码

[编辑 | 编辑源代码]

此功能目前正在修订中。

跟踪器

[编辑 | 编辑源代码]

最近邻

[编辑 | 编辑源代码]

选项“最大允许速度”以像素为单位,定义了 SwisTrack 寻找潜在目标的半径。“最大允许速度”不一定代表物体的物理速度,还应考虑物体合并和分裂后出现的场景,这种场景会导致轨迹上的位移,而这些物体实际上并没有移动。

选项“轨迹可以共享一个粒子吗?”允许你指定轨迹是否可以合并到一个粒子(例如,当两只昆虫重叠时)或是否不希望出现这种情况(例如,当跟踪配备标记的机器人时)。

无校准

[编辑 | 编辑源代码]

二阶多项式拟合

[编辑 | 编辑源代码]

输出未校准数据

[编辑 | 编辑源代码]
华夏公益教科书