(57)【要約】      （修正有）【課題】画像処理技術によって髪型を変換する方法、装置、デバイス及び記憶媒体を提供する。【解決手段】髪型を変換するための方法２００は、取得した顔画像の顔の要点情報に従って、顔の境界ボックスを決定し２０１、顔の境界ボックスに従ってグリッドを作成し２０２、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得し２０３、変形されたグリッド曲線に従って、顔画像の中の変形された髪型を決定する２０４。これにより、顔画像全体を変換する必要がなく、出力が正確であり、顔画像中の変形された髪型の歪みがない。【選択図】図２
2022003505.tif 000002
【特許請求の範囲】
【請求項１】
髪型を変換するための方法であって、
取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定することと、
前記顔の境界ボックスに従ってグリッドを作成することと、
取得された対象髪型関数を使用して前記グリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形し、変形されたグリッド曲線を取得することと、
前記変形されたグリッド曲線に従って、前記顔画像の変形された髪型を決定することと、を含む髪型を変換するための方法。
【請求項２】
前記顔の境界ボックスは偏向軸線を含み、前記髪型の少なくとも一部のグリッドのエッジは前記偏向軸線に平行な対象グリッドエッジを含み、
前記取得された対象髪型関数を使用して前記グリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形し、変形されたグリッド曲線を取得するのは、
前記対象グリッドエッジ上の点の座標を前記対象髪型関数に入力し、変形された対象グリッドエッジを取得し、点の座標は前記偏向軸線に平行な座標軸に対応する座標であるステップと、
前記変形された対象グリッドエッジに基づいて、前記変形されたグリッド曲線を決定するステップと、を含む請求項１に記載の方法。
【請求項３】
前記取得された対象髪型関数を使用して前記グリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形し、変形されたグリッド曲線を取得するのは、
前記偏向軸線と標準線との間の距離がゼロでないかを検出し、前記偏向軸線は前記顔の要点情報の両目の中心から前記鼻尖までの接続線に対応するグリッドエッジであり、前記標準線は顔画像の顔が正面顔である時顔の要点情報の両目の中心から鼻先までの接続線に対応するグリッドエッジであるステップと、
前記距離がセロでない場合、
前記偏向軸線に平行で、前記偏向軸線の左側にある、前記偏向軸線から最もとおい前記対象グリッドエッジのうちのものを左標準グリッドエッジとして決定し、前記対象髪型関数を使用して左標準グリッドエッジを変形し、左標準髪型線を取得すること、及び
前記偏向軸線に平行で、前記偏向軸線の右側にある、前記偏向軸線から最も遠い前記対象グリッドエッジのうちのものを右標準グリッドエッジとして決定し、前記対象髪型関数を使用して右標準グリッドエッジを変形し、右標準髪型線を取得すること、のうちの少なくとも１つを実行するステップと、を含み、
前記の前記変形されたグリッド曲線に従って、前記顔画像の変形された髪型を決定するのは、
前記左標準グリッドエッジと前記偏向軸線との間の距離と前記左標準髪型線と前記偏向軸線との間の距離との比を左側変形係数として使用し、前記左側変形係数を使用して、前記偏向軸線の左側にある、前記偏向軸線に平行な対象グリッドエッジを変形し、前記顔の左側の髪型線を取得し、前記偏向軸線の左側にある、前記対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、前記顔左側にある髪型線に対応する変形されたグリッド内の画素点を取得すること、及び
前記右標準グリッドエッジと前記偏向軸線との間の距離と前記右標準髪型線と前記偏向軸線との間の距離の比を右側変形係数として使用し、前記右側変形係数を使用し、前記偏向軸線の右側にある、前記偏向軸線に平行な対象グリッドエッジを変形し、前記顔右側にある髪型線を取得し、前記偏向軸線の右側にある、前記対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、前記顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得すること、のうちの少なくとも１つを含む請求項１または２に記載の方法。
【請求項４】
前記対象髪型関数は、
対象髪型曲線を取得するステップと、
前記対象髪型曲線をサンプリングして、複数のサンプリングポイントを取得するステップと、
前記複数のサンプリングポイントをフィッティングし、前記対象髪型関数を取得するステップと、に基づいて決定される請求項１に記載の方法。
【請求項５】
前記の前記複数のサンプリングポイントをフィッティングし、前記対象髪型関数を取得するのは、
前記複数のサンプリングポイントに対して、キュービックＢスプラインに従ってフィッティングし、前記対象髪型関数を取得するステップを含む請求項４に記載の方法。
【請求項６】
髪型を変換するための装置であって、
取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定するように配置される第１決定モジュールと、
前記顔の境界ボックスに従ってグリッドを作成するように配置されるグリッド作成モジュールと、
取得された対象髪型関数を使用して前記グリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形し、変形されたグリッド曲線を取得するように配置されるグリッド変形モジュールと、
前記変形されたグリッド曲線に従って、前記顔画像の変形された髪型を決定するように配置される第２決定モジュールと、を備える髪型を変換するための装置。
【請求項７】
前記顔の境界ボックスは偏向軸線を含み、前記髪型の少なくとも一部のグリッドのエッジは前記偏向軸線に平行な対象グリッドエッジを含み、
前記グリッド変形モジュールはさらに、
前記対象グリッドエッジ上の点の座標を前記対象髪型関数に入力し、変形された対象グリッドエッジを取得し、点の座標は前記偏向軸線に平行な座標軸に対応する座標であり、
前記変形された対象グリッドエッジに基づいて、前記変形されたグリッド曲線を決定するように配置される請求項６に記載の装置。
【請求項８】
前記グリッド変形モジュールはさらに、
前記偏向軸線と標準線との間の距離がゼロでないかを検出し、前記偏向軸線は前記顔の要点情報の両目の中心から前記鼻尖までの接続線に対応するグリッドエッジであり、前記標準線は顔画像の顔が正面顔である時顔の要点情報の両目の中心から鼻先までの接続線に対応するグリッドエッジであること、
前記距離がセロでない場合、前記偏向軸線に平行で、前記偏向軸線の左側にある、前記偏向軸線から最もとおい前記対象グリッドエッジのうちのものを左標準グリッドエッジとして決定し、前記対象髪型関数を使用して左標準グリッドエッジを変形し、左標準髪型線を取得すること、及び、
前記偏向軸線に平行で、前記偏向軸線の右側にある、前記偏向軸線から最も遠い前記対象グリッドエッジのうちのものを右標準グリッドエッジとして決定し、前記対象髪型関数を使用して右標準グリッドエッジを変形し、右標準髪型線を取得すること、のうちの少なくとも１つを実行するように配置され、
前記第２決定モジュールはさらに、
前記左標準グリッドエッジと前記偏向軸線との間の距離と前記左標準髪型線と前記偏向軸線との間の距離との比を左側変形係数として使用し、前記左側変形係数を使用して、前記偏向軸線の左側にある、前記偏向軸線に平行な対象グリッドエッジを変形し、前記顔の左側の髪型線を取得し、前記偏向軸線の左側にある、前記対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、前記顔左側にある髪型線に対応する変形されたグリッド内の画素点を取得すること、及び
前記右標準グリッドエッジと前記偏向軸線との間の距離と前記右標準髪型線と前記偏向軸線との間の距離の比を右側変形係数として使用し、前記右側変形係数を使用し、前記偏向軸線の右側にある、前記偏向軸線に平行な対象グリッドエッジを変形し、前記顔右側にある髪型線を取得し、前記偏向軸線の右側にある、前記対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、前記顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得すること、のうちの少なくとも１つを実行するように配置される請求項６または７に記載の装置。
【請求項９】
前記装置は、
対象髪型曲線を取得するように配置される髪型取得モジュールと、
前記複数のサンプリングポイントをフィッティングし、前記対象髪型関数を取得するように配置される髪型サンプリングモジュールと、
前記複数のサンプリングポイントをフィッティングして、前記対象髪型関数を取得するように配置される関数フィッティングモジュールと、をさらに備える請求項６に記載の装置。
【請求項１０】
前記関数フィッティングモジュールはさらに、
前記複数のサンプリングポイントに対して、キュービックＢスプラインに従ってフィッティングし、前記対象髪型関数を取得するように配置される請求項９に記載の装置。
【請求項１１】
電子デバイスであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに通信接続されるメモリと、を備え、
前記メモリに前記少なくとも１つのプロセッサによって実行されることができる命令が記憶され、前記命令は前記少なくとも１つのプロセッサによって実行され、前記少なくとも１つのプロセッサに請求項１−５のいずれかに記載の方法を実行させる電子デバイス。
【請求項１２】
コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ命令は、前記コンピュータに請求項１〜５のいずれかに記載の方法を実行させるために使用されることを特徴とする非一時的なコンピュータ可読記憶媒体。
【請求項１３】
コンピュータプログラムであって、
プロセッサにより実行されると、請求項１〜５のいずれかに記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータ技術分野に関し、具体的に、画像処理技術、拡張現実技術及び深層学習技術分野に関し、特に、髪型を変換するための方法、装置、デバイス及び記憶媒体に関する。
【背景技術】
【０００２】
髪型は、ユーザーの個性、自信、及び態度を表現することができる。従って、髪型は個人的な外観の重要な側面である。
【０００３】
現在、ユーザーは、以下の方法で髪型を変え、（１）変形する髪型に対してアフィン変換を実行し、変更された髪型を取得する。（２）ジェネレーティブ敵対ネットワーク（ＣｙｃｌｅＧＡＮ）のトレーニングデータセットを大量に修正し、例えば、手動でＣｙｃｌｅＧＡＮのトレーニングデータセットを大量に修正し、修正されたＣｙｃｌｅＧＡＮのトレーニングデータセットを取得し、次に、修正されたＣｙｃｌｅＧＡＮのトレーニングデータセットをトレーニングし、変換された髪型を取得する。
【発明の概要】
【０００４】
本開示は、髪型を変換するための方法、装置、デバイス及び記憶媒体を提供する。
【０００５】
本開示の一態様によれば、髪型を変換するための方法を提供し、該髪型を変換するための方法は、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定することと、顔の境界ボックスに従ってグリッドを作成することと、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得することと、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得することと、を含む。
【０００６】
本開示の他の態様によれば、髪型を変換するための装置を提供し、該髪型を変換する装置は、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定するように配置される第１決定モジュールと、顔の境界ボックスに従ってグリッドを作成するように配置されるグリッド作成モジュールと、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得するように配置されるグリッド変形モジュールと、変形されたグリッド曲線に従って、顔画像の中の変形された髪型を決定するように配置される第２決定モジュール、を備える。
【０００７】
本開示の第３態様によれば、電子デバイスを提供し、該電子デバイスは、少なくとも１つのプロセッサと、前記少なくとも１つのプロセッサに通信接続されるメモリと、を備え、前記メモリに前記少なくとも１つのプロセッサによって実行されることができる命令が記憶され、前記命令は前記少なくとも１つのプロセッサによって実行され、前記少なくとも１つのプロセッサに第１態様に記載の方法を実行させることができることを特徴とする。
【０００８】
本開示の第４態様によれば、前記コンピュータに第１態様に記載の方法を実行させるためのコンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体を提供する。
【０００９】
本開示の第５態様によれば、コンピュータプログラムであって、前記コンピュータに第１態様に記載の方法を実行させるコンピュータプログラムを提供する。
【００１０】
本開示の実施例による髪型を変換するための方法及び装置は、まず、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定し、その後、顔の境界ボックスに従ってグリッドを作成し、次に、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得し、最終的に、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得する。この過程において、変形する髪型をアフィン変換する処理または手動でＣｙｃｌｅＧＡＮのトレーニングデータセットを大量に修正する処理による背景技術における変換された髪型歪みと比べて、対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形するため、該方法はグリッドの中の髪型の少なくとも一部のグリッドのエッジに対して変形することができ、顔の画像全体を変換する必要がなく、出力が正確であり、顔画像中の変形された髪型に歪みがない。
【００１１】
なお、この部分で説明する内容は、本開示の実施例の肝心なまたは重要な特徴を特定することを意図するものではなく、本開示の範囲を限定することを意図するものでもない。本開示の他の特徴は以下の明細書を通じて容易に理解される。
【図面の簡単な説明】
【００１２】
図面は、本開示をより良く理解するためのものであり、本出願を限定するものではない。
【図１】本開示を適用できる例示的なシステムアーキテクチャである。
【図２】本開示の髪型を変換するための方法による一実施例を示すフローチャートである。
【図３】顔の要点と顔枠を示す模式図である。
【図４】二次元凸包を示す模式図である。
【図５】グリッドを示す一模式図である。
【図６ａ−６ｃ】図６（ａ）〜図６（ｃ）は、対象髪型関数を決定する模式図である。
【図７ａ−７ｂ】図７（ａ）と図７（ｂ）は、画素変形を示す一模式図である。
【図８ａ−８ｂ】図８（ａ）と図８（ｂ）はグリッドを示す一模式図である。
【図９】本開示の髪型を変換するための方法による他の実施例を示すフローチャートである。
【図１０】本開示の髪型を変換するための装置による一実施例を示す模式図である。
【図１１】本開示の実施例による髪型を変換するための方法を実現するための電子デバイスを示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本願の例示的な実施例を説明し、理解に役に立つように、本願の実施例の様々な細部を含み、単に例示的なものと見なされる。従って、当業者は、本願の範囲と精神から逸脱せずに、ここで説明する実施例に様々な変更と修正を加えることができることを認識すべきである。同様に、明確かつ簡潔にするために、以下の説明では、既知の機能と構造の説明を省略する。
【００１４】
図１は、本開示による髪型を変換するための方法または髪型を変換するための装置を適用できる実施例の例示的なシステムアーキテクチャ１００である。
【００１５】
図１に示すように、システムアーキテクチャ１００は、端末デバイス１０１、１０２、１０３、ネットワーク１０４及びサーバ１０５を備えてもよい。ネットワーク１０４は、端末デバイス１０１、１０２、１０３及びサーバ１０５の間に通信リンクを提供する媒体である。ネットワーク１０４は、様々な接続タイプ、例えば有線、無線通信リンク或いは光ファイバケーブルなどを含んでもよい。
【００１６】
ユーザーは、端末デバイス１０１、１０２、１０３を使用してネットワーク１０４を介してサーバ１０５と対話でき、メッセージなどを送受信するようにする。端末デバイス１０１、１０２、１０３に画像取得アプリケーション、変更髪型アプリケーション、マルチパーティインタラクティブアプリケーション、人工知能アプリケーションなどの様々なアプリケーションがインストールされることができる。
【００１７】
端末デバイス１０１、１０２、１０３は、ハードウェアであってもよいし、ソフトウェアであってもよい。端末デバイス１０１、１０２、１０３はハードウェアである場合、文書処理アプリケーションをサポートする様々な電子デバイスであってもよく、スマート端末、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータなどを含むが、これらに制限されない。端末デバイス１０１、１０２、１０３はソフトウェアである場合、上記挙げられた電子デバイスにインストールされることができる。例えば分散サービスを提供するために使用される複数のソフトウェアまたはソフトウェアモジュールとして実現されてもよいし、単一のソフトウェアまたはソフトウェアモジュールとして実現されてもよい。ここで具体的に限定されない。
【００１８】
サーバ１０５は、様々なサービスを提供するサーバ、例えば端末デバイス１０１、１０２、１０３のためにサポートを提供するバックグラウンドサーバである。バックグラウンドサーバは受信した要求などのデータに対して分析などの処理を行い、且つ処理結果を端末デバイスにフィードバックすることができる。
【００１９】
説明する必要があるのは、サーバは、ハードウェアであってもよいし、ソフトウェアであってもよい。サーバはハードウェアである場合、複数のサーバからなる分散サーバークラスターとして実現されてもよいし、単一のサーバとして実現されてもよい。サーバはソフトウェアである場合、例えば分散サービスを提供するために使用される複数のソフトウェアまたはソフトウェアモジュールとして実現されてもよいし、単一のソフトウェアまたはソフトウェアモジュールとして実現されてもよい。ここで具体的に制限さない。
【００２０】
実践には、本開示の実施例による髪型を変換するための方法は、端末デバイス１０１、１０２、１０３またはサーバ１０５により実行でき、髪型を変換するための装置は端末デバイス１０１、１０２、１０３またはサーバ１０５に取り付けられることもできる。
【００２１】
理解すべきなのは、図１中の端末装置、ネットワーク及びサーバの数は例示的なものだけである。実現の必要に応じて、任意の数の端末装置、ネットワーク及びサーバを備えることができる。
【００２２】
従来の技術において、滑らかな髪型を生成する技術案として、変形する髪型をアフィン変換し、或いは、ジェネレーティブ敵対ネットワーク（ＣｙｃｌｅＧＡＮ）のトレーニングデータセットを大量に修正し、例えば手動で修正するものを採用する。変形する髪型をアフィン変換するのは、髪型が所在する画像全体をアフィン変換する可能性があり、この時、該画像内の髪型以外の領域（例えば顔の特徴）でもアフィン変換を行い、最終的に、変換された画像に歪みがあり、髪型変換の目的を達成できなく、さらに、ＣｙｃｌｅＧＡＮのトレーニングデータセットを大量に修正するのは、間違いなく計算量を増やし、計算には時間がかかり、メモリスペースが占められ、且つ髪型が複雑であるほど、対応するトレーニングデータセットも複雑になり、トレーニングの難しさをより増加し、特に、手動でＣｙｃｌｅＧＡＮのトレーニングデータセットを大量に修正する場合、労働コストが高く、効率が低い一方で、最終的に生成されたトレーニングデータセットが人的要因の影響を受け、出力された髪型が不安定し、髪型に歪みがあり、ＣｙｃｌｅＧＡＮの後続のトレーニングにも問題が発生する。以上のように、上記の２種の方法とも、変形された髪型の歪みを引き起こすことになる。
【００２３】
図２を参照し、図２は本開示の髪型を変換するための方法による一実施例を示すフロー２００である。該髪型を変換するための方法は以下のステップを含む。
【００２４】
ステップ２０１、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定する。
【００２５】
本実施例において、髪型を変換するための方法の実行主体（例えば図１に示すような端末デバイスまたはサーバ）は、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定することができる。
【００２６】
取得された顔画像の顔の要点情報に従って顔の境界ボックスを決定する方法は、従来の技術または将来の技術開発技術における顔の要点情報に従って顔の境界ボックスを決定する方法であってもよいが、本開示はこれを制限しない。例えば、顔の要点情報に従って顔の境界ボックスを決定する方法は、画像認識の方法と画像処理方法によって実現することができる。
【００２７】
本開示の一例において、顔の要点情報は顔の要点と顔枠を含み、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定するのは、顔画像を認識して、顔画像の顔の要点と顔枠を決定するステップと、顔の要点と顔枠に基づいて、顔の境界ボックスを決定するステップと、を含んでもよい。
【００２８】
対応的に、この例では、取得された顔画像は、取得された端末デバイス（例えば図１に示すような端末デバイス１０３）に記憶された顔写真、或いは、該端末デバイスのカメラモジュールによって撮影された顔画像を含んでもよい。
【００２９】
対応的に、この例では、顔画像を認識して、顔画像の顔の要点と顔枠を決定するのは、顔の要点検出を通じて顔画像内の顔の要点に対して検出、位置決め或いは顔の位置合わせを行うステップと、最終的に、顔の要点情報の要点領域位置を位置決めするステップと、を含み、顔の要点情報は眉、目、鼻、口、顔の輪郭など（図３に示す）を含む。顔の要点検出方法は、モデルに基づくＡＳＭ（Ａｃｔｉｖｅ  Ｓｈａｐｅ  Ｍｏｄｅｌ）、ＡＡＭ（Ａｃｔｉｖｅ  Ａｐｐｅａｒｎｃｅ  Ｍｏｄｅｌ）、カスケード形状に基づく回帰ＣＰＲ（Ｃａｓｃａｄｅｄ  ｐｏｓｅ  ｒｅｇｒｅｓｓｉｏｎ）、或いは深層学習に基づく方法を含んでもよい。
【００３０】
対応的に、この例では、顔の境界ボックスのサイズは、凸包のサイズによって決められ、凸包とは、特定の点を囲む最小の面積を持つ凸多角形を指す。言い換えると、平面上のいくつかの点を指定して、最小の点のセットを見つけ、１つの凸多角形を接続し、複数の特定の点がすべてこの多角形内または多角形上にあるようにし、この凸多角形は特定の点の二次元凸包である。
【００３１】
本開示の実施例において、Ａｎｄｒｅｗアルゴリズム、Ｇｒａｈａｍアルゴリズム、Ｍｅｌｋｍａｎアルゴリズムなどの方法によって二次元凸包を生成してもよく、上記アルゴリズムの選択には、具体的な実際の必要に応じて設定することができ、ここで繰り返して説明しない。一具体的な例において、図４に示すように、該二次元凸包は、６辺がある凸多角形にすることができる。対応的に、この例では、顔の要点情報に基づいて顔の境界ボックスを決定する場合、一般的に、複数の境界ボックスを構造することができ、この複数の境界ボックスに対して、最終的に必要な境界ボックスとして、その中から１つを選択する。例えば、構造された境界ボックスから面積が最小のものを選択することができ、選択された境界ボックスを最終的に必要な顔の境界ボックスとして使用する。
【００３２】
ステップ２０２、顔の境界ボックスに従ってグリッドを作成する。
【００３３】
本実施例において、上記実行主体は顔の境界ボックスを複数の凸多面体に分割することができ、各凸多面体は１つのグリッドであり、且つ同じグリッドにある顔の境界ボックスの頂点を１つの代表点で示し、すべての代表点を接続して組み合わせ、さらにグリッドを作成する。グリッドの各小セル（ｃｅｌｌ）は１つのグリッドであり、スパンが３つのセルにまたがる三角形のみが簡略化された結果に保持され、グリッドが取得される。
【００３４】
顔の境界ボックスに従ってグリッドを作成する方法は、従来の技術または将来の技術開発技術における顔の境界ボックスに従ってグリッドを作成する方法であってもよいが、本開示はこれを制限しない。例えば、顔の境界ボックスによるグリッド作成の方法は、空間クラスタリングアルゴリズムまたは顔グリッドモデルの方法によって実現されることができる。
【００３５】
ステップ２０３、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得する。
【００３６】
本実施例において、上記実体は以下のようないくつかの方法によって、グリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを決定することができる。
【００３７】
（１）予めトレーニングされたグリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを決定するモデルにより選択したり、予め設定されたルールに従ってグリッドから髪型を含む少なくとも一部のグリッドのエッジを決定したりすることができる。
【００３８】
（２）ユーザーにより自分で設定し、例えばユーザーは自分の好みに応じてグリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを決定し、即ちユーザーによりグリッドのうちの変形する必要があるグリッドエッジを決定する。
【００３９】
グリッドのうちの変形する必要があるグリッドエッジを決定した後、取得された対象髪型関数を使用してグリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形することができ、変形されたグリッド曲線を取得するようにする。
【００４０】
本開示のステップ２０３に対するいくつかの選択可能な実現形態において、ステップ２０３は、対象グリッドのエッジ上の点の座標を対象髪型関数に入力し、変形された対象グリッドエッジを取得することを含んでもよく、点の座標は偏向軸線に平行な座標軸に対応する座標である。
【００４１】
本開示の上記実施例の髪型を変換するための方法及び装置は、グリッドのうちの髪型を含む少なくとも一部のグリッドのエッジ上の点の座標を対象髪型関数に入力し、変形されたグリッド曲線を取得し、次に、変形されたグリッド曲線に従って、顔画像の中の変形された髪型を決定し、さらにグリッドの中の髪型の少なくとも一部のグリッドのエッジに対して変形することによって、顔画像全体を変換する必要がなく、出力が正確であり、顔画像中の変形された髪型に歪みがない。
【００４２】
ステップ２０４、変形されたグリッド曲線に従って、顔画像の中の変形された髪型を決定する。
【００４３】
本実施例において、上記実行主体は、ステップ２０３では対象髪型関数を使用してグリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形した後に、変形前のグリッドにある髪型曲線に対して、変形されたグリッド曲線と適応する変形を行う。
【００４４】
具体的に、変形前のグリッドにある髪型曲線と変形前のグリッドのエッジとの間の関連関係を作成することができ、その後、該関連関係と変形されたグリッド曲線に従って、変形された髪型曲線を決定する。例えば、変形前のグリッドにある髪型曲線が左側と右側の変形前のメッシュのエッジの間に配置されるという制約関係を確立し、それにより、変形されたグリッド曲線に従って、変形されたグリッドにある髪型曲線を左側と右側の変形前のメッシュのエッジの間に配置させ、顔画像の中の変形された髪型を取得する。
【００４５】
本開示の上記実施例による髪型を変換するための方法及び装置は、まず、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定し、その後、顔の境界ボックスに従ってグリッドを作成し、その後、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得し、最終的に、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得する。この過程において、変形する髪型をアフィン変換する処理または手動でＣｙｃｌｅＧＡＮのトレーニングデータセットを大量に修正する処理による背景技術における変換された髪型歪みと比べて、対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形するため、該方法はグリッドの中の髪型の少なくとも一部のグリッドのエッジに対して変形することができ、顔画像全体を変換する必要がなく、出力が正確であり、顔画像中の変形された髪型に歪みがない。
【００４６】
本開示によるステップ２０３に対するいくつかの選択可能な実現形態において、ステップ２０３は、対象グリッドのエッジ上の点の座標を対象髪型関数に入力し、変形された対象グリッドエッジを取得し、点の座標は偏向軸線に平行な座標軸に対応する座標であることと、変形された対象グリッドエッジに基づいて、変形されたグリッド曲線を決定することと、を含んでもよい。
【００４７】
一具体的な例において、図５に示すように、対象グリッドエッジ５０１上の点の座標を対象髪型関数に入力し、変形された対象グリッドエッジ５０２を取得することができ、次に、変形された対象グリッドエッジ５０２に基づいて、変形されたグリッド曲線５０４（即ちすべての変形された対象グリッドエッジ）を決定する。
【００４８】
本実現形態において、グリッドの最右側のグリッドエッジをＸ軸、髪型の少なくとも一部のグリッドのエッジの最上側のグリッドエッジをＹ軸とする座標系を作成することができる。その後、対象グリッドエッジ上の点の座標を取得する。次に、対象グリッドエッジ上の点の座標を対象髪型関数に入力することによって、対象グリッドエッジ上の点の座標を変形された対象グリッドエッジ上の点の座標に逐一にマッピングする。
【００４９】
理解すべきなのは、上記の座標系の作成方法は、座標系を作成する例示だけであり、座標系を限定するものではない。例えば、当業者は、グリッドの最左側のグリッドエッジをＸ軸、髪型の少なくとも一部のグリッドのエッジの最上側のグリッドエッジをＹ軸として座標系を作成してもよい。或いは、他の座標系の作成方法を使用して座標系を作成することによって、対象グリッドエッジ上の点の座標を取得することができる。
【００５０】
本開示によるいくつかの選択可能な実現形態において、対象髪型関数は、対象髪型曲線を取得するステップと、対象髪型曲線に対して均一なサンプリングを行うステップと、サンプリングポイントをフィッティングして、対象髪型関数を取得するステップと、によって決定されることができる。
【００５１】
本実現形態において、フィッティング方法は、補間、研磨、最小二乗であってもよい。対象髪型関数をフィッティングするという目的を最終的に達成できる限り、本開示の保護範囲に含めることができる。
【００５２】
本実現形態において、対象髪型曲線を使用して実際の髪型曲線をシミュレートしたため、該対象髪型曲線に基づいて得られた対象髪型関数を使用してグリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形し、決定された顔画像内の変形された髪型をユーザーの実際の髪型に一致するようにし、ユーザーエクスペリエンスを向上させる。
【００５３】
上記実施例によるいくつかの選択可能な実現形態において、対象髪型曲線に対して均一なサンプリングを行った後、キュービックＢスプラインを採用してサンプリングされた対象髪型曲線をフィッティングして、対象髪型関数を取得するようにする。
【００５４】
本実現形態において、サンプリングポイントをフィッティングして、対象髪型関数を取得するのは、複数のサンプリングポイントに対して、キュービックＢスプラインに従ってフィッティングし、対象髪型関数を取得することを含む。
【００５５】
一具体的な例において、図６（ａ）に示すように、対象髪型曲線図を描き、次に、図６（ｂ）に示すように、該対象髪型曲線図に対して均一なサンプリングを行い、サンプリングポイントを取得し、最終的に、図６（ｃ）に示すように、キュービックＢスプラインに従って曲線フィッティングを完成し、対象髪型曲線の対象髪型関数を取得する。
【００５６】
本開示において、キュービックＢスプラインに基づいてフィッティングを完成し、フィッティングされた髪型関数に対応する髪型をより滑らかにさせ、対象髪型曲線図により一致させ、それによりフィッティングされた関数の表現の正確さを向上させる。
【００５７】
理解できるのは、上記の実施例は、髪型を変換するための方法の例示的な実施例だけであり、髪型を変換するための方法を限定するためのものである。例えば、上記髪型を変換するための方法は、１つまたは複数の顔画像内の変形された髪型を同時に表示するステップを含んでもよい。また、本開示に係る髪型変換は、性別による髪型の変換だけでなく、同性間の髪型の変換に限定されなく、ここで繰り返して説明しない。
【００５８】
図９を参照し続き、図９は、本開示の髪型を変換するための方法による他の実施例を示すフロー９００である。該髪型を変換するための方法は、以下のステップを含む。
【００５９】
ステップ９０１、取得された顔画像の顔の要点情報に従って、境界ボックスを決定する。
【００６０】
本実施例のステップ９０１は前述の実施例のステップ２０１と同様であり、ステップ９０１の具体的な実現形態は、前述実施例におけるステップ２０１の説明をそれぞれ参照でき、ここで繰り返して説明しない。
【００６１】
ステップ９０２、顔の境界ボックスに従ってグリッドを作成し、顔の境界ボックスは偏向軸線を含む。
【００６２】
本実施例において、顔の境界ボックスは偏向軸線を含んでもよく、該偏向軸線は顔の要点情報のうちの両目の中心から鼻先までの接続線に対応するグリッドエッジであり、正面顔に対する顔の偏向方向を示すために使用される。顔の境界ボックスの方向は、偏向軸線の方向によって決定されることができる。例えば、偏向軸線が垂直方向に近い場合（即ち偏向軸線と垂直方向との夾角が所定の閾値より小さい）、径方向境界ボックスを使用し、偏向軸線が水平方向に近い場合（即ち偏向軸線と水平方向との夾角が所定の閾値より小さい）、軸向境界ボックスを使用する。
【００６３】
径方向境界ボックスを例として、偏向軸線が垂直方向にある場合、顔画像を調整する必要がなく、偏向軸線が垂直方向でない場合、顔画像を調整することができ、調整された顔画像の顔の偏向軸線を垂直方向にするようにする。この時、標準線（例えば図５の「５０３」）は顔画像の顔が正面顔である時に顔の要点情報の両目の中心から鼻先までの接続線に対応する垂直方向的グリッドエッジである。
【００６４】
なお、本実施例のステップ９０２は前述実施例のステップ２０２に説明される操作及び特徴をさらに含み、ここで繰り返して説明しない。
【００６５】
ステップ９０３、偏向軸線と標準線との間の距離がゼロでないかを検出する。
【００６６】
本実施例において、偏向軸線と標準線との間の距離がゼロでないかを検出する方法は、従来の技術または将来の技術開発技術における偏向軸線と標準線との間の距離がゼロでないかを検出する方法であってもよいが、本開示はこれを制限しない。例えば、偏向軸線と標準線との間の距離がゼロでないかを検出する方法は画像認識方法と距離検出方法を使用することができる。一具体的な例において、例えば図８（ａ）では、偏向軸線の座標と標準線の座標を検出し、次に、偏向軸線の座標と標準線の座標差を算出し、さらに座標差に基づいて該座標差が０でないかを判断する。
【００６７】
ステップ９０４、距離がゼロでない場合、偏向軸線に平行で、偏向軸線の左側にあり、且つ偏向軸線から最も遠い対象グリッドエッジのうちのものを、左標準グリッドエッジとして決定し、対象髪型関数を使用して左標準グリッドエッジを変形して、左標準髪型線を取得する。
【００６８】
本実施例において、ステップ９０３では、偏向軸線と標準線との間の距離は０でないことが判明した場合、グリッドの左側にある、偏向軸線に平行で、且つ偏向軸線から最も遠い鵜対象グリッドエッジを左標準グリッドエッジとして決定することができる。
【００６９】
一具体的な例において、図８（ａ）に示すように、グリッドの最左側のグリッドエッジ８０１ａは左標準グリッドエッジである。
【００７０】
ステップ９０５、左標準グリッドエッジと偏向軸線との間の距離と左標準髪型線と偏向軸線との間の距離の比を左側変形係数として使用し、左側変形係数を使用して、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔の左側の髪型線を取得し、偏向軸線の左側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の左側の髪型線に対応する変形されたグリッド内の画素点を取得する。
【００７１】
本実施例において、ステップ９０４では左標準グリッドエッジを決定した後、左標準グリッドエッジと偏向軸線との間の距離と左標準髪型線と偏向軸線との間の距離の比を使用し、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジを適応変形する。
【００７２】
左標準グリッドエッジを決定した後に、左標準グリッドエッジと偏向軸線との間の距離と左標準髪型線と偏向軸線との間の距離の比に従って、左側変形係数を決定する。一具体的な例では、図８（ａ）に示すように、まず、取得された左標準グリッドエッジ８０１ａと偏向軸線８０２ａの座標に従って、左標準グリッドエッジと偏向軸線との間の距離を取得し、その後、取得された左標準髪型線８０３ａと偏向軸線８０２ａの座標に従って、左標準髪型線と偏向軸線との間の距離を取得し、最終的に、左標準グリッドエッジ８０１ａと偏向軸線８０２ａとの間の距離と左標準髪型線８０３ａと偏向軸線８０２ａとの間の距離の比に基づいて、左側変形係数を決定する。
【００７３】
左標準グリッドエッジを決定した後に、取得された対象髪型関数を使用して左標準グリッドエッジを変形することができ、左標準髪型線を取得するようにする。一具体的な例において、図７（ａ）に示すように、左標準グリッドエッジと偏向軸線との間の距離（Ｋ１）、及び左標準髪型線と偏向軸線との間の距離（Ｋ２）の比、即ちＫ１／Ｋ２を画素変形比として、次に、図７（ｂ）に示すように、Ｋ１／Ｋ２＝Ｌ１／Ｌ２に従って、左標準グリッドエッジを変形して、左標準髪型線を取得するようにし、Ｌ１は左標準グリッドエッジ上の点の画素値であり、Ｌ２は左標準髪型線上の点の画素値である。
【００７４】
左標準グリッドエッジと偏向軸線との間の距離と左標準髪型線と偏向軸線との間の距離の比を左側変形係数として使用した後、左側変形係数を使用して、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジを変形することができ、顔の左側の髪型線を取得するようにし、偏向軸線の左側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の左側の髪型線に対応する変形されたグリッド内の画素点を取得する。
【００７５】
一具体的な例において、図８（ａ）に示すように、グリッドの最右側のグリッドエッジをＸ軸、髪型の少なくとも一部のグリッドのエッジの最上側のグリッドエッジをＹ軸として、偏向軸線はＹ＝１のグリッドエッジであり、次に「両目の中心から鼻先まで」の線分を偏向軸線として、次に、図８（ａ）の偏向軸線と標準線との間の距離を決定し、標準線は、偏向軸線に平行である顔画像のグリッドエッジの中心対称軸であり、この時、顔は正面顔であり、図８（ａ）の偏向軸線と標準線との間の距離は０でない場合、グリッドの最左の１つのグリッドエッジ（即ち、左標準グリッドエッジ８０１ａ）を対象髪型関数位置まで変形し、この時、該最左の１つのグリッドエッジの内部画素を図７（ａ）〜図７（ｂ）に記載の左側変形係数に従って変形し、顔の左側の髪型線を取得し、上から下までの縦軸をＸ＝０からＸ＝１と見なし、該偏向軸線が所在する軸をＹ＝０と見なし、偏向軸線が所在する軸をＹ＝１と見なす。
【００７６】
説明する必要があるのは、グリッドの最左側のグリッドエッジをＸ軸、髪型の少なくとも一部のグリッドのエッジの最上側のグリッドエッジをＹ軸としてもよく、偏向軸線はＹ＝１のグリッドエッジである。
【００７７】
ステップ９０６、距離がゼロでない場合、偏向軸線に平行で、偏向軸線の右側にあり、偏向軸線から最も遠い対象グリッドエッジのうちのものを右標準グリッドエッジとして決定し、対象髪型関数を使用して右標準グリッドエッジを変形して、右標準髪型線を取得する。
【００７８】
本実施例において、ステップ９０３では、偏向軸線と標準線との間の距離は０でないことが判明した場合、グリッドの右側にある偏向軸線に平行で、且つ偏向軸線から最も遠い対象グリッドエッジを、右標準グリッドエッジとして決定することができる。一具体的な例において、図８（ｂ）に示すように、グリッドの最右側のグリッドエッジは右標準グリッドエッジである。
【００７９】
右標準グリッドエッジを決定した後に、取得された対象髪型関数を使用して右標準グリッドエッジを変形することができ、右標準髪型線を取得するようにする。一具体的な例において、図８（ｂ）に示すように、右標準グリッドエッジ８０１ｂ上の点の座標を対象髪型関数に入力し、変形された右標準グリッドエッジ８０２ｂを取得し、次に、変形された右標準グリッドエッジ８０２ｂに基づいて、変形されたグリッド曲線を決定する。
【００８０】
ステップ９０７、右標準グリッドエッジと偏向軸線との間の距離と右標準髪型線と偏向軸線との間の距離の比を右側変形係数として使用し、右側変形係数を使用し、偏向軸線の右側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔の右側の髪型線を取得し、偏向軸線の右側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得する。
【００８１】
本実施例において、ステップ９０６では、右標準グリッドエッジを決定した後、右標準グリッドエッジと偏向軸線との間の距離と右標準髪型線と偏向軸線との間の距離の比を使用して、偏向軸線の右側にある、偏向軸線に平行である対象グリッドエッジを適応変形することができる。
【００８２】
右標準グリッドエッジを決定した後に、右標準グリッドエッジと偏向軸線との間の距離と右標準髪型線と偏向軸線との間の距離の比に従って、右側変形係数を決定することができる。右標準グリッドエッジを決定した後に、取得された対象髪型関数を使用して右標準グリッドエッジを変形することができ、右標準髪型線を取得するようにする。その後、右側変形係数を使用して、偏向軸線の右側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔の右側の髪型線を取得し、偏向軸線の右側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得する。
【００８３】
理解できるのは、偏向軸線の右側にある髪型線に対する処理プロセスは、左側変形係数を使用して、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔の左側の髪型線を取得するプロセスと類似するため、ここで繰り返して説明しない。
【００８４】
本開示の実施例において、図８（ａ）と図８（ｂ）のグリッドは例示的なものだけであり、該グリッドの数が図８（ａ）と図８（ｂ）のグリッドの数と同様である理解することができなく、実際の使用では、グリッドの数は０〜２５５に達でき、具体的に、髪型変形の精度に応じて決定でき、ここで繰り返して説明しない。
【００８５】
説明する必要があるのは、ステップ９０１〜ステップ９０７の実行順序は、ステップ９０１、ステップ９０２、ステップ９０３、ステップ９０４及びステップ９０５を実行し、及びステップ９０６とステップ９０７を同時に実行し、髪型を変換するための手段を取得する。或いは、最初にステップ９０１、ステップ９０２、ステップ９０３、ステップ９０６及びステップ９０７を実行し、その後、ステップ９０４とステップ９０５を実行し、髪型を変換するための手段を取得する。或いは、ステップ９０１、ステップ９０２、ステップ９０３、ステップ９０４及びステップ９０５を実行し、それと同時に、右側を変更しなく、または図２に示すような実施例の方法によって変更することによって、髪型を変換するための手段を取得し、或いは、ステップ９０１、ステップ９０２、ステップ９０３、ステップ９０６及びステップ９０７を実行し、それと同時に、左側を変更しなく、または図２に示すような実施例の方法によって変更することによって、髪型を変換するための手段を取得し、本開示の技術案に含めることができる。本開示はこれを制限しない。
【００８６】
本開示の実施例において、グリッドのエッジを変形した後に、左側変形係数（即ち、左標準グリッドエッジと偏向軸線との間の距離と左標準髪型線と偏向軸線との間の距離の比）を使用して、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジの変形を実現し、偏向軸線の左側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の左側の髪型線に対応する変形されたグリッド内の画素点を取得し、及び右側変形係数（即ち、右標準グリッドエッジと偏向軸線との間の距離と右標準髪型線と偏向軸線との間の距離の比）を使用して、偏向軸線の右側にある、偏向軸線に平行である対象グリッドエッジの変形を実現し、偏向軸線の右側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得することによって、グリッドエッジの変形の上で、点の画素の変形を協調し、グリッドのエッジとグリッドのエッジ上の点の画素の同期変形を確保し、さらに、後続で決定された顔画像の変形された髪型に歪みがないようにする。
【００８７】
当業者は理解できるのは、従来の技術における男性から女性へのビデオ特殊効果ゲームプレイはＣｙｃｌｅＧＡＮ画像翻訳アーキテクチャによって生成され、ネットワークアーキテクチャは、安定した髪型出力を確保するために、完全に一致し、堅牢な髪型入力を使用してトレーニングし、最終的に製造した女性の顔の髪型形状が単一で、単純すぎて、操作や修正できない問題が発生し、上記の実施例における髪型を変換するための方法を使用し、生成された顔の髪型が豊富で多様であり、拡張現実の顔の性別変換のアプリケーションにおけるトレーニングサンプルが少なすぎることによって引き起こされる男性から女性への効果の変形された女性が単一で、過度に単純で、制御できない問題を解決することもできる。具体的に、本開示による技術案は、後処理方法によってＣｙｃｌｅＧＡＮで生成された画像を加工することができ、それにより、予めカスタマイズされた髪型形状に応じて、ＣｙｃｌｅＧＡＮで生成された画像をリアルタイムで確実に対象髪型画像に変形する。
【００８８】
図１０に示すように、本実施例の髪型を変換するための装置１０００は、第１決定モジュール１００１、グリッド作成モジュール１００２、グリッド変形モジュール１００３及び第２決定モジュール１００４を備えてもよい。第１決定モジュールは、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定するように配置され、グリッド作成モジュール１００２は、前記顔の境界ボックスに従ってグリッドを作成するように配置され、グリッド変形モジュール１００３は、取得された対象髪型関数を使用して前記グリッドのうちの髪型を含む少なくとも一部のグリッドのエッジを変形し、変形されたグリッド曲線を取得するように配置され、第２決定モジュール１００４は、前記変形されたグリッド曲線に従って、前記顔画像の変形された髪型を決定するように配置される。
【００８９】
本実施例において、髪型を変換するための装置１０００において、第１決定モジュール１００１、グリッド作成モジュール１００２、グリッド変形モジュール１００３及び第２決定モジュール１００４の具体的な処理及そのもたらす技術的効果は図２の対応する実施例におけるステップ２０１−２０４の関連説明をそれぞれ参照でき、ここで繰り返して説明しない。第１決定モジュール１００１と第２決定モジュール１０１２は同じモジュール、或いは異なる２つのモジュールであってもよい。
【００９０】
本実施例のいくつかの選択可能な実現形態において、顔の境界ボックスは偏向軸線を含み、髪型の少なくとも一部のグリッドのエッジは偏向軸線に平行な対象グリッドエッジを含み、グリッド変形モジュール１００３はさらに、対象グリッドのエッジ上の点の座標を対象髪型関数に入力し、変形された対象グリッドエッジを取得し、点の座標は偏向軸線に平行な座標軸に対応する座標であり、変形された対象グリッドエッジに基づいて、変形されたグリッド曲線を決定するように配置される。
【００９１】
本実施例のいくつかの選択可能な実現形態において、グリッド変形モジュール１００３はさらに、偏向軸線と標準線との間の距離がゼロでないかを検出し、偏向軸線は顔の要点情報の両目の中心から鼻先までの接続線に対応するグリッドエッジであり、標準線は顔画像の顔が正面顔である時の顔の要点情報の両目の中心から鼻先までの接続線に対応するグリッドエッジであり、距離がゼロでない場合、偏向軸線に平行で、偏向軸線の左側にあり、且つ偏向軸線から最も遠い対象グリッドエッジのうちのものを、左標準グリッドエッジとして決定し、対象髪型関数を使用して左標準グリッドエッジを変形し、左標準髪型線を取得するように配置され、第２決定モジュール１００４はさらに、左標準グリッドエッジと偏向軸線との距離と左標準髪型線と偏向軸線との距離の比を左側変形係数として、左側変形係数を使用して、偏向軸線の左側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔の左側の髪型線を取得し、偏向軸線の左側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングして、顔の左側の髪型線に対応する変形されたグリッド内の画素点を取得するように配置される。
【００９２】
本実施例のいくつかの選択可能な実現形態において、該グリッド変形モジュール１００３はさらに、距離がゼロでない場合、偏向軸線に平行で、偏向軸線の右側にある、偏向軸線から最も遠い対象グリッドエッジのうちのものを右標準グリッドエッジとして決定し、対象髪型関数を使用して右標準グリッドエッジを変形して、右標準髪型線を取得するように配置され、第２決定モジュール１００４はさらに、右標準グリッドエッジと偏向軸線との間の距離と右標準髪型線と偏向軸線との間の距離の比を右側変形係数として使用し、右側変形係数を使用して、偏向軸線の右側にある、偏向軸線に平行である対象グリッドエッジを変形し、顔右側の髪型線を取得し、偏向軸線の右側にある、対象グリッドエッジに対応するグリッド内の画素点をサンプリングし、顔の右側の髪型線に対応する変形されたグリッド内の画素点を取得するように配置される。
【００９３】
本実施例のいくつかの選択可能な実現形態において、該髪型を変換するための装置は、
対象髪型曲線を取得するように配置される髪型取得モジュール（図面には図示せず）と、
対象髪型曲線をサンプリングし、複数のサンプリングポイントを取得するように配置される髪型サンプリングモジュール（図面には図示せず）と、
複数のサンプリングポイントをフィッティングして、対象髪型関数を取得するように配置される関数フィッティングモジュール（図面には図示せず）と、をさらに備える。
【００９４】
本実施例のいくつかの選択可能な実現形態において、関数フィッティングモジュールはさらに、複数のサンプリングポイントに対して、キュービックＢスプラインに従ってフィッティングし、対象髪型関数を取得するように配置される。
【００９５】
本開示の実施例によれば、本開示は電子デバイスと読み取り可能な記憶媒体をさらに提供する。
【００９６】
図１１に示すように、本開示の実施例による髪型を変換するための方法の電子デバイスのブロック図である。電子デバイスは、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバー、メインフレーム、その他の適切なコンピュータなどのさまざまな態様のデジタルコンピュータを表すことを目的とする。電子デバイスは、パーソナルデジタル処理、セルラー方式の携帯電話、スマートフォン、ウェアラブルデバイス、及び他の同様のコンピューティング装置などのさまざまな態様のモバイル装置を表すこともできる。本文に示されるコンポーネント、それらの接続及び関係、ならびにそれらの機能は、単なる例であり、本文に記載されるおよび／または主張される本開示の実現を限定することを意図しない。
【００９７】
図１１に示すように、該電子デバイスは、１つまたは複数のプロセッサ１１０１、メモリ１１０２、及び高速インターフェース及び低速インターフェースを備える各コンポーネントを接続するためのインターフェースを備える。各コンポーネントは、異なるバスで相互に接続されており、共通のマザーボードにインストールしてもよいし、必要に応じて、他の方法でインストールしてもよい。プロセッサは、ＧＵＩのグラフィック情報を外部入／出力装置（インターフェースに結合されたディスプレイデバイスなど）に表示できるように、メモリ内またはメモリ上に記憶された命令を含む電子デバイスで実行された命令を処理でき、他の実施例では、必要とすれば、複数のプロセッサおよび／または複数のバスを、複数のメモリ及び複数のメモリと共に使用することができる。同様に、複数の電子デバイスを接続でき、各デバイスはいくつかの必要なオペレーティングを提供する（例えば、サーバーアレイ、ブレードサーバーグループ、またはマルチプロセッサシステムとする）。図１１では、１つのプロセッサ１１０１を例にする。
【００９８】
メモリ１１０２は、即ち、本願による非一時的なコンピュータ読み取り可能な記憶媒体である。ただし、前記メモリは、少なくとも１つのプロセッサによって実行可能な命令を記憶するので、前記少なくとも１つのプロセッサに本開示による髪型を変換するための方法を実行させる。本開示の非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータに本開示による髪型を変換するための方法を実行させるためのコンピュータ命令を記憶する。
【００９９】
メモリ１１０２は非一時的なコンピュータ読み取り可能な記憶媒体として、非一時的なソフトウェアプログラム、非一時的なコンピュータによって実行可能なプログラム、及びモジュールを記憶することに用いられ、例えば、本開示の実施例の髪型を変換するための方法に対応するプログラム命令／モジュール（例えば、図１０に示すような決定モジュール１００１、作成モジュール１００２、処理モジュール１００３）。プロセッサ１１０１は、メモリ１１０２に記憶された非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち、上記方法の実施例の髪型を変換するための方法を実現する。
【０１００】
メモリ１１０２は、記憶プログラム領域と記憶データ領域を含んでもよく、ただし、記憶プログラム領域は、オペレーティングシステム、少なくとも１つの機能に必要なアプリケーションプログラムを記憶してもよく、記憶データ領域は、プッシュ情報の電子デバイスの使用のため、作成されたデータなどを記憶することができ、また、メモリ１１０２は、高速ランダムアクセスメモリを含んでもよく、さらに非一時的なメモリを含んでもよく、例えば、少なくとも１つの磁気ディスク記憶デバイス、フラッシュメモリデバイス、または他の非一時的なソリッドステートストレージデバイスなどの非一時的なメモリを含んでもよく、いくつかの実施例では、メモリ１１０２は、任意選択で、プロセッサ１１０１に対してリモートで設定されたメモリを含み、これらのリモートメモリは、ネットワークを介して画像処理の電子デバイスに接続されることができる。上記のネットワークの実施例は、インターネット、企業イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせなどを含むが、これらに限定されない。
【０１０１】
髪型を変換するための方法の電子デバイスは、入力装置１１０３と出力装置１１０４を備えてもよい。プロセッサ１１０１、メモリ１１０２、入力装置１１０３及び出力装置１１０４は、バスまたは他の方法で接続されてもよいが、図１１にバスによる接続を例にする。
【０１０２】
入力装置１１０３は、入力デジタルまたは文字情報を受信し、画像処理の電子デバイスのユーザー設定及び機能制御に関連するキー信号入力を生成することができる。例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、１つ以上のマウスボタン、トラックボール、ジョイスティック、その他の入力装置。出力装置１１０４は、ディスプレイデバイス、補助照明装置（例えば、ＬＥＤ）、触覚フィードバック装置（例えば、振動モーター）などを備えてもよい。該ディスプレイデバイスは、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ディスプレイ、及びプラズマディスプレイを備えてもよい。いくつかの実施例では、ディスプレイデバイスはタッチスクリーンであってもよい。
【０１０３】
ここでは説明されるシステム及び技術の様々な実施例は、デジタル電子回路システム、集積回路システム、特定用途向けＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組み合わせにおいて実現できる。これらの様々な実施例は、以下を含んでもよく、１つまたは複数のコンピュータプログラムに実施され、該１つまたは複数のコンピュータプログラムは、少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステム上で実行および／または解釈されてもよく、該プログラマブルプロセッサは、ストレージシステム、少なくとも１つの入力装置、及び少なくとも１つの出力装置からデータと命令を受信し、そのデータと命令をストレージシステム、少なくとも１つの入力装置、及び少なくとも１つの出力装置に送信できる専用または汎用のプログラマブルプロセッサであってもよい。
【０１０４】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる）は、プログラマブルプロセッサの機械命令を含み、高レベルのプロセス及び／またはオブジェクト指向プログラミング言語、及び／またはアセンブリ／機械言語を利用してこれらのコンピュータプログラムを実施することができる。本文で使用されるように、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、プログラマブルプロセッサに機械命令および／またはデータを提供するために用いられる任意のコンピュータプログラム製品、デバイス、および／または装置（例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジック装置（ＰＬＤ）を指す。機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、プログラマブルプロセッサに機械命令および／またはデータを提供するために用いられる任意の信号を指す。
【０１０５】
ユーザーとの対話を提供するために、コンピュータにここでは説明されるシステム及び技術を実施してもよく、該コンピュータは、ユーザーに情報を表示するためのディスプレイ装置（例えば、ＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニター）、及びキーボードとポインティング装置（マウスやトラックボールなど）を備え、ユーザーが該キーボードとポインティング装置を介してコンピュータに入力を提供することができる。他のタイプの装置もユーザーとの対話を提供するために用いられ、例えば、ユーザーに提供されるフィードバックは、任意の形式の感覚フィードバック（例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であってもよく、任意の形式（音入力、音声入力、または触覚入力を含み）でユーザーからの入力を受信することができる。
【０１０６】
ここでは説明されるシステムと技術は、バックエンドコンポーネント（例えば、データサーバー）を含むコンピュータシステム、ミドルウェアコンポーネント（例えば、アプリケーションサーバー）を含むコンピュータシステム、またはフロントエンドコンポーネントを含むコンピュータシステム（例えば、グラフィカルユーザーインターフェイスまたはＷｅｂブラウザーを備え、ユーザーが該ラフィカルユーザーインターフェイスまたはＷｅｂブラウザーでシステムと技術の実施例と対話できるユーザーのコンピュータ）、またはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントを含む任意の組み合わせに実施してもよく、システムのコンポーネントは、任意の形式または媒体のデジタルデータ通信（通信ネットワークなど）を介して相互に接続してもよい。通信ネットワークの例としては、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット、ブロックチェーンネットワークが挙げられる。
【０１０７】
コンピュータシステムは、クライアント及びサーバを含んでもよい。クライアントとサーバは、一般的に互いに離れており、通常は通信ネットワークを介して対話する。対応するコンピュータ上で、互いにクライアント／サーバ関係を持つコンピュータプログラムを実行することによりクライアントとサーバの関係を生成する。サーバはクラウドサーバーであってもよく、クラウドコンピューティングサーバーまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムのホスト製品であり、従来の物理ホストとＶＰＳサービス（「Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｓｅｒｖｅｒ」、または「ＶＰＳ」と略称）に存在している管理が困難でビジネスのスケーラビリティが弱いという欠陥を解決するようにする。
【０１０８】
本開示の上記実施例による髪型を変換するための方法及び装置は、まず、取得された顔画像の顔の要点情報に従って、顔の境界ボックスを決定し、その後、顔の境界ボックスに従ってグリッドを作成し、その後、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得し、最終的に、取得された対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形して、変形されたグリッド曲線を取得する。この過程において、変形する髪型をアフィン変換する処理または手動でＣｙｃｌｅＧＡＮのトレーニングデータセットを大量に修正する処理による背景技術における変換された髪型歪みと比べて、対象髪型関数を使用して、グリッドの中の髪型を含む少なくとも一部のグリッドのエッジを変形するため、該方法はグリッドの中の髪型の少なくとも一部のグリッドのエッジに対して変形することができ、顔画像全体を変換する必要がなく、出力が正確であり、顔画像中の変形された髪型に歪みがない。
【０１０９】
なお、上記に示される様々な形態のプロセスを使用してソートし、ステップを追加し、削除できる。例えば、本願に記載される各ステップは、本願に開示される技術的解決手段の所望の結果を達成できる限り、並列、順次、または異なる順序で実行されてもよく、ここでは本文に限定されない。
【０１１０】
上記の具体的な実施形態は、本願の特許範囲を限定するものではない。当業者は、設計要件及び他の要因に応じて、様々な修正、組み合わせ、サブ組み合わせ、及び置換を行うことができると理解すべきである。本願の精神及び原則を逸脱せずに行われる補正、等価置換、改良などはすべて本願の特許範囲に含まれるべきである。
【図１】
2022003505.tif 000003
【図２】
2022003505.tif 000004
【図３】
2022003505.tif 000005
【図４】
2022003505.tif 000006
【図５】
2022003505.tif 000007
【図６ａ】
2022003505.tif 000008
【図６ｂ】
2022003505.tif 000009
【図６ｃ】
2022003505.tif 000010
【図７ａ】
2022003505.tif 000011
【図７ｂ】
2022003505.tif 000012
【図８ａ】
2022003505.tif 000013
【図８ｂ】
2022003505.tif 000014
【図９】
2022003505.tif 000015
【図１０】
2022003505.tif 000016
【図１１】
2022003505.tif 000017
【外国語明細書】
2022003505000001.pdf