일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 알고리즘
- algorithm
- computervision
- GAN
- math
- CV
- 딥러닝
- classification
- clean code
- Python
- 3d
- web
- Torch
- nlp
- pytorch
- FGVC
- 자료구조
- REACT
- Depth estimation
- 머신러닝
- Vision
- SSL
- ML
- nerf
- cs
- FineGrained
- Meta Learning
- dl
- PRML
- Front
- Today
- Total
KalelPark's LAB
[ Computer Vision ] 3D Vision과 관련된 여러 용어들 본문
Stereo Vision이란?
사람의 시각 시스템을 모방한 기술이며, 자율 주행 자동차등의 관심이 높아짐에 따라, 라이더 및 레이더 센서 기술을 대체할 수 있는 기술로 관심을 받고 있습니다. 사람은 두 눈으로부터 좌/우 차이가 존재하는 2차원의 영상을 입력받고, 입력 받은 영상을 인간의 뇌로 부터 융합되는 과정을 통해3차원의 거리 감을 인지합니다. 이와 마찬가지로, Stereo Vision은 카메라를 통해, 입력되는 2차원의 좌/우 영상을 계산하면서 3차원 거리 정보를 획득하는 것이 가능합니다.
* 거리 계산 방법
- 3차원 거리 정보는 시차(Parllax, disparity), 초점 거리(focal length), 베이스라인(baseline) 3가지 요소를 고려하여, 획득합니다.
- 시차(Disparity) : 위에서 언급했듯이, 좌/우 영상에서 동일하게 나타나는 물체에 대한 x축 위치 차이를 의미합니다.
- 초점 거리(focal length) : 이미지 평면(CCD, CMOS 센서)와 카메라 렌즈와의 거리를 의미합니다.
- 베이스 라인(Baseline) : 좌/우 카메라의 간격을 의미합니다.
3차원 거리를 계산하기 위해서는 Baseline, focal length, disparity가 필요하지만, baseline과 focal length의 경우에는 물리적인 요소이기 때문에 고정적인 상수로 생각할 수 있습니다. 그러므로, 실제 3차원 거리의 정확에 큰 영향을 끼치는 것은 시차라고 할 수 있습니다.
그러므로, 스테레오 비전에서는 정확도는 "시차(Disparity)가 얼마나 계산되었는가?"를 의미합니다.
Stereo Matching?
기준 영상에서의 한 점에 대한 동일한 점을 목표 영상에서 찾는 과정을 의미합니다. 먼저 좌측 영상을 기준 영상으로, 좌/우 영상에서 동일하게 나타나는 한 점을 생각해보자. 아래 그림처럼 좌측 영상에서의 한 점을 기준으로 우측 영상의 동일한 점은 좌측 영상에서의 점보다 좌측에 위치한다. 우측 영상을 기준 영상으로 생각하다면 좌측 영상에서의 동일한 점은 우측 영상에서의 점보다 우측에 위치한다.
이때, x축의 위치 차이를 시차(disparity)라고 합니다. 계산된 disparity를 이미로 표현하면 아래와 같이 흑백영상으로 표현가능하고,
이러한 영상을 disparity image 혹은 depth map이라고 말합니다. 또한, 시차의 값이 클수록 밝으며, 시차의 값이 작을수록 어두워집니다.
How to Stereo Matching?
1. Global Matching Method
- 에너지 함수를 기반으로 깊이 영상을 추출하는 방법입니다.
즉, 에너지 함수를 최소화하는 경우(smoothness를 충족하는) 를 찾음으로써, 최적의 깊이 영상을 만들려고 시도합니다.
이러한 방법은, 영상의 일정 부분이 아니라, 영상의 전체적인 정보를 사용하고, 알고리즘이 복잡하다는 단점이 존재하지만
상당히 높은 정확도를 나타내는 것이 가능합니다.
2. Local Matching Method
- feature based 정합 방법과 Area-based 정합 방법으로 나뉩니다.
Feature Based :
특징점에 기반으로 정합점(Matching Point)를 찾는 방법입니다. (사용되지 않음)
Area Based :
일정 영역의 픽셀 정보들을 이용하여 정합점을 찾습니다. 일정 크기의 윈도우 내 픽셀 정보들만 사용하여,
정합점을 찾기 때문에 전역 정합 방법에 비해 상대적으로 부정확한 깊이 영상을 출력하지만,
전역 정합에 비해 단순히 빠르게 계산가능합니다.
Area-based Method(Local base랑 동일하다.)
- 윈도우를 기반으로 시차 탐색 범위(disparity search range)내의 pixel들에 대해 정합 비용(matching cost)를 계산하 후 시차를
계산합니다.
- 정합 비용 (Matching cost) : 윈도우들간의 비유사도(similiarity)의 값 계산
- 시차 탐색 범위 (disparity search range) : 시차 값의 최대 범위
기준 영상의 한점과 목표 영상의 시차 탐색 범위 내 모든 픽셀에 윈도우를 설정, 이때 좌측에 설정된 윈도우와 우측에 시차 탐색 범위만큼 설정된 윈도우들간의 정합 비용(비유사도)를 추정합니다. 계산된 정합 비용들은 아래의 그림에서 그래프처럼 나타낼 수 있습니다.
이후, a를 시차를 활용하여 계산을 진행합니다. 지금까지는 동일한 y축 이지만, 실질적으로는 동일한 y축을 생성하는 것은 상당히 힘듭니다. 그러므로, rectification이라는 과정을 통하여, 좌/우 영상의 y축을 일치시키는 과정을 진행합니다.
Disparity Map 이란?
Disparity는 Stereo 정합을 위한 두 이미지에서의 객체의 위치 상의 다른 차이를 의미합니다. 이러한 차이를 Parallax(시차 : 관측자가 어떤 물체를 동시에 두 지점에서 보았을 때 생기는 방향의 차)하게 만드는 것을 Disparity Map이라고 합니다. Pixel의 disparity는 픽셀에 대한 제곱 합들의 shift value와 같습니다. disparity는 왼쪽 시야와 오른쪽 시야로부터 보이는 특징이라고 할 수 있습니다.
이는 깊이에 반비례하고, 3차원 위치의 점으로부터 mapping하는 것이 가능합니다.
Reference
https://m.blog.naver.com/dldlsrb45/220878488912
https://m.blog.naver.com/dldlsrb45/220879295400
'Data Science > Common' 카테고리의 다른 글
[ Computer Vision ] Unary Potential란? (0) | 2023.05.02 |
---|---|
[ Computer Vision ] SAD(Sum of Absolute)란? (0) | 2023.05.01 |
[ Computer Vision ] Mono Depth Estimation이란? (0) | 2023.04.28 |
[ Computer Vision ] 3D Reconstructure Survey (상시 업데이트) (0) | 2023.04.28 |
[ Computer Vision ] Collapse란? (0) | 2023.04.22 |