TensorFlow OpenPose でモーションキャプチャをやってみる

今回は、TensorlFlow の OpenPoseのサンプルプログラムでモーションキャプチャをやってみます。

こんにちは cedro です。

モーションキャプチャってご存知ですか。モーションキャプチャとは、人物や物体の動きをデジタル的に記録する技術です。

以前は、写真の様にマーカーを取り付けた専用スーツを着て複数のカメラで撮影し、三角測量の原理でそれぞれのマーカーまでの距離を計算することで、位置と姿勢を記録していました。

その後、マーカースーツを着なくても専用の3Dカメラで撮影することによって出来る様になり、昨年には、普通のカメラ映像からディープラーニングを使ってモーションキャプチャができるところまで進歩しています。

今回は、こないだ MacbookAir にインストールした TensorlFlow を使って、OpenPoseのサンプルプログラムで、モーションキャプチャをやってみます。

サンプルプログラムの準備

Github からプログラムをダウンロードします。

tf-pose-estimation フォルダーに移動し、ライブラリをインストールします。

続けて、swig をインストールします。

tf_pose/parfprocess フォルダーに移動し、C++のライブラリーをビルドします。

tf-pose-estimation フォルダーに戻り、パッケージをインストールします。

models/graph/cmu フォルダーに移動し、モデルファイルをダウンロードします。

tf-pose-estimation フォルダーに戻り、上記コマンドでサンプル画像のモーションキャプチャを実行します。

見事に2人の人物のモーションキャプチャができていますね。

 

そして、上記コマンドを入力すると、MacbookAir の内蔵カメラで、リアルタイムのモーションキャプチャができます。

 

かなりカクカクしますが、なんとCPUだけで、リアルタイムモーションキャプチャができてしまいます。凄い!

 

色々やってみます

せっかく生成した画像は単独で保存したいので、run.py58行目にコードを追加します。これで、pic.jpgというファイル名で保存されます。

そうすると、こんな感じで画像を保存できる様になります。それでは、色々やってみます。

 

メッシ!

 

オグシオ!

 

パフューム!

アン・シネ!

 

女子高生のダンスグループ!

 

 

最後に、Kayaの恋ダンス を静止画で切り出してモーションキャプチャし、GIF動画にしてみました。

では、また。

2 件のコメント

  • はじめまして、私は近畿大学の学生です。
    今卒業研究でOpenPoseについて学んでいますがインストールして動かすこともできません。
    もしよろしければインストール方法、簡単な操作の仕方を教えていただけますでしょうか。
    連絡お持ちしています。

    • えりさん
      コメントありがとうございます!
      えりさんがインストールしたいのは、このブログにある様なライトなCPUバージョンではなく、GPUを使った本格的なやつですね。例えば、CMU-Perceptual-Computing-Lab/openpose とか。
      確かに、このレベルになると、インストールはかなりヘビーで半日がかりかもしれません。
      機会があれば、そのインストールも記事にしたいと思いますが、とりあえずは下記のリンクを参考にトライしてみて下さい。

      https://qiita.com/kinkin0204/items/5db5c2b06c258c9adec9

  • cedro へ返信する コメントをキャンセル

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

    ABOUTこの記事をかいた人

    アバター

    ディープラーニング・エンジニアを趣味でやってます。E資格ホルダー。 好きなものは、膨大な凡ショットから生まれる奇跡の1枚、右肩上がりのワクワク感、暑い国の新たな価値観、何もしない南の島、コード通りに動くチップ、完璧なハーモニー、仲間とのバンド演奏、数えきれない流れ星。