비슷해 보이는 장소와 같은 장소를 나눈다
Loop Closure는 이미 방문한 장소를 다시 관측했을 때 과거와 현재의 상태를 연결하는 제약을 만드는 과정이다. 오도메트리 누적 오차를 줄일 기회를 제공하지만, 비슷한 복도/문/기둥을 같은 장소로 잘못 연결하면 전역 지도를 크게 왜곡할 수 있다. 장소 인식의 높은 유사도는 후보를 고르는 근거이지 물리적 동일성의 증명은 아니다. M16.04의 그래프에서 루프는 비교적 멀리 떨어진 시점의 변수를 묶는 관측 factor로 읽는다.
흐름은 후보 검색 →기하 검증 →상대 변환/불확실성 추정 →추가 여부 결정 →백엔드 최적화 →독립 일관성 확인이다. 영상 단어/학습 특징/점 군 서명 등으로 후보를 찾을 수 있지만 실제 대응의 공간 분포·프레임/스케일·시각과 기하가 맞는지 확인한다. 재방문 당시 가구가 바뀌거나 사람이 가렸다면 같은 장소여도 기하 검증에 실패할 수 있다. 후보를 많이 찾는 것과 올바른 제약을 만드는 것은 다른 성능이다.
틀린 루프는 지도 전체를 끌어당긴다
자체 1 차원 예제의 시작 x0=0m, 끝 x는 오도메트리 관측 10m/가 중 1을 가진다. 실제 종점도 10m라고 제공한다. 잘못된 루프가 끝이 시작과 같다고 주장하며 x=0m/가 중 9를 추가했다. 비용 J=(x−10)²+9x² 의 미분은 20x−20=0이므로 해 x=1m다. 내부 최적화는 정상적으로 비용을 줄였지만 참 종점에서 9m 벗어났다.
그림 M16.05-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.
x=1에서 오도메트리잔차 −9m·루프잔차 1m이고 전체 비용 81+9=90이다. 루프만 보면 1m로 그럴 듯해 보여도 정확한 장소를 찾은 것이 아니다. 잘못된 확신을 큰 가중치로 넣으면 다른 관측이 양보한다. 루프를 제외하면 제공오도메트리 의해 10m로 돌아가며 이 예제의 참값과 맞는다. 실제 궤적에서는 참값을 미리 모를 수 있으므로 제외 판정의 독립 기준이 필요하다.
대조예제에서 실제로 출발점으로 돌아왔고 오도메트리 10m가 누적 오차였다면 같은 관측 형식이 다른 물리적 의미를 갖는다. 그래프 의식만으로 어느 관측이 거짓인지 알 수 없다. 센서 원본·공간 기하·별도 위치 근거와 장면 상황을 함께 보아야한다. 임계값을 낮춰 모든 루프를 제거하면 거짓 루프는 줄지만 드 리프트를 잡을 기회도 사라진다.
강건화와 수락 정책을 구분한다
큰잔차를 완화하는 손실·전환 가능한 제약 등은 잘못된 루프의 영향을 줄이기 위한 장치가 될 수 있다. 하지만 반복 무늬가 다수의 작은 오 차 대응을 만들면 잔차 검사만 통과할 수 있다. 후보 점수·검증 유지 수뿐 아니라 위치 분포/기하퇴화·다른 센서/연속 관측과의 일관성을 검토한다. 문턱과 가중치의 변경이 평가 시퀀스 정답을 보고 맞춘 결과라면 독립 평가가 아니다.
수락 전후의 궤적 변화가 너무 크면 그 이유를 기록하고 자동 실행의 전제로 삼지 않는다. 최적화된 map 좌표가 바뀌어도 odom의 연속성이 필요한 제어 계약은 별개다. 지도 갱신 시 map→odom 같은 변환을 어떻게 전달하는지, 과거 경로/목표 좌표의 지도 버전을 어떻게 관리하는지 확인한다. 궤적 수정과 실제로 로봇이 움직였다는 사건을 혼동하지 않는다.
거짓 수락과 놓친 루프를 함께 센다
자체 평가 후보 20개 중 실제 재방문 8개가 있고 수 락 6개 중 정답 5개라면 TP5/FP1/FN3이다. 루프 정밀도 5/6≈83.3%, 재현율 5/8=62.5%다. 수락률 6/20=30%는 이 두 지표와 다르다. 후보 생성 단계 밖의 모든 재방문까지 평가하려면 분모를 새로 정의해야 한다. 궤적오차·지도 왜곡·실패 회복 시간·계산 비용도 함께 보아야한다.
복구에는 마지막 일관 지도/그래프 체크 포인트·원본 관측·수락/제외 이유·설정/버전이 필요하다. 문제가 생겼다고 증거를 삭제하지 않고 루프 포함/제외 실험을 같은 입력으로 비교한다. 재로컬라이제이션은 현재 위치를 기존 지도에서 다시 찾는 문제이며 루프와 관련되어도 같은 완료 사건은 아니다. M16.06에서는 이 전체 추정 파이프 라인을 장치별 지연/오차/실패를 포함해 벤치 마크한다.
검증 결과를 표로 남길 때에는 후보를 제안한 시각과 최종 수락 시각을 나눈다. 수락이 늦어지면 그 동안 사용한 지도와 이후 최적화된 지도가 다를 수 있다. 동일한 장소의 다른 계절/조명 관측과 반복 구조의 다른 장소를 모두 실패 시험에 넣어야 한다. 장소 이름을 알고 있다는 사실만으로 좌표 대응을 정답으로 주지 않는다.
사용자에게는 현재 추정의 기준 지도와 갱신 시각을 전달한다. 이전 버전에서 만든 경로를 현재 버전에서 실행할 경우 재검증이 필요한지 명시한다. 거짓 루프를 사후에 제거했다면 새 궤적뿐 아니라 원래 결과와 제거 근거도 보존해 보고한다. 원래 실패를 없애고 수정된 성공만 제시하면 재현 실험의 비교 조건을 잃는다.