JP7160211B2 - 機械学習モデル、生成装置、コンピュータプログラム - Google Patents
機械学習モデル、生成装置、コンピュータプログラム Download PDFInfo
- Publication number
- JP7160211B2 JP7160211B2 JP2021548830A JP2021548830A JP7160211B2 JP 7160211 B2 JP7160211 B2 JP 7160211B2 JP 2021548830 A JP2021548830 A JP 2021548830A JP 2021548830 A JP2021548830 A JP 2021548830A JP 7160211 B2 JP7160211 B2 JP 7160211B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- input
- output
- data
- extraction unit
- 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.)
- Active
Links
- 238000010801 machine learning Methods 0.000 title claims description 59
- 238000004590 computer program Methods 0.000 title claims description 16
- 238000006073 displacement reaction Methods 0.000 claims description 141
- 238000000605 extraction Methods 0.000 claims description 106
- 238000000034 method Methods 0.000 claims description 70
- 238000011176 pooling Methods 0.000 claims description 67
- 230000008569 process Effects 0.000 claims description 63
- 238000012545 processing Methods 0.000 claims description 60
- 239000000284 extract Substances 0.000 claims description 41
- 238000012549 training Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000009499 grossing Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 11
- 230000004913 activation Effects 0.000 description 10
- 230000007547 defect Effects 0.000 description 9
- 239000002131 composite material Substances 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013434 data augmentation Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/10—Image acquisition modality
- G06T2207/10024—Color image
-
- 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/20172—Image enhancement details
- G06T2207/20192—Edge enhancement; Edge preservation
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Description
本明細書は、画像データを生成する機械学習モデルに関する。
近年、ニューラルネットワークやサポートベクタマシンなどの機械学習モデルの利用や開発が進んでいる。例えば、非特許文献1に開示された技術では、工業製品の異常検知に、Variational Autoencoder(VAE)と呼ばれるデータ生成モデルが用いられている。
立花亮介、松原崇、上原邦昭著、「深層生成モデルによる非正則化異常度を用いた工業製品の異常検知」 2018年度 人工知能学会全国大会(第32回)
VAEのように情報の圧縮によって特徴を抽出するモデルは、抽象化された特徴を抽出できる。しかし、情報の圧縮によって細かい特徴が失われる。このようなモデルを用いてオブジェクトを含む画像の画像データが生成される場合、生成される画像データは、オブジェクトの細かい形状を表すことが困難であった。このような課題は、情報の圧縮によって特徴を抽出するモデルに限らず、他の方法で特徴を抽出するモデルにも共通する課題であった。
本明細書は、細かい形状を有するオブジェクトを表す画像データを生成できる技術を開示する。
本明細書に開示された技術は、以下の適用例として実現することが可能である。
[適用例1]入力オブジェクトを含む入力画像の入力画像データに対応する出力画像データを生成するための学習済の機械学習モデルであって、前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、前記入力層は、前記入力オブジェクトのうち前記入力画像よりも小さい第1入力範囲に含まれる部分の形状の特徴を抽出する第1抽出部と、前記第1抽出部と並列に設けられた第2抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第1入力範囲よりも大きい第2入力範囲に含まれる部分の形状の特徴を抽出する前記第2抽出部と、前記第1抽出部から出力されるデータを用いて演算を実行することによって、前記第1抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する1以上の変位情報取得部と、前記第1抽出部から出力されるデータと、前記第2抽出部から出力されるデータと、前記1以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、を含む、機械学習モデル。
この構成によれば、第1抽出部は、比較的小さい第1入力範囲に含まれる部分の形状の特徴、すなわち、比較的細かい形状の特徴に対応するデータを出力し、第2抽出部は、比較的大きい第2入力範囲に含まれる部分の形状の特徴、すなわち、比較的粗い形状の特徴に対応するデータを出力する。そして、入力層では、それらのデータが加算されるので、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データを生成できる。さらに、変位情報取得部から出力されるデータ、すなわち、第1抽出部によって抽出される形状の特徴の入力画像内での位置の変位に関する変位情報に対応するデータが、加算されるので、比較的細かい形状の特徴の入力画像内での位置の変位に対して頑健性を向上できる。
[適用例2]適用例1に記載の機械学習モデルであって、前記出力層は、処理対象のデータのうち前記出力画像よりも小さい第1出力範囲に対応する部分を用いて形状の特徴を復元する第1復元部と、前記第1復元部と並列に設けられた第2復元部であって、前記処理対象のデータのうち前記出力画像よりも小さく前記第1出力範囲よりも大きい第2出力範囲に対応する部分を用いて形状の特徴を復元する前記第2復元部と、を含む、機械学習モデル。
この構成によれば、第1復元部は、処理対象のデータのうち比較的小さい第1出力範囲に対応する部分を用いて形状の特徴を復元する、すなわち、比較的細かい形状の特徴を復元し、第2復元部は、処理対象のデータのうち比較的大きい第2出力範囲に対応する部分を用いて形状の特徴を復元する、すなわち、比較的粗い形状の特徴を復元する。従って、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データを生成できる。
[適用例3]適用例1または2に記載の機械学習モデルであって、前記入力層は、畳込層である前記第1抽出部と、畳込層である前記第2抽出部と、プーリング層である前記変位情報取得部と、を含み、前記出力層は、プーリング層を含まずに、転置畳込層である前記第1復元部と、転置畳込層である前記第2復元部と、を含む、機械学習モデル。
入力層がプーリング層である変位情報取得部を含むので、出力層による演算に対する形状の特徴の入力画像内での位置の変位の影響は、緩和される。従って、プーリング層を含まずに、転置畳込層である第1復元部と、転置畳込層である第2復元部と、を含む出力層は、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データを生成できる。
[適用例4]適用例1から3のいずれかに記載の機械学習モデルであって、前記1以上の変位情報取得部は、前記入力画像よりも小さい第1変位範囲内での位置の変位に関する第1変位情報を取得する第1変位情報取得部と、前記第1変位情報取得部と並列に設けられた第2変位情報取得部であって前記入力画像よりも小さく前記第1変位範囲よりも大きい第2変位範囲内での位置の変位に関する第2変位情報を取得する前記第2変位情報取得部と、を含み、前記加算部は、前記第1抽出部から出力される前記データと、前記第2抽出部から出力される前記データと、前記第1変位情報取得部から出力されるデータと、前記第2変位情報取得部から出力されるデータと、を含む前記複数のデータを加算する、機械学習モデル。
この構成によれば、第1変位情報取得部は、比較的小さい第1変位範囲内での位置の変位、すなわち、比較的小さい位置の変位に関する第1変位情報を取得し、第2変位情報取得部は、比較的大きい第2変位範囲内での位置の変位、すなわち、比較的大きい位置の変位に関する第2変位情報を取得する。そして、入力層では、それらのデータが加算されるので、比較的小さい位置の変位と比較的大きい位置の変位とに対して頑健性を向上できる。
[適用例5]適用例1から4のいずれかに記載の機械学習モデルであって、前記入力層は、前記第1抽出部と前記第2抽出部とに並列に設けられた第3抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第2入力範囲よりも大きい第3入力範囲に含まれる部分の形状の特徴を抽出する前記第3抽出部を含み、前記加算部は、前記第1抽出部から出力される前記データと、前記第2抽出部から出力される前記データと、前記第3抽出部から出力されるデータと、前記1以上の変位情報取得部から出力される前記データと、を含む前記複数のデータを加算する、機械学習モデル。
この構成によれば、3種類の細かさに対応する3種類の形状の特徴が抽出され、3種類の特徴に対応する3種類のデータが加算されるので、3種類の細かさに対応する3種類の形状の特徴を有する出力オブジェクトを表す出力画像データを生成できる。
[適用例6]適用例1から5のいずれかに記載の機械学習モデルであって、前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、機械学習モデル。
この構成によれば、入力オブジェクトを含む入力画像の入力画像データを機械学習モデルに入力することによって、入力層によって抽出される形状の特徴に基づく出力オブジェクトであって基準オブジェクトとの差が小さいオブジェクトを含む出力画像の出力画像データを生成できる。
[適用例7]画像データを生成する生成装置であって、入力オブジェクトを含む入力画像の入力画像データを取得する取得部と、前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成部と、前記入力画像と前記出力画像データの出力画像との間の差を示す差分画像の差分画像データを生成する差分画像データ生成部と、を備え、前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、前記入力層は、前記入力オブジェクトのうち前記入力画像よりも小さい第1入力範囲に含まれる部分の形状の特徴を抽出する第1抽出部と、前記第1抽出部と並列に設けられた第2抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第1入力範囲よりも大きい第2入力範囲に含まれる部分の形状の特徴を抽出する前記第2抽出部と、前記第1抽出部から出力されるデータを用いて演算を実行することによって、前記第1抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する1以上の変位情報取得部と、前記第1抽出部から出力されるデータと、前記第2抽出部から出力されるデータと、前記1以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、を含み、前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、生成装置。
この構成によれば、入力オブジェクトを含む入力画像の入力画像データを機械学習モデルに入力することによって、入力層によって抽出される形状の特徴に基づく出力オブジェクトであって基準オブジェクトとの差が小さい出力オブジェクトを含む出力画像の出力画像データを生成できる。従って、入力オブジェクトと基準オブジェクトとの間の差を示す差分画像データを、生成できる。
[適用例8]適用例7に記載の生成装置であって、前記差分画像データ生成部は、前記入力画像データに平滑化処理を行うことによって平滑化された入力画像データを取得し、前記出力画像データに平滑化処理を行うことによって平滑化された出力画像データを取得し、前記平滑化された入力画像データと前記平滑化された出力画像データとを用いて前記差分画像データを生成する、生成装置。
この構成によれば、差分画像データに含まれるノイズを抑制できる。
[適用例9]適用例8に記載の生成装置であって、前記差分画像データ生成部は、前記平滑化された出力画像データの画像内のエッジ部分を抽出するエッジ抽出処理を行い、前記差分画像から前記エッジ部分とは異なる非エッジ部分を抽出する処理を前記差分画像データに行うことによって、前記差分画像データを修正する、生成装置。
入力画像と出力画像との間のオブジェクトの位置ずれに起因して、差分画像は、エッジを含み得る。上記構成によれば、修正済の差分画像データは、入力画像と出力画像との間の位置ずれに起因するエッジとは異なる差を適切に示すことができる。
[適用例10]画像データを生成するコンピュータのためのコンピュータプログラムであって、入力オブジェクトを含む入力画像の入力画像データを取得する取得機能と、前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成機能と、前記入力画像と前記出力画像データの出力画像との間の差を示す差分画像の差分画像データを生成する差分画像データ生成機能と、をコンピュータに実現させ、前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、前記入力層は、前記入力オブジェクトのうち前記入力画像よりも小さい第1入力範囲に含まれる部分の形状の特徴を抽出する第1抽出部と、前記第1抽出部と並列に設けられた第2抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第1入力範囲よりも大きい第2入力範囲に含まれる部分の形状の特徴を抽出する前記第2抽出部と、前記第1抽出部から出力されるデータを用いて演算を実行することによって、前記第1抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する1以上の変位情報取得部と、前記第1抽出部から出力されるデータと、前記第2抽出部から出力されるデータと、前記1以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、を含み、前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、コンピュータプログラム。
[適用例11]適用例10に記載のコンピュータプログラムであって、前記差分画像データ生成機能は、前記入力画像データに平滑化処理を行うことによって平滑化された入力画像データを取得し、前記出力画像データに平滑化処理を行うことによって平滑化された出力画像データを取得し、前記平滑化された入力画像データと前記平滑化された出力画像データとを用いて前記差分画像データを生成する、コンピュータプログラム。
[適用例12]適用例11に記載のコンピュータプログラムであって、前記差分画像データ生成機能は、前記平滑化された出力画像データの画像内のエッジ部分を抽出するエッジ抽出処理を行い、前記差分画像から前記エッジ部分とは異なる非エッジ部分を抽出する処理を前記差分画像データに行うことによって、前記差分画像データを修正する、コンピュータプログラム。
[適用例13]画像データを生成する生成装置であって、入力オブジェクトを含む入力画像の入力画像データを取得する取得部と、前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成部と、を備え、前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、前記入力層は、前記入力オブジェクトのうち前記入力画像よりも小さい第1入力範囲に含まれる部分の形状の特徴を抽出する第1抽出部と、前記第1抽出部と並列に設けられた第2抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第1入力範囲よりも大きい第2入力範囲に含まれる部分の形状の特徴を抽出する前記第2抽出部と、前記第1抽出部から出力されるデータを用いて演算を実行することによって、前記第1抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する1以上の変位情報取得部と、前記第1抽出部から出力されるデータと、前記第2抽出部から出力されるデータと、前記1以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、を含み、前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、生成装置。
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、機械学習モデルのトレーニング方法およびトレーニングを実行するトレーニング装置、学習済の機械学習モデルを用いる画像データの生成方法および生成装置、画像データを用いる判断方法および判断装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
A.第1実施例:
A1.装置構成:
図1は、実施例の画像処理システムを示す説明図である。画像処理システム1000は、製品700の外観の画像データを処理するためのシステムである。製品700は、任意の製品であってよく、予め決められている。本実施例では、製品700は、文字と図形などの種々のオブジェクトが印刷されたラベルシートである。以下、製品700を、ラベルシート700とも呼ぶ。
A1.装置構成:
図1は、実施例の画像処理システムを示す説明図である。画像処理システム1000は、製品700の外観の画像データを処理するためのシステムである。製品700は、任意の製品であってよく、予め決められている。本実施例では、製品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は、人工ニューラルネットワークのモデルであり、後述するトレーニング処理によってトレーニングされる機械学習モデルである(以下、「機械学習モデル234」、または、単に「学習モデル234」とも呼ぶ)。本実施例では、学習モデル234は、プログラムモジュールである。学習モデル234の詳細については、後述する。
プロセッサ210は、第1プログラム232と、第2プログラム233と、学習モデル234との実行に利用される種々の中間データを、記憶装置215(例えば、揮発性記憶装置220、不揮発性記憶装置230のいずれか)に、一時的に格納する。
表示部240は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示する装置である。操作部250は、表示部240上に重ねて配置されたタッチパネル、ボタン、レバーなどの、ユーザによる操作を受け取る装置である。ユーザは、操作部250を操作することによって、種々の指示をデータ処理装置200に入力可能である。通信インタフェース270は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。デジタルカメラ100は、通信インタフェース270に接続されている。
A2.学習モデルの構成:
図2は、学習モデル234の例の説明図である。本実施例では、学習モデル234の機能は、プロセッサ210がプログラムモジュールである学習モデル234を実行することによって、実現される。学習モデル234には、入力画像データ910が入力される。入力画像データ910は、ラベルシート700(図1)を光学的に読み取って得られる画像データであり、入力画像データ910によって表される入力画像910iは、ラベルシート700を表している。本実施例では、ラベルシート700には、図形701と文字列702とが印刷されている。
図2は、学習モデル234の例の説明図である。本実施例では、学習モデル234の機能は、プロセッサ210がプログラムモジュールである学習モデル234を実行することによって、実現される。学習モデル234には、入力画像データ910が入力される。入力画像データ910は、ラベルシート700(図1)を光学的に読み取って得られる画像データであり、入力画像データ910によって表される入力画像910iは、ラベルシート700を表している。本実施例では、ラベルシート700には、図形701と文字列702とが印刷されている。
学習モデル234は、入力画像データ910の入力画像910iの特徴を抽出し、抽出された特徴に基づいて入力画像910iを再構成することによって、出力画像940iを表す出力画像データ940を生成する。出力画像940iは、入力画像910iのラベルシート700から再構成されたラベルシート950を表している。出力画像940iのラベルシート950は、図形701に対応する図形951と、文字列702に対応する文字列952とを、有している。
入力画像910iと出力画像940iとは、第1方向D1に平行な2辺と、第1方向D1に垂直な第2方向D2に平行な2辺と、を有する矩形状の画像である。これらの画像910i、940iは、第1方向D1と第2方向D2とに沿ってマトリクス状に並ぶ複数の画素のそれぞれの色値によって、表されている。幅Wは、第1方向D1の画素数を示し、高さHは、第2方向D2の画素数を示している。本実施例では、入力画像データ910と出力画像データ940とは、複数の画素のそれぞれの色値を示すビットマップデータである。また、本実施例では、各画素の色値は、0から255までの256階調のR(赤)G(緑)B(青)の階調値で表されている。
なお、現実のラベルシート700は、オブジェクト(本実施例では、図形701や文字列702)の一部の欠けなどの欠陥を有し得る。本実施例では、学習モデル234は、入力画像910iのラベルシート700が欠陥を有する場合であっても、欠陥の無いラベルシートを表す出力画像データ940を生成するように、トレーニングされる(詳細は、後述)。
学習モデル234は、入力画像データ910が入力される入力層L10と、入力層L10からのデータを処理する中間層L20と、中間層L20からのデータを処理する出力層L30と、を備えている。
図3は、入力層L10の構成を示すブロック図である。入力層L10は、入力画像データ910を用いて、入力画像データ910の特徴(すなわち、入力画像910iの特徴)を示す特徴データ920を生成する。このような入力層L10は、エンコーダとも呼ばれる。本実施例では、入力層L10は、3個の畳込層311-313と、2個のプーリング層321、322と、加算部331と、を備えている。
3個の畳込層311-313には、それぞれ、入力画像データ910が入力される。畳込層311-313は、それぞれ、畳込処理(convolution)とバイアスの加算処理とを実行する。
第1畳込層311による畳込処理は、入力されたデータに対して「p1×q1×r」のサイズのs個の第1種入力フィルタFL11を適用して、入力されたデータと第1種入力フィルタFL11との相関を示す相関値を算出する処理である。値p1は、第1種入力フィルタFL11の第1方向D1のサイズ(画素数)を示し、値q1は、第1種入力フィルタFL11の第2方向D2のサイズ(画素数)を示し、値rは、色成分の数(本実施例では、3(RGB))を示している。1個の第1種入力フィルタFL11は、「p1×q1×r」個の重みを含んでいる。第1種入力フィルタFL11を適用する処理では、入力画像データ910から第1種入力フィルタFL11の位置に対応する部分の「p1×q1」個の画素のRGBの階調値、すなわち、「p1×q1×r」個の階調値のリストが取得される。取得されたリストと、第1種入力フィルタFL11の「p1×q1×r」個の重みのリストと、の内積が算出される。バイアスの加算処理は、内積に、1個の第1種入力フィルタFL11に対して1個ずつ準備されたバイアスを加算する処理である。「内積+バイアス」が、相関値を示している。相関値の算出は、第1種入力フィルタFL11をスライドさせながら、第1種入力フィルタFL11の複数の位置のそれぞれにおいて、行われる。1個の第1種入力フィルタFL11は、第1種入力フィルタFL11の複数の位置のそれぞれにおける相関値を示すビットマップデータ911を生成する。このビットマップデータ911によって表される画像911iを、特徴マップ、あるいは、畳込マップとも呼ぶ。畳込マップ911iの画素の位置は、第1種入力フィルタFL11の位置を示している。本実施例では、畳込マップ911iのサイズ(すなわち、第1方向D1の画素数と第2方向D2の画素数)が、入力画像910iのサイズ(すなわち、W×H)と同じとなるように、畳込処理が行われる。従って、ストライド(フィルタをスライドさせる量)は、1である。また、入力画像910iの周囲では、ゼロパディングによって、画素が補われる。
フィルタの総数sは、チャンネル数とも呼ばれる。s個の第1種入力フィルタFL11が用いられる場合、s個のビットマップデータ911が生成される。本実施例では、チャンネル数sは、8である。
畳込層311-313は、それぞれ、入力フィルタFL11-FL13を用いて、ビットマップデータ911-913を生成する。3種類の入力フィルタFL11-FL13の間では、サイズが異なっている。第2種入力フィルタFL12は、第1種入力フィルタFL11よりも大きく、第3種入力フィルタFL13は、第2種入力フィルタFL12よりも大きい。2枚のフィルタの間のサイズの比較は、以下のように行われる。第2フィルタが第1フィルタの全体を包含するように第2フィルタ上に第1フィルタを重ねた状態で、第2フィルタが第1フィルタに重ならない部分を含む場合、第2フィルタは第1フィルタよりも大きいと判断される。フィルタに限らず、画像とウィンドウなどの2次元の領域のサイズの比較についても、同様である。
本実施例では、第1種入力フィルタFL11のサイズは、p1×q1であり、第2種入力フィルタFL12のサイズは、p2×q2であり、第3種入力フィルタFL13のサイズは、p3×q3である。そして、p1<p2<p3であり、q1<q2<q3である。
例えば、p1=1、p2=2、p3=3であり、q1=1、q2=2、q3=3である。
畳込層311-313の間の差異は、フィルタのサイズが異なる点だけである。例えば、チャンネル数sは、3個の畳込層311-313に共通である。第2畳込層312は、s個のビットマップデータ912(すなわち、s枚の畳込マップ912i)を生成し、第3畳込層313は、s個のビットマップデータ913(すなわち、s枚の畳込マップ913i)を生成する。なお、いずれの入力フィルタFL11-FL13も、入力画像データ910の入力画像910iよりも小さい。入力フィルタFL11-FL13のサイズは、入力画像910iのサイズが大きいほど、大きい値に設定されてよい。
例えば、p1=1、p2=2、p3=3であり、q1=1、q2=2、q3=3である。
畳込層311-313の間の差異は、フィルタのサイズが異なる点だけである。例えば、チャンネル数sは、3個の畳込層311-313に共通である。第2畳込層312は、s個のビットマップデータ912(すなわち、s枚の畳込マップ912i)を生成し、第3畳込層313は、s個のビットマップデータ913(すなわち、s枚の畳込マップ913i)を生成する。なお、いずれの入力フィルタFL11-FL13も、入力画像データ910の入力画像910iよりも小さい。入力フィルタFL11-FL13のサイズは、入力画像910iのサイズが大きいほど、大きい値に設定されてよい。
畳込層311-313によって生成される畳込マップ911i-913iの各画素の値は、入力画像910iのオブジェクトのうちの入力フィルタFL11-FL13に含まれる部分の形状から、大きな影響を受ける。このように、畳込マップ911i-913iは、入力フィルタFL11-FL13に含まれる部分の形状の特徴を、示し得る。第1畳込マップ911iは、小サイズの第1種入力フィルタFL11に含まれる小サイズの部分の形状の特徴を示し得る。第2畳込マップ912iは、中サイズの第2種入力フィルタFL12に含まれる中サイズの部分の形状の特徴を示し得る。第3畳込マップ913iは、大サイズの第3種入力フィルタFL13に含まれる大サイズの部分の形状の特徴を示し得る。例えば、第1畳込層311は、点などの細かい形状の特徴を抽出でき、第2畳込層312は、直線の特徴を抽出でき、第3畳込層313は、曲線の特徴を抽出できる。このように、畳込層311-313は、入力画像910iのオブジェクトのうち入力フィルタFL11-FL13に含まれる部分の形状の特徴を抽出し得る。第1畳込マップ911iは、高い解像度の情報を抽出し得る。第2畳込マップ912iは、中間の解像度の情報を抽出し得る。第3畳込マップ913iは、低い解像度の情報を抽出し得る。なお、細かい形状の特徴を抽出できるとは、高い解像度の情報を抽出できると言い換えてもよい。また、粗い形状の特徴を抽出できるとは、低い解像度の情報を抽出できると言い換えてもよい。
2個のプーリング層321、322には、それぞれ、第1畳込層311からのs個のビットマップデータ911が入力される。プーリング層321、322は、ウィンドウに含まれる複数の画素の複数の値を用いて、代表値を決定する処理を実行する。本実施例では、プーリング層321、322は、それぞれ、いわゆるマックスプーリングを行う。
第1プーリング層321は、入力されたビットマップデータ911に対して「pa×qa」の第1ウィンドウWN21を適用する。値paは、第1ウィンドウWN21の第1方向D1のサイズ(画素数)を示し、値qaは、第1ウィンドウWN21の第2方向D2のサイズ(画素数)を示している。第1ウィンドウWN21を用いる最大値の選択は、第1ウィンドウWN21をスライドさせながら、第1ウィンドウWN21の複数の位置のそれぞれにおいて、行われる。第1プーリング層321は、第1ウィンドウWN21の複数の位置のそれぞれにおける最大値を示すビットマップデータ914を生成する。このビットマップデータ914によって表される画像914iを、特徴マップ、あるいは、プーリングマップとも呼ぶ。プーリングマップ914iの画素の位置は、第1ウィンドウWN21の位置を示している。本実施例では、出力されるプーリングマップ914iのサイズ(すなわち、第1方向D1の画素数と第2方向D2の画素数)が、入力された畳込マップ911iのサイズ(すなわち、入力画像910iのサイズであるW×H)と同じとなるように、マックスプーリングが行われる。従って、ストライド(ウィンドウをスライドさせる量)は、1である。また、入力される畳込マップ911iの周囲では、ゼロパディングによって、画素が補われる。
第1プーリング層321には、s個のビットマップデータ911が入力される。第1プーリング層321は、s個のビットマップデータ911から、s個のビットマップデータ914を生成する。
第2プーリング層322は、第2ウィンドウWN22を用いて、ビットマップデータ915を生成する。第2ウィンドウWN22は、第1ウィンドウWN21よりも大きい。具体的には、第1ウィンドウWN21のサイズは、pa×qaであり、第2ウィンドウWN22のサイズは、pb×qbである。そして、pa<pbであり、qa<qbである。例えば、pa=3、pb=5であり、qa=3、qb=5である。プーリング層321、322の間の差異は、ウィンドウのサイズが異なる点だけである。第2プーリング層322は、s個のビットマップデータ911(すなわち、s枚の畳込マップ911i)から、s個のビットマップデータ915(すなわち、s枚のプーリングマップ915i)を生成する。
上述したように、プーリング層321、322に入力される畳込マップ911iは、入力画像910iのオブジェクトの形状の特徴を示している。プーリング層321、322は、ウィンドウWN21、WN22内の代表的な値(本実施例では、最大値)を決定する。従って、畳込マップ911i内での特徴部分の位置の変位がウィンドウWN21、WN22の範囲内である場合、すなわち、入力画像910i内でのオブジェクトの特徴部分の位置の変位がウィンドウWN21、WN22の範囲内である場合、ウィンドウWN21、WN22からは、おおよそ同じ代表値が決定され得る。このように、プーリング層321、322は、ウィンドウWN21、WN22の範囲内での特徴部分の位置の変位を許容しつつ、第1畳込層311によって抽出された形状の特徴を、抽出できる。入力画像910i上での特徴部分の位置の変位がプーリングマップ914i、915iに与える影響は、位置の変位がウィンドウWN21、WN22の範囲内である場合には、緩和される。位置の変位がウィンドウWN21、WN22の範囲を超える場合には、プーリングマップ914i、915iは、位置の変位に応じて変化する。このように、プーリングマップ914i、915iは、第1畳込層311によって抽出される形状の特徴の入力画像910i内での位置の変位に関する情報を、示している。
加算部331は、畳込層311-313とプーリング層321、322とからの5個のビットマップデータ911-915を用いて、特徴データ920を生成する。特徴データ920は、入力されるマップ911i-915iと同じサイズのマップを表している(特徴マップ920iとも呼ぶ)。本実施例では、加算部331は、5枚のマップ911i-915iの同じ位置の5個の画素の5個の値の合計値を活性化関数に入力し、活性化関数の算出値を特徴マップ920iの同じ位置の画素の値として採用する。本実施例では、活性化関数としては、いわゆるReLU(Rectified Linear Unit)が用いられる。なお、加算部331は、5個のビットマップデータ911-915から1個の特徴データ920を生成する処理を、チャンネル毎に実行する。本実施例では、チャンネル数sが8であるので、加算部331は、8個の特徴データ920を生成する。s個の特徴データ920は、中間層L20(図2)へ供給される。
なお、第1畳込層311は、s個の第1種入力フィルタFL11の「p1×q1×r×s」個の重みと、s個の第1種入力フィルタFL11に対応するs個のバイアスと、を含む演算パラメータセット601を利用する。同様に、第2畳込層312は、s個の第2種入力フィルタFL12の「p1×q1×r×s」個の重みとs個のバイアスとを含む演算パラメータセット602を利用する。第3畳込層313は、s個の第3種出力フィルタFL33の「p1×q1×r×s」個の重みとs個のバイアスとを含む演算パラメータセット603を利用する。
図4は、中間層L20の構成を示すブロック図である。中間層L20は、s個の特徴データ920を用いて、出力用のs個の中間データ930を生成する。本実施例では、中間層L20は、第1変換部410と、第1全結合層415と、第2全結合層420と、第2変換部430と、を備えている。
1枚の特徴マップ920iは、「W×H」個の画素のそれぞれの値を示している(以下、特徴マップの画素に対応付けられた値を、特徴値とも呼ぶ)。s個の特徴データ920は、「W×H×s」個の特徴値を示している。後述する第1全結合層415は、「W×H×s」個の特徴値を、1次元ベクトルとして処理する。第1変換部410は、「W×H×s」個の特徴値と1次元ベクトルの要素との予め決められた対応関係に従って、「W×H×s」個の特徴値の参照順を、1次元ベクトルの要素の参照順に変換する。なお、第1変換部410が省略され、第1全結合層415が、上記対応関係に従って、「W×H×s」個の特徴値を参照してよい。
第1全結合層415は、一般的なニューラルネットワークで用いられる全結合層と同様の層である。本実施例では、第1全結合層415は、「W×H×s」個の特徴値を用いて、N個の特徴値を算出する。Nは、1以上の整数であってよく、2以上の整数であってよい。Nは、「W×H×s」と同じであってよく、「W×H×s」よりも小さい整数であってよい。また、Nは、「W×H×s」よりも大きい整数であってよい。N個の特徴値は、それぞれ、潜在変数とも呼ばれる(以下、潜在変数920zとも呼ぶ)。第1全結合層415は、入力された「W×H×s」個の特徴値で構成されるベクトルと「W×H×s」個の重みで構成される重みベクトルとの内積を算出する。算出される内積が、1個の特徴値として出力される。バイアスの加算と、活性化関数による演算は、省略される。重みベクトルは、N個の中間値のそれぞれに対して、別個に準備される。第1全結合層415は、N個の重みベクトル(すなわち、「W×H×s×N」個の重み)を含む演算パラメータセット608を利用する。
第2全結合層420は、一般的なニューラルネットワークで用いられる全結合層と同様の層である。本実施例では、第2全結合層420は、第1全結合層415からのN個の特徴値を用いて、「W×H×s」個の中間値を算出する。第2全結合層420は、入力されたN個の特徴値で構成されるベクトルとN個の重みで構成される重みベクトルとの内積に、バイアスを加えた値(内積+バイアス)を算出し、算出した値を活性化関数に入力する。活性化関数の算出値が、1個の中間値として用いられる。本実施例では、活性化関数としては、いわゆるReLUが用いられる。重みベクトルとバイアスとは、「W×H×s」個の中間値のそれぞれに対して、別個に準備される。第2全結合層420は、「W×H×s」個の重みベクトル(すなわち、「N×W×H×s」個の重み)と「W×H×s」個のバイアスと、を含む演算パラメータセット604を利用する。
後述する出力層L30(図2)は、「W×H×s」個の中間値を、s枚のマップとして処理する。1枚のマップは、「W×H」のサイズの画像と同様に、「W×H」個の画素の値によって表される。第2変換部430は、「W×H×s」個の中間値とs枚のマップの複数の画素との予め決められた対応関係に従って、「W×H×s」個の中間値の参照順を、s枚のマップの複数の画素の参照順に変換する。以下、s枚のマップのそれぞれを、中間マップ930iとも呼ぶ。また、中間マップ930iを示すデータを、中間データ930とも呼ぶ。中間層L20は、s個の中間データ930を生成する。s個の中間データ930は、出力層L30(図2)へ供給される。中間マップ930iの中間値は、潜在変数920zのN個の特徴値を用いて算出される。従って、中間値は、入力画像910iのオブジェクトの特徴を示している。なお、第2変換部430が省略され、出力層L30は、上記対応関係に従って、「W×H×s」個の中間値を参照してよい。
図5は、出力層L30の構成を示すブロック図である。出力層L30は、s個の中間データ930を用いて、オブジェクトの画像を示す出力画像データ940を生成する。このような出力層L30は、デコーダとも呼ばれる。本実施例では、出力層L30は、3個の転置畳込層511、512、513と、加算部520と、を備えている。
3個の転置畳込層511-513には、それぞれ、s個の中間データ930が入力される。転置畳込層511-513は、それぞれ、転置畳込(transposed convolution)とバイアスの加算処理とを実行する。転置畳込は、畳込処理によって抽出された特徴を復元する処理であり、例えば、入力されるマップを拡大する処理と、拡大されたマップを用いる畳込処理と、を含んでいる。このような転置畳込は、デコーダの一部として、利用されている。本実施例では、マップの拡大処理は省略される。そして、転置畳込層511-513は、畳込処理によって、s枚の中間マップ930iから、1枚の画像を生成する。
第1転置畳込層511による畳込処理は、入力されたs個の中間データ930に対して「p1×q1×s」のサイズの第1種出力フィルタFL31を適用して、入力されたデータと第1種出力フィルタFL31との相関を示す相関値を算出する処理である。値p1、q1は、第1種出力フィルタFL31のサイズであり、第1畳込層311(図3)の第1種入力フィルタFL11のサイズと同じである。後述するように、第1転置畳込層511は、r個の第1種出力フィルタFL31を利用する。1個の第1種出力フィルタFL31は、「p1×q1×s」個の重みを含んでいる。第1種出力フィルタFL31を適用する処理では、s個の中間データ930のそれぞれから第1種出力フィルタFL31の位置に対応する部分の「p1×q1」個の画素の中間値、すなわち、「p1×q1×s」個の中間値のリストが取得される。取得されたリストと、第1種出力フィルタFL31の「p1×q1×s」個の重みのリストと、の内積が算出される。バイアスの加算処理は、内積に、1個の第1種出力フィルタFL31に対して1個ずつ準備されたバイアスを加算する処理である。「内積+バイアス」が、相関値を示している。相関値の算出は、第1種出力フィルタFL31をスライドさせながら、第1種出力フィルタFL31の複数の位置のそれぞれにおいて、行われる。1個の第1種出力フィルタFL31は、第1種出力フィルタFL31の複数の位置のそれぞれにおける相関値を示すビットマップデータ931を生成する。後述するように、相関値としては、第1種出力フィルタFL31に対応する複数の画素の中間値によって示される特徴を復元する値が、算出される。以下、ビットマップデータ931によって表される画像931iを、部分復元画像とも呼ぶ。部分復元画像931iの画素の位置は、第1種出力フィルタFL31の位置を示している。本実施例では、部分復元画像931iのサイズ(すなわち、第1方向D1の画素数と第2方向D2の画素数)が、中間マップ930iのサイズ(すなわち、W×H)と同じとなるように、畳込処理が行われる。従って、ストライド(フィルタをスライドさせる量)は、1である。また、中間マップ930iの周囲では、ゼロパディングによって、画素が補われる。
本実施例では、部分復元画像931iの1個の画素には、入力画像910iの画素と同様に、r個の色成分の階調値が対応付けられる。本実施例では、値rは3であり、1個の画素には、RGBの3個の階調値が対応付けられる。第1転置畳込層511は、r個の第1種出力フィルタFL31を用いることによって、画素毎にr個の値を算出する。第1転置畳込層511によって生成されるビットマップデータ931は、r色のビットマップデータである。
転置畳込層511-513は、それぞれ、出力フィルタFL31-FL33を用いて、ビットマップデータ931-933を生成する。3種類の出力フィルタFL31-FL33の間では、サイズが異なっている。第2種出力フィルタFL32のサイズは、第2種入力フィルタFL12のサイズ(p2×q2)と同じであり、第3種出力フィルタFL33のサイズは、第3種入力フィルタFL13のサイズ(p3×q3)と同じである。転置畳込層511-513の間の差異は、フィルタのサイズが異なる点だけである。第2転置畳込層512は、1個のr色のビットマップデータ932(すなわち、1枚のr色の部分復元画像932i)を生成し、第3転置畳込層513は、1個のr色のビットマップデータ933(すなわち、1枚のr色の部分復元画像933i)を生成する。なお、いずれの出力フィルタFL31-FL33も、出力画像データ940の出力画像940iよりも小さい。
転置畳込層511-513によって生成される部分復元画像931i-933iの各画素の値は、中間マップ930iのうちの出力フィルタFL31-FL33に含まれる部分の中間値から、大きな影響を受ける。図4で説明したように、中間マップ930iの中間値は、入力画像910iのオブジェクトの特徴(形状の特徴を含む)を示している。従って、部分復元画像931i-931iは、出力フィルタFL31-FL33に対応する部分によって示される形状の特徴を、示し得る。第1部分復元画像931iは、小サイズの第1種出力フィルタFL31に対応する部分によって示される小サイズの形状の特徴を示し得る。第2部分復元画像932iは、中サイズの第2種出力フィルタFL32に対応する部分によって示される中サイズの形状の特徴を示し得る。第3部分復元画像933iは、大サイズの第3種出力フィルタFL33に対応する部分によって示される大サイズの形状の特徴を示し得る。例えば、第1転置畳込層511は、点などの細かい形状の特徴を復元でき、第2転置畳込層512は、直線の特徴を復元でき、第3転置畳込層513は、曲線の特徴を復元できる。このように、転置畳込層511-513は、中間データ930のうち出力フィルタFL31-FL33に対応する部分を用いて形状の特徴を復元し得る。第1部分復元画像931iは、高い解像度の情報を復元し得る。第2部分復元画像932iは、中間の解像度の情報を復元し得る。第3部分復元画像933iは、低い解像度の情報を復元し得る。なお、細かい形状の特徴を復元できるとは、高い解像度の情報を復元できると言い換えてもよい。また、粗い形状の特徴を復元できるとは、低い解像度の情報を復元できると言い換えてもよい。
加算部520は、転置畳込層511-513からの3個のビットマップデータ931-933を用いて、出力画像データ940を生成する。出力画像データ940は、入力される部分復元画像931i-932iと同じサイズの出力画像940iを表している。本実施例では、加算部520は、3枚の部分復元画像931i-933iの同じ位置の3個の画素の3個の値の合計値を活性化関数に入力し、活性化関数の算出値を出力画像940iの同じ位置の画素の値として採用する。本実施例では、活性化関数としては、いわゆるシグモイド関数が用いられる。なお、加算部520は、画素の値の算出を、r個の色成分毎に行う。本実施例では、3枚の部分復元画像931i-933iの同じ位置の3個の画素の3個の赤Rの階調値を用いて、出力画像940iの同じ位置の画素の赤Rの階調値が算出される。緑Gの階調値と青Bの階調値も、同様に、算出される。生成される出力画像940iは、復元された種々のサイズの形状の特徴、すなわち、ラベルシートを、示し得る。
なお、第1転置畳込層511は、r個の第1種出力フィルタFL31の「p1×q1×s×r」個の重みと、r個の第1種出力フィルタFL31に対応するr個のバイアスと、を含む演算パラメータセット605を利用する。同様に、第2転置畳込層512は、r個の第2種出力フィルタFL32の「p1×q1×s×r」個の重みとr個のバイアスとを含む演算パラメータセット606を利用する。第3転置畳込層513は、r個の第3種出力フィルタFL33の「p1×q1×s×r」個の重みとr個のバイアスとを含む演算パラメータセット607を利用する。
A3.トレーニング処理:
図6は、学習モデル234を生成するためのトレーニング処理の例を示すフローチャートである。本実施例では、学習モデル234は、ラベルシート700の画像データが入力された場合に、欠陥の無いラベルシートの画像データが生成されるように、トレーニングされる。トレーニングによって、上記の演算パラメータセット601-608(図3-図5)を含む複数の演算パラメータが、調整される。トレーニングは、データ処理装置200(図1)によって、実行される。本実施例では、プロセッサ210は、第1プログラム232に従って、トレーニングの処理を実行する。
図6は、学習モデル234を生成するためのトレーニング処理の例を示すフローチャートである。本実施例では、学習モデル234は、ラベルシート700の画像データが入力された場合に、欠陥の無いラベルシートの画像データが生成されるように、トレーニングされる。トレーニングによって、上記の演算パラメータセット601-608(図3-図5)を含む複数の演算パラメータが、調整される。トレーニングは、データ処理装置200(図1)によって、実行される。本実施例では、プロセッサ210は、第1プログラム232に従って、トレーニングの処理を実行する。
S110では、プロセッサ210は、学習モデル234の複数個の演算パラメータ(演算パラメータセット601-608を含む)を初期化する。例えば、各演算パラメータは、乱数値に設定される。
S115では、プロセッサ210は、基準画像データを取得する。基準画像データは、欠陥の無いラベルシート(基準ラベルシートとも呼ぶ)の画像データである。図7(A)は、基準ラベルシート800の説明図である。基準ラベルシート800には、図形801と文字列802とが、印刷されている。図7(B)は、基準画像データの例の説明図である。基準画像データ810は、基準ラベルシート800を撮影して得られる画像データである。本実施例では、作業者は、デジタルカメラ100(図1)の撮影領域内に、基準ラベルシート800を配置する。そして、プロセッサ210は、デジタルカメラ100に、撮影指示を供給する。デジタルカメラ100は、指示に応じて、基準ラベルシート800を撮影し、基準画像データを生成する。プロセッサ210は、デジタルカメラ100から、基準画像データを取得し、基準画像データを不揮発性記憶装置230に格納する。なお、プロセッサ210は、デジタルカメラ100から取得した画像データのうち基準ラベルシート800を示す部分を切り出すクロップ処理を実行して、基準画像データ810を取得してもよい。
S120では、プロセッサ210は、基準画像データ810を用いて複数の学習入力画像データを生成し、生成した複数の学習入力画像データを不揮発性記憶装置230に格納する。本実施例では、複数の学習入力画像データは、基準画像810i内の基準ラベルシート800の位置または向きを変更することによって、生成される。複数の学習入力画像データの間では、移動方向と、移動量と、回転方向と、回転角度と、の4個のパラメータのうち1以上のパラメータが、互いに異なっている。これらのパラメータは、ラベルシートを光学的に読み取ることによってラベルシートの画像データを取得する場合に生じ得るずれ量の範囲内で、変更される。このように、既存の画像データを加工することによって複数の学習用の画像データを生成する処理は「data augmentation」とも呼ばれる。なお、位置または向きの変更に限らず、色が変更されてよく、ノイズが付加されてよく、平滑化処理が行われてもよい。いずれの場合も、複数の学習入力画像データは、欠陥の無い基準ラベルシート800を表している。
S130では、プロセッサ210は、複数の学習入力画像データからV個(Vは1以上の整数)の学習入力画像データを選択し、V個の学習入力画像データを学習モデル234に入力し、V個の出力画像データを生成する。なお、V個の学習入力画像データとしては、複数の学習入力画像データのうちの未使用の学習入力画像データが選択されてよい。また、複数の学習入力画像データからランダムにV個の学習入力画像データが選択されてもよい。
S135では、プロセッサ210は、学習モデル234に入力されたV個の学習入力画像データのそれぞれについて、学習入力画像データと、学習入力画像データに対応する出力画像データと、の間の差分を示す誤差値を算出する。誤差値は、予め決められた損失関数に基づいて算出される。例えば、誤差値の算出には、平均二乗誤差(MSE(Mean Squared Error))が用いられる。誤差値は、学習入力画像データと出力画像データとの差分が小さくなるほど小さくなる。
S140では、プロセッサ210は、V個の誤差値を用いて、学習モデル234の複数の演算パラメータ(演算パラメータセット601-608を含む)を調整する。具体的には、プロセッサ210は、誤差値が小さくなるように、すなわち、学習入力画像データと出力画像データとの差分が小さくなるように、予め決められたアルゴリズムに従って、複数の演算パラメータを調整する。アルゴリズムとしては、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズムが用いられる。
S150では、プロセッサ210は、トレーニングが完了したか否かを判断する。トレーニング完了の条件は、例えば、S135で算出された全ての誤差値が予め決められた誤差閾値よりも小さいことであってよい。これに代えて、トレーニング完了の条件は、作業者からの完了指示が入力されたことであってよい。作業者は、出力画像データによって表される画像が、対応する学習入力画像データによって表される画像を十分に再現できているか否かを確認する。作業者は、確認結果に応じて、操作部250を介して、トレーニングの完了指示または継続指示を入力する。また、トレーニング完了の条件は、S130-S140の処理が実行された回数が予め決められた回数閾値以上であることであってよい。
トレーニングが完了していないと判断される場合(S150:No)、プロセッサ210は、S130へ移行する。トレーニングが完了したと判断される場合(S150:Yes)、S160で、調整済の演算パラメータを有する学習モデル234(すなわち、学習済の学習モデル234)を、不揮発性記憶装置230に格納する。そして、図6の処理が終了する。学習済の学習モデル234は、後述する差分データ生成処理で、利用される。
学習済の学習モデル234は、調整済のパラメータを用いて処理を実行するようにコンピュータを機能させるように、構成されている。図2-図5で説明したように、学習モデル234は、入力された画像のオブジェクト(ここでは、ラベルシートの図形と文字列)の特徴(形状の特徴を含む)を抽出し、抽出された特徴に基づいてオブジェクトの画像を復元する。図7(C)は、学習済の学習モデル234によって生成される出力画像データの例の説明図である。この出力画像データ840は、図7(B)の画像データ810が学習済の学習モデル234に入力されることによって生成される画像データの例を示している。出力画像データ840の出力画像840iは、図7(B)の画像810iの基準ラベルシート800とほとんど同じラベルシート800(図形801と文字列802を含む)を表している。上述したように、学習モデル234は、欠陥の無いオブジェクトの学習入力画像データを用いてトレーニングされる。この場合、学習済の学習モデル234は、入力画像のオブジェクトが欠陥を有するか否かに関わらず、欠陥の無いオブジェクトを表す出力画像データを生成する。
A4.差分データ生成処理:
図8は、差分データ生成処理の例を示すフローチャートである。差分データは、ラベルシートのサンプルが欠陥を有するか否かを判断するために、利用可能である。差分データの生成は、データ処理装置200(図1)によって、実行される。本実施例では、プロセッサ210は、第2プログラム233に従って、差分データの生成処理を実行する。
図8は、差分データ生成処理の例を示すフローチャートである。差分データは、ラベルシートのサンプルが欠陥を有するか否かを判断するために、利用可能である。差分データの生成は、データ処理装置200(図1)によって、実行される。本実施例では、プロセッサ210は、第2プログラム233に従って、差分データの生成処理を実行する。
S210では、プロセッサ210は、ラベルシートのサンプルの画像データである対象入力画像データを取得し、取得した対象入力画像データを記憶装置215(例えば、不揮発性記憶装置230)に格納する。対象入力画像データ710の取得は、図6のS115の処理と同様に、デジタルカメラ100を用いて行われる。
図9は、画像処理の説明図である。図中には、差分データ生成処理で処理される複数の画像710i、740i、710bi、740bi、760di、740ei、770i、770bi、780iの例が示されている。これらの画像は、図中の上から下に向かって、処理の順番に配置されている。
図9の左上には、対象入力画像データ710の対象入力画像710iが示されている。
対象入力画像710iは、欠陥を有するラベルシート700xを表している(入力ラベルシート700xとも呼ぶ)。具体的には、ラベルシート700xは、図形701の一部の欠け701xと、文字列702の一部の欠け702xと、を有している。また、対象入力画像710iは、ノイズ710nを含んでいる。ノイズ710nは、デジタルカメラ100におけるデータ処理などの種々の原因によって、生じ得る。
対象入力画像710iは、欠陥を有するラベルシート700xを表している(入力ラベルシート700xとも呼ぶ)。具体的には、ラベルシート700xは、図形701の一部の欠け701xと、文字列702の一部の欠け702xと、を有している。また、対象入力画像710iは、ノイズ710nを含んでいる。ノイズ710nは、デジタルカメラ100におけるデータ処理などの種々の原因によって、生じ得る。
S220(図8)では、プロセッサ210は、対象入力画像データを、学習済の学習モデル234に入力することによって、対象出力画像データを生成する。図9の右上には、対象出力画像データ740の対象出力画像740iが示されている。対象出力画像740iは、欠陥の無いラベルシート750を表している(出力ラベルシート750とも呼ぶ)。対象出力画像740i内の出力ラベルシート750の位置と向きとは、対象入力画像710i内の入力ラベルシート700xの位置と向きとおおよそ同じである。出力ラベルシート750の図形751と文字列752は、基準ラベルシート800(図7(A))の図形801と文字列802と、おおよそ同じである。対象出力画像740iは、ノイズ740nを含んでいる。ノイズ740nは、学習モデル234による演算などの種々の原因によって、生じ得る。
S230(図8)では、プロセッサ210は、対象入力画像データと対象出力画像データとに平滑化処理を行い、平滑入力画像データと平滑出力画像データとを生成する(平滑化処理は、ぼかし処理とも呼ばれる)。本実施例では、平滑化処理は、平均値フィルタを用いる処理である。図9の上から2段目には、平滑入力画像データ710bの平滑入力画像710biと、平滑出力画像データ740bの平滑出力画像740biとが、示されている。図示するように、ノイズ710n、740nが、除去されている。なお、平滑化フィルタは、中央値フィルタ、ガウシアンフィルタなどの他の種々のフィルタであってよい。また、平滑化処理は、平滑化フィルタを用いる処理に限らず、画像上の位置の変化に対する画素の色値(画素値とも呼ぶ)の変化を緩やかにする種々の処理であってよい。
S240(図8)では、プロセッサ210は、平滑出力画像データにエッジ抽出処理を行い、エッジ画像データを生成する。本実施例では、プロセッサ210は、画素値(RGB値)から輝度値を算出し、輝度値に対して公知のsobelフィルタを適用して、各画素のエッジ量を算出する。そして、プロセッサ210は、予め決められた閾値よりも大きいエッジ量を有する画素を、エッジ画素として抽出する。図9の上から3段目の右側には、エッジ画像データ740eのエッジ画像740eiが示されている。エッジ画像740eiは、出力ラベルシート750のエッジ部分750e(例えば、輪郭)と、図形751のエッジ部分751e(例えば、輪郭や図形のパターンなど)と、文字列752のエッジ部分752e(例えば、輪郭)と、を表している。本実施例では、エッジ画像データ740eは、2値のビットマップデータである。ゼロの画素値はエッジ画素を示し、1の画素値は非エッジ画素を示している。なお、エッジ抽出フィルタは、Prewittフィルタ、Robertsフィルタなどの他の種々のフィルタであってよい。また、エッジ抽出処理は、エッジ抽出フィルタを用いる処理に限らず、画像上の位置の変化に対する画素値の変化が急である部分の画素を抽出する種々の処理であってよい。
S250(図8)では、プロセッサ210は、平滑入力画像データと平滑出力画像データの間の差分を示す差分画像データを生成する。本実施例では、差分画像データは、平滑入力画像710biと平滑出力画像740biとの間の差分を示す差分画像を表している。プロセッサ210は、平滑入力画像710bと平滑出力画像740biとの同じ位置の2個の画素の2個の色値の差分を、差分画像の同じ位置の画素の色値として採用する。具体的には、差分画像の画素値は、平滑入力画像データのRGBの画素値から算出される輝度値と、平滑出力画像データのRGBの画素値から算出される輝度値と、の差分の絶対値に設定される。差分画像のゼロの画素値は、2個の画像データの間の差がゼロであることを示している。そして、差分画像の画素値が大きいほど、2個の画像データの間の差が大きい。図9の上から3段目の左側には、差分画像データ760dの差分画像760diが示されている。上述したように、平滑入力画像710biは、図形701の欠け701xと文字列702の欠け702xとを有している。一方、平滑出力画像740biは、そのような欠けを有していない。従って、差分画像760diは、図形701の欠け701xに対応する欠け部分701zと、文字列702の欠け702xに対応する欠け部分702zと、を示している。また、平滑入力画像710biと平滑出力画像740biとの間では、画像内のラベルシート700、750の位置に差が生じ得る。従って、差分画像760diは、ラベルシートのエッジ部分700dと、図形のエッジ部分701dと、文字列のエッジ部分702dと、を表し得る。なお、差分画像の画素値は、他の色成分で表されてもよい。例えば、差分画像の画素値は、赤Rの差分の絶対値と、緑Gの差分の絶対値と、青Bの差分の絶対値と、の3色の階調値を示してよい。
S260(図8)では、プロセッサ210は、エッジ画像データ740eを用いて差分画像データ760dを修正する。具体的には、差分画像760diからエッジ部分とは異なる非エッジ部分を抽出する処理を実行する。本実施例では、プロセッサ210は、エッジ画像データ740eを参照し、差分画像データ760dのうちエッジ部分の画素値をゼロに設定することによって、修正済差分画像データを生成する。図9の上から4段目の左側には、修正済差分画像データ770の修正済差分画像770iが示されている。修正済差分画像770iは、欠け部分701z、702zを示している。差分画像760diに含まれていたエッジ部分700d、701d、702dは、削除されている。なお、本実施例では、エッジ画像データ740eのゼロの画素値はエッジ画素を示し、1の画素値は非エッジ画素を示している。従って、プロセッサ210は、差分画像データ760dの画素の画素値に、エッジ画像データ740eの同じ位置の画素の画素値を乗じることによって、修正済差分画像データ770を生成できる。
S270(図8)では、プロセッサ210は、修正済差分画像データ770を二値化して、二値差分画像データを生成する。本実施例では、プロセッサ210は、修正済差分画像データ770の画素値と、予め決められた二値化閾値と、を比較することによって、二値化を行う。図9の最下段の左側には、二値差分画像データ770bの二値差分画像770biが示されている。二値差分画像770biは、修正済差分画像データ770の欠け部分701z、702zに対応する差異部分701zb、702zbを示している。なお、二値化の方法は、大きい値と小さい値とを判別する種々の方法であってよい。例えば、いわゆる大津の二値化が採用されてよい。
S280(図8)では、プロセッサ210は、対象出力画像データ740と二値差分画像データ770bとを合成して、合成画像データを生成する。本実施例では、プロセッサ210は、対象出力画像のうちの差異部分の色を、予め決められた特定色(例えば、白、赤など)に変更することによって、合成画像データを生成する。図9の最下段に右側には、合成画像データ780の合成画像780iが示されている。出力ラベルシート750のうち差異部分701zb、702zbが、特定色で示されている。
S290(図8)では、プロセッサ210は、対象入力画像と対象出力画像との間の差異部分を示す画像データを、記憶装置215(例えば、不揮発性記憶装置230)に格納する。本実施例では、差分画像データ(S250)と、修正済差分画像データ(S260)と、二値差分画像データ(S270)と、合成画像データ(S280)とが、差異部分を示している。これら4個の画像データは、いずれも、差分画像データ(S250)を用いて得られる画像データである。S290で記憶装置に格納される画像データは、上記の4個の画像データから任意に選択された1個以上の画像データであってよい。本実施例では、プロセッサ210は、二値差分画像データと合成画像データとを、不揮発性記憶装置230に格納する。
以上により、図8の処理が終了する。S290で記憶装置に格納された画像データは、種々の処理で利用可能である。例えば、プロセッサ210は、合成画像780i(図9)を表示部240に表示してよい。合成画像780iの観察者は、差異部分701zb、702zb(特に位置と形状)を容易に特定できる。また、プロセッサ210は、二値差分画像データ770bを解析することによって、入力ラベルシート700xが欠陥を有するか否かを判断してもよい。例えば、1個の連続な差異部分の大きさ(例えば、画素数)が予め決められた閾値以上である場合に、入力ラベルシートが欠陥を有すると判断されてよい。
以上のように、図2の学習モデル234は、ラベルシート700を含む入力画像910iの入力画像データ910に対応する出力画像データ940を生成する機械学習モデルである。そして、図8の処理では、学習済の学習モデル234が用いられる。図2-図5で説明したように、学習モデル234は、入力画像データ910に対する複数個の演算パラメータ(演算パラメータセット601-608を含む)を用いる演算を実行するモデルである。図3で説明したように、学習モデル234に基づく演算によって、入力画像データ910の入力画像910iに含まれる入力オブジェクト(本実施例では、ラベルシート700の図形701と文字列702など)の形状の特徴が抽出される。そして、図4、図5で説明したように、学習モデル234に基づく演算によって、抽出される形状の特徴に基づく出力オブジェクト(本実施例では、ラベルシート950)を含む出力画像940iの出力画像データ940が生成される。
図2に示すように、学習モデル234は、入力画像データ910を用いる演算を実行する入力層L10と、入力層L10よりも下流側に設けられ出力画像データ940を生成する出力層L30と、を備えている。
図3に示すように、入力層L10は、畳込層311-313とプーリング層321、322と、加算部331と、を備えている。第1畳込層311は、入力画像910iのオブジェクトである入力オブジェクト(図形701、文字列702など)のうち入力画像910iよりも小さい第1種入力フィルタFL11の範囲に含まれる部分の形状の特徴を抽出する第1抽出部の例である。第2畳込層312は、第1畳込層311と並列に設けられている。第2畳込層312は、入力オブジェクトのうち入力画像910iよりも小さく第1種入力フィルタFL11の範囲よりも大きい第2種入力フィルタFL12の範囲に含まれる部分の形状の特徴を抽出する第2抽出部の例である。
プーリング層321、322は、第1畳込層311から出力されるデータを用いて演算を実行することによって、プーリングマップ914i、915iのビットマップデータ914、915を生成する。図3で説明したように、プーリングマップ914i、915iは、第1畳込層311によって抽出される形状の特徴の入力画像910i内での位置の変位から、影響を受け得る。位置の変位がウィンドウWN21、WN22の範囲内である場合、影響は緩和される。位置の変位がウィンドウWN21、WN22の範囲を超える場合、プーリングマップ914i、915iは、位置の変位に応じて変化し得る。このように、プーリングマップ914i、915iは、位置の変位に関する変位情報の例である。そして、プーリング層321、322は、変位情報を取得する変位情報取得部の例である。
加算部331は、第1畳込層311から出力されるデータと、第2畳込層312から出力されるデータと、プーリング層321、322から出力されるデータと、を含む複数のデータを加算する。
以上の構成によれば、第1畳込層311は、比較的細かい形状の特徴に対応するデータを出力し、第2畳込層312は、比較的粗い形状の特徴に対応するデータを出力する。例えば、第1畳込層311は、細かい形状の特徴を抽出でき、第2畳込層312は、線の特徴を抽出できる。そして、入力層L10の加算部331は、それらのデータを加算する。
従って、学習モデル234は、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データ940を生成できる。仮に、入力層において、互いに異なるサイズのフィルタを用いる複数の畳込層が並列に設けられるのではなく、複数の処理層(例えば、複数の畳込層)が直列に接続されると仮定する。この場合、比較的粗い形状の特徴は抽出され得るが、比較的細かい形状の特徴の抽出は、困難である。上記構成によれば、そのような不具合を抑制できる。
従って、学習モデル234は、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データ940を生成できる。仮に、入力層において、互いに異なるサイズのフィルタを用いる複数の畳込層が並列に設けられるのではなく、複数の処理層(例えば、複数の畳込層)が直列に接続されると仮定する。この場合、比較的粗い形状の特徴は抽出され得るが、比較的細かい形状の特徴の抽出は、困難である。上記構成によれば、そのような不具合を抑制できる。
また、加算部331による加算の対象は、プーリング層321、322から出力されるデータを含んでいる。プーリング層321、322は、第1畳込層311からの比較的細かい形状の特徴に対応するデータを用いて、ビットマップデータ914、915を生成する。プーリング層321、322から出力されるデータ914、915に関しては、ウィンドウWN21、WN22の範囲内の位置の変位の影響が緩和される。従って、比較的細かい形状の特徴の入力画像内での位置の変位に対して、頑健性を向上できる。
また、図5で説明したように、出力層L30は、転置畳込層511-513と、加算部520と、を備えている。第1転置畳込層511は、処理対象の中間データ930のうち、出力画像940iよりも小さい第1種出力フィルタFL31の範囲に対応する部分を用いて、形状の特徴を復元する第1復元部の例である。第2転置畳込層512は、第1転置畳込層511と並列に設けられている。第2転置畳込層512は、処理対象の中間データ930のうち、出力画像940iよりも小さく第1種出力フィルタFL31の範囲よりも大きい第2種出力フィルタFL32の範囲に対応する部分を用いて形状の特徴を復元する第2復元部の例である。
第1転置畳込層511は、比較的細かい形状の特徴を復元し、第2転置畳込層512は、比較的粗い形状の特徴を復元する。従って、学習モデル234は、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データ940を生成できる。
また、上述したように、入力層L10は、第1抽出部の例である第1畳込層311と、第2抽出部の例である第2畳込層312と、変位情報取得部の例であるプーリング層321、322と、を含んでいる。また、出力層L30は、プーリング層を含まずに、第1復元部の例である第1転置畳込層511と、第2復元部の例である第2転置畳込層512と、を含んでいる。入力層L10がプーリング層321、322を含むので、出力層L30による演算に対する形状の特徴の入力画像910i内での位置の変位の影響は、緩和される。従って、プーリング層を含まずに第1転置畳込層511と第2転置畳込層512とを含む出力層L30は、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データ940を生成できる。
また、図3で説明したように、入力層L10は、第1プーリング層321と第2プーリング層322とを備えている。第1プーリング層321は、入力画像910iよりも小さい第1ウィンドウWN21の範囲内での位置の変位に関するビットマップデータ914を取得する第1変位情報取得部の例である。第2プーリング層322は、第1プーリング層321と並列に設けられている。第2プーリング層322は、入力画像910iよりも小さく第1ウィンドウWN21の範囲よりも大きい第2ウィンドウWN22の範囲内での位置の変位に関するビットマップデータ915を取得する第2変位情報取得部の例である。
そして、加算部331は、第1畳込層311と第2畳込層312と第1プーリング層321と第2プーリング層322とのそれぞれから出力されるデータを含む複数のデータを加算する。この構成では、第1プーリング層321は、比較的小さい位置の変位に関する第1ビットマップデータ914を取得し、第2プーリング層322は、比較的大きい位置の変位に関する第2ビットマップデータ915を取得する。そして、入力層L10の加算部331は、それらのデータを加算するので、比較的小さい位置の変位と比較的大きい位置の変位とに対して、頑健性を向上できる。
そして、加算部331は、第1畳込層311と第2畳込層312と第1プーリング層321と第2プーリング層322とのそれぞれから出力されるデータを含む複数のデータを加算する。この構成では、第1プーリング層321は、比較的小さい位置の変位に関する第1ビットマップデータ914を取得し、第2プーリング層322は、比較的大きい位置の変位に関する第2ビットマップデータ915を取得する。そして、入力層L10の加算部331は、それらのデータを加算するので、比較的小さい位置の変位と比較的大きい位置の変位とに対して、頑健性を向上できる。
また、入力層L10(図3)は、第1畳込層311と第2畳込層312とに並列に設けられた第3畳込層313を備えている。第3畳込層313は、入力オブジェクトのうち入力画像910iよりも小さく第2種入力フィルタFL12の範囲よりも大きい第3種入力フィルタFL13の範囲に含まれる部分の形状の特徴を抽出する第3抽出部の例である。
そして、加算部331は、第1畳込層311と第2畳込層312と第3畳込層313と第1プーリング層321と第2プーリング層322とのそれぞれから出力されるデータを含む複数のデータを加算する。このように、3種類の細かさに対応する3種類の形状の特徴が抽出され、3種類の特徴に対応する3種類のデータが加算されるので、3種類の細かさに対応する3種類の形状の特徴を有する出力オブジェクトを表す出力画像データ940を生成できる。
そして、加算部331は、第1畳込層311と第2畳込層312と第3畳込層313と第1プーリング層321と第2プーリング層322とのそれぞれから出力されるデータを含む複数のデータを加算する。このように、3種類の細かさに対応する3種類の形状の特徴が抽出され、3種類の特徴に対応する3種類のデータが加算されるので、3種類の細かさに対応する3種類の形状の特徴を有する出力オブジェクトを表す出力画像データ940を生成できる。
また、図6のS140で説明したように、学習モデル234の複数個の演算パラメータ(演算パラメータセット601-608を含む)は、トレーニングによって、学習入力画像データと、学習入力画像データを学習モデル234に入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている。S120で説明したように、学習入力画像データは、基準ラベルシート800を含む基準画像810iの基準画像データ810を用いて生成されている。複数の学習入力画像データのそれぞれは、基準ラベルシート800を含む基準画像の画像データである。従って、図8、図9で説明したように、入力ラベルシート700xを含む対象入力画像710iの対象入力画像データ710を学習モデル234に入力することによって、基準ラベルシート800との差が小さい出力ラベルシート750を含む対象出力画像740iの対象出力画像データ740を生成できる。このような対象出力画像データ740は、対象入力画像710iのオブジェクト(ここでは、入力ラベルシート700x)の欠陥の検出に利用できる。
また、図8、図9で説明した処理では、プロセッサ210は、学習済の学習モデル234を用いて、以下の処理を行う。S210では、プロセッサ210は、入力オブジェクトを含む対象入力画像710iの対象入力画像データ710を取得する。S220では、プロセッサ210は、対象入力画像データ710を学習済の学習モデル234に入力することによって、対象入力画像データ710に対応する対象出力画像データ740を生成する。S230、S250では、プロセッサ210は、対象入力画像710iと対象出力画像740iとの間の差を示す差分画像760diの差分画像データ760dを生成する。学習モデル234は、入力層L10によって抽出される形状の特徴に基づく出力ラベルシート750であって基準ラベルシート800との差が小さい出力ラベルシート750を含む対象出力画像740iの対象出力画像データ740を生成できる。従って、プロセッサ210は、入力ラベルシート700xと基準ラベルシート800との間の差を示す差分画像データ760dを、生成できる。
また、S230、S250(図8)で説明したように、プロセッサ210は、対象入力画像データ710と対象出力画像データ740との平滑化処理を行うことによって平滑入力画像データ710bと平滑出力画像データ740bとを取得し、平滑入力画像データ710bと平滑出力画像データ740bとを用いて差分画像データ760dを生成する。従って、差分画像データ760dに含まれるノイズを低減できる。
また、S240、S260(図8)で説明したように、プロセッサ210は、平滑出力画像データ740bの平滑出力画像740bi内のエッジ部分を抽出するエッジ抽出処理を行い(S240)、差分画像760diからエッジ部分とは異なる非エッジ部分を抽出する処理を差分画像データ760dに行うことによって、差分画像データを修正する(S260)。対象入力画像710iと対象出力画像740iとの間のオブジェクトの位置ずれに起因して、差分画像760diは、エッジを含み得る。上記構成によれば、修正済差分画像データ770は、対象入力画像710iと対象出力画像740iとの間の位置ずれに起因するエッジとは異なる差を適切に示すことができる。
B.変形例:
(1)学習モデルの入力層は、畳込層311-313(図3)に限らず、入力画像に含まれる入力オブジェクトの形状の特徴を抽出する種々の演算部(抽出部とも呼ぶ)を備えてよい。抽出部は、入力画像のうちの入力画像よりも小さい入力範囲に含まれる部分の1以上の画素のそれぞれの画素値を用いて、入力オブジェクトのうちの入力範囲に含まれる部分の形状の特徴を抽出するように構成されてよい。入力層は、互いに異なるサイズの入力範囲を用いる複数の抽出部を備えることが好ましい。これにより、入力層は、互いに異なるサイズの形状の特徴を抽出できる。換言すると、入力層は、互いに異なる解像度の情報を抽出できる。抽出部の総数は、2以上の任意の数であってよい。
なお、学習モデルの計算量は、入力画像のサイズ(画素数)が大きいほど多く、また、抽出部の総数が多いほど多い。従って、入力画像のサイズが大きい場合には、抽出部の総数が少ないことが好ましい。
(1)学習モデルの入力層は、畳込層311-313(図3)に限らず、入力画像に含まれる入力オブジェクトの形状の特徴を抽出する種々の演算部(抽出部とも呼ぶ)を備えてよい。抽出部は、入力画像のうちの入力画像よりも小さい入力範囲に含まれる部分の1以上の画素のそれぞれの画素値を用いて、入力オブジェクトのうちの入力範囲に含まれる部分の形状の特徴を抽出するように構成されてよい。入力層は、互いに異なるサイズの入力範囲を用いる複数の抽出部を備えることが好ましい。これにより、入力層は、互いに異なるサイズの形状の特徴を抽出できる。換言すると、入力層は、互いに異なる解像度の情報を抽出できる。抽出部の総数は、2以上の任意の数であってよい。
なお、学習モデルの計算量は、入力画像のサイズ(画素数)が大きいほど多く、また、抽出部の総数が多いほど多い。従って、入力画像のサイズが大きい場合には、抽出部の総数が少ないことが好ましい。
(2)学習モデル234の入力層L10に含まれるプーリング層321、322は、マックスプーリング処理に限らず、ウィンドウWN21、WN22内の1以上の画素を用いて代表値を決定する種々の処理を実行してよい。例えば、プーリング層321、322は、平均プーリング処理を実行してよい。また、プーリング層321、322には、第2畳込層312からのビットマップデータ912が入力されてよい。このビットマップデータ912は、第3畳込層313からのビットマップデータ913と比べて、細かい形状の特徴を示している。従って、比較的細かい形状の特徴の入力画像内での位置の変位に対して、頑健性を向上できる。
プーリング層321、322によって生成されるデータは、抽出部(例えば、畳込層311-313)によって抽出される形状の特徴の入力画像内での位置の変位に関する変位情報の例である。変位情報は、位置の変位に応じて変化する種々の情報であってよい。変位情報は、入力画像上のオブジェクトの位置の変位が予め決められた変位範囲内である場合には、変位情報に対する位置の変位の影響が小さく、位置の変位が変位範囲を超える場合には、変位情報に対する位置の変位の影響が大きくなるように、決定されてよい。すなわち、2枚の入力画像の間でオブジェクトの位置の差が変位範囲内である場合には、2枚の入力画像から得られる2個の変位情報の相違が小さく、位置の差が変位範囲を超える場合には、2枚の入力画像から得られる2個の変位情報の相違が大きくなるように、変位情報が算出されてよい。入力層は、プーリング層に限らず、変位情報を取得する種々の演算部(変位情報取得部と呼ぶ)を備えてよい。
入力層は、互いに異なるサイズの変位範囲を用いる複数の変位情報取得部を備えることが好ましい。これにより、互いに異なるサイズの変位に対して、頑健性を向上できる。なお、変位情報取得部の総数は、1以上の任意の数であってよい。入力画像のサイズが大きい場合には、変位情報取得部の総数が少ないことが好ましい。いずれの場合も、入力層の加算部は、複数の抽出部と1以上の変位情報取得部とのそれぞれからのデータを加算することが好ましい。これにより、入力層は、種々のサイズの部分の形状の特徴を抽出でき、そして、入力画像内のオブジェクトの位置ずれに対する頑健性を向上できる。また、1以上の変位情報取得部は、同じ抽出部からの同じデータを用いて、変位情報を取得してよい。
また、入力層の複数の抽出部が、第1入力範囲を用いる第1抽出部と、第1入力範囲よりも大きい第2入力範囲を用いる第2抽出部と、を含む場合に、1以上の変位情報取得部は、第1抽出部からのデータを用いることが好ましい。これにより、比較的細かい形状の特徴の位置の変位に対して頑健性を向上できる。ここで、入力層は、第2抽出部からのデータを用いる変位情報取得部を備えなくてよい。これにより、入力層の構成を簡素化できる。
(3)学習モデルの出力層は、転置畳込層511-513(図5)に限らず、形状の特徴を復元する種々の演算部(復元部とも呼ぶ)を備えてよい。復元部は、オブジェクトの特徴(形状の特徴を含む)を示す処理対象データを、画像データとして処理してよい。そして、復元部は、処理対象データによって示される画像のうち出力画像よりも小さい出力範囲に含まれる部分の1以上の画素のそれぞれの画素値を用いて、形状の特徴を復元するように構成されてよい。出力層は、互いに異なるサイズの出力範囲を用いる複数の復元部を備えることが好ましい。これにより、出力層は、互いに異なるサイズの形状の特徴を復元できる。換言すると、出力層は、互いに異なる解像度の情報を復元できる。ここで、複数の復元部は、並列に設けられ、同じ処理対象データを処理し、そして、出力層は、複数の復元部のそれぞれから出力されるデータを加算する加算部を備えることが好ましい。そして、加算部から出力されるデータが、出力画像データとして利用されてよい。これにより、互いに異なるサイズの形状の特徴を、適切に、復元できる。ここで、出力層は、プーリング層(ひいては、変位情報取得部)を備えなくてよい。
なお、復元部の総数は、1以上の任意の数であってよく、2以上であることが好ましい。入力画像のサイズが大きい場合には、復元部の総数が少ないことが好ましい。出力層の復元部の出力範囲のサイズは、入力層の抽出部の入力範囲のサイズと異なっていてもよい。出力層の復元部の総数は、入力層の抽出部の総数と異なっていてよい。ただし、入力層が、互いに異なるサイズの入力範囲を用いるU個(Uは2以上の整数)の抽出部を備え、出力層が、互いに異なるサイズの出力範囲を用いるU個の復元部を備え、U個の入力範囲のサイズがU個の出力範囲のサイズとそれぞれ同じであることが好ましい。これにより、互いに異なる複数のサイズの複数種類の形状の特徴の抽出と復元とを、適切に行うことができる。
(4)図2-図5の学習モデル234では、全結合層415、420(図4)が、入力層L10(図3)の加算部331から出力層L30(図5)の復元部(具体的には、転置畳込層511-513)へ情報を伝達する。全結合層415、420は、情報の損失を抑制しつつ、情報を伝達することができる。従って、入力層L10によって抽出された種々のサイズの形状の特徴を示す情報は、出力層L30に伝達される。この結果、出力層L30は、種々のサイズの形状の特徴を復元できる。
入力層の加算部と出力層の復元部とを接続する中間層の構成は、全結合層415、420に限らず、種々の構成であってよい。ここで、中間層は、情報の損失を抑制しつつ、情報を伝達することが好ましい。例えば、中間層は、直列に接続された複数の全結合層を備えてよい。また、中間層は、省略されてよい。この場合、入力層の加算部からのデータは、出力層の復元部に入力される。
(5)学習モデルの構成は、上記の構成に代えて、他の種々の構成であってよい。チャンネル数sは、1以上の任意の数であってよい。チャンネル数sが多いほど、種々の形状の特徴の抽出と復元とが可能である。チャンネル数sが少ないほど、学習モデルのトレーニングは容易である。色成分の数rは、1以上の任意の数であってよい。色成分は、グレースケール、RGB、YCbCr、CMYKなど、任意の色成分であってよい。r=1の場合、学習モデルは、グレースケールのビットマップデータを処理してよい。
また、学習モデルは、図2-図5のモデルに代えて、入力画像のオブジェクトの形状の特徴の抽出と復元とを行う種々のモデルであってよい。例えば、学習モデルは、Variational Autoencoder(VAE)と呼ばれるモデルであってよい。VAEは、入力画像データを複数次元の正規分布のパラメータ(平均値と分散値)に圧縮するモデルである。VAEが採用される場合、より細かい形状の特徴の抽出と復元とが可能である。VAEが採用される場合、中間層の構成は、公知のVAEの中間層と同様に、正規分布のパラメータを処理する種々の構成であってよい。例えば、図4の第1全結合層415から出力されるN個(Nは偶数)の特徴値が、正規分布のパラメータを示してよい。
いずれの場合も、学習モデルは、学習モデルに適した方法でトレーニングされる。学習モデルの複数個の演算パラメータは、基準オブジェクト(例えば、基準ラベルシート800)を含む基準画像の基準画像データと、基準画像データを学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されることが好ましい。また、複数個の演算パラメータは、基準オブジェクトを含む複数枚の基準画像の複数個の基準画像データを用いて、調整されることが好ましい。ここで、複数枚の基準画像の間では、基準オブジェクトの位置と向きとの少なくとも一方が、互いに異なることが好ましい。これによれば、学習済のモデルは、種々の入力画像データを適切に処理できる。
(6)差分データ生成処理は、図8の処理に代えて、他の種々の処理であってよい。例えば、平滑化処理(S230)が省略されてよい。この場合、S250では、対象入力画像データ710と対象出力画像データ740との間の差分を示す差分画像データが生成される。また、エッジ抽出処理(S240)と差分画像データの修正処理(S260)とが省略されてよい。この場合、S270では、未修正の差分画像データ(例えば、差分画像データ760d)が二値化される。差分画像は、複数の画素のそれぞれにおける画素値の差を示す画像であってよい。画素値の差は、種々の色成分で表されてよい(例えば、RGB、輝度値、YCbCr等)。
(7)図8の実施例では、データ処理装置200は、差分画像データを生成する生成装置として動作している。これに代えて、データ処理装置200は、差分画像データを生成せずに、入力画像データを学習モデルに入力することによって出力画像データを生成する生成装置として動作してもよい。プロセッサ210は、生成した出力画像データを、記憶装置215(例えば、不揮発性記憶装置230)に格納してよい。出力画像データは、種々の処理で利用可能である(例えば、出力画像の表示、差分画像データの生成、等)。
(8)画像処理システム1000の構成は、図1の構成に代えて、他の種々の構成であってよい。例えば、図6のトレーニングを実行するデータ処理装置とは異なるデータ処理装置が、図8の処理を実行してよい。また、デジタルカメラ100に代えて、スキャナが用いられてよい。また、製品700は、ラベルシートに限らず、商品を収容するための箱や封筒などの紙製品、シャツやタオルなどの布製品、機械の部品など、任意の製品であってよい。
(9)図1のデータ処理装置200は、パーソナルコンピュータとは異なる種類の装置(例えば、デジタルカメラ、スキャナ、スマートフォン)であってよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、データ処理装置によるデータ処理の機能を一部ずつ分担して、全体として、データ処理の機能を提供してもよい(これらの装置を備えるシステムがデータ処理装置に対応する)。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、学習モデル234は、プログラムモジュールに代えて、ASIC(Application Specific Integrated Circuit)等のハードウェア回路によって実現されてよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。
本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100…デジタルカメラ、200…データ処理装置、210…プロセッサ、215…記憶装置、220…揮発性記憶装置、230…不揮発性記憶装置、232…第1プログラム、233…第2プログラム、234…予測モデル(機械学習モデル)、L10…入力層、L20…中間層、L30…出力層、240…表示部、250…操作部、270…通信インタフェース、311-313…畳込層、321…第1プーリング層、322…第2プーリング層、331…加算部、410…第1変換部、420…全結合層、430…第2変換部、511-513…転置畳込層、520…加算部、601-608…演算パラメータセット、700、700x、750、800、950…ラベルシート、701…図形、702…文字列、701z、702z…欠け部分、701zb、702zb…差異部分、FL11-FL13…入力フィルタ、WN21…第1ウィンドウ、WN22…第2ウィンドウ、FL31-FL33…出力フィルタ
Claims (13)
- 入力オブジェクトを含む入力画像の入力画像データに対応する出力画像データを生成するための学習済の機械学習モデルであって、
前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、
前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、
前記入力層は、
前記入力オブジェクトのうち前記入力画像よりも小さい第1入力範囲に含まれる部分の形状の特徴を抽出する第1抽出部と、
前記第1抽出部と並列に設けられた第2抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第1入力範囲よりも大きい第2入力範囲に含まれる部分の形状の特徴を抽出する前記第2抽出部と、
前記第1抽出部から出力されるデータを用いて演算を実行することによって、前記第1抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する1以上の変位情報取得部と、
前記第1抽出部から出力されるデータと、前記第2抽出部から出力されるデータと、前記1以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、
を含む、機械学習モデル。 - 請求項1に記載の機械学習モデルであって、
前記出力層は、
処理対象のデータのうち前記出力画像よりも小さい第1出力範囲に対応する部分を用いて形状の特徴を復元する第1復元部と、
前記第1復元部と並列に設けられた第2復元部であって、前記処理対象のデータのうち前記出力画像よりも小さく前記第1出力範囲よりも大きい第2出力範囲に対応する部分を用いて形状の特徴を復元する前記第2復元部と、
を含む、機械学習モデル。 - 請求項2に記載の機械学習モデルであって、
前記入力層は、
畳込層である前記第1抽出部と、
畳込層である前記第2抽出部と、
プーリング層である前記変位情報取得部と、
を含み、
前記出力層は、
プーリング層を含まずに、
転置畳込層である前記第1復元部と、
転置畳込層である前記第2復元部と、
を含む、機械学習モデル。 - 請求項1から3のいずれかに記載の機械学習モデルであって、
前記1以上の変位情報取得部は、
前記入力画像よりも小さい第1変位範囲内での位置の変位に関する第1変位情報を取得する第1変位情報取得部と、
前記第1変位情報取得部と並列に設けられた第2変位情報取得部であって前記入力画像よりも小さく前記第1変位範囲よりも大きい第2変位範囲内での位置の変位に関する第2変位情報を取得する前記第2変位情報取得部と、
を含み、
前記加算部は、前記第1抽出部から出力される前記データと、前記第2抽出部から出力される前記データと、前記第1変位情報取得部から出力されるデータと、前記第2変位情報取得部から出力されるデータと、を含む前記複数のデータを加算する、
機械学習モデル。 - 請求項1から4のいずれかに記載の機械学習モデルであって、
前記入力層は、前記第1抽出部と前記第2抽出部とに並列に設けられた第3抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第2入力範囲よりも大きい第3入力範囲に含まれる部分の形状の特徴を抽出する前記第3抽出部を含み、
前記加算部は、前記第1抽出部から出力される前記データと、前記第2抽出部から出力される前記データと、前記第3抽出部から出力されるデータと、前記1以上の変位情報取得部から出力される前記データと、を含む前記複数のデータを加算する、
機械学習モデル。 - 請求項1から5のいずれかに記載の機械学習モデルであって、
前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、
機械学習モデル。 - 画像データを生成する生成装置であって、
入力オブジェクトを含む入力画像の入力画像データを取得する取得部と、
前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成部と、
前記入力画像と前記出力画像データの出力画像との間の差を示す差分画像の差分画像データを生成する差分画像データ生成部と、
を備え、
前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、
前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、
前記入力層は、
前記入力オブジェクトのうち前記入力画像よりも小さい第1入力範囲に含まれる部分の形状の特徴を抽出する第1抽出部と、
前記第1抽出部と並列に設けられた第2抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第1入力範囲よりも大きい第2入力範囲に含まれる部分の形状の特徴を抽出する前記第2抽出部と、
前記第1抽出部から出力されるデータを用いて演算を実行することによって、前記第1抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する1以上の変位情報取得部と、
前記第1抽出部から出力されるデータと、前記第2抽出部から出力されるデータと、前記1以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、
を含み、
前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、
生成装置。 - 請求項7に記載の生成装置であって、
前記差分画像データ生成部は、
前記入力画像データに平滑化処理を行うことによって平滑化された入力画像データを取得し、
前記出力画像データに平滑化処理を行うことによって平滑化された出力画像データを取得し、
前記平滑化された入力画像データと前記平滑化された出力画像データとを用いて前記差分画像データを生成する、
生成装置。 - 請求項8に記載の生成装置であって、
前記差分画像データ生成部は、
前記平滑化された出力画像データの画像内のエッジ部分を抽出するエッジ抽出処理を行い、
前記差分画像から前記エッジ部分とは異なる非エッジ部分を抽出する処理を前記差分画像データに行うことによって、前記差分画像データを修正する、
生成装置。 - 画像データを生成するコンピュータのためのコンピュータプログラムであって、
入力オブジェクトを含む入力画像の入力画像データを取得する取得機能と、
前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成機能と、
前記入力画像と前記出力画像データの出力画像との間の差を示す差分画像の差分画像データを生成する差分画像データ生成機能と、
をコンピュータに実現させ、
前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、
前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、
前記入力層は、
前記入力オブジェクトのうち前記入力画像よりも小さい第1入力範囲に含まれる部分の形状の特徴を抽出する第1抽出部と、
前記第1抽出部と並列に設けられた第2抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第1入力範囲よりも大きい第2入力範囲に含まれる部分の形状の特徴を抽出する前記第2抽出部と、
前記第1抽出部から出力されるデータを用いて演算を実行することによって、前記第1抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する1以上の変位情報取得部と、
前記第1抽出部から出力されるデータと、前記第2抽出部から出力されるデータと、前記1以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、
を含み、
前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、
コンピュータプログラム。 - 請求項10に記載のコンピュータプログラムであって、
前記差分画像データ生成機能は、
前記入力画像データに平滑化処理を行うことによって平滑化された入力画像データを取得し、
前記出力画像データに平滑化処理を行うことによって平滑化された出力画像データを取得し、
前記平滑化された入力画像データと前記平滑化された出力画像データとを用いて前記差分画像データを生成する、
コンピュータプログラム。 - 請求項11に記載のコンピュータプログラムであって、
前記差分画像データ生成機能は、
前記平滑化された出力画像データの画像内のエッジ部分を抽出するエッジ抽出処理を行い、
前記差分画像から前記エッジ部分とは異なる非エッジ部分を抽出する処理を前記差分画像データに行うことによって、前記差分画像データを修正する、
コンピュータプログラム。 - 画像データを生成する生成装置であって、
入力オブジェクトを含む入力画像の入力画像データを取得する取得部と、
前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成部と、
を備え、
前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、
前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、
前記入力層は、
前記入力オブジェクトのうち前記入力画像よりも小さい第1入力範囲に含まれる部分の形状の特徴を抽出する第1抽出部と、
前記第1抽出部と並列に設けられた第2抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第1入力範囲よりも大きい第2入力範囲に含まれる部分の形状の特徴を抽出する前記第2抽出部と、
前記第1抽出部から出力されるデータを用いて演算を実行することによって、前記第1抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する1以上の変位情報取得部と、
前記第1抽出部から出力されるデータと、前記第2抽出部から出力されるデータと、前記1以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、
を含み、
前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、
生成装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019177370 | 2019-09-27 | ||
JP2019177370 | 2019-09-27 | ||
PCT/JP2020/034860 WO2021060068A1 (ja) | 2019-09-27 | 2020-09-15 | 機械学習モデル、生成装置、コンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021060068A1 JPWO2021060068A1 (ja) | 2021-12-23 |
JP7160211B2 true JP7160211B2 (ja) | 2022-10-25 |
Family
ID=75166960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021548830A Active JP7160211B2 (ja) | 2019-09-27 | 2020-09-15 | 機械学習モデル、生成装置、コンピュータプログラム |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4036849A4 (ja) |
JP (1) | JP7160211B2 (ja) |
CN (1) | CN114531911A (ja) |
WO (1) | WO2021060068A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023074565A1 (ja) * | 2021-11-01 | 2023-05-04 | ブラザー工業株式会社 | 機械学習モデル、コンピュータプログラム、および、方法 |
WO2024195159A1 (ja) * | 2023-03-22 | 2024-09-26 | 株式会社日立国際電気 | 異常検知システム及び異常検知方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018531648A (ja) | 2015-08-15 | 2018-11-01 | セールスフォース ドット コム インコーポレイティッド | 3dバッチ正規化を伴う三次元(3d)畳み込み |
WO2019159419A1 (ja) | 2018-02-16 | 2019-08-22 | パナソニックIpマネジメント株式会社 | 処理方法およびそれを利用した処理装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019067078A (ja) * | 2017-09-29 | 2019-04-25 | 国立大学法人 筑波大学 | 画像処理方法、及び画像処理プログラム |
-
2020
- 2020-09-15 CN CN202080066699.5A patent/CN114531911A/zh active Pending
- 2020-09-15 WO PCT/JP2020/034860 patent/WO2021060068A1/ja active Application Filing
- 2020-09-15 JP JP2021548830A patent/JP7160211B2/ja active Active
- 2020-09-15 EP EP20868059.5A patent/EP4036849A4/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018531648A (ja) | 2015-08-15 | 2018-11-01 | セールスフォース ドット コム インコーポレイティッド | 3dバッチ正規化を伴う三次元(3d)畳み込み |
WO2019159419A1 (ja) | 2018-02-16 | 2019-08-22 | パナソニックIpマネジメント株式会社 | 処理方法およびそれを利用した処理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114531911A (zh) | 2022-05-24 |
WO2021060068A1 (ja) | 2021-04-01 |
JPWO2021060068A1 (ja) | 2021-12-23 |
EP4036849A4 (en) | 2023-11-15 |
EP4036849A1 (en) | 2022-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jian et al. | Multi-scale image fusion through rolling guidance filter | |
Cheng et al. | Inpainting for remotely sensed images with a multichannel nonlocal total variation model | |
AU2009201252B2 (en) | Colour correcting foreground colours for visual quality improvement | |
JP5566811B2 (ja) | プリントアンドスキャン文書の画像評価のためのボケ除去および監視適応的スレッショルディング | |
JP2020160616A (ja) | 生成装置、コンピュータプログラム、生成方法 | |
US20070201750A1 (en) | Image processing method, apparatus, and computer readable recording medium including program therefor | |
KR101872172B1 (ko) | 화상 처리 장치, 화상 처리 방법, 기록 매체, 및 프로그램 | |
JP2007504719A (ja) | 組み込みアプリケーションに適した、画像における赤目の検出と補正を行うシステム及び方法 | |
JP7160211B2 (ja) | 機械学習モデル、生成装置、コンピュータプログラム | |
JP2012208553A (ja) | 画像処理装置、および画像処理方法、並びにプログラム | |
US20050281458A1 (en) | Noise-reducing a color filter array image | |
US11625886B2 (en) | Storage medium storing program, training method of machine learning model, and image generating apparatus | |
Kapah et al. | Demosaicking using artificial neural networks | |
CN111402173A (zh) | 一种混合噪声去除方法、装置、电子设备和存储介质 | |
JP2023003763A (ja) | 学習装置、画像処理装置、学習処理方法、及びプログラム | |
CN110390339B (zh) | 一种图像校正方法、装置及存储介质 | |
Karaduzovic-Hadziabdic et al. | Expert evaluation of deghosting algorithms for multi-exposure high dynamic range imaging | |
US9734559B1 (en) | Match error compensation for super-resolution images | |
JP5928465B2 (ja) | 劣化復元システム、劣化復元方法およびプログラム | |
US20210374916A1 (en) | Storage medium storing program, image processing apparatus, and training method of machine learning model | |
JP4708866B2 (ja) | ルックアップテーブル作成装置および方法,ならびにルックアップテーブル作成プログラム | |
CN110827211B (zh) | 一种图像细节增强方法 | |
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 | |
JP2009010853A (ja) | 画像補正方法と画像補正装置 | |
WO2023228717A1 (ja) | コンピュータプログラム、処理方法、および、処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210827 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220926 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7160211 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |