JP2019153917A - 画像処理装置、その制御方法、及びプログラム - Google Patents
画像処理装置、その制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2019153917A JP2019153917A JP2018037727A JP2018037727A JP2019153917A JP 2019153917 A JP2019153917 A JP 2019153917A JP 2018037727 A JP2018037727 A JP 2018037727A JP 2018037727 A JP2018037727 A JP 2018037727A JP 2019153917 A JP2019153917 A JP 2019153917A
- Authority
- JP
- Japan
- Prior art keywords
- image
- color
- learning
- image data
- processing apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Color Image Communication Systems (AREA)
- Image Analysis (AREA)
Abstract
【課題】カラー化処理における機械学習に利用する学習サンプルを好適に選択し、効率よく機械学習を行う仕組みを提供する。【解決手段】画像処理装置は、ページ単位の画像データを入力し、入力された画像データがカラー画像であるかモノクロ画像であるかを判定する。また、本画像処理装置は、複数の処理部を備えるカラー変換部において、モノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行する。さらに、本画像処理装置は、カラー画像と判定された場合に、当該カラー画像の画像データを、一旦モノクロ画像に変換した後に再度カラー画像に変換した、カラー化結果に基づいて、当該画像データを学習サンプルとして利用するかを決定する。【選択図】 図4
Description
本発明は、モノクロ画像をカラー画像に変換する処理を学習する画像処理装置、その制御方法、及びプログラムに関する。
マルチファンクションプリンタ(以後、MFPと称する。)では、スキャナで読み取ったモノクロ画像をカラー画像に変換する画像処理(以後、カラー化処理と称する。)を実行するものがある。従来のカラー化処理における画像処理の設定値は、製品ごとの出荷時に予め決められた値であるか、或いは、ファーム更新時に変更された値である。
特許文献1には、カラー化処理後の画像の視認性を向上させるために複数の設定値を保持して基準を満たすよう制御することが提案されている。また、画像処理の設定値は想定される一般のデータを用いた評価に基づいて決定されている。
しかしながら、上記従来技術には以下に記載する課題がある。例えば、上記従来技術では、カラー化処理に対する色相の組み合わせが非常に多く、また画像処理の設定値はユーザ毎に適切な値に設定されていない。従って、必ずしもユーザが期待するカラー画像が得られるとは限らなかった。
一方、収集した学習サンプルを使用して機械を学習させ、学習モデルを作成して文字や物体認識する技術が知られている。これらの技術は一般に機械学習と呼ばれるものであり、特に物体認識ではディープラーニングと呼ばれる手法が用いられる。ディープラーニングは、多層のニューラルネットワークによって構成され、入力データと期待データとを備えた学習サンプルを学習させる。多層のニューラルネットワークに与えた入力データに対する出力データと期待データとの乖離を誤差関数で評価し、その評価に応じてバックプロパゲーションにより多層のニューラルネットワークのパラメータにフィードバックを与える。多数の学習サンプル(以後、学習データと称する。)を繰り返し学習することによって、出力データと期待データとの乖離を最小限にするパラメータを得ることができる。このようにして、多層のニューラルネットワークから期待するデータが出力されるようになる。なお、特に入力データとして画像データを用いる場合には、上記した多層のニューラルネットワークとして、多層のコンボリューションニューラルネットワーク(以後、CNNと称する。)を用いることが一般的である。
このような機械学習をカラー化処理に適用すれば収集した学習サンプルに沿った色相の出力物が得られるものと考えられる。しかしながら、学習を行うためには膨大な量の学習サンプルを与えなければならず、また、期待した色相の出力物を得られるように学習するためには、学習サンプルを適切に選択しなければならない。
本発明は、上述の問題の少なくとも一つに鑑みて成されたものであり、カラー化処理における機械学習に利用する学習サンプルを好適に選択し、効率よく機械学習を行う仕組みを提供することを目的とする。
本発明は、例えば、画像処理装置であって、ページ単位の画像データを入力する入力手段と、前記入力手段によって入力された画像データがカラー画像であるかモノクロ画像であるかを判定するカラー判定手段と、複数の処理部を備え、前記カラー判定手段によってモノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行するカラー変換手段と、前記カラー判定手段によってカラー画像と判定された場合に、該カラー画像の画像データを、一旦モノクロ画像に変換した後に前記カラー変換手段によって再度カラー画像に変換して、カラー化結果を解析する解析手段と、前記解析手段による解析結果に基づいて、前記カラー判定手段によってカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用するかを決定する決定手段とを備えることを特徴とする。
本発明によれば、カラー化処理における機械学習に利用する学習サンプルを好適に選択し、効率よく機械学習を行うことができる。
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確立されるのであって、以下の個別の実施形態によって限定されるわけではない。
<第1の実施形態>
<システム構成>
以下では、本発明の第1の実施形態について説明する。本発明に係る一実施形態としてMFPを用いて説明する。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。
<システム構成>
以下では、本発明の第1の実施形態について説明する。本発明に係る一実施形態としてMFPを用いて説明する。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。
まず、図1を参照して本実施形態に係るシステムの構成を説明する。本システムは、MFP101、PC102、及びサーバ103を含む、各装置はLAN104を介して通信可能に接続される。なお、これらの接続は無線接続でも有線接続で実現されてもよい。同図において、101はMFPであって、LAN104上の他の機器と通信する。LAN(Local Area Network)104は、MFP101やPC102、サーバ103を相互に接続して通信を可能にする。物理層及びリンク層にEthernetを利用するのが一般的である。なお、説明を簡略化するため各装置が1台のみシステムに含まれる例で説明するが、各装置が複数台設けられるシステムであっても本発明を適用することは可能である。
MFP101は、モノクロ画像をカラー画像に変換するカラー化処理を実行する画像処理装置、画像読取装置、及び画像形成装置の一例である。当該カラー化処理は、MFP101が提供するコピー、印刷、ファクシミリ送信、SEND等に係る画像処理に利用されうる。変換対象となるモノクロ画像は、外部装置であるPC102やサーバ103から入力されてもよいし、MFP101のスキャナによって得られた画像データでもよい。PC102は、MFP101を利用する情報処理装置であり、画像処理対象の画像データをMFP101にLAN104を介して送信したり、MFP101から画像データを受信する。
サーバ103は、MFP101の機械学習を支援する機能を少なくとも有する装置である。例えば、LAN104に複数のMFPが接続されている場合には、各MFPの機械学習内容である学習サンプルを収集して管理し、当該学習サンプルを各MFPへ提供することなどを行う。
<画像処理装置の構成>
次に、図2を参照して、本実施形態に係るMFP101の構成を説明する。MFP101は、CPU201、DRAM202、操作部203、ネットワークI/F(インタフェース)204、プリンタ部205、スキャナ部206、FAX207、HDD208、画像処理部211、フラッシュROM212、シリアルI/F213を備える。各モジュールは、システムバス209を介して接続され、相互に信号を伝達することができる。
次に、図2を参照して、本実施形態に係るMFP101の構成を説明する。MFP101は、CPU201、DRAM202、操作部203、ネットワークI/F(インタフェース)204、プリンタ部205、スキャナ部206、FAX207、HDD208、画像処理部211、フラッシュROM212、シリアルI/F213を備える。各モジュールは、システムバス209を介して接続され、相互に信号を伝達することができる。
CPU(Central Processing Unit)201は、MFP101全体の制御を司る。DRAM(Dynamic Random Access Memory)202は、CPU201で実行されるプログラムを格納すると共に一時的なデータのワークエリアとして機能する。操作部203は、シリアルI/F213を介してCPU201にユーザによる操作入力を通知する。
ネットワークI/F204は、LAN104と接続して外部装置と通信を行う。プリンタ部205は、画像データを紙面等の記録媒体上に印字する。スキャナ部206は、紙面上の画像を光学的に読み取って電気信号に変換し、スキャン画像データを生成して出力する。FAX207は、公衆回線210と接続して外部装置とファクシミリ通信を行う。HDD(Hard Disk Drive)208は、CPU201で実行されるプログラムを格納すると共にプリントジョブやスキャンジョブ等のスプール領域としても利用される。210は公衆回線であり、FAX207と外部装置を相互接続する。
画像処理部211は、ネットワークI/F204で受信したプリントジョブをプリンタ部205で印刷するのに適した画像データへの変換処理と、スキャナ部206で読み取ったスキャン画像に施す画像処理とを実行する。また、画像処理部211は、LAN104からネットワークI/F204を経由し外部装置から受信した画像データ(PDLコード)をビットマップデータに展開する。さらに、画像処理部211は、プリンタ部205で画像データを印字するための前処理としての画像処理を行う。画像処理部211での詳細な処理については後述する。
フラッシュROM(FLASH Read Only Memory)212は、CPU201で実行されるプログラムを格納する。さらに、フラッシュROM212は、MFP101のデフォルト設定値、ユーザごとのデフォルト設定値、及び一時的なカスタム設定値(以降、まとめてデフォルト設定値と称する。)等を記憶する。シリアルI/F213は、操作部203とシステムバス209とを相互接続する。
<画像処理部の構成>
次に、図3を参照して、本実施形態に係る画像処理部211の制御構成を説明する。画像処理部211は、システムバスI/F301、スキャン画像処理部302、レンダリング処理部303、プリント画像処理部304、カラー判定部305、モノクロ変換部306、及びカラー変換部307を備える。各モジュールは、信号バス308を介して接続され、相互に信号を伝達することができる。システムバスI/F301は、システムバス209と信号バス308のプロトコル変換や調停を行い画像処理部211の各モジュールとシステムバス209に接続された各モジュールを相互接続させることができる。
次に、図3を参照して、本実施形態に係る画像処理部211の制御構成を説明する。画像処理部211は、システムバスI/F301、スキャン画像処理部302、レンダリング処理部303、プリント画像処理部304、カラー判定部305、モノクロ変換部306、及びカラー変換部307を備える。各モジュールは、信号バス308を介して接続され、相互に信号を伝達することができる。システムバスI/F301は、システムバス209と信号バス308のプロトコル変換や調停を行い画像処理部211の各モジュールとシステムバス209に接続された各モジュールを相互接続させることができる。
スキャン画像処理部302は、スキャナ部206で読み取ったスキャン画像データに施すシェーディング補正処理やMTF補正処理、入力ガンマ補正やフィルタ処理といった画像処理を実行する。さらに、スキャン画像処理部302は、ノイズ除去や色空間変換、回転、圧縮等の処理も実行する。レンダリング処理部303は、LAN104からネットワークI/F204及びシステムバスI/F301を経由し外部装置から受信した画像データ(PDLコード)をビットマップデータに展開する。
プリント画像処理部304は、プリンタ部205で画像データを印字するための前処理としての画像処理を実行する。具体的には、プリント画像処理部304が実行する画像処理には、RGBをCMYKに変換する色空間変換処理やディザ法や誤差拡散法による中間調処理、ガンマ補正などが含まれる。画像処理後の画像データはプリンタ部205へ出力される。プリント画像処理部304は、プリンタ部205の起動及び給紙に合わせてプリンタ部205へ画像データを出力する必要がある。そのため、プリント画像処理部304は、画像データの出力タイミングまでの待ち合わせ用のバッファとしてDRAM202へ画像データを一時的に書き込む。そして、プリント画像処理部304は、記録媒体の給紙のタイミングに同期させて、DRAM202から画像データを読み込み、プリンタ部205へ出力する。
カラー判定部305は、スキャン画像処理部302で処理した画像がカラー画像かモノクロ画像かの判定を行う。モノクロ変換部306は、スキャン画像処理部302で処理したカラー画像をモノクロ画像に変換する。モノクロ変換は、カラー画像の画素毎にRGBのコンポーネントを演算することによって算出された値をモノクロ画像の画素値として変換する方式である。
カラー変換部307は、スキャン画像処理部302で処理したモノクロ画像をカラー画像に変換するカラー化処理を実行する。図7に本処理の模式図を一例として示す。図7に示すConvとは、畳み込みの処理であり、Poolとは、プーリングの処理である。図7では4つのConvとPoolで処理が構成される例である。まず、入力画像としては輝度画像(モノクロ画像)を使用する。これをConv_1に入力して畳み込み処理を行い、続いてPool_1に入力してプーリング処理を行う。その後、次々と各ConvとPoolで処理を実行する。Pool_4の処理が完了すると、Lab空間のab空間にマッピングされたab画像が生成される。これを輝度画像とともにカラー画像に変換することによってカラー変換するものである。各Convの畳み込みのパラメータは学習によって決定されるものであり、詳細については後述する。学習はCPU201又は不図示のGPU等によって行われる。なお、図7に示した構成は一例であって限定するものではない。
<カラー変換コピー処理>
図4を参照して、基本的なスキャン画像をカラー変換して印字させるコピー処理について説明する。以下で説明する処理は、例えばCPU201がフラッシュROM212に格納されたプログラムをDRAM202に読み出して実行することにより実現される。
図4を参照して、基本的なスキャン画像をカラー変換して印字させるコピー処理について説明する。以下で説明する処理は、例えばCPU201がフラッシュROM212に格納されたプログラムをDRAM202に読み出して実行することにより実現される。
S401で、CPU201は、スキャナ部206において原稿を読み取らせ、スキャナ部206から出力された画像データをDRAM202に記憶する。続いて、S402で、スキャン画像処理部302は、S401で読み取った画像データに対して、予めフラッシュROM212に記憶されている設定値に基づいてスキャン画像処理を実行し、S403へ進む。なお、ここでは、スキャナ部206において原稿を読み取ってページ単位の画像データを入力する例について説明するが、本発明はこれに限定されず、例えば、PC102等の外部装置からページ単位の画像データを入力してもよい。
S403で、カラー判定部305は、S402でスキャン画像処理した画像データがモノクロ画像かカラー画像かを判定する。モノクロ画像と判定した場合はS405へ進み、カラー画像と判定した場合はS404へ進む。S404で、画像処理部211は、CPU201に対して学習処理通知を行う。学習処理通知が行われると、CPU201は、並行して後述する学習処理フローを実行する。
一方、モノクロ画像と判定した場合はS405で、画像処理部211は、カラー変換条件が満たされているか否かの実行判定を行う。カラー変換条件について詳細に説明する。ここで、カラー変換条件は、ユーザによってカラー変換処理を意図した設定が行われていれば満足される。図8に操作部203の画面例を示す。画面801及び画面802には、ユーザ入力に従って、コピーの出力モードを設定する設定画面を示している。本出力モードの設定画面では、「フルカラー」の出力の指定、「白黒→カラー」の出力の指定が行うことでカラー変換条件が満たされるものとする。S405では、S403で既に原稿がモノクロであると判定された後であるため、入力原稿がモノクロであるが、出力モードがカラーになっているため、カラー変換処理が必要であると判断する。また、画面803には、ユーザ入力によってコピーの機能設定を行う画面を示しており、「白黒カラー変換」の機能ボタンを表示している。ユーザは本ボタンを押下することでも、白黒カラー変換機能の指定を行うことができる。押下後に遷移する画面は、画面804である。画面804は、既に白黒カラー変換モードがONとなっている。この設定の場合は、カラー変換処理が行われる。以上説明したように、ユーザの指定した設定と原稿のモノクロカラー判定結果に応じて、適切にカラー変換処理が実施されるように処理フローは構成される。カラー変換条件を満たす場合S406へ進み、カラー変換条件を満たさない場合S407へ進む。
S406で、カラー変換部307は、S402でスキャン画像処理した画像データに対してカラー化処理を実行し、S407に進む。カラー化処理が実行された画像データは、カラー画像データとなる。画像処理部211は、カラー画像データをDRAM202に格納する。
S407で、プリント画像処理部304は、DRAM202に格納される画像データを、予めフラッシュROM212に記憶されている設定値に基づいてプリント画像処理を実行する。その後、プリンタ部205は、プリント画像処理が行われた画像データに従って印字した記録媒体を機外へ出力し、本フローチャートを終了する。
<学習処理>
次に、図5を参照して、S404で学習処理通知が発行された場合に対してカラー変換部を生成して更新する処理手順を説明する。以下で説明する処理は、例えばCPU201がフラッシュROM212に格納されたプログラムをDRAM202に読み出して実行することにより実現される。
次に、図5を参照して、S404で学習処理通知が発行された場合に対してカラー変換部を生成して更新する処理手順を説明する。以下で説明する処理は、例えばCPU201がフラッシュROM212に格納されたプログラムをDRAM202に読み出して実行することにより実現される。
S501で、CPU201は、スキャン画像処理部302で処理されてDRAM202にスプールされているカラー画像データを学習サンプルの期待画像としてHDD208に保存する。ここでは、ファイルサイズを小さくするために不図示の圧縮処理部でJPEGなどのフォーマットに圧縮するものとする。
次に、S502で、モノクロ変換部306は、DRAM202から読み出したカラーオブジェクト画像データに対して、モノクロ画像データに変換しDRAM202にスプールする。なお、ここでは、DRAM202にスプールされているカラーオブジェクト画像データをモノクロ画像データに変換するのではなく、そのコピーをモノクロ画像データへ変換することが望ましい。
次に、S503で、カラー変換部307は、S502で変換されたモノクロ画像データを、カラー画像に復元する。続いて、S504で、CPU201は、S503で復元されたカラー画像と、S501において保存された期待画像を用いて、カラー化の結果を解析する。ここでいう結果の解析とは、カラー変換部307が学習サンプル画像を上手くカラー変換できたかどうかを解析することである。S504の処理の詳細については図10を用いて後述する。
次に、S505で、CPU201は、S504の解析結果より、カラー化が成功したかどうかを判断する。カラー化が成功したと判断した場合には、以降の学習ステップをスキップして本フローチャートを終了する。一方、カラー化が失敗したと判断した場合には、S506に進み、以降の学習ステップを行う。
S506で、CPU201は、S502でモノクロ変換処理されてDRAM202にスプールされているモノクロ画像データを学習サンプルの入力画像としてHDD208に保存する。ここでは、ファイルサイズを小さくするために不図示の圧縮処理部でJPEGなどのフォーマットに圧縮するものとする。
次に、S507で、CPU201は、S501、S503で格納した画像ファイル(期待画像及び入力画像)の情報を学習テーブルに追加し、S508に進む。図6に学習テーブルを示す。学習テーブル600は、HDD208に保存され、オブジェクト画像ごとに、学習サンプルの入力画像へのパス601と、期待画像へのパス602とを紐づけて格納する。
S508で、CPU201は、S507で生成した学習テーブル600に記載された画像を用いて学習処理を実行する。上述したように、カラー変換部307は図7の例で示したように、複数の処理部(Conv、Pool)によって構成される。上記学習処理では、これらの処理部に展開されている各Conv/Poolのパラメータを学習により更新していく。学習処理では、学習テーブルの入力画像Xと期待画像Dの対を学習サンプルとし、その集合体である学習データ(X,D)を用いる。学習処理において、CPU201は、まず学習サンプルの入力画像に対してカラー化処理を実行した出力画像と期待画像の乖離を誤差関数により評価する。続いて、CPU201は、その評価値をバックプロパゲーションにより複数のConv、Poolのパラメータにフィードバックを与えることで更新を行う。図7の例では、Conv_1、Pool_1、Conv_2、Pool_2、Conv_3、Pool_3、及びConv_4、及びPool_4のパラメータを学習により更新していくものである。なお、各パラメータは、MFPの開発段階で与えられた学習データによって決定されたものを初期状態として組み込まれているものとする。このパラメータをユーザ環境で適宜更新していくことになる。
次に、S509で、CPU201は、カラー変換部307を更新する。具体的には、CPU201は、S508で学習により更新された各処理部のパラメータをカラー変換部307の処理部に設定することで実現されるものである。なお、MFPは画像処理部211が動作している場合は動作完了するまで待機し、動作完了後に更新するのは言うまでもない。
<カラー化結果の解析処理>
次に、図9及び図10を参照して、カラー化結果の解析処理について説明する。図9は、S504におけるカラー化結果の解析処理の概念を示す。図9(a)は、S501で保存された学習サンプルの期待画像をYUV色空間で表現したときの、色差U又は色差V(横軸)のヒストグラムを示す。縦軸は各色差値U又は各色差値Vの頻度を示す。本実施形態では、U,Vそれぞれの色差を10レベルに量子化し、0から9までの計10レベルの頻度としてヒストグラムを算出している。図9(b)及び図9(c)は、S503でモノクロからカラーに復元された画像のヒストグラムの例を示す。図9(a)の期待画像のヒストグラムと、図9(b)の復元画像のヒストグラムを比較してみると、非常に類似していることがわかる。一方で、図9(a)の期待画像のヒストグラムと、図9(c)のヒストグラムを比較してみると、類似していない。このように、CPU201は、色差値のヒストグラムを期待画像と比較することにより、類似している場合にはカラー変換が成功したと判断する。一方で、CPU201は、類似していない場合はカラー変換が失敗したと判断する。なお、ヒストグラムの類似度を測る方法としては、ユークリッド距離やピアソンの積率相関係数などの一般的に知られる方法で求めることが可能であるため、詳細な説明は省略する。
次に、図9及び図10を参照して、カラー化結果の解析処理について説明する。図9は、S504におけるカラー化結果の解析処理の概念を示す。図9(a)は、S501で保存された学習サンプルの期待画像をYUV色空間で表現したときの、色差U又は色差V(横軸)のヒストグラムを示す。縦軸は各色差値U又は各色差値Vの頻度を示す。本実施形態では、U,Vそれぞれの色差を10レベルに量子化し、0から9までの計10レベルの頻度としてヒストグラムを算出している。図9(b)及び図9(c)は、S503でモノクロからカラーに復元された画像のヒストグラムの例を示す。図9(a)の期待画像のヒストグラムと、図9(b)の復元画像のヒストグラムを比較してみると、非常に類似していることがわかる。一方で、図9(a)の期待画像のヒストグラムと、図9(c)のヒストグラムを比較してみると、類似していない。このように、CPU201は、色差値のヒストグラムを期待画像と比較することにより、類似している場合にはカラー変換が成功したと判断する。一方で、CPU201は、類似していない場合はカラー変換が失敗したと判断する。なお、ヒストグラムの類似度を測る方法としては、ユークリッド距離やピアソンの積率相関係数などの一般的に知られる方法で求めることが可能であるため、詳細な説明は省略する。
図10は、図9で述べた、S504におけるカラー化結果の解析処理の処理手順を示す。以下で説明する処理は、例えばCPU201がフラッシュROM212に格納されたプログラムをDRAM202に読み出して実行することにより実現される。
S1001で、CPU201は、期待画像の色差ヒストグラムを、期待画像の画素値を用いて取得する。続いて、S1002で、CPU201は、復元画像の色差ヒストグラムを復元画像の画素値を用いて取得する。
次に、S1003で、CPU201は、両者のヒストグラムの類似度を算出し、S504の処理を終了してS505へ進む。S505で、CPU201は、S504で算出した類似度を予め定められた閾値と比較することでカラー化が成功したかどうかを判断する。
<解析処理の変形例>
ここで、図11を参照して、カラー化結果の解析処理における変形例について説明する。図11は、S504におけるカラー化結果の解析処理の別の形態の処理手順を示す。以下で説明する処理は、例えばCPU201がフラッシュROM212に格納されたプログラムをDRAM202に読み出して実行することにより実現される。
ここで、図11を参照して、カラー化結果の解析処理における変形例について説明する。図11は、S504におけるカラー化結果の解析処理の別の形態の処理手順を示す。以下で説明する処理は、例えばCPU201がフラッシュROM212に格納されたプログラムをDRAM202に読み出して実行することにより実現される。
S1101で、CPU201は、復元画像の色差ヒストグラムを、復元画像の画素値を用いて取得する。続いて、S1102で、CPU201は、S1101で取得したヒストグラムの分散値を算出し、S504の処理を終了してS505へ進む。S505で、CPU201は、S504で算出した分散値を予め定められた閾値と比較することでカラー化が成功したかどうかを判断する。
即ち、復元された画像の色差ヒストグラムの分散値が大きい場合、原画像と色味は異なるが、モノクロ画像に対して複数色でカラー化することができたと判断する。なお、オフィス文章に含まれるグラフやテキストは、一般的に自然画とは違い、本来の色味と異なっても見やすさは変わらない場合も多い。このような判断方法は、期待画像と復元画像のヒストグラムを比較する方法に対して簡易的な方法になるが、ヒストグラム算出や比較にかかる演算リソースを少なく抑えることができるという格別の効果を奏する。
以上説明したように、本実施形態の画像処理装置は、ページ単位の画像データを入力し、入力された画像データがカラー画像であるかモノクロ画像であるかを判定する。また、本画像処理装置は、複数の処理部を備えるカラー変換部において、モノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行する。さらに、本画像処理装置は、カラー画像と判定された場合に、当該カラー画像の画像データを、一旦モノクロ画像に変換した後に再度カラー画像に変換した、カラー化結果に基づいて、当該画像データを学習サンプルとして利用するかを決定する。これにより、本実施形態によれば、ユーザ環境において好適に学習サンプルを生成することが可能である。また、学習サンプルが生成されると、複数の処理部で構成されるカラー変換部のパラメータを再度学習し直し、ユーザのよく使用される原稿パターンや使用色のパターンなどに沿ったカラー変換処理部を構築することが可能となる。さらに、カラー化が上手くいかない画像を学習サンプルとして選び、カラー化が上手くいく画像は学習させないという処理を行うことで、学習をより効果的に行うことが可能になる。即ち、機械学習では学習データの選び方によって学習の進行具合が変化するため、ユーザ環境において上手くカラー化できない原稿データを集中的に学習データとして選ぶことで、学習の進行を加速させることが可能となる。
<第2の実施形態>
以下では、本発明の第2の実施形態について説明する。上記第1の実施形態では、上手くカラー化ができない原稿データのみに限定して学習を行っていた。このような学習方法は、学習の進行を加速させることができる一方、上手くカラー化できる原稿データは一切学習を行わない。そのため、上手くカラー化できない原稿の特徴に学習モデルが影響を受けすぎる懸念がある。そこで、本実施形態では、上手くカラー化できない原稿を用いて効果的に学習を進めつつ、上手く学習できる原稿も学習させることで、学習モデルの偏りを抑える仕組みについて説明する。
以下では、本発明の第2の実施形態について説明する。上記第1の実施形態では、上手くカラー化ができない原稿データのみに限定して学習を行っていた。このような学習方法は、学習の進行を加速させることができる一方、上手くカラー化できる原稿データは一切学習を行わない。そのため、上手くカラー化できない原稿の特徴に学習モデルが影響を受けすぎる懸念がある。そこで、本実施形態では、上手くカラー化できない原稿を用いて効果的に学習を進めつつ、上手く学習できる原稿も学習させることで、学習モデルの偏りを抑える仕組みについて説明する。
<学習の重み付け>
図12を参照して、本実施形態における、カラー化結果の解析によって得られた期待画像と復元画像の類似度をもとに、学習の重みを決定する処理を説明する。図12(a)では、類似度を4レベル(0〜S1、S1〜S2、S2〜S3、S3〜1)に量子化した時の、それぞれの類似度レベル(横軸)と、学習重みw0からw3(縦軸)の対応を表す図である。
図12を参照して、本実施形態における、カラー化結果の解析によって得られた期待画像と復元画像の類似度をもとに、学習の重みを決定する処理を説明する。図12(a)では、類似度を4レベル(0〜S1、S1〜S2、S2〜S3、S3〜1)に量子化した時の、それぞれの類似度レベル(横軸)と、学習重みw0からw3(縦軸)の対応を表す図である。
類似度のレベルが0〜S1の間の画像は、ヒストグラムが類似していない、すなわち上手くカラー化できていない画像であることを示している。よって、学習重みも最も高いw3を割り当てている。類似度レベルがS1〜S2の間の画像では、学習重みがw3に次いで高いw2を割り当て、S2〜S3はw1、S3〜1はw0をそれぞれ割り当てる。本実施形態では、上記第1の実施形態のように類似度を閾値比較して学習するか否かの二通りではなく、それぞれの類似度に応じて段階的に学習重みを割り当てて学習を行う。
図12(b)は、図12(a)で割り当てられた重みと、実際に学習を行うための学習割合との関係を示す。学習割合とは、ある重みが割り当てられた画像を、どの程度の割合で学習させるかを表している。図12(b)では、重みw0は10枚の画像のうち2枚の画像を学習させ、残りの8枚の画像は学習させない。同様に、重みw1では10枚中4枚、重みw2では10枚中7枚、重みw3では10枚中10枚を学習させる。本実施形態では、この学習割合の分母をPage_baseと表し、分子をPage_thと表す。
<学習処理>
次に、図13を参照して、本実施形態に係る、S404で学習処理通知が発行された場合に対してカラー変換部を生成して更新する処理手順を説明する。以下で説明する処理は、例えばCPU201がフラッシュROM212に格納されたプログラムをDRAM202に読み出して実行することにより実現される。なお、上記第1の実施形態で説明した図5の処理と同様の処理については説明を省略する。
次に、図13を参照して、本実施形態に係る、S404で学習処理通知が発行された場合に対してカラー変換部を生成して更新する処理手順を説明する。以下で説明する処理は、例えばCPU201がフラッシュROM212に格納されたプログラムをDRAM202に読み出して実行することにより実現される。なお、上記第1の実施形態で説明した図5の処理と同様の処理については説明を省略する。
S1301乃至S1304の各処理は、上記第1の実施形態におけるS501乃至S504の各処理と同様である。S1305で、CPU201は、S1304で求めた解析結果に従って、図12(a)で説明したように学習重み(w0、w1、w2、w3)を決定し、図12(b)で説明したように学習割合を決定する。学習割合については、図12(b)に示すテーブルをHDD208等に予め保持しておき、当該テーブルを読み出して取得することにより、決定してもよい。続いて、S1306で、CPU201は、重みw(n)の画像の現在の学習済み枚数w(n)_learn_countがPage_thよりも少ないかどうかを判断する。なおnは0から3の自然数であり、w(n)は重みw0からw3のいずれかを表す。カウンタ値w(n)_learn_countについては、不揮発性の記憶部に記憶される。ここで、現在の学習済み枚数w(n)_learn_countがPage_thよりも少ない場合にはS1307へ進んで学習処理を実行し、多い場合にはS1312へと進む。なお、S1307乃至S1310の学習処理は、上記第1の実施形態におけるS506乃至S509の各処理と同様である。
S1310の処理に続いてS1311に進み、CPU201は、現在の学習済み枚数w(n)_learn_countを1インクリメントし、S1312に進む。
S1312で、CPU201は、重みw(n)について、現在何枚処理したかを表すw(n)_total_countを1インクリメントする。ここでは、S1306で、現在の学習済み枚数w(n)_learn_countがPage_thよりも多いと判断した場合も1インクリメントする。続いて、S1313で、CPU201は、w(n)_total_countがPage_base以上であるかを判断し、もしPage_baseよりも大きい場合はS1314へ進む。一方、w(n)_total_countがPage_base未満の場合は本フローチャートの処理を終了する。S1314で、CPU201は、カウンタw(n)_learn_countとw(n)_total_countとをゼロクリアし、本フローチャートの処理を終了する。
なお、本フローチャートにおけるカウンタ値w(n)_learn_countとw(n)_total_countは、本フローチャートの処理が終了した後もDRAM202又はHDD208に保持される。これは、次に本フローチャートの処理が開始されたときに再度参照されるためである。このように、カウンタを用いることで、S1305で決定した学習割合となるように学習するかどうかを各重みごとに制御することが可能となる。
以上説明したように、本実施形態に係る画像処理装置は、解析結果をレベル分けして重み付けする。さらに、本画像処理装置は、レベル分けされた重みと、予め定められた、重みに対応する学習割合とに応じて、当該画像データを学習サンプルとして利用するか否かを決定する。本実施形態によれば、上手くカラー化ができない原稿データの学習の進行を加速させつつ、上手く学習できる原稿も学習させることで、学習モデルの偏りを抑えることが可能となる。なお、本実施形態では、類似度に応じた重み付けを説明したが、上記第1の実施形態における変形例で説明した分散値にも適用することができる。この場合、類似度と同様に分散値をレベル分けして、重み付けし、他の処理は類似度と同様に行うことができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101:MFP、201:CPU、202:DRAM、203:操作部、204:ネットワークI/F、205:プリンタ部、206:スキャナ部、207:FAX、208:HDD、209:システムバス、211:画像処理部、212:フラッシュROM、213:システムI/F、305:カラー判定部、306:モノクロ変換部、307:カラー変換部
Claims (12)
- 画像処理装置であって、
ページ単位の画像データを入力する入力手段と、
前記入力手段によって入力された画像データがカラー画像であるかモノクロ画像であるかを判定するカラー判定手段と、
複数の処理部を備え、前記カラー判定手段によってモノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行するカラー変換手段と、
前記カラー判定手段によってカラー画像と判定された場合に、該カラー画像の画像データを、一旦モノクロ画像に変換した後に前記カラー変換手段によって再度カラー画像に変換して、カラー化結果を解析する解析手段と、
前記解析手段による解析結果に基づいて、前記カラー判定手段によってカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用するかを決定する決定手段と
を備えることを特徴とする画像処理装置。 - 前記解析手段は、
前記カラー判定手段によってカラー画像と判定された画像データから色差ヒストグラムを取得し、
前記カラー変換手段によって再度カラー画像に変換した画像データから色差ヒストグラムを取得し、
取得した2つの色差ヒストグラムの類似度を前記解析結果として取得することを特徴とする請求項1に記載の画像処理装置。 - 前記解析手段は、
前記カラー変換手段によって再度カラー画像に変換した画像データから色差ヒストグラムを取得し、
取得した色差ヒストグラムの分散値を前記解析結果として取得することを特徴とする請求項1に記載の画像処理装置。 - 前記決定手段は、
前記解析結果と、予め定められた閾値とを比較して、前記カラー化処理が成功したか否かを判断し、
前記カラー化処理が失敗したと判断すると、前記カラー判定手段によってカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用すると決定することを特徴とする請求項2又は3に記載の画像処理装置。 - 前記解析結果をレベル分けして重み付けする手段をさらに備え、
前記決定手段は、
前記レベル分けされた重みと、予め定められた、該重みに対応する学習割合とに応じて、前記カラー判定手段によってカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用するか否かを決定することを特徴とする請求項2又は3に記載の画像処理装置。 - 前記カラー化処理を実行するか否かを、ユーザ入力に従って設定する設定手段と、
前記設定手段によって設定された情報に従って、前記カラー変換手段による前記カラー化処理を実行するか否かを判定する実行判定手段と
をさらに備えることを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。 - 前記カラー変換手段は、前記実行判定手段によって前記カラー化処理を実行すると判定され、かつ、前記カラー判定手段によってモノクロ画像と判定された場合に、前記カラー化処理を実行することを特徴とする請求項6に記載の画像処理装置。
- 前記決定手段によって学習サンプルとして利用すると決定されたカラー画像の画像データを学習サンプルの期待画像として、該カラー画像をモノクロ画像に変換した画像データを学習サンプルの入力画像として紐づけて格納する学習テーブルを記憶する記憶手段をさらに備えることを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
- 前記学習テーブルにおける入力画像に対して、前記カラー変換手段による前記カラー化処理を実行した出力画像と、該入力画像に対応して前記学習テーブルに格納されている前記期待画像との乖離を誤差関数により評価し、その評価値を前記複数の処理部で使用される、前記カラー化処理に関わるパラメータへのフィードバックとして利用し、該パラメータを更新する学習手段をさらに備えることを特徴とする請求項8に記載の画像処理装置。
- 前記入力手段は、原稿から画像を読み取る読取手段を備えることを特徴とする請求項1乃至9の何れか1項に記載の画像処理装置。
- 画像処理装置の制御方法であって、
入力手段が、ページ単位の画像データを入力する入力工程と、
カラー判定手段が、前記入力工程で入力された画像データがカラー画像であるかモノクロ画像であるかを判定するカラー判定工程と、
複数の処理部を備えるカラー変換手段が、前記カラー判定工程でモノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行するカラー変換工程と、
解析手段が、前記カラー判定工程でカラー画像と判定された場合に、該カラー画像の画像データを、一旦モノクロ画像に変換した後に前記カラー変換手段によって再度カラー画像に変換して、カラー化結果を解析する解析工程と、
決定手段が、前記解析工程による解析結果に基づいて、前記カラー判定工程でカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用するかを決定する決定工程と
を含むことを特徴とする画像処理装置の制御方法。 - 画像処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
入力手段が、ページ単位の画像データを入力する入力工程と、
カラー判定手段が、前記入力工程で入力された画像データがカラー画像であるかモノクロ画像であるかを判定するカラー判定工程と、
複数の処理部を備えるカラー変換手段が、前記カラー判定工程でモノクロ画像と判定された場合に、モノクロ画像をカラー画像に変換するカラー化処理を実行するカラー変換工程と、
解析手段が、前記カラー判定工程でカラー画像と判定された場合に、該カラー画像の画像データを、一旦モノクロ画像に変換した後に前記カラー変換手段によって再度カラー画像に変換して、カラー化結果を解析する解析工程と、
決定手段が、前記解析工程による解析結果に基づいて、前記カラー判定工程でカラー画像と判定された画像データを、前記複数の処理部で使用される、前記カラー化処理に関わるパラメータの学習サンプルとして利用するかを決定する決定工程と
を含むことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018037727A JP2019153917A (ja) | 2018-03-02 | 2018-03-02 | 画像処理装置、その制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018037727A JP2019153917A (ja) | 2018-03-02 | 2018-03-02 | 画像処理装置、その制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019153917A true JP2019153917A (ja) | 2019-09-12 |
Family
ID=67947096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018037727A Pending JP2019153917A (ja) | 2018-03-02 | 2018-03-02 | 画像処理装置、その制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019153917A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021161454A1 (ja) * | 2020-02-13 | 2021-08-19 | ||
US12034900B2 (en) | 2020-02-13 | 2024-07-09 | Nec Corporation | Image processing system, image processing method, and non-transitory computer readable medium for generating a colorized image |
-
2018
- 2018-03-02 JP JP2018037727A patent/JP2019153917A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021161454A1 (ja) * | 2020-02-13 | 2021-08-19 | ||
WO2021161454A1 (ja) * | 2020-02-13 | 2021-08-19 | 日本電気株式会社 | 画像処理システム、画像処理方法および非一時的なコンピュータ可読媒体 |
JP7444179B2 (ja) | 2020-02-13 | 2024-03-06 | 日本電気株式会社 | 画像処理システム、画像処理方法および画像処理プログラム |
US12034900B2 (en) | 2020-02-13 | 2024-07-09 | Nec Corporation | Image processing system, image processing method, and non-transitory computer readable medium for generating a colorized image |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11436762B2 (en) | Image processing system, image processing method, and image processing apparatus | |
JP5910097B2 (ja) | 画像検査装置、画像形成装置、及び画像検査プログラム | |
JP2019145030A (ja) | 画像処理装置、画像形成装置、画像処理方法、及びプログラム | |
JP2010213257A (ja) | 装置、方法、プログラム | |
JP7338002B2 (ja) | 画像処理装置および画像処理方法、およびプログラム | |
JP2019153917A (ja) | 画像処理装置、その制御方法、及びプログラム | |
US9716810B2 (en) | Image processing apparatus configured to perform smoothing based on analysis of PDL data, and storage medium storing program therefor | |
JP2022030055A (ja) | 画像処理装置及び画像処理方法、プログラム | |
JP5335305B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP6015173B2 (ja) | 印刷サーバ、印刷システム、印刷処理方法およびプログラム | |
JP2006044169A (ja) | 印刷装置、及びその制御方法 | |
JP2019140538A (ja) | 画像処理装置、画像形成装置、画像処理方法、及びプログラム | |
JP2019153061A (ja) | 画像処理装置、その制御方法、及びプログラム | |
JP2004146914A (ja) | インク消費量削減方法,インク消費量削減装置およびインク消費量削減プログラム | |
US8437046B2 (en) | Image processing apparatus and method for outputting an image subjected to pseudo-halftone processing | |
JP4517987B2 (ja) | 画像処理方法及び画像処理装置 | |
JP5992956B2 (ja) | 画像処理装置 | |
JP5389096B2 (ja) | 装置及びその制御方法 | |
JP6413783B2 (ja) | 印刷指示装置、印刷システムおよびプログラム | |
JP2011228987A (ja) | 画像処理装置及び画像処理プログラム | |
JP2022029840A (ja) | 画像処理装置及び画像処理方法、プログラム | |
JP2009267444A (ja) | 画像圧縮方法、画像圧縮装置、画像処理装置、画像形成装置、コンピュータプログラム及び記録媒体 | |
JP2021150855A (ja) | 画像処理装置とその制御方法、及びプログラム | |
JP2016178516A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2012151736A (ja) | 画像検査装置、画像形成装置、及び画像検査プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |