효과적인 그림자 복원을 위한 Matlab 기반의 그림자 검출 알고리즘 비교분석
Copyright ⓒ 2019 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
초록
디지털 영상에서 그림자는 객체와 광원 간의 상호작용으로 생성되는 표면 특징으로 장면이해를 위한 유용한 정보임에도 불구하고 객체 검출, 추적 및 인식 등의 컴퓨터 비전 절차에서 부정적인 영향을 미친다. 그림자 검출은 디지털 영상분석을 위한 전처리 과정에서 필수적으로 적용되어야 하며, 효과적인 그림자 복원을 위해 정확도가 높은 그림자 검출이 수행되어야 한다. 본 논문에서는 기존의 그림자 검출 알고리즘들에 적용된 컬러 공간들을 기술하고, 선행연구 알고리즘들의 비교분석을 통해 효과적인 그림자 검출 방법론을 고찰하였다. 기존의 그림자 검출 알고리즘들은 다양한 컬러 공간의 밝기 성분 영상을 이용하는 공통적인 특징을 가지고 있으며, 그림자 추정은 실험적 경험으로 획득한 다양한 임계값이 적용되었다. 따라서, 영상의 밝기 정보 이외의 윤곽, 질감 및 그림자와 그림자가 아닌 영역 간의 통계적 특성을 이용한 그림자 검출과 적응적인 임계값 추정 연구가 함께 수반되어야 한다.
Abstract
Shadows, surface features created by the interaction between objects and light sources in digital images, are useful information, but have a negative impact on computer vision procedures such as object detection, tracking and recognition. Shadow detection must be performed in the pre-processing for digital image analysis, and shadow detection with high accuracy must be accompanied for effective shadow reconstruction. In this paper, the color spaces applied to the existing shadow detection algorithms are described, and the effective shadow detection methodology is discussed through comparison and analysis of the algorithms of previous studies. The existing algorithm has a common feature in that used the brightness image of various color spaces, and shadow estimation is applied to various thresholds obtained through some experiments. Therefore, shadow detection with adaptive threshold estimation should be accompanied using contours, textures, and the statistical characteristics between shadowed and non-shadowed regions.
Keywords:
Shadow detection, Shadow reconstruction, Shadow removal, RGB color space, YCbCr color space키워드:
그림자 검출, 그림자 복원, 그림자 제거, RGB 컬러 공간, YCbCr 컬러 공간Ⅰ. 서 론
그림자(shadow)는 자연 영상에서 빈번히 관찰되는 물리적인 현상이며, 객체(object)와 광원(light) 사이의 상호작용으로 발생 되는 표면 특징(surface feature) 추출에 있어 중요한 요소이다[1]. 그림자는 객체와 광원의 방향에 대한 정보를 제공하지만, 객체 검출, 추적 및 인식 등의 다양한 컴퓨터 비전 알고리즘의 성능과 안정성을 떨어뜨리기도 한다[2]. 따라서, 그림자 검출(shadow detection)은 디지털 영상분석 절차에서 필수적으로 고려되어야 하며[2][3], 검출된 그림자의 정확도에 따라 그림자 복원(shadow reconstruction, or shadow removal) 또는 디지털 영상분석에 영향을 미친다.
본 논문에서는 선행연구들에서 그림자 검출을 위해 적용한 컬러 공간들을 기술하고, 다양한 그림자 검출 알고리즘들을 비교 및 분석한다. 선행연구 [4]에서는 영상에 포함된 그림자 검출을 위해 그림자와 그림자가 아닌 영역을 사용자로부터 입력받아(user-assisted) 그림자를 추출하는 알고리즘을 제안하였으며, 매우 우수한 결과를 보였다. 그러나, 본 논문에서는 사용자로부터 그림자 정보를 입력받지 않고 그림자를 탐지하는 선행연구들을 비교 및 분석하고[5]~[8], 그림자 검출을 위한 컬러 공간 분석과 효과적인 그림자 검출 방법론을 고찰하고자 한다.
본 논문의 구성은 다음과 같다. 2장에서 선행연구들에서 적용한 컬러 공간들을 설명하고, 다양한 그림자 검출 알고리즘들을 기술한다. 3장에서는 선행연구들의 그림자 검출 알고리즘들을 비교 및 분석하고, 고찰한다. 마지막으로 4장에서 결론을 맺고, 향후 연구를 기술한다.
Ⅱ. 선행연구들의 그림자 검출 알고리즘
본 장에서는 단일 자연 영상에서 그림자 검출을 수행한 선행연구들의 알고리즘들을 기술하고, 선행연구들에서 적용한 RGB, CIE L*a*b*, YCbCr 및 HSI 컬러 공간들을 설명한다.
2-1 선행연구들에서 적용한 컬러 공간들
디지털 컬러 영상은 Planckian locus[9]와 3개의 빛 파장 R, G 및 B가 Lambertian surface[10]에 반사되어 형성된다. 이러한 RGB 컬러 공간은 선행연구들에서 그림자 후보영역 검출을 위한 전처리 과정인 다양한 컬러 공간으로 변환 시 사용되었다. 또한, 그레이스케일(grayscale) 영상은 윤곽(edge) 검출과 히스토그램의(histogram) 분포 및 기타 정보를 획득하기 위해 필수적으로 적용되고 있으며, 식 1에 의해 획득할 수 있다.
(1) |
선행연구 [5]에서는 그림자 검출을 위해 CIE L*a*b*(이하, L*a*b) 컬러 공간의 L* 성분 영상을 이용하였다. L*a*b* 컬러 공간을 획득하기 위해서는 RGB의 절대 색 공간으로 변환해야 하는데, 이는 RGB 컬러 공간을 CIE XYX 컬러 공간으로 변환한 후 식 2에 의해 획득할 수 있다[11]. 성분 영상 L*은 밝기(intensity) 정보로 0(black)부터 100(white)까지의 값을 갖는다.
(2) |
선행연구 [6]에서는 식 3에 의해 획득한 YCbCr 컬러 공간의 성분 영상 Y를 이용하여 그림자 후보(shadow candidate) 영역을 검출하였으며, 이때 휘도(luminance) 성분 Y는 원본 영상 R, G 및 B 정보에 의존한다[12].
(3) |
2-2 [2]의 그림자 검출 방법
선행연구 [2]에서는 그림자 검출을 위해 RGB 컬러 영상을 식 1을 통해 grayscale 영상으로 변환한 후 밝기 통계를 기반으로 한 접근방식을 제시하였다. 그림자 후보영역(SM; shadow mask)을 추정하기 위해 Otsu[13]의 이진화 기법을 적용하였으며, 그림자 영역의 블러링(blurring)은 식 5에서 보여주듯이 5×5 크기의 구조화 요소(SE; structure element)를 이용하였다. 식 5는 구조화 요소 SE에 의한 그림자 후보영역 SM의 침식 연산에 대한 정의이다. 여기서 SE 필터는 SM의 가장자리는 흐리게 하고, 그림자 화소들은 두드러지게 하는 효과를 가져온다.
(5) |
2-3 [5]의 그림자 검출 방법
선행연구 [5]의 그림자 검출은 L*a*b* 컬러 공간에서 수행되었다. 먼저 밝기 정보를 제공하는 성분 영상 L*의 평균과 표준편차를 이용하여 식 6과 같이 그림자 후보영역을 분류하였다.
(6) |
또한, 성분 영상 a*와 b*에서 각각 평균값을 계산한 후 두 평균의 합이 특정 임계값(T; threshold value) 보다 작은 화소들을 최종 SM으로 결정하였으며, 선행연구 [5]에서는 임계값 T를 256으로 적용하였다.
그림 3은 식 5와 식 6에 의해 획득한 선행연구들의 그림자 검출 결과 영상들이다. 그림 3(a)와 그림 3(b)의 SM들에 포함된 잡음(noise)들은 침식 연산 후 크기가 50보다 작은 영역들을 제거하였으며, 최종 SM은 그림 3(c)와 그림 3(d)와 같다.
2-4 [6]의 그림자 검출 방법
선행연구 [6]은 YCbCr 컬러 공간에서 밝기 정보를 나타내는 성분 영상 Y를 이용하여 그림자 검출을 하였으며, 성분 영상 Y의 히스토그램 평활화(histogram equalization, 식 7)를 통해 대비가 높은 영상 YK′을 이용하였다.
(7) |
여기서 rk와 pr(rj)는 영상의 밝기와 밝기 레벨과 관련된 히스토그램을 나타낸다. 또한, 대비가 향상된 영상 YK′에서 전역(global) 표준편차와 3×3 크기로 지역(local, wsize) 표준편차를 계산한 후 이 두 요소를 기반으로 SM을 추정하였으며, 식 8에서 선행연구 [6]의 최종 SM 검출 과정을 보이고 있다.
(8) |
그림 4는 식 7과 식 8에 의해 획득한 결과들이다. 그림 4(a)부터 그림 4(d)까지의 결과는 히스토그램 평활화 전과 후의 결과들을 나타내고 있으며, 그림 4(e)는 그림 4(b)의 영상을 wsize 크기로 지역 표준편차를 기반으로 획득한 영상이다. 그림 4(h)는 식 8에서 제시하고 있는 shadow1st와 shadow2nd 영상들을 논리연산 ‘AND’에 의해 구성된 최종 SM 영상이다.
2-5 [7]의 그림자 검출 방법
선행연구 [7]은 환경의 조명, 표면 특성(surface property), 하이라이트(highlight) 및 그림자와 같은 조건에 영향을 받지 않는 색상 불변(color invariant) 특징을 이용한 그림자 검출 방법을 제안하였으며, 이는 정규식생지수(NDVI; normalized difference vegetation index) 이론에 기반을 두고 있다. 즉, 영상의 특정 색상 지수를 이용하여 영상의 색상 정보를 추출하는 것으로 식 9와 같은 색상 불변성을 정의하여 SM을 검출하였다. 그림 5는 식 9에 의해 획득한 SM의 결과로 검출의 정확도 측면에서 성분 영상 R과 G의 화소값의 영향을 많이 받는다.
(9) |
2-6 [8]의 그림자 검출 방법
선행연구 [8]에서는 SM 검출의 검증을 위해 식 4에 의해 획득한 성분 영상 H를 이용하였으며, 성분 영상 H의 Bin을 10개로 분리하여 확률을 계산하였다. 여기서 Bin의 구간은 각각 Red, Yellow, Olive, Green, Cyan, Azure, Blue, Violet, Magenta 및 Pink 색에 가깝다고 제시하였다[8]. 실제로 SM의 추정은 식 1에 의해 획득한 grayscale 공간에서 양방향 필터[14]를 적용하여 잡음을 제거한 영상(Iconv)을 이용하였으며, 최종 SM의 검출과정은 식 11에 의해 수행되었다.
(10) |
(11) |
선행연구 [8]에서는 식 11의 임계값 T를 255로 설정하였지만, 식 10에 의해 획득한 Iconv 영상의 히스토그램과 확률밀도함수(PDF; probability density function)에 의해 추정된 T는 410으로 계산되었다. 즉, 영상의 화소값에 따라 T의 값이 달라질 수 있으며, 최종 SM의 검출은 그림 6(c)와 그림 6(d)와 같다.
Ⅲ. 실험 및 고찰
본 장에서는 자연 연상에 포함된 그림자를 검출하기 위한 선행연구 [2, 5-8]들의 알고리즘을 비교 및 분석하고, 성능평가를 수행한다. 선행연구 [2]와 [8]의 그림자 검출은 grayscale 컬러 공간에서, 선행연구 [7]은 RGB 컬러 공간에서 그림자 검출 방법을 제안하였다. 또한, 선행연구 [5]와 [6]은 각각 L*a*b*과 YCbCr 컬러 공간을 적용하였으며, 특히 선행연구 [8]에서는 HSI 컬러 공간의 성분 영상 H를 이용한 그림자 검출의 검증단계를 별도로 수행하였다. 본 논문의 2장에서 기술한 선행연구들의 그림자 검출 알고리즘의 성능평가를 위해 그림 7(a)와 같은 실험 영상들을 이용하였으며, Matlab 2019a를 기반으로 선행연구들의 알고리즘 구현 및 최종 SM 결과를 비교하였다. 먼저, 선행연구 [7]의 방법을 이용한 그림자 검출 결과는 정확도 측면에서 성분 영상 R과 G의 화소값에 민감하였으며, 그림 7(a)의 실험 영상들을 이용한 실험에서는 효과적으로 그림자를 검출하지 못하였다. 그림 7(b)부터 그림 7(e)까지는 각각 선행연구 [2], [5], [6] 및 [8]의 방법으로 검출된 최종 SM들이다. 그림 7(d)의 결과는 YCbCr 컬러 공간의 성분 영상 Y를 히스토그램 평활화를 통해 대비가 향상, 즉 그림자 후보영역의 화소값들이 강조됐음에도 불구하고 만족스러운 SM의 결과를 보이지 않았으며, 이는 영상에서 전역과 지역 표준편차의 관계를 해석하는 절차가 수반되어야 할 것으로 판단된다. 또한, 그림 7(e)의 결과는 다른 선행연구들에 비해 최종 SM의 결과가 우수한 것으로 보여주고 있으나, 그림자 후보 화소값 결정을 위한 임계값 T의 추정이 적응적으로 수행되지 않았다. 그림 7(b)는 매우 간단한 방법으로 grayscale 영상에서 전역 이진화 방법을 적용하였으며, 주요 특징은 영상의 밝기 분포에 따라 그림자 영역이 아닌 영역까지 검출되는 결과를 보였다.
일반적으로 객체 검출, 추적 및 인식 등의 다양한 컴퓨터 비전 알고리즘들에서는 참조(background) 영상과 현재(current) 영상 간의 차이 영상으로 객체를 검출한 후 그림자 검출을 수행하는 반면, 본 논문에서는 참조 영상이 필요 없는 단일 자연 영상에서 그림자를 검출하는 방법들을 기술하였다. 본 논문에서 제시한 선행연구들은 grayscale, Y, L* 및 RGB 컬러 공간에서 밝기 성분 영상을 이용하여 영상에 포함된 그림자를 검출하였다. 특히, 그림 7의 마지막 실험 영상의 결과에서 보여주듯이 밝기 정보만을 이용한 선행연구들의 방법들은 그림자 영역이 아닌 영역까지 검출되는 결과를 보였다. 향후, 선행연구들의 밝기 정보를 이용한 방법을 개선하고 다양한 그림자 특징요소를 기반으로 한 그림자 검출 방법을 제안하고자 한다.
Ⅳ. 결 론
본 논문에서는 단일 자연 영상에 포함된 그림자를 검출하기 위한 선행연구들의 알고리즘들을 비교 및 분석하였다. 2장에서 기술한 선행연구들의 그림자 검출은 RGB, grayscale, L*a*b*, YCbCr 및 HSI 등의 다양한 컬러 공간에서 수행되었으며, 각 컬러 공간의 밝기 성분 영상을 이용한 점이 공통적인 특징이다. 이러한 특징은 실제로 영상에 포함된 그림자는 주변의 화소값들보다 어둡다는 일반적인 가정으로 그림 7의 결과에서 보여주듯이 밝기 성분과 그림자 추정을 위한 임계값 설정에 따라 검출의 성능과 정확도가 달라질 수 있다. 따라서, 영상의 밝기 정보 이외의 윤곽, 질감(texture) 및 그림자와 그림자가 아닌 영역 간의 통계적 특성(statistical characteristic) 등을 이용한 그림자 검출과 그림자 영역 결정을 위한 적응적인 임계값 추정 연구가 함께 수반되어야 한다. 향후, 이 두 연구를 통해 단일 자연 영상에서의 효과적인 그림자 복원 방법과 적응적인 임계값 기반의 정확도가 높은 그림자 검출 방법을 연구 및 제안하고자 한다.
Acknowledgments
이 성과는 2019년도 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임 (No. 2017R1C1B5018143).
참고문헌
- R. Guo, G. Dai and D. Hoiem, “Single-Image Shadow Detection and Removal using Paired Regions,” in Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 2033-2040, Jun. 2011. [https://doi.org/10.1109/CVPR.2011.5995725]
- M. S. V. Jyothirmai, K. Srinivas and V. Srinivasa Rao, “Enhancing Shadow Area Using RGB Color Space,” IOSR Journal of Computer Engineering (IOSRJCE), Vol. 2, No. 1, pp. 24-28, Aug. 2012. [https://doi.org/10.9790/0661-0212428]
- K. H. Park, “Shadow Detection Based Intensity and Cross Entropy for Effective Analysis of Satellite Image,” Journal of Korea Navigation Technology, Vol. 20, No. 4, pp. 380-385, Aug. 2016. [https://doi.org/10.12673/jant.2016.20.4.380]
- H. Gong and D. Cosker, “User-assisted image shadow removal,” Journal of Image and Vision Computing, Vol. 62, pp. 19-27, Aug. 2017. [https://doi.org/10.1016/j.imavis.2017.04.001]
- A. H. Suny and N. H. Mithila, “Shadow Detection and Removal from a Single Image using LAB Color space,” International Journal of Computer Science Issues, Vol. 10, Issue 4, No. 2, pp. 270-273, July 2013.
- K. Deb and A. H. Suny, “Shadow Detection and Removal based on YCbCr Color Space,” Journal of Smart Computing Review, Vol. 4, No. 1, pp. 23-33, Feb. 2014. [https://doi.org/10.6029/smartcr.2014.01.003]
- B. Sirmacek and C. Unsalan, “Damaged Building Detection in Aerial Images using Shadow Information,” in Proceedings of the 4th International Conference on Recent Advances in Space Technologies, pp. 249-252, Jun. 2009. [https://doi.org/10.1109/RAST.2009.5158206]
- V. L. S.Freitas, B. M. F. Reis and A. M. G. Tommaselli, "Automatic shadow detection in aerial and terrestrial images," Journal of Bulletin of Geodetic Sciences (Bull. Geod. Sci.), Vol. 23, No. 4, pp. 578?590. Oct./Dec. 2017. [https://doi.org/10.1590/s1982-21702017000400038]
- Wikipedia. Planckian locus [Internet]. Available: https://en.wikipedia.org/wiki/Planckian_locus, .
- Wikipedia. Lambertian reflectance [Internet]. Available: https://en.wikipedia.org/wiki/Lambertian_reflectance, .
- Wikipedia, CIE 1931 color space[Internet]. Available: https://en.wikipedia.org/wiki/CIE_1931_color_space, .
- R. C. Gonzalez, R. E. Woods, S. L. Eddins, Digital image processing using MATLAB, 1st ed. Chapter 6, New Jersey, NJ: Pearson Prentice Hall, 2004.
- N. Otsu, "A Threshold Selection Method from Gray-Level Histograms," IEEE Transactions on Systems, Man, and Cybernetics, Vol. 9, No. 1, pp. 62-66, 1979. [https://doi.org/10.1109/TSMC.1979.4310076]
- C. Tomasi and R. Manduchi, “Bilateral Filtering for Gray and Color Images,” in Proceedings of tthe IEEE International Conference on Computer Vision, Bombay, India, pp. 839-846, 1998.
저자소개
2005년: 목원대학교 일반대학원 IT공학과 (공학석사)
2010년: 목원대학교 일반대학원 IT공학과 (공학박사)
2008년~2009년: 방재정보통신지역혁신센터 연구원
2011년~2012년: ㈜인코넥스 책임연구원
2012년~현 재: 목원대학교 융합컴퓨터미디어학부 조교수
2014년~현 재: 안전문화운동추진 대전시연합회 생활안전 분과위원장
2015년~현 재: 안전모니터봉사단 대전시연합회 부회장
※관심분야: 컴퓨터비전, 패턴인식, 영상코덱(H.26x), 디지털콘텐츠, 항공응용기술, 방재응용기술 등