(57)【要約】細かい形状を有する出力オブジェクトを表す出力画像データを生成する。機械学習モデルは、入力層と出力層とを備える。入力層は、第１抽出部と第２抽出部と１以上の変位情報取得部と加算部とを含む。第１抽出部は、入力オブジェクトのうち第１入力範囲に含まれる部分の形状の特徴を抽出する。第２抽出部は、第１抽出部と並列に設けられており、入力オブジェクトのうち第１入力範囲よりも大きい第２入力範囲に含まれる部分の形状の特徴を抽出する。１以上の変位情報取得部は、第１抽出部によって抽出される形状の特徴の入力画像内での位置の変位に関する変位情報を取得する。加算部は、第１抽出部から出力されるデータと、第２抽出部から出力されるデータと、１以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する。
2021060068.tif 000002
【特許請求の範囲】
【請求項１】
入力オブジェクトを含む入力画像の入力画像データに対応する出力画像データを生成するための学習済の機械学習モデルであって、
前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、
前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、
前記入力層は、
前記入力オブジェクトのうち前記入力画像よりも小さい第１入力範囲に含まれる部分の形状の特徴を抽出する第１抽出部と、
前記第１抽出部と並列に設けられた第２抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第１入力範囲よりも大きい第２入力範囲に含まれる部分の形状の特徴を抽出する前記第２抽出部と、
前記第１抽出部から出力されるデータを用いて演算を実行することによって、前記第１抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する１以上の変位情報取得部と、
前記第１抽出部から出力されるデータと、前記第２抽出部から出力されるデータと、前記１以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、
を含む、機械学習モデル。
【請求項２】
請求項１に記載の機械学習モデルであって、
前記出力層は、
処理対象のデータのうち前記出力画像よりも小さい第１出力範囲に対応する部分を用いて形状の特徴を復元する第１復元部と、
前記第１復元部と並列に設けられた第２復元部であって、前記処理対象のデータのうち前記出力画像よりも小さく前記第１出力範囲よりも大きい第２出力範囲に対応する部分を用いて形状の特徴を復元する前記第２復元部と、
を含む、機械学習モデル。
【請求項３】
請求項２に記載の機械学習モデルであって、
前記入力層は、
畳込層である前記第１抽出部と、
畳込層である前記第２抽出部と、
プーリング層である前記変位情報取得部と、
を含み、
前記出力層は、
プーリング層を含まずに、
転置畳込層である前記第１復元部と、
転置畳込層である前記第２復元部と、
を含む、機械学習モデル。
【請求項４】
請求項１から３のいずれかに記載の機械学習モデルであって、
前記１以上の変位情報取得部は、
前記入力画像よりも小さい第１変位範囲内での位置の変位に関する第１変位情報を取得する第１変位情報取得部と、
前記第１変位情報取得部と並列に設けられた第２変位情報取得部であって前記入力画像よりも小さく前記第１変位範囲よりも大きい第２変位範囲内での位置の変位に関する第２変位情報を取得する前記第２変位情報取得部と、
を含み、
前記加算部は、前記第１抽出部から出力される前記データと、前記第２抽出部から出力される前記データと、前記第１変位情報取得部から出力されるデータと、前記第２変位情報取得部から出力されるデータと、を含む前記複数のデータを加算する、
機械学習モデル。
【請求項５】
請求項１から４のいずれかに記載の機械学習モデルであって、
前記入力層は、前記第１抽出部と前記第２抽出部とに並列に設けられた第３抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第２入力範囲よりも大きい第３入力範囲に含まれる部分の形状の特徴を抽出する前記第３抽出部を含み、
前記加算部は、前記第１抽出部から出力される前記データと、前記第２抽出部から出力される前記データと、前記第３抽出部から出力されるデータと、前記１以上の変位情報取得部から出力される前記データと、を含む前記複数のデータを加算する、
機械学習モデル。
【請求項６】
請求項１から５のいずれかに記載の機械学習モデルであって、
前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、
機械学習モデル。
【請求項７】
画像データを生成する生成装置であって、
入力オブジェクトを含む入力画像の入力画像データを取得する取得部と、
前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成部と、
前記入力画像と前記出力画像データの出力画像との間の差を示す差分画像の差分画像データを生成する差分画像データ生成部と、
を備え、
前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、
前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、
前記入力層は、
前記入力オブジェクトのうち前記入力画像よりも小さい第１入力範囲に含まれる部分の形状の特徴を抽出する第１抽出部と、
前記第１抽出部と並列に設けられた第２抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第１入力範囲よりも大きい第２入力範囲に含まれる部分の形状の特徴を抽出する前記第２抽出部と、
前記第１抽出部から出力されるデータを用いて演算を実行することによって、前記第１抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する１以上の変位情報取得部と、
前記第１抽出部から出力されるデータと、前記第２抽出部から出力されるデータと、前記１以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、
を含み、
前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、
生成装置。
【請求項８】
請求項７に記載の生成装置であって、
前記差分画像データ生成部は、
前記入力画像データに平滑化処理を行うことによって平滑化された入力画像データを取得し、
前記出力画像データに平滑化処理を行うことによって平滑化された出力画像データを取得し、
前記平滑化された入力画像データと前記平滑化された出力画像データとを用いて前記差分画像データを生成する、
生成装置。
【請求項９】
請求項８に記載の生成装置であって、
前記差分画像データ生成部は、
前記平滑化された出力画像データの画像内のエッジ部分を抽出するエッジ抽出処理を行い、
前記差分画像から前記エッジ部分とは異なる非エッジ部分を抽出する処理を前記差分画像データに行うことによって、前記差分画像データを修正する、
生成装置。
【請求項１０】
画像データを生成するコンピュータのためのコンピュータプログラムであって、
入力オブジェクトを含む入力画像の入力画像データを取得する取得機能と、
前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成機能と、
前記入力画像と前記出力画像データの出力画像との間の差を示す差分画像の差分画像データを生成する差分画像データ生成機能と、
をコンピュータに実現させ、
前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、
前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、
前記入力層は、
前記入力オブジェクトのうち前記入力画像よりも小さい第１入力範囲に含まれる部分の形状の特徴を抽出する第１抽出部と、
前記第１抽出部と並列に設けられた第２抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第１入力範囲よりも大きい第２入力範囲に含まれる部分の形状の特徴を抽出する前記第２抽出部と、
前記第１抽出部から出力されるデータを用いて演算を実行することによって、前記第１抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する１以上の変位情報取得部と、
前記第１抽出部から出力されるデータと、前記第２抽出部から出力されるデータと、前記１以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、
を含み、
前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、
コンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムであって、
前記差分画像データ生成機能は、
前記入力画像データに平滑化処理を行うことによって平滑化された入力画像データを取得し、
前記出力画像データに平滑化処理を行うことによって平滑化された出力画像データを取得し、
前記平滑化された入力画像データと前記平滑化された出力画像データとを用いて前記差分画像データを生成する、
コンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムであって、
前記差分画像データ生成機能は、
前記平滑化された出力画像データの画像内のエッジ部分を抽出するエッジ抽出処理を行い、
前記差分画像から前記エッジ部分とは異なる非エッジ部分を抽出する処理を前記差分画像データに行うことによって、前記差分画像データを修正する、
コンピュータプログラム。
【請求項１３】
画像データを生成する生成装置であって、
入力オブジェクトを含む入力画像の入力画像データを取得する取得部と、
前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成部と、
を備え、
前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、
前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、
前記入力層は、
前記入力オブジェクトのうち前記入力画像よりも小さい第１入力範囲に含まれる部分の形状の特徴を抽出する第１抽出部と、
前記第１抽出部と並列に設けられた第２抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第１入力範囲よりも大きい第２入力範囲に含まれる部分の形状の特徴を抽出する前記第２抽出部と、
前記第１抽出部から出力されるデータを用いて演算を実行することによって、前記第１抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する１以上の変位情報取得部と、
前記第１抽出部から出力されるデータと、前記第２抽出部から出力されるデータと、前記１以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、
を含み、
前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、
生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、画像データを生成する機械学習モデルに関する。
【背景技術】
【０００２】
近年、ニューラルネットワークやサポートベクタマシンなどの機械学習モデルの利用や開発が進んでいる。例えば、非特許文献１に開示された技術では、工業製品の異常検知に、Variational Autoencoder（VAE）と呼ばれるデータ生成モデルが用いられている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】立花亮介、松原崇、上原邦昭著、「深層生成モデルによる非正則化異常度を用いた工業製品の異常検知」  2018年度  人工知能学会全国大会（第32回）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
VAEのように情報の圧縮によって特徴を抽出するモデルは、抽象化された特徴を抽出できる。しかし、情報の圧縮によって細かい特徴が失われる。このようなモデルを用いてオブジェクトを含む画像の画像データが生成される場合、生成される画像データは、オブジェクトの細かい形状を表すことが困難であった。このような課題は、情報の圧縮によって特徴を抽出するモデルに限らず、他の方法で特徴を抽出するモデルにも共通する課題であった。【０００５】
本明細書は、細かい形状を有するオブジェクトを表す画像データを生成できる技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示された技術は、以下の適用例として実現することが可能である。【０００７】
［適用例１］入力オブジェクトを含む入力画像の入力画像データに対応する出力画像データを生成するための学習済の機械学習モデルであって、前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、前記入力層は、前記入力オブジェクトのうち前記入力画像よりも小さい第１入力範囲に含まれる部分の形状の特徴を抽出する第１抽出部と、前記第１抽出部と並列に設けられた第２抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第１入力範囲よりも大きい第２入力範囲に含まれる部分の形状の特徴を抽出する前記第２抽出部と、前記第１抽出部から出力されるデータを用いて演算を実行することによって、前記第１抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する１以上の変位情報取得部と、前記第１抽出部から出力されるデータと、前記第２抽出部から出力されるデータと、前記１以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、を含む、機械学習モデル。【０００８】
この構成によれば、第１抽出部は、比較的小さい第１入力範囲に含まれる部分の形状の特徴、すなわち、比較的細かい形状の特徴に対応するデータを出力し、第２抽出部は、比較的大きい第２入力範囲に含まれる部分の形状の特徴、すなわち、比較的粗い形状の特徴に対応するデータを出力する。そして、入力層では、それらのデータが加算されるので、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データを生成できる。さらに、変位情報取得部から出力されるデータ、すなわち、第１抽出部によって抽出される形状の特徴の入力画像内での位置の変位に関する変位情報に対応するデータが、加算されるので、比較的細かい形状の特徴の入力画像内での位置の変位に対して頑健性を向上できる。【０００９】
［適用例２］適用例１に記載の機械学習モデルであって、前記出力層は、処理対象のデータのうち前記出力画像よりも小さい第１出力範囲に対応する部分を用いて形状の特徴を復元する第１復元部と、前記第１復元部と並列に設けられた第２復元部であって、前記処理対象のデータのうち前記出力画像よりも小さく前記第１出力範囲よりも大きい第２出力範囲に対応する部分を用いて形状の特徴を復元する前記第２復元部と、を含む、機械学習モデル。【００１０】
この構成によれば、第１復元部は、処理対象のデータのうち比較的小さい第１出力範囲に対応する部分を用いて形状の特徴を復元する、すなわち、比較的細かい形状の特徴を復元し、第２復元部は、処理対象のデータのうち比較的大きい第２出力範囲に対応する部分を用いて形状の特徴を復元する、すなわち、比較的粗い形状の特徴を復元する。従って、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データを生成できる。【００１１】
［適用例３］適用例１または２に記載の機械学習モデルであって、前記入力層は、畳込層である前記第１抽出部と、畳込層である前記第２抽出部と、プーリング層である前記変位情報取得部と、を含み、前記出力層は、プーリング層を含まずに、転置畳込層である前記第１復元部と、転置畳込層である前記第２復元部と、を含む、機械学習モデル。【００１２】
入力層がプーリング層である変位情報取得部を含むので、出力層による演算に対する形状の特徴の入力画像内での位置の変位の影響は、緩和される。従って、プーリング層を含まずに、転置畳込層である第１復元部と、転置畳込層である第２復元部と、を含む出力層は、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データを生成できる。【００１３】
［適用例４］適用例１から３のいずれかに記載の機械学習モデルであって、前記１以上の変位情報取得部は、前記入力画像よりも小さい第１変位範囲内での位置の変位に関する第１変位情報を取得する第１変位情報取得部と、前記第１変位情報取得部と並列に設けられた第２変位情報取得部であって前記入力画像よりも小さく前記第１変位範囲よりも大きい第２変位範囲内での位置の変位に関する第２変位情報を取得する前記第２変位情報取得部と、を含み、前記加算部は、前記第１抽出部から出力される前記データと、前記第２抽出部から出力される前記データと、前記第１変位情報取得部から出力されるデータと、前記第２変位情報取得部から出力されるデータと、を含む前記複数のデータを加算する、機械学習モデル。【００１４】
この構成によれば、第１変位情報取得部は、比較的小さい第１変位範囲内での位置の変位、すなわち、比較的小さい位置の変位に関する第１変位情報を取得し、第２変位情報取得部は、比較的大きい第２変位範囲内での位置の変位、すなわち、比較的大きい位置の変位に関する第２変位情報を取得する。そして、入力層では、それらのデータが加算されるので、比較的小さい位置の変位と比較的大きい位置の変位とに対して頑健性を向上できる。【００１５】
［適用例５］適用例１から４のいずれかに記載の機械学習モデルであって、前記入力層は、前記第１抽出部と前記第２抽出部とに並列に設けられた第３抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第２入力範囲よりも大きい第３入力範囲に含まれる部分の形状の特徴を抽出する前記第３抽出部を含み、前記加算部は、前記第１抽出部から出力される前記データと、前記第２抽出部から出力される前記データと、前記第３抽出部から出力されるデータと、前記１以上の変位情報取得部から出力される前記データと、を含む前記複数のデータを加算する、機械学習モデル。【００１６】
この構成によれば、３種類の細かさに対応する３種類の形状の特徴が抽出され、３種類の特徴に対応する３種類のデータが加算されるので、３種類の細かさに対応する３種類の形状の特徴を有する出力オブジェクトを表す出力画像データを生成できる。【００１７】
［適用例６］適用例１から５のいずれかに記載の機械学習モデルであって、前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、機械学習モデル。【００１８】
この構成によれば、入力オブジェクトを含む入力画像の入力画像データを機械学習モデルに入力することによって、入力層によって抽出される形状の特徴に基づく出力オブジェクトであって基準オブジェクトとの差が小さいオブジェクトを含む出力画像の出力画像データを生成できる。【００１９】
［適用例７］画像データを生成する生成装置であって、入力オブジェクトを含む入力画像の入力画像データを取得する取得部と、前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成部と、前記入力画像と前記出力画像データの出力画像との間の差を示す差分画像の差分画像データを生成する差分画像データ生成部と、を備え、前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、前記入力層は、前記入力オブジェクトのうち前記入力画像よりも小さい第１入力範囲に含まれる部分の形状の特徴を抽出する第１抽出部と、前記第１抽出部と並列に設けられた第２抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第１入力範囲よりも大きい第２入力範囲に含まれる部分の形状の特徴を抽出する前記第２抽出部と、前記第１抽出部から出力されるデータを用いて演算を実行することによって、前記第１抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する１以上の変位情報取得部と、前記第１抽出部から出力されるデータと、前記第２抽出部から出力されるデータと、前記１以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、を含み、前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、生成装置。【００２０】
この構成によれば、入力オブジェクトを含む入力画像の入力画像データを機械学習モデルに入力することによって、入力層によって抽出される形状の特徴に基づく出力オブジェクトであって基準オブジェクトとの差が小さい出力オブジェクトを含む出力画像の出力画像データを生成できる。従って、入力オブジェクトと基準オブジェクトとの間の差を示す差分画像データを、生成できる。【００２１】
［適用例８］適用例７に記載の生成装置であって、前記差分画像データ生成部は、前記入力画像データに平滑化処理を行うことによって平滑化された入力画像データを取得し、前記出力画像データに平滑化処理を行うことによって平滑化された出力画像データを取得し、前記平滑化された入力画像データと前記平滑化された出力画像データとを用いて前記差分画像データを生成する、生成装置。【００２２】
この構成によれば、差分画像データに含まれるノイズを抑制できる。【００２３】
［適用例９］適用例８に記載の生成装置であって、前記差分画像データ生成部は、前記平滑化された出力画像データの画像内のエッジ部分を抽出するエッジ抽出処理を行い、前記差分画像から前記エッジ部分とは異なる非エッジ部分を抽出する処理を前記差分画像データに行うことによって、前記差分画像データを修正する、生成装置。【００２４】
入力画像と出力画像との間のオブジェクトの位置ずれに起因して、差分画像は、エッジを含み得る。上記構成によれば、修正済の差分画像データは、入力画像と出力画像との間の位置ずれに起因するエッジとは異なる差を適切に示すことができる。【００２５】
［適用例１０］画像データを生成するコンピュータのためのコンピュータプログラムであって、入力オブジェクトを含む入力画像の入力画像データを取得する取得機能と、前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成機能と、前記入力画像と前記出力画像データの出力画像との間の差を示す差分画像の差分画像データを生成する差分画像データ生成機能と、をコンピュータに実現させ、前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、前記入力層は、前記入力オブジェクトのうち前記入力画像よりも小さい第１入力範囲に含まれる部分の形状の特徴を抽出する第１抽出部と、前記第１抽出部と並列に設けられた第２抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第１入力範囲よりも大きい第２入力範囲に含まれる部分の形状の特徴を抽出する前記第２抽出部と、前記第１抽出部から出力されるデータを用いて演算を実行することによって、前記第１抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する１以上の変位情報取得部と、前記第１抽出部から出力されるデータと、前記第２抽出部から出力されるデータと、前記１以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、を含み、前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、コンピュータプログラム。【００２６】
［適用例１１］適用例１０に記載のコンピュータプログラムであって、前記差分画像データ生成機能は、前記入力画像データに平滑化処理を行うことによって平滑化された入力画像データを取得し、前記出力画像データに平滑化処理を行うことによって平滑化された出力画像データを取得し、前記平滑化された入力画像データと前記平滑化された出力画像データとを用いて前記差分画像データを生成する、コンピュータプログラム。【００２７】
［適用例１２］適用例１１に記載のコンピュータプログラムであって、前記差分画像データ生成機能は、前記平滑化された出力画像データの画像内のエッジ部分を抽出するエッジ抽出処理を行い、前記差分画像から前記エッジ部分とは異なる非エッジ部分を抽出する処理を前記差分画像データに行うことによって、前記差分画像データを修正する、コンピュータプログラム。【００２８】
［適用例１３］画像データを生成する生成装置であって、入力オブジェクトを含む入力画像の入力画像データを取得する取得部と、前記入力画像データを学習済の機械学習モデルに入力することによって、前記入力画像データに対応する出力画像データを生成する出力画像データ生成部と、を備え、前記機械学習モデルは、入力画像データに対する複数個の演算パラメータを用いる演算を実行することによって、前記入力画像データの入力画像に含まれる入力オブジェクトの形状の特徴の抽出と、抽出される形状の特徴に基づく出力オブジェクトを含む出力画像の出力画像データの生成と、を行うモデルであり、前記機械学習モデルは、前記入力画像データを用いる演算を実行する入力層と、前記入力層よりも下流側に設けられ前記出力画像データを生成する出力層と、を備え、前記入力層は、前記入力オブジェクトのうち前記入力画像よりも小さい第１入力範囲に含まれる部分の形状の特徴を抽出する第１抽出部と、前記第１抽出部と並列に設けられた第２抽出部であって、前記入力オブジェクトのうち前記入力画像よりも小さく前記第１入力範囲よりも大きい第２入力範囲に含まれる部分の形状の特徴を抽出する前記第２抽出部と、前記第１抽出部から出力されるデータを用いて演算を実行することによって、前記第１抽出部によって抽出される前記形状の特徴の前記入力画像内での位置の変位に関する変位情報を取得する１以上の変位情報取得部と、前記第１抽出部から出力されるデータと、前記第２抽出部から出力されるデータと、前記１以上の変位情報取得部から出力されるデータと、を含む複数のデータを加算する加算部と、を含み、前記複数個の演算パラメータは、トレーニングによって、基準オブジェクトを含む基準画像の基準画像データと、前記基準画像データを前記機械学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている、生成装置。【００２９】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、機械学習モデルのトレーニング方法およびトレーニングを実行するトレーニング装置、学習済の機械学習モデルを用いる画像データの生成方法および生成装置、画像データを用いる判断方法および判断装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００３０】
【図１】実施例の画像処理システムを示す説明図である。
【図２】学習モデル２３４の例の説明図である。
【図３】入力層Ｌ１０の構成を示すブロック図である。
【図４】中間層Ｌ２０の構成を示すブロック図である。
【図５】出力層Ｌ３０の構成を示すブロック図である。
【図６】トレーニング処理の例を示すフローチャートである。
【図７】（Ａ）は、基準ラベルシート８００の説明図である。（Ｂ）は、基準画像データの例の説明図である。（Ｃ）は、出力画像データの例の説明図である。
【図８】差分データ生成処理の例を示すフローチャートである。
【図９】画像処理の説明図である。
【発明を実施するための形態】
【００３１】
Ａ．第１実施例：
Ａ１．装置構成：
図１は、実施例の画像処理システムを示す説明図である。画像処理システム１０００は、製品７００の外観の画像データを処理するためのシステムである。製品７００は、任意の製品であってよく、予め決められている。本実施例では、製品７００は、文字と図形などの種々のオブジェクトが印刷されたラベルシートである。以下、製品７００を、ラベルシート７００とも呼ぶ。
【００３２】
画像処理システム１０００は、データ処理装置２００と、データ処理装置２００に接続されたデジタルカメラ１００と、を備えている。データ処理装置２００は、例えば、パーソナルコンピュータである。データ処理装置２００は、プロセッサ２１０と、記憶装置２１５と、画像を表示する表示部２４０と、ユーザによる操作を受け入れる操作部２５０と、通信インタフェース２７０と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置２１５は、揮発性記憶装置２２０と、不揮発性記憶装置２３０と、を含んでいる。
【００３３】
プロセッサ２１０は、データ処理を行う装置であり、例えば、ＣＰＵである。揮発性記憶装置２２０は、例えば、ＤＲＡＭであり、不揮発性記憶装置２３０は、例えば、フラッシュメモリである。
【００３４】
不揮発性記憶装置２３０は、第１プログラム２３２と、第２プログラム２３３と、予測モデル２３４と、を格納している。本実施例では、予測モデル２３４は、人工ニューラルネットワークのモデルであり、後述するトレーニング処理によってトレーニングされる機械学習モデルである（以下、「機械学習モデル２３４」、または、単に「学習モデル２３４」とも呼ぶ）。本実施例では、学習モデル２３４は、プログラムモジュールである。学習モデル２３４の詳細については、後述する。
【００３５】
プロセッサ２１０は、第１プログラム２３２と、第２プログラム２３３と、学習モデル２３４との実行に利用される種々の中間データを、記憶装置２１５（例えば、揮発性記憶装置２２０、不揮発性記憶装置２３０のいずれか）に、一時的に格納する。
【００３６】
表示部２４０は、液晶ディスプレイ、有機ＥＬディスプレイなどの、画像を表示する装置である。操作部２５０は、表示部２４０上に重ねて配置されたタッチパネル、ボタン、レバーなどの、ユーザによる操作を受け取る装置である。ユーザは、操作部２５０を操作することによって、種々の指示をデータ処理装置２００に入力可能である。通信インタフェース２７０は、他の装置と通信するためのインタフェースである（例えば、ＵＳＢインタフェース、有線ＬＡＮインタフェース、IEEE802.11の無線インタフェース）。デジタルカメラ１００は、通信インタフェース２７０に接続されている。
【００３７】
Ａ２．学習モデルの構成：
図２は、学習モデル２３４の例の説明図である。本実施例では、学習モデル２３４の機能は、プロセッサ２１０がプログラムモジュールである学習モデル２３４を実行することによって、実現される。学習モデル２３４には、入力画像データ９１０が入力される。入力画像データ９１０は、ラベルシート７００（図１）を光学的に読み取って得られる画像データであり、入力画像データ９１０によって表される入力画像９１０ｉは、ラベルシート７００を表している。本実施例では、ラベルシート７００には、図形７０１と文字列７０２とが印刷されている。
【００３８】
学習モデル２３４は、入力画像データ９１０の入力画像９１０ｉの特徴を抽出し、抽出された特徴に基づいて入力画像９１０ｉを再構成することによって、出力画像９４０ｉを表す出力画像データ９４０を生成する。出力画像９４０ｉは、入力画像９１０ｉのラベルシート７００から再構成されたラベルシート９５０を表している。出力画像９４０ｉのラベルシート９５０は、図形７０１に対応する図形９５１と、文字列７０２に対応する文字列９５２とを、有している。
【００３９】
入力画像９１０ｉと出力画像９４０ｉとは、第１方向Ｄ１に平行な２辺と、第１方向Ｄ１に垂直な第２方向Ｄ２に平行な２辺と、を有する矩形状の画像である。これらの画像９１０ｉ、９４０ｉは、第１方向Ｄ１と第２方向Ｄ２とに沿ってマトリクス状に並ぶ複数の画素のそれぞれの色値によって、表されている。幅Ｗは、第１方向Ｄ１の画素数を示し、高さＨは、第２方向Ｄ２の画素数を示している。本実施例では、入力画像データ９１０と出力画像データ９４０とは、複数の画素のそれぞれの色値を示すビットマップデータである。また、本実施例では、各画素の色値は、０から２５５までの２５６階調のＲ（赤）Ｇ（緑）Ｂ（青）の階調値で表されている。
【００４０】
なお、現実のラベルシート７００は、オブジェクト（本実施例では、図形７０１や文字列７０２）の一部の欠けなどの欠陥を有し得る。本実施例では、学習モデル２３４は、入力画像９１０ｉのラベルシート７００が欠陥を有する場合であっても、欠陥の無いラベルシートを表す出力画像データ９４０を生成するように、トレーニングされる（詳細は、後述）。
【００４１】
学習モデル２３４は、入力画像データ９１０が入力される入力層Ｌ１０と、入力層Ｌ１０からのデータを処理する中間層Ｌ２０と、中間層Ｌ２０からのデータを処理する出力層Ｌ３０と、を備えている。
【００４２】
図３は、入力層Ｌ１０の構成を示すブロック図である。入力層Ｌ１０は、入力画像データ９１０を用いて、入力画像データ９１０の特徴（すなわち、入力画像９１０ｉの特徴）を示す特徴データ９２０を生成する。このような入力層Ｌ１０は、エンコーダとも呼ばれる。本実施例では、入力層Ｌ１０は、３個の畳込層３１１−３１３と、２個のプーリング層３２１、３２２と、加算部３３１と、を備えている。
【００４３】
３個の畳込層３１１−３１３には、それぞれ、入力画像データ９１０が入力される。畳込層３１１−３１３は、それぞれ、畳込処理(convolution)とバイアスの加算処理とを実行する。
【００４４】
第１畳込層３１１による畳込処理は、入力されたデータに対して「ｐ１×ｑ１×ｒ」のサイズのｓ個の第１種入力フィルタＦＬ１１を適用して、入力されたデータと第１種入力フィルタＦＬ１１との相関を示す相関値を算出する処理である。値ｐ１は、第１種入力フィルタＦＬ１１の第１方向Ｄ１のサイズ（画素数）を示し、値ｑ１は、第１種入力フィルタＦＬ１１の第２方向Ｄ２のサイズ（画素数）を示し、値ｒは、色成分の数（本実施例では、３（ＲＧＢ））を示している。１個の第１種入力フィルタＦＬ１１は、「ｐ１×ｑ１×ｒ」個の重みを含んでいる。第１種入力フィルタＦＬ１１を適用する処理では、入力画像データ９１０から第１種入力フィルタＦＬ１１の位置に対応する部分の「ｐ１×ｑ１」個の画素のＲＧＢの階調値、すなわち、「ｐ１×ｑ１×ｒ」個の階調値のリストが取得される。取得されたリストと、第１種入力フィルタＦＬ１１の「ｐ１×ｑ１×ｒ」個の重みのリストと、の内積が算出される。バイアスの加算処理は、内積に、１個の第１種入力フィルタＦＬ１１に対して１個ずつ準備されたバイアスを加算する処理である。「内積＋バイアス」が、相関値を示している。相関値の算出は、第１種入力フィルタＦＬ１１をスライドさせながら、第１種入力フィルタＦＬ１１の複数の位置のそれぞれにおいて、行われる。１個の第１種入力フィルタＦＬ１１は、第１種入力フィルタＦＬ１１の複数の位置のそれぞれにおける相関値を示すビットマップデータ９１１を生成する。このビットマップデータ９１１によって表される画像９１１ｉを、特徴マップ、あるいは、畳込マップとも呼ぶ。畳込マップ９１１ｉの画素の位置は、第１種入力フィルタＦＬ１１の位置を示している。本実施例では、畳込マップ９１１ｉのサイズ（すなわち、第１方向Ｄ１の画素数と第２方向Ｄ２の画素数）が、入力画像９１０ｉのサイズ（すなわち、Ｗ×Ｈ）と同じとなるように、畳込処理が行われる。従って、ストライド（フィルタをスライドさせる量）は、１である。また、入力画像９１０ｉの周囲では、ゼロパディングによって、画素が補われる。
【００４５】
フィルタの総数ｓは、チャンネル数とも呼ばれる。ｓ個の第１種入力フィルタＦＬ１１が用いられる場合、ｓ個のビットマップデータ９１１が生成される。本実施例では、チャンネル数ｓは、８である。
【００４６】
畳込層３１１−３１３は、それぞれ、入力フィルタＦＬ１１−ＦＬ１３を用いて、ビットマップデータ９１１−９１３を生成する。３種類の入力フィルタＦＬ１１−ＦＬ１３の間では、サイズが異なっている。第２種入力フィルタＦＬ１２は、第１種入力フィルタＦＬ１１よりも大きく、第３種入力フィルタＦＬ１３は、第２種入力フィルタＦＬ１２よりも大きい。２枚のフィルタの間のサイズの比較は、以下のように行われる。第２フィルタが第１フィルタの全体を包含するように第２フィルタ上に第１フィルタを重ねた状態で、第２フィルタが第１フィルタに重ならない部分を含む場合、第２フィルタは第１フィルタよりも大きいと判断される。フィルタに限らず、画像とウィンドウなどの２次元の領域のサイズの比較についても、同様である。
【００４７】
本実施例では、第１種入力フィルタＦＬ１１のサイズは、ｐ１×ｑ１であり、第２種入力フィルタＦＬ１２のサイズは、ｐ２×ｑ２であり、第３種入力フィルタＦＬ１３のサイズは、ｐ３×ｑ３である。そして、ｐ１＜ｐ２＜ｐ３であり、ｑ１＜ｑ２＜ｑ３である。
例えば、ｐ１＝１、ｐ２＝２、ｐ３＝３であり、ｑ１＝１、ｑ２＝２、ｑ３＝３である。
畳込層３１１−３１３の間の差異は、フィルタのサイズが異なる点だけである。例えば、チャンネル数ｓは、３個の畳込層３１１−３１３に共通である。第２畳込層３１２は、ｓ個のビットマップデータ９１２（すなわち、ｓ枚の畳込マップ９１２ｉ）を生成し、第３畳込層３１３は、ｓ個のビットマップデータ９１３（すなわち、ｓ枚の畳込マップ９１３ｉ）を生成する。なお、いずれの入力フィルタＦＬ１１−ＦＬ１３も、入力画像データ９１０の入力画像９１０ｉよりも小さい。入力フィルタＦＬ１１−ＦＬ１３のサイズは、入力画像９１０ｉのサイズが大きいほど、大きい値に設定されてよい。
【００４８】
畳込層３１１−３１３によって生成される畳込マップ９１１ｉ−９１３ｉの各画素の値は、入力画像９１０ｉのオブジェクトのうちの入力フィルタＦＬ１１−ＦＬ１３に含まれる部分の形状から、大きな影響を受ける。このように、畳込マップ９１１ｉ−９１３ｉは、入力フィルタＦＬ１１−ＦＬ１３に含まれる部分の形状の特徴を、示し得る。第１畳込マップ９１１ｉは、小サイズの第１種入力フィルタＦＬ１１に含まれる小サイズの部分の形状の特徴を示し得る。第２畳込マップ９１２ｉは、中サイズの第２種入力フィルタＦＬ１２に含まれる中サイズの部分の形状の特徴を示し得る。第３畳込マップ９１３ｉは、大サイズの第３種入力フィルタＦＬ１３に含まれる大サイズの部分の形状の特徴を示し得る。例えば、第１畳込層３１１は、点などの細かい形状の特徴を抽出でき、第２畳込層３１２は、直線の特徴を抽出でき、第３畳込層３１３は、曲線の特徴を抽出できる。このように、畳込層３１１−３１３は、入力画像９１０ｉのオブジェクトのうち入力フィルタＦＬ１１−ＦＬ１３に含まれる部分の形状の特徴を抽出し得る。第１畳込マップ９１１ｉは、高い解像度の情報を抽出し得る。第２畳込マップ９１２ｉは、中間の解像度の情報を抽出し得る。第３畳込マップ９１３ｉは、低い解像度の情報を抽出し得る。なお、細かい形状の特徴を抽出できるとは、高い解像度の情報を抽出できると言い換えてもよい。また、粗い形状の特徴を抽出できるとは、低い解像度の情報を抽出できると言い換えてもよい。
【００４９】
２個のプーリング層３２１、３２２には、それぞれ、第１畳込層３１１からのｓ個のビットマップデータ９１１が入力される。プーリング層３２１、３２２は、ウィンドウに含まれる複数の画素の複数の値を用いて、代表値を決定する処理を実行する。本実施例では、プーリング層３２１、３２２は、それぞれ、いわゆるマックスプーリングを行う。
【００５０】
第１プーリング層３２１は、入力されたビットマップデータ９１１に対して「ｐａ×ｑａ」の第１ウィンドウＷＮ２１を適用する。値ｐａは、第１ウィンドウＷＮ２１の第１方向Ｄ１のサイズ（画素数）を示し、値ｑａは、第１ウィンドウＷＮ２１の第２方向Ｄ２のサイズ（画素数）を示している。第１ウィンドウＷＮ２１を用いる最大値の選択は、第１ウィンドウＷＮ２１をスライドさせながら、第１ウィンドウＷＮ２１の複数の位置のそれぞれにおいて、行われる。第１プーリング層３２１は、第１ウィンドウＷＮ２１の複数の位置のそれぞれにおける最大値を示すビットマップデータ９１４を生成する。このビットマップデータ９１４によって表される画像９１４ｉを、特徴マップ、あるいは、プーリングマップとも呼ぶ。プーリングマップ９１４ｉの画素の位置は、第１ウィンドウＷＮ２１の位置を示している。本実施例では、出力されるプーリングマップ９１４ｉのサイズ（すなわち、第１方向Ｄ１の画素数と第２方向Ｄ２の画素数）が、入力された畳込マップ９１１ｉのサイズ（すなわち、入力画像９１０ｉのサイズであるＷ×Ｈ）と同じとなるように、マックスプーリングが行われる。従って、ストライド（ウィンドウをスライドさせる量）は、１である。また、入力される畳込マップ９１１ｉの周囲では、ゼロパディングによって、画素が補われる。
【００５１】
第１プーリング層３２１には、ｓ個のビットマップデータ９１１が入力される。第１プーリング層３２１は、ｓ個のビットマップデータ９１１から、ｓ個のビットマップデータ９１４を生成する。
【００５２】
第２プーリング層３２２は、第２ウィンドウＷＮ２２を用いて、ビットマップデータ９１５を生成する。第２ウィンドウＷＮ２２は、第１ウィンドウＷＮ２１よりも大きい。具体的には、第１ウィンドウＷＮ２１のサイズは、ｐａ×ｑａであり、第２ウィンドウＷＮ２２のサイズは、ｐｂ×ｑｂである。そして、ｐａ＜ｐｂであり、ｑａ＜ｑｂである。例えば、ｐａ＝３、ｐｂ＝５であり、ｑａ＝３、ｑｂ＝５である。プーリング層３２１、３２２の間の差異は、ウィンドウのサイズが異なる点だけである。第２プーリング層３２２は、ｓ個のビットマップデータ９１１（すなわち、ｓ枚の畳込マップ９１１ｉ）から、ｓ個のビットマップデータ９１５（すなわち、ｓ枚のプーリングマップ９１５ｉ）を生成する。
【００５３】
上述したように、プーリング層３２１、３２２に入力される畳込マップ９１１ｉは、入力画像９１０ｉのオブジェクトの形状の特徴を示している。プーリング層３２１、３２２は、ウィンドウＷＮ２１、ＷＮ２２内の代表的な値（本実施例では、最大値）を決定する。従って、畳込マップ９１１ｉ内での特徴部分の位置の変位がウィンドウＷＮ２１、ＷＮ２２の範囲内である場合、すなわち、入力画像９１０ｉ内でのオブジェクトの特徴部分の位置の変位がウィンドウＷＮ２１、ＷＮ２２の範囲内である場合、ウィンドウＷＮ２１、ＷＮ２２からは、おおよそ同じ代表値が決定され得る。このように、プーリング層３２１、３２２は、ウィンドウＷＮ２１、ＷＮ２２の範囲内での特徴部分の位置の変位を許容しつつ、第１畳込層３１１によって抽出された形状の特徴を、抽出できる。入力画像９１０ｉ上での特徴部分の位置の変位がプーリングマップ９１４ｉ、９１５ｉに与える影響は、位置の変位がウィンドウＷＮ２１、ＷＮ２２の範囲内である場合には、緩和される。位置の変位がウィンドウＷＮ２１、ＷＮ２２の範囲を超える場合には、プーリングマップ９１４ｉ、９１５ｉは、位置の変位に応じて変化する。このように、プーリングマップ９１４ｉ、９１５ｉは、第１畳込層３１１によって抽出される形状の特徴の入力画像９１０ｉ内での位置の変位に関する情報を、示している。
【００５４】
加算部３３１は、畳込層３１１−３１３とプーリング層３２１、３２２とからの５個のビットマップデータ９１１−９１５を用いて、特徴データ９２０を生成する。特徴データ９２０は、入力されるマップ９１１ｉ−９１５ｉと同じサイズのマップを表している（特徴マップ９２０ｉとも呼ぶ）。本実施例では、加算部３３１は、５枚のマップ９１１ｉ−９１５ｉの同じ位置の５個の画素の５個の値の合計値を活性化関数に入力し、活性化関数の算出値を特徴マップ９２０ｉの同じ位置の画素の値として採用する。本実施例では、活性化関数としては、いわゆるReLU（Rectified Linear Unit）が用いられる。なお、加算部３３１は、５個のビットマップデータ９１１−９１５から１個の特徴データ９２０を生成する処理を、チャンネル毎に実行する。本実施例では、チャンネル数ｓが８であるので、加算部３３１は、８個の特徴データ９２０を生成する。ｓ個の特徴データ９２０は、中間層Ｌ２０（図２）へ供給される。
【００５５】
なお、第１畳込層３１１は、ｓ個の第１種入力フィルタＦＬ１１の「ｐ１×ｑ１×ｒ×ｓ」個の重みと、ｓ個の第１種入力フィルタＦＬ１１に対応するｓ個のバイアスと、を含む演算パラメータセット６０１を利用する。同様に、第２畳込層３１２は、ｓ個の第２種入力フィルタＦＬ１２の「ｐ１×ｑ１×ｒ×ｓ」個の重みとｓ個のバイアスとを含む演算パラメータセット６０２を利用する。第３畳込層３１３は、ｓ個の第３種出力フィルタＦＬ３３の「ｐ１×ｑ１×ｒ×ｓ」個の重みとｓ個のバイアスとを含む演算パラメータセット６０３を利用する。
【００５６】
図４は、中間層Ｌ２０の構成を示すブロック図である。中間層Ｌ２０は、ｓ個の特徴データ９２０を用いて、出力用のｓ個の中間データ９３０を生成する。本実施例では、中間層Ｌ２０は、第１変換部４１０と、第１全結合層４１５と、第２全結合層４２０と、第２変換部４３０と、を備えている。
【００５７】
１枚の特徴マップ９２０ｉは、「Ｗ×Ｈ」個の画素のそれぞれの値を示している（以下、特徴マップの画素に対応付けられた値を、特徴値とも呼ぶ）。ｓ個の特徴データ９２０は、「Ｗ×Ｈ×ｓ」個の特徴値を示している。後述する第１全結合層４１５は、「Ｗ×Ｈ×ｓ」個の特徴値を、１次元ベクトルとして処理する。第１変換部４１０は、「Ｗ×Ｈ×ｓ」個の特徴値と１次元ベクトルの要素との予め決められた対応関係に従って、「Ｗ×Ｈ×ｓ」個の特徴値の参照順を、１次元ベクトルの要素の参照順に変換する。なお、第１変換部４１０が省略され、第１全結合層４１５が、上記対応関係に従って、「Ｗ×Ｈ×ｓ」個の特徴値を参照してよい。
【００５８】
第１全結合層４１５は、一般的なニューラルネットワークで用いられる全結合層と同様の層である。本実施例では、第１全結合層４１５は、「Ｗ×Ｈ×ｓ」個の特徴値を用いて、Ｎ個の特徴値を算出する。Ｎは、１以上の整数であってよく、２以上の整数であってよい。Ｎは、「Ｗ×Ｈ×ｓ」と同じであってよく、「Ｗ×Ｈ×ｓ」よりも小さい整数であってよい。また、Ｎは、「Ｗ×Ｈ×ｓ」よりも大きい整数であってよい。Ｎ個の特徴値は、それぞれ、潜在変数とも呼ばれる（以下、潜在変数９２０ｚとも呼ぶ）。第１全結合層４１５は、入力された「Ｗ×Ｈ×ｓ」個の特徴値で構成されるベクトルと「Ｗ×Ｈ×ｓ」個の重みで構成される重みベクトルとの内積を算出する。算出される内積が、１個の特徴値として出力される。バイアスの加算と、活性化関数による演算は、省略される。重みベクトルは、Ｎ個の中間値のそれぞれに対して、別個に準備される。第１全結合層４１５は、Ｎ個の重みベクトル（すなわち、「Ｗ×Ｈ×ｓ×Ｎ」個の重み）を含む演算パラメータセット６０８を利用する。
【００５９】
第２全結合層４２０は、一般的なニューラルネットワークで用いられる全結合層と同様の層である。本実施例では、第２全結合層４２０は、第１全結合層４１５からのＮ個の特徴値を用いて、「Ｗ×Ｈ×ｓ」個の中間値を算出する。第２全結合層４２０は、入力されたＮ個の特徴値で構成されるベクトルとＮ個の重みで構成される重みベクトルとの内積に、バイアスを加えた値（内積＋バイアス）を算出し、算出した値を活性化関数に入力する。活性化関数の算出値が、１個の中間値として用いられる。本実施例では、活性化関数としては、いわゆるReLUが用いられる。重みベクトルとバイアスとは、「Ｗ×Ｈ×ｓ」個の中間値のそれぞれに対して、別個に準備される。第２全結合層４２０は、「Ｗ×Ｈ×ｓ」個の重みベクトル（すなわち、「Ｎ×Ｗ×Ｈ×ｓ」個の重み）と「Ｗ×Ｈ×ｓ」個のバイアスと、を含む演算パラメータセット６０４を利用する。
【００６０】
後述する出力層Ｌ３０（図２）は、「Ｗ×Ｈ×ｓ」個の中間値を、ｓ枚のマップとして処理する。１枚のマップは、「Ｗ×Ｈ」のサイズの画像と同様に、「Ｗ×Ｈ」個の画素の値によって表される。第２変換部４３０は、「Ｗ×Ｈ×ｓ」個の中間値とｓ枚のマップの複数の画素との予め決められた対応関係に従って、「Ｗ×Ｈ×ｓ」個の中間値の参照順を、ｓ枚のマップの複数の画素の参照順に変換する。以下、ｓ枚のマップのそれぞれを、中間マップ９３０ｉとも呼ぶ。また、中間マップ９３０ｉを示すデータを、中間データ９３０とも呼ぶ。中間層Ｌ２０は、ｓ個の中間データ９３０を生成する。ｓ個の中間データ９３０は、出力層Ｌ３０（図２）へ供給される。中間マップ９３０ｉの中間値は、潜在変数９２０ｚのＮ個の特徴値を用いて算出される。従って、中間値は、入力画像９１０ｉのオブジェクトの特徴を示している。なお、第２変換部４３０が省略され、出力層Ｌ３０は、上記対応関係に従って、「Ｗ×Ｈ×ｓ」個の中間値を参照してよい。
【００６１】
図５は、出力層Ｌ３０の構成を示すブロック図である。出力層Ｌ３０は、ｓ個の中間データ９３０を用いて、オブジェクトの画像を示す出力画像データ９４０を生成する。このような出力層Ｌ３０は、デコーダとも呼ばれる。本実施例では、出力層Ｌ３０は、３個の転置畳込層５１１、５１２、５１３と、加算部５２０と、を備えている。
【００６２】
３個の転置畳込層５１１−５１３には、それぞれ、ｓ個の中間データ９３０が入力される。転置畳込層５１１−５１３は、それぞれ、転置畳込（transposed convolution）とバイアスの加算処理とを実行する。転置畳込は、畳込処理によって抽出された特徴を復元する処理であり、例えば、入力されるマップを拡大する処理と、拡大されたマップを用いる畳込処理と、を含んでいる。このような転置畳込は、デコーダの一部として、利用されている。本実施例では、マップの拡大処理は省略される。そして、転置畳込層５１１−５１３は、畳込処理によって、ｓ枚の中間マップ９３０ｉから、１枚の画像を生成する。
【００６３】
第１転置畳込層５１１による畳込処理は、入力されたｓ個の中間データ９３０に対して「ｐ１×ｑ１×ｓ」のサイズの第１種出力フィルタＦＬ３１を適用して、入力されたデータと第１種出力フィルタＦＬ３１との相関を示す相関値を算出する処理である。値ｐ１、ｑ１は、第１種出力フィルタＦＬ３１のサイズであり、第１畳込層３１１（図３）の第１種入力フィルタＦＬ１１のサイズと同じである。後述するように、第１転置畳込層５１１は、r個の第１種出力フィルタＦＬ３１を利用する。１個の第１種出力フィルタＦＬ３１は、「ｐ１×ｑ１×ｓ」個の重みを含んでいる。第１種出力フィルタＦＬ３１を適用する処理では、ｓ個の中間データ９３０のそれぞれから第１種出力フィルタＦＬ３１の位置に対応する部分の「ｐ１×ｑ１」個の画素の中間値、すなわち、「ｐ１×ｑ１×ｓ」個の中間値のリストが取得される。取得されたリストと、第１種出力フィルタＦＬ３１の「ｐ１×ｑ１×ｓ」個の重みのリストと、の内積が算出される。バイアスの加算処理は、内積に、１個の第１種出力フィルタＦＬ３１に対して１個ずつ準備されたバイアスを加算する処理である。「内積＋バイアス」が、相関値を示している。相関値の算出は、第１種出力フィルタＦＬ３１をスライドさせながら、第１種出力フィルタＦＬ３１の複数の位置のそれぞれにおいて、行われる。１個の第１種出力フィルタＦＬ３１は、第１種出力フィルタＦＬ３１の複数の位置のそれぞれにおける相関値を示すビットマップデータ９３１を生成する。後述するように、相関値としては、第１種出力フィルタＦＬ３１に対応する複数の画素の中間値によって示される特徴を復元する値が、算出される。以下、ビットマップデータ９３１によって表される画像９３１ｉを、部分復元画像とも呼ぶ。部分復元画像９３１ｉの画素の位置は、第１種出力フィルタＦＬ３１の位置を示している。本実施例では、部分復元画像９３１ｉのサイズ（すなわち、第１方向Ｄ１の画素数と第２方向Ｄ２の画素数）が、中間マップ９３０ｉのサイズ（すなわち、Ｗ×Ｈ）と同じとなるように、畳込処理が行われる。従って、ストライド（フィルタをスライドさせる量）は、１である。また、中間マップ９３０ｉの周囲では、ゼロパディングによって、画素が補われる。
【００６４】
本実施例では、部分復元画像９３１ｉの１個の画素には、入力画像９１０ｉの画素と同様に、ｒ個の色成分の階調値が対応付けられる。本実施例では、値ｒは３であり、１個の画素には、ＲＧＢの３個の階調値が対応付けられる。第１転置畳込層５１１は、ｒ個の第１種出力フィルタＦＬ３１を用いることによって、画素毎にｒ個の値を算出する。第１転置畳込層５１１によって生成されるビットマップデータ９３１は、ｒ色のビットマップデータである。
【００６５】
転置畳込層５１１−５１３は、それぞれ、出力フィルタＦＬ３１−ＦＬ３３を用いて、ビットマップデータ９３１−９３３を生成する。３種類の出力フィルタＦＬ３１−ＦＬ３３の間では、サイズが異なっている。第２種出力フィルタＦＬ３２のサイズは、第２種入力フィルタＦＬ１２のサイズ（ｐ２×ｑ２）と同じであり、第３種出力フィルタＦＬ３３のサイズは、第３種入力フィルタＦＬ１３のサイズ（ｐ３×ｑ３）と同じである。転置畳込層５１１−５１３の間の差異は、フィルタのサイズが異なる点だけである。第２転置畳込層５１２は、１個のｒ色のビットマップデータ９３２（すなわち、１枚のｒ色の部分復元画像９３２ｉ）を生成し、第３転置畳込層５１３は、１個のｒ色のビットマップデータ９３３（すなわち、１枚のｒ色の部分復元画像９３３ｉ）を生成する。なお、いずれの出力フィルタＦＬ３１−ＦＬ３３も、出力画像データ９４０の出力画像９４０ｉよりも小さい。
【００６６】
転置畳込層５１１−５１３によって生成される部分復元画像９３１ｉ−９３３ｉの各画素の値は、中間マップ９３０ｉのうちの出力フィルタＦＬ３１−ＦＬ３３に含まれる部分の中間値から、大きな影響を受ける。図４で説明したように、中間マップ９３０ｉの中間値は、入力画像９１０ｉのオブジェクトの特徴（形状の特徴を含む）を示している。従って、部分復元画像９３１ｉ−９３１ｉは、出力フィルタＦＬ３１−ＦＬ３３に対応する部分によって示される形状の特徴を、示し得る。第１部分復元画像９３１ｉは、小サイズの第１種出力フィルタＦＬ３１に対応する部分によって示される小サイズの形状の特徴を示し得る。第２部分復元画像９３２ｉは、中サイズの第２種出力フィルタＦＬ３２に対応する部分によって示される中サイズの形状の特徴を示し得る。第３部分復元画像９３３ｉは、大サイズの第３種出力フィルタＦＬ３３に対応する部分によって示される大サイズの形状の特徴を示し得る。例えば、第１転置畳込層５１１は、点などの細かい形状の特徴を復元でき、第２転置畳込層５１２は、直線の特徴を復元でき、第３転置畳込層５１３は、曲線の特徴を復元できる。このように、転置畳込層５１１−５１３は、中間データ９３０のうち出力フィルタＦＬ３１−ＦＬ３３に対応する部分を用いて形状の特徴を復元し得る。第１部分復元画像９３１ｉは、高い解像度の情報を復元し得る。第２部分復元画像９３２ｉは、中間の解像度の情報を復元し得る。第３部分復元画像９３３ｉは、低い解像度の情報を復元し得る。なお、細かい形状の特徴を復元できるとは、高い解像度の情報を復元できると言い換えてもよい。また、粗い形状の特徴を復元できるとは、低い解像度の情報を復元できると言い換えてもよい。
【００６７】
加算部５２０は、転置畳込層５１１−５１３からの３個のビットマップデータ９３１−９３３を用いて、出力画像データ９４０を生成する。出力画像データ９４０は、入力される部分復元画像９３１ｉ−９３２ｉと同じサイズの出力画像９４０ｉを表している。本実施例では、加算部５２０は、３枚の部分復元画像９３１ｉ−９３３ｉの同じ位置の３個の画素の３個の値の合計値を活性化関数に入力し、活性化関数の算出値を出力画像９４０ｉの同じ位置の画素の値として採用する。本実施例では、活性化関数としては、いわゆるシグモイド関数が用いられる。なお、加算部５２０は、画素の値の算出を、ｒ個の色成分毎に行う。本実施例では、３枚の部分復元画像９３１ｉ−９３３ｉの同じ位置の３個の画素の３個の赤Ｒの階調値を用いて、出力画像９４０ｉの同じ位置の画素の赤Ｒの階調値が算出される。緑Ｇの階調値と青Ｂの階調値も、同様に、算出される。生成される出力画像９４０ｉは、復元された種々のサイズの形状の特徴、すなわち、ラベルシートを、示し得る。
【００６８】
なお、第１転置畳込層５１１は、ｒ個の第１種出力フィルタＦＬ３１の「ｐ１×ｑ１×ｓ×ｒ」個の重みと、ｒ個の第１種出力フィルタＦＬ３１に対応するｒ個のバイアスと、を含む演算パラメータセット６０５を利用する。同様に、第２転置畳込層５１２は、ｒ個の第２種出力フィルタＦＬ３２の「ｐ１×ｑ１×ｓ×ｒ」個の重みとｒ個のバイアスとを含む演算パラメータセット６０６を利用する。第３転置畳込層５１３は、ｒ個の第３種出力フィルタＦＬ３３の「ｐ１×ｑ１×ｓ×ｒ」個の重みとｒ個のバイアスとを含む演算パラメータセット６０７を利用する。
【００６９】
Ａ３．トレーニング処理：
図６は、学習モデル２３４を生成するためのトレーニング処理の例を示すフローチャートである。本実施例では、学習モデル２３４は、ラベルシート７００の画像データが入力された場合に、欠陥の無いラベルシートの画像データが生成されるように、トレーニングされる。トレーニングによって、上記の演算パラメータセット６０１−６０８（図３−図５）を含む複数の演算パラメータが、調整される。トレーニングは、データ処理装置２００（図１）によって、実行される。本実施例では、プロセッサ２１０は、第１プログラム２３２に従って、トレーニングの処理を実行する。
【００７０】
Ｓ１１０では、プロセッサ２１０は、学習モデル２３４の複数個の演算パラメータ（演算パラメータセット６０１−６０８を含む）を初期化する。例えば、各演算パラメータは、乱数値に設定される。
【００７１】
Ｓ１１５では、プロセッサ２１０は、基準画像データを取得する。基準画像データは、欠陥の無いラベルシート（基準ラベルシートとも呼ぶ）の画像データである。図７（Ａ）は、基準ラベルシート８００の説明図である。基準ラベルシート８００には、図形８０１と文字列８０２とが、印刷されている。図７（Ｂ）は、基準画像データの例の説明図である。基準画像データ８１０は、基準ラベルシート８００を撮影して得られる画像データである。本実施例では、作業者は、デジタルカメラ１００（図１）の撮影領域内に、基準ラベルシート８００を配置する。そして、プロセッサ２１０は、デジタルカメラ１００に、撮影指示を供給する。デジタルカメラ１００は、指示に応じて、基準ラベルシート８００を撮影し、基準画像データを生成する。プロセッサ２１０は、デジタルカメラ１００から、基準画像データを取得し、基準画像データを不揮発性記憶装置２３０に格納する。なお、プロセッサ２１０は、デジタルカメラ１００から取得した画像データのうち基準ラベルシート８００を示す部分を切り出すクロップ処理を実行して、基準画像データ８１０を取得してもよい。
【００７２】
Ｓ１２０では、プロセッサ２１０は、基準画像データ８１０を用いて複数の学習入力画像データを生成し、生成した複数の学習入力画像データを不揮発性記憶装置２３０に格納する。本実施例では、複数の学習入力画像データは、基準画像８１０ｉ内の基準ラベルシート８００の位置または向きを変更することによって、生成される。複数の学習入力画像データの間では、移動方向と、移動量と、回転方向と、回転角度と、の４個のパラメータのうち１以上のパラメータが、互いに異なっている。これらのパラメータは、ラベルシートを光学的に読み取ることによってラベルシートの画像データを取得する場合に生じ得るずれ量の範囲内で、変更される。このように、既存の画像データを加工することによって複数の学習用の画像データを生成する処理は「data augmentation」とも呼ばれる。なお、位置または向きの変更に限らず、色が変更されてよく、ノイズが付加されてよく、平滑化処理が行われてもよい。いずれの場合も、複数の学習入力画像データは、欠陥の無い基準ラベルシート８００を表している。
【００７３】
Ｓ１３０では、プロセッサ２１０は、複数の学習入力画像データからＶ個（Ｖは１以上の整数）の学習入力画像データを選択し、Ｖ個の学習入力画像データを学習モデル２３４に入力し、Ｖ個の出力画像データを生成する。なお、Ｖ個の学習入力画像データとしては、複数の学習入力画像データのうちの未使用の学習入力画像データが選択されてよい。また、複数の学習入力画像データからランダムにＶ個の学習入力画像データが選択されてもよい。
【００７４】
Ｓ１３５では、プロセッサ２１０は、学習モデル２３４に入力されたＶ個の学習入力画像データのそれぞれについて、学習入力画像データと、学習入力画像データに対応する出力画像データと、の間の差分を示す誤差値を算出する。誤差値は、予め決められた損失関数に基づいて算出される。例えば、誤差値の算出には、平均二乗誤差（MSE（Mean Squared Error））が用いられる。誤差値は、学習入力画像データと出力画像データとの差分が小さくなるほど小さくなる。
【００７５】
Ｓ１４０では、プロセッサ２１０は、Ｖ個の誤差値を用いて、学習モデル２３４の複数の演算パラメータ（演算パラメータセット６０１−６０８を含む）を調整する。具体的には、プロセッサ２１０は、誤差値が小さくなるように、すなわち、学習入力画像データと出力画像データとの差分が小さくなるように、予め決められたアルゴリズムに従って、複数の演算パラメータを調整する。アルゴリズムとしては、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズムが用いられる。
【００７６】
Ｓ１５０では、プロセッサ２１０は、トレーニングが完了したか否かを判断する。トレーニング完了の条件は、例えば、Ｓ１３５で算出された全ての誤差値が予め決められた誤差閾値よりも小さいことであってよい。これに代えて、トレーニング完了の条件は、作業者からの完了指示が入力されたことであってよい。作業者は、出力画像データによって表される画像が、対応する学習入力画像データによって表される画像を十分に再現できているか否かを確認する。作業者は、確認結果に応じて、操作部２５０を介して、トレーニングの完了指示または継続指示を入力する。また、トレーニング完了の条件は、Ｓ１３０−Ｓ１４０の処理が実行された回数が予め決められた回数閾値以上であることであってよい。
【００７７】
トレーニングが完了していないと判断される場合（Ｓ１５０：Ｎｏ）、プロセッサ２１０は、Ｓ１３０へ移行する。トレーニングが完了したと判断される場合（Ｓ１５０：Ｙｅｓ）、Ｓ１６０で、調整済の演算パラメータを有する学習モデル２３４（すなわち、学習済の学習モデル２３４）を、不揮発性記憶装置２３０に格納する。そして、図６の処理が終了する。学習済の学習モデル２３４は、後述する差分データ生成処理で、利用される。
【００７８】
学習済の学習モデル２３４は、調整済のパラメータを用いて処理を実行するようにコンピュータを機能させるように、構成されている。図２−図５で説明したように、学習モデル２３４は、入力された画像のオブジェクト（ここでは、ラベルシートの図形と文字列）の特徴（形状の特徴を含む）を抽出し、抽出された特徴に基づいてオブジェクトの画像を復元する。図７（Ｃ）は、学習済の学習モデル２３４によって生成される出力画像データの例の説明図である。この出力画像データ８４０は、図７（Ｂ）の画像データ８１０が学習済の学習モデル２３４に入力されることによって生成される画像データの例を示している。出力画像データ８４０の出力画像８４０ｉは、図７（Ｂ）の画像８１０ｉの基準ラベルシート８００とほとんど同じラベルシート８００（図形８０１と文字列８０２を含む）を表している。上述したように、学習モデル２３４は、欠陥の無いオブジェクトの学習入力画像データを用いてトレーニングされる。この場合、学習済の学習モデル２３４は、入力画像のオブジェクトが欠陥を有するか否かに関わらず、欠陥の無いオブジェクトを表す出力画像データを生成する。
【００７９】
Ａ４．差分データ生成処理：
図８は、差分データ生成処理の例を示すフローチャートである。差分データは、ラベルシートのサンプルが欠陥を有するか否かを判断するために、利用可能である。差分データの生成は、データ処理装置２００（図１）によって、実行される。本実施例では、プロセッサ２１０は、第２プログラム２３３に従って、差分データの生成処理を実行する。
【００８０】
Ｓ２１０では、プロセッサ２１０は、ラベルシートのサンプルの画像データである対象入力画像データを取得し、取得した対象入力画像データを記憶装置２１５（例えば、不揮発性記憶装置２３０）に格納する。対象入力画像データ７１０の取得は、図６のＳ１１５の処理と同様に、デジタルカメラ１００を用いて行われる。
【００８１】
図９は、画像処理の説明図である。図中には、差分データ生成処理で処理される複数の画像７１０ｉ、７４０ｉ、７１０ｂｉ、７４０ｂｉ、７６０ｄｉ、７４０ｅｉ、７７０ｉ、７７０ｂｉ、７８０ｉの例が示されている。これらの画像は、図中の上から下に向かって、処理の順番に配置されている。
【００８２】
図９の左上には、対象入力画像データ７１０の対象入力画像７１０ｉが示されている。
対象入力画像７１０ｉは、欠陥を有するラベルシート７００ｘを表している（入力ラベルシート７００ｘとも呼ぶ）。具体的には、ラベルシート７００ｘは、図形７０１の一部の欠け７０１ｘと、文字列７０２の一部の欠け７０２ｘと、を有している。また、対象入力画像７１０ｉは、ノイズ７１０ｎを含んでいる。ノイズ７１０ｎは、デジタルカメラ１００におけるデータ処理などの種々の原因によって、生じ得る。
【００８３】
Ｓ２２０（図８）では、プロセッサ２１０は、対象入力画像データを、学習済の学習モデル２３４に入力することによって、対象出力画像データを生成する。図９の右上には、対象出力画像データ７４０の対象出力画像７４０ｉが示されている。対象出力画像７４０ｉは、欠陥の無いラベルシート７５０を表している（出力ラベルシート７５０とも呼ぶ）。対象出力画像７４０ｉ内の出力ラベルシート７５０の位置と向きとは、対象入力画像７１０ｉ内の入力ラベルシート７００ｘの位置と向きとおおよそ同じである。出力ラベルシート７５０の図形７５１と文字列７５２は、基準ラベルシート８００（図７（Ａ））の図形８０１と文字列８０２と、おおよそ同じである。対象出力画像７４０ｉは、ノイズ７４０ｎを含んでいる。ノイズ７４０ｎは、学習モデル２３４による演算などの種々の原因によって、生じ得る。
【００８４】
Ｓ２３０（図８）では、プロセッサ２１０は、対象入力画像データと対象出力画像データとに平滑化処理を行い、平滑入力画像データと平滑出力画像データとを生成する（平滑化処理は、ぼかし処理とも呼ばれる）。本実施例では、平滑化処理は、平均値フィルタを用いる処理である。図９の上から２段目には、平滑入力画像データ７１０ｂの平滑入力画像７１０ｂｉと、平滑出力画像データ７４０ｂの平滑出力画像７４０ｂｉとが、示されている。図示するように、ノイズ７１０ｎ、７４０ｎが、除去されている。なお、平滑化フィルタは、中央値フィルタ、ガウシアンフィルタなどの他の種々のフィルタであってよい。また、平滑化処理は、平滑化フィルタを用いる処理に限らず、画像上の位置の変化に対する画素の色値（画素値とも呼ぶ）の変化を緩やかにする種々の処理であってよい。
【００８５】
Ｓ２４０（図８）では、プロセッサ２１０は、平滑出力画像データにエッジ抽出処理を行い、エッジ画像データを生成する。本実施例では、プロセッサ２１０は、画素値（ＲＧＢ値）から輝度値を算出し、輝度値に対して公知のｓｏｂｅｌフィルタを適用して、各画素のエッジ量を算出する。そして、プロセッサ２１０は、予め決められた閾値よりも大きいエッジ量を有する画素を、エッジ画素として抽出する。図９の上から３段目の右側には、エッジ画像データ７４０ｅのエッジ画像７４０ｅｉが示されている。エッジ画像７４０ｅｉは、出力ラベルシート７５０のエッジ部分７５０ｅ（例えば、輪郭）と、図形７５１のエッジ部分７５１ｅ（例えば、輪郭や図形のパターンなど）と、文字列７５２のエッジ部分７５２ｅ（例えば、輪郭）と、を表している。本実施例では、エッジ画像データ７４０ｅは、２値のビットマップデータである。ゼロの画素値はエッジ画素を示し、１の画素値は非エッジ画素を示している。なお、エッジ抽出フィルタは、Ｐｒｅｗｉｔｔフィルタ、Ｒｏｂｅｒｔｓフィルタなどの他の種々のフィルタであってよい。また、エッジ抽出処理は、エッジ抽出フィルタを用いる処理に限らず、画像上の位置の変化に対する画素値の変化が急である部分の画素を抽出する種々の処理であってよい。
【００８６】
Ｓ２５０（図８）では、プロセッサ２１０は、平滑入力画像データと平滑出力画像データの間の差分を示す差分画像データを生成する。本実施例では、差分画像データは、平滑入力画像７１０ｂｉと平滑出力画像７４０ｂｉとの間の差分を示す差分画像を表している。プロセッサ２１０は、平滑入力画像７１０ｂと平滑出力画像７４０ｂｉとの同じ位置の２個の画素の２個の色値の差分を、差分画像の同じ位置の画素の色値として採用する。具体的には、差分画像の画素値は、平滑入力画像データのＲＧＢの画素値から算出される輝度値と、平滑出力画像データのＲＧＢの画素値から算出される輝度値と、の差分の絶対値に設定される。差分画像のゼロの画素値は、２個の画像データの間の差がゼロであることを示している。そして、差分画像の画素値が大きいほど、２個の画像データの間の差が大きい。図９の上から３段目の左側には、差分画像データ７６０ｄの差分画像７６０ｄｉが示されている。上述したように、平滑入力画像７１０ｂｉは、図形７０１の欠け７０１ｘと文字列７０２の欠け７０２ｘとを有している。一方、平滑出力画像７４０ｂｉは、そのような欠けを有していない。従って、差分画像７６０ｄｉは、図形７０１の欠け７０１ｘに対応する欠け部分７０１ｚと、文字列７０２の欠け７０２ｘに対応する欠け部分７０２ｚと、を示している。また、平滑入力画像７１０ｂｉと平滑出力画像７４０ｂｉとの間では、画像内のラベルシート７００、７５０の位置に差が生じ得る。従って、差分画像７６０ｄｉは、ラベルシートのエッジ部分７００ｄと、図形のエッジ部分７０１ｄと、文字列のエッジ部分７０２ｄと、を表し得る。なお、差分画像の画素値は、他の色成分で表されてもよい。例えば、差分画像の画素値は、赤Ｒの差分の絶対値と、緑Ｇの差分の絶対値と、青Ｂの差分の絶対値と、の３色の階調値を示してよい。
【００８７】
Ｓ２６０（図８）では、プロセッサ２１０は、エッジ画像データ７４０ｅを用いて差分画像データ７６０ｄを修正する。具体的には、差分画像７６０ｄｉからエッジ部分とは異なる非エッジ部分を抽出する処理を実行する。本実施例では、プロセッサ２１０は、エッジ画像データ７４０ｅを参照し、差分画像データ７６０ｄのうちエッジ部分の画素値をゼロに設定することによって、修正済差分画像データを生成する。図９の上から４段目の左側には、修正済差分画像データ７７０の修正済差分画像７７０ｉが示されている。修正済差分画像７７０ｉは、欠け部分７０１ｚ、７０２ｚを示している。差分画像７６０ｄｉに含まれていたエッジ部分７００ｄ、７０１ｄ、７０２ｄは、削除されている。なお、本実施例では、エッジ画像データ７４０ｅのゼロの画素値はエッジ画素を示し、１の画素値は非エッジ画素を示している。従って、プロセッサ２１０は、差分画像データ７６０ｄの画素の画素値に、エッジ画像データ７４０ｅの同じ位置の画素の画素値を乗じることによって、修正済差分画像データ７７０を生成できる。
【００８８】
Ｓ２７０（図８）では、プロセッサ２１０は、修正済差分画像データ７７０を二値化して、二値差分画像データを生成する。本実施例では、プロセッサ２１０は、修正済差分画像データ７７０の画素値と、予め決められた二値化閾値と、を比較することによって、二値化を行う。図９の最下段の左側には、二値差分画像データ７７０ｂの二値差分画像７７０ｂｉが示されている。二値差分画像７７０ｂｉは、修正済差分画像データ７７０の欠け部分７０１ｚ、７０２ｚに対応する差異部分７０１ｚｂ、７０２ｚｂを示している。なお、二値化の方法は、大きい値と小さい値とを判別する種々の方法であってよい。例えば、いわゆる大津の二値化が採用されてよい。
【００８９】
Ｓ２８０（図８）では、プロセッサ２１０は、対象出力画像データ７４０と二値差分画像データ７７０ｂとを合成して、合成画像データを生成する。本実施例では、プロセッサ２１０は、対象出力画像のうちの差異部分の色を、予め決められた特定色（例えば、白、赤など）に変更することによって、合成画像データを生成する。図９の最下段に右側には、合成画像データ７８０の合成画像７８０ｉが示されている。出力ラベルシート７５０のうち差異部分７０１ｚｂ、７０２ｚｂが、特定色で示されている。
【００９０】
Ｓ２９０（図８）では、プロセッサ２１０は、対象入力画像と対象出力画像との間の差異部分を示す画像データを、記憶装置２１５（例えば、不揮発性記憶装置２３０）に格納する。本実施例では、差分画像データ（Ｓ２５０）と、修正済差分画像データ（Ｓ２６０）と、二値差分画像データ（Ｓ２７０）と、合成画像データ（Ｓ２８０）とが、差異部分を示している。これら４個の画像データは、いずれも、差分画像データ（Ｓ２５０）を用いて得られる画像データである。Ｓ２９０で記憶装置に格納される画像データは、上記の４個の画像データから任意に選択された１個以上の画像データであってよい。本実施例では、プロセッサ２１０は、二値差分画像データと合成画像データとを、不揮発性記憶装置２３０に格納する。
【００９１】
以上により、図８の処理が終了する。Ｓ２９０で記憶装置に格納された画像データは、種々の処理で利用可能である。例えば、プロセッサ２１０は、合成画像７８０ｉ（図９）を表示部２４０に表示してよい。合成画像７８０ｉの観察者は、差異部分７０１ｚｂ、７０２ｚｂ（特に位置と形状）を容易に特定できる。また、プロセッサ２１０は、二値差分画像データ７７０ｂを解析することによって、入力ラベルシート７００ｘが欠陥を有するか否かを判断してもよい。例えば、１個の連続な差異部分の大きさ（例えば、画素数）が予め決められた閾値以上である場合に、入力ラベルシートが欠陥を有すると判断されてよい。
【００９２】
以上のように、図２の学習モデル２３４は、ラベルシート７００を含む入力画像９１０ｉの入力画像データ９１０に対応する出力画像データ９４０を生成する機械学習モデルである。そして、図８の処理では、学習済の学習モデル２３４が用いられる。図２−図５で説明したように、学習モデル２３４は、入力画像データ９１０に対する複数個の演算パラメータ（演算パラメータセット６０１−６０８を含む）を用いる演算を実行するモデルである。図３で説明したように、学習モデル２３４に基づく演算によって、入力画像データ９１０の入力画像９１０ｉに含まれる入力オブジェクト（本実施例では、ラベルシート７００の図形７０１と文字列７０２など）の形状の特徴が抽出される。そして、図４、図５で説明したように、学習モデル２３４に基づく演算によって、抽出される形状の特徴に基づく出力オブジェクト（本実施例では、ラベルシート９５０）を含む出力画像９４０ｉの出力画像データ９４０が生成される。
【００９３】
図２に示すように、学習モデル２３４は、入力画像データ９１０を用いる演算を実行する入力層Ｌ１０と、入力層Ｌ１０よりも下流側に設けられ出力画像データ９４０を生成する出力層Ｌ３０と、を備えている。
【００９４】
図３に示すように、入力層Ｌ１０は、畳込層３１１−３１３とプーリング層３２１、３２２と、加算部３３１と、を備えている。第１畳込層３１１は、入力画像９１０ｉのオブジェクトである入力オブジェクト（図形７０１、文字列７０２など）のうち入力画像９１０ｉよりも小さい第１種入力フィルタＦＬ１１の範囲に含まれる部分の形状の特徴を抽出する第１抽出部の例である。第２畳込層３１２は、第１畳込層３１１と並列に設けられている。第２畳込層３１２は、入力オブジェクトのうち入力画像９１０ｉよりも小さく第１種入力フィルタＦＬ１１の範囲よりも大きい第２種入力フィルタＦＬ１２の範囲に含まれる部分の形状の特徴を抽出する第２抽出部の例である。
【００９５】
プーリング層３２１、３２２は、第１畳込層３１１から出力されるデータを用いて演算を実行することによって、プーリングマップ９１４ｉ、９１５ｉのビットマップデータ９１４、９１５を生成する。図３で説明したように、プーリングマップ９１４ｉ、９１５ｉは、第１畳込層３１１によって抽出される形状の特徴の入力画像９１０ｉ内での位置の変位から、影響を受け得る。位置の変位がウィンドウＷＮ２１、ＷＮ２２の範囲内である場合、影響は緩和される。位置の変位がウィンドウＷＮ２１、ＷＮ２２の範囲を超える場合、プーリングマップ９１４ｉ、９１５ｉは、位置の変位に応じて変化し得る。このように、プーリングマップ９１４ｉ、９１５ｉは、位置の変位に関する変位情報の例である。そして、プーリング層３２１、３２２は、変位情報を取得する変位情報取得部の例である。
【００９６】
加算部３３１は、第１畳込層３１１から出力されるデータと、第２畳込層３１２から出力されるデータと、プーリング層３２１、３２２から出力されるデータと、を含む複数のデータを加算する。
【００９７】
以上の構成によれば、第１畳込層３１１は、比較的細かい形状の特徴に対応するデータを出力し、第２畳込層３１２は、比較的粗い形状の特徴に対応するデータを出力する。例えば、第１畳込層３１１は、細かい形状の特徴を抽出でき、第２畳込層３１２は、線の特徴を抽出できる。そして、入力層Ｌ１０の加算部３３１は、それらのデータを加算する。
従って、学習モデル２３４は、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データ９４０を生成できる。仮に、入力層において、互いに異なるサイズのフィルタを用いる複数の畳込層が並列に設けられるのではなく、複数の処理層（例えば、複数の畳込層）が直列に接続されると仮定する。この場合、比較的粗い形状の特徴は抽出され得るが、比較的細かい形状の特徴の抽出は、困難である。上記構成によれば、そのような不具合を抑制できる。
【００９８】
また、加算部３３１による加算の対象は、プーリング層３２１、３２２から出力されるデータを含んでいる。プーリング層３２１、３２２は、第１畳込層３１１からの比較的細かい形状の特徴に対応するデータを用いて、ビットマップデータ９１４、９１５を生成する。プーリング層３２１、３２２から出力されるデータ９１４、９１５に関しては、ウィンドウＷＮ２１、ＷＮ２２の範囲内の位置の変位の影響が緩和される。従って、比較的細かい形状の特徴の入力画像内での位置の変位に対して、頑健性を向上できる。
【００９９】
また、図５で説明したように、出力層Ｌ３０は、転置畳込層５１１−５１３と、加算部５２０と、を備えている。第１転置畳込層５１１は、処理対象の中間データ９３０のうち、出力画像９４０ｉよりも小さい第１種出力フィルタＦＬ３１の範囲に対応する部分を用いて、形状の特徴を復元する第１復元部の例である。第２転置畳込層５１２は、第１転置畳込層５１１と並列に設けられている。第２転置畳込層５１２は、処理対象の中間データ９３０のうち、出力画像９４０ｉよりも小さく第１種出力フィルタＦＬ３１の範囲よりも大きい第２種出力フィルタＦＬ３２の範囲に対応する部分を用いて形状の特徴を復元する第２復元部の例である。
【０１００】
第１転置畳込層５１１は、比較的細かい形状の特徴を復元し、第２転置畳込層５１２は、比較的粗い形状の特徴を復元する。従って、学習モデル２３４は、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データ９４０を生成できる。
【０１０１】
また、上述したように、入力層Ｌ１０は、第１抽出部の例である第１畳込層３１１と、第２抽出部の例である第２畳込層３１２と、変位情報取得部の例であるプーリング層３２１、３２２と、を含んでいる。また、出力層Ｌ３０は、プーリング層を含まずに、第１復元部の例である第１転置畳込層５１１と、第２復元部の例である第２転置畳込層５１２と、を含んでいる。入力層Ｌ１０がプーリング層３２１、３２２を含むので、出力層Ｌ３０による演算に対する形状の特徴の入力画像９１０ｉ内での位置の変位の影響は、緩和される。従って、プーリング層を含まずに第１転置畳込層５１１と第２転置畳込層５１２とを含む出力層Ｌ３０は、比較的粗い形状に加えて比較的細かい形状を有する出力オブジェクトを表す出力画像データ９４０を生成できる。
【０１０２】
また、図３で説明したように、入力層Ｌ１０は、第１プーリング層３２１と第２プーリング層３２２とを備えている。第１プーリング層３２１は、入力画像９１０ｉよりも小さい第１ウィンドウＷＮ２１の範囲内での位置の変位に関するビットマップデータ９１４を取得する第１変位情報取得部の例である。第２プーリング層３２２は、第１プーリング層３２１と並列に設けられている。第２プーリング層３２２は、入力画像９１０ｉよりも小さく第１ウィンドウＷＮ２１の範囲よりも大きい第２ウィンドウＷＮ２２の範囲内での位置の変位に関するビットマップデータ９１５を取得する第２変位情報取得部の例である。
そして、加算部３３１は、第１畳込層３１１と第２畳込層３１２と第１プーリング層３２１と第２プーリング層３２２とのそれぞれから出力されるデータを含む複数のデータを加算する。この構成では、第１プーリング層３２１は、比較的小さい位置の変位に関する第１ビットマップデータ９１４を取得し、第２プーリング層３２２は、比較的大きい位置の変位に関する第２ビットマップデータ９１５を取得する。そして、入力層Ｌ１０の加算部３３１は、それらのデータを加算するので、比較的小さい位置の変位と比較的大きい位置の変位とに対して、頑健性を向上できる。
【０１０３】
また、入力層Ｌ１０（図３）は、第１畳込層３１１と第２畳込層３１２とに並列に設けられた第３畳込層３１３を備えている。第３畳込層３１３は、入力オブジェクトのうち入力画像９１０ｉよりも小さく第２種入力フィルタＦＬ１２の範囲よりも大きい第３種入力フィルタＦＬ１３の範囲に含まれる部分の形状の特徴を抽出する第３抽出部の例である。
そして、加算部３３１は、第１畳込層３１１と第２畳込層３１２と第３畳込層３１３と第１プーリング層３２１と第２プーリング層３２２とのそれぞれから出力されるデータを含む複数のデータを加算する。このように、３種類の細かさに対応する３種類の形状の特徴が抽出され、３種類の特徴に対応する３種類のデータが加算されるので、３種類の細かさに対応する３種類の形状の特徴を有する出力オブジェクトを表す出力画像データ９４０を生成できる。
【０１０４】
また、図６のＳ１４０で説明したように、学習モデル２３４の複数個の演算パラメータ（演算パラメータセット６０１−６０８を含む）は、トレーニングによって、学習入力画像データと、学習入力画像データを学習モデル２３４に入力することによって生成される出力画像データと、の間の差が小さくなるように調整されている。Ｓ１２０で説明したように、学習入力画像データは、基準ラベルシート８００を含む基準画像８１０ｉの基準画像データ８１０を用いて生成されている。複数の学習入力画像データのそれぞれは、基準ラベルシート８００を含む基準画像の画像データである。従って、図８、図９で説明したように、入力ラベルシート７００ｘを含む対象入力画像７１０ｉの対象入力画像データ７１０を学習モデル２３４に入力することによって、基準ラベルシート８００との差が小さい出力ラベルシート７５０を含む対象出力画像７４０ｉの対象出力画像データ７４０を生成できる。このような対象出力画像データ７４０は、対象入力画像７１０ｉのオブジェクト（ここでは、入力ラベルシート７００ｘ）の欠陥の検出に利用できる。
【０１０５】
また、図８、図９で説明した処理では、プロセッサ２１０は、学習済の学習モデル２３４を用いて、以下の処理を行う。Ｓ２１０では、プロセッサ２１０は、入力オブジェクトを含む対象入力画像７１０ｉの対象入力画像データ７１０を取得する。Ｓ２２０では、プロセッサ２１０は、対象入力画像データ７１０を学習済の学習モデル２３４に入力することによって、対象入力画像データ７１０に対応する対象出力画像データ７４０を生成する。Ｓ２３０、Ｓ２５０では、プロセッサ２１０は、対象入力画像７１０ｉと対象出力画像７４０ｉとの間の差を示す差分画像７６０ｄｉの差分画像データ７６０ｄを生成する。学習モデル２３４は、入力層Ｌ１０によって抽出される形状の特徴に基づく出力ラベルシート７５０であって基準ラベルシート８００との差が小さい出力ラベルシート７５０を含む対象出力画像７４０ｉの対象出力画像データ７４０を生成できる。従って、プロセッサ２１０は、入力ラベルシート７００ｘと基準ラベルシート８００との間の差を示す差分画像データ７６０ｄを、生成できる。
【０１０６】
また、Ｓ２３０、Ｓ２５０（図８）で説明したように、プロセッサ２１０は、対象入力画像データ７１０と対象出力画像データ７４０との平滑化処理を行うことによって平滑入力画像データ７１０ｂと平滑出力画像データ７４０ｂとを取得し、平滑入力画像データ７１０ｂと平滑出力画像データ７４０ｂとを用いて差分画像データ７６０ｄを生成する。従って、差分画像データ７６０ｄに含まれるノイズを低減できる。
【０１０７】
また、Ｓ２４０、Ｓ２６０（図８）で説明したように、プロセッサ２１０は、平滑出力画像データ７４０ｂの平滑出力画像７４０ｂｉ内のエッジ部分を抽出するエッジ抽出処理を行い（Ｓ２４０）、差分画像７６０ｄｉからエッジ部分とは異なる非エッジ部分を抽出する処理を差分画像データ７６０ｄに行うことによって、差分画像データを修正する（Ｓ２６０）。対象入力画像７１０ｉと対象出力画像７４０ｉとの間のオブジェクトの位置ずれに起因して、差分画像７６０ｄｉは、エッジを含み得る。上記構成によれば、修正済差分画像データ７７０は、対象入力画像７１０ｉと対象出力画像７４０ｉとの間の位置ずれに起因するエッジとは異なる差を適切に示すことができる。
【０１０８】
Ｂ．変形例：
（１）学習モデルの入力層は、畳込層３１１−３１３（図３）に限らず、入力画像に含まれる入力オブジェクトの形状の特徴を抽出する種々の演算部（抽出部とも呼ぶ）を備えてよい。抽出部は、入力画像のうちの入力画像よりも小さい入力範囲に含まれる部分の１以上の画素のそれぞれの画素値を用いて、入力オブジェクトのうちの入力範囲に含まれる部分の形状の特徴を抽出するように構成されてよい。入力層は、互いに異なるサイズの入力範囲を用いる複数の抽出部を備えることが好ましい。これにより、入力層は、互いに異なるサイズの形状の特徴を抽出できる。換言すると、入力層は、互いに異なる解像度の情報を抽出できる。抽出部の総数は、２以上の任意の数であってよい。
なお、学習モデルの計算量は、入力画像のサイズ（画素数）が大きいほど多く、また、抽出部の総数が多いほど多い。従って、入力画像のサイズが大きい場合には、抽出部の総数が少ないことが好ましい。
【０１０９】
（２）学習モデル２３４の入力層Ｌ１０に含まれるプーリング層３２１、３２２は、マックスプーリング処理に限らず、ウィンドウＷＮ２１、ＷＮ２２内の１以上の画素を用いて代表値を決定する種々の処理を実行してよい。例えば、プーリング層３２１、３２２は、平均プーリング処理を実行してよい。また、プーリング層３２１、３２２には、第２畳込層３１２からのビットマップデータ９１２が入力されてよい。このビットマップデータ９１２は、第３畳込層３１３からのビットマップデータ９１３と比べて、細かい形状の特徴を示している。従って、比較的細かい形状の特徴の入力画像内での位置の変位に対して、頑健性を向上できる。
【０１１０】
プーリング層３２１、３２２によって生成されるデータは、抽出部（例えば、畳込層３１１−３１３）によって抽出される形状の特徴の入力画像内での位置の変位に関する変位情報の例である。変位情報は、位置の変位に応じて変化する種々の情報であってよい。変位情報は、入力画像上のオブジェクトの位置の変位が予め決められた変位範囲内である場合には、変位情報に対する位置の変位の影響が小さく、位置の変位が変位範囲を超える場合には、変位情報に対する位置の変位の影響が大きくなるように、決定されてよい。すなわち、２枚の入力画像の間でオブジェクトの位置の差が変位範囲内である場合には、２枚の入力画像から得られる２個の変位情報の相違が小さく、位置の差が変位範囲を超える場合には、２枚の入力画像から得られる２個の変位情報の相違が大きくなるように、変位情報が算出されてよい。入力層は、プーリング層に限らず、変位情報を取得する種々の演算部（変位情報取得部と呼ぶ）を備えてよい。
【０１１１】
入力層は、互いに異なるサイズの変位範囲を用いる複数の変位情報取得部を備えることが好ましい。これにより、互いに異なるサイズの変位に対して、頑健性を向上できる。なお、変位情報取得部の総数は、１以上の任意の数であってよい。入力画像のサイズが大きい場合には、変位情報取得部の総数が少ないことが好ましい。いずれの場合も、入力層の加算部は、複数の抽出部と１以上の変位情報取得部とのそれぞれからのデータを加算することが好ましい。これにより、入力層は、種々のサイズの部分の形状の特徴を抽出でき、そして、入力画像内のオブジェクトの位置ずれに対する頑健性を向上できる。また、１以上の変位情報取得部は、同じ抽出部からの同じデータを用いて、変位情報を取得してよい。
【０１１２】
また、入力層の複数の抽出部が、第１入力範囲を用いる第１抽出部と、第１入力範囲よりも大きい第２入力範囲を用いる第２抽出部と、を含む場合に、１以上の変位情報取得部は、第１抽出部からのデータを用いることが好ましい。これにより、比較的細かい形状の特徴の位置の変位に対して頑健性を向上できる。ここで、入力層は、第２抽出部からのデータを用いる変位情報取得部を備えなくてよい。これにより、入力層の構成を簡素化できる。
【０１１３】
（３）学習モデルの出力層は、転置畳込層５１１−５１３（図５）に限らず、形状の特徴を復元する種々の演算部（復元部とも呼ぶ）を備えてよい。復元部は、オブジェクトの特徴（形状の特徴を含む）を示す処理対象データを、画像データとして処理してよい。そして、復元部は、処理対象データによって示される画像のうち出力画像よりも小さい出力範囲に含まれる部分の１以上の画素のそれぞれの画素値を用いて、形状の特徴を復元するように構成されてよい。出力層は、互いに異なるサイズの出力範囲を用いる複数の復元部を備えることが好ましい。これにより、出力層は、互いに異なるサイズの形状の特徴を復元できる。換言すると、出力層は、互いに異なる解像度の情報を復元できる。ここで、複数の復元部は、並列に設けられ、同じ処理対象データを処理し、そして、出力層は、複数の復元部のそれぞれから出力されるデータを加算する加算部を備えることが好ましい。そして、加算部から出力されるデータが、出力画像データとして利用されてよい。これにより、互いに異なるサイズの形状の特徴を、適切に、復元できる。ここで、出力層は、プーリング層（ひいては、変位情報取得部）を備えなくてよい。
【０１１４】
なお、復元部の総数は、１以上の任意の数であってよく、２以上であることが好ましい。入力画像のサイズが大きい場合には、復元部の総数が少ないことが好ましい。出力層の復元部の出力範囲のサイズは、入力層の抽出部の入力範囲のサイズと異なっていてもよい。出力層の復元部の総数は、入力層の抽出部の総数と異なっていてよい。ただし、入力層が、互いに異なるサイズの入力範囲を用いるＵ個（Ｕは２以上の整数）の抽出部を備え、出力層が、互いに異なるサイズの出力範囲を用いるＵ個の復元部を備え、Ｕ個の入力範囲のサイズがＵ個の出力範囲のサイズとそれぞれ同じであることが好ましい。これにより、互いに異なる複数のサイズの複数種類の形状の特徴の抽出と復元とを、適切に行うことができる。
【０１１５】
（４）図２−図５の学習モデル２３４では、全結合層４１５、４２０（図４）が、入力層Ｌ１０（図３）の加算部３３１から出力層Ｌ３０（図５）の復元部（具体的には、転置畳込層５１１−５１３）へ情報を伝達する。全結合層４１５、４２０は、情報の損失を抑制しつつ、情報を伝達することができる。従って、入力層Ｌ１０によって抽出された種々のサイズの形状の特徴を示す情報は、出力層Ｌ３０に伝達される。この結果、出力層Ｌ３０は、種々のサイズの形状の特徴を復元できる。
【０１１６】
入力層の加算部と出力層の復元部とを接続する中間層の構成は、全結合層４１５、４２０に限らず、種々の構成であってよい。ここで、中間層は、情報の損失を抑制しつつ、情報を伝達することが好ましい。例えば、中間層は、直列に接続された複数の全結合層を備えてよい。また、中間層は、省略されてよい。この場合、入力層の加算部からのデータは、出力層の復元部に入力される。
【０１１７】
（５）学習モデルの構成は、上記の構成に代えて、他の種々の構成であってよい。チャンネル数ｓは、１以上の任意の数であってよい。チャンネル数ｓが多いほど、種々の形状の特徴の抽出と復元とが可能である。チャンネル数ｓが少ないほど、学習モデルのトレーニングは容易である。色成分の数ｒは、１以上の任意の数であってよい。色成分は、グレースケール、ＲＧＢ、ＹＣｂＣｒ、ＣＭＹＫなど、任意の色成分であってよい。ｒ＝１の場合、学習モデルは、グレースケールのビットマップデータを処理してよい。
【０１１８】
また、学習モデルは、図２−図５のモデルに代えて、入力画像のオブジェクトの形状の特徴の抽出と復元とを行う種々のモデルであってよい。例えば、学習モデルは、Variational Autoencoder（VAE）と呼ばれるモデルであってよい。VAEは、入力画像データを複数次元の正規分布のパラメータ（平均値と分散値）に圧縮するモデルである。VAEが採用される場合、より細かい形状の特徴の抽出と復元とが可能である。VAEが採用される場合、中間層の構成は、公知のVAEの中間層と同様に、正規分布のパラメータを処理する種々の構成であってよい。例えば、図４の第１全結合層４１５から出力されるＮ個（Ｎは偶数）の特徴値が、正規分布のパラメータを示してよい。
【０１１９】
いずれの場合も、学習モデルは、学習モデルに適した方法でトレーニングされる。学習モデルの複数個の演算パラメータは、基準オブジェクト(例えば、基準ラベルシート８００)を含む基準画像の基準画像データと、基準画像データを学習モデルに入力することによって生成される出力画像データと、の間の差が小さくなるように調整されることが好ましい。また、複数個の演算パラメータは、基準オブジェクトを含む複数枚の基準画像の複数個の基準画像データを用いて、調整されることが好ましい。ここで、複数枚の基準画像の間では、基準オブジェクトの位置と向きとの少なくとも一方が、互いに異なることが好ましい。これによれば、学習済のモデルは、種々の入力画像データを適切に処理できる。
【０１２０】
（６）差分データ生成処理は、図８の処理に代えて、他の種々の処理であってよい。例えば、平滑化処理（Ｓ２３０）が省略されてよい。この場合、Ｓ２５０では、対象入力画像データ７１０と対象出力画像データ７４０との間の差分を示す差分画像データが生成される。また、エッジ抽出処理（Ｓ２４０）と差分画像データの修正処理（Ｓ２６０）とが省略されてよい。この場合、Ｓ２７０では、未修正の差分画像データ（例えば、差分画像データ７６０ｄ）が二値化される。差分画像は、複数の画素のそれぞれにおける画素値の差を示す画像であってよい。画素値の差は、種々の色成分で表されてよい（例えば、ＲＧＢ、輝度値、ＹＣｂＣｒ等）。
【０１２１】
（７）図８の実施例では、データ処理装置２００は、差分画像データを生成する生成装置として動作している。これに代えて、データ処理装置２００は、差分画像データを生成せずに、入力画像データを学習モデルに入力することによって出力画像データを生成する生成装置として動作してもよい。プロセッサ２１０は、生成した出力画像データを、記憶装置２１５（例えば、不揮発性記憶装置２３０）に格納してよい。出力画像データは、種々の処理で利用可能である（例えば、出力画像の表示、差分画像データの生成、等）。
【０１２２】
（８）画像処理システム１０００の構成は、図１の構成に代えて、他の種々の構成であってよい。例えば、図６のトレーニングを実行するデータ処理装置とは異なるデータ処理装置が、図８の処理を実行してよい。また、デジタルカメラ１００に代えて、スキャナが用いられてよい。また、製品７００は、ラベルシートに限らず、商品を収容するための箱や封筒などの紙製品、シャツやタオルなどの布製品、機械の部品など、任意の製品であってよい。
【０１２３】
（９）図１のデータ処理装置２００は、パーソナルコンピュータとは異なる種類の装置（例えば、デジタルカメラ、スキャナ、スマートフォン）であってよい。また、ネットワークを介して互いに通信可能な複数の装置（例えば、コンピュータ）が、データ処理装置によるデータ処理の機能を一部ずつ分担して、全体として、データ処理の機能を提供してもよい（これらの装置を備えるシステムがデータ処理装置に対応する）。
【０１２４】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、学習モデル２３４は、プログラムモジュールに代えて、ASIC（Application Specific Integrated Circuit）等のハードウェア回路によって実現されてよい。
【０１２５】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【０１２６】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。
本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１２７】
１００…デジタルカメラ、２００…データ処理装置、２１０…プロセッサ、２１５…記憶装置、２２０…揮発性記憶装置、２３０…不揮発性記憶装置、２３２…第１プログラム、２３３…第２プログラム、２３４…予測モデル（機械学習モデル）、Ｌ１０…入力層、Ｌ２０…中間層、Ｌ３０…出力層、２４０…表示部、２５０…操作部、２７０…通信インタフェース、３１１−３１３…畳込層、３２１…第１プーリング層、３２２…第２プーリング層、３３１…加算部、４１０…第１変換部、４２０…全結合層、４３０…第２変換部、５１１−５１３…転置畳込層、５２０…加算部、６０１−６０８…演算パラメータセット、７００、７００ｘ、７５０、８００、９５０…ラベルシート、７０１…図形、７０２…文字列、７０１ｚ、７０２ｚ…欠け部分、７０１ｚｂ、７０２ｚｂ…差異部分、ＦＬ１１−ＦＬ１３…入力フィルタ、ＷＮ２１…第１ウィンドウ、ＷＮ２２…第２ウィンドウ、ＦＬ３１−ＦＬ３３…出力フィルタ
【図１】
2021060068.tif 000003
【図２】
2021060068.tif 000004
【図３】
2021060068.tif 000005
【図４】
2021060068.tif 000006
【図５】
2021060068.tif 000007
【図６】
2021060068.tif 000008
【図７】
2021060068.tif 000009
【図８】
2021060068.tif 000010
【図９】
2021060068.tif 000011
【国際調査報告】
2021060068.tif 000012
2021060068.tif 000013
2021060068.tif 000014
2021060068.tif 000015