본문으로 건너뛰기

M15.04 · 스캔/특징 매칭·상대 이동·루프 폐쇄의 직관

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

전체 커리큘럼

학습 안내

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

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

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

학습 목표

  • 주어진 점·특징 대응에서 이동 방향과 잔차를 계산하고 대응의 가정을 설명한다.
  • 작은 pose graph의 누적 오차와 루프 제약에 따른 궤적 수정을 계산한다.
  • 작은 잔차와 올바른 장소 대응을 구분하고 초기값·이상치·루프 검증 근거를 제안한다.

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

권장 선수

M15.01~03의 상대 관측·파이프라인을 연결한다. 잔차와 제곱합, pose graph의 점과 연결선 및 기준 고정을 본문에서 보충한다. 기본 활동은 합성 점과 1D 궤적 계산이며 실제 ICP나 SLAM 최적화 실행이 아니다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

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

비슷한 모양을 찾는 것과 같은 물리점을 찾는 것은 다르다

스캔 매칭은 서로 다른 시점의 거리 관측이 공간에서 잘 겹치도록 상대 변환을 추정하는 과정이다. 특징 매칭은 영상 등의 국소 모양을 요약한 descriptor를 비교해 대응 후보를 만든다. 두 과정 모두 관측 간 연결을 사용하지만, 후보를 고르는 일과 그 후보에 맞는 이동을 계산하는 일은 구분해야 한다. 반복되는 문이나 기둥의 다른 점을 연결하면 계산이 정밀해도 물리적으로 틀릴 수 있다.

상대 이동은 두 시점 사이의 관계다. 어느 축의 점을 어느 축으로 옮기는지 정하지 않고 +0.4 m라는 숫자만 전달하면 반대 이동을 적용할 수 있다. 여기서는 회전 없는 같은 +x 방향의 1D 축에서 현재 점 b를 과거 축의 점 a로 옮기는 변환 a=b+t를 사용한다. 모든 좌표와 t의 단위는 m이고, 정적 환경·같은 물리점이라는 대응을 합성 입력으로 제공한다. 이 가정은 실제 센서가 자동으로 보장하는 것이 아니다.

잔차는 선택한 모델이 관측과 얼마나 어긋나는지다

과거 점 a=[0,2] m와 현재 대응점 b=[−0.4,1.6] m를 보자. 이동 후보 t에 대한 잔차 e_i는 현재 점을 옮긴 값에서 과거 점을 뺀 것이다. i는 두 대응점의 번호다. 제곱합 S는 두 잔차를 제곱해 더한 값이며 단위는 m²다.

ei(t)=bi+t−ai,S(t)=e1(t)2+e2(t)2.e_i(t)=b_i+t-a_i,\qquad S(t)=e_1(t)^2+e_2(t)^2.

t=0이면 잔차가 둘 다 −0.4 m이므로 S=0.16+0.16=0.32 m²다. t=0.4 m이면 두 잔차가 0이고 S=0이다. 현재 점에 +0.4 m를 더하면 과거 점이 복원되므로 이 후보가 주어진 대응에 맞는다. 로봇이 앞으로 이동해 현재 축에서 물체가 뒤로 보인 상황과 일관된다. 다만 작은 잔차는 선택한 대응과 모델 안에서의 적합도다. 다른 물리점을 대응시킨 경우까지 참이라고 인증하지 않는다.

둘째 현재 점만 1.0 m로 바뀐 변형을 보자. 첫 쌍은 t=0.4 m, 둘째 쌍은 t=1.0 m를 요구하므로 동시에 잔차 0으로 맞출 수 없다. 동일 가중 제곱합을 최소로 하는 평균 이동 t=0.7 m에서는 잔차가 +0.3, −0.3 m이고 S=0.18 m²다. 둘째 대응이 잘못되었다는 별도 근거가 있다면 첫 쌍만의 t=0.4 m가 더 타당할 수 있다. 두 쌍만 보고 어느 쪽이 원인인지는 확정할 수 없다. 평균을 내면 오차가 자동으로 없어지는 것이 아니라 충돌하는 제약 사이에서 타협한 것이다.

ICP는 대응과 변환을 번갈아 개선한다

ICP는 Iterative Closest Point의 약자로, 초기 변환에서 가까운 점 등의 대응을 정하고 그 대응의 오차를 줄이는 변환을 찾는 과정을 반복하는 계열이다. Rusinkiewicz와 Levoy의 저자 논문은 점 선택, 대응, 가중, 이상 대응 제거, 오차 척도와 최소화 등 여러 선택이 결과에 영향을 준다고 설명한다. 위 두 점 계산은 대응이 이미 고정된 이동 추정만 보여 주며 ICP 전체를 실행한 것이 아니다.

초기 위치가 너무 다르면 가까운 점이 다른 물체일 수 있다. 겹치는 영역이 적거나 긴 평면만 보이면 어떤 방향의 이동을 구분할 근거가 약해진다. 이전 이동 추정과 센서 보정은 초기 후보를 만드는 데 도움이 되지만 그 자체도 틀릴 수 있다. 반복을 더 오래 수행하거나 점 개수를 늘리는 것만으로 잘못된 대응이 반드시 해결되지는 않는다. 점과 평면의 거리 등 다른 오차 척도도 있으므로 여기의 점 간 제곱합을 모든 구현의 공식으로 쓰지 않는다.

영상 특징에서도 descriptor 거리가 작다는 것은 정한 표현에서 비슷하다는 뜻이다. 여러 점이 하나의 강체 이동과 투영 기하에 함께 맞는지 검사하고 이상치를 배제해야 한다. 유리 반사나 움직이는 물체, 반복 무늬는 거짓 대응을 만들 수 있다. 최종 잔차뿐 아니라 사용한 대응 수와 분포, 제거한 관측, 초기값, 변환 방향과 불확실성을 기록한다. 비교할 때는 같은 대응 집합과 오차 정의인지도 확인한다.

루프 폐쇄는 과거와 현재를 다시 묶는 제약이다

pose graph에서는 각 시점의 위치·방향이 점이고, 두 시점 사이의 관측된 상대 이동이 연결선이다. 이 점은 지도상의 장애물 점이 아니라 로봇 pose라는 차이가 있다. 가까운 시점의 이동을 계속 누적하면 오차가 쌓여 출발점으로 돌아와도 추정 끝점이 어긋날 수 있다. 과거 장소를 다시 관측하고 상대 관계를 검증해 연결하는 것이 루프 폐쇄다. 같은 장소에서 다른 방향으로 보았다면 단순히 두 pose를 같다고 놓지 않고 실제 상대 위치·방향을 사용해야 한다.

루프 폐쇄는 새 제약이다: 연속 이동 제약 → 누적된 궤적 → 과거 장소 재관측 → 추가 제약/최적화.그림 원본 크기로 보기

그림 M15.04-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

작은 수치 예는 방향이 고정된 1D에서 시작 x_0=0 m를 기준으로 둔다. 관측된 두 이동은 d_01=+1.0 m와 d_12=−0.8 m다. 그대로 누적하면 x_1=1.0 m, x_2=0.2 m다. 이제 마지막 pose가 시작과 같은 위치라는 제약 x_2=x_0=0을 정확한 합성 입력으로 제공한다. 실제 루프 관측은 불확실하지만 이 예에서는 오차가 어떻게 분배되는지 보기 위해 정확하다고 정한 것이다.

기준 x_0와 끝 x_2를 고정하고 두 이동 잔차에 같은 가중치를 주면 남은 x_1을 고른다. 이동 잔차는 추정한 이동에서 관측 이동을 뺀 값이다. x_1=1.0이면 첫 잔차 0, 둘째는 −1.0−(−0.8)=−0.2 m라 제곱합 0.04 m²다. x_1=0.9이면 첫 잔차 −0.1, 둘째도 −0.1 m라 제곱합 0.02 m²로 작아진다. 대칭인 두 제약이 같은 양을 나누어 부담한 결과다.

이를 식으로 쓰면 S(x_1)=(x_1−1)²+(0.8−x_1)²=2(x_1−0.9)²+0.02이므로 최소는 x_1=0.9 m다. 이 식은 좌표를 m 단위 수치로 넣은 표현이다. 수정 이동은 +0.9 m와 −0.9 m이고 끝점은 0이다. 모든 pose에 같은 −0.2 m를 더하는 것과 다르다. 전체를 평행 이동하면 시작도 −0.2 m로 바뀌고, 처음과 끝 사이의 0.2 m 차이는 여전히 남는다.

포즈 그래프의 루프 연결. 숫자는 시간 순서의 pose 노드다. 주황 점선은 마지막 관측과 과거 장소 사이에서 검증한 추가 제약을 뜻한다. 그림은 참 궤적/최적화 결과가 아니며 잘못된 루프도 생길 수 있다.그림 원본 크기로 보기

그림 M15.04-2. 숫자는 시간 순서의 pose 노드다. 주황 점선은 마지막 관측과 과거 장소 사이에서 검증한 추가 제약을 뜻한다. 그림은 참 궤적/최적화 결과가 아니며 잘못된 루프도 생길 수 있다. 직접 제작.

제약의 신뢰와 잘못된 루프를 함께 생각한다

실제 최적화는 보통 루프도 오차가 있는 관측으로 취급하고 각 제약의 불확실성에 따른 가중을 사용한다. 더 신뢰하는 제약의 잔차를 크게 만들지 않도록 타협하므로 모든 이동에 항상 똑같이 오차를 나누지 않는다. Grisetti 등의 저자 튜토리얼은 관측 제약과 일관되는 pose 배치를 찾는 그래프 기반 접근을 설명한다. 본문 숫자는 그 구조를 단순화한 예이며 특정 패키지의 결과가 아니다.

반복된 복도를 시작점으로 잘못 인식해 x_2=0을 강제로 넣으면 틀린 지도를 매우 매끈하게 만들 수도 있다. 루프 후보의 유사도와 기하 검증, 다른 시점의 관측, 시간·외부 보정, 독립 위치 기준을 확인한다. 루프를 잠시 제외했을 때의 결과와 채택 후의 변형도 비교하되 모양이 예뻐졌다는 사실만으로 승인하지 않는다. 기존 4.3 TF2 트리 설계와 6.2 정량 진단로 좌표와 잔차 점검을 연결한다. 아래 계산을 완료해도 실제 데이터 연관이나 SLAM 정확도를 검증한 것은 아니다.

학습 범위와 한계

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

실습 필수

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

입력 A는 a=[0,2] m, b=[−0.4,1.6] m의 올바른 정적 대응이며 이동 후보는 t=0과 0.4 m다. B는 둘째 b만 1.0 m로 바꾼 자료다. C는 x_0=0, d_01=1.0, d_12=−0.8 m와 정확한 합성 루프 x_2=0, 동일 가중의 두 이동 잔차다. 실패 기록 D에서는 반복 문이 있는 두 장소가 같은 영상 유사도를 보였고 실제 장소 ID는 미상이다.

  1. A의 잔차·제곱합을 계산하고 B의 두 쌍이 요구하는 이동과 타협 이동의 잔차를 구한다.
  2. C의 누적 pose와 x_1=1.0/0.9 두 후보의 이동 잔차·제곱합을 비교한다. 전체 평행 이동으로 닫힘 오차를 없앨 수 있는지도 설명한다.
  3. D에서 후보를 확정할 수 있는지 판정하고 대응·루프 검증과 독립 기준을 제안한다. 합성 루프를 정확하다고 준 가정과 실제 관측의 차이를 적는다.

관찰 결과는 잔차 계산, 궤적 수정, 대응 검증으로 나눈다. 막히면 먼저 각 잔차를 '예측−관측'으로 쓰고 단위를 붙인다. 실제 ICP나 센서 프로그램은 필요하지 않다.

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

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

학습 범위와 한계

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

평가·해설 필수

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

확인 문제 Q1

현재→과거의 a=b+t 규약에서 a=[1,3], b=[0.8,2.8] m다. t=0과 t=0.2 m의 잔차·제곱합을 구하라. S=0이면 물리 대응도 반드시 참인가?

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

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

확인 문제 Q2

본문과 같은 정확한 1D 루프·동일 가중 조건에서 d_01=1.2, d_12=−0.8 m다. 누적 끝점과 수정 x_1, 수정 두 이동을 구하라. 모든 pose에 같은 값을 더하는 것과 어떻게 다른가?

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

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

확인 문제 Q3

반복 복도의 루프를 채택한 뒤 최적화 잔차와 지도 모양이 좋아졌다. 올바른 장소 재인식의 충분한 증거인가? 실패 가능성과 추가 검증을 설명하라.

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

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

학습 범위와 한계

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

참고 자료

학습 확인

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

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

학습 이동

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

전체 목차로 돌아가기 →

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