MeidaPipeによる手の形の推定
解説
Jetson Orin Nano で、MediaPipe を利用して、画像から手の形を推定してみます。
前提
「MediaPipeの動作環境の構築」を実施していない場合は、実施します。
コンテナの起動
以下のコマンドを実行します。
「MediaPipeの動作環境の構築」で作成した環境のコンテナが起動します。
コンテナが起動すると、Terminalでの表示が「root@ホスト名:/#」に変わり、コンテナ上での作業になります。
以降の作業は、指定がない場合は、コンテナ上での作業です。
Webカメラ画像からの手の形の推定
Webカメラ画像から手の形を推定してみます。
以下のコマンドを実行し、作業用ディレクトリに移動します。
「estimate-hands.py」ファイルを作成し、ファイルの内容を以下のようにします。
以下のコマンドを実行し、Flaskウェブサーバーを起動します。
同一ネットワーク上のPCのブラウザアプリ(ChromeやEdge)から、
http://[Jetson Orin Nano のIPアドレス]:5000
もしくは
http://[Jetson Orin Nano のホスト名]:5000
にアクセスします。
手の形を推定した結果が表示されます。
「ctrl + c」を押下し、Flaskウェブサーバーを終了します。
手の形の推定のみの描画
カメラ画像を描画せず、手の形の推定のみを描画してみます。
「estimate-hands.py」ファイルをコピーし、「estimate-hands-no-render-camera-image.py」というファイル名にします。
以下の変更を加えます。
NumPyの関数を使用するので、「import numpy as np」をimport部に追加します。
「推定結果をフレームに描画」の描画対象を、「カメラ画像」から「灰色キャンバス」に差し替える処理を追加します。
「estimate-hands-no-render-camera-image.py」ファイル全体の内容は以下のようになります。
以下のコマンドを実行し、Flaskウェブサーバーを起動します。
同一ネットワーク上のPCのブラウザアプリ(ChromeやEdge)から、
http://[Jetson Orin Nano のIPアドレス]:5000
もしくは
http://[Jetson Orin Nano のホスト名]:5000
にアクセスします。
Webカメラ画像は表示されず、手の形の推定のみ表示されます。
「ctrl + c」を押下し、Flaskウェブサーバーを終了します。
コンテナの終了
以下のコマンドを実行し、コンテナを終了します。
コンテナが終了すると、Terminalでの表示が「ユーザー名@ホスト名:/~$」に変わり、ホスト上での作業に戻ります。
関連ページ
MediaPipe
MediaPipeの動作環境の構築 |
MediaPipeによる人の骨格の推定 |
MediaPipeによる手の形の推定 - 【本ページ】 |
MediaPipeによる顔の形の推定 |
OpenPose
OpenPoseの動作環境の構築 |
OpenPoseによる人の骨格の推定 |
OpenPoseによる手の形の推定 |
OpenPoseによる顔の形の推定 |