mhy12345 / Music-to-Dance-Motion-Synthesis

Dataset build for music to dance motion synthesis.
40 stars 8 forks source link

请问下关于数据格式的几个问题 #2

Open OptimusPrimeCao opened 5 years ago

OptimusPrimeCao commented 5 years ago
  1. 您好,请问start_position和end_position里的值跟音频的时间是怎么换算的啊? 比如DANCE_C_1: {"start_position": 395, "end_position": 4350} 对应skeleton.json 里 length是4300,视频帧和音频如何对呢

  2. 请问skeleton 里面的坐标有对应landmark的说明吗 谢谢🙏

yuhan-2626 commented 5 years ago

同问,按照作者在一个issue里面的回答,用matplot画了二维的散点图,感觉还是看不出来skeleton里面坐标对应的landmark语义;画出三维的散点图,才稍微猜测得到了一些landmark语义,但是不知道对不对?而且,demo里说的是有21个点,但是skeleton里面却有23个点,请问是多了哪两个点?

mhy12345 commented 5 years ago

你好,因为项目周期比较长,所以我现在已经找不到当时的具体坐标对应关系了。不过下面这张图就是很早之前我直接使用matplot画的,大家可以参考一下。我已经更新了README,额外的两个点是在下图的基础上用来标定手的方向的,在最终绑定3D模型时会用到。

image

OptimusPrimeCao commented 5 years ago

@mhy12345 请问视频帧和音乐的对应关系还能找到吗, start_position和end_position里的值跟音频的时间是怎么换算的呢? 比如DANCE_C_1: {"start_position": 395, "end_position": 4350} 对应skeleton.json 里 length是4300,视频帧和音频的时间是如何对的呢

mhy12345 commented 5 years ago

@OptimusPrimeCao 关于时间这个确实有一个坑,这个start/end_position是这么来的,首先跳舞的人给我们了一个开始/结束的时间,我们通过FPS直接计算出的“第几帧”。然后又这样几个问题,一个是start_pos不一定完全精确(这个在我们自己的模型里面是用Librosa重新分了节拍之后做的),另一个是舞蹈的结束动作通常会减慢or延长,认为对于end_position的判定是主观的。我们的模型中没有使用,这里只做参考。

OptimusPrimeCao commented 5 years ago

那请问骨架视频的第一帧对应音频的起始时间应该如何计算呢?后面的帧按您的意思就是直接通过fps对应时间轴就可以了是吧?

mhy12345 commented 5 years ago

不太懂你的意思,实际上要做的应该就是按照start_pos截取音频的一个后缀,然后就能和骨骼拼上了

OptimusPrimeCao commented 5 years ago

那比如第一个舞蹈的start_pos值是500多,请问如何通过它截取音频的一个后缀呢

mhy12345 commented 5 years ago

DANCE_C_1的start_pos是第395帧,对应了音频的395/25这个时刻,即15.8秒。

OptimusPrimeCao commented 5 years ago

那后面的视频帧(骨架)和音频时刻的对应关系就按照这个start_pos给出的时间来计算是吧?比如按上面的例子,start_pos是15.8秒,那skeleton.json里第25帧就对应15.8+1=16.8s这个时刻。 就不需要再使用end_pos这个值了?

mhy12345 commented 5 years ago

yuhan-2626 commented 5 years ago

请问,skeleton.json里面的skeletons坐标都是相对于对应的center坐标的位置差值吗?一个坐标是以(x(宽),y(高),z(深度))这样子的顺序排列的吗

mhy12345 commented 5 years ago

@yuhan-2626 我直接把画图的代码更新上去了(:з」∠)

yuhan-2626 commented 5 years ago

对过了,我和你的连线方式一样的(发现用xy和yz都可以用来作为二维的投影)。不过,感觉音乐和舞蹈节拍好像有点对不上啊,额 😢:(

OptimusPrimeCao commented 5 years ago

@mhy12345 DANCE_W_1 的config.json标注的是 0:1439, 但是skeleton里的视频帧只有340帧,请问这个差距这么大正常吗

mhy12345 commented 5 years ago

@OptimusPrimeCao 唔,不应该这么大。我重新看了一下数据集,华尔兹舞蹈的动作帧密度是其他舞种的1/4。也就是说要用340*4=1360比较。原因未知......(数据集是本文一作的那个同学给的,我自己也是用数据集的)

OptimusPrimeCao commented 5 years ago

那可以理解成帧率是25/4吗

mhy12345 commented 5 years ago

可以

OptimusPrimeCao commented 5 years ago

还有几个小问题想请教下,麻烦了 1.请问你们训练的时候一个样本取了多大的时间窗口呢,从一首歌里切出来的训练样本之间有没有交叉的时间窗口呢?

  1. tangle音乐类型的帧率也是25fps吗?我合成出来发现音乐结束了但是舞蹈者还在跳,这个现象是对的吗
Jarvisss commented 5 years ago

我理解的论文中所讲,是每种舞蹈的动作的采样频率都不一样,不是25FPS的固定值。 所以论文中有讲到alignment的问题。 我觉得config.json中start和end都是有用的,因为需要根据总的帧数对动作进行插值?

Jarvisss commented 5 years ago

music的length=end-start, motion的length是json中的"length",两个length是不一样的,需要我们再Align一遍?

KeqiangSun commented 5 years ago

我理解的论文中所讲,是每种舞蹈的动作的采样频率都不一样,不是25FPS的固定值。 所以论文中有讲到alignment的问题。 我觉得config.json中start和end都是有用的,因为需要根据总的帧数对动作进行插值?

我们根据这样的方法进行了重新对其,发现动作和音乐还是对不上。请问有人成功使用这个数据吗?希望能给出详细些的说明,感谢!

OptimusPrimeCao commented 5 years ago

@mhy12345 你好,最近我们想自己采集一些数据,想咨询下你们。能留个微信联系方式吗

aryanna384 commented 3 years ago

@mhy12345 你好,最近我们想自己采集一些数据,想咨询下你们。能留个微信联系方式吗

你好,有做出来吗?我也想知道怎么处理原始数据