KR20220028069A - 이미지 처리 방법 및 장치, 전자 장치 및 저장 매체 - Google Patents

이미지 처리 방법 및 장치, 전자 장치 및 저장 매체 Download PDF

Info

Publication number
KR20220028069A
KR20220028069A KR1020227003382A KR20227003382A KR20220028069A KR 20220028069 A KR20220028069 A KR 20220028069A KR 1020227003382 A KR1020227003382 A KR 1020227003382A KR 20227003382 A KR20227003382 A KR 20227003382A KR 20220028069 A KR20220028069 A KR 20220028069A
Authority
KR
South Korea
Prior art keywords
skeleton
posture
surface model
model
skeleton posture
Prior art date
Application number
KR1020227003382A
Other languages
English (en)
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 KR20220028069A publication Critical patent/KR20220028069A/ko

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
    • 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
    • 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년 1월 14일에 출원된 중국 특허 출원 제202010036516.7의 우선권에 기초하고 이를 주장하며, 이것은 그 전체가 참조로서 본 명세서 포함된다.
본 출원은 이미지 처리 분야에 관한 것으로, 구체적으로는 이미지 처리 방법 및 장치, 전자 장치 및 컴퓨터 판독 가능 저장 매체에 관한 것이다.
정보기술의 급속한 발전에 따라, 환경을 인지하고 정보를 획득하기 위한 채널이 확대되고 있다. 특히, 가상화 디스플레이 기술은 실제 요구사항에 따라 가상 객체의 디스플레이를 구현할 수 있으며, 예를 들어 사용자와 상호작용하기 위해 게임 가상 장면에서 가상 객체를 디스플레이하여 다양한 일반적인 응용 시나리오를 가지고 있다.
기술의 지속적인 발전과 업데이트 과정에서, 가상 객체에 대한 사용자의 요구사항은 점점 더 높아지고 있다. 예를 들어, 가상 객체는 보다 사실적이고 생생하며 예술적인 표현력이 요구된다. 주로 시각적 출력 정보에 의존하는 가상 객체의 경우, 가상 객체는 사용자 요구사항을 충족시키기 위해 시각적 수준에서 직접 최적화된다. 따라서, 가상 객체 생성 단계에서, 다양한 표면 변형(예를 들어, 가상 객체의 일부가 흔들림)이 가상 객체에 적용되어야 한다.
본 출원의 실시예는,
가상 객체의 제1 스켈레톤 자세(skeleton posture)의 기준 표면 모델을 획득하는 단계;
상기 가상 객체의 제2 스켈레톤 자세를 획득하는 단계;
상기 기준 표면 모델 및 상기 제2 스켈레톤 자세에 기초하여 상기 제2 스켈레톤 자세의 예시 표면 모델을 생성하는 단계;
상기 제1 스켈레톤 자세와 상기 제2 스켈레톤 자세 사이의 자세 변환 매트릭스를 결정하는 단계; 및
좌표 공간에서 상기 기준 표면 모델 및 상기 예시 표면 모델에 따라 상기 가상 객체를 생성하기 위해, 상기 자세 변환 매트릭스에 기초하여 상기 예시 표면 모델 및 상기 기준 표면 모델을 동일한 좌표 공간으로 변환하는 단계
를 포함하는 이미지 처리 방법을 제공한다.
본 출원의 실시예는,
가상 객체의 제1 스켈레톤 자세의 기준 표면 모델을 획득하도록 구성된 제1 획득 모듈;
상기 가상 객체의 제2 스켈레톤 자세를 획득하도록 구성된 제2 획득 모듈;
상기 기준 표면 모델 및 상기 제2 스켈레톤 자세에 기초하여 상기 제2 스켈레톤 자세의 예시 표면 모델을 생성하도록 구성된 생성 모듈;
상기 제1 스켈레톤 자세와 상기 제2 스켈레톤 자세 사이의 자세 변환 매트릭스를 결정하도록 구성된 매트릭스 결정 모듈; 및
좌표 공간에서 상기 기준 표면 모델 및 상기 예시 표면 모델에 따라 상기 가상 객체를 생성하기 위해, 상기 자세 변환 매트릭스에 기초하여 상기 예시 표면 모델과 상기 기준 표면 모델을 동일한 좌표 공간으로 변환하도록 구성된 좌표 공간 변환 모듈
을 포함하는 이미지 처리 장치를 더 제공한다.
본 출원의 실시예는, 컴퓨터 판독 가능 명령을 저장하도록 구성된 메모리; 및 본 출원의 실시예에서 제공되는 이미지 처리 방법을 구현하기 위해, 상기 메모리에 저장된 컴퓨터 판독 가능 명령을 실행하도록 구성된 프로세서를 포함하는 전자 장치를 제공한다.
본 출원의 실시예는, 프로세서에 의해 실행될 때 본 출원의 실시예에서 제공되는 이미지 처리 방법을 구현하는 컴퓨터 판독 가능 명령을 저장하는 컴퓨터 판독 가능 저장 매체를 제공한다.
본 출원의 상기 및 기타 목적, 특징 및 이점은 첨부 도면을 참조하여 본 출원의 예시적인 실시예의 상세한 설명으로부터 더욱 명백해질 것이다.
도 1은 본 출원의 실시예에 따른 이미지 처리 시스템의 개략적인 구조도이다.
도 2는 본 출원의 실시예에 따른 게임 장면에 적용된 이미지 처리 시스템의 개략적인 구조도이다.
도 3a는 본 출원의 실시예에 따른 이미지 처리 방법의 흐름도이다.
도 3b는 본 출원의 실시예에 따른 이미지 처리 방법의 흐름도이다.
도 3c는 본 출원의 실시예에 따른 이미지 처리 방법의 흐름도이다.
도 4는 본 출원의 실시예에 따른 물질 자원 생성 단계의 흐름도이다.
도 5는 본 출원의 실시예에 따른 가상 객체 생성 단계의 흐름도이다.
도 6은 본 출원의 실시예에 따라 가상 객체가 마야 소프트웨어에서 생성되는 단말 인터페이스의 도면이다.
도 7은 본 출원의 실시예에 따른 이미지 처리 장치의 블록도이다.
도 8은 본 출원의 실시예에 따른 전자 장치의 하드웨어 도면이다.
현재, 예시적인 구현은 첨부된 도면을 참조하여 포괄적으로 설명된다. 그러나, 구현 예는 다양한 형태로 구현될 수 있으며, 여기에서 설명되는 예로 한정되는 것으로 이해되어서는 안 된다. 역으로, 구현예는 본 출원의 설명을 보다 포괄적이고 완전하게 하고 구현예의 아이디어를 당업자에게 포괄적으로 전달하기 위해 제공된다. 첨부 도면은 단지 본 출원의 예시적인 도시일 뿐이며 반드시 일정한 비율로 도시된 것은 아니다. 첨부된 도면에서 동일한 참조 번호는 동일하거나 유사한 부분을 나타내며, 이에 대한 중복되는 설명은 생략된다.
또한, 설명된 특징, 구조 또는 특성은 임의의 적절한 방식으로 하나 이상의 예시적인 구현으로 결합될 수 있다. 다음 설명에서, 본 출원 예시적인 구현의 완전한 이해를 제공하기 위해 많은 특정 세부사항이 제공된다. 그러나, 당업자는 본 출원의 기술적 해결수단이 하나 이상의 특정 세부사항 없이 구현될 수 있거나, 또는 다른 방법, 유닛 또는 단계가 사용될 수 있음을 인지해야 한다. 다른 경우에, 본 출원의 측면을 모호하게 하는 것을 피하기 위해 잘 알려진 구조, 방법, 구현 또는 작동이 자세히 도시되거나 설명되지 않는다.
첨부된 도면에 도시된 블록도 중 일부는 기능적 개체이며 물리적으로 또는 논리적으로 독립된 개체에 반드시 대응하는 것은 아니다. 기능적 개체는 소프트웨어의 형태로 구현되거나, 하나 이상의 하드웨어 모듈 또는 집적 회로로 구현되거나, 또는 상이한 네트워크 및/또는 프로세서 장치 및/또는 마이크로 제어기 장치에서 구현될 수 있다.
다음 설명에서, "일부 실시예"라는 용어는 모든 가능한 실시예의 서브 세트를 설명하지만, "일부 실시예"는 모든 가능한 실시예의 동일한 서브 세트 또는 상이한 서브 세트일 수 있으며, 충돌 없이 서로 결합될 수 있다. 이하의 설명에서, "복수"라는 용어는 적어도 둘 이상을 지칭한다.
달리 정의되지 않는 한, 본 명세서에서 사용되는 모든 기술 및 과학 용어의 의미는 본 출원이 속하는 기술 분야의 당업자에 의해 통상적으로 이해되는 것과 동일하다. 본 명세서에서 사용한 용어는 단지 본 출원의 실시예의 목적을 설명하기 위해 사용된 것으로, 본 출원을 제한하려는 의도가 아니다.
먼저, 본 출원의 실시예와 관련된 일부 개념이 간략히 설명된다.
(1) 가상 장면(Virtual Scene): 장치를 사용하여 출력되는 장면이자 또한 현실 세계와 상이한 장면. 가상 장면의 시각적 인식은 예를 들어, 디스플레이 스크린을 사용하여 출력되는 2차원 이미지 또는 3차원 투영, 가상 현실, 또는 증강 현실 기술과 같은 3차원 디스플레이 기술을 사용하여 출력되는 3차원 이미지를 사용하여, 육안이나 장치의 도움으로 형성될 수 있다. 또한, 가능한 다양한 하드웨어를 사용하여 청각적 지각, 촉각적 지각, 후각적 지각, 모션 지각과 같이 현실 세계를 시뮬레이션하는 다양한 지각이 추가로 형성될 수 있다.
(2) 가상 객체: 가상 장면에서 상호작용할 수 있는 다양한 사람 및 객체의 아바타 또는 가상 장면에서 이동 가능한 객체. 가상 객체는 게임 엔진, 드로잉 소프트웨어, 또는 다른 이미지 처리 도구를 사용하여 생성될 수 있으며, 가상 객체를 생성하는 데 사용되는 핵심 기술은 3차원 이미지 기술이다. 이동 가능한 객체는 가상 캐릭터, 가상 동물, 만화 캐릭터 등, 예를 들어 가상 장면에서 디스플레이되는 캐릭터, 동물, 식물, 기름통, 벽, 돌일 수 있다. 가상 객체는 가상 장면에서 사용자를 나타내기 위해 사용되는 가상 이미지일 수 있다. 가상 객체는 가상 장면에서 형상과 부피를 가지며, 가상 장면에서 일정 공간을 차지한다. 본 출원의 실시예에서, 가상 객체는 애니메이션 캐릭터일 수 있다. 본 출원의 실시예에서 제공되는 이미지 처리 방법은 스켈레톤 애니메이션에서 애니메이션 캐릭터의 이미지 처리 프로세스에 적용할 수 있다.
(3) 스켈레톤 애니메이션: 모델 애니메이션 중 하나. 스켈레톤 애니메이션에서, 가상 객체(예를 들어, 애니메이션 캐릭터)는 스켈레톤 적어도 두 가지 종류의 데이터, 즉 스켈레톤 자세와 표면 모델을 포함한다. 스켈레톤 자세는 가상 객체의 "스켈레톤"의 방향과 위치를 설명한다. 표면 모델은 가상 객체의 표면 상의 복수의 정점을 설명한다. 즉, 표면 모델은 가상 객체의 표면 상의 일련의 정점의 세트로서 이해될 수 있다. 대응하는 애니메이션이 스켈레톤 자세를 구동함으로써 생성할 수 있도록 스켈레톤 자세의 변경은 이에 상응하여 표면 모델의 변경을 구동할 수 있다.
(4) 스킨 처리: "스켈레톤 자세의 변경이 이에 상응하여 표면 모델의 변경을 구동할 수 있음"을 달성하기 위해, 가상 객체의 표면 상의 정점이 특정 스켈레톤에 의해 구동될 수 있음을 정의하는 것이 필요하고, 특정 스켈레톤에 의해 가상 객체 표면의 정점이 구동될 수 있음을 정의하는(즉, 특정 스켈레톤을 가상 객체 표면의 특정 정점에 바인딩하는) 프로세스는 스킨 처리로서 지칭된다.
(5) 스켈레톤-스키닝 모델(Skeleton-skinning model): 스켈레톤 자세에 따라 표면 모델에 대해 스킨 처리가 수행된 후 획득되는 스켈레톤 스키닝(skinning) 정보를 갖는 모델을 지칭한다. 스켈레톤 스키닝 모델은 주로 두 부분의 정보, 즉 표면 정보(표면 데이터)와 스켈레톤 스키닝 정보를 포함한다.
(6) 표면 변형: 가상 객체가 생성되는 경우, 특정 서비스 요구사항을 충족시키기 위해 가상 객체에 추가 표면 변형이 추가될 필요가 있을 수 있다. 예를 들어, 스킨 처리 및 다른 필요한 처리 프로세스가 수행된 후, 뚱뚱한 애니메이션 캐릭터가 생성되었지만, 실제 서비스 요구사항에서, 애니메이션 캐릭터가 이동해야 하는 경우, 애니메이션 캐릭터의 허리에 있는 지방이 실생활에서와 같이 흔들릴 수 있다. 나아가, 예술적 요구사항을 충족시키기 위해 지방이 실생활보다 더 과장되게 흔들린다. 이 경우, 지방의 흔들림을 시뮬레이션할 수 있는 추가적인 표면 변형이 애니메이션 캐릭터에 추가되어야 한다. 실제 적용에서, 추가 표면 변형은 비선형 표면 변형일 수 있으며 변형 규칙을 캡처하기 어려운 복잡한 비선형 표면 변형일 수도 있음이 이해될 수 있다.
(7) 재료 자원: 본 출원의 본 실시예에서, 가상 객체가 실제로 생성되기 전에, 관련된 재료 자원이 미리 만들어진다(생성된다). 재료 자원은 기준 표면 모델과 예시 표면 모델을 포함한다. 기준 표면 모델은 미리 설정된 가장 기본적인 재료 자원이며, 기준 표면 모델은 하나만 있을 수 있다. 예시 표면 모델은 기준 표면 모델에 기초하여 추가로 획득된 재료 자원이며, 하나 또는 적어도 두 개의 예시 표면 모델이 있을 수 있다.
기술의 발전에 따라, 가상 객체의 시각적 성능에 대한 요구사항이 점점 높아지고 있으며, 가상 객체 생성 단계에서 가상 객체에 다양한 표면 변형(예를 들어, 복잡한 비선형 표면 변형)이 적용될 필요가 있다. 그러나, 현재의 스켈레톤 애니메이션 기술에서, 표면 변형은 가상 객체 생성 단계에서 지원될 수 없으며, 표면 변형과의 호환성이 낮아 요구사항이 충족될 수 없다.
이러한 관점에서, 본 출원의 실시예는 가상 객체 생성 단계에서 표면 변형을 지원함으로써 표면 변형과의 호환성을 향상시킬 수 있도록, 물질 자원의 생성 동안 표면 변형의 영향을 피할 수 있는 이미지 처리 방법 및 장치, 전자 장치 및 컴퓨터 판독 가능 저장 매체를 제공한다.
예로서, 도 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)는 주로 전단부의 역할을 하며, 제2 사용자가 시청하거나 상호작용하기 쉽도록 가상 객체를 디스플레이하기 위해, 예를 들어 출력 가상 장면에 가상 객체를 디스플레이하기 위해 서버(20)로부터 수신된 렌더링 데이터에 따라 렌더링을 수행하기 위해 사용된다. 예로서, 도 1은 제2 단말 장치(30)에 의해 출력되는 가상 장면(31)과 가상 장면(31) 내의 가상 객체(32)를 도시한다. 가상 장면(31) 및 가상 객체(32)는 제2 단말 장치(30)의 그래픽 인터페이스에서 디스플레이될 수 있다.
본 실시예는 예시적인 설명일 뿐이며, 본 출원의 기능 및 범위를 제한하지 않는다.
예로서, 도 2는 본 출원의 실시예에 따른 게임 장면의 이미지 처리 시스템의 개략적인 구조도이다. 도 2의 이미지 처리 시스템은 모델러(modeler) 단말 장치(40), 게임 서버(50) 및 게임 플레이어 단말 장치(60)를 포함한다. 이해의 편의를 위해, 본 출원의 본 실시예에서 제공되는 이미지 처리 방법이 단말 장치와 서버에 의해 협력적으로 구현되는 경우가 설명을 위한 예로서 사용된다.
재료 자원 생성 단계에서, 모델러 단말 장치(40)와 게임 서버(50)가 주로 포함된다. 모델러 단말 장치(40)는 주로 전단부 역할을 하며, 게임 재료 자원(예를 들어, 자연스러운 서 있는 자세의 게임 캐릭터의 표면 모델 및 양팔 벌린 자세의 게임 캐릭터의 표면 모델)의 생산 작동에 응답하여 게임 재료 자원을 생성하기 위해 사용된다. 게임 서버(50)는 주로 후단부의 역할을 하며, 게임 재료 자원의 생성 동안 모델 단말 장치(40)에게 대응하는 기능 지원을 제공하고, 모델러 단말 장치(40)에 의해 전송된 게임 재료 자원을 저장하기 위해 사용된다.
모델러 단말 장치(40)가 게임 서버(50)의 지원 하에서 대응하는 게임 재료 자원을 생성할 수 있도록, 모델러는 모델러 단말 장치(40)에서 대응하는 예술 작업(예를 들어, 그래픽 태블릿을 사용하여 게임 캐릭터의 표면 모델을 수정하거나 또는 마우스 명령 및 키보드 명령을 사용하여 게임 캐릭터의 표면 모델을 수정함)을 수행할 수 있다.
가상 객체 생성 단계에서, 게임 플레이어 단말 장치(60)와 게임 서버(50)가 주로 관련된다. 게임 서버(50)는 주로 후단부 역할을 하며, 저장된 게임 재료 자원에 따라 가상 객체를 생성하는 데 사용된다. 가상 객체가 게임 캐릭터인 경우가 예로서 사용되며, 게임 서버(50)는 생성된 게임 캐릭터에 대한 렌더링 데이터를 게임 플레이어 단말 장치(60)에게 전송하는 데 추가로 사용된다. 게임 플레이어 단말 장치(60)는 주로 전단부 역할을 하며, 게임 캐릭터를 디스플레이하기 위해, 예를 들어, 게임 캐릭터를 출력 게임 가상 장면에 디스플레이하기 위해 게임 서버(50)로부터 수신된 렌더링 데이터에 따라 렌더링을 수행하는 데 사용된다. 일 예로, 도 2는 게임 가상 장면(61) 내의 게임 플레이어 단말 장치(60) 및 게임 캐릭터(62)에 의해 출력되는 게임 가상 장면(61)을 도시한다.
게임 플레이어는 게임 플레이어 단말 장치(60)에 의해 디스플레이되는 게임 캐릭터(62)를 제어하기 위해 게임 플레이어 단말 장치(60) 상에서 게임 조작(예를 들어, 마우스를 사용하여 게임 캐릭터(62)의 움직임을 제어하거나, 키보드를 사용하여 게임 캐릭터(62)의 스킬 캐스팅(skill casting)을 제어하거나, 또는 스크린을 터치함으로써 게임 캐릭터(62)의 움직임 및 스킬 캐스팅을 제어함)을 수행할 수 있다. 이러한 프로세스에서, 게임 플레이어 단말 장치(60)는 플레이어의 게임 조작에 응답하여 대응하는 명령을 생성하여 게임 서버(50)에게 명령을 전송한다. 게임 서버(50)는 수신된 명령 및 저장된 게임 재료 자원에 따라 새로운 게임 캐릭터를 생성할 수 있다. 예를 들어, 도 2에 도시된 게임 캐릭터(62)는 점프 상태이고, 생성된 새로운 게임 캐릭터는 서 있는 자세, 즉 스켈레톤 자세가 변경된 게임 캐릭터(62)일 수 있다.
본 실시예는 예시적인 설명일 뿐이며, 본 출원의 기능 및 범위를 제한하지 않는다.
일부 실시예에서, 단말 장치는 컴퓨터 프로그램을 실행함으로써 본 출원의 본 실시예에서 제공되는 이미지 처리 방법을 구현할 수 있다. 예를 들어, 컴퓨터 프로그램은 운영 체제의 기본 프로그램 또는 소프트웨어 모듈일 수 있다. 컴퓨터 프로그램은 기본 어플리케이션(APP), 즉 예를 들어 게임 APP을 실행하기 위해 운영 체제에 설치되어야 하는 프로그램일 수 있거나, 또는 애플릿, 즉 실행하기 위해 브라우저 환경에 다운로드되어야 하는 프로그램일 수 있거나, 또는 모든 APP에 내장될 수 있는 애플릿일 수 있다. 결론적으로, 컴퓨터 프로그램은 어떤 형태의 APP, 모듈 또는 플러그인일 수 있다.
본 출원의 본 실시예는 클라우드 기술을 사용하여 구현될 수 있다. 클라우드 기술은 데이터의 컴퓨팅, 저장, 처리 및 공유를 구현하기 위해 하드웨어, 소프트웨어, 네트워크와 같은 일련의 자원을 광역 네트워크 또는 근거리 통신망에서 통합하는 호스팅 기술이다. 다른 의미에서, 클라우드 기술은 또한 클라우드 컴퓨팅 비즈니스 모드의 응용을 기반으로 하는 네트워크 기술, 정보 기술, 통합 기술, 관리 플랫폼 기술, 어플리케이션 기술 등의 총칭이며, 자원 풀을 구성할 수 있다. 사용은 요구사항에 기초하며 유연하고 편리하다. 클라우드 컴퓨팅 기술은 중요한 지원이 된다. 기술 네트워크 시스템의 백그라운드 서비스는 많은 양의 컴퓨팅 및 저장 자원을 필요로 한다.
일부 실시예에서, 서버는 독립된 물리적 서버일 수 있거나, 또는 복수의 물리적 서버 또는 분산 시스템을 포함하는 서버 클러스터일 수 있거나, 또는 클라우드 서비스, 클라우드 데이터베이스, 클라우드 컴퓨팅, 클라우드 기능, 클라우드 저장, 네트워크 서비스, 클라우드 통신, 미들웨어 서비스, 도메인 네임 서비스, 보안 서비스, 컨텐츠 전송 네트워크(Content Delivery Network, CDN), 빅데이터, 인공지능 플랫폼과 같은 기본적인 클라우드 컴퓨팅 서비스를 제공하는 클라우드 서버일 수 있다. 예를 들어, 클라우드 서비스는 재료 자원을 생성하는 서비스 또는 단말 장치를 호출하기 위한 가상 객체를 생성하는 서비스일 수 있다. 단말 장치는 스마트폰, 태블릿 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 스마트 워치, 스마트 텔레비전 등이 될 수 있으나, 이에 한정되는 것은 아니다. 단말 장치와 서버는 유선 또는 무선 통신 방식으로 직접 또는 간접적으로 연결될 수 있다. 이것은 본 출원의 본 실시예에서 제한되지 않는다.
본 출원의 실시예에서 제공되는 이미지 처리 방법은 예시적인 어플리케이션 및 본 출원의 본 실시예에서 제공되는 전자 장치의 구현을 참조하여 설명된다.
도 3a는 본 출원의 실시예에 따른 이미지 처리 방법의 개략적인 흐름도이다. 도 3a에 도시된 단계는 설명을 위해 결합된다.
단계 410. 가상 객체의 제1 스켈레톤 자세의 기준 표면 모델을 획득한다.
단계 420. 가상 객체의 제2 스켈레톤 자세를 획득한다.
단계 430. 기준 표면 모델 및 제2 스켈레톤 자세에 기초하여 제2 스켈레톤 자세의 예시 표면 모델을 생성한다.
단계 440. 제1 스켈레톤 자세와 제2 스켈레톤 자세 사이의 자세 변환 매트릭스를 결정한다.
단계 450. 좌표 공간에서 기준 표면 모델 및 예시 표면 모델에 따라 가상 객체를 생성하기 위해, 자세 변환 매트릭스에 기초하여 예시 표면 모델 및 기준 표면 모델을 동일한 좌표 공간으로 변환한다.
본 출원의 본 실시예에서, 재료 자원 생성 단계에서,
기준 표면 모델에 따라 예시 표면 모델을 생성한 후, 전자 장치는 동일한 좌표 공간에서 재료 자원을 획득하기 위해 제1 스켈레톤 자세(기준 표면 모델에 대응하는 스켈레톤 자세)와 제2 스켈레톤 자세(예시 표면 모델에 대응하는 스켈레톤 자세) 사이의 자세 변환 매트릭스에 기초하여 예시 표면 모델 및 기준 표면 모델을 동일한 좌표 공간으로 변환한다. 따라서, 재료 자원의 생성 동안, 추가적인 표면 변형의 영향을 피할 수 있으므로, 후속 가상 객체 생성 단계에서 추가 표면 변형(예를 들어, 다양한 복잡한 비선형 추가 표면 변형)과의 호환성이 달성될 수 있으므로, 상이한 좌표 공간에서의 처리로 인한 제어할 수 없는 결과(예를 들어, 최종 생성된 가상 객체가 적용된 표면 변형과 일치하지 않음)를 효과적으로 피하고 스켈레톤 애니메이션과 표면 변형의 호환성을 향상시킬 수 있다.
재료 자원 생성 단계의 구체적인 구현 프로세스는 아래에서 설명된다.
단계 410에서, 가상 객체의 제1 스켈레톤 자세의 기준 표면 모델이 획득된다.
여기서, 가상 객체는 가상화된 다양한 사람 및 사물의 객체를 지칭한다. 예를 들어, 가상 객체는 애니메이션 캐릭터일 수 있거나, 또는 나무, 깃발, 종이 등일 수 있다. 본 출원의 본 실시예에서, 가상 객체는 복수의 스켈레톤 자세를 갖는다. 예를 들어, 애니메이션 캐릭터는 자연스러운 서 있는 자세의 스켈레톤 자세와 양팔 수평 자세의 스켈레톤 자세를 가지며, 깃발은 정적 상태의 스켈레톤 자세와 바람에 날릴 때의 스켈레톤 자세를 갖는다.
가상 객체에 대해, 가상 객체의 제1 스켈레톤 자세의 표면 모델이 기준 표면 모델로서 획득된다. 예를 들어, 기준 표면 모델은 자연스러운 서 있는 자세에서의 가상 객체의 표면 모델일 수 있고, 제1 스켈레톤 자세는 자연스러운 서 있는 자세에서의 가상 객체의 스켈레톤 자세일 수 있다. 제1 스켈레톤 자세는 하나만 있을 수 있다.
본 출원의 본 실시예에서, 기준 표면 모델은 미리 생성되어 전자 장치에 저장될 수 있다. 재료 자원이 생성되어야 하는 경우, 전자 장치는 기준 표면 모델을 호출할 수 있다. 기준 표면 모델은 다르게는 실시간으로 전자 장치(예를 들어, 모델러 단말 장치)에서 사용자(예를 들어, 예술 작업을 하는 모델러)에 의해 만들어질 수 있다. 제1 스켈레톤 자세는 기준 표면 모델과 유사하다.
단계 420에서, 가상 객체의 제2 스켈레톤 자세가 획득된다.
제2 스켈레톤 자세는 생성될 예시 표면 모델의 스켈레톤 자세이다. 예시 표면 모델은 기준 표면 모델에 기초하여 생성된 표면 모델이며 제1 스켈레톤 자세가 아니다. 예를 들어, 기준 표면 모델이 자연스럽게 서 있는 자세의 가상 객체의 표면 모델인 경우, 양팔 수평 자세의 가상 객체의, 자연스럽게 서 있는 자세의 가상 객체의 표면 모델에 기초하여 생성된 표면 모델은 예시 표면 모델이다. 이에 상응하여, 양팔 수평 자세의 가상 객체의 스켈레톤 자세는 제2 스켈레톤 자세이다.
본 출원의 본 실시예에서, 제2 스켈레톤 자세는 미리 생성되어 전자 장치에 저장될 수 있다. 다르게는, 제2 스켈레톤 자세는 실시간으로 전자 장치에서 사용자(예를 들어, 예술 작업을 하는 모델러)에 의해 만들어질 수 있다. 제2 스켈레톤 자세의 수량은 본 출원의 본 실시예에서 제한되지 않는다. 예를 들어, 하나 또는 적어도 두 개의 제2 스켈레톤 자세가 있을 수 있다. 이해의 편의를 위해, 도 3a에서, 제2 스켈레톤 자세가 하나뿐인 경우가 설명을 위한 예로서 사용된다.
단계 430에서, 제2 스켈레톤 자세의 예시 표면 모델은 기준 표면 모델 및 제2 스켈레톤 자세에 기초하여 생성된다.
제2 스켈레톤 자세의 표면 모델은 획득된 기준 표면 모델 및 획득된 제2 스켈레톤 자세에 기초하여 생성될 수 있다. 구별의 편의를 위해, 여기에서 생성된 표면 모델이 예시 표면 모델로 명명된다.
일부 실시예에서, 기준 표면 모델 및 제2 스켈레톤 자세에 기초하여 제2 스켈레톤 자세의 예시 표면 모델을 생성하는 단계는 이러한 방식, 즉, 제2 스켈레톤 자세의 예시 스켈레톤 스키닝 모델을 획득하기 위해 제2 스켈레톤 자세에 기초하여 기준 표면 모델에 대해 스킨 처리를 수행하는 단계; 및 예시 스켈레톤 스키닝 모델의 표면 데이터를 추출하고, 표면 데이터에 따라 제2 스켈레톤 자세의 예시 표면 모델을 생성하는 단계로 구현될 수 있다.
본 출원의 본 실시예에서, 스킨 처리는 제2 스켈레톤 자세의 스켈레톤 스키닝 모델을 획득하기 위해 획득된 제2 스켈레톤 자세에 기초하여 획득된 기준 표면 모델에 대해 수행된다. 스켈레톤 스키닝 모델은 주로 두 부분의 정보, 즉 표면 데이터와 스켈레톤 스키닝 정보를 포함한다. 구별의 편의를 위해, 여기에서 획득된 스켈레톤 스킨 모델은 예시 스켈레톤 스킨 모델로 명명된다.
예를 들어, 기준 표면 모델은 수평 자세의 수평 팔 모델이고, 제2 스켈레톤 자세는 상향 자세의 상향 팔 스켈레톤 자세이다. 스켈레톤 스키닝 정보와 상향 자세를 갖는 상향 팔 모델, 즉 예시 스켈레톤 스키닝 모델을 획득하기 위해, 스킨 처리가 상향 팔 스켈레톤 자세에 기초하여 수평 팔 모델에 대해 수행된다.
제2 스켈레톤 자세의 예시 스켈레톤 스킨 모델이 획득된 후, 제2 스켈레톤 자세의 예시 표면 모델이 표면 데이터에 따라 생성될 수 있도록 예시 스켈레톤 스키닝 모델의 표면 데이터가 추출된다. 예시 표면 모델은 추출된 표면 데이터에 의해 기술되는 가상 객체의 표면 상의 정점을 포함한다. 스킨 처리를 통해, 제2 스켈레톤 자세의 예시 표면 모델이 인건비를 절감하기 위해 자동으로 획득될 수 있다.
본 실시예는 예시적인 설명일 뿐이며, 본 출원의 기능 및 범위를 제한하지 않는다.
일부 실시예에서, 예시 스켈레톤 스키닝 모델의 표면 데이터를 추출하기 전에, 이 방법은,
요청자로부터 예시 스켈레톤 스키닝 모델에 대한 수정 요청을 획득하는 단계; 및 요청자가 예시 스켈레톤 스키닝 모델을 수정할 수 있도록 수정 요청에 대한 검증이 성공하는 경우에 예시 스켈레톤 스키닝 모델의 수정 권한을 요청자에게 개방하는 단계를 더 포함한다.
예시 스켈레톤 스키닝 모델의 표면 데이터를 추출하는 단계는 이러한 방식, 즉 수정된 예시 스켈레톤 스키닝 모델의 표면 데이터를 추출하는 단계로 구현될 수 있다.
본 출원의 본 실시예에서, 예시 스켈레톤 스키닝 모델을 획득하기 위해 기준 표면 모델에 대해 스킨 처리가 수행된 후 그리고 예시 표면 모델의 표면 데이터가 예시 표면 모델을 획득하기 위해 추출되기 전에, 요청자(예를 들어, 전단부에 위치된 모델러 단말 장치)는 예시 스켈레톤 스키닝 모델을 수정하도록 허용될 수 있다.
스킨 처리는 선형 수학적 처리 프로세스이다. 따라서, 스킨 처리를 통해 획득된 예시 스켈레톤 스키닝 모델은 스켈레톤 자세의 단순한 변화만을 가질 뿐이며, 예시 스켈레톤 스키닝 모델의 표면 데이터는 특정 예술 요구사항과 같은 실제 요구사항을 충족할 수 없다. 예를 들어, 팔꿈치 굽힘 스켈레톤 자세에 기초한 수평 팔 모델(표면 모델)에 대해 스킨 처리가 수행되고, 스켈레톤 스키닝 정보와 팔꿈치 굽힘 자세를 갖는 굽은 팔 모델(스켈레톤 스키닝 모델)이 획득될 수 있다. 수평 팔 모델에서 이두근(bicep)의 표면은 상대적으로 평평하고, 스킨 처리를 통해 획득된 굽은 팔 모델에서 이두근의 표면은 뚜렷한 변화가 없으며 여전히 상대적으로 평평하다. 실생활에서, 팔꿈치는 근육을 쥐어짜기 위해 구부려지고, 수평 팔 모델에 비해 굽은 팔 모델의 이두근 표면은 뚜렷한 험프(hump)를 갖는다. 특정 예술 요구사항이 있는 경우, 굽은 팔 모델의 이두근 표면에 대해 더 뚜렷한 험프가 추가로 필요하다.
따라서, 스킨 처리 후, 요청자는 대응하는 요구 사항, 예를 들어 예술 요구사항을 충족시키기 위해 예시 스켈레톤 스키닝 모델을 수정하는 데 지원 받을 수 있다. 예를 들어, 사용자는 요청자를 통해 예시 스켈레톤 스키닝 모델에 대한 수정 요청을 전자 장치(예를 들어, 서버)로 전송하고, 수신된 수정 요청에 대한 검증이 성공하는 경우, 전자 장치는 대응하는 수정 권한을 요청자에게 개방하여, 사용자가 요청자에서 예시 스켈레톤 스키닝 모델을 수정할 수 있도록 한다.
게임 장면이 예로서 사용된다. 모델러는 모델러 단말 장치를 사용하여 게임 서버에게 수정 요청을 전송하고 예술 요구사항에 따라 스킨 처리를 통해 획득된 예시 스켈레톤 스키닝 모델의 수정을 요청한다. 수정 요청에 대한 검증이 성공하는 경우, 게임 서버는 모델러 단말 장치에게 대응하는 수정 권한을 개방한다. 따라서, 모델러는 모델러 단말 장치에서 예시 스켈레톤 스키닝 모델을 수정할 수 있다.
요청자에서 예시 스켈레톤 스키닝 모델을 수정하는 경우, 사용자는 예시 스켈레톤 스키닝 모델의 표면 데이터를 수정할 수 있거나, 또는 예시 스켈레톤 스키닝 모델의 표면 데이터를 업데이트하기 위해 예시 스켈레톤 스키닝 모델에 대응하는 제2 스켈레톤 자세를 수정할 수 있다.
수정이 완료된 후, 사용자는 요청자를 통해 수정이 완료되었음을 지시하는 메시지를 전자 장치에게 전송할 수 있고, 수정이 완료되었음을 지시하는 메시지를 수신한 경우, 전자 장치는 표면 데이터에 따라 제2 스켈레톤 자세의 예시 표면 모델을 생성하기 위해 수정된 예시 스켈레톤 스키닝 모델의 표면 데이터를 추출한다. 수동 수정 방식을 결합하여, 예시 스켈레톤 스키닝 모델의 표면 데이터의 정확도가 개선되어 실제 응용 시나리오에서 다양한 요구사항을 충족시킬 수 있다.
본 실시예는 예시적인 설명일 뿐이며, 본 출원의 기능 및 범위를 제한하지 않는다.
단계 440에서, 제1 스켈레톤 자세와 제2 스켈레톤 자세 사이의 자세 변환 매트릭스가 결정된다.
자세 변환 매트리스는 제1 스켈레톤 자세와 제2 스켈레톤 자세 사이의 상호 변환 관계를 설명하기 위해 사용되는 수학적 매트릭스이다. 자세 변환 매트릭스를 통해, 제1 스켈레톤 자세가 제2 스켈레톤 자세로 변환되거나, 또는 제2 스켈레톤 자세가 제1 스켈레톤 자세로 변환될 수 있다.
본 출원의 본 실시예에서, 제1 스켈레톤 자세 및 제2 스켈레톤 자세는 모두 전자 장치에서 특정 데이터의 형태로 존재한다. 예를 들어, 전자 장치는 스켈레톤 정점의 3차원 공간 좌표를 저장할 수 있다. 대응하는 스켈레톤 자세는 스켈레톤 정점의 3차원 공간 좌표를 조정함으로써 획득될 수 있다. 즉, 스켈레톤 자세는 3차원 공간 좌표 데이터 형태로 저장하여 처리될 수 있다. 스켈레톤 자세는 일반적으로 복수의 스켈레톤 정점을 포함하며, 스켈레톤 자세에서 뼈의 방향 및 위치는 복수의 스켈레톤 정점을 사용하여 표현될 수 있다. 따라서, 제1 스켈레톤 자세는 수학적 매트릭스 A로 표현될 수 있고, 제2 스켈레톤 자세는 수학적 매트릭스 B로 표현될 수 있으며, 매트릭스 C, 즉, 자세 변환 매트릭스는 A*B=C의 공식에 따른 계산을 통해 획득될 수 있다.
단계 450에서, 예시 표면 모델 및 기준 표면 모델은 좌표 공간에서 기준 표면 모델 및 예시 표면 모델에 따라 가상 객체를 생성하기 위해 자세 변환 매트릭스에 기초하여 동일한 좌표 공간으로 변환된다.
본 출원의 본 실시예에서, 생성된 재료 자원은 가상 객체의 생성을 용이하게 하기 위해 동일한 좌표 공간으로 변환된다. 즉, 재료 자원 생성 단계에서, 예시 표면 모델과 기준 표면 모델은 동일한 좌표 공간으로 변환된다. 예를 들어, 예시 표면 모델은 기준 표면 모델이 위치된 좌표 공간으로 변환될 수 있거나, 또는 기준 표면 모델은 예시 표면 모델이 위치된 좌표 공간으로 변환될 수 있다.
일부 실시예에서, 자세 변환 매트릭스에 기초하여 예시 표면 모델 및 기준 표면 모델을 동일한 좌표 공간으로 변환하는 단계는 이러한 방식, 즉 예시 표면 모델을 기준 표면 모델이 위치된 좌표 공간으로 변환하기 위해 자세 변환 매트릭스에 따라 예시 표면 모델에 대한 좌표 변환을 수행하는 단계로 구현될 수 있다.
본 출원의 본 실시예에서, 기준 표면 모델은 수동으로 설정된 표준이다. 따라서, 예시 표면 모델을 기준 표면 모델이 위치된 좌표 공간으로 변환하기 위해 자세 변환 매트릭스에 따라 예시 표면 모델에 대해 좌표 변환이 수행될 수 있다. 또한, 기준 표면 모델 및 예시 표면 모델은 재료 자원을 생성하기 위해 기준 표면 모델이 위치된 좌표 공간에 저장될 수 있다.
도 4를 참조하면, 본 출원의 실시예에서 재료 자원 생성 단계의 프로세스가 아래에서 설명된다.
도 4에 도시된 바와 같이, 기준 표면 모델(M0)은 좌표 공간에 위치된다. 구분하기 쉽도록, 좌표 공간은 기준 좌표 공간으로 명명된다. 전자 장치에 의해 초기에 획득된 데이터는 기준 표면 모델(M0), 기준 표면 모델(M0)에 대응하는 제1 스켈레톤 자세(P0) 및 생성될 예시 표면 모델(Mi)에 대응하는 제2 스켈레톤 자세(Pi)를 포함한다.
좌표 공간의 변환이 추후에 자세 변환 매트릭스를 사용하여 수행될 수 있도록 제1 스켈레톤 자세(P0)와 제2 스켈레톤 자세(Pi) 사이의 자세 변환 매트릭스가 계산된다.
스킨 처리는 예시 스켈레톤 스키닝 모델을 획득하기 위해 제2 스켈레톤 자세(Pi)에 따라 기준 표면 모델(M0)에 대해 처리되며, 그 다음 사용자(예를 들어, 모델러)는 요구사항을 충족하는 새로운 예시 스켈레톤 스키닝 모델(즉, 수정된 예시 스켈레톤 스키닝 모델)을 획득하기 위해 실제 요구사항(예를 들어, 예술 요구사항)에 따라 예시 스켈레톤 스키닝 모델을 수정할 수 있다. 새로운 예시 스켈레톤 스키닝 모델의 표면 데이터는 제2 스켈레톤 자세(Pi)의 예시 표면 모델을 생성하기 위해 추출되며, 그 다음 기준 좌표 공간에 위치된 예시 표면 모델(Mi)을 획득하기 위해 예시 표면 모델이 자세 변환 매트릭스를 사용하여 기준 좌표 공간으로 변환된다.
본 출원의 본 실시예에서, 전자 장치는 자세 변환 매트릭스를 사용하여 기준 좌표 공간에 기준 표면 모델(M0) 및 예시 표면 모델(Mi) 모두를 저장한다.
후속 가상 객체 생성 프로세스에서, 기준 표면 모델(M0) 및 예시 표면 모델(Mi)에 대한 일련의 처리는 표면 변형의 영향을 피하기 위해 모두 기준 좌표 공간에서 수행된다. 따라서, 생성된 재료 자원, 즉 기준 표면 모델(M0) 및 예시 표면 모델(Mi)은 임의의 추가 표면 변형, 예를 들어 다양한 복잡한 비선형 추가 표면 변형과 호환될 수 있으므로, 상이한 좌표 공간에서의 처리로 인한 제어할 수 없는 결과, 예를 들어 최종 생성된 가상 객체가 적용된 표면 변형과 일치하지 않는 것을 효과적으로 방지할 수 있다.
본 실시예는 예시적인 설명일 뿐이며, 본 출원의 기능 및 범위를 제한하지 않는다.
일부 실시예에서, 도 3b는 본 출원의 실시예에 따른 이미지 처리 방법의 개략적인 흐름도이다. 도 3a에 기초하여, 단계 450 이후에, 단계 510에서, 가상 객체의 타깃 스켈레톤 자세가 추가로 획득될 수 있다.
여기서, 타깃 스켈레톤 자세는 생성되어야 하는 가상 객체의 스켈레톤 자세이며 실제 적용 시나리오에 따라 설정될 수 있다. 예를 들어, 타깃 스켈레톤 자세가 손을 엉덩이에 얹고 서 있는 자세의 스켈레톤 자세라면, 최종적으로 생성된 가상 객체는 손을 엉덩이에 얹고 서 있는 자세이다. 본 출원의 본 실시예에서, 타깃 스켈레톤 자세는 미리 생성되어 전자 장치에 저장될 수 있거나, 또는 실시간으로 획득될 수 있다.
일부 실시예에서, 가상 객체의 타깃 스켈레톤 자세를 획득하는 단계는 이러한 방식, 즉 가상 객체에 대한 조작 데이터를 획득하는 단계; 및 조작 데이터에 기초하여 가상 객체의 타깃 스켈레톤 자세를 결정하는 단계로 구현될 수 있다.
본 출원의 본 실시예에서, 타깃 스켈레톤 자세는 예를 들어 특정 입력 장치에 의해 입력된 조작 데이터에 기초하여 가상 객체에 대한 조작 데이터를 사용함으로써 결정될 수 있다. 예를 들어, 조작 데이터는 도 1의 제2 단말 장치(30)의 입력 장치로부터의 것일 수 있거나, 또는 도 2의 게임 플레이어 단말 장치(60)의 입력 장치로부터의 것일 수 있다. 조작 데이터는 키보드 데이터, 마우스 데이터 또는 스크린 터치 데이터 중 적어도 하나를 포함할 수 있으며, 반드시 이에 제한되는 것은 아니다.
게임 장면은 설명을 위한 예로서 사용된다. 플레이어는 특정 자세로 대응하는 동작을 만들기 위해 모바일 전화 단말에서 실행되는 게임의 게임 캐릭터에게 명령하도록 모바일 전화 단말 상에서 스크린 터치 조작을 수행할 수 있다. 스크린 터치 조작을 검출하는 경우, 모바일 전화 단말은 스크린 터치 조작에 의해 트리거된 스크린 터치 데이터를 게임 서버로 업로드하고, 게임 서버는 획득된 스크린 터치 데이터에 기초하여 플레이어에 의해 지시된 특정 자세, 즉, 게임 캐릭터의 타깃 스켈레톤 자세를 결정한다. 이러한 방식에서, 사용자는 가상 객체의 생성을 제어하기 위해 능동적 조작을 통해 타깃 스켈레톤 자세를 결정할 수 있다.
본 실시예는 예시적인 설명일 뿐이며, 본 출원의 기능 및 범위를 제한하지 않는다.
일부 실시예에서, 가상 객체의 타깃 스켈레톤 자세를 획득하는 단계는 이러한 방식, 즉 센서 데이터를 획득하는 단계; 센서 데이터에 기초하여 사용자 동작을 결정하는 단계; 및 사용자 동작에 기초하여 가상 객체의 타깃 스켈레톤 자세를 결정하는 단계로 구현될 수 있다.
본 출원의 본 실시예에서, 가상 객체의 타깃 스켈레톤 자세는 센서 데이터를 사용하여 추가로 결정될 수 있다. 센서 데이터는 센서 장치, 예를 들어, 도 1의 제2 단말 장치(30)의 센서 장치, 또는 도 2의 게임 플레이어 단말 장치(60)의 센서 장치로터의 것일 수 있다. 센서 데이터는 포지셔닝 정보와 관련된 포지셔닝 센서 데이터 또는 로컬 신체 움직임과 관련된 동작 센서 데이터 중 적어도 하나를 포함할 수 있다.
게임 장면은 설명을 위한 예로서 사용되며, 플레이어는 컴퓨터 단말과 통신하는 VR 안경 또는 VR 핸들과 같은 가상 현실(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 스켈레톤 자세에게 각각 할당된 가중치를 획득하기 위해 방사 기저 함수(radial basis function)를 사용하여 제1 스켈레톤 자세와 제2 스켈레톤 자세 사이의 보간 처리를 수행하는 단계로 구현될 수 있다.
여기서, 제1 스켈레톤 자세와 제2 스켈레톤 자세가 타깃 스켈레톤 자세로 융합되는 경우, 방사 기저 함수(RBF)가 사용될 수 있다. 보간 처리는 제1 스켈레톤 자세와 제2 스켈레톤 자세에게 각각 할당된 가중치를 획득하기 위해 저장된 제1 스켈레톤 자세와 제2 스켈레톤 자세 사이에 수행된다.
일부 실시예에서, 타깃 스켈레톤 자세의 수정된 표면 모델을 획득하기 위해, 제1 스켈레톤 자세의 가중치 및 제2 스켈레톤 자세의 가중치에 기초하여 기준 표면 모델 및 예시 표면 모델을 융합하는 단계는 이러한 방식, 즉 타깃 스켈레톤 자세의 수정된 표면 모델을 획득하기 위해, 제1 스켈레톤 자세의 가중치를 기준 표면 모델의 가중치로 사용하고 제2 스켈레톤 자세의 가중치를 예시 표면 모델의 가중치로 사용함으로써 기준 표면 모델 및 예시 표면 모델에 대한 가중 처리를 수행하는 단계로 구현될 수 있다.
여기서, 타깃 스켈레톤 자세의 수정된 표면 모델은 가중 합산(weighted summation)에 의해 획득될 수 있다. 예를 들어, 제1 스켈레톤 자세(P0)와 제2 스켈레톤 자세(P1)가 타깃 스켈레톤 자세(P)로 융합되는 경우, P0에게 할당된 가중치는 W0이고, P1에게 할당된 가중치는 W1이다. 또한, 제1 스켈레톤 자세(P0)의 기준 표면 모델(M0)과 제2 스켈레톤 자세(P1)의 예시 표면 모델(M1)은 수정된 표면 모델(M)을 획득하기 위해 W0 및 W1에 따라 융합된다, 즉 M=W0*M0+W1*M1이다.
본 실시예는 예시적인 설명일 뿐이며, 본 출원의 기능 및 범위를 제한하지 않는다. 가중 합산에 더하여, 기준 표면 모델과 예시 표면 모델은 다른 방식으로 추가로 융합될 수 있다.
단계 540. 타깃 스켈레톤 스키닝 모델 및 수정된 표면 모델에 기초하여 가상 객체를 생성한다.
일부 실시예에서, 타깃 스켈레톤 스키닝 모델 및 수정된 표면 모델에 기초하여 가상 객체를 생성하는 단계는 이러한 방식, 즉 제1 스켈레톤 자세와 타깃 스켈레톤 자세 사이의 자세 변환 매트릭스를 타깃 자세 변환 매트릭스로서 결정하는 단계; 추출된 수정된 표면 모델을 획득하기 위해 타깃 자세 변환 매트릭스에 기초하여 좌표 공간에서 수정된 표면 모델에 대해 좌표 변환을 수행하는 단계; 및 가상 객체를 생성하기 위해 추출된 수정 표면 모델 및 타깃 스켈레톤 스키닝 모델을 중첩하는 단계로 구현될 수 있다.
본 출원의 본 실시예에서, 저장된 기준 표면 모델 및 예시 표면 모델은 동일한 좌표 공간에 위치되고, 수정된 표면 모델은 기준 표면 모델과 예시 표면 모델을 융합함으로써 획득된다. 따라서, 수정된 표면 모델은 또한 좌표 공간에 위치된다. 타깃 스켈레톤 자세가 제1 스켈레톤 자세와 다른 경우, 수정된 표면 모델은 타깃 스켈레톤 자세에 대응하는 좌표 공간을 충족시키기 위해 좌표 공간으로부터 추출되어야 한다. 예를 들어, 제1 스켈레톤 자세와 타깃 스켈레톤 자세 사이의 자세 변환 매트릭스가 결정된다. 구별을 쉽게 하기 위해, 여기에서 결정된 자세 변환 매트릭스는 타깃 자세 변환 매트릭스로 명명된다. 좌표 변환은 추출된 수정된 표면 모델을 획득하기 위해 획득된 타깃 자세 변환 매트릭스에 기초하여 좌표 공간의 수정된 표면 모델에 대해 수행된 다음, 추출된 수정된 표면 모델과 타깃 스켈레톤 스키닝 모델은 가상 객체를 생성하기 위해 중첩된다. 이러한 방식에서, 추출된 수정된 표면 모델은 타깃 스켈레톤 자세에 대응하는 좌표 공간에 위치될 수 있어 가상 객체 생성이 용이하다.
본 실시예는 예시적인 설명일 뿐이며, 본 출원의 기능 및 범위를 제한하지 않는다.
일부 실시예에서, 추출된 수정된 표면 모델과 타깃 스켈레톤 스키닝 모델을 중첩하는 단계 전에, 이 방법은, 타깃 스켈레톤 스키닝 모델에 대해 표면 변형 처리를 수행하는 단계를 더 포함한다. 가상 객체를 생성하기 위해 추출된 수정된 표면 모델과 타깃 스켈레톤 스키닝 모델을 중첩하는 단계는 이러한 방식, 즉 가상 객체를 생성하기 위해 표면 변형 처리 후에 획득된 추출된 수정된 표면 모델과 타깃 스켈레톤 스키닝 모델을 중첩하는 단계로 구현될 수 있다.
본 출원의 본 실시예에서, 타깃 스켈레톤 스키닝 모델을 획득하기 위해 타깃 스켈레톤 자세에 기초하여 기준 표면 모델에 대해 스킨 처리가 수행된 후, 표면 변형 처리는 실제 요구사항에 따라 타깃 스켈레톤 스키닝 모델에 대해 수행될 수 있다. 예를 들어, 다양한 복잡한 비선형 추가 표면 변형이 적용된다. 표면 변형은 제3자 시스템에 기초하여 생성될 수 있다. 예를 들어, 타깃 스켈레톤 스키닝 모델이 생성된 후, 제3자 근육 시뮬레이션 시스템이 호출되어 타깃 스켈레톤 스키닝 모델에 특정 형태의 근육을 적용한다.
융합을 통해 획득된 수정된 표면 모델이 기준 표면 모델이 위치된 좌표 공간으로부터 추출된 후, 추출된 수정된 표면 모델과 추가 표면 변형이 (즉, 표면 변형 처리 후) 추가된 타깃 스켈레톤 스키닝 모델이 중첩되어 가상 객체를 생성한다. 이러한 방식으로, 다양한 표면 변형 요구사항이 충족되어 실제 응용 시나리오에 대한 적용 가능성을 높일 수 있다.
본 실시예는 예시적인 설명일 뿐이며, 본 출원의 기능 및 범위를 제한하지 않는다.
일부 실시예에서, 단계 540 후에, 이 방법은, 가상 장면에 가상 객체를 디스플레이하기 위해 생성된 가상 객체를 렌더링하는 단계를 더 포함한다.
여기서, 가상 객체를 생성하는 데 사용된 전자 장치가 단말 장치인 경우, 단말 장치는 생성된 가상 객체를 로컬로 렌더링하여 가상 장면에 가상 객체를 디스플레이할 수 있다. 가상 객체를 생성하는 데 사용된 전자 장치가 서버인 경우, 서버는 생성된 가상 객체에 대한 렌더링 데이터를 단말 장치로 전송할 수 있고, 단말 장치는 수신된 렌더링 데이터에 따라 렌더링을 수행하여 가상 장면에 가상 객체를 디스플레이할 수 있다. 가상 장면은 또한 렌더링을 통해서도 획득될 수 있다. 이러한 방식으로, 가상 객체를 디스플레이하는 유연성이 향상된다.
도 3b에 도시된 바와 같이, 기준 표면 모델과 예시 표면 모델은 모두 자세 변환 매트릭스를 사용하여 구성된 동일한 독립 좌표 공간에 위치된다. 따라서, 기준 표면 모델과 예시 표면 모델 모두에 대한 처리는 표면 변형의 영향을 받지 않고 좌표 공간에서 수행되므로, 가상 객체 생성 단계에서 모든 비선형 표면 변형과의 호환성이 달성될 수 있어 표면 변형과의 호환성을 향상시킬 수 있다.
일부 실시예에서, 도 3c는 본 출원의 실시예에 따른 이미지 처리 방법의 개략적인 흐름도이다. 도 3b에 도시된 단계 420은 단계 610으로 업데이트될 수 있다. 단계 610. 가상 객체의 적어도 2개의 제2 스켈레톤 자세를 획득한다.
본 출원의 본 실시예에서, 재료 자원 생성 단계에서, 하나의 예시 표면 모델만이 생성될 수 있으므로, 가상 객체는 기준 표면 모델 및 예시 표면 모델에 기초하여 생성될 수 있다. 다르게는, 적어도 2개의 예시 표면 모델이 생성될 수 있으므로, 가상 객체가 기준 표면 모델 및 적어도 2개의 예시 표면 모델에 기초하여 생성될 수 있다. 여기서, 후자의 경우가 설명을 위한 예로서 사용된다. 먼저, 가상 객체의 적어도 2개의 제2 스켈레톤 자세가 획득된다. 이해의 편의를 위해, 획득된 제1 스켈레톤 자세가 P0이고, 기준 표면 모델이 M0이며, 획득된 제2 스켈레톤 자세가 P1, P2, P3를 포함하는 경우가 설명을 위한 예로서 사용된다.
도 3c에서, 도 3b에 도시된 단계 430은 단계 620으로 업데이트될 수 있다. 단계 620. 기준 표면 모델 및 적어도 2개의 제2 스켈레톤 자세에 기초하여 적어도 2개의 제2 스켈레톤 자세의 예시 표면 모델을 각각 생성한다.
획득된 제2 스켈레톤 자세 각각의 예시 표면 모델은 기준 표면 모델 및 제2 스켈레톤 자세에 기초하여 생성된다. 따라서, 각각의 제2 스켈레톤 자세에 대응하는 예시 표면 모델이 획득될 수 있다. 예를 들어, 제2 스켈레톤 자세(P1)의 예시 표면 모델(M1), 제2 스켈레톤 자세(P2)의 예시 표면 모델(M2), 및 제2 스켈레톤 자세(P3)의 예시 표면 모델(M3)이 획득될 수 있다.
도 3c에서, 도 3b에 도시된 단계 440은 단계 630으로서 업데이트될 수 있다. 단계 630. 제1 스켈레톤 자세와 각각의 제2 스켈레톤 자세 사이의 자세 변환 매트릭스를 결정한다.
제1 스켈레톤 자세와 각각의 제2 스켈레톤 자세 사이의 자세 변환 매트릭스가 추가로 결정된다.
도 3c에서, 도 3b에 도시된 단계 450은 단계 640으로서 업데이트될 수 있다. 단계 640. 제1 스켈레톤 자세와 각각의 제2 스켈레톤 자세 사이의 자세 변환 매트릭스에 기초하여 적어도 2개의 예시 표면 모델 및 기준 표면 모델을 동일한 좌표 공간으로 변환한다.
여기서, 제2 스켈레톤 자세(P1)가 예로서 사용된다. 제2 스켈레톤 자세(P1)의 예시 표면 모델(M1)은 기준 표면 모델(M0)이 제1 스켈레톤 자세(P0)와 제2 스켈레톤 자세(P1) 사이의 자세 변환 매트릭스에 기초하여 위치되는 좌표 공간으로 변환될 수 있다.
도 3c에서, 도 3b에 도시된 단계 530은 단계 650로서 업데이트될 수 있다. 단계 650. 좌표 공간에서 기준 표면 모델 및 적어도 2개의 예시 표면 모델에 기초하여 타깃 스켈레톤 자세의 수정된 표면 모델을 결정한다.
본 출원의 본 실시예에서, 생성된 재료 자원은 적어도 2개의 예시 표면 모델을 포함한다. 이에 상응하여, 수정된 표면 모델이 생성된 재료 자원에 따라 결정되는 경우, 전자 장치는 저장된 모든 예시 표면 모델 및 기준 표면 모델에 따라 수정된 표면 모델을 결정한다.
예를 들어, 제1 스켈레톤 자세(P0), 제2 스켈레톤 자세(P1), 제2 스켈레톤 자세(P2) 및 제2 스켈레톤 자세(P3)가 타깃 스켈레톤 자세(P)에 융합되는 경우, P0에 할당된 가중치(W0), P1에 할당된 가중치(W1), P2에 할당된 가중치(W2), P3에 할당된 가중치(W3)가 결정될 수 있다. 또한, M0, M1, M2 및 M3는 수정된 표면 모델(M)을 획득하기 위해 W0, W1, W2 및 W3에 따라 융합된다. 수정된 표면 모델(M)은 W0*M0+W1*M1+W2*M2+W3*M3=M을 통해 획득될 수 있다.
도 3c에 도시된 바와 같이, 본 출원의 본 실시예에서, 재료 자원 및 가상 객체는 적어도 2개의 제2 스켈레톤 자세를 사용하여 생성될 수 있다. 제2 스켈레톤 자세의 양이 많을수록, 생성된 가상 객체의 효과가 더 좋다.
도 5를 참조하면, 본 출원의 실시예에서 가상 객체 생성 단계의 프로세스가 아래에서 설명된다.
도 5에 도시된 바와 같이, 미리 생성된 재료 자원(기준 좌표 공간에 저장됨)은 기준 표면 모델(M0), 예시 표면 모델(M1), 예시 표면 모델(M2), 예시 표면 모델(M3), ... 및 예시 표면 모델(Mi)을 포함하며, i는 3보다 큰 정수이다. 이에 상응하여, 획득된 스켈레톤 자세는 기준 표면 모델(M0)의 제1 스켈레톤 자세(P0), 예시 표면 모델(M1)의 제2 스켈레톤 자세(P1), 예시 표면 모델(M2)의 제2 스켈레톤 자세(P2), 예시 표면 모델(M3)의 제2 스켈레톤 자세(P3) ..., 및 예시 표면 모델(Mi)의 제2 스켈레톤 자세(Pi)를 포함한다.
타깃 스켈레톤 자세(P)가 획득되는 경우, 타깃 스켈레톤 자세(P)와 제1 스켈레톤 자세(P0) 사이의 자세 변환 매트릭스가 계산되어 후속으로 자세 변환 매트릭스를 사용하여 좌표 공간의 변환을 수행할 수 있다.
타깃 스켈레톤 스키닝 모델을 획득하기 위해 타깃 스켈레톤 자세(P)에 따라 기준 표면 모델(M0)에 대해 스킨 처리가 수행된다. 또한, 표면 변형 처리는 제3자 시스템을 사용하여 타깃 스켈레톤 스키닝 모델에 기초하여 수행될 수 있다. 즉, 추가 표면 변형이 적용된다. 예를 들어, 특정 형태의 근육은 제3자 근육 시뮬레이션 시스템을 사용하여 적용된다.
제1 스켈레톤 자세(P0), 제2 스켈레톤 자세(P1), 제2 스켈레톤 자세(P2), 제2 스켈레톤 자세(P3), ... 및 제2 스켈레톤 자세(Pi)를 포함하는 저장된 스켈레톤 자세가 판독된다. 판독된 스켈레톤 자세 사이에 RBF 알고리즘을 사용하여 보간 처리가 수행되어, 판독된 스켈레톤 자세 모두가 타깃 스켈레톤 자세(P)에 융합되는 경우 판독된 스켈레톤 자세에 할당되어야 하는 가중치를 획득할 수 있다. 또한, 판독된 스켈레톤 자세에 대응하는 표면 모델은 기준 좌표 공간에 저장된 수정된 표면 모델을 획득하기 위해 할당된 가중치에 따라 융합된다.
기준 좌표 공간에 저장된 수정된 표면 모델에 대해 자세 변환 매트릭스를 사용하여 좌표 변환이 수행되어, 기준 좌표 공간에서 수정된 표면 모델을 추출한 다음, 추출된 수정 표면 모델과 스킨 처리 후에 획득되고 추가 표면 변형이 적용된 타깃 스켈레톤 스키닝 모델이 중첩되어 대응하는 가상 객체를 획득할 수 있다.
본 실시예는 예시적인 설명일 뿐이며, 본 출원의 기능 및 범위를 제한하지 않는다.
도 6은 본 출원의 실시예에 따라 가상 객체를 생성하기 위해 마야(Maya) 소프트웨어(3차원 모델링 소프트웨어)에 이미지 처리 방법이 적용되는 단말 인터페이스의 도면이다.
도 6에서, 미리 생성된 재료 자원은 가상 객체의 상완(upper arm)에 대해 생성된 스켈레톤 자세의 상완 표면 모델일 수 있다. 본 출원의 본 실시예에서 도시된 마야 소프트웨어의 단말 인터페이스의 도면에서, 대응하는 기능과 통합된 4개의 노드, 즉 상완 자세 읽기 노드(upperarm_r node), 스키닝 노드(skinCluster node), 추가 표면 변형 노드(deformate node) 및 융합 노드(posedriver node)가 있다. 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)는 예시일 뿐이며, 본 출원의 실시예의 기능 및 사용 범위에 대한 어떠한 제한도 부과하지 않는다.
도 8에 도시된 바와 같이, 전자 장치(80)는 범용 컴퓨팅 장치의 형태로 표현된다. 전자 장치(80)의 컴포넌트는 적어도 하나의 처리 유닛(810), 적어도 하나의 저장 유닛(820), 및 상이한 시스템 컴포넌트(저장 유닛(820) 및 처리 유닛(810) 포함)를 연결하는 버스(830)를 포함할 수 있지만, 이에 제한되지는 않는다.
저장 유닛은 프로그램 코드를 저장한다. 프로그램 코드는 처리 유닛(810)에 의해 실행될 때 처리 유닛(810)이 본 명세서의 예시적인 방법에서 설명된 본 출원의 예시적인 구현에 따른 단계를 수행하게 할 수 있다. 예를 들어, 처리 유닛(810)은 도 3a, 도 3b 및 도 3c에 도시된 각각의 단계를 수행할 수 있다.
저장 유닛(820)은 휘발성 저장 유닛의 형태로 판독 가능한 매체, 예를 들면, 랜덤 액세스 메모리(random access memory, RAM) 유닛(8201) 및/또는 캐시 저장 유닛(8202)을 포함할 수 있으며, 판독 전용 메모리(read-only memory, ROM) 유닛(8203)을 더 포함할 수 있다.
저장 유닛(820)은 (적어도 하나의) 프로그램 모듈(8205)의 그룹을 갖는 프로그램/유틸리티 도구(8204)를 더 포함할 수 있다. 이러한 프로그램 모듈(8205)은 운영 체제, 하나 이상의 어플리케이션 프로그램, 다른 프로그램 모듈 및 프로그램 데이터를 포함하지만 이에 제한되지 않는다. 이러한 예 각각 또는 조합은 네트워크 환경의 구현을 포함할 수 있다.
버스(830)는 복수의 버스 구조 중 임의의 하나를 사용하는 저장 유닛 버스 또는 저장 유닛 제어기, 주변장치 버스, 가속 그래픽 포트, 처리 유닛 또는 복수의 버스 구조 중 임의의 하나를 사용하는 로컬 버스를 포함하는 여러 유형의 버스 구조 중 하나 이상을 나타낼 수 있다.
전자 장치(80)는 또한 하나 이상의 외부 장치(900)(예를 들어, 키보드, 포인팅 장치 및 블루투스 장치)와 통신할 수 있고, 또한, 사용자가 전자 장치(80)와 상호작용할 수 있게 하는 하나 이상의 장치와 통신하고 그리고/또는 전자 장치(80)가 하나 이상의 다른 컴퓨팅 장치와 통신할 수 있게 하는 임의의 장치(예를 들어, 라우터 및 모뎀)와 통신할 수 있다. 이러한 통신은 입력/출력(I/O) 인터페이스(850)를 통해 진행될 수 있다. I/O 인터페이스(850)는 디스플레이 유닛(840)에 연결된다. 또한, 전자 장치(80)는 또한 네트워크 어댑터(860)를 통해 하나 이상의 네트워크(예를 들어, 근거리 통신망(Local Area Network, LAN), 광역 네트워크(Wide Area Network, WAN) 및/또는 인터넷과 같은 공용 네트워크)와 통신할 수 있다. 도면에 도시된 바와 같이, 네트워크 어댑터(860)는 버스(830)를 통해 전자 장치(80)의 다른 모듈과 통신할 수 있다. 도면에는 도시되지 않았지만, 다른 하드웨어 및/또는 소프트웨어 모듈은 마이크로코드, 장치 드라이버, 이중화 처리 유닛, 외부 자기 디스크 구동 어레이, RAID(Redundant Array of Independent Disks) 시스템, 자기 테이프 드라이브, 데이터 백업 저장 시스템 등을 포함하지만 이에 제한되지 않고 전자 장치(80)와 함께 사용될 수 있다.
전술한 구현에 대한 설명을 통해, 본 명세서에서 설명된 예시적인 구현이 소프트웨어에 의해 또는 소프트웨어와 필요한 하드웨어를 결합함으로써 구현될 수 있다는 것을 당업자가 이해하기 쉽다. 따라서, 본 출원의 구현의 기술적 해결수단은 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 비휘발성 저장 매체(컴팩트 디스크 판독 전용 메모리(compact disc read-only memory, CD-ROM), USB 플래시 드라이브, 이동식 하드 디스크 등일 수 있음) 또는 네트워크에 저장될 수 있으며 컴퓨팅 장치(개인용 컴퓨터, 서버, 단말 장치, 네트워크 장치 등일 수 있음)에 본 출원의 구현에서 설명된 방법을 수행하도록 명령하기 위한 여러 명령을 포함한다.
본 출원의 예시적인 실시예는 또한 컴퓨터 판독 가능 명령을 저장하는 컴퓨터 판독 가능 저장 매체를 더 제공하며, 컴퓨터 판독 가능 명령은 프로세서에 의해 실행될 때 본 출원의 실시예에서 제공되는 이미지 처리 방법을 구현한다.
본 출원의 실시예는 이미지 처리 방법을 구현하기 위한 프로그램 제품을 더 제공한다. 프로그램 제품은 휴대용 CD-ROM을 사용할 수 있고 프로그램 코드를 포함할 수 있으며, 개인용 컴퓨터와 같은 단말 장치에서 실행될 수 있다. 그러나, 본 출원의 프로그램 제품은 이에 한정되지 않는다. 본 출원의 본 실시예에서, 판독 가능 저장 매체는 프로그램을 포함하거나 저장하는 임의의 유형의 매체일 수 있고, 프로그램은 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 이들과 조합하여 사용될 수 있다.
프로그램 제품은 하나 이상의 판독 가능 매체의 임의의 조합을 사용할 수 있다. 판독 가능 매체는 컴퓨터 판독 가능 신호 매체 또는 컴퓨터 판독 가능 저장 매체일 수 있다. 판독 가능 저장 매체는 예를 들어 전기, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치, 디바이스, 또는 이들의 임의의 조합일 수 있지만 이에 제한되지는 않다. 판독 가능 저장 매체의 더 구체적인 예시(비배타적 목록)는 하나 이상의 배선을 갖는 전기적 연결, 휴대용 디스크, 하드 디스크, RGM, ROM, 소거 가능한 프로그램 가능 ROM(EPROM 또는 플래시 메모리), 광섬유, 휴대용 CD-ROM, 광 저장 장치, 자기 저장 장치 또는 이들의 적절한 조합을 포함할 수 있다.
컴퓨터 판독 가능 신호 매체는 기저대역에서 또는 캐리어의 일부로서 전파되는 데이터 신호를 포함할 수 있고, 판독 가능 프로그램 코드를 저장한다. 전파된 데이터 신호는 전자기 신호, 광학 신호, 또는 이들의 임의의 적절한 조합을 포함하지만 이에 제한되지 않는 복수의 형태일 수 있다. 판독 가능 신호 매체는 다르게는 판독 가능 저장 매체 이외의 임의의 판독 가능 매체일 수 있다. 판독 가능 매체는 명령 실행 시스템, 장치 또는 디바이스에 의해 사용되거나 조합되어 사용되는 프로그램을 전송하거나, 전파하거나 또는 전송하도록 구성될 수 있다.
판독 가능 매체에 포함된 프로그램 코드는 무선 매체, 유선 매체, 광 케이블, 무선 주파수(RF) 등, 또는 이들의 임의의 적절한 조합을 포함하나 이에 제한되지 않는 임의의 적절한 매체를 사용하여 전송될 수 있다.
본 개시의 작동을 실행하기 위한 프로그램 코드는 하나 이상의 프로그래밍 언어의 임의의 조합을 사용하여 작성될 수 있다. 프로그래밍 언어는 자바, C++와 같은 객체지향 프로그래밍 언어를 포함하며, "C" 또는 이와 유사한 프로그래밍 언어와 같은 기존의 절차적 프로그래밍 언어도 포함한다. 프로그램 코드는 사용자 컴퓨팅 장치에서 완전히 실행되거나, 사용자 장치에서 부분적으로 실행되거나, 독립 소프트웨어 패키지로서 실행되거나, 사용자 컴퓨팅 장치에서 부분적으로 실행되고 원격 컴퓨팅 장치에서 부분적으로 실행되거나, 또는 원격 컴퓨팅 장치 또는 서버에서 완전히 실행될 수 있다. 원격 컴퓨팅 장치의 경우, 원격 컴퓨팅 장치는 LAN 또는 WAN을 포함하는 임의의 네트워크를 사용하여 사용자의 컴퓨팅 장치에 연결될 수 있거나, 또는 외부 컴퓨팅 장치(예를 들어, 인터넷 서비스 공급자를 사용하여 인터넷을 통해 외부 컴퓨팅 장치에 연결됨)에 연결될 수 있다.
전술한 상세한 설명에서 동작 실행을 위한 장치의 여러 모듈 또는 유닛이 언급되었지만, 분할이 필수는 아니다. 실제로, 본 출원의 구현에 따르면, 상기한 둘 이상의 모듈 또는 유닛의 특징 및 기능은 하나의 모듈 또는 유닛에 명시될 수 있다. 반대로, 상기한 하나의 모듈 또는 유닛의 특징 및 기능은 명시될 복수의 모듈 또는 유닛으로 더 세분화될 수 있다.
또한, 본 출원의 방법의 다양한 단계가 첨부 도면에서 특정 순서로 설명되어 있지만, 이는 단계가 특정 순서로 수행되어야 하거나 또는 도시된 모든 단계가 예상된 결과를 달성하도록 수행되어야 하는 것을 요구하거나 암시하지 않는다. 추가적으로 또는 다르게는, 일부 단계가 생략될 수 있고, 복수의 단계가 실행을 위해 하나의 단계로 결합될 수 있으며, 그리고/또는 하나의 단계가 실행을 위해 복수의 단계로 분해될 수 있다.
전술한 구현에 대한 설명을 통해, 본 명세서에 설명된 예시적인 구현이 소프트웨어에 의해 또는 소프트웨어와 필요한 하드웨어를 결합함으로써 구현될 수 있다는 것을 당업자가 이해하기 쉽다. 따라서, 본 출원의 구현의 기술적 해결수단은 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 컴퓨팅 장치(개인용 컴퓨터, 서버, 모바일 단말, 네트워크 장치 등일 수 있음)가 본 출원의 구현에 따른 방법을 수행하도록 명령하기 위한 여러 명령을 포함하여 비휘발성 저장 매체(CD-ROM, USB 플래시 드라이브, 착탈 가능 하드 디스크 등일 수 있음) 또는 네트워크 상에 저장될 수 있다.
당업자는 명세서를 고려하고 여기에서 개시된 본 출원을 실행한 후에 본 출원의 다른 구현 해결수단을 쉽게 알아낼 수 있다. 본 출원은 본 출원의 모든 변형, 사용 또는 적응 변경을 다루기 위한 것이다. 이러한 변형, 사용 또는 적응 변경은 본 출원의 일반적인 원칙을 따르고, 본 출원에서 개시되지 않은 당업계의 공지된 지식 및 통상적인 기술 수단을 포함한다. 본 명세서 및 실시예는 단지 예로서 고려되고, 본 출원의 실제 범위 및 사상은 하기 특허청구범위에 의해 지적된다.

Claims (19)

  1. 전자 장치에 의해 처리되는 이미지 처리 방법으로서,
    가상 객체의 제1 스켈레톤 자세(skeleton posture)의 기준 표면 모델을 획득하는 단계;
    상기 가상 객체의 제2 스켈레톤 자세를 획득하는 단계;
    상기 기준 표면 모델 및 상기 제2 스켈레톤 자세에 기초하여 상기 제2 스켈레톤 자세의 예시 표면 모델을 생성하는 단계;
    상기 제1 스켈레톤 자세와 상기 제2 스켈레톤 자세 사이의 자세 변환 매트릭스를 결정하는 단계; 및
    좌표 공간에서 상기 기준 표면 모델 및 상기 예시 표면 모델에 따라 상기 가상 객체를 생성하기 위해, 상기 자세 변환 매트릭스에 기초하여 상기 예시 표면 모델 및 상기 기준 표면 모델을 동일한 좌표 공간으로 변환하는 단계
    를 포함하는 이미지 처리 방법.
  2. 제1항에 있어서,
    상기 기준 표면 모델 및 상기 제2 스켈레톤 자세에 기초하여 상기 제2 스켈레톤 자세의 예시 표면 모델을 생성하는 단계는,
    상기 제2 스켈레톤 자세의 예시 스켈레톤 스키닝 모델(example skeleton-skinning model)을 획득하기 위해 상기 제2 스켈레톤 자세에 기초하여 상기 기준 표면 모델에 대해 스킨 처리를 수행하는 단계; 및
    상기 예시 스켈레톤 스키닝 모델의 표면 데이터를 추출하고, 상기 표면 데이터에 따라 상기 제2 스켈레톤 자세의 예시 표면 모델을 생성하는 단계
    를 포함하는, 이미지 처리 방법.
  3. 제2항에 있어서,
    상기 예시 스켈레톤 스키닝 모델의 표면 데이터를 추출하는 과정 전에, 상기 이미지 처리 방법은,
    요청자로부터 상기 예시 스켈레톤 스키닝 모델에 대한 수정 요청을 획득하는 단계; 및
    상기 요청자가 상기 예시 스켈레톤 스키닝 모델을 수정할 수 있도록, 상기 수정 요청에 대한 검증이 성공하는 경우 상기 예시 스켈레톤 스키닝 모델의 수정 권한을 상기 요청자에게 개방하는 단계
    를 더 포함하며,
    상기 예시 스켈레톤 스키닝 모델의 표면 데이터를 추출하는 것은,
    수정된 예시 스켈레톤 스키닝 모델의 표면 데이터를 추출하는 것
    을 포함하는, 이미지 처리 방법.
  4. 제1항에 있어서,
    상기 자세 변환 매트릭스에 기초하여 상기 예시 표면 모델 및 상기 기준 표면 모델을 동일한 좌표 공간으로 변환하는 단계는,
    상기 예시 표면 모델을 상기 기준 표면 모델이 위치된 좌표 공간으로 변환하기 위해, 상기 자세 변환 매트릭스에 따라 상기 예시 표면 모델에 대해 좌표 변환을 수행하는 단계
    를 포함하는, 이미지 처리 방법.
  5. 제1항에 있어서,
    상기 가상 객체의 타깃 스켈레톤 자세를 획득하는 단계;
    상기 타깃 스켈레톤 자세의 타깃 스켈레톤 스키닝 모델을 획득하기 위해, 상기 타깃 스켈레톤 자세에 기초하여 상기 기준 표면 모델에 대해 스킨 처리를 수행하는 단계;
    상기 좌표 공간에서 상기 기준 표면 모델 및 상기 예시 표면 모델에 기초하여 상기 타깃 스켈레톤 자세의 수정된 표면 모델을 결정하는 단계; 및
    상기 타깃 스켈레톤 스키닝 모델 및 상기 수정된 표면 모델에 기초하여 상기 가상 객체를 생성하는 단계
    를 더 포함하는 이미지 처리 방법.
  6. 제5항에 있어서,
    상기 좌표 공간에서 상기 기준 표면 모델 및 상기 예시 표면 모델에 기초하여 상기 타깃 스켈레톤 자세의 수정된 표면 모델을 결정하는 단계는,
    상기 제1 스켈레톤 자세와 상기 제2 스켈레톤 자세가 상기 타깃 스켈레톤 자세로 융합되는 경우, 상기 제1 스켈레톤 자세 및 상기 제2 스켈레톤 자세에게 각각 할당된 가중치를 결정하는 단계; 및
    상기 타깃 스켈레톤 자세의 수정된 표면 모델을 획득하기 위해, 상기 제1 스켈레톤 자세의 가중치 및 상기 제2 스켈레톤 자세의 가중치에 기초하여 상기 기준 표면 모델과 상기 예시 표면 모델을 융합하는 단계
    를 포함하는, 이미지 처리 방법.
  7. 제6항에 있어서,
    상기 제1 스켈레톤 자세와 상기 제2 스켈레톤 자세가 상기 타깃 스켈레톤 자세로 융합되는 경우, 상기 제1 스켈레톤 자세 및 상기 제2 스켈레톤 자세에게 각각 할당된 가중치를 결정하는 단계는,
    상기 제1 스켈레톤 자세와 상기 제2 스켈레톤 자세가 상기 타깃 스켈레톤 자세로 융합된 경우, 상기 제1 스켈레톤 자세 및 상기 제2 스켈레톤 자세에게 각각 할당된 가중치를 획득하기 위해 방사 기저 함수(radial basis function)를 사용하여 상기 제1 스켈레톤 자세와 상기 제2 스켈레톤 자세 사이의 보간 처리를 수행하는 단계
    를 포함하는, 이미지 처리 방법.
  8. 제6항에 있어서,
    상기 타깃 스켈레톤 자세의 수정된 표면 모델을 획득하기 위해, 상기 제1 스켈레톤 자세의 가중치 및 상기 제2 스켈레톤 자세의 가중치에 기초하여 상기 기준 표면 모델과 상기 예시 표면 모델을 융합하는 단계는,
    상기 타깃 스켈레톤 자세의 수정된 표면 모델을 획득하기 위해, 상기 제1 스켈레톤 자세의 가중치를 상기 기준 표면 모델의 가중치로 사용하고 상기 제2 스켈레톤 자세의 가중치를 상기 예시 표면 모델의 가중치로 사용하여 상기 기준 표면 모델 및 상기 예시 표면 모델에 대한 가중 처리를 수행하는 단계
    를 포함하는, 이미지 처리 방법.
  9. 제5항에 있어서,
    상기 타깃 스켈레톤 스키닝 모델 및 상기 수정된 표면 모델에 기초하여 상기 가상 객체를 생성하는 단계는,
    상기 제1 스켈레톤 자세와 상기 타깃 스켈레톤 자세 사이의 자세 변환 매트릭스를 타깃 자세 변환 매트릭스로 결정하는 단계;
    상기 추출된 수정 표면 모델을 획득하기 위해, 상기 타깃 자세 변환 매트릭스에 기초하여 상기 좌표 공간에서 상기 수정된 표면 모델에 대해 좌표 변환을 수행하는 단계; 및
    상기 가상 객체를 생성하기 위해, 상기 추출된 수정된 표면 모델과 상기 타깃 스켈레톤 스키닝 모델을 중첩하는 단계
    를 포함하는, 이미지 처리 방법.
  10. 제9항에 있어서,
    상기 추출된 수정된 표면 모델과 상기 타깃 스켈레톤 스키닝 모델을 중첩하는 단계 전에, 상기 이미지 처리 방법은,
    상기 타깃 스켈레톤 스키닝 모델에 대한 표면 변형 처리를 수행하는 단계
    를 더 포함하며,
    상기 가상 객체를 생성하기 위해, 상기 추출된 수정된 표면 모델과 상기 타깃 스켈레톤 스키닝 모델을 중첩하는 단계는,
    상기 가상 객체를 생성하기 위해, 상기 추출된 수정된 표면 모델과 상기 표면 변형 처리 후에 획득되는 타깃 스켈레톤 스키닝 모델을 중첩하는 단계
    를 포함하는, 이미지 처리 방법.
  11. 제5항에 있어서,
    상기 가상 객체의 타깃 스켈레톤 자세를 획득하는 단계는,
    상기 가상 객체에 대한 조작 데이터를 획득하는 단계; 및
    상기 조작 데이터에 기초하여 상기 가상 객체의 타깃 스켈레톤 자세를 결정하는 단계
    를 포함하는, 이미지 처리 방법.
  12. 제5항에 있어서,
    상기 가상 객체의 타깃 스켈레톤 자세를 획득하는 단계는,
    센서 데이터를 획득하는 단계;
    상기 센서 데이터에 기초하여 사용자 동작을 결정하는 단계; 및
    상기 사용자 동작에 기초하여 상기 가상 객체의 타깃 스켈레톤 자세를 결정하는 단계
    를 포함하는, 이미지 처리 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    적어도 2개의 제2 스켈레톤 자세가 존재하고,
    상기 기준 표면 모델 및 상기 제2 스켈레톤 자세에 기초하여 상기 제2 스켈레톤 자세의 예시 표면 모델을 생성하는 단계는,
    상기 기준 표면 모델 및 상기 적어도 2개의 제2 스켈레톤 자세에 기초하여 상기 적어도 2개의 제2 스켈레톤 자세의 예시 표면 모델을 각각 생성하는 단계
    를 포함하는, 이미지 처리 방법.
  14. 제13항에 있어서,
    상기 제1 스켈레톤 자세와 상기 제2 스켈레톤 자세 사이의 자세 변환 매트릭스를 결정하는 단계는,
    상기 제1 스켈레톤 자세와 상기 적어도 2개의 제2 스켈레톤 자세의 각각 사이의 자세 변환 매트릭스를 결정하는 단계
    를 포함하며,
    상기 자세 변환 매트릭스에 기초하여 상기 예시 표면 모델 및 상기 기준 표면 모델을 동일한 좌표 공간으로 변환하는 단계는,
    상기 제1 스켈레톤 자세와 상기 적어도 2개의 제2 스켈레톤 자세의 각각 사이의 자세 변환 매트릭스에 기초하여 적어도 2개의 예시 표면 모델 및 상기 기준 표면 모델을 상기 동일한 좌표 공간으로 변환하는 단계
    를 포함하는, 이미지 처리 방법.
  15. 제14항에 있어서,
    상기 가상 객체의 타깃 스켈레톤 자세를 획득하는 단계;
    상기 타깃 스켈레톤 자세의 타깃 스켈레톤 스키닝 모델을 획득하기 위해, 상기 타깃 스켈레톤 자세에 기초하여 상기 기준 표면 모델에 대해 스킨 처리를 수행하는 단계;
    상기 좌표 공간에서 상기 기준 표면 모델 및 상기 적어도 2개의 예시 표면 모델에 기초하여 상기 타깃 스켈레톤 자세의 수정된 표면 모델을 결정하는 단계; 및
    상기 타깃 스켈레톤 스키닝 모델 및 상기 수정된 표면 모델에 기초하여 상기 가상 객체를 생성하는 단계
    를 더 포함하는, 이미지 처리 방법.
  16. 제1항 내지 제12항 중 어느 한 항에 있어서,
    가상 장면에 상기 가상 객체를 디스플레이하기 위해, 상기 생성된 가상 객체를 렌더링하는 단계
    를 더 포함하는 이미지 처리 방법.
  17. 이미지 처리 장치로서,
    가상 객체의 제1 스켈레톤 자세의 기준 표면 모델을 획득하도록 구성된 제1 획득 모듈;
    상기 가상 객체의 제2 스켈레톤 자세를 획득하도록 구성된 제2 획득 모듈;
    상기 기준 표면 모델 및 상기 제2 스켈레톤 자세에 기초하여 상기 제2 스켈레톤 자세의 예시 표면 모델을 생성하도록 구성된 생성 모듈;
    상기 제1 스켈레톤 자세와 상기 제2 스켈레톤 자세 사이의 자세 변환 매트릭스를 결정하도록 구성된 매트릭스 결정 모듈; 및
    좌표 공간에서 상기 기준 표면 모델 및 상기 예시 표면 모델에 따라 상기 가상 객체를 생성하기 위해, 상기 자세 변환 매트릭스에 기초하여 상기 예시 표면 모델과 상기 기준 표면 모델을 동일한 좌표 공간으로 변환하도록 구성된 좌표 공간 변환 모듈
    을 포함하는 이미지 처리 장치.
  18. 전자 장치로서,
    컴퓨터 판독 가능 명령을 저장하도록 구성된 메모리; 및
    제1항 내지 제16항 중 어느 한 항에 따른 이미지 처리 방법을 구현하기 위해, 상기 메모리에 저장된 컴퓨터 판독 가능 명령을 실행하도록 구성된 프로세서
    를 포함하는 전자 장치.
  19. 컴퓨터 판독 가능 저장 매체로서,
    프로세서에 의해 실행될 때 제1항 내지 제16항 중 어느 한 항에 따른 이미지 처리 방법을 구현하는 컴퓨터 판독 가능 명령을 저장하는,
    컴퓨터 판독 가능 저장 매체.
KR1020227003382A 2020-01-14 2020-10-30 이미지 처리 방법 및 장치, 전자 장치 및 저장 매체 KR20220028069A (ko)

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 (1)

Publication Number Publication Date
KR20220028069A true KR20220028069A (ko) 2022-03-08

Family

ID=70806354

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227003382A KR20220028069A (ko) 2020-01-14 2020-10-30 이미지 처리 방법 및 장치, 전자 장치 및 저장 매체

Country Status (6)

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

Families Citing this family (8)

* 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 北京百度网讯科技有限公司 动画形象生成方法、装置及电子设备
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 拓世科技集团有限公司 一种基于人工智能的虚拟人物训练方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5322078B2 (ja) * 2007-03-26 2013-10-23 サミー株式会社 画像生成装置および画像生成プログラム
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 腾讯科技(深圳)有限公司 图像合成方法、装置以及匹配实现方法、装置
CN111640175A (zh) * 2018-06-21 2020-09-08 华为技术有限公司 一种物体建模运动方法、装置与设备
US10803660B2 (en) * 2018-06-29 2020-10-13 Dreamworks Animation Llc Real-time collision deformation
CN112602090A (zh) * 2018-07-02 2021-04-02 奇跃公司 用于插值不同输入的方法和系统
CN109395390B (zh) * 2018-10-26 2021-12-21 网易(杭州)网络有限公司 游戏角色脸部模型的处理方法、装置、处理器及终端
CN111223171A (zh) * 2020-01-14 2020-06-02 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备及存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
KR20220028069A (ko) 이미지 처리 방법 및 장치, 전자 장치 및 저장 매체
CN109377544B (zh) 一种人脸三维图像生成方法、装置和可读介质
KR102637513B1 (ko) 애니메이션 메이킹 방법 및 장치, 컴퓨팅 디바이스 및 저장 매체
CN110163054B (zh) 一种人脸三维图像生成方法和装置
US10713850B2 (en) System for reconstructing three-dimensional (3D) human body model using depth data from single viewpoint
JP2019204476A (ja) 画像生成装置、画像生成方法及びプログラム
CN110458924B (zh) 一种三维脸部模型建立方法、装置和电子设备
JP2024004444A (ja) 3次元顔再構成モデルトレーニング、3次元顔イメージ生成方法及び装置
CN112712578A (zh) 虚拟角色模型创建方法、装置、电子设备和存储介质
JP4842242B2 (ja) キャラクタアニメーション時の皮膚のしわのリアルタイム表現方法及び装置
US20230177755A1 (en) Predicting facial expressions using character motion states
CN114998490B (zh) 一种虚拟对象生成方法、装置、设备及存储介质
CN106502401B (zh) 一种图像控制方法及装置
CN112206519B (zh) 实现游戏场景环境变化的方法、装置、存储介质及计算机设备
CN111773668B (zh) 一种动画播放方法和装置
CN116524162A (zh) 三维虚拟形象迁移方法、模型更新方法及相关设备
CN115908664A (zh) 人机交互的动画生成方法、装置、计算机设备、存储介质
CN114332317A (zh) 动画数据处理方法、装置、程序产品、介质及电子设备
JP2024511343A (ja) 下層のボディおよび/または衣服レイヤに適合する重ねられた衣服
CN117557699B (zh) 动画数据生成方法、装置、计算机设备和存储介质
CN113230657B (zh) 一种角色交互方法及装置
CN117826989A (zh) 电力元宇宙的拓展现实沉浸式交互方法及装置
CN113559500A (zh) 动作数据的生成方法、装置、电子设备及存储介质
CN115719392A (zh) 虚拟角色生成方法以及装置
CN115359199A (zh) 基于三维地图的社交方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application