컴퓨터 비전

11장 3차원 비전

만능성구 2020. 6. 23. 23:20
728x90

3차원 데이터, 주로 깊이 영상(depth image)을 다룬다. (물체가 카메라에서 얼마나 떨어져있는지)

초음파, 레이져 (키넥트 센서) 3차원 정보를 얻는 센서

밝기 차이는 거리를 의미한다. 먼부분은 발게, 가까운 부분은 어둡게

거리측정을 모든 점에서 하지는 못한다.

 

두 가지 연구 주제

    •깊이 영상의 획득

    •깊이 영상의 해석 (물체 분할, 추적, 인식 등)


스테레오

깊이 영상을 획득하는 방법

§수동적 방법

영상을 측정하기 위해서 2대 이상의 카메라를 사용하여 영상을 획득한 후 그들을 분석하여 깊이 정보를 알아내는 접근 방식을 사용한다.

projector 사용안함.

 

§능동적 방법

•장면에 어떤 무늬 또는 파를 쏜 후 그것을 분석하여 깊이를 알아낸다.

•11.3절에서 능동 방법을 살펴본다.

projector사용


카메라 기하 구조 Thin Lens Optics 볼록렌즈

 

모든 카메라는 lens가 있다.

lens가 없으면 빛을 통제하기 어렵기 때문에 촬영이 거의 불가능하다.

-광학축(optic axis)평행하게 들어온 광선은 초점(focal point)을 통과, 초점을 지나온 광선은 광학축에 평행하게 진행, 렌즈 중심을 통과한 직선은 직진

- 필름과 이미지 센서를 이용해서 상이 맺히는 위치를 기록하면 영상이 된다.

-한 물체점에서 나온 광선은 모두 동일한 위치에 모이도록 렌즈가 만들어진다.

 


초점거리 구하는 방법 Thin Lens Optics

 

  f: 초점 거리(focal length),          d_o: 물체까지의 거리,        d_i: (image)의 위치

          d_o >> f 이면 d_i := f

 

2m떨어져 있으면

d_o = 2000mm

f = 50mm

d_o가 훨씬 크기 때문에 d_o를 무시할 수 있다.

그래서 d_i := f로 할수 있다. 상의 맺힌위치가 초점거리이다.

 

필름 폭 35mm으로 상을 맺게하려면 f = 50mm이어야 가장 사람이 보는 것과 유사한 영상을 얻을 수 있다.

DSLR(Digital Single Length Reflect) ??

 

film카메라는 film이고, 디지털 카메라는 이미지 센서.

문제는 어떤 물체에게 초점을 맞추면 거리가 다른 물체는 초점이 맞지 않는다. out-of-focus(blurring)이 생긴다.

 

스포츠 영상은 계속 움직여서 노출시간이 짧기 때문에 사람만 선명하게 보인다.

빛을 충분히 받으려고 apeature를 크게한다.

 

Aperture Control

aperture size: 빛이 통과하는 통로의 크기 크게 만들어

- 빛을 통과시키는 범위를 조절

- 영상의 밝기는 aperture size와 shutter speed(빛을 통과시키는 시간)에 의해 결정된다.

- 초점이 안맞으면 상의 흩어진다bluring. (두번째 그림)

- apetrue size(빛이 들어오는 범위)가 좁으면 선명하게 나오는 부분이 많아진다.

- aperture size가 크면 shutter speed를 짧게해서 밝기 조절.

- 같이 노출을 맞추려면 apertur size가 크면 shutter speed를 짧게

- aperture size가 영상의 범위가 다르지 않다. 시야가 다르지 않다.


Pinhole camera model 바늘 구멍사진기

Aperture 크기를 매우 작게(F-number를 크게) 하여 렌즈 중심을 통해서만 빛이 들어온다고 가정

저 구멍에서만 빛이 들어온다.

또한 물체까지의 거리가 초점거리(f) 보다 매우 커서 상이 f에서 맺힌다고 가정  (위에 := 로 보면 됌)


Perspective projection,  정사형 orthograph

3차원 좌표가 2차원으로 매핑되는지 따지는 것 -> 투사

영상은 3차원 공간상의 점 [X Y Z]2D 평면 (u, v)로 투사해서 얻어진 것임

투사 과정에서 거리 정보가 사라짐

(u, v)로 부터 (X, Y, Z)를 복원하려면 추가적인 정보가 필요함

이미지 plane은 CCD CMOS와 같은 이미지 센서, 감광 센서, 반도체로 인식

f: 초점 거리, z: 카메라에서 물체까지 거리, 가 닮은꼴의 원리로

Y / z = v /f , v = fY/z로

 

빨간 선상의 모든 점들이 한 점으로 들어온다. 그래서 2차원으로 3차원 좌표를 얻을 수 없다. 그래서 추가정보 필요


깊이 측정

투영 기하(Projective geometry)

삼각비로 아래식 구함

x_i(평면상의 좌표)f는 알려진 값이지만 x_w(공간상의 좌표)는 알려지지 않은 값이므로 z_w(카메라에서 물체까지거리)조건식은 되지만 z_w(거리)를 확정할 수 없음

--> 두 대의 카메라를 가진 스테레오 기하로 확장

 


스트레오 기하

스트레오 기하는 2개의 카메라를 나란히 두어서 광학축을 평행하게 만들어 두고 

 

- b와 f는 카메라 특성에 의해서 고정된 값.

- 위의 식과 적절한 대응접 찾기 알고리즘으로 x_left와 x_right를 알아내야한다.

**핵심 - 그리고 이것들로 d(left-right변위)를 알아낼 수 있다. (물체에 따라 d가 다르다, 같으려면 y값 동일하게)

- 두 영상에서 y좌표는 같음  : 에피폴라 기하

 

대응점이 가깝게 되어 있으면 epipolar없이는 복잡해진다.


 

조밀한(dense) 깊이 영상

left와 right의 x좌표가 달라서 anaglyph처럼 된다. 그래서 대응점을 찾아야한다.

- 일부 조각을 때서 mask를 움직여서 원시적으로 대응점을 찾는다.

: 특징점 뿐만 아니라 모든 화소에서 깊이 정보를 추정하는 알고리즘

 

SSD : Sum of Squared Defence 

대응점에서 최소가 된다.

대응점을 잘못 찾을 수도 있다. NAIVE(순진한)알고리즘 이다.

<-- 공간 일관성을 전혀 활용하지 못함

 

 

 

 


전역(global) 탐색 방법

공간 일관성(spatial consistency)을 활용하기 위한 준비: 변위 공간 영상

변위 영상 d의 오차를 정의하면, (d는 모든 화소의 변위를 표현하는 영상)

- E_data :  좋은 대응점을 가지도록 해줌 (SSD가 작을수록 Edata는 낮은 값)

- E_smooth : 정규화 항으로서, 이웃 화소가 비슷한 값을 가지도록 해줌 (매끄러운 깊이 영상 생성)

오차를 최소화하는 변위 영상을 구하는 최소화 문제

두개의 이미지를 최소화하면서 smooth하게 하는 것을 구한다.


지역적(local) 알고리즘 정합 사례

 

a) Tsukuba image, 여러 이미지를 이용?

b) 각 점에서 disparity를 ground truth를 만들어 놓았다.

c) naive algorithm의 결과

d) 3*3창을 굉장히 좁게 만들어서 매칭한 navie algorithm돌린거. 오차가 크다.

e) 21*21창으로 해서 boundary가 뭉개진다. 오차는 줄어들었다. navie algorithm

f)g)h) smoothing을 해서 좀 더 고급스러운 

 


능동 센서

스테레오 비전

    •수동적. 카메라에 들어오는 빛 정보를 수동적으로 받아들이는 역할만 함.

능동 센서(active sensor)

    • 장면에 능동적으로 무엇인가를 투사하여, 되돌아오는 신호로부터 거리를 알아낸다. 

    ex) 적외선 센서, 초음파센서. time delay를 계산

 

능동 센서가 사용하는 두 가지 기법

   구조 광(Structured light)과 비행 시간(time-of-flight)

 

비행 시간(Time-of-flight) 센서

     파를 쏜 뒤, 되돌아오는 파를 잡아 비행에 걸린 시간 또는 위상 차이를 측정하고 거리로 변환

Lidar: Light + rader

rader :

lidar :  레이저 빛을 쏜다. 

사방에 빛을 쏘고 돌아오는데 얼마나 걸리나.


구조광

Laser와 특수 렌즈를 이용하여 평면파(plane wave)를 물체에 투사

평면파의 방정식과 카메라 투사 방정식을 이용하여 거리를 계산할 수 있음

실외에서는 적합하지 않을 수도 있다.

2D -> 3D

한줄 씩 정보를 얻어서 3차원 정보를 얻는다.

 

구조 광의 원리

스테레오에서 카메라 한 대를 프로젝터로 대치

프로젝터는 대응점을 찾기 쉽게 설계된 정교한 패턴을 투사함

구조광이 사용하는 무늬

    모든 점은 다른 것과 구별되도록 고유한 패턴을 가짐 <-- 대응점 찾기가 쉬움

어떤 제품은 적외선을 투사하여 눈에 안보이게 함 (예, 키넥트)

 


키넥트

키넥트 사양

      480*640RGB 영상과 깊이 영상을 30fps로 동시에 획득

      깊이는 대략 0.8~3.0미터를 측정 (주로 실내 환경에 국한하여 활용)

      수평 57o, 수직 43o가량의 시야각

      상하로 27o가량 기울일 수 있음

키넥트가 주목 받는 이유

     •컬러 영상과 깊이 영상을 해석하여 손, , 얼굴을 추적할 수 있는 인터페이스(함수)SDK(Software Development Kit) 형태로 제공

    •마이크로소프트가 공식적으로 제공하는 Kinect SDK를 사용할 수 있다[Han2013, II.B].


깊이 영상 분석

전선처럼 가느다란 물체 또는 물체의 경계선에서 측정 실패한 점 발생

      •동작 인식은 문제 없지만 3차원 지도 제작이나 로봇 항해는 문제 소지

      •깊이 영상에 적합한 전처리 연산 필요 [Han2013, III.B]

728x90