本記事は、当社オウンドメディア「Doors」に移転しました。
約5秒後に自動的にリダイレクトします。
3次元データを活用した異常検知モデルであるBTFについて検証を進める連載記事です。本連載のメインテーマであるBTFモデルの検証結果については、次のリンクで紹介しています。【3D異常検知・本編】3次元データを活用した異常検知方法の検証 - Platinum Data Blog by BrainPad
本稿では、BTFモデルの精度検証のために利用されたMVTec 3D-ADデータセットを紹介します。
こんにちは。アナリティクスサービス部の尾村です。
本稿では、3次元データを使った教師なし異常検知を目的として、MVTec Software GmbH社により作成されたMVTec 3D-ADデータセットについて、紹介します。
近年では3Dセンサーの精度と可用性の向上により3次元データを取得しやすくなっており、様々な分野で3次元データによる位置合わせや物体検出、セマンティックセグメンテーションの手法が提案されています[MVTec 3D-AD]。
しかし、異常検知に関しては2次元画像を用いた手法が主に研究され、3次元データによる異常検知の手法はあまり提案されていませんでした。
その理由として、3次元データによる異常検知に適したデータセットが存在しなかったことが一つの原因と考えられますが、MVTec 3D-ADデータセットが公開されたことで、3次元データを用いた異常検知手法の研究が進むことが期待されています。
本稿では、MVTec 3D-ADデータセットに含まれるデータ種類や形式、さらには異常検知性能を評価するためにMVTec 3D-ADデータセットで推奨されている評価指標について紹介します。
MVTec 3D-ADデータセット
MVTec Software GmbH社が公開している教師なし異常検知を目的に作成された3Dデータセットです[MVTec 3D-AD]。
産業用の3Dセンサー*1により取得された、10種類のカテゴリーについて、良品データと不良品データが用意されています。
さらに、不良個所のセグメンテーションも用意されており、画像内の不良個所の位置を特定するタスクに取り組む場合にも役立つように、不良品検出の性能検証のために作成されたデータセットです。
データセットの構成
データセットは大きく分けて3種類あり、訓練用(training)、検証用(validation)、テスト用(test)です。
このうち、訓練用と検証用のデータセットには、教師なし異常検知を目的にしているため、良品データのみが含まれています。
次のようにカテゴリーは10種類あります。
データセット内での表記 |
意味 |
||
bagle |
ベーグル |
||
cable_gland |
ケーブルグランド |
||
carrot |
人参 |
||
cookie |
クッキー |
||
dowel |
ダボ |
||
foam |
ウレタンフォーム |
||
peach |
桃 |
||
potato |
じゃがいも |
||
rope |
ロープ |
||
tire |
タイヤ |
物体の種類と性質から次のように3分類に分けることもできます。
- 食料(形に多様性がある)
ベーグル、人参、クッキー、桃、じゃがいも - 形が容易に変形するもの
ウレタンフォーム、ロープ、タイヤ - 形が変形しづらいもの
ケーブルグランド、ダボ
名前だけだとイメージしづらいモノもあると思いますので、MVTec 3D-ADデータセットに含まれる良品と不良品の例を全カテゴリについて、次の図に示しています。
不良品ラベルは細分化されており、正常を含む異常タイプは次の表に示すように、10種類あります。
データセット内での表記 |
意味 |
||
good |
正常 |
||
bent |
折れ曲がった |
||
color |
変色 |
||
contamination |
外的要因による変形等 |
||
crack |
砕けている |
||
cut |
切断されている |
||
hole |
穴が開いている |
||
open |
ほどけている |
||
thread |
ねじ山の潰れ |
||
combined |
複数の異常タイプが複合している |
各カテゴリに含まれる3Dスキャンデータ数や不良品数は、論文中で説明されている次の表を参考にしてください。
データの形式
MVTec 3D-ADデータセットに含まれるデータは全て3次元データですが、3次元点群の保存形式のうち、Organized Point Cloudと呼ばれる形式で保存されています。
点群データの保存形式は、Unorganized Point Cloud、Organized Point Cloudの2種類に分類できます。
Unorganized Point Cloudは2次元画像やボクセルと異なり、各点が空間上にまばらに秩序なく配置されています。言い換えると、点間の隣接関係を保持していません。
一方、Organized Point Cloudは、この隣接関係を保持したデータ構造となります*2。
このデータセットに含まれるOrganized Point Cloudは、3次元座標(X, Y, Z)と色(R, G, B)で構成された2種類の画像と、異常部分をセグメンテーションした画像で構成されており、それぞれをXYZ画像、RGB画像、GT画像と呼ぶことにします。
なお、GT画像*3は、異常が含まれているテスト用データセットにのみ存在します。
XYZ画像、RGB画像、GT画像の画像サイズは同じであり、各画像のピクセル位置が対応しているため、対応する3次元座標点に色を付けたり異常部分であるかどうかのラベル付与ができます。
例として、次の図にMVTec 3D-ADに含まれるベーグルのOrganized Point Cloudデータを示しています。
3次元データが取得できないピクセルが発生する理由として、カメラの死角や照明等による反射、センサーの誤検出などがあると説明されています。
Organized Point Cloudの形式で保存する利点としては、3次元の点群データを2次元画像として扱うことができるため、3次元データであっても、画像を入力とするResNetのような深層学習モデルを使うことができます。
異常検知における評価指標
MVTec 3D-AD論文では、このデータセットにおけるモデル性能評価のために評価指標が提案されています。
ここでは、2つの評価指標であるAU ROCとAU PROについて説明します。
AU ROC
AU ROCは、次の図のようにROC曲線(Receiver Operating Characteristic curve)と偽陽性率を表すX軸で囲まれる面積として定義されます。
なお、ROC曲線は、画像ピクセル毎に予測された異常度について、異常であるかどうかを判定するための閾値を変更することで、変化する真陽性率と偽陽性率の関係を可視化したものです。
AU ROCの計算方法は、粒度の違いにより、ピクセルレベルと画像レベルの2種類に分けられます。
ピクセルレベルは、全画像に対するピクセル毎の異常度から、画像を区別せずに、AU ROCを計算します。
画像レベルは、各画像についてピクセル毎の異常度を集約した1つの代表値から、AU ROCを計算します。
異常度の集約方法について、最もナイーブな方法としては異常度の最大値を取る方法がありますが、ノイズの影響を受けやすいため、どのような方法を採用するのかは注意が必要です。
AU PRO
ピクセルレベルのAU ROCには、高いほどモデル性能が高いとは言い難い、構造上の問題があります。
例えば、画像中に写る物体が占める割合が少ない場合、異常が存在しない背景部分の評価が支配的になり、見かけ上AU ROCは高くなります。
これは、AU ROCが高いからといって、正しく物体上の異常を判別できているとは言えない可能性を示しています。
AU PROは、この問題に関してロバストな指標であり、AU PROが高いと物体上の異常を判別できていると解釈できます。
AU PROは、PRO曲線(Per-Region Overlap curve)と偽陽性率で囲まれる面積として定義されます。
なお、PRO曲線は、画像ピクセル毎に予測された異常度に関する閾値を変更することで、変化するPROと偽陽性率の関係を可視化したものです。
PROは、以下の式で定義されます[MVTec AD]。
\begin{equation}
\mathrm{PRO} = \frac{1}{K} \sum_{k=1}^{K} \frac{|P \cap C_k|}{|C_k|}
\end{equation}
は、真値の異常部分について、k番目の連続的に繋がったピクセルの集合を表します。
は、異常であると予測したピクセルの集合を表します。
は、真値の連続的に繋がった異常部分の個数を表します。
真陽性率と同様に、真値ではないところを誤って異常であると予測したときにPROは変化しません。
AU PROは、次の図のようにPRO曲線と偽陽性率を表すX軸で囲まれる面積として定義されますが、偽陽性率が0.3以下の領域で積分することが推奨されています。
これは、次の理由に起因していると考えられます:
PROの計算方法は、偽陽性率の大きさが値に影響しないため、異常部分を大きく予測すると良い評価値を示してしまう特徴があります。
しかし、MVTec 3D-ADデータセットでは、異常部分が全体の画像面積に対して少ないため、偽陽性率が十分に大きくなると予測が意味をなさなくなり、予測の信頼性が低下します。
まとめ
この記事では、3次元データによる異常検知を目的として作成されたMVTec 3D-ADデータセットについて紹介しました。
このデータセットに含まれるカテゴリ種類やデータ形式について説明し、異常検知性能を適切に評価できるように考案されたAU PRO指標についても解説しました。
本稿で説明したMVTec 3D-ADデータセットを実際に使い検証した、3次元データを扱う異常検知モデルは、以下のリンクで解説しています。
なお、本稿で紹介するMVTec 3D-ADデータセット以前にMVTec Software GmbH社から公開されていた2次元画像であるMVTec ADデータセットは、プラチナブログですでに公開済みなので興味があれば参考にしてください。
<連載記事>
-
3D異常検知モデルの検証結果: 【3D異常検知・本編】3次元データを活用した異常検知方法の検証 - Platinum Data Blog by BrainPad
-
3D異常検知用データセットの紹介:【3D異常検知】3Dデータによる異常検知用データセットMVTec 3D-ADの紹介
-
2D+3D特徴量作成方法:【3D異常検知・補足編】2次元画像と3次元データのための特徴量生成方法 - Platinum Data Blog by BrainPad
参考文献
-
[MVTec 3D-AD] [2112.09045] The MVTec 3D-AD Dataset for Unsupervised 3D Anomaly Detection and Localization
*1:Medium Zivid One Plus 3D camera
*2:What are Organized and Unorganized Point Clouds? - MATLAB & Simulink
*3:GTは、Ground Truthの略称で、正解データを意味します。