(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023162652
(43)【公開日】2023-11-09
(54)【発明の名称】学習用画像生成プログラム、学習用画像生成装置、及び学習用画像生成方法
(51)【国際特許分類】
G06V 10/774 20220101AFI20231101BHJP
G06T 7/00 20170101ALI20231101BHJP
【FI】
G06V10/774
G06T7/00 350B
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022073139
(22)【出願日】2022-04-27
(71)【出願人】
【識別番号】390010308
【氏名又は名称】東芝デベロップメントエンジニアリング株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】石過 壮
(72)【発明者】
【氏名】宮沢 智之
(72)【発明者】
【氏名】林 紀善
(72)【発明者】
【氏名】佐々木 雅恵
(72)【発明者】
【氏名】長谷 和彦
(72)【発明者】
【氏名】柳原 訓雄
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096CA02
5L096DA01
5L096FA14
5L096FA15
5L096FA16
5L096FA67
5L096FA69
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
【課題】検出精度の向上を可能にする学習データを生成する学習用画像生成プログラムを提供する。
【解決手段】一実施形態に係る学習用画像生成プログラムは、被写体と前記被写体の影とを含む被写体画像と背景を含む背景画像を合成して合成画像を生成する画像合成手段、及び前記合成画像に前記被写体を囲む教師枠を設定する教師枠設定手段としてコンピュータを機能させる。前記教師枠設定手段は、前記合成画像における前記被写体、前記影、及び前記背景の特徴量に基づいて、前記教師枠の大きさを決定する。前記特徴量は、明るさ又は色である。
【選択図】
図10
【特許請求の範囲】
【請求項1】
被写体と前記被写体の影とを含む被写体画像と背景を含む背景画像を合成して合成画像を生成する画像合成手段、及び
前記合成画像に前記被写体を囲む教師枠を設定する教師枠設定手段
としてコンピュータを機能させ、
前記教師枠設定手段は、前記合成画像における前記被写体、前記影、及び前記背景の特徴量に基づいて、前記教師枠の大きさを決定し、
前記特徴量は、明るさ又は色である、学習用画像生成プログラム。
【請求項2】
前記教師枠設定手段は、前記影の前記特徴量と前記背景の前記特徴量との差が前記被写体の前記特徴量と前記影の前記特徴量との差よりも大きい場合に、前記被写体と前記影の組み合わせに外接する第1の矩形枠よりも大きい第2の矩形枠を前記教師枠とし、前記被写体の前記特徴量と前記影の前記特徴量との差が前記影の前記特徴量と前記背景の前記特徴量との差よりも大きい場合に、前記被写体に外接する第3の矩形枠よりも大きい第4の矩形枠を前記教師枠とする、
請求項1に記載の学習用画像生成プログラム。
【請求項3】
前記第2の矩形枠の大きさは前記第1の矩形枠の大きさの定数倍であり、前記第4の矩形枠の大きさは前記第3の矩形枠の大きさの前記定数倍であり、前記定数は1を超える値である、
請求項2に記載の学習用画像生成プログラム。
【請求項4】
前記被写体の前記特徴量及び前記影の前記特徴量を検出する検出手段として前記コンピュータをさらに機能させ、
前記検出手段は、前記被写体と前記影との境界に隣接する前記被写体の部分における画素値に基づいて、前記被写体の前記特徴量を算出し、前記被写体と前記影との境界に隣接する前記影の部分における画素値に基づいて、前記影の前記特徴量を算出する、
請求項1に記載の学習用画像生成プログラム。
【請求項5】
前記背景画像を生成する背景画像取得手段として前記コンピュータをさらに機能させ、
前記背景画像取得手段は、3D仮想空間において実際の環境における光源の配置に応じた位置に仮想光源を設定し、前記仮想光源に基づいて前記影を生成する、
請求項1に記載の学習用画像生成プログラム。
【請求項6】
被写体と前記被写体の影とを含む被写体画像と背景を含む背景画像を合成して合成画像を生成する画像合成部と、
前記合成画像に前記被写体を囲む教師枠を設定する教師枠設定部と、
を備え、
前記教師枠設定部は、前記合成画像における前記被写体、前記影、及び前記背景の特徴量に基づいて、前記教師枠の大きさを決定し、
前記特徴量は、明るさ又は色である、学習用画像生成装置。
【請求項7】
学習用画像生成装置により実行される学習用画像生成方法であって、
被写体と前記被写体の影とを含む被写体画像と背景を含む背景画像を合成して合成画像を生成することと、
前記合成画像に前記被写体を囲む教師枠を設定することと、
を備え、
前記教師枠を設定することは、前記合成画像における前記被写体、前記影、及び前記背景の特徴量に基づいて、前記教師枠の大きさを決定することを含み、
前記特徴量は、明るさ又は色である、学習用画像生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、学習用画像生成プログラム、学習用画像生成装置、及び学習用画像生成方法に関する。
【背景技術】
【0002】
画像からあらかじめ定められた物体(被写体)を検出する物体検出においては、ディープラーニングを用いた手法が使用されるようになり、検出精度が大きく向上している。
【0003】
特許文献1には、背景画像と被写体を示す画像を含むCG(Computer Graphics)データとを重畳させることで、ディープニューラルネットワーク(DNN)の学習に使用する教師データを生成する技術が開示されている。特許文献1に開示される技術では、影領域の誤検出を防止するために、被写体に対する照明の位置を意図的に変更して様々な方向の影を設定した画像を生成している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示される技術において、被写体の位置を正確に検出できるようにするには、様々な方向の影を設定した画像を使用して学習を行う必要がある。影の方向が偏った画像だけで学習を行った場合は、被写体の位置を正確に検出することができない。
【課題を解決するための手段】
【0006】
一実施形態に係る学習用画像生成プログラムは、被写体と前記被写体の影とを含む被写体画像と背景を含む背景画像を合成して合成画像を生成する画像合成手段、及び前記合成画像に前記被写体を囲む教師枠を設定する教師枠設定手段としてコンピュータを機能させる。前記教師枠設定手段は、前記合成画像における前記被写体、前記影、及び前記背景の特徴量に基づいて、前記教師枠の大きさを決定する。前記特徴量は、明るさ又は色である。
【発明の効果】
【0007】
本発明によれば、検出精度の向上を可能にする学習データを生成することができる学習用画像生成プログラム、学習用画像生成装置、及び学習用画像生成方法が提供される。
【図面の簡単な説明】
【0008】
【
図2】実施形態に係る検査装置を示す機能ブロック図。
【
図3】
図2に示した学習用画像生成部を示す機能ブロック図。
【
図4】実施形態に係る製品の影を生成する方法を説明する図。
【
図5】
図3に示した被写体画像取得部により取得された被写体画像を示す図。
【
図6】
図3に示した教師枠設定部による処理を説明する図。
【
図7】
図3に示した教師枠設定部による処理を説明する図。
【
図8】
図2に示した学習用画像生成部により生成される学習用画像を示す図。
【
図9】
図2の検査装置のハードウェア構成例を示すブロック図。
【
図10】実施形態に係る学習用画像生成方法を示すフローチャート。
【
図11】実施形態に係る検査方法を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら実施形態を説明する。
【0010】
実施形態は、工場などで行われる外観検査などの用途に適用可能な技術に関する。外観検査は、例えば製品の品質を担保する目的で行われ、製品が良品であるか不良品であるかを判定するために、製品の外観を検査するものである。例えば、製品は、傷や汚れなどの欠陥が存在しない場合又は欠陥が存在したとしてもそれが許容範囲内のものである場合に良品と判定され、許容範囲外の欠陥が存在する場合に不良品と判定される。外観検査では、
図1に示すように、検査対象となる製品10を台11の上に置き、光源としての照明装置12を用いて製品10に照明を当て、カメラ13で製品10を撮影し、コンピュータ14において画像に基づく検査を行う。このような検査環境では、照明装置12及びカメラ13の配置は台11に対してあらかじめ固定されており、照明の色及び明るさ並びに台11の色もあらかじめ決められている。したがって、製品10の影15が発生する方向は一方向に限定されており、影15の明るさ及び色は、照明の色及び明るさ並びに台の色からほぼ決まる。
【0011】
図1及び他の図では、検査対象となる製品として蓋付きのビンが示されている。さらに、検査対象を撮影した画像には、背景として、検査対象が置かれる台のみが含まれるものとする。
【0012】
図2は、一実施形態に係る検査装置20を概略的に示している。
図2に示す検査装置20は上述した外観検査に使用され得る。例えば、図示しない機械装置が検査対象となる製品を台上に置き、検査装置20が外観検査により製品が良品であるか不良品であるかを判定する。機械装置は判定結果に応じて製品を仕分ける。具体的には、機械装置は、検査装置20が製品を良品と判定した場合は製品を第1コンベアに載せ、検査装置20が製品を不良品と判定した場合は製品を第2コンベアに載せる。この操作を繰り返すことにより、製品が次々に外観検査される。
【0013】
図2に示すように、検査装置20は、学習用画像生成部21、学習用画像記憶部22、学習部23、モデル記憶部24、撮像部25、及び検査部26を備える。
図2に示す例では、学習用画像生成部21、学習部23、及び検査部26が単一の装置(例えばコンピュータ)に実装されている場合を想定している。代替として、学習用画像生成部21、学習部23、及び検査部26は、別個の装置に実装されていてもよい。学習用画像生成部21を含む装置を学習用画像生成装置と称する。例えば、学習用画像生成部21及び学習部23が第1装置に実装され、検査部26が第2装置に実装される場合、第1装置が学習用画像生成装置である。
【0014】
学習用画像生成部21は、検査部26が使用する検出モデルを学習するために使用される学習用画像を生成し、学習用画像を学習用画像記憶部22に格納する。検出モデルは、検査対象となる製品を含む画像(製品が写っている画像)を入力とし、製品が良品であるか不良品であるか(すなわち製品に許容範囲外の欠陥が存在するか否か)を検出するように構成される。検出モデルは、例えば、製品が良品である確からしさを示す検査情報を出力する。例えば、値が0~1の範囲をとり、値が0に近いほど製品が良品である可能性が高いことを示すように、検査情報を定義する。検出モデルとしては、例えば、R-CNN(Region Convolutional Neural Network)又はSSD(Single Shot MultiBox Detector)などのディープニューラルネットワーク(DNN;Deep Neural Network)を利用することができる。
【0015】
学習部23は、学習用画像記憶部22に格納されている学習用画像学習データとして使用して検出モデルの機械学習を行い、検出モデルを構成するパラメータを算出する。学習部23は、機械学習により得られたパラメータ値を含む検出モデルをモデル記憶部24に格納する。
【0016】
撮像部25は、カメラなどの撮像装置を含み、台に置かれた製品を被写体として撮影し、製品を含む画像を生成する。撮像部25は、
図1に示したカメラ13に相当する。
【0017】
検査部26は、撮像部25から画像を受け取り、画像に基づいて製品の外観を検査する。具体的には、検査部26は、モデル記憶部24から検出モデルを呼び出し、検出モデルに画像を入力し、検出モデルから出力される検査情報を得る。検査部26は、検出モデルから出力された検査情報に基づいて製品が良品であるか否かを判定する。例えば、検査部26は、検査情報が所定の閾値を下回る場合に製品を良品と判定し、検査情報が所定の閾値以上である場合に製品を不良品と判定する。検査部26は、
図1に示したコンピュータ14に相当する。
【0018】
検出モデルを生成する学習フェーズについて詳細に説明する。
【0019】
図3は、学習用画像生成部21の機能構成を概略的に示している。
図3に示すように、学習用画像生成部21は、被写体画像取得部211、明るさ検出部212、背景画像取得部213、明るさ検出部214、画像合成部215、及び教師枠設定部216を備える。
【0020】
被写体画像取得部211は、被写体と被写体の影とを含む被写体画像を取得する。被写体は、検査対象となる製品と同等の製品(サンプル)である。例えば、被写体画像取得部211は、CGを使用して製品と製品の影とを含む合成画像を被写体画像として生成する。具体的には、被写体画像取得部211は、製品の画像にCGで影を加えることにより、被写体画像を得る。製品の画像は、実際の製品をカメラで撮影した画像から製品に対応する領域を切り出すことにより得てもよく、CGを用いて作成してもよい。
【0021】
製品の画像をCGで作成する場合、被写体画像取得部211は、カメラで実際の製品を撮影した2D(2次元)画像と製品の3D(3次元)データとに基づいて製品の画像を生成することができる。製品の3Dデータは、多視点から実際の製品を撮影した画像から作成したものであってもよく、製品の設計データから作成したものであってもよく、他の方法で作成したものであってもよい。3Dデータと2D画像は点ごとの対応付けがなされており、3Dデータを回転させて2D平面に投影することにより製品の画像を生成することができる。
【0022】
実際の検査環境では、製品が置かれる台と製品に照明を当てる光源との位置関係は定まっている。製品に影を加える際には、
図4に示すように、3D仮想空間において実際の検査環境における光源の配置に応じた位置に仮想の光源40が設定される。具体的には、実際の検査環境における台と光源との位置関係に応じて、3Dデータに基づく台43に対して仮想の光源40が設定される。台43の上に3Dデータに基づく製品41を配置し、光源40から製品41の外縁に接する光線44を引き、光線44と台43の交点45を製品41の影42と台43との境界とする。この操作を、影42の輪郭が完全に現れるまで繰り返し行い、それにより影42の領域を決定する。影42の明るさは、実際に台に製品を置いて製品に照明を当てた状態で製品を撮影することにより得られる画像に含まれる製品の影の明るさと同じ明るさ又はそれに近い明るさを設定し、影42に対応する領域をその明るさに変える。例えば、影42に対応する領域は、実際に台に製品を置いて製品に照明を当てた状態で製品を撮影することにより得られる画像に含まれる影の領域における平均の画素値(例えばRGB値)と同じ画素値に設定される。実際の検査では、照明の光は周辺の構造物で乱反射して台を照らすため、製品の影は真っ暗にはならないので、上記のようにして影の明るさを設定する。被写体画像取得部211は、3D仮想空間における製品41及び影42を、実際の検査環境におけるカメラの配置に応じた2D仮想平面に投影することにより、被写体画像を得る。
【0023】
被写体画像取得部211は複数の被写体画像を生成し、生成された被写体画像には、製品に欠陥が存在する複数の被写体画像が含まれる。例えば、カメラで欠陥のある製品を撮影した画像から欠陥に対応する領域を切り出し、切り出しにより得られた欠陥の画像を加工して(例えば大きさ及び/又は色を変更して)製品の画像上に配置することにより、画像上で製品に疑似的な欠陥を付与する。また、想定される欠陥を人工的に作成して製品の画像上に配置することにより、画像上で製品に疑似的な欠陥を付与してもよい。各被写体画像には、良品か不良品かを示すラベルが付与される。ラベルは欠陥の程度に応じて決定される。
【0024】
ここでは、被写体画像取得部211が被写体画像を生成するものとして説明したが、被写体画像は図示しない外部装置で生成され、被写体画像取得部211が外部装置から被写体画像を受信してもよい。
【0025】
図5は、被写体画像取得部211により生成される被写体画像の一例である被写体画像50を概略的に示している。
図5に示すように、被写体画像50は、製品51及び製品51の影52を含む。
【0026】
明るさ検出部212は、被写体画像取得部211により取得された被写体画像から製品の明るさ及び影の明るさを検出する。例えば、明るさ検出部212は、
図5に示すように、製品51とその影52との境界に隣接する製品51の部分領域53における平均の明るさを製品の明るさとして算出する。明るさは画素値に基づいている。例えば、明るさはR値、G値、及びB値の加重平均として算出される。一例として、明るさをlとすると、l=0.3×R+0.6×G+0.1×Bである。なお、YUV表色系が使用される場合のように、画像が輝度信号を含むときには、明るさの算出に輝度信号を使用する。例えば、明るさ検出部212は、製品51と影52との境界に隣接する影52の部分領域における平均の明るさを影の明るさとして算出する。
【0027】
背景画像取得部213は、背景の画像である背景画像を取得する。本実施形態では、背景は製品が置かれる台である。例えば、背景画像取得部213は、各画素が実際の台の色並びに実際の照明の色及び明るさに応じて定められる画素値を有する画像を背景画像として生成する。
【0028】
明るさ検出部214は、背景画像取得部213により取得された背景画像から背景の明るさを検出する。例えば、明るさ検出部214は、背景画像から1つの画素を抽出し、抽出した画素の画素値から背景の明るさを算出する。背景画像が明るさが均一でない場合、例えば、明るさ検出部214は、影と背景との境界に隣接する背景の部分領域における平均の明るさを背景の明るさとして算出する。
【0029】
画像合成部215は、被写体画像取得部211により取得された被写体画像と背景画像取得部213により取得された背景画像とを合成して合成画像を生成する。具体的には、画像合成部215は、被写体画像を背景画像に重畳することにより合成画像を得る。
【0030】
教師枠設定部216は、合成画像における背景の明るさと製品の明るさと影の明るさとに基づいて、画像合成部215により生成された合成画像に教師枠を設定する。合成画像における背景の明るさは、明るさ検出部214により検出された背景の明るさに一致し、合成画像における製品及び影の明るさは、明るさ検出部212により検出された製品及び影の明るさに一致する。教師枠は、教示したい部分を指し示す枠である。教師枠は、少なくとも製品全体が教師枠内に収まるように設定される。言い換えると、教師枠は、合成画像において製品を囲む枠である。教師枠設定部216は、背景の明るさと製品の明るさと影の明るさとの関係から教師枠の大きさを決定する。
【0031】
教師枠設定部216は、製品の明るさと影の明るさが異なり、影の明るさと背景の明るさが近い場合に、製品が教師枠に収まるように教師枠を設定する。一例では、教師枠設定部216は、製品の明るさと影の明るさとの差が影の明るさと背景の明るさとの差よりも大きい場合に、製品を囲む枠を教師枠とする。背景の明るさをIB、製品の明るさをIA、影の明るさをISとすると、この条件は下記式(1)で表される。
|IA-IS|>|IS-IB| ・・・(1)
ここで、|x|はxの絶対値を意味する。
【0032】
他の例では、教師枠設定部216は、製品の明るさと影の明るさとの差が閾値よりも大きく、影の明るさと背景の明るさとの差が閾値よりも小さい場合に、製品を囲む枠を教師枠とする。閾値をαとすると、この条件は、下記式(2)、(3)で表される。
|IA-IS|>α ・・・(2)
|IS-IB|<α ・・・(3)
【0033】
式(2)、(3)が満たされる場合、式(1)も満たされる。なお、式(3)において閾値αとは異なる閾値α′(α>α′)を使用してもよい。
【0034】
教師枠設定部216は、製品に外接する四角形(矩形枠)に対して10%から20%程度大きい四角形を教師枠とする。具体的には、教師枠設定部216は、製品に外接する四角形をk倍した四角形を教師枠とし、ここで、kは、あらかじめ定められ、1.1~1.2の範囲内の値であり得る。教師枠の中心は、製品に外接する四角形の中心に一致してよい。
【0035】
図6は、教師枠が設定された合成画像の一例である合成画像60を概略的に示している。
図6に示す合成画像60では、製品61は比較的明るく、影62と背景63はともに暗く、上記式(1)を満たす。この場合、教師枠65の大きさは、製品61に外接する矩形枠64の大きさのk倍とする。それにより、教師枠65内での輪郭が鮮明になる。具体的には、教師枠65内において、製品61と影62との境界及び製品61と背景63との境界が明確になる。
【0036】
教師枠設定部216は、製品の明るさと影の明るさが近く、影の明るさと背景の明るさが異なる場合に、製品と影の組み合わせが教師枠に収まるように教師枠を設定する。一例では、教師枠設定部216は、影の明るさと背景の明るさとの差が製品の明るさと影の明るさよりも大きい場合に、製品と影の組み合わせを含む枠を教師枠とする。この条件は下記式(4)で表される。
|IA-IS|<|IS-IB| ・・・(4)
【0037】
他の例では、教師枠設定部216は、影の明るさと背景の明るさとの差が閾値よりも大きく、製品の明るさと影の明るさとの差が閾値よりも小さい場合に、製品と影の組み合わせを囲む枠を教師枠とする。この条件は、下記式(5)、(6)で表される。
|IS-IB|>α ・・・(5)
|IA-IS|<α ・・・(6)
【0038】
式(5)、(6)が満たされる場合、式(4)も満たされる。なお、式(5)において閾値αとは異なる閾値α′(α>α′)を使用してもよい。
【0039】
教師枠設定部216は、製品と影の組み合わせに外接する四角形に対して10%から20%程度大きい四角形を教師枠とする。具体的には、教師枠設定部216は、製品と影の組み合わせに外接する四角形をk倍した四角形を教師枠とし、ここで、kは、あらかじめ定められ、1.1~1.2の範囲内の値であり得る。教師枠の中心は、製品と影の組み合わせに外接する四角形の中心に一致してよい。
【0040】
図7は、教師枠が設定された合成画像の一例である合成画像70を概略的に示している。
図7に示す合成画像70では、製品71と影72はともに暗く、背景73は比較的に明るく、上記式(4)を満たす。この場合、教師枠75の大きさは、製品71と影72の組み合わせに外接する矩形枠74の大きさのk倍とする。これにより、教師枠75内での輪郭は鮮明となる。具体的には、教師枠75内において、製品61と影62の組み合わせと背景63との境界が明確である。
【0041】
下記式(7)に示すように製品の明るさと影の明るさとの差が影の明るさと背景の明るさとの差と略同じである場合には、実際に背景(本例では台)を構成する部材の明るさを変えるなどの処置を施してよい。
|IA-IS|≒|IS-IB| ・・・(7)
【0042】
教師枠を示す教師枠情報が付与された合成画像は、学習用画像として学習用画像記憶部22に記憶される。教師枠情報は教師枠の四隅の座標を含んでよい。代替として、教師枠情報は、教師枠の中心座標と教師枠の幅及び高さを示す値とを含んでよい。
【0043】
図8は、学習用画像記憶部22に格納される学習用画像データ80を概略的に示している。
図8に示すように、学習用画像データ80は、複数の学習用画像81、82、83、84を含む。各学習用画像は、画像を構成する画素値、教師枠を示す教師枠情報、及び正解を示すラベルを含む。学習用画像81、82のラベルは不良品を示す値(例えば1)に設定され、学習用画像83、84のラベルは良品を示す値(例えば0)に設定される。
【0044】
図9は、検査装置20のハードウェア構成例を概略的に示している。
図9に示すように、検査装置20は、ハードウェア構成要素として、撮像装置91及びコンピュータ92を備える。
【0045】
撮像装置91は例えばカメラである。撮像装置91は、
図2に示した撮像部25として機能する。
【0046】
コンピュータ92は、プロセッサ921、RAM(Random Access Memory)922、プログラムメモリ923、ストレージデバイス924、入出力インタフェース925、及びバス926を備える。プロセッサ921は、バス926を介して、RAM922、プログラムメモリ923、ストレージデバイス924、及び入出力インタフェース925と信号をやり取りする。
【0047】
プロセッサ921は、典型的には、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などの汎用回路を含む。RAM922はワーキングメモリとしてプロセッサ921により使用される。RAM922はSDRAM(Synchronous Dynamic Random Access Memory)などの揮発性メモリを含む。プログラムメモリ923は、学習用画像生成プログラム、学習プログラム、及び検査プログラムなど、プロセッサ921により実行されるプログラムを記憶する。プログラムメモリ923として、例えば、ROM(Read-Only Memory)が使用される。代替として、ストレージデバイス924の一部領域がプログラムメモリ923として使用されもよい。プロセッサ921は、プログラムメモリ923に記憶されたプログラムをRAM922に展開し、プログラムを解釈及び実行する。学習用画像生成プログラムは、プロセッサ921により実行されたときに、学習用画像生成部21に関して説明する処理をプロセッサ921に実行させる。言い換えると、プロセッサ921は、学習用画像生成プログラムに従って、学習用画像生成部21として機能する。学習プログラムは、プロセッサ921により実行されたときに、学習部23に関して説明する処理をプロセッサ921に実行させる。検査プログラムは、プロセッサ921により実行されたときに、検査部26に関して説明する処理をプロセッサ921に実行させる。
【0048】
学習用画像生成プログラムなどのプログラムは、コンピュータで読み取り可能な記憶媒体に記憶された状態でコンピュータ92に提供されてよい。この場合、例えば、コンピュータ92は、記憶媒体からデータを読み出すドライブを備え、記憶媒体からプログラムを取得する。記憶媒体の例は、磁気ディスク、光ディスク(CD-ROM、CD-R、DVD-ROM、DVD-Rなど)、光磁気ディスク(MOなど)、半導体メモリを含む。また、プログラムをネットワーク上のサーバに格納し、コンピュータ92がサーバからプログラムをダウンロードするようにしてもよい。
【0049】
ストレージデバイス924はデータを記憶する。ストレージデバイス924は、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)などの不揮発性メモリを含む。ストレージデバイス924は学習用画像記憶部22及びモデル記憶部24として機能する。
【0050】
入出力インタフェース925は、外部装置と通信するためのインタフェースである。入出力インタフェース925は、LAN(Local Area Network)ケーブルなどのケーブルで撮像装置91に接続され、撮像装置91から画像を受信する。なお、入出力インタフェース925が無線モジュールを含んでよく、コンピュータ92は撮像装置91と無線接続されてもよい。
【0051】
なお、プロセッサ921は、汎用回路に代えて又は追加して、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)などの専用回路を含んでよく、学習用画像生成部21、学習部23、及び検査部26に関して説明する処理の少なくとも一部は、専用回路により実現されてよい。
【0052】
次に、検査装置20の動作について説明する。
【0053】
図10は、実施形態に係る、検査装置20により実行される学習用画像生成方法を概略的に示している。
【0054】
図10のステップS1001において、被写体画像取得部211は、被写体としての製品と製品の影とを含む被写体画像を生成する。例えば、被写体画像取得部211は、3Dデータに基づく台を3D仮想空間に配置し、実際の検査環境における台と光源との配置関係に応じて、台に対する仮想光源の位置及び向き(角度)を設定する。被写体画像取得部211は、3Dデータに基づく製品を台上に配置し、光源からの光により台上に生じる製品の影を決定して配置する。被写体画像取得部211は、製品の影を決定する際に、影の明るさを所定値に設定する。被写体画像取得部211は、3D仮想空間における製品及びその影を2D仮想平面に投影することにより、被写体画像を得る。被写体画像取得部211は、被写体画像において製品に疑似的な欠陥を付加してよく、被写体画像にラベルを付与する。
【0055】
ステップS1002において、明るさ検出部212は、被写体画像から製品の明るさ及び影の明るさを検出する。例えば、明るさ検出部212は、製品に対応する画像領域から1又は複数の画素を抽出し、抽出した画素の画素値から製品の明るさを算出する。明るさ検出部212は、製品に対応する画像領域のうち影に隣接する部分における平均の明るさを製品の明るさとして算出してよい。例えば、明るさ検出部212は、影に対応する画像領域から1又は複数の画素を抽出し、抽出した画素の画素値から影の明るさを算出する。明るさ検出部212は、影に対応する画像領域のうち製品に隣接する部分における平均の明るさを影の明るさとして算出してよい。
【0056】
ステップS1003において、背景画像取得部213は、背景としての台を含む背景画像を生成する。例えば、背景画像取得部213は、台の3Dデータに基づいてCGで背景画像を生成する。
【0057】
ステップS1004において、明るさ検出部214は、背景画像から背景の明るさを検出する。例えば、明るさ検出部214は、背景画像から1又は複数の画素を抽出し、抽出した画素の画素値から背景の明るさを算出する。
【0058】
ステップS1005において、画像合成部215は、被写体画像取得部211により生成された被写体画像と背景画像取得部213により生成された背景画像を合成した合成画像を生成する。例えば、画像合成部215は、被写体画像を背景画像に重畳する。
【0059】
ステップS1006において、教師枠設定部216は、合成画像における製品の明るさ、影の明るさ、及び背景の明るさの関係に基づいて、少なくとも製品を囲む教師枠を合成画像に設定する。例えば、教師枠設定部216は、製品の明るさと影の明るさとの差が影の明るさと背景の明るさとの差よりも小さい場合には、製品の全体及び影の全体を囲む教師枠を設定し、製品の明るさと影の明るさとの差が影の明るさと背景の明るさとの差よりも大きい場合には、製品の全体を囲む教師枠を設定する。
【0060】
教師枠が設定された合成画像は、学習用画像として学習用画像記憶部22に格納される。学習用画像記憶部22では、学習用画像は、画像を構成する各画素値、教師枠を示す教師枠情報、及び正解を示すラベルを含む。
【0061】
学習用画像生成部21は、ステップS1001からステップS1006に示す処理を繰り返し行って複数の学習用画像を生成する。
【0062】
ステップS1007において、学習部23は、学習用画像生成部21により生成された複数の学習用画像を学習データとして使用して、検査対象となる製品を含む画像を入力とし、製品が良品であるか不良品であるかを検出するように構成された検出モデルの学習を行う。
【0063】
このようにして、学習用画像生成部21及び学習部23により検出モデルが生成される。
【0064】
図11は、実施形態に係る、検査装置20により実行される検査方法を概略的に示している。
図11に示す検査方法では、
図10に関して説明した処理で生成された検出モデルが使用される。
【0065】
図11のステップS1101において、撮像部25は、台上に置かれている、検査対象となる製品を撮影して画像を生成する。ステップS1102において、検査部26は、検出モデルを使用して、撮像部25で得られた画像に基づいて製品を検査する。例えば、検査部26は、画像を検出モデルに入力し、検出モデルから出力される検査情報を得て、検査情報に基づいて製品が良品か不良品かを判定する。
【0066】
このようにして、撮像部25及び検査部26により製品に対する外観検査が行われる。
【0067】
以上のように、本実施形態では、学習用画像生成部21は、製品と製品の影とを含む被写体画像を生成し、台を含む背景画像を取得し、被写体画像と背景画像を合成した合成画像を生成し、合成画像に対して製品を囲む教師枠を設定する。学習用画像生成部21は、合成画像における製品、影、及び背景の明るさに基づいて、教師枠の大きさを決定する。例えば、学習用画像生成部21は、影の明るさと背景の明るさとの差が製品の明るさと影の明るさとの差よりも大きい場合に、製品と影の組み合わせに外接する矩形枠よりも大きい矩形枠を教師枠とし、製品の明るさと影の明るさとの差が影の明るさと背景の明るさとの差よりも大きい場合に、製品に外接する矩形枠よりも大きい矩形枠を教師枠としてよい。これにより、最適な教師枠を合成画像に設定することが可能となる。具体的には、教師枠内での輪郭が鮮明になるように合成画像に教師枠を設定することが可能となる。教師枠内での輪郭が鮮明な合成画像を学習用画像として使用して検出モデルの学習を行うことにより、検出精度の高い検出モデルを得ることができる。よって、学習用画像生成部21は、検出精度の向上を可能にする学習データを生成することができる。
【0068】
学習用画像生成部21は、被写体画像を生成する際に、3D仮想空間において実際の検査環境における光源の配置に応じた位置に仮想光源を設定し、当該仮想光源に基づいて製品の影を生成する。実際の検査環境における光源及び撮像部25(撮像装置91)の配置が固定である場合には、製品の影が発生する方向は一定であり、よって、撮像部25で得られる画像における製品の影の方向も一定である。このため、学習用画像としては、製品の影が特定の方向に向いている画像を用意すればよい。3D仮想空間において実際の検査環境における光源の配置に応じた位置に仮想光源を設定することにより、製品の影が特定の方向に向いている学習用画像を生成することが可能となる。その結果、学習データの量を少なくすることができ、学習に要する時間などのリソースを節約することができる。
【0069】
図12は、関連技術に係る学習データを概略的に示している。
図12に示す学習用画像の各々では、教師枠1205は被写体としての製品1201がちょうど収まる範囲に設定されている。製品1201の影1202の明るさが製品1201の明るさと近いため、製品1201と影1202との境界が不明瞭となっている。製品1201と背景1203との境界は明瞭である。製品1201の位置を正確に検出できるようにするには、様々な方向の影が設定された学習用画像を用意し、それらを使用して学習を行わなければならない。
図12には、4方向の影が設定された4枚の学習用画像が例示されている。多数の画像を含む学習データについて学習を行うには多くの時間がかかる。また、影の方向が偏った画像だけで学習を行うと、製品の位置を正確に検出することができなくなる。本実施形態では、3D仮想空間において実際の検査環境における光源の配置に応じた位置に仮想光源を設定して、製品の影が特定の方向に向いている学習用画像を生成する。それにより、学習時間を短縮でき、製品の位置を正確に検出できるモデルを生成することができる。
【0070】
上述した実施形態では、特徴量として明るさを使用している。明るさに代えて、色を特徴量として使用してもよい。色を特徴量として使用する場合、2つの色の差は、色空間におけるユークリッド距離であってよい。例えば、色空間がRGBで規定される場合において、合成画像における製品の色をR
A、G
A、B
A、合成画像における影の色をR
S、G
S、B
Sとすると、製品の色と影の色との差Dは、下記式(8)で表すことができる。
【数1】
【0071】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0072】
10…製品、11…台、12…照明装置、13…カメラ、14…コンピュータ、15…影、20…検査装置、21…学習用画像生成部、211…被写体画像取得部、212…検出部、213…背景画像取得部、214…検出部、215…画像合成部、216…教師枠設定部、22…学習用画像記憶部、23…学習部、24…モデル記憶部、25…撮像部、26…検査部、91…撮像装置、92…コンピュータ、921…プロセッサ、922…RAM、923…プログラムメモリ、924…ストレージデバイス、925…入出力インタフェース、926…バス。