안녕하세요. 이번에 리뷰로 가져온 논문은 ICML 2026에 올라온 Plug-and-Play Label Map Diffusion for Universal Goal-Oriented Navigation이라는 논문입니다.
해당 논문의 핵심 아이디어 같은 경우는 지금까지 리뷰했던 논문처럼 어떤 navigation policy를 다루는 논문과는 거리가 살짝 먼데 간단하게 설명드리자면 로봇이 아직 관측하지 못한 map 영역을 diffusion model로 미리 예측해서, 기존 navigation strategy가 goal 위치를 더 잘 추론할 수 있도록 도와주는 plug-and-play map completion module을 제안한 논문이라고 보시면 좋을 것 같습니다.
기존 map-based navigation 방법론들이 semantic BEV map을 사용하긴 하지만, 로봇이 아직 보지 못한 가보지 못한 영역에 대해서는 정보가 없기 때문에 goal이 어디 있을지 잘 추론하지 못하는 문제가 있습니다. 그래서 저자가 제안한 방법론인 PLMD은 가보지 못한 영역인 unseen region에 대해 obstacle 정보와 semantic label 정보를 diffusion 기반으로 만들어서 Navigation을 수행하는 방식의 컨셉으로 이해하시면 좋을 것 같습니다. 자세한 내용은 아래 리뷰에서 다루도록 하겠습니다.
Introduction
기존 modular 기반의 navigation방법론 같은 경우에는 semantic map을 만들고 object 간의 관계를 기반으로 goal이 있을 만한 위치를 추론하고 해당 위치로 가기 위한 경로를 planning하는 식으로 동작하는데 이러한 방법론 같은 경우에는 semantic map에 의존한다라는 문제가 있습니다. 해당 map이 충분히 관측된 상황에서는 잘 동작할 수 있기는 하지만 초기 탐색 단계에서 map이 불완전하게 완성된 상황에서는 goal 위치를 안정적으로 추론하기 어려울 수 있습니다. 그래서 여기서 저자들은 아직 안 본 map 영역을 생성 모델로 채워보면 되지 않을까로 접근하였고 최근 diffusion 모델이이 이런 생성쪽에서 좋은 성능을 보여줬기 때문에 이를 semantic map 생성에도 활용하는 방식으로 해당 방법론을 제안을 합니다.
그리고 여기서 저자들은 단순히 semantic object label만 가지고 unseen region을 생성하지 않고 goal object의 semantic prior만 보는 것이 아니라, obstacle layout이나 free-space 구조까지 같이 조면서 unknown region을 더 그럴듯하게 완성하고자 합니다.

위 Figure 1을 보면 PLMD를 사용하지 않는 경우와 사용하는 경우를 비교해서 보여주는데 기존 방법론 같은 경우는 현재까지 관측된 semantic map만 보고 action을 에측하는데 여기에 PLMD를 붙이면 semantic map과 obstacle map을 기반으로 unseen region을 확장하고 그 안에서 goal 후보를 찾아 navigation strategy에 넘겨주는식으로 동작하게됩니다.
Method

먼저 로봇은 현재 RGB-D observation, robot pose, 그리고 goal 정보를 받습니다. 여기서 semantic labeling을 통해 semantic map을 만들고, obstacle labeling을 통해 obstacle map을 만듭니다. 이후 이 둘을 합쳐서 visualized label map 형태로 표현합니다. 그리고 아직 관측하지 못한 영역은 mask 처리합니다. 그 다음 diffusion model이 이 masked label map을 입력으로 받아 unseen region의 semantic label과 obstacle label을 예측합니다. 마지막으로 예측된 label map에서 goal object에 해당하는 pixel cluster를 찾고 이를 long-term goal candidate로 navigation strategy에 넘겨주는 방식입니다. 조금 추상적으로 설명하면 PLMD는 로봇이 현재까지 본 지도를 보고 아직 안 본 영역은 아마 이런 방 구조와 object 배치를 가지고 있을 것이다라고 상상해주는 모듈이라고 이해하시면 좋을 것 같습니다.
Label Map Construction
먼저 PLMD는 일반적인 semantic map만 사용하지 않고 Label Map이라는 표현을 사용하는데이 Label Map은 크게 두 가지 정보를 합친 건데 첫 번째는 object category를 나타내는 Semantic Map이고 두 번째는 occupied region과 free-space 정보를 나타내는 Obstacle Map을 합친걸로 이해하시면 좋을 것 같습니다. 기존 embodied navigation 방법들은 RGB-D와 pose를 이용해서 semantic point들을 3D로 프로젝션하고 이를 voxel grid나 BEV 형태로 누적해서 egocentric map 혹은 global semantic map을 만듭니다. 이 논문도 기존과 비슷한 map construction 과정을 기반으로 합니다. 그래서 앞서 만든 obstacle map과 semantic map을 fixed color palette로 시각화해서 diffusion 모델이 처리할 수 있는 image-like representation으로 만들어 줍니다.
Label Map Diffusion
다음으로 diffusion training 과정인데 저자들은 PLMD를 학습시키기 위해 로봇이 환경을 탐색하면서 얻은 label map observation pair를 수집했다고 합니다. 구체적으로 Frontier-Based Exploration 전략을 사용해서 여러 초기 위치에서 최대 500 step까지 탐색하고, 25 step마다 불완전한 map을 저장히고 이후 500 step에서 얻은 fully explored semantic map과 obstacle map을 학습 GT로 사용합니다.
결국 학습시 모델의 입력으로는 로봇이 초반에 일부만 관측한 불완전한 masked semantic / obstacle map이고정답값으로는 충분히 탐색한 뒤 얻은 complete semantic / obstacle map이라고 보시면 좋을 것 같습니다. 부분적으로 관측된 map을 보고 unseen region을 복원하는 방향으로 학습하도록 하는데 여기서 PLMD는 diffusion model을 하나만 쓰는 게 아니라, obstacle map network와 semantic map network를 분리해서 사용합니다. 먼저 obstacle map network를 학습해서 obstacle prior를 안정적으로 만들고, 그 다음 semantic map network를 학습할 때 obstacle map 정보를 condition으로 넣습니다. 이때 semantic denoising 과정에 obstacle 정보를 주입하기 위해 SPADE 기반 obstacle-aware feature modulation을 사용합니다.
이제 여기서 예측된 label map에서 goal object에 해당하는 pixel들을 찾고 예를 들어 goal이 chair면 predicted label map에서 chair color에 해당하는 pixel 좌표들을 모은다고 보시면 됩니다. 그런데 여긱서 저자들은 diffusion 결과에는 노이즈가 섞여있을 수 있으니 단순히 모든 goal pixel을 바로 goal로 쓰지는 않고 HDBSCAN clustering을 적용합니다. 이후 cluster density, cluster size, starting point와의 거리 등을 조합해서 가장 적절한 cluster center를 long-term goal로 선택해했다고 합니다. 논문에서 사용하는 score는 대략적으로 cluster density 50%, cluster size 40%, 시작점과의 거리 10%를 반영했다고 합니다. goal pixel이 많이 모여 있고, cluster가 크고, 너무 비현실적으로 멀지 않은 곳을 goal candidate로 선택하기 위한 설정이라고 합니다. 그리고 여기서 만약에 predicted label map 안에서 적절한 goal cluster가 발견되지 않으면 그냥 원래 navigation strategy를 그대로 실행한다고 합니다. plug-and-play 방식이기 때문에 사실 PLMD가 항상 action을 강제로 바꿀 필요는 없이 기존 strategy를 보조하는 형태로 동작하는 식으로 설계된거 같습니다.
Experiments
논문에서는 크게 세 가지 태스크에서 PLMD를 평가합니다.
- ObjectNav (ON)
- Instance-ImageNav (IIN)
- Multi-Robot ObjectNav (MRON)
데이터셋은 indoor scene인 HM3D v0.1, HM3D v0.2, MP3D를 사용하고, navigation 성능은 SR과 SPL로 평가합니다. 추가적으로 map completion 품질을 보기 위해 PSNR도 사용했다고 합니다.
SR은 성공률이고, SPL은 성공 여부에 path efficiency까지 반영한 지표로 보시면 됩니다. (goal을 찾았더라도 너무 비효율적으로 돌아가면 SPL은 낮게 나옴)
implement detail을 보면 PLMD는 Habitat simulator에서 256×256 obstacle/semantic map을 수집해서 학습하고, semantic segmentation tool로 RedNet을 사용했다고 합니다.

Table 1에서 PLMD는 여러 기존 navigation strategy에 plug-in 형태로 붙어서 ObjectNav, Instance-ImageNav, Multi-Robot ObjectNav에서 전반적으로 성능을 개선한 결과를 보입니다.
그리고 참고로 Table 1의 Training column에 대해서는 친절하게 따로 설명되어있지는 않지만 유추해서 적어보면 PLMD의 경우 Unseen region map completion module 자체는 로봇이 exploration하면서 얻은 partial/complete label map pair를 이용해 self-supervised 방식으로 학습되고 그리고 SSL+RL은 이렇게 학습된 PLMD를 RL 기반 navigation policy와 결합한 setting이라고 보시면 좋을 것 같습니다. 반면 SSL은 RL policy 없이 PLMD를 기존 modular navigation strategy에 plug-in 형태로 붙인 세팅인 것 같습니다. 그리고 제일 마지막 GT Label Maps같은 경우는upper bound 성능으로 보시면 좋을 것 같습니다.
그리고 또 참고로 위 PLMD 성능은 기존 map-based navigation strategy에 PLMD를 plug-in 형태로 붙인 결과인것 같은데 어떤 모델에 붙힌건지는 따로 자세히 나와있지 않아서 APPENDIX 실험을 보고 유추했을 때 ObjectNav의 경우 OpenFMNav/MCoCoNav 계열, Instance-ImageNav의 경우 IEVE, Multi-Robot ObjectNav의 경우 MCoCoNav와 결합해 성능을 리포팅한 것 같습니다. 결과적으로 PLMD를 적용하면 전반적으로 좋은 성능을 보인다라는 것을 보여주는 것 같습니다..


위는 diffusion 모델 베이스라인과의 비교 실험 결과 입니다. 저자들은 IR-SDE, StrDiffusion과 PLMD를 비교하는데 두 베이스라인 방법론 같은 경우에는 navigation task에서 obstacle map prior를 semantic denoising에 직접 활용하지는 않는다고 합니다.
Table 2를 보면 PLMD가 모든 지표에서 가장 높은 성능을 보입니다. 단순히 diffusion 모델을 navigation map의 특성에 맞게 obstacle structure를 명시적으로 활용하는 것이 중요하다는 점을 보여주는 결과 인거 같습니다.

Figure 4에서는 PLMD를 언제 실행하는 것이 좋은지 분석합니다. PLMD는 매 step마다 실행되는 것이 아니라, navigation step 100 이후부터 시작해서 이후 50 step마다 반복 실행됩니다. 논문에서는 이 설정이 여러 task에서 안정적으로 효과적이었다고 설명합니다. 너무 초반에 PLMD를 실행하면 관측된 정보가 너무 적어서 map 새성이 불안정할 수 있고 반대로 너무 늦게 실행하면 이미 unseen region이 많이 없는 상태라 PLMD의 이점이 줄어들 수 있습니다. 그래서 어느 정도 환경 정보를 모은 뒤, 주기적으로 unseen region을 예측해서 navigation strategy를 보조하는 방식이라고 보시면 좋을 것 같습니다.

먼저 obstacle map network를 제거하면 ON, IIN, MRON에서 모두 SR이 떨어집니다. 또한 obstacle map 자체를 사용하지 않아도 성능이 감소합니다. 이는 앞서 설명한것처럼 obstacle structure가 semantic map c예측에 중요한 prior로 작용한다는 것을 보여줍니다.
또 clustering을 제거했을 때도 특히 Instance-ImageNav에서 성능이 떨어지는 결과를 보입니다. 이건 diffusion이 만들어낸 goal pixel들이 항상 깔끔하게 하나의 영역으로 나오는 것이 아닐 수 있기 때문에 후처리로 cluster를 잘 잡는 과정이 중요하다라는 것을 보여주는 결과인 것 같습니다.

논문에서는 추가적으로 open-vocabulary goal에 대한 실험도 수행합니다. 여기서는 Grounded SAM을 사용해서 standard validation set에 포함되지 않은 lamp, toy car, microwave 같은 unseen category에 대해 평가했다고 합니다. Grounded SAM 기반 PLMD는 기존 PLMD와 baseline보다 더 좋은 성능을 보입니다.
근데 이 경우 total navigation time이 늘어나는 결과를 보이긴 합니다. 논문에는 저 total time이 한 step 기준인지 하나의 에피소드 기준인지는 설명하지는 않았지만 에피소드 기준으로 보입니다. 뭔가 확장 가능성은 있어보이지만 에피소드 하나 완수하는데 최대 500step 이라고 치면 1step당 최소 3초 이상이라는건데 segmentation 모듈이든 diffusion 모듈이든 연산량을 줄일 필요는 있어 보입니다.



Figure 7은 Multi-Robot ObjectNav에서 chair를 찾는 예시이고, Figure 8은 ObjectNav에서 bed를 찾는 예시입니다. Figure 9는 Instance-ImageNav 세팅에서 PLMD가 predicted semantic map과 label map을 생성하고, 이를 통해 로봇이 goal object로 이동하는 과정을 보여줍니다. 그리고 특히 Figure 8의 경우 step 100 이전에는 관측 정보가 부족해서 기존 navigation strategy만 수행하다가, step 100 이후 PLMD가 생성한 label map을 OpenFMNav의 ReasonLLM module이 활용해서 goal이 있을 가능성이 높은 frontier를 선택하는 흐름을 보여주는 예시라고 보시면 좋을 것 같습니다.
Conclusion
개인적으로는 해당 논문이 새로운 ML 알고리즘을 제안했다기보다는 기존 diffusion 기반 map 생성, obstacle-aware conditioning, 그리고 clustering 기반 goal proposal을 navigation setting에 잘 조합한 성격의 방법론인 거 같습니다. 그리고 PLMD가 여러 downstream navigation strategy에 plug-in 될 수 있다고 설명하지만 구체적으로 어떤 baseline에 어떤 방식으로 어떻게 결합한건지 디테일이 없어서 살짝 아쉽긴 한 것 같고 실험적으로는 3가지 task에서 성능 향상을 보이긴 하지만 실험 세팅에 대한 디테일도 자세하게 설명되어있지 않아서 살짝 아쉬운 부분은 있는 것 같습니다. 이만 리뷰 마치도록 하겠습니다. 감사합니다.
안녕하세요 우현님, 좋은 리뷰 감사합니다!
ICML 학회 참관 중이라, ICML 논문 리뷰가 눈에 띄어 읽게 되었습니다.
navigation task에 대해 깊은 이해가 없어, 많은 질문이 생기는데, 댓글로 남기겠습니다.!!
1 ) unknown region에 대해 diffusion 모델이 생성할 경우, goal을 향해 가면서, 추론하지 못한 object나, 방해물들이 있다면 어떤 방식으로 goal을 재조정 및 도달 하는지 궁금합니다.
2 ) 또한, 외부와 내부의 경우 diffusion 모델이 동일한 수준으로 생성하여, goal에 도달할 수 있는지 궁금합니다.
3) SPL이 table상 0.412 정도가 제일 높은 점수로 보이는데, SR에 비해 낮은 경향이 있는 것으로 보입니다. 이 점수가 어떻게 계산되며, 어느 정도 수치정도면 path가 효율적이라고 할 수 있는지 궁금합니다.
감사합니다.