Categories

人手移动的数据集

有一个人手移动的数据集,就是一个人坐在沙发上,身体不动,手移动到不同的方位。在不少流形学习的论文里都用到了这个数据集,基本上都是根据图像去 predict 人手的位置。最近的实验中希望用到这个数据集,其实之前不知道什么似乎下载到了那个 video 片段,但是人手位置的 label 却一直都没有,找别人要过,也没有要到,于是索性自己来标注一下。这里把标注的结果和标注用的程序都共享一下。

版权什么的最讨厌了,我也忘记最初是从哪里下载的那个 video 了,记忆中的那个地址似乎已经不能访问了。总之一切用于学术研究,勿滥用。从 video 里提取图片帧的方法也各有异同,我看到好像不同的论文似乎声称的视频中的帧数也并不一样,也许是和提取时候用的 frame rate 有关吧,我以为一个视频应该有一个 intrinsic frame rate 之类的,不过也没有弄清楚到底有没有这个参数以及怎样按照这个帧率来转换,最后用 ffmpeg 默认的参数转换出来 1500 张图片。

图片存在 png 目录下,但是被我转成了 jpg 图片,是为了上传的似乎压缩得更小一点,要运行标注程序的话,需要先把图片转回 png 格式(因为 Cairo 就加载 png 最方便啦)。同一个目录下和图片同名的 txt 文件(如果存在的话)就存放了标注数据,分别是 Left Elbow、Left Wrist、Right Elbow 和 Right Wrist 的四个坐标。这里要注意一下,“左右”实际上是相对于标注者而不是被标注的那个人而言的,看上面的截图就知道了——当然,这个实际上是我一开始给弄反左右的缘故,后来索性将错就错了,反正就是一个名称而已,其他没有影响。

我自己人肉标注了前 500 张图片(累死了……),后面 1000 张没有标。如果你需要标注更多的数据的话,可以用那个标注程序。Python 写的,依赖于 pygtk 和 pycairo ,纯共享,不提供任何技术支持哈! :p 最后是数据文件和代码(链接已失效)。

ps: 这样后期标注出来的数据不仅标注起来费劲,而且标注造成的误差也会比较大,更加精细的数据可以是 CMU Motion Capture Dataset 或者 HumanEva 这样的戴着 marker 得到的数据,通过 marker 得到的信息就更加一致啦,而且也不用人工标注这么痛苦。

pps: GTK 居然连弹出一个对话框得到用户的一个输入这样的功能都要自己手写,实在是太让我惊讶了。我现在还能清楚记得最初学习编程的时候背的那条 Java 语句:JOptionPane.showInputDialog 。

3 comments to 人手移动的数据集

  • maxint

    ym,要是再还有自动跟踪功能就更牛了,呵呵。就对话框,QT就方便些了,要多个输入可以用单文本对话框。

  • maxint

    没用过cario,不知和pyqt配合着用如何,qt本身好像也有支持矢量图