IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特許-学習画像データの生成方法、予測モデル 図1
  • 特許-学習画像データの生成方法、予測モデル 図2
  • 特許-学習画像データの生成方法、予測モデル 図3
  • 特許-学習画像データの生成方法、予測モデル 図4
  • 特許-学習画像データの生成方法、予測モデル 図5
  • 特許-学習画像データの生成方法、予測モデル 図6
  • 特許-学習画像データの生成方法、予測モデル 図7
  • 特許-学習画像データの生成方法、予測モデル 図8
  • 特許-学習画像データの生成方法、予測モデル 図9
  • 特許-学習画像データの生成方法、予測モデル 図10
  • 特許-学習画像データの生成方法、予測モデル 図11
  • 特許-学習画像データの生成方法、予測モデル 図12
  • 特許-学習画像データの生成方法、予測モデル 図13
  • 特許-学習画像データの生成方法、予測モデル 図14
  • 特許-学習画像データの生成方法、予測モデル 図15
  • 特許-学習画像データの生成方法、予測モデル 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-22
(45)【発行日】2023-08-30
(54)【発明の名称】学習画像データの生成方法、予測モデル
(51)【国際特許分類】
   H04N 1/62 20060101AFI20230823BHJP
   G06T 1/00 20060101ALI20230823BHJP
   G06T 1/40 20060101ALI20230823BHJP
   G06N 20/00 20190101ALI20230823BHJP
【FI】
H04N1/62
G06T1/00 510
G06T1/40
G06N20/00 130
【請求項の数】 9
(21)【出願番号】P 2019180576
(22)【出願日】2019-09-30
(65)【公開番号】P2021057820
(43)【公開日】2021-04-08
【審査請求日】2022-08-30
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】近藤 真樹
【審査官】豊田 好一
(56)【参考文献】
【文献】特開2019-109563(JP,A)
【文献】国際公開第2019/025909(WO,A1)
【文献】特開2019-008599(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/46-62
G06T 1/00
G06T 1/40
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
予測モデルのトレーニングのための学習画像データの生成方法であって、
印刷用のシートを光学的に読み取って得られるシート画像の少なくとも一部である第1種背景画像と、オブジェクトの画像であるオブジェクト画像と、を用いて、前記第1種背景画像上に前記オブジェクトが配置された画像である第1種学習画像の第1種学習画像データを生成する第1生成工程と、
生成された第1種学習画像データを記憶装置に格納する第1格納工程と、
を備え、
前記第1生成工程は、
前記第1種学習画像上の前記オブジェクトを示す第1オブジェクト画素の色値を決定する工程であって、前記第1オブジェクト画素の色値を、前記オブジェクト画像上の前記第1オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第1種オブジェクト係数を乗じて得られる値と、前記第1種背景画像上の前記第1オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第1種背景係数を乗じて得られる値と、の合計値を用いて決定する工程と、
前記第1種学習画像上の前記オブジェクトが配置されない部分を示す第1背景画素の色値を決定する工程であって、前記第1背景画素の色値を、前記第1種背景画像上の前記第1背景画素の位置に対応付けられた画素の色値に前記第1種背景係数よりも大きい係数を乗じて得られる値を用いて決定する工程と、を含む、
生成方法。
【請求項2】
請求項1に記載の生成方法であって、
前記第1種背景画像上の複数の位置に対応付けられた複数の色値を代表する代表色値を特定する代表色値特定工程と、
前記代表色値によって表される第2種背景画像と、前記オブジェクト画像と、を用いて、前記第2種背景画像上に前記オブジェクトが配置された画像である第2種学習画像の第2種学習画像データを生成する第2生成工程と、
生成された第2種学習画像データを前記記憶装置に格納する第2格納工程と、
を備え、
前記第2生成工程は、
前記第2種学習画像上の前記オブジェクトを示す第2オブジェクト画素の色値を決定する工程であって、前記第2オブジェクト画素の色値を、前記オブジェクト画像上の前記第2オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第2種オブジェクト係数を乗じて得られる値と、前記第2種背景画像上の前記第2オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第2種背景係数を乗じて得られる値と、の合計値を用いて決定する工程と、
前記第2種学習画像上の前記オブジェクトが配置されない部分を示す第2背景画素の色値を決定する工程であって、前記第2背景画素の色値を、前記第2種背景画像上の前記第2背景画素の位置に対応付けられた画素の色値に前記第2種背景係数よりも大きい係数を乗じて得られる値を用いて決定する工程と、を含む、
生成方法。
【請求項3】
請求項2に記載の生成方法であって、
前記代表色値は、前記第1種背景画像上の前記複数の位置に対応付けられた前記複数の色値の平均値である、
生成方法。
【請求項4】
請求項1から3のいずれかに記載の生成方法であって、
前記オブジェクトは、第1方向に平行なM本(Mは2以上の整数)の線であって、前記第1方向に垂直な第2方向に並ぶM本の線を含む、
生成方法。
【請求項5】
請求項4に記載の生成方法であって、
前記第1生成工程をQ回(Qは2以上の整数)行うことによって、Q個の第1種学習画像のQ個の第1種学習画像データを生成する工程を備え、
前記Q個の第1種学習画像のそれぞれは、前記第1種学習画像に対応付けられた基準輝度とは異なる輝度と、前記第1種学習画像と前記線の前記第2方向の順番とに対応付けられた前記第2方向の基準位置とは異なる前記第2方向の位置と、前記第1種学習画像に対応付けられた基準幅とは異なる幅と、の3個のパラメータ値のうちの1個以上のパラメータ値を有する線である1以上の非基準線を含む、
生成方法。
【請求項6】
請求項5に記載の生成方法であって、
前記Q個の第1種学習画像は、
前記基準輝度とは異なる前記輝度を有する1以上の非基準線を含む1以上の第1種学習画像と、
前記第2方向の前記基準位置とは異なる前記第2方向の前記位置に配置された1以上の非基準線を含む1以上の第1種学習画像と、
前記基準幅とは異なる前記幅を有する1以上の非基準線を含む1以上の第1種学習画像と、
を含む、生成方法。
【請求項7】
請求項5または6に記載の生成方法であって、
前記Q個の第1種学習画像は、前記第1種学習画像に含まれる前記非基準線の総数が互いに異なる複数の第1種学習画像を含む、
生成方法。
【請求項8】
請求項1から7のいずれかに記載の生成方法であって、
前記オブジェクトは、文字を含む、
生成方法。
【請求項9】
オブジェクトが印刷されたシートを光学的に読み取って得られる画像である印刷シート画像の画像データの入力に対して、前記シートに印刷された前記オブジェクトに関連する情報である関連情報を生成するようにコンピュータを機能させるための予測モデルであって、
印刷用のシートを光学的に読み取って得られるシート画像の少なくとも一部である第1種背景画像と、オブジェクトの画像であるオブジェクト画像と、を用いて生成される画像データであって、前記第1種背景画像上に前記オブジェクトが配置された画像である第1種学習画像の第1種学習画像データを用いてトレーニングされており、
前記第1種学習画像データは、
前記第1種学習画像上の前記オブジェクトを示す第1オブジェクト画素の色値を決定する工程であって、前記第1オブジェクト画素の色値を、前記オブジェクト画像上の前記第1オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第1種オブジェクト係数を乗じて得られる値と、前記第1種背景画像上の前記第1オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第1種背景係数を乗じて得られる値と、の合計値を用いて決定する工程と、
前記第1種学習画像上の前記オブジェクトが配置されない部分を示す第1背景画素の色値を決定する工程であって、前記第1背景画素の色値を、前記第1種背景画像上の前記第1背景画素の位置に対応付けられた画素の色値に前記第1種背景係数よりも大きい係数を乗じて得られる値を用いて決定する工程と、
を含む生成方法によって生成されており
前記第1種学習画像データは、不具合を有していないオブジェクトが配置された画像である基準画像のデータと、不具合を有するオブジェクトが配置された画像である非基準画像のデータと、を含み、
前記予測モデルは、
前記基準画像のデータの入力に対して、前記不具合を有していないオブジェクトに関連する関連情報を生成し、
前記非基準画像のデータの入力に対して、前記不具合を有するオブジェクトに関連する関連情報であって、前記基準画像のデータの入力に対して生成される関連情報とは異なる関連情報を生成する、
ようにトレーニングされており、
前記予測モデルは、前記印刷シート画像の前記画像データの入力に対して前記予測モデルの演算を行うことによって、
前記シートに印刷されたオブジェクトが不具合を有していない場合には、前記シートに印刷された前記不具合を有していないオブジェクトに関連する関連情報を生成し、
前記シートに印刷されたオブジェクトが不具合を有する場合には、前記シートに印刷された前記不具合を有するオブジェクトに関連する関連情報であって、前記シートに印刷されたオブジェクトが不具合を有していない場合に生成される関連情報とは異なる関連情報を生成する、
ようにコンピュータを機能させる、
予測モデル。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、画像データを処理する予測モデルに関する。
【背景技術】
【0002】
従来から種々の画像処理が行われている。例えば、スキャナ等の画像読取り装置によって取得した画像データの地肌色の色情報を判定し、判定結果に応じて地肌除去を行う技術が提案されている(特許文献1)。この技術では、さらに、彩度が所定の値以下となる領域に対し彩度をより低下させる補正を行うことにより、読取り時の色ずれに起因する画像の色付きを抑制している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-152670号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、ニューラルネットワークやサポートベクタマシンなどの予測モデルを用いて画像データを処理する技術が開発されている。適切な処理を行うために、予測モデルは、学習画像データを用いてトレーニングされる。ところが、適切なトレーニングのための学習画像データを準備することは容易ではなかった。
【0005】
本明細書は、光学的な読取りによって得られる画像データを処理する予測モデルのトレーニングのための学習画像データを、適切に、生成する技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]予測モデルのトレーニングのための学習画像データの生成方法であって、印刷用のシートを光学的に読み取って得られるシート画像の少なくとも一部である第1種背景画像と、オブジェクトの画像であるオブジェクト画像と、を用いて、前記第1種背景画像上に前記オブジェクトが配置された画像である第1種学習画像の第1種学習画像データを生成する第1生成工程と、生成された第1種学習画像データを記憶装置に格納する第1格納工程と、を備え、前記第1生成工程は、前記第1種学習画像上の前記オブジェクトを示す第1オブジェクト画素の色値を決定する工程であって、前記第1オブジェクト画素の色値を、前記オブジェクト画像上の前記第1オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第1種オブジェクト係数を乗じて得られる値と、前記第1種背景画像上の前記第1オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第1種背景係数を乗じて得られる値と、の合計値を用いて決定する工程と、前記第1種学習画像上の前記オブジェクトが配置されない部分を示す第1背景画素の色値を決定する工程であって、前記第1背景画素の色値を、前記第1種背景画像上の前記第1背景画素の位置に対応付けられた画素の色値に前記第1種背景係数よりも大きい係数を乗じて得られる値を用いて決定する工程と、を含む、生成方法。
【0008】
この構成によれば、第1種学習画像は、オブジェクトが印刷されたシートを光学的に読み取って得られる画像を適切に表現できるので、オブジェクトが印刷されたシートを実際に光学的に読み取って得られる画像データを処理する予測モデルのトレーニングのための学習画像データを、適切に、生成できる。
【0009】
[適用例2]適用例1に記載の生成方法であって、前記第1種背景画像上の複数の位置に対応付けられた複数の色値を代表する代表色値を特定する代表色値特定工程と、前記代表色値によって表される第2種背景画像と、前記オブジェクト画像と、を用いて、前記第2種背景画像上に前記オブジェクトが配置された画像である第2種学習画像の第2種学習画像データを生成する第2生成工程と、生成された第2種学習画像データを前記記憶装置に格納する第2格納工程と、を備え、前記第2生成工程は、前記第2種学習画像上の前記オブジェクトを示す第2オブジェクト画素の色値を決定する工程であって、前記第2オブジェクト画素の色値を、前記オブジェクト画像上の前記第2オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第2種オブジェクト係数を乗じて得られる値と、前記第2種背景画像上の前記第2オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第2種背景係数を乗じて得られる値と、の合計値を用いて決定する工程と、前記第2種学習画像上の前記オブジェクトが配置されない部分を示す第2背景画素の色値を決定する工程であって、前記第2背景画素の色値を、前記第2種背景画像上の前記第2背景画素の位置に対応付けられた画素の色値に前記第2種背景係数よりも大きい係数を乗じて得られる値を用いて決定する工程と、を含む、生成方法。
【0010】
この構成によれば、第2種学習画像は、第1種学習画像のノイズを低減して得られる画像を適切に表現できるので、ノイズを含む第1種学習画像とノイズが低減された第2種学習画像とを用いるトレーニングのための学習画像データを、適切に、生成できる。
【0011】
[適用例3]適用例2に記載の生成方法であって、前記代表色値は、前記第1種背景画像上の前記複数の位置に対応付けられた前記複数の色値の平均値である、生成方法。
【0012】
この構成によれば、第2種背景画像は、第1種背景画像と比べてノイズが低減された背景画像を適切に表すことができるので、適切な第2種学習画像データを生成できる。
【0013】
[適用例4]適用例1から3のいずれかに記載の生成方法であって、前記オブジェクトは、第1方向に平行なM本(Mは2以上の整数)の線であって、前記第1方向に垂直な第2方向に並ぶM本の線を含む、生成方法。
【0014】
この構成によれば、平行なM本の線を含むオブジェクトの画像を処理する予測モデルのトレーニングのための学習画像データを、適切に、生成できる。
【0015】
[適用例5]適用例4に記載の生成方法であって、前記第1生成工程をQ回(Qは2以上の整数)行うことによって、Q個の第1種学習画像のQ個の第1種学習画像データを生成する工程を備え、前記Q個の第1種学習画像のそれぞれは、前記第1種学習画像に対応付けられた基準輝度とは異なる輝度と、前記第1種学習画像と前記線の前記第2方向の順番とに対応付けられた前記第2方向の基準位置とは異なる前記第2方向の位置と、前記第1種学習画像に対応付けられた基準幅とは異なる幅と、の3個のパラメータ値のうちの1個以上のパラメータ値を有する線である1以上の非基準線を含む、生成方法。
【0016】
この構成によれば、1以上の非基準線を含むオブジェクトの画像を処理する予測モデルのトレーニングのための学習画像データを、適切に、生成できる。
【0017】
[適用例6]適用例5に記載の生成方法であって、前記Q個の第1種学習画像は、前記基準輝度とは異なる前記輝度を有する1以上の非基準線を含む1以上の第1種学習画像と、前記第2方向の前記基準位置とは異なる前記第2方向の前記位置に配置された1以上の非基準線を含む1以上の第1種学習画像と、前記基準幅とは異なる前記幅を有する1以上の非基準線を含む1以上の第1種学習画像と、を含む、生成方法。
【0018】
この構成によれば、輝度と第2方向の位置と幅とのそれぞれが変化し得る場合に、オブジェクトの画像を処理する予測モデルのトレーニングのための学習画像データを、適切に、生成できる。
【0019】
[適用例7]適用例5または6に記載の生成方法であって、前記Q個の第1種学習画像は、前記第1種学習画像に含まれる前記非基準線の総数が互いに異なる複数の第1種学習画像を含む、生成方法。
【0020】
この構成によれば、非基準線の総数が変化し得る場合に、オブジェクトの画像を処理する予測モデルのトレーニングのための学習画像データを、適切に、生成できる。
【0021】
[適用例8]適用例1から7のいずれかに記載の生成方法であって、前記オブジェクトは、文字を含む、生成方法。
【0022】
この構成によれば、文字を含むオブジェクトの画像を処理する予測モデルのトレーニングのための学習画像データを、適切に、生成できる。
【0023】
[適用例9]オブジェクトが印刷されたシートを光学的に読み取って得られる画像である印刷シート画像の画像データに基づいて、前記シートに印刷された前記オブジェクトに関連する情報である関連情報を生成するようにコンピュータを機能させるための予測モデルであって、印刷用のシートを光学的に読み取って得られるシート画像の少なくとも一部である第1種背景画像と、オブジェクトの画像であるオブジェクト画像と、を用いて生成される画像データであって、前記第1種背景画像上に前記オブジェクトが配置された画像である第1種学習画像の第1種学習画像データを用いてトレーニングされており、前記第1種学習画像データは、前記第1種学習画像上の前記オブジェクトを示す第1オブジェクト画素の色値を決定する工程であって、前記第1オブジェクト画素の色値を、前記オブジェクト画像上の前記第1オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第1種オブジェクト係数を乗じて得られる値と、前記第1種背景画像上の前記第1オブジェクト画素の位置に対応付けられた画素の色値にゼロよりも大きい第1種背景係数を乗じて得られる値と、の合計値を用いて決定する工程と、前記第1種学習画像上の前記オブジェクトが配置されない部分を示す第1背景画素の色値を決定する工程であって、前記第1背景画素の色値を、前記第1種背景画像上の前記第1背景画素の位置に対応付けられた画素の色値に前記第1種背景係数よりも大きい係数を乗じて得られる値を用いて決定する工程と、を含む生成方法によって生成されている、予測モデル。
【0024】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、予測モデルのトレーニング方法およびトレーニングを実行するトレーニング装置、学習済の予測モデルを用いる画像データの処理方法および処理装置、画像データを用いる判断方法および判断装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
【図面の簡単な説明】
【0025】
図1】実施例のデータ処理装置を示す説明図である。
図2】(A)、(B)は、ノズルパターンNPの例を示す説明図である。
図3】学習モデル235の説明図である。
図4】学習データの生成処理の例を示すフローチャートである。
図5】(A)は、基準ベースパターン画像生成処理の例を示すフローチャートである。(B)は、基準ベースパターン画像の例を示す説明図である。
図6】(A)は、非基準ベースパターン画像生成処理の例を示すフローチャートである。(B)は、非基準ベースパターン画像の例を示す説明図である。
図7】(A)は、背景画像生成処理の例を示すフローチャートである。(B)は、第1種背景画像の例を示す説明図である。
図8】(A)-(D)は、ノイズ含有パターン画像の説明図である。
図9】(A)-(D)は、ノイズ低減パターン画像の説明図である。(E)は、コントラスト強調処理の例を示すグラフである。
図10】(A)-(C)は、トレーニング処理の説明図である。
図11】(A)-(D)は、線PLの位置の説明図である。
図12】画像処理の例を示すフローチャートである。
図13】学習モデルの別の実施例の説明図である。
図14】学習データの生成処理の別の実施例を示すフローチャートである。
図15】(A)-(D)は、学習データの説明図である。
図16】学習モデルの別の実施例の説明図である。
【発明を実施するための形態】
【0026】
A.第1実施例:
A1.装置構成:
図1は、実施例のデータ処理装置を示す説明図である。本実施例では、複合機200が、データ処理に利用される。複合機200は、制御部205と、印刷部260と、読取部300と、を有している。制御部205は、プロセッサ210と、記憶装置215と、表示部240と、操作部250と、通信インタフェース270と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を含んでいる。
【0027】
プロセッサ210は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置220は、例えば、DRAMであり、不揮発性記憶装置230は、例えば、フラッシュメモリである。
【0028】
不揮発性記憶装置230は、第1プログラム231と、第2プログラム232と、第3プログラム233と、学習モデル235と、フィルタデータFLDと、を格納している。本実施例では、学習モデル235は、人工ニューラルネットワークの予測モデルであり、後述するトレーニング処理によってトレーニングされる機械学習モデルである。本実施例では、学習モデル235は、プログラムモジュールである。学習モデル235の詳細については、後述する。
【0029】
プロセッサ210は、第1プログラム231と、第2プログラム232と、第3プログラム233と、学習モデル235と、の実行に利用される種々の中間データを、記憶装置215(例えば、揮発性記憶装置220、不揮発性記憶装置230のいずれか)に、一時的に格納する。
【0030】
表示部240は、液晶ディスプレイ、有機ELディスプレイ、LEDディスプレイなどの、画像を表示する装置である。操作部250は、ボタン、レバー、表示部240上に重ねて配置されたタッチパネルなどの、ユーザによる操作を受け取る装置である。通信インタフェース270は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。
【0031】
印刷部260は、所定の方式(例えば、レーザ方式や、インクジェット方式)で、用紙(印刷媒体の一例)上に画像を印刷する装置である。
【0032】
読取部300は、CCDやCMOSなどの光電変換素子を用いて光学的に原稿等の対象物を読み取る読取装置である。読取部300は、読み取った画像(「読取画像」と呼ぶ)を表す読取データを生成する。本実施例では、読取データは、読取画像を表すグレースケールのビットマップデータである。本実施例では、ビットマップデータの輝度値は、0から255までの256階調で表されることとする。
【0033】
図中には、複合機200とは別の印刷装置100が示されている。印刷装置100は、用紙上に画像を印刷するインクジェット方式の印刷装置である。本実施例では、印刷装置100は、シアン、マゼンタ、イエロ、ブラックの4種類のインクを利用する。印刷装置100は、インク滴を吐出するための複数のノズルを有する印刷ヘッド110を備えている。印刷ヘッド110は、ノズルに関する種々の不具合を有し得る。不具合を特定するために、印刷装置100によってシートSH2上にノズルパターンNPが印刷される。本実施例では、シートSH2は、紙のシートである。ただし、布、フィルムなどの他の種類のシートが用いられてもよい。
【0034】
図2(A)、図2(B)は、ノズルパターンNPの例を示す説明図である。図2(A)は、印刷ヘッド110が不具合を有していない場合を示し、図2(B)は、印刷ヘッド110が不具合を有している場合を示している。各図中には、シートSH2上に印刷されたノズルパターンNPと、印刷ヘッド110と、印刷ヘッド110に設けられた複数のノズルNzと、互いに垂直な方向D1、D2と、が示されている。図中には、1種類のインクを吐出するためのM個(Mは2以上の整数)のノズルNzが示されている。ノズルパターンNPは、処理対象の1種類のインクのM個のノズルNzを用いて、印刷される。
【0035】
第1方向D1は、印刷ヘッド110の走査方向である。印刷装置100は、印刷ヘッド110を第1方向D1に平行な方向に移動させる移動装置を備えている(図示せず)。印刷ヘッド110は、シートに対して第1方向D1に平行な方向に移動しつつ、ノズルNzからインク滴を吐出することによってシート上にインクドットを形成する。第2方向D2は、シートの搬送方向である。印刷装置100は、シートを第2方向D2に移動させる搬送装置を備えている(図示省略)。印刷装置100は、印刷ヘッド110を移動させつつインクドットを形成する走査処理と、シートを搬送する搬送処理と、を繰り返すことによって、シート上に画像を印刷する。
【0036】
M個のノズルNzの間では、第2方向D2の位置が互いに異なっている。M個のノズルNzの第2方向D2の位置は、第2方向D2に等間隔で並んでいる。ノズルパターンNPは、第1方向D1に平行なM本の線PLで構成されている。M本の線PLは、第1方向D1に垂直な第2方向D2に並んでいる。1本の線PLは、1個のノズルNzによって、1回の走査処理で印刷される。図中には、各線PLの中心軸AxPが示されている。各線PLは、中心軸AxPに対して線対称な形状を有している。
【0037】
M個のノズルが不具合を有していない場合(図2(A))、M本の線PLの間では、第2方向D2の線PLの幅と線PLの色とは同じである。また、M本の線PLは、第2方向D2に等間隔で並んでいる。以下、不具合の無いノズルNzによって印刷される線PLを、基準線とも呼ぶ。
【0038】
図2(B)の例では、3個のノズルNza、Nzb、Nzcが、不具合を有している。第1ノズルNzaによって印刷される第1線PLaは、第2方向D2とは反対の方向にずれた位置に印刷されている。このようなインクドットの位置ずれは、ノズルNzの加工の不具合などの種々の原因に起因して生じ得る。第2ノズルNzbによって印刷される第2線PLbの幅は、通常の線PLの幅よりも細い(すなわち、インクドットのサイズが小さい)。このようなインクドットのサイズのずれは、インク滴を吐出するためのノズルの駆動装置(ピエゾ素子やヒータなど)の不具合などの種々の原因に起因して生じ得る。第3ノズルNzcによって印刷される第3線PLcの色は、通常の線PLの色よりも薄い。このような色のずれは、印刷ヘッド110内でのインクの浸透による2種類のインクの混合などの種々の原因に起因して生じ得る。このように、線PLの構成(位置、幅、濃さ、等)が基準線の構成と異なる場合、その線PLを印刷したノズルNzは不具合を有している。以下、基準線の構成とは異なる構成を有する線PLを、非基準線とも呼ぶ。
【0039】
複数の線PLのそれぞれの構成(位置、幅、濃さ、等)を特定するために、ノズルパターンNPが印刷されたシートSH2は、読取部300(図1)によって読み取られる。例えば、印刷装置100の製造時に、作業者は、ノズルパターンNPの読取画像を観察することによって、複数の線PLのそれぞれの構成を特定でき、ノズルNzの不具合を検出できる。ここで、薄いインクを用いてノズルパターンNPを印刷すれば、ノズルパターンNPの印刷のためのインクのコストを低減できる。この場合も、読取画像の明度補正(例えば、コントラスト強調処理)を行うことによって、ノズルパターンNPの視認性を向上できる。しかし、単純な明度補正(例えば、トーンカーブを調整する明度補正)は、ノズルパターンNPに加えてノイズも強調し得る。例えば、紙のシートSH2の繊維のパターンや、デジタルの画像処理に起因するノイズが、強調され得る。学習モデル235(図1)は、ノズルパターンNPの読取データから、ノイズが低減されたノズルパターンNPの画像データを生成するためのモデルである。
【0040】
図3は、学習モデル235の説明図である。学習モデル235には、ノズルパターンNPの入力画像950iを表す入力データ950が入力される。入力データ950は、シートSH2(図1)の読取データからノズルパターンNPを示す部分を切り出すクロップ処理を実行することによって得られるデータである(切り出される部分は、予め決められている)。後述するように、学習モデル235は、入力データ950を用いて、同じノズルパターンNPの出力画像970iを表す出力データ970を生成する。
【0041】
入力画像950iと出力画像970iとは、横方向Dxに平行な2辺と、横方向Dxに垂直な縦方向Dyに平行な2辺と、を有する矩形状の画像である。これらの画像950i、970iは、横方向Dxと縦方向Dyとに沿ってマトリクス状に並ぶ複数の画素のそれぞれの色値(本実施例では、輝度値)によって、表されている。入力画像950iのサイズ(横方向Dxの画素数IWと縦方向Dyの画素数IH)は、予め決められている。出力画像970iのサイズは、入力画像950iのサイズと同じである。図中の方向D1、D2は、ノズルパターンNPに対する印刷装置100の方向D1、D2を示している。以下、第1方向D1が縦方向Dyとおおよそ同じであり、第2方向D2が横方向Dxとおおよそ同じであるように、入力データ950が生成されることとする。
【0042】
本実施例では、学習モデル235は、1個の畳込層310で構成されている。畳込層310には、入力データ950が入力される。畳込層310は、1個の畳込フィルタFLを用いる畳込処理(convolution)を実行する(以下、畳込フィルタFLを、単に「フィルタFL」とも呼ぶ)。畳込層310による畳込処理は、入力されたデータとフィルタFLとの相関を示す相関値を算出する処理である。図中の横サイズFxは、フィルタFLの横方向Dxのサイズ(画素数)を示し、縦サイズFyは、フィルタFLの縦方向Dyのサイズ(画素数)を示している。本実施例では、Fx=5、Fy=5である。フィルタFLは、Fx×Fy個の重みWを含んでいる。図中の各重みWに付された括弧内の番号(i,j)は、フィルタFL内の横方向Dxの位置iと縦方向Dyの位置jとを示している。
【0043】
畳込層310は、入力データ950からフィルタFLの位置に対応する部分の「Fx×Fy」個の画素の「Fx×Fy」個の輝度値のリストを取得する。畳込層310は、取得されたリストと、フィルタFLの「Fx×Fy」個の重みのリストと、の内積を算出する。本実施例では、バイアスの加算処理は、省略される。畳込層310は、内積を活性化関数に入力する。活性化関数の算出値が、相関値を示している。本実施例では、活性化関数は、恒等関数である。相関値の算出は、フィルタFLをスライドさせながら、フィルタFLの複数の位置のそれぞれにおいて、行われる。畳込層310は、フィルタFLの複数の位置のそれぞれにおける相関値を示すビットマップデータを生成する。生成されるビットマップデータが、出力データ970である。出力画像970iの画素の位置は、フィルタFLの位置を示している。本実施例では、出力画像970iのサイズ(すなわち、横方向Dxの画素数と縦方向Dyの画素数)が、入力画像950iのサイズと同じとなるように、畳込処理が行われる。従って、ストライド(フィルタをスライドさせる量)は、1である。また、入力画像950iの周囲では、ゼロパディングによって、画素が補われる。
【0044】
A2.学習画像データの生成処理:
図4は、学習モデル235のトレーニングに利用される学習データの生成処理の例を示すフローチャートである。本実施例では、ノイズを含むノズルパターンNPの画像データであるノイズ含有データと、ノイズが低減された同じノズルパターンNPの画像データであるノイズ低減データとが、生成される。後述するトレーニングでは、ノイズ含有データが学習モデル235に入力されることによって、学習モデル235は、出力データを生成する。この出力データとノイズ低減データとの間の差が小さくなるように、フィルタFLの重みが調整される。トレーニングされた学習モデル235は、ノイズを含むノズルパターンNPの画像データを用いて、ノイズが低減された同じノズルパターンNPの画像データを生成できる。本実施例では、プロセッサ210(図1)は、第1プログラム231に従って、学習画像データを生成する。
【0045】
S105では、プロセッサ210(図1)は、読取部300にシートSH1を読み取らせることによって、シートSH1の読取データを取得する。シートSH1としては、ノズルパターンNPの印刷に利用され得るシートであって、ノズルパターンNPが印刷されていない空白のシートが用いられる。なお、ノズルパターンNPは、普通紙、再生紙などの種々の種類のシートに印刷され得る。また、同じ種類の複数枚のシートの間で、特性が異なり得る。例えば、複数枚の普通紙の間で、明るさが異なり得る。S105では、互いに異なる特性を有する複数枚のシートを読み取ることによって、複数個の読取データが取得される(以下、読取データの読取画像を、シート画像とも呼ぶ)。読取データは、後述する背景画像の画像データとして、利用される。プロセッサ210は、取得した読取データを、不揮発性記憶装置230に格納する。
【0046】
S110では、プロセッサ210は、ノズルパターンNPの種類を、基準と非基準とから選択する。基準は、基準線のみで構成されるノズルパターンNPを示し、非基準は、1以上の非基準線を含むノズルパターンNPを示している。プロセッサ210は、未完了の種類を選択する。S120では、プロセッサ210は、選択された種類を特定する。基準が選択された場合、プロセッサ210は、S130で、基準ベースパターン画像生成処理を実行し、S150へ移行する。非基準が選択された場合、プロセッサ210は、S140で、非基準ベースパターン画像生成処理を実行し、S150へ移行する。
【0047】
図5(A)は、図4のS130の基準ベースパターン画像生成処理の例を示すフローチャートである。図5(B)は、基準ベースパターン画像の例を示す説明図である。基準ベースパターン画像810は、基準線のみで構成されるノズルパターンNPの画像であり、入力画像950i(図3)と同じサイズの画像である。図5(B)の例では、基準ベースパターン画像810は、M本の線PL0-PLkを示している。線の符号の「PL」に続く番号は、個々の線PLを識別する番号であり、横方向Dxに向かって昇順に並ぶように、ゼロから順番に割り当てられている(なお、k=M-1)。中心軸Ax0-Axkは、それぞれ、線PL0-PLkの中心軸である。中心軸Ax0-Axkは、縦方向Dyに平行である。線PL0-PLkの形状は、中心軸Ax0-Axkを中心とする矩形状であり、中心軸Ax0-Axkを対称軸とする線対称である。
【0048】
S210(図5(A))では、プロセッサ210は、基準ベースパターン画像810の全ての画素の輝度値を白(255)に初期化し、注目番号nをゼロに初期化する。
【0049】
S215では、プロセッサ210は、予め決められた基準幅範囲内から、ランダムに(例えば、乱数に従って)、基準線幅nWを決定する。基準幅範囲は、基準線の幅の許容範囲であり、ゼロよりも大きい下限幅以上、上限幅以下の範囲である。基準幅範囲は、例えば、現実の複数の入力画像950i(図3)上の複数の基準線の幅の分布範囲に設定されてよい。
【0050】
S220では、プロセッサ210は、予め決められた基準色範囲内から、ランダムに、基準線色nDを決定する。基準色範囲は、基準線の色(ここでは、輝度値)の許容範囲であり、ゼロ以上、上限輝度値以下の範囲である。基準色範囲は、例えば、現実の複数の入力画像950i上の複数の基準線の色の分布範囲に設定されてよい。
【0051】
S225では、プロセッサ210は、左端線の横方向Dxの基準位置nSを決定する。左端線は、基準ベースパターン画像810(図5(B))内の左側(すなわち、横方向Dxとは反対方向側)の端の線PL0である。本実施例では、予め決められた基準位置範囲内から、ランダムに、基準位置nSが選択される。基準位置範囲は、基準線の位置の許容範囲であり、第1位置以上、第2位置以下の範囲である。基準位置範囲は、例えば、現実の複数の入力画像950i上の複数の左端線の位置の分布範囲に設定されてよい。
【0052】
S260では、プロセッサ210は、注目番号nによって特定される注目線PLnの左端位置nLと右端位置nRとを算出する。図5(B)には、線PL0の左端位置nLと右端位置nRとが示されている。左端位置nLは、横方向Dxとは反対方向側の端の位置であり、右端位置nRは、横方向Dxの端の位置である。本実施例では、基準線幅nWを有するM本の線PLは、横方向Dxに向かって等間隔で並べて配置される。隣り合う2本の線PLの間の横方向Dxの位置の差nPは、予め決められている。以上により、nL=nS+nP×nであり、nR=nS+nP×n+nWである。
【0053】
S265では、プロセッサ210は、基準ベースパターン画像810上において、注目線PLnの内部を基準線色nDで塗りつぶす。具体的には、左端位置nLから右端位置nRまでの範囲に含まれる複数の画素の輝度値が、基準線色nDに設定される。
【0054】
S290では、プロセッサ210は、注目番号nに1を加算する。S295では、プロセッサ210は、M本の全ての線PLの処理が完了したか否かを判断する。未処理の線PLが残っている場合(S295:No)、プロセッサ210は、S260へ移行する。M本の線PLの処理が完了した場合(S295:Yes)、プロセッサ210は、S297で、基準ベースパターン画像を表す基準ベースパターン画像データを、記憶装置215(例えば、不揮発性記憶装置230)に格納する。そして、プロセッサ210は、図5(A)の処理、すなわち、図4のS130の処理を終了する。
【0055】
図6(A)は、図4のS140の非基準ベースパターン画像生成処理の例を示すフローチャートである。図6(B)は、非基準ベースパターン画像の例を示す説明図である。非基準ベースパターン画像820は、非基準線を含むノズルパターンNPの画像であり、入力画像950i(図3)と同じサイズの画像である。図6(B)では、図5(B)と同様に、複数の線に符号PL0-PLkが付されている。図6(B)の例では、3本の線PL1、PL2、PL3が、非基準線である(詳細は後述)。
【0056】
図6(A)のS210、S215、S220、S225は、図5(A)のS210、S215、S220、S225と、それぞれ同じである。S240では、プロセッサ210は、M本の線PLのそれぞれの線幅pWを決定する。本実施例では、プロセッサ210は、M本の線PLから、ランダムに、第1非基準線を選択する。第1非基準線として選択されなかった線の線幅pWは、基準線幅nWに設定される。第1非基準線の線幅は、予め決められた非基準幅範囲内から、ランダムに選択される。非基準幅範囲は、ゼロ以上、非基準上限幅以下の範囲である。ゼロの幅は、線が無いことを示している。非基準上限幅は、図5(A)のS215で説明した基準幅範囲の上限幅と同じであってよい。図6(B)では、第1非基準線PL2の幅pWが、基準線幅nWと異なっている。
【0057】
S245では、プロセッサ210は、M本の線のそれぞれの色pD(ここでは、輝度値)を決定する。本実施例では、プロセッサ210は、M本の線から、ランダムに、第2非基準線を選択する。第2非基準線として選択されなかった線の色pDは、基準線色nDに設定される。第2非基準線の色pDは、予め決められた非基準色範囲内から、ランダムに選択される。非基準色範囲は、ゼロ以上、非基準上限輝度値以下の範囲である。非基準上限輝度値は、図5(A)のS220で説明した基準色範囲の上限輝度値と同じであってよく、上限輝度値よりも大きくてもよい。図6(B)では、第2非基準線PL3の色pDが、基準線色nDと異なっている。
【0058】
S250では、プロセッサ210は、M本の線のそれぞれの横方向Dxの位置ずれ量pZを決定する。本実施例では、プロセッサ210は、M本の線から、ランダムに、第3非基準線を選択する。第3非基準線として選択されなかった線の位置ずれ量pZは、ゼロに設定される。第3非基準線の位置ずれ量pZは、予め決められたずれ量範囲内から、ランダムに選択される。ずれ量範囲は、-XB以上、+XB以下の範囲である。値XBは、予め実験的に決定される。図6(B)では、第3非基準線PL1の位置ずれ量pZが、ゼロではない。
【0059】
S260aでは、プロセッサ210は、注目番号nによって特定される注目線PLnの左端位置nLと右端位置nRとを算出する。図5(A)のS260との差異は、注目番号nの線幅pW(n)と位置ずれ量pZ(n)とが考慮される点である。具体的には、nL=nS+nP×n+pZ(n)であり、nR=nS+nP×n+pW(n)+pZ(n)である。図6(B)の例では、第3非基準線PL1の横方向Dxの位置が、位置ずれ量pZに従ってずれている。また、第1非基準線PL2の幅が、基準線幅nWとは異なる幅pWに設定されている。
【0060】
S265aでは、プロセッサ210は、非基準ベースパターン画像820上において、注目線PLnの内部を注目線PLnの色pD(n)で塗りつぶす。具体的には、左端位置nLから右端位置nRまでの範囲に含まれる複数の画素の輝度値が、注目線PLnの色pD(n)に設定される。
【0061】
なお、S240、S245、S250では、非基準線の選択は、独立に行われる。従って、1本の非基準線に関して、幅pWと色pDと位置ずれ量pZとの3個のパラメータのうちの2個以上のパラメータが、基準線の対応するパラメータの値と異なり得る。
【0062】
続くS290、S295は、図5(A)のS290、S295と、それぞれ同じである。未処理の線PLが残っている場合(S295:No)、プロセッサ210は、S260aへ移行する。M本の線PLの処理が完了した場合(S295:Yes)、プロセッサ210は、S297aで、非基準ベースパターン画像を表す非基準ベースパターン画像データを、記憶装置215(例えば、不揮発性記憶装置230)に格納する。そして、プロセッサ210は、図6(A)の処理、すなわち、図4のS140の処理を終了する。
【0063】
S150(図4)では、プロセッサ210は、S130またはS140で生成されたベースパターン画像データの平滑化処理を実行し、平滑ベースパターン画像データを生成する。平滑化処理は、ぼかし処理とも呼ばれる。現実のノズルパターンNPの読取画像では、ノズルパターンNPの輪郭がぼやけている。S150は、ベースパターン画像を、現実の読取画像に近づけるための処理である。本実施例では、平均値フィルタを用いる平滑化処理が行われる。平滑化処理は、他の種々の処理であってよい(例えば、中央値フィルタ、ガウシアンフィルタなどの他の平滑化フィルタが用いられてよい)。
【0064】
S155では、プロセッサ210は、背景画像生成処理を実行する。図7(A)は、背景画像生成処理の例を示すフローチャートである。S310では、プロセッサ210は、複数枚のシートの複数枚の読取画像(図4:S105)から、ランダムに、1枚の対象読取画像を選択する。S315では、プロセッサ210は、対象読取画像から、入力画像950i(図3)と同じサイズの部分である背景画像を抽出する。対象読取画像内の背景画像の位置は、ランダムに決定される。以下、読取画像から抽出された背景画像を、第1種背景画像とも呼び、第1種背景画像の画像データを、第1種背景画像データとも呼ぶ。
【0065】
図7(B)は、第1種背景画像の例を示す説明図である。図中には、2枚の読取画像SHR1、SHR2が示されている。これらの読取画像SHR1、SHR2から、背景画像BG1-BG4が抽出されている。なお、1回の図7の処理では、1個の背景画像が抽出される。
【0066】
S160(図4)では、プロセッサ210は、ノイズ含有パターン画像のノイズ含有パターン画像データを生成する。ノイズ含有パターン画像は、S130またはS140で生成されたベースパターン画像と第1種背景画像とを用いて、生成される。図8(A)-図8(D)は、ノイズ含有パターン画像の説明図である。図8(A)は、基準ベースパターン画像810aと第1種背景画像830aから生成されるノイズ含有基準パターン画像850aを示している。図8(B)、図8(C)は、非基準ベースパターン画像820b、820cと第1種背景画像830b、830cから生成されるノイズ含有非基準パターン画像850b、850cを、それぞれ、示している。図中の輝度値Pt(x,y)は、ベースパターン画像810a-810cの画素(x,y)の輝度値である(ベースパターン輝度値Ptと呼ぶ)。値xは、画像内の横方向Dxの画素位置であり、値yは、画像内の縦方向Dyの画素位置である。他の画像の輝度値Pu、Pnについても、(x,y)は、画像内の画素位置を示している。輝度値Puは、第1種背景画像830a-830cの輝度値である(第1種背景輝度値Puと呼ぶ)。輝度値Pnは、ノイズ含有基準パターン画像850a-850cの輝度値である(第1種対象輝度値Pnと呼ぶ)。
【0067】
図8(D)には、第1種対象輝度値Pnの算出式が示されている。ベースパターン輝度値Pt(x,y)が255である場合、すなわち、画素(x,y)が線PLではなく背景を示す場合、第1種対象輝度値Pn(x,y)は、背景輝度値Pu(x,y)と同じ値に設定される。すなわち、背景輝度値Puの重みが1であり、ベースパターン輝度値Ptの重みがゼロである。
【0068】
ベースパターン輝度値Pt(x,y)が255よりも小さい場合、すなわち、画素(x,y)が背景ではなく線PLを示す場合、Pn(x,y)は、k1×Pu(x,y)+k2×Pt(x,y)に設定される。重みk1、k2は、いずれも、ゼロよりも大きい。本実施例では、k1+k2=1である。例えば、k1=0.75、k2=0.25であってよい。
【0069】
プロセッサ210は、図8(D)の算出式に従って、ノイズ含有パターン画像の各画素の輝度値を決定する。線PLを示す画素の第1種対象輝度値Pnの算出に、ベースパターン輝度値Ptに加えて、背景輝度値Puが用いられる。従って、ノイズ含有パターン画像は、ベースパターン画像が印刷されたシートの読取画像を、適切に再現できる。
【0070】
S165(図4)では、プロセッサ210は、生成したノイズ含有パターン画像データを、記憶装置215(本実施例では、不揮発性記憶装置230)に格納する。
【0071】
S170では、プロセッサ210は、S155で生成された第1種背景画像の代表色値を特定する。本実施例では、プロセッサ210は、第1種背景画像に含まれる全ての画素の平均輝度値を、代表値として算出する。
【0072】
S175では、プロセッサ210は、ノイズ低減パターン画像のノイズ低減パターン画像データを生成する。ノイズ低減パターン画像は、S130またはS140で生成されたベースパターン画像と、S170で特定された代表色値によって表される第2種背景画像と、を用いて生成される。図9(A)-図9(D)は、ノイズ低減パターン画像の説明図である。図9(A)は、基準ベースパターン画像810aと第2種背景画像830amから生成されるノイズ低減パターン画像851aを示している。図9(B)、図9(C)は、非基準ベースパターン画像820b、820cと第2種背景画像830bm、830cmから生成されるノイズ低減非基準パターン画像851b、851cを、それぞれ、示している。第2種背景画像830am-830cmの全ての画素の色値は、代表色値に設定されている。第2種背景輝度値Pum(x,y)は、第2種背景画像830am-830cmの画素(x,y)の輝度値であり、代表色値と同じである。輝度値Pc(x,y)は、ノイズ低減基準パターン画像851a-851cの画素(x,y)の輝度値である(第2種対象輝度値Pcと呼ぶ)。
【0073】
図9(D)には、第2種対象輝度値Pcの算出式が示されている。ベースパターン輝度値Pt(x,y)が255である場合(画素(x,y)は背景を示す)、第2種対象輝度値Pc(x,y)は、第2種背景輝度値Pum(x,y)、すなわち、代表色値(本実施例では、背景輝度値Puの平均値)に設定される。このように、第2種背景輝度値Pumの重みが1であり、ベースパターン輝度値Ptの重みはゼロである。
【0074】
ベースパターン輝度値Pt(x,y)が255よりも小さい場合(画素(x,y)は線PLを示す)、Pc(x,y)は、k1×Pum(x,y)+k2×Pt(x,y)に設定される。第2種背景輝度値Pumの重みk1は、図8(D)の第1種背景輝度値Puの重みk1と同じである。ベースパターン輝度値Ptの重みk2は、図8(D)のベースパターン輝度値Ptの重みk2と同じである。
【0075】
プロセッサ210は、図9(D)の算出式に従って、ノイズ低減パターン画像の各画素の輝度値を決定する。線PLを示す画素の第2種対象輝度値Pcの算出に、ベースパターン輝度値Ptに加えて、第2種背景輝度値Pum(すなわち、代表色値)が用いられる。従って、ノイズ低減パターン画像は、ベースパターン画像が印刷されたシートの読取画像からノイズ(例えば、シートの繊維のパターン)を低減した画像を、適切に表すことができる。
【0076】
S180(図4)では、プロセッサ210は、ノイズ低減パターン画像データのコントラスト強調処理を実行する。図9(E)は、コントラスト強調処理の例を示すグラフである。横軸は、調整前の第2種対象輝度値Pcを示し、縦軸は、調整済の第2種対象輝度値Pccを示している。この対応関係は、未調整の輝度値Pcが第1閾値Vaから第2閾値Vbに変化する場合に、調整済の輝度値Pccがゼロから255に変化するように、構成されている(ゼロ<Va<Vb<255)。Pc<Vaの場合、調整済の輝度値Pccは、ゼロに設定される。Vb<Pcの場合、調整済の輝度値Pccは255に設定される。なお、図9(E)の対応関係を用いる処理に限らず、コントラストを強調する種々の処理が実行されてよい。
【0077】
図9(A)-図9(C)には、コントラストが強調されたノイズ低減パターン画像860a-860cが示されている。コントラストが強調されているので、線PLと背景との識別は、容易である。
【0078】
S185(図4)では、プロセッサ210は、コントラストが調整された調整済ノイズ低減パターン画像データを、ノイズ含有パターン画像データと対応付けて、記憶装置215(本実施例では、不揮発性記憶装置230)に格納する。
【0079】
S190では、プロセッサ210は、画像データの生成が完了したか否かを判断する。本実施例では、完了の条件は、基準のノズルパターンNPの画像データの生成回数が、予め決められた基準回数P(Pは2以上の整数)以上であり、かつ、非基準のノズルパターンNPの画像データの生成回数が、予め決められた非基準回数Q(Qは2以上の整数)以上であることである。なお、完了の条件は、他の種々の条件であってよい。
【0080】
画像データの生成が完了していないと判断される場合(S190:No)、プロセッサ210は、S110へ移行する。画像データの生成が完了したと判断される場合(S190:Yes)、プロセッサ210は、図4の処理を終了する。不揮発性記憶装置230には、ノイズ含有パターン画像データと調整済ノイズ低減パターン画像データとの複数のセットが、格納される。
【0081】
以上のように、本実施例の学習画像データの生成処理では、図4のS155、S160で、ノイズ含有パターン画像データが生成される。図8(A)-図8(C)で説明したように、ノイズ含有パターン画像850a-850cは、第1種背景画像830a-830c上に、ノズルパターンNP(複数の線PL)が配置された画像である。S160で説明したように、ノイズ含有パターン画像は、第1種背景画像とベースパターン画像とを用いて生成される。S105、S155で説明したように、第1種背景画像は、印刷用のシートSH1を光学的に読み取って得られる読取画像(すなわち、シート画像)の少なくとも一部である。S130、S140で説明したように、ベースパターン画像は、ノズルパターンNPの画像である。S165では、ノイズ含有パターン画像データは、記憶装置215に格納される。
【0082】
図8(D)で説明したように、ノイズ含有パターン画像の画素の色値(ここでは、輝度値)を決定する処理は、2つの処理を含んでいる。第1の処理は、対象画素が、ノズルパターンNPを示す場合の処理である(図8(D)の下段)。第1の処理では、対象画素の輝度値Pn(x,y)は、第1種背景輝度値Pu(x,y)とベースパターン輝度値Pt(x,y)との重み付き合計値に設定される。第1種背景輝度値Puに乗じられる重みk1は、ゼロよりも大きく、ベースパターン輝度値Ptに乗じられる重みk2は、ゼロよりも大きい。第2の処理は、対象画素が、ノズルパターンNPが配置されていない部分を示す場合の処理である(図8(D)の上段)。第2の処理では、対象画素の輝度値Pn(x,y)は、第1種背景輝度値Pu(x,y)に、第1の処理における第1種背景輝度値Puの重みk1よりも大きい重み(本実施例では、1)を乗じて得られる値に設定される。以上により、ノイズ含有パターン画像は、ノズルパターンNPが印刷されたシートを光学的に読み取って得られる画像を適切に表現できる。学習モデル235は、ノズルパターンNPが印刷されたシートを実際に光学的に読み取って得られる画像データを処理するモデルである。図4の実施例では、このような学習モデル235のトレーニングのための学習画像データを、適切に、生成できる。
【0083】
また、S170では、S155で生成された背景画像上の複数の位置に対応付けられた複数の輝度値を代表する代表色値が特定される。S175では、ノイズ低減パターン画像データが生成され、S180では、ノイズ低減パターン画像データのコントラストが調整される。図9(A)-図9(C)で説明したように、ノイズ低減パターン画像851a-851cは、第2種背景画像830am-830cm上に、ノズルパターンNP(複数のPL)が配置された画像である。S175で説明したように、ノイズ低減パターン画像は、第2種背景画像とベースパターン画像とを用いて生成される。S170、S175で説明したように、第2種背景画像は、代表色値によって表される画像である。S185では、S180で調整されたノイズ低減パターン画像データは、記憶装置215に格納される。
【0084】
図9(D)で説明したように、ノイズ低減パターン画像の画素の色値(ここでは、輝度値)を決定する処理は、2つの処理を含んでいる。第1の処理は、対象画素が、ノズルパターンNPを示す場合の処理である(図9(D)の下段)。第1の処理では、対象画素の輝度値Pc(x,y)は、第2種背景輝度値Pum(x,y)とベースパターン輝度値Pt(x,y)との重み付き合計値に設定される。第2種背景輝度値Pumに乗じられる重みk1は、ゼロよりも大きく、ベースパターン輝度値Ptに乗じられる重みk2は、ゼロよりも大きい。第2の処理は、対象画素が、ノズルパターンNPが配置されていない部分を示す場合の処理である(図9(D)の上段)。第2の処理では、対象画素の輝度値Pc(x,y)は、第2種背景輝度値Pum(x,y)に、第1の処理における第2種背景輝度値Pumの重みk1よりも大きい重み(本実施例では、1)を乗じて得られる値に設定される。以上により、ノイズ低減パターン画像は、ノイズ含有パターン画像のノイズを低減して得られる画像を適切に表現できる。図4の実施例では、ノイズを含む画像とノイズが低減された画像とを用いるトレーニングのための学習画像データを、適切に、生成できる。
【0085】
また、S170で説明したように、本実施例では、代表色値は、第1種背景画像上の複数の画素の複数の色値の平均値である。従って、第2種背景画像は、第1種背景画像と比べてノイズが低減された背景画像を適切に表すことができるので、適切なノイズ低減パターン画像データを生成できる。なお、代表色値は、平均値に限らず、中央値、最頻値などの複数の色値を用いて特定される種々の値であってよい。また、代表色値は、第1種背景画像の全ての画素ではなく、第1種背景画像から均等に選択された一部の複数の画素を用いて、特定されてよい。
【0086】
また、図5(B)等で説明したように、ノズルパターンNPは、第1方向D1に平行なN本(Nは2以上の整数)の線PLであって、第1方向D1に垂直な第2方向D2に並ぶN本の線PLを含んでいる。本実施例では、このようなノズルパターンNPの学習画像データを、適切に、生成できる。
【0087】
また、S190で説明したように、非基準のノズルパターンNPのノイズ含有パターン画像とノイズ低減パターン画像との生成は、Q回行われる(Qは2以上の整数)。図6(A)で説明したように、ノイズ含有パターン画像に含まれる基準線には、基準線幅nWと基準線色nDと基準位置nSとゼロの位置ずれ量pZとが対応付けられている。基準線幅nWと基準線色nDと基準位置nSとは、ノイズ含有パターン画像に対応付けられており、ノイズ含有パターン画像毎に決定される。基準線の横方向Dxの位置は、図6(A)のS260aに示すように、基準位置nSと注目番号n(すなわち、横方向Dxの線PLの番号)とに基づいて、決定される。図6(A)、図6(B)等で説明したように、Q枚のノイズ含有パターン画像のそれぞれは、1以上の非基準線を含んでいる。非基準線は、以下の3個のパラメータ値のうちの1個以上のパラメータ値を有している。
(1)基準線色nDとは異なる色pD(ここでは、輝度)
(2)基準位置nSと注目番号nとに対応付けられた横方向Dxの基準位置とは異なる位置
(3)基準線幅nWとは異なる幅pW
従って、本実施例は、図2(A)のような不具合を有するノズルパターンの画像を処理する学習モデル235のトレーニングのための学習画像データを、適切に、生成できる。
【0088】
また、図6(A)の処理により、Q枚のノイズ含有非基準パターン画像は、以下の3種類のノイズ含有パターン画像を含んでいる。
(1)基準線色nDとは異なる色pD(ここでは、輝度)を有する1以上の非基準線を含むノイズ含有パターン画像
(2)横方向Dxの基準位置とは異なる位置に配置された1以上の非基準線を含むノイズ含有パターン画像
(3)基準線幅nWとは異なる幅pWを有する1以上の非基準線を含むノイズ含有パターン画像
従って、輝度と横方向Dxの位置と幅とのそれぞれが変化し得る場合に、トレーニングのための学習画像データを、適切に、生成できる。例えば、図8(B)のノイズ含有非基準パターン画像850bは、基準線色nDとは異なる色pDを有する1以上の非基準線と、横方向Dxの基準位置とは異なる位置に配置された1以上の非基準線と、を含み得る。そして、図8(C)のノイズ含有非基準パターン画像850cは、基準線幅nWとは異なる幅pWを有する1以上の非基準線を含み得る。このように、1枚のノイズ含有パターン画像が、複数の種類の非基準線を含んでよい。
【0089】
また、図6(A)の処理では、非基準線は、ノイズ含有パターン画像毎に、ランダムに選択される。従って、複数枚のノイズ含有非基準パターン画像の間で、非基準線の総数は互いに異なり得る。従って、ノズルパターンNPに含まれる非基準線の総数が変化し得る場合に、トレーニングのための学習画像データを、適切に、生成できる。例えば、図8(B)のノイズ含有非基準パターン画像850bと図8(C)のノイズ含有非基準パターン画像850cとの間では、非基準線の総数が異なり得る。
【0090】
A3.トレーニング処理:
図10(A)-図10(C)は、学習モデル235のトレーニング処理の説明図である。図10(A)は、学習モデル235のトレーニング処理の例を示すフローチャートである。本実施例では、学習モデル235は、ノズルパターンNPの画像データが入力された場合に、ノイズが低減された同じノズルパターンNPの画像データが生成されるように、トレーニングされる。トレーニングによって、フィルタFL(図3)の「Fx×Fy」個の重みが、調整される。以下、複合機200(図1)が、トレーニングを実行することとして、説明する。プロセッサ210は、第2プログラム232に従って、トレーニングを行う。なお、トレーニングは、高い演算能力を有する他のデータ処理装置によって、実行されてよい。
【0091】
S310では、プロセッサ210は、学習モデル235の複数個の演算パラメータ(ここでは、フィルタFLの「Fx×Fy」個の重み)を初期化する。例えば、各演算パラメータは、乱数値に設定される。
【0092】
S315では、プロセッサ210は、複数のノイズ含有パターン画像データからV個(Vは1以上の整数)のノイズ含有パターン画像データを選択し、V個のノイズ含有パターン画像データを学習モデル235に入力し、V個の出力画像データを生成する。なお、V個のノイズ含有パターン画像データとしては、複数のノイズ含有パターン画像データのうちの未使用のノイズ含有パターン画像データが選択されてよい。また、複数のノイズ含有パターン画像データからランダムにV個のノイズ含有パターン画像データが選択されてもよい。
【0093】
S320では、プロセッサ210は、学習モデル235に入力されたV個のノイズ含有パターン画像データのそれぞれについて、調整済ノイズ低減パターン画像データと出力画像データとの間の差分の評価値である誤差値を算出する。誤差値は、予め決められた損失関数に基づいて算出される。図10(B)は、損失関数の例を示す説明図である。本実施例では、損失関数LFは、第1項Limgと第2項Lfilterとの合計値である。
【0094】
第1項Limgは、調整済ノイズ低減パターン画像と、出力画像データの出力画像と、の間の差分を示している。本実施例では、第1項Limgは、255で正規化された二乗誤差の平方根の平均値である。図中の第1項Limgの画素数IWは、各画像の横方向Dxの画素数であり、画素数IHは、各画像の縦方向Dyの画素数である(図3参照)。画素値Po(x,y)は、出力画像の画素(x,y)の画素値である。値xは、画像内の横方向Dxの画素位置であり、値yは、画像内の縦方向Dyの画素位置である。画素値Pcc(x,y)は、調整済ノイズ低減パターン画像の画素(x,y)の画素値である(図9(A)-図9(C)参照)。第1項Limgは、調整済ノイズ低減パターン画像と出力画像との差分が小さくなるほど小さくなる。なお、第1項Limgは、2枚の画像の間の差分が小さいほど小さい値を算出する種々の関数で表されてよい。
【0095】
第2項Lfilterは、フィルタFLの重みWの対称性の高さを示す評価値である。図10(C)は、第2項Lfilterの説明図である。図中には、フィルタFLと、フィルタ対称軸AxFとが示されている。フィルタ対称軸AxFは、ノズルパターンNP(図2(A)、図5(B)等)の各線PLの対称軸(例えば、対称軸AxP、Ax0-Axk)に平行な軸である。本実施例では、フィルタ対称軸AxFは、第1方向D1(すなわち、縦方向Dy)に平行である。また、フィルタ対称軸AxFは、フィルタFLの中心を通っている。本実施例では、フィルタFLの横サイズFxが5であるので、フィルタ対称軸AxFは、第3列の重みW(3,1)-W(3,5)に重なっている。
【0096】
第2項Lfilterは、フィルタ対称軸AxFを対称軸とする線対称な位置に配置された2個の重みWの差分の絶対値の平均値である。図10(C)の対称ペアPW1、PW2は、それぞれ、線対称な位置に配置された2個の重みWの例を示している。第1ペアPW1は、重みW(1,2)と重みW(5,2)とで構成されている。第2ペアPW2は、重みW(2,4)と重みW(4,5)とで構成されている。
【0097】
図10(B)の第2項Lfilterの算出式では、総和記号のインデックスi、jのそれぞれの下限と上限とは、フィルタ対称軸AxFの左側の複数の重みの全てを選択するように、設定されている。本実施例では、W(1,1)-W(1,5)、W(2,1)-W(2,5)の10個の重みが、選択される。総和記号によって加算される変数は、インデックスi、jによって特定される対称な重みペア(W(i,j)とW(Fx+1-i,j))の差分の絶対値である。
【0098】
第2項Lfilterは、フィルタ対称軸AxFに対する複数の重みWの対称性が高いほど小さくなる。損失関数LFがこのような第2項Lfilterを含む理由は、フィルタFLを用いる画像処理に起因する線PLの変形(例えば、位置ずれ)を抑制するためである。
【0099】
図11(A)-図11(D)は、線PLの位置の説明図である。図11(A)は、ノズルパターンNPの画像上の輝度値を示すグラフである。横軸は、横方向Dxの位置Pxを示し、縦軸は、輝度値Vを示している。このグラフは、横方向Dxに延びる1本の画素ライン上での輝度値Vの分布を示している。なお、縦軸の向きは、下向きである。従って、グラフの上部では、輝度値Vが小さく、グラフの下部では、輝度値Vが大きい。グラフの1個の山は、1個の線PLを示し、グラフの谷は、背景部分BGを示している。縦軸の変数と横軸の変数とは、図11(A)-図11(D)の各グラフに共通である。
【0100】
図11(B)は、1個の線PLを示す輝度値のグラフである。点線のグラフは、学習モデル235によって生成される出力画像の輝度値Poを示し、実線のグラフは、ノイズ低減パターン画像の輝度値Pcを示している。図11(B)は、トレーニングが完了する前の学習モデル235によって出力される輝度値Poを示している。輝度値Poは、図10(B)で説明した出力画像の画素値Po(x,y)と同様に、出力画像上の各画素位置における輝度値を示している。輝度値Pcは、図9(A)等で説明した輝度値Pc(x,y)と同様に、ノイズ低減パターン画像上の各画素位置での輝度値を示している。図示するように、これらの輝度値Po、Pcの間には、差が生じている。実施例のトレーニングでは、輝度値Po、Pcの差ではなく、輝度値Po、Pccの差が小さくなる(輝度値Pccは、図10(B)等で説明した画素値Pcc(x,y)と同様に、調整済ノイズ低減パターン画像上の各画素位置での輝度値を示している)。ただし、ここでは、説明を簡略化するために、トレーニングにより輝度値Po、Pcの差が小さくなることとする。
【0101】
図11(C)は、参考例の説明図である。このグラフは、損失関数LFが第1項Limgのみで構成される仮の場合の輝度値Po、Pcを示している。輝度値Poは、トレーニング済の学習モデル235によって出力される輝度値である。図中の第1ピーク位置PxCは、ノイズ低減パターン画像の輝度値Pcによって示される線PLのピークの位置である。このピーク位置PxCは、線PLの対称軸の位置と同じであり、学習モデル235に入力されるノイズ含有パターン画像上の線PLのピーク位置と同じである。以下、第1ピーク位置PxCを、対称軸AxCとも呼ぶ。
【0102】
図中の第2ピーク位置PxOは、出力画像の輝度値Poによって示される線PLのピークの位置である。第2ピーク位置PxOは、第1ピーク位置PxCからずれている。この理由は、以下の通りである。第1項Limgを用いるトレーニングでは、線PLと背景部分BGとを区別せずに、第1項Limgに従って算出される誤差値が小さくなるように、フィルタFLが調整される。この結果、調整済のフィルタFLは、背景部分GB(図11(B))の大きな差を小さくするために、線PL(図11(C))を示す部分の輝度値Po、Pcの差を、線PLの対称軸AxCに対して非対称に調整し得る。この結果、出力画像上の線PLが変形し得る。例えば、出力画像上の線PLの第2ピーク位置PxOは、元のピーク位置PxCから、ずれ得る。このような出力画像が利用される場合、出力画像上での線PLの位置の特定の誤差が大きくなる。
【0103】
図11(D)は、本実施例の説明図である。輝度値Poは、トレーニング済の学習モデル235によって出力される輝度値である。図示するように、出力画像の輝度値Poによって示される線PLのピーク位置PxOは、元のピーク位置PxCとおおよそ同じである。この理由は、以下の通りである。損失関数LF(図10(B))は、第1項Limgに加えて、第2項Lfilterを含んでいる。第2項Lfilterの値は、フィルタFLの重みWの対称性が低くなるほど、大きくなる。畳込層310(図3)による演算では、フィルタFLは、入力画像上で均等に配置された複数の位置(本実施例では、入力画像の全ての画素位置)に、適用される。すなわち、フィルタFLは、1本の線PLに重なる複数の位置であって、線PLの対称軸AxCに対する線対称な複数の位置に、適用される。従って、仮に、図11(C)のように、フィルタFLが、輝度値Po、Pcの差を、線PLの対称軸AxCに対して非対称に調整する場合には、フィルタ対称軸AxF(図10(C))に対する重みWの対称性は低い。この結果、第1項Limgの値は小さくなり得るものの、第2項Lfilterの値が大きくなるので、損失関数LFに基づく誤差値は大きくなる。
【0104】
損失関数LF(図10(B))に基づく誤差値が小さくなるようにフィルタFLの重みWが調整される場合、フィルタ対称軸AxF(図10(C))に対する重みWの対称性が高くなる。従って、調整済のフィルタFLは、輝度値Po、Pcの差を、線PLの対称軸AxCに対して対称に調整する。この結果、出力画像上の線PLの第2ピーク位置PxOと元のピーク位置PxCとの間のずれは、抑制される。
【0105】
S325(図10(A))では、プロセッサ210は、このような損失関数LFに基づくV個の誤差値を用いて、学習モデル235の複数の演算パラメータ(本実施例では、フィルタFLの重みW)を調整する。具体的には、プロセッサ210は、誤差値が小さくなるように、予め決められたアルゴリズムに従って、複数の演算パラメータを調整する。アルゴリズムとしては、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズムが用いられる。
【0106】
S330では、プロセッサ210は、トレーニングが完了したか否かを判断する。トレーニング完了の条件は、例えば、S320で算出された全ての誤差値が予め決められた誤差閾値よりも小さいことであってよい。これに代えて、トレーニング完了の条件は、S315-S325の処理が実行された回数が予め決められた回数閾値以上であることであってよい。
【0107】
トレーニングが完了していないと判断される場合(S330:No)、プロセッサ210は、S315へ移行する。トレーニングが完了したと判断される場合(S330:Yes)、S335で、プロセッサ210は、学習モデル235からフィルタFLのデータ(すなわち、Fx×Fy個の重みWのデータ)を抽出する。S340では、プロセッサ210は、フィルタFLのデータであるフィルタデータFLDを、記憶装置215(本実施例では、不揮発性記憶装置230)に格納する。そして、図10(A)の処理は、終了する。
【0108】
A4.画像処理:
図12は、フィルタデータFLD(図1)を用いる画像処理の例を示すフローチャートである。この画像処理では、ノズルパターンNPが印刷されたシートSH2の読取データに対して、フィルタFLを用いるフィルタ処理が行われる。この画像処理は、印刷ヘッド110のノズルNzの不具合の確認のために行われる。例えば、印刷装置100の製造時に、図12の処理が行われる。本実施例では、複合機200のプロセッサ210は、第3プログラム233に従って、画像処理を実行する。
【0109】
S410では、印刷装置100は、シートSH2上に、ノズルパターンNPを印刷する。例えば、作業者が印刷装置100を操作することによって、印刷装置100にノズルパターンNPを印刷させる。これに代えて、印刷装置100が複合機200に接続され、プロセッサ210が、印刷装置100に印刷指示を供給してもよい。
【0110】
S420では、ノズルパターンNPが印刷されたシートSH2が、読取部300によって読み取られ、読取データが生成される。S430では、プロセッサ210は、読取部300から読取データを取得し、読取データからノズルパターンNPを示す部分を切り出すクロップ処理を実行することによって、対象データを取得する。読取画像中の切り出される部分は、予め決められている。なお、クロップ処理が省略されて、読取データが、そのまま、対象データとして用いられてもよい。
【0111】
S440では、プロセッサ210は、対象データに対してフィルタFLを用いるフィルタ処理を実行することによって、処理済画像データを生成する。フィルタ処理は、畳込層310(図3)による畳込処理と同じである。処理済画像データの処理済画像は、対象データのノズルパターンNPと同じ変形していないノズルパターンNPを示している。そして、処理済画像では、ノイズが低減され、コントラストが強調されている。
【0112】
S450では、プロセッサ210は、処理済画像データを、記憶装置215(本実施例では、不揮発性記憶装置230)に格納する。S460では、プロセッサ210は、処理済画像データを解析することによって、処理済画像のノズルパターンNPが不具合を有しているか否かを判断する。例えば、プロセッサ210は、公知の直線検出方法(例えば、エッジ抽出とハフ変換)に従って、処理済画像内の複数の線PLを検出する。そして、プロセッサ210は、検出された複数の線PLを解析することによって、各線PLの横方向Dxの位置と幅と輝度値とを特定する。1本の注目線の位置と幅と輝度値との少なくとも1つのパラメータ値が、パラメータ値に対応する許容範囲外である場合に、プロセッサ210は、その注目線が不具合を有していると判断する。注目線の位置と幅と輝度値との全てが、対応する許容範囲内である場合には、プロセッサ210は、その注目線に不具合は無いと判断する。S470では、プロセッサ210は、判断結果を示す結果データを、記憶装置215(例えば、不揮発性記憶装置230)に格納する。そして、図12の処理は、終了する。
【0113】
以上のように、図10(A)の処理では、画像処理用の畳込フィルタFLが生成される。S315では、プロセッサ210は、学習モデル235にノイズ含有パターン画像データを入力することによって、出力画像データを生成する。図3で説明したように、学習モデル235は、1個の畳込層310で構成されるニューラルネットワークのモデルである。畳込フィルタFLは、入力された画像上の畳込フィルタFLに対応する領域であるフィルタ領域内の複数の画素のそれぞれの重みWを示している。畳込層310は、畳込フィルタFLを用いる畳込演算を行う。S320(図10(A))では、プロセッサ210は、出力画像データと、ノイズ低減パターン画像データと、を用いて、損失関数LFに基づく誤差値を算出する。S325では、プロセッサ210は、誤差値が小さくなるように、畳込フィルタFLの複数の重みWを調整する。S335では、プロセッサ210は、調整された複数の重みWを示す畳込フィルタFLのフィルタデータFLDを、画像処理フィルタのデータとして抽出する。ここで、図8(A)-図8(C)に示すように、ノイズ含有パターン画像850a-850cは、線PLを含むノズルパターンNPの画像であって、ノイズを含む画像である。図5(B)で説明したように、線PL0-PLkは、それぞれの対称軸Ax0-Axkに対して線対称な形状を有している。図9(A)-図9(C)で説明したように、ノイズ低減パターン画像860a-860cは、ノズルパターンNPの画像であって、ノイズ含有パターン画像850a-850cと比べてノイズが低減された画像である。また、ノイズ低減パターン画像860a-860cは、ノイズ含有パターン画像850a-850cのノズルパターンNPと同じノズルパターンNPを、それぞれ示している。そして、図10(B)に示すように、損失関数LFは、第1項Limgと、第2項Lfilterと、を含んでいる。第1項Limgは、出力画像データとノイズ低減パターン画像データとの間の差の大きさを示している。第2項Lfilterは、畳込フィルタFL(図10(C))内のフィルタ対称軸AxFに対する複数の重みWの対称性が高いほど小さくなる。フィルタ対称軸AxFは、線PL0-PLkの対称軸Ax0-Axkに平行である。従って、ノズルパターンNPの画像に対してフィルタFLを用いる画像処理が行われる場合に、ノイズを低減でき、さらに、画像処理に起因するノズルパターンNPの変形を抑制できる。具体的には、図11(A)-図11(D)で説明したように、線PLの位置の変化が、抑制される。
【0114】
また、トレーニングには、基準のノズルパターンNPの画像データと、非基準のノズルパターンNPの画像データと、の両方が用いられる。従って、学習モデル235(ひいては、フィルタFL)は、読取画像のノズルパターンNPが非基準線を含むか否かに拘わらず、変形していない同じノズルパターンNPの出力画像を生成できる。
【0115】
また、図4のS180、S185、図9(A)-図9(C)で説明したように、誤差値の算出に用いられるノイズ低減パターン画像860a-860cは、ノイズ含有パターン画像850a-850c(図8(A)-図8(C))と比べてコントラストが強調された画像である。従って、フィルタFLを用いる画像処理によって、コントラストを強調できる。
【0116】
また、図10(B)、図10(C)で説明したように、第2項Lfilterは、フィルタFL内のフィルタ対称軸AxFを挟んで線対称な位置に配置される2個の重みの間の差が小さいほど、小さい。従って、フィルタFLを用いる画像処理に起因する線PLの変形(例えば、位置ずれ)を適切に抑制できる。
【0117】
また、図12のS410では、印刷装置100(図1)が、シートSH2上にノズルパターンNPを印刷する。印刷装置100は、印刷ヘッド110を備えている。印刷ヘッド110(図2(A)、図2(B))は、インクを吐出するように構成された複数のノズルNzを有している。ノズルパターンNPは、複数の平行な線PLを含んでいる。複数の線PLのそれぞれは、中心軸AxPに対して線対称な形状を有している。1本の線PLは、1個のノズルNzによって印刷されている。S420(図12)では、読取部300は、ノズルパターンNPを光学的に読み取ることによって、ノズルパターンNPの画像の読取データを生成する。S430では、プロセッサ210は、読取データを用いて、ノズルパターンNPの画像データである対象データを取得する。S440では、プロセッサ210は、対象データに対してフィルタFLを用いる画像処理を実行することによって、処理済画像データを生成する。S450では、プロセッサ210は、処理済画像データを記憶装置215に格納する。処理済画像データの画像上では、ノイズが低減され、ノズルパターンNPの複数の線PLの変形が抑制されている。従って、処理済画像データを用いることによって、複数のノズルNzの状態を適切に特定できる。このように、フィルタFLを用いる画像処理は、読取部300によって生成された読取データの画質、特に、印刷装置100によって印刷されたノズルパターンNPの読取画像の画質を向上できる。図2(A)、図2(B)で説明したように、ノズルパターンNPは、複数のノズルNz(図2(A))の品質の確認に利用可能である。例えば、印刷装置100の製造時に、ノズルパターンNPの印刷と目視による確認とが行われ得る。ここで、製造コストを低減する方法として、低濃度で安価なインクを用いてノズルパターンNPを印刷し、印刷されたノズルパターンNPを読取部300で読取り、読取画像の画像処理によってノズルパターンNPの良否(すなわち、ノズルNzの良否)を判定する方法が、採用され得る。しかし、ノズルパターンNPが低濃度のインクで印刷される場合、ノズルパターンNPの色が薄いので、読取画像上でノズルパターンNPと背景との区別が容易ではない。読取画像の明度補正を行うことによって、ノズルパターンNPを強調できる。しかし、シートの模様(例えば、紙の繊維のパターン)やデジタルノイズも強調されてしまい、画像処理によるノズルNzの良否の判定が困難となり得る。本実施例のフィルタFLは、シートの模様(例えば、紙の繊維のパターン)やデジタルノイズを低減できるので、画像処理によるノズルNzの良否の判定の精度を、向上できる。以上により、低濃度で安価なインクを利用できるので、製造コストを大幅に低減できる。なお、図12のS460、S470は、省略されてよい。S450で記憶装置に格納された処理済画像データは、S460、S470の処理に代えて、他の種々の処理で利用可能である。例えば、プロセッサ210は、処理済画像データの処理済画像を表示部240に表示してよい。作業者は、処理済画像を観察することによって、線PLの不具合(ひいては、ノズルNzの不具合)を容易に特定できる。
【0118】
また、本実施例では、学習モデル235に代えて、フィルタFLを用いて画像処理が行われる。従って、画像処理の計算量を大幅に低減できる。
【0119】
B.第2実施例:
図13は、学習モデルの別の実施例の説明図である。本実施例の学習モデル235dは、オートエンコーダとも呼ばれる人工ニューラルネットワークのモデルである。本実施例では、学習モデル235dは、入力された画像データを用いて、ノイズが低減された画像データを生成する。学習モデル235dは、上記の学習モデル235の代わりに利用可能である。
【0120】
学習モデル235dは、例えば、第1エンコーダ411と、第2エンコーダ412と、第3エンコーダ413と、第3デコーダ415と、第2デコーダ416と、第1デコーダ417と、を備えている。これらの処理部411-413、415-417は、この順番に接続されている。エンコーダ411-413は、画像の特徴を抽出することによって、抽出された特徴を示す潜在変数414を生成する。各エンコーダ411-413は、例えば、畳込層と畳込層からのデータを処理するプーリング層とで構成されている。デコーダ415-417は、潜在変数414によって示される特徴を復元して画像データを生成する。各デコーダ415-417は、例えば、畳込層と畳込層からのデータを処理するアップサンプリング層とで構成されている。
【0121】
学習モデル235dのトレーニングには、図4の実施例で生成されたノイズ含有パターン画像とノイズ低減パターン画像とが用いられる。トレーニングは、図10(A)の実施例と同様に、行われる。以下、複合機200(図1)が、トレーニングを実行することとして、説明する。なお、トレーニングは、高い演算能力を有する他のデータ処理装置によって、実行されてよい。
【0122】
S352(図13)では、プロセッサ210は、ノイズ含有パターン画像データ850dを学習モデル235dに入力する。S354では、プロセッサ210は、学習モデル235dの演算を行うことによって、出力画像データ870dを生成する。S356では、プロセッサ210は、ノイズ低減パターン画像データ860dと出力画像データ870dとから損失関数LF(図10(B))に従って誤差値890dを算出する。なお、ノイズ低減パターン画像データ860dは、ノイズ含有パターン画像データ850dに対応付けられたデータである。S358では、プロセッサ210は、誤差値890dが小さくなるように、予め決められたアルゴリズムに従って、学習モデル235dの演算パラメータを調整する。調整される演算パラメータは、処理部411-413、415-417の畳込フィルタの重みとバイアスとを含んでいる。アルゴリズムとしては、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズムが用いられる。プロセッサ210は、以上のS352-S358を、繰り返す。そして、トレーニング完了の条件が満たされたことに応じて、S360で、プロセッサ210は、学習済の学習モデル235dを、不揮発性記憶装置230に格納する。
【0123】
学習済の学習モデル235dは、画像データのノイズ低減処理に利用される。プロセッサ210は、ノズルパターンNPの読取データ750d(図13)を学習モデル235dに入力する。そして、プロセッサ210は、学習モデル235dの演算を行うことによって、ノイズが低減された画像の出力データ770dを生成できる。
【0124】
C.第3実施例:
図14は、学習データの生成処理の別の実施例を示すフローチャートである。図4の実施例との差異は、ノズルパターンNPの画像の代わりに文字の画像が生成される点である。S105は、図4のS105と同じである。S110aでは、プロセッサ210は、処理対象の文字である対象文字を選択する。本実施例では、対象文字は、文字と書体との組み合わせによって特定される。文字は、予め決められた文字セット(例えば、アルファベットと数字のセット)から選択される。書体は、予め決められた複数の書体(例えば、標準、太字、斜体)から選択される。S135aでは、プロセッサ210は、対象文字の画像である文字画像の文字画像データを生成する。文字を示す画素の輝度値はゼロに設定され、背景を示す画素の輝度値は255に設定される。S150aでは、プロセッサ210は、S150(図4)と同様に、文字画像データの平滑化処理を実行する。図15(A)-図15(D)は、学習データの説明図である。図15(A)、図15(B)には、文字画像810e、810fが示されている。本実施例では、文字画像810e、810fは、1個の文字の画像である。文字画像810e、810fのサイズは、予め決められている。
【0125】
S155a(図14)では、プロセッサ210は、S155(図4)と同様に、第1種背景画像データを生成する。第1種背景画像のサイズは、文字画像のサイズと同じである。図15(A)、図15(B)には、第1種背景画像830e、830fが示されている。S160aでは、プロセッサ210は、S160(図4)と同様に、ノイズ含有文字画像データを生成する。図15(A)、図15(B)には、ノイズ含有文字画像850e、850fが示されている。ノイズ含有文字画像850e、850fの輝度値Pn(x,y)は、文字画像810e、810fの輝度値Pt(x,y)と第1種背景画像830e、830fの輝度値Pu(x,y)とを用いて、図8(D)の関係式に従って算出される。S165aでは、プロセッサ210は、生成したノイズ含有文字画像データを、記憶装置215(本実施例では、不揮発性記憶装置230)に格納する。
【0126】
S170aでは、プロセッサ210は、S170(図4)と同様に、第1種背景画像の代表色値を特定する。S175aでは、プロセッサ210は、S175(図4)と同様に、ノイズ低減文字画像データを生成する。図15(C)、図15(D)には、文字画像810e、810fと、代表色値によって表される第2種背景画像830em、830fmと、ノイズ低減文字画像851e、851fと、が示されている。ノイズ低減文字画像851e、851fの輝度値Pc(x,y)は、文字画像810e、810fの輝度値Pt(x,y)と第2種背景画像830em、830fmの輝度値Pum(x,y)とを用いて、図9(D)の関係式に従って算出される。
【0127】
S180aでは、プロセッサ210は、S180(図4)と同様に、ノイズ低減文字画像データのコントラスト強調処理を実行する。図15(C)、図15(D)には、コントラストが強調されたノイズ低減文字画像860e-860fが示されている。S185aでは、プロセッサ210は、コントラストが調整された調整済ノイズ低減文字画像データを、ノイズ含有文字画像データと対応付けて、記憶装置215(本実施例では、不揮発性記憶装置230)に格納する。
【0128】
S190aでは、プロセッサ210は、画像データの生成が完了したか否かを判断する。本実施例では、完了の条件は、複数の文字と複数の書体との全ての組み合わせの画像データが生成されたことである。S110aでは、未処理の組み合わせが選択される。なお、完了の条件は、他の種々の条件であってよい。
【0129】
本実施例で生成されるノイズ含有文字画像データと調整済ノイズ低減文字画像データとは、学習モデル235、235d(図3図13)などの種々の予測モデルのトレーニングに利用できる。ここで、文字画像データは、線対称ではない文字を表し得る(例えば、「F」の文字は線対称ではない)。従って、損失関数LF(図10(B))からは、第2項Lfilterは省略される。
【0130】
D.第4実施例:
図16は、学習モデルの別の実施例の説明図である。本実施例の学習モデル235gは、畳み込みニューラルネットワークとも呼ばれる人工ニューラルネットワークのモデルである。本実施例では、学習モデル235gは、画像を複数のカテゴリに分類する。具体的には、学習モデル235gは、ノズルパターンNPの画像を、基準のノズルパターンNPと非基準のノズルパターンNPとに分類する。
【0131】
学習モデル235gは、例えば、第1畳込層421と、第1プーリング層422と、第2畳込層423と、第2プーリング層424と、第1全結合層425と、第2全結合層426と、第3全結合層427と、を備えている。これらの処理部421-427は、この順番に接続されている。この学習モデル235gは、典型的な畳み込みニューラルネットワークのモデルである。学習モデル235gは、入力された画像データを用いて、基準のノズルパターンNPの確率PAと、非基準のノズルパターンNPの確率PBと、を示す出力データODを生成する。
【0132】
学習モデル235gのトレーニングには、図4の実施例で生成されたノイズ含有パターン画像が用いられる。上述したように、複数のノイズ含有パターン画像は、基準のノズルパターンNPを表す画像と、非基準のノズルパターンNPを表す画像と、を含んでいる。各ノイズ含有パターン画像には、「基準」または「非基準」を示すラベルデータが対応付けられる。このラベルデータは、出力データの目標値である教師データとして、利用される。本実施例では、調整済ノイズ低減パターン画像データは利用されない。従って、調整済ノイズ低減パターン画像データの生成は、省略されてよい。以下、複合機200(図1)が、トレーニングを実行することとして、説明する。なお、トレーニングは、高い演算能力を有する他のデータ処理装置によって、実行されてよい。
【0133】
S372(図16)では、プロセッサ210は、ノイズ含有パターン画像データ850gを学習モデル235gに入力する。S374では、プロセッサ210は、学習モデル235gの演算を行うことによって、出力データODを生成する。S376では、プロセッサ210は、出力データODと教師データ880gとを用いて、予め決められた損失関数に従って、誤差値890gを算出する。損失関数は、分類に適した種々の関数であってよく、例えば、クロスエントロピー誤差であってよい。教師データ880gは、ノイズ含有パターン画像データ850gに対応付けられたラベルデータである。S378では、プロセッサ210は、誤差値890gが小さくなるように、予め決められたアルゴリズムに従って、学習モデル235gの演算パラメータを調整する。調整される演算パラメータは、畳込層421、423の畳込フィルタの重みとバイアスと、全結合層425、426、427の重みとバイアスと、を含んでいる。アルゴリズムとしては、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズムが用いられる。プロセッサ210は、以上のS372-S378を、繰り返す。そして、トレーニング完了の条件が満たされたことに応じて、S380で、プロセッサ210は、学習済の学習モデル235gを、不揮発性記憶装置230に格納する。
【0134】
学習済の学習モデル235gは、ノズルパターンNPの分類に利用される。プロセッサ210は、ノズルパターンNPの読取データ750g(図16)を学習モデル235gに入力する。そして、プロセッサ210は、学習モデル235gの演算を行うことによって、出力データODを生成する。プロセッサ210は、出力データODの確率PA、PBを参照し、入力画像のノズルパターンNPを、最も高い確率のカテゴリに分類する。
【0135】
E.変形例:
(1)学習画像データの生成処理は、上記の処理に代えて、他の種々の処理であってよい。例えば、図4図14のS105では、1枚のシートの1個の読取データが取得されてよい。そして、S155、S155aでは、1個の読取データから、第1種背景画像データが生成されてよい。また、1個の第1種背景画像データは、複数の学習画像データに共通に用いられてもよい。また、図9(D)の重みk1は、図8(D)の重みk1と異なっていてよい。また、図9(D)の重みk2は、図8(D)の重みk2と異なっていてよい。いずれの場合も、図9(D)の重みk1、k2は、それぞれ、ゼロよりも大きいことが好ましい。また、図6(A)の処理で、幅と輝度値と位置との3個のパラメータのうち、基準の値から変更され得るパラメータは、1個、または、2個のパラメータであってよい。すなわち、3個のパラメータのうち、1個、または、2個のパラメータは、基準の値に固定されてよい。
【0136】
また、図4図14の処理において、平滑化を行うS150、S150aは、省略されてよい。また、コントラストを調整するS180、S180aは、省略されてよい。
【0137】
(2)損失関数LF(図10(B))の第2項Lfilterは、線対称な位置の2個の重みの差が大きいほど大きい値を算出する種々の関数で表されてよい。例えば、第2項Lfilterは、2個の重みの差分の二乗の平均値であってよい。
【0138】
(3)フィルタFL(図10(C))のサイズは、種々のサイズであってよい。例えば、Fx=7、Fy=7であってよい。また、横サイズFxは、縦サイズFyと異なっていてもよい。また、フィルタ対称軸AxFに対する重みWの対称性を向上するためには、フィルタ対称軸AxFに垂直な方向のサイズ(ここでは、横サイズFx)は、奇数であることが好ましい。
【0139】
(4)印刷装置100によって印刷されるテストパターンは、複数の線PL(図2(A))を含むノズルパターンNPに代えて、他の種々のパターンであってよい。例えば、テストパターンは、複数の縦線と複数の横線とを含む格子パターンであってよい。テストパターンは、円、楕円、三角形、矩形などの種々の形状のパターンを含んでよい。テストパターンは、線、円、楕円、三角形、矩形のように、対称軸に対して線対称な形状を有する特定部分を含んでよい。損失関数LFが、フィルタFLの重みWの対称性を向上する第2項を含む場合には、フィルタFLを用いる画像処理に起因する特定部分の変形(例えば、位置ずれ)を抑制できる。また、フィルタFLのフィルタ対称軸AxFに垂直な方向のサイズ(図10(C)の例では、横サイズFx)は、特定部分の対称軸に垂直な方向の大きさ(例えば、線PLの幅)と同程度、または、それよりも小さくてよい。テストパターンは、上記の特定部分(例えば、ノズルパターンNP)と、文字と、の両方を含んでよい。テストパターンは、図形と文字との両方を含んでよい。なお、テストパターンからは、上記の特定部分が省略されてもよい。この場合、損失関数LFからは、第2項が省略されてよい。
【0140】
(5)画像データは、複数の色成分で表されてよい(例えば、RGB、CMYK、YCbCr等)。上記の読取データ、入力データ、出力データ、学習画像データ(ノイズ含有パターン画像データ、ノイズ低減パターン画像データなど)、対象データは、それぞれ、RGBのビットマップデータであってよい。画像データの各画素の色値がu個(uは1以上の整数)の色成分のu個の階調値で表される場合、図3図10(C)の畳込フィルタFLは、Fx×Fy×u個の重みを含む。この1個の畳込フィルタFLは、u個の色成分に対応するu枚のサブフィルタに分解可能である。1枚のサブフィルタは、Fx×Fy個の重みで構成され、そのサブフィルタに対応付けられた色成分の階調値に適用される。ここで、損失関数LF(図10(B))の第2項Lfilterは、u枚のサブフィルタのそれぞれの対称性の高さを示す総合的な評価値であることが好ましい。例えば、図10(B)に示す第2項Lfilterの算出式は、1枚のサブフィルタの評価値の算出式として利用可能である。u枚のサブフィルタの総合的な評価値としては、u枚のサブフィルタのu個の評価値を用いて特定される種々の値(例えば、平均値、中央値などの代表値や、合計値)が、用いられてよい。
【0141】
(6)予測モデルの構成は、図3図13図16の学習モデル235、235d、235gの構成に代えて、他の種々の構成であってよい。予測モデルは、画像データのノイズ低減、または、画像データの分類を行うモデルに限らず、他の種々の処理を行うモデルであってよい。予測モデルは、例えば、人工ニューラルネットワークと、隠れマルコフモデルと、推論エンジンと、のグループから任意に選択された1以上のモデルを含んでよい。
【0142】
(7)光学的な読み取りに用いられる装置は、読取部300に代えて、デジタルカメラなどの種々の読取装置であってよい。
【0143】
(8)学習画像データの生成と、予測モデルのトレーニングと、フィルタを用いる画像処理とのそれぞれのデータ処理は、互いに異なるデータ処理装置によって、実行されてよい。データ処理装置は、複合機200とは異なる種類の装置(例えば、パーソナルコンピュータ、デジタルカメラ、スキャナ、スマートフォン)であってよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、データ処理装置によるデータ処理の機能を一部ずつ分担して、全体として、データ処理の機能を提供してもよい(これらの装置を備えるシステムがデータ処理装置に対応する)。
【0144】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、学習モデル235、235d、235g(図3図13図16)は、プログラムモジュールに代えて、ASIC(Application Specific Integrated Circuit)等のハードウェア回路によって実現されてよい。
【0145】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【0146】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0147】
100…印刷装置、110…印刷ヘッド、200…複合機、205…制御部、210…プロセッサ、215…記憶装置、220…揮発性記憶装置、230…不揮発性記憶装置、231…第1プログラム、232…第2プログラム、233…第3プログラム、235、235d、235g…学習モデル、240…表示部、250…操作部、260…印刷部、270…通信インタフェース、300…読取部、310…畳込層、411…第1エンコーダ、412…第2エンコーダ、413…第3エンコーダ、415…第3デコーダ、416…第2デコーダ、417…第1デコーダ、421…第1畳込層、422…第1プーリング層、423…第2畳込層、424…第2プーリング層、425…第1全結合層、426…第2全結合層、427…第3全結合層、D1…第1方向、D2…第2方向、FL…畳込フィルタ、Dx…横方向、Dy…縦方向、Nz…ノズル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16