1.はじめに
行動認識AIとは、カメラ映像等に映る人物の行動を認識するAIです。姿勢推定に基づく一般的な行動認識AIのアルゴリズムフローとしては、まず、カメラ映像に映る人物の姿勢をフレーム単位で推定し、姿勢推定情報を人物単位で追跡することにより、その人物の時系列姿勢推定情報を取得します。得られた時系列姿勢推定情報を解析することにより、その人物の行動の認識を行います。そのため、行動認識AIの精度は、いかに正確な時系列姿勢推定情報を得ることができるかに大きく依存します。
本記事では、フレーム単位での姿勢推定に関する指標を、次回は人物追跡に関する指標についてご紹介いたします。
2.姿勢推定アルゴリズムの評価指標
姿勢推定アルゴリズムは、どれだけ姿勢推定情報が正確であるかを示す”mAP”と、どれだけ効率的に計算を行えているかを示す”FPS”という指標があり、以下にその詳細に関して紹介いたします。
2.1 mAP:姿勢推定アルゴリズムの推定精度に関する指標
mAPは”mean Average Precision”の略であり、どれだけ姿勢推定の精度が高いかを示す指標です。ここでは、姿勢推定の評価に一般的に用いられるOKS(Object Keypoint Similarity)ベースのmAPという指標に関して紹介いたします。
まず、図2に示すように、”人間が正解と認識する関節点の位置”と、”AIが推定する関節点の位置”の距離diがどれだけ近いかを求めていきます。これを、KS(Keypoint Similarity)と呼びます。KSは各関節点における”人間による正解データ”と”AIによる推論結果”の距離ですが、OKSはそれを一人の人物における各関節点での平均をとったものになります。OKSは0から1の値をとることができ、1に近いほどその人物の姿勢推定結果が人間の認識と近く (精度が良いAI)、0に近いほど人間の認識と乖離している(精度が悪いAI)と判断できます。
OKSを用いることで、各人物に対する姿勢推定の精度評価を行うことはできますが、複数人存在する場合等、アルゴリズムの全体評価には適しておりません。そのため、様々な状況下でのOKSの評価を行い、その結果を1つの指標にまとめる必要があります。その、統合的な指標がmAPという指標になります。
図3は、mAPの計算を説明するための簡素化したシチュエーションです。姿勢推定アルゴリズムは、各座標推定情報と、推定の確信度も同時に出力します。この確信度は、どれだけAIが自信をもって推定したかを示す指標で、自信をもってAIが間違えた場合と、自信が無く間違えた場合では、自信をもって間違えた方がより良くない推定結果となります。図3では、3名の人物に対するOKSと確信度の推定結果が記載されています。ここで、OKSがある値以下の場合は、AIが人を人と正しく判断したもの、OKSがある値以下の場合は、AIが正しく人と判断できなかったものとなります。
表1は、OKSが0.5以上の場合正解、0.5未満の場合不正解とした場合の結果を、各人物における推定の確信度が高い順にまとめたものになります。なお、mAPの評価において確信度は、表の順番を決めるためのみに利用します。ここで、累積適合率は”推定結果の中でどれだけ正解があるか(誤検知はどれくらいか)”、累積再現率は”真の人物の数のうちどれだけ推定できたか(見逃しはどれくらいか)”を示す指標となります。
この表をもとに、適合率-再現率をグラフ化したものが、図4の適合率-再現率曲線になり、求めるmAPはこの適合率-再現率曲線で描かれるグラフの面積に該当します。このようにして求めたmAPは、誤検知及び見逃しを両方同時に考慮でき、かつ正解に対する推定の確信度が高いほどmAPは高くなるという性質があるため、姿勢推定の評価に適する指標となります。
なお、今回の例では正解とするOKSは0.5以上、かつ1シーンに3名がいる場合でmAPの解説を行いましたが、実際はOKS=0.5~0.95まで0.05間隔で10回、数万人規模のデータでの評価を行うのが一般的です。(COCO - Common Objects in Context)
2.2 FPS:姿勢推定アルゴリズムの計算効率性に関する指標
FPSは”Frame per Second”の略であり、1秒間にどれだけのフレームを処理できるかを示す指標になります。この値が高いほどアルゴリズムが効率的であり、
①より詳細な時系列データの取得が可能になり、スポーツなどの動きの速い行動も精度良く認識可能となる
②必要な計算資源を削減でき、処理カメラ台数の増加や小型エッジコンピュータでの解析が可能となる
などの利点があります。
なお、FPSの逆数は、1 frameあたりの処理時間となります。
次回、人物追跡に関する指標に続きます。