Self-supervised Deep Learning 기반의 고해상도 위성영상 상호등록
논문 정보 | |
제목 | Self-supervised Deep Learning 기반의 고해상도 위성영상 상호등록 |
저자 |
김태헌1)·허재원2)·한유경3)
|
소속 |
Dept. of Civil Engineering, Seoul National University of Science and Technology
|
저널 |
한국측량학회지
|
주제 | 공학 > 건축공학 > 토목공학 |
논문제출일 | 2023.08 |
인용수 | - |
해당 논문 리뷰는 논문을 읽고 한국어 해석 + 부가 설명을 직접 추가하여 작성한 것으로
논문에는 없는 내용이 있을 수도 있으며
부정확한 내용이 있을 수도 있습니다 (..-_-..)
이번에 사진측량 수업을 듣다가
과제로 측량 관련 논문 리뷰를 해야했었다
사진측량이나 원격탐사에 대해 나는 잘 모르는데
(우리 지도교수님 전공이지만)
DeepLearning을 원격탐사나 측량 분야에서
이런 방식으로 사용하는구나를 파악하게 해준 논문이었다
위성영상을 이러한 방식으로 다루고 처리하는구나도
배울 수 있었어서 흥미롭게 읽었던 것 같다
그래서 논문을 읽은 내용을 정리해보려고한다
우선 해당 논문을 이해하기위해서 알아야하는 개념들이 있다
이를 조금 정리해보려고한다
1. MagicPoint
특징 지점(keypoint)를 감지하는 딥러닝 모델
2. Synthetic Shapes Dataset
진짜 위성이미지가 아닌 컴퓨터가 만든 간단한 이미지 데이터
동그라미, 삼각형, 사각형 같은 간단한 모양들이다
처음부터 복잡한 위성영상을 다루기 어렵기 때문에
MagicPoint는 이런 간단한 모양들을 보면서
keypoint를 찾도록 학습시킨 것이다
3. SuperPoint
MagicPoint를 더 개선해서 위성영상에서
정확하게 중요 지점을 찾도록 학습된 모델
4. pseudo label
딥러닝 모델을 학습시키기 위해서는
정답데이터가 필요한데 이러한 정답을 label이라고 부른다
이 논문에서는 딥러닝 모델을 사용해서
label data를 생성했는데
이를 pseudo label(거짓 라벨)이라고 부른다
초록 + 서론
위성영상은 영상을 찍은 시기나 각도에 따라
각각 다른 좌표점을 갖고있다
따라서 위성영상을 사용할 때는 이러한 좌표점을 통일시켜주는
전처리 작업을 수행해야하는데
이를 '상호등록(image registration)'이라고 한다
이러한 상호등록이 주로 어떤 방식으로 수행되냐하면
각 위성영상에서 동일 위치에 존재하는 '정합점(conjugate point)'를 찾아
그 정합점을 기준으로 좌표를 통일시켜준다
이러한 정합점을 찾는 방법에 따라
특징기반 정합기법, 영역기반 정합기법
2가지로 구분되는데,
특징기반 정합기법에서는
변위, 회전 등에 강한 특징점(feature point)와
이러한 특성을 서술하는 서술벡터(descriptor vector)를
이용하여 기하왜곡에 강한 정합점을 추출한다
따라서 이러한 정합점을 추출하는 과정에서
고차원 데이터의 특징점을 추출하는
CNN 기반의 deep learning 모델들을
사용하는 연구들이 진행되고있다
실제로 DeTone et al. (2018)은
대용량 데이터에서 생성된 pseudo-label을 이용하여
특징점과 서술벡터를 생성하는
self-supervised learning 방식의
SuperPoint 모델을 제안하였다
그러나 위 SuperPoint모델은
MagicPoint가 생성한 pseudo-label을 이용하여 학습했는데
MagicPoint는 단순한 모양으로만 구성된
Synthetic shapes dataset으로 학습된 모델이기 때문에
pseudo-label의 신뢰성이 떨어진다
데이터를 학습시킬 정답이 정확하지 못하면
당연히 모델의 정확성도 떨어질 수 밖에 없다
따라서 본 논문에서는 이러한 SuperPoint 모델의 단점을
개선한 방안을 제안한다
Synthetic shapes dataset으로만 학습된 기존 MagicPoint 모델에
고해상도 위성영상을 추가로 학습시켜 모델을 고도화했다
따라서 MagicPoint가 실제 위성영상에서
중요한 지점을 더 잘 탐지할 수 있도록 개선하였다
또한 Homographic Adaptation 과정을 통해
MagicPoint 모델이 간단한 데이터에서
복잡한 위성영상으로 넘어가는데에 잘 적응할 수 있도록 해주었다
workflow는 아래와 같다
연구 방법
전반적인 연구 방법은 아래와 같다
Synthetic shapes dataset으로 base detector 구축 ->
고해상도 원격탐사 오픈소스 데이터를 이용해 base detector 고도화 ->
신뢰도 높은 pseudo-label 생성 ->
SuperPoint 학습
1. Synthetic shapes dataset을 이용한 base detector 구축
encoder와 decoder로 구성되어
입력 영상에 대한 특징점을 추출하는 MagicPoint 모델을 사용했다
MagicPoint 모델의 구조는 위와 같다
2. Pseudo-label 생성을 위한 Homographic Adaptation
Synthetic shapes dataset으로만 학습된
MagicPoint를 사용하면
특정 기하조건 및 영상환경에 편향되어
특징점을 추출할 확률이 높아진다
이에 따라 다양한 기하학적 특성을 반영하는
pseudo-label을 확보하기위해 homographic adaptation을 이용한다
Homographic Adaptation이란
기하학적 특성이 다양하게 변형된 입력 영상 패치에서
추출된 특징점을 통합하여 pseudo-label을 생성하는 방법이다
사진의 크기를 늘리거나, 돌리거나, 기울이거나, 잘라서 변형하였고
이를 MagicPoint에 넣어서 특징점을 추출하였다
이렇게 찾아낸 특징점을 다시 원래 사진에서 위치로 바꿔줬는데
Eq.(1)을 통해 특징점을 추출하였고
Eq.(2)를 통해 특징점의 좌표를 원영상의 좌표로 복원하였다
변형된 사진을 만들어내는 모델인
homographic transformation model은
무작위로 생성되기 때문에 찾아낸 특징점을
원본 영상의 좌표로 복구시키는데에는 한계가 있다
따라서 이러한 문제를 해결하기위해
평균적으로 동일 위치로 복원되는 특징점들만 선정하였다
평균은 Eq.(3)과 같이 계산하였다
3. Base detector 고도화 및 pseudo-label 생성
homographic adaptation을 이용하여 학습을 시켰지만
synthetic shape dataset만을 이용해서 학습을 시켰기때문에
아무래도 고해상도 위성영상에 대해서는
신뢰도가 높은 pseudo-label을 생성할 수 없다
따라서 고해상도 위성 영상에 특화된 MagicPoint 모델을 만들기위해
self-supervised learning 방식을 사용하여
MagicPoint 모델을 고도화한다
우선 기존 Synthetic shapes dataset으로만
학습시킨 MagicPoint 모델을 바탕으로
pseudo-label을 생성한 뒤
초기 pseudo-label과 대응되는 오픈소스 데이터셋을 이용해
MagicPoint 모델을 개선한다
MagicPoint모델에서는 homographic adaptation을 함께 적용하여
입력 영상 패치에 대한 최종 pseudo-label을 생성한다
4. SuperPoint 네트워크 구축
SuperPoint 모델은 위와 같이
Encoder, Keypoint Decoder, Descriptor Decoder
세 가지로 구성되어있다
Vision 모델에서 Encoder의 역할은
큰 사진을 작고 간단한 정보로 요약하는 역할을 한다
SuperPoint의 Encoder는 VGG모델의 구조를 차용했는데
VGG는 사람의 뇌처럼 이미지를 처리하는 모델로
사진을 여러 layer들로 쪼개서 세부적인 정보를 뽑아낸다
예를 들면 어떤 사진에 대해서
첫 번째 층에서는 윤곽선을, 두 번째에서는 모양을,
세 번째에서는 패턴을 찾아내는 방식이다
따라서 이 Encoder 과정을 수행할 때
사진의 크기를 8배 줄였고
사진의 세부적인 정보(channel)을 증가시켰다
channel의 개념에 대해 잠깐 설명하자면
우리가 보는 사진은 RGB(빨강, 초록, 파랑)색
3가지 layer가 합쳐져서 보여지는 것이다
이에 특징 채널이라는 이미지의 새로운 정보를
담는 1개의 layer를 더 생성하는데
이를 channel이라고 부른다
Keypoint Decoder는 들어온 이미지에서
특징점이 어디에 있는지 찾아내는 역할을 한다
이 과정에서 softmax channel-wise 방식을 사용하는데
softmax라는 확률 계산 방법을 channel-wise(여러 채널에 각각 적용)
하는 방식으로 keypoint를 찾아낸다는 뜻이다
Descriptor Decoder는 특징점에 대한
정보를 담은 vector를 반환하는 decoder이다
이 과정에서 Bicubic Interpolation(쌍삼차 보간법)을 사용하는데
이는 사진을 확대 혹은 축소할 때
중간에 빈 칸이 생길 수가 있는데
이 때 주변 픽셀의 색상을 참고해서 알맞은 색상을 추가하는 기법이다
또한 L2-Normalization을 사용했는데
L2-Normalization은 정규화 기법 중 하나로
데이터셋의 사이즈를 일정 기준으로 맞추는 것이다
SuperPoint는 L2-Normalization을 통해
데이터셋을 256차원으로 정규화했고
256차원의 서술벡터를 반환값으로 얻는다
Keypoint decoder의 손실함수이다
Descriptor Decoder의 손실함수이다
Descriptor Decoder는 벡터간 positive margin과
negative margin을 최적으로 고려하는
hinge loss 방식을 계산한다
특성이 유사한 벡터들은 일정 거리(positive margin) 이내로 가까워야하고
특성이 다른 벡터들은 일정 거리(negative margin) 이상으로 멀어져야한다
이렇게 계산하는 방식을 hinge loss 방식이라고 하는데
이러한 방식으로 손실함수를 계산해서
모델의 오차를 줄여나가게 학습시킨다
또한, 서술벡터 특성이 유사하지 않은 조합이
보편적으로 많기때문에
loss함수에서 가중치를 둬서 조합 간 균형을 맞춘다
아래는 SuperPoint의 training process이다
Reference Image와 Sensed Image를 SuperPoint 네트워크에 넣는다
여기서 Reference image는 기준 영상인데
특정 위치나 특정 각도에서 촬영된
쉽게 말하면 정답 영상같은 느낌이다
Sensed image는 reference image와 동일한 지역을
다른 각도 또는 다른 위치에서 촬영하거나
혹은 해상도, 노이즈, 색감이 다를 수 있는 데이터이다
이 두 영상을 각각 SuperPoint 네트워크에 넣고
각각 Keypoint Detection과 Descriptor Extraction을 수행한다
또한 각각의 과정에서 loss를 계산한다
Keypoint Detection에서 loss는
SuperPoint가 검출한 keypoints가
정답으로 넣어준 pseudo-label과 얼마나 잘 맞는지를 계산한다
Descriptor Extraction에서 loss는
Referenced와 Sensed에서 검출된 서술 벡터 간 거리는 계산해서
같은 특징점은 비슷한 서술벡터로
다른 특징점은 서로 다른 서술벡터로
학습되도록 설계했다
전체 training 구조는 다음과 같다
1. Reference Image와 Sensed Image가 각각 SuperPoint 네트워크를 통과
2. 각 이미지에서 keypoints와 descriptor(서술벡터) 추출
3. pseudo-label을 기반으로 detector loss를 계산
4. referenced image와 sensed image 간의 서술 벡터 유사성을 평가하여
descriptor loss를 계산
5. 위 2가지 loss를 최적하하여 SuperPoint 모델을 학습
실험 대상지 및 자료
대전 지역을 실험지역으로 선정하고
고해상도 KOMPSAT-3 광학영상을
실험데이터로 이용하였다
MagicPoint 학습에는 Synthetic shapes dataset을 이용하였으며
MagicPoint 고도화 과정에는 변화탐지를 목적으로 구축된 고해상도 원격탐사 오픈소스 데이터인
SECOND(Yang et al., 2021), S2Looking(Shen et al., 2021), LEVIR-CD(Chen and Shi, 2020)
그리고 CLCD datasets(Liu et al., 2022)이 활용되었다.
마지막으로 random sampling을 통해
KOMPSAT-3 기준 및 입력영상에 대해
영상패치를 생성하였으며
각 영상패치 간 중첩도는 30% 이하이다
영상 패치에 대한 개념을 잠깐 설명하자면
전체 이미지는 보통 크기가 크고
모든 영역을 한 꺼번에 처리하면 계산량이 많아지기때문에
작은 단위인 patch로 나누어서 처리한다
이렇게 하면 계산의 효율성도 증가하고
이미지의 특징적인 부분을 잘 찾아낼 수 있다
실험 결과 및 분석
MagicPoint 모델과 SuperPoint 모델을 학습시킬때
사용한 hyper parameter는 아래와 같다
제안된 SuperPoint 모델에 대한 성능 평가는
1. Lowe et al. (2002)이 제안한 SIFT
2. MagicPoint 고도화 작업이 없었던 기존 SuperPoint 모델
을 중심으로 진행하였다
기준 및 입력영상 간 중첩지역을
500 x 500 pixels 크기의 영상패치로 분할한 후
각 영상패치에 각 기법들을 적용하여
keypoint와 서술벡터를 추출하였다
서술벡터간 유사도를 비교한 후
RANSAC 방식을 통하여 outlier를 제거하였다
위의 과정을 모든 영상패치에 적용한 후
추출된 정합점을 원본 영상의 좌표로 복원한 후
다시 RANSAC 작업을 통해 outlier를 제거하고
최종적으로 정합점을 추출하였다
각각의 모델에서 추출된 정합점을 기반으로
piecewise linear 변환 모델을 이용하여
상호등록을 수행하였으며
좌표점이 맞추어진 영상들을 이어붙여
모자이크 영상을 생성하였다
(1)과 (2)번 모델을 사용한 것은
모자이크 영상 간 이격이 간헐적으로 존재하였지만
본 논문에서 제안한 (3)번 모델은
모자이크 영상간 지형지물이 일관적으로 표현된 것을 확인했다
정량적인 평가 지표를 위해서 추출된 정합점을 기반으로
상호등록 정확도를 측정하였다
affine 변환을 수행할 때
RANSAC 기법을 이용해서
1.5 pixels 이상의 오차를 보이면
이를 오정합점(outlier)로 분류하였다
중첩영역을 중심으로 균등하게 선정된
총 10개의 검사점을 기반으로
RMSE(Root Mean Square Error)와
CE90(Circular Error 90%) 기법을 통해
정확도를 산출하여 평가하였다
제안한 SuperPoint 기법이 타 기법에 비해
가장 적은 정합점을 추출하였지만
오정합점이 가장 적었고, 그 비율도 적었다
또한 RMSE는 1.536, CC90는 1.971로
타 기법에 대비 낮은 값을 보였다
또한 기존의 (1), (2) 모델은 일부영역에서
정합점을 과도하게 추출하는 경향이 있었지만
제한한 (3) 모델은 균등하게 정합점을 추출하였다
결론
결론과 함께 논문의 전반적인 내용을 요약하며
논문 리뷰를 마치려고한다
1. 위성영상을 다루기 위해서는
각각 다른 각도에서 찍은 영상들의 좌표를 맞추는
상호등록이라는 전처리 과정을 거쳐야함
2. 상호등록은 같은 위치를 찍은 다른 각도의 사진들에서
특징점(keypoints)를 잡아 정합점을 생성하고
이를 기준으로 좌표를 맞춤
3. 이를 위해서 CNN based의 deep learning 모델들이 제안되었고
그 중 SuperPoint가 있음
4. 기존에 제안된 SuperPoint는 MagicPoint라는 모델을 이용해
학습데이터를 생성하여 학습시킨 모델임
5. 하지만 MagicPoint 모델은 단순한 도형 사진(Synthetic shapes dataset)에서
keypoints를 추출하도록 학습시킨 것이라
고해상도 위성 영상의 keypoint를 추출하기 위한 pseudo-label로는
신뢰도가 떨어짐
6. 따라서 본 논문에서는 MagicPoint 모델을 고도화시켜
신뢰도 높은 pseudo-label을 생성하여
기존의 SuperPoint 모델에 학습시켰음
7. MagicPoint 모델을 고도화시킨 방법은
Synthetic shapes dataset으로 학습시킨
MagicPoint 모델을 사용하여
KOMPSAT-3 위성영상에 대한 pseudo-label을 생성하였음
그리고 이를 다시 MagicPoint의 학습 데이터로 돌려
MagicPoint 모델을 고도화시킴
또한 이 과정에서, Homographic Adaptation도 적용시켜
생성하는 pseudo-label의 신뢰도를 높임
8. 이렇게 신뢰도가 높은 pseudo-label을
기존의 SuperPoint 모델에 학습시켜
새로운 SuperPoint 모델을 제안
9. SIFT와 기존의 SuperPoint 모델과 비교하였을 때
상호등록 시 각 영상 간의 이격이 상대적으로 적었으며
RSME, CE90을 통해 정량적으로 정확도를 측정했을 때도
오차가 낮은 것을 확인
.
.
.
본 연구에서는 self-supervised learning 방법을 이용하여
기존 SuperPoint 모델의 한계점을 극복하였으나
고품질의 서술벡터를 생성하기위해
추가적인 학습이 요구된다는 한계가 있다
또한, 제안한 SuperPoint 모델에서는
정합점 추출 성능이 서술벡터 특성에 의존적이기때문에
유사한 패턴이 반복되는 지역에서는 신뢰도가 저하되어
다수의 오정합점이 포함될 수 있다
따라서 추후 연구에서는
서술벡터 없이 정합점을 추출하는 방법으로
위성영상 상호등록 효율성을 개선할 예정이다
짧고 간단한 논문이라고 생각했지만
측량이나 위성영상에 대한 배경지식이 없었어서
검색하느라 고생했던 논문 ^^;
과제때문에 읽은 논문이지만
읽다보니 원격탐사 부분도 흥미로운 연구들이 많은 것 같다
또한 원격탐사나 사진측량 분야에서도
정말 딥러닝 기법을 적용하는게 대세라는 것을 느꼈다
(물론 난 인공지능은 하기싫다)
아무튼 작성하신 분들의 노고가 잘 드러났던 논문이었던 것 같다
여기서 논문리뷰 마무리-!