AD-NeRF 数据集的制作
flyfish
通过一个视频文件是如何制作数据集的
以id是Obama为例
bash process_data.sh Obama
该命令自动执行了以下内容
第0步 提取声音特征
通过ffmpeg命令提取视频中音频数据,存储路径是dataset/Obama/aud.wav
通过deepspeech获取音频特征存储路径是dataset/Obama/aud.npy
https://github.com/mozilla/DeepSpeech
第1步 原始视频转换成图像
将原始视频变成一帧帧的图像,数据存储在dataset/Obama/ori_imgs文件夹中
第3步 人脸关键点检测
https://github.com/1adrianb/face-alignment
从dataset/Obama/ori_imgs文件夹中读取每一张图像,检测关键点,然后同名存储到dataset/Obama/ori_imgs文件夹中,文件扩展名是lms
用的是face-alignment,face-alignment可以检测2D或者3D的人脸关键点
下面一个检测2D,一个检测3D
fa = face_alignment.FaceAlignment(face_alignment.LandmarksType._2D, flip_input=False)

fa = face_alignment.FaceAlignment(face_alignment.LandmarksType._3D, flip_input=False)

第3步 人脸解析
输入数据路径是dataset/Obama/ori_imgs
输出数据路径是dataset/Obama/parsing
结果是这样子的

第4步 提取背景图片
这里在第二步人脸关键点检测的时候,确定了最大有效图像个数,默认是100000
并且获取了图像的高度和宽度,后面的操作就操作这些有效的图像。
输出的背景文件是dataset/Obama/bc.jpg

第5步 存储训练数据
通过第4步得到背景数据结合第3步得到解析数据最终得到两种训练数据
一个是只有头部和背景的数据,dataset/Obama/head_imgs
另一个是背景和整个上半身的数据,dataset/Obama/com_imgs
第6步 估计头部姿态
生成文件的路径是dataset/Obama/debug/debug_render
参数存储文件是dataset/Obama/track_params.pt
第7步 写入Transform参数和配置文件
通过第6步得到track_params.pt参数,输出包括
HeadNeRF_config.txt
TorsoNeRF_config.txt
TorsoNeRFTest_config.txt
transforms_train.json
transforms_val.json
