YOLOPose: YOLOはターゲット検出だけでなく、人体姿勢推定も無料で行えますリアルタイムパフォーマンスは必見です!

ここに画像の説明を挿入

ガイド:

YOLO は、人気のあるオブジェクト検出フレームワークです。YOLO を姿勢検出タスクに導入すると、結果はどうなるでしょうか? この記事では、シングル ステージ 2D 人間姿勢検出を実装します。トップダウンやボトムアップの方法とは異なり、この方法は、反転やマルチスケールなどのデータ拡張を行わずに、人間の検出とキー ポイントの推定を組み合わせます。 COCO キーポイントのパフォーマンスが達成され、この方法を他のターゲット検出アルゴリズムに統合して、計算量を増やすことなく姿勢推定を達成できます。これは人間の姿勢のリアルタイム推定に非常に重要です。


ArXiv:https://arxiv.org/abs/2204.06806

オープンコード (Pose はオープンソース): https://github.com/TexasInstruments/edgeai-yolov5/tree/yolo-pose


まとめ

この記事では、人気の YOLO フレームワークに基づいた新しいヒートマップフリーの関節検出と 2D 複数人の姿勢推定を実装する YoLoPose を紹介します。現在、ヒートマップベースの手法は 2 段階であり、エンドツーエンドでトレーニングされていないため最適ではありません。また、トレーニングは代替 L1 損失に依存しており、これは最大化評価戦略、つまりオブジェクトのキーポイント類似性と同等ではありません。 (OKS)。この記事では、エンドツーエンドのトレーニング済みモデルを実装し、OKS インジケーター自体を最適化します。このモデルは、一方向順伝播プロセスで人間のフレームと対応する 2D ポーズを共同で検出できるため、トップダウンまたはボトムアップの方法に最適です。この方法では、検出されたキーポイントをスケルトンにグループ化するボトムアップ方法の後処理は必要ありません。これは、各検出ボックスに関連付けられたポーズがあり、関節点が固有にグループ化されるためです。また、トップダウンのアプローチとは異なり、一方向の推論ですべての人がポーズとともに位置特定されるため、複数の前方パスはキャンセルされます。YOLOPose は、COCO val で優れた結果を達成し、AP50 で 90.5%、test-dev で 90.3% を達成し、単一のフォワード パスで現在のボトムアップ ベースのメソッドをすべて上回りました。反転、マルチスケール、またはその他のデータ拡張メソッドはありません。使用されています。
ここに画像の説明を挿入
密集した群衆に対するYOLOPoseの姿勢推定の効果画像

ここに画像の説明を挿入
YOLOPose と比較すると、HigherHRNet-w32 は密集した群衆に対処するのに効果的ではありません

1. はじめに

複数人の 2D 姿勢推定は、画像内の人体を理解するタスクです。画像を入力すると、各人物を検出し、対応する関節点を特定することが目的となります。画像内の人物の数の変化、スケールの変更、体の部分の遮蔽、人体の非剛体などの要因により、写真内の複数の人物のポーズを推測することは困難です。

姿勢推定の現在の方法は、主にボトムアップとトップダウンの 2 つのカテゴリに分類されます。トップダウンまたは 2 段階のアプローチが、現在最も先進的なソリューションです。まず強力な人物検出器を採用し、次に各人物の個別の姿勢推定を実行します。トップダウン手法の複雑さは、画像内の人の数に比例して増加します。ほとんどのリアルタイム アプリケーションは、制限されたランタイムを必要とし、複雑性が高いため、トップダウン アプローチを採用する傾向がありません。対照的に、ボトムアップ アプローチでは、ヒートマップに依存して 1 回の検出ですべてのキーポイントを検出し、その後、それらを個別にグループ化するための複雑な後処理が行われるため、一定のランタイムが得られます。後処理には、ピクセルレベルの NMS、ライン統合、細線化、グループ化などのステップが含まれる場合があります。座標調整とリファインメントにより、ダウンサンプリングされたヒートマップの量子化誤差が削減されます。NMS は、ヒートマップ内の極大値を見つけるために使用されます。後処理後でも、ヒートマップは、同じタイプの 2 つの近いキーポイントを区別できるほど明確ではない場合があります。同様に、ボトムアップのアプローチはエンドツーエンドでトレーニングできないため、後処理ステップは微分不可能であり、畳み込みネットワークの外側で発生します。線形計画法からさまざまなヒューリスティックまで、アプローチが大きく異なります。CNN アクセラレータで加速するのは難しいため、速度が遅くなります。シングルショット推論手法もありますが、これはタスクのグループ化を回避しますが、ボトムアップ手法には匹敵しません。パフォーマンスを向上させるために追加の後処理に依存します。

この記事の目的は、ヒート マップを使用せずに姿勢推定を解決することですが、ターゲット検出の課題は、スケールの多様性、オクルージョン、人体の非剛性など、姿勢推定と似ているため、ターゲット検出との一貫性を保つことです。 。したがって、人間検出ネットワークがこれらの問題を処理できれば、姿勢推定も処理できます。たとえば、最近の物体検出フレームワークは、複数のスケールで予測を行うことでスケールの変動に対処しようとしています。ここでは、同じ戦略を採用して、検出ごとにマルチスケールの人間のポーズを予測します。同様に、物体検出の分野におけるすべての主要な進歩は、姿勢推定にシームレスに移行します。この論文で提案した姿勢推定方法は、計算量をほとんど増加させることなく、コンピュータ ビジョン システムで物体検出を実行するための他の方法に簡単に統合できます。

YOLOPose メソッドは、現在人気のある YOLOv5 フレームワークに基づいています。これは、ヒート マップを使用せずに 2D 姿勢推定を解決し、現在一般的に使用されている多くの非標準化された後処理操作を取り除く方法を初めて提案したものです。この方法は、物体検出で同じ後処理を使用して COCO で最高のパフォーマンスを達成します。

YOLOPose では、グラウンド トゥルース ボックスと一致する各アンカー ボックスまたはアンカー ポイントが、完全な 2D ポーズとバウンディング ボックスの位置を保存します。異なる人体の 2 つの類似した関節点が空間内で互いに近づくことがあります。ヒートマップを使用してこのケースを区別することは困難です。ただし、2 人の人物が異なるアンカーで照合される場合、空間的に近い類似の関節点を区別するのは簡単になります。ここでも、アンカーに関連付けられたキーポイントがグループ化されます。ボトムアップのアプローチでは、上図に示すように、ある人の関節が他の人に混同されやすくなりますが、この方法ではこの問題を本質的に解決できます。トップダウンの方法とは異なり、YOLO-Pose の複雑さは画像内の人の数には依存しません。したがって、一定の実行時間、シンプルな後処理という、トップダウンとボトムアップのアプローチの長所を実現しています。貢献は次のように要約されます。

  • マルチスケール、オクルージョンなどの同様の課題が存在するため、複数人の姿勢推定を物体検出タスクと連携させます。こうして、2つの分野の統合に向けた第一歩が踏み出されました。この方法は、物体検出の分野における進歩から直接恩恵を受けます。
  • この方法は、アサーマル マップに基づいて、複雑なボトムアップ前処理ステップの代わりに標準的な物体検出後処理ステップを使用し、独立した後処理を行わずにエンドツーエンドの方法でトレーニングされます。
  • オブジェクト ボックス検出の IoU 損失をキーポイント推定に拡張します。OKS は評価だけでなく、学習エラーにも使用されます。OKS 損失はスケール不変であり、本質的に異なるジョイント ポイントに対して異なる重みを提供します。
  • 主要な DEKR アルゴリズムと比較して、4 分の 1 の計算量で 89.8% の AP50 を取得しており、これは 0.4% 高いです。
  • 検出と姿勢推定を組み合わせたフレームワークは、ターゲット検出フレームワーク上でほとんど追加の操作を行わずに姿勢推定を実現します。
  • EfficientHRNet などのリアルタイム重視のモデルを大幅に上回る、複雑さの低いモデルのバリアントが提案されています。

2.関連作品

主にトップダウンとボトムアップの2種類の手法が検討されています。ここでは省略しますが、作品によっては原文を参照してください。

3. YOLOポーズ

YOLO-Pose は、他のボトムアップ手法と同様、単発の手法です。ただし、ヒートマップは使用しません。代わりに、アンカーを使用して人体の関節を関連付けます。これは YOLO5 検出フレームワークに基づいており、他のフレームワークに拡張することもできます。著者らは、YOLOX についても限定的な検証しか行っていません。以下の図は、キーポイント検出ヘッドを含む全体的なアーキテクチャを示しています。
ここに画像の説明を挿入
YOLOv5 に基づく YOLO ポーズ アーキテクチャ。入力画像は、さまざまなスケール {P3、P4、P5、P6} で特徴マップを生成する darknetcsp バックボーンを介して渡されます。PAnet は、複数のスケールにわたるこれらの特徴マップを融合するために使用されます。PANet の出力はフィードされます最後に、各検出ヘッドはボックス ヘッドとキーポイント ヘッドに分岐します。YOLOv5
に基づく YOLO-Pose アーキテクチャです。入力画像はダークネット スケルトンを通過して、さまざまなスケールの特徴マップ (P3、P4、P5、P6) が生成されます。PANet は、異なるスケールの特徴マップを融合するために採用されています。PANet の出力は検出ヘッドの入力として使用されます。最後に、各検出ヘッドは検出フレーム ヘッドとキー ヘッドに分岐します。

3.1 概要

この方法の可能性を実証するには、著者らは人間の検出に適したフレームワークを選択する必要があります。YOLOv5 は現在、精度と計算の点で最先端の検出器です。したがって、YOLOv5 が選択され、構築のベースとして使用されました。これは主に、COCO データセット上の 80 のカテゴリ検出に焦点を当てており、各アンカーのボックスの見出しが 85 の要素を予測します。これらは、境界ボックス (4)、オブジェクト スコア (1)、および 80 クラスの信頼度 (80) に対応します。各グリッド位置には、異なる形状の 3 つのアンカーがあります。

问:YOLOv5的box head输出为什么有85个元素?
其中,80个元素对应类别,边界框对应4个元素,1个目标分数

人体の姿勢推定では、人体というカテゴリが検出されます。各人体には 17 個の関節点があり、各関節点は位置と信頼度 { x , y , conf } \{x,y,conf\}によって決定されます。{ x conf }決定 _ したがって、各アンカーは 17 ジョイント ポイントの 51 要素に関連付けられます。したがって、アンカーごとに、キー ヘッドは 51 個の要素を予測し、ボックス ヘッドは 6 個の要素を予測します。n 個のジョイントポイントを持つアンカーの場合、必要な要素はすべてベクトルとして表現できます。つまり、
P v = { C x , C y , W , H , boxconf , classconf , K x 1 , K y 1 , K conf 1 , ⋅ ⋅ ⋅ , K xn , K yn , K confn } P_v=\{C_x,C_y,W,H,box_{conf},class_{conf},K^1_x,K^1_y,K^1_{conf}, \cdot \cdot \cdot, K^n_x,K^n_y,K^n_{conf}\}Pv={ C×CはいH ボックス_ _コンファ_ _クラス_ _ _ _コンファ_ _Kバツ1Ky1Kコンフ_ _1KバツKyKコンフ_ _}

问:YOLOPose,在YOLOv5基础上增加了什么?
答:YOLOPose,除了YOLOv5原有的box head,还增加了keypoint head。box head只检测人体类别,输出6个元素;keypoint head检测关键点,输出x和y位置、置信度共三个元素。一种17个关键点,输出51个元素。

キーポイントの信頼度は、それが表示されているかどうかに基づいてトレーニングされます。キーポイントが表示されているか遮蔽されている場合、手動アノテーションの信頼度は 1 に設定され、キーポイントが視野外にある場合は 0 に設定されます。推論段階では、キーポイントの信頼度を 0.5 より大きく保ちます。他の予測されたキーポイントは破棄されます。予測されたキーポイントの信頼度は評価には使用されません。ただし、ネットワークは検出ごとに 17 個のキーポイントを出力するため、視野外にあるキーポイントをフィルターで除外する必要があります。そうしないと、キーがぶら下がってスケルトンが変形してしまいます。ヒートマップに基づく現在のボトムアップ手法では、視野外のキーポイントが最初の段階で検出されないため、この操作が必要になります。

YOLOPose は CSP-darknet53 をスケルトンとして使用し、PANet はマルチスケール機能を統合します。異なるスケールでの 4 つの検出ヘッドの実践に従ってください。最後に、境界ボックスとキーポイントを予測するための 2 つの結合ヘッドがあります。

このアーキテクチャは、計算を 150 GMACS (乗算および累積計算、GFLOPS の浮動小数点演算の約 1 ~ 1.2 倍) 以内に制限し、競争力のある結果を達成できます。さらに計算量を増やす場合には、トップダウン方式との差を縮めることができる。しかし、私たちはそれを追求するのではなく、リアルタイムモデルに焦点を当てます。

3.2 アンカーベースの複数人のジェスチャ表現

特定の画像について、アンカーは人体の 2D ポーズと位置ボックスを含む人体と照合されます。ロケーション ボックスの座標はアンカーの中心に従って変換され、ロケーション ボックスのサイズはアンカーの幅と高さによって正規化されます。同様に、キーポイントの位置はアンカーの中心に従って変換されますが、キーポイントはアンカーの幅と高さによって正規化されません。このような改善はアンカーの幅や高さに依存しないため、YOLOX や FCOS などの他のアンカー不要のフレームワークへの拡張が容易になります。

3.3 IoUベースのバウンディングボックス損失関数

最新の物体検出器のほとんどは、距離ベースの損失ではなく、GIoU、DIoU、CIoU などの最適化された IoU バリアントを使用して、境界ボックスの検出を向上します。これは、これらの損失がスケール不変であり、評価戦略自体を直接最適化できるためです。著者らは、境界ボックスの監視に CIoU 損失を使用しています。特定のグラウンドトゥルース境界ボックスの場合、それはkthk^{th}に対応します。kthアンカーは位置 ( i , j ) (i,j) で一致ます(j )、スケールはsssの場合、それらの間の損失は次のように定義できます。
L box ( s , i , j , k ) = ( 1 − CI o U ( B oxgts , i , j , k , B oxpreds , i , j , k ) ) L_{box}(s,i,j,k)=(1-CIoU(Box^{s,i,j,k}_{gt},Box^{s,i,j,k}_{pred } ))Lボックス_ _( s j k )=( 1C I o U (ボックス_ _gt _s i j kボックス_ __ _の前にs i j k))

このうち、B oxpreds , i , j , k Box^{s,i,j,k}_{pred}ボックス_ __ _の前にs i j kkthk^{th}ですkthアンカー位置( i , j ) (i,j)(j )、スケールはsssの予測ボックス。著者の設計では、各位置に 3 つのアンカーがあり、4 つのスケールが予測されます。

3.4 人間の姿勢喪失関数の表現

OKS は、重要なポイントを評価するための最も一般的な戦略です。従来、ヒートマップベースのボトムアップ手法では、L1 損失を使用してキーポイントを検出しました。ただし、L1 損失は、最適化された OKS を取得するには適さない場合があります。L1 損失は最も単純であるため、オブジェクトの規模やキー ポイントの種類は考慮されません。ヒートマップは確率マップであるため、OKS を純粋なヒートマップ法の損失関数として使用することはできません。OKS は、キーポイントの位置が回帰にある場合にのみ損失関数として使用できます。スケール正規化された L1 損失がキーポイント回帰に対して提案されました。これは OKS 損失へのステップです。

したがって、キーポイントであるアンカー中心に直接回帰し、損失関数の代わりに評価戦略自体を最適化できます。IoU 損失を境界ボックスからキーポイントまで拡張します。要点のうち、OKS は IoU として扱われます。したがって、OKS 損失は本質的にスケール不変であり、特定のキーポイントの重要性が偏ります。たとえば、耳、鼻、目などの人の頭上のキーポイントは、肩、膝、腰などの体の要素よりもピクセル レベルでのエラーのペナルティが高くなります。この重み付け係数は、冗長なラベル付き検証セットから COCO 著者によって経験的に選択されました。重複しない場合に勾配の消失に悩まされる元の IoU 損失とは異なり、OKS 損失は停滞しません。したがって、OKS 損失は dIoU 損失に似ています。OKS は個々のキー ポイントごとに計算され、最終的な OKS 損失またはキー ポイント IoU まで累積されます。つまり、
ここに画像の説明を挿入
作成者はキー ポイントごとに、その人がキー ポイントに存在するかどうかを示す信頼度パラメーターを学習します。したがって、キーポイントが表示されているかどうかのフラグは、グラウンド トゥルース アノテーションとして機能します。利用可能:実際のラベルの境界ボックスがK 番目の K^{th}
ここに画像の説明を挿入
と同じ場合Kth個のアンカーが位置( i , j ) (i,j)(j )、スケールsssそしてそのアンカーの喪失は効果的になります。最後に、すべてのスケール、アンカー、および場所での全体的な損失は次のように表されます。
ここに画像の説明を挿入

2.5 テスト時間の向上戦略

画像反転とマルチスケール テストは、一般的に使用される 2 つの方法です。反転すると計算量が 2 倍になります。マルチスケールは通常( 0.5 × 、 1 × 、 2 × ) (0.5\times,1\times,2\times) のような3 つのスケールになります。( 0.5 × 1 × 2 × )など、対応する計算量の増加は( 0.25 + 1 + 4 ) (0.25+1+4)( 0.25+1+4 )つまり、元の計算量の5.25倍になります。この方法では、データ拡張戦略は使用されません。

2.6 境界ボックスの外側のキーポイント

トップダウン方式は、オクルージョン状況ではうまく機能しません。トップダウン方式に対する YOLOPose の利点の 1 つは、境界ボックス内のキーポイントに制約がないことです。したがって、オクルージョンによりキーポイントが境界ボックスの外側にある場合でも、キーポイントは正しく検出されます。ただし、トップダウンのアプローチでは、人間の検出が正しくない場合、姿勢推定も失敗します。この方法では、オクルージョンや不正確な境界ボックスの検出などの課題がある程度軽減されます。

ここに画像の説明を挿入ここに画像の説明を挿入
境界ボックスの外側のキーポイントも検出されていることがわかります。トップダウン方式の場合、これは間違いなく検出を見逃します。

実験

データセット:

COCO データセット。200,000 枚の画像と 250,000 人体のインスタンスが含まれています。

評価戦略:

標準の評価戦略を使用して、OKS 戦略が姿勢推定に使用されます。精度と再現率は、さまざまなしきい値とスケールで評価されました。

訓練:

YOLOv5 [1] と同様の拡張、アンカー選択、損失重み付け戦略を採用します。ランダムなスケール ([0.5, 1.5]) によるデータ拡張、ランダムな変換 [-10, 10]、確率 0.5 によるランダムな反転、確率 1 によるモザイク拡張、およびさまざまな色の拡張を使用します。

テスト:

まず、アスペクト比を維持しながら、入力画像の大きい側を希望のサイズに変更します。正方形の画像を作成するために、画像の下側がパディングされます。これにより、すべての入力画像が確実に同じサイズになります。

結果:

ここに画像の説明を挿入
YOLOpose はトップクラスのパフォーマンスを実現しており、計算量は同時期のトップ DEKR の半分近くです。

要約する

この論文では、YOLOv5 に基づく共同検出と複数人の姿勢推定のためのエンドツーエンドのフレームワークを提案します。YOLOPose は、複雑さが大幅に軽減され、既存のボトムアップ手法よりも優れたパフォーマンスを発揮することが示されています。この研究は、物体検出と人間の姿勢推定の分野を統合するための第一歩です。これまでの姿勢推定の進歩のほとんどは、別個の問題として独立して発生しました。私たちは、この SOTA の結果により、研究コミュニティがこれら 2 つの課題を共同で解決する可能性を探求することがさらに促進されると考えています。物体検出の分野では急速な進歩が見られるため、この研究の主な動機は、物体検出のすべての利点を人間の姿勢推定に応用することです。私たちは、YOLOX オブジェクト検出フレームワーク向けにこのアプローチを拡張する予備実験を実行し、有望な結果が得られました。著者らは、このアイデアを他の物体検出フレームワークにも拡張し、効果的な人間の姿勢推定の限界をさらに押し上げる予定です。

おすすめ

転載: blog.csdn.net/wqthaha/article/details/125249721