JP2022550555A - 画像処理方法、装置、電子機器及びコンピュータプログラム - Google Patents

画像処理方法、装置、電子機器及びコンピュータプログラム Download PDF

Info

Publication number
JP2022550555A
JP2022550555A JP2022520106A JP2022520106A JP2022550555A JP 2022550555 A JP2022550555 A JP 2022550555A JP 2022520106 A JP2022520106 A JP 2022520106A JP 2022520106 A JP2022520106 A JP 2022520106A JP 2022550555 A JP2022550555 A JP 2022550555A
Authority
JP
Japan
Prior art keywords
skeletal
pose
surface model
model
target
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.)
Granted
Application number
JP2022520106A
Other languages
English (en)
Other versions
JP7299414B2 (ja
Inventor
杰 ▲劉▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of JP2022550555A publication Critical patent/JP2022550555A/ja
Application granted granted Critical
Publication of JP7299414B2 publication Critical patent/JP7299414B2/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
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • 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
    • 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/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Architecture (AREA)
  • Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Geometry (AREA)
  • General Health & Medical Sciences (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本願は、画像処理方法、装置、電子機器及び記憶媒体を提供し、前記方法は、電子機器が、仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するステップと、前記仮想オブジェクトの第2骨格姿勢を取得するステップと、前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成するステップと、前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定するステップと、座標空間内の前記参照表面モデル及び前記範例表面モデルに従って前記仮想オブジェクトを生成するために、前記姿勢変換行列に基づいて、前記範例表面モデル及び前記参照表面モデルを同じ座標空間に変換するステップとを有する。

Description

本願は、2020年01月14日に中国特許局に提出された、出願番号が202010036516.7である中国特許出願の優先権を主張するものであり、当該中国特許出願の全ての内容が参照により本願に援用される。
本願は、画像処理分野に関し、特に、画像処理方法、装置、電子機器及びコンピュータ可読記憶媒体に関する。
情報技術の急速な発展に伴い、環境を感知し、情報を取得するためのチャネルが拡大される。特に、実際のニーズに応じて仮想オブジェクトの表示を実現できる仮想化表示技術は、ユーザとのインタラクションのためにゲームの仮想シーンに仮想オブジェクトを表示することなど、様々な典型的な応用シーンを有する。
技術の継続的な開発と更新の過程で、ユーザは、仮想オブジェクトに対する要求もますます高くなっている。例えば、仮想オブジェクトをより現実的で、鮮やかで、芸術的表現力を有することを要求している。主に視覚出力情報に依存する仮想オブジェクトの場合、ユーザの要求を満たすための最も直接的な方法は、視覚方面で最適化を実行することであるため、仮想オブジェクトの生成段階では、仮想オブジェクトに様々な表面変形(仮想オブジェクトの特定の部分を振るようにするなど)を加える要求がある。
本願実施例では、
仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するステップと、
前記仮想オブジェクトの第2骨格姿勢を取得するステップと、
前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成するステップと、
前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定するステップと、
座標空間内の前記参照表面モデル及び前記範例表面モデルに従って前記仮想オブジェクトを生成するために、前記姿勢変換行列に基づいて、前記範例表面モデル及び前記参照表面モデルを同じ座標空間に変換するステップと
を有する画像処理方法を提供する。
本願実施例では、
仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するように構成される第1取得モジュールと、
前記仮想オブジェクトの第2骨格姿勢を取得するように構成される第2取得モジュールと、
前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成するように構成される生成モジュールと、
前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定するように構成される行列決定モジュールと、
座標空間内の前記参照表面モデル及び前記範例表面モデルに従って前記仮想オブジェクトを生成するために、前記姿勢変換行列に基づいて、前記範例表面モデル及び前記参照表面モデルを同じ座標空間に変換するように構成される座標空間変換モジュールと
を有する画像処理装置を提供する。
本願実施例では、
メモリ及びプロセッサを有し、前記メモリは、コンピュータ可読命令を記憶するように構成され、前記プロセッサは、前記メモリに記憶されたコンピュータ可読命令を実行し、それにより、本願実施例による画像処理方法を実行するように構成される、電子機器を提供する。
本願実施例では、
コンピュータ可読命令を記憶し、前記コンピュータ可読命令がプロセッサによって実行されるとき、本願実施例による画像処理方法を実行する、コンピュータ可読記憶媒体を提供する。
添付の図面を参照しながらその実施例を詳細に説明することによって、本願の上記した及び他の目的、特徴、及び利点は、より明らかになる。
本願実施例による画像処理システムのアーキテクチャの概略図である。 本願実施例によるゲームシーンに適用される画像処理システムのアーキテクチャの概略図である。 本願実施例による画像処理方法のフローチャートである。 本願実施例による画像処理方法のフローチャートである。 本願実施例による画像処理方法のフローチャートである。 本願実施例による素材リソース生成段階のフローチャートである。 本願実施例による仮想オブジェクトの生成段階のフローチャートである。 本願実施例によるMayaソフトウェアで仮想オブジェクトを生成するための端末インターフェース図である。 本願実施例による画像処理装置のブロック図である。 本願実施例による電子機器のハードウェア図である。
次に、添付の図面を参照しながら例示的な実施形態をより完全に説明する。しかしながら、例示的な実施形態は、様々な形態で実施することができ、本明細書に記載の実施例に限定されると理解されるべきではなく、むしろ、これらの例示的な実施形態は、本願の説明を十分かつ完全にし、例示的な実施形態の構想を当業者に十分に伝えるために提供される。添付の図面は、本願の単なる概略図であり、必ずしも一定の縮尺通りに描く必要はない。添付の図面において、同じ参照番号は、同じ又は類似した部品を表すため、ここでは繰り返して説明しない。
更に、説明された特徴、構造又は特性は、任意の適切な方法で1つ又は複数の実施形態に組み合わせることができる。以下の説明では、本願の例示的な実施形態を完全に理解するために、多くの特定の詳細が提供される。しかしながら、当業者は、本願の技術的解決策を実施するために1つ又は複数の特定の詳細が省略され得るか、又は他の方法、構成要素、ステップなどが使用され得ることを理解すべきである。その他の場合、本願の各側面を曖昧にすることを避けるために、既知の構造、方法、実現、又は動作を詳細に示さず、又は説明しない。
図面に示されたブロック図の一部は機能的実体であり、必ずしも物理的又は論理的に独立した実体に対応するわけではない。これらの機能的実体は、ソフトウェアの形で実現され、又は、1つ又は複数のハードウェアモジュール又は集積回路に実現され、又は異なるネットワーク及び/又はプロセッサデバイス及び/又はマイクロコントローラデバイスに実現され得る。
以下の説明において、「いくつかの実施例」という用語は、全ての可能な実施例のサブセットを説明するが、「いくつかの実施例」は、全ての可能な実施例の同じサブセット又は異なるサブセットであり得、競合することがない場合に組み合わせることができることが理解できる。以下の説明において、「複数」という用語は、少なくとも2つを意味する。
特に定義されていない限り、本明細書で使用されるすべての技術用語及び科学用語は、本願の技術分野に属する当業者によって通常理解されるものと同じ意味を有する。本明細書で使用される用語は、単に本願実施例を説明するためのものであり、本願を限定することを意図するものではない。
まず、本願の実施例における関連するいくつかの概念について簡単に説明する。
1)仮想シーン:機器によって出力された、実世界とは異なるシーンであり、例えば、表示画面により出力される2D映像や、立体投影、仮想現実、拡張現実などの立体表示技術によって出力される3D映像など、肉眼又は機器の補助を介して仮想シーンに対して視覚的知覚を形成でき、更に、様々な可能なハードウェアを介して、聴覚的知覚、触覚的知覚、嗅覚的知覚、運動知覚など、実世界のシミュレーションの様々な知覚を形成することができる。
2)仮想オブジェクト:仮想シーン内でインタラクションできる様々な人及び物の形象、又は仮想シーン内の可動オブジェクトであり、仮想オブジェクトは、ゲームエンジン、描画ソフトウェア、又は別の画像処理ツールを使用して生成することができ、仮想オブジェクトを生成するために使用されるコア技術は、3D画像技術である。当該可動オブジェクトは、仮想人物、仮想動物、漫画キャラクタなどであり得、例えば、仮想シーンに表示される人物、動物、植物、ドラム缶、壁、又は石であり得る。当該仮想オブジェクトは、当該仮想シーン内のユーザを表す仮想なアバタであり得る。仮想オブジェクトは、仮想シーン内で独自の形状とボリュームを有し、仮想シーン内の空間の一部を占める。本願実施例において、仮想オブジェクトは、アニメキャラクタであり得、本願実施例で提供される画像処理方法は、骨格アニメーションにおけるアニメキャラクタの画像処理プロセスに適用され得る。
3)骨格アニメーション(Skeletal Animation):モデルアニメーションの一種である。骨格アニメーションでは、仮想オブジェクト(アニメキャラクタなど)は、骨格姿勢、表面モデルなどの少なくとも2種類のデータを含む。ここで、骨格姿勢は、仮想オブジェクト「骨格」の向き及び位置を記載し、表面モデルは、仮想オブジェクトの表面上の複数の頂点を記載し、即ち、表面モデルは、仮想オブジェクトの表面上の一連の頂点の集合として理解できる。骨格姿勢の変化は、対応的に表面モデルの変化を駆動でき、それにより、骨格姿勢を駆動することにより、対応するアニメーションを生成することができる。
4)スキニング:「骨格姿勢の変化が対応的に表面モデルの変化を駆動できる」ことを実現するために、仮想オブジェクトの表面上のどの頂点が特定の骨格により駆動されることができるかを定義する必要があるが、仮想オブジェクトの表面上のどの頂点が特定の骨格によって駆動されることができるかを定義する(即ち、特定の骨格を仮想オブジェクトの表面上の特定の頂点にバインドする)プロセスをスキニングと呼ぶ。
5)骨格スキニングモデル:骨格姿勢に従って表面モデルをスキニングした後の骨格スキニング情報を有するモデルである。骨格スキニングモデルは、主に、表面情報(表面データ)、骨格スキニング情報の2つの情報を含む。
6)表面変形:仮想オブジェクトの生成を実行するとき、特定のサービス要件を満たすために、仮想オブジェクトに追加表面変形を加える必要がある場合がある。例えば、スキニング及びその他の必要な処理の後、ふっくらしたアニメキャラクタが生成されるが、実際のサービス要件では、当該アニメキャラクタを動かす必要がある場合、アニメキャラクタの腰の贅肉が実生活と同じように振れることがある。更に、芸術的なニーズを満たすために、脂肪は実生活よりも誇張して振れる。この場合、脂肪の振れをシミュレートできる追加表面変形をアニメーションキャラクタに加える必要がある。実際の応用では、追加表面変形は非線形表面変形であり得、更に、変形規則を捉えることが難しい複雑な非線形表面変形であり得ることが理解され得る。
7)素材リソース:本願実施例において、仮想オブジェクトの生成を実際に実行する前に、関連する素材リソースの作成(製造)を事前に実行し、素材リソースは、参照表面モデル及び範例表面モデルを含む。ここで、参照表面モデルは、事前に設定された最も基本的な素材リソースであり、1つだけであり得、範例表面モデルは、参照表面モデルの基で更に取得された素材リソースであり、1つだけ、又は少なくとも2つであり得る。
技術の発展に伴い、仮想オブジェクトの視覚的表現に対する要求はますます高まり、仮想オブジェクトの生成段階では、様々な表面変形(複雑な非線形表面変形など)を仮想オブジェクトに加える必要がある。しかしながら、現在の骨格アニメーション技術では、仮想オブジェクトの生成段階で表面変形処理をサポートできず、表面変形との互換性が低く、上記の要件を満たせない。
これを鑑みて、本願実施例は、画像処理方法、装置、電子機器及びコンピュータ可読記憶媒体を提供し、素材リソースの生成プロセスに対する表面変形の影響を回避し、それにより、仮想オブジェクトの生成段階での表面変形処理をサポートし、表面変形との互換性を向上させることができる。
一例として、図1を参照すると、図1は、本願実施例による画像処理システムのアーキテクチャ図であり、図1において、画像処理システムは、第1端末機器10、サーバ20及び第2端末機器30を含む。
いくつかの実施例において、電子機器が端末機器であることを例として、本願実施例による画像処理方法は、端末機器によって実現できる。理解を容易にするために、第1端末機器10を例として説明する。例えば、第1端末機器10は、素材リソースを生成する動作を実行することができ、ここで、第1端末機器10は、素材リソースの生成に関連する機能、例えば、表面モデルを決定する機能、骨格姿勢を調整する機能などを、第1ユーザに提供して、第1ユーザの動作の下で素材リソースを生成することができる。第1端末機器10は、生成された素材リソースをローカルに記憶し、必要に応じて、記憶された素材リソースに従って、仮想オブジェクトの生成を実行し、生成された仮想オブジェクトに対してレンダリング処理を実行して、出力された仮想シーンに仮想オブジェクトを表示するなど、仮想オブジェクトを表示する。このような方法は、端末機器の強力なコンピューティング機能を備えるシーンに適用される。
いくつかの実施例において、電子機器がサーバであることを例として、本願実施例による画像処理方法は、サーバによって実現できる。例えば、サーバ20は、素材リソースの自動生成を実行することができ、例えば、事前に記憶された第1骨格姿勢、第2骨格姿勢及び参照表面モデルに従って、素材リソースを生成し、生成された素材リソースをローカルに記憶する。サーバ20は更に、記憶された素材リソースに従って、仮想オブジェクトの生成を実行し、生成された仮想オブジェクトのレンダリング情報を端末機器に送信して、端末機器が仮想オブジェクトを表示するようにし、例えば、端末機器によって出力された仮想シーンに仮想オブジェクトを表示する。
いくつかの実施例において、本願実施例による画像処理方法は更に、端末機器及びサーバによって協調的に実現できる。例えば、素材リソースの生成段階では、主に第1端末機器10及びサーバ20に関する。ここで、第1端末機器10は、主にフロントエンドとして機能し、第1ユーザの動作に応答して素材リソースを生成するために使用され、サーバ20は、主にリアエンドとして機能し、素材リソースの生成過程で第1端末機器10のために、対応する機能的サポート(表面モデルを決定する機能、骨格姿勢を調整する機能など)を提供し、第1端末機器10によって送信された素材リソースを記憶するために使用される。
仮想オブジェクトの生成段階では、第2端末機器30及びサーバ20が主に関与する。ここで、サーバ20は、主にリアエンドとして機能し、記憶された素材リソースに従って仮想オブジェクトを生成し、生成された仮想オブジェクトのレンダリングデータを第2端末機器30に送信するために使用され、第2端末機器30は、主にフロントエンドとして機能し、サーバ20から受信したレンダリングデータに従ってレンダリング処理を実行して、当該仮想オブジェクトを表示するために使用され、例えば、出力された仮想シーンに仮想オブジェクトを表示して、第2ユーザが視聴又はインタラクションすることを容易にする。一例として、図1は、第2端末機器30によって出力された仮想シーン31及び仮想シーン31内の仮想オブジェクト32を示し、仮想シーン31及び仮想オブジェクト32は、第2端末機器30のグラフィカルインターフェースに表示することができる。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
一例として、図2を参照すると、図2は、本願実施例によるゲームシーンにおける画像処理システムのアーキテクチャ図であり、図2における画像処理システムは、モデラー端末機器40、ゲームサーバ50及びゲームプレーヤ端末機器60を含む。理解を容易にするために、本願実施例による画像処理方法が端末機器及びサーバによって協調的に実施される場合を例として説明する。
素材リソースの生成段階では、モデラー端末機器40、ゲームサーバ50が主に関与する。ここで、モデラー端末機器40は、主にフロントエンドとして機能し、ゲーム素材リソース(例えば、自然な立ち姿勢のゲームキャラクタの表面モデル、両手を広げた姿勢のゲームキャラクタの表面モデルなど)の作成動作に応答してゲーム素材リソースを生成するために使用され、ゲームサーバ50は、主にリアエンドとして機能し、素材リソースの生成過程でモデラー端末機器40のために、対応する機能的サポートを提供し、モデラー端末機器40によって送信されたゲーム素材リソースを記憶するために使用される。
ここで、モデラーは、モデラー端末機器40で対応するアートワーク(例えば、デジタル製図板を使用してゲームキャラクタの表面モデルを修正したり、マウス命令やキーボード命令を使用してゲームキャラクタの表面モデルを修正したりする)を実行することができ、このようにして、モデラー端末機器40は、ゲームサーバ50のサポートの下で、対応するゲーム素材リソース生成することができる。
仮想オブジェクトの生成段階では、ゲームプレーヤ端末機器60及びゲームサーバ50が主に関与する。ここで、ゲームサーバ50は、主にリアエンドとして機能し、記憶されたゲーム素材リソースに従って仮想オブジェクトを生成するために使用され、ここで、仮想オブジェクトがゲームキャラクタである場合を例として、ゲームサーバ50は更に、生成された仮想オブジェクトのレンダリングデータをゲームプレーヤ端末機器60に送信するために使用され、ゲームプレーヤ端末機器60は、主にフロントエンドとして機能し、ゲームサーバ50から受信したレンダリングデータに従ってレンダリング処理を実行して、当該仮想オブジェクトを表示するために使用され、例えば、出力された仮想シーンに仮想オブジェクトを表示する。一例として、図2では、ゲームプレーヤ端末機器60によって出力されたゲーム仮想シーン61及びゲーム仮想シーン61内のゲームキャラクタ62を示している。
ここで、ゲームプレーヤは、ゲームプレーヤ端末装置60で、ゲーム動作(例えば、マウスを使用してゲームキャラクタ62の動きを制御し、キーボードを使用してゲームキャラクタ62のスキルキャストを制御し、又は画面をタッチすることによってゲームキャラクタ62の動き及びスキルキャストを制御する)を実行して、ゲームプレーヤ端末装置60に表示されるゲームキャラクタ62を制御することができる。このプロセスでは、ゲームプレーヤ端末機器60は、プレーヤのゲーム動作に応答して、対応する命令を生成し、その命令をゲームサーバ50に送信する。ゲームサーバ50は、受信された命令に従って、記憶されたゲーム素材リソースと組み合わせて新しいゲームキャラクタを生成することができる。例えば、図2に示されるゲームキャラクタ62はジャンプ状態にあり、生成された新しいゲームキャラクタは、立ち状態のゲームキャラクタ62であり、即ち、骨格の姿勢が修正される。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
いくつかの実施例において、端末機器は、コンピュータプログラムを実行することによって、本願実施例による画像処理方法を実施でき、例えば、コンピュータプログラムは、オペレーティングシステム内のネイティブプログラム又はソフトウェアモジュールであってもよく、ネイティブ(Native)アプリケーション(APP、Application)、即ち、ゲームアプリケーションなどの、実行するためにオペレーティングシステムにインストールする必要のあるプログラムであってもよく、小さなプログラム、即ち、ブラウザ環境にダウンロードするだけで実行できるプログラムであってもよく、更に、任意のAPPに埋め込むことができる小さなプログラムであってもよい。要約すると、上記のコンピュータプログラムは、任意の形式のアプリケーション、モジュール、又はプラグインであり得る。
本願実施例は、クラウド技術(Cloud Technology)によって実施でき、クラウド技術は、ハードウェア、ソフトウェア、ネットワークなどの一連のリソースを、ワイドエリアネットワーク又はローカルエリアネットワークに統合して、データのコンピューティング、記憶、処理及び共有を実現するホスティング技術である。別の意味では、クラウド技術は、ネットワーク技術、情報技術、統合技術、管理プラットフォーム技術、及びクラウドコンピューティングサービスモデルに基づくアプリケーション技術の総称でもあり、リソースプールを形成し、必要に応じて使用し、柔軟かつ便利に使用できる。クラウドコンピューティング技術は重要なサポートになる。技術ネットワークシステムのバックグラウンドサービスには、大量のコンピューティングリソース及び記憶リソースが必要である。
いくつかの実施例において、上記のサーバは、独立した物理サーバであってもよく、複数の物理サーバで構成されたサーバクラスタ又は分散システムであってもよく、更に、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメインネームサービス、セキュリティサービス、CDN、ビッグデータ及び人工知能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供するクラウドサーバであってもよく、例えば、クラウドサービスは、端末機器に呼び出すための、素材リソースを生成するサービス又は仮想オブジェクトを生成するサービスであってもよい。端末機器は、スマートフォン、タブレットコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、携帯情報端末、ウェアラブルデバイス、及び医用画像機器などであり得るが、これらに限定されない。端末機器及びサーバは、有線又は無線通信を介して直接又は間接的に接続することができ、本願実施例はこれらに限定されない。
本願実施例による電子機器の例示的な適用及び実施を参照して、本願実施例による画像処理方法を説明する。
図3Aを参照すると、図3Aは、本願実施例による画像処理方法の1つのフローチャートであり、図3Aに示されるステップを組み合わせて説明する。
ステップ410.仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得する。
ステップ420.仮想オブジェクトの第2骨格姿勢を取得する。
ステップ430.参照表面モデル及び第2骨格姿勢に基づいて、第2骨格姿勢の範例表面モデルを生成する。
ステップ440.第1骨格姿勢と第2骨格姿勢との姿勢変換行列を決定する。
ステップ450において、座標空間内の参照表面モデル及び範例表面モデルに従って仮想オブジェクトを生成するために、姿勢変換行列に基づいて、範例表面モデル及び参照表面モデルを同じ座標空間に変換する。
本願実施例において、素材リソースの生成段階では、電子機器が参照表面モデルに従って範例表面モデルを生成した後、第1骨格姿勢(参照表面モデルに対応する骨格姿勢)と第2骨格姿勢(範例表面モデルに対応する骨格姿勢)との姿勢変換行列に基づいて、範例表面モデル及び参照表面モデルを同じ座標空間に変換して、同じ座標空間の素材リソースを取得する。このようにして、素材リソースの生成プロセスに対する表面変形の影響を回避し、それにより、仮想オブジェクトの次の生成段階での追加表面変形(様々な複雑な非線形追加表面変形など)との互換性があり、異なる座標空間での処理によって生じる、制御不能な結果(最終的に生成された仮想オブジェクトが適用された表面変形と一致しない)を効果的に回避し、骨格アニメーションと表面変形の互換性を向上させることができる。
以下では、素材リソースの生成段階の具体的な実施プロセスについて説明する。
ステップ410において、仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得する。
ここで、仮想オブジェクトは、人や物の様々な仮想化されたオブジェクトであり、例えば、仮想オブジェクトは、アニメキャラクタ、木、旗又は紙などであり得る。本願実施例において、仮想オブジェクトは、複数の骨格姿勢を有し、例えば、アニメキャラクタは、自然な立ち姿勢での骨格姿勢及び両腕の水平姿勢での骨格姿勢などを有し、旗は、静止時の骨格姿勢及び風に吹かれた時の骨格姿勢などを有する。
仮想オブジェクトの場合、仮想オブジェクトの第1骨格姿勢の表面モデルを、参照表面モデルとして取得する。例えば、参照表面モデルは、自然な立ち姿勢での仮想オブジェクトの表面モデルであり得、第1骨格姿勢は、自然な立ち姿勢での仮想オブジェクトの骨格姿勢である。ここで、第1骨格姿勢は、1つだけであり得る。
本願実施例において、参照表面モデルは、事前に生成され電子機器に記憶され得、素材リソースの生成を実行する必要がある場合、電子機器は、当該参照表面モデルを呼び出すことができ、参照表面モデルは、ユーザ(アートワークを行うモデラーなど)が電子機器(モデラー端末機器など)でリアルタイムに作成することもでき、第1骨格姿勢も参照表面モデルと同じである。
ステップ420において、仮想オブジェクトの第2骨格姿勢を取得する。
第2骨格姿勢は、生成される範例表面モデルの骨格姿勢であり、範例表面モデルは、参照表面モデルに基づいて生成された、第1骨格姿勢ではない表面モデルである。例えば、参照表面モデルが自然な立ち姿勢での仮想オブジェクトの表面モデルである場合、自然な立ち姿勢での仮想オブジェクトの表面モデルに基づいて生成された両腕の水平姿勢での表面モデルは、1つの範例表面モデルである。これに対応して、両腕の水平姿勢での骨格姿勢は、第2骨格姿勢である。
本願実施例において、第2骨格姿勢は、事前に生成され電子機器に記憶され得、ユーザ(アートワークを行うモデラーなど)が電子機器(モデラー端末機器など)でリアルタイムで作成することもできる。第2骨格姿勢の数は、例えば、1つ又は少なくとも2つであり得、本願実施例はこれらを限定しない。理解を容易にするために、図3Aでは、第2骨格姿勢が1つだけである場合を例として説明する。
ステップ430において、参照表面モデル及び第2骨格姿勢に基づいて、第2骨格姿勢の範例表面モデルを生成する。
取得された参照表面モデル及び第2骨格姿勢に基づいて、第2骨格姿勢の表面モデルを生成でき、区別しやすくするように、ここで生成された表面モデルは、範例表面モデルと呼ぶ。
いくつかの実施例において、上記の参照表面モデル及び第2骨格姿勢に基づいて、第2骨格姿勢の範例表面モデルを生成するステップは、第2骨格姿勢に基づいて参照表面モデルをスキニングして、第2骨格姿勢の範例骨格スキニングモデルを取得し、範例骨格スキニングモデルの表面データを抽出し、表面データに従って第2骨格姿勢の範例表面モデルを生成する方法によって実現できる。
本願実施例において、取得された第2骨格姿勢に基づいて、取得された参照表面モデルをスキニングして、第2骨格姿勢の骨格スキニングモデルを取得する。ここで、骨格スキニングモデルは、主に、表面データ、骨格スキニング情報の2つの情報を含む。区別しやすくするように、ここで取得された骨格スキニングモデルは、範例骨格スキニングモデルと呼ぶ。
例えば、参照表面モデルは、水平姿勢の水平腕モデルであり、第2骨格姿勢は、上向き姿勢の上向き腕の骨格姿勢である。上向き腕の骨格姿勢に基づいて、水平腕モデルをスキニングして、骨格スキニング情報を有する上向き姿勢の上向き腕モデル、即ち、範例骨格スキニングモデルを取得する。
第2骨格姿勢の範例骨格スキニングモデルを取得した後、その表面データを抽出して、表面データに従って第2骨格姿勢の範例表面モデルを生成でき、ここで、範例表面モデルは、抽出された表面データによって説明された、仮想オブジェクトの表面上の各頂点を含む。上記のスキニング方法により、第2骨格姿勢の範例表面モデルを自動的に取得でき、人件費を削減することができる。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
いくつかの実施例において、範例骨格スキニングモデルの表面データを抽出する前に、当該方法は、
範例骨格スキニングモデルに対する要求側の修正要求を取得するステップと、要求側が範例骨格スキニングモデルを修正するようにするために、修正要求に対する検証が合格した場合、範例骨格スキニングモデルの修正権限を要求側に公開するステップとを更に含む。
上記の範例骨格スキニングモデルの表面データを抽出するステップは、修正された範例骨格スキニングモデルの表面データを抽出する方法によって実現できる。
本願実施例において、参照表面モデルをスキニングして範例骨格スキニングモデルを取得した後、且つ範例骨格スキニングモデルの表面データを抽出して範例表面モデルを取得する前に、要求側(フロントエンドにあるモデラー端末機器など)が当該範例骨格スキニングモデルを修正するように許可することができる。
スキニング自体は、線形の数学的処理プロセスであるため、スキニングによって取得された範例骨格スキニングモデルは、単純な骨格姿勢の修正を実行しただけで、範例骨格スキニングモデルの表面データは、特定のアート要件などの実際の要件を満たせない。例えば、肘曲げの骨格姿勢に基づいて水平腕モデル(表面モデル)をスキニングして、骨格スキニング情報を有する、肘曲げの骨格姿勢の曲げ腕モデル(骨格スキニングモデル)を取得することができる。水平腕モデル内の上腕二頭筋の表面は平坦であり、スキニングして取得した曲げ腕モデル内の上腕二頭筋の表面は、鮮明な変化がなく、依然として平坦である。実生活では、肘を曲げた後、筋肉のバックログが発生し、水平腕モデルと比較して、曲げ腕モデル内の上腕二頭筋の表面が明らかに隆起することが理解できる。特定のアート要件がある場合、曲げ腕モデル内の上腕二頭筋の表面はより明らかに隆起する必要がある。
したがって、スキニングした後、要求側が範例骨格スキニングモデルを修正するようにサポートして、アート要件などの対応する要件を満たす。例えば、ユーザは、要求側を介して範例骨格スキニングモデルの修正要求を、電子機器(サーバなど)に送信し、受信した修正要求に対する検証が合格した場合、電子機器は、範例骨格スキニングモデルの修正権限を要求側に公開して、ユーザが要求側を介して範例骨格スキニングモデルを修正するようにする。
ゲームシーンを例として、モデラーは、アート要件に応じて、モデラー端末機器を介してゲームサーバに修正要求を送信して、スキニングして取得した範例骨格スキニングモデルを修正するように要求する。当該修正要求に対する検証が合格した場合、ゲームサーバは、対応する修正権限をモデラー端末機器に公開するようにして、モデラーがモデラー端末機器で、範例骨格スキニングモデルを修正できるようにする。
要求側が範例骨格スキニングモデルを修正するプロセスでは、ユーザは、範例骨格スキニングモデルの表面データを修正してもよく、範例骨格スキニングモデルに対応する第2骨格姿勢を修正することにより、範例骨格スキニングモデルの表面データを更新してもよい。
修正が完了した後、ユーザは、要求側を介して、電子機器に修正完了のメッセージを送信でき、電子機器は、修正完了のメッセージを受信した場合、修正された範例骨格スキニングモデルの表面データを抽出して、当該表面データに従って第2骨格姿勢の範例表面モデルを生成する。上記の人工的な修正方法と組み合わせることにより、範例骨格スキニングモデルの表面データの精度を向上させ、実際の応用シーンでの様々な要件を満たすことができる。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
ステップ440において、第1骨格姿勢と当該第2骨格姿勢との姿勢変換行列を決定する。
姿勢変換行列は、第1骨格姿勢と第2骨格姿勢との相互変換関係を説明するために使用される数学的行列である。姿勢変換行列を介して、第1骨格姿勢を第2骨格姿勢に変換してもよく、第2骨格姿勢を第1骨格姿勢に変換してもよい。
本願実施例において、第1骨格姿勢及び第2骨格姿勢は両方、電子機器で特定のデータの形で存在する。例えば、電子機器には、骨格頂点の三次元空間座標が記憶され得、骨格頂点の三次元空間座標を調整することにより、対応する骨格姿勢を取得できる。即ち、骨格姿勢は、三次元空間座標データの形式で記憶され、及び処理できる。ここで、1つの骨格姿勢は、通常、複数の骨格頂点を含み、複数の骨格頂点を介して、骨格姿勢内の各骨格の向き及び位置を表すことができる。したがって、第1骨格姿勢は、1つの数学的行列Aとして表し、第2骨格姿勢は、1つの数学的行列Bとして表すことができ、式A*C=Bに従って、行列C、即ち、姿勢変換行列を計算して取得することができる。
ステップ450において、座標空間内の参照表面モデル及び範例表面モデルに従って仮想オブジェクトを生成するために、姿勢変換行列に基づいて、範例表面モデル及び参照表面モデルを同じ座標空間に変換する。
本願実施例において、生成された素材リソースを同じ座標空間に変換して、仮想オブジェクトの生成を実行するようにする。即ち、素材リソースの生成段階では、範例表面モデル及び参照表面モデルを同じ座標空間に変換する。例えば、範例表面モデルを参照表面モデルが配置された座標空間に変換してもよく、参照表面モデルを範例表面モデルが配置された座標空間に変換してもよい。
いくつかの実施例において、上記の姿勢変換行列に基づいて、範例表面モデル及び参照表面モデルを同じ座標空間に変換するステップは、範例表面モデルを参照表面モデルが配置された座標空間に変換するために、姿勢変換行列に従って、範例表面モデルに対して座標変換処理を実行する方法によって実現できる。
本願実施例において、参照表面モデルは、人工的に設定した標準であるため、範例表面モデルを参照表面モデルが配置された座標空間に変換するために、姿勢変換行列に従って、範例表面モデルに対して座標変換処理を実行することができる。次に、参照表面モデルが配置された座標空間で、参照表面モデル及び範例表面モデルを記憶し、素材リソースの生成を完了することができる。
以下では、図4を参照しながら、本願実施例における素材リソースの生成段階のプロセスについて説明する。
図4に示されるように、参照面モデルMは、1つの座標空間に配置され、区別しやすくするように、当該座標空間は、参照座標空間と呼ぶ。電子機器によって最初に取得されたデータは、参照表面モデルM、参照表面モデルMに対応する第1骨格姿勢P、生成される範例表面モデルMに対応する第2骨格姿勢Pを含む。
第1骨格姿勢P及び第2骨格姿勢Pに従って、両者との姿勢変換行列を計算して、姿勢変換行列を介して後続のプロセスで座標空間変換を実行する。
第2骨格姿勢Pに従って参照表面モデルMをスキニングして、範例骨格スキニングモデルを取得し、次に、ユーザ(モデラーなど)は、実際の要件(アート要件など)に応じて、当該範例骨格スキニングモデルを修正して、要件を満たす新しい範例骨格スキニングモデル(即ち、修正された範例骨格スキニングモデル)を取得することができる。新しい範例骨格スキニングモデルの表面データを抽出することにより、第2骨格姿勢Pの範例表面モデルを生成し、次に、姿勢変換行列を適用して、当該範例表面モデルを参照座標空間に変換し、それにより、参照座標空間に配置された範例表面モデルMを取得する。
本願実施例において、電子機器は、姿勢変換行列を介して参照表面モデルM及び範例表面モデルMの両方を参照座標空間に記憶して、後続の仮想オブジェクト生成プロセスで、参照表面モデルM及び範例表面モデルMに対して実行される一連の処理がすべて当該参照座標空間で実行されるようにし、それにより、表面変形の影響を回避する。このようにして、生成された材料リソース、即ち、参照表面モデルM及び範例表面モデルMは、様々な複雑な非線形追加表面変形などの任意の追加表面変形と互換性があり、異なる座標空間での処理によって生じる、最終的に生成された仮想オブジェクトが適用された表面変形と一致しないなどの制御不能な結果を効果的に回避できる。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
いくつかの実施例において、図3Bを参照すると、図3Bは、本願実施例による画像処理方法の1つのフローチャートであり、図3Aに基づいて、ステップ450の後、ステップ510において、更に、仮想オブジェクトのターゲット骨格姿勢を取得できる。
ここで、ターゲット骨格姿勢は、生成が必要な仮想オブジェクトの骨格姿勢であり、実際の応用に応じて設定できる。例えば、ターゲット骨格姿勢が両手を腰に当てた立ち姿勢での骨格姿勢である場合、最終的に生成された仮想オブジェクトは、両手を腰に当てた立ち姿勢である。本願実施例において、ターゲット骨格姿勢は、事前に生成され電子機器に記憶されてもよく、リアルタイムで取得してもよい。
いくつかの実施例において、上記の仮想オブジェクトのターゲット骨格姿勢を取得するステップは、仮想オブジェクトの操作データ(manipulation data)を取得し、操作データに基づいて、仮想オブジェクトのターゲット骨格姿勢を決定する方法によって実現できる。
本願実施例において、特定の入力機器に基づいて入力された操作データなどの仮想オブジェクトの操作データを介して、ターゲット骨格姿勢を決定することができる。例えば、操作データは、図1の第2端末機器30内の入力機器、又は図2のゲームプレーヤ端末機器60内の入力機器からのものであり得る。ここで、操作データは、キーボードデータ、マウスデータ、及び画面タッチデータのうちの少なくとも1つを含み得るが、もちろんこれらに限定されない。
ゲームシーンを例として説明すると、プレーヤは携帯電話端末で画面タッチ動作を実行でき、それにより、携帯電話端末で実行されているゲームのゲームキャラクタに、特定のジェスチャーで対応するアクションを実行するように指示する。画面タッチ動作を検出した場合、携帯電話端末は、画面タッチ動作によってトリガーされた画面タッチデータをゲームサーバにアップロードし、ゲームサーバは、取得された画面タッチデータに基づいて、プレーヤによって指示された特定の姿勢、即ち、ゲームキャラクタのターゲット骨格姿勢を決定する。上記の方法により、ユーザは、アクティブな動作方法でターゲット骨格姿勢を決定し、それにより、仮想オブジェクトの生成を制御することができる。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
いくつかの実施例において、上記の仮想オブジェクトのターゲット骨格姿勢を取得するステップは、センサデータを取得し、センサデータに基づいて、ユーザアクションを決定し、ユーザアクションに基づいて、仮想オブジェクトのターゲット骨格姿勢を決定する方法によって実現できる。
本願実施例において、更に、センサデータを介して仮想オブジェクトのターゲット骨格姿勢を決定できる。ここで、センサデータは、センサ機器、例えば、図1の第2端末機器30内のセンサ機器、又は図2のゲームプレイヤー端末機器60内のセンサ機器からのものであり得る。センサデータは、位置決め情報に関する位置決めセンサデータ及び部分的な体の動きに関するアクションセンサデータのうちの少なくとも1つを含み得る。
ゲームシーンを例として説明すると、プレーヤは、VRメガネやVRハンドルなど、コンピュータ端末と通信する仮想現実(Virtual Reality、VR)機器を着用し、特定のアクションを実行し、それにより、コンピュータ端末で実行されるVRゲーム内の、対応するゲームキャラクタが同じアクションを実行するように指示する。VR機器に対応するVRセンサシステム(少なくとも2つの基地局で構成されるセンサーシステムなど)は、VR機器内のセンサ(VRハンドル内のセンサなど)を監視することにより、対応するセンサデータを生成し、センサデータをコンピュータ端末に送信できる。コンピュータ端末がセンサデータをサーバにアップロードした後、サーバは、センサデータに基づいて、ユーザアクション(即ち、アクションキャプチャを実現する)を決定し、決定されたユーザアクションに対応する骨格姿勢を、ゲームキャラクタのターゲット骨格姿勢として決定することができる。上記の方法により、ユーザは、自分でアクションを実行する方法でターゲット骨格姿勢を決定し、それにより、より強い没入感をユーザにもたらし、ユーザのインタラクション体験を向上させることができる。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。更に、上記の仮想オブジェクトのターゲット骨格姿勢を決定する方法は、仮想オブジェクトの第1骨格姿勢及第2骨格姿勢の決定にも適用できる。
ステップ520において、ターゲット骨格姿勢に基づいて参照表面モデルをスキニングして、ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得する。
ターゲット骨格姿勢を取得した後、ターゲット骨格姿勢に基づいて参照表面モデルをスキニングして、ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得し、区別しやすくするように、ここで取得された骨格スキニングモデルは、ターゲット骨格スキニングモデルと呼ぶ。
ステップ530において、座標空間内の参照表面モデル及び範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定する。
ここで、同じ座標空間内の参照表面モデル及び範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定する。修正表面モデルは、ターゲット骨格スキニングモデル内の表面データをある程度修正して、実際の要件(アート要件など)をある程度満たせる表面モデルである。修正表面モデルに対応する骨格姿勢は、ターゲット骨格スキニングモデルに対応する骨格姿勢、即ち、ターゲット骨格姿勢と基本的に一致する。
いくつかの実施例において、事前に生成された、特定のアートスタイルに属する素材リソースに基づいて、生成されたターゲット骨格姿勢の表面モデル(即ち、修正表面モデル)も、同じく当該アートスタイルに属し、このようにして、異なるターゲット骨格姿勢に基づいて生成された仮想オブジェクトのスタイルの一貫性を保証し、統一性を向上させることができる。
いくつかの実施例において、上記の座標空間内の参照表面モデル及び範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定するステップは、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを決定し、第1骨格姿勢の重み及び第2骨格姿勢の重みに基づいて、参照表面モデル及び範例表面モデルに対して融合処理を実行して、ターゲット骨格姿勢の修正表面モデルを取得する方法で実現できる。
ここで、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを決定し、ここで、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みに従って、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合でき、ここでの融合は、加重加算であってもよく、もちろん他の方法であってもよい。次に、第1骨格姿勢の重み及び第2骨格姿勢の重みに基づいて、第1骨格姿勢の参照表面モデル及び第2骨格姿勢の範例表面モデルに対して融合処理を実行して、ターゲット骨格姿勢の修正表面モデルを取得する。
いくつかの実施例において、上記の第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを決定するステップは、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、動径基底関数を介して、第1骨格姿勢と第2骨格姿勢との間で補間処理を実行して、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを取得する方法によって実現できる。
ここで、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、動径基底関数(Radial Basis Function、RBF)を適用して、記憶された第1骨格姿勢と第2骨格姿勢との間で補間処理を実行し、それにより、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを取得することができる。
いくつかの実施例において、上記の第1骨格姿勢の重み及び第2骨格姿勢の重みに基づいて、参照表面モデル及び範例表面モデルに対して融合処理を実行して、ターゲット骨格姿勢の修正表面モデルを取得するステップは、第1骨格姿勢の重みを参照表面モデルの重みとして使用し、第2骨格姿勢の重みを範例表面モデルの重みとして使用し、参照表面モデル及び範例表面モデルに対して重み付けして、ターゲット骨格姿勢の修正表面モデルを取得する方法によって実現できる。
ここで、加重加算の方法によって、ターゲット骨格姿勢の修正表面モデルを取得することができる。例えば、第1骨格姿勢P及び第2骨格姿勢P1がターゲット骨格姿勢Pに融合される場合、Pに割り当てられた重みはWであり、Pに割り当てられた重みはWである。次に、W及びWに従って、第1骨格姿勢Pの参照表面モデルM、及び第2骨格姿勢Pの範例表面モデルMに対して融合処理を実行して、修正表面モデルMを取得し、ここで、M=W*M+W*Mである。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではない。加重加算の方法以外、他の方法によって参照表面モデル及び範例表面モデルに対して融合処理を実行することもできる。
ステップ540において、ターゲット骨格スキニングモデル及び修正表面モデルに基づいて、仮想オブジェクトを生成する。
いくつかの実施例において、上記のターゲット骨格スキニングモデル及び修正表面モデルに基づいて、仮想オブジェクトを生成するステップは、第1骨格姿勢とターゲット骨格姿勢との姿勢変換行列を、ターゲット姿勢変換行列として決定し、ターゲット姿勢変換行列に基づいて、座標空間内の修正表面モデルに対して座標変換処理を実行して、抽出された修正表面モデルを取得し、抽出された修正表面モデル及びターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成する方法によって実現できる。
本願実施例において、記憶された参照表面モデル及び範例表面モデルは、同じ座標空間内にあり、修正表面モデルは参照モデル及び範例表面モデルの融合によって取得されるため、修正表面モデルも当該座標空間内にある。ターゲット骨格姿勢が第1骨格姿勢と異なる場合、ターゲット骨格姿勢に対応する座標空間に適合するために、修正表面モデルを当該座標空間から抽出する必要がある。例えば、第1骨格姿勢とターゲット骨格姿勢との姿勢変換行列を決定し、区別しやすくするように、ここで決定された姿勢変換行列は、ターゲット姿勢変換行列と呼ぶ。取得されたターゲット姿勢変換行列に基づいて、座標空間内の修正表面モデルに対して座標変換処理を実行して、抽出された修正表面モデルを取得し、次に、抽出された修正表面モデル及びターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成する。上記の方法により、抽出された修正表面モデルは、ターゲット骨格姿勢に対応する座標空間に配置でき、仮想オブジェクトの生成の実行を容易にする。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
いくつかの実施例において、抽出された修正表面モデル及びターゲット骨格スキニングモデルに対して重ね合わせ処理を実行する前に、この方法は、ターゲット骨格スキニングモデルに対して表面変形処理を実行するステップを更に有する。上記の抽出された修正表面モデル及びターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成するステップは、抽出された修正表面モデル及び表面変形処理されたターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成する方法によって実現できる。
本願実施例において、ターゲット骨格姿勢に基づいて参照表面モデルをスキニングして、ターゲット骨格スキニングモデルを取得した後、様々な複雑な非線形追加表面変形を適用するなど、実際の要件に応じて、ターゲット骨格スキニングモデルで表面変形処理を実行できる。ここで、表面変形は、第三者のシステムに基づいて生成でき、例えば、ターゲット骨格スキニングモデルを生成した後、第三者の筋肉シミュレーションシステムを呼び出して、当該ターゲット骨格スキニングモデルに特定の形態の筋肉を加える。
融合処理して取得された修正表面モデルを、参照表面モデルに配置された座標空間から抽出した後、当該抽出された修正表面モデル、及び追加表面変形(即ち、表面変形処理後)を加えたターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成する。上記の方法により、様々な表面変形要件を満たし、実際の応用シーンの適用性を向上させることができる。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
いくつかの実施例において、ステップ540の後、この方法は、生成された仮想オブジェクトに対してレンダリング処理を実行して、仮想シーンに仮想オブジェクトを表示するステップを更に有する。
ここで、仮想オブジェクトを生成するために使用される電子機器が端末機器である場合、端末機器は、生成された仮想オブジェクトに対してローカルでレンダリング処理を実行して、仮想シーンに仮想オブジェクトを表示することができ、仮想オブジェクトを生成するために使用される電子機器がサーバである場合、サーバは、生成された仮想オブジェクトのレンダリング情報を端末機器に送信でき、端末機器は、受信されたレンダリングデータに従ってレンダリング処理を実行して、仮想シーンに仮想オブジェクトを表示することができる。仮想シーンは、レンダリングによっても取得できることに留意されたい。上記の方法により、仮想オブジェクトを表示する柔軟性を向上させる。
図3Bに示されるように、参照表面モデル及び範例表面モデルは両方、姿勢変換行例によって構築された、同じ独立した座標空間に配置されるため、参照表面モデル及び範例表面モデルに対する処理はすべて当該座標空間で実行され、表面変形の影響を受けない。それにより、仮想オブジェクトの生成段階では、任意の非線形表面変形と互換性があり、表面変形との互換性を向上させることができる。
いくつかの実施例において、図3Cを参照すると、図3Cは、本願実施例による画像処理方法の1つのフローチャートであり、図3Bに示されるステップ420は、ステップ610に更新でき、ステップ610において、仮想オブジェクトの少なくとも2つの第2骨格姿勢を取得する。
本願実施例において、素材リソースの生成段階では、1つの範例表面モデルのみ生成することにより、参照表面モデル及び1つの範例表面モデルに従って仮想オブジェクトの生成を実行してもよく、少なくとも2つの範例表面モデルを生成することにより、参照表面モデル及び少なくとも2つの範例表面モデルに従って仮想オブジェクトの生成を実行してもよい。ここで、後者の場合を例として説明すると、まず、仮想オブジェクトの少なくとも2つの第2骨格姿勢を取得する。理解を容易にするために、取得された第1骨格姿勢がPであり、参照表面モデルがMであり、取得された第2骨格姿勢がP、P及びPを含む場合を例として説明する。
図3Cにおいて、図3Bに示されるステップ430は、ステップ620に更新でき、ステップ620において、参照表面モデル及び少なくとも2つの第2骨格姿勢に基づいて、少なくとも2つの第2骨格姿勢の範例表面モデルをそれぞれ生成する。
取得された各第2骨格姿勢の場合、参照表面モデル及び第2骨格姿勢に基づいて、当該第2骨格姿勢の範例表面モデルを生成する。このようにして、各第2骨格姿勢はすべて、対応する範例表面モデルを取得することができる。例えば、第2骨格姿勢Pの範例表面モデルM、第2骨格姿勢Pの範例表面モデルM、及び第2骨格姿勢Pの範例表面モデルMを取得することができる。
図3Cにおいて、図3Bに示されるステップ440は、ステップ630に更新でき、ステップ630において、第1骨格姿勢と各第2骨格姿勢との姿勢変換行列を決定する。
各第2骨格姿勢の場合、更に、第1骨格姿勢と第2骨格姿勢との姿勢変換行列を決定する。
図3Cにおいて、図3Bに示されるステップ450は、ステップ640に更新でき、ステップ640において、第1骨格姿勢と各第2骨格姿勢との姿勢変換行列に基づいて、少なくとも2つの範例表面モデル及び参照表面モデルを同じ座標空間に変換する。
ここで、第2骨格姿勢Pを例として、第1骨格姿勢Pと第2骨格姿勢Pとの姿勢変換行列に基づいて、第2骨格姿勢Pの範例表面モデルMを参照表面モデルMが配置された座標空間に変換でき、このように類推する。
図3Cにおいて、図3Bに示されるステップ530は、ステップ650に更新でき、ステップ650において、座標空間内の参照表面モデル及び少なくとも2つの範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定する。
本願実施例において、生成された素材リソースは、少なくとも2つの範例表面モデルを含む。これに対応して、生成された素材リソースに従って修正表面モデルを決定する場合、電子機器は、記憶されたすべての範例表面モデル及び参照表面モデルに従って修正表面モデルを決定する。
例えば、第1骨格姿勢P、第2骨格姿勢P、第2骨格姿勢P及び第2骨格姿勢Pがターゲット骨格姿勢Pに融合される場合、Pに割り当てられた重みはWであり、Pに割り当てられた重みはWであり、Pに割り当てられた重みはWであり、Pに割り当てられた重みはWであると決定することができる。次に、W、W、W及びWに従って、M、M、M及びMに対して融合処理を実行して、修正表面モデルMを取得する。ここで、W*M+W*M+W*M+W*M=Mの方法を採用して、修正表面モデルMを取得することができる。
図3Cに示されるように、本願実施例は、少なくとも第2骨格姿勢を介して、素材リソース及び仮想オブジェクトの生成を実行でき、第2骨格姿勢の数の増加に伴い、生成された仮想オブジェクトの効果もより良くなる。
以下では、図5を参照しながら、本願実施例における仮想オブジェクトの生成段階のプロセスについて説明する。
図5に示されるように、事前に生成された素材リソース(すべて参照座標空間に記憶される)は、参照表面モデルM、範例表面モデルM、範例表面モデルM、範例表面モデルM、...、範例表面モデルMを含み、ここでのiは、3より大きい正数である。これに対応して、取得された骨格姿勢は、参照表面モデルMの第1骨格姿勢P、範例表面モデルMの第2骨格姿勢P、範例表面モデルMの第2骨格姿勢P、範例表面モデルMの第2骨格姿勢P、・・・、範例表面モデルMの第2骨格姿勢Pを含む。
ターゲット骨格姿勢Pを取得した場合、ターゲット骨格姿勢Pと第1骨格姿勢Pの両者との姿勢変換行列を計算して、当該姿勢変換行列を介して後続のプロセスで座標空間変換を実行する。
ターゲット骨格姿勢Pに従って参照表面モデルMをスキニングして、ターゲット骨格スキニングモデルを取得する。次に、ターゲット骨格スキニングモデルに基づいて、第三者のシミュレーションシステムを適用して特定の形態の筋肉を加えるなど、第三者のシステムを適用して表面変形処理を実行でき、即ち、追加表面変形を加えることができる。
第1骨格姿勢P、第2骨格姿勢P、第2骨格姿勢P、第2骨格姿勢P、・・・、第2骨格姿勢Pを含む、記憶された骨格姿勢を読み取る。RBFアルゴリズムを適用して、読み取られた骨格姿勢との間で補間処理を実行し、それにより、読み取られたすべての骨格姿勢がターゲット骨格姿勢Pに融合された場合、読み取られた各骨格姿勢に割り当てられる必要のある重みを取得する。次に、割り当てられた重みに従って、読み取られた各骨格姿勢に対応する表面モデルに対して融合処理を実行して、参照座標空間に記憶された修正表面モデルを取得する。
姿勢変換行列を適用して、参照座標空間に記憶された修正表面モデルに対して座標変換処理を実行して、修正表面モデルを座標空間から抽出し、次に、抽出された修正表面モデル及びスキニングして取得した、追加表面変形が加えられたターゲット骨格スキニングモデルに対して重ね合わせ処理を実行することにより、対応する仮想オブジェクトを取得する。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
図6は、本願実施例の画像処理方法をMayaソフトウェア(一種の三次元モデリングソフトウェア)に適用して、仮想オブジェクトの生成を実行する端末インターフェース図である。
図6において、事前に生成された素材リソースは、仮想オブジェクトの上腕に対して生成された様々な骨格姿勢の上腕表面モデルであり得る。本願実施例に示されるMayaソフトウェアの端末インターフェース図には、上腕姿勢読み取りノード(upperarm_rノード)、スキンノード(skinClusterノード)、追加表面変形ノード(deformateノード)、融合ノード(posedriverノード)など、対応する機能を統合した4つのノードが含まれる。ここで、upperarm_rノードは、主に、素材リソース内の様々な骨格姿勢の上腕表面モデルを読み取るために使用され、shinClusterノードは、主に、スキニングするために使用され、deformateノードは、主に、追加表面変形を加えるため、即ち、表面変形処理を実行するために使用され、posedriverノードは、主に、表面モデルの融合処理を実行して、修正表面モデルを生成するために使用される。ここで、姿勢変換行列の計算及び適用は、posedriverノードにカプセル化することができる。
関連技術において、生成された素材リソースが、仮想オブジェクト生成段階での追加表面変形との互換性をサポートできないため、仮想オブジェクトの生成段階では、スキニングに使用されるskinClusterノードは、主に表面モデルの融合処理に使用されるposedriverノードの後にのみ配置できる。更に、関連技術において、追加表面変形を加えるために使用されるdeformateノードは、skinClusterノードとposedriverノードの間に直接配置できない。本願実施例で提供される画像処理方法によれば、posedriverノードによって取得された修正表面モデルは、任意の非線形追加表面変形と互換性があり、それにより、姿勢変換行列を介して座標変換処理が実行された後、スキニングされた、追加表面変形が加えられた骨格スキニングモデルに直接重ね合わせることができる。
当該実施例は、単なる例示的な説明であり、本願の機能及び使用範囲を限定するものではないことに留意されたい。
図7に示されるように、本願実施例によって、仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するように構成される第1取得モジュール710と、仮想オブジェクトの第2骨格姿勢を取得するように構成される第2取得モジュール720と、参照表面モデル及び第2骨格姿勢に基づいて、第2骨格姿勢の範例表面モデルを生成するように構成される生成モジュール730と、第1骨格姿勢と第2骨格姿勢との姿勢変換行列を決定するように構成される行列決定モジュール740と、座標空間内の参照表面モデル及び範例表面モデルに従って仮想オブジェクトを生成するために、姿勢変換行列に基づいて、範例表面モデル及び参照表面モデルを同じ座標空間に変換するように構成される座標空間変換モジュール750と
を有する、画像処理装置が更に提供される。
いくつかの実施例において、生成モジュール730は、第2骨格姿勢に基づいて参照表面モデルをスキニングして、第2骨格姿勢の範例骨格スキニングモデルを取得し、範例骨格スキニングモデルの表面データを抽出し、表面データに従って第2骨格姿勢の範例表面モデルを生成するように構成される。
いくつかの実施例において、画像処理装置は、範例骨格スキニングモデルに対する要求側の修正要求を取得し、修正要求に対する検証が合格した場合、範例骨格スキニングモデルの修正権限を要求側に公開して、要求側が範例骨格スキニングモデルを修正するようにし、修正された範例骨格スキニングモデルの表面データを抽出するように構成される。
いくつかの実施例において、座標空間変換モジュール750は、範例表面モデルを参照表面モデルが配置された座標空間に変換するために、姿勢変換行列に従って、範例表面モデルに対して座標変換処理を実行するように構成される。
いくつかの実施例において、画像処理装置は、仮想オブジェクトのターゲット骨格姿勢を取得し、ターゲット骨格姿勢に基づいて参照表面モデルをスキニングして、ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得し、座標空間内の参照表面モデル及び範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定し、ターゲット骨格スキニングモデル及び修正表面モデルに基づいて、仮想オブジェクトを生成するように構成される。
いくつかの実施例において、画像処理装置は、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを決定し、第1骨格姿勢の重み及び第2骨格姿勢の重みに基づいて、参照表面モデル及び範例表面モデルに対して融合処理を実行して、ターゲット骨格姿勢の修正表面モデルを取得するように構成される。
いくつかの実施例において、画像処理装置は、第1骨格姿勢及び第2骨格姿勢をターゲット骨格姿勢に融合した場合、動径基底関数を介して、第1骨格姿勢と第2骨格姿勢との間で補間処理を実行して、第1骨格姿勢及び第2骨格姿勢にそれぞれ割り当てられた重みを取得するように構成される。
いくつかの実施例において、画像処理装置は、第1骨格姿勢の重みを参照表面モデルの重みとして使用し、第2骨格姿勢の重みを範例表面モデルの重みとして使用し、参照表面モデル及び範例表面モデルに対して重み付けして、ターゲット骨格姿勢の修正表面モデルを取得するように構成される。
いくつかの実施例において、画像処理装置は、第1骨格姿勢とターゲット骨格姿勢との姿勢変換行列を、ターゲット姿勢変換行列として決定し、ターゲット姿勢変換行列に基づいて、座標空間内の修正表面モデルに対して座標変換処理を実行して、抽出された修正表面モデルを取得し、抽出された修正表面モデル及びターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成するように構成される。
いくつかの実施例において、画像処理装置は、ターゲット骨格スキニングモデルに対して表面変形処理を実行し、抽出された修正表面モデル及び表面変形処理されたターゲット骨格スキニングモデルに対して重ね合わせ処理を実行して、仮想オブジェクトを生成するように構成される。
いくつかの実施例において、第2骨格姿勢の数は少なくとも2つを含み、画像処理装置は、参照表面モデル及び少なくとも2つの第2骨格姿勢に基づいて、少なくとも2つの第2骨格姿勢の範例表面モデルをそれぞれ生成し、第1骨格姿勢と各第2骨格姿勢との姿勢変換行列を決定し、第1骨格姿勢と各第2骨格姿勢との姿勢変換行列に基づいて、少なくとも2つの範例表面モデル及び参照表面モデルを同じ座標空間に変換するように構成される。
いくつかの実施例において、画像処理装置は、仮想オブジェクトのターゲット骨格姿勢を取得し、ターゲット骨格姿勢に基づいて参照表面モデルをスキニングして、ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得し、座標空間内の参照表面モデル及び少なくとも2つの範例表面モデルに基づいて、ターゲット骨格姿勢の修正表面モデルを決定し、ターゲット骨格スキニングモデル及び修正表面モデルに基づいて、仮想オブジェクトを生成するように構成される。
いくつかの実施例において、画像処理装置は、仮想オブジェクトの操作データを取得し、操作データに基づいて、仮想オブジェクトのターゲット骨格姿勢を決定するように構成される。
いくつかの実施例において、画像処理装置は、センサデータを取得し、センサデータに基づいて、ユーザアクションを決定し、ユーザアクションに基づいて、仮想オブジェクトのターゲット骨格姿勢を決定するように構成される。
いくつかの実施例において、画像処理装置は、生成された仮想オブジェクトに対してレンダリング処理を実行して、仮想シーンに仮想オブジェクトを表示するように構成される。
以下では、図8を参照しながら、本願実施例による電子機器80について説明する。図8に示される電子機器80は、単なる1つの例であり、本願実施例の機能及び使用範囲を限定するべきではない。
図8に示されるように、電子機器80は、汎用コンピューティング機器の形態で表される。電子機器80の構成要素は、上記少なくとも1つの処理ユニット810、上記少なくとも1つの記憶ユニット820、異なるシステム構成要素(記憶装置820及び処理装置810を含む)を接続するバス830を含み得るが、これらに限定されない。
ここで、記憶ユニットには、処理ユニット810によって実行できるプログラムコードを記憶され、処理ユニット810は、本明細書の上記の例示的な方法の説明部分に記載された本願の様々な例示的な実施形態によるステップを実行する。例えば、処理ユニット810は、図3A、3B及び3Cに示されるような各ステップを実行することができる。
記憶ユニット820は、ランダムアクセス記憶ユニット(RAM)8201及び/又はキャッシュ記憶ユニット8202などの揮発性記憶ユニットの形態の可読媒体を含んでもよく、読み取り専用記憶ユニット(ROM)8203を含んでもよい。
記憶ユニット820は、プログラムモジュール8205のセット(少なくとも1つ)を有するプログラム/ユーティリティツール8204を更に含み得、このようなプログラムモジュール8205は、オペレーティングシステム、1つ又は複数のアプリケーション、他のプログラムモジュール、及びプログラムデータを含むが、これらに限定されず、これらの例のそれぞれ又はいくつかの組み合わせには、ネットワーク環境の実現が含まれる場合がある。
バス830は、いくつかのタイプのバス構造のうちの1つ又は複数を表すことができ、記憶ユニットバス又は記憶ユニットコントローラ、周辺バス、グラフィックスアクセラレーションポート、処理ユニット、又は様々なバス構造のいずれかを使用するローカルバスを含む。
電子機器80はさらに、1つ又は複数の外部機器900(キーボード、ポインティング機器、ブルートゥース機器など)と通信し、更に、ユーザが当該電子機器80とインタラクションできるようにする、1つ又は複数の機器と通信し、及び/又は当該電子機器80が1つ又は複数の他のコンピューティング機器と通信できるようにする任意の機器(ルータ、モデムなど)と通信することができる。このような通信は、入力/出力(I/O)インターフェース850を介して実行できる。入力/出力(I/O)インターフェース850は、表示ユニット840に接続される。また、電子機器80は更に、ネットワークアダプタ860を介して、1つ又は複数のネットワーク(ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及び/又はインターネットなどのパブリックネットワーク)と通信することができる。図8に示されるように、ネットワークアダプタ860は、バス830を介して電子機器80の他のモジュールと通信する。図には示されていないが、他のハードウェア及び/又はソフトウェアモジュールは、電子機器80と組み合わせて使用でき、前記他のハードウェア及び/又はソフトウェアモジュールは、マイクロコード、デバイスドライバ、冗長処理ユニット、外部磁気ディスク駆動アレイ、RAIDシステム、磁気テープドライブ、及びデータバックアップ記憶システムを含むが、これらに限定されないことを理解すべきである。
上記の実施形態の説明を介して、当業者は、本明細書に記載の例示的な実施形態がソフトウェアによって実現され得るか、又はソフトウェアを必要なハードウェアと組み合わせることによって実現され得ることを容易に理解することができる。したがって、本願の実施形態による技術的解決策は、ソフトウェア製品に実現することができ、当該コンピュータソフトウェア製品は、1つの不揮発性記憶媒体(CD-ROM、Uディスク、モバイルハードディスクなどであり得る)又はネットワークに記憶され、コンピューティング機器(パソコン、サーバ、端末機器、ネットワーク機器などであり得る)に本願の実施形態による方法を実行させるためのいくつかの命令を含む。
本願の例示的な実施例において、コンピュータ可読命令を記憶し、前記コンピュータ可読命令がプロセッサによって実行されるとき、本願実施例による画像処理方法を実行する、コンピュータ可読記憶媒体が更に提供される。
本願実施例において、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)を使用でき、且つプログラムコードを含み、パーソナルコンピュータなどの端末機器で実行できる、画像処理方法を実現するために使用されるプログラム製品が更に提供される。しかしながら、本願のプログラム製品はこれに限定されず、本願実施例において、可読記憶媒体は、プログラムを含む、又は記憶する任意の有形媒体であり得、当該プログラムは、命令実行システム、装置、又はデバイスによって、又はそれらと組み合わせて使用され得る。
プログラム製品は、1つ又は複数の可読媒体の任意の組み合わせを使用することができる。可読媒体は、可読信号媒体又は可読記憶媒体であり得る。可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁的、赤外線、又は半導体システム、装置又はデバイス、又は上記のいずれかの組み合わせであり得るが、これらに限定されない。可読記憶媒体のより具体的な例(非網羅的なリスト)には、1つ又は複数ワイヤを有する電気的接続、ポータブルディスク、ハードディスク、ランダムアクセスメモリ(RGM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組み合わせが含まれる。
コンピュータ可読信号媒体は、ベースバンドで、又は搬送波の一部として伝播されるデータ信号を含み得、可読プログラムコードを搬送する。このような伝播されるデータ信号は、電磁信号、光信号、又は上記の任意の適切な組み合わせなどのを様々な形態をとることができるが、これらに限定されない。可読信号媒体は、また、可読記憶媒体以外の任意の可読媒体であり得、当該可読媒体は、命令実行システム、装置、又はデバイスによって使用されるか、又はそれらと組み合わせて使用するためのプログラムを送信、伝播、又は転送することができる。
可読信号媒体に含まれるプログラムコードは、無線、有線、光ファイバーケーブル、RFなどを含むがこれらに限定されない、任意の適切な媒体、又は上記の任意の適切な組み合わせを使用して伝送できる。
本願の動作を実行するために使用されるプログラムコードは、1つ以上のプログラミング言語の任意の組み合わせによって書くことができ、プログラミング言語には、JAVA、C++などのオブジェクト指向プログラミング言語が含まれ、「C」言語又は類似したプログラミング言語などの、従来の手続き型プログラミング言語も含まれる。プログラムコードは、ユーザコンピューティング機器で完全に実行されるか、ユーザ機器で部分的に実行されるか、独立したソフトウェアパッケージとして実行されるか、ユーザコンピューティング機器で部分的に実行され、リモートコンピューティング機器で部分的に実行されるか、又はリモートコンピューティング機器又はサーバで完全に実行され得る。リモートコンピューティング機器の場合、リモートコンピューティング機器は、ローカルエリアネットワーク(KGN)又はワイドエリアネットワーク(WGN)を含む任意のネットワークを介して、ユーザコンピューティング機器に接続され得るか、又は外部コンピューティング機器に接続され得る(インターネットサービスプロバイダーを使用してインターネット経由で接続するなど)。
アクション実行のための機器のいくつかのモジュール又はユニットは、上記の詳細な説明で言及されているが、このような分割は必須ではないことに留意されたい。実際、本願の実施形態によれば、上記の2つ又は更に多くのモジュール又はユニットの特徴及び機能は、1つのモジュール又はユニットに具体化され得る。逆に、上記の1つのモジュール又はユニットの特徴及び機能は、複数のモジュール又はユニットに更に分割され、具体化され得る。
更に、添付の図には、本願の方法における各ステップが特定の順序で示されているが、これは、必ずしもその特定の順序に従ってこれらのステップを実行すること、又は、必ずしも示されたすべてのステップを実行してこそ、望ましい結果を達成することを要求又は暗示するものではない。追加的又は代替的に、いくつかのステップは省略され得、複数のステップは、1つのステップに結合して実行され得、及び/又は1つのステップは、複数のステップに分解して実行され得る。
上記の実施形態の説明を介して、当業者は、本明細書に記載の例示的な実施形態がソフトウェアによって実現され得るか、又はソフトウェアを必要なハードウェアと組み合わせることによって実現され得ることを容易に理解することができる。したがって、本願の実施形態による技術的解決策は、ソフトウェア製品に実現することができ、当該コンピュータソフトウェア製品は、1つの不揮発性記憶媒体(CD-ROM、Uディスク、モバイルハードディスクなどであり得る)又はネットワークに記憶され、コンピューティング機器(パソコン、サーバ、モバイル端末、ネットワーク機器などであり得る)に、本願の実施形態による方法を実行させるためのいくつかの命令を含む。
本明細書に開示される明細書及び実施を考慮した後、本願の他の実施形態は、当業者にとって容易に想到し得る。本願は、本願の任意の変形、応用又は適応性変化を網羅することを意図し、これらの変形、応用又は適応性変化は、本願の普通の原理に準拠し、本願に開示されていない本技術分野における公知常識又は従来の技術的手段を含む。明細書及び実施例は、例示としてのみ考慮され、本願の真の範囲及び思想は、添付の特許請求の範囲によって示される。
10 第1端末機器
20 サーバ
30 第2端末機器
31 仮想シーン
32 仮想オブジェクト
40 モデラー端末機器
50 ゲームサーバー
60 ゲームプレーヤ端末機器
62 ゲームキャラクタ
710 第1取得モジュール
720 第2取得モジュール
730 生成モジュール
740 行列決定モジュール
750 座標空間変換モジュール
80 電子機器
810 処理ユニット
820 記憶ユニット
8201 ランダムアクセス記憶ユニット(RAM)
8202 キャッシュ記憶ユニット
8204 プログラム/ユーティリティツール
8205 プログラムモジュール
830 バス
840 表示ユニット
850 入力/出力(I/O)インターフェース
860 ネットワークアダプタ
90 外部機器

Claims (19)

  1. 電子機器が実行する、画像処理方法であって、
    仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するステップと、
    前記仮想オブジェクトの第2骨格姿勢を取得するステップと、
    前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成するステップと、
    前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定するステップと、
    座標空間内の前記参照表面モデル及び前記範例表面モデルに従って前記仮想オブジェクトを生成するために、前記姿勢変換行列に基づいて、前記範例表面モデルと前記参照表面モデルとを同じ座標空間に変換するステップと、
    を有する方法。
  2. 前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成する前記ステップは、
    前記第2骨格姿勢に基づいて、前記参照表面モデルをスキニング(skinning)して、前記第2骨格姿勢の範例骨格スキニングモデルを取得するステップと、
    前記範例骨格スキニングモデルの表面データを抽出し、前記表面データに従って前記第2骨格姿勢の範例表面モデルを生成するステップと、
    を有する請求項1に記載の方法。
  3. 前記範例骨格スキニングモデルの表面データを抽出する前に、前記方法は、
    前記範例骨格スキニングモデルに対する要求側の修正要求を取得するステップと、
    前記要求側が前記範例骨格スキニングモデルを修正するようにするために、前記修正要求に対する検証が合格した場合、前記範例骨格スキニングモデルの修正権限を前記要求側に公開するステップと、
    を更に有し、
    前記範例骨格スキニングモデルの表面データを抽出する前記ステップは、
    修正された前記範例骨格スキニングモデルの表面データを抽出するステップを有する、
    請求項2に記載の方法。
  4. 前記姿勢変換行列に基づいて、前記範例表面モデルと前記参照表面モデルとを同じ座標空間に変換する前記ステップは、
    前記範例表面モデルを前記参照表面モデルが配置された座標空間に変換するために、前記姿勢変換行列に従って前記範例表面モデルに対して座標変換処理を実行するステップを有する、
    請求項1に記載の方法。
  5. 前記方法は、
    前記仮想オブジェクトのターゲット骨格姿勢を取得するステップと、
    前記ターゲット骨格姿勢に基づいて前記参照表面モデルをスキニングして、前記ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得するステップと、
    前記座標空間内の前記参照表面モデル及び前記範例表面モデルに基づいて、前記ターゲット骨格姿勢の修正表面モデルを決定するステップと、
    前記ターゲット骨格スキニングモデル及び前記修正表面モデルに基づいて、前記仮想オブジェクトを生成するステップと、
    を更に有する請求項1に記載の方法。
  6. 前記座標空間内の前記参照表面モデル及び前記範例表面モデルに基づいて、前記ターゲット骨格姿勢の修正表面モデルを決定する前記ステップは、
    前記第1骨格姿勢及び前記第2骨格姿勢を前記ターゲット骨格姿勢に融合した場合、前記第1骨格姿勢及び前記第2骨格姿勢にそれぞれ割り当てられた重みを決定するステップと、
    前記第1骨格姿勢の重み及び前記第2骨格姿勢の重みに基づいて、前記参照表面モデル及び前記範例表面モデルに対して融合処理を実行して、前記ターゲット骨格姿勢の修正表面モデルを取得するステップと、
    を有する請求項5に記載の方法。
  7. 前記第1骨格姿勢及び前記第2骨格姿勢を前記ターゲット骨格姿勢に融合した場合、前記第1骨格姿勢及び前記第2骨格姿勢にそれぞれ割り当てられた重みを決定する前記ステップは、
    前記第1骨格姿勢及び前記第2骨格姿勢を前記ターゲット骨格姿勢に融合した場合、動径基底関数を介して、前記第1骨格姿勢と前記第2骨格姿勢との間で補間処理を実行して、前記第1骨格姿勢及び前記第2骨格姿勢にそれぞれ割り当てられた重みを取得するステップを有する、
    請求項6に記載の方法。
  8. 前記第1骨格姿勢の重み及び前記第2骨格姿勢の重みに基づいて、前記参照表面モデル及び前記範例表面モデルに対して融合処理を実行して、前記ターゲット骨格姿勢の修正表面モデルを取得する前記ステップは、
    前記第1骨格姿勢の重みを前記参照表面モデルの重みとして使用し、前記第2骨格姿勢の重みを前記範例表面モデルの重みとして使用し、前記参照表面モデル及び前記範例表面モデルに対して重み付けして、前記ターゲット骨格姿勢の修正表面モデルを取得するステップを有する、
    請求項6に記載の方法。
  9. 前記ターゲット骨格スキニングモデル及び前記修正表面モデルに基づいて、前記仮想オブジェクトを生成する前記ステップは、
    ターゲット姿勢変換行列として、前記第1骨格姿勢と前記ターゲット骨格姿勢との姿勢変換行列を決定するステップと、
    前記ターゲット姿勢変換行列に基づいて、前記座標空間内の前記修正表面モデルに対して座標変換処理を実行して、抽出された前記修正表面モデルを取得するステップと、
    前記仮想オブジェクトを生成するために、抽出された前記修正表面モデル及び前記ターゲット骨格スキニングモデルに対して重ね合わせ処理を実行するステップと、
    を有する請求項5に記載の方法。
  10. 前記抽出された前記修正表面モデル及び前記ターゲット骨格スキニングモデルに対して重ね合わせ処理を実行する前に、前記方法は、
    前記ターゲット骨格スキニングモデルに対して表面変形処理を実行するステップを更に有し、
    前記仮想オブジェクトを生成するために、抽出された前記修正表面モデル及び前記ターゲット骨格スキニングモデルに対して重ね合わせ処理を実行する前記ステップは、
    前記仮想オブジェクトを生成するために、抽出された前記修正表面モデル及び表面変形処理された前記ターゲット骨格スキニングモデルに対して重ね合わせ処理を実行するステップを有する、
    請求項9に記載の方法。
  11. 前記仮想オブジェクトのターゲット骨格姿勢を取得する前記ステップは、
    前記仮想オブジェクトの操作データを取得するステップと、
    前記操作データに基づいて、前記仮想オブジェクトのターゲット骨格姿勢を決定するステップと、
    を有する請求項5に記載の方法。
  12. 前記仮想オブジェクトのターゲット骨格姿勢を取得する前記ステップは、
    センサデータを取得するステップと、
    前記センサデータに基づいて、ユーザアクションを決定するステップと、
    前記ユーザアクションに基づいて、前記仮想オブジェクトのターゲット骨格姿勢を決定するステップと
    を有する請求項5に記載の方法。
  13. 前記第2骨格姿勢の数は少なくとも2つを含み、
    前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成する前記ステップは、
    前記参照表面モデル及び少なくとも2つの前記第2骨格姿勢に基づいて、少なくとも2つの前記第2骨格姿勢の範例表面モデルをそれぞれ生成するステップを有する、
    請求項1乃至12のいずれか一項に記載の方法。
  14. 前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定する前記ステップは、
    前記第1骨格姿勢と各前記第2骨格姿勢との姿勢変換行列を決定するステップを有し、
    前記姿勢変換行列に基づいて前記範例表面モデルと前記参照表面モデルとを同じ座標空間に変換する前記ステップは、
    前記第1骨格姿勢と各前記第2骨格姿勢との姿勢変換行列に基づいて、少なくとも2つの前記範例表面モデルと前記参照表面モデルとを同じ座標空間に変換するステップを有する、
    請求項13に記載の方法。
  15. 前記方法は、
    前記仮想オブジェクトのターゲット骨格姿勢を取得するステップと、
    前記ターゲット骨格姿勢に基づいて前記参照表面モデルをスキニングして、前記ターゲット骨格姿勢のターゲット骨格スキニングモデルを取得するステップと、
    前記座標空間内の前記参照表面モデル及び少なくとも2つの前記範例表面モデルに基づいて、前記ターゲット骨格姿勢の修正表面モデルを決定するステップと、
    前記ターゲット骨格スキニングモデル及び前記修正表面モデルに基づいて、前記仮想オブジェクトを生成するステップと
    を更に有する請求項14に記載の方法。
  16. 前記方法は、
    仮想シーンに仮想オブジェクトを表示するために、生成された前記仮想オブジェクトに対してレンダリング処理を実行するステップを更に有する、
    請求項1乃至12のいずれか一項に記載の方法。
  17. 画像処理装置であって、
    仮想オブジェクトの第1骨格姿勢の参照表面モデルを取得するように構成される第1取得モジュールと、
    前記仮想オブジェクトの第2骨格姿勢を取得するように構成される第2取得モジュールと、
    前記参照表面モデル及び前記第2骨格姿勢に基づいて、前記第2骨格姿勢の範例表面モデルを生成するように構成される生成モジュールと、
    前記第1骨格姿勢と前記第2骨格姿勢との姿勢変換行列を決定するように構成される行列決定モジュールと、
    座標空間内の前記参照表面モデル及び前記範例表面モデルに従って前記仮想オブジェクトを生成するために、前記姿勢変換行列に基づいて、前記範例表面モデルと前記参照表面モデルとを同じ座標空間に変換するように構成される座標空間変換モジュールと、
    を備える装置。
  18. 電子機器であって、メモリ及びプロセッサを有し、
    前記メモリは、コンピュータ可読命令を記憶するよう構成され、
    前記プロセッサは、前記メモリに記憶されたコンピュータ可読命令を実行し、それにより、請求項1乃至16のいずれか一項に記載の画像処理方法を実行するように構成される、
    電子機器。
  19. コンピュータプログラムであって、
    コンピュータに、請求項1ないし16のいずれか一項に記載の画像処理方法を実行させる、コンピュータプログラム。
JP2022520106A 2020-01-14 2020-10-30 画像処理方法、装置、電子機器及びコンピュータプログラム Active JP7299414B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010036516.7 2020-01-14
CN202010036516.7A CN111223171A (zh) 2020-01-14 2020-01-14 图像处理方法、装置、电子设备及存储介质
PCT/CN2020/125081 WO2021143278A1 (zh) 2020-01-14 2020-10-30 图像处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
JP2022550555A true JP2022550555A (ja) 2022-12-02
JP7299414B2 JP7299414B2 (ja) 2023-06-27

Family

ID=70806354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022520106A Active JP7299414B2 (ja) 2020-01-14 2020-10-30 画像処理方法、装置、電子機器及びコンピュータプログラム

Country Status (6)

Country Link
US (1) US20220215583A1 (ja)
EP (1) EP4002286A4 (ja)
JP (1) JP7299414B2 (ja)
KR (1) KR20220028069A (ja)
CN (1) CN111223171A (ja)
WO (1) WO2021143278A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111223171A (zh) * 2020-01-14 2020-06-02 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备及存储介质
CN111696184B (zh) * 2020-06-10 2023-08-29 上海米哈游天命科技有限公司 骨骼蒙皮融合确定方法、装置、设备和存储介质
CN112509098B (zh) * 2020-11-30 2024-02-13 北京百度网讯科技有限公司 动画形象生成方法、装置及电子设备
CN113034691A (zh) * 2021-03-22 2021-06-25 广州虎牙科技有限公司 人体模型的骨骼绑定方法、装置及电子设备
CN113101666B (zh) * 2021-05-07 2024-03-08 网易(杭州)网络有限公司 游戏角色模型方法、装置、计算机设备及存储介质
CN113610992B (zh) * 2021-08-04 2022-05-20 北京百度网讯科技有限公司 骨骼驱动系数确定方法、装置、电子设备及可读存储介质
CN115082604A (zh) * 2022-07-06 2022-09-20 北京字跳网络技术有限公司 图像处理方法、装置、电子设备及存储介质
CN115937373B (zh) * 2022-12-23 2023-10-03 北京百度网讯科技有限公司 虚拟形象驱动方法、装置、设备以及存储介质
CN117456611B (zh) * 2023-12-22 2024-03-29 拓世科技集团有限公司 一种基于人工智能的虚拟人物训练方法及系统
CN118012272B (zh) * 2024-04-09 2024-06-07 南京维赛客网络科技有限公司 基于语境分析切换虚拟人物动作的方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008237327A (ja) * 2007-03-26 2008-10-09 Samii Kk 画像生成装置および画像生成プログラム
WO2019242454A1 (zh) * 2018-06-21 2019-12-26 华为技术有限公司 一种物体建模运动方法、装置与设备
US20200005138A1 (en) * 2018-07-02 2020-01-02 Magic Leap, Inc. Methods and systems for interpolation of disparate inputs

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8400455B2 (en) * 2008-01-11 2013-03-19 Sony Corporation Method and apparatus for efficient offset curve deformation from skeletal animation
US10748325B2 (en) * 2011-11-17 2020-08-18 Adobe Inc. System and method for automatic rigging of three dimensional characters for facial animation
JP6340313B2 (ja) * 2014-12-24 2018-06-06 ソフトバンク株式会社 モデリングシステム、モデリングプログラム、及びモデリング方法
US10061871B2 (en) * 2015-07-27 2018-08-28 Technische Universiteit Delft Linear blend skinning weight optimization utilizing skeletal pose sampling
WO2018095273A1 (zh) * 2016-11-24 2018-05-31 腾讯科技(深圳)有限公司 图像合成方法、装置以及匹配实现方法、装置
US10803660B2 (en) * 2018-06-29 2020-10-13 Dreamworks Animation Llc Real-time collision deformation
CN109395390B (zh) * 2018-10-26 2021-12-21 网易(杭州)网络有限公司 游戏角色脸部模型的处理方法、装置、处理器及终端
CN111223171A (zh) * 2020-01-14 2020-06-02 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008237327A (ja) * 2007-03-26 2008-10-09 Samii Kk 画像生成装置および画像生成プログラム
WO2019242454A1 (zh) * 2018-06-21 2019-12-26 华为技术有限公司 一种物体建模运动方法、装置与设备
US20200005138A1 (en) * 2018-07-02 2020-01-02 Magic Leap, Inc. Methods and systems for interpolation of disparate inputs

Also Published As

Publication number Publication date
WO2021143278A1 (zh) 2021-07-22
JP7299414B2 (ja) 2023-06-27
EP4002286A4 (en) 2022-11-30
KR20220028069A (ko) 2022-03-08
CN111223171A (zh) 2020-06-02
EP4002286A1 (en) 2022-05-25
US20220215583A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
JP7299414B2 (ja) 画像処理方法、装置、電子機器及びコンピュータプログラム
CN110163054B (zh) 一种人脸三维图像生成方法和装置
US11823315B2 (en) Animation making method and apparatus, computing device, and storage medium
US10713850B2 (en) System for reconstructing three-dimensional (3D) human body model using depth data from single viewpoint
CN109035415B (zh) 虚拟模型的处理方法、装置、设备和计算机可读存储介质
CN115641375B (zh) 虚拟对象的毛发处理方法、装置、设备及存储介质
CN110458924B (zh) 一种三维脸部模型建立方法、装置和电子设备
JP2024004444A (ja) 3次元顔再構成モデルトレーニング、3次元顔イメージ生成方法及び装置
US20230177755A1 (en) Predicting facial expressions using character motion states
JP4842242B2 (ja) キャラクタアニメーション時の皮膚のしわのリアルタイム表現方法及び装置
Kang Effect of interaction based on augmented context in immersive virtual reality environment
CN115908664A (zh) 人机交互的动画生成方法、装置、计算机设备、存储介质
CN113209625B (zh) 数据处理方法及装置
KR20190074558A (ko) 사물 의인화 및 사물 컨텍스트를 이용한 인공지능 대화 방법 및 시스템
CN117557699B (zh) 动画数据生成方法、装置、计算机设备和存储介质
CN113559500B (zh) 动作数据的生成方法、装置、电子设备及存储介质
US11957976B2 (en) Predicting the appearance of deformable objects in video games
CN111696183B (zh) 投影互动方法、系统及电子设备
CN117826989A (zh) 电力元宇宙的拓展现实沉浸式交互方法及装置
CN116977605A (zh) 虚拟角色形象模型的生成方法、装置和计算机设备
CN116305994A (zh) 惯性测量设备的仿真数据生成方法及装置、介质及设备
KR20240085731A (ko) 모션 스타일링 서비스 제공 방법 및 시스템
CN117784923A (zh) 一种基于vr的显示方法、装置、设备及介质
CN117078269A (zh) 虚拟客服的处理方法及装置、存储介质和电子设备
CN116993868A (zh) 动画生成方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230420

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: 20230605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230615

R150 Certificate of patent or registration of utility model

Ref document number: 7299414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150