본문 바로가기
카메라 센서와 렌즈 아래 부품 위에 FOV 사각형, 피사계 심도 대역, 최소 결함, 광축을 따라 WD를 표시한 렌즈 선정 등각 개념도
광학·렌즈

근사식이 놓치는 FOV 오차를 잡는 머신비전 렌즈 계산기

OPTICS

배율 0.14인 셋업에서 근사식은 FOV를 14% 넓게 알려 주고, F8로 벌린 심도는 회절 번짐에 먼저 막힙니다.

센서 화소 수와 화소 크기, FOV, 물체 거리를 넣으면 초점거리와 분해능, 피사계 심도, 에어리 원반을 함께 내놓는 렌즈 계산기를 두고 4,096 px 셋업의 숫자를 차례로 따라갔습니다.

읽는 시간 약 14분

렌즈를 고를 때 가장 먼저 꺼내는 식은 f = 센서 폭 × WD1 ÷ FOV2입니다. 곱셈과 나눗셈 한 번이면 초점거리가 나오니 견적 회의 자리에서도 바로 쓸 수 있죠. 그런데 이 식에는 배율이 충분히 작아야 한다는 조건이 붙어 있습니다. 가로 4,096 px 센서로 100 mm 시야를 보는 셋업은 이 조건을 벗어나서, 근사식이 알려 주는 FOV가 실제보다 약 14% 넓습니다.

검사할 부품은 가로 100 mm 남짓한 사출 커버나 PCB처럼 빛을 비교적 고르게 흩는 표면으로 두겠습니다. 표면이 이렇게 얌전해도 렌즈 계산이 틀리면 문제는 발주 뒤에야 드러납니다. 근사식으로 ‘FOV 여유 13%’를 확인하고 25 mm 렌즈를 주문했는데, 설치해 보니 같은 거리에서 시야가 목표보다 약 1% 좁아 부품 가장자리가 화면 밖으로 밀려나는 식입니다. 거기에 조리개를 조여 피사계 심도를 벌리려던 계획까지 작은 화소의 회절에 막히면, 렌즈와 카메라 조합과 설치 거리, 조명 브래킷 위치를 처음부터 다시 정하게 됩니다.

그래서 저는 얇은 렌즈 식3 한 줄에 검증식 두 개를 붙여 씁니다. 최소 결함이 화소 몇 칸을 덮는지 보는 식과, 조리개 값에서 회절 번짐의 지름을 구하는 식입니다. 아래 렌즈 계산기는 이 세 식을 묶어 두었고, 표준 초점거리 일곱 개를 같은 거리에서 나란히 비교해 줍니다. 계산기를 열기 전에 숫자가 어떻게 이어지는지부터 따라가 보시길 권합니다.

근사식은 센서를 초점거리 자리에 둔다

얇은 렌즈에서 물체 거리 u, 상 거리 v, 초점거리 f는 1/f = 1/u + 1/v를 만족하고, 배율4 m은 v ÷ u이면서 센서 폭 ÷ FOV이기도 합니다. 두 관계를 함께 풀면 f = u × m ÷ (1 + m)이고, 센서는 렌즈에서 f(1 + m)만큼 떨어진 곳에서 상을 받습니다. 근사식 f = m × u는 센서가 초점면, 곧 v = f인 자리에 있다고 놓은 식이에요. 그래서 근사값을 정확값으로 나누면 언제나 1 + m이 남습니다.

이 관계 덕분에 오차를 따로 외울 필요가 없습니다. 근사식이 초점거리를 부풀리는 비율이 그대로 배율 m입니다. 배율 0.064에서는 6.4%, 0.141에서는 14.1%이고, 부품을 거의 등배로 키워 보는 고배율 검사에서는 두 배 가까이 벌어집니다. 시야가 센서 폭의 수십 배를 넘는 대시야에서는 근사식이 거의 맞고, 배율이 커질수록 같은 식이 점점 크게 틀립니다.

물체 거리 u와 상 거리 v = f(1 + m)를 표시한 얇은 렌즈 광선도로, 근사식이 센서를 초점거리 f 위치에 두는 차이를 비교한 그림
근사식이 센서를 f에 두는 동안 얇은 렌즈 식은 f(1 + m)에 두며, 배율을 0.5로 과장해 그린 이 틈이 그대로 FOV 오차가 됩니다.

그림 오른쪽의 빨간 점선(근사식이 센서를 두는 자리)과 검은 막대(얇은 렌즈 식의 센서 자리) 사이 간격을 보면 됩니다. 1,600 px, 화소 4.0 μm인 센서(가로 6.4 mm)로 물체 거리 200 mm에서 FOV 100 mm를 보면 배율은 0.064이고, 얇은 렌즈 식이 주는 필요 초점거리는 12.03 mm입니다. 근사식은 12.8 mm를 내놓아 12 mm와 16 mm 사이에서 고민하게 만들지만, 계산을 바로잡으면 12 mm가 거의 정답이죠. 다만 그 12 mm 렌즈의 실제 FOV는 100.3 mm로 목표를 겨우 넘깁니다. 근사식으로 계산하면 106.7 mm가 나와 6% 넘는 여유가 있는 것처럼 보입니다. 저는 배율이 0.05를 넘으면 근사식 값을 참고 칸에만 적어 둡니다.

화소를 늘리면 근사식이 더 크게 틀린다

1,600 px 셋업은 초점거리가 맞아도 쓸 수 없습니다. 물체 쪽 화소 분해능5은 FOV ÷ 가로 화소 수로 정해지는데, 100 mm ÷ 1,600 px는 62.5 μm/px입니다. 100 μm 결함은 1.6칸에 그칩니다. 제 기준은 최소 결함이 세 칸 이상을 덮는 것입니다. 이 셋업은 렌즈를 고르기 전에 센서에서 탈락합니다. 세 칸을 채우려면 분해능이 33.3 μm/px 이하, 가로 화소가 3,000 px 이상이어야 합니다.

화소 3.45 μm인 4,096 px 센서(가로 14.13 mm)로 바꾸면 분해능은 24.4 μm/px, 100 μm 결함은 약 4.1칸이 됩니다. 여유가 생긴 대신 배율이 0.141로 올라가고, 근사식이 틀리는 비율도 14.1%로 같이 올라갑니다. 분해능을 올리는 순간 근사식은 더 크게 틀리는 구조예요. 25 mm 렌즈를 물체 거리 200 mm에 두면 근사식은 FOV 113.0 mm를 보여 주지만, 얇은 렌즈 식으로는 98.9 mm라 목표에 못 미칩니다. 100 mm를 맞추려면 물체 거리를 약 202 mm로 늘려야 하고, 그 자리에서 다시 근사식을 쓰면 FOV는 114.2 mm로 부풀어 보입니다. 근사식만 믿으면 놓치는 2 mm입니다.

14.2%

물체 거리 202 mm에서 25 mm 렌즈의 FOV를 근사식이 부풀리는 비율

4.1칸

4,096 px 센서에서 100 μm 결함이 덮는 화소 수

202mm

25 mm 렌즈로 FOV 100 mm를 맞추는 물체 거리(얇은 렌즈 식)

세 숫자를 차례로 짚으면 계산 순서가 보입니다. 최소 결함에서 분해능을, 분해능에서 화소 수를, 화소 수와 FOV에서 배율을 정하고, 초점거리는 맨 마지막에 그 배율과 물체 거리로 구합니다. 초점거리부터 고르면 분해능이 모자란 셋업을 렌즈 교체로 메우려는 헛바퀴에 들어가요. 저라면 배율이 0.1을 넘는 셋업에서는 근사식으로 렌즈를 확정하지 않고, 얇은 렌즈 식으로 FOV를 역산한 다음 렌즈 제조사의 FOV·WD 표로 한 번 더 확인합니다.

조리개를 조이면 심도보다 번짐이 먼저 자란다

부품 높이가 들쭉날쭉하면 다음으로 조리개에 손이 갑니다. 근접 촬영에서 전체 피사계 심도6는 DOF ≈ 2 × N × c × (1 + m) ÷ m²로 계산합니다. N은 F값, c는 허용 착란원7이고, 렌즈의 입사동과 사출동 크기가 같다고(동공 배율 1) 둔 식입니다. F값을 두 배로 올리면 심도도 두 배가 되니, 계산만 보면 조리개를 조이는 쪽이 언제나 이득처럼 보이죠.

빛은 그렇게 움직이지 않습니다. 배율이 있으면 센서 쪽에서 느끼는 F값은 유효 F값8 Nw = N(1 + m)으로 커지고, 회절로 생기는 에어리 원반9의 지름은 약 2.44 × λ × Nw입니다. 심도 식은 기하광학의 번짐만 세기 때문에, 에어리 원반이 c보다 커지면 초점이 정확히 맞은 자리에서도 번짐 예산이 이미 바닥난 상태가 됩니다. 계산기에 찍힌 심도는 그대로인데, 실제로 또렷한 범위만 그보다 좁아집니다.

4,096 px 센서, 25 mm 렌즈, 물체 거리 202 mm(배율 0.141)에 파장 520 nm 조명을 가정하고 숫자를 넣어 봅니다. c를 한 칸(3.45 μm)으로 잡고 F8을 쓰면 심도는 약 3.15 mm로 나옵니다. 그런데 이때 에어리 원반은 약 11.6 μm, 화소 3.4칸이라 c의 세 배를 넘습니다. 3.15 mm는 종이 위의 숫자로 남습니다. c를 두 칸(6.9 μm)으로 넓히고 F4를 쓰면 심도는 똑같이 약 3.15 mm이면서 에어리 원반은 약 5.79 μm(1.7칸)로 c 안에 들어옵니다.

F값을 두 배로 올리면

심도가 두 배가 되니 높이 편차는 조리개로 덮으면 될 것 같습니다.

에어리 원반까지 계산하면

F8에 c 한 칸의 심도 3.15 mm는 번짐 11.6 μm가 c의 세 배를 넘어 무너지고, F4에 c 두 칸만 같은 3.15 mm를 지킵니다.

두 카드는 성립 여부에서 갈립니다. 같은 3.15 mm라도 한쪽은 번짐 예산 안에서 나온 숫자이고, 다른 쪽은 예산을 이미 넘긴 숫자입니다. 단, c를 두 칸으로 넓히려면 최소 결함이 그만큼 여유 있게 칸을 덮어야 합니다. 이 예에서는 약 4.1칸이라 두 칸 번짐을 견디지만, 결함이 세 칸을 겨우 넘는 셋업이라면 c는 한 칸에 묶이고 F값도 낮게 묶입니다. 부품 높이 편차가 이 심도를 넘는다면 저는 F값을 더 올리기 전에 치구 높이 관리를 확인하고, 그래도 모자라면 텔레센트릭 렌즈10나 초점 가변 렌즈 같은 광학적 대안을 검토합니다. 텔레센트릭 쪽 사정은 텔레센트릭 렌즈와 피사계 심도 글에 따로 계산해 두었습니다.

계산기에 두 셋업을 넣어 보면

아래 렌즈 계산기는 입력칸 여덟 개를 받습니다. 센서 가로 화소 수, 화소 크기, 목표 FOV, 물체 거리 u, 조리개 F값, 허용 착란원 c(칸 단위), 조명 파장, 최소 결함 크기입니다. 값을 바꾸면 결과표와 표준 초점거리 일곱 개(8, 12, 16, 25, 35, 50, 75 mm)의 비교표가 바로 다시 계산되고, 판정은 FOV가 목표 이상인지와 최소 결함이 세 칸 이상인지 두 가지로 합니다. 기본값은 초점거리 계산 글의 예제인 1,600 px, 화소 4.0 μm, FOV 100 mm, 물체 거리 200 mm 셋업입니다.

기본값 그대로 두면 비교표에 ‘충족’이 하나도 없고, 결과표 아래에는 경고가 두 줄 뜹니다. 결함이 1.6칸이라 세 칸에 못 미친다는 경고와, F8에서 에어리 원반 약 10.8 μm가 c 한 칸(4.0 μm)보다 크다는 경고입니다. 제 눈에는 이 기본 화면이 계산기에서 가장 쓸모 있는 장면이에요. 센서부터 바꿔야 한다는 결론이 표 한 장에서 나오거든요. 12 mm 행은 FOV 100.3 mm로 시야는 맞추지만 ‘3 px 미만’으로 걸리고, 초점거리를 늘린 행들은 결함을 키우는 대신 FOV가 모자랍니다. 두 번째 셋업(4,096 px, 3.45 μm, FOV 100 mm, 202 mm, F4, c 2 px)을 넣으면 경고가 모두 사라지고 25 mm 행 하나만 충족으로 바뀝니다. 35 mm 행은 결함을 6.1칸으로 키우면서도 FOV가 67.4 mm로 줄어 탈락합니다.

계산은 브라우저 안에서만 돕니다. 입력값은 어디에도 전송되지 않습니다. 주의할 점은 u가 렌즈 주점11 기준 거리라는 사실입니다. 렌즈 앞면에서 부품까지의 실제 WD는 주점 위치만큼 u와 다르고, 그 차이는 렌즈 설계마다 달라 제조사 데이터에서만 확인됩니다. 계산기로 후보를 좁힌 다음, 마지막 확인은 렌즈 사양서의 FOV·WD 표와 최단 촬영 거리로 하시길 권합니다.

사양서로 옮기는 세 줄

숫자는 사양서 문장으로 옮겨야 다른 사람이 같은 셋업을 다시 만듭니다. 100 μm 결함을 4,096 px 센서와 25 mm 렌즈로 잡는 셋업을 세 줄로 줄이고, 광학 줄만 렌즈와 거리, 심도로 나눴습니다.

항목기준값조건·근거풀어 쓰면
① 최소 불량 사이즈100 μm = 약 4.1칸24.4 μm/px에서 100 ÷ 24.4. 세 칸 이상이 검출 전제결함 하나가 화소 네 칸 남짓을 덮는다
② 센서 · 렌즈4,096 px, 화소 3.45 μm, 25 mm F4얇은 렌즈 식 필요 초점거리 25.01 mm(u 202 mm)가로 14.13 mm 센서에 25 mm 렌즈
② WD · FOV물체 거리 u 약 202 mm, FOV 100.0 mm실제 WD는 렌즈 앞면 기준으로 제조사 데이터에서 확정하고 조명 설치 공간을 더해 확인. 근사식 FOV 114.2 mm는 약 14% 과대렌즈 주점을 부품에서 202 mm쯤 띄운다
② 심도 · 회절DOF 약 3.15 mm, 에어리 원반 5.79 μm(1.7칸)c 2칸 = 6.9 μm, λ 520 nm 가정, Nw 4.57번짐이 두 칸 안에 머무는 깊이가 앞뒤 합쳐 3 mm 남짓
③ 알고리즘 파라미터크기 필터: 장변 4칸 이상①의 4.1칸에서 정수 하한. 번짐이 c 두 칸 안일 때만 유효네 칸보다 작은 얼룩은 결함으로 세지 않는다

표를 위에서 아래로 읽으면, 4,096 px로 결함 여유를 만든 순간 배율이 0.141로 올라 근사식의 FOV 과대가 14%로 벌어진다는 점이 먼저 보입니다. 이 셋업에서 근사식에 기댄 선택은 여유 있어 보이는 미달을 만들어요. 같은 심도 3.15 mm라도 F8에 c 한 칸 조합은 회절 때문에 무너지고 F4에 c 두 칸 조합만 남습니다. 분해능과 배율, 심도와 회절이 한 줄로 묶여 있어서 한 칸만 바꿔도 표 전체가 움직입니다. 저라면 이 표를 렌즈 견적서 맨 앞에 붙여 두겠습니다. 렌즈 이름보다 근거 칸을 먼저 읽게 되니까요.

이 계산법이 맞지 않는 자리도 있습니다. 치수를 재거나 높이 편차가 큰 부품이라면 배율이 거리마다 바뀌는 일반 렌즈를 계산으로 다듬기보다 배율이 거의 일정한 텔레센트릭 렌즈를 고르는 편이 낫습니다. 시야가 센서 폭의 100배를 넘는 대시야 셋업은 배율이 0.01 아래라 근사식 오차가 1% 이하이니 근사식으로 충분하고요. 줌 렌즈나 접사 링처럼 주점 위치가 설정마다 바뀌는 구성은 계산보다 격자 차트를 찍어 배율을 재는 쪽이 빠르고 정확합니다. 계산이 다 맞아도 광택이 도는 표면에서 결함 콘트라스트가 얼마나 나올지는 샘플 테스트 전 확언 불가입니다.

얇은 렌즈 식과 에어리 원반 계산은 비전 엔지니어를 준비하는 사람이 손으로 한 번 풀어 볼 만한 문제입니다. 계산기 숫자와 손 계산이 맞아떨어지면 렌즈 카탈로그가 다르게 읽히거든요. 설비 예산을 정하는 쪽에서 보면 렌즈 한 개 값보다, 잘못 고른 렌즈 때문에 다시 만드는 브래킷과 다시 잡는 조명 위치가 더 비쌉니다. 물리를 먼저 맞추는 이유는 물리가 먼저라는 글에 길게 적어 두었습니다. 이 글은 기술 설명이며 투자 권유가 아닙니다. 자세한 내용은 면책조항을 참고하세요.

현장 노트

근사식으로 렌즈를 고른 사양서가 넘어온다면 저는 발주 전에 얇은 렌즈 식으로 FOV를 한 번 더 계산합니다. 배율이 0.14쯤이면 화면 좌우가 목표보다 좁게 잘릴 수 있고, 그 차이를 설치 거리로 메우면 202 mm처럼 몇 mm가 달라지면서 조명 브래킷 위치까지 따라 움직이기 때문입니다. 검토표에는 얇은 렌즈 식 FOV와 에어리 원반 지름 칸을 따로 두고, 둘 다 통과한 조합만 렌즈 후보로 남깁니다. 마지막으로 렌즈 사양서의 최단 촬영 거리가 계산한 u보다 짧은지 봅니다.

현장 체크포인트

현장 노트의 검토표를 사양서 문장으로 바꾸려면 아래 질문에 차례로 답해 봅니다.

  • 렌즈 앞면 기준 WD가 조명과 치구에 부딪히지 않고 확보되는가? (계산기의 u는 주점 기준이라 제조사 FOV·WD 표로 다시 확인)
  • 배율 m이 0.1을 넘는데 근사식으로 FOV를 계산하지 않았는가? (넘으면 근사식 FOV가 10% 넘게 넓게 나온다)
  • 최소 결함이 세 칸 이상을 덮는가? (최소 결함 ÷ 화소 분해능)
  • 부품 높이 편차가 계산된 심도 안에 들고, 에어리 원반이 허용 착란원 c보다 작은가? (번짐이 c보다 크면 심도 숫자는 성립하지 않는다)
  • 렌즈 이미지서클이 센서를 덮고, 계산한 거리가 렌즈 최단 촬영 거리보다 긴가? (렌즈 사양서에서 확인)
  • 광택 표면이라면 한도 견본으로 결함 콘트라스트를 확인했는가? (계산은 콘트라스트까지 보장하지 않는다)

자주 묻는 질문

근사식은 언제 써도 되나요?

근사식이 초점거리를 부풀리는 비율이 배율 m과 같으니, 허용할 오차를 먼저 정하면 답이 나옵니다. 1% 이내가 필요하면 배율 0.01 이하, 곧 FOV가 센서 폭의 100배 이상인 대시야에서만 근사식으로 충분합니다. 가로 14.13 mm 센서라면 시야가 1,413 mm를 넘는 경우입니다.

허용 착란원 c는 몇 칸으로 잡아야 하나요?

정답은 없고, 최소 결함이 칸을 얼마나 여유 있게 덮는지로 정합니다. 결함이 세 칸을 겨우 넘는다면 번짐 여유는 한 칸 수준으로 좁게 잡아야 하고, 네 칸 이상 덮는다면 두 칸까지 검토할 수 있습니다. 어느 쪽이든 에어리 원반 지름이 c보다 작은지 같은 표에서 함께 봅니다.

렌즈 사양서의 WD와 계산기의 u는 왜 다른가요?

계산기는 렌즈를 두께 없는 한 장으로 보고 주점에서 거리를 잽니다. 실제 렌즈는 여러 장의 유리가 수십 mm 길이로 늘어서 있어서 주점이 렌즈 앞면과 같은 자리에 있지 않습니다. 그래서 같은 셋업이라도 사양서의 WD는 u와 다르게 적히고, 그 차이는 렌즈마다 다르니 제조사 데이터로만 확정합니다.

용어 풀이

  • [1] WD working distance, 작동 거리
    렌즈 앞면에서 검사할 면까지의 거리입니다. 계산기의 물체 거리 u는 렌즈 주점에서 재므로 렌즈마다 WD와 다릅니다. ↩
  • [2] FOV field of view, 시야
    카메라 한 장에 담기는 검사 면의 가로·세로 크기입니다. 같은 센서라도 렌즈와 거리에 따라 넓어지거나 좁아집니다. ↩
  • [3] 얇은 렌즈 식 thin lens equation
    렌즈를 두께 없는 한 장으로 보고 초점거리와 물체 거리, 상 거리의 관계를 1/f = 1/u + 1/v로 적은 식입니다. 돋보기로 햇빛을 모으는 거리를 계산하는 식과 같습니다. ↩
  • [4] 배율 magnification, m
    센서 위 상의 크기를 실제 물체 크기로 나눈 값입니다. 0.141배면 물체 100 mm가 센서에서 14.1 mm로 맺힙니다. ↩
  • [5] 화소 분해능 pixel resolution, μm/px
    화소 한 칸이 검사 면에서 덮는 길이입니다. 24.4 μm/px면 화소 하나가 부품 위 24.4 μm를 담당합니다. ↩
  • [6] 피사계 심도 depth of field, DOF
    초점을 한 거리에 맞췄을 때 앞뒤로 또렷하게 보이는 깊이의 폭입니다. F값을 올리면 넓어지지만 회절이 함께 커집니다. ↩
  • [7] 허용 착란원 circle of confusion, c
    초점이 어긋나 점이 번진 원을 어디까지 또렷하다고 볼지 정한 지름입니다. 본문에서는 화소 한 칸 또는 두 칸으로 잡았습니다. ↩
  • [8] 유효 F값 working f-number, Nw
    배율이 있는 촬영에서 센서 쪽이 실제로 겪는 F값으로, 렌즈 표기 F값에 (1 + m)을 곱해 근사합니다. 가까이 찍을수록 렌즈가 어두워지는 이유입니다. ↩
  • [9] 에어리 원반 Airy disk
    빛이 조리개 구멍을 지나며 회절해 점이 원반 모양으로 퍼진 것입니다. 지름은 약 2.44 × 파장 × F값이라 조리개를 조일수록 커집니다. ↩
  • [10] 텔레센트릭 렌즈 telecentric lens
    정해진 범위 안에서 물체가 앞뒤로 움직여도 배율이 거의 변하지 않는 렌즈입니다. 치수 측정과 높이가 다른 부품 검사에 씁니다. ↩
  • [11] 주점 principal plane
    두꺼운 렌즈를 얇은 렌즈 한 장처럼 계산할 때 거리를 재는 기준면입니다. 실제 렌즈에서는 앞면과 다른 자리에 있어 사양서로 확인합니다. ↩

참고 자료

함께 읽으면 좋은 글 — 머신비전 렌즈 초점거리 계산하는 법 · 높이가 흔들릴 때 텔레센트릭 렌즈는 F16보다 F7.1이 낫다 · 머신비전 검사, 소프트웨어보다 물리가 먼저다

2005년부터 생산설비의 기계설계와 프로젝트 관리를 맡아 온 엔지니어입니다. 설비에 들어가는 카메라·렌즈·조명을 수식과 공개 자료로 계산하고, 가정과 출처를 함께 밝혀 기록합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다