34
30

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.

Jetson Nanoに骨格検出を実現するソフト「tf-pose-estimation」をセットアップする方法

Last updated at Posted at 2019-06-19

openpose.gif

Jetson NanoでPose Estimation

 Jetson Nanoで骨格検出の技術を動かしてみます。「tf-pose-estimation」というソフトを使うと単眼カメラで人間の骨格検出をすることができます。詳しくは以下ブログ記事を参照下さい。

単眼カメラでKinectのように骨格検出する技術「Realtime Multi-Person Pose Estimation」を試してみた

Jetson Nanoで「tf-pose-estimation」のセットアップ

 ほとんど以下の記事を参考にさせていただきました。おかげで詰まることなくセットアップできたので、本当に感謝です。

Jetson Nano に TensorFlow版のOpenpose入れてみる

 そのままだと付加価値がないので、上記のセットアップをコマンド一発で実行できるようにスクリプトにした上で、Raspberry Piカメラに対応するソフトを作成しました。

 JetPackのバージョンによってコマンドが変わりますので注意してください。JetPackのそれぞれのバージョンのダウンロード先は、以下ページ参照下さい。

Jetson Nanoで使えるSDカードのイメージファイルまとめとイメージ書き込み方法

 JetPack4.5の場合は、以下4行のコマンドを実行するだけで「tf-pose-estimation」のセットアップができます。

$ git clone https://github.com/karaage0703/jetson-nano-tools
$ cd jetson-nano-tools
$ ./install-tensorflow-v45.sh
$ ./install-pose-estimation-v45.sh

 install-tensorflow_xxx.shで「tf-pose-estimation」に必要なTensorFlowをセットアップして、install-open-pose_xxx.shで「tf-pose-estimation」のセットアップ(関連ライブラリのインストール等含む)を行っています。

 JetPack4.4の場合は、以下コマンドを実行することでセットアップできます。

$ git clone https://github.com/karaage0703/jetson-nano-tools
$ cd jetson-nano-tools
$ ./install-tensorflow-v44.sh
$ ./install-pose-estimation-v44.sh

 「jetson-nano-sd-r32.1.1-2019-05-31.zip」の場合は、以下コマンドを実行することでセットアップできます。

$ git clone https://github.com/karaage0703/jetson-nano-tools
$ cd jetson-nano-tools
$ ./install-tensorflow.sh
$ ./install-pose-estimation.sh

Jetson Nanoでの「tf-pose-estimation」の実行方法

 ラズパイカメラ v2を繋いで以下コマンドを実行します。

$ cd ~/tf-pose-estimation
$ python3 run_jetson_nano.py --model=mobilenet_v2_small --resize=320x176

 私の環境だと7〜8fpsの速度でした。

 ラズパイカメラではなくて、Webカメラで動かす場合は、以下コマンドを実行すればOKです。

$ python3 run_webcam.py --model=mobilenet_v2_small --resize=320x176

 ラズパイカメラが繋がっている場合は、以下コマンドとなります。

$ python3 run_webcam.py --model=mobilenet_v2_small --resize=320x176 --camera=1

tf-pose-estimationのMacでの動かし方

 補足(個人的メモ)です。基本的にはJetson Nanoと同じです。

 Pythonのセットアップは以下参照下さい。

Pythonで機械学習をするための環境を雑にセットアップする方法(Jupyter notebook環境、ディープラーニング環境含む)on Mac/Linux

 TensorFlow、OpenCVあたりをインストールしておけば良いと思います。

 swigに関しては、Homebrewで以下コマンドでインストールしました。

$ brew install swig

 テストは以下のコマンドでOKです。

$ python run_webcam.py --model=mobilenet_v2_small --resize=320x176

まとめ

 Jetson Nano(ついでにMac)で骨格検出をする方法をまとめました。骨格検出を使って、身体を楽器にするアプリを作ったりしています。興味ありましたらこちらもごらんになってみてください。

Jetson Nanoとディープラーニングを使って身体を楽器にする「Skeleton Sequencer」に関して趣味TECHオンラインに寄稿しました

関連ページ

Jetson Nano関係のTIPSまとめ
Jetson Nano関係の情報は、上記ページにまとめていますのでよければ参照下さい。

変更履歴

  • 2020/05/31 JetPack4.4に関して追記
34
30
0

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
34
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?