4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Openpose 3D化に挑戦してみた話

Last updated at Posted at 2020-10-27

##3D化の目的
・動作解析をするため

##3D情報を取得する方法
大まかに分けて2つ。

  1. 複数のカメラを使用する。
     - 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の対応>
① 対応確認
  image.png
  参考: 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の対応>
① 対応確認
image.png
  参考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で撮影し、比較してみました
カメラは正面から撮影しました。
stickpicture.gif
やはり機械学習での奥行き推定は難しいですかね、、
でも1台のRGBカメラでここまでできるようになったのは驚きです。
スマホ1台で動作解析できるようになる日は近いっ!!
次なる技術に期待!!

4
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?