camera
CV에서 말하는 카메라?
핀홀 카메라 모델
외부의 상이 하나의 바늘구멍을 직선으로 통과하여 반대편 벽(이미지 센서)에 맺히는 모델
초점거리=바늘구멍~벽면까지의 거리
좌표계
카메라 캘리브레이션?
세상은 3차원
카메라로 찍은 건 2차원의 이미지
3차원=>2차원 or 2차원=>3차원 하는 과정에서는 카메라 내부 요인을 제거해야 정확히 계산 가능
내부 요인의 파라미터 값들을 구하는 과정=카메라 캘리브레이션
개요
카메라 이미지는 3차원 공간상의 점들을 2차원 이미지 평면에 projection함으로써 얻어짐
3차원<=>2차원 변환 과정을 설명하는 파라미터를 찾는 과정이 카메라 캘리브레이션
카메라 외부 파라미터(=extrinsic parameter) ex)카메라 설치 높이, 방향 등 외부공간의 기하학적 관계와 관련
카메라 내부 파라미터(=intrinsic parameter) ex)카메라 초점거리, aspect ratio, 중심점 등
카메라 내부 파라미터(instrinsic parameter)
초점거리(focal length)
렌즈~이미지 센서 와의 거리
초점거리는 pixel단위로 표현됨
이미지의 pixel은 이미지 센서의 cell에 대응
ex)이미지 센서의 cell 크기가 0.1mm이고 초점거리가 500pixel이라고 하면,
카메라의 렌즈 중심에서 이미지 센서까지의 거리는 이미지 센서 cell의 500배, 50mm라는 의미
fx=초점거리가 가로 방향 센서 cell의 몇 배인지?
fy=초점거리가 세로 방향 센서 cell의 몇 배인지?
요즘에는 가로나 세로나 cell차이가 없어서 f=fx=fy라고 봐도 무방하긴 함
이미지 해상도를 낮추면 캘리브레이션 결과의 초점거리도 작아짐
초점거리는 상대적인 개념이기 때문에 해상도를 바꾸면 1pixel에 대응하는 물리크기가 변하게 되므로
ex)해상도를 1/2로 낮추면 이미지 센서의 2*2cell이 합쳐져서 1pixel이 됨
1pixel에 대응하는 물리크기가 2배가 됨=>초점거리는 1/2가 되어야 함
주점(principal point)
렌즈 중심(cx,cy)
즉, 핀홀에서 이미지 센서에 내린 수선의 발의 영상 좌표(!=영상중심점)
비대칭 계수(skew coefficient)
이미지 센서의 cell array의 y축이 기울어진 정도
요즘엔 이런 에러가 거의 없다고 함
카메라 외부 파라미터(extrinsic parameter)
카메라 좌표계<=>월드 좌표계 변환 관계를 설명하는 파라미터
두 좌표계 사이의 회전, 이동 변환으로 표현
카메라 외부 파라미터는 카메라 고유 파라미터가 아니기 때문에,
카메라를 어떤 위치,방향에 뒀는 지에 따라, 월드 좌표계를 어떻게 정의했냐에 따라 달라짐
카메라 내부 파라미터와 왜곡계수, 물체에 대한 최소 4개 이상의 3D 월드 좌표와 2D 이미지 좌표 쌍이 있으면 구할 수 있음
solvePnP함수를 사용해서 구할 수 있음
월드 좌표계=>카메라 좌표계 변환정보(rmat, tvec)을 반환