(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-25
(45)【発行日】2022-09-02
(54)【発明の名称】ラベル付き画像データ作成方法、検査方法、プログラム、ラベル付き画像データ作成装置及び検査装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20220826BHJP
G06N 20/00 20190101ALI20220826BHJP
【FI】
G06T7/00 350B
G06N20/00 130
G06T7/00 610
(21)【出願番号】P 2018137179
(22)【出願日】2018-07-20
【審査請求日】2021-06-02
(73)【特許権者】
【識別番号】000128131
【氏名又は名称】株式会社エヌテック
(73)【特許権者】
【識別番号】000006884
【氏名又は名称】株式会社ヤクルト本社
(73)【特許権者】
【識別番号】593205831
【氏名又は名称】東邦商事株式会社
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】坂野 和見
(72)【発明者】
【氏名】山岸 祐一
(72)【発明者】
【氏名】木部 裕行
(72)【発明者】
【氏名】豊島 邦光
【審査官】久保 光宏
(56)【参考文献】
【文献】特開2018-81629(JP,A)
【文献】特開2010-98743(JP,A)
【文献】遠藤悦郎(外2名),「Adobe Photoshop AtoZ III」,初版,日本,株式会社ビー・エヌ・エヌ,1995年04月15日,第6-15頁及び第6-16頁,ISBN: 4-89369-342-5.
(58)【調査した分野】(Int.Cl.,DB名)
G06T7/00
G06N3/00-99/00
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
撮像された画像中の検査対象の欠陥の有無を検査する検査に使用される識別器を生成するために学習前の識別器に教師あり又は半教師ありの機械学習を行わせる教師データとして用いられるラベル付き画像データを作成するラベル付き画像データ作成方法であって、
検査対象が撮像された画像に対して当該画像を構成する1つ又は複数のチャンネル以外に他のチャンネルを付加するチャンネル付加ステップと、
前記他のチャンネルにおける前記画像中の欠陥領域に対応する領域に、欠陥を示す画素値として欠陥のない他の領域に付与される第1画素値と異なる第2画素値を付与する画素値付与ステップと、
前記画像を前記他のチャンネルごと複数の分割画像に分割する分割ステップと、
複数の前記分割画像のうち、前記分割画像における前記他のチャンネルが前記第2画素値を含む当該分割画像には不良ラベルを付与し、前記分割画像における前記他のチャンネルが前記第2画素値を含まない当該分割画像には良ラベルを付与するラベル付与ステップと、
前記分割画像から前記他のチャンネルを除去してラベル付き画像データを作成するチャンネル除去ステップと、
を備えることを特徴とするラベル付き画像データ作成方法。
【請求項2】
前記欠陥には複数の種別があり、
前記画素値付与ステップでは、前記他のチャンネルに前記第2画素値を付与する場合、前記欠陥の種別に応じた異なる値の第2画素値を付与し、
前記ラベル付与ステップでは、前記第2画素値を含む前記分割画像に当該第2画素値の値に応じた異なる不良ラベルを付与する、
ことを特徴とする請求項1に記載のラベル付き画像データ作成方法。
【請求項3】
前記分割ステップでは、前記他のチャンネルが付加された前記画像を、隣同士の前記分割画像が一部重複する複数の前記分割画像に分割する、
ことを特徴とする請求項1又は請求項2に記載のラベル付き画像データ作成方法。
【請求項4】
前記他のチャンネルは、アルファチャンネルである、
ことを特徴とする請求項1~請求項3のいずれか一項に記載のラベル付き画像データ作成方法。
【請求項5】
前記ラベル付き画像データを教師データとして教師あり又は半教師ありの機械学習を行って生成された識別器にテストデータを入力したときの出力に所定値以上の正解率が得られない場合は、前記分割ステップにおける分割数を変更する、
ことを特徴とする請求項1~請求項4のいずれか一項に記載のラベル付き画像データ作成方法。
【請求項6】
請求項1~請求項5のいずれか一項に記載のラベル付き画像データ作成方法で作成された、前記ラベル付き画像データを教師データとして教師あり又は半教師ありの機械学習を行って識別器を生成する識別器生成ステップと、
検査対象が撮像された画像を、前記識別器の生成に用いた前記分割画像の分割数と同じ分割数で分割して複数の分割画像を取得し、当該分割画像を前記識別器に入力して当該識別器から識別結果として出力された出力値に基づき前記検査対象の良不良を判定する判定ステップと、
を備えることを特徴とする検査方法。
【請求項7】
前記機械学習は、ディープラーニングである、ことを特徴とする請求項6に記載の検査方法。
【請求項8】
撮像された画像中の検査対象の欠陥の有無を検査する検査に使用される識別器を生成するために学習前の識別器に教師あり又は半教師ありの機械学習を行わせる教師データとして用いられるラベル付き画像データを作成するコンピュータが実行するプログラムであって、
コンピュータが、検査対象が撮像された画像に対して当該画像を構成する1つ又は複数のチャンネル以外に他のチャンネルを付加するチャンネル付加ステップと、
コンピュータが、前記他のチャンネルにおける前記画像中の欠陥領域に対応する領域に、欠陥を示す画素値として欠陥のない他の領域に付与される第1画素値と異なる第2画素値を付与する画素値付与ステップと、
コンピュータが、前記画像を前記他のチャンネルごと複数の分割画像に分割する分割ステップと、
コンピュータが、複数の前記分割画像のうち、前記分割画像における前記他のチャンネルが前記第2画素値を含む当該分割画像には不良ラベルを付与し、前記分割画像における前記他のチャンネルが前記第2画素値を含まない当該分割画像には良ラベルを付与するラベル付与ステップと、
コンピュータが、前記分割画像から前記他のチャンネルを除去してラベル付き画像データを作成するチャンネル除去ステップと、
を備えることを特徴とするプログラム。
【請求項9】
撮像された画像中の検査対象の欠陥の有無を検査する検査に使用される識別器を生成するために学習前の識別器に教師あり又は半教師ありの機械学習を行わせる教師データとして用いられるラベル付き画像データを作成するラベル付き画像データ作成装置であって、
検査対象が撮像された画像に対して当該画像を構成する1つ又は複数のチャンネル以外に他のチャンネルを付加するチャンネル付加部と、
前記他のチャンネルにおける前記画像中の欠陥領域に対応する領域に、欠陥を示す画素値として欠陥のない他の領域に付与される第1画素値と異なる第2画素値を付与する画素値付与部と、
前記画像を他のチャンネルごと複数の分割画像に分割する分割部と、
複数の前記分割画像のうち、前記分割画像における前記他のチャンネルが前記第2画素値を含む当該分割画像には不良ラベルを付与し、前記分割画像における前記他のチャンネルが前記第2画素値を含まない当該分割画像には良ラベルを付与し、ラベル付与後に前記分割画像から前記他のチャンネルを除去してラベル付き画像データを作成するラベル付与部と、
を備えることを特徴とするラベル付き画像データ作成装置。
【請求項10】
請求項9に記載のラベル付き画像データ作成装置と、
前記ラベル付き画像データ作成装置が作成した前記ラベル付き画像データを教師データとして教師あり又は半教師ありの機械学習を行って生成された識別器と、
検査対象が撮像された画像を、前記識別器の生成に用いた前記分割画像の分割数と同じ分割数で分割して複数の分割画像を取得する分割画像取得部と、
前記分割画像取得部が取得した前記分割画像を前記識別器に入力したときの当該識別器からの出力結果に基づき前記検査対象の良不良を判定する判定部と、
を備えたことを特徴とする検査装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、教師あり学習等を行う際に識別器に教師データとして与えられるラベル付き画像データを作成するラベル付き画像データ作成方法、検査方法、プログラム、ラベル付き画像データ作成装置及び検査装置に関する。
【背景技術】
【0002】
例えば、特許文献1には、正解ラベル付きの画像データを複数に分割し、追加学習させた結果、安定した結果を出したものを教師付き画像に追加する学習装置が開示されている。この学習装置は、第1の正解ラベル付き画像に基づき、未ラベル画像を生成する画像生成部と、ユーザに提示する未ラベル画像を選択する画像選択部と、選択された未ラベル画像を表示部に出力する出力部と、入力部から取得した正解ラベルを、選択した未ラベル画像に関連付けて、第2の正解ラベル付き画像とする正解ラベル設定部とを含む。判別器生成部は、第1の正解ラベル付き画像の特徴ベクトルと、第2の正解ラベル付き画像の特徴ベクトルとに基づき、判別器の再生成処理を行う。
【0003】
また、特許文献2には、教師データの生成に機械学習を利用する手法を用いた機械学習装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2013-125322号公報
【文献】特開2015-185149号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ディープラーニング等の機械学習においては、識別器のパラメータを決定するために膨大な画像を学習させる必要がある。例えば、検査を、識別器を用いて行う場合、特許文献1のように画像を分割すると適合率(Precision)が高まることが知られているが、分割した分割画像ごとにラベルを付与する作業が必要である。また、識別器の正解率が不十分である場合は、画像の分割数を変更して再度学習させると、正解率の高い識別器が得られる場合がある。
【0006】
しかし、画像の分割数を変更すると、変更後の分割数で分割した分割画像に再度ラベルを付与する必要があるという課題がある。なお、この種の課題は、ディープラーニングに限らず、特許文献1に記載のサポートベクトルマシン(SVM)などで行う教師あり機械学習において概ね共通する。
【0007】
本発明の目的は、画像を分割して教師あり又は半教師ありの機械学習に教師データとして用いるラベル付き画像データの作成負担を軽減して学習コストを低く抑えることができるラベル付き画像データ作成方法、検査方法、プログラム、ラベル付き画像データ作成装置及び検査装置を提供することにある。
【課題を解決するための手段】
【0008】
以下、上記課題を解決するための手段及びその作用効果について記載する。
上記課題を解決するラベル付き画像データ作成方法は、撮像された画像中の検査対象の欠陥の有無を検査する検査に使用される識別器を生成するために学習前の識別器に教師あり又は半教師ありの機械学習を行わせる教師データとして用いられるラベル付き画像データを作成するラベル付き画像データ作成方法であって、検査対象が撮像された画像に対して当該画像を構成する1つ又は複数のチャンネル以外に他のチャンネルを付加するチャンネル付加ステップと、前記他のチャンネルにおける前記画像中の欠陥領域に対応する領域に、欠陥を示す画素値として欠陥のない他の領域に付与される第1画素値と異なる第2画素値を付与する画素値付与ステップと、前記画像を前記他のチャンネルごと複数の分割画像に分割する分割ステップと、複数の前記分割画像のうち、前記分割画像における前記他のチャンネルが前記第2画素値を含む当該分割画像には不良ラベルを付与し、前記分割画像における前記他のチャンネルが前記第2画素値を含まない当該分割画像には良ラベルを付与するラベル付与ステップと、前記分割画像から前記他のチャンネルを除去してラベル付き画像データを作成するチャンネル除去ステップと、を備える。
【0009】
この方法によれば、教師データとして用いられるラベル付き画像データを、撮像された画像を分割して作成しても、作成負担を軽減して学習コストを低く抑えることができる。例えば、画像の分割数を変更してラベル付き画像データを作成し直す場合も、作業者が画像の欠陥領域を指定する作業を分割数変更の度にやり直す必要がなく、作業負担が減り、学習コストを低く抑えることができる。
【0010】
上記ラベル付き画像データの作成方法では、前記欠陥には複数の種別があり、前記画素値付与ステップでは、前記他のチャンネルに前記第2画素値を付与する場合、前記欠陥の種別に応じた異なる値の第2画素値を付与し、前記ラベル付与ステップでは、前記第2画素値を含む前記分割画像に当該第2画素値の値に応じた異なる不良ラベルを付与することが好ましい。
【0011】
この方法によれば、欠陥の種別に応じた異なる不良ラベルを付与したラベル付き画像データを作成できる。
上記ラベル付き画像データ作成方法において、前記分割ステップでは、前記他のチャンネルが付加された前記画像を、隣同士の前記分割画像が一部重複する複数の前記分割画像に分割することが好ましい。
【0012】
この方法によれば、欠陥が複数の分割画像に跨がっても、欠陥が分断される頻度を低減できる。よって、ラベル付き画像データを用いて学習した際に高い正解率が得られ易い。
上記ラベル付き画像データ作成方法において、前記他のチャンネルは、アルファチャンネルであることが好ましい。
【0013】
この方法によれば、画像の不透明度を設定するためのアルファチャンネルを利用することで、撮像された画像のチャンネルに影響を与えず比較的簡単に欠陥領域に対応する領域に欠陥を示す第2画素値を付与できる。
【0014】
上記ラベル付き画像データ作成方法において、前記ラベル付き画像データを教師データとして教師あり又は半教師ありの機械学習を行って生成された識別器にテストデータを入力したときの出力に所定値以上の正解率が得られない場合は、前記分割ステップにおける分割数を変更することが好ましい。
【0015】
この方法によれば、教師あり又は半教師ありの機械学習により生成された識別器にテストデータを入力したときの出力に所定値以上の正解率が得られず分割ステップにおける分割数を変更してラベル付き画像データを作成し直す場合、画像には既に他のチャンネル及び欠陥を示す第2画素値が付与されている。よって、画像の分割数を変更してラベル付き画像データを作成し直す際は、他のチャンネルに第2画素値を付与する領域を指定するために作業者が入力装置を操作して欠陥領域を指定する作業が不要になる。
【0016】
上記課題を解決する検査方法は、上記ラベル付き画像データ作成方法で作成された、前記ラベル付き画像データを教師データとして教師あり又は半教師ありの機械学習を行って識別器を生成する識別器生成ステップと、検査対象が撮像された画像を、前記識別器の生成に用いた前記分割画像の分割数と同じ分割数で分割して複数の分割画像を取得し、当該分割画像を前記識別器に入力して当該識別器から識別結果として出力された出力値に基づき前記検査対象の良不良を判定する判定ステップと、を備える。
【0017】
この方法によれば、学習前の識別器に学習させるラベル付き画像データの作成負担が軽減されるので、低い学習コストで検査対象の良不良を検査できる。
上記検査方法において、前記機械学習は、ディープラーニングであることが好ましい。
【0018】
この方法によれば、検査対象の良不良をディープラーニングで低い学習コストで検査できる。
上記課題を解決するプログラムは、撮像された画像中の検査対象の欠陥の有無を検査する検査に使用される識別器を生成するために学習前の識別器に教師あり又は半教師ありの機械学習を行わせる教師データとして用いられるラベル付き画像データを作成するコンピュータが実行するプログラムであって、コンピュータが、検査対象が撮像された画像に対して当該画像を構成する1つ又は複数のチャンネル以外に他のチャンネルを付加するチャンネル付加ステップと、コンピュータが、前記他のチャンネルにおける前記画像中の欠陥領域に対応する領域に、欠陥を示す画素値として欠陥のない他の領域に付与される第1画素値と異なる第2画素値を付与する画素値付与ステップと、コンピュータが、前記画像を前記他のチャンネルごと複数の分割画像に分割する分割ステップと、コンピュータが、複数の前記分割画像のうち、前記分割画像における前記他のチャンネルが前記第2画素値を含む当該分割画像には不良ラベルを付与し、前記分割画像における前記他のチャンネルが前記第2画素値を含まない当該分割画像には良ラベルを付与するラベル付与ステップと、コンピュータが、前記分割画像から前記他のチャンネルを除去してラベル付き画像データを作成するチャンネル除去ステップと、を備える。
【0019】
このプログラムをコンピュータに実行させることで、撮像された画像を分割して作成されるとともに学習後の識別器の正解率が低ければ分割数を変更して作成し直されるラベル付き画像データの作成負担を軽減して学習コストを低く抑えることができる。例えば、画像の分割数を変更してラベル付き画像データを作成し直す場合も、作業者が画像の欠陥領域を指定する作業を分割数変更の度にやり直す作業負担が減り、学習コストを低く抑えることができる。
【0020】
上記課題を解決するラベル付き画像データ作成装置は、撮像された画像中の検査対象の欠陥の有無を検査する検査に使用される識別器を生成するために学習前の識別器に教師あり又は半教師ありの機械学習を行わせる教師データとして用いられるラベル付き画像データを作成するラベル付き画像データ作成装置であって、検査対象が撮像された画像に対して当該画像を構成する1つ又は複数のチャンネル以外に他のチャンネルを付加するチャンネル付加部と、前記他のチャンネルにおける前記画像中の欠陥領域に対応する領域に、欠陥を示す画素値として欠陥のない他の領域に付与される第1画素値と異なる第2画素値を付与する画素値付与部と、前記画像を他のチャンネルごと複数の分割画像に分割する分割部と、複数の前記分割画像のうち、前記分割画像における前記他のチャンネルが前記第2画素値を含む当該分割画像には不良ラベルを付与し、前記分割画像における前記他のチャンネルが前記第2画素値を含まない当該分割画像には良ラベルを付与し、ラベル付与後に前記分割画像から前記他のチャンネルを除去してラベル付き画像データを作成するラベル付与部と、を備える。
【0021】
このラベル付き画像データ作成装置によれば、撮像された画像を分割して作成されるとともに学習後の識別器の正解率が低ければ分割数を変更して作成し直されるラベル付き画像データの作成負担を軽減して学習コストを低く抑えることができる。例えば、画像の分割数を変更してラベル付き画像データを作成し直す場合も、作業者が画像の欠陥領域を指定する作業を分割数変更の度にやり直す作業負担が減り、学習コストを低く抑えることができる。
【0022】
上記課題を解決する検査装置は、上記ラベル付き画像データ作成装置と、前記ラベル付き画像データ作成装置が作成した前記ラベルつきの前記ラベル付き画像データを教師データとして教師あり又は半教師ありの機械学習を行って生成された識別器と、検査対象が撮像された画像を、前記識別器の生成に用いた前記分割画像の分割数と同じ分割数で分割して複数の分割画像を取得する分割画像取得部と、前記分割画像取得部が取得した前記分割画像を前記識別器に入力したときの当該識別器からの出力結果に基づき前記検査対象の良不良を判定する判定部と、を備える。
【0023】
この検査装置によれば、学習完了前の識別器に学習させるラベル付き画像データの作成負担を軽減でき、低い学習コストで検査対象の良不良を検査できる。
【発明の効果】
【0024】
本発明によれば、教師あり又は半教師ありの機械学習に教師データとして用いるラベル付き画像データを、画像を分割して作成しても、作成負担を軽減して学習コストを低く抑えることができる。
【図面の簡単な説明】
【0025】
【
図1】第1実施形態における機械学習機能を備えた検査装置を示す模式側面図。
【
図2】検査装置における検査対象の物品を撮像する部分を示す模式平面図。
【
図3】複数種のフォルダとフォルダ内の画像の一例を示す模式図。
【
図4】機械学習機能を備えた検査装置の電気的構成を示すブロック図。
【
図5】(a)は撮像された画像を示す模式図、(b)は撮像された画像のチャンネル構造を示す模式図。
【
図6】(a)は画像中の欠陥を示す模式図、(b)は欠陥領域の入力指定方法を説明する模式図。
【
図7】アルファチャンネルを付加した画像の構成を示す模式図。
【
図9】(a),(b)は画像の分割の仕方を説明する模式図。
【
図10】(a)はラベル設定を説明する模式図、(b)は教師データとしてのラベル付き分割画像データを示す模式図、(c)は配列データ変換を説明する模式図。
【
図11】ディープラーニング部における識別器の教師あり学習を説明する模式図。
【
図12】欠陥位置登録ルーチンを示すフローチャート。
【
図13】教師データとしてのラベル付き分割画像を作成する分割画像作成ルーチンを示すフローチャート。
【
図14】(a),(b)は、第2実施形態におけるアルファチャンネルの欠陥領域に第2画素値を付与する処理を説明する模式図。
【
図15】教師データとしてのラベル付き分割画像を作成する分割画像作成ルーチンの要部を示すフローチャート。
【発明を実施するための形態】
【0026】
(第1実施形態)
以下、機械学習機能を有する検査装置を備えた検査システムについて、図面を参照して説明する。
図1に示す検査システム11は、物品12を撮像した画像を用いて物品12の欠陥の有無を検査する。検査システム11は、物品12が搬送される搬送装置20と、搬送装置20により搬送される物品12を検査する検査装置30とを備える。
【0027】
図1に示すように、搬送装置20は、物品12を搬送するためのコンベヤ21と、コンベヤ21に載置されて搬送される物品12を検知するセンサ22と、検査装置30の検査結果から欠陥のある不良品と判定された場合に良品の流れるラインから不良品の物品12を排除する排出装置23とを備える。コンベヤ21は、例えば複数のローラ24に巻き掛けられたベルト25が電動モータ26の動力で周回するベルトコンベヤである。コンベヤ21は、物品12を搬送できれば、例えばローラコンベヤ等の他の構成でもよい。コンベヤ21の搬送方向Xと交差する幅方向の両側には、物品12をガイドする一対のガイド部材27が配置されている。排出装置23は、物品12を押し出して排除する構成、又はエアの力で物品12を吹き飛ばして排除する構成が挙げられるが、不良の物品12を排除できれば他の構成でもよい。
【0028】
検査システム11は、搬送装置20および検査装置30を制御するコントローラCを備える。
検査装置30は、コンベヤ21に搬送される物品12を撮像するカメラ31と、カメラ31と電気的に接続されたコンピュータ32とを備える。検査装置30は、カメラ31が物品12を撮像した画像を用いて物品12の欠陥の有無を判定する。コンピュータ32は、コントローラCの一部を構成する。詳しくは、コントローラCは、搬送装置20及びカメラ31を制御するプログラマブルロジックコントローラ33(以下、「PLC33」ともいう。)と、PLC33に電気的に接続されたコンピュータ32とを備える。コンピュータ32は、入力装置34と表示部35とを備える。
【0029】
PLC33は、搬送装置20を制御し、センサ22が物品12を検知した検知信号に基づいてカメラ31の撮像タイミングを制御する。カメラ31で物品12が撮像された画像データはコンピュータ32に送られる。コンピュータ32は、カメラ31からの画像データを用いて物品12の欠陥の有無を検査する。
図1に示す例では、コンピュータ32は、パーソナルコンピュータ等であるが、コンピュータ32とPLC33とを一体に構成したコントローラCに内蔵されたマイクロプロセッサ等でもよい。
【0030】
図1、
図2では、四角板状の物品12の例を示すが、物品12の形状、サイズおよび品目は特に限定されない。
カメラ31が撮像する画像には、
図5(a)に示すように、画像の一部として物品12g以外に、物品12gの周辺のベルト25gやガイド部材27gの一部なども含まれる。本実施形態の検査装置30は、カメラ31が撮像した画像データを基に、識別器66(
図4を参照)を用いて物品12の欠陥の有無を検査する。検査装置30は、欠陥を検出した場合、欠陥の種別も判別する。
【0031】
本実施形態は、検査装置30が検査に必要な識別器66を生成するために教師付き学習を行う。本例では、機械学習としてディープラーニングを採用する。ディープラーニングでは、識別器66の高い正解率を得るために多量の画像を学習させる必要がある。しかし、学習用の画像を多量に準備するのは非常に手間がかかるので、ラベル付き画像データを作成し易く、かつ条件変更によるやり直しの手間も少なく済むよう取り扱い易くする。
【0032】
検査装置30は、例えばカメラ31が撮像した物品12の画像データを分割した分割画像データと、良品である旨と不良品である場合は欠陥の種別を示す正解ラベルとをセットにした、教師データとしてのラベル付き分割画像データDIm(
図10(b)参照)を作成する。そして、検査装置30は、ラベル付き分割画像データDImを用いて、教師あり学習を行って識別器66を生成する。
【0033】
教師データの作成に用いる画像(元画像)のデータは、
図3に示すように、良品のフォルダF1と、不良品のフォルダF2,F3とに分けて格納されている。良品のフォルダF1には、欠陥のない良品の画像データIm1が格納されている。不良品のフォルダF2,F3は、欠陥の種別に応じて複数種類(
図3の例では2種類)用意されている。例えば、フォルダF2には、小さな欠陥Dsを含む不良品の画像データIm2が格納されている。また、フォルダF3には、大きな欠陥Dlを含む不良品の画像データIm3が格納されている。なお、欠陥の種別ごとの不良品の画像データIm2,Im3を特に区別しない場合、総称して画像データImdと記す場合もある。また、教師データの作成に用いる元画像は、検査装置30のカメラ31が撮像したものに限らず、検査装置30とは別のカメラを用いて別の場所で予め物品12を撮像した画像でもよい。この場合、コンピュータ32は、外部メモリから画像データを入力したり、インターネット経由でサーバから画像データを受信したりしてもよい。
【0034】
次に、
図4を参照して検査システム11の電気的構成を説明する。
図4に示すように、コントローラCは、コンピュータ32と、PLC33とを備える。PLC33には、搬送装置20を構成するコンベヤ21、センサ22及び排出装置23が電気的に接続されている。PLC33は、カメラトリガー処理部36及び不良排出処理部37を備える。カメラトリガー処理部36は、センサ22が物品12を検知した検知信号を入力すると、コンピュータ32に撮像トリガー信号を出力する。不良排出処理部37は、コンピュータ32が検査した物品12が不良品であるときにコンピュータ32から排出指示信号を入力する。
【0035】
カメラ31は、コンピュータ32に接続されている。コンピュータ32には、入力装置34及び表示部35が接続されている。コンピュータ32は、カメラトリガー処理部36から撮像トリガー信号を入力すると、カメラ31に撮像指示信号を出力する。カメラ31は、撮像指示信号を受信すると、コンベヤ21上においてセンサ22が検知した物品12を撮像エリアの中央部で撮像する。また、コンピュータ32は、カメラ31が撮像した画像データを用いて検査処理を行い、物品12が欠陥を有する不良品であると判定すると、不良排出処理部37に排出指示信号を出力する。不良排出処理部37は、コンピュータ32から入力した排出指示信号に基づき排出装置23を駆動して不良品の物品12をコンベヤ21から排除する。
【0036】
次に、
図4を参照して、検査装置30を構成するコンピュータ32の構成について説明する。
図4に示すように、コンピュータ32は、CPU41と、メモリ42と、補助メモリ43とを備える。補助メモリ43は、例えばハードディスクドライブ(HDD)により構成される。
【0037】
メモリ42には、各種のプログラムPrおよび識別器データCDが記憶されている。プログラムPrには、
図12にフローチャートで示される欠陥位置登録用プログラム、及び
図13にフローチャートで示される分割画像作成用プログラムが含まれる。識別器データCDとは、識別器66を構成するモデルデータ及びパラメータを含む。CPU41は、識別器データCDを読み込んで識別器66として機能する。但し、識別器66が、学習完了前の段階、すなわち未学習あるいは学習途中にある段階では、その識別結果に所望の正解率が得られない。そのため、学習部64が識別器66に教師あり学習を行って、識別器データCDを構成するパラメータを最適な値に調整する。そのため、識別器66には、学習度合いに応じて、所望の正解率が得られる学習済みの識別器66と、所望の正解率が得られない未学習あるいは学習途中の段階にある学習完了前の識別器66とがある。なお、学習済みの識別器66となっても、学習を終える訳ではなく、さらに高い正解率を得るため、あるいは同じ物品12でも欠陥の形態の微小な変化などによって正解率が低下したときには調整のために追加学習が行われる。
【0038】
このため、識別器66が学習完了前の段階では、識別器データCDはモデルデータと調整前のパラメータにより構成される。そして、識別器66が学習済みの段階では、識別器データCDは、学習完了前の識別器66が教師あり学習を行って調整されたパラメータ及びモデルデータにより構成される。CPU41は、教師あり学習により調整されたパラメータ及びモデルデータよりなる識別器データCDを読み込んで学習済みの識別器66として機能する。プログラムPrには、後述の教師データ作成部52が、学習部64が学習完了前の識別器66に学習させるために与える教師データを作成するためのプログラムが含まれる。
【0039】
CPU41は、制御部51、教師データ作成部52、ディープラーニング部53、及び検査処理部54を備える。なお、各部51~54は、CPU41がプログラムPrを実行して構築されるソフトウェアよりなる機能部である。制御部51は、各部52~54を統括的に制御する。
【0040】
教師データ作成部52は、学習部64が学習完了前の識別器66に教師あり学習を行うときに与える教師データを作成する。教師データ作成部52は、欠陥位置登録部61、分割部の一例としての分割画像作成部62およびラベル付与部の一例としてのラベル設定部63を備える。なお、教師データ作成部52は、教師あり学習のために学習部64が識別器66に与える教師データの作成の他、教師あり学習の結果、識別器66が所望の正解率が得られるかどうかを後述の推論部65が検証するために識別器66にテストデータとして与える教師データの作成も行う。なお、本実施形態では、教師データ作成部52が、ラベル付き画像データ作成装置の一例に相当する。
【0041】
ディープラーニング部53は、学習部64、推論部65及び識別器66を備える。学習部64は、学習完了前の識別器66に教師データを用いて教師あり学習をさせることで、学習済みの識別器66を生成する。本例の機械学習は、ディープラーニング(深層学習)である。学習部64は、教師データ作成部52が作成した教師データを識別器66に与えて教師あり学習を行うことで、重み係数などのパラメータを最適値に調整する。
【0042】
補助メモリ43には、
図4に示した画像データ群IGが記憶されている。画像データ群IGは、教師データ作成部52が教師データを作成するときの元画像となる多数の画像データIm(以下、単に「画像Im」ともいう。)を含む。
図4に示す例では、画像データ群IGは、学習用データ群TrDと、テスト用データ群TsDとを含む。学習用データ群TrDに属する画像データImは、教師データ作成部52が、教師あり学習用の教師データを作成する際の元画像となる画像データである。学習用データ群TrDには、
図3に示すOK画像Im1と、NG画像Imd(Im2,Im3)とが含まれる。
図3に示すように、「OK」、「NG1」、「NG2」を名称とするフォルダF1,F2,F3に、それぞれOKの画像データIm1、NG1の画像データIm2、NG2の画像データIm3が格納されている。このように本例では、NG画像データImdは、欠陥の大きさ又は欠陥の種類に応じた名称が付された複数種のフォルダF2,F3に分けて格納されている。
【0043】
また、テスト用データ群TsDに属する画像データImは、教師データ作成部52が、推論部65が識別器66の正解率を検証するテスト用の教師データを作成する際の元画像となる画像データである。テスト用データ群TsDは、学習用データ群TrDとは異なる複数の画像データを含むが、学習用データ群TrDと同様に、
図3に示す複数種の名称が付された複数のフォルダF1~F3に分けられたOK画像Im1sとNG画像Im2s,Im3sとを含む。なお、本実施形態では、フォルダF1~F3の名称は、教師データ作成部52が画像Imから教師データを作成する際にデータに付与する正解ラベルに使用される。また、
図4では、補助メモリ43に、物品12の1種類の品種についての画像データ群IGのみを示している。複数品種の物品12について検査を行う場合、画像データ群IGは品種ごとに記憶される。この場合、識別器データCD及び識別器66も品種ごとにある。また、同一の物品12でも検査対象の部分が複数ある場合、検査対象の部分ごとに画像データ群IG、識別器データCD及び識別器66がある。
【0044】
次に、
図4を参照して、教師データ作成部52の構成要素について説明する。欠陥位置登録部61は、画像Imのうち欠陥のある画像Imdに、欠陥の位置を登録する。欠陥位置登録部61は、作業者により入力装置34から欠陥の位置領域が入力指定されると、欠陥のある画像Imdに、画像Imdの色を表現する色表現チャンネル以外に他のチャンネルを付加する。他のチャンネルは、色表現チャンネル以外に付加される補助チャンネルである。補助チャンネルは、例えば不透明度を表すチャンネルであり、本例ではアルファチャンネルImαである。欠陥位置登録部61は、欠陥のある画像Imdに、色表現チャンネル以外にアルファチャンネルImαを付加する。そして、欠陥位置登録部61は、アルファチャンネルImαに欠陥の位置領域を登録する。
【0045】
分割画像作成部62は、画像データImを複数に分割して、複数の分割画像データDIを作成する。作業者は、入力装置34を操作して分割数を分割画像作成部62に指示する。分割画像作成部62は、指示された分割数M×Nで画像データImを分割し、M×N個の分割画像データDI(以下、「分割画像DI」ともいう。)を作成する。
【0046】
ラベル設定部63は、分割画像DIにラベルを付与する。ラベル設定部63は、分割画像データがアルファチャンネルを有すれば、欠陥を示す第2画素値の有無を判断し、第2画素値があれば、元画像が格納されていたフォルダの名称(フォルダ名)である「NG1」又は「NG2」をラベルとして付与する。分割画像データがαチャンネルを有するが、欠陥を示す第2画素値がなければ、「OK」をラベルとして付与する。分割画像データがアルファチャンネルを有していなければ、元画像が格納されていたフォルダの名称(フォルダ名)である「OK」をラベルとして付与する。ラベル設定部63は、ラベル付与後に分割画像からアルファチャンネルを除去することで、ラベル付きRGB画像よりなる教師データとしてのラベル付き分割画像データDIm(
図10(b)参照)を作成する。
【0047】
ディープラーニング部53の学習部64は、ラベル付き画像データを教師データとして用いて、学習済みになる前の識別器66に教師あり学習を行わせる。識別器66に教師データを学習させることで、学習済みの識別器66を生成する。
【0048】
本例の機械学習は、ディープラーニング(深層学習)である。学習部64は、識別器66に教師データを学習させてパラメータを決定する。
推論部65は、学習済みの識別器66を用いて、検査対象の画像を識別器66に入力してディープラーニングにより得られた出力結果から欠陥の有無を検査する。このディープラーニングによる検査では欠陥がある場合は欠陥の種別も判別する。また、推論部65は、実際の検査に使用されるだけでなく、学習結果が適切であるか否かを検証するためにも使用される。そして、推論部65は、学習済みの識別器66に、教師データ作成部52がテスト用データ群TsD中の画像データImを元画像として作成したラベル付き分割画像データDImを入力してその出力結果と正解ラベルとを比較して正解率を検証する。所定値以上の正解率が得られれば学習を終了し、所定値未満の正解率であれば、画像データImの分割数を変更するなど条件を変更して、再度、学習し直す。
【0049】
図4に示す検査処理部54は、カメラ31が撮像した検査対象の物品12を、識別器66を用いて検査する。検査処理部54は、画像取得部67、分割画像取得部の一例としての画像分割部68および判定部69を備える。画像取得部67は、カメラ31が撮像した物品12の画像を取得する。画像分割部68は、画像取得部67が取得した画像を、学習部64が教師あり学習時に教師データとして用いたラベル付き分割画像データDImと同じ分割数で分割する。検査処理部54は、画像分割部68が分割した分割画像をディープラーニング部53に送る。ディープラーニング部53では、推論部65が、検査処理部54の画像分割部68から受け取った分割画像DIを識別器66に入力し識別器66の出力結果に基づき、「OK」、「NG1」、「NG2」のいずれであるか推論する。推論部65の推論結果は、ディープラーニング部53から検査処理部54の判定部69に送られる。検査処理部54では、判定部69が、ディープラーニング部53からの推論結果に基づいて検査の判定を行う。判定部69は、「OK」、「NG1」、「NG2」のうちの1つの推論結果を基に、物品12の欠陥の有無を判定する。本例では、判定部69は、推論結果が「OK」であれば良品と判定し、推論結果が「NG1」又は「NG2」であれば不良品であると判定する。
【0050】
コンピュータ32は、検査処理部54の判定結果を基に、物品12の検査結果が不良品であれば、不良排出処理部37に排出指示信号を出力する。不良排出処理部37は、排出指示信号を入力すると、排出装置23を駆動させてコンベヤ21上の該当する不良品の物品12をコンベヤ21上から外部へ排除する。
【0051】
図5(a)は、カメラ31で撮像された画像データImの一例を示す。この画像データImは、欠陥Dgを含む不良品の画像データImd(「NG画像データImd」ともいう。)である。
図5(a)に示すように、カメラ31が撮像した画像Imには、物品12g、ベルト25g、ガイド部材27gが含まれる。カメラ31はカラー撮像が可能である。カメラ31が撮像した画像Imは、
図5(b)に示すように、レッドチャンネル(Rチャンネル)、グリーンチャンネル(Gチャンネル)、ブルーチャンネル(Bチャンネル)の3チャンネルより構成される。
【0052】
作業者は、表示部35にフォルダの一覧を表示させ、マウス操作で不良品フォルダF2,F3を開き、不良品の画像Imdを選択し、表示部35に欠陥Dgを含む物品12gが撮像された不良品の画像Imd(「NG画像Imd」ともいう。)を表示する。例えば、
図5(a)に示す欠陥Dgを含むNG画像Imdが表示される。作業者は、入力装置34のマウス又は電子ペン(スタイラスペン)等のポインティングデバイスを用いてNG画像Imd中の欠陥Dgの領域を入力指定する。
【0053】
図6(a)は、
図5(a)に示すNG画像Imd中の欠陥Dgを示す。
図6(a)に示す欠陥Dgがあると、作業者は入力装置34を構成するマウス又は電子ペン等のポインティングデバイスを操作して、欠陥Dgの輪郭に沿って
図6(b)に太線で示す囲み線ELを描いて欠陥領域DAを囲むか、又はポインティングデバイスの操作で欠陥領域DAを塗り潰すことで、欠陥領域の位置座標を入力指定する。
【0054】
欠陥位置登録部61は、チャンネル付加部61Aと、画素値付与部61Bとを備える。チャンネル付加部61Aは、入力装置34から欠陥領域DAの位置座標を指定する入力があると、NG画像データImdにアルファチャンネルImαを付加する。そして、画素値付与部61Bは、アルファチャンネルの欠陥領域DAに相当する領域Dα(以下、「欠陥領域Dα」ともいう。)に、欠陥を示す画素値として、欠陥のない領域に付与される第1画素値P1と異なる第2画素値P2を付与する。NG画像Imd上で指定された欠陥領域DAの位置座標とアルファチャンネルImα上の同じ位置座標で規定される欠陥領域Dαに属する全ての画素に第2画素値P2を付与する。
【0055】
図7に示すように、欠陥位置登録後の不良品の画像ImD(NG画像ImDともいう。)は、RチャンネルImR、GチャンネルImGと、BチャンネルImBと、欠陥領域Dαに第2画素値P2が付与されたアルファチャンネルImαとにより構成される。欠陥位置登録後のNG画像ImDは、元画像と同じフォルダF2,F3又は同じ名称の別のフォルダF2,F3に格納される。
【0056】
分割画像作成部62は、学習用のフォルダF1~F3内の画像Imを分割する。分割画像作成部62が分割の対象とする画像Imは、良品フォルダF1内のOK画像Im1と、不良品フォルダF2,F3内のアルファチャンネルImαが付加されたNG画像ImDである。分割画像作成部62は、表示部35に分割数入力欄を表示する。作業者は、学習に適切な画像の分割数を、入力装置34を操作して入力する。画像の分割数は、画像の縦の分割数Mと横の分割数Nとを入力して指定する。但し、M,Nは、自然数であり、少なくとも一方が2以上である。
【0057】
図8に示すように、分割画像作成部62は、画像データImを、M×N個に分割する。この結果、M×N個の分割画像DIが作成される。
図8に示すように、M×N個の分割画像DIは、欠陥の少なくとも一部を含むK個の分割画像と、欠陥を含まない(M×N-K)個の分割画像とに分かれる。また、分割画像DIには、物品12gを全く含まないものも存在する。
図8では、画像Imを6×8の48分割する例を示す。
【0058】
本実施形態では、分割画像作成部62は、画像データImを隣同士の境界が一部重複するように分割することが好ましい。
図9(a)に示すように、縦方向と横方向ともに両隣に他の分割画像が位置する分割画像DIoについては、分割画像作成部62は、縦方向と横方向ともに両側に重複量ΔLずつ広げる。
【0059】
また、画像データImの外周に沿う位置にある分割画像DIについては、縦方向と横方向との少なくとも一方の外側には隣の分割画像が存在しない。隣の分割画像が存在しない方向については、分割画像DIoを隣に分割画像が存在する側に重複量ΔLの2倍の長さ分広げる。例えば、
図9(b)に示すように、画像データImの左上の隅部の分割画像DIoは、下方向と右方向にしか隣の分割画像が存在しない。このため、分割画像作成部62は、
図9(b)における分割画像DIoを下方向と右方向に重複量ΔLの2倍の長さ分広げる。こうして画像Imは、隣の分割画像DIと一部重複するように複数の同一サイズの分割画像DIに分割される。
【0060】
複数のフォルダF1~F3中の全ての画像ImをM×N個の分割画像DIに分割し終えると、次にラベル設定部63は、分割画像DIに正解ラベル(以下、単に「ラベル」という。)を付与する。つまり、ラベル設定部63は、分割画像DIとラベルとを関連付けたセットデータを作成する。
【0061】
図10(a)に示すように、ラベルの設定は、不良品の画像ImDからの分割画像DIについては、アルファチャンネルDIα(以下、「αチャンネルDIα」とも記す。)が付加された分割画像DIを用いて行う。分割画像作成部62は、良品の分割画像DIについては、その元画像が属するフォルダF1の名称「OK」をラベルに設定する。なお、不良品の画像ImDからの分割画像DIは、RチャンネルDIR、GチャンネルDIG、BチャンネルDIBおよびαチャンネルDIαより構成される。
【0062】
元画像が2つの不良品フォルダF2,F3のいずれかに属する分割画像DIについては、
図10(a)に示すように、分割画像DIのαチャンネルDIαに欠陥を示す第2画素値P2があれば、元画像が属するフォルダF2又はF3の名称「NG1」又は「NG2」をラベルに設定する。第2画素値P2がない分割画像DIについては元画像が属するフォルダF2又はF3に関係なく「OK」をラベルに設定する。
【0063】
全ての分割画像DIにラベルを設定し終わると、
図10(b)に示すように、ラベル設定部63は、ラベル設定後の分割画像DIからラベルと共にRGB画像を取り出す。つまり、分割画像DIからαチャンネルDIαを取り除き、教師データとしてのラベル付き分割画像データDIm(以下、「教師データDIm」ともいう。)を取得する。続いて、ラベル付き分割画像データDImを受け取った学習部64は、
図10(c)に示すように、ラベル付き分割画像データDImのうちのラベルを除く分割画像データを配列データに変換する。配列データは、分割画像DIの全画素の画素値を所定の順番に配列したデータである。
【0064】
図11に示すように、ディープラーニング部53は、識別器66を備える。学習が行われるときは、識別器66は、学習完了前(未学習又は転移学習前を含む)の状態にある。学習部64が識別器66に教師データを与えて教師あり学習をした結果、所望の正解率が得られると、識別器66は学習済みになる。つまり、学習部64は、学習完了前の識別器66に教師あり学習をさせることで、学習済みの識別器66を生成する。以下では、学習の前後を特に区別せず識別器66の構成を説明する。
【0065】
識別器66は、ニューラルネットワークのモデルを有する。例えば畳み込みニューラルネットワーク等が採用される。識別器66は、入力層81と、中間層82(隠れ層)と、出力層83とを有する。入力層81は、複数のパーセプトロンを有する。
図11に示す例では、x1,…,xk,…xnの計n個のパーセプトロンを有する。例えば分割画像DIが50×50画素の計2500個の画素よりなる画像データとすると、1画素につきR値、G値、B値の3つの画素値を有するので、配列データは、7500個の画素値データの配列よりなる。この例では、入力層81は、7500個のパーセプトロンx1~xn(但し、n=7500)を有する。中間層82は、複数のパーセプトロンで構成される複数層よりなる。出力層83は、出力結果を出力する、正解ラベルと同数のパーセプトロンを有する。
【0066】
ここで、画像を分割する場合の適合率(Precision)は、以下で与えられる。全体の画像Imのうち、欠陥Dgの画素数をTP(true positive)とし、欠陥でない画素数をFP(false positive)とすると、適合率Prec1は、Prec1=TP/(TP+FP)で表される。画像Imを、M×N分割し、そのうちの1つの分割画像に欠陥が全て含まれているとした場合、適合率Prec2は、TP/(TP+(FP/(M×N)))で表される。つまり、適合率Prec2は、Prec2≒(M×N)・Prec1で示される。これにより、画像Imを(N×M)分割したラベル付き分割画像データDImを教師データとして用いることで、適合率はおおよそ(M×N)倍に高まる。そして、適合率の高い分割画像データDImを用いて教師有り学習を行うことで、高い正解率の識別器66を生成できる。
【0067】
次に、検査装置30の作用について説明する。まず、
図12を参照してコンピュータ32がプログラムを実行して行う欠陥位置登録処理について説明する。この処理は、教師データ作成部52の欠陥位置登録部61が行う。例えば、作業者は、コンピュータ32内のラベル付き画像データ作成用のアプリケーションソフトを起動させる。作業者は、このアプリケーションソフト上で、入力装置34を操作してラベル付き画像データを作成するための元画像が格納されたフォルダを指定する。つまり、作業者は、コンピュータ32に表示させるNG画像Imdが格納された不良品フォルダF2,F3を指定する。なお、作業者が、入力装置34を構成するマウスの操作でフォルダを開き、コンピュータ32に表示させるNG画像Imdを個々に選択してもよい。
【0068】
まず、ステップS11では、コンピュータ32は、不良品フォルダからNG画像を読み込んで表示する。すなわち、コンピュータ32は、補助メモリ43に記憶された複数のフォルダF1~F3のうち指定された不良品フォルダF2,F3から1つ目のNG画像Imdを読み込んで表示部35に表示する。
【0069】
作業者は、表示部35の画面に表示されたメッセージに従って、表示部35に表示されたNG画像Imdに対して、マウス又は電子ペン等のポインティングデバイスを用いて、欠陥Dgをその輪郭に沿って囲み線ELで囲むことで、欠陥領域DAを指定する。
【0070】
ステップS12では、コンピュータ32は、欠陥領域DAが指定されたか否かを判断する。作業者が、ポインティングデバイスを操作して囲み線ELの始点と終点とが繋がり、囲まれた領域が確定すると、欠陥領域DAが指定されたものと判断する。欠陥領域DAが指定されると、コンピュータ32は、
図6(b)にハッチングで示す指定された領域を所定色で塗り潰すなど指定された領域を作業者に視覚的に知らせる。
【0071】
ステップS13では、コンピュータ32は、NG画像ImdにアルファチャンネルImαを付加する。すなわち、コンピュータ32は、NG画像Imdを構成するRGBの3つの色表現チャンネルに他のチャンネルを付加する。本実施形態では、他のチャンネルは、画像の不透明度を画素値で表す補助チャンネルとしてのアルファチャンネルImαである。このため、
図7に示すように、アルファチャンネル付きの画像ImDは、RチャンネルImR、GチャンネルImG、BチャンネルImB、及びアルファチャンネルImαの4つのチャンネルで構成される。なお、本実施形態では、このステップS13の処理が、検査対象が撮像された画像に対して当該画像を構成する1つ又は複数のチャンネル以外に他のチャンネルを付加する「チャンネル付加ステップ」の一例に相当する。
【0072】
ステップS14では、コンピュータ32は、欠陥領域DAをアルファチャンネルImαに登録する。すなわち、コンピュータ32は、アルファチャンネルImαにおける欠陥領域DAと対応する領域Dαに、欠陥を示す画素値として、当該領域以外の欠陥のない領域に付与される第1画素値P1と異なる第2画素値P2を付与する。
図7に示す例では、コンピュータ32は、αチャンネルImαにおける欠陥領域DAと対応する領域Dα、つまりαチャンネルImα上の欠陥領域Dαには、
図7では黒色で示す第2画素値P2を登録し、αチャンネルImαにおける欠陥のない領域には、
図7では白色で示す第1画素値P1を付与する。第1画素値P1は、例えばαチャンネルImαの初期値であり、不透明度100%の値などが設定され、第2画素値P2として不透明度100%の値以外の値が登録される。なお、第1画素値と第2画素値が異なる値であれば足り、それぞれが異なる値である限り任意の画素値を設定できる。例えば、画像の画素値が256階調であれば、第1画素値が「255」、第2画素値が「0」でもよいし、この逆でもよい。本実施形態では、このステップS14の処理が、他のチャンネルにおける画像中の欠陥領域に対応する領域に、欠陥を示す画素値として欠陥のない他の領域に付与される第1画素値と異なる第2画素値を付与する「画素値付与ステップ」の一例に相当する。
【0073】
ステップS15では、アルファチャンネル付きの画像ImDをメモリ43に保存する。このため、メモリ43には、アルファチャンネルImαにおける欠陥領域DAと対応する領域Dαに第2画素値P2が付与されたアルファチャンネル付きのNG画像ImDが記憶される。
【0074】
ステップS16では、コンピュータ32は、全ての画像を処理したか否かを判断する。全ての画像を処理していなければ、ステップS11に戻り、次のNG画像Imdについて同様にステップS11~S15の処理を繰り返す。本例では、不良品フォルダF2,F3内の全てのNG画像ImdについてステップS11~S15の処理を終えると、ステップS16で肯定判定となり、当該欠陥位置登録処理を終了する。こうしてメモリ43には、欠陥の種別ごとのアルファチャンネル付きのNG画像ImDが、対応するフォルダF2,F3に格納された状態で記憶される。
【0075】
次に、
図13を参照して分割画像作成処理について説明する。
図12に示す欠陥位置登録処理を終えると、コンピュータ32は、
図13に示される分割画像作成ルーチンを実行する。この分割画像作成処理は、分割画像作成部62とラベル設定部63とが行う。作業者は、アプリケーションソフトが表示部35に表示した設定画面の分割数入力欄に、マウス等の操作で予め所望の分割数M×Nを入力指定している。
【0076】
まずステップS21では、コンピュータ32は、フォルダF1~F3から画像を読み込む。コンピュータ32は、まず1つ目の画像Imを読み込む。
ステップS22では、コンピュータ32は、画像Imを指定の分割数で分割する。
図8に示すように、画像Imは、指定のM×N個の分割画像DIに分割される。このとき、
図9(a),(b)に示すように、隣の分割画像DIと重複量ΔL又は2・ΔLだけ重複するように同一サイズのM×N個の分割画像DIに分割される。コンピュータ32は、以下のステップS23~S27の処理で、各分割画像DIにラベルを設定する。なお、本実施形態では、このステップS22の処理が、画像を他のチャンネルごと複数の分割画像に分割する「分割ステップ」の一例に相当する。
【0077】
ステップS23では、コンピュータ32は、分割画像DIがOK画像以外か否かを判断する。ここで、OK画像とは、フォルダ名が「OK」のフォルダF1に格納されたOK画像から分割された分割画像DIを指す。つまり、分割画像DIの元画像が属するフォルダの名称が「OK」であれば、その分割画像DIはOK画像である。コンピュータ32は、分割画像DIがOK画像以外であれば、ステップS24に進み、分割画像がOK画像以外でなければ、つまりOK画像であればステップS26に進む。
【0078】
ステップS26では、コンピュータ32が、分割画像DIのラベルに、元画像が属するフォルダの名称を設定する。例えば、ステップS23でOK画像であると判断された分割画像DIには、そのラベルに、元画像が属するフォルダF1の名称である「OK」を設定する。
【0079】
ステップS24では、コンピュータ32は、分割画像DIはαチャンネル付きであるか否かを判断する。つまり、作業者が欠陥位置登録を行ったαチャンネル付きのNG画像ImDから分割された分割画像DIであって、αチャンネルDIαを有するか否かを判断する。コンピュータ32は、分割画像DIがαチャンネル付きであればステップS25に進み、αチャンネル付きでなければステップS26に進む。αチャンネル付きでない分割画像DIとは、例えば、分割画像DIの元画像が不良品フォルダF2,F3に属するものの、欠陥位置登録が未登録である分割画像DIである。作業者が欠陥領域DAの指定を行わなかった画像が仮に混在していても、その分割画像DIについては、そのラベルに、その元画像が属するフォルダの名称である「NG1」又は「NG2」を設定する。
【0080】
ステップS25では、コンピュータ32は、分割画像DIに欠陥領域DAがあるか否かを判断する。コンピュータ32は、分割画像DIのαチャンネルDIαに欠陥を示す第2画素値P2の画素が存在すれば、欠陥領域DAがあると判断する。また、コンピュータ32は、分割画像DIのαチャンネルDIαに第2画素値P2の画素が存在しなければ、欠陥領域DAがないと判断する。分割画像DIに欠陥領域DAがあればステップS26に進み、分割画像DIに欠陥領域DAがなければステップS27に進む。
【0081】
分割画像DIに欠陥領域DAがあれば、ステップS26において、コンピュータ32は、分割画像DIのラベルに、その元画像であるNG画像ImDが属する不良品フォルダF2,F3の名称である「NG1」又は「NG2」を設定する。
【0082】
ステップS27では、コンピュータ32は、分割画像DIのラベルに「OK」を設定する。すなわち、OK画像以外(つまりNG画像)で、かつαチャンネル付きであっても、欠陥領域DAのない分割画像DIについては、そのラベルに「OK」を設定する。なお、本実施形態では、ステップS25(肯定判定)及びS26の処理が、複数の分割画像DIのうち、分割画像DIにおける他のチャンネルが欠陥を示す第2画素値P2を含む分割画像DIには不良ラベルを付与する処理に相当する。また、ステップS25(否定判定)及びS27の処理が、分割画像DIにおける他のチャンネルが欠陥を示す第2画素値P2を含まない分割画像DIには良品ラベルを付与する処理に相当する。これゆえ、ステップS25~S27の処理が、「ラベル付与ステップ」の一例に相当する。
【0083】
ステップS28では、コンピュータ32は、分割画像DIをRGB画像としてメモリ43に保存する。このとき、コンピュータ32は、分割画像DIがαチャンネル付きであれば、ラベル付きの分割画像DIからαチャンネルDIαを除去し、ラベル付きのRGB画像よりなるラベル付き分割画像データDImを、教師データとして、メモリ43に保存する。また、コンピュータ32は、分割画像DIがαチャンネルなしであれば、そのままラベル付きのRGB画像よりなるラベル付き分割画像データDImとして、メモリ43に保存する。なお、本実施形態では、このステップS28の処理が、分割画像DIから他のチャンネルを除去する「チャンネル除去ステップ」の一例に相当する。
【0084】
ステップS29では、コンピュータ32は、分割画像DIを全て処理したか否かを判断する。未処理の分割画像DIがあれば、ステップS23に戻り、次の分割画像DIについて、ステップS23~S28の処理を行って、次の分割画像DIにラベルを設定する。そして、全ての分割画像DIについて、ステップS23~S28の処理を行って、全ての分割画像DIにラベルを設定し終わると(S29で肯定判定)、ステップS30に進む。
【0085】
ステップS30では、コンピュータ32は、全ての画像Imを処理したか否かを判断する。未処理の画像Imがあれば、ステップS21に戻り、次の画像Imについて、ステップS21~S29の処理を行って、次の画像Imを分割した全ての分割画像DIにラベルを設定する。そして、全ての画像Imについて、ステップS21~S29の処理を行って、全ての画像Imの分割と分割した全ての分割画像DIにラベルを設定し終わると(S30で肯定判定)、当該分割画像作成ルーチンを終了する。こうして教師データとしてのラベル付き分割画像データDImが全て作成され、メモリ43に保存される。例えばフォルダF1~F3に合計100枚の画像データImがあれば、分割数がM×N=48の場合、各画像Imが48分割され、教師データとして4800枚のラベル付き分割画像データDImが作成される。
【0086】
この後、学習部64は、ラベル付き分割画像データDImを教師データとして教師あり学習を行う。学習部64は、ラベル付き分割画像データDImのうちラベル以外のRGB画像を、
図10(c)に示すように、画素値の配列よりなる配列データに変換する。そして、学習部64は、配列データを正規化し、その正規化配列データを、
図11に示すように、学習完了前の識別器66の入力層81に入力する。正規化配列データは、入力層81の各パーセプトロンx1~xnに入力される。
【0087】
識別器66の入力層81には、例えば4800枚の教師データDImのRGB画像の正規化配列データが順次入力される。識別器66は、入力層81に入力される正規化配列データに基づいて、入力層81、2~150層の中間層82および出力層83を含むニューラルネットワークを介して学習処理する。学習処理では、出力値と正解ラベルとの誤差を各層に逆伝播させて正解値に近付くように各層の重みを調整する誤差逆伝播法等が行われ、重みW1,W2等の最適なパラメータが決定される。
【0088】
画像Imを分割した分割画像DIにラベルが付された教師データDImを用いることで、学習後に得られる識別器66に高い正解率を期待できる。また、所望の正解率が得られなかった場合、作業者が分割数を変更して教師データDImを作成し直す。この場合、NG画像ImDには、最初に付加したアルファチャンネルImαおよび欠陥領域DAに付与した第2画素値P2が残っている。このため、分割画像作成部62が、作業者が再指定した分割数で画像Imを再分割しても、ラベル設定部63は、再分割した分割画像DIのアルファチャンネルDIαの第2画素値P2の有無に応じて適切なラベルを、分割画像DIに設定できる。したがって、作業者は、欠陥領域DAを指定する作業を画像Imdに一度行えば足り、再分割時はこの種の作業が不要である。よって、画像Imを分割した分割画像DIの個々にラベルを設定して作成する教師データDImの作成負担が軽く済み、その分、学習コストを低く抑えることができる。なお、100枚の画像ImのうちNG画像Imdが数枚の例で説明したが、実際に所望の正解率を得るために識別器66の学習に必要な画像Imの枚数は膨大であり、NG画像Imdに欠陥領域DAを指定する作業が一度で済むことは、大きな作成負担の軽減となる。
【0089】
検査方法は、識別器生成ステップと、分割画像取得ステップと、判定ステップとを備える。識別器生成ステップでは、学習部64が、ラベルが付与されたラベル付き分割画像データDImを教師データとして教師ありの機械学習を行って識別器66を生成する。分割画像取得ステップでは、画像分割部68が、物品12が撮像された画像Imを、識別器66の生成に用いた教師データDImを作成したときの分割画像DIの分割数と同じ分割数で分割して複数の分割画像DIを取得する。判定ステップでは、判定部69が、分割画像DIを識別器66に入力して識別器66から識別結果として出力された出力値に基づき物品12の欠陥の有無を判定する。特に、判定部69は、物品12が良品であるか不良品であるかを判定し、不良品と判定された物品12は、コンピュータ32の指示で不良排出処理部37を介して駆動される排出装置23によりコンベヤ21上から排除される。なお、検査で物品12を不良品と判定した場合、表示部35には不良品である旨、および識別器の識別結果に基づく欠陥の種別が表示される。
【0090】
以上詳述したように、この実施形態によれば、以下の効果が得られる。
(1)本実施形態のラベル付き画像データ作成方法は、撮像された画像Im中の検査対象の欠陥Dgの有無を検査する検査に使用される識別器66を生成するために学習完了前の識別器66に教師ありの機械学習を行わせる教師データとして用いられるラベル付き分割画像データDImを作成する。このラベル付き画像データ作成方法は、チャンネル付加ステップ(ステップS13)と、画素値付与ステップ(ステップS14)と、分割ステップ(ステップS22)と、ラベル付与ステップ(ステップS25~S27)と、チャンネル除去ステップ(ステップS28)とを備える。チャンネル付加ステップ(S13)では、検査対象が撮像された画像Imに対して画像Imを構成する複数の色表現チャンネルImR,ImG,ImB以外に、他のチャンネルとしてアルファチャンネルImαを付加する。画素値付与ステップ(S14)では、アルファチャンネルImαにおける画像Im中の欠陥領域DAに対応する領域Dαに、欠陥を示す画素値として欠陥のない他の領域に付与される第1画素値P1と異なる第2画素値P2を付与する。分割ステップ(S22)では、画像ImDをアルファチャンネルImαごと複数の分割画像DIに分割する。ラベル付与ステップ(S25~S27)では、複数の分割画像DIのうち、分割画像DIにおけるアルファチャンネルDIαが第2画素値P2を含む分割画像DIには不良ラベル(「NG1」又は「NG2」のラベル)を付与し、分割画像DIにおけるアルファチャンネルDIαが第2画素値P2を含まない分割画像DIには良ラベル(「OK」のラベル)を付与する。チャンネル除去ステップ(S28)では、分割画像DIからアルファチャンネルDIαを除去してラベル付き分割画像データDImを作成する。よって、教師データとしてのラベル付き分割画像データDImを、撮像された画像Imを分割して作成しても、作成負担を軽減して学習コストを低く抑えることができる。例えば、画像Imの分割数を変更してラベル付き分割画像データDImを作成し直す場合も、作業者が画像Imの欠陥領域DAを指定する作業を分割数変更の度にやり直す必要がなく、作業負担が減り、学習コストを低く抑えることができる。また、画像Imを分割してラベル付き分割画像データDImを作成するので、分割しない場合に比べ適合率を高められる。そして、適合率の高いラベル付き分割画像データDImを用いて教師あり学習を行うので、正解率の高い識別器66を生成できる。したがって、正解率の高い識別器66を用いたディープラーニングによって、物品12の欠陥の有無を高い精度で検査できる。
【0091】
(2)分割ステップ(S22)では、アルファチャンネルImαが付加された画像ImDを、隣同士の分割画像DIが一部重複する複数の分割画像DIに分割する。このため、欠陥Dgが複数の分割画像DIに跨がっても、欠陥Dgが分断される頻度を低減できる。よって、ラベル付き分割画像データDImを用いて学習した際に高い正解率が得られ易い。
【0092】
(3)他のチャンネルとして、アルファチャンネルImαを用いた。よって、画像の不透明度を設定するアルファチャンネルImαを利用することで、カメラ31が撮像した画像Imの色表現チャンネルに影響を与えず比較的簡単に欠陥領域DAに相当する領域Dαに欠陥を示す第2画素値P2を付与できる。
【0093】
(4)ラベル付き分割画像データDImを教師データとして教師ありの機械学習を行って生成された識別器66にテストデータを入力したときの出力に所定値以上の正解率が得られない場合は、分割ステップ(S22)における分割数を変更する。よって、所定値以上の正解率が得られず、分割ステップ(S22)における分割数を変更してラベル付き分割画像データDImを作成し直す場合、画像には既にアルファチャンネルImα及び欠陥を示す第2画素値P2が付与されている。よって、画像Imの分割数を変更してラベル付き分割画像データDImを作成し直す際は、アルファチャンネルImαに第2画素値P2を付与する領域Dαを指定するために作業者が入力装置34を操作して欠陥領域DAを指定する作業が不要になる。
【0094】
(5)検査方法は、識別器生成ステップと、分割画像取得ステップと、判定ステップとを備える。識別器生成ステップでは、ラベルが付与されたラベル付き分割画像データDImを教師データとして教師ありの機械学習を行って識別器66を生成する。分割画像取得ステップでは、検査対象が撮像された画像Imを、識別器66の生成に用いた教師データを作成したときの分割画像DIの分割数と同じ分割数で分割して複数の分割画像DIを取得する。判定ステップでは、分割画像DIを識別器66に入力して識別器66から識別結果として出力された出力値に基づき物品12の良不良を判定する。よって、学習完了前の識別器66に教師あり学習をさせるために教師データとして与えるラベル付き分割画像データDImの作成負担を軽減できるので、低い学習コストで、物品12の良不良を検査できる。
【0095】
(6)機械学習は、ディープラーニングである。よって、物品12の良不良をディープラーニングによって低い学習コストでかつ精度よく検査することができる。
(7)プログラムPrは、撮像された画像Im中の物品12gの欠陥の有無を検査する検査に使用される識別器66を生成するために学習完了前の識別器66に教師ありの機械学習を行わせる教師データとして用いられるラベル付き分割画像データDImをコンピュータ32が作成するために実行される。コンピュータ32は、プログラムPrに含まれる、チャンネル付加ステップ(S13)、画素値付与ステップ(S14)、分割ステップ(S22)、ラベル付与ステップ(S25~S27)、及びチャンネル除去ステップ(S28)を、順次に実行する。チャンネル付加ステップ(S13)では、コンピュータ32が、検査対象が撮像された画像Imに対して当該画像Imを構成する複数の色表現チャンネル以外に、他のチャンネルとしてアルファチャンネルImαを付加する。画素値付与ステップ(S14)では、コンピュータ32が、アルファチャンネルImαにおける画像中の欠陥領域DAに対応する領域Dαに、欠陥を示す画素値として欠陥のない他の領域に付与される第1画素値P1と異なる第2画素値P2を付与する。分割ステップ(S22)では、コンピュータ32が、画像ImDをアルファチャンネルImαごと複数の分割画像DIに分割する。ラベル付与ステップ(S25~S27)では、コンピュータ32が、複数の分割画像DIのうち、分割画像におけるアルファチャンネルImαが第2画素値P2を含む分割画像DIには不良ラベル(「NG1」又は「NG2」のラベル)を付与し、分割画像DIにおけるアルファチャンネルImαが第2画素値P2を含まない分割画像DIには良ラベルを付与する。チャンネル除去ステップ(S28)では、コンピュータ32が、分割画像DIからアルファチャンネルImαを除去してラベル付き分割画像データDImを作成する。
【0096】
このプログラムPrをコンピュータ32に実行させることで、教師ありの機械学習に教師データとして用いるラベル付き分割画像データDImを、撮像された画像Imを分割して作成しても、作成負担を軽減して学習コストを低く抑えることができる。例えば、画像Imの分割数を変更してラベル付き分割画像データDImを作成し直す場合も、作業者が画像Imの欠陥領域DAを指定する作業を、分割数変更の度にやり直す作業負担が減り、学習コストを低く抑えることができる。
【0097】
(8)ラベル付き画像データ作成装置の一例としての教師データ作成部52は、撮像された画像中の検査対象の欠陥の有無を検査する検査に使用される識別器66を生成するために学習完了前の識別器66に教師ありの機械学習を行わせる教師データとして用いられるラベル付き分割画像データDImを作成する。教師データ作成部52は、チャンネル付加部61A、画素値付与部61B、分割画像作成部62、及びラベル設定部63を備える。チャンネル付加部61Aは、検査対象が撮像された画像Imに対して当該画像Imを構成する1つ又は複数のチャンネル以外に他のチャンネルとしてアルファチャンネルImαを付加する。画素値付与部61Bは、アルファチャンネルImαにおける画像Im中の欠陥領域DAに対応する領域Dαに、欠陥を示す画素値として欠陥のない他の領域に付与される第1画素値P1と異なる第2画素値P2を付与する。分割画像作成部62は、画像ImをアルファチャンネルImαごと複数の分割画像DIに分割する。ラベル設定部63は、複数の分割画像DIのうち、分割画像DIにおけるアルファチャンネルDIαが第2画素値P2を含む分割画像DIには不良ラベル(「NG1」又は「NG2」ラベル)を付与し、分割画像DIにおけるアルファチャンネルDIαが第2画素値P2を含まない分割画像DIには良ラベル(「OK」ラベル)を付与する。さらに、ラベル付与後に分割画像DIからアルファチャンネルDIαを除去してラベル付き分割画像データDImを作成する。よって、この教師データ作成部52は、教師あり学習に教師データとして用いるラベル付き分割画像データDImを、撮像された画像Imを分割して作成しても、元画像の段階で欠陥領域DAを指定する作業を一度しておけば、分割した個々の分割画像DIに適切なラベルを付与することができる。例えば、学習の結果、識別器66に所望の正解率が得られない場合、画像Imの分割数を変更してラベル付き分割画像データDImを作成し直す。この場合、画像Imに対するアルファチャンネルImαの付加と欠陥領域DAに対応する領域Dαへの第2画素値P2の付与は既に終わっているので、作業者は、変更する分割数を指定し、コンピュータ32による画像ImDの分割処理から始めればよい。つまり、作業者が画像Imの欠陥領域DAを指定する作業を分割数変更の度にやり直す必要がない。よって、ラベル付き分割画像データDImの作成負担を軽減して、学習コストを低く抑えることができる。
【0098】
(9)検査装置30は、検査対象の物品12が撮像された画像Imに基づいて物品12の欠陥の有無を検査する。検査装置30は、教師データ作成部52、識別器66、画像分割部68、及び判定部69を備える。識別器66は、教師データ作成部52が作成したラベル付き分割画像データDImを教師データとして教師ありの機械学習を行って生成される。画像分割部68は、検査対象の物品12が撮像された画像Imを、識別器66の生成に用いたラベル付き分割画像データDImを作成したときの分割画像DIの分割数と同じ分割数で分割して複数の分割画像DIを取得する。識別器66は、画像分割部68が取得した分割画像DIを入力し、識別結果を出力する。判定部69は、識別器66からの識別結果に基づき物品12の良不良を判定する。この検査装置30によれば、学習完了前の識別器66に学習させるラベル付き分割画像データDImの作成負担を軽減できるので、低い学習コストで物品12の良不良を検査できる。
【0099】
(第2実施形態)
次に第2実施形態について図面を参照して説明する。第2実施形態では、アルファチャンネルにラベルの種類の情報も付与する点が前記第1実施形態と異なる。前記第1実施形態と同様の構成については説明を省略し、特に異なる構成についてのみ説明する。
【0100】
図14に示すように、欠陥位置登録部61の処理内容が、前記第1実施形態と一部異なる。欠陥位置登録部61は、
図14(a),(b)における左側に示す表示内容を表示部35に表示する。フォルダ名が「NG1」の不良品フォルダF2に属するNG画像を表示する場合、表示部35に不良品の種類を指定する入力部71,72が表示される。
図14(a)に示す例では、入力部71は「NG1」、入力部72は「NG2」の種別を指定する。作業者は、マウス又は電子ペン等のポインティングデバイスを操作して、欠陥Dsの輪郭に沿って囲み線ELを描いて欠陥領域DAを指定した後、その欠陥Dsの種別に応じた入力部71をマウス等で選択する。すると、チャンネル付加部61Aは、
図14(a)の右側に示すNG画像Im2にアルファチャンネルImαを付加する。また、画素値付与部61Bは、付加されたアルファチャンネルImαにおける画像Im中の欠陥領域DAに対応する領域Dα1に、入力部71で選択された欠陥の種別に応じた第2画素値P21を付与する。
【0101】
また、
図14(b)に示す例では、作業者は、マウス又は電子ペン等のポインティングデバイスを操作して、欠陥Dlの輪郭に沿って囲み線ELを描いて欠陥領域DAを入力指定した後、その欠陥Dlの種別に応じた入力部72をマウス等で選択する。すると、欠陥位置登録部61は、
図14(b)の右側に示すNG画像Im3にアルファチャンネルImαを付加すると共に、付加したアルファチャンネルImαにおける画像Im中の欠陥領域DAに対応する領域Dα2に、入力部72で選択された欠陥の種別に応じた第2画素値P22を付与する。なお、
図14に示す例では、欠陥の種別を、欠陥のサイズに応じて分類したが、欠陥の種類に応じて分類してもよい。
【0102】
次に、第2実施形態の検査装置30の作用を、
図15を参照して説明する。欠陥位置登録部61の処理は、
図14に示すとおりであり、アルファチャンネルImαには、欠陥領域DAに対応する領域Dα1又はDα2に、欠陥の種別に応じた値の第2画素値P21又はP22が設定されている。コンピュータ32は、
図15に示す分割画像作成ルーチンを実行することで、分割画像作成部62として機能する。以下、コンピュータ32が実行する分割画像作成処理について説明する。
【0103】
図15において、ステップS23~S27は、前記第1実施形態と同じ処理であり、ステップS31の処理が前記第1実施形態と異なる。また、
図15では省略している、
図13におけるステップS21,S22,S28~S30の処理は、第1実施形態と同じである。コンピュータ32は、フォルダF1~F3から読み込んだ1つ目の画像を表示する(S21)。作業者は、表示部35に表示された設定画面の分割数入力欄に予め所望の分割数M×Nを入力している。コンピュータ32は、画像をM×N個の分割画像に分割する(S22)。
【0104】
図15に示すステップS23では、コンピュータ32は、分割画像DIがOK画像以外か否かを判断する。コンピュータ32は、分割画像DIがOK画像以外であれば、ステップS24に進み、分割画像DIがOK画像以外でなければ、つまりOK画像であればステップS26に進む。ステップS26では、コンピュータ32が、分割画像DIのラベルに、元画像が属するフォルダの名称である「OK」を設定する。
【0105】
ステップS24では、コンピュータ32は、分割画像DIはαチャンネル付きであるか否かを判断する。コンピュータ32は、分割画像DIがαチャンネル付きであればステップS25に進み、αチャンネル付きでなければステップS26に進む。OK画像以外かつαチャンネル付きでない分割画像DIには、そのラベルに、その元画像が属するフォルダの名称「NG1」又は「NG2」を設定する。
【0106】
ステップS25では、コンピュータ32は、分割画像DIに欠陥領域DAがあるか否かを判断する。コンピュータ32は、分割画像DIのαチャンネルDIαに欠陥を示す第2画素値P2の画素が存在すれば欠陥領域DAがあると判断し、第2画素値P2の画素が存在しなければ、欠陥領域DAがないと判断する。分割画像DIに欠陥領域DAがあればステップS31に進み、分割画像DIに欠陥領域DAがなければステップS27に進む。
【0107】
ステップS31では、コンピュータ32は、アルファチャンネルDIαの欠陥領域Dαの第2画素値P2の値に応じたラベルを設定する。すなわち、コンピュータ32は、アルファチャンネルImαの欠陥領域Dαの第2画素値P2が、第1欠陥Dsを示す第2画素値P21であれば、第2画素値P21に応じたラベル「NG1」を設定する。また、コンピュータ32は、アルファチャンネルImαの欠陥領域Dαの第2画素値P2が、第2欠陥Dlを示す第2画素値P22であれば、第2画素値P22に応じたラベル「NG2」を設定する。
【0108】
ステップS27では、コンピュータ32は、分割画像DIのラベルに「OK」を設定する。すなわち、OK画像以外(つまりNG画像)で、かつαチャンネル付きであっても、欠陥領域DAのない分割画像DIについては、そのラベルに「OK」を設定する。
【0109】
画像Imを分割した分割画像DIにラベルで分けられた複数種の欠陥が存在する場合に、分割画像DIに欠陥の種別に応じた適切なラベルを設定できる。このため、学習後に得られる識別器66に高い正解率を期待できる。また、所望の正解率が得られなかった場合、作業者が分割数を変更しても、最初に付加したαチャンネルImαおよび欠陥領域Dα1,Dα2に付与した第2画素値P21,P22は残っているので、異なる分割数で画像を再分割しても、再分割した分割画像DIに、αチャンネルDIαの第2画素値P21,P22の有無および第2画素値P21,P22の値に応じたラベルを自動で設定することができる。このため、作業者は、欠陥領域DAを入力指定する作業を画像Imに対して一度行えば足り、再分割時はこの作業が不要である。よって、画像Imを分割して分割画像DIの個々にラベルを設定してラベル付き分割画像データDImを作成する場合、その作成負担が軽く済み、その分、学習コストを低く抑えることができる。
【0110】
第2実施形態によれば、前記第1実施形態と同様の効果に加え、以下の効果を得ることができる。
(10)欠陥Dには複数の種別がある。画素値付与ステップ(S14)では、アルファチャンネルImαに第2画素値P2を付与する場合、欠陥Dの種別に応じた異なる値の第2画素値P21,P22を付与する。ラベル付与ステップ(S25~S27)では、第2画素値P2を含む分割画像DIに第2画素値P21,P22の値に応じた異なる不良ラベル(「NG1」又は「NG2」ラベル)を付与する。よって、欠陥Dの種別に応じた異なる不良ラベルを付与したラベル付き分割画像データDImを作成できる。
【0111】
実施形態は、上記に限定されず、以下の態様に変更してもよい。
・他のチャンネルの一例としての補助チャンネルであるアルファチャンネルの階調値は、256階調に限らず、64階調、32階調、16階調、8階調、4階調、2階調でもよい。例えば、欠陥の種別に用いる第2画素値に、欠陥の種別以外の情報を組み合わせた値を設定してもよい。
【0112】
・欠陥Dgのサイズと種類とを組合せ、同じサイズ範囲に属する欠陥でも、欠陥の種類が異なれば、互いに異なる第2画素値を設定してもよい。この構成によれば、欠陥を含む画像である場合、欠陥のサイズと欠陥の種類との組合せで決まる欠陥の種別を識別できる。
【0113】
・画像は、RGB画像のようなカラー画像に限定されず、グレイスケール画像でもよい。つまり、カメラ31が撮像して得られる画像のチャンネルは、1チャンネルでもよい。この場合、欠陥位置登録部61は、グレイスケール画像に他のチャンネルとしてアルファチャンネルを付加し、付加したアルファチャンネルに欠陥領域に相当する領域に、欠陥のない領域に付与される第1画素値と異なる第2画素値を設定する。
【0114】
・正解ラベルを与える画像と与えない画像とが混在する半教師あり学習に適用してもよい。
・検査対象の物品12の形状、サイズおよび品目は特に限定されない。物品12は、例えば、ペットボトルや壜等の容器、食品、飲料物、電子部品、電化製品、日常用品、部品、部材、粉粒体又は液状等の原料などでもよい。物品12は外観から欠陥を検査できるものであれば足りる。但し、検査装置30が行う物品12の検査は、物品12の外観検査に限らず、例えば超音波又はX線を照射して撮像した画像を用いて物品12の内部を非破壊で行う検査でもよい。
【0115】
・検査対象は、物品12に限らず、建物の写真、航空撮影の地形写真、空の写真、天体写真、顕微鏡写真などを検査対象としてもよい。これらの写真を分割してラベル付き分割画像データを作成してもよい。
【0116】
・ラベル付き画像データの作成装置は、検査装置30とは別の装置として構成してもよい。
・教師あり又は半教師ありの機械学習は、ディープラーニングに限定されない。例えば中間層が一層のニューラルネットワーク又はサポートベクトルマシン(SVM)等の機械学習に適用してもよい。
【0117】
・GPU(Graphics Processing Unit)を搭載したコンピュータ32を用いてもよい。この場合、識別器66を含むディープラーニング部53はGPUに実装することが好ましい。この場合、識別器データCDはGPUメモリに記憶される。また、学習完了前の識別器66に学習させる学習機能と、検査を行う検査機能とを分けて装置を構成してもよい。すなわち、学習完了前の識別器66に学習させる学習機能を有するラベル付き画像データ作成装置と、ラベル付き画像データ作成装置が学習させた識別器66を用いて物品を検査する検査装置とに分けてもよい。この場合、ラベル付き画像データ作成装置は、GPUを備え、GPUがディープラーニング部53を備える。なお、検査装置は、追加学習を行うためにラベル付き画像データ作成装置を備えることが好ましい。この場合、検査装置は、追加学習を行うときの処理負担が小さいので、GPUを備えず、CPUがディープラーニング部53を備える構成とすればよい。
【符号の説明】
【0118】
11…検査システム、12…検査対象の一例としての物品、20…搬送装置、21…コンベヤ、22…センサ、23…排出装置、30…検査装置、31…カメラ、32…コンピュータ、33…、34…入力部、35…表示部、36…カメラトリガー処理部、37…不良排出処理部、41…CPU、42…メモリ、43…補助メモリ、51…制御部、52…ラベル付き画像データ作成装置の一例としての教師データ作成部、53…ディープラーニング部、54…検査処理部、61…欠陥位置登録部、61A…チャンネル付加部、61B…画素値付与部、62…分割部の一例としての分割画像作成部、63…ラベル付与部の一例としてのラベル設定部、64…学習部、65…推論部、66…識別器、67…画像取得部、68…分割画像取得部の一例としての画像分割部、69…判定部、81…入力層、82…中間層、83…出力層、X…搬送方向、C…コントローラ、Pr…プログラム、IG…画像データ群、TrD…学習用データ群、Im…画像データ(画像)、Imd…不良品の画像(NG画像)、Imα…他のチャンネルの一例としてのアルファチャンネル、ImD…不良品の画像(NG画像)、D,Ds,Dl…欠陥、Dg…欠陥、DA…欠陥領域、Dα,Dα1,Dα2…領域(欠陥領域)、P1…第1画素値、P2…第2画素値、P21…第2画素値、P22…第2画素値、DI…分割画像(分割画像データ)、DIα…アルファチャンネル、ΔL…重複量、TsD…テスト用データ群、DIm…ラベル付き画像データ及びテストデータの一例であり教師データとしてのラベル付き分割画像データ。