카메라 캘리브레이션을 시각적으로 이해
5476 단어 파이썬ComputerVision이미지 처리OpenCV
그래서 직관적으로 이해할 수 있도록 해보려고 생각합니다.
카메라 캘리브레이션이란?
이상적인 핀홀 카메라 모델이 아닌 한 왼쪽 그림과 같이 이미지가 왜곡됩니다.
카메라 고유의 왜곡 계수를 구함으로써 이와 같이 왜곡된 화상을 보정할 수 있습니다.
카메라 캘리브레이션의 작동 방식
카메라 캘리브레이션을 할 때 검사기 보드라는 것을 인쇄합니다.
파라미터를 측정하고 싶은 카메라로 사진을 모든 각도에서 수십장 촬영합니다.
이제 카메라의 2차원 좌표 $x$ 와 공간의 3차원 좌표 $X$ 와의 대응을 취할 수 있게 됩니다.
x = P X
이 $P$는 카메라 매트릭스입니다. 3행 4열로 연립방정식으로 구합니다.
P = K [R|t]
$P$ 는 위 삼각 행렬 $K$ 와 정규직렬 행렬 $R$ 로 분해할 수 있으며,
$K$ ...... 내부 파라미터, Intrinsic Parameter (초점 거리, 광학 중심, 전단 계수)
$[R|t]$ ... 외부 파라미터, Extrinsic Parameter (카메라 회전 및 변환)
됩니다.
내부 파라미터
이 내부 파라미터 $K$ 는
K = \begin{pmatrix}
f_x & s & c_x \\
0 & f_y & c_y \\
0 & 0 & 1 \\
\end{pmatrix}
, 초점 거리 $(f_x, f_y)$, 광학 중심 $(c_x, c_y)$, 전단 계수 $s$ 를 나타냅니다.
구현
Python에서는 OpenCV를 사용하여 다음과 같이 $K$ (mtx)를 구합니다.
# チェッカーボードから点を検出
ret, corners = cv2.findChessboardCorners(gray, (8,6), None)
# キャリブレーション
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, img_size,None,None)
# 歪み補正
dst = cv2.undistort(img, mtx, dist, None, newMtx)
직관적 이해
각각 초점 거리, 광학 중심, 전단 계수 등의 파라미터를 애니메이션 해 봅시다.
원하는 카메라 매트릭스에서 대상 파라미터만 변경합니다.
원본 이미지
초점 거리
무한원→적정 초점거리→작음
(1) $f_x, f_y$
(2) $f_x$
(3) $f_y$
광학 중심
음→적정 위치→정
(1) $c_x$
(1) $c_y$
전단 계수
음→적정값→정
영어로 Skew입니다.
요약
어땠습니까?
카메라 캘리브레이션이 왜곡 보정에 사용된다는 것을 알았습니다.
퓨처 워크
반경 방향의 왜곡 계수, 원주 방향의 왜곡 계수에 대해서도 하고 싶습니다.
이미지 인용
htps : // 기주 b. 코 m / 다 ゔ ぃ ㅅ
htps : // jp. 마 t 후 rks. 이 m/헤lp/ゔぃしおん/えぁmpぇs/에ゔぁぅㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ HTML
Reference
이 문제에 관하여(카메라 캘리브레이션을 시각적으로 이해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/souring001/items/d4312c2bdcd19016aab4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
x = P X
P = K [R|t]
K = \begin{pmatrix}
f_x & s & c_x \\
0 & f_y & c_y \\
0 & 0 & 1 \\
\end{pmatrix}
# チェッカーボードから点を検出
ret, corners = cv2.findChessboardCorners(gray, (8,6), None)
# キャリブレーション
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, img_size,None,None)
# 歪み補正
dst = cv2.undistort(img, mtx, dist, None, newMtx)
각각 초점 거리, 광학 중심, 전단 계수 등의 파라미터를 애니메이션 해 봅시다.
원하는 카메라 매트릭스에서 대상 파라미터만 변경합니다.
원본 이미지
초점 거리
무한원→적정 초점거리→작음
(1) $f_x, f_y$
(2) $f_x$
(3) $f_y$
광학 중심
음→적정 위치→정
(1) $c_x$
(1) $c_y$
전단 계수
음→적정값→정
영어로 Skew입니다.
요약
어땠습니까?
카메라 캘리브레이션이 왜곡 보정에 사용된다는 것을 알았습니다.
퓨처 워크
반경 방향의 왜곡 계수, 원주 방향의 왜곡 계수에 대해서도 하고 싶습니다.
이미지 인용
htps : // 기주 b. 코 m / 다 ゔ ぃ ㅅ
htps : // jp. 마 t 후 rks. 이 m/헤lp/ゔぃしおん/えぁmpぇs/에ゔぁぅㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ HTML
Reference
이 문제에 관하여(카메라 캘리브레이션을 시각적으로 이해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/souring001/items/d4312c2bdcd19016aab4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
반경 방향의 왜곡 계수, 원주 방향의 왜곡 계수에 대해서도 하고 싶습니다.
이미지 인용
htps : // 기주 b. 코 m / 다 ゔ ぃ ㅅ
htps : // jp. 마 t 후 rks. 이 m/헤lp/ゔぃしおん/えぁmpぇs/에ゔぁぅㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ HTML
Reference
이 문제에 관하여(카메라 캘리브레이션을 시각적으로 이해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/souring001/items/d4312c2bdcd19016aab4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(카메라 캘리브레이션을 시각적으로 이해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/souring001/items/d4312c2bdcd19016aab4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)