AUROCは「閾値を決める前の」性能しか表さない

AUROC(ROC曲線下の面積)は、異常度のスコアで良品と不良品をどれだけうまく並べ分けられるかを0〜1で表す指標です。閾値をあらゆる値に動かしたときの性能をまとめた値なので、閾値に依存しません。手法同士を比べるには便利ですが、ラインで使う閾値を1つに決めたときに何個見逃し、何個を過検出するかはわかりません。

具体例があります。代表的な良品学習手法PatchCoreは、公開データセットMVTec ADで画像レベルAUROC 99%台を記録しています。それでも、F1スコアが最大になる閾値で数えると、データセット全体で42件の誤判定(メモリバンク25%の設定)が残りました(Roth et al., CVPR 2022)。AUROCが99%でも、誤判定はゼロにはなりません。

PatchCore 画像AUROC(coreset 25%)
99.1%
Roth et al.(CVPR 2022)、MVTec AD
同条件での誤判定数
42件
同論文。F1最大の閾値で数えた件数
論理異常を含む3データセット平均
91.1
Batzner et al.(EfficientAD論文)、PatchCore

また、データセットが変わると数字は大きく下がります。部品の欠落や配置違いといった論理的な異常を含むMVTec LOCOとVisAを加えた3データセットの平均では、PatchCoreは91.1でした(EfficientAD論文)。自社の製品と欠陥で測り直さない限り、論文の数字は参考値にすぎません。

現場で使う2つの指標:見逃し率と過検出率

運用で見るべきなのは、決めた閾値での次の2つです。

指標定義現場への影響別名
見逃し率不良品のうち良品と判定された割合流出不良・クレーム・リコール偽陰性率、未検出率
過検出率良品のうち不良と判定された割合再検査工数・歩留まりロス偽陽性率、虚報率

2つはトレードオフの関係にあります。閾値を下げて異常を広く拾えば見逃しは減り、過検出は増えます。通常は見逃しをゼロに近づける閾値を選び、増えた過検出を人の再判定で吸収します。

良品と不良品の異常度スコア分布と閾値の位置 異常度スコア 良品 不良品 閾値 過検出(良品が閾値の右) 見逃し(不良が閾値の左)
閾値と2つの指標の関係。良品と不良品のスコア分布が重なる区間で、閾値をどちらに置いても誤判定が出る。

さらに、不良の種類別にも見逃し率を出してください。全体の見逃し率が低くても、重大な欠陥(安全に関わる割れなど)だけ見逃していれば意味がありません。小さな欠陥の見逃しを確認するには、欠陥の領域ごとの検出率を平均するPRO(Per-Region Overlap)という指標も使えます。

評価データの作り方

精度の数字は、評価データの作り方で大きく変わります。次の4点を守ってください。

  1. 学習に使っていない画像で評価する:当たり前ですが、PoCで同じ画像を学習と評価に使っている例は少なくありません
  2. 量産と同じ撮像条件の画像を使う:PoC用に調整した照明で撮った画像では、量産の精度はわかりません
  3. 複数ロット・複数日にまたがる画像を使う:1日分の画像では、材料ロットや時間帯による良品のばらつきが入りません
  4. 不良を種類別に数十枚以上確保する:重大な欠陥ほど数が少ないため、意図的に集める期間を設けます

良品と不良品の比率にも注意が要ります。実際のラインの不良率が0.1%なら、評価データも同じ比率では不良が少なすぎて見逃し率を測れません。評価は不良を多めに含めたデータで行い、ラインでの過検出の件数は、実際の生産数と良品の過検出率から別途計算します。

閾値は「許容見逃し」と「再判定能力」から逆算する

運用閾値の決め方は次の順番です。まず、品質保証部門と合意した許容見逃し率(たとえば重大欠陥はゼロ、軽微な欠陥は一定以下)を満たす閾値の範囲を、評価データで求めます。次に、その範囲の中で、過検出率から1日あたりの再判定個数を計算し、再判定にかけられる人員の能力に収まる閾値を選びます。

両方を満たす閾値がない場合は、AIの手法ではなく撮像系や良品の学習データに問題があると考え、そちらに戻ります。閾値を緩めて見逃しを受け入れるのは、品質保証部門の合意なしにはできない判断です。

本稼働後も同じ指標を測り続ける

本稼働後は、過検出率は人の再判定結果から、見逃し率は後工程の検査や顧客クレームとの突き合わせから測ります。見逃しは発生してから見つかるまでに時間がかかるため、後工程の検査結果や出荷後の不具合をロット・シリアルで判定記録と紐付けておくことが重要です。AIの判定、モデルの版、人の再判定、後工程の結果を同じキーで引ける状態を作れば、精度の劣化を早く検知できます。評価の設計はPoCの段階から外観検査AIのPoC設計とセットで考えてください。

よくある質問

AUROCはまったく見なくてよいですか?

手法やモデルの候補を比べる段階では役に立ちます。AUROCが低い手法は、どの閾値を選んでも良い結果になりません。候補の絞り込みはAUROC、採否の判断は運用閾値での見逃し率と過検出率、と使い分けてください。

見逃し率ゼロは保証できますか?

保証はできません。公開データセットでも誤判定は残ります。見逃しをゼロに近づけるには、閾値を下げて過検出を人で吸収する、後工程に別の検査を置く、重大欠陥だけ別のモデルや計測で二重に見る、といった工程設計で対応します。

ベンダーの提示する精度はどう確認すればよいですか?

自社の画像で、学習に使っていない評価データを用意し、ベンダーに同じデータで見逃し率と過検出率を出してもらってください。評価データは自社で保管し、複数ベンダーを同じ条件で比べると公平です。

この記事に出てくる用語

用語集(日・英・中)をすべて見る

この特集について

外観検査AIの選び方

良品学習か不良学習か、撮像系を誰が持つか。精度の数字だけで選ばないための比較軸 全51本

  1. 外観検査AIとは?2つの学習方式と導入5ステップを製造現場の目線で解説
  2. 製造業のAI活用10領域:外観検査・予知保全から設計・技能伝承まで一覧
  3. 外観検査AI製品の比較軸10項目:学習方式・撮像系の範囲・エッジ対応・再学習の手間
  4. 自動車メーカーのAI活用:溶接・塗装検査から生産計画・フィジカルAIまで10用途
特集の記事をすべて見る →

この記事を書いた人

株式会社サオス

株式会社サオス 製造DX部

DELMIA Apriso を中核とした MES / 製造DX の導入・運用・人材育成と、製造業向けAIの調査・開発・教育を手がけるITコンサルティング企業。ISO 9001:2015 / ISO 27001:2022 認証取得。 日本・中国・米国で製造業のMES・データ基盤・AI導入を手がけた実務者が、欧米・中国の一次情報にあたって書いています。