(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-26
(45)【発行日】2022-09-05
(54)【発明の名称】画像判定装置、学習方法及び画像判定プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220829BHJP
【FI】
G06T7/00 350B
G06T7/00 610C
(21)【出願番号】P 2018245678
(22)【出願日】2018-12-27
【審査請求日】2020-12-14
【前置審査】
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】土屋 直樹
(72)【発明者】
【氏名】井尻 善久
(72)【発明者】
【氏名】丸山 裕
(72)【発明者】
【氏名】大川 洋平
(72)【発明者】
【氏名】林 剣之介
(72)【発明者】
【氏名】山元 左近
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2018-005639(JP,A)
【文献】特開2014-022837(JP,A)
【文献】特開2016-057925(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
検査対象の画像に基づいて、前記画像のそれぞれ異なる種類の特定の特徴を表す特徴データを出力する1又は複数の特徴抽出器と、
前記1又は複数の特徴抽出器から出力されたそれぞれの前記特徴データに基づいて、前記画像に関する判定結果を表す出力データを出力する判定器と、
学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記1又は複数の特徴抽出器に入力した場合に出力される前記特徴データに基づいて、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように前記判定器を学習させる学習部と、を備え、
前記学習部は、新たな学習データを用いて、前記新たな学習データに含まれる前記検査対象の画像を前記1又は複数の特徴抽出器に入力した場合に出力されるそれぞれの前記特徴データに基づいて、前記判定器により前記画像に関連付けられたラベルデータを表す前記出力データが出力されるように、前記判定器を追加学習さ
せ、さらに、前記判定器の追加学習とあわせて、前記1又は複数の特徴抽出器の一部の特徴抽出器のパラメータを更新する、
画像判定装置。
【請求項2】
前記学習部は、前記判定器のパラメータを更新すること及び前記判定器に入力される前記特徴データの重みを更新することの少なくともいずれかを実行することで、前記判定器の追加学習を行う、
請求項1に記載の画像判定装置。
【請求項3】
入力に基づいて、前記1又は複数の特徴抽出器の編集を行う編集部をさらに備える、
請求項
1または2に記載の画像判定装置。
【請求項4】
前記編集部は、前記入力に基づいて、前記画像の特定の特徴を表す特徴データを出力する新たな特徴抽出器を追加する、
請求項
3に記載の画像判定装置。
【請求項5】
前記編集部は、前記入力に基づいて、前記1又は複数の特徴抽出器の一部を削除する、
請求項
3又は4に記載の画像判定装置。
【請求項6】
前記編集部は、前記入力に基づいて、前記1又は複数の特徴抽出器のパラメータを編集する、
請求項
3から5のいずれか一項に記載の画像判定装置。
【請求項7】
検査対象の画像に基づいて、前記画像のそれぞれ異なる種類の特定の特徴を表す特徴データをそれぞれ出力する1又は複数の特徴抽出器から出力されたそれぞれの前記特徴データに基づいて、前記画像に関する判定結果を表す出力データを出力する判定器を、学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記1又は複数の特徴抽出器に入力した場合に出力される前記特徴データに基づいて、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように学習させることと、
新たな学習データを用いて、前記新たな学習データに含まれる前記検査対象の画像を前記1又は複数の特徴抽出器に入力した場合に出力されるそれぞれの前記特徴データに基づいて、前記判定器により前記画像に関連付けられたラベルデータを表す前記出力データが出力されるように、前記判定器を追加学習させる
と共に、前記判定器の追加学習とあわせて、前記1又は複数の特徴抽出器の一部の特徴抽出器のパラメータを更新することと、を含む学習方法。
【請求項8】
画像判定装置に備えられた演算部を、
検査対象の画像に基づいて、前記画像のそれぞれ異なる種類の特定の特徴を表す特徴データを出力する1又は複数の特徴抽出器、
前記1又は複数の特徴抽出器から出力されたそれぞれの前記特徴データに基づいて、前記画像に関する判定結果を表す出力データを出力する判定器、及び
学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記1又は複数の特徴抽出器に入力した場合に出力される前記特徴データに基づいて、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように前記判定器を学習させる学習部、として機能させ、
前記学習部は、新たな学習データを用いて、前記新たな学習データに含まれる前記検査対象の画像を前記1又は複数の特徴抽出器に入力した場合に出力されるそれぞれの前記特徴データに基づいて、前記判定器により前記画像に関連付けられたラベルデータを表す前記出力データが出力されるように、前記判定器を追加学習さ
せ、さらに、前記判定器の追加学習とあわせて、前記1又は複数の特徴抽出器の一部の特徴抽出器のパラメータを更新する、画像判定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像判定装置、学習方法及び画像判定プログラムに関する。
【背景技術】
【0002】
従来、FA(Factory Automation)分野では、画像処理を用いた自動制御が広く実用化されている。例えば、ワーク等の検査対象を撮像し、その撮像された画像から抽出された特徴量に基づいて、当該ワークについての良否を検査するような工程が実現される。
【0003】
例えば特許文献1には、複数の撮像条件で撮像した検査対象の画像を学習用データに用いて学習した識別器の出力結果に基づいて、検査対象の欠陥の有無を判定する装置について開示されている。具体的には、特許文献1に記載の装置は、外観の良否が既知の対象物に対して、少なくとも2つの異なる撮像条件で撮像された画像に基づく少なくとも2つの画像のそれぞれから、当該画像の特徴量を抽出する学習用抽出手段と、前記学習用抽出手段により前記少なくとも2つの画像から抽出された特徴量を跨る特徴量から、対象物の良否を判定するための特徴量を選択する選択手段と、前記選択手段により選択された前記特徴量に基づいて、対象物の良否を判定する識別器を生成する生成手段と、を有する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
検査対象の画像について学習モデルによって欠陥の有無やワーク種類等の判定を行う場合、画像のどのような特徴に注目して判定結果が得られたのかを明確にする場合がある。しかしながら、新しく得られた学習データを用いて学習モデルの追加学習を行う場合、当初想定していた特徴に注目して判定が行われているのか否かが不明確となり、画像のどのような特徴に注目して判定結果が得られたのかが説明できなくなることがある。
【0006】
そこで、本発明は、学習モデルの追加学習を行う場合であっても、画像のどのような特徴に注目して判定結果が得られたのかが明確となる画像判定装置、学習方法及び画像判定プログラムを提供する。
【課題を解決するための手段】
【0007】
本開示の一態様に係る画像判定装置は、それぞれ、検査対象の画像に基づいて、画像の特定の特徴を表す特徴データを出力する1又は複数の特徴抽出器と、1又は複数の特徴抽出器から出力された特徴データに基づいて、画像に関する判定結果を表す出力データを出力する判定器と、学習画像及びラベルデータを含む学習データを用いて、学習画像を1又は複数の特徴抽出器に入力した場合に出力される特徴データに基づいて、学習画像に関連付けられたラベルデータを表す出力データを出力するように判定器を学習させる学習部と、を備え、学習部は、新たな学習データを用いて、新たな学習データに含まれる検査対象の画像を1又は複数の特徴抽出器に入力した場合に出力される特徴データに基づいて、判定器により画像に関連付けられたラベルデータを表す出力データが出力されるように、判定器を追加学習させる。
【0008】
この態様によれば、1又は複数の特徴抽出器は、それぞれ画像の特定の特徴を抽出するため、判定器を追加学習により更新したとしても、画像のどのような特徴に注目して判定結果が得られたのかが明確となる。これにより、学習モデルの追加学習を行う場合であっても、画像のどのような特徴に注目して判定結果が得られたのかが明確となる。
【0009】
上記態様において、学習部は、判定器のパラメータを更新すること及び判定器に入力される特徴データの重みを更新することの少なくともいずれかを実行することで、判定器の追加学習を行ってもよい。
【0010】
この態様によれば、追加学習によって、より精度良く判定結果が得られるように判定器を更新することができる。
【0011】
上記態様において、学習部は、判定器の追加学習とあわせて、1又は複数の特徴抽出器の一部の特徴抽出器のパラメータを更新してもよい。
【0012】
この態様によれば、追加学習によって、1又は複数の特徴抽出器の一部の特徴抽出器についてもあわせて更新することで、特徴抽出をより精度良く行い、かつ、より精度の良い判定結果が得られるように判定器を更新することができる。
【0013】
上記態様において、入力に基づいて、1又は複数の特徴抽出器の編集を行う編集部をさらに備えてもよい。
【0014】
この態様によれば、抽出する画像の特徴を柔軟に変更して、使用環境に適した画像判定を実行するようにすることができる。
【0015】
上記態様において、編集部は、入力に基づいて、画像の特定の特徴を表す特徴データを出力する新たな特徴抽出器を追加してもよい。
【0016】
この態様によれば、判定器への入力に追加された画像の特徴を明確にして学習モデルの追加学習を行うことができる。
【0017】
上記態様において、編集部は、入力に基づいて、1又は複数の特徴抽出器の一部を削除してもよい。
【0018】
この態様によれば、判定器への入力から削除された画像の特徴を明確にして学習モデルの追加学習を行うことができる。
【0019】
上記態様において、編集部は、入力に基づいて、1又は複数の特徴抽出器のパラメータを編集してもよい。
【0020】
この態様によれば、判定器に入力される画像の特徴に関する変更点を明確にして学習モデルの追加学習を行うことができる。
【0021】
本開示の他の態様に係る学習方法は、検査対象の画像に基づいて、画像の特定の特徴を表す特徴データをそれぞれ出力する1又は複数の特徴抽出器から出力された特徴データに基づいて、画像に関する判定結果を表す出力データを出力する判定器を、学習画像及びラベルデータを含む学習データを用いて、学習画像を1又は複数の特徴抽出器に入力した場合に出力される特徴データに基づいて、学習画像に関連付けられたラベルデータを表す出力データを出力するように学習させることと、学習部は、新たな学習データを用いて、新たな学習データに含まれる検査対象の画像を1又は複数の特徴抽出器に入力した場合に出力される特徴データに基づいて、判定器により画像に関連付けられたラベルデータを表す出力データが出力されるように、判定器を追加学習させることと、を含む。
【0022】
この態様によれば、1又は複数の特徴抽出器は、それぞれ画像の特定の特徴を抽出するため、判定器を追加学習により更新したとしても、画像のどのような特徴に注目して判定結果が得られたのかが明確となる。これにより、学習モデルの追加学習を行う場合であっても、画像のどのような特徴に注目して判定結果が得られたのかが明確となる。
【0023】
本開示の他の態様に係る画像判定プログラムは、画像判定装置に備えられた演算部を、それぞれ、検査対象の画像に基づいて、画像の特定の特徴を表す特徴データを出力する1又は複数の特徴抽出器、1又は複数の特徴抽出器から出力された特徴データに基づいて、画像に関する判定結果を表す出力データを出力する判定器、及び学習画像及びラベルデータを含む学習データを用いて、学習画像を1又は複数の特徴抽出器に入力した場合に出力される特徴データに基づいて、学習画像に関連付けられたラベルデータを表す出力データを出力するように判定器を学習させる学習部、として機能させ、学習部は、新たな学習データを用いて、新たな学習データに含まれる検査対象の画像を1又は複数の特徴抽出器に入力した場合に出力される特徴データに基づいて、判定器により画像に関連付けられたラベルデータを表す出力データが出力されるように、判定器を追加学習させる。
【0024】
この態様によれば、1又は複数の特徴抽出器は、それぞれ画像の特定の特徴を抽出するため、判定器を追加学習により更新したとしても、画像のどのような特徴に注目して判定結果が得られたのかが明確となる。これにより、学習モデルの追加学習を行う場合であっても、画像のどのような特徴に注目して判定結果が得られたのかが明確となる。
【発明の効果】
【0025】
本発明によれば、学習モデルの追加学習を行う場合であっても、画像のどのような特徴に注目して判定結果が得られたのかが明確となる画像判定装置、学習方法及び画像判定プログラムを提供することができる。
【図面の簡単な説明】
【0026】
【
図1】本発明の実施形態に係る画像判定システムの構成例を示す図である。
【
図2】本実施形態に係る画像判定装置のハードウェア構成を示す図である。
【
図3】本実施形態に係る画像判定装置の機能ブロックを示す図である。
【
図4】本実施形態に係る学習モデルの構成例を示す図である。
【
図5】本実施形態に係る学習モデルの編集例を示す図である。
【
図6】本実施形態に係る画像判定装置により実行される画像判定処理のフローチャートである。
【
図7】本実施形態に係る画像判定装置により実行される学習モデルの追加学習処理のフローチャートである。
【発明を実施するための形態】
【0027】
以下、本発明の一側面に係る実施の形態(以下「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0028】
§1 適用例
図1は、本発明の実施形態に係る画像判定システム1の構成例を示す図である。はじめに、本発明が適用される場面の一例について説明する。本実施形態に係る画像判定システム1は、検査対象を撮像することにより生成される入力画像を、画像判定装置100が備える学習モデルによって解析し、欠陥検査や対象の分類を行う。学習モデルは、学習データを用いて、検査対象に関する欠陥の有無や検査対象の種類を分類するように事前に学習されていてよい。また、学習モデルは、新たな学習データが得られた場合に、追加学習されてよい。本実施形態に係る画像判定システム1は、学習モデルの追加学習を行う場合に、入力画像のどのような特徴に注目して判定結果が得られたのかが明確となるように学習モデルを更新する。なお、検査対象は、例えば、製造過程にある、部品、製品等のワーク(Work piece)等を含む。
【0029】
図1に示されるとおり、画像判定システム1は、例えば、ベルトコンベア2上を搬送される検査対象であるワーク4を撮像して得られる入力画像に対して画像計測処理を実行することで、ワーク4の外観検査又は外観計測を実現する。以下の説明においては、画像計測処理の典型例として、ワーク4表面における欠陥の有無の検査等に適用した例を説明するが、これに限らず、欠陥の種類の特定、欠陥の外観形状の寸法計測、ワーク4の種類の特定等にも応用が可能である。
【0030】
ベルトコンベア2の上部には撮像部であるカメラ102が配置されており、カメラ102の撮像視野6はベルトコンベア2の所定領域を含むように構成される。カメラ102の撮像により生成された画像データ(以下、「入力画像」ともいう。)は、画像判定装置100へ送信される。カメラ102による撮像は、周期的又はイベント発生時に実行される。
【0031】
画像判定装置100は、上位ネットワーク8を介して、PLC(プログラマブルコントローラ)10及びデータベース装置12等と接続されている。画像判定装置100における計測結果は、PLC10及び/又はデータベース装置12へ送信されてもよい。なお、上位ネットワーク8には、PLC10及びデータベース装置12に加えて、任意の装置が接続されるようにしてもよい。
【0032】
画像判定装置100は、処理中の状態や計測結果等を表示するためのディスプレイ104と、ユーザ操作を受け付ける入力部としてのキーボード106及びマウス108とが接続されていてもよい。
【0033】
画像判定装置100は機械学習によって生成された学習モデルを備えている。学習モデルは、画像を入力として受け付けて、画像の特定の特徴を表す特徴データを出力する1又は複数の特徴抽出器と、1又は複数の特徴抽出器から出力された特徴データに基づいて、画像に関する判定結果を表す出力データを出力する判定器とを含む。ここで、1又は複数の特徴抽出器は、例えば、画像に含まれるエッジを抽出するエッジ抽出器、画像に含まれる平面領域を抽出する平面部抽出器、画像の背景模様を抽出する背景模様抽出器、画像に含まれる2値化領域を抽出する2値化領域抽出器等を含んでよい。1又は複数の特徴抽出器は、それぞれ人が理解しやすい単一の特徴を抽出するようなモデルであってよく、機械学習モデルであってもよいし、ルールベースモデルであってもよい。判定器は、1又は複数の特徴データを入力として受け付けて、画像に関する判定結果を表す出力データを出力する。出力データは、例えば、検査対象の欠陥の有無、欠陥の種類、欠陥の外観形状の寸法、検査対象の種類等を表すデータであってよい。判定器は、例えばニューラルネットワークで構成されてよく、学習データを用いて、所望の出力データを出力するように事前に学習されていてよい。
【0034】
生産ライン上を流れるワーク4の種類や撮影条件等の検査条件は生産ラインによって様々であり、学習時の条件と必ずしも一致するとは限らない。このため、事前学習した学習モデルを生産ラインに用いると、誤った判定結果を出力することがある。そこで、学習モデルが正しく判定することができなかった画像を集めて、学習モデルの追加学習を行うことがある。この際、何ら制約無しに学習モデルの更新を行うと、当初想定していた特徴に注目して判定が行われているのか否かが不明確となり、画像のどのような特徴に注目して判定結果が得られたのかが説明できなくなることがある。そのため、生産ラインに学習モデルを導入する場合に、学習モデルの信頼性を説明することが困難となり、導入が妨げられる原因となることがある。
【0035】
本実施形態に係る画像判定装置100は、このような事情に鑑み、追加学習を行う場合に、学習モデルに含まれる1又は複数の特徴抽出器については変更を加えず、判定器を更新することとして、画像のどのような特徴に注目して判定結果が得られたのかを明確としている。1又は複数の特徴抽出器は、それぞれ画像の特定の特徴を抽出するため、判定器を追加学習により更新したとしても、画像のどのような特徴に注目して判定結果が得られたのか特定することができる。これにより、生産ラインに学習モデルを導入する場合に、学習モデルの信頼性を説明することが容易となり、導入が妨げられないようにすることができる。
【0036】
§2 構成例
[ハードウェア構成]
図2は、本実施形態に係る画像判定装置100のハードウェア構成を示す図である。画像判定装置100は、一例として、汎用的なコンピュータアーキテクチャに従って構成される汎用コンピュータを用いて実現されてもよい。画像判定装置100は、プロセッサ110と、メインメモリ(主記憶部)112と、カメラインターフェイス114と、入力インターフェイス116と、表示インターフェイス118と、通信インターフェイス120と、ストレージ(補助記憶部)130とを含む。これらのコンポーネントは、典型的には、内部バス122を介して互いに通信可能に接続されている。
【0037】
プロセッサ110は、ストレージ130に格納されているプログラムをメインメモリ112に展開して実行することで、次図以降を用いて詳述するような機能及び処理を実現する。メインメモリ112は、揮発性メモリにより構成され、プロセッサ110によるプログラム実行に必要なワークメモリとして機能する。
【0038】
カメラインターフェイスは取得部の一例である。カメラインターフェイス114は、カメラ102と接続されて、カメラ102にて撮像された入力画像を取得する。カメラインターフェイス114は、カメラ102に対して撮像タイミング等を指示するようにしてもよい。
【0039】
入力インターフェイス116は、キーボード106及びマウス108等のユーザによる操作が行われる入力部と接続される。入力インターフェイス116は、ユーザが入力部に対して行った操作等を示す指令を取得する。
【0040】
表示インターフェイス118は、表示部としてのディスプレイ104と接続されている。表示インターフェイス118は、プロセッサ110によるプログラムの実行によって生成される各種処理結果をディスプレイ104へ出力する。
【0041】
通信インターフェイス120は、上位ネットワーク8を介して、PLC10及びデータベース装置12等と通信するための処理を担当する。
【0042】
ストレージ130は、学習モデル136を実現するための画像処理プログラム132及びOS(operating system)134等、コンピュータを画像判定装置100として機能させるためのプログラムを格納している。ストレージ130は、さらに、学習モデル136と、カメラ102から取得された入力画像138と、学習モデル136の学習に用いられる学習データ140とを格納していてもよい。なお、学習データ140は、データベース装置12等の外部機器から上位ネットワーク8を介して取得されてよく、ストレージ130に一時的に格納されるものであってよい。
【0043】
ストレージ130に格納される画像処理プログラム132は、DVD(digital versatile disc)等の光学記録媒体又はUSB(universal serial bus)メモリ等の半導体記録媒体等を介して、画像判定装置100にインストールされてもよい。あるいは、画像処理プログラム132は、ネットワーク上のサーバ装置等からダウンロードするようにしてもよい。
【0044】
本実施の形態に係る画像処理プログラム132は、本実施の形態に係る機能を実現するためのすべてのソフトウェアモジュールを含んでおらず、OS134と協働することで、必要な機能が提供されるようにしてもよい。
【0045】
本実施の形態に係る画像処理プログラム132は、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、画像処理プログラム132自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。このように、本実施形態に係る画像処理プログラム132は、他のプログラムに組込まれた形態であってもよい。
【0046】
図2には、汎用コンピュータを用いて画像判定装置100を実現する例を示したが、これに限られることなく、その全部又は一部の機能を専用回路(例えば、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)等)を用いて実現してもよい。さらに、一部の処理をネットワーク接続された外部装置に担当させてもよい。
【0047】
[機能構成]
図3は、本実施形態に係る画像判定装置100の機能ブロックを示す図である。画像判定装置100は、ストレージ130に格納された学習モデル136と、編集部150と、学習部152とを備える。
【0048】
学習モデル136は、1又は複数の特徴抽出器136a及び判定器136bを含む。1又は複数の特徴抽出器136aは、それぞれ、検査対象の画像に基づいて、画像の特定の特徴を表す特徴データを出力する。判定器136bは、1又は複数の特徴抽出器136aから出力された特徴データに基づいて、画像に関する判定結果を表す出力データを出力する。
【0049】
学習部152は、学習画像及びラベルデータを含む学習データ140を用いて、学習画像を1又は複数の特徴抽出器136aに入力した場合に出力される特徴データに基づいて、学習画像に関連付けられたラベルデータを表す出力データを出力するように判定器136bを学習させる。ここで、学習画像は、予め撮影された検査対象の画像である。また、ラベルデータは、検査対象の状態を表すデータであり、例えば、検査対象に関する欠陥の有無、欠陥の種類、欠陥の外観形状の寸法、検査対象の種類等を表すデータであってよい。学習モデル136の学習処理は、画像判定装置100が生産ラインに組み込まれる前に実行されてよい。
【0050】
学習部152は、新たな学習データを用いて、新たな学習データに含まれる検査対象の画像を1又は複数の特徴抽出器136aに入力した場合に出力される特徴データに基づいて、判定器136bにより画像に関連付けられたラベルデータを表す出力データが出力されるように、判定器136bを追加学習させる。ここで、追加学習は、判定器136bについて行い、1又は複数の特徴抽出器136aについて行わなくてもよい。このようにして、1又は複数の特徴抽出器136aにより抽出される特徴を固定としつつ、より精度良く画像判定を行うことができるように判定器136bを更新することができる。
【0051】
学習部152は、判定器136bのパラメータを更新すること及び判定器136bに入力される特徴データの重みを更新することの少なくともいずれかを実行することで、判定器136bの追加学習を行ってよい。ここで、判定器136bのパラメータは、例えば判定器136bがニューラルネットワークで構成される場合、ノードの重みやバイアスであってよい。また、判定器136bに入力される特徴データがN種類ある場合、特徴データの重みwi(i=1~N)は、Σi=1
Nwi=1を満たす正の実数であってよい。学習部152は、判定器136bがニューラルネットワークで構成される場合、バックプロパゲーションの方法で判定器136bのパラメータ及び判定器136bに入力される特徴データの重みを更新してよい。このような追加学習によって、より精度良く判定結果が得られるように判定器を更新することができる。
【0052】
学習部152は、判定器136bの追加学習とあわせて、1又は複数の特徴抽出器136aの一部の特徴抽出器のパラメータを更新してもよい。例えば、1又は複数の特徴抽出器136aの一部の特徴抽出器がニューラルネットワークにより構成され、判定器136bがニューラルネットワークで構成される場合、学習部152は、バックプロパゲーションの方法で判定器136bのパラメータ、判定器136bに入力される特徴データの重み及び1又は複数の特徴抽出器136aの一部の特徴抽出器のパラメータを更新してよい。このように、追加学習によって、1又は複数の特徴抽出器136aの一部の特徴抽出器についてもあわせて更新することで、特徴抽出をより精度良く行い、かつ、より精度の良い判定結果が得られるように判定器136bを更新することができる。
【0053】
編集部150は、入力に基づいて、1又は複数の特徴抽出器136aの編集を行う。1又は複数の特徴抽出器136aを編集することで、抽出する画像の特徴を変更することができる。編集部150によって1又は複数の特徴抽出器136aの編集を行った場合、学習部152は、編集後の1又は複数の特徴抽出器136aから出力される特徴データを用いて、判定器136bを追加学習してよい。このようにして、抽出する画像の特徴を柔軟に変更して、使用環境に適した画像判定を実行するようにすることができる。
【0054】
編集部150は、入力に基づいて、画像の特定の特徴を表す特徴データを出力する新たな特徴抽出器を追加してよい。新たな特徴抽出器を追加した場合、学習部152は、追加された特徴抽出器を含む複数の特徴抽出器136aから出力される特徴データを用いて、判定器136bを追加学習してよい。このようにして、判定器136bへの入力に追加された画像の特徴を明確にして学習モデル136の追加学習を行うことができる。追加した特徴抽出器が明らかであることから、追加前後で学習モデル136による判定に変化が生じた場合にその原因が明らかとなるし、学習モデル136を事後的に元の構成に戻すことも容易となる。
【0055】
編集部150は、入力に基づいて、1又は複数の特徴抽出器136aの一部を削除してよい。特徴抽出器を削除した場合、学習部152は、更新後の1又は複数の特徴抽出器136aから出力される特徴データを用いて、判定器136bを追加学習してよい。このようにして、判定器136bへの入力から削除された画像の特徴を明確にして学習モデル136の追加学習を行うことができる。削除した特徴抽出器が明らかであることから、削除前後で学習モデル136による判定に変化が生じた場合にその原因が明らかとなるし、学習モデル136を事後的に元の構成に戻すことも容易となる。
【0056】
編集部150は、入力に基づいて、1又は複数の特徴抽出器136aのパラメータを編集してよい。1又は複数の特徴抽出器136aのパラメータを編集した場合、学習部152は、編集後の1又は複数の特徴抽出器136aから出力される特徴データを用いて、判定器136bを追加学習してよい。このようにして、判定器136bに入力される画像の特徴に関する変更点を明確にして学習モデル136の追加学習を行うことができる。編集した特徴抽出器が明らかであることから、編集前後で学習モデル136による判定に変化が生じた場合にその原因が明らかとなるし、学習モデル136を事後的に元の構成に戻すことも容易となる。
【0057】
§3 動作例
図4は、本実施形態に係る学習モデル136の構成例を示す図である。本例の学習モデル136は、エッジ抽出器136a-1、平面部抽出器136a-2及び背景模様抽出器136a-3と、判定器136bとを含む。
【0058】
エッジ抽出器136a-1、平面部抽出器136a-2及び背景模様抽出器136a-3は、それぞれ入力データ136i(検査対象の画像)を入力として受け付け、画像の特徴を表す特徴データを出力する。ここで、エッジ抽出器136a-1は、画像に含まれるエッジを抽出し、平面部抽出器136a-2は、画像に含まれる平面領域を抽出し、背景模様抽出器136a-3は、画像の背景模様を抽出する。
【0059】
判定器136bは、エッジ抽出器136a-1から出力された特徴データに重みw1をかけ、平面部抽出器136a-2から出力された特徴データに重みw2をかけ、背景模様抽出器136a-3から出力された特徴データに重みw3をかけて入力とし、入力データ136i(画像)に関する判定結果を表す出力データ136oを出力する。
【0060】
図5は、本実施形態に係る学習モデル136の編集例を示す図である。本例では、編集部150により特徴抽出器の追加が行われた例を示している。具体的には、
図4で示す3つの特徴抽出器に対して2値化領域抽出器136a-4の追加が行われた例を示している。本例の学習モデル136は、エッジ抽出器136a-1、平面部抽出器136a-2、背景模様抽出器136a-3及び2値化領域抽出器136a-4と、判定器136bとを含む。
【0061】
2値化領域抽出器136a-4は、入力データ136i(検査対象の画像)を入力として受け付け、画像の特徴を表す特徴データを出力する。ここで、2値化領域抽出器136a-4は、画像に含まれる2値化領域を抽出する。
【0062】
判定器136bは、エッジ抽出器136a-1から出力された特徴データに重みw1をかけ、平面部抽出器136a-2から出力された特徴データに重みw2をかけ、背景模様抽出器136a-3から出力された特徴データに重みw3をかけ、2値化領域抽出器136a-4から出力された特徴データに重みw4をかけて入力とし、入力データ136i(画像)に関する判定結果を表す出力データ136oを出力する。学習部152は、2値化領域抽出器136a-4の追加が行われた場合に、新たな学習データを用いて、判定器136bのパラメータ及び判定器136bに入力される特徴データの重みw1~w4を更新してよい。
【0063】
なお、本例では特徴抽出器を追加する場合について説明したが、特徴抽出器を削除したり、特徴抽出器のパラメータを編集したりする場合についても、同様に判定器136bの追加学習が行われてよい。
【0064】
また、例えば、表面が白いワークに不規則な黒い汚れが付着し始めた際に、追加学習によって黒い汚れを検出するために、編集部150により2値化領域抽出器136a-4を追加することとしてよい。また、編集部150により2値化領域抽出器136a-4を追加する他の例として、事前に用意した1又は複数の特徴抽出器136aに新たに2値化処理を追加する場合や、2値化処理で汚れのおおよその位置を抽出し、事前に用意した1又は複数の特徴抽出器136aと合わせて欠陥検出を行う場合が挙げられる。
【0065】
図6は、本実施形態に係る画像判定装置100により実行される画像判定処理のフローチャートである。はじめに、画像判定装置100は、検査対象の画像の特定の特徴を表す特徴データを出力する1又は複数の特徴抽出器136aを設定する(S10)。
【0066】
その後、画像判定装置100は、学習データに含まれる学習画像を1又は複数の特徴抽出器136aに入力し、出力される特徴データを判定器136bに入力して、学習データに含まれるラベルデータに対応する出力データが出力されるように、判定器136bの学習を行う(S11)。以上で、事前学習処理が終了する。
【0067】
その後、画像判定装置100が生産ラインに設置された後、カメラ102によって検査対象の画像を撮影する(S12)。そして、画像判定装置100は、新たに撮影された画像を1又は複数の特徴抽出器136aに入力し、出力された特徴データを判定器136bに入力して、画像に関する判定結果を表す出力データによって、画像を判定する(S13)。当然ながら、画像の撮影(S12)と、判定処理(S13)とは繰り返し行われてよい。以上により、画像判定処理が終了する。
【0068】
図7は、本実施形態に係る画像判定装置100により実行される学習モデル136の追加学習処理のフローチャートである。はじめに、画像判定装置100は、特徴抽出器を編集するか否かを判定する(S20)。特徴抽出器を編集するか否かは、入力に基づいて決定されてよい。
【0069】
特徴抽出器を編集する場合(S20:YES)、画像判定装置100は、特徴抽出器を追加するか否かを判定する(S21)。入力に基づいて特徴抽出器を追加する場合(S21:YES)、画像判定装置100は、新たな特徴抽出器を追加する(S22)。
【0070】
また、画像判定装置100は、特徴抽出器を削除するか否かを判定する(S23)。入力に基づいて特徴抽出器を削除する場合(S23:YES)、画像判定装置100は、選択された特徴抽出器を削除する(S24)。
【0071】
また、画像判定装置100は、特徴抽出器のパラメータを編集するか否かを判定する(S25)。入力に基づいて特徴抽出器のパラメータを編集する場合(S25:YES)、画像判定装置100は、選択された特徴抽出器のパラメータを入力に基づいて編集する(S26)。
【0072】
その後、画像判定装置100は、新たな学習データに含まれる学習画像を編集後の1又は複数の特徴抽出器に入力し、出力された特徴データを所定の重み付けで判定器に入力し、判定器の出力データによって新たな学習データに含まれるラベルデータが再現されるように判定器を追加学習する(S27)。
【0073】
ここで、1又は複数の特徴抽出器の一部の特徴抽出器も更新する場合(S28:YES)、画像判定装置100は、1又は複数の特徴抽出器の一部の特徴抽出器のパラメータを更新する(S29)。
【0074】
なお、画像判定装置100は、判定器のパラメータ、判定器に入力される特徴データの重み及び1又は複数の特徴抽出器の一部の特徴抽出器のパラメータを更新する処理を、所定の条件を満たすまで繰り返し行ってよい。以上により、追加学習処理が終了する。
【0075】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【0076】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【0077】
[付記1]
それぞれ、検査対象の画像に基づいて、前記画像の特定の特徴を表す特徴データを出力する1又は複数の特徴抽出器(136a)と、
前記1又は複数の特徴抽出器(136a)から出力された前記特徴データに基づいて、前記画像に関する判定結果を表す出力データを出力する判定器(136b)と、
学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記1又は複数の特徴抽出器(136a)に入力した場合に出力される前記特徴データに基づいて、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように前記判定器(136b)を学習させる学習部(152)と、を備え、
前記学習部(152)は、新たな学習データを用いて、前記新たな学習データに含まれる前記検査対象の画像を前記1又は複数の特徴抽出器(136a)に入力した場合に出力される前記特徴データに基づいて、前記判定器(136b)により前記画像に関連付けられたラベルデータを表す前記出力データが出力されるように、前記判定器(136b)を追加学習させる、
画像判定装置(100)。
【0078】
[付記2]
前記学習部(152)は、前記判定器(136b)のパラメータを更新すること及び前記判定器(136b)に入力される前記特徴データの重みを更新することの少なくともいずれかを実行することで、前記判定器(136b)の追加学習を行う、
付記1に記載の画像判定装置(100)。
【0079】
[付記3]
前記学習部(152)は、前記判定器(136b)の追加学習とあわせて、前記1又は複数の特徴抽出器(136a)の一部の特徴抽出器(136a)のパラメータを更新する、
付記1又は2に記載の画像判定装置(100)。
【0080】
[付記4]
入力に基づいて、前記1又は複数の特徴抽出器(136a)の編集を行う編集部(150)をさらに備える、
付記1から3のいずれか一項に記載の画像判定装置(100)。
【0081】
[付記5]
前記編集部(150)は、前記入力に基づいて、前記画像の特定の特徴を表す特徴データを出力する新たな特徴抽出器(136a)を追加する、
付記4に記載の画像判定装置(100)。
【0082】
[付記6]
前記編集部(150)は、前記入力に基づいて、前記1又は複数の特徴抽出器(136a)の一部を削除する、
付記4又は5に記載の画像判定装置(100)。
【0083】
[付記7]
前記編集部(150)は、前記入力に基づいて、前記1又は複数の特徴抽出器(136a)のパラメータを編集する、
付記4から6のいずれか一項に記載の画像判定装置(100)。
【0084】
[付記8]
検査対象の画像に基づいて、前記画像の特定の特徴を表す特徴データをそれぞれ出力する1又は複数の特徴抽出器(136a)から出力された前記特徴データに基づいて、前記画像に関する判定結果を表す出力データを出力する判定器(136b)を、学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記1又は複数の特徴抽出器(136a)に入力した場合に出力される前記特徴データに基づいて、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように学習させることと、
前記学習部(152)は、新たな学習データを用いて、前記新たな学習データに含まれる前記検査対象の画像を前記1又は複数の特徴抽出器(136a)に入力した場合に出力される前記特徴データに基づいて、前記判定器(136b)により前記画像に関連付けられたラベルデータを表す前記出力データが出力されるように、前記判定器(136b)を追加学習させることと、
を含む学習方法。
【0085】
[付記9]
画像判定装置(100)に備えられた演算部を、
それぞれ、検査対象の画像に基づいて、前記画像の特定の特徴を表す特徴データを出力する1又は複数の特徴抽出器(136a)、
前記1又は複数の特徴抽出器(136a)から出力された前記特徴データに基づいて、前記画像に関する判定結果を表す出力データを出力する判定器(136b)、及び
学習画像及びラベルデータを含む学習データを用いて、前記学習画像を前記1又は複数の特徴抽出器(136a)に入力した場合に出力される前記特徴データに基づいて、前記学習画像に関連付けられた前記ラベルデータを表す前記出力データを出力するように前記判定器(136b)を学習させる学習部(152)、として機能させ、
前記学習部(152)は、新たな学習データを用いて、前記新たな学習データに含まれる前記検査対象の画像を前記1又は複数の特徴抽出器(136a)に入力した場合に出力される前記特徴データに基づいて、前記判定器(136b)により前記画像に関連付けられたラベルデータを表す前記出力データが出力されるように、前記判定器(136b)を追加学習させる、
画像判定プログラム。
【符号の説明】
【0086】
1…画像判定システム、2…ベルトコンベア、4…ワーク、6…撮像視野、8…上位ネットワーク、10…PLC、12…データベース装置、100…画像判定装置、102…カメラ、104…ディスプレイ、106…キーボード、108…マウス、110…プロセッサ、112…メインメモリ、114…カメラインターフェイス、116…入力インターフェイス、118…表示インターフェイス、120…通信インターフェイス、122…内部バス、130…ストレージ、132…画像処理プログラム、134…OS、136…学習モデル、136a…特徴抽出器、136a-1…エッジ抽出器、136a-2…平面部抽出器、136a-3…背景模様抽出器、136a-4…2値化領域抽出器、136b…判定器、136i…入力データ、136o…出力データ、138…入力画像、140…学習データ、150…編集部、152…学習部