##3D化の目的
・動作解析をするため
##3D情報を取得する方法
大まかに分けて2つ。
- 複数のカメラを使用する。
- 2つ以上の画像とカメラキャリブレーションが必要 - 単眼カメラを使用する。
- 機械学習による復元
- 事前に3Dモデルの学習が必要
今回は2.の単眼カメラを用いた,機械学習手法の3D情報取得に挑戦しました。
##3d-pose-baselineの概要
教師データはHuman 3.6を使用。
Human 3.6はモーションキャプチャシステムで11人の様々な動作を計360万フレーム取得した,巨大な学習モデルである。
A simple yet effective baseline for 3d human pose estimation
[3d-pose-baseline]
(https://github.com/una-dinosauria/3d-pose-baseline)
##windowsで3d-pose-baseline-vmdを正常に起動させるには
基本的には,miu様が書いてくださった,MMDモーショントレース自動化への挑戦 の手順に従えば,問題なく動くのですが・・・・。
技術的に嵌まった部分を共有したいと思います。
また、Openpose-1.5.0でも動いたので、紹介します。
*Openposeの導入は省略
###①環境のセットアップ
最も大切なことは,Versionの確認。(この部分を怠るとハマる)
Versionの対応をすべて確認してからインストールする!
~環境例~(Openpose-1.5.0)
NVIDIA Corporation GeForce RTX 2080 436.48
CUDA 10.0
cudNN 7.4
tensorflow-gpu 1.13.1
python3.6
h5py
<GPUのドライバの確認>
Windowsであれば,タスクマネージャー起動→詳細→パフォーマンスで確認できる。
私のPCはNVIDIA社のGPUなので,
https://www.nvidia.co.jp/Download/index.aspx?lang=jp
から,Versionを確認。
<GPUとCUDAの対応>
① 対応確認
参考: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
② CUDA Version指定してインストール→ https://developer.nvidia.com/cuda-toolkit-archive
<CUDAとcuDNNとPythonとtensorflow-gpuの対応>
① 対応確認
参考https://www.tensorflow.org/install/source#common_installation_problems
② cuDNN Version指定してインストール(アカウント登録必要有)
→https://developer.nvidia.com/rdp/cudnn-archive
③ tensorflow-gpu Version指定してインストール
→https://qiita.com/miu200521358/items/9b45c181c4fd39be9c21
1. Anaconda インストール
2. Tensorflowインストール
3. Tensorflow (GPU版)インストール
4. "conda install tensorflow-gpu==1.13.1" 入力 (conda install tensorflow-gpu==Version番号)
###②学習データの導入失敗(H36M)
学習データをダウンロードした時に,きちんとダウンロードできたかを確認する必要があります。
checkpointの中身があるかどうか確認するべし。
私は空っぽだったため,エラーになりました。
もう一度やり直したら上手くいきました。
##3D化成功!!
あとはコマンドプロントの手順に従って実行するだけ!
立位→座位→立位動作を光学式モーションキャプチャとOpenposeで撮影し、比較してみました
カメラは正面から撮影しました。
やはり機械学習での奥行き推定は難しいですかね、、
でも1台のRGBカメラでここまでできるようになったのは驚きです。
スマホ1台で動作解析できるようになる日は近いっ!!
次なる技術に期待!!