KR20220077730A - 이미지 처리 방법 및 장치 - Google Patents

이미지 처리 방법 및 장치 Download PDF

Info

Publication number
KR20220077730A
KR20220077730A KR1020200166955A KR20200166955A KR20220077730A KR 20220077730 A KR20220077730 A KR 20220077730A KR 1020200166955 A KR1020200166955 A KR 1020200166955A KR 20200166955 A KR20200166955 A KR 20200166955A KR 20220077730 A KR20220077730 A KR 20220077730A
Authority
KR
South Korea
Prior art keywords
chromaticity
diffuse
specular
frames
weight
Prior art date
Application number
KR1020200166955A
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
Application filed by 삼성전자주식회사, 고려대학교 산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020200166955A priority Critical patent/KR20220077730A/ko
Priority to US17/336,362 priority patent/US11677919B2/en
Publication of KR20220077730A publication Critical patent/KR20220077730A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/73Colour balance circuits, e.g. white balance circuits or colour temperature control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/77Circuits for processing the brightness signal and the chrominance signal relative to each other, e.g. adjusting the phase of the brightness signal relative to the colour signal, correcting differential gain or differential phase
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/71Circuitry for evaluating the brightness variation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/76Circuitry for compensating brightness variation in the scene by influencing the image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/745Detection of flicker frequency or suppression of flicker wherein the flicker is caused by illumination, e.g. due to fluorescent tube illumination or pulsed LED illumination

Abstract

이미지 처리 방법 및 장치가 개시된다. 일 실시예에 따른 이미지 처리 방법은, 교류 조명을 포함하는 조명 환경에서 시간의 흐름에 따라 촬영된 복수의 프레임들을 포함하는 이미지를 수신하는 단계와, 상기 복수의 프레임들에 기초하여 상기 이미지의 스페큘러 색도(specular chromaticity) 및 디퓨즈 색도(diffuse chromaticity)를 추정하는 단계와, 상기 복수의 프레임들 중 하나의 프레임에 기초하여 상기 스페큘러 색도 및 상기 디퓨즈 색도 각각에 대한 가중치를 추정하는 단계와, 상기 스페큘러 색도, 상기 디퓨즈 색도 및 상기 가중치에 기초하여 상기 이미지를 보정하는 단계를 포함한다.

Description

이미지 처리 방법 및 장치{IMAGE PROCESSING METHOD AND APPARATUS}
본 개시는 이미지 처리 방법 및 장치에 관한 것이다.
통계적 기반의 색 항상성 기술에 따르면, 이미지의 통계적인 특성을 이용하여 조명을 추정할 수 있다. 예를 들어, 통계적 기반 조명 추정 기술은 이미지의 평균 RGB 비율을 무채색이라고 가정하여, 입력된 이미지의 RGB 평균을 1:1:1로 보정하는 방법을 통해 조명을 보정한다. 통계적 기술 기반 연구는 기술의 복잡도가 낮아 알고리즘 가동 속도가 빠르기 때문에 가장 많은 연구가 이루어졌다. 대표적인 기술로는 그레이 월드(Gray-world), 그레이 엣지(Gray-edge), 쉐이드 오브 그레이(Shade of gray), 그레이 픽셀(Gray-pixel)등이 있다. 통계적 기반의 기술은 복잡도가 낮으나 해당 통계적 모델에 부합하지 않는 경우 성능이 크게 저하된다.
물리적 기반의 색 항상성 기술은 주로 이색성 반사 모델(dichromatic reflection model)을 이용하여 이루어지며, 일반적으로 이미지 내의 서로 다른 위치에 있는 픽셀들을 이용하여 평면이나 직선을 추정하여 조명을 추정한다. 이때, 평면 또는 직선을 정확하게 추정하기 위해서 이미지 내에 서로 다른 위치에 있는 스페큘러 색도(specular chromaticity) 및 디퓨즈 색도(diffuse chromaticity)가 동일한 픽셀들을 추출해야 하는데 이미지 내에 스페큘러 영역이 충분히 존재하지 않을 경우 성능이 크게 저하된다.
일 실시예에 따른 이미지 처리 방법은, 교류 조명을 포함하는 조명 환경에서 시간의 흐름에 따라 촬영된 복수의 프레임들을 포함하는 이미지를 수신하는 단계와, 상기 복수의 프레임들에 기초하여 상기 이미지의 스페큘러 색도(specular chromaticity) 및 디퓨즈 색도(diffuse chromaticity)를 추정하는 단계와, 상기 복수의 프레임들 중 하나의 프레임에 기초하여 상기 스페큘러 색도 및 상기 디퓨즈 색도 각각에 대한 가중치를 추정하는 단계와, 상기 스페큘러 색도, 상기 디퓨즈 색도 및 상기 가중치에 기초하여 상기 이미지를 보정하는 단계를 포함한다.
상기 스페큘러 색도에 대한 가중치는, 상기 하나의 프레임 내 픽셀의 픽셀 값에 포함되는 상기 스페큘러 색도의 크기를 결정하는 것일 수 있다.
상기 디퓨즈 색도는, 상기 하나의 프레임 내 존재하는 물체의 실제 색상들에 대응하는 복수의 디퓨즈 색도들을 포함할 수 있다.
상기 디퓨즈 색도에 대한 가중치는, 상기 복수의 디퓨즈 색도들 중 상기 하나의 프레임 내 픽셀의 픽셀 값에 포함되는 디퓨즈 색도의 크기를 결정하는 것일 수 있다.
상기 스페큘러 색도 및 상기 디퓨즈 색도를 추정하는 단계는, 상기 복수의 프레임을 색도 사전 브랜치 네트워크(chromaticity dictionary branch network)에 입력하여 상기 스페큘러 색도 및 상기 디퓨즈 색도를 포함하는 색도 사전 행렬(chromaticity dictionary matrix)을 획득하는 단계를 포함할 수 있다.
상기 색도 사전 행렬을 획득하는 단계는, 상기 복수의 프레임들의 합(concatenation)을 제1 뉴럴 네트워크에 입력하는 단계와, 상기 뉴럴 네트워크의 출력을 복수의 제2 뉴럴 네트워크에 입력하는 단계와, 상기 복수의 제2 뉴럴 네트워크의 출력들을 합하는 단계를 포함할 수 있다.
상기 가중치를 추정하는 단계는, 상기 하나의 프레임을 계수 브랜치 네트워크(coefficient branch network)에 입력하여 상기 가중치를 포함하는 계수 행렬(coefficient matrix)을 획득하는 단계를 포함할 수 있다.
상기 보정하는 단계는, 상기 스페큘러 색도, 상기 디퓨즈 색도 및 상기 가중치에 기초하여 상기 이미지에 대한 색 밸런싱(color balancing) 또는 하이라이트 제거(highlight removal)을 수행하는 단계를 포함할 수 있다.
일 실시예에 따른 이미지 처리를 위한 뉴럴 네트워크의 학습 방법은, 교류 조명을 포함하는 조명 환경에서 시간의 흐름에 따라 촬영된 복수의 프레임들을 포함하는 이미지를 수신하는 단계와, 상기 복수의 프레임들 중 일부 프레임들을 제1 뉴럴 네트워크에 입력하여 스페큘러 색도(specular chromaticity) 및 디퓨즈 색도(diffuse chromaticity)를 포함하는 색도 사전 행렬(chromaticity dictionary matrix)을 획득하는 단계와, 상기 일부 프레임들 중 하나의 프레임을 제2 뉴럴 네트워크에 입력하여 상기 스페큘러 색도에 대한 가중치 및 상기 디퓨즈 색도에 대한 가중치를 포함하는 계수 행렬(coefficient matrix)를 획득하는 단계와, 상기 색도 사전 행렬 및 상기 계수 행렬에 대한 손실 함수에 기초하여 상기 제1 뉴럴 네트워크 및 상기 제2 뉴럴 네트워크를 학습하는 단계를 포함한다.
상기 손실 함수는, 상기 색도 사전 행렬 및 상기 계수 행렬의 곱 및 상기 하나의 프레임 사이 오차에 기초하여 결정되는 복원 손실 함수와, 상기 스페큘러 색도와 상기 교류 조명의 실제 색도 사이의 차이에 기초하여 결정되는 색 항상성 손실 함수와, 상기 계수 행렬의 각 성분에 기초하여 결정되는 계수 손실 함수와, 상기 복수의 프레임들 중 서로 다른 일부 프레임들에 대하여 획득한 색도 사전 행렬 및 상기 복수의 프레임들 중 서로 다른 하나의 프레임에 대하여 획득한 계수 행렬에 기초하여 결정되는 시간적 손실 함수를 포함할 수 있다.
상기 계수 손실 함수는, 상기 하나의 프레임 내 픽셀의 픽셀 값의 성분의 합 및 상기 픽셀에 대응되는 계수 행렬의 열(column) 성분의 합에 기초하여 결정되는 정규화 손실 함수와, 상기 스페큘러 색도에 대한 가중치에 기초하여 결정되는 스페큘러 손실 함수와, 상기 디퓨즈 색도에 대한 가중치에 기초하여 결정되는 디퓨즈 손실 함수의 합으로 결정될 수 있다.
일 실시예에 따른 이미지 처리 장치는, 인스트럭션들을 포함하는 메모리와, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고, 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는, 교류 조명을 포함하는 조명 환경에서 시간의 흐름에 따라 촬영된 복수의 프레임들을 포함하는 이미지를 수신하고, 상기 복수의 프레임들에 기초하여 상기 이미지의 스페큘러 색도(specular chromaticity) 및 디퓨즈 색도(diffuse chromaticity)를 추정하고, 상기 복수의 프레임들 중 하나의 프레임에 기초하여 상기 스페큘러 색도 및 상기 디퓨즈 색도 각각에 대한 가중치를 추정하고, 상기 스페큘러 색도, 상기 디퓨즈 색도 및 상기 가중치에 기초하여 상기 이미지를 보정한다.
상기 스페큘러 색도에 대한 가중치는, 상기 하나의 프레임 내 픽셀의 픽셀 값에 포함되는 상기 스페큘러 색도의 크기를 결정하는 것일 수 있다.
상기 디퓨즈 색도는, 상기 하나의 프레임 내 존재하는 물체의 실제 색상들에 대응하는 복수의 디퓨즈 색도들을 포함할 수 있다.
상기 디퓨즈 색도에 대한 가중치는, 상기 복수의 디퓨즈 색도들 중 상기 하나의 프레임 내 픽셀의 픽셀 값에 포함되는 디퓨즈 색도의 크기를 결정하는 것일 수 있다.
상기 프로세서는, 상기 복수의 프레임을 색도 사전 브랜치 네트워크(chromaticity dictionary branch network)에 입력하여 상기 스페큘러 색도 및 상기 디퓨즈 색도를 포함하는 색도 사전 행렬(chromaticity dictionary matrix)을 획득할 수 있다.
상기 프로세서는, 상기 복수의 프레임들의 합(concatenation)을 제1 뉴럴 네트워크에 입력하고, 상기 뉴럴 네트워크의 출력을 복수의 제2 뉴럴 네트워크에 입력하고, 상기 복수의 제2 뉴럴 네트워크의 출력들을 합할(concatenating) 수 있다.
상기 프로세서는, 상기 하나의 프레임을 계수 브랜치 네트워크(coefficient branch network)에 입력하여 상기 가중치를 포함하는 계수 행렬(coefficient matrix)을 획득할 수 있다.
상기 프로세서는, 상기 스페큘러 색도, 상기 디퓨즈 색도 및 상기 가중치에 기초하여 상기 이미지에 대한 색 밸런싱(color balancing) 또는 반사광 제거(highlight removal)을 수행할 수 있다.
상기 이미지 처리 장치는, 상기 이미지를 촬영하는 촬영 장치를 더 포함할 수 있다.
도 1은 일 실시예에 따른 이미지 처리 장치를 도시한다.
도 2는 이색성 모델을 설명하기 위한 도면이다.
도 3은 도 1에 도시된 이미지 처리 장치의 이색성 모델 추정 동작을 개략적으로 도시한다.
도 4는 도 2에 도시된 이색성 모델 추정 동작을 상세하게 설명하기 위한 도면이다.
도 5a 내지 도 5c는 도 1에 도시된 이미지 처리 장치의 이미지 보정 동작을 설명하기 위한 도면이다.
도 6는 도 2에 도시된 이색성 모델 추정 동작을 위한 네트워크의 학습 과정을 상세하게 설명하기 위한 도면이다.
도 7은 포화 픽셀이 존재하는 이미지에 대한 학습 과정을 설명하기 위한 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 이미지 처리 장치를 도시한다.
이미지 처리 장치(100)는 이미지를 보정할 수 있다. 이미지 처리 장치(100)는 색 밸런싱(color balancing) 및/또는 반사광 제거(highlight removal)를 통해 이미지의 색상 화질 성능을 개선시킬 수 있다.
이미지 처리 장치(100)는 이색성 반사 모델(dichromatic reflection model)에 기초하여 이미지를 보정할 수 있다. 이미지 처리 장치(100)는 이미지의 이색성 반사 모델을 추정하고, 추정한 이색성 반사 모델에 기초하여 이미지의 색상 화질 성능을 개선시킬 수 있다.
이미지 처리 장치(100)는 교류 조명(AC light)을 포함하는 조명 환경에서 촬영 장치(170)를 통해 시간의 흐름에 따라 촬영된 복수의 프레임을 포함하는 이미지를 이용하여 촬영된 이미지의 이색성 반사 모델을 추정할 수 있다.
교류 조명은 시간에 따라 세기가 주기적으로 변화하는 광선을 의미할 수 있다. 예를 들어, 교류 조명은 60Hz의 주파수를 가진 정현파 형태의 광선일 수 있다. 교류 조명은 교류 광원에 의해 생성될 수 있다. 조명 환경은 교류 조명만으로 구성된 환경 뿐만 아니라, 직류 조명과 교류 조명이 혼합된 조명 환경도 포함할 수 있다.
촬영 장치(170)는 교류 조명을 포함하는 조명 환경에서 시간의 흐름에 따라 피사체를 촬영하여, 복수의 프레임을 포함하는 이미지를 생성할 수 있다. 촬영 장치(170)는 교류 조명의 주파수(Hz) 이상의 촬영 속도(fps)로 촬영할 수 있다. 교류 조명이 60Hz의 주파수를 갖는 경우, 촬영 장치(170)는 60fps 이상의 속도로 촬영할 수 있다. 도 1에서는 촬영 장치(170)가 이미지 처리 장치(100)와 별개로 구현되는 것으로 도시하였지만, 이에 한정되는 것은 아니고 촬영 장치(170)는 이미지 처리 장치(100)와 결합되어 하나의 장치로 구현될 수 있다.
시간의 흐름에 따라 촬영된 복수의 프레임(ft, ft+1, ft+2)을 포함하는 이미지는 교류 조명을 포함하는 조명 환경에서 생성되었기 때문에, 시간의 흐름에 따라 다른 이미지 정보를 갖을 수 있다. 복수의 프레임(ft, ft+1, ft+2)은 각 프레임의 동일한 위치에 해당하는 픽셀이라도 시간의 흐름에 따라 다른 픽셀의 값(pixel value)을 갖을 수 있다.
픽셀의 값은 픽셀의 밝기 정보를 포함하고 있을 수 있고, 픽셀 값 또는 픽셀의 밝기(pixel intensity)로 지칭될 수 있다. 픽셀의 값은 0 내지 255 사이의 값일 수 있고, 숫자가 클수록 더 밝을 수 있다. 또한, 픽셀의 값은 복수 개의 서브 픽셀의 값으로 표현될 수 있다. 컬러 이미지의 경우, 픽셀의 값은 (빨간색 성분 픽셀의 값, 녹색 성분 픽셀의 값, 파란색 성분 픽셀의 값)과 같이 표현되거나 3Х1 행렬의 형태로 표현될 수도 있다. 컬러 이미지의 경우, 빨간색 성분, 녹색 성분 및 파란색 성분을 조합하여 다양한 색상을 만들 수 있다. 픽셀의 값이 0 내지 255 사이의 값으로 표현되는 경우, 픽셀은 2563가지의 색상을 만들 수 있다.
이미지 처리 장치(100)는 메모리(130) 및 프로세서(150)를 포함한다.
메모리(130)는 프로세서(150)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서의 동작 및/또는 프로세서(150)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다. 메모리(130)는 휘발성 메모리 장치 또는 불휘발성 메모리 장치로 구현될 수 있다.
휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다.
불휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive Bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노 튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM(PoRAM)), 나노 부유 게이트 메모리(Nano Floating Gate Memory(NFGM)), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Eelectronic Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.
메모리(130)는 뉴럴 네트워크에 포함된 연산이 수행될 행렬을 저장할 수 있다. 메모리(130)는 프로세서(150)가 처리하여 생성된 연산 결과를 저장할 수 있다.
프로세서(150)는 메모리(130)에 저장된 데이터를 처리할 수 있다. 프로세서(150)는 메모리(130)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(150)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(150)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 중앙 처리 장치(central processing unit), 그래픽 처리 장치(graphics processing unit), 신경망 처리 장치(neural processing unit), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
이하에서는, 도 2 내지 도 5c를 참조하여 프로세서(150)에 의해 수행되는 이미지 처리 장치(100)의 이미지 처리 동작에 대해서 상세히 설명하도록 한다.
도 2는 이색성 반사 모델을 설명하기 위한 도면으로, 이미지 처리 장치(100)의 이미지 처리 동작 설명을 위해 우선 도 2를 참조하여 이색성 반사 모델에 대해서 설명하도록 한다.
이색성 모델(Dichromatic model)에 따르면, 물체에 입사하는 입사 광선(210)은 두 개의 반사 성분(220, 230)으로 나뉠 수 있다. 물체로부터의 반사광은 스페큘러 반사(specular reflection) 성분(220)과 디퓨즈 반사(diffuse reflection) 성분(230)을 포함할 수 있다. 스페큘러 반사 성분(220)은 물체의 표면에서 반사되는 반사 성분일 수 있다. 디퓨즈 반사 성분(230)은 물체에 투과되어 산란되어 일어나는 반사 성분일 수 있다.
물체로부터의 반사광은 스페큘러 반사 성분(220)과 디퓨즈 반사 성분(230)의 조합으로 이루어지는데, 이미지의 픽셀 값으로 표현될 수 있다. 이미지에 포함되는 픽셀 값(in)은 수학식 1과 같이 나타낼 수 있다.
Figure pat00001
Figure pat00002
는 스페큘러 파라미터(Specular parameter),
Figure pat00003
는 스페큘러 색도(Specular chromaticity),
Figure pat00004
는 디퓨즈 파라미터(Diffuse parameter) 및
Figure pat00005
은 디퓨즈 색도(Diffuse chromaticity)를 나타내고, n은 각각의 픽셀에 대한 인덱스이다.
스페큘러 색도(
Figure pat00006
) 및 스페큘러 파라미터(
Figure pat00007
)는 스페큘러 반사 성분(220)을 나타낼 수 있다. 스페큘러 색도(
Figure pat00008
)는 조명의 색상에 대한 정보를 포함하고, 스페큘러 파라미터(
Figure pat00009
)는 조명의 밝기에 대한 정보를 포함할 수 있다.
디퓨즈 색도(
Figure pat00010
) 및 디퓨즈 파라미터(
Figure pat00011
)는 확산 반사 성분(230)을 나타낼 수 있다. 디퓨즈 색도(
Figure pat00012
)는 물체의 실제 색상에 대한 정보를 포함하고, 디퓨즈 파라미터(
Figure pat00013
)는 물체의 밝기에 대한 정보를 포함할 수 있다.
도 3은 도 1에 도시된 이미지 처리 장치의 이색성 모델 추정 동작을 개략적으로 도시한다.
이미지 처리 장치(100)는 시간의 흐름에 따라 촬영된 복수의 프레임(ft, ft+1, ft+2)을 포함하는 이미지에 기초하여 현재 프레임(ft)에 대한 이색성 모델을 추정할 수 있다. 이미지 처리 장치(100)는 복수의 프레임(ft, ft+1, ft+2)에 기초하여 현재 프레임(ft)에 대한 스페큘러 색도(
Figure pat00014
) 및 디퓨즈 색도(
Figure pat00015
)를 추정할 수 있고, 현재 프레임(ft)에 기초하여 스페큘러 파라미터(
Figure pat00016
) 및 디퓨즈 파라미터(
Figure pat00017
)를 추정할 수 있다.
이미지 처리 장치(100)는 이색성 모델을 행렬 형태로 표현하여, 이색성 모델의 파라미터들을 추정하는 문제를 행렬 분해(matrix factorization) 문제로 변환할 수 있다. 예를 들어, 이미지 처리 장치(100)는 이색성 모델의 파라미터들을 추정하기 위해, 스페큘러 색도(
Figure pat00018
)와 디퓨즈 색도(
Figure pat00019
)를 추정하기 위한 색도 사전 행렬(chromaticity dictionary matrix(D)) 및 스페큘러 파라미터(ms)와 디퓨즈 파라미터(md)를 추정하기 위한 계수 행렬(coefficient matrix(C))을 획득할 수 있다.
이하, 색도 사전 행렬(D) 및 계수 행렬(C)에 대해 상세히 설명하도록 한다.
이색성 모델에 따라 픽셀 값(in)을 표현하는 수학식 1은 수학식 2와 같이 변형될 수 있다. 이때, 수학식 2는 M개의 디퓨즈 색도(
Figure pat00020
)에 기초하여 이색성 모델이 표현되도록 수학식 1을 변형한 것일 수 있다.
Figure pat00021
Figure pat00022
Figure pat00023
는 각각 스페큘러 색도에 대한 가중치 및 디퓨즈 색도에 대한 가중치이다. 스페큘러 색도에 대한 가중치(
Figure pat00024
) 및 디퓨즈 색도에 대한 가중치(
Figure pat00025
)는 각각 스페큘러 파라미터(
Figure pat00026
) 및 디퓨즈 파라미터(
Figure pat00027
)를 추정하기 위한 파라미터일 수 있다.
디퓨즈 색도에 대한 가중치(
Figure pat00028
)는 M개의 디퓨즈 색도(
Figure pat00029
) 중 선택된 하나의 디퓨즈 색도(
Figure pat00030
)의 크기를 나타내는 가중치로, M개의 디퓨즈 색도에 대한 가중치(
Figure pat00031
) 중 하나만 0이 아닌 값을 가질 수 있다. 다만, 이에 한정되는 것은 아니고, 미리 설정된 M개의 디퓨즈 색도(
Figure pat00032
)에 해당하지 않는 색도가 이미지 내에 존재하는 경우, 복수의 디퓨즈 색도(
Figure pat00033
)의 조합으로 표현하기 위해 복수의 디퓨즈 색도에 대한 가중치(
Figure pat00034
)가 0이 아닌 값을 가질 수도 있다.
수학식 2를 모든 픽셀(즉, 모든 n)에 대하여 하나의 행렬식으로 표현하면 수학식 3과 나타낼 수 있다.
Figure pat00035
수학식 3의 좌변의
Figure pat00036
Figure pat00037
는 각각 색도 사전 행렬(D) 및 계수 행렬(C)일 수 있다.
고속으로 촬영된 이미지에 있어서, 짧은 시간 간격으로 촬영된 프레임들 간에는 조명의 색상 및 물체들의 색상의 변화가 없으므로 복수의 프레임들은 모두 동일한 색도 사전 행렬(D)로 표현될 수 있다.
색도 사전 행렬(D)의 각각의 열(column)은 한 개의 스페큘러 색도 및 M개의 디퓨즈 색도로 구성되므로 색도 사전 행렬(D)의 크기는 3Х(M+1)이며, 각각의 열의 합은 1일 수 있다.
계수 행렬(C)은 각각의 픽셀의 픽셀 값에 포함되는 스페큘러 색도 및 디퓨즈 색도의 크기를 결정하는 가중치를 포함할 수 있다. 예를 들어, 계수 행렬(C)의 첫번째 행은 각각의 픽셀의 픽셀 값에 반영되는 스페큘러 색도에 대한 가중치(
Figure pat00038
)를 포함하고, 두번째 행 내지 M+1번째 행은 M개의 디퓨즈 색도 중 픽셀의 픽셀 값에 반영되는 디퓨즈 색도에 대한 가중치(
Figure pat00039
)를 포함할 수 있다.
스페큘러 색도에 대한 가중치(
Figure pat00040
) 및 디퓨즈 색도에 대한 가중치(
Figure pat00041
)는 픽셀의 밝기를 결정하는 성분이므로, 교류 조명을 포함하는 조명 환경에서 촬영된 이미지의 경우 스페큘러 색도에 대한 가중치(
Figure pat00042
) 및 디퓨즈 색도에 대한 가중치(
Figure pat00043
)는 시간에 따라 사인 곡선 형태로(sinusoidally) 진동하는 성질을 가질 수 있다.
도 4는 도 2에 도시된 이색성 모델 추정 동작을 상세하게 설명하기 위한 도면이다.
이미지 처리 장치(100)는 뉴럴 네트워크를 이용하여 이미지의 이색성 모델을 추정할 수 있다. 이색성 모델을 추정하기 위한 뉴럴 네트워크는 색도 사전 행렬을 추정하기 위한 색도 사전 브랜치 네트워크(chromaticity dictionary branch network; 410) 및 계수 행렬을 추정하기 위한 계수 브랜치 네트워크(coefficient branch network; 430)를 포함할 수 있다.
색도 사전 브랜치 네트워크(410) 및 계수 브랜치 네트워크(430)는 상호 결합되어 학습된 네트워크 일 수 있다. 색도 사전 브랜치 네트워크(410) 및 계수 브랜치 네트워크(430)의 학습 과정은 도 6 및 도 7을 참조하여 상세하게 설명하도록 한다.
이미지 처리 장치(100)는 현재 프레임(It)을 포함하는 복수의 프레임들(Ft)을 색도 사전 브랜치 네트워크(410)에 입력하여 색도 사전 행렬을 추정할 있고, 현재 프레임(It)을 계수 브랜치 네트워크(430)에 입력하여 현재 프레임(It)에 대한 계수 행렬을 추정할 수 있다.
복수의 프레임들(Ft)은 교류 조명을 포함하는 조명 환경에서 시간의 흐름에 따라 촬영된 복수의 프레임들(I1 내지 IT) 중 일부 프레임들(It-k 내지 It+k)를 포함할 수 있다. 예를 들어, 복수의 프레임들(Ft)은 현재 프레임(It) 및 현재 프레임(It)의 앞뒤 두 프레임들(It-2, It-1, It+1 및 It+2)을 포함할 수 있다.
색도 사전 브랜치 네트워크(410)는 제1 뉴럴 네트워크(411), 복수의 제2 뉴럴 네트워크(413-1 내지 413-3) 및 정류 선형 유닛(Rectified Linear Unit(ReLU); 415-1 내지 415-3)을 포함할 수 있다. 예를 들어, 제1 뉴럴 네트워크(411)는 이피션트넷(EfficientNet)일 수 있고, 제2 뉴럴 네트워크(413-1 내지 413-3)는 풀리 커넥티드 네트워크(Fully Connected Network)일 수 있다.
제1 뉴럴 네트워크(411)에 복수의 프레임들(Ft)의 합(concatenation)이 입력될 수 있다. 각각의 프레임들(It-k 내지 It+k)은 HХWХC의 크기를 가지므로, 복수의 프레임들(Ft)의 합은 HХWХδC의 크기를 가질 수 있다. 이때, δ는 복수의 프레임들(Ft)에 포함되는 각각의 프레임들(It-k 내지 It+k) 개수를 나타낼 수 있다. 제1 뉴럴 네트워크(411)는 M+1개의 성분을 가지는 벡터를 출력할 수 있다.
제1 뉴럴 네트워크(411)의 출력은 복수의 제2 뉴럴 네트워크(413-1 내지 413-3) 각각에 입력될 수 있다. 제2 뉴럴 네트워크(413-1 내지 413-3)의 출력은 각각 ReLU(415-1 내지 415-3)을 통과한 뒤 합쳐질 수 있다. 각각의 ReLU(415-1 내지 415-3)를 통과한 제2 뉴럴 네트워크(413-1 내지 413-3)의 출력은 각각 색도 사전 행렬(Dt)의 첫번째 행 내지 세번째 행일 수 있다.
계수 브랜치 네트워크(430)는 뉴럴 네트워크(431) 및 ReLU(433)을 포함할 수 있다. 예를 들어, 뉴럴 네트워크(431)는 유-넷(U-net)일 수 있다.
뉴럴 네트워크(431)에 현재 프레임(It)이 입력될 수 있다. 뉴럴 네트워크(431)의 출력은 입력과 동일한 해상도(resolution)를 가질 수 있다. 예를 들어, 뉴럴 네트워크(431)의 출력은 HХWХ(M+1)의 크기를 가질 수 있다.
뉴럴 네트워크(431)의 출력은 ReLU(433)를 통과한 뒤 재정렬될 수 있다. ReLU(433)를 통과한 뉴럴 네트워크(431)의 출력은 각각의 행에 대응되는 픽셀에 대한 가중치가 배치되도록 재정렬될 수 있다. 재정렬된 행렬은 현재 프레임(It)에 대한 계수 행렬(C t)일 수 있다.
도 5a 내지 도 5c는 도 1에 도시된 이미지 처리 장치의 이미지 보정 동작을 설명하기 위한 도면이다.
이미지 처리 장치(100)는 추정된 색도 사전 행렬(D t) 및 계수 행렬(C t)에 기초하여 현재 프레임(It)을 보정할 수 있다.
도 5a에 도시된 예와 같이, 이미지 처리 장치(100)는 색도 사전 행렬(D t) 및 계수 행렬(C t)에 기초하여 화이트 밸런싱(white balancing)을 수행할 수 있다. 이미지 처리 장치(100)는 색도 사전 행렬(D t)의 첫 열인 스페큘러 색도로 색도 사전 행렬(D t)의 모든 열을 나눈 색도 사전 행렬(D wb)을 생성할 수 있고, 생성된 색도 사전 행렬(D wb)과 계수 행렬(C t)을 곱해 색 항상성 기법이 적용된 이미지(I wb)를 생성할 수 있다.
도 5b에 도시된 예와 같이, 이미지 처리 장치(100)는 색도 사전 행렬(D t) 및 계수 행렬(C t)에 기초하여 이미지의 스페큘러 성분만 추출하여 스페큘러 이미지(specular image; I sp)를 생성할 수 있다. 이미지 처리 장치(100)는 색도 사전 행렬(D t)의 두번째 내지 마지막 열인 디퓨즈 색도를 제거한 색도 사전 행렬(D sp)을 생성할 수 있고, 계수 행렬(C t)의 두번째 내지 마지막 행인 디퓨즈 색도에 대한 가중치를 제거한 계수 행렬(C sp)을 생성할 수 있다. 이미지 처리 장치(100)는 디퓨즈 색도를 제거한 색도 사전 행렬(D sp) 및 디퓨즈 색도에 대한 가중치를 제거한 계수 행렬(C sp)을 곱해 스페큘러 이미지(I sp)를 생성할 수 있다.
도 5c에 도시된 예와 같이, 이미지 처리 장치(100)는 색도 사전 행렬(D t) 및 계수 행렬(C t)에 기초하여 이미지의 디퓨즈 성분만 추출하여 디퓨즈 이미지(diffuse image; I diff)를 생성할 수 있다. 이미지 처리 장치(100)는 색도 사전 행렬(D t)의 첫번째 열인 스페큘러 색도를 제거한 색도 사전 행렬(D diff)을 생성할 수 있고, 계수 행렬(C t)의 첫번째 행인 스페큘러 색도에 대한 가중치를 제거한 계수 행렬(C diff)을 생성할 수 있다. 이미지 처리 장치(100)는 스페큘러 색도를 제거한 색도 사전 행렬(D diff) 및 스페큘러 색도에 대한 가중치를 제거한 계수 행렬(C diff)을 곱해 디퓨즈 이미지(I diff)를 생성할 수 있다. 이때, 디퓨즈 이미지(I diff)는 반사광이 제거된 이미지일 수 있다.
도 6는 도 2에 도시된 이색성 모델 추정 동작을 위한 학습 과정을 상세하게 설명하기 위한 도면이고, 도 7은 포화 픽셀이 존재하는 이미지에 대한 학습 과정을 설명하기 위한 도면이다.
색도 사전 브랜치 네트워크(410) 및 계수 브랜치 네트워크(430)는 손실 함수(loss function; Ltot)에 기초하여 결합적으로 학습될 수 있다.
색도 사전 브랜치 네트워크(410)는 교류 조명을 포함하는 조명 환경에서 시간의 흐름에 따라 촬영된 복수의 프레임들(I1 내지 IT)에 기초하여 복수의 색도 사전 행렬들(D 1 내지 D T)을 출력할 수 있다.
하나의 프레임(It)을 포함하는 프레임들(It-k 내지 It+k)을 색도 사전 브랜치 네트워크(410)에 입력하여 하나의 프레임(It)에 대응되는 색도 사전 행렬(Dt)을 획득하는 동작을 모든 프레임들(I1 내지 IT)에 대해 반복하여, 모든 프레임들(I1 내지 IT) 각각에 대응되는 색도 사전 행렬들(D 1 내지 D T)을 획득할 수 있다. 예를 들어, 모든 프레임들(I1 내지 IT) 각각에 대해 해당 프레임(It)과 앞뒤 두 프레임들(It-2, It-1, It+1 및 It+2)을 포함하는 복수의 프레임들(Ft)을 색도 사전 브랜치 네트워크(410)에 입력하여 색도 사전 행렬들(D 1 내지 D T)을 획득할 수 있다. 이때, 첫 두 프레임(I1 및 I2) 및 마지막 두 프레임(IT-1 및 IT)에 대해서는 각각 마지막 하나(IT) 또는 두 프레임(IT-1 및 IT) 및 첫 하나(I1) 또는 두 프레임(I1 또는 I2)을 포함시킬 수 있다.
계수 브랜치 네트워크(430)는 복수의 프레임들(I1 내지 IT)에 기초하여 복수의 계수 행렬들(C 1 내지 C T)를 출력할 수 있다. 각각의 프레임들(I1 내지 IT)이 계수 브랜치 네트워크(430)에 입력되어 계수 행렬들(C 1 내지 C T)이 생성될 수 있다.
손실 함수(Ltot)는 색도 사전 행렬들(D 1 내지 D T) 및 계수 행렬들(C 1 내지 C T)에 대한 함수일 수 있다. 손실 함수(Ltot)는 색도 사전 행렬들(D 1 내지 D T) 및 계수 행렬들(C 1 내지 C T)에 기초하여 계산될 수 있다.
손실 함수(Ltot)는 수학식 4와 같이 색 항상성 손실 함수(color constancy loss function; Lcc), 계수 손실 함수(coefficient loss function; LC), 시간적 손실 함수(temporal loss function; LT) 및 복원 손실 함수(reconstruction loss function; LR)의 합에 기초하여 결정될 수 있다.
Figure pat00044
색 항상성 손실 함수(Lcc)는 색도 사전 행렬(D)의 첫 번째 열인 스페큘러 색도가 실제 조명과 얼마나 유사한지 판단하기 위한 함수이다. 색 항상성 손실 함수(Lcc)는 추정한 스페큘러 색도(
Figure pat00045
)와 컬러 체커(color checker)로 검출한 교류 조명의 실제 색도(
Figure pat00046
) 사이의 각도 차이(angular error)에 기초하여 결정될 수 있다. 색 항상성 손실 함수(Lcc)는 수학식 5와 같이 표현될 수 있다.
Figure pat00047
계수 손실 함수(LC)는 수학식 6과 같이 정규화 손실 함수(normalization loss function; Lnormal), 스페큘러 손실 함수(specular loss function; LC,spec) 및 디퓨즈 손실 함수(diffuse loss function; LC,diff)의 합에 기초하여 결정될 수 있다.
Figure pat00048
정규화 손실 함수(Lnormal)는 각 픽셀의 R, G 및 B 성분의 합이 픽셀에 대응되는 스페큘러 색도 및 디퓨즈 색도의 가중치의 합과 같은지 여부를 판단하는 손실 함수일 수 있다. 정규화 손실 함수(Lnormal)는 수학식 7과 같이 프레임 내 픽셀의 픽셀 값의 성분의 합 및 픽셀에 대응되는 계수 행렬의 열 성분의 합에 기초하여 결정될 수 있다.
Figure pat00049
정규화 손실 함수(Lnormal)는 포화 마스크(saturation mask)를 이용하여 픽셀 값이 임계값을 초과하는 포화 픽셀(saturated pixel)에 대해서는 적용하지 않을 수 있다. 픽셀 값(intensity)이 임계값을 초과하는 포화 영역의 경우, 도 6에 도시된 바와 같이 이미지를 스페큘러 성분 및 디퓨즈 성분으로 나눌 때, 각 성분의 크기(intensity)가 제한되어 있어 분해(decomposition) 이후 구멍(hole)이 생길 수 있다.
포화 마스크(saturation mask)를 통해 포화 영역에 대해 정규화 손실 함수(Lnormal)는 계산되지 않을 수 있으며, 포화 영역의 포화 픽셀들에 대한 스페큘러 색도 및 디퓨즈 색도의 가중치는 스페큘러 손실 함수(LC,spec) 및 디퓨즈 손실 함수(LC,diff)를 이용하여 획득되는 주변 픽셀의 스페큘러 성분 및 디퓨즈 성분의 분포에 기초하여 복원될 수 있다.
스페큘러 손실 함수(LC,spec)는 시간에 따라 촬영된 프레임들 사이에 조명의 세기가 부드럽게(smooth)하게 변화하는 성질을 반영하는 손실 함수일 수 있다. 스페큘러 손실 함수(LC,spec)는 스페큘러 색도의 가중치의 그레디언트(gradient)에 기초하여 결정될 수 있다. 스페큘러 손실 함수(LC,spec)는 수학식 8과 같이 총 변화(total variation)의 L2 레귤라이저(L2 regularizer)를 통해 계산될 수 있다.
Figure pat00050
이때,
Figure pat00051
는 3ХHW 형태의 계수 행렬(C)을 HХWХC 이미지 형태로 재정렬한 행렬일 수 있다.
디퓨즈 손실 함수(LC,diff)는 디퓨즈 색도의 가중치가 하나의 픽셀에 대해서는 희소한(sparse) 특징을 가지고, 인접한 픽셀간 지역적으로 일정한 특징을 반영하기 위한 손실 함수일 수 있다. 예를 들어, 디퓨즈 손실 함수(LC,diff)는 각 픽셀은 하나의 디퓨즈 색도를 가지고, 인접한 픽셀 간에는 동일한 디퓨즈 색도를 가질 확률이 높은 특징을 반영하기 위한 손실 함수일 수 있다.
디퓨즈 손실 함수(LC,diff)는 수학식 9와 같이 L1 레귤라이저(L1 레귤라이저) 및 총 변화(total variation)의 L2 레귤라이저(L2 regularizer)의 합으로 계산될 수 있다.
Figure pat00052
이때,
Figure pat00053
는 적응적으로 결정할 수 있는 상수일 수 있다.
시간적 손실 함수(LT)는 색도 사전 행렬(D) 및 계수 행렬(C)의 시간 변화에 따른 특징을 반영하는 손실 함수 일 수 있다. 시간적 손실 함수(LT)는 수학식 10과 같이 각각 색도 사전 행렬(D) 및 계수 행렬(C)의 시간적 손실 함수(LDT 및 LCT)의 합으로 결정될 수 있다.
Figure pat00054
색도 사전 행렬(D)의 시간적 손실 함수(LDT)는 짧은 시간 간격으로 촬영된 프레임들은 동일한 색도를 포함하는 특징을 반영하기 위한 손실 함수이며, 색도 사전 행렬(D) 내에서 색도의 순서가 달라지는 것을 방지하기 위한 손실 함수일 수 있다. 색도 사전 행렬(D)의 시간적 손실 함수(LDT)는 수학식 11과 같이 표현될 수 있다.
Figure pat00055
계수 행렬(C)의 시간적 손실 함수(LCT)는 계수 행렬(C)에 포함되는 색도의 가중치들이 시간에 따라 변화하는 교류 조명의 세기에 따라 사인파 형태로 변화하는 특징을 반영하기 위한 손실 함수일 수 있다.
계수 행렬(C)의 시간적 손실 함수(LCT)는 수학식 12와 같이, 계수 행렬(C)의 모든 성분들의 평균 값이 시간에 따라 사인파 형태로 변화하는 특징을 가우스-뉴턴 방법(Gauss-Newton Method)으로 모델링한 함수(
Figure pat00056
)에 기초하여 계산될 수 있다.
Figure pat00057
이때, f ac 는 교류 조명 주파수에 기초하여 결정될 수 있고, f cam 은 촬영 속도에 기초하여 결정될 수 있다.
복원 손실 함수(LR)는 색도 사전 행렬(D) 및 계수 행렬(C)의 곱이 입력 이미지(I)로 복원되어 분해(factorization) 에러를 최소화하기 위한 손실 함수일 수 있다. 복원 손실 함수(LR)는 수학식 13과 같이 MSE(Mean squared error) 값으로 정의될 수 있다.
Figure pat00058
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 교류 조명을 포함하는 조명 환경에서 시간의 흐름에 따라 촬영된 복수의 프레임들을 포함하는 이미지를 수신하는 단계;
    상기 복수의 프레임들에 기초하여 상기 이미지의 스페큘러 색도(specular chromaticity) 및 디퓨즈 색도(diffuse chromaticity)를 추정하는 단계;
    상기 복수의 프레임들 중 하나의 프레임에 기초하여 상기 스페큘러 색도 및 상기 디퓨즈 색도 각각에 대한 가중치를 추정하는 단계; 및
    상기 스페큘러 색도, 상기 디퓨즈 색도 및 상기 가중치에 기초하여 상기 이미지를 보정하는 단계
    를 포함하는, 이미지 처리 방법.
  2. 제1항에 있어서,
    상기 스페큘러 색도에 대한 가중치는,
    상기 하나의 프레임 내 픽셀의 픽셀 값에 포함되는 상기 스페큘러 색도의 크기를 결정하는 것인, 이미지 처리 방법.
  3. 제1항에 있어서,
    상기 디퓨즈 색도는,
    상기 하나의 프레임 내 존재하는 물체의 실제 색상들에 대응하는 복수의 디퓨즈 색도들을 포함하는, 이미지 처리 방법.
  4. 제3항에 있어서,
    상기 디퓨즈 색도에 대한 가중치는,
    상기 복수의 디퓨즈 색도들 중 상기 하나의 프레임 내 픽셀의 픽셀 값에 포함되는 디퓨즈 색도의 크기를 결정하는 것인, 이미지 처리 방법.
  5. 제1항에 있어서,
    상기 스페큘러 색도 및 상기 디퓨즈 색도를 추정하는 단계는,
    상기 복수의 프레임을 색도 사전 브랜치 네트워크(chromaticity dictionary branch network)에 입력하여 상기 스페큘러 색도 및 상기 디퓨즈 색도를 포함하는 색도 사전 행렬(chromaticity dictionary matrix)을 획득하는 단계
    를 포함하는, 이미지 처리 방법.
  6. 제5항에 있어서,
    상기 색도 사전 행렬을 획득하는 단계는,
    상기 복수의 프레임들의 합(concatenation)을 제1 뉴럴 네트워크에 입력하는 단계;
    상기 뉴럴 네트워크의 출력을 복수의 제2 뉴럴 네트워크에 입력하는 단계; 및
    상기 복수의 제2 뉴럴 네트워크의 출력들을 합하는 단계
    를 포함하는, 이미지 처리 방법.
  7. 제1항에 있어서,
    상기 가중치를 추정하는 단계는,
    상기 하나의 프레임을 계수 브랜치 네트워크(coefficient branch network)에 입력하여 상기 가중치를 포함하는 계수 행렬(coefficient matrix)을 획득하는 단계
    를 포함하는, 이미지 처리 방법.
  8. 제1항에 있어서,
    상기 보정하는 단계는,
    상기 스페큘러 색도, 상기 디퓨즈 색도 및 상기 가중치에 기초하여 상기 이미지에 대한 색 밸런싱(color balancing) 또는 반사광 제거(highlight removal)을 수행하는 단계
    를 더 포함하는, 이미지 처리 방법.
  9. 이미지 처리를 위한 뉴럴 네트워크의 학습 방법에 있어서,
    교류 조명을 포함하는 조명 환경에서 시간의 흐름에 따라 촬영된 복수의 프레임들을 포함하는 이미지를 수신하는 단계;
    상기 복수의 프레임들 중 일부 프레임들을 제1 뉴럴 네트워크에 입력하여 스페큘러 색도(specular chromaticity) 및 디퓨즈 색도(diffuse chromaticity)를 포함하는 색도 사전 행렬(chromaticity dictionary matrix)을 획득하는 단계;
    상기 일부 프레임들 중 하나의 프레임을 제2 뉴럴 네트워크에 입력하여 상기 스페큘러 색도에 대한 가중치 및 상기 디퓨즈 색도에 대한 가중치를 포함하는 계수 행렬(coefficient matrix)를 획득하는 단계; 및
    상기 색도 사전 행렬 및 상기 계수 행렬에 대한 손실 함수에 기초하여 상기 제1 뉴럴 네트워크 및 상기 제2 뉴럴 네트워크를 학습하는 단계
    를 포함하는, 학습 방법.
  10. 제9항에 있어서,
    상기 손실 함수는,
    상기 색도 사전 행렬 및 상기 계수 행렬의 곱 및 상기 하나의 프레임 사이 오차에 기초하여 결정되는 복원 손실 함수;
    상기 스페큘러 색도와 상기 교류 조명의 실제 색도 사이의 차이에 기초하여 결정되는 색 항상성 손실 함수;
    상기 계수 행렬의 각 성분에 기초하여 결정되는 계수 손실 함수; 및
    상기 복수의 프레임들 중 서로 다른 일부 프레임들에 대하여 획득한 색도 사전 행렬 및 상기 복수의 프레임들 중 서로 다른 하나의 프레임에 대하여 획득한 계수 행렬에 기초하여 결정되는 시간적 손실 함수
    의 합으로 결정되는, 학습 방법.
  11. 제10항에 있어서,
    상기 계수 손실 함수는,
    상기 하나의 프레임 내 픽셀의 픽셀 값의 성분의 합 및 상기 픽셀에 대응되는 계수 행렬의 열(column) 성분의 합에 기초하여 결정되는 정규화 손실 함수;
    상기 스페큘러 색도에 대한 가중치에 기초하여 결정되는 스페큘러 손실 함수; 및
    상기 디퓨즈 색도에 대한 가중치에 기초하여 결정되는 디퓨즈 손실 함수
    의 합으로 결정되는, 학습 방법.
  12. 인스트럭션들을 포함하는 메모리; 및
    상기 인스트럭션들을 실행하기 위한 프로세서
    를 포함하고,
    상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는,
    교류 조명을 포함하는 조명 환경에서 시간의 흐름에 따라 촬영된 복수의 프레임들을 포함하는 이미지를 수신하고,
    상기 복수의 프레임들에 기초하여 상기 이미지의 스페큘러 색도(specular chromaticity) 및 디퓨즈 색도(diffuse chromaticity)를 추정하고,
    상기 복수의 프레임들 중 하나의 프레임에 기초하여 상기 스페큘러 색도 및 상기 디퓨즈 색도 각각에 대한 가중치를 추정하고,
    상기 스페큘러 색도, 상기 디퓨즈 색도 및 상기 가중치에 기초하여 상기 이미지를 보정하는, 이미지 처리 장치.
  13. 제12항에 있어서,
    상기 스페큘러 색도에 대한 가중치는,
    상기 하나의 프레임 내 픽셀의 픽셀 값에 포함되는 상기 스페큘러 색도의 크기를 결정하는 것인, 이미지 처리 장치.
  14. 제12항에 있어서,
    상기 디퓨즈 색도는,
    상기 하나의 프레임 내 존재하는 물체의 실제 색상들에 대응하는 복수의 디퓨즈 색도들을 포함하는, 이미지 처리 장치.
  15. 제14항에 있어서,
    상기 디퓨즈 색도에 대한 가중치는,
    상기 복수의 디퓨즈 색도들 중 상기 하나의 프레임 내 픽셀의 픽셀 값에 포함되는 디퓨즈 색도의 크기를 결정하는 것인, 이미지 처리 장치.
  16. 제12항에 있어서,
    상기 프로세서는,
    상기 복수의 프레임을 색도 사전 브랜치 네트워크(chromaticity dictionary branch network)에 입력하여 상기 스페큘러 색도 및 상기 디퓨즈 색도를 포함하는 색도 사전 행렬(chromaticity dictionary matrix)을 획득하는, 이미지 처리 장치.
  17. 제16항에 있어서,
    상기 프로세서는,
    상기 복수의 프레임들의 합(concatenation)을 제1 뉴럴 네트워크에 입력하고,
    상기 뉴럴 네트워크의 출력을 복수의 제2 뉴럴 네트워크에 입력하고,
    상기 복수의 제2 뉴럴 네트워크의 출력들을 합하는(concatenating), 이미지 처리 장치.
  18. 제12항에 있어서,
    상기 프로세서는,
    상기 하나의 프레임을 계수 브랜치 네트워크(coefficient branch network)에 입력하여 상기 가중치를 포함하는 계수 행렬(coefficient matrix)을 획득하는, 이미지 처리 장치.
  19. 제12항에 있어서,
    상기 프로세서는,
    상기 스페큘러 색도, 상기 디퓨즈 색도 및 상기 가중치에 기초하여 상기 이미지에 대한 색 밸런싱(color balancing) 또는 반사광 제거(highlight removal)을 수행하는, 이미지 처리 장치.
  20. 제12항에 있어서,
    상기 이미지를 촬영하는 촬영 장치
    를 더 포함하는, 이미지 처리 장치.
KR1020200166955A 2020-12-02 2020-12-02 이미지 처리 방법 및 장치 KR20220077730A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200166955A KR20220077730A (ko) 2020-12-02 2020-12-02 이미지 처리 방법 및 장치
US17/336,362 US11677919B2 (en) 2020-12-02 2021-06-02 Image processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200166955A KR20220077730A (ko) 2020-12-02 2020-12-02 이미지 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220077730A true KR20220077730A (ko) 2022-06-09

Family

ID=81751878

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200166955A KR20220077730A (ko) 2020-12-02 2020-12-02 이미지 처리 방법 및 장치

Country Status (2)

Country Link
US (1) US11677919B2 (ko)
KR (1) KR20220077730A (ko)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07131815A (ja) 1993-11-01 1995-05-19 Mitsubishi Electric Corp ビデオカメラ
JP2000311243A (ja) 1999-04-28 2000-11-07 Sony Corp 画像色補正方法及び装置
US7817870B2 (en) 2006-01-20 2010-10-19 Sony Corporation Method and apparatus for image processing with color constancy
KR100916484B1 (ko) 2007-08-14 2009-09-08 삼성전기주식회사 자동 화이트 밸런스 방법
KR101678691B1 (ko) 2010-05-12 2016-11-23 삼성전자주식회사 광원의 특성을 이용한 이미지 처리 장치 및 방법
US9013496B2 (en) * 2012-06-19 2015-04-21 Microsoft Technology Licensing, Llc Rendering global light transport in real-time using machine learning
US10013905B2 (en) * 2013-12-25 2018-07-03 Maxell, Ltd. Image display device using combined Retinex processing
RU2707728C2 (ru) 2015-01-09 2019-11-28 Конинклейке Филипс Н.В. Обработка изображения с изменением степени яркости при постоянстве цвета
US9852330B1 (en) 2015-07-27 2017-12-26 United Launch Alliance, L.L.C. System and method to enable the application of optical tracking techniques for generating dynamic quantities of interest with alias protection
US10224004B2 (en) * 2017-02-06 2019-03-05 Mediatek, Inc. Automatic white balance based on surface reflection decomposition
US10475165B2 (en) * 2017-04-06 2019-11-12 Disney Enterprises, Inc. Kernel-predicting convolutional neural networks for denoising
KR102100973B1 (ko) 2018-01-24 2020-04-14 주식회사 제네시스랩 공동 학습을 이용한 기계학습 시스템 및 그 방법
US10692276B2 (en) * 2018-05-03 2020-06-23 Adobe Inc. Utilizing an object relighting neural network to generate digital images illuminated from a target lighting direction
US11295514B2 (en) * 2018-11-16 2022-04-05 Nvidia Corporation Inverse rendering of a scene from a single image
KR20200134862A (ko) 2019-05-24 2020-12-02 삼성전자주식회사 영상 처리 방법 및 장치
US20220164601A1 (en) * 2020-11-20 2022-05-26 Mediatek Inc. Methods and Apparatuses of Contrastive Learning for Color Constancy

Also Published As

Publication number Publication date
US11677919B2 (en) 2023-06-13
US20220174250A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
US8798361B2 (en) Mapping colors of an image
JP5615493B2 (ja) デュアルディスプレイ装置
JP2014529756A5 (ko)
KR20180050832A (ko) Cnn을 이용한 이미지 디헤이징 방법 및 그 시스템
US20210150674A1 (en) Techniques for robust image denoising
KR20210011322A (ko) 시간적 주의에 기초한 비디오 깊이 추정
KR102083721B1 (ko) 딥 러닝을 이용한 양안기반 초해상 이미징 방법 및 그 장치
KR20190143260A (ko) 이미지 복원 장치 및 방법
KR102614906B1 (ko) 영상 처리 방법 및 장치
KR20220077730A (ko) 이미지 처리 방법 및 장치
KR102644946B1 (ko) 영상 처리 방법 및 장치
US9916640B2 (en) Automated sliver removal in orthomosaic generation
KR20200134862A (ko) 영상 처리 방법 및 장치
KR101617551B1 (ko) 얼굴 검출 능력 향상을 위한 이미지 처리 방법 및 시스템
JP7114431B2 (ja) 画像処理方法、画像処理装置およびプログラム
KR102418000B1 (ko) 컬러 이미지와 모노크롬 이미지를 이용하여 스테레오 매칭을 수행하는 방법 및 이를 이용한 장치
US9741155B2 (en) Apparatus and method for tile-based graphic data rendering
US20140177908A1 (en) System of object detection
KR101878817B1 (ko) 영상 개선 방법 및 그 장치
US10999541B2 (en) Image processing apparatus, image processing method and storage medium
US20230131366A1 (en) Computer-implemented method for completing an image
US10979601B2 (en) High precision gamut mapping
KR102082070B1 (ko) 높은 정밀도 색역 매핑
US20240161349A1 (en) Image domain matching technique
US20160371811A1 (en) Method and system for approximating fully calculated image sequence from a subset of calculated image data

Legal Events

Date Code Title Description
A201 Request for examination