KR20220060966A - 센서를 통한 자동 화이트 밸런스를 위한 데이터 사전-처리 - Google Patents

센서를 통한 자동 화이트 밸런스를 위한 데이터 사전-처리 Download PDF

Info

Publication number
KR20220060966A
KR20220060966A KR1020210007417A KR20210007417A KR20220060966A KR 20220060966 A KR20220060966 A KR 20220060966A KR 1020210007417 A KR1020210007417 A KR 1020210007417A KR 20210007417 A KR20210007417 A KR 20210007417A KR 20220060966 A KR20220060966 A KR 20220060966A
Authority
KR
South Korea
Prior art keywords
sensor
image
calibration
independent
color conversion
Prior art date
Application number
KR1020210007417A
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 삼성전자주식회사
Publication of KR20220060966A publication Critical patent/KR20220060966A/ko

Links

Images

Classifications

    • H04N9/735
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/88Camera processing pipelines; Components thereof for processing colour signals for colour balance, e.g. white-balance circuits or colour temperature control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/92Dynamic range modification of images or parts thereof based on global image properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/646Circuits for processing colour signals for image enhancement, e.g. vertical detail restoration, cross-colour elimination, contour correction, chrominance trapping filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Spectrometry And Color Measurement (AREA)
  • Color Television Image Signal Generators (AREA)
  • Image Processing (AREA)

Abstract

학습-기반 컬러 보정(예를 들어, 자동 화이트 밸런스(AWB)) 절차들은 사전-처리 절차를 사용하여 다른 센서들로부터의 데이터 세트들에 기초하여 훈련될 수 있다. 각 입력 픽셀은 센서-특정 컬러 변환 함수(예를 들어, 3x3 행렬)에 의한 곱셈을 통해 센서-독립 표현으로 변환될 수 있다. 센서-특정 컬러 변환 함수(예를 들어, 3x3 행렬)은 센서 타입에 기초하여 얻어질 수 있다. 예를 들어, 3x3 행렬과 같은, 센서-특정 컬러 변환 함수는 표준 광원에 따라 컬러 체커 차트의 실험실 이미지들을 사용하여 수행된 대응하는 센서 캘리브레이션 절차에 의해 얻어질 수 있다. 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화될 수 있다. 예를 들어, 컬러 변환에 대한 센서-특정 3x3 행렬은 캘리브레이션 데이터(예를 들어, 캘리브레이션 구성들) 및 센서-독립 타겟들(예를 들어, 각 캘리브레이션 구성에 대한 타겟 센서-독립 표현) 사이에서 색도 공간에서의 거리를 사용하여 최적화될 수 있다.

Description

센서를 통한 자동 화이트 밸런스를 위한 데이터 사전-처리{DATA PRE-PROCESSING FOR CROSS SENSOR AUTOMATIC WHITE BALANCE}
본 개시는 일반적으로 이미지 처리에 관한 것으로, 보다 상세하게는, 자동 화이트 밸런스(AWB; automatic white balancing)에 관한 것이다.
정지(still) 이미지 카메라들, 이동(moving) 이미지 카메라들 또는 카메라들을 포함하는 다른 전자 장치들을 포함할 수 있는, 이미지 캡처 장치들의 사용은 카메라 기술의 발전에 따라 최근 몇 년 동안 급격하게 증가했다. 예를 들어, 휴대폰, 스마트 폰, 휴대용 컴퓨터, 태블릿 컴퓨터, 및 다른 유사한 전자 장치들과 같은, 이동 통신 단말기들은 통상적으로 디지털 카메라를 포함할 수 있다. 추가적으로, 카메라 기술의 이러한 발전 때문에 고품질 및 저비용 카메라들이 소비자들 및 카메라 사용자들에게 제공된다.
디지털 카메라는 사용자가 설정 그룹을 선택하거나 조정할 수 있게 한다. 예를 들어, 사용자는 실외, 실내, 햇살, 클로즈-업, 촛불, 야간, 및 다른 유사한 장면 타입 설명들과 같은, 장면 타입 설명 또는 이미지 캡처 모드를 선택할 수 있다. 설정 그룹 중에서, AWB는 컬러 온도를 결정하고 그리고/또는 조정하는데 사용될 수 있고, 흰색과 같은, 중성 컬러(neutral color)의 온도를 결정하는데 사용될 수 있다. 흰색의 컬러 온도를 결정하고 조정함으로써, 캡처된 이미지의 컬러 구성을 조정하기 위해 나머지 컬러들의 컬러 온도들 또한 조정된다.
그러나, 센서에 의해 캡처된 로우(raw) 이미지로부터 우세한 조명(조도)(dominant illumination)의 컬러를 추정하는 것은 어려울 수 있다. 또한, 다른 알고리즘들 및 방법들은 장면, 조명, 등에 기초하여 다른 성능과 연관될 수 있다.
본 개시의 목적은 센서 타입에 따라 자동 화이트 밸런스를 수행하는 이미지 처리 방법 및 장치를 제공하는데 있다.
이미지 처리를 위한 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체(non-transitory computer readable medium), 및 시스템이 설명된다. 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 실시 예들은, 이미지에 대한, 센서 타입을 포함하는 이미지 데이터를 식별하고, 상기 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 상기 이미지의 센서-독립 표현을 생성하고, 여기서 상기 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화됨, 그리고 상기 센서-독립 표현에 기초하여 상기 이미지에 대한 센서-독립 조도 추정을 생성하도록 구성된다.
이미지 처리를 위한 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체(non-transitory computer readable medium), 및 시스템이 설명된다. 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 실시 예들은, 색도 공간에서 최적화함으로써 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 결정하고, 상기 복수의 캘리브레이션 구성들의 각각에 대한 상기 타겟 센서-독립 표현에 기초하여 상기 색도 공간에서 최적화함으로써 복수의 센서 타입들의 각각에 대한 센서-특정 컬러 변환 함수를 결정하고, 그리고 대응하는 센서-특정 컬러 변환 함수에 기초하여 상기 복수의 센서 타입들 중 센서 타입으로 캡처된 이미지에 대해 화이트 밸런스를 수행하도록 구성된다.
이미지 처리를 위한 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체(non-transitory computer readable medium), 및 시스템이 설명된다. 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 실시 예들은, 이미지 데이터를 캡처하도록 구성되고, 센서 타입에 대응하는 스펙트럼 감도를 갖는 센서, 상기 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 상기 이미지의 센서-독립 표현을 생성하도록 구성된 사전-처리 구성 요소, 상기 센서-독립 표현에 기초하여 센서-독립 조도 추정을 생성하도록 구성된 조도 추정 구성 요소, 및 상기 센서-특정 컬러 변환 함수의 역수를 사용하여 상기 센서-독립 조도 추정에 기초하여 센서-특정 조도 추정을 생성하도록 구성된 사후-처리 구성 요소를 포함하고, 상기 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화된다.
본 개시의 실시 예에 따르면, 센서 타입에 따라 자동 화이트 밸런스를 수행하는 이미지 처리 방법 및 장치를 제공된다.
도 1은 본 개시의 양상들에 따른 컬러 보정을 위한 시스템의 예시를 도시한다.
도 2는 본 개시의 양상들에 따른 컬러 보정 프로세스의 예시를 도시한다.
도 3은 본 개시의 양상들에 따른 캘리브레이션(calibration) 프로세스의 예시를 도시한다.
도 4 및 도 5는 본 개시의 양상들에 따른 최적화 프로세스의 예시들을 도시한다.
도 6 내지 도 9는 본 개시의 양상들에 따른 이미지 처리를 위한 프로세스의 예시들을 도시한다.
컬러 항상성(color constancy) 및 자동 화이트 밸런스(AWB; automatic white balance)는 컬러들의 렌더링(rendering)을 보정하는데 사용되는 디지털 사진술(digital photography)에서의 방법들이다. 화이트 밸런스(또는 컬러 밸런스)는 이미지에서의 다양한 컬러들(전형적으로 레드, 그린, 및 블루 주요(primary) 컬러들)의 강도의 조정을 지칭할 수 있다. 이것은 컬러들의 감지가 평균 관찰자에게 더 정확하게 보이도록 할 수 있다. 많은 경우들에서, 화이트 객체들이 화이트로 보이도록 컬러들이 밸런스될 것이다. 예를 들어, 이것은 화이트 또는 그레이(gray) 객체를 묘사하는 픽셀들의 레드-그린-블루(RGB; red-green-blue) 값들을 조정함으로써 이러한 값들이 동일해지는 것을 의미할 수 있다. 따라서, 컬러 밸런스 방법들은 그레이 밸런스, 중립 밸런스, 또는 화이트 밸런스로 불릴 수 있다. 카메라에 의해 캡처된 컬러는 표면 반사율 및 표면을 비추는 빛의 스펙트럼에 영향을 받는다.
화이트 밸런스(또는 컬러 밸런스)는 이미지에서의 다양한 컬러들(전형적으로, 레드, 그린, 및 블루 주요 컬러들)의 강도의 조정을 지칭할 수 있다. 이것은 컬러들의 감지가 평균 관찰자에게 더 정확하게 보이도록 할 수 있다. 많은 경우들에서, 화이트 객체들이 화이트로 보이도록 컬러들이 밸런스될 것이다. 예를 들어, 이것은 화이트 또는 그레이 객체를 묘사하는 픽셀들의 RGB 값들을 조정함으로써 이러한 값들이 동일해지는 것을 의미할 수 있다. 따라서, 컬러 밸런스 방법들은 그레이 밸런스, 중립 밸런스, 또는 화이트 밸런스로 불릴 수 있다.
AWB 동작을 수행하기 위해, 조명(조도) 추정, 베이지안(Bayesian) 방법, 레티넥스(Retinex) 모델, 본 크리스(Von Kries) 방법, 그레이 월드(Grey World) 추정(가정) 방법 또는 다른 유사한 알고리즘들 및 방법들과 같은, 다양한 알고리즘들 및 방법들이 카메라들에 의해 사용될 수 있다. AWB 동작은 센서 데이터에 대응하는 통계 또는 데이터 및 가정들에 따라 컬러 온도들을 추정하거나 결정한다. 예를 들어, 그레이 월드 추정 방법은 각 센서 채널의 컬러는 전체 이미지에서 평균적으로 그레이라고 가정하고 가정에 따라 화이트의 컬러를 조정한다. 일부 경우들에서, 단순화된 이미지 형성 모델은 컬러 채널 당 요인(인자, factor)에 의한 강도의 스케일링으로 조명의 효과를 근사(approximate)할 수 있다.
따라서, 필름 또는 전자 이미지 센서들 중 하나인, 센서들에 의해 획득된 이미지 데이터는 획득된 값들로부터 컬러 재현 또는 표시(display)에 적합한 새로운 값들로 변환될 수 있다. 획득 및 표시 프로세스의 여러 측면들에서 이러한 컬러 보정은 바람직하다(예를 들어, 획득 센서들이 사람 눈의 센서들과 일치하지 않는 것, 디스플레이 매체의 속성들이 고려될 수 있는 것, 그리고 획득의 주변(ambient) 보기(viewing) 조건들이 디스플레이 보기 조건들과 다른 것을 포함).
학습-기반 방법들 및 그레이 월드 알고리즘들과 같은 통계적 방법들은 센서에 의해 캡처된 로우 이미지로부터 우세한 조명(조도, illumination)의 컬러를 추정할 수 있다. 학습-기반 방법들은 학술 데이터 세트들에 대한 결과들을 제공한다. 그러나, 표준 지도 학습 설정(standard supervised learning setting)은 훈련 및 시험 예시들이 하나의 센서로부터 나온다고 가정한다. 알고리즘들은 각 추론 센서에 대해 크고 다양한 훈련 세트들을 수집하므로 그 가정은 이러한 알고리즘들의 적용 가능성을 제한한다. 이 프로세스는 비싸고 시간-소모적일 수 있다. 추가적으로 또는 대안적으로, 알고리즘은 각 센서에 대해 수집된 데이터의 품질 및 훈련 절차의 성공적인 재생산에 기초할 수 있다. 특정 애플리케이션들에서, 표준 지도 학습 설정은 비실용적일 수 있고, RCCG(Red-Clear-Clear-Green), RCCB(Red-Clear-Clear-Blue), 등과 같은, 이국적인(색다른, exotic) 컬러 필터 어레이(CFA; color filter array) 타입들이 사용될 수 있고, 각 센서에 대한 특정 솔루션을 제공한다.
본 개시는 일반적으로 컴퓨터적인 사진술(computational photography), 컴퓨터 비전, 및 이미지 처리에 관한 것이다. 구체적으로, 본 개시의 실시 예들은 광범위한 센서 타입들에 대해 센서-특정(sensor-specific) AWB 알고리즘들을 적용하는 기능을 제공하기 위해 다른 카메라 센서들로부터 기원한 로우 이미지 데이터를 사전-처리(pre-processing)하는 방법에 관한 것이다. 예를 들어, 본 명세서에서 설명된 기법들은 학습-기반 컬러 보정 방법들을 훈련시키기 위해 다양한 센서들로부터의 데이터(예를 들어, 이미지 데이터)를 사용할 수 있고, 훈련 세트에 존재하지 않는(예를 들어, 재훈련 없이) 센서들에 대해(예를 들어, 센서들의 타입들에 대해) 추론을 수행하는 방법을 제공할 수 있다. 통상적으로 사용되는 단순화된 이미지 형성 모델은 컬러 채널 당 요인에 의한 강도의 스케일링으로 조명의 효과를 근사한다. 센서에 의해 캡처된 로우 이미지로부터 우세한 조명의 컬러를 추정하는 것은 어려울 수 있다. 본 개시의 실시 예들은 밝은 컬러(light color)의 영향을 제거한다.
본 명세서에서 설명된 기법들에 따르면, 단일-센서 컬러 항상성 알고리즘들은 훈련 세트(training set)에 존재할 수 있거나 존재하지 않을 수 있는 센서들(예를 들어, 훈련 세트의 입력 이미지들을 캡처하는데 사용될 수 있거나 사용되지 않을 수 있는 센서들)에 적용될 수 있다. 예를 들어, 학습-기반 컬러 보정(예를 들어, AWB) 접근법은 사전-처리 절차를 사용하여 다른 센서들로부터의 데이터 세트들에 기초하여 훈련될 수 있다. 각 입력 픽셀은 센서-특정 컬러 변환 함수(sensor-specific color conversion function)(예를 들어, 3x3 행렬)에 의한 곱을 통해 센서-독립 표현(sensor-independent representation)으로 변환될 수 있다. 센서-특정 컬러 변환 함수(예를 들어, 3x3 행렬)는 센서 타입에 기초하여 얻어질 수 있다. 예를 들어, 3x3 행렬과 같은, 센서-특정 컬러 변환 함수는 표준 광원(standard illuminant)에 따라 컬러 체커 차트(color checker chart)의 실험실 이미지(laboratory image)들을 사용하여 수행된 대응하는 센서 캘리브레이션(calibration, 교정) 절차에 의해 얻어질 수 있다. 이러한 데이터는 센서 캘리브레이션 프로세스의 일부로서 수집될 수 있다. 따라서, 센서-특정 컬러 변환 함수는 오프라인(offline)(예를 들어, 센서 당 한 번)으로 결정될 수 있다. 컬러 항상성 알고리즘은 색도 입력(chromaticity input)을 수신할 수 있다. 픽셀의 광도(luminosity)는 폐기(discard)될 수 있고, 3개의 컬러 채널들 대신에 2개의 색도 채널들이 사용될 수 있다. 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화될 수 있다. 예를 들어, 컬러 변환에 대한 센서-특정 3x3 행렬은 캘리브레이션 데이터(예를 들어, 캘리브레이션 구성들(calibration configurations)) 및 센서-독립 타겟들(예를 들어, 각 캘리브레이션 구성에 대한 타겟 센서-독립 표현) 사이에서 색도 공간에서의 거리를 사용하여 최적화될 수 있다. 본 개시는 또한 센서들의 캘리브레이션 데이터에 기초하여 이러한 센서-독립 타겟을 얻기 위한 프로세스를 설명한다.
도 1은 본 개시의 양상들에 따른 컬러 보정을 위한 시스템의 예시를 도시한다. 도시된 예시는 센서(100), 사전-처리(pre-processing) 구성 요소(105), 조도 추정 구성 요소(illuminance estimation component)(110), 사후-처리(post-processing) 구성 요소(115), 컬러 보정 구성 요소(120), 캘리브레이션 구성 요소(125), 훈련 구성 요소(130), 디스플레이(135), 프로세서(140), 및 메모리(145)를 포함한다. 일부 예들에서, 도 1의 예시적인 시스템의 하나 이상의 양상들은 카메라, 모바일 전자 장치, 차량, 등과 같은 장치의 일부일 수 있다. 예를 들어, 시스템은 자동차를 위해 지정된 시스템-온-칩(SoC; system on chip)의 이미지 신호 프로세서(ISP; image signal processor) 구성 요소로 구현될 수 있다. 더욱이, 일부 예들에서, 도 1의 예시적인 시스템의 하나 이상의 양상들은 개인용 컴퓨터(PC; personal computer), 노트북 컴퓨터(laptop computer), 메인 프레임 컴퓨터, 팜탑 컴퓨터(palmtop computer), 개인 비서(personal assistant), 모바일 장치, 또는 임의의 다른 적절한 처리 장치와 같은 장치의 일부일 수 있다. 그러나, 본 개시는 이러한 장치들이나 이러한 시스템 구성들로 제한되지 않는다. 예를 들어, 일부 경우들에서, 이미지 데이터는 원격 센서들로부터 수신될 수 있고 클라우드에서 처리될 수 있다.
컬러 보정을 위한 시스템은 (예를 들어, 센서(100)를 통해) 이미지 캡처 프로세스에서 광 데이터를 수집할 수 있고, 광 데이터는 장면에서 다양한 객체들의 표면들로부터 반사되고 굴절된다. 예를 들어, 객체들은 건물, 자동차, 사람, 동물, 및 이와 유사한 것과 같은 구조적, 자연적, 또는 인공적 객체들일 수 있다. 추가적으로, 객체들은 하늘, 잔디, 및 바다와 같은 무정형 소재(amorphous subject)일 수 있지만, 본 개시는 이러한 예시들로 제한되지 않는다.
이미지에서 캡처된 객체들의 겉보기(apparent) 컬러는 객체의 원래 컬러들 및 장면의 조명 조건들에 의존할 수 있다. 즉, 객체들의 빛 흡수 및 방출 스펙트럼은 조명 조건들 및 인간 시각 시스템의 구조와 함께 지각(감지)된 컬러를 결정할 수 있다. 예를 들어, 일광 조명 조건들에서 장면의 이미지는 일몰 또는 새벽 동안 같은 장면에 비해 다르게 나타날 수 있다. 광원의 온도의 차이는 이러한 다름을 유발한다. 낮에는 더 차가운 컬러 온도가 보일 수 있고, 일몰 동안 더 따뜻한 컬러 온도가 보일 수 있다.
광원의 컬러 온도는 해당 컬러의 빛을 발산하는 이상적인 흑체 방사체(black-body radiator)의 온도를 지칭한다. 즉, 컬러 온도는 특정 흑체의 복사(radiation)에 가깝게 대응하는 광원들에 대해 의미가 있다. 여기에는 레드에서 오렌지로, 옐로우로, 화이트로, 블루 화이트로의 범위에서의 광이 포함될 수 있다. 컬러 온도는 그린 또는 퍼플 광에 적용되지 않을 수 있다. 컬러 온도는 일반적으로, 절대 온도의 측정 단위인, 기호 K를 사용하는, 켈빈(kelvin)으로 표현된다. 예를 들어, 5000K를 넘는 컬러 온도들은 종종 “차가운 컬러” (파란색(bluish))으로 지칭되지만, 낮은 컬러 온도들(2700-3000K)는 “따뜻한 컬러” (노란색(yellowish))으로 지칭될 수 있다.
본 명세서에서 보다 상세하게 설명된 바와 같이, 본 개시는 다중-센서 시나리오에서 단일-센서 컬러 항상성 알고리즘을 사용하는 프로세스를 제공한다. 본 개시의 실시 예들은 훈련을 위해 다중 센서들로부터 데이터를 사용하는 프로세스를 제공하고 재훈련 없이 훈련 세트에 존재하지 않는 센서들에 대한 추론을 수행하는 프로세스를 제공한다. 추가적으로 또는 대안적으로, 본 개시의 실시 예들은 사전-처리를 사용하여 낮은 계산 비용을 초래한다. 본 개시의 대응하는 캘리브레이션 절차는 얻을 수 있는 데이터를 사용하고, 그리고 컬러 항상성 알고리즘의 재-설계 및 재-구현은 수행되지 않을 수 있다.
프로세서(140)는 지능형 하드웨어 장치(예를 들어, 범용 처리 구성 요소, 디지털 신호 프로세서(DSP; digital signal processor), 중앙 처리 장치(CPU; central processing unit), 그래픽 처리 장치(GPU; graphics processing unit), 마이크로 컨트롤러, 주문형 반도체(ASIC; application specific integrated circuit), 필드 프로그래머블 게이트 어레이(FPGA; field programmable gate array), 프로그래머블 논리 장치, 이산(개별) 게이트나 트랜지스터 논리 구성 요소, 이산 하드웨어 구성 요소, 또는 이들의 임의의 조합)일 수 있다. 일부 경우들에서, 프로세서(140)는 메모리 컨트롤러를 사용하여 메모리 어레이를 동작시키도록 구성된다. 다른 경우들에서, 메모리 컨트롤러는 프로세서(140) 내에 통합된다. 일부 경우들에서, 프로세서(140)는 다양한 기능들을 수행하기 위해 메모리(145)에 저장된 컴퓨터-판독 가능 명령어들을 실행하도록 구성된다. 일부 실시 예들에서, 프로세서(140)는 모뎀 처리, 기저 대역 처리, 디지털 신호 처리, 또는 전송 처리를 위한 특수 목적 구성 요소들을 포함한다.
소프트웨어는 본 개시의 양상들을 구현하기 위한 코드를 포함할 수 있다. 소프트웨어는 시스템 메모리 또는 다른 메모리와 같은 비-일시적 컴퓨터-판독 가능 매체(non-transitory computer-readable medium)(예를 들어, 메모리(145))에 저장될 수 있다. 일부 경우들에서, 소프트웨어는 프로세서(140)에 의해 직접 실행되지 않을 수 있지만, 컴퓨터(예를 들어, 컴파일되고 실행될 때)가 본 명세서에서 설명된 기능들을 수행하게 할 수 있다.
지도 학습은, 비지도 학습 및 강화 학습과 함께, 3개의 기본 기계 학습 패러다임들 중 하나이다. 지도 학습은 예시 입력-출력 쌍들에 기초하여 입력을 출력에 매핑(mapping)하는 함수(function)를 학습하는 것에 기초한 머신 러닝 기법이다. 지도 학습은 훈련 예시들의 세트를 구성하는 레이블된(labeled) 훈련 데이터에 기초하여 레이블된 데이터를 예측하는 함수를 생성한다. 일부 경우들에서, 각 예시들은 입력 객체(전형적으로 벡터) 및 원하는 출력 값(즉, 단일 값, 또는 출력 벡터)을 구성하는 쌍이다. 지도 학습 알고리즘은 훈련 데이터를 분석하고 추론된 함수를 생성하고, 이는 새로운 예시들을 매핑하는데 사용될 수 있다. 일부 경우들에서, 학습은 보이지 않는 인스턴스(instance, 사례)들에 대한 클래스 레이블들을 올바르게 결정하는 함수를 도출한다. 다시 말해서, 학습 알고리즘은 훈련 데이터로부터 보이지 않는 예시들로 일반화한다.
메모리(145)의 예시들은 랜덤 액세스 메모리(RAM; random access memory), 읽기-전용 메모리(ROM; read-only memory), 또는 하드 디스크를 포함한다. 메모리(145)의 예시들은 솔리드 스테이트 메모리 및 하드 디스크 드라이브를 포함한다. 일부 예들에서, 메모리(145)는 명령어들을 포함하는 컴퓨터-판독 가능, 컴퓨터-실행 가능 소프트웨어를 저장하는데 사용되고, 명령어들은, 실행되면, 프로세서(140)가 본 명세서에서 설명된 다양한 기능들을 수행하게 한다. 일부 경우들에서, 메모리(145)는, 다른 것들 중에서, 주변(peripheral) 구성 요소들 또는 장치들과의 상호 작용과 같은 기본 하드웨어 또는 소프트웨어 동작을 제어하는 BIOS(basic input output system)를 포함한다. 일부 경우들에서, 메모리 컨트롤러는 메모리 셀들을 동작시킨다. 예를 들어, 메모리 컨트롤러는 행 디코더, 열 디코더, 또는 둘 다를 포함할 수 있다. 일부 경우들에서, 메모리(145) 내의 메모리 셀들은 논리 상태의 형태로 정보를 저장한다.
일부 실시 예들에 따르면, 센서(100)는 센서 타입에 대응하는 센서(100)를 사용하여 이미지를 캡처한다. 일부 실시 예들에 따르면, 센서(100)는 이미지 데이터를 캡처하도록 구성되고, 여기서 센서(100)는 센서 타입에 대응하는 스펙트럼 감도(spectral sensitivity)를 갖는다.
일부 실시 예들에 따르면, 사전-처리 구성 요소(105)는 이미지에 대한 이미지 데이터를 식별하고, 이미지 데이터는 센서 타입을 포함한다. 일부 예들에서, 사전-처리 구성 요소(105)는 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 이미지의 센서-독립 표현을 생성하고, 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화된다. 일부 예들에서, 사전-처리 구성 요소(105)는 센서(100)의 스펙트럼 감도를 결정한다. 일부 예들에서, 사전-처리 구성 요소(105)는 스펙트럼 감도에 기초하여 센서 타입을 결정한다. 일부 예들에서, 이미지 데이터는 3-채널 이미지 벡터를 포함하고, 그리고 센서-특정 컬러 변환 함수는 3x3 행렬을 포함한다. 일부 예들에서, 센서-특정 컬러 변환 함수를 최적화하는 프로세스는 센서 당 한 번 오프라인으로 수행된다(예를 들어, 센서+ISP의 캘리브레이션들을 수행하는 사용자의 PC에서 켈리브레이션 구성 요소(125)를 통해).
일부 실시 예들에 따르면, 사전-처리 구성 요소(105)는 3-채널 이미지 벡터를 포함하는 이미지 데이터를 식별하고, 센서-특정 컬러 변환 함수들의 각각은 3x3 행렬을 포함한다. 일부 예들에서, 사전-처리 구성 요소(105)는 이미지의 센서-독립 표현을 생성하기 위해 센서-특정 컬러 변환 함수를 사용하여 이미지에 대한 사전-처리를 수행한다. 일부 예들에서, 사전-처리 구성 요소(105)는 입력 이미지들의 세트의 입력 이미지에 대한 센서-독립 표현을 생성하기 위해 입력 센서 타입에 대한 센서-특정 컬러 변환 함수를 입력 이미지들의 각각에 적용한다. 일부 예들에서, 사전-처리 구성 요소(105)는 센서-독립 조도를 생성하기 위해 입력 센서 타입에 대한 센서-특정 컬러 변환 함수를 실측 조도(ground truth illuminance)에 적용한다. 일부 실시 예들에 따르면, 사전-처리 구성 요소(105)는 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 이미지의 센서-독립 표현을 생성하도록 구성된 사전-처리 구성 요소를 포함하고, 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화된다. 사전-처리 구성 요소(105)는 도 2 및 도 3을 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다.
일부 실시 예들에 따르면, 조도 추정 구성 요소(110)는 센서-독립 표현에 기초하여 이미지에 대한 센서-독립 조도 추정을 생성한다. 일부 실시 예들에 따르면, 조도 추정 구성 요소(110)는 이미지의 센서-독립 표현에 기초하여 센서-독립 조도 추정을 생성한다. 일부 예들에서, 조도 추정 구성 요소(110)는 입력 이미지에 대한 센서-독립 조도 추정을 생성하기 위해 조도 추정 모델을 적용한다. 일부 실시 예들에 따르면, 조도 추정 구성 요소(110)는 센서-독립 표현에 기초하여 센서-독립 조도 추정을 생성하도록 구성된다. 조도 추정 구성 요소(110)는 도 2 및 도 3을 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다.
일부 실시 예들에 따르면, 사후-처리 구성 요소(115)는 센서-특정 조도 추정을 생성하기 위해 센서-특정 컬러 변환 함수의 역수(inverse)를 센서-독립 조도 추정에 적용한다. 일부 실시 예들에 따르면, 사후-처리 구성 요소(115)는 센서-특정 컬러 변환 함수의 역수를 사용하여 센서-독립 조도 추정에 대한 사후-처리를 수행하고, 화이트 밸런스는 사후-처리에 기초하여 수행된다. 일부 실시 예들에 따르면, 사후-처리 구성 요소(115)는 센서-특정 컬러 변환 함수의 역수를 사용하여 센서-독립 조도 추정에 기초하여 센서-특정 조도 추정을 생성하도록 구성된다. 사후-처리 구성 요소(115)는 도 2를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다.
일부 실시 예들에 따르면, 컬러 보정 구성 요소(120)는 센서-특정 조도 추정에 기초하여 이미지에 대한 컬러 보정을 수행한다. 일부 예들에서, 컬러 보정 구성 요소(120)는 캘리브레이션 구성들의 세트의 각각에 대한 타겟 센서-독립 표현에 기초하여 센서 타입에 대한 센서-특정 컬러 변환 함수를 결정한다. 일부 실시 예들에 따르면, 컬러 보정 구성 요소(120)는 대응하는 센서-특정 컬러 변환 함수에 기초하여 센서 타입들의 세트 중에서 센서 타입으로 캡처된 이미지에 대한 화이트 밸런스를 수행한다. 일부 실시 예들에 따르면, 컬러 보정 구성 요소(120)는 센서-특정 조도 추정에 기초하여 이미지에 대한 컬러 보정을 수행하도록 구성된다.
일부 실시 예들에 따르면, 센서-특정 컬러 변환 함수는 (예를 들어, PC와 같은 다른 장치에 의해) 오프라인으로 결정될 수 있고 센서-특정 컬러 변환 함수는 컬러 보정 구성 요소(120)로 전달될 수 있다. 예를 들어, 캘리브레이션 구성 요소(125)는 색도 공간에서 최적화함으로써 센서-특정 컬러 변환 함수를 결정할 수 있다. 일부 예들에서, 캘리브레이션 구성 요소(125)는 센서 당 한 번 컬러 변환 함수를 결정할 수 있다(예를 들어, 캘리브레이션 구성 요소(125)는 각 센서 타입에 대해 한 번 센서-특정 컬러 변환 함수를 결정할 수 있다). 일부 경우들에서, 이 후, 컬러 보정 구성 요소(120)는 캘리브레이션 구성 요소(125)에 의해 결정된 센서-특정 컬러 변환 함수를 적용함으로써 타겟 센서-독립 표현을 결정할 수 있다.
일부 실시 예들에 따르면, 캘리브레이션 구성 요소(125)는 색도 공간에서 최적화함으로써 캘리브레이션 구성들의 세트의 각각에 대한 타겟 센서-독립 표현을 결정한다. 일부 예들에서, 캘리브레이션 구성 요소(125)는 캘리브레이션 구성들의 세트의 각각에 대한 타겟 센서-독립 표현에 기초하여 색도 공간에서 최적화함으로써 센서 타입들의 세트의 각각에 대한 센서-특정 컬러 변환 함수를 결정한다. 일부 예들에서, 캘리브레이션 구성 요소(125)는 구성 이미지(configuration image)들의 세트를 식별하고, 구성 이미지들의 세트의 각각은 센서 타입들의 세트 중에서 구성 센서 타입 및 캘리브레이션 구성들의 세트 중에서 캘리브레이션 구성을 포함한다.
일부 예들에서, 캘리브레이션 구성 요소(125)는 센서 타입들의 세트의 각각에 대한 리버스(역, reverse) 컬러 변환 함수 및 캘리브레이션 구성들의 세트의 각각에 대한 타겟 센서-독립 표현을 생성하기 위해 제1 스텝(first step) 및 제2 스텝(second step) 사이를 반복하고, 여기서 제1 스텝은 타겟 센서-독립 표현의 이전 반복 및 리버스 컬러 변환 함수와의 곱 및 캘리브레이션 이미지들의 세트의 각각 사이에서 색도 공간에서의 제1 거리를 최소화하기 위해 리버스 컬러 변환 함수를 최적화하고, 제1 거리는 모든 캘리브레이션 구성들에 걸쳐 집계(aggregate)되고 제1 스텝의 최적화는 센서 타입들의 세트의 각각에 대해 독립적으로 수행되고; 그리고 여기서 제2 스텝은 제1 스텝에서의 최적화된 리버스 컬러 변환 함수와 타겟 센서-독립 표현의 곱 및 캘리브레이션 이미지들의 세트의 각각 사이에서 색도 공간에서의 제2 거리를 최소화하기 위해 타겟 센서-독립 표현을 최적화하고, 제2 거리는 모든 복수의 센서 타입들에 걸쳐 집계되고 제2 스텝의 최적화는 캘리브레이션 구성들의 세트의 각각에 대해 독립적으로 수행된다.
일부 예들에서, 캘리브레이션 구성 요소(125)는 기준 조도(reference illuminance)에 기초하여 캘리브레이션 구성들의 세트의 각각에 대한 타겟 센서-독립 표현을 초기화한다. 일부 예들에서, 캘리브레이션 구성 요소(125)는 대응하는 센서 타입에 대응하는 캘리브레이션 이미지들의 세트와 컬러 변환 함수의 곱의 색도-공간 표현, 및 캘리브레이션 구성들의 세트의 각각의 색도 공간 표현에 대한 캘리브레이션 구성들의 세트 사이의 거리를 최소화하고, 캘리브레이션 구성들의 세트의 각각에 대한 타겟 센서-독립 표현은 최소화에 기초한다. 일부 예들에서, 캘리브레이션 구성들의 세트의 각각은 반사율 및 조도를 포함한다. 일부 예들에서, 캘리브레이션 구성들의 세트는 컬러 공간의 균일한 간격 커버링(evenly spaced covering)을 나타낸다. 일부 실시 예들에 따르면, 캘리브레이션 구성 요소(125)는 색도 공간에서 센서-특정 컬러 변환 함수의 파라미터들을 최적화하도록 구성된다.
일부 실시 예들에 따르면, 훈련 구성 요소(130)는 조도 추정 모델에 대한 훈련 데이터를 식별하고, 훈련 데이터는 입력 이미지들의 세트를 포함하고, 입력 이미지들의 각각은 입력 센서 타입 및 실측 조도와 연관된다. 일부 예들에서, 훈련 구성 요소(130)는 센서-독립 조도 추정과 센서-독립 조도를 비교한다. 일부 예들에서, 훈련 구성 요소(130)는 비교에 기초하여 조도 추정 모델을 업데이트하고, 화이트 밸런스는 조도 추정 모델에 기초하여 수행된다.
일부 실시 예들에 따르면, 디스플레이(135)는 컬러 보정에 기초하여 사용자에게 이미지의 화이트-밸런스 버전을 표시한다(예를 들어, 디스플레이(135)는 AWB를 사용한 이미지의 버전을 표시한다). 일부 실시 예들에 따르면, 디스플레이(135)는 컬러 보정에 기초하여 사용자에게 이미지를 표시하도록 구성된다.
도 2는 본 개시의 양상들에 따른 컬러 보정 프로세스의 예시를 도시한다. 도시된 예시는 사전-처리 구성 요소(200), 조도 추정 구성 요소(205), 사후-처리 구성 요소(210), 입력 이미지(215), 센서-독립 표현(220), 센서-독립 조도 추정(225), 및 센서-특정 조도 추정(230)을 포함한다. 예를 들어, 본 명세서에서 설명된 기법들에 따르면, 사전-처리 구성 요소(200), 조도 추정 구성 요소(205), 및 사후-처리 구성 요소(210)는 입력 이미지(215)(예를 들어, 입력
Figure pat00001
)를 처리하고 센서-특정 조도 추정(230)(예를 들어,
Figure pat00002
)을 계산할 수 있도록 컬러 보정 프로세스가 수행될 수 있다. 일부 경우들에서, 예를 들어, AWB를 위해, 센서-특정 조도 추정(230)(예를 들어,
Figure pat00003
)이 사용될 수 있다.
본 개시의 실시 예들은 3x3 행렬(예를 들어,
Figure pat00004
)을 포함하는 센서-특정 컬러 변환 함수를 사용할 수 있지만, 본 개시는 이러한 3x3 행렬에 제한되지 않으며, 본 개시의 기술적 사상을 벗어나지 않으면서 더 크거나 또는 더 작은 행렬들이 유추에 의해 사용될 수 있다. 센서-독립 공간으로의 변환은 센서-특정 공간에서의 각 픽셀에 행렬을 곱함으로써 수행될 수 있다. 원래 센서 공간은 RGB 공간으로 제한되지 않으며 RCCG 또는 RCCB와 같은 임의의 다른 3-채널 공간이 될 수 있다. 행렬은 캘리브레이션 데이터를 사용하여 각 센서에 대해 계산될 수 있다.
예를 들어, 입력 이미지(215)(예를 들어, 입력
Figure pat00005
)는 센서(
Figure pat00006
)로부터의 입력 이미지를 포함할 수 있다. 사전-처리 구성 요소(200)는 입력 이미지(215)에 센서-특정 컬러 변환 함수(
Figure pat00007
)(예를 들어,
Figure pat00008
는 입력 이미지(
Figure pat00009
)에 사용하는 센서(
Figure pat00010
)에 대해 특정된 컬러 변환 함수임)를 곱할 수 있다. 따라서, 입력 이미지(215)는 센서-독립 표현(220)(예를 들어,
Figure pat00011
)으로서 다른 컬러 공간으로 변환될 수 있다. 이 후, 조도 추정 구성 요소(205)는 센서-독립 표현(220)(
Figure pat00012
)으로부터 색도를 계산할 수 있다(예를 들어, 색도 계산은 단일-센서 화이트 밸런스 알고리즘의 일부일 수 있음). 이는 일부 센서-독립 조도 추정(225)(
Figure pat00013
)을 생성할 수 있다. 이 후, 사후-처리 구성 요소(210)는 센서-독립 조도 추정(225)(
Figure pat00014
)에 센서-특정 컬러 변환 함수의 역수(예를 들어,
Figure pat00015
)를 곱하여 센서의 원래 컬러 공간에서 추정된 광을 생성할 수 있다(예를 들어, 센서-특정 조도 추정(230)(
Figure pat00016
)을 생성).
사전-처리 구성 요소(200)는 도 1 및 도 3을 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 조도 추정 구성 요소(205)는 도 1 및 도 3을 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 사후-처리 구성 요소(210)는 도 1을 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 입력 이미지(215)는 도 3을 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 센서-독립 표현(220)은 도 3을 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 센서-독립 조도 추정(225)은 도 3을 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다.
도 3은 본 개시의 양상들에 따른 훈련 프로세스(예를 들어, 기초 단일-센서(underlying single-sensor) AWB 알고리즘의 훈련을 위한 프로세스)의 예시를 도시한다. 도시된 예시는 사전-처리 구성 요소(300), 조도 추정 구성 요소(305), 단일-센서 최적화 구성 요소(310), 사전-처리 구성 요소(315), 입력 이미지(320), 센서-독립 표현(325), 센서-독립 조도 추정(330), 실측 조도(335), 및 센서-독립 조도(340)를 포함한다.
예를 들어(예를 들어, 지도 훈련 설정에서), 알고리즘들의 파라미터들은 입력 이미지(320)들 및 실측 광원(예를 들어, 실측 조도(335))의 쌍들로 훈련될 수 있다. 추론 시간에서, 원래 단일-센서 알고리즘(예를 들어, 조도 추정 구성 요소(305))은, RGB 입력 이미지가 제공되면, RGB 컬러로서 조도 추정(예를 들어, 센서-독립 조도 추정(330)(
Figure pat00017
))을 생성한다. RGB 입력 이미지는 첫 번째 단계에서 색도로 변환된다. 센서(
Figure pat00018
)로부터의 각 샘플의 훈련 동안 입력 사진(
Figure pat00019
)은 센서-독립 표현(325)(
Figure pat00020
)을 얻기 위해 변환된다. 추가적으로 또는 대안적으로, 제공된 실측 조도(335)(
Figure pat00021
)는 센서-독립 조도(340)(
Figure pat00022
)을 얻기 위해 변환될 수 있다. 그러므로, 훈련 데이터는 센서-독립 공간으로 변환된 데이터와 함께, 다수의 센서들로부터 수집될 수 있다(예를 들어, 각각,
Figure pat00023
Figure pat00024
로 변환될 수 있고
Figure pat00025
Figure pat00026
로 변환될 수 있음). 추론 시간에서, 입력은 동일한 방식으로 변환될 수 있고, 이 후, 출력 센서-독립 조도 추정(330)(
Figure pat00027
)은 (예를 들어, 본 명세서에서, 예를 들어, 도 2를 참조하여 보다 상세하게 설명된 바와 같이) 역행렬을 사용하여 센서-특정 공간(
Figure pat00028
)에서의 광원으로 변환될 수 있다. 예를 들어, 사전-처리 구성 요소(300)는 예시적인 수학식 1의 양상들을 수행할 수 있고, 사전-처리 구성 요소(315)는 예시적인 수학식 2의 양상들을 수행할 수 있고, 그리고 사후-처리 구성 요소(210)는 예시적인 수학식 3의 양상들을 수행할 수 있으며, 여기서 수학식 1, 수학식 2, 및 수학식 3은 다음과 같다.
Figure pat00029
Figure pat00030
Figure pat00031
사전-처리 구성 요소(300) 및 사전-처리 구성 요소(315)는 도 1 및 도 2를 참조하여 설명된 대응하는 요소의, 예시들이거나, 또는 이의 양상들을 포함한다. 조도 추정 구성 요소(305)는 도 1 및 도 2를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 입력 이미지(320)는 도 2를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 센서-독립 표현(325)은 도 2를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 센서-독립 조도 추정(330)은 도 2를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다.
도 4는 본 개시의 양상들에 따른 최적화 프로세스의 예시를 도시한다. 도시된 예시는 센서-특정 컬러 변환 함수(400), 캘리브레이션 이미지(405), 타겟 센서-독립 표현(410), 및 색도 함수(415)를 포함한다.
캘리브레이션 프로세스에서, 본 개시의 실시 예들은 주어진 센서에 기초하여 다른 광원들 하에서 다른 반사율들을 제공하기 위해 데이터를 수집한다. 이 후, 데이터는 행렬을 최적화하기 위해 기준 타겟과 비교될 수 있다. 통제된 실험실 환경에서 여러 표준 광원들(즉, 미리 결정된 스펙트럼을 갖는 광원들) 하에서 컬러 체커 차트의 사진들을 촬영한다(예를 들어, 맥베스 컬러 체커(Macbeth Color Checker)는 미리 결정된 반사율들이 있는 24개의 패치들을 포함한다). 절차는 표준 센서 캘리브레이션 또는 컬러 정확도 테스트의 일부로서 수행될 수 있고 컬러 항상성 데이터 세트들의 작성자들에 의해 수행될 수 있다. 예를 들어, 데이터 세트(예를 들어, NUS(National University of Singapore) 데이터 세트)는, 최적화를 위해 144개의 RGB 포인트들을 사용하여, 6개의 광원들 하에서 24개의 패치들의 캘리브레이션 사진들을 제공할 수 있다.
예를 들어, 캘리브레이션 프로세스는, 8개의 센서들의 각각으로, 6개의 광원들 하에서 24개의 반사율들(패치들)이 있는 차트의 이미지들을 캡처하는 것을 포함할 수 있다. 이러한 이미지들의 각각은 많은 픽셀들을 포함할 수 있다. 그러나, 개별 픽셀들을 사용하는 대신, 각 패치의 컬러는 회수(retrieve)될 수 있다. 이 후, 각 패치의 회수된 컬러는 다른 센서들 사이에서 비교될 수 있다(예를 들어, 센서들에 걸친 픽셀들이 다른 해상도, 왜곡, 등을 가질 수 있으므로). 제1 스텝에서, 최적화는 (예를 들어, 8개의 센서들 중에서) 각 센서에 대해 독립적으로 수행될 수 있고, 모든 반사-광원(reflectance-illuminant) 조합들(예를 들어, 24 * 6개)에 대해 집계할 수 있다. 제2 스텝에서, 최적화는 각 반사-광원 조합들(예를 들어, 24 * 6개)에 대해 독립적으로 수행될 수 있고, 모든 센서들(예를 들어, 8개)에 대해 집계할 수 있다.
그러나, 본 명세서에서 설명된 기법들은 특정 광원들로 제한되지 않는다. 예를 들어, 본 개시는 컬러 온도들의 범위에 걸쳐 균일하게 이격될 수 있고 관련 조명 컬러들(illumination colors)의 공간을 커버링할 수 있는 광원들을 구현할 수 있다.
많은 컬러 항상성 알고리즘들은 (예를 들어, RG-색도(RG-chromaticity) 공간, 로그-채도(log-chroma) 공간, 또는 이와 유사한 것으로 변환하는 것과 같은) 입력의 일부 사전-처리를 수행한다. 그러므로, 센서-독립 표현은 적절한 공간에서 관련 결과들을 제공할 수 있다. 전술된 공간들은 광도(luminosity)를 폐기할 수 있다. 그러므로, 공간들은 데이터 수집에 사용되는 광원들의 밝기(명도, brightness)를 조정하지 못할 수 있다.
센서(
Figure pat00032
)의 캘리브레이션 데이터(예를 들어, 캘리브레이션 이미지들(405)
Figure pat00033
)는
Figure pat00034
로 표기될 수 있고 센서 독립 타겟(예를 들어, 타겟 센서-독립 표현(410))은
Figure pat00035
로 표기될 수 있다. 둘 다 N개의 패치들의 각각에 대해 RGB 값으로 제공되고, 여기서 N은 캘리브레이션 광원들의 수에 반사율들(즉, 차트에서의 패치들)의 수를 곱한 것이다. 색도 함수(415)는
Figure pat00036
로 표기될 수 있다. 데이터의 각 패치(즉, 열-단위(column-wise))에 적용되는 함수에 대해 동일한 색도 표기법이 사용될 수 있다.
센서 행렬(
Figure pat00037
)은 최적화를 위해 결정될 수 있고 사용될 수 있다. 최적화를 위해, 본 개시의 실시 예들은 광원들 및 패치들에 걸쳐 센서-독립 공간의 채도(chroma)에서의 거리를 사용할 수 있다(예를 들어, 제곱 오차들의 합이 사용될 수 있음). 상수로 RGB 값들을 스케일링하는 것은 색도에 영향을 미치지 않을 수 있다. 그러므로, M의 스케일은, 선형 제약(linear constraint)(예를 들어, M의 요소들의 합 또는 M의 자취(trace))을 추가함으로써, 여유 자유도(redundant degree of freedom)로서, 임의적일 수 있고 제거될 수 있다. 추가적으로 또는 대안적으로, 색도는 행렬 곱셈의 음수 값들에 대해 정의되지 않을 수 있다. 이 경우, 거리는 음수 값에 대한 패널티로 대체될 수 있다. 결과 최적화 공식은 선형이 아닐 수 있다. 최적화 공식은 반복적인 방법을 사용하여 수치적으로 해결될 수 있다. 최적화 이전 행렬의 초기화는, 예를 들어, RGB 공간에서의 최소-제곱 해(least-squares solution)일 수 있다.
제곱 오차의 합을 거리로 그리고 요소들의 합을 제약으로 하는 최적화의 예시는 수학식 4에서 보여진다.
Figure pat00038
캘리브레이션 이미지(405)는 도 5를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 타겟 센서-독립 표현(410)은 도 5를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 색도 함수(415)는 도 5를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다.
도 5는 본 개시의 양상들에 따른 최적화 프로세스의 예시를 도시한다. 도시된 예시는 리버스 컬러 변환 함수(500), 타겟 센서-독립 표현(505), 캘리브레이션 이미지(510), 및 색도 함수(515)를 포함한다.
최적화는 관련 광원(T) 하에서 컬러 체커 패치들의 타겟 표현(예를 들어, 타겟 센서-독립 표현(505))을 사용한다. 다수의 훈련 센서들이 있는 경우, 본 개시의 실시 예들은 역변환(예를 들어, 센서-독립으로부터 센서-특정 공간으로)의 오차를 최소화하기 위해 타겟을 검색한다. 추가적으로 또는 대안적으로, 타겟 센서-독립 표현(505)(T) 및 역변환 행렬들(예를 들어, 리버스 컬러 변환 함수(500)들
Figure pat00039
)는 각 센서(
Figure pat00040
)에 대해 최적화될 수 있다. 센서 특정 공간의 채도(chroma)에서 제곱 오차들의 합은 최소화된다. 본 개시의 실시 예들은 센서-독립 공간에서 센서들에 대한 오차가 낮은 타겟이 사용되는 경우, 센서 데이터에 가까운 결과들을 위해 센서-독립 표현으로부터의 변환을 사용할 수 있고, 이는 퇴화 타겟 및 행렬들(a degenerated target and matrices)로 이어진다(예를 들어, 컬러들을 그레이로 변환시킴). 추가적으로 또는 대안적으로, 발견된 타겟 RGB 값들은 제로에서 여백이 있는 양수일 수 있다. 타겟의 광도(luminosity)는 제한될 수 있고 색도(chromaticity)를 위해 사용되지 않을 수 있다.
타겟 센서-독립 표현(505)(T)은 캘리브레이션 데이터(예를 들어, 캘리브레이션 이미지(510)
Figure pat00041
)에서 사용된 다른 광원들을 위해 하나의 표준 광원(예를 들어, D65) 하에서 반사율들의 기준 컬러들로 초기화될 수 있다. 행렬들(예를 들어, 리버스 컬러 변환 함수(500)
Figure pat00042
)은 RGB 최소-제곱 해들로 초기화될 수 있다. 이 후, 행렬들(예를 들어, 리버스 컬러 변환 함수(500)
Figure pat00043
) 및 타겟 센서-독립 표현(505)(T)은 교대 순서로 반복될 수 있다. 이 후, 행렬들(예를 들어, 리버스 컬러 변환 함수(500)
Figure pat00044
) 및 타겟 센서-독립 표현(505)(T)은 반복에 기초하여 최적화된다. 리버스 컬러 변환 함수(500) 최적화 스텝(단계) 동안, 리버스 컬러 변환 함수(500)는 패치들 및 광원들을 사용하여, 각 센서(
Figure pat00045
)에 대해 개별적으로 최적화된다. 타겟 최적화(예를 들어, 타겟 센서-독립 표현(505)의 최적화) 동안, 리버스 컬러 변환 함수(500) 및 동일한 패치의 센서-당(per-sensor) 값들을 사용하여, RGB 값은 각 패치 및 광원에 대해 개별적으로 최적화된다. 수학식 5 및 수학식 6은 교대 예시 최적화 수학식들을 보여준다.
Figure pat00046
Figure pat00047
여기서, i는 반복 인덱스를 표기하고, k는 센서 인덱스이고, 그리고 j는 캘리브레이션 데이터 및 타겟에서의 패치 및 광원의 인덱스이다. 타겟 센서-독립 표현(505)(T)을 얻은 후에, 순방향(forward) 변환 행렬들이 찾아질 수 있다. 추가적으로, 훈련 센서들에 대해, 역변환 행렬의 역수가 초기화로 사용될 수 있다.
타겟 센서-독립 표현(505)은 도 4를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 캘리브레이션 이미지(510)는 도 4를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다. 색도 함수(515)는 도 4를 참조하여 설명된 대응하는 요소의, 예시이거나, 또는 이의 양상들을 포함한다.
도 6은 본 개시의 양상들에 따른 이미지 처리를 위한 프로세스의 예시를 도시한다. 일부 예들에서, 이러한 동작들은 장치의 기능적 요소들을 제어하기 위한 코드들의 세트를 실행하는 프로세서를 포함하는 시스템에 의해 수행된다. 추가적으로 또는 대안적으로, 특정 프로세스들은 특수-목적 하드웨어를 사용하여 수행된다. 일반적으로, 이러한 동작들은 본 개시의 양상들에 따라 설명된 방법들 및 프로세스들에 따라 수행된다. 일부 경우들에서, 본 명세서에서 설명된 동작들은 다양한 하위 단계들로 구성되거나, 또는 다른 동작들과 함께 수행된다.
동작 600에서, 시스템은 이미지에 대한 이미지 데이터를 식별하고, 이미지 데이터는 센서 타입을 포함한다. 일부 경우들에서, 이러한 단계의 동작들은 도 1 내지 도 3을 참조하여 설명된 사전-처리 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
동작 605에서, 시스템은 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 이미지의 센서-독립 표현을 생성하고, 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화된다. 예를 들어, 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간 오프라인에서(예를 들어, 동작 600 이전의 동작에서) 최적화될 수 있다. 일부 경우들에서, 이러한 단계의 동작들은 도 1 내지 도 3을 참조하여 설명된 사전-처리 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
동작 610에서, 시스템은 센서-독립 표현에 기초하여 이미지에 대한 센서-독립 조도 추정을 생성한다. 일부 경우들에서, 이러한 단계의 동작들은 도 1 내지 도 3을 참조하여 설명된 조도 추정 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
도 7은 본 개시의 양상들에 따른 이미지 처리를 위한 프로세스의 예시를 도시한다. 일부 예들에서, 이러한 동작들은 장치의 기능적 요소들을 제어하기 위한 코드들의 세트를 실행하는 프로세서를 포함하는 시스템에 의해 수행된다. 추가적으로 또는 대안적으로, 특정 프로세스들은 특수-목적 하드웨어를 사용하여 수행된다. 일반적으로, 이러한 동작들은 본 개시의 양상들에 따라 설명된 방법들 및 프로세스들에 따라 수행된다. 일부 경우들에서, 본 명세서에서 설명된 동작들은 다양한 하위 단계들로 구성되거나, 또는 다른 동작들과 함께 수행된다.
동작 700에서, 시스템은 색도 공간에서 최적화함으로써 캘리브레이션 구성들의 세트의 각각에 대한 타겟 센서-독립 표현을 결정한다. 일부 경우들에서, 이러한 단계의 동작들은 도 1을 참조하여 설명된 캘리브레이션 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
동작 705에서, 시스템은 캘리브레이션 구성들의 세트의 각각에 대한 타겟 센서-독립 표현에 기초하여 색도 공간에서 최적화함으로써 센서 타입들의 세트의 각각에 대한 센서-특정 컬러 변환 함수를 결정한다. 일부 경우들에서, 이러한 단계의 동작들은 도 1을 참조하여 설명된 컬러 보정 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다. 일부 경우들에서, 동작 700 및 동작 705는 오프라인으로 수행될 수 있다.
동작 710에서, 시스템은 대응하는 센서-특정 컬러 변환 함수에 기초하여 센서 타입들의 세트 중에서 하나의 센서 타입으로 캡처된 이미지에 대해 화이트 밸런스를 수행한다. 일부 경우들에서, 이러한 단계의 동작들은 도 1을 참조하여 설명된 컬러 보정 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다. 일부 경우들에서, 동작 710은 온라인(online)으로 수행될 수 있다.
도 8은 본 개시의 양상들에 따른 이미지 처리를 위한 프로세스의 예시를 도시한다. 일부 예들에서, 이러한 동작들은 장치의 기능적 요소들을 제어하기 위한 코드들의 세트를 실행하는 프로세서를 포함하는 시스템에 의해 수행된다. 추가적으로 또는 대안적으로, 특정 프로세스들은 특수-목적 하드웨어를 사용하여 수행된다. 일반적으로, 이러한 동작들은 본 개시의 양상들에 따라 설명된 방법들 및 프로세스들에 따라 수행된다. 일부 경우들에서, 본 명세서에서 설명된 동작들은 다양한 하위 단계들로 구성되거나, 또는 다른 동작들과 함께 수행된다.
동작 800에서, 시스템은 구성 이미지들의 세트를 식별하고, 여기서 구성 이미지들의 세트의 각각은 센서 타입들의 세트 중에서 구성 센서 타입 및 캘리브레이션 구성들의 세트 중에서 캘리브레이션 구성을 포함한다. 일부 경우들에서, 이러한 단계의 동작들은 도 1을 참조하여 설명된 캘리브레이션 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
구성 이미지들의 세트를 식별할 때(예를 들어, 동작 800에서), 시스템은 복수의 센서 타입들의 각각에 대한 리버스 컬러 변환 행렬 및 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 생성하기 위해 동작들(805 및 810) 사이에서 반복될 수 있다.
동작 805에서, 시스템은 리버스 컬러 변환 함수와 타겟 센서-독립 표현의 이전 반복의 곱 및 캘리브레이션 이미지들의 세트의 각각 사이에서 색도 공간에서의 제1 거리를 최소화하기 위해 리버스 컬러 변환 함수를 최적화하고, 여기서 제1 거리는 모든 캘리브레이션 구성들에 걸쳐 집계되고 최적화는 센서 타입들의 세트의 각각에 대해 독립적으로 수행된다. 일부 경우들에서, 이러한 단계의 동작들은 도 1을 참조하여 설명된 캘리브레이션 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
동작 810에서, 시스템은 제1 단계로부터의 최적화된 리버스 컬러 변환 함수와 타겟 센서-독립 표현의 곱 및 캘리브레이션 이미지들의 세트의 각각 사이에서 색도 공간에서의 제2 거리를 최소화하기 위해 타겟 센서-독립 표현을 최적화하고, 여기서 제2 거리는 모든 복수의 센서 타입들에 걸쳐 집계되고 최적화는 캘리브레이션 구성들의 세트의 각각에 대해 독립적으로 수행된다.
이 후, 복수의 센서 타입들의 각각에 대한 리버스 컬러 변환 행렬 및 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현이 생성될 때까지, 시스템은 동작들(805 및 810) 사이에서 반복될 수 있다.
도 9는 본 개시의 양상들에 따른 이미지 처리를 위한 프로세스의 예시를 도시한다. 일부 예들에서, 이러한 동작들은 장치의 기능적 요소들을 제어하기 위한 코드들의 세트를 실행하는 프로세서를 포함하는 시스템에 의해 수행된다. 추가적으로 또는 대안적으로, 특정 프로세스들은 특수-목적 하드웨어를 사용하여 수행된다. 일반적으로, 이러한 동작들은 본 개시의 양상들에 따라 설명된 방법들 및 프로세스들에 따라 수행된다. 일부 경우들에서, 본 명세서에서 설명된 동작들은 다양한 하위 단계들로 구성되거나, 또는 다른 동작들과 함께 수행된다.
동작 900에서, 시스템은 조도 추정 모델에 대한 훈련 데이터를 식별하고, 여기서 훈련 데이터는 입력 이미지들의 세트를 포함하고, 입력 이미지들의 각각은 입력 센서 타입 및 실측 조도와 연관된다. 일부 경우들에서, 이러한 단계의 동작들은 도 1을 참조하여 설명된 훈련 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
동작 905에서, 시스템은 입력 이미지들의 세트의 입력 이미지에 대한 센서-독립 표현을 생성하기 위해 입력 센서 타입에 대한 센서-특정 컬러 변환 함수를 입력 이미지들의 각각에 적용한다. 일부 경우들에서, 이러한 단계의 동작들은 도 1 내지 도 3을 참조하여 설명된 사전-처리 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
동작 910에서, 시스템은 입력 이미지에 대한 센서-독립 조도 추정을 생성하기 위해 조도 추정 모델을 적용한다. 일부 경우들에서, 이러한 단계의 동작들은 도 1 내지 도 3을 참조하여 설명된 조도 추정 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
동작 915에서, 시스템은 센서-독립 조도를 생성하기 위해 입력 센서 타입에 대한 센서-특정 컬러 변환 함수를 실측 조도에 적용한다. 일부 경우들에서, 이러한 단계의 동작들은 도 1 내지 도 3을 참조하여 설명된 사전-처리 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
동작 920에서, 시스템은 센서-독립 조도 추정과 센서-독립 조도를 비교한다. 일부 경우들에서, 이러한 단계의 동작들은 도 1을 참조하여 설명된 훈련 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
동작 925에서, 시스템은 비교에 기초하여 조도 추정 모델을 업데이트하고, 여기서 화이트 밸런스는 조도 추정 모델에 기초하여 수행된다. 일부 경우들에서, 이러한 단계의 동작들은 도 1을 참조하여 설명된 훈련 구성 요소를 참조하거나, 또는 이에 의해 수행될 수 있다.
따라서, 본 개시는 후술되는 실시 예들을 포함한다.
이미지 처리를 위한 방법이 설명된다. 방법의 실시 예들은, 이미지에 대한, 센서 타입을 포함하는 이미지 데이터를 식별하는 단계, 상기 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 상기 이미지의 센서-독립 표현을 생성하는 단계, 여기서 상기 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화됨, 및 상기 센서-독립 표현에 기초하여 상기 이미지에 대한 센서-독립 조도 추정을 생성하는 단계를 포함한다.
이미지 처리를 위한 장치가 설명된다. 장치는 프로세서, 상기 프로세서와 전자 통신하는 메모리, 및 상기 메모리에 저장된 명령어들을 포함한다. 명령어들은 프로세서가, 이미지에 대한, 센서 타입을 포함하는 이미지 데이터를 식별하고, 상기 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 상기 이미지의 센서-독립 표현을 생성하고, 여기서 상기 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화됨, 그리고 상기 센서-독립 표현에 기초하여 상기 이미지에 대한 센서-독립 조도 추정을 생성하게 한다.
이미지 처리를 위한 코드를 저장하는 비-일시적 컴퓨터 판독 가능 매체가 설명된다. 일부 예들에서, 상기 코드는 명령어들을 포함하고, 상기 명령어들은 실행되면 프로세서가, 이미지에 대한, 센서 타입을 포함하는 이미지 데이터를 식별하고, 상기 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 상기 이미지의 센서-독립 표현을 생성하고, 여기서 상기 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화됨, 그리고 상기 센서-독립 표현에 기초하여 상기 이미지에 대한 센서-독립 조도 추정을 생성하게 한다.
이미지 처리를 위한 시스템이 설명된다. 시스템의 실시 예들은, 이미지에 대한, 센서 타입을 포함하는 이미지 데이터를 식별하고, 상기 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 상기 이미지의 센서-독립 표현을 생성하고, 여기서 상기 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화됨, 그리고 상기 센서-독립 표현에 기초하여 상기 이미지에 대한 센서-독립 조도 추정을 생성하도록 구성된다.
상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 상기 센서 타입에 대응하는 센서를 사용하여 상기 이미지를 캡처하는 단계를 더 포함한다. 상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 상기 센서의 스펙트럼 감도를 결정하는 단계를 더 포함한다. 일부 예시들은, 상기 스펙트럼 감도에 기초하여 상기 센서 타입을 결정하는 단계를 더 포함한다.
상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 상기 센서-특정 컬러 변환 함수의 역수를 상기 센서-독립 조도 추정에 적용하여 센서-특정 조도 추정을 생성하는 단계를 더 포함한다. 일부 예시들은, 상기 센서-특정 조도 추정에 기초하여 상기 이미지에 대한 컬러 보정을 수행하는 단계를 더 포함한다. 상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 상기 컬러 보정에 기초하여 상기 이미지의 화이트-밸런스 버전을 사용자에게 표시하는 단계를 더 포함한다.
상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 상기 색도 공간에서 최적화함으로써 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 결정하는 단계를 더 포함한다. 일부 예시들은, 상기 복수의 캘리브레이션 구성들의 각각에 대한 상기 타겟 센서-독립 표현에 기초하여 상기 센서 타입에 대한 상기 센서-특정 컬러 변환 함수를 결정하는 단계를 더 포함한다. 일부 예들에서, 상기 이미지 데이터는 3-채널 이미지 벡터를 포함하고, 그리고 상기 센서-특정 컬러 변환 함수는 3x3 행렬을 포함한다.
이미지 처리를 위한 방법이 설명된다. 방법의 실시 예들은, 색도 공간에서 최적화함으로써 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 결정하는 단계, 상기 복수의 캘리브레이션 구성들의 각각에 대한 상기 타겟 센서-독립 표현에 기초하여 상기 색도 공간에서 최적화함으로써 복수의 센서 타입들의 각각에 대한 센서-특정 컬러 변환 함수를 결정하는 단계, 및 대응하는 센서-특정 컬러 변환 함수에 기초하여 상기 복수의 센서 타입들 중 센서 타입으로 캡처된 이미지에 대해 화이트 밸런스를 수행하는 단계를 포함한다.
이미지 처리를 위한 장치가 설명된다. 장치는 프로세서, 상기 프로세서와 전자 통신하는 메모리, 및 상기 메모리에 저장된 명령어들을 포함한다. 명령어들은 프로세서가, 색도 공간에서 최적화함으로써 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 결정하고, 상기 복수의 캘리브레이션 구성들의 각각에 대한 상기 타겟 센서-독립 표현에 기초하여 상기 색도 공간에서 최적화함으로써 복수의 센서 타입들의 각각에 대한 센서-특정 컬러 변환 함수를 결정하고, 그리고 대응하는 센서-특정 컬러 변환 함수에 기초하여 상기 복수의 센서 타입들 중 센서 타입으로 캡처된 이미지에 대해 화이트 밸런스를 수행하게 한다.
이미지 처리를 위한 코드를 저장하는 비-일시적 컴퓨터 판독 가능 매체가 설명된다. 일부 예들에서, 상기 코드는 명령어들을 포함하고, 상기 명령어들은 실행되면 프로세서가, 색도 공간에서 최적화함으로써 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 결정하고, 상기 복수의 캘리브레이션 구성들의 각각에 대한 상기 타겟 센서-독립 표현에 기초하여 상기 색도 공간에서 최적화함으로써 복수의 센서 타입들의 각각에 대한 센서-특정 컬러 변환 함수를 결정하고, 그리고 대응하는 센서-특정 컬러 변환 함수에 기초하여 상기 복수의 센서 타입들 중 센서 타입으로 캡처된 이미지에 대해 화이트 밸런스를 수행하게 한다.
이미지 처리를 위한 시스템이 설명된다. 시스템의 실시 예들은, 색도 공간에서 최적화함으로써 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 결정하고, 상기 복수의 캘리브레이션 구성들의 각각에 대한 상기 타겟 센서-독립 표현에 기초하여 상기 색도 공간에서 최적화함으로써 복수의 센서 타입들의 각각에 대한 센서-특정 컬러 변환 함수를 결정하고, 그리고 대응하는 센서-특정 컬러 변환 함수에 기초하여 상기 복수의 센서 타입들 중 센서 타입으로 캡처된 이미지에 대해 화이트 밸런스를 수행하도록 구성된다.
상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 복수의 구성 이미지들을 식별하는 단계를 더 포함하고, 여기서 상기 복수의 구성 이미지들의 각각은 상기 복수의 센서 타입들 중 구성 센서 타입 및 상기 복수의 캘리브레이션 구성들 중 캘리브레이션 구성을 포함한다. 일부 예시들은, 상기 복수의 센서 타입들의 각각에 대한 리버스 컬러 변환 함수 및 상기 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 생성하기 위해 제1 스텝 및 제2 스텝 사이를 반복하는 단계를 더 포함하고, 여기서 상기 제1 스텝은 상기 리버스 컬러 변환 함수와 상기 타겟 센서-독립 표현의 이전 반복의 곱 및 복수의 캘리브레이션 이미지들의 각각 사이에서 상기 색도 공간에서의 제1 거리를 최소화하기 위해 상기 리버스 컬러 변환 함수를 최적화하고, 상기 제1 거리는 모든 캘리브레이션 구성들에 걸쳐 집계(aggregate)되고 상기 제1 스텝의 상기 최적화는 상기 복수의 센서 타입들의 각각에 대해 독립적으로 수행되고, 그리고 상기 제2 스텝은 상기 제1 스텝에서의 상기 최적화된 리버스 컬러 변환 함수와 타겟 센서-독립 표현의 곱 및 상기 복수의 캘리브레이션 이미지들의 각각 사이에서 상기 색도 공간에서의 제2 거리를 최소화하기 위해 타겟 센서-독립 표현을 최적화하고, 상기 제2 거리는 모든 복수의 센서 타입들에 걸쳐 집계되고 상기 제2 스텝의 상기 최적화는 상기 복수의 캘리브레이션 구성들의 각각에 대해 독립적으로 수행된다.
상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 기준 조도에 기초하여 상기 복수의 캘리브레이션 구성들의 각각에 대한 상기 타겟 센서-독립 표현을 초기화하는 단계를 더 포함한다.
상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 대응하는 센서 타입에 대응하는 복수의 캘리브레이션 이미지들과 컬러 변환 함수의 곱의 색도-공간 표현, 및 상기 복수의 캘리브레이션 구성들의 각각의 색도 공간 표현에 대한 상기 복수의 캘리브레이션 구성들 사이의 거리를 최소화하는 단계를 더 포함하고, 여기서 상기 복수의 캘리브레이션 구성들의 각각에 대한 상기 타겟 센서-독립 표현은 상기 최소화하는 단계에 기초한다.
일부 예들에서, 상기 복수의 캘리브레이션 구성들의 각각은 반사율 및 조도를 포함한다. 일부 예들에서, 상기 복수의 캘리브레이션 구성들은 컬러 공간의 균일한 간격 커버링을 나타낸다. 상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 3-채널 이미지 벡터를 포함하는 이미지 데이터를 식별하는 단계를 더 포함하고, 여기서 상기 센서-특정 컬러 변환 함수들의 각각은 3x3 행렬을 포함한다.
상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 상기 이미지의 센서-독립 표현을 생성하기 위해 상기 센서-특정 컬러 변환 함수를 사용하여 상기 이미지에 대한 사전-처리를 수행하는 단계를 더 포함한다. 일부 예시들은, 상기 이미지의 상기 센서-독립 표현에 기초하여 센서-독립 조도 추정을 생성하는 단계를 더 포함한다. 일부 예시들은, 상기 센서-특정 컬러 변환 함수의 역수를 사용하여 상기 센서-독립 조도 추정에 대한 사후-처리를 수행하는 단계를 더 포함하고, 여기서 상기 화이트 밸런스는 상기 사후-처리에 기초한다.
상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 조도 추정 모델에 대한 훈련 데이터를 식별하는 단계를 더 포함하고, 여기서 상기 훈련 데이터는 복수의 입력 이미지들을 포함하고, 상기 입력 이미지들의 각각은 입력 센서 타입 및 실측 조도와 연관된다. 일부 예시들은, 상기 복수의 입력 이미지들의 입력 이미지에 대한 센서-독립 표현을 생성하기 위해 상기 입력 센서 타입에 대한 상기 센서-특정 컬러 변환 함수를 상기 입력 이미지들의 각각에 적용하는 단계를 더 포함한다. 일부 예시들은, 상기 입력 이미지에 대한 센서-독립 조도 추정을 생성하기 위해 상기 조도 추정 모델을 적용하는 단계를 더 포함한다. 일부 예시들은, 센서-독립 조도를 생성하기 위해 상기 입력 센서 타입에 대한 상기 센서-특정 컬러 변환 함수를 상기 실측 조도에 적용하는 단계를 더 포함한다. 일부 예시들은, 상기 센서-독립 조도 추정과 상기 센서-독립 조도를 비교하는 단계를 더 포함한다. 일부 예시들은, 상기 비교에 기초하여 상기 조도 추정 모델을 업데이트하는 단계를 더 포함하고, 여기서 상기 화이트 밸런스는 상기 조도 추정 모델에 기초하여 수행된다.
이미지 처리를 위한 장치가 설명된다. 장치의 실시 예들은, 이미지 데이터를 캡처하도록 구성되고, 센서 타입에 대응하는 스펙트럼 감도를 갖는 센서, 상기 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 상기 이미지의 센서-독립 표현을 생성하도록 구성된 사전-처리 구성 요소, 상기 센서-독립 표현에 기초하여 센서-독립 조도 추정을 생성하도록 구성된 조도 추정 구성 요소, 및 상기 센서-특정 컬러 변환 함수의 역수를 사용하여 상기 센서-독립 조도 추정에 기초하여 센서-특정 조도 추정을 생성하도록 구성된 사후-처리 구성 요소를 포함하되, 상기 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화된다.
이미지 처리를 위한 시스템이 설명된다. 시스템은, 이미지 데이터를 캡처하도록 구성되고, 센서 타입에 대응하는 스펙트럼 감도를 갖는 센서, 상기 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 상기 이미지의 센서-독립 표현을 생성하도록 구성된 사전-처리 구성 요소, 상기 센서-독립 표현에 기초하여 센서-독립 조도 추정을 생성하도록 구성된 조도 추정 구성 요소, 및 상기 센서-특정 컬러 변환 함수의 역수를 사용하여 상기 센서-독립 조도 추정에 기초하여 센서-특정 조도 추정을 생성하도록 구성된 사후-처리 구성 요소를 포함하되, 상기 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화된다.
상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 상기 센서-특정 조도 추정에 기초하여 상기 이미지에 대한 컬러 보정을 수행하도록 구성된 컬러 보정 구성 요소를 더 포함한다. 상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 상기 컬러 보정에 기초하여 상기 이미지를 사용자에게 표시하도록 구성된 디스플레이를 더 포함한다. 상술된 방법, 장치, 비-일시적 컴퓨터 판독 가능 매체, 및 시스템의 일부 예시들은, 상기 색도 공간에서 상기 센서-특정 컬러 변환 함수의 상기 파라미터들을 최적화하도록 구성된 캘리브레이션 구성 요소를 더 포함한다.
본 명세서에서 설명된 도면들 및 상세한 설명은 예시적인 구성을 나타내며 청구 범위 내의 모든 구현들을 나타내는 것은 아니다. 예를 들어, 동작들 및 스텝들은 재배열되거나, 결합되거나 또는 다르게 수정될 수 있다. 또한, 구조들 및 장치들은 구성 요소들 사이의 관계를 나타내고 설명된 개념의 불명료함을 방지하기 위해 블록도의 형태로 표현될 수 있다. 유사한 구성 요소들 및 특징들은 동일한 명칭을 가질 수 있지만, 다른 도면들에 대응하는 다른 참조 번호를 가질 수 있다.
본 개시에 대한 일부 수정들은 본 개시가 속한 기술 분야에서의 통상의 기술자에게 자명할 수 있고, 본 명세서에서 정의된 원리들은 본 개시의 기술적 사상을 벗어나지 않으면서 다른 변형들에 적용될 수 있다. 따라서, 본 개시는 본 명세서에서 설명된 예시들 및 설계들로 제한되지 않으며, 본 명세서에서 개시된 원리들 및 신규한 특징들에 부합하는 가장 넓은 범위를 따를 것이다.
본 명세서에서 설명된 방법들은, 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능한 논리 장치, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 구성 요소들, 또는 이들의 임의의 조합을 포함하는 장치들에 의해 구현되거나 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서, 전통적인 프로세서, 컨트롤러, 마이크로 컨트롤러, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 장치들의 조합(예를 들어, DSP 및 마이크로 프로세서의 조합, 다중 마이크로 프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서들, 또는 임의의 다른 이러한 구성 요소)으로 구현될 수 있다. 따라서, 본 명세서에서 설명된 기능들은 하드웨어나 소프트웨어로 구현될 수 있으며, 프로세서, 펌웨어, 또는 이들의 임의의 조합에 의해 실행될 수 있다. 프로세서에 의해 실행되는 소프트웨어로 구현된 경우, 기능들은 컴퓨터-판독 가능 매체에 코드나 명령어들의 형태로 저장될 수 있다.
컴퓨터-판독 가능 매체는 코드나 데이터의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체 및 비-일시적 컴퓨터 스토리지 매체 모두를 포함한다. 비-일시적 스토리지 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 사용 가능한 매체일 수 있다. 예를 들어, 비-일시적 컴퓨터-판독 가능 매체는 RAM, ROM, EEPROM(electrically erasable programmable read-only memory), CD(compact disk)나 다른 광학 디스크 스토리지, 자기 디스크 스토리지, 또는 데이터나 코드를 전달하거나 저장하기 위한 임의의 다른 비-일시적 매체를 포함할 수 있다.
또한, 연결 구성 요소들은 컴퓨터-판독 가능 매체로 적절하게 지칭될 수 있다. 예를 들어, 적외선, 라디오, 또는 마이크로파 신호들과 같은 동축 케이블(coaxial cable), 광 섬유 케이블, 연선, DSL(digital subscriber line), 또는 무선 기술을 사용하여 웹 사이트, 서버, 또는 기타 원격 소스로부터 코드나 데이터가 전송되면, 동축 케이블, 광 섬유 케이블, 연선, 또는 무선 기술은 매체의 정의에 포함된다. 매체의 조합들은 또한 컴퓨터-판독 가능 매체의 범위에 포함된다.
본 개시 및 후술되는 청구 범위에서, 용어 “또한(or)”은 포괄적인 목록을 나타내고, 예를 들어, X, Y, 또는 Z의 목록은 X 또는 Y 또는 Z 또는 XY 또는 XZ 또는 YZ 또는 XYZ를 의미한다. 또한, 문구 “기초하여(based on)”는 닫힌 조건들의 세트를 나타내는데 사용되지 않는다. 예를 들어, “조건 A에 기초하여”라고 기술되는 단계는 조건 A 및 조건 B 모두에 기초할 수 있다. 다시 말해서, 문구 “기초하여”는 “적어도 부분적으로 기초함”을 의미하는 것으로 해석되어야 한다. 또한, 단수 표현은 “적어도 하나”를 포함할 수 있다.

Claims (10)

  1. 이미지 처리 방법에 있어서:
    이미지에 대한, 센서 타입을 포함하는 이미지 데이터를 식별하는 단계;
    상기 센서 타입에 대응하는 센서-특정 컬러 변환 함수를 사용하여 상기 이미지의 센서-독립 표현을 생성하는 단계, 여기서 상기 센서-특정 컬러 변환 함수의 파라미터들은 색도 공간에서 최적화됨; 및
    상기 센서-독립 표현에 기초하여 상기 이미지에 대한 센서-독립 조도 추정을 생성하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 센서 타입에 대응하는 센서를 사용하여 상기 이미지를 캡처하는 단계를 더 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 센서의 스펙트럼 감도를 결정하는 단계; 및
    상기 스펙트럼 감도에 기초하여 상기 센서 타입을 결정하는 단계를 더 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 센서-특정 컬러 변환 함수의 역수를 상기 센서-독립 조도 추정에 적용하여 센서-특정 조도 추정을 생성하는 단계; 및
    상기 센서-특정 조도 추정에 기초하여 상기 이미지에 대한 컬러 보정을 수행하는 단계를 더 포함하는 방법.
  5. 제 4 항에 있어서,
    상기 컬러 보정에 기초하여 상기 이미지의 화이트-밸런스 버전을 사용자에게 표시하는 단계를 더 포함하는 방법.
  6. 제 1 항에 있어서,
    상기 색도 공간에서 최적화함으로써 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 결정하는 단계; 및
    상기 복수의 캘리브레이션 구성들의 각각에 대한 상기 타겟 센서-독립 표현에 기초하여 상기 센서 타입에 대한 상기 센서-특정 컬러 변환 함수를 결정하는 단계를 더 포함하는 방법.
  7. 제 1 항에 있어서,
    상기 이미지 데이터는 3-채널 이미지 벡터를 포함하고, 그리고 상기 센서-특정 컬러 변환 함수는 3x3 행렬을 포함하는 방법.
  8. 이미지 처리 방법에 있어서:
    색도 공간에서 최적화함으로써 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 결정하는 단계;
    상기 복수의 캘리브레이션 구성들의 상기 각각에 대한 상기 타겟 센서-독립 표현에 기초하여 상기 색도 공간에서 최적화함으로써 복수의 센서 타입들의 각각에 대한 센서-특정 컬러 변환 함수를 결정하는 단계; 및
    대응하는 센서-특정 컬러 변환 함수에 기초하여 상기 복수의 센서 타입들 중 어느 하나의 센서 타입으로 캡처된 이미지에 대해 화이트 밸런스를 수행하는 단계를 포함하는 방법.
  9. 제 8 항에 있어서,
    복수의 구성 이미지들을 식별하는 단계, 여기서 상기 복수의 구성 이미지들의 각각은 상기 복수의 센서 타입들 중 구성 센서 타입 및 상기 복수의 캘리브레이션 구성들 중 캘리브레이션 구성을 포함함; 및
    상기 복수의 센서 타입들의 각각에 대한 리버스 컬러 변환 함수 및 상기 복수의 캘리브레이션 구성들의 각각에 대한 타겟 센서-독립 표현을 생성하기 위해 제1 스텝 및 제2 스텝 사이를 반복하는 단계를 더 포함하되,
    상기 제1 스텝은 상기 리버스 컬러 변환 함수와 상기 타겟 센서-독립 표현의 이전 반복의 곱 및 복수의 캘리브레이션 이미지들의 각각 사이에서 상기 색도 공간에서의 제1 거리를 최소화하기 위해 상기 리버스 컬러 변환 함수를 최적화하고, 상기 제1 거리는 모든 캘리브레이션 구성들에 걸쳐 집계(aggregate)되고 상기 제1 스텝의 상기 최적화는 상기 복수의 센서 타입들의 각각에 대해 독립적으로 수행되고; 그리고
    상기 제2 스텝은 상기 제1 스텝에서의 상기 최적화된 리버스 컬러 변환 함수와 타겟 센서-독립 표현의 곱 및 상기 복수의 캘리브레이션 이미지들의 각각 사이에서 상기 색도 공간에서의 제2 거리를 최소화하기 위해 타겟 센서-독립 표현을 최적화하고, 상기 제2 거리는 모든 복수의 센서 타입들에 걸쳐 집계되고 상기 제2 스텝의 상기 최적화는 상기 복수의 캘리브레이션 구성들의 각각에 대해 독립적으로 수행되는 방법.
  10. 제 9 항에 있어서,
    기준 조도에 기초하여 상기 복수의 캘리브레이션 구성들의 각각에 대한 상기 타겟 센서-독립 표현을 초기화하는 단계를 더 포함하는 방법.
KR1020210007417A 2020-11-05 2021-01-19 센서를 통한 자동 화이트 밸런스를 위한 데이터 사전-처리 KR20220060966A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/089,942 2020-11-05
US17/089,942 US20220141438A1 (en) 2020-11-05 2020-11-05 Data pre-processing for cross sensor automatic white balance

Publications (1)

Publication Number Publication Date
KR20220060966A true KR20220060966A (ko) 2022-05-12

Family

ID=81379555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210007417A KR20220060966A (ko) 2020-11-05 2021-01-19 센서를 통한 자동 화이트 밸런스를 위한 데이터 사전-처리

Country Status (2)

Country Link
US (2) US20220141438A1 (ko)
KR (1) KR20220060966A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220141438A1 (en) 2020-11-05 2022-05-05 Samsung Electronics Co., Ltd. Data pre-processing for cross sensor automatic white balance
CN115460391B (zh) * 2022-09-13 2024-04-16 浙江大华技术股份有限公司 图像的模拟方法、装置、存储介质及电子装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6403776B2 (ja) * 2013-08-19 2018-10-10 ビーエーエスエフ ソシエタス・ヨーロピアBasf Se 光学検出器
US10542243B2 (en) * 2018-04-10 2020-01-21 Intel Corporation Method and system of light source estimation for image processing
US10791310B2 (en) 2018-10-02 2020-09-29 Intel Corporation Method and system of deep learning-based automatic white balancing
US11455535B2 (en) * 2019-08-22 2022-09-27 Mahmoud Afifi Systems and methods for sensor-independent illuminant determination
US20220141438A1 (en) 2020-11-05 2022-05-05 Samsung Electronics Co., Ltd. Data pre-processing for cross sensor automatic white balance

Also Published As

Publication number Publication date
US20220141438A1 (en) 2022-05-05
US11825209B2 (en) 2023-11-21
US20220377297A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
US10791310B2 (en) Method and system of deep learning-based automatic white balancing
Santo et al. Deep photometric stereo network
Jiang et al. Learning the image processing pipeline
Agarwal et al. An overview of color constancy algorithms
EP3542347B1 (en) Fast fourier color constancy
Akyüz et al. Color appearance in high-dynamic-range imaging
US11825209B2 (en) Data pre-processing for cross sensor automatic white balance
Karaimer et al. Improving color reproduction accuracy on cameras
US20210006760A1 (en) Meta-learning for camera adaptive color constancy
EP3888345B1 (en) Method for generating image data for machine learning based imaging algorithms
WO2020172888A1 (zh) 一种图像处理方法和装置
WO2018149253A1 (zh) 图像处理的方法和设备
US20210392274A1 (en) Leveraging hdr sensors for handling mixed illumination auto white balance
CN106895916B (zh) 一种单次曝光拍摄获取多光谱图像的方法
Koskinen et al. Reverse imaging pipeline for raw RGB image augmentation
Hao et al. A multi‐illuminant synthetic image test set
Bianco et al. Computational color constancy
US20230342977A1 (en) Method for Determining Chromaticity Information and Related Electronic Device
KR101242069B1 (ko) 개선된 영상 생성모델과 적응적 필터를 이용한 컬러 영상 보정방법
CN116152360B (zh) 一种图像颜色的处理方法及装置
WO2022067761A1 (zh) 图像处理方法、装置、拍摄设备、可移动平台及计算机可读存储介质
CN117768791B (zh) 一种基于神经网络的跨相机图像白平衡方法和系统
Sim et al. Artwork Reproduction Through Display Based on Hyperspectral Imaging
US20230206592A1 (en) Method and electronic device for digital image enhancement on display
Zhen et al. Color correction and dynamic range expansion of underwater images based on light field technology

Legal Events

Date Code Title Description
A201 Request for examination