RSS

[term] bundle adjustment

23 May

2014.05.23

항상 궁금했었다.  왜 bundle adjustment라고 부를까?  왜 bundle일까?

번들이라고 하면 우리 말로 “다발”, “묶음” 그런거 아닌가.  옛날에 용산에서 공CD 살 때 낱개는 개당 얼마이고 번들로는 얼마이고 그러지 않았던가.  컴퓨터 살 때도 번들 소프트웨어라고 해서 기본적으로 딸려오는 것도 있고.  생각해 보니까 패키지랑 같은 의미 같기도.  안그래도, 위키피디아에서도[1] 번들과 패키지에 대해서 아래와 같이 말하고 있다.

 A bundle of products may be called a package deal or a compilation or an anthology.

암튼 번들이라는 것은 여기서 “개별”, “개개인” 이런 개념과 반대되는 거 같다.  내가 아는 단어에서는 “batch”랑 비슷한 느낌?

Computer vison쪽에서 보통 BA로 줄여서 부르는 이 말은 photogrammetry 쪽에서 왔다.  photogrammetry?  우리 말로는 사진측량학이라고 하는 거 같다.  photogrammetry라고 구글에서 치면 알 수 있듯이, 학문적으로는 보통 항공 또는 위성 사진을 다루는 쪽인거 같다.  항공/위성 사진은 한시절을 풍미했던 오래된 컴퓨터비젼의 한 분야가 아니던가?

BA에 관한 자료 중에서 컴퓨터비젼 쪽에서 가장 유명하고 자주 refer되는 논문이 Bill Triggs가 쓴 [2]이다. (개인적으로 Bill Triggs 글 참 잘 쓴다고 생각함).  여기에 보면 BA에 대해 다음과 같이  설명하고 있음.

The name refers to the ‘bundles’ of light rays leaving each 3D feature and converging on each camera centre, which are ‘adjusted’ optimally with respect to both feature and camera positions. Equivalently — unlike independent model methods, which merge partial reconstructions without updating their internal structure — all structures and camera parameters are adjusted together ‘in one bundle’.

여기서 보면 반대되는 개념으로 independent model methods 가 나온다.  그렇다.  BA는 photogrammetry에서 independent model methods 의 단점을 보완한 대체 방법으로 나온 것이다.  따라서 bundle은 independent와 상대되는 개념이다.  independent model methods 은 무엇인가?  [2]에서는 이에 대한 설명도 하고 있다.

Independent model methods: These approximate bundle adjustment by calculating a number of partial reconstructions independently and merging them by pairwise 3D alignment. Even when the individual models and alignments are separately optimal, the result is suboptimal because the stresses produced by alignment are not propagated back into the individual models. (Doing so would amount to completing one full iteration of an optimal recursive decomposition style bundle method — see x8.2). Independent model methods were at one time the standard in aerial photogrammetry [95, 2, 100, 73], where they were used to merge individual stereo pair reconstructions within aerial strips into a global reconstruction of the whole block. They are always less accurate than bundle methods, although in some cases the accuracy can be comparable.

[3]에서는 independent model methods 에 대해 더 자세히 설명하고 있다.

Reconstruction from multiple views began with independent model methods [73]. These methods, originated in work from photogrammetry [74, 75]. Independent model methods combine pairs of images and merge them into larger reconstructions as shown in Fig. 3.3. These methods have optimal pairwise reconstructions, but merging does not update the previously computed pairs reconstructions. Thus, the final reconstruction of a set of N images is not optimal [76]. To be optimal as reconstructions are added and the full reconstruction is built up, all previous reconstruction parameters must be updated. This is the core idea in bundle adjustment.

Clipboard02

그러니까 항공사진으로 3D 지형 복원을 할 때, 새로운 이미지 들어오면 현재 복원한 거에다 triangulation해서 그냥 조금씩 계속 붙여 나가는 거구만.   BA가 batch reconstruction이면, Independent model method는 일종의 online reconstruction?  SLAM 할 때, loop closing 안 해 주면 계속 drift 생겨서 나중에는 map 오차가 커지는 느낌?  위 그림에서 “Level 2 Merge”에서 그림이 엿가락 처럼 약각 휘는 느낌?  뭐 BA는 정확하고 대신 시간이랑 메모리를 많이 잡아먹는 대신 independent model method는 정확도는 딸리지만 빨리 할 수 있다는 맨날 나오는 trade-off 얘기로 귀결되지 않을까?

[1] http://en.wikipedia.org/wiki/Product_bundling

[2] Bill Triggs, Philip McLauchlan, Richard Hartley and Andrew Fitzgibbon, “Bundle Adjustment — A Modern Synthesis”, Vision Algorithms: Theory & Practice, Springer-Verlag 2000.

[3] Daniel Fleck, “Efficient Affine Image Matching for Building and Maintaining 3D Models”, PhD dissertation. 2010.

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: