(57)【要約】【課題】カラー化処理における機械学習に利用する学習サンプルを好適に選択し、効率よく機械学習を行う仕組みを提供する。【解決手段】画像処理装置は、ページ単位の画像データを入力し、入力された画像データがカラー画像であるかモノクロ画像であるかを判定する。また、本画像処理装置は、複数の処理部を備えるカラー変換部において、モノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行する。さらに、本画像処理装置は、カラー画像と判定された場合に、当該カラー画像の画像データを、一旦モノクロ画像に変換した後に再度カラー画像に変換した、カラー化結果に基づいて、当該画像データを学習サンプルとして利用するかを決定する。【選択図】  図４
2019153917.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
ページ単位の画像データを入力する入力手段と、
前記入力手段によって入力された画像データがカラー画像であるかモノクロ画像であるかを判定するカラー判定手段と、
複数の処理部を備え、前記カラー判定手段によってモノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行するカラー変換手段と、
前記カラー判定手段によってカラー画像と判定された場合に、該カラー画像の画像データを、一旦モノクロ画像に変換した後に前記カラー変換手段によって再度カラー画像に変換して、カラー化結果を解析する解析手段と、
前記解析手段による解析結果に基づいて、前記カラー判定手段によってカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用するかを決定する決定手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記解析手段は、
前記カラー判定手段によってカラー画像と判定された画像データから色差ヒストグラムを取得し、
前記カラー変換手段によって再度カラー画像に変換した画像データから色差ヒストグラムを取得し、
取得した２つの色差ヒストグラムの類似度を前記解析結果として取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記解析手段は、
前記カラー変換手段によって再度カラー画像に変換した画像データから色差ヒストグラムを取得し、
取得した色差ヒストグラムの分散値を前記解析結果として取得することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記決定手段は、
前記解析結果と、予め定められた閾値とを比較して、前記カラー化処理が成功したか否かを判断し、
前記カラー化処理が失敗したと判断すると、前記カラー判定手段によってカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用すると決定することを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記解析結果をレベル分けして重み付けする手段をさらに備え、
前記決定手段は、
前記レベル分けされた重みと、予め定められた、該重みに対応する学習割合とに応じて、前記カラー判定手段によってカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用するか否かを決定することを特徴とする請求項２又は３に記載の画像処理装置。
【請求項６】
前記カラー化処理を実行するか否かを、ユーザ入力に従って設定する設定手段と、
前記設定手段によって設定された情報に従って、前記カラー変換手段による前記カラー化処理を実行するか否かを判定する実行判定手段と
をさらに備えることを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記カラー変換手段は、前記実行判定手段によって前記カラー化処理を実行すると判定され、かつ、前記カラー判定手段によってモノクロ画像と判定された場合に、前記カラー化処理を実行することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記決定手段によって学習サンプルとして利用すると決定されたカラー画像の画像データを学習サンプルの期待画像として、該カラー画像をモノクロ画像に変換した画像データを学習サンプルの入力画像として紐づけて格納する学習テーブルを記憶する記憶手段をさらに備えることを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記学習テーブルにおける入力画像に対して、前記カラー変換手段による前記カラー化処理を実行した出力画像と、該入力画像に対応して前記学習テーブルに格納されている前記期待画像との乖離を誤差関数により評価し、その評価値を前記複数の処理部で使用される、前記カラー化処理に関わるパラメータへのフィードバックとして利用し、該パラメータを更新する学習手段をさらに備えることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記入力手段は、原稿から画像を読み取る読取手段を備えることを特徴とする請求項１乃至９の何れか１項に記載の画像処理装置。
【請求項１１】
画像処理装置の制御方法であって、
入力手段が、ページ単位の画像データを入力する入力工程と、
カラー判定手段が、前記入力工程で入力された画像データがカラー画像であるかモノクロ画像であるかを判定するカラー判定工程と、
複数の処理部を備えるカラー変換手段が、前記カラー判定工程でモノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行するカラー変換工程と、
解析手段が、前記カラー判定工程でカラー画像と判定された場合に、該カラー画像の画像データを、一旦モノクロ画像に変換した後に前記カラー変換手段によって再度カラー画像に変換して、カラー化結果を解析する解析工程と、
決定手段が、前記解析工程による解析結果に基づいて、前記カラー判定工程でカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用するかを決定する決定工程と
を含むことを特徴とする画像処理装置の制御方法。
【請求項１２】
画像処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
入力手段が、ページ単位の画像データを入力する入力工程と、
カラー判定手段が、前記入力工程で入力された画像データがカラー画像であるかモノクロ画像であるかを判定するカラー判定工程と、
複数の処理部を備えるカラー変換手段が、前記カラー判定工程でモノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行するカラー変換工程と、
解析手段が、前記カラー判定工程でカラー画像と判定された場合に、該カラー画像の画像データを、一旦モノクロ画像に変換した後に前記カラー変換手段によって再度カラー画像に変換して、カラー化結果を解析する解析工程と、
決定手段が、前記解析工程による解析結果に基づいて、前記カラー判定工程でカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用するかを決定する決定工程と
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モノクロ画像をカラー画像に変換する処理を学習する画像処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
マルチファンクションプリンタ（以後、ＭＦＰと称する。）では、スキャナで読み取ったモノクロ画像をカラー画像に変換する画像処理（以後、カラー化処理と称する。）を実行するものがある。従来のカラー化処理における画像処理の設定値は、製品ごとの出荷時に予め決められた値であるか、或いは、ファーム更新時に変更された値である。
【０００３】
特許文献１には、カラー化処理後の画像の視認性を向上させるために複数の設定値を保持して基準を満たすよう制御することが提案されている。また、画像処理の設定値は想定される一般のデータを用いた評価に基づいて決定されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−６６７３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術には以下に記載する課題がある。例えば、上記従来技術では、カラー化処理に対する色相の組み合わせが非常に多く、また画像処理の設定値はユーザ毎に適切な値に設定されていない。従って、必ずしもユーザが期待するカラー画像が得られるとは限らなかった。
【０００６】
一方、収集した学習サンプルを使用して機械を学習させ、学習モデルを作成して文字や物体認識する技術が知られている。これらの技術は一般に機械学習と呼ばれるものであり、特に物体認識ではディープラーニングと呼ばれる手法が用いられる。ディープラーニングは、多層のニューラルネットワークによって構成され、入力データと期待データとを備えた学習サンプルを学習させる。多層のニューラルネットワークに与えた入力データに対する出力データと期待データとの乖離を誤差関数で評価し、その評価に応じてバックプロパゲーションにより多層のニューラルネットワークのパラメータにフィードバックを与える。多数の学習サンプル（以後、学習データと称する。）を繰り返し学習することによって、出力データと期待データとの乖離を最小限にするパラメータを得ることができる。このようにして、多層のニューラルネットワークから期待するデータが出力されるようになる。なお、特に入力データとして画像データを用いる場合には、上記した多層のニューラルネットワークとして、多層のコンボリューションニューラルネットワーク（以後、ＣＮＮと称する。）を用いることが一般的である。
【０００７】
このような機械学習をカラー化処理に適用すれば収集した学習サンプルに沿った色相の出力物が得られるものと考えられる。しかしながら、学習を行うためには膨大な量の学習サンプルを与えなければならず、また、期待した色相の出力物を得られるように学習するためには、学習サンプルを適切に選択しなければならない。
【０００８】
本発明は、上述の問題の少なくとも一つに鑑みて成されたものであり、カラー化処理における機械学習に利用する学習サンプルを好適に選択し、効率よく機械学習を行う仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、例えば、画像処理装置であって、ページ単位の画像データを入力する入力手段と、前記入力手段によって入力された画像データがカラー画像であるかモノクロ画像であるかを判定するカラー判定手段と、複数の処理部を備え、前記カラー判定手段によってモノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行するカラー変換手段と、前記カラー判定手段によってカラー画像と判定された場合に、該カラー画像の画像データを、一旦モノクロ画像に変換した後に前記カラー変換手段によって再度カラー画像に変換して、カラー化結果を解析する解析手段と、前記解析手段による解析結果に基づいて、前記カラー判定手段によってカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用するかを決定する決定手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、カラー化処理における機械学習に利用する学習サンプルを好適に選択し、効率よく機械学習を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係るシステムの構成図。
【図２】一実施形態に係るＭＦＰ構成図。
【図３】一実施形態に係るＭＦＰの画像処理部の構成図。
【図４】一実施形態に係るＭＦＰのコピー処理のフローチャート。
【図５】一実施形態に係るＭＦＰの学習処理のフローチャート。
【図６】一実施形態に係る学習テーブルの一例。
【図７】一実施形態に係るカラー変換部で行われる処理例の模式図。
【図８】一実施形態に係るＭＦＰの操作部の画面例を示す図。
【図９】一実施形態に係るカラー原稿の色差ヒストグラムの例を示す図。
【図１０】一実施形態に係るヒストグラム解析処理の第一の例を示す図。
【図１１】一実施形態に係るヒストグラム解析処理の第二の例を示す図。
【図１２】一実施形態に係る学習重みづけを説明する図。
【図１３】一実施形態に係る学習重みを考慮した学習処理のフローチャート。
【発明を実施するための形態】
【００１２】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確立されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１３】
＜第１の実施形態＞
＜システム構成＞
以下では、本発明の第１の実施形態について説明する。本発明に係る一実施形態としてＭＦＰを用いて説明する。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。
【００１４】
まず、図１を参照して本実施形態に係るシステムの構成を説明する。本システムは、ＭＦＰ１０１、ＰＣ１０２、及びサーバ１０３を含む、各装置はＬＡＮ１０４を介して通信可能に接続される。なお、これらの接続は無線接続でも有線接続で実現されてもよい。同図において、１０１はＭＦＰであって、ＬＡＮ１０４上の他の機器と通信する。ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０４は、ＭＦＰ１０１やＰＣ１０２、サーバ１０３を相互に接続して通信を可能にする。物理層及びリンク層にＥｔｈｅｒｎｅｔを利用するのが一般的である。なお、説明を簡略化するため各装置が１台のみシステムに含まれる例で説明するが、各装置が複数台設けられるシステムであっても本発明を適用することは可能である。
【００１５】
ＭＦＰ１０１は、モノクロ画像をカラー画像に変換するカラー化処理を実行する画像処理装置、画像読取装置、及び画像形成装置の一例である。当該カラー化処理は、ＭＦＰ１０１が提供するコピー、印刷、ファクシミリ送信、ＳＥＮＤ等に係る画像処理に利用されうる。変換対象となるモノクロ画像は、外部装置であるＰＣ１０２やサーバ１０３から入力されてもよいし、ＭＦＰ１０１のスキャナによって得られた画像データでもよい。ＰＣ１０２は、ＭＦＰ１０１を利用する情報処理装置であり、画像処理対象の画像データをＭＦＰ１０１にＬＡＮ１０４を介して送信したり、ＭＦＰ１０１から画像データを受信する。
【００１６】
サーバ１０３は、ＭＦＰ１０１の機械学習を支援する機能を少なくとも有する装置である。例えば、ＬＡＮ１０４に複数のＭＦＰが接続されている場合には、各ＭＦＰの機械学習内容である学習サンプルを収集して管理し、当該学習サンプルを各ＭＦＰへ提供することなどを行う。
【００１７】
＜画像処理装置の構成＞
次に、図２を参照して、本実施形態に係るＭＦＰ１０１の構成を説明する。ＭＦＰ１０１は、ＣＰＵ２０１、ＤＲＡＭ２０２、操作部２０３、ネットワークＩ／Ｆ（インタフェース）２０４、プリンタ部２０５、スキャナ部２０６、ＦＡＸ２０７、ＨＤＤ２０８、画像処理部２１１、フラッシュＲＯＭ２１２、シリアルＩ／Ｆ２１３を備える。各モジュールは、システムバス２０９を介して接続され、相互に信号を伝達することができる。
【００１８】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、ＭＦＰ１０１全体の制御を司る。ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２は、ＣＰＵ２０１で実行されるプログラムを格納すると共に一時的なデータのワークエリアとして機能する。操作部２０３は、シリアルＩ／Ｆ２１３を介してＣＰＵ２０１にユーザによる操作入力を通知する。
【００１９】
ネットワークＩ／Ｆ２０４は、ＬＡＮ１０４と接続して外部装置と通信を行う。プリンタ部２０５は、画像データを紙面等の記録媒体上に印字する。スキャナ部２０６は、紙面上の画像を光学的に読み取って電気信号に変換し、スキャン画像データを生成して出力する。ＦＡＸ２０７は、公衆回線２１０と接続して外部装置とファクシミリ通信を行う。ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０８は、ＣＰＵ２０１で実行されるプログラムを格納すると共にプリントジョブやスキャンジョブ等のスプール領域としても利用される。２１０は公衆回線であり、ＦＡＸ２０７と外部装置を相互接続する。
【００２０】
画像処理部２１１は、ネットワークＩ／Ｆ２０４で受信したプリントジョブをプリンタ部２０５で印刷するのに適した画像データへの変換処理と、スキャナ部２０６で読み取ったスキャン画像に施す画像処理とを実行する。また、画像処理部２１１は、ＬＡＮ１０４からネットワークＩ／Ｆ２０４を経由し外部装置から受信した画像データ（ＰＤＬコード）をビットマップデータに展開する。さらに、画像処理部２１１は、プリンタ部２０５で画像データを印字するための前処理としての画像処理を行う。画像処理部２１１での詳細な処理については後述する。
【００２１】
フラッシュＲＯＭ（ＦＬＡＳＨ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１２は、ＣＰＵ２０１で実行されるプログラムを格納する。さらに、フラッシュＲＯＭ２１２は、ＭＦＰ１０１のデフォルト設定値、ユーザごとのデフォルト設定値、及び一時的なカスタム設定値（以降、まとめてデフォルト設定値と称する。）等を記憶する。シリアルＩ／Ｆ２１３は、操作部２０３とシステムバス２０９とを相互接続する。
【００２２】
＜画像処理部の構成＞
次に、図３を参照して、本実施形態に係る画像処理部２１１の制御構成を説明する。画像処理部２１１は、システムバスＩ／Ｆ３０１、スキャン画像処理部３０２、レンダリング処理部３０３、プリント画像処理部３０４、カラー判定部３０５、モノクロ変換部３０６、及びカラー変換部３０７を備える。各モジュールは、信号バス３０８を介して接続され、相互に信号を伝達することができる。システムバスＩ／Ｆ３０１は、システムバス２０９と信号バス３０８のプロトコル変換や調停を行い画像処理部２１１の各モジュールとシステムバス２０９に接続された各モジュールを相互接続させることができる。
【００２３】
スキャン画像処理部３０２は、スキャナ部２０６で読み取ったスキャン画像データに施すシェーディング補正処理やＭＴＦ補正処理、入力ガンマ補正やフィルタ処理といった画像処理を実行する。さらに、スキャン画像処理部３０２は、ノイズ除去や色空間変換、回転、圧縮等の処理も実行する。レンダリング処理部３０３は、ＬＡＮ１０４からネットワークＩ／Ｆ２０４及びシステムバスＩ／Ｆ３０１を経由し外部装置から受信した画像データ（ＰＤＬコード）をビットマップデータに展開する。
【００２４】
プリント画像処理部３０４は、プリンタ部２０５で画像データを印字するための前処理としての画像処理を実行する。具体的には、プリント画像処理部３０４が実行する画像処理には、ＲＧＢをＣＭＹＫに変換する色空間変換処理やディザ法や誤差拡散法による中間調処理、ガンマ補正などが含まれる。画像処理後の画像データはプリンタ部２０５へ出力される。プリント画像処理部３０４は、プリンタ部２０５の起動及び給紙に合わせてプリンタ部２０５へ画像データを出力する必要がある。そのため、プリント画像処理部３０４は、画像データの出力タイミングまでの待ち合わせ用のバッファとしてＤＲＡＭ２０２へ画像データを一時的に書き込む。そして、プリント画像処理部３０４は、記録媒体の給紙のタイミングに同期させて、ＤＲＡＭ２０２から画像データを読み込み、プリンタ部２０５へ出力する。
【００２５】
カラー判定部３０５は、スキャン画像処理部３０２で処理した画像がカラー画像かモノクロ画像かの判定を行う。モノクロ変換部３０６は、スキャン画像処理部３０２で処理したカラー画像をモノクロ画像に変換する。モノクロ変換は、カラー画像の画素毎にＲＧＢのコンポーネントを演算することによって算出された値をモノクロ画像の画素値として変換する方式である。
【００２６】
カラー変換部３０７は、スキャン画像処理部３０２で処理したモノクロ画像をカラー画像に変換するカラー化処理を実行する。図７に本処理の模式図を一例として示す。図７に示すＣｏｎｖとは、畳み込みの処理であり、Ｐｏｏｌとは、プーリングの処理である。図７では４つのＣｏｎｖとＰｏｏｌで処理が構成される例である。まず、入力画像としては輝度画像（モノクロ画像）を使用する。これをＣｏｎｖ＿１に入力して畳み込み処理を行い、続いてＰｏｏｌ＿１に入力してプーリング処理を行う。その後、次々と各ＣｏｎｖとＰｏｏｌで処理を実行する。Ｐｏｏｌ＿４の処理が完了すると、Ｌａｂ空間のａｂ空間にマッピングされたａｂ画像が生成される。これを輝度画像とともにカラー画像に変換することによってカラー変換するものである。各Ｃｏｎｖの畳み込みのパラメータは学習によって決定されるものであり、詳細については後述する。学習はＣＰＵ２０１又は不図示のＧＰＵ等によって行われる。なお、図７に示した構成は一例であって限定するものではない。
【００２７】
＜カラー変換コピー処理＞
図４を参照して、基本的なスキャン画像をカラー変換して印字させるコピー処理について説明する。以下で説明する処理は、例えばＣＰＵ２０１がフラッシュＲＯＭ２１２に格納されたプログラムをＤＲＡＭ２０２に読み出して実行することにより実現される。
【００２８】
Ｓ４０１で、ＣＰＵ２０１は、スキャナ部２０６において原稿を読み取らせ、スキャナ部２０６から出力された画像データをＤＲＡＭ２０２に記憶する。続いて、Ｓ４０２で、スキャン画像処理部３０２は、Ｓ４０１で読み取った画像データに対して、予めフラッシュＲＯＭ２１２に記憶されている設定値に基づいてスキャン画像処理を実行し、Ｓ４０３へ進む。なお、ここでは、スキャナ部２０６において原稿を読み取ってページ単位の画像データを入力する例について説明するが、本発明はこれに限定されず、例えば、ＰＣ１０２等の外部装置からページ単位の画像データを入力してもよい。
【００２９】
Ｓ４０３で、カラー判定部３０５は、Ｓ４０２でスキャン画像処理した画像データがモノクロ画像かカラー画像かを判定する。モノクロ画像と判定した場合はＳ４０５へ進み、カラー画像と判定した場合はＳ４０４へ進む。Ｓ４０４で、画像処理部２１１は、ＣＰＵ２０１に対して学習処理通知を行う。学習処理通知が行われると、ＣＰＵ２０１は、並行して後述する学習処理フローを実行する。
【００３０】
一方、モノクロ画像と判定した場合はＳ４０５で、画像処理部２１１は、カラー変換条件が満たされているか否かの実行判定を行う。カラー変換条件について詳細に説明する。ここで、カラー変換条件は、ユーザによってカラー変換処理を意図した設定が行われていれば満足される。図８に操作部２０３の画面例を示す。画面８０１及び画面８０２には、ユーザ入力に従って、コピーの出力モードを設定する設定画面を示している。本出力モードの設定画面では、「フルカラー」の出力の指定、「白黒→カラー」の出力の指定が行うことでカラー変換条件が満たされるものとする。Ｓ４０５では、Ｓ４０３で既に原稿がモノクロであると判定された後であるため、入力原稿がモノクロであるが、出力モードがカラーになっているため、カラー変換処理が必要であると判断する。また、画面８０３には、ユーザ入力によってコピーの機能設定を行う画面を示しており、「白黒カラー変換」の機能ボタンを表示している。ユーザは本ボタンを押下することでも、白黒カラー変換機能の指定を行うことができる。押下後に遷移する画面は、画面８０４である。画面８０４は、既に白黒カラー変換モードがＯＮとなっている。この設定の場合は、カラー変換処理が行われる。以上説明したように、ユーザの指定した設定と原稿のモノクロカラー判定結果に応じて、適切にカラー変換処理が実施されるように処理フローは構成される。カラー変換条件を満たす場合Ｓ４０６へ進み、カラー変換条件を満たさない場合Ｓ４０７へ進む。
【００３１】
Ｓ４０６で、カラー変換部３０７は、Ｓ４０２でスキャン画像処理した画像データに対してカラー化処理を実行し、Ｓ４０７に進む。カラー化処理が実行された画像データは、カラー画像データとなる。画像処理部２１１は、カラー画像データをＤＲＡＭ２０２に格納する。
【００３２】
Ｓ４０７で、プリント画像処理部３０４は、ＤＲＡＭ２０２に格納される画像データを、予めフラッシュＲＯＭ２１２に記憶されている設定値に基づいてプリント画像処理を実行する。その後、プリンタ部２０５は、プリント画像処理が行われた画像データに従って印字した記録媒体を機外へ出力し、本フローチャートを終了する。
【００３３】
＜学習処理＞
次に、図５を参照して、Ｓ４０４で学習処理通知が発行された場合に対してカラー変換部を生成して更新する処理手順を説明する。以下で説明する処理は、例えばＣＰＵ２０１がフラッシュＲＯＭ２１２に格納されたプログラムをＤＲＡＭ２０２に読み出して実行することにより実現される。
【００３４】
Ｓ５０１で、ＣＰＵ２０１は、スキャン画像処理部３０２で処理されてＤＲＡＭ２０２にスプールされているカラー画像データを学習サンプルの期待画像としてＨＤＤ２０８に保存する。ここでは、ファイルサイズを小さくするために不図示の圧縮処理部でＪＰＥＧなどのフォーマットに圧縮するものとする。
【００３５】
次に、Ｓ５０２で、モノクロ変換部３０６は、ＤＲＡＭ２０２から読み出したカラーオブジェクト画像データに対して、モノクロ画像データに変換しＤＲＡＭ２０２にスプールする。なお、ここでは、ＤＲＡＭ２０２にスプールされているカラーオブジェクト画像データをモノクロ画像データに変換するのではなく、そのコピーをモノクロ画像データへ変換することが望ましい。
【００３６】
次に、Ｓ５０３で、カラー変換部３０７は、Ｓ５０２で変換されたモノクロ画像データを、カラー画像に復元する。続いて、Ｓ５０４で、ＣＰＵ２０１は、Ｓ５０３で復元されたカラー画像と、Ｓ５０１において保存された期待画像を用いて、カラー化の結果を解析する。ここでいう結果の解析とは、カラー変換部３０７が学習サンプル画像を上手くカラー変換できたかどうかを解析することである。Ｓ５０４の処理の詳細については図１０を用いて後述する。
【００３７】
次に、Ｓ５０５で、ＣＰＵ２０１は、Ｓ５０４の解析結果より、カラー化が成功したかどうかを判断する。カラー化が成功したと判断した場合には、以降の学習ステップをスキップして本フローチャートを終了する。一方、カラー化が失敗したと判断した場合には、Ｓ５０６に進み、以降の学習ステップを行う。
【００３８】
Ｓ５０６で、ＣＰＵ２０１は、Ｓ５０２でモノクロ変換処理されてＤＲＡＭ２０２にスプールされているモノクロ画像データを学習サンプルの入力画像としてＨＤＤ２０８に保存する。ここでは、ファイルサイズを小さくするために不図示の圧縮処理部でＪＰＥＧなどのフォーマットに圧縮するものとする。
【００３９】
次に、Ｓ５０７で、ＣＰＵ２０１は、Ｓ５０１、Ｓ５０３で格納した画像ファイル（期待画像及び入力画像）の情報を学習テーブルに追加し、Ｓ５０８に進む。図６に学習テーブルを示す。学習テーブル６００は、ＨＤＤ２０８に保存され、オブジェクト画像ごとに、学習サンプルの入力画像へのパス６０１と、期待画像へのパス６０２とを紐づけて格納する。
【００４０】
Ｓ５０８で、ＣＰＵ２０１は、Ｓ５０７で生成した学習テーブル６００に記載された画像を用いて学習処理を実行する。上述したように、カラー変換部３０７は図７の例で示したように、複数の処理部（Ｃｏｎｖ、Ｐｏｏｌ）によって構成される。上記学習処理では、これらの処理部に展開されている各Ｃｏｎｖ／Ｐｏｏｌのパラメータを学習により更新していく。学習処理では、学習テーブルの入力画像Ｘと期待画像Ｄの対を学習サンプルとし、その集合体である学習データ（Ｘ，Ｄ）を用いる。学習処理において、ＣＰＵ２０１は、まず学習サンプルの入力画像に対してカラー化処理を実行した出力画像と期待画像の乖離を誤差関数により評価する。続いて、ＣＰＵ２０１は、その評価値をバックプロパゲーションにより複数のＣｏｎｖ、Ｐｏｏｌのパラメータにフィードバックを与えることで更新を行う。図７の例では、Ｃｏｎｖ＿１、Ｐｏｏｌ＿１、Ｃｏｎｖ＿２、Ｐｏｏｌ＿２、Ｃｏｎｖ＿３、Ｐｏｏｌ＿３、及びＣｏｎｖ＿４、及びＰｏｏｌ＿４のパラメータを学習により更新していくものである。なお、各パラメータは、ＭＦＰの開発段階で与えられた学習データによって決定されたものを初期状態として組み込まれているものとする。このパラメータをユーザ環境で適宜更新していくことになる。
【００４１】
次に、Ｓ５０９で、ＣＰＵ２０１は、カラー変換部３０７を更新する。具体的には、ＣＰＵ２０１は、Ｓ５０８で学習により更新された各処理部のパラメータをカラー変換部３０７の処理部に設定することで実現されるものである。なお、ＭＦＰは画像処理部２１１が動作している場合は動作完了するまで待機し、動作完了後に更新するのは言うまでもない。
【００４２】
＜カラー化結果の解析処理＞
次に、図９及び図１０を参照して、カラー化結果の解析処理について説明する。図９は、Ｓ５０４におけるカラー化結果の解析処理の概念を示す。図９（ａ）は、Ｓ５０１で保存された学習サンプルの期待画像をＹＵＶ色空間で表現したときの、色差Ｕ又は色差Ｖ（横軸）のヒストグラムを示す。縦軸は各色差値Ｕ又は各色差値Ｖの頻度を示す。本実施形態では、Ｕ，Ｖそれぞれの色差を１０レベルに量子化し、０から９までの計１０レベルの頻度としてヒストグラムを算出している。図９（ｂ）及び図９（ｃ）は、Ｓ５０３でモノクロからカラーに復元された画像のヒストグラムの例を示す。図９（ａ）の期待画像のヒストグラムと、図９（ｂ）の復元画像のヒストグラムを比較してみると、非常に類似していることがわかる。一方で、図９（ａ）の期待画像のヒストグラムと、図９（ｃ）のヒストグラムを比較してみると、類似していない。このように、ＣＰＵ２０１は、色差値のヒストグラムを期待画像と比較することにより、類似している場合にはカラー変換が成功したと判断する。一方で、ＣＰＵ２０１は、類似していない場合はカラー変換が失敗したと判断する。なお、ヒストグラムの類似度を測る方法としては、ユークリッド距離やピアソンの積率相関係数などの一般的に知られる方法で求めることが可能であるため、詳細な説明は省略する。
【００４３】
図１０は、図９で述べた、Ｓ５０４におけるカラー化結果の解析処理の処理手順を示す。以下で説明する処理は、例えばＣＰＵ２０１がフラッシュＲＯＭ２１２に格納されたプログラムをＤＲＡＭ２０２に読み出して実行することにより実現される。
【００４４】
Ｓ１００１で、ＣＰＵ２０１は、期待画像の色差ヒストグラムを、期待画像の画素値を用いて取得する。続いて、Ｓ１００２で、ＣＰＵ２０１は、復元画像の色差ヒストグラムを復元画像の画素値を用いて取得する。
【００４５】
次に、Ｓ１００３で、ＣＰＵ２０１は、両者のヒストグラムの類似度を算出し、Ｓ５０４の処理を終了してＳ５０５へ進む。Ｓ５０５で、ＣＰＵ２０１は、Ｓ５０４で算出した類似度を予め定められた閾値と比較することでカラー化が成功したかどうかを判断する。
【００４６】
＜解析処理の変形例＞
ここで、図１１を参照して、カラー化結果の解析処理における変形例について説明する。図１１は、Ｓ５０４におけるカラー化結果の解析処理の別の形態の処理手順を示す。以下で説明する処理は、例えばＣＰＵ２０１がフラッシュＲＯＭ２１２に格納されたプログラムをＤＲＡＭ２０２に読み出して実行することにより実現される。
【００４７】
Ｓ１１０１で、ＣＰＵ２０１は、復元画像の色差ヒストグラムを、復元画像の画素値を用いて取得する。続いて、Ｓ１１０２で、ＣＰＵ２０１は、Ｓ１１０１で取得したヒストグラムの分散値を算出し、Ｓ５０４の処理を終了してＳ５０５へ進む。Ｓ５０５で、ＣＰＵ２０１は、Ｓ５０４で算出した分散値を予め定められた閾値と比較することでカラー化が成功したかどうかを判断する。
【００４８】
即ち、復元された画像の色差ヒストグラムの分散値が大きい場合、原画像と色味は異なるが、モノクロ画像に対して複数色でカラー化することができたと判断する。なお、オフィス文章に含まれるグラフやテキストは、一般的に自然画とは違い、本来の色味と異なっても見やすさは変わらない場合も多い。このような判断方法は、期待画像と復元画像のヒストグラムを比較する方法に対して簡易的な方法になるが、ヒストグラム算出や比較にかかる演算リソースを少なく抑えることができるという格別の効果を奏する。
【００４９】
以上説明したように、本実施形態の画像処理装置は、ページ単位の画像データを入力し、入力された画像データがカラー画像であるかモノクロ画像であるかを判定する。また、本画像処理装置は、複数の処理部を備えるカラー変換部において、モノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行する。さらに、本画像処理装置は、カラー画像と判定された場合に、当該カラー画像の画像データを、一旦モノクロ画像に変換した後に再度カラー画像に変換した、カラー化結果に基づいて、当該画像データを学習サンプルとして利用するかを決定する。これにより、本実施形態によれば、ユーザ環境において好適に学習サンプルを生成することが可能である。また、学習サンプルが生成されると、複数の処理部で構成されるカラー変換部のパラメータを再度学習し直し、ユーザのよく使用される原稿パターンや使用色のパターンなどに沿ったカラー変換処理部を構築することが可能となる。さらに、カラー化が上手くいかない画像を学習サンプルとして選び、カラー化が上手くいく画像は学習させないという処理を行うことで、学習をより効果的に行うことが可能になる。即ち、機械学習では学習データの選び方によって学習の進行具合が変化するため、ユーザ環境において上手くカラー化できない原稿データを集中的に学習データとして選ぶことで、学習の進行を加速させることが可能となる。
【００５０】
＜第２の実施形態＞
以下では、本発明の第２の実施形態について説明する。上記第１の実施形態では、上手くカラー化ができない原稿データのみに限定して学習を行っていた。このような学習方法は、学習の進行を加速させることができる一方、上手くカラー化できる原稿データは一切学習を行わない。そのため、上手くカラー化できない原稿の特徴に学習モデルが影響を受けすぎる懸念がある。そこで、本実施形態では、上手くカラー化できない原稿を用いて効果的に学習を進めつつ、上手く学習できる原稿も学習させることで、学習モデルの偏りを抑える仕組みについて説明する。
【００５１】
＜学習の重み付け＞
図１２を参照して、本実施形態における、カラー化結果の解析によって得られた期待画像と復元画像の類似度をもとに、学習の重みを決定する処理を説明する。図１２（ａ）では、類似度を４レベル（０〜Ｓ１、Ｓ１〜Ｓ２、Ｓ２〜Ｓ３、Ｓ３〜１）に量子化した時の、それぞれの類似度レベル（横軸）と、学習重みｗ０からｗ３（縦軸）の対応を表す図である。
【００５２】
類似度のレベルが０〜Ｓ１の間の画像は、ヒストグラムが類似していない、すなわち上手くカラー化できていない画像であることを示している。よって、学習重みも最も高いｗ３を割り当てている。類似度レベルがＳ１〜Ｓ２の間の画像では、学習重みがｗ３に次いで高いｗ２を割り当て、Ｓ２〜Ｓ３はｗ１、Ｓ３〜１はｗ０をそれぞれ割り当てる。本実施形態では、上記第１の実施形態のように類似度を閾値比較して学習するか否かの二通りではなく、それぞれの類似度に応じて段階的に学習重みを割り当てて学習を行う。
【００５３】
図１２（ｂ）は、図１２（ａ）で割り当てられた重みと、実際に学習を行うための学習割合との関係を示す。学習割合とは、ある重みが割り当てられた画像を、どの程度の割合で学習させるかを表している。図１２（ｂ）では、重みｗ０は１０枚の画像のうち２枚の画像を学習させ、残りの８枚の画像は学習させない。同様に、重みｗ１では１０枚中４枚、重みｗ２では１０枚中７枚、重みｗ３では１０枚中１０枚を学習させる。本実施形態では、この学習割合の分母をＰａｇｅ＿ｂａｓｅと表し、分子をＰａｇｅ＿ｔｈと表す。
【００５４】
＜学習処理＞
次に、図１３を参照して、本実施形態に係る、Ｓ４０４で学習処理通知が発行された場合に対してカラー変換部を生成して更新する処理手順を説明する。以下で説明する処理は、例えばＣＰＵ２０１がフラッシュＲＯＭ２１２に格納されたプログラムをＤＲＡＭ２０２に読み出して実行することにより実現される。なお、上記第１の実施形態で説明した図５の処理と同様の処理については説明を省略する。
【００５５】
Ｓ１３０１乃至Ｓ１３０４の各処理は、上記第１の実施形態におけるＳ５０１乃至Ｓ５０４の各処理と同様である。Ｓ１３０５で、ＣＰＵ２０１は、Ｓ１３０４で求めた解析結果に従って、図１２（ａ）で説明したように学習重み（ｗ０、ｗ１、ｗ２、ｗ３）を決定し、図１２（ｂ）で説明したように学習割合を決定する。学習割合については、図１２（ｂ）に示すテーブルをＨＤＤ２０８等に予め保持しておき、当該テーブルを読み出して取得することにより、決定してもよい。続いて、Ｓ１３０６で、ＣＰＵ２０１は、重みｗ（ｎ）の画像の現在の学習済み枚数ｗ（ｎ）＿ｌｅａｒｎ＿ｃｏｕｎｔがＰａｇｅ＿ｔｈよりも少ないかどうかを判断する。なおｎは０から３の自然数であり、ｗ（ｎ）は重みｗ０からｗ３のいずれかを表す。カウンタ値ｗ（ｎ）＿ｌｅａｒｎ＿ｃｏｕｎｔについては、不揮発性の記憶部に記憶される。ここで、現在の学習済み枚数ｗ（ｎ）＿ｌｅａｒｎ＿ｃｏｕｎｔがＰａｇｅ＿ｔｈよりも少ない場合にはＳ１３０７へ進んで学習処理を実行し、多い場合にはＳ１３１２へと進む。なお、Ｓ１３０７乃至Ｓ１３１０の学習処理は、上記第１の実施形態におけるＳ５０６乃至Ｓ５０９の各処理と同様である。
【００５６】
Ｓ１３１０の処理に続いてＳ１３１１に進み、ＣＰＵ２０１は、現在の学習済み枚数ｗ（ｎ）＿ｌｅａｒｎ＿ｃｏｕｎｔを１インクリメントし、Ｓ１３１２に進む。
【００５７】
Ｓ１３１２で、ＣＰＵ２０１は、重みｗ（ｎ）について、現在何枚処理したかを表すｗ（ｎ）＿ｔｏｔａｌ＿ｃｏｕｎｔを１インクリメントする。ここでは、Ｓ１３０６で、現在の学習済み枚数ｗ（ｎ）＿ｌｅａｒｎ＿ｃｏｕｎｔがＰａｇｅ＿ｔｈよりも多いと判断した場合も１インクリメントする。続いて、Ｓ１３１３で、ＣＰＵ２０１は、ｗ（ｎ）＿ｔｏｔａｌ＿ｃｏｕｎｔがＰａｇｅ＿ｂａｓｅ以上であるかを判断し、もしＰａｇｅ＿ｂａｓｅよりも大きい場合はＳ１３１４へ進む。一方、ｗ（ｎ）＿ｔｏｔａｌ＿ｃｏｕｎｔがＰａｇｅ＿ｂａｓｅ未満の場合は本フローチャートの処理を終了する。Ｓ１３１４で、ＣＰＵ２０１は、カウンタｗ（ｎ）＿ｌｅａｒｎ＿ｃｏｕｎｔとｗ（ｎ）＿ｔｏｔａｌ＿ｃｏｕｎｔとをゼロクリアし、本フローチャートの処理を終了する。
【００５８】
なお、本フローチャートにおけるカウンタ値ｗ（ｎ）＿ｌｅａｒｎ＿ｃｏｕｎｔとｗ（ｎ）＿ｔｏｔａｌ＿ｃｏｕｎｔは、本フローチャートの処理が終了した後もＤＲＡＭ２０２又はＨＤＤ２０８に保持される。これは、次に本フローチャートの処理が開始されたときに再度参照されるためである。このように、カウンタを用いることで、Ｓ１３０５で決定した学習割合となるように学習するかどうかを各重みごとに制御することが可能となる。
【００５９】
以上説明したように、本実施形態に係る画像処理装置は、解析結果をレベル分けして重み付けする。さらに、本画像処理装置は、レベル分けされた重みと、予め定められた、重みに対応する学習割合とに応じて、当該画像データを学習サンプルとして利用するか否かを決定する。本実施形態によれば、上手くカラー化ができない原稿データの学習の進行を加速させつつ、上手く学習できる原稿も学習させることで、学習モデルの偏りを抑えることが可能となる。なお、本実施形態では、類似度に応じた重み付けを説明したが、上記第１の実施形態における変形例で説明した分散値にも適用することができる。この場合、類似度と同様に分散値をレベル分けして、重み付けし、他の処理は類似度と同様に行うことができる。
【００６０】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６１】
１０１：ＭＦＰ、２０１：ＣＰＵ、２０２：ＤＲＡＭ、２０３：操作部、２０４：ネットワークＩ／Ｆ、２０５：プリンタ部、２０６：スキャナ部、２０７：ＦＡＸ、２０８：ＨＤＤ、２０９：システムバス、２１１：画像処理部、２１２：フラッシュＲＯＭ、２１３：システムＩ／Ｆ、３０５：カラー判定部、３０６：モノクロ変換部、３０７：カラー変換部
【図１】
2019153917.tif 000003
【図２】
2019153917.tif 000004
【図３】
2019153917.tif 000005
【図４】
2019153917.tif 000006
【図５】
2019153917.tif 000007
【図６】
2019153917.tif 000008
【図７】
2019153917.tif 000009
【図８】
2019153917.tif 000010
【図９】
2019153917.tif 000011
【図１０】
2019153917.tif 000012
【図１１】
2019153917.tif 000013
【図１２】
2019153917.tif 000014
【図１３】
2019153917.tif 000015