윤희진
(City & Transportation ICT Research Department Electronics and Telecommunication Research Institute)
,
김주완
(City & Transportation ICT Research Department Electronics and Telecommunication Research Institute)
,
장인성
(City & Transportation ICT Research Department Electronics and Telecommunication Research Institute)
,
이병대
(Department of Computer Science, Kyonggi University)
,
김남기
(Department of Computer Science, Kyonggi University)
최근 교육, 제조, 건설 등 다양한 응용 분야에서 사실적인 가상환경을 표현하기 위하여 실세계 영상데이터를 활용하는 사례가 증가하고 있다. 특히, 스마트 시티 등 디지털 트윈에 대한 관심이 높아지면서, 항공 영상 등 실제 촬영한 영상을 이용하여 현실감 있는 3D 도시 모델을 구축하고 있다. 그러나, 촬영된 항공 영상에는 태양에 의한 그림자가 포함되어 있으며, 그림자가 포함된 3D 도시 모델은 사용자에게 정보를 왜곡시켜 표현하는 문제를 안고 있다. 그림자를 제거하기 위하여 그동안 많은 연구가 진행되었지만, 아직까지 해결하기 어려운 도전적인 문제로 인식되고 있다. 본 논문에서는 VWorld에서 제공하는 3차원 공간정보를 이용하여 건물의 높이 맵을 포함한 가상환경 데이터 셋을 구축하고, 높이맵과 딥러닝을 이용한 새로운 그림자 탐지 방법을 제안한다. 실험 결과에 의하면, 높이맵을 사용했을 때 기존 방법보다 그림자 탐지 에러율이 감소한 것을 확인할 수 있다.
최근 교육, 제조, 건설 등 다양한 응용 분야에서 사실적인 가상환경을 표현하기 위하여 실세계 영상데이터를 활용하는 사례가 증가하고 있다. 특히, 스마트 시티 등 디지털 트윈에 대한 관심이 높아지면서, 항공 영상 등 실제 촬영한 영상을 이용하여 현실감 있는 3D 도시 모델을 구축하고 있다. 그러나, 촬영된 항공 영상에는 태양에 의한 그림자가 포함되어 있으며, 그림자가 포함된 3D 도시 모델은 사용자에게 정보를 왜곡시켜 표현하는 문제를 안고 있다. 그림자를 제거하기 위하여 그동안 많은 연구가 진행되었지만, 아직까지 해결하기 어려운 도전적인 문제로 인식되고 있다. 본 논문에서는 VWorld에서 제공하는 3차원 공간정보를 이용하여 건물의 높이 맵을 포함한 가상환경 데이터 셋을 구축하고, 높이맵과 딥러닝을 이용한 새로운 그림자 탐지 방법을 제안한다. 실험 결과에 의하면, 높이맵을 사용했을 때 기존 방법보다 그림자 탐지 에러율이 감소한 것을 확인할 수 있다.
Recently, the use of real-world image data has been increasing to express realistic virtual environments in various application fields such as education, manufacturing, and construction. In particular, with increasing interest in digital twins like smart cities, realistic 3D urban models are being b...
Recently, the use of real-world image data has been increasing to express realistic virtual environments in various application fields such as education, manufacturing, and construction. In particular, with increasing interest in digital twins like smart cities, realistic 3D urban models are being built using real-world images, such as aerial images. However, the captured aerial image includes shadows from the sun, and the 3D city model including the shadows has a problem of distorting and expressing information to the user. Many studies have been conducted to remove the shadow, but it is recognized as a challenging problem that is still difficult to solve. In this paper, we construct a virtual environment dataset including the height map of buildings using 3D spatial information provided by VWorld, and We propose a new shadow detection method using height map and deep learning. According to the experimental results, We can observed that the shadow detection error rate is reduced when using the height map.
Recently, the use of real-world image data has been increasing to express realistic virtual environments in various application fields such as education, manufacturing, and construction. In particular, with increasing interest in digital twins like smart cities, realistic 3D urban models are being built using real-world images, such as aerial images. However, the captured aerial image includes shadows from the sun, and the 3D city model including the shadows has a problem of distorting and expressing information to the user. Many studies have been conducted to remove the shadow, but it is recognized as a challenging problem that is still difficult to solve. In this paper, we construct a virtual environment dataset including the height map of buildings using 3D spatial information provided by VWorld, and We propose a new shadow detection method using height map and deep learning. According to the experimental results, We can observed that the shadow detection error rate is reduced when using the height map.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
그러나, 주석 정보를 활용할 수 없어 성능에서의 한계점이 존재한다. 본 논문에서는 VWorld[18]에서 제공하는 공간정보를 이용하여 높이 맵을 포함한 그림자 데이터 셋을 구축하였으며, 기존에 활용할 수 없었던 3차원 건물 높이맵을 이용하여 딥러닝 기반의 그림자 탐지 성능을 개선시킨 방법을 제안하고자 한다.
본 논문에서는 가상환경에서 높이맵을 포함한 데이터 셋을 구축하고, 이를 딥러닝 기반의 그림자 탐지에 활용하는 방법을 제안하였다. 제안된 방법은 건물의 높이 값을 추가 정보로 활용하여 그림자 탐지 시 성능을 개선시킬 수 있음을 보였다.
본 논문에서는 건물의 높이맵을 이용하여 그림자를 탐지하기 위해 기존의 CPD [15]를 기반으로 높이 값에 대한 정보를 고려할 수 있도록 입력 차원을 확장하였고, 특징을 모으는 부분에서 채널 단위 어텐션 모듈을 추가 하여 성능을 개선시킨 방법을 제안한다.
제안 방법
첫 번째 단계에서 입력 크기가 352x352인 3채널 그림자 데이터를 입력받아 각 계층에서 합성곱 연산과 활성화 함수, 풀링 연산을 통해 특징 맵의 크기가 감소한다. 계층이 깊어질수록 이미지 크기에 불변한 특징들을 가지며, 3,4,5번 계층에서 생성되는 결과들을 RFB(Receptive Field Block) 모듈을 통해 비율이 1,3,5,5로 각각 다른 Dilated 합성곱 연산을 수행하여 고수준 특징정보를 효율적으로 추출한다. 이후, 추출된 3가지 특징들은 그림 3에서 보는 것처럼 dense한방법으로 결합한다.
위의 수식 3에서처럼, 먼저 Global Average Pooling(GAP) 연산을 이용하여 채널별 특징들의 평균값을 취함으로써 1x1xC의 압축된 공간정보들을 얻게 된다. 그 후, 완전 연결 계층(Fully Connected layer)과 ReLU, 완전 연결 계층으로 구성된 MLP(Multi-Layer Perceptron)를 거쳐 감소비율 r = 16을 사용하여 압축하고 확장 시키는 과정을 거치면서 채널에 따라 가지는 정보들에 대한 중요도를 재조정 하였다. 여기서 재조정 된 특징맵은 Sigmoid 함수에 의해 활성화되고, 입력값인 ? x H,W,C에 원소별 곱셈 연산을 적용하여 중요한 특징들에 대해 강조한다.
3차원 건물정보를 얻기 위한 기존의 방법들은 LIDAR 데이터와 스테레오 영상, 그림자 정보 등을 통해 예측해왔다. 그중에서, 그림자 정보는 건물의 높이 및 형태에 따라 빛이 건물을 투과할 수 없을 때 발생하게 되며, 태양의 고도각, 그림자 길이 등의 정보를 이용하여 3차원 건물정보를 예측하였다. [12]
다양한 환경에서의 건물이 포함된 학습 데이터를 얻기 위해 공간정보 오픈 플랫폼인 VWORLD를 이용하여 태양의 실제 위치정보를 고려한 그림자 데이터를 생성할 수 있는 가상현실 프로그램을 구축하였으며, 3차원 모델링된 건물의 이미지는 그림 1과 같다.
크기가 작은 특징들은 업샘플링 (Up-sampling)과 3x3 합성곱 연산을 거쳐 크기를 확장하고 이전계층의 특징과 결합하여 첫 번째 단계의 학습을 수행한다. 두 번째 단계에서는 합성곱 연산의 적용 범위를 늘리기 위해 HAM(Holistic Attention Module)에 첫 번째 단계에서의 결과 값을 넣어 유용한 정보들을 확장 시키고, 기존 특징 맵과의 곱셈 연산으로 최적화하였다. 이후에, 다시 RFB 모듈 연산과 부분적 디코더 연산을 통해 초기 결과 특징 맵을 정제하여 학습하는 과정을 수행한다.
먼저 3채널의 입력 데이터 크기에서 채널 수를 늘려 높이맵을 추가하였으며, 첫 번째 계층의 컨볼루션 연산 채널 수를 4채널로 변경하였다. 또한, 3개의 특징이 합쳐지는 구간에 채널 어텐션(Channel attention) 모듈을 추가하여 채널 단위 중요한 정보들에 대해 강조하였다. CNN은 학습된 특징들이 채널 단위로 쌓여서 전역적인 수용 필드(Global Receptive Field)를 가지는 하나의 영상으로 만들어지는데, 다수의 채널 정보들이 구분 없이 연산이 이루어지기 때문에 중요한 특징들이 약해지거나 소실 되는 문제점이 있다.
[10]은 Recurrent Neural Network (RNN) 기반의 방향 인식 모듈을 이용하여 CNN의 각 계층에서 추출되는 특징들에 대해 2차원 공간적 문맥 정보를 학습한다. 또한, 주변 그림자의 문맥적 특징을 방향에 따라 가중치를 고려하여 집계한다. Zhu et al.
여기서 재조정 된 특징맵은 Sigmoid 함수에 의해 활성화되고, 입력값인 ? x H,W,C에 원소별 곱셈 연산을 적용하여 중요한 특징들에 대해 강조한다. 마지막으로, 잔여학습의 개념을 활용하여 이전 층의 특징 차이를 학습할 수 있도록 하였다.
이와 같은 기존의 CNN구조에서 높이맵과 채널 어텐션 모듈을 적용하기 위한 네트워크 구조는 다음과 같다. 먼저 3채널의 입력 데이터 크기에서 채널 수를 늘려 높이맵을 추가하였으며, 첫 번째 계층의 컨볼루션 연산 채널 수를 4채널로 변경하였다. 또한, 3개의 특징이 합쳐지는 구간에 채널 어텐션(Channel attention) 모듈을 추가하여 채널 단위 중요한 정보들에 대해 강조하였다.
5보다 크면 1, 작으면 0으로 설정하여 적용하였다. 성능평가에서는 그림자와 비 그림자 클래스에 대해 불균형하게 구성되어 있기 때문에, 수식 4와 같이 BER(Balanced Error Rate)를 이용하여 그림자 탐지 성능을 비교하였다.
수식 1에서 H(x, y)은 2차원 영상 좌표에 대한 높이 값을 나타내며, d(x, y)는 지구로부터의 거리, dfield는 지표면에서 지구로부터의 거리, Hmax는 우리나라에서 가장 높은 건물인 롯데타워 건물의 높이 값으로 상대적인 그레이 스케일(Gray scale) 영상으로 표현하기 위해 정규화 하였다.
예를 들어, 촬영된 영상에서 높이가 높고 그림자가 생기지 않는 부분을 그림자로 탐지하는 오류가 발생하거나, 바닥 부분에 생긴 그림자가 텍스처 색상에 의해 탐지가 되지 않는 문제들이 있다. 이러한 문제점을 해결하기 위해 그림자가 생겨야할 부분에 대한 상대적인 확률을 제공할 수 있는 건물의 높이맵을 활용하여 학습시킴으로써 그림자 탐지 성능을 개선하였다. 높이맵은 지표면에서의 높이 값을 최대 건축물 높이를 기준으로 정규화한 정보를 나타낸다.
현실과 같은 그림자를 구현하기 위해 시간에 따른 실제 태양의 이동 경로를 참고하여 적위와 고도를 AESL 알고리즘 [13], 방위각은 KASI 알고리즘 [14]을 활용하여 광원을 구현하였다. 이를 바탕으로 사용자가 원하는 위치로 카메라를 이동하여 그림자 데이터를 생성할 수 있도록 하였다.
높이맵은 지표면에서의 높이 값을 최대 건축물 높이를 기준으로 정규화한 정보를 나타낸다. 이를 위해 각 건물의 픽셀 포인트에 대한 레이캐스트를 이용하여 지구와의 거리를 구하고, 지면과 닿는 지점과 지구와의 거리 차이 값을 구하였다. 또한, 건물의 형태를 자세하게 표현하기 위해 기존의 건물의 텍스처를 표현할때 사용하는 최적화 기법인 ConvexHull 기능을 사용하지 않았으며, 높이 값 수식은 다음과 같다.
데이터 세트는 학습된 모델이 일반화된 추론 성능을 갖기 위해 특정 클래스에 편향되지 않는 데이터로 구성되어야 한다. 이점을 고려하여, 태양을 특정 시간대로 고정하고, 여러 상황에 따른 건물의 유형과 데이터 양을 표 1과 같이 단일건물, 낮은 건물, 높은 건물, 높고 낮은 건물들의 혼합 4가지로 정의하였다. 데이터 세트는총 4,700장으로 그림자가 포함된 데이터, 그림자 마스크 데이터, 건물의 높이맵 데이터로 구성되어 있으며, 학습 데이터는 90%인 4,230장 테스트 데이터는 10%인 470장으로 나누었다.
두 번째 단계에서는 합성곱 연산의 적용 범위를 늘리기 위해 HAM(Holistic Attention Module)에 첫 번째 단계에서의 결과 값을 넣어 유용한 정보들을 확장 시키고, 기존 특징 맵과의 곱셈 연산으로 최적화하였다. 이후에, 다시 RFB 모듈 연산과 부분적 디코더 연산을 통해 초기 결과 특징 맵을 정제하여 학습하는 과정을 수행한다.
이후, 추출된 3가지 특징들은 그림 3에서 보는 것처럼 dense한방법으로 결합한다. 크기가 작은 특징들은 업샘플링 (Up-sampling)과 3x3 합성곱 연산을 거쳐 크기를 확장하고 이전계층의 특징과 결합하여 첫 번째 단계의 학습을 수행한다. 두 번째 단계에서는 합성곱 연산의 적용 범위를 늘리기 위해 HAM(Holistic Attention Module)에 첫 번째 단계에서의 결과 값을 넣어 유용한 정보들을 확장 시키고, 기존 특징 맵과의 곱셈 연산으로 최적화하였다.
표 2에서는 Pix2Pix[17]와 CPD 두 네트워크에 대해 높이맵의 적용 여부에 따라 비교하였으며, 표3에서는 부분적 디코더에서 컨볼루션 연산으로 나온 특징들이 합쳐지는 구간에 채널 어텐션 모듈의 적용 위치에 따라 효과를 비교하였다. 실험 결과 높이 맵을 사용하였을 때, 기존에 비하여 에러율이 각각 CPD에서 1.
대상 데이터
이점을 고려하여, 태양을 특정 시간대로 고정하고, 여러 상황에 따른 건물의 유형과 데이터 양을 표 1과 같이 단일건물, 낮은 건물, 높은 건물, 높고 낮은 건물들의 혼합 4가지로 정의하였다. 데이터 세트는총 4,700장으로 그림자가 포함된 데이터, 그림자 마스크 데이터, 건물의 높이맵 데이터로 구성되어 있으며, 학습 데이터는 90%인 4,230장 테스트 데이터는 10%인 470장으로 나누었다.
본 논문에서 실험 환경은 우분투 16.04 LTS 운영체제에 PyTorch 프레임워크를 기반으로 Titan XP GPU에서 학습을 수행하였다. 가중치를 최적화하기 위한 옵티마이저는 Adam을 사용하였으며, 학습률은 1e-4로 설정하였다.
학습데이터 4,230장, 테스트 데이터 470장으로 구성되어 있으며, 네트워크를 통해 추론된 결과는 임계값 0.5보다 크면 1, 작으면 0으로 설정하여 적용하였다. 성능평가에서는 그림자와 비 그림자 클래스에 대해 불균형하게 구성되어 있기 때문에, 수식 4와 같이 BER(Balanced Error Rate)를 이용하여 그림자 탐지 성능을 비교하였다.
가중치를 최적화하기 위한 옵티마이저는 Adam을 사용하였으며, 학습률은 1e-4로 설정하였다. 학습데이터의 크기는 352 x 352이며, 배치의 크기를 16, 에폭은 600으로 설정하여 학습하였으며, 총 9시간 정도 소모되었다. 학습 그래프는 그림 5와 같고, 학습이 잘이루어진 것을 확인하였다.
하지만, 딥러닝 네트워크를 통해 학습된 모델이 특정 도메인에서 일반화된 추론 성능을 갖기 위해선 상황에 따른 다양한 종류의 학습데이터가 필요하다. 현재 연구목적으로 공개된 대표적인 데이터 셋 종류는 크게 3가지로 SBU [1], UCF [2], ISTD [3]이며, 이 중 가장 많은 양의 데이터 셋은 SBU로 학습데이터 4089장, 테스트 데이터 638장으로 구성되어 있다. 그러나, 주석 정보를 활용할 수 없어 성능에서의 한계점이 존재한다.
이론/모형
이러한 문제를 해결하고자 Hu et al. [16]이 처음 제안한 Squeeze-and-Excitation block을 적용하였다.
이를 위해 각 건물의 픽셀 포인트에 대한 레이캐스트를 이용하여 지구와의 거리를 구하고, 지면과 닿는 지점과 지구와의 거리 차이 값을 구하였다. 또한, 건물의 형태를 자세하게 표현하기 위해 기존의 건물의 텍스처를 표현할때 사용하는 최적화 기법인 ConvexHull 기능을 사용하지 않았으며, 높이 값 수식은 다음과 같다.
그림자는 광원인 태양의 위치에 따라 모양이 바뀐다. 현실과 같은 그림자를 구현하기 위해 시간에 따른 실제 태양의 이동 경로를 참고하여 적위와 고도를 AESL 알고리즘 [13], 방위각은 KASI 알고리즘 [14]을 활용하여 광원을 구현하였다. 이를 바탕으로 사용자가 원하는 위치로 카메라를 이동하여 그림자 데이터를 생성할 수 있도록 하였다.
성능/효과
표 2에서는 Pix2Pix[17]와 CPD 두 네트워크에 대해 높이맵의 적용 여부에 따라 비교하였으며, 표3에서는 부분적 디코더에서 컨볼루션 연산으로 나온 특징들이 합쳐지는 구간에 채널 어텐션 모듈의 적용 위치에 따라 효과를 비교하였다. 실험 결과 높이 맵을 사용하였을 때, 기존에 비하여 에러율이 각각 CPD에서 1.41%, Pix2Pix에서 2.05% 개선되었으며, 채널 어텐션 모듈듈에 서는 Convlution 3, 4계층이 합쳐지는 구간에서 0.12%, Convolution 4,5계층이 합쳐지는 구간에서 0.43% 개선되 었다. 탐지 결과 이미지는 그림 6과 같으며, 건물의 높이값에 의해 건물 주변 그림자가 생성될 확률을 높여주었고, 채널 어텐션 모듈을 적용하여 채널단위 중요한 특징 들에 대한 재조정을 통해 강조함으로써 탐지 성능이 향상된 것을 확인할 수 있다.
본 논문에서는 가상환경에서 높이맵을 포함한 데이터 셋을 구축하고, 이를 딥러닝 기반의 그림자 탐지에 활용하는 방법을 제안하였다. 제안된 방법은 건물의 높이 값을 추가 정보로 활용하여 그림자 탐지 시 성능을 개선시킬 수 있음을 보였다. 향후 연구에서는 탐지된 그림자 마스크 데이터를 활용하여 제거에 관한 연구를 수행하고자 한다.
반면, 그림 7에서는 제안한 모델의 한계 예시를 보여주고 있다. 제안한 모델은 Convolution 3,4,5 계층의 고수준 문맥 특징들을 주로 활용하기 때문에 Convolution 1,2계층에서 포함하고 있는 경계 부분에서의 상세한 정보가 손실된 것을 확인할 수 있다.
43% 개선되 었다. 탐지 결과 이미지는 그림 6과 같으며, 건물의 높이값에 의해 건물 주변 그림자가 생성될 확률을 높여주었고, 채널 어텐션 모듈을 적용하여 채널단위 중요한 특징 들에 대한 재조정을 통해 강조함으로써 탐지 성능이 향상된 것을 확인할 수 있다. 반면, 그림 7에서는 제안한 모델의 한계 예시를 보여주고 있다.
후속연구
제안된 방법은 건물의 높이 값을 추가 정보로 활용하여 그림자 탐지 시 성능을 개선시킬 수 있음을 보였다. 향후 연구에서는 탐지된 그림자 마스크 데이터를 활용하여 제거에 관한 연구를 수행하고자 한다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.