(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-11
(45)【発行日】2024-01-19
(54)【発明の名称】髪型を変換するための方法、装置、デバイス及び記憶媒体
(51)【国際特許分類】
G06T 1/00 20060101AFI20240112BHJP
G06T 3/18 20240101ALI20240112BHJP
【FI】
G06T1/00 340Z
G06T3/00 770
【外国語出願】
(21)【出願番号】P 2021044705
(22)【出願日】2021-03-18
【審査請求日】2021-10-01
(31)【優先権主張番号】202010758598.6
(32)【優先日】2020-07-31
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000729
【氏名又は名称】弁理士法人ユニアス国際特許事務所
(72)【発明者】
【氏名】ポン、ハオティエン
(72)【発明者】
【氏名】チャオ、チェン
【審査官】鈴木 圭一郎
(56)【参考文献】
【文献】国際公開第2018/084241(WO,A1)
【文献】国際公開第2019/216879(WO,A1)
【文献】特開2012-128597(JP,A)
【文献】特開2002-083318(JP,A)
【文献】特開2014-090885(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 3/00
(57)【特許請求の範囲】
【請求項1】
端末デバイスまたはサーバによって実行される、髪型を変換するための方法であって、
取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定する第1決定ステップと、
前記顔の境界ボックスに従ってグリッドを作成するグリッド作成ステップと、
前記グリッドのうちの変形する必要がある髪型を含むグリッドのエッジを対象グリッドエッジとし、前記対象グリッドエッジ上の点の座標を取得された対象髪型関数に入力して前記対象グリッドエッジを曲線に変形し、曲線に変形された対象グリッドエッジに基づいて、変形されたグリッド曲線を取得するグリッド変形ステップと、
前記変形されたグリッド曲線と、変形前の前記グリッドにある髪型曲線と変形前の前記グリッドのエッジとの間の関連関係とに基づいて、前記顔画像の変形された髪型を決定する第2決定ステップと、を含む髪型を変換するための方法。
【請求項2】
前記顔の境界ボックスは偏向軸線を含み、前記髪型の少なくとも一部のグリッドのエッジは前記偏向軸線に平行な対象グリッドエッジを含み、
前記対象グリッドエッジ上の点の座標は前記偏向軸線に平行な座標軸に対応する座標である請求項1に記載の方法。
【請求項3】
前記グリッド変形ステップは、
前記偏向軸線と標準線との間の距離がゼロでないかを検出し、前記偏向軸線は前記顔の要点情報の両目の中心から
鼻先までの接続線に対応するグリッドエッジであり、前記標準線は顔画像の顔が正面顔である時顔の要点情報の両目の中心から鼻先までの接続線に対応するグリッドエッジであるステップと、
前記距離がゼロでない場合、
前記偏向軸線に平行で、前記偏向軸線の左側にある、前記偏向軸線から最もとおい前記対象グリッドエッジのうちのものを左標準グリッドエッジとして決定し、前記対象髪型関数を使用して左標準グリッドエッジを変形し、左標準髪型線を取得すること、及び
前記偏向軸線に平行で、前記偏向軸線の右側にある、前記偏向軸線から最も遠い前記対象グリッドエッジのうちのものを右標準グリッドエッジとして決定し、前記対象髪型関数を使用して右標準グリッドエッジを変形し、右標準髪型線を取得すること、のうちの少なくとも1つを実行するステップと、を含み、
前記第2決定ステップは、
前記左標準グリッドエッジと前記偏向軸線との間の距離と前記左標準髪型線と前記偏向軸線との間の距離との比を左側変形係数として使用し、前記左側変形係数を使用して、前記偏向軸線の左側にある、前記偏向軸線に平行な対象グリッドエッジを変形し、前記顔の左側の髪型線を取得し、前記偏向軸線の左側にある、前記対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、前記顔左側にある髪型線に対応する変形されたグリッド内の画素点を取得すること、及び
前記右標準グリッドエッジと前記偏向軸線との間の距離と前記右標準髪型線と前記偏向軸線との間の距離の比を右側変形係数として使用し、前記右側変形係数を使用し、前記偏向軸線の右側にある、前記偏向軸線に平行な対象グリッドエッジを変形し、前記顔右側にある髪型線を取得し、前記偏向軸線の右側にある、前記対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、前記顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得すること、のうちの少なくとも1つを含む請求項2に記載の方法。
【請求項4】
前記対象髪型関数は、
対象髪型曲線を取得するステップと、
前記対象髪型曲線をサンプリングして、複数のサンプリングポイントを取得するステップと、
前記複数のサンプリングポイントをフィッティングし、前記対象髪型関数を取得するステップと、に基づいて決定される請求項1に記載の方法。
【請求項5】
前記の前記複数のサンプリングポイントをフィッティングし、前記対象髪型関数を取得するのは、
前記複数のサンプリングポイントに対して、キュービックBスプラインに従ってフィッティングし、前記対象髪型関数を取得するステップを含む請求項4に記載の方法。
【請求項6】
髪型を変換するための装置であって、
取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定するように配置される第1決定モジュールと、
前記顔の境界ボックスに従ってグリッドを作成するように配置されるグリッド作成モジュールと、
前記グリッドのうちの変形する必要がある髪型を含むグリッドのエッジを対象グリッドエッジとし、前記対象グリッドエッジ上の点の座標を取得された対象髪型関数に入力して前記対象グリッドエッジを曲線に変形し、曲線に変形された対象グリッドエッジに基づいて、変形されたグリッド曲線を取得するように配置されるグリッド変形モジュールと、
前記変形されたグリッド曲線と、変形前の前記グリッドにある髪型曲線と変形前の前記グリッドのエッジとの間の関連関係とに基づいて、前記顔画像の変形された髪型を決定するように配置される第2決定モジュールと、を備える髪型を変換するための装置。
【請求項7】
前記顔の境界ボックスは偏向軸線を含み、前記髪型の少なくとも一部のグリッドのエッジは前記偏向軸線に平行な対象グリッドエッジを含み、
前記対象グリッドエッジ上の点の座標は前記偏向軸線に平行な座標軸に対応する座標である請求項6に記載の装置。
【請求項8】
前記グリッド変形モジュールはさらに、
前記偏向軸線と標準線との間の距離がゼロでないかを検出し、前記偏向軸線は前記顔の要点情報の両目の中心から
鼻先までの接続線に対応するグリッドエッジであり、前記標準線は顔画像の顔が正面顔である時顔の要点情報の両目の中心から鼻先までの接続線に対応するグリッドエッジであること、
前記距離がゼロでない場合、前記偏向軸線に平行で、前記偏向軸線の左側にある、前記偏向軸線から最もとおい前記対象グリッドエッジのうちのものを左標準グリッドエッジとして決定し、前記対象髪型関数を使用して左標準グリッドエッジを変形し、左標準髪型線を取得すること、及び、
前記偏向軸線に平行で、前記偏向軸線の右側にある、前記偏向軸線から最も遠い前記対象グリッドエッジのうちのものを右標準グリッドエッジとして決定し、前記対象髪型関数を使用して右標準グリッドエッジを変形し、右標準髪型線を取得すること、のうちの少なくとも1つを実行するように配置され、
前記第2決定モジュールはさらに、
前記左標準グリッドエッジと前記偏向軸線との間の距離と前記左標準髪型線と前記偏向軸線との間の距離との比を左側変形係数として使用し、前記左側変形係数を使用して、前記偏向軸線の左側にある、前記偏向軸線に平行な対象グリッドエッジを変形し、前記顔の左側の髪型線を取得し、前記偏向軸線の左側にある、前記対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、前記顔左側にある髪型線に対応する変形されたグリッド内の画素点を取得すること、及び
前記右標準グリッドエッジと前記偏向軸線との間の距離と前記右標準髪型線と前記偏向軸線との間の距離の比を右側変形係数として使用し、前記右側変形係数を使用し、前記偏向軸線の右側にある、前記偏向軸線に平行な対象グリッドエッジを変形し、前記顔右側にある髪型線を取得し、前記偏向軸線の右側にある、前記対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、前記顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得すること、のうちの少なくとも1つを実行するように配置される請求項7に記載の装置。
【請求項9】
前記装置は、
対象髪型曲線を取得するように配置される髪型取得モジュールと、
前記対象髪型曲線をサンプリングして、複数のサンプリングポイントを取得するように配置される髪型サンプリングモジュールと、
前記複数のサンプリングポイントをフィッティングして、前記対象髪型関数を取得するように配置される関数フィッティングモジュールと、をさらに備える請求項6に記載の装置。
【請求項10】
前記関数フィッティングモジュールはさらに、
前記複数のサンプリングポイントに対して、キュービックBスプラインに従ってフィッティングし、前記対象髪型関数を取得するように配置される請求項9に記載の装置。
【請求項11】
電子デバイスであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されるメモリと、を備え、
前記メモリに前記少なくとも1つのプロセッサによって実行されることができる命令が記憶され、前記命令は前記少なくとも1つのプロセッサによって実行され、前記少なくとも1つのプロセッサに請求項1-5のいずれかに記載の方法を実行させる電子デバイス。
【請求項12】
コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ命令は、コンピュータに請求項1~5のいずれかに記載の方法を実行させるために使用されることを特徴とする非一時的なコンピュータ可読記憶媒体。
【請求項13】
コンピュータプログラムであって、
プロセッサにより実行されると、請求項1~5のいずれかに記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術分野に関し、具体的に、画像処理技術、拡張現実技術及び深層学習技術分野に関し、特に、髪型を変換するための方法、装置、デバイス及び記憶媒体に関する。
【背景技術】
【0002】
髪型は、ユーザーの個性、自信、及び態度を表現することができる。従って、髪型は個人的な外観の重要な側面である。
【0003】
現在、ユーザーは、以下の方法で髪型を変え、(1)変形する髪型に対してアフィン変換を実行し、変更された髪型を取得する。(2)ジェネレーティブ敵対ネットワーク(CycleGAN)のトレーニングデータセットを大量に修正し、例えば、手動でCycleGANのトレーニングデータセットを大量に修正し、修正されたCycleGANのトレーニングデータセットを取得し、次に、修正されたCycleGANのトレーニングデータセットをトレーニングし、変換された髪型を取得する。
【発明の概要】
【0004】
本開示は、髪型を変換するための方法、装置、デバイス及び記憶媒体を提供する。
【0005】
本開示の一態様によれば、髪型を変換するための方法を提供し、該髪型を変換するための方法は、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定することと、顔の境界ボックスに従ってグリッドを作成することと、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得することと、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得することと、を含む。
【0006】
本開示の他の態様によれば、髪型を変換するための装置を提供し、該髪型を変換する装置は、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定するように配置される第1決定モジュールと、顔の境界ボックスに従ってグリッドを作成するように配置されるグリッド作成モジュールと、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得するように配置されるグリッド変形モジュールと、変形されたグリッド曲線に従って、顔画像の中の変形された髪型を決定するように配置される第2決定モジュール、を備える。
【0007】
本開示の第3態様によれば、電子デバイスを提供し、該電子デバイスは、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信接続されるメモリと、を備え、前記メモリに前記少なくとも1つのプロセッサによって実行されることができる命令が記憶され、前記命令は前記少なくとも1つのプロセッサによって実行され、前記少なくとも1つのプロセッサに第1態様に記載の方法を実行させることができることを特徴とする。
【0008】
本開示の第4態様によれば、前記コンピュータに第1態様に記載の方法を実行させるためのコンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体を提供する。
【0009】
本開示の第5態様によれば、コンピュータプログラムであって、前記コンピュータに第1態様に記載の方法を実行させるコンピュータプログラムを提供する。
【0010】
本開示の実施例による髪型を変換するための方法及び装置は、まず、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定し、その後、顔の境界ボックスに従ってグリッドを作成し、次に、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得し、最終的に、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得する。この過程において、変形する髪型をアフィン変換する処理または手動でCycleGANのトレーニングデータセットを大量に修正する処理による背景技術における変換された髪型歪みと比べて、対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形するため、該方法はグリッドの中の髪型の少なくとも一部のグリッドのエッジに対して変形することができ、顔の画像全体を変換する必要がなく、出力が正確であり、顔画像中の変形された髪型に歪みがない。
【0011】
なお、この部分で説明する内容は、本開示の実施例の肝心なまたは重要な特徴を特定することを意図するものではなく、本開示の範囲を限定することを意図するものでもない。本開示の他の特徴は以下の明細書を通じて容易に理解される。
【図面の簡単な説明】
【0012】
図面は、本開示をより良く理解するためのものであり、本出願を限定するものではない。
【
図1】本開示を適用できる例示的なシステムアーキテクチャである。
【
図2】本開示の髪型を変換するための方法による一実施例を示すフローチャートである。
【
図6a-6c】
図6(a)~
図6(c)は、対象髪型関数を決定する模式図である。
【
図7a-7b】
図7(a)と
図7(b)は、画素変形を示す一模式図である。
【
図8a-8b】
図8(a)と
図8(b)はグリッドを示す一模式図である。
【
図9】本開示の髪型を変換するための方法による他の実施例を示すフローチャートである。
【
図10】本開示の髪型を変換するための装置による一実施例を示す模式図である。
【
図11】本開示の実施例による髪型を変換するための方法を実現するための電子デバイスを示すブロック図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本願の例示的な実施例を説明し、理解に役に立つように、本願の実施例の様々な細部を含み、単に例示的なものと見なされる。従って、当業者は、本願の範囲と精神から逸脱せずに、ここで説明する実施例に様々な変更と修正を加えることができることを認識すべきである。同様に、明確かつ簡潔にするために、以下の説明では、既知の機能と構造の説明を省略する。
【0014】
図1は、本開示による髪型を変換するための方法または髪型を変換するための装置を適用できる実施例の例示的なシステムアーキテクチャ100である。
【0015】
図1に示すように、システムアーキテクチャ100は、端末デバイス101、102、103、ネットワーク104及びサーバ105を備えてもよい。ネットワーク104は、端末デバイス101、102、103及びサーバ105の間に通信リンクを提供する媒体である。ネットワーク104は、様々な接続タイプ、例えば有線、無線通信リンク或いは光ファイバケーブルなどを含んでもよい。
【0016】
ユーザーは、端末デバイス101、102、103を使用してネットワーク104を介してサーバ105と対話でき、メッセージなどを送受信するようにする。端末デバイス101、102、103に画像取得アプリケーション、変更髪型アプリケーション、マルチパーティインタラクティブアプリケーション、人工知能アプリケーションなどの様々なアプリケーションがインストールされることができる。
【0017】
端末デバイス101、102、103は、ハードウェアであってもよいし、ソフトウェアであってもよい。端末デバイス101、102、103はハードウェアである場合、文書処理アプリケーションをサポートする様々な電子デバイスであってもよく、スマート端末、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータなどを含むが、これらに制限されない。端末デバイス101、102、103はソフトウェアである場合、上記挙げられた電子デバイスにインストールされることができる。例えば分散サービスを提供するために使用される複数のソフトウェアまたはソフトウェアモジュールとして実現されてもよいし、単一のソフトウェアまたはソフトウェアモジュールとして実現されてもよい。ここで具体的に限定されない。
【0018】
サーバ105は、様々なサービスを提供するサーバ、例えば端末デバイス101、102、103のためにサポートを提供するバックグラウンドサーバである。バックグラウンドサーバは受信した要求などのデータに対して分析などの処理を行い、且つ処理結果を端末デバイスにフィードバックすることができる。
【0019】
説明する必要があるのは、サーバは、ハードウェアであってもよいし、ソフトウェアであってもよい。サーバはハードウェアである場合、複数のサーバからなる分散サーバークラスターとして実現されてもよいし、単一のサーバとして実現されてもよい。サーバはソフトウェアである場合、例えば分散サービスを提供するために使用される複数のソフトウェアまたはソフトウェアモジュールとして実現されてもよいし、単一のソフトウェアまたはソフトウェアモジュールとして実現されてもよい。ここで具体的に制限さない。
【0020】
実践には、本開示の実施例による髪型を変換するための方法は、端末デバイス101、102、103またはサーバ105により実行でき、髪型を変換するための装置は端末デバイス101、102、103またはサーバ105に取り付けられることもできる。
【0021】
理解すべきなのは、
図1中の端末装置、ネットワーク及びサーバの数は例示的なものだけである。実現の必要に応じて、任意の数の端末装置、ネットワーク及びサーバを備えることができる。
【0022】
従来の技術において、滑らかな髪型を生成する技術案として、変形する髪型をアフィン変換し、或いは、ジェネレーティブ敵対ネットワーク(CycleGAN)のトレーニングデータセットを大量に修正し、例えば手動で修正するものを採用する。変形する髪型をアフィン変換するのは、髪型が所在する画像全体をアフィン変換する可能性があり、この時、該画像内の髪型以外の領域(例えば顔の特徴)でもアフィン変換を行い、最終的に、変換された画像に歪みがあり、髪型変換の目的を達成できなく、さらに、CycleGANのトレーニングデータセットを大量に修正するのは、間違いなく計算量を増やし、計算には時間がかかり、メモリスペースが占められ、且つ髪型が複雑であるほど、対応するトレーニングデータセットも複雑になり、トレーニングの難しさをより増加し、特に、手動でCycleGANのトレーニングデータセットを大量に修正する場合、労働コストが高く、効率が低い一方で、最終的に生成されたトレーニングデータセットが人的要因の影響を受け、出力された髪型が不安定し、髪型に歪みがあり、CycleGANの後続のトレーニングにも問題が発生する。以上のように、上記の2種の方法とも、変形された髪型の歪みを引き起こすことになる。
【0023】
図2を参照し、
図2は本開示の髪型を変換するための方法による一実施例を示すフロー200である。該髪型を変換するための方法は以下のステップを含む。
【0024】
ステップ201、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定する。
【0025】
本実施例において、髪型を変換するための方法の実行主体(例えば
図1に示すような端末デバイスまたはサーバ)は、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定することができる。
【0026】
取得された顔画像の顔の要点情報に従って顔の境界ボックスを決定する方法は、従来の技術または将来の技術開発技術における顔の要点情報に従って顔の境界ボックスを決定する方法であってもよいが、本開示はこれを制限しない。例えば、顔の要点情報に従って顔の境界ボックスを決定する方法は、画像認識の方法と画像処理方法によって実現することができる。
【0027】
本開示の一例において、顔の要点情報は顔の要点と顔枠を含み、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定するのは、顔画像を認識して、顔画像の顔の要点と顔枠を決定するステップと、顔の要点と顔枠に基づいて、顔の境界ボックスを決定するステップと、を含んでもよい。
【0028】
対応的に、この例では、取得された顔画像は、取得された端末デバイス(例えば
図1に示すような端末デバイス103)に記憶された顔写真、或いは、該端末デバイスのカメラモジュールによって撮影された顔画像を含んでもよい。
【0029】
対応的に、この例では、顔画像を認識して、顔画像の顔の要点と顔枠を決定するのは、顔の要点検出を通じて顔画像内の顔の要点に対して検出、位置決め或いは顔の位置合わせを行うステップと、最終的に、顔の要点情報の要点領域位置を位置決めするステップと、を含み、顔の要点情報は眉、目、鼻、口、顔の輪郭など(
図3に示す)を含む。顔の要点検出方法は、モデルに基づくASM(Active Shape Model)、AAM(Active Appearnce Model)、カスケード形状に基づく回帰CPR(Cascaded pose regression)、或いは深層学習に基づく方法を含んでもよい。
【0030】
対応的に、この例では、顔の境界ボックスのサイズは、凸包のサイズによって決められ、凸包とは、特定の点を囲む最小の面積を持つ凸多角形を指す。言い換えると、平面上のいくつかの点を指定して、最小の点のセットを見つけ、1つの凸多角形を接続し、複数の特定の点がすべてこの多角形内または多角形上にあるようにし、この凸多角形は特定の点の二次元凸包である。
【0031】
本開示の実施例において、Andrewアルゴリズム、Grahamアルゴリズム、Melkmanアルゴリズムなどの方法によって二次元凸包を生成してもよく、上記アルゴリズムの選択には、具体的な実際の必要に応じて設定することができ、ここで繰り返して説明しない。一具体的な例において、
図4に示すように、該二次元凸包は、6辺がある凸多角形にすることができる。対応的に、この例では、顔の要点情報に基づいて顔の境界ボックスを決定する場合、一般的に、複数の境界ボックスを構造することができ、この複数の境界ボックスに対して、最終的に必要な境界ボックスとして、その中から1つを選択する。例えば、構造された境界ボックスから面積が最小のものを選択することができ、選択された境界ボックスを最終的に必要な顔の境界ボックスとして使用する。
【0032】
ステップ202、顔の境界ボックスに従ってグリッドを作成する。
【0033】
本実施例において、上記実行主体は顔の境界ボックスを複数の凸多面体に分割することができ、各凸多面体は1つのグリッドであり、且つ同じグリッドにある顔の境界ボックスの頂点を1つの代表点で示し、すべての代表点を接続して組み合わせ、さらにグリッドを作成する。グリッドの各小セル(cell)は1つのグリッドであり、スパンが3つのセルにまたがる三角形のみが簡略化された結果に保持され、グリッドが取得される。
【0034】
顔の境界ボックスに従ってグリッドを作成する方法は、従来の技術または将来の技術開発技術における顔の境界ボックスに従ってグリッドを作成する方法であってもよいが、本開示はこれを制限しない。例えば、顔の境界ボックスによるグリッド作成の方法は、空間クラスタリングアルゴリズムまたは顔グリッドモデルの方法によって実現されることができる。
【0035】
ステップ203、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得する。
【0036】
本実施例において、上記実体は以下のようないくつかの方法によって、グリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを決定することができる。
【0037】
(1)予めトレーニングされたグリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを決定するモデルにより選択したり、予め設定されたルールに従ってグリッドから髪型を含む少なくとも一部のグリッドのエッジを決定したりすることができる。
【0038】
(2)ユーザーにより自分で設定し、例えばユーザーは自分の好みに応じてグリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを決定し、即ちユーザーによりグリッドのうちの変形する必要があるグリッドエッジを決定する。
【0039】
グリッドのうちの変形する必要があるグリッドエッジを決定した後、取得された対象髪型関数を使用してグリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形することができ、変形されたグリッド曲線を取得するようにする。
【0040】
本開示のステップ203に対するいくつかの選択可能な実現形態において、ステップ203は、対象グリッドのエッジ上の点の座標を対象髪型関数に入力し、変形された対象グリッドエッジを取得することを含んでもよく、点の座標は偏向軸線に平行な座標軸に対応する座標である。
【0041】
本開示の上記実施例の髪型を変換するための方法及び装置は、グリッドのうちの髪型を含む少なくとも一部のグリッドのエッジ上の点の座標を対象髪型関数に入力し、変形されたグリッド曲線を取得し、次に、変形されたグリッド曲線に従って、顔画像の中の変形された髪型を決定し、さらにグリッドの中の髪型の少なくとも一部のグリッドのエッジに対して変形することによって、顔画像全体を変換する必要がなく、出力が正確であり、顔画像中の変形された髪型に歪みがない。
【0042】
ステップ204、変形されたグリッド曲線に従って、顔画像の中の変形された髪型を決定する。
【0043】
本実施例において、上記実行主体は、ステップ203では対象髪型関数を使用してグリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形した後に、変形前のグリッドにある髪型曲線に対して、変形されたグリッド曲線と適応する変形を行う。
【0044】
具体的に、変形前のグリッドにある髪型曲線と変形前のグリッドのエッジとの間の関連関係を作成することができ、その後、該関連関係と変形されたグリッド曲線に従って、変形された髪型曲線を決定する。例えば、変形前のグリッドにある髪型曲線が左側と右側の変形前のメッシュのエッジの間に配置されるという制約関係を確立し、それにより、変形されたグリッド曲線に従って、変形されたグリッドにある髪型曲線を左側と右側の変形前のメッシュのエッジの間に配置させ、顔画像の中の変形された髪型を取得する。
【0045】
本開示の上記実施例による髪型を変換するための方法及び装置は、まず、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定し、その後、顔の境界ボックスに従ってグリッドを作成し、その後、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得し、最終的に、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得する。この過程において、変形する髪型をアフィン変換する処理または手動でCycleGANのトレーニングデータセットを大量に修正する処理による背景技術における変換された髪型歪みと比べて、対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形するため、該方法はグリッドの中の髪型の少なくとも一部のグリッドのエッジに対して変形することができ、顔画像全体を変換する必要がなく、出力が正確であり、顔画像中の変形された髪型に歪みがない。
【0046】
本開示によるステップ203に対するいくつかの選択可能な実現形態において、ステップ203は、対象グリッドのエッジ上の点の座標を対象髪型関数に入力し、変形された対象グリッドエッジを取得し、点の座標は偏向軸線に平行な座標軸に対応する座標であることと、変形された対象グリッドエッジに基づいて、変形されたグリッド曲線を決定することと、を含んでもよい。
【0047】
一具体的な例において、
図5に示すように、対象グリッドエッジ501上の点の座標を対象髪型関数に入力し、変形された対象グリッドエッジ502を取得することができ、次に、変形された対象グリッドエッジ502に基づいて、変形されたグリッド曲線504(即ちすべての変形された対象グリッドエッジ)を決定する。
【0048】
本実現形態において、グリッドの最右側のグリッドエッジをX軸、髪型の少なくとも一部のグリッドのエッジの最上側のグリッドエッジをY軸とする座標系を作成することができる。その後、対象グリッドエッジ上の点の座標を取得する。次に、対象グリッドエッジ上の点の座標を対象髪型関数に入力することによって、対象グリッドエッジ上の点の座標を変形された対象グリッドエッジ上の点の座標に逐一にマッピングする。
【0049】
理解すべきなのは、上記の座標系の作成方法は、座標系を作成する例示だけであり、座標系を限定するものではない。例えば、当業者は、グリッドの最左側のグリッドエッジをX軸、髪型の少なくとも一部のグリッドのエッジの最上側のグリッドエッジをY軸として座標系を作成してもよい。或いは、他の座標系の作成方法を使用して座標系を作成することによって、対象グリッドエッジ上の点の座標を取得することができる。
【0050】
本開示によるいくつかの選択可能な実現形態において、対象髪型関数は、対象髪型曲線を取得するステップと、対象髪型曲線に対して均一なサンプリングを行うステップと、サンプリングポイントをフィッティングして、対象髪型関数を取得するステップと、によって決定されることができる。
【0051】
本実現形態において、フィッティング方法は、補間、研磨、最小二乗であってもよい。対象髪型関数をフィッティングするという目的を最終的に達成できる限り、本開示の保護範囲に含めることができる。
【0052】
本実現形態において、対象髪型曲線を使用して実際の髪型曲線をシミュレートしたため、該対象髪型曲線に基づいて得られた対象髪型関数を使用してグリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形し、決定された顔画像内の変形された髪型をユーザーの実際の髪型に一致するようにし、ユーザーエクスペリエンスを向上させる。
【0053】
上記実施例によるいくつかの選択可能な実現形態において、対象髪型曲線に対して均一なサンプリングを行った後、キュービックBスプラインを採用してサンプリングされた対象髪型曲線をフィッティングして、対象髪型関数を取得するようにする。
【0054】
本実現形態において、サンプリングポイントをフィッティングして、対象髪型関数を取得するのは、複数のサンプリングポイントに対して、キュービックBスプラインに従ってフィッティングし、対象髪型関数を取得することを含む。
【0055】
一具体的な例において、
図6(a)に示すように、対象髪型曲線図を描き、次に、
図6(b)に示すように、該対象髪型曲線図に対して均一なサンプリングを行い、サンプリングポイントを取得し、最終的に、
図6(c)に示すように、キュービックBスプラインに従って曲線フィッティングを完成し、対象髪型曲線の対象髪型関数を取得する。
【0056】
本開示において、キュービックBスプラインに基づいてフィッティングを完成し、フィッティングされた髪型関数に対応する髪型をより滑らかにさせ、対象髪型曲線図により一致させ、それによりフィッティングされた関数の表現の正確さを向上させる。
【0057】
理解できるのは、上記の実施例は、髪型を変換するための方法の例示的な実施例だけであり、髪型を変換するための方法を限定するためのものである。例えば、上記髪型を変換するための方法は、1つまたは複数の顔画像内の変形された髪型を同時に表示するステップを含んでもよい。また、本開示に係る髪型変換は、性別による髪型の変換だけでなく、同性間の髪型の変換に限定されなく、ここで繰り返して説明しない。
【0058】
図9を参照し続き、
図9は、本開示の髪型を変換するための方法による他の実施例を示すフロー900である。該髪型を変換するための方法は、以下のステップを含む。
【0059】
ステップ901、取得された顔画像の顔の要点情報に従って、境界ボックスを決定する。
【0060】
本実施例のステップ901は前述の実施例のステップ201と同様であり、ステップ901の具体的な実現形態は、前述実施例におけるステップ201の説明をそれぞれ参照でき、ここで繰り返して説明しない。
【0061】
ステップ902、顔の境界ボックスに従ってグリッドを作成し、顔の境界ボックスは偏向軸線を含む。
【0062】
本実施例において、顔の境界ボックスは偏向軸線を含んでもよく、該偏向軸線は顔の要点情報のうちの両目の中心から鼻先までの接続線に対応するグリッドエッジであり、正面顔に対する顔の偏向方向を示すために使用される。顔の境界ボックスの方向は、偏向軸線の方向によって決定されることができる。例えば、偏向軸線が垂直方向に近い場合(即ち偏向軸線と垂直方向との夾角が所定の閾値より小さい)、径方向境界ボックスを使用し、偏向軸線が水平方向に近い場合(即ち偏向軸線と水平方向との夾角が所定の閾値より小さい)、軸向境界ボックスを使用する。
【0063】
径方向境界ボックスを例として、偏向軸線が垂直方向にある場合、顔画像を調整する必要がなく、偏向軸線が垂直方向でない場合、顔画像を調整することができ、調整された顔画像の顔の偏向軸線を垂直方向にするようにする。この時、標準線(例えば
図5の「503」)は顔画像の顔が正面顔である時に顔の要点情報の両目の中心から鼻先までの接続線に対応する垂直方向的グリッドエッジである。
【0064】
なお、本実施例のステップ902は前述実施例のステップ202に説明される操作及び特徴をさらに含み、ここで繰り返して説明しない。
【0065】
ステップ903、偏向軸線と標準線との間の距離がゼロでないかを検出する。
【0066】
本実施例において、偏向軸線と標準線との間の距離がゼロでないかを検出する方法は、従来の技術または将来の技術開発技術における偏向軸線と標準線との間の距離がゼロでないかを検出する方法であってもよいが、本開示はこれを制限しない。例えば、偏向軸線と標準線との間の距離がゼロでないかを検出する方法は画像認識方法と距離検出方法を使用することができる。一具体的な例において、例えば
図8(a)では、偏向軸線の座標と標準線の座標を検出し、次に、偏向軸線の座標と標準線の座標差を算出し、さらに座標差に基づいて該座標差が0でないかを判断する。
【0067】
ステップ904、距離がゼロでない場合、偏向軸線に平行で、偏向軸線の左側にあり、且つ偏向軸線から最も遠い対象グリッドエッジのうちのものを、左標準グリッドエッジとして決定し、対象髪型関数を使用して左標準グリッドエッジを変形して、左標準髪型線を取得する。
【0068】
本実施例において、ステップ903では、偏向軸線と標準線との間の距離は0でないことが判明した場合、グリッドの左側にある、偏向軸線に平行で、且つ偏向軸線から最も遠い鵜対象グリッドエッジを左標準グリッドエッジとして決定することができる。
【0069】
一具体的な例において、
図8(a)に示すように、グリッドの最左側のグリッドエッジ801aは左標準グリッドエッジである。
【0070】
ステップ905、左標準グリッドエッジと偏向軸線との間の距離と左標準髪型線と偏向軸線との間の距離の比を左側変形係数として使用し、左側変形係数を使用して、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔の左側の髪型線を取得し、偏向軸線の左側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の左側の髪型線に対応する変形されたグリッド内の画素点を取得する。
【0071】
本実施例において、ステップ904では左標準グリッドエッジを決定した後、左標準グリッドエッジと偏向軸線との間の距離と左標準髪型線と偏向軸線との間の距離の比を使用し、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジを適応変形する。
【0072】
左標準グリッドエッジを決定した後に、左標準グリッドエッジと偏向軸線との間の距離と左標準髪型線と偏向軸線との間の距離の比に従って、左側変形係数を決定する。一具体的な例では、
図8(a)に示すように、まず、取得された左標準グリッドエッジ801aと偏向軸線802aの座標に従って、左標準グリッドエッジと偏向軸線との間の距離を取得し、その後、取得された左標準髪型線803aと偏向軸線802aの座標に従って、左標準髪型線と偏向軸線との間の距離を取得し、最終的に、左標準グリッドエッジ801aと偏向軸線802aとの間の距離と左標準髪型線803aと偏向軸線802aとの間の距離の比に基づいて、左側変形係数を決定する。
【0073】
左標準グリッドエッジを決定した後に、取得された対象髪型関数を使用して左標準グリッドエッジを変形することができ、左標準髪型線を取得するようにする。一具体的な例において、
図7(a)に示すように、左標準グリッドエッジと偏向軸線との間の距離(K1)、及び左標準髪型線と偏向軸線との間の距離(K2)の比、即ちK1/K2を画素変形比として、次に、
図7(b)に示すように、K1/K2=L1/L2に従って、左標準グリッドエッジを変形して、左標準髪型線を取得するようにし、L1は左標準グリッドエッジ上の点の画素値であり、L2は左標準髪型線上の点の画素値である。
【0074】
左標準グリッドエッジと偏向軸線との間の距離と左標準髪型線と偏向軸線との間の距離の比を左側変形係数として使用した後、左側変形係数を使用して、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジを変形することができ、顔の左側の髪型線を取得するようにし、偏向軸線の左側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の左側の髪型線に対応する変形されたグリッド内の画素点を取得する。
【0075】
一具体的な例において、
図8(a)に示すように、グリッドの最右側のグリッドエッジをX軸、髪型の少なくとも一部のグリッドのエッジの最上側のグリッドエッジをY軸として、偏向軸線はY=1のグリッドエッジであり、次に「両目の中心から鼻先まで」の線分を偏向軸線として、次に、
図8(a)の偏向軸線と標準線との間の距離を決定し、標準線は、偏向軸線に平行である顔画像のグリッドエッジの中心対称軸であり、この時、顔は正面顔であり、
図8(a)の偏向軸線と標準線との間の距離は0でない場合、グリッドの最左の1つのグリッドエッジ(即ち、左標準グリッドエッジ801a)を対象髪型関数位置まで変形し、この時、該最左の1つのグリッドエッジの内部画素を
図7(a)~
図7(b)に記載の左側変形係数に従って変形し、顔の左側の髪型線を取得し、上から下までの縦軸をX=0からX=1と見なし、該偏向軸線が所在する軸をY=0と見なし、偏向軸線が所在する軸をY=1と見なす。
【0076】
説明する必要があるのは、グリッドの最左側のグリッドエッジをX軸、髪型の少なくとも一部のグリッドのエッジの最上側のグリッドエッジをY軸としてもよく、偏向軸線はY=1のグリッドエッジである。
【0077】
ステップ906、距離がゼロでない場合、偏向軸線に平行で、偏向軸線の右側にあり、偏向軸線から最も遠い対象グリッドエッジのうちのものを右標準グリッドエッジとして決定し、対象髪型関数を使用して右標準グリッドエッジを変形して、右標準髪型線を取得する。
【0078】
本実施例において、ステップ903では、偏向軸線と標準線との間の距離は0でないことが判明した場合、グリッドの右側にある偏向軸線に平行で、且つ偏向軸線から最も遠い対象グリッドエッジを、右標準グリッドエッジとして決定することができる。一具体的な例において、
図8(b)に示すように、グリッドの最右側のグリッドエッジは右標準グリッドエッジである。
【0079】
右標準グリッドエッジを決定した後に、取得された対象髪型関数を使用して右標準グリッドエッジを変形することができ、右標準髪型線を取得するようにする。一具体的な例において、
図8(b)に示すように、右標準グリッドエッジ801b上の点の座標を対象髪型関数に入力し、変形された右標準グリッドエッジ802bを取得し、次に、変形された右標準グリッドエッジ802bに基づいて、変形されたグリッド曲線を決定する。
【0080】
ステップ907、右標準グリッドエッジと偏向軸線との間の距離と右標準髪型線と偏向軸線との間の距離の比を右側変形係数として使用し、右側変形係数を使用し、偏向軸線の右側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔の右側の髪型線を取得し、偏向軸線の右側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得する。
【0081】
本実施例において、ステップ906では、右標準グリッドエッジを決定した後、右標準グリッドエッジと偏向軸線との間の距離と右標準髪型線と偏向軸線との間の距離の比を使用して、偏向軸線の右側にある、偏向軸線に平行である対象グリッドエッジを適応変形することができる。
【0082】
右標準グリッドエッジを決定した後に、右標準グリッドエッジと偏向軸線との間の距離と右標準髪型線と偏向軸線との間の距離の比に従って、右側変形係数を決定することができる。右標準グリッドエッジを決定した後に、取得された対象髪型関数を使用して右標準グリッドエッジを変形することができ、右標準髪型線を取得するようにする。その後、右側変形係数を使用して、偏向軸線の右側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔の右側の髪型線を取得し、偏向軸線の右側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得する。
【0083】
理解できるのは、偏向軸線の右側にある髪型線に対する処理プロセスは、左側変形係数を使用して、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔の左側の髪型線を取得するプロセスと類似するため、ここで繰り返して説明しない。
【0084】
本開示の実施例において、
図8(a)と
図8(b)のグリッドは例示的なものだけであり、該グリッドの数が
図8(a)と
図8(b)のグリッドの数と同様である理解することができなく、実際の使用では、グリッドの数は0~255に達でき、具体的に、髪型変形の精度に応じて決定でき、ここで繰り返して説明しない。
【0085】
説明する必要があるのは、ステップ901~ステップ907の実行順序は、ステップ901、ステップ902、ステップ903、ステップ904及びステップ905を実行し、及びステップ906とステップ907を同時に実行し、髪型を変換するための手段を取得する。或いは、最初にステップ901、ステップ902、ステップ903、ステップ906及びステップ907を実行し、その後、ステップ904とステップ905を実行し、髪型を変換するための手段を取得する。或いは、ステップ901、ステップ902、ステップ903、ステップ904及びステップ905を実行し、それと同時に、右側を変更しなく、または
図2に示すような実施例の方法によって変更することによって、髪型を変換するための手段を取得し、或いは、ステップ901、ステップ902、ステップ903、ステップ906及びステップ907を実行し、それと同時に、左側を変更しなく、または
図2に示すような実施例の方法によって変更することによって、髪型を変換するための手段を取得し、本開示の技術案に含めることができる。本開示はこれを制限しない。
【0086】
本開示の実施例において、グリッドのエッジを変形した後に、左側変形係数(即ち、左標準グリッドエッジと偏向軸線との間の距離と左標準髪型線と偏向軸線との間の距離の比)を使用して、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジの変形を実現し、偏向軸線の左側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の左側の髪型線に対応する変形されたグリッド内の画素点を取得し、及び右側変形係数(即ち、右標準グリッドエッジと偏向軸線との間の距離と右標準髪型線と偏向軸線との間の距離の比)を使用して、偏向軸線の右側にある、偏向軸線に平行である対象グリッドエッジの変形を実現し、偏向軸線の右側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得することによって、グリッドエッジの変形の上で、点の画素の変形を協調し、グリッドのエッジとグリッドのエッジ上の点の画素の同期変形を確保し、さらに、後続で決定された顔画像の変形された髪型に歪みがないようにする。
【0087】
当業者は理解できるのは、従来の技術における男性から女性へのビデオ特殊効果ゲームプレイはCycleGAN画像翻訳アーキテクチャによって生成され、ネットワークアーキテクチャは、安定した髪型出力を確保するために、完全に一致し、堅牢な髪型入力を使用してトレーニングし、最終的に製造した女性の顔の髪型形状が単一で、単純すぎて、操作や修正できない問題が発生し、上記の実施例における髪型を変換するための方法を使用し、生成された顔の髪型が豊富で多様であり、拡張現実の顔の性別変換のアプリケーションにおけるトレーニングサンプルが少なすぎることによって引き起こされる男性から女性への効果の変形された女性が単一で、過度に単純で、制御できない問題を解決することもできる。具体的に、本開示による技術案は、後処理方法によってCycleGANで生成された画像を加工することができ、それにより、予めカスタマイズされた髪型形状に応じて、CycleGANで生成された画像をリアルタイムで確実に対象髪型画像に変形する。
【0088】
図10に示すように、本実施例の髪型を変換するための装置1000は、第1決定モジュール1001、グリッド作成モジュール1002、グリッド変形モジュール1003及び第2決定モジュール1004を備えてもよい。第1決定モジュールは、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定するように配置され、グリッド作成モジュール1002は、前記顔の境界ボックスに従ってグリッドを作成するように配置され、グリッド変形モジュール1003は、取得された対象髪型関数を使用して前記グリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形し、変形されたグリッド曲線を取得するように配置され、第2決定モジュール1004は、前記変形されたグリッド曲線に従って、前記顔画像の変形された髪型を決定するように配置される。
【0089】
本実施例において、髪型を変換するための装置1000において、第1決定モジュール1001、グリッド作成モジュール1002、グリッド変形モジュール1003及び第2決定モジュール1004の具体的な処理及そのもたらす技術的効果は
図2の対応する実施例におけるステップ201-204の関連説明をそれぞれ参照でき、ここで繰り返して説明しない。第1決定モジュール1001と第2決定モジュール1012は同じモジュール、或いは異なる2つのモジュールであってもよい。
【0090】
本実施例のいくつかの選択可能な実現形態において、顔の境界ボックスは偏向軸線を含み、髪型の少なくとも一部のグリッドのエッジは偏向軸線に平行な対象グリッドエッジを含み、グリッド変形モジュール1003はさらに、対象グリッドのエッジ上の点の座標を対象髪型関数に入力し、変形された対象グリッドエッジを取得し、点の座標は偏向軸線に平行な座標軸に対応する座標であり、変形された対象グリッドエッジに基づいて、変形されたグリッド曲線を決定するように配置される。
【0091】
本実施例のいくつかの選択可能な実現形態において、グリッド変形モジュール1003はさらに、偏向軸線と標準線との間の距離がゼロでないかを検出し、偏向軸線は顔の要点情報の両目の中心から鼻先までの接続線に対応するグリッドエッジであり、標準線は顔画像の顔が正面顔である時の顔の要点情報の両目の中心から鼻先までの接続線に対応するグリッドエッジであり、距離がゼロでない場合、偏向軸線に平行で、偏向軸線の左側にあり、且つ偏向軸線から最も遠い対象グリッドエッジのうちのものを、左標準グリッドエッジとして決定し、対象髪型関数を使用して左標準グリッドエッジを変形し、左標準髪型線を取得するように配置され、第2決定モジュール1004はさらに、左標準グリッドエッジと偏向軸線との距離と左標準髪型線と偏向軸線との距離の比を左側変形係数として、左側変形係数を使用して、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔の左側の髪型線を取得し、偏向軸線の左側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の左側の髪型線に対応する変形されたグリッド内の画素点を取得するように配置される。
【0092】
本実施例のいくつかの選択可能な実現形態において、該グリッド変形モジュール1003はさらに、距離がゼロでない場合、偏向軸線に平行で、偏向軸線の右側にある、偏向軸線から最も遠い対象グリッドエッジのうちのものを右標準グリッドエッジとして決定し、対象髪型関数を使用して右標準グリッドエッジを変形して、右標準髪型線を取得するように配置され、第2決定モジュール1004はさらに、右標準グリッドエッジと偏向軸線との間の距離と右標準髪型線と偏向軸線との間の距離の比を右側変形係数として使用し、右側変形係数を使用して、偏向軸線の右側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔右側の髪型線を取得し、偏向軸線の右側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得するように配置される。
【0093】
本実施例のいくつかの選択可能な実現形態において、該髪型を変換するための装置は、
対象髪型曲線を取得するように配置される髪型取得モジュール(図面には図示せず)と、
対象髪型曲線をサンプリングし、複数のサンプリングポイントを取得するように配置される髪型サンプリングモジュール(図面には図示せず)と、
複数のサンプリングポイントをフィッティングして、対象髪型関数を取得するように配置される関数フィッティングモジュール(図面には図示せず)と、をさらに備える。
【0094】
本実施例のいくつかの選択可能な実現形態において、関数フィッティングモジュールはさらに、複数のサンプリングポイントに対して、キュービックBスプラインに従ってフィッティングし、対象髪型関数を取得するように配置される。
【0095】
本開示の実施例によれば、本開示は電子デバイスと読み取り可能な記憶媒体をさらに提供する。
【0096】
図11に示すように、本開示の実施例による髪型を変換するための方法の電子デバイスのブロック図である。電子デバイスは、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバー、メインフレーム、その他の適切なコンピュータなどのさまざまな態様のデジタルコンピュータを表すことを目的とする。電子デバイスは、パーソナルデジタル処理、セルラー方式の携帯電話、スマートフォン、ウェアラブルデバイス、及び他の同様のコンピューティング装置などのさまざまな態様のモバイル装置を表すこともできる。本文に示されるコンポーネント、それらの接続及び関係、ならびにそれらの機能は、単なる例であり、本文に記載されるおよび/または主張される本開示の実現を限定することを意図しない。
【0097】
図11に示すように、該電子デバイスは、1つまたは複数のプロセッサ1101、メモリ1102、及び高速インターフェース及び低速インターフェースを備える各コンポーネントを接続するためのインターフェースを備える。各コンポーネントは、異なるバスで相互に接続されており、共通のマザーボードにインストールしてもよいし、必要に応じて、他の方法でインストールしてもよい。プロセッサは、GUIのグラフィック情報を外部入/出力装置(インターフェースに結合されたディスプレイデバイスなど)に表示できるように、メモリ内またはメモリ上に記憶された命令を含む電子デバイスで実行された命令を処理でき、他の実施例では、必要とすれば、複数のプロセッサおよび/または複数のバスを、複数のメモリ及び複数のメモリと共に使用することができる。同様に、複数の電子デバイスを接続でき、各デバイスはいくつかの必要なオペレーティングを提供する(例えば、サーバーアレイ、ブレードサーバーグループ、またはマルチプロセッサシステムとする)。
図11では、1つのプロセッサ1101を例にする。
【0098】
メモリ1102は、即ち、本願による非一時的なコンピュータ読み取り可能な記憶媒体である。ただし、前記メモリは、少なくとも1つのプロセッサによって実行可能な命令を記憶するので、前記少なくとも1つのプロセッサに本開示による髪型を変換するための方法を実行させる。本開示の非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータに本開示による髪型を変換するための方法を実行させるためのコンピュータ命令を記憶する。
【0099】
メモリ1102は非一時的なコンピュータ読み取り可能な記憶媒体として、非一時的なソフトウェアプログラム、非一時的なコンピュータによって実行可能なプログラム、及びモジュールを記憶することに用いられ、例えば、本開示の実施例の髪型を変換するための方法に対応するプログラム命令/モジュール(例えば、
図10に示すような決定モジュール1001、作成モジュール1002、処理モジュール1003)。プロセッサ1101は、メモリ1102に記憶された非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち、上記方法の実施例の髪型を変換するための方法を実現する。
【0100】
メモリ1102は、記憶プログラム領域と記憶データ領域を含んでもよく、ただし、記憶プログラム領域は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶してもよく、記憶データ領域は、プッシュ情報の電子デバイスの使用のため、作成されたデータなどを記憶することができ、また、メモリ1102は、高速ランダムアクセスメモリを含んでもよく、さらに非一時的なメモリを含んでもよく、例えば、少なくとも1つの磁気ディスク記憶デバイス、フラッシュメモリデバイス、または他の非一時的なソリッドステートストレージデバイスなどの非一時的なメモリを含んでもよく、いくつかの実施例では、メモリ1102は、任意選択で、プロセッサ1101に対してリモートで設定されたメモリを含み、これらのリモートメモリは、ネットワークを介して画像処理の電子デバイスに接続されることができる。上記のネットワークの実施例は、インターネット、企業イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせなどを含むが、これらに限定されない。
【0101】
髪型を変換するための方法の電子デバイスは、入力装置1103と出力装置1104を備えてもよい。プロセッサ1101、メモリ1102、入力装置1103及び出力装置1104は、バスまたは他の方法で接続されてもよいが、
図11にバスによる接続を例にする。
【0102】
入力装置1103は、入力デジタルまたは文字情報を受信し、画像処理の電子デバイスのユーザー設定及び機能制御に関連するキー信号入力を生成することができる。例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ以上のマウスボタン、トラックボール、ジョイスティック、その他の入力装置。出力装置1104は、ディスプレイデバイス、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モーター)などを備えてもよい。該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを備えてもよい。いくつかの実施例では、ディスプレイデバイスはタッチスクリーンであってもよい。
【0103】
ここでは説明されるシステム及び技術の様々な実施例は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実現できる。これらの様々な実施例は、以下を含んでもよく、1つまたは複数のコンピュータプログラムに実施され、該1つまたは複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行および/または解釈されてもよく、該プログラマブルプロセッサは、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータと命令を受信し、そのデータと命令をストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置に送信できる専用または汎用のプログラマブルプロセッサであってもよい。
【0104】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含み、高レベルのプロセス及び/またはオブジェクト指向プログラミング言語、及び/またはアセンブリ/機械言語を利用してこれらのコンピュータプログラムを実施することができる。本文で使用されるように、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために用いられる任意のコンピュータプログラム製品、デバイス、および/または装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジック装置(PLD)を指す。機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために用いられる任意の信号を指す。
【0105】
ユーザーとの対話を提供するために、コンピュータにここでは説明されるシステム及び技術を実施してもよく、該コンピュータは、ユーザーに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニター)、及びキーボードとポインティング装置(マウスやトラックボールなど)を備え、ユーザーが該キーボードとポインティング装置を介してコンピュータに入力を提供することができる。他のタイプの装置もユーザーとの対話を提供するために用いられ、例えば、ユーザーに提供されるフィードバックは、任意の形式の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、任意の形式(音入力、音声入力、または触覚入力を含み)でユーザーからの入力を受信することができる。
【0106】
ここでは説明されるシステムと技術は、バックエンドコンポーネント(例えば、データサーバー)を含むコンピュータシステム、ミドルウェアコンポーネント(例えば、アプリケーションサーバー)を含むコンピュータシステム、またはフロントエンドコンポーネントを含むコンピュータシステム(例えば、グラフィカルユーザーインターフェイスまたはWebブラウザーを備え、ユーザーが該ラフィカルユーザーインターフェイスまたはWebブラウザーでシステムと技術の実施例と対話できるユーザーのコンピュータ)、またはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントを含む任意の組み合わせに実施してもよく、システムのコンポーネントは、任意の形式または媒体のデジタルデータ通信(通信ネットワークなど)を介して相互に接続してもよい。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、ブロックチェーンネットワークが挙げられる。
【0107】
コンピュータシステムは、クライアント及びサーバを含んでもよい。クライアントとサーバは、一般的に互いに離れており、通常は通信ネットワークを介して対話する。対応するコンピュータ上で、互いにクライアント/サーバ関係を持つコンピュータプログラムを実行することによりクライアントとサーバの関係を生成する。サーバはクラウドサーバーであってもよく、クラウドコンピューティングサーバーまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムのホスト製品であり、従来の物理ホストとVPSサービス(「Virtual Private Server」、または「VPS」と略称)に存在している管理が困難でビジネスのスケーラビリティが弱いという欠陥を解決するようにする。
【0108】
本開示の上記実施例による髪型を変換するための方法及び装置は、まず、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定し、その後、顔の境界ボックスに従ってグリッドを作成し、その後、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得し、最終的に、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得する。この過程において、変形する髪型をアフィン変換する処理または手動でCycleGANのトレーニングデータセットを大量に修正する処理による背景技術における変換された髪型歪みと比べて、対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形するため、該方法はグリッドの中の髪型の少なくとも一部のグリッドのエッジに対して変形することができ、顔画像全体を変換する必要がなく、出力が正確であり、顔画像中の変形された髪型に歪みがない。
【0109】
なお、上記に示される様々な形態のプロセスを使用してソートし、ステップを追加し、削除できる。例えば、本願に記載される各ステップは、本願に開示される技術的解決手段の所望の結果を達成できる限り、並列、順次、または異なる順序で実行されてもよく、ここでは本文に限定されない。
【0110】
上記の具体的な実施形態は、本願の特許範囲を限定するものではない。当業者は、設計要件及び他の要因に応じて、様々な修正、組み合わせ、サブ組み合わせ、及び置換を行うことができると理解すべきである。本願の精神及び原則を逸脱せずに行われる補正、等価置換、改良などはすべて本願の特許範囲に含まれるべきである。