Pythonの深層学習ターゲット検出評価指標:mAP、Precision、Recall、AP、IOUなど。

ターゲット検出評価指標:

精度、混同行列、精度、リコール、AP、平均平均精度(mAP)、IoU、ROC + AUC、非最大抑制(NMS)。

元のサンプルに次の2つのカテゴリがあるとします 
  。1:カテゴリ1が肯定的な例であると仮定すると、カテゴリ1のサンプルが合計P個あります。 
  2:カテゴリ0が否定的な例であると仮定すると、カテゴリ0のサンプルは合計N個あります。 
分類後: 
  3:カテゴリ1のTPサンプルはシステムによってカテゴリ1として正しく判断され、カテゴリ1のFNサンプルはシステムによってカテゴリ0として誤って判断されました。明らかにP = TP + FN;
  4:FPサンプルがあります。 カテゴリ0のサンプルは、システムによってカテゴリ1と誤って判断され、カテゴリ0のTNサンプルは、システムによってカテゴリ0として正しく判断されました。明らかに、N = FP + TN; 

                                                                  GroundTruthの予測結果

TP(真陽性):真陽性サンプル= [陽性サンプルは陽性サンプルとして正しく分類されます]

TN(True Negatives):真のネガティブサンプル= [ネガティブサンプルはネガティブサンプルとして正しく分類されます]

FP(偽陽性):偽陽性サンプル= [陰性サンプルは誤って陽性サンプルとして分類されます]

FN(False Negatives):False Negatives = [陽性サンプルは誤って陰性サンプルとして分類されます]

画像

 

1.精度

  A =(TP + TN)/(P + N)=(TP + TN)/(TP + FN + FP + TN);これ
  は、サンプル全体を判断する分類器の能力を反映しています-ポジティブをポジティブと判断できます、否定的な判断は否定的です。

2.精度

        P = TP /(TP + FP);

       サンプルのペアの数をすべてのサンプルの数で割ったもの、つまり、精度(分類)率=正しく予測された正と負のケースの数/総数。

  精度は通常、モデルのグローバルな精度を評価するために使用され、モデルのパフォーマンスを完全に評価するために多くの情報を含めることはできません。

       分類子によって判断された陽性例のうち、実際の陽性サンプルの割合を反映します。

3.リコール率(リコール)

        R = TP /(TP + FN)= 1-FN / T;
  正のケースの総数に対する、正しく決定された正のケースの割合を反映します。

4.F1値 

       F1 = 2 *リコール率*正解率/(リコール率+正解率);

       これは伝統的にF1メジャーと呼ばれています。

5.ミッシングアラーム(ミッシングアラーム)

       MA = FN /(TP + FN)= 1–TP / T = 1-R;これ
       は見逃された陽性症例の数を反映しています。

6.誤警報

       FA = FP /(TP + FP)= 1–P;これ
       は、誤って判断された否定的なケースの数を反映しています。

7.混乱マトリックス

  混同行列の横軸はモデルによって予測されたカテゴリの数であり、縦軸はデータ内の真のラベルの数です。

  対角線は、一貫性のあるモデル予測とデータラベルの数を表すため、対角線の合計をテストセットの総数で割ったものが正解率です。対角線上の数字が大きいほど、視覚化結果の色が良くなり、暗くなります。これは、このカテゴリでモデルの予測精度が高いことを示しています。行でそれを見ると、対角線上にない各行は、誤って予測されたカテゴリです。一般に、対角線が高いほど良く、非対角線が低いほど良いことを願っています。

8.精度と想起

  

画像

  いくつかの関連する定義。そのようなテストセットがあるとします。テストセットの写真は、野生のガチョウと飛行機の2枚の写真だけで構成されています。分類システムの最終的な目標は、野生のガチョウの写真ではなく、テストセット内のすべての飛行機の写真を撮ることであるとします。

  • 真陽性:陽性サンプルは陽性サンプルとして正しく識別され、飛行機の写真は飛行機として正しく識別されます。 

  • 真のネガティブ:ネガティブサンプルはネガティブサンプルとして正しく識別され、野生のガチョウの写真は認識されず、システムはそれらを野生のガチョウと正しく見なします。 

  • 誤検知:誤検知サンプル、つまり、マイナスサンプルは誤ってポジティブサンプルとして識別され、野生のガチョウの写真は誤って飛行機として識別されます。 

  • 偽陰性:偽陰性サンプル、つまり、陽性サンプルは誤って陰性サンプルとして識別され、飛行機の写真は認識されず、システムはそれらが野生のガチョウであると誤って認識します。

  精度は、実際には、識別された画像の真陽性の比率です。つまり、この仮説では、認識されているすべての航空機に占める実際の航空機の割合です。分類子によって判断された陽性例のうち、実際の陽性サンプルの割合を反映します。

  リコールは、テストセット内のすべての陽性サンプルのうち、陽性サンプルとして正しく識別されたものの割合です。つまり、この仮説では、テストセット内のすべての実際の航空機の数に対する正しく識別された航空機の数の比率です。

画像

  精度-リコール曲線:システムが最初のK枚の画像を順番に認識できるように、認識しきい値を変更します。しきい値を変更すると、精度とリコールの値も変更され、曲線が取得されます。

  分類子のパフォーマンスが優れている場合は、次のパフォーマンスが必要です。リコール値が増加している間、精度値は高レベルのままです。パフォーマンスの低い分類子は、リコール値の増加と引き換えに多くの精度値を失う可能性があります。通常の状況では、Precision-recall曲線は、Precisionと分類子のRecallの間のトレードオフを示すために記事で使用されます。

9.平均精度(平均精度、AP)および平均平均精度(mAP)

  APは、精度-想起曲線の下の領域です。一般的に、分類子が優れているほど、AP値は高くなります。

  mAPは、複数のカテゴリのAPの平均値です。この平均の意味は、各クラスのAPを平均することであり、mAPの値が取得されます。mAPのサイズは[0,1]の範囲内である必要があり、大きいほど良いです。このインジケーターは、ターゲット検出アルゴリズムで最も重要なインジケーターです。

  陽性サンプルが非常に少ない場合、PRパフォーマンスの効果はより良くなります。

  画像

10、IoU

  IoUの値は、システムによって予測されたフレームと元の画像でマークされたフレームとの間のオーバーラップの程度として理解できます。計算方法は、検出結果とグラウンドトゥルースの交点をそれらの和集合と比較することです。これは検出の精度です。

       IoU値が0.5を超えると、主観的な効果はすでにかなり良好になっていることに注意してください。

  IOUは、このバウンディングボックスとグラウンドトゥルースの違いを表すインジケーターです。

画像

11. ROC(受信機の動作特性)曲線とAUC(曲線下の領域)

     

画像

  ROC曲線:

  • 横軸:誤検出率(FPR)、FPR = FP / [FP + TN]は、すべての負のサンプルが誤って正のサンプルとして予測される確率、および誤警報率を表します。

  • 縦座標:真陽性率(TPR)、TPR = TP / [TP + FN]は、すべての陽性サンプルにおける正しい予測の確率とヒット率を表します。

  対角線はランダム推測モデルに対応し、(0,1)はすべての反例の前にソートされたすべての理想的なモデルに対応します。曲線が左上隅に近いほど、分類器のパフォーマンスが向上します。

  ROC曲線には優れた特性があります。テストセット内の正と負のサンプルの分布が変化しても、ROC曲線は変更されないままになります。実際のデータセットでは、クラスの不均衡が頻繁に発生します。つまり、正のサンプルよりも多くの負のサンプルがあり(またはその逆)、テストデータ内の正と負のサンプルの分布も時間の経過とともに変化する可能性があります。

  ROC曲線の描画:

  (1)陽性サンプルに属する各試験サンプルの確率値に従って、大きいものから小さいものへとソートします。

  (2)高いものから低いものへと、「スコア」値がしきい値しきい値として使用されます。テストサンプルが陽性サンプルである確率がこのしきい値以上の場合は陽性サンプルと見なされ、それ以外の場合は陰性サンプルと見なされます。

  (3)異なるしきい値を選択するたびに、FPRとTPRのセット、つまりROC曲線上のポイントを取得できます。 

   しきい値を1と0に設定すると、ROC曲線上にそれぞれ2つのポイント(0,0)と(1,1)を取得できます。これら(FPR、TPR)のペアを接続して、ROC曲線を取得します。しきい値が大きいほど、ROC曲線は滑らかになります。

   AUC(Area Under Curve)は、ROC曲線の下の領域です。AUCが1に近いほど、分類器のパフォーマンスが向上します。

   物理的意味:まず、AUC値は確率値です。正のサンプルと負のサンプルをランダムに選択すると、現在の分類アルゴリズムは、計算されたスコア値に従って、負のサンプルよりも正のサンプルをランク付けします。確率はAUC値です。もちろん、AUC値が大きいほど、現在の分類アルゴリズムが負のサンプルの前に正のサンプルをランク付けする可能性が高くなります。つまり、分類が向上します。

  計算式:曲線の下の長方形の面積を見つけます。

 12.PR曲線とROC曲線の比較

  ROC曲線の特性:

  (1)利点:テストセット内の正と負のサンプルの分布が変化しても、ROC曲線は変更されないままになります。TPRはポジティブケースに焦点を合わせているため、FPRはネガティブケースに焦点を合わせており、よりバランスの取れた評価方法になっています。

      実際のデータセットでは、クラスの不均衡が頻繁に発生します。つまり、正のサンプルよりも多くの負のサンプルがあり(またはその逆)、テストデータ内の正と負のサンプルの分布も時間の経過とともに変化する可能性があります。

  (2)デメリット:上記のROCカーブのメリットは、カテゴリー分布の変化に伴って変化しないことですが、これもある程度のデメリットです。負のケースNは大幅に増加しましたが、曲線は変化していないため、これは大量のFPに相当します。たとえば、情報検索の主な関心事が肯定的な例の予測の正確さである場合、これは受け入れられません。不均衡なカテゴリーのコンテキストでは、ネガティブなケースが多数あるため、FPRの増加は重要ではなく、ROC曲線の効果の過度に楽観的な見積もりにつながります。ROC曲線の横軸はFPRを使用しています。FPRによると、負のケースの数Nが正のケースの数Pをはるかに超える場合、FPの大幅な増加はFPRのわずかな変化とのみ交換できます。その結果、多くのネガティブなケースがポジティブなケースとして誤って判断されても、ROC曲線上で直感的に見ることはできません。(もちろん、ROC曲線の左側の小さなセクションのみを分析することも可能です)

  PR曲線:

  (1)PR曲線はPrecisionを使用しているため、PR曲線の両方の指標は肯定的な例に焦点を合わせています。カテゴリの不均衡の問題では、PR曲線は、主に肯定的な例に関係しているため、この場合のROC曲線よりも優れていると広く考えられています。

  使用するシーン:

  1. ROC曲線は正と負の両方の例を考慮しているため、分類器の全体的なパフォーマンスを評価するのに適しています。対照的に、PR曲線は完全に正の例に焦点を合わせています。

  2. たとえば、複数のデータがあり、カテゴリの分布が異なる場合、クレジットカード詐欺問題のポジティブケースとネガティブケースの比率は毎月異なる可能性があります。現時点では、単に分類子のパフォーマンスを比較して、カテゴリ分布の変化を排除したい場合カテゴリ分布の変化によりPR曲線が良好から不良に変化する可能性があるため、ROC曲線の方が適しています。これは、モデルの比較が困難です。逆に、分類器のパフォーマンスに対するさまざまなカテゴリ分布の影響をテストする場合は、PR曲線の方が適しています。

  3. 同じカテゴリー分布の下で陽性症例の予測を評価したい場合は、PR曲線を選択する必要があります。

  4. カテゴリの不均衡の問題では、ROC曲線は通常、効果の楽観的な推定値を提供するため、ほとんどの場合、PR曲線の方が優れています。

  5. 最後に、特定のアプリケーションに応じて曲線上の最適なポイントを見つけ、対応する精度、リコール、f1スコアおよびその他の指標を取得し、モデルのしきい値を調整して、特定のアプリケーションに適合するモデルを取得できます。

 13.非最大抑制(NMS)

   Non-Maximum Suppressionは、スコアマトリックスと領域の座標情報に基づいて、信頼性の高い境界ボックスを見つけることです。重複する予測ボックスについては、スコアが最も高いもののみが保持されます。

  (1)NMSは、各バウンディングボックスの面積を計算し、スコアに従って並べ替え、スコアが最大のバウンディングボックスを、キューで比較される最初のオブジェクトとして取得します。

  (2)残りのバウンディングボックスと現在の最大スコアおよびボックスのIoUを計算し、IoUが設定されたしきい値よりも大きいバウンディングボックスを削除し、予測ボックスを小さいIoUのままにします。

  (3)次に、候補の境界ボックスが空になるまで、上記のプロセスを繰り返します。

  最後に、バウンディングボックスを検出するプロセスには2つのしきい値があります。1つはIoUで、もう1つはプロセス後です。スコアがしきい値未満のバウンディングボックスは、候補のバウンディングボックスから削除されます。注:非最大抑制は、一度に1つのカテゴリを処理します。N個のカテゴリがある場合、非最大抑制はN回実行する必要があります。

おすすめ

転載: blog.csdn.net/qingfengxd1/article/details/111530789