초록 열기/닫기 버튼

C/C++의 타입 캐스팅은 취약점을 유발하며 프로그램의 안정성을 저하시킨다. 이를 보완하기 위해 C++에서는 실행 중 객체의 타입을 확인하여 캐스팅하는 dynamic_cast를 지원하지만, 안전성이 높아지는 대신 실행 속도가 느려진다는 단점이 있다. 이러한 이유로 절충안인 런타임 오버헤드가 적은 static_cast가 사용된다. 그러나 static_cast는 컴파일시에 알려진 타입으로만 캐스팅을 제한하는 방법으로서, 취약점이 여전히 존재한다. 본 논문에서는 프로그램 재작성과 타입 시스템을 활용하여 기존의 C++ static_cast를 보완하여 런타임 오버헤드가 적으면서도 개발 단계에서 좀 더 안전한 코딩을 할 수 있도록 유도하는 방법을 제안한다.


The purpose of this study is to investigate methods restoring hazy images to haze-free images. Most dehazing studies have used datasets that consist of pairs of images, one hazy and one haze-free of the same scene, for training purposes. However, in the real world, it is almost impossible to acquire this kind of data where the hazy image and the haze-free image are perfectly matched except for the haze. Therefore, this paper aims to develop a network that removes haze using hazy images and images without haze that are not paired. The proposed model uses the CycleGAN architecture with this unpaired data. In order to improve the haze removal performance, we propose a dehazing model consisting of a smoothed dilated convolution, a perceptual loss function and a rotational loss function under self-supervised learning. For objective performance evaluation of the proposed techniques, we conducted experiments on the D-HAZY dataset and with real hazy images. The performance of the proposed method was demonstrated through qualitative and quantitative analysis.