【发布时间】:2012-08-28 10:19:24
【问题描述】:
我目前正在开发一个基于 OpenCV/C++ 的应用程序来跟踪小动物: 这是它应该处理的视频类型的example。该程序仅输出动物的 x,y 位置和每个区域的时间。这是result 在原版上的图形表示。
我的问题有点尴尬 --- 并且可能跑题了 --- 因为我不是在问如何改进我的程序,而是如何评估它。我知道Bonn Benchmark on Tracking dataset 的存在,但它不适合我的情况。
该程序旨在处理很长的视频,因此,我不能现实地要求独立的人类评估动物的位置并将人类与程序进行比较。 我也考虑过使用机器人或在更大的动物身上安装转发器以获得精确的位置,但我真的没有资源。
我想到了使用程序生成在 2d 环境中移动的 blob 视频。我的问题很简单:
您是否知道我可以使用任何可编程的高级框架来以图形方式模拟对象在可参数化背景中随机移动的运动?
我的梦想是拥有一个可以像这样工作的命令行工具:
$ program [BACKGROUND_OPTIONS] [OBJECT_OPTIONS] -V VIDEO_OUTPUT -P POSITIONS_OUTPUT
可以操纵背景纹理以及移动对象的形状、颜色和运动模式。
我知道我可以“轻松”自己制作(如果我找不到任何东西,我会这样做),但我希望评估的程序和参考尽可能独立(例如,不是两者都制作由同一个人)。
【问题讨论】:
-
或许你可以试试Netlogo。可以在这里找到:ccl.northwestern.edu/netlogo
-
@maths-help-seeker,抱歉回复晚了,谢谢。我和我的同事尝试过,但它的结果几乎是对我们自己的基于代理的模拟进行编程。由于这不是一个非常复杂的问题,目前,我们正在研究使用更标准的编程工具来实现我们自己的基准测试工具。我们希望用我们的结果更新问题:D
-
我通常为此目的虐待学生;制作一个 gui,其中向学生提供随机帧,他们需要在其中单击错误的重心。让班上的每个学生处理 1000 帧(比如说每个猴子工作一个小时)。 Bam,30000 帧,带有由独立人员注释的基本事实。只是为了确定,我偶尔会为他们提供我已经注释过的框架,看看他们是否认真对待这项工作,并在他们的注释中附加一个质量指标。
-
您也可以随时求助于付费用户!我过去曾使用mturk.com/mturk/welcome 为此类跟踪任务标记基本事实。启动和运行并学习如何创建可为您提供良好数据的任务是一个小项目,但是一旦您这样做了,您可能会发现它对各种事情都很有用。使用真实数据而不是合成数据将使您对算法的评估更加可信。
-
在这个问题空间中是否没有任何现有的软件解决方案,您可以使用它来分析相同的视频然后比较结果?然后,您可以按严重程度降序调查差异,在程序更糟时修复您的程序。当然,存在您的程序和另一个程序会犯同样错误的风险——增量不会暴露这一点。但是,似乎至少与模拟输入一样有希望。
标签: c++ video opencv tracking simulation