JP2019140538A - 画像処理装置、画像形成装置、画像処理方法、及びプログラム - Google Patents
画像処理装置、画像形成装置、画像処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2019140538A JP2019140538A JP2018022440A JP2018022440A JP2019140538A JP 2019140538 A JP2019140538 A JP 2019140538A JP 2018022440 A JP2018022440 A JP 2018022440A JP 2018022440 A JP2018022440 A JP 2018022440A JP 2019140538 A JP2019140538 A JP 2019140538A
- Authority
- JP
- Japan
- Prior art keywords
- image
- color
- conversion
- unit
- processing
- 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
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Abstract
【課題】従来、機械学習技術を用いたモノクロ画像をカラー画像に変換する処理において、カラー化処理の失敗を検出する手法がなく、失敗を修正する手段もない。【解決手段】画像処理装置であって、読取手段にて読み取られた原稿の画像データを取得する取得手段と、前記画像データからオブジェクトを検出する検出手段と、前記検出手段にて検出されたオブジェクトがカラー画像かモノクロ画像かを判定するカラー判定手段と、前記カラー判定手段にてモノクロ画像であると判定されたオブジェクトをカラー画像に変換する変換手段と、前記変換手段による変換後のオブジェクトの画像が所定の色味であるか否かを判定する判定手段と、前記判定手段により前記所定の色味でないと判定された変換後のオブジェクトの画像において、前記変換手段による変換前に単色であった領域が前記変換手段による変換後に複数の色にて構成される領域となった領域を特定する特定手段と、前記特定手段にて特定された領域の色を所定の色に置き換える修正手段とを有する。【選択図】 図4
Description
本発明は、画像処理装置、画像形成装置、画像処理方法、及びプログラムに関する。
従来、マルチファンクションプリンター(以後、MFPと呼ぶ)においてスキャナで読み取ったモノクロ画像をカラー画像に変換する画像処理(以後、カラー化処理と呼ぶ)がある。従来のカラー化処理は、入力したモノクロ画像を予め備えた処理アルゴリズムに基づきカラー画像に変換する。処理アルゴリズムは所定の設定値を備え、複数の設定値に基づきカラー化処理後の画像の見栄えを変更できる(例えば、特許文献1)。
一方、設定値を予め定めて画像処理を行う手法とは別に、所定の設定値を備えた処理モデルへの入力データと、それに対して期待する出力データとの誤差を評価し、誤差が最小となるように設定値を変更することで所望の処理を実現する機械学習による手法がある。近年では人の視野覚細胞の構成を模した畳み込みニューラルネットワーク(以後、CNNと呼ぶ)を用いた機械学習処理モデルにより高度な画像処理が行われている。カラー化処理の分野において、多数のモノクロ画像と期待するカラー画像との組をCNNに学習させることで多様な入力画像に対して精度良くカラー変換された出力画像結果が得られることが知られている(例えば、非特許文献1)。
飯塚 里志、他2名、"ディープネットワークを用いた大域特徴と局所特徴の学習による白黒写真の自動色付け"、[online]、平成28年、SIGGRAPH 2016、[平成29年12月26日検索]、インターネット
しかしながら、CNNを用いた機械学習技術に基づくカラー化処理においても、これまで学習した画像とは大きく異なる未知の入力画像に対してはカラー化が失敗する場合がある。例えば、CNNを用いたカラー化処理に失敗した場合、入力したモノクロ画像が完全なカラー画像とならずにセピア色になることある。更には、入力画像上で同一濃度の領域が出力画像上で同一色とならず、領域の一部に別の色がムラ状に混ざることある。
従来、このようなカラー化失敗を検出する手段がなかった。また、カラー化処理に失敗してしまうと、ユーザの目的とする画像が得られないという問題が生じ、カラー化処理でユーザに提供する品質の低下が生じてしまう。
上記を鑑み、本発明では、CNNを用いた機械学習技術に基づくカラー化処理の失敗を検出し、画像処理におけるユーザへ提供する品質の低下を回避することを目的とする。
上記課題を解決するために本発明は以下の構成を有する。すなわち、画像処理装置であって、読取手段にて読み取られた原稿の画像データを取得する取得手段と、前記画像データからオブジェクトを検出する検出手段と、前記検出手段にて検出されたオブジェクトがカラー画像かモノクロ画像かを判定するカラー判定手段と、前記カラー判定手段にてモノクロ画像であると判定されたオブジェクトをカラー画像に変換する変換手段と、前記変換手段による変換後のオブジェクトの画像が所定の色味であるか否かを判定する判定手段と、前記判定手段により前記所定の色味でないと判定された変換後のオブジェクトの画像において、前記変換手段による変換前に単色であった領域が前記変換手段による変換後に複数の色にて構成される領域となった領域を特定する特定手段と、前記特定手段にて特定された領域の色を所定の色に置き換える修正手段とを有する。
本発明により、機械学習技術に基づくカラー化処理の失敗を検出でき、品質の低下を回避することができる。
以下、本発明を実施するための形態について図面を用いて説明する。
<第1実施形態>
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は適宜省略する。
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は適宜省略する。
[システム構成]
図1は、本実施形態に係るシステム構成の例を示す図である。本システムにおいて、MFP101、PC102、サーバ103を含んで構成され、各装置は、LAN104を介して通信可能に接続されている。MFP101は、画像形成装置の一例であり、印刷機能やスキャナ機能などを有する装置である。PC102、サーバ103は、情報処理装置であり、必要に応じて、MFP101と連携して処理を実行する。LAN104のネットワーク構成は特に限定するものではなく、有線/無線も問わない。また、図1においては、各装置が1台ずつ示されているが、これに限定するものではない。
図1は、本実施形態に係るシステム構成の例を示す図である。本システムにおいて、MFP101、PC102、サーバ103を含んで構成され、各装置は、LAN104を介して通信可能に接続されている。MFP101は、画像形成装置の一例であり、印刷機能やスキャナ機能などを有する装置である。PC102、サーバ103は、情報処理装置であり、必要に応じて、MFP101と連携して処理を実行する。LAN104のネットワーク構成は特に限定するものではなく、有線/無線も問わない。また、図1においては、各装置が1台ずつ示されているが、これに限定するものではない。
[MFP]
図2は、本実施形態に係るMFP101のハードウェア構成の例を示す図である。CPU(Central Processing Unit)201は、MFP101全体の制御を司る。DRAM(Dynamic Random Access Memory)であり202は、CPU201で実行されるプログラムを格納すると共に一時的なデータのワークエリアとして機能する。操作部203は、シリアルI/F213を介してCPU201にユーザによる操作を通知する。ネットワークI/F204は、LAN104と接続して外部機器と通信を行う。プリンタ部205は、画像データに基づいて、記録媒体(例えば、紙)上に印刷を行う。スキャナ部206は、原稿に対する読取手段であり、記録媒体上の画像を光学的に読み取り電気信号に変換してスキャン画像を生成する。
図2は、本実施形態に係るMFP101のハードウェア構成の例を示す図である。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で実行されるプログラムを格納すると共にプリントジョブやスキャンジョブ等のスプール領域としても利用される。システムバス209は、各モジュールを相互に接続し、モジュール間の通信を行う。公衆回線210は、FAX207と外部機器を相互接続する。画像処理部211は、ネットワークI/F204を介して受信したプリントジョブをプリンタ部205で印刷するのに適した画像への変換処理や、スキャナ部206で読み取ったスキャン画像に対する画像処理を実行する。また、画像処理部211は、LAN104からネットワークI/F204を経由し外部装置から受信した画像データ(PDLコード)をビットマップデータに展開する。さらに画像処理部211は、プリンタ部205で画像データを印刷するための前処理としての画像処理を行う。画像処理部211の詳細は後述する。FLASH ROM(FLASH Read Only Memory)212は、CPU201で実行されるプログラムを格納すると共にMFP101のデフォルト設定値、ユーザごとのデフォルト設定値、一時的なカスタム設定値、等を記憶する。シリアルI/F213は、操作部203とシステムバス209を相互接続する。
(画像処理部)
図3は、本実施形態に係るMFP101が備える画像処理部211の内部構成の例を示す図である。図3において、システムバスI/F301は、システムバス209と信号バス310のプロトコル変換や調停を行い画像処理部211の各モジュールとシステムバス209に接続された各モジュールを相互接続する。スキャン画像処理部302は、スキャナ部206で読み取ったスキャン画像に施すシェーディング補正処理やMTF(Modulation Transfer Function)補正処理、入力ガンマ補正やフィルタ処理を行う。更には、これらに加え、スキャン画像処理部302は、ノイズ除去や色空間変換、回転、圧縮等の画像処理を行う。レンダリング処理部303は、外部装置から受信した画像データ(PDLコード)をビットマップデータに展開する。
図3は、本実施形態に係るMFP101が備える画像処理部211の内部構成の例を示す図である。図3において、システムバスI/F301は、システムバス209と信号バス310のプロトコル変換や調停を行い画像処理部211の各モジュールとシステムバス209に接続された各モジュールを相互接続する。スキャン画像処理部302は、スキャナ部206で読み取ったスキャン画像に施すシェーディング補正処理やMTF(Modulation Transfer Function)補正処理、入力ガンマ補正やフィルタ処理を行う。更には、これらに加え、スキャン画像処理部302は、ノイズ除去や色空間変換、回転、圧縮等の画像処理を行う。レンダリング処理部303は、外部装置から受信した画像データ(PDLコード)をビットマップデータに展開する。
プリント画像処理部304は、プリンタ部205で画像データを印刷するための前処理となる画像処理を行う。前処理として、具体的には、RGBをCMYKに変換する色空間変換処理やディザ法や誤差拡散法による中間調処理、ガンマ補正などが挙げられる。画像処理後の画像データは、プリンタ部205へ出力される。ここで、プリント画像処理部304は、プリンタ部205の起動および給紙に合わせてプリンタ部205へ画像データを出力するために、タイミング同期用のバッファであるDRAM202へ画像データを一時的に書き込む。そして、プリント画像処理部304は、記録媒体の給紙のタイミングと同期してDRAM202から画像データを読み込み、プリンタ部205へ出力する。
カラー判定部305は、スキャン画像処理部302で処理した画像がカラー画像かモノクロ画像かの判定を行う。ここでは、画像全体を画素毎に走査して得た画素を構成するR、G、Bの各コンポーネントの値から画素の色味を取得して積算し、色味の累計が所定値を超えていた場合、その画像はカラー画像であると判定する。一方、色味の累計が所定値以下であった場合、その画像はモノクロ画像であると判定する。モノクロ変換部306は、スキャン画像処理部302で処理したカラー画像の画素毎にRGBのコンポーネントを演算することによって算出された値をモノクロ画像の画素値とすることでモノクロ変換を行う。カラー変換部307は、スキャン画像処理部302で処理したモノクロ画像をカラー画像に変換する。本実施形態ではCNN(Convolutional Neural Network)で構成した機械学習技術に基づいて算出処理を行う処理モデルを用いる。カラー変換部307の詳細は後述する。
オブジェクト検出部308は、スキャン画像処理部302で処理されたスキャンデータの内部からオブジェクトを検出する。ここでオブジェクトとは、文字以外のイラストや図形、写真などの画像の領域を示す。しかし、これに限定するものではなく、例えば、文字であっても図形化されている場合には、オブジェクト(オブジェクト領域)として扱ってもよい。オブジェクト合成部309は、カラー変換部307でカラー変換したオブジェクトをオブジェクト検出部308で検出した領域に書き戻す。画像処理部211の信号バス310は、各モジュールを相互に接続して通信を行う。
[カラー変換コピー動作]
図4を用いてMFP101におけるカラー化処理として、スキャン画像をカラー変換して紙出力するコピー動作を説明する。以下の動作処理は、特に明記した場合を除いて、CPU201がFLASH ROM212に格納されたプログラムに基づき各処理部に指示を与えて処理を実行するものとする。
図4を用いてMFP101におけるカラー化処理として、スキャン画像をカラー変換して紙出力するコピー動作を説明する。以下の動作処理は、特に明記した場合を除いて、CPU201がFLASH ROM212に格納されたプログラムに基づき各処理部に指示を与えて処理を実行するものとする。
S401にて、スキャナ部206は、不図示の原稿台または紙搬送部に置かれた原稿(記録媒体)を画像データとして読み取り、DRAM202に保存する。
S402にて、スキャン画像処理部302は、S401で読み取った画像データに対してスキャン用画像処理を行う。ここでのスキャン用画像処理は、FLASH ROM212が予め記憶している設定値に基づいて行うものとして説明する。
S403にて、CPU201は、カラー化処理を行うためのモード設定の有無を判定する。カラー化処理モードは、例えば、MFP101の操作部203が備える画面を介してユーザが設定するものである。本設定の詳細は後述する。カラー化処理モードが設定されている場合は(S403にてYES)S404へ遷移し、設定されていない場合は(S403にてNO)S411へ遷移する。
S404にて、オブジェクト検出部308は、S402でスキャン用画像処理を施した画像データからオブジェクトを検出する。ここで、オブジェクト検出方法としては、パターンマッチング法や、勾配方向をヒストグラム化して特徴量を抽出して文字やオブジェクトを検出する方法などが挙げられる。本実施形態においても、同様な手法を用いてオブジェクト検出を行う。なお、オブジェクト検出方法は、上記に限定するものではなく、他の方法を用いてもよい。そして、オブジェクト検出部308は、検出したオブジェクトに対する元画像における座標位置や画像サイズ等の情報をオブジェクト管理テーブルに登録し、DRAM202に記憶する。オブジェクト管理テーブルの詳細は図9を用いて後述する。
S405にて、CPU201は、S404で作成したオブジェクト管理テーブルの全オブジェクトに対して、後述する本フローチャートの処理(S406〜S409)を実行したかを判定する。未処理のオブジェクトがあれば(S405にてNO)、CPU201は、未処理のオブジェクトの中から1つを選択し、S406へ遷移して処理を行う。一方、全オブジェクトに対する処理が終了したと判定した場合は(S405にてYES)S410へ遷移する。
S406にて、カラー判定部305は、S404で検出したオブジェクトがモノクロ画像かカラー画像かを判定する。上述したように、ここでの判定では、画素を構成するR、G、Bの各コンポーネントの値から画素の色味を取得して積算し、色味の累計が所定値を超えていた場合、その画像はカラー画像であると判定する。モノクロ画像であると判定した場合は(S406にてNO)S407へ遷移する。一方、カラー画像であると判定した場合は(S406にてYES)S409へ遷移する。
S407にて、カラー変換部307は、S406でモノクロ画像と判定されたオブジェクトに対してカラー化処理を行う。上述したように、カラー化処理は、CNNにて学習された処理モデルに基づいて画像処理が行われるものとする。したがって、学習が進み、この学習内容に基づいて算出されたパラメータを用いることで、同じオブジェクトであっても異なる処理結果が出力されることとなる。
S408にて、CPU201は、S407で行ったカラー化処理が成功したか失敗したかを判定する。更に、カラー化処理に失敗した画像に対しては修正処理を行う。カラー化処理後のオブジェクトは、DRAM202に格納される。本工程の処理の詳細は図10〜図12を用いて後述する。S408の処理終了後はS405に遷移する。
S409にて、CPU201は、S406でカラー画像と判定したオブジェクトに対して学習処理を行うための通知処理を行う。CPU201は、この学習処理通知に基づき、当該オブジェクトを用いた学習処理を行う。ここでの学習処理の詳細は図5を用いて後述する。
S410にて、オブジェクト合成部309は、画像合成処理を行う。ここでは、カラー化処理が成功したオブジェクト、および、カラー化処理に失敗した後に修正されたオブジェクトが、スキャン用画像処理を施した画像上のオブジェクトと置き換えられる。その結果、カラー化がなされたオブジェクトを含む画像データが生成される。オブジェクト合成部309は、置き換え後の画像データをDRAM202に格納する。
S411にて、プリント画像処理部304は、DRAM202に格納されている画像データに対してFLASH ROM212の記憶した設定値に基づきプリント用画像処理を行う。そして、プリンタ部205は、カラー化処理したオブジェクトを備えた画像を記録媒体に印刷して出力する。そして、本処理フローを終了する。
[学習処理]
図5〜図7を用いて、図4のS409において学習処理通知が発行された場合に、学習処理を行い、カラー変換部307にて用いられる処理モデルを更新する処理フローについて説明をする。本処理は、特に明記した場合を除いて、CPU201がFLASH ROM212に格納されたプログラムに基づき、各処理部を指示することで実行するものとする。
図5〜図7を用いて、図4のS409において学習処理通知が発行された場合に、学習処理を行い、カラー変換部307にて用いられる処理モデルを更新する処理フローについて説明をする。本処理は、特に明記した場合を除いて、CPU201がFLASH ROM212に格納されたプログラムに基づき、各処理部を指示することで実行するものとする。
S501にて、CPU201は、S404でオブジェクト検出部308が検出したオブジェクトのうち、S405でカラー判定部305がカラー画像と判定したカラーオブジェクトの画像データを、DRAM202から読み出す。そして、CPU201は、読み出したカラーオブジェクトの画像データを学習サンプルの期待画像としてHDD208に保存する。このとき、ファイルサイズを小さくするために圧縮伸長処理部(不図示)でJPEGなどのフォーマットに圧縮してもよい。
S502にて、モノクロ変換部306は、HDD208に保存した画像データを読み出し、モノクロ画像データに変換してDRAM202に記憶する。上述したように、ここでは、カラー画像の画素毎にRGBのコンポーネントを演算することによって算出された値を、対応するモノクロ画像の画素値とすることでモノクロ変換を行う。なお、HDD208から読み出した画像がJPEG等の圧縮形式の場合は、圧縮伸長処理部(不図示)で画像伸長した後にモノクロ変換処理を行うものとする。
S503にて、CPU201は、S502でモノクロ変換してDRAM202に記憶したモノクロ画像データを学習処理の入力画像としてHDD208に保存する。ここでもファイルサイズを小さくするために圧縮伸長処理部(不図示)でJPEGなどのフォーマットに圧縮してもよい。
S504にて、CPU201は、S501およびS503で記憶した画像ファイルを学習テーブルに追加する。学習テーブルの構成例を図6に示す。学習テーブル601は、前述の各画像のパスを有し、HDD208に記憶されている。図6の学習テーブル601において、学習サンプル入力画像は、S503にて保存されたモノクロ画像のパスを示し、学習サンプル期待画像は、S501にて保存されたカラー画像のパスを示す。
S505にて、CPU201は、S504で生成した学習テーブル601で示された画像と、カラー変換部307とを用いて学習を行う。
図7は、カラー変換部307における処理モデルを模式的に示している。図7に示すConvは、畳み込み処理を行う階層である。各畳み込み層はそれぞれ不図示の2次元フィルタ関数(例えば、5×5のフィルタ)を備え、各畳み込み層の入力画像データに対して2次元フィルタ関数を用いて畳み込み演算を行う。また、図7に示すPoolは、プーリング処理を行う階層である。各プーリング層はそれぞれ不図示の2次元プーリング関数を備え、各プーリング層の入力に対して2次元プーリング関数のウィンドウ内の画素から条件に合致する画素を取り出す。例えば、ウィンドウサイズが2×2の最大プーリングであれば、ウィンドウ内の4画素の中から最大画素値を有する画素を取り出す。
本実施形態に係るカラー変換部307における処理モデルは、例えば、Conv層とPool層との組を4組直列に接続した構成で学習を行う。まず、輝度情報のみを備えたモノクロ画像を入力データとして用意する。これを第1層のConv_1に入力し畳み込み処理を行い、続いてPool_1でプーリング処理を行う。その後、第2層から第4層の各Conv層とPool層に前層の処理結果入力して処理を行う。そして、Pool_4の処理後のデータを、輝度(L)と彩度(ab)とで構成される色空間(Lab空間)のab空間にマッピングして中間カラー画像を生成する。最後に、中間カラー画像と輝度画像とを合成してカラー画像に変換することでカラー化処理を行う。
S505では、このカラー変換部307における処理モデルの各層が備えるパラメータの学習が行われる。まず、学習テーブル601の入力画像(モノクロ画像)と期待画像(カラー画像)の対を学習サンプルとし、その集合体である学習データを用意する。次に、学習サンプルの入力画像を入力した処理モデルを構成する各層の処理部から得られた出力画像と、当該入力画像と対になる期待画像との乖離度を誤差関数で評価する。本実施形態では、例えば、出力画像と期待画像とで画素毎の濃度差を交差エントロピー等の誤差関数で評価する。得られた評価値に基づき、バックプロパゲーションによりパラメータを更新する。具体的には、例えば、確率的勾配降下法等の最適化関数を用いて、出力結果の画素値が学習テーブル601の学習サンプル期待画像の対応する画素値に近づくようにパラメータ更新値を決定する。これを出力側のPool_4から入力側に遡る順で各層に適用して各層のパラメータを更新する。なお、上記に示した処理の流れは一例であり、他の関数や評価基準を用いてもよい。
なお、カラー変換部307における処理モデルが備えるパラメータは、MFP101の出荷時には不図示の多数の学習サンプルで予め学習して生成したパラメータが初期値として設定されているものとする。出荷後には、MFP101を使用するたびに、上述した学習処理に基づきパラメータが更新されるものとする。
S506にて、CPU201は、S505の学習処理が完了により、カラー変換部307における処理モデルを更新する。そして本処理フローを終了する。なお、学習処理は、図4のS409における学習処理通知後に、S405にて全オブジェクトの処理終了を検知した後に実行するものとする。
[カラー化処理モード設定]
図8を用いて、本実施形態のカラー化処理モードに係る、MFP101の操作部203における画面の表示例を説明する。図8(a)、(b)にコピーの出力モードの設定画面を示す。本出力モードの設定画面において、「フルカラー」の出力の指定(ボタン801)、または、「白黒→カラー」の出力の指定(ボタン802)によりカラー化処理モードが有効設定される。また、図8(c)は、コピーの機能設定画面を示しており、「白黒カラー変換」のボタン803が表示される。ユーザはボタン803を押下することで、白黒カラー変換機能の実行を設定できる。ボタン803押下後に表示される図8(d)では既に白黒カラー変換モードが設定済であり、カラー化処理モードが有効設定される。
図8を用いて、本実施形態のカラー化処理モードに係る、MFP101の操作部203における画面の表示例を説明する。図8(a)、(b)にコピーの出力モードの設定画面を示す。本出力モードの設定画面において、「フルカラー」の出力の指定(ボタン801)、または、「白黒→カラー」の出力の指定(ボタン802)によりカラー化処理モードが有効設定される。また、図8(c)は、コピーの機能設定画面を示しており、「白黒カラー変換」のボタン803が表示される。ユーザはボタン803を押下することで、白黒カラー変換機能の実行を設定できる。ボタン803押下後に表示される図8(d)では既に白黒カラー変換モードが設定済であり、カラー化処理モードが有効設定される。
[オブジェクト管理テーブル]
図9を用いて、スキャナ部206にて読み込んだ原稿からオブジェクト検出した例を示す。画像データ901は、図4のS402にてスキャン用画像処理を施した画像データである。オブジェクト902、903は、図4のS404において画像データ901からオブジェクト検出された図形および写真のオブジェクトである。ここでは、2つのオブジェクトが検出されたものとして説明する。オブジェクト管理テーブル904は、検出された各オブジェクトを管理するためのテーブルであり、DRAM202に保持される。オブジェクト管理テーブル904では、オブジェクトを一意に識別するためのオブジェクト番号、画像データ901上での座標、画像サイズ、保存先情報911、カラー変換処理後の保存先情報912、および、カラー化処理結果913が対応付けて保持される。カラー化処理結果913は、後述するカラー化処理結果判定処理の結果に基づき付与される。
図9を用いて、スキャナ部206にて読み込んだ原稿からオブジェクト検出した例を示す。画像データ901は、図4のS402にてスキャン用画像処理を施した画像データである。オブジェクト902、903は、図4のS404において画像データ901からオブジェクト検出された図形および写真のオブジェクトである。ここでは、2つのオブジェクトが検出されたものとして説明する。オブジェクト管理テーブル904は、検出された各オブジェクトを管理するためのテーブルであり、DRAM202に保持される。オブジェクト管理テーブル904では、オブジェクトを一意に識別するためのオブジェクト番号、画像データ901上での座標、画像サイズ、保存先情報911、カラー変換処理後の保存先情報912、および、カラー化処理結果913が対応付けて保持される。カラー化処理結果913は、後述するカラー化処理結果判定処理の結果に基づき付与される。
なお、オブジェクト管理テーブル904にて管理されるオブジェクトの情報は上記の情報に限定するものではなく、その他にオブジェクトの種類、回転角度、色情報などを属性情報として備えてもよい。
[カラー化処理結果判定処理]
図10〜図12を用いて、図4のS408のオブジェクトのカラー化処理結果の判定処理の詳細を説明する。まず、図10を用いて処理フローを説明する。本処理は、特に明記した場合を除き、CPU201がFLASH ROM212に格納されたプログラムに基づき、各処理部を指示することで実行するものとする。
図10〜図12を用いて、図4のS408のオブジェクトのカラー化処理結果の判定処理の詳細を説明する。まず、図10を用いて処理フローを説明する。本処理は、特に明記した場合を除き、CPU201がFLASH ROM212に格納されたプログラムに基づき、各処理部を指示することで実行するものとする。
S1001にて、CPU201は、S407で行ったカラー化処理済のオブジェクトについてヒストグラムを用いた色判定を行う。本処理の詳細は図11を用いて後述する。
S1002にて、CPU201は、S1001の色判定処理の結果に基づきセピア色か否かを判定する。セピア色とは、輝度階調はあるが色味が茶褐色、または、暗茶系の単一色で構成される色味である。上述した機械学習技術に基づくカラー変換部307でカラー化処理を行う場合、カラー化処理に失敗すると変換後の画像がセピア色となることが公知である。セピア色ではないと判定した場合(S1002にてNO)、S1003へ遷移する。セピア色であると判定した場合は(S1002にてYES)、本処理フローを終了する。
S1003にて、CPU201は、オブジェクト内の閉領域を抽出し、各閉領域に対する修正処理を行う。本処理の詳細は図12を用いて後述する。本工程の後、本処理フローを終了する。
次に、図11を用いて、上述した図10のS1001で行うカラー化処理結果の色判定の処理の詳細を説明する。本処理は、特に明記した場合を除き、CPU201がFLASH ROM212に格納されたプログラムに基づき、各処理部を指示することで実行するものとする。
S1101にて、CPU201は、S407で行ったカラー化処理済のオブジェクトに対して色空間変換を行う。S407で行うカラー化処理によりオブジェクトはLabの色空間となっているため、ここでは、これを不図示の変換式を用いてRGBの色空間に変換する。
S1102にて、CPU201は、S1101でRGB色空間に変換したオブジェクトについてR、G、Bの各コンポーネント、および、輝度の各ヒストグラムを取得する。具体的には、各コンポーネントのヒストグラムは、オブジェクトのRGB画像からR(ch0)、G(ch1)、B(ch2)の各単一コンポーネントの画像を取得し、取得した画像の各画素について濃度別に画素数を累積することで取得される。また、輝度ヒストグラムは、RGB画像の各画素について濃度別に画素数を累積することで取得される。
次に、S1103〜S1105において、オブジェクトがセピア色か否かが判定される。
S1103にて、CPU201は、S1102で取得したR(ch0)のコンポーネントのヒストグラムと、輝度ヒストグラムとが同一であるか否かを判定する。具体的には、各ヒストグラムの濃度毎に値の誤差を出し、誤差の累計が所定値以下であれば同一であると判定される。誤差に対する所定値は、RAM等に保持されているものとする。同一であると判定した場合は(S1103にてYES)S1104へ進み、同一でないと判定した場合は(S1103にてNO)S1107へ進む。
S1104にて、CPU201は、S1102で取得したG(ch1)のコンポーネントのヒストグラムと、輝度ヒストグラムを所定の濃度範囲に圧縮したヒストグラムとが同一であるか否かを判定する。具体的には、CPU201は、輝度ヒストグラムの濃度範囲(例えば、0〜15の16段階)を濃度範囲0〜13に圧縮したヒストグラムを作成し、これをG(ch1)コンポーネントのヒストグラムと比較する。圧縮については特に上記に限定するものではない。比較は、S1103と同様、誤差値を用いて行う。同一であると判定した場合は(S1104にてYES)S1105へ進み、同一でないと判定した場合は(S1104にてNO)S1107へ進む。
S1105にて、CPU201は、B(ch2)コンポーネントのヒストグラムと、輝度ヒストグラムを所定の濃度範囲に圧縮したヒストグラムとが同一であるか否かを判定する。ここでは、例えば濃度範囲0〜9で圧縮した輝度ヒストグラムを作成し、B(ch2)コンポーネントのヒストグラムと比較する。比較は誤差値を用いて行う。同一であると判定した場合は(S1105にてYES)S1106へ進み、同一でないと判定した場合は(S1105にてNO)S1107へ進む。
S1106にて、CPU201は、オブジェクトがセピア色であると判定し、オブジェクト管理テーブル904における、当該オブジェクトのカラー化処理結果913をセピア色として設定する。そして、本処理フローを終了する。
S1107にて、CPU201は、オブジェクトがセピア色ではないと判定し、オブジェクト管理テーブル904における、当該オブジェクトのカラー化処理結果913に非セピア色を設定する。そして、本処理フローを終了する。
次に図12を用いて、図10のS1003で行う非セピア色として判定されたオブジェクトに対して行う修正処理の詳細を説明する。本処理は、特に明記した場合を除いて、CPU201がFLASH ROM212に格納されたプログラムに基づき、各処理部を指示することで実行するものとする。
S1201にて、CPU201は、オブジェクト管理テーブル904に基づき、S1107で設定したカラー化処理結果913が非セピア色であるオブジェクトについて保存先情報912を参照してカラー化処理前のオブジェクトの画像データを取得する。つまり、変換前のモノクロの画像データが取得される。
S1202にて、CPU201は、S1201で取得したオブジェクトから単色閉領域を取得する。単色閉領域とは、ある濃度値の画素が連続して隣り合って構成された領域である。オブジェクトを画素毎に走査して濃度が所定の誤差値以下、かつ、座標位置が隣り合う画素が所定数以上となる領域を検出して単色閉領域とする。つまり、所定のサイズよりも小さい領域は、処理の対象となる閉領域から除かれる。ここでの所定の誤差値および連続する同一画素の所定数の値は特に限定するものではない。これらは、オブジェクトの種類に応じて変更してもよい。本実施形態では、例えば、図形として検出したオブジェクト902は5つの単色閉領域を備えるものとして説明する。
S1203にて、CPU201は、S1201で取得したオブジェクトに対応するカラー化処理後のオブジェクトから、S1202で取得した単色閉領域に対応する領域の情報を取得する。CPU201は、S1201で所得した単色閉領域を構成する画素の座標に基づき、カラー化処理後のオブジェクト上で当該座標に対応する画素を含む領域の情報を取得する。
S1204にて、CPU201は、S1203で取得した領域のヒストグラムを取得する。
S1205にて、CPU201は、S1203で取得した領域が単色領域であるか否かを、S1204で取得したヒストグラムに基づき判定する。具体的には、ヒストグラムで所定以上の画素数を備える濃度の分布幅が所定値以下であれば当該領域を単色領域と判定する。単色領域と判定した場合は(S1205にてYES)S1208へ遷移し、非単色領域と判定した場合は(S1205にてNO)S1206へ遷移する。
S1206にて、CPU201は、S1205で非単色領域と判定した領域の代表色を取得する。ここでの代表色とは、領域内の最頻出色を示す。CPU201は、S1204で取得したヒストグラムに基づき代表色を取得する。
S1207にて、CPU201は、S1205で判定した非単色領域の画素値をS1206で取得した代表色の画素値に置換することで、当該領域を単色領域に修正する。
S1208にて、CPU201は、S1202で取得した全ての閉領域(オブジェクト902の場合は5つの閉領域)に対して、上述したS1203〜S1207の各処理を行ったか否かを判定する。未処理の閉領域がある場合は(S1208にてNO)、CPU201は、未処理の閉領域の中から一つを選択し、S1203に戻る。全ての閉領域の処理が終了した場合は(S1203にてYES)、S1209へ遷移する。
S1209にて、CPU201は、オブジェクト管理テーブル904で管理する非セピア色判定された全てのオブジェクト対して、上述したS1201〜S1208の各処理を行ったか否かを判定する。未処理のオブジェクトがある場合は(S1209にてNO)、CPU201は、未処理のオブジェクトの中から1つを選択し、S1201へ戻る。非セピア色と判定された全てのオブジェクトに対する処理が終了した場合は(S1209にてYES)、本処理フローを終了する。
(処理例)
図13を用いて、上述した処理の作用を具体的に説明する。
図13を用いて、上述した処理の作用を具体的に説明する。
図13(a)は、カラー化処理前のオブジェクト902を示す。ここでは、オブジェクト902が、図11の処理で非セピア色として判定されるものとして説明する。この場合、図12のS1201で元オブジェクトとしてカラー化処理前のオブジェクト902が取得される。更に、図12のS1202において、カラー化処理前のオブジェクト902から閉領域1301〜1305として5つの閉領域が取得される。
図13(b)は、オブジェクト902を図4のS407においてカラー化処理が行われた結果得られた、カラー化処理後のオブジェクト1310を示す。ここでは、カラー化処理前のオブジェクト902の閉領域1302が、カラー化処理により領域1311となり、カラー化処理が不完全に実行された結果、色領域1312と色領域1313との異なる2つの色で構成されるものとする。言い換えると、閉領域1302(領域1311)において、色ムラが生じている状態となっている。なお、ここでは、2つの色で構成されているが、これに限定するものではなく、複数の色で構成された領域を対象とする。
図13(c)は、図12のS1204で作成される領域1311のヒストグラムを示す模式図である。ここでは、横軸は画素濃度を16階調に正規化して示し、縦軸は各画素階調の画素の頻出数を示す。棒1321が図13(b)の色領域1312に対応し、棒1322が図13(c)の色領域1313に対応する。図12のS1206では、このヒストグラムに基づいて、色領域1312の色を領域1311における代表色とする。そして、S1207において、色領域1313の画素値が色領域1312の画素値で置換される。これにより、図13(d)に示すように、閉領域1302に対応する単色領域1331を備えた修正後のオブジェクト1330が得られる。
以上、本実施形態により、機械学習技術に基づくカラー変換部307を用いて行うオブジェクトのカラー化処理がセピア色となる失敗を検出できる。また、カラー化処理が不完全に実行された結果、期待される単色領域が得られなかった領域を単色領域として修正することができる。これにより、カラー化処理の失敗によるユーザに提供される品質の低下を回避できる。
<その他の実施形態>
本発明は、上述した実施形態に限定するものではない。他の構成例について、以下に述べる。
本発明は、上述した実施形態に限定するものではない。他の構成例について、以下に述べる。
カラー変換部307の処理モデルの構成は、図7で示した畳み込み層(Conv層)とプーリング層(Pool層)との組を4つ直列に接続した構成に限定するものではない。例えば、畳み込み層とプーリング層の数は増減してもよく、フィルタサイズ、プーリング関数のサイズも増減してもよい。更には、他の処理を行う階層(例えば、全結合層)を適宜追加しても良い。例えば、畳み込み層とプーリング層の組数を減らすと学習処理(S505)の時間が短縮でき、一方、組数を増やせばより多くの入力画像に対して高いカラー化変換結果が得られる可能性が高まる。
また、図5のS505で行われる学習処理はCPU201だけでなく、システムバス209に接続した不図示のGPU(Graphical Processing Unit)で行ってもよい。または、学習処理は、ネットワークI/F204を介してLAN104に接続するサーバ103上で適宜通信しながら行ってもよい。これにより、学習処理をより高速に実行でき、学習処理によるカラー化変換処理のダウンタイムを削減できる。
また、文字が重なったオブジェクトに対してカラー化処理を行う場合は、事前に文字を取り除いてからカラー化処理を行ってもよい。この場合、例えば、カラー化処理(S407)に先立ち、スキャン画像処理部302で行うスキャン用画像処理において画素単位で付与された不図示の属性情報が文字属性である画素を特定し、当該特定した画素の近隣にある背景属性を持つ画素で一時的に置換する。そして、置換した文字画素、および、座標情報は一時的にDRAM202に記憶しておき、カラー化処理結果判定処理(図10〜図12)を実行後、処理後のオブジェクトに文字画素を合成する。これにより、色判定(図11)や修正処理(図12)を、文字の存在や色味に影響されることなく実行でき、処理精度を向上できる。なお、本処理はCPU201が実行してもよく、信号バス310に接続する不図示の専用画像処理部で行ってもよい。
また、修正処理(図12)は、操作部203を介してユーザ指示により実行のオン、オフを制御できてもよい。この場合、図8(d)で示した白黒カラー変換の設定画面に、図14で示した、当該修正機能のオン、オフを設定するボタン1401を設ける。
また、カラー化処理を行った結果、セピア色になったオブジェクトが存在する場合には、画像合成処理(S410)において、ユーザにその旨を通知し、合成処理および印刷処理を継続するか否かの指示を受け付けてもよい。このとき、例えば、カラー化処理前のオブジェクト画像か、セピア色のオブジェクト画像のいずれを用いて印刷処理を行うかをユーザに選択させてもよい。
また、上記の例では、代表色として、領域における最頻出色を用いたが、これに限定するものではない。オブジェクトの種類に応じて、周辺の領域の色に応じて決定してもよい。例えば、オブジェクトがグラフなどの図形の場合、隣接する領域の色に応じて、重複しない色となるように置換する色を決定してもよい。
本発明は上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101…MFP、211…画像処理部、302…スキャン画像処理部、303…レンダリング処理部、304…プリント処理部、305…カラー判定部、306…モノクロ変換部、307…カラー変換部、308…オブジェクト検出部、309…オブジェクト合成部
Claims (12)
- 読取手段にて読み取られた原稿の画像データを取得する取得手段と、
前記画像データからオブジェクトを検出する検出手段と、
前記検出手段にて検出されたオブジェクトがカラー画像かモノクロ画像かを判定するカラー判定手段と、
前記カラー判定手段にてモノクロ画像であると判定されたオブジェクトをカラー画像に変換する変換手段と、
前記変換手段による変換後のオブジェクトの画像が所定の色味であるか否かを判定する判定手段と、
前記判定手段により前記所定の色味でないと判定された変換後のオブジェクトの画像において、前記変換手段による変換前に単色であった領域が前記変換手段による変換後に複数の色にて構成される領域となった領域を特定する特定手段と、
前記特定手段にて特定された領域の色を所定の色に置き換える修正手段と
を有することを特徴とする画像処理装置。 - 前記所定の色味は、セピア色であることを特徴とする請求項1に記載の画像処理装置。
- 前記所定の色は、前記特定手段にて特定された領域における最頻出の色であることを特徴とする請求項1または2に記載の画像処理装置。
- 前記オブジェクトは、イラスト、図形、及び写真の画像であることを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
- 前記画像データにおける文字の領域を特定する手段を更に有し、
前記変換手段は、前記特定された文字の領域に含まれる画素の値を所定の値に変換した上で前記オブジェクトをカラー画像に変換することを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。 - 前記所定の値は、前記特定された文字の領域の周辺に位置する画素の値であることを特徴とする請求項5に記載の画像処理装置。
- 前記特定手段は、オブジェクトの画像に含まれる領域のうち、所定のサイズよりも大きい領域を特定の対象とすることを請求項1乃至6のいずれか一項に記載の画像処理装置。
- 前記変換手段は、前記カラー判定手段にてカラー画像であると判定されたオブジェクトの画像データを用いて、オブジェクトを変換するためのパラメータを算出する算出処理を行うことを特徴とする請求項1乃至7のいずれか一項に記載の画像処理装置。
- 前記算出処理は、前記カラー判定手段にてカラー画像であると判定されたオブジェクトの画像データと、当該オブジェクトの画像データをモノクロ変換処理して得られた画像データとを用いた機械学習による処理であることを特徴とする請求項8に記載の画像処理装置。
- 請求項1乃至9のいずれか一項に記載の画像処理装置と、
原稿から画像データを読み取る読取手段と、
前記画像処理装置にて処理された画像データを用いて印刷を行う印刷手段と
を備えることを特徴とする画像形成装置。 - 読取手段にて読み取られた原稿の画像データを取得する取得工程と、
前記画像データからオブジェクトを検出する検出工程と、
前記検出工程にて検出されたオブジェクトがカラー画像かモノクロ画像かを判定するカラー判定工程と、
前記カラー判定工程にてモノクロ画像であると判定されたオブジェクトをカラー画像に変換する変換工程と、
前記変換工程による変換後のオブジェクトの画像が所定の色味であるか否かを判定する判定工程と、
前記判定工程により前記所定の色味でないと判定された変換後のオブジェクトの画像において、前記変換工程による変換前に単色であった領域が前記変換工程による変換後に複数の色にて構成される領域となった領域を特定する特定工程と、
前記特定工程にて特定された領域の色を所定の色に置き換える修正工程と
を有することを特徴とする画像処理方法。 - コンピュータを、
読取手段にて読み取られた原稿の画像データを取得する取得手段、
前記画像データからオブジェクトを検出する検出手段、
前記検出手段にて検出されたオブジェクトがカラー画像かモノクロ画像かを判定するカラー判定手段、
前記カラー判定手段にてモノクロ画像であると判定されたオブジェクトをカラー画像に変換する変換手段、
前記変換手段による変換後のオブジェクトの画像が所定の色味であるか否かを判定する判定手段、
前記判定手段により前記所定の色味でないと判定された変換後のオブジェクトの画像において、前記変換手段による変換前に単色であった領域が前記変換手段による変換後に複数の色にて構成される領域となった領域を特定する特定手段、
前記特定手段にて特定された領域の色を所定の色に置き換える修正手段
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018022440A JP2019140538A (ja) | 2018-02-09 | 2018-02-09 | 画像処理装置、画像形成装置、画像処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018022440A JP2019140538A (ja) | 2018-02-09 | 2018-02-09 | 画像処理装置、画像形成装置、画像処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019140538A true JP2019140538A (ja) | 2019-08-22 |
Family
ID=67694465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018022440A Pending JP2019140538A (ja) | 2018-02-09 | 2018-02-09 | 画像処理装置、画像形成装置、画像処理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019140538A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021161454A1 (ja) * | 2020-02-13 | 2021-08-19 | ||
WO2021161453A1 (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-02-09 JP JP2018022440A patent/JP2019140538A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021161454A1 (ja) * | 2020-02-13 | 2021-08-19 | ||
WO2021161453A1 (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 |
---|---|---|
JP2019145030A (ja) | 画像処理装置、画像形成装置、画像処理方法、及びプログラム | |
JP6781406B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
US10373030B2 (en) | Image processing apparatus that executes halftone process on target image data including edge pixel | |
US10592766B2 (en) | Image processing apparatus and medium storing program executable by image processing apparatus | |
US9253368B2 (en) | Image processing device setting binary value without using dither matrix when prescribed condition is satisfied | |
JP2022184133A (ja) | 電子透かし解析装置および電子透かし解析方法 | |
JP2011193394A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2019140538A (ja) | 画像処理装置、画像形成装置、画像処理方法、及びプログラム | |
JP7338002B2 (ja) | 画像処理装置および画像処理方法、およびプログラム | |
JP2010114503A (ja) | 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 | |
US10339636B2 (en) | Image processing apparatus that specifies edge pixel in target image by calculating edge strength | |
JP7034742B2 (ja) | 画像形成装置、その方法およびプログラム | |
JP2018182464A (ja) | 画像処理装置及びプログラム | |
US10389909B2 (en) | Image processing apparatus that specifies edge pixel in target image using minimum and maximum component values of pixel value in target image data | |
JP2013074314A (ja) | 画像処理方法、画像読取装置、および画像処理プログラム | |
JP2004246110A (ja) | 検版装置、印刷システム、印刷データの検版方法、およびプログラム | |
JP2019153061A (ja) | 画像処理装置、その制御方法、及びプログラム | |
US10872216B2 (en) | Image output device, image output method, and output image data production method | |
JP6794901B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
JP6781398B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
JP2020092363A (ja) | 画像処理装置、および、コンピュータプログラム | |
JP2015226278A (ja) | 画像処理装置 | |
JP2020052894A (ja) | 画像処理装置、および、コンピュータプログラム | |
JP2013115730A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2019159783A (ja) | 画像処理装置、および、コンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |