JP2023067464A - 画像生成モデル、および、画像生成モデルのトレーニング方法 - Google Patents
画像生成モデル、および、画像生成モデルのトレーニング方法 Download PDFInfo
- Publication number
- JP2023067464A JP2023067464A JP2021178732A JP2021178732A JP2023067464A JP 2023067464 A JP2023067464 A JP 2023067464A JP 2021178732 A JP2021178732 A JP 2021178732A JP 2021178732 A JP2021178732 A JP 2021178732A JP 2023067464 A JP2023067464 A JP 2023067464A
- Authority
- JP
- Japan
- Prior art keywords
- image
- image data
- generation model
- processing
- image generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】十分な撮像画像データが準備できない場合であっても、撮像画像データが入力される場合に調整画像を示す調整画像データを出力する画像生成モデルを作成する。【解決手段】対象物を撮像して得られる撮像画像データが入力される場合に調整画像を示す調整画像データを出力する画像生成モデルは、学習用画像データと、学習用画像データに対応する参照画像データと、をそれぞれ含む複数組のデータセットを用いて、学習用画像データが入力される場合に、対応する参照画像データを生成するようにトレーニングされている。学習用画像データは、対象物の画像を示す元画像データであって対象物の作成に用いられる元画像データに対して特定の画像処理を実行して得られる画像データである。【選択図】 図6
Description
本明細書は、撮像画像データが入力される場合に、調整画像を示す調整画像データを出力する画像生成モデル、および、該画像生成モデルのトレーニング方法に関する。
画像データを生成する機械学習モデルである画像生成モデルが知られている。特許文献1に開示された技術では、半導体をSEMで撮像することによって得られるSEM画像を入力画像とし、対応する設計データ画像を教師画像として用いて、SEM画像から予測される設計データ画像を生成する画像生成モデルをトレーニングする。この技術では、検査対象の半導体のSEM画像から画像生成モデルを用いて予測される設計データ画像と、実際の設計データ画像と、を比較することによって、検査対象の半導体が欠陥品であるか正常品であるかを検査する。
しかしながら、上記技術では、画像生成モデルをトレーニングする際に、多数のSEM画像が必要である。このために、十分な数のSEM画像が準備できない場合には、適切にトレーニングされた画像生成モデルを作成できない可能性があった。
本明細書は、十分な撮像画像データが準備できない場合であっても、撮像画像データが入力される場合に調整画像を示す調整画像データを出力する画像生成モデルを作成できる技術を開示する。
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
[適用例1]対象物を撮像して得られる撮像画像データが入力される場合に、調整画像を示す調整画像データを出力する画像生成モデルであって、前記調整画像は、前記撮像画像データによって示される撮像画像の特定の属性が調整された画像であり、前記画像生成モデルは、学習用画像データと、前記学習用画像データに対応する参照画像データと、をそれぞれ含む複数組のデータセットを用いて、前記学習用画像データが入力される場合に、対応する前記参照画像データを生成するようにトレーニングされた学習済みの機械学習モデルであり、前記学習用画像データは、前記対象物の画像を示す元画像データであって前記対象物の作成に用いられる前記元画像データに対して特定の画像処理を実行して得られる画像データである、画像生成モデル。
上記構成によれば、学習用画像データとして、対象物の作成に用いられる元画像データに対して特定の画像処理を実行して得られる画像データが用いられる。この結果、トレーニングにおいて画像生成モデルに入力するための十分な撮像画像データが準備できない場合であっても作成できる画像生成モデルが提供される。
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、画像生成モデルのトレーニング方法、検査装置、検査方法、これらの装置および方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
A.実施例
A-1.検査装置の構成
次に、実施の形態を実施例に基づき説明する。図1は、本実施例の検査システム1000の構成を示すブロック図である。検査システム1000は、検査装置100と、撮像装置400と、を含んでいる。検査装置100と撮像装置400とは、通信可能に接続されている。
A-1.検査装置の構成
次に、実施の形態を実施例に基づき説明する。図1は、本実施例の検査システム1000の構成を示すブロック図である。検査システム1000は、検査装置100と、撮像装置400と、を含んでいる。検査装置100と撮像装置400とは、通信可能に接続されている。
検査装置100は、例えば、パーソナルコンピュータなどの計算機である。検査装置100は、検査装置100のコントローラとしてのCPU110と、GPU115と、RAMなどの揮発性記憶装置120と、ハードディスクドライブなどの不揮発性記憶装置130と、マウスやキーボードなどの操作部150と、液晶ディスプレイなどの表示部140と、通信部170と、を備えている。通信部170は、外部機器、例えば、撮像装置400と通信可能に接続するための有線または無線のインタフェースを含む。
GPU(Graphics Processing Unit)115は、CPU110の制御に従って、3次元グラフィックスなどの画像処理のための計算処理を行うプロセッサである。本実施例では、後述する画像生成モデルGNの演算処理を実行するために利用される。
揮発性記憶装置120は、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置130には、検査装置用のコンピュータプログラムPGと版下画像データRDとが格納されている。版下画像データRDについては後述する。
コンピュータプログラムPGは、後述する画像生成モデルGNの機能をCPU110とGPU115とが協働して実現させるコンピュータプログラムをモジュールとして含んでいる。コンピュータプログラムPGは、例えば、検査装置100の製造者によって提供される。コンピュータプログラムPGは、例えば、サーバからダウンロードされる形態で提供されても良く、DVD-ROMなどに格納される形態で提供されてもよい。CPU110は、コンピュータプログラムPGを実行することにより、後述する検査処理やトレーニング処理を実行する。
撮像装置400は、光学的に被写体を撮像することによって被写体を表す画像データ(撮像画像データとも呼ぶ)を生成するデジタルカメラである。撮像画像データは、複数個の画素を含む画像を示すビットマップデータであり、具体的には、RGB値によって画素ごとの色を表すRGB画像データである。RGB値は、3個の色成分の階調値(以下、成分値とも呼ぶ)、すなわち、R値、G値、B値を含むRGB表色系の色値である。R値、G値、B値は、例えば、所定の階調数(例えば、256)の階調値である。撮像画像データは、画素ごとの輝度を表す輝度画像データであっても良い。
撮像装置400は、検査装置100の制御に従って、撮像画像データを生成し、検査装置100に送信する。本実施例では、撮像装置400は、検査処理の検査対象であるラベルLが貼付された製品300を撮像して、撮像画像を示す撮像画像データを生成するために用いられる。
図2は、製品300の説明図である。図2(A)には、製品300の斜視図が示されている。製品300は、本実施例では、略直方体の筐体30を有するプリンタである。製造工程において、筐体30の前面31(+Y側の面)には、矩形のラベルLが所定の貼付位置に貼付される。
図2(B)には、ラベルLが示されている。ラベルLは、例えば、背景Bと、製造者や製品のブランドロゴ、型番、ロット番号等の各種の情報を示す文字TやマークMと、を含んでいる。
A-2.画像生成モデルGNの構成
画像生成モデルGNの構成について説明する。図3は、画像生成モデルGNの構成を示すブロック図である。画像生成モデルGNは、入力画像データIDに対して、複数個の演算パラメータを用いて、演算処理を実行して、入力画像データIDに対応する出力画像データODを生成する。
画像生成モデルGNの構成について説明する。図3は、画像生成モデルGNの構成を示すブロック図である。画像生成モデルGNは、入力画像データIDに対して、複数個の演算パラメータを用いて、演算処理を実行して、入力画像データIDに対応する出力画像データODを生成する。
画像生成モデルGNは、オートエンコーダとも呼ばれるニューラルネットワークであり、エンコーダECとデコーダDCとを含んでいる。エンコーダECは、入力画像データIDに対して次元削減処理を実行して、入力された画像の特徴を示す特徴データCDを生成する。エンコーダECは、複数個の畳込層を含むCNN(Convolutional Neural Network)によって構成される。各畳込層は、所定サイズのフィルタを用いて畳込処理(convolution)を実行する。各畳込処理の算出値は、バイアスが加算されたうえで、所定の活性化関数に入力されて変換される。活性化関数には、いわゆるReLU(Rectified Linear Unit)等の公知の関数が用いられる。
デコーダDCは、特徴データCDに対して次元復元処理を実行して、出力画像データODを生成する(図1)。デコーダDCは、複数個の転置畳込層を含んでいる。各転置畳込層は、所定サイズのフィルタを用いて転置畳込処理(up-convolution)を実行する。各転置畳込処理の算出値は、バイアスが加算されたうえで、所定の活性化関数に入力されて変換される。本実施例では、活性化関数には、上述したReLU等の公知の関数が用いられる。
以上説明した畳込処理および転置畳込処理に用いられるフィルタの重み、および、バイアスは、後述するトレーニング処理によって調整される演算パラメータである。
なお、本実施例の画像生成モデルGNでは、オートエンコーダとして、VQ-VAE(Vector Quantized Variational Auto Encoder)と呼ばれるモデルを採用して、特徴データCD(潜在変数とも呼ばれる)を、離散的な埋め込み表現で表現している。VQ-VAEモデルは、例えば、論文「A. v. d. Oord, O. Vinyals, and K. Kavukcuoglu. Neural discrete representation learning. arXiv preprint arXiv:1711.00937, 2017.」に開示されている。
本実施例では、入力画像データIDは、所定のサイズ、例えば、数百画素×数百画素の矩形の画像データである。入力画像データIDは、複数個の画素を含む画像を示すビットマップデータであり、具体的には、RGB画像データである。後述するように、本実施例では、上述したラベルL1を含む撮像画像を示す撮像画像データが入力画像データIDとして想定されている。
出力画像データODは、所定のサイズ、本実施例では、入力画像データIDと同一のサイズの矩形の画像データである。出力画像データODは、複数個の画素を含む画像を示すビットマップデータである。出力画像データODは、例えば、入力画像データIDと同様のRGB画像データである。後述するように、本実施例では、入力画像データIDによって示される画像(例えば、撮像画像)をコンピュータグラフィックス画像(以下、CG画像とも呼ぶ)に近づけた画像を示す画像データが、出力画像データODとして想定されている。
A-3.検査処理
図4は、検査処理のフローチャートである。検査処理は、検査すべきラベルLが欠陥を含むか否かを検査する処理である。検査処理は、ラベルLごとに実行される。検査処理は、ユーザ(例えば、検査の作業者)が処理の開始指示を、操作部150を介して検査装置100に入力した場合に、開始される。例えば、ユーザは、検査すべきラベルLが貼り付けられた製品300を、撮像装置400を用いて撮像するための所定の位置に配置した状態で、検査処理の開始指示を入力する。
図4は、検査処理のフローチャートである。検査処理は、検査すべきラベルLが欠陥を含むか否かを検査する処理である。検査処理は、ラベルLごとに実行される。検査処理は、ユーザ(例えば、検査の作業者)が処理の開始指示を、操作部150を介して検査装置100に入力した場合に、開始される。例えば、ユーザは、検査すべきラベルLが貼り付けられた製品300を、撮像装置400を用いて撮像するための所定の位置に配置した状態で、検査処理の開始指示を入力する。
S100では、CPU110は、検査すべきラベルLを含む撮像画像を示す撮像画像データを取得する。例えば、CPU110は、撮像装置400に撮像指示を送信して、撮像装置400に撮像画像データを生成させ、撮像装置400から撮像画像データを取得する。
図5は、本実施例にて用いられる画像の一例を示す第1の図である。図5(A)には、撮像画像データによって示される撮像画像DI1の一例が示されている。撮像画像DI1は、背景BB1と、ラベルBL1と、を含む。このように、撮像画像DI1に示されるラベルには、実物のラベルL1と区別するために符号「BL1」を付す。ラベルBL1の背景BB1は、製品300の筐体30の前面31を示している。
撮像画像DI1内のラベルBL1は、文字BX1とマークBM1とを含む。撮像画像DI1におけるラベルBL1の位置、大きさ、角度には、バラツキが生じる。撮像画像DI1の左上の頂点P1に対するラベルBL1の左上の頂点PL1の位置には、例えば、撮像対象の製品300に対するラベルLの貼付位置のバラツキや撮像装置400に対する製品300の設置位置のバラツキに起因して、バラツキが生じる。同様に、撮像画像DI1の下辺と、ラベルBL1の下辺と、の間の角度θ1にもバラツキが生じる。また、撮像画像DI1内のラベルBL1の大きさには、撮像装置400と製品300との間の距離のバラツキに起因して、バラツキが生じる。
また、撮像画像DI1内のラベルBL1の色は、照明の明るさなどの撮像条件によって、実物のラベルLや後述する版下画像内のラベルBL3の色とは、差異がある。また、ラベルBL1の色は、撮像画像ごとにバラツキが生じる。同様に、撮像画像DI1内の背景BB1にも、撮像画像ごとに色のバラツキが生じる。
また、撮像対象の実物のラベルLは、キズ、汚れ、欠けなどの様々な欠陥を含み得るので、撮像画像DI1のラベルBL1も、これらの欠陥を含み得る。図5(A)の例では、ラベルBL1は、キズdf1を含んでいる。
なお、本実施例の検査処理では、ラベルLの貼付位置については検査の合否判定の対象とせず、ラベルLが欠陥を含むか否かのみを検査の合否判定の対象とする。
S110では、CPU110は、取得された撮像画像データを、入力画像データIDとして画像生成モデルGNに入力することによって、撮像画像データに対応する出力画像データODを生成する。以下では、撮像画像データに対応する出力画像データODは、撮像画像データが入力画像データIDとして画像生成モデルGNに入力される場合に、画像生成モデルGNから出力される出力画像データODのことを意味する。
図5(B)には、出力画像データODによって示される出力画像DI2の一例が示されている。図5(B)の出力画像DI2を示す出力画像データは、図5(A)の撮像画像DI1を示す撮像画像データと対応している。出力画像DI2は、ラベルBL2を示す画像である。このように出力画像DI2に示されるラベルを、実物のラベルL1と区別するために符号「BL2」を付す。ラベルBL2は、文字BX2とマークBM2と、を含む。
ここで、出力画像DI2の説明のために、先に版下画像について説明する。図5(C)には、版下画像DI3の一例が示されている。版下画像DI3は、版下画像データRD(図1)によって示される画像である。版下画像データRDは、ラベルLの作成に用いられるデータである。例えば、ラベルLは、版下画像データRDを用いて、ラベル用のシートに版下画像DI3を印刷することによって作成される。ただし、版下画像DI3のサイズ(縦横の画素数)は、検査処理のために、出力画像DI2と同一のサイズに調整(拡大または縮小)されており、実際にラベルの印刷に用いられるサイズとは異なっていても良い。版下画像データRDは、出力画像データODと同様のビットマップデータ、本実施例では、RGB画像データである。版下画像DI3は、ラベルBL3を示す画像である。このように版下画像DI3に示されるラベルを、実物のラベルL1と区別するために符号「BL3」を付す。ラベルBL3は、実物のラベルLを表現したCG画像であり、文字BX3とマークBM3と、を含む。
CG画像は、コンピュータによって生成される画像であり、例えば、オブジェクトを描画するための描画コマンドを含むベクタデータのレンダリング(ラスタライズとも呼ばれる)によって、生成される。
本実施例では、版下画像DI3は、ラベルBL3のみを含み、背景を含んでいない。また、版下画像DI3においてラベルBL3は傾いていない。すなわち、版下画像DI3の矩形の四辺と、矩形のラベルBL3の四辺とは一致している。
図5(B)の出力画像DI2内のラベルBL2は、図5(A)の撮像画像DI1内のラベルBL1をCG画像風に表現した画像である。本実施例では、画像生成モデルGNは、特定のラベルLのための専用のモデルである。画像生成モデルGNの入力画像データIDおよび出力画像データODの縦横比は、ラベルLの縦横比と同一とされている。
出力画像DI2は、撮像条件に起因する色の差異が低減されるように調整されている。例えば、出力画像DI2のラベルBL2の下地や文字BX2の色は、撮像画像DI1のラベルBL1の下地や文字BX1と比較して、版下画像DI3のラベルBL3の下地や文字BX3の色に近い。また、出力画像DI2は、ラベルの傾きや大きさが調整されている。例えば、出力画像DI2のラベルBL2は傾いていない。さらに、出力画像DI2のラベルBL2の大きさは、出力画像DI2の大きさとほぼ等しい。このために、出力画像DI2は、ラベルBL2のみを含み、背景を含んでいない。すなわち、出力画像DI2の矩形の四辺と、矩形のラベルBL2の四辺とはほぼ一致している。この結果、出力画像DI2のラベルBL2は、撮像画像DI1のラベルBL1と比較して、版下画像DI3のラベルBL3に近づいている。このように、出力画像DI2は、撮像画像DI1の特定の属性(具体的には、ラベルの色、傾き、大きさ)が調整された調整画像である、と言うことができ、出力画像データODは、調整画像データとも言うことができる。
ただし、撮像画像DI1内のラベルBL1が欠陥を含む場合には、出力画像DI2内のラベルBL2にも欠陥が含まれる。例えば、図5(A)のラベルBL1は、キズdf1を含んでいるので、図5(B)のラベルBL2にもキズdf1と同様のキズdf2が含まれている。このように、検査の対象となる欠陥が撮像画像DI1内のラベルBL1に含まれる場合には、出力画像DI2内のラベルBL2においても当該欠陥が維持され、検査の対象とならない要素であって撮像画像ごとにバラツキがある差異については、ラベルBL2ではラベルBL1よりも低減される。このような出力画像DI2を示す出力画像データODの生成は、後述するトレーニング処理によって画像生成モデルGNをトレーニングすることによって実現されている。
S120では、CPU110は、出力画像データODと版下画像データRDとを用いて、差分画像DI4を示す差分画像データを生成する。図5(D)には、差分画像DI4の一例が示されている。図5(D)の差分画像DI4は、図5(B)の出力画像DI2と図5(C)の版下画像DI3との差分を示す画像である。例えば、出力画像データODにノイズ除去処理が実行された後に、出力画像DI2と版下画像DI3とが画素ごとに比較される。そして、出力画像DI2の複数個の画素のうち、版下画像DI3の対応する画素とのRGB値の差が基準以上である画素が差分画素として特定される。差分画像DI4は、例えば、差分画素と、差分画素とは異なる画素と、を示す二値データである。
図5(D)の差分画像DI4には、キズdf4が含まれる。差分画像DI4のキズdf4は、複数個の差分画素によって構成されるオブジェクトであり、図5(B)の出力画像DI2に含まれるキズdf2を示している。差分画像DI4を参照することで、出力画像DI2に含まれる欠陥の位置、大きさ、形状を特定することができる。出力画像DI2にキズなどの欠陥が含まれない場合には、出力画像DI2と版下画像DI3とはほぼ同じ画像であるために、差分画像DI4において、差分画素はほとんど特定されない。仮に、撮像画像DI1と版下画像DI3との差分画像を生成する場合には、撮像画像DI1に含まれる色の差異、位置、大きさなどのバラツキによって、欠陥とは異なる部分にも多数の差分画素が生じて、差分画像を用いて欠陥を適切に特定できない可能性が増大する。本実施例では、画像生成モデルGNを用いて、撮像画像DI1を出力画像DI2に変換してから、該出力画像DI2と版下画像DI3との差分画像DI4が生成されるので、上述のバラツキによる変動が大きな撮像画像DI1であっても差分画像DI4を用いて欠陥を精度良く特定できる。したがって、撮影条件などのバラツキに起因して検査の精度が低下することが抑制できる。
S130では、CPU110は、差分画像において、差分画素によって構成される差分領域の面積が閾値THj以上であるか否かを判断する。差分領域の面積が閾値THj未満である場合には(S130:NO)、S150にて、CPU110は、検査すべきラベルLは合格品であると判定する。差分領域の面積が閾値THj以上である場合には(S13:YES)、S140にて、CPU110は、検査すべきラベルは不合格品であると判定する。S160では、CPU110は、検査結果を表示部140に表示して、検査処理を終了する。このように画像生成モデルGNを用いて、検査すべきラベルLが合格品であるか不合格品であるかを精度良く判定することができる。
A-4.トレーニング処理
トレーニング処理は、画像生成モデルGNの複数個の演算パラメータを調整することによって、画像生成モデルGNをトレーニングする処理である。上述のように、画像生成モデルGNは、撮像画像データが入力される場合に、出力画像DI2内のラベルBL2を撮像画像DI1内のラベルBL1よりも版下画像DI3内のラベルBL3に近づけるとともに、撮像画像DI1内のラベルBL1に含まれる欠陥を出力画像DI2内のラベルBL2においても維持するようにトレーニングされる。図6は、トレーニング処理のフローチャートである。
トレーニング処理は、画像生成モデルGNの複数個の演算パラメータを調整することによって、画像生成モデルGNをトレーニングする処理である。上述のように、画像生成モデルGNは、撮像画像データが入力される場合に、出力画像DI2内のラベルBL2を撮像画像DI1内のラベルBL1よりも版下画像DI3内のラベルBL3に近づけるとともに、撮像画像DI1内のラベルBL1に含まれる欠陥を出力画像DI2内のラベルBL2においても維持するようにトレーニングされる。図6は、トレーニング処理のフローチャートである。
S200では、CPU110は、不揮発性記憶装置130から版下画像DI3を示す版下画像データRDを取得する。図7は、本実施例にて用いられる画像の一例を示す第2の図である。図7(A)には、版下画像DI3の一例が示されている。この版下画像DI3は、図5(C)の版下画像DI3と同一である。
S205では、CPU110は、版下画像データRDを用いて、欠陥付加処理を実行する。欠陥付加処理は、キズ、汚れ、欠けなどの疑似的な欠陥を、版下画像DI3に対して付加する処理である。S210では、CPU110は、欠陥付加処理済みの版下画像データRDを参照画像データとして、不揮発性記憶装置130に保存する。
参照画像データによって示される参照画像DI5は、疑似的な欠陥が付加された版下画像DI3である。例えば、図5(B)の参照画像DI5aは、ラベルBL3と、線状のキズを疑似的に示す画像(以下、疑似キズdf5とも呼ぶ)と、を含んでいる。疑似キズdf5は、例えば、ベジエ曲線やスプライン曲線などの曲線である。例えば、CPU110は、ベジエ曲線の制御点の位置や個数、線の太さ、線の色を、所定の範囲内でランダムに決定することによって、疑似キズdf5を生成する。CPU110は、生成された疑似キズdf5を版下画像DI3に合成する。これによって、参照画像DI5aを示す参照画像データが生成される。ここで、線の色は、版下画像DI3のラベルBL3の最頻色とは少なくとも異なる色に決定される。ラベルBL3の最頻色は、通常は、ラベルBL3の下地の色である。本実施例では、線の色は、ラベルBL3の下地の色、および、文字BX3の色とは異なる色に決定される。例えば、ラベルBL3の下地および文字BX3の色(例えば、黒や白)の情報が、版下画像データRDに関連付けて予め記憶されている。CPU110は、該情報に基づいて、ラベルBL3の下地および文字BX3の色を特定する。CPU110は、下地および文字BX3の色の彩度および色相とは所定量以上離れた彩度および色相を有する色の中から、疑似キズdf5の色(線の色)を決定する。これに代えて、例えば、ラベルBL3の最頻色が、版下画像データRDを解析することによって特定されても良い。例えば、ラベルBL3の最頻色は、版下画像データRDのヒストグラムを作成し、該ヒストグラムに基づいて決定される。そして、該最頻色とは異なる色が線の色として決定されても良い。
例えば、図5(C)の参照画像DI5bは、ラベルBL3と、汚れを疑似的に示す画像(以下、疑似汚れst5とも呼ぶ)と、を含んでいる。疑似汚れst5は、例えば、微小な多数の点の集合である。例えば、CPU110は、点を配置する領域、点の色を、所定の範囲内でランダムに決定し、該領域内にランダムまたは所定のパターンで多数の点を配置することによって、疑似汚れst5を生成する。CPU110は、生成された疑似汚れst5を版下画像DI3に合成する。これによって、参照画像DI5bを示す参照画像データが生成される。ここで、点の色は、版下画像DI3のラベルBL3の最頻色とは少なくとも異なる色に決定される。本実施例では、点の色は、疑似キズdf5と同様に、BL3の下地および文字BX3の色とは異なる色に決定される。
S215では、CPU110は、参照画像DI5に対して縮小処理を実行する。縮小処理は、参照画像DI5の縦横比を変更せずに、特定の倍率で画像のサイズを小さくする処理である。特定の倍率は、例えば、0.7~0.95の範囲内でランダムに決定される。
S220では、CPU110は、縮小処理済みの参照画像に対して回転処理を実行する。回転処理は、特定の回転角度で画像を回転させる処理である。特定の回転角度は、例えば、-10度~+10度の範囲内でランダムに決定される。例えば、正の回転角度は時計回りの回転を示し、負の回転角度は反時計回りの回転を示す。
S225では、CPU110は、回転処理済みの参照画像に対して明度補正処理を実行する。明度補正処理は、画像の明度を変更する処理である。例えば、明度補正処理は、各画素のRGB値の3個の成分値(R値、G値、B値)のそれぞれを、ガンマカーブを用いて変換することによって、行われる。ガンマカーブのγ値は、例えば、0.5~2の範囲内でランダムに決定される。γ値は、明度補正の程度を決定付けるパラメータである。γ値が1未満である場合には、補正によって(R値、G値、B値)が大きくなるので明度は高くなる。γ値が1より大きい場合には、補正によって(R値、G値、B値)が小さくなるので明度は低くなる。
S230では、CPU110は、明度補正処理済みの参照画像に対して背景付加処理を実行する。背景付加処理は、画像に対して背景画像を付加する処理である。S235では、CPU110は、背景付加処理済みの参照画像を学習用の入力画像データとして、不揮発性記憶装置130に保存する。学習用の入力画像データは、該入力画像データを生成する際に用いられた参照画像データと対応付けて保存される。以下では、学習用の入力画像データを生成する際に用いられた参照画像データを、該学習用の入力画像データと対応する参照画像データとも呼ぶ。
図7(D)には、学習用入力画像DI6の一例が図示されている。図7(D)の学習用入力画像DI6は、図7(C)の参照画像DI5bに対して縮小処理、回転処理、明度補正処理を行って得られるラベルの画像(以下、ラベルBL6とも呼ぶ)に背景付加処理を実行することによって背景画像BIが付加された画像である。
背景付加処理では、例えば、CPU110は、縮小処理前の参照画像DI5と同じサイズの矩形の背景画像BIを生成する。背景画像BIは、単色の画像にノイズNzを付加した画像である。背景画像BIの色は、少なくとも参照画像DI5の最頻色とは異なる色に決定される。本実施例では、背景画像BIの色は、疑似キズdf5と同様に、ラベルBL3の下地および文字BX3の色とは異なる色に決定される。ノイズNzは、白と黒の多数の微小な点で構成されるいわゆるゴマ塩ノイズである。CPU110は、多数の微小な点を、背景画像BI上にランダムに配置することによって、背景画像BIにノイズNzを付加する。CPU110は、生成された背景画像BIに、明度補正処理済みの参照画像(例えば、図7(D)のラベルBL6)を合成する。これによって、学習用入力画像DI6を示す学習用の入力画像データが生成される。なお、この際には、生成される学習用入力画像DI6に、明度補正処理済みの参照画像(例えば、図7(D)のラベルBL6)の全体が含まれるように、参照画像の合成が実行される。
S240では、CPU110は、S215~S235の処理がM回(Mは2以上の整数)繰り返されたか否かを判断する。換言すれば、1個の参照画像データに基づいてM個の互いに異なる学習用の入力画像データが生成されたか否かが判断される。S215~S235の処理がM回繰り返されていない場合には(S240:NO)、CPU110は、S215に戻る。S215~S235の処理がM回繰り返された場合には(S240:YES)、CPU110は、S245に処理を進める。
S245では、CPU110は、S205~S240の処理がN回(Nは2以上の整数)繰り返されたか否かを判断する。換言すれば、N個の参照画像データに基づいて(M×N)個の互いに異なる学習用の入力画像データが生成されたか否かが判断される。S205~S240の処理がN回繰り返されていない場合には(S245:NO)、CPU110は、S205に戻る。S205~S240の処理がN回繰り返された場合には(S245:YES)、CPU110は、S250に処理を進める。この時点で、N個の参照画像データと、(M×N)個の学習用画像データと、が生成され、不揮発性記憶装置130に保存されている。例えば、Nは、100~200の範囲の値であり、Mは、10~20の範囲の値である。
S250では、CPU110は、パラメータ調整処理を実行する。パラメータ調整処理は、S200~S245の処理にて生成されたN個の参照画像データと(M×N)個の学習用の入力画像データを用いて、画像生成モデルGNの複数個の演算パラメータを調整する処理である。図8は、パラメータ調整処理のフローチャートである。
S300では、CPU110は、画像生成モデルGNの複数個の演算パラメータを初期化する。例えば、これらの演算パラメータの初期値は、同一の分布(例えば、正規分布)から独立に取得された乱数に設定される。
S310では、CPU110は、不揮発性記憶装置130に格納された(M×N)個の学習用の入力画像データから、バッチサイズ分の入力画像データ、例えば、V個(Vは、1以上の整数)の入力画像データを選択する。選択される入力画像データの個数Vは、例えば、数百個である。例えば、(M×N)個の入力画像データをそれぞれ含む複数個のグループ(バッチ)に予め分割し、これらのグループから1個のグループが順次に選択される。V個の入力画像データは、(M×N)個の入力画像データから、毎回、ランダムに選択されても良い。
S320では、CPU110は、選択されたV個の学習用の入力画像データを、それぞれ、入力画像データIDとして画像生成モデルGNに入力して、V個の出力画像データODを生成する。
S330では、CPU110は、V個の出力画像データODのそれぞれについて、出力画像データODと、該出力画像データODに対応する参照画像データと、を用いて、誤差値Eを算出する。出力画像データODに対応する参照画像データは、出力画像データODを生成する際に画像生成モデルGNに入力される入力画像データIDと対応する参照画像データである。誤差値Eには、所定の損失関数が用いられる。例えば、本実施例では、VQ-VAEモデルの損失関数が用いられる。この損失関数は、上述したVQ-VAEモデルの論文に開示された公知の関数である。詳細な説明は省略するが、損失関数は、再構築誤差と、潜在変数の埋め込み表現に関する項と、を含む。例えば、再構築誤差は、出力画像データODと、該出力画像データODに対応する参照画像データと、の差を示す誤差であり、例えば、平均二乗誤差やクロスエントロピー誤差が用いられる。
S340では、CPU110は、S330にて算出されたV個の誤差値Eを用いて、画像生成モデルGNの複数個の演算パラメータを調整する。具体的には、CPU110は、V個の誤差値Eの合計値が小さくなるように、所定の最適化アルゴリズムに従って演算パラメータを調整する。所定のアルゴリズムには、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズム(例えば、Adam)が用いられる。
S350では、CPU110は、トレーニングが完了したか否かを判断する。本実施例では、ユーザからの完了指示が入力された場合にはトレーニングが完了したと判断し、トレーニングの継続指示が入力された場合にはトレーニングが完了していないと判断する。例えば、CPU110は、トレーニング処理に用いられた学習用の入力画像データとは別の複数個のテスト用の入力画像データを画像生成モデルGNに入力して、複数個の出力画像データODを生成する。CPU110は、生成された出力画像データODによって示される出力画像を表示部140に表示する。ユーザは、表示された出力画像を確認して、出力画像が所望の出力画像(CG画像風に変換され、かつ、欠陥が維持される画像)であるか否かを確認する。ユーザは、確認結果に応じて、操作部150を介して、トレーニングの完了指示または継続指示を入力する。変形例では、例えば、S310~S340の処理が所定回数だけ繰り返された場合に、トレーニングが完了されたと判断されても良いし、誤差値Eが閾値以下になった場合に、トレーニングが完了されたと判断されても良い。
トレーニングが完了していないと判断される場合には(S350:NO)、CPU110は、S310に処理を戻す。トレーニングが完了したと判断される場合には(S350:YES)、CPU110は、トレーニング処理を終了する。このトレーニング処理によれば、トレーニング処理が終了した時点で、画像生成モデルGNは、演算パラメータが調整された学習済みモデルになっている。学習済みの画像生成モデルGNを実現するプログラムは、コンピュータプログラムPGにモジュールとして組み込まれて(図1)、上述した検査処理(図4)に用いられる。
以上説明したトレーニング処理の説明から解るように、本実施例の学習済みの画像生成モデルGNは、学習用の入力画像データと、学習用の入力画像データに対応する参照画像データと、をそれぞれ含む複数組のデータセットを用いて、学習用の入力画像データが入力される場合に、対応する参照画像データを生成するようにトレーニングされた学習済みの機械学習モデルである。本実施例によれば、学習用の入力画像データは、版下画像データRDに対して特定の画像処理(本実施例は、欠陥付加処理、縮小処理、回転処理、明度補正処理、背景付加処理)を実行して得られる画像データである(図6のS205、S215~S230)。そして、版下画像データRDは、対象物であるラベルLの画像を示す元画像データであって該ラベルLの作成に用いられる元画像データである(図5(C))。
この結果、トレーニングにおいて画像生成モデルGNに入力するための十分な撮像画像データが準備できない場合であっても作成できる画像生成モデルGNが提供される。仮に、学習用の入力画像データとして、欠陥を含む実物のラベルLを撮像装置400で撮像して得られる撮像画像データを用いる場合には、多量の実物のラベルLに多様なキズや汚れなどの欠陥を付けたうえで、撮像を行う必要がある。このために、画像生成モデルGNを作成するユーザの負担が過度に大きくなる場合がある。本実施例では、版下画像データRDを用いて学習用の入力画像データが生成されるので、画像生成モデルGNのトレーニングのためのユーザの負担を軽減して、画像生成モデルGNを容易にトレーニングできる。
さらに、本実施例によれば、参照画像DI5を示す参照画像データも、元画像データである版下画像データRDに基づく画像データである。例えば、本実施例の参照画像データは、版下画像データRDに対して欠陥付加処理を実行して得られる画像データである(図6のS205、S210)。この結果、トレーニングに用いられる参照画像データの生成も容易である。
さらに、本実施例によれば、版下画像データRDに対して実行される特定の画像処理は、版下画像DI3に擬似的な欠陥を付加する欠陥付加処理と、背景を付加する背景付加処理と、を含む。欠陥と背景とが付加された画像を示す学習用画像データを容易に準備できるので、作成がより容易な画像生成モデルが提供される。
さらに、本実施例によれば、参照画像データは、版下画像データRDに対して、欠陥付与処理を含み、かつ、背景付加処理、縮小処理、回転処理、明度補正処理を含まない処理を実行して得られる画像データである(図6)。この結果、例えば、欠陥と背景とが付加された学習用の入力画像データが入力される場合に、欠陥が付加され、かつ、背景が付加されない参照画像データを生成するように、画像生成モデルがトレーニングされる。また、学習用の入力画像データを生成する過程で生成される欠陥付加処理済みの版下画像データRDを参照画像データとして用いることができるので、参照画像データをさらに容易に生成できる。例えば、仮に、学習用の入力画像データとして、撮像画像データを用いる場合には、参照画像データとして版下画像データRDに基づく画像データを用いるとしても、例えば、学習用の撮像画像に含まれる欠陥を版下画像に付加する処理が必要になり、処理の負担が大きくなる可能性がある。本実施例では、このような不都合を抑制することができる。
さらに、本実施例によれば、背景画像BIは、学習用の入力画像データごと異なるように、ランダムに付されたノイズNzを含む(図7(D))。この結果、複数個の学習用の入力画像データの背景画像BIが共通の特徴を有することを抑制できるので、背景画像BIの特徴が学習用の入力画像データの特徴として画像生成モデルGNに学習されることを抑制できる。したがって、画像生成モデルGNが、背景画像BIを除いたラベルの特徴のみを学習するように、画像生成モデルGNを適切にトレーニングすることができる。
さらに、本実施例によれば、背景画像BIの色は、学習用の入力画像データごと異なるように、ランダムに決定される。この結果、さらに、複数個の学習用の入力画像データの背景画像BIが共通の特徴を有することを抑制できるので、背景画像BIの特徴が学習用の入力画像データの特徴として画像生成モデルGNに学習されることをさらに抑制できる。
さらに、本実施例によれば、学習用の入力画像データを生成する際に版下画像データRDに対して実行される特定の画像処理は、ラベルBL3にノイズを付加する処理を含まない(図6)。この結果、学習用入力画像DI6(図7(D))において、ラベルBL6にはノイズが含まれず、背景画像BIにはノイズNzが含まれるので、背景画像BIの特徴よりもラベルBL6の特徴が画像生成モデルGNによって学習されることを促進できる。
さらに、本実施例によれば、背景画像BIの色は、ラベルBL6を構成する最頻色とは異なる色である。この結果、背景画像BIがラベルBL6の一部として、画像生成モデルGNによって学習されることを抑制することができる。
さらに、本実施例によれば、学習用の入力画像データを生成する際に版下画像データRDに対して実行される画像処理は、さらに、回転処理(図6のS220)と、明度補正処理(図6のS225)と、を含む。この結果、例えば、学習用の入力画像データから、回転処理や明度補正処理が実行されていない参照画像データを生成するように、トレーニングを行うことで、撮像画像データに生じ得る傾きや明度のバラツキを調整して適切な出力画像データODを生成するように、画像生成モデルGNをトレーニングすることができる。
さらに、本実施例によれば、背景付加処理は、学習用入力画像DI6に、ラベルBL6の全体が含まれるように、背景画像BIを付加する処理である(図7(D))。この結果、出力画像DI2において、ラベルの全体が再現されるように画像生成モデルGNをトレーニングすることができる。
さらに、本実施例によれば、学習用の入力画像データを生成する際に版下画像データRDに対して実行される特定の画像処理は、欠陥付加処理の後に、縮小処理、回転処理、明度補正処理、背景付加処理を実行する処理である(図6)。この結果、より自然な撮像画像風の画像を示す学習用の入力画像データを生成できる。上述のように、縮小処理、回転処理、明度補正処理、背景付加処理は、撮像条件に起因するバラツキの影響を画像に加味するための処理である。実際の撮像でも、欠陥に対して撮像条件に起因するバラツキの影響があるため、疑似的な欠陥の画像に対しても該影響が加味されることが好ましいと考えられる。
さらに、本実施例では、1回の欠陥付加処理の後に、M種類の異なる画像処理(縮小処理、回転処理、明度補正処理、背景付加処理のセット)が実行されることによって、M種類の異なる学習用の入力画像データが生成される。この結果、1個の参照画像データに対応するM個の学習用の入力画像データが生成されるので、効率良く、多数の学習用の入力画像データが生成できる。
さらに、本実施例では、欠陥付加処理は、版下画像DI3のラベルBL3を構成する最頻色とは異なる色の欠陥を付加する処理である。画像生成モデルGNは、撮像画像DI1のラベルBL1を版下画像DI3のラベルBL3に近づけつつ、ラベルBL1に含まれる欠陥については維持するように、トレーニングされる必要がある。このためには、欠陥は、ラベル自体の特徴とは異なるものとして学習されることが好ましいと考えられる。付加される疑似的な欠陥の色を、ラベルBL3を構成する最頻色とは異なる色とすることで、欠陥が対象物の特徴として学習されることを抑制できる。
さらに、本実施例の検査処理では、画像生成モデルGNの出力画像データODは、欠陥を含まないラベルBL1を示す版下画像データRDと、比較されることによって、撮像画像DI1によって示されるラベルが欠陥を含むか否かを検査するために用いられる。そして、トレーニング処理において、欠陥付加処理は、検査の対象となる欠陥を付加する処理であり、他の画像処理(縮小処理、回転処理、明度補正処理、背景付加処理)は、撮像画像DI1に生じ得るバラツキであって検査の対象とならないバラツキに起因して変動する特定の属性(本実施例では明るさ、大きさ、傾き、位置)を調整する処理である。このような画像処理を実行して生成される学習用の入力画像データを用いて、画像生成モデルGNをトレーニングすることで、出力画像DI2において、撮像画像DI1のラベルBL1を版下画像DI3のラベルBL3に近づけつつ、ラベルBL1に含まれる欠陥については維持するように、画像生成モデルGNをトレーニングすることができる。
以上の説明から解るように、本実施例の欠陥付加処理は、第1画像処理の例であり、縮小処理、回転処理、明度補正処理、背景付加処理の全体は、第2画像処理の例である。本実施例の版下画像データRDは、元画像データおよび比較画像データの例である。
B.変形例:
(1)上記実施例では、撮像画像DI1において、バラツキに起因して変動する特定の属性としてラベルの明るさ、大きさ、傾き、位置が考慮されている。これに限らず、他の属性が考慮されても良い。例えば、撮像画像DI1は、イメージセンサを用いて生成されるために、実物のラベルや後述する版下画像には含まれないボケ、ムラ、ノイズ、歪みを含み得る。このために、ボケ、ムラ、ノイズ、歪みの少なくとも一部が低減された出力画像DI2が生成されるように、画像生成モデルGNがトレーニングされても良い。この場合には、学習用の入力画像データを生成する際には、縮小処理、回転処理、明度補正処理、背景付加処理の少なくとも一部とともに、あるいは、縮小処理、回転処理、明度補正処理、背景付加処理の少なくとも一部に代えて、画像に疑似的にボケ、ムラ、ノイズ、歪みを付加する処理が追加される。ボケやムラを付加する処理には、例えば、ガウシアンフィルタ等を用いた平滑化処理や、が用いられる。ノイズを付加する処理は、本実施例において背景画像BIにノイズNzを付加する処理と同様の処理が用いられる。歪みを付加する処理は、例えば、台形歪みやレンズ歪みを疑似的に付加する処理が用いられる。また、撮像画像DI1では、照明の色温度の影響などに起因して、明度だけでなく、彩度も変動し得る。このために、トレーニング処理では、明度補正処理に代えて、または、明度補正処理とともに、画像の彩度を変更する彩度補正処理が実行されても良い。
(1)上記実施例では、撮像画像DI1において、バラツキに起因して変動する特定の属性としてラベルの明るさ、大きさ、傾き、位置が考慮されている。これに限らず、他の属性が考慮されても良い。例えば、撮像画像DI1は、イメージセンサを用いて生成されるために、実物のラベルや後述する版下画像には含まれないボケ、ムラ、ノイズ、歪みを含み得る。このために、ボケ、ムラ、ノイズ、歪みの少なくとも一部が低減された出力画像DI2が生成されるように、画像生成モデルGNがトレーニングされても良い。この場合には、学習用の入力画像データを生成する際には、縮小処理、回転処理、明度補正処理、背景付加処理の少なくとも一部とともに、あるいは、縮小処理、回転処理、明度補正処理、背景付加処理の少なくとも一部に代えて、画像に疑似的にボケ、ムラ、ノイズ、歪みを付加する処理が追加される。ボケやムラを付加する処理には、例えば、ガウシアンフィルタ等を用いた平滑化処理や、が用いられる。ノイズを付加する処理は、本実施例において背景画像BIにノイズNzを付加する処理と同様の処理が用いられる。歪みを付加する処理は、例えば、台形歪みやレンズ歪みを疑似的に付加する処理が用いられる。また、撮像画像DI1では、照明の色温度の影響などに起因して、明度だけでなく、彩度も変動し得る。このために、トレーニング処理では、明度補正処理に代えて、または、明度補正処理とともに、画像の彩度を変更する彩度補正処理が実行されても良い。
(2)上記実施例では、検査の対象物は、ラベルである。これに限らず、検査の対象物は、他の物、例えば、工業的に製造される様々な製品、例えば、最終的に市場で販売される最終製品や、最終製品の製造に用いられる部品であっても良い。この場合には、例えば、参照画像データは、製品の作成に用いられる設計図面データに対して、欠陥付加処理を実行して得られる画像データであっても良い。また、学習用の入力画像データは、該設計図面データに対して、欠陥付加処理に加えて、縮小処理、回転処理、明度補正処理、背景付加処理を実行して得られる画像データであっても良い。
(3)上記実施例では、画像生成モデルGNによって生成される出力画像データODは、検査処理のために用いられる。これに限らず、他の目的のために用いられる出力画像データを生成する画像生成モデルのトレーニングに、本実施例のトレーニング処理が用いられても良い。例えば、撮像画像の見栄えを向上するために、撮像画像の所定の属性(例えば、歪み、ノイズ)が低減された出力画像データを生成する画像生成モデルのトレーニングに、本実施例のトレーニング処理が用いられても良い。この場合には、撮像される対象物の設計図面データや対象物の画像を印刷するための版下画像データに対して、見栄えを悪化するように所定の属性を調整する画像処理が実行されることによって、学習用の入力画像データが生成されても良い。また、設計図面データや版下画像データに対して、自然で良好な見栄えになるように、所定の属性を調整する画像処理が実行されることによって、参照画像データが生成されても良い。
(4)上記実施例のトレーニング処理(図6)は、一例であり、適宜に省略や変更が行われ得る。例えば、本実施例の縮小処理、回転処理、明度補正処理、背景付加処理のうち、例えば、検査処理の態様によって考慮する必要性が低い属性を調整する処理は、省略されても良い。例えば、安定して明るさで撮像されることが保証されている環境下で、ラベルの撮像が行われる場合には、明度補正処理が省略されても良い。また、背景画像BIの色や疑似的な欠陥の色は、ラベルの色を考慮することなく、ランダムに決定されても良い。また、背景画像BIは、ノイズを含まない単色の画像であっても良い。
また、全ての学習用の入力画像データが版下画像データRDを用いて生成される必要はなく、版下画像データRDを用いて生成された学習用の入力画像データと、撮像によって生成された学習用の入力画像データと、の両方を用いて、トレーニング処理が行われても良い。
(5)上記実施例では、検査処理において、出力画像データODとの比較のために、差分画像の生成に用いられる比較画像データは、トレーニング処理において学習用の入力画像データの生成に用いられる版下画像データRDである。これに代えて、検査処理における比較画像データは、入力画像データの生成に用いられる版下画像データRDとは異なる種類のラベルが用いられても良い。例えば、画像生成モデルGNは、トレーニングに用いられた版下画像データRDによって示されるラベルと同一のラベルだけではなく、版下画像データRDによって示されるラベルと類似したラベルの検査にも用いることができる。例えば、仕向地によって異なる品番などが記載された互いに類似した複数種類のラベルの検査に、1つの画像生成モデルGNが用いられても良い。この場合には、検査処理における比較画像データには、学習用の入力画像データの生成に用いられた版下画像データRDに代えて、検査すべきラベルを示す版下画像データが用いられる。
(6)上記実施例の画像生成モデルGNは、一例であり、これに限られない。例えば、画像生成モデルとして、VQ-VAEとは異なるタイプのオートエンコーダ、例えば、通常のVAE(Variational Autoencoder)や、AE(Autoencoder)が画像生成モデルとして用いられても良い。また、どのタイプのオートエンコーダが用いられる場合であっても、畳込層、転置畳込層などの具体的な層の構成や層数は、適宜に変更されて良い。また、画像生成モデルGNの各層で出力された値に対して実行される後処理も適宜に変更され得る。例えば、後処理に用いられる活性化関数は、任意の関数、例えば、ReLU、LeakyReLU、PReLU、ソフトマックス、シグモイドが用いられ得る。
また、画像生成モデルとして、いわゆるGAN(Generative Adversarial Networks)に含まれる画像生成モデルが用いられても良い。例えば、文献「Isola, P. et al ”Image-to-Image Translation with Conditional Adversarial Networks.” IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017)」にはpix2pixと呼ばれるGANが開示されている。pix2pixでは、第1のスタイルの画像を示す入力画像データが入力される場合には、第2のスタイルの画像を示す出力画像データが生成されるように、画像生成モデルのトレーニングが実行される。このモデルを用いる場合であっても、例えば、本実施例の学習用の入力画像データが入力される場合に、本実施例の参照画像データが生成されるように、画像生成モデルのトレーニングが実行される。
(7)上記実施例では、トレーニング処理と検査処理とは、図1の検査装置100によって実行されている。これに代えて、トレーニング処理と検査処理とは、それぞれ、別の装置によって実行されても良い。この場合には、例えば、トレーニング処理によって生成された学習済みの画像生成モデルGNのモジュールは、検査処理を実行する装置の記憶装置に格納される。トレーニング処理と検査処理との全部または一部は、ネットワークを介して互いに通信可能な複数個の計算機(例えば、いわゆるクラウドサーバ)によって実行されても良い。また、検査処理を行うコンピュータプログラムと、画像生成モデルGNのトレーニング処理を行うコンピュータプログラムとは、異なるコンピュータプログラムであっても良い。
(8)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、検査データ生成処理と検査処理との全部または一部は、ASIC(Application Specific Integrated Circuit)等のハードウェア回路によって実行されてよい。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100…検査装置,1000…検査システム,110…CPU,115…GPU,120…揮発性記憶装置,130…不揮発性記憶装置,140…表示部,150…操作部,170…通信部,30…筐体,300…製品,31…前面,400…撮像装置,L…ラベル,PG…コンピュータプログラム
Claims (14)
- 対象物を撮像して得られる撮像画像データが入力される場合に、調整画像を示す調整画像データを出力する画像生成モデルであって、
前記調整画像は、前記撮像画像データによって示される撮像画像の特定の属性が調整された画像であり、
前記画像生成モデルは、学習用画像データと、前記学習用画像データに対応する参照画像データと、をそれぞれ含む複数組のデータセットを用いて、前記学習用画像データが入力される場合に、対応する前記参照画像データを生成するようにトレーニングされた学習済みの機械学習モデルであり、
前記学習用画像データは、前記対象物の画像を示す元画像データであって前記対象物の作成に用いられる前記元画像データに対して特定の画像処理を実行して得られる画像データである、画像生成モデル。 - 請求項1に記載の画像生成モデルであって、
前記参照画像データは、前記元画像データに基づく画像データである、画像生成モデル。 - 請求項1または2に記載の画像生成モデルであって、
前記特定の画像処理は、前記元画像データによって示される元画像に擬似的な欠陥を付加する第1画像処理と、前記元画像に背景を付加する処理を含む第2画像処理と、を含む、画像生成モデル。 - 請求項3に記載の画像生成モデルであって、
前記参照画像データは、前記元画像データに対して、前記第1画像処理を含み、かつ、前記第2画像処理を含まない処理を実行して得られる画像データである、画像生成モデル。 - 請求項3または4に記載の画像生成モデルであって、
前記背景は、前記学習用画像データごと異なるノイズを含む、画像生成モデル。 - 請求項5に記載の画像生成モデルであって、
前記特定の画像処理は、前記元画像内の前記対象物にノイズを付加する処理を含まない、画像生成モデル。 - 請求項4~6のいずれかに記載の画像生成モデルであって、
前記背景の色は、前記対象物を構成する最頻色とは異なる色である、画像生成モデル。 - 請求項4~7のいずれかに記載の画像生成モデルであって、
前記第2画像処理は、さらに、前記元画像を回転させる処理と、前記元画像の明度と彩度との少なくとも一方を変更する処理と、前記元画像にノイズを付加する処理と、のうちの少なくとも1つの処理を含む、画像生成モデル。 - 請求項3~8のいずれかに記載の画像生成モデルであって、
前記第2画像処理に含まれる前記背景を付加する処理は、前記学習用画像データによって示される画像に、前記元画像内に示される前記対象物の全体が含まれるように、前記背景を付加する、画像生成モデル。 - 請求項3~9のいずれかに記載の画像生成モデルであって、
前記特定の画像処理は、前記第1画像処理の後に、前記第2画像処理を実行する処理である、画像生成モデル。 - 請求項10に記載の画像生成モデルであって、
1回の前記第1画像処理の後に、M種類(Mは2以上の整数)の第2画像処理が実行されることによって、M種類の前記学習用画像データが生成される、画像生成モデル。 - 請求項3~11のいずれかに記載の画像生成モデルであって、
前記第1画像処理は、前記元画像内の前記対象物を構成する最頻色とは異なる色の前記欠陥を付加する、画像処理装置。 - 請求項3~12のいずれかに記載の画像生成モデルであって、
前記画像生成モデルによって生成される調整画像データは、欠陥を含まない前記対象物を示す比較画像データと、比較されることによって、前記画像生成モデルに入力される撮像画像データによって示される前記対象物が欠陥を含むか否かを検査するために用いられ、
前記第1の画像処理は、前記検査の対象となる前記欠陥を付加する処理であり、
前記第2の画像処理は、前記撮像画像に生じ得るバラツキであって前記検査の対象とならない前記バラツキに起因して変動する前記特定の属性を調整する処理である、画像生成モデル。 - 対象物を撮像して得られる撮像画像データが入力される場合に、調整画像を示す調整画像データを出力する画像生成モデルであって、前記調整画像は、前記撮像画像データによって示される撮像画像の特定の属性が調整された画像である、前記画像生成モデルのトレーニング方法であって、
学習用画像データを生成する工程と、
前記学習用画像データに対応する参照画像データを生成する工程と、
前記学習用画像データと、前記前記学習用画像データに対応する参照画像データと、をそれぞれ含む複数組のデータセットを用いて、前記学習用画像データが入力される場合に、対応する前記参照画像データを生成するように、前記画像生成モデルの複数個の演算パラメータを調整する工程と、
を備え、
前記学習用画像データは、前記対象物の画像を示す元画像データであって前記対象物の作成に用いられる前記元画像データに対して特定の画像処理を実行して得られる画像データである、トレーニング方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021178732A JP2023067464A (ja) | 2021-11-01 | 2021-11-01 | 画像生成モデル、および、画像生成モデルのトレーニング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021178732A JP2023067464A (ja) | 2021-11-01 | 2021-11-01 | 画像生成モデル、および、画像生成モデルのトレーニング方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023067464A true JP2023067464A (ja) | 2023-05-16 |
Family
ID=86326428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021178732A Pending JP2023067464A (ja) | 2021-11-01 | 2021-11-01 | 画像生成モデル、および、画像生成モデルのトレーニング方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023067464A (ja) |
-
2021
- 2021-11-01 JP JP2021178732A patent/JP2023067464A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020160616A (ja) | 生成装置、コンピュータプログラム、生成方法 | |
JP2004537791A (ja) | ノイズを考慮してデジタルイメージを修正する方法およびシステム | |
JPH0844867A (ja) | 原映像を修正する方法及び装置 | |
CN114170227B (zh) | 产品表面缺陷检测方法、装置、设备及存储介质 | |
US20220180122A1 (en) | Method for generating a plurality of sets of training image data for training machine learning model | |
WO2021192376A1 (ja) | 外観検査システムおよびコンピュータプログラム | |
JP5146797B2 (ja) | パターン欠陥検査のための装置、その方法及びそのプログラムを記録したコンピュータ読取り可能な記録媒体 | |
JP2023067464A (ja) | 画像生成モデル、および、画像生成モデルのトレーニング方法 | |
WO2023074565A1 (ja) | 機械学習モデル、コンピュータプログラム、および、方法 | |
TWI672639B (zh) | 使用模擬物件影像之物件辨識系統及其方法 | |
JP2021086284A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2003058880A (ja) | クロスフィルタ処理方法、クロスフィルタ処理装置、クロスフィルタ処理プログラム、及びこれを記録するコンピュータ読み取り可能な記録媒体 | |
US20210374916A1 (en) | Storage medium storing program, image processing apparatus, and training method of machine learning model | |
JP2023067732A (ja) | 機械学習モデル、コンピュータプログラム、および、方法 | |
WO2022124224A1 (ja) | 方法、システム、および、コンピュータプログラム | |
US11625886B2 (en) | Storage medium storing program, training method of machine learning model, and image generating apparatus | |
CN115601341A (zh) | Pcba板缺陷检测方法、系统、设备、介质及产品 | |
JPH0993443A (ja) | カラーモノクロ画像変換方法および被検査対象のエッジ位置検出方法 | |
JP2018147199A (ja) | 画像処理装置、および、コンピュータプログラム | |
JP2022150065A (ja) | 検査装置、コンピュータプログラム、および、検査方法 | |
JP2004239870A (ja) | 空間フィルタ、空間フィルタの作成方法、空間フィルタ作成プログラム、画面欠陥の検査方法及び装置 | |
WO2023238702A1 (ja) | コンピュータプログラム、処理方法、および、処理装置 | |
JP4831344B2 (ja) | 目の位置の検出方法 | |
WO2023074566A1 (ja) | コンピュータプログラム、および、データ処理装置 | |
JP2023051343A (ja) | 判定データの生成方法、および、コンピュータプログラム |