Azure上のUbuntu 16.04 LTSでOpenPoseを試す

写真や動画から精度よくボーン検出ができると話題の『OpenPose』をAzure上のUbuntu 16.04 LTSで動かしてみました。 Azure以外の環境への導入については公式ドキュメントやいろいろな方のブログエントリーなどありますが、そのままではAzureへの導入がうまくいかなかった部分があるのでこちらにまとめておきます。

ローカルマシンは Mac を使用しています。他の環境で行う場合はパスなどを適宜読み替えて下さい。

事前準備:秘密鍵・公開鍵の作成

上記コマンドを実行すると~/.ssh/datum/ディレクトリの直下に

  • azure-vm (秘密鍵)
  • azure-vm.pub (公開鍵)

が作成されます。

公開鍵は Virtual Machine 作成の際に使用します。

Virtual Machineの作成

まずはAzure上にVirtual Machineを作成します。

Microsoft Azure Portalにログインしたら Virtual Machines > 追加 を選択し、Virtual Machine Images の中から Ubuntu Server 16.04 LTS を選択します。

細かい設定は基本的にデフォルトのままで大丈夫ですが、今回OpenPoseを使用するために NVIDIA Tesla K80 が搭載されたVirtual Machineである NCシリーズ を使いたいので下記のように設定します。

  • VMディスクの種類:HHD
  • 場所:米国東部
  • サイズの選択:NC6 Standard

また、説明のためユーザー名はdatumとしておきます。

設定が完了し、作成ボタンを押下したらVMが起動します。 VM の起動が完了すると、Azure Portal上でパブリックIPアドレスが確認できます。 ここでは説明のため55.666.77.888としておきます。

ローカルマシンからVMにssh接続します。

作業用のworkディレクトリを作成し、移動します。

CUDA 8.0のインストール

NVIDIA公式ドキュメントhttps://developer.nvidia.com/cuda-80-ga2-download-archiveを参考にインストールしていきます。

※公式ドキュメントでは最後のコマンドは

となっていましたが、それだと別バージョンがインストールされてしまったため、バージョンを明示したコマンドにしています。

再起動

再起動が完了したら再度ローカルマシンからssh接続します。

アップデートをしておきます。

パスの設定

設定確認

Tesla K80 を認識しているのが分かります。

cuDNN 6.0のインストール

https://developer.nvidia.com/rdp/cudnn-downloadからパッケージをダウンロードします。(※メンバー登録が必要です) 今回は、ローカルマシンでダウンロードしてからscpコマンドでAzure VMにアップロードしています。

パッケージのダウンロード

Download cuDNN v6.0 (April 27, 2017), for CUDA 8.0 をクリックして開くリンク集の中から

  • cuDNN v6.0 Code Samples and User Guide for Ubuntu16.04 (Deb)
  • cuDNN v6.0 Developer Library for Ubuntu16.04 (Deb)
  • cuDNN v6.0 Runtime Library for Ubuntu16.04 (Deb)
の3つをローカルマシンにダウンロードします。

パッケージのアップロード

ダウンロードしたパッケージファイルをAzure VMのworkディレクトリにアップロードします。

パッケージのインストール

画像処理ライブラリOpenCVのインストール

行列演算ライブラリATLASのインストール

OpenPoseのインストール

データ入出力用のディレクトリ作成

写真で試す

写真はフリー素材のhttps://www.pexels.com/photo/crowd-music-musician-street-performer-34692/を使用しました。

アップロード

OpenPoseを動かす

ボーン検出結果の画像をローカルマシンにダウンロード

動画で試す

動画はフリー素材のhttps://videos.pexels.com/videos/people-dancing-1066を使用しました。

アップロード

OpenPoseを動かす

ボーン検出結果の動画をローカルマシンにダウンロード

※keypointについてはフレーム毎にjsonファイルが連番で出力されます。

参考

CUDA 8.0とcuDNN 6をUbuntu 16.04LTSにインストールする

このページをシェアする: