JP2020160616A - 生成装置、コンピュータプログラム、生成方法 - Google Patents
生成装置、コンピュータプログラム、生成方法 Download PDFInfo
- Publication number
- JP2020160616A JP2020160616A JP2019057270A JP2019057270A JP2020160616A JP 2020160616 A JP2020160616 A JP 2020160616A JP 2019057270 A JP2019057270 A JP 2019057270A JP 2019057270 A JP2019057270 A JP 2019057270A JP 2020160616 A JP2020160616 A JP 2020160616A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- value
- image
- luminance
- product
- 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
- 238000000034 method Methods 0.000 title claims abstract description 236
- 238000004590 computer program Methods 0.000 title claims description 16
- 230000008569 process Effects 0.000 claims abstract description 197
- 238000007689 inspection Methods 0.000 claims abstract description 102
- 230000007547 defect Effects 0.000 claims abstract description 90
- 238000012545 processing Methods 0.000 claims abstract description 70
- 238000013144 data compression Methods 0.000 claims abstract description 14
- 230000006837 decompression Effects 0.000 claims abstract description 13
- 238000009826 distribution Methods 0.000 claims description 32
- 238000011946 reduction process Methods 0.000 claims description 15
- 230000002708 enhancing effect Effects 0.000 claims description 14
- 238000011176 pooling Methods 0.000 description 36
- 238000012549 training Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 21
- 238000003860 storage Methods 0.000 description 18
- 230000002950 deficient Effects 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 15
- 230000009467 reduction Effects 0.000 description 13
- 239000002131 composite material Substances 0.000 description 10
- 230000004913 activation Effects 0.000 description 9
- 230000001965 increasing effect Effects 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20224—Image subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30124—Fabrics; Textile; Paper
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30144—Printing quality
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Image Processing (AREA)
Abstract
【課題】検査用の適切な画像データを生成する。【解決手段】撮影された検査対象の製品を表す対象入力画像データを学習済モデルに入力することによって、欠陥の無い検査対象の製品の画像を表す対象出力画像データを取得する。学習済モデルは、学習済モデルに入力された製品の画像を表す画像データに対するデータ圧縮とデータ解凍とを行うことによって、欠陥の無い製品の画像を表す画像データを出力するようにトレーニングされた学習済モデルである。対象入力画像データに輝度調整処理を含む第1生成処理を行うことによって、第1比較データを生成する。取得部により取得された対象出力画像データに輝度調整処理を含む第2生成処理を行うことによって、第2比較データを生成する。第1比較データと第2比較データとの差分を用いて、検査用の画像を表す検査画像データを生成する。【選択図】 図6
Description
本明細書は、画像データを用いて製品を検査する技術に関する。
画像を用いて外観を検査する以下の技術が提案されている。検査対象物を撮像し、撮像した画像を基準画像(たとえば良品を撮像した画像)や基準画像から作成したモデル画像と比較して、検査対象物に欠陥等が存在するか否かの判断を行う。
上記技術では、検査画像内での検査合格品の規範パターンの位置と姿勢が特定され、特定された位置および姿勢に応じて検査領域の位置と姿勢の補正量が決定される。ところが、検査に適さない検査画像が、種々の原因によって生成され得る。例えば、検査対象物の撮像の条件(例えば、環境光やカメラのT値などの明るさの条件)の基準からのズレに起因して、位置を適切に補正できない場合があった。また、検査対象物のうちの規範パターンの特徴的な部分に対応する部分に傷などの欠陥が存在する場合に、位置を適切に補正できない場合があった。
本明細書は、検査用の適切な画像データを生成する技術を開示する。
本明細書に開示された技術は、以下の適用例として実現することが可能である。
[適用例1]製品の外観の検査用の画像データを生成する生成装置であって、撮影された検査対象の製品を表す対象入力画像データを学習済モデルに入力することによって、欠陥の無い前記検査対象の製品の画像を表す対象出力画像データを取得する取得部であって、前記学習済モデルは、前記学習済モデルに入力された前記製品の画像を表す画像データに対するデータ圧縮とデータ解凍とを行うことによって、欠陥の無い製品の画像を表す画像データを出力するようにトレーニングされた学習済モデルである、前記取得部と、前記対象入力画像データに輝度調整処理を含む第1生成処理を行うことによって、第1比較データを生成する第1比較データ生成部と、前記取得部により取得された前記対象出力画像データに前記輝度調整処理を含む第2生成処理を行うことによって、第2比較データを生成する第2比較データ生成部と、前記第1比較データと前記第2比較データとの差分を用いて、検査用の画像を表す検査画像データを生成する検査画像データ生成部と、を備える、生成装置。
この構成によれば、検査画像データが、対象入力画像データに輝度調整処理を含む生成処理を行うことによって生成される第1比較データと、学習済モデルを用いて取得される対象出力画像データに輝度調整処理を含む生成処理を行うことによって生成される第2比較データと、の差分を用いて生成されるので、検査対象の製品が欠陥を有する場合に、検査画像データは、適切に、欠陥を表すことができる。
[適用例2]適用例1に記載の生成装置であって、前記輝度調整処理は、輝度値の可能な全範囲のうちの一部の範囲であって輝度値の分布を用いて特定される前記一部の範囲である対象輝度範囲のコントラストを強調する処理である、生成装置。
この構成によれば、輝度値分布を用いて特定される対象輝度範囲のコントラストが強調された比較用の画像データを用いて検査画像データが生成されるので、検査対象の製品が欠陥を有する場合に、検査画像データは、適切に、欠陥を表すことができる。
[適用例3]適用例2に記載の生成装置であって、前記輝度調整処理は、(A)第1調整処理であって、前記輝度値分布を用いて特定される第1統計値以上の範囲である前記対象輝度範囲のコントラストを強調する処理と、前記第1統計値未満の輝度値をゼロに設定する処理と、を含む前記第1調整処理と、(B)第2調整処理であって、前記輝度値分布を用いて特定される第2統計値以下の範囲である前記対象輝度範囲のコントラストを強調する処理と、前記第2統計値を超える輝度値を、前記輝度値の可能な最大値に設定する処理と、を含む前記第2調整処理と、(C)第3調整処理であって、前記輝度値分布を用いて特定される下限値と上限値との間の範囲である前記対象輝度範囲のコントラストを強調する処理と、前記下限値未満の輝度値をゼロに設定する処理と、前記上限値を超える輝度値を、前記輝度値の可能な最大値に設定する処理と、を含む前記第3調整処理と、のうちにいずれかの処理を含む、生成装置。
この構成によれば、検査対象の製品が欠陥を有する場合に、画像内の製品のうちの欠陥の部分と欠陥以外の部分との間の輝度差を大きくできるので、検査画像データは、適切に、欠陥を表すことができる。
[適用例4]適用例3に記載の生成装置であって、前記第1統計値と前記第2統計値とは、ゼロよりも大きく前記輝度値の可能な最大値よりも小さい前記輝度値の範囲における前記輝度値分布の最大のピークに対応する輝度値である、生成装置。
この構成によれば、検査対象の製品が欠陥を有する場合に、画像内の製品のうちの欠陥の部分と欠陥以外の部分との間の輝度差を大きくできるので、検査画像データは、適切に、欠陥を表すことができる。
[適用例5]適用例1から4のいずれかに記載の生成装置であって、前記第1生成処理と前記第2生成処理とは、前記輝度調整処理の後のノイズ低減処理を含む、生成装置。
この構成によれば、ノイズの影響が緩和されるので、検査対象の製品が欠陥を有する場合に、検査画像データは、適切に、欠陥を表すことができる。
[適用例6]適用例5に記載の生成装置であって、前記ノイズ低減処理は、二値化処理を含む、生成装置。
この構成によれば、二値化処理によってノイズの影響が適切に緩和されるので、検査対象の製品が欠陥を有する場合に、検査画像データは、適切に、欠陥を表すことができる。
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像データの生成方法および生成装置、画像データを用いる判断方法および判断装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
A.第1実施例:
A1.装置構成:
図1は、実施例の検査システムを示す説明図である。検査システム1000は、製品700の外観の検査を行うためのシステムである。製品700は、任意の製品であってよく、予め決められている。製品700は、例えば、複合機、スキャナ、デジタルカメラ、プリンタなどの装置の部品であってよい。
A1.装置構成:
図1は、実施例の検査システムを示す説明図である。検査システム1000は、製品700の外観の検査を行うためのシステムである。製品700は、任意の製品であってよく、予め決められている。製品700は、例えば、複合機、スキャナ、デジタルカメラ、プリンタなどの装置の部品であってよい。
検査システム1000は、データ処理装置200と、データ処理装置200に接続されたデジタルカメラ100と、を備えている。データ処理装置200は、例えば、パーソナルコンピュータである。データ処理装置200は、プロセッサ210と、記憶装置215と、画像を表示する表示部240と、ユーザによる操作を受け入れる操作部250と、通信インタフェース270と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を含んでいる。
プロセッサ210は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置220は、例えば、DRAMであり、不揮発性記憶装置230は、例えば、フラッシュメモリである。
不揮発性記憶装置230は、第1プログラム232と、第2プログラム233と、学習済モデル234と、を格納している。学習済モデル234は、製品700の画像を表す画像データに対するデータ圧縮とデータ解凍とを行うことによって、欠陥を有した製品700についての画像の画像データを入力したとしても欠陥の無い製品700の画像を表す画像データを出力するようにトレーニングされた予測モデルである。本実施例では、学習済モデル234は、オートエンコーダとも呼ばれる人工ニューラルネットワークのモデルである(詳細は、後述)。本実施例では、学習済モデル234は、プログラムモジュールである。
プロセッサ210は、第1プログラム232と、第2プログラム233と、学習済モデル234との実行に利用される種々の中間データを、記憶装置215(例えば、揮発性記憶装置220、不揮発性記憶装置230のいずれか)に、一時的に格納する。
表示部240は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示する装置である。操作部250は、表示部240上に重ねて配置されたタッチパネル、ボタン、レバーなどの、ユーザによる操作を受け取る装置である。ユーザは、操作部250を操作することによって、種々の指示をデータ処理装置200に入力可能である。通信インタフェース270は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。デジタルカメラ100は、通信インタフェース270に接続されている。
図2は、人工ニューラルネットワークNNの例の説明図である(以下、単に、ニューラルネットワークNNとも呼ぶ)。ニューラルネットワークNNは、学習済モデル234(図1)の生成に利用されるニューラルネットワークである。本実施例では、ニューラルネットワークNNは、いわゆるオートエンコーダである(以下、ニューラルネットワークNNを、オートエンコーダNNとも呼ぶ)。オートエンコーダは、入力されたデータの圧縮と解凍を行うことによって、入力されたデータとおおよそ同じデータを出力する。オートエンコーダは、圧縮によってデータの特徴を抽出し、解凍によって特徴を示すデータを出力する。オートエンコーダNNの詳細については、後述する。
A2.ニューラルネットワークNNのトレーニング:
図3は、ニューラルネットワークNNのトレーニングの処理の例を示すフローチャートである。以下、データ処理装置200(図1)のプロセッサ210は、トレーニング実行者からの指示に応じて、図3の処理を開始することとする。プロセッサ210は、トレーニングのための第1プログラム232に従って、図3の処理を実行する。
図3は、ニューラルネットワークNNのトレーニングの処理の例を示すフローチャートである。以下、データ処理装置200(図1)のプロセッサ210は、トレーニング実行者からの指示に応じて、図3の処理を開始することとする。プロセッサ210は、トレーニングのための第1プログラム232に従って、図3の処理を実行する。
S110では、プロセッサ210(図1)は、製品700の撮影画像データを取得する。本実施例では、製品700は、デジタルカメラ100の前に配置される。製品700のうちの予め決められた撮影対象の面が、デジタルカメラ100に向けられる。製品700は、図示しない光源によって、照らされる。光源は、撮影画像上で製品700の明るさがおおよそ均一となるように、構成される。例えば、製品700の周囲を囲むように配置された複数の光源が、用いられる。この状態で、プロセッサ210は、デジタルカメラ100に、撮影の指示を供給する。デジタルカメラ100は、指示に応じて、製品700を撮影し、製品700の撮影画像を表す撮影画像データを生成する。撮影画像データは、本実施例では、RGBのビットマップデータである。プロセッサ210は、デジタルカメラ100から、撮影画像データを取得する。
図4(A)は、撮影画像の例を示す説明図である。撮影画像505は、製品700sと背景BGとを表している。撮影画像データは、第1方向Dxと、第1方向Dxに垂直な第2方向Dyと、に沿ってマトリクス状に並ぶ複数の画素のそれぞれの色値を示している。S110(図3)では、傷などの欠陥の無い製品700sが、撮影される。以下、S110(図3)で撮影される欠陥の無い製品を、良製品700sとも呼ぶ。本実施例では、製品700sは、おおよそ四角の環状の部材である。また、背景BGは、製品700sよりも、暗い。例えば、製品の色が明るい色である場合に、撮影画像505内において、製品700sは、背景BGよりも明るい色で表される。
S120(図3)では、プロセッサ210(図1)は、撮影画像データを用いて、学習画像の学習画像データを取得する。図4(B)は、学習画像の例を示す説明図である。図中の学習画像510は、図4(A)の撮影画像505から得られる画像の例である。本実施例では、学習画像データは、予め決められた対象画像サイズのグレースケールのビットマップデータである。対象画像サイズは、オートエンコーダNNによって受け付けられる画像データの画像サイズである。対象画像サイズは、例えば、208画素×208画素である。また、グレーの階調(輝度値とも呼ぶ)は、例えば、ゼロから255までの256階調で表される。撮影画像データの色値と輝度値との対応関係は、予め決められている。例えば、RGBの色値とYCbCrの色値との公知の対応関係に従って算出される輝度値Yが、学習画像データの輝度値として採用される。
本実施例では、撮影画像のうちの予め決められた部分であって対象サイズの部分の内に製品700sの全体が含まれるように、デジタルカメラ100と製品700sとの相対的な配置が、予め決められている。従って、プロセッサ210は、撮影画像のうちの予め決められた部分を抽出することによって、学習画像データを取得する。また、プロセッサ210は、背景BGをマスクすることによって、学習画像データを取得する。本実施例では、プロセッサ210は、背景BGの画素の輝度値を、最も暗い黒色の輝度値(ここでは、ゼロ)に、設定する。背景BGの特定方法は、種々の方法であってよい。本実施例では、プロセッサ210は、撮影画像、または、学習画像を解析することによって、背景BGの画素を特定する。例えば、プロセッサ210は、撮影画像のうちの製品700sを表す部分を、予め決められた製品の画像を用いるパターンマッチングによって、特定する。そして、プロセッサ210は、特定された部分の除いた残りの部分を、背景BGとして特定する。これに代えて、予め決められた閾値以下の輝度値を有する複数の画素が、背景BGの画素として特定されてもよい。
なお、プロセッサ210は、撮影画像データを解析することによって撮影画像内の製品700sを特定し、特定した製品700sを含む部分を抽出することによって、学習画像データを取得してよい。また、プロセッサ210は、解像度(すなわち、画素密度)を変換する処理を含む画像処理を実行することによって、学習画像データを取得してよい。
なお、S110、S120では、プロセッサ210は、複数の学習画像データを生成する。例えば、製品700sを用いる複数回の撮影によって、複数の学習画像データが生成される。また、撮影画像を回転させることによって、複数の学習画像データが生成される。また、撮影画像の輝度値を調整することによって、複数の学習画像データが生成される。なお、後述するように、オートエンコーダNNのトレーニングでは、学習画像データがオートエンコーダNNに入力され、そして、オートエンコーダNNから出力される出力画像データが製品700sの画像データである教師画像データと比較される。本実施例では、教師画像データは、オートエンコーダNNに入力された学習画像データである入力学習画像データと同一のデータである。これに代えて、教師画像データは、入力学習画像データと異なる画像データであってよい。例えば、プロセッサ210は、入力学習画像データの輝度調整を実行することによって、教師画像データを生成してよい。具体的には、教師画像データは、入力学習画像データの輝度値を低減させて得られる画像データであってよく、入力学習画像データの輝度値を増大させて得られる画像データであってよい。
このように、S110、S120(図3)では、プロセッサ210は、入力学習画像データと教師画像データとの複数の組み合わせを生成する。以下、入力学習画像データと教師画像データとの組み合わせを、学習データセットとも呼ぶ。なお、上述したように、教師画像データは、入力学習画像データと同一のデータであってよく、入力学習画像データと異なるデータであってよい。いずれの場合も、教師画像データの画像内の製品の大きさと配置と形状は、入力学習画像データの画像内の製品の大きさと配置と形状と、それぞれ同じであることが好ましい。
S130では、プロセッサ210(図3)は、複数の学習データセットを用いて、オートエンコーダNN(図2)をトレーニングする。本実施例では、オートエンコーダNNは、畳込層を含む複数の層305−370を備えている。
具体的には、オートエンコーダNN(図2)は、入力層305と、第1畳込層313と、第1プーリング層316と、第2畳込層323と、第2プーリング層326と、第3畳込層333と、第3プーリング層336と、第4畳込層343と、第1アップサンプリング層346と、第5畳込層353と、第2アップサンプリング層356と、第6畳込層363と、第3アップサンプリング層366と、第7畳込層370と、を有している。これらの層305−370は、この順番に、接続されている。本実施例では、オートエンコーダNNは、プログラムモジュールであり、第1プログラム232に含まれている。プロセッサ210は、オートエンコーダNNであるプログラムモジュールに従って処理を進行することによって、各層305−370の機能を実現する。以下、これらの層305−370について、順に説明する。
入力層305は、オートエンコーダNNの外部からのデータを取得する層である。本実施例では、製品700sの入力学習画像データが、入力層305に入力される。入力層305に入力された画像データは、第1畳込層313によって、入力情報として利用される。
第1畳込層313は、画像の畳み込みの処理を行う層である。畳み込みの処理は、入力された画像である入力画像とフィルタとの相関を示す値(特徴値とも呼ばれる)を、フィルタをスライドさせながら、算出する処理である。画像の畳み込みの処理で用いられるフィルタは、重みフィルタとも呼ばれる。1個の重みフィルタのサイズは、例えば、P×P画素である(Pは2以上の整数。例えば、P=5)。ストライド(すなわち、フィルタの1回の移動量)は、例えば、1である。フィルタは、入力画像の全ての画素位置において特徴値を算出するように、入力画像の全体に亘ってスライドされる。この場合、入力画像の周囲では、ゼロパディングによって、画素が補われる。これに代えて、フィルタは、入力画像の縁部分を除いた残りの画素位置において特徴値を算出するように、スライドされてよい。このように、フィルタは、入力画像と同じサイズの画像(または、入力画像よりも小さい画像)のビットマップデータを生成する(特徴マップとも呼ばれる)。具体的には、入力された画像データのうちフィルタの位置に対応する部分のP×P個の画素の色値のリストが取得される。取得されたリストと、フィルタのP×P個の重みのリストと、の内積が算出される。「内積+バイアス」が、活性化関数に入力される。そして、活性化関数の計算結果が、特徴マップの1つの要素の値として用いられる。本実施例では、活性化関数としては、いわゆるReLU(Rectified Linear Unit)が用いられる。また、本実施例では、Q個の重みフィルタが用いられる(Qは1以上の整数)。従って、第1畳込層313として機能するプロセッサ210は、Q枚の特徴マップを生成する。なお、バイアスは、フィルタ毎に準備される。そして、Q個のフィルタのそれぞれの要素とQ個のバイアスとは、トレーニングによって、更新される。
第1畳込層313からの特徴マップは、第1プーリング層316によって、入力情報として利用される。プーリングは、画像(ここでは、特徴マップ)を縮小する処理である。第1プーリング層316は、いわゆるマックスプーリング(MaxPooling)を行う。マックスプーリングは、いわゆるダウンサンプリングによって特徴マップを縮小する処理であり、ウィンドウをスライドさせつつ、ウィンドウ内の最大値を選択することによってマップを縮小する。本実施例では、第1プーリング層316におけるウィンドウのサイズは、T×T画素であり、ストライドは、Tである(Tは2以上の整数。例えば、T=2)。これにより、元のマップの1/Tの高さと1/Tの幅を有するマップが生成される。第1プーリング層316として機能するプロセッサ210は、Q枚の特徴マップから、Q枚の縮小された特徴マップを生成する。
第1プーリング層316からの特徴マップは、第2畳込層323によって、入力情報として利用される。第2畳込層323は、第1畳込層313による処理と同様の手順に従って、画像の畳み込みの処理を行う。例えば、1つのフィルタは、Q枚の特徴マップに対応するQ個のマトリクスを備えている。そして、1つのフィルタは、Q枚の特徴マップから、1枚の特徴マップを生成する。活性化関数としては、いわゆるReLUが用いられる。なお、1つのフィルタの1個のマトリクスのサイズ(すなわち、第1方向Dxの要素数と第2方向Dyの要素数)と、フィルタの総数とは、種々の値であってよい。また、特徴マップの周囲のゼロパディングは、行われてよく、これに代えて、省略されてよい。ストライドは、種々の値であってよい。各フィルタのそれぞれの要素と、各バイアスとは、トレーニングによって、更新される。
第2畳込層323からの特徴マップは、第2プーリング層326によって、入力情報として利用される。第2プーリング層326は、第1プーリング層316による処理と同様の手順に従って、マックスプーリングを行う。これにより、第2プーリング層326は、縮小された特徴マップを生成する。ウィンドウのサイズとストライドとは、種々の値であってよい。
第2プーリング層326からの特徴マップは、第3畳込層333によって、入力情報として利用される。第3畳込層333は、畳込層313、323による処理と同様の手順に従って、画像の畳み込みの処理を行う。活性化関数としては、いわゆるReLUが用いられる。第3畳込層333の構成は、種々の構成であってよい(具体的には、1つのフィルタの1個のマトリクスのサイズ(すなわち、第1方向Dxの要素数と第2方向Dyの要素数)と、フィルタの総数と、特徴マップの周囲のゼロパディングの要否と、ストライドと、を含む構成は、種々の構成であってよい)。各フィルタのそれぞれの要素と、各バイアスとは、トレーニングによって、更新される。
第3畳込層333からの特徴マップは、第3プーリング層336によって、入力情報として利用される。第3プーリング層336は、プーリング層316、326による処理と同様の手順に従って、マックスプーリングを行う。これにより、第3プーリング層336は、縮小された特徴マップを生成する。ウィンドウのサイズとストライドとは、種々の値であってよい。
以上のように、畳込層313、323、333によって画像の特徴が取得され、プーリング層316、326、336によって画像が圧縮される。
第3プーリング層336からの特徴マップは、第4畳込層343によって、入力情報として利用される。第4畳込層343は、畳込層313、323、333による処理と同様の手順に従って、画像の畳み込みの処理を行う。活性化関数としては、いわゆるReLUが用いられる。なお、第4畳込層343の構成は、上記の他の畳込層と同様に、種々の構成であってよい。各フィルタのそれぞれの要素と、各バイアスとは、トレーニングによって、更新される。
第4畳込層343からの特徴マップは、第1アップサンプリング層346によって、入力情報として利用される。アップサンプリングは、画像(ここでは、特徴マップ)を拡大する処理である。アップサンプリングの手順としては、種々の手順を採用可能である。本実施例では、アップサンプリング層346、356、366は、それぞれ、いわゆるアンプーリング処理を実行する。アップサンプリング層346、356、366には、プーリング層336、326、316が、それぞれ対応付けられている。アップサンプリング層346、356、366は、対応するプーリング層336、326、316のウィンドウと同じサイズのウィンドウを用いる。例えば、第1アップサンプリング層346は、対応する第3プーリング層336のウィンドウと同じサイズのウィンドウを用いて、アンプーリング処理を行う。アンプーリング処理では、拡大前の特徴マップの1個の画素が、ウィンドウに対応する複数の画素に増大する。これにより、特徴マップが拡大される。例えば、ウィンドウのサイズが2×2画素である場合、アップサンプリングによって、1個の画素は、2×2画素に増大する。
第1アップサンプリング層346からの特徴マップは、第5畳込層353によって、入力情報として利用される。第5畳込層353は、上記の他の畳込層313、323、333、343による処理と同様の手順に従って、画像の畳み込みの処理を行う。活性化関数としては、いわゆるReLUが用いられる。なお、第5畳込層353の構成は、上記の他の畳込層と同様に、種々の構成であってよい。各フィルタのそれぞれの要素と、各バイアスとは、トレーニングによって、更新される。
第5畳込層353からの特徴マップは、第2アップサンプリング層356によって、入力情報として利用される。第2アップサンプリング層356は、対応する第2プーリング層326のウィンドウを用いて、アンプーリング処理を行う。
第2アップサンプリング層356からの特徴マップは、第6畳込層363によって、入力情報として利用される。第6畳込層363は、上記の他の畳込層313、323、333、343、353による処理と同様の手順に従って、画像の畳み込みの処理を行う。活性化関数としては、いわゆるReLUが用いられる。なお、第6畳込層363の構成は、上記の他の畳込層と同様に、種々の構成であってよい。各フィルタのそれぞれの要素と、各バイアスとは、トレーニングによって、更新される。
第6畳込層363からの特徴マップは、第3アップサンプリング層366によって、入力情報として利用される。第6畳込層363は、対応する第1プーリング層316のウィンドウを用いて、アンプーリング処理を行う。
第3アップサンプリング層366からの特徴マップは、第7畳込層370によって、入力情報として利用される。第7畳込層370は、上記の他の畳込層313、323、333、343、353、363による処理と同様の手順に従って、画像の畳み込みの処理を行う。活性化関数としては、いわゆるシグモイド関数が用いられる。なお、第7畳込層370の構成は、上記の他の畳込層と同様に、種々の構成であってよい。各フィルタのそれぞれの要素と、各バイアスとは、トレーニングによって、更新される。
以上のように、畳込層343、353、363、370によって画像の特徴が抽出され、アップサンプリング層346、356、366によって画像が拡大される。なお、これらの層343−370は、第7畳込層370から対象サイズのグレースケールのビットマップデータが出力されるように、構成される。層343−370は、層313−336によって圧縮されたデータを用いて、圧縮前の画像と同じ対象サイズの画像を表す画像データを生成する。このように、層313−336による処理は、データ圧縮に相当し、層343−370による処理は、データ解凍に相当する。第7畳込層370は、ニューラルネットワークNNの出力層に相当する。入力層305と出力層(ここでは、第7畳込層370)との間の層313−366は、中間層とも呼ばれる。
図3のS130では、オートエンコーダNNは、上述した複数の学習データセットを用いて、トレーニングされる。具体的には、プロセッサ210は、学習画像データを入力層305に入力する。プロセッサ210は、オートエンコーダNNの複数の層305−370の計算を実行し、第7畳込層370からの出力画像データを取得する。プロセッサ210は、出力画像データと教師画像データとを比較することによって、評価値590を算出する。評価値590は、出力画像データと教師画像データとの間の差違、すなわち、誤差を示している。このような評価値590は、オートエンコーダNNから出力される出力画像データの出力画像520と、教師画像データの教師画像519と、の間の差を示している。プロセッサ210は、評価値590を用いて、誤差が小さくなるように、オートエンコーダNNの上述した種々のパラメータ(フィルタ、バイアスなど)を更新する。トレーニングの方法としては、種々の方法を採用可能である。例えば、いわゆる誤差逆伝播法が採用されてよい。誤差逆伝播法で用いられる損失関数としては、種々の関数を採用可能である。例えば、いわゆる交差エントロピーや、contrastive損失関数が用いられてよい。評価値590は、損失関数に従って算出されてよい。
このように、オートエンコーダNNは、出力画像520と教師画像519との差が小さくなるように、トレーニングされる。上述したように、教師画像データは、入力学習画像データと同一のデータ、または、入力学習画像データの輝度調整によって得られる輝度調整画像データである。従って、教師画像519は、入力学習画像データの入力学習画像510と、輝度調整画像データの輝度調整画像511と、のいずれかと同一である。これらの画像510、511は、良製品700s(図4(B))の画像である。以上により、オートエンコーダNNは、出力画像が、入力された良製品700sの画像と同様の欠陥の無い良製品の画像となるように、トレーニングされる。また、オートエンコーダNNは、画像内の良製品の形状と位置とが、入力された画像と出力画像との間で同じとなるように、トレーニングされる。図4(C)は、出力画像の例を示す説明図である。トレーニング済のオートエンコーダNNは、良製品700sの学習画像510と同様な出力画像520を出力する。
図3のS140では、トレーニング済のオートエンコーダNNのうち入力層305から第7畳込層370までの部分が、学習済モデル234として、記憶装置に格納される。学習済モデル234は、上記のトレーニングによって決定されたパラメータを用いて処理を進行するように、構成されている。本実施例では、プロセッサ210は、学習済モデル234を、不揮発性記憶装置230に格納する。格納の完了によって、図3の処理が終了する。
A3.検査処理:
図5は、検査処理の例を示すフローチャートである。例えば、製品700を用いる装置の生産ラインで、製品700の検査処理が、実行される。検査処理では、製品700の外観が、検査される。以下、図1のデータ処理装置200が、検査処理を実行することとする。プロセッサ210は、検査処理のための第2プログラム233に従って、図5の処理を実行する。
図5は、検査処理の例を示すフローチャートである。例えば、製品700を用いる装置の生産ラインで、製品700の検査処理が、実行される。検査処理では、製品700の外観が、検査される。以下、図1のデータ処理装置200が、検査処理を実行することとする。プロセッサ210は、検査処理のための第2プログラム233に従って、図5の処理を実行する。
S210では、プロセッサ210は、検査用の画像データである検査画像データを生成する。図6は、検査画像データの生成処理の例を示すフローチャートである。S310では、プロセッサ210は、検査対象の製品である対象製品を撮影して対象撮影画像データを取得する。撮影画像データの取得は、図3のS110と同様に行われる。
図7(A)は、対象撮影画像データによって表される対象撮影画像の例を示す説明図である。この対象撮影画像605は、図4(A)の撮影画像505と同様に、対象製品700tと背景BGtとを表している。対象製品700tは、図4(A)の良製品700sとは異なり、傷などの欠陥を有し得る。図7(A)の対象製品700tは、欠陥710を有している。欠陥710は、製品700tの他の部分と比べて暗い色で示されている。
S315(図6)では、プロセッサ210は、対象撮影画像データを用いて、対象入力画像データを取得する。対象入力画像データは、学習済モデル234へ入力するための画像データであり、対象サイズのグレースケールのビットマップデータである。S315の処理は、図3のS120の処理と、同じである。
図7(B)は、対象入力画像データによって表される対象入力画像の例を示す説明図である。この対象入力画像610は、図7(A)の対象撮影画像605から得られる画像の例である。対象入力画像610は、対象撮影画像605と同様に、対象製品700tの画像である。対象入力画像610は、対象製品700tの欠陥710も表している。背景BGtは、黒色で示されている。
S320(図6)では、プロセッサ210(図1)は、対象入力画像データを、学習済モデル234に入力する。S325では、プロセッサ210は、学習済モデル234の複数の層305−370の計算を実行する。S330では、プロセッサ210は、第7畳込層370から対象出力画像データを取得する。
図7(C)は、対象出力画像データによって表される対象出力画像の例を示す説明図である。この対象出力画像620は、オートエンコーダNNが図7(B)の対象入力画像610を用いて出力した画像の例である。対象出力画像620は、対象入力画像610の対象製品700tと同じ形状の対象製品700tであって、画像内の同じ位置に配置された対象製品700tを示している。ただし、欠陥710は表れていない。この理由は、図3、図4(A)−図4(C)で説明したように、オートエンコーダNNは、欠陥の無い製品の画像と同様な画像を出力するように、トレーニングされているからである。
S335(図6)では、プロセッサ210は、対象入力画像データを用いて、第1比較データを生成する。本実施例では、S335は、S340、S345を含んでいる。S340では、プロセッサ210は、対象入力画像データの輝度調整処理を行う。
図8は、輝度調整処理の例を示すフローチャートである。S410では、プロセッサ210は、画像データの輝度値のヒストグラムを生成する。図9(A)は、輝度値のヒストグラムの例を示すグラフである。横軸は、輝度値Vを示し、縦軸は、頻度Fを示している。グラフの下には、対象入力画像610の一部分610pが示されている。本実施例では、製品700tのうち背景BGtに近い部分612の輝度値Vは、低く、製品700tのうち背景BGtから遠い部分611の輝度値Vは、高い。なお、S315のマスク処理により設定された背景BGtの輝度値(ここでは、ゼロ)のピークの図示は、省略されている。
S420(図8)では、プロセッサ210は、ヒストグラムを解析し、最大のピークのピーク輝度値を特定する。ここで、最大のピークは、ゼロよりも大きく、かつ、輝度値Vの可能な最大値(ここでは、255)よりも小さい輝度値Vの範囲内から、特定される。図9(A)のヒストグラムでは、最大のピークPに対応するピーク輝度値VPが特定される。
S430(図8)では、プロセッサ210は、調整前の輝度値と調整後の輝度値との対応関係を、決定する。図9(B)は、対応関係の例を示すグラフである。横軸は、調整前の輝度値である入力輝度値Viを示し、縦軸は、調整後の輝度値である出力輝度値Voを示している。本実施例では、ピーク輝度値VP未満の第2範囲R2では、入力輝度値Viに拘わらずに、出力輝度値Voはゼロである。ピーク輝度値VP以上の第1範囲R1では、入力輝度値Viがピーク輝度値VPから最大値(ここでは、255)まで増加する場合に、出力輝度値Voは、ゼロから最大値まで、入力輝度値Viに比例して、増加する。このような対応関係は、第1範囲R1のコントラストを強調する対応関係の例である。
S440(図8)では、プロセッサ210は、S430で決定された対応関係に従って、輝度値Vを変換する。この処理は、ピーク輝度値VP以上の第1範囲R1のコントラストを強調する処理と、ピーク輝度値VP未満の輝度値をゼロに設定する処理と、を含んでいる。全ての画素の輝度値Vの調整が完了した場合、図8の処理、ひいては、図6のS340の処理が、終了する。
図7(D)は、輝度調整済の画像の例を示す説明図である。この調整済画像613は、図7(B)の対象入力画像610から得られる画像の例である。調整済画像613では、対象製品700tのうちの背景BGtに近い部分が、背景BGtと同じ黒色で示されている。
S345(図6)では、プロセッサ210は、輝度調整済の対象入力画像データのノイズ低減処理を行うことによって、第1比較データを生成する。ノイズ低減処理は、種々の処理であってよい。本実施例では、プロセッサ210は、ノイズ低減処理として、二値化処理を実行する。二値化処理は、明るい画素と暗い画素とを判別する種々の処理であってよい。本実施例では、プロセッサ210は、いわゆる大津の二値化を実行する。大津の二値化は、明るい画素のクラスと暗い画素のクラスとの間の分散が大きくなるように、閾値を決定する方法である。二値化処理によって、ノイズが低減される。
図7(E)は、二値化済の画像の例を示す説明図である。この二値化画像616は、図7(D)の調整済画像613から得られる画像の例である。二値化画像616の複数の画素は、対象製品700tの一部を示す明るい画素と、対象製品700tの残りの部分と背景BGtとを示す暗い画素とに、分けられている。欠陥710を示す画素は、周囲の画素と異なる画素(例えば周囲の明るい画素と異なる暗い画素)に分類されている。また、調整済画像613に含まれるノイズは、二値化画像616では低減されている。
以上のS340、S345を含むS335(図6)では、プロセッサ210は、対象入力画像データを用いて第1比較データを生成する。本実施例では、第1比較データは、二値画像データである。
S350では、プロセッサ210は、対象出力画像データを用いて、第2比較データを生成する。本実施例では、S350は、S355、S360を含んでいる。S355、S360の処理は、S340、S345の処理と、それぞれ同じである。S350とS335との差違は、S350の処理対象の画像データが、対象入力画像データではなく、対象出力画像データである点だけである。
図7(F)は、輝度調整済の画像の例を示す説明図である。この調整済画像623は、図7(C)の対象出力画像620から得られる画像の例である。調整済画像623では、対象製品700tのうちの背景BGtに近い部分が、背景BGtと同じ黒色で示されている。
図7(G)は、二値化済の画像の例を示す説明図である。この二値化画像626は、図7(F)の調整済画像623から得られる画像の例である。二値化画像626の複数の画素は、対象製品700tを示す明るい画素と、主に背景BGtを示す暗い画素とに、分けられている。また、調整済画像623に含まれるノイズは、二値化画像626では低減されている。
S365(図6)では、プロセッサ210は、第1比較データと第2比較データとの差分を用いて、検査用の画像を表す検査画像データを生成する。本実施例では、S365は、S370、S375を含んでいる。S370では、プロセッサ210は、第1比較データと第2比較データとの差分画像データを生成する。本実施例では、差分画像データの各画素の色値は、第2比較データの同じ画素の色値から第1比較データの同じ画素の色値を減算して得られる値の絶対値である。図10(A)は、差分画像の例を示す説明図である。この差分画像630では、色値(すなわち、差)が大きい部分に、ハッチングが付されている。図示するように、対象製品700tが欠陥710を有する場合、欠陥710を示す部分の差が大きくなる。また、差分画像データは、ノイズを含み得る。図10(A)の例では、対象製品700tの輪郭を示す部分の差が大きい。
S375(図6)では、プロセッサ210は、差分画像データのノイズ低減処理を行って、検査画像データを生成する。ノイズ低減処理は、種々の処理であってよい。本実施例では、プロセッサ210は、ノイズ低減処理として、画像縮小処理と画像拡大処理とをこの順に実行する。画像縮小処理は、解像度を小さくする処理である(すなわち、画素密度が低減する)。本実施例では、色値を補間せずに、画像が縮小される。例えば、画像内に均等に分布する複数の画素が間引かれる。画像縮小処理により、細かいノイズが除去される。図10(B)の縮小画像633は、図10(A)の差分画像630に画像縮小処理を行って得られる画像の例である。縮小画像633内では、対象製品700tの輪郭を示すノイズが除去されている。画像拡大処理は、解像度を大きくする処理である(すなわち、画素密度が増大する)。本実施例では、色値を補間せずに、画像が拡大される。例えば、画像内の各画素がその近傍の位置にコピーされる。また、画像拡大処理によって、解像度が元に戻る。
図10(C)の画像636は、図10(B)の縮小画像633に画像拡大処理を行って得られる検査画像の例である。検査画像636では、元の差分画像630(図10(A))と比べて、ノイズが低減されている。また、検査画像636では、欠陥710は、除去されずに残っている。このように、対象製品700tが欠陥710を有する場合には、欠陥710を表す検査画像データが、生成される。
図10(D)の画像636zは、画像拡大処理を行って得られる検査画像の別の例である。この検査画像636zは、対象製品が欠陥を有していない場合の画像の例である。図10(C)の検査画像636と同様に、ノイズは低減されている。これにより、検査画像636zでは、製品を示す部分は除去されている。このように、対象製品が欠陥を有していない場合には、製品を示す部分の無い検査画像データが、生成される。
以上のように、図6のS370、S375を含むS365では、プロセッサ210は、検査画像データを生成する。そして、図6の処理、ひいては、図5のS210が、終了する。
S220では、プロセッサ210は、検査画像が特定色の部分を含むか否かを判断する。本実施例では、予め決められた閾値以上の色値の画素(すなわち、差が閾値以上の画素)が、特定色の部分として、検索される。図10(C)、図10(D)等で説明したように、対象製品700tが欠陥を有する場合、検査画像は、欠陥を示す特定色の部分を含み、対象製品が欠陥を有していない場合、検査画像は、特定色の部分を含まない。
S220の判断結果がNoである場合、プロセッサ210は、S230で、対象製品は欠陥を有していないと判断し、図5の処理を終了する。この場合、対象製品は、装置の生産に利用される。
S220の判断結果がYesである場合、プロセッサ210は、S240で、対象製品は欠陥を有していると判断する。S250では、プロセッサ210は、対象入力画像データと検査画像データとを合成することによって、合成画像データを生成する。図10(E)は、合成画像データによって表される合成画像の例を示す説明図である。この合成画像639は、対象入力画像610(図7(B))に検査画像636(図10(C))の特定色の部分を追加して得られる画像である。合成画像639では、特定色の部分は、欠陥710を示している。特定色の部分は、予め決められた色(例えば、黒色、または、赤色など)で表されている。
S260では、プロセッサ210(図1)は、合成画像を表示部240に表示する。ユーザは、表示された合成画像を観察することによって、欠陥の位置を容易に特定できる。そして、プロセッサ210は、図5の処理を終了する。
以上のように、本実施例では、データ処理装置200(図1)は、図6の処理を実行することによって、検査画像データを生成する。S310、S315では、プロセッサ210は、撮影された検査対象の製品を表す対象入力画像データを取得する。S320−S330では、プロセッサ210は、対象入力画像データを学習済モデル234に入力することによって、欠陥の無い検査対象の製品の画像である対象出力画像620を表す対象出力画像データを取得する。図3、図4で説明したように、学習済モデル234は、学習済モデルに入力された製品の画像を表す画像データに対するデータ圧縮とデータ解凍とを行うことによって、欠陥の無い同じ製品の画像を表す画像データを出力するようにトレーニングされている。S335では、プロセッサ210は、対象入力画像データに輝度調整処理(S340)を含む生成処理を行うことによって、第1比較データを生成する。S350では、プロセッサ210は、対象出力画像データに輝度調整処理(S355)を含む生成処理を行うことによって、第2比較データを生成する。S365では、プロセッサ210は、第1比較データと第2比較データとの差分(S370)を用いて、検査用の画像を表す検査画像データを生成する。このように、検査画像データは、第1比較データと第2比較データの差分を用いて生成され、第1比較データは、対象入力画像データに輝度調整処理を含む生成処理を行うことによって生成され、第2比較データは、学習済モデルを用いて取得される対象出力画像データに輝度調整処理を含む生成処理を行うことによって生成されるので、検査対象の製品が欠陥を有する場合に、検査画像データは、適切に、欠陥を表すことができる。
また、図8、図9(A)、図9(B)で説明したように、S340、S355(図6)の輝度調整処理は、輝度値の可能な全範囲のうちの一部の範囲であって輝度値の分布を用いて特定される一部の範囲である対象輝度範囲の例である第1範囲R1のコントラストを強調する処理である。このように、輝度値分布を用いて特定される対象輝度範囲を用いて、輝度調整が行われる。従って、対象入力画像データと対象出力画像データとの間で製品の同じ部分の明るさが異なる場合であっても、第1比較データと第2比較データとの間の明るさの差を小さくできる。上述したように、検査画像データは、第1比較データと第2比較データの差分を用いて生成される。このような検査画像データは、第1比較データによって表される欠陥であって第2比較データによって表されない欠陥を、適切に表すことができる。
また、本実施例では、輝度値分布を用いて特定される対象輝度範囲のコントラストが強調された比較用の画像データを用いて検査画像データが生成される。検査対象の製品が欠陥を有する場合には、コントラストの強調によって、対象製品のうちの欠陥の部分と欠陥以外の部分との間の色値の差が大きくなる。この結果、検査画像データは、適切に、欠陥を表すことができる。
また、図8、図9(A)、図9(B)で説明したように、輝度調整処理は、輝度値分布を用いて特定される統計値の例であるピーク輝度値VP以上の範囲である第1範囲R1のコントラストを強調する処理と、ピーク輝度値VP未満の輝度値をゼロに設定する処理と、を含んでいる。このような輝度調整処理によって、画像内の対象製品を示す部分のコントラストが強調されるので、検査対象の製品が欠陥を有する場合に、画像内の製品のうちの欠陥の部分と欠陥以外の部分との間の輝度差が大きくなる。この結果、検査画像データは、適切に、欠陥を表すことができる。
また、図8、図9(A)で説明したように、ピーク輝度値VPは、ゼロよりも大きく輝度値の可能な最大値(ここでは、255)よりも小さい輝度値の範囲における輝度値分布の最大のピークに対応する輝度値である。このようなピーク輝度値VPは、画像内の製品の明るさを示す指標値である。対象入力画像データの輝度調整のための対応関係は、対象入力画像データから得られるピーク輝度値VPを用いて特定され、対象出力画像データの輝度調整のための対応関係は、対象出力画像データから得られるピーク輝度値VPを用いて特定される。従って、対象入力画像データと対象出力画像データとの間で製品の同じ部分の明るさが異なる場合であっても、第1比較データと第2比較データとの間の明るさの差を小さくできる。さらに、製品を表す多数の画素を含む第1範囲R1のコントラストが強調される。従って、検査対象の製品が欠陥を有する場合に、画像内の製品のうちの欠陥の部分と欠陥以外の部分との間の輝度差が大きくなる。この結果、検査画像データは、適切に、欠陥を表すことができる。
また、図6で説明したように、S335、S350の生成処理は、輝度調整処理(S340、S355)の後のノイズ低減処理(S345、S360)を含んでいる。従って、ノイズの影響が緩和されるので、検査対象の製品が欠陥を有する場合に、検査画像データは、適切に、欠陥を表すことができる。
また、図6で説明したように、S345、S360のノイズ低減処理は、二値化処理を含んでいる。このように、二値化処理によってノイズの影響が適切に緩和されるので、検査対象の製品が欠陥を有する場合に、検査画像データは、適切に、欠陥を表すことができる。
B.第2実施例:
図11(A)、図11(B)は、図6のS340、S355の輝度調整処理の別の実施例の説明図である。図11(A)、図11(B)は、図9(A)、図9(B)と同様のヒストグラムと、対象入力画像610aの一部分610apと、入力輝度値Viと出力輝度値Voとの対応関係と、を示している。本実施例では、対象入力画像610a内において、対象製品700aは、背景BGaよりも暗いこととしている。例えば、製品の色が暗い色である場合に、対象入力画像610a内において、対象製品700aは背景BGaよりも暗い色で表される。この場合、製品700aのうち背景BGaに近い部分612aの輝度値Vは、高く、製品700aうち背景BGaから遠い部分611aの輝度値Vは、低い。なお、本実施例では、S315のマスク処理により、背景BGtの輝度値は、可能な最大値(ここでは、255)に設定される。そして、ヒストグラムでは、背景BGtの輝度値のピークの図示は、省略されている。
図11(A)、図11(B)は、図6のS340、S355の輝度調整処理の別の実施例の説明図である。図11(A)、図11(B)は、図9(A)、図9(B)と同様のヒストグラムと、対象入力画像610aの一部分610apと、入力輝度値Viと出力輝度値Voとの対応関係と、を示している。本実施例では、対象入力画像610a内において、対象製品700aは、背景BGaよりも暗いこととしている。例えば、製品の色が暗い色である場合に、対象入力画像610a内において、対象製品700aは背景BGaよりも暗い色で表される。この場合、製品700aのうち背景BGaに近い部分612aの輝度値Vは、高く、製品700aうち背景BGaから遠い部分611aの輝度値Vは、低い。なお、本実施例では、S315のマスク処理により、背景BGtの輝度値は、可能な最大値(ここでは、255)に設定される。そして、ヒストグラムでは、背景BGtの輝度値のピークの図示は、省略されている。
本実施例の輝度調整処理は、図8の手順に従って実行される。プロセッサ210は、S410で輝度値Vのヒストグラムを生成し、S420で最大ピークを特定する。最大のピークは、ゼロよりも大きく、かつ、輝度値Vの可能な最大値(ここでは、255)よりも小さい輝度値Vの範囲内から、特定される。図11(A)のヒストグラムでは、最大のピークPaに対応するピーク輝度値VPaが特定される。
S430(図8)では、プロセッサ210は、調整前の輝度値と調整後の輝度値との対応関係を、決定する。本実施例では、図11(B)に示すように、ピーク輝度値VPaを超える第2範囲R2aでは、入力輝度値Viに拘わらずに、出力輝度値Voは最大値(ここでは255)である。ピーク輝度値VPa以下の第1範囲R1aでは、入力輝度値Viがゼロからピーク輝度値VPaまで増加する場合に、出力輝度値Voは、ゼロから最大値まで、入力輝度値Viに比例して、増加する。このような対応関係は、第1範囲R1aのコントラストを強調する対応関係の例である。
S440(図8)では、プロセッサ210は、S430で決定された対応関係に従って、輝度値Vを変換する。全ての画素の輝度値Vの調整が完了した場合、図8の処理が、終了する。
以上のように、本実施例では、輝度調整処理は、輝度値分布を用いて特定される第2統計値の例であるピーク輝度値VPa以下の範囲である第1範囲R1aのコントラストを強調する処理と、ピーク輝度値VPaを超える輝度値を、輝度値の可能な最大値に設定する処理と、を含んでいる。このような輝度調整処理によって、画像内の対象製品を示す部分のコントラストが強調されるので、検査対象の製品が欠陥を有する場合に、画像内の製品のうちの欠陥の部分と欠陥以外の部分との間の輝度差が大きくなる。この結果、検査画像データは、適切に、欠陥を表すことができる。
また、図11(A)で説明したように、ピーク輝度値VPaは、ゼロよりも大きく輝度値の可能な最大値(ここでは、255)よりも小さい輝度値の範囲における輝度値分布の最大のピークに対応する輝度値である。このピーク輝度値VPaは、画像内の製品の明るさを示す指標値である。従って、第1実施例と同様に、対象入力画像データと対象出力画像データとの間で製品の同じ部分の明るさが異なる場合であっても、第1比較データと第2比較データとの間の明るさの差を小さくできる。さらに、製品を表す多数の画素を含む第1範囲R1aのコントラストが強調される。従って、検査対象の製品が欠陥を有する場合に、画像内の製品のうちの欠陥の部分と欠陥以外の部分との間の輝度差が大きくなる。この結果、画像内の対象製品のうちの欠陥の部分と欠陥以外の部分との分離が容易であるので、検査画像データは、適切に、欠陥を表すことができる。
C.第3実施例:
図12(A)、図12(B)は、図6のS340、S355の輝度調整処理の別の実施例の説明図である。図12(A)、図12(B)は、図9(A)、図9(B)と同様のヒストグラムと、対象入力画像610bの一部分610bpと、入力輝度値Viと出力輝度値Voとの対応関係と、を示している。本実施例では、対象入力画像610b内において、対象製品700bは、中程度の輝度値Vで表されることとしている。背景BGbは、対象製品700bよりも暗い。また、最大値(255)に近い大きな輝度値Vを有する画素は、対象製品700bではなく、ノイズを示している。図12(A)の例では、製品700bのうち背景BGbに近い部分612bの輝度値Vは、低く、製品700bうち背景BGbから遠い部分611bの輝度値Vは、高い。なお、本実施例では、S315のマスク処理により、背景BGtの輝度値は、ゼロに設定される。そして、ヒストグラムでは、背景BGtの輝度値のピークの図示は、省略されている。
図12(A)、図12(B)は、図6のS340、S355の輝度調整処理の別の実施例の説明図である。図12(A)、図12(B)は、図9(A)、図9(B)と同様のヒストグラムと、対象入力画像610bの一部分610bpと、入力輝度値Viと出力輝度値Voとの対応関係と、を示している。本実施例では、対象入力画像610b内において、対象製品700bは、中程度の輝度値Vで表されることとしている。背景BGbは、対象製品700bよりも暗い。また、最大値(255)に近い大きな輝度値Vを有する画素は、対象製品700bではなく、ノイズを示している。図12(A)の例では、製品700bのうち背景BGbに近い部分612bの輝度値Vは、低く、製品700bうち背景BGbから遠い部分611bの輝度値Vは、高い。なお、本実施例では、S315のマスク処理により、背景BGtの輝度値は、ゼロに設定される。そして、ヒストグラムでは、背景BGtの輝度値のピークの図示は、省略されている。
本実施例の輝度調整処理は、図8の手順に従って実行される。プロセッサ210は、S410で輝度値Vのヒストグラムを生成し、S420で最大ピークを特定する。最大のピークは、ゼロよりも大きく、かつ、輝度値Vの可能な最大値(ここでは、255)よりも小さい輝度値Vの範囲内から、特定される。図12(A)のヒストグラムでは、最大のピークPbに対応するピーク輝度値VPbが特定される。
S430(図8)では、プロセッサ210は、調整前の輝度値と調整後の輝度値との対応関係を、決定する。本実施例では、図12(A)、図12(B)に示すように、プロセッサ210は、ピーク輝度値VPbを中心とする予め決められた幅の第1範囲R1bを特定する。図中の下限値VLと上限値VHとは、第1範囲R1bの下限値と上限値とである。上限値VHを超える第2範囲R2bでは、入力輝度値Viに拘わらずに、出力輝度値Voは最大値(ここでは255)である。下限値VL未満の第3範囲R3bでは、入力輝度値Viに拘わらずに、出力輝度値Voはゼロである。第1範囲R1bでは、入力輝度値Viが下限値VLから上限値VHまで増加する場合に、出力輝度値Voは、ゼロから最大値まで、入力輝度値Viに比例して、増加する。このような対応関係は、第1範囲R1bのコントラストを強調する対応関係の例である。
S440(図8)では、プロセッサ210は、S430で決定された対応関係に従って、輝度値Vを変換する。全ての画素の輝度値Vの調整が完了した場合、図8の処理が、終了する。
以上のように、本実施例では、輝度調整処理は、輝度値分布を用いて特定される下限値VLと上限値VHとの間の範囲である第1範囲R1bのコントラストを強調する処理と、下限値VL未満の輝度値をゼロに設定する処理と、上限値VHを超える輝度値を、輝度値の可能な最大値(ここでは、255)に設定する処理と、を含んでいる。このような輝度調整処理によって、画像内の対象製品を示す部分のコントラストが強調されるので、検査対象の製品が欠陥を有する場合に、画像内の製品のうちの欠陥の部分と欠陥以外の部分との間の輝度差が大きくなる。この結果、画像内の対象製品のうちの欠陥の部分と欠陥以外の部分との分離が容易であるので、検査画像データは、適切に、欠陥を表すことができる。
また、図12(A)で説明したように、第1範囲R1bは、ピーク輝度値VPbを含む範囲である。ピーク輝度値VPbは、ゼロよりも大きく輝度値の可能な最大値(ここでは、255)よりも小さい輝度値の範囲における輝度値分布の最大のピークに対応する輝度値である。このようなピーク輝度値VPbは、画像内の製品の明るさを示す指標値である。従って、第1実施例と同様に、対象入力画像データと対象出力画像データとの間で製品の同じ部分の明るさが異なる場合であっても、第1比較データと第2比較データとの間の明るさの差を小さくできる。さらに、製品を表す多数の画素を含む第1範囲R1bのコントラストが強調される。従って、検査対象の製品が欠陥を有する場合に、画像内の製品のうちの欠陥の部分と欠陥以外の部分との間の輝度差が大きくなる。この結果、検査画像データは、適切に、欠陥を表すことができる。
D.変形例:
(1)製品の画像を表す画像データを出力する予測モデルの構成は、図2のオートエンコーダNNの構成に代えて、他の種々の構成であってよい。例えば、データ圧縮(すなわち、データ量を削減する処理)を行う層は、プーリング層316、326、336のようないわゆるマックスプーリング層に代えて、データを圧縮する種々の層であってよい。例えば、平均プーリング層が用いられてよい。また、プーリング層が省略され、畳込層(例えば、畳込層313、323、333の少なくとも1層)が、データを圧縮してよい。また、データ圧縮を行う層の総数は、3に代えて、任意の数であってよい(例えば、1以上、5以下)。
(1)製品の画像を表す画像データを出力する予測モデルの構成は、図2のオートエンコーダNNの構成に代えて、他の種々の構成であってよい。例えば、データ圧縮(すなわち、データ量を削減する処理)を行う層は、プーリング層316、326、336のようないわゆるマックスプーリング層に代えて、データを圧縮する種々の層であってよい。例えば、平均プーリング層が用いられてよい。また、プーリング層が省略され、畳込層(例えば、畳込層313、323、333の少なくとも1層)が、データを圧縮してよい。また、データ圧縮を行う層の総数は、3に代えて、任意の数であってよい(例えば、1以上、5以下)。
また、データ解凍(すなわち、データ量を増大する処理)を行う層は、アップサンプリング層346、356、366に代えて、データを解凍する種々の層であってよい。例えば、いわゆる逆畳込(deconvolution)層が用いられてよい。また、畳込層343、353、363は、省略されてよい。また、データ解凍を行う層の総数は、3に代えて、任意の数であってよい(例えば、1以上、5以下)。なお、データ解凍を行う層の総数は、データ圧縮を行う層の総数と同じであってよい。
このように、予測モデルは、データ圧縮を行う層として、1以上の畳込層を備えてよい。例えば、予測モデルは、畳込層と畳込層の後ろに接続されたプーリング層との1以上のセットを備えてよい。また、予測モデルは、データ解凍を行う層として、畳込層と畳込層の後ろに接続されたアップサンプリング層との1以上のセットを備えてよい。また、予測モデルは、データ解凍を行う層として、1以上の逆畳込層を備えてよい。
また、予測モデルは、畳込層を含まずに、複数の全結合層で構成されてもよい。予測モデルは、オートエンコーダと呼ばれる種々の人工ニューラルネットワークを含んでよい。また、予測モデルは、人工ニューラルネットワークに限らず、他の種々のモデルを含んでよい。予測モデルは、例えば、人工ニューラルネットワークと、隠れマルコフモデルと、推論エンジンと、のグループから任意に選択された1以上のモデルを含んでよい。一般的には、予測モデルは、予測モデルに入力された製品の画像を表す画像データに対するデータ圧縮とデータ解凍とを行うことによって、同じ製品の画像を表す画像データを出力する種々のモデルであってよい。このような予測モデルでは、製品が欠陥を有する場合に、データ圧縮によって欠陥を示す情報が取り除かれる。従って、予測モデルは、欠陥の無い同じ製品の画像を表す画像データを容易に出力できる。
(2)予測モデルのトレーニング方法は、図3で説明した方法に代えて、他の種々の方法であってよい。例えば、予測モデルに入力される学習画像データは、撮影画像データにノイズを付加して得られる画像データであってよい。この場合も、教師画像データとしては、ノイズが付加されていない画像データが用いられることが好ましい。一般的には、トレーニング方法は、製品の画像を表す画像データが予測モデルに入力されることによって、欠陥の無い同じ製品の画像を表す画像データを出力するように予測モデルをトレーニングする任意の方法であってよい。
(3)比較画像データの生成処理に含まれる輝度調整処理(図6:S340、S355)は、図8で説明した処理に限らず、他の種々の処理を含んでよい。例えば、ピーク輝度値VP、VPa、VPbに代えて、輝度値分布を用いて特定される他の種々の統計値が用いられてよい。統計値は、例えば、ゼロよりも大きく可能な最大値よりも小さい輝度範囲における輝度分布において、最大ピークのピーク輝度値、中央値、または、平均値のいずれかであってよい。また、コントラストが強調される輝度範囲は、輝度値分布を用いて特定される種々の範囲であってよい。例えば、プロセッサ210は、輝度値分布において、最大のピークを挟む2個の谷を特定する。そして、プロセッサ210は、小さい輝度の谷の極小頻度に対応する輝度値を下限として採用し、大きい輝度の谷の極小頻度に対応する輝度値を上限として採用してよい。いずれの場合も、製品の欠陥を示す画素の輝度値が、コントラストが強調される輝度範囲の外であるように、輝度範囲が決定されることが好ましい。また、プロセッサ210は、コントラストが強調される輝度範囲の外では、輝度値を、予め決められた値(例えば、ゼロ、または、可能な最大値)に設定することが好ましい。
また、プロセッサ210は、図9(B)の対応関係と図11(B)の対応関係とから、輝度調整に用いるべき対応関係を、輝度分布(例えば、対象入力画像の輝度分布)に基づいて選択してよい。例えば、プロセッサ210は、輝度値が統計値(例えば、ピーク輝度値)以上の画素の数が、輝度値が統計値未満の画素の数よりも多い場合には、図9(B)の対応関係を選択してよい。逆に、輝度値が統計値以上の画素の数が、輝度値が統計値未満の画素の数よりも少ない場合には、プロセッサ210は、図11(B)の対応関係を選択してよい。
また、輝度調整処理は、予め決められた輝度範囲内のコントラストを強調する処理であってもよい。一般的には、輝度調整処理は、第1比較データと第2比較データとの間の明るさの差を小さくする種々の処理であってよい。
(4)比較画像データの生成処理に含まれる二値化処理(図6:S345、S360)の閾値の決定方法は、大津の方法に代えて、他の種々の方法であってよい。プロセッサ210は、例えば、ゼロよりも大きく可能な最大値よりも小さい輝度範囲における輝度分布を用いて、閾値を決定してよい(例えば、閾値は、輝度値の平均値または中央値であってよい)。また、閾値は、予め決められてよい。また、比較画像データの生成処理に含まれるノイズ低減処理は、二値化処理に代えて、ノイズを低減する任意の処理であってよい。例えば、ノイズ低減処理は、アンシャープマスクを用いてノイズを低減する処理であってよい。なお、ノイズ低減処理は、省略されてよい。
(5)検査画像データを生成する処理は、図6の処理に代えて、他の種々の処理であってよい。例えば、S315では、マスク処理は省略されてよい。S375のノイズ低減処理は、画像縮小処理と画像拡大処理とに限らず、ノイズを低減する任意の処理を含んでよい。例えば、ノイズ低減処理は、画像内のオブジェクトを収縮する処理と膨張する処理とを含んでよい。収縮処理によって、細かいノイズが削除される。また、ノイズ低減処理は、アンシャープマスクを用いてノイズを低減する処理を含んでよい。また、S345、S360の二値化処理が省略され、S375のノイズ低減処理の後に、二値化処理が行われてよい。なお、S375のノイズ低減処理は、省略されてよい。
また、予測モデル(例えば、図2のオートエンコーダNN)は、グレースケールの画像データに代えて、カラー画像データ(例えば、RGBのビットマップデータ)を用いて処理を行うように、構成されてよい。そして、図3のトレーニング処理と、図6の検査画像データの生成処理とは、カラー画像データを用いて実行されてよい。
(6)図3のトレーニング処理と、図6の検査画像データの生成処理とは、互いに異なる装置によって、実行されてよい。また、図5の実施例では、同じ装置200(図1)が、検査画像データの生成処理と、製品が欠陥を有するか否かを検査画像データを用いて判断する判断処理とを、実行している。データ処理装置200は、検査画像データの生成装置の例であり、また、判断処理を実行する判断装置の例である。なお、検査画像データを生成する生成装置とは異なる装置が、製品が欠陥を有するか否かを判断する判断部として動作してよい。また、製品が欠陥を有すると判断された場合に行われる処理は、合成画像の生成と表示(図5:S250、S260)に代えて、他の任意の処理であってよい。
(7)検査対処の製品は、種々の製品であってよく、検出すべき欠陥は、種々の欠陥であってよい。例えば、製品は、印刷に利用される紙であってよい。そして、欠陥は、紙の折れであってよい。また、製品は、印刷装置によってノズルのチェックパターンが印刷された紙であってよい。そして、欠陥は、チェックパターンによって示されるノズルの不具合(例えば、ノズルの詰まり)であってよい。
(8)検査画像データを生成する装置は、パーソナルコンピュータとは異なる種類の装置(例えば、複合機、プリンタ、スキャナ、デジタルカメラ、スマートフォン)であってもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、検査画像データを生成する処理の機能を一部ずつ分担して、全体として、検査画像データを生成する機能を提供してもよい(これらの装置を備えるシステムが、検査画像データの生成装置に対応する)。製品が欠陥を有するか否かを検査画像データを用いて判断する判断装置についても、同様である。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、学習済モデル234は、プログラムモジュールに代えて、ASIC(Application Specific Integrated Circuit)等のハードウェア回路によって実現されてよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100…デジタルカメラ、200…データ処理装置、210…プロセッサ、215…記憶装置、220…揮発性記憶装置、230…不揮発性記憶装置、232…第1プログラム、233…第2プログラム、234…学習済モデル、240…表示部、250…操作部、270…通信インタフェース、305…入力層、313…第1畳込層、316…第1プーリング層、323…第2畳込層、326…第2プーリング層、333…第3畳込層、336…第3プーリング層、343…第4畳込層、346…第1アップサンプリング層、353…第5畳込層、356…第2アップサンプリング層、363…第6畳込層、366…第3アップサンプリング層、370…第7畳込層、505…撮影画像、510…入力学習画像、511…輝度調整画像、519…教師画像、520…出力画像、590…評価値、605…対象撮影画像、610…対象入力画像、610a…対象入力画像、610b…対象入力画像、613…調整済画像、616…二値化画像、620…対象出力画像、623…調整済画像、626…二値化画像、630…差分画像、633…縮小画像、636…検査画像、636z…検査画像、639…合成画像、700…製品、700a…対象製品、700b…対象製品、700s…良製品、700t…対象製品、710…欠陥、1000…検査システム、NN…人工ニューラルネットワーク(オートエンコーダ)、Dx…第1方向、Dy…第2方向
Claims (13)
- 製品の外観の検査用の画像データを生成する生成装置であって、
撮影された検査対象の製品を表す対象入力画像データを学習済モデルに入力することによって、欠陥の無い前記検査対象の製品の画像を表す対象出力画像データを取得する取得部であって、前記学習済モデルは、前記学習済モデルに入力された前記製品の画像を表す画像データに対するデータ圧縮とデータ解凍とを行うことによって、欠陥の無い製品の画像を表す画像データを出力するようにトレーニングされた学習済モデルである、前記取得部と、
前記対象入力画像データに輝度調整処理を含む第1生成処理を行うことによって、第1比較データを生成する第1比較データ生成部と、
前記取得部により取得された前記対象出力画像データに前記輝度調整処理を含む第2生成処理を行うことによって、第2比較データを生成する第2比較データ生成部と、
前記第1比較データと前記第2比較データとの差分を用いて、検査用の画像を表す検査画像データを生成する検査画像データ生成部と、
を備える、生成装置。 - 請求項1に記載の生成装置であって、
前記輝度調整処理は、輝度値の可能な全範囲のうちの一部の範囲であって輝度値の分布を用いて特定される前記一部の範囲である対象輝度範囲のコントラストを強調する処理である、
生成装置。 - 請求項2に記載の生成装置であって、
前記輝度調整処理は、
(A)第1調整処理であって、前記輝度値分布を用いて特定される第1統計値以上の範囲である前記対象輝度範囲のコントラストを強調する処理と、前記第1統計値未満の輝度値をゼロに設定する処理と、を含む前記第1調整処理と、
(B)第2調整処理であって、前記輝度値分布を用いて特定される第2統計値以下の範囲である前記対象輝度範囲のコントラストを強調する処理と、前記第2統計値を超える輝度値を、前記輝度値の可能な最大値に設定する処理と、を含む前記第2調整処理と、
(C)第3調整処理であって、前記輝度値分布を用いて特定される下限値と上限値との間の範囲である前記対象輝度範囲のコントラストを強調する処理と、前記下限値未満の輝度値をゼロに設定する処理と、前記上限値を超える輝度値を、前記輝度値の可能な最大値に設定する処理と、を含む前記第3調整処理と、
のうちにいずれかの処理を含む、
生成装置。 - 請求項3に記載の生成装置であって、
前記第1統計値と前記第2統計値とは、ゼロよりも大きく前記輝度値の可能な最大値よりも小さい前記輝度値の範囲における前記輝度値分布の最大のピークに対応する輝度値である、
生成装置。 - 請求項1から4のいずれかに記載の生成装置であって、
前記第1生成処理と前記第2生成処理とは、前記輝度調整処理の後のノイズ低減処理を含む、
生成装置。 - 請求項5に記載の生成装置であって、
前記ノイズ低減処理は、二値化処理を含む、
生成装置。 - 製品の外観の検査用の画像データを生成するコンピュータのためのコンピュータプログラムであって、
撮影された検査対象の製品を表す対象入力画像データを学習済モデルに入力することによって、欠陥の無い前記検査対象の製品の画像を表す対象出力画像データを取得する取得機能であって、前記学習済モデルは、前記学習済モデルに入力された前記製品の画像を表す画像データに対するデータ圧縮とデータ解凍とを行うことによって、欠陥の無い製品の画像を表す画像データを出力するようにトレーニングされた学習済モデルである、前記取得機能と、
前記対象入力画像データに輝度調整処理を含む生成処理を行うことによって、第1比較データを生成する第1比較データ生成機能と、
前記取得機能により取得された前記対象出力画像データに前記輝度調整処理を含む前記生成処理を行うことによって、第2比較データを生成する第2比較データ生成機能と、
前記第1比較データと前記第2比較データとの差分を用いて、検査用の画像を表す検査画像データを生成する検査画像データ生成機能と、
をコンピュータに実現させる、コンピュータプログラム。 - 請求項7に記載のコンピュータプログラムであって、
前記輝度調整処理は、輝度値の可能な全範囲のうちの一部の範囲であって輝度値の分布を用いて特定される前記一部の範囲である対象輝度範囲のコントラストを強調する処理である、
コンピュータプログラム。 - 請求項8に記載のコンピュータプログラムであって、
前記輝度調整処理は、
(A)第1調整処理であって、前記輝度値分布を用いて特定される第1統計値以上の範囲である前記対象輝度範囲のコントラストを強調する処理と、前記第1統計値未満の輝度値をゼロに設定する処理と、を含む前記第1調整処理と、
(B)第2調整処理であって、前記輝度値分布を用いて特定される第2統計値以下の範囲である前記対象輝度範囲のコントラストを強調する処理と、前記第2統計値を超える輝度値を、前記輝度値の可能な最大値に設定する処理と、を含む前記第2調整処理と、
(C)第3調整処理であって、前記輝度値分布を用いて特定される下限値と上限値との間の範囲である前記対象輝度範囲のコントラストを強調する処理と、前記下限値未満の輝度値をゼロに設定する処理と、前記上限値を超える輝度値を、前記輝度値の可能な最大値に設定する処理と、を含む前記第3調整処理と、
のうちにいずれかの処理を含む、
コンピュータプログラム。 - 請求項9に記載のコンピュータプログラムであって、
前記第1統計値と前記第2統計値とは、ゼロよりも大きく前記輝度値の可能な最大値よりも小さい前記輝度値の範囲における前記輝度値分布の最大のピークに対応する輝度値である、
コンピュータプログラム。 - 請求項7から10のいずれかに記載のコンピュータプログラムであって、
前記生成処理は、前記輝度調整処理の後のノイズ低減処理を含む、
コンピュータプログラム。 - 請求項11に記載のコンピュータプログラムであって、
前記ノイズ低減処理は、二値化処理を含む、
コンピュータプログラム。 - 製品の外観の検査用の画像データを生成する生成方法であって、
撮影された検査対象の製品を表す対象入力画像データを学習済モデルに入力することによって、欠陥の無い前記検査対象の製品の画像を表す対象出力画像データを取得する取得工程であって、前記学習済モデルは、前記学習済モデルに入力された前記製品の画像を表す画像データに対するデータ圧縮とデータ解凍とを行うことによって、欠陥の無い製品の画像を表す画像データを出力するようにトレーニングされた学習済モデルである、前記取得工程と、
前記対象入力画像データに輝度調整処理を含む生成処理を行うことによって、第1比較データを生成する第1比較データ生成工程と、
前記取得工程にて取得された前記対象出力画像データに前記輝度調整処理を含む前記生成処理を行うことによって、第2比較データを生成する第2比較データ生成工程と、
前記第1比較データと前記第2比較データとの差分を用いて、検査用の画像を表す検査画像データを生成する検査画像データ生成工程と、
を備える、生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019057270A JP2020160616A (ja) | 2019-03-25 | 2019-03-25 | 生成装置、コンピュータプログラム、生成方法 |
US16/823,728 US11107210B2 (en) | 2019-03-25 | 2020-03-19 | Image data generating apparatus generating image data for inspecting external appearance of product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019057270A JP2020160616A (ja) | 2019-03-25 | 2019-03-25 | 生成装置、コンピュータプログラム、生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020160616A true JP2020160616A (ja) | 2020-10-01 |
Family
ID=72606110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019057270A Pending JP2020160616A (ja) | 2019-03-25 | 2019-03-25 | 生成装置、コンピュータプログラム、生成方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11107210B2 (ja) |
JP (1) | JP2020160616A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112924654A (zh) * | 2021-01-15 | 2021-06-08 | 重庆交通大学 | 非接触式混凝土保塑性能智能化实时检测方法及装置 |
WO2022065450A1 (ja) | 2020-09-25 | 2022-03-31 | 国立大学法人東北大学 | リチウムイオン二次電池用の負極合剤、およびリチウムイオン二次電池 |
JPWO2022074878A1 (ja) * | 2020-10-08 | 2022-04-14 | ||
JP7142991B1 (ja) | 2022-01-18 | 2022-09-28 | 成都理工大学 | 棒状たばこ箱表面欠陥検出の方法及び装置 |
WO2022201968A1 (ja) * | 2021-03-26 | 2022-09-29 | コニカミノルタ株式会社 | 情報処理装置、制御プログラム、および制御方法 |
WO2022230338A1 (ja) * | 2021-04-27 | 2022-11-03 | 株式会社日立ハイテク | 欠陥を検出するシステム、及びコンピュータ可読媒体 |
WO2022244406A1 (ja) * | 2021-05-17 | 2022-11-24 | コニカミノルタ株式会社 | 信号処理装置、信号処理方法、及びプログラム |
WO2023074566A1 (ja) * | 2021-11-01 | 2023-05-04 | ブラザー工業株式会社 | コンピュータプログラム、および、データ処理装置 |
CN117078789A (zh) * | 2023-09-22 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、设备及介质 |
WO2024095434A1 (ja) * | 2022-11-04 | 2024-05-10 | 富士通株式会社 | 画像処理プログラム、画像処理方法、検出プログラム、検出方法、および情報処理装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI653605B (zh) * | 2017-12-25 | 2019-03-11 | 由田新技股份有限公司 | 利用深度學習的自動光學檢測方法、設備、電腦程式、電腦可讀取之記錄媒體及其深度學習系統 |
JP7258509B2 (ja) * | 2018-10-15 | 2023-04-17 | オムロン株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
JP2020095428A (ja) * | 2018-12-12 | 2020-06-18 | 株式会社東芝 | モデル学習システム、モデル学習方法、プログラム、及び記憶媒体 |
CN114764774A (zh) * | 2021-01-12 | 2022-07-19 | 富泰华工业(深圳)有限公司 | 瑕疵检测方法、装置、电子设备及计算机可读存储介质 |
CN114862740A (zh) * | 2021-01-18 | 2022-08-05 | 富泰华工业(深圳)有限公司 | 瑕疵检测方法、装置、电子设备及计算机可读存储介质 |
CN117274133A (zh) * | 2022-06-09 | 2023-12-22 | 鸿海精密工业股份有限公司 | 瑕疵侦测方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1048152A (ja) * | 1996-07-31 | 1998-02-20 | Ishikawajima Harima Heavy Ind Co Ltd | 微細線状欠陥の検出方法及びその装置 |
JP2009186447A (ja) * | 2008-02-11 | 2009-08-20 | Toray Ind Inc | 検査装置 |
JP2013030158A (ja) * | 2011-06-24 | 2013-02-07 | Tokyo Electron Ltd | 画像処理方法、画像表示方法、画像処理装置、プログラム及びコンピュータ記憶媒体 |
JP2013148380A (ja) * | 2012-01-17 | 2013-08-01 | Dainippon Screen Mfg Co Ltd | 外観検査装置 |
WO2018105028A1 (ja) * | 2016-12-06 | 2018-06-14 | 三菱電機株式会社 | 検査装置及び検査方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013123812A (ja) * | 2011-12-13 | 2013-06-24 | Canon Inc | 検査装置、検査方法、コンピュータプログラム |
JP6608682B2 (ja) | 2015-11-24 | 2019-11-20 | 株式会社キーエンス | 位置決め方法、外観検査装置、プログラム、コンピュータ可読記録媒体および外観検査方法 |
US10255681B2 (en) * | 2017-03-02 | 2019-04-09 | Adobe Inc. | Image matting using deep learning |
US10599951B2 (en) * | 2018-03-28 | 2020-03-24 | Kla-Tencor Corp. | Training a neural network for defect detection in low resolution images |
US10867108B2 (en) * | 2018-09-18 | 2020-12-15 | Taiwan Semiconductor Manufacturing Co., Ltd. | Optical mode optimization for wafer inspection |
US11676007B2 (en) * | 2019-07-29 | 2023-06-13 | Autodesk, Inc. | Defect removal from manufactured objects having morphed surfaces |
-
2019
- 2019-03-25 JP JP2019057270A patent/JP2020160616A/ja active Pending
-
2020
- 2020-03-19 US US16/823,728 patent/US11107210B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1048152A (ja) * | 1996-07-31 | 1998-02-20 | Ishikawajima Harima Heavy Ind Co Ltd | 微細線状欠陥の検出方法及びその装置 |
JP2009186447A (ja) * | 2008-02-11 | 2009-08-20 | Toray Ind Inc | 検査装置 |
JP2013030158A (ja) * | 2011-06-24 | 2013-02-07 | Tokyo Electron Ltd | 画像処理方法、画像表示方法、画像処理装置、プログラム及びコンピュータ記憶媒体 |
JP2013148380A (ja) * | 2012-01-17 | 2013-08-01 | Dainippon Screen Mfg Co Ltd | 外観検査装置 |
WO2018105028A1 (ja) * | 2016-12-06 | 2018-06-14 | 三菱電機株式会社 | 検査装置及び検査方法 |
Non-Patent Citations (2)
Title |
---|
MUYUAN KE ET AL.: ""Anomaly Detection of Logo Images in the Mobile Phone Using Convolutional AutoEncoder"", 2017 4TH INTERNATIONAL CONFERENCE ON SYSTEMS AND INFORMATICS (ICSAI), JPN6023006708, 11 November 2017 (2017-11-11), US, pages 1163 - 1168, XP033292640, ISSN: 0004997715, DOI: 10.1109/ICSAI.2017.8248461 * |
神本 恭佑、外2名: ""AutoEncoderを用いた欠損検出法の考察"", 映像情報メディア学会技術報告, vol. 42, no. 27, JPN6023006709, 15 August 2018 (2018-08-15), JP, pages 45 - 46, ISSN: 0004997714 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022065450A1 (ja) | 2020-09-25 | 2022-03-31 | 国立大学法人東北大学 | リチウムイオン二次電池用の負極合剤、およびリチウムイオン二次電池 |
JP7407407B2 (ja) | 2020-10-08 | 2024-01-04 | パナソニックIpマネジメント株式会社 | 処理方法およびそれを利用した処理装置 |
JPWO2022074878A1 (ja) * | 2020-10-08 | 2022-04-14 | ||
CN112924654A (zh) * | 2021-01-15 | 2021-06-08 | 重庆交通大学 | 非接触式混凝土保塑性能智能化实时检测方法及装置 |
CN112924654B (zh) * | 2021-01-15 | 2023-06-02 | 重庆交通大学 | 非接触式混凝土保塑性能智能化实时检测方法及装置 |
WO2022201968A1 (ja) * | 2021-03-26 | 2022-09-29 | コニカミノルタ株式会社 | 情報処理装置、制御プログラム、および制御方法 |
WO2022230338A1 (ja) * | 2021-04-27 | 2022-11-03 | 株式会社日立ハイテク | 欠陥を検出するシステム、及びコンピュータ可読媒体 |
WO2022244406A1 (ja) * | 2021-05-17 | 2022-11-24 | コニカミノルタ株式会社 | 信号処理装置、信号処理方法、及びプログラム |
WO2023074566A1 (ja) * | 2021-11-01 | 2023-05-04 | ブラザー工業株式会社 | コンピュータプログラム、および、データ処理装置 |
JP7142991B1 (ja) | 2022-01-18 | 2022-09-28 | 成都理工大学 | 棒状たばこ箱表面欠陥検出の方法及び装置 |
JP2023104829A (ja) * | 2022-01-18 | 2023-07-28 | 成都理工大学 | 棒状たばこ箱表面欠陥検出の方法及び装置 |
WO2024095434A1 (ja) * | 2022-11-04 | 2024-05-10 | 富士通株式会社 | 画像処理プログラム、画像処理方法、検出プログラム、検出方法、および情報処理装置 |
CN117078789A (zh) * | 2023-09-22 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、设备及介质 |
CN117078789B (zh) * | 2023-09-22 | 2024-01-02 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US11107210B2 (en) | 2021-08-31 |
US20200311895A1 (en) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020160616A (ja) | 生成装置、コンピュータプログラム、生成方法 | |
US7953250B2 (en) | Method and apparatus for red-eye detection in an acquired digital image | |
JP5389903B2 (ja) | 最適映像選択 | |
JP4452497B2 (ja) | ノイズを考慮してデジタルイメージを修正する方法およびシステム | |
US20060093238A1 (en) | Method and apparatus for red-eye detection in an acquired digital image using face recognition | |
US20200082508A1 (en) | Information processing method, information processing apparatus, and recording medium | |
US20060093212A1 (en) | Method and apparatus for red-eye detection in an acquired digital image | |
JP2002314817A (ja) | マスクを用いて写真画像の鮮鋭度を局部的に変更するための方法、装置、プログラムおよび記録媒体、並びに画像再生装置 | |
CN111047543A (zh) | 图像增强方法、装置和存储介质 | |
CN113658057A (zh) | 一种Swin Transformer微光图像增强方法 | |
JP5437414B2 (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
JP2020042760A (ja) | 情報処理方法、情報処理装置、及びプログラム | |
CA3153067A1 (en) | Picture-detecting method and apparatus | |
CN111489322A (zh) | 给静态图片加天空滤镜的方法及装置 | |
CN112839167B (zh) | 图像处理方法、装置、电子设备及计算机可读介质 | |
US11625886B2 (en) | Storage medium storing program, training method of machine learning model, and image generating apparatus | |
JP7160211B2 (ja) | 機械学習モデル、生成装置、コンピュータプログラム | |
JP4496005B2 (ja) | 画像処理方法および画像処理装置 | |
JP6564158B2 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
CN115147311A (zh) | 基于HSV与AM-RetinexNet图像增强方法 | |
CN114708621A (zh) | 水下海胆图像识别模型的训练方法、识别方法及装置 | |
CN116977190A (zh) | 图像处理方法、装置、设备、存储介质及程序产品 | |
Kumari et al. | Image fusion techniques based on pyramid decomposition | |
JP2015076676A (ja) | 画像処理装置、画像処理方法及びプログラム | |
US20240275903A1 (en) | Storage medium storing computer-readable instructions causing computer to execute image process on image data to generate output data related to defect in appearance of object |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230816 |