증강 현실 및 시각적 추적 응용 프로그램에 대한 카메라 포즈 추정 주제를 한동안 연구 해 왔으며 작업에 대한 자세한 정보가 많이 있지만 여전히 많은 혼란과 오해가 있다고 생각합니다.
다음 질문에는 단계별 답변이 필요하다고 생각합니다.
- 카메라 내장 기능이란 무엇입니까?
- 카메라 외형이란 무엇입니까?
- 평면 마커에서 호모 그래피를 어떻게 계산합니까?
- 호모 그래피가있는 경우 카메라 자세를 어떻게 얻을 수 있습니까?
증강 현실 및 시각적 추적 응용 프로그램에 대한 카메라 포즈 추정 주제를 한동안 연구 해 왔으며 작업에 대한 자세한 정보가 많이 있지만 여전히 많은 혼란과 오해가 있다고 생각합니다.
다음 질문에는 단계별 답변이 필요하다고 생각합니다.
답변:
여기서 유일한 문제는 외부 매개 변수를 얻는 것임을 이해하는 것이 중요합니다. 카메라 내장 기능은 오프라인에서 측정 할 수 있으며 그 목적을위한 많은 응용 프로그램이 있습니다.
카메라 내장 기능이란 무엇입니까?
카메라 내장 매개 변수를 일반적으로 카메라 보정 매트릭스 라고합니다 . 우리는 쓸 수있다
어디에
및 α v 는 u 및 v 좌표 방향의 배율이며 카메라의 초점 길이 f 에비례합니다: α u = k u f 및 α v = k v f . k u 및 k v 는 단위 거리 당 u 및 v 방향의 픽셀 수입니다.
를 기본 점, 일반적으로 이미지 중심 좌표라고합니다.
는 왜곡이며, u 와 v 가 수직이 아닌경우에만 0이 아닙니다.
내장 함수를 알면 카메라가 보정됩니다. 이것은 쉽게 할 수 있으므로 컴퓨터 비전의 목표는 아니지만 오프라인의 간단한 단계입니다.
카메라 외형이란 무엇입니까?
카메라 외부 또는 외부 매개 변수 는 월드 좌표계에서 카메라 좌표계로의 유클리드 변환에 해당 하는 3 × 4 행렬입니다. R 은 3 × 3 회전 행렬을 나타내고, 변환은 t 이다.
컴퓨터 비전 어플리케이션은이 매트릭스 추정에 중점을 둡니다.
평면 마커에서 호모 그래피를 어떻게 계산합니까?
호모 그래피는 3D 평면 및 이미지 투영과 관련된 동종 매트릭스입니다. 우리가있는 경우 평면 Z = 0 호모 그래피 H 점 매핑 M = ( X , Y , 0 ) T가 이 평면과 해당 2D 포인트에 m 돌기 아래 P = K [ R | t ] 는
호모 그래피를 계산하려면 세계 카메라 포인트 쌍이 필요합니다. 평면 마커가있는 경우 이미지를 처리하여 피쳐를 추출한 다음 장면에서 해당 피쳐를 감지하여 일치하는 항목을 얻을 수 있습니다.
Direct Linear Transform을 사용하여 호모 그래피를 계산하려면 4 쌍만 있으면됩니다.
호모 그래피가있는 경우 카메라 자세를 어떻게 얻을 수 있습니까?
호모 그래피 와 카메라 포즈 K [ R | t ] 는 동일한 정보를 포함하며 서로 쉽게 전달됩니다. 둘 다의 마지막 열은 번역 벡터입니다. 호모 그래피의 열 1 H 1 및 2 H 2 또한 카메라 포즈 매트릭스의 열 1 R 1 및 2 R 2 입니다. 그것은 단지 열 세에게 남아 R 3 의 [ R을 | t ] 이며 직교해야하므로 열 1과 2의 교차 곱으로 계산할 수 있습니다.
중복으로 인해 정규화해야합니다. 를 예를 들어 행렬의 요소 [3,4]로 나눕니다.
2 차원 사례를 잘 설명하고 있지만 Jav_Rock이 제안한 답변은 3 차원 공간에서 카메라 포즈에 대한 유효한 솔루션을 제공하지 않습니다. 이 문제에 대해 여러 가지 가능한 솔루션이 존재합니다.
이 논문 은 호모 그래피를 분해하기위한 닫힌 공식을 제공하지만 공식은 다소 복잡합니다.
OpenCV 3은 이미이 분해 ( decomposeHomographyMat )를 정확하게 구현합니다 . 호모 그래피와 올바르게 스케일 된 내장 행렬이 주어지면이 함수는 4 가지 가능한 회전 및 변환 세트를 제공합니다.
이 경우 내장 행렬은 픽셀 단위로 제공되어야합니다. 즉, 주점이 보통 (imageWidth / 2, imageHeight / 2)
이고 초점 거리가 보통 임을 의미합니다 focalLengthInMM / sensorWidthInMM * imageHeight
.
focalLengthInMM / sensorWidthInMM * imageWidth
아닌가요? 왜 대신 높이를 선택합니까?