Computer Animation Ch.10

LeemHyungJun·2022년 7월 31일
0

Computer Animation

목록 보기
5/7
post-thumbnail

Computer Animation Algorithms & Techniques (By Rick Parent)
책을 정리한 내용입니다. (틀린 내용이 있을 수 있습니다)

Facial Animation

  • 얼굴은 형상의 기분이나 개성을 나타내고 의사소통을 위해 중요한 도구로 모델링하는데 중요한 요소가 된다.

10.1 The Person Face

10.1.1 Anatomic Structure

  • 사람 얼굴은 기본적으로 골격 구조를 갖으며 주요 관절 요소는 턱과 눈이다.
  • 두개골은 근육으로 덮여있다. 해당 근육은 몸체의 경우와 유사하게 힘을 구동한다. 그러나 몸체와 달리 근육은 피부를 원하는 위치로 이동시키고, 입술과 피부 모양을 생성한다.
  • 입으로 소리를 내는데 있어서 중요한 근육은 입 주위를 둘러싸고 두개골에 연결된 여러 근육과 연결된 근육이다.

10.1.2 The Facial Action Coding

  • 얼굴동작 코딩 시스템(FACS)을 통해 동작단위(AU)를 이용하면 모든 얼굴 표정을 묘사할 수 있다.
    • 46개의 AU를 분리하여 얼굴 애니메이션을 만드는 기초를 제공한다.
    • AU의 예시로는 눈썹내리기, 올리기, 윙크, 턱 내리기 등이 존재한다.
    • FACS는 표정 묘사를 의도한 것이다.(표정 생성을 의도한 것이 아니다
      -> FACS는 시간에 기반을 둔 것이 아니고, 중립적인 자세를 기준으로 얼굴 움직임을 분석한 것이다.
    • FACS는 얼굴 표정을 묘사하는 것이다.(언어를 묘사하는 것이 아니다.)
  • FACS는 얼굴 애니메이션 시스템의 기본 동작을 묘사하는데 있어서 좋지만, 처음부터 해당 목적을 위해 만들어진 것은 아니다.

10.2 Facial Model

  • 얼굴 애니메이션도 다른 애니메이션과 같이 현실성과 계산 복잡성을 고민해야 한다.
  • 가장 기본적인 방법으로 기본 도형에 애니메이트된 텍스쳐맵을 사용할 수 있다.
  • 축으로 된 턱과 회전하는 구를 이용한 눈을 통해서 사람 얼굴을 표현할 수 있다.
  • 사실적인 애니메이션을 위해서 복잡한 곡면과 얼굴 모델을 사용해야 한다.
  • 얼굴 애니메이션을 만드는데에 있어서 어려운 점
    • 얼굴 애니메이션에 적합한 도형을 찾는데 필요한 요소
      • 실제로 어떤 주체나 캐릭터의 머리 도형을 얻는 방법
      • 도형에 가해진 변화를 묘사하는 데이터를 얻는 방법
      • 매끄러움과 곡면의 속성에 따른 렌더링된 이미지의 퀄리티
      • 계산된 동작의 퀄리티
  • 모델의 성질
    • 정적 상태의 성질 : 중립 상태에서 모델의 도형
    • 동적 상태의 성질 : 움직이는 상태에서 모델의 도형 변형
  • 모델의 도형을 표현하는 방법
    • 폴리곤 모델
      • 장점 : 만들기 쉽고, 변형이 쉽다.
      • 단점 : 곡면의 부드러움은 곧 모델의 복잡성과 연결된다. 시각적으로 좋지 않다.
    • 스플라인 모델(3차 사각 곡면 패치)
      • 장점 : 부드러운 곡면을 만들때 복잡성이 낮다.
      • 단점 : 작은 디테일이나 예리한 부분적인 특질을 포함하면서 낮은 복잡도를 유지하기 어렵다. -> 제어점 격자의 행이나 열 전체가 조정되어야 하기 때문에
    • 계층적 B-스플라인 모델
      • 전역적으로 수정하지 않고 지역적인 디테일을 추가할 수 있는 기법

10.2.1 Creating a Continuous Surface Model

1) 상호작용 시스템을 이용하여 모델 만들기

  • 분할 곡면(저해상도 모델로부터의 개선)
    • 전역적인 복잡도 없이 지역적인 복잡도를 만들 수 있다
    • 새로운 모델을 만들때 사용하기 쉽고 직관적이며, 임의 차수의 불연속성을 규정할 수 있다.
    • 특정 데이터 집합에 보간하는 것이 어렵다. (특정 얼굴의 모델링이 어렵다)
  • 고해상도 단순 모델의 수정
    • 얼굴의 일반적인 특성을 구성하기 위해 모델의 곡면을 밀고 당긴다.
  • 고해상도 영역으로부터 곡면 설계(입과 눈의 영역으로부터 곡면 만들기)
    • 의도된 애니메이션에 적합한 모델을 만들기에 적합하다

2) 특정 물리적인 모델을 참고로 디지털화 시키기

  • 특정 인물의 모델이 필요할 때 유용하다.
  • 물리적 모델 위에 2차원 곡면에 기반을 둔 눈금을 그리고 다각형을 디지털화 시키기
    • 후처리를 통해 다각형 메쉬를 만든다.
    • 다각형의 수가 많은 경우 문제가 발생한다.
  • 레이저 스캐너 이용하여 모델 곡면과의 거리 측정
    • 정확한 모델 만들기 가능(대체로 다각형 모델 이용)
    • 텍스쳐 맵을 만드는데 사용할 수 있는 색상 정보를 얻을 수 있다.
    • 비싸고, 크고, 물리적인 모델이 있어야만 사용 가능하다.
  • blobby 모델을 range데이터에 맞추는 방법
    • 기본 도형을 나누고 매개 변수를 조정하여 등곡면에 맞추기
  • 사진으로 모델을 만드는 방법
    • 특징점을 지정하여 모델을 수정한다.
    • 눈금이 그려진 얼굴의 정면과 측면을 이용하여 모델을 만든다.

3) 기존의 모델 변형 시키기

  • 일반 모델에 애니메이션 제어점이 이미 만들어 졌을 때 유용하다.
  • 일반적인 모델을 만들고 이후 매개변수 모델을 만들어 매개변수를 조정하여 모델을 변형시킬 수 있다.

4) 매개 변수화 된 모델을 사용하기 (가장 자주 쓰이는 방법)

  • 형태적인 매개변수
    • 한 사람과 다른 사람을 구변할 수 있는 매개변수
  • 표현적인 매개변수
    • 개인의 얼굴 애니메이션에 관한 매개변수
  • 사람의 얼굴을 랜더링 함에 있어서 필요한 제어 조건을 계산하여 사용
  • MPEG-4 표준
    • 멀티미디어 장면을 효율적으로 바꾸는 도구
    • facial definition parameter(FDP)
    • facial animation parameter(FAP)

5) 비디오 시퀀스의 이미지를 맞추기

  • 특정 인물의 얼굴을 모델링하는데 유용하다.
  • 카메라 매개변수들과 얼굴 모델 매개 변수들이 Jacobiam pseudo inverse를 이용해 비디오와 비슷하게 되도록 수정하는 방식

10.2.2 Textures

  • 컴퓨터 그래픽스로 만들어진 대부분의 객체는 플라스틱이나 금속 느낌이므로 텍스쳐 맵이 매우 중요하다.
  • 텍스쳐를 디지털화 시키는 동안 빛의 상태도 고려해야 한다.
  • 이전에 말한 레이저 스캐너의 경우 깊이 뿐 아니라 강도에 관한 정보도 수집할 수 있어서 고해상도의 텍스쳐와 일치하는 고해상도 곡면을 만들 수 있다.
  • 윗면이나 측면의 사진을 이용하여 텍스쳐를 만드는 경우 겹치는 부분에서 픽셀을 혼합하는 방식을 사용한다.

10.3 Animating the Face

10.3.1 Parameterized Models

  • 얼굴 애니메이션의 가장 기본적인 구현방법은 기본 동작에 따라 매개변수화 하고, 시간에 따라 매개변수의 값을 조절하는 방식이다.
  • 한 공간의 임의 매개변수화는 전 범위에 적용되어야 하고, 사용하기 쉬워야 한다.
    • 매개변수화는 가능하면 공간의 많은 부분을 포함해야 한다.
    • 매개 변수화를 쉽게 하기 위해서 매개변수의 집합은 가능하면 작아야 한다.
    • 각 매개변수는 다른 매개 변수의 영향에서 독립적이어야 한다.
    • 매개변수의 영향은 직관적이어야 한다.

-> 모든 조건을 만족시키는 것은 어렵지만 적절한 균형이 중요하다.

  • 가장 많이 쓰이는 얼굴 모델은 Parke의 모델이다.
    • 형태적 매개 변수
    • 표현적 매개 변수
      • 얼굴과 같이 복잡한 경우에도 한개의 매개 변수로 표정을 애니메이션 할 수 있다.
      • 표현적 매개변수의 예시 (Figure 10.11)

10.3.2 Blend Shapes

  • 얼굴 애니메이션의 가장 간단한 방법은 주요 포즈를 정의하는 방식이다.(혼합 모형 방식)
  • 생성 가능한 동작은 주요 동작 사이의 보간된 동작으로 제한된다.

10.3.3 Muscle Models

  • 매개 변수 모델은 피부의 기하학적 이동을 임의의 매개변수 값으로 인코딩 한다.
  • 얼굴을 모델링 하기 위해서 선형근, 편평근, 괄약근 세종류의 근육이 필요하다.
  • 근육의 기하학적 정렬에 있어서 두가지 구별법
    • 얼굴의 곡면에 모델을 만든 경우
      • 애니메이션 시스템에 얼굴의 곡면 모델만 필요해서 간단하다.
    • 피부아래 구조층에 붙인 경우
      • 해부학적으로 정확해서 정밀한 결과를 보장하지만, 많은 기하학적 구조가 필요하며 구축하기가 어렵다.
  • 선형 근육의 삽입점 부근은 피부의 모델에 따라 결정된다.
    • 근육이 어떻게 퍼져있는가에 따라 곡면이 보이는 모습이 결정된다.
    • 가장 간단한 방식은 해당 점에서 기하학적인 거리와 근육 벡터의 편차에 기반을 둔 방식이다.
  • 정교한 피부 모델 예시 (Figure 10.17)
    • 피부도형의 각 변을 스프링으로 모델링 / 스프링 상수로 변형 정도를 제어
    • 삽입점은 근육의 동작으로 움직이고, 그 위치 이동으로 흡착점에 붙어있는 스프링에 복원력이 생긴다.
    • 해당 힘으로 근접한 꼭짓점들이 움직이게 되고 다시 그 꼭짓점에 붙어있는 꼭짓점들이 움직이게 되는 것이 반복된다.
  • 복잡한 Voight model은 피부를 스프링과 댐퍼를 합친 점탄성 객체로 취급한다.
  • 근육의 수축을 계산하는데 사용하는 함수는 근육 모델의 종류에 따라 결정되는데 피부는 수동적 요소로, 근육은 능동적 요소로 구성된다.
    • 정확한 모델의 경우는 근력의 효과를 계산하거나 댐퍼를 사용한다.
    • 단순한 모델의 경우 근육의 표현을 위해 스프링을 사용한다.
    • 스프링에 기반한 얼굴 근육은 계산 비용이 많이 들고 특정 표현에서 어려움이 있다.

10.3.4 Expressions

  • 얼굴 표정은 대화의 강력한 방법이고, 얼굴 애니메이션의 기본이다.
  • 일반적으로 사용되는 집합은 행복, 화, 슬픔, 두려움, 역겨움, 놀라움 이다.

10.4 Lip-Sync Animation

10.4.1 Articulators of Speech

  • 말은 복잡한 과정이다. 폐, 성대주름, 입술 등 많은 기관들이 목소리를 내는데 사용된다.
  • 애니메이션에서 중요시 되는 점은 내부기관이 아닌 외부기관으로 나타나는 피부의 움직임이다. (입술, 혀 등)

10.4.2 Phonemes

  • 말을 이해하고 사람이 어떻게 말을 생성하는지를 알기 위해 일반적인 접근은 소리를 작은 조각(음소-Phonemes)으로 나누는 것이다
  • 음성과 관련된 입술 움직임은 정적 자세사이의 간단한 보간에 의해 표현되기는 어렵다.

10.4.3 Coarticulation

  • 립 싱크 애니메이션에서 가장 복잡한 요소중 하나가 한 음소가 이웃 음소에 영향을 미치는 경우이다. (동시조음-Coarticulation)
  • 우세 함수 : 이웃 음소의 우선순위에 기반한 혼합방식

10.4.4 Prosody

  • 립 싱크 애니메이션에 또다른 복잡한 요소는 감정적 악센트를 반영하여 자연적 말로 변경하는 것이다. (운율학-Prosody)

0개의 댓글