JP2021009439A - 画像処理システム及びプログラム。 - Google Patents

画像処理システム及びプログラム。 Download PDF

Info

Publication number
JP2021009439A
JP2021009439A JP2019121427A JP2019121427A JP2021009439A JP 2021009439 A JP2021009439 A JP 2021009439A JP 2019121427 A JP2019121427 A JP 2019121427A JP 2019121427 A JP2019121427 A JP 2019121427A JP 2021009439 A JP2021009439 A JP 2021009439A
Authority
JP
Japan
Prior art keywords
color space
image data
learning
processing system
data
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
Application number
JP2019121427A
Other languages
English (en)
Inventor
前田 昌雄
Masao Maeda
昌雄 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019121427A priority Critical patent/JP2021009439A/ja
Priority to US16/900,221 priority patent/US11146710B2/en
Publication of JP2021009439A publication Critical patent/JP2021009439A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6002Corrections within particular colour systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/603Colour correction or control controlled by characteristics of the picture signal generator or the picture reproducer

Abstract

【課題】画像データに色空間識別情報が付されていない場合であっても、当該画像データの色空間を特定できるようにする。【解決手段】色空間の異なる画像データを扱う画像処理システムが、画像データとそのメタデータを入力データとし、色空間識別情報を教師データとして機械学習を行う学習手段を備える。機械学習においては、前記入力データから予測した色空間と前記色空間識別情報によって特定される色空間とのずれが最小となるように学習モデルを最適化する。【選択図】図8

Description

本発明は、様々な色空間の画像データを扱う画像処理システムに関する。
デジタルカメラなどの撮像装置で撮影した画像を、プリンタやディスプレイなどの画像出力デバイスで出力する際、デバイス間の色再現性の違いを効率良く吸収するために標準的な色空間を用いる方法が従来より提案されている(特許文献1)。近年は、従来からあるsRGB、AdobeRGBに加え、DisplayP3といった様々な標準色空間が登場し、デバイス間での画像ファイルのやり取りに用いられている。
特開平7−274025号公報
例えばスマートフォンやデジタルカメラで撮影した画像をプリンタで印刷するケースにおいて、プリンタに入力される画像データで使用されている標準色空間を識別するための情報(色空間識別情報)が付されている場合と付されていない場合とがある。プリンタ側では、画像データに色空間識別情報が付されていれば、それによって特定される標準色空間に応じて、自装置が使用する色空間(デバイス依存色空間)に適切に変換することができる。しかしながら、色空間識別情報が付されていない場合には、予め決めた所定の標準色空間と決め打ちして変換を行わざるを得ず、結果的に正しい色空間変換処理を行えない場合がある。
本開示に係る、色空間の異なる画像データを扱う画像処理システムは、画像データとそのメタデータを入力データとし、色空間識別情報を教師データとして機械学習を行う学習手段であって、前記入力データから予測した色空間と前記色空間識別情報によって特定される色空間とのずれが最小となるように学習モデルを最適化する、学習手段を有することを特徴とする。
本開示の技術によれば、画像データに対する色空間を適切に特定させることが可能になる。
画像処理システムの構成の一例を示す図 クラウドサーバ及びエッジサーバのハードウェア構成を示すブロック図 (a)はスマートフォンの外観図、(b)はスマートフォンの内部構成を示すブロック図 (a)はプリンタの外観図、(b)はプリンタ600の内部構成を示すブロック図 画像処理システムのソフトウェア構成を示すブロック図 (a)は学習モデルを利用して学習を行う際の入出力の構造を示す概念図、(b)は学習済みモデルを利用して推定を行う際の入出力の構造を示す概念図 (a)及び(b)は、JPEGフォーマットの画像ファイルのデータ構造を示す図 (a)は学習フェーズにおける入出力の説明図、(b)は推定フェーズにおける入出力の説明図 学習フェーズにおける画像処理システム全体の動きを示すシーケンス図 推定フェーズにおける画像処理システム全体の動きを示すシーケンス図 プリンタにおける処理の流れを示すフローチャート エッジサーバにおける処理の流れを示すフローチャート クラウドサーバにおける処理の流れを示すフローチャート 変形例に係る、画像処理システム全体の動きを示すシーケンス図
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
[実施形態1]
(画像処理システムの全体構成)
図1は、本実施形態に係る、画像処理システム100の構成の一例を示す図である。画像処理システム100は、ローカルエリアネットワーク(LAN)102及びインターネット104で接続された、クラウドサーバ200、エッジサーバ300及びデバイス群400から構成される。デバイス群400には、ネットワーク接続が可能な各種のデバイス、例えばパーソナルコンピュータやワークステーションなどのクライアント端末401、デジタルカメラ402、スマートフォン500、プリンタ600が含まれる。これら以外にもネットワーク接続可能な機器、例えば冷蔵庫やテレビ、エアコンなどの家電製品も含まれ得る。デバイス群400はLAN102で相互に接続され、LAN102に設置されているルータ103を介してインターネット104と接続することが可能である。ルータ103は、LAN102とインターネット104を接続する機器として図示されているが、LAN102を構成する無線LANアクセスポイント機能を持たせることも可能である。この場合、デバイス群400に含まれる各デバイスは、有線LANでルータ103と接続する以外にも、無線LANを介してLAN102に参加するように構成することができる。例えばプリンタ600やクライアント端末401は有線LANで接続し、スマートフォン500やデジタルカメラ402は無線LANで接続するように構成することも可能である。デバイス群400及びエッジサーバ300は、ルータ103を介して接続されたインターネット104を経由してクラウドサーバ200と相互に通信することが可能である。エッジサーバ300とデバイス群400は、LAN102を経由して相互に通信することが可能である。本実施形態では、クラウドサーバ200とデバイス群400との間にエッジサーバ300を配置している。そして、エッジサーバ300に対して学習及び推定のリクエストを行うプリンタ600は、クラウドサーバ200に対しては直接アクセスしない構成としている。このように、学習や推定のリクエストを発行するデバイスが、その近くに配置されたエッジサーバ300のみにアクセスするシステム構成を採用することにより、効率的なデータ処理が可能になる。なお、エッジサーバ300は、ネットワークにおいてクラウドサーバ200よりも近い位置に配置されている。また、デバイス群400のデバイス同士も、LAN102を経由して相互に通信することが可能である。また、スマートフォン500とプリンタ600は、近距離無線通信101によって通信可能である。近距離無線通信101としては、Bluetooth(登録商標)規格やNFC規格に則った無線通信を利用するものが考えられる。またスマートフォン500は、携帯電話回線網105とも接続されており、この回線網105を介してクラウドサーバ200と通信することもできる。なお、図1に示す構成は、画像処理システムの構成の一例を示すものであって、これに限定されない。例えば、ルータ103がアクセスポイント機能を備えている例を示したが、アクセスポイントはルータ103と異なる装置で構成してもよい。また、エッジサーバ300とデバイス群400に含まれる各デバイスとの間の接続は、LAN102以外の接続手段を用いるものであってもよい。例えばLPWA、ZigBee、Bluetooth、RFIDなどの無線通信や、USBなどの有線通信などを用いるものであってもよい。
(サーバのハードウェア構成)
図2は、クラウドサーバ200及びエッジサーバ300のハードウェア構成を示すブロック図である。本実施形態では、クラウドサーバ200とエッジサーバ300とは、共通のハードウェア構成を有するものとする。サーバ200/300は、装置全体の制御を行うメインボード210、ネットワーク接続ユニット201、ハードディスクユニット202からなる。また、メインボード210は、CPU211、内部バス212、プログラムメモリ213、データメモリ214、ネットワーク制御回路215、ハードディスク制御回路216、GPU217を有する。
CPU211は、ネットワーク制御回路215を介してネットワーク接続ユニット201を制御することで、インターネット104やLAN102などのネットワークと接続し、他の装置との通信を行う。また、CPU211は、ハードディスク制御回路216を介して、ハードディスクユニット202にデータを書き込んだり、格納されているデータを読み出したりする。ハードディスクユニット202には、プログラムメモリ213にロードして使用されるOSや各種の制御用ソフトウェア、各種データが格納される。GPU217は、各種演算処理を、CPU211に代わって或いは協働して実行する。GPU217はデータをより多く並列処理することができる。そのため、ディープラーニングのように、学習モデルを用いて複数回に渡って学習を行う場合の演算処理に向いている。本実施形態では、クラウドサーバ200にて学習プログラムを実行する際には、CPU211とGPU217が協働して演算を行うものとする。なお、本実施形態では、クラウドサーバ200とエッジサーバ300とは共通のハードウェア構成を有するものとして説明したが、両者の構成は異なっていてもよい。例えば、クラウドサーバ200にはGPU217を搭載するが、エッジサーバ300には搭載しない構成であってもよい。また、クラウドサーバ200が搭載するGPU217とエッジサーバ300が搭載するGPU217とが、異なる性能であってもよい。
(スマートフォンのハードウェア構成)
図3(a)は、スマートフォン500の外観図である。ここで、スマートフォンは、電話機能の他、カメラ、ネットブラウザ、メールといった機能を搭載した多機能型の携帯電話を指す。近距離無線通信ユニット501は、所定距離内にいる通信相手の近距離無線通信ユニットと通信を行うためのユニットである。無線LANユニット502は、無線LANを利用してLAN102と接続して通信を行うためのユニットである。回線接続ユニット503は、携帯電話回線に接続して通信を行うためのユニットである。タッチパネルディスプレイ504は、スマートフォン500の前面に備えられており、LCD方式の表示機構とタッチパネル方式の操作機構を兼ね備えている。タッチパネルディスプレイ504上に表示されたボタン状の操作パーツへのタッチ操作を検知すると、ボタンが押下されたイベントが発行される。電源ボタン505は、スマートフォンの電源のオン及びオフをする際に用いる。
図3(b)は、スマートフォン500の内部構成を示すブロック図である。図3(b)には、上述の近距離無線通信ユニット501、無線LANユニット502、回線接続ユニット503、タッチパネルディスプレイ504に加え、スマートフォン500の全体を制御するメインボード510が示されている。メインボード510は、CPU511、内部バス512、プログラムメモリ513、データメモリ514(画像メモリ520を含む)、各種制御回路515〜518、カメラ部519、不揮発性メモリ521を有する。
CPU511は、無線LAN制御回路515を介して無線LANユニット502を制御することで、他の通信端末装置との間で無線LAN通信を行う。また、CPU511は、近距離無線通信制御回路516を介して近距離無線通信ユニット501を制御することで、他の近距離無線通信端末との間でデータの送受信を行う。また、CPU511は、回線制御回路517を介して回線接続ユニット503を制御することで、携帯電話回線網105に接続し、通話やデータ送受信を行う。また、CPU511は、操作部制御回路518を制御することで、タッチパネルディスプレイ504に所望の表示を行ったり、ユーザからの操作を受け付けたりする。さらに、CPU511は、カメラ部519を制御して撮影を行うことができる。撮影画像データはデータメモリ514内の画像メモリ520に格納される。また、カメラ部519の撮影画像データ以外にも、LAN102や近距離無線通信101などを通じて外部から取得した画像データを画像メモリ520に格納したり、逆に外部に送信したりすることも可能である。不揮発性メモリ521はフラッシュメモリ等で構成され、電源オフ後でも保存しておきたいデータを格納する。例えば電話帳データや、各種通信接続情報や過去に接続したデバイス情報などの他、保存しておきたい画像データ、あるいはスマートフォン500に各種機能を実現するアプリケーションソフトウェアなどが格納される。
(プリンタのハードウェア構成)
図4(a)は、プリンタ600の外観図である。図4(a)に示すプリンタ600は、スキャナその他の機能を兼ね備えたマルチファンクションプリンタ(MFP)である。原稿台601は、ガラス状の透明な台であり、原稿を載せてスキャナで読み取る時に使用する。原稿台圧板602は、スキャナで読み取りを行う際に原稿が浮かないように原稿台601に押しつけると共に、外光がスキャナユニットに入らないようにするためのカバーである。また、原稿台圧板602の上部には、操作パネル、近距離無線通信ユニット、無線LANアンテナが設けられている。印刷用紙挿入口603は、様々なサイズの用紙をセットする挿入口である。ここにセットされた用紙は一枚ずつ印刷部に搬送され、所望の印刷を行って印刷用紙排出口604から排出される。
図4(b)は、プリンタ600の内部構成を示すブロック図である。図4(b)には、プリンタ600の全体を制御するメインボード610、無線LANユニット608、近距離無線通信ユニット606、操作パネル605が示されている。メインボード610は、CPU611、内部バス612、プログラムメモリ613、データメモリ614(画像メモリ616を含む)、スキャナ615、印刷部617、各種制御回路618〜620を有する。
CPU611は、スキャナ部615を制御して原稿を光学的に読み取り、得られたスキャン画像データを画像メモリ616に格納する。また、CPU611は、印刷部317を制御して、画像メモリ616に格納されている画像データを印刷することができる。また、CPU611は、無線LAN通信制御部618を介して無線LANユニット608を制御することで、他の通信端末装置と無線LAN通信を行う。また、CPU611は、近距離無線通信制御回路619を介して近距離無線通信ユニット606を制御することで、他の近距離無線通信端末との間でデータの送受信を行う。また、CPU611は、操作部制御回路620を制御することで、操作パネル605にプリンタ600の状態表示や機能選択メニューの表示を行ったり、ユーザからの操作を受け付けたりする。操作パネル605にはバックライトが備えられており、CPU611は操作部制御回路621を介してバックライトの点灯、消灯を制御する。
(画像処理システムのソフトウェア構成)
図5は、画像処理システム100のソフトウェア構成を示すブロック図である。本図では、画像処理システム100が有するソフトウェア構成のうち、画像データの色空間の学習及び推定に関わるモジュールのみ記載している。本図において、その他の機能に関わるモジュール(OS、各種のミドルウェア、メンテナンス用アプリケーション等)は省略している。
クラウドサーバ200は、リクエスト制御モジュール250、学習用データ生成モジュール251、学習モジュール252の3つのソフトウェアモジュール及び学習モデル253を備える。リクエスト制御モジュール250は、エッジサーバ300のリクエスト制御モジュール350から送られてくる学習リクエストを受信する。また、学習によって学習モデル253が更新された場合に更新後の学習モデル253をエッジサーバ300に送信する。学習用データ生成モジュール251は、学習リクエストに係る画像ファイルから、学習モジュール252が処理可能な学習用データを生成する。ここで、学習用データは、学習モジュール252の入力データXと、学習結果の正解を示す教師データTとの組からなるデータである。学習モジュール252は、学習用データ生成モジュール251から受け取った学習用データを用いて学習を実行する。学習モデル253は、学習モジュール252が行った学習の結果を蓄積していくことでその内容が変化していく(学習モデル253の更新)。本実施形態では、機械学習の手法の一つである深層学習(ディープラーニング)を行う場合を例に説明を行うこととする。ディープラーニングでは、中間層を2つ以上持つニューラルネットワークの各ノード間の重み付けパラメータを最適化する。これにより、入力データを分類したり、評価値を決定したりすることが出来る。学習結果が反映された更新後の学習モデル253は、学習済みモデルとしてエッジサーバ300に配信され、推定処理で用いられる。この際、更新後の学習モデル253の全部を配信してもよいし、推定に必要な一部分だけを抜き出して配信してもよい。
エッジサーバ300は、リクエスト制御モジュール350と推定モジュール351の2つのソフトウェアモジュール及び学習済モデル352を備える。リクエスト制御モジュール350は、各デバイスから受信した学習リクエストを、学習対象の画像ファイルと共にクラウドサーバ200に転送する処理を行う。また、エッジサーバ300が自ら収集した画像ファイルを、学習リクエストと共にクラウドサーバ200に送信することもできる。さらに、リクエスト制御モジュール350は、各デバイスから推定リクエストを受信する。そして、推定モジュール351は、推定リクエストに付随する画像データを入力データXとして、上述の学習済モデル352を用いて推定を実行する。本実施形態では、色空間識別情報が付されていない画像データの色空間が推定される。推定結果は、リクエスト制御モジュール350によって、推定リクエストの送信元デバイス(本実施形態ではプリンタ600)に返される。
プリンタ600は、機械学習アプリケーション450とリクエストモジュール451を有する。機械学習アプリケーション450は、機械学習による学習・推定の仕組みを利用するためのアプリケーションである。リクエストモジュール451は、エッジサーバ300に対し学習または推定の実行をリクエストするモジュールである。学習フェーズでは、機械学習アプリケーション450からの指示により、学習対象の画像ファイルと共に学習リクエストをエッジサーバ300に送信する。また、推定フェーズでは、機械学習アプリケーション450からの指示により、推定対象の画像ファイルと共に推定リクエストをエッジサーバ300に送信し、さらにエッジサーバ300から返される推定結果を受信する。なお、本実施形態ではプリンタ600が、学習と推定のリクエストを発行する構成としている。デバイス群400に含まれる他のデバイスから、学習と推定のリクエストを発行する構成とする場合には、当該他のデバイスが上述の機械学習アプリケーション450とリクエストモジュール451を備えることになる。
本実施形態では、クラウドサーバ200にて学習を行いその学習結果を蓄積した学習モデル253をエッジサーバ300に学習済モデル352として配信してエッジサーバ300にて推定を行う構成としているが、この形態に限定されるものではない。学習と推定を画像処理システム内のどこで実行するかは、ハードウェア資源の配分や計算量、データ通信量などを考慮して決定すればよい。或いはハードウェア資源の配分や計算量、データ通信量の増減に応じて動的に変更できるような構成でもよい。
(学習フェーズと推定フェーズの概要)
続いて、ディープラーニングにおける学習フェーズと推定フェーズについて簡単に説明する。図6(a)は上述の学習モデル253を利用して学習を行う際の入出力の構造を示す概念図、同(b)は上述の学習済モデル352を利用して推定を行う際の入出力の構造を示す概念図である。
図6(a)において、入力データX_tは学習モデル253のニューラルネットワークの入力層におけるデータである。入力データX_tを、学習モデル253を用いて認識した結果として出力データY_tが出力される。学習フェーズでは、入力データX_tの認識結果の正解データとして、教師データTが与えられる。出力データY_tと教師データTとを損失関数に与えることにより、認識結果に対する正解データからのずれ量Lが得られる。そして、多数の入力データX_tについて得られたずれ量Lが小さくなるように、ニューラルネットワークのノード間の結合重み付け係数等を更新する(誤差逆伝播法)。本実施形態では、機械学習の手法としてディープラーニングを想定しているが、他の種類の機械学習アルゴリズム(例えば、最近傍法、ナイーブベイズ法、決定木、サポートベクターマシンなど)にも適用することができる。
図6(b)において、入力データX_iは、学習済モデル352のニューラルネットワークの入力層におけるデータである。入力データX_iを、学習済モデル352を用いて認識した結果として出力データY_iが出力される。推定フェーズでは、この出力データY_iを推定結果として利用する。ここでは、推定フェーズの学習済モデル352は、学習フェーズの学習モデル253と同等のニューラルネットワークを備えるものとして説明した。しかし、これに限定される必要はなく、学習モデル253から推定フェーズで必要な部分のみを抽出したものを学習済モデル352として用意することもできる。これによって学習済モデル352のデータ量を削減したり、推定フェーズの処理時間を短縮したりすることが可能である。
(課題の確認)
本実施形態では、スマートフォン500で撮影を行って得られた画像データをプリンタ600に送信して印刷する場面において、当該画像データにその色空間を示す色空間識別情報が付されていない場合、機械学習を用いてその色空間を推定する。通常、撮像装置で撮影して得られた画像データには、当該撮像装置の色再現特性に合わせたり、当該画像データを利用する装置での色再現特性に合わせたりするため、sRGBやAdobeRGBなど様々な種類の標準色空間が用いられる。そして、どの標準色空間を使用するかによって、画像データの画素値が同一であっても再現すべき色が異なってくる。そのため、プリンタ600で印刷処理を行う際には、入力画像データに用いられている色空間を特定し、それに合わせた色空間変換処理等の画像処理を行う必要がある。しかしながら、画像ファイルの作成方法やその送受信の方法によっては、受信した画像データに色空間識別情報が付されておらず、色空間を特定できない場合がある。そこで、本実施形態では、プリンタ600が入力画像データを印刷処理する場面において、色空間識別情報によって当該入力画像データの色空間を特定できる場合は、機械学習を行って学習モデルを更新する。そして、入力画像データに色空間識別情報が付されておらず、その色空間が特定できない場合は、学習済モデルを用いて色空間を推定する。
(画像ファイルのデータ構造)
画像処理システム100の詳しい説明に入る前に、プリンタ600に入力される画像ファイルのデータ構造について説明する。図7の(a)及び(b)は、JPEGフォーマットの画像ファイルのデータ構造を示す図である。図7(a)は、画像ファイル700の全体構造を示す。画像ファイル700には、画像データ702の他に、JPEG情報とExif情報が格納されるヘッダ情報(メタデータ)701が存在し、そこには様々な情報が格納されている。図7(b)は、ヘッダ情報701に格納されるExif情報の一例を示す。ヘッダ情報701の中には、色空間識別情報として、sRGBであるか否かを示すフラグ情報(「1」であればsRGB、「0」であればそれ以外)が格納されており、当該フラグ情報によってsRGBかどうかが特定される。
なお、色空間識別情報は、ヘッダ情報701の一部ではなく、画像ファイル700とは別個のメタデータファイルとして構成されていてもよい。また、色空間識別情報は、特定の標準色空間であるか否かを示すフラグ情報に限定されるものではない。例えば、EXIF情報から以下の4条件の成立が確認できた場合には、AdobeRGBであると類推することが可能である。
条件1:上記フラグ情報の値が“0”である(sRGBではない)
条件2: ホワイトポイントが、x=0.31, y=0.33(D65)である
条件3:RGB光源が、r.x=0.64, r.y=0.33, g.x=0.21, g.y=0.33, b.x=0.15, b.y=0.03である
条件4:ガンマ値が、2.2である
上記のように、特定の標準色空間を類推可能な複数の情報の組み合わせも、色空間識別情報となり得る。
図8(a)は、本実施形態の学習フェーズにおける入出力の説明図である。入力データX_tは、画像ファイル700の全部、すなわち、ヘッダ情報710と画像データ702とを含む全てのデータであり、ヘッダ情報701には前述の色空間識別情報が含まれる。そして、学習モデル253においては、画像データ702から抽出可能な情報、例えば画素値の分布やオブジェクトの形状などに着目して、色空間の予測が行われる。さらに、上述のヘッダ情報701に含まれる撮影時の情報(シャッタースピード、絞り、ISO感度、ストロボ発光の有無、ホワイトバランスの設定など)を利用して、色空間の予測を行ってもよい。なお、本実施形態では、色空間識別情報が付されていない画像データにおける色空間を、学習済みモデルを用いて推定することを目的としている。そのため、ヘッダ情報701に含まれる色空間識別情報800を、教師データTとしてのみ使用し、学習モデル253における色空間の予測段階では無視する。つまり、本実施形態の学習フェーズでは、多数の画像ファイル700を入力として用いて、色空間を予測して分類し、教師データTである色空間識別情報800で特定される色空間とのずれ量Lが最小となるように繰り返し学習が行われる。例えば、出力データY_tの一例は、sRGBである確率がXX%、AdobeRGBである確率がYY%、DisplayP3である確率がZZ%である。こうして、学習モデル253が更新される。なお、本実施形態における教師データTは、正解の色空間を特定可能なデータあればよい。すなわち、教師データTとしての色空間識別情報800は、前述のとおり、フラグ情報のような単一の情報でもよいし、複数の情報の組合せでもよい。
図8(b)は、本実施形態の推定フェーズの入出力の説明図である。入力データX_iは、画像ファイル700の全部、すなわち、ヘッダ情報701と画像データ702とを含む全てのデータである。ただし、学習フェーズにおける入力データX_tとは異なり、ヘッダ情報701には色空間識別情報800を含まない。学習済モデル352による推定の結果として得られる出力データY_iは、入力データX_iで使用されていると見込まれる色空間を特定する情報である。プリンタ600は、出力データY_iによって特定される色空間に従って、入力画像データに対する色空間変換処理など必要な画像処理を行う。なお、この場合の色空間変換処理とは、入力画像データの色空間をプリンタ600が持つ色再現特性に合わせて変換する処理を指す。
(画像処理システム全体の動き)
続いて、本実施形態に係る画像処理システム100全体の動きについて説明する。
<学習フェーズ>
図9は、学習フェーズにおける画像処理システム100全体の動きを示すシーケンス図である。以下、図9に沿って、本実施形態の学習フェーズにおける動きを説明する。
まず、スマートフォン500からプリンタ600に対して印刷ジョブが送信される(S901)。印刷ジョブには前述の画像ファイルが含まれている。印刷ジョブを受信したプリンタ600は、画像ファイルを解析する(S902)。いま、画像ファイルには色空間識別情報が含まれているものとする。解析結果に基づき、プリンタ600は、学習リクエストをエッジサーバ300に送信する(S903)。その後、プリンタ600は、画像ファイル内の画像データに対して、色空間変換処理を行う。この際、ヘッダ情報701に格納されている色空間識別情報によって特定される色空間に基づく最適な変換が、画像データに対して行われる。そして、プリンタ600は、色空間変換処理済の画像データを用いて、印刷処理を実行する(S905)。
一方、プリンタ600からの学習リクエストを受信したエッジサーバ300は、当該学習リクエストをクラウドサーバ200に転送する(S906)。それを受信したクラウドサーバ200では、まず、受信した学習リクエストに付随する画像ファイルから前述の学習用データが生成される(S907)。次に、学習用データを用いた学習が実行される(S908)。例えば、分類型の学習の場合、sRGBである確率が89%、AdobeRGBである確率が2%、DisplayP3である確率が0.1%といったような学習結果が得られることになる。そして、このような学習結果に基づき、学習モデル253が更新される(S909)。具体的には、上述のような分類型の出力結果と教師データTとしての色空間識別情報によって特定される色空間との乖離(ずれ量L)が0に近くなるように、学習モデル253のパラメータの調整がなされる。ここで、例えば、ヘッダ情報に含まれる色空間識別情報が示す色空間であり、例えば、sRGBであったとする。その結果、sRGBとのずれ量が11%であると特定され、このずれ量が0%となるように学習モデル253のパラメータの調整がなされる。こうして学習が完了すると、クラウドサーバ200は、更新後の学習モデル253(或いはその一部)を、学習済モデル352としてエッジサーバ300へ配信する(S910)。クラウドサーバ200から学習済モデル352を受信したエッジサーバ300は、自身の持つ学習済モデル352にその内容を反映し記憶(学習済みモデルの更新)する。これにより、以降の推定フェーズでは更新後の学習済モデル352が用いられることになる。
<推定フェーズ>
図10は、推定フェーズにおける画像処理システム100全体の動きを示すシーケンス図である。以下、図10に沿って、本実施形態の推定フェーズにおける動きを説明する。
まず、スマートフォン500からプリンタ600に対して印刷ジョブが送信される(S1001)。印刷ジョブには前述の画像ファイルが含まれている。印刷ジョブを受信したプリンタ600は、画像ファイルを解析する(S1002)。いま、画像ファイルには色空間識別情報が含まれていないものとする。解析結果に基づき、プリンタ600は、色空間の推定リクエストを画像ファイルと共にエッジサーバ300に送信する(S1003)。
エッジサーバ300は、受け取った推定リクエストに従い、学習済モデル352を用いた推定処理を行う。具体的には、受信した画像ファイルに含まれる画像データの色空間を、学習済モデル352を用いて推定する処理が実行される(S1004)。この際、学習済モデル352が分類型の学習によって得られたものであれば、分類型の推定結果が出力されることになる。例えば、上述の分類型の学習結果と同様、sRGBである確率が90%、AdobeRGBである確率が1%、DisplayP3である確率が0.2%といった具合である。こうして推定が完了すると、エッジサーバ300は、プリンタ600に推定結果を送信する(1005)。
色空間の推定結果を受け取ったプリンタ600は、入力画像ファイル内の画像データに対して、推定結果に従って(分類型の場合、複数の色空間候補のうち最も確率の高い色空間の画像データであると特定して)、色空間変換処理を実行する(S1006)。そして、プリンタ600は、色空間変換処理済の画像データを用いて、印刷処理を実行する(S1007)。なお、1005において、エッジサーバ300が推定結果として、最も確立の高い色空間情報を通知しても良い。つまり、上述の実施形態では、エッジサーバ300が、推定結果としてsRGBである確率が90%、AdobeRGBである確率が1%、DisplayP3である確率が0.2%を取得する。これらから最も確立の高いsRGBが推定結果として出力されても良い。
(プリンタにおける処理の流れ)
図11は、プリンタ600における処理の流れを示すフローチャートである。この処理は、プリンタ600の電源投入に応答して、CPU611がプログラムメモリ613に格納された機械学習アプリケーション450に対応する制御プログラムを実行することにより実現される。なお、図11に示すフローチャートは、本実施形態に関わる処理について記載しており、その他の処理については図示を省略している。また、以下の説明において記号「S」はステップを表す。
S1101では、装置内各部の初期化処理が実行される。続くS1102では、スマートフォン500などの外部装置から印刷ジョブを受信したかどうかのチェック処理が実行される。印刷ジョブの受信が検知されるまで、本ステップが所定の間隔で繰り返し実行される。そして、印刷ジョブの受信が検知されるとS1103へ進む。
S1103では、受信した印刷ジョブに含まれている画像ファイルの解析処理が実行される。本実施形態では、画像ファイルは印刷ジョブに含まれて送られてくることを前提としているが、これに限定されない。例えば、印刷ジョブには画像ファイルの格納場所を示すアドレス情報が含まれており、プリンタ600がアドレス情報を参照して格納場所にアクセスして画像ファイルを取得する構成であってもよい。あるいは既にプリンタ600のデータメモリ616に保持している画像ファイルを利用して印刷する構成であってもよい。
S1104では、S1103で解析した画像ファイルのヘッダ情報に、前述の色空間識別情報が含まれているか否かがチェックされる。色空間識別情報が含まれていた場合にはS1105へ進み、含まれていない場合にはS1106へ進む。
S1105では、リクエストモジュール451によって、前述した学習をクラウドサーバ200に実行させるための学習リクエストが、画像ファイルと共にエッジサーバ300に対して送信される。学習リクエストの送信後はS1108へ進む。
S1106では、リクエストモジュール451によって、前述した推定をエッジサーバ300に実行させるための推定リクエストが、画像ファイルと共にエッジサーバ300に対して送信される。そして、S1107では、送信した推定リクエストに対するレスポンスとしての推定結果を受信したかどうかがチェックされる。このチェック処理は、S1102と同様、推定結果の受信が検知されるまで所定の間隔で繰り返し実行される。そして、推定結果の受信が検知されるとS1108へ進む。
S1108では、画像ファイル内の画像データに対して色空間変換処理が実行される。この際、S1105から本ステップへと進んだ場合には、画像ファイルのヘッダ情報に格納されている色空間識別情報で特定される色空間から、プリンタ600における印刷処理に適した色空間へと変換される。一方、S1107から本ステップへと進んだ場合には、エッジサーバ300から受信した推定結果に基づき特定される色空間から、プリンタ600における印刷処理に適した色空間へと変換される。
最後に、S1109では、印刷部617により印刷処理が実行される。以上がプリンタ600における処理の流れである。なお、本実施形態では、画像ファイルの解析(S1103)をプリンタ側で行っているが、画像ファイルの解析もサーバ側で行うように構成してもよい。それとは逆に、学習及び推論を含むすべての処理をプリンタ側で行うように構成してもよい。
(エッジサーバにおける処理の流れ)
図12は、エッジサーバ300における処理の流れを示すフローチャートである。この処理は、エッジサーバ300の電源投入に応答して、CPU211がハードディスクユニット202に格納された制御プログラムをプログラムメモリ213に展開して実行することにより実現される。なお、図12に示すフローチャートは、本実施形態に関わる処理について記載しており、その他の処理については図示を省略している。また、以下の説明において記号「S」はステップを表す。
S1201では、装置内各部の初期化処理が実行される。続くS1202〜S1204では、リクエスト制御モジュール350によって、外部からの各種命令の受信をチェックする処理が所定の間隔で繰り返し実行される。
プリンタ600からの学習リクエストの受信を検知した場合(S1202でYes)は、S1205へ進み、受信した学習リクエストをクラウドサーバ200に転送する処理が実行される。
プリンタ600からの推定リクエストの受信を検知した場合(S1203でYes)は、S1206へ進み、受信した推定リクエストに対応する推定が実行される。具体的には、推定モジュール351によって、推定リクエストと共に送られてきた画像ファイルに含まれる画像データの色空間を推定する処理が、学習済モデル352を用いて実行される。推定が完了すると、S1207へ進み、推定結果をそのリクエスト元のプリンタ600に送信する。
クラウドサーバ200から学習済モデル352の受信を検知した場合(S1204でYes)は、S1208へ進み、受信した学習済モデル352の内容を、既存の学習済モデル352に反映する(学習済みモデルの更新)。これにより、以降の推定リクエストに対しては更新後の学習済モデル352が用いられるようになる。
以上がエッジサーバ300における処理の流れである。
(クラウドサーバにおける処理の流れ)
図13は、クラウドサーバ200の処理内容を示すフローチャートである。この処理は、クラウドサーバ200の電源投入に応答して、CPU211がハードディスクユニット202に格納された制御プログラムをプログラムメモリ213に展開して実行することにより実現される。なお、図13に示すフローチャートは、本実施形態に関わる処理について記載しており、その他の処理については図示を省略している。また、以下の説明において記号「S」はステップを表す。
S1301では、装置内各部の初期化処理が実行される。続くS1302では、リクエスト制御モジュール250によって、エッジサーバ300からの学習リクエストの受信をチェックする処理が所定の間隔で繰り返し実行される。そして、学習リクエストの受信が検知されるとS1303へ進む。
S1303では、学習用データ生成モジュール251によって、学習用データ(入力データX_tとしての画像データと、教師データTとしての色空間識別情報との組からなるデータ)が生成される。続く1304では、生成した学習用データを基に、学習モジュール252によって、学習モデル253に対する学習が実行される。続くS1305では、学習結果が学習モデル253に反映され、学習モデル253が更新される。
S1306では、リクエスト制御モジュール250によって、更新後の学習モデル253が学習済モデル352としてエッジサーバ300へ送信される。
以上がクラウドサーバ200における処理の流れである。
(変形例)
なお、本実施形態では、学習リクエストを受信する都度、学習を実行する構成であったが、これに限定されない。例えば、受信した学習リクエストを保存しておき、学習リクエストの受信とは非同期のタイミングで学習を実行するように構成してもよい。また、学習済モデルの配信を、学習の都度行う代わりに、所定の間隔で定期的に配信したり、またはエッジサーバ300からの配信リクエストに応じて配信するように構成してもよい。
また、本実施形態では、入力画像ファイルから色空間識別情報が取得できるかどうかに応じて、プリンタ600が学習リクエスト又は推定リクエストのいずれかをエッジサーバ300に対して発行した。しかしながら、学習リクエストを発行する主体と推定リクエストを発行する主体とが異なっていてもよい。図14は、デジタルカメラ402からの学習リクエストに応じて学習が実行される場合の、画像処理システム100全体の動きを示すシーケンス図である。デジタルカメラ402を用いた撮影が行われると(S1401)、当該デジタルカメラ402において、事前に設定された色空間に従った画像データと、その色空間識別情報を含むヘッダ情報とからなる画像ファイルが生成される。その後、デジタルカメラ402は、エッジサーバ300に対して学習リクエストを送信する(S1402)。以降の処理の流れは、前述の図9の場合と同じである。すなわち、学習リクエストを受信したエッジサーバ300は、当該学習リクエストをクラウドサーバ200に転送する(S1403)。そして、クラウドサーバ200は、受信した学習リクエストに付随する画像ファイルから学習用データを生成し(S1404)、当該学習用データを用いた学習を実行する(S1405)。そして、学習結果に基づき、学習モデル253を更新し(S1406)、更新後の学習モデル253を学習済モデル352としてエッジサーバ300へ配信する(S1407)。クラウドサーバ200から学習済モデル352を受信したエッジサーバ300は、自身の持つ学習済モデル352にその内容を反映し記憶する。このような構成とすることで、デジタルカメラ402で撮影が行われる毎に学習が行われて学習モデル253が更新され、印刷時にはその学習結果を用いた推定を行うことができる。この場合、より大量の学習用データを収集することが可能になり、より精度の高い推定を行うことができる。なお、デジタルカメラ402は一例であって、スマートフォン500でもよいし、その両方であってもよい。さらに多くのデバイス400から広く学習用データを集めるように構成することで、より精度の高い推定が可能になる。
以上のとおり本実施形態によれば、プリンタにて印刷ジョブを実行する際に、印刷の対象となる画像データの色空間識別情報が得られない場合であっても、適切な色空間変換処理を行うことが可能になる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータがプログラムを読出し実行する処理でも実現可能である。コンピュータは、1または複数のプロセッサーまたは回路を有し、コンピュータ実行可能命令を読み出し実行するために、分離した複数のコンピュータまたは分離した複数のプロセッサーまたは回路のネットワークを含みうる。
プロセッサーまたは回路は、中央演算処理装置(CPU)、マイクロプロセッシングユニット(MPU)、グラフィクスプロセッシングユニット(GPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートウェイ(FPGA)を含みうる。また、プロセッサーまたは回路は、デジタルシグナルプロセッサ(DSP)、データフロープロセッサ(DFP)、またはニューラルプロセッシングユニット(NPU)を含みうる。
記憶媒体は、非一時的なコンピュータ可読媒体とも称することができる。また、記憶媒体は、1または複数のハードディスク(HD)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、分散コンピューティングシステムの記憶装置を含みうる。また、記憶媒体は、光ディスク(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、またはブルーレイディスク(BD、登録商標))、フラッシュメモリデバイス、及びメモリカードを含みうる。
100 画像処理システム
252 学習モジュール
253 学習モデル
351 推定モジュール
352 学習済みモデル
450 機械学習アプリケーション
800 色空間識別情報

Claims (14)

  1. 色空間の異なる画像データを扱う画像処理システムにおいて、
    画像データとそのメタデータを入力データとし、色空間識別情報を教師データとして機械学習を行う学習手段であって、前記入力データから予測した色空間と前記色空間識別情報によって特定される色空間とのずれが最小となるように学習モデルを最適化する、学習手段を有することを特徴とする画像処理システム。
  2. 前記画像データは、撮像装置で撮影を行って得られた画像データであり、
    前記学習モデルは、前記画像データにおける画素値の分布に着目して色空間を予測する学習モデルであることを特徴とする請求項1に記載の画像処理システム。
  3. 前記画像データは、撮像装置で撮影を行って得られた画像データであり、
    前記学習モデルは、前記画像データにおけるオブジェクトの形状に着目して色空間を予測する学習モデルであることを特徴とする請求項1に記載の画像処理システム。
  4. 前記画像データは、撮像装置で撮影を行って得られた画像データであり、
    前記学習モデルは、前記メタデータに含まれる撮影時の情報に着目して色空間を予測する学習モデルであることを特徴とする請求項1に記載の画像処理システム。
  5. 前記色空間識別情報は、特定の色空間であるか否かを示すフラグ情報であることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理システム。
  6. 前記色空間識別情報は、特定の色空間であることを類推可能な、前記メタデータに含まれる撮影時の条件に関する複数の情報の組み合わせであることを特徴とする請求項2乃至4のいずれか1項に記載の画像処理システム。
  7. 画像データとそのメタデータを入力データとし、当該入力データにおける画像データの色空間を、前記機械学習によって得られた学習済みモデルを用いて推定する推定手段をさらに有することを特徴とする請求項1乃至6のいずれか1項に記載の画像処理システム。
  8. 前記画像処理システムは、複数の装置で構成され、
    前記複数の装置のうち少なくとも1つの装置が、前記学習手段を有し、
    前記複数の装置のうち少なくとも1つの装置が、前記推定手段を有する、
    ことを特徴とする請求項7に記載の画像処理システム。
  9. 前記複数の装置には、入力された画像データを印刷処理するプリンタが含まれ、
    前記プリンタは、前記入力された画像データに前記色空間識別情報が付されていない場合、
    前記推定手段を有する装置に対し、前記入力された画像データとそのメタデータと共に前記推定の実行をリクエストし、
    推定結果に基づき、前記入力された画像データの色空間を特定して、前記プリンタにて扱う色空間の画像データに変換し、
    前記変換を行った後の画像データを用いて印刷処理を行う
    ことを特徴とする請求項8に記載の画像処理システム。
  10. 前記複数の装置には、入力された画像データを印刷処理するプリンタが含まれ、
    前記プリンタは、前記入力された画像データに前記色空間識別情報が付されている場合、前記学習手段を有する装置に対し、前記入力された画像データとそのメタデータと共に前記機械学習の実行をリクエストする、ことを特徴とする請求項8に記載の画像処理システム。
  11. 前記複数の装置は、ネットワークを介して相互に接続され、かつ、前記複数の装置には、入力された画像データを印刷処理するプリンタが含まれ、
    前記推定手段を有する装置は、前記ネットワークにおいて、前記推定手段を有する装置よりも前記プリンタに近い位置に配置されることを特徴とする請求項8乃至10のいずれか1項に記載の画像処理システム。
  12. 前記複数の装置には、入力された画像データを印刷処理するプリンタが含まれ、
    前記プリンタは、前記学習手段を有する装置に対する前記機械学習のリクエストを、前記推定手段を有する装置を介して行う、
    ことを特徴とする請求項8乃至11のいずれか1項に記載の画像処理システム。
  13. 色空間に関する情報を出力するための学習済モデルを備えるシステムにおいて、
    画像データとそのメタデータが入力データとして前記学習済モデルに入力された場合に出力される色空間に関する情報を取得する取得手段と、
    前記取得された色空間に関する情報に基づいて画像データを処理する処理手段を備えることを特徴とする画像処理システム。
  14. コンピュータを、請求項1乃至13のいずれか1項に記載の画像処理システムの各手段として機能させるためのプログラム。
JP2019121427A 2019-06-28 2019-06-28 画像処理システム及びプログラム。 Pending JP2021009439A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019121427A JP2021009439A (ja) 2019-06-28 2019-06-28 画像処理システム及びプログラム。
US16/900,221 US11146710B2 (en) 2019-06-28 2020-06-12 Printing apparatus and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019121427A JP2021009439A (ja) 2019-06-28 2019-06-28 画像処理システム及びプログラム。

Publications (1)

Publication Number Publication Date
JP2021009439A true JP2021009439A (ja) 2021-01-28

Family

ID=74043897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019121427A Pending JP2021009439A (ja) 2019-06-28 2019-06-28 画像処理システム及びプログラム。

Country Status (2)

Country Link
US (1) US11146710B2 (ja)
JP (1) JP2021009439A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7286333B2 (ja) * 2019-02-06 2023-06-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2021158398A (ja) * 2020-03-25 2021-10-07 セイコーエプソン株式会社 教師データの作成方法、色予測モデル作成装置および色予測モデル作成方法
US11271830B2 (en) * 2020-06-28 2022-03-08 Salesforce.Com, Inc. Conversational BOTs platform

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07274025A (ja) 1994-03-31 1995-10-20 Canon Inc 画像処理方法及び装置
EP0675638A3 (en) 1994-03-31 1996-01-24 Canon Kk Color image processing method and device using the same.
US10602026B2 (en) * 2017-06-20 2020-03-24 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method, and non-transitory computer readable medium

Also Published As

Publication number Publication date
US11146710B2 (en) 2021-10-12
US20200412912A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
US9649865B2 (en) Information processing apparatus and control method thereof
US20160241727A1 (en) Information providing apparatus, terminal device, information providing system, and computer readable medium
JP6386803B2 (ja) 装置、方法、及びプログラム
JP6024848B1 (ja) 情報処理装置及びプログラム
US11146710B2 (en) Printing apparatus and control method
CN103312926A (zh) 处理设备和通信方法
CN106612384B (zh) 作业处理系统、作业处理装置及作业处理装置的控制方法
US20140289288A1 (en) Relay apparatus, system, and non-transitory computer readable medium
US20110283087A1 (en) Image forming apparatus, image forming method, and computer readable medium storing control program therefor
US11237774B2 (en) System and control method
JP5933387B2 (ja) スキャニング装置、スキャニング方法及びコンピュータプログラム
US10228890B2 (en) Apparatus, method, and non-transitory computer-readable storage medium
US11961134B2 (en) Proposal system, method, and computer-readable storage medium for storing program
JP6075502B1 (ja) 情報処理装置及びプログラム
JP6075501B1 (ja) 情報処理装置及びプログラム
US20150086122A1 (en) Image processing system, image processing method, and medium
US20180309900A1 (en) Asynchronously Requesting Information From A Camera Device
JP2017201515A (ja) 情報処理装置及びプログラム
JP2013165481A (ja) 撮像装置、撮像装置の制御方法及びプログラム
US20160072966A1 (en) Non-transitory computer readable medium and image processing device
JP6075503B1 (ja) 情報処理装置及びプログラム
JP2019208174A (ja) 画像処理システムおよびサーバー装置
JP2006197089A (ja) 画像処理システム及びその制御方法及び制御プログラム及び記憶媒体
JP2021005241A (ja) システムおよび方法
KR20140092062A (ko) 부가 정보를 갖는 사진 출력 시스템 및 방법