yuangan / EAT_code

Official code for ICCV 2023 paper: "Efficient Emotional Adaptation for Audio-Driven Talking-Head Generation".
Other
278 stars 31 forks source link

关于Vox数据集的预处理 #19

Closed YZX-codesky closed 9 months ago

YZX-codesky commented 9 months ago

作者您好,您的项目非常棒,我很感兴趣。但是我在使用预处理代码处理Vox数据集的时候,发现处理时长长达700多小时,请问是我代码处理问题,还是所需时间确实很长?您是否有预处理好的数据集提供,若有,不胜感激。

yuangan commented 9 months ago

感谢关注,VoxCeleb这部分数据确实比较难处理,直接用preprocess的代码会因为在不同的任务之间切换,比较慢,我们当时是用多线程多gpu分批处理的每个任务。由于处理后的数据占用空间过大,可能没法以网盘的形式提供。如果你有办法解决传输问题,我们很乐意提供这部分数据。或者我们也可以提供你处理时感觉最耗时的部分数据。 image

YZX-codesky commented 9 months ago

非常感谢您的回复,我有几个问题需要向您请教一下: 1.我处理出来的imgs数据包含了3.6T导致其他数据处理时间都会变长。您的只有647G,想问一下是我的源数据出现了问题吗? image 2.方便的话,我想问一下deepfeature32,bbox,voxs_wavs的数据能否分享一下? 万分感激

yuangan commented 9 months ago
  1. img图片大小不一样,大概率是ffmpeg的crf值不一样导致的,参考这里。在我处理数据的时候没有设置crf,但设置crf为10处理出来的图片质量更好,相应的花费的存储更多。
  2. vox_wavs就是这里的输出,应该在提取视频的同时提取好了,你找找。bbox的提取代码在这里。deepfeature32大约有70+G,等我传上百度云后再回复你。
yuangan commented 9 months ago

你好,可以从下面的链接中下载,然后cat成deepfeature32.tar.gz后解压 链接:https://pan.baidu.com/s/1D4Dm7-25bselG8hpTiNByg?pwd=6n8n 提取码:6n8n

YZX-codesky commented 9 months ago

您好,万分感谢您的无私分享,感谢您的工作

yuangan commented 9 months ago

:wink:

jeb0813 commented 9 months ago

感谢关注,VoxCeleb这部分数据确实比较难处理,直接用preprocess的代码会因为在不同的任务之间切换,比较慢,我们当时是用多线程多gpu分批处理的每个任务。由于处理后的数据占用空间过大,可能没法以网盘的形式提供。如果你有办法解决传输问题,我们很乐意提供这部分数据。或者我们也可以提供你处理时感觉最耗时的部分数据。 image

作者您好,可不可以提供预处理后的Vox文件夹目录树。Vox原始数据使用三级目录存储mp4文件,我是否应该保留原始目录结构;还是根据id和文件夹名将处理后的mp4文件重命名为voxselect 中的格式?

yuangan commented 9 months ago

感谢关注,VoxCeleb这部分数据确实比较难处理,直接用preprocess的代码会因为在不同的任务之间切换,比较慢,我们当时是用多线程多gpu分批处理的每个任务。由于处理后的数据占用空间过大,可能没法以网盘的形式提供。如果你有办法解决传输问题,我们很乐意提供这部分数据。或者我们也可以提供你处理时感觉最耗时的部分数据。 image

作者您好,可不可以提供预处理后的Vox文件夹目录树。Vox原始数据使用三级目录存储mp4文件,我是否应该保留原始目录结构;还是根据id和文件夹名将处理后的mp4文件重命名为voxselect 中的格式?

你好,我是把视频重命名之后全放到一个文件夹下面的,中间加'_',便于preprocess,比如“id00530_9EtkaLUCdWM_00026.mp4”一共有约213400个视频。

YZX-codesky commented 9 months ago

感谢关注,VoxCeleb这部分数据确实比较难处理,直接用preprocess的代码会因为在不同的任务之间切换,比较慢,我们当时是用多线程多gpu分批处理的每个任务。由于处理后的数据占用空间过大,可能没法以网盘的形式提供。如果你有办法解决传输问题,我们很乐意提供这部分数据。或者我们也可以提供你处理时感觉最耗时的部分数据。 image

作者您好,可不可以提供预处理后的Vox文件夹目录树。Vox原始数据使用三级目录存储mp4文件,我是否应该保留原始目录结构;还是根据id和文件夹名将处理后的mp4文件重命名为voxselect 中的格式?

你好,我是把视频重命名之后全放到一个文件夹下面的,中间加'_',便于preprocess,比如“id00530_9EtkaLUCdWM_00026.mp4”一共有约213400个视频。

你好,作者,我在百度网盘下载的Vox2数据集,合并解压之后,在dev文件夹下面有5994个id,总共有1092009个视频。为什么视频的数量和你说的差别这么大

yuangan commented 9 months ago

感谢关注,VoxCeleb这部分数据确实比较难处理,直接用preprocess的代码会因为在不同的任务之间切换,比较慢,我们当时是用多线程多gpu分批处理的每个任务。由于处理后的数据占用空间过大,可能没法以网盘的形式提供。如果你有办法解决传输问题,我们很乐意提供这部分数据。或者我们也可以提供你处理时感觉最耗时的部分数据。 image

作者您好,可不可以提供预处理后的Vox文件夹目录树。Vox原始数据使用三级目录存储mp4文件,我是否应该保留原始目录结构;还是根据id和文件夹名将处理后的mp4文件重命名为voxselect 中的格式?

你好,我是把视频重命名之后全放到一个文件夹下面的,中间加'_',便于preprocess,比如“id00530_9EtkaLUCdWM_00026.mp4”一共有约213400个视频。

你好,作者,我在百度网盘下载的Vox2数据集,合并解压之后,在dev文件夹下面有5994个id,总共有1092009个视频。为什么视频的数量和你说的差别这么大

你好,因为做这个项目的时间有点久中间经过了几个版本,有些数据处理的细节记不太清了。原因应该是为了保证生成视频人脸的质量,我们对数据做了一下过滤。当时应该是用人脸估计模型检测了一下第一帧中的人脸,然后根据人脸大小和清晰度对数据集做了筛选,所以数量会少很多。我们最后只用了网盘中的213400个视频训练。很抱歉,我忘了在readme中说明这一点,现在已经加上了。 我们这个数据清洗策略也不是很完美,如果有更好的策略或者更清晰的数据,效果应该能更上一层楼。

YZX-codesky commented 9 months ago

感谢关注,VoxCeleb这部分数据确实比较难处理,直接用preprocess的代码会因为在不同的任务之间切换,比较慢,我们当时是用多线程多gpu分批处理的每个任务。 由于处理后的数据占用空间过大,可能没法以网盘的形式提供。 如果你有办法解决传输问题,我们很乐意提供这部分数据。 或者我们也可以提供你处理时感觉最耗时的部分数据。 image

作者您好,可不可以提供预处理后的Vox文件夹目录树。 Vox原始数据使用三级目录存储mp4文件,我是否应该保留原始目录结构; 还是根据id和文件夹名将处理后的mp4文件重命名为voxselect 中的格式?

你好,我是把视频重命名之后全放到一个文件夹下面的,中间加'_',便于preprocess,比如“id00530_9EtkaLUCdWM_00026.mp4”一共有约213400个视频。

你好,作者,我在百度网盘下载的Vox2数据集,合并解压之后,在dev文件夹下面有5994个id,总共有1092009个视频。 为什么视频的数量和你说的差别这么大

你好,因为做这个项目的时间有点久中间经过了几个版本,有些数据处理的细节记不太清了。 原因应该是为了保证生成视频人脸的质量,我们对数据做了一下过滤。 当时应该是用人脸估计模型检测了一下第一帧中的人脸,然后根据人脸大小和清晰度对数据集做了筛选,所以数量会少很多。 我们最后只用了网盘中的213400个视频训练。 很抱歉,我忘了在readme中说明这一点,现在已经加上了。 我们这个数据清洗策略也不是很完美,如果有更好的策略或者更清晰的数据,效果应该能更上一层楼。

你好,我这边没有进行清洗,直接对原始的数据进行的预处理,想问一下能否提供一下清洗后的视频数据,或者数据列表

yuangan commented 9 months ago

你好,那个deepfeature32.tar.gz里就有我们的数据列表。如果你自己洗一下可能效果更好,因为我们的voxceleb在处理时没设置crf=10。

StephanPan commented 4 months ago

请问预处理的latent_extractor是否需要使用adaptive_scale呢,我发现推理代码中使用了这个策略,但是预处理提取latent的时候似乎没有使用这个策略。

yuangan commented 4 months ago

请问预处理的latent_extractor是否需要使用adaptive_scale呢,我发现推理代码中使用了这个策略,但是预处理提取latent的时候似乎没有使用这个策略。

您好,感谢关注。直接从视频中提取latent不需要使用adaptive_scale(也没有。。。), 这个策略是为了输出的latent和原图片latent keypoints在scale层面一致才使用的,只在测试lrw的时候使用了,以保证neutral talking-head的生成结果和原图的一致性。提取数据的时侯latent的scale是一致的,不需要管这个。