Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multimedia Programming 23: Matting

Similar presentations


Presentation on theme: "Multimedia Programming 23: Matting"— Presentation transcript:

1 Multimedia Programming 23: Matting
Departments of Digital Contents Sang Il Park

2 Matting & compositing

3 Compositing Procedure
1-α α

4 “Pulling a Matte”: 매팅 문제
문제 정의: 주어진 입력 이미지 C 를 다음과 같이 나누는 것 전경이미지 Co, 배경이미지 Cb, 투명도 값 a Co 와 a 를 구하면 다른 배경이미지에 합성하는 데 사용할 수 있다. 그러나… 어려운 문제이다. 투명도가 2단계(투명/불투명)이라 할 지라도 자동으로 하긴 어렵다. (배경 추출 문제) 영화나 TV에 활용하기 위해서는 수작업을 통해 일일이 다 고치는 것은 불가능하다. 뭔가, 간단화 시키는 가정이 필요하다.

5 Blue Screen

6 Blue Screen matting TV나 영화에 가장 많이 사용되는 matting 기법
Petros Vlahos 가 1950년대에 발명한 것으로 그 당시의 제품명인 Ultimatte® 는 아직도 matting 기기 중 제일 유명하다. 이러한 공로로 Vlahos는 아카데미 평생공로상을 수상하였다. 배경 추출 방법: 배경의 색을 알고 있다면… 투명도를 다음과 같이 구한다. Vlahos’ formula: a = 1-p1(B-p2G) 배경과 전경의 색은 달라야 한다. no blue ties!

7 반투명 매팅 유리와 같은 반투명한 물질의 색 (R,G,B)과 투명도(alpha)는 어떻게 구할 수 있을까?

8 매팅 문제: 수학적 정의 C = αoCo + (1-αo)Ck 이미지의 모든 픽셀에 대해 주어진 것: 매팅 방정식 만족:
- 배경색 Ck = [Rk Gk Bk] - 합성된 색 C = [R G B] 계산할 것: - 전경(물체) 색 Co = [Ro Go Bo αo] - 주어진 조건 매팅 방정식 만족: C = αoCo + (1-αo)Ck

9 어떻게 풀 수 있을까? C = αoCo + (1-αo)Ck R = αoRo + (1-αo)Rk
매팅 방정식: C = αoCo + (1-αo)Ck 주어진 색(측정한 색)은 [R G B]. 따라서 주어진 식은 3개, 구해야 하는 것은 [Ro, Go, Bo, αo] 4개 R = αoRo + (1-αo)Rk G = αoGo + (1-αo)Gk B = αoBo + (1-αo)Bk 무수히 많은 해가 존재 다른 조건(식)이 필요하다!

10 풀이방법 #1: 파랑색이 없다! C = αoCo + (1-αo)Ck R = αoRo + (1-αo)Rk
매팅 방정식: C = αoCo + (1-αo)Ck 만약에 전경(물체)에 파랑색이 없다는 가정을 할 수 있다면? (즉 Bo = 0 ) 3개의 방정식, 3개의 모르는 값  풀이 가능 R = αoRo + (1-αo)Rk G = αoGo + (1-αo)Gk B = (1-αo)Bk 3. Ro 를 구한다 2. Go 를 구한다 1. αo를 구한다 문제점: 가정이 너무 강하다! 파랑색이 없인 모든 회색, 색의 1/3 을 표현할 수 없다 흰색을 표현 못한다 (255,255,255)

11 풀이방법 #2: 회색 or 살색? C = αoCo + (1-αo)Ck 매팅 방정식:
만약 전경(물체)가 회색이라면? 즉 (Ro = Go = Bo=d) 3개의 방정식, 2개의 모르는 값(Ro, αo)  풀이 가능 살색은 보통 [R B B] = [d 0.5d 0.5d] 로 표현 d에 따라 살색의 진함, 밝음을 표현 3개의 방정식, 2개의 모르는 값(d, αo)  풀이 가능

12 삼각화 매팅 (Smith & Blinn) C = αoCo + (1-αo)Ck 매팅 방정식:
구해야 할 수의 개수를 줄이는 대신 방정식의 수를 늘리면 어떨까? 물체는 같지만 배경의 색을 달리하여 여러 번 측정 한다면? 생각해 봐야 할점: 얼마나 많은 방정식(배경색)이 필요할까? 배경은 단색이어야 할까?

13 알고리즘 이미지의 모든 픽셀에 대해 주어진 것: R1 = αoRo + (1-αo)Rk1 R2 = αoRo + (1-αo)Rk2
- 배경색 Ck1 = [Rk1 Gk1 Bk1] - 배경색 Ck2 = [Rk2 Gk2 Bk2] - 합성된 색 C1 = [R1 G1 B1] - 합성된 색 C2 = [R2 G2 B2] 계산할 것: - 전경(물체) 색 Co = [Ro Go Bo αo] 개의 방정식 R1 = αoRo + (1-αo)Rk1 G1 = αoGo + (1-αo)Gk1 B1 = αoBo + (1-αo)Bk1 R2 = αoRo + (1-αo)Rk2 G2 = αoGo + (1-αo)Gk2 B2 = αoBo + (1-αo)Bk2

14 삼각화 매팅 예제

15 더 많은 예제!

16 좀 더 많은 예제!

17 매팅의 문제점 이미지가 사실적이지 않은 것 같은데? Why? 해결방법: 매팅 방정식을 바꾸자!
빛의 굴절(Refraction)이 없다 빛의 반사(Reflection)이 없다 해결방법: 매팅 방정식을 바꾸자!

18 Environment Matting and Compositing
배경(주변) 매팅 기법과 합성 slides by Jay Hetler Douglas E. Zongker ~ Dawn M. Werner ~ Brian Curless ~ David H. Salsin

19 배경(주변) 매팅 방정식 C = aF + (1- a)B + F C ~ 측정한 색 F ~ 전경물체의 색
Alpha holds values from zero to one…

20 실험 세팅 C = aF + (1- a)B + F Alpha holds values from zero to one…

21 F는 무엇일까? R – 얼마나 반사(굴절)되어 오는가? T – 주변(배경) 그림의 색

22 Series of structured backgrounds
Environment Mattes

23 수행 속도 카메라 보정 매팅 계산 (전처리): 각 배경에 대해 10-20 분 소요 (Pentium II 400Mhz)
합성속도: 4-40 frames per second 실시간이 가능할까? 3-6 hours

24 배경(주변) 매팅으로 얼마나 향상될 수 있으까?
알파 매팅 배경(주변) 매팅 Photograph

25 배경(주변) 매팅으로 얼마나 향상될 수 있으까?
알파 매팅 배경(주변) 매팅 Photograph

26 Movies!

27 스프라이트 애니메이션: 시간에 따라 스프라이트를 선택하여 랜더링
주어지는 것! sprite.jpg spritea.jpg background.jpg

28 스프라이트 애니메이션: 시간에 따라 스프라이트를 선택하여 랜더링
DOOM 게임을 만들어 보자!

29 실습: 스프라이트 애니메이션 자세 변화 1/6 1/6 1/6 1/6 1/6 1/6 1/3 방향변화 1/3 1/3


Download ppt "Multimedia Programming 23: Matting"

Similar presentations


Ads by Google