Multimedia Programming 17: Matting and Compositing Departments of Digital Contents Sang Il Park
Outline Review: Matting and Compositing Interactive Image Morphing
Compositing Procedure (합성과정) 1. 스프라이트 만들기 (Sprite = Image + Mask Image ) 2. 스프라이트를 배경과 합성하기 (투명도를 이용한 Iinear Interpolation) α
Compositing Procedure 1-α α
다중 합성: Multiple Compositing 1. 스프라이트 추출 (예: 포토샵의 Intelligent Scissors 활용) 2. 올바른 순서로 합성한다. (배경부터 차래 대로) Composite by David Dewey
Announcement 집현관 408호 특강안내 강사: 김동현 시간: 11월 12일 (수요일) 아침 10시 30분 장소: 새로운 인터넷 응용 분야와 기술들 강사: 김동현 DAUM 동영상개발 팀장 시간: 11월 12일 (수요일) 아침 10시 30분 장소: 집현관 408호
Matting
“Pulling a Matte”: 매팅 문제 문제 정의: 주어진 입력 이미지 C 를 다음과 같이 나누는 것 전경이미지 Co, 배경이미지 Cb, 투명도 값 a Co 와 a 를 구하면 다른 배경이미지에 합성하는 데 사용할 수 있다. 그러나… 어려운 문제이다. 투명도가 2단계(투명/불투명)이라 할 지라도 자동으로 하긴 어렵다. (배경 추출 문제) 영화나 TV에 활용하기 위해서는 수작업을 통해 일일이 다 고치는 것은 불가능하다. 뭔가, 간단화 시키는 가정이 필요하다.
Blue Screen
Blue Screen matting TV나 영화에 가장 많이 사용되는 matting 기법 Petros Vlahos 가 1950년대에 발명한 것으로 그 당시의 제품명인 Ultimatte® 는 아직도 matting 기기 중 제일 유명하다. 이러한 공로로 Vlahos는 아카데미 평생공로상을 수상하였다. 배경 추출 방법: 배경의 색을 알고 있다면… 투명도를 다음과 같이 구한다. Vlahos’ formula: a = 1-p1(B-p2G) 배경과 전경의 색은 달라야 한다. no blue ties!
반투명 매팅 유리와 같은 반투명한 물질의 색 (R,G,B)과 투명도(alpha)는 어떻게 구할 수 있을까?
매팅 문제: 수학적 정의 C = αoCo + (1-αo)Ck 이미지의 모든 픽셀에 대해 주어진 것: 매팅 방정식 만족: - 배경색 Ck = [Rk Gk Bk] - 합성된 색 C = [R G B] 계산할 것: - 전경(물체) 색 Co = [Ro Go Bo αo] - 주어진 조건 매팅 방정식 만족: C = αoCo + (1-αo)Ck
어떻게 풀 수 있을까? 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 무수히 많은 해가 존재 다른 조건(식)이 필요하다!
풀이방법 #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)
풀이방법 #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) 풀이 가능
삼각화 매팅 (Smith & Blinn) C = αoCo + (1-αo)Ck 매팅 방정식: 구해야 할 수의 개수를 줄이는 대신 방정식의 수를 늘리면 어떨까? 물체는 같지만 배경의 색을 달리하여 여러 번 측정 한다면? 생각해 봐야 할점: 얼마나 많은 방정식(배경색)이 필요할까? 배경은 단색이어야 할까?
알고리즘 이미지의 모든 픽셀에 대해 주어진 것: 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] - 6개의 방정식 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
삼각화 매팅 예제
더 많은 예제!
좀 더 많은 예제!
매팅의 문제점 이미지가 사실적이지 않은 것 같은데? Why? 해결방법: 매팅 방정식을 바꾸자! 빛의 굴절(Refraction)이 없다 빛의 반사(Reflection)이 없다 해결방법: 매팅 방정식을 바꾸자!
Environment Matting and Compositing 배경(주변) 매팅 기법과 합성 slides by Jay Hetler Douglas E. Zongker ~ Dawn M. Werner ~ Brian Curless ~ David H. Salsin
배경(주변) 매팅 방정식 C = aF + (1- a)B + F C ~ 측정한 색 F ~ 전경물체의 색 Alpha holds values from zero to one…
실험 세팅 C = aF + (1- a)B + F Alpha holds values from zero to one…
F는 무엇일까? R – 얼마나 반사(굴절)되어 오는가? T – 주변(배경) 그림의 색
Series of structured backgrounds Environment Mattes
수행 속도 카메라 보정 매팅 계산 (전처리): 각 배경에 대해 10-20 분 소요 (Pentium II 400Mhz) 합성속도: 4-40 frames per second 실시간이 가능할까? 3-6 hours
배경(주변) 매팅으로 얼마나 향상될 수 있으까? 알파 매팅 배경(주변) 매팅 Photograph
배경(주변) 매팅으로 얼마나 향상될 수 있으까? 알파 매팅 배경(주변) 매팅 Photograph
Movies!