1 / 34

스테레오 비전

스테레오 비전. 스테레오 비전이란 ?. 두 개의 렌즈를 통해서 얻은 왼쪽 및 오른쪽 영상을 이용해서 물체 또는 장면의 3 차원적인 거리 정보를 추론 하나의 물체를 서로 다른 위치에서 촬영한 두 영상을 비교하여 그 물체의 3 차원적인 위치 정보를 추론 3 차원 공간상의 한 점이 왼쪽 영상과 오른쪽 영상에 투영될 때 , 투영되는 위치에 차이가 생기는 현상을 이용하여 거리 정보를 추론. 스테레오 비전의 구현을 위한 입력 영상 제약 조건.

Download Presentation

스테레오 비전

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 스테레오 비전

  2. 스테레오 비전이란? • 두 개의 렌즈를 통해서 얻은 왼쪽 및 오른쪽 영상을 이용해서 물체 또는 장면의 3차원적인 거리 정보를 추론 • 하나의 물체를 서로 다른 위치에서 촬영한 두 영상을 비교하여 그 물체의 3차원적인 위치 정보를 추론 • 3차원 공간상의 한 점이 왼쪽 영상과 오른쪽 영상에 투영될 때, 투영되는 위치에 차이가 생기는 현상을 이용하여 거리 정보를 추론

  3. 스테레오 비전의 구현을 위한 입력 영상 제약 조건 • 영상은 구별되는 특징들이 나타날 수 있도록 충분히 밝기 값을 변화를 보여야 한다 • 두 렌즈간의 거리가 적당히 떨어져 있어야 한다 • 물체가 겹쳐 놓인 경우 폐색되는 부분에서는 거리 정보의 추론이 불가능하다

  4. 에피폴라 제약 조건 • 에피폴라 라인 - 에피폴라 평면이 영상 평면과 교차하여 만드는 라인 • 베이스 라인 - 두 렌즈의 중심을 연결하는 선 • 왼쪽 영상의 한 점에 대응되는 오른쪽 영상의 점은 반드시 에피롤라 라인에 위치한다

  5. 두 렌즈의 광축이 평행한 경우 • 에피폴라 라인은 수평선이 된다 • 두 렌즈의 중심이 , 인 선상에 놓여 있고, 왼쪽 및 오른쪽 영상평면이 인 평면이라 하자 • 두 렌즈의 중심을 지나는 임의의 평면의 방정식은 이 된다. • , 인 선상에 놓인 모든 점들이 이 방정식을 만족하여야 하므로 이 된다. 즉 두 렌즈의 중심을 지나는 평면의 방정식은 이 된다. • 이 방정식이 영상 평면과 교차하는 선을 구하기 위해 을 대입하면 , , 즉 에피폴라 라인은 수평선이 된다

  6. 두 렌즈의 광축이 평행하지 않은 경우 • 영상 교정 작업을 거쳐 두 광축이 평행하도록 조정한다 • 영상 평면의 X 축을 베이스 라인과 평행하도록 회전하고, Y 축은 회전된 X 축과 광축에 수직이 되도록 회전하고, Z 축은 회전된 X 축과 Y 축에 수직이 되도록 회전시킨다

  7. 대응점을 이용한 거리 정보 계산 거리 정보 Z는 변위에 반비례하고 베이스 라인의 크기에 비례한다

  8. 대응점을 이용한 거리 정보 계산 예제 • 두 카메라의 위치는 (-10, 0, 0)과 (0, 0, 0)이고영상 평면은 Z=1이다. • (0, 0, 100) 지점에 40x40 정사각형의 좌하단 코너가 놓여있다. • 배경은 Z=200인 평면이고 이 평면에는 세로 줄무늬가 그려져 있다. 한 세로 줄의 왼쪽 및 오른쪽 X 좌표는 X=-5와 X=5이다. • 왼쪽 영상에는 사각형 물체의 코너 점들이 (0.1,0), (0.5,0), (0.1,4), (0.5,4)에 투영되고, 오른쪽 영상에는 (0,0), (0.4,0), (0,4), (0.4,4)에 투영된다. 베이스 라인이 10이고 변위가 0.1이므로 거리는 10/0.1=100이 된다. • 배경의 줄무늬는 왼쪽 영상에는 x=0.025와 x=0.075에 투영되고, 오른쪽 영상에는 x=-0.025와 x=0.025에 투영된다. 왼쪽 영상에서는 사각형의 왼쪽에 줄무늬가 놓이고, 오른쪽 영상에서는 사각형과 일부 겹쳐지게 된다. 줄무늬의 경우 변위가 0.05이므로 거리는 10/0.05=200이 된다.

  9. 마스크 안의 밝기값을 비교하여 대응점 찾기

  10. 마스크의 크기에 따른 효과 • 마스크의 크기가 크면 잡음에 강건한 매우 안정적인 값을 얻을 수 있지만, 의 골이 너무 펑퍼짐하게 된다 • 변위에 대한 정확한 예측이 어려움 • 마스크의 크기가 너무 작으면 잡음에 민감하게 되고 가 복수 개의 골을 가질 수 있으며 가장 큰 골과 다른 골들의 차이가 크지 않게 된다

  11. 마스크의 크기를 점진적으로 변화시키는 알고리즘 • 마스크의 초기 크기를 x 로 한다 (예: 9X9) • 에피폴라 라인 위의 후보 점들에서 를 계산한다 • 만약 가 하나의 골을 갖고 골의 크기가 임계값d1 이하면 그 점을 대응점으로 하고 종료한다 • 만약 Min(Dv(p)) > d2 이면 대응점이 없는 것으로 하고 종료한다

  12. 마스크의 크기를 점진적으로 변화시키는 알고리즘 • 마스크의 크기가 이면 종료한다 (예: = 19) • 마스크의 크기를 2 만큼 증가시키고, n=n+2, 가 d3 이하가 되는 후보 점들을 찾는다 • 단계 (2)로 되돌아간다

  13. 마스크의 크기를 변화시켜 거리 정보 추출하는 예제 영상

  14. 대응 순서의 일관성 제약 조건 • 일반적으로 대응점들의 대응 순서는 일관성이 있다 • 폐색이 발생하는 경우에는 가려진 점들이 투영되지 않고 가리는 점들이 투영되기 때문에 대응 순서의 일관성은 무너진다

  15. 동적 프로그램을 이용한 왼쪽과 오른쪽 수평선간의 정합

  16. 동적 프로그램을 이용한 왼쪽과 오른쪽 수평선간의 정합 와 를 정합시키기 위해 필요한 비용 또는 이 폐색에 의해 정합 쌍을 갖지 못하는데 드는 비용 = Occ 대응 순서의 일관성의 유지된다는 전제하에서는 의 대응점이 이면 의 대응점은

  17. 동적 프로그램을 이용한 왼쪽과 오른쪽 수평선간의 정합 • 대응점을 찾는 문제는 2차원 매트릭스에서 최적 경로를 찾는 문제

  18. 동적 프로그램을 이용한 왼쪽과 오른쪽 수평선간의 정합 • 동적 프로그래밍에서는 매트릭스의 시작점 (0,0)에서 부터 (i,j)까지의 최소 경로 비용을 F(i,j)라 하고, (N,N)까지의 최소 비용 경로 F(N,N)을 다음과 같은 방법으로 찾는다 (1) F(0,0) = 0 (2) F(i,j) = Min (F(i-1,j-1)+, F(i-1,j)+Occ, F(i,j-1)+Occ)

  19. 동적 프로그램을 이용한 왼쪽과 오른쪽 수평선간의 정합 (1) for i=0 to N F(i,0) = F(0,i) = (2) for i=0 to N for j=0 to N min1 = F(i-1,j-1) + min2 = F(i-1,j) + Occ min3 = F(i,j-1) + Occ F(i,j) = MIn(min1, min2, min3) if (F(i,j) = min1), M(i,j) = 1 // 와 가 서로 대응 if (F(i,j) = min2), M(i,j) = 2 // 의 대응점이 없음 if (F(i,j) = min3), M(i,j) = 3 // 의 대응점이 없음

  20. 동적 프로그램을 이용한 왼쪽과 오른쪽 수평선간의 정합 (1) p = N, q = N (2) while (p != 0 AND q !- 0) switch(M(p,q)) case 1: p matches q; p--; q--; break; case 2: p is unmatched; p--; break; case 3: q is unmatched; q--; break;

  21. 동적 프로그램을 이용하여 거리정보를 추출하는 예제 영상

  22. 최대-흐름/최소-컷 6 4 2 최대-흐름 = 2 최소-컷 = 용량이 2인 파이프

  23. 최소-컷 컷 = 소스와 싱크를 분리하는 아크들의 집합 컷 값 = 컷에 포함된 에지 용량들의 합 최소-컷 = 컷 값이 최소가 되는 컷

  24. 최소-컷을 찾는 방법 • 소스 노드에서싱크노드로 최대-흐름을 유발하는 아크들을 찾고 이들 아크 중에서 컷을 만드는 아크들만을 선택하는 전략 • Ford와 Fulkerson 알고리즘 • 최소-컷 = 최대-흐름

  25. 그래프 컷 이론을 이용한 변위 계산 • 에너지 함수를 정의하고 이 에너지 함수가 최소값을 갖도록 변위 할당을 유도 • 에너지 함수가 최소값을 갖도록 변위 할당을 조정하는 과정에 그래프-컷 이론 사용

  26. 변위 할당을 위한 에너지 함수 인접한 화소는 같은 변위를 가질 가능성이 높다 변위 만큼 이동한 위치에서 밝기값의 차이가 적으면 좋은 변위 할당

  27. -확장 예제

  28. -확장 예제 화소p와 q의 레이블을 새로운 레이블 로 변경할 것인가?

  29. -확장 알고리즘을 이용한 레이블링 1. (Initialize) Start with an arbitrary labeling 2. Set success = 0 3. For each label 3.1. Find among within one -expansion of 3.2. If , set and success = 1 4. If success =1 goto 2 5. Return

  30. -확장을 위한 그래프 생성

  31. -확장을 위한 그래프 생성

  32. -확장을 위한 그래프 생성

  33. 최소-컷 찾기와 -확장 Ford와 Fulkerson의 그래프 최대-흐름을 구하는 알고리즘에 의해 최소-컷 확인

  34. 그래프 컷을 이용한 거리 정보 추출 예제

More Related