(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022142555
(43)【公開日】2022-09-30
(54)【発明の名称】判定システム、画像生成装置、画像生成方法、および画像生成プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220922BHJP
G06N 20/00 20190101ALI20220922BHJP
【FI】
G06T7/00 350B
G06T7/00 610B
G06N20/00 130
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021042764
(22)【出願日】2021-03-16
(71)【出願人】
【識別番号】000005119
【氏名又は名称】日立造船株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】特許業務法人HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】森本 晃章
(72)【発明者】
【氏名】前田 誠一
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096BA03
5L096CA24
5L096DA01
5L096DA02
5L096EA06
5L096EA14
5L096EA16
5L096EA35
5L096EA43
5L096FA06
5L096FA17
5L096FA25
5L096FA66
5L096FA67
5L096FA69
5L096GA07
5L096GA10
5L096GA40
5L096GA51
5L096HA11
5L096JA09
5L096KA04
5L096KA13
(57)【要約】
【課題】判定モデルの学習効率化。
【解決手段】判定システム(100)は、判定モデル(15)を用いて対象物の良否判定を行う判定装置(1)と、判定装置(1)が良品と誤判定した場合の画像を取得するデータ収集装置(3)と、前記画像に写る不良部分を元に学習用画像を複数生成する画像生成装置(4)と、複数の前記学習用画像を教師データとして判定モデル(15)の再学習を行う学習装置(5)と、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
良否が既知の対象物の画像を教師データとした機械学習により構築された判定モデルを用いて、良否不明の対象物を撮影した画像から当該対象物の良否判定を行う判定装置と、
前記判定装置が実際には不良である対象物を良品と誤判定した場合の前記画像を取得するデータ収集装置と、
前記データ収集装置が取得した前記画像に写る不良部分を元に、前記判定モデルの再学習に用いる教師データとして用いられる学習用画像を複数生成する画像生成装置と、
前記画像生成装置が生成した複数の前記学習用画像を教師データとして前記判定モデルの再学習を行う学習装置と、を含む判定システム。
【請求項2】
前記判定装置は、前記良否判定の結果と共に当該結果の確からしさを示す指標値を出力し、
前記データ収集装置は、前記判定装置が誤判定した前記画像に加えて、前記判定装置の判定結果が正しかった前記画像のうち、(1)前記指標値が示す確からしさが所定の閾値未満であった前記画像、および(2)前記指標値が示す確からしさが、前記判定装置が複数の対象物のそれぞれについて出力した各指標値の中で相対的に低かった前記画像、の少なくとも何れかを取得する、請求項1に記載の判定システム。
【請求項3】
良否不明の複数の対象物のそれぞれを撮影した画像のうち、良否が既知の対象物の画像を教師データとした機械学習により構築された判定モデルを用いた良否判定において、実際には不良である対象物が良品と誤判定された場合の前記画像を取得するデータ取得部と、
前記データ取得部が取得した前記画像に写る不良部分を元に、前記判定モデルの再学習に用いる教師データとして用いられる学習用画像を複数生成する画像生成部と、を備える画像生成装置。
【請求項4】
良品の前記対象物が写る良品画像から、前記不良が発生し得る部分が写る所定の色範囲の領域を抽出する領域抽出部と、
前記データ取得部が取得した前記画像から前記不良部分を切り出して、前記領域に合成する合成用画像を生成する合成用画像生成部と、を備え、
前記画像生成部は、前記領域に前記合成用画像を合成して前記学習用画像を生成する、請求項3に記載の画像生成装置。
【請求項5】
(1)前記領域内に前記合成用画像を合成する候補位置を設定し、(2)当該候補位置に合成した前記合成用画像の全体が前記領域内に収まるか判定し、(3)収まらなければ候補位置を変更する、という一連の処理を、前記合成用画像の全体が収まると判定されるまで繰り返すことにより、前記合成用画像の合成位置を決定する合成位置決定部を備える、請求項4に記載の画像生成装置。
【請求項6】
前記画像から、当該画像に写る不良部分と、当該不良が発生し得るが発生していない正常部分との色の差を示す色情報を生成する色情報生成部と、
良品の前記対象物が写る良品画像から、前記不良が発生し得る部分が写る所定の色範囲の領域を抽出する領域抽出部と、を備え、
前記画像生成部は、前記領域抽出部が抽出した領域の一部または全部における色を、前記色情報に基づいて変更することにより前記学習用画像を生成する、請求項3に記載の画像生成装置。
【請求項7】
画像生成装置が実行する画像生成方法であって、
良否不明の複数の対象物のそれぞれを撮影した画像のうち、良否が既知の対象物の画像を教師データとした機械学習により構築された判定モデルを用いた良否判定において、実際には不良である対象物が良品と誤判定された場合の前記画像を取得するステップと、
前記ステップで取得した前記画像に写る不良部分を元に、前記判定モデルの再学習に用いる教師データとして用いられる学習用画像を複数生成するステップと、を含む画像生成方法。
【請求項8】
請求項3に記載の画像生成装置としてコンピュータを機能させるための画像生成プログラムであって、前記データ取得部および前記画像生成部としてコンピュータを機能させるための画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習により構築された判定モデルを用いて良否判定を行う判定システム等に関する。
【背景技術】
【0002】
従来から、機械学習により構築された判定モデルを用いて良否判定を行う対象物の良否判定を行う判定システムが知られている。このような判定システムにおいては、判定モデルの判定精度を担保し、また向上させるために、不良と判定すべき対象物の画像(以下、不良品画像と呼ぶ)が多数必要になるが、多数の不良品画像の収集は時間的・人的コストが高いという問題がある。
【0003】
上記の問題を解決するための技術として、不良品画像を画像合成により生成するという技術が知られている。例えば、下記の特許文献1には、様々なキズや欠陥の代表的なシルエット形状を示す画像を用いて、複数のキズ・欠陥画像を生成することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の技術では、様々なキズや欠陥の代表的なシルエット形状を示す画像を予め収集しておく必要があるが、このような作業には時間的・人的コストがかかる。また、収集時に想定していなかったような形状のキズや欠陥が発生したときには、それを検出することができない。
【0006】
そして、そのようなキズや欠陥を検出することができるようにするためには判定モデルの再学習が必要になる。再学習の際には、まず、そのキズや欠陥が写る画像を探し出す必要がある。そして、その形状のシルエットを作成した上で、複数のキズ・欠陥画像を生成し、それらを用いて生成した教師データで再学習を行う必要がある。このように、特許文献1の技術は、判定モデルの学習を効率化するものであるが、更に効率化する余地がある。
【0007】
本発明の一態様は、上記の問題点に鑑みてなされたものであり、その目的は、対象物の良否判定に用いられる判定モデルの学習を効率化することができる判定システム等を提供することにある。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本発明の一態様に係る判定システムは、良否が既知の対象物の画像を教師データとした機械学習により構築された判定モデルを用いて、良否不明の対象物を撮影した画像から当該対象物の良否判定を行う判定装置と、前記判定装置が実際には不良である対象物を良品と誤判定した場合の前記画像を取得するデータ収集装置と、前記データ収集装置が取得した前記画像に写る不良部分を元に、前記判定モデルの再学習に用いる教師データとして用いられる学習用画像を複数生成する画像生成装置と、前記画像生成装置が生成した複数の前記学習用画像を教師データとして前記判定モデルの再学習を行う学習装置と、を含む。
【0009】
上記の課題を解決するために、本発明の一態様に係る画像生成装置は、良否不明の複数の対象物のそれぞれを撮影した画像のうち、良否が既知の対象物の画像を教師データとした機械学習により構築された判定モデルを用いた良否判定において、実際には不良である対象物が良品と誤判定された場合の前記画像を取得するデータ取得部と、前記データ取得部が取得した前記画像に写る不良部分を元に、前記判定モデルの再学習に用いる教師データとして用いられる学習用画像を複数生成する画像生成部と、を備える。
【0010】
上記の課題を解決するために、本発明の一態様に係る画像生成方法は、画像生成装置が実行する画像生成方法であって、良否不明の複数の対象物のそれぞれを撮影した画像のうち、良否が既知の対象物の画像を教師データとした機械学習により構築された判定モデルを用いた良否判定において、実際には不良である対象物が良品と誤判定された場合の前記画像を取得するステップと、前記ステップで取得した前記画像に写る不良部分を元に、前記判定モデルの再学習に用いる教師データとして用いられる学習用画像を複数生成するステップと、を含む。
【発明の効果】
【0011】
本発明の一態様によれば、対象物の良否判定に用いられる判定モデルの学習を効率化することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の実施形態1に係る判定システムの構成例を示す図である。
【
図2】上記判定システムにおける学習用画像の生成例を示す図である。
【
図3】本発明の実施形態2に係る画像生成装置の要部構成の一例を示すブロック図である。
【
図4】上記画像生成装置が実行する処理を説明する図である。
【
図5】上記画像生成装置が実行する合成位置決定処理を説明する図である。
【
図6】上記画像生成装置が実行する合成処理の流れを示すフローチャートである。
【
図7】本発明の実施形態3に係る画像生成装置の要部構成の一例を示すブロック図である。
【
図8】上記画像生成装置が実行する差分色情報の生成処理を説明する図である。
【
図9】上記画像生成装置が実行する実行する処理の全体を説明する図である。
【
図10】上記画像生成装置が実行する色変換対象領域の設定処理を説明する図である。
【
図11】上記画像生成装置が実行する学習用画像生成処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0013】
〔実施形態1〕
(システム構成)
図1は、本発明の一実施形態に係る判定システム100の構成例を示す図である。判定システム100は、所定の対象物を撮影した画像を用いて、その対象物が良品であるか不良品であるかを判定するシステムである。
【0014】
なお、対象物は、その外観に基づいて良品であるか不良品であるかを判定可能なものであればよい。上記対象物の具体例としては、各種工業製品(完成品であってもよいし、部品や中間生成品であってもよい)や食品などが挙げられる。また、不良品とは、対象品に求められる要件を満たしていない対象物であり、例えば、表面にキズ、汚れ、変色等がある、異物が付着している、良品と形状、印字、刻印などが異なるものなどが不良品とされる。
【0015】
図示のように、判定システム100には、判定装置1、記憶装置2、データ収集装置3、画像生成装置4、および学習装置5が含まれている。
【0016】
判定装置1は、良否が既知の対象物の画像を教師データとした機械学習により構築された判定モデル15を用いて、良否不明の対象物を撮影した画像から当該対象物の良否判定を行う装置である。判定装置1は、画像取得部11、判定部12、判定結果出力部13、および更新部14を備えている。
【0017】
画像取得部11は、良否不明の対象物を撮影した画像を取得する。
図1の例では、画像取得部11は、良否不明の対象物Aを撮影した画像Bを取得している。画像Bには、対象物Aの像aが写っている。
【0018】
判定部12は、判定モデル15を用いて、画像取得部11が取得した画像から当該画像に写る対象物の良否判定を行う。
図1の例では、判定部12は、画像Bを判定モデル15に入力して得られる出力値から対象物Aが良品であるか不良品であるかを判定する。また、判定部12は、判定結果と共に、その判定結果の確からしさを示す指標値を出力する。以下では、この指標値を確信度と呼ぶ。確信度は0~100%の範囲の数値であり、100%に近いほど判定結果が確からしいことを示す。
【0019】
判定モデル15は、良否が既知の対象物の画像を教師データとした機械学習により構築されたモデルである。また、判定モデル15は、上述のように判定結果と共に確信度を出力する。機械学習のアルゴリズムは、画像を良・否に2分類することが可能な判定モデル15を生成できるものであればよい。機械学習のアルゴリズムとしては、例えば、画像の分類精度の高い畳み込みニューラルネットワーク等が好適であるが、この例に限られない。なお、判定モデル15は、不良の種類についても判定できるものとしてもよい。この場合、各種類の不良部分を含む画像を用いて機械学習を行えばよい。
【0020】
判定結果出力部13は、判定部12の判定結果を出力する。この判定結果は、記憶装置2の判定結果格納部22に記録される。また、この判定に用いられた画像は、記憶装置2の画像格納部21に格納される。
【0021】
更新部14は、判定モデル15を更新する。詳細は後述するが、学習装置5は判定モデル15の再学習を行い、判定モデル15の各種パラメータを更新して、更新後の各種パラメータを判定装置1に通知する。このため、更新部14は、学習装置5からの上記通知に従って判定モデル15を更新する。これにより、学習装置5による再学習の結果が、次回以降の判定部12の判定に反映される。
【0022】
記憶装置2は、判定システム100で使用される各種データを格納する装置である。記憶装置2には、良否判定に用いられた画像を格納する画像格納部21と、良否判定の結果を格納する判定結果格納部22が含まれている。
【0023】
データ収集装置3は、判定装置1が良否判定に用いた画像のうち、目視による再判定が必要な画像を取得する。そして、データ収集装置3は、取得した画像の中から、判定装置1が実際には不良である対象物を良品と誤判定した場合の、当該対象物の画像を取得する。データ収集装置3は、候補抽出部31、目視判定部32、およびデータ送信部33を備えている。
【0024】
候補抽出部31は、判定結果格納部22に格納されている判定結果を参照し、目視による再判定が必要なものを抽出する。具体的には、候補抽出部31は、確信度が所定の閾値未満であった判定結果を抽出する。例えば、候補抽出部31は、確信度が80%未満の判定結果を抽出してもよい。
【0025】
また、候補抽出部31は、確信度が相対的に低かった判定結果を抽出してもよい。例えば、候補抽出部31は、全判定結果のうち確信度が下位所定%の判定結果を抽出してもよいし、確信度が所定範囲の判定結果のうち確信度が下位所定%の判定結果を抽出してもよい。
【0026】
目視判定部32は、候補抽出部31が抽出した判定結果に対応する画像の目視判定を行う。具体的には、目視判定部32は、候補抽出部31が抽出した判定結果に対応する画像を画像格納部21から取得し、表示装置(データ収集装置3が備えていてもよいし、データ収集装置3に接続されたものであってもよい)に表示させる。目視検査員は、表示された画像について目視で良否確認を行い、確認結果をデータ収集装置3に入力する。入力する内容は、対象物の良否である。また、否である場合には不良部分の位置および範囲を示す不良領域情報についても入力する。また、不良の種類についても学習させる場合には不良の種類についても入力する。そして、目視判定部32は、これらの入力内容を目視判定の結果として記録する。
【0027】
データ送信部33は、目視判定結果に基づき、不良品である対象物が良品と誤判定された場合の画像を特定し、特定した画像を画像生成装置4に送信する。この画像は、不良品である対象物が写る不良品画像であり、かつ、誤判定されたものであるから、以下ではこの画像を誤判定不良品画像と呼ぶ。
【0028】
具体的には、データ送信部33は、まず、判定結果格納部22に格納されている判定結果のうち、判定装置1の判定結果が良品であり、かつ目視判定結果が不良品である判定結果を特定する。次に、データ送信部33は、画像格納部21に格納されている画像のうち、特定した上記判定結果に対応する画像を誤判定不良品画像として取得する。そして、データ送信部33は、誤判定不良品画像を、その判定結果(判定装置1および目視判定の判定結果)と共に画像生成装置4に送信する。これらのデータの送信には、例えば大容量ファイル転送サービス等を利用してもよい。
【0029】
画像生成装置4は、データ収集装置3が取得した誤判定不良品画像に写る不良部分を元に、判定モデル15の再学習用の教師データとして用いられる学習用画像を複数生成する。画像生成装置4は、データ取得部41と画像生成部42を備えている。
【0030】
データ取得部41は、良否不明の複数の対象物のそれぞれを撮影した画像のうち、判定モデル15を用いた良否判定において、実際には不良である対象物が良品と誤判定された場合の画像、すなわち誤判定不良品画像を取得する。上述のように、誤判定不良品画像はデータ送信部33から送信される。
【0031】
画像生成部42は、データ取得部41が取得した誤判定不良品画像に写る不良部分を元に、判定モデル15の再学習に用いる教師データとして用いられる学習用画像を複数生成する。
【0032】
学習装置5は、画像生成装置4が生成した複数の学習用画像を教師データとして判定モデル15の再学習を行う。学習装置5は、学習用画像取得部51、教師データ生成部52、学習部53、および更新通知部54を備えている。
【0033】
学習用画像取得部51は、画像生成装置4(より詳細には画像生成部42)が生成した複数の学習用画像を取得する。教師データ生成部52は、学習用画像取得部51が取得した学習用画像に、その学習用画像における不良部分の位置および範囲を示す正解データを対応付けて、判定モデル15の再学習用の教師データを生成する。なお、正解データには不良の種類を示す情報を含めてもよい。
【0034】
ここで、上述のように、教師データの生成に用いる学習用画像は、画像生成部42が生成する。このため、画像生成部42は、生成した学習用画像における不良部分の位置および範囲を示す情報を出力することが可能である。教師データ生成部52は、このような情報を正解データとして教師データを生成してもよい。この場合、学習装置5のユーザは、妥当な正解データとなっているかを目視確認する作業を行うだけでよい。
【0035】
また、教師データ生成部52は、不良品画像から教師データを生成することもできる。この場合、教師データ生成部52は、例えばテンプレートマッチング等により不良部分の位置および範囲を予測してもよい。そして、教師データ生成部52は、予測結果を任意の表示装置に表示させて、妥当な位置および範囲となっているかを学習装置5のユーザに目視確認させてもよい。この場合、表示された位置および範囲が妥当でなければ、学習装置5のユーザが手動で修正すればよい。
【0036】
学習部53は、教師データ生成部52が生成した教師データを用いて判定モデル15の再学習を行う。更新通知部54は、学習部53の再学習により更新された判定モデル15の各種パラメータ(例えばニューラルネットワークモデルの重みパラメータ等)を判定装置1に通知する。各種パラメータは、例えば大容量ファイル転送サービス等を利用して送信してもよい。この後、上述のように判定装置1の更新部14が判定モデル15を更新する。
【0037】
以上のように、判定システム100は、良否が既知の対象物の画像を教師データとした機械学習により構築された判定モデル15を用いて、良否不明の対象物を撮影した画像から当該対象物の良否判定を行う判定装置1と、誤判定不良品画像(判定装置1が実際には不良である対象物を良品と誤判定した場合の、当該対象物の画像)を取得するデータ収集装置3と、データ収集装置3が取得した誤判定不良品画像に写る不良部分を元に、判定モデル15の再学習に用いる教師データとして用いられる学習用画像を複数生成する画像生成装置4と、画像生成装置4が生成した複数の学習用画像を教師データとして判定モデル15の再学習を行う学習装置5と、を含む。
【0038】
上記の構成によれば、判定装置1が誤判定した誤判定不良品画像をデータ収集装置3が収集するので、教師データ用の画像を選別したり、収集したりする人的コストを低減することができる。また、上記の構成によれば、収集した誤判定不良品画像から複数の学習用画像を生成してそれらを教師データとするので、収集された誤判定不良品画像の数が十分でなくても十分な学習効果が期待できる。例えば、判定モデル15の構築時には想定していなかった新種の不良が発生した場合であっても、再学習後はその新種の不良の対象物を不良と判定することが可能になる。このように、上記の構成によれば、対象物の良否判定に用いられる判定モデル15の学習を効率化することができる。
【0039】
(学習用画像の生成)
判定システム100における学習用画像の生成について
図2に基づいて説明する。
図2は、学習用画像の生成例を示す図である。学習用画像は、誤判定不良品画像と、判定モデル15を用いた良否判定において良品と正しく判定された画像または目視判定において良品と判定された画像(以下、良品画像と呼ぶ)を用いて生成することができる。
【0040】
図2に示す画像Cは、不良品である対象物A1を撮影した画像である。画像Cに写る対象物の像a1には、変色部a11が含まれており、変色部a11が含まれているために対象物A1は不良品である。対象物A1については、判定装置1による自動判定とデータ収集装置3による目視判定が行われており、それらの判定結果を
図2には判定結果RCとして示している。
【0041】
判定結果RCには、対象物IDと、判定装置1による自動判定結果と、データ収集装置3による目視判定結果とが含まれている。なお、対象物IDは、判定システム100において対象物を一意に識別するために付与された識別情報である。判定結果RCにおける自動判定結果は良品(72%)となっている。「72%」は確信度である。
【0042】
上述のように、候補抽出部31は、記憶装置2の画像格納部21に格納されている画像の中から、確信度が所定の閾値未満であったものを抽出する。例えば、候補抽出部31が確信度80%未満の画像を抽出する場合、確信度が72%の画像Cは抽出される。
【0043】
なお、再学習を繰り返すことにより判定精度は向上し、それに伴って最適な閾値も変化する。このため、候補抽出部31は、閾値を自動で更新してもよい。例えば、候補抽出部31は、判定装置1の判定結果のうち、確信度が閾値以上となるものと、閾値未満となるものとの比が一定になるように閾値を設定してもよい。
【0044】
候補抽出部31が抽出した画像Cは、目視判定部32により目視判定に供される。画像Cには変色部a11が含まれているため、目視判定では不良品と判定され、その判定結果が判定結果RCとして記録される。判定結果RCには、目視判定の結果として、不良品であることが記録されていると共に、不良部分の位置および範囲を示す不良領域情報が記録されている。x、yは不良部分の位置を示す座標であり、w、hは不良部分の幅と高さをそれぞれ示している。なお、判定部12が不良部分の位置および範囲を考慮せずに良否判定を行う場合(判定モデル15の構築に用いた教師データにおける正解データに不良部分の位置および範囲が含まれていない場合)には、不良領域情報を記録する必要はない。
【0045】
一方、
図2に示すD1~Dnは、良品である対象物A2-1~A2-nを撮影した画像である(nは自然数)。対象物A2-1は良品であり、D1は良品画像である。このため、良品画像D1に写る対象物の像a2-1には変色、キズ、汚れ等の不良部分はない。対象物A2-1については、判定装置1による良否判定が行われており、それらの判定結果を
図2には判定結果RDとして示している。
【0046】
判定結果RDには、対象物A2-1の対象物IDと、判定装置1による自動判定結果が含まれている。判定結果RDにおける自動判定結果は良品(95%)となっており、この判定結果に確信が持てることを意味している。このような判定結果は、候補抽出部31により抽出されず、それゆえ、データ収集装置3による目視判定も行われない。このため、判定結果RDには目視判定結果は含まれていない。これは、対象物A2-2~A2-nについても同様である。
【0047】
データ送信部33は、判定結果RCに基づいて画像Cを誤判定不良品画像であると特定し、画像Cを判定結果RCと共に画像生成装置4に送信する。そして、画像生成装置4のデータ取得部41が、送信された画像Cと判定結果RCを取得する。
【0048】
次に、画像生成部42は、画像Cから判定結果RCに示される不良部分を切り出して不良品部分画像C1を生成する。また、画像生成部42は、不良品部分画像C1のマスク画像C2についてもあわせて生成する。マスク画像C2は、不良品部分画像C1を良品画像に合成する際に使用する画像であり、不良品部分画像C1における不良部分の背景領域をマスクするためのものである。
【0049】
マスク画像C2は、例えば以下のような手順で生成することができる。まず、画像生成部42は、不良品部分画像C1(不良品画像Cであってもよい)を任意の表示装置に表示させる。ここで画像生成装置4のオペレータは、表示された画像における不良部分をマウス等の任意のポインティングデバイスで指定する。そして、画像生成部42は、指定された不良部分の画素と、その画素の色情報を取得する。色情報は、不良部分と正常部分の境界を識別できるようなものであればよく、例えばRGB値(R:赤、G:緑、B:青)であってもよいし、HSV値(H:色相、S:彩度、V:明度)であってもよい。
【0050】
次に、画像生成部42は、指定された位置の画素を含み、当該画素との色情報の差が所定の範囲内の画素からなる連続領域を特定する。具体的には、画像生成部42は、指定された位置の画素と、その画素に隣接する画素との色情報の差が所定の範囲内であるか否かを判定し、範囲内であればさらに隣の画素について同じ判定を行う。この判定を、色情報の差が所定の範囲外となるまで繰り返すことにより、上記連続領域を特定することができる。
【0051】
最後に、画像生成部42は、不良品部分画像C1における上記連続領域内の画素を白(例えば256階調であればRGBの各値を255)とし、背景を黒(画素値=0)とする。これにより、マスク画像C2が完成する。なお、合成時に背景と不良部分との境界が滑らかになるように、画像生成部42はマスク画像C2を平滑化してもよい。
【0052】
なお、
図2には、誤判定不良品画像として画像Cのみを示しているが、誤判定不良品画像が画像C以外にも存在するときには、それらの誤判定不良品画像についても不良品部分画像とマスク画像が生成される。
【0053】
そして、画像生成部42は、以上のようにして生成した不良品部分画像C1とマスク画像C2に変換処理を施して合成用画像を生成し、生成した合成用画像を良品画像D1~Dnのそれぞれに合成して、学習用画像E1~Enを生成する。変換処理としては、回転変換、形状変換、色変換等様々なものが適用できる。
図2に示す合成用画像は、不良品部分画像C1とマスク画像C2を回転変換した不良品部分画像C1’とマスク画像C2’である。
【0054】
学習用画像E1~Enのバリエーションを増やすため、合成の際には、良品画像D1~Dnのそれぞれについて合成位置を異ならせることが好ましい。また、良品画像D1~Dnごとにマスク画像C2の透過度を変更してもよい。また、不良品部分画像が複数存在する場合には、良品画像D1~Dnごとに合成する不良品部分画像をランダムに選択するようにしてもよい。なお、マスク画像を用いた合成処理の詳細については実施形態2で説明する。
【0055】
図2に示す学習用画像E1に写る対象物の像は、良品画像D1と同じくa2-1であるが、この像a2-1には、不良品部分画像C1に写る不良部分が回転された上で合成された不良部分a31が含まれている。よって、学習用画像E1は、不良部分a31を学習するための教師データとして用いることができる。
【0056】
(教師データの生成方法の他の例)
確信度が所定の閾値未満であったということは、判定結果の信頼性が低いということを示している。判定モデル15の精度向上という観点から、確信度が所定の閾値未満となった画像を教師データとして再学習し、そのような画像についても信頼性の高い判定が行えるようにすることが好ましい。
【0057】
このため、データ収集装置3のデータ送信部33は、判定装置1が誤判定した画像に加えて、判定装置1の判定結果が正しかった画像のうち、確信度が所定の閾値未満であった画像を取得してもよい。なお、確信度が所定の閾値未満の上記画像には、不良品であるという判定結果は正しかったがその確信度が所定の閾値未満であった画像と、良品であるという判定結果は正しかったがその確信度が所定の閾値未満であった画像が含まれる。
【0058】
上記の構成によれば、このような教師データとして用いることが好ましい画像を収集し、それら画像に基づいて生成された教師データを用いて再学習を行うので、判定モデルの判定精度を高めることができる。
【0059】
具体的には、データ送信部33は、不良品であるという判定結果は正しかったがその確信度が所定の閾値未満であった画像については、画像生成装置4に送信して学習用画像を生成させることができる。また、データ送信部33は、そのような画像を不良品画像として学習装置5に送信して、不良品画像の教師データにさせてもよい。
【0060】
また、データ送信部33は、良品であるという判定結果は正しかったがその確信度が所定の閾値未満であった画像については、良品画像として学習装置5に送信して、良品画像の教師データにさせればよい。
【0061】
また、データ送信部33は、確信度が所定の閾値未満であった画像に加えて、または、確信度が所定の閾値未満であった画像の代わりに、判定装置1の判定結果が正しかった画像のうち、確信度が、判定装置1が複数の対象物のそれぞれについて出力した確信度の中で相対的に低かった画像を取得してもよい。
【0062】
〔実施形態2〕
本発明の実施形態2について
図3~
図6に基づいて説明する。なお、本実施形態に係る判定システムは、実施形態1の判定システム100と同様の構成であるが、画像生成装置4の代わりに画像生成装置6を含む点で相違している。このため、以下では画像生成装置6について説明を行い、判定システムの他の構成要素の説明は繰り返さない。
【0063】
(画像生成装置6の構成)
図3は、本実施形態に係る画像生成装置6の要部構成の一例を示すブロック図である。図示のように、画像生成装置6は、画像生成装置6の各部を統括して制御する制御部60と、画像生成装置6が使用する各種データを記憶する記憶部61を備えている。また、画像生成装置6は、画像生成装置6が他の装置と通信するための通信部62、画像生成装置6に対するデータの入力を受け付ける入力部63、画像生成装置6がデータを出力するための出力部64を備えている。
【0064】
また、制御部60には、データ取得部601、物体検出部602、領域抽出部603、合成用画像生成部604、合成位置決定部605、および画像生成部606が含まれている。また、記憶部61には学習用画像611が記憶されている。
【0065】
データ取得部601は、実施形態1の画像生成装置4が備えるデータ取得部41と同様に、良否不明の複数の対象物のそれぞれを撮影した画像のうち、判定モデル15を用いた良否判定において、実際には不良である対象物が良品と誤判定された場合の画像、すなわち誤判定不良品画像を取得する。
【0066】
物体検出部602は、データ取得部601が取得した誤判定不良品画像から対象物を検出し、その部分を切り出して部分画像を生成する。対象物の検出方法は特に限定されず、例えばテンプレートマッチングにより対象物を検出してもよいし、対象物を検出するように予め機械学習された検出モデルを用いて対象物を検出してもよい。例えば、YOLO(you look only once)等を利用して対象物を検出することもできる。物体検出部602は、必須の構成ではないが、物体検出部602を設けることにより、後述する合成位置の決定において、対象物以外の背景領域が合成位置の候補となる確率を減らして、効率のよい合成画像の生成が可能になる。
【0067】
領域抽出部603は、良品の対象物が写る良品画像から、不良が発生し得る部分が写る所定の色範囲の領域を抽出する。以下、この領域を不良候補領域と呼ぶ。不良候補領域の色範囲は予め定めておく。例えば、領域抽出部603は、良品画像を任意の表示装置に表示させて、不良が発生し得る部分を画像生成装置6のオペレータに指定させてもよい。そして、領域抽出部603は、指定された部分の色情報を抽出し、その色情報を基準として不良候補領域を抽出してもよい。
【0068】
合成用画像生成部604は、データ取得部601が取得した誤判定不良品画像から不良部分を切り出して、不良候補領域に合成する合成用画像を生成する。本実施形態の合成用画像生成部604は、不良品画像から不良部分を切り出した不良品部分画像を生成すると共に、マスク画像を生成する。そして、合成用画像生成部604は、生成した不良品部分画像とマスク画像に変換処理を施して合成用画像を生成する。
【0069】
合成位置決定部605は、合成用画像生成部604が生成する合成用画像の合成位置を決定する。詳細は後述するが、合成位置決定部605は、(1)不良候補領域内に合成用画像を合成する候補位置を設定し、(2)当該候補位置に合成した合成用画像の全体が領域内に収まるか判定し、(3)収まらなければ候補位置を変更する、という一連の処理を、合成用画像の全体が収まると判定されるまで繰り返すことにより合成位置を決定する。
【0070】
画像生成部606は、実施形態1の画像生成装置4が備える画像生成部42と同様に、データ取得部601が取得した画像に写る不良部分を元に、判定モデル15の再学習に用いる教師データとして用いられる学習用画像を複数生成する。より詳細には、画像生成部606は、領域抽出部603が抽出した不良候補領域の中の合成位置決定部605が決定した合成位置に、合成用画像生成部604が生成した合成用画像を合成して学習用画像611を生成する。
【0071】
学習用画像611は、判定モデル15の再学習用の教師データとして用いられる画像である。上述のように、学習用画像611は、画像生成部606により生成される。
【0072】
以上のように、画像生成装置6は、誤判定不良品画像を取得するデータ取得部601と、データ取得部601が取得した誤判定不良品画像に写る不良部分を元に、判定モデル15の再学習に用いる教師データとして用いられる学習用画像611を複数生成する画像生成部606と、を備える。
【0073】
上記の構成によれば、誤判定不良品画像を取得する。判定モデル15が誤判定したこのような画像は教師データとして有用な画像である。そして、上記の構成によれば、収集した誤判定不良品画像に写る不良部分を元に、判定モデル15の再学習に用いる教師データとして用いられる学習用画像611を複数生成するので、収集された誤判定不良品画像の数が十分でなくても十分な学習が可能になる。したがって、画像生成装置6によれば、対象物の良否判定に用いられる判定モデル15の学習を効率化することができる。
【0074】
また、画像生成装置6は、以上のように、良品の前記対象物が写る良品画像から、不良が発生し得る部分が写る所定の色範囲の不良候補領域を抽出する領域抽出部603と、データ取得部601が取得した誤判定不良画像から不良部分を切り出して、不良候補領域に合成する合成用画像を生成する合成用画像生成部604と、を備え、画像生成部606は、不良候補領域に合成用画像を合成して学習用画像を生成する。
【0075】
上記の構成によれば、不良が発生し得る部分が写る所定の色範囲の不良候補領域を抽出して、その不良候補領域に合成用画像を合成することにより学習用画像を生成する。よって、不良が発生し得ない領域に不良部分が合成された不自然な学習用画像を生成することがなく、妥当な学習用画像を生成することができる。
【0076】
(処理の流れ:全体)
図4に基づいて画像生成装置6が実行する処理(画像生成方法)の流れを説明する。
図4は、画像生成装置6が実行する処理を説明する図である。なお、
図4には、画像生成装置6が実行する処理の流れを示すフローチャートと共に、良品である対象物Fとそれを撮影した良品画像G、良品画像Gから対象物Fが写る部分を切り出した良品部分画像G1、および良品部分画像G1から生成した二値化画像G2の例を示している。
【0077】
対象物Fは、
図1に示した対象物Aと同様に平板状の物体であるが、上面の中央部に凹部F2が形成されており、上面頂部F1が凹部F2により二分されている点で対象物Aと異なっている。対象物Fを真上から撮影した画像がGである。良品画像Gには、対象物Fの像f1が写っており、像f1には上面頂部F1の像f11と凹部F2の像f12が含まれている。
【0078】
S11では、データ取得部601が、判定モデル15を用いた良否判定において、実際には不良である対象物が良品と誤判定された場合の画像である誤判定不良品画像を取得する。実施形態1で説明したように、データ収集装置3がこのような誤判定不良品画像を収集して画像生成装置4に送信するので、データ取得部601はデータ収集装置3が送信する誤判定不良品画像を取得すればよい。
【0079】
S12では、合成用画像生成部604が、S11で取得された誤判定不良品画像から、不良部分を切り出した部分画像すなわち不良品部分画像を生成すると共に、その不良品部分画像に対応するマスク画像を生成する。不良品部分画像とマスク画像の生成方法は実施形態1で説明した通りである。
【0080】
S13~S17の処理は、学習用画像の元になる複数の良品画像のそれぞれについて行われ、全ての良品画像から学習用画像が生成されると終了する。
【0081】
S13では、データ取得部601が、良品画像を取得する。具体的には、まず、データ取得部601は、記憶装置2の判定結果格納部22(
図1参照)に格納されている判定結果のうち、判定結果が良品であり、かつ、確信度が閾値以上の判定結果を抽出する。そして、データ取得部601は、抽出した上記判定結果に対応する画像を画像格納部21(
図1参照)から取得する。この画像が良品画像である。
【0082】
S14では、物体検出部602が、S12で取得された良品画像から対象物を検出し、検出した対象物の部分を切り出して良品部分画像を生成する。例えば、S13で良品画像Gが取得されていた場合、物体検出部602は、対象物Fの像f1が写る部分を良品画像Gから切り出して良品部分画像G1を生成する。
【0083】
S15では、領域抽出部603が、S14で生成された良品部分画像から、不良が発生し得る部分が写る所定の色範囲の不良候補領域を抽出する。例えば、不良が発生し得る部分の基準色が設定されている場合、領域抽出部603は、良品部分画像の各画素について上記基準色との色差を算出し、算出した色差が閾値以下の連続領域を不良候補領域として抽出してもよい。また、不良候補領域の抽出後、領域抽出部603は、不良候補領域を他の領域と識別できるようにするため、二値化画像を生成してもよい。
【0084】
S15の処理について、例えば、対象物Fにおいて、上面頂部F1には所定の不良が発生し得るが、凹部F2には当該不良が発生しないとする。この場合、領域抽出部603は、上面頂部F1の色を基準に設定された所定の色範囲の領域を抽出して不良候補領域とする。そして、領域抽出部603は、不良候補領域を白、他の領域を黒に二値化することにより、二値化画像G2を生成する。二値化画像G2の画像領域のうち、f21が不良候補領域であり、f22が他の領域である。
【0085】
S16では、合成用画像生成部604が、S12で生成された不良品部分画像とマスク画像から合成用画像を生成する。例えば、S11では複数の誤判定不良品画像が取得され、S12では各誤判定不良品画像から不良品部分画像とマスク画像がそれぞれ生成されていた場合、合成用画像生成部604は、それらの中から使用する不良品部分画像とマスク画像を選択する。この選択は所定の規則に従って行ってもよいし、ランダムに行ってもよい。
【0086】
そして、合成用画像生成部604は、不良品部分画像とマスク画像から合成用画像を生成する。具体的には、合成用画像生成部604は、不良品部分画像とマスク画像に変換処理を施して合成用画像を生成する。変換処理の内容は特に限定されず、例えば、不良品部分画像とマスク画像に回転変換を施してもよく、この場合の回転角は所定の規則に従って設定してもよいし、ランダムに設定してもよい。また、不良品部分画像をアフィン変換等の任意の変形手法により変形させてもよい。この場合、変形後の不良品部分画像に合うようにマスク画像も更新する。なお、上述の各変換処理は、単体で適用してもよいし、組み合わせて適用してもよい。また、合成用画像生成部604は、不良品部分画像とマスク画像をそのまま合成用画像としてもよい。
【0087】
S17では、合成位置決定部605が、S15で抽出された不良候補領域の中で合成位置を決定し、決定された合成位置に画像生成部606が合成用画像を合成して学習用画像611を生成する。なお、上述のように、S13~S17の処理は、学習用画像の元になる複数の良品画像のそれぞれについて行われるから、S11で取得された誤判定不良品画像が1つであっても、その誤判定不良品画像と同様の不良を有する学習用画像611が複数生成される。
【0088】
以上のように、画像生成装置6が実行する画像生成方法は、誤判定不良品画像を取得するステップ(S11)と、前記ステップで取得した誤判定不良品画像に写る不良部分を元に、判定モデル15の再学習に用いる教師データとして用いられる学習用画像611を生成するステップ(S17)と、を含む。この画像生成方法によれば、1つの誤判定不良品画像から複数の学習用画像611を生成することができるので、データ収集装置3が収集した誤判定不良品画像の数が十分でなくても、判定モデル15の十分な再学習が可能になる。したがって、この画像生成方法によれば判定モデル15の学習を効率化することができる。
【0089】
(処理の流れ:合成位置決定)
図4のS17で行われる学習用画像生成処理の流れを
図5に基づいて説明する。
図5は、合成位置決定処理を説明する図である。なお、
図5には、合成位置決定処理の流れを示すフローチャートと共に、二値化画像G2における合成例を示している。
【0090】
図5のS171~S175の処理は、S175で合成が成功するまで繰り返し行われる。なお、S175で合成が成功することなく、合成失敗の回数が所定の上限値に到達したときにも
図5の処理を終了としてもよい。
【0091】
S171では、合成位置決定部605は、二値化画像G2中に候補位置を設定する。候補位置は乱数を用いる等してランダムに決定すればよい。そして、S172では、合成位置決定部605は、S171で決定した候補位置が、
図4のS15で抽出された不良候補領域内であるか否かを判定する。ここで、不良候補領域内であると判定された場合(S172でYES)にはS173に進む。一方、不良候補領域外であると判定された場合(S172でNO)にはS171に戻る。この場合、合成位置決定部605は、S171で候補位置を再設定する。
【0092】
S173では、合成位置決定部605は、S171で設定した候補位置の周囲に不良候補領域外の部分がないか探索する。例えば、合成位置決定部605は、まず、候補位置から左方向に探索を行ってもよい。この探索は、不良候補領域の外縁に到達するか、探索距離がマスク画像の幅に達するまで行う。ここで、左方向への探索距離がマスク画像の幅に達する前に外縁に到達した場合、合成位置決定部605は、候補位置から右方向に探索を行う。そして、候補位置から左方向への探索距離と、右方向への探索距離の合計が、マスク画像の幅に達していなければ探索を終了する。一方、候補位置から左方向への探索距離と、右方向への探索距離の合計がマスク画像の幅に達している場合、合成位置決定部605は、左右方向の探索範囲の中央を上下方向に探索する。上下方向の探索は、上下方向の探索距離がマスク画像の高さに到達するか、または当該高さに到達するまでに不良候補領域の外縁に到達したときに終了する。
【0093】
S174では、合成位置決定部605は、S173の探索の結果に基づき、S171で設定した候補位置を合成位置と決定するか否かを判定する。具体的には、合成位置決定部605は、(1)左右方向の探索距離がマスク画像の幅に到達し、かつ、(2)上下方向の探索距離がマスク画像の高さに到達していれば、候補位置を合成位置と決定する(S174でYES)。言い換えれば、S174では、合成用画像の全体が不良候補領域に収まるか否かが判定される。二値化画像における合成位置が決まれば、二値化画像の元になった良品画像における合成位置も決まり、この合成位置とマスク画像の幅および高さから、良品画像において合成用画像が合成される領域(以下、合成領域と呼ぶ)も決まる。
【0094】
一方、合成位置決定部605は、上記(1)(2)の何れかの条件が満たされていない場合、合成位置を決定せず(S174でNO)、S171に戻って新たな候補位置を設定する。
【0095】
S175では、画像生成部606が、合成位置決定部605が上述のようにして決定した合成位置に、合成用画像生成部604が生成した合成用画像を合成し、学習用画像を生成する。なお、詳細は後述するが、S175では合成に失敗する場合があり、その場合、S171に戻って新たな候補位置が設定される。
【0096】
S171~S174の処理について、例えば、
図5の二値化画像G2において、他の領域f22を挟む2つの不良候補領域のうち上側の方の左下隅に候補位置を設定したとする。この場合、左方向の探索では、同図に横向きの双方向矢印で示すマスク画像の幅に到達するまでに、不良候補領域の左端に到達する。このため、候補位置から右方向への探索が行われ、これにより、左右方向については探索距離の合計がマスク画像の幅に到達している。
【0097】
このため、左右方向の上記探索に続いて、上下方向の探索が行われる。上下方向の探索は、左右方向の探索範囲の中央から行われる。
図5の例では、上下方向の探索距離が、同図に縦向きの双方向矢印で示すマスク画像の高さに到達するまでに、不良候補領域の下端に到達する。このため、S174ではNOと判定されて候補位置が再設定される。
【0098】
ここで、
図5に示すように、他の領域f22を挟む2つの不良候補領域のうち下側の方の左隅に候補位置を設定したとする。この場合、左方向の探索で探索距離がマスク画像の幅に到達し、かつ、上下方向の探索で探索距離がマスク画像の高さに到達するから、この候補位置が合成位置と決定される。これにより、例えば、
図5に示すような学習用画像Hが生成される。学習用画像Hは、上述のようにして決定された合成位置に合成用画像が合成されたものであり、不良部分hを含んでいる。
【0099】
以上のように、合成位置決定部605は、不良候補領域内に合成用画像を合成する候補位置を設定し(S171)、当該候補位置に合成した合成用画像の全体が領域内に収まるか判定し(S174)、収まらなければ候補位置を変更する(S174でNOの後のS171)、という一連の処理を、合成用画像の全体が収まると判定されるまで(S174でYESと判定されるまで)繰り返すことにより、合成用画像の合成位置を決定する。
【0100】
上記の構成によれば、合成用画像の全体が収まる合成位置を自動で決定し、その合成位置に合成用画像が合成された学習用画像を生成することができる。これにより、学習用画像の一部が前記領域からはみ出した不自然な学習用画像を生成することがなく、妥当な学習用画像を生成することができる。
【0101】
なお、上述の処理では、左右方向の探索範囲の中央を上下方向に探索している。このため、不良候補領域の形状によっては、マスク画像を上述のようにして決定された合成位置に配置したときに、その一部が不良候補領域外となることがあり得る。この場合、S175で合成失敗となり(後述する
図6のS1751でNOの分岐)、再度S171で候補位置が設定される。無論、S173において、左右方向の探索範囲全体について上下方向への探索を行ってもよく、これにより上述した合成失敗を回避することができる。
【0102】
(処理の流れ:合成処理)
図5のS175で行われる合成処理の流れを
図6に基づいて説明する。
図6は、合成処理の流れを示すフローチャートである。S1751~S1752の処理は、学習用画像の元になる良品画像における合成領域内の各画素について行われ、全ての画素について処理が終了したときに、
図6に示す合成処理は終了する。
【0103】
S1751では、画像生成部606は、合成領域内の画素のうち、これまでに未選択のものを1つ選択し、その画素が不良候補領域内の画素であるか否かを判定する。選択した画素が不良候補領域内の画素であれば(S1751でYES)、S1752に進む。一方、選択した画素が不良候補領域内の画素でなければ(S1751でNO)、合成処理を終了する。この場合、合成失敗となり、
図5のS171における候補位置の設定からやり直しとなる。
【0104】
S1752では、画像生成部606は、S1751で選択した画素における合成を行う。例えば、画像生成部606は、下記の数式により、学習用画像におけるR、G、Bの値を算出してもよい。なお、R、G、Bの値は何れも0~255の範囲とする。
【0105】
(学習用画像のR値)={Sr×(255-M)/255}+Nr×M/255
(学習用画像のG値)={Sg×(255-M)/255}+Ng×M/255
(学習用画像のB値)={Sb×(255-M)/255}+Nb×M/255
上記数式において、Sr、Sg、Sbは、学習用画像の元になる良品画像のR、G、Bの値であり、Nr、Ng、Nbは、合成画像(不良品部分画像)のR、G、Bの値であり、Mはマスク画像のR、G、Bの値である。上記の数式で合成を行う場合、良品画像における、マスク画像の白部分(R、G、Bの何れの値も255)に対応する領域は、不良品部分画像のR、G、Bの値と同じ値となる。一方、良品画像における、マスク画像の黒部分(R、G、Bの何れの値も0)に対応する領域は画素値が変わらない。つまり、上記数式による合成は、マスク画像の白部分は透過度100%、黒部分は透過度0%とした合成である。マスク画像の透過度は適宜設定することができ、また、マスク画像の透過度を変更することにより、異なる外観の学習用画像を生成することもできる。また、マスク画像を平滑化(境界部分の透過度を0%と100%以外に)することにより、合成画像における境界部分を滑らかにすることもできる。
【0106】
〔実施形態3〕
本発明の実施形態3について
図7~
図11に基づいて説明する。なお、本実施形態に係る判定システムは、画像生成装置4の代わりに画像生成装置7を含む点で実施形態1の判定システム100と相違している。画像生成装置7は、学習用画像の生成方法が実施形態2の画像生成装置6と相違している。なお、画像生成装置6が備える構成と同様の構成には同じ参照番号を付し、その説明を省略する。
【0107】
(画像生成装置7の構成)
図7は、本実施形態に係る画像生成装置7の要部構成の一例を示すブロック図である。図示のように、画像生成装置7は、画像生成装置7の各部を統括して制御する制御部70と、画像生成装置7が使用する各種データを記憶する記憶部71を備えている。制御部70には、データ取得部601、物体検出部602、領域抽出部603、色情報生成部704、対象領域設定部705、および画像生成部706が含まれている。また、記憶部71には基準形状711と学習用画像712が記憶されている。
【0108】
色情報生成部704は、データ取得部601が取得する誤判定不良品画像から、当該誤判定不良品画像に写る不良部分と、当該不良が発生し得るが発生していない正常部分との色の差を示す色情報を生成する。以下、この色情報を差分色情報と呼ぶ。
【0109】
対象領域設定部705は、データ取得部601が取得する良品画像において、領域抽出部603が抽出した不良候補領域の一部または全部を、色を変更する対象とする領域である色変換対象領域に設定する。色変換対象領域の設定方法については後述する。
【0110】
画像生成部706は、画像生成部42、606と同様に、データ取得部601が取得した誤判定不良品画像に写る不良部分を元に、判定モデル15の再学習に用いる教師データとして用いられる学習用画像を複数生成する。より詳細には、画像生成部706は、対象領域設定部705が設定した色変換対象領域における色を、色情報生成部704が生成した差分色情報に基づいて変更することにより学習用画像712を生成する。
【0111】
基準形状711は、対象領域設定部705が色変換対象領域の形状を決定する際の基準となる形状である。基準形状711は、1つのみ記憶されていてもよいし、複数記憶されていてもよい。基準形状711は任意の形状とすることができ、例えば、円、楕円、矩形、多角形、それらを変形したもの、その組み合わせ等を基準形状711とすることができる。
【0112】
学習用画像712は、判定モデル15の再学習用の教師データとして用いられる画像であり、画像生成部706により生成される。学習用画像712の生成方法については後述する。
【0113】
以上のように、画像生成装置7は、データ取得部601が取得する誤判定不良品画像から、当該誤判定画像に写る不良部分と、当該不良が発生し得るが発生していない正常部分との色の差を示す差分色情報を生成する色情報生成部704と、良品の対象物が写る良品画像から不良候補領域を抽出する領域抽出部603と、を備え、画像生成部706は、領域抽出部603が抽出した不良候補領域の一部または全部における色を、差分色情報に基づいて変更することにより学習用画像712を生成する。
【0114】
上記の構成によれば、不良が発生し得る部分が写る所定の色範囲の領域を抽出して、その領域の一部または全部の色を、不良部分と正常部分との色の差を示す差分色情報に基づいて変更することにより学習用画像712を生成する。よって、データ取得部601が取得した誤判定不良品画像における不良部分と同様の不良を色の差により再現した妥当な学習用画像712を生成することができる。
【0115】
(処理の流れ:色情報生成)
図8に基づいて色情報の生成処理(画像生成方法の前半部)について説明する。
図8は、差分色情報の生成処理を説明する図である。なお、
図8には、差分色情報の生成処理の流れを示すフローチャートと共に、不良品画像Kにおける不良部分と正常部分の選択例を示している。
【0116】
S21では、データ取得部601が、判定装置1が良品と誤判定した画像、すなわち不良品画像を取得する。ここでは、例えば
図8に示す不良品画像Kが取得されたとする。不良品画像Kは、
図4に示した対象物Fと同様の形状で不良品である対象物を撮影した画像である。不良品画像Kには、対象物の上面頂部の像k1と、対象物の凹部の像k2が写っている。また、不良品画像Kには不良部分k3が写っている。
【0117】
S22では、色情報生成部704が、S21で取得された不良品画像Kを任意の表示装置に表示させる。例えば、出力部64が表示装置である場合、色情報生成部704は、出力部に不良品画像Kを表示出力させればよい。これにより、画像生成装置7のオペレータは、不良品画像Kとこれに写る不良部分k3を認識することができる。
【0118】
S23では、色情報生成部704は、S22で表示させた不良品画像Kにおける不良部分k3の選択を受け付ける。不良部分k3の選択は、例えば表示させた不良品画像Kにおける不良部分k3を、入力部63を介した入力操作により指定させることで行えばよい。例えば、
図8に示すようなカーソルk4で不良部分k3を選択してもよい。
【0119】
S24では、色情報生成部704は、S23で選択された不良部分k3の色情報を取得する。なお、以下では、不良部分k3の色情報を不良部色情報と呼ぶ。不良部色情報は、不良部分k3のRGB値であってもよいし、RGB値を変換したものであってもよい。例えば、色情報生成部704は、不良部分k3のRGB値をHSV値に変換して不良部色情報としてもよい。
【0120】
S25では、色情報生成部704は、S22で表示させた不良品画像Kにおける正常部分(不良が発生し得るが発生していない部分)の選択を受け付ける。正常部分の選択は、不良部分k3の選択と同様に行えばよい。
【0121】
S26では、色情報生成部704は、S25で選択された正常部分の色情報を取得する。なお、以下では、正常部分の色情報を正常部色情報と呼ぶ。正常部色情報は、不良部分色情報と同様の情報であればよく、RGB値であってもよいし、RGB値を変換したものであってもよい。例えば、不良部色情報が不良部分k3のHSV値を示すものである場合、正常部色情報についても正常部分のHSV値を示すものとする。なお、S25およびS26の処理は、S23およびS24の処理よりも先に行ってもよい。
【0122】
S27では、色情報生成部704は、不良部分と正常部分の色差を示す差分色情報を生成する。具体的には、色情報生成部704は、S24で取得した不良部色情報と、S26で取得した正常部色情報の差分を差分色情報としてもよい。差分色情報を(Th,Ts,Tv)の形式で表す場合、Th、Ts、Tvは、それぞれ下記の数式で表される。
Th=Oh-Nh
Ts=Os-Ns
Tv=Ov-Nv
なお、Th、Ts、Tvは、それぞれ差分色情報におけるH(色相)値、S(彩度)値、V(明度)値である。また、Oh、Os、Ovは、それぞれ正常部情報におけるH値、S値、V値であり、Nh、Ns、Nvは、それぞれ不良部色情報におけるH値、S値、V値である。
【0123】
例えば、正常部色情報が(H:53,S:28,V:68)であり、不良部色情報が(H:43,S:56,V:63)であったとする。この場合、差分色情報は、(H:10,S:-28,V:5)となる。この例では、不良部分において、H(色相)が正常部分よりも小さい値(赤みかかった色)になっており、かつ、S(彩度)が正常部分よりも大きい値(濃い色)になっている。差分色情報の生成により
図8の処理は終了する。
【0124】
なお、不良の種類に応じて正常部との色の差異の現れ方は異なっている。このため、色情報生成部704は、検出したい不良の種類に応じて、正常部との色の差異を識別しやすい差分色情報を生成することが好ましい。
【0125】
(処理の流れ:全体)
図9に基づいて画像生成装置7が実行する処理(画像生成方法の後半部)の流れを説明する。
図9は、画像生成装置7が実行する処理を説明する図である。なお、
図9には、画像生成装置7が実行する処理の流れを示すフローチャートと共に、良品画像から対象物が写る部分を切り出した良品部分画像M、良品部分画像Mから生成した二値化画像M1、および良品部分画像Mから生成した学習用画像Nの例を示している。
【0126】
S31~S35の処理は、学習用画像の元になる複数の良品画像のそれぞれについて行われ、全ての良品画像から学習用画像が生成されると終了する。なお、S31~S33は、
図4のS13~S15とそれぞれ同様であるからここでは説明を繰り返さない。
【0127】
S34では、対象領域設定部705が、色を変更する対象とする色変換対象領域を設定する。例えば、
図9に示す二値化画像M1では、破線枠で示す色変換対象領域m13が設定されている。この色変換対象領域m13は、S33で抽出された、不良が発生し得る領域すなわち不良候補領域m11と他の領域m12の両方にまたがっている。このように、色変換対象領域m13は、その少なくとも一部が不良候補領域m11に含まれていればよく、必ずしも色変換対象領域m13の全体が不良候補領域m11に含まれている必要はない。
【0128】
S35では、画像生成部706が、S33で抽出された不良候補領域の一部または全部における色を、
図8のS27で色情報生成部704が生成した差分色情報に基づいて変更することにより学習用画像712を生成する。
【0129】
例えば、
図9に示すように、二値化画像M1に色変換対象領域m13を設定した場合、色変換対象領域m13内の各画素の色が変更された学習用画像Nが生成される。学習用画像Nには、対象物の上面頂部の像n1と対象物の凹部の像n2が写っており、このうち像n1上には、S35における変色処理により生じた不良部分n3が含まれている。
【0130】
(処理の流れ:色変換対象領域の設定)
図9のS34で行われる色変換対象領域の設定処理の流れを
図10に基づいて説明する。
図10は、色変換対象領域の設定処理を説明する図である。なお、
図10には、色変換対象領域の設定処理の流れを示すフローチャートと共に、二値化画像Pにおける色変換対象領域の設定例を示している。
【0131】
S341では、対象領域設定部705は、基準位置を設定する。基準位置は、
図9のS33で抽出された不良候補領域内に設定してもよい。基準位置の設定方法は任意であり、例えば、対象領域設定部705は、乱数を用いて基準位置を設定してもよい。
図10に示す二値化画像Pにおいては、上下2つの不良候補領域p1とそれらに挟まれる他の領域p2のうち、下側の不良候補領域p1に基準位置p3が設定されている。
【0132】
S342では、対象領域設定部705は、記憶部71に記憶されている基準形状711の中から色変換対象領域の設定に使用するものを選択する。ここでは、生成したい学習用画像に応じた基準形状711を選択すればよく、その選択方法は特に限定されない。例えば、任意の形状の不良部分を含む学習用画像を生成する場合には、対象領域設定部705は、記憶部71に記憶されている基準形状711の中から使用するものをランダムに選択する構成とすればよい。また、所定の形状の不良部分を含む学習用画像を生成する場合には、対象領域設定部705は、記憶部71に記憶されている基準形状711の中から所定の形状のもの、あるいは所定の形状に近い形状のものを選択する構成とすればよい。
【0133】
S343では、対象領域設定部705は、S342で選択した基準形状711の形状変換を行う。変換後の形状が色変換対象領域の形状となる。色変換対象領域の位置はS341で設定されているから、S343の処理により色変換対象領域の形状が決定されることにより、色変換対象領域の位置と形状が確定する。なお、基準形状711が1つのみであればS342の処理は不要である。また、基準形状711の形状変換が不要であればS343の処理は不要である。
【0134】
S342とS343の処理に関して、
図10には、基準形状711の例として、四隅が丸い四角形状の基準形状Q1と、円形の基準形状Q2を示している。このような基準形状711が選択可能である場合に、S342において基準形状Q1が選択されたとする。この場合、S343では、基準形状Q1の形状変換が行われる。
【0135】
形状変換の方法は特に限定されない。例えば、基準形状Q1の頂点の位置を所定の規則に従ってあるいはランダムにずらしてもよい。また、例えば、基準形状Q1に回転変換を施してもよく、この場合の回転角は所定の規則に従って設定してもよいし、ランダムに設定してもよい。また、基準形状Q1をアフィン変換等の任意の変形手法により変形させてもよい。なお、上述の各手法は、単体で適用してもよいし、組み合わせて適用してもよい。
【0136】
図10に示す変換後の基準形状Q11は、基準形状Q1の4頂点の位置をランダムで変更した上で、ランダムに選択した回転角度で回転し、さらにアフィン変換により変形させたものである。この変換後の基準形状Q11の領域が基準位置p3の位置に配置されると、
図10に示すような色変換対象領域p4が確定する。このように、本実施形態の画像生成方法によれば、任意の形状の不良品部分を含む学習用画像を生成することができる。このため、本実施形態の画像生成方法は、形状や範囲が不定の不良(例えば変色や汚れ等)に有効である。
【0137】
(処理の流れ:学習用画像生成)
図9のS35で行われる学習用画像生成処理の流れを
図11に基づいて説明する。
図11は、学習用画像生成処理の流れを示すフローチャートである。S351~S354の処理は、学習用画像の元になる良品画像における色変換対象領域内の各画素について行われ、全ての画素について処理が終了したときに、
図11に示す学習用画像生成処理は終了する。なお、
図11に示す学習用画像生成処理は、差分色情報がHSV値で表されている場合の処理である。差分色情報がRGB値で表されている場合、S352とS354の処理は不要である。
【0138】
S351では、画像生成部706は、色変換対象領域内の画素のうち、これまでに未選択のものを1つ選択し、その画素が不良候補領域内の画素であるか否かを判定する。選択した画素が不良候補領域内の画素であれば(S351でYES)、S352に進む。一方、画像生成部706は、選択した画素が不良候補領域内の画素でなければ(S351でNO)、これまでに未選択の画素を選択する処理からやり直す。
【0139】
S352では、画像生成部706は、S351で選択した画素のRGB値をHSV値に変換する。続いて、S353では、画像生成部706は、S352の変換により得たHSV値を、
図8のS27で生成された差分色情報に基づいて変換する。そして、S354では、画像生成部706は、S353の変換により得たHSV値をRGB値に戻す変換を行う。
【0140】
S353における変換は、例えば下記の式によって行ってもよい。
Dh=Sh-Th+Rh
Ds=Ss-Ts+Rs
Dv=Sv-Tv+Rv
なお、Dh、Ds、Dvは、それぞれ変換後の画素におけるH(色相)値、S(彩度)値、V(明度)値である。また、Sh、Ss、Svは、変換前の良品画像のH値、S値、V値であり、Th、Ts、Tvは、差分色情報のH値、S値、V値である。そして、Rh、Rs、Rvは、乱数を用いて決定した値であり、学習用画像に変化をつけるために加算している。例えば、画像生成部706は、
図11のループ開始前に乱数により、Rh、Rs、Rvの各値を決定してもよい。なお、Rh、Rs、Rvの各値は、生成される学習用画像が、その元になった不良品画像とかけ離れたものとならない程度の値にしておく。例えば、-5~+5の範囲で乱数によりRh、Rs、Rvの各値を設定してもよい。この範囲は、設定で変更できるようにしてもよい。無論、Rh、Rs、Rvを加算せずに学習用画像の画素値を算出してもよい。
【0141】
(学習用画像712の生成方法の他の例)
基準形状711を用いずに学習用画像712を生成することもできる。この場合、対象領域設定部705は、不良候補領域内における所定の色範囲の画素からなる連続領域を色変換対象領域に設定してもよい。
【0142】
具体的には、対象領域設定部705は、まず、良品画像を二値化した二値化画像において、不良候補領域内の画素を選択してもよい。以下ではこの画素を第1画素と呼ぶ。例えば、
図10の例における二値化画像Pを用いて学習用画像712を生成する場合、画像生成部706は、不良候補領域p1内で第1画素を選択する。第1画素はランダムに選択してもよい。このとき、色情報生成部704は、予め取得された不良部分の色情報と、第1画素の色情報から、差分色情報を生成してもよい。
【0143】
次に、対象領域設定部705は、第1画素と、第1に隣接する第2画素との色情報の差が所定の範囲内であるか否かを判定し、範囲内であればさらに隣の第3画素について同じ判定を行う。この判定を、色情報の差が所定の範囲外となるまで繰り返すことにより、色変換対象領域を設定することができる。なお、設定する色変換対象領域の幅および高さの上限は予め定めておけばよい。
【0144】
色変換対象領域が設定された後は、画像生成部706が、色変換対象領域内の各画素の色を変更して学習用画像712を生成する。例えば、画像生成部706は、まず、予め取得された不良部分の色情報と、第1画素の色情報から生成された差分色情報を用いて、第1画素の色を変更してもよい。そして、画像生成部706は、その周りの色変換対象領域の各画素については、上記不良部分の色情報を基準として、第1画素の色情報との差分値(相対値)を用いて色を変更してもよい。
【0145】
なお、色を変更する部分と変更しない部分との境界は平滑化することが好ましい。これにより、色を変更する部分と変更しない部分との境界が滑らかにつながった自然な学習用画像712を生成することができる。
【0146】
〔変形例〕
(システム構成について)
上述の各実施形態で説明した各処理の実行主体は任意であり、上述の例に限られない。つまり、上述の各実施形態で説明した各処理を実行可能であれば、判定システムを構成する装置は適宜変更することができる。
【0147】
例えば、
図1の判定システム100では、判定装置1と記憶装置2とデータ収集装置3とをそれぞれ別の装置としているが、これらを1つの判定装置として構成してもよい。同様に、画像生成装置4と学習装置5を1つの学習装置として構成してもよい。この場合、判定装置は対象物の複数の生産工場のそれぞれに配置し、学習装置はそれらの生産工場の管理施設に配置してもよい。これにより、1つの管理施設により、複数の生産工場における対象物の判定精度を維持または向上させることができる。
【0148】
また、上述の各実施形態では、1つの判定モデルで複数の不良の種類を判定する例を記載したが、不良の種類ごとに判定モデルを構築しておき、各種類の不良を、その不良の検出用の判定モデルにより検出するようにしてもよい。
【0149】
また、上述の各実施形態において、再学習を行うタイミングは任意である。例えば、判定モデルが出力する確信度を自動監視し、確信度が低下したタイミングで判定システム100のオペレータにその旨を通知して再学習を促すようにしてもよい。また、例えば、判定システム100のオペレータが、対象物が追加や変更されたとき、新しい種類の不良が見つかったとき等に再学習を行わせるようにしてもよい。
【0150】
(合成用画像について)
上述の各実施形態では、不良品部分画像とマスク画像をそのまま、あるいはこれらに変換処理を施したものを合成用画像とする例を説明したが、マスク画像を用いることは必須ではない。例えば、不良品画像に写る不良品部分をトリミングして合成用画像としてもよい。無論、この場合も、不良品部分に変換処理を施してもよい。
【0151】
〔ソフトウェアによる実現例〕
判定装置1、データ収集装置3、学習装置5、および画像生成装置4、6、7、(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロック(特に
図1に示される各部、
図3の制御部60に含まれる各部、および
図7の制御部70に含まれる各部)としてコンピュータを機能させるためのプログラム(画像生成プログラム)により実現することができる。
【0152】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0153】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0154】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0155】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0156】
100 判定システム
1 判定装置
15 判定モデル
3 データ収集装置
4 画像生成装置
41 データ取得部
42 画像生成部
5 学習装置
6 画像生成装置
601 データ取得部
603 領域抽出部
604 合成用画像生成部
605 合成位置決定部
606 画像生成部
611 学習用画像
7 画像生成装置
704 色情報生成部
706 画像生成部
712 学習用画像