しばらくドローン関連の記事しか書いていませんでしたが,11月に入り心機一転,AIっぽいことをやってみたいと思い,この記事を書いています.OpenPoseとは,深層学習を用いて人物のポーズを可視化してくれるソフトウェアです.このサイトが詳しいです.
私の趣味が卓球なので,今回は卓球動画の人のポーズをOpenPoseで可視化してみようと思います!
OpenPoseを使ってみる
2通りの方法を試してみました.1つ目は,CPUしか積んでいないノートパソコンでOpenPoseを動かしてみる方法.2つ目は,Google ColabというオンラインでGPUを使えるgoogleの無料サービスを使う方法です.
1つ目の方法だと毎回画像処理に時間がかかる,2つ目の方法だと毎回起動時にOpenPoseのインストールをしなければならず時間がかかるというデメリットがあります.といっても後者の方法だとインストールにかかる時間は20〜25分程度なので,後者の方法がおすすめかと思います.
CPUしか積んでいないノートパソコンでOpenPoseを使ってみる
CPUしか積んでいないノートパソコンのUbuntu 18.04環境で,すでに試している先人さんがいらっしゃったので,このインストラクションのとおりに試してみました.
上記のリンクに,ハマるところはほぼすべて書かれているので問題なくインストールできると思うのですが,一点だけcmake実行時に「libgoogle-glog-devが無いよ」ということで怒られたので,以下を実行しました.
sudo apt-get install libgoogle-glog-dev
あとは,「anacondaが入っているとmakeに失敗するよ」と記事には書かれていますが,私の環境ではanacondaが入っているにも関わらず特にmakeに失敗することはありませんでした.
4GBくらい空き容量を消費したので,空き容量については十分注意してください.
ただ,この方法だと動画の処理にものすごい時間がかかりました.(というか処理をはじめて一時間半経った今も5秒の動画の処理が終わっていません….)なので,OpenPoseをローカル環境にインストールして実行する場合は,GPUを積んでいるパソコンでやった方がいいと思います.
Google Colabを使う方法
Google Colab + Youtubeのサンプル動画を使ってOpenPoseを動かす方法は,以下のサイトで手軽に実行できました.これを自分のGoogle Driveにコピーして実行すれば,どなたでも手軽にいろいろ試すことができると思います.
それにしてもGPU無料で使えるってGoogleさんスゴイですね (^o^;;
ちなみに,ローカル環境にGoogle Colab上のファイルをダウンロードするのは,以下の手順でできます.パッケージを読み込まなくちゃいけないみたいですね.
from google.colab import files files.download('openpose/test.zip')
以下の実装は,この方法(Google Colabを使う方法)で行いました!
卓球動画の人物のポーズを表示してみる
やってみた
Youtubeに上がっている卓球動画とOpenPoseを使って,卓球動画中の人物のポーズを表示してみました.
動画に人の姿勢を示す線が表示されました!結構なスピードで選手は動いているのにちゃんと追随できるもんなんですね.あと,台の下の隠れている脚の位置もある程度推測できているのが驚きです.
これで卓球動画の解析等ができないか,これから検討していきたいと思っています.
注意
このサイトによると,ダウンロードしたり再編集したりできるYoutube動画は,「クリエイティブ・コモンズ表示ライセンス」のものに限られるそうです.Youtube検索オプションを設定すれば,これに該当する動画を検索することができます.
クリエイティブ・コモンズの動画を選定して使わないと著作権違反になってしまうので気をつけましょう.
参考
OpenPoseの使い方に関しては,以下のサイトも参考にしました.
コメント