KR20040088518A - 디지털 화상에서 적목 특징의 검출 및 보정 - Google Patents

디지털 화상에서 적목 특징의 검출 및 보정 Download PDF

Info

Publication number
KR20040088518A
KR20040088518A KR10-2004-7013138A KR20047013138A KR20040088518A KR 20040088518 A KR20040088518 A KR 20040088518A KR 20047013138 A KR20047013138 A KR 20047013138A KR 20040088518 A KR20040088518 A KR 20040088518A
Authority
KR
South Korea
Prior art keywords
saturation
pixel
pixels
brightness
area
Prior art date
Application number
KR10-2004-7013138A
Other languages
English (en)
Inventor
닉 자르만
리차드 라페르티
마리온 아키발드
마이크 스트로우드
나이젤 빅스
다니엘 놀밍턴
Original Assignee
픽솔로지 소프트웨어 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GB0204191A external-priority patent/GB2385736B/en
Priority claimed from GB0224054A external-priority patent/GB0224054D0/en
Application filed by 픽솔로지 소프트웨어 리미티드 filed Critical 픽솔로지 소프트웨어 리미티드
Publication of KR20040088518A publication Critical patent/KR20040088518A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/62Retouching, i.e. modification of isolated colours only or in isolated picture areas only
    • H04N1/624Red-eye correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • H04N23/12Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths with one sensor only

Abstract

디지털 화상에서 적목 특징을 보정하는 방법은, 적목 특징의 채도 및/또는 명도 프로파일 특징을 검색하여 화상 내의 각 화소에 걸쳐 스캔함으로써 가능한 특징들의 리스트를 생성하는 단계를 포함한다. 리스트 내의 각 특징에서, 적목 특징에 대응할 수 있는 보정가능 화소의 분리 영역을 발견하려는 시도가 행해진다. 각각의 성공적 시도는 영역들의 리스트에 기록된다. 각 영역은 그 후 그 영역의 통계치 및 기록 특징을 계산하도록 분석되고, 그 영역이 적목에 의해 야기된 것인지를 판정하기 위해 계산된 통계치 및 특징을 사용하여 확인한다. 적목에 의하지 않은 영역과 중첩 영역은 리스트에서 제거된다. 남은 각 영역은 적목 효과를 줄이도록 보정된다. 한 종류의 이상의 특징이 초기 특징 검색에서 식별될 수 있다.

Description

디지털 화상에서 적목 특징의 검출 및 보정{DETECTION AND CORRECTION OF RED-EYE FEATURES IN DIGITAL IMAGES}
사진에서 적목 현상은 공지되어 있다. 사람(또는 동물)에게 빛을 비추는데 플래시가 사용되는 경우, 빛은 종종 피사체의 망막으로부터 카메라로 직접 반사된다. 이는 피사체의 눈이 사진에서 현상 또는 인화될 때 적색으로 나타나게 한다.
사진은, 통상 화소 어레이로서, 디지털 화상으로 점차 저장되고 있으며, 여기서 각 화소는 24비트 값으로 통상 표현된다. 각 화소의 색은 그 화소에서 적, 녹, 청의 선명도(intensity)를 나타내는 세개의 8비트 값으로서 24비트 값 내에 인코딩될 수 있다. 다르게는, 화소의 어레이는 24비트 값이 "색상(hue)", "채도(saturation)" 및 "명도(lightness)"를 나타내는 3개의 8비트 값으로 이루어지도록 변형될 수 있다. 색상은 색을 정의하는 "원형" 스케일을 제공하는데, 0은 적색을 나타내고 값이 증가함에 따라 녹색 및 청색을 나타내며 255에서 다시 적색이 된다. 채도는 색상에 의해 식별된 색의 선명도의 척도(0 내지 255)를 제공한다. 명도는 조명량의 척도(0 내지 255)로 간주될 수 있다. "순" 색상은 검정(0)과 흰색(255) 사이 중도의 명도값을 갖는다. 예를 들어, (255의 적색 선명도와 0의 녹색 및 청색 선명도를 갖는) 순적색은 색상 0, 명도 128, 및 채도 255를 갖는다. 명도 255는 "흰색"이 된다. 본 출원에서, "색상", "채도" 및 "명도"에 대한 값이 주어지면, 이들은 이 단락에서 정의된 스케일을 의미한다.
이들 디지털 화상의 조작에 의해, 적목 효과를 감소시킬 수 있다. 이러한 작업을 수행하는 소프트웨어는 공지되어 있으며, 일반적으로, 적목 특징의 화소를 변경하여 그들의 적색 성분이 감소되도록 동작한다. 이는 그들의 색상을 변경하여 적색이 감소되거나 - (원형) 색상 스펙트럼의 적색 부위에서 회전됨 - 그들의 채도가 실질적으로 감소하도록 수행된다. 통상, 화소는 그 대신 검정 또는 암회색으로서 남게 된다.
대부분의 적목 감소 소프트웨어는 조작될 각 적목 특징의 중심 및 반지름을 입력으로 요구하며, 이러한 정보를 캡처하는 가장 단순한 방식은 사용자에게 각 적목 특징의 중심 화소를 선택하고 적색 부위의 반지름을 나타나도록 요청하는 것이다. 이러한 과정은 각 적목 특징에 대하여 수행될 수 있으며, 따라서 상기 조작은 화상의 나머지에는 어떤 영향도 없다. 그러나, 이는 사용자에게 주의깊고 정확한 입력을 요구하는 것으로서, 각 적목 특징의 정확한 중심을 찾아서 정정된 중심을 선택하는 것은 어렵다. 흔히 사용되는 다른 방법은 사용자가 적색 영역 주변에 박스를 그리는 것이다. 이는 사각형이므로, 특징을 정확하게 표시하는 것이 더욱 어렵다.
상기한 바와 같이, 적목 감소가 적용되어야 할 디지털 화상의 영역을 자동적으로 식별하는 것이 바람직하다. 이는 요구된 경우에만 적용되어 적목 감소를 용이하게 하며, 사용자로부터 매우 적거나, 보다 바람직하게는, 어떤 간섭도 없도록 행하여야 한다.
이하, 화소 행의 참조는 화소 열을 포함하며, 행을 따라 좌우로 이동하는 참조는 열을 따라 위아래로 이동하는 것을 포함한다. "상", "하", "좌", "우"의 정의는 사용하는 좌표시스템에 전적으로 의존한다.
본 발명은 적목 특징이 모두 유사한 특징을 갖는 것이 아니지만, 특징 속성에 따라 여러 유형으로 유용하게 나뉘어질 수 있음을 인식한다. 따라서, 본 발명은 화상에서 적목 특징의 존재를 검출 및 위치지정하는 하나 이상의 방법을 포함한다.
본 발명은 디지털 화상에서 적목의 검출 및 보정에 관한 것이다.
도 1은 적목 특징의 검출 및 제거를 나타내는 흐름도.
도 2는 통상의 적목 특징을 나타내는 개략도.
도 3은 통상의 제1 유형 특징의 채도 및 명도 동작을 나타내는 그래프.
도 4는 통상의 제2 유형 특징의 채도 및 명도 동작을 나타내는 그래프.
도 5는 통상의 제3 유형 특징의 명도 동작을 나타내는 그래프.
도 6은 통상의 제4 유형 특징의 채도 및 명도 동작을 나타내는 그래프.
도 7은 통상의 제5 유형 특징의 채도 및 명도 동작을 나타내는 그래프.
도 8은 도 2의 적목 특징의 개략도로서, 제1 유형 특징의 검출에서 식별되는 화소를 나타내는 도면.
도 9는 검출 알고리즘에 의해 식별되는 도 4의 제2 유형 특징의 지점들을 나타내는 그래프.
도 10은 도 4의 제2 유형 특징의 방향에 포함되는 채도와 명도 간의 비교를 나타내는 그래프.
도 11은 도 5의 제3 유형 특징의 명도 및 제1 미분 동작을 나타내는 그래프.
도 12는 특징을 형성하는 화소의 분리되고 닫힌 영역을 도시하는 도면.
도 13a 및 도 13b는 적색 영역 검출에 대한 기술을 나타내는 도면.
도 14는 어레이 내의 화소의 보정가능성을 가리키는 화소 어레이를 나타내는 도면.
도 15a 및 도 15b는 도 14의 어레이에서 화소의 점수를 매기는 메커니즘을 나타내는 도면.
도 16은 도 14의 어레이에서 생성된 점수지정된 화소의 어레이를 나타내는 도면.
도 17은 도 16의 어레이의 보정가능 영역의 에지를 식별하는데 사용되는 방법을 일반적으로 나타내는 개략도.
도 18은 일 열의 화소에서 영역의 에지를 발견하는데 사용되는 방법을 사용하여 도 16의 어레이를 나타내는 도면.
도 19a 및 도 19b는 위쪽으로 보정가능 화소의 에러를 따라가는데 사용되는 방법을 나타내는 도면.
도 20은 보정가능 영역의 탑 에지를 발견하는데 사용되는 방법을 나타내는 도면.
도 21은 도 16의 어레이를 나타내며, 보정 가능 영역의 에지를 따라가는데 사용되는 방법을 상세히 설명하는 도면.
도 22는 도 16의 어레이의 보정 가능 영역의 반지름을 나타내는 도면.
도 23은 추가 통계치가 기록되어야 하는 적목 특징 주변의 환형의 범위를 나타내는 개략도.
도 24는 (L,S)=(128, 255)로부터 화소의 명도 및 채도의 거리에 의해 채도 승수가 계산되는 방식을 나타내는 도면.
도 25는 채도 승수가 래디얼하게 변화되는 환형을 나타내는 도면.
도 26은 채도 승수가 평활화되는 화소를 나타내는 도면.
도 27은 명도 승수가 래디얼하게 변화되는 환형을 나타내는 도면.
도 28은 플레어된 적목 추적 보정의 범위를 나타내는 도면.
도 29는 도 28에서 식별된 플레어 화소가 시뮬레이션된 하이라이트로 감소되는 그리드를 나타내는 도면.
도 30은 도 28의 그리드에서, 매우 낮은 채도를 갖는 화소들만을 나타내는 도면.
도 31은 분리 화소의 제거 후의 도 30의 그리드를 나타내는 도면.
도 32는 도 31과의 비교 후의 도 29의 그리드를 나타내는 도면.
도 33은 에지 평활화 후의 도 31의 그리드를 나타내는 도면.
도 34는 에지 평활화 후의 도 32의 그리드를 나타내는 도면.
본 발명의 일 형태에 따르면, 디지털 화상에서 적목(red-eye) 특징을 검출하는 방법에 있어서,
소정의 채도 및/또는 명도 프로파일을 갖는 일 열의 화소들을 검색하여 상기 화상 내의 동공 영역들을 식별하는 단계;
상이한 소정의 채도 및/또는 명도 프로파일을 갖는 일 열의 화소들을 검색하여 상기 화상 내의 동공 영역들을 추가 식별하는 단계; 및
추가 선택 기준에 기초하여 각 동공 영역이 적목 특징의 일부에 대응하는지를 판정하는 단계를 포함하는 적목 특징 검출 방법이 제공된다.
따라서, 상이한 유형의 적목 특징이 검출되어, 화상 내의 모든 적목 특징이 식별될 수 있는 기회를 증가시킨다. 또한, 이는 적목 특징과 관련된 채도 및/또는명도 프로파일의 개별 유형이 구체적으로 특징화될 수 있게 하여, 오류 검출의 기회를 감소시킨다.
바람직하게는, 둘 이상의 동공 영역 유형이 식별되고, 각 유형에서의 동공 영역은 그 유형의 채도 및/또는 명도 프로파일 특징을 갖는 일 열의 화소들에 의해 식별된다.
적목 특징은 단순히 적색 화소들의 영역은 아니다. 또한, 적목 특징의 한 유형은 눈의 정면에서 플래시광의 반사에 의해 야기되는 밝은 반점(bright spot)을 포함한다. 이들 밝은 반점은 "하이라이트(highlight)"로 알려져 있다. 화상 내에 하이라이트가 위치하게 되면, 적목은 자동적으로 식별하기가 훨씬 용이하다. 하이라이트는 종종 중심밖에, 가끔은 에지에 있지만, 통상 적목 특징의 중심 부근에 위치한다. 다른 유형의 적목 특징은 이들 하이라이트를 포함하지 않는다.
식별된 동공 영역의 제1 유형은 주변 화소보다 높은 채도를 갖는 화소 영역을 포함하는 채도 프로파일을 가질 수 있다. 이는 하이라이트의 단순 검출을 용이하게 한다. 하이라이트 영역과 그 주변 영역 간의 채도/명도 대비는 적목 특징의 적색 부위와 이를 둘러싼 피부 톤 간의 색(또는 "색상") 대비보다 훨씬 더 두드러진다. 더욱이, 색은 JPEG 등의 화상 압축 포맷을 위해 저해상도에서 인코딩된다. 채도 및 명도를 사용하여 적목을 검출함으로써, 적목 특징에 대응하는 영역을 식별하는 것이 용이해진다.
모든 하이라이트가 명확하고, 쉽게 식별가능하며, 피사체 눈의 중심에 걸쳐 많은 화소를 측정하는 밝은 반점인 것은 아니다. 몇몇 경우에는, 특히 피사체가카메라와 약간 멀리있는 경우에는, 하이라이트는 단지 몇개의 화소들 또는 심지어 하나보다 적은 화소를 지름으로 할 수 있다. 이러한 경우, 하이라이트의 백색부분은 동공의 적색을 묽게 할 수 있다. 그러나, 이러한 하이라이트의 특징 채도 및 명도 "프로파일"을 여전히 검색할 수 있다.
식별된 동공 영역의 제2 유형은 두개의 채도 피크에 의해 경계지정되는 채도 트로프(saturation trough)를 포함하는 채도 프로파일을 가질 수 있으며, 상기 채도 피트 내 화소들은 채도 피트 외부 영역 내 화소보다 높은 채도를 가지며, 바람직하게는, 명도 피크는 채도 트로프에 대응한다.
동공 영역의 제3 유형은 명도값이 "W" 형상을 갖는 화소 영역을 구비하는 명도 프로파일을 가질 수 있다.
상술한 바와 같이, 적목 특징의 일부 유형은 하이라이트를 전혀 가지고 있지 않다. 이는 "플레어된(flared)" 적목 또는 "플레어(flare)"로서 알려져 있다. 이들은 동공이 많이 희석되어 전체 동공이 높은 명도를 갖는 경우의 눈을 포함한다. 또한, 플레어 내의 색상의 범위는 이전 3개 유형들의 것보다 일반적으로 넓다. 일부 화소들은 오렌지와 황색으로 나타날 수 있다. 또한, 플레어 내의 매우 밝은 핑크 화소 또는 흰색의 비가 매우 높을 수 있다. 이들은 상술한 제1 유형, 2, 3보다 검출하기가 어렵다.
식별된 동공 영역의 제4 유형은, 두개의 로컬 채도 극소값에 의해 경계지정되는 화소 영역을 구비하는 채도 및 명도 프로파일을 갖되,
상기 동공 영역의 적어도 하나의 화소는 소정의 채도 임계치보다 높은 채도를 가지며,
상기 동공 영역 내 화소들의 상기 채도 및 명도 곡선은 2번 교차하며,
두개의 로컬 명도 극소값은 상기 동공 영역에 위치할 수 있다.
소정 채도 임계치의 적당한 값은 약 200이다.
바람직하게는, 식별된 동공의 제4 유형의 채도/명도 프로파일은, 상기 동공 영역 내 적어도 하나의 화소의 채도는 그 화소의 명도보다 적어도 50 이상이고, 각각의 로컬 명도 극소값에서 상기 화소의 채도가 그 화소의 명도보다 크고, 상기 로컬 명도 극소값 중 하나는 상기 동공 영역 내에서 최저 명도를 갖는 화소를 포함하며, 상기 동공 영역 내 적어도 하나의 화소의 명도는 소정의 명도 임계치보다 큰 것을 더 요구한다. 또한, 소정의 임계치보다 큰 채도를 갖는 상기 적어도 하나의 화소의 색상이 약 210보다 크거나 약 20보다 작도록 요구될 수 있다.
동공 영역의 제5 유형은 소정의 임계치 이상의 채도를 갖고 두개의 로컬 채도 극소값에 의해 경계지정된 화소들의 높은 채도의 화소 영역을 포함하는 채도 및 명도 프로파일을 가지며,
상기 동공 영역 내 화소들의 상기 채도 및 명도 곡선은 교차 화소들(crossing pixel)에서 두번 교차하고,
상기 채도는 상기 교차 화소들 사이의 모든 화소들에 대하여 상기 명도보다 크고,
두개의 로컬 명도 극소값은 상기 동공 영역에 위치한다.
바람직하게는, 동공 영역의 제5 유형의 채도/명도 프로파일은, 상기 높은 채도 영역 내 화소들의 채도가 약 100이상이고, 상기 높은 채도 영역의 에지에서 화소들의 색상이 약 210보다 크거나 약 20보다 작으며, 각 로컬 명도 극소값 외측의 4개까지는 어떤 화소도 대응하는 로컬 명도 극소값에서의 상기 화소보다 낮은 명도를 갖지 않은 요건을 더 포함한다.
적목 동공의 특징을 식별하여, 적목에 의해 야기된 특징과 관련된 "보정가능(correctable)" 영역인지를 결정하고, 만약 그렇다면, 이를 보정하는 것이 필요하다.
본 발명의 다른 형태에 따르면, 디지털 화상에서 적목 특징을 보정하는 방법에 있어서,
상기 화상 내 각 화소에 걸쳐 스캔하여 적목 특징의 채도 및/또는 명도 프로파일 특징을 검색함으로써 가능 특징들의 리스트를 생성하는 단계;
상기 가능 특징들의 리스트에서의 각 특징에 대하여, 적목 특징에 대응할 수 있는 보정가능 화소들의 분리 영역을 발견하려고 시도하는 단계;
각각의 성공 시도를 기록하여 영역들의 리스트 내에서 분리 영역을 발견하는 단계;
상기 영역들의 리스트 내의 각 영역을 분석하여 그 영역의 통계치 및 기록 속성을 계산하는 단계;
상기 계산된 통계치 및 속성을 이용해 각 영역을 확인하여 그 영역이 적목에 의해 야기된 것인지를 판정하는 단계;
상기 영역들의 리스트에서 적목에 의해 야기되지 않은 영역들을 제거하는 단계;
상기 영역들의 리스트에서 일부 또는 전체 중첩 영역들을 제거하는 단계; 및
상기 영역들의 리스트 내에 남아있는 각 영역에서 일부 또는 전체 화소를 보정하여 적목 효과를 저감시키는 단계
를 포함하는 적목 특징 보정 방법이 제공된다.
가능 특징들의 리스트를 생성하는 상기 단계는, 상술한 방법을 사용하여 수행되는 것이 바람직하다.
본 발명의 또다른 형태에 따르면, 디지털 화상 내의 적목 특징에 대응하는 보정가능 화소의 영역을 보정하는 방법에 있어서,
상기 보정 가능 화소들의 영역을 둘러싸는 사각형을 구성하는 단계;
상기 사각형 내의 각 화소에 대하여 그 화소의 색상, 명도 및 채도를 기초로 하여 계산되는 채도 승수(multiplier)를 결정하는 단계;
상기 사각형 내의 각 화소에 대하여 그 화소를 둘러싼 화소들의 그리드 내의 채도 승수들을 평균함으로써 명도 승수를 결정하는 단계;
상기 사각형 내의 각 화소의 채도를, 그 화소의 상기 채도 승수에 의해 결정된 양만큼 변경하는 단계; 및
상기 사각형 내의 각 화소의 명도를, 그 화소의 상기 명도 승수에 의해 결정된 양만큼 변경하는 단계
를 포함하는 영역 보정 방법이 제공된다.
바람직하게는, 이는 상술한 영역들의 리스트 내의 각 영역을 보정하는데 사용되는 방법이다.
각 화소에서 채도 승수의 결정은,
채도 대 명도의 2D 그리드 상에서, 소정의 명도 및 채도 값을 갖는 교정 지점(calibration point)으로부터의 상기 화소의 거리를 계산하는 단계;
상기 거리가 소정 임계치보다 크면, 상기 채도 승수를 0으로 설정하여 그 화소의 채도가 변경되지 않도록 하는 단계; 및
상기 거리가 상기 소정 임계치 이하이면, 상기 교정 지점으로부터의 상기 거리에 기초하여 상기 채도 승수를 계산하되, 상기 거리가 작으면 1에 근접하고 상기 거리가 임계치에 근접하면 0이 되어, 상기 승수가 상기 임계치에서는 0이 되고 상기 교정 지점에서는 1이 되게 하는 단계
를 포함하는 것이 바람직하다.
바람직한 실시예에서, 상기 교정 지점은 명도 128이고 채도 255이고, 상기 소정 임계치는 약 180이다. 또한, 화소의 채도 승수가 화소가 "적색"이 아니면 - 즉, 색상이 약 20 내지 약 220 사이의 범위 - 0으로 설정되는 것이 바람직하다.
상기 사각형 내의 화소들의 채도 승수에 래디얼 조정(radial adjustment)을 적용하되, 상기 래디얼 조정은, 상기 사각형 내의 소정의 원 내부의 화소들의 채도 승수를 불변 상태로 두는 단계; 상기 소정 원의 외부에 있는 화소들의 채도 승수를, 상기 소정의 원에서의 그들의 이전 값들로부터 상기 사각형의 모서리에 있는 0의 값으로 점진적으로 변경하는 단계를 포함하는 것이 바람직하다. 이러한 래디얼 조정은 보정의 평활화를 보장하도록 지원하여, 눈의 에지에서 채도의 급격한 변화가 없게 한다.
또한, 유사한 래디얼 조정은 상이한 소정의 원에 기초하더라도, 명도 승수에 대하여 실행되는 것이 바람직하다.
에지를 더 평활화하기 위해서, 상기 보정가능 화소들의 영역 바로 밖의 각 화소에 대하여, 그 화소 주위의 3 × 3 그리드 내 화소들의 채도 승수값을 평균하여 새로운 채도 승수를 계산할 수 있다. 보정가능 영역의 에지 부근의 화소에 대하여 한 번, 그리고 사각형 내 모든 화소에 대하여 한번, 유사한 평활화 과정이 명도 승수에 대하여 행하는 것이 바람직하다.
각 화소의 명도 승수는 사각형 내의 모든 화소들에 대한 채도 승수들의 평균에 따라 스케일링되는 것이 바람직하다.
각 화소의 채도를 변경하는 단계는,
상기 화소의 채도가 200 이상이면, 상기 화소의 채도를 0으로 설정하는 단계; 및
상기 화소의 채도가 200 미만이면, 변경된 채도 = (채도×(1- 채도 승수))+(채도 승수×64)가 되도록 상기 화소의 채도를 변경하는 단계
를 포함하는 것이 바람직하다.
각 화소의 명도를 변경하는 단계는,
상기 화소의 채도가 0이 아니고 상기 화소의 명도가 220 미만이면, 변경된 명도 = 명도×(1-명도 승수)가 되도록 상기 명도를 변경하는 단계를 포함하는 것이 바람직하다.
적목 특징의 적색량을 더 줄이기 위해서, 상기 화소의 상기 채도 및 명도의 변경 후에, 상기 화소의 적색값이 녹색 및 청색값보다 높다면, 각 화소의 채도가 추가 감소될 수 있다.
상술한 보정 이후에도, 일부 적목 특징이 자연스럽게 보이지 않을 수 있다. 일반적으로, 이러한 눈은 하이라이트를 가지지 않으며, 보정된 경우, 밝고, 무채색의 화소로 대부분 이루어진다. 따라서, 보정 방법은 보정 후에 상기 영역이 밝은 하이라이트 영역과 어두운 동공 영역을 아직 포함하지 않으면, 상기 영역 내의 화소들의 명도 및 채도를 변경하여 그 주위에 밝은 하이라이트 영역과 어두운 주변 동공 영역의 효과를 부여하는 단계를 포함하는 것이 바람직하다.
이는, 보정 후에 상기 영역이 높은 명도와 낮은 채도를 갖는 화소들을 실질적으로 포함하는지를 결정하는 단계; 상기 영역 내의 적은 수의 화소를 포함하는 하이라이트 영역을 시뮬레이션하는 단계; 상기 시뮬레이션된 하이라이트 영역 내의 화소들의 명도 및 채도값을 변경하여, 상기 시뮬레이션된 하이라이트 영역이 높은 채도 및 명도를 갖는 화소들을 포함하게 하는 단계; 및 어두운 동공의 효과를 부여하도록 상기 시뮬레이션된 하이라이트 영역 외부의 영역 내의 화소들의 명도값을 감소시키는 단계들에 의해 영향을 받을 수 있다.
보정된 적목의 외관을 개선시키기 위한 하이라이트의 추가는 임의의 적목 검출 및/또는 보정 방법이 사용될 수 있음을 알 수 있다. 그러므로 본 발명의 다른 형태에 따르면, 디지털 화상에서 적목 특징을 보정하는 방법에 있어서, 밝은 화소의 시뮬레이션된 하이라이트 영역을 상기 적목 특징에 추가시키는 단계를 포함하는적목 특징 보정 방법이 제공된다. 상기 시뮬레이션된 하이라이트 영역 내 화소의 채도값은 증가될 수 있다.
바람직하게는, 시뮬레이션된 하이라이트 영역 주변의 동공 영역 내 화소는 어두워진다. 이는,
높은 명도와 낮은 채도를 갖는 화소들의 플레어 영역을 식별하는 단계;
상기 플레어 영역의 에지를 잠식(erode)시켜 상기 시뮬레이션된 하이라이트 영역을 결정하는 단계;
상기 플레어 영역 내의 화소들의 명도를 감소시키는 단계; 및
상기 시뮬레이션된 하이라이트 영역 내의 화소들의 채도 및 명도를 증가시키는 단계들에 의해 영향을 받을 수 있다.
매우 밝은 화소의 하이라이트 영역이 적목 특징에서 이미 존재하는 경우이면 보정이 실행되지 않는다.
이를 보정하기 위해 적목 특징을 자동 검출할 필요가 없음을 알 수 있을 것이다. 따라서 상술한 보정 방법은 상기 약술된 자동 검출 방법을 사용하여 식별된 특징 뿐만 아니라 사용자에 의해 식별된 적목 특징에도 적용될 수 있다.
유사하게, 보정 이전에 적색 영역을 식별하는 단계는, 사용자에 의해 식별된 특징에 대하여 또는 자동 검출된 특징에 대하여 실행될 수 있다.
본 발명의 또다른 형태에 따르면, 디지털 화상에서 적목 특징을 검출하는 방법에 있어서,
상기 화상 내의 기준 화소 주변의 보정가능 화소들의 분리되고 실질적으로원형인 영역을 식별하려고 시도함으로써 적목 특징이 상기 기준 화소 주변에 존재하는지를 결정하는 단계를 포함하되, 한 화소가 복수개의 소정의 조건 집합으로부터 적어도 하나의 소정 조건 집합을 만족하면 그 화소가 보정가능한 것으로 분류되는 적목 특징 검출 방법이 제공된다.
하나의 소정 조건 집합은, 상기 화소의 색상이 약 200이상 또는 약 10이하이고, 상기 화소의 채도는 약 80이상이며, 상기 화소의 명도는 약 200미만인 조건들을 포함할 수 있다.
추가 또는 대체의 소정 조건 집합은, 상기 화소의 채도가 255이고, 상기 화소의 명도는 약 150 초과라는 조건이거나, 상기 화소의 색상이 약 245이상이거나 약 20이하이고, 상기 화소의 채도는 약 50 초과이고, 상기 화소의 채도는 (1.8×명도-92) 미만이고, 상기 화소의 채도는 (1.1×명도-90) 초과이며, 상기 화소의 명도는 약 100 초과인 조건을 포함할 수 있다.
추가 또는 대체의 소정 조건 집합은, 상기 화소의 색상은 약 220 이하 또는 약 10 이하이고, 상기 화소의 채도는 약 128 이상인 조건을 포함할 수 있다.
영역들의 리스트 내 각 영역을 분석하는 단계는,
상기 영역 내의 화소들의 색상, 명도 및 채도 중 적어도 하나의 평균;
상기 영역 내 화소들의 색상, 명도 및 채도 중 적어도 하나의 표준편차;
상기 영역 내 화소들의 색상×채도, 색상×명도 및 명도×채도 중 적어도 하나의 값의 평균 및 표준편차;
상기 영역 내 모든 화소들에 대한 인접 화소들 간의 색상, 명도 및 채도 중적어도 하나의 차의 제곱의 합;
상기 영역 내 상기 모든 화소들의 인접 화소들 간의 색상, 명도 및 채도 중 적어도 하나의 차의 절대값의 합;
인접 화소들 간의 명도 및 채도 중 적어도 하나의 차가 소정의 임계치 이상인 개수의 측정치;
0 내지 8개의 바로 인접한 보정가능 화소들을 갖는 보정가능 화소들의 개수의 히스토그램;
0 내지 8개의 바로 인접한 보정가능 화소들을 갖는 보정불가능 화소들의 개수의 히스토그램;
적목 특징에서 개별 화소들의 색상, 채도 및 명도가 발견되는 확률에 기초하여 해당 영역이 적목에 의해 야기되는 확률의 측정치; 및
적목에 의해 야기되지 않은 검출 특징에서 개별 화소의 색상, 채도 및 명도가 발견되는 확률에 기초하여, 해당 영역이 적목 특징의 오류 검출일 확률의 측정치
중에서 일부 또는 전부를 결정하는 단계를 포함하는 것이 바람직하다.
상기 해당 영역이 적목에 의해 야기되는 확률의 측정치는, 적목 특징에서 각 화소의 색상, 명도 및 채도값들이 발견되는 독립적 확률의 곱의, 상기 영역 내 전체 화소에 대한, 산술 평균을 구하여 결정되는 것이 바람직하다.
오류 검출일 확률의 측정치는, 마찬가지로 적목에 의해 야기되지 않은 검출 특징에서 각 화소의 색상, 명도 및 채도값들이 발견되는 독립적 확률의 곱의, 상기영역 내 전체 화소에 대한, 산술 평균을 구하여 결정되는 것이 바람직하다.
바람직하게는, 영역 밖의 환형(annulus)이 분석되고, 상기 환형 내 화소의 색상, 명도 및 채도에 따라 영역이 분류된다.
상기 영역의 확인 단계는, 검출된 특징 및 영역의 유형에 따라, 소정의 임계치 및 테스트와 상기 영역의 통계치 및 속성을 비교하는 단계를 포함한다.
상기 영역들의 리스트에서 일부 또는 전체 중첩 영역을 제거하는 단계는,
상기 영역들의 리스트내 모든 영역과 상기 리스트 내 모든 다른 영역을 비교하는 단계;
두 영역이 중복 검출이어서 중첩하는 경우면, 어느 영역이 유지하기에 최적인지 결정하고 상기 영역들의 리스트에서 나머지 영역을 제거하는 단계;
두 영역이 적목에 의해 야기되지 않아서 중첩 또는 거의 중첩하는 경우면, 상기 영역들의 리스트에서 두 영역을 모두 제거하는 단계를 포함하는 것이 바람직하다.
또한, 본 발명은, 상술한 방법 중 임의의 것이 적용되는 디지털 화상과, 상술한 방법 중 임의의 것을 실행하도록 구성된 장치와, 상술한 임의의 방법을 수행하도록 실행되는 경우 구성된 프로그램을 저장하는 컴퓨터 저장 매체를 제공한다.
따라서, 적목 효과의 자동 제거는 제한적인 또는 어떤 사람의 감독 또는 입력이 없이 동작하는 소프트웨어 및/또는 하드웨어를 사용하여 가능하다. 이는, 개인용 컴퓨터, 프린터, 디지털 프린팅 미니랩(digital printing mini-labs), 카메라, 휴대용 뷰 장치, PDA, 스캐너, 이동전화, 전자책, (콘서트, 축구 경기장 등에서 사용되는) 공공 디스플레이 시스템, 비디오 카메라, 텔레비전(카메라, 편집 장비, 방송 장비 또는 수신 장비), 디지털 필름 편집 장치, 디지털 프로젝터, 헤드업 디스플레이 시스템, 및 (여권 사진용) 포토 부스를 포함하지만, 이에 한정되는 것은 아니다.
본 발명의 몇몇 바람직한 실시예를 첨부한 도면을 참조하여 단지 예로서 설명한다.
적목 특징을 포함하거나 포함하지 않을 수 있는 디지털 화상의 처리를 위한 적절한 알고리즘은 6개의 구체적인 단계들로 나뉘어질 수 있다:
1. 적목이 발생하는 특징을 검색하며, 화상 내의 각 화소를 통해 스캔하는단계. 이 단계는 특징 리스트를 생성한다.
2. 각 특징에 대하여, 적목을 기술할 수 있는 특징을 포함하는 영역의 검색을 시도하여, 이것이 실패하는 특징은 무시하는 단계. 이 단계는 영역들의 리스트를 생성한다.
3. 각각의 영역을 분석, 다음 단계에서 사용되는 각 영역의 통계치 및 기록 속성을 계산하는 단계.
4. 각 영역을 확인하고, 그 속성 및 통계치에 기초하여 각 영역에 수많은 테스트를 적용하는 단계. 이들 테스트의 결과를 사용하여 영역의 유지(적목인 경우) 또는 거부(적목이 아닌 경우) 여부를 결정한다.
5. 특정 방식으로 상호동작하는 영역을 제거하는 단계.
6. 잔류 영역을 보정하여, 적색을 제거하고 채도 및 명도를 변경하여 적목으로 보이지 않는 자연스러운 외관을 생성하는 단계.
이들 단계는 도 1의 흐름도로서 나타낸다.
알고리즘으로부터의 출력은 모든 검출된 적목의 발생이 보정되는 경우의 화상이다. 화상이 적목을 포함하지 않으면, 출력은 입력 화상과 실질적으로 동일하게 보이는 화상이다. 적목과 매우 유사한 화상의 특징이 검출되어 알고리즘에 의해 "보정"되지만, 사용자는 이들 오류 "보정"을 인식하지 못할 수 있다.
이하, 상술한 단계들 각각의 구현에 대해 보다 상세히 설명한다.
스테이지 1 - 특징 검출
화상은 우선 변형되어, 화소가 색상(H), 채도(S) 및 명도(L) 값으로 표현된다. 그 후, 전체 화상은 수평 라인으로 화소별로 스캔되어, 적목의 특별한 특징을 검색한다. 이들 특징은 화소들 간의 값의 차에서의 패턴을 포함하여, 연속하는 인접 화소들에서 발생하는 채도, 명도 및 색상 내의 패턴에 의해 규정된다.
도 2는 통상의 적목 특징(1)을 나타내는 개략도이다. 도 1의 중앙에 흰색 또는 거의 흰색인 "하이라이트"(2)가 있으며, 이는 피사체의 동공에 대응하는 영역(3)으로 둘러싸인다. 적목의 부재시에, 이 영역(3)은 통상 검정색이지만, 이 적목 특징 영역(3)에서는, 붉은 색상을 띠게 된다. 이는 연한 홍조에서 밝은 적색까지 포함할 수 있다. 동공 영역(3) 주변에는 홍채(4)가 있으며, 이들 중 일부 또는 전체는 동공 영역(3)으로부터 적색 홍조를 다소 띠며 나타날 수 있다.
적목 특징의 발생은 피사체로부터의 카메라 거리 등의 다수의 인자에 달려 있다. 이는 적목 특징의 형태에서 특히 하이라이트 동작의 일정 정도의 변화를 야기할 수 있다. 일부 적목 특징에서, 하이라이트는 전혀 보이지 않는다. 실제, 적목 특징은 다섯개의 카테고리 중의 하나에 해당한다:
제1 카테고리는 "제1 유형"로서 지정된다. 이는, 초상화나 근접 사진에서 통상 발견되는 것과 같이, 적목 특징을 나타내는 눈이 큰 경우에 발생하게 된다. 하이라이트(2)는 적어도 하나의 화소 폭이며, 적색 동공(3)에 명확하게 분리된 특징이다. 예시적인 제1 유형 특징에 대한 채도 및 명도의 동작은 도 3에 도시되어 있다.
제2 유형 특징은, 단체 사진에서 통상 발견되는 것과 같이, 적목 특징을 나타내는 눈이 작거나 카메라로부터 떨어저 있는 경우에 발생한다. 하이라이트(2)는 하나의 화소보다 작기 때문에, 동공의 적색은 하이라이트 내의 흰색의 적은 영역과 혼합되어, 동공 영역이 핑크색이 되고 무채색의 적색이 된다. 예시적인 제2 유형 특징에 대한 채도 및 명도의 동작은 도 4에 도시되어 있다.
제3 유형 특징은 제2 유형 특징과 유사한 조건에서 발생하지만, 무채색의 경우이다. 이들은 피사체가 카메라로부터 멀리 떨어진 단체 사진의 경우에 통상 발견된다. 예시적인 제3 유형 특징에 대한 명도의 동작은 도 5에 도시되어 있다.
제4 유형 특징은 동공이 매우 흐려져서, 홍채가 거의 또는 전혀 보이지 않거나 또는 카메라 렌즈, 플래시 및 눈의 정렬이 통상의 광량보다 크게 눈으로부터 반사된 경우에 발생한다. 또렷하고 잘 한정된 하이라이트는 없지만, 전체 동공은 높은 명도를 갖는다. 색상은 동공에 대하여 매우 균일하거나 실질적으로 변화될 수 있어서, 이러한 눈은 매우 복잡하게 보이고 여러 디테일(detail)을 포함할 수 있다. 이러한 눈은 "플레어된" 적목 또는 "플레어"로서 알려져 있다. 예시적인 제4 유형 특징에 대한 채도 및 명도의 동작은 도 6에 도시되어 있다.
제5 유형 특징은 제4 유형와 유사한 조건에 있으며, 연한 적색 홍조인 동공과 같이 밝거나 채색되지 않으며, 및/또는 하이라이트를 포함하지 않는다. 특징 내부의 동작은 변화할 수 있지만, 특징 외부의 영역은 보다 명확하게 한정된다. 제5 유형 특징은 그 특징 내의 채도 및 명도 중 가장 높은 값에 따라 명명되는, 특징의 4개의 "서브 카테고리"로 더 분류될 수 있다. 예시적인 제5 유형 특징에 대한 채도 및 명도의 동작은 도 7에 도시되어 있다.
하나의 스캔에서 모든 유형의 특징에 대하여 검색할 수 있지만, 여러 단계로화상을 스캔하는 것이 계산상 보다 간편하다. 각 단계는 제5 유형 서브 카테고리 전체를 동시에 검출하는 최종 단계와 분리되어, 단일하고 명확한 특징 유형을 검색한다.
제1 유형 특징
제1 유형 특징의 하이라이트 내의 대부분의 화소는 매우 높은 채도를 가지며, 얼굴 사진 상의 다른 곳에서 이러한 채도 영역을 발견하는 것은 매우 이례적인 일이다. 유사하게, 대부분의 제1 유형 특징은 매우 높은 명도 값을 가진다. 도 3은 예시적인 제1 유형 특징에서 일 열의 화소의 채도(10)와 명도(11)의 프로파일을 나타낸다. 높은 채도와 명도를 갖는 프로파일의 중심 영역은 하이라이트 영역(12)에 대응한다. 이 예에서 동공(13)은, 화소들이 하이라이트 내의 화소보다 낮은 명도 값을 갖는 하이라이트 영역(12) 밖의 영역을 포함한다. 또한, 하이라이트 영역(12)의 명도 및 채도값이 높을 뿐만 아니라, 그들 바로 근방의 영역의 것보다도 매우 높다는 것을 인식하는 것은 매우 중요하다. 동공 영역(13)에서 하이라이트 영역(12)으로의 채도의 변화는 매우 급격하다.
제1 유형 특징 검출 알고리즘은 화소 내에서 각 행의 화소들을 스캔하여, 밝고 매우 높은 채도의 화소의 좁은 영역을 검색한다. 스캔 동안, 각 화소는 이전의 주변(화소 좌측)과 비교된다. 상기 알고리즘은 명도와 채도의 급격한 변화를 검색하여, 행의 처음부터 스캔하면서 하이라이트의 개시점을 표시한다. 이는 "상승 에지(rising edge)"로서 알려져 있다. 일단 상승 에지가 식별되면, 그 화소 및 다음 화소(유사하게 높은 채도와 명도를 갖는다고 가정)가 채도의 급격한 하강이 도달하여 하이라이트의 다른 에지를 표시할 때까지 기록된다. 이는 "하강 에지(falling edge)"로서 알려져 있다. 하강 에지 후에, 알고리즘은 상승 에지를 검색하여 다음 하이라이트의 개시점을 표시하는 단계로 복귀한다.
통상의 알고리즘은 다음의 경우에 상승 에지가 검출되도록 구성될 수 있다:
1. 화소가 높은 채도를 가질 경우 (채도>128).
2. 화소가 이전 화소보다 상당히 높은 채도를 가질 경우(해당 화소의 채도 - 이전 화소의 채도 >64).
3. 화소가 높은 명도를 가질 경우(명도>128).
4. 화소가 "적색" 색상을 가질 경우( 210≤색상≤255, 또는 0≤색상≤10).
상승 에지는 테스트할 화소 상에 배치된다. 하강 에지는 다음 경우에 검출된다:
화소가 이전 화소보다 상당히 적은 채도를 갖는 경우(이전 화소 채도 - 해당 화소 채도>64).
하강 에지는 테스트할 화소 이전의 화소 상에 배치된다.
하강 에지에 대하여 검색하면서 추가 점검이 수행된다. 소정 개수의 화소(예를 들어, 10개)가 하강 에지의 발견 없이 점검된 후, 알고리즘은 하강 에지에 대한 검색을 중단한다. 적목 특징이 될 수 있는 하이라이트의 최대 크기가 있다는 가정 - 명확하게, 이는 그 컨텐츠의 속성과 사진의 크기에 의존하여 변경될 수 있다(예를 들어, 하이라이트는 동일한 해상도의 개별 초상화보다 단체 사진에서 낮을 수 있다). 알고리즘은 하이라이트가 차지할 수 있는 크기의 비율 및 사진의 크기에 따라, 동적으로 최대 하이라이트 폭을 결정할 수 있다(통상, 사진의 최대 치수의 0.25% 내지 1%).
하이라이트가 성공적으로 검출되면, 상승 에지, 하강 에지 및 중심 화소의 좌표가 기록된다.
알고리즘은 다음과 같다:
적목 특징 1에 대한 이 알고리즘의 결과는 도 8에 도시되어 있다. 이러한 특징에 있어서, 단일 하이라이트(2)이기 때문에, 알고리즘은 하나의 상승 에지(6), 하나의 하강 에지(6), 및 하나의 중심 화소(8)를 하이라이트가 커버하는 각 행에 대하여 기록할 수 있다. 하이라이트(2)는 5개의 행을 커버하며, 따라서, 5개의 중심 화소(8)가 기록된다. 도 8에서, 수평선은 상승 에지의 화소로부터 하강 에지의 화소까지 확장한다. 원은 중심 화소(8)의 위치를 나타낸다.
다음으로, 제1 유형 특징의 검출 및 특징의 각 행에서 중심 화소의 식별, 검출 알고리즘을 제2 유형 특징에 적용하여 설명한다.
제2 유형 특징
제2 유형 특징은 지원할 동공의 특징을 사용함이 없이 검출될 수 없다. 도 4는 예시적인 제2 유형 특징의 일 열의 화소들의 채도(20) 및 명도(21) 프로파일을 나타낸다. 이 특징은 채도 및 명도 채널에서 매우 명확한 패턴을 가지며, 이는 인터리빙된 사인 및 코사인파와 유사한 외관의 그래프를 부여한다.
동공(23)의 범위는 채도 곡선으로부터 용이하게 식별될 수 있으며, 적색 동공은 그 주변보다 채도가 높다. 흰색 하이라이트(22)의 채도에 대한 효과가 또한 명확하며: 하이라이트가 명도 곡선에서는 피크(22)로서 가시적이고 채도에서는 대응하여 하강한다. 이는 하이라이트가 흰색이 아니고 핑크색이며 핑크는 높은 채도를 갖지 않기 때문이다. 핑크색는 하이라이트(22)가 하나의 화소보다 적기 때문에, 적은 흰색 양이 주변 적색과 혼합되어 핑크를 나타내기 때문에 발생하게 된다.
명도의 상승이 동공(23)의 말단에서 발생한다는 점은 주목할 만하다. 이는 그 주변의 명도보다는 동공의 어두움에 더 기인한다. 그러나, 이는 이러한 유형의 적목 특징의 명확한 특징이다.
제2 유형 특징의 검출은 두 단계로 수행된다. 첫째, 동공은 채도 채널을 사용하여 식별된다. 그 후, 명도 채널이 적목 특징의 일부임을 확인하기 위하여 점검된다. 화소의 각 행은 제1 유형 특징에 대해서와 같이 스캔되며, 검색은 특정 채도 조건을 만족하는 일련의 화소에 대하여 행해진다. 도 9는 도 4에 도시된 적목 특징의 채도(20)와 명도(21) 프로파일을, 채도 곡선(20) 상의 검출가능 화소 'a'(24), 'b'(25), 'c'(26), 'd'(27), 'e'(28), 'f'(29)와 함께 나타낸다.
식별될 제1 특징은 화소 'b'(25)와 화소 'c'(26) 사이에서의 채도 감소이다. 알고리즘은, 하나의 화소(25)가 채도≥100이고 다음 화소(26)가 처음 화소(25)보다 낮은 채도를 갖는 인접한 한 쌍의 화소를 검색한다. 이는 두개의 인접 포인트와 단순 비교를 포함하기 때문에 계산상 그렇게 무리한 작업은 아니다. 화소 'c'는 보다 낮은 채도를 갖는 보다 오른쪽의 화소(26)로서 정의된다. 화소 'c'의 위치(26)를 설정하면, 화소 'b'의 위치가 묵시적으로 공지된다 - 즉, 이는 'c' 이전의 화소(25)이다.
화소 'b'는 두개의 중요 사항이 있다 - 처음 피크는 채도 곡선 내에 있으며, 명도 내의 대응 트로프(trough)는 하이라이트가 적목 특징의 일부이면, 검색되어야 한다.
그 후, 알고리즘은 'b'(25)로부터 왼쪽으로 이동하여, 50이하의 채도값을 갖는 화소(24)를 만날 때까지 계속 채도값이 하강하게 한다. 이러한 경우, 이러한 채도를 갖는 첫 화소(24)는 'a'로 지정된다. 화소 'f'는 그 후 'a'(24)보다 낮은 채도를 갖는 화소(29)를 발견할 때까지 'c'(26)에서 우측으로 이동하여 발견된다. 적목 특징의 범위는 이제 알려지게 된다.
그 후, 알고리즘은, 화소(28)가 그의 좌측 근방(27)보다 높은 채도를 가질때까지, 'f'(29)로부터 행을 따라 좌측으로 이동한다. 좌측 근방(27)은 화소 'd'로 지정되며, 보다 높은 채도의 화소(28)는 화소 'e'로 지정된다. 화소 'd'는 'c'와 유사하며; 그의 유일한 목적은 채도 피크를 화소 'e'로 배치하는 것이다.
'b'와 'e' 간의 화소들이 최대 피크보다 낮은 채도를 갖는다는 것을 확인하기 위한 최종 점검이 행해진다.
상기 조건들 중 어느 하나라도 충족되지 않으면, 알고리즘은 제2 유형 특징을 발견하지 않았다고 결정하여 제2 유형 특징의 화소 'b'와 'c'에 대응할 수 있는 다음 화소 쌍에 대한 행을 스캔하는 것으로 복귀한다. 상기 조건은 다음과 같이 요약할 수 있다:
범위 조건
bc 채도(c) < 채도(b) 그리고 채도(b)≥100
ab 채도는 a에서 b까지 계속 상승, 그리고 채도(a)≤50
af 채도(f) ≤ 채도(a)
ed 채도(d) < 채도(e)
be 모든 채도(b, e) ≤ max(채도(b), 채도(e))
모든 조건들이 충족되면, 도 9의 채도 곡선과 유사한 특징이 검출된다. 그 후, 검출 알고리즘은, 도 10에 도시된 바와 같이, 화소 'a'(24), 'b'(25), 'e'(28) 및 'f'(29)를 'a'(24)와 'f'(29) 간의 중도인 화소 'g'로서 정의되는 특징의 중심 화소(35)와 더불어 채도와 명도를 비교한다. 특징이 제2 유형 특징에 해당하면, 다음 조건이 충족되어야 한다:
화소 설명 조건
'a'(24) 특징 개시 명도>채도
'b'(25) 제1 피크 채도>명도
'g'(35) 중심 명도>채도 및 명도≥100, 그리고
220≤색상≤255 또는 0≤색상≤10
'e'(28) 제2 피크 채도>명도
'f'(27) 특징 종료 명도>채도
색상 채널(hue channel)은 여기서 처음 사용되는 것임을 인식할 것이다. 특징의 중심에 있는 화소(35)의 색상은 스펙트럼의 적색 영역 어딘가에 있어야 한다. 이러한 화소는 또한 비교적 높은 명도와 중간 아래의 채도를 가질 수 있어 이를 핑크 - 알고리즘이 식별하기 위해 설정하는 하이라이트 색 - 가 되게 한다.
일단 화소 행이 제2 유형 특징의 프로파일과 일치하면, 중심 화소(35)는, 상술한 제1 유형 특징의 중심점의 식별과 유사한 방식으로, 도 8에 도시된 바와 같이 화소들 행에 대하여 특징의 중심점(8)으로서 식별된다.
제3 유형 특징
그 후, 검출 알고리즘은 제3 유형 특징으로 이동한다. 도 5는 동공(33)의 중심에 대략 위치하는 예시적인 제3 유형 하이라이트(32)에 대한 화소 행의 명도 프로파일(31)을 나타낸다. 하이라이트는 항상 중심이 되는 것은 아니므로: 하이라이트는 어느 방향으로도 오프셋될 수 있지만, 오프셋의 크기는 특징 그 자체가 결코 너무 큰 것은 아니므로 통상 매우 작을 수 있다(대략 최대 10 화소).
제3 유형 특징은 적목의 매우 일반적인 특징 등에 기초하며, 도 3 및 도 4에 도시된 제1 유형 및 제2 유형 특징에서 또한 가시적이다. 이는 명도 채널(31)의 'W' 형상의 곡선이며, 여기서, 중심 피크는 하이라이트(12, 22, 32)이고 두개의 트로프는 동공(13, 23, 33)의 말단에 대략 대응한다. 이러한 유형의 특징은 검출하기 용이하지만, 많은 화상에서 매우 빈번하게 발생하므로, 대부분의 발생이 적목에 의해서 야기되는 것이 아니다.
제3 유형 특징을 검출하는 방법은 제2 유형 특징을 발견하는데 사용되는 것보다 보다 쉽고 빠르다. 이 특징은 명도 곡선(31)에서 특징 'W' 형상을 검출하여 식별된다. 이는, 도 11에 도시된 바와 같이, 명도의 1차 미분의 이산 아날로그(discrete analogue; 34)를 점검함으로써 수행된다. 이 곡선 상의 각 포인트는 현재 화소에서 현재 화소의 바로 좌측의 화소의 명도를 감산함으로써 결정된다.
상기 알고리즘은 행을 따라 1차 미분(차분) 지점을 점검하여 검색한다. 각 포인트를 개별적으로 분석하는 대신에, 상기 알고리즘은 다음 4개의 조건을 만족하는 다음의 순서대로 화소가 발견되는 것을 요구한다:
화소 조건
첫째(36) 차≤-20
두번째(37) 차≥30
세번째(38) 차≤-30
네번째(39) 차≥20
이들 조건을 만족하는 화소들은 인접해 있어야 한다는 어떤 제한도 없다.즉, 알고리즘은 -20 이하의 차값을 갖는 화소(36) 후에 적어도 30의 차값을 갖는 화소(37), -30 이하의 차값을 갖는 화소(38), 및 적어도 20의 값을 갖는 화소(39)에 대한 순서로 검색한다. 패턴에 대한 최대 허용 가능 길이가 있으며, 일 예에서, 화소 크기 및 임의의 다른 관련 인수의 함수이더라도 40화소들 보다 길어서는 안된다.
추가 조건은 두개의 "큰" 변화(적어도 하나의 양의 변화와 적어도 하나의 음의 변화)가 처음(36)과 마지막(39) 사이의 채도 채널(saturation channel)에 있어야 한다는 것이다. "큰" 변화는 30이상으로 정의될 수 있다.
마지막으로, 중심점(도 11에서 처음(36)과 마지막(39) 화소 사이 중간 지점)은 220≤색상≤255 또는 0≤색상≤10의 범위의 "적색" 색상을 가져야 한다.
도 8에 도시된 바와 같은 중심 화소(8)는 처음(36)과 마지막(39) 화소 사이의 중도 중심점으로 정의된다.
제4 유형 특징
이들 눈은 적목 영역 내에 또는 인접하여 하이라이트를 갖지 않으므로, 하이라이트 특징은 이들을 검출하는데 사용될 수 없다. 그러나, 이러한 눈들은 동공 영역 내의 높은 채도를 갖는 특징이 있다. 도 6은 이러한 눈의 단일 행으로부터 화소 채도(100)와 명도(101)를 나타낸다.
바람직한 검출 방법은 화상을 스캔하여 소정의 임계치, 예를 들어 100 이상의 채도를 갖는 화소(102)를 검색하는 것이다. 이 화소(102)가 적목 특징의 에지를 표시하면, 적절한 적색 범위, 즉, 210 이상 또는 20 미만에서의 색상을 가질 수있다. 알고리즘은 이를 점검할 수 있다. 이러한 유형의 적목의 특징인, 채도가 이 지점에서의 명도를 초과하는지를 더 점검할 수 있다.
그 후, 알고리즘은 높은 채도 화소(102)에서 좌측으로 스캔하여 채도 상승의 적절한 개시점을 결정한다. 높은 채도 화소(102)의 좌측으로 채도의 제1 주요 극소값을 검색함으로써 행해진다. 채도 하강이 단조롭지는 않기 때문에, 그러나 작은 진동을 포함하기 때문에, 이러한 스캔은 발견하는 첫 로컬 극소값의 좌측 - 예를 들어, 3화소 - 에 좀 더 계속 검색하여야 하며, 그 후, 화소(103)를 특징 개시를 표시하여 발견되는 최저 채도를 갖는 것으로 화소(103)를 지정한다.
그 후, 알고리즘은 높은 채도 화소(102)의 우측을 스캔하여, 특징의 종료를 표시하는 채도의 주요 극소값(104)을 검색한다. 또한, 채도는 그 피크로부터 단조 감소하지 않지만 관련없는 로컬 극소값들을 포함할 수 있기 때문에, 약간의 정리가 이 스테이지에서 요구된다. 바람직한 구현은 이를 달성하기 위한 다음과 같은 알고리즘을 포함할 수 있다:
이 알고리즘은 SignificantMinimum 알고리즘으로서 이하 불린다. 실제 로컬 극소값은 아니지만 의사 극소값을 식별할 수 있음이 용이하게 이해될 것이다.
FoundEndOfSatDrop 플래그가 세트되면, 상기 알고리즘은 주요 채도 극소값(104)을 발견한다. 그렇지 않고, 실패하면, 특징 4 유형이 아니다. "주요 채도 극소값"에 대한 기준은 다음과 같다:
1. 화소는 그의 우측에서 3개의 화소 내에 200 이상의 채도를 갖는 화소를 갖지 않는다.
2. 채도는 그 우측 3개의 화소 내에서 실질적으로 하강하지 않는다 (예를 들어, 10 이상의 값으로).
3. 채도에서 최대 4개의 로컬 극소값이 제일 높은 채도 화소(102)와 이 화소 사이에 발생한다.
상기 발견된 좌측(103)과 우측(104) 채도 의사 극소값은 특징의 좌측 및 우측 에지에 대응하며, 알고리즘은 이제 높은 채도의 영역을 배치하게 된다. 이러한 영역은 많은 화상에서 높은 빈도로 발생하고, 다수가 적목과 관련되어 있지 않다. 따라서, 검출 과정을 더 세밀하게 하기 위해서, 플레어 적목의 추가 특징이 사용된다. 이를 위해, 바람직한 구현은 이 영역에 걸친 명도를 사용할 수 있다. 실제로 특징이 적목에 의해 야기되면, 명도 곡선은 'W' 형상을 다시 형성하며, 두개의 실질적인 트로프 유사 영역은 그들 사이에 단일 피크를 둘러 싼다.
바람직한 구현예는 특징의 좌측 및 우측 에지 사이에서 스캔하여 그들이 적어도 두개의 로컬 명도 극소값(105, 106)(근 좌측 및 우측 근방의 화소가 보다 높은 명도를 가짐)이 되는 것을 확보한다. 만약 그렇다면, 적어도 하나의 로컬 극대값(107)이 필요하다. 또한, 이 알고리즘은 이들 극소값(105, 106) 양자가 채도값이 명도값보다 높은 경우의 화소에서 발생한다. 또한, 두 명도 극소값 사이의 최저 명도가 두 명도 극소값(105, 106) 중 작은 값보다 작지 않음 - 즉, 명도 극소값(105, 106) 사이의 최저 명도를 갖는 화소는 두 로컬 극소값(105, 106) 중 하나이어야 함 - 을 확인할 수 있다.
적목에서의 명도는 매우 높은 값으로 증가하므로, 바람직한 구현예는 좌측(105)과 우측(106) 명도 극소값 사이의 어디서엔가, 명도가 소정의 임계치, 예를 들어, 128이상으로 증가할 것을 요구한다. 또한, 명도와 채도 곡선이 특징 폭을 한정하는 채도의 외부 극소값(103, 104) 바로 안에 통상 가로지르는 것이 플레어 적목의 특징이다. 바람직한 구현예는 명도 및 채도가 이렇게 교차함을 점검한다. 또한, 명도 및 채도 곡선 간의 차는 그 특징 내의 일부 지점에서 50을 넘어서야 한다. 모든 요구된 기준이 충족되면, 알고리즘은 제4 유형 검출로서 검출된 특징을 기록한다.
제4 유형 검출 기준은 다음과 같이 요약될 수 있다:
채도>100의 높은 채도 화소(102)
높은 채도 화소는 210≤색상≤255 또는 0≤색상≤20
높은 채도 화소의 각 측면에서 발견되고 특징의 에지를 표시하는데 사용되는 로컬 채도 극소값(103, 104)
채도와 명도가 특징(103, 104)의 에지 사이에 두번 교차
특징(103, 104)의 에지 사이에 적어도 하나의 화소가 채도-명도>50
특징(103, 104)의 에지 사이에 발견되는 두개의 로컬 명도 극소값(105, 106)
각 로컬 명도 극소값에 대하여 채도>명도
로컬 명도 극소값(105, 106) 중 하나에서 발견되는 명도 극소값(105, 106) 사이의 최저 명도
명도 극소값(105, 106) 간의 적어도 하나의 화소는 명도>128
도 8에 나타낸 바와 같은 중심 화소(8)는 화소(103, 104) 간의 중도 중심점으로서 정의되어 특징의 에지를 표시한다.
제5 유형 특징
제4 유형 검출 알고리즘은 모든 플레어 적목을 검출하지는 않는다. 제5 유형 알고리즘은 실질적으로 제4 유형 검출 알고리즘이 놓친 플레어 적목 중 일부를 검출하는 제4 유형의 확장이다. 도 7은 통상 제5 유형 특징에 대한 화소 채도(200) 및 명도(201)를 도시한다.
제5 유형 검출 알고리즘의 바람직한 구현예는 화상을 스캔하여 소정의 임계치, 예를 들어, 100 이상의 채도를 갖는 제1 채도 임게치 화소(202)를 검색함으로써 개시한다. 이러한 화소(202)가 발견되면, 알고리즘은 채도가 이 채도 임계치 이하로 하강할 때가지 우측으로 스캔하여, 이것이 발생하기 전에 마지막 화소로서 제2 채도 임계치 화소(203)를 식별한다. 이렇게 행함으로써, 최고 채도를 갖는 채도 극대점 화소(204)를 기록할 수 있다. 이 특징은 이 최고 채도를 기초로 분류되는데, 소정의 추가 임계치, 예를 들어, 200를 넘으면, 이 특징은 "높은 채도" 제5 유형로서 분류된다. 그렇지 않으면, "낮은 채도"로서 분류된다.
그 후, 알고리즘은 상기 임계치 이상의 채도를 갖은 일련의 화소 밖의 제1 주요 채도 극소값(205, 206)으로서 정의되는, 특징의 한계를 검색한다. 이들 극소값은 제4 유형 검색에 대하여 상술한 SignificantMinimum 알고리즘을 사용하여 발견된다. 이 알고리즘은 제1 임계치 화소(202)의 좌측을 스캔하여 좌측 에지(205)를 발견하며, 제2 임계치 화소(203)의 우측을 스캔하여 우측 에지(206)를 발견한다.
이 알고리즘은 그 후 좌측 에지(205)의 우측을 스캔한 후 화소의 명도와 채도를 비교하여 명도가 처음 채도 아래로 떨어지는 제1 교차 화소(207)를 식별한다. 이는 채도 극대값 화소(204)가 도달하기 전에 발생하여야 한다. 이는 우측 에지(206)에서 좌측으로 스캔하여 제2 교차 화소(208)를 발견하도록 반복되며, 여기서 제2 교차 화소(208)는 명도가 우측 에지(206) 바로 직전에 채도 이상으로 교차하기 전의 화소를 표시한다.
도 7에 도시된 특징에 있어서, 제1 교차 화소(207)와 제1 임계치 화소(202)는 동일 화소임이 인식될 수 있다. 이는 알고리즘의 추가 동작에 어떤 영향도 없는 동일한 것임이 이해될 것이다.
이제, 알고리즘은 제1 교차 화소(207)에서 제2 교차 화소(208)까지 스캔하여 둘 사이의 모든 화소에 대하여 채도>명도를 보장한다. 이를 행하는 동안, 명도 극대값 화소(209)에서 발견되는 명도의 극대값(LightMax)과 이 범위에서 발생하는 명도의 극소값(LightMin)을 기록할 수 있다. 특징은 이러한 극대 명도에 기초하여 분류된다: 소정의 임계치, 예를 들어 100을 초과하면, 특징이 "높은 명도"로서 분류된다. 그렇지 않은 경우, "낮은 명도"로서 분류된다.
지금까지 식별된 특징은 실질적으로 제4 유형 검출 알고리즘에 의해 요구되는 것과 대응한다. 다른 이러한 유사성은 제5 유형 검출 알고리즘에 의해 요구되는 것과 같이 명도 곡선에서 'W' 형상이다. 알고리즘은 특징의 좌측 에지(205)에서 우측 에지(206)의 우측 방향으로 스캔하여, 명도의 제1 로컬 극소값(210)을 검색한다. 이는 극소값이 하나의 화소 폭보다 큰 경우이더라도 그러나 3개의 폭보다는 크지 않는 경우에 위치할 수 있다. 로컬 명도 극소값 화소(210)는 단일 화소 폭보다 큰 극소값의 경우에 최좌측 화소일 수 있다. 그 후, 알고리즘은 좌측 에지(205)까지 우측 에지(206)에서 좌측 방향으로 스캔하여 제2 로컬 명도 극소값 화소(211)를 발견한다. 또한, 이는 극소값이 하나, 둘, 또는 셋(그러나 3보다는 많지 않은) 화소 폭일 경우에 위치될 것이다.
이 지점에서, 제5 유형 검출은 제4 유형 검출과 상이하게 된다. 알고리즘은 제1 로컬 명도 극소값(210)의 좌측으로 4개의 화소를 스캔하여 그 극소값에서의 값보다 명도가 떨어지지 않는지를 점검한다. 알고리즘은 유사하게 제2 로컬 명도 극소값(211)의 우측으로 4개의 화소를 스캔하여 명도가 그 극소값에서의 값 아래로 떨어지지 않는지를 점검한다.
특징이 "낮은 명도"의 제5 유형라고 판단되면, LightMax와 LightMin 간의 차는 소정의 임계치, 예를 들어, 50을 넘지 않는지를 확보하도록 점검된다.
특징이 "낮은 명도" 또는 "높은 채도"이면, 알고리즘은 제1 및 제2 교차 화소(207, 208) 간의 명도보다 채도가 높게 유지되는지를 확인한다. 이는 명도 및 채도 곡선이 두번 이상 교차하는지를 점검하는 단순한 방법이다.
특징이 "높은 명도"이면, 알고리즘은 로컬 명도 극소값(210, 211) 사이의 화소를 스캔하여 명도가 로컬 명도 극소값(210, 211)의 명도값 중 작은 값 아래로 떨어지지 않음을 보장한다. 즉, 로컬 명도 극소값(210, 211) 간의 극소 명도는 이들 극소값들 중 하나이어야 한다.
알고리즘에 의해 수행되는 최종 점검은 채도 임계치 화소(202, 203)를 주요 관심사로 한다. 이들 두 화소의 색상은 적색의 보정 범위 내에 해당하도록, 즉, 20 이하 또는 210 이상이 되도록 점검될 수 있다.
이들 모든 점검이 통과되면, 알고리즘은 제5 유형 특징을 식별한다. 이러한 특징은 그 후 다음과 같은 적절한 제5 유형의 서브유형으로 분류된다:
제5 유형 서브유형 분류 채도
명도 51 52
53 54
이들 서브유형은 서로 다른 특징을 가지며, 바람직한 구현예에서, 단지 이 유형만이 아닌 서브 유형에 고유한 테스트를 사용하여 확인될 수 있다. 이는 모든 제5 유형 특징에 대하여 확인 과정의 정확성을 실질적으로 높인다. 적목과 관련되지 않은 제5 유형 특징은 사진에서 빈번하게 발생하기 때문에, 확인이 이 유형에 대하여 특정된 것이고 정확하다는 점이 매우 중요하다. 이는 제5 유형의 각 서브유형에 특정한 확인자(validator)를 갖는 정확성을 요구한다.
제5 유형 검출 기준은 다음과 같이 요약될 수 있다:
채도>100을 갖는 것으로 발견되는 영역
높은 채도 영역의 에지에서 화소들은 210≤색상≤20
극대 채도>200이면 "높은 채도"로 분류됨
높은 채도 영역의 각 측면에 발견되고 특징의 에지들을 표시하는데 사용되는 로컬 채도 극소값들(205, 206)
두개의 교차 화소들(207, 208), 여기서, 명도와 채도가 교차하고, 이 화소들은 특징(205, 206)의 에지들 내부와 극대 채도 화소(204)의 어느 한쪽 측면에 위치함.
교차 화소들(207, 208) 사이의 모든 화소들에 대하여 채도>명도
교차 화소들 사이의 극대 명도>100이면 "높은 명도"로 분류
특징(205, 206)의 에지들 사이에 발견된 두개의 로컬 명도 극소값들(210, 211)
로컬 명도 극소값들(210, 211)을 벗어나 있는 4개 까지의 어떤 화소들도 대응 극소값보다 낮은 명도를 갖지 않음.
"낮은 명도"이면, 교차 화소들 간의 극대 명도와 극소 명도 간의 차≤50
"높은 명도"이면, 로컬 명도 극소값들(210, 211) 간의 최저 명도가 로컬 명도 극소값들(210, 211) 중 하나에서 발견됨
도 8에 도시된 바와 같은 중심 화소(8)는 특징의 에지를 표시하는 화소들(205, 206) 간의 중도의 중심점으로서 정의된다.
검출된 제1 유형, 제2 유형, 제3 유형, 제4 유형 및 제5 유형 특징들 모두에 대한 중심 화소들(8) 모두의 위치는 적목에 의해 잠재적으로 야기될 수 있는 특징 리스트에 기록된다. 각 특징에서 중심 화소들(8)의 개수는 그 후에 1개로 감소된다. (제1 유형 특징에 대하여) 도 8에 도시된 바와 같이, 하이라이트(2)에 의해 커버되는 각 행에 대한 중심 화소(8)가 있다. 이는 특징이 5번 검출되었으며, 따라서 실제 필요한 것보다 보다 많은 처리를 필요로 하게 된다는 것을 의미한다.
더욱이, 상기 알고리즘들에 의해 식별된 특징들 모두가 반드시 적목 특징들에 의해 형성되는 것은 아니다. 예를 들어, 그 밖의 것들은 객체의 모서리들 또는 에지들에서 반사되는 광에 의해 형성될 수 있다. 따라서, 다음 스테이지의 처리는 리스트에서 이러한 특징들을 제거하고자 시도하는 것이며, 이에 따라 적목 감소는 실제 적목 특징들이 아닌 특징들에 대해서는 실행되지 않는다.
오류 특징들에 반대되는 적목 특징들을 인식하는데 적용될 수 있는 다수의 기준이 있다. 그 중 하나는 협소한 특징들을 갖는 중심 화소들로 된 긴 줄들(strings)들에 대하여 점검하는 것이다 - 즉, 실질적으로 선형 형상을 갖는 특징들. 이들은 예를 들어 에지들에서 반사되는 광에 의해 형성될 수 있지만, 적목에 의해서는 절대 형성되지 않을 것이다.
화소들의 긴 줄들에 대한 이러한 점검은 중심 화소를 하나로 감소하는 것과 결합될 수 있다. 이들 동작들을 동시에 수행하는 알고리즘은 특징들을 검색하여 중심 화소들로 된 "줄(들)" 또는 "체인(들)"을 식별할 수 있다. 중심 화소들(8)의 줄의 길이를 하이라이트 또는 특징의 최대 특징 폭으로 나눈 종횡비가 (도 8 참조)소정 수치보다 크고, 그 줄이 소정의 길이 이상이라면, 중심 화소들(8) 전체가 특징 리스트에서 제거된다. 그렇지 않다면, 줄의 중심 화소만이 특징 리스트에 보유된다. 이들 작업은 각 특징 유형에 대하여 개별적으로 수행되는데, 즉, 검색이 다른 유형들의 특징들을 포함하는 수직 체인들에 대해서라기보다는 한 유형의 특징의 수직 체인들에 대하여 행해진다.
환언하면, 알고리즘은 두개의 작업을 수행한다:
체인의 종횡비가 소정의 값보다 큰 경우에, 특징 리스트에서 한 유형의 특징의 수직 체인들을 대략 제거하고,
체인의 종횡비가 소정의 값 이하인 경우에 특징들의 대략 수직 체인들로부터 수직을 따른 중심 특징 이외의 것을 모두 제거한다.
이러한 작업의 조합을 수행하는 알고리즘은 아래와 같이 주어진다:
특정 화상들의 요건에 맞추기 위해 변경될 수 있기는 하지만, "극소값 체인 높이"에 대한 적절한 임계치는 3이고, "극소 체인 종횡비"에 대한 적절한 임계치 또한 3이다.
특징 검출 프로세서의 종료 시점에서, 특징 리스트가 기록된다. 각 특징은 제1, 제2, 제3, 제4, 제51,제 52, 제53 또는 제54 유형으로 분류되고, 특징의 위치를 표시하는 기준 화소를 이것들과 관련짓는다.
스테이지 2 - 영역 검출
화상에서 검출된 각 특징에 대하여, 알고리즘은 적목을 기술할 수 있는 관련 영역을 찾고자 시도한다. 적목 특징의 매우 일반적인 정의는 "붉은 빛을 띤(reddish)" 화소의 분리되고 대략 원 영역이다. 따라서, 각 특징에 대하여 식별된 기준 화소를 둘러싼 "적색" 영역의 존재 및 범위를 결정하는 것이 필요하다. 기준 화소가 반드시 적색 영역의 중심에 있을 필요는 없다는 것을 염두에 두어야만 한다. 적색 영역이 없을 수 있거나, 또는 보다 큰 특징 중 일부이기 때문에 적색 영역에 어떤 검출가능 경계가 없을 수 있다는 점 등이 추가적으로 고려되어야 하며, 이들 조건은 영역이 특징과 관련되지 않음을 의미한다.
영역 검출은, 그 크기가 특징의 몇몇 속성에 의해 결정되는 사각형 그리드를 구성하고, 이를 특징 상에 배치하여, 적목들의 특징인 색상(H), 명도(L) 및 채도(S)에 대한 몇몇 기준을 만족하는 그런 화소들을 표시함으로써 수행된다.
그리드의 크기는 임의의 관련 적목을 포함하기에 충분한 값을 갖게 끔 계산된다. 이는 적목들에서는, 무엇보다도 특징을 검출하는데 사용되는 패턴의 크기가 적목 영역의 크기에 대한 단순 관계를 갖기 때문에 가능하다.
이 영역 검출은 매번 H, L 및 S 값들에 대한 다른 기준들을 사용하여, 각 특징에 대하여 3번까지 시도된다. 이는 적목들의 특징으로서 취해질 수 있는, 주요하게는 H, L 및 S 값들에 대한 세개의 다른 집합이 있기 때문이다. 이들 기준들은 HLS, HaLS 및 Sat128로 지칭된다. 기준들은 다음과 같다:
카테고리 색상 채도 명도
HLS 220≤H 또는 H≤10 S≥80 L<200
HaLS - S=255 L>150
HaLS 245≤H 또는 H≤20 S>50S<(1.8*L)-92 및S>(1.1*L)-90 L>100
Sat128 220≤H 또는 H≤10 128 ≤ S -
HaLS에서의 조건의 두 집합 중 하나를 화소가 만족하면, 보정가능한 HaLS로 분류된다. 특징 유형과 알고리즘이 이들 카테고리 중 어느 것을 영역을 검출하는데 사용하려고 시도할 것인가 간의 관계는 다음 테이블에서 도시되어 있다.
유형 기준
1 HLS, Sat128
2 HLS, Sat128
3 HLS, Sat128
4 HLS, HaLS, Sat128
5 HLS
영역 검출에서의 각 시도에서, 알고리즘은 기준들을 만족시키는 인접 화소들로 된 영역(이하, '보정가능 화소'라 불림)을 검색한다. 영역은 경계 사각형(그리드)에 포함되고 보정불가능 화소에의해 완전히 경계지워져야만 한다. 따라서, 알고리즘은 경계 사각형 내에 그 전체가 끼워 넣어져 있는 보정불가능 화소들에 의해 완전히 경계가 정해지는 보정가능 화소들로 된 '섬(island)'을 찾는다. 도 12는 보정가능 화소들(40)의 이러한 분리 영역을 나타낸다.
특징의 기준 화소에서 개시한 후, 알고리즘은 화소가 상기 기준에 따라 "보정가능"인지를 점검하고, 그렇지 않으면, 한 화소만큼 좌측으로 이동한다. 경계 사각형의 에지에 처음으로 도달하지 않았다면, 보정가능 화소를 발견할 때까지 이 처리가 반복된다. 에지에 도달하면, 알고리즘은 이 특징을 (이 카테고리에 대한) 어떤 관련 영역도 갖지 않는 것으로 표시한다. 보정가능 화소가 발견되면, 알고리즘은, 그 화소로부터 시작하여, 그 화소 주변의 영역을 둘러싸는 그리드 내에 전체가 포함되는, 보정가능 화소들로 된 규정되고 분리된 영역 내에 있는지를 결정한다.
반복 및 순환 유형 모두의 유형을 갖는 "플러드 필(flood fill)" 알고리즘들로서 종래 알려진 알고리즘 등을 포함하여, 이를 실행하는 다수의 방법이 존재한다. 플러드 필 알고리즘은 영역을 채워감에 따라 영역 내의 모든 화소를 검색할 것이다: 따라서, 그리드 경계를 접촉하는 임의의 화소를 방문하지 않고 이 영역을 채울 수 있다면, 이 영역은 영역 검출 알고리즘을 위해 분리된다. 당업자는 이러한 알고리즘을 용이하게 안출할 수 있다.
이러한 처리는 그 후 특징의 중심 화소로부터 우측을 향해 반복된다. 중심 화소의 좌측에서 개시하는 것으로 발견되는 영역과 우측에서 개시하는 것으로 발견된 영역이 있다면, 특징의 이 중심 화소에 가장 근접하여 개시하는 것이 선택된다. 이러한 방식으로, 특징은 주어진 보정가능 카테고리에 대하여 이것과 관련된 어떤 영역도 갖지 않거나, 또는 그 카테고리에 대한 하나의 영역을 가질 수 있다. 하나 이상을 갖지 않을 수도 있다.
영역 검출을 위한 적절한 기술이 도 13에 도시되어 있으며, 이는 추가적으로 고려되어야 할 문제를 부각시킨다. 도 13a는 제1 유형 적목 특징(41)의 그림을 나타내며, 도 13b는 상기 기술된 HLS 기준에 따라 이 특징에서의 보정가능(43) 및 보정불가능(44) 화소들의 맵을 나타낸다.
도 13b는 하이라이트(42) 주변의 보정가능 화소들(43)의 대략 원형인 영역을 명확하게 나타낸다. 하이라이트 영역(42) 내부에 보정불가능 화소들의 실질적 "홀(hole)"이 있으며, 따라서 이 영역을 검출하는 알고리즘은 이를 대처할 수 있어야만 한다.
보정 가능 영역의 존재 및 범위를 결정하는 데에는 4 단계가 있다:
1. 개시 화소를 둘러싼 화소들의 보정가능성 결정
2. 모든 화소들에 이론적 점수 또는 가중치를 할당
3. 보정가능 영역의 에지들을 찾아서 그 크기를 결정
4. 영역이 대략 원형인지를 결정
단계 1에서, 2차원 어레이는 도 14에서 도시된 바와 같이 구성되며, 각 셀은 대응 화소의 보정가능성을 나타내는 1 또는 0을 포함한다. 기준 화소(8)는 어레이의 중심에 있다(도 14에서, 열 13, 행 13). 상술한 바와 같이, 어레이는 동공의 전체 범위가 그 내부에 포함될 수 있을 정도로 커야만 하며, 이는 무엇보다 검출된 특징의 크기를 참조하여 확보될 수 있다.
단계 2에서, 제2 어레이는 제1 과 동일한 크기로 생성되며, 보정가능 화소 어레이 내의 각 화소에 대한 점수를 포함한다. 도 15에 도시된 바와 같이, 화소(50, 51)의 점수는 점수가 매겨지고 있는 화소를 중심으로 3×3 정방 영역 내에 있는 보정가능 화소들의 개수이다. 도 15a에서, 중심 화소(50)는 점수 3을 갖는다. 도 15b에서, 중심 화소(51)는 점수 6을 갖는다. 점수 매기기는, 브리지(bridge)될 보정가능 영역에서 작은 갭들 및 홀들을 허용하고, 그에 따라 에지들이 잘못 검출되는 것을 방지하므로 유용하다.
어레이에서 화소 점수들을 계산한 결과는 도 16에 도시되어 있다. 어레이에지를 따라있는 화소들은 계산된 점수가 무엇인지에 관계없이 모두 점수 9가 할당된다. 이것의 결과는 어레이 범위를 넘는 모든 것은 보정가능하다는 점을 가정할 수 있다는 것이다. 따라서, 하이라이트를 둘러싼 보정가능 영역의 어떤 부분이라도 어레이의 에지로 확장할 수 있으면, 이것은 분리되고 폐쇄된 형상으로서 분류되지 않을 것이다.
단계 3은 화소 점수들을 사용하여 보정가능 영역의 경계를 찾는다. 상술한 예는 이 영역의 최좌측 및 최우측 열과, 최상부 및 최하부 행만을 찾고자 시도하지만, 영역의 경계에 대한 보다 정확한 추적을 시도하지 못할 이유는 없다.
보정가능한 것으로 간주되는 화소들을 그렇지 않은 화소들과 분리하는 임계치를 정의할 필요가 있다. 이 예에서, 4 이상의 점수를 갖는 임의의 화소는 보정가능한 것으로서 카운팅된다. 이는 분리 영역들을 여전히 인식하면서도 작은 갭들을 건너가는 사이에서 최적의 균형을 부여하는 것으로 발견되었다.
단계 3에 대한 알고리즘은 도 17에 도시된 바와 같이 3 스텝을 갖는다:
1. 어레이 중심에서 시작하여 외부(61) 방향으로 작업하여 영역의 에지를 찾음.
2. 상부 섹션의 좌측 에지 및 우측 에지(62)를 그들이 만날 때까지 동시에 추적.
3. 하부 섹션(63)에 대하여 스텝 2를 동일하게 반복
프로세스의 첫 스텝은 도 18에서 보다 상세하게 도시되어 있다. 개시 시점은 좌표(13, 13)를 갖는 어레이 내의 중심 화소(8)이고, 그 목적은 중심에서 영역(64, 65)의 에지로 이동하는 것이다. 영역 중심에서의 화소들은 보정가능한 것으로서 분류되지 않을 수도 있다(여기에서와 같이)는 사실을 고려하여, 이 알고리즘은 적어도 하나의 보정가능 화소에 맞닦뜨릴 때까지 에지 검색을 시도하지 않는다. 중심(8)에서 좌측 에지(64)로 이동하는 과정은 다음과 같이 표현될 수 있다:
유사하게, 좌측 에지(65)를 배치하는 방법이 다음과 같이 표현될 수 있다.
이 시점에서, 중심선 상의 영역의 좌측(64) 및 우측(65) 극단은 알려지고, 포인트되고 있는 화소들은 좌표 (5, 13) 및 (21, 13)을 나타낸다.
다음 스텝은, 이 행 위의 영역의 외부 에지들을 이들이 만나거나 어레이의에지에 도달할 때까지 추적하는 것이다. 어레이 에지에 도달하면, 영역이 분리되지 않았음을 알 수 있고, 따라서 특징은 잠재 적목 특징으로서 분류되지 않을 것이다.
도 19에 도시된 바와 같이, 영역 에지를 추적하는 개시점은 전이가 발견된 이전 행 상의 화소(64)이며, 그래서 제1 스텝은 그 바로 위의 (또는 그 방향에 따라 그 아래의) 화소(66)로 이동한다. 그 후, 다음 동작은 도 19a에 도시한 바대로 화소의 값(66)이 임계치 이하이면 영역(67)의 중심 방향으로 이동하며, 도 19b에 도시된 바와 같이, 화소(66)가 임계치 이상이면, 임계치가 교차될 때까지, 영역(68) 외부를 향해 이동하는 것이다. 도달된 화소는 그 후 다음 이동을 위해 개시점이 된다.
내부 또는 외부로 하나 이상의 이동에 뒤이어서, 다음 행으로 이동하는 프로세스가 조사할 행이 더 없을 때까지(영역이 분리되어 있지 않은 경우) 또는 좌측 에지에 대한 검색이 도 20에 도시된 바와 같이 우측 에지에 대한 검색이 개시하는 지점을 교차할 때까지 계속된다.
전체 프로세스는 도 21에 도시되어 있으며, 이는 알고리즘에서 식별되는 바와 같이, 영역의 좌측(64), 우측(65), 위(69) 및 아래(70) 극단들을 나타낸다. 각 경우에 좌측 에지는 우측 에지를 통과하기 때문에 상부 에지(69)와 하부 에지(70)가 닫혀진다. 보정가능 화소들의 최좌측 열(71)은 y좌표=6이고, 최좌측 극단(64)의 한 열 우측에 있다. 보정가능 화소들의 최우측 열(72)은 y좌표=20이고, 최우측 극단(65)의 한 열 우측에 있다. 보정 가능 화소들의 최상부 열(73)은 x좌표=6이고좌측 에지가 우측 에지를 통과하는 지점(69)에서 한 행 아래에 있다. 보정가능 화소들의 가장 아래 행(74)은 x좌표=22이고, 좌측 에지가 우측 에지를 통과하는 지점(70)으로부터 한 행 위에 있다.
단계 3에서 영역의 극단들을 성공적으로 발견한 후, 단계 4에서는 이제 영역이 실질적으로 원형인지를 점검한다. 이는, 도 22에 도시된 바와 같이 보정가능 화소 어레이 내의 어느 화소들을 조사할 것인지를 결정하기 위해 직경이 최좌측(71)과 최우측(72) 열 간 그리고 최상(73) 및 최하(74) 행 간의 두 거리 중 보다 큰 것의 값을 갖는 원(75)을 사용함으로써 수행된다. 원(75)은 최좌측 (71)과 최우측(72) 열과 최상(73) 및 최하(75) 행 간의 중도에 위치하게 된다. 원형 영역(75)의 약 50%의 화소들은 원(75)으로 분류되는 영역에 대하여 보정가능한 것으로 분류되어야만 한다(즉, 도 14에 도시된 1의 값을 가짐).
이 경우, 원의 중심(76)은 영역 검출이 시작됐던 기준 화소(8)와 동일 위치에 있지 않음을 알 수 있다.
보정가능 화소의 닫히고 분리된 원형 영역이 특징과 관련되어 있다면, 이러한 영역들의 리스트에 추가된다.
대안 또는 추가적인 마지막 점검에서, 각 분리 영역은 그 영역의 높이 대 폭의 비율에 따라 단순 테스트받게 된다. 이를 통과하면, 스테이지(3)에서 준비된 리스트에 추가된다.
스테이지 3 - 영역 분석
스테이지 (2)에서 발견된 영역들의 몇몇은 적목에 의해 야기되지만, 모두가그러한 것은 아니다. 이하, 그렇지 아니한 것을 '오류 검출'이라 부른다. 알고리즘은 영역들의 리스트에 보정을 적용하기 전에 이들의 제거를 시도한다.
수많은 측정이 영역들 각각에 대하여 행해지며, 영역이 적목에 의해 야기되었는지 또는 아닌지를 평가하기 위해 후에(스테이지 4) 사용될 수 있는 다수의 통계치들이 계산된다. 취해진 측정은, 각 분리 영역 내의 색상, 명도 및 채도의 평균 및 표준편차와, 세 채널 각각에서(H, L 및 S) 수평으로 인접한 화소들 간의 크고 작은 변화의 카운팅을 포함한다.
또한, 알고리즘은 H, L 및 S에 대한 여러 다른 기준을 충족하는 영역 둘레의 환형에서의 화소들의 비율을 기록한다. 또한, 영역의 H×L의 평균 및 표준편차 등의 보다 복잡한 통계치를 측정 및 기록한다(즉, H×L은 영역 내 각 화소에 대하여 계산되며 결과적인 분포의 평균 및 표준편차가 계산된다). 이는 또한 H×S 및 L×S에 대하여도 마찬가지로 행해진다.
또한, 영역에 걸쳐 H, L 및 S에서의 변화에 대한 두개의 다른 척도들이 기록된다: 이들 채널 각각에 대하여 인접 화소들 간의 차들의 제곱치들의 합, 이들 채널 각각에 대하여 인접 화소들 간의 절대차들의 합이 그것이다. 또한, 두개의 히스토그램이 기록되는데, 하나는 영역 내에서 보정가능한 화소에 대하여, 다른 하나는 보정불가능한 화소에 대한 것이다. 두 히스토그램 모두 인접한 보정가능 화소들의 카운팅을 기록한다.
또한, 이 알고리즘은 적목인 영역의 확률의 척도인 수치를 계산한다. 이는 적목에서 발생하는 화소의 H, S 및 L 값의 확률들의 측정치의 곱의, 영역 내 모든화소에 대한, 산술평균을 구함으로써 산출된다. (이들 확률 측정치는 적목의 광범위한 샘플링과 그들 내에서 발생하는 H, S 및 L 값의 분포의 결과적 구성 후에, 계산된다). 유사한 수치가 오류 검출인 영역의 확률 측정치로서 계산된다. 리스트 내 각 영역에 대하여 통계치가 기록된다.
영역 분석은 여러 단계로 행해진다. 제1 분석 단계는 영역이 적목일 확률의 측정치(이전 단락에서 언급)를 계산하고, 또한 영역이 오류 검출일 확률의 측정치를 계산한다. 이들 두 측정치들은 상호 독립적이다(비록 실제 확률들이 명시적으로 보수적(complementary)이라도).
알고리즘은 아래에 주어진다. huePDFp값은 주어진 색상에 대하여 그 색상을 갖는 임의 유형의 랜덤하게 선택된 적목으로부터의 랜덤하게 선택된 화소의 확률이다. 유사한 정의가 채도 값에 대한 satPDFp와 명도값에 대한 lightPDFp에 대하여 주어진다. huePDFq, satPDFq 및 lightPDFq 값들은 알고리즘 내의 이 지점에서 존재할 오류 검출, 즉, 검출기들 중 하나가 발견하고 영역 검출을 성공적으로 통과한 오류 검출에서 취해진 화소에 대한 등가 확률들이다.
두개의 기록된 값 "sumOfps/PixelCount"와 "sumOfqs/PixelCount"는 영역의 확인에서 오류 검출 또는 적목인 영역의 확률 측정치들로서 각각 후에 사용된다.
다음 단계는 영역 검출에서 앞서 사용된 보정가능성 기준을 사용함으로써, 각 화소는 그 H, L 및 S 값에 기초하여 보정가능 또는 보정불가능으로 분류된다. (각 영역을 분석하는데 사용되는 특정 보정가능 기준은 그 영역에서 발견하는데 사용되었던 기준과 동일한 기준, 즉, HLS, HaLS, 또는 Sat128이다). 알고리즘은, (대각선 접촉 화소 등 포함, 0에서 8까지의) 보정가능한 가장 가까운 인접 화소들의 각각의 가능한 카운팅으로 화소들 개수에 대한 두개의 합계값을 유지하며 영역 내의 모든 화소들을 통해 반복되는데, 한 합계는 보정불가능한 화소들에 대한 것이고, 다른 한 합계는 보정가능한 화소들에 대한 것이다.
기록된 정보는 다음과 같다:
모든 보정가능 화소들에 대하여, 얼마나 많이 보정가능한 [x]개의 가장 가까운 인접 화소를 갖는지, 여기서 0≤x≤8.
모든 보정불가능 화소에 대하여, 얼마나 많이 보정가능한 [y]개의 가장 가까운 인접 화소를 갖는지, 여기서 0≤y≤8.
이들 두 그룹의 데이터는 논리적으로 보정가능한 가장 가까운 인접 화소의 카운팅의 두개의 히스토그램인데, 하나는 보정가능한 화소들에 대한 것이며 다른 하나는 보정불가능한 화소들에 대한 것이다.
다음 단계는 도 23에 도시된 바와 같이 적목 영역(75) 주변의 화소들의 환형(77)의 분석을 포함한다. 환형의 외측 에지(78)에 의해 둘러싸인 영역은 어느 정도의 얼굴 피부를 포함하여, 눈의 흰 자위를 대략 커버하여야 한다. 환형(77)은 적목 영역의 것보다 세배의 반지름을 갖는 원(78)에 의해 외부 경계가 지정되고, 적목 영역(75)과 동일한 반지름을 갖는 원에 의해 내부 경계가 지정된다. 환형은 적목 영역 자체와 동일한 화소 상에 중심이 있다.
알고리즘은 환형 내의 모든 화소를 통해 반복하여, H, L 및 S 값을 기초로 하여 하나 이상의 카테고리로 각각을 분류한다.
카테고리 색상 채도 명도
LightSatOK - S<100 L<200
LightSatOK - 100≤S<200 150<L
HueLightOK 220≤H - 15≤L≤200
HueLightOK H≤30 - 15≤L≤230
HueSatOK H≤30 15≤S≤200 -
HueSatOK 140≤H≤230 S≤50 -
HueSatOK 230≤H S≤100 -
화소는 그것이 상기 카테고리 중 어디에 속했는지에 기초하여 이 화소가 속하거나 속하지 않은 것으로 분류되는 추가의 수퍼카테고리들(supercategories)이 있다. 이들 7개의 수퍼카테고리는 'All', 'LightSatHueSat', 'HueLightHueSat', 'HueSat' 등이다.
HueSatOK 화소에 대하여
HueLightOK !HueLightOK
LightSatOK All LightSatHueSat
!LightSatOK HueLightHueSat HueSat
!HueSatOK 화소에 대하여
HueLightOK !HueLightOK
LightSatOK LightSatHueLight LightSat
!LightSatOK HueLight -
(!HueSatOK는 HueSatOK가 참이 아님을 의미하며, 접두사 '!'은 조건이 거짓임을 의미한다). 예로서, HueSatOK(상기 제1 표 참조), HueLightOK를 만족하지만 LightSatOK를 만족하지는 않는 화소는 따라서 'HueLightHueSat' 수퍼카테고리 내에 있다. 알고리즘은 환형 내의 모든 화소에 걸쳐 반복함에 따라 이들 7개의 수퍼카테고리 각각에서 화소의 개수의 카운팅을 지속한다. 이들 카테고리 각각에 속하는 환형 내의 화소의 비율은 각각의 적목에 대한 그밖의 정보과 함께 저장하여, 영역이 확인될 때 스테이지 (4)에서 사용될 수 있다.
상술한 분류에 더하여, 추가 분류는 환형을 통한 이러한 단일 패스 시에 각 화소에 적용된다.
카테고리 색상 채도 명도
Hue1 240≤H - -
Hue2 H≤20 - -
Sat1 - S≤35 -
Sat2 - S≤50 -
Light1 - - L≤100
Light2 - - L≤150
Light3 - - L≤200
Light4 - - 200<L
또한, 상술한 바와 같이, 화소는 그 후 화소가 이들 카테고리 중 어느 카테고리에 속하는지에 따라 수퍼카테고리로 분류된다.
기준 수퍼카테고리
Hue1 AND Sat1 AND Light3 WhiteA
Hue1 AND Sat2 AND Light3 WhiteB
Hue1 AND Sat1 AND Light2 WhiteC
Hue1 AND Sat2 AND Light3 WhiteD
Hue2 AND (Sat1 OR Sat2) AND Light2 WhiteE
Hue2 AND (Sat1 OR Sat2) AND Light3 WhiteF
Hue1 AND Sat1 AND Light4 WhiteI
Hue1 AND Sat2 AND Light4 WhiteJ
Hue1 AND Sat1 AND Light1 WhiteK
Hue1 AND Sat2 AND Light1 WhiteL
(Sat1 OR Sat2) AND Light2 WhiteX
(Sat1 OR Sat2) AND Light3 WhiteY
이들 베이스 카테고리와 달리, 이들 수퍼카테고리는 WhiteX와 WhiteY를 제외하면 상호 배타적이고, 다른 수퍼카테고리의 수퍼세트이다. 알고리즘은 환형 내 모든 화소를 통해 반복함에 따라 이들 12개의 수퍼카테고리 각각에서 화소의 개수의 카운팅을 지속한다. 이들 카운팅은 각 적목에 대한 그밖의 정보와 함께 저장되며, 영역이 확인될 경우 스테이지 (4)에서 사용될 수 있다. 이는 환형 분석을 완료한다.
또한, 적목 영역 자체가 분석된다. 이는 3 패스들에서 수행되며, 각각은 영역내 각 화소를 통해 반복한다. 첫 패스는 행들을 통해, 행 내에서, 그 행의 각 화소를 통해 좌에서 우로 반복한다. 이는 다음과 같이 적목 영역에 대한 여러 정보를 기록한다.
Lmedium, Llarge, Smedium 및 Slarge는 중간 크기(또는 그 이상) 및 대형 크기로서 각각 분류되기 위해서 그 변화값이 가져야만 하는 크기를 규정하는 임계치들이다.
적목 영역을 통한 제2 패스는 영역 내 화소들을 통해서 그 영역 상에서 색상, 채도 및 명도 값을 합산하며, 또한 (색상×명도), (색상×채도) 및 (채도×명도)의 값을 합산하는 것을 반복한다. 여기서 사용된 색상은 128만큼 회전(즉, 색상 원 상에서는 180도)된 실제 색상이다. 이 회전은 약 0에서 약 128로 적색값을 이동시킨다. 그리고 나서 이들 6개의 분포 각각의 평균은 합산된 화소 개수로 이들 합계들을 나누어서 구한다.
제3 패스는 화소들을 통해 반복하고, 6개의 분포(H, L, S, H×L, H×S, S×L) 각각에 대하여 분산(variance) 및 모집단 표준 편차(population standard deviation)를 계산한다. 그 후, 6개 분포 각각의 평균 및 표준편차는 그 후 이 적목 영역에 대한 다른 기록과 함께 기록된다.
이는 영역 분석을 완료한다. 이 스테이지의 종료시에, 리스트 내 각 영역은, 그것에게 상당한 양의 정보를 관련지울 것인데, 이 정보는 그 후 이 영역이 리스트 내에 있을 지를 결정하는데 사용된다.
스테이지 4 - 영역 확인
알고리즘은 이제 스테이지 (3)에서 수집된 데이터를 사용하여 리스트 내 일부 또는 모든 영역을 거부한다. 기록된 각 통계치에 대하여, 적목에서 발생하는 어떤 범위의 값이 있으며, 몇몇 통계치에서는, 오류 검출에서만 발생하는 범위의값들이 있다. 또한, 이는 이들 통계치들 중 둘 또는 셋의 비율들 및 곱들에 적용된다.
알고리즘은 단일 통계치, 또는 그들 중 둘 이상의 조합으로부터 계산된 값과 적목에서 예측된 값들을 비교하는 테스트를 사용한다. 몇몇 테스트는 그 테스트를 거쳐갈 것을 요구하고, 그 영역은 이들 테스트에 실패하면 (오류 검출로서) 거부될 것이다. 영역은 그들 중 어떤 개수를 통과하여야만 - 예를 들어, 6개 중 4개 - 거부되는 것을 피하게 되게끔 그 밖의 테스트는 조합되어 사용된다.
상술한 바와 같이, 모든 기준의 집합들이 모든 특징 유형들에 적용가능한 것은 아니더라도, 스테이지 (2)에서 영역을 초래할 수 있는 5개의 다른 특징 유형들과 특징이 주어진 영역을 찾는데에 사용될 수 있는 H, L 및 S에 대한 3개의 다른 기준 집합들이 있다. 이 영역들은 이들 두 개의 속성에 따라 10개의 카테고리로 그룹화될 수 있다. 검출되는 눈들은 그들이 검출되는 영역의 카테고리에 따라 가변하는 몇몇 속성을 가지고, 따라서 주어진 영역에 대하여 수행되는 테스트는 영역이 이들 10개 카테고리 중 어느 것에 속하는지에 의존한다. 이를 위해, 테스트는 다수개가 존재하는 여러 확인자로 그룹화되며, 주어진 영역에 대해 알고리즘에 의해 사용되는 확인자는 그가 어떤 카테고리에 속하는지에 의존하다. 이는, 다음으로 어느 테스트가 적용될 지를 결정한다.
확인자에서의 이러한 레벨의 특정성(specificity)에 더하여, 적목 영역의 세부양과 특징은 보다 큰 적목(즉, 화상에서 보다 많은 화소를 커버하는 것)과는 약간 상이하다. 따라서, 큰 눈에 대하여 특정한 추가 확인자가 있으며, 이는 큰 오류 검출은 실패할 수 있지만 큰 눈은 그렇지 않은 테스트를 수행한다(비록 보다 작은 눈에 실패하더라도).
영역은 하나 이상의 확인자를 통해 통과될 수 있다 - 예를 들어, 그 영역 카테고리에 대하여 하나의 확인자를 가질 수 있으며, 큰 경우에는 추가 확인자를 가질 수 있다. 이 경우, 보유된 모든 관련 확인자를 통과하여야만 한다. 확인자는 모든 영역 중의 몇몇 특정의 부분집합에 대하여 맞추어진 테스트의 집합에 불과하다.
테스트 중 하나의 그룹은 스테이지 3 -영역 분석("흰색" 수퍼카테고리가 아님)에서 처음 기술된 7개의 수퍼카테고리를 사용한다. 이들 카테고리 각각에 대하여, 그 수퍼카테고리 내에 있는 영역 내의 화소의 비율은 특정 범위 내에 있어야만 한다. 따라서, 각 카테고리에 대하여 하나의 이러한 테스트가 있으며, 주어진 확인자는 이들 7개의 테스트 중 어떤 개수의 테스트가 영역을 유지하기 위하여 통과될 것을 요구할 것이다. 보다 많은 테스트가 실패하면, 그 영역은 거절될 것이다.
그 밖의 테스트의 예는 다음을 포함한다.
당업자는 가능한 테스트의 속성 및 변형들을 쉽게 파악할 수 있을 것이다.바람직한 구현예는 진정한 적목 영역과 오류 검출 영역 사이를 분별할 수 있는 모든 가능한 이러한 테스트를 사용할 수 있다.
스테이지 5 - 상호작용에 의한 영역 제거
이 스테이지에서, 리스트 내의 잔류한 영역들의 일부는 영역들 간의 상호작용으로 인해 이제 제거된다. 각 영역에 대하여, 원이 그 영역을 외접하도록 구성된다 - 이 원은 상기 영역과 동일한 중심을 가지며, 이를 포함할 정도로 크다. 둘 이상의 영역에 대한 원들이 교차하면, 이들은 제거된 것으로 간주된다.
화상에서 실제 적목(올바른 검출)과 관련되어 검출된 영역은 동공이며, 눈의 홍채 또는 백안으로 퍼질 수 있다. 동공은 겹칠 수는 없지만, 홍채도 (또는 실제로 전체 눈도) 마찬가지다. 실제 적목은 따라서 교차 영역을 야기하지 않을 수 있으며, 이러한 경우, 두 영역 모두 리스트에서 제거되어야 한다.
그러나, 동일한 적목과 관련된 리스트 내의 하나 이상의 영역이 있을 수 있으므로 특별 고려사항이 부여되어야 한다 - 즉, 동일한 적목이 한 번 이상 검출되었을 수 있다. 5개의 서로 다른 특징 검출 알고리즘 중 하나 이상에 의해 식별되었을 수 있으며, 및/또는 영역 검색에 사용될 수 있는 3개의 서로 다른 집합의 보정가능성 기준이 있다는 사실로 인해 영역 검출 동안 이에 관련된 하나 이상의 영역을 가졌을 수 있다.
이러한 경우에는, 실제 (다른 특징에 대하여 다른 검출 요건으로 인해) 5이상을 검색하는 것이 예외적이더라도, 이론상으로는 화상 내 단일 적목과 관련된 10개까지의 중첩 영역이 있을 수 있다. 한 번 이상 임의의 적목에 수정을 가하는 것은 바람직하지 않으므로, 이들 영역 중 단지 하나 만이 보정용으로 사용되어야 하지만, 그것들 중 하나는 보류되어야 하고 나머지는 적목이 보정되지 않을 것이다.
수정 후에 가장 자연스러운 외관 결과를 나타내는 영역을 보유하는 것이 바람직하다. 어느 영역이 보유하기에 가장 최적인지를 규정하는 영역 카테고리의 모든 조합에 대하여 규칙이 결정된다. 이는 영역의 중첩 정도, 그들의 절대 및 상대 크기와 그들이 속하는 카테고리에 의존한다. 따라서, 중첩(교차)하거나 서로 매우 가까운 영역에서는, 알고리즘은 이들 중 어느 것을 유지할 지를 결정하는 여러 규칙을 적용한다. 그것들은 모두 거절될 수도 있다. 이 스테이지의 종료시에, 영역들의 리스트가 남게 되며, 이들 각각은 알고리즘이 액세스할 수 있다면, 화상 내의 적목과 관련되어 있다.
알고리즘은 이러한 작업을 4 단계로 수행하며, 이들 중 처음 세 단계는 다른 원과의 상호작용에 따라 원을 제거하며, 마지막 단계는 중복(동일) 원들의 임의 집합 중의 하나를 제외하고 모두를 제거한다.
이들 4 단계는 의사 코드로 아래에 기술되는, 각 하나씩 사용되는 알고리즘을 고려함으로써 가장 잘 이해된다. "'this' 제4 유형 HLS"와 같은 엔트리는 특징 유형 및 영역 검출 카테고리를 각각 의미한다. 이 예에서, 가능한 적목 리스트 내의 엔트리는 제4 유형 검출기에 의한 특징으로 검출되며, 관련 영역은 스테이지 (2)에서 기술된 보정가능성 기준 HLS를 사용하여 검색된다. OffsetThreshold에 대한 적절한 값은 3이고, RatioThreshold는 1/3이다.
단계 1
"RemoveLeastPromisingCircle"은 한 쌍의 원들로부터 그들 중 어느 것이 삭제 표시되어야 하는지를 선택하는 알고리즘을 구현하는 함수이며, 다음과 같이 진행한다:
'적목 확률'의 기준은 상술한 영역 분석 스테이지 (3)에서 계산되어 기록된 적목인 특징의 확률의 측정치를 사용한다.
단계 2
단계 3
상기 3개의 단계는 원들 사이의 짝 상호작용(pairwise interaction)에 기초하여 단독 또는 쌍으로 삭제를 위한 원을 표시하며, 세번째는 가능한 적목 리스트를 통해 진행하고 삭제를 위해 표시되었던 것을 제거함으로써 종료한다.
단계 4
4번째 단계는 적목 가능 리스트에서 남아 있는 중복 원들의 임의의 집합 중 하나를 제외한 모두를 제거한다.
이 스테이지의 종료시에, 영역들의 리스트 내의 각 영역은 단일 적목에 대응하며, 각 적목은 최대 하나의 영역으로 표현된다. 리스트는 이제 영역에 적용되는 보정을 위한 적절한 조건에 있다.
스테이지 6 - 영역 보정
이 스테이지에서, 보정은 리스트 내 나머지 영역 각각에 적용된다. 이 보정은 영역 내 화소들에 대하여 H, S 및 L 값들의 변형으로서 적용된다. 이 알고리즘은 복잡하고 7 단계로 구성되지만, 다음과 같이 넓게 분류될 수 있다.
각 화소의 채도의 변경은 그 화소의 원래의 색상, 채도 및 명도, 주변 화소의 색상, 채도 및 명도 및 영역 형상에 기초한 계산에 의해 결정된다. 그 후, 이는 평활화되고 모방 래디얼 효과가 도입되어 화상 내의 "보통" 눈(즉, 적목이 존재하지 않은 눈)에서, 동공, 홍채의 경계의 원형 외관을 모방한다. 보정 효과는 주변 영역에 확산되어 보정이 없었더라면 도입될 수 있었던 가시적 급격한 변화와 다른 부자연스러운 콘트라스트를 제거한다.
그 후, 유사한 공정이 보정가능 영역 내와 둘레의 각 화소의 명도에 대하여 수행되며, 상기 보정가능 영역은 상기의 것으로부터 계산된 채도 보정 및 화소와 그 주변의 H, S 및 L 값에 의존한다. 이 명도 변경은 유사하게 평활화되고, 래디얼 변조(즉, 점차로 변경)되며, 주변 영역과 혼합된다.
이들 채도 및 명도 변경이 화상에 적용된 후에, 본질적으로 적색으로 남게되는 임의의 화소의 채도를 감소시키는 추가 변경이 적용된다. 이러한 보정은 H, S 및 L 데이터를 사용할 뿐만 아니라 화소들 각각에 대한 R, G 및 B 색 데이터에 의존한다. 눈 둘레 및 눈을 가로지르는 보정을 부드럽게 혼합시키려 하는 노력이 이루어져, 명도 또는 채도의 급격한 변화가 도입되지 않게 된다.
결국, 모든 보정된 눈은 그들이 여전히 "플레어"로 나타나는지 여부를 결정하기 위해 점검된다. 눈은 보정 후에, 밝고 무채색의 화소로 주로 이루어지고, 하이라이트가 없게 보이는 눈은 더 변경되어 하이라이트를 가져서 더욱 어둡게 보이도록 변경된다.
보정 프로세스를 이하 보다 상세히 설명한다.
채도 승수
보정가능 영역 주변의 사각형이 구성된 후, 보정가능 영역을 모두 포함하도록 약간 확장되고, 보정의 평활화를 위해 약간의 여유를 허용한다. 여러 행렬이구성되며, 이들 각각은 이 영역 내에서 화소당 하나의 값을 갖는다.
2D 그리드의 명도 대 채도 값에서, 알고리즘은 포인트 L=128, S=255로부터 각 화소의 명도(L) 및 채도(S) 값의 거리를 계산한다. 도 24는 (L,S)=(100,100)를 갖는 단일 예인 화소(80)에 대하여 이러한 계산이 어떻게 행해지는지를 도시한다. (L,S)=(128,255)에서의 거리는 두 지점을 연결한 선분(81)의 길이이다. 이 예에서, 이 거리는이다. 이는 화소가 어떤 가시적 색으로 보이게 될지 대략적 측정치를 부여한다: 거리가 짧을수록, 화소는 보다 높은 채도로 눈에 보인다. 이 알고리즘은 180 미만의 거리를 갖고(도 24에서 컷오프 라인(82) 아래), 그 색상이 특정 범위 내에 해당하는 화소들의 보정에 대해서만 표시한다. 바람직한 구현예는 (색상≥220 또는 색상≤21)과 유사한 범위를 사용하며, 이는 색상 휠(hue wheel)의 적색 부분을 커버한다.
각각의 이러한 화소에 대하여, 알고리즘은 그 채도값에 대한 승수를 계산한다 - 일부는 적색을 제거하기 위한 실질적인 채도 감소(de-saturation)를 요구하며, 다른 것들은 거의 또는 어떤 채도도 요구하지 않는다 -. 승수는 보정의 정도를 결정한다 - 승수 1은 전체 보정을 의미하고, 승수 0은 보정이 없음을 의미함 -. 이러한 승수는 이전에 계산된 거리에 의존한다. 128, 255에 근접한 L, S값을 갖는 화소는 보다 큰(즉, 1에 가까운) 승수가 주어지는 반면, 128, 255와 먼 L, S값을 갖는 화소는 작은 승수를 가지게 되어, 0(화소가 보정되지 않음을 의미)으로 부드럽고 연속적으로 변경된다. 이에 의해, 보정은 초기에 매우 부드럽게 된다. 거리가 144 미만이면, 승수는 1이다. 그렇지 않은 경우, 1-((거리-144)/36)이 된다.
진행을 더 계속할지에 대한 평가가 이제 행해진다. 높은 계산된 보정(>0.85)를 갖는 사각형의 경계 상에 화소의 비율이 크면(>35%), 알고리즘은 더이상 진행하지 않는다. 이는 사각형이 눈을 포함하여야 하고, 단지 눈을 표현할 수 없는 형상의 보정가능 영역만이 사각형 에지 근처에서 높은 값을 갖는 승수의 패턴을 야기하기 때문이다.
이제 알고리즘은 채도 승수의 그리드를 가지며, 보정 사각형에 있어서 화소당 하나의 승수를 갖게 된다. 눈의 동공과 홍채의 회전운동을 모방하기 위해서, 그리고 보정이 점차 래디얼 변경되도록 하기 위해서(평활성을 더욱 향상시키기 위해서), 도 25에 도시된 바와 같이, 이들 승수 각각에 원형의 래디얼 조정을 적용한다. 이 조정은 보정가능 영역을 경계로 하는 사각형(83)의 중간지점에서 중심을 이룬다. 이는 변경되지 않은 사각형의 중심 근처에 승수를 두지만, 중심 주변 환형(84)에서 승수를 변경하여 그들이 영역(83)의 에지 근처에서 0(보정이 없음을 의미)에 원활하게 혼합하게 된다. 변경은 환형의 내부 에지(85)에서(보정이 원래 있는 대로 유지 외부 에지로(임의의 보정이 제로 효과로 감소) 방사상으로 부드럽고 선형으로 이동한다. 환형의 외부 에지는 사각형(83)의 모서리와 접촉한다. 환형의 내부 및 외부 에지의 반지름은 (사각형) 보정가능 영역의 크기로부터 모두 계산된다.
보정의 에지는 이제 부드럽게 된다. (이는 상기 평활화 단계와는 많이 다르다). 새로운 승수가 각각의 보정불가능 화소에 대하여 계산된다. 도 26에 도시된바와 같이, 영향을 받은 화소는 0의 승수값, 즉, 보정가능 화소(87)에 인접한 보정불가능(86)의 갖는 것들이다. 영향을 받는 화소(86)는 수평 줄무늬를 갖는 것으로 도 26에 도시되어 있다. 보정가능 화소(87), 즉, 0 이상의 채도 승수를 갖는 화소들은 수직 줄무늬를 갖는 것으로 도 26에 도시되어 있다.
이들 화소 각각에 대한 새로운 승수는 그 화소를 중심으로 한 3×3 그리드에 대하여 이전 승수값들의 평균을 취함으로써 계산된다. (산술 평균이 사용되며, 즉, 모든 9개 값을 합산하여 이를 9로 나눈다). 따라서 보정가능 영역의 경계 바로 밖 화소는 모든 인접 화소의 보정이 이들에 번지게 하고, 보정은 이전 경계 외부에 스며들어 부드럽고, 번진 에지(blurred edge)를 생성한다. 이는 보정에 어떤 급격한 에지가 없도록 보장한다. 이러한 단계가 없으면, 실질 보정을 갖는 화소가 어떤 보정도 없는 화소에 인접하게 되는 영역일 수 있으며, 이러한 에지는 가시적일 수 있다. 이 단계가 흐려지기 때문에, 보다 넓은 영역에 대하여 보정의 효과를 확산하여, 보정을 포함하는 사각형의 범위를 증가시킨다.
그 후, 이러한 에지 연화(edge-softening) 단계는 한 번 더 반복되어, 보정가능 화소의 원(이제는 약간 큰) 바로 밖 보정불가능 화소에 대하여 새로운 승수를 결정한다.
각 화소에 대하여 채도 승수를 설정한 후에, 보정 알고리즘은 이제 명도 승수로 진행한다.
명도 승수
명도 승수의 계산은 채도 승수의 계산과 유사한 단계들을 포함하지만, 다른순서로 적용된다.
초기 명도 승수가 각 화소에 대하여 계산된다(보정 가능 영역 경계의 사각형). 이들은 각 화소에 대하여 그 화소를 중심에 둔 7×7 그리드에 대하여 이미 결정된 채도 승수의 평균을 취함으로써 계산된다. 산술 평균이 사용되어, 알고리즘은 모든 49개의 합을 합산하여 이를 49로 나눈다. 이 그리드의 크기는 원리상 예를 들어, 5×5로 변경될 수 있다. 그 후, 알고리즘은 전체 경계 사각형(보정가능 영역을 포함)에 대하여 채도 승수의 평균 크기에 따라 각 화소당 명도 승수를 스케일한다. 사실상, 각 명도 조정의 크기는 상기 패스에서 결정된 채도 조정의 총량에 (선형) 비례한다.
에지 연화는 그 후 명도 승수의 그리드에 적용된다. 이는 도 26을 참조하여 상술된 채도 승수에 에지 연화를 적용하는데 사용된 바와 동일한 방법을 사용한다.
명도 보정의 전체 영역은 그 후 평활화된다. 이번에는 승수가 이전에 보정불가능했던 것들이 아닌 사각형의 모든 화소에 대하여 재계산된다는 점을 제외하고는 방금 실행된 에지 연화와 동일한 방식으로 실행된다. 따라서, 에지를 단지 평활화하는 것보다는, 이는 전체를 평활화하여, 명도에 적용된 보정이 전체가 평활화된다.
그 후, 알고리즘은 도 25를 참조하여 설명한, 채도 승수에 대한 래디얼 보정에 대하여 사용된 것과 유사한 방법을 사용하여, 명도 승수의 그리드 상에 원형 혼합을 수행한다. 그러나, 이번에는, 환형(88)이 도 27에 도시된 것과 실질적으로 상이하다. 환형(88)의 내부(89) 및 외부(90) 반지름은 명도 승수가 0으로 변경되어 채도 승수의 래디얼 보정에 대하여 사용된 대응 반지름들(85, 83)보다 실질적으로 적게 된다. 이는 사각형이 명도 승수가 0으로 설정되는 모서리 내의 영역(91)을 가짐을 의미한다.
보정가능 영역 사각형 내의 각 화소는 이에 관련된 채도 및 명도 승수를 가진다.
승수를 사용하여 채도 및 명도를 변경
사각형 내의 모든 화소에 대하여(상술한 연환/번짐에 의해 확장), 보정은 이제 채도 및 명도값을 변경함으로써 적용된다. 색상은 변경되지 않는다.
채도가 먼저 보정되지만, 200이상인 경우이거나 그 화소에 대한 채도 승수가 1 미만인 경우(1은 전체 보정, 0은 보정이 없음을 의미) - 이들 조건 중 어느 것도 충족하지 않으면, 채도는 0으로 감소된다. 보정이 되지 않으면, 새로운 채도가 다음과 같이 계산된다:
CorrectedSat=(OldSat×(1-SatMultiplier))+(SatMultiplier×64)
따라서, 전체 보정을 의미하는, 승수가 1이면, 채도는 64로 변경된다. 보정이 없음을 의미하는, 승수가 0이면, 채도는 변경되지 않는다. 승수의 다른 값에 대하여, 채도는 원래의 값에서 64를 향해 보정되며, 어느 정도 보정될 지는 승수의 값이 증가함에 따라 증가하게 된다.
사각형 내의 각 화소에 대하여, 이제는 그 명도를 변경하여 추가 보정을 적용하지만, 직전에 계산된 보정된 채도가 0이 아니고 그 명도가 220 미만인 경우에만 적용하게 된다. 이들 두 조건을 모두 충족하지 않으면, 명도는 변경되지 않는다. 220 명도 임계치는 중심 "하이라이트"(존재한다면) 내의 화소가 그들의 명도를 유지함을 보장하여, 하이라이트는 보정에 의해 제거되지 않는다 - 그들이 임의의 붉은색이 제거되어 채도가 감소되더라도, 여전히 매우 밝다. 보정될 경우에는, 새로운 명도값은 다음과 같이 계산된다:
CorrectedLight=OldLight×(1-LightMultiplier)
그 후, 채도의 마지막 보정이 화소 기준으로 다시 적용되지만, 그 화소에 대하여 RGB 데이터를 사용한다. 사각형 내의 각 화소에 대하여, 지금까지의 보정이 적용되면, 지금까지의 보정이 적용되었으면, R값은 G와 B보다 높지 않고, 조정이 계산된다:
조정=1-(0.4×SatMultiplier)
여기서, SatMultiplier는 채도를 보정하기 위해 이미 사용된 채도 승수이다. 이들 조정은 다른 그리드의 값에 저장된다. 이 알고리즘은 평활화를 이 새로운 그리드 값의 영역에 적용하여 각 화소의 조정 값을 변형하여 그 화소 둘레의 3×3 그리드의 평균을 부여한다. 그 후, 에지에 있는 화소들을 제외한 사각형 내의 모든 화소를 거쳐(즉, 사각형 경계에 있는 것을 제외한 내부의 것) 다음과 같이 조정을 적용한다:
FinalSat=CorrectedSat×조정
CorrectedSat은 채도 보정의 제1 라운드 후의 채도이다. 이의 효과는 채도가 초기 채도 및 명도 보정 후에라도 실질적으로 여전히 적색인 화소의 감소가 감소되는 것이다.
플레어 보정
상술한 보정 이후에도, 일부 눈은 여전히 관측자에게는 부자연스러워 보일 수 있다. 통상, 하이라이트를 가지지 않고 보정 절차 후에 매우 밝고 무채색의 화소로 이루어진 눈들이 있다. 이는 검정색 대신 밝은 회색으로 보이기 때문에 동공이 부자연스럽게 보이게 한다. 따라서, 이들 보정된 눈에 추가 보정을 적용하여 시뮬레이션된 어두운 동공과 밝은 하이라이트를 생성하는 것이 필요하다.
회색 보정된 동공은 식별되고 그 형상이 결정된다. 동공은 작고 대략 중심으로 '잠식(erode)'시킨다. 이 지점은 하이라이트가 되고, 모든 다른 밝은 회색 화소는 어두어져서 그들을 자연스럽게 보이는 동공이 되게 한다.
플레어 보정은 두 단계로 진행한다. 첫 단계에서, 모든 보정된 눈은 추가 보정이 필요한지를 알기 위해 분석된다. 제2 단계에서, 식별된 동공과 하이라이트의 상대 크기가 특정 범위 내에 있으면, 추가 보정이 행해진다.
이전 단계에서 보정에 사용된 사각형은 각각의 보정된 적목 특징에 대하여 구성된다. 사각형 내의 각 화소는 점검되어, 밝고, "적색"이며, 무채색인 - 즉, 기준을 만족하는 화소들로 이루어진다:
((0≤색상≤21)OR(220≤색상≤255)AND(채도≤50)AND(명도≥128))
사각형에 대응하는 2D 그리드(301)는 도 28에 도시된 바와 같이 생성되며, 여기서 이들 기준을 충족시키는 화소(302)는 1의 점수를 갖는 것으로 표시되고, 다른 모든 화소(30#)는 0의 점수를 갖는 것으로 표시된다. 이는 지금까지 보정이 행해진 적목 내의 밝고 무채색의 영역으로 보이는 화소의 그리드(301)(그리드 A로서지정)를 제공한다. 이는 대략 어두워지는 동공이 될 수 있는 영역을 가리킨다.
그리드 A(301)는 도 29에 도시된 바와 같이 제2 그리드(311)(그리드 B)에 복사되며, 동공 영역은 적은 개수의 화소(312)로 '잠식'된다. 잠식는 여러 단계로 수행된다. 각 패스 단계는 0이 아닌 최근방 인접의 1의 점수를 갖는 화소들이 5보다 적은 모든 나머지 화소(305)를 0으로 설정한다(또는 그 자신을 포함하여 6개 - 즉, 화소는 그것이 중심이 되는 3×3 블록이 6개의 0이 아닌 화소보다 적은 화소를 포함하면, 0으로 설정됨). 이러한 잠식는 어떤 화소도 남아있지 않을 때까지 반복되고, 또는 잠식는 20번 수행된다. 마지막 잠식 동작 직전의 그리드 B의 버전(311)이 기록된다. 이는 하나 이상의 - 그러나 큰 수는 아닌 - 점수 1을 갖는 화소들(312)을 포함할 수 있다. 이들 화소(312)는 하이라이트가 될 수 있다.
그리드 A(301)내의 화소들은 다시 재분석되고 채도가 2보다 큰 모든 이들 화소는 0으로 표시된다. 이는 거의 가시적 색채를 갖지 않는 것들을 제외하면 모든 화소를 제거하며, 따라서, 남게 되는 화소는 백색이거나 매우 밝은 회색의 화소들이다. 그 결과는 도 30에 도시된 바와 같이, 새로운 그리드(321)(그리드 C)에 저장된다. 이는 영역의 에지 둘레의 화소 대부분을 제거하여 대신 동공 화소(322)의 대부분만을 남겨둠을 알 수 있다.
그리드 C(321) 내의 모든 화소는 이제 다시 점검되고, 0이 아닌 최근방 인접화소들이 3보다 적은 경우(또는, 그 자신을 포함하여 4개) 0으로 표시된다. 이는 분리된 화소와 화소의 매우 작은 분리된 섬을 제거한다. 그 결과는 도 31에 도시된 바와 같이 추가 그리드(331)(그리드 D)에 저장된다. 이 도면에서 도시된 예에서, 그리드 C(321)에서 제거된 분리 화소는 없으므로, 그리드 D(331)는 그리드 C(321)와 동이하다. 이는 항상 그러한 것은 아님이 이해될 것이다.
그리드 B(311) 내의 모든 화소는 이제 다시 점검되며, 그리드 D(331) 내의 0인 화소들은 그리드 B(311)에서 0으로 표시되어, 도 32에 도시된 바와 같은 추가 그리드(341)(그리드 E)를 생성한다. 도시된 예에서와 같이, 그리드 E와 그리드 B는 동일하지만, 이는 항상 그러한 것이 아님이 이해될 것이다. 예를 들어, 보정된 눈이 유채색 하이라이트를 가지면, 그리드 C와 D(321, 331) 내의 중심 화소는 2보다 큰 채도를 가질 수 있으며 이에 따라 0으로 표시되었다. 이들은 그리드 B에서 중심 화소(312)와 중첩될 수 있으며, 그리드 E(341) 내의 모든 화소의 경우 0으로 설정될 수 있다.
상기 반복이 수행됨에 따라, 그리드 D(331) 내의 0이 아닌 화소(332)의 개수는 그리드 E(341)에 잔류한 0이 아닌 화소(342)의 개수와 더불어 기록된다. 그리드 E(341) 내의 0이 아닌 화소(342)의 카운팅이 0이거나 그리드 D(331) 내의 0이 아닌 화소(332)의 카운팅이 8 미만이면, 어떤 플레어 보정도 이 영역에 적용되지 않고 알고리즘이 중단된다.
또한, 그리드 E(341)에서 영이 아닌 화소(342)의 카운팅과 그리드 D(341)에서 0이 아닌 화소(332)의 카운팅의 비가 일정 임계치 - 예를 들어, 0.19 - 미만이면 어떤 추가 보정도 수행되지 않는다. 이는 눈이 올바르게 크기가 정해진 하이라트를 포함할 수 있으며 동공이 충분히 어둡다는 것을 의미한다.
분석 스테이지는 이제 종료한다. 그리드 D(331)는 동공 영역(332)을 포함하며, 그리드 E(341)는 하이라이트 영역(342)을 포함한다.
추가 보정이 적용될 예정이면, 다음 단계는 상기 단계들에서 수집된 정보를 사용하여 적절한 보정을 적용한다. 에지 연화는 우선 그리드 D(331)와 그리드 E(341)에 적용된다. 이는 그리드 내의 각 화소를 반복하는 형태를 취하며, 0의 값을 갖는 화소에 대하여, 그들의 8개 최근방 인접화소(연화 이전에)의 값의 합을 그들의 값의 9분의 1로 설정한다. 그리드 D(351)와 그리드 E(361)에 대한 결과는 각각 도 33 및 도 34에 도시되어 있다. 이는 영역의 크기를 증가시키기 때문에, 그리드(351, 361)는 각 방향으로 한 행(또는 열)씩 모두 연장되어 그들이 영이 아닌 값들의 전체 집합을 수용할 수 있게 한다. 이전 단계는 1또는 제로의 값만을 그리드 내에 배치하는 반면, 이 단계는 9분의 1의 배수인 값들을 도입한다.
이 에지 연화가 수행된 후에, 적절한 보정이 개시되어, 적목 영역 내의 화소의 채도 및/또는 명도를 변경한다. 영역과 관련된 (이제 확장된) 사각형에서 화소 각각을 통해 반복이 수행된다. 이들 화소 각각에 대하여, 두 단계의 보정이 적용된다. 첫째, 화소(356)가 그리드 D(351)보다 큰 값을 가지고, 그리드 E(361)보다 작은 값은 가지면, 다음 보정이 적용된다:
NewSaturation = 0.1*OldLightness+16
NewLightenss = 0.3*OldLightness
그 후, 그리드 D 내의 화소(356)의 값이 1보다 작으면(그러나 여전히 그리드 D에서 0보다 크고 그리드 E에서 1보다 작으면)
NewLightness = NewLightness*그리드 D 값
다르게는, 화소(357)의 그리드 D 값이 1이면(그리고 여전히 그리드 E에서 1보다 작으면)
NewSaturation = NewSaturation + 16
이들 명도 및 채도 값은 255에서 클리핑되고, 255보다 큰 임의의 값은 255로 설정된다.
그 후, 추가 보정이 그리드 E(361)에서 0이 아닌 값을 갖는 화소(362, 363)에 대하여 적용된다. 화소(362)의 그리드 E가 1이면, 다음 보정이 적용된다:
NewSaturation = 128
NewLightness = 255
화소(363)의 그리드 E값은 0이 아니지만 1보다 작은 값을 가지면,
NewSaturation = OldSaturation x 그리드 E값
NewLightness = 1020 x 그리드 E값
이전과 같이, 이들 값은 255에서 클리핑된다.
이는 보정을 종료한다.
본 발명에 따른 방법은 여러 이점을 제공한다. 사용자가 적목 감소가 적용되어야 하는 화상의 일부, 예를 들어 얼굴을 포함하는 영역 을 선택할 수 있음을 알 수 있지만, 전체 화상에 대하여 작용한다. 이는 요구된 처리량을 감소시킬 것이다. 전체 화상이 처리되면, 어떤 사용자 입력도 필요하지 않다. 더욱이, 상기 방법은 완벽하게 정확할 필요는 없다. 적목 감소가 적목에 의해 야기되지 않은 특징에 대하여 행해지면, 사용자는 차점을 인식하지는 못할 것이다.
적목 검출 알고리즘은 밝고, 고도의 채도의 포인트를 적색 영역을 검색하기 전에 검색하기 때문에, 이 방법은 JPEG 압축된 화상과 색이 낮은 해상도로 인코딩되는 다른 포맷과 매우 잘 동작한다.
하이라이트의 다른 유형의 검출은 검출된 모든 적목 특징의 확률을 향상시킨다. 더욱이, 영역의 분석 및 확인은 잘못 보정된 오류 검출의 확률을 감소시킨다.
상술한 실시예로부터의 변형들은 본 발명의 범위 내에 해당함을 이해할 수 있을 것이다. 예를 들어, 상기 방법은 사람의 눈을 기준으로 망막에서의 반사가 적색 영역이 되는 것을 설명하였다. 일부 동물에서는, "적목"은 녹색 또는 황색 반사가 될 수 있다. 본 발명에 따른 방법은 이러한 효과를 보정하는데 사용될 수도 있다. 즉, 특정 색상의 영역보다 하이라이트에 대한 초기 검색은 본 발명의 방법을 적색이 아닌 동물의 "적목"을 검출하는데 특히 적합하다.
더욱이, 이 방법은 하이라이트 영역이 적색 동공 영역의 중심에 위치하는 적목 특징에 대하여 주로 설명하였다. 그러나, 이 방법은 하이라이트 영역이 중심에 있지 않거나 또는 적색 영역의 에지에 있는 적목 특징에 대해서도 여전히 동작할 수 있다.

Claims (52)

  1. 디지털 화상에서 적목 특징(red-eye feature)을 검출하는 방법에 있어서,
    소정의 채도(saturation) 및/또는 명도(lightness) 프로파일을 갖는 일 열의 화소들을 검색하여 상기 화상 내의 동공 영역들을 식별하는 단계;
    다른 소정의 채도 및/또는 명도 프로파일을 갖는 일 열의 화소들을 검색하여 상기 화상 내의 동공 영역들을 추가 식별하는 단계; 및
    추가 선택 기준에 기초하여 각 동공 영역이 적목 특징의 일부에 대응하는지를 판정하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    동공 영역의 둘 이상의 유형을 식별하는 단계를 포함하되, 각 유형의 동공 영역은 그 유형의 채도 및/또는 명도 프로파일 특징을 갖는 일 열의 화소들에 의해 식별되는 방법.
  3. 제2항에 있어서,
    동공 영역의 제1 유형은 주변의 화소들보다 높은 채도를 갖는 화소 영역을 포함하는 채도 프로파일을 갖는 방법.
  4. 제2항 또는 제3항에 있어서,
    동공 영역의 제2 유형은 두 채도 피크에 의해 경계지정되는 채도 트로프(saturation trough)를 포함하는 채도 프로파일을 가지며, 상기 채도 피크에서의 화소는 상기 채도 피크 외부 영역에서의 화소보다 높은 채도를 갖는 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    동공 영역의 제3 유형은 명도값이 "W" 형상을 갖는 화소 영역을 포함하는 명도 프로파일을 갖는 방법.
  6. 제2항 내지 제5항 중 어느 한 항에 있어서,
    동공 영역의 제4 유형은, 두개의 로컬 채도 극소값(local satuartion minima)에 의해 경계지정되는 화소 영역을 포함하는 채도 및 명도 프로파일을 갖되,
    상기 동공 영역의 적어도 하나의 화소는 소정의 채도 임계치보다 높은 채도를 가지며,
    상기 동공 영역 내 화소들의 채도 및 명도 곡선은 2번 교차하며,
    두개의 로컬 명도 극소값은 상기 동공 영역에 위치하는 방법.
  7. 제6항에 있어서,
    상기 소정의 채도 임계치는 약 100인 방법.
  8. 제7항에 있어서,
    상기 동공 영역 내 적어도 하나의 화소의 채도는 그 화소의 명도보다 적어도 50 이상이고,
    각각의 로컬 명도 극소값에서의 상기 화소의 채도는 그 화소의 명도보다 크고,
    상기 로컬 명도 극소값 중 하나는 상기 두개의 명도 극소값 사이의 영역 내에서 최저 명도를 갖는 화소를 포함하며,
    상기 동공 영역 내 적어도 하나의 화소의 명도는 소정의 명도 임계치보다 큰 방법.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    소정의 임계치보다 큰 채도를 갖는 상기 적어도 하나의 화소의 색상(hue)은 약 210보다 크거나 약 20보다 작은 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 동공 영역의 제5 유형은 소정의 임계치 이상의 채도를 갖고 두개의 로컬 채도 극소값에 의해 경계지정된 화소들의 높은 채도 영역을 포함하는 채도 및 명도 프로파일을 가지고,
    상기 동공 영역 내 화소들의 채도 및 명도 곡선은 교차 화소들(crossing pixels)에서 두번 교차하며,
    상기 채도는 상기 교차 화소들 사이의 모든 화소에 대하여 상기 명도보다 크고,
    두개의 로컬 명도 극소값은 상기 동공 영역에 위치하는 방법.
  11. 제10항에 있어서,
    상기 높은 채도 영역 내 화소들의 채도는 약 100이상이고,
    상기 높은 채도 영역의 모서리에서 화소의 색상은 약 210보다 크거나 약 20보다 작으며,
    각 로컬 명도 극소값 외측의 4개까지는 어떤 화소도 대응하는 로컬 명도 극소값에서의 화소보다 낮은 명도를 갖지 않은 방법.
  12. 디지털 화상에서 적목 특징을 보정하는 방법에 있어서,
    상기 화상 내 각 화소를 스캔하여 적목 특징의 채도 및/또는 명도 프로파일특징을 검색함으로써 가능 특징들의 리스트를 생성하는 단계;
    상기 가능 특징들의 리스트에서의 각 특징에 대하여, 적목 특징에 대응할 수 있는 보정가능(correctable) 화소들의 분리 영역을 발견하려고 시도하는 단계;
    각각의 성공 시도를 기록하여 영역들의 리스트 내에서 분리 영역을 발견하는 단계;
    상기 영역들의 리스트 내의 각 영역을 분석하여 그 영역의 통계치 및 기록 속성을 계산하는 단계;
    상기 계산된 통계치 및 속성을 이용해 각 영역을 확인하여 그 영역이 적목에의해 야기된 것인지를 판정하는 단계;
    상기 영역들의 리스트에서 적목에 의해 야기되지 않은 영역들을 제거하는 단계;
    상기 영역들의 리스트에서 일부 또는 전체 중첩 영역들을 제거하는 단계; 및
    상기 영역들의 리스트 내에 남아있는 각 영역에서 일부 또는 전체 화소를 보정하여 적목 효과를 저감시키는 단계를 포함하는 방법.
  13. 제12항에 있어서,
    가능 특징들의 리스트를 생성하는 상기 단계는, 제1항 내지 제11항 중 어느 한 항의 방법을 사용하여 수행되는 방법.
  14. 디지털 화상 내의 적목 특징에 대응하는 보정가능 화소들의 영역을 보정하는 방법에 있어서,
    상기 보정 가능 화소들의 영역을 둘러싸는 사각형을 구성하는 단계;
    상기 사각형 내의 각 화소에 대하여 그 화소의 색상, 명도 및 채도를 기초로 하여 계산되는 채도 승수(multiplier)를 결정하는 단계;
    상기 사각형 내의 각 화소에 대하여 그 화소를 둘러싼 화소들의 그리드 내의 채도 승수들을 평균함으로써 명도 승수를 결정하는 단계;
    상기 사각형 내의 각 화소의 채도를, 그 화소의 상기 채도 승수에 의해 결정된 양만큼 변경하는 단계; 및
    상기 사각형 내의 각 화소의 명도를, 그 화소의 상기 명도 승수에 의해 결정된 양만큼 변경하는 단계를 포함하는 방법.
  15. 제14항에 있어서,
    각 화소에 대하여 상기 채도 승수를 결정하는 단계는,
    채도 대 명도의 2D 그리드 상에서, 소정의 명도 및 채도 값을 갖는 교정 지점(calibration point)으로부터의 상기 화소의 거리를 계산하는 단계;
    상기 거리가 소정 임계치보다 크면, 상기 채도 승수를 0으로 설정하여 그 화소의 채도가 변경되지 않도록 하는 단계; 및
    상기 거리가 상기 소정 임계치 이하이면, 상기 교정 지점으로부터의 상기 거리에 기초하여 상기 채도 승수를 계산하되, 상기 거리가 작으면 상기 승수가 1에 근접하고 상기 거리가 임계치에 근접하면 상기 승수가 0에 근접하여, 상기 승수가 상기 임계치에서는 0이 되고 상기 교정 지점에서는 1이 되게 채도 승수를 계산하는 단계를 포함하는 방법.
  16. 제15항에 있어서,
    상기 교정 지점은 명도 128이고 채도 255인 방법.
  17. 제15항 또는 제16항에 있어서,
    상기 소정 임계치는 약 180인 방법.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서,
    한 화소의 색상이 약 20과 약 220 사이에 있으면, 그 화소에 대한 채도 승수는 0으로 설정되는 방법.
  19. 제14항 내지 제18항 중 어느 한 항에 있어서,
    상기 사각형 내의 화소들의 채도 승수에 래디얼 조정(radial adjustment)을 적용하는 단계를 더 포함하되, 상기 래디얼 조정은,
    상기 사각형 내의 소정의 원 내부의 화소들의 채도 승수를 불변 상태로 두는 단계;
    상기 소정의 원 외부의 화소들의 채도 승수를, 상기 소정의 원에 있는 화소들에 대한 그들의 이전 값들로부터 상기 사각형의 모서리에 있는 화소들에 대한 0의 값으로 원만하게 점진적으로 변경하는 단계를 포함하는 방법.
  20. 제14항 내지 제19항 중 어느 한 항에 있어서,
    상기 보정가능 화소들의 영역 바로 밖의 각 화소에 대하여, 그 화소 주위의 3 × 3 그리드 내 화소들의 채도 승수값을 평균하여 새로운 채도 승수를 계산하는 단계를 더 포함하는 방법.
  21. 제14항 내지 제20항 중 어느 한 항에 있어서,
    상기 사각형 내의 모든 화소에 대한 채도 승수들의 평균에 따라 각 화소의 명도 승수를 스케일링하는 단계를 더 포함하는 방법.
  22. 제14항 내지 제21항 중 어느 한 항에 있어서,
    상기 보정가능 화소들의 영역 바로 밖의 각 화소에 대하여, 그 화소 주위의 3 × 3 그리드 내 화소들의 명도 승수값을 평균하여 새로운 명도 승수를 계산하는 단계를 더 포함하는 방법.
  23. 제14항 내지 제22항 중 어느 한 항에 있어서,
    상기 사각형 내 각 화소에 대하여, 그 화소 주위의 3 × 3 그리드 내 화소들의 명도 승수값을 평균하여 새로운 명도 승수를 계산하는 단계를 더 포함하는 방법.
  24. 제14항 내지 제23항 중 어느 한 항에 있어서,
    상기 사각형 내의 화소들의 명도 승수에 래디얼 조정을 적용하는 단계를 더 포함하되, 상기 래디얼 조정은,
    상기 사각형 내의 내측 소정의 원 내부의 화소들의 명도 승수를 불변 상태로 두는 단계;
    상기 내측 소정의 원 외부의 화소들의 명도 승수를, 상기 내측 소정의 원에 있는 화소들에 대한 그들의 이전 값들로부터 상기 사각형의 치수보다 큰 직경을 갖는 외측 소정의 원에 있거나 또는 그 외부의 화소들에 대한 0의 값으로 원만하게 점진적으로 변경하는 단계를 포함하는 방법.
  25. 제14항 내지 제24항 중 어느 한 항에 있어서,
    각 화소의 채도를 변경하는 상기 단계는,
    상기 화소의 채도가 200 이상이면, 상기 화소의 채도를 0으로 설정하는 단계; 및
    상기 화소의 채도가 200 미만이면, 변경된 채도 = (채도×(1- 채도 승수))+(채도 승수×64)가 되도록 상기 화소의 채도를 변경하는 단계를 포함하는 방법.
  26. 제14항 내지 제25항 중 어느 한 항에 있어서,
    상기 화소의 채도가 0이 아니고 상기 화소의 명도가 220 미만이면, 변경된 명도 = 명도×(1-명도 승수)가 되도록 상기 명도를 변경하는 단계를 포함하는 방법.
  27. 제14항 내지 제26항 중 어느 한 항에 있어서,
    상기 화소의 채도 및 명도의 변경 후에, 상기 화소의 적색값이 녹색 및 청색값보다 높다면, 각 화소의 채도를 추가 감소시키는 단계를 포함하는 방법.
  28. 제14항 내지 제27항 중 어느 한 항에 있어서,
    보정 후에 상기 영역이 그 주위에 밝은 하이라이트 영역과 어두운 동공 영역을 포함하지 않으면, 상기 영역 내 화소들의 명도 및 채도를 변경하여 그 주위에 밝은 하이라이트 영역과 어두운 주변 동공 영역의 효과를 부여하는 단계를 더 포함하는 방법.
  29. 제28항에 있어서,
    보정 후에 상기 영역이 높은 명도와 낮은 채도를 갖는 화소들을 실질적으로 포함하는지를 결정하는 단계;
    상기 영역 내의 적은 수의 화소를 포함하는 하이라이트 영역을 시뮬레이션하는 단계;
    상기 시뮬레이션된 하이라이트 영역 내의 화소들의 명도값을 변경하여, 상기 시뮬레이션된 하이라이트 영역이 높은 명도를 갖는 화소들을 포함하게 하는 단계; 및
    어두운 동공의 효과를 부여하도록 상기 시뮬레이션된 하이라이트 영역 외부의 영역 내의 화소들의 명도값을 감소시키는 단계를 더 포함하는 방법.
  30. 제29항에 있어서,
    상기 시뮬레이션된 하이라이트 영역 내의 화소들의 채도를 증가시키는 단계를 더 포함하는 방법.
  31. 제12항 또는 제13항에 있어서,
    상기 영역들의 리스트에 남아 있는 각 영역의 일부 또는 전체 화소를 보정하여 적목 효과를 감소시키는 단계는, 제14항 내지 제30항 중 어느 한 항의 방법을 사용하여 수행되는 방법.
  32. 디지털 화상에서 적목 특징을 보정하는 방법에 있어서,
    높은 명도를 갖는 화소들의 시뮬레이션된 하이라이트 영역을 상기 적목 특징에 추가시키는 단계를 포함하는 방법.
  33. 제32항에 있어서,
    상기 시뮬레이션된 하이라이트 영역 내 화소들의 채도를 증가시키는 단계를 더 포함하는 방법.
  34. 제32항 또는 제33항에 있어서,
    상기 시뮬레이션된 하이라이트 영역 주변의 동공 영역에 있는 화소들을 어둡게하는 단계를 더 포함하는 방법.
  35. 제32항 내지 제34항 중 어느 한 항에 있어서,
    높은 명도와 낮은 채도를 갖는 화소들의 플레어(flare) 영역을 식별하는 단계;
    상기 플레어 영역의 모서리들을 잠식(erode)시켜 상기 시뮬레이션된 하이라이트 영역을 결정하는 단계;
    상기 플레어 영역 내의 화소들의 명도를 감소시키는 단계; 및
    상기 시뮬레이션된 하이라이트 영역 내의 화소들의 명도를 증가시키는 단계를 더 포함하는 방법.
  36. 제32항 내지 제35항 중 한 항에 있어서,
    밝은 화소들의 하이라이트 영역이 상기 적목 특징에 이미 존재하고 있으면 보정이 수행되지 않는 방법.
  37. 디지털 화상에서 적목 특징을 검출하는 방법에 있어서,
    상기 화상 내의 기준 화소 주변의 보정가능 화소들의 분리되고 실질적으로 원형인 영역을 식별하려고 시도함으로써 적목 특징이 상기 기준 화소 주변에 존재하는지를 결정하는 단계를 포함하되, 한 화소가 복수개의 소정의 조건 집합으로부터 적어도 하나의 소정 조건 집합을 만족하면 그 화소가 보정가능한 것으로 분류되는 방법.
  38. 제37항에 있어서,
    하나의 소정 조건 집합은,
    화소의 색상은 약 200이상 또는 약 10이하이고,
    화소의 채도는 약 80이상이며,
    화소의 명도는 약 200미만인 요건들을 포함하는 방법.
  39. 제37항 또는 제38항에 있어서,
    하나의 소정 조건 집합은,
    화소의 채도는 255이고,
    화소의 명도는 약 150보다 크다는 요건들; 및
    화소의 색상은 약 245이상이거나 약 20이하이고,
    화소의 채도는 약 50보다 크고,
    화소의 채도는 (1.8×명도-92) 미만이고,
    화소의 채도는 (1.1×명도-90) 보다 크고,
    화소의 명도는 약 100 보다 큰 요건들 중 어느 한 쪽을 포함하는 방법.
  40. 제37항 내지 제39항 중 어느 한 항에 있어서,
    하나의 소정 조건 집합은,
    화소의 색상은 약 220 이하 또는 약 10 이하이고,
    화소의 채도는 약 128 이상인 요건들을 포함하는 방법.
  41. 제12항 내지 제31항 중 어느 한 항에 있어서,
    적목 특징에 대응할 수 있는 분리 영역을 발견하려고 시도하는 상기 단계는,제37항 내지 제40항 중 어느 한 항에 있는 방법을 사용하여 수행되는 방법.
  42. 제12항 내지 제41항 중 어느 한 항에 있어서,
    상기 영역들의 리스트 내 각 영역을 분석하는 단계는,
    상기 영역 내의 화소들의 색상, 명도 및 채도 중 적어도 하나의 평균;
    상기 영역 내 화소들의 색상, 명도 및 채도 중 적어도 하나의 표준편차;
    상기 영역 내 화소들의 색상×채도, 색상×명도 및 명도×채도 중 적어도 하나의 값의 평균 및 표준편차;
    상기 영역 내 모든 화소들에 대한 인접 화소들 간의 색상, 명도 및 채도 중 적어도 하나의 차의 제곱의 합;
    상기 영역 내 모든 화소들의 인접 화소들 간의 색상, 명도 및 채도 중 적어도 하나의 차의 절대값의 합;
    인접 화소들 간의 명도 및 채도 중 적어도 하나의 차가 소정의 임계치 이상인 개수의 측정치;
    0 내지 8개의 바로 인접한 보정가능 화소들을 갖는 보정가능 화소들의 개수의 히스토그램;
    0 내지 8개의 바로 인접한 보정가능 화소들을 갖는 보정불가능 화소들의 개수의 히스토그램;
    적목 특징에서 개별 화소들의 색상, 채도 및 명도가 발견되는 확률에 기초하여 해당 영역이 적목에 의해 야기되는 확률의 측정치; 및
    적목에 의해 야기되지 않은 검출 특징에서 개별 화소의 색상, 채도 및 명도가 발견되는 확률에 기초하여, 해당 영역이 적목 특징의 오류 검출일 확률의 측정치
    중에서 일부 또는 전부를 결정하는 단계를 포함하는 방법.
  43. 제42항에 있어서,
    상기 해당 영역이 적목에 의해 야기되는 확률의 측정치는, 적목 특징에서 각 화소의 색상, 명도 및 채도값들이 발견되는 독립적 확률의 곱의, 상기 영역 내 전체 화소에 대한, 산술 평균을 구하여 결정되는 방법.
  44. 제42항 또는 제43항에 있어서,
    상기 해당 영역이 오류 검출일 확률의 측정치는, 적목에 의해 야기되지 않은 검출 특징에서 각 화소의 색상, 명도 및 채도값들이 발견되는 독립적 확률의 곱의, 상기 영역 내 전체 화소에 대한, 산술 평균을 구하여 결정되는 방법.
  45. 제12항 내지 제44항 중 어느 한 항에 있어서,
    상기 영역들의 리스트 내 각 영역을 분석하는 단계는, 상기 영역 밖의 환형(annulus)을 분석하고, 상기 환형 내 화소들의 색상, 명도 및 채도에 따라 상기 영역을 분류하는 단계를 포함하는 방법.
  46. 제42항 내지 제45항 중 어느 한 항에 있어서,
    상기 영역 확인 단계는, 상기 영역의 통계치 및 속성을 소정 임계치 및 테스트와 비교하는 단계를 포함하는 방법.
  47. 제46항에 있어서,
    상기 영역을 확인하는 데 사용되는 상기 임계치 및 테스트는 검출된 특징 및 영역의 유형에 좌우되는 방법.
  48. 제12항 내지 제47항 중 어느 한 항에 있어서,
    상기 영역들의 리스트에서 일부 또는 전체 중첩 영역을 제거하는 단계는,
    상기 영역들의 리스트내 모든 영역과 상기 리스트 내 모든 다른 영역을 비교하는 단계;
    두 영역이 중복 검출이어서 중첩하는 경우면, 어느 영역이 유지하기에 최적인지 결정하고 상기 영역들의 리스트에서 나머지 영역을 제거하는 단계;
    두 영역이 적목에 의해 야기되지 않아서 중첩 또는 거의 중첩하는 경우면, 상기 영역들의 리스트에서 두 영역을 모두 제거하는 단계를 포함하는 방법.
  49. 제1항 내지 제48항 중 어느 한 항의 방법을 실행하도록 구성된 장치.
  50. 제49항에 있어서,
    상기 장치는 개인용 컴퓨터, 프린터, 디지털 프린팅 미니랩(digital printing mini-lap), 카메라, 휴대용 뷰 장치, PDA, 스캐너, 이동전화, 전자책, 공공 디스플레이 시스템, 비디오 카메라, 텔레비전, 디지털 필름 편집 장치, 디지털 프로젝터, 헤드업 디스플레이 시스템 또는 포토 부스(photo booth)인 장치.
  51. 제1항 내지 제48항 중 어느 한 항의 방법을 실행하도록 구성된 프로그램이 저장된 컴퓨터 저장 매체.
  52. 제1항 내지 제48항 중 어느 한 항의 방법이 적용되어 있는 디지털 화상.
KR10-2004-7013138A 2002-02-22 2003-02-19 디지털 화상에서 적목 특징의 검출 및 보정 KR20040088518A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB0204191.1 2002-02-22
GB0204191A GB2385736B (en) 2002-02-22 2002-02-22 Detection and correction of red-eye features in digital images
GB0224054A GB0224054D0 (en) 2002-10-16 2002-10-16 Correction of red-eye features in digital images
GB0224054.7 2002-10-16
PCT/GB2003/000767 WO2003071781A1 (en) 2002-02-22 2003-02-19 Detection and correction of red-eye features in digital images

Publications (1)

Publication Number Publication Date
KR20040088518A true KR20040088518A (ko) 2004-10-16

Family

ID=27758835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7013138A KR20040088518A (ko) 2002-02-22 2003-02-19 디지털 화상에서 적목 특징의 검출 및 보정

Country Status (7)

Country Link
US (1) US20040184670A1 (ko)
EP (1) EP1477020A1 (ko)
JP (1) JP2005518722A (ko)
KR (1) KR20040088518A (ko)
AU (1) AU2003207336A1 (ko)
CA (1) CA2477097A1 (ko)
WO (1) WO2003071781A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100803599B1 (ko) * 2006-03-02 2008-02-15 삼성전자주식회사 사진 검색 방법 및 이에 적합한 기록 매체
KR100857463B1 (ko) * 2006-11-17 2008-09-08 주식회사신도리코 포토프린팅을 위한 얼굴영역 검출장치 및 보정 방법
US7734109B2 (en) 2005-09-29 2010-06-08 Samsung Electronics Co., Ltd. Method and apparatus for bit resolution extension
KR20180080625A (ko) * 2017-01-04 2018-07-12 옥타코 주식회사 눈깜빡임을 유도하여 홍채 영역을 빠르게 추정하는 방법 및 시스템

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7042505B1 (en) 1997-10-09 2006-05-09 Fotonation Ireland Ltd. Red-eye filter method and apparatus
US7630006B2 (en) 1997-10-09 2009-12-08 Fotonation Ireland Limited Detecting red eye filter and apparatus using meta-data
US7738015B2 (en) * 1997-10-09 2010-06-15 Fotonation Vision Limited Red-eye filter method and apparatus
JP4232369B2 (ja) * 1999-07-30 2009-03-04 三菱電機株式会社 直交型ガスレーザ装置
US7116820B2 (en) * 2003-04-28 2006-10-03 Hewlett-Packard Development Company, Lp. Detecting and correcting red-eye in a digital image
US7970182B2 (en) 2005-11-18 2011-06-28 Tessera Technologies Ireland Limited Two stage detection for photographic eye artifacts
US7792970B2 (en) 2005-06-17 2010-09-07 Fotonation Vision Limited Method for establishing a paired connection between media devices
US8254674B2 (en) 2004-10-28 2012-08-28 DigitalOptics Corporation Europe Limited Analyzing partial face regions for red-eye detection in acquired digital images
US7689009B2 (en) 2005-11-18 2010-03-30 Fotonation Vision Ltd. Two stage detection for photographic eye artifacts
US8036458B2 (en) 2007-11-08 2011-10-11 DigitalOptics Corporation Europe Limited Detecting redeye defects in digital images
US8170294B2 (en) 2006-11-10 2012-05-01 DigitalOptics Corporation Europe Limited Method of detecting redeye in a digital image
US7920723B2 (en) 2005-11-18 2011-04-05 Tessera Technologies Ireland Limited Two stage detection for photographic eye artifacts
US7574016B2 (en) 2003-06-26 2009-08-11 Fotonation Vision Limited Digital image processing using face detection information
CN100350877C (zh) * 2003-07-04 2007-11-28 松下电器产业株式会社 活体眼睛判定方法及活体眼睛判定装置
US8520093B2 (en) 2003-08-05 2013-08-27 DigitalOptics Corporation Europe Limited Face tracker and partial face tracker for red-eye filter method and apparatus
US9412007B2 (en) 2003-08-05 2016-08-09 Fotonation Limited Partial face detector red-eye filter method and apparatus
US7835572B2 (en) * 2003-09-30 2010-11-16 Sharp Laboratories Of America, Inc. Red eye reduction technique
JP4431949B2 (ja) * 2003-10-27 2010-03-17 ノーリツ鋼機株式会社 赤目補正方法及びこの方法を実施する装置
US20050168595A1 (en) * 2004-02-04 2005-08-04 White Michael F. System and method to enhance the quality of digital images
CA2563520C (en) * 2004-04-15 2014-12-16 The University Of British Columbia Methods and systems for converting images from low dynamic range to high dynamic range
US7590310B2 (en) * 2004-05-05 2009-09-15 Facet Technology Corp. Methods and apparatus for automated true object-based image analysis and retrieval
US20060008169A1 (en) * 2004-06-30 2006-01-12 Deer Anna Y Red eye reduction apparatus and method
JP4533168B2 (ja) * 2005-01-31 2010-09-01 キヤノン株式会社 撮像装置及びその制御方法
JP4901229B2 (ja) * 2005-03-11 2012-03-21 富士フイルム株式会社 赤目検出方法および装置並びにプログラム
TWI265390B (en) * 2005-05-25 2006-11-01 Benq Corp Method for adjusting exposure of a digital image
US7907786B2 (en) * 2005-06-06 2011-03-15 Xerox Corporation Red-eye detection and correction
JP4405942B2 (ja) * 2005-06-14 2010-01-27 キヤノン株式会社 画像処理装置およびその方法
KR100791372B1 (ko) * 2005-10-14 2008-01-07 삼성전자주식회사 인물 이미지 보정 장치 및 방법
US7747071B2 (en) * 2005-10-27 2010-06-29 Hewlett-Packard Development Company, L.P. Detecting and correcting peteye
US7599577B2 (en) 2005-11-18 2009-10-06 Fotonation Vision Limited Method and apparatus of correcting hybrid flash artifacts in digital images
US7734114B1 (en) * 2005-12-07 2010-06-08 Marvell International Ltd. Intelligent saturation of video data
EP1987475A4 (en) * 2006-02-14 2009-04-22 Fotonation Vision Ltd AUTOMATIC DETECTION AND CORRECTION OF RED EYE FLASH DEFECTS
DE602007012246D1 (de) 2006-06-12 2011-03-10 Tessera Tech Ireland Ltd Fortschritte bei der erweiterung der aam-techniken aus grauskalen- zu farbbildern
US8064694B2 (en) * 2006-06-21 2011-11-22 Hewlett-Packard Development Company, L.P. Nonhuman animal integument pixel classification
TWI314424B (en) * 2006-06-23 2009-09-01 Marketech Int Corp System and method for image signal contrast adjustment and overflow compensation
KR100826876B1 (ko) * 2006-09-18 2008-05-06 한국전자통신연구원 홍채 검출 방법 및 이를 위한 장치
US7764846B2 (en) * 2006-12-12 2010-07-27 Xerox Corporation Adaptive red eye correction
US8055067B2 (en) 2007-01-18 2011-11-08 DigitalOptics Corporation Europe Limited Color segmentation
WO2008109708A1 (en) 2007-03-05 2008-09-12 Fotonation Vision Limited Red eye false positive filtering using face location and orientation
US8462220B2 (en) * 2007-05-09 2013-06-11 Aptina Imaging Corporation Method and apparatus for improving low-light performance for small pixel image sensors
US8503818B2 (en) 2007-09-25 2013-08-06 DigitalOptics Corporation Europe Limited Eye defect detection in international standards organization images
JP5089405B2 (ja) * 2008-01-17 2012-12-05 キヤノン株式会社 画像処理装置及び画像処理方法並びに撮像装置
US8212864B2 (en) 2008-01-30 2012-07-03 DigitalOptics Corporation Europe Limited Methods and apparatuses for using image acquisition data to detect and correct image defects
WO2009096920A1 (en) * 2008-02-01 2009-08-06 Hewlett-Packard Development Company L.P. Automatic redeye detection
US8433144B2 (en) * 2008-03-27 2013-04-30 Hewlett-Packard Development Company, L.P. Systems and methods for detecting red-eye artifacts
US8644565B2 (en) * 2008-07-23 2014-02-04 Indiana University Research And Technology Corp. System and method for non-cooperative iris image acquisition
US8081254B2 (en) 2008-08-14 2011-12-20 DigitalOptics Corporation Europe Limited In-camera based method of detecting defect eye with high accuracy
US8295637B2 (en) * 2009-01-07 2012-10-23 Seiko Epson Corporation Method of classifying red-eye objects using feature extraction and classifiers
CN101937563B (zh) * 2009-07-03 2012-05-30 深圳泰山在线科技有限公司 一种目标检测方法和设备及其使用的图像采集装置
JP5772097B2 (ja) * 2011-03-14 2015-09-02 セイコーエプソン株式会社 画像処理装置および画像処理方法
US9020192B2 (en) * 2012-04-11 2015-04-28 Access Business Group International Llc Human submental profile measurement

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5130789A (en) * 1989-12-13 1992-07-14 Eastman Kodak Company Localized image recoloring using ellipsoid boundary function
US5432863A (en) * 1993-07-19 1995-07-11 Eastman Kodak Company Automated detection and correction of eye color defects due to flash illumination
FI935834A (fi) * 1993-12-23 1995-06-24 Nokia Telecommunications Oy Menetelmä kaikukohtaan sovittautumiseksi kaiunpoistajassa
JP2907120B2 (ja) * 1996-05-29 1999-06-21 日本電気株式会社 赤目検出補正装置
JP3684017B2 (ja) * 1997-02-19 2005-08-17 キヤノン株式会社 画像処理装置及び方法
US6204858B1 (en) * 1997-05-30 2001-03-20 Adobe Systems Incorporated System and method for adjusting color data of pixels in a digital image
US6009209A (en) * 1997-06-27 1999-12-28 Microsoft Corporation Automated removal of red eye effect from a digital image
US6252976B1 (en) * 1997-08-29 2001-06-26 Eastman Kodak Company Computer program product for redeye detection
WO1999017254A1 (en) * 1997-09-26 1999-04-08 Polaroid Corporation Digital redeye removal
US6016354A (en) * 1997-10-23 2000-01-18 Hewlett-Packard Company Apparatus and a method for reducing red-eye in a digital image
US7088855B1 (en) * 2001-01-22 2006-08-08 Adolfo Pinheiro Vide Method and system for removal of red eye effects
JP4666274B2 (ja) * 2001-02-20 2011-04-06 日本電気株式会社 カラー画像処理装置及びその方法
US6980691B2 (en) * 2001-07-05 2005-12-27 Corel Corporation Correction of “red-eye” effects in images

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734109B2 (en) 2005-09-29 2010-06-08 Samsung Electronics Co., Ltd. Method and apparatus for bit resolution extension
KR100803599B1 (ko) * 2006-03-02 2008-02-15 삼성전자주식회사 사진 검색 방법 및 이에 적합한 기록 매체
KR100857463B1 (ko) * 2006-11-17 2008-09-08 주식회사신도리코 포토프린팅을 위한 얼굴영역 검출장치 및 보정 방법
KR20180080625A (ko) * 2017-01-04 2018-07-12 옥타코 주식회사 눈깜빡임을 유도하여 홍채 영역을 빠르게 추정하는 방법 및 시스템

Also Published As

Publication number Publication date
WO2003071781A1 (en) 2003-08-28
US20040184670A1 (en) 2004-09-23
AU2003207336A1 (en) 2003-09-09
JP2005518722A (ja) 2005-06-23
EP1477020A1 (en) 2004-11-17
CA2477097A1 (en) 2003-08-28

Similar Documents

Publication Publication Date Title
KR20040088518A (ko) 디지털 화상에서 적목 특징의 검출 및 보정
US20040240747A1 (en) Detection and correction of red-eye features in digital images
US7444017B2 (en) Detecting irises and pupils in images of humans
US6011595A (en) Method for segmenting a digital image into a foreground region and a key color region
JP4428737B2 (ja) 赤目検出方法
US7751610B2 (en) Image recognition method and image recognition apparatus
US8391596B2 (en) Effective red eye removal in digital images without face detection
US20040114829A1 (en) Method and system for detecting and correcting defects in a digital image
US8285002B2 (en) Image processing apparatus and method, image sensing apparatus, and program
JP2000137788A (ja) 画像処理方法、画像処理装置及び記録媒体
JP2000125320A (ja) 赤目検出用コンピュ―タプログラム製品
KR20040047834A (ko) 적목현상 부분을 제거하기 위한 이미지 처리
US8559668B2 (en) Red-eye reduction using facial detection
JP2000149018A (ja) 画像処理方法、画像処理装置及び記録媒体
EP0831421A2 (en) Apparatus and method for retouching a digital representation of a color image
JPH09261580A (ja) 画像処理方法
US5825916A (en) Illuminant color detection
JP4775599B2 (ja) 目の位置の検出方法
KR20050051029A (ko) 코드이미지 검출 방법 및 장치
JP4683236B2 (ja) 目の位置の検出方法
Hui Automated Red-Eye Detection & Correction
JP2005069987A (ja) パターンフィルター、3次元形状計測装置、3次元形状計測システム、3次元形状計測プログラム、パターンコード生成方法及び3次元形状方法
Németh Advertisement panel detection during sport broadcast

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application