SAR-NeRF 논문 링크: https://arxiv.org/abs/2307.05087
3D 렌더링을 하시는 분들이라면 NeRF 개념을 익히 들어보셨을 것 같습니다.
(만약 NeRF 개념을 처음 접하시는 분들이라면 https://velog.io/@yeomja99/%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0-NeRF-Representing-Scene-as-Neural-Radiance-Fields-for-View-Synthesis로 NeRF 개념을 보고 오시는 것을 추천드립니다.)
SAR-NeRF는 이름에서 알 수 있듯이 NeRF 개념을 SAR 렌더링에 도입하여 위성에서 쏘는 레이더의 방위각, 입사각에 구애받지 않고 원하는 방향에서의 SAR 영상을 렌더링 하는 기술입니다.
(NeRF의 개념(ray의 값을 더하는 개념)만 사용하지 개념 자체를 도입한 것은 아닙니다.)
SAR 영상은 레이더에서 쏜 신호가 반사되어 돌아오는 세기를 기반으로 시각화한 영상입니다. 그렇기 때문에 SAR 영상의 한 픽셀값을 구하기 위해서는 레이더를 쐈을 때 어딘가에 부딫혀 돌아오는 신호의 세기를 추론해야 합니다. 신호는 쏜 그대로 돌아오는 것이 아니라 중간에 에너지를 잃거나(감쇠) 반사되어 돌아옵니다.(산란) 이 때 SAR-NeRF의 AI 모델이 물체의 3차원 좌표와 레이더의 방향을 입력으로 받아 감쇠 계수, 산란 강도를 학습합니다.
앞서 말한 내용을 토대로 우리가 필요한 감쇠계수와 산란강도는 모델이 추론을 해주기 때문에 물체의 3차원 좌표와 레이더의 방향을 잘 정리해서 입력으로 넣어주면 됩니다.
그런데 물체의 3차원 좌표는 어떻게 구할 수 있을까요?

위성은 Va를 따라 움직인다고 가정할 때, 고도는 H가 되고 W와 Ls가 위성이 찍어내는 범위, 그리고 R이 slant range가 됩니다.
물체는 W, Ls, R 범위 내에 위치해 있기 때문에 사용자의 편의대로
W, Ls, R을 적절하게 쪼개서 공간을 샘플링하여
레이더의 방향에 있는 voxel의 감쇠 계수와 산란 강도를 추정하고
레이더 방향에 있는 감쇠계수와 산란강도를 더하면
SAR 영상 픽셀값을 추출하는 NeRF의 개념이 여기서 도입된 것입니다.

축을 레이더를 원점으로하여 재정의하면 위와 같이 적절한 voxel로 실세계를 표현할 수 있고 3차원 좌표로 접근이 가능하게 됩니다.
그래서 W를 Na개로, Ls를 Nr개로, r을 N_theta개로 샘플링하여 편리하게 3차원 좌표를 알 수 있게 됩니다. 그리고 각각의 index가 i, j, k로 설정됩니다. (샘플링 개수는 연구자 마음대로)
여기서 주의해야 할 점은 ray의 방향, 즉 카메라가 쳐다보는 방향을 고려한 NeRF의 개념이 도입되었기 때문에 마찬가지로 레이더에서 바라보는 방향에서의 3차원 좌표가 필요합니다.


m_i, p_j, q_k는 인덱스라고 보시면 됩니다.
그리고 해당 인덱스를 변화량과 곱하여 3차원 좌표를 추출합니다.
변화량은 이미지 딴에서 0, 1 픽셀에서 1, 1 픽셀로 이동했을 경우 변화량은 1이 됩니다. 마찬가지로 다음 voxel로 가기 위한 이동량이라고 봐주셔도 무방합니다. 그리고 인덱스에 변화량을 곱하고 방향성인 벡터까지 곱해주게 되면 우리가 원하는 voxel의 3차원 좌표를 알게 됩니다.
R은 transformation matrix로 실세계 좌표계와 레이더 좌표계 간의 변환을 시켜주는 매트릭스입니다. (rotated matrix입니다.)
식은 많이 복잡해보이지만 하나하나 따라오다보면 말 그대로 i, j, k는 알겠고, 레이더 방향에서 바라본 좌표값이 필요하기 때문에 rotation이 필요하군! 이라고 이해하시면 수식을 이해하는데 도움이 될 것 같습니다!

SAR 영상을 촬영할 때 레이더를 기울여서 쏘기 때문에 짧은 slant range와 긴 slant range가 생기고 그에 따라 입사각이 달라집니다.
이 때 긴 입사각이 theta_1이고 짧은 입사각이 theta_0이 됩니다. 따라서 레이더의 방향을 알기 위해 OH를 중심으로 (theta_1-theta_0) 만큼 rotation 시킵니다.

이렇게 3차원 좌표 v와 레이더의 방향 d를 입력으로 할 때,
감쇠계수 sigma와 산란강도 s가 나오게 됩니다.
이 때 감쇠계수는 복셀의 위치 정보만 사용하나 산란강도는 v, d를 모두 사용합니다.
왜냐하면 감쇠계수는 입력된 위치가 물체의 내부에 있다면 당연히 신호가 거의 감쇠될 것이고, 물체의 외부에 있다면 감쇠되지 않을 것이기 때문에 위치 정보만 알아도 충분합니다.
그에 반해 산란강도는 레이더의 방향에 따라서도 산란되는 양(수직으로 빡 들어가면 산란강도가 커지므로)이 달라지기 때문에 v, d 정보를 동시에 사용합니다.
사실 위에 간단히 적은 내용 외에도 논문에 더 많은 내용과 수식이 들어있으니 논문을 읽기 전에 가볍게 보시고 논문을 보시거나,
논문이 이해가 안 된다면 이 글을 읽고 다시 논문을 보시는 것을 추천드립니다.
SAR-NeRF를 이해하기 위해서 위성의 방위각, 입사각, slant range 등 다양한 요소를 공부하신 후에 이 논문을 읽으면 훨씬 이해하기 쉬우실 것 같습니다.
많이 부족하지만 리뷰 읽어주셔서 감사합니다.