Introduction
로봇이 네비게이션을 할 때는 Global goal이 필요합니다. 그러나 저자는 prior(예를 들어, 위성지도)를 믿을 수 없을 때, 어떻게 해야할지에 대해 얘기를 시작합니다. 저자는 이러한 central question을 정의합니다.
“어떻게하면 환경에 대해 정보가 제한적일 때, 근시안적 결정을 덜하게 할 수 있을까?”
저자들은 정보가 제한적인 상황을 현재 GPS 정보와 waypoint GPS 정보를 가진 경우로 두었습니다. 이때 전통적인 방버은 카메라와 LiDAR, odometry를 이용해서 metric cost map을 만드는 방식입니다. 하지만, 목표가 멀수록 큰 cost map을 유지하는 것은 어렵습니다. 또한 지도에 정보를 투영하기 위해서는 depth가 필요한데, depth는 멀어질수록 sparse해져서 유효 반경이 짧아집니다. 그래서 그 바깥은 fog of unknown space가 됩니다.
하지만 사람은 완벽한 지형 지도 없이도 시각적 정보만 가지고 장거리 전략을 정할 수 있습니다. 예를 들어, 아래 fig 1.을 보면 나무와 벽 사이의 틈을 갈 수 있음을 사람은 바로 알아챌 수 있습니다. 저자는 이러한 known/unknown 사이의 지역을 froniters라고 부릅니다. 그래서 affodable frontier는 시각적으로 열려 있어서, 그 지점과 그 넘어까지 갈 수 있는 frontier를 의미합니다.
저자들은 이러한 이미지에서 frontier를 파악하여 이를 장거리 planner에 사용하는 방식을 제안합니다. 자세한 내용은 method에서 다루겠습니다.

Problem Setup
먼저 쓰이는 용어를 먼저 좀 정의하겠습니다

\pi는 local policy로 현재 observation O를 primitive action A로 mappint해주는 policy입니다.
그리고 Cost Function

를 통해 planning을 계획하는데, 이는 horizion H에 의해 제한됩니다.
그래서 최종 목표는 path \xi를 만들어내는 것이고 아래와 같습니다.

Long Range Navigator (LRN)

local policy는 horizon까지만 planning을 합니다. 그러나 horizon 너머에 유용한 정보가 없는 것은 아닙니다. 지평선 근처에 있는 frontier state 모음(set)를 (f \in \mathcal{F}) 정의합니다. 이는 아래 Fig. 3.처럼 known/unknown space를 나눕니다.

저자들은 여기에 Optimal Substructure이라는 개념을 끌어옵니다. 이는 CLRS에서 동적계획법/탐욕법이 성립하는 조건으로 나오는 성질입니다. 쉽게 설명하자면, 최단경로 문제를 예를 들 수 있습니다. a에서 c로 가는 최단경로가 중간에 b를 지난다면, 그 경로의 a -> b 구간은 반드시 a에서 b로 가는 최단경로라는 것입니다.
그래서 논문으로 되돌아가면, 시작점에서 목표까지의 최적경로 위에 놓인 최적 frontier f^{*}[\latex]를 알고 있습니다. 그렇기에 local policy가 horizon까지 최적이라면, local policy가 f^{*}[\latex]로 계획하는 것이 전역최적으로 행동하는 것이라고 합니다.
affodable frotier를 state s로부터 구하려면 먼저 frontier의 value를 V(s, g, f)로 구할 수 있습니다. 그리고 이 V는 두가지로 분해됩니다. fig. 3.에서 나와있고, 아래 수식으로도 확인할 수 있습니다.

A(s, f)는 affordable score로 s에서 f까지 경로가 존재할 확률과 f에서 지평 너머의 먼 목표 g로 이어지는 경로가 존재한 확률을 곱한 것이다.
D(f, g_t)는 시각 t의 목표 g_t를 조건으로 하고, f에서 목표까지의 비용 추정이다.

LRN은 양방향(bi-level) 구조입니다. A(s)는 카메라에서 이미지 공간의 affordance로 가는 학습된 매핑이고(논문에서는 selective attention)이라고 부름. 그리고 D(f, g)는 목표 context로 frontier를 재점수화하는 과정입니다.
A. Learning Affordances from Unlabeled Videos
이제 학습 데이터를 취득하는 부분입니다. 필요한 데이터는 최종 도착한 곳이 좋은 frontier인 데이터입니다. 이를 위해서는, 정밀 위치추정이 필요없이 video tracker를 이용해서 영상를 거꾸로 돌리는 방식으로 데이터를 만들어줍니다.
마지막 프레임에서 카메라 바로 앞 지점들을 고르고, 이 점들을 시간 역방향으로 tracking합니다. 이렇게 따라가다보면 가려져서 안보이게 되는 순간, 직전 프레임의 그 픽셀 위치를 affordable frontier로 표시합니다. 즉, 목적지가 아직 눈에 보이는 가장 이른 시점을 잡아내는 것입니다.
heatmap은 affordable frontier는 -1, 궤적의 나머지 부분은 0, 그외 부분은 label 없음으로 처리하고 있습니다.
fig. 2에서 보이듯이 affordance backbone은 SAM2에 작은 deconv decoder를 붙여, MSE+L2 regularization으로 학습시킵니다.
B. Goal Conditioning
A에서 얻은 heatmap을 결국 방향으로 바꾸어줘야 합니다. 먼저 카메라마다 heatmap을 intrinsics을 이용하여 각도 bin에 투영합니다. 각 bin의 점수는 그 bin에 떨어지는 heatmap 값의 합입니다.
이때 추가적으로 3가지 처리를 합니다
1. 특정 threshold 이하인 bin은 0으로 제거합니다.
2. 여러 카메라가 겹쳐보는 bin은 최대값을 사용합니다.
3. 그리고 정규화를 해줍니다.

추가적으로 EMA를 적용하여, 특정 프레임에서 점수가 튀는 것을 막아줍니다.
그리고 목표 방향과 직전에 선택했던 방향에 대해 gaussian score를 정의합니다. EMA와 유사하게 이는 각 점수가 튀는 것을 막아줍니다. 이렇게 얻은 값들을 전부 곱하여 최종 v를 얻어냅니다

결국 가장 점수가 높은 각도가 선택됩니다.
Experiment
LRN Training
Spot(사족보행 로봇)은 두개의 semi-urban환경에서 Insta360 카메라로 54분간 걸으면서 촬영하였습니다. 영상은 2분 단위로 쪼개어서, auto labeling하여 92711개의 heatmap labeling된 데이터를 확보했습니다.
Racer Heavy(실외차량)은 이전에 사람이 labeling해 놓았던 데이터를 사용했습니다. 1901개의 라벨링된 데이터를 사용하였고, california oak savanna에서 촬영되었다고합니다. 그리고 test때 사용한 것과 다른 종류의 차로부터 수집되었다고 합니다. 사람이 labeling하였기 때문에, 가능한 affodance 경로를 다 labeling하였고, positive/negative labeling까지 하였습니다. 그리고 augmentation(color jitter, sharpness, roatation, blur)을 적용하여, 11406개의 데이터로 늘려주었습니다.
Result
실험은 사족보행 로봇(spot)과 실외차량(racer heavy) 두개로 진행하였습니다.
그리고 저자는 3가지 질문을 정의합니다
Q1. LRN의 중간 affordance 표현이 다른 방식보다 더 효율적인 네비게이션을 하는가?
Q2. affordance를 잘하면 system의 성능이 연고나되어 있는가?
Q3. LRN이 OOD 상황도 처리할 수 있는가?


먼저 Q1에 대한 실험입니다. Fig. 7에서 Goal Heuristic은 cost map 가장자리에서 목표에 가장 가까운 곳으로 직진하는 방식이고, Trav. Depth는 멀면서 통행가능한 곳이 hotspot이라는 직관으로 trav와 depth를 정규화하여 곱하는 방식입니다. 그리고 NoMaD는 E2E 학습을 통해 planning을 하는 방법입니다.
Spot(4족로봇)으로 실험했을떄 LRN은 Dump와 Night에서 모든 지표로 Goal Heuristic을 앞섰습니다. 주목할만한 점은 LRN만 개입이 0회였습니다.
Racer Heavy(실외차량)에서는 LRN이 속도가 제일 빠르면서 개입도 0이였습니다. LRN은 frontier를 잘찾아 나무를 우회해서 주행했지만, 마지막에 남쪽으로 경로를 벗어났습니다. 저자는 거리와 무관하게 목표 가중치가 일정하기에 그런것 같다고 얘기합니다.

Q2.에 대한 실험입니다. 위 fig. 9는 threshold를 0에서 1.0까지 바꿔본 실험입니다. 0에서는 전부 affordable하여 직진하다가 실패하고, 1.0에서는 frontier를 잘 찾지 못했습니다. 위 그래프는 heatmap threshold를 통해, affordance를 잘 구하면 결국 이동을 더 적한다는 것을 보여줌으로써, affordance가 system 성능에 영향을 미친다는 것을 보여줬습니다.
Q3.에 대한 실험입니다. Racer Heavy는 해당 차량이 아닌 다른 차량의 카메라로 학습하였고, Spot는 주간 사람 보행 데이터로 학습하였는데 야간에서 잘 작동한다는 것을 통해 일반화 성능을 가지고 있다고 주장하였습니다. 그리고 이를 SAM2(mobileSAM)의 일반화 덕분이라고 보고 잇습니다.
Limitation
- LRN은 depth를 사용하지 않기에, 각도를 이용해서만 결정합니다. 이는 거리가 고려되지 않기에, 목표 heading에서 같은 각도지만 실제 거리가 다를 때 문제가 발생합니다.
- 두 방향 사이 점수가 조금만 흔들려도 왔다갔다한다고 합니다. 도입한 EMA와 gaussian이 불충분하다고 얘기합니다.
- 결국 heuristic이란 것 자체가 한계라고 얘기하고 있습니다. 그렇기에 정보가 더 제한적인 환경(자체의 높이가 낮거나)에서 더욱 성능을 보이기 어려워보입니다.
리뷰 잘 읽었습니다. 논문에서의 LRN은 metric map을 직접 확장하는 대신 visual affordance를 이용해 long-range navigation을 수행하는 것 같습니다.
그런데 depth나 metric geometry를 사용하지 않다보니, 서로 비슷한 heading에 있지만 실제 거리나 구조가 다른 frontier를 구분하기 어렵고, temporal stability나 goal conditioning도 EMA나 Gaussian prior 같은 heuristic에 상당히 의존하는 것 같습니다.
이후 연구에서는 visual affordance의 장점은 유지하면서 geometry나 learned temporal planning을 함께 활용하는 방향으로 발전하는 시도가 있나요?
안녕하세요 정우님, 좋은 리뷰 감사합니다.
비디오를 역방향으로 트래킹하여 목적지가 가려지기 직전 프레임을 affordable frontier로 라벨링한다고 이해했는데, 이때 역방향 트래킹 시 occlusion이 우연히 발생하거나 사람, 차량 등이 통로를 막을 경우 잘못된 라벨링 생성될 수도 있을 것 같습니다. 이러한 노이즈를 디코더 학습 시 MSE/L2 Regul 만으로 충분히 완화할 수 있는지, 아니면 별도의 label filter가 존재하는지 궁금합니다.