修 士 論 文
自己想起ニューラルネットを用いた 果実の良否判定に関する研究
平成 26 年度修了
三重大学大学院工学研究科 博士前期課程 情報工学専攻
岡田彩加
i
はじめに
食品の等級による選別作業は食の安全性の確保において重要な工程である.しかし選別 作業は手作業で行われる場合が多く,コスト削減などの目的から自動選別システムの開発 が求められている.本研究では,自己想起ニューラルネット
[1]を用いた果実画像の自動 良否判定システムの開発を目的とする.対象を梅の実とし, 「良」 「不良」の2クラスへ分 類するシステムの構築を目指す.
本研究で提案する手法では,入力に画像中の果実領域の各画素の
La*b*値を与え,自己 想起ニューラルネットを用いて色分布の形成する面を学習させる.学習には複数の「良」
果実画像を学習用データから選択して,それぞれ個別の自己想起ニューラルネットに学習 させる.
学習された自己想起ニューラルネットに,判定する果実画像中の
La*b*値を与え,自己 想起ニューラルネットの入力と出力の2乗距離を求める.2乗距離のヒストグラムから判 定基準値として上位
x%距離を求め,良否を判定する.良否判定手法として最小判定値を 用いた良否判定と階層型の良否判定を提案した.最小判定値を用いた良否判定は複数の学 習済み自己想起ニューラルネットに対して果実の色情報を入力し,得られた判定基準値の 最小値を基準にしきい値処理により良否の判定を行う手法である.また,階層型の良否判 定は,自己想起ニューラルネットに対して未判定の画像の色情報を階層的に入力すること で良否を判定する手法である.
本手法の特徴は以下の通りである.
1.
加工された梅の実を選別対象とする
2.
梅の実の種類や収穫時期により柔軟に対応することができる
3.形状や異常箇所の位置が判定に影響を及ぼさない
本手法の有用性を評価するために, 「良」果実画像
114枚, 「不良」果実画像
234枚を用
いて認識実験を行なった. 「良」 「不良」の2クラス分類による良否判定実験と, 「良」 「不
良」 「未判定」の3クラス分類による良否判定実験を行なった.2クラス分類による実験
では, 「不良」から「良」への許容誤判定率を
11%, 「良」から「不良」への許容誤判定率
を
6%とした場合に最大で
82.8%の判定成功率を得ることができた.また,3クラス分類
はじめに
iiによる良否判定の場合,自己想起ニューラルネット数を増やすことで未判定率を低減でき ることが分かった.
本論文において第1章では研究の背景と目的を述べ,第2章では自己想起ニューラル
ネットによる学習と認識の概要を説明する.第3章では果実の色情報と色空間の学習につ
いて,第4章において良否判定手法について述べる.第5章では5層自己想起ニューラル
ネットによる良否判定の性能評価実験を行い,実験結果から考察を行う.
iii
目次
はじめに
i第
1章 序論
11.1
研究の背景
. . . 11.2
研究の目的
. . . 2第
2章 自己想起ニューラルネット
4 2.1自己想起ニューラルネットによる学習
. . . 52.2
自己想起ニューラルネットの分類規則
. . . 6第
3章 色空間及び自己想起ニューラルネットによる色空間の学習
8 3.1 La*b*色空間
. . . 83.2
色空間の学習
. . . 9第
4章 提案手法
12 4.1判定基準値
. . . 124.2
予備実験
. . . 134.3
良否判定手法
. . . 144.4
学習サンプル画像の選択
. . . 15第
5章 評価実験
21 5.1実験データ
. . . 215.2
実験1:2クラス分類による性能比較実験
. . . 225.3
実験2: 「未判定」クラスを含む3クラス分類による良否判定実験
. . . . 26第
6章 結論
29 6.1まとめ
. . . 296.2
今後の課題
. . . 29目次
iv付録
Aデータリスト
31付録
Bプログラムソースリスト
32謝辞
351
第 1 章
序論
1.1 研究の背景
近年,食の安全性への関心が高まっている.そのため食品製造者にとって製品の品質維 持への対策は重要な課題であり,食品加工の現場においては製品の品質検査が必ず行われ ている.品質検査とは,不良品や欠陥品の抜き取り,あるいは品質の等級に応じた分類作 業である.これらの作業は製品の質を保つために必要であり,特に野菜や果実などの農作 物は生産段階における品質の均一化が困難であるため出荷段階において品質の分類を行う 必要がある.果実の品質に基づく選別は手作業で行われる場合が多いが,手作業による選 別は人件費や選別者の教育,選別作業者ごとの判定基準のばらつきといった様々な問題を 抱えている.選別作業の自動化によりこれらの問題が低減でき,製品の質の均一化が期待 できるため,機械による自動選別システムの開発が求められている.
機械による自動選別システムでは大きさを用いた選別や,傷や色,形状などの見かけの 情報を用いた選別,重量を用いた選別が行われている.特に品質による等級選別の場合,
見かけによる選別が重要となる.自動選別システムの精度向上によりコスト低減や生産力 の向上が期待できるため,見かけの情報を用いた機械選別は画像処理技術を応用した様々 な手法が提案されている.
1.1.1 従来研究
現在,農作物を対象とした判別手法に関する様々な研究
[2] [3]が行われている.雨森
ら
[4]の手法は,色むら領域の面積比や円形度を用いる手法である.ラベリングによって
得られたりんごの色むらをピクセル単位で扱うことで,局部的に分散した色むらがある果
実の場合に有効であるが,判定に特定色や色むら,円形度が直接関係しない場合には適用
できない.
Blascoら
[5]の手法は,近赤外線や紫外線の不可視情報を組み合わせる手法で
1.2
研究の目的
2ある.果実の異常部分の検出および識別において有効性を示しているものの,新しく計測 器や光源を用意する必要があり,コストが高くなる問題がある.
Leemansら
[6]の手法は
k-means
クラスタリングと線形判別分析を用いて異常箇所を学習し,評価用データの異常
を正しく認識できるが,学習データにない異常や撮影方向によって写りこむガクには対応 できない.
Kılıc¸らの
[7]手法は,ニューラルネットワークを用いて不良箇所の面積と色を 基に判別を行う手法である.
RGB値の平均値,分散,尖度の学習により高精度な分類が 可能であるが,処理に時間がかかる問題がある.
また,先行研究として伊藤により2色素モデルを用いた良否判定手法
[8]が提案されて いる.果実画像から得られる色ヒストグラム情報が色空間中で平面に分布することを利用 し,果実ごとに主成分分析を用いて2色素モデルを生成する手法である.本研究では,平 面への近似を曲面への近似に拡張することで良否判定の精度向上を目指す.
1.2 研究の目的
本研究では,対象を梅酒製造工場で扱う梅の実とし,ディジタル画像を用いた選別作業 の自動化による品質検査におけるコスト低減と判定の均一化を目指す.
本研究の対象となる梅の実を取り扱っている梅酒製造工場での梅の実の選別の流れを図
1.1に示す.手作業による選別は次の一次選別と二次選別の2つの工程に分けられる.
一次選別は「前選り」として大量の果実の中から大きな傷や虫食いのある,明らかに
「不良」と判別できる果実を取り除く作業である.この作業では二次選別で検査される果 実の総数を減らすことが目的とされる.二次選別では全品検査が行われ,1個1個の梅の 実を手に取りガクを取り除く際に,細かい傷や虫食いを確認して選別を行なっている.
本研究で開発する選別手法は以下の特徴を持つ.
•
加工された梅の実を選別対象とする
•
梅の実の種類や収穫時期に起因する梅の実の見かけの変化に柔軟に対応することが できる
•
形状や異常箇所の位置が判定に影響を及ぼさない
•
一次選別の自動化を目的とする
そこで,本研究に置いては自己想起ニューラルネットを用いた良否判定手法を提案す
る.自己想起ニューラルネットを用いて「良」果実の色情報を学習し,入力と出力の2乗
距離から判定基準値を求め,良否の判定を行う.
1.2
研究の目的
3一次選別 二次選別
漬け込み
(加工)
不良
製品
不良
図
1.1:選別の流れ
一 一 一 一 . . ̲ : 軍 空 空 霊 園 ・ ・ ・ ・ 一 一 一 ー ー ‑ よ ヨ
!'lX: = 1 . ・ ・ 一 一 一 争
↓ ↓
4
第 2 章
自己想起ニューラルネット
自己想起ニューラルネットは入力層と出力層のニューロン数が等しく,中間層がそれよ りも少ない砂時計型をしたニューラルネットワークである.自己想起ニューラルネット は,出力層の理想出力(教師信号)として入力パターンを与え,誤差逆伝播法
[9]によっ て学習する.その結果,入力層と中間層には次元削減の回路,中間層と出力層の間には 復元回路が形成される.図
2.1に自己想起ニューラルネット構成例の図を示す.自己想起 ニューラルネットに関する研究としては,これまでに画像やパターンの圧縮・符号化に関 する報告がある
[10, 11, 12].自己想起ニューラルネットによるパターン認識では,クラ スごとに独立した回路を形成し,各クラスのニューラルネットは,そのクラスの特徴ベク トルのみを学習する.その結果,ある未知パターンを入力したとき,そのパターンの属す るクラスの回路における出力と入力の2乗誤差は他のクラスの回路に比べて一般的に小さ くなる.このことを利用して,未知パターンを分類することができる.具体的には,未知 パターンを全ての回路に入力し,2乗誤差が最も小さいクラスに分類する.
Dimension reduction Restoraction
図
2.1:自己想起ニューラルネット
2.1
自己想起ニューラルネットによる学習
52.1 自己想起ニューラルネットによる学習
図
2.2は5層自己想起ニューラルネットが曲線上に分布するパターンを学習する過程の 例を示す.各グラフの中の軸は,2次元特徴空間の座標
(x1, x2)を表している.自己想起 ニューラルネットの入力層(第1層)から出力層(第5層)までの各層のニューロン数は
2,2,1,2,2
である.教師信号にも同じものを与える.そして,クラスごとに独立した自己想
起ニューラルネットで学習を繰り返す.図
2.2中に描かれている 2本の曲線は,中間層
(第3層)の出力を0から1まで変化させたときに得られる出力の軌跡を表す.また,曲 線上の点は各クラスのサンプルを入力した時の出力を示す.これらの曲線は,学習を進め るにつれてサンプルの分布の中央に収束し,主成分分析の主軸と同じ働きをするものと なる.
0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1
( a )
学習回数
: 1 ( b )学習回数
: 65000 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1
( c )
学習回数
: 13000 ( d )学習回数
: 4000000図
2.2: 5層自己想起ニューラルネットの学習過程
2.2
自己想起ニューラルネットの分類規則
62.2 自己想起ニューラルネットの分類規則
図
2.3は,十分に学習した自己想起ニューラルネットによって未知パターンを識別する 方法を示す.未知パターン
Xが与えられたとき,その座標
( ˜x1(1),x˜2(1)
)
及び
( ˜x1(2),x˜2(2)
)
はそれぞれのクラスの自己想起ニューラルネットの出力であり,図中の
X˜(1),X˜(2)の座 標となる.また,図中の
u, vは中間層の出力であり,シグモイド関数によってその地域が
(0,1)に制限されている.
X˜(1),X˜(2)と
Xとの距離の2乗,
||X˜(1)−X||2,
||X˜(2)−X||2が最小となるクラス,すなわち各クラスの自己想起ニューラルネットの出力と入力の2乗 誤差の最も小さいクラスにパターン
Xを分類する.図の例では,
Xはクラス2に分類さ れる.
0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1
u
u=0.0 u=1.0
v=0.0 v=1.0
v
X
~
X X
(1) (2)
~ ~
class1
class2
x1
x2
u
x1
x2
v
x1
x2
x1
x2
~
~
~
~
(2)
(2) (1) (1)
–X 2 X~(1)
–X 2 X~(2)
図
2.3: 3層自己想起ニューラルネットによる未知パターンの識別
2.2
自己想起ニューラルネットの分類規則
7図
2.4,図
2.5に曲線状に分布するパターンの3層及び5層自己想起ニューラルネット による学習と識別の例を示す.3層の場合はサンプルの分布が超平面に近似されるため,
2次元では直線になってしまうのに対して,5層の学習ではサンプルの分布が超曲面(2 次元の場合は曲線)で近似されることがわかる.未知パターンを分類する場合は,2乗誤 差の小さい方に分類されるため,その曲線までの距離が近い方のクラスに分類される.3 層の自己想起ニューラルネットが非線形に分布したパターンを完全に分類できないのに対 し,非線形な分布の近似が可能な5層自己想起ニューラルネットを用いた場合には,全て のサンプルを分類できていることがわかる.
0 0.2 0.4 0.6 0.8 1
-0.2 0 0.2 0.4 0.6 0.8 1 1.2
x1
x2
1
2
y
y u
x1
x2
1
2
v z
z
Y – X 2
Z – X 2
図
2.4: 3層自己想起ニューラルネットによる圧縮と識別
0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1
u
u=0.0 u=1.0
v=0.0 v=1.0
v
x1
x2
1
2
y
y u
x1
x2
1
2
v z
z
Y – X 2
Z – X 2
図
2.5: 5層自己想起ニューラルネットによる圧縮と識別
8
第 3 章
色空間及び自己想起ニューラルネッ トによる色空間の学習
本章では,良否判定に用いる色空間の抽出と,自己想起ニューラルネットを用いた色空 間の学習手法について述べる.
3.1 La*b* 色空間
本研究において,果実から色情報を
3次元の特徴ベクトルとして抽出する.梅の実の基 本色素は主にカロチンとアントシアニンの2種類の化学物質であり,色空間中で各画素の 分布は平面または曲面的であることが予想される.そのため,果実の色情報を適切に保っ たまま,より人の目の認識に近い情報を持った色空間に変換する必要がある.
本研究では,均等色空間の一つである
La*b*色空間を用いる.
Lはメトリック明度と呼 ばれ,明度を表し,色相と彩度を示す色度を
a,
bで表す
[13].均等色空間とは異なる二 つの色に対して,人間が感じる違いの度合いと色空間上の
2点間の距離が等しくなる色空 間である.
La*b*色空間は
RGB色空間よりも人間の感覚に近い色差を表現することが可 能である.
以下に
RGB色空間から
La*b*色空間への変換式を示す.
X = 0.4124×R+ 0.3576×G+ 0.1805×B 255
Y = 0.2126×R+ 0.7152×G+ 0.0722×B
255 (3.1)
Z = 0.0193×R+ 0.1192×G+ 0.9505×B 255
3.2
色空間の学習
9f(α) =
√3
α(α > 0.008856)
903.3×α+16
116 (α ≤0.008856)
(3.2)
L= 116×f(Y)−16
a∗= 500× {f(X)−f(Y)} (3.3) b∗= 200× {f(Y)−f(Z)}
図
3.1に果実に含まれる色を
La*b*色空間上に示した例を示す.ひとつの点が果実に含 まれている画素の色を表しており,一つの果実に数万の色が含まれている.
(a)
果実画像
(b)
果実の
La*b*分布
図
3.1:果実の
La*b*色空間の分布
3.2 色空間の学習
「良」果実画像1枚の
La*b*値を特徴ベクトルとして,5層自己想起ニューラルネット を用いて近似曲面を学習する.本研究においては,学習用データを用いて各値を
-1から
1になるように正規化を行なっている。一画像の正規化された
La*b*値を入力とし,入力 と同じ値を出力するように自己想起ニューラルネットを用いて複数回繰り返して学習さ せる.
3.2.1 各層のニューロン数
自己想起ニューラルネットの各層のニューロン数は,実際のデータに則して決定する必
要がある.入力層(第1層)と出力層(第5層)のニューロン数は特徴ベクトルの次元数
3.2
色空間の学習
10に一致させる必要があり,中間層(第3層)のニューロン数は,変動の自由度に依存する.
5層自己想起ニューラルネットにおいて,変動の自由度は中間層のニューロン数と等しく なる. 例えば,変動の自由度が1の場合は中間層のニューロン数を1個とし,特徴ベクト ルの分布を曲線で近似する.変動の自由度が2の場合は中間層のニューロン数を2個とし て,特徴ベクトルの分布を曲面で近似する.
本研究で扱う梅の実の
La*b*値は曲面状に分布すると考えられる.自己想起ニューラル ネットを用いた学習により
La*b*色空間上での曲面への近似を目指す.よって,変動の自 由度を2とし,これより中間層のニューロン数を2とする.以上より,本研究で用いる 自己想起ニューラルネットは各層のニューロン数が
3,3,2,3,3の5層自己想起ニューラル ネットである.自己想起ニューラルネットを図
3.2に示す.
a*
b*
L
a*
b*
L
図
3.2:本研究で用いる自己想起ニューラルネット
3.2.2 学習実験
ここでは, 「良」果実画像1枚の
La*b*値を5層自己想起ニューラルネットで学習する 実験を行った.
図
3.3に学習の過程を示す.学習回数はそれぞれ
1000,10000,100000とした.緑色のプ ロットが入力信号を表し,赤色のプロットが学習により生成された超曲面に近似された画 素値を表す.図
3.3より,学習を繰り返すことで近似値は入力信号に近づいていくことが 分かる.
学習回数
100000回により生成された超曲面を図
3.4に示す.学習された自己想起
ニューラルネットを用いることにより,未知の値が入力された場合には,生成された超曲
面上に投影されて出力される.
3.2
色空間の学習
11(a)
学習データ(教師信号)
(b)学習回数
:1000(c)
学習回数
:10000 (d)学習回数
:100000図
3.3:自己想起ニューラルネットの学習過程
図
3.4:生成された近似曲面
0.'‑0.5
‑1
0.'
‑0.5
‑1
0.'
‑0.5
‑1
且nput
.5
且nput training 10800
.5
0.'
‑0.5
‑1
. .
0.'
‑0.5
‑1
. .
. .
input train孟ng1800
input tra孟ning180800
.
.
12
第 4 章
提案手法
本章では,本研究で提案する自己想起ニューラルネットを用いた良否判定手法について 述べる.
4.1 判定基準値
「良」果実を学習した自己想起ニューラルネットを用いて得られる2乗距離のヒストグ ラムから判定に用いる基準値を求める.判定基準値は以下のように定める.
「良」果実の色情報が学習された自己想起ニューラルネットに評価画像の各画素の
La*b*値を入力する.各画素における入力と出力の差の2乗は,注目画素のカラー値と自己想起 ニューラルネットが学習した色分布面との2乗距離に相当する.果実画像の画素
pにおけ る
La*b*値を
Xp = (Lp, a∗p, b∗p)Tと表し,
Xpを自己想起ニューラルネットを用いて学習 された曲面に投影した値を
X˜p = ( ˜Lp,˜a∗p,˜b∗p)Tと表す.ここで,画素
pにおける2乗距離
dを次の式により定める.
d(p) =|Xp−X˜p|T|Xp−X˜p| (4.1)
果実画像の画素ごとの2乗距離を輝度値に変換した画像の例を図
4.1に示す.
果実画像毎に得られた2乗距離から判定基準値を求める.
(a)
入力画像
(b)2乗距離画像
図
4.1:画素ごとの2乗距離
4.2
予備実験
134.1.1 平均2乗距離
画素ごとに得られた2乗距離に対し,果実領域の全画素における平均値を平均2乗距離
(MSE:Mean Squaed Error)
とする.平均2乗距離を次式により定義する.
EA(I) = 1 N
∑n i=1
d(i) (4.2)
ここで,
Aは学習された自己想起ニューラルネットであり,
I,
Nはそれぞれ果実画像と その画素数を表す.
4.1.2 上位 x% 距離
距離値ヒストグラムの上位
x%点における距離値を上位
x%距離と定める.画素数
Nの 1画像から得られる2乗距離値のうち,昇順にソートされた
i番目の値を
d(i)(0ˆ ≤i < N)とすると,上位
x%距離を次の式により定義する.
EA(I) = ˆd(⌊(1− x
100)N⌋) (4.3)
ここで,
Aは学習された自己想起ニューラルネットであり,
I,
Nはそれぞれ果実画像と その画素数を表す.
4.2 予備実験
良否判定を行うにあたり,予備実験として自己想起ニューラルネットを用いた出力に よって「良」果実画像・ 「不良」果実画像にどのような差が出るか調べた.
自己想起ニューラルネットには「良」果実画像1画像の
La*b*値を学習させた.学習に 用いた果実画像とその
La*b*値のプロットを図
4.2に示す.自己想起ニューラルネットを 用いることで未知の値が入力された場合には学習させた曲面に近似されるように出力され る.学習サンプル画像と自己想起ニューラルネットの学習により生成された近似曲面を図
4.2(a)(b)
にそれぞれ示す.この自己想起ニューラルネットに対し,判定用「良」果実画
像・ 「不良」果実画像をそれぞれ入力し,自己想起ニューラルネットによって学習サンプ ルの曲面に近似された値を調べた.判定画像の入力値とその近似結果を以下の図
4.3に示 す.図
4.3において,赤い点が入力値(判定画像の
La*b*値) ,緑の点が自己想起ニューラ ルネットの出力値(曲面に近似された値)である.
図
4.3より,虫食いや傷といった不良箇所がない「良」クラス画像は,出現する色情報
が学習させた「良」クラス画像と近く,未知の色が少ないために,曲面に近似された際も
4.3
良否判定手法
14誤差が小さくなっていることが分かる.対し, 「不良」クラス画像の場合は,入力値と出 力値の間で誤差が大きくなっていることが分かる.これは, 「不良」クラス画像には学習 させた「良」クラス画像には存在しない色が含まれているため,不良箇所の色が正しく近 似できていないためである. 表
4.1にこの予備実験で得られた判定基準値を示す.判定 基準値は平均2乗距離と上位
x%距離
(1≤x≤5)を比較する.
(a)
学習サンプル画像
-1 -0.5
0 0.5
a* 1-1
-0.5 0
0.5 1
b*
-1 -0.5 0 0.5 1
L
(b)
自己想起ニューラルネットの学習により 生成された曲面
図
4.2:学習サンプル
表
4.1:予備実験で得られた判定基準値
平均2乗距離 上位
x%距離
x= 1 x= 2 x = 3 x = 4 x= 5
入力画像 良
0.0027 0.0358 0.0251 0.0183 0.0141 0.0108不良
0.1315 1.1453 1.046 0.9642 0.9001 0.8450予備実験より,本研究では,判定基準値には平均2乗距離と
x = 1の上位
x%距離
(上 位
1%距離
)を用いて評価実験を行う.
4.3 良否判定手法
本研究では,最小判定値を用いた良否判定と階層型の良否判定の2つの良否判定手法を 提案する. 良否判定にはニューロン数を
3,3,2,3,3とした5層自己想起ニューラルネット を用いる.自己想起ニューラルネットは学習用データセットからそれぞれ1枚の「良」果
実画像を
100,000回反復して学習されている.
4.4
学習サンプル画像の選択
154.3.1 最小判定値を用いた良否判定
最小判定値を用いた良否判定の流れを図
4.4に示す.学習サンプルの選択方法は
4.4.1節にて詳しく述べる.
まず,果実画像中に含まれる画素の
La*b*値の色空間中の分布を求める.
予め学習された自己想起ニューラルネットを用いて判定画像の
La*b*値を学習サンプル の曲面に近似させる.入力値(判定画像の
La*b*値)と出力値(学習サンプルの曲面に近 似した値)との2乗誤差を画素ごとに求め,
4.1で述べた判定基準値を自己想起ニューラ ルネットごとに求める.
判定画像に対し,自己想起ニューラルネット(学習サンプル)と同数の判定基準値が得 られるので,その最小値を画像の特徴とする.得られた判定基準値の最小値(最小判定 値)をしきい値処理することで良否の判定を行う.得られた最小判定値がしきい値以上で あった場合を「不良」とし,しきい値未満であった場合を「良」として分類する.
4.3.2 階層型良否判定
階層型良否判定の処理の流れを図
4.5に示す.
階層型良否判定の場合も最小判定値を用いた良否判定と同様に予め複数の学習用「良」
果実画像の
La*b*値を学習サンプルとして学習し,しきい値を決定する.学習サンプルの 選択方法は
4.4.2節にて述べる.
階層型良否判定では3つのしきい値
TP,
TN,
T0を用いて階層的に良否の判定を行う.
しきい値
TPは「良」判定のしきい値であり,判定基準値がしきい値
TP未満であれば果 実を「良」と判定する.しきい値
TNは「不良」判定のしきい値であり,判定基準値がし きい値
TN以上であれば「不良」と判定する.しきい値
TP,
TN双方を用いて判定できな かった果実を「未判定」とする.
しきい値はそれぞれ自己想起ニューラルネットにおいてしきい値処理により良否判定を 行い, 「良」あるいは「不良」と判定されなかった画像は「未判定」画像として次の自己想 起ニューラルネットを用いて同様に良否の判定をする.全ての自己想起ニューラルネット で「未判定」となった果実画像は,最後の自己想起ニューラルネットにより「良」 「不良」
のしきい値
T0を用いた2クラス分類により良否を決定する.
4.4 学習サンプル画像の選択
本研究において,判定に要する時間は自己想起ニューラルネット数(学習サンプル画像
数)に比例する.工場での自動化を想定した場合,すべての画像の学習は処理時間の肥大
4.4
学習サンプル画像の選択
16化に繋がるため現実的ではない.よって,より小さなコストで高精度な判定とするために 適切な画像をサンプル画像として選択する必要がある.
以下の方法を用いて,学習サンプル画像を選択する.選択方法は良否判定方法によって 分けて行う.
4.4.1 最小判定値を用いた良否判定の学習サンプルの選択
最小判定値値を用いた良否判定を行う場合,学習サンプルを以下の方法を用いて選択・
決定する.
■
STEP0予め「良」 「不良」のラベルが付けられた学習用データセットから「良」果実 画像を1画像取り出して自己想起ニューラルネットに学習させ,残りの学習用データセッ トを用いて 判定成功率の算出する.ここで,学習用データセットを用いた判定成功率が
70%未満となる画像を学習用データセットから棄却する.
■
STEP1学習用データセットを用いて得られた判定成功率のうち,最大であったもの を1つめの自己想起ニューラルネット
A1とする.
■
STEP2 n(n≥1)個の学習サンプルが既に選択されている場合,学習済みの自己想起 ニューラルネットを用いて未学習の学習用「良」果実画像の判定基準値をそれぞれ求め,
その中で最小の判定基準値を求める.その最小の判定基準値をその画像の距離値とする.
その距離値が最大となった画像を次の学習サンプル画像として選択する.選択された画像 を学習した自己想起ニューラルネットを
An+1とする.学習サンプルとして選択された画 像をデータセットから削除する.
■
STEP3 STEP2を繰り返して自己想起ニューラルネットを選択して学習サンプルに追 加する.
■
STEP4選択された複数の自己想起ニューラルネットを用いて学習用データセットを 評価し,最大の判定成功率を得る自己想起ニューラルネット数を決定する.
4.4.2 階層型良否判定の学習サンプル選択
階層型の良否判定を行う場合,学習サンプルの選択を学習用データセットを用いた階層 型の良否判定成功率をもとに以下の方法を用いて行う.
■
STEP0予め「良」 「不良」のラベルが付けられた学習用データセットから「良」果実
画像を1画像取り出して自己想起ニューラルネットに学習させ,残りの学習用データセッ
トを用いて自己想起ニューラルネットごとの良否判定成功率を算出する.
4.4
学習サンプル画像の選択
17■
STEP1学習用データセットを用いて算出した判定成功率が最大であったニューラル ネットを1つめの自己想起ニューラルネット
A1とする.
■
STEP2 n(n≥1)番目の自己想起ニューラルネット
Anが学習サンプルとして選択さ れた場合,自己想起ニューラルネット
Anに対して学習用データセットからしきい値
TP,
TN,
T0を決定する.自己想起ニューラルネット
Anを用いて「良」 「不良」と判定され た果実画像をデータセットから除外する.残りの「未判定」画像を新しく学習用データ セットとし,全ての自己想起ニューラルネットにおいてそれぞれ
T0による判定成功率を 求める.
ここで最大の判定成功率を得た自己想起ニューラルネットを新たな学習サンプル
An+1として選択する.
■
STEP3 STEP2を繰り返して自己想起ニューラルネットを選択して学習サンプルに追 加する.
■
STEP4選択された複数の自己想起ニューラルネットを用いて学習用データセットを 評価し,最大の判定成功率を得る自己想起ニューラルネット数を決定する.
4.4.3 しきい値の決定
階層型良否判定の場合,自己想起ニューラルネットごとに以下の3つのしきい値を設定 する必要がある.
• T0 :
2クラス分類のしきい値
• TP :
「良」を判定するしきい値
• TN :
「不良」を判定するしきい値
それぞれのしきい値は学習用データセットに則して決定される.
TNは「良」から「不
良」への誤判定が
0とすることを目的として設定する必要があるため, 「良」果実画像デー
タセットのから得られた判定基準値の最大値を基準に決定する.同様に
TPは「不良」か
ら「良」への誤判定が
0とすることを目的として設定する必要があるため, 「不良」果実
画像データセットのから得られた判定基準値の最大値を基準に決定する.また,
T0は学
習用データセットを用いて
0.001刻みで「良」 「不良」の2クラス分類の判定成功率を求
め,その中で最大の判定成功率を得ることができるしきい値を予め決定する.
4.4
学習サンプル画像の選択
184.4.4 許容誤判定率
しきい値
TP,
TNにおいて学習用データセットにおいて一定の誤判定を許容して決定 する.これを許容誤判定率
eFP,
eFNとする.
eFPは「不良」から「良」へ誤判定を許容 する割合である.同様に,
eFN「良」から「不良」へ誤判定を許容する割合である.
許容誤判定率を用いたしきい値の決定式を以下に示す.ここで,学習用データセット で得られる判定基準値を昇順にソートしたものを「良」, 「不良」でそれぞれ
Eˆgood(i),
Eˆbad(i)とする.データ数を
n,データ番号を
iとする.
TP = ˆEbad(⌊(eFN
100)n⌋) (4.4)
TN = ˆEgood(⌊(1− eFP
100)n⌋) (4.5)
4.4
学習サンプル画像の選択
19(a-1)
判定画像( 「良」果実)
-1 -0.5
0 0.5
1 -1 -0.5
0 0.5
1 -1
-0.5 0 0.5 1
L
a*
b*
L
(a-2)
曲面への近似
-1 -0.5 0 0.5 1
-1 -0.5 0 0.5 1
b*
a*
(a-3) a-b
平面への投影
-1 -0.5 0 0.5 1
-1 -0.5 0 0.5 1
L
a*
(a-4) a-L
平面への投影
-1 -0.5 0 0.5 1
-1 -0.5 0 0.5 1
L
b*
(a-5) b-L
平面への投影
(a)判定用「良」果実画像の近似
(b-1)
判定画像( 「不良」果実)
-1 -0.5
0 0.5
1 -1 -0.5
0 0.5
1 -1
-0.5 0 0.5 1
L
a*
b*
L
(b-2)
曲面への近似
-1 -0.5 0 0.5 1
-1 -0.5 0 0.5 1
b*
a*
(b-3) a-b
平面への投影
-1 -0.5 0 0.5 1
-1 -0.5 0 0.5 1
L
a*
(b-4) a-L
平面への投影
-1 -0.5 0 0.5 1
-1 -0.5 0 0.5 1
L
b*
(b-5) b-L
平面への投影
(b)判定用「不良」果実画像の近似
図
4.3:判定画像の近似結果
ず働時
4.4
学習サンプル画像の選択
20図
4.4:最小判定値を用いた良否判定
図
4.5:階層型良否判定
『良Jクラス画f象 ヂーヲセット
国型竺
j、
,
しきい値以上
巨亘亘
V
L { ご マ 巨 回
@
o
21
第 5 章
評価実験
本章では,自己想起ニューラルネットを用いた良否判定システムの性能評価実験につい て述べる.
5.1 実験データ
本研究で用いる果実画像の例を図
5.1に示す.果実には事前に専門家の目視により「良」
「不良」のラベルが付されている.これらの果実をホワイトボード上に複数置き,可視光 下においてデジタルカメラ(ニコン社
D80)で垂直上方向から撮影した.撮影した果実画 像を手動で果実部分を切り出し,果実1つに対して一枚の果実画像を生成した.
本研究では果実画像
348枚の内訳を以下に示す.
•
「良」果実画像
114枚
•
「不良」果実画像
234枚
5.1.1 三分割交差検定
本実験では,実験用データセットをランダムに三分割したデータセットをそれぞれ
DATA1, DATA2, DATA3
とする.三分割したデータセットのうち2つを学習用,残りの1
つを評価用とし,三分割交差検定により性能評価を行う.各データセットの内訳は以下の 通りである.
• DATA1 :
「良」果実画像
38枚, 「不良」果実画像
78枚
• DATA2 :
「良」果実画像
38枚, 「不良」果実画像
78枚
• DATA3 :
「良」果実画像
38枚, 「不良」果実画像
78枚
5.2
実験1:2クラス分類による性能比較実験
22データセットの組み合わせを表
5.1に示す.それぞれの結果の平均値から性能を評価 する.
表
5.1:データセットの組み合わせ
学習 評価
P1 DATA1+DATA2 DATA3 P2 DATA2+DATA3 DATA1 P3 DATA3+DATA1 DATA2
(a)
良
(b)
不良 図
5.1:果実画像例
5.2 実験1:2クラス分類による性能比較実験
「良」クラス, 「不良」クラスの2クラス分類を行なった場合における最小判定値を用い た良否判定と階層型良否判定の性能の差を調査した.判定基準値には平均2乗距離と上位
1%距離を用いて比較した.
5.2.1 評価方法
2クラス分類における判定成功率
Rs及び偽陽性率
RFP,真陽性率
RTPを表
5.2及び
以下の式により定義する.
5.2
実験1:2クラス分類による性能比較実験
23表
5.2:判定結果の分類 判定ラベル 正解ラベル 良 不良
良
TP FN不良
FP TN TP : True Positive FP : False Positive FN : False Negative TN : True NegativeRs= T P +T N
T P +F N +F P +T N ×100[%] (5.1) RFP= F P
F P +T N ×100[%] (5.2)
RTP= T P
T P +F N ×100[%] (5.3)
5.2.2 実験結果
eFP =eFN
として許容誤判定率を変動させて得られた判定成功率
Raccuracyの結果を図
5.2に示す.
74 75 76 77 78 79 80 81 82 83
0 2 4 6 8 10 12 14 16
R_accuracy[%]
allowable error rate(FN,FP)[%]
図
5.2:許容誤判定率による判定成功率の変化
(eFP =eFN)上記の結果を踏まえ,許容誤判定率を
8≤ eFP ≤12,
0≤ eFN ≤eFPで変動させた場
合の判定成功率の結果を図
5.35.2
実験1:2クラス分類による性能比較実験
2476 77 78 79 80 81 82 83
0 2 4 6 8 10 12
R_accuracy[%]
allowable error rate(FN)[%]
FP=8%
FP=9%
FP=10%
FP=11%
FP=12%
図
5.3:許容誤判定率による判定成功率の変化
(8≤eFP ≤12,
0≤eFN ≤eFP)以上より実験結果を表
5.3を示す.比較のため,2色素モデルに基づく良否判定の結果 も示す.
表
5.3:判定手法による判定性能比較
判定手法 判定基準値 判定成功率
Rs RFP RFN最小判定値を用いた 平均2乗距離
73.0% 28.2% 24.6%良否判定 上位
1%距離
81.6% 17.5% 20.2%階層型良否判定 平均2乗距離
71.8% 10.3% 64.9%(eFP=0,eFN=0)
上位
1%距離
74.4% 11.1% 55.3%階層型良否判定 平均2乗距離
76.7% 15.4% 39.5%(eFP=10,eFN=10)
上位
1%距離
82.2% 15.0% 23.7%階層型良否判定 平均2乗距離
77.3% 19.2% 29.8%(eFP=11,eFN=6)
上位
1%距離
82.8% 15.0% 21.9%2色素モデルに基づく良否判定
80.2%5.2.3 考察
許容誤判定率を上げることにより判定成功率が上昇した理由を以下に考察する.自己想
起ニューラルネット数が1個から5個に固定した場合の許容誤判定率による未判定率(全
てのニューラルネットで「良」 「不良」の判定ができなかった果実の割合)の変化を図
5.4に示す.
5.2
実験1:2クラス分類による性能比較実験
250 0.1 0.2 0.3 0.4 0.5 0.6 0.7
0 2 4 6 8 10 12 14
R_gray[%]
allowable error rate[%]
N1 N2 N3 N4 N5
図
5.4:許容誤判定率による未判定率の変化
図より,許容誤判定率を上げることにより未判定率が減少していることが分かる.全 ての自己想起ニューラルネットで「未判定」と判定された果実画像は,最終の自己想起 ニューラルネットのしきい値
T0を用いて2クラス分類により良否を判定する.そのため,
未判定が多く残る場合は結果が最終の回路に依存してしまうため,誤判定が多くなり,判 定成功率の低下に繋がると考える.
一
、、~-,.、、¥\
、、、、、1、、、
、、白 下、、 ' :
" ¥ 市、、 も、¥
¥ . ,' ,"'‑
1、、、¥
・ 、 、 H、 ""¥.
九, ー.、、司、、 一弘、 一、、一
、、、司』 、一一、
L一一一一、、 、̲‑,巴
、 民一一一九一一、 、,
、‑‑'‑.、、ー¥ ー 一、一、
¥ー、、¥、、、
、
、 、、̲‑‑、
「 一白 ¥
、 ¥
、ζごも、、民、」
一一一一一、、.勺
) ー
5.3
実験2: 「未判定」クラスを含む3クラス分類による良否判定実験
265.3 実験2: 「未判定」クラスを含む3クラス分類による良否 判定実験
工場の一次選別における実用化を想定した場合,2クラスによる分類は誤判定によるコ ストを増加させてしまうため現実的ではない.そのため,判定に「未判定」クラスを設定 し,3クラスによる良否判定実験を行なった.
5.3.1 評価方法
未判定を含んだ3クラス分類による良否判定の場合, 「良」あるいは「未判定」と判定 された果実は二次選別に回され, 「不良」と判定された果実が廃棄される.そのため, 「不 良」と判定された果実の中に「良」果実が混入する割合が高くなると損失となってしまう.
また,より多くの「不良」果実を判定し,二次選別のコストを減らすことが求められる.
そのため、今実験では以下の判定成功率
Raccuracy,未判定率
Rgray,真陰性率
RTNを用 いて評価を行う.
判定成功率
Raccuracy及び未判定率
Rgray,真陰性率
RTNを表
5.4及び以下の式により 定義する.
表
5.4:判定結果の分類 判定ラベル
正解ラベル 良 未判定 不良 良
a b c不良
d e fRaccuracy = a+f
a+c+d+f ×100[%] (5.4)
Rgray = b+e
a+b+c+d+e+f ×100[%] (5.5) RTN = f
c+f ×100[%] (5.6)
ここで,しきい値
TP,
TNを任意の変数
αを用いて変動させた場合の性能を比較す
る.許容誤判定率が共に
0の場合のしきい値を
TP0,
TN0とするとき,しきい値
TP(α),
TN(α)の決定式を以下に示す.
5.3
実験2: 「未判定」クラスを含む3クラス分類による良否判定実験
27TP(α) = (1−α)T0+αTP0 (5.7) TN(α) = (1−α)T0+αTN0 (5.8)
5.3.2 実験結果
α(0 ≤α < 3)
で変化させた性能比較実験結果を以下の図
5.5に示す.各グラフの横軸 は未判定率
Rgrayを示し,縦軸はそれぞれ判定成功率
Raccuracy,真陰性率
RTNを示す.
自己想起ニューラルネットの個数を1個から5個まで変動させた場合の結果を比較した.
75 80 85 90 95 100
0 20 40 60 80 100
R_accuracy[%]
R_gray[%]
N1 N2 N3 N4 N5
(a)
判定成功率
75 80 85 90 95 100
0 20 40 60 80 100
R_TN[%]
R_gray[%]
N1 N2 N3 N4 N5
(c)
真陰性率
RT N図
5.5:αによる性能比較
5.3
実験2: 「未判定」クラスを含む3クラス分類による良否判定実験
285.3.3 考察
実験結果より,自己想起ニューラルネット数を大きくすることにより,
RT N = 100%(「良」から「不良」への誤判定を0)とした状態での未判定率が削減できることが分 かった.
本実験で用いている変数
αは任意に指定することのできる値である.
α = 0において 2クラス分類と同じ判定となる.
αを大きくすることで未判定率は大きくなるが,判定成 功率を調整することが可能である.
本研究で目的とする自動良否判定システムは,2段階ある良否判定のうちの一次選別
を想定している.その際,企業側が自由に精度を設定することができるシステムが求め
られている.任意の変数
αは企業側が精度を変更できるシステムとして利用できると考
える.
29
第 6 章
結論
6.1 まとめ
本研究では,果実画像から自己想起ニューラルネットを用いて果実の良否を判定す る手法を提案した.良否判定実験より,階層型の良否判定において許容誤判定率を
eFP = 11%,
eFN= 6%とした場合に最大で
82.8%の判定成功率を得ることができた.
また,未判定を含む3クラス分類においては,自己想起ニューラルネット数を増やすこ とにより真陰性率
RTNを
100%に保ったまま未判定率を低減できることを確認した.
6.2 今後の課題
• SVM
の利用
自己想起ニューラルネットを用いて得られた判定基準値をしきい値処理することで 良否の判定を行なっているが,
SVMを用いて学習・判定することにより精度向上 ができると考える.
•
目視による判定との比較
本実験では果実画像を用いて良否の判定を行なっているが,現在の工場では現物に よる判定を行なっている.そのため,画像による良否判定の場合の人と機械の違い を調査する必要がある.
•
複数方向画像の利用
本研究では一つの果実につき一方向から撮影した画像を用いているが、異常箇所が
果実の裏面にある場合には正確な判定ができない可能性がある.複数方向から撮影
した画像を用いることにより,撮影不備による「不良」果実の誤判定を防ぐことが
6.2
今後の課題
30できるのではないかと考える.
•
他の果実への応用
梅の実と似た色分布を持つ果実であれば,本研究と同様の手法を適用することがで
きると考える.
31
付録 A
データリスト
研究で取り扱ったデータを
∼ayaka/FANN/FANN-2.2.0-Source/my datasets/内に置く.
my_datasets
| #
研究用画像データディレクトリ
|
|--datas_20130704
| #
研究用果実画像データセット
|
|--good
| #
「良」クラス画像
114枚
|
|--bad
#
「不良」クラス画像
234枚
32
付録 B
プログラムソースリスト
研究で取り扱ったプログラムを
∼ayaka/FANN/FANN-2.2.0-Source/ANN/内に置く.実 行方法やコンパイル方法など各プログラムの詳細は,ディレクトリ内の
READMEを参照 のこと.
ANN
| #
研究用プログラム格納ディレクトリ
|
|--Training
| | #
学習用プログラム格納ディレクトリ
| |
| |--train_select_RGBtoLab3
| | #
最小判定値を用いた良否判定における学習プログラム
| |
| |--train_select_2thres_cascade
| | #
階層型良否判定における学習プログラム
| |
| |--train_select_2thres_cascade_ar
| | #
許容誤判定率を含んだ階層型良否判定における学習プログラム
| |
| |--E_det
| #
判定値行列格納ディレクトリ
|
|--Evaluation
| | #
評価用プログラム格納ディレクトリ
プログラムソースリスト
33| |
| |--recognition
| | #
最小判定値を用いた良否判定プログラム
| |
| |--recognition_2thres_cascade
| | #
階層型良否判定プログラム
| |
| |--recognition_2thres_cascade_ar
| | #
許容誤判定率を含んだ階層型良否判定プログラム
| |
| |--out_data
| #
出力ファイル格納ディレクトリ
|
|--cross_validation_datafile
| | #
三分割交差検定データ指定ファイル
| |
| |--datas_20130704
| | #
研究で用いたデータ指定ファイル格納ディレクトリ
| |
| |--training
| | #
学習用データ指定ファイル
| |
| |--evaluation
| #
評価用データ指定ファイル
|
|--train_net
| | #
ニューラルネットファイル及び学習サンプルファイル格納ディレクトリ
| |
| |--datas_20130704
| | #
研究で用いたネットファイル格納ディレクトリ
| |
| |--cross_validation
| |
| |--File1-2
| | | #P1