Journal of the Korea Computer Graphics Society
The Korea Computer Graphics Society
Article

이미지 지역 통계를 이용한 모바일 기기로 촬영한 문서에서의 그림자 제거

나예지a,b, 박상일*,a
Yeji Naa,b, Sang Il Park*,a
a세종대학교 소프트웨어학과
b망고슬래브㈜
aDepartment of Software, Sejong University
bMangoslab Co., Ltd.
*corresponding author:Sang Il Park/Sejong University(sipark@sejong.ac.kr)

© Copyright 2018 Korea Computer Graphics Society. This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Received: Jun 23, 2018 ; Revised: Jun 29, 2018 ; Accepted: Jul 04, 2018

Published Online: Jul 10, 2018

요 약

본 연구는 핸드폰과 같은 모바일 기기로 촬영한 문서 이미지에서 조명 조건들로 인해 발생한 부드러운 그림자를 제거하는 방법을 제안한다. 본 방법은 기존의 피라미드 기반 방법이나, 경계법 방법에 비해 더 좋은 결과를 만들어 낸다. 방법의 기본 아이디어는 촬영된 문서 이미지로부터 이미지 지역 통계를 활용하여 글자나 그림 등의 흥미로운 내용이 있는 부분을 분리하고, 이 분리된 부분에 대해 적응적인 밝기 및 대조 조정과 레벨 변환을 수행하여 이미지를 더욱 선명하게 하는 것이다. 또 한 내용이 없는 부분에 대해서는 부드러운 채움을 위해 이미지 변형량 기반의 빈 곳 메우기 방법을 이용한다.

Abstract

In this paper, we present a method for removing shadows from scanned documents. Compared to the existing methods such as onebased on image pyramid representation or adaptive thresholding, our method produces more robust and higher quality results. Thebasic idea of the approach is to use the local image statistics and to separate interesting regions from the image such as the regionsaround letters and figures. For the separated regions, we adaptively adjust the local brightness and contrast, and apply the sigmoidfunction to the intensity values as well to enhance the clarity of the image. For separated the other empty regions, we apply thegradient-base image hole filling method to fill the region with smooth color change.

Keywords: 영상처리; 그림자 지우기; 이미지 개선; 이미지 복원
Keywords: Image Processing; Shadow Removal; Image Enhancement; Image Restoration

1. 서론

스마트폰과 같은 모바일 기기들의 사진기 성능이 좋아지면서,문서를 스캔할 필요가 있을 때 기존의 전문적인 스캐너를사용하지 않고, 간단히 사진으로 찍어 이를 스캐너의 결과처럼 변환해 해주는 응용 어플리케이션들이 발표되고 있다. 이렇게 문서를 찍을 경우, 스캐너의 이미징 환경과는 달리, 문서들은 보통 책상이나 테이블 위에 놓인 상태로 전문적인 조명 조건이아닌 평상 시 생활 환경의 조명 조건 하에서 시행되는 것이일반적이다. 즉, 천장의 실내 조명이나, 테이블 스탠드 조명환경과 같이 보통 상단에 위치한 조명 하에서 사진을 찍게 되며, 이 경우 문서와 조명 사이에 사진을 찍는 사람이나 기기가 위치하여 그림자가 문서 위로 드려지게 되는 경우가 흔하게 발생하게 된다. 그림 1 은 이러한 환경에서 찍은 문서의 사진 예들을 보여주고 있다. 그림에서 보여지듯 문서의 명암이 일정하지 않게 되어 가독성이 떨어지게 될 뿐만 아니라,오른쪽 그림의 예시와 같이 스탠드 조명과 같은 부분적으로 강한 조명이 가해질 경우 그림자 부분의 내용을 알아보기 힘들게 되는 경우도 발생할 수 있다.

jkcgs-24-3-43-g1
Figure 1. Examples of scanned documents taken by a mobile phone, in which shadows degrade the image qualities.
Download Original Figure

본 논문은 위와 같이 모바일 기기로 찍은 문서 사진에서 원치않은 그림자들을 없애 주는 기술을 제안한다. 본 기술의 핵심 아이디어는 이미지의 지역 통계를 활용하여 사진에서 글자나 그림과 같은 흥미로운 부분을 분리하고 이 부분의 선명도를 높이기 위해 밝기, 대조, 감마 값들을 지역적으로 조정하는 것이다. 또한 내용이 없는 부분들에 대해서는 변화량기반(gradient-based)의 빈 곳 메우기(hole-filling) 기법을 적용하여 내용을 채워준다. 모든 과정은 자동으로 이뤄져 사용자의 입력이나, 상호작용을 필요로 하지 않는다.

본 연구가 다루는 문제는 일반적인 그림자 제거 기술의 적용문제와는 다음과 같은 점에서 다르다. 첫째, 본 연구는 맑은 날 실외에서 관찰되는 날카로운 그림자 등을 지우는 것을 연구대상으로 하지 않는다. 둘째, 본 연구는 실내 조명으로 인한 부드러운 그림자를 대상으로 하며, 사람, 동물 등 이미지 내용에 대한 인식 등을 수행하지 않고, 글자 및 그림으로 이뤄진 문서를 찍은 사진을 대상으로 한다. 셋째, 본 연구는 촬영한 문서를 모바일 프린터 네모닉[1]과 같이 흑백 문서로 출력하는 경우를 활용 시나리오로 가정하며 따라서 회색이미지로 변환된 것을 최종 결과물로 한다.

본 제안된 기술의 기술적 기여는 다음과 같다. 먼저 글자나그림과 같은 흥미로운 부분을 분리하기 위해 지역 표준 편차를이용하는 방법을 제안하며, 이 계산을 가속화하기 위한 영역합계 테이블을 이용하는 방법을 제안한다. 둘째, 내용을 선명히하기 위해 지역적 밝기 및 대조 등을 조정하는 방법을 제안하며 이를 위해 지역 최소, 최대를 빠르게 구하는 법을 제안한다.셋째, 빈 연역의 내용을 부드럽게 채우기 위한 변형량 기반 빈곳 메우기 방법을 채용하였다.

2. 관련 연구

한 장의 사진을 입력으로 받아 이로부터 그림자를 제거하는 기술들은 계산사진학(computational photography) 분야에서 활발히 연구되어 온 분야이며, 특히 사진에서 그림자를 제거하는 것은 사진에서 물체를 제거하는 것과 연계되어 많은 연구결과들이 발표되어 왔다.

최근 일련의 연구 결과들은 이미지 변화량 기반(gradient-based) 편집 방법인 포와송(poisson) 이미지 편집 기법 개발 이후 비약적으로 발전해 왔으며, 많은 방법들이 사진에서 그림자 부분 영역의 경계면을 찾고, 이 부분의 이미지 변화량을 없앤 후 그림자 내부의 이미지 변화량을 유지하면서 그림자 영역 바로 밖의 이미지 칼라 값을 경계값 조건으로 적분 연산을 수행함으로써 그림자를 없애 왔다[2][3]. 적분 연산을 수행함에 있어 해밀토니안 궤적(Hamiltonian path)을 활용하여 그림자영역의 픽셀들을 방문하거나[4], 보다 간단화 하여 이미지 영역적분 대신 하나의 상수로 그림자 부분을 스케일링하여 표현하는 방법이 제안되었다[5]. 그러나 이러한 방법들은 사용자의 입력을 통해 그림자 영역을 지정해 주어야 하며, 또한 그림자 영역의 경계가 비교적 선명한 날카로운 그림자에 대해 동작하는 것을 가정한 방법들로 사용자의 입력 없이 자동으로부드러운 그림자를 제거하기 위한 본 연구의 방법과는 다른 지향점을 가진다.

Mohan 등은 부드러운 그림자에 대해 변형 및 편집 기술을 발표하였다[6]. 이 기술은 그림자 영역에 변화량 기반 그림자경계 모델을 적용함으로써 없앨 뿐만 아니라 변형 등 그림자조작을 수행할 수 있었다. 그러나, 이 방법은 사용자가 그림자영역에 대한 대략의 마스크 이미지 및 그림자 경계의 부드러움 정도에 대한 입력을 주어야 하여, 자동으로 동작해야 하는 본 연구에 적용되기 힘들다.

Oh 등은 바이레터널 필터(bilateral filter)에 기반을 둔 이미지특징 요소들의 스케일별 분리 방법을 제안하고[7], 아주 큰 스케일에서의 이미지 색 변화는 그림자와 같은 조명 변화에 기인한다고 가정하고 이를 조정함으로써 그림 디테일의 변화없이 전체적인 조명 조건을 바꿀 수 있었다. 이 방법은 본 연구주제와 같이 문서의 그림자를 없애는 데 활용될 수 있으나,글씨나 그림이 극단적으로 클 경우 그림자 영역으로 오인되어 함께 제거될 수 있는 문제가 있다.

Wu 등은 매팅 기법에 착안하여 한 장의 이미지로부터 그림자가 없는 사진과, 그림자 영역의 매트를 분리하는 기술을 개발하였다[8]. 그러나 이 방법은 사용자가 그림자 영역과 밝은 부분, 비슷한 텍스처를 갖는 부분, 불명확한 부분 등 많은 입력정보를 주는 것을 가정으로 하였기에 자동으로 동작하는 본 기술과는 차이가 있다.

본 연구에서 다루는 문서와 같은 이미지에서 글자나 그림부분을 강조하거나 분리하는 방법으로 가장 직관적이며 간단하게 적용될 수 있는 방법으로 적응 경계치법(adaptive thresholding)방법이 있다. 이 방법은 각 점마다 정해진 커널사이즈를 기반으로 지역적인 이미지의 평균 밝기를 구하고, 이 점의 밝기가 평균 밝기 보다 어둡거나 밝을 경우 각각 검은색 또는 흰색으로 이진화(binarization)하는 방법이다. 하지만 이러한 방법은 글씨나 그림의 크기 등에 따라 커널사이즈를 잘 정해주어야 하며, 극단적으로 큰 무늬의 경우 잘동작하지 않는 단점이 있다. 또한 이진화를 통해 흑백으로 변환되기에 결과 이미지가 매우 거칠게 나오게 된다. 본 연구는 이러한 적응 경계치법의 단점들을 극복하여 글자나 그림의 크기에 상관없이 강건하게 동작하며, 결과물은 흑백 이진화 이미지가 아닌 회색 이미지로 원래 이미지의 내용을 최대한 유지하되 보다 선명히 향상된 품질의 결과를 만들어 내는 점에서 다르다.

3. 기술의 개요

본 기술은 일반적인 실내 조명환경 하에서 흑백 문서를 촬영한 이미지 한 장을 입력으로 받아 어떠한 사용자 입력 없이 이로부터 그림자 효과를 제거한 선명한 문서 이미지를 자동으로 출력하는 것을 목표로 하되, 일반적인 실내 문서 촬영환경으로 현광 등과 같은 면 조명 하에 사용자 및 문서와의거리가 어느 정도 떨어져 있어 부드러운 경계의 그림자가 담겨있는 것을 가정한다.

그림 2는 본 기술의 개요를 보여준다. 먼저 그림자가 드리운 문서의 사진을 입력으로 받아(그림 2(a)), 이로부터 글자나 그림과 같은 흥미로운 부분을 분리한다(그림 2(b)). 분리된 부분에 지역적으로 밝기, 대조, 감마 등을 조절하여 개선하고(그림 2(c)), 나머지 빈 부분을 변화량 기반 빈 곳 메우기 방법을 통해 최종 결과물을 얻는다(그림 2(d)). 다음 장에서 각 단계별로 상세히 설명한다.

jkcgs-24-3-43-g2
Figure 2. Overview of the method: (a) an input image with shadows; (b) separation of the interesting region; (c) image enhancement by locally adjusting the brightness, contrast and gamma; (d) final result by hilling the hole based on the gradient image editing method.
Download Original Figure

4. 기술의 상세 설명

4.1 글자 및 그림 영역 분리

문서의 경우 보통 단색의 바탕에 구분되는 다른 색의 글씨나 그림이 그려져 있다. 본 기술은 이러한 관찰에 착안하여 글자나 그림의 영역을 판단하여 분리하고자 한다. 지역직으로 배경색과 다른 색이 나타나는 것을 판단하는 가장 간단한 기준은 지역적인 이미지 통계값을 활용하는 것이며, 특히 밝기 값들의 표준편차를 확인함으로써 구분할 수 있다.

본 연구에서는 입력 이미지의 모든 점들에 대해 사용자로부터주어진 지역 범위 커널 사이즈 K x K 내에서 밝기의 표준편차를 다음과 같이 구한다. 이때 입력 이미지는 회색 이미지로 단채널 이미지로 변환된 것을 가정한다.

σ 2 ( x , y ) = 1 K 2 i = K / 2 K / 2 j = K / 2 K / 2 ( I ( x + i , y + j ) I ˜ ( x , y ) ) 2
(1)

여기서 σ(x,y)(x,y) 좌표에서의 밝기의 표준편차의 제곱인 분산을 의미하며, I(x,y)∈[0,1]와 Ĩ(x,y) ∈[0,1]는 각각 (x,y) 좌표에서의 이미지 밝기 및 평균 지역 밝기를 의미한다. 평균지역 밝기는 이미지에 K x K 크기의 커널사이즈로 평균필터(mean filter)를 적용한 후 각 점에서의 밝기를 얻는것으로 쉽게 계산될 수 있다. 실험에서는 K=60을 일괄적으로 적용하였다.

본 연구에서는 지역 밝기의 표준편차 값이 특정 경계치값 σ* 이상일 경우 글자나, 그림 등 흥미로운 무늬가 있는 것으로 판단한다. 본 실험에서는 σ*=0.05를 공통적으로 적용하였다. 위와 같은 지역 표준편차의 계산 복잡도는 단순히 구현할 경우 이미지 상의 모든 점 N개에 대해 O(N x K2)으로 매우 느리다. 이러한 계산의 속도를 향상시키기 위해 본 연구에서는 영역합계 테이블에 기반을 둔 빠른 계산 방법을 제안한다. 먼저 위 식(1)의 분산(표준편차) 계산식은 평균의 정의에 따라 정리하여 다음의 식(2)로 바꿔 표시할 수 있다.

σ 2 ( x , y ) = 1 K 2 ( i = K / 2 K / 2 j = K / 2 K / 2 I ( x + i , y + j ) 2 ) I ˜ ( x , y ) 2
(2)

이렇게 변환할 경우 분산(표준편차)은 각 점에서의 밝기의 제곱의 평균과 지역 평균의 제곱의 차로 계산될 수 있다. 밝기의 제곱의 합계는 제곱 값을 저장하는 영역 제곱 합계테이블(summed area table)을 통해 계산의 효율성을 높일 수있다. 영역 합계 테이블은 입력 이미지의 크기와 같은 크기의 메모리공간을 설정하고, 각 점(x,y)에는 식(3)그림(3)과 같이 (0,0)에서 그 점까지의 모든 제곱 값의 합계를 저장하여 구성한다.

jkcgs-24-3-43-g3
Figure 3. Summed Area Table, which stores the summation value in the area
Download Original Figure
S ( x , y ) = i = 0 x j = 0 y I ( i , j ) 2
(3)

이러한 영역 합계 테이블은 K의 크기에 상관없이 언제나 다음 식(4)와 같이 4번의 산술연산만으로 임의의 영역의 합계계산을 가능하게 해준다.

i = K / 2 K / 2 j = K / 2 K / 2 I ( x + i , y + j ) 2 = S ( x + K 2 , y + K 2 ) S ( x K 2 , y + K 2 ) S ( x + K 2 , y K 2 ) + S ( x K 2 , y K 2 )
(4)

이경우 모든 점 N에 대해 표준편차를 구하는 계산복잡도는 O(N)이 되어 효율적으로 계산이 가능하다

4.2 지역 기반 이미지 개선

이미지의 개선의 목적은 지역의 밝기 분포에 따라 지역적으로 어두운 색은 최대한 어둡게, 지역적으로 밝은 색은 최대한 밝은색으로 변환하여 선명도를 높이는 데 있다. 즉, 한 점 (x,y)를 중심으로 K x K 커널 사이즈 내에서 밝기의 최소값 및 최대값을 각각 Imin(x,y), Imax(x,y) 라 할 때, 주어진 점의 밝기 I(x,y)는 다음과같이 지역적으로 변환이 가능하다.

I ^ ( x , y ) = ( I ( x , y ) I m i n ( x , y ) ) ( I max ( x , y ) I m i n ( x , y ) )
(5)

이러한 변환은 결과적으로 지역적 밝기 분포에 따른 적응적 밝기, 대비 조정 효과를 가져온다.

지역적 최소 및 최대 값을 계산하는 시간 복잡도는 단순히 구현할 경우 이미지 상의 모든 점 N개에 대해 O(N x K2)으로 역시 매우 느릴 수 있다. 본 연구에서는 계산의 속도를 향상시키기 위해 각 점에서 가로로 K범위 내 점에 대해 최대최소를 구하여 각 점에 저장하고, 이 후 다시 각 점에서 저장된 최대 최소의 값을 세로로 K 범위 내에서의 최대 최소로 갱신하는 방식의 두 단계(two-pass) 접근법을 통해 시간복잡도를 O(N x K)로 낮추어 주었다.

위에서 얻은 개선된 밝기 값은 더욱 선명하게 조정하기 위한 후처리가 필요할 수 있으며, 본 연구에서는 이를 위해시그모이드(sigmoid) 함수를 이용하였다. 시그모이드 함수는아래와 그림 4에서 보이는 것과 같이 밝은 색과 어두운 색을 더욱 분리하는 효과를 줄 수 있어 단순한 이진화(binarization)의 대안으로 활용할 수 있다.

jkcgs-24-3-43-g4
Figure 4. Sigmoid function which helps parametrically separate the given values.
Download Original Figure

시그모이드 함수는 다음 식(6)과 같이 매개변수로 구성될 수있으며, 여기서 L 은 출력의 최대값, I0는 입력의 중간값, k는 곡선의 기움(steepness) 정도를 조정하는 값이다.

I ¯ ( x , y ) = L 1 + e k ( I ( x , y ) I 0 )
(6)

본 실험에서는 L =1, I0 = 0.5, k= 15를 사용하였다. 이러한 변환은 결과적으로 감마조정과 유사한 효과를 가져온다.

4.3 변화량 기반 빈 곳 메우기

이미지의 글자 및 그림 부분을 개선한 후 마지막으로 빈 부분을 채워야 한다. 빈 부분은 그림 및 글자가 없는 부분으로 간단히 종이의 바탕색인 흰색으로 일괄적으로 채울 경우 큰 글자나 큰 그림의 내부가 하얗게 칠해지는 문제가 발생할 수 있다. 즉, 색변화가 없다는 의미가 항상 빈 종이라는 것을 의미하지 않으며, 검은 색으로 칠해진 영역의 내부일 수도 있기 때문에 주의할 필요가 있다.

본 연구에서는 지역기반 이미지 개선을 통해 얻어진 글자 및그림 영역의 색들을 경계값 조건으로 고정하고 밝기 변화량이 최소가 되도록 내부의 색을 결정하는 변화량 기반(gradient-based) 빈 곳 메우기(hole-filling)기법을 적용하였다. 이 방법은 Perez 등이 제안한 포와송(poisson) 이미지 편집 기술로 더욱 잘알려져 있으며, 다음과 같은 수 식(7)로 표현될 수 있다.

ar g m i n I Ω | I | 2 w i t h I | Ω = I | Ω
(7)

여기서 Ω는 채워야 할 내부, ∂Ω는 경계면을 의미하며, I*는 앞절의 방식으로 정한 글자와 그림을 담고 있는 부분의 밝기 값을의미한다.

5. 실험 결과

기술의 효과를 검증하기 위해 다양한 입력 이미지에 대해 실험을 시행하였다. 다른 방법과의 비교를 위해 [7]에서 제안한 다중 스케일의 이미지 피라미드 방법(multi-scale image pyramid)과, 지역 기반 적응 경계치법(adaptive thresholding)을 적용한 결과들을 본 논문의 결과와 비교하였으며, 이를 그림 5 에 정리하여 나타냈다.

jkcgs-24-3-43-g5
Figure 5. Experimental results: (a) input images; (b) multi-scale pyramid-based method; (c) adaptive threshold; (d) our results
Download Original Figure

그림 5 의 위에서부터 세개의 예제는 일반적인 부드러운 그림자들을 효과적으로 제거할 수 있는 지 확인할 수 있는 예제로 약한 그림자의 경우 모든 방법이 다 잘 제거했음을 볼 수 있으나, 세번째 예제처럼 강한 조명효과가 있는 경우 피라미드 기반 방법은 잘 동작하지 않는 것을 확인할 수 있다. 그 아래 세개의 예제는 두꺼운 글씨나 그림에 대해 얼마나 강건하게 동작하는가를 시험하기 위한 예제로, 첫번째 스타벅스 글씨의 경우 일반적인 글씨보다 두껍기에, 적응 경계값 법을 적용할 때 글씨의 중간에 구멍이 나는 것을 볼 수있다. 그 다음 두 개의 예제와 같이 그림이 커지거나 극단적으로 두꺼워 질 경우에 문제점이 더욱 두드러지게 나타난다. 반면 본 연구의 결과는 공통적으로 잘 동작함을 확인할 수 있다.

마지막 예제는 세번째 입력 예제를 반전시킨 이미지로, 피라미드나 적응 경계치법은 잘 동작하지 않으나, 본 연구방법은 일관되게 좋은 결과를 만들어 냄을 확인할 수 있다.

6. 결론

본 논문은 모바일 기기를 이용하여 문서를 촬영했을 때 문서에드리운 그림자를 제거하는 새로운 방법을 제안하였다. 제안된방법은 지역 통계를 이용하여 글자나 그림과 같은 흥미로운 내용이 있는 부분을 파악하고, 지역적으로 이미지의 선명도를 높인다. 반면 내용이 없는 부분은 변형량 기반 빈 곳 메우기방식을 적용하였다. 다양한 실험을 통해 제안한 방법의 일관된 효과와 강건성을 확인 할 수 있었다. 그러나, 본 연구는 문서의 내용 인식 등을 통한 지능적인 개선을 수행하지는 않고 있다. 향후 기계 학습 등의 적용을 통해 내용 인식에 기반을 둔 이미지 향상 기법으로 발전시켜 나갈 수 있을 것이다.

References

[1].

Nemonic, http://mangoslab.com, Mangoslab Co. Ltd

[2].

G. Finlayson, M. Drew, and C. Liu, “Intrinsic images by entropy minimization,” In Proc. ECCV, vol. III, pp. 582-595, 2004

[3].

G. Finlayson, S. Hordley, and M. Drew, “Removing shadows from images,” In Proc. ECCV, vol. IV, pp. 823-836, 2002

[4].

C. Fredembach and G. Finlayson, “Hamilonian path based shadow removal,” In Proc. BMVC05, 2005

[5].

C. Fredembach and G. Finlayson, “Simple shadow removal,” In Proc. ICPR, vol. I, pp. 832-835, 2006

[6].

A. Mohan, J. Tumblin, and P. Choudhury, “Editing soft shadows in a digital photograph,” IEEE Computer Graphics Applications,vol. 27, no. 2, pp 22-31, 2007

[7].

B. Oh, M. Chen, J. Dorsey, and F. Durand, “Image-based modeling and photo editing,” In Proc. SIGGRAPH 2001, pp. 433-442, 2001

[8].

T. Wu, C. Tang, M. Brown and H. Shum, “Natural shadow matting,” ACM Transactions on Graphics, vol 26, no. 2, article no8, 2007

[9].

Y. Shor and D. Lischinski, “The shadow meets the mask: Pyramid-based shadow removal,” Computer Graphics Forum, vol. 27, no. 2, pp. 577-786, 2008

[10].

P. Perez, M. Gangnet and A. Blake, “Poisson image editing,” In Proc SIGGRAPH 2003, pp. 313-318, 2003