OpenPoseによる人体姿勢の検出
2022-03-16 04:39:05
I. 概要
- OpenPoseは、カーネギーメロン大学が最初に提案し、その後、いくつかの出版物で提案されたモデルでの実装を主にベースにしています。
- CVPR2016の様子。畳み込みポーズマシン(CPM)
- CVPR2017 : リアルタイム多人数ポーズ推定
- CVPR2017 : マルチビューブートストラップを用いた単一画像における手のキーポイント検出
- しかし、非常に計算量が多く、通常はGPUで動作し、フレームレートが低い(5fps以下)ため、その後、改良が加えられている
- 改良版では主にモデルの改良やカットを行い、モバイル版(各種ダンスアプリなど)ではアルゴリズム自体をOpenPoseを介して動作するように最適化し、ネットワーク構造を変えて計算量を減らしていますが、同時に精度もそれなりに落としています。
次に、OpenPoseの実装コードの簡略版
- コードソース GitHub。 ヒューマンポーズエスティメーションオペンクラブ
- コードは比較的簡単で、モデル(小:7.8M)はgraph_opt.pbファイルで学習され、全ての実装コードはopenpose.pyファイルにあり、以下は実装コードとテスト結果です。
21
テストは次のように動作します。
-
一人の人物とポーズを展開した場合の検出効果の良さは、次の2つの図に例示されています。
-
複数の人物や特殊なポーズがあると、検出力が低下する(つながりが乱れたり、キーポイントが欠けたりする)ことを、次の2枚の画像で説明します。
- 左上に表示されている処理時間からわかるように、基本的に1枚の画像に0.5Sかかる遅い処理です
3つ目は、より複雑なバージョンのOpenPoseの実装コードです
- コードソース GitHub。 カメラオープンポーズケラス
- コードも少し複雑になり、モデル(大きめ:200M)も学習済みで、単体でもダウンロードできますが、エクストラネットではなかなかダウンロードできないので、Baidu Cloud:でダウンロードすることもできます。 model.h5
- 完全な実装コードは demo_camera.py ファイルにあり、以下のコードはテスト用のリードインイメージを取るために少し修正しました。
1
15
プログラムは次のように実行されます。
20
- ` - -image の後に入力画像へのパスを指定します.
検出効果は次のとおりです。
-
まず、上記のコードの簡易版でうまくいかなかった2つの画像が、このモデルでどのように処理されたかを比較しました。
-
さらに、他の画像でも効果を検証してみたところ、人物を鮮明にレンダリングした方が、より正確に関節点を検出できることが分かりました
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例