논문정보
Multimodal Ground-Based Cloud Classification Using Joint Fusion Convolutional Neural Network
논문정리
Abstract
정확한 구름 이미지를 분류하는 것은 어려운 과제이며 여전히 개발 중에 있다.
현재의 방법으로는 오로지 구름의 시각적 특징만을 이용하기 때문에 환경요소에 강인하지 않다.
본 논문에선 joint fusion convolutional neural network (JFCNN)을 소개하여 구름 분류를 위해 멀티모달 정보를 통합하는 방법을 제시한다.
이질적인 특징(시각적, 멀티모달)들을 학습하기 위해, JFCNN을 시각적 하위 네트워크와 멀티모달 하위 네트워크로 구분되는 two-stream 구조로 제안하였다.
또한 하나의 프레임워크 내에서 두 개의 구름 특징을 공동으로 학습하는 joint fusion layer를 제안하였다.
JFCNN 훈련 후엔 각각의 하위네트워크로부터 시각적과 멀티모달 특징들을 추출하고 가중치 전략을 이용하여 통합한다.
제안된 JFCNN은 멀티모달 지상기반 구름 데이터셋인 MGCD로 평가하였고 놀라운 성능을 보이면서 구름 분류 작업에서의 효과를 입증하였다.
Introduction
최근 광학 원격 센싱 응용, 날씨 예측, 강수량 측정, 딥스페이스 기후 관측 임무 등과 같은 여러 실용적인 응용들에는 정확한 구름 관측 기술이 요구된다.
하지만, 구름 관측은 전문가의 목측에 의해서만 수행되고 있으며 노동력이 많이 들고 관측에러가 나기 쉽다.
따라서, 구름 관측을 위한 많은 노력들이 있어왔다.
구름 관측의 주요 문제는 각기 다른 대기 조건에서 구름의 외형이 다양하기 때문에 구름 분류 작업이 힘들다는 것이다.
구름 분류를 위해 필요한 데이터를 수집하기 위해 많은 연구진들이 여러 측정 장비를 사용했다.
측정 장비는 지상기반과 위성기반 장비로 나뉜다.
- 위성 기반 장비는 관측 영역이 넓고 대륙에 걸친 대규모의 구름 정보를 제공한다.
- 지상 기반 장비는 관측 영역이 제한 적이고 주로 구름 관측 시 특정 영역에만 고정되어 있다.
따라서, 구름 관측을 local하게 계속 지속하기 위해선 지상기반 장비를 사용하는 것이 합리적이다.
현재 지상 기반 하늘 이미징 장비로는 whole-sky imager(WSI), total-sky imager(TSI), infrared cloud imager(ICI), all-sky imager(ASI), whole-sky infrared cloud-measuring system(WSIRCMS)가 있다.
이를 통해 구름 데이터를 가장 많이 수집할 수 있었으며 연구자들이 구름의 조건들을 더 이해할 수 있는 기회가 되었다.
이 데이터 덕분에, 지상 기반 구름 분류 방법들이 여러개 생겨났다.
이 방법들은 skip
최근에는 심층 컨볼루션 신경망이 발전가능 역량을 보여주었다.
심층 CNN의 가장 큰 장점은 여러개의 비선형 변환을 통해 원시 입력 데이터에 맞는 고수준의 특징들을 학습할 수 있다는 것이다.
이로 인해 자동으로 표현력 있는 특징들을 많이 포착할 수 있다.
이 특성으로 인해, 많은 연구진들이 심층 CNN을 이용하여 지상기반 구름 분류를 위해 시각적인 특징들을 추출하였고 결과도 좋았다.
이것도 예시 skip
하지만 대부분의 방법들은 시각적 특징만으로 구름을 분류하기 때문에 환경요인에 강인하지 않다.
그림 1은 Cumulus에 속하는 두개의 구름 이미지를 보여주는데 외형, 조도, 폐색이 다르게 나타난다.
그림 1c에서는 이 두 샘플의 멀티모달 정보가 일치함을 확인할 수 있다
멀티모달 정보가 환경요인의 영향을 덜 받고 비교적 안정적임
게다가 운형은 온도,습도,압력,풍속과 같은 멀티모달 정보의 영향을 많이 받는다.
공기는 기체상태와 미세한 먼지입자 상태의 분자로 구성된다.
태양광선이 지구 표면을 가열하면 공기가 데워진다.
데워질수록 분자의 운동 속도는 빨라지고 온도와 압력이 바뀌게 된다.
공기가 비균형적으로 데워지게 되면 밀도가 달라지고 공기 질량에 차이가 난다.
습도는 대기 내의 수증기가 얼마나 있는지를 나타낸다.
공기가 상승하고 냉각되면 습도가 증가한다.
바람은 공기의 움직임으로 고기압에서 저기압으로 움직이려는 기압 차에 의해 발생한다.
기압의 차이가 심할수록 풍속이 빨라진다.
바람은 다른 공기 덩어리를 가져와 구름의 패턴을 다르게 바꾼다.
그러므로 멀티모달 정보로 구름을 완벽히 묘사할 수 있으며 시각적 특징과 멀티모달 정보를 융합하는 것이 구름 분류 성능을 높일 수 있는 것이다.
정보를 융합하는 것은 다른 연구분야에서 그 가능성을 보였다.
기존의 접근법은 주로 3단계로 정보를 융합한다.
feature level, matching-score level, decision level
score-level, decision level에서는 융합단계에서 다차원의 특징들이 단순하게 하나의 점수나 최종 결정으로 압축되기 때문에 그 과정에서 정보가 손실되기도 한다.
특징 수준에서 융합하는 경우, 결과 특징집합이 입력 데이터의 풍부한 정보를 담고 있으므로 해당 수준에서의 융합이 원하는 분류 성능을 제공할 가능성이 높다.
특징 추출 기반 방법은, 여러개의 특징집합이 하나의 통합벡터로 그룹화된다.
특징 선택 기반 방법은, 모든 특징들이 집계된 뒤 적절한 방법을 택해서 특징을 선택한다.
CNN의 경우에는 특징 선택 기반 방법에 속한다.
중간 층으로부터 complementary representation을 학습할 수 있기 때문
하지만 멀티모달 지상기반 구름 분류에 대한 연구는 거의 없었다.
구름의 시각적 특징과 멀티모달 특징을 융합하는 것이 힘든 점에는 두 가지 측면이 있다.
먼저, 구름 이미지의 특성과 멀티모달 정보가 급격히 다르다는 것
수학적으로 표현하자면 구름 이미지는 행렬로써, 멀티모달 정보는 벡터로써 표현된다.
또한 semantic 정보가 다를 수 있다는 것
따라서 CNN은 멀티모달 정보를 바로 이용해서는 안된다.
본 논문에선 joint fusion convolutional neural network(JFCNN)으로 명명한 심층 모델을 제안하여 멀티모달 지상기반 구름 분류에 사용하였다.
제안된 JFCNN은 두 개의 하위 네트워크(시각적, 멀티모달)와 하나의 융합 레이어로 구성되었다.
시각 하위 네트워크에서는 행렬 데이터를 처리할 수 있는 시각적 특징을 추출하기 위해 CNN을 활용하였다.
멀티모달 하위 네트워크에서는 MLP(Multi-Layer Perceptron)을 사용하여 벡터 데이터인 멀티모달 정보를 학습하였다.
이후에 융합하기 위해, 하위 네트워크의 출력의 차원을 맞춰준다.
두 하위 네트워크의 강점을 융합하고 상호보완적인 특징을 활용하기 위해, joint fusion layer라 명명한 새로운 레이어를 제안하여 이질적인 특징을 융합한다.
제안된 JFCNN을 최적화하기 위해 손실함수는 한 개의 손실 함수를 사용하였고 이는 하나의 프레임워크 내에서 이미지와 멀티모달 데이터의 차별적인 특징들을 공동으로 학습할 수 있다.
실험 결과는 지상기반 구름 분류에서의 제안된 방법의 효과를 보여준다.
Methods
본 섹션에서는 JFCNN의 전반적인 프레임워크를 설명한다.
그 뒤, 특징 융합 방법과 구현 디테일을 소개한다.
<Overall Architecture>
그림 2는 JFCNN의 전반적인 구조를 보여준다.
5개의 부분으로 구성되었다.
하위 네트워크 2개, 융합 레이어 1개, FC 레이어, 손실 함수
시각적 하위 네트워크는 구름의 시각적인 특징을 학습하는 데 사용되고 주로 ResNet-50을 기반으로 한다.
표 1은 ResNet50의 구조를 요약한 정보이다.
3번째 열에서 중괄호로 표시된 빌딩 블럭은 3개의 컨볼루션 층으로 이뤄져있다.
$conv3_x$은 4개의 빌딩블럭을 가지고 있으며, 1x1, 3x3, 1x1는 필터 크기이다.
128, 128, 256은 필터의 수를 나타낸다.
게다가, 최대 풀링층과 평균 풀링층이 각각 첫번째와 마지막 컨볼루션 층의 출력에 연결되어 있다.
시각 하위 네트워크에서 FC층은 제거되었으며 평균 풀링층의 출력(2048-차원)이 융합 레이어의 입력으로 간주하다.
멀티모달 하위 네트워크는 지상기반 구름의 멀티모달 정보를 학습하기 위해 설계되었으며 6개의 FC 층으로 구성되어있다.
$fc1$의 뉴런 수는 64개이며, $fc6$층으로 갈 수록 2048까지 2배가 되며 증가된다.
FC층은 1x1 크기의 컨볼루션 층으로 간주할 수 있다.
$fc6$의 출력이 융합 레이어의 입력으로 들어가며 이 또한 2048 차원이다.
시각적 특징과 멀티모달 특징을 학습한 뒤엔, 융합 레이어를 이용하여 둘을 통합한다.
식 1은 융합 레이어를 공식화 한 것이다.
$f_1, f_2$ : 각각 시각 하위 네트워크와 멀티모달 하위 네트워크의 출력
$\alpha$ : 멀티모달 특징 $fc2$의 중요도를 맞추기 위한 파라미터
$f, f_1, f_2$의 차원은 모두 2048 이다.
융합 레이어 뒤에FC 레이어 하나를 더 추가하였고($fc7$), 이 뉴런 수는 클래스 개수와 동일하다.
멀티모달 지상기반 구름을 분류하기 위해, $fc7$의 출력에 소프트맥스연산을 거쳐 K 개의 클래스간의 확률 분포를 생성하였다.
값을 0과 1 사이에 매핑함
식 2는 소프트맥스 연산이다.
$K$ : 구름 클래스 개수
$x_k$ : $fc7$레이어의 $k$번째 뉴런 출력값
$y_k\in [0,1]$ : $k$번째 클래스에 속할 확률값
제안된 JFCNN의 성능을 평가하기 위해 교차 엔트로피 (corss entropy) 손실을 도입하였다.
식 3은 교차 엔트로피 손실이다.
$g_k$ : ground-truth 확률을 의미
모든 k에 대해 $q_j=1$일 때를 제외하고 g_k=0$이다. ($j$ : ground-truth 라벨)
크로스 엔트로피 손실은 예측된 확률과 정답간의 분포 차이가 심할수록 패널티가 높게 부여된다.
따라서 식 3의 값을 최소화하는 것은 라벨의 로그우도를 최대화하는 것과 같으며,이때 최대분포 값$y_k$에 따라 라벨을 선택한다.
<Feature Fusion>
제안된 JFCNN을 훈련한 후, $f_1$을 시각적 특징, $f_2$를 멀티모달 특징이라 해보자.
두 특징은 상호보완적인 정보를 가지고 있고 각기 다른 특성을 묘사한다.
따라서 이들을 합치면 특징의 분별능력을 향상시킬 수 있다.
식 4는 최종 구름 특징으로 사용할 수 있는 통합된 특징을 계산한다.
$g(\cdot)$ : fusion 함수
식 5는 $g(\cdot)$을 단순하고 간결하게 공식화하였다.
$[\cdot, \cdot]$ : 두 벡터를 concatenation하는 연산
$\lambda$ : 멀티모달 특징의 중요도를 조정할 계수
요약하면 JFCNN에는 두 특성이 있다.
- 두개의 하위네트워크가 이질적인 특징으로부터 차별성있는 특징을 학습한다. 이때, 입력 이미지는 행렬이고 입력 멀티모달 정보는 벡터이다. 두 유형의 특징은 각기 다른 semantic 정보를 담고 있으며 두개의 하위 네트워크가 동시에 이들을 학습하여 차별성있는 특징을 생성한다.
- 융합 레이어로 CNN 프레임워크 내에서 이질적인 특징들을 융합한다.
사실 논문을 정리하면서 계속 작성하는 게 맞을지 고민을 하였다.
본 논문은 이전에 정리하였던 HMF의 기반이 된 모델인 듯 했다.
HMF는 저수준, 고수준 단계로 특징을 융합하는데 JFCNN이 딱 저수준 융합의 모델과 같기 때문이다.
논문에서 묘사한 모델과, 설명, 흐름,사용된 수식과 실험 방법이 유사한 것을 보아 JFCNN을 발전시켜 HMF을 개발해낸 것 같다.
다만, 의문인 것은 JFCNN의 성능이 93.37, HMF의 성능이 87.9로 JFCNN이 월등히 높은 거..?
따지고보면 JFCNN은 HMF에서 고수준 학습을 하지 않은 경우와 모델이 동일한데 왜일까?
역시 전부 중국 논문이라 그런가 신빙성이 바닥이다.
지금까지 MGCD 데이터를 다룬 논문들을 몇개 읽어봤는데 대체로 유사하다.
대부분 이미지는 컨볼루션 신경망을 통과시키고 멀티모달 정보는 MLP를 통과시킨 후 concatenate한다.