Computer vision/Study
스테레오 비전 (Stereo vision)과 epipolar geometry에 대한 전반적인 설명
위풍당당 가리비
2023. 6. 26. 21:23
반응형
Reference : https://slidesplayer.org/slide/16596074/
Overview
- 삼각형의 닮은 꼴 원리를 이요하여 거리정보를 추출
- 2가지의 작업이 필요하다
- 대응점 찾기(특징점 매칭)
- 깊이 계산(요건 더 쉽다)
- 제약 조건
- Geometry : epipolar constraint = 대응점은 epiline위에 존재한다
- Photometric : Brightness constancy = 실세계의 한 점은 좌우 영상에서 같은 밝기 값
- Ordering = 두 이미지에서 특징점들은 순서가 똑같이 보인다.
- Smoothness of objects = 깊이 값은 급작스럽게 변하지 않는다.
- 알고리즘 유형
- 어떤걸 비교할 것이냐가 다름. 점, 영역, 특징중 어떤거를 매칭 시킬 것인가?
- 최적화 방법
- Local greedy matches
- 1D search
- 2D search
Stereo vision이 필요한 이유
실제세계는 3D인데 이미지는 2D이다. 같은 라인상의 모든 점들은 이미지에서 하나의 점으로 투영이 된다. 그래서 이미지로 찍어서 2D로 projection시키면 깊이정보가 사라진다.
stereo vision은 2개의 카메라를 이용하여 깊이 정보를 추출한다. 그리고 앵간해서는 RGB-D카메라 보다 싸다
Stereovision의 기본 geometry
카메라 원점 : O1, O2
3D 점 : P, Q
2D로 투영된 점 : P', Q'
카메라의 위치와 방위를 알고, 두 이미지에서 P점을 똑같이 찾아내면 거리를 알아 낼 수 있다.
반응형
Matching point를 찾기 위한 constraint
Epipolar Constraint
- 가장 강력한 constraint, 이 constraint 덕분에 문제가 매우 단순한 형태로 바뀐다.
- 대응점은 epipolar line위에 존재한다. 그래서 epipolar line 1차원에서 대응점을 찾는 문제로 간단하게 바뀐다.
- 좌우 영상 평면이 서로 평행
- 초점이 서로 같은 높이
- 초점 거리가 같다간단한 예시
- 그러면 epipolar line은 수평으로 생긴다.
- 위의 간단한 예시처럼 epipolar line이 수평으로 생긴다면 문제를 해결하기 쉬워질 것임. 그래서 수평으로 만드는 방법이 존재함. → Image Rectification
- 결과에서 볼 수 있듯이 epipolar line이 수평이 된 것을 확인할 수 있다.
- 그러면 Rectified Image에서 어떻게 거리 정보를 구하는지 알아보자
- 삼각형의 닮음비를 사용하여 Z를 구하는 것 같다. ( P Pl Pr과 P Ol Or 두개의 삼각형의 밑변과 높이의 비로 Z를 구한다.)
- f : focla length(초점거리), (카메라 센터 ~ image plane 까지의 거리)
- d : disparity(시차)
어떤 것을 대응시켜야 하는 가?
- Photometric constraint
- 실제 세계에서 한 점은 좌우 영상에서 같은 밝기 값으로 투영된다.
- 램버시안 반사에서 나온 constraint임.
- 램버시안 반사율을 가진 표면은 관찰자가 바라보는 각도와 관계없이 동일한 밝기를 가진다.
- 간단하게 예시를 들면 종이 같은거는 난반사가 많이 일어나서 어디서 보든 비슷한 밝기 이지만 거울 같은 경우는 난반사율이 적기 때문에 보는 각도에 따라 밝기가 달라진다.
- Issue
- Noise = 노이즈
- Specularity = 정반사되는 비율??
- Foreshortening = 원근감 때문에 일어나는 물체변형
Epipolar, photometric constraint를 이용한 stereo matching (스테레오 정합)
밑에 처럼 하면 매칭이 안된다.
- 왜 안돼겠어? 밝기값이 같은데 한둘일까?노이즈도 있고 무조건 정확하게 epiline위에 있지는 않을 것임. discrete하게 접근하기 때문에.
- 그래서 윈도우를 매칭 시킨다.
- 윈도우를 매칭 시킬때 윈도우의 크기에 따라 다른 결과가 나오게됨. 그래서 적절한 윈도우 크기를 찾아야한다.
윈도우 크기 별 특징
Epipolar constraint 외 제약조건 1 (Ordering constraint)
일반적으로 좌우 영상에서 대응점들은 같은 순서를 갖는다.
근데 아래 그림과 같이 실패하는 경우도 있다. 물체들이 겹쳐져 있는 경우(occlusion).
그래서 occlusion이 있는 점은 빼고 매칭을 한다.
이게 잘은 모르겠지만 Dynamic Programming으로 최적의 경로를 찾는 것과 연관이 있다고 한다.
다른 제약조건 2 (Smoothness constraint)
깊이 값은 급작스럽게 변하지 않는다는 constraint.
- 관련된 알고리즘으로는
- host of graph
- markov random fields
- belief propagation
반응형