영상의유사도와 화면의종횡비를고려한...

8
REP - CP - 007, J ULY 2009 1 의유PHOTOLAND Elevated Digital Photo Placement Algorithm for PHOTOLAND Considering Screen Aspect Ratio and Image Color Similarity Ryu Dong-Sung [email protected] ABSTRACT 장의 일이 , 방법 집중. 부분, 의이방법. 본보2D 장의 PHOTOLAND , 부분 . 의유Cross Correlation 방법, 색상 , 색상이유 . KEYWORDS Photo Visualization, Aspect Ratio, Cross Correlation 1 부분의일, 을인은이[?], [?]. 본보장의 2D PHOTOLAND 색상 방법. PHOTOLAND 각과 , 2 [?]. 색상, 방법은일방법. , A B A (i,j ) B (i,j ) 방법(i, j ) , 색상 . 상사, 부분의유. PHOTOLAND 방법, 행해결과가 종종 . 본보PHOTOLAND Copyright © Graphics Application Lab. Pusan National University

Upload: others

Post on 09-Oct-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

REP - CP - 007, JULY 2009 1

영상의유사도와화면의종횡비를고려한 PHOTOLAND사진

배치알고리즘개선

Elevated Digital Photo Placement Algorithm for PHOTOLAND ConsideringScreen Aspect Ratio and Image Color Similarity

류동성

Ryu Dong-Sung

부산대학교 컴퓨터공학과

[email protected]

ABSTRACT

최근 몇년 동안 보급형 디지털 카메라가 보편화됨에 따라 일반 사람들이 수백장에서 수천장의

사진을 촬영하는 일이 많아졌으며, 대용량의 사진들을 효율적으로 관리하고 시각화하는 방법 또

한 관심이 집중되고 있다. 일반적으로 대부분의 사람들은 많은 수의 디지털 사진을 관리하기 위

해서, 사진의 이벤트 혹은 날짜에 따라 사진을 따로 저장하는 방법을 사용한다. 본 보고서에서는

2D 그리드에 수백에서 수천장의 사진을 배치하는 PHOTOLAND에서 화면의 종횡비를 고려한

사진 배치 알고리즘을 구현하였으며, 이를 통해 사용자가 한 화면에서 그리드에 배치된 전체

사진을 대부분 볼 수 있는 인터페이스를 제공한다. 또한 두 사진의 유사도를 비교할 때 Cross

Correlation 방법을 사용하여, 두 사진의 색상 유사도 비교의 정확성을 개선함으로써, 색상이 유

사한 사진이 서로 밀집하게 배치되었다.

KEYWORDS Photo Visualization, Aspect Ratio, Cross Correlation

1 서 론

대부분의 일반인들이 사진을 관리할 때, 각 사진들을 인물 혹은 이벤트 단위로 분류하며[?], 사진의

컨텐츠와 시간 정보에 따라 동일 사진들을 분류하기 위한 연구가 이루어졌다[?]. 본 보고서에서는 수

십에서 수백장의 사진을 배치하기 위한 연구인 2D 그리드 기반의 PHOTOLAND 사진 배치 알고리

즘에서 종횡비와 사진의 색상 비교 모듈을 개선하는 방법에 대해 논의한다.

PHOTOLAND는 사진을 배치할 때 각 사진들의 촬영 시각과 특정 블럭의 평균값을 평가하여, 사

진을 2차원의 그리드 셀에 배치한다[?]. 이 때 사용되는 두 사진의 색상은 특정 블럭의 평균값으로

비교 되며, 이 방법은 일반적인 사진 촬영 환경에 의해 많은 오차를 유발하는 방법이다. 예를 들어, 두

사진 영상 A와 B의 특정 블럭 A(i,j)와 B(i,j)의 평균값을 비교하는 방법은 (i, j) 번째 각 블럭의 객체

가 다를 경우, 전혀 다른 색상 유사도 값을 반환한다. 사진 촬영의 특성상 사진 영상에서 특정 블럭의

객체가 다른 객체가 될 확률은 상당히 높은 수준이며, 이를 개선하기 위해 두 사진 영상의 대부분의

픽셀들을 검사할 수 있는 영상의 유사도 비교 검사가 필요하다. 또한 PHOTOLAND의 배치 방법은

화면의 전체적인 종횡비를 고려하지 않기 때문에, 사용자가 배치된 각 사진들을 전체적으로 보기 위해

서 스크롤을 수행해야 하는 불편한 결과가 종종 발생한다. 본 보고서에서는 이전의 PHOTOLAND의

Copyright © Graphics Application Lab. Pusan National University

REP - CP - 007, JULY 2009 2

사진 배치 알고리즘을 개선하여, 화면의 종횡비를 고려하는 것과 각 픽셀의 공간적인 위치를 고려한

사진 검사 비교 모듈을 구현한다.

– 두 사진의 색상 유사도 평가에 있어서 대부분의 픽셀 위치를 고려한 사진 유사도 평가 방법.

– 2D 그리드에서 화면의 종횡비를 고려한 사진 배치 알고리즘.

2 관련 연구

2.1 유사도 측정 방법

두 영상의 유사도를 측정하기 위해 많은 방법이 사용되고 있으며, 대표적으로 색상 히스토그램을 이

용한 방법과 색상 인덱스를 공간적으로 약한 제약 조건과 함께 생성하여 비교하는 방법 그리고 지배

적인 영역의 색상을 이용한 비교 방법이 있다.

색상 히스토그램을 이용하는 방법은 각 영상에 분포한 색상 수를 계산하여 그 색상 수가 가장 비

슷한 이미지를 유사한 이미지로 판별하는 방법이다. 이 방법은 간단하고 효율적이며, 회전과 같은 변

형에도 정확하게 이미지를 찾아낼 수 있다. 그러나 두 영상의 색상 분포가 서로 비슷하지만 다른 객

체를 촬영한 사진을 같은 영상으로 판별하는 단점이 있다.

공간적인 약한 제약 조건을 포함하는 색상 인덱싱 방법은 두 영상에서 중요한 부분으로 구분 (블

럭화도 가능)한 후, 각 영역별로 색상 평균 혹은 변동량등의 스칼라 값으로 인덱싱을 수행하여 두 사

진을 비교한다. 그러나 이러한 방법으로 두 사진을 비교할 경우, 영역에 대한 위치 정보를 강화해야할

필요가 있다. 일반적으로 사진 촬영의 경우, 유사한 배경 분포를 가진 사진을 연속적으로 촬영할 확률

이 많으며, 줌인 혹은 약간의 초점 이동을 수행하여 사진을 촬영하는 경우가 많기 때문에, 두 사진의

유사도 비교를 수행할 경우, 각 영상의 공간 정보는 아주 중요하게 취급해야 한다.

지배적인 색상 영역 기반의 이미지 검색 방법[?]은 사람이 영상을 인식하는 방법과 유사한 연관관

계를 가지며, 스케일링이나 방향 그리고 투시 변환 회전 등에 견고한 장점이 있다. Prasad는 이미지

DB에서 각각의 지배적인 색상 영역에 기반한 영상 인덱싱을 수행하였다. 그러나 이 방법은 각 영상

별로 세그멘테이션 과정과 지배적인 영역 기반의 인덱싱을 미리 전처리해 놓아야 하는 과정이 필요

하다. 그리고 PHOTOLAND에서 활용하기 위해서는 각 영상의 세그멘테이션 방법의 속도 개선이나

인덱싱 방법 등과 같은 좀 더 많은 연구가 필요할 것이다.

2.2 이미지 검색 시스템

각 이미지의 유사도를 측정하기 위해 많은 연구가 이루어졌으며, 이러한 연구들은 대부분 내용 기반의

이미지 검색 시스템에서 유사한 이미지를 비교하기 위해서 사용된다. 대표적인 이미지 검색 시스템은

Virage[?], QBIC[?] 그리고 VisualSEEk[?]이며, 대부분의 시스템들은 영상을 비교하기 위해서 전역 색

상 히스토그램과 영역별 비교 방법을 사용한다.

Virage(VIR Image Engine)[?]는 계산이 가능한 영상의 특징을 primitive로 정의하며, 각 primitive

사이의 거리를 계산한다. 두 영상의 유사도는 정의한 primitives를 조합하여 두 영상의 유사한 정도를

계산한다. Virage은 전역, 지역 색상 (global and local color), 텍스쳐 (texture) 그리고 도형 (shapes)

Copyright © Graphics Application Lab. Pusan National University

REP - CP - 007, JULY 2009 3

과 같이 4가지의 일반적인 primitives를 제공하며, 사용자가 특정 주제 (예를 들어 위성 사진)의 사

진에서 primitive를 정의하고 각 primitive 사이의 거리를 정의하면 사용자가 정의한 primitive로 두

영상의 유사도를 계산할 수 있다.

VisualSEEk는 이미지 DB에서 지배적인 (dominant) 색상으로 구성된 각 영역으로 분할하여 저장

한 후, 사용자가 영상을 찾을 때 가장 유사한 영역을 포함하는 영상을 매칭하여 찾는다. 각 지배적인

색상 영역 추출은 수정된 색상 히스토그램을 이용하여 원본 영상을 재복원하는 back-projection 기술

을 사용하며, 그 기술을 요약하면 다음과 같다.

1. 먼저 HSV 색상 모델에서 166가지의 색상을 선택하여 색상 히스토그램을 구성하기 위한 bin을

설정한다.

2. 원본 영상 I에서 Back-projection에 의해 세그멘테이션된 B는 B[x, y] = maxja[k, j]c[j] 규칙에

따라 생성된다.

3. 이 때, k는 앞서 지정한 166가지의 색상 인덱스 (0,...165)를 의미하며, 해당 픽셀 [x, y]에서의

세그멘테이션된 색상 B[x, y]는 두 색상 k와 j의 색상 거리를 의미한다.

QBIC(Query By Image Content)은 Canny Edge와 같은 윤곽선 검출 알고리즘에 의해 생성된

윤곽선을 이용하는 이미지 검색 시스템이다. 이 때, 윤곽선의 특징을 비교하기 위해서, 윤곽선을 이루

는 shape의 면적과 원형정도 (circularity), 이심율 (eccentricity) 그리고 주요 축의 방향등을 비교하며,

고유치 값을 이용한 대수적인 모멘트 변수를 계산한다. QBIC을 이용하는 사용자는 검색하고자 하는

영상의 간단한 스케치와 택스쳐 패턴등을 선택하면 원하는 영상을 검색할 수 있다.

그 외에도 HSV 색상 히스토그램과 상대적인 방향과 곡률 그리고 영상에서 라인의 대조 등을 이

용한 시스템인 Excalibur Visual RetrievalWare와 사용자가 지정한 폴리곤을 이용하여 유사한 영상을

검출하는 MARS (Multimedia Analysis and Retrieval System)등 다양한 방법을 사용하는 시스템이

존재한다.

3 PHOTOLAND 사진 배치 알고리즘의 개선

3.1 Cross Correlation을 이용한 사진의 유사도 측정

PHOTOLAND는 두 사진의 Spatial 정보 (색상 정보)를 비교할 때, 각 사진의 특정 블럭에 대한 픽셀

들의 색상 차이에 대한 평균값을 사용한다[?]. 그러나 특정 블럭 색상값을 고려하는 방법은 일반적인

사진 촬영 방식을 고려할 때, 측정된 유사도 값이 모호한 경우가 발생한다. 일반적으로 사진을 촬영할

때, 유사한 배경 분포를 가진 사진들이 연속적으로 촬영되며, 사용자가 관심 있어 하는 특정 블럭의

색상만 다른 객체로 촬영될 가능성이 많다. 즉 대부분 같은 색상 분포의 환경에서 관심 있는 객체가

다른 경우, 특정 블럭의 색상값 차이는 유사한 사진이라 하더라도 유사하지 않은 사진들로 판별되기

때문에, 각 영상에서 각 픽셀의 공간 정보에 따른 정보는 아주 중요하게 취급해야 한다.

Cross Correlation[?]은 두 개의 연속된 데이터들이 얼마나 연관되어 있는지를 예측하는 표준 방

법이다. 두 사진의 유사도를 비교할 경우에는 각 픽셀 데이터들의 색상값이 얼마나 유사하게 관련되

Copyright © Graphics Application Lab. Pusan National University

REP - CP - 007, JULY 2009 4

어 있는지를 측정하는 방법이며, 2차원 x,y 픽셀 좌표에서는 Normalized Cross Correlation(NCC)은

수식 1과 같이 정의된다.

NCC =

(x+∆x,y+∆y)(Ik(x, y) − Ik)(In(x + ∆x, y + ∆y) − In)√

(x,y)(Ik(x, y) − Ik)2∑

(x+∆x,y+∆y)(In(x + ∆x, y + ∆y) − In)2(1)

수식 1에서 Ik는 k 영상에서 그레이 색상값을 의미하며, In은 k 영상과 비교가 되는 n 영상의 그레이

색상값을 의미한다. 각 Ik 와 Ik은 각 k와 n 영상의 그레이 색상값의 평균을 의미하며, ∆x와 ∆y는 =

0,1,2,...,N-1정도로 상관관계를 가지는 x와 y 좌표를 의미한다. Cross Correlation은 영상 처리 분야의

템플릿 매칭에서 널리 사용되는 방법이며, 두 사진 비교에 있어서 두 영상의 각 픽셀위치에 따른 색

상 정보를 가장 잘 반영하는 이미지 유사도 측정 방법이다. 그러므로 본 보고서에서는 PHOTOLAND

의 각 사진들의 공간 정보에 대한 비교 기준으로 Normalized Cross Correlation을 이용하였다. 이를

위해서 먼저, 전처리 단계에서 각 사진에 대한 일정크기의 썸네일 (120 × 90)을 생성한 후, 실제 공간

정보 비교를 수행할 때 이 두 썸네일에 대한 Normalized Cross Correlation을 사용하였다.

두 영상의 Cross Correlation 구현 방법은 OpenCV 라이브러리에서 제공해 주며, 다음과 같이 사

용한다.

코드 1. cvMatchTemplate 함수 원형과 그 사용법

void cvMatchTemplate( const CvArr* image, const CvArr* templ, CvArr* result,

int method );

// image : 템플릿의 검색 대상인 이미지 영상

// templ : image에서 찾기 위한 템플릿 영상

// result : 템플릿 매칭을 수행한 결과값

// method : 템플릿 매칭을 수행하기 위한 방법. CV_TM_SQDIFF, CV_TM_SQDIFF_NORMED 등등

// 많은 방법이 존재하며, 본 보고서에서는 Normailzed Cross Correlation을 사용하기 위해서

// CV_TM_CCORR_NORMED 을 사용한다.

double correlation_value;

double min;

CvPoint left_top;

// 상관계수 계산 결과를 저장하기 위한 영상.

IplImage *pR = cvCreateImage( cvSize( A->width - B->width+1, A->height - B->height+1 ),

IPL_DEPTH_32F, 1 );

// 상관계수를 구하여 pR 에 그린다.

cvMatchTemplate(A, B, pR, CV_TM_CCORR_NORMED);

Copyright © Graphics Application Lab. Pusan National University

REP - CP - 007, JULY 2009 5

// 상관계수가 최대값을 값는 위치 찾기 correlation_value에 저장된다.

cvMinMaxLoc(pR, &min, &correlation_value, NULL, &left_top);

// 찾은 객체에 사격형을 그린다.

// cvRectangle(A, left_top, cvPoint(left_top.x + B->width, left_top.y + B->height),

CV_RGB(255,0,0));

// 결과를 해제한다.

cvReleaseImage(&pR);

3.2 종횡비를 고려한 사진 배치 알고리즘

PHOTOLAND의 사진 배치 알고리즘은 종횡비를 고려하지 않은 배치 방법을 사용하였기 때문에, 랜

덤하게 그림 ??의 (a)와 같이 사용자가 한 화면에서 전체 사진을 볼 수 없는 배치하였다. 이러한 배치

방법은 사용자가 촬영한 대부분의 사진을 전체적으로 관리하기 위한 PHOTOLAND의 인터페이스 목

적에 위배되는 결과로 본 보고서에서는 실제 화면의 종횡비인 ScreenAR을 고려한다. 먼저 실제 배

치된 사진들의 종횡비인 RealAR와 ScreenAR 차이가 일정 이상인 후보 셀인 경우, 그 비율에 따라

페널티 (P(x,y))를 적용하여, 화면의 종횡비를 위반하는 후보셀 (C(x, y))에 각 사진의 배치를 제약한다.

이 때 페널티 PC(x,y) 는 종횡비의 차이가 있는 후보셀에 사진을 배치한 경우, 종횡비 차이의 비율로써

정의하였으며, 수식 2와 같다.

PC(x,y) = weightOfAR ·|RealAR − ScreenAR|

ScreenAR(2)

이 때 적용되는 페널티 P(x,y) 의 가중치는 weightOfAR로 결정되며, 페널티가 높을 경우 그림

??의 (b)와 같이 보이지 않는 직사각형 틀에 꽉 차듯이, 사진이 배치되어 부자연스러운 느낌을 준다.

그러므로 본 보고서에서는 이러한 부자연스러운 배치를 완화하기 위해서, 후보 셀 ( C(x, y))의 위치에

서 무게 중심 사이의 거리에 따라 각 이웃셀의 상태 (BEACH, BAY, SWAMP)[?]에 적용되는 가중치를

완화하여, 그림 (b)와 같이 직사각형 형태로 배치되는 효과를 완화하였다.

본 보고서에서는 종횡비를 고려한 사진의 배치 결과를 실제 배치된 사진들의 종횡비인 RealAR =

(width/height) 그리고 직사각형 그리드 셀의 개수 RN과 사진들이 차지하고 있는 셀의 개수N의

비를 Fillness = N/RN 로 정의하여 그 성능을 그림 ??과 같이 평가하였다. 그 결과 그림 (C) 와 (D)

에서 보는 것과 같이 RealAR과 Fillness등이 향상된 것을 알 수 있으며, 각 사진 또한 한 화면에서

전체적으로 볼 수 있는 자연스러운 배치가 수행된 것을 알 수 있다.

4 결론

디지털 카메라의 보급으로 인해 일반 사람들이 수백에서 수천장의 사진들을 관리해야 하는 일이 많아

졌기 때문에, 이를 시각화하고 관리하기 위한 방법에 대해 많은 연구가 이루어졌다. 그 중 PHOTOLA

Copyright © Graphics Application Lab. Pusan National University

REP - CP - 007, JULY 2009 6

(A) 종횡비를 고려하지 않은 배치 결과.

RealAR = 0.72 , Fillness = 0.23 N =

1420

(B) 종횡비 제약이 너무 강한 사진 배치

결과. RealAR = 1.38 , Fillness = 0.73

N = 610, ScreenAR = 2.5

(C) weightOfAR = 0.5 , RealAR = 1.30 , Fillness = 0.41, N = 992, ScreenAR = 2.5

(D) weightOfAR = 1.0 , RealAR = 1.58 , Fillness = 0.66, N = 1916, ScreenAR = 4.0

그림 1. 화면의 종횡비 제약 조건을 고려한 PHOTOLAND의 사진 배치 결과.

Copyright © Graphics Application Lab. Pusan National University

REP - CP - 007, JULY 2009 7

ND[?]는 각 사진의 촬영 시각의 차이와 색상 차이에 따라 유사한 정도를 정의하고 유사한 사진들을

인접 그리드에 사진을 배치하는 방법을 사용한다. 그러나 그리드 기반의 PHOTOLAND 사진 배치

방법은 화면의 종횡비를 고려하지 않아기 때문에, 사용자가 한 화면에서 배치된 사진들을 전체적으로

볼 수 없는 결과가 종종 발생한다.

이러한 단점을 보완하기 위해서, 본 보고서에서는 사진들이 배치될 당시의 화면 종횡비와 무게 중

심에서 사진이 배치될 위치를 고려한 방법으로 PHOTOLAND의 사진 배치 방법을 개선하였다. 또한

두 사진을 비교할 때, 활용되는 Spatial Measure로써, Normalized Cross Correlation 방법을 사용

하여, 특정 블럭의 색상 차이 평균을 고려하는 기존의 PHOTOLAND 사진 비교 방법을 개선하였다.

그러나 Cross Correlation 방법을 사용할 경우, 두 원본 사진으로부터 크기가 같은 썸네일을 생성해야

하며, 수행 시간 비용이 증가하는 단점이 있다. 이번 실험에서는 각 사진별로 120×90 썸네일을 생성

하여 템플릿 매칭을 수행하였으며, 1916 개의 사진을 배치할 때 대략 160 초 정도 소모되는 시간이

약 400초 정도로 증가하였다. 그러므로 이러한 단점을 극복하기 위해서, GPU와 같이 병렬 처리에

특성화된 하드웨어를 이용한 시간 단축을 수행해야 한다.

두 사진의 Spatial Measure 비교시 소모되는 시간 문제를 해결하기 위해서, 각 사진의 지배적인 색

상을 이용한 인덱싱을 전처리 단계에서 수행[?]하는 방법 또한 유용하다. OffLine으로 특정 지배적인

색상을 기준으로 각 사진의 양자화를 수행하면서, 5 ∼ 6 가지 정도의 상위 지배 색상을 각각 indexing

을 수행한다면, 실시간에서 두 사진의 Spatial Measure 비교가 단순한 스칼라 값 비교연산으로 변경

가능하다. 그러나 이러한 방법은 양자화된 색상 체계의 거리함수가 사람의 시각에 맞게 정의되어야

하는 등의 실험이 병행되어야 한다. 본 보고서에서는 다음과 같이 향후 연구과제를 요약한다.

– GPU를 이용한 1 ∼ 2M 크기 사진들의 단계별 썸네일 생성 모듈 구현으로 유사도 비교 모듈의

시간 단축.

– GPU를 이용한 Cross Correlation 기법 구현으로 이미지 유사도 비교 모듈의 시간 단축.

– 지배적인 색상의 영역 인덱싱을 통한 두 사진의 Spatial Measure 비교 모듈 구축.

참고 문헌

1. J. R. Bach, C. Fuller, A. Gupta, A. Hampapur, B. Horowitz, R. Humphrey, R. C. Jain, and C. F. Shu,

“Virage image search engine: an open framework for image management,” I. K. Sethi and R. C. Jain,

Eds., vol. 2670, no. 1. SPIE, 1996, pp. 76–87.

2. M. Flickner, H. Sawhney, W. Niblack, J. Ashley, Q. Huang, B. Dom, M. Gorkani, J. Hafner, D. Lee,

D. Petkovic, D. Steele, and P. Yanker, “Query by image and video content: the qbic system,”

Computer, vol. 28, no. 9, pp. 23–32, 1995. [Online]. Available: http://ieeexplore.ieee.org/xpls/abs

all.jsp?arnumber=410146

3. B. G. Prasad, K. K. Biswas, and S. K. Gupta, “Region-based image retrieval using integrated color, shape

and location index,” in Computer Vision and Image Understanding, Vol.94, No.1-3 (April 2004) pp 193-233, ISSN,

2003, pp. 193–233.

4. K. Rodden, “Evaluating user interfaces for image browsing and retrieval,” Ph.D. dissertation, University of

Cambridge Computer Laboratory, 2001.

Copyright © Graphics Application Lab. Pusan National University

REP - CP - 007, JULY 2009 8

5. K. Rodden and K. R. Wood, “How do people manage their digital photographs?” in CHI ’03: Proceedings of

the SIGCHI conference on Human factors in computing systems. New York, NY, USA: ACM Press, 2003, pp.

409–416. [Online]. Available: http://dx.doi.org/10.1145/642611.642682

6. J. R. Smith and S. fu Chang, “Visualseek: a fully automated content-based image query system,” 1996, pp.

87–98.

7. D.-M. Tsai and C.-T. Lin, “Fast normalized cross correlation for defect detection,” Pattern Recogn. Lett.,

vol. 24, no. 15, pp. 2625–2631, 2003.

8. ”류동성”, “디지털사진의암시적클러스터링을위한가상의 PHOTOLAND생성,” Graphics Application Lab.

CS Dept., Technical Report REP09006, April 2009.

Copyright © Graphics Application Lab. Pusan National University