AI画像検査に取り組み始めたあなたへ。その検査「ちゃんと」出来ていますか?

前回の記事で、AIによる画像検査について、簡単な手順を示しました。

ところで、検査自体はちゃんと出来ているのか、どうやって判断すれば良いでしょうか?

この記事では、AI画像検査の評価と改善方法を解説しつつ、AI画像検査の現実についてお話します。


ちゃんと検査できてる?

前回PaDiMで検査したネジですが、良品がNG判定したり、不良品がOK判定だったりします。下記のような感じです。

良品がNG判定
不良品がOK判定

良品なのにNG判定した場合は「過検出」と呼んだりします。不良品なのにOK判定した場合は「検出漏れ」と呼んだりします。

今回作ったモデルで良品画像23枚、不良品画像23枚でテストしました。結果は次のような表になります。青が過検出、オレンジが検出漏れとなります。

PaDiMによる検査結果

画像の約4割が過検出か検査漏れとなっている状況です。これでは、ちょっと…となりますね。


モデルをいじったり変えたりで改善できる?

モデルをいじったり、変えたりすることで、どれくらい改善するでしょうか?

まずは、モデル作成時のシード値を色々変えて、改善するシード値を探して、ちょっとだけ改善しました。ただ、シード値はガチャ要素が強いので大変です。

シード値を変更

次に、モデルをPaDiMから、より新しいモデルであるPatchCoreに変えてみます。

PatchCoreに変更

過検出がなくなりましたが、検査漏れは少し残っています。PaDiMに比べれば、まだ良いかなと言う感じです。

ただし、私の貧弱なノートPCでは、良品320枚の学習にPaDiMが1分に対して、2時間半かかり、推論も23枚の画像推論でPaDiMが7秒に対して、44秒と遅いです。


画像処理で改善できる?

今回使用したデータセットの欠点は、向きがバラバラ、照明の当たる方向がバラバラで影が出る、背景のゴミに反応してしまうといった点です。

そこで、ちょちょいっと画像処理をかけて、これらを無理やり修正してみます。具体的には、下記です。

  • ヒストグラム平坦化でコントラスト強調

  • バイラテラルフィルタでエッジを残してノイズ除去

  • ソーベルフィルタでエッジ抽出

  • 出来たエッジ画像から2値化とブロブ処理でネジ領域を切り出し

  • 包絡楕円の長軸角度から回転補正

  • 画像上下の面積差から上下判定し再度回転補正

  • 位置補正して単色背景画像の中央にコピー

  • 背景色にノイズ付与

はぁ?と思った方、上の内容は完全に無視してください。

これらは、いにしえの魔術「ルールベース検査」でよく使う画像処理のテクニックなので、AI画像検査がちゃんと動けば、そもそも要らないはずなのです。

不良品の検査結果
良品の検査結果
前処理+PaDiMの検査結果

前処理+PaDiMで、それなりに改善はしましたが、前処理なし+PatchCoreほどではない感じです。


大事なのは画像処理「以前」にある

なんだ、難しい画像処理やっても、そんなに改善しないのかよ!と思いましたか?いえいえ、そもそも画像処理で頑張る以前に、出来ることはたくさんあります。

  • 対象の向きを揃える機構を用意する

  • 背景を黒にして影をなくす

  • 照明を拡散光に変えて反射光を抑える

画像処理する前に、カメラで対象をきれいに撮影できるよう、環境を整えるのが大事です。


いや、環境整えるのも難しいじゃん!

と思ったそこのあなた!選択肢は2つあります。

現代の最高峰人工知能「PartNoObachan」を採用するか、魔法のアイテム「Okane」で、専門家を召喚してください。

どちらも、ある程度は良い感じにやってくれると思います。

「PartNoObachan」は、学習時間によっては驚異的な判定能力を獲得する場合もある一方、何時間かに一回はお茶休憩が必要ですし、その再現性も得られるとは限りません。

「Okane」を使った場合も、検査対象の状態や周辺環境、専門家の勘などにより、検査はできません、となる場合もあります。

万事解決とは、限らないのです。


AIに絶望したあなたへ

こうして、AIで簡単に検査できますなどと謳ったシステムに手を出したものの、やはり過検出が多くて、生産ラインから外され、工場の片隅に放置されることが、ちょくちょくあります。

そして、AI使えない!絶望した!となるのですが、それでもまた、色々と試して欲しいのです。

AIとは、技術の名称ではありません。どんなアルゴリズムでも、それが人の知能の模倣であれば、それはAI(人工知能)なのです。

その時その時を代表する人工知能な技術をAIと呼んでいるに過ぎません。時代が移ろえば、技術も進化します。

前の記事のタイトルにある「試しませんか?」とは、そういう意図です。AIは使えない!と腐らず、新しい技術をどんどん試して欲しいなぁと、私は願っております。


最後まで読んで頂き、ありがとうございます。

前回、今回とMVTecの公開画像を使いましたが、次回はちゃんとワークの撮像からできればなと思っています。

また、モデルの比較に使用されるAUROCなどの指標についても、解説できればと考えています。Anomalibのモデルを全部比較するのも楽しそうですね。

コメントは、お気軽にどうぞ。フォロー、スキ いただけますと嬉しいです。フォローバックします。



いいなと思ったら応援しよう!

あすくろ もし、記事が気に入っていただけましたら、応援いただけますと幸いです。いただいたチップは、記事作成に絶対必要なおやつ代になったり、部材を買ったりなどに使用させていただきます。