본문으로 건너뛰기

M14.06 · TF·재투영 오차·시간 오차·불확실성 기록

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • 변환 방향/취득 시각과 재투영 잔차를 정의하고 점당 RMS와 성분 RMSE의 집계 차이를 계산한다.
  • 제한된 운동 모형에서 시간 차이의 부호와 위치/픽셀 편향을 계산하고 알려진 편향과 무작위 불확실성을 구분한다.
  • 핀홀 역투영의 부분 분산을 단위/상관 가정과 함께 계산하고 결과의 유효 범위·제외 항목을 기록한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M02.03/04의 미분·분산, M12.02의 핀홀, M14.01/03의 프레임·시간이 선수다. 미분계수는 본문에서 다시 계산한다. M13·Kalman/EKF는 필요하지 않으며 기본 활동은 합성 기록의 종이 계산이다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

작은 잔차를 보기 전에 비교 조건을 맞춘다

영상 위에 예상 점이 잘 겹쳐도 좌표계나 시간이 잘못되면 로봇이 사용할 3차원 위치는 틀릴 수 있다. 따라서 먼저 어떤 점을 어느 프레임의 어떤 시각으로 바꾸었는지 확인한다. TF는 시간에 따라 프레임 사이의 관계를 제공한다. 카메라 optical 프레임의 취득 시각 t에 표현한 점을 base 프레임으로 바꾼다면 source는 optical, target은 base이며 그 시각을 포함하는 변환 경로가 필요하다. 최신 변환을 쓰는 것이 취득 시각의 변환을 쓰는 것과 항상 같지는 않다.

Jazzy tf2 공식 개념에 따라 데이터의 변환 방향과 프레임 자체의 배치 표현을 구별한다. 연결 경로·방향·프레임 이름과 시계/시각 범위를 확인하고, 중복된 발행이나 빠진 관계가 의심되면 값을 먼저 승인하지 않는다. 정적 장착 변환이 알려졌어도 이동하는 base와 세계 사이의 관계까지 정적인 것은 아니다.

재투영은 3차원 점을 카메라 모형으로 다시 영상에 옮기는 계산이다. 대응하는 실제 관측 픽셀과 비교하려면 영상 크기, raw/rectified 여부, 내부 행렬 K와 왜곡 모형, 점의 대응이 같아야 한다. OpenCV의 PnP가 사용하는 object→camera 변환을 반대로 넣거나, resize 전 K를 그대로 쓰면 잔차의 원인이 바뀐다. 잔차를 줄이기 전에 이 계약을 검사한다.

RMS라는 이름에도 분모와 단위를 붙인다

점 i의 관측 픽셀을 (u_i,v_i), 투영 픽셀을 (û_i,v̂_i)라 하자. 이 단위에서는 잔차 r_i=(u_i−û_i,v_i−v̂_i)를 관측−예측으로 정의한다. N은 대응 점 수다. 점당 유클리드 RMS와 좌표 성분당 RMSE를 다음처럼 구분한다.

Epoint=1N∑i=1N(ru,i2+rv,i2),Ecomponent=12N∑i=1N(ru,i2+rv,i2).E_{\mathrm{point}}=\sqrt{\frac{1}{N}\sum_{i=1}^{N}(r_{u,i}^{2}+r_{v,i}^{2})},\qquad E_{\mathrm{component}}=\sqrt{\frac{1}{2N}\sum_{i=1}^{N}(r_{u,i}^{2}+r_{v,i}^{2})}.

둘 다 pixel 단위지만 분모가 달라 같은 숫자가 아니다. 관측 두 점 (360,260)/(400,240), 투영 두 점 (361,258)/(397,244)이면 잔차는 (−1,2)/(3,−4) pixel이다. 제곱 거리 5와 25를 더해 30을 얻는다. 점당 RMS는 √(30/2)=약 3.873 pixel, 성분 RMSE는 √(30/4)=약 2.739 pixel이다. 평균 거리나 최대 거리 역시 별도 지표이므로 이름만 RMS라고 적지 않는다.

잔차가 작아도 물리적 m 단위 위치가 정확하다고 결론 내리지는 않는다. 잘못된 물체 크기나 제한된 관측 구성에서도 영상상 맞는 결과가 나올 수 있고, 보정에 사용한 점의 잔차와 독립 자료의 잔차도 다르다. 대응 수·제외 기준/이상치, fit 또는 독립 검증인지와 깊이·각도 범위를 함께 남긴다. 픽셀 오차를 일정 비율로 곱해 모든 거리에서 같은 m 오차로 바꾸는 것도 부적절하다.

시간 편향의 방향을 먼저 계산한다

optical 축의 X는 오른쪽, Z는 전방이라고 하자. 왜곡/회전 없이 깊이 Z=1 m가 일정하고 점의 상대 속도 v_x=0.2 m/s, 가로 초점거리 f_x=400 pixel이다. 같은 시계에서 δt=t_used−t_image를 사용한 상태 시각과 영상 취득 시각의 차이로 정의한다. 그러면 예측 위치 차이 ΔX=v_xδt, 가로 투영 차이 Δu=f_xv_xδt/Z다.

δt=+0.05 s면 ΔX=+0.01 m, Δu=+4 pixel이다. 영상 시각의 X=0.1 m와 c_x=320 pixel이면 u=360이고, 늦은 상태의 X=0.11이면 예측 u=364다. 앞 절의 잔차는 관측−예측이므로, 이 시간 편향만 있는 경우 잔차 가로 성분은 −4다. Δu와 잔차의 정의를 혼동하지 않는다. δt가 음수이면 예측 차이의 부호도 바뀐다.

이미 알려진 50 ms offset은 보정하거나 남은 편향으로 보고한다. 이를 근거 없이 평균 0인 잡음의 표준편차에 섞어 적으면 원인을 숨긴다. 반대로 offset을 고쳤다고 시간 추정의 남은 변동까지 0이 되는 것은 아니다. 다른 시계·노출 시간·rolling shutter·6자유도 운동은 이 간단한 식 밖의 문제다. 기존 4.4 시간 정합의 기록과 연결해 가정을 확인한다.

픽셀과 깊이의 흔들림을 위치 분산으로 옮긴다

역투영 X=Z(u−c_x)/f_x에서 nominal은 계산을 전개하는 기준값이다. u=360 pixel, c_x=320 pixel, f_x=400 pixel, Z=1 m를 기준으로 한다. 작은 오차에 대한 민감도는 J_u=∂X/∂u=Z/f_x=0.0025 m/pixel, J_Z=∂X/∂Z=(u−c_x)/f_x=0.1이다. 첫 값은 픽셀이 조금 변할 때 위치가 얼마나 변하는지, 둘째는 깊이 변화가 X에 얼마나 전달되는지 나타낸다.

σ는 표준편차, σ²는 분산이다. σ_u=1 pixel, σ_Z=0.02 m이고 두 작은 오차가 평균 0이며 독립이라고 가정하자. 여기서는 c_x/f_x와 TF를 정확히 알려진 상수로 두는 부분 예산이다. 1차 근사로 분산을 계산한다.

σX2≈Ju2σu2+JZ2σZ2+2JuJZCov⁡(u,Z).\sigma_X^2\approx J_u^2\sigma_u^2+J_Z^2\sigma_Z^2 +2J_uJ_Z\operatorname{Cov}(u,Z).

독립이면 공분산 Cov(u,Z)는 0이므로 (0.0025)²×1²+0.1²×0.02²=0.00000625+0.000004=0.00001025 m²다. 제곱근을 취하면 σ_X≈0.003202 m, 약 3.20 mm다. 표준편차 1 pixel과 0.02 m를 직접 더하지 않고, 민감도로 같은 출력의 분산 단위에 옮기는 이유가 여기에 있다. 상관이 미상인 경우 공분산을 0으로 정할 근거는 없다. 공분산의 단위는 pixel·m이며 교차항도 m²가 된다.

알려진 offset을 보정한 뒤 남은 시간 오차의 σ_t=0.01 s가 두 입력과 독립이라고 추가로 주어지면, 제한 모형의 위치 분산에 v_x²σ_t²=0.000004 m²를 더한다. 합은 0.00001425 m², 표준편차는 약 3.775 mm다. 이는 정해진 모형/포함 항목에 대한 계산이지 TF나 초점거리까지 포함한 전체 정확도 성적표가 아니다.

NIST의 불확실성 전파 설명처럼 민감도는 기준점에서 평가하고 공분산을 고려한다. 큰 비선형 변화나 잘못된 대응/단위·TF는 작은 오차의 1차 근사로 해결하지 못한다. 표준편차를 최대 오차나 보장 범위로 읽지 않으며, 분포/추정 조건 없이 95% 구간이라고도 부르지 않는다. 입력의 σ를 무엇으로 추정했는지 모르면 계산 결과의 신뢰도도 미상으로 남긴다.

수치와 함께 다시 판단할 근거를 남긴다

기록에는 source/target과 변환 방향·취득 시각/시계, K/왜곡·영상 크기와 보정 버전, 대응 자료 ID와 잔차 부호/집계 분모·단위를 적는다. 불확실성에는 기준값·σ 또는 공분산, 변수 순서/프레임·단위와 상관 가정, 추정 방법/표본 근거, 제외한 항목을 적는다. 동일한 3 mm라도 한 값은 반복 관측의 퍼짐이고 다른 값은 위의 부분 전파 계산일 수 있다. 합성 수치인지 실제 관측인지도 구별한다.

미상은 0으로 채우지 않는다. 프레임/시각 계약이 깨지면 큰 σ를 붙여 승인하기보다 입력을 보류하고 원인을 확인한다. 기존 4.3 TF와 선택 투영/시간 개념 모형은 보충 자료다. 위젯은 고정 Z/상대 X속도·같은 시계의 투영만 보여 주며 전체 불확실성이나 Kalman/EKF를 계산하지 않는다. 아래 활동은 위젯 없이 완료한다.

관련 기존 자료 · 보충해서 읽기

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    4.1 핀홀 카메라와 좌표 프레임

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    4.3 TF2 트리 설계

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    4.4 멀티레이트 센서 시간 정합

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    4.7 Rerun 기반 무결성 검사

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    4.9 트러블슈팅

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 요약 레슨 · 관련 기존 자료 · 보충 참고

    TF2 프레임 계약과 timestamp

    목표 일부 관련

    핵심 요약 레슨입니다. 자세한 유도·수식·코드는 연결된 상세 본문을 함께 읽으세요.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

입력은 본문의 두 관측/투영 점, 시간 모형과 기준 역투영/σ 자료다. 모두 합성이다. TF는 optical→base를 영상 취득 시각에 요청할 계획이며, 수신 시각의 최신 변환으로 바꾸자는 제안이 들어왔다.

  1. 제안의 확인 조건을 적고 관측−예측 잔차와 두 집계값을 계산한다. 영상/보정 자료도 무엇을 맞춰야 하는지 적는다.
  2. +50 ms 차이에 대한 ΔX/Δu와 잔차 부호를 계산한다. 알려진 offset과 보정 뒤 남은 σ_t를 다른 열에 기록한다.
  3. σ_u/σ_Z만의 σ_X를 계산한 뒤 독립 σ_t를 추가한다. 각 단위·상관/근사 가정과 포함하지 않은 항목 두 가지 이상을 기록한다.

관찰은 계약/잔차, 시간 편향, 부분 불확실성으로 나눈다. 실패하면 프레임과 시계를 먼저 확인하고 제곱합의 분모, 분산의 m²와 표준편차의 m를 구분한다. 실제 센서나 보정 실행은 필요하지 않다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

관련 기존 자료 · 보충해서 읽기

  • 코드·원본 파일 · 관련 기존 자료 · 보충 참고

    04_sensor_data_pipeline/code/rerun_integrity_check.py

    목표 충족 범위 없음

    파일 열람은 코드 실행·실습 완료를 뜻하지 않습니다.

  • 코드·원본 파일 · 관련 기존 자료 · 보충 참고

    04_sensor_data_pipeline/code/ros2_jazzy/sensor_pipeline/sensor_pipeline/static_camera_tf.py

    목표 충족 범위 없음

    파일 열람은 코드 실행·실습 완료를 뜻하지 않습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

잔차 두 개가 (3,4)/(0,0) pixel이다. 점당 RMS와 성분 RMSE를 계산하라. optical 점에 최신 base 변환을 사용해 잔차가 작아졌다면 취득 시각의 위치가 검증됐는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

본문의 고정 Z/속도 모형에서 δt=−0.02 s다. ΔX/Δu와 이 원인만 있을 때 관측−예측의 가로 잔차를 구하라. 이미 알려진 시간 차이를 평균 0인 σ_t로만 기록해도 되는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

같은 기준점에서 σ_u만 2 pixel로 커지고 σ_Z=0.02 m는 같다. 독립이며 시간 항목은 제외한다. σ_X를 계산하고, 이 결과를 전체 위치 오차의 최대값으로 보고할 수 없는 이유와 기록할 가정을 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

관련 기존 자료 · 보충해서 읽기

  • 기존 요약 점검 · 관련 기존 자료 · 보충 참고

    움직이는 카메라 영상의 월드 투영에 쓸 TF 시각은?

    목표 일부 관련

    선택 정답만으로 독립 수행을 보장하지 않음

    기존 교재 해설·평가 기준을 참고할 수 있습니다. 답안 평가 후 화면의 비교 항목도 확인하세요.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

선택 보충 · 핀홀 투영과 시각 차이

optical 좌표의 x 오른쪽·y 아래·z 앞을 사용합니다. 점은 Z>0이며 상대 x속도가 일정하고 두 시각의 깊이는 같습니다. 같은 clock에서 Δt>0은 나중, Δt<0은 이전 시각입니다. 왜곡 없는 핀홀의 연속 이미지 좌표를 계산합니다.

640×480 가상 이미지 · 왼쪽 위 (0,0), 오른쪽 u+, 아래 v+. 파란 원: 기준 시각, 주황 마름모: t+Δt. 점이 겹치면 마름모 안에 원이 보입니다. 프레임 밖 점·선은 그림에서 잘리며 수치는 제한하지 않습니다.

기준 투영 (u,v) = (360.0000, 260.0000) px · 프레임 안

t+Δt 투영 (u,v) = (364.0000, 260.0000) px · 프레임 안

부호 있는 Δu = 4.0000 px, ΔX = 0.0100 m. v의 변화는 0 px입니다.

축 깊이 Z = 1.0000 m. 기준 유클리드 거리 = 1.0062 m, 비교 거리 = 1.0073 m. 광선 거리와 z축 깊이는 같은 양이 아닙니다.

식·단위·프레임 경계와 검증 한계
u = fx·X/Z + cx, v = fy·Y/Z + cy
X' = X + vx·Δt, Y' = Y, Z' = Z
Δu = fx·vx·Δt/Z (px)
ΔX = vx·Δt = (Z/fx)·Δu (m)
range = sqrt(X² + Y² + Z²) (m)

X,Y,Z는 m, v_x는 m/s, Δt는 s, f_x,f_y,c_x,c_y는 px 단위입니다. f_x/f_y와 Z는 양수입니다. 픽셀당 m 비율 Z/f_x는 현재 깊이의 수평 방향에만 적용됩니다. 깊이를 모르면 픽셀 차이만으로 m를 확정할 수 없습니다.

프레임 안 규칙은 0≤u<640, 0≤v<480입니다. u=640 또는 v=480은 밖입니다. 밖에서도 수학적 투영은 유효하지만 실제 영상 픽셀을 선택할 수 있다는 뜻은 아닙니다. 반올림한 표시가 경계와 같아 보여도 판정은 반올림 전 값을 사용합니다.

두 clock의 오프셋 추정, 깊이 변화·6DoF 운동, 렌즈 왜곡·rolling shutter·가림·검출 오차는 포함하지 않습니다. 실제 CV·카메라·센서 실행이나 보정 결과가 아니며 관측의 타당성을 증명하지 않습니다.

이 선택 보충은 본문·실습·세 문항과 별도입니다. 조작은 답안·진도·학습 완료를 자동 저장하거나 변경하지 않습니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.