1. NPdev

    No comment

    NPdev
Changes in body
Source | HTML | Preview
@@ -1,58 +1,50 @@
# 概要
ニューラルポケットは、**正常品と異常品を高精度で判別する画像分析アルゴリズム**を開発し、国際学会ACPRにて発表しました。複数のオープンデータセットによる評価で、世界最高の異常画像検出精度を達成しています。
正常品と異常品を画像から識別するアルゴリズムは、工場や農業、インフラ管理などの幅広い領域において活用が進められており、属人的な作業を機械化することによる、見逃し率の低減や作業の効率化などに、大きな期待が寄せられています。
この領域においては、従来、正常品とのパターンマッチングを中心としたアプローチが主流でしたが、近年、深層学習を用いたアプローチが広まり、正常品の中でも形状変化が大きい、食品や柔らかい素材の部品など含め、幅広く活用することが出来るようになってきました。
本手法は、その発展として開発されたものであり、以下のような特徴を持ちます:
- **従来の手法では大量に必要となっていた異常画像を大きく減らし、数枚とごく少量あっても学習モデルの構築が可能**
- 特に検出したい異常モードについては、数枚の異常画像を登録することで、感度を上げることが可能。その他、**実際の利用に応じたカスタマイズも容易**
ニューラルポケットでは、本手法の活用を進め、工場や農業、インフラ管理など、これまで困難だった分野のスマート化を進めて参ります。
以下、論文の概略の紹介になります。技術的な内容に興味のある方はぜひご覧ください。
# 技術紹介
## 画像異常検知における課題
-異常検知を「」を例に考えてみます。例えばの検知を代表的な異常として取り上げます。
-この時、以下のような問題が発生します
-1. パターンマッチできない
-2. 異常データがほとんど入手不能(数枚は可能)
-3. 何をもって「異常」と見なすのかが様々
-
-1に関しては,特に少量多品種の生産過程で特に顕著です.
-評価データの中に必ずしも正常データにぴったり対応するものがあるわけでは無いので,「この傷のつき方なら異常」というような決定則を用いることはできないのです.
-また2に関しては,そもそも正常なものから少なからず逸脱したデータを「異常」と皆しているわけですから,数が限られてしまうのは当然です.しかし一般的に多くのデータを必要とする深層学習の観点からは,これは最も深刻な問題の一つです.
+例えば、ケーブル被覆のキズの検知を異常の例として取り上げます。
+この時、画像による異常検知を行おうとすると、以下のような問題が発生します
+
+1. 正常品の形状が大きく変化するため、パターンマッチによる判定を行うことが困難
+2. キズなのか、印刷された文字・パターンなのかの判別が困難
+3. 近年の製造技術の向上により、異常品のデータがそもそも取得しづらい (正常品の数は多い)
+
+同様の問題は、形状が変化するパーツを製造するときには一般的に発生します。また、農業など生産品の形状をコントロールできないような産業でも起こるため、異常検知の自動化の文脈においては、かねてより大きな課題となっていました。
## 解決のアプローチ
上記の問題を解決するために、我々はGAN(Generative Adversarial Network; 敵対的生成ネットワーク)を異常検知に応用しました。
GANとは、大量のデータの学習から、そのデータ全体の特徴を捉えた新しい画像を生成することができるフレームワークです。
![model1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540567/95dccfc4-aab3-9bf3-b14d-d045197328b5.png)
GAN* 敵対的生成ネットワークの台頭【前編】 | AI専門ニュースメディア ainow.ai › 2019/07/17
https://ainow.ai/2019/07/17/173382/
まずGANに正常データを学習させます。これによりニューラルネットは「正常データの画像」を一般的に生成する能力を獲得します。
今、異常画像を入力したときに、このGANを用いて、「異常画像にできるだけ類似した正常画像」を生成させます。ところが、このGANは、正常画像しか生成できないので、異常画像の中に含まれる「キズ」や「欠け」などの箇所は再現できません。つまり、入力された異常画像と、この生成画像を比較することで、「キズ」や「欠け」を逆に浮き立たせることが可能です。
この手法で提案している新規性の一つとして、GANが持つ豊かな表現能力の中に、異常画像に似たものが含まれないよう明示的に制約をかけている点があります。少数の異常画像を登録しておくと、それに近い画像をGANが生成した場合に罰則を受けるような構造としており、異常検知性能の向上に貢献しています。
-入力された異常画像と生成画像の比較を行うアルゴリズムにも
-
-今,我々は新たな入力画像と,これをGANに真似させて再構成した「一般的な正常データ」に近い画像を持っています.
-我々は入力画像とこの再構成された画像を比較するようなNNを構築しました.
-これにより,少ない異常データを有効活用することで2を解決するとともに,3の「何をもって異常と見なすのか」をニューラルネットが自動で学習させることができるようになりました.
-
-以下に結果の一例を示します.
-ここではデータの〜〜という観点から,オープンデータセットでの出力例を示します.
-以下は,手書き数字データセットMNISTにおいて,「3」を正常,「4」を異常とした際の,テストデータに対する我々のモデルの出力結果です.
-「正常」クラスと「異常」クラスがしっかり分離できていることがわかります.
-![graph1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540567/408675c1-2d00-e63a-4c02-3804d57dbdf3.png)
-
-また以下に,CIFAR-10での分類の結果を示します.
-いずれのクラスにおいても,既存のモデルを超える精度を達成することができました.
-![table1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540567/0810f301-8fd7-8b97-702b-c86675b77ed5.png)
+入力された異常画像と生成画像の比較を行うアルゴリズムにも工夫があります。
+異常画像と生成画像を比較する際、これまでの手法では単純なピクセル輝度差を用いていることが多かったのですが、これは画面全体の輝度差やノイズなどの違いによって大きく影響を受け、異常画像の検知性能の低下を招いていました。
+本手法では、異常画像と生成画像を見比べ、画面全体の輝度差やノイズなどとは異なる顕著な差を明示的にパターン認識させるようなモデルを導入しています。これにより、異常画像と正常画像を精度良く分離することが可能になっています。
+
+論文の中では検証可能なように、オープンデータセットを用いた評価を行っています。
+手書き文字のデータセットを用いた場合の、異常・正常識別結果が以下になります。
+上側はベンチマークとした類似手法、上側は本手法によるもので、正常・異常クラスが作る分布の重なり部分が小さくなり、分類精度が向上していることが分かります。
+<img width="375" alt="figure5-new.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540567/ec269257-ff74-b017-65c5-8525f34dc108.png">