Slide 1

Slide 1 text

外観検査の難しさ 大野 宏 Python機械学習勉強会in新潟 2021/11/14

Slide 2

Slide 2 text

本日の概要 ・外観検査は認識率100%を求められるので難しい ・運用方法で工夫する ・Attention Branch Network (ABN)で認識率の向上 ・良品画像だけの学習で不良品を検査 オートエンコーダ GAN

Slide 3

Slide 3 text

ディープラーニングを使った外観検査 ・良品と不良品の画像を集めてネットワークを学習させる。 ・学習データにないパターンの不良品は検出できないこと がある。 不良パターンを予測しその画像を作り学習データとする。 運用しながら不良品の画像を集めて再学習させる。 → 再学習しても不良と判定するとは限らない ・99%の検査装置はできるが、100%は難しいのでどう 運用するか。

Slide 4

Slide 4 text

混同行列による評価1 予測 良品 不良品 実際 良品 95 0 不良品 0 5 ・混同行列とは、2値分類問題で実際の良・不良と予想し た良・不良を表したもの ・理想的な検査装置は認識率100% ・正確さは、(良品を良品と予測+不良品を不良品と予測) /(全数)=(95+5)/100=100%

Slide 5

Slide 5 text

混同行列による評価2 予測 良品 不良品 実際 良品 92 3 不良品 1 4 ・不良品を良品と予測したものがあると、不良品を出荷し てしまう。 ・偽陽性率は、不良品のうち良品と予測された割合は、 1/(1+4)=25% ・正確さは、(92+4)/100=96%

Slide 6

Slide 6 text

混同行列による評価3 予測 良品 不良品 実際 良品 90 5 不良品 0 5 ・不良品を良品と予測したものがゼロであれば、不良品と 予測した10個を再度目視検査すればよい。 ・目視検査数が100個から10個に減る ・偽陽性率は、0/(0+5)=0% ・正確さは、 (90+5)/100=95%

Slide 7

Slide 7 text

アテンション・ブランチ・ネットワーク1 ・誤認識したサンプルを正しく認識できるようにしたい ・誤認識したサンプルを学習に追加 → 正しく認識できるとは限らない ・ネットワークのパラメータを正しく認識できるように調整 すればいいが、数が膨大なのでどうしたら良いか? ・Attention Branch Network (ABN)を使い手動でパラメー タを調整(中部大の山下研が提案) ・もともと視覚的説明による注視領域の可視化と精度向上 を同時に行うネットワーク、Grad-CAMより高性能

Slide 8

Slide 8 text

アテンション・ブランチ・ネットワーク2 ・Feature Extractor の後ろに Attenstion Branch と Perception Branch をつなぎ、両者の誤差で学習 http://mprg.jp/research/abn_j (中部大のABNの紹介)

Slide 9

Slide 9 text

アテンション・ブランチ・ネットワーク3

Slide 10

Slide 10 text

GitHubにて公開

Slide 11

Slide 11 text

オートエンコーダ ・不良品画像の収集が難しい場合に有効。 ・入力画像と出力画像が同じになるよう学習させる。 ・エンコーダで圧縮してデコーダで復元する。 エンコーダ (圧縮) デコーダ (復元) 入力 出力 圧縮され た特徴 (潜在変数)

Slide 12

Slide 12 text

良品画像だけから不良品を判別1 ・オートエンコーダは真似が得意で、良品画像を入力すると ほぼ同じ画像が出力される。 ・不良品画像では学習していないので、入力と出力の差が 大きくなる ・ラベル付けやアノテーションが不要 オート エンコーダ

Slide 13

Slide 13 text

入力 出力 良品画像だけから不良品を判別2 ・手書き数字で学習したオートエンコーダにひらがなを入力 すると、入出力に差が生じる。差が大きいと不良品と判定。 ・ただし出力画像がぼけてしまう。

Slide 14

Slide 14 text

入力 出力 画像のぼけを防ぐオートエンコーダ ・正常データだけでAEベースのモデル学習を行った後、推 論時に損失関数の勾配を利用し、AEによって得られた正 常データの多様体の最も近い所にマッピングされるように ICLR2020の異常検知論文を実装してみた https://qiita.com/kogepan102/items/122b2862ad5a51180656

Slide 15

Slide 15 text

MVTEC AD ・色々な工業製品の画像データ集 ・MVTECはドイツの画像処理メーカ、HALCONが有名 https://www.mvtec.com/company/research/datasets/mvtec-ad

Slide 16

Slide 16 text

GAN(Generative Adversarial Network) ・生成器と識別器が競い合って画像を生成するGANを 使い、良品画像だけから不良品を判別する。 16

Slide 17

Slide 17 text

AnoGAN ・GANでは画像のもととなる潜在変数を想定しており、こ れから学習に使う正常画像を生成する生成器を学習。 ・zの探索に時間がかかる。これも学習で→EfficientGAN 17 z G(z) x’ D(x’,x) x Generator Discriminator

Slide 18

Slide 18 text

EfficientGAN 18 良品 不良品 出典:GANディープラーニング実装ハンドブック (秀和システム)

Slide 19

Slide 19 text

まとめ ・外観検査では混同行列で評価 ・Attention Branch Network (ABN)で認識率が向上 ・良品画像だけの学習で不良品を検出 オートエンコーダ GAN