JP6661780B2 - 顔モデル編集方法及び装置 - Google Patents

顔モデル編集方法及び装置 Download PDF

Info

Publication number
JP6661780B2
JP6661780B2 JP2018545644A JP2018545644A JP6661780B2 JP 6661780 B2 JP6661780 B2 JP 6661780B2 JP 2018545644 A JP2018545644 A JP 2018545644A JP 2018545644 A JP2018545644 A JP 2018545644A JP 6661780 B2 JP6661780 B2 JP 6661780B2
Authority
JP
Japan
Prior art keywords
face
editing
pixel
face model
color value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018545644A
Other languages
English (en)
Other versions
JP2019512141A (ja
Inventor
リ,シャオメン
ワン,クイアン
Original Assignee
テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド filed Critical テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Publication of JP2019512141A publication Critical patent/JP2019512141A/ja
Application granted granted Critical
Publication of JP6661780B2 publication Critical patent/JP6661780B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/22Cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Description

[関連出願]
この出願は、2016年3月10日に中国特許庁に出願された「FACIAL MODEL EDITING METHOD AND APPARATUS」という名称の中国特許出願第201610136300.1号の優先権を主張し、その全内容を参照により援用する。
[技術分野]
この出願は、コンピュータ分野に関し、特に顔モデル編集方法及び装置に関する。
現在、従来の顔モデル編集プロセスは、通常では、プログレスバーにおいてコントローラの異なるスライドブロックの位置を調整することにより実現される。例えば、顔モデルにおける目の部位が編集されるときに、目の部位に対応する非常に長い制御リストの中で、プログレスバーにおいて異なるスライドブロックの位置が順にドラッグされて調整され、それにより、目の部位の全ての編集を完了することがしばしば要求される。このように、プレイヤは、カーソルにより選択されたものが部位に対応するスライドブロックを調整するためのものであることを確保する必要があるだけでなく、編集プロセスにおいて顔の実際の変更効果を確認する必要もある。
すなわち、従来の顔モデル編集方式が使用される場合、顔とスライドブロックとの間で切り替えが絶えず実行される必要があり、編集プロセスは直感的でなく、編集操作は煩雑である。その結果、操作の複雑性及び開発の困難性が増加する。
この出願の実施例は、従来の顔モデル編集方法の使用により引き起こされる編集操作の比較的高い複雑性の技術的課題を少なくとも解決するための顔モデル編集方法及び装置を提供する。
この出願の実施例の側面によれば、顔モデル編集方法が提供され、
表示された顔モデルにおけるカーソルの位置を検出するステップであり、表示された顔モデルは複数の顔の部位を含む、ステップと、
位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するステップと、
操作対象の顔の部位に対する選択操作を検出するステップと、
操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するステップと、
顔モデルにおいて編集された操作対象の顔の部位を表示するステップと
を含む。
この出願の実施例の他の側面によれば、顔モデル編集装置が更に提供され、
表示された顔モデルにおけるカーソルの位置を検出するように構成された第1の検出ユニットであり、表示された顔モデルは複数の顔の部位を含む、第1の検出ユニットと、
位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するように構成された決定ユニットと、
操作対象の顔の部位に対する選択操作を検出するように構成された第2の検出ユニットと、
操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するように構成された編集ユニットと、
顔モデルにおいて編集された操作対象の顔の部位を表示するように構成された第1の表示ユニットと
を含む。
この出願の実施例では、端末内で表示された顔モデルにおいて検出されたカーソルの位置に従って、顔モデルの複数の顔の部位のうち操作対象の顔の部位が決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、それにより、顔モデルにおいて編集された操作対象の顔の部位を表示する。すなわち、カーソルの位置を検出することにより、顔モデルの複数の顔の部位から選択された操作対象の顔の部位が決定され、それにより、操作対象の顔の部位についての編集プロセスを直接完了し、操作対象の顔の部位に対応するスライドブロックは、更なる制御リストの中でドラッグされる必要はない。したがって、ユーザは、顔モデルに対して顔のピッキング編集を直接実行することができ、それにより、顔モデルに対する編集操作を簡略化し、次に、顔モデルと制御リストの中のスライドブロックとの間を切り替えることにより引き起こされる比較的高い操作の複雑性の問題を克服する。
さらに、編集操作は、顔モデルにおける顔の部位に対して直接実行され、それにより、ユーザは、端末内で表示された編集操作と編集された操作対象の顔の部位の変更効果とを直感的に見ることができ、見るものが得られるものであることを実現できる。したがって、編集操作は、ユーザ要求をより良く満たすことができる。
ここで説明する添付図面は、この出願について更なる理解を提供するために使用され、この出願の1つの部分を構成する。この出願の概略的な実施例及びこれらの説明は、この出願を説明するために使用され、この出願に対して不適切な限定を構成しない。図面において、
この出願の実施例による顔モデル編集方法の適用環境の概略図である。 この出願の実施例による顔モデル編集方法のフローチャートである。 この出願の実施例による顔モデル編集方法の適用の概略図である。 この出願の実施例による他の顔モデル編集方法の適用の概略図である。 この出願の実施例による更に他の顔モデル編集方法の適用の概略図である。 この出願の実施例による更に他の顔モデル編集方法の適用の概略図である。 この出願の実施例による顔モデル編集装置の概略構成図である。 この出願の実施例による顔モデル編集端末のハードウェアの概略構成図である。 この出願の実施例による更に他の顔モデル編集方法の適用の概略図である。 この出願の実施例による更に他の顔モデル編集方法の適用の概略図である。 この出願の実施例による更に他の顔モデル編集方法の適用の概略図である。
当業者にこの出願における解決策をより良く理解してもらうために、以下に、この出願の実施例における添付図面を参照して、この出願の実施例における技術的解決策を明確且つ完全に説明する。明らかに、説明する実施例は、この出願の実施例の全てではなく、一部に過ぎない。創造的取り組みなしに本出願の実施例に基づいて当業者により得られる全ての他の実施例は、本出願の保護範囲内に入るものとする。
この出願の明細書、特許請求の範囲及び前述の添付図面において、「第1」及び「第2」という用語は、同様の対象を区別するために使用され、必ずしも特定の順序又は順番を記述するために使用されない。このように使用されるデータは、適切な場合に置き換えられることができ、それにより、ここに記載するこの出願の実施例は、ここに例示又は記載する順序以外の順序で実現できることが理解されるべきである。さらに、「含む」及び「有する」という用語並びにそれらの変形のいずれかは、非排他的な包含をカバーすることを意図しており、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、プロダクト又はデバイスは、明確に記載されたステップ又はユニットに限定される必要はなく、明確に記載されていないか、或いはプロセス、方法、プロダクト又はデバイスに固有の他のステップ又はユニットを含んでもよい。
この出願の実施例に従って、顔モデル編集方法の実施例が提供され、顔モデル編集方法は、図1に示す適用環境に適用されてもよいが、これに限定されない。図1に示すように、端末102がネットワーク104を使用することによりサーバ106から顔モデルを取得した後に、端末102内で表示された顔モデルにおけるカーソルの位置が検出され、表示された顔モデルは複数の顔の部位を含み、複数の顔の部位のうち操作対象の顔の部位が位置に従って決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、次に、編集された操作対象の顔の部位が顔モデルにおいて表示される。この実施例では、端末は、以下のもの、すなわち、移動電話、タブレットコンピュータ、ノートブックコンピュータ及びPCのうち少なくとも1つを含んでもよいが、これらに限定されない。
この出願の実施例に従って、顔モデル編集方法が提供される。図2に示すように、方法は以下のステップを含む。
S202.表示された顔モデルにおけるカーソルの位置を検出し、表示された顔モデルは複数の顔の部位を含む。
S204.位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定する。
S206.操作対象の顔の部位に対する選択操作を検出する。
S208.操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集する。
S210.顔モデルにおいて編集された操作対象の顔の部位を表示する。
この実施例では、顔モデル編集方法は、端末アプリケーション内のキャラクタ役生成プロセスにおけるキャラクタ役の対応する顔モデルを編集することに適用されてもよいが、これに限定されない。例えば、ゲームアプリケーションを例として使用すると、ゲームアプリケーション内のキャラクタ役がプレイヤのために生成されるときに、操作対象の顔の部位は、表示された顔モデルの複数の顔の部位におけるカーソルの位置を検出することにより決定されてもよく、操作対象の顔の部位に対する選択操作が検出された後に、対応する編集操作が、取得された編集操作に応じて実行される。
図3は、この出願の実施例による顔モデル編集方法の適用の概略図である。図3に示すように、顔モデルにおける眉毛の部位(図3の左側に示す点線フレーム等)は、カーソルの位置を使用することにより選択される。その部位に対する編集操作(回転操作等)が取得された後に、眉毛の部位が編集されてもよく、編集された眉毛の部位(図3の右側に示す点線フレーム等)が顔モデルにおいて表示される。したがって、キャラクタ役の顔モデルに対する編集操作が簡略化され、編集されたキャラクタ役は、プレイヤのために迅速且つ正確に表示される。この例示は単なる例であり、この実施例において説明する顔モデル編集方法は、如何なる種類の端末アプリケーションにも適用可能である。
この実施例では、端末内で表示された顔モデルにおいて検出されたカーソルの位置に従って、顔モデルの複数の顔の部位のうち操作対象の顔の部位が決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、それにより、顔モデルにおいて編集された操作対象の顔の部位を表示する。すなわち、カーソルの位置を検出することにより、顔モデルの複数の顔の部位から選択された操作対象の顔の部位が決定され、それにより、操作対象の顔の部位についての編集プロセスを直接完了し、操作対象の顔の部位に対応するスライドブロックは、更なる制御リストの中でドラッグされる必要はない。したがって、ユーザは、顔モデルに対して顔のピッキング編集を直接実行することができ、それにより、顔モデルに対する編集操作を簡略化し、次に、顔モデルと制御リストの中のスライドブロックとの間を切り替えることにより引き起こされる比較的高い操作の複雑性の問題を克服する。さらに、編集操作は、顔モデルにおける顔の部位に対して直接実行され、それにより、ユーザは、端末内で表示された編集操作と編集された操作対象の顔の部位の変更効果とを直感的に見ることができ、見るものが得られるものであることを実現できる。したがって、編集操作は、ユーザ要求をより良く満たすことができる。
この実施例では、カーソルの位置は、画面上に表示されたマウスの対応する位置を示すために使用されてもよいが、これに限定されない。
この実施例では、操作対象の顔の部位に対する選択操作が検出されたときに、方法は、操作対象の顔の部位を特別に表示することを含んでもよいが、これに限定されない。例えば、顔の部位はハイライトされるか、或いは描影が顔の部位に対して表示される。
この実施例では、編集は、以下のもの、すなわち、操作対象の顔の部位を移動すること、操作対象の顔の部位を回転すること、操作対象の顔の部位を拡大すること、及び操作対象の顔の部位を縮小することのうち少なくとも1つを含んでもよい。
この実施例では、カーソルの位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定することは、
位置における画素のカラー値を取得し、
カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定することを含む。
この実施例では、位置における画素のカラー値を取得することは、マスクマップにおいて、位置に対応する画素のカラー値を取得し、マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と1対1に対応する複数のマスク領域を含み、各マスク領域は1つの顔の部位に対応し、画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち1つを含んでもよいことを含んでもよいが、これに限定されない。
この実施例では、顔モデル上で貼り合わされたマスクマップ上の各マスク領域は、顔モデル上の1つの顔の部位に対応する。すなわち、顔モデル上で貼り合わされたマスクマップ上のマスク領域がカーソルを使用することにより選択されたときに、顔モデルにおける対応する顔の部位が選択されてもよく、それにより、顔モデル上の顔の部位を直接編集し、編集操作を簡略化する。
例えば、この実施例では、マスクマップは、以下のコードを使用することにより構築されてもよいが、以下のコードを使用することにより構築されることに限定されない。
float4 maskColor = tex2D(FacialMaskSampler,param.uv0);
float maskR = maskColor.r*255.0f;
float alpha = 0;
if(IsValEqual(SelectedAreaColor, maskR))
{
alpha += FacialMaskParams.y;
}
float4 finalColor = float4(0,2,5,alpha*2.5f*maskColor.b);
ここで、maskColor.rは赤チャネルを示すために使用され、maskColor.bは青チャネルを示すために使用される。
さらに、この実施例では、マスクマップ内の各マスク領域と、対応する画素のカラー値との間のマッピング関係は予め設定されてもよいが、予め設定されることに限定されない。例えば、表3に示す顔モデルにおける鼻は、6個の部位を具体的に含み、1つの赤カラー値(Rカラー値を使用することにより示される)が部位毎に設定され、誤りを回避するために、例えば、値は少なくとも10単位だけ互いに異なってもよいが、異なることに限定されない。
Figure 0006661780
すなわち、カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定することは、マスクマップにおいて、位置に対応する画素のカラー値が取得された後に、画素のカラー値に対応するマスク領域がマッピング関係を問い合わせることにより取得されてもよく、次に、マスク領域に対応する操作対象の顔の部位が取得されることを含んでもよいが、これに限定されない。
この実施例では、表示された顔モデルにおけるカーソルの位置は、画素ピッキングのために顔ピッキング技術を使用することにより検出されてもよいが、画素ピッキングのために顔ピッキング技術を使用して検出されることに限定されない。画素ピッキングは、モデルオブジェクトが1単位として使用されるピッキング技術であり、ディスプレイ画面上でカーソルにより選択又はクリックされた仮想オブジェクトが検出され、カーソルが仮想オブジェクトと相互作用する方法である。仮想オブジェクトは、対応する顔モデルにおける顔の部位でもよいが、これに限定されない。
この実施例では、1つの識別子IDが仮想オブジェクト(すなわち、顔の部位)毎に設定され、次に、全てのピッキング可能な仮想オブジェクトが1つのrender targetに描画され、IDは定数レジスタにより取り入れられる。最後に、カーソルの現在の位置の部位のIDがGetRenderTarget()(すなわち、Direct3Dにおける1つの関数)を使用することにより取得される。
この実施例では、表示された顔モデルにおけるカーソルの位置を検出する前に、方法は、顔モデルと生成されたマスクマップとを表示し、マスクマップは顔モデル上で貼り合わされるように設定されることを更に含んでもよい。
顔モデルを取得するプロセスは以下の通りでもよい。
顔ピッキングシステムは、実際に、以下のコアHLSLコードを使用することにより実現される、マップカラーに敏感なピッキング方法である。
result.color0=tex2D(FacialMaskSampler,param.uv0);
result.color0.gb=param.uv0.xy;
floatdepth=EncodeFloatToRGBA8(param.homoDepth.x/param.homoDepth.y);
result.color1=float4(1.0f, 1.0f, 0, depth);//magic code marking for facial model map
画面上に表示された顔モデルは、以下のコードを使用することにより取得される。
tex2D(FacialMaskSampler,param.uv0);
result.color1=float4(1.0f, 1.0f, 0, depth)
1つの検証コードが画面内の画素毎に設定され、画素が顔モデルに属するか否かは、検証コードを使用することにより検証される。検証コードに一致する画素((1.0,1.0,0)に等しい)のみが顔モデルに従って処理される。
EncodingColorData(queryData,maskCode);
If(maskCode.r==0xff &&
maskCode.g==0xff &&
maskCode.b==0)
{
mDepthSelted=maskCode.a;
mIsPickingVaild=true;
}
画面上のカーソルの位置と、画面の現在の解像度とを検出することにより、カーソルの位置におけるユーザにより選択された画素が計算される。
この出願において提供されるこの実施例では、端末内で表示された顔モデルにおいて検出されたカーソルの位置に従って、顔モデルの複数の顔の部位のうち操作対象の顔の部位が決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、それにより、顔モデルにおいて編集された操作対象の顔の部位を表示する。すなわち、カーソルの位置を検出することにより、顔モデルの複数の顔の部位から選択された操作対象の顔の部位が決定され、それにより、操作対象の顔の部位についての編集プロセスを直接完了し、操作対象の顔の部位に対応するスライドブロックは、更なる制御リストの中でドラッグされる必要はない。したがって、ユーザは、顔モデルに対して顔のピッキング編集を直接実行することができ、それにより、顔モデルに対する編集操作を簡略化し、次に、顔モデルと制御リストの中のスライドブロックとの間を切り替えることにより引き起こされる比較的高い操作の複雑性の問題を克服する。
この出願のこの実施例では、位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定することは、
位置における画素のカラー値を取得し、
カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定することを含む。
この実施例では、画素のカラー値は、マスクマップにおいて、カーソルの位置に対応する画素のカラー値でもよいが、これに限定されない。マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と1対1に対応する複数のマスク領域を含み、各マスク領域は1つの顔の部位に対応する。
この実施例では、マスクマップにおいて、カーソルの位置に対応する画素のカラー値は、赤チャネルのカラー値及び青チャネルのカラー値を含んでもよいが、これらに限定されない。画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち1つを含んでもよいが、これらに限定されない。
この実施例では、赤チャネルのカラー値により形成された顔は図4に示されるものでもよく(画像は赤で表示されるべきである)、異なる描影は、赤の異なるレベルを示し、左側の綾織で満たされた領域の色は、波状の点で満たされた領域の色より明るく、波状の点で満たされた領域の色は、交叉した綾織で満たされた領域の色より明るい。青チャネルのカラー値により形成された顔は図5に示されるものでもよい(画像は青で表示されるべきである)。
この実施例では、マスクマップ内の各マスク領域と、対応する画素のカラー値との間のマッピング関係は予め設定されてもよいが、予め設定されることに限定されない。したがって、カーソルの位置の画素のカラー値を使用することにより、顔モデルにおいて、カラー値に対応するマスク領域が決定され、次に、複数の顔の部位のうち操作対象の顔の部位が決定される。
例えば、表1を参照して、カーソルの位置における画素の取得されたRカラー値が200であるときに、対応するマスク領域は、予め設定されたマッピング関係を検索することにより決定されてもよく、次に、マスク領域に対応する操作対象の顔の部位は「鼻ばしら」である。
この出願において提供されるこの実施例では、カーソルの位置における画素の取得されたカラー値を使用することにより、複数の顔の部位のうち、カラー値に対応する操作対象の顔の部位が決定される。すなわち、操作対象の顔の部位は、カーソルの位置における画素のカラー値を使用することにより決定され、それにより、顔モデルにおける顔の部位に対する編集操作を直接実行し、それにより、編集操作を簡略化する。
この出願のこの実施例では、位置における画素のカラー値を取得することは、
マスクマップにおいて、位置に対応する画素のカラー値を取得し、マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と1対1に対応する複数のマスク領域を含み、各マスク領域は1つの顔の部位に対応し、
画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち1つを含むことを含む。
具体的には、以下の例を参照して説明が行われる。人間の解剖学に従って、1つの筋肉の部位の制御リストは、48個の骨格が影響を与えることができる筋肉の分類に従って取得され、1つの赤カラー値(Rカラー値を使用することにより示される)が部位毎に設定される。誤りを回避するために、値は少なくとも10単位だけ互いに異なる。さらに、顔上のこれらの部位の配分状況に従って、顔モデルに対応するマスクマップは、表2(いくつかの部位)に示すように、これらの部位に対応する画素のカラー値を使用することにより取得されてもよい。
Figure 0006661780

すなわち、顔モデルに対応するマスクマップは、マッピング関係における画素のカラー値に従って描画されてもよく、マスクマップは顔モデル上で貼り合わされ、マスクマップに含まれる複数のマスク領域は、複数の顔の部位と1対1に対応する。
この出願において提供されるこの実施例では、対応する画素のカラー値は、顔モデル上で貼り合わされたマスクマップを使用することにより取得され、それにより、カーソルの位置における画素のカラー値を正確に取得し、それにより、対応する操作対象の顔の部位がカラー値に従って取得される。
この出願のこの実施例では、表示された顔モデルにおけるカーソルの位置を検出する前に、方法は、
顔モデルと生成されたマスクマップとを表示し、マスクマップは顔モデル上で貼り合わされるように設定されることを更に含む。
具体的には、以下の例を参照して説明が行われる。表示された顔モデルにおけるカーソルの位置が検出される前に、図6に示す顔モデル及び生成されたマスクマップが端末画面上に表示され、マスクマップは顔モデル上で貼り合わされるように設定される。
この出願において提供されるこの実施例では、表示された顔モデルにおけるカーソルの位置が検出される前に、顔モデルと生成されたマスクマップとを結合することにより取得された画像が事前に表示され、それにより、カーソルの位置が検出されたときに、対応する位置は、マスクマップを使用することにより直接且つ迅速に取得されてもよく、次に、顔モデルの複数の顔の部位のうち操作対象の顔の部位が正確に取得され、それにより、編集効率を改善する。
この出願のこの実施例では、操作対象の顔の部位に対する選択操作が検出されたときに、方法は、
顔モデルにおいて操作対象の顔の部位をハイライトすることを更に含む。
この実施例では、操作対象の顔の部位に対する選択操作が検出されたときに、方法は、操作対象の顔の部位を特別に表示することを含んでもよいが、これに限定されない。例えば、顔の部位はハイライトされるか、或いは描影が顔の部位に対して表示される。
この出願において提供されるこの実施例では、操作対象の顔の部位がハイライトされ、それにより、ユーザは、顔モデルにおいて顔の部位に対して実行される編集操作と編集された顔の部位の変更効果とを直感的に見ることができ、見るものが得られるものであることを実現できる。したがって、編集操作は、ユーザ要求をより良く満たすことができる。
この出願のこの実施例では、操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集することは、以下のもの、すなわち、
操作対象の顔の部位を移動すること、
操作対象の顔の部位を回転すること、
操作対象の顔の部位を拡大すること、及び
操作対象の顔の部位を縮小すること
のうち少なくとも1つを含む。
この実施例では、編集を実現する操作方式は、以下のもの、すなわち、クリック及びドラッグのうち少なくとも1つでもよいが、これらに限定されない。すなわち、以下の編集操作、すなわち、移動、回転、拡大及び縮小のうち少なくとも1つは、異なる操作方式の組み合わせを使用することにより、操作対象の顔の部位に対して実行されてもよい。
例えば、図3に示すように、操作対象の部位がクリックを用いて選択され、回転、縮小及び移動のような編集操作が操作対象の部位に対して実行されたときに、図3の左側から図3の右側に示す編集内容のプロセスが実現されてもよい。
この出願において提供されるこの実施例では、異なる編集操作が顔モデルにおける操作対象の顔の部位に対して直接実行され、それにより、編集操作を簡略化し、編集効率を改善し、従来技術における比較的高い操作の複雑性の問題を克服する。
前述の方法の実施例は、簡単な説明の目的で一連の動作の組み合わせとして表現されているが、当業者は、この出願に従っていくつかのステップが他の順序で或いは同時に実行されてもよいため、この出願が記載の動作順序に限定されないことを理解するべきである。さらに、当業者は、この明細書に記載の全ての実施例が好ましい実施例であり、関係する動作及びモジュールが必ずしもこの開示において必要であるとは限らないことも理解するべきである。
前述の実施例の説明を通じて、当業者は、前述の実施例による方法がハードウェアのみにより、或いはソフトウェア及び必要なユニバーサルハードウェアプラットフォームにより実現されてもよいことを理解し得る。しかし、ほとんどの場合、ソフトウェア及び必要なユニバーサルハードウェアプラットフォームを使用することが好ましい。このような理解に基づいて、この出願の技術的解決策は本質的に、或いは従来技術に寄与する部分は、ソフトウェアプロダクトの形式で実現されてもよい。コンピュータソフトウェアプロダクトは、記憶媒体(ROM/RAM、磁気ディスク又は光ディスク等)に記憶され、端末デバイス(移動電話、コンピュータ、サーバ、ネットワークデバイス等でもよい)に対してこの出願の実施例に記載の方法を実行するように命令するためのいくつかの命令を含む。
この出願の実施例に従って、顔モデル編集方法を実現するように構成された顔モデル編集装置が更に提供される。図7に示すように、方法は、
表示された顔モデルにおけるカーソルの位置を検出するように構成された第1の検出ユニット702であり、表示された顔モデルは複数の顔の部位を含む、第1の検出ユニット702と、
位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するように構成された決定ユニット704と、
操作対象の顔の部位に対する選択操作を検出するように構成された第2の検出ユニット706と、
操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するように構成された編集ユニット708と、
顔モデルにおいて編集された操作対象の顔の部位を表示するように構成された第1の表示ユニット710と
を含む。
この実施例では、顔モデル編集装置は、端末アプリケーション内のキャラクタ役生成プロセスにおけるキャラクタ役の対応する顔モデルを編集することに適用されてもよいが、これに限定されない。例えば、ゲームアプリケーションを例として使用すると、ゲームアプリケーション内のキャラクタ役がプレイヤのために生成されるときに、操作対象の顔の部位は、表示された顔モデルの複数の顔の部位におけるカーソルの位置を検出することにより決定されてもよく、操作対象の顔の部位に対する選択操作が検出された後に、対応する編集操作が、取得された編集操作に応じて実行される。
図3に示すように、顔モデルにおける眉毛の部位(図3の左側に示す点線フレーム等)は、カーソルの位置を使用することにより選択される。その部位に対する編集操作(回転操作等)が取得された後に、眉毛の部位が編集されてもよく、編集された眉毛の部位(図3の右側に示す点線フレーム等)が顔モデルにおいて表示される。したがって、キャラクタ役の顔モデルに対する編集操作が簡略化され、編集されたキャラクタ役は、プレイヤのために迅速且つ正確に表示される。この例示は単なる例であり、この実施例において説明する顔モデル編集装置は、如何なる種類の端末アプリケーションにも適用可能である。
この実施例では、端末内で表示された顔モデルにおいて検出されたカーソルの位置に従って、顔モデルの複数の顔の部位のうち操作対象の顔の部位が決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、それにより、顔モデルにおいて編集された操作対象の顔の部位を表示する。すなわち、カーソルの位置を検出することにより、顔モデルの複数の顔の部位から選択された操作対象の顔の部位が決定され、それにより、操作対象の顔の部位についての編集プロセスを直接完了し、操作対象の顔の部位に対応するスライドブロックは、更なる制御リストの中でドラッグされる必要はない。したがって、ユーザは、顔モデルに対して顔のピッキング編集を直接実行することができ、それにより、顔モデルに対する編集操作を簡略化し、次に、顔モデルと制御リストの中のスライドブロックとの間を切り替えることにより引き起こされる比較的高い操作の複雑性の問題を克服する。さらに、編集操作は、顔モデルにおける顔の部位に対して直接実行され、それにより、ユーザは、端末内で表示された編集操作と編集された操作対象の顔の部位の変更効果とを直感的に見ることができ、見るものが得られるものであることを実現できる。したがって、編集操作は、ユーザ要求をより良く満たすことができ、ユーザ体験を改善できる。
この実施例では、カーソルの位置は、画面上に表示されたマウスの対応する位置を示すために使用されてもよいが、これに限定されない。
この実施例では、操作対象の顔の部位に対する選択操作が検出されたときに、方法は、操作対象の顔の部位を特別に表示することを含んでもよいが、これに限定されない。例えば、顔の部位はハイライトされるか、或いは描影が顔の部位に対して表示される。
この実施例では、編集は、以下のもの、すなわち、操作対象の顔の部位を移動すること、操作対象の顔の部位を回転すること、操作対象の顔の部位を拡大すること、及び操作対象の顔の部位を縮小することのうち少なくとも1つを含んでもよい。
この実施例では、カーソルの位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定することは、
位置における画素のカラー値を取得し、
カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定することを含む。
この実施例では、位置における画素のカラー値を取得することは、マスクマップにおいて、位置に対応する画素のカラー値を取得し、マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と1対1に対応する複数のマスク領域を含み、各マスク領域は1つの顔の部位に対応し、画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち1つを含んでもよいことを含んでもよいが、これに限定されない。
この実施例では、顔モデル上で貼り合わされたマスクマップ上の各マスク領域は、顔モデル上の1つの顔の部位に対応する。すなわち、顔モデル上で貼り合わされたマスクマップ上のマスク領域がカーソルを使用することにより選択されたときに、顔モデルにおける対応する顔の部位が選択されてもよく、それにより、顔モデル上の顔の部位を直接編集し、編集操作を簡略化する。
さらに、この実施例では、マスクマップ内の各マスク領域と、対応する画素のカラー値との間のマッピング関係は予め設定されてもよいが、予め設定されることに限定されない。例えば、表3に示す顔モデルにおける鼻は、6個の部位を具体的に含み、1つの赤カラー値(Rカラー値を使用することにより示される)が部位毎に設定され、誤りを回避するために、例えば、値は少なくとも10単位だけ互いに異なってもよいが、異なることに限定されない。
Figure 0006661780
すなわち、カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定することは、マスクマップにおいて、位置に対応する画素のRGBカラー値が取得された後に、画素のカラー値に対応するマスク領域がマッピング関係を問い合わせることにより取得されてもよく、次に、マスク領域に対応する操作対象の顔の部位が取得されることを含んでもよいが、これに限定されない。
この実施例では、表示された顔モデルにおけるカーソルの位置は、画素ピッキングのために顔ピッキング技術を使用することにより検出されてもよいが、画素ピッキングのために顔ピッキング技術を使用して検出されることに限定されない。画素ピッキングは、モデルオブジェクトが1単位として使用されるピッキング技術であり、ディスプレイ画面上でカーソルにより選択又はクリックされた仮想オブジェクトが検出され、カーソルが仮想オブジェクトと相互作用する方法である。仮想オブジェクトは、対応する顔モデルにおける顔の部位でもよいが、これに限定されない。
この実施例では、1つの識別子IDが仮想オブジェクト(すなわち、顔の部位)毎に設定され、次に、全てのピッキング可能な仮想オブジェクトが1つのrender targetに描画され、IDは定数レジスタにより取り入れられる。最後に、カーソルの現在の位置の部位のIDがGetRenderTarget()(すなわち、Direct3Dにおける1つの関数)を使用することにより取得される。
この実施例では、表示された顔モデルにおけるカーソルの位置を検出する前に、方法は、顔モデルと生成されたマスクマップとを表示し、マスクマップは顔モデル上で貼り合わされるように設定されることを更に含んでもよい。
顔モデルを取得するプロセスは以下の通りでもよい。
顔ピッキングシステムは、実際に、以下のコアHLSLコードを使用することにより実現される、マップカラーに敏感なピッキング方法である。
result.color0=tex2D(FacialMaskSampler,param.uv0);
result.color0.gb=param.uv0.xy;
floatdepth=EncodeFloatToRGBA8(param.homoDepth.x/param.homoDepth.y);
result.color1=float4(1.0f, 1.0f, 0, depth);//magic code marking for facial model map
画面上に表示された顔モデルは、以下のコードを使用することにより取得される。
tex2D(FacialMaskSampler,param.uv0);
result.color1=float4(1.0f, 1.0f, 0, depth)
1つの検証コードが画面内の画素毎に設定され、画素が顔モデルに属するか否かは、検証コードを使用することにより検証される。検証コードに一致する画素((1.0,1.0,0)に等しい)のみが顔モデルに従って処理される。
EncodingColorData(queryData,maskCode);
If(maskCode.r==0xff &&
maskCode.g==0xff &&
maskCode.b==0)
{
mDepthSelted=maskCode.a;
mIsPickingVaild=true;
}
画面上のカーソルの位置と、画面の現在の解像度とを検出することにより、カーソルの位置におけるユーザにより選択された画素が計算される。
この出願において提供されるこの実施例では、端末内で表示された顔モデルにおいて検出されたカーソルの位置に従って、顔モデルの複数の顔の部位のうち操作対象の顔の部位が決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、それにより、顔モデルにおいて編集された操作対象の顔の部位を表示する。すなわち、カーソルの位置を検出することにより、顔モデルの複数の顔の部位から選択された操作対象の顔の部位が決定され、それにより、操作対象の顔の部位についての編集プロセスを直接完了し、操作対象の顔の部位に対応するスライドブロックは、更なる制御リストの中でドラッグされる必要はない。したがって、ユーザは、顔モデルに対して顔のピッキング編集を直接実行することができ、それにより、顔モデルに対する編集操作を簡略化し、次に、顔モデルと制御リストの中のスライドブロックとの間を切り替えることにより引き起こされる比較的高い操作の複雑性の問題を克服する。
この出願のこの実施例では、決定ユニットは、
位置における画素のカラー値を取得するように構成された取得モジュールと、
カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定するように構成された決定モジュールと
を含む。
この実施例では、画素のカラー値は、マスクマップにおいて、カーソルの位置に対応する画素のカラー値でもよいが、これに限定されない。マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と1対1に対応する複数のマスク領域を含み、各マスク領域は1つの顔の部位に対応する。
この実施例では、マスクマップにおいて、カーソルの位置に対応する画素のカラー値は、赤チャネルのカラー値及び青チャネルのカラー値を含んでもよいが、これらに限定されない。画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち1つを含んでもよいが、これらに限定されない。
この実施例では、赤チャネルのカラー値により形成された顔は図4に示されるものでもよく(画像は赤で表示されるべきである)、異なる描影は、赤の異なるレベルを示し、左側の綾織で満たされた領域の色は、波状の点で満たされた領域の色より明るく、波状の点で満たされた領域の色は、交叉した綾織で満たされた領域の色より明るい。青チャネルのカラー値により形成された顔は図5に示されるものでもよい(画像は青で表示されるべきである)。
この実施例では、マスクマップ内の各マスク領域と、対応する画素のカラー値との間のマッピング関係は予め設定されてもよいが、予め設定されることに限定されない。したがって、カーソルの位置の画素のカラー値を使用することにより、顔モデルにおいて、カラー値に対応するマスク領域が決定され、次に、複数の顔の部位のうち操作対象の顔の部位が決定される。
例えば、表3を参照して、カーソルの位置における画素の取得されたRカラー値が200であるときに、対応するマスク領域は、予め設定されたマッピング関係を検索することにより決定されてもよく、次に、マスク領域に対応する操作対象の顔の部位は「鼻ばしら」である。
この出願において提供されるこの実施例では、カーソルの位置における画素の取得されたカラー値を使用することにより、複数の顔の部位のうち、カラー値に対応する操作対象の顔の部位が決定される。すなわち、操作対象の顔の部位は、カーソルの位置における画素のカラー値を使用することにより決定され、それにより、顔モデルにおける顔の部位に対する編集操作を直接実行し、それにより、編集操作を簡略化する。
この出願のこの実施例では、取得モジュールは、
マスクマップにおいて、位置に対応する画素のカラー値を取得するように構成された取得サブモジュールであり、マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と1対1に対応する複数のマスク領域を含み、各マスク領域は1つの顔の部位に対応する、取得サブモジュールを含み、
画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち1つを含む。
具体的には、以下の例を参照して説明が行われる。人間の解剖学に従って、1つの筋肉の部位の制御リストは、48個の骨格が影響を与えることができる筋肉の分類に従って取得され、1つの赤カラー値(Rカラー値を使用することにより示される)が部位毎に設定される。誤りを回避するために、値は少なくとも10単位だけ互いに異なる。さらに、顔上のこれらの部位の配分状況に従って、顔モデルに対応するマスクマップは、表4(いくつかの部位)に示すように、これらの部位に対応する画素のカラー値を使用することにより取得されてもよい。
Figure 0006661780
すなわち、顔モデルに対応するマスクマップは、マッピング関係における画素のカラー値に従って描画されてもよく、マスクマップは顔モデル上で貼り合わされ、マスクマップに含まれる複数のマスク領域は、複数の顔の部位と1対1に対応する。
この出願において提供されるこの実施例では、対応する画素のカラー値は、顔モデル上で貼り合わされたマスクマップを使用することにより取得され、それにより、カーソルの位置における画素のカラー値を正確に取得し、それにより、対応する操作対象の顔の部位がカラー値に従って取得される。
この出願のこの実施例では、装置は、
表示された顔モデルにおけるカーソルの位置が検出される前に、顔モデルと生成されたマスクマップとを表示するように構成された第2の表示ユニットであり、マスクマップは顔モデル上で貼り合わされるように設定される、第2の表示ユニットを更に含む。
具体的には、以下の例を参照して説明が行われる。表示された顔モデルにおけるカーソルの位置が検出される前に、図6に示す顔モデル及び生成されたマスクマップが端末画面上に表示され、マスクマップは顔モデル上で貼り合わされるように設定される。
この出願において提供されるこの実施例では、表示された顔モデルにおけるカーソルの位置が検出される前に、顔モデルと生成されたマスクマップとを結合することにより取得された画像が事前に表示され、それにより、カーソルの位置が検出されたときに、対応する位置は、マスクマップを使用することにより直接且つ迅速に取得されてもよく、次に、顔モデルの複数の顔の部位のうち操作対象の顔の部位が正確に取得され、それにより、編集効率を改善する。
この出願のこの実施例では、装置は、
操作対象の顔の部位に対する選択操作が検出されたときに、顔モデルにおいて操作対象の顔の部位をハイライトするように構成された第3の表示ユニットを更に含む。
この実施例では、操作対象の顔の部位に対する選択操作が検出されたときに、方法は、操作対象の顔の部位を特別に表示することを含んでもよいが、これに限定されない。例えば、顔の部位はハイライトされるか、或いは描影が顔の部位に対して表示される。
この出願において提供されるこの実施例では、操作対象の顔の部位がハイライトされ、それにより、ユーザは、顔モデルにおいて顔の部位に対して実行される編集操作と編集された顔の部位の変更効果とを直感的に見ることができ、見るものが得られるものであることを実現できる。したがって、編集操作は、ユーザ要求をより良く満たすことができ、ユーザ体験を改善できる。
この出願のこの実施例では、編集ユニットは、以下のもの、すなわち、
操作対象の顔の部位を移動するように構成された第1の編集モジュール、
操作対象の顔の部位を回転するように構成された第2の編集モジュール、
操作対象の顔の部位を拡大するように構成された第1の編集モジュール、及び
操作対象の顔の部位を縮小するように構成された第1の編集モジュール
のうち少なくとも1つを含む。
この実施例では、編集を実現する操作方式は、以下のもの、すなわち、クリック及びドラッグのうち少なくとも1つでもよいが、これらに限定されない。すなわち、以下の編集操作、すなわち、移動、回転、拡大及び縮小のうち少なくとも1つは、異なる操作方式の組み合わせを使用することにより、操作対象の顔の部位に対して実行されてもよい。
例えば、図3に示すように、操作対象の部位がクリックを用いて選択され、回転、縮小及び移動のような編集操作が操作対象の部位に対して実行されたときに、図3の左側から図3の右側に示す編集内容のプロセスが実現されてもよい。
この出願において提供されるこの実施例では、異なる編集操作が顔モデルにおける操作対象の顔の部位に対して直接実行され、それにより、編集操作を簡略化し、編集効率を改善し、従来技術における比較的高い操作の複雑性の問題を克服する。
この出願の実施例に従って、顔モデル編集方法を実現するように構成された顔モデル編集端末が更に提供される。図8に示すように、端末は、
顔モデルを取得するように構成された通信インタフェース802であり、顔モデルは複数の顔の部位を含む、通信インタフェース802と、
通信インタフェース802に接続され、顔モデルを記憶するように構成されたメモリ804と、
通信インタフェース802及びメモリ804に接続され、表示された顔モデルにおけるカーソルの位置を検出するように構成され、位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するように更に構成され、操作対象の顔の部位に対する選択操作を検出するように更に構成され、操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するように更に構成され、顔モデルにおいて編集された操作対象の顔の部位を表示するように更に構成されたプロセッサ806と
を含む。
この出願のこの実施例において、メモリ804は、第1の検出命令と、決定命令と、第2の検出命令と、編集命令と、第1の表示命令とを含む機械読み取り可能命令を記憶するように構成された不揮発性コンピュータ読み取り可能記憶媒体でもよい。この出願の他の実施例では、機械読み取り可能命令は、第2の表示命令と、第3の表示命令とを更に含む。
プロセッサ806は、メモリ804に記憶された機械読み取り可能命令を読み取るように構成され、それにより、実施例における顔モデル編集方法のステップ及び顔モデル編集装置内のユニットの機能を実現する。
この実施例における具体的な例については、顔モデル編集方法及び装置の実施例に記載の例を参照する。
この出願のこの実施例は、顔モデル編集方法を実現するために使用される適用シナリオを提供し、実施例の適用環境は、顔モデル編集方法及び装置の実施例のものと同じである。
この実施例では、顔モデル編集方法は、ゲームキャラクタの顔のメイクアッププロセス、又はゲームキャラクタの顔の化粧プロセスに適用されてもよいが、これらに適用されることに限定されない。例えば、ゲームキャラクタの顔をより繊細且つ美的にするために、ゲームキャラクタの顔は、実施例において提供される顔モデル編集方法を使用することにより編集されてもよく、それにより、クライアント内で表示されるゲームキャラクタの顔の繊細さを改善する。
この出願のこの実施例では、顔モデル編集方法がゲームキャラクタの顔のメイクアッププロセスに適用される例が使用される。例えば、ゲームキャラクタの有効部分はUV空間にトリミングされ、編集方法は、トリミング後に取得された顔の領域に適用され、それにより、異なる顔モデルを構築し、例えば、トリミング後に取得された目の部位のための目のメイクアップの複数のスタイルを設計する。このように、図9に示すように、ゲームキャラクタの顔型が構築されたときに、異なるメイクアップの見た目が、置換を実行するために、顔に基づくマップ(図9の右側に示す)上の局所部位の領域について選択されてもよい。例えば、提供された置換リソース、すなわち、目の部分の部位(図9に示す眉毛)のメイクアップの見た目の切り取られた画像(図9の中央に示す)が選択される。実線のフレームに示すメイクアップの見た目が選択された場合、図9の左側に示すように、ゲームキャラクタの最終的な顔型が取得されてもよい。この出願の実施例において提供される方法を使用することにより、ゲームキャラクタのメイクアップの見た目がより多様になってもよく、それにより、ゲームキャラクタの役の形式を豊富にする。
局所部位の領域の切り取られた画像を取得する具体的なプロセスは以下の通りでもよい。
DiffuseMap、SpecularMap及びNormalMap内の有効部分は、2のN乗(16*16、32*32、32*64、64*128)のサイズに従ってトリミングされ、座標位置が記録される。
レジストリ構成:
mMakeupID=”171”(メイクアップの見た目の美術リソースID)
<mTexSizeBias v="512"/> <mTexSizeBias v=”128”/> (トリミングのマップサイズ)
<mTexSizeBias v=”512” <mTexSizeBias v=”436”(元のサイズのマップ内のマップのインデックス位置)
レジストリ構成は、具体的には以下の通りでもよい。
<mFacialMakeupParts mMakeupID=”171” mMakeupID=”EMP_Eyebrow” mSexualType=”1” mDiffuseFilePath=”F_Eyebrow_0001_D.dds” mSpecFilePath=”F_Eyebrow_0001_S.dds” mNormalFilePath=”F_Eyebrow_0001_N.dds” mIconImage=”F_Eyebrow_0001”>
<mTexSizeBias IsStaticArray=”1” ArrayCount=”4” [XlsProp]=”0”>
<mTexSizeBias v =”512”/>
<mTexSizeBias v =”128”/>
<mTexSizeBias v =”512”/>
<mTexSizeBias v =”436”/>
</mTexSizeBias>
</mFacialMakeupParts>
例えば、図10に示すように、トリミングされたオブジェクトが目の部分の部位(眉毛等)として選択された後に、DiffuseMap、SpecularMap及びNormalMap内の対応するコンテンツがトリミングされ、元のサイズが1024*1024であるコンテンツは、トリミングサイズが512*128であるコンテンツにトリミングされる。
さらに、局所部位の領域の異なる切り取られた画像がトリミングを通じて取得された後にゲームキャラクタを構築するプロセスにおいて、必要な切り取られた画像は、ゲームキャラクタの顔を構築するためにクリックを用いて直接選択されてもよいが、これに限定されない。図11に示すように、「目のメイクアップ」、「唇のメイクアップ」又は「皮膚」のようなコンテンツのそれぞれ切り取られた画像が選択されて置換され、それにより、必要な顔型を取得する。
従来技術では、顔は、通常では退屈で複雑なスライドバー方式で編集される。しかし、この実施例において提供される顔編集方法を使用することにより、ゲームアプリケーション内の異なるユーザの要求が満たされることができるだけでなく、アプリケーション実行プロセスにおいて、ユーザがスムーズな実行のケースにおいて多様な顔の編集を実現することも確保でき、それにより、システム消費をかなり低減し、役の形式を豊富にする。
この出願の実施例は、記憶媒体を更に提供し、記憶媒体は不揮発性記憶媒体である。この実施例では、記憶媒体は、以下のステップ、すなわち、
表示された顔モデルにおけるカーソルの位置を検出するステップであり、表示された顔モデルは複数の顔の部位を含む、ステップと、
位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するステップと、
操作対象の顔の部位に対する選択操作を検出するステップと、
操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するステップと、
顔モデルにおいて編集された操作対象の顔の部位を表示するステップと
を実行するために使用されるプログラムコードを記憶するように構成される。
この実施例において、前述の記憶媒体は、USBフラッシュドライブ、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、取り外し可能ハードディスク、磁気ディスク又は光ディスクのようなプログラムコードを記憶できるいずれかの媒体を含んでもよいが、これらに限定されない。
この実施例における具体的な例について、顔モデル編集方法及び装置の実施例を参照する。
この出願の前述の実施例のシーケンス番号は、単に説明目的のためのものであり、実施例の好ましさを示すものではない。
前述の実施例における統合されたユニットがソフトウェア機能モジュールの形式で実現されて独立したプロダクトとして販売又は使用されるときに、統合されたユニットは、前述のコンピュータ読み取り可能記憶媒体に記憶されてもよい。このような理解に基づいて、この出願の技術的解決策は本質的に、或いは従来技術に寄与する部分、又は技術的解決策の全部若しくは一部は、ソフトウェアプロダクトの形式で実現されてもよい。コンピュータソフトウェアプロダクトは、記憶媒体に記憶され、1つ以上のコンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイス等でもよい)に対してこの出願の実施例に記載の方法のステップの全部又は一部を実行するように命令するためのいくつかの命令を含む。
この出願の前述の実施例において、実施例の説明は異なる重点を有し、1つの実施例において詳細に記載されていない部分については、他の実施例の関係する説明に参照が行われることができる。
本出願において提供されるいくつかの実施例において、開示のクライアントは他の方式で実現されてもよいことが理解されるべきである。記載の装置の実施例は、単なる例である。ユニットの分割は単に論理的な機能分割であり、実際の実現方式では他の分割でもよい。例えば、複数のユニット又はコンポーネントは組み合わされてもよく、或いは他のシステムに統合されてもよく、或いはいくつかの機能が省略されてもよく、或いは実行されなくてもよい。さらに、表示又は説明した相互結合又は直接結合若しくは通信接続は、いくつかのインタフェース通じて実現されてもよい。ユニット又はモジュールの間の間接結合又は通信接続は、電子的又は他の形式で実現されてもよい。
別々の部分として記載したユニットは、物理的に別々でもよく、或いは別々でなくてもよく、ユニットとして表示された部分は、物理ユニットでもよく、或いは物理ユニットでなくてもよく、1つの場所に位置してもよく、或いは複数のネットワークユニットに分散されてもよい。ユニットの一部又は全部は、実施例の解決策の目的を達成するために、実際のニーズに従って選択されてもよい。
さらに、この出願の実施例における機能ユニットは、1つの処理ユニットに統合されてもよく、或いはユニットのそれぞれが物理的に別々に存在してもよく、或いは2つ以上のユニットが1つのユニットに統合されてもよい。統合されたユニットは、ハードウェアの形式で実現されてもよく、或いはソフトウェア機能ユニットの形式で実現されてもよい。
前述の説明は、この出願の単に好ましい実施例に過ぎず、当業者は、この出願の要旨を逸脱することなく、様々な改善及び改良を行い得る点に留意すべきである。全てのこのような変更及び改良も、この出願によりカバーされることを意図するべきである。

Claims (10)

  1. 顔モデル編集方法であって、
    表示された顔モデルにおけるカーソルの位置を検出するステップであり、前記表示された顔モデルは複数の顔の部位を含む、ステップと、
    前記位置に従って、前記複数の顔の部位のうち操作対象の顔の部位を決定するステップと、
    前記操作対象の顔の部位に対する選択操作を検出するステップと、
    前記操作対象の顔の部位に対する取得された編集操作に応じて、前記操作対象の顔の部位を編集するステップと、
    前記顔モデルにおいて前記編集された操作対象の顔の部位を表示するステップと
    を含み、
    前記位置に従って、前記複数の顔の部位のうち操作対象の顔の部位を決定するステップは、
    前記位置における画素のカラー値を取得するステップと、
    前記カラー値に対応する、前記複数の顔の部位のうち前記操作対象の顔の部位を決定するステップと
    を含む、方法。
  2. 前記位置における画素のカラー値を取得するステップは、
    マスクマップにおいて、前記位置に対応する前記画素の前記カラー値を取得するステップであり、前記マスクマップは前記顔モデル上で貼り合わされ、前記マスクマップは前記複数の顔の部位と1対1に対応する複数のマスク領域を含み、各マスク領域は1つの顔の部位に対応し、前記画素の前記カラー値は以下のもの、すなわち、前記画素の赤カラー値、前記画素の緑カラー値及び前記画素の青カラー値のうち1つを含む、ステップを含む、請求項に記載の方法。
  3. 表示された顔モデルにおけるカーソルの位置を検出する前に、前記方法は、
    前記顔モデルと生成されたマスクマップとを表示するステップであり、前記マスクマップは前記顔モデル上で貼り合わされるように設定される、ステップを更に含む、請求項に記載の方法。
  4. 前記操作対象の顔の部位に対する前記選択操作が検出されたときに、前記方法は、
    前記顔モデルにおいて前記操作対象の顔の部位をハイライトするステップを更に含む、請求項1に記載の方法。
  5. 前記操作対象の顔の部位に対する取得された編集操作に応じて、前記操作対象の顔の部位を編集するステップは、以下のもの、すなわち、
    前記操作対象の顔の部位を移動するステップ、
    前記操作対象の顔の部位を回転するステップ、
    前記操作対象の顔の部位を拡大するステップ、及び
    前記操作対象の顔の部位を縮小するステップ
    のうち少なくとも1つを含む、請求項1乃至のうちいずれか1項に記載の方法。
  6. 顔モデル編集装置であって、
    表示された顔モデルにおけるカーソルの位置を検出するように構成された第1の検出ユニットであり、前記表示された顔モデルは複数の顔の部位を含む、第1の検出ユニットと、
    前記位置に従って、前記複数の顔の部位のうち操作対象の顔の部位を決定するように構成された決定ユニットと、
    前記操作対象の顔の部位に対する選択操作を検出するように構成された第2の検出ユニットと、
    前記操作対象の顔の部位に対する取得された編集操作に応じて、前記操作対象の顔の部位を編集するように構成された編集ユニットと、
    前記顔モデルにおいて前記編集された操作対象の顔の部位を表示するように構成された第1の表示ユニットと
    を含み、
    前記決定ユニットは、
    前記位置における画素のカラー値を取得するように構成された取得モジュールと、
    前記カラー値に対応する、前記複数の顔の部位のうち前記操作対象の顔の部位を決定するように構成された決定モジュールと
    を含む、装置。
  7. 前記取得モジュールは、
    マスクマップにおいて、前記位置に対応する前記画素の前記カラー値を取得するように構成された取得サブモジュールであり、前記マスクマップは前記顔モデル上で貼り合わされ、前記マスクマップは前記複数の顔の部位と1対1に対応する複数のマスク領域を含み、各マスク領域は1つの顔の部位に対応し、前記画素の前記カラー値は以下のもの、すなわち、前記画素の赤カラー値、前記画素の緑カラー値及び前記画素の青カラー値のうち1つを含む、取得サブモジュールを含む、請求項に記載の装置。
  8. 示された顔モデルにおける前記カーソルの前記位置が検出される前に、前記顔モデルと生成されたマスクマップとを表示するように構成された第2の表示ユニットであり、前記マスクマップは前記顔モデル上で貼り合わされるように設定される、第2の表示ユニットを更に含む、請求項に記載の装置。
  9. 前記操作対象の顔の部位に対する前記選択操作が検出されたときに、前記顔モデルにおいて前記操作対象の顔の部位をハイライトするように構成された第3の表示ユニットを更に含む、請求項に記載の装置。
  10. 前記編集ユニットは、以下のもの、すなわち、
    前記操作対象の顔の部位を移動するように構成された第1の編集モジュール、
    前記操作対象の顔の部位を回転するように構成された第2の編集モジュール、
    前記操作対象の顔の部位を拡大するように構成された第3の編集モジュール、及び
    前記操作対象の顔の部位を縮小するように構成された第4の編集モジュール
    のうち少なくとも1つを含む、請求項乃至のうちいずれか1項に記載の装置。
JP2018545644A 2016-03-10 2017-03-09 顔モデル編集方法及び装置 Active JP6661780B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610136300.1A CN107180453B (zh) 2016-03-10 2016-03-10 人物面部模型的编辑方法及装置
CN201610136300.1 2016-03-10
PCT/CN2017/076029 WO2017152848A1 (zh) 2016-03-10 2017-03-09 人物面部模型的编辑方法及装置

Publications (2)

Publication Number Publication Date
JP2019512141A JP2019512141A (ja) 2019-05-09
JP6661780B2 true JP6661780B2 (ja) 2020-03-11

Family

ID=59788998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018545644A Active JP6661780B2 (ja) 2016-03-10 2017-03-09 顔モデル編集方法及び装置

Country Status (5)

Country Link
US (1) US10628984B2 (ja)
JP (1) JP6661780B2 (ja)
KR (1) KR102089473B1 (ja)
CN (1) CN107180453B (ja)
WO (1) WO2017152848A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108579091B (zh) * 2018-04-27 2022-08-05 网易(杭州)网络有限公司 虚拟场景生成方法、装置、存储介质及电子设备
CN109285209B (zh) * 2018-09-14 2023-05-26 网易(杭州)网络有限公司 游戏角色的面部模型的处理方法、装置、处理器及终端
CN110111417B (zh) * 2019-05-15 2021-04-27 浙江商汤科技开发有限公司 三维局部人体模型的生成方法、装置及设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687259A (en) 1995-03-17 1997-11-11 Virtual Eyes, Incorporated Aesthetic imaging system
US6362829B1 (en) * 1996-03-07 2002-03-26 Agfa Corporation Method for modifying a digital image
KR20010056965A (ko) * 1999-12-17 2001-07-04 박희완 부분 이미지 합성에 의한 인물 캐릭터 생성 방법
CN1296872C (zh) * 2003-11-11 2007-01-24 易连科技股份有限公司 快速建立人脸影像平面模型的方法
US7593603B1 (en) * 2004-11-30 2009-09-22 Adobe Systems Incorporated Multi-behavior image correction tool
WO2007128117A1 (en) * 2006-05-05 2007-11-15 Parham Aarabi Method. system and computer program product for automatic and semi-automatic modification of digital images of faces
CN101021943A (zh) * 2007-04-06 2007-08-22 北京中星微电子有限公司 一种图像调整的方法和系统
US20090231356A1 (en) * 2008-03-17 2009-09-17 Photometria, Inc. Graphical user interface for selection of options from option groups and methods relating to same
WO2011120206A1 (en) * 2010-04-02 2011-10-06 Nokia Corporation Methods and apparatuses for face detection
JP2012004719A (ja) * 2010-06-15 2012-01-05 Nikon Corp 画像処理装置及びプログラム、並びに電子カメラ
US20120221297A1 (en) * 2011-02-24 2012-08-30 Siemens Product Lifecycle Management Software, Inc. Global Deformation for a Modeled Object
CN103207745B (zh) * 2012-01-16 2016-04-13 上海那里信息科技有限公司 虚拟化身交互系统和方法
CN102999929A (zh) * 2012-11-08 2013-03-27 大连理工大学 一种基于三角网格化的人物图像瘦脸处理方法
US9747716B1 (en) * 2013-03-15 2017-08-29 Lucasfilm Entertainment Company Ltd. Facial animation models
CN104103090A (zh) * 2013-04-03 2014-10-15 北京三星通信技术研究有限公司 图像处理方法、个性化人体显示方法及其图像处理系统
US9603437B2 (en) * 2013-04-08 2017-03-28 Panasonic Intellectual Property Corporation Of America Image processing device, image processing method, and program, capable of virtual reproduction of makeup application state
JP6171635B2 (ja) * 2013-07-04 2017-08-02 ティアック株式会社 編集処理装置及び編集処理プログラム
CN104156912B (zh) * 2014-08-18 2018-11-06 厦门美图之家科技有限公司 一种人像增高的图像处理的方法
KR20170046140A (ko) * 2014-08-29 2017-04-28 톰슨 라이센싱 얼굴 이미지 편집 방법 및 디바이스
CN105389835B (zh) * 2014-09-03 2019-07-12 腾讯科技(深圳)有限公司 一种图像处理方法、装置及终端
CN104616330A (zh) * 2015-02-10 2015-05-13 广州视源电子科技股份有限公司 一种图片的生成方法和装置
CN107924579A (zh) * 2015-08-14 2018-04-17 麦特尔有限公司 生成个性化3d头部模型或3d身体模型的方法
US10417738B2 (en) * 2017-01-05 2019-09-17 Perfect Corp. System and method for displaying graphical effects based on determined facial positions

Also Published As

Publication number Publication date
CN107180453A (zh) 2017-09-19
CN107180453B (zh) 2019-08-16
KR20180108799A (ko) 2018-10-04
JP2019512141A (ja) 2019-05-09
KR102089473B1 (ko) 2020-03-16
US10628984B2 (en) 2020-04-21
US20180365878A1 (en) 2018-12-20
WO2017152848A1 (zh) 2017-09-14

Similar Documents

Publication Publication Date Title
US11412292B2 (en) Video processing method, video processing device, and storage medium
US10854017B2 (en) Three-dimensional virtual image display method and apparatus, terminal, and storage medium
KR102169918B1 (ko) 인물 얼굴 모델의 표정 애니메이션 생성 방법 및 장치
CN106570822B (zh) 一种人脸贴图方法及装置
US20200020173A1 (en) Methods and systems for constructing an animated 3d facial model from a 2d facial image
WO2020215792A1 (zh) 游戏视角控制方法及装置
KR20150038518A (ko) 사진을 이용한 운영체제 색상 세팅
CN110072046B (zh) 图像合成方法和装置
WO2020134558A1 (zh) 图像处理方法、装置、电子设备及存储介质
JP6661780B2 (ja) 顔モデル編集方法及び装置
US8675014B1 (en) Efficiently detecting graphics objects near a selected point
CN106447756B (zh) 用于生成用户定制的计算机生成动画的方法和系统
US20220230379A1 (en) Three-dimensional avatar generation and manipulation using shaders
JP2022545598A (ja) 仮想対象の調整方法、装置、電子機器、コンピュータ記憶媒体及びプログラム
CN112965681B (zh) 图像处理方法、装置、设备、及存储介质
WO2023045941A1 (zh) 图像处理方法及装置、电子设备和存储介质
CN111583379A (zh) 虚拟模型的渲染方法、装置、存储介质与电子设备
US10120539B2 (en) Method and device for setting user interface
JP5767371B1 (ja) 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
WO2020173222A1 (zh) 物品虚拟化处理方法、装置、电子设备及存储介质
US11127218B2 (en) Method and apparatus for creating augmented reality content
CN112370786A (zh) 游戏中的妆容绘制方法、装置和电子设备
US11928757B2 (en) Partially texturizing color images for color accessibility
JP2016016319A (ja) 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
TWI799012B (zh) 呈現立體空間模型的電子裝置及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200212

R150 Certificate of patent or registration of utility model

Ref document number: 6661780

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250