REMI Lab강의 노트

Radar Signal Processing R23

23장 사례: SAR despeckling

SAR 객체 탐지

SAR에서 표적을 찾을 때 광학 영상의 탐지기는 어디서 막히고, 고전 방법과 CNN은 무엇을 하는가?

광학 영상에서 잘 동작하던 객체 탐지 기술도 SAR에 그대로 적용하면 다음 문제에 부딪힌다.

  • speckle: 표적과 배경이 모두 알갱이 질감을 가져 경계가 흐리다. 전처리 없이는 CNN의 특징 추출 품질이 떨어진다.
  • 크기와 방향의 변화: 선박, 항공기 같은 표적은 방위 방향과 영상 기하에 따라 크기와 모양이 달라진다. 회전 불변 탐지기나 방향 예측이 필요하다.
  • 드문 라벨: SAR 라벨을 붙이려면 전문 지식과 비용이 많이 든다. 그래서 준지도 학습, 데이터 증강, 시뮬레이터가 만든 데이터가 중요하다(19장).
  • 강한 클러터와 간섭: 해면 클러터, 도시 산란, 기상 효과가 표적과 비슷한 강도를 가질 수 있다.

SAR에서 작은 표적(작은 어선, 드론)은 몇 픽셀에 불과해 탐지가 어렵다. 표준 앵커 기반 탐지기(YOLO, Faster R-CNN)는 큰 앵커를 기본으로 설계되어 작은 표적을 놓치기 쉽다. 대처 방법은 셋이다. FPN(feature pyramid network)은 고해상도 저수준 특징 맵에서 작은 표적을, 저해상도 고수준 특징 맵에서 큰 표적을 찾는다. 작은 앵커를 더하는 방법은 k-means 군집화로 SAR 표적 크기의 분포를 보고 8 × 8, 16 × 16 픽셀 앵커를 추가한다. super-resolution(SR) 전처리는 저해상도 SAR를 SR 신경망으로 높인 뒤 탐지기를 적용한다. SR + CFAR 처리는 원본보다 작은 표적의 탐지율을 크게 높인다.

항공모함(수백 m)부터 작은 배(10 m 미만)까지 한 영상에 함께 있으면 단일 크기의 탐지기는 성능이 떨어진다. 크기를 고려한 손실 가중치로 작은 표적의 손실을 더 크게 반영하거나, **다중 크기 test-time augmentation(TTA)**으로 여러 크기에서 탐지기를 적용한 뒤 앙상블한다.

SAR 선박 탐지에서는 선박의 방향(heading)이 탐지 확률을 바꾼다. 선박이 거리 방향에 수직(broadside)이면 반사가 강하고, 평행(endfire)이면 약하다. oriented bounding box(OBB) 탐지기를 쓰면 방향도 함께 추정해 여러 방향의 표적을 더 안정적으로 찾는다.

CFAR 기반 탐지: 선박 탐지의 예

14장의 CFAR는 SAR 선박 탐지의 고전적 기준선이다. 해면 클러터의 통계 분포(Weibull, K 분포)를 모델링해 적응 임계값을 정한다.

TCFAR=α⋅P^seaT_{CFAR} = \alpha \cdot \hat{P}_{sea}

P^sea\hat{P}_{sea}는 표적 둘레 해면 클러터의 국소 전력 추정값이고, α\alpha는 목표 false alarm 확률 PFAP_{FA}로 정해지는 임계 계수이다. 임계값이 국소 클러터 강도를 따라 저절로 오르내리므로, 클러터가 거칠어져도 false alarm 확률이 일정하다(constant false alarm rate).

해면 클러터는 바람의 속도, 파고, 입사각에 따라 통계가 바뀐다. 그래서 2차원 CFAR 윈도우를 충분히 크게 설계하거나 OS-CFAR를 써서 강건성을 높인다. 탐지 뒤에는 크기와 형태 특징을 쓰는 후처리로 false alarm을 지운다.

합성한 바다 장면에 CA-CFAR를 적용하면, 클러터가 지수 분포일 때는 false alarm 수가 설계값을 따르고 꼬리가 긴 K 분포일 때는 같은 α에서 false alarm이 훨씬 많다. 부두처럼 선박만큼 밝은 구조물은 어느 설정에서도 탐지된다. 그러나 부두와 육지 위의 탐지가 모두 밝은 구조물은 아니다. K 분포, 10⁻⁴에서 육지 위의 셀 8개 가운데 7개는 육지 경계에서 셀 6개 안쪽에 있다. 이들은 참조 셀 일부가 어두운 바다에 걸려 배경을 낮게 잡은 데서 생긴 클러터 경계의 false alarm이다(14장).

128 × 128 합성 장면이고, 2차원 CA-CFAR의 guard는 셀 2개, train은 셀 4개(참조 셀 144개)이며, 영상 가장자리에서 셀 6개 안쪽(점선)만 검사한다. 바다는 평균 강도 1에 single-look speckle(지수 분포)을 곱했고(K 분포에서는 모양 ν = 1.5의 감마 텍스처를 더 곱한다), 선박 셋은 평균 강도 40, 25, 6배, 부두는 20배, 오른쪽 육지는 3배이며, 강도는 −10…20 dB로 그렸다.

해 보기

  1. 클러터를 지수 분포로 두고 설계 false alarm 확률을 10⁻³과 10⁻⁴로 바꾸며 바다의 false alarm 수를 설계값과 비교하라.
    관찰

    바다의 false alarm이 셀 12개이고 설계값은 셀 12,191개 × 10⁻³ = 12.2개이다. 10⁻⁴에서는 셀 3개(설계 1.2개)이다.

  2. K 분포에서 같은 α의 false alarm 수를 확인하라.
    관찰

    같은 α = 9.51에서 바다의 false alarm이 셀 51개로 설계의 약 42배이다. 클러터 꼬리가 길면 CA-CFAR가 가정한 지수 분포가 맞지 않는다. 그래서 SAR에서는 클러터 분포를 Weibull이나 K로 모델링한다.

이 그림의 K 분포 텍스처는 픽셀마다 따로 뽑았다. 따라서 그림은 꼬리가 긴 강도 분포만 보이고, 실제 해면처럼 공간에 퍼진 텍스처는 보이지 않는다.

CNN 기반 탐지: YOLO와 Faster R-CNN

현대 SAR 객체 탐지는 대부분 CNN 기반의 one-stage나 two-stage 탐지기를 쓴다. YOLO를 SAR에 적용할 때는 넷을 바꾼다.

  • 입력 전처리: SAR 진폭을 로그 눈금으로 바꾼 뒤 [0,1][0, 1]로 정규화한다. 다중 편파 SAR는 채널로 쌓는다.
  • 앵커 재설계: SAR 표적(선박, 항공기)의 종횡비와 크기에 맞게 k-means 군집화로 앵커를 다시 정한다.
  • 회전 탐지기(RBox): 선박처럼 방향이 중요한 표적에는 회전 bounding box 예측으로 넓힌다. 각도 θ\theta를 회귀 대상에 넣는다.
  • 손실 함수: speckle 때문에 배경이 크게 흔들리므로 focal loss나 IoU를 고려한 손실로 불균형을 줄인다(18장).