異常品が何の異常であるかを分類することは、実はハードルが高い。
こんにちは、チームDACOVAです。
本日も、中の人のつぶやきということで、記事を書かせていただきます。
先日の記事で、AIの「異常検知」について少しだけ触れたのですが、上司と話をする中で「異常検知」について勘違いをしていたことが判明しました。
(記事を更新する前に気づいてよかったです、誤った情報をお伝えしてしまうところでした。。。)
そこで、私が一体何を勘違いしてしまい、実際何が正しいのかというところを備忘録的につづっていきたいと思います。
なお、前回の記事はこちらよりお読みいただけます。
「異常検知」ってどこまでを指す?
結論から申し上げると、勘違いしていた内容は「異常検知」の範囲についてであり、「異常検知」=異常かどうかを検知し、かつ異常の分類までする
と思っていたのですが、これは誤りでした。
正しくは、
異常か正常でないかを検知すること=「異常検知」
異常品が何の異常であるかを検出すること=「物体検出」
となり、「異常検知」だけでは、異常品が何の異常であるかは分類できないということです。
この説明で「異常検知」と「物体検出」の違いを理解するのはなかなか難しい(私もしばらくの間理解できませんでした)ので、「いちご大福」の外観検査を例に書かせていただきたいと思います。
「いちご大福」を例に「異常検知」と「物体検出」を切り分けしてみる。
今回使用する「いちご大福」は餅がピンク色、餡が茶色、赤いいちごが1つ入ったものと仮定し、これを図1とします。昔からなじみのある某製パンメーカーさんのものをイメージしています。なお、以下に記載するものは実際の「いちご大福」の外観検査条件とは異なりますので、ご承知おきください。
図1 いちご大福の模式図
そして、この「いちご大福」を生産するにあたり、出てくるであろう外観における異常を「いちごのはみ出し、餡のはみ出し、餅の割れ、餅の色違い、サイズ規格外」の4つと定めます(図2)。
図2 いちご大福の異常品の模式図
なお、今回は外観における異常のみに焦点を当てるため、図3の様な内部で発生している異常は除外します。
図3 いちご大福内部異常品の断面模式図
では、「いちご大福」を用いて「異常検知」と「物体検出」について分類すると、図4のようになり、
「異常検知」では正常品か異常品かのみでの分類となりますが、
「物体検出」では正常品と異常品をその種別ごとに検出することができます。
図4 いちご大福を用いた「異常検知」と「物体検出」の例
上)異常検知 下)物体検出
AIを使った「異常検知」と「物体検出」のハードルはどの程度?
「物体検出」により、異常品を異常の種別ごとに検出できるようになると、どこで異常が発生したかも判別しやすくなり、異常品流出対策がより容易になるため、実施したいと考える方は多くいらっしゃるのではないかと思います。
では、実際に「異常検知」と「物体検出」を実施するのに必要なデータ数はどのくらいかというと、「異常検知」の場合は正常品のデータ、「物体検出」の場合は正常品と各異常品のデータがどちらも数十~数百点程度必要となります(データ数が多ければ多いほど精度が高くなるので、数百点程度はあるのが理想です)。
ハードルが高すぎやしないか、と思われるかもしれませんが、AIにデータを正しく学習させなければ精度よく検出できるようにならないので、どうしてもデータの必要数が増えてしまいます。
AIを導入して一から「異常検知」と「物体検出」を実施したい、という場合は、まず初めに「異常検知」を導入し、データの蓄積ができるようになってから「物体検出」を評価し導入するといった形になると想定されます。
なお、「異常検知」と「物体検出」は違うAIモデルとなるので、場合によって2つ以上のソフトやサービスを導入する必要があります。
まとめ
「異常検知」と「物体検出」は別物で、それぞれ何を指しているのか、ということがまずは皆様に伝われば幸いです。
「物体検出」はなかなかハードルが高く見えてしまいますが、検査省人化や異常流出率低下等のメリットがあるので、導入の価値はあるのではないかと考えています。
もしも私が大量のいちご大福の外観検査を実施しなければならなくなったならば、、、どうするかはご想像にお任せします。