视频分析的乐趣与收益

作者:Joey Bernard

人们的手机以及其中内置的各种传感器是科学数据记录的来源,几乎每个人都随身携带。虽然传感器的选择因手机而异,但几乎所有手机都有摄像头。在本文中,我将介绍一款名为 Tracker 的软件,该软件可用于分析您拍摄的实验视频。

您可以直接从项目页面下载 Tracker。主网站上提供了大量优秀的文档,包括来自其他用户社区的关于如何使用它的示例。但是,Tracker 是用 Java 编写的,因此您还需要在系统上安装 JVM 才能使用它。例如,在基于 Debian 的系统上,您可以使用以下命令安装非常好的 JVM


sudo apt-get install openjdk-8-jre

然后,您可以下载适用于您系统的相关安装程序,并从终端窗口运行它。您可能需要使用类似这样的命令使安装程序可执行


chmod +x Tracker-4.95-linux-64bit-installer.run

不要忘记使用 sudo 命令,以便您拥有执行安装的正确权限。

安装完成后,您应该在应用程序菜单系统中看到一个新条目。启动 Tracker 将为您提供一个新的空项目,以开始您的视频分析。

图 1. 当您启动 Tracker 时,您会得到一个新的空项目。

虽然您可以立即开始分析您自己的视频,但在学习 Tracker 的工作原理时,您可能希望使用更简单的视频。当您运行 Tracker 的初始安装程序时,它应该会询问您是否还要安装示例文件。假设您选择了“是”,您现在可以在 Tracker 中加载其中一个示例文件。当您单击菜单项“文件→打开文件”时,您将看到一个新窗口,您可以在其中选择电影文件或 Tracker 文件。

图 2. “打开文件”对话框允许您打开电影文件或 Tracker 文件。

首先,让我们看一下 experiments 文件夹中的一个 Tracker 文件。在图 3 中,我加载了名为 BallToss.trk 的实验文件。主窗口显示了正在分析的实验电影。右下方面板显示了一系列时间单位的 x 和 y 坐标表格。为电影中每个被跟踪的对象生成一个类似的表格。在本示例实验中,唯一被跟踪的对象是球。右上方面板包含表中存储数据的相关绘图。这样,您可以直观地表示跟踪的运动。

图 3. 加载 Tracker 文件会打开先前分析的所有部分。

那么,Tracker 实际上可以跟踪什么呢?电影显示器的底部是一组控件。如果单击绿色箭头,电影将开始播放。当它播放时,Tracker 实际上会记录被跟踪对象的运动,并更新右侧的数据面板。

图 4. 随着电影的播放,Tracker 会更新右侧数据面板中被跟踪对象的数据。

虽然这些面板确实为您提供了大量原始数据,但实际上尚未进行任何分析。单击“查看→数据工具”菜单项会弹出一个新窗口,您可以在其中使用这些原始数据来弄清楚视频中发生了什么。

图 5. “数据工具”窗口提供了一组分析工具,用于查看从视频中提取的原始数据。

绘图窗口顶部的“测量”和“分析”按钮提供了一组您可以显示的不同部分。这为您提供了几种不同的数据分析选项。单击“测量”按钮会为您提供“坐标”、“斜率”和“面积”选项。当您选择一个或多个这些选项时,值将显示在绘图底部,表示每个选定的选项。

当您单击“分析”按钮时,您会得到一个下拉菜单,其中包含“统计”、“曲线拟合”和“傅里叶频谱”选项。这些选项中的每一个实际上都会在“数据工具”窗口中打开一个新的面板。“傅里叶频谱”选项是例外。此选项实际上会打开一个新窗口,在该窗口中对来自被跟踪对象的原始数据进行傅里叶分析。

图 6. Tracker 还可以对观察到的运动进行傅里叶分析。

“统计”选项给出右上方面板中显示的数据。这是一组描述性统计信息——即最大值、最小值、平均值和标准差以及其他值。

选择“曲线拟合”选项会在绘图窗口底部为您提供面板。在这里,您可以选择要拟合到原始数据的曲线类型。您可以使用许多默认函数来尝试拟合您的数据。在本例中,线性函数是拟合函数的明显选择。您可以看到正在使用的函数,在本例中为 x=A*t+B,以及参数 A 和 B 的计算值。如果您跟踪的对象具有非常奇怪的运动,您可以单击“拟合构建器”按钮弹出一个新窗口,您可以在其中定义新的拟合函数。

图 7. 您可以在数据分析中定义自己的拟合函数。

在新项目中您做什么?假设您要分析示例视频文件夹中的 pendulum 视频。您可以通过选择窗口顶部的相关按钮或选择菜单项“跟踪→新建→校准工具”下的项目来设置视频中的一些校准项目。您可以设置诸如校准杆或参考坐标轴之类的项目。

图 8. 您可以在要分析的视频中设置校准工具。

一种进行分析的方法是逐帧浏览视频,在每一帧中选择要跟踪的对象。这可能是收集原始数据的唯一方法,但人类是懒惰的。如果要跟踪的对象在相关视频剪辑的整个持续时间内相对一致,您可以尝试使用自动跟踪器。单击自动跟踪器按钮将弹出一个新窗口,您可以在其中控制要跟踪的内容。

图 9. 自动跟踪器尝试自动逐帧跟踪对象。

Tracker 会帮助显示关于如何使用该软件的提醒信息。在本例中,它提醒您需要按住 Ctrl、Shift 并用鼠标左键单击感兴趣的对象。如果您随后单击自动跟踪器窗口中的“搜索”按钮,它将逐帧移动,查找相关对象。完成后,您应该拥有来自被跟踪对象的完整数据集。从图 10 的绘图中,您可以立即看出摆锤遵循预期的运动。您还可以通过为每个对象创建一个新轨道来跟踪多个对象。

图 10. 自动跟踪器可以自动生成您的所有原始数据。

现在您已经快速了解了 Tracker 以及您可以使用它进行的分析类型,您应该可以放心地开始尝试它了。不要忘记在社区页面上分享您想到的任何有趣的想法,并为公民科学做出巨大的资源贡献。

加载 Disqus 评论