TUOA06

画像認識で使用する画像は適切か、オートエンコーダーによる評価○ 野村 昌弘、沖田英史、島田 太平、田村 文彦、山本 昌亘（日本原子力研究開発機構 J-PARC）
古澤 将司，杉山 泰之，原 圭吾，長谷川 豪志，大森 千広，吉井 正人（高エネルギー加速器研究機構 J-PARC）

第18回日本加速器学会年会

(1/15)

画像認識技術を使用しているのですが、
J-PARC RCS では、畳み込みニューラルネットワーク(CNN)により、マウンテンプロットの画像から、運動量やタイミングオフセットが求められる様になった。
マウンテンプロット
Slice No.

CNN

運動量オフセット= 0.14 [%]タイミングオフセット = 8 [nsec]
運動量広がり= 0.09 [%]ビーム時間幅 = 83 [nsec]
第17回日本加速器学会年会

Time

予想外の図、学習した画像と全く違う様な図が与えられたらどうなるか？

CNN?

(2/15)

CNNはどんな図であろうと必ず値を返してくる

CNN

運動量オフセット= -0.03 [%]タイミングオフセット = 8 [nsec]
運動量広がり= 0.08 [%]ビーム時間幅 = 44 [nsec]

この画像から得られた値は間違い

一部欠損により、画像からの値は運動量広がり：+0.02 [%]ビーム時間幅：-5 [nsec]

通常

一部欠損だけ変わってしまう。

今後、CNNにより画像から得られた値を、制御や解析に使う場合には、その値が信頼できるかを示す何かの指標が必要と考えられる。

(3/15)

どの様な画像から得られた値が信頼できるか？

信頼できる値が得られる画像 = 値を得る為に学習した学習画像と類似の画像
信頼できる値が得られない画像 = 学習画像とはどこか何かが違った画像
求める指標としては、学習画像との違いを表すものが考えられる。
そもそも、Neural networkにより求めた値である。

Neural networkにより、その指標を求めてみる。

(4/15)

異常診断における Autoencoder
参考：https://techblog.istyle.co.jp/archives/4318

異常診断では、正常データは多くあるが、異常データはほとんど無い、異常データとは、正常データと違った場合と考える。
Autoencoderでは、正常データのみを使って、入力データと出力データが同じになる様に学習をさせる。
入力データ
sin(θ) + 小ノイズ
正常データ

sin(θ) + 大ノイズ
異常データ

正常データ
小ノイズ

異常データ
大ノイズ

出力データ
Autoencoder

正常データ
小ノイズ

大ノイズのデータにはならない

学習後
出力データは入力データとほとんど差は無い。

出力データは再現されず、入力データとは差が生じる。

Autoencoderでは、正常と異常とで、入力と出力データの差に違い(5/15)

ノイズの異常診断例で確認
正常データ：sin(θ) + 小ノイズ(-0.05~+0.05 乱数)
異常データ：sin(θ) + 大ノイズ(-0.08~+0.08 乱数)
正常データのみをAutoencoderに学習させ、学習後、正常と異常データの入力と出力データの差(平均二乗誤差：mse)を求める。
MSE histogram

正常データ

青：正常データ(500個)
赤：異常データ(50個)

異常データ
mse

確かに、正常と異常とでmseに違いが表れ、mseが正常と異常を分ける指標となっている。

(6/15)

今回に当てはめると値を得る為に学習した学習画像
正常データとして、Autoencoderに学習。

信頼できる値を返す画像
学習画像と類似の画像

入力画像

出力画像
学習済み
Autoencoder

入力画像とほとんど差がない画像

入力画像が再現されず、差が生じた画像
信頼できる値を返さない画像
学習画像とは違った画像

入力画像と出力画像の差が指標となるはず(7/15)マウンテンプロットの画像に適用使用した AutoEncoder
入力画像

Autoencoder

出力画像[48000][48000][5000][5000][1000] [1000]
[500]

[400]

[120]

Encod

Decod

[400]

[120]

学習画像：画像から値を得る為に学習した画像(シミュレーションで作成)(学習用9000枚、検証用1000枚)

(8/15)

先ずは学習
入力画像と出力画像の違い(mse)を最小化するように学習。
MSE histogram

0.05

学習画像

MSE

学習画像
検証画像

検証画像

0.005

0.00050246
Epochs810

過学習( Overﬁtting )にはなっていない。

mse
学習により、検証画像が正常画像と判断。

(9/15)

指標を求める画像の準備：学習範囲内外の画像
学習画像の運動量オフセット：­0.3% ~ +0.3% の範囲で乱数により決定。

運動量オフセッ トの値を 0% から 0.1% づつ増やした 8 枚の画像を準備。
学習範囲内

21(0.0%)

学習範囲外(0.1%)

56

画像からCNNにより求めた運動量オフセット値と設定値の差
0.4
0.2

4(0.2%)

7(0.5%)(0.4%)[%]

3(0.3%)

8(0.6%)(0.7%)

1〜4の画像：
信頼できる値が得られる画像

05〜6の画像：
信頼できる値が得られない画像-0.2-0.40246Sample No.

8

設定値

(10/15)

Autoencoderにより mse を計算
拡大図

青色ヒストグラム：検証画像つまり正常画像

MSE histogram

赤色ヒストグラム：指標を求める画像

1324MSE histogram

5678

mse
mse
1から4の画像は、青色ヒストグラム内にあり正常、つまり信頼できる値を返す画像。
5から8の画像は、異常、つまり信頼できる値を返さない画像。

mseが適切な指標となっている。

(11/15)

入力画像と出力画像から見てみる
入力画像
1

出力画像
1

学習範囲内

学習範囲外

4

58

4

58

正常と判断された1と4の出力画像は入力画像がほぼそのまま再現。
異常と判断された5と8の出力画像は入力画像が再現されていない。

学習範囲を外れるに従って、入力画像が再現されなくなり、その結果、mseが大きくなっていることが分かる。

(12/15)

指標を求める画像 (2)信頼できる値が得られる画像：実測したマウンテンプロット画像1234

信頼できる値が得られない画像：
5

ビーム損失を模擬

6画像の一部が欠損

7予想外の画像8

データ取得失敗

(13/15)

Autoencoderにより mse を計算
拡大図
MSE histogram
132青色ヒストグラム：検証画像つまり正常画像
赤色ヒストグラム：指標を求める画像
MSE histogram

45mse

768mse
実測画像は青色のヒストグラム内にあり正常に分類され、それ以外は異常に分類されている。
1から4の画像からは信頼できる値を得られるが、5から8の画像からは得られない。

mseが適切な指標となっている。

(14/15)

入力画像と出力画像を見てみる
入力画像
5678678

出力画像
55と6の画像を見ると、出力画像は、ビーム損失を表した部分や欠損した部分が再現されておらず、入力画像を学習画像で表したらこうなるといった画像となっている。
入力画像と出力画像の違いが、入力画像と学習画像との違いとなって表れている。

入力画像と出力画像の差 mseは予想通りの結果から生まれている。

(15/15)

まとめ：画像認識技術を使用しているのですが、今後、画像認識技術により得られた値を、制御や解析に使う場合には、その値が信頼できるかを示す何かの指標が必要と考えた。
Autoencoderによる異常診断の手法を適用し、画像から得られた値が信頼できるかを示す指標を求めてみた。
入力画像とAutoencoderにより再構築した出力画像との差、mse は学習画像との違いを反映し、指標となりうることが示された。