(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022182210
(43)【公開日】2022-12-08
(54)【発明の名称】着色装置、着色システム、着色方法及び着色プログラム
(51)【国際特許分類】
G06T 11/80 20060101AFI20221201BHJP
【FI】
G06T11/80 B
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021089655
(22)【出願日】2021-05-27
(71)【出願人】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】米辻 泰山
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA07
5B050BA18
5B050CA07
5B050DA10
5B050EA06
5B050EA07
5B050EA09
5B050EA18
5B050FA02
5B050FA05
5B050FA09
5B050GA08
(57)【要約】
【課題】参照画像を基に対象画像を高精度に着色すること。
【解決手段】実施形態に係る着色装置は、算出部と、着色部とを備える。算出部は、領域分割された参照画像データの各領域について、少なくとも1つの代表色を算出する。着色部は、参照画像データに基づいて着色される、領域分割された対象画像データの各領域と、算出部が算出した当該領域に対応する参照画像データの領域の代表色とに基づいて、対象画像データを着色する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
領域分割された参照画像データの各領域について、少なくとも1つの代表色を算出する算出部と、
前記参照画像データに基づいて着色される、領域分割された対象画像データの各領域と、前記算出部が算出した当該領域に対応する前記参照画像データの領域の前記代表色とに基づいて、前記対象画像データを着色する着色部と、
を備える着色装置。
【請求項2】
前記対象画像データは、線画データである、
請求項1に記載の着色装置。
【請求項3】
前記着色部は、前記対象画像データの前記領域の情報と、前記参照画像データの前記領域と前記代表色の情報とをモデルに入力して、着色された着色画像を得る、
請求項1又は2に記載の着色装置。
【請求項4】
前記着色部は、前記対象画像データの領域を、前記参照画像データで同じカテゴリに分類された当該参照画像データの領域の代表色で着色する、
請求項1乃至3の何れか1項に記載の着色装置。
【請求項5】
前記着色部は、更に、前記参照画像データ全体の色情報に基づいて、前記対象画像データを着色する、
請求項1乃至4の何れか1項に記載の着色装置。
【請求項6】
前記領域分割の分割結果を記憶する記憶部を更に備える、
請求項1乃至5の何れか1項に記載の着色装置。
【請求項7】
前記領域分割の分割結果をユーザの指示に従って修正可能な、
請求項6に記載の着色装置。
【請求項8】
前記記憶部は、ユーザの指示に従って修正された前記領域分割の分割結果を記憶する、
請求項7に記載の着色装置。
【請求項9】
前記算出部は、前記領域内のピクセルに関するヒストグラムを用いて、少なくとも1つの代表色を算出する、
請求項6乃至8の何れか1項に記載の着色装置。
【請求項10】
前記記憶部は、前記ヒストグラムを記憶する、
請求項9に記載の着色装置。
【請求項11】
前記算出部が算出した前記代表色を、をユーザの指示に従って修正可能な、
請求項1乃至10の何れか1項に記載の着色装置。
【請求項12】
着色の対象である対象画像データを着色する着色システムであって、
領域分割された参照画像データの各領域について、少なくとも1つの代表色を算出する算出部と、
前記参照画像データに基づいて着色される、領域分割された対象画像データの各領域と、前記算出部が算出した当該領域に対応する前記参照画像データの領域の前記代表色とに基づいて、前記対象画像データを着色する着色部と、
を備える着色システム。
【請求項13】
画像データを着色する着色方法であって、
領域分割された参照画像データの各領域について、少なくとも1つの代表色を算出する算出ステップと、
前記参照画像データに基づいて着色される、領域分割された対象画像データの各領域と、前記算出ステップで算出した当該領域に対応する前記参照画像データの領域の前記代表色とに基づいて、前記対象画像データを着色する着色ステップと、
を含む着色方法。
【請求項14】
少なくとも1台のコンピュータに、
領域分割された参照画像データの各領域について、少なくとも1つの代表色を算出する算出ステップと、
前記参照画像データに基づいて着色される、領域分割された対象画像データの各領域と、前記算出ステップで算出した当該領域に対応する前記参照画像データの領域の前記代表色とに基づいて、前記対象画像データを着色する着色ステップと、
を実行させる着色プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、着色装置、着色システム、着色方法及び着色プログラムに関する。
【背景技術】
【0002】
近年、ディープラーニングと呼ばれる多層構造のニューラルネットワークを用いた機械
学習が様々な分野において適用されている。画像認識や画像生成といった画像処理の分野
においても活用されている。
【0003】
ところで、線画画像に対して自動で着色を施したいというニーズがある。従来、参照画像を用いて線画画像を自動的に着色する技術が知られている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】ディープネットワークを用いた大域特徴と局所特徴の学習による白黒写真の自動色付け 飯塚里志、シモセラ エドガー、石川博(http://hi.cs.waseda.ac.jp/iizuka/projects/colorization/ja/)
【非特許文献2】「初心者がchainerで線画着色してみた。わりとできた。」(http://qiita.com/taizan/items/cf77fd37ec3a0bef5d9d)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、例えば、参照画像及び着色の対象となる画像(以下、対象画像ともいう)の組み合わせによっては、対象画像を適切に着色できない場合があった。
【0006】
本開示が解決しようとする課題の一つは、参照画像を基に対象画像を高精度に着色することである。
【課題を解決するための手段】
【0007】
実施形態に係る着色装置は、算出部と、着色部とを備える。算出部は、領域分割された参照画像データの各領域について、少なくとも1つの代表色を算出する。着色部は、参照画像データに基づいて着色される、領域分割された対象画像データの各領域と、算出部が算出した当該領域に対応する参照画像データの領域の代表色とに基づいて、対象画像データを着色する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る自動着色装置の概要の一例を示す図である。
【
図2】
図2は、実施形態に係る自動着色装置が実行する処理の一例を示す概念図である。
【
図3】
図3は、第1実施形態に係る自動着色装置を含む自動着色システム1の構成と、自動着色装置2のハードウェア構成の一例とを示す図である。
【
図4】
図4は、第1実施形態に係る情報処理装置のプロセッサにおける機能ブロックの一例を示す図である。
【
図5】
図5は、第1実施形態に係る領域分割前の未着色の漫画原稿データの一例を示す図である。
【
図6】
図6は、第1実施形態に係る領域分割後の未着色の漫画原稿データの一例を示す図である。
【
図7】
図7は、第1実施形態に係る自動着色装置の処理の一例を示すフローチャートである。
【
図8】
図8は、第2実施形態に係るサーバ装置における機能ブロックの一例を示す図である。
【
図9】
図9は、第2実施形態に係るグラフィカルユーザインターフェース用プログラムによって表示される表示画面の一例を示す説明図である。
【
図10】
図10は、第2実施形態に係るグラフィカルユーザインターフェース用プログラムによって表示される表示画面の一例を示す説明図である。
【
図11】
図11は、第2実施形態に係るグラフィカルユーザインターフェース用プログラムによって表示される表示画面の一例を示す説明図である。
【
図12】
図12は、第2実施形態に係るグラフィカルユーザインターフェース用プログラムの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら実施形態について詳細に説明する。
【0010】
(第1実施形態)
図1は、実施形態に係る自動着色装置の概要の一例を示す図である。
図1に示すように、自動着色装置は、対象画像データ及び参照画像データを処理して、着色済の対象画像データを出力する装置である。自動着色装置は、着色装置の一例である。
【0011】
従来、線画である対象画像データを、参照画像データを利用して着色しようとした際、例えば、人物と背景との面積バランスが異なる場合に、背景に人物の色の特徴が反映されて着色されてしまったり、人物に背景の色の特徴が反映されて着色されてしまったりする場合があった。しかし、本実施形態においては、高精度に対象画像の着色を行うことができる。
【0012】
図2は、実施形態に係る自動着色装置が実行する処理の一例を示す概念図である。自動着色装置は、対象画像データを所定種のパーツ(例えば、髪、肌、背景等)の分割領域(以下、セグメントともいう)に分割する。例えば、所定種のパーツ毎にセグメンテーションする。各パーツのセグメンテーションマスク(分割領域マスクともいう)を生成する。一方、自動着色装置は、参照画像データを所定種のパーツの分割領域に分割する。例えば、所定種のパーツ毎にセグメンテーションする。
【0013】
自動着色装置は、参照画像のパーツ(セグメント)毎に、所定の方法、例えばセグメント内のピクセルに関するヒストグラムを用いて、少なくとも1つの代表色を算出する。対象画像データと各パーツのセグメンテーションマスクとを、例えば連結(コンカチネート)して、エンコーダデコーダモデルに入力する。自動着色装置は、例えば、参照画像と各パーツのセグメンテーションマスクとを連結し、エンコーダモデルに入力する。
【0014】
自動着色装置は、エンコーダデコーダモデルから出力される対象画像データのエンコード情報とエンコーダモデルから出力される参照画像データのエンコード情報との類似度を比較し、エンコーダモデルから出力される参照画像データのエンコード情報を、エンコーダデコーダモデルから出力される対象画像データのエンコード情報に基づいて加工する。
【0015】
自動着色装置は、エンコーダデコーダモデルのデコーダの各層の出力と、エンコーダデコーダモデルのデコーダの各層の出力に合わせて変換処理したパーツ毎の代表色と、加工した参照画像データのエンコード情報とを、デコーダモデル(以下、着色モデルともいう)に入力する。以上のような処理を行うことにより、自動着色装置は、着色済対象画像データを出力する。
【0016】
以下、上記のような自動着色装置をコンピュータで実現する形態について第1実施形態として説明する。
図3は、第1実施形態に係る自動着色装置2を含む自動着色システム1の構成と、自動着色装置2のハードウェア構成の一例とを示す図である。
図3に示すように、自動着色システム1は、自動着色装置2と、外部装置7と、表示装置211と、入力装置213と、を備えている。
【0017】
自動着色装置2は、参照画像データに基づいて、着色対象となる画像データ(以下、対象画像データともいう)に着色を施す。
【0018】
外部装置7は、ネットワーク5を介して自動着色装置2と接続されている。外部装置7は、例えば自動着色装置2と情報をやり取りするサーバ等の情報処理装置等である。
【0019】
表示装置211は、例えばLCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、有機EL(Electro Luminescence)等のディスプレイである。表示装置211は、自動着色装置2の制御に基づいて、生成された着色済線画画像データ等を所定の形態で表示する。
【0020】
入力装置213は、ユーザからの各種指示や情報入力を受け付ける。入力装置213は、例えば、トラックボール、スイッチボタン、マウス、キーボード、操作面へ触れることで入力操作を行うタッチパッド、表示画面とタッチパッドとが一体化されたタッチスクリーン、光学センサを用いた非接触入力回路、及び音声入力回路等によって実現される。
【0021】
自動着色装置2は、プロセッサ31と、主記憶装置33と、補助記憶装置35と、ネットワークインタフェース37と、デバイスインタフェース39と、を備える。プロセッサ31と、主記憶装置33と、補助記憶装置35と、ネットワークインタフェース37と、デバイスインタフェース39とは、バス41を介して接続されている。
【0022】
プロセッサ31は、自動着色装置2、及び自動着色装置2に接続された表示装置211、入力装置213の統括的な制御を行う処理回路である。
【0023】
図4は、第1実施形態に係る自動着色装置2のプロセッサ31における機能ブロックの一例を示す図である。プロセッサ31は、一例として、第1取得機能31a、第2取得機能31b、第1分割機能31c、第2分割機能31d、算出機能31e、第1エンコード機能31f、第2エンコード機能31g、類似度比較機能31h、デコード機能31i、着色機能31j、及び記憶機能31kを備える。
【0024】
プロセッサ31の各機能は、例えばコンピュータによって実行可能なプログラムの形態で主記憶装置33に記憶されている。すなわち、プロセッサ31は、プログラムを主記憶装置33から読み出し、実行することで各プログラムに対応する機能を実現する。換言すると、各プログラムを読み出した状態のプロセッサ31は、
図4のプロセッサ31内に示された各機能を有することとなる。
【0025】
なお、算出機能31eは、算出部の一例である。また、第1エンコード機能31f、第2エンコード機能31g、類似度比較機能31h、デコード機能31i及び着色機能31jは、着色部の一例である。また、記憶機能31kは、記憶部の一例である。
【0026】
第1取得機能31aは、対象画像データを取得する。対象画像データは、例えば、線画データや未着色の漫画原稿の画像データ等である。例えば、第1取得機能31aは、後述する補助記憶装置35に記憶された画像データのうち、ユーザが指定した線画データ等を対象画像データとして取得する。なお、第1取得機能31aは、サーバ等の外部装置7が備える記憶装置に記憶された線画データ等を対象画像データとして取得してもよい。
【0027】
第2取得機能31bは、参照画像データを取得する。参照画像データは、領域と色の情報を有する画像で、例えば着色済の漫画原稿データ等である。例えば、第2取得機能31bは、補助記憶装置35に記憶された画像データのうち、ユーザが指定した着色済の漫画原稿データ等を参照画像データとして取得する。なお、第2取得機能31bは、サーバ等の外部装置7が備える記憶装置に記憶された着色済の漫画原稿データ等を参照画像データとして取得してもよい。
【0028】
第1分割機能31cは、対象画像データを領域分割する。例えば、第1分割機能31cは、対象画像データを、所定種のパーツ(分割領域)にセグメンテーションする。具体的には、第1分割機能31cは、対象画像データをセグメンテーションモデルに入力し、対象画像データを背景、髪、肌、服等のカテゴリの複数のパーツにセグメンテーションする。また、第1分割機能31cは、セグメンテーションした対象画像の各パーツのセグメンテーションマスクを生成する。
【0029】
セグメンテーションモデルは、入力された画像データを複数のパーツにセグメンテーションして出力するモデルである。なお、セグメンテーションモデルは、深層学習等の機械学習によって生成された学習済モデルであってもよい。
【0030】
第2分割機能31dは、参照画像データを領域分割する。例えば、第2分割機能31dは、参照画像データを、背景、髪、肌、服等の複数のパーツにセグメンテーションする。具体的には、第2分割機能31dは、参照画像データをセグメンテーションモデルに入力し、参照画像データを背景、髪、肌、服等の複数のパーツにセグメンテーションする。また、第2分割機能31dは、セグメンテーションした参照画像の各パーツのセグメンテーションマスクを生成する。
【0031】
なお、参照画像データをセグメンテーションするセグメンテーションモデルは、対象画像データをセグメンテーションするセグメンテーションモデルと同じモデルであってもよいし、異なるモデルであってもよい。
【0032】
算出機能31eは、参照画像データの各分割領域について、少なくとも1つの代表色を算出する。例えば、算出機能31eは、参照画像データの各パーツについて、k-meansクラスタリングを用いてクラスタ分けを行うことにより、複数の代表色を算出する。色は、例えば、RBG値等で表される。また、算出機能31eは、算出した複数の代表色の各パーツにおける出現割合を算出する。なお、代表色をいくつ算出するかについて特に制限はないが、算出する代表色を増やせば増やすほど、自動着色装置2のプロセッサ31等に掛かる負担は大きくなるため、3色以下程度とすることが好ましい。
【0033】
算出機能31eが算出した複数の代表色及び複数の代表色の各分割領域(パーツ)における出現割合は、対象画像を着色するための情報として用いられる(以下、複数の代表色及び複数の代表色の各パーツにおける出現割合を第1着色情報ともいう)。第1着色情報を用いて対象画像の着色を行うことで、参照画像データの各パーツの代表色を、参照画像データと同様の出現割合になるように対象画像データの対応する各分割領域(パーツ)へ着色することができると考えられる。
【0034】
第1エンコード機能31fは、対象画像データ及び対象画像データの各パーツのセグメンテーションマスクをエンコードして、対象画像の縮小画像(以下、第1エンコード情報ともいう)を取得する。例えば、第1エンコード機能31fは、対象画像データと対象画像データの各パーツのセグメンテーションマスクとを連結し、エンコーダデコーダモデルに入力し、エンコーダの出力を第1エンコード情報として取得する。
【0035】
第2エンコード機能31gは、参照画像データ及び参照画像データの各パーツのセグメンテーションマスクをエンコードして、参照画像の縮小画像(以下、第2エンコード情報ともいう)を取得する。例えば、第2エンコード機能31gは、参照画像データと参照画像データの各パーツのセグメンテーションマスクとを連結し、エンコーダモデルに入力し、その出力を第2エンコード情報として取得する。
【0036】
類似度比較機能31hは、第1エンコード情報に基づいて、第2エンコード情報を加工し、対象画像の特徴を反映させた第2エンコード情報を取得する。例えば、類似度比較機能31hは、対象画像の各パーツの第1エンコード情報と、当該パーツに対応する参照画像のパーツの第2エンコード情報とを比較し、第2エンコード情報の、第1エンコード情報との類似性が高い部分に第1エンコード情報を合成することで第2エンコード情報を加工する。
【0037】
類似度比較機能31hにより加工された、参照画像の特徴を含む第2エンコード情報は、対象画像を着色するための情報として用いられる(以下、類似度比較機能31hにより加工された第2エンコード情報を第2着色情報ともいう)。第2着色情報を用いて対象画像の着色を行うことで、参照画像データ全体の色情報を反映して対象画像データを着色することができると考えられる。
【0038】
デコード機能31iは、対象画像データ及び対象画像データの各パーツのセグメンテーションマスクをデコードして、対象画像データの各パーツの特徴を表す特徴マップ(以下、デコード情報ともいう)を取得する。例えば、デコード機能31iは、対象画像データと対象画像データの各パーツのセグメンテーションマスクとを連結し、エンコーダデコーダモデルに入力し、デコーダの出力をデコード情報として取得する。
【0039】
着色機能31jは、第1分割機能31cが領域分割した対象画像データの各領域と、算出機能31eが算出した当該領域に対応する参照画像データの領域の少なくとも1つの代表色とに基づいて、対象画像データを着色する。また、着色機能31jは、参照画像データ全体の色情報に基づいて、対象画像データの着色を行う。例えば、着色機能31jは、デコード情報、第1着色情報、及び第2着色情報を着色モデルに入力し、出力された画像データを着色済の対象画像データとして取得する。
【0040】
着色モデルは、デコード情報、第1着色情報、及び第2着色情報が入力されると、着色済の画像データを出力するモデルである。なお、着色モデルは、深層学習等の機械学習によって生成された学習済モデルであってもよい。なお、着色機能31jは、着色モデルに入力する前に、第1着色情報をデコード情報に合わせた形に変換(エンコード)してもよい。
【0041】
記憶機能31kは、自動着色装置2において行われる様々な処理で必要なデータ及び処理の結果として得られたデータを記憶装置に記憶させる。例えば、記憶装置は、補助記憶装置35である。なお、記憶機能31kは、外部装置7が備える記憶装置等に各種データを記憶してもよい。
【0042】
図3に戻り、主記憶装置33は、プロセッサ31が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置33に記憶された情報がプロセッサ31により読み出される。補助記憶装置35は、主記憶装置33以外の記憶装置である。
【0043】
これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。実施形態における後述の各種機能において用いられる各種データを保存するための記憶装置は、主記憶装置33又は補助記憶装置35により実現されてもよく、プロセッサ31に内蔵される内蔵メモリにより実現されてもよい。例えば、実施形態における記憶機能は、主記憶装置33又は補助記憶装置35に対応する。また、主記憶装置33又は補助記憶装置35は、少なくとも1つのメモリに対応する。
【0044】
ネットワークインタフェース37は、無線又は有線により、ネットワーク5に接続するためのインタフェースである。
【0045】
デバイスインタフェース39は、バス41を介して、表示装置211、入力装置213とプロセッサ31とを直接的または間接的に接続する。なお、デバイスインタフェース39は、USB(Universal Serial Bus)等の接続端子を有していてもよい。また、デバイスインタフェース39には、接続端子を介して、外部記憶媒体や記憶装置(メモリ)等が接続されてもよい。
【0046】
次に、上述した自動着色装置2が有する各機能について詳しく説明する。以下では、対象画像データが未着色の漫画原稿データである場合について説明するが、対象画像データは、吹き出し等のない線画データ等であってもよい。
【0047】
図5は、領域分割前の未着色の漫画原稿データの一例を示す図である。第1取得機能31aは、例えば、補助記憶装置35等に記憶された画像データのうち、ユーザが指定した線画データを取得する。参照画像データについては、第2取得機能31bが第1取得機能31aと同様の処理を行う。
【0048】
図6は、領域分割後の未着色の漫画原稿データの一例を示す図である。第1分割機能31cは、
図6に示すように、第1取得機能31aが取得した線画データをセグメンテーションモデルに入力し、線画データを背景、肌、髪、服、吹き出し等のパーツにセグメンテーションし、各パーツのセグメンテーションマスクを生成する。なお、上記では、背景、肌、髪、服、吹き出しをパーツの種類の例として挙げたが、パーツの種類はこれに限定されない。例えば、この他に前景、コマ等のパーツが存在していてもよい。
【0049】
なお、図示しないが、参照画像データについては、第2分割機能31dが第1分割機能31cと同様の処理を行う。
【0050】
算出機能31eは、第2分割機能31dが生成した参照画像データの各パーツのセグメンテーションマスクについて、各パーツに関する色を算出する。例えば、k-meansクラスタリングを用いてRGB値を観測値としたクラスタ分けを行う。算出機能31eは、クラスタ分けの結果を基に予め定めた数(例えば、10色等)の代表色を算出する。また、算出機能31eは、算出した各代表色について、各パーツのセグメンテーションマスク内における存在割合を算出する。算出機能31eが算出した代表色及び代表色の存在割合は、第1着色情報となる。
【0051】
第1エンコード機能31fは、第1取得機能31aが取得した漫画原稿データと漫画原稿データの各パーツのセグメンテーションマスクとを連結してエンコーダデコーダモデルに入力し、エンコーダの出力を第1エンコード情報として取得する。
【0052】
第2エンコード機能31gは、参照画像データと参照画像データの各パーツのセグメンテーションマスクとを連結してエンコーダモデルに入力し、その出力を第2エンコード情報として取得する。
【0053】
類似度比較機能31hは、第1エンコード機能31fが取得した第1エンコード情報と第2エンコード機能31gが取得した第2エンコード情報とを比較し、各パーツのセグメンテーションマスクについて、漫画原稿データと参照画像データとで特徴が類似する部分を第1エンコード情報及び第2エンコード情報から夫々抽出する。
【0054】
類似度比較機能31hは、第2エンコード情報から抽出した部分に、第1エンコード情報から抽出した部分を合成し、第2エンコード情報を加工する。類似度比較機能31hが加工した第2エンコード情報は、第2着色情報となる。
【0055】
着色機能31jは、各セグメンテーションマスクのデコード情報、第1着色情報、及び第2着色情報を着色モデルに入力し、出力される複数のセグメンテーションマスクを重ね合せ、着色済漫画原稿データを取得する。着色機能31jが取得した着色済漫画原稿データは、記憶機能31kによって記憶装置に記憶される。
【0056】
次に、第1実施形態に係る自動着色装置2が実行する処理について説明する。
図7は、自動着色装置2が実行する処理の一例を示すフローチャートである。
【0057】
まず、第1取得機能31aは、ユーザにより着色対象として指定された画像データを対象画像データとして取得する(ステップS101)。次に、第2取得機能31bは、ユーザにより着色の際に参照される画像として指定された画像データを参照画像データとして取得する(ステップS102)。
【0058】
次に、第1分割機能31cは、第1取得機能31aが取得した対象画像データをセグメンテーションモデルに入力し、対象画像データを予め定めた種類のパーツにセグメンテーションする(ステップS103)。また、第1分割機能31cは、セグメンテーションした各パーツのセグメンテーションマスクを生成する。
【0059】
次に、第2分割機能31dは、第2取得機能31bが取得した参照画像データをセグメンテーションモデルに入力し、参照画像データを予め定めた種類のパーツにセグメンテーションする(ステップS104)。また、第2分割機能31dは、セグメンテーションした各パーツのセグメンテーションマスクを生成する。
【0060】
次に、算出機能31eは、第2分割機能31dが生成した参照画像データの各パーツのセグメンテーションマスクについて、k-meansクラスタリングを用いて所定の数の代表色を算出する(ステップS105)。また、算出機能31eは、算出した所定の数の代表色の夫々の各セグメンテーションマスクにおける存在割合を算出する。なお、上記の情報を第1着色情報とする。
【0061】
次に、第1エンコード機能31fは、対象画像データと対象画像データの各パーツのセグメンテーションマスクとを連結してエンコーダデコーダモデルに入力し、エンコーダの出力を第1エンコード情報として取得する(ステップS106)。
【0062】
次に、第2エンコード機能31gは、参照画像データと参照画像データの各パーツのセグメンテーションマスクとを連結してエンコーダモデルに入力し、出力を第2エンコード情報として取得する(ステップS107)。
【0063】
次に、類似度比較機能31hは、各セグメンテーションマスクの第1エンコード情報の特徴が類似している部分の情報に基づいて、各セグメンテーションマスクの第2エンコード情報を加工する(ステップS108)。なお、上記の情報を第2着色情報とする。
【0064】
次に、デコード機能31iは、対象画像データと対象画像データの各パーツのセグメンテーションマスクとを連結してエンコーダデコーダモデルに入力し、デコーダの出力をデコード情報として取得する(ステップS109)。
【0065】
次に、着色機能31jは、各セグメンテーションマスクのデコード情報、第1着色情報、及び第2着色情報を着色モデルに入力し、着色済対象画像データを取得する(ステップS110)。そして、記憶機能31kは、着色機能31jが取得した着色済対象画像データを記憶装置に記憶し、本処理を終了する(ステップS111)。
【0066】
以上で述べた第1実施形態に係る自動着色装置2において、第1分割機能31cは、対象画像データを複数の領域(パーツ)にセグメンテーションする。また、第2分割機能31dは、参照画像データを複数のパーツにセグメンテーションする。算出機能31eは、参照画像の各パーツについて、少なくとも1つの代表色を算出する。着色機能31jは、算出機能31eが算出した参照画像の各パーツ代表色を対象画像の対応するパーツに着色する。
【0067】
これにより、参照画像の各パーツの代表色を対象画像の対応するパーツに着色することができるため、例えば、参照画像の前景の特徴が対象画像の背景に反映されて着色されてしまうような事態を低減できる。つまり、参照画像を基に対象画像を高精度に着色することができる。
【0068】
また、これにより、同じカテゴリの領域に分類され、同じ色に塗られることが期待される領域を適切に着色することができる。
【0069】
また、着色機能31jは、参照画像データ全体の色情報に基づいて、対象画像データの着色を行う。これにより、参照画像データの代表色のみで対象画像を着色したときには失われてしまう形状等と相関する特徴量を用いて対象画像データを着色することができる。
【0070】
(第2実施形態)
第1実施形態においては自動着色装置2として説明を行ったが、自動着色プログラムをサーバ装置に備えさせ、クライアント端末から通信ネットワークを介して当該サーバ装置にアクセスしてきたユーザに対して自動着色ツールを提供するという形態も考えられる。
【0071】
このような場合には、パッケージのソフトウェアによってクライアント端末に対してツールを提供する場合に限らず、クライアント端末のディスプレイに表示させるブラウザ等においてグラフィカルユーザインターフェース(GUI)を機能させて自動着色ツールを提供することも可能である。以下、第2実施形態に係る自動着色ツールを提供するためのグラフィカルユーザインターフェース用プログラムの例について説明する。
【0072】
以下の説明においては、サーバ装置に自動着色プログラム、セグメンテーションモデル、エンコーダデコーダモデル、エンコーダモデル、着色モデルが格納されており、クライアント端末から通信ネットワークを介してサーバ装置にアクセスして自動着色ツールを利用する場合を例として説明を行う。しかし、これらが全てクライアント端末に格納されていてもよい。この場合もクライアント端末は、同様のGUIを利用可能である。
【0073】
図8は、第2実施形態に係るサーバ装置の機能ブロックの一例を示す図である。第2実施形態に係るサーバ装置は、機能ブロックとして、表示制御機能31lを有する点で第1実施形態の自動着色装置2と異なる。表示制御機能31lは、クライアント端末のディスプレイ等に各種情報を表示する制御を行う。
【0074】
図9乃至
図11は、第2実施形態に係るグラフィカルユーザインターフェース用プログラムによって表示される表示画面の一例を示す説明図である。表示画面Gは、対象画像表示画面Tと参照画像表示画面Rとに分かれている。
【0075】
対象画像表示画面Tは、対象画像入力フォームTFを有する。この例では、ユーザは、対象画像入力フォームTFにファイルのパスを指定する方法で対象画像データを選択するものとするが、選択方法はこれに限定されない。例えば、対象画像入力フォームTFに、対象画像データをドラッグ&ドロップしてもよい。
【0076】
対象画像入力フォームTFを介して、対象画像が入力されると、表示制御機能31lは、対象画像表示画面Tに選択した対象画像データを表示する。これにより、ユーザは、入力した対象画像データを確認することができる。したがって、ユーザは誤った画像データを入力してしまったような場合でも、正しい画像データを入力し直すことができる。
【0077】
また、ユーザは、対象画像データのうち、着色を施したい領域を選択することもできる。例えば、ユーザはマウス等を操作して、
図10に示すように、点線で囲った領域を選択することができる。この場合、点線で囲った領域のみに着色が施される。これにより、同じ分割領域のカテゴリに分類されるが、異なる色で着色を行いたい場合、例えば髪の色が異なる複数のキャラクタの「髪」の分割領域のうち、一人のキャラクタが配置された領域を、着色を施したい領域として選択することで、適切な色で着色することができる。
【0078】
なお、サーバ装置等が、当該参照画像に基づいて着色を施す対象画像の領域を自動的に設定してもよい。例えば、サーバ装置は、参照画像データと対象画像データとを解析し、対象画像データに参照画像データに描かれたキャラクタと同じキャラクタが存在すると判定した場合、対象画像データの当該キャラクタが描かれた領域を着色する領域として自動的に選択してもよい。
【0079】
なお、対象画像データが複数ページにわたる漫画原稿データであってもよい。この場合、全てのページの同じキャラクタが描かれた領域が着色する領域として自動的に選択されることが好ましい。
【0080】
ユーザは、例えば、画面上に表示されたボタンや、マウスを右クリックすることで表示される図示しないメニューから「分割」を選択することで、対象画像データを複数のパーツに領域分割させる。第1分割機能31cは、ユーザから分割指示を受付けると、対象画像データを所定種類のパーツにセグメンテーションする。第1分割機能31cは、入力された対象画像データ全体をセグメンテーションしてもよいし、選択された領域のみをセグメンテーションしてもよい。そして、第1分割機能31cは、セグメンテーションした各パーツのセグメンテーションマスクを生成する。また、対象画像のセグメンテーションはユーザの指示に基づかずに自動で行われてもよい。また、対象画像が記憶媒体に保存される際等、事前に行われてもよい。
【0081】
表示制御機能31lは、第1分割機能31cによる分割結果を対象画像表示画面Tに表示する。例えば、表示制御機能31lは、パーツ毎のマスクレイヤーとしてのレイヤーリストを表示することで分割結果を表示する。なお、表示制御機能31lは、第1分割機能31cにより生成された各パーツのセグメンテーションマスクを切替可能に表示してもよい。
【0082】
また、ユーザは、第1分割機能31cによる分割結果を修正することができる。例えば、ユーザは、対象画像表示画面Tに表示された分割結果をクリックすることで、分割結果を修正することができる。例えば、ユーザは、機械的に推論された領域を手動で変更したり、領域の削除または追加等をしたりすることで分割結果を修正することができる。
【0083】
第1分割機能31cは、ユーザから分割結果の修正指示を受付けると、当該指示に従って対象画像データを所定種類のパーツにセグメンテーションし、各パーツのセグメンテーションマスクを生成する。なお、参照画像データについても、参照画像入力フォームRFを介して参照画像データの入力が可能であり、対象画像データと同様の処理が行われる。
【0084】
ユーザは、例えば、画面上に表示されたボタンや、マウスを右クリックすることで表示される図示しないメニューから「着色」を選択することで、対象画像データを着色させる。ユーザから着色指示を受付けると、算出機能31e、第1エンコード機能31f、第2エンコード機能31g、類似度比較機能31h、デコード機能31i及び着色機能31jが第1実施形態と同様の処理を行う。最終的に、着色機能31jは、着色済の対象画像データを出力する。なお、着色機能31jは、各パーツのセグメンテーションマスク毎に着色結果を出力してもよい。
【0085】
表示制御機能31lは、着色機能31jによる着色結果を対象画像表示画面Tに表示する。例えば、表示制御機能31lは、
図11に示すような着色機能31jにより出力された着色済の各パーツのセグメンテーションマスクを重ね合せた画像データを表示する。
【0086】
なお、各分割領域の着色結果は、それぞれ異なるレイヤーに出力されてもよい。例えば、人物、背景、吹き出し、コマ等がそれぞれ異なるレイヤーに出力されてもよい。これにより、吹き出し、コマ等、漫画の構成要素であって他の絵の部分と異なる領域を、容易に取り扱うことができる。また、人物や背景等の絵の領域もレイヤーごとに出力することによって、後処理や後からの編集も容易になる。
【0087】
また、ユーザは、着色機能31jによる着色結果を修正することができる。例えば、ユーザは、対象画像表示画面Tに表示された着色結果をクリックすることで、着色結果を修正することができる。
【0088】
例えば、ユーザが、任意のパーツのセグメンテーションマスクを選択すると、表示制御機能31lは、代表色を修正するための画面を表示する。着色機能31jは、当該画面を介し、ユーザから算出機能31eが算出した代表色の修正指示を受付ける。なお、この場合、複数の代表色を変更する指示を受付けてもよいし、1つの代表色のみを変更する指示を受付けてもよい。また、これらの色の修正は、参照画像の色に基づかずに行われてもよい。例えば、別途カラーパレット等から別途用意された色によってもよい。
【0089】
着色機能31jは、ユーザから代表色の修正指示を受付けると、当該指示に従って対象画像データを着色し、着色済の対象画像データを出力する。これにより、例えば、キャラクタの服の色のみを異なる色に変更して着色を行うことができる。
【0090】
ユーザは、例えば、面上に表示されたボタンや、マウスを右クリックすることで表示される図示しないメニューから「保存」を選択することで、着色済の対象画像データを記憶させる。記憶機能31kは、ユーザから保存指示を受付けると、着色済の対象画像データを記憶装置の所定の領域に記憶する。
【0091】
なお、記憶機能31kは、着色処理の途中に得たデータ、例えば、参照画像データのリスト等を記憶装置に記憶させる制御を行ってもよい。また、記憶機能31kは、対象画像データ及び参照画像データのセグメンテーション結果、参照画像データのヒストグラム、ユーザにより修正されたセグメンテーション領域等の途中出力を記憶装置に記憶させる制御を行ってもよい。これにより、次に同じ処理を行う場合に、処理を高速化することができる。
【0092】
次に、第2実施形態に係る第2実施形態に係るグラフィカルユーザインターフェース用プログラムの処理について説明する。
図12は、第2実施形態に係るグラフィカルユーザインターフェース用プログラムの処理の一例を示すフローチャートである。前提として、表示制御機能31lは、クライアント端末のディスプレイに表示画面Gを表示しているものとする。
【0093】
まず、第1取得機能31aは、ユーザから対象画像データの選択を受付け、対象画像データを取得する(ステップS201)。表示制御機能31lは、第1取得機能31aが取得した対象画像データを表示する制御を行う。第1分割機能31cは、ユーザからの指示に従い、着色範囲の指定を受付ける(ステップS202)。
【0094】
第1分割機能31cは、対象画像データの着色範囲として指定された領域を所定種類のパーツにセグメンテーションする(ステップS203)。このとき、第1分割機能31cは、セグメンテーションした各パーツのセグメンテーションマスクを生成する。
【0095】
例えば、セグメンテーションマスクは、対象画像データと同じ大きさの2値画像である。例えば、あるパーツのセグメンテーションマスクは、このパーツに対応する画素の値が1であり、このパーツに対応しない画素の値が0であるような2値画像である。なお、セグメンテーションマスクの大きさは、対象画像データの着色範囲として指定された領域と同じ大きさでもよい。上記2値画像は、セグメンテーションマスクの表現の一例であることに注意されたい。
【0096】
次いで、表示制御機能31lは、分割結果として、パーツ毎のマスクレイヤーとしてレイヤーリストに追加して表示する制御を行う。例えばレイヤーリストは、パーツAのセグメンテーションマスクのレイヤー、パーツBのセグメンテーションマスクのレイヤー等と複数のセグメンテーションマスクのレイヤーを含んでよい。レイヤーリストは、対象画像データのレイヤーや後述の着色済の対象画像データのレイヤーも含んでよい。
【0097】
第1分割機能31cは、分割結果を表すレイヤーリストの選択を受付けたか否かを確認する(ステップS204)。選択を受付けていない場合(ステップS204:No)、ステップS206へ移行する。選択を受付けた場合(ステップS204:Yes)、第1分割機能31cは、ユーザからパーツ毎のマスクレイヤーの修正指示を受付ける(ステップS205)。この場合、第1分割機能31cは、ユーザの指示に従って対象画像データをセグメンテーションする。
【0098】
第2取得機能31bは、ユーザから参照画像データの選択を受付け、参照画像データを取得する(ステップS206)。表示制御機能31lは、第2取得機能31bが取得した参照画像データを表示する制御を行う。
【0099】
第2分割機能31dは、参照画像データを所定種類のパーツにセグメンテーションする(ステップS207)。このとき、第2分割機能31dは、セグメンテーションした各パーツのセグメンテーションマスクを生成する。次いで、表示制御機能31lは、パーツ毎のマスクレイヤーとしてレイヤーリストに追加して表示する制御を行う。
【0100】
第2分割機能31dは、分割結果を表すレイヤーリストの選択を受付けたか否かを確認する(ステップS208)。選択を受付けていない場合(ステップS208:No)、ステップS210へ移行する。選択を受付けた場合(ステップS208:Yes)、第2分割機能31dは、ユーザからパーツ毎のマスクレイヤーの修正指示を受付ける(ステップS209)。この場合、第2分割機能31dは、ユーザの指示に従って参照画像データをセグメンテーションする。
【0101】
次に、着色機能31jは、ユーザから着色指示を受付けたか否かを確認する(ステップS210)。指示を受付けていない場合(ステップS210:No)、ステップS204に移行する。指示を受付けた場合(ステップS210:Yes)、算出機能31e、第1エンコード機能31f、第2エンコード機能31g、類似度比較機能31h、デコード機能31i及び着色機能31jは、上述の
図7のステップS105乃至ステップS110の処理を行う(ステップS211)。
【0102】
着色機能31jは、ユーザから着色済の対象画像データの選択を受付けたか否かを確認する(ステップS212)。選択を受付けていない場合(ステップS212:No)、ステップS214へ移行する。選択を受付けた場合(ステップS212:Yes)、着色機能31jは、ユーザから代表色の修正指示を受付ける(ステップS213)。この場合、着色機能31jは、ユーザの指示に従い、対象画像データの着色を行う。
【0103】
次に、記憶機能31kは、ユーザから保存指示を受付けたか否かを確認する(ステップS214)。指示を受付けていない場合(ステップS214:No)、ステップS212に移行する。指示を受付けた場合(ステップS214:Yes)、記憶機能31kは、記憶装置の所定の領域に着色済対象画像データを記憶し、本処理を終了する(ステップS215)。
【0104】
以上で述べた第2実施形態に係る自動着色装置2において、第1分割機能31cは、対象画像データをセグメンテーションした後、ユーザの指示に従って、対象画像データの分割結果を修正する。また、第2分割機能31dは、参照画像データをセグメンテーションした後、ユーザの指示に従って、参照画像データの分割結果を修正する。
【0105】
これにより、第1分割機能31cによる対象画像データの分割結果や第2分割機能31dによる参照画像データの分割結果が正確でなかった場合でも、ユーザの指示に従って分割結果を修正し、正確に領域分割を行うことができる。したがって、例えば、参照画像の前景の特徴が対象画像の背景に反映されてしまうような事態が起こる可能性を低減できる。つまり、より正確に参照画像を基に対象画像を着色することができる。
【0106】
また、着色機能31jは、対象画像データを着色した後、ユーザの指示に従って、着色結果を修正する。例えば、算出機能31eが算出した各パーツのセグメンテーションマスクの代表色を修正する。これにより、例えば、対象画像データ中のキャラクタが着ている服の色を変えたり、キャラクタの髪の色を変えたりといった処理を容易に行うことができる。
【0107】
前述した実施形態における各装置の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)、又はUSBメモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
【0108】
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
【0109】
図3のコンピュータとしての自動着色装置2は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図3では、1台の自動着色装置2が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース37等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における自動着色装置2は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
【0110】
前述した実施形態における自動着色装置2の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介して自動着色装置2と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0111】
プロセッサ31は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ31は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ31は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ31は、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0112】
プロセッサ31は、コンピュータとしての自動着色装置2の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ31は、自動着色装置2のOS(Operating System)や、アプリケーション等を実行することにより、自動着色装置2を構成する各構成要素を制御してもよい。
【0113】
実施形態における各種機能は、1又は複数のプロセッサ31により実現されてもよい。ここで、少なくとも1つのプロセッサ31は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいはデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0114】
主記憶装置33は、プロセッサ31が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置33に記憶された情報がプロセッサ31により読み出される。補助記憶装置35は、主記憶装置33以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における自動着色装置2において各種データを保存するための記憶装置は、主記憶装置33又は補助記憶装置35により実現されてもよく、プロセッサ31に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶機能31kは、主記憶装置33又は補助記憶装置35により実現されてもよい。
【0115】
記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における自動着色装置2が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
【0116】
ネットワークインタフェース37は、無線又は有線により、ネットワーク5に接続するためのインタフェースである。ネットワークインタフェース37は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース37により、ネットワーク5を介して接続された外部装置7と情報のやり取りが行われてもよい。なお、ネットワーク5は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか、又は、それらの組み合わせであってよく、自動着色装置2と外部装置7との間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
【0117】
デバイスインタフェース39は、外部装置7と直接接続するUSB等のインタフェースである。
【0118】
外部装置7は自動着色装置2とネットワーク5を介して接続されている装置である。外部装置7は自動着色装置2と直接接続されている装置である。
【0119】
外部装置7は、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、又はタッチパネル等のデバイスであり、取得した情報を自動着色装置2に与える。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0120】
また、外部装置7は、一例として、出力装置でもよい。出力装置は、例えば、LCD、CRT、PDP、又は有機ELパネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
【0121】
また、外部装置7は、記憶装置(メモリ)であってもよい。例えば、外部装置7はネットワークストレージ等であってもよく、外部装置7はHDD等のストレージであってもよい。
【0122】
また、外部装置7は、前述した実施形態における自動着色装置2の構成要素の一部の機能を有する装置でもよい。つまり、自動着色装置2は、外部装置7の処理結果の一部又は全部を送信又は受信してもよい。
【0123】
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
【0124】
本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
【0125】
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0126】
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
【0127】
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0128】
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0129】
本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0130】
本明細書(請求項を含む)において、「最適化(optimize)」等の用語は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
【0131】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、説明に用いた数値は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
【符号の説明】
【0132】
1 自動着色システム
2 自動着色装置
7 外部装置
31 プロセッサ
31a 第1取得機能
31b 第2取得機能
31c 第1分割機能
31d 第2分割機能
31e 算出機能
31f 第1エンコード機能
31g 第2エンコード機能
31h 類似度比較機能
31i デコード機能
31j 着色機能
31k 記憶機能
31l 表示制御機能
33 主記憶装置
35 補助記憶装置
37 ネットワークインタフェース
39 デバイスインタフェース
41 バス
211 表示装置
213 入力装置
G 表示画面
R 参照画像表示画面
RF 参照画像入力フォーム
T 対象画像表示画面
TF 対象画像入力フォーム