RSS

[reiview] Semantic Structure From Motion

27 May

발표 : CVPR 2011

제목 : Semantic Structure From Motion

저자 : Sid Yingze Bao and Silvio Savarese

소속 : University of Michigan at Ann Arbor

이 논문은 Bao 의 CVPR 2012 논문의 전신에 해당한다.  일단 소스코드[1]가 있어서 땡긴다.  근데 한 image pair 당 수행시간이 대략 20분이란다.  아무래도 버려야 할 카드인거 같은 느낌… 전체적으로는 아래의 조건부 확률을 최대화하는 \{ \bf{Q}, \bf{O}, \bf{C} \}를 구하는 작업이다. 여기서 \bf{Q}는 scene에 등장하는 3차원 점들의 위치, \bf{O}는 3차원 물체들의 포즈, \bf{C}는 내부인자는 안다고 했을 때의 카메라의 포즈들이다.

\begin{aligned} \{ \bf{Q}, \bf{O}, \bf{C} \} &= \displaystyle \arg \max_{Q, O, C} Pr(\mathbf{q}, \mathbf{u}, \mathbf{o} | \mathbf{Q}, \mathbf{O}, \mathbf{C}) \\ &= \displaystyle \arg \max_{Q, O, C} Pr(\mathbf{q}, \mathbf{u}| \mathbf{Q}, \mathbf{C}) Pr(\mathbf{o} | \mathbf{O}, \mathbf{C}) \end{aligned}

여기서 \mathbf{q}는 3차원 점의 시퀀스에서의 이미지 좌표이고, \mathbf{u}는 각 이미지 포인트들과 3차원 점과의 대응 관계이다.  그리고 \mathbf{o}는 물체의 시퀀스에서의 좌표, 크기, 포즈이다.  그러니까 3차원 점들의 위치, 물체들의 포즈, 카메라 포즈가 주어지면 reprojetion 에러와 함께, 물체의 projection되는 shape의 error를 따져 봐서 주어진 3차원 점들의 위치, 물체들의 포즈, 카메라 포즈가 얼마나 괜찮은지를 판단할 수 있고, 이러한 모든 조합 중에서 가장 에러가 적은 것을 주어진 시퀀스의 물체의 포즈와 카메라 포즈로 정한다는 것이다. 그리고 3차원 점의 projection과 물체의 projection과는 독립으로 보면, 이 likelihood 함수는 두 부분으로 쪼개질 수 있어서, \mathbf{q}, \mathbf{u} 가 들어간 factor는 다시 \mathbf{O}가 빠지고, \mathbf{o}가 들어가 factor는 다시 \mathbf{Q}가 빠진다.  카메라는 projection에 결정적인 요소이므로, \mathbf{C}가 양 쪽 factor에 다 들어간다. Clipboard02   두 번째 factor는 다시 각 물체사이는 독립적이라고 보고 위 식처럼 product 형태로 바뀌고, 역시 각 프레임 사이도 독립적으로 보고 이중 product를 구성한다.  근데 왜 “1 – ” 이런 식으로 하는지 모르겠다.  비례관계는 맞는거 같은데, 1에서 뺀다는 건 여사건을 다룰 때나 쓰는 건데 왜 이런건지… Clipboard03 첫 번째 factor는 3차원 점들의 projection 에러에 관한 거니까, 역시 각 3차원 점들은 독립이라고 보고, 하나의 3차원 점에 대해서도 각 프레임에서의 projection이 독립이라고 보변 이중 product를 만들 수 있고 각 projection의 pixel distance error를 적당한 \sigma_{q}에 대해 Gaussian으로 본다.

첫 번째 factor에 대해 epipolar line을 이용하여 아래와 같은 alternative estimator를 제시하였는데, 이것도 좀 애매하다.

Clipboard04

여기서 N_s 도 대충 짐작은 가지만 확실히 밝히지 않았고, \alpha도 애매하다.

최종적으로 이러한 최적의 configuration을 찾기 위한 최적화 방법으로 아래와 같이 MCMC(Metropolis)를 쓰고 있다.

Clipboard05

저자의 CVPR 2012 version에서 쓴 simulated annealing이랑 비슷한 거 같다. 다른 점은 r이 몇 개인지는 모르겠지만, 이렇게 sequential하게 돌려서 r개의 configuration이 나오면, 그것들을 가지고 대충의 probability density function을 근사화하고 여기다 mean shift를 돌려서 clustering을 하고, 가장 많은 sample들을 포함하는 cluster의 중심을 최적의 configuration으로 삼는단다.  Step 2,3,4에서 볼 수 있 듯이 실제로 sampling을 해주는 건 카메라 포즈이다.  Sampling된 camera pose가 주어지면 거기에 맞게 확률을 최대화하는 물체들과 3차원점들이 정해지는 것이다.

[1] http://www.eecs.umich.edu/vision/projects/ssfm/codes/SSFM_01.zip

Advertisements
 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: