(57)【要約】【課題】紙の種類の特定の精度を向上する。【解決手段】  光学的に読み取られた対象紙の画像である対象紙画像を表す対象画像データを用いて、複数の画素についてエッジ成分値を算出する。複数の画素についてのエッジ成分値を含む情報である紙情報を用いて、対象紙の種類を特定する。学習済モデルは、光学的に読み取られた互いに異なるＫ種類（Ｋは２以上の整数）の紙の画像である紙画像を表す画像データを用いて得られる学習用情報を用いてトレーニングされる。学習用情報は、複数の画素についての１種類のエッジ成分値を含む。【選択図】  図１０
2020118741.tif 000002
【特許請求の範囲】
【請求項１】
紙の種類を特定する特定装置であって、
光学的に読み取られた対象紙の画像である対象紙画像を表す対象画像データを用いて、複数の画素について互いに異なるＮ個（Ｎは２以上の整数）の方向のエッジ成分値を算出する算出部と、
前記複数の画素についての前記Ｎ個の方向のエッジ成分値を含む情報である紙情報を用いて、前記対象紙の種類を特定する特定部と、
を備える、特定装置。
【請求項２】
請求項１に記載の特定装置であって、
前記算出部は、
前記対象画像データを用いて得られる画像データのコントラスト強調処理を実行し、
コントラスト強調処理済の画像データを用いて前記複数の画素について前記Ｎ個の方向のエッジ成分値を算出する、
特定装置。
【請求項３】
請求項１または２に記載の特定装置であって、
前記算出部は、
前記対象画像データ用いて前記対象紙画像を表す輝度画像データを取得し、
前記輝度画像データを用いて前記複数の画素について前記Ｎ個の方向のエッジ成分値を算出する、
特定装置。
【請求項４】
請求項１から３のいずれかに記載の特定装置であって、
前記Ｎ個の方向は、前記対象紙の縦方向と横方向と、を含む、
特定装置。
【請求項５】
請求項１から４のいずれかに記載の特定装置であって、
前記紙情報は、前記複数の画素についての特定の色成分値を含む、
特定装置。
【請求項６】
請求項１から５のいずれかに記載の特定装置であって、
前記特定部は、
学習済モデルに前記紙情報を入力することによって、前記対象紙の種類に関連する関連情報を取得し、
前記関連情報を用いて、前記対象紙の種類を特定し、
前記学習済モデルは、光学的に読み取られた互いに異なるＫ種類（Ｋは２以上の整数）の紙の画像である紙画像を表す画像データを用いて得られる学習用情報であって、前記学習用情報は複数の画素について互いに異なるＮ個の方向のエッジ成分値を含む情報である、前記学習用情報を用いてトレーニングされたものである、
特定装置。
【請求項７】
請求項１から６のいずれかに記載の特定装置であって、
前記算出部は、前記複数の画素のそれぞれの前記Ｎ個の方向のエッジ成分値を算出する、
特定装置。
【請求項８】
光学的に読み取られた対象紙の画像である対象紙画像を表す対象画像データに基づいて、前記対象紙の種類に関連する関連情報を取得するようにコンピュータを機能させるための学習済モデルであって、
光学的に読み取られた互いに異なるＫ種類（Ｋは２以上の整数）の紙の画像である紙画像を表す画像データを用いて得られる学習用情報であって、前記学習用情報は複数の画素について互いに異なるＮ個（Ｎは２以上の整数）の方向のエッジ成分値を含む情報である、前記学習用情報を用いてトレーニングされたものであり、
前記対象画像データを用いて得られる紙情報であって、複数の画素についての前記Ｎ個の方向のエッジ成分値を含む前記紙情報を、前記学習済モデルに入力することによって、前記対象紙の種類に関連する関連情報を取得するようにコンピュータを機能させるための学習済モデル。
【請求項９】
紙の種類を特定するコンピュータのためのコンピュータプログラムであって、
光学的に読み取られた対象紙の画像である対象紙画像を表す対象画像データを用いて、複数の画素について互いに異なるＮ個（Ｎは２以上の整数）の方向のエッジ成分値を算出する算出機能と、
前記複数の画素についての前記Ｎ個の方向のエッジ成分値を含む情報である紙情報を用いて、前記対象紙の種類を特定する特定機能と、
をコンピュータに実現させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、紙の種類を特定する技術に関する。
【背景技術】
【０００２】
従来から、インクやトナーなどの印刷剤を用いて紙に画像を印刷する印刷装置が使用されている。紙としては、種々の紙が使用され得る。例えば、普通紙、光沢紙、マット紙などが使用され得る。印刷装置の制御の適切な条件（例えば、単位面積当たりの印刷剤の量を制御する色変換プロファイル）は、紙の種類に応じて異なり得る。そこで、紙の種類を特定するための以下のような技術が提案されている。光源からの第１偏光方向の直線偏光が、紙に照射される。紙で反射された光は、第１の偏光方向の直線偏光と第１の偏光方向に直交する第２の偏光方向の直線偏光とに、分離される。紙で正反射された光の光路上の第１光検出器からの出力信号と、第２の偏光方向の光を受光する第２の光検出器からの出力信号と、に基づいて、紙で正反射された光の光量が求められる。この光量に基づいて、紙の銘柄を判断される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２０３７８０号公報
【特許文献２】特許第５０２５７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、偏光光源などの特殊な装置を用いずに紙の種類の特定の精度を向上することは、容易ではなかった。
【０００５】
本明細書は、紙の種類の特定の精度を向上できる技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【０００７】
［適用例１］紙の種類を特定する特定装置であって、光学的に読み取られた対象紙の画像である対象紙画像を表す対象画像データを用いて、複数の画素について互いに異なるＮ個（Ｎは２以上の整数）の方向のエッジ成分値を算出する算出部と、前記複数の画素についての前記Ｎ個の方向のエッジ成分値を含む情報である紙情報を用いて、前記対象紙の種類を特定する特定部と、を備える、特定装置。
【０００８】
紙は、多数の繊維を含んでいる。繊維の状態は、紙の種類に応じて、異なり得る。複数の画素についての互いに異なるＮ個の方向のエッジ成分値は、繊維の状態、ひいては、紙の種類に応じて、異なり得る。上記構成によれば、複数の画素についてのＮ個の方向のエッジ成分値を用いて紙の種類が特定されるので、紙の種類の特定の精度を向上できる。
【０００９】
［適用例２］適用例１に記載の特定装置であって、前記算出部は、前記対象画像データを用いて得られる画像データのコントラスト強調処理を実行し、コントラスト強調処理済の画像データを用いて前記複数の画素について前記Ｎ個の方向のエッジ成分値を算出する、特定装置。
【００１０】
この構成によれば、コントラストが強調された画像データを用いてエッジ成分値が算出されるので、対象画像データにおける色値の変化が小さい場合であっても、繊維の状態を示す大きなエッジ成分値が算出され得る。従って、紙の種類の特定の精度を向上できる。
【００１１】
［適用例３］適用例１または２に記載の特定装置であって、前記算出部は、前記対象画像データ用いて前記対象紙画像を表す輝度画像データを取得し、前記輝度画像データを用いて前記複数の画素について前記Ｎ個の方向のエッジ成分値を算出する、特定装置。
【００１２】
この構成によれば、エッジ成分値の算出に輝度画像データが用いられるので、対象画像データにおける色値の変化が小さい場合であっても、繊維の状態を示す大きなエッジ成分値が算出され得る。従って、紙の種類の特定の精度を向上できる。
【００１３】
［適用例４］適用例１から３のいずれかに記載の特定装置であって、前記Ｎ個の方向は、前記対象紙の縦方向と横方向と、を含む、特定装置。
【００１４】
この構成によれば、縦目の紙の特徴と、横目の紙の特徴と、紙の目が一定ではない紙の特徴と、のそれぞれに応じて、Ｎ個の方向のエッジ成分値が大きく変化し得るので、紙の種類の特定の精度を向上できる。
【００１５】
［適用例５］適用例１から４のいずれかに記載の特定装置であって、前記紙情報は、前記複数の画素についての特定の色成分値を含む、特定装置。
【００１６】
この構成によれば、紙の種類の特定に、エッジ成分値に加えて、特定の色成分値が用いられるので、紙の種類を紙の色に応じて適切に特定できる。
【００１７】
［適用例６］適用例１から５のいずれかに記載の特定装置であって、前記特定部は、学習済モデルに前記紙情報を入力することによって、前記対象紙の種類に関連する関連情報を取得し、前記関連情報を用いて、前記対象紙の種類を特定し、前記学習済モデルは、光学的に読み取られた互いに異なるＫ種類（Ｋは２以上の整数）の紙の画像である紙画像を表す画像データを用いて得られる学習用情報であって、前記学習用情報は複数の画素について互いに異なるＮ個の方向のエッジ成分値を含む情報である、前記学習用情報を用いてトレーニングされたものである、特定装置。
【００１８】
この構成によれば、学習済モデルに紙情報を入力することによって得られる関連情報を用いて、紙の種類が特定されるので、紙の種類の特定の精度を向上できる。
【００１９】
［適用例７］適用例１から６のいずれかに記載の特定装置であって、前記算出部は、前記複数の画素のそれぞれの前記Ｎ個の方向のエッジ成分値を算出する、特定装置。
【００２０】
この構成によれば、複数の画素のそれぞれのＮ個の方向のエッジ成分値を用いて紙の種類が特定されるので、紙の種類の特定の精度を向上できる。
【００２１】
［適用例８］光学的に読み取られた対象紙の画像である対象紙画像を表す対象画像データに基づいて、前記対象紙の種類に関連する関連情報を取得するようにコンピュータを機能させるための学習済モデルであって、光学的に読み取られた互いに異なるＫ種類（Ｋは２以上の整数）の紙の画像である紙画像を表す画像データを用いて得られる学習用情報であって、前記学習用情報は複数の画素について互いに異なるＮ個（Ｎは２以上の整数）の方向のエッジ成分値を含む情報である、前記学習用情報を用いてトレーニングされたものであり、前記対象画像データを用いて得られる紙情報であって、複数の画素についての前記Ｎ個の方向のエッジ成分値を含む前記紙情報を、前記学習済モデルに入力することによって、前記対象紙の種類に関連する関連情報を取得するようにコンピュータを機能させるための学習済モデル。
【００２２】
［適用例９］紙の種類を特定するコンピュータのためのコンピュータプログラムであって、光学的に読み取られた対象紙の画像である対象紙画像を表す対象画像データを用いて、複数の画素について互いに異なるＮ個（Ｎは２以上の整数）の方向のエッジ成分値を算出する算出機能と、前記複数の画素についての前記Ｎ個の方向のエッジ成分値を含む情報である紙情報を用いて、前記対象紙の種類を特定する特定機能と、をコンピュータに実現させる、コンピュータプログラム。
【００２３】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、紙の種類の特定方法および特定装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、紙の種類の推定結果を取得するための学習済モデル、コンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００２４】
【図１】実施例の複合機２００を示す説明図である。
【図２】複合機２００のプリンタ部４００の概略図である。
【図３】第１人工ニューラルネットワークＮＮ１の例の説明図である。
【図４】トレーニングの処理の例を示すフローチャートである。
【図５】（Ａ）〜（Ｅ）は、画像の例を示す説明図である。
【図６】データ処理装置１００の説明図である。
【図７】（Ａ）〜（Ｃ）は、コントラスト強調処理の説明図である。
【図８】（Ａ）、（Ｂ）は、エッジフィルタの例を示す説明図である。
【図９】印刷処理の例を示すフローチャートである。
【図１０】紙種類特定処理の例を示すフローチャートである。
【図１１】普通紙種類特定処理の例を示すフローチャートである。
【図１２】第２人工ニューラルネットワークＮＮ２の例の説明図である。
【図１３】トレーニングの処理の例を示すフローチャートである。
【図１４】第２実施例の紙種類特定処理を示すフローチャートである。
【図１５】対象紙のカテゴリを特定する処理の例を示すフローチャートである。
【図１６】第３実施例の普通紙種類特定処理を示すフローチャートである。
【図１７】エッジ成分値の合計値と普通紙の種類との対応関係の例を示すグラフである。
【発明を実施するための形態】
【００２５】
Ａ．第１実施例：
Ａ１．装置構成：
図１は、実施例の複合機２００を示す説明図である。複合機２００は、制御部２９９と、スキャナ部２８０と、プリンタ部４００と、を有している。制御部２９９は、プロセッサ２１０と、記憶装置２１５と、画像を表示する表示部２４０と、ユーザによる操作を受け入れる操作部２５０と、通信インタフェース２７０と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置２１５は、揮発性記憶装置２２０と、不揮発性記憶装置２３０と、を含んでいる。
【００２６】
プリンタ部４００は、所定の方式（例えば、レーザ方式や、インクジェット方式）で、紙（印刷媒体の一例）上に画像を印刷する装置である。本実施例では、プリンタ部４００は、シアンＣ、マゼンタＭ、イエロＹ、ブラックＫの４種類のインクを用いてカラー画像を印刷可能なインクジェット方式の印刷装置である。プリンタ部４００は、複数種類の紙を利用可能である。本実施例では、光沢紙、マット紙、第１種普通紙、第２種普通紙から任意に選択された紙が、利用可能であることとする。第１種普通紙、第２種普通紙とは、いずれも、普通紙の一種である。ただし、第１種普通紙と第２種普通紙との間では、特徴（インクの滲みやすさ等）が異なっている。
【００２７】
プロセッサ２１０は、データ処理を行う装置であり、例えば、ＣＰＵである。揮発性記憶装置２２０は、例えば、ＤＲＡＭであり、不揮発性記憶装置２３０は、例えば、フラッシュメモリである。
【００２８】
不揮発性記憶装置２３０は、プログラム２３２と、第１学習済モデル２３４と、複数の色変換プロファイル２３９と、を格納している。点線で示される第２学習済モデル２３５は、後述する第２実施例で用いられるモデルであり、本実施例では、省略される。第１学習済モデル２３４は、紙の撮影画像を用いて紙の種類を特定するようにトレーニングされた人工ニューラルネットワークを用いて構成されている（詳細は、後述）。本実施例では、これらの学習済モデル２３４は、それぞれ、プログラムモジュールである。
【００２９】
複数の色変換プロファイル２３９は、印刷用の画像データの色値（例えば、ＲＧＢ値）と、プリンタ部４００で利用可能な印刷剤に対応する色値（本実施例では、ＣＭＹＫ値）と、の対応関係を示すデータである（例えば、ルックアップテーブル）。複数の色変換プロファイル２３９は、紙の複数の種類に、それぞれ対応している。本実施例では、複数の色変換プロファイル２３９は、光沢紙用のプロファイルと、マット紙用のプロファイルと、第１種普通紙用のプロファイルと、第２種普通紙用のプロファイルと、その他の普通紙用のプロファイルと、を含んでいる。各プロファイルは、対応する紙に印刷する場合に適切に画像を印刷できるように、予め決められている。例えば、光沢紙用のプロファイルによるインク使用量は、広い色範囲の色を印刷できるように、普通紙用のプロファイルによるインク使用量と比べて多い。その他の普通紙用のプロファイルによるインク使用量は、インクの滲みを抑制するために、第１種普通紙用のプロファイルと第２種普通紙用のプロファイルとによるインク使用量よりも少ない。
【００３０】
本実施例では、プログラム２３２と学習済モデル２３４と複数の色変換プロファイル２３９とは、複合機２００の製造者によって、ファームウェアとして、不揮発性記憶装置２３０に予め格納されている。プロセッサ２１０は、プログラム２３２と学習済モデル２３４との実行に利用される種々の中間データを、記憶装置２１５（例えば、揮発性記憶装置２２０、不揮発性記憶装置２３０のいずれか）に、一時的に格納する。
【００３１】
表示部２４０は、液晶ディスプレイ、有機ＥＬディスプレイなどの、画像を表示する装置である。操作部２５０は、表示部１４０上に重ねて配置されたタッチパネル、ボタン、レバーなどの、ユーザによる操作を受け取る装置である。ユーザは、操作部２５０を操作することによって、種々の指示を複合機２００に入力可能である。通信インタフェース２７０は、他の装置と通信するためのインタフェースである（例えば、ＵＳＢインタフェース、有線ＬＡＮインタフェース、IEEE802.11の無線インタフェース）。
【００３２】
スキャナ部２８０は、ＣＣＤやＣＭＯＳなどの光電変換素子を用いて光学的に原稿等の対象物を読み取ることによって、読み取った画像（「スキャン画像」と呼ぶ）を表す読取データを生成する。読取データは、例えば、カラーのスキャン画像を表すＲＧＢのビットマップデータである。
【００３３】
図２は、複合機２００のプリンタ部４００の概略図である。図中には、プリンタ部４００の概略側面図が、示されている。プリンタ部４００は、カセット４６０と、給紙ローラ４１０と、搬送経路４７０と、上流ローラ４２０と、印刷ヘッド４５０と、下流ローラ４３０と、プラテン４４０と、排紙トレイ４８０と、光源４９１と、デジタルカメラ４９２と、を備えている。ローラ４１０、４２０、４３０は、図示しない1つ以上のモータによって、駆動される。
【００３４】
プラテン４４０は、紙ＰＰを下方から支持する部材である。プラテン４４０の上側には、上流ローラ４２０と、印刷ヘッド４５０と、下流ローラ４３０とが、この順番に並んで配置されている。カセット４６０は、紙ＰＰを収容するための容器である。カセット４６０は、複数枚の紙ＰＰを、収容可能である。搬送経路４７０は、紙ＰＰの搬送経路であり、図示しないガイド部材によって形成されている。搬送経路４７０は、カセット４６０から、上流ローラ４２０まで、延びている。
【００３５】
給紙ローラ４１０は、カセット４６０に収容されている紙ＰＰから、１枚の紙ＰＰを、搬送経路４７０へ供給する。給紙ローラ４１０は、紙ＰＰを、搬送経路４７０を通って、プラテン４４０と上流ローラ４２０との間に搬送する。上流ローラ４２０は、上流ローラ４２０とプラテン４４０との間に挟まれた紙ＰＰを、プラテン４４０に沿って、下流ローラ４３０に向かって搬送する。印刷ヘッド４５０は、上流ローラ４２０と下流ローラ４３０との間で、紙ＰＰにインク滴を吐出することによって、紙ＰＰ上に画像を印刷する。以下、紙ＰＰの両面のうち、画像が印刷される面ＰＳを、印刷面ＰＳとも呼ぶ。印刷面ＰＳは、紙ＰＰの両面のうち、プラテン４４０側とは反対側の面である。下流ローラ４３０は、下流ローラ４３０とプラテン４４０との間に挟まれた紙ＰＰを、排紙トレイ４８０へ排出する。
【００３６】
光源４９１とデジタルカメラ４９２とは、搬送経路４７０の途中に配置されている。光源４９１は、搬送経路４７０上の紙ＰＰの印刷面ＰＳに向かって光を照射する。デジタルカメラ４９２は、紙ＰＰの印刷面ＰＳのうち、光源４９１によって光が照射された部分を撮影し、撮影画像を表す撮影画像データを生成する。光源４９１としては、例えば、発光ダイオードなどの種々の光源を採用可能である。デジタルカメラ４９２としては、イメージセンサ（ＣＣＤやＣＭＯＳなど）とレンズとを備える種々のカメラを採用可能である。本実施例では、撮影画像データは、ＲＧＢのビットマップデータである。ＲＧＢの各色成分値は、ゼロから２５５までの２５６階調で表されることとする。撮影画像データは、紙ＰＰを光学的に読み取ることによって得られる紙を表す画像データである。以下、撮影画像データを、読取画像データとも呼ぶ。
【００３７】
図３は、第１人工ニューラルネットワークＮＮ１の例の説明図である（以下、単に、第１ニューラルネットワークＮＮ１とも呼ぶ）。第１ニューラルネットワークＮＮ１は、第１学習済モデル２３４の生成に利用されるニューラルネットワークである。本実施例では、第１ニューラルネットワークＮＮ１は、いわゆる畳み込みニューラルネットワーク（Convolutional Neural Network）である。畳み込みニューラルネットワークは、畳込層とプーリング層とを含む複数の層を有している。第１ニューラルネットワークＮＮ１は、プリンタ部４００（図２）によって用いられる紙ＰＰの種類が普通紙である場合に、紙ＰＰの種類を「第１種普通紙」と「第２種普通紙」との２つのクラスに分類するように、構成されている。第１ニューラルネットワークＮＮ１には、デジタルカメラ４９２による紙ＰＰの撮影画像データを用いて得られる合成画像データ６２０が、入力される（詳細は後述）。
【００３８】
Ａ２．第１ニューラルネットワークＮＮ１のトレーニング：
図４は、第１ニューラルネットワークＮＮ１のトレーニングの処理の例を示すフローチャートである。Ｓ２１０では、第１種普通紙の読取画像データが生成される（第１種読取画像データとも呼ぶ）。本実施例では、読取画像データの生成に、複合機２００（図２）が利用される。例えば、トレーニング実行者は、複合機２００（図２）のカセット４６０に、第１種普通紙を収容する。そして、トレーニング実行者は、操作部２５０（図１）に、読取画像データを生成する指示を、入力する。トレーニング実行者からの指示に応じて、複合機２００のプロセッサ２１０は、光源４９１を点灯させ、給紙ローラ４１０に紙ＰＰを搬送させる。そして、プロセッサ２１０は、デジタルカメラ４９２に紙ＰＰを撮影させて、読取画像データを取得する。
【００３９】
図５（Ａ）は、読取画像データによって表される紙画像の例を示す説明図である。本実施例では、読取画像データは、第１方向Ｄｘと、第１方向Ｄｘに垂直な第２方向Ｄｙと、に沿ってマトリクス状に並ぶ複数の画素のそれぞれの色値を示している。ここで、第１方向Ｄｘは、図２の紙ＰＰの搬送方向におおよそ垂直な方向である。第２方向Ｄｙは、図２の紙ＰＰの搬送方向におおよそ平行な方向である。以下、紙ＰＰの方向であって搬送方向に平行な方向を、縦方向とも呼ぶ。紙ＰＰの方向であって搬送方向に垂直な方向を、横方向とも呼ぶ。
【００４０】
通常、紙の色は、白色に近く、また、紙の印刷面は、おおよそ平坦である。従って、読取画像データ６００によって表される紙画像６００ｉは、印刷面の微細な構造（例えば、紙を構成する多数の繊維の凹凸）を表すものの、紙画像６００ｉ内の位置の変化に対する色の変化は小さい。このように、紙画像６００ｉは、全体に亘っておおよそ白色の画像である。
【００４１】
なお、図示を省略するが、読取画像データを生成するためのプログラムは、複合機２００の不揮発性記憶装置２３０に、格納されている。このようなプログラムは、図４のトレーニング処理のために準備された複合機２００のみに、格納される。これに代えて、このようなプログラムは、複合機２００のファームウェアに含まれてもよい。
【００４２】
図４のＳ２２０では、第２種普通紙の第２種読取画像データが生成される。読み取られる紙の種類が第２種普通紙である点を除いて、Ｓ２２０の処理は、Ｓ２１０の処理と、同じである。
【００４３】
本実施例では、複数の第１種普通紙を用いて、複数の第１種読取画像データが生成される。これに代えて、１枚の第１種普通紙を用いて、１個の第１種読取画像データが生成されてよい。また、本実施例では、複数の第２種普通紙を用いて、複数の第２種読取画像データが生成される。これに代えて、１枚の第２種普通紙を用いて、１個の第２種読取画像データが生成されてよい。
【００４４】
生成された第１種読取画像データと第２種読取画像データとは、トレーニング用のデータ処理装置に供給される。図６は、トレーニングに利用されるデータ処理装置１００の説明図である。データ処理装置１００は、コンピュータである。データ処理装置１００は、プロセッサ１１０と、記憶装置１１５と、画像を表示する表示部１４０と、トレーニング実行者による操作を受け入れる操作部１５０と、通信インタフェース１７０と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置１１５は、揮発性記憶装置１２０と、不揮発性記憶装置１３０と、を含んでいる。
【００４５】
プロセッサ１１０は、データ処理を行う装置であり、例えば、ＣＰＵである。揮発性記憶装置１２０は、例えば、ＤＲＡＭであり、不揮発性記憶装置１３０は、例えば、フラッシュメモリである。不揮発性記憶装置１３０は、プログラム１３１、１３２と、人工ニューラルネットワークＮＮ１、ＮＮ２と、を格納している。本実施例では、人工ニューラルネットワークＮＮ１、ＮＮ２は、プログラムモジュールである。第１プログラム１３１は、第１人工ニューラルネットワークＮＮ１のトレーニングのためのプログラムである。第２プログラム１３２は、第２人工ニューラルネットワークＮＮ２のトレーニングのためのプログラムである。
【００４６】
表示部１４０は、液晶ディスプレイ、有機ＥＬディスプレイなどの、画像を表示する装置である。操作部１５０は、ボタン、レバー、表示部１４０上に重ねて配置されたタッチパネルなどの、トレーニング実行者による操作を受け取る装置である。通信インタフェース１７０は、他の装置と通信するためのインタフェースである（例えば、ＵＳＢインタフェース、有線ＬＡＮインタフェース、IEEE802.11の無線インタフェース）。
【００４７】
第１種読取画像データと第２種読取画像データとは、図示しないネットワークや、図示しない携帯記憶装置などを介して、複合機２００からデータ処理装置１００に転送される。
【００４８】
図４のＳ２３０では、データ処理装置１００のプロセッサ１１０は、読取データのＲＧＢのそれぞれの色成分のコントラスト強調処理を実行する。図７（Ａ）〜図７（Ｃ）は、コントラスト強調処理の説明図である。図７（Ａ）は、色成分値Ｖのヒストグラムの例を示すグラフである。横軸は、色成分値Ｖを示し、縦軸は、頻度Ｆを示している。色成分値Ｖは、読取データの色値の１つの色成分の値である（本実施例では、ＲＧＢのいずれかの色成分値）。図５（Ａ）で説明したように、紙画像６００ｉは、全体に亘っておおよそ白色の画像である。従って、色成分値Ｖは、ゼロから２５５までの全範囲のうちの狭い範囲に分布している。
【００４９】
プロセッサ１１０は、色成分値Ｖの分布において、最も小さい所定の第１割合（例えば、１％）の画素の第１集合Ｒ１と、最も大きい所定の第２割合（例えば、１％）の画素の第２集合Ｒ２と、を特定する。プロセッサ１１０は、第１集合Ｒ１の画素の色成分値Ｖの最大値である第１値Ｖ１と、第２集合Ｒ２の画素の色成分値Ｖの最小値である第２値Ｖ２と、を特定する。
【００５０】
プロセッサ１１０は、第１値Ｖ１から第２値Ｖ２の範囲が、ゼロから２５５の範囲に広がるように、色成分値Ｖを修正する。図７（Ｂ）は、修正前の色成分値Ｖと修正済色成分値Ｖｃとの関係の例を示すグラフである。第１値Ｖ１以下の色成分値Ｖは、ゼロに修正され、第２値Ｖ２以上の色成分値Ｖは、２５５に修正される。そして、第１値Ｖ１から第２値Ｖ２までの範囲では、修正済色成分値Ｖｃは、ゼロから２５５まで、色成分値Ｖに比例して増大する。
【００５１】
図７（Ｃ）は、修正済色成分値Ｖｃのヒストグラムの例を示すグラフである。横軸は、修正済色成分値Ｖｃを示し、縦軸は、頻度Ｆを示している。図示するように、修正済色成分値Ｖｃは、ゼロから２５５までの広い範囲に、分布している。また、修正前の第１値Ｖ１から第２値Ｖ２までの狭い分布範囲が、拡張されているので、修正済色成分値Ｖｃのヒストグラムは、多数の細いピークを含んでいる。
【００５２】
図４のＳ２３０では、プロセッサ１１０は、このような色成分の修正を、ＲＧＢのそれぞれについて、実行する。図５（Ｂ）は、コントラスト強調処理済の紙画像６０５ｉの例を示している。図５（Ａ）の紙画像６００ｉとは異なり、紙画像６０５ｉ内の位置の変化に対する色の変化は、大きい。このような紙画像６０５ｉは、印刷面の微細な構造（例えば、紙を構成する多数の繊維の凹凸）を、高いコントラストで、表現している。
【００５３】
なお、プロセッサ１１０は、コントラスト強調処理を、全ての第１種読取画像データと全ての第２種読取画像データとに対して、実行する。
【００５４】
Ｓ２４０では、プロセッサ１１０は、コントラスト強調済の画像データを用いて、輝度画像データを生成する。プロセッサ１１０は、ＲＧＢの色成分値と輝度値との所定の関係式（例えば、ＲＧＢ色空間からＹＣｂＣｒ色空間への色変換式）を用いることによって、各画素の輝度値を算出する。プロセッサ１１０は、読取画像データ毎に、輝度画像データを生成する。なお、輝度値は、紙ＰＰの色の特徴を強く示している。紙ＰＰの色が明るい白色である場合、輝度値は、大きくなる。紙ＰＰの色が薄いグレーである場合、輝度値は、小さくなる。
【００５５】
Ｓ２５０では、プロセッサ１１０は、輝度画像データを用いて２種類のエッジ成分値を算出する。図８（Ａ）、図８（Ｂ）は、エッジフィルタの例を示す説明図である。本実施例では、エッジ成分値の算出に、いわゆるプレウィットフィルタが用いられる。図８（Ａ）の第１フィルタＦ１は、対象画素ＴＰにおける第１方向Ｄｘの成分値の変化を検出するフィルタであり、図８（Ｂ）の第２フィルタＦ２は、対象画素ＴＰにおける第２方向Ｄｙの成分値の変化を検出するフィルタである。フィルタＦ１、Ｆ２は、対象画素ＴＰを中心とする３行３列の９個の画素のそれぞれの重みを示している。９個の画素のそれぞれの階調値の重み付き合計値は、エッジ成分値を示している。プロセッサ１１０は、第１フィルタＦ１を用いて、各輝度画像データの各画素の第１方向Ｄｘのエッジ成分値である第１エッジ成分値を算出する。またプロセッサ１１０は、第２フィルタＦ２を用いて、各輝度画像データの各画素の第２方向Ｄｙのエッジ成分値である第２エッジ成分値を算出する。なお、フィルタとしては、ソーベルフィルタなどの、他の種々のエッジ検出用のフィルタを採用可能である。
【００５６】
図５（Ｃ）は、第１エッジ成分値によって表される画像の例を示している。画像６１０ｉは、第２方向Ｄｙに延びるエッジラインを表している。このようなエッジラインは、紙ＰＰの縦方向に延びる繊維を示し得る。図５（Ｄ）は、第２エッジ成分値によって表される画像６１５ｉの例を示している。画像６１５ｉは、第１方向Ｄｘに延びるエッジラインを表している。このようなエッジラインは、紙ＰＰの横方向に延びる繊維を示し得る。紙ＰＰが縦目の紙である場合、大きな第１エッジ成分値を有する多数の画素が、検出され得る。紙ＰＰが横目の紙である場合、大きな第２エッジ成分値を有する多数の画素が、検出され得る。
【００５７】
Ｓ２６０では、プロセッサ１１０は、輝度値と、第１エッジ成分値と、第２エッジ成分値と、の３成分値を示す合成画像データを生成する。プロセッサ１１０は、読取画像データ毎に、合成画像データを生成する。以下、第１種読取画像データから生成された合成画像データを、第１種合成画像データと呼ぶ。第２種読取画像データから生成された合成画像データを、第２種合成画像データと呼ぶ。そして、プロセッサ１１０は、合成画像データと、教師データ（具体的には、紙の種類が第１種普通紙と第２種普通紙とのいずれであるかを示すデータ）と、を含む学習用画像データを生成する。以下、第１種合成画像データを含む学習用画像データを、第１種学習用画像データとも呼ぶ。第２種合成画像データを含む学習用画像データを、第２種学習用画像データとも呼ぶ。
【００５８】
図５（Ｅ）は、合成画像データによって表される合成画像の例を示している。合成画像６２０ｉの複数の画素のそれぞれは、紙ＰＰの特徴を強く示す輝度値と第１エッジ成分値と第２エッジ成分値とを有している。
【００５９】
図４のＳ２７０では、学習用画像データを用いて、第１ニューラルネットワークＮＮ１（図３）のトレーニングが行われる。第１ニューラルネットワークＮＮ１は、入力層３０５と、第１畳込層３１０と、第１プーリング層３２０と、第２畳込層３３０と、第２プーリング層３４０と、第１全結合層３５０と、第２全結合層３６０と、第３全結合層３７０と、を有している。これらの層３０５〜３７０は、この順番に、接続されている。本実施例では、第１ニューラルネットワークＮＮ１は、プログラムモジュールである。プロセッサ１１０は、第１ニューラルネットワークＮＮ１であるプログラムモジュールに従って処理を進行することによって、各層３０５〜３７０の機能を実現する。以下、これらの層３０５〜３７０について、順に説明する。
【００６０】
入力層３０５は、第１ニューラルネットワークＮＮ１の外部からの画像データを取得する層である。学習用画像データの合成画像データは、入力層３０５に入力される。入力層３０５に入力された画像データは、第１畳込層３１０によって、入力情報として利用される。
【００６１】
本実施例では、第１ニューラルネットワークＮＮ１によって受け付けられる画像データは、１００画素×１００画素×３成分値（具体的には、輝度値と、第１エッジ成分値と、第２エッジ成分値の３つの値）のビットマップ画像データである（以下、このデータ形式を、入力データ形式と呼ぶ）。デジタルカメラ４９２によって生成される読取画像データのサイズが入力データ形式のサイズと異なる場合、プロセッサ１１０は、図４のＳ２１０〜Ｓ２６０で生成される画像データのいずれかに対して、画像データのサイズを入力データ形式のサイズに調整するサイズ調整を行う。サイズ調整は、画像のサイズを調整する種々の処理であってよい。サイズ調整は、例えば、解像度を変換する処理（例えば、バイキュービック法やバイリニア法など）を含んでよく、また、画像データのうちの入力データ形式のサイズの部分を切り出すクロッピング処理を含んでよい。本実施例では、プロセッサ１１０は、読取画像データのサイズ調整を行い、サイズ調整済の読取画像データを用いて、処理を進行する。
【００６２】
第１畳込層３１０は、画像の畳み込みの処理を行う層である。畳み込みの処理は、入力された画像である入力画像とフィルタとの相関を示す値（特徴値とも呼ばれる）を、フィルタをスライドさせながら、算出する処理である。画像の畳み込みの処理で用いられるフィルタは、重みフィルタとも呼ばれる。本実施例では、第１畳込層３１０における１個の重みフィルタのサイズは、５×５（画素）であり、各画素は、輝度値と２個のエッジ成分値との３成分値に対応する３個の重みを有している。すなわち、１個の重みフィルタは、５×５×３＝７５個の重みを示している。ストライド（すなわち、フィルタの１回の移動量）は１である。フィルタは、入力画像の全ての画素位置において特徴値を算出するように、入力画像の全体に亘ってスライドされる。入力画像の周囲では、ゼロパディングによって、画素が補われる。１つのフィルタは、１００画素×１００画素×３成分の入力画像から、１００画素×１００画素のビットマップデータを生成する（特徴マップとも呼ばれる）。具体的には、入力された画像データのうちフィルタの位置に対応する部分の７５個の値のリスト（すなわち、７５次元ベクトル）が取得される。取得された７５次元ベクトルと、フィルタの７５個の重みのリスト（すなわち、７５次元ベクトル）と、の内積が算出される。「内積＋バイアス」が、活性化関数に入力される。そして、活性化関数の計算結果が、特徴マップの１つの要素の値として用いられる。本実施例では、活性化関数としては、いわゆるReLU（Rectified Linear Unit）が用いられる。また、本実施例では、互いに異なる８個の重みフィルタが用いられる。従って、第１畳込層３１０として機能するプロセッサ１１０は、１００画素×１００画素×８層の特徴マップを生成する。なお、バイアスは、特徴マップの１００画素×１００画素×８層の要素のそれぞれに対して、別個に準備される。そして、複数のバイアスと８個のフィルタのそれぞれの複数の要素とは、トレーニングによって、更新される。
【００６３】
第１畳込層３１０からの特徴マップは、第１プーリング層３２０によって、入力情報として利用される。プーリングは、画像（ここでは、特徴マップ）を縮小する処理である。第１プーリング層３２０は、いわゆるマックスプーリング（MaxPooling）を行う。マックスプーリングは、いわゆるダウンサンプリングによってマップを縮小する処理であり、ウィンドウをスライドさせつつ、ウィンドウ内の最大値を選択することによってマップを縮小する。本実施例では、第１プーリング層３２０におけるウィンドウのサイズは、２×２（画素）であり、ストライドは、２である。これにより、元のマップの半分の高さと半分の幅を有するマップが生成される。具体的には、第１プーリング層３２０として機能するプロセッサ１１０は、１０画素×１０画素×８層の特徴マップから、５０画素×５０画素×８層の縮小された特徴マップを生成する。
【００６４】
第１プーリング層３２０からの特徴マップは、第２畳込層３３０によって、入力情報として利用される。第２畳込層３３０は、第１畳込層３１０による処理と同様の手順に従って、画像の畳み込みの処理を行う。本実施例では、第２畳込層３３０における１つのフィルタは、５画素×５画素×８層の要素を有している。ストライドは１である。特徴マップの周囲では、ゼロパディングによって、画素が補われる。フィルタは、入力された特徴マップの全ての画素位置において特徴値を算出するように、特徴マップの全体に亘ってスライドされる。１つのフィルタは、５０画素×５０画素×８層の特徴マップから、５０画素×５０画素の特徴マップを生成する。ここで、活性化関数としては、いわゆるReLUが用いられる。また、本実施例では、互いに異なる１６個のフィルタが用いられる。第２畳込層３３０として機能するプロセッサ１１０は、５０画素×５０画素×１６層の特徴マップを生成する。なお、複数のバイアスと１６個のフィルタのそれぞれの複数の要素とは、トレーニングによって、更新される。
【００６５】
第２畳込層３３０からの特徴マップは、第２プーリング層３４０によって、入力情報として利用される。第２プーリング層３４０は、第１プーリング層３２０による処理と同様の手順に従って、マックスプーリングを行う。本実施例では、第２プーリング層３４０におけるウィンドウのサイズは、２×２（画素）であり、ストライドは、２である。これにより、元のマップの半分の高さと半分の幅を有するマップが生成される。具体的には、第２プーリング層３４０として機能するプロセッサ１１０は、５０画素×５０画素×１６層の特徴マップから、２５画素×２５画素×１６層の縮小された特徴マップを生成する。
【００６６】
第２プーリング層３４０からの特徴マップは、第１全結合層３５０によって、入力情報として利用される。第１全結合層３５０は、一般的なニューラルネットワークで用いられる全結合層と同様の層である。第１全結合層３５０では、入力された特徴マップを用いて、設計された数の要素で構成されるリスト（第１中間ベクトルとも呼ぶ）が、生成される。本実施例では、第１中間ベクトルの要素の数は、５１２個である。第１全結合層３５０では、第１全結合層３５０に入力される特徴マップの全ての要素と、第１中間ベクトルの全ての要素とが、結合される。具体的には、第１全結合層３５０では、２５画素×２５画素×１６層の全ての要素のリスト（すなわち、ベクトル）と、同じ数の重みのリスト（すなわち、ベクトル）と、の内積が算出される。「内積＋バイアス」が、活性化関数に入力される。そして、活性化関数の計算結果が、第１中間ベクトルの１つの要素として用いられる。本実施例では、活性化関数としては、いわゆるReLUが用いられる。また、重みのベクトルとバイアスとは、第１中間ベクトルの５１２個の要素のそれぞれに対して、別個に準備される。第１全結合層３５０として機能するプロセッサ１１０は、上記の計算を実行することによって、第１中間ベクトルを生成する。なお、重みのベクトルとバイアスとは、トレーニングによって、更新される。
【００６７】
第１全結合層３５０からの第１中間ベクトルは、第２全結合層３６０によって、入力情報として利用される。第２全結合層３６０は、第１全結合層３５０による処理と同様の手順に従って、入力された第１中間ベクトルを用いて、設計された数の要素で構成される第２中間ベクトルを生成する。本実施例では、第２中間ベクトルは、６４次元ベクトルである。第２全結合層３６０では、第１中間ベクトルの全ての要素と、第２中間ベクトルの全ての要素とが、結合される。具体的には、第１中間ベクトルと、５１２次元の重みのベクトルと、の内積が算出される。「内積＋バイアス」が、活性化関数に入力される。そして、活性化関数の計算結果が、第２中間ベクトルの１つの要素として用いられる。本実施例では、活性化関数としては、いわゆるReLUが用いられる。重みのベクトルとバイアスとは、第２中間ベクトルの６４個の要素のそれぞれに対して、別個に準備される。第２全結合層３６０として機能するプロセッサ１１０は、上記の計算を実行することによって、第２中間ベクトルを生成する。なお、重みのベクトルとバイアスとは、トレーニングによって、更新される。
【００６８】
第２全結合層３６０からの第２中間ベクトルは、第３全結合層３７０によって、入力情報として利用される。第３全結合層３７０は、全結合層３５０、３６０による処理と同様の手順に従って、入力された第２中間ベクトルを用いて、設計された数の要素で構成される出力ベクトルを生成する。本実施例では、出力ベクトルは、２次元ベクトルである。出力ベクトルの要素の数は、第１ニューラルネットワークＮＮ１によって分類されるクラスの総数と同じ「２」である。第３全結合層３７０では、第２中間ベクトルの全ての要素と、出力ベクトルの全ての要素とが、結合される。具体的には、第２中間ベクトルと、６４次元の重みのベクトルと、の内積が算出される。「内積＋バイアス」が、活性化関数に入力される。そして、活性化関数の計算結果が、出力ベクトルの１つの要素として用いられる。本実施例では、活性化関数としては、いわゆるソフトマックス関数（SoftMax）が用いられる。公知の通り、ソフトマックス関数は、ゼロ以上１以下の確率を意味する値を算出する。出力ベクトルの第１成分値Ｐ１は、紙の種類が第１種普通紙である確率を示している。出力ベクトルの第２成分値Ｐ２は、紙の種類が第２種普通紙である確率を示している。このような確率を示す出力ベクトルは、確信度データとも呼ばれる。なお、重みのベクトルとバイアスとは、出力ベクトルの２個の要素のそれぞれに対して、別個に準備される。第３全結合層３７０として機能するプロセッサ１１０は、上記の計算を実行することによって、出力ベクトルを生成する。第３全結合層３７０は、出力ベクトルを、第１ニューラルネットワークＮＮ１の外部に出力する。このような第３全結合層３７０は、出力層の例である。入力層３０５と出力層（ここでは、第３全結合層３７０）との間の層３１０〜３６０は、中間層とも呼ばれる。なお、重みのベクトルとバイアスとは、トレーニングによって、更新される。
【００６９】
第３全結合層３７０からの出力ベクトルは、判定部３８０によって、入力情報として利用される。判定部３８０は、出力ベクトルを用いて、紙の種類を分類する処理部である。例えば、判定部３８０として機能するプロセッサ１１０は、出力ベクトルの２つの成分値を比較し、大きい方の成分値を特定する。第１成分値Ｐ１が第２成分値Ｐ２より大きい場合、プロセッサ１１０は、紙は第１種普通紙であると判定する。第２成分値Ｐ２が第１成分値Ｐ１より大きい場合、プロセッサ１１０は、紙は第２種普通紙であると判定する。
【００７０】
図４のＳ２７０では、上述した第１ニューラルネットワークＮＮ１が、上述した第１種合成画像データと第２種合成画像データとを用いて、トレーニングされる。第１種学習用画像データは、第１種普通紙に対応するデータである。第２種学習用画像データは、第２種普通紙に対応するデータである。これらの学習用のデータを用いて、教師あり学習が、行われる。具体的には、プロセッサ１１０は、学習用画像データの合成画像データを入力層３０５に入力する。プロセッサ１１０は、第１ニューラルネットワークＮＮ１の複数の層３０５〜３７０の計算を実行し、判定部３８０として判定を行う。プロセッサ１１０は、この判定結果と、学習用画像データの教師データ６４０とを、比較することによって、評価値６５０を算出する。評価値６５０は、判定結果と教師データとの間の差違、すなわち、誤差を示している。プロセッサ１１０は、評価値６５０を用いて、誤差が小さくなるように、第１ニューラルネットワークＮＮ１の上述した種々のパラメータ（フィルタ、重みのベクトル等）を更新する。トレーニングの方法としては、種々の方法を採用可能である。例えば、いわゆる誤差逆伝播法が採用されてよい。誤差逆伝播法で用いられる損失関数としては、種々の関数を採用可能である。例えば、いわゆる交差エントロピーや、contrastive損失関数が用いられてよい。
【００７１】
このように、第１ニューラルネットワークＮＮ１は、紙の種類を第１種普通紙と第２種普通紙との２つのクラスに分類するように、トレーニングされる。なお、プロセッサ１１０は、Ｓ２３０〜Ｓ２７０の処理を、第１プログラム１３１と第１ニューラルネットワークＮＮ１とを実行することによって、進行する。
【００７２】
Ｓ２８０（図５）では、トレーニング済の第１ニューラルネットワークＮＮ１のうちの入力層３０５から第３全結合層３７０までの部分が、第１学習済モデル２３４として、記憶装置に格納される。第１学習済モデル２３４は、上記のトレーニングによって決定されたパラメータを用いて処理を進行するように、構成されている。本実施例では、第１学習済モデル２３４は、複合機２００の不揮発性記憶装置２３０に格納される。本実施例では、第１学習済モデル２３４は、複合機２００のファームウェアに含まれている。格納の完了によって、図４の処理が終了する。
【００７３】
Ａ３．印刷処理：
図９は、印刷処理の例を示すフローチャートである。複合機２００（図１）は、印刷指示に応じて、印刷処理を開始する。印刷指示を複合機２００に供給する方法は、任意の方法であってよい。本実施例では、ユーザは、操作部２５０を操作することによって、印刷指示を入力する。本実施例では、印刷指示は、印刷用の画像データを指定する情報と、印刷に用いられる紙の種類のカテゴリを指定する情報と、を含んでいる。印刷用の画像データとしては、種々のデータが指定されてよい。例えば、通信インタフェース２７０に接続された携帯記憶装置（図示せず）に格納されている画像データ（例えば、ＪＰＥＧデータ）が、指定されてよい。紙の種類のカテゴリは、「普通紙」と「光沢紙」と「マット紙」とから選択される。ユーザは、カセット４６０（図２）に収容されている紙ＰＰの種類のカテゴリを、選択する。以下、印刷に用いられる紙を、対象紙とも呼ぶ。
【００７４】
Ｓ３１０では、プロセッサ２１０は、印刷指示に従って、印刷対象の画像である印刷対象画像の画像データである印刷対象画像データを取得する。
【００７５】
Ｓ３２０では、プロセッサ２１０は、紙種類特定処理を実行する。図１０は、紙種類特定処理の例を示すフローチャートである。Ｓ４１０では、プロセッサ２１０は、印刷指示によって指定された紙の種類のカテゴリを特定する。Ｓ４１５では、プロセッサ２１０は、紙の種類のカテゴリが「普通紙」であるか否かを判断する。カテゴリが「普通紙」とは異なる場合（Ｓ４１５：Ｎｏ）、すなわち、カテゴリが「光沢紙」と「マット紙」とのいずれかである場合、プロセッサ２１０は、図１０の処理を終了する。この場合、後述するように、カテゴリが、紙の種類として利用される。
【００７６】
カテゴリが「普通紙」である場合（Ｓ４１５：Ｙｅｓ）、Ｓ４２０で、プロセッサ２１０は、印刷用の紙ＰＰ（図２）の読取画像データを生成する処理を実行する。この処理は、図４のＳ２１０の処理と同様の処理である。プロセッサ２１０は、光源４９１を点灯させ、給紙ローラ４１０に紙ＰＰを搬送させる。そして、プロセッサ２１０は、デジタルカメラ４９２に紙ＰＰを撮影させて、読取画像データを取得する。以下、対象紙の読取画像データを、対象紙画像データとも呼ぶ。
【００７７】
Ｓ４３０では、プロセッサ２１０は、対象紙画像データのコントラスト強調処理を実行する。この処理は、図４のＳ２３０の処理と同じである。Ｓ４４０では、プロセッサ２１０は、コントラスト強調済の画像データを用いて、輝度画像データを生成する。この処理は、図４のＳ２４０の処理と同じである。Ｓ３４０では、プロセッサ２１０は、輝度画像データを用いて２種類のエッジ成分値を算出する。この処理は、図４のＳ２５０の処理と同じである。Ｓ４６０では、プロセッサ２１０は、輝度値と、第１エッジ成分値と、第２エッジ成分値と、の３成分値を示す合成画像データを生成する。この処理は、図４のＳ２６０の処理と同じである。以下、対象紙画像データを用いて生成される合成画像データを、対象合成画像データとも呼ぶ。なお、図４で説明したように、デジタルカメラ４９２によって生成される読取画像データのサイズが入力データ形式のサイズと異なる場合、プロセッサ２１０は、図１０のＳ４２０〜Ｓ４６０で生成される画像データのいずれかに対して、画像データのサイズを入力データ形式のサイズに調整するサイズ調整を行う。本実施例では、プロセッサ２１０は、対象紙画像データ（すなわち、読取画像データ）のサイズ調整を行い、サイズ調整済の対象紙画像データを用いて、処理を進行する。
【００７８】
Ｓ４９０では、プロセッサ２１０は、普通紙種類特定処理を実行する。図１１は、普通紙種類特定処理の例を示すフローチャートである。Ｓ５１０では、プロセッサ２１０は、対象合成画像データを、第１学習済モデル２３４（図３）に入力する。Ｓ５２０では、プロセッサ２１０は、第１学習済モデル２３４の複数の層３０５〜３７０の計算を実行する。Ｓ５３０では、プロセッサ２１０は、第３全結合層３７０から、確信度データを取得する。上述したように、確信度データの第１成分値Ｐ１は、紙の種類が第１種普通紙である確率を示している。確信度データの第２成分値Ｐ２は、紙の種類が第２種普通紙である確率を示している。
【００７９】
Ｓ５４０では、プロセッサ２１０は、確信度データの第１成分値Ｐ１が０．５以上であるか否かを判断する。第１成分値Ｐ１が０．５以上である場合（Ｓ５４０：Ｙｅｓ）、Ｓ５５０で、プロセッサ２１０は、対象紙の種類が第１種普通紙であると特定し、図１１の処理、ひいては、図１０のＳ４９０を終了する。
【００８０】
第１成分値Ｐ１が０．５未満である場合（Ｓ５４０：Ｎｏ）、Ｓ５６０で、プロセッサ２１０は、確信度データの第２成分値Ｐ２が０．５以上であるか否かを判断する。第２成分値Ｐ２が０．５以上である場合（Ｓ５６０：Ｙｅｓ）、Ｓ５７０で、プロセッサ２１０は、対象紙の種類が第２種普通紙であると特定し、図１１の処理、ひいては、図１０のＳ４９０を終了する。
【００８１】
第２成分値Ｐ２が０．５未満である場合（Ｓ５６０：Ｎｏ）、Ｓ５８０で、プロセッサ２１０は、対象紙の種類がその他の普通紙であると特定し、図１１の処理、ひいては、図１０のＳ４９０を終了する。
【００８２】
図１０のＳ４９０が終了に応じて、図１０の処理、ひいては、図９のＳ３２０が終了する。Ｓ３３０では、プロセッサ２１０は、複数の色変換プロファイル２３９（図１）から対象紙の種類に対応付けられた色変換プロファイルを、対象プロファイルとして選択する。
【００８３】
Ｓ３４０では、プロセッサ２１０は、対象プロファイルに従ってプリンタ部４００を制御することによって、プリンタ部４００に印刷対象画像を印刷させる。本実施例では、プロセッサ２１０は、印刷対象画像データの解像度変換処理と、解像度が変換された画像データの色変換処理と、色変換済の画像データを用いるハーフトーン処理と、を実行することによって、印刷データを生成する。解像度変換処理は、印刷対象画像データの解像度を印刷用の予め決められた印刷解像度に変換する処理である。印刷対象画像データの解像度が印刷解像度と同じである場合、解像度変換処理は、省略される。色変換処理は、各画素の色値を、変換前の色空間（本実施例では、ＲＧＢ色空間）の色値から、印刷用の色空間である印刷色空間の色値に変換する処理である。印刷色空間は、プリンタ部４００によって使用される印刷剤に対応する色成分で表される色空間である（本実施例では、ＣＭＹＫ色空間）。この色変換処理では、Ｓ３３０で選択された対象プロファイルが用いられる。ハーフトーン処理は、例えば、誤差拡散法や、ディザマトリクスを用いる方法など、種々の方法の処理であってよい。プロセッサ２１０は、ハーフトーン処理の結果を表すデータを用いて、印刷データを生成する。プロセッサ２１０は、印刷データに従って、プリンタ部４００を制御する。これにより、プリンタ部４００は、対象紙に、印刷対象画像を印刷する。そして、図９の処理が終了する。
【００８４】
以上のように、複合機２００のプロセッサ２１０は、図１０のＳ４２０〜Ｓ４５０で、光学的に読み取られた対象紙の画像である対象紙画像を表す対象紙画像データを用いて、複数の画素について互いに異なる２個の方向Ｄｘ、Ｄｙのエッジ成分値を算出する。そして、図１１の処理では、プロセッサ２１０は、複数の画素についての２個の方向Ｄｘ、Ｄｙのエッジ成分値を含むデータである対象合成画像データを用いて、対象紙の種類を特定する。上述したように、紙は、多数の繊維を含んでいる。繊維の状態は、紙の種類に応じて、異なり得る。複数の画素についての互いに異なる２個の方向Ｄｘ、Ｄｙのエッジ成分値は、繊維の状態、ひいては、紙の種類に応じて、異なり得る。本実施例では、複数の画素についての２個の方向Ｄｘ、Ｄｙのエッジ成分値を用いて紙の種類が特定されるので、紙の種類の特定の精度を向上できる。なお、複合機２００の制御部２９９は、対象紙の種類を特定する特定装置の例である。
【００８５】
また、プロセッサ２１０は、図１０のＳ４３０で、対象紙画像データのコントラスト強調処理を実行する。Ｓ４４０〜Ｓ４５０では、プロセッサ２１０は、コントラスト強調処理済の画像データを用いて複数の画素について２個の方向Ｄｘ、Ｄｙのエッジ成分値を算出する。対象紙画像データによって表される紙画像内においては、位置の変化に対する色値の変化は、小さい場合が多い。このような場合であっても、本実施例では、コントラストが強調された画像データを用いてエッジ成分値が算出されるので、繊維の状態を示す大きなエッジ成分値が算出され得る。従って、紙の種類の特定の精度を向上できる。
【００８６】
また、図１０のＳ４２０〜Ｓ４４０では、プロセッサ２１０は、対象紙画像データを用いて、対象紙画像を表す輝度画像データを取得する。Ｓ４５０では、プロセッサ２１０は、輝度画像データを用いて複数の画素について２個の方向Ｄｘ、Ｄｙのエッジ成分値を算出する。このように、エッジ成分値の算出に輝度画像データが用いられるので、対象紙画像データによって表される紙画像内において位置の変化に対する色値の変化が小さい場合であっても、繊維の状態を示す大きなエッジ成分値が算出され得る。従って、紙の種類の特定の精度を向上できる。
【００８７】
また、図５（Ａ）で説明したように、第２方向Ｄｙは、紙ＰＰ（図２）の搬送方向に平行であり、紙ＰＰの縦方向を示している。第１方向Ｄｘは、第２方向Ｄｙに垂直な方向であり、紙ＰＰの横方向を示している。従って、縦目の紙の特徴と、横目の紙の特徴と、紙の目が一定ではない紙の特徴と、のそれぞれに応じて、２個の方向Ｄｘ、Ｄｙのエッジ成分値が大きく変化し得るので、紙の種類の特定の精度を向上できる。
【００８８】
また、図１０のＳ４４０、Ｓ４６０で説明したように、紙の種類の特定に用いられる対象合成画像データは、複数の画素についての輝度値を含んでいる。輝度値は、特定の色成分値の例である。このように、紙の種類の特定に、エッジ成分値に加えて輝度値が用いられるので、紙の種類を紙の色に応じて適切に特定できる。
【００８９】
また、図１１のＳ５１０〜Ｓ５３０で説明したように、プロセッサ２１０は、第１学習済モデル２３４に対象合成画像データを入力することによって、確信度データを取得する。確信度データは、対象紙の種類に関連する関連情報の例である。Ｓ５４０〜Ｓ５８０では、プロセッサ２１０は、確信度データを用いて、対象紙の種類を特定する。
【００９０】
また、図４のＳ２７０で説明したように、第１学習済モデル２３４は、学習用のデータである第１種学習用画像データ（第１種合成画像データを含む）と第２種学習用画像データ（第２種合成画像データを含む）とを用いてトレーニングされた第１ニューラルネットワークＮＮ１を用いて構成されている。Ｓ２５０、Ｓ２６０で説明したように、第１種合成画像データと第２種合成画像データとは、複数の画素について互いに異なる２個の方向Ｄｘ、Ｄｙのエッジ成分値を含んでいる。また、Ｓ２１０〜Ｓ２５０で説明したように、第１種合成画像データと第２種合成画像データとは、第１種読取画像データと第２種読取画像データを用いて得られるデータである。第１種読取画像データと第２種読取画像データとは、光学的に読み取られた互いに異なる２種類の紙（ここでは、第１種普通紙と第２種普通紙）の画像である紙画像を表すデータである。プロセッサ２１０は、このような第１学習済モデル２３４に対象合成画像データを入力することによって得られる確信度データを用いて紙の種類を特定する。従って、紙の種類の特定の精度を向上できる。
【００９１】
また、プロセッサ２１０は、図１０で説明したように、本実施例では、学習用のデータである合成画像データの複数の画素のそれぞれについて、コントラスト強調処理を実行し（Ｓ４３０）、輝度値を算出し（Ｓ４４０）、２個の方向Ｄｘ、Ｄｙのエッジ成分値を算出する（Ｓ４５０）。このように、複数の画素のそれぞれの２個の方向Ｄｘ、Ｄｙのエッジ成分値が算出される。従って、紙上において局所的に特徴が異なる場合であっても、複数の画素のそれぞれの２個の方向Ｄｘ、Ｄｙのエッジ成分値を用いて紙の種類を特定することによって、紙の種類の特定の精度を向上できる。
【００９２】
Ｂ．第２実施例：
Ｂ１．第２ニューラルネットワークＮＮ２の構成：
図１２は、第２人工ニューラルネットワークＮＮ２の例の説明図である（以下、単に、第２ニューラルネットワークＮＮ２とも呼ぶ）。第２ニューラルネットワークＮＮ２は、第２学習済モデル２３５（図１）の生成に利用されるニューラルネットワークである。第２ニューラルネットワークＮＮ２は、紙の種類を光沢紙とマット紙と普通紙との３つのクラスに分類するように構成されている。第２ニューラルネットワークＮＮ２は、図３の第１ニューラルネットワークＮＮ１と同様に、畳み込みニューラルネットワークである。第２ニューラルネットワークＮＮ２は、第１ニューラルネットワークＮＮ１（図３）と同様に、入力層５０５と、第１畳込層５１０と、第１プーリング層５２０と、第２畳込層５３０と、第２プーリング層５４０と、第１全結合層５５０と、第２全結合層５６０と、第３全結合層５７０と、を有している。これらの層５０５〜５７０は、この順番に、接続されている。第１ニューラルネットワークＮＮ１との差違は、第３全結合層５７０の出力ベクトルの次元数が、２ではなく３である点である。この点を除いて、第２ニューラルネットワークＮＮ２の層５０５〜５７０の構成は、第１ニューラルネットワークＮＮ１の層３０５〜３７０の構成と、それぞれ同様である。第３全結合層５７０の出力ベクトルの第１成分値Ｐａは、紙の種類が光沢紙である確率を示している。出力ベクトルの第２成分値Ｐｂは、紙の種類がマット紙である確率を示している。出力ベクトルの第３成分値Ｐｃは、紙の種類が普通紙である確率を示している。
【００９３】
第３全結合層５７０（図１２）からの出力ベクトルは、判定部５８０によって、入力情報として利用される。判定部５８０は、出力ベクトルを用いて、紙の種類を分類する処理部である。後述する第２ニューラルネットワークＮＮ２のトレーニングにおいて、判定部５８０として機能するプロセッサ１１０（図６）は、出力ベクトルの３つの成分値を比較し、最大の成分値を特定する。第１成分値Ｐａが最大である場合、プロセッサ１１０は、紙は光沢紙であると判定する。第２成分値Ｐｂが最大である場合、プロセッサ１１０は、紙はマット紙であると判定する。第３成分値Ｐｃが最大である場合、プロセッサ１１０は、紙は普通紙であると判定する。
【００９４】
Ｂ２．第２ニューラルネットワークＮＮ２のトレーニング：
図１３は、第２ニューラルネットワークＮＮ２のトレーニングの処理の例を示すフローチャートである。Ｓ７１０では、光沢紙の読取画像データである光沢紙読取画像データが生成される。ここで、複数の光沢紙を用いて、複数の光沢紙読取画像データが生成される。これに代えて、１枚の光沢紙を用いて、１個の光沢紙読取画像データが生成されてよい。Ｓ７２０では、マット紙の読取画像データであるマット紙読取画像データが生成される。ここで、複数のマット紙を用いて、複数のマット紙読取画像データが生成される。これに代えて、１枚のマット紙を用いて、１個のマット紙読取画像データが生成されてよい。Ｓ７２５では、普通紙の読取画像データである普通紙読取画像データが生成される。ここで、第１種普通紙の普通紙読取画像データと、第２種普通紙の普通紙読取画像データとが、生成される。第１種普通紙の総数（ひいては、第１種普通紙読取画像データの総数）は、複数であるが、これに代えて、１であってよい。第２種普通紙の総数（ひいては、第２種普通紙読取画像データの総数）は、複数であるが、これに代えて、１であってよい。Ｓ７１０、Ｓ７２０、Ｓ７２５は、図４のＳ２１０、Ｓ２２０と同様に行われる。
【００９５】
Ｓ７３０、Ｓ７４０、Ｓ７５０、Ｓ７６０は、図４のＳ２３０、Ｓ２４０、Ｓ２５０、Ｓ２６０と、それぞれ同じである。データ処理装置１００（図６）のプロセッサ１１０は、光沢紙読取画像データを用いて光沢紙合成画像データを生成し、マット紙読取画像データを用いてマット紙合成画像データを生成し、普通紙読取画像データを用いて普通紙合成画像データを生成する。そして、プロセッサ１１０は、合成画像データと、教師データ（具体的には、紙の種類が光沢紙とマット紙と普通紙とのいずれであるかを示すデータ）と、を含む学習用画像データを生成する。以下、光沢紙合成画像データを含む学習用画像データを、光沢紙学習用画像データとも呼ぶ。マット紙合成画像データを含む学習用画像データを、マット紙学習用画像データとも呼ぶ。普通紙合成画像データを含む学習用画像データを、普通紙学習用画像データとも呼ぶ。
【００９６】
Ｓ７７０では、プロセッサ１１０は、学習用画像データを用いて、第２ニューラルネットワークＮＮ２をトレーニングする。図４のＳ２７０と同様に、教師あり学習が行われる。具体的には、プロセッサ１１０は、学習用画像データの合成画像データを入力層５０５に入力する。プロセッサ１１０は、第２ニューラルネットワークＮＮ２の複数の層５０５〜５７０の計算を実行し、判定部５８０として判定を行う。プロセッサ１１０は、この判定結果と、学習用画像データの教師データ６４０ａとを、比較することによって、評価値６５０ａを算出する。評価値６５０ａは、判定結果と教師データとの間の差違、すなわち、誤差を示している。プロセッサ１１０は、評価値６５０ａを用いて、誤差が小さくなるように、第２ニューラルネットワークＮＮ２の上述した種々のパラメータ（フィルタ、重みのベクトル等）を更新する。トレーニングの方法としては、図４のＳ２７０のトレーニング方法と同じ方法が用いられる。以上により、第２ニューラルネットワークＮＮ２は、紙の種類を光沢紙とマット紙と普通紙との３つのクラスに分類するように、トレーニングされる。なお、プロセッサ１１０は、Ｓ７３０〜Ｓ７７０の処理を、第２プログラム１３２と第２ニューラルネットワークＮＮ２とを実行することによって、進行する。なお、Ｓ７７０のトレーニングの方法は、図４のＳ２７０のトレーニング方法と異なっていてもよい。
【００９７】
Ｓ７８０では、トレーニング済の第２ニューラルネットワークＮＮ２のうちの入力層５０５から第３全結合層５７０までの部分が、第２学習済モデル２３５として、記憶装置に格納される。第２学習済モデル２３５は、上記のトレーニングによって決定されたパラメータを用いて処理を進行するように、構成されている。本実施例では、第２学習済モデル２３５は、複合機２００の不揮発性記憶装置２３０に格納される。本実施例では、第２学習済モデル２３５は、複合機２００のファームウェアに含まれている。格納の完了によって、図１３の処理が終了する。
【００９８】
Ｂ３．紙種類の特定：
図１４は、第２実施例の紙種類特定処理を示すフローチャートである。この処理は、図９のＳ３２０で、図１０の処理の代わりに、実行可能である。本実施例では、第１実施例とは異なり、紙の種類のカテゴリは、第２学習済モデル２３５を用いて自動的に特定される。図１０の処理との差違は、２点ある。第１の差違は、Ｓ４１０、Ｓ４１５が省略されている点である。第２の差違は、Ｓ４６０とＳ４９０との間に、Ｓ４７０、Ｓ４８０が追加されている点である。図１４のステップのうち、図１０のステップと同じステップには、同じ符号を付して、説明を省略する。
【００９９】
本実施例では、プロセッサ２１０（図１）は、対象紙の種類の拘わらず、Ｓ４２０−Ｓ４６０の処理が実行する。Ｓ４７０では、プロセッサ２１０は、対象紙のカテゴリを特定する。
【０１００】
図１５は、対象紙のカテゴリを特定する処理の例を示すフローチャートである。Ｓ８１０では、プロセッサ２１０は、対象合成画像データを、第２学習済モデル２３５（図１２）に入力する。Ｓ８２０では、プロセッサ２１０は、第２学習済モデル２３５の複数の層５０５〜５７０の計算を実行する。Ｓ８３０では、プロセッサ２１０は、第３全結合層５７０から、確信度データを取得する。Ｓ８４０では、プロセッサ２１０は、確信度データの３個の成分値Ｐａ、Ｐｂ、Ｐｃのうちの最大の成分値を特定する。
【０１０１】
第１成分値Ｐａが最大である場合、Ｓ８５０で、プロセッサ２１０は、対象紙の種類が光沢紙であると特定し、図１５の処理を終了する。第２成分値Ｐｂが最大である場合、Ｓ８６０で、プロセッサ２１０は、対象紙の種類がマット紙であると特定し、図１５の処理を終了する。第３成分値Ｐｃが最大である場合、Ｓ８７０で、プロセッサ２１０は、対象紙の種類が普通紙であると特定し、図１５の処理を終了する。
【０１０２】
図１５の処理、ひいては、図１４のＳ４７０の処理の後、Ｓ４８０で、プロセッサ２１０は、Ｓ４７０で特定された対象紙の種類が普通紙であるか否かを判断する。対象紙の種類が普通紙であると特定された場合（Ｓ４８０：Ｙｅｓ）、Ｓ４９０で、プロセッサ２１０は、普通紙種類特定処理を実行し、図１４の処理を終了する。Ｓ４９０の処理は、図１０のＳ４９０の処理、すなわち、図１１の処理と同じである。対象紙の種類が普通紙ではないと特定された場合（Ｓ４８０：Ｎｏ）、すなわち、特定された対象紙の種類が、光沢紙またはマット紙である場合、プロセッサ２１０は、図１４の処理を終了する。
【０１０３】
以上のように、プロセッサ２１０は、図１４、図１５の処理において、対象紙画像データを用いて、紙の種類を特定する。この特定処理は、図１０の普通紙の種類を特定する処理と、同様に行われる。従って。本実施例の特定処理は、図１０の普通紙の種類を特定する処理と同様に、種々の利点を有する。
【０１０４】
また、本実施例では、光沢紙、マット紙、普通紙を区別するための第２学習済モデル２３５は、普通紙の種類を特定するための第１学習済モデル２３４とは別に準備されている。このように、全ての種類が１つの学習済モデルによって分類される代わりに、対象紙の種類は、２段階に分けて分類される。従って、各段階の分類の精度、すなわち、第１学習済モデル２３４による分類の精度と第２学習済モデル２３５による分類の精度とを、容易に向上できる。この結果、紙の種類の特定の精度を向上できる。
【０１０５】
Ｃ．第３実施例：
図１６は、第３実施例の普通紙種類特定処理を示すフローチャートである。この処理は、上記各実施例において、図１１処理の代わりに、実行可能である。本実施例では、学習済モデルを用いずに、対象紙の種類が特定される。
【０１０６】
Ｓ９１０では、プロセッサ２１０は、第１方向Ｄｘのエッジ成分値の合計値と、第２方向Ｄｙのエッジ成分値の合計値とを、算出する。エッジ成分値としては、図１０、図１４のＳ４５０で算出されたエッジ成分値が、用いられる。Ｓ９２０では、プロセッサ２１０は、第１方向Ｄｘのエッジ成分値の合計値と、第２方向Ｄｙのエッジ成分値の合計値と、を用いて、普通紙の種類を特定する。
【０１０７】
図１７は、エッジ成分値の合計値と普通紙の種類との対応関係の例を示すグラフである。横軸は、第１方向Ｄｘのエッジ成分値の合計値の絶対値Ｅｘ（第１エッジ量Ｅｘとも呼ぶ）を示し、縦軸は、第２方向Ｄｙのエッジ成分値の合計値の絶対値Ｅｙ（第２エッジ量Ｒｙとも呼ぶ）を示している。閾値Ｅｘｔｈ、Ｅｙｔｈは、予め決められた閾値である。最大値Ｅｘｍ、Ｅｙｍは、それぞれ、エッジ量Ｅｘ、Ｅｙの可能な最大値である。図１７では、グラフは、４つの領域に区分されている。４つの領域と、普通紙の種類との対応関係は、以下の通りである。
１）Ｅｘ≦Ｅｘｔｈ、かつ、Ｅｙ≦Ｅｙｔｈ：第１種普通紙
２）Ｅｘ＞Ｅｘｔｈ、かつ、Ｅｙ≦Ｅｙｔｈ：第２種普通紙
３）Ｅｘ≦Ｅｘｔｈ、かつ、Ｅｙ＞Ｅｙｔｈ：第２種普通紙
４）Ｅｘ＞Ｅｘｔｈ、かつ、Ｅｙ＞Ｅｙｔｈ：その他の普通紙
【０１０８】
このような対応関係は、予め実験的に決定される。図１６のＳ９２０では、プロセッサ２１０は、この対応関係に従って、エッジ量Ｅｘ、Ｅｙを用いて、普通紙の種類を特定する。そして、図１６の処理は、終了する。
【０１０９】
上述したように、２個の方向Ｄｘ、Ｄｙのエッジ成分値は、繊維の状態、ひいては、紙の種類に応じて、異なり得る。従って、２個の方向Ｄｘ、Ｄｙのエッジ成分値を用いることによって、紙の種類を適切に特定できる。なお、エッジ量Ｅｘ、Ｅｙと対象紙の種類との対応関係は、図１７の対応関係に代えて、種々の関係であってよい。例えば、図１７のグラフにおいて、互いに異なる種類の領域は、曲線で区切られていてもよい。また、第１種普通紙、第２種普通紙、その他の普通紙の３種類に代えて、他の種々の種類が分類されてよい。例えば、光沢紙とマット紙と普通紙とが分類されてよい。
【０１１０】
Ｄ．変形例：
（１）コントラスト強調処理は、図７（Ａ）〜図７（Ｃ）の処理に代えて、種々の処理であってよい。例えば、色成分値Ｖと修正済色成分値Ｖｃとの対応関係（図７（Ｂ））は、曲線によって示されてもよい。
【０１１１】
（２）読取画像データの色空間は、ＲＧＢ色空間に代えて、他の種々の色空間であってよい（例えば、ＹＣｂＣｒ色空間）。
【０１１２】
（３）学習済モデル２３４、２３５に入力される情報（上記各実施例では、合成画像データ）の生成方法は、種々の方法であってよい。例えば、読取画像データを用いて輝度画像データが生成され、輝度画像データに対してコントラスト強調処理が実行されてよい。そして、コントラスト強調済の輝度画像データを用いて、エッジ成分値が算出されてよい。また、コントラスト強調処理は、省略されてよい。エッジ成分値は、輝度値とは異なる特定の色成分値（例えば、緑色成分値）を用いて算出されてよい。また、エッジ成分値の方向は、紙の縦方向と横方向の２方向に代えて、例えば縦方向と横方向と各斜めの２方向の４方向であってよい。
【０１１３】
（４）学習済モデル２３４、２３５に入力される情報である紙情報は、輝度値と２個の方向のエッジ成分値との３成分のデータに代えて、学習効果が得られる範囲で他の種々の情報であってよい。例えば、紙情報は、輝度値に限らず、１以上の特定の色成分を含んでよい（例えば、赤成分、緑成分、青成分、シアン成分、マゼンタ成分、イエロ成分、輝度値、色相、彩度から任意に選択された１以上の成分）。また、紙情報からは、このような特定の色成分が省略されてよい。また、紙情報の複数の画素が、互いに異なる成分値を示してもよい。例えば、紙情報の複数の画素のうち、一部の複数の画素は、第１方向Ｄｘのエッジ成分値を示し、他の一部の複数の画素は、第２方向Ｄｙのエッジ成分値を示してもよい。このように、紙情報は、複数の画素についての複数の方向のエッジ成分値を含む種々の情報であってよい。
【０１１４】
（５）第１ニューラルネットワークＮＮ１の構成は、図３の構成に代えて、他の種々の構成であってよい。例えば、第１畳込層３１０と第２畳込層３３０とのそれぞれのフィルタのサイズとフィルタの数とは、図３の実施例のサイズと数と異なっていてもよい。畳込層３１０、３３０において、バイアスは、フィルタ毎に準備されてよい。第１ニューラルネットワークＮＮ１は、畳込層と畳込層の後ろに接続されたプーリング層との１以上のセットを備えてよい。第１ニューラルネットワークＮＮ１は、プーリング層に続く１以上の全結合層を備えてよい。プーリング層は、省略されてよい。第１ニューラルネットワークＮＮ１は、畳込層とプーリング層とを用いずに、１以上の全結合層を用いて構成されてよい。順伝播型ニューラルネットワークに代えて、他の種々のニューラルネットワークが採用されてよい。層の総数は、１以上の任意の数であってよい。いずれの場合も、第１学習済モデル２３４は、第１ニューラルネットワークＮＮ１の１以上の層のうちの少なくとも一部である１以上の層を含んでよい。また、第１ニューラルネットワークＮＮ１は、対象紙の読取画像データを用いて生成された紙情報を入力するための入力層と、紙の種類の推定結果に関連する情報を出力するための出力層と、入力層と出力層との間に設けられた１以上の中間層と、を有してよい。そして、第１学習済モデル２３４は、学習済の第１ニューラルネットワークＮＮ１のうちの入力層から出力層までの部分を含んでよい。
【０１１５】
第２ニューラルネットワークＮＮ２の構成についても、同様に、図１２の構成に代えて、他の種々の構成であってよい。そして、第２学習済モデル２３５は、学習済の第２ニューラルネットワークＮＮ２のうちの入力層から出力層までの部分を含んでよい。
【０１１６】
第１学習済モデル２３４によって分類される紙の種類は、２に代えて、３以上であってよい。第２学習済モデル２３５によって分類される紙の種類は、３に代えて、２、または、４以上であってよい。また、１個の学習済モデルが、紙の全ての種類を分類するように構成されてもよい。いずれの場合も、学習済モデルを生成に利用されるニューラルネットワークは、教師あり学習によって、トレーニングされてよい。
【０１１７】
（６）図９の実施例では、紙の種類を特定する処理は、印刷処理の開始時に実行される。これに代えて、紙の種類を特定する処理は、他の種々のタイミングで実行されてよい。例えば、プロセッサ２１０は、カセット４６０（図２）が開けられ、そして、カセット４６０が閉じられたことに応じて、紙種類特定処理を実行してよい。
【０１１８】
（７）プリンタ部４００は、インクジェットプリンタに代えて、レーザプリンタなどの任意の方式のプリンタであってよい。レーザプリンタは、紙にトナーを定着させる。トナーの定着の容易さは、紙の種類によって異なり得る。ここで、複数の色変換プロファイル２３９は、紙の種類に応じてトナー使用量が異なるように、構成されてよい。例えば、定着が容易である場合、定着が容易ではない場合と比べて、トナー使用量が多くてよい。
【０１１９】
また、特定された対象紙の種類は、色変換プロファイルの選択に代えて、プリンタ部４００を制御するための他の種々の制御条件の選択に利用されてよい。例えば、プリンタ部４００がインクジェットプリンタである場合、インクの乾燥速度は、対象紙の種類に応じて異なり得る。プロセッサ２１０は、対象紙の種類に応じて、紙の搬送速度を変化させてよい。例えば、乾燥速度が遅い場合、乾燥速度が速い場合と比べて、紙の搬送速度は遅くてよい。また、乾燥速度が遅い場合、２頁目の紙の供給が、遅くてよい。また、乾燥速度が遅い場合、裏面の印刷開始が遅くてよい。プリンタ部４００がレーザプリンタである場合、プリンタ部４００は、トナー像を紙に定着させるための定着装置やトナー像を紙に転写する転写装置を備えている。ここで、プロセッサ２１０は、対象紙の種類に応じて、定着不良や高温オフセットが発生しないように、定着装置の制御温度を調整してよく、転写装置の転写電流・転写電圧を調整してよい。
【０１２０】
（８）デジタルカメラ４９２は、カセット４６０に収容されている紙を読み取るように配置されていてもよい。また、プリンタ部４００（図２）からは、デジタルカメラ４９２が省略されてよい。この場合、複合機２００のスキャナ部２８０（図１）が、カセット４６０内に収容する紙の読取画像データを生成してよい。ユーザは、スキャナ部２８０のうちの原稿を配置すべき部分に紙を配置する。そして、プロセッサ２１０は、操作部２５０に入力されたユーザの指示に応じて、スキャナ部２８０に紙を読み取らせる。これにより、スキャナ部２８０は、光学的に読み取られた紙の画像を表す読取画像データを生成できる。
【０１２１】
（９）上記の各実施例では、プロセッサ２１０は、対象紙の種類を特定するために、複数の画素についての互いに異なる２個の方向のエッジ成分値を含む情報を、用いている。これに代えて、プロセッサ２１０は、複数の画素について１種類のエッジ成分値を算出し、複数の画素についての１種類のエッジ成分値を含む情報である紙情報を用いて、対象紙の種類を特定してよい。このようなエッジ成分値としては、ラプラシアンフィルタによって算出されるエッジ成分値のように、特定の方向に依存しないエッジ成分値が用いられてよい。また、ニューラルネットワークは、光学的に読み取られた互いに異なるＫ種類（Ｋは２以上の整数）の紙の画像である紙画像を表す画像データを用いて得られる学習用情報を用いてトレーニングされてよい。ここで、学習用情報は、複数の画素についての１種類のエッジ成分値を含む情報であってよい。そして、このようなニューラルネットワークを用いて、学習済モデルが生成されてよい。そして、学習済モデルは、対象画像データを用いて得られる紙情報であって、複数の画素についての１種類のエッジ成分値を含む紙情報を、学習済モデルに入力することによって、対象紙の種類に関連する関連情報を取得するようにコンピュータを機能させてよい。
【０１２２】
（１０）紙の種類を特定する特定装置は、複合機２００の制御部２９９に代えて、他の種々の装置であってよい。例えば、プリンタ部４００とスキャナ部２８０との少なくとも１つは、特定装置に接続可能な外部装置であってよい。このように、特定装置は、いわゆる複合機とは異なる種類の装置であってよい（例えば、パーソナルコンピュータ、タブレットコンピュータ、スマートフォン、サーバーなど）。
【０１２３】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、第１学習済モデル２３４と第２学習済モデル２３５とは、プログラムモジュールに代えて、ASIC（Application Specific Integrated Circuit）等のハードウェア回路によって実現されてよい。
【０１２４】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【０１２５】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１２６】
１００…データ処理装置、１１０…プロセッサ、１１５…記憶装置、１２０…揮発性記憶装置、１３０…不揮発性記憶装置、１３１…第１プログラム、１３２…第２プログラム、１４０…表示部、１５０…操作部、１７０…通信インタフェース、２００…複合機、２１０…プロセッサ、２１５…記憶装置、２２０…揮発性記憶装置、２３０…不揮発性記憶装置、２３２…プログラム、２３４…第１学習済モデル、２３５…第２学習済モデル、２３９…色変換プロファイル、２４０…表示部、２５０…操作部、２７０…通信インタフェース、２８０…スキャナ部、２９９…制御部、３０５…入力層、３１０…第１畳込層、３２０…第１プーリング層、３３０…第２畳込層、３４０…第２プーリング層、３５０…第１全結合層、３６０…第２全結合層、３７０…第３全結合層、３８０…判定部、４００…プリンタ部、４１０…給紙ローラ、４２０…上流ローラ、４３０…下流ローラ、４４０…プラテン、４５０…印刷ヘッド、４６０…カセット、４７０…搬送経路、４８０…排紙トレイ、４９１…光源、４９２…デジタルカメラ、５０５…入力層、５１０…第１畳込層、５２０…第１プーリング層、５３０…第２畳込層、５４０…第２プーリング層、５５０…第１全結合層、５６０…第２全結合層、５７０…第３全結合層、５８０…判定部、６００…読取画像データ、６００ｉ…紙画像、６０５ｉ…紙画像、６１０ｉ…画像、６１５ｉ…画像、６２０…合成画像データ、６２０ｉ…合成画像、Ｃ…シアン、Ｍ…マゼンタ、Ｙ…イエロ、Ｋ…ブラック、Ｆ１…第１フィルタ、Ｆ２…第２フィルタ、ＰＰ…紙、ＰＳ…印刷面、Ｄｘ…第１方向、Ｄｙ…第２方向、ＮＮ１…第１人工ニューラルネットワーク、ＮＮ２…第２人工ニューラルネットワーク
【図１】
2020118741.tif 000003
【図２】
2020118741.tif 000004
【図３】
2020118741.tif 000005
【図４】
2020118741.tif 000006
【図５】
2020118741.tif 000007
【図６】
2020118741.tif 000008
【図７】
2020118741.tif 000009
【図８】
2020118741.tif 000010
【図９】
2020118741.tif 000011
【図１０】
2020118741.tif 000012
【図１１】
2020118741.tif 000013
【図１２】
2020118741.tif 000014
【図１３】
2020118741.tif 000015
【図１４】
2020118741.tif 000016
【図１５】
2020118741.tif 000017
【図１６】
2020118741.tif 000018
【図１７】
2020118741.tif 000019