1. 通过源文件获得human36
1.1 处理流程
略过下载原文件的部分了
GitHub:H36M-Toolbox
在 H36M-Toolbox 文件夹下新建 archives 文件夹并且把原始数据集放在 archives 文件夹下
cd /hy-tmp/H36M-Toolbox-master/archives
cp /hy-tmp/Human3.6/*/*.tgz ./
在该文件夹路径下依次执行extract_all.py、video_to_images.py、 generate_labels.py
python extract_all.py
python video_to_images.py
python generate_labels.py
1.2.报错处理
1.2.1已经安装好ffmpeg但是仍然报错:FileNotFoundError: [Errno 2] No such file or directory: ‘ffmpeg’
conda install -c conda-forge ffmpeg
1.2.2Exception: Cannot load CDF C library; checked . Try ‘os.environ[“CDF_LIB”] = library_directory’ before import.
首先
pip install spacepy
到这个cdf网站下载,下载3.7版本(3.8.1有点问题)
解压之后(应该是需要解压两次的)
cd cdf*dist
pip install numpy scipy h5py matplotlib networkx
apt install build-essential gfortran libncurses5-dev
make all.help
make OS=linux ENV=gnu CURSES=yes FORTRAN=no UCOPTIONS=-O2 SHARED=yes -j4 all
make install #no sudo
. /hy-tmp/H36M-Toolbox-master/cdf37_1-dist/bin/definitions.B
然后还是不行的话,在运行文件上加上:
os.environ["CDF_LIB"] = 修改成在自己lib文件的路径
2. human36
2.1 文件含义
2.1.1 D3_positions、D3_position_mono和D3_position_mono_universal之间的区别
【参考github】Asking the meaning of annotations
【参考github】Poses_D3_Positions_mono_universal 和Poses_D3_Positions_mono_universal有什么区别
感兴趣的可以可以参考上面两篇解答
简单地说,D3_Positions是世界坐标系,D3_Positions_mono是相机坐标系。D3_Positions_mono_universal提供使用相同的肢体长度的3D位置,作为与受试者大小不变的3D位置参数化。(用的比较多好像也只有前两个)
2.1.2 标注位置
【图片来源】2D人体姿态识别
2.1.3 获得h36m格式的标注
mmpose支持human36m格式的标注
但是需要注意的是:左右腿与上图正好相反