KR20170131704A - 콘볼루션 컬러 정정 - Google Patents

콘볼루션 컬러 정정 Download PDF

Info

Publication number
KR20170131704A
KR20170131704A KR1020177033078A KR20177033078A KR20170131704A KR 20170131704 A KR20170131704 A KR 20170131704A KR 1020177033078 A KR1020177033078 A KR 1020177033078A KR 20177033078 A KR20177033078 A KR 20177033078A KR 20170131704 A KR20170131704 A KR 20170131704A
Authority
KR
South Korea
Prior art keywords
input image
histogram
chrominance
dimensional
image
Prior art date
Application number
KR1020177033078A
Other languages
English (en)
Other versions
KR101873183B1 (ko
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 KR20170131704A publication Critical patent/KR20170131704A/ko
Application granted granted Critical
Publication of KR101873183B1 publication Critical patent/KR101873183B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001
    • G06T5/009
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • 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/90Determination of colour characteristics
    • 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/6027Correction or control of colour gradation or colour contrast
    • 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/6083Colour correction or control controlled by factors external to the apparatus
    • H04N1/6086Colour correction or control controlled by factors external to the apparatus by scene illuminant, i.e. conditions at the time of picture capture, e.g. flash, optical filter used, evening, cloud, daylight, artificial lighting, white point measurement, colour temperature
    • 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
    • H04N9/735
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

컴퓨팅 디바이스가 입력 이미지를 획득할 수 있다. 입력 이미지는 입력 이미지에서의 백색을 정의하는 크로미넌스 값들에 의해 표현되는 백색점을 가질 수 있다. 가능하게는 입력 이미지의 컬러들에 기초하여, 컴퓨팅 디바이스는 입력 이미지의 2-차원 크로미넌스 히스토그램을 생성할 수 있다. 컴퓨팅 디바이스는 2-차원 크로미넌스 히스토그램과 필터를 컨볼빙하여 2-차원 히트 맵을 생성할 수 있다. 2-차원 히트 맵에서의 엔트리들은 각자의 엔트리들에 대응하는 각자의 틴트들이 입력 이미지의 백색점에 얼마나 가까운지의 각자의 추정치들을 표현할 수 있다. 컴퓨팅 디바이스는 히트 맵에서의 최대 값의 임계값 내에 있는 특정 값을 표현하는, 2-차원 히트 맵에서의 엔트리를 선택하고, 선택된 엔트리에 기초하여, 입력 이미지를 틴팅하여 출력 이미지를 형성할 수 있다.

Description

콘볼루션 컬러 정정
디지털 이미징이 디지털 이미지들(예컨대, 사진들 또는 모션 비디오)에서의 장면들의 컬러 및 밝기 특성들을 캡처하고 표현하는 것을 지칭할 수 있다. 특정 장면의 디지털 이미지가 캡처될 때, 그 이미지 내의 물체들의 트루 컬러들(true colors)은 장면에서의 임의의 조명의 컬러에 의해 오프셋될 수 있다. 따라서, 디지털 이미지는 트루 컬러들에 더 가까운 컬러들을 갖는 새로운 디지털 이미지를 생성하기 위해 추가로 프로세싱 및/또는 향상될 수 있다. 그러나, 디지털 이미지를 캡처하는데 사용되는 이미지 센서에 의존하지 않는 방식으로 이 컬러 정정을 수행하는 것은 도전해볼 만하다.
자연 이미지에서의 화소의 컬러는 두 개의 양들, 즉, 반사율(예컨대, 장면에서의 표면들의 컬러들)과 조명(장면에서의 표면들을 때리는 광의 컬러)의 곱으로서 표현될 수 있다. 발광체로부터의 반사율을 분별하는 능력을 컴퓨터에 부여하는 것은 어려운데, 이 문제는 제약 부족 - 황색 화소가 주어지면, 그것이 황색 발광체 하의 백색 물체를 나타내는지, 또는 백색 발광체 하의 황색 물체를 나타내는지가 종종 불분명함 - 때문이다. 이미지의 조명의 컬러를 유추하고 정정하는 이 도전은 "컬러 항상성" 또는 "화이트-밸런스"라고 흔히 지칭된다.
본 명세서에서의 실시예들은 이미지의 로그-색도의 히스토그램의 병진(translation)에 대한 그 이미지의 컬러 채널들의 스케일링에 관련한 관찰에 기초한 컬러 항상성 기법을 개시한다. 이 관찰은 콘볼루션 신경망들 및 구조화된 예측에 기초한 도구들을 사용하여, 컬러 항상성 문제가 구별적 기계 학습 문제로서 프레임화되는 것을 허용한다. 이런 식으로 컬러 항상성 기법을 구별되게 트레이닝함으로써, 본 명세서에서의 실시예들은 40% 정도만큼 표준 벤치마크들에 대한 오차율들을 줄일 수 있다.
따라서, 제1 예시적 실시예가 입력 이미지를 획득하는 것을 수반할 수 있다. 입력 이미지는 입력 이미지에서의 백색을 정의하는 크로미넌스 값들에 의해 표현되는 백색점을 가질 수 있다. 제1 예시적 실시예는, 입력 이미지의 컬러들에 기초하여 입력 이미지의 2-차원 크로미넌스 히스토그램을 생성하는 것을 또한 수반할 수 있다. 제1 예시적 실시예는 2-차원 크로미넌스 히스토그램과 필터를 컨볼빙(convolving)하여 2-차원 히트 맵을 생성하는 것을 추가로 수반할 수 있다. 2-차원 히트 맵에서의 엔트리들은 각자의 엔트리들에 대응하는 각자의 틴트들이 입력 이미지의 백색점에 얼마나 가까운지의 각자의 추정치들을 표현할 수 있다. 제1 예시적 실시예는 히트 맵에서의 최대 값의 임계값 내에 있는 특정 값을 표현하는, 2-차원 히트 맵에서의 엔트리를 선택하는 것과, 선택된 엔트리에 기초하여, 입력 이미지를 틴팅하여 출력 이미지를 형성하는 것을 추가적으로 수반할 수 있다.
제2 예시적 실시예에서, 제조 물품이, 컴퓨팅 디바이스에 의한 실행 시, 컴퓨팅 디바이스로 하여금 제1 예시적 실시예에 따라 동작들을 수행하게 하는 프로그램 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다.
제3 예시적 실시예에서, 컴퓨팅 디바이스가 적어도 하나의 프로세서, 뿐만 아니라 데이터 스토리지 및 프로그램 명령어들을 포함할 수 있다. 프로그램 명령어들은 데이터 스토리지에 저장될 수 있고, 적어도 하나의 프로세서에 의한 실행 시, 컴퓨팅 디바이스로 하여금 제1 예시적 실시예에 따라 동작들을 수행하게 할 수 있다.
제4 예시적 실시예에서, 시스템이 제1 예시적 실시예의 동작들의 각각을 수행하는 다양한 수단들을 포함할 수 있다.
이들 뿐만 아니라 다른 실시예들, 양태들, 장점들, 및 대안들이, 다음의 상세한 설명을 첨부 도면들을 적절히 참조하여 읽음으로써 본 기술분야의 통상의 기술자들에게 명백하게 될 것이다. 게다가, 본 명세서에서 제공되는 이 요약 및 다른 설명들 및 도면들은 실시예들을 예로서만 예시하고, 이와 같이, 수많은 변동들이 가능하다는 것이 이해되어야 한다. 예를 들면, 구조적 엘리먼트들 및 프로세스 단계들은, 청구되는 바와 같은 실시예들의 범위 내에 남아있으면서도, 재배열되거나, 조합되거나, 분산되거나, 제거되거나, 또는 그렇지 않으면 변경될 수 있다.
도 1은 예시적 실시예들에 따른, 디지털 카메라 디바이스의 정면, 우측면, 및 배면 도들을 묘사한다.
도 2는 예시적 실시예에 따른, 이미지 캡처 능력을 갖는 컴퓨팅 디바이스의 블록도를 묘사한다.
도 3은 예시적 실시예에 따른, 이미지의 세 개의 틴트들 및 각각에 대한 연관된 크로미넌스 히스토그램들을 묘사한다.
도 4는 예시적 실시예에 따른, 제안된 조명 컬러의 함수로서, 트레이닝 동안 사용되는, 비용 함수의 시각화물들을 묘사한다.
도 5는 예시적 실시예에 따른, 피라미드 필터링의 시각화물을 묘사한다.
도 6은 예시적 실시예에 따른, 향상된 이미지들에 연관된 4개의 채널들에 의해 캡처된 정보의 시각화물들을 묘사한다.
도 7은 예시적 실시예에 따른, 흐름도이다.
예시적인 방법들, 디바이스들, 및 시스템들이 본 명세서에서 설명된다. "예시적(example)" 및 "예시적인(exemplary)"이라는 단어들은 "예, 사례, 또는 예시로서 역할을 하는 것"을 의미하기 위해 본 명세서에서 사용된다. "예시적" 또는 "예시적인" 것으로서 본 명세서에서 설명되는 어떤 실시예 또는 특징이라도 다른 실시예들 또는 특징들보다 바람직하거나 유익하다고 해석할 필요는 없다. 본 명세서에서 제시된 요지의 범위로부터 벗어나는 일 없이, 다른 실시예들이 이용될 수 있고, 다른 변경들이 만들어질 수 있다.
본 명세서에서 설명되는 예시적 실시예들은 제한하는 의미는 아니다. 본 명세서에서 대체로 설명되고 도면들에서 예시되는 본 개시내용의 양태들은, 모두가 본 명세서에서 의도된 매우 다양한 상이한 구성들로 배열, 치환, 조합, 분리 및 설계될 수 있다.
게다가, 문맥이 그렇지 않다고 제시하지 않는 한, 도면들의 각각에서 예시된 특징들은 서로 조합하여 사용될 수 있다. 따라서, 도면들은 하나 이상의 전체 실시예들의 컴포넌트 양태들로서 전체적으로 보여져야 하며, 모든 예시된 특징들이 각각의 실시예에 대해 필요한 것은 아니라는 것이 이해된다.
1. 예시적 이미지 캡처 디바이스들
카메라들과 같은 이미지 캡처 디바이스들이 더욱 대중화됨에 따라, 그것들은 자립형 하드웨어 디바이스들로서 채용되거나 또는 다양한 다른 유형들의 디바이스들 속에 통합될 수 있다. 예를 들면, 정지 및 비디오 카메라들은 무선 컴퓨팅 디바이스들(예컨대, 모바일 폰들), 태블릿 컴퓨터들, 랩톱 컴퓨터들, 비디오 게임 인터페이스들, 홈 오토메이션 디바이스들, 그리고 심지어 자동차들 및 다른 유형들의 차량들에 어김없이 포함된다.
카메라의 물리적 컴포넌트들은 광이 입사하는 하나 이상의 개구부들, 광에 의해 표현되는 이미지들을 캡처하는 하나 이상의 레코딩 표면들, 및 레코딩 표면(들) 상에 이미지의 적어도 일부를 포커싱하기 위해 각각의 개구부의 전면에 위치된 렌즈들을 포함할 수 있다. 개구부들은 고정된 사이즈이거나 또는 조정 가능할 수 있다. 아날로그 카메라에서, 레코딩 표면은 사진 필름일 수 있다. 디지털 카메라에서, 레코딩 표면은 캡처된 이미지들을 데이터 저장 유닛(예컨대, 메모리)으로 전달 및/또는 저장하는 전자 이미지 센서(예컨대, 전하 결합 소자(charge coupled device)(CCD) 또는 상보성 금속-산화물-반도체(complementary metal-oxide-semiconductor)(CMOS) 센서)를 포함할 수 있다.
하나 이상의 셔터들이 렌즈들 또는 레코딩 표면들에 결합되거나 또는 그러한 렌즈들 또는 레코딩 표면들 근처에 있을 수 있다. 각각의 셔터는 광이 레코딩 표면에 도달하는 것을 막는 폐쇄 포지션, 또는 광이 레코딩 표면에 도달하는 것을 허용하는 개방 포지션 중 어느 하나에 있을 수 있다. 각각의 셔터의 포지션은 셔터 버튼에 의해 제어될 수 있다. 예를 들면, 셔터가 디폴트로 폐쇄 포지션에 있을 수 있다. 셔터 버튼이 트리거될 (예컨대, 눌러질) 때, 셔터는 셔터 사이클로서 알려진 시구간 동안 폐쇄 포지션에서부터 개방 포지션으로 변경될 수 있다. 셔터 사이클 동안, 이미지가 레코딩 표면 상에서 캡처될 수 있다. 셔터 사이클의 끝에, 셔터는 폐쇄 포지션으로 다시 변경될 수 있다.
대안적으로, 셔터링 프로세스는 전자적일 수 있다. 예를 들어, CCD 이미지 센서의 전자 셔터가 "개방"되기 전, 센서는 자신의 포토다이오드들에서의 임의의 잔여 신호를 제거하기 위해 리셋될 수 있다. 전자 셔터가 개방으로 남아 있은 동안, 포토다이오드들은 전하를 축적할 수 있다. 셔터가 폐쇄될 때 또는 폐쇄된 후, 이들 전하들은 더 장기의 데이터 스토리지로 전달될 수 있다. 기계적 및 전자적 셔터링의 조합들이 또한 가능할 수 있다.
유형에 상관없이, 셔터가 셔터 버튼이 아닌 무엇인가에 의해 활성화 및/또는 제어될 수 있다. 예를 들면, 셔터는 소프트키, 타이머, 또는 일부 다른 트리거에 의해 활성화될 수 있다. 본 명세서에서, "이미지 캡처"라는 용어는, 셔터링 프로세스가 트리거되거나 또는 제어되는 방법에 상관없이, 하나 이상의 이미지들이 레코딩되는 것을 초래하는 임의의 기계적 및/또는 전자적 셔터링 프로세스를 지칭할 수 있다.
캡처된 이미지의 노출은 개구부의 사이즈, 개구부에 들어가는 광의 밝기, 및 셔터 사이클의 길이(또한 셔터 길이 또는 노출 길이라고 지칭됨)의 조합에 의해 결정될 수 있다. 덧붙여, 디지털 및/또는 아날로그 이득이 이미지에 적용됨으로써, 노출에 영향을 미칠 수 있다. 일부 실시예들에서, "총 노출 길이" 또는 "총 노출 시간"은 특정 개구부 사이즈에 대한 이득이 곱해진 셔터 길이를 지칭할 수 있다. 본 명세서에서, "총 노출 시간", 또는 "TET"라는 용어는, 아마도 셔터 길이, 노출 시간, 또는 레코딩 표면에 도달하는 광으로부터 초래되는 신호 응답의 양을 제어하는 임의의 다른 메트릭으로서 해석되어야 한다.
스틸 카메라가 이미지 캡처가 트리거되는 시간마다 하나 이상의 이미지들을 캡처할 수 있다. 이미지 캡처가 트리거된 채로 남아있는 한(예컨대, 셔터 버튼이 눌려져 있는 동안) 비디오 카메라가 특정 레이트(예컨대, 초당 24 이미지들 - 또는 프레임들)로 이미지들을 지속적으로 캡처할 수 있다. 일부 디지털 스틸 카메라들은 카메라 디바이스 또는 애플리케이션이 활성화될 때 셔터를 개방할 수 있고, 셔터는 카메라 디바이스 또는 애플리케이션이 비활성화되기까지 이 포지션으로 남아 있을 수 있다. 셔터가 개방되는 동안, 카메라 디바이스 또는 애플리케이션은 장면의 표현을 캡처하고 뷰파인더 상에 디스플레이할 수 있다. 이미지 캡처가 트리거될 때, 현재 장면의 하나 이상의 별개의 디지털 이미지들이 캡처될 수 있다.
카메라들 - 심지어 아날로그 카메라들 - 이 하나 이상의 카메라 기능들 및/또는 셋팅들, 이를테면 개구부 사이즈, TET, 이득 등을 제어하는 소프트웨어를 포함할 수 있다. 덧붙여, 일부 카메라들은 이들 이미지들이 캡처되는 동안 또는 그 후 이미지들을 디지털적으로 프로세싱하는 소프트웨어를 포함할 수 있다. 위의 설명이 일반적으로 카메라들을 언급하지만, 그것은 디지털 카메라들에 특히 관계가 있을 수 있다.
이전에 언급된 바와 같이, 디지털 카메라들은 자립형 디바이스들일 수 있거나 또는 다른 디바이스들과 통합될 수 있다. 일 예로서, 도 1은 디지털 카메라 디바이스(100)의 폼 팩터를 예시한다. 디지털 카메라 디바이스(100)는, 예를 들어, 모바일 폰, 태블릿 컴퓨터, 또는 착용가능 컴퓨팅 디바이스일 수 있다. 그러나, 다른 실시예들이 가능하다. 디지털 카메라 디바이스(100)는 다양한 엘리먼트들, 이를테면 본체(102), 전면 카메라(104), 멀티-엘리먼트 디스플레이(106), 셔터 버튼(108), 및 다른 버튼들(110)을 포함할 수 있다. 디지털 카메라 디바이스(100)는 배면 카메라(112)를 추가로 포함할 수 있다. 전면 카메라(104)는 조작 시 사용자를 통상적으로 마주하는 본체(102) 측면에, 또는 멀티-엘리먼트 디스플레이(106)와는 동일한 측면에 위치될 수 있다. 배면 카메라(112)는 전면 카메라(104) 반대편 본체(102) 측면에 위치될 수 있다. 카메라들을 전면 카메라와 배면 카메라로서 지칭하는 것은 임의적이고, 디지털 카메라 디바이스(100)는 본체(102)의 다양한 측면들에 위치된 다수의 카메라들을 포함할 수 있다.
멀티-엘리먼트 디스플레이(106)는 음극선관(cathode ray tube)(CRT) 디스플레이, 발광 다이오드(light emitting diode)(LED) 디스플레이, 액정(liquid crystal)(LCD) 디스플레이, 플라즈마 디스플레이, 또는 본 기술분야에서 공지된 임의의 다른 유형의 디스플레이를 나타낼 수 있다. 일부 실시예들에서, 멀티-엘리먼트 디스플레이(106)는 전면 카메라(104) 및/또는 배면 카메라(112)에 의해 캡처되어 있는 현재 이미지 또는 이들 카메라들 중 어느 하나 또는 양쪽 모두에 의해 최근에 캡처되었거나 또는 캡처될 수 있었던 이미지의 디지털 표현을 디스플레이할 수 있다. 따라서, 멀티-엘리먼트 디스플레이(106)는 어느 하나의 카메라에 대한 뷰파인더로서 역할을 할 수 있다. 멀티-엘리먼트 디스플레이(106)는 임의의 양태의 디지털 카메라 디바이스(100)의 셋팅들 및/또는 구성을 조정할 수 있는 터치스크린 및/또는 존재-감응 기능들을 또한 지원할 수 있다.
전면 카메라(104)는 이미지 센서와, 연관된 광학적 엘리먼트들, 이를테면 렌즈들을 포함할 수 있다. 전면 카메라(104)는 줌 능력들을 제공할 수 있거나 또는 고정된 초점 거리를 가질 수 있다. 다른 실시예들에서, 교체가능 렌즈들이 전면 카메라(104)와 함께 사용될 수 있다. 전면 카메라(104)는 가변 기계적 개구부와 기계적 및/또는 전자적 셔터를 가질 수 있다. 전면 카메라(104)는 스틸 이미지들, 비디오 이미지들, 또는 양쪽 모두를 또한 캡처하도록 구성될 수 있다. 게다가, 전면 카메라(104)는 모노스코픽, 스테레오스코픽, 또는 멀티스코픽 카메라를 나타낼 수 있다. 배면 카메라(112)는 유사하거나 또는 상이하게 배열될 수 있다. 덧붙여, 전면 카메라(104), 배면 카메라(112), 또는 둘 다는, 하나 이상의 카메라들의 어레이일 수 있다.
전면 카메라(104) 및 배면 카메라(112) 중 어느 하나 또는 양쪽 모두는 타겟 물체를 조명하는 명시야를 제공하는 조명 컴포넌트를 포함하거나 또는 그러한 조명 컴포넌트에 연관될 수 있다. 예를 들면, 조명 컴포넌트가 타겟 물체의 플래시 또는 일정 조명을 제공할 수 있다. 조명 컴포넌트가 구조화된 광, 편광된 광, 및 특정 스펙트럼 콘텐츠를 갖는 광 중 하나 이상을 포함하는 명시야를 제공하도록 또한 구성될 수 있다. 물체로부터 3-차원(3D) 모델들을 복원하는데 사용되는 그리고 공지된 다른 유형들의 명시야들이 본 명세서에서의 실시예들의 맥락 내에서 가능하다.
전면 카메라(104) 및 배면 카메라(112) 중 어느 하나 또는 둘 다는 카메라가 캡처할 수 있는 장면의 주변 밝기를 지속적으로 또는 가끔 결정할 수 있는 주변 광 센서를 포함할 수 있거나 또는 그러한 주변 광 센서와 연관될 수 있다. 일부 디바이스들에서, 주변 광 센서는 카메라에 연관된 스크린(예컨대, 뷰파인더)의 디스플레이 밝기를 조정하는데 사용될 수 있다. 결정된 주변 밝기가 높을 때, 스크린의 밝기 레벨은 스크린을 더 쉽게 관람하도록 증가될 수 있다. 결정된 주변 밝기가 늦을 때, 스크린의 밝기 레벨은 또한 스크린을 더 쉽게 관람하도록 뿐만 아니라 전력을 잠재적으로 절약하도록 감소될 수 있다. 덧붙여, 주변 광 센서의 입력은 연관된 카메라의 TET를 결정하는데, 또는 이 결정을 돕는데 사용될 수 있다.
디지털 카메라 디바이스(100)는 타겟 물체의 이미지들을 캡처하기 위해 멀티-엘리먼트 디스플레이(106)와 전면 카메라(104) 또는 배면 카메라(112) 중 어느 하나를 사용하도록 구성될 수 있다. 캡처된 이미지들은 복수의 스틸 이미지들 또는 비디오 스트림일 수 있다. 이미지 캡처는 셔터 버튼(108)을 활성화함으로써, 멀티-엘리먼트 디스플레이(106) 상의 소프트키를 눌러, 또는 일부 다른 메커니즘에 의해 트리거될 수 있다. 구현예에 의존하여, 이미지들은 특정 시간 간격으로, 예를 들어, 셔터 버튼(108)을 누를 시, 타겟 물체의 적절한 조명 조건들에 따라, 디지털 카메라 디바이스(100)를 미리 결정된 거리 이동 시, 또는 미리 결정된 캡처 스케줄에 따라 자동으로 캡처될 수 있다.
위에서 언급된 바와 같이, 디지털 카메라 디바이스(100) - 또는 다른 유형의 디지털 카메라 - 의 기능들은 컴퓨팅 디바이스, 이를테면 무선 컴퓨팅 디바이스, 셀 폰, 태블릿 컴퓨터, 랩톱 컴퓨터 등에 통합될 수 있다. 예를 목적으로, 도 2는 카메라 컴포넌트들(224)을 포함할 수 있는 예시적 컴퓨팅 디바이스(200)의 컴포넌트들의 일부를 도시하는 단순화된 블록도이다.
예로서 그리고 제한 없이, 컴퓨팅 디바이스(200)는 셀룰러 모바일 전화기(예컨대, 스마트폰), 스틸 카메라, 비디오 카메라, 팩스 머신, 컴퓨터(이를테면 데스크톱, 노트북, 태블릿, 또는 핸드헬드 컴퓨터), 개인 정보 단말기(personal digital assistant)(PDA), 홈 자동화 컴포넌트, 디지털 비디오 레코더(digital video recorder)(DVR), 디지털 텔레비전, 원격 제어, 착용가능 컴퓨팅 디바이스, 또는 적어도 일부 이미지 캡처 및/또는 이미지 프로세싱 능력들이 갖추어진 일부 다른 유형의 디바이스일 수 있다. 컴퓨팅 디바이스(200)는 디지털 카메라, 카메라 애플리케이션이 동작하는 특정 물리적 하드웨어 플랫폼과 같은 물리적 카메라 디바이스를 카메라 기능들을 수행하도록 구성되는 소프트웨어, 또는 하드웨어 및 소프트웨어의 다른 조합들로 나타낼 수 있다는 것이 이해되어야 한다.
도 2에 도시된 바와 같이, 컴퓨팅 디바이스(200)는 통신 인터페이스(202), 사용자 인터페이스(204), 프로세서(206), 데이터 스토리지(208), 및 카메라 컴포넌트들(224)을 포함할 수 있으며, 이것들의 모두는 시스템 버스, 네트워크, 또는 다른 접속 메커니즘(210)에 의해 함께 통신적으로 링크될 수 있다.
통신 인터페이스(202)는 컴퓨팅 디바이스(200)가 아날로그 또는 디지털 변조를 사용하여, 다른 디바이스들, 액세스 네트워크들, 및/또는 전송 네트워크들과 통신하는 것을 허용할 수 있다. 따라서, 통신 인터페이스(202)는 회선 교환식 및/또는 패킷-교환식 통신, 이를테면 POTS(plain old telephone service) 통신 및/또는 인터넷 프로토콜(Internet protocol)(IP) 또는 다른 패킷화된 통신을 용이하게 할 수 있다. 예를 들면, 통신 인터페이스(202)는 무선 액세스 네트워크 또는 액세스 포인트와의 무선 통신을 위해 배열된 칩셋 및 안테나를 포함할 수 있다. 또한, 통신 인터페이스(202)는 이더넷, 유니버셜 직렬 버스(Universal Serial Bus)(USB), 또는 HDMI(High-Definition Multimedia Interface) 포트와 같은 와이어라인 인터페이스의 형태를 취하거나 또는 그러한 와이어라인 인터페이스를 포함할 수 있다. 통신 인터페이스(202)는 또한, Wifi, 블루투스®, GPS(global positioning system), 또는 광역 무선 인터페이스(예컨대, WiMAX 또는 3GPP LTE(Long-Term Evolution))와 같은 무선 인터페이스의 형태를 취할 수 있거나 또는 그러한 무선 인터페이스를 포함할 수 있다. 그러나, 다른 형태들의 물리 계층 인터페이스들과 다른 유형들의 표준 또는 사유 통신 프로토콜들이 통신 인터페이스(202)를 통해 사용될 수 있다. 더욱이, 통신 인터페이스(202)는 다수의 물리적 통신 인터페이스들(예컨대, Wifi 인터페이스, 블루투스® 인터페이스, 및 광역 무선 인터페이스)을 포함할 수 있다.
사용자 인터페이스(204)는 컴퓨팅 디바이스(200)가 인간 또는 비-인간 사용자와 상호작용하는 것, 이를테면 사용자로부터 입력을 수신하고 출력을 사용자에게 제공하는 것을 허용하도록 기능을 할 수 있다. 따라서, 사용자 인터페이스(204)는 키패드, 키보드, 터치-감응 또는 존재-감응 패널, 컴퓨터 마우스, 트랙볼, 조이스틱, 마이크로폰 등과 같은 입력 컴포넌트들을 포함할 수 있다. 사용자 인터페이스(204)는, 예를 들어, 존재-감응 패널과 조합될 수 있는 디스플레이 스크린과 같은 하나 이상의 출력 컴포넌트들을 또한 포함할 수 있다. 디스플레이 스크린은 CRT, LCD, 및/또는 LED 기술들, 또는 지금 알려지거나 또는 나중에 개발되는 다른 기술들에 기초할 수 있다. 사용자 인터페이스(204)는 가청 출력(들)을, 스피커, 스피커 잭, 오디오 출력 포트, 오디오 출력 디바이스, 이어폰들, 및/또는 다른 유사한 디바이스들을 통해 생성하도록 또한 구성될 수 있다.
일부 실시예들에서, 사용자 인터페이스(204)는 컴퓨팅 디바이스(200)에 의해 지원되는 스틸 카메라 및/또는 비디오 카메라 기능들을 위한 뷰파인더로서 역할을 하는 디스플레이를 포함할 수 있다. 덧붙여, 사용자 인터페이스(204)는 카메라 기능의 구성 및 포커싱과 이미지들의 캡처링(예컨대, 화상을 캡처링하는 것)을 용이하게 하는 하나 이상의 버튼들, 스위치들, 손잡이들, 및/또는 다이얼들을 포함할 수 있다. 이들 버튼들, 스위치들, 손잡이들, 및/또는 다이얼들의 일부 또는 모두가 존재-감응 패널에 의해 구현되는 것이 또한 가능할 수 있다.
프로세서(206)는 하나 이상의 범용 프로세서들 - 예컨대, 마이크로프로세서들 - 및/또는 하나 이상의 특수 목적 프로세서들 - 예컨대, 디지털 신호 프로세서들(digital signal processors)(DSP들), 그래픽 프로세싱 유닛들(graphics processing units)(GPU들), 부동 소수점 유닛들(floating point units)(FPU들), 네트워크 프로세서들, 또는 주문형 집적회로들(application-specific integrated circuits)(ASIC들) - 을 포함할 수 있다. 일부 경우들에서, 특수 목적 프로세서들은, 무엇보다도, 이미지 프로세싱, 이미지 정렬, 및 이미지들의 병합을 할 수 있다. 데이터 스토리지(208)는 하나 이상의 휘발성 및/또는 비휘발성 저장 컴포넌트들, 이를테면 자기, 광, 플래시, 또는 유기 스토리지를 포함할 수 있고, 프로세서(206)와 전체적으로 또는 부분적으로 통합될 수 있다. 데이터 스토리지(208)는 착탈식 및/또는 비-착탈식 컴포넌트들을 포함할 수 있다.
프로세서(206)는 본 명세서에서 설명되는 다양한 기능들을 수행하기 위해 데이터 스토리지(208)에 저장된 프로그램 명령어들(218)(예컨대, 컴파일된 또는 비-컴파일된 프로그램 로직 및/또는 머신 코드)를 실행할 수 있다. 그러므로, 데이터 스토리지(208)는, 컴퓨팅 디바이스(200)에 의한 실행 시, 컴퓨팅 디바이스(200)로 하여금 본 명세서 및/또는 첨부 도면들에서 개시된 방법들, 프로세스들, 또는 동작들 중 임의의 것을 수행하게 하는 프로그램 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 프로세서(206)에 의한 프로그램 명령어들(218)의 실행은 프로세서(206)가 데이터(212)를 사용하는 것을 초래할 수 있다.
예로서, 프로그램 명령어들(218)은 컴퓨팅 디바이스(200) 상에 설치된 운영 체제(222)(예컨대, 운영 체제 커널, 디바이스 드라이버(들), 및/또는 다른 모듈들)와 하나 이상의 애플리케이션 프로그램들(220)(예컨대, 카메라 기능들, 주소록, 이메일, 웹 브라우징, 소셜 네트워킹, 및/또는 게이밍 애플리케이션들)을 포함할 수 있다. 마찬가지로, 데이터(212)는 운영 체제 데이터(216)와 애플리케이션 데이터(214)를 포함할 수 있다. 운영 체제 데이터(216)는 운영 체제(222)에 주로 액세스 가능할 수 있고, 애플리케이션 데이터(214)는 애플리케이션 프로그램들(220) 중 하나 이상에 주로 액세스 가능할 수 있다. 애플리케이션 데이터(214)는 컴퓨팅 디바이스(200)의 사용자에게 보일 수 있거나 또는 그러한 사용자로부터 숨겨지는 파일 시스템으로 배열될 수 있다.
애플리케이션 프로그램들(220)은 하나 이상의 응용 프로그래밍 인터페이스들(application programming interfaces)(API들)을 통해 운영 체제(222)와 통신할 수 있다. 이들 API들은, 예를 들면, 애플리케이션 프로그램들(220)이 애플리케이션 데이터(214)를 판독하는 것 및/또는 기입하는 것, 정보를 통신 인터페이스(202)를 통해 송신하거나 또는 수신하는 것, 사용자 인터페이스(204) 상에 정보를 수신 및/또는 디스플레이하는 것 등을 용이하게 할 수 있다.
일부 속칭들에서, 애플리케이션 프로그램들(220)은 줄여서 "앱들"이라고 지칭될 수 있다. 덧붙여, 애플리케이션 프로그램들(220)은 하나 이상의 온라인 애플리케이션 스토어들 또는 애플리케이션 마켓들을 통해 컴퓨팅 디바이스(200)에 다운로드 가능할 수 있다. 그러나, 애플리케이션 프로그램들은 컴퓨팅 디바이스(200) 상에 다른 방식들로, 이를테면 웹 브라우저를 통해 또는 물리적 인터페이스(예컨대, USB 포트)를 통해 컴퓨팅 디바이스(200) 상에 또한 설치될 수 있다.
카메라 컴포넌트들(224)은, 개구부, 셔터, 레코딩 표면(예컨대, 사진 필름 및/또는 이미지 센서), 렌즈, 및/또는 셔터 버튼을 비제한적으로 포함할 수 있다. 카메라 컴포넌트들(224)은 프로세서(206)에 의해 실행되는 소프트웨어에 의해 적어도 부분적으로 제어될 수 있다.
2. 예시적 컬러 모델들
이 구역은, 일반적 관점에서, 컬러가 컴퓨터 스크린 상에서 또는 이미지 파일 내에서 표현될 수 있는 방식들을 설명한다. 이 정보는 다음의 구역들에서 설명되는 이미지 프로세싱 기법들의 맥락에서 유용할 수 있다.
캡처된 이미지들은 다수의 컬러 모델들을 사용하여 디지털적으로 표현될 수 있다. 예를 들어, 적색-녹색-청색(RGB) 컬러 모델은 전자 출력 디바이스들, 이를테면 컴퓨터 스크린들 상의 이미지들의 디스플레이를 위해 사용될 수 있다. RGB는 적색, 녹색, 및 청색 광이 컬러들의 스펙트럼을 생성하기 위해 다양한 방식들로 함께 가산되는 가색 모델(additive color model)이다. 예를 들면, 시안은 녹색과 청색을 결합하여 형성될 수 있으며, 황색은 적색과 녹색을 결합하여 형성될 수 있으며, 마젠타는 적색과 청색을 결합하여 형성될 수 있고, 백색은 적색, 녹색, 및 청색을 결합하여 형성될 수 있다.
RGB 이미지의 특정 화소가 각각의 면이 0부터 미리-정의된 최대 값(예컨대, 255)까지 가변할 수 있는 3-면 튜플 (R,G,B)로서 표현될 수 있다. 그 면들이 모두가 0이면, 그 결과는 흑색일 수 있다. 그 면들의 모두가 최대 값에 있다면, 그 결과는 가장 밝은 표현가능 백색일 수 있다. (본 명세서에서 설명되는 컬러 면들은 컬러 채널들이라고 또한 지칭될 수 있다.)
다른 컬러 모델이 YCbCr이다. 일부 구현예들에서, 이 컬러 모델은 이미지의 대체 표현으로서 사용될 수 있다. 특히, Y 면은 화소의 밝기를 나타낼 수 있고, Cb 면 및 Cr 면은 각각 청색-황색 크로미넌스 및 적색-녹색 크로미넌스를 나타낼 수 있다. 예를 들면, 청색-황색 크로미넌스는 RGB 이미지에서의 녹색 화소 값에 의해 나누어진 RGB 이미지에서의 청색 화소 값에 의해 표현될 수 있고, 적색-녹색 크로미넌스는 RGB 이미지에서의 녹색 화소 값에 의해 나누어진 RGB 이미지에서의 적색 화소 값에 의해 표현될 수 있다. 따라서, YCbCr 컬러 모델은 RGB 컬러 모델과 잘 정의된 관계를 가지고 상대적으로 쉽게 이 RGB로 또는 이 RGB로부터 변환될 수 있다.
3. 예시적 화이트-밸런싱
화이트-밸런싱은 이미지가 캡처되었던 실세계 장면에서의 실제 백색들을 그 이미지에서의 백색이 적절히 반영하는 것을 보장하려는 시도에서 디지털 카메라 디바이스, 또는 연관된 소프트웨어가 캡처된 이미지에 대해 할 수 있는 조정이다. 화이트-밸런스를 이해하기 위해, 색 온도의 개념을 먼저 이해하는 것이 도움이 된다.
색 온도는 이미지 또는 장면에서의 청색 광의 양 대 적색 광의 양의 비율에 기초하여 광의 품질을 측정한다. 색 온도는 켈빈(K) 도의 단위로 표시된다. 더 높은 색 온도(즉, 더 큰 켈빈 값)를 갖는 이미지 또는 장면이 더 낮은 색 온도(즉, 더 작은 켈빈 값)를 갖는 이미지 또는 장면보다 더 많은 청색을 가진다. 따라서, "더 차가운" 광이 더 높은 색 온도를 갖는 한편, 더 따뜻한 광이 더 낮은 색 온도를 갖는다.
사람의 눈들 및 뇌는 상이한 색 온도들에 적응할 수 있다. 예를 들면, 사람들은 백색 물체가 강한 햇빛 하에서 보이는지 또는 백열등들로 조명되는 방에서 보이는지에 상관없이 그 백색 물체를 백색으로서 본다. 디지털 카메라 디바이스들은 장면의 색 온도를 측정하기 위해 빌트-인 센서들을 보통 가지고, 최종 결과가 인간이 장면을 인식하는 방법에 가깝도록 장면의 캡처된 이미지들을 프로세싱하는 알고리즘을 사용할 수 있다. 이미지에서의 백색들을 장면에서의 백색들과 유사하게 만드는 이 조정이 화이트-밸런싱이라고 지칭된다. 현재 화이트-밸런스 알고리즘들은 충분히 정확하지 않을 수 있어서 모든 이미지의 백색점이 그 이미지가 표현하는 장면의 백색점과 유사하다. (이미지의 백색점은 이미지에서의 "백색"을 정의하는 크로미넌스 값들을 나타낸다.)
본 명세서에서의 실시예들은 넓은 범위의 이미지 센서 하드웨어로 동작할 수 있는 고품질 화이트-밸런스 기법들을 제공한다. 이들 기법들은 실시간, 또는 거의-실시간으로, 소프트웨어로 동작한다. 이는 다양한 이미지 센서들과 함께 제공될 하드웨어-특정 화이트-밸런스 알고리즘들에 대한 필요성을 제거할 수 있다.
이 목표를 성취하기 위해, 본 명세서에서의 실시예들은 "외부" 화이트-밸런싱된 이미지의 외양을 고려하고, "입력" 이미자의 외양에 의존하지 않는다(여기서, "입력" 이미지는 화이트-밸런스 알고리즘의 적용 전에 이미지 센서에 의해 캡처된 이미지이다). 이는 하나의 카메라가 일관되게 틴팅된 시안인 이미지들을 생성하고, 다른 카메라가 일관되게 틴팅된 자색인 이미지들을 생성한다면, (흑색 레벨이 정정되었다는, 이미지들이 선형이라는 등의 유사한 방사성 특성들을 양 이미지들이 갖는다고 가정하면) 예를 들어, 본 명세서에서의 화이트-밸런스 알고리즘은 동일한 화이트-밸런싱된 출력 이미지를 생성할 수 있다는 것을 의미한다. 이는 본 명세서에서의 화이트-밸런스 알고리즘이 (예컨대, 하나 이상의 기계 학습 기법들에 의해) 하나의 제조업자의 하드웨어에 의해 캡처된 이미지들 상에서 트레이닝되면, 그 알고리즘은 다른 제조업자의 하드웨어에 의해 캡처된 이미지들 상에서 여전히 잘 작동해야 한다는 것을 의미한다.
"출력" 화이트-밸런싱된 이미지들을 고려하는 특성은 트레이닝을 또한 단순화시킨다. 통상적으로, 새로운 카메라 센서에 대해 화이트-밸런스 알고리즘을 구현하는 것은 그 센서로 이미지들의 큰 데이터세트를 수집하는 것과, 느리고 고비용의 것인 그들 이미지들의 각각에 대한 발광체 컬러에 수동으로 주석을 붙이는 것을 수반한다. 하지만 본 명세서에서 설명되는 접근법으로, 화이트-밸런스 알고리즘이 공개적-이용가능 이미지들에 기초하여 트레이닝될 수 있어서, 화이트-밸런스 알고리즘은 그들 이미지들의 화이트-밸런스를 재현한다.
본 명세서에서의 화이트-밸런스 알고리즘은 고품질 결과들을 생성할 뿐만 아니라, 20%~40% 오류 감소에 의해 학계 논문에서 최신 상태를 현재 능가한다. 그러나, 현재 최신 기법들은 상이한 이미지 센서들 전체에 걸쳐 일반화하도록 설계되지 않는다.
덧붙여, 본 명세서에서의 화이트-밸런스 알고리즘은 멱등(idempotent)이 되도록 설계되는데, 이는 그 알고리즘이 이미지에 한번 적용된다면, 이미지를 화이트-밸런싱시키고, 화이트-밸런싱된 이미지에 다시 적용된다면, 이미지에 대해 추가의 외양적 변경들이 없게 한다는 것을 의미한다. 이 특성은 입력 이미지의 틴트가 사진 파이프라인에서의 일부 다른 화이트-밸런스 알고리즘에 의해 변한다면 그 알고리즘이 실패하지 않을 것임을 또한 의미한다.
그 문제를 공식적으로 프레임화하기 위하여, 흑색-레벨 정정이 이미 일어난 그리고 화소 값들이 포화되지 않은 (예컨대, 화소의 각각의 컬러 채널에서의 컬러들의 세기들이 일부 임계 값, 이를테면 255 미만인) 완전히 측광용 선형 이미지를 고려한다. 로그-공간 표현들이 편의를 위해 아래에서 사용될 수 있다.
위에서 언급된 바와 같이, RGB 화소 [I r ,I g ,I b ]는 "트루(true)" 또는 화이트-밸런싱된 컬러 [W r,W g,W b]와 장면의 발광체 [I r ,I g ,I b ]의 곱일 수 있다. 따라서 아래와 같다:
Figure pct00001
그럼에도 불구하고, 수학식 (1), (2), 및 (3)은 문제의 과도-단순화인데, 그 수학식들이 음영, 반사율 특성들, 공간적-가변 조명 등을 무시하여서이다. 그렇더라도, I가 주어지면, 목표는 L을 추정하고 그것으로, W=I/L을 생성하는 것이다. 그 목적을 위해, IW에 대한 크로미넌스 표현들이 다음으로 정의될 수 있다:
Figure pct00002
덧붙여, IW에 대한 루미넌스의 표현을 다음으로 정의하는 것이 편리하다:
Figure pct00003
이 루미넌스 표현은 uv의 추정에서의 신뢰도를 나타내며 - 화소의 r, g, 또는 b 값들 중 어느 것이 영에 가깝다면, 적어도 하나의 크로미넌스 추정치가 잡음성이 되거나 또는 잘못될 가능성이 있다. W의 절대 스케일링이 본 명세서에서의 실시예들에서 명시적으로 고려될 것이 필요하지 않으므로, 발광체 L을 추정하는 문제는 단지 다음의 두 숫자들로서 표현될 수 있는 L의 크로미넌스를 추정하는 것으로 추가로 단순화된다:
Figure pct00004
로그들의 특성들에 의해, 수학식 (1), (2), 및 (3)의 공식은 다음의 로그-크로미넌스 공간에서 다시 쓰여질 수 있다:
Figure pct00005
결과로서, 이미지의 화이트-밸런스를 정정하는 것은 다음의 두 양들, 즉, L u L v 를 결정하는 것으로 환산된다. 절대 스케일 모호성 때문에, (L u ,L v )의 RGB 공간에서부터 UV 공간으로의 역 매핑은 정의되지 않는다. 그러므로, L u L v 를 결정하면, L은 (L r ,L g ,L b )의 복원을 허용하는 단위-놈(unit-norm)이라고 가정될 수 있다:
Figure pct00006
이 로그-크로미넌스 공식은 RGB 공식보다 작업하기에 더 단순하다. 3개가 아니라 2개의 미지수가 있고, WI에 관련하여 배수적 제약 조건이 아니라 선형 제약 조건이 있다.
지상 실측(ground truth) 조명 L로 입력 이미지 I에 대해 이들 값들 (L u ,L v )와 궁극적으로 (L r ,L g ,L b )를 결정하기 위하여, 2-차원 크로미넌스 히스토그램 N은 구축될 수 있다. 이 히스토그램에서, N(u,v)는 크로미넌스가 거의 (u,v)인 I에서의 화소들의 수를 표시하며, 여기서 히스토그램 카운트들은 입력 이미지의 각각의 화소들의 루미넌스에 의해 가중된다. 이 가중은 각각의 크로미넌스 값들에서의 신뢰도를 반영한다. 공식적으로:
Figure pct00007
여기서 꺽쇠 괄호들은 표시자 함수를 나타내고,
Figure pct00008
은 히스토그램의 빈-폭(bin-width)이다. (실제로,
Figure pct00009
=0.025이고 256-빈 히스토그램들이 사용될 수 있으며; 그러나,
Figure pct00010
의 다른 값들과 다른 수의 히스토그램 빈들이 대신 사용될 수 있다.)
히스토그램 N을 구축한 후, 그것은 일정 질량을 갖도록 정규화될 수 있다. 게다가, 각각의 빈에서의 카운트의 제곱근이 취해질 수 있으며, 이는 히스토그램의 특징들의 효과를 개선할 수 있다. 그럼에도 불구하고, 동일한 변환이 전체 히스토그램에 적용되는 한 임의의 애드-혹 정규화가 가능하다.
도 3은 상단 행에서 동일한 이미지의 세 가지 틴팅된 버전들을, 그리고 하단 행에서 각각의 이미지의 대응 크로미넌스 히스토그램을 포함한다. 도 3은 상이한 틴트들을 제시하기 위해 상이한 밝기 레벨들을 사용하여 흑색 및 백색에서 이들 이미지들을 묘사한다. 도 3의 이미지들의 컬러 버전들에서, 좌측 열의 이미지는 틴팅된 녹황색이며, 중간 열에서의 이미지는 화이트-밸런싱되고, 우측 열에서의 이미지는 틴팅된 적황색이다.
각각의 크로미넌스 히스토그램의 x-축의 좌측 끝에서부터 우측 끝으로 이동하면, 도미넌트 블루(dominant blue)에서부터 도미넌트 옐로우(dominant yellow)까지 연관된 이미지의 청색-황색 틴트를 변경시키는 것을 표현한다. 비슷하게, 각각의 크로미넌스 히스토그램의 y-축의 상단 끝에서부터 하단 끝으로 이동하면, 도미넌트 레드(dominant red)에서부터 도미넌트 그린(dominant green)까지 연관된 이미지의 적색-녹색 틴트를 변경시키는 것을 표현한다. 종합적으로, 각각의 크로미넌스 히스토그램은 이 x-y 도면 상의 각각의 포지션에 속하는 크로미넌스를 갖는 화소들의 상대적인 수를 나타낸다. 따라서, 좌측-열 크로미넌스 히스토그램에서의 포인트들의 클러스터는 녹색 및 황색 틴트를 나타내며, 중간-열 크로미넌스 히스토그램에서의 포인트들의 클러스터는 중성(화이트-밸런싱된) 틴트를 나타내고, 우측-열 크로미넌스 히스토그램에서의 포인트들의 클러스터는 적색 틴트와 황색 틴트를 나타낸다.
포인트들의 각각의 클러스터의 중심은 연관된 이미지의 백색점을 나타내고, 크로미넌스 히스토그램의 원점은 사람에게 백색으로 보이는 것이다. 크로미넌스 히스토그램의 원점 주위로 포인트들의 클러스터를 집중시킴으로써, 중간 틴트가 성취될 수 있다.
각각의 이미지의 크로미넌스 히스토그램은 다른 크로미넌스 히스토그램들의 병진된 버전이고(히스토그램 연산에 의해 도입된 샘플링을 무시함), 히스토그램의 모양은 변경되지 않는다. 따라서, 이미지를 틴팅하는 것은 히스토그램-공간에서의 병진에 의해서만 이미지의 크로미넌스 히스토그램에 영향을 미친다. 이는 uv가 그 속에 있는 것으로서 정의된 결과이며 - RGB 채널을 스케일링하는 것은 로그-크로미넌스 채널을 시프트시키는 것과 동등하다. 루미넌스는 이 병진에 아무런 영향을 미치지 않는다.
이미지-틴팅과 히스토그램-시프팅 사이의 등가성은 화이트-밸런싱을 용이하게 한다. 특히, 화이트-밸런싱 알고리즘은 이미지의 일부 또는 모든 가능한 틴트들을 고려하여, 각각의 틴팅된 이미지를 스코어링한 다음, 최고-스코어링 틴트(또는 아니면, 그 역)를 입력 이미지의 추정된 조명으로서 제공함으로써 동작할 수 있다. 예를 들면, 중간 열 크로미넌스 히스토그램에 연관된 틴트가 최고 스코어를 가져서 화이트-밸런스 알고리즘이 입력 이미지를 중간색이 되게 틴팅하는 것이 바람직할 것이다.
순수하게, 이 스코어링을 하는 것은 고비용 항목처럼 보일 수 있는데, 그것이, 어떤 스코어링 기능이 각각의 틴트에 적용되는, 모든 가능한 틴트들 전체에 걸친 브루트-포스 검색(brute-force search)을 요구하여서이다. 그러나, 스코어링 기능이 히스토그램 빈들의 선형 조합임을 전제로, 이 브루트-포스 검색은 실제로 N과 어떤 필터 F의 단지 콘볼루션이고, 콘볼루션 연산들이 효율적이 될 수 있게 하는 많은 방법들이 있다.
따라서, 하이 레벨에서, 화이트-밸런스 알고리즘이 다음의 단계들을 수행할 수 있다: (i) 입력 이미지 I로부터 크로미넌스 히스토그램 N을 구축, (ii) 그 히스토그램과 어떤 필터 F를 컨볼빙, 그리고 (iii)
Figure pct00011
를 생성하기 위해 하이-스코어링(예컨대, 최고-스코어링) 조명
Figure pct00012
을 사용. 더 공식적으로:
Figure pct00013
여기서 *는 콘볼루션 연산자이다.
이 절차는 이 콘볼루션이 정확한 출력을 생성하도록 트레이닝 데이터로부터 어떤 필터 F를 학습시키는 것을 수반한다. 필터를 트레이닝시키기 위해, 다항 로지스틱 회귀분석 또는 구조화된 예측과 유사한 모델이 콘볼루션 프레임워크에 적용될 수 있다. 공식적으로, 이는 다음의 최적화 문제로서 표현될 수 있다:
Figure pct00014
여기서:
Figure pct00015
수학식 (21)에서, F는 가중치들이 학습되는 필터이며, {N ( i )} 및 {L ( i )}는 각각 트레이닝 세트 크로미넌스 히스토그램들 및 지상 실측 조명들이고, (N ( i )*F)(u,v)는 로케이션 (u,v)에서 인덱싱된 N ( i )F의 콘볼루션이다. 편의를 위해, P(u,v)는 N ( i )*F의 함수로서의, 히스토그램에서의 각각의 빈 (u,v)에 대한 softmax 확률이다. 따라서, P(u,v)는 각각의 트레이닝 히스토그램과 필터의 콘볼루션의 정규화된 지수 함수를 나타낸다.
필터 가중치들은 어떤 하이퍼-파라미터 λ에 의해 조정된 F의 엘리먼트들의 제곱합을 최소화함으로써 정형화된다. 하이 레벨에서, 손실을 최소화하는 것은 N ( i )*F가 다른 곳에서보다
Figure pct00016
에서 더 크도록 하는 F를 초래하며, 여기서 C(u,v,u *,v *)는 다음과 같이 잘못 추정된 발광체들에서 발생하는 손실을 정의한다:
Figure pct00017
그리고:
Figure pct00018
C는 컬러-불변성 알고리즘들이 평가될 수 있는 손실 측정치인, (u,v) 및 (u *,v *)에 의해 정의된 조명들 사이의 각도이다. C의 시각화물들은 도 4에서 볼 수 있다. 특히, 도 4는 C(u,v,u *,v *)의 시각화물들을 제안된 조명 컬러 (u,v)의 함수로서 묘사하며, 각각의 도면은 지상 실측 조명 컬러 (u *,v *)의 차이 선택을 도시한다(원형). 오류가 RGB 조명 벡터들 사이의 각도의 측면에서 측정되기 때문에, 이 오차 함수의 모양은 지상 실측 조명에 의존하여 상이하게 보일 수 있다.
트레이닝 동안, 수학식 (21)은 브로이덴-플레처-골드파브-샤노(Broyden-Fletcher-Goldfarb-Shanno)(BFGS) 기법들, 이를테면 L-BFGS(limited-memory BFGS)로 수렴하도록 풀이될 수 있다. 특히, F는 모든 영들로 초기화될 수 있다(손실 함수의 비-볼록형에도 불구하고 작동한다). 이 문제는 로지스틱 회귀분석과 유사하지만 모든 (u,v)는, 어떤 지상 실측 크로미넌스 (u *,v *)에 대해 각각의 가능한 (u,v) 크로미넌스의 비용을 측정하는, 자신에게 연관된 C에 의해 정의되는 가변 손실을 갖는다. 가변 비용은 그 모델을 구조화된 예측-유사 프로세스와 비슷해지게 한다.
그렇더라도, 학습된 F는 화이트-밸런싱된 장면들에서의 컬러들의 분포를 반영하고, F는 콘볼루션으로서 평가된 F와 결합되는 크로미넌스 히스토그램들의 전술한 시프트-불변성의 결과로서 트레이닝 이미지들의 틴트들과는 독립적이다. 추론 동안, F는 그 모델에 따라 가장 가능성 있는 조명을 발견하기 위해 사용될 수 있지만, 그 모델은 그 조명의 공산을 실제로 고려하지 않는다. 이는 본 명세서에서 사용되는 자연색들의 모델이 구별 트레이닝에 의해 학습된다는 것을 제외하면, 자연색들의 분포의 생성 모델을 학습하는 것과 유사하다.
구별 모델은 관찰된 변수에 대한 비관찰된 변수의 의존도를 일반적으로 모델링한다. 그 반면, 생성 모델은 모든 변수들의 완전한 확률적 모델이다. 따라서 생성 모델은, 예를 들어, 그 모델에서의 임의의 변수의 값들을 생성하는데 사용될 수 있는 반면, 구별 모델은 관찰된 변수들을 조건으로 하여 비관찰된 변수들의 샘플링을 허용한다.
유리하게는, 본 명세서에서의 모델은, 특정 카메라 또는 이미지 센서에 전문화된 모델을 학습하는 것이 아니라, 자연 이미지들의 모델만을 여전히 학습하면서 구별 트레이닝의 능력을 사용한다.
A. 예시적 필터링 효율 개선
이전에 설명된 알고리즘은 크로미넌스 히스토그램들과 필터를 컨볼빙하지만, 정확히 어떤 종류의 필터가 사용되어야 하는지를 특정하지 않았다. 합리적인 선택은 "완전한" 필터 - 필터링되고 있는 히스토그램과 동일한 사이즈의 필터를 사용하는 것이다. 하지만 그런 완전한 필터는 (심지어 콘볼루션을 최적화하기 위해 고속 푸리에 변환들(fast Fourier transforms)(FFT들)을 사용할 때에도) 평가하는데 다소 비싸고, 정형화 및 트레이닝을 어렵게 할 수 있는 매우 많은 수의 자유 파라미터들을 가진다.
위에서 설명된 실시예들을 잘 수행하는 필터들은 로그-폴라(log-polar) 또는 "망막국소(retinotopic)" 구조를 갖는 경향이 있어서, 그 필터는 필터의 중심 근처에서 다량의 고주파수 변동을 포함하고, 그 중심에서부터 멀리에서는 저주파수 변동을 포함한다. 직관적으로, 이는 이미지의 조명 컬러를 국소화할 때, 그 모델은 백색점 근처에서 크로미넌스 변동에 세심한 주의를 해야 하는 한편, 백색점에서부터 멀리에서는 크로미넌스 변동만을 폭넓게 고려한다는 말이다.
이 관찰로, 피라미드 기반 필터링이 사용될 수 있다. 피라미드 필터링은 입력 신호의 가우시안 피라미드(예컨대, 이중선형 다운샘플링을 사용한 N(u,v)로부터의 3-레벨, 5-레벨, 또는 7-레벨)를 구축한 다음, 작은 필터(예컨대, 3×3, 5×5, 또는 7×7 필터)로 각각의 스케일을 필터링한 다음, 필터링된 피라미드를 (예컨대, 이중선형 업샘플링을 사용하여) 이미지 속으로 붕괴됨으로써 작동한다. 이 프로세스는 N(u,v)와 망막국소-유사 필터를 컨볼빙하는 것과 동일하거나 또는 거의 동일한 출력(다운샘플링 및 업샘플링에 의해 발생된 필요한 근사값들을 무시함)을 생성하지만, 더욱 효율적이다. 효율적인 것 외에도, 이 필터는 수 개의 자유 파라미터들을 가져서, 최적화 및 정형화가 용이하고, 중심에서 미세한 세부사항을 묘사할 수 있는 한편 중심에서부터 멀리에서는 형상적으로 매끄럽고 조악한 것을 묘사할 수 있다. 정형화는 수학식 (20)에서처럼, 모두가 단일 하이퍼-파라미터 λ에 의해 수정된 각각의 스케일에서의 필터 계수들의 제곱된 2-놈을 최소화함으로써 발생할 수 있다. 피라미드 필터링의 시각화물은 도 5에서 볼 수 있다.
특히, 도 5의 상단 행은 중심에서의 강한 세부사항과 다른 곳에서의 조악한 세부사항을 갖는 필터와 히스토그램을 컨볼빙하는 것을 묘사한다. 하단 행은 히스토그램으로부터 피라미드를 대신 구축하며, 피라미드의 각각의 스케일을 작은 필터로 필터링한 다음, 필터링된 히스토그램을 붕괴시킴으로써 동일한 것이 더 효율적으로 필터링한다는 평가를 묘사한다. 후자의 접근법을 사용함으로써, 필터링 속력은 감소된다.
피라미드 필터링은 이미지에서의 모든 포지션에서의 형상 콘텍스트 또는 기하학적 블러 밀도와 같은 컴퓨터 비전 특징들을 컴퓨팅한 다음, 각각의 특징을 선형 분급기로 분류하는 것으로 생각될 수 있다. 그러나, 본 명세서에서의 피라미드 근사는 특징의 샘플링 패턴이 극(polar)이 아니라 직사각형이라는 것과, 그 특징의 스케일들이 두 제곱으로 이산화되는 것과, 각각의 스케일에서의 그 특징의 샘플링 패턴들이 중첩되는 것을 가정한다. 이미지-공감 함수를 근사화시키기 위해 필터를 피라미드의 각각의 스케일에 또한 적용하는 이 기법은 콘볼루션 피라미드들과 또한 유사하다.
B. 예시적 일반화
이전에 설명된 알고리즘은 I에서의 화소들의 크로미넌스 값들로부터 구축된 히스토그램 N을 필터링함으로써 이미지 I로부터 조명 L을 추정할 수 있다. 사실상, 이 모델은 각각의 화소의 컬러를 정규화하는 것을 시도하지만 공간적 정보를 무시하는 복잡한 종류의 "회색계(gray world)" 알고리즘이다. 그러나, 더 나은 성능을 획득하기 위해, 컬러 항상성 알고리즘은 정보의 추가적인 소스들, 이를테면 에지들 또는 공간적 이웃들의 컬러를 사용할 수 있다.
그 목적을 위해, 본 명세서에서 개시되는 알고리즘들은 확장될 수 있다. 단일 이미지 I로부터 단일 히스토그램 N을 구축 및 분류하는 대신, "증강된" 이미지 세트
Figure pct00019
로부터 히스토그램 세트 {N j }가 필터링될 수 있다. 필터링된 응답들은 softmax 확률들을 컴퓨팅하기 전에 합산될 수 있다. 이들 증강된 이미지들은 이미지 I의 에지 및 공간적 통계를 반영함으로써, 그 모델이 개개의 화소 크로미넌스에 비해 크로미넌스 정보의 다수의 소스들을 결합하는 것을 가능하게 한다.
일반적인 이미지 프로세싱 동작들, 이를테면 필터 뱅크, 미디언 필터들, 형태론적 동작들 등을 I에 적용함으로써 이들 증강된 이미지들
Figure pct00020
을 구축할 수 있다. 하지만, 크로미넌스 히스토그램들이 구축되는 이미지는 입력 이미지의 채널들에 대한 컬러-스케일링을 크로미넌스 히스토그램 공간에서의 시프트들에 매핑해야 한다. 이는 증강된 이미지들이 이 특성을 보존해야 하고, 채널 당 스케일링을 히스토그램 공간에서의 동일한 시프트에 매핑해야 함을 의미한다. 따라서, 사용할 제한된 세트의 가능한 증강된 이미지들이 있을 수 있다.
충족될 컬러-스케일링/히스토그램-시프팅 특성에 대해, 매핑은 스칼라곱을 보존해야 한다 - 입력 이미지 I에서 채널의 스케일링-후-필터링된 버전이 그 채널의 필터링-후-스케일링된 버전과 동일해야 한다는 것을 알 수 있다. 덧붙여, 매핑의 출력은 비-음수여야 하는데 이들 값들의 로그가 취해질 수 있어서이다. 세 개의 이러한 매핑들은 다음과 같다:
Figure pct00021
여기서 blur(ㆍ,w)는 폭 w의 박스필터이다. 대체로, 이미지의 박스 필터링은 필터링된 이미지에서의 각각의 화소가 입력 이미지에서의 자신의 이웃 화소들의 평균 값과 동일한 값을 갖도록 선형 필터를 입력 이미지에 적용한다. 예를 들면, 3 x 3 박스 필터는 블러, 선명화, 에지들을 검출, 및 입력 이미지에 대한 다른 효과들을 수행하기 위해 입력 이미지의 각각의 화소에 적용될 수 있다.
함수
Figure pct00022
는 이미지의 각각의 채널과 어떤 필터 filt를 컨볼빙한 다음 적어도 0이 되도록 필터링된 값을 클램핑한다. 함수
Figure pct00023
Figure pct00024
가 블러가 되도록 I에서의 화소 값들의 국소 놈을 컴퓨팅한다. 함수
Figure pct00025
는 "max" 필터이고,
Figure pct00026
는 "min" 필터이다. 함수
Figure pct00027
는 정규화된 화소 값 모멘트를 컴퓨팅하며, 여기서
Figure pct00028
는 화소 값들의 국소 표준 편차를 컴퓨팅한다 - 일종의 비-지향성 에지/텍스처 검출기이다.
다음의 모든 세 개의 이들 연산들은 스칼라곱을 보존한다는 것이 입증될 수 있다:
Figure pct00029
확장 모델에서, 다음의 네 개의 채널들이 사용된다: 입력 이미지 I 자체, "선명화(sharpening)" 필터로 필터링되고 수정된 이미지, 대형-지원 "맥스-필터"-유사 매트릭스, 및 소형-지원 국소 표준 편차 매트릭스:
Figure pct00030
도 6은 이들 채널들의 각각에 의해 캡처된 정보의 시각화물들을 묘사한다. 트레이닝 동안 이들 네 개의 피라미드 필터들이 각각의 채널에 하나씩 학습된다. 개개의 필터 응답들은 softmax 확률들을 컴퓨팅하기 전에 합산된다. 그러므로, 비록 본 명세서에서 개시되는 알고리즘이 그냥 입력 이미지 I의 화소 값들을 자신의 입력으로서 사용할 수 있지만, "증강된" 이미지들의 세트를 입력으로서 사용함으로써 성능이 개선될 수 있다. 확장 모델은 입력 이미지 외에도 국소 에지를 캡처하는 네 개의 증강된 이미지들과 이웃 통계를 사용한다.
4. 예시적 동작들
도 7은 예시적 실시예를 도시하는 흐름도이다. 도 7에 의해 예시된 실시예는 컴퓨팅 디바이스, 이를테면 디지털 카메라 디바이스(100)에 의해 수행될 수 있다. 그러나, 실시예는 다른 유형들의 디바이스들 또는 디바이스 서브시스템들에 의해 수행될 수 있다. 게다가, 실시예는 이 명세서 또는 첨부 도면들에서 개시되는 임의의 양태 또는 특징과 조합될 수 있다.
도 7의 블록 700은 입력 이미지를 획득하는 것을 수반할 수 있다. 입력 이미지는 입력 이미지에서의 백색을 정의하는 크로미넌스 값들에 의해 표현되는 백색점을 가질 수 있다. 입력 이미지를 획득하는 것은 컴퓨팅 디바이스가 입력 이미지를 캡처하는 것을 수반할 수 있다.
블록 702는 가능하게는 입력 이미지의 컬러들에 기초하여, 입력 이미지의 2-차원 크로미넌스 히스토그램을 생성하는 것을 수반할 수 있다. 일부 실시예들에서, 2-차원 크로미넌스 히스토그램을 생성하는 것은 히스토그램의 각각의 차원에 대한 화소 값들의 비율의 로그를 사용하여, 일정 질량을 갖도록 2-차원 크로미넌스 히스토그램을 정규화하는 것, 및 2-차원 크로미넌스 히스토그램의 각각의 빈의 제곱근을 취하는 것을 수반할 수 있다.
블록 704는 2-차원 크로미넌스 히스토그램과 필터를 컨볼빙하여 2-차원 히트 맵을 생성하는 것을 수반할 수 있다. 2-차원 히트 맵에서의 엔트리들은 각자의 엔트리들에 대응하는 각자의 틴트들이 입력 이미지의 백색점에 얼마나 가까운지의 각자의 추정치들을 표현할 수 있다.
블록 706은 2-차원 히트 맵에서, 히트 맵에서의 최대 값의 임계값 내에 있는 특정 값을 표현하는 엔트리를 선택하는 것을 수반할 수 있다. 임계값은 최대 값의 특정한 백분율(예컨대, 5%, 10%, 20% 등) 내에 있을 수 있거나, 또는 최대 값의 고정된 오프셋 내에 있을 수 있다. 따라서, 특정 값은 최대 값 또는 최대 값에 가까운 값일 수 있다.
블록 708은 가능하게는 선택된 엔트리에 기초하여, 입력 이미지를 틴팅하여 출력 이미지를 형성하는 것을 수반할 수 있다. 이 틴팅은 이미지에 필터를 적용하는 것을 수반할 수 있고, 필터는 선택된 엔트리에 의해 파라미터화된다. 가능한 결과로서, 출력 이미지는 입력 이미지보다 더 많이 화이트-밸런싱될 수 있다.
일부 실시예들에서, 2-차원 크로미넌스 히스토그램에서의 빈 (u,v)는 입력 이미지에서 (u,v)의 크로미넌스 임계값 내의 크로미넌스 값들을 갖는 화소들의 수를 나타낸다. 이들 실시예들에서, u는 제1 몫의 로그를 나타낼 수 있고, v는 제2 몫의 로그를 나타낼 수 있다. 제1 몫은 입력 이미지에서의 녹색 화소 값에 의해 나누어진 입력 이미지에서의 적색 화소 값일 수 있다. 제2 몫은 입력 이미지에서의 녹색 화소 값에 의해 나누어진 입력 이미지에서의 청색 화소 값일 수 있다. 게다가, 2-차원 크로미넌스 히스토그램의 빈들은 입력 이미지에서의 화소들의 루미넌스들에 의해 가중될 수 있다.
일부 실시예들에서, 필터는 각각이 각자의 트레이닝 이미지들의 각자의 알려진 조명들과 연관되는 각자의 트레이닝 이미지들의 트레이닝 크로미넌스 히스토그램들의 세트에 기초하여 트레이닝될 수 있다. 이와 같이, 필터는 각각의 트레이닝 히스토그램과 필터의 콘볼루션의 정규화된 지수 함수를 사용하여 트레이닝될 수 있다. 대안적으로 또는 부가적으로, 트레이닝 후, 필터는 화이트-밸런싱된 장면들에서의 컬러들의 분포를 나타낼 수 있고, 트레이닝 이미지들의 틴트들과는 독립적일 수 있다.
가능하게는 입력 이미지의 컬러들에 기초하여, 복수의 증강된 2-차원 크로미넌스 히스토그램들이 입력 이미지의 증강된 버전들로부터 생성될 수 있다. 입력 이미지의 증강된 버전들 각각은 필터링될 때의 스칼라곱 특성들을 보존할 수 있다. 2-차원 크로미넌스 히스토그램과 필터를 컨볼빙하는 것은, 정규화된 지수 함수를 적용하기 전에 복수의 증강된 2-차원 크로미넌스 히스토그램들의 필터링된 응답들을 합산하는 것을 수반할 수 있다.
5. 결론
본 개시내용은 다양한 양태들의 예시들로서 의도되는 본 출원에서 설명되는 특정한 실시예들의 관점으로 제한되지 않는다. 많은 변형예들 및 개조예들이 본 기술분야의 통상의 기술자들에게 명확할 바와 같이, 본원의 범위로부터 벗어남 없이 만들어질 수 있다. 본 명세서에서 열거된 것들 외에, 본 개시내용의 범위 내의 기능적으로 동등한 방법들 및 장치들은, 전술한 설명으로부터 본 기술분야의 통상의 기술자들에게 명백할 것이다. 이러한 변형예들 및 개조예들은 첨부의 청구항들의 범위 내에 속하도록 의도된다.
위의 상세한 설명은 첨부 도면들을 참조하여 개시된 시스템들, 디바이스들, 및 방법들의 다양한 특징들 및 기능들을 설명한다. 본 명세서에서 그리고 도면들에서 설명되는 예시적 실시예들은 제한하는 의미는 아니다. 본 명세서에서 제시된 요지의 범위로부터 벗어나는 일 없이, 다른 실시예들이 이용될 수 있고, 다른 변경들이 만들어질 수 있다. 본 개시내용에서 대체로 설명되고 도면들에서 예시된 본 개시내용의 양태들은, 모두가 본 개시내용에서 명시적으로 의도된 매우 다양한 상이한 구성들로 배열, 치환, 조합, 분리 및 설계될 수 있다는 것이 쉽사리 이해될 것이다.
도면들에서의 그리고 본 명세서에서 논의되는 바와 같은 메시지 흐름도들, 시나리오들, 및 흐름도들 중 임의의 것 또는 모두에 대하여, 각각의 단계, 블록, 및/또는 통신이 예시적 실시예들에 따라 정보의 프로세싱 및/또는 정보의 송신을 나타낼 수 있다. 대안적 실시예들은 이들 예시적 실시예들의 범위 내에 포함된다. 이들 대안적 실시예들에서, 예를 들어, 단계들, 블록들, 송신들, 통신들, 요청들, 응답들, 및/또는 메시지들로서 설명되는 기능들은, 수반되는 기능에 의존하여, 실질적으로 병행하여 또는 역순으로를 포함하여, 도시되거나 또는 논의되는 것과는 벗어난 순서로 실행될 수 있다. 게다가, 더 많거나 더 적은 블록들 및/또는 기능들은 본 명세서에서 논의되는 사다리 도면들, 시나리오들, 및 흐름도들 중 임의의 것과 함께 사용될 수 있고, 이들 사다리 도면들, 시나리오들, 및 흐름도들은 서로, 부분적으로 또는 전체적으로 조합될 수 있다.
정보의 프로세싱을 표현하는 단계 또는 블록이 본 명세서에서 설명되는 방법 또는 기법의 특정 논리적 기능들을 수행하도록 구성될 수 있는 회로부에 대응할 수 있다. 대안적으로 또는 부가적으로, 정보의 프로세싱을 표현하는 단계 또는 블록이 프로그램 코드(관련된 데이터를 포함함)의 모듈, 세그먼트, 또는 부분에 대응할 수 있다. 프로그램 코드는 방법 또는 기법에서의 특정 논리적 기능들 또는 액션들을 구현하기 위한 프로세서에 의해 실행 가능한 하나 이상의 명령들을 포함할 수 있다. 프로그램 코드 및/또는 관련된 데이터는 디스크, 하드 드라이브, 또는 기타 저장 매체를 포함하는 저장 디바이스와 같은 임의의 유형의 컴퓨터 판독가능 매체 상에 저장될 수 있다.
컴퓨터 판독가능 매체는, 예를 들어, 레지스터 메모리, 프로세서 캐시, 및 랜덤 액세스 메모리(RAM) 같이 짧은 시구간들 동안 데이터를 저장하는 컴퓨터-판독가능 매체와 같은 비일시적 컴퓨터 판독가능 매체를 또한 포함할 수 있다. 컴퓨터 판독가능 매체는 더 긴 시구간들 동안 프로그램 코드 및/또는 데이터를 저장하는 비-일시적 컴퓨터 판독가능 매체를 또한 포함할 수 있다. 따라서, 컴퓨터 판독가능 매체는, 예를 들어, 판독 전용 메모리(read only memory)(ROM), 광 또는 자기 디스크들, 콤팩트-디스크 판독 전용 메모리(compact-disc read only memory)(CD-ROM) 같은 보조 또는 영구적 장기 스토리지를 포함할 수 있다. 컴퓨터 판독가능 매체는 또한 임의의 다른 휘발성 또는 비휘발성 저장 시스템들일 수 있다. 컴퓨터 판독가능 매체가 컴퓨터 판독가능 저장 매체, 예를 들어, 또는 유형의 저장 디바이스로 간주될 수 있다.
더구나, 하나 이상의 정보 송신들을 나타내는 단계 또는 블록이 동일한 물리적 디바이스에서의 소프트웨어 및/또는 하드웨어 모듈들 사이의 정보 송신들에 대응할 수 있다. 그러나, 다른 정보 송신들은 상이한 물리적 디바이스들에서의 소프트웨어 모듈들 및/또는 하드웨어 모듈들 사이에 있을 수 있다.
도면들에 도시된 특정 배치구성들이 제한으로서 여겨지지 않아야 한다. 다른 실시예들이 주어진 도면에서 도시된 각각의 엘리먼트를 어느 정도 포함할 수 있다는 것이 이해되어야 한다. 게다가, 예시된 엘리먼트들의 일부가 조합 또는 생략될 수 있다. 게다가 또, 예시적 실시예가 도면들에 예시되지 않은 엘리먼트들을 포함할 수 있다.
덧붙여, 이 명세서 또는 청구범위에서의 엘리먼트들, 블록들, 또는 단계들의 임의의 열거가 명료함을 위한 것이다. 따라서, 이러한 열거는 특정 배치구성을 고수하는 이들 엘리먼트들, 블록들, 또는 단계들이 특정 순서로 수행되는 것을 요구하거나 또는 의미하는 것으로 해석되지 않아야 한다.
다양한 양태들 및 실시예들이 본 명세서에서 개시되어 있지만, 다른 양태들 및 실시예들이 본 기술분야의 통상의 기술자들에게 명확할 것이다. 본 명세서에서 개시된 다양한 양태들 및 실시예들은 예시를 위한 것이고 제한할 의도는 아니며, 진정한 범위는 다음의 청구항들에 의해 나타내어져 있다.

Claims (20)

  1. 컴퓨팅 디바이스에 의해, 입력 이미지 - 상기 입력 이미지는 상기 입력 이미지에서 백색을 정의하는 크로미넌스 값들에 의해 표현되는 백색점을 가짐 - 를 획득하는 단계;
    상기 입력 이미지의 컬러들에 기초하여, 상기 컴퓨팅 디바이스에 의해, 상기 입력 이미지의 2-차원 크로미넌스 히스토그램(two-dimensional chrominance histogram)을 생성하는 단계;
    상기 컴퓨팅 디바이스에 의해, 상기 2-차원 크로미넌스 히스토그램과 필터를 컨볼빙(convolving)하여 2-차원 히트 맵(two-dimensional heat map)을 생성하는 단계 - 상기 2-차원 히트 맵에서의 엔트리들은 각자의 엔트리들에 대응하는 각자의 틴트(tint)들이 상기 입력 이미지의 상기 백색점에 얼마나 가까운지의 각자의 추정치(estimate)들을 표현함 - ;
    상기 컴퓨팅 디바이스에 의해, 상기 2-차원 히트 맵에서, 상기 히트 맵에서의 최대 값의 임계값 내에 있는 특정 값을 표현하는 엔트리를 선택하는 단계; 및
    선택된 엔트리에 기초하여, 상기 컴퓨팅 디바이스에 의해, 상기 입력 이미지를 틴팅(tinting)하여 출력 이미지를 형성하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 2-차원 크로미넌스 히스토그램을 생성하는 단계는,
    상기 히스토그램의 각각의 차원(dimension)에 대한 화소 값들의 비율의 로그(logarithm)를 사용하는 단계;
    일정 질량(constant mass)을 갖도록 상기 2-차원 크로미넌스 히스토그램을 정규화하는 단계; 및
    상기 2-차원 크로미넌스 히스토그램의 각각의 빈(bin)의 제곱근을 취하는 단계를 포함하는, 방법.
  3. 제1항에 있어서, 상기 선택된 엔트리에 기초하여 상기 입력 이미지를 틴팅하는 단계는, 상기 이미지에 상기 필터를 적용하는 단계를 포함하고, 상기 필터는 상기 선택된 엔트리에 의해 파라미터화되는, 방법.
  4. 제1항에 있어서, 상기 2-차원 크로미넌스 히스토그램에서의 빈 (u,v)는 상기 입력 이미지에서 (u,v)의 크로미넌스 임계값 내의 크로미넌스 값들을 갖는 화소들의 수를 표현하고, u는 제1 몫의 로그를 표현하고 v는 제2 몫의 로그를 표현하며, 상기 제1 몫은 상기 입력 이미지에서의 녹색 화소 값에 의해 나누어진 상기 입력 이미지에서의 적색 화소 값이고, 상기 제2 몫은 상기 입력 이미지에서의 녹색 화소 값에 의해 나누어진 상기 입력 이미지에서의 청색 화소 값인, 방법.
  5. 제1항에 있어서, 상기 2-차원 크로미넌스 히스토그램의 빈들은 그 내부의 화소들의 루미넌스(luminance)들에 의해 가중되는(weighted), 방법.
  6. 제1항에 있어서, 상기 입력 이미지를 획득하는 단계는 상기 컴퓨팅 디바이스가 상기 입력 이미지를 캡처하는 단계를 포함하는, 방법.
  7. 제1항에 있어서, 상기 출력 이미지는 상기 입력 이미지보다 더 많이 화이트-밸런싱되는(white-balanced), 방법.
  8. 제1항에 있어서, 상기 필터는 각각이 각자의 트레이닝 이미지(training image)들의 각자의 알려진 조명(illumination)들과 연관되는 각자의 트레이닝 이미지들의 트레이닝 크로미넌스 히스토그램 세트에 기초하여 트레이닝되는, 방법.
  9. 제8항에 있어서, 상기 필터는 상기 필터와 각각의 트레이닝 히스토그램의 콘볼루션(convolution)의 정규화된 지수 함수를 사용하여 트레이닝되는, 방법.
  10. 제9항에 있어서,
    상기 입력 이미지의 컬러들에 기초하여, 상기 입력 이미지의 증강된 버전들로부터 복수의 증강된 2-차원 크로미넌스 히스토그램들(augmented two-dimensional chrominance histograms)을 생성하는 단계를 더 포함하고, 상기 입력 이미지의 상기 증강된 버전들 각각은 필터링될 때 스칼라곱 특성들을 보존하고,
    상기 2-차원 크로미넌스 히스토그램과 필터를 컨볼빙하는 단계는, 상기 정규화된 지수 함수를 적용하기 전에 상기 복수의 증강된 2-차원 크로미넌스 히스토그램들의 필터링된 응답들을 합산하는 단계를 포함하는, 방법.
  11. 제8항에 있어서, 트레이닝 후, 상기 필터는 화이트-밸런싱된 장면들에서의 컬러들의 분포를 표현하고, 상기 트레이닝 이미지들의 틴트들과는 독립적인, 방법.
  12. 프로그램 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체를 포함하는 제조 물품으로서,
    상기 프로그램 명령어들은, 컴퓨팅 디바이스에 의한 실행 시, 상기 컴퓨팅 디바이스로 하여금,
    입력 이미지 - 상기 입력 이미지는 상기 입력 이미지에서 백색을 정의하는 크로미넌스 값들에 의해 표현되는 백색점을 가짐 - 를 획득하는 동작;
    상기 입력 이미지의 컬러들에 기초하여 상기 입력 이미지의 2-차원 크로미넌스 히스토그램을 생성하는 동작;
    상기 2-차원 크로미넌스 히스토그램과 필터를 컨볼빙하여 2-차원 히트 맵을 생성하는 동작 - 상기 2-차원 히트 맵에서의 엔트리들은 각자의 엔트리들에 대응하는 각자의 틴트들이 상기 입력 이미지의 상기 백색점에 얼마나 가까운지의 각자의 추정치들을 표현함 - ;
    상기 2-차원 히트 맵에서, 상기 히트 맵에서의 최대 값의 임계값 내에 있는 특정 값을 표현하는 엔트리를 선택하는 동작; 및
    선택된 엔트리에 기초하여 상기 입력 이미지를 틴팅하여 출력 이미지를 형성하는 동작을 포함하는 동작들을 수행하게 하는, 제조 물품.
  13. 제12항에 있어서, 상기 2-차원 크로미넌스 히스토그램을 생성하는 동작은,
    상기 히스토그램의 각각의 차원에 대한 화소 값들의 비율의 로그를 사용하는 동작;
    일정 질량을 갖도록 상기 2-차원 크로미넌스 히스토그램을 정규화하는 동작; 및
    상기 2-차원 크로미넌스 히스토그램의 각각의 빈의 제곱근을 취하는 동작을 포함하는, 제조 물품.
  14. 제12항에 있어서, 상기 선택된 엔트리에 기초하여 상기 입력 이미지를 틴팅하는 동작은, 상기 이미지에 상기 필터를 적용하는 동작을 포함하고, 상기 필터는 상기 선택된 엔트리에 의해 파라미터화되는, 제조 물품.
  15. 제12항에 있어서, 상기 2-차원 크로미넌스 히스토그램에서의 빈 (u,v)은 상기 입력 이미지에서 (u,v)의 크로미넌스 임계값 내의 크로미넌스 값들을 갖는 화소들의 수를 표현하고, u는 제1 몫의 로그를 표현하고 v는 제2 몫의 로그를 표현하며, 상기 제1 몫은 상기 입력 이미지에서의 녹색 화소 값에 의해 나누어진 상기 입력 이미지에서의 적색 화소 값이고, 상기 제2 몫은 상기 입력 이미지에서의 녹색 화소 값에 의해 나누어진 상기 입력 이미지에서의 청색 화소 값인, 제조 물품.
  16. 제12항에 있어서, 상기 2-차원 크로미넌스 히스토그램의 빈들은 그 내부의 화소들의 루미넌스들에 의해 가중되는, 제조 물품.
  17. 제12항에 있어서, 상기 필터는 각각이 각자의 트레이닝 이미지들의 각자의 알려진 조명들과 연관되는 각자의 트레이닝 이미지들의 트레이닝 크로미넌스 히스토그램 세트에 기초하여 트레이닝되는, 제조 물품.
  18. 제17항에 있어서, 상기 필터는 상기 필터와 각각의 트레이닝 히스토그램의 콘볼루션의 정규화된 지수 함수를 사용하여 트레이닝되는, 제조 물품.
  19. 제18항에 있어서, 상기 동작들은,
    상기 입력 이미지의 컬러들에 기초하여, 상기 입력 이미지의 증강된 버전들로부터 복수의 증강된 2-차원 크로미넌스 히스토그램들을 생성하는 동작을 더 포함하고, 상기 입력 이미지의 상기 증강된 버전들 각각은 필터링될 때 스칼라곱 특성들을 보존하고,
    상기 2-차원 크로미넌스 히스토그램과 필터를 컨볼빙하는 동작은, 상기 정규화된 지수 함수를 적용하기 전에 상기 복수의 증강된 2-차원 크로미넌스 히스토그램들의 필터링된 응답들을 합산하는 동작을 포함하는, 제조 물품.
  20. 제17항에 있어서, 트레이닝 후, 상기 필터는 화이트-밸런싱된 장면들에서의 컬러들의 분포를 표현하고, 상기 트레이닝 이미지들의 틴트들과는 독립적인, 제조 물품.
KR1020177033078A 2015-04-17 2016-04-12 콘볼루션 컬러 정정 방법, 및 그 기록 매체 KR101873183B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/689,246 US9336582B1 (en) 2015-04-17 2015-04-17 Convolutional color correction
US14/689,246 2015-04-17
PCT/US2016/027031 WO2016168145A1 (en) 2015-04-17 2016-04-12 Convolutional color correction

Publications (2)

Publication Number Publication Date
KR20170131704A true KR20170131704A (ko) 2017-11-29
KR101873183B1 KR101873183B1 (ko) 2018-06-29

Family

ID=55860033

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177033078A KR101873183B1 (ko) 2015-04-17 2016-04-12 콘볼루션 컬러 정정 방법, 및 그 기록 매체

Country Status (6)

Country Link
US (2) US9336582B1 (ko)
EP (1) EP3284060B1 (ko)
JP (1) JP6724045B2 (ko)
KR (1) KR101873183B1 (ko)
CN (1) CN107431790B (ko)
WO (1) WO2016168145A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9336582B1 (en) * 2015-04-17 2016-05-10 Google Inc. Convolutional color correction
US9794540B2 (en) * 2015-04-17 2017-10-17 Google Inc. Hardware-based convolutional color correction in digital images
KR101936919B1 (ko) 2015-11-05 2019-04-09 구글 엘엘씨 에지-인식 양방향 이미지 프로세싱
EP3226203A1 (en) * 2016-03-30 2017-10-04 Thomson Licensing Method for detection of saturated pixels in an image
CN106412547B (zh) * 2016-08-29 2019-01-22 厦门美图之家科技有限公司 一种基于卷积神经网络的图像白平衡方法、装置和计算设备
US10402943B2 (en) 2016-10-20 2019-09-03 Htc Corporation Image enhancement device and method for convolutional network apparatus
EP3542347B1 (en) * 2016-11-15 2022-01-05 Google LLC Fast fourier color constancy
US10224004B2 (en) 2017-02-06 2019-03-05 Mediatek, Inc. Automatic white balance based on surface reflection decomposition
CN110352429B (zh) * 2017-04-20 2023-05-16 赫尔实验室有限公司 用于对象的判别定位的机器视觉系统
US10692245B2 (en) * 2017-07-11 2020-06-23 Datacolor Inc. Color identification in images
CN107578390B (zh) * 2017-09-14 2020-08-07 长沙全度影像科技有限公司 一种使用神经网络进行图像白平衡校正的方法及装置
EP3684596A4 (en) * 2017-12-13 2021-05-19 Hewlett-Packard Development Company, L.P. PREDICTING THERMAL BEHAVIOR FROM A CONTINUOUS TONE MAP
CN108537852B (zh) * 2018-04-17 2020-07-07 四川大学 一种基于图像局部对比度的自适应颜色恒常性方法
EP3776377A4 (en) 2018-05-28 2021-05-12 Samsung Electronics Co., Ltd. METHOD AND SYSTEM FOR DNN-BASED IMAGING
RU2709661C1 (ru) 2018-09-19 2019-12-19 Общество с ограниченной ответственностью "Аби Продакшн" Обучение нейронных сетей для обработки изображений с помощью синтетических фотореалистичных содержащих знаки изображений
CN111062876B (zh) * 2018-10-17 2023-08-08 北京地平线机器人技术研发有限公司 用于校正模型训练和图像校正的方法和装置及电子设备
US10931853B2 (en) * 2018-10-18 2021-02-23 Sony Corporation Enhanced color reproduction for upscaling
EP3864838B1 (en) * 2018-11-16 2023-09-20 Huawei Technologies Co., Ltd. Meta-learning for camera adaptive color constancy
RU2721187C1 (ru) 2019-03-29 2020-05-18 Общество с ограниченной ответственностью "Аби Продакшн" Обучение языковых моделей с использованием текстовых корпусов, содержащих реалистичные ошибки оптического распознавания символов (ocr)
CN111935892B (zh) * 2019-05-13 2022-11-22 中科智云科技有限公司 用于测量等离子体状态的方法和设备
CN110349261B (zh) * 2019-07-15 2023-05-09 泰华智慧产业集团股份有限公司 基于gis生成三维热力图的方法
CN112399162B (zh) * 2019-08-16 2022-09-16 浙江宇视科技有限公司 一种白平衡校正方法、装置、设备和存储介质
CN112204957A (zh) * 2019-09-20 2021-01-08 深圳市大疆创新科技有限公司 白平衡处理方法和设备、可移动平台、相机
WO2021093947A1 (en) 2019-11-13 2021-05-20 Huawei Technologies Co., Ltd. Multi-hypothesis classification for color constancy
CN111968049B (zh) * 2020-08-06 2022-11-11 中国科学院光电技术研究所 一种基于侧窗引导滤波的光场图像热像素点去除方法
CN112070791A (zh) * 2020-09-21 2020-12-11 深圳喜为智慧科技有限公司 一种提升畜牧个体点数精度和效率的方法和系统
KR20230133344A (ko) * 2021-01-22 2023-09-19 가부시키가이샤 로직 앤드 디자인 화상 처리 방법
US11606544B2 (en) * 2021-06-08 2023-03-14 Black Sesame Technologies Inc. Neural network based auto-white-balancing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6043909A (en) * 1996-02-26 2000-03-28 Imagicolor Corporation System for distributing and controlling color reproduction at multiple sites
US20030194125A1 (en) * 2002-04-10 2003-10-16 Hubel Paul M. White point estimation using color by convolution
US20030235342A1 (en) * 2002-06-24 2003-12-25 Eastman Kodak Company Enhancing the tonal characteristics of digital images
US20090109237A1 (en) * 2007-10-31 2009-04-30 Canon Kabushiki Kaisha Generating colorimetric profiles from spectral data and user input

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729691A (en) 1995-09-29 1998-03-17 Intel Corporation Two-stage transform for video signals
US6075905A (en) 1996-07-17 2000-06-13 Sarnoff Corporation Method and apparatus for mosaic image construction
US6411953B1 (en) * 1999-01-25 2002-06-25 Lucent Technologies Inc. Retrieval and matching of color patterns based on a predetermined vocabulary and grammar
EP1173003B1 (en) * 2000-07-12 2009-03-25 Canon Kabushiki Kaisha Image processing method and image processing apparatus
JP3832626B2 (ja) * 2001-06-28 2006-10-11 セイコーエプソン株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体
US7711186B2 (en) * 2004-06-15 2010-05-04 Microsoft Corporation System and method for automated correction of digital images
JP2007104151A (ja) * 2005-09-30 2007-04-19 Sanyo Electric Co Ltd 画像処理装置および画像処理プログラム
US8155454B2 (en) 2006-07-20 2012-04-10 Qualcomm Incorporated Method and apparatus for encoder assisted post-processing
US8253752B2 (en) 2006-07-20 2012-08-28 Qualcomm Incorporated Method and apparatus for encoder assisted pre-processing
KR100841429B1 (ko) * 2006-11-30 2008-06-25 삼성전기주식회사 화이트 밸런스 자동 조정장치 및 그 방법
US8149459B2 (en) * 2009-02-24 2012-04-03 Xerox Corporation Mapping an out-of-gamut color to a surface of a color gamut
JP5319415B2 (ja) 2009-06-22 2013-10-16 キヤノン株式会社 画像処理装置、画像処理方法
CN101706964B (zh) * 2009-08-27 2011-11-23 北京交通大学 一种基于图像导数结构的颜色恒常性计算方法及系统
US9041817B2 (en) 2010-12-23 2015-05-26 Samsung Electronics Co., Ltd. Method and apparatus for raster output of rotated interpolated pixels optimized for digital image stabilization
US9007484B2 (en) * 2011-10-12 2015-04-14 Apple Inc. Alleviating dominant color failure in automatic white balance using histogram trimming
US8780225B2 (en) * 2011-10-12 2014-07-15 Apple Inc. Use of noise-optimized selection criteria to calculate scene white points
JP6017389B2 (ja) * 2013-09-17 2016-11-02 オリンパス株式会社 撮像装置、電子ビューファインダ、表示制御方法、および表示制御用プログラム
US9336582B1 (en) * 2015-04-17 2016-05-10 Google Inc. Convolutional color correction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6043909A (en) * 1996-02-26 2000-03-28 Imagicolor Corporation System for distributing and controlling color reproduction at multiple sites
US20030194125A1 (en) * 2002-04-10 2003-10-16 Hubel Paul M. White point estimation using color by convolution
US20030235342A1 (en) * 2002-06-24 2003-12-25 Eastman Kodak Company Enhancing the tonal characteristics of digital images
US20090109237A1 (en) * 2007-10-31 2009-04-30 Canon Kabushiki Kaisha Generating colorimetric profiles from spectral data and user input

Also Published As

Publication number Publication date
JP2018515862A (ja) 2018-06-14
KR101873183B1 (ko) 2018-06-29
EP3284060B1 (en) 2019-06-12
WO2016168145A1 (en) 2016-10-20
US9336582B1 (en) 2016-05-10
EP3284060A1 (en) 2018-02-21
JP6724045B2 (ja) 2020-07-15
CN107431790A (zh) 2017-12-01
CN107431790B (zh) 2019-04-02
US9672604B2 (en) 2017-06-06
US20160350900A1 (en) 2016-12-01

Similar Documents

Publication Publication Date Title
KR101873183B1 (ko) 콘볼루션 컬러 정정 방법, 및 그 기록 매체
US10237527B2 (en) Convolutional color correction in digital images
US10949958B2 (en) Fast fourier color constancy
JP7145943B2 (ja) 単一のカメラを使用した深度の推定
KR102240659B1 (ko) 시야의 가리움에 기초한 카메라 선택
Jiang et al. Learning the image processing pipeline
US9100589B1 (en) Interleaved capture for high dynamic range image acquisition and synthesis
US8964060B2 (en) Determining an image capture payload burst structure based on a metering image capture sweep
US9253375B2 (en) Camera obstruction detection
JP2016519822A (ja) 動きゴーストフィルタリングのための基準画像選択
US9087391B2 (en) Determining an image capture payload burst structure
Zhang et al. Improved and robust spectral reflectance estimation
US20230033956A1 (en) Estimating depth based on iris size
Han et al. A large-scale image database for benchmarking mobile camera quality and NR-IQA algorithms
KR102606209B1 (ko) 듀얼-픽셀 이미지 데이터를 사용한 디포커스 블러 제거 및 깊이 추정

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant