本開示は、コンピュータ技術の分野に関し、具体的には画像変換の技術分野に関し、特に画像の生成方法および生成装置に関する。
現在、市場には多くのデジタル娯楽製品があり、その中の自撮り特殊効果の遊び方、例えば顔を子供の顔に変えたり、顔のスタイルを変えたりするなどは、非常に面白く、人々に愛用されている。
現在、大多数のアプリケーションが提供しているサービスは、顔テンプレートを用いて異なるスタイルの顔を生成している。すなわち、認識されたユーザの五官や顔型に基づいて、異なるスタイルの素材ライブラリの中で認識されたユーザの五官や顔型に最も類似した素材を選択して組み合せることで、顔を二次元変換し、異なるスタイルの顔を得ることである。
本開示の実施形態は、画像の生成方法および生成装置を提供する。
第1態様において、本開示の実施例は、ユーザから入力した顔を含む第1の画像を受信するステップと、第1の画像をユーザに提示するステップと、バックグラウンドで入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップと、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示するステップと、を含む顔画像の生成方法を提供する。
いくつかの実施例において、方法は、ユーザから入力した顔を含む第1の画像を受信するステップの前に、対話シーンにおいて、顔変換の指示を受けるステップと、顔画像を入力する情報をユーザに提示するステップと、をさらに含む。
いくつかの実施例において、顔画像を入力する情報をユーザに提示するステップは、顔自動撮影画面をユーザに提示するステップを含み、ユーザから入力した顔を含む第1の画像を受信するステップは、ユーザが自動撮影画面で顔を入力したことが検出されたことに応答して、自動撮影機能をトリガして第1の画像を得るステップを含む。
いくつかの実施例において、顔自動撮影画面をユーザに提示するステップは、
所定スタイルの枠および/または撮影要件を含む自動撮影画面をユーザに提示するステップと、撮影画面で顔が検出されなかったことに応答して、顔が検出されなかった提示情報をユーザに提示するステップと、のうちの少なくとも1項を含む。
いくつかの実施例において、顔自動撮影画面をユーザに提示するステップは、撮影画面で顔が検出されたことに応答して、自動撮影カウントダウンをユーザに提示するステップと、自動撮影カウントダウンが終了したことに応答して、検出された顔を撮影するステップと、自動撮影カウントダウン期間内にユーザからの顔の入力がなかったことに応答して、カウントダウンを終了し、顔が検出されなかった提示情報をユーザに提示するステップと、をさらに含む。
いくつかの実施例において、第1の画像をユーザに提示するステップは、第1の画像をユーザに所定時間提示した後に、提示された第1の画像にマスキングレイヤーを設け、対話シーンにおいて顔変換進行状況提示情報を表示するステップを含む。
いくつかの実施例において、所定スタイルの枠は、顔変換進行状況提示情報の設計スタイルと同一または類似している。
いくつかの実施例において、事前トレーニングされた敵対的生成ネットワークに第1の画像を入力するステップは、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップを含むか、または、第1の画像のテクスチャ特徴パラメータ値がテクスチャ閾値よりも大きいか否かを検出し、大きい場合、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップを含む。
いくつかの実施例において、敵対的生成ネットワークが入力された画像に基づいて生成された顔属性情報を制約とすることは、敵対的生成ネットワークが入力された画像に基づいて生成されたマルチチャネルの顔画像を入力とするステップを含み、マルチチャネルの顔画像は、入力された画像のRGB3チャネル画像と、入力された画像のうち、顔のキーポイントの1チャネル二値画像またはRGB3チャネル画像、顔のセマンティックセグメンテーション結果の1チャネル二値画像またはRGB3チャネル画像および髪の1チャネル二値画像のうちの少なくとも1項と、を含む。
いくつかの実施例において、方法は、第2の画像をユーザに所定時間提示した後に、第1の画像と第2の画像を同時にユーザに提示するステップをさらに含む。
いくつかの実施例において、方法は、顔スタイル変換オプションをユーザに提示するステップと、ユーザによる変換オプションの選択を受け取るステップと、変換プロセス画像をユーザに提示するステップと、バックグラウンドで変換前の第2の画像とは異なるスタイルを有する新たな第2の画像が生成されたことに応答して、新たな第2の画像をユーザに提示するステップと、をさらに含む。
いくつかの実施例において、顔スタイル変換オプションをユーザに提示するステップは、ダイスボタンの画像および動的にクリックする手の画像をユーザに提示するステップを含み、ユーザによる変換オプションの選択を受け取るステップは、ユーザによるダイスボタンへのクリックを受け取るステップを含み、変換プロセス画像をユーザに提示するステップは、動的ダイス画像をユーザに提示するステップを含む。
いくつかの実施例において、新たな第2の画像をユーザに提示するステップは、下向き消去の特殊効果で新たな第2の画像をユーザに提示するステップを含む。
いくつかの実施例において、方法は、変換オプションを提示した後、所定時間内にユーザによる保存オプションまたは変換オプションへの選択操作を受け取っていないことに応じて、顔画像を入力する情報をユーザに提示するステップに戻るステップをさらに含む。
いくつかの実施例において、バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップは、バックグラウンドで第1の画像をクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力された第2の画像を得るステップを含み、方法は、バックグラウンドで第1の画像をクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに入力するときにネットワーク異常が検出されたことに応答して、「ネットワーク異常、再試行してください」という情報をユーザに提示し、かつ、「ネットワーク異常、再試行してください」という情報をユーザに所定時間提示した後に、顔画像を入力する情報をユーザに提示するステップに戻るステップ、をさらに含む。
いくつかの実施例において、方法は、バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るための所要時間が事前設定された時間を超えたことに応答して、「生成エラー、再試行してください」という情報をユーザに提示し、かつ、「生成エラー、再試行してください」という情報をユーザに提示した時間が所定時間に達したときに、顔画像を入力する情報をユーザに提示するステップに戻るステップと、バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得る過程で異常が発生したことに応答して、「生成エラー、再試行してください」という情報をユーザに提示し、かつ、「生成エラー、再試行してください」という情報をユーザに提示した時間が所定時間に達したときに、顔画像を入力する情報をユーザに提示するステップに戻るステップと、ユーザが他のアプリケーションに切り替え、また他のアプリケーションから戻ったことに応答して、顔画像を入力する情報をユーザに提示するステップに戻るステップと、の少なくとも1項をさらに含む。
第2態様において、本開示の実施例は、ユーザから入力した顔を含む第1の画像を受信するように構成された第1の画像入力ユニットと、第1の画像をユーザに提示するように構成された第1の画像提示ユニットと、バックグラウンドで入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るように構成された第2の画像出力ユニットと、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示するように構成された第2の画像提示ユニットと、を含むことを特徴とする、顔画像の生成装置を提供する。
いくつかの実施例において、第1の画像提示ユニットはさらに、第1の画像をユーザに所定時間提示した後に、提示された第1の画像にマスキングレイヤーを設け、対話シーンにおいて顔変換進行状況提示情報を表示するように構成されている。
いくつかの実施例において、第2の画像出力ユニットはさらに、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するか、または、第1の画像のテクスチャ特徴パラメータ値がテクスチャ閾値よりも大きいか否かを検出し、大きい場合、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するように構成されている。
いくつかの実施例において、第2の画像出力ユニットで用いられる敵対的生成ネットワークが入力された画像に基づいて生成された顔属性情報を制約とすることは、敵対的生成ネットワークが入力された画像に基づいて生成されたマルチチャネルの顔画像を入力とするステップを含み、マルチチャネルの顔画像は、入力された画像のRGB3チャネル画像と、入力された画像のうち、顔のキーポイントの1チャネル二値画像またはRGB3チャネル画像、顔のセマンティックセグメンテーション結果の1チャネル二値画像またはRGB3チャネル画像、および髪の1チャネル二値画像のうちの少なくとも1項と、を含む。
いくつかの実施例において、装置は、顔スタイル変換オプションをユーザに提示するように構成された変換オプション提示ユニットと、ユーザによる変換オプションの選択を受け取るように構成されたユーザ選択受取ユニットと、変換プロセス画像をユーザに提示するように構成されたプロセス画像提示ユニットと、バックグラウンドで変換前の第2の画像とは異なるスタイルを有する新たな第2の画像が生成されたことに応答して、新たな第2の画像をユーザに提示するように構成された第2の画像更新ユニットと、をさらに含む。
いくつかの実施例において、変換オプション提示ユニットはさらに、ダイスボタンの画像および動的にクリックする手の画像をユーザに提示するように構成され、ユーザ選択受取ユニットはさらに、ユーザによるダイスボタンへのクリックを受け取るように構成され、プロセス画像提示ユニットはさらに、動的ダイス画像をユーザに提示するように構成されている。
いくつかの実施例において、第2の画像更新ユニットはさらに、下向き消去の特殊効果で新たな第2の画像をユーザに提示するように構成されている。
いくつかの実施例において、装置は、変換オプションを提示した後、所定時間内にユーザによる保存オプションまたは変換オプションへの選択操作を受け取っていないことに応じて、顔画像を入力する情報をユーザに提示するステップに戻るように構成された情報提示復帰ユニットをさらに含む。
第3態様において、本開示の実施例は、1つまたは複数のプロセッサと、1つまたは複数のプログラムを記憶するための記憶装置と、を含む電子機器/端末/サーバであって、1つまたは複数のプログラムが1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに上記のいずれかに記載の方法を実施させる電子機器/端末/サーバを提供する。
第4態様において、本開示の実施例は、コンピュータプログラムが格納されているコンピュータ可読媒体であって、プログラムはプロセッサによって実行されると、上記のいずれかに記載の方法を実施するコンピュータ可読媒体を提供する。
本開示の実施形態で提供される画像の生成方法および生成装置は、まず、ユーザが入力した顔を含む第1の画像を受信し、そして、第1の画像をユーザに提示し、その後、バックグラウンドで第1の画像を事前トレーニングされた敵対的生成ネットワークに入力し、入力された画像に基づいて生成された顔属性情報を制約とする敵対的生成ネットワークから出力された第2の画像を得、最後に、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示する。この過程では、敵対的生成ネットワークの制約として顔属性情報を採用しているため、敵対的生成ネットワークが入力された第1の画像に基づいて第2の画像を生成する精度と効率を向上させ、画像を誤生成する確率を減少させることができる。これにより、生成された第2の画像をより的確にすることができる。
以下の図面を参照して行われた非限定的な実施形態の詳細な説明を読むことによって、本開示の他の特徴、目的および利点は、より明らかになるであろう。
図1は本開示が適用できる例示的なシステムアーキテクチャである。
図2は本開示の一実施形態に係る画像の生成方法の一実施形態のフローチャートである。
図3は、本開示の一実施形態に係る画像の生成方法の例示的な適用シーンである。
図4は本開示の一実施形態に係る画像の生成方法の別の実施形態のフローチャートである。
図5は、本開示の画像の生成装置の一実施形態の例示的な構成図である。
図6は本開示の実施形態のサーバの実施に適したコンピュータシステムの構成図である。
以下、本開示について、添付の図面および実施形態に関連してさらに詳細に説明する。本明細書に記載された特定の実施形態は、本発明の限定ではなく、関連する発明を説明するためにのみ使用されることを理解されたい。さらに、説明を容易にするために、図面には、関連する発明に関連する部分のみが示されている。
本開示における実施形態および実施形態における特徴は、衝突することなく、互いに組み合わせられてもよいことに留意されたい。以下、本開示について図面を参照し、実施形態に関連して詳細に説明する。当業者はまた、本明細書では、用語「第1」、「第2」などを使用して画像を記述することができるが、これらの画像は、これらの用語によって限定されるべきではないことを理解するであろう。これらの用語は、1つの画像を他の画像から区別するためにのみ使用される。
図1は、本開示の画像の生成方法または画像の生成装置の一実施形態が適用できる例示的なシステムアーキテクチャ100を示す。
図1に示すように、システムアーキテクチャ100は、端末装置101、102、103、ネットワーク104、およびサーバ105を含むことができる。ネットワーク104は、端末装置101、102、103とサーバ105との間に通信リンクを提供するための媒体である。ネットワーク104は、有線、無線通信リンク、または光ファイバケーブルなどの様々な接続タイプを含むことができる。
ユーザは、端末装置101、102、103を使用して、メッセージなどを受信または送信するために、ネットワーク104を介してサーバ105と対話することができる。端末装置101、102、103には、ショートビデオアプリケーション、ブラウザアプリケーション、ショッピング系アプリケーション、検索系アプリケーション、インスタントメッセージツール、メールボックスクライアント、ソーシャルプラットフォームソフトウェアなどの様々な通信クライアントアプリケーションがインストールされていてもよい。
端末装置101、102、103は、ハードウェアであってもよいし、ソフトウェアであってもよい。端末装置101、102、103がハードウェアである場合、タブレット、ラップトップ、およびデスクトップコンピュータなどを含むが、これらに限定されないブラウザアプリケーションをサポートする様々な電子機器であってもよい。端末装置101、102、103がソフトウェアである場合、上記電子機器にインストールすることができる。これは、例えば、分散サービスを提供するために使用される複数のソフトウェアまたはソフトウェアモジュールとして実施されてもよく、単一のソフトウェアまたはソフトウェアモジュールとして実施されてもよい。ここでは具体的に限定しない。
サーバ105は、端末装置101、102、103をサポートするバックグラウンドサーバのような様々なサービスを提供するサーバであってもよい。バックグラウンドサーバは、受信した要求などのデータを分析するなどの処理を行い、処理結果を端末装置にフィードバックすることができる。
なお、サーバはハードウェアであってもよいし、ソフトウェアであってもよい。サーバがハードウェアである場合には、複数のサーバからなる分散サーバクラスタを実施することができ、単一のサーバとして実施することもできる。サーバがソフトウェアである場合、例えば、分散サービスを提供するために使用される複数のソフトウェアまたはソフトウェアモジュールとして実施されてもよく、単一のソフトウェアまたはソフトウェアモジュールとして実施されてもよい。ここでは具体的に限定しない。
実際には、本開示の実施形態によって提供される画像の生成方法は、端末装置101、102、103および/またはサーバ105、106によって実行されてもよく、画像の生成装置は、端末装置101、102、103および/またはサーバ105、106に配置されてもよい。
図1の端末装置、ネットワーク、およびサーバの数は、概略的なものにすぎないことを理解されたい。実施の必要に応じて、任意の数の端末装置、ネットワーク、およびサーバを有することができる。
図2を参照すると、図2は、本開示に係る画像の生成方法の一実施形態のプロセス200を示す。画像の生成方法は、以下のステップ(ステップ201〜204)を含む。
ステップ201:ユーザから入力した顔を含む第1の画像を受信する。
本実施形態では、画像の生成方法の実行主体(例えば、図1に示す端末装置やサーバ)は、対話シーンにおいてユーザがローカルまたはリモートアルバム、データベースから入力した顔を含む第1の画像を取得してもよいし、ローカルまたは遠隔の撮影サービスを介して顔を含む第1の画像を取得してもよい。
本実施形態のいくつかのオプションの実施形態では、ユーザが入力した顔を含む第1の画像を受信する前に、顔画像の生成方法は、対話シーンにおいて、顔変換の指示を受信するステップと、顔画像を入力する情報をユーザに提示するステップと、をさらに含む。
本実施形態では、上記実行主体が受けた顔変換の指示は、ユーザから入力した顔変換の指示、例えば、ユーザによる顔変換オプションの選択等であってもよいし、ユーザの出現によりトリガする顔変換の指示であってもよい。例えば、上記実行主体は、顔変換サービスモードにおいて、ユーザの顔を検出すると、顔変換の指示が受けられたとみなす。
上記実行主体は、顔変換の指示を受けた後、顔画像を入力する情報をユーザに提示することができる。例えば、ローカルまたはクラウドアルバムまたはデータベースから顔画像を入力するようにユーザに促す情報をユーザに提示したり、ローカルまたは遠隔の撮影サービスを呼び出して顔画像を入力する情報をユーザに提示したりする。
一具体例では、顔画像を入力する情報をユーザに提示するステップは、顔自動撮影画面をユーザに提示するステップを含み得、ユーザから入力した顔を含む第1の画像を受信するステップは、ユーザが自動撮影画面で顔を入力したことが検出されたことに応答して、自動撮影機能をトリガして第1の画像を得るステップを含むことができる。これにより、実行主体が受けた顔変換の指示に応じて、第1の画像を迅速に取得することができる。さらに、自動撮影機能をトリガする際に、フラッシュの光学および音響効果をユーザに提示することもでき、ユーザの注意力を向上させ、自動撮影の効率を向上させることができる。
上記実行主体は、顔自動撮影画面をユーザに提示する際に、所定スタイルの枠および/または撮影要件を含む自動撮影画面をユーザに提示することができ、撮影の面白さおよび/またはマンマシンインタラクション効率を向上させることができる。あるいは、または追加的に、上記実行主体は、撮影画面において顔が検出されなかったことに応答して、顔が検出されなかった提示情報をユーザに提示することができ、ユーザに顔の入力を注意させ、マンマシンインタラクション効率を向上させることができる。
本実施形態のいくつかのオプションの実施形態では、顔自動撮影画面をユーザに提示するステップは、撮影画面で顔が検出されたことに応答して、自動撮影カウントダウンをユーザに提示するステップと、ユーザが自動撮影カウントダウン期間内に顔を入力し続けたことに応答して、自動撮影カウントダウン終了時に検出された顔を撮影するステップと、ユーザが自動撮影カウントダウン期間内に顔を入力しなかったことに応答して、カウントダウンを終了し、顔が検出されなかった提示情報をユーザに提示するステップと、をさらに含む。
本実施形態では、上記実行主体は、撮影画面において顔を検出した後、自動撮影カウントダウンをユーザに提示することができる。ユーザが自動撮影カウントダウン期間内に顔を入力し続けた場合、すなわち上記実行主体が自動撮影カウントダウン期間内に顔を継続して検出した場合、上記実行主体は、自動撮影カウントダウン終了時に、検出された顔を撮影することができる。ユーザが自動撮影カウントダウン期間内に顔を入力しなかった場合、すなわち上記実行主体が自動撮影カウントダウン期間内に顔を検出しなかった場合、上記実行主体は、カウントダウンを終了し、顔が検出されなかった提示情報をユーザに提示する。
本実施形態における顔自動撮影画面をユーザに提示する方式は、自動撮影カウントダウンの時間帯に顔が存在するか否かを監視することができる。ユーザの顔がずっと存在していた場合、自動撮影カウントダウン終了時に写真を撮影し、顔が検出されなかった場合、速やかにユーザに注意させることができ、顔自動撮影の効率を向上させることができる。
ステップ202:第1の画像をユーザに提示する。
本実施形態では、画像の生成方法の実行主体は、従来技術または将来開発される技術における提示方法を用いて第1の画像をユーザに提示することができ、本明細書では限定されない。例えば、上記実行主体は、ディスプレイ上で第1の画像をユーザに提示するか、または通常の投影技術もしくはホログラフィ技術を使用して第1の画像をユーザに提示することができる。
本実施形態のいくつかのオプションの実施形態では、第1の画像をユーザに提示するステップは、第1の画像をユーザに提示した時間が所定時間に達した後に、提示された第1の画像にマスキングレイヤーを設け、対話シーンにおいて顔変換進行状況提示情報を表示するステップを含むことができる。
本実施形態では、第1の画像をユーザに提示した時間が所定時間(例えば3秒)に達した後に、提示された第1の画像にマスキングレイヤーを設け、対話シーンにおいて顔変換進行状況提示情報を表示することができる。これにより、第1の画像に対して顔変換を行っていることをユーザに注意させ、ユーザが顔変換の進行状況を直感的に見ることができ、マンマシンインタラクション効率を向上させることができる。
本実施形態のいくつかのオプションの実施形態では、所定スタイルの枠は、顔変換進行状況提示情報の設計スタイルと同じまたは近い。
本実施方法では、所定スタイルの枠を顔進行状況提示情報の設計スタイルと同じか近いものに設定することで、前後一致した視認感をユーザに提示することができ、ユーザの視認度を向上させることができる。ここにいう設計スタイルが近いとは、設計スタイルの類似度が所定類似度閾値よりも大きいか、または設計スタイルが所定スタイルランキングリストにおいて隣接するスタイルであることである。
ステップ203:バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得る。
本実施形態では、上記実行主体は、バックグラウンドで、入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力して、敵対的生成ネットワークから出力された第2の画像を得ることができる。
事前トレーニングされた敵対的生成ネットワークとは、敵対的生成ネットワーク(GAN、Generative Adversarial Networks)に基づいて発展したディープラーニングモデルである。例としては、敵対的生成ネットワークGAN、循環一貫敵対的生成ネットワークCycleGAN、顔高精度属性編集モデルAttGAN、スター型敵対的生成ネットワークStarGAN、空間コンバータ敵対的生成ネットワークSTGAN、双方向学習の敵対的生成ネットワークDualGAN、DiscoGANなどが挙げられる。
この事前トレーニングされた敵対的生成ネットワークは通常、生成器G(Generator)と弁別器(Discriminator)を含む。2つのデータドメインがそれぞれX、Yである。GはXドメイン内のデータを真のデータに模倣して真のデータに隠すことを担当し、Dは偽造データと真のデータを分離することを担当する。両者のゲームを経て、Gの偽造技術はますます強くなり、Dの弁別技術も強くなる。Dはデータが真であるかGに生成されたデータであるかを区別できなくなる時点で、敵対の過程は動的なバランスに達する。
敵対的生成ネットワークのトレーニングには、生成器の再構成損失関数と弁別器の弁別損失関数の2つの損失関数が必要である。再構成損失関数は、生成された画像が原画像と可能な限り類似しているかどうかを判定するために用いられ、弁別損失関数は、生成された偽画像と元の真画像を弁別器に入力し、式が0,1の二項分類の損失を得るために用いられる。
生成器は、エンコーダ、コンバータ、デコーダから構成される。エンコーダは、畳み込みニューラルネットワークを用いて、入力された画像から特徴を抽出する。例えば、画像を256個の64×64の特徴ベクトルに圧縮する。コンバータは、画像の非近接特徴を組み合わせることにより、画像のDAドメインにおける特徴ベクトルをDBドメインにおける特徴ベクトルに変換する。例えば、6層のResetモジュールを用いることができる。各Resetモジュールは、2つの畳み込み層からなるニューラルネットワーク層であり、変換時に元の画像特徴を同時に保持することができる。デコーダは、逆畳み込み層(Decovolution)を用いて、特徴ベクトルから低級特徴を復元する作業を完了し、生成画像を得る。
弁別器は、1枚の画像を入力とし、それが元の画像であるかそれとも生成器の出力画像であるかを予測することを試みる。弁別器自体は畳み込みネットワークに属し、画像から特徴を抽出する必要があり、1次元出力を生成する畳み込み層を追加することで、抽出された特徴が特定のカテゴリに属するかどうかを判定する必要がある。
ここでは、事前トレーニングされた敵対的生成ネットワークは、入力された画像に基づいて生成された顔属性情報を制約とする。この顔属性情報は、顔特徴を特徴付ける一連の生体特性情報であり、非常に強い自己安定性と個体差を持ち、人の身分を識別している。顔属性情報には、性別、肌色、年齢、表情などを含むことができる。
敵対的生成ネットワークは、入力された画像(例えば、敵対的生成ネットワークを適用する際に入力された第1の画像または敵対的生成ネットワークをトレーニングする際に入力された第1の画像サンプル)に基づいて生成された顔属性情報を制約とする場合には、従来技術または将来開発される技術における機械学習ネットワークの制約のための方法を用いて実現することができ、本出願ではこれについて限定しない。
本出願の一具体例では、上記入力された画像に基づいて生成された顔属性情報は、敵対的生成ネットワークにおける生成器ネットワークのいずれか1層または複数層の入力として、当該層のネットワークの既存の入力と連携して入力とすることにより、機械学習において制約を導入した生成器ネットワークの出力画像と顔属性情報との関連性を改善することができる。
本出願の別の具体例では、上記入力された画像に基づいて生成された顔属性情報は、顔マーク特徴を用いて一貫性損失を定義し、敵対的生成ネットワークにおける弁別器のトレーニングを指導する。まず、生成器は、入力された第1の画像に基づいて粗い第2の画像を生成する。その後、敵対的生成ネットワークは、生成された第2の画像に基づいて、1つの事前トレーニングリグレッサー(Regressor)を生成して顔ランドマークlandmarkを予測し、顔のキーポイントをマークする。最後に、ローカルとグローバルの2種類の弁別器により、第2の画像において第1の画像に対応する顔特徴を詳細化する。この段階では、landmarkの整合性が強調されているため、最後の生成結果はリアルで認識できる。
当業者は、敵対的生成ネットワークは、トレーニングおよび応用段階において、入力された画像に基づいて生成された顔属性情報を制約とすることができることを理解するであろう。ここで、この敵対的生成ネットワークをトレーニングする際に、入力された画像は、入力された第1の画像サンプルとすることができる。敵対的生成ネットワークは、入力された第1の画像サンプルの顔属性情報を抽出し、顔属性情報を敵対的生成ネットワークの制約とし、出力された生成された画像を得る。この敵対的生成ネットワークを応用する際に、入力された画像は、入力された第1の画像とすることができる。敵対的生成ネットワークは、入力された第1の画像の顔属性情報を抽出し、第1の画像の顔属性情報を敵対的生成ネットワークの制約とし、出力された第2の画像を得る。
上記敵対的生成ネットワークに入力された第1の画像は、顔を含む画像とすることができる。敵対的生成ネットワークから出力された第2の画像は、スタイルまたは性別が第1の画像とは異なり、顔を含む画像とすることができる。
具体的には、敵対的生成ネットワークが入力された画像に基づいて生成された顔属性情報を制約とすることは、敵対的生成ネットワークが入力された画像に基づいて生成された顔キーポイントおよび/または顔のセマンティックセグメンテーション結果を制約とすることを含む。
上記実行主体は、顔キーポイント抽出技術を用いて、入力された画像の顔キーポイントを抽出し、顔キーポイントを敵対的生成ネットワークが出力画像を生成する際の制約とすることができる。あるいは、または追加的に、上記実行主体は、顔のセマンティックセグメンテーション技術を用いて、顔のセマンティックセグメンテーション結果を敵対的生成ネットワークが出力画像を生成する際の制約とすることができる。
入力された画像に基づいて生成された顔キーポイントおよび/または顔のセマンティックセグメンテーション結果を制約として用いることにより、生成器は、入力された画像の五官と出力された画像の五官とを関連付けることができ、他の部位で顔特徴を誤生成することはない。また、入力された画像を、顔を含むより大きな画像とすることができ、顔画像のみの入力に限らない。さらに、出力された画像の精度と品質を向上させることができる。
本実施形態のいくつかのオプションの実施形態では、第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップは、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップを含む。
本実施形態では、ガウス平滑化とも呼ばれるガウシアンぼかし(Gaussian Blur)により、画像ノイズを低減し、細部レベルを低減し、異なるスケールの大きさでの画像効果を向上させることができる(スケール空間表現およびスケール空間実現を参照)。数学的には、画像のガウシアンぼかし過程は画像と正規分布を畳み込みすることである。正規分布はガウス分布とも呼ばれるため、この技術はガウシアンぼかしとも呼ばれる。
異なる程度のガウシアンぼかし後の第1の画像を敵対的生成ネットワークの入力として用いることにより、異なる解像度の第2の画像を得ることができ、異なる解像度の第2の画像に基づいて、所望の鮮明な第2の画像を確定することができる。
あるいは、または追加的に、第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップは、第1の画像のテクスチャ特徴パラメータ値がテクスチャ閾値よりも大きいかどうかを検出し、大きい場合、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップを含む。
ここで、画像のテクスチャ特徴パラメータ値とは、画像のテクスチャ特徴を特徴付けるためのパラメータ値を指す。例えば、テクスチャの太さ、密度、方向性などである。第1の画像のテクスチャ特徴パラメータ値がテクスチャ閾値よりも大きいことが検出された場合には、第1の画像のテクスチャが複雑であることを示す。通常、テクスチャの複雑な画像に基づいて生成された画像の内容が乱れている。このため、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像に対してそれぞれ第2の画像を生成し、解像度の異なる第2の画像を得ることができる。その後、異なる解像度の第2の画像に基づいて、所望の鮮明な第2の画像を確定することができ、生成された画像の品質を向上させることができる。
上記事前トレーニングされた敵対的生成ネットワークは、クローラーを用いてネットワークから画像サンプルをクロールするか、または画像サンプルデータセットを直接取得することができる。これらの画像にはいずれも顔が含まれている。その後、クロールしたまたは取得した画像を直接、敵対的生成ネットワークのトレーニングのための画像サンプルとすることができる。または、クロールした、顔を含む画像を初期画像サンプルとし、初期画像サンプルに対してさらなるデータ処理を行い、画像サンプルの要求に合致したフィルタリングされた画像を得、フィルタリングされた画像を敵対的生成ネットワークのトレーニングのための画像サンプルとすることができる。
事前トレーニングされた敵対的生成ネットワークは、データのトレーニングにはスタイルが一致し、しかも異なる性別、異なる角度、異なる顔の大きさの画像サンプルを含む必要があるため、初期画像サンプルに対してデータ拡張を行うことにより、トレーニングのデータ量を増加させ、敵対的生成ネットワークの汎化能力を高め、かつノイズデータを増加させ、敵対的生成ネットワークのロバスト性を高めることができる。データ拡張は、回転、平行移動、折り返し、反転、スケーリング、および異なる程度のガウシアンぼかしなどの動作を含むことができる。
本実施形態のいくつかのオプションの実施形態では、敵対的生成ネットワークが入力された画像に基づいて生成された顔属性情報を制約とすることは、敵対的生成ネットワークが入力された画像に基づいて生成されたマルチチャネルの顔画像を入力とするステップを含み、マルチチャネルの顔画像は、入力された画像のRGB3チャネル画像と、入力された画像の顔キーポイントの1チャネル二値画像またはRGB3チャネル画像、顔のセマンティックセグメンテーション結果の1チャネル二値画像またはRGB3チャネル画像、髪の1チャネル二値画像のうちの少なくとも1つの画像と、を含む。
本実施形態のいくつかの具体例では、第1の画像に基づいて、従来技術または将来開発される技術における顔キーポイント抽出技術を用いて、第1の画像の顔キーポイント画像を取得することができる。本出願ではこれについて限定しない。例えば、能動形状モデル(ASM,Active Shape Model)、能動外観モデル(AMM,Active Appearance Model、)、カスケード形状回帰モデルCascaded Shape Regression(CSR)、または顔整列アルゴリズム(DAN、Deep Alignment Network)などを用いて顔キーポイント抽出を行うことができる。その後、顔キーポイント画像に基づいて、顔キーポイントのRGB3チャネル画像または顔キーポイントの1チャネル二値画像を得ることができる。
第1の画像に基づいて、従来技術または将来開発される技術におけるセマンティックセグメンテーション技術を用いて、第1の画像の顔のセマンティックセグメンテーション結果を取得することができる。本出願ではこれについて限定しない。いくつかの具体例では、顔のセマンティックセグメンテーション技術は、全畳み込みニューラルネットワークFCN(Fully Convolutional Networks For Semantic Segmentation)、セマンティックセグメンテーションネットワーク(SegNet、Semantic Segmentation)、拡張畳み込み(Dilated Convolutions)、セマンティックセグメンテーション(Deep Lab(v1、v2、V3など))、画像分割モデル(RefineNet)、ピラミッドシーン解析ネットワーク(PSPNet)などを用いて、第1の画像に基づいて、第1の画像に対する顔のセマンティックセグメンテーション結果を取得することができる。セマンティックセグメンテーションはターゲット検出の拡張であり、その出力はオブジェクトをカテゴリごとに区別したカラーマスクであり、ターゲットに対してより正確な測位を実現することができ、ターゲットの複雑な形状の影響を受けない。その後、顔のセマンティックセグメンテーション結果に基づいて、顔のセマンティックセグメンテーション結果のRGB3チャネル画像または顔キーポイントの1チャネル二値画像を得ることができる。
第1の画像に基づいて、従来技術または将来開発される技術における髪分割技術を用いて、第1の画像の髪の1チャネル二値画像を取得することができる。本出願ではこれについて限定しない。例えば、髪分割技術を用いて、まず、髪分割結果を取得し、そして、髪分割結果を髪の1チャネル二値画像に変換することができる。髪分割結果の各画素点を1チャネル二値画像で表す。
当業者は、応用時に入力されたマルチチャンネル顔画像に適したトレーニング済みの敵対的生成ネットワークを得るために、敵対的生成ネットワークの事前トレーニングに用いられるマルチチャネル顔画像サンプルと、当該敵対的生成ネットワークの応用時に入力されたマルチチャネル顔画像とを適させることを理解するであろう。
本実施形態における顔画像の生成方法は、マルチチャネル顔画像を事前トレーニングされた敵対的生成ネットワークに入力し、入力された画像の細部がより豊富であり、事前トレーニングされた敵対的生成ネットワークから出力された第2の画像の精度と品質を向上させることができる。
ステップ204:バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示する。
本実施形態では、上記実行主体は、事前トレーニングされた敵対的生成ネットワークから出力された第2の画像をユーザに提示することができる。
一具体例では、第1の画像は真の顔画像であり、第2の画像は漫画画像である。ここの漫画画像は、壁画、油絵、カーペットなどのスケッチ、下絵であってもよいし、漫画、風刺画、ユーモラスな絵画などであってもよい。
本実施形態のいくつかのオプションの実施形態では、上記方法は、第2の画像をユーザに提示した時間が所定時間に達した後に、第1の画像と第2の画像を同時にユーザに提示するステップをさらに含むことができる。
本実施形態では、上記実行主体は、第2の画像をユーザに提示した時間が所定時間に達した後に、第1の画像と第2の画像を同時にユーザに提示してもよい。例えば、上記実行主体は、画面内の左上と右下の位置にそれぞれ第1の画像と第2の画像を表示することができる。または、第1の画像と第2の画像を分割画面に表示することもできる。これにより、ユーザは第1の画像と第2の画像とを比較できるため、インタラクション効率を向上させることができる。
本開示に係る上記実施形態の画像の生成方法は、敵対的生成ネットワークが第1の画像に基づいて第2の画像を生成する過程において、敵対的生成ネットワークの制約として第1の画像の顔属性情報を採用したため、敵対的生成ネットワークが入力された第1の画像に基づいて第2の画像を生成する品質、精度、効率を向上させ、画像を誤生成する確率を低減することができる。これにより、生成された第2の画像がより標的化になる。
以下、図3を参照して、本開示に係る画像の生成方法の例示的な適用シーンについて説明する。
図3に示すように、図3は、本開示に係る画像の生成方法の適用シーンの一例を示す。
図3に示すように、画像の生成方法300は、電子機器310において動作する。次のステップを含む。
まず、ユーザから入力した顔を含む第1の画像301を受信する。
そして、第1の画像301をユーザに提示する。
さらに、バックグラウンドで、入力された画像に基づいて生成された顔属性情報304を制約305とする事前トレーニングされた敵対的生成ネットワーク302に第1の画像301を入力し、敵対的生成ネットワークから出力された第2の画像303を得る。
最後に、バックグラウンドで敵対的生成ネットワークから出力された第2の画像303が得られたことに応答して、第2の画像303をユーザに提示する。
上記図3に示す画像の生成方法の適用シーンは、画像の生成方法の例示的な説明にすぎず、この方法への限定を意味するものでないことを理解されたい。例えば、上記図3に示す各ステップは、より詳細な実施方法をさらに採用することができる。上記図3に基づいて、その他の画像生成ステップをさらに追加してもよい。
さらに図4を参照すると、図4は、本開示に係る顔画像の生成方法の別の実施形態の概略フローチャートを示す。
図4に示すように、本実施形態に係る顔画像の生成方法400は、以下のステップ(ステップ401〜408)を含むことができる。
ステップ401:ユーザから入力した顔を含む第1の画像を受信する。
本実施形態では、画像の生成方法の実行主体(例えば、図1に示す端末装置やサーバ)は、ユーザが対話シーンにおいてローカルまたはリモートアルバム、データベースから入力した顔を含む第1の画像を取得してもよいし、ローカルまたは遠隔の撮影サービスを介して顔を含む第1の画像を取得してもよい。
ステップ402:第1の画像をユーザに提示する。
本実施形態では、画像の生成方法の実行主体は、従来技術または将来開発された技術における提示方法を用いて第1の画像をユーザに提示することができる。本出願ではこれについて限定しない。例えば、上記実行主体は、ディスプレイ上で第1の画像をユーザに提示するか、または通常の投影技術またはホログラフィック投影技術を使用して第1の画像をユーザに提示することができる。
ステップ403:バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得る。
本実施形態では、上記実行主体は、入力された画像に基づいて生成された顔属性情報を制約とする敵対的生成ネットワークから出力された第2の画像を得るために、バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力することができる。
事前トレーニングされた敵対的生成ネットワークとは、敵対的生成ネットワーク(GAN、Generative Adversarial Networks)に基づいて発展したディープラーニングモデルである。例としては、敵対的生成ネットワークGAN、循環一貫敵対的生成ネットワークCycleGAN、顔高精度属性編集モデルAttGAN、スター型敵対的生成ネットワークStarGAN、空間コンバータ敵対的生成ネットワークSTGAN、双方向学習の敵対的生成ネットワークDualGAN、DiscoGANなどが挙げられる。
ステップ404:バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示する。
本実施形態では、上記実行主体は、事前トレーニングされた敵対的生成ネットワークから出力された第2の画像をユーザに提示することができる。
一具体例では、第1の画像は真の顔画像であり、第2の画像は漫画画像である。ここの漫画画像は、壁画、油絵、カーペットなどのスケッチ、下絵であってもよいし、漫画、風刺画、ユーモラスな絵画などであってもよい。
当業者は、上記ステップ401〜ステップ404が、図2に示す実施形態におけるステップ201〜ステップ204に対応することを理解するであろう。したがって、上述した図2に示す実施形態におけるステップ201〜ステップ204について説明した動作および特徴は、ステップ401〜ステップ404にも同様に適用可能であり、ここではこれ以上説明しない。
ステップ405:顔スタイル変換オプションをユーザに提示する。
本実施形態では、上記実行主体が第2の画像をユーザに提示する際に、または第2の画像をユーザに提示した後に、顔スタイル変換オプションをユーザに提示することにより、ユーザはスタイル変換オプションを選択して、生成された第2の画像のスタイルを変換することができる。例えば、回転可能なスタイル変換オプションのローラをユーザに提示することにより、ユーザはローラを回転することで、自分の好きなスタイルを選択することができる。
本実施形態のいくつかのオプションの実施形態では、顔スタイル変換オプションをユーザに提示するステップは、ダイスボタンおよび動的にクリックする手の画像をユーザに提示するステップを含むことができる。これにより、受信ユーザをダイスボタンをクリックするように誘導し、顔スタイルの変換を行うことができる。
ステップ406:ユーザによる変換オプションの選択を受け取る。
本実施形態では、ユーザによる変換オプションの選択を受け取る。すなわち、上記実行主体は、ユーザによる変換オプションの選択を受け取る。
ステップ407:変換プロセス画像をユーザに提示する。
本実施形態では、上記実行主体は、ユーザによる変換オプションの選択を受信した後、バックグラウンドで変換前の第2の画像とは異なるスタイルの新たな第2の画像を生成し、変換プロセス画像をユーザに提示する。ここで、変換プロセス画像とは、変換プロセスを表現できる画像、例えば変換プログレスバー、動的変換画像などである。
バックグラウンドで前回生成された第2の画像とは異なる第2の画像を生成する際に、第1の画像の一部の内容を修正することで、異なるスタイルの新たな第2の画像を得ることができる。例えば、第1の画像の背景の輝度、コントラスト等のパラメータを修正し、修正された第1の画像を事前トレーニングされた敵対的生成ネットワークに入力して、新たな第2の画像を得ることができる。
本実施形態のいくつかのオプションの実施形態では、ダイスボタンおよび動的にクリックする手の画像を上記ユーザに提示した後、ユーザは、ダイスボタンをクリックすることができる。上記実行主体は、動的ダイス画像をユーザに提示することができる。これにより、ダイスをクリックして顔スタイルを切り替えるようユーザを直感的に誘導し、ダイスをクリックした後のインタラクション過程を直感的にユーザに提示することができ、マンマシンインタラクションの効率を向上させることができる。
ステップ408:バックグラウンドで変換前の第2の画像とは異なるスタイルの新たな第2の画像が生成されたことに応答して、新たな第2の画像をユーザに提示する。
本実施形態では、上記実行主体はバックグラウンドでスタイル変換後の第2の画像が生成された場合、スタイル変換後の第2の画像を新たな第2の画像とし、新たな第2の画像をユーザに提示することができる。
新たな第2の画像をユーザに提示する際に、いくつかの特殊効果を使用して新たな第2の画像を提示することができる。例えば、下向き消去の特殊効果、点状ブランキング特殊効果、または回転ブランキング特殊効果などの特殊効果で新たな第2の画像をユーザに提示することができる。これにより、第2の画像の変換プロセスを直感的に具現化することができる。
本実施形態のいくつかのオプションの実施形態では、上記顔画像の生成方法は、変換オプションを提示した時間が所定時間に達するまでに、ユーザによる保存オプションまたは変換オプションの選択操作を受信していなければ、顔画像を入力する情報をユーザに提示するステップに戻るステップをさらに含む。
本実施形態では、変換オプションを提示した時間が所定時間に達するまでに、ユーザによる保存オプションまたは変換オプションの選択操作を受信していなければ、ユーザが現在の第2の画像に満足しておらず、以前の第1の画像に基づいてスタイルを変換したくないことを意味し、このとき、実行主体は、顔画像を入力する情報をユーザに提示するステップに戻る。このように、ユーザによる操作を必要とせずに、上記実行主体は、次の顔画像の生成を行うために、新たな顔を含む第1の画像の入力をユーザに促すことができる。これにより、顔画像の生成方法の知能性とマンマシンインタラクション効率を向上させることができる。
本実施形態のいくつかのオプションの実施形態では、上記実行主体は、バックグラウンドで第1の画像をクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力された第2の画像を得、バックグラウンドでクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに第1の画像を入力するときにネットワーク異常が検出されたことに応答して、「ネットワーク異常、再試行してください」という情報をユーザに提示し、かつ、「ネットワーク異常、再試行してください」という情報をユーザに提示した時間が所定時間に達した後、顔画像を入力する情報をユーザに提示するステップに戻る。
本実施形態では、上記実行主体は、ネットワーク異常時に、「ネットワーク異常、再試行してください」とユーザに注意させ、かつ所定時間が経過した後に、再び顔画像を入力する情報をユーザに提示するステップに戻ることができる。このように、ユーザの操作を必要とせずに、次の顔画像の生成を行うために、新たな顔を含む第1の画像の入力をユーザに促すことができる。これにより、顔画像の生成方法の知能性とマンマシンインタラクション効率を向上させることができる。
本実施形態のいくつかのオプションの実施形態では、顔画像の生成方法は、バックグラウンドで第1の画像を事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力される第2の画像を得るための所要時間が所定時間を超えたことに応答して、「生成エラー、再試行してください」という情報をユーザに提示するステップと、バックグラウンドで第1の画像を事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力される第2の画像を得る過程で異常が発生したことに応答して、「生成エラー、再試行してください」という情報をユーザに提示するステップと、ユーザが他のアプリケーションに切り替え、また他のアプリケーションから戻ったことに応答して、顔画像を入力する情報をユーザに提示するステップに戻るステップと、のうちの少なくとも1つをさらに含む。
本実施形態では、上記実行主体は、第2の画像を生成するための所要時間が所定時間を超えた場合、または第2の画像を生成する過程で異常が発生した場合に、「生成エラー、再試行してください」という情報をユーザに提示し、かつ、「生成エラー、再試行してください」という情報をユーザに提示した時間が所定時間を満たした場合に、顔画像を入力する情報をユーザに提示するステップに戻る。このように、ユーザに再試行を直感的に提示し、インタラクション効率を向上させることができる。
また、ユーザが他のアプリケーションに切り替え、また他のアプリケーションから戻ると、上記実行主体は顔画像を入力する情報をユーザに提示するステップに戻る。このようにすると、ユーザの操作を必要とせずに、次に顔画像を生成するために新たな顔を含む第1の画像を入力するようにユーザに促すことができる。これにより、顔画像の生成方法の知能性とマンマシンインタラクション効率を向上させることができる。
本開示に係る上記実施形態の画像の生成方法は、上記図2に示す実施形態の方法と比較して、図2に示す実施形態をベースに、顔スタイル変換オプションをユーザに提示し、そして、ユーザによる変換オプションの選択を受信し、その後、変換プロセス画像をユーザに提示し、最後に、バックグラウンドで第2の画像とは異なるスタイルの新たな第2の画像が生成されたことに応答して、新たな第2の画像をユーザに提示することができる。これにより、ユーザは生成された二次元イメージに満足していない場合には、再撮影することなく、ボタンをクリックするだけで、二次元イメージを再生成することができる。1枚の原画像により、異なるタイプの二次元イメージを生成することができ、ユーザのニーズに応じた第2の画像を生成する効率を向上させることができる。
上記各図に示す方法の実施として、本開示の実施形態は、上記図1に示す端末装置またはサーバに具体的に適用可能な図2〜図4に示す方法の実施形態に対応する画像の生成装置の一実施形態を提供する。
図5に示すように、本実施形態に係る画像の生成装置500は、ユーザから入力した顔を含む第1の画像を受信するように構成された第1の画像入力ユニット501と、第1の画像をユーザに提示するように構成された第1の画像提示ユニット502と、バックグラウンドで入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るように構成された第2の画像出力ユニット503と、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示するように構成された第2の画像提示ユニット504と、を含む。
いくつかの実施形態では、装置は、対話シーンにおいて顔変換の指示を受信するように構成された指示受信ユニット(図示せず)と、顔画像を入力する情報をユーザに提示するように構成された情報提示ユニット(図示せず)と、をさらに含む。
いくつかの実施形態では、顔画像を入力する情報をユーザに提示するステップは、顔自動撮影画面をユーザに提示するステップを含み、ユーザから入力した顔を含む第1の画像を受信するステップは、ユーザが自動撮影画面で顔を入力したことが検出されたことに応答して、自動撮影機能をトリガして第1の画像を得るステップを含む。
いくつかの実施形態では、顔自動撮影画面をユーザに提示するステップは、所定スタイルの枠および/または撮影要件を含む自動撮影画面をユーザに提示するステップと、撮影画面で顔が検出されなかったことに応答して、顔が検出されなかった提示情報をユーザに提示するステップと、のうちの少なくとも1つを含む。
いくつかの実施形態では、顔自動撮影画面をユーザに提示するステップは、撮影画面で顔が検出されたことに応答して、自動撮影カウントダウンをユーザに提示するステップと、自動撮影カウントダウンが終了したことに応答して、検出された顔を撮影するステップと、ユーザが自動撮影カウントダウン期間内に顔を入力しなかったことに応答して、カウントダウンを終了し、顔が検出されなかった提示情報をユーザに提示するステップと、をさらに含む。
いくつかの実施形態では、第1の画像提示ユニットはさらに、第1の画像をユーザに提示した時間が所定時間に達した後に、提示された第1の画像にマスキングレイヤーを設け、対話シーンにおいて顔変換進行状況提示情報を表示するように構成されている。
いくつかの実施形態では、所定スタイルの枠は、顔変換進行状況提示情報の設計スタイルと同じまたは近い。
いくつかの実施形態では、第2の画像出力ユニットはさらに、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するか、または、第1の画像のテクスチャ特徴パラメータ値がテクスチャ閾値よりも大きいか否かを検出し、大きい場合、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するように構成されている。
いくつかの実施形態では、第2の画像出力ユニットで用いられる敵対的生成ネットワークが入力された画像に基づいて生成された顔属性情報を制約とすることは、敵対的生成ネットワークが入力された画像に基づいて生成されたマルチチャネルの顔画像を入力とするステップを含み、マルチチャネルの顔画像は、入力された画像のRGB3チャネル画像と、入力された画像の顔キーポイントの1チャネル二値画像またはRGB3チャネル画像、顔のセマンティックセグメンテーション結果の1チャネル二値画像またはRGB3チャネル画像、髪の1チャネル二値画像のうちの少なくとも1つの画像と、を含む。
いくつかの実施形態では、装置は、第2の画像をユーザに提示した時間が所定時間に達した後に、第1の画像と第2の画像を同時にユーザに提示するように構成された画像同時提示ユニット(図示せず)をさらに含む。
いくつかの実施形態では、装置は、顔スタイル変換オプションをユーザに提示するように構成された変換オプション提示ユニットと、ユーザによる変換オプションの選択を受け取るように構成されたユーザ選択受取ユニット(図示せず)と、変換プロセス画像をユーザに提示するように構成されたプロセス画像提示ユニット(図示せず)と、バックグラウンドで変換前の第2の画像とは異なるスタイルの新たな第2の画像が生成されたことに応答して、新たな第2の画像をユーザに提示するように構成された第2の画像更新ユニット(図示せず)と、をさらに含む。
いくつかの実施形態では、変換オプション提示ユニットはさらに、ダイスボタンおよび動的にクリックする手の画像をユーザに提示するように構成され、ユーザ選択受取ユニットはさらに、ユーザによるダイスボタンへのクリックを受信するように構成され、プロセス画像提示ユニットはさらに、動的ダイス画像をユーザに提示するように構成されている。
いくつかの実施形態では、第2の画像更新ユニットはさらに、下向き消去の特殊効果で新たな第2の画像をユーザに提示するように構成されている。
いくつかの実施形態では、装置は、変換オプションを提示した時間が所定時間に達するまでに、ユーザによる保存オプションまたは変換オプションの選択操作が受信されず、顔画像を入力する情報をユーザに提示するステップに戻るように構成される情報提示復帰ユニット(図示せず)をさらに含む。
いくつかの実施形態では、バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップは、バックグラウンドでクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップを含み、上記装置は、バックグラウンドでクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに第1の画像を入力するときにネットワーク異常が検出されたことに応答して、「ネットワーク異常、再試行してください」という情報をユーザに提示し、かつ、「ネットワーク異常、再試行してください」という情報をユーザに提示した時間が所定時間に達した後に、顔画像を入力する情報をユーザに提示するステップに戻るように構成された情報提示復帰ユニットをさらに含む。
いくつかの実施形態では、上記情報提示復帰ユニットはさらに、バックグラウンドで第1の画像を事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力された第2の画像を得るための所要時間が所定時間を超えたことに応答して、「生成エラー、再試行してください」という情報をユーザに提示し、かつ、「生成エラー、再試行してください」という情報をユーザに提示した時間が所定時間に達したときに、顔画像を入力する情報をユーザに提示するステップに戻り、バックグラウンドで第1の画像を事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力された第2の画像を得る過程で異常が発生したことに応答して、「生成エラー、再試行してください」という情報をユーザに提示し、かつ、「生成エラー、再試行してください」という情報をユーザに提示した時間が所定時間に達したときに、顔画像を入力する情報をユーザに提示するステップに戻り、ユーザが他のアプリケーションに切り替え、また他のアプリケーションから戻ったことに応答して、顔画像を入力する情報をユーザに提示するステップに戻るように構成されている。
なお、装置500に記載されている各ユニットは、図2〜図4を参照して説明した方法に記載されている各ステップに対応することを理解されたい。したがって、上述した方法に関する動作および特徴は、装置500およびその中に含まれる様々なユニットにも同様に適用可能であり、ここではこれ以上説明しない。
次に図6を参照すると、本開示の実施形態を実施するのに適した電子機器(例えば、図1に示すサーバまたは端末装置)600の構造概略図が示されている。本開示の実施形態における端末装置は、ノートパソコン、デスクトップコンピュータなどを含むが、これらに限定されない。図6に示す端末装置/サーバは一例にすぎず、本開示の実施形態の機能および使用範囲に制限を与えるべきではない。
図6に示すように、電子機器600は、読み取り専用メモリ(RОM)602に記憶されているプログラム、又は記憶装置608からランダムアクセスメモリ(RAM)603にロードされたプログラムに応じて様々な適切な動作及び処理を実行する処理装置(例えば、CPU、グラフィックスプロセッサなど)601を含むことができる。RAM603には、電子機器600の動作に必要な各種のプログラム及びデータも記憶されている。処理装置601、RОM602及びRAM603は、バス604を介して互いに接続されている。バス604には、入出力(I/O)インタフェース605も接続されている。
一般に、タッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイク、加速度計、ジャイロスコープなどの入力装置606、液晶ディスプレイ(LCD)、スピーカ、振動子などの出力装置607、テープ、ハードディスクなどの記憶装置608、及び通信装置609は、I/Oインタフェース605に接続することができる。通信装置609は、データを交換するために、電子機器600が他の装置と無線又は有線通信を行うことを可能にすることができる。図6は、様々な装置を有する電子機器600を示しているが、図示した全ての装置を実施又は備えることが要求されていないことを理解されたい。代替的に、より多く又はより少ない装置を実施又は備えることができる。図6に示す各ブロックは、1つのデバイスを表してもよく、必要に応じて複数のデバイスを代表してもよい。
特に、本開示の実施形態によれば、フローチャートを参照して上述したプロセスは、コンピュータソフトウェアプログラムとして実施されることが可能である。例えば、本開示の実施形態は、フローチャートに示された方法を実行するためのプログラムコードを含む、コンピュータ可読媒体上に担持されたコンピュータプログラム製品を含む。このような実施形態では、該コンピュータプログラムは、通信装置609を介してネットワークからダウンロードされインストールされたり、記憶装置608からインストールされたり、RОM602からインストールされたりすることができる。このコンピュータプログラムが処理装置601によって実行されると、本開示の実施形態の方法に限定された上記機能が実行される。なお、本開示の実施形態で説明したコンピュータ可読媒体は、コンピュータ可読信号媒体若しくはコンピュータ可読記憶媒体、又はこれらの任意の組合せであり得る。コンピュータ可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁気的、赤外線の、又は半導体のシステム、装置若しくはデバイス、又はこれらの任意の組み合せであり得るが、これらに限られない。コンピュータ可読記憶媒体のより具体的な例は、1本又は複数本の導線により電気的に接続された、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(RОM)、消去可能プログラマブル読取り専用メモリ(EPRОM又はフラッシュメモリ)、携帯型コンパクトディスク読取り専用メモリ(CD−RОM)、光メモリ、磁気メモリ、又は上記の任意の適切な組み合せを含むが、これらに限られない。本開示の実施形態では、コンピュータ可読記憶媒体は、命令実行システム、装置又はデバイスによって使用されることもそれらに結合して使用されることも可能なプログラムを含む又は記憶する任意の有形の媒体であり得る。本開示の実施形態では、コンピュータ可読信号媒体は、ベースバンド内において又はキャリアの一部として伝播された、コンピュータ可読プログラムコードを搬送しているデータ信号を含んでもよい。このような伝播されたデータ信号は、電磁信号、光信号、又はこれらの任意の適切な組み合せを含むが、これらに限られない様々な形態を採用することができる。コンピュータ可読信号媒体はまた、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよい。このコンピュータ可読信号媒体は、命令実行システム、装置又はデバイスによって使用されることもそれらに結合して使用されることも可能なプログラムを送信、伝播又は伝送することができる。コンピュータ可読媒体に含まれているプログラムコードは、電線、光ケーブル、RF(無線周波数)など、又はこれらの任意の適切な組合せを含むが、これらに限られない任意の適切な媒体で伝送することができる。
上記コンピュータ可読媒体は、上記電子機器に含まれるものであってもよく、個別に存在しており、該電子機器に組み込まれていないものであってもよい。上記コンピュータ可読媒体には1つ以上のプログラムが格納されており、上記1つ以上のプログラムが該電子機器によって実行されると、当該電子機器は、ユーザから入力した顔を含む第1の画像を受信するステップと、第1の画像をユーザに提示するステップと、バックグラウンドで入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップと、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示するステップと、を実行する。
本出願の実施形態の動作を実行するためのコンピュータプログラムコードは、1つ又は複数のプログラミング言語、又はそれらの組み合せで書くことができる。プログラミング言語は、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語や、「C」言語又は類似するプログラミング言語などの従来の手続き型プログラミング言語を含む。プログラムコードは、完全にユーザのコンピュータ上で実行されることも、部分的にユーザのコンピュータ上で実行されることも、スタンドアロンソフトウェアパッケージとして実行されることも、部分的にユーザのコンピュータ上で実行されながら部分的にリモートコンピュータ上で実行されることも、又は完全にリモートコンピュータ又はサーバ上で実行されることも可能である。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されることができる。又は、外部のコンピュータに接続されることができる(例えば、インターネットサービスプロバイダーによるインターネット経由で接続される)。
図面におけるフローチャート及びブロック図は、本出願の様々な実施形態に係るシステム、方法、及びコンピュータプログラム製品の実施可能なアーキテクチャ、機能、及び動作を示している。ここで、フローチャート又はブロック図における各ブロックは、モジュール、プログラムセグメント、又はコードの一部を表すことができる。該モジュール、プログラムセグメント、又はコードの一部は、指定されたロジック関数を実施するための1つ又は複数の実行可能な命令を含む。また、いくつかの代替的な実施形態では、ブロックに記載されている機能は、図面に示されているものとは異なる順序で発生する場合があることにも留意されたい。例えば、連続して表されている2つのブロックは、実際にほぼ並行して実行されてもよく、時には逆の順序で実行されてもよい。これは関連する機能によって決まる。また、ブロック図及び/又はフローチャートにおける各ブロック、及びブロック図及び/又はフローチャートにおけるブロックの組み合せは、指定された機能又は動作を実行する専用のハードウェアベースのシステムで実施することも、又は専用のハードウェアとコンピュータの命令の組み合せで実施することも可能であることに留意されたい。
本開示の実施形態において説明されたユニットは、ソフトウェアまたはハードウェアによって実施され得る。説明されたユニットはプロセッサに内蔵されてもよい。例えば、「第1の画像入力ユニットと、第1の画像提示ユニットと、第2の画像出力ユニットと、第2の画像提示ユニットと、を含むプロセッサ」と説明することができる。なお、これらのユニットの名称は、場合によってはユニット自体を限定するものではない。例えば、第1の画像入力ユニットは、「ユーザが入力した顔を含む第1の画像を受信するユニット」と説明することもできる。
上記の説明は、あくまでも本出願の好ましい実施形態および応用技術原理の説明にすぎない。本出願に係る発明の範囲は、上記の技術的特徴の特定の組み合わせによって形成された技術的解決手段に限定されず、上記の発明の構想から逸脱しない範囲で上記の技術的特徴またはその同等の技術的特徴の任意の組み合せによって形成されたその他の技術的解決手段、例えば、上記の特徴と本出願に開示された同様の機能を有する技術的特徴(それだけに限定されない)とが相互に代替することによって形成された技術的解決手段もカバーしていることを当業者は理解すべきである。
本開示は、コンピュータ技術の分野に関し、具体的には画像変換の技術分野に関し、特に画像の生成方法、生成装置、電子機器、コンピュータ稼働媒体およびコンピュータプログラムに関する。
現在、市場には多くのデジタル娯楽製品があり、その中の自撮り特殊効果の遊び方、例えば顔を子供の顔に変えたり、顔のスタイルを変えたりするなどは、非常に面白く、人々に愛用されている。
現在、大多数のアプリケーションが提供しているサービスは、顔テンプレートを用いて異なるスタイルの顔を生成している。すなわち、認識されたユーザの五官や顔型に基づいて、異なるスタイルの素材ライブラリの中で認識されたユーザの五官や顔型に最も類似した素材を選択して組み合せることで、顔を二次元変換し、異なるスタイルの顔を得ることである。
本開示の実施形態は、画像の生成方法および生成装置を提供する。
第1態様において、本開示の実施例は、ユーザから入力した顔を含む第1の画像を受信するステップと、第1の画像をユーザに提示するステップと、バックグラウンドで入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップと、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示するステップと、を含む顔画像の生成方法を提供する。
いくつかの実施例において、方法は、ユーザから入力した顔を含む第1の画像を受信するステップの前に、対話シーンにおいて、顔変換の指示を受けるステップと、顔画像を入力する情報をユーザに提示するステップと、をさらに含む。
いくつかの実施例において、顔画像を入力する情報をユーザに提示するステップは、顔自動撮影画面をユーザに提示するステップを含み、ユーザから入力した顔を含む第1の画像を受信するステップは、ユーザが自動撮影画面で顔を入力したことが検出されたことに応答して、自動撮影機能をトリガして第1の画像を得るステップを含む。
いくつかの実施例において、顔自動撮影画面をユーザに提示するステップは、
所定スタイルの枠および/または撮影要件を含む自動撮影画面をユーザに提示するステップと、撮影画面で顔が検出されなかったことに応答して、顔が検出されなかった提示情報をユーザに提示するステップと、のうちの少なくとも1項を含む。
いくつかの実施例において、顔自動撮影画面をユーザに提示するステップは、撮影画面で顔が検出されたことに応答して、自動撮影カウントダウンをユーザに提示するステップと、自動撮影カウントダウンが終了したことに応答して、検出された顔を撮影するステップと、自動撮影カウントダウン期間内にユーザからの顔の入力がなかったことに応答して、カウントダウンを終了し、顔が検出されなかった提示情報をユーザに提示するステップと、をさらに含む。
いくつかの実施例において、第1の画像をユーザに提示するステップは、第1の画像をユーザに所定時間提示した後に、提示された第1の画像にマスキングレイヤーを設け、対話シーンにおいて顔変換進行状況提示情報を表示するステップを含む。
いくつかの実施例において、所定スタイルの枠は、顔変換進行状況提示情報の設計スタイルと同一または類似している。
いくつかの実施例において、事前トレーニングされた敵対的生成ネットワークに第1の画像を入力するステップは、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップを含むか、または、第1の画像のテクスチャ特徴パラメータ値がテクスチャ閾値よりも大きいか否かを検出し、大きい場合、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップを含む。
いくつかの実施例において、敵対的生成ネットワークが入力された画像に基づいて生成された顔属性情報を制約とすることは、敵対的生成ネットワークが入力された画像に基づいて生成されたマルチチャネルの顔画像を入力とするステップを含み、マルチチャネルの顔画像は、入力された画像のRGB3チャネル画像と、入力された画像のうち、顔のキーポイントの1チャネル二値画像またはRGB3チャネル画像、顔のセマンティックセグメンテーション結果の1チャネル二値画像またはRGB3チャネル画像および髪の1チャネル二値画像のうちの少なくとも1項と、を含む。
いくつかの実施例において、方法は、第2の画像をユーザに所定時間提示した後に、第1の画像と第2の画像を同時にユーザに提示するステップをさらに含む。
いくつかの実施例において、方法は、顔スタイル変換オプションをユーザに提示するステップと、ユーザによる変換オプションの選択を受け取るステップと、変換プロセス画像をユーザに提示するステップと、バックグラウンドで変換前の第2の画像とは異なるスタイルを有する新たな第2の画像が生成されたことに応答して、新たな第2の画像をユーザに提示するステップと、をさらに含む。
いくつかの実施例において、顔スタイル変換オプションをユーザに提示するステップは、ダイスボタンの画像および動的にクリックする手の画像をユーザに提示するステップを含み、ユーザによる変換オプションの選択を受け取るステップは、ユーザによるダイスボタンへのクリックを受け取るステップを含み、変換プロセス画像をユーザに提示するステップは、動的ダイス画像をユーザに提示するステップを含む。
いくつかの実施例において、新たな第2の画像をユーザに提示するステップは、下向き消去の特殊効果で新たな第2の画像をユーザに提示するステップを含む。
いくつかの実施例において、方法は、変換オプションを提示した後、所定時間内にユーザによる保存オプションまたは変換オプションへの選択操作を受け取っていないことに応じて、顔画像を入力する情報をユーザに提示するステップに戻るステップをさらに含む。
いくつかの実施例において、バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップは、バックグラウンドで第1の画像をクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力された第2の画像を得るステップを含み、方法は、バックグラウンドで第1の画像をクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに入力するときにネットワーク異常が検出されたことに応答して、「ネットワーク異常、再試行してください」という情報をユーザに提示し、かつ、「ネットワーク異常、再試行してください」という情報をユーザに所定時間提示した後に、顔画像を入力する情報をユーザに提示するステップに戻るステップ、をさらに含む。
いくつかの実施例において、方法は、バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るための所要時間が事前設定された時間を超えたことに応答して、「生成エラー、再試行してください」という情報をユーザに提示し、かつ、「生成エラー、再試行してください」という情報をユーザに提示した時間が所定時間に達したときに、顔画像を入力する情報をユーザに提示するステップに戻るステップと、バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得る過程で異常が発生したことに応答して、「生成エラー、再試行してください」という情報をユーザに提示し、かつ、「生成エラー、再試行してください」という情報をユーザに提示した時間が所定時間に達したときに、顔画像を入力する情報をユーザに提示するステップに戻るステップと、ユーザが他のアプリケーションに切り替え、また他のアプリケーションから戻ったことに応答して、顔画像を入力する情報をユーザに提示するステップに戻るステップと、の少なくとも1項をさらに含む。
第2態様において、本開示の実施例は、ユーザから入力した顔を含む第1の画像を受信するように構成された第1の画像入力ユニットと、第1の画像をユーザに提示するように構成された第1の画像提示ユニットと、バックグラウンドで入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るように構成された第2の画像出力ユニットと、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示するように構成された第2の画像提示ユニットと、を含むことを特徴とする、顔画像の生成装置を提供する。
いくつかの実施例において、第1の画像提示ユニットはさらに、第1の画像をユーザに所定時間提示した後に、提示された第1の画像にマスキングレイヤーを設け、対話シーンにおいて顔変換進行状況提示情報を表示するように構成されている。
いくつかの実施例において、第2の画像出力ユニットはさらに、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するか、または、第1の画像のテクスチャ特徴パラメータ値がテクスチャ閾値よりも大きいか否かを検出し、大きい場合、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するように構成されている。
いくつかの実施例において、第2の画像出力ユニットで用いられる敵対的生成ネットワークが入力された画像に基づいて生成された顔属性情報を制約とすることは、敵対的生成ネットワークが入力された画像に基づいて生成されたマルチチャネルの顔画像を入力とするステップを含み、マルチチャネルの顔画像は、入力された画像のRGB3チャネル画像と、入力された画像のうち、顔のキーポイントの1チャネル二値画像またはRGB3チャネル画像、顔のセマンティックセグメンテーション結果の1チャネル二値画像またはRGB3チャネル画像、および髪の1チャネル二値画像のうちの少なくとも1項と、を含む。
いくつかの実施例において、装置は、顔スタイル変換オプションをユーザに提示するように構成された変換オプション提示ユニットと、ユーザによる変換オプションの選択を受け取るように構成されたユーザ選択受取ユニットと、変換プロセス画像をユーザに提示するように構成されたプロセス画像提示ユニットと、バックグラウンドで変換前の第2の画像とは異なるスタイルを有する新たな第2の画像が生成されたことに応答して、新たな第2の画像をユーザに提示するように構成された第2の画像更新ユニットと、をさらに含む。
いくつかの実施例において、変換オプション提示ユニットはさらに、ダイスボタンの画像および動的にクリックする手の画像をユーザに提示するように構成され、ユーザ選択受取ユニットはさらに、ユーザによるダイスボタンへのクリックを受け取るように構成され、プロセス画像提示ユニットはさらに、動的ダイス画像をユーザに提示するように構成されている。
いくつかの実施例において、第2の画像更新ユニットはさらに、下向き消去の特殊効果で新たな第2の画像をユーザに提示するように構成されている。
いくつかの実施例において、装置は、変換オプションを提示した後、所定時間内にユーザによる保存オプションまたは変換オプションへの選択操作を受け取っていないことに応じて、顔画像を入力する情報をユーザに提示するステップに戻るように構成された情報提示復帰ユニットをさらに含む。
第3態様において、本開示の実施例は、1つまたは複数のプロセッサと、1つまたは複数のプログラムを記憶するための記憶装置と、を含む電子機器であって、1つまたは複数のプログラムが1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに上記のいずれかに記載の方法を実施させる電子機器を提供する。
第4態様において、本開示の実施例は、コンピュータプログラムが格納されているコンピュータ可読媒体であって、プログラムはプロセッサによって実行されると、上記のいずれかに記載の方法を実施するコンピュータ可読媒体を提供する。
第5態様において、コンピュータプログラムであって、前記コンピュータプログラムがプロセッサにより実行されると、上記のいずれかに記載の方法を実現する、コンピュータプログラムを提要する。
本開示の実施形態で提供される画像の生成方法および生成装置は、まず、ユーザが入力した顔を含む第1の画像を受信し、そして、第1の画像をユーザに提示し、その後、バックグラウンドで第1の画像を事前トレーニングされた敵対的生成ネットワークに入力し、入力された画像に基づいて生成された顔属性情報を制約とする敵対的生成ネットワークから出力された第2の画像を得、最後に、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示する。この過程では、敵対的生成ネットワークの制約として顔属性情報を採用しているため、敵対的生成ネットワークが入力された第1の画像に基づいて第2の画像を生成する精度と効率を向上させ、画像を誤生成する確率を減少させることができる。これにより、生成された第2の画像をより的確にすることができる。
以下の図面を参照して行われた非限定的な実施形態の詳細な説明を読むことによって、本開示の他の特徴、目的および利点は、より明らかになるであろう。
図1は本開示が適用できる例示的なシステムアーキテクチャである。
図2は本開示の一実施形態に係る画像の生成方法の一実施形態のフローチャートである。
図3は、本開示の一実施形態に係る画像の生成方法の例示的な適用シーンである。
図4は本開示の一実施形態に係る画像の生成方法の別の実施形態のフローチャートである。
図5は、本開示の画像の生成装置の一実施形態の例示的な構成図である。
図6は本開示の実施形態のサーバの実施に適したコンピュータシステムの構成図である。
以下、本開示について、添付の図面および実施形態に関連してさらに詳細に説明する。本明細書に記載された特定の実施形態は、本発明の限定ではなく、関連する発明を説明するためにのみ使用されることを理解されたい。さらに、説明を容易にするために、図面には、関連する発明に関連する部分のみが示されている。
本開示における実施形態および実施形態における特徴は、衝突することなく、互いに組み合わせられてもよいことに留意されたい。以下、本開示について図面を参照し、実施形態に関連して詳細に説明する。当業者はまた、本明細書では、用語「第1」、「第2」などを使用して画像を記述することができるが、これらの画像は、これらの用語によって限定されるべきではないことを理解するであろう。これらの用語は、1つの画像を他の画像から区別するためにのみ使用される。
図1は、本開示の画像の生成方法または画像の生成装置の一実施形態が適用できる例示的なシステムアーキテクチャ100を示す。
図1に示すように、システムアーキテクチャ100は、端末装置101、102、103、ネットワーク104、およびサーバ105を含むことができる。ネットワーク104は、端末装置101、102、103とサーバ105との間に通信リンクを提供するための媒体である。ネットワーク104は、有線、無線通信リンク、または光ファイバケーブルなどの様々な接続タイプを含むことができる。
ユーザは、端末装置101、102、103を使用して、メッセージなどを受信または送信するために、ネットワーク104を介してサーバ105と対話することができる。端末装置101、102、103には、ショートビデオアプリケーション、ブラウザアプリケーション、ショッピング系アプリケーション、検索系アプリケーション、インスタントメッセージツール、メールボックスクライアント、ソーシャルプラットフォームソフトウェアなどの様々な通信クライアントアプリケーションがインストールされていてもよい。
端末装置101、102、103は、ハードウェアであってもよいし、ソフトウェアであってもよい。端末装置101、102、103がハードウェアである場合、タブレット、ラップトップ、およびデスクトップコンピュータなどを含むが、これらに限定されないブラウザアプリケーションをサポートする様々な電子機器であってもよい。端末装置101、102、103がソフトウェアである場合、上記電子機器にインストールすることができる。これは、例えば、分散サービスを提供するために使用される複数のソフトウェアまたはソフトウェアモジュールとして実施されてもよく、単一のソフトウェアまたはソフトウェアモジュールとして実施されてもよい。ここでは具体的に限定しない。
サーバ105は、端末装置101、102、103をサポートするバックグラウンドサーバのような様々なサービスを提供するサーバであってもよい。バックグラウンドサーバは、受信した要求などのデータを分析するなどの処理を行い、処理結果を端末装置にフィードバックすることができる。
なお、サーバはハードウェアであってもよいし、ソフトウェアであってもよい。サーバがハードウェアである場合には、複数のサーバからなる分散サーバクラスタを実施することができ、単一のサーバとして実施することもできる。サーバがソフトウェアである場合、例えば、分散サービスを提供するために使用される複数のソフトウェアまたはソフトウェアモジュールとして実施されてもよく、単一のソフトウェアまたはソフトウェアモジュールとして実施されてもよい。ここでは具体的に限定しない。
実際には、本開示の実施形態によって提供される画像の生成方法は、端末装置101、102、103および/またはサーバ105、106によって実行されてもよく、画像の生成装置は、端末装置101、102、103および/またはサーバ105、106に配置されてもよい。
図1の端末装置、ネットワーク、およびサーバの数は、概略的なものにすぎないことを理解されたい。実施の必要に応じて、任意の数の端末装置、ネットワーク、およびサーバを有することができる。
図2を参照すると、図2は、本開示に係る画像の生成方法の一実施形態のプロセス200を示す。画像の生成方法は、以下のステップ(ステップ201〜204)を含む。
ステップ201:ユーザから入力した顔を含む第1の画像を受信する。
本実施形態では、画像の生成方法の実行主体(例えば、図1に示す端末装置やサーバ)は、対話シーンにおいてユーザがローカルまたはリモートアルバム、データベースから入力した顔を含む第1の画像を取得してもよいし、ローカルまたは遠隔の撮影サービスを介して顔を含む第1の画像を取得してもよい。
本実施形態のいくつかのオプションの実施形態では、ユーザが入力した顔を含む第1の画像を受信する前に、顔画像の生成方法は、対話シーンにおいて、顔変換の指示を受信するステップと、顔画像を入力する情報をユーザに提示するステップと、をさらに含む。
本実施形態では、上記実行主体が受けた顔変換の指示は、ユーザから入力した顔変換の指示、例えば、ユーザによる顔変換オプションの選択等であってもよいし、ユーザの出現によりトリガする顔変換の指示であってもよい。例えば、上記実行主体は、顔変換サービスモードにおいて、ユーザの顔を検出すると、顔変換の指示が受けられたとみなす。
上記実行主体は、顔変換の指示を受けた後、顔画像を入力する情報をユーザに提示することができる。例えば、ローカルまたはクラウドアルバムまたはデータベースから顔画像を入力するようにユーザに促す情報をユーザに提示したり、ローカルまたは遠隔の撮影サービスを呼び出して顔画像を入力する情報をユーザに提示したりする。
一具体例では、顔画像を入力する情報をユーザに提示するステップは、顔自動撮影画面をユーザに提示するステップを含み得、ユーザから入力した顔を含む第1の画像を受信するステップは、ユーザが自動撮影画面で顔を入力したことが検出されたことに応答して、自動撮影機能をトリガして第1の画像を得るステップを含むことができる。これにより、実行主体が受けた顔変換の指示に応じて、第1の画像を迅速に取得することができる。さらに、自動撮影機能をトリガする際に、フラッシュの光学および音響効果をユーザに提示することもでき、ユーザの注意力を向上させ、自動撮影の効率を向上させることができる。
上記実行主体は、顔自動撮影画面をユーザに提示する際に、所定スタイルの枠および/または撮影要件を含む自動撮影画面をユーザに提示することができ、撮影の面白さおよび/またはマンマシンインタラクション効率を向上させることができる。あるいは、または追加的に、上記実行主体は、撮影画面において顔が検出されなかったことに応答して、顔が検出されなかった提示情報をユーザに提示することができ、ユーザに顔の入力を注意させ、マンマシンインタラクション効率を向上させることができる。
本実施形態のいくつかのオプションの実施形態では、顔自動撮影画面をユーザに提示するステップは、撮影画面で顔が検出されたことに応答して、自動撮影カウントダウンをユーザに提示するステップと、ユーザが自動撮影カウントダウン期間内に顔を入力し続けたことに応答して、自動撮影カウントダウン終了時に検出された顔を撮影するステップと、ユーザが自動撮影カウントダウン期間内に顔を入力しなかったことに応答して、カウントダウンを終了し、顔が検出されなかった提示情報をユーザに提示するステップと、をさらに含む。
本実施形態では、上記実行主体は、撮影画面において顔を検出した後、自動撮影カウントダウンをユーザに提示することができる。ユーザが自動撮影カウントダウン期間内に顔を入力し続けた場合、すなわち上記実行主体が自動撮影カウントダウン期間内に顔を継続して検出した場合、上記実行主体は、自動撮影カウントダウン終了時に、検出された顔を撮影することができる。ユーザが自動撮影カウントダウン期間内に顔を入力しなかった場合、すなわち上記実行主体が自動撮影カウントダウン期間内に顔を検出しなかった場合、上記実行主体は、カウントダウンを終了し、顔が検出されなかった提示情報をユーザに提示する。
本実施形態における顔自動撮影画面をユーザに提示する方式は、自動撮影カウントダウンの時間帯に顔が存在するか否かを監視することができる。ユーザの顔がずっと存在していた場合、自動撮影カウントダウン終了時に写真を撮影し、顔が検出されなかった場合、速やかにユーザに注意させることができ、顔自動撮影の効率を向上させることができる。
ステップ202:第1の画像をユーザに提示する。
本実施形態では、画像の生成方法の実行主体は、従来技術または将来開発される技術における提示方法を用いて第1の画像をユーザに提示することができ、本明細書では限定されない。例えば、上記実行主体は、ディスプレイ上で第1の画像をユーザに提示するか、または通常の投影技術もしくはホログラフィ技術を使用して第1の画像をユーザに提示することができる。
本実施形態のいくつかのオプションの実施形態では、第1の画像をユーザに提示するステップは、第1の画像をユーザに提示した時間が所定時間に達した後に、提示された第1の画像にマスキングレイヤーを設け、対話シーンにおいて顔変換進行状況提示情報を表示するステップを含むことができる。
本実施形態では、第1の画像をユーザに提示した時間が所定時間(例えば3秒)に達した後に、提示された第1の画像にマスキングレイヤーを設け、対話シーンにおいて顔変換進行状況提示情報を表示することができる。これにより、第1の画像に対して顔変換を行っていることをユーザに注意させ、ユーザが顔変換の進行状況を直感的に見ることができ、マンマシンインタラクション効率を向上させることができる。
本実施形態のいくつかのオプションの実施形態では、所定スタイルの枠は、顔変換進行状況提示情報の設計スタイルと同じまたは近い。
本実施方法では、所定スタイルの枠を顔進行状況提示情報の設計スタイルと同じか近いものに設定することで、前後一致した視認感をユーザに提示することができ、ユーザの視認度を向上させることができる。ここにいう設計スタイルが近いとは、設計スタイルの類似度が所定類似度閾値よりも大きいか、または設計スタイルが所定スタイルランキングリストにおいて隣接するスタイルであることである。
ステップ203:バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得る。
本実施形態では、上記実行主体は、バックグラウンドで、入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力して、敵対的生成ネットワークから出力された第2の画像を得ることができる。
事前トレーニングされた敵対的生成ネットワークとは、敵対的生成ネットワーク(GAN、Generative Adversarial Networks)に基づいて発展したディープラーニングモデルである。例としては、敵対的生成ネットワークGAN、循環一貫敵対的生成ネットワークCycleGAN、顔高精度属性編集モデルAttGAN、スター型敵対的生成ネットワークStarGAN、空間コンバータ敵対的生成ネットワークSTGAN、双方向学習の敵対的生成ネットワークDualGAN、DiscoGANなどが挙げられる。
この事前トレーニングされた敵対的生成ネットワークは通常、生成器G(Generator)と弁別器(Discriminator)を含む。2つのデータドメインがそれぞれX、Yである。GはXドメイン内のデータを真のデータに模倣して真のデータに隠すことを担当し、Dは偽造データと真のデータを分離することを担当する。両者のゲームを経て、Gの偽造技術はますます強くなり、Dの弁別技術も強くなる。Dはデータが真であるかGに生成されたデータであるかを区別できなくなる時点で、敵対の過程は動的なバランスに達する。
敵対的生成ネットワークのトレーニングには、生成器の再構成損失関数と弁別器の弁別損失関数の2つの損失関数が必要である。再構成損失関数は、生成された画像が原画像と可能な限り類似しているかどうかを判定するために用いられ、弁別損失関数は、生成された偽画像と元の真画像を弁別器に入力し、式が0,1の二項分類の損失を得るために用いられる。
生成器は、エンコーダ、コンバータ、デコーダから構成される。エンコーダは、畳み込みニューラルネットワークを用いて、入力された画像から特徴を抽出する。例えば、画像を256個の64×64の特徴ベクトルに圧縮する。コンバータは、画像の非近接特徴を組み合わせることにより、画像のDAドメインにおける特徴ベクトルをDBドメインにおける特徴ベクトルに変換する。例えば、6層のResetモジュールを用いることができる。各Resetモジュールは、2つの畳み込み層からなるニューラルネットワーク層であり、変換時に元の画像特徴を同時に保持することができる。デコーダは、逆畳み込み層(Decovolution)を用いて、特徴ベクトルから低級特徴を復元する作業を完了し、生成画像を得る。
弁別器は、1枚の画像を入力とし、それが元の画像であるかそれとも生成器の出力画像であるかを予測することを試みる。弁別器自体は畳み込みネットワークに属し、画像から特徴を抽出する必要があり、1次元出力を生成する畳み込み層を追加することで、抽出された特徴が特定のカテゴリに属するかどうかを判定する必要がある。
ここでは、事前トレーニングされた敵対的生成ネットワークは、入力された画像に基づいて生成された顔属性情報を制約とする。この顔属性情報は、顔特徴を特徴付ける一連の生体特性情報であり、非常に強い自己安定性と個体差を持ち、人の身分を識別している。顔属性情報には、性別、肌色、年齢、表情などを含むことができる。
敵対的生成ネットワークは、入力された画像(例えば、敵対的生成ネットワークを適用する際に入力された第1の画像または敵対的生成ネットワークをトレーニングする際に入力された第1の画像サンプル)に基づいて生成された顔属性情報を制約とする場合には、従来技術または将来開発される技術における機械学習ネットワークの制約のための方法を用いて実現することができ、本出願ではこれについて限定しない。
本出願の一具体例では、上記入力された画像に基づいて生成された顔属性情報は、敵対的生成ネットワークにおける生成器ネットワークのいずれか1層または複数層の入力として、当該層のネットワークの既存の入力と連携して入力とすることにより、機械学習において制約を導入した生成器ネットワークの出力画像と顔属性情報との関連性を改善することができる。
本出願の別の具体例では、上記入力された画像に基づいて生成された顔属性情報は、顔マーク特徴を用いて一貫性損失を定義し、敵対的生成ネットワークにおける弁別器のトレーニングを指導する。まず、生成器は、入力された第1の画像に基づいて粗い第2の画像を生成する。その後、敵対的生成ネットワークは、生成された第2の画像に基づいて、1つの事前トレーニングリグレッサー(Regressor)を生成して顔ランドマークlandmarkを予測し、顔のキーポイントをマークする。最後に、ローカルとグローバルの2種類の弁別器により、第2の画像において第1の画像に対応する顔特徴を詳細化する。この段階では、landmarkの整合性が強調されているため、最後の生成結果はリアルで認識できる。
当業者は、敵対的生成ネットワークは、トレーニングおよび応用段階において、入力された画像に基づいて生成された顔属性情報を制約とすることができることを理解するであろう。ここで、この敵対的生成ネットワークをトレーニングする際に、入力された画像は、入力された第1の画像サンプルとすることができる。敵対的生成ネットワークは、入力された第1の画像サンプルの顔属性情報を抽出し、顔属性情報を敵対的生成ネットワークの制約とし、出力された生成された画像を得る。この敵対的生成ネットワークを応用する際に、入力された画像は、入力された第1の画像とすることができる。敵対的生成ネットワークは、入力された第1の画像の顔属性情報を抽出し、第1の画像の顔属性情報を敵対的生成ネットワークの制約とし、出力された第2の画像を得る。
上記敵対的生成ネットワークに入力された第1の画像は、顔を含む画像とすることができる。敵対的生成ネットワークから出力された第2の画像は、スタイルまたは性別が第1の画像とは異なり、顔を含む画像とすることができる。
具体的には、敵対的生成ネットワークが入力された画像に基づいて生成された顔属性情報を制約とすることは、敵対的生成ネットワークが入力された画像に基づいて生成された顔キーポイントおよび/または顔のセマンティックセグメンテーション結果を制約とすることを含む。
上記実行主体は、顔キーポイント抽出技術を用いて、入力された画像の顔キーポイントを抽出し、顔キーポイントを敵対的生成ネットワークが出力画像を生成する際の制約とすることができる。あるいは、または追加的に、上記実行主体は、顔のセマンティックセグメンテーション技術を用いて、顔のセマンティックセグメンテーション結果を敵対的生成ネットワークが出力画像を生成する際の制約とすることができる。
入力された画像に基づいて生成された顔キーポイントおよび/または顔のセマンティックセグメンテーション結果を制約として用いることにより、生成器は、入力された画像の五官と出力された画像の五官とを関連付けることができ、他の部位で顔特徴を誤生成することはない。また、入力された画像を、顔を含むより大きな画像とすることができ、顔画像のみの入力に限らない。さらに、出力された画像の精度と品質を向上させることができる。
本実施形態のいくつかのオプションの実施形態では、第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップは、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップを含む。
本実施形態では、ガウス平滑化とも呼ばれるガウシアンぼかし(Gaussian Blur)により、画像ノイズを低減し、細部レベルを低減し、異なるスケールの大きさでの画像効果を向上させることができる(スケール空間表現およびスケール空間実現を参照)。数学的には、画像のガウシアンぼかし過程は画像と正規分布を畳み込みすることである。正規分布はガウス分布とも呼ばれるため、この技術はガウシアンぼかしとも呼ばれる。
異なる程度のガウシアンぼかし後の第1の画像を敵対的生成ネットワークの入力として用いることにより、異なる解像度の第2の画像を得ることができ、異なる解像度の第2の画像に基づいて、所望の鮮明な第2の画像を確定することができる。
あるいは、または追加的に、第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップは、第1の画像のテクスチャ特徴パラメータ値がテクスチャ閾値よりも大きいかどうかを検出し、大きい場合、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するステップを含む。
ここで、画像のテクスチャ特徴パラメータ値とは、画像のテクスチャ特徴を特徴付けるためのパラメータ値を指す。例えば、テクスチャの太さ、密度、方向性などである。第1の画像のテクスチャ特徴パラメータ値がテクスチャ閾値よりも大きいことが検出された場合には、第1の画像のテクスチャが複雑であることを示す。通常、テクスチャの複雑な画像に基づいて生成された画像の内容が乱れている。このため、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像に対してそれぞれ第2の画像を生成し、解像度の異なる第2の画像を得ることができる。その後、異なる解像度の第2の画像に基づいて、所望の鮮明な第2の画像を確定することができ、生成された画像の品質を向上させることができる。
上記事前トレーニングされた敵対的生成ネットワークは、クローラーを用いてネットワークから画像サンプルをクロールするか、または画像サンプルデータセットを直接取得することができる。これらの画像にはいずれも顔が含まれている。その後、クロールしたまたは取得した画像を直接、敵対的生成ネットワークのトレーニングのための画像サンプルとすることができる。または、クロールした、顔を含む画像を初期画像サンプルとし、初期画像サンプルに対してさらなるデータ処理を行い、画像サンプルの要求に合致したフィルタリングされた画像を得、フィルタリングされた画像を敵対的生成ネットワークのトレーニングのための画像サンプルとすることができる。
事前トレーニングされた敵対的生成ネットワークは、データのトレーニングにはスタイルが一致し、しかも異なる性別、異なる角度、異なる顔の大きさの画像サンプルを含む必要があるため、初期画像サンプルに対してデータ拡張を行うことにより、トレーニングのデータ量を増加させ、敵対的生成ネットワークの汎化能力を高め、かつノイズデータを増加させ、敵対的生成ネットワークのロバスト性を高めることができる。データ拡張は、回転、平行移動、折り返し、反転、スケーリング、および異なる程度のガウシアンぼかしなどの動作を含むことができる。
本実施形態のいくつかのオプションの実施形態では、敵対的生成ネットワークが入力された画像に基づいて生成された顔属性情報を制約とすることは、敵対的生成ネットワークが入力された画像に基づいて生成されたマルチチャネルの顔画像を入力とするステップを含み、マルチチャネルの顔画像は、入力された画像のRGB3チャネル画像と、入力された画像の顔キーポイントの1チャネル二値画像またはRGB3チャネル画像、顔のセマンティックセグメンテーション結果の1チャネル二値画像またはRGB3チャネル画像、髪の1チャネル二値画像のうちの少なくとも1つの画像と、を含む。
本実施形態のいくつかの具体例では、第1の画像に基づいて、従来技術または将来開発される技術における顔キーポイント抽出技術を用いて、第1の画像の顔キーポイント画像を取得することができる。本出願ではこれについて限定しない。例えば、能動形状モデル(ASM,Active Shape Model)、能動外観モデル(AMM,Active Appearance Model、)、カスケード形状回帰モデルCascaded Shape Regression(CSR)、または顔整列アルゴリズム(DAN、Deep Alignment Network)などを用いて顔キーポイント抽出を行うことができる。その後、顔キーポイント画像に基づいて、顔キーポイントのRGB3チャネル画像または顔キーポイントの1チャネル二値画像を得ることができる。
第1の画像に基づいて、従来技術または将来開発される技術におけるセマンティックセグメンテーション技術を用いて、第1の画像の顔のセマンティックセグメンテーション結果を取得することができる。本出願ではこれについて限定しない。いくつかの具体例では、顔のセマンティックセグメンテーション技術は、全畳み込みニューラルネットワークFCN(Fully Convolutional Networks For Semantic Segmentation)、セマンティックセグメンテーションネットワーク(SegNet、Semantic Segmentation)、拡張畳み込み(Dilated Convolutions)、セマンティックセグメンテーション(Deep Lab(v1、v2、V3など))、画像分割モデル(RefineNet)、ピラミッドシーン解析ネットワーク(PSPNet)などを用いて、第1の画像に基づいて、第1の画像に対する顔のセマンティックセグメンテーション結果を取得することができる。セマンティックセグメンテーションはターゲット検出の拡張であり、その出力はオブジェクトをカテゴリごとに区別したカラーマスクであり、ターゲットに対してより正確な測位を実現することができ、ターゲットの複雑な形状の影響を受けない。その後、顔のセマンティックセグメンテーション結果に基づいて、顔のセマンティックセグメンテーション結果のRGB3チャネル画像または顔キーポイントの1チャネル二値画像を得ることができる。
第1の画像に基づいて、従来技術または将来開発される技術における髪分割技術を用いて、第1の画像の髪の1チャネル二値画像を取得することができる。本出願ではこれについて限定しない。例えば、髪分割技術を用いて、まず、髪分割結果を取得し、そして、髪分割結果を髪の1チャネル二値画像に変換することができる。髪分割結果の各画素点を1チャネル二値画像で表す。
当業者は、応用時に入力されたマルチチャンネル顔画像に適したトレーニング済みの敵対的生成ネットワークを得るために、敵対的生成ネットワークの事前トレーニングに用いられるマルチチャネル顔画像サンプルと、当該敵対的生成ネットワークの応用時に入力されたマルチチャネル顔画像とを適させることを理解するであろう。
本実施形態における顔画像の生成方法は、マルチチャネル顔画像を事前トレーニングされた敵対的生成ネットワークに入力し、入力された画像の細部がより豊富であり、事前トレーニングされた敵対的生成ネットワークから出力された第2の画像の精度と品質を向上させることができる。
ステップ204:バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示する。
本実施形態では、上記実行主体は、事前トレーニングされた敵対的生成ネットワークから出力された第2の画像をユーザに提示することができる。
一具体例では、第1の画像は真の顔画像であり、第2の画像は漫画画像である。ここの漫画画像は、壁画、油絵、カーペットなどのスケッチ、下絵であってもよいし、漫画、風刺画、ユーモラスな絵画などであってもよい。
本実施形態のいくつかのオプションの実施形態では、上記方法は、第2の画像をユーザに提示した時間が所定時間に達した後に、第1の画像と第2の画像を同時にユーザに提示するステップをさらに含むことができる。
本実施形態では、上記実行主体は、第2の画像をユーザに提示した時間が所定時間に達した後に、第1の画像と第2の画像を同時にユーザに提示してもよい。例えば、上記実行主体は、画面内の左上と右下の位置にそれぞれ第1の画像と第2の画像を表示することができる。または、第1の画像と第2の画像を分割画面に表示することもできる。これにより、ユーザは第1の画像と第2の画像とを比較できるため、インタラクション効率を向上させることができる。
本開示に係る上記実施形態の画像の生成方法は、敵対的生成ネットワークが第1の画像に基づいて第2の画像を生成する過程において、敵対的生成ネットワークの制約として第1の画像の顔属性情報を採用したため、敵対的生成ネットワークが入力された第1の画像に基づいて第2の画像を生成する品質、精度、効率を向上させ、画像を誤生成する確率を低減することができる。これにより、生成された第2の画像がより標的化になる。
以下、図3を参照して、本開示に係る画像の生成方法の例示的な適用シーンについて説明する。
図3に示すように、図3は、本開示に係る画像の生成方法の適用シーンの一例を示す。
図3に示すように、画像の生成方法300は、電子機器310において動作する。次のステップを含む。
まず、ユーザから入力した顔を含む第1の画像301を受信する。
そして、第1の画像301をユーザに提示する。
さらに、バックグラウンドで、入力された画像に基づいて生成された顔属性情報304を制約305とする事前トレーニングされた敵対的生成ネットワーク302に第1の画像301を入力し、敵対的生成ネットワークから出力された第2の画像303を得る。
最後に、バックグラウンドで敵対的生成ネットワークから出力された第2の画像303が得られたことに応答して、第2の画像303をユーザに提示する。
上記図3に示す画像の生成方法の適用シーンは、画像の生成方法の例示的な説明にすぎず、この方法への限定を意味するものでないことを理解されたい。例えば、上記図3に示す各ステップは、より詳細な実施方法をさらに採用することができる。上記図3に基づいて、その他の画像生成ステップをさらに追加してもよい。
さらに図4を参照すると、図4は、本開示に係る顔画像の生成方法の別の実施形態の概略フローチャートを示す。
図4に示すように、本実施形態に係る顔画像の生成方法400は、以下のステップ(ステップ401〜408)を含むことができる。
ステップ401:ユーザから入力した顔を含む第1の画像を受信する。
本実施形態では、画像の生成方法の実行主体(例えば、図1に示す端末装置やサーバ)は、ユーザが対話シーンにおいてローカルまたはリモートアルバム、データベースから入力した顔を含む第1の画像を取得してもよいし、ローカルまたは遠隔の撮影サービスを介して顔を含む第1の画像を取得してもよい。
ステップ402:第1の画像をユーザに提示する。
本実施形態では、画像の生成方法の実行主体は、従来技術または将来開発された技術における提示方法を用いて第1の画像をユーザに提示することができる。本出願ではこれについて限定しない。例えば、上記実行主体は、ディスプレイ上で第1の画像をユーザに提示するか、または通常の投影技術またはホログラフィック投影技術を使用して第1の画像をユーザに提示することができる。
ステップ403:バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得る。
本実施形態では、上記実行主体は、入力された画像に基づいて生成された顔属性情報を制約とする敵対的生成ネットワークから出力された第2の画像を得るために、バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力することができる。
事前トレーニングされた敵対的生成ネットワークとは、敵対的生成ネットワーク(GAN、Generative Adversarial Networks)に基づいて発展したディープラーニングモデルである。例としては、敵対的生成ネットワークGAN、循環一貫敵対的生成ネットワークCycleGAN、顔高精度属性編集モデルAttGAN、スター型敵対的生成ネットワークStarGAN、空間コンバータ敵対的生成ネットワークSTGAN、双方向学習の敵対的生成ネットワークDualGAN、DiscoGANなどが挙げられる。
ステップ404:バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示する。
本実施形態では、上記実行主体は、事前トレーニングされた敵対的生成ネットワークから出力された第2の画像をユーザに提示することができる。
一具体例では、第1の画像は真の顔画像であり、第2の画像は漫画画像である。ここの漫画画像は、壁画、油絵、カーペットなどのスケッチ、下絵であってもよいし、漫画、風刺画、ユーモラスな絵画などであってもよい。
当業者は、上記ステップ401〜ステップ404が、図2に示す実施形態におけるステップ201〜ステップ204に対応することを理解するであろう。したがって、上述した図2に示す実施形態におけるステップ201〜ステップ204について説明した動作および特徴は、ステップ401〜ステップ404にも同様に適用可能であり、ここではこれ以上説明しない。
ステップ405:顔スタイル変換オプションをユーザに提示する。
本実施形態では、上記実行主体が第2の画像をユーザに提示する際に、または第2の画像をユーザに提示した後に、顔スタイル変換オプションをユーザに提示することにより、ユーザはスタイル変換オプションを選択して、生成された第2の画像のスタイルを変換することができる。例えば、回転可能なスタイル変換オプションのローラをユーザに提示することにより、ユーザはローラを回転することで、自分の好きなスタイルを選択することができる。
本実施形態のいくつかのオプションの実施形態では、顔スタイル変換オプションをユーザに提示するステップは、ダイスボタンおよび動的にクリックする手の画像をユーザに提示するステップを含むことができる。これにより、受信ユーザをダイスボタンをクリックするように誘導し、顔スタイルの変換を行うことができる。
ステップ406:ユーザによる変換オプションの選択を受け取る。
本実施形態では、ユーザによる変換オプションの選択を受け取る。すなわち、上記実行主体は、ユーザによる変換オプションの選択を受け取る。
ステップ407:変換プロセス画像をユーザに提示する。
本実施形態では、上記実行主体は、ユーザによる変換オプションの選択を受信した後、バックグラウンドで変換前の第2の画像とは異なるスタイルの新たな第2の画像を生成し、変換プロセス画像をユーザに提示する。ここで、変換プロセス画像とは、変換プロセスを表現できる画像、例えば変換プログレスバー、動的変換画像などである。
バックグラウンドで前回生成された第2の画像とは異なる第2の画像を生成する際に、第1の画像の一部の内容を修正することで、異なるスタイルの新たな第2の画像を得ることができる。例えば、第1の画像の背景の輝度、コントラスト等のパラメータを修正し、修正された第1の画像を事前トレーニングされた敵対的生成ネットワークに入力して、新たな第2の画像を得ることができる。
本実施形態のいくつかのオプションの実施形態では、ダイスボタンおよび動的にクリックする手の画像を上記ユーザに提示した後、ユーザは、ダイスボタンをクリックすることができる。上記実行主体は、動的ダイス画像をユーザに提示することができる。これにより、ダイスをクリックして顔スタイルを切り替えるようユーザを直感的に誘導し、ダイスをクリックした後のインタラクション過程を直感的にユーザに提示することができ、マンマシンインタラクションの効率を向上させることができる。
ステップ408:バックグラウンドで変換前の第2の画像とは異なるスタイルの新たな第2の画像が生成されたことに応答して、新たな第2の画像をユーザに提示する。
本実施形態では、上記実行主体はバックグラウンドでスタイル変換後の第2の画像が生成された場合、スタイル変換後の第2の画像を新たな第2の画像とし、新たな第2の画像をユーザに提示することができる。
新たな第2の画像をユーザに提示する際に、いくつかの特殊効果を使用して新たな第2の画像を提示することができる。例えば、下向き消去の特殊効果、点状ブランキング特殊効果、または回転ブランキング特殊効果などの特殊効果で新たな第2の画像をユーザに提示することができる。これにより、第2の画像の変換プロセスを直感的に具現化することができる。
本実施形態のいくつかのオプションの実施形態では、上記顔画像の生成方法は、変換オプションを提示した時間が所定時間に達するまでに、ユーザによる保存オプションまたは変換オプションの選択操作を受信していなければ、顔画像を入力する情報をユーザに提示するステップに戻るステップをさらに含む。
本実施形態では、変換オプションを提示した時間が所定時間に達するまでに、ユーザによる保存オプションまたは変換オプションの選択操作を受信していなければ、ユーザが現在の第2の画像に満足しておらず、以前の第1の画像に基づいてスタイルを変換したくないことを意味し、このとき、実行主体は、顔画像を入力する情報をユーザに提示するステップに戻る。このように、ユーザによる操作を必要とせずに、上記実行主体は、次の顔画像の生成を行うために、新たな顔を含む第1の画像の入力をユーザに促すことができる。これにより、顔画像の生成方法の知能性とマンマシンインタラクション効率を向上させることができる。
本実施形態のいくつかのオプションの実施形態では、上記実行主体は、バックグラウンドで第1の画像をクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力された第2の画像を得、バックグラウンドでクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに第1の画像を入力するときにネットワーク異常が検出されたことに応答して、「ネットワーク異常、再試行してください」という情報をユーザに提示し、かつ、「ネットワーク異常、再試行してください」という情報をユーザに提示した時間が所定時間に達した後、顔画像を入力する情報をユーザに提示するステップに戻る。
本実施形態では、上記実行主体は、ネットワーク異常時に、「ネットワーク異常、再試行してください」とユーザに注意させ、かつ所定時間が経過した後に、再び顔画像を入力する情報をユーザに提示するステップに戻ることができる。このように、ユーザの操作を必要とせずに、次の顔画像の生成を行うために、新たな顔を含む第1の画像の入力をユーザに促すことができる。これにより、顔画像の生成方法の知能性とマンマシンインタラクション効率を向上させることができる。
本実施形態のいくつかのオプションの実施形態では、顔画像の生成方法は、バックグラウンドで第1の画像を事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力される第2の画像を得るための所要時間が所定時間を超えたことに応答して、「生成エラー、再試行してください」という情報をユーザに提示するステップと、バックグラウンドで第1の画像を事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力される第2の画像を得る過程で異常が発生したことに応答して、「生成エラー、再試行してください」という情報をユーザに提示するステップと、ユーザが他のアプリケーションに切り替え、また他のアプリケーションから戻ったことに応答して、顔画像を入力する情報をユーザに提示するステップに戻るステップと、のうちの少なくとも1つをさらに含む。
本実施形態では、上記実行主体は、第2の画像を生成するための所要時間が所定時間を超えた場合、または第2の画像を生成する過程で異常が発生した場合に、「生成エラー、再試行してください」という情報をユーザに提示し、かつ、「生成エラー、再試行してください」という情報をユーザに提示した時間が所定時間を満たした場合に、顔画像を入力する情報をユーザに提示するステップに戻る。このように、ユーザに再試行を直感的に提示し、インタラクション効率を向上させることができる。
また、ユーザが他のアプリケーションに切り替え、また他のアプリケーションから戻ると、上記実行主体は顔画像を入力する情報をユーザに提示するステップに戻る。このようにすると、ユーザの操作を必要とせずに、次に顔画像を生成するために新たな顔を含む第1の画像を入力するようにユーザに促すことができる。これにより、顔画像の生成方法の知能性とマンマシンインタラクション効率を向上させることができる。
本開示に係る上記実施形態の画像の生成方法は、上記図2に示す実施形態の方法と比較して、図2に示す実施形態をベースに、顔スタイル変換オプションをユーザに提示し、そして、ユーザによる変換オプションの選択を受信し、その後、変換プロセス画像をユーザに提示し、最後に、バックグラウンドで第2の画像とは異なるスタイルの新たな第2の画像が生成されたことに応答して、新たな第2の画像をユーザに提示することができる。これにより、ユーザは生成された二次元イメージに満足していない場合には、再撮影することなく、ボタンをクリックするだけで、二次元イメージを再生成することができる。1枚の原画像により、異なるタイプの二次元イメージを生成することができ、ユーザのニーズに応じた第2の画像を生成する効率を向上させることができる。
上記各図に示す方法の実施として、本開示の実施形態は、上記図1に示す端末装置またはサーバに具体的に適用可能な図2〜図4に示す方法の実施形態に対応する画像の生成装置の一実施形態を提供する。
図5に示すように、本実施形態に係る画像の生成装置500は、ユーザから入力した顔を含む第1の画像を受信するように構成された第1の画像入力ユニット501と、第1の画像をユーザに提示するように構成された第1の画像提示ユニット502と、バックグラウンドで入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るように構成された第2の画像出力ユニット503と、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示するように構成された第2の画像提示ユニット504と、を含む。
いくつかの実施形態では、装置は、対話シーンにおいて顔変換の指示を受信するように構成された指示受信ユニット(図示せず)と、顔画像を入力する情報をユーザに提示するように構成された情報提示ユニット(図示せず)と、をさらに含む。
いくつかの実施形態では、顔画像を入力する情報をユーザに提示するステップは、顔自動撮影画面をユーザに提示するステップを含み、ユーザから入力した顔を含む第1の画像を受信するステップは、ユーザが自動撮影画面で顔を入力したことが検出されたことに応答して、自動撮影機能をトリガして第1の画像を得るステップを含む。
いくつかの実施形態では、顔自動撮影画面をユーザに提示するステップは、所定スタイルの枠および/または撮影要件を含む自動撮影画面をユーザに提示するステップと、撮影画面で顔が検出されなかったことに応答して、顔が検出されなかった提示情報をユーザに提示するステップと、のうちの少なくとも1つを含む。
いくつかの実施形態では、顔自動撮影画面をユーザに提示するステップは、撮影画面で顔が検出されたことに応答して、自動撮影カウントダウンをユーザに提示するステップと、自動撮影カウントダウンが終了したことに応答して、検出された顔を撮影するステップと、ユーザが自動撮影カウントダウン期間内に顔を入力しなかったことに応答して、カウントダウンを終了し、顔が検出されなかった提示情報をユーザに提示するステップと、をさらに含む。
いくつかの実施形態では、第1の画像提示ユニットはさらに、第1の画像をユーザに提示した時間が所定時間に達した後に、提示された第1の画像にマスキングレイヤーを設け、対話シーンにおいて顔変換進行状況提示情報を表示するように構成されている。
いくつかの実施形態では、所定スタイルの枠は、顔変換進行状況提示情報の設計スタイルと同じまたは近い。
いくつかの実施形態では、第2の画像出力ユニットはさらに、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するか、または、第1の画像のテクスチャ特徴パラメータ値がテクスチャ閾値よりも大きいか否かを検出し、大きい場合、第1の画像に対して異なる程度のガウシアンぼかしを行い、異なる程度のガウシアンぼかし後の第1の画像を事前トレーニングされた敵対的生成ネットワークに入力するように構成されている。
いくつかの実施形態では、第2の画像出力ユニットで用いられる敵対的生成ネットワークが入力された画像に基づいて生成された顔属性情報を制約とすることは、敵対的生成ネットワークが入力された画像に基づいて生成されたマルチチャネルの顔画像を入力とするステップを含み、マルチチャネルの顔画像は、入力された画像のRGB3チャネル画像と、入力された画像の顔キーポイントの1チャネル二値画像またはRGB3チャネル画像、顔のセマンティックセグメンテーション結果の1チャネル二値画像またはRGB3チャネル画像、髪の1チャネル二値画像のうちの少なくとも1つの画像と、を含む。
いくつかの実施形態では、装置は、第2の画像をユーザに提示した時間が所定時間に達した後に、第1の画像と第2の画像を同時にユーザに提示するように構成された画像同時提示ユニット(図示せず)をさらに含む。
いくつかの実施形態では、装置は、顔スタイル変換オプションをユーザに提示するように構成された変換オプション提示ユニットと、ユーザによる変換オプションの選択を受け取るように構成されたユーザ選択受取ユニット(図示せず)と、変換プロセス画像をユーザに提示するように構成されたプロセス画像提示ユニット(図示せず)と、バックグラウンドで変換前の第2の画像とは異なるスタイルの新たな第2の画像が生成されたことに応答して、新たな第2の画像をユーザに提示するように構成された第2の画像更新ユニット(図示せず)と、をさらに含む。
いくつかの実施形態では、変換オプション提示ユニットはさらに、ダイスボタンおよび動的にクリックする手の画像をユーザに提示するように構成され、ユーザ選択受取ユニットはさらに、ユーザによるダイスボタンへのクリックを受信するように構成され、プロセス画像提示ユニットはさらに、動的ダイス画像をユーザに提示するように構成されている。
いくつかの実施形態では、第2の画像更新ユニットはさらに、下向き消去の特殊効果で新たな第2の画像をユーザに提示するように構成されている。
いくつかの実施形態では、装置は、変換オプションを提示した時間が所定時間に達するまでに、ユーザによる保存オプションまたは変換オプションの選択操作が受信されず、顔画像を入力する情報をユーザに提示するステップに戻るように構成される情報提示復帰ユニット(図示せず)をさらに含む。
いくつかの実施形態では、バックグラウンドで事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップは、バックグラウンドでクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップを含み、上記装置は、バックグラウンドでクラウドサーバに位置する事前トレーニングされた敵対的生成ネットワークに第1の画像を入力するときにネットワーク異常が検出されたことに応答して、「ネットワーク異常、再試行してください」という情報をユーザに提示し、かつ、「ネットワーク異常、再試行してください」という情報をユーザに提示した時間が所定時間に達した後に、顔画像を入力する情報をユーザに提示するステップに戻るように構成された情報提示復帰ユニットをさらに含む。
いくつかの実施形態では、上記情報提示復帰ユニットはさらに、バックグラウンドで第1の画像を事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力された第2の画像を得るための所要時間が所定時間を超えたことに応答して、「生成エラー、再試行してください」という情報をユーザに提示し、かつ、「生成エラー、再試行してください」という情報をユーザに提示した時間が所定時間に達したときに、顔画像を入力する情報をユーザに提示するステップに戻り、バックグラウンドで第1の画像を事前トレーニングされた敵対的生成ネットワークに入力し、敵対的生成ネットワークから出力された第2の画像を得る過程で異常が発生したことに応答して、「生成エラー、再試行してください」という情報をユーザに提示し、かつ、「生成エラー、再試行してください」という情報をユーザに提示した時間が所定時間に達したときに、顔画像を入力する情報をユーザに提示するステップに戻り、ユーザが他のアプリケーションに切り替え、また他のアプリケーションから戻ったことに応答して、顔画像を入力する情報をユーザに提示するステップに戻るように構成されている。
なお、装置500に記載されている各ユニットは、図2〜図4を参照して説明した方法に記載されている各ステップに対応することを理解されたい。したがって、上述した方法に関する動作および特徴は、装置500およびその中に含まれる様々なユニットにも同様に適用可能であり、ここではこれ以上説明しない。
次に図6を参照すると、本開示の実施形態を実施するのに適した電子機器(例えば、図1に示すサーバまたは端末装置)600の構造概略図が示されている。本開示の実施形態における端末装置は、ノートパソコン、デスクトップコンピュータなどを含むが、これらに限定されない。図6に示す端末装置/サーバは一例にすぎず、本開示の実施形態の機能および使用範囲に制限を与えるべきではない。
図6に示すように、電子機器600は、読み取り専用メモリ(RОM)602に記憶されているプログラム、又は記憶装置608からランダムアクセスメモリ(RAM)603にロードされたプログラムに応じて様々な適切な動作及び処理を実行する処理装置(例えば、CPU、グラフィックスプロセッサなど)601を含むことができる。RAM603には、電子機器600の動作に必要な各種のプログラム及びデータも記憶されている。処理装置601、RОM602及びRAM603は、バス604を介して互いに接続されている。バス604には、入出力(I/O)インタフェース605も接続されている。
一般に、タッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイク、加速度計、ジャイロスコープなどの入力装置606、液晶ディスプレイ(LCD)、スピーカ、振動子などの出力装置607、テープ、ハードディスクなどの記憶装置608、及び通信装置609は、I/Oインタフェース605に接続することができる。通信装置609は、データを交換するために、電子機器600が他の装置と無線又は有線通信を行うことを可能にすることができる。図6は、様々な装置を有する電子機器600を示しているが、図示した全ての装置を実施又は備えることが要求されていないことを理解されたい。代替的に、より多く又はより少ない装置を実施又は備えることができる。図6に示す各ブロックは、1つのデバイスを表してもよく、必要に応じて複数のデバイスを代表してもよい。
特に、本開示の実施形態によれば、フローチャートを参照して上述したプロセスは、コンピュータソフトウェアプログラムとして実施されることが可能である。例えば、本開示の実施形態は、フローチャートに示された方法を実行するためのプログラムコードを含む、コンピュータ可読媒体上に担持されたコンピュータプログラム製品を含む。このような実施形態では、該コンピュータプログラムは、通信装置609を介してネットワークからダウンロードされインストールされたり、記憶装置608からインストールされたり、RОM602からインストールされたりすることができる。このコンピュータプログラムが処理装置601によって実行されると、本開示の実施形態の方法に限定された上記機能が実行される。なお、本開示の実施形態で説明したコンピュータ可読媒体は、コンピュータ可読信号媒体若しくはコンピュータ可読記憶媒体、又はこれらの任意の組合せであり得る。コンピュータ可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁気的、赤外線の、又は半導体のシステム、装置若しくはデバイス、又はこれらの任意の組み合せであり得るが、これらに限られない。コンピュータ可読記憶媒体のより具体的な例は、1本又は複数本の導線により電気的に接続された、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(RОM)、消去可能プログラマブル読取り専用メモリ(EPRОM又はフラッシュメモリ)、携帯型コンパクトディスク読取り専用メモリ(CD−RОM)、光メモリ、磁気メモリ、又は上記の任意の適切な組み合せを含むが、これらに限られない。本開示の実施形態では、コンピュータ可読記憶媒体は、命令実行システム、装置又はデバイスによって使用されることもそれらに結合して使用されることも可能なプログラムを含む又は記憶する任意の有形の媒体であり得る。本開示の実施形態では、コンピュータ可読信号媒体は、ベースバンド内において又はキャリアの一部として伝播された、コンピュータ可読プログラムコードを搬送しているデータ信号を含んでもよい。このような伝播されたデータ信号は、電磁信号、光信号、又はこれらの任意の適切な組み合せを含むが、これらに限られない様々な形態を採用することができる。コンピュータ可読信号媒体はまた、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよい。このコンピュータ可読信号媒体は、命令実行システム、装置又はデバイスによって使用されることもそれらに結合して使用されることも可能なプログラムを送信、伝播又は伝送することができる。コンピュータ可読媒体に含まれているプログラムコードは、電線、光ケーブル、RF(無線周波数)など、又はこれらの任意の適切な組合せを含むが、これらに限られない任意の適切な媒体で伝送することができる。
上記コンピュータ可読媒体は、上記電子機器に含まれるものであってもよく、個別に存在しており、該電子機器に組み込まれていないものであってもよい。上記コンピュータ可読媒体には1つ以上のプログラムが格納されており、上記1つ以上のプログラムが該電子機器によって実行されると、当該電子機器は、ユーザから入力した顔を含む第1の画像を受信するステップと、第1の画像をユーザに提示するステップと、バックグラウンドで入力された画像に基づいて生成された顔属性情報を制約とする事前トレーニングされた敵対的生成ネットワークに第1の画像を入力し、敵対的生成ネットワークから出力された第2の画像を得るステップと、バックグラウンドで敵対的生成ネットワークから出力された第2の画像が得られたことに応答して、第2の画像をユーザに提示するステップと、を実行する。
本出願の実施形態の動作を実行するためのコンピュータプログラムコードは、1つ又は複数のプログラミング言語、又はそれらの組み合せで書くことができる。プログラミング言語は、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語や、「C」言語又は類似するプログラミング言語などの従来の手続き型プログラミング言語を含む。プログラムコードは、完全にユーザのコンピュータ上で実行されることも、部分的にユーザのコンピュータ上で実行されることも、スタンドアロンソフトウェアパッケージとして実行されることも、部分的にユーザのコンピュータ上で実行されながら部分的にリモートコンピュータ上で実行されることも、又は完全にリモートコンピュータ又はサーバ上で実行されることも可能である。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されることができる。又は、外部のコンピュータに接続されることができる(例えば、インターネットサービスプロバイダーによるインターネット経由で接続される)。
図面におけるフローチャート及びブロック図は、本出願の様々な実施形態に係るシステム、方法、及びコンピュータプログラム製品の実施可能なアーキテクチャ、機能、及び動作を示している。ここで、フローチャート又はブロック図における各ブロックは、モジュール、プログラムセグメント、又はコードの一部を表すことができる。該モジュール、プログラムセグメント、又はコードの一部は、指定されたロジック関数を実施するための1つ又は複数の実行可能な命令を含む。また、いくつかの代替的な実施形態では、ブロックに記載されている機能は、図面に示されているものとは異なる順序で発生する場合があることにも留意されたい。例えば、連続して表されている2つのブロックは、実際にほぼ並行して実行されてもよく、時には逆の順序で実行されてもよい。これは関連する機能によって決まる。また、ブロック図及び/又はフローチャートにおける各ブロック、及びブロック図及び/又はフローチャートにおけるブロックの組み合せは、指定された機能又は動作を実行する専用のハードウェアベースのシステムで実施することも、又は専用のハードウェアとコンピュータの命令の組み合せで実施することも可能であることに留意されたい。
本開示の実施形態において説明されたユニットは、ソフトウェアまたはハードウェアによって実施され得る。説明されたユニットはプロセッサに内蔵されてもよい。例えば、「第1の画像入力ユニットと、第1の画像提示ユニットと、第2の画像出力ユニットと、第2の画像提示ユニットと、を含むプロセッサ」と説明することができる。なお、これらのユニットの名称は、場合によってはユニット自体を限定するものではない。例えば、第1の画像入力ユニットは、「ユーザが入力した顔を含む第1の画像を受信するユニット」と説明することもできる。
上記の説明は、あくまでも本出願の好ましい実施形態および応用技術原理の説明にすぎない。本出願に係る発明の範囲は、上記の技術的特徴の特定の組み合わせによって形成された技術的解決手段に限定されず、上記の発明の構想から逸脱しない範囲で上記の技術的特徴またはその同等の技術的特徴の任意の組み合せによって形成されたその他の技術的解決手段、例えば、上記の特徴と本出願に開示された同様の機能を有する技術的特徴(それだけに限定されない)とが相互に代替することによって形成された技術的解決手段もカバーしていることを当業者は理解すべきである。