(57)【要約】【課題】写真から自動的に線画を作成する。【解決手段】写真の内容のデジタル線画を自動生成するために使用できる、計算システム及びコンピュータ実装型の方法。様々な例において、これらの技法は、生成用ネットワークと呼ばれるニューラルネットワークの使用を含み、これは、写真と、人間が生成した上記写真の線画とのデータセットで訓練される。この訓練用データセットは、上記ニューラルネットワークに、上記写真内のオブジェクトのエッジ及び特徴部分をトレースすること、並びにどのエッジ又は特徴部分を無視できるかを教示する。生成用ネットワークの出力は、２色調デジタル画像であり、この画像の背景はある１つの色調であり、入力された上記写真の上記内容は、第２の色調で描画された線によって表現される。いくつかの例では、復元用ネットワークと呼ばれる第２のニューラルネットワークが、上記生成用ネットワークの出力を更に処理して、視覚的アーティファクトを除去して、線をクリーンアップできる。【選択図】図１１
2020187727.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークを実行する計算デバイスによって、デジタル画像を前記ニューラルネットワークに入力するステップであって、前記デジタル画像は写真を含む、ステップ；
前記ニューラルネットワークを用いて、前記写真の内容を識別するステップ；
モデルを前記内容に適用するステップであって、前記モデルは、前記ニューラルネットワークのために構成され、前記モデルは、前記内容を図示するための単色の線を描画するための第１の特徴部分のセットを抽出するための、第１のパラメータを有し、また、線が描画されるべきでない第２の特徴部分のセットのための第２のパラメータを有する、ステップ；
前記ニューラルネットワークを用いて、前記第１の特徴部分のセットを前記デジタル画像から抽出し、前記第２の特徴部分のセットをフィルタリングするステップ；
前記ニューラルネットワークを用いて、前記第１の特徴部分のセットのための線のセットを生成するステップであって、前記線のセットは、前記内容の複数の様相をトレースする、ステップ；及び
前記ニューラルネットワークを用いて、前記デジタル画像のデジタル線画を出力するステップであって、前記デジタル線画は、前記線のセットを含む、ステップ
を含む、コンピュータ実装型の方法。
【請求項２】
前記デジタル線画は、前記写真内のオブジェクトのエッジと、前記オブジェクトの特定の特徴部分とを含む、請求項１に記載のコンピュータ実装型の方法。
【請求項３】
前記ニューラルネットワークからの出力を、第２のニューラルネットワークに入力するステップであって、前記第２のニューラルネットワークは、グレースケールデジタル画像からデジタルアーティファクトを除去して、２色調デジタル画像を出力するよう訓練され、また前記第２のニューラルネットワークは、前記デジタル線画を出力する、ステップを更に含む、請求項１に記載のコンピュータ実装型の方法。
【請求項４】
前記第２のニューラルネットワークは、前記ニューラルネットワークとは別個に、線画及び前記デジタル線画のコピーのデータセットで訓練され、
前記コピーは、デジタル的に付加されたアーティファクトを含む、請求項３に記載のコンピュータ実装型の方法。
【請求項５】
前記ニューラルネットワークは、デジタル写真及び前記デジタル写真のデジタル線画を含むデータセットで訓練され、
前記デジタル線画は、前記デジタル写真内のオブジェクトのエッジ及び特定の特徴部分のための線を含む、請求項１に記載のコンピュータ実装型の方法。
【請求項６】
前記特定の特徴部分のための線は、前記オブジェクトの認識を支援する、請求項５に記載のコンピュータ実装型の方法。
【請求項７】
前記特定の特徴部分のための線は、前記オブジェクトの複数の部分に対して、形状又は明確さを提供する、請求項５に記載のコンピュータ実装型の方法。
【請求項８】
前記特定の特徴部分は、前記オブジェクトが前記デジタル写真の前景にある場合には、テクスチャを含む、請求項５に記載のコンピュータ実装型の方法。
【請求項９】
前記特定の特徴部分はテクスチャを除外する、請求項５に記載のコンピュータ実装型の方法。
【請求項１０】
前記内容は、人物又は建築構造物の一部を含む、請求項１に記載のコンピュータ実装型の方法。
【請求項１１】
前記写真は、野外のシーン又は建造物内部の写真である、請求項１に記載のコンピュータ実装型の方法。
【請求項１２】
前記デジタル線画は２色調デジタル画像であり、前記線のセットが第１の色調であり、背景が第２の色調であり、
前記線のセットは幅が略均一である、請求項１に記載のコンピュータ実装型の方法。
【請求項１３】
１つ以上のプロセッサ；及び
命令を含む非一時的コンピュータ可読媒体
を備える、計算デバイスであって、
前記命令は、前記１つ以上のプロセッサによって実行された場合に、前記１つ以上のプロセッサに：
前記計算デバイスによって実行されているニューラルネットワークに、デジタル画像を入力するステップであって、前記デジタル画像は写真を含む、ステップ；
前記ニューラルネットワークを用いて、前記写真の内容を識別するステップ；
モデルを前記内容に適用するステップであって、前記モデルは、前記ニューラルネットワークのために構成され、前記モデルは、前記内容を図示するための単色の線を描画するための第１の特徴部分のセットを抽出するための、第１のパラメータを有し、また、線が描画されるべきでない第２の特徴部分のセットのための第２のパラメータを有する、ステップ；
前記ニューラルネットワークを用いて、前記第１の特徴部分のセットを前記デジタル画像から抽出し、前記第２の特徴部分のセットをフィルタリングするステップ；
前記ニューラルネットワークを用いて、前記第１の特徴部分のセットのための線のセットを生成するステップであって、前記線のセットは、前記内容の複数の様相をトレースする、ステップ；及び
前記ニューラルネットワークを用いて、前記デジタル画像のデジタル線画を出力するステップであって、前記デジタル線画は、前記線のセットを含む、ステップ
を含む操作を実施させる、計算デバイス。
【請求項１４】
前記デジタル線画は、前記写真内のオブジェクトのエッジと、前記オブジェクトの特定の特徴部分とを含む、請求項１３に記載の計算デバイス。
【請求項１５】
前記操作は：
前記ニューラルネットワークからの出力を、第２のニューラルネットワークに入力するステップであって、前記第２のニューラルネットワークは、グレースケールデジタル画像からデジタルアーティファクトを除去して、２色調デジタル画像を出力するよう訓練され、また前記第２のニューラルネットワークは、前記デジタル線画を出力する、ステップ
を更に含む、請求項１３に記載の計算デバイス。
【請求項１６】
前記ニューラルネットワークは、デジタル写真及び前記デジタル写真のデジタル線画を含むデータセットで訓練され、
前記デジタル線画は、前記デジタル写真内のオブジェクトのエッジ及び特定の特徴部分のための線を含む、請求項１３に記載の計算デバイス。
【請求項１７】
前記内容は、人物又は建築構造物の一部を含む、請求項１３に記載の計算デバイス。
【請求項１８】
前記写真は、野外のシーン又は建造物内部の写真である、請求項１３に記載の計算デバイス。
【請求項１９】
命令が保存されている、非一時的コンピュータ可読媒体であって、
前記命令は、計算デバイスの１つ以上のプロセッサによって実行された場合に、前記１つ以上のプロセッサに：
前記計算デバイスによって実行されているニューラルネットワークに、デジタル画像を入力するステップであって、前記デジタル画像は写真を含む、ステップ；
前記ニューラルネットワークを用いて、前記写真の内容を識別するステップ；
モデルを前記内容に適用するステップであって、前記モデルは、前記ニューラルネットワークのために構成され、前記モデルは、前記内容を図示するための単色の線を描画するための第１の特徴部分のセットを抽出するための、第１のパラメータを有し、また、線が描画されるべきでない第２の特徴部分のセットのための第２のパラメータを有する、ステップ；
前記ニューラルネットワークを用いて、前記第１の特徴部分のセットを前記デジタル画像から抽出し、前記第２の特徴部分のセットをフィルタリングするステップ；
前記ニューラルネットワークを用いて、前記第１の特徴部分のセットのための線のセットを生成するステップであって、前記線のセットは、前記内容の複数の様相をトレースする、ステップ；及び
前記ニューラルネットワークを用いて、前記デジタル画像のデジタル線画を出力するステップであって、前記デジタル線画は、前記線のセットを含む、ステップ
を含む操作を実施させる、非一時的コンピュータ可読媒体。
【請求項２０】
前記デジタル線画は２色調デジタル画像であり、前記線のセットが第１の色調であり、背景が第２の色調であり、
前記線のセットは幅が略均一である、請求項１９に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
線画は、多くの文脈で使用されている。例えば線画はとりわけ：テクニカルイラストレーションのために；塗り絵において；及びコミックブックの作成において、使用される。線画は、線のみを使用してオブジェクトを表現する図である。背景色以外の色は存在せず、背景色はほとんどの場合均一である。線は、オブジェクトの輪郭及び／又は形状を描画でき、また場合によっては、上記オブジェクトの認識及び／又は図面中の他のオブジェクトからの上記オブジェクトの区別を支援できる、オブジェクトの細部を描画できる。場合によっては、線を用いてテクスチャも表現できる。例えば、壁の中のレンガの外観、毛髪の房、又は海の表面を、図面中の線によって近似できる。
【０００２】
線画を写真から作成してよい。写真はアーティストに、正確な比率、遠近感、奥行き及び／又は内容を有する精密でリアルな画像を迅速に作成するための、便利な基礎を提供する。更に、写真が入手可能である場合、アーティストは現場にいる必要がなくなり、及び／又はモデルの時間を占領する必要がなくなる。線画の作成のために、アーティストは、写真の複数の様相をトレースでき、これにより、図面を目の前の状況から又は想像から作成する場合よりも時間が更に節約され、また得られる図面の精度が向上し、場合によっては得られる図面がより詳細になる。
【０００３】
写真から線画を作成するのは、十分な経験を積んだアーティストであっても、非常に時間がかかる。よって、写真から自動的に線画を作成することが、デジタル画像編集ツールの目的である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
線画を生成するための自動システムは、写真から線画を得るために必要な時間量を大幅に削減できる。いくつかの自動システムは、エッジ検出又は輪郭の識別に基づいて動作する。これらのシステムは写真の内容を意識しないため、これらのシステムは、アーティストが望むような、トレースするべき特徴部分と、無視するべき特徴部分とを区別できない場合がある。
【課題を解決するための手段】
【０００５】
本明細書に記載の、線画を生成するための自動システムは、あるオブジェクトのどの特徴部分のために線を引くべきか、及びどの特徴部分を無視するべきかを識別するように訓練される、ニューラルネットワークを使用する。この判定は本質的に主観的なものであるため、上記ニューラルネットワークは、写真と、上記写真の線画とで訓練され、ここで上記線画は、人間のアーティストが行った主観的決定を含む。これらの線画で訓練することにより、上記ニューラルネットワークは、同等の判定を行うように学習できる。
【０００６】
本明細書に記載の例は：デジタル写真からデジタル線画を生成する操作を実施するためのステップを含むコンピュータ実装型の方法；１つ以上のプロセッサと、上記１つ以上のプロセッサによって実行された場合に、上記１つ以上のプロセッサに、デジタル写真からデジタル線画を生成するための操作を実施させる命令を含む、非一時的コンピュータ可読媒体とを含む、計算デバイス；及び１つ以上のプロセッサによって実行された場合に、上記１つ以上のプロセッサに、デジタル写真からデジタル線画を生成するための操作を実施させる命令が保存された、非一時的コンピュータ可読媒体を含む。デジタル写真からデジタル線画を生成するための上記操作は、デジタル画像をニューラルネットワークに入力するステップを含むことができ、上記デジタル画像は写真を含む。上記操作は更に、上記ニューラルネットワークを用いて、上記写真の内容を識別するステップを含むことができる。上記操作は更に、モデルを上記内容に適用するステップを含むことができ、上記モデルは、上記ニューラルネットワークのために構成され、上記モデルは、上記内容を図示するための単色の線を描画するための第１の特徴部分のセットを抽出するための、第１のパラメータを有し、また、線が描画されるべきでない第２の特徴部分のセットのための第２のパラメータを有する。上記操作は更に、上記ニューラルネットワークを用いて、上記第１の特徴部分のセットを上記デジタル画像から抽出し、上記第２の特徴部分のセットをフィルタリングするステップを含むことができる。上記操作は更に、上記ニューラルネットワークを用いて、上記第１の特徴部分のセットのための線のセットを生成するステップを含むことができ、上記線のセットは、上記内容の複数の様相をトレースする。上記操作は更に、上記ニューラルネットワークを用いて、上記デジタル画像のデジタル線画を出力するステップを含み、上記デジタル線画は、上記線のセットを含む。
【０００７】
いくつかの態様では、上記デジタル線画は、上記写真内のオブジェクトのエッジと、上記オブジェクトの特定の特徴部分とを含む。
【０００８】
いくつかの態様では、デジタル写真からデジタル線画を生成するための上記操作は更に、上記ニューラルネットワークからの出力を、第２のニューラルネットワークに入力するステップを含むことができ、上記第２のニューラルネットワークは、グレースケールデジタル画像からデジタルアーティファクトを除去して、２色調デジタル画像を出力するよう訓練され、また上記第２のニューラルネットワークは、上記デジタル線画を出力する。いくつかの態様では、上記第２のニューラルネットワークは、上記ニューラルネットワークとは別個に、線画及び上記デジタル線画のコピーのデータセットで訓練され、上記コピーは、デジタル的に付加されたアーティファクトを含む。
【０００９】
いくつかの態様では、上記ニューラルネットワークは、デジタル写真及び上記デジタル写真のデジタル線画を含むデータセットで訓練され、上記デジタル線画は、上記デジタル写真内のオブジェクトのエッジ及び特定の特徴部分のための線を含む。いくつかの態様では、上記特定の特徴部分のための線は、上記オブジェクトの認識を支援する。いくつかの態様では、上記特定の特徴部分のための線は、上記オブジェクトの複数の部分に対して、形状又は明確さを提供する。いくつかの態様では、上記特定の特徴部分は、上記オブジェクトが上記デジタル写真の前景にある場合には、テクスチャを含む。いくつかの態様では、上記特定の特徴部分はテクスチャを除外する。
【００１０】
いくつかの態様では、上記内容は、人物又は建築構造物の一部を含む。いくつかの態様では、上記写真は、野外のシーン又は建造物内部の写真である。
【００１１】
いくつかの態様では、上記デジタル線画は２色調デジタル画像であり、上記線のセットが第１の色調であり、背景が第２の色調であり、上記線のセットは幅が略均一である。
【００１２】
これより、例示的な実施例について、以下の図面を参照しながら詳細に説明する。
【図面の簡単な説明】
【００１３】
【図１Ａ】図１Ａは、写真の例を含む。
【図１Ｂ】図１Ｂは、上記写真の線画の例を含む。
【図２Ａ】図２Ａは、別の例示的な写真を含む。
【図２Ｂ】図２Ｂは、上記写真の線画を含む。
【図３】図３は、線画を作成するための自動システムの例の図を含む。
【図４】図４は、線画を作成するための自動システムの別の例の図を含む。
【図５】図５は、復元用ネットワークを訓練するためのシステムの例を示すブロック図を含む。
【図６】図６は、一般化された例示的なニューラルネットワークのアーキテクチャを示す。
【図７】図７は、サンプル写真及び線画の表を含む。
【図８】図８は、サンプル写真及び線画の別の表を含む。
【図９Ａ】図９Ａは、描画の自動生成のためのあるシステムに、ある例示的な写真を入力した結果の例を示す。
【図９Ｂ】図９Ｂは、描画の自動生成のための別のシステムに、ある例示的な写真を入力した結果の例を示す。
【図９Ｃ】図９Ｃは、描画の自動生成のための更に別のシステムに、ある例示的な写真を入力した結果の例を示す。
【図９Ｄ】図９Ｄは、描画の自動生成のためのまた更に別のシステムに、ある例示的な写真を入力した結果の例を示す。
【図１０Ａ】図１０Ａは、描画の自動生成のためのあるシステムに、ある例示的な写真を入力した結果の例を示す。
【図１０Ｂ】図１０Ｂは、描画の自動生成のための別のシステムに、ある例示的な写真を入力した結果の例を示す。
【図１０Ｃ】図１０Ｃは、描画の自動生成のための更に別のシステムに、ある例示的な写真を入力した結果の例を示す。
【図１０Ｄ】図１０Ｄは、描画の自動生成のためのまた更に別のシステムに、ある例示的な写真を入力した結果の例を示す。
【図１１】図１１は、描画の自動生成のためのプロセスの例を示すフローチャートを含む。
【図１２】図１２は、計算デバイスの例を示すブロック図を含む。
【図１３】図１３は、画像編集システムの例を示す図である。
【図１４】図１４は、計算デバイスの例を示すブロック図を含む。
【図１５】図１５は、データセンターの例を示すブロック図を含む。
【発明を実施するための形態】
【００１４】
本明細書に記載されるのは、写真の内容のデジタル線画を自動生成するための技法である。様々な例において、これらの技法は、写真と、人が生成した上記写真の線画とのデータセットで訓練された、本明細書中では生成用ネットワークと呼ばれるニューラルネットワークの使用を含む。訓練用データセットは、上記写真内のオブジェクトのエッジをトレースすることだけでなく、どのエッジをトレースするべきであり、かつどのエッジを無視できるかを、上記ニューラルネットワークに教える。上記生成用ネットワークの出力は、２色調デジタル画像（例えば白黒画像）であり、この画像の背景は１つの色調（例えば全体が白色）であり、入力された上記写真内の上記オブジェクトは、第２の色調で描画された線（例えば黒色の線又はグレースケール線）で表される。
【００１５】
いくつかの入力写真は、曖昧な領域を含むことがあり、上記生成用ネットワークが上記領域を線に変換する方法に関する明確な方針を持たない場合がある。例えば写真は、人間のアーティストが無視する場合も線画に含める場合もあるテクスチャ又は高いレベルの細部を有し得る。これらの状況では、上記生成用ネットワークは、上記領域を無視することと、上記領域内の細部を描画することとの中間の線を控えめに出力する場合があり、これは、美しい線ではなく、汚れ又は視覚的ノイズをもたらす場合がある。これらの状況のために、本明細書に記載の技法は更に、本明細書中では復元用ネットワークと呼ばれる第２のニューラルネットワークの使用を含む。上記復元用ネットワークは、「美しくない（ｕｎｃｌｅａｎ）」線画、即ちとりわけ視覚的アーティファクト、望ましくない線、鮮明なエッジを有しない線、及び／又はあまりに多くの破線を含む線画で、訓練できる。上記復元用ネットワークは、例えば上記生成用ネットワークの上記出力で訓練できる。上記復元用ネットワークのターゲットは、視覚的アーティファクトを含まず、比較的均一な線しか含まない線画である。例えば、上記生成用ネットワークの訓練に使用される、人が生成した線画を、上記復元用ネットワークの訓練にも使用できる。
【００１６】
デジタル画像編集ツールを用いて写真から線画を作成するために、様々な技法が提案されている。例えば、いくつかのデジタル画像編集プログラムは、オブジェクトのエッジを強調してエッジ間の領域を抑制するために適用できる、フィルタを含む。別の例として、デジタル画像編集プログラムは、写真のコントラストを操作する機能を含むことができ、これにより、コントラストの操作及びフィルタの適用によって、オブジェクト及びテクスチャの弱いエッジの強調を押さえながら、強いエッジを強調できる。
【００１７】
しかしながら、これらの技法及びその他の技法は、写真の意味的情報を利用しない。人間のアーティストが写真をトレースする場合、アーティストは、どのエッジをトレースし、どのエッジを無視するかに関する選択を行う場合がある。これらの選択は、トレースされているオブジェクトのタイプ、オブジェクトが観察者に対して近いか遠いか、オブジェクトが全景の際立った特徴部分となっているか、及び／又はオブジェクトを高レベルの細部と共にレンダリングすることで、最終的な図面の外観が損なわれるか向上するかといった因子に基づくものとすることができる。例えばテクスチャは、上記テクスチャが画像にとって重要である場合にはトレースしてよいが、上記テクスチャが過剰な細部を導入する、又は全景の重要な特徴部分ではない場合には、除外してよい。これらの因子は、アーティストの判定だけでなく、十分に確立されたベストプラクティスの影響も受ける場合がある。
【００１８】
場合によっては、人間のアーティストは更に、写真のある様相を単純化若しくは修正する線、又はハードエッジとは対照的に写真内で勾配として見える線を描画する場合がある。例えばアーティストは、波状のエッジに対して直線を描画する場合があり、又は不連続な複数のエッジを単一の連続した線へと接合してしまう場合がある。これらの例、及びその他の例では、忠実にトレースすると、視覚的に混乱するものとなり得、又は過剰な細部が導入され得る。別の例として、アーティストは、写真ではハードエッジとしてではなく微妙な勾配としてしか見えない場合がある人間の鼻のエッジを描画する場合がある。この例及びその他の例では、写真がハードエッジを含まない箇所に描画された線は、出力される線画が何を表しているかに関する視覚的な手がかりを提供できる。
【００１９】
エッジ検出、フィルタリング及び／又は色操作に依存する画像操作技法は、写真の内容の理解を利用しないため、これらの技法は、人間のアーティストが作成するものに近い画像を作成できない場合がある。例えば出力される画像は、アーティストなら省略するエッジを含む場合があり、又はアーティストが簡略化し得るエッジを過剰に忠実に再現する場合がある。別の例として、出力される画像は、エッジ検出のみでは識別が困難であり得る細部、例えば人間の顔の細部を省略する場合がある。場合によっては、出力される画像は、美しい線画ではなくフィルタリングされた写真のように見える。
【００２０】
写真からの線画の自動作成は、コンピュータが人間のような決定を行うことを必要とし得るため、本明細書に記載の技法は、この課題を解決するためにニューラルネットワークを適用する。ニューラルネットワーク形成は、コンピュータプロセスが人間の脳の動作を模倣しようとする、人工知能の一分野である。訓練（ｔｒａｉｎｉｎｇ）と呼ばれるプロセスを通して、ニューラルネットワークに入力データを提供し、ニューラルネットワークの出力データを、期待出力と比較する。続いて、重み（ｗｅｉｇｈｔ）と呼ばれる、ニューラルネットワークのノードにおける値を、上記出力と、上記期待出力との間の差に応じて調整できる。可能性のある多数の異なるバリエーションを含む入力データのセットを提供することにより、ニューラルネットワークは、ある特定のタスクの実施を学習できる。例えば、とりわけオブジェクトのクラスの認識、発話の認識、及び言語の翻訳を実施するために、ニューラルネットワークの訓練が行われている。訓練後、ニューラルネットワークを、結果が未知であるデータに適用できる。ニューラルネットワークの使用は、推論（ｉｎｆｅｒｅｎｃｅ）と呼ばれる。
【００２１】
本明細書に記載のニューラルネットワークは、顔及び身体の写真、並びに／又は建築に関するシーンの写真といった写真で訓練され、期待出力は、上記写真の線画である。このデータセットでニューラルネットワークを訓練する際の課題は、十分な量の訓練用データを得ることである。この期待データは人間のアーティストによって作成されるため、ニューラルネットワークは、上記アーティストが行った決定を行うように学習でき、また上述のように、人間のアーティストにとって線画の作成は時間がかかるものである場合がある。わずかに異なるタスクに関して訓練された２つのニューラルネットワークを使用することにより、限定的な訓練用データセットを用いて得られる結果を改善できる。予備訓練、及び人工的に生成された画像といった、結果を更に改善するための技法についても、本明細書に記載する。
【００２２】
本明細書に記載の技法は、従来の方法の限界を克服できる、写真から線画を生成するためのコンピュータ実装型の方法を提供できる。ニューラルネットワークは、写真の内容の意味的理解を得ることができるため、ニューラルネットワークは、ピクセル値のみに依存するのではなく、写真の主題に基づいた決定を行うことができる。更にニューラルネットワークは、訓練用データから、線画の作成にあたってアーティストが行うであろう特定の決定を学習でき、また同一の決定実行プロセスの模倣を試みることができる。その結果、ニューラルネットワークは、人間のアーティストが作成に数時間必要とし得る、人間のアーティストの作品に近い結果を、数秒で作成できる。
【００２３】
図１Ａ〜１Ｂは、写真１１０及びこの写真１１０の線画１１２の例を含む。この例では、写真１１０は、建築に関するシーン、特に路上のシーンである。この文脈において、「建築に関する（ａｒｃｈｉｔｅｃｔｕｒａｌ）」は、物理的な構造体を含み、また場合によっては関連する要素及び／又は周囲の要素も含む、シーンを指す。建築に関するシーンに含まれ得る物理的構造体の例としては、建造物の外部及び／又は内部が挙げられる。関連する及び／又は周囲の要素の例としては、建造物の外部に関して、とりわけ道路、道路標識、電線、車両、橋梁、並びに樹木、河川及び山といった自然要素が挙げられる。
【００２４】
建築に関するシーンの写真は、線画へとレンダリングされる主題の一例である。路上のシーン及び建造物の内部の線画は、例えばコミックブックの背景のシーンとして使用され得る。この例では、漫画家はキャラクターをシーンの中に描画でき、及び／又は上記シーンの特徴部分を着色できる。
【００２５】
図１Ａの例示的な写真１１０は、道路沿いの歩道の写真である。写真１１０は、比較的真っ直ぐで規則的なエッジを有するオブジェクト、例えば建造物、電柱、フェンス、及び歩道の縁部を含む。写真１１０はまた、不規則な形状及びエッジを有するオブジェクト、例えば樹木及びよしずも含む。写真１１０は更に、とりわけよしずのテクスチャ、樹木のテクスチャ、プラスチック製のシート、フェンスの木製板といった、多くのテクスチャを含む。
【００２６】
図１Ｂは、本明細書に記載の自動システムを用いて作成された、写真１１０の線画１１２を含む。この例によって図示されているように、線画１１２は、写真１１０の主要な要素を含み、上記主要な要素としては、建造物、歩道の縁部、フェンス、よしず、日除け、及び観察者付近に位置する自転車が挙げられる。線画１１２はまた、樹木等の一部の要素を簡略化している。自動システムの訓練において、これらの領域を忠実にトレースすると、過剰な細部が作成されてしまうと判断された可能性がある。あるいは、又は更に、これらの領域の線を最小化することによって、線画１１２を用いて作業を行うアーティストが、上記領域の処理方法を決定できると判断された可能性がある。線画１１２は更に、一部のテクスチャを含み、その一方でその他のテクスチャは簡略化されているか、又は除外されている。例えば、フェンスのうち観察者に比較的近い部分は、比較的詳細にレンダリングされているが、遠く離れた部分は部分的にしかレンダリングされていない。別の例として、よしずのテクスチャは、小枝の各エッジ及び陰影を描画するのではなく、この仕切りが小枝の細工であることを示唆する程度にしかレンダリングされていない。
【００２７】
図２Ａ〜２Ｂは、写真２１０及びこの写真２１０の線画２１２の別の例を含む。この例では、写真２１０はポートレート、即ち人物の顔を主に写した人物の写真である。顔又は人物の身体を含む人物の写真は、線画へとレンダリングされる主題の他の例である。人物の線画は例えば塗り絵に使用できる。
【００２８】
図２Ａの例示的な写真２１０は、２匹の子猫を抱いた少女を含む。ポートレート写真によくあるように、写真２１０の背景には焦点が合っておらず、少女及び子猫が視覚的に強調されている。
【００２９】
図２Ｂは、本明細書に記載の自動システムを用いて作成された、写真２１０の線画２１２を含む。この例で図示されているように、眼、鼻、口、及びひげを含む、少女及び子猫の際立った特徴部分が描画されている一方、少女の毛髪及び子猫の毛皮といった一部のテクスチャは、大半が空白のまま残されている。更に、背景は完全に除外されている。自動システムの訓練において、写真の一部に焦点が合っていない場合、この一部は描画するべきではないと判断された可能性がある。図２Ｂの線画２１２の場合にはこれが実施された可能性があり、これにより、写真の際立った主題のみがレンダリングされている。
【００３０】
図３は、線画を作成するための自動システム３００の例を示す図を含む。システム３００は、ここでは生成用ネットワーク３２０と呼ばれるニューラルネットワークを含む。用語「生成用（ｇｅｎｅｒａｔｏｒ）」は、分かりやすさのみを目的として使用されており、いずれの特定の意味又は機能を含意することを意図したものではない。生成用ネットワーク３２０は、本明細書では第１のニューラルネットワークとも呼ばれる。
【００３１】
様々な例において、生成用ネットワーク３２０は、写真３１０を入力として、写真３１０の線画３１２を出力する。線画３１２は、予測図面（ｐｒｅｄｉｃｔｅｄ  ｄｒａｗｉｎｇ）、即ち生成用ネットワーク３２０によって予測された図面と呼ぶこともできる。訓練中、線画３１２は、期待結果３１４と比較される。期待結果３１４は、グラウンドトゥルース（ｇｒｏｕｎｄ  ｔｒｕｔｈ）又はターゲット画像と呼ぶこともできる。線画３１２と期待される結果３１４との間の差を用いて、生成用ネットワーク３２０の値を修正できる。生成用ネットワーク３２０が推論を実施する（例えば生成用ネットワーク３２０が訓練され、動作する）と、線画３１２を最終的な結果として出力できる。様々な例において、線画３１２は、更なる処理を行わずに使用できる程度に十分に美しく、かつ詳細なものとすることができる。この文脈において、「美しい（ｃｌｅａｎ）」は、線画３１２が、とりわけ汚れ、漂遊及び切断ピクセル、他の視覚的ノイズ、鮮明でない（例えば黒色でなく灰色の陰影である）線、並びに鮮明なエッジではなくぼやけた線を含まないことを意味する。
【００３２】
写真３１０は、ピクセルベースのデジタル画像、即ち、各ピクセルが、色相を表す値、輝度を表す値、色調を表す値、並びに／又はピクセルが色、陰影及び／若しくは濃淡を表現することを可能とする他の値のセットを有する、ピクセルの配列とすることができる。写真３１０はカラー写真であってよく、従って３つのカラーチャネル（例えば赤、緑及び青）を有してよく、又はグレースケールであってよく、従って（例えば白〜黒の値の）１つのカラーチャネルを有してよい。線画３１２はまた、ピクセルベースの図面とすることもできる。いくつかの例では、線画３１２中のピクセルは、黒又は白である。いくつかの例では、線画３１２は、例えばエッジに沿って又は線の端部において、灰色の陰影を有してよい。期待結果３１４は、白黒ピクセルベースの画像、又はグレースケール画像とすることもできる。
【００３３】
様々な例において、生成用ネットワーク３２０は、写真３１０のピクセル間の長期の相互作用（ｌｏｎｇ‐ｒａｎｇｅ  ｉｎｔｅｒａｃｔｉｏｎｓ）をモデリングし、小さな線、又は望ましくない線を抑制する。このようなモデルを実装するために、生成用ネットワーク３２０はまず、第１の段階３２２及び第２の段階３２４を含むことができる。エンコーダーと呼ぶこともできる第１の段階３２２は、構造要素、エッジ、勾配、オブジェクト、オブジェクトの組み合わせ、テクスチャ、及び入力写真３１０の内容の他の様相といった、入力写真３１０中の高次の特徴部分を認識するように訓練できる。例えば、第１の段階３２２は、顔を識別し、顔を特に目、鼻、口及び毛髪に細分化するように訓練できる。別の例では、第１の段階３２２は、建造物、壁、道路、床、家具等といった建築要素、並びに建築要素の間に見られる場合がある、植物等のオブジェクトを識別するように、訓練できる。第１の段階３２２の出力は、入力写真３１０の内容のマッピングとすることができる。上記内容は例えば、写真３１０の特徴部分をそれぞれ記述する、特徴部分マップと呼ぶことができる複数の行列のセットを用いて表すことができる。特徴部分マップは例えば、エッジ、勾配、オブジェクト、テクスチャ、及び入力写真３１０の内容の他の様相の場所、並びに場合によっては、サイズ、スケール（例えば観察者からの距離）、密度、複雑さ等といった他の情報も、示すことができる。いくつかの例では、生成用ネットワーク３２０の訓練に基づいて、特徴部分マップは、テクスチャ又は細部といった情報を省略できる。省略される情報としては、それに関して線が描画されることのない、入力写真３１０の様相が挙げられる。
【００３４】
デコーダーとも呼ぶことができる第２の段階３２４は、マッピングを使用して、出力される線画３１２を作成できる。例えば第２の段階３２４は、第１の段階３２２によって識別される内容（例えば構造要素、エッジ、勾配、オブジェクト、テクスチャ等）を、上記特徴部分マップによって提供された記述から、デジタル画像のピクセルへと変換でき、ここで、上記特徴部分マップによって、線を描画するべきであるものとして識別された内容に関して、線が描画される。一例として、第２の段階３２４は、眼、口、又は椅子といった、写真３１０内の特徴部分を、詳細にトレースするべきオブジェクトとして、関連付けることができる。別の例として、第２の段階３２４は、毛髪又は植物といった特徴部分を、細部を最小限にして略図を描画するべきオブジェクトとして、関連付けることができる。第２の段階３２４は、線画３１２を作成できる。
【００３５】
生成用ネットワーク３２０を訓練するために、システム３００は、線画３１２を、写真３１０に対応する期待結果３１４と比較する、同等性関数（ｅｑｕｉｖａｌｅｎｃｙ  ｆｕｎｃｔｉｏｎ）３２６を含むことができる。同等性関数３２６は例えば、線画３１２と期待結果３１４とのピクセル毎の比較を実施して、いずれの差を出力できる。あるいは、又は更に、同等性関数３２６は、線画３１２と期待結果３１４との間の誤差の量を測定する、損失関数又はコスト関数を実装できる。同等性関数３２６の出力は、生成用ネットワーク３２０へのフィードバック３２８として提供できる。フィードバック３２８内に記述された差又は誤差を、生成用ネットワーク３２０の複数のレイヤーを通して伝播させることにより、生成用ネットワーク３２０のノードの重み値を調整できる。これらの重み値を調整することにより、上記差又は誤差を最小化できる。
【００３６】
図４は、線画を作成するための自動システム４００の別の例を示す図を含む。システム４００は、生成用ネットワーク４２０と呼ばれる第１のニューラルネットワークと、復元用ネットワーク４３０と呼ばれる第２のニューラルネットワークとを含む。用語「生成用」及び「復元用（ｒｅｓｔｏｒｅｒ）」は、分かりやすさのみを目的として使用されており、いずれの特定の意味又は機能を含意することを意図したものではない。生成用ネットワーク４２０は第１のニューラルネットワークと呼ばれる場合もあり、復元用ネットワーク４３０は第２のニューラルネットワークと呼ばれる場合もある。
【００３７】
様々な例において、生成用ネットワーク４２０は、写真４１０を入力として、写真４１０から線を抽出する。生成用ネットワーク４２０は、抽出された線を、中間画像４１６で出力する。システム４００は、中間画像４１６を復元用ネットワーク４３０に入力し、この復元用ネットワーク４３０は完成した線画４１２を作成できる。訓練中、線画４１２を期待出力４１４と比較でき、この比較の結果を生成用ネットワーク４２０及び／又は復元用ネットワーク４３０にフィードバックすることにより、ニューラルネットワークの重み値を調整できる。様々な例において、写真４１０、中間画像４１６、線画４１２、及び／又は期待出力４１４は、ピクセルベースの画像とすることができる。
【００３８】
いくつかの例では、中間画像４１６は、期待出力４１４と十分に類似しており（例えば２０％未満、１０％未満、５％未満、又はその他のパーセンテージの差又は誤差しか有さず）、システム４００の最終出力として使用できる。いくつかの例では、中間画像４１６はあまりに大きな差又は誤差を有する場合がある。例えば生成用ネットワーク４２０は、写真４１０から粗い線しか抽出できない場合がある。別の例では、（例えば訓練用データセットのサイズを原因として）生成用ネットワーク４２０が決定を行うために十分な情報を有しないいくつかの領域、又は生成用ネットワークの訓練によって、ある回答が別の回答と同程度に良好であることが示されるようないくつかの領域が存在する場合がある。この例では、生成用ネットワーク４２０は、保守的で中道的なアプローチを取る可能性があり、これは、汚れた、美しくない、ノイズの多い（例えば漂遊ピクセル、切断ピクセルを有する）、又は鮮明に定義された線を含まない、中間画像４１６内の領域をもたらす可能性がある。
【００３９】
様々な例において、復元用ネットワーク４３０は、ある程度の所望の線を含み、また視覚的ノイズも含む、グレースケール画像を得て、上記視覚的ノイズを除去するように訓練でき、従って得られる線画４１２は、鮮明に定義された線のみを含む。例えば復元用ネットワーク４３０は、隣り合った複数のピクセルを考慮でき、隣り合った複数のピクセルのグループが、切れ目のない美しい線を形成しない場合、復元用ネットワーク４３０はこれらのピクセルを除去してよい。別の例として、復元用ネットワーク４３０は、ぼやけており、鮮明でない（例えば灰色である、及び／又は灰色へと退色してゆくエッジを有する）線を識別でき、これらの線を切れ目のない線に変換できる、及び／又はエッジをトリミングできる。復元用ネットワーク４３０の出力は、システム４００からの最終的な結果として提供できる。
【００４０】
様々な例において、生成用ネットワーク４２０は、第１の段階４２２及び第２の段階４２４を含む。第１の段階４２２はエンコーダーと呼ぶことができ、第２の段階４２４はデコーダーと呼ぶことができる。様々な例において、第１の段階４２２は、オブジェクト認識及び／又はオブジェクト細分化を実施するよう訓練できる。第１の段階４２２の出力は、写真４１０の内容の様々な様相を記述する特徴部分マップのセットにおいてキャプチャされたマッピングとすることができる。第２の段階４２４は、上記特徴部分マップを中間画像４１６に変換できる。例えば第２の段階４２４は、アップサンプリングを実施して、特徴部分マップを写真４１０のサイズまで復元でき、また特徴部分マップを組み合わせて、中間画像４１６の線を作成できる。いくつかの例では、生成用ネットワーク４２０は、図３に関して説明した生成用ネットワークと同様とすることができる。
【００４１】
様々な例において、図４の復元用ネットワーク４３０もまた、第１の段階４３２及び第２の段階４３４を含む。復元用ネットワーク４３０の第１の段階４３２及び第２の段階４３４もまた、それぞれエンコーダー及びデコーダーと呼ぶことができる。第１の段階４３２は、線と、線ではなくノイズである画像の特徴部分とを認識するように、訓練できる。第１の段階４３２は、中間画像４１６中の線及び視覚的ノイズを記述する、特徴部分マップのセットを作成する。第２の段階４３４は、上記特徴部分マップを用いて視覚的ノイズを排除でき、及び／又は一部の視覚的ノイズを線に変換できる。復元用ネットワーク４３０の出力は、線画４１２であり、これは、切れ目のない黒色の線（又は別の色の線）のみを含んでよく、灰色の領域をほとんど含まなくてよい。
【００４２】
生成用ネットワーク４２０及び復元用ネットワーク４３０を訓練するために、システム４００は、第１の同等性関数４２６及び第２の同等性関数４３６を含むことができる。第１の同等性関数４２６は、中間画像４１６を期待出力４１４と比較して、フィードバック４２８を生成用ネットワーク４２０に提供できる。第２の同等性関数４３６は、線画４１２を期待出力４１４と比較して、フィードバック４３８を復元用ネットワーク４３０に提供できる。いくつかの例では、第１の同等性関数４２６は、線画４１２を期待出力４１４と比較して、生成用ネットワーク４２０のためのフィードバックを決定する。
【００４３】
図５は、復元用ネットワーク５３０を訓練するためのシステム５００の例を示すブロック図を含む。復元用ネットワーク５３０は、図４に関して上述されているようなニューラルネットワークである。上述のように、図５の復元用ネットワーク５３０は、視覚的ノイズを有する入力線画に関して、上記視覚的ノイズを除去し、主に明確に定義された鮮明な線を含む線画５１２を出力するよう、訓練できる。
【００４４】
上述のように、復元用ネットワーク５３０は、写真を加工して、粗く定義された線の画像を作成する、別のニューラルネットワークの出力で訓練できる。復元用ネットワーク５３０によって作成された線画５１２を、人間が生成した上記写真の線画と比較でき、差を用いて復元用ネットワーク５３０を訓練できる。しかしながら、線画を手で作成するために時間と労力が必要となるため、写真に関して大量の線画を得るのは困難であり得る。少量の訓練用データセットのみを用いると、復元用ネットワーク５３０は、高レベルの精度を達成できない場合がある。
【００４５】
従って、様々な例において、システム５００は、復元用ネットワーク５３０を、欠陥及び視覚的ノイズが付加された線画で訓練できる。このデータセットからの入力画像は、劣化画像５１６、合成劣化画像、又は合成画像と呼ばれる。様々な例において、劣化画像５１６は、いずれの線画を取得し、この図面にデジタルツール及び／又はフィルタを適用して、退色した線、ぼやけた線、及び／又は様々な陰影のピクセルのランダムな散乱を含むランダム領域といった効果を生成できる。このデータセットの作成に使用される線画は、例えば塗り絵、コミックブック、及びテクニカルイラストレーションといった、様々なソースから得ることができる。これらのソースから得られた図面に対応する写真は入手できない場合があるため、これらの図面は、例えば図４のシステムの訓練には使用できない場合がある。しかしながら、これらの図面は大量に入手できる場合があり、デジタル画像編集ツールを、これらの図面を破損するようにプログラムすることにより、大量の訓練用データセットを作成できる。
【００４６】
訓練プロセスでは、劣化画像５１６の作成に用いたソース線画を、期待出力５１４として使用できる。上記システムは、同等性関数５３６を用いて、期待出力５１４を、復元用ネットワーク５３０が出力した線画５１２と比較できる。同等性関数５３６によって決定された差及び／又は誤差は、フィードバック５３８として復元用ネットワーク５３０に提供でき、また復元用ネットワーク５３０の複数のレイヤーを通して伝播させることにより、復元用ネットワーク５３０の重み値を、上記差又は誤差が最小化されるように調整できる。
【００４７】
これより、上述のシステムの生成用ネットワーク及び復元用ネットワークの例について記載する。図６は、一般化された例示的なニューラルネットワークアーキテクチャ６００を示し、そのバリエーションを用いて、生成用ネットワーク及び／又は復元用ネットワークを実装できる。この例示的なニューラルネットワークアーキテクチャ６００は、エンコーダー‐デコーダー構成を有し、エンコーダー６２２のレイヤーは、畳み込み及び他の演算を実施し、デコーダー６２４のレイヤーは、デコンボリューション及び他の演算を実施する。図６の例では、ニューラルネットワークアーキテクチャ６００の各レイヤーは、３次元的な正方形で表され、異なるタイプのレイヤーは異なるタイプの網掛けパターンで示されている。更に、正方形のサイズは、入力される特徴部分マップに比例する、各レイヤーが出力する特徴部分マップのサイズを示す。
【００４８】
様々な例において、ニューラルネットワークアーキテクチャ６００に含めることができるレイヤーとしては、畳み込み６４０レイヤー、プーリング６４２レイヤー、ドロップアウト６４４レイヤー、アップサンプリング６４６レイヤー、及びデコンボリューション６４８レイヤーが挙げられる。図６のニューラルネットワークアーキテクチャ６００はまた、ソフトマックス６５０レイヤーを最後のレイヤーとして含む。ニューラルネットワーク６００は更に、とりわけ完全に接続されたレイヤー、又はリカレントレイヤーといった、ここで図示されていない他のレイヤーを含むことができる。最初のレイヤー以外の各レイヤーは、１つ前のレイヤーの出力に対して動作する。最初のレイヤーは、ニューラルネットワークへの入力に対して動作し、また最後のレイヤーは最終的な結果を出力する。入力データは、とりわけある画像中のピクセル値、あるオーディオセグメント中の音、又は単語若しくは単語の断片といった情報を表す値の行列であってよい。レイヤーへの入力は、入力特徴部分マップと呼ぶことができ、またレイヤーの出力は、出力特徴部分マップと呼ぶことができる。
【００４９】
畳み込み６４０レイヤーは、１つ以上の入力特徴部分マップに対して畳み込みを実施する。畳み込みは、入力特徴部分マップに対するフィルタの適用を伴うことができ、このフィルタ及び入力特徴部分マップはそれぞれ、行列である。フィルタは、線、エッジ、曲線、隅、しみ、隆起等といった特定の特徴部分を、入力特徴部分マップから抽出するよう構成できる。フィルタは、カーネル、又は特徴部分デコーダーと呼ぶこともできる。畳み込みレイヤーは、２つ以上のフィルタを、入力特徴部分マップの同一のセットに対して適用してよい。
【００５０】
ニューラルネットワークアーキテクチャ６００では、畳み込み６４０レイヤーは、畳み込みの結果に対して、バッチ正規化及び非線形性の適用といった、追加の演算を実施できる。バッチ正規化は、あるレイヤーの出力値を制限して、訓練中のニューラルネットワークの安定性を改善できる。出力値を制限することによって、後続のレイヤーは、極端な値で訓練されることがなく、従ってネットワーク全体の訓練を更に迅速に実施できる。非線形性は、いくつかの畳み込み演算の後に付加できる。畳み込みは線形演算であり、いくつかの例では、畳み込み型ニューラルネットワークが学習することになる現実世界のデータが非線形であることが想定される。よって、要素毎に、非線形関数を、畳み込みからの出力特徴部分マップに対して適用できる。このような非線形関数は、正規化線形関数（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ  ：ＲｅＬＵ）によって提供され、その出力はＯｕｔｐｕｔ＝Ｍａｘ（０，Ｉｎｐｕｔ）で与えられる。他の非線形関数としては、ｔａｎｈ関数及びシグモイド関数が挙げられる。
【００５１】
ニューラルネットワークアーキテクチャ６００のエンコーダー６２２では、畳み込み６４０レイヤーのセットに、プーリング６４２レイヤーが続いている。サブサンプリング又はダウンサンプリングと呼ぶこともできるプーリングは、最も重要な情報を保持したまま、特徴部分マップの次元を低減できる。例えばプーリングは、特徴部分マップの行列中の値の領域（例えば２×２近傍、又は別のサイズの近傍）を取得するステップ、及び上記領域内の上記値にわたる最大値を決定するステップを含むことができる。あるいは、アベレージ関数、サム関数又は別の関数をプーリング関数として使用できる。プーリングを用いて、入力される表現の空間的サイズを漸減させることができる。例えばプーリングにより、入力される表現（例えば特徴部分の次元）を、より小さく、より管理しやすくすることができる。別の例として、プーリングは、パラメータ、及びニューラルネットワークが実施する必要がある計算の数を減少させることができる。別の例として、プーリングは、ニューラルネットワークを、入力画像のわずかな変換、歪み又は翻訳に対して不変とすることができる。即ち、最大値（又は平均、若しくは合計、若しくは他の何らかの演算）はローカルな近傍で行われるため、入力のわずかな歪みは、プーリングの出力を変化させない。更なる例として、プーリングは、画像の、スケールが略不変の表現（同変表現（ｅｑｕｉｖａｒｉａｎｔ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）と呼ばれる）の決定を支援できる。これは例えば、あるオブジェクトを、ある画像内において、上記オブジェクトが上記画像内のどこにあるかに関係なく検出できることを意味する。
【００５２】
エンコーダー６２２は更に、ドロップアウト６４４レイヤーを含むことができる。ドロップアウトレイヤーは、過剰適合の問題を低減する。過剰適合は、ニューラルネットワークが訓練用データ中の細部及びノイズを学習し、上記細部及びノイズが全ての状況に当てはまらない場合に、発生する。過剰適合は、ニューラルネットワークが新たなデータを学習するのを妨げる場合がある。ドロップアウトレイヤーは、ノードの着信方向及び発信方向の接続を含み、従ってレイヤーの出力の平均化の結果を近似する、レイヤー中のノードを一時的に除去することによって、過剰適合の問題を低減する。
【００５３】
プーリングは、特徴部分マップの分解能を低減し、従ってデコーダー６２４レイヤーは、特徴部分マップを再び、元の入力のサイズにリサイズするための、アップサンプリング６４６レイヤーを含む。アップサンプリング６４６は、とりわけ最近傍、双線形、双三次スプライン、又は一般化双三次補間といった、異なるタイプの補間を実施できる。
【００５４】
デコーダー６２４のデコンボリューション６４８レイヤーは、畳み込み６４０レイヤーによって畳み込まれた入力特徴部分マップを「復元（ｒｅｓｔｏｒｅ）」するための逆畳み込みを実施する。デコンボリューション演算は、入力特徴部分マップを完全に復元する試みでなくてよく、入力特徴部分マップの畳み込みに使用したものとは異なるフィルタを用いて、入力特徴部分マップの変更バージョンを復元してよい。デコンボリューション６４８レイヤーは、デコンボリューションの結果のバッチ正規化、及び／又は非線形性の適用も含むことができる。
【００５５】
ソフトマックス６５０レイヤーは、ソフトマックス関数を適用して、最後から２番目のレイヤーの出力を確率分布に正規化できる。確率分布は、ニューラルネットワークが出力を予測するよう訓練された複数のクラスにまたがってよい。例えば、ニューラルネットワークが猫の画像を認識するように訓練されている場合、ソフトマックスは、入力画像が猫を含む又は含まない確率を出力できる。ニューラルネットワークアーキテクチャ６００では、ソフトマックスを用いて、ピクセル値の確率、例えばある特定のピクセルをある色にするべきか別の色にするべきか等を、出力できる。様々な例において、シグモイド関数等の、ソフトマックス以外の関数を、最後のレイヤーで使用できる。
【００５６】
表１は、生成用ネットワークに関する例示的な構成を示す。この例では、生成用ネットワークの第１の段階（例えばエンコーダー）は、ＲｅｓＮｅｔ‐５０ニューラルネットワークを用いて実装されており、これは、オブジェクト分類のために構成された、深さ５０レイヤーの畳み込み型ニューラルネットワークである。いくつかの例では、ＲｅｓＮｅｔ‐５０の一部分、例えば最初の２０、３０、４０又は他の何らかの個数のレイヤーを使用する。例えば、ｃｏｎｖ３＿４レイヤーまでのレイヤーを使用できる。他の例では、他のニューラルネットワークを使用でき、又はカスタム構成のニューラルネットワークを使用できる。表１に示されている残りのレイヤーは、第２の段階（例えばデコーダー）のためのものである。
【００５７】
【表１】
2020187727.tif 000003
【００５８】
表１の例では、ＲｅｓＮｅｔ‐５０ネットワークの出力は、５１２個の行列を含み、これらは、出力画像の分解能の１／８を有する。ダウンスケーリングは、畳み込み型ニューラルネットワークの頻繁に現れる特徴である。というのは、５１２個の特徴部分マップはそれぞれ、入力画像の１つの特定の様相に焦点を合わせているためである。後続のレイヤーは、特徴部分マップを元の入力サイズにアップスケールし、ＲｅｓＮｅｔ‐５０によって識別された複数の異なる特徴部分を、単一の望ましい特徴部分（例えば１つの線画）へと組み合わせる。様々な例において、生成用ネットワークの出力中の値は、０〜１の範囲内（０、１を含む）である。
【００５９】
表２は、復元用ネットワークに関する例示的な構成を示す。この例によって示されるように、復元用ネットワークの第１の段階（例えばエンコーダー）は、それぞれ入力画像の１／８のサイズを有する２５６個の特徴部分マップを作成する。第２の段階（例えばデコーダー）は、これらの特徴部分マップを複数のステージでアップサンプリングし、近傍のピクセルを考慮するフィルタを適用する。様々な例において、復元用ネットワーク４３０の出力中の値は、０〜１の範囲内（０、１を含む）である。
【００６０】
【表２】
2020187727.tif 000004
【００６１】
生成用ネットワーク、又は生成用ネットワークと復元用ネットワークとの組み合わせを、データセットＤｔｒａｉｎで訓練できる。この訓練用データセットは、カラー写真ｘとターゲット線画ｙとのペアを含むことができる。カラー写真ｘは、ｘ∈Ｒ３×Ｗ×Ｈとすることができ、即ち各ｘは、幅Ｗ及び高さＨを有する実数の３つ（赤色、青色及び緑色チャネルそれぞれに関して１つ）の行列を含むことができる。更に、又はあるいは、いくつかの例では、Ｄｔｒａｉｎは、幅Ｗ及び高さＨの実数の１つの行列を有する、グレースケール画像を含むことができる。線画ｙは、ｙ∈Ｒ１×Ｗ×Ｈとすることができ、即ち各ｙは、幅Ｗ及び高さＨを有する実数の１つの行列を有することができる。生成用ネットワークの出力は、グレースケール画像Ｇ（ｘ）∈Ｒ１×Ｗ×Ｈである。復元用ネットワークの出力もまた、グレースケール画像Ｒ（Ｇ（ｘ））∈Ｒ１×Ｗ×Ｈである。
【００６２】
図７は、Ｄｔｒａｉｎデータセットに含めることができる、サンプル写真７１０及び線画７１２の表７００を含む。この例示的な表７００では、写真７１０は、顔及び身体の全体又は一部分を含む、人物の画像を含む。これらの写真は、６０２×６０２ピクセル〜１，９４６×２，４３２ピクセルとすることができ、又はこの範囲より大きくも小さくもすることができる。線画７１２は、人間のアーティストが作成できる。データセットのサイズを増大させるために、このデータセットは更に、写真７１０から切り取った顔と、これに対応する線画７１２からの領域とを含む。表７００が示すデータセットは例えば、写真と線画との１３８個のペアを含むことができる。
【００６３】
表７００に示されているデータセットで訓練されたニューラルネットワークは、期待出力（線画７１２）のスタイル及び内容が一貫していれば、更に効果的に訓練できる。従って、線画を生成したアーティストは、線画のサンプルのセットによって表されているように、ある１人のアーティストのスタイルに従うように指示された。更にアーティストは、焦点が合っていない領域（例えば背景）を無視するように、及び／又は背景の重要な部分（例えば水平線若しくは家具）に関して線を描画するように、指示された。異なるスタイルを有する異なる複数のアーティストの影響を低減するために、アーティストは、毛髪等の複雑なテクスチャを有する領域に関して、略図を提供するようにも指示された。
【００６４】
図８は、Ｄｔｒａｉｎデータセットに含めることができる、サンプル写真８１０及び線画８１２の別の表８００を含む。この例示的な表８００では、写真８１０は建築に関するシーンを含み、上記シーンはこの場合、建造物及び路上のシーンを含む。ここでは図示されていないが、このデータセットは屋内のシーンを含むこともできる。写真８１０は、３，７５０×５，０００ピクセル〜１７，００８×１１，３０４ピクセルのサイズとすることができ、又はこの範囲より大きくも小さくもすることができる。表８００に示されているデータセットは例えば、写真と線画との１７４個のペアを含むことができる。
【００６５】
表８００の複数の線画８１２の間に一貫性を持たせるために、アーティストは、テクスチャ及び群葉等の要素に関して指示を受けていてもよい。例えばアーティストは、全てのテクスチャを無視するように、又はあるテクスチャが前景にある場合若しくはその他の理由でシーンの中で重要となっている場合にはそのテクスチャを描画するように、指示されていてよい。別の例では、アーティストは、樹木及び茂みといった群葉について略図を描画するように指示されていてよい。
【００６６】
いくつかの例では、生成用ネットワーク又は生成用ネットワークと復元用ネットワークとの組み合わせのあるインスタンスを、図７に示されているデータセットで訓練でき、異なるインスタンスを表８に示されているデータセットで訓練できる。これらの例では、第１のインスタンスを、顔及び身体の線画の生成に特化でき、第２のインスタンスを、建築に関するシーンの線画の生成に特化できる。いくつかの例では、生成用ネットワーク又は生成用ネットワークと復元用ネットワークとの組み合わせを、図７、８に示されている両方のデータセットで訓練できる。いくつかの例では、１つの又は組み合わされたニューラルネットワークは更に、車両、風景、動物、スポーツイベント等といった、人物及び建造物以外の画像を含む、追加のデータで訓練できる。
【００６７】
ニューラルネットワークを訓練するステップは、（人間が作成するはずの結果をニューラルネットワークが予測していることから）予測と呼ぶことができる、ニューラルネットワークの出力と、グラウンドトゥルースとも呼ぶことができる、ターゲットである結果との間の差を計算するステップを含むことができる。この差は例えば、損失関数又はコスト関数を用いて計算できる。例えば、加重損失ＬＷＬ１は、以下のようにして計算でき、ここでａは予測された画像を表す行列であり、ｂはターゲット画像を表す行列である：
【００６８】
【数１】
2020187727.tif 000005
【００６９】
上の式１では、重み付けハイパーパラメータγが、予測画像の行列に適用される。この重み付けハイパーパラメータは、空白全体にわたる複数の線に対してどの程度の重要度が与えられるかを制御できる。γがゼロに等しい場合、式（１）は、ａとｂとの間に平均絶対誤差を生成する。γの適用によって得られた行列を、ターゲット画像から予測画像を減算して生成された行列に乗算する。
【００７０】
式１の損失関数は、ベースラインモデルの加重損失を計算する以下の式に従って、生成用ネットワークの出力Ｇ（ｘ）を予測画像として使用し、かつｘに対応する線画ｙをターゲット画像として使用することにより、生成用ネットワークに適用できる：
【００７１】
【数２】
2020187727.tif 000006
【００７２】
式２の結果をフィードバックとして用いて、生成用ネットワークを訓練できる。
【００７３】
いくつかの例では、生成用ネットワークの最適化バージョンを、以下の式に従って生成できる：
【００７４】
【数３】
2020187727.tif 000007
【００７５】
式３では、生成用ネットワークのタスクを実施するために達成可能な最良の重みを、Ｌｂａｓｅで示される損失を最小化することによって決定でき、ここで、式２に示されているように、損失関数は、生成用ネットワークの出力を期待出力と比較する。式３の最適化は例えば、逆伝播又は別のタイプの最適化方法を用いて勾配降下を行うことにより、実施できる。
【００７６】
本明細書において補助損失（ａｕｘｉｌｉａｒｙ  ｌｏｓｓ）と呼ばれるものを計算する以下の式に従って、式１の損失関数を、生成用ネットワーク及び復元用ネットワークの出力の組み合わせＲ（Ｇ（ｘ），ｙ）に適用できる：
【００７７】
【数４】
2020187727.tif 000008
【００７８】
式４の結果をフィードバックとして使用して、生成用ネットワークと復元用ネットワークとの組み合わせを訓練できる。補助損失関数は、訓練を安定化するために使用できる。
【００７９】
上述のように、復元用ネットワークは、ターゲット画像を表現した線画を修正又は破損することによって作成された合成劣化線画で、別個に訓練できる。劣化線画ｙは、ｙ＊∈Ｒ１×Ｗ×Ｈとすることができる。
【００８０】
様々な異なるアルゴリズムをｙ画像に適用して、ｙ＊画像を作成できる。例えば、等式：
【００８１】
【数５】
2020187727.tif 000009
を用いて退色を適用でき、ここでσ∈［０．０，１．０］であり、これは、白色のピクセルを修正しないまま残し、黒色のピクセルを灰色の陰影に変化させるという結果をもたらすことができる。別の例では、標準偏差σ∈［０．０，１．０］の２次元ガウスフィルタを適用することによって、線画の一部をぼやけさせることができる。別の例では、線画のランダムな領域をピクセルで埋めることができる。例えば、１６×１６ピクセル〜４０×４０ピクセルのサイズの、１０〜５０個の領域を、（量、サイズ及び位置に関して）ランダムに選択でき、並びに／又は２×２ピクセル〜１６×１６ピクセルのサイズの、１００〜５００個の領域を選択できる。この例では、選択された領域それぞれに関して、退色、ピクセルの白色への変更、又はｙ＊＝σｙ＋（１−σ）ｔ（ここでσ∈［０．０，１．０］）に従ったテクスチャｔの生成といったランダムな演算を実施できる。この後者の場合には、テクスチャを、画像編集ツールによって生成できるテクスチャ（例えば雲のテクスチャ）からランダムに切り取ることができる。いくつかの例では、ｙ＊画像は訓練中に生成でき、上述の演算はランダムに適用され、及び／又は組み合わされる。
【００８２】
式１の損失関数は、劣化画像ｙ＊で復元用ネットワークを訓練する場合、復元用ネットワークの出力にも適用でき、これは復元損失と呼ばれる：
【００８３】
【数６】
2020187727.tif 000010
【００８４】
復元用ネットワークを劣化画像データセットで訓練する場合に、式５の結果をフィードバックとして使用できる。
【００８５】
いくつかの例では、マルチタスク学習を採用して、抽出及び改良プロセスのパフォーマンスを同時に改善できる。マルチタスク学習は、復元用ネットワークをｙ＊で訓練するのと同時に、生成用ネットワーク、及び生成用ネットワークと復元用ネットワークとの組み合わせを、ｘ、ｙで訓練するステップを含むことができる。同時損失関数は、以下のように計算できる：
【００８６】
【数７】
2020187727.tif 000011
【００８７】
式６では、α、βはハイパーパラメータである。
【００８８】
いくつかの例では、生成用ネットワークと復元用ネットワークとの組み合わせの最適化バージョンを、以下の式に従って生成できる：
【００８９】
【数８】
2020187727.tif 000012
【００９０】
式４では、生成用ネットワークと復元用ネットワークとの組み合わせのタスクを実施するための、得られる最良の重みを、どのネットワークが同時損失関数Ｌｊｏｉｎｔの期待値を最小化するかを決定することによって、決定できる。この同時最適化は例えば、逆伝播を用いて実施でき、ここでは、期待出力と実際の出力との間の差を、ネットワークを通して逆伝播させ、期待出力と実際の出力との間の誤差又は差が最小化されるように重みを更新する。様々な例において、最適化は、コストの期待値が最小化されるよう、多数の画像を用いて実施される。
【００９１】
いくつかの例では、式７によって記述されているように、最適化された、生成用ネットワークと復元用ネットワークとの組み合わせを、学習率１．０×１０−４及びバッチサイズ４で、１００００回反復して同時に訓練した。図７に示されているデータセットに関して、ハイパーパラメータをγ＝２に設定し、図８に示されているデータセットに関して、ハイパーパラメータをγ＝０に設定した。式６に関するハイパーパラメータは、（α，β）＝（０．１，１０．０）に設定した。
【００９２】
いくつかの例では、生成用ネットワークのパフォーマンスを、生成用ネットワークの第１の段階を予備訓練することによって更に改善できる。例えば、上記第１の段階は、ＩｍａｇｅＮｅｔデータベース等の、オブジェクト認識のための入手可能なデータセットを用いて、オブジェクト認識及び／又は細分化に関して訓練できる。一例として、上記第１の段階は、顔認識及び／又は細分化に関して訓練できる。この例では、第１の段階は第２の段階とは別個のものとすることができ、このデータセットで独立して訓練できる。第１の段階の訓練後、第１の段階と第２の段階との組み合わせを、Ｄｔｒａｉｎデータセットで訓練できる。予備訓練を用いたため、第１の段階は調整をほとんど必要としなくてよく、オブジェクト識別及び／又は細分化に関して比較的正確なものであり得る、第２の段階のための入力を生成できる。従ってこの訓練は、第２の段階の調整に焦点を当てることができ、第２の段階をより迅速かつより正確に訓練できる。
【００９３】
いくつかの例では、上述の式３を、生成用ネットワークの予備訓練時に適用した。生成用ネットワークを、学習率１．０×１０−３及びバッチサイズ８で、３００００回反復して訓練した。
【００９４】
訓練用データセットＤｔｒａｉｎは、線画ｙの取得の困難さから、小さなものとなり得る。いくつかの例では、写真と線画とのいくつかのペアを複製して、コピーに修正を適用することによって、訓練用データセットを増強できる。例えばコピーされたペアを（例えば元のサイズの０．５〜１．５倍若しくは別の範囲で）拡大縮小する、左右反転させる、（例えば元の配向から−０．２５〜０．２５の範囲若しくは別の範囲で）回転させる、及び／又は（例えば３８４×３８４若しくは別のサイズに）切り取ることができる。あるいは、又は更に、コピーされた写真のコントラスト、サチュレーション、色相、及び／又は輝度を修正できる。
【００９５】
建築に関するシーンの線画を作成するのは特に時間がかかる場合がある。従っていくつかの例では、様々な街の３次元モデルから写真を生成することによって、データセットを拡大できる。上記３次元モデルを加工して、モデル内に輪郭の略図を作成できる。このプロセスは、写真と対応する線画との間にミスマッチを生成する場合があるが、これは人間のアーティストによって補正できる。あるいは、又は更に、ＭＡＳＫアノテーションｍ∈Ｒ１×Ｗ×Ｈを用いて誤差を示すことができ、ここでｍは、（例えば値１又は０をそれぞれ用いて）ある位置が有効であるか又は無効であるかを示す。いくつかの例では、図８に示されているデータセットは、このようにして生成された、写真と線画との９２個のペアと、線画を人間のアーティストが生成した、写真と線画との８２個のペアとを含むことができる。
【００９６】
いくつかの例では、ＭＡＳＫアノテーションを含めるために、加重損失関数を以下のように修正できる：
【００９７】
【数９】
2020187727.tif 000013
【００９８】
いくつかの例では、復元用ネットワーク及び／又は生成用ネットワークと復元用ネットワークとの組み合わせの訓練を、敵対的生成ネットワーク（Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  ネットワーク：ＧＡＮ）技法を用いて増強できる。この例では、入力線画が人間によって作成されたものか機械によって作成されたものかを認識するために、（決定ネットワーク（ｄｅｔｅｒｍｉｎａｔｉｖｅ  ｎｅｔｗｏｒｋ）と呼ばれる）別個のネットワークを構成できる。決定ネットワークの結果を、復元用ネットワーク又は組み合わせたネットワークにフィードバックでき、その訓練の目的は、決定ネットワークの誤差率を増大させる（例えば決定ネットワークを「騙して（ｆｏｏｌ）」、復元用ネットワーク又は組み合わせたネットワークが作成した線画を、人間が作成したものと決定させる）ことである。
【００９９】
推論を実施する際、線画を作成するための自動システム（例えば生成用ネットワークと復元用ネットワークとの組み合わせ）は、いずれのサイズの写真を入力とすることができる。以下の表３は、様々なサイズの画像に対するシステムの実行時間の例を示す。
【０１００】
【表３】
2020187727.tif 000014
【０１０１】
様々な例において、線画を作成するための自動システムのユーザは、入力写真を修正することによって出力に影響を及ぼすことができる。例えば、ユーザが入力写真のスケールを（例えばダウンスケーリングによって）低下させると、システムは、微小な細部を比較的少数しか生成できない。別の例としてユーザは、写真のある領域を選択して、上記領域をぼやけさせるフィルタを適用でき、これにより、上記領域は焦点が合っていないように見える。この例では、システムはぼやけた領域を無視でき、上記領域に線を生成しない。別の例として、線画を作成するための自動システムを含む画像編集ツールにより、ユーザは、線画が適用されることになる領域の選択、及び／又は線画が適用されない領域の選択が可能となる。
【０１０２】
図９Ａ〜９Ｄは、上述の技法を含む、線画の自動生成のための異なるシステムに、例示的な写真９１０を入力した結果の例を示す。図９Ａは、３つの異なるシステムへの入力として使用した、例示的な写真９１０を示す。
【０１０３】
図９Ｂは、画像‐画像変換のための条件付き敵対ネットワークを使用するシステムである、Ｐｉｘ２ｐｉｘの出力９０２を示す。Ｐｉｘ２Ｐｉｘは、敵対学習を使用して、入力‐出力間マッピングを学習し、また損失関数を使用してこのマッピングを達成する。
【０１０４】
図９Ｃは、エッジ検出器であるＣａｎｎｙの出力９０４を示す。
【０１０５】
図９Ｄは、上述の生成用及び復元用ネットワークの出力９０６を示す。
【０１０６】
図１０Ａ〜１０Ｄは、線画の自動生成のための異なるシステムに、例示的な写真１０１０を入力した結果の例を示す。図１０Ａは、３つの異なるシステムへの入力として使用した、例示的な写真１０１０を示す。
【０１０７】
図１０Ｂは、Ｐｉｘ２ｐｉｘの出力１００２を示す。
【０１０８】
図１０Ｃは、エッジ検出器であるＣａｎｎｙの出力１００４を示す。
【０１０９】
図１０Ｄは、上述の生成用及び復元用ネットワークの出力１００６を示す。
【０１１０】
場合によっては、Ｃａｎｎｙはグローバルイルミネーションに敏感であり、テクスチャのような線を作成する傾向がある、また影になった領域のほとんどの線を無視することがある。Ｐｉｘ２ｐｉｘはこれらの問題を有しないものの、あまりに多くの短く望ましくない線、ノイズ、及び強度が一貫しない線を生成する。
【０１１１】
線画を生成するための自動システムの出力は、コミックブック（漫画形式のコミックブック等）及び塗り絵の作成といった、様々な用途で使用できる。
【０１１２】
様々な例において、漫画形式のコミックブックの画面は、少なくとも２つのレイヤー：線画、及びハーフトーンスクリーンを含むことができる。線画は画面の背景を提供する。ハーフトーンスクリーンは、テクスチャ及び影といった視覚効果を含む、事前に定義されたパターンを含むことができる。アーティストは、写真からシーンをコピーすることによって線画を作成してよいが、線画を生成するためのシステムに写真を入力することによって、時間をかなり節約できる。自動生成された線画をアーティストが得ると、アーティストは線を追加若しくは除去でき、及び／又はスタイルの変更を加えることができる。次にアーティストは、微小な細部を表現するために、ハーフトーンスクリーンレイヤーを追加できる。
【０１１３】
塗り絵は、ユーザがとりわけ鉛筆、クレヨン及び／又は塗料といった媒体を用いて色を付加できる線画画像を含む本である。デジタル塗り絵では、ユーザは、選択した色で満たすために領域を選択することにより、色を付加できる。塗り絵の作成は、線画を生成するための自動システムの使用によって高速化できる。
【０１１４】
いくつかの例では、線画を作成するための自動システムの出力を、画像からベクトルフォーマットへの変換といった更なる編集に使用できる。様々な技法を用いて、ピクセルベースの画像をベクトルベースの画像に変換できる。これらの技法により、ユーザは、ベクトル化された画像の忠実度、及び得られる画像の単純さ又は複雑さを調整できる。
【０１１５】
図１１は、線画の自動生成のためのプロセス１１００の例を示すフローチャートを含む。例示的なプロセス１１００は例えば、１つ以上のプロセッサと、上記１つ以上のプロセッサによって実行された場合に、上記１つ以上のプロセッサにプロセス１１００の複数のステップを含む動作を実施させる命令を含む、非一時的コンピュータ可読媒体とを含む、計算デバイスによって、実施できる。あるいは、又は更に、非一時的コンピュータ可読媒体は、計算デバイスの１つ以上のプロセッサによって実行された場合に、上記１つ以上のプロセッサにプロセス１１００の複数の演算を実施させる命令を、保存できる。様々な例では、計算デバイスは、プロセス１１００の複数のステップを実施する際に使用できる、ニューラルネットワークを実行する。
【０１１６】
ステップ１１０２では、プロセス１１００は、デジタル画像をニューラルネットワークに入力するステップを含み、上記デジタル画像は写真を含む。いくつかの例では、デジタル画像は、ニューラルネットワークの訓練のために、ニューラルネットワークに入力される。いくつかの例では、デジタル画像は、デジタル画像に対して推論を実施するため、即ち上記画像の内容の線画を作成するために、入力される。
【０１１７】
ステップ１１０４では、プロセス１１００は、写真を識別するステップを含む。上記内容としては、オブジェクト、オブジェクトの組み合わせ、テクスチャ、エッジ、勾配、輪郭、及び／又は上記写真の他の様相が挙げられる。いくつかの例では、オブジェクトは、人物又は建築構造物の一部を含む。いくつかの例では、写真は、野外のシーン又は建造物の内部の写真である。
【０１１８】
様々な例において、ニューラルネットワークは、デジタル写真と上記デジタル写真のデジタル線画とを含むデータセットで訓練される。上記デジタル線画は、デジタル写真中のオブジェクトのエッジ及び特定の特徴部分のための線を含むことができる。例えば、特定の特徴部分のための線は、オブジェクトの認識を支援できる。別の例では、特定の特徴部分のための線は、オブジェクトの複数の部分に対して、形状又は明確さを提供する。いくつかの例では、特定の特徴部分は、上記オブジェクトが上記デジタル写真の前景にある場合には、テクスチャを含む。いくつかの例では、特定の特徴部分はテクスチャを除外する。
【０１１９】
いくつかの例では、プロセス１１００更に、ニューラルネットワークからの出力を、第２のニューラルネットワークに入力するステップを含むことができる。これらの例では、第２のニューラルネットワークは、グレースケールデジタル画像からデジタルアーティファクトを除去して、２色調デジタル画像を出力するよう訓練できる。この文脈において、「２色調（ｔｗｏ‐ｔｏｎｅ）」は、出力されるデジタル画像の背景が、ほとんどの場合は均一な、ある１つの色（例えば白色又は別の色）であり、写真の内容を図示するために描画された線は第２の色（例えば黒色又は別の色）であることを意味する。これらの線は、均一な１色であってよく、又は線の縁部等において、上記１つの色の勾配を含んでよい。いくつかの例では、第２のニューラルネットワークは、上記ニューラルネットワークとは別個に、線画及び上記デジタル線画のコピーのデータセットで訓練され、上記コピーは、デジタル的に付加されたアーティファクトを含む。これらの例及びその他の例では、第２のニューラルネットワークは上記デジタル線画を出力できる。
【０１２０】
ステップ１１０６では、プロセス１１００は、モデルを上記内容に適用するステップを含み、上記モデルは、ニューラルネットワークのために構成されている。モデルは、上記内容を図示するための単色の線を描画するための第１の特徴部分のセットを抽出するための、第１のパラメータを有することができる。モデルは更に、線が描画されるべきでない第２の特徴部分のセットのための第２のパラメータを有することができる。
【０１２１】
ステップ１１０８では、プロセス１１００は、第１の特徴部分のセットをデジタル画像から抽出し、第２の特徴部分のセットをフィルタリングするステップを含む。第１の特徴部分のセットは、写真中のオブジェクトのエッジ、上記オブジェクトのテクスチャ、並びに／又は上記オブジェクトの識別を支援する若しくは上記オブジェクトに形状及び／若しくは明確さを提供する、上記オブジェクトの様相を含むことができる。第２の特徴部分のセットは、上記オブジェクトのテクスチャ、及び／又はモデルが無視すると決定するべき微小な細部を含むことができる。
【０１２２】
ステップ１１１０では、プロセス１１００は、上記第１の特徴部分のセットのための線のセットを生成するステップを含み、上記線のセットは、上記内容の複数の様相をトレースする。上記線のセットは、幅にわたって略均一とする（例えば特に、最小幅１ピクセルを超えず、かつ最大幅が２ピクセルを超えないものとする、若しくは幅をわずか２ピクセルとする）ことができ、及び／又は最小の長さを有することができる。
【０１２３】
ステップ１１１２では、プロセス１１００は、上記デジタル画像のデジタル線画を出力するステップを含み、上記デジタル線画は、上記線のセットを含む。上記デジタル線画は２色調デジタル画像であり、上記線のセットが第１の色調であり、背景が第２の色調であり、上記線のセットは幅が略均一である。
【０１２４】
図１２は、線画を生成するための自動システムを実装する画像編集プログラムを実行できる計算デバイス１２００の例を示すブロック図を含む。計算デバイス１２００は例えば、とりわけデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、又はスマートフォンとすることができる。例示的な計算デバイス１２００は、とりわけプロセッサ１２０２、システムメモリ１２１４（プロセッサメモリ又はメインメモリと呼ぶこともできる）、周辺デバイス１２０４、及び１つ以上のネットワークインタフェース１２１８を含む、様々なハードウェア構成要素を含むことができる。動作時、計算デバイス１２００はまた、オペレーティングシステム１２１６及びアプリケーション１２１２といったソフトウェア構成要素も含むことができる。計算デバイス１２００はまた、非動作時に、とりわけ計算デバイス１２００の他のメモリデバイス上にファームウェアとして保存されたソフトウェア、及び／又はストレージデバイス１２０６に保存されたソフトウェアといったソフトウェア構成要素も含むことができる。
【０１２５】
プロセッサ１２０２は、プログラム命令を実行できる集積回路デバイスである。プログラム命令は、オペレーティングシステム１２１６及び／又はアプリケーション１２１２を実行するためのものとすることができる。上記命令は、プロセッサ１２０２によって実行されると、プロセッサ１２０２に、上記プログラムの操作を実施させる。上記命令は、プロセッサ１２０２によって実行されると、場合によっては命令によって操作されるデータと共に、システムメモリ１２１４に保存される。システムメモリ１２１４は、ランダムアクセスメモリ（ＲＡＭ）タイプ等、揮発性メモリストレージタイプとすることができる。システムメモリ１２１４は、ダイナミックＲＡＭ（ＤＲＡＭ）と呼ばれる場合もあるが、ＤＲＡＭベースの技術を用いて実装する必要はない。更に、システムメモリ１２１４は、フラッシュメモリ等の不揮発性メモリタイプを用いて実装できる。
【０１２６】
周辺デバイス１２０４は、計算デバイス１２００に機能を追加できるハードウェア構成要素を含むことができる。図１２に示す例では、周辺デバイス１２０４は、ストレージデバイス１２０６及び入力／出力デバイス１２０８を含む。ストレージデバイス１２０６は、とりわけ光学若しくは磁気ディスク、又はソリッドステートドライブといった、不揮発性ストレージデバイスを含むことができる。ストレージデバイス１２０６は、内部のものとすることができ（例えば図示された他の構成要素と同一のシャーシ内に設置でき）、又は外部のものとすることができる（例えば別個のエンクロージャ内にあり、ケーブルを用いて計算デバイス１２００に接続できる）。いくつかの例では、ストレージデバイス１２０６はネットワーク１２５０上に配置できる。入力／出力デバイス１２０８は、情報をユーザに表示できるようにし、計算デバイス１２００にデータを入力するために使用される、様々なデバイス、及び／又はデバイスのためのコネクタを含むことができる。例えば入力／出力デバイス１２０８は、とりわけ表示デバイス（例えばスクリーン若しくはモニター）、スピーカー、ヘッドフォン、及び／又はプリンターを含むことができる。更に入力／出力デバイス１２０８は、とりわけキーボード、マウス、タッチスクリーン、デジタル化タブレット、マイクロフォン、モーションセンサー、及びスキャナを含むことができる。周辺デバイス１２０４は、グラフィックアクセラレータ等の、ここで図示されていない他のデバイスを含むことができる。
【０１２７】
周辺デバイスの１つのタイプでもあるネットワークインタフェース１２１８により、計算デバイス１２００はネットワーク１２５０と通信できる。ネットワークインタフェース１２１８は例えば、ネットワークケーブルを接続するためのソケット、及び／又は無線ネットワークと通信するためのアンテナを含むことができる。ネットワークインタフェース１２１８が２つ以上のインタフェースを含む場合、計算デバイス１２００は、異なる複数のネットワークと同時に通信できる。ネットワーク１２５０は、プライベート（例えばファイヤーウォール設定され、認証資格情報を用いなければアクセスできない）ネットワーク、及び／又はインターネット等のパブリックネットワークを含むことができる。
【０１２８】
計算デバイス１２００の操作は、オペレーティングシステム１２１６によって協調及び制御できる。オペレーティングシステム１２１６は例えば、プロセッサ１２０２に、図１２に図示されている例示的なアプリケーション１２１２等の、ユーザによって起動されたアプリケーションをロードさせて実行させることができる。更なる例として、オペレーティングシステム１２１６は、計算デバイス１２００上で実行されるアプリケーションによる、計算デバイス１２００のハードウェアへのアクセス及び上記ハードウェアの使用を制御できる。
【０１２９】
図１２の例示的なアプリケーション１２１２は、この例では線画エンジン１２３２として実装された、線画を生成するための自動システムを含む、画像編集プログラムとすることができる。従ってアプリケーション１２１２は、ユーザが編集のために画像をロードできるエディタ１２１０を含む。画像は、計算デバイス１２００のストレージデバイス１２０６のうちの１つに保存された画像ファイル１２２２からロードしてよい。あるいは、画像ファイル１２２２は、あるネットワーク位置から、ネットワークインタフェース１２１８を介してロードしてよい。一旦ロードすると、上記画像のための画像ファイル１２２２は、システムメモリ１２１４内にも存在できる。
【０１３０】
画像ファイル１２２２は写真１２３４を含むことができ、これは、画像ファイル１２２２をエディタ１２１０にロードすると、エディタ１２１０で視認できる。様々な例において、エディタ１２１０は、ユーザが写真１２３４を線画エンジン１２３２に入力できるようにする、ツール、オプション、メニュー、又は別のオンスクリーンコントロールを含むことができる。線画エンジン１２３２は、写真１２３４中のオブジェクト及び上記オブジェクトの特徴部分を識別して、上記オブジェクトのための線を含む線画１２３６を作成するよう訓練された、上述の生成用ネットワーク等のニューラルネットワークを含むことができる。いくつかの例では、線画エンジン１２３２は、オブジェクトの細分化及び線画の作成のために訓練された第１のニューラルネットワーク（例えば生成用ネットワーク）と、グレースケール画像からデジタルアーティファクトを除去して、主に線を含み、漂遊ピクセル、影になった領域、又は極めて短い線を実質的に含まない、線画を出力するよう訓練された、第２のニューラルネットワーク（例えば上述の復元用ネットワーク）とを含む。
【０１３１】
いくつかの例では、線画エンジン１２３２はアプリケーション１２１２の構成要素であり、例示的な計算デバイス１２００上で、アプリケーション１２１２と共に実行される。いくつかの例では、線画エンジン１２３２の一部又は全体は、ネットワーク１２５０を介して利用可能なデータサービス１２５２によって提供できる。例えばデータサービス１２５２は、生成用ネットワークによって提供されるもの等の、オブジェクト認識及び細分化を提供できる。別の例として、データサービス１２５２に写真１２３４を与えることができ、データサービス１２５２は線画１２３６を送り返すことができる。
【０１３２】
図１３は、計算デバイス１３１０上で画像を編集するために使用できる、画像編集システム１３００の例を示す図である。様々な例において、画像編集システム１３００は、図１３に示す計算デバイス１３１０等の計算デバイスに画像編集サービスを提供できる、画像編集サービス１３２０を含む。様々な例において、画像編集サービス１３２０は、プライベートネットワーク、及び／又はインターネット等のパブリックネットワークを含むことができるネットワーク１３５０を介して、計算デバイス１３１０と通信できる。いくつかの例では、画像編集サービス１３２０は任意に、線画の作成を支援できるデータサービス１３５２と、ネットワーク１３５０を介して通信できる。
【０１３３】
この例の計算デバイス１３１０は、計算コードの命令を実行できるマイクロプロセッサ、命令及び／又は他のデータを保存するためのメモリ、並びに有線若しくは無線ネットワークカード及び／又はセルラーアンテナといったネットワーク機能を含む、様々なタイプの電子デバイスを含むことができる。このような電子デバイスの例としては、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、スマートフォン、パーソナルデジタルアシスタント、スマートウォッチ、デジタル眼鏡システム、インターネットテレビ、ゲームコンソール等が挙げられる。
【０１３４】
計算デバイス１３１０は、１人のユーザ又は複数のユーザに関連付けることができる。この文脈において、ユーザは、計算システムによって保守され、かつデータをユーザに関連付ける様々なタイプのデジタル識別子が存在し得る、デジタルエンティティである。例えばユーザは、英数字の文字列とすることができるユーザ名によって、計算システムに対して識別できる。この例では、ユーザ名を、計算システム上及び／又はネットワーク上のユーザアカウントと関連付けることができる。ユーザアカウントは更に、パスワード、セキュリティトークン、生物情報学データ、又は上記アカウントへのアクセスをある人物に与えるため、若しくは計算システムへのアクセスを上記アカウントに与えるために使用できる他のデータといった、認証データに関連付けることができる。別の例として、ユーザは、ｅメールアドレス、ソーシャルメディアのハンドル（例えばあるタイプのユーザ名）、ゲームのハンドル、携帯電話番号、又は別のタイプの識別子によって識別できる。いくつかの例では、１人のユーザを複数のユーザアカウントに関連付けることができる。いくつかの例では、１人のユーザを、複数のｅメールアドレス、ソーシャルメディアのハンドル、又は他の識別子に関連付けることができる。いくつかの例では、２人以上の人物（例えば人間）を同一のユーザに関連付けることができる。例えば、ネットワーク管理者のチームは、同一のユーザアカウントへのアクセスをそれぞれ有してよい。
【０１３５】
様々な例において、計算デバイス１３１０は、ユーザが画像編集サービス１３２０の画像編集操作を利用できるように、計算デバイス１３１０に画像編集サービス１３２０と対話させることができる、ハードウェア及びソフトウェアを含むことができる。例えば、計算デバイス１３１０は、それを通してユーザが画像編集サービス１３２０と対話して画像を編集できる、アプリケーション１３１２を実行できる。アプリケーション１３１２は、画像編集サービス１３２０によって提供されるものとすることができる。アプリケーション１３１２は、デバイス１３１０のディスプレイを用いて出力できるグラフィカルユーザインターフェースを含むことができ、これを通してユーザは画像を視認できる。アプリケーション１３１２は更に、画像編集サービス１３２０の編集機能へのアクセスを可能とすることができる。計算デバイス１３１０は更に、ユーザが編集操作を実施できるようにする、マウス、トラックパッド、キーボード、デジタル化タブレット、タッチスクリーン、及び／又はマイクロフォンといった入力デバイス１３１６を含むことができる。様々な例において、他のアプリケーション１３１８も計算デバイス１３１０上で実行できる。
【０１３６】
様々な例において、画像編集サービス１３２０は、１つ以上のサーバコンピュータ１３２２上で実行される様々なソフトウェアプロセッサを用いて実装できる。ソフトウェアプロセッサとしては例えば、とりわけエディタ１３３０、線画エンジン１３３２、及びユーザインタフェース（ＵＩ）管理プロセス１３３８が挙げられる。画像編集サービス１３２０は更に、他のデータの中でも特にストックの写真１３２４等のデータを保存するための、１つ以上のデータストアを含むことができる。データストアは例えば、ハードドライブ、ソリッドステートドライブ、又は他の形態の不揮発性保存メモリを用いて実装できる。
【０１３７】
プロセスを実行できるサーバコンピュータ１３２２は、プログラム命令を実行できる１つ以上のプロセッサと、上記プログラム命令を保存するためのメモリとを含む、計算デバイスとすることができる。サーバコンピュータ１３２２及びデータストアは例えば、データセンター内に格納でき、及び／又はデータセンターからのサービスとして提供できる。あるいは、又は更に、サーバコンピュータ１３２２及びデータストアは、画像編集サービス１３２０によって操作及び制御されるネットワーク内に格納できる。
【０１３８】
エディタ１３３０は、ユーザが、デジタル写真１３３４等のデジタル画像を編集できるようにすることができる。いくつかの例では、ユーザは、写真１３３４を含むファイルをアプリケーション１３１２に入力することによって、写真１３３４を提供できる。いくつかの例では、ユーザは、ストックの写真１３２４のデータストアから、写真１３３４を取得できる。
【０１３９】
様々な例において、エディタ１３３０は、ユーザが写真１３３４を線画エンジン１３３２に入力できるようにする、ツール、オプション、コマンド、メニュー、又は別のオンスクリーンコントロールを含むことができる。その後、線画エンジン１３３２は線画１３３６を出力することになり、ユーザはこの線画１３３６を、エディタ１３３０を通して視認できる。線画エンジン１３３２は、写真１３３４中のオブジェクト及び上記オブジェクトの特徴部分を識別して、上記オブジェクトのための線を含む線画１３３６を作成するよう訓練された、上述の生成用ネットワーク等のニューラルネットワークを含むことができる。いくつかの例では、線画エンジン１３３２は、オブジェクトの細分化及び線画の作成のために訓練された第１のニューラルネットワーク（例えば生成用ネットワーク）と、グレースケール画像からデジタルアーティファクトを除去して、線画１３３６を出力するよう訓練された、第２のニューラルネットワーク（例えば上述の復元用ネットワーク）とを含む。
【０１４０】
いくつかの例では、線画エンジン１３３２のいくつかの操作は、データサービス１３５２によってサポートできる。例えばデータサービス１３５２は、線画エンジン１３３２に含まれる１つ以上のニューラルネットワークを実行するための計算リソースを提供できる。別の例として、線画エンジン１３３２に含まれるニューラルネットワークのうちの一方又は両方を、データサービス１３５２で実行できる。いくつかの例では、データサービス１３５２は、画像編集サービス１３２０を通してユーザが編集できるストックの写真の、別のソースとすることができる。
【０１４１】
ユーザインタフェース管理プロセス１３３８は、ユーザがアプリケーション１３１２の使用中に遅延を体験しないように、画像編集サービス１３２０とアプリケーション１３１２のユーザインタフェースとの間でのデータの転送を管理できる。例えば、ユーザインタフェース管理プロセス１３３８は、アプリケーション１３１２へのユーザの入力と、この入力に応答してエディタ１３３０が行うアクションとを、協調させることができる。画像編集サービス１３２０は更に、ここで例示されていない他のプロセスを含むことができる。
【０１４２】
図１４は、図１３に示されている計算デバイス等の計算デバイス１４１０の例を示すブロック図を含む。図１４の例示的な計算デバイス１４１０は、計算デバイス１４１０から画像編集サービスにアクセスするために様々な組み合わせで使用できる、様々なハードウェア構成要素及びソフトウェア構成要素を含むことができる。
【０１４３】
様々な例において、ソフトウェア構成要素は、オペレーティングシステム１４４０及びアプリケーション１４４２を含むことができる。オペレーティングシステム１４４０は、計算デバイス１４１０上で実行されるアプリケーション１４４２、及び計算デバイスのハードウェアを含む、計算デバイス１４１０の様々な動作を管理できる。アプリケーション１４４２は、ユーザがそれを通して画像編集サービスと対話できる送達アプリケーション１４１２を含む、計算デバイス１４１０のユーザがアクセスできるプログラムを含むことができる。
【０１４４】
様々な例において、ハードウェア構成要素は、他の構成要素の中でも特にプロセッサ１４４４、メモリ１４４６、入力／出力（Ｉ／Ｏ）デバイス１４１６、及びネットワークインタフェース１４４８を含むことができる。プロセッサ１４４４は、オペレーティングシステム１４４０及びアプリケーション１４４２を実行するための命令を含むプログラム命令を実行するために動作可能な集積回路デバイスとすることができる。メモリ１４４６は、プロセッサ１４４４が命令を実行している間、及び／又は計算デバイス１４１０が電源を切られている間に、プログラム命令を保存できる。様々な例において、計算デバイス１４１０は、揮発性及び／又は不揮発性メモリを含む複数のメモリを含むことができる。不揮発性メモリは、「非一時的」と記述することもできる。Ｉ／Ｏデバイス１４１６は、表示スクリーン、タッチスクリーン、キーボード、マウス等といったユーザ入力及び出力デバイスを含むことができる。Ｉ／Ｏデバイス１４１６は更に、全地球測位システム（ＧＰＳ）受信機等の位置デバイスを含むことができる。ネットワークインタフェース１４４８は、特にネットワークポート、Ｗｉ‐Ｆｉアンテナ、及び／又はセルラーアンテナといった、有線及び／又は無線ネットワークデバイスを含むことができる。ネットワークインタフェース１４４８により、計算デバイス１４１０は、例えばインターネットを含むネットワーク１４５０と通信できる。
【０１４５】
図１５は、図１４に示されている画像編集サービスのような画像編集サービス１５２０をホストできるデータセンター１５６０の例を示すブロック図を含む。図１５のデータセンター１５６０は、画像編集サービス１５２０を制御するエンティティ以外のエンティティによって操作でき、また、画像編集サービス１５２０のオペレータにリソースをリースすることができる。あるいは、データセンター１５６０は、画像編集サービス１５２０を制御するエンティティによって操作してもよい。
【０１４６】
データセンター１５６０は、複数のサーバ１５６２ａ〜１５６２ｂを含み、そのうちの２つがここで図示されている。サーバは、主にネットワークを介してアクセスするための、また場合によっては複数の無関係なユーザが同時に使用するための、計算デバイスとすることができる。サーバの構成の例を、第１のサーバ１５６２ａによって図１５に示す。第１のサーバ１５６２ａによって示されているように、サーバは、ソフトウェアレイヤー及びハードウェアレイヤーを含むことができる。
【０１４７】
ソフトウェアレイヤーは例えば、他のソフトウェア及びアプリケーションの中でも特に、オペレーティングシステム１５７０、ハイパーバイザー１５７２、及び仮想機械１５７４ａ〜１５７４ｄを含むことができる。オペレーティングシステム１５７０は、ハイパーバイザー１５７２、仮想機械１５７４ａ〜１５７４ｄ、及びハードウェアの操作の実行を含む、第１のサーバ１５６２ａの複数の操作を、制御して協調させることができる。カーネルベース仮想機械（ｋｅｒｎｅｌ‐ｂａｓｅｄ  ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ：ＫＶＭ）又は仮想機械モニター（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ  ｍｏｎｉｔｏｒ：ＶＭＭ）と呼ぶこともできるハイパーバイザー１５７２は、仮想機械１５７４ａ〜１５７４ｄを管理できる。例えば、ハイパーバイザー１５７２は、他の操作の中でも特に、新しい仮想機械の起動、第１のサーバのハードウェアの仮想機械の使用、及び仮想機械の停止等の操作を処理できる。いくつかの例では、ハイパーバイザー１５７２はオペレーティングシステム１５７０に統合される。
【０１４８】
仮想機械は、物理コンピュータシステムのハードウェア上で実行される、エミュレートされたコンピュータシステムである。第１の仮想機械１５７４ａによって示されているように、仮想機械は、コンピュータハードウェア１５７８の下層表現を含むことができ、これは、上記仮想機械が実行されている計算システムの物理ハードウェアにマッピングする必要は全くない。仮想機械は更に、仮想ハードウェア１５７８の最上部で実行されているソフトウェア１５７６を含むことができる。ソフトウェア１５７６は、オペレーティングシステム及びアプリケーションを含むことができ、これらは、第１のサーバ１５６２ａのオペレーティングシステム１５７０及びアプリケーションとは別個のものである。物理計算システムと同様、仮想機械は互いから分離でき、ある仮想機械内で操作を行うユーザは、同一のシステム上に他の仮想機械が存在していることに気づかない場合がある。図１５に示されている仮想機械１５７４ａ〜１５７４ｈはそれぞれ、実行されるソフトウェア、及び／又は仮想ハードウェアの特定の構成が変化するものの、第１の仮想機械１５７４ａに関して図示されているものと同様の構成を有することができる。
【０１４９】
例示的な第１のサーバ１５６２ａのハードウェアレイヤーは、他のハードウェアの中でも特に、プロセッサ１５６４、メモリ１５６６、ストレージデバイス１５６８、及びネットワークインタフェース１５８０を含むことができる。プロセッサ１５６４は、第１のサーバ１５６２ａのソフトウェアレイヤーで実行されるプログラムのための命令を含むプログラム命令を実行するよう動作可能な集積回路デバイスである。いくつかの例では、第１のサーバ１５６２ａは、複数のプロセッサを含むことができる。いくつかの例では、１つのプロセッサは、複数の処理コアを含むことができる。プロセッサ１５６４がプログラム命令を実行している間、上記プログラム命令はメモリ１５６６内に保存できる。様々な例において、メモリ１５６６は、揮発性メモリ及び／又は不揮発性メモリとすることができる。様々な例において、第１のサーバ１５６２ａは、複数の異なるメモリを含むことができる。ストレージデバイス１５６８は、特にハードドライブ、フラッシュドライブ、及び／又はソリッドステートドライブといった、不揮発性ストレージシステムを含むことができる。プログラム命令は、実行されていない間、及び場合によっては実行されている間、ストレージデバイス１５６８に保存できる。メモリ１５６６及びストレージデバイス１５６８は、非一時的コンピュータ可読媒体の２つの例を示す。ネットワークインタフェース１５８０は、第１のサーバ１５６２ａを、データセンター１５６０の内部ネットワーク１５９０等のネットワークに接続するための、ハードウェア及びソフトウェアを含むことができる。いくつかの例では、第１のサーバ１５６２ａは複数のネットワークインタフェース１５８０を含むことができ、従って第１のサーバ１５６２ａは、内部ネットワーク１５９０への複数の接続を保持できる。
【０１５０】
様々な例において、第２のサーバ１５６２ｂ等の、データセンター１５６０内の他のサーバは、場合によっては実行されるソフトウェア、いずれの所与の時点で実行されている仮想機械の数、及び／又はサーバに含まれるハードウェアが変化するものの、第１のサーバ１５６２ａと同様に構成できる。
【０１５１】
データセンター１５６０の内部ネットワーク１５９０は、データセンター１５６０のサーバ１５６２ａ〜１５６２ｂを、互いに及びインターネット等の外部ネットワーク１５５０に接続できる。内部ネットワーク１５９０は、ネットワーク管理１５９２ソフトウェアを含むことができ、これは、各サーバ１５６２ａ〜１５６２ｂの作業負荷の平衡化、サーバの起動及び停止、並びにデータセンターのカスタマーの、サーバ及び／又はサーバ上の仮想機械への割り当てといった操作を実施できる。内部ネットワーク１５９０は更に、ルート、スイッチ、ハブ、及びゲートウェイといった、内部ネットワーク１５９０を形成するネットワークハードウェア１５９４を含むことができる。
【０１５２】
データセンター１５６０のカスタマーは、画像編集サービス１５２０を含むことができる。画像編集サービス１５２０は例えば、データセンター１５６０内の１つ以上の仮想機械を割り当てることができ、画像編集サービス１５２０はこれを用いて、画像編集サービス１５２０の様々なプロセスを実行できる。データセンター１５６０は、画像編集サービス１５２０のオペレータが、この画像編集サービス１５２０に割り当てられた仮想機械がどこで実行されているのかを知る必要がないように、構成できる。図１５の例では、画像編集サービス１５２０は、第１のサーバ１５６２ａ上で実行されるいくつかの仮想機械と、第２のサーバ１５６２ｂ上で実行されるいくつかの仮想機械とを割り当てられる。様々な例において、データセンター１５６０は、画像編集サービス１５２０を異なるサーバに移動させることを決定してよく、従って画像編集サービス１５２０の操作を、ある仮想機械から別の仮想機械に移行させてよい。
【０１５３】
様々な例において、画像編集サービス１５２０のオペレータは、画像編集サービス１５２０に割り当てられた仮想機械に、ネットワーク１５５０からアクセスできる。例えばデータセンター１５６０は、コンソール又はグラフィカルユーザインターフェースを提供でき、オペレータはこれらを介して仮想機械を構成できる。様々な例において、画像編集サービス１５２０のデータは、サーバのストレージデバイス１５６８上、及び／又はデータセンター１５６０内のネットワーク接続ストレージデバイス上に保存できる。
【０１５４】
画像編集サービス１５２０のサービスは更に、ネットワーク１５５０を介してユーザに提供できる。例えば、画像編集サービス１５２０に割り当てられた仮想機械はそれぞれ、仮想ネットワークインタフェースを含むことができ、仮想機械はこれらを通して、ネットワーク１５５０と通信できる。通信は、画像及び上記画像を編集するための命令を含む入力の、ユーザデバイスからの受信、並びに／又は画像の更新されたバージョン及び／若しくは上記命令の実施結果の、ユーザデバイスへの送信を含むことができる。
【０１５５】
線画を生成するための自動システムのためのシステム及び構成要素の様々な実装形態の完全な理解を提供するために、以上の説明において、具体的な詳細を提供した。しかしながら、上述の実装形態を、これらの具体的な詳細を用いずに実施できることは、当業者には理解されるだろう。例えば、回路、システム、ネットワーク、プロセス、及び他の構成要素は、上記実施形態を不必要な詳細によって不明瞭にしないよう、ブロック図の形式の構成要素として示されている場合がある。他の例では、上記実施形態が不明瞭になるのを回避するために、公知の回路、プロセス、アルゴリズム、構造及び技法は、不要な詳細を含めずに示されている場合がある。
【０１５６】
個々の実装形態は、フローチャート、フロー図、データフロー図、構造図、又はブロック図として図示されたプロセスとして記述される場合があることにも留意されたい。あるフローチャートが複数の操作を順次プロセスとして記述している場合があるが、これらの操作のうちの多くは、並列に又は同時に実施できる。更に、操作の順序は再配置できる。あるプロセスは、その操作が完了すると終了するが、図に含まれていない追加のステップを有する場合もある。プロセスは、方法、関数、手順、サブルーチン、サブプログラム等に相当し得る。プロセスが関数に相当する場合、その終了は、上記関数が、呼び出し元の関数又はメイン関数に戻ることに対応していてよい。
【０１５７】
用語「コンピュータ可読媒体（ｃｏｍｐｕｔｅｒ‐ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）」は、限定するものではないが、可搬性又は非可搬性ストレージデバイス、光学ストレージデバイス、並びに１つ以上の命令及び／又はデータを保存、内包又は搬送できる他の様々な媒体を含む。コンピュータ可読媒体は、データを保存でき、かつ無線で又は有線接続を介して伝播する搬送波及び／又は一時的電子信号を含まない、非一時的媒体を含んでよい。非一時的媒体の例としては、限定するものではないが、磁気ディスク又はテープ；コンパクトディスク（ＣＤ）若しくはデジタル多用途ディスク（ＤＶＤ）等の光学ストレージ媒体；フラッシュメモリ；メモリ；又はメモリデバイスが挙げられる。コンピュータ可読媒体は、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、又は命令、データ構造若しくはプログラム文のいずれの組み合わせを表すことができる、コード及び／又は機械実行可能命令を保存したものであってよい。コードセグメントは、情報、データ、引数、パラメータ又はメモリの内容を受け渡す及び／又は受け取ることにより、別のコードセグメント又はハードウェア回路に連結できる。情報、引数、パラメータ、データ等は、メモリ共有、メッセージの受け渡し、トークンの受け渡し、ネットワーク伝送等を含むいずれの好適な手段によって、受け渡し、転送、又は送信を行うことができる。
【０１５８】
上述の様々な例は更に、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はこれらのいずれの組み合わせによって実装してよい。ソフトウェア、ファームウェア、ミドルウェア又はマイクロコードとして実装される場合、必要なタスクを実施するためのプログラムコード又はコードセグメント（例えばコンピュータプログラム製品）は、コンピュータ可読又は機械可読ストレージ媒体（例えばプログラムコード又はコードセグメントを保存するための媒体）に保存してよい。集積回路内に実装された１つ以上のプロセッサが、上記必要なタスクを実施してよい。
【０１５９】
構成要素が、特定の操作を実施する「よう構成され（ｃｏｎｆｉｇｕｒｅｄ  ｔｏ）」ていると記載されている場合、このような構成は例えば：操作を実施するように電子回路若しくは他のハードウェアを設計することによって；操作を実施するように、プログラム可能な電子回路（例えばマイクロプロセッサ若しくは他の好適な電子回路）をプログラムすることによって；又はこれらのいずれの組み合わせによって、達成できる。
【０１６０】
本明細書で開示されている実装形態に関連して説明されている、様々な例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、又はこれらの組み合わせとして実装してよい。ハードウェアとソフトウェアとがこのように相互交換可能であることを明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路及びステップを、その機能に関して上で概説した。このような機能がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の用途、及びシステム全体に課された設計上の制約に依存する。当業者は、特定の用途それぞれに関して、本明細書に記載の機能を様々な方法で実装してよいが、このような実装の決定は、本開示の範囲からの逸脱を引き起こすものとして解釈されないものとする。
【０１６１】
本明細書に記載の技法もまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、又はこれらのいずれの組み合わせとして実装してよい。このような技法は、汎用コンピュータ、無線通信デバイスハンドセット、又は無線通信デバイスハンドセット及び他のデバイスにおける用途を含む多数の使用法を有する集積回路デバイスといった、多様なデバイスのうちのいずれとして実装してよい。モジュール又は構成要素として説明されているいずれの特徴部分は、集積論理デバイス内に一体として実装してよく、又は分離しているものの相互運用可能な論理デバイスとして別個に実装してよい。ソフトウェアとして実装される場合、これらの技法は少なくともその一部が、プログラムコードを含むコンピュータ可読データストレージ媒体によって実現されてよく、上記プログラムコードは、実行された場合に、上述の方法のうちの１つ以上を実施する。コンピュータ可読データストレージ媒体は、コンピュータプログラム製品の一部を形成してよく、これは梱包材料を含んでよい。コンピュータ可読媒体は、同期式ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）等のランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能なプログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気又は光学データストレージ媒体等といった、メモリ又はデータストレージ媒体を含んでよい。更に、又はあるいは、上記技法は、少なくともその一部が、コンピュータ可読通信媒体によって実現されてよく、上記コンピュータ可読通信媒体は、命令又はデータ構造の形態のプログラムコードを搬送又は通信し、またコンピュータによってアクセス、読み出し、及び／又は実行が可能であり、例えば伝播した信号又は波である。
【０１６２】
プログラムコードはプロセッサによって実行でき、上記プロセッサは、１つ以上のプロセッサ、例えば１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は他の同等の集積若しくはディスクリート論理回路といった、１つ以上のプロセッサを含んでよい。このようなプロセッサは、本開示に記載の技法のうちのいずれを実施するよう構成してよい。汎用プロセッサはマイクロプロセッサであってよいが、代替例では、上記プロセッサは、いずれの従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であってよい。プロセッサはまた、計算デバイスの組み合わせ、例えばＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと併用される１つ以上のマイクロプロセッサ、又は他のいずれのこのような構造として、実装してもよい。従って、本明細書中で使用される用語「プロセッサ（ｐｒｏｃｅｓｓｏｒ）」は、上述の構造のうちのいずれ、上述の構造のいずれの組み合わせ、又は本明細書に記載の技法の実装に好適な他のいずれの構造若しくは装置を指してよい。更に、いくつかの態様では、本明細書に記載の機能は、線画の自動生成のために構成された専用のソフトウェアモジュール又はハードウェアモジュール内に提供してよい。
【符号の説明】
【０１６３】
１１０、２１０、３１０、４１０、７１０、８１０、９１０、１０１０、１２３４  写真
１１２、２１２、３１２、４１２、５１２、７１２、８１２、１２３６  線画
１２００、１３１０、１４１０  計算デバイス
【図１Ａ】
2020187727.tif 000015
【図１Ｂ】
2020187727.tif 000016
【図２Ａ】
2020187727.tif 000017
【図２Ｂ】
2020187727.tif 000018
【図３】
2020187727.tif 000019
【図４】
2020187727.tif 000020
【図５】
2020187727.tif 000021
【図６】
2020187727.tif 000022
【図７】
2020187727.tif 000023
【図８】
2020187727.tif 000024
【図９Ａ】
2020187727.tif 000025
【図９Ｂ】
2020187727.tif 000026
【図９Ｃ】
2020187727.tif 000027
【図９Ｄ】
2020187727.tif 000028
【図１０Ａ】
2020187727.tif 000029
【図１０Ｂ】
2020187727.tif 000030
【図１０Ｃ】
2020187727.tif 000031
【図１０Ｄ】
2020187727.tif 000032
【図１１】
2020187727.tif 000033
【図１２】
2020187727.tif 000034
【図１３】
2020187727.tif 000035
【図１４】
2020187727.tif 000036
【図１５】
2020187727.tif 000037
【外国語明細書】
2020187727000001.pdf