검색결과 리스트
글
카메라의 초점거리(focal length)
예전에 카메라 캘리브레이션에 관한 글([영상처리] - 카메라 캘리브레이션 (Camera Calibration))을 쓰면서 카메라의 초점거리(focal length)를 렌즈초점에서 이미지 센서까지의 거리라고 설명했는데 최근 이게 아님을 깨닫게 되었습니다.
새로 깨닫게 된 것은 카메라 초점거리(focal length)는 렌즈에서 이미지 센서까지의 거리라는 것입니다.
왜 그런지 간단히 설명해 보겠습니다.
먼저, 컴퓨터 비전에서 말하는 카메라의 기본모델은 아래 그림과 같은 핀홀(pinhole) 카메라 모델입니다.
<그림 1> pinhole 카메라 모델 (그림출처: 위키피디아)
핀홀 카메라 모델은 말 그대로 외부의 상이 하나의 바늘구멍을 직선으로 통과하여 반대편 벽(이미지 센서)에 맺힌다는 모델입니다. 그리고 여기서 카메라 초점거리(focal length)는 바늘구멍에서 뒷 벽면까지의 거리로 정의됩니다.
이제 핀홀 카메라 모델을 렌즈-이미지센서로 대응시켜 생각해 보겠습니다.
볼록렌즈의 기본 성질은 렌즈에 수평으로 들어온 빛은 모두 렌즈 초점(focus)을 통과한다는 것입니다. 또한 렌즈의 중심(center)을 통과하는 빛은 굴절없이 그대로 직진하게 되며 렌즈 중심에서 멀어질수록 굴절이 심해진다는 점입니다. 이러한 내용을 그림으로 나타내 보면 아래와 같습니다.
<그림 2> 렌즈-이미지센서 투영
그림을 잘 보면(특히 나무의 위 끝부분) 렌즈에 수평으로 들어온 빛은 렌즈의 초점을 통과하여 이미지 센서에 투영되고 렌즈의 중심을 지나는 빛은 그대로 투과하여 이미지 센서에 맺힙니다. 그런데 빛은 모든 방향으로 퍼져 나가기 때문이 이 두 방향뿐 아니라 그림의 빨간색 선들처럼 다양한 방향으로 렌즈를 투과하여 상이 맺히게 됩니다. 그런데, 중요한 점은 이들 빛들이 모두 한점 (렌즈 수평한 빛과 렌즈 중심 통과한 빛이 만나는 점)으로 모이게 되며 이 만나는 점에 이미지 센서가 위치하면 가장 선명한 상을 얻을 수 있다는 점입니다 (제가 물리쪽에는 자신이 없어서 확신은 못하지만 대략 이럴 것이라 추정하고 있습니다). 위 그림에서 이미지 센서를 좀더 앞으로 이동시키거나 뒤로 빼면 빛이 흩어지기 때문에 블러링(blurring)이 생김을 쉽게 상상할 수 있습니다.
우리가 보통 선명한 이미지를 얻기 위해 카메라의 초점거리를 조절하는 것이 이 원리라고 생각하면 됩니다.
원래 문제로 돌아가서,
<그림 1>의 핀홀 카메라 모델과 <그림 2>를 비교해 보면 핀홀 모델에서는 빛이 바늘구멍을 직선으로 투과하여 반대편에 상이 맺힙니다. 그런데, <그림 2>를 보면 빛이 렌즈초점을 직선으로 지나는 것이 아니라 렌즈중심을 직선으로 투과하여 이미지 센서에 맺히는 것을 알 수 있습니다. 따라서, 렌즈중심이 핀홀에 대응되기 때문에 카메라의 초점거리는 렌즈중심에서 이미지센서까지의 거리로 정의하는 것이 맞겠습니다.
by 다크 프로그래머
'영상처리' 카테고리의 다른 글
OpenCV Haar/cascade training 무한루프 방지 (11) | 2013.12.02 |
---|---|
카메라의 초점거리(focal length) (50) | 2013.10.23 |
solvePnP 함수 사용법과 Rodrigues 표현법 (77) | 2013.09.25 |
매치무브(MatchMove)의 세계 (17) | 2013.09.11 |
설정
트랙백
댓글
-
보통 요즘 카메라 렌즈에는 렌즈가 하나만 들어가는 경우가 없지요. 제가 예전에 관련 책을 얼핏 읽었던 기억으로는.. 그 렌즈군 중에서도 2번 렌즈인가?? 중심이 되는 렌즈가 있다고 합니다. 그 렌즈의 광학적 중심에서 이미지센서까지의 거리를 초점거리라고 정의하더군요. 그림을 곁들인 자세한 설명 잘 봤습니다. ^^
-
학생 2013.10.27 17:30
유익한 글 잘 읽었습니다. 제가 요즘 실험을 하다가 매우 궁금한 부분이 하나 생겨서 질문을 드리고자 합니다. 먼저 실험해본 내용은 다음과 같습니다.
줌렌즈를 사용하는 카메라로 줌을 5단계로 나누어 calibration을 했습니다. 그런다음 intrinsic parameter 중 focal length를 mm 스케일로 변환하였더니 다음과 같이 나왔습니다.
(각각의 배율당 Re-projection error는 0.2정도로 작은편이었습니다.)
zoom1 : 9.2375mm / 2: 9.7723mm / 3: 10.2691mm / 4: 10.8511mm / 5: 11.4902mm //
mm로 변환할땐 fx (pixel) * 3.75um/pixel 로 계산하였으며 fx 값은 카메라 CCD 전체 면적을 사용하는 최대해상도인 1280x960으로 calibration하여 얻은 focal length 이고, 3.75um/pixel 은 카메라의 CCD 스펙에 적혀있는 값입니다. 1/3" CCD 카메라의 가로길이가 4.8mm 이므로 1280화소로 나누어도 같은 값을 가집니다.
여튼 intrinsic을 구한 다음 카메라와 chessboard를 일정 간격 (약 10 cm) 정도 떨어뜨려 놓고 둘다 움직이지 않게 고정한 다음 배율만 바꿔가며 해당 배율의 intrinsic값을 대입하여 extrinsic parameter를 구해보니 extrinsic 의 z값의 변화가 다음과 같이 나타났습니다.
zoom1 : 118.366mm / 2: 121.460mm / 3: 123.997mm / 4: 127.058mm / 5: 130.816mm //
문제는 보시는바와 같이 intrinsic의 증가량과 extrinsic의 증가량이 약 5.5배나 차이가 난다는 것입니다. 이론상으로는 focal length의 길이와 동일한 scale로 extrinsic parameter가 변해야 하는데, 이렇게 차이가 난다는 것은 무엇이 문제일까요? 위에서 설명하신대로 focal length가 CCD 면으로 부터 principal point까지의 거리가 아니라 렌즈중심이라 해도, extrinsic parameter를 계산할때 똑같은 focal length를 가지고 계산해야 하기때문에 이부분의 오류는 아닐것 같습니다만..
도무지 해결이 안되어 여쭤봅니다.-
다크pgmr 2013.10.28 10:13 신고
오히려 제가 배워할 할 것 같은데요 ^^
어쨌든 나름 답변을 해 보면,
먼저 extrinsic z가 무엇이고 어떻게 계산한 것인지 궁금합니다. 만일 카메라에서 체스판까지의 거리를 extrinsic z라 놓고 구한 것이라면, 그리고 fx:영상에서의x축방향체스판크기 = z:실제체스판크기 로 z를 계산한 것이라면 배율에 관계없이, 그리고 fx 값에 관계없이 z는 항상 동일한 값이 나와야 한다고 생각합니다. intrinsic은 카메라에 따라 변하는 값이지만 extrinsic은 카메라의 위치와 방향과만 관계된 값입니다. 그리고 이러한 계산방식은 렌즈왜곡이 없다는 가정하의 계산이므로 보다 정확한 z의 계산은 먼저 렌즈왜곡을 보상한 normalized image 좌표를 구한 후에 비례식을 풀어야 합니다. -
학생 2013.10.28 12:37
아, 죄송하게도 자세한 설명을 적어놓질 않았네요. 위에서 말씀드린 extrinsic parameter의 z란 체스보드와 카메라의 translation 값 중 z값을 말한 거였습니다. 즉 실험을 통해 봤을 때 카메라와 체스보드간의 x,y 좌표변화는 거의 없지만 (체스보드에 대해 카메라가 수직방향이 되게 위치시켰습니다) z는 줌의 변화에 따라 바뀌게 됩니다. 그런데 이 z값의 변화폭이 intrinsic의 focal length의 변화폭과 다르다는 말이었습니다. ^^; 혹시나 제가 실험했던 자료가 필요하시다면 말씀해 주세요. 메일로 보내드릴게요.
-
학생 2013.10.28 17:07
extrinsic parameter는 카메라와 체스보드간의 transformation인데, 이때 카메라 center와 chessboard의 기준좌표계 (보통 0,0 위치의)까지의 위치와 방향이라 정의하는데요, 그러면 카메라의 center란 물리적인 초점의 위치라고 생각했습니다.
즉 3차원 공간상에서의 principal point와 focal length는 mm스케일로 표현될수 있으며 camera의 center를 나타내는 한 점이라고 생각했습니다. 카메라에서 CCD는 당연히 움직이지 않으므로, 배율에 따라 변하는것은 principal point와 focal length이며 그렇다면 물리적인 camera의 center 또한 배율에 따라 변하는 것이라 보고, 결국 camera의 center가 변하므로 카메라와 체스보드간의 z축 거리가 변한다고 봤습니다. 여기에서 어떤 오류가 있나요? 제가 camera의 center란 개념을 잘못 이해하고 있는건지요?
(카메라의 center를 계산할 땐 OpenCV의 solvePnp 함수나 calibration합수의 결과에 나오는 camera to image 행렬의 tx,ty,tz값을 이용했습니다. ) -
다크pgmr 2013.10.29 09:29 신고
네 잘 알겠습니다.
z를 구하는 과정에 대해 제가 아는 바를 말씀드리면 먼저 영상좌표를 normalized 좌표로 변환한 후에 왜곡을 보정하고 이후 extrinsic z를 계산합니다. 만일 물체의 영상좌표를 x, 초점거리를 fx라면 normalized 좌표는 x' = x/fx가 됩니다 (왜곡은 무시한다고 가정). 그런데, normalized 좌표는 z=1일 때를 기준으로 한 좌표이기때문에 원래 물체의 공간좌표를 X라 하면 X:x/fx = Z:1을 푼 Z가 extrinsic z가 됩니다. 즉, X는 고정이고 Z = X * (fx/x)으므로 Z는 fx/x에 비례합니다.
실험하신 바와 같이 zoom을 높이면 초점거리 fx는 증가하고(물리적인 초점거리가 변화) 더불어 영상좌표 x도 zoom만큼 증가합니다. 실험한 내용을 보면 zoom 레벨에 따라 fx는 약 1.056 배씩 증가하고 extrinsic z는 약 1.026배씩 일정하게 증가함을 볼 수 있습니다. 만일 영상의 zoom이 1.056/1.026배씩 증가했다면 Z = X*(fx/x)에서 Z도 1.026배씩 증가하게 될 것입니다.
실제 영상 zoom 변화가 이와 같을지는 모르겠습니다. 영상왜곡도 영향을 받겠지요. extrinsic z와 focal length는 증가량이 아닌 증가비율로써 비교하는게 좋을 것 같습니다.
-
-
무중력 고기님이 언급하신 내용에 덧붙이자면 렌즈의 내부에 제2주점 (principal point)이라는 곳이 있습니다. 렌즈를 정의하는 가상의 면인데요 그 제2주점과 이미지 센서 혹은 필름면까지가 카메라 렌즈의 초점거리가 됩니다. 자세하게 설명한 블로그가 있네요.. 한번 들어가 보세요..^^
http://blog.naver.com/candyflip?Redirect=Log&logNo=80133032440 -
안녕하세요. ^^a. 좋은 정보 감사드립니다. 간단한 질문이 있어서 글을 남기게 되었습니다.
위에서 언급하고 있는 카메라의 초점거리(focal length)가 아래 링크의 공식에서 말하는
"L"의 값으로 생각하면 될까요?
http://books.google.co.kr/books?id=NG9Ly3GdnTwC&pg=PA92&lpg=PA92&dq=near+focus+limit+HxD&source=bl&ots=5OTNkyaFQf&sig=lBZjomr1fHSCXceL5BA4fU7fQPs&hl=ko&sa=X&ei=s6MjU9jnOKT_iAepj4GIBg&ved=0CCkQ6AEwAA#v=onepage&q=near%20focus%20limit%20HxD&f=false
참고 : shader for game programmers and artists. page 92.
-
안녕하세요. 다크pgrm님의 좋은 글들 읽으며 공부하고 있는 학생입니다. 궁금한 점이 하나 생겼는데 혹시 답변해주신다면 정말 감사하겠습니다!
1. 디지털 카메라의 줌 상태는 건드리지 않고 Autofocus 기능만 활용하여 다양한 거리에서 특정 피사체를 촬영한다면, 초점거리는 변화하게 되는게 맞는 건가요? 이 때의 초점거리는 물리적 초점거리 인가요?
2. 카메라 캘리브레이션편에서 말씀하신 물리적 초점거리와 픽셀당 물리거리비 변화를 나타내기 위한 초점거리의 차이가 헷갈리는데 좀 더 설명해주실 수 있으실까요? -
"줌 vs 초점거리"에 대한 질문 있습니다.
다크pgmr님과 학생님의 Q&A를 쭉 살펴보다 궁금한 게 있어서요... 기하학적으로 보면, zoom단계를 변화시키면서(즉 렌즈의 위치를 변경) 카메라 센터(렌즈 중심)의 변화와 초점거리의 변화를 본 실험같은데요. 여기서 전 아래와 같은 혼란스러움이 생기네요.
초점거리가 증가하면 즉 카메라 내의 렌즈가 이미지 센서와 멀어지므로 extrinsic z(카메라 센터~체스보드 중심점)가 감소하지 않나요? 헤깔리네요. -
안녕하세요 올초에 질문 남겼었는데 다른 궁금증이 생겨 질문 다시 남깁니다.
본문을 보니 "초점이 맺히는 곳과 이미지 센서의 거리가 아니라 렌즈의 중심과 이미지 센서의 거리"라고 되어있고 댓글을 보니 "여러 렌즈로 이루어진 렌즈의 경우 중심이 되는 렌즈가 있다", " 광학적 중심은 여러 렌즈의 제2주점이다" 라고 되어 있네요 정리해보면 ' 초점거리의 기준이 되는 두 가지 좌표 중 이미지 평면은 이미지 센서가 맞고' ' 나머지 카메라 좌표계의 중심은 여러 렌즈 중 중심이 되는 렌즈의 광학적 중심'이라고 이해 했습니다. 그렇다면 질문이 있습니다.
저는 실제 크기를 알고 있는 물체를 찍어서 이동/회전 변환 행렬을 구해보고 있는데요. 캘리브레이션을 해서 구한 초점거리가 맞는 것인지 증명할 방법이 없다는 생각이 듭니다. 왜냐하면 물체를 맨 앞에 있는 렌즈와 내가 알고 있는 거리만큼 간격을 두고 배치한다고 해도 내부의 제2주점 위치를 알 수 없기 때문에 제2주점과 물체 사이의 거리는 구할 수 없게 됩니다. 즉 '카메라 캘리브레이션'글에서 월드좌표계의 X,Y,Z를 알 수 없는 것이죠. 따라서 사진을 통해 이동/회전 변환 행렬을 구하고 X,Y,Z를 계산했어도 이를 실제 X,Y,Z 값과 비교할 수 없기 때문에 결과적으로 캘리브레이션을 통한 파라미터들이 옳게 구해졌는지 알 수 있는 방법이 없다는 생각이 들었습니다. 파라미터를 옳게 구했는지 알 수 있는 방법이나 제가 말씀드린 부분 중에 잘못된 부분이 있으면 알려주시면 감사하겠습니다. ^^ -
안녕하세요 글 잘봤습니다!
궁금한점이 pinhole 카메라 모델 (그림출처: 위키피디아) 여기 그림에서 아래그림과 비교해보면,
아래그림에서는 핀홀 구멍이 렌즈로 봐도 무방한건가요? 꺽이는 지점이니, 그럼 핀홀 부분과 뒤 image plane부분이 focal length가 되는건가요? 이해를 제대로한지가 궁금하네요! 좋은 블로그 포스팅 감사드림니다!
자답합니다.
cali쪽 블로그 포스팅한글을 보면서 이해가 되었네요. 핀홀 즉, 렌즈부터 image plane 사이 거리가 focal length가 맞군요. 감사드림니다! -
안녕하세요, 카메라 관련 공부를 하다가 정리를 잘하신것같아 질문드립니다.
혹시 카메라의 resolution은 카메라 sensor size / cell size로 구하는것 아닌지요?
예를 들어 카메라의 sensor의 size가 4.8 mm x 3.6 mm이고, cell size가 7.4um라면, 이 카메라의 resolution은 (4800/7.4) x (3600/7.4)가 되는건가요?? -
안녕하세요 글 잘 보고 있습니다. 무슨소린지 아직은 잘 모르겠지만요.
extrinsic 및 intrinsic을 적용하고 싶은데 intrinsic과정에서 의문이 생깁니다.
일반적인 카메라가 아니고 x-ray 디텍터인데 4 mm가량의 픽셀피치를 가지는 수십개의 디텍터가 세로로 배치되어있는 구조입니다. 디텍터 한개당 32개 픽셀정도를 받을수있습니다. 렌즈가 따로 없고 포토다이오드로 검출하는것인데요 이런경우에는 intrinsic 알고리즘을 어떻게 적용할 수 있을까요? -
감사합니다. line scanner라고 볼 수 있을 것 같습니다. 한 라인씩 스캔하여 원하는시간동안 데이터를 획득하면 이를 합쳐서 영상으로 만들어내는 구조입니다. !! 거리정보는 아니고 X-ray가 피사체를 투과하면서 만들어낸 일반적인 방사선 영상입니다.
-
웹캡으로 이미지를 실시간 캡춰 후에
프로그램을 돌려 rms, fx, fy, cx, cy, k1,k2, p1,p1 값들을 출력되는걸 확인했습니다.
아직 자료를 읽는 중입니다만, 2D이미지에서 3D정보를 추출하기 위해 Calibration 을 한다고 하는데
그 의미가 이해가 안됩니다. 왜 해야 하나요?
그리고 출력된 값들이 의미하는 것이 무엇이고..이값을 어디에 쓸 수 있는지요?
다른 카메라를 같은 calibration한 결과를 얻어다면 현재 카메라를 어떻게 이해 할 수 있는것인지요?
-
안녕하세요. 좋은 포스팅 덕분에 많은 것을 배우고 있는 신입 비전 연구자 입니다.
한가지 질문이 있습니다만, 비디오 촬영시 focal length를 움직이면서 촬영한다면, 프레임별로 focal length가 달라질텐데요. 프레임 별로 focal length를 구할수 있는 방법이 있을까요? 이 부분에서 조언해주신다면 저의 연구에 큰 도움이 될것 같습니다. 감사합니다. -
안녕하세요. 좋은 글 많이 보고 도움을 얻고있습니다.
Camera Calibretion 과 관련된 포스팅들을 보면서 궁금한 점이 생겨 질문 드립니다.
프로그램을 돌려서 내부 파라미터들을 구하는거 까지 해보았습니다.
다크님이 만들어 올리신 프로그램으로 제가 구한값이 제대로 구한 값인지 확인해 보려 했는데
여기서 제가 궁금한 점은 Calibration 패턴을 찍은 이미지의 크기는 960 x 544 입니다
다크님이 만드신 프로그램은 640 x 480의 크기더라구요
제가 구한 내부파라미터들은 960 x 544 의 이미지로 구한것인데 바로 써도 되는것인가 의문이 들었습니다. 해상도에 따라 초점거리는 비례해서 바꿔주면 된다고 이해했는데 이 경우라면 값을 어떻게 바꿔줘야 할지 감이 잘 안서더라구요
x 파라미터들은 640/960 을 계산한 값을 곱해주고 y 파라미터 들은 480/544 을 계산한 값을 곱해주고
그 값들을 메모장에 기입하면 되는건가 여쭤봅니다.
또 초점거리가 픽셀단위인데 물리적인 길이를 구하려면 이미지 센서의 cell 의 크기를 알아야 될거 같은데 cell 의 크기를 알수 있는 방법이 있을까요? 고민해 봤는데 답이 나오지 않아서 질문드립니다. -
안녕하세요
항상 글 잘 보고있던중에 한동안 바빠서 못 오다가 생각나서 또 방문하게되었습니다.
현재 카메라 및 영상 업무하고 있는데요.
마찬가지로 카메라 초점거리에 대해서 고민을 하고 있는데,
위의 글은 렌즈가 하나일 경우이고 보통의 카메라렌즈는 여러개인 경우가 대부분인데요. 이때의 초점거리라 함은 주점으로부터 이미지센서까지의 거리라고 말을 들었거든요.
혹시 렌즈가 여러개일 경우의 초점거리에 대해서 알려주실수 있을까요 ?
항상 고맙습니다. -
안녕하세요, 오래 전부터 많은 도움 받고 있습니다. 항상 감사합니다.
실제 Pan/Tilt 카메라는 카메라의 초점 위치가 변하기 때문에 이에 따른 오차가 있을 수 있다는 말에 궁금한 점이 있습니다.
만약 1초에 한 번 씩 이미지 내 물체를 감지하여, PTZ카메라를 이동 시킨다고 한다면, 이미지가 첫 번째 샘플링 된 순간의 Focal length를 이용하여 카메라를 이동시키고,
다음 샘플링에 변화되었을 지 모르는 Focal length를 새로 Return 받아 이동을 시키는 방식으로 반복 진행된다면 해당 모델을 큰 무리없이 사용할 수 있는 것일지 궁금합니다.
감사합니다.
-
안녕하세요. 항상 깔끔한 정리가 공부하는데 많은 도움이 되고 있습니다.
전공이 물리(광학)이다 보니 글을 읽으면서 용어가 좀 헷깔려서 댓글 남깁니다.
초점(focus)이라 하면 보통 렌즈를 통해 빛이 모이는 위치를 의미하는데,
핀홀 모델의 경우 렌즈 시스템의 '무한 피사체 초점(infinity Focus)상태'와 동일한 것으로 생각 됩니다.
렌즈 모델의 경우 렌즈를 지나 빛이 모이는 위치가 Focal point(초점) 이며 렌즈와 초점 사이의 길이가 Focal Length(초점거리)인것으로 알고있습니다.
이 시스템을 기준으로 생각하면 상점(image Point, 실제 영상이 맺히는 위치)는 보편적인 볼록 렌즈 모델의 경우 Focal Point보다 뒤에 있습니다.
돋보기 안경으로 형광등의 빛을 책상에 이미징 하려 할때, 돋보기를 책상가까이 가다 보면 실제 빛이 한껏 모이다가 다시 흩어지며 천장의 형광등의 형상을
나타내는것을 볼 수 있습니다.
이는 간단한 렌즈 공식을 통해 알 수 있습니다.
a(렌즈~상점), b(렌즈~피사체), f(렌즈의 초점거리) 이라 가정하면,
간단 렌즈 공식은 1/a + 1/b = 1/f 로 사용 할 수 있습니다.
핀홀의 경우는 렌즈~피사체 거리가 렌즈 초점 거리에 비해 충분히 큰 숫자로
무한대의 값이라 가정 했을때, 1/a + 1/(무한대) = 1/f 로
결국 1/a = 1/f 수식이 근사되어 초점거리가 상점거리가 동일해집니다.
이러한 표현은 "무한 포커스" 시스템에 한정적으로 적용이 가능합니다.
렌즈가 있는 Imaging System 역시 동일한 조건에서 성립합니다.
보통의 SLR, DSLR 카메라의 lens Focus를 조정할때, 무한대 표시가 바로 그것입니다.
무한대의 조건이 아닌 특정 포커스 상태에서 해당 공식을 사용하려면,
DoF에 따라 달라지겠지만 환산 공차가 발생할것으로 생각 됩니다.
-
다크pgmr 2021.02.24 12:47 신고
핀홀 카메라모델에서 영상을 기하학적으로 해석할 때, 렌즈중심이 좌표계의 원점(projection reference point), 이미지센서가 투영면(이미지평면)이 됩니다. 그리고 원점에서 이미지평면까지의 거리가 카메라 파라미터로서의 초점거리(f)가 됩니다. 그래서, 핀홀 카메라 모델의 초점거리는 렌즈의 광학적 초점거리와는 개념적으로는 구분이 됩니다.
핀홀모델의 초점거리는 피사체의 상이 가장 선명하게 맺히도록 카메라 초점을 조절했을 때의 렌즈와 이미지센서와의 거리로 정의될 수 있습니다. 상이 가장 선명하게 맺히는 센서의 위치는 thin lens equation (1/a + 1/b = 1/렌즈초점거리)을 통해서 계산할 수 있는데, 피사체가 무한대의 거리에 있을 경우에는 말씀하신 것처럼 핀홀모델 초점거리와 렌즈 초점거리가 일치하게 됩니다. 하지만, 근거리의 물체에 대해서는 이미지 센서가 광학적 렌즈 초점거리보다는 더 뒤쪽으로 멀리 위치해야 상이 선명하게 맺히기 때문에 이론적으로는 핀홀모델 초점거리가 렌즈 초점거리보다는 더 큰 값이 됩니다. 실제로는 두 값의 차이가 그리 크지 않기 때문에 카메라 초점거리를 별도로 정의하지 않고 렌즈초점거리로 근사해서 설명하는 사람도 있지만, 값을 떠나서 개념적으로 다르기 때문에 저는 두 값을 구분해서 정의하는 것이 좋다고 생각합니다. -
sh 2022.01.26 21:21
스테레오카메라 기반 근거리 물체 삼각화를 진행하고 있습니다. OpenCV기반으로 캘리브레이션을 한 결과의 Focal length(픽셀값)가 설계값(스펙)보다 항상 크게 나오는데 이 댓글에서 말씀해주신 "더 뒤쪽으로 멀리 위치해야 상이 선명하게 맺히기 때문에 이론적으로는 핀홀모델 초점거리가 렌즈 초점거리보다는 더 큰 값이 됩니다." 라는 부분 때문인 것으로 이해했습니다.
만약 이처럼 focal length가 더 큰 값이 나오는 상황에서 한 점이 아닌, 두 점 사이의 거리, 구, 또는 복잡한 객체를 triangulation으로 3D Reconstruction하면 실제 객체의 크기(True value)와 차이가 발생할까요?
저는 focal length가 실제보다 더 크게 나오더라도 3D객체가 재구성 되는 공간상의 위치가 변할 뿐이고 객체의 크기는 그대로여야 된다고 생각하고 있습니다...맞을까요?
-