KR20220044190A - 학습 기반 렌즈 플레어 제거 - Google Patents

학습 기반 렌즈 플레어 제거 Download PDF

Info

Publication number
KR20220044190A
KR20220044190A KR1020227001654A KR20227001654A KR20220044190A KR 20220044190 A KR20220044190 A KR 20220044190A KR 1020227001654 A KR1020227001654 A KR 1020227001654A KR 20227001654 A KR20227001654 A KR 20227001654A KR 20220044190 A KR20220044190 A KR 20220044190A
Authority
KR
South Korea
Prior art keywords
image
lens flare
images
lens
representation
Prior art date
Application number
KR1020227001654A
Other languages
English (en)
Other versions
KR102606208B1 (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 KR20220044190A publication Critical patent/KR20220044190A/ko
Application granted granted Critical
Publication of KR102606208B1 publication Critical patent/KR102606208B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/006
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • 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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
    • H04N25/615Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4" involving a transfer function modelling the optical system, e.g. optical transfer function [OTF], phase transfer function [PhTF] or modulation transfer function [MTF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Studio Devices (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

방법은 렌즈 플레어의 특정 표현을 포함하는 입력 이미지를 획득하는 단계, 및 렌즈 플레어의 특정 표현의 적어도 일부가 제거된 입력 이미지를 포함하는 디플레어 이미지를 생성하기 위해 머신 러닝 모델에 의해 입력 이미지를 처리하는 단계를 포함한다. 기계 학습(ML) 모델은 개별 베이스라인 이미지와 대응하는 렌즈 플레어 이미지를 결합하는 트레이닝 이미지를 생성함으로써 트레이닝될 수 있다. 각각의 개별 트레이닝 이미지에 대해, 수정 이미지는 ML 모델에 의해 개별 트레이닝 이미지를 처리함으로써 결정될 수 있고, 손실값은 개별 트레이닝을 생성하는데 사용된 대응하는 베이스라인 이미지와 수정 이미지를 비교하는 손실 함수에 기초하여 결정될 수 있다. ML 모델의 파라미터는 각각의 개별 트레이닝 이미지 및 손실 함수에 대해 결정된 손실값에 기초하여 조정될 수 있다.

Description

학습 기반 렌즈 플레어 제거
본 출원은 2020년 9월 28일에 출원된 미국 가출원번호 63/084,377에 대한 우선권을 주장하며 이는 본 명세서에 완전히 설명된 것처럼 본 명세서에 참조로 포함된다.
렌즈 플레어(Lens Flare)는 카메라가 강한 광원에서 포인팅될 때 발생하는 사진의 일반적인 아티팩트이다. 렌즈 플레어는 환경의 일부를 흐리게 하거나 간섭하여 사진의 이미지 품질을 저하시킬 수 있다.
컨볼루션 신경망과 같은 기계 학습 모델은 이미지에서 렌즈 플레어의 표현을 결정하도록 트레이닝될 수 있다. 구체적으로, 기계 학습 모델은 렌즈 플레어의 표현을 포함하는 입력 이미지를 처리하여 렌즈 플레어의 표현의 적어도 일부가 제거된 입력 이미지의 디플레어(플레어 제거) 버전을 생성하도록 구성될 수 있다. 기계 학습 모델은 렌즈 플레어의 표현이 없는 복수의 베이스라인 이미지를 렌즈 플레어를 나타내는 복수의 렌즈 플레어 이미지와 결합함으로써 형성된 복수의 트레이닝 이미지에 기초하여 트레이닝될 수 있다. 렌즈 플레어 이미지 중 일부는 실제 카메라를 사용하여 실험적으로 캡처될 수 있는 반면, 나머지는 카메라의 컴퓨터 시뮬레이션에 기초하여 생성될 수 있다.
제1 예시적인 실시예에서, 방법은 (i) 복수의 베이스라인 이미지 및 (ii) 복수의 렌즈 플레어 이미지를 획득하는 단계를 포함할 수 있다. 방법은 또한 복수의 베이스라인 이미지의 각각의 개별 베이스라인 이미지를 복수의 렌즈 플레어 이미지의 대응하는 렌즈 플레어 이미지와 결합함으로써 복수의 트레이닝 이미지를 생성하는 단계를 포함할 수 있다. 방법은 복수의 트레이닝 이미지들 각각의 개별 트레이닝 이미지에 대해, 기계 학습 모델에 의해 개별 트레이닝 이미지를 처리함으로써 수정(된) 이미지를 결정하는 단계를 추가로 포함할 수 있다. 수정 이미지는 렌즈 플레어의 대응하는 표현의 적어도 일부가 제거된 개별 트레이닝 이미지를 포함할 수 있다. 방법은 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해, 수정 이미지를 개별 트레이닝 이미지를 생성하는데 사용된 대응하는 베이스라인 이미지와 비교하도록 구성된 손실 함수에 기초하여 손실값을 결정하는 단계를 추가로 포함할 수 있다. 방법은 (i) 각각의 개별 트레이닝 이미지에 대해 결정된 손실값 및 (ii) 손실 함수에 기초하여 기계 학습 모델의 하나 이상의 파라미터를 조정하는 단계를 더 포함할 수 있다.
제2 예시적인 실시예에서, 시스템은 프로세서, 및 프로세서에 의해 실행될 때 프로세서로 하여금 동작들을 수행하게 하는 명령들이 저장된 비-일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 동작들은 (i) 복수의 베이스라인 이미지 및 (ii) 복수의 렌즈 플레어 이미지를 획득하는 단계를 포함할 수 있다. 동작들은 또한 복수의 베이스라인 이미지의 각각의 개별 베이스라인 이미지를 복수의 렌즈 플레어 이미지의 대응하는 렌즈 플레어 이미지와 결합함으로써 복수의 트레이닝 이미지를 생성하는 단계를 포함할 수 있다. 동작들은 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해, 기계 학습 모델에 의해 개별 트레이닝 이미지를 처리함으로써 수정 이미지를 결정하는 단계를 추가로 포함할 수 있다. 수정 이미지는 렌즈 플레어의 대응하는 표현의 적어도 일부가 제거된 개별 트레이닝 이미지를 포함할 수 있다. 동작들은 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해, 수정 이미지를 개별 트레이닝 이미지를 생성하는데 사용된 대응하는 베이스라인 이미지와 비교하도록 구성된 손실 함수에 기초하여 손실값을 결정하는 단계를 추가로 포함할 수 있다. 동작들은 (i) 각각의 개별 트레이닝 이미지에 대해 결정된 손실값 및 (ii) 손실 함수에 기초하여 기계 학습 모델의 하나 이상의 파라미터를 조정하는 단계를 더 포함할 수 있다.
제3 예시적인 실시예에서, 제조 물품은 컴퓨팅 디바이스에 의해 실행될 때 컴퓨팅 디바이스로 하여금 동작들을 수행하게 하는 명령들이 저장된 비-일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 동작들은 (i) 복수의 베이스라인 이미지 및 (ii) 복수의 렌즈 플레어 이미지를 획득하는 단계를 포함할 수 있다. 동작들은 또한 복수의 베이스라인 이미지의 각각의 개별 베이스라인 이미지를 복수의 렌즈 플레어 이미지의 대응하는 렌즈 플레어 이미지와 결합함으로써 복수의 트레이닝 이미지를 생성하는 단계를 포함할 수 있다. 동작들은 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해, 기계 학습 모델에 의해 개별 트레이닝 이미지를 처리함으로써 수정 이미지를 결정하는 단계를 추가로 포함할 수 있다. 수정 이미지는 렌즈 플레어의 대응하는 표현의 적어도 일부가 제거된 개별 트레이닝 이미지를 포함할 수 있다. 동작들은 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해, 수정 이미지를 개별 트레이닝 이미지를 생성하는데 사용된 대응하는 베이스라인 이미지와 비교하도록 구성된 손실 함수에 기초하여 손실값을 결정하는 단계를 추가로 포함할 수 있다. 동작들은 (i) 각각의 개별 트레이닝 이미지에 대해 결정된 손실값 및 (ii) 손실 함수에 기초하여 기계 학습 모델의 하나 이상의 파라미터를 조정하는 단계를 더 포함할 수 있다.
제4 예시적인 실시예에서, 시스템은 (i) 복수의 베이스라인 이미지 및 (ii) 복수의 렌즈 플레어 이미지를 획득하기 위한 수단을 포함할 수 있다. 시스템은 또한 복수의 베이스라인 이미지의 각각의 개별 베이스라인 이미지를 복수의 렌즈 플레어 이미지의 대응하는 렌즈 플레어 이미지와 결합함으로써 복수의 트레이닝 이미지를 생성하기 위한 수단을 포함할 수 있다. 시스템은 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지 각각에 대해, 기계 학습 모델에 의해 개별 트레이닝 이미지를 처리함으로써 수정 이미지를 결정하기 위한 수단을 추가로 포함할 수 있다. 수정 이미지는 렌즈 플레어의 대응하는 표현의 적어도 일부가 제거된 개별 트레이닝 이미지를 포함할 수 있다. 시스템은 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지 각각에 대해, 수정 이미지를 개별 트레이닝 이미지를 생성하는데 사용된 대응하는 베이스라인 이미지와 비교하도록 구성된 손실 함수에 기초하여 손실값을 결정하기 위한 수단을 추가로 포함할 수 있다. 동작들은 (i) 각각의 개별 트레이닝 이미지에 대해 결정된 손실값 및 (ii) 손실 함수에 기초하여 기계 학습 모델의 하나 이상의 파라미터를 조정하는 단계를 더 포함할 수 있다.
제5 예시적인 실시예에서, 방법은 렌즈 플레어의 특정 표현을 포함하는 입력 이미지를 획득하는 단계를 포함할 수 있다. 방법은 또한 렌즈 플레어의 특정 표현의 적어도 일부가 제거된 입력 이미지를 포함하는 디플레어 이미지를 생성하기 위해 기계 학습 모델로 입력 이미지를 처리하는 단계를 포함할 수 있다. 기계 학습 모델은 이미지에 있는 렌즈 플레어 표현을 결정하도록 트레이닝되었을 수 있다. 방법은 디플레어 이미지를 출력하는 단계를 추가로 포함할 수 있다.
제6 예시적인 실시예에서, 시스템은 프로세서, 및 프로세서에 의해 실행될 때 프로세서로 하여금 동작들을 수행하게 하는 명령들이 저장된 비-일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 동작들은 렌즈 플레어의 특정 표현을 포함하는 입력 이미지를 획득하는 단계를 포함할 수 있다. 동작들은 또한 렌즈 플레어의 특정 표현의 적어도 일부가 제거된 입력 이미지를 포함하는 디플레어 이미지를 생성하기 위해 기계 학습 모델로 입력 이미지를 처리하는 단계를 포함할 수 있다. 기계 학습 모델은 이미지의 렌즈 플레어 표현을 결정하도록 트레이닝되었을 수 있다. 동작들은 디플레어 이미지를 출력하는 단계를 추가로 포함할 수 있다.
제7 예시적인 실시예에서, 제조 물품은 컴퓨팅 디바이스에 의해 실행될 때 컴퓨팅 디바이스로 하여금 동작들을 수행하게 하는 명령들이 저장된 비-일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 동작들은 렌즈 플레어의 특정 표현을 포함하는 입력 이미지를 획득하는 단계를 포함할 수 있다. 동작들은 또한 렌즈 플레어의 특정 표현의 적어도 일부가 제거된 입력 이미지를 포함하는 디플레어 이미지를 생성하기 위해 기계 학습 모델로 입력 이미지를 처리하는 단계를 포함할 수 있다. 기계 학습 모델은 이미지의 렌즈 플레어 표현을 결정하도록 트레이닝되었을 수 있다. 동작들은 디플레어 이미지를 출력하는 단계를 추가로 포함할 수 있다.
제8 예시적인 실시예에서, 시스템은 렌즈 플레어의 특정 표현을 포함하는 입력 이미지를 획득하기 위한 수단을 포함할 수 있다. 시스템은 또한 렌즈 플레어의 특정 표현의 적어도 일부가 제거된 입력 이미지를 포함하는 디플레어 이미지를 생성하기 위해 기계 학습 모델로 입력 이미지를 처리하기 위한 수단을 포함할 수 있다. 기계 학습 모델은 이미지의 렌즈 플레어 표현을 결정하도록 트레이닝되었을 수 있다. 시스템은 디플레어 이미지를 출력하기 위한 수단을 추가로 포함할 수 있다.
이들 뿐만 아니라 다른 실시예, 양태, 이점 및 대안은 적절한 경우 첨부 도면을 참조하여 다음의 상세한 설명을 읽음으로써 당업자에게 명백해질 것이다. 또한, 본 명세서에 제공된 이러한 요약 및 기타 설명 및 도면은 단지 예로서 실시예들을 예시하기 위한 것이으므로 다양한 변형이 가능하다. 예를 들어, 구조적 엘리먼트 및 프로세스 단계는 청구된 실시예의 범위 내에서 재배열, 결합, 분배, 제거 또는 변경될 수 있다.
도 1은 본 명세서에 설명된 예에 따른 컴퓨팅 디바이스를 도시한다.
도 2는 본 명세서에 설명된 예에 따른 컴퓨팅 시스템을 도시한다.
도 3a는 본 명세서에 설명된 예에 따른 시스템을 도시한다.
도 3b 및 3c는 본 명세서에 기재된 예에 따른 이미지를 도시한다.
도 4는 본 명세서에 설명된 예에 따른 기계 학습 모델을 트레이닝하기 위한 시스템을 도시한다.
도 5는 본 명세서에 기술된 예에 따른 시스템을 도시한다.
도 6은 본 명세서에 설명된 예에 따른 흐름도를 도시한다.
도 7은 본 명세서에 설명된 예에 따른 흐름도를 도시한다.
예시적인 방법, 디바이스 및 시스템이 본 명세서에 설명되어 있다. "example" 및 "exemplary"이라는 단어는 본 명세서에서 "example, instance 또는 illustration로서 제공되는"을 의미하는 것으로 이해되어야 한다. "example", "exemplary" 및/또는 "illustrative" 것으로 본 명세서에 설명된 임의의 실시예 또는 특징은 그렇게 언급되지 않는 한 다른 실시예 또는 특징에 비해 반드시 바람직하거나 유리한 것으로 해석되어서는 안 된다. 따라서, 본 명세서에 제시된 주제의 범위를 벗어나지 않으면서 다른 실시예가 이용될 수 있고 다른 변경이 이루어질 수 있다.
따라서, 본 명세서에 설명된 예시적인 실시예는 제한하는 것을 의미하지 않는다. 본 명세서에서 일반적으로 설명되고 도면에 예시된 바와 같이, 본 개시의 양태는 매우 다양한 상이한 구성으로 배열, 대체, 결합, 분리 및 설계될 수 있다는 것이 쉽게 이해될 것이다.
또한, 문맥이 달리 암시하지 않는 한, 각각의 도면에 예시된 특징들은 서로 조합하여 사용될 수 있다. 따라서, 도면은 일반적으로 하나 이상의 전체 실시예의 구성 요소 측면으로 간주되어야 하며, 예시된 모든 특징이 각 실시예에 필요한 것은 아님을 이해해야 한다.
추가적으로, 본 명세서 또는 청구범위에서 요소, 블록 또는 단계의 임의의 열거는 명료함을 위한 것이다. 따라서 이러한 열거는 이러한 요소, 블록 또는 단계가 특정 배열을 준수하거나 특정 순서로 수행될 것을 요구하거나 암시하는 것으로 해석되어서는 안 된다. 달리 명시되지 않는 한 도면들은 축척에 맞게 그려지지 않았다.
1. 개요
렌즈 플레어(Lens Flare)는 상대적으로 강한/밝은 광원에서 방출되는 빛을 카메라가 포착할 때 관찰되는 광학적 현상이다. 렌즈 플레어는 다른 가능한 시각적 아티팩트/패턴 중에서 줄무늬, 선 및/또는 불규칙한 얼룩과 유사한 이미지 데이터 내의 시각적 아티팩트/패턴을 유발 및/또는 나타낼 수 있다. 이미지 데이터에 있는 렌즈 플레어 표현(representation)은 카메라의 광학 컴포넌트(예를 들어, 렌즈)에 의한 빛의 내부 반사로 인해 발생할 수 있으며, 그 표현의 특정 시각적 패턴은 광학 컴포넌트의 광학 속성에 따라 다를 수 있다. 이미지 데이터의 렌즈 플레어 표현은 또한 카메라의 광학 컴포넌트 내부 및/또는 표면에 존재하는 결함으로 인한 빛의 산란 및/또는 회절로 인해 발생할 수 있으며, 그 표현의 특정 시각적 패턴은 결함의 특정 유형, 크기 및/또는 공간적 분포에 따라 다를 수 있다.
일반적으로 장면의 많은 부분에서 나오는 빛은 이러한 내부 반사, 산란 및/또는 회절을 겪을 수 있다. 입사광의 강도가 상대적으로 낮은 경우, 내부 반사, 산란 및/또는 회절된 빛으로 인해 인지 가능한 렌즈 플레어의 표현이 발생되지 않을 수 있다. 그러나, 장면 내에 강한/밝은 광원이 있는 경우와 같이 입사광의 강도가 상대적으로 높은 경우, 내부 반사, 산란 및/또는 회절된 빛으로 인해 인지 가능한 렌즈 플레어의 표현이 발생될 수 있다. 일부 경우, 렌즈 플레어 없이 나타나는 것처럼 해당 장면을 나타내기 위해서는 이미지로부터 렌즈 플레어의 표현을 제거하는 것이 바람직할 수 있다. 다른 경우에는, 예를 들어, 다른 가능성 중에서도 표현을 강화하고, 표현을 완화하고, 및/또는 표현의 색상을 조정함으로써 렌즈 플레어의 표현을 조정하는 것이 바람직할 수 있다.
렌즈 플레어는 임의의 특정 이미징 시나리오에 대해 예측 및/또는 제어하기 어려운 다양한 복잡한 광학 현상으로 인해 발생할 수 있다. 따라서, 렌즈 플레어의 표현은 일반적으로 사용자가 육안 검사에 의해 이미지에서 렌즈 플레어를 식별하고 이미지를 수정하여 렌즈 플레어를 제거하거나 줄이는 수동적인 이미지 처리에 의해 제거된다. 그러나 이러한 수동적인 이미지 처리는 시간 소모적이며 술력된 이미지 조작을 필요로 한다. 이미징 시나리오에서 렌즈 플레어 제어와 관련된 문제는 이미지에서 렌즈 플레어 표현을 제거하기 위해 자동화된 이미지 처리가 필요하다는 것을 의미한다. 이미징 시나리오에서 렌즈 플레어 제어와 관련된 문제로 인해, 기존 렌즈 플레어 기술은 일반적으로 렌즈 플레어 표현의 모양 속성(properties)을 특징화하고 이러한 속성을 사용하여 렌즈 플레어 표현을 식별하려고 한다. 렌즈 플레어를 유발할 수 있는 다양한 광학 현상은 렌즈 플레어 표현의 특정 속성을 사용하는 기술이 일반적으로 성능이 좋지 않음을 의미한다.
따라서, 컨볼루션 신경망(CNN)과 같은 기계 학습 모델이 이미지에서 렌즈 플레어의 표현을 결정하도록 트레이닝될 수 있다. 구체적으로, 기계 학습 모델에 의해 입력 이미지에 잇는 렌즈 플레어의 특정 표현을 결정하는 것은 (i) 렌즈 플레어를 표현하는 복구(된) 렌즈 플레어 이미지를 생성하는 것 및/또는 (ii) 렌즈 플레어의 특정 표현의 적어도 일부가 제거된 입력 이미지를 포함하는 디플레어(플레어 제거) 이미지를 생성하는 것을 포함할 수 있다.
각각 (i) 장면의 일부를 형성하는 광원으로 인해 발생하는 장면 및 렌즈 플레어의 대응하는 표현 및 (ii) 렌즈 플레어의 대응하는 표현 없이 장면의 대응하는 표현을 포함하는 트레이닝 이미지 쌍을 캡처하는 것은 어렵고 시간이 많이 걸리거나 실행 불가능할 수 있다. 특히, 이러한 트레이닝 이미지 쌍을 캡처하는 것은 렌즈 플레어를 발생시키는 카메라 디바이스의 양상은 제어가 가능하더라도 쉽게 제어할 수 없기 때문에 어렵고 시간이 많이 걸리거나 실행 불가능할 수 있다.
따라서, 기계 학습 모델에 대한 트레이닝 데이터는 (i) 플레어 없는(flare-free) 베이스라인 이미지와 (ii) 플레어만 있는(noise-only) 렌즈 플레어 이미지를 결합하여 생성될 수 있다. 플레어 프리 베이스라인 이미지는 플레어만 있는 이미지와 독립적으로 캡처/생성될 수 있다. 따라서, 트레이닝 데이터의 각 트레이닝 이미지는 기계 학습 모델에 대한 지도(supervision)를 제공하는 (i) 대응하는 플레어 프리 장면의 표현 및 (ii) 렌즈 플레어의 대응하는 표현으로 명시적으로 분리될 수 있다. 렌즈 플레어 이미지는 카메라 디바이스 및 광원의 컴퓨터 시뮬레이션(모의), 및/또는 물리적 카메라 디바이스를 사용한 물리적 광원의 이미지의 실험적/물리적 캡처를 사용하여 생성될 수 있다.
특히, 컴퓨터 시뮬레이션에 의해 생성된 모의(된) 렌즈 플레어 이미지는 적어도 다양한 광학적 결함에 의한 빛의 산란 및/또는 회절로 인한 렌즈 플레어를 나타낼 수 있다. 광학적 결함은 물리적 카메라에서 제어 및/또는 변경하기 어려울 수 있지만 시뮬레이션하기는 상대적으로 더 쉬울 수 있으므로, 산란 및/또는 회절로 인한 광범위한 시각적 패턴(예를 들어, 제1 렌즈 플레어 패턴)의 결정론적 생성이 가능하다. 물리적으로 캡처된 이미지는 적어도 광학 컴포넌트에 의한 빛의 내부 반사(뿐만 아니라 해당 물리적 카메라 디바이스와 관련된 특정 광학적 결함에 의한 빛의 산란 및/또는 회절)로 인한 렌즈 플레어를 나타낼 수 있다. 내부 반사는 시뮬레이션이 광학 컴포넌트의 정확한 모델(공개적으로 사용 가능하지 않을 수 있음)을 기반으로 할 수 있다는 점에서 시뮬레이션하기 어려울 수 있지만 물리적으로 캡처하기가 상대적으로 더 쉬울 수 있으므로, 내부 반사로 인한 광범위한 시각적 패턴(예를 들어, 제2 렌즈 플레어 패턴)을 결정론적으로 생성할 수 있다.
종합적으로, 모의 렌즈 플레어 이미지 및 실험(적) 렌즈 플레어 이미지는 이미지에 존재할 수 있는 렌즈 플레어의 다양한 가능한 표현의 대표적인 샘플을 제공할 수 있다. 또한, 렌즈 플레어는 장면에서 강한 광원의 존재에 의해 유도되는 반면, 렌즈 플레어 표현의 시각적 패턴은 장면 내의 객체(광원 제외)의 존재 및/또는 배열이 렌즈 플레어를 유발 및/또는 영향을 미치지 않을 가능성이 있다는 점에서 일반적으로 장면 구성과 무관하다. 따라서, 이질적이고 독립적으로 생성된 베이스라인과 렌즈 플레어 이미지를 결합하여 생성된 합성 트레이닝 데이터는 렌즈 플레어의 제거가 장면 구성에 의존하지 않을 가능성이 높기 때문에 추론 시간에 실제/비합성 장면으로 외삽하는 기계 학습 모델의 기능에 해가되지 않는다. 사실, 이러한 방식으로 생성된 합성 트레이닝 데이터는 장면과 플레어 조합의 다양성/포괄성으로 인해 바람직할 수 있으며, 이는 새로운 실제/비합성 장면으로 외삽하는 트레이닝된 모델의 능력을 향상시킬 수 있다.
트레이닝된 기계 학습 모델은 렌즈 플레어의 표현을 포함하는 입력 이미지를 처리하여 디플레어(플레어 제거) 이미지를 생성할 수 있다. 디플레어 이미지는 렌즈 플레어 표현의 적어도 일부가 제거된 입력 이미지에 대응할 수 있다. 일 예에서, 기계 학습 모델은 디플레어 이미지를 직접 생성하도록 구성될 수 있다(즉, 디플레어 이미지는 기계 학습 모델의 출력일 수 있음). 다른 예에서, 기계 학습 모델은 복구된 렌즈 플레어 이미지를 생성하도록 구성될 수 있고, 이는 입력 이미지로부터 감산되어 디플레어 이미지를 생성할 수 있다. 어느 경우든, 기계 학습 모델은 입력 이미지 내의 렌즈 플레어의 표현을 결정/식별하도록 구성될 수 있다.
추가적으로 또는 대안적으로, 복구된 렌즈 플레어 이미지는 입력 시간으로부터 디플레어 이미지를 감산함으로써 생성될 수 있다. 따라서 복구된 렌즈 플레어 이미지는 입력 이미지에서 기계 학습 모델에 의해 결정/식별된 렌즈 플레어 표현의 일부를 나타낼 수 있다. 일부 경우, 복구된 렌즈 플레어의 강도 및/또는 색상이 수정되고 디플레어 이미지에 다시 추가될 수 있고, 따라서 렌즈 플레어 표현의 시각적 외양이 특정 방식으로 변경된 입력 이미지 버전이 생성된다.
기계 학습 모델은 모노스코픽 카메라를 사용하여 캡처된 모노스코픽 이미지 데이터에 대해 작동하도록 구성될 수 있다. 따라서, 기계 학습 모델은 임의의 특정 유형의 하드웨어(예를 들어, 입체 카메라)를 사용하여 캡처되는 입력 이미지 및/또는 이미지 데이터 자체에 추가된 임의의 주석(예를 들어, 시차 맵)을 포함하는 입력 이미지에 의존하지 않을 수 있다.
일부 경우, 기계 학습 모델은 렌즈 플레어를 유발하는 광원의 표현을 결정함으로써 렌즈 플레어의 표현을 결정하도록 트레이닝되었을 수 있다. 따라서, 광원의 표현은 렌즈 플레어의 표현과 함께 결정/식별될 수 있고, 따라서 디플레어 이미지를 생성할 때 입력 이미지로부터 제거될 수 있다. 따라서, 광원 마스크가 생성되어 입력 이미지로부터 디플레어 이미지로 광원의 표현을 복사하는데 사용될 수 있으며, 결과적으로 (i) 렌즈 플레어의 표현이 제거되고 (ii) 광원의 표현이 존재하는 입력 이미지의 수정 버전이 생성된다. 일부 경우, 광원의 표현은 전술한 바와 같이 수정된 렌즈 플레어의 해당 표현을 갖는 입력 이미지의 버전으로 복사될 수 있다.
2. 예시적인 컴퓨팅 디바이스 및 시스템
도 1은 예시적인 컴퓨팅 디바이스(100)를 도시한다. 컴퓨팅 디바이스(100)는 모바일 폰의 폼 팩터로 도시된다. 그러나, 컴퓨팅 디바이스(100)는 다른 가능성 중에서도, 랩탑 컴퓨터, 태블릿 컴퓨터 또는 웨어러블 컴퓨팅 디바이스로서 대안적으로 구현될 수 있다. 컴퓨팅 디바이스(100)는 본체(102), 디스플레이(106) 및 버튼(108, 110)과 같은 다양한 엘리먼트를 포함할 수 있다. 컴퓨팅 디바이스(100)는 전면 카메라(104) 및 후면 카메라(112)와 같은 하나 이상의 카메라를 더 포함할 수 있다.
전면 카메라(104)는 동작 중에 일반적으로 사용자를 향하는(facing) 본체(102) 면(side)(예를 들어, 디스플레이(106)와 동일한 면)에 위치될 수 있다. 후면 카메라(112)는 전면 카메라(104) 반대편 본체(102) 면에 위치될 수 있다. 카메라를 전후면으로 향하게 하는 것은 임의적이며, 컴퓨팅 디바이스(100)는 본체(102)의 다양한 면에 위치된 다수의 카메라를 포함할 수 있다.
디스플레이(106)는 음극선관(CRT) 디스플레이, 발광 다이오드(LED) 디스플레이, 액정(LCD) 디스플레이, 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이 또는 종래의 공지된 임의의 다른 유형의 디스플레이를 나타낼 수 있다. 일부 예에서, 디스플레이(106)는 전면 카메라(104) 및/또는 후면 카메라(112)에 의해 캡처되는 현재 이미지의 디지털 표현, 및/또는 이들 카메라 중 하나 이상에 의해 캡처될 수 있거나 최근에 캡처된 이미지를 디스플레이할 수 있다. 따라서, 디스플레이(106)는 카메라의 뷰파인더 역할을 할 수 있다. 디스플레이(106)는 또한 임의의 양태의 컴퓨팅 디바이스(100)의 설정 및/또는 구성을 조정할 수 있는 터치스크린 기능을 지원할 수 있다.
전면 카메라(104)는 이미지 센서 및 렌즈와 같은 관련 광학 엘리먼트를 포함할 수 있다. 전면 카메라(104)는 줌 기능을 제공하거나 고정된 초점 거리를 가질 수 있다. 다른 예에서, 교환 가능한 렌즈가 전면 카메라(104)와 함께 사용될 수 있다. 전면 카메라(104)는 가변 기계적 조리개 및 기계적 및/또는 전자적 셔터를 가질 수 있다. 전면 카메라(104)는 또한 스틸 이미지, 비디오 이미지, 또는 둘 다를 캡처하도록 구성될 수 있다. 또한, 전면 카메라(104)는 예를 들어 모노스코픽 카메라를 나타낼 수 있다. 후면 카메라(112)는 유사하거나 상이하게 배열될 수 있다. 추가적으로, 전면 카메라(104) 및/또는 후면 카메라(112) 중 하나 이상은 하나 이상의 카메라 어레이일 수 있다. 일 예에서, 후면 카메라(112)는 입체 카메라의 일부를 구성 및/또는 형성할 수 있다.
전면 카메라(104) 및/또는 후면 카메라(112) 중 하나 이상은 타겟 객체를 조명하기 위해 라이트 필드를 제공하는 조명 컴포넌트를 포함하거나 이와 연관될 수 있다. 예를 들어, 조명 컴포넌트는 타겟 객체의 플래시 또는 일정한 조명을 제공할 수 있다. 조명 컴포넌트는 또한 구조화된 광, 편광된 광, 및 특정 스펙트럼 컨텐츠를 갖는 광 중 하나 이상을 포함하는 광 필드를 제공하도록 구성될 수 있다. 객체로부터 3차원(3D) 모델을 복구하는데 사용되는 공지된 다른 유형의 광 필드가 본 명세서의 예의 맥락 내에서 가능하다.
컴퓨팅 디바이스(100)는 또한 연속적으로 또는 때때로 카메라(104 및/또는 112)가 캡처할 수 있는 장면의 주변 밝기를 결정할 수 있는 주변광 센서를 포함할 수 있다. 일부 구현들에서, 주변광 센서는 디스플레이(106)의 디스플레이 밝기를 조정하는데 사용될 수 있다. 추가적으로, 주변광 센서는 하나 이상의 카메라(104 또는 112)의 노출 길이를 결정하거나 이 결정을 돕기 위해 사용될 수 있다.
컴퓨팅 디바이스(100)는 디스플레이(106)와 전면 카메라(104) 및/또는 후면 카메라(112)를 사용하여 타겟 객체의 이미지를 캡처하도록 구성될 수 있다. 캡처된 이미지는 복수의 정지 이미지 또는 비디오 스트림일 수 있다. 이미지 캡처는 버튼(108)을 활성화하거나 디스플레이(106)상의 소프트키를 누르거나 일부 다른 메커니즘에 의해 트리거될 수 있다. 구현에 따라, 이미지는 특정 시간 간격, 예를 들어 버튼(108)을 누를 때, 타겟 객체의 적절한 조명 조건에 따라, 디지털 카메라 디바이스(100)를 사전 결정된 거리로 이동할 때, 또는 사전 결정된 캡처 스케줄에 따라 자동으로 캡처될 수 있다.
도 2는 예시적인 컴퓨팅 시스템(200)의 컴포넌트 중 일부를 도시하는 단순화된 블록도이다. 예로서 그리고 제한 없이, 컴퓨팅 시스템(200)은 셀룰러 모바일 전화(예를 들어, 스마트폰), 컴퓨터(데스크탑, 노트북, 태블릿 또는 핸드헬드 컴퓨터와 같은), 홈 자동화 컴포넌트, 디지털 비디오 레코더(DVR), 디지털 텔레비전, 리모콘, 웨어러블 컴퓨팅 디바이스, 게임 콘솔, 로봇 디바이스, 차량 또는 기타 유형의 디바이스일 수 있다. 컴퓨팅 시스템(200)은 예를 들어 컴퓨팅 디바이스(100)의 양상을 나타낼 수 있다.
도 2에 도시된 바와 같이, 컴퓨팅 시스템(200)은 통신 인터페이스(202), 사용자 인터페이스(204), 프로세서(206), 데이터 저장소(스토리지)(208), 및 카메라 컴포넌트(224)를 포함할 수 있고, 이들 모두는 시스템 버스, 네트워크, 또는 다른 연결 메커니즘(210)에 의해 함께 통신적으로 링크될 수 있다. 컴퓨팅 시스템(200)에는 적어도 일부 이미지 캡처 및/또는 이미지 처리 기능이 장착될 수 있다. 컴퓨팅 시스템(200)은 물리적 이미지 처리 시스템, 이미지 감지 및 처리 애플리케이션이 소프트웨어에서 작동하는 특정 물리적 하드웨어 플랫폼, 또는 이미지 캡처 및/또는 처리 기능을 수행하도록 구성된 하드웨어와 소프트웨어의 다른 조합을 나타낼 수 있음을 이해해야 한다.
통신 인터페이스(202)는 컴퓨팅 시스템(200)이 아날로그 또는 디지털 변조를 사용하여 다른 디바이스, 액세스 네트워크, 및/또는 전송 네트워크와 통신하도록 할 수 있다. 따라서, 통신 인터페이스(202)는 POTS(Plain Old Telephone Service) 통신 및/또는 인터넷 프로토콜(IP) 또는 다른 패킷화된 통신과 같은 회선 교환 및/또는 패킷 교환 통신을 용이하게 할 수 있다. 예를 들어, 통신 인터페이스(202)는 무선 액세스 네트워크 또는 액세스 포인트와의 무선 통신을 위해 배열된 칩셋 및 안테나를 포함할 수 있다. 또한, 통신 인터페이스(202)는 이더넷, USB(Universal Serial Bus), 또는 HDMI(High-Definition Multimedia Interface) 포트와 같은 유선 인터페이스의 형태를 취하거나 이를 포함할 수 있다. 통신 인터페이스(202)는 또한 Wi-Fi, 블루투스, GPS, 또는 광역 무선 인터페이스(예를 들어, WiMAX 또는 3GPP LTE)와 같은 무선 인터페이스의 형태를 취하거나 이를 포함할 수 있다. 그러나, 다른 형태의 물리 계층 인터페이스 및 다른 유형의 표준 또는 독점 통신 프로토콜이 통신 인터페이스(202)를 통해 사용될 수 있다. 더욱이, 통신 인터페이스(202)는 다수의 물리적 통신 인터페이스(예를 들어, Wi-Fi 인터페이스, 블루투스 인터페이스, 및 광역 무선 인터페이스)를 포함할 수 있다.
사용자 인터페이스(204)는 컴퓨팅 시스템(200)이 사용자로부터 입력을 수신하고 사용자에게 출력을 제공하는 것과 같이 인간 또는 비인간 사용자와 상호작용할 수 있도록 기능할 수 있다. 따라서, 사용자 인터페이스(204)는 키패드, 키보드, 터치 감지 패널, 컴퓨터 마우스, 트랙볼, 조이스틱, 마이크로폰 등과 같은 입력 컴포넌트를 포함할 수 있다. 사용자 인터페이스(204)는 또한 예를 들어 터치 감지 패널과 결합될 수 있는 디스플레이 스크린과 같은 하나 이상의 출력 컴포넌트를 포함할 수 있다. 디스플레이 스크린은 CRT, LCD 및/또는 LED 기술, 또는 현재 알려졌거나 차후에 개발될 다른 기술에 기초하여 할 수 있다. 사용자 인터페이스(204)는 또한 스피커, 스피커 잭, 오디오 출력 포트, 오디오 출력 디바이스, 이어폰, 및/또는 다른 유사한 디바이스를 통해 가청 출력(들)을 생성하도록 구성될 수 있다. 사용자 인터페이스(204)는 또한 마이크로폰 및/또는 다른 유사 디바이스를 통해 가청 발언(들), 노이즈(들) 및/또는 신호(들)를 수신 및/또는 캡처하도록 구성될 수 있다.
일부 예에서, 사용자 인터페이스(204)는 컴퓨팅 시스템(200)에 의해 지원되는 스틸 카메라 및/또는 비디오 카메라 기능의 뷰파인더 역할을 하는 디스플레이를 포함할 수 있다. 추가적으로, 사용자 인터페이스(204)는 카메라 기능의 구성 및 포커싱 및 이미지 캡처를 용이하게 하는 하나 이상의 버튼, 스위치, 노브, 및/또는 다이얼을 포함할 수 있다. 이러한 버튼, 스위치, 노브 및/또는 다이얼 중 일부 또는 전체가 터치 감지 패널을 통해 구현될 수 있다.
프로세서(206)는 하나 이상의 범용 프로세서(예를 들어, 마이크로프로세서) 및/또는 하나 이상의 특수 목적 프로세서, 예를 들어, 디지털 신호 프로세서(DSP), 그래픽 처리 장치(GPU), 부동 소수점 장치(FPU), 네트워크 프로세서 또는 ASIC(주문형 집적 회로)를 포함할 수 있다. 일부 경우, 특수 목적 프로세서가 다른 가능성 중에서도 이미지 처리, 이미지 정렬 및 이미지 병합이 가능할 수 있다. 데이터 저장소(208)는 자기, 광학, 플래시 또는 유기 저장소와 같은 하나 이상의 휘발성 및/또는 비-휘발성 저장소 컴포넌트를 포함할 수 있고, 프로세서(206)와 전체적으로 또는 부분적으로 통합될 수 있다. 데이터 저장소(208)는 착탈식 및/또는 비-착탈식 컴포넌트를 포함할 수 있다.
프로세서(206)는 데이터 저장소(208)에 저장된 프로그램 명령(218)(예를 들어, 컴파일된 또는 컴파일되지 않은 프로그램 로직 및/또는 기계 코드)을 실행하여 본 명세서에 설명된 다양한 기능을 수행할 수 있다. 따라서, 데이터 저장소(208)는 컴퓨팅 시스템(200)에 의한 실행 시 컴퓨팅 시스템(200)으로 하여금 본 명세서 및/또는 첨부 도면에 개시된 임의의 방법들, 프로세스들 또는 동작들을 수행하게 하는 프로그램 명령이 저장된 비-일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 프로세서(206)에 의한 프로그램 명령들(어)(218)의 실행은 프로세서(206)가 데이터(212)를 사용하는 것을 유발할 수 있다.
예를 들어, 프로그램 명령(218)은 운영 체제(222)(예를 들어, 운영 체제 커널, 디바이스 드라이버(들), 및/또는 기타 모듈) 및 컴퓨팅 시스템(200)에 설치된 하나 이상의 애플리케이션 프로그램(220)(예를 들어, 카메라 기능, 주소록, 이메일, 웹 브라우징, 소셜 네트워킹, 오디오-텍스트 변환 기능, 텍스트 번역 기능, 및/또는 게임 애플리케이션)을 포함할 수 있다. 유사하게, 데이터(212)는 운영 체제 데이터(216)와 애플리케이션 데이터(214)를 포함할 수 있다. 운영 체제 데이터(216)는 주로 운영 체제(222)에 액세스할 수 있고 애플리케이션 데이터(214)는 주로 하나 이상의 애플리케이션 프로그램(220)에 액세스할 수 있다. 애플리케이션 데이터(214)는 컴퓨팅 시스템(200)의 사용자에게 보이거나 숨겨진 파일 시스템에 배열될 수 있다.
애플리케이션 프로그램(220)은 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 통해 운영 체제(222)와 통신할 수 있다. 이러한 API는, 예를 들어, 애플리케이션 데이터(214)를 판독 및/또는 기록하고, 통신 인터페이스(202)를 통해 정보를 전송 또는 수신하고, 사용자 인터페이스(204)에 대한 정보를 수신 및/또는 디스플레이하는 애플리케이션 프로그램(220)을 용이하게 할 수 있다.
일부 경우, 애플리케이션 프로그램(220)은 줄여서 "앱"으로 지칭될 수 있다. 추가적으로, 애플리케이션 프로그램(220)은 하나 이상의 온라인 애플리케이션 스토어 또는 애플리케이션 마켓을 통해 컴퓨팅 시스템(200)으로 다운로드될 수 있다. 그러나, 애플리케이션 프로그램은 웹 브라우저를 통해 또는 컴퓨팅 시스템(200) 상의 물리적 인터페이스(예를 들어, USB 포트)를 통해와 같은 다른 방식으로 컴퓨팅 시스템(200)에 설치될 수도 있다.
카메라 컴포넌트(224)는 조리개, 셔터, 기록면(예를 들어, 사진 필름 및/또는 이미지 센서), 렌즈, 셔터 버튼, 적외선 프로젝터, 및/또는 가시광선 프로젝터를 포함할 수 있지만 이에 한정되지 않는다. 카메라 컴포넌트(224)는 가시광선 스펙트럼(예를 들어, 380-700nm 파장을 갖는 전자기 복사)의 이미지를 캡처하도록 구성된 컴포넌트 및 적외선 스펙트럼(예를 들어, 701 나노미터-1 밀리미터의 파장을 갖는 전자기 복사)의 이미지를 캡처하도록 구성된 컴포넌트를 포함할 수 있다. 카메라 컴포넌트(224)는 프로세서(206)에 의해 실행되는 소프트웨어에 의해 적어도 부분적으로 제어될 수 있다.
3. 이미지로부터 렌즈 플레어의 표현을 제거하기 위한 예시적인 시스템
도 3a는 이미지로부터 렌즈 플레어의 표현을 제거하기 위한 예시적인 시스템을 도시한다. 구체적으로, 도 3a는 기계 학습 모델(304), 플레어 제어기(310), 마스크 생성기(314) 및 역 연산자(318)를 포함하는 시스템(300)을 도시한다. 시스템(300)은 다른 가능성 중에서도 컴퓨팅 디바이스(100) 및/또는 컴퓨팅 시스템(200)의 일부를 형성할 수 있다. 시스템(300)은 하드웨어 컴포넌트(예를 들어, 특수 제작된 회로), 소프트웨어 명령 또는 이들의 조합을 나타낼 수 있다.
시스템(300)은 입력 이미지(302)를 수신하고 이에 기초하여 수정된 입력 이미지(312), 수정된 입력 이미지(320), 및/또는 수정된 입력 이미지(312 및 320)의 조합을 생성하도록 구성될 수 있으며, 이들 각각은 입력 이미지(302)의 각각의 수정된 버전일 수 있다. 구체적으로, 입력 이미지(302)는 렌즈 플레어의 표현을 그 안에 포함할 수 있다. 기계 학습 모델(304)은 렌즈 플레어의 표현의 적어도 일부를 입력 이미지(302) 내에서 결정 및/또는 식별하도록 구성될 수 있다.
일 예에서, 기계 학습 모델(304)에 의한 입력 이미지(302)의 렌즈 플레어 표현의 결정은 (i) 렌즈 플레어 표현의 적어도 일부가 없고(lack) (ii) 입력 이미지(302)의 기본(underlying) 장면의 표현을 보존하는 새로운 이미지를 생성하는 것을 포함할 수 있다. 따라서, 기계 학습 모델(304)은 렌즈 플레어의 표현의 적어도 일부가 제거된 입력 이미지(302)에 대응하는 디플레어 이미지(306)를 생성하도록 구성될 수 있다. 기계 학습 모델(304)은 예를 들어 다른 가능성 중에서도 U-Net 아키텍처 또는 VGG-19 아키텍처에 따라 배열될 수 있는 컨볼루션 인공 신경망을 포함할 수 있다.
시스템(300)은 또한 입력 이미지(302)로부터 디플레어 이미지(306)를 감산함으로써 복구(된) 렌즈 플레어 이미지(308)를 생성하도록 구성될 수 있다. 복구된 렌즈 플레어 이미지(308)는 기계 학습 모델(304)이 입력 이미지(302)에서 결정하고 디플레어 이미지(306)를 생성할 때 입력 이미지(302)로부터 제거된 렌즈 플레어의 표현을 포함할 수 있다. 따라서, 디플레어 이미지(306)와 복구된 렌즈 플레어 이미지(308)의 합은 입력 이미지(302)와 동일할 수 있다.
제2 예에서, 기계 학습 모델(304)에 의한 입력 이미지(302)의 렌즈 플레어 표현의 결정은 대신 (i) 렌즈 플레어 표현의 적어도 일부를 나타내고 (ii) 입력 이미지(302)의 기본 장면에 대한 표현이 없는 새로운 이미지를 생성하는 것을 포함할 수 있다. 즉, 기계 학습 모델(304)은 대신 입력 이미지(302)에서 결정/식별된 렌즈 플레어의 표현의 적어도 일부를 나타내는 복구된 렌즈 플레어 이미지(308)를 생성하도록 구성될 수 있다. 따라서, 시스템(300)은 대신에 입력 이미지(302)로부터 복구된 렌즈 플레어 이미지(308)를 빼도록 구성될 수 있고, 이에 의해 디플레어 이미지(306)를 생성할 수 있다.
플레어 제어기(310)는 복구된 렌즈 플레어 이미지(308)의 복수의 픽셀이 렌즈 플레어 표현의 시각적 외양을 수정하기 위해 곱해질 수 있는 하나 이상의 플레어 수정값을 생성하도록 구성될 수 있다. 구체적으로, 렌즈 플레어를 나타내지 않는 입력 이미지(302)의 일부 픽셀은 디플레어 이미지(306)를 결정할 때 수정되지 않을 수 있고, 따라서 복구된 렌즈 플레어 이미지(308)의 대응하는 픽셀들은 0의 값을 가질 수 있다. 따라서, 복구된 렌즈 플레어 이미지(308)에서 0이 아닌 각각의 픽셀은 플레어 제어기(310)에 의해 생성된 플레어 수정값 중 하나 이상에 따라 수정될 수 있다.
구체적으로, 복구된 렌즈 플레어 이미지(308)에서 렌즈 플레어 표현의 강도 및/또는 색상은 복구된 렌즈 플레어 이미지(308)의 픽셀의 각 색상 성분(예를 들어, 적색, 녹색, 청색)에 대응하는 값을 곱함으로써 수정될 수 있다. 예를 들어, 렌즈 플레어 표현의 강도는 각 색상 성분에 1보다 큰 값을 곱함으로써 증가될 수 있다. 다른 예에서, 렌즈 플레어의 표현의 색상은 원하는 색상을 얻기 위해 각 색상 성분에 다른 값을 곱함으로써(예를 들어, 렌즈 플레어의 표현이 더 붉게 보이도록 하기 위해 녹색 및 청색 픽셀 성분에 1을 곱하고 적색 픽셀 성분에 2를 곱함으로써) 수정될 수 있다. 렌즈 플레어의 표현은 복구된 렌즈 플레어 이미지(308)의 0이 아닌 값들 각각에 0을 곱함으로써 완전히 제거될 수 있으며, 그 결과 수정된 입력 이미지(312)가 디플레어 이미지(306)와 동일하게 된다.
시스템(300)은 복구된 렌즈 플레어 이미지(308)의 픽셀들에 하나 이상의 플레어 수정값을 곱한 후, 곱해진 상기 복구된 렌즈 플레어 이미지(308)를 디플레어 이미지(306)에 추가(add)하여 수정된 입력 이미지(312)를 생성하도록 구성될 수 있다. 수정된 입력 이미지(312)는 하나 이상의 플레어 수정값에 따라 수정된 렌즈 플레어 표현을 갖는 입력 이미지(302)를 나타낼 수 있다. 예를 들어, 수정된 입력 이미지(312)는 다른 가능성 중에서도 증가, 감소된 렌즈 플레어의 표현을 갖는 및/또는 수정된 표현의 색상을 갖는 입력 이미지(302)와 동일할 수 있다. 따라서, 복구된 렌즈 플레어 이미지(308)를 생성하고, 이를 플레어 제어기(310)를 사용하여 수정하고, 수정된 버전을 다시 디플레어 이미지(306)에 추가함으로써, 시스템(300)은 입력 이미지(302)에 있는 렌즈 플레어 표현에 대한 다양한 시각적 수정을 허용할 수 있다.
일부 구현에서, 기계 학습 모델(304)은 또한, 입력 이미지(302) 내에서 렌즈 플레어를 유발하는 하나 이상의 광원의 표현을 결정 및/또는 식별하도록 구성될 수 있다(예를 들어, 기계 학습 모델(304)은 하나 이상의 광원을 렌즈 플레어와 동일하게 취급할 수 있음). 따라서, 이러한 구현에서, 디플레어 이미지(306)는 렌즈 플레어를 유발하는 하나 이상의 광원을 나타내지 않을 수 있다. 그러나, 일부 경우, 이 렌즈 플레어를 유발하는 대응하는 하나 이상의 광원의 표현을 유지하면서 입력 이미지(302)로부터 렌즈 플레어의 표현을 제거하는 것이 바람직할 수 있다. 따라서, 시스템(300)은 광원 마스크(316)를 생성하도록 구성된 마스크 생성기(314)를 포함할 수 있고, 이는 렌즈 플레어를 야기하는 하나 이상의 광원의 디플레어 이미지(306) 표현에 다시 추가하는데 사용될 수 있다.
구체적으로, 광원 마스크(316)는 예를 들어 복수의 픽셀을 포함하고 입력 이미지(302) 및/또는 디플레어 이미지(306)와 동일한 해상도를 갖는 회색조 이미지를 포함할 수 있다. 제1 값(예를 들어, 255)을 갖는 픽셀은 입력 이미지(302)에서 대응하는 픽셀이 광원을 나타내는 반면, 제2 값(예를 들어, 0)을 갖는 픽셀은 입력 이미지(302)에서 대응하는 픽셀이 광원을 나타내지 않음을 나타낼 수 있다. 제1 값과 제2 값 사이의 값은 광원을 나타내는 영역과 광원을 나타내지 않는 영역 사이에 원활하고 및/또는 점진적인 전환을 생성하는데 사용될 수 있다.
마스크 생성기(314)는 예를 들어 임계 휘도값(예를 들어, 0.95)을 초과하는 특정 픽셀과 연관된 휘도 값에 기초하여 입력 이미지(302)의 특정 픽셀이 광원을 나타낸다고 결정하도록 구성될 수 있다. 따라서, 마스크 생성기(314)는 입력 이미지(302)에서 공간적으로 대응하는 픽셀의 휘도 값이 임계 휘도값을 초과하는지 여부에 기초하여 대응하는 값(예를 들어, 255 또는 0)을 광원 마스크(316)의 각 픽셀에 할당함으로써 광원 마스크(316)를 생성하도록 구성될 수 있다.
시스템(300)은 광원 마스크(316)와 입력 이미지(302)를 곱하여 입력 이미지(302)에 표현된 광원을 포함하지만 그 안에 표현된 다른 특징을 배제하는 제1 마스킹된 이미지를 생성하도록 구성될 수 있다. 또한, 시스템(300)은 디플레어 이미지(306)에 광원 마스크(316)의 역을 곱하여 광원들에 대응하는 디플레어 이미지(306)의 영역들을 배제하지만 디플레어 이미지(306)의 다른 모든 특징을 포함하는 제2 마스킹된 이미지를 생성하도록 구성될 수 있다. 시스템(300)은 제1 마스킹된 이미지 및 제2 마스킹된 이미지를 추가(add)하여 수정된 입력 이미지(320)를 생성하도록 더 구성될 수 있다. 따라서, 시스템(300)은 함수 IB = IF ⊙ M + IDE-FLARED ⊙ (1-M)을 구현할 수 있으며, 여기서 IB는 수정된 입력 이미지(320)를 나타내고, IF는 입력 이미지(302)를 나타내고, M은 광원 마스크(316)를 나타내고, IDE -FLARED는 디플레어 이미지(306)를 나타내며, ⊙는 픽셀 단위 곱셈을 나타낸다. 따라서 수정된 입력 이미지(320)는 렌즈 플레어의 표현이 제거되고 렌즈 플레어를 유발하는 하나 이상의 광원의 표현을 포함하는 입력 이미지(302)를 나타낼 수 있다.
대안적으로, 일부 경우, 디플레어 이미지(306)에 광원 마스크(316)(역(318)에 의해 수정됨)를 적용하는 대신, 시스템(300)은 대신에 광원 마스크(316) (역(318)에 의해 수정됨)를 상기 수정된 입력 이미지(312)에 적용하도록 구성될 수 있다. 따라서, 입력 이미지(302)에 포함된 렌즈 플레어의 표현은 플레어 제어기(310)에 따라 수정될 수 있는 반면, 렌즈 플레어의 표현을 야기하는 광원은 수정되지 않은 채로 남아 있을 수 있다. 따라서, 수정된 입력 이미지(320)는 수정된 렌즈 플레어의 표현과 렌즈 플레어를 유발하는 하나 이상의 광원의 표현을 포함하는 입력 이미지(302)를 나타낼 수 있다. 동일한 효과는 대안적으로, 플레어 제어기(310)의 출력에 광원 마스크(316)(역(318)에 의해 수정됨)를 적용함으로써 달성될 수 있으며, 그 결과 복구된 렌즈 플레어 이미지(308)의 광원 표현이 수정 없이 디플레어 이미지(306)에 다시 추가된다.
도 3b 및 3c는 입력 이미지(302), 디플레어 이미지(306), 복구된 렌즈 플레어 이미지(308), 광원 마스크(316), 수정된 입력 이미지(312) 및 수정된 입력 이미지(320)의 예시적인 시각적 예시를 포함한다. 구체적으로, 입력 이미지(302)는 광원(예를 들어, 태양)의 표현, 광원에 의해 야기된 렌즈 플레어의 표현(332)(광원 밖으로 돌출된 선으로 표시됨) 및 입력 이미지(302)에 의해 표현된 기본 장면의 일부를 형성하는 산의 표현(334)을 포함할 수 있다. 디플레어 이미지(306)는 산의 표현(334)을 포함하지만 렌즈 플레어의 표현(332)이 없다. 일부 경우, 디플레어 이미지(306)는 또한 해칭 패턴으로 표시된 바와 같이 광원의 표현(330)이 없을 수 있다. 복구된 렌즈 플레어 이미지(308)는 렌즈 플레어의 표현(332) 및 일부 경우에는 광원의 표현(330)을 포함한다.
광원 마스크(316)는 광원의 표현(330)에 대응하는 마스크 영역(336) 및 입력 이미지(302)의 나머지(즉, 렌즈 플레어를 유발하는 광원을 나타내지 않는 영역)에 대응하는 마스크 영역(338)을 포함한다. 마스크 영역(336)은 흰색으로 표시되어 그의 픽셀에 제1 값(예를 들어, 회색조 이미지의 경우 255 또는 이진 이미지의 경우 1)이 할당되어 입력 이미지(302)의 모든 대응하는 픽셀을 "통과"시키는 것을 나타내는 반면, 마스크 영역(338)은 검은색으로 표시되어 그 의픽셀에 제2 값(예를 들어, 회색조 이미지 및/또는 이진 이미지의 경우 0)이 할당되어 입력 이미지(302)의 모든 해당 픽셀을 "차단"한다는 것을 나타낸다. 중간 픽셀값은 광원 마스크(316)의 일부로서 도시되어 있지는 않지만 마스크 영역(336)과 마스크 영역(338) 사이의 점진적인 전환을 생성하는데 사용될 수 있다. 광원 마스크(316)의 역(미도시)은 제2 값(예를 들어, 검정색에 대응하는 0)이 할당된 마스크 영역(336)의 각 픽셀을 포함하여 디플레어 이미지(306)의 모든 대응하는 픽셀을 "차단"하도록 구성되고, 제1 값(예를 들어, 흰색에 해당하는 255 또는 1)이 할당된 마스크 영역(338)의 각 픽셀을 포함하여 디플레어 이미지(306)의 모든 대응하는 픽셀을 "통과"시키도록 구성된다.
수정된 입력 이미지(312)는 표현(330, 332, 334)을 포함하며, 표현(332)(일부 경우 표현(330))은 입력 이미지(302)에 도시된 것보다 굵게 표시되는 대응 라인으로 표시된 바와 같이 렌즈 플레어의 시각적 외양을 강화하도록 수정되었다. 다른 경우, 표현(332)은 다른 가능성 중에서 그의 색상을 변경함으로써 및/또는 그의 강도를 감소시킴으로써(예를 들어, 대응하는 픽셀의 휘도 감소시킴으로써) 대안적으로 및/또는 추가적으로 수정될 수 있다. 수정된 입력 이미지(320)는 표현(330) 및 표현(334)을 포함하고 표현(332)을 배제한다. 따라서, 수정된 입력 이미지(320)는 렌즈 플레어 없이 나타나는 해당 장면을 나타낸다.
4. 예시적인 트레이닝 동작들
도 4는 이미지로부터 렌즈 플레어의 표현을 결정/식별하기 위해 기계 학습 모델(304)을 트레이닝하기 위한 예시적인 시스템 및 프로세스를 도시한다. 구체적으로, 기계 학습 모델(304)은 베이스라인 이미지(400)와 렌즈 플레어 이미지(406)에 기초하여 생성될 수 있는 트레이닝 이미지(420)에 기반하여 트레이닝될 수 있다. 베이스라인 이미지(400)는 베이스라인 이미지(402) 내지 베이스라인 이미지(404)(즉, 베이스라인 이미지(402-404))를 포함할 수 있다. 베이스라인 이미지(400)는 복수의 상이한 장면/환경을 나타낼 수 있다. 일부 경우, 베이스라인 이미지(400) 또는 그의 서브세트는 렌즈 플레어의 표현이 없는 이미지를 포함할 수 있으며, 따라서 "깨끗한" 장면/환경을 나타내는 것으로 간주될 수 있다. 따라서, 렌즈 플레어의 표현이 없기 때문에, 베이스라인 이미지(400)는 대안적으로 자연 이미지, 깨끗한 이미지, 플레어 프리(flare-free) 이미지, 및/또는 플레어 프리 자연 이미지로 지칭될 수 있다. 베이스라인 이미지(400)의 각 베이스라인 이미지는 변수(I0)을 이용하여 표현될 수 있다.
렌즈 플레어 이미지(406)는 모의(된) 렌즈 플레어 이미지(408) 및/또는 실험(적) 렌즈 플레어 이미지(414)를 포함할 수 있다. 모의 렌즈 플레어 이미지(408)는 렌즈 플레어 이미지(410) 내지 렌즈 플레어 이미지(412)(즉, 렌즈 플레어 이미지(410-412))를 포함할 수 있고, 실험 렌즈 플레어 이미지는 렌즈 플레어 이미지(416) 내지 렌즈 플레어 이미지(418)(즉, 렌즈 플레어 이미지(416-418))를 포함할 수 있다. 렌즈 플레어 이미지(406)는 렌즈 플레어의 복수의 상이한 표현을 포함할 수 있다. 일부 경우, 렌즈 플레어 이미지(406)는 균일하지 않은 배경(예를 들어, 환경의 표현)보다는 모노톤(예를 들어, 검정색) 배경에 대한 렌즈 플레어의 복수의 상이한 변형을 나타낼 수 있으므로, 렌즈 플레어를 나타내는 렌즈 플레어 이미지(406)의 부분은 렌즈 플레어를 나타내지 않는 부분과 쉽게 분리/구별될 수 있다. 따라서, 렌즈 플레어 이미지(406)는 대안적으로 렌즈 플레어의 표현만을 포함하기 때문에 플레어만 있는(flare-only) 이미지로 지칭될 수 있다. 렌즈 플레어 이미지(406)의 각각의 렌즈 플레어 이미지는 변수(F)를 사용하여 표현될 수 있다.
모의 렌즈 플레어 이미지(408)는 적어도 (i) 광원 및 (ii) 하나 이상의 개별 광학 컴포넌트를 포함하는 하나 이상의 카메라 디바이스의 컴퓨터 시뮬레이션에 기초하여 생성될 수 있다. 모의 렌즈 플레어 이미지(408)는 카메라 디바이스의 개별 광학 컴포넌트에 존재하는 결함(예를 들어, 먼지, 스크래치 등)에 의한 빛의 산란 및/또는 회절에 의해 유발되는 렌즈 플레어를 나타낼 수 있다. 이러한 결함은 랜덤하기 때문에, 실제로 접할 수 있는 결함을 나타내는 다양한 결함으로 인해 발생하는 렌즈 플레어를 나타내는 복수의 이미지를 실험적으로 수집하는 것은 도전적이고, 시간이 많이 걸리고, 어렵고 및/또는 실행 불가능할 수 있다. 그러나, 시뮬레이션을 통해 결함 범위를 제어할 수 있으므로 실제로 접할 수 있는 다양한 가능한 결함을 커버하거나 대표하는 이미지를 생성할 수 있다. 일부 경우, 모의 렌즈 플레어 이미지(408)는 추가로 또는 대안적으로 카메라 디바이스의 광학 컴포넌트(예를 들어, 렌즈)에서 나오는 빛의 내부 반사로 인한 렌즈 플레어를 나타낼 수 있다.
일 예에서, 컴퓨터 시뮬레이션은 카메라 디바이스의 동공 함수의 푸리에 변환에 기초하여 카메라 디바이스의 포인트 확산 함수(PSFλ0)를 생성하는 것을 포함할 수 있다. 구체적으로, 동공 함수는 (i) 조리개 함수(A), (ii) 선형 위상 변이 항(φS(x/z,y/z)) 및 (iii) 디포커스(defocus) 항(φDF(z))에 기초할 수 있다. 포인트 확산 함수는 (i) 조리개 함수 및 (ii) 선형 위상 변이 항과 디포커스 항의 합계의 지수의 곱(product), 즉 PSFλ0=|F{Aexp[φS(x/z,y/z)+φDF(z)]}|2로 표현될 수 있다.
조리개 함수(A)는 대안적으로 진폭으로 지칭될 수 있고, 조리개 및/또는 카메라 디바이스의 하나 이상의 렌즈의 하나 이상의 모의 결함(예를 들어, 먼지 또는 스크래치의 존재)을 나타낼 수 있다. 따라서, 복수의 상이한 조리개 함수는 복수의 상이한 결함을 나타내는데 사용될 수 있다. 예를 들어, 복수의 상이한 결함을 시뮬레이션하기 위해, 다양한 크기 및/또는 다양한 투명도의 도트(dots)가 카메라 디바이스의 조리개 및/또는 하나 이상의 렌즈를 나타내는 디스크상에 (예를 들어, 랜뎀하게) 생성될 수 있다.
선형 위상 변이 항(φS(x/z,y/z))은 카메라 디바이스의 하나 이상의 렌즈에 의해 유발된 위상 변이(phase shift)를 나타낼 수 있다. 선형 위상 변이 항(φS(x/z,y/z))은 빛이 카메라 디바이스의 하나 이상의 렌즈에 입사하는 각도에 기초하여 결정될 수 있으며, 따라서 카메라 디바이스와 광원 사이의 시뮬레이션된 상대 위치에 기초할 수 있다. 디포커스 항(φDF(z))은 모의 광원이 카메라 디바이스의 하나 이상의 렌즈에 대한 깊이(depth)에 기초하여 초점이 맞지 않는 정도를 나타낼 수 있다. 따라서, 디포커스 항(φDF(z))은 또한 카메라 디바이스와 광원 사이의 시뮬레이션된 상대 위치에 기초하여 결정될 수 있다.
포인트 확산 함수(PSFλ0)는 단일 파장(λ0)에 특정할(고유할) 수 있다. 따라서, 복수의 파장(예를 들어, 전자기 스펙트럼의 가시 영역에 해당)을 포함하는 광원을 시뮬레이션하기 위해, 포인트 확산 함수(PSFλ0)는 복수의 상이한 파장에서 샘플링될 수 있다. 예를 들어, 포인트 확산 함수(PSFλ0)는 380 나노미터부터 740 나노미터까지 5나노미터 단위로 샘플링될 수 있고, 그에 따라 복수의 다른 파장을 방출하는 광원을 나타내는 다채널(예를 들어, 73 채널) 포인트 확산 함수(PSFλ)를 생성한다. 일부 구현에서, 포인트 확산 함수(PSFλ0)는 상이한 파장 범위를 따라 및/또는 상이한 증분으로 샘플링될 수 있다.
다채널 포인트 확산 함수(PSFλ)는 시뮬레이션된 센서 측정을 생성하는데 사용될 수 있으며, 그 결과 모의 렌즈 플레어 이미지(408) 중 대응하는 이미지가 생성된다. 구체적으로, 시뮬레이션된 센서 측정은 다채널 포인트 확산 함수(PSFλ)에 시뮬레이션된 카메라 디바이스의 이미지 센서에 대응하는 색상 매트릭스(C)를 곱함으로써 생성될 수 있다. 색상 매트릭스(C)는 예를 들어, 포인트 확산 함수 공간으로부터 예를 들어 적-녹-청(RGB) 픽셀 값으로 표현되는 이미지 공간으로의 변환을 나타낼 수 있다. 따라서, 함수(PSFRGB = C(PSFλ))에 따라 모의 렌즈 플레어 이미지가 결정될 수 있다. 상이한 유형의 이미지 센서를 시뮬레이션하기 위해 복수의 상이한 색상 매트릭스가 사용될 수 있다.
모의 렌즈 플레어 이미지(408)는 복수의 상이한 렌즈 플레어 표현을 포함할 수 있다. 이러한 상이한 표현은 조리개 함수(A), 광원과 카메라 디바이스 사이의 상대 위치(따라서 선형 위상 변이 항 φS(x/z,y/z) 및 디포커스 항 φDF(z )을 변경함), 다채널 포인트 확산 함수(PSFλ) 및/또는 컬러 매트릭스(C)를 변경함으로써 생성될 수 있다. 일부 경우, 렌즈 플레어 이미지(408)의 생성은 또한 렌즈 플레어의 표현을 보다 사실적으로 보이게 하기 위해 하나 이상의 광학 왜곡(예를 들어, 배럴 왜곡, 핀쿠션 왜곡 등)의 적용을 포함할 수 있다.
실험 렌즈 플레어 이미지(414)는 물리적 광원의 이미지를 캡처하기 위해 하나 이상의 물리적 카메라 디바이스를 사용함으로써 생성될 수 있다. 실험 렌즈 플레어 이미지(414)는 카메라 디바이스의 광학 컴포넌트(예를 들어, 렌즈)로부터의 빛의 내부 반사에 의해 야기된 렌즈 플레어를 나타낼 수 있다. 이러한 시뮬레이션은 공개적으로 이용 가능하지 않을 수 있는 광학 컴포넌트(예를 들어, 렌즈)의 정확한 광학 모델에 의존할 수 있기 때문에 내부 반사로 인한 렌즈 플레어를 나타내는 복수의 이미지를 시뮬레이션하는 것은 도전적이고 시간이 많이 걸리고 어렵거나 불가능할 수 있다.
그러나, 내부 반사로 인한 렌즈 플레어의 표현은 일반적으로 유사한 카메라 디바이스 및/또는 유사한 광학 컴포넌트(예를 들어, 렌즈)에서 유사할 수 있다. 예를 들어, 렌즈 플레어의 표현은 특정 카메라 모델의 상이한 인스턴스에 걸쳐 유사할 수 있다. 따라서, 다양한(예를 들어, 일반적으로 사용되는) 카메라 디바이스 및/또는 광학 컴포넌트를 사용하여 물리적으로 캡처된 이미지는 동일하거나 유사한 카메라 디바이스 및/또는 광학 컴포넌트와 관련된 렌즈 플레어의 다양한 가능한 표현을 커버 및/또는 나타낼 수 있다. 일부 경우에, 실험 렌즈 플레어 이미지(414)는 카메라 디바이스의 개별 광학 컴포넌트상에 존재하는 결함(예를 들어, 먼지, 스크래치 등)에 의한 빛의 산란 및/또는 회절에 의해 야기되는 렌즈 플레어를 추가로 또는 대안적으로 나타낼 수 있다.
구체적으로, 실험 렌즈 플레어 이미지(414)는 하나 이상의 카메라와 광원 사이의 복수의 상이한 상대 위치(예를 들어, 선형 및/또는 각도 위치)로부터 하나 이상의 카메라 디바이스에 의해 캡처된 광원의 표현을 포함할 수 있다. 광원 및 하나 이상의 카메라 디바이스는 하나 이상의 카메라 디바이스가 광원에 의해 방출되는 광만을 실질적으로 캡처할 수 있도록 광학적으로 격리된 환경에 배치된다. 추가적으로 또는 대안적으로, 광원은 렌즈 플레어 및/또는 광원의 표현이 (예를 들어, 검정색이외의 색상을 갖는 렌즈 플레어의 표현에 기초하여) 배경으로부터 분리될 수 있도록 모노톤(예를 들어, 검정색) 배경에 대해 촬영될 수 있다.
실험 렌즈 플레어 이미지(414)의 캡처 동안, 광원은 고정될 수 있는 반면, 카메라는 광원에 대한 그의 포즈가 제어 및/또는 수정되도록(또는 그 반대로) 허용하는 회전 및/또는 병진 스테이지에 배치될 수 있다. 일 예에서, 각각의 실험 렌즈 플레어 이미지는 특정 방향을 따라 음의 50도에서 양의 50도까지 카메라 디바이스의 등거리 각도 스위프(equidistant angular sweep)를 따라 1도마다 캡처될 수 있다. 다른 예에서, 각각의 실험 렌즈 플레어 이미지는 특정 방향을 따라 카메라 디바이스의 선형 스위프를 따라 복수의 선형 위치 각각에서 캡처될 수 있다. 부가적으로, 일부 경우, 인접 포즈에서 캡처된 실험 렌즈 플레어 이미지는 보간되어 인접 포즈 사이에서 관찰되었을 가능성이 있는 렌즈 플레어를 나타내는 추가 이미지를 생성할 수 있다. 예를 들어, 2개의 인접한 실험 이미지는 예를 들어 1, 2, 4, 8 또는 다른 수의 보간된 실험 이미지를 생성하는데 사용될 수 있다.
렌즈 플레어 표현의 시각적 패턴은 빛의 입사각에 의존하기 때문에, 상이한 상대 위치로부터 광원의 이미지를 캡처하는 것은 내부 반사에 의해 야기된 렌즈 플레어의 복수의 상이한 표현의 생성을 허용할 수 있다. 유사하게, 복수의 상이한 카메라 디바이스를 사용하여 광원의 이미지를 캡처하는 것은 렌즈 플레어 표현의 시각적 패턴이 각 카메라 장치의 광학 컴포넌트의 광학 속성에 의존하기 때문에 내부 반사에 의해 야기되는 렌즈 플레어 표현의 다양성을 더욱 증가시킬 수 있다.
트레이닝 이미지(420)는 트레이닝 이미지(422) 내지 트레이닝 이미지(424)(즉, 트레이닝 이미지(422-424))를 포함할 수 있다. 각각의 트레이닝 이미지(420)는 베이스라인 이미지(400)의 대응하는 베이스라인 이미지를 렌즈 플레어 이미지(406)의 대응하는 렌즈 플레어 이미지와 결합함으로써 형성될 수 있다. 예를 들어, 트레이닝 이미지(422)는 베이스라인 이미지(402)를 렌즈 플레어 이미지(410)와 결합함으로써 형성될 수 있는 반면, 트레이닝 이미지(424)는 베이스라인 이미지(404)를 렌즈 플레어 이미지(418)와 결합함으로써 형성될 수 있다. 일부 경우, 베이스라인 이미지(400)의 특정 베이스라인 이미지는 렌즈 플레어 이미지(406)의 다수의 상이한 렌즈 플레어 이미지와 결합되어 트레이닝 이미지(420)의 다수의 상이한 트레이닝 이미지를 형성할 수 있다. 유사하게, 렌즈 플레어 이미지(406)의 특정 렌즈 플레어 이미지는 베이스라인 이미지(400)의 다수의 상이한 베이스라인 이미지와 결합되어 트레이닝 이미지(420)의 다수의 상이한 트레이닝 이미지를 형성할 수 있다. 따라서, 베이스라인 이미지(400)의 개수는 렌즈 플레어 이미지(406)의 개수와 다를 수 있다. 일부 경우, 트레이닝 이미지(420)는 모의 렌즈 플레어 이미지(408)에 기초하여 생성될 수 있고 실험 렌즈 플레어 이미지(414)에 기초하지 않고 생성될 수 있거나 그 반대의 경우도 마찬가지이다.
트레이닝 이미지(420)의 각각의 트레이닝 이미지는 변수(IF)를 사용하여 표현될 수 있고, 함수(IF = I0 + F + N)에 따라 계산될 수 있으며, 여기서 N은 추가된 노이즈를 나타낸다. 따라서, 일 예에서, 특정 베이스라인 이미지는 대응하는 렌즈 플레어 이미지의 대응하는 픽셀 값들에 특정 베이스라인 이미지의 복수의 픽셀 값을 추가함으로써 대응하는 렌즈 플레어 이미지와 결합될 수 있다. 구체적으로, 대응하는 렌즈 플레어 이미지에서 (모노톤 배경이외의) 렌즈 플레어를 나타내는 픽셀들의 값은 특정 베이스라인 이미지에서 공간적으로 대응하는 픽셀의 값에 추가될 수 있다. 일부 경우, 노이즈는 트레이닝 이미지의 대응하는 트레이닝 픽셀을 생성하기 위해 각각의 결과 픽셀 값에 추가될 수 있다. 예를 들어, 가우스 노이즈은 0의 평균과 σ 표준 편차(예를 들어, σ=0.01)를 갖는 정규 분포 N(0,σ2)로부터 선택될 수 있다. 노이즈는 다른 유형의 분포를 램덤하게 샘플링하는 것과 같은 다른 방법으로도 추가될 수 있다.
다른 예에서, 트레이닝 픽셀 값은 베이스라인 픽셀 값과 대응하는 렌즈 플레어 픽셀 값의 가중 합에 기초할 수 있다. 추가 예에서, 특정 베이스라인 이미지는 특정 베이스라인 이미지에서, 복수의 픽셀 값을 대응하는 렌즈 플레어 이미지의 대응하는 픽셀 값으로 대체함으로써 대응하는 렌즈 플레어 이미지와 결합될 수 있다. 구체적으로, 대응하는 렌즈 플레어 이미지에서 (모노톤 배경이 아닌) 렌즈 플레어를 나타내는 픽셀들의 픽셀 값은 특정 베이스라인 이미지에서 공간적으로 대응하는 픽셀들을 대체할 수 있다. 따라서, 초기에 렌즈 플레어를 나타내지 않은 특정 베이스라인 이미지의 픽셀과 관련된 픽셀 값은 대응하는 렌즈 플레어 이미지로부터 획득된 새로운 값으로 대체될 수 있으므로 결과적인 트레이닝 이미지는 렌즈 플레어의 표현이 추가된 베이스라인 이미지의 장면을 나타낸다.
대응하는 수정(된) 이미지(430)는 기계 학습 모델(304)에 의해 하나 이상의 개별 트레이닝 이미지를 처리함으로써 트레이닝 이미지(420)의 하나 이상의 개별 트레이닝 이미지 각각에 대해 생성될 수 있다. 수정 이미지(430)는 복구된 렌즈 플레어 이미지(432)를 생성하는데 사용될 수 있고 및/또는 그에 기초하여 생성될 수 있다. 복구된 렌즈 플레어 이미지(432)는 기계 학습 모델(304)에 의한 처리의 결과로서 상기 대응하는 트레이닝 이미지로부터 제거된 렌즈 플레어의 표현을 포함할 수 있다. 수정 이미지(430)는 IM으로 표현될 수 있고, 복구된 렌즈 플레어 이미지(432)는 IR로 표현될 수 있다.
일부 구현에서, 기계 학습 모델(304)은 (도 4에 도시된 바와 같이) 수정 이미지(430)를 생성하도록 트레이닝될 수 있고, 복구된 렌즈 플레어 이미지(432)는 대응하는 트레이닝 이미지로부터 수정된 이미지(430)의 감산을 통해 결정될 수 있다. 따라서, 기계 학습 모델(304)은 는 함수 f(IF,θ)로 표현될 수 있으며, 여기서 θ는 기계 학습 모델(304)의 복수의 파라미터 값(트레이닝 동안 조정 가능)을 나타내며, f(IF,θ) = IM 및 IR = IF - IM이다. 다른 구현에서, 기계 학습 모델(304)은 대신에 복구된 렌즈 플레어 이미지(432)(미도시음)를 생성하도록 트레이닝될 수 있고, 수정 이미지(430)는 대응하는 트레이닝 이미지로부터 복구된 렌즈 플레어 이미지(432)의 감산을 통해 결정될 수 있다. 따라서, 기계 학습 모델(304)은 함수 f(IF,α)로 표현될 수 있으며, 여기서 α는 기계 학습 모델(304)의 복수의 파라미터 값(트레이닝 동안 조정 가능)을 나타내며, f(IF,α) = IR 및 IM = IF - IR이다.
기계 학습 모델(304)의 트레이닝이 완료되면, 수정 이미지(430)는 대응하는 트레이닝 이미지에서 발견되는 렌즈 플레어의 표현을 거의 또는 실질적으로 포함하지 않는 디플레어 이미지일 수 있다. 기계 학습 모델(304)이 트레이닝되는 동안, 수정 이미지(430)는 대응하는 트레이닝 이미지로부터 렌즈 플레어의 표현을 제거하려는 시도를 나타낼 수 있고, 표현이 제거되는 정확도를 향상시키기 위해 기계 학습 모델(304)의 하나 이상의 파라미터를 조정하는데 사용될 수 있다.
구체적으로, 손실 함수(434)는 수정 이미지(430)를 수정 이미지(430)가 기반으로 하는 대응하는 트레이닝 이미지를 형성하는데 사용된 각각의 베이스라인 이미지와 비교하도록 구성될 수 있다. 예를 들어, 수정 이미지(430)가 기계 학습 모델(304)에 의한 트레이닝 이미지(422)의 처리에 기초하여 생성될 때, 손실 함수(434)는 베이스라인 이미지(402)가 얼마나 정확하게 재구성되었는지를 정량화하기 위해 수정 이미지(430)를 베이스라인 이미지(402)와 비교하도록 구성될 수 있다. 일 예에서, 손실 함수(434)는 수정 이미지(430)와 각각의 베이스라인 이미지(예를 들어, 위의 예에서 베이스라인 이미지(402)) 사이의 손실(L1)을 나타낼 수 있고, 함수(LI(θ) = ||IM - I0||1)로 나타낼 수 있다. 기계 학습 모델(304)이 포화 픽셀 및/또는 포화 픽셀 영역을 인페인팅(in-paint)하도록 구성되지 않은 경우, 이러한 포화 픽셀 및/또는 포화 픽셀 영역은 손실 함수(434)에 의해 생략될 수 있다.
추가적으로 또는 대안적으로, 손실 함수(436)는 복구된 렌즈 플레어 이미지(432)를 복구된 렌즈 플레어 이미지(432)가 기반으로 하는 대응하는 트레이닝 이미지를 형성하는데 사용된 각각의 렌즈 플레어 이미지와 비교하도록 구성될 수 있다. 예를 들어, 수정 이미지(430) 및 복구된 렌즈 플레어 이미지(432)가 기계 학습 모델(304)에 의한 트레이닝 이미지(422)의 처리에 기초하여 생성될 때, 손실 함수(436)는 복구된 렌즈 플레어 이미지(432)를 렌즈 플레어 이미지(410)와 비교하여 렌즈 플레어 이미지(410)가 얼마나 정확하게 제거되었는지를 정량화하도록 구성될 수 있다. 일 예에서, 손실 함수(436)는 복구된 렌즈 플레어 이미지(432)와 각각의 렌즈 플레어 이미지(예를 들어, 위의 예에서 렌즈 플레어 이미지(410)) 사이의 손실(L1)을 나타낼 수 있고, LF(θ)=||IR-F|1로 표현될 수 있다. 손실 함수(434)에 추가하여 손실 함수(436)를 사용하면 트레이닝된 기계 학습 모델(304)이 이미지에서 렌즈 플레어의 표현을 제거하는 정확도를 향상시킬 수 있다.
일부 경우, 기계 학습 모델(304)의 트레이닝에 하나 이상의 추가 손실 함수(미도시)가 사용될 수 있다. 예를 들어, 제3 손실 함수는 사전 트레이닝된 이미지 처리 모델(예를 들어, 사전 트레이닝된 컨볼루션 신경망)에 의해 (i) 수정된 이미지(430) 및 (ii) 개별 베이스라인 이미지 각각의 처리 결과를 비교하도록 구성될 수 있다. 예를 들어, 기계 학습 모델(304)에 의한 트레이닝 이미지(422)의 처리에 기초하여 수정 이미지(430)가 생성될 때, 제3 손실 함수는 사전 트레이닝된 이미지 처리 모델에 의해 수정 이미지(430)를 처리한 결과(Φl(IM))를 사전 트레이닝된 이미지 처리 모델에 의한 베이스라인 이미지(402) 처리의 결과(Φl(I0))와 비교하도록 구성될 수 있다.
일부 경우, 결과(Φl(IM))와 결과(Φl(I0))는 사전 트레이닝된 이미지 처리 모델의 특정 특징 계층(feature layer)(아래 첨자로 "l"로 표시됨)를 나타낼 수 있으며, 따라서 각 이미지의 시맨틱 임베딩으로 볼 수 있다. 따라서, 제3 손실 함수는 수정 이미지(430)와 베이스라인 이미지(402)의 개별 시맨틱 임베딩에 기초하여, 기계 학습 모델(304)이 베이스라인 이미지(402)를 얼마나 정확하게 재구성하는지를 정량화할 수 있다. 일 예에서, 제3 손실 함수는 수정 이미지(430)의 임베딩과 개별 베이스라인 이미지(예를 들어, 위의 예에서 베이스라인 이미지(402))의 임베딩 사이에서 l개의 특징 계층에 걸쳐 계산된 손실(Ll)을 나타낼 수 있고, Lp(θ)=∑l λl ||Φl(IM)-Φl(I0)||1로 표시되며, 여기서 λl은 특징 계층별 가중치이다.
파라미터 조정기(438)는 손실 함수(434) 및 그의 출력, 손실 함수(436) 및 그의 출력, 및/또는 하나 이상의 추가 손실 함수 및 그의 출력에 기초하여 기계 학습 모델(304)의 하나 이상의 파라미터를 조정하도록 구성될 수 있다. 예를 들어, 파라미터 조정기(438)는 손실 함수(434, 436) 및 하나 이상의 추가 손실 함수의 가중 합에 기초하여 전체 손실 함수를 계산하도록 구성될 수 있다. 따라서 전체 손실 함수는 L(θ)=w1LI(θ)+w2Lp(θ)+w3LF(θ)로 표현될 수 있다. 파라미터 조정기(438)는 그에 의해 생성된 손실값에 대응하는 포인트에서 전체 손실 함수의 경사(gradient)를 결정하도록 구성될 수 있다. 경사에 기초하여, 파라미터 조정기(438)는 기계 학습 모델(304)의 하나 이상의 파라미터에 대한 하나 이상의 새로운 값을 선택하도록 구성될 수 있다. 파라미터 조정기(438)는 예를 들어 확률적 경사 하강법, 배치(batch) 경사 하강법, 및/또는 미니-배치 경사 하강법을 사용하여 기계 학습 모델(304)을 트레이닝시키도록 구성될 수 있다. 기계 학습 모델(304)이 적어도 전체 비용 함수에 의해 측정된 정확도의 임계 레벨 이상에 도달할 때까지 트레이닝 반복이 실행될 수 있다.
5. 예시적인 이미지 리샘플링
도 5는 다양한 해상도의 입력 이미지에 적용된 시스템(300)의 양태를 도시한다. 구체적으로, 기계 학습 모델(304)은 입력으로서 수용하고 특정 해상도를 갖는 출력 이미지 데이터로서 생성하도록 구성될 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 특정 해상도는 512 픽셀×512 픽셀(즉, 512×512)일 수 있다. 따라서, 상이한 크기를 갖는 이미지 데이터에 대해 동작하기 위해, 시스템(300)은 다운샘플러(502)와 업샘플러(510)를 포함할 수 있다. 예를 들어, 2048 픽셀×2048 픽셀(즉, 2048×2048)의 (제1) 해상도를 갖는 입력 이미지(500)는 512 픽셀×512 픽셀의 (제2) 해상도를 갖는 입력 이미지(504)를 생성하기 위해 다운샘플러(502)에 의해 4배만큼 다운샘플링될 수 있다.
기계 학습 모델(304)은 입력 이미지(504)를 처리하여 512 픽셀×512 픽셀의 해상도를 갖는 디플레어 이미지(506)를 생성하도록 구성될 수 있다. 시스템(300)은 디플레어 이미지(506)와 입력 이미지(504) 간의 차이에 기초하여 512×512 픽셀의 해상도를 갖는 복구된 렌즈 플레어 이미지(508)를 생성하도록 구성될 수 있다. 대안적인 구현에서, 기계 학습 모델(304)은 대신에 입력 이미지(504)를 처리하여 복구된 렌즈 플레어 이미지(508)를 생성하도록 구성될 수 있고, 시스템(300)은 복구된 렌즈 플레어 이미지(508)와 입력 이미지(504) 간의 차이에 기초하여 디플레어 이미지(506)를 생성하도록 구성될 수 있다(또는 디플레어 이미지(506)의 생성이 생략될 수 있음).
업샘플러(510)는 복구된 렌즈 플레어 이미지(508)를 4배만큼 업샘플링하여 2048 픽셀×2048 픽셀의 해상도를 갖는 복구된 렌즈 플레어 이미지(512)를 생성하도록 구성될 수 있다. 시스템(300)은 복구된 렌즈 플레어 이미지(512)와 입력 이미지(500) 간의 차이에 기초하여 2048×2048 픽셀의 해상도를 갖는 디플레어 이미지(514)를 생성하도록 구성될 수 있다.
따라서, 기계 학습 모델(304)은 512×512 픽셀의 더 작은 제2 해상도에 적용될 수 있는 반면 시스템(300)의 입력 및 출력은 2048×2048 픽셀의 더 높은 제1 해상도에서 제공된다. 다른 경우에는 다른 해상도가 사용될 수 있다. 예를 들어, 특정 카메라 모델에 특정된 기계 학습 모델(304)의 인스턴스는 특정 해상도의 이미지를 받아들이고 생성하도록 트레이닝될 수 있는데, 이는 특정 카메라 모델이 생성하도록 구성된 전체 해상도 이미지 데이터의 N-배(fold)(예를 들어, 2배, 4배, 8배 등) 다운샘플링에 해당할 수 있다. 기계 학습 모델(304)의 카메라 특정(specific) 인스턴스는 대응하는 전체 해상도 이미지 데이터의 종횡비를 설명할 수 있으,며, 그에 대한 입력 및 출력의 종횡비는 1:1과 다를 수 있다.
또한, 마스크 생성부(314)는 기계 학습 모델에 의해 사용되는 제2 해상도(예를 들어, 512×512) 및/또는 입력 및 출력 이미지 데이터의 제1 해상도(예를 들어, 2048×2048)에서 광원 마스크(316)를 생성하도록 구성될 수 있다. 따라서, 제1 예에서, 제1 해상도(2048×2048)를 갖는 광원 마스크(316)가 입력 이미지(500) 및 디플레어 이미지(514)에 적용될 수 있다. 대안적으로, 제2 예에서, 제2 해상도(512×512)를 갖는 광원 마스크(316)가 입력 이미지(504) 및 디플레어 이미지(506)에 적용될 수 있고, 이어서 제2 해상도(2048×2048)로 업샘플링될 수 있다.
6. 추가적인 예시 동작들
도 6은 렌즈 플레어의 표현을 포함하는 이미지를 처리하기 위해 기계 학습 모델을 트레이닝시키는 것과 관련된 동작들의 흐름도를 도시한다. 도 7은 이미지로부터 렌즈 플레어 표현을 제거하기 위해 기계 학습 모델을 사용하여 이미지를 처리하는 것과 관련된 동작들의 흐름도를 보여준다. 도 6 및/또는 도 7의 동작들은 컴퓨팅 디바이스(100), 컴퓨팅 시스템(200), 시스템(300), 및/또는 다른 유형의 컴퓨팅 디바이스에 의해 수행될 수 있다. 도 6 및/또는 도 7의 동작들은 하나 이상의 카메라 디바이스가 장착된 컴퓨팅 디바이스 및/또는 임의의 카메라 디바이스가 없는 컴퓨팅 디바이스에 의해 수행될 수 있다. 도 6 및/또는 도 7의 실시예는 본 명세서에 도시된 특징들 중 임의의 하나 이상의 특징을 제거함으로써 단순화될 수 있다. 또한, 이들 실시예는 임의의 이전 도면의 특징, 양태 및/또는 구현과 결합되거나 본 명세서에서 설명될 수 있다.
도 6을 참조하면, 블록(600)은 (i) 복수의 베이스라인 이미지 및 (ii) 복수의 렌즈 플레어 이미지를 획득하는 단계를 포함할 수 있다.
블록(602)은 복수의 베이스라인 이미지의 각각의 개별 베이스라인 이미지를 복수의 렌즈 플레어 이미지의 대응하는 렌즈 플레어 이미지와 결합함으로써 복수의 트레이닝 이미지를 생성하는 단계를 수반할 수 있다. 예를 들어, 개별 베이스라인 이미지의 하나 이상의 픽셀의 값은 대응하는 렌즈 플레어 이미지의 (배경이 아닌) 렌즈 플레어를 나타내는 하나 이상의 픽셀의 값에 추가되거나 대체될 수 있다.
블록(604)은 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해, 기계 학습 모델에 의해 개별 트레이닝 이미지를 처리함으로써 수정(된) 이미지를 결정하는 단계를 수반할 수 있다. 수정 이미지는 렌즈 플레어의 대응하는 표현의 적어도 일부가 제거된 개별 트레이닝 이미지를 포함할 수 있다. 기계 학습 모델의 트레이닝 과정에서, 기계 학습 모델이 트레이닝 이미지에서 렌즈 플레어의 대응하는 표현을 결정하는 정도 및/또는 정확도가 향상될 수 있다. 따라서, 렌즈 플레어의 대응하는 표현이 개별 트레이닝 이미지로부터 제거되는 정도 및/또는 정확도가 또한 향상될 수 있다.
블록(606)은 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해, 수정 이미지를 개별 트레이닝 이미지를 생성하는데 사용된 대응하는 베이스라인 이미지와 비교하도록 구성된 손실 함수에 기초하여 손실값을 결정하는 단계를 수반할 수 있다.
블록(608)은 (i) 각각의 개별 트레이닝 이미지에 대해 결정된 손실값 및 (ii) 손실 함수에 기초하여 기계 학습 모델의 하나 이상의 파라미터를 조정하는 단계를 수반할 수 있다. 예를 들어, 하나 이상의 파라미터는 손실값에서 또는 그 근처에서 손실 함수의 경사(gradient) 값에 기초하여 조정될 수 있다.
일부 실시예에서, 복수의 렌즈 플레어 이미지는 하나 이상의 제1 렌즈 플레어 패턴의 표현을 생성하기 위해 카메라 디바이스의 광학 시스템을 계산적으로 시뮬레이션함으로써 생성된 하나 이상의 모의 렌즈 플레어 이미지를 포함할 수 있다. 예를 들어, 렌즈 및 이미지 센서와 같은 카메라 디바이스의 광학 컴포넌트는 카메라 디바이스가 캡처하도록 구성된 빛을 방출하는데 사용되는 광원과 함께 시뮬레이션될 수 있다.
일부 실시예에서, 하나 이상의 제1 렌즈 플레어 패턴의 표현의 적어도 일부는 카메라 디바이스의 렌즈 상에 존재하는 하나 이상의 결함에 의한 광의 산란을 나타낼 수 있다. 예를 들어, 결함에는 렌즈에 존재하는 먼지 및/또는 렌즈에 존재하는 스크래치(긁힘) 또는 기타 물리적 결함이 포함될 수 있다. 넓은 범위의 결함을 포함하는 실험(적) 데이터를 캡처하는 것은 카메라 디바이스의 물리적 컴포넌트에 존재하는 물리적 결함을 정확하게 제어하기 어려울 수 있기 때문에 어렵고 시간이 많이 걸리며/또는 비현실적일 수 있다. 그러나, 시뮬레이션은 결함의 크기, 위치 및/또는 기타 속성을 보다 쉽게 제어할 수 있게 하므로 상이한 렌즈 플레어의 넓은 범위를 표현하는 렌즈 플레어 이미지의 수집을 용이하게 할 수 있다.
일부 실시예에서, 카메라 디바이스의 광학 시스템을 계산적으로 시뮬레이션하는 단계는 카메라 디바이스의 조리개 함수를 결정하는 단계를 포함할 수 있다. 조리개 함수는 카메라 디바이스의 렌즈에 존재하는 하나 이상의 결함을 나타낼 수 있다. 예를 들어, 카메라 디바이스의 모의 버전의 시뮬레이션된 조리개를 따라 각 포인트는 빛에 대한 해당 투명도와 관련될 수 있으며, 결함은 조리개의 비-결함 부분과 다른 투명도를 갖는다. 선형 위상 변이는 모의 광원에 대한 카메라 디바이스의 각도 위치에 기초하여 결정될 수 있다. 디포커스 정도는 모의 광원에 대한 카메라 디바이스의 깊이(depth)에 기초하여 결정될 수 있다. 카메라 디바이스의 포인트 확산 함수는 (i) 조리개 함수 및 (ii) 선형 위상 변이와 디포커스 정도의 합에 대한 지수 함수의 곱의 푸리에 변환에 기초하여 결정될 수 있다. 따라서 계산 시뮬레이션은 다양한 모의 광원에 대한 하나 이상의 카메라 디바이스(해당 결함을 가짐)의 물리적 응답을 모델링하는데 사용될 수 있다.
일부 실시예에서, 카메라 디바이스의 광학 시스템을 계산적으로 시뮬레이션하는 단계는 복수의 상이한 파장에서 포인트 확산 함수를 샘플링함으로써 비간섭성(incoherent) 광원을 나타내는 다채널 포인트 확산 함수를 생성하는 단계를 더 포함할 수 있다. 예를 들어, 포인트 확산 함수는 5 나노미터 단위로 380 나노미터에서 740 나노미터까지 샘플링되어 73채널 포인트 확산 함수일 수 있다. 하나 이상의 모의 렌즈 플레어 이미지의 특정 모의 렌즈 플레어 이미지는 다널 포인트 확산 함수를 이미지 공간으로 변환하도록 구성된 색상 매트릭스를 다채널 포인트 확산 함수에 곱함으로써 생성될 수 있다. 따라서, 시뮬레이션된 카메라 디바이스의 이미지 평면에 형성된 이미지는 조리개 함수에 의해 표현되는 대응하는 결함에 의해 유발된 렌즈 플레어의 개별 표현을 포함하는 대응하는 이미지를 집합적으로 정의하는 픽셀 값(예를 들어, 적색-녹색-청색 픽셀 값)으로 변환될 수 있다.
일부 실시예에서, 하나 이상의 모의 렌즈 플레어 이미지의 추가 모의 렌즈 플레어 이미지는 (i) 조리개 함수, (ii) 모의 광원에 대한 카메라 디바이스의 위치, 또는 (iii) 색상 매트릭스 중 하나 이상을 조정함으로써 생성할 수 있다. 따라서, 모의 렌즈 플레어 이미지는 다양한 범위의 상이한 렌즈 플레어 표현으로 이어지는 광범위한 가능한 물리적 조건을 나타낼 수 있다.
일부 실시예에서, 복수의 렌즈 플레어 이미지는 물리적 카메라 디바이스를 사용하여 캡처된 하나 이상의 실험(적) 렌즈 플레어 이미지를 포함할 수 있다. 하나 이상의 실험 렌즈 플레어 이미지는 카메라 디바이스를 향해 빛을 방출하는 하나 이상의 광원에 의해 야기된 하나 이상의 제2 렌즈 플레어 패턴의 표현을 포함할 수 있다. 하나 이상의 실험 렌즈 플레어 이미지는 하나 이상의 광원에 대해 하나 이상의 상이한 포즈로 배치된 카메라 디바이스로 캡처될 수 있다.
일부 실시예에서, 하나 이상의 실험 렌즈 플레어 이미지는 하나 이상의 광원에 대해 복수의 상이한 포즈로 배치된 카메라 디바이스로 캡처된 복수의 실험 렌즈 플레어 이미지를 포함할 수 있다. 따라서, 실험 렌즈 플레어 이미지는 실제 조건하에서 실제 카메라 디바이스에 의해 캡처된 렌즈 플레어를 나타낼 수 있다. 광원에 대한 카메라 위치 및/또는 방향의 변화는 렌즈 플레어의 다양한 상이한 표현을 생성할 수 있으므로 트레이닝 이미지에 다양성을 제공할 수 있다.
일부 실시예에서, 카메라 디바이스는 복수의 상이한 카메라 디바이스를 포함할 수 있다. 복수의 상이한 카메라 디바이스의 각각의 카메라 디바이스는 적어도 하나의 이미징/광학 파라미터에 의해 복수의 상이한 카메라 디바이스의 다른 카메라 디바이스와 상이할 수 있다. 따라서 실험 렌즈 플레어 이미지에는 다양한 가능한 카메라 설계/구현으로 인한 렌즈 플레어 표현이 포함될 수 있으며, 따라서 기계 학습 모델이 구체적으로 트레이닝되지 않은 카메라 디바이스에 의해 캡처된 렌즈 플레어의 표현을 외삽하는 방법을 학습할 수 있다.
일부 실시예에서, 하나 이상의 제2 렌즈 플레어 패턴의 표현의 적어도 일부는 카메라 디바이스의 렌즈의 하나 이상의 표면으로부터의 빛의 반사를 나타낼 수 있다. 렌즈에 의한 빛의 반사로 인한 렌즈 플레어는 렌즈 설계자 및/또는 제조자가 공개적으로 사용/접근할 수 없는 카메라 디바이스에 사용된 렌즈의 정확한 모델을 획득/결정하는 것이 어렵기 때문에 시뮬레이션이 어려울 수 있다. 또한, 특정 카메라에 의해 캡처된 반사로 인한 렌즈 플레어의 표현은 유사한 카메라 디바이스 및/또는 렌즈 모델에서 유사할 수 있다. 따라서, 특정 카메라를 사용하여 캡처된 실험 렌즈 플레어 이미지는 유사한 카메라 디바이스와 관련된 렌즈 플레어를 나타낼 수 있다. 렌즈 플레어 이미지를 캡처하기 위해 둘 이상의 서로 다른 카메라 모델을 사용하면 트레이닝 이미지의 정보 다양성을 더욱 향상시킬 수 있다.
일부 실시예에서, 복구된 렌즈 플레어 이미지는 (i) 기계 학습 모델에 의해 또는 (ii) 수정 이미지와 개별 트레이닝 이미지간의 차이에 기초하여 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해 결정될 수 있다. 예를 들어, 복구된 렌즈 플레어 이미지는 개별 트레이닝 이미지에 포함된 렌즈 플레어의 표현을 포함할 수 있고, 개별 트레이닝 이미지에 의해 표현되는 장면의 다른 양상을 거의 또는 전혀 나타내지 않을 수 있다. 일부 경우, 트레이닝된 기계 학습 모델은 임의의 렌즈 플레어의 표현을 실질적으로 포함하지 않는 수정 이미지를 생성하도록 구성될 수 있으며, 그 결과 장면의 임의의 다른 부분을 실질적으로 나타내지 않고 렌즈 플레어의 표현만 실질적으로 포함하는 복구된 렌즈 플레어 이미지가 생성된다. 다른 경우, 트레이닝된 기계 학습 모델은 장면의 임의의 다른 부분을 실질적으로 나타내지 않고 실질적으로 렌즈 플레어의 표현만을 포함하는 복구된 렌즈 플레어 이미지를 생성하도록 구성될 수 있다. 손실값은 복구된 렌즈 플레어 이미지를 개별 트레이닝 이미지를 생성하는데 사용된 대응하는 렌즈 플레어 이미지와 비교하도록 구성된 제2 손실 함수에 더 기초하여 각각의 개별 트레이닝 이미지에 대해 결정될 수 있다.
따라서, 손실값은 기계 학습 모델이 트레이닝 이미지에서 렌즈 플레어의 표현을 결정/식별하는 정확도뿐만 아니라 이러한 렌즈 플레어의 표현이 트레이닝 이미지를 생성하는데 사용된 렌즈 플레어의 원래 표현과 얼마나 정확하게 일치하는지를 나타낼 수 있다. 제2 손실 함수를 사용하면 실측(ground-truth) 데이터에 대한 기계 학습 모델의 출력 품질에 대한 추가 메트릭을 제공함으로써 트레이닝된 기계 학습 모델의 정확도를 높일 수 있다.
일부 실시예에서, 손실값을 결정하는 단계는 (i) 제1 가중값과 손실 함수의 출력의 곱(product), 및 (ii) 제2 가중값과 제2 손실 함수의 출력의 곱의 합계를 결정하는 단계를 포함할 수 있다. 예를 들어, 제1 가중값 및 제2 가중값 각각은 동일할 수 있고(예를 들어, 각각은 0.5로 동일할 수 있음), 그 결과 손실 함수 및 제2 손실 함수 각각은 손실값의 계산에 동일하게 기여한다. 다른 가중값이 가능하며 특히 정확도 및/또는 트레이닝 속도와 같은 기계 학습 모델의 다양한 측면을 개선하는데 사용될 수 있다.
일부 실시예에서, 기계 학습 모델은 컨볼루션 신경망을 포함할 수 있다. 예를 들어, 기계 학습 모델은 다른 가능한 아키텍처 중에서도, U-Net 아키텍처 또는 VGG-19 아키텍처에 따라 배열될 수 있다.
일부 실시예에서, 복수의 베이스라인 이미지는 복수의 모노스코픽 이미지를 포함할 수 있다. 따라서, 기계 학습 모델은 다른 가능성 중에서도, 예를 들어 입체 이미지 및/또는 다중 연속적으로 캡처된 이미지에 존재하는 단서 및/또는 정보에 의존하지 않고 렌즈 플레어의 표현을 결정하도록 트레이닝될 수 있다.
일부 실시예에서, 적어도 복수의 베이스라인 이미지의 서브세트는 렌즈 플레어의 표현을 포함하지 않는 플레어-프리 이미지를 포함할 수 있다. 따라서, 이러한 베이스라인 이미지가 렌즈 플레어 이미지와 결합되는 경우, 렌즈 플레어 이미지는 이 렌즈 플레어 표현의 소스이고 베이스라인 이미지에는 렌즈 플레어의 다른 표현이 포함되어 있지 않기 때문에 결과 이미지에서 렌즈 플레어 표현을 정확하게 알 수 있다. 베이스라인 이미지는 상이한 장면/환경을 나타낼 수 있으므로 기계 학습 모델은 넓은 범위의 가능한 입력으로 일반화되도록 트레이닝될 수 있다.
일부 실시예에서, 복수의 렌즈 플레어 이미지는 모노톤 배경에 대해 도시된 렌즈 플레어의 개별 표현을 포함할 수 있다. 모노톤 배경은 렌즈 플레어 표현이 배경과 쉽게 분리되도록 선택될 수 있다. 따라서, 예를 들어 모노톤 배경은 렌즈 플레어 표현과 높은 수준의 대비를 허용하기 위해 검정색일 수 있다. 또한, 복수의 렌즈 플레어 이미지는 촬영되는 광원만이 실질적으로 렌즈 플레어를 야기할 수 있도록 광학적으로 격리된 환경에서 캡처될 수 있다. 렌즈 플레어 이미지가 대응하는베이스라인 이미지와 결합되는 경우, 렌즈 플레어의 표현은 베이스라인 이미지에 추가될 수 있으며 모노톤 배경은 폐기될 수 있다.
일부 실시예에서, 렌즈 플레어의 특정 표현을 포함하는 입력 이미지가 획득될 수 있다. 기계 학습 모델의 하나 이상의 파라미터를 조정한 후, 기계 학습 모델에 의한 입력 이미지의 처리에 기초하여 디플레어 이미지가 생성될 수 있다. 디플레어 이미지가 출력(예를 들어, 저장 및/또는 디스플레이)될 수 있다. 디플레어 이미지는 렌즈 플레어의 특정 표현의 적어도 일부가 제거된 입력 이미지를 포함할 수 있다. 일부 경우(예를 들어, 기계 학습 모델이 잘 트레이닝된 경우), 기계 학습 모델에 의한 처리는 렌즈 플레어의 특정 표현을 실질적으로 모두 제거할 수 있다.
일부 실시예에서, 특정 복구된 렌즈 플레어 이미지는 (i) 기계 학습 모델에 의해 또는 (ii) 디플레어 이미지(기계 학습 모델에 의해 생성될 수 있음)와 입력 이미지 간의 차이에 기초하여 결정될 수 있다. 특정 복구된 렌즈 플레어 이미지는 입력 이미지로부터 제거된 렌즈 플레어의 특정 표현의 일부를 구성할 수 있다. 입력 이미지의 제1 수정 버전은 특정 복구된 렌즈 플레어 이미지에 기초하여 입력 이미지에서 렌즈 플레어의 특정 표현의 시각적 외양을 조정함으로써 생성될 수 있다. 입력 이미지의 제1 수정 버전이 출력(예를 들어, 저장 및/또는 디스플레이)될 수 있다.
일부 실시예에서, 입력 이미지에서 렌즈 플레어의 특정 표현의 시각적 외양을 조정하는 단계는 (i) 시각적 외양의 강도 증가, (ii) 시각적 외양의 강도 감소, 또는 (iii) 시각적 외양의 색상 조정 중 하나 이상을 포함할 수 있다. 따라서, 특정 복구된 렌즈 플레어 이미지는 입력 이미지에서 렌즈 플레어의 특정 표현에 다양한 시각적 효과를 적용하는데 사용될 수 있다.
일부 실시예에서, 입력 이미지의 다운샘플링 버전은 입력 이미지를 제1 해상도에서 제2 해상도로 다운샘플링함으로써 생성될 수 있다. 디플레어 이미지는 입력 이미지의 다운샘플링 버전에 기초하여 생성될 수 있다. 디플레어 이미지는 제2 해상도를 가질 수 있다. 특정 복구된 렌즈 플레어 이미지는 (i) 기계 학습 모델에 의해 또는 (ii) 다운 샘플링 버전의 입력 이미지에서 디플레어 이미지를 감산함으로써 결정될 수 있다. 특정 복구된 렌즈 플레어 이미지는 제2 해상도를 가질 수 있다. 특정 복구된 렌즈 플레어 이미지의 업샘플링 버전은 특정 복구된 렌즈 플레어 이미지를 제2 해상도에서 제1 해상도로 업샘플링함으로써 생성될 수 있다. 입력 이미지의 제1 수정 버전은 특정 복구된 렌즈 플레어 이미지의 업샘플링 버전에 기초하여 입력 이미지에서 렌즈 플레어의 특정 표현의 시각적 외양을 조정함으로써 생성될 수 있다. 따라서, 계산 집약적인 연산은 제2 해상도에서 수행될 수 있는 반면, 결과적인 시각적 효과는 제1 해상도에서 적용될 수 있으므로 계산 비용을 줄이면서 이점을 실현할 수 있다.
일부 실시예에서, 광원 마스크는 입력 이미지에 기초하여 결정될 수 있다. 광원 마스크는 (i) 입력 이미지에서 표현되고 (ii) 렌즈 플레어의 특정 표현을 유발하는 하나 이상의 광원을 마스킹하도록 구성될 수 있다. 입력 이미지의 제2 수정 버전은 (i) 입력 이미지와 광원 마스크 간의 픽셀 단위 곱셈의 제1 곱과 (ii) 디플레어 이미지와 광원 마스크의 역 간의 픽셀 단위 곱셈의 제2 곱을 결합함으로써 생성될 수 있다. 입력 이미지의 제2 수정 버전이 출력(예를 들어, 저장 및/또는 디스츨레이)될 수 있다.
일부 경우, 기계 학습 모델은 렌즈 플레어의 표현과 함께 광원의 표현을 결정/식별하도록 구성될 수 있으며, 그 결과 광원의 표현이 제거된다. 따라서, 광원 마스크는 광원의 표현을 디플레어 이미지로 다시 도입하여 보다 사실적인 이미지를 만드는데 사용될 수 있다.
일부 실시예에서, 광원 마스크는 복수의 픽셀을 포함할 수 있고, 입력 이미지와 동일한 해상도를 가질 수 있다. 광원 마스크를 결정하는 단계는 입력 이미지 내에서, 임계 휘도를 초과하는 개별 휘도값과 관련된 하나 이상의 픽셀을 식별하는 단계와, (i) 하나 이상의 픽셀의 개별 위치에 공간적으로 대응하는 복수의 픽셀 중 하나 이상의 픽셀에 제1 값을 할당하고 그리고 (ii) 복수의 픽셀 중 하나 이상의 다른 픽셀에 제2 값을 할당함으로써 광원 마스크를 결정하는 단계를 포함할 수 있다. 예를 들어, 광원에 해당하는 픽셀들은 각각 1 또는 255의 값으로 설정되고, 광원에 해당하지 않는 다른 픽셀들은 각각 0의 값으로 설정될 수 있다.
도 7을 참조하면, 블록(700)은 렌즈 플레어의 특정 표현을 포함하는 입력 이미지를 획득하는 단계를 수반할 수 있다.
블록(702)은 렌즈 플레어의 특정 표현의 적어도 일부가 제거된 입력 이미지를 포함하는 디플레어 이미지를 생성하도록 기계 학습 모델에 의해 입력 이미지를 처리하는 단계를 수반할 수 있다. 기계 학습 모델은 이미지의 렌즈 플레어 표현을 결정/식별하도록 트레이닝되었을 수 있다.
블록(704)은 디플레어 이미지를 출력하는 단계를 수반할 수 있다.
일부 실시예에서 특정 복구된 렌즈 플레어 이미지는 (i) 기계 학습 모델에 의해 또는 (ii) 디플레어 이미지와 입력 이미지 간의 차이에 기초하여 결정될 수 있다. 입력 이미지의 제1 수정 버전은 특정 복구된 렌즈 플레어 이미지에 기초하여 입력 이미지에서 렌즈 플레어의 특정 표현의 시각적 외양을 조정함으로써 생성될 수 있다. 입력 이미지의 제1 수정 버전이 출력(예를 들어, 저장 및/또는 디스플레이)될 수 있다.
일부 실시예에서, 입력 이미지에서 렌즈 플레어의 특정 표현의 시각적 외양을 조정하는 단계는 (i) 시각적 외양의 강도 증가, (ii) 시각적 외양의 강도 감소, 또는 (iii) 시각적 외양의 색상 조정 중 하나 이상을 포함할 수 있다.
일부 실시예에서, 입력 이미지의 다운샘플링 버전은 입력 이미지를 제1 해상도에서 제2 해상도로 다운샘플링함으로써 생성될 수 있다. 디플레어 이미지는 입력 이미지의 다운샘플링 버전에 기초하여 생성될 수 있다. 디플레어 이미지는 제2 해상도를 가질 수 있다. 특정 복구된 렌즈 플레어 이미지는 (i) 기계 학습 모델에 의해 또는 (ii) 다운 샘플링 버전의 입력 이미지에서 디플레어 이미지를 감산함으로써 결정될 수 있다. 특정 복구된 렌즈 플레어 이미지는 제2 해상도를 가질 수 있다. 특정 복구된 렌즈 플레어 이미지의 업샘플링 버전은 특정 복구된 렌즈 플레어 이미지를 제2 해상도에서 제1 해상도로 업샘플링함으로써 생성될 수 있다. 입력 이미지의 제1 수정 버전은 특정 복구된 렌즈 플레어 이미지의 업샘플링 버전에 기초하여 입력 이미지에서 렌즈 플레어의 특정 표현의 시각적 외양을 조정함으로써 생성될 수 있다.
일부 실시예에서, 광원 마스크는 입력 이미지에 기초하여 결정될 수 있다. 광원 마스크는 (i) 입력 이미지에서 표현되고 (ii) 렌즈 플레어의 특정 표현을 유발하는 하나 이상의 광원을 마스킹하도록 구성될 수 있다. 입력 이미지의 제2 수정 버전은 (i) 입력 이미지와 광원 마스크 간의 픽셀 단위 곱셈의 제1 곱과 (ii) 디플레어 이미지와 광원 마스크의 역 간의 픽셀 단위 곱셈의 제2 곱을 결합함으로써 생성될 수 있다. 입력 이미지의 제2 수정 버전이 출력(예를 들어, 저장 및/또는 디스플레이)될 수 있다.
일부 실시예에서, 광원 마스크는 복수의 픽셀을 포함할 수 있고, 입력 이미지와 동일한 해상도를 가질 수 있다. 광원 마스크를 결정하는 단계는 입력 이미지 내에서, 임계 휘도를 초과하는 개별 휘도값과 관련된 하나 이상의 픽셀을 식별하는 단계, 및 (i) 하나 이상의 픽셀의 개별 위치에 공간적으로 대응하는 복수의 픽셀 중 하나 이상의 픽셀에 제1 값 그리고 (ii) 복수의 픽셀 중 하나 이상의 다른 픽셀에 제2 값을 할당함으로써 광원 마스크를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 기계 학습 모델은 복수의 베이스라인 이미지의 개별 베이스라인 이미지를 복수의 렌즈 플레어 이미지의 대응하는 렌즈 플레어 이미지와 결합함으로써 생성된 복수의 트레이닝 이미지에 기초하여 트레이닝될 수 있다.
일부 실시예에서, 기계 학습 모델은 (i) 복수의 베이스라인 이미지 및 (ii) 복수의 렌즈 플레어 이미지를 획득함으로써 이미지에서 렌즈 플레어의 표현을 결정/식별하도록 트레이닝되었을 수 있다. 복수의 트레이닝 이미지는 복수의 베이스라인 이미지의 각각의 개별 베이스라인 이미지를 복수의 렌즈 플레어 이미지 중 대응하는 렌즈 플레어 이미지와 결합함으로써 생성될 수 있다. 수정 이미지는 기계 학습 모델에 의해 개별 트레이닝 이미지를 처리함으로써 복수의 트레이닝 이미지의 개별 트레이닝 이미지에 대해 결정될 수 있다. 수정 이미지는 렌즈 플레어의 대응하는 표현의 적어도 일부가 제거된 개별 트레이닝 이미지를 포함할 수 있다. 손실값은 수정된 이미지를 개별 트레이닝 이미지를 생성하는데 사용된 대응하는 베이스라인 이미지와 비교하도록 구성된 손실 함수에 기초하여 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해 결정될 수 있다. 기계 학습 모델의 하나 이상의 파라미터는 (i) 각각의 개별 트레이닝 이미지에 대해 결정된 손실값 및 (ii) 손실 함수에 기초하여 조정될 수 있다.
일부 실시예에서, 복구된 렌즈 플레어 이미지는 (i) 기계 학습 모델에 의해 또는 (ii) 수정된 이미지와 개별 트레이닝 이미지간의 차이에 기초하여 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해 결정될 수 있다. 손실값은 복구된 렌즈 플레어 이미지를 개별 트레이닝 이미지를 생성하는데 사용된 대응하는 렌즈 플레어 이미지와 비교하도록 구성된 제2 손실 함수에 더 기초하여 복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해 결정될 수 있다. 하나 이상의 파라미터는 제2 손실 함수에 기초하여 추가로 조정될 수 있다.
일부 실시예에서, 손실값을 결정하는 단계는 (i) 제1 가중값과 손실 함수의 출력의 곱, 및 (ii) 제2 가중값과 제2 손실 함수의 출력의 곱의 합계를 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 복수의 렌즈 플레어 이미지는 하나 이상의 제1 렌즈 플레어 패턴의 표현을 생성하기 위해 카메라 디바이스의 광학 시스템을 계산적으로 시뮬레이션함으로써 생성된 하나 이상의 모의 렌즈 플레어 이미지를 포함할 수 있다.
일부 실시예에서, 하나 이상의 제1 렌즈 플레어 패턴의 표현의 적어도 일부는 카메라 디바이스의 렌즈에 존재하는 하나 이상의 결함에 의한 광의 산란을 나타낼 수 있다.
일부 실시예에서, 카메라 디바이스의 광학 시스템을 계산적으로 시뮬레이션하는 단계는 카메라 디바이스의 조리개 함수를 결정하는 단계를 포함할 수 있다. 조리개 함수는 카메라 디바이스의 렌즈에 존재하는 하나 이상의 결함을 나타낼 수 있다. 선형 위상 변이는 모의 광원에 대한 카메라 디바이스의 각도 위치에 기초하여 결정될 수 있다. 디포커스의 정도는 모의 광원에 대한 카메라 디바이스의 깊이에 기초하여 결정될 수 있다. 카메라 디바이스의 포인트 확산 함수는 (i) 조리개 함수 및 (ii) 선형 위상 변이와 디포커스 정도의 합에 대한 지수 함수의 곱의 푸리에 변환에 기초하여 결정될 수 있다. 비간섭성 광원을 나타내는 다채널 포인트 확산 함수는 복수의 상이한 파장으로 포인트 확산 함수를 샘플링함으로써 생성될 수 있다. 하나 이상의 모의 렌즈 플레어 이미지의 특정 모의 렌즈 플레어 이미지는 다채널 포인트 확산 함수를 이미지 공간으로 변환하도록 구성된 색상 매트릭스와 다채널 포인트 확산 함수를 곱함으로써 생성될 수 있다. 하나 이상의 모의 렌즈 플레어 이미지의 추가 모의 렌즈 플레어 이미지는 (i) 조리개 함수, (ii) 모의 광원에 대한 카메라 디바이스의 위치, 또는 (iii) 색상 매트릭스 중 하나 이상을 조정함으로써 생성될 수 있다.
일부 실시예에서, 복수의 렌즈 플레어 이미지는 카메라 디바이스를 사용하여 캡처된 하나 이상의 실험 렌즈 플레어 이미지를 포함할 수 있다. 하나 이상의 실험 렌즈 플레어 이미지는 카메라 디바이스를 향해 빛을 방출하는 하나 이상의 광원에 의해 야기된 하나 이상의 제2 렌즈 플레어 패턴의 표현을 포함할 수 있다. 하나 이상의 실험 렌즈 플레어 이미지는 하나 이상의 광원에 대해 하나 이상의 상이한 포즈로 배치된 카메라 디바이스를 이용하여 캡처될 수 있다.
일부 실시예에서, 하나 이상의 실험 렌즈 플레어 이미지는 하나 이상의 광원에 대해 복수의 상이한 포즈로 배치된 카메라 디바이스를 이용하여 캡처된 복수의 실험 렌즈 플레어 이미지를 포함할 수 있다.
일부 실시예에서, 하나 이상의 제2 렌즈 플레어 패턴의 표현의 적어도 일부는 카메라 디바이스의 렌즈의 하나 이상의 표면으로부터의 빛의 반사를 나타낼 수 있다.
일부 실시예에서, 기계 학습 모델은 컨볼루션 신경망을 포함할 수 있다.
일부 실시예에서, 복수의 베이스라인 이미지는 복수의 모노스코픽 이미지를 포함할 수 있다.
일부 실시예에서, 복수의 베이스라인 이미지의 적어도 서브세트는 렌즈 플레어의 표현을 포함하지 않는 플레어-프리 이미지를 포함할 수 있다.
일부 실시예에서, 복수의 렌즈 플레어 이미지는 모노톤 배경에 대해 도시된 렌즈 플레어의 개별 표현을 포함할 수 있다.
일부 실시예에서, 디플레어 이미지를 출력하는 것은 디플레어 이미지를 저장하는 것 및/또는 디플레어 이미지를 디스플레이하는 것을 포함할 수 있다.
7. 결론
본 개시는 다양한 양태의 예시로서 의도된 본 출원에서 설명된 특정 실시예에 관하여 제한되지 않는다. 당업자에게 자명한 바와 같이, 그 범위를 벗어나지 않고 많은 수정 및 변형이 이루어질 수 있다. 본 명세서에 기술된 것에 더하여, 본 개시의 범위 내에서 기능적으로 등가인 방법 및 장치는 전술한 설명으로부터 당업자에게 명백할 것이다. 이러한 수정 및 변형은 첨부된 청구범위에 속하는 것으로 의도된다.
위의 상세한 설명은 첨부된 도면을 참조하여 개시된 시스템, 디바이스 및 방법의 다양한 특징 및 동작을 설명한다. 도면에서, 유사한 기호는 문맥에서 달리 지시하지 않는 한 일반적으로 유사한 컴포넌트를 식별한다. 본 명세서 및 도면에 기술된 예시적인 실시예는 제한하려는 의도가 아니다. 본 명세서에 제시된 주제의 범위를 벗어나지 않으면서 다른 실시예가 이용될 수 있고 다른 변경이 이루어질 수 있다. 본 명세서에서 일반적으로 설명되고 도면에 도시된 바와 같이, 본 개시의 양태는 매우 다양한 상이한 구성으로 배열, 대체, 결합, 분리 및 설계될 수 있다는 것이 쉽게 이해될 것이다.
도면의 메시지 흐름도, 시나리오 및 플로우 차트 중 일부 또는 전부와 관련하여 본 명세서에서 논의된 바와 같이, 각 단계, 블록 및/또는 통신은 예시적인 실시예에 따른 정보의 처리 및/또는 정보의 전송을 나타낼 수 있다. 대안적인 실시예는 이러한 예시적인 실시예의 범위내에 포함된다. 이러한 대안적인 실시예에서, 예를 들어, 단계, 블록, 전송, 통신, 요청, 응답 및/또는 메시지로 설명된 동작들은 관련된 기능에 따라 실질적으로 동시에 또는 역순을 포함하여 도시되거나 논의된 순서와 다르게 실행될 수 있다. 또한, 더 많거나 더 적은 수의 블록 및/또는 동작들이 본 명세서에서 논의된 메시지 흐름도, 시나리오 및 플로우 차트 중 임의의 것과 함께 사용될 수 있으며, 이러한 메시지 흐름도, 시나리오 및 플로우 차트는 부분적으로 또는 전체적으로 서로 결합될 수 있다.
정보의 처리를 나타내는 단계 또는 블록은 본 명세서에 설명된 방법 또는 기술의 특정 논리 기능을 수행하도록 구성될 수 있는 회로에 대응할 수 있다. 대안으로 또는 추가적으로, 정보의 처리를 나타내는 블록은 모듈, 세그먼트, 또는 프로그램 코드(관련 데이터 포함)의 일부에 해당할 수 있다. 프로그램 코드는 방법 또는 기술에서 특정 논리 연산 또는 동작을 구현하기 위해 프로세서에 의해 실행 가능한 하나 이상의 명령들을 포함할 수 있다. 프로그램 코드 및/또는 관련 데이터는 RAM, 디스크 드라이브, 솔리드 스테이트 드라이브, 또는 다른 저장 매체를 포함하는 저장 장치와 같은 임의의 유형의 컴퓨터 판독가능 매체에 저장될 수 있다.
컴퓨터 판독가능 매체는 또한 레지스터 메모리, 프로세서 캐시 및 RAM과 같은 짧은 기간 동안 데이터를 저장하는 컴퓨터 판독가능 매체와 같은 비-일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터 판독가능 매체는 또한 더 긴 기간 동안 프로그램 코드 및/또는 데이터를 저장하는 비-일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 따라서, 컴퓨터 판독가능 매체는 예를 들어 판독 전용 메모리(ROM), 광학 또는 자기 디스크, 솔리드 스테이트 드라이브, 컴팩트 디스크 판독 전용 메모리(CD-ROM)와 같은 2차 또는 영구 장기 저장소를 포함할 수 있다. 컴퓨터 판독가능 매체는 또한 임의의 다른 휘발성 또는 비-휘발성 저장 시스템일 수 있다. 컴퓨터 판독가능 매체는 예를 들어, 컴퓨터 판독가능 저장 매체, 또는 유형의 저장 디바이스로 간주될 수 있다.
더욱이, 하나 이상의 정보 전송을 나타내는 단계 또는 블록은 동일한 물리적 디바이스의 소프트웨어 및/또는 하드웨어 모듈 간의 정보 전송에 대응할 수 있다. 그러나 다른 정보 전송은 다른 물리적 디바이스의 소프트웨어 모듈 및/또는 하드웨어 모듈 간에 이루어질 수 있다.
도면에 도시된 특정 배열은 제한적인 것으로 간주되어서는 안 된다. 다른 실시예는 주어진 도면에 도시된 각각의 엘리먼트를 더 많거나 더 적게 포함할 수 있음을 이해해야 한다. 또한, 도시된 컴포넌트 중 일부는 결합되거나 생략될 수 있다. 또한, 예시적인 실시예는 도면에 도시되지 않은 엘리먼트를 포함할 수 있다.
다양한 양태 및 실시예가 본 명세서에 개시되었지만, 다른 양태 및 실시예는 당업자에게 명백할 것이다. 본 명세서에 개시된 다양한 양태 및 실시예는 예시를 위한 것으로 제한하려는 것이 아니며, 진정한 범위는 다음의 청구범위에 의해 표시된다.

Claims (20)

  1. 컴퓨터 구현 방법으로서,
    렌즈 플레어의 특정 표현을 포함하는 입력 이미지를 획득하는 단계;
    렌즈 플레어의 특정 표현의 적어도 일부가 제거된 입력 이미지를 포함하는 디플레어(de-flared) 이미지를 생성하기 위해 기계 학습 모델에 의해 입력 이미지를 처리하는 단계, 상기 기계 학습 모델은 이미지에서 렌즈 플레어의 표현을 결정하도록 트레이닝되었으며; 및
    디플레어 이미지를 출력하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    기계 학습 모델은 다음 단계들에 의해 이미지에서 렌즈 플레어의 표현을 결정하도록 트레이닝되었으며, 다음 단계들은,
    (i) 복수의 베이스라인 이미지 및 (ii) 복수의 렌즈 플레어 이미지를 획득하는 단계;
    복수의 베이스라인 이미지의 각각의 개별 베이스라인 이미지를 복수의 렌즈 플레어 이미지 중 대응하는 렌즈 플레어 이미지와 결합함으로써 복수의 트레이닝 이미지를 생성하는 단계;
    복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해:
    기계 학습 모델에 의해 개별 트레이닝 이미지를 처리함으로써 수정 이미지를 결정하는 단계, 상기 수정 이미지는 렌즈 플레어의 대응하는 표현의 적어도 일부가 제거된 개별 트레이닝 이미지를 포함하고;
    수정 이미지를 개별 트레이닝 이미지를 생성하는데 사용된 대응하는 베이스라인 이미지와 비교하도록 구성된 손실 함수에 기초하여 손실값을 결정하는 단계; 및
    (i) 각각의 개별 트레이닝 이미지에 대해 결정된 손실값 및 (ii) 손실 함수에 기초하여 기계 학습 모델의 하나 이상의 파라미터를 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  3. 제2항에 있어서,
    기계 학습 모델은 다음 단계들에 의해 추가로 이미지에서 렌즈 플레어의 표현을 결정하도록 트레이닝되었으며, 다음 단계들은,
    복수의 트레이닝 이미지의 각각의 개별 트레이닝 이미지에 대해:
    (i) 기계 학습 모델에 의해 또는 (ii) 수정 이미지와 개별 트레이닝 이미지 간의 차이에 기초하여 복구(recovered) 렌즈 플레어 이미지를 결정하는 단계; 및
    복구 렌즈 플레어 이미지를 개별 트레이닝 이미지를 생성하는데 사용된 대응하는 렌즈 플레어 이미지와 비교하도록 구성된 제2 손실 함수에 더 기초하여 손실값을 결정하는 단계를 포함하고, 상기 하나 이상의 파라미터는 제2 손실 함수에 기초하여 추가로 조정되는 것을 특징으로 하는 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    손실값을 결정하는 단계는,
    (i) 제1 가중값과 손실 함수의 출력의 곱 및 (ii) 제2 가중값과 제2 손실 함수의 출력의 곱의 합계를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    복수의 렌즈 플레어 이미지는,
    하나 이상의 제1 렌즈 플레어 패턴의 표현을 생성하기 위해 카메라 디바이스의 광학 시스템을 계산적으로 시뮬레이션함으로써 생성된 하나 이상의 모의 렌즈 플레어 이미지를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  6. 제5항에 있어서,
    하나 이상의 제1 렌즈 플레어 패턴의 표현의 적어도 일부는,
    카메라 디바이스의 렌즈에 존재하는 하나 이상의 결함에 의한 광의 산란을 나타내는 것을 특징으로 하는 컴퓨터 구현 방법.
  7. 제5항 내지 제6항 중 어느 한 항에 있어서,
    카메라 디바이스의 광학 시스템을 계산적으로 시뮬레이션하는 것은,
    카메라 디바이스의 조리개 함수를 결정하는 단계, 조리개 함수는 카메라 디바이스의 렌즈에 존재하는 하나 이상의 결함을 나타내고;
    모의 광원에 대한 카메라 디바이스의 각도 위치에 기초하여 선형 위상 변이(linear phase)를 결정하는 단계;
    모의 광원에 대한 카메라 디바이스의 깊이(depth)에 기초하여 디포커스 정도를 결정하는 단계;
    (i) 조리개 함수 및 (ii) 선형 위상 변이와 디포커스 정도의 합에 대한 지수 함수의 곱의 푸리에 변환에 기초하여 카메라 디바이스의 포인트 확산 함수를 결정하는 단계;
    복수의 상이한 파장에서 포인트 확산 함수를 샘플링함으로써 비간섭성 광원을 나타내는 다채널 포인트 확산 함수를 생성하는 단계; 및
    다채널 포인트 확산 함수를 이미지 공간으로 변환하도록 구성된 색상 매트릭스를 다채널 포인트 확산 함수에 곱함으로써 하나 이상의 모의 렌즈 플레어 이미지의 특정 모의 렌즈 플레어 이미지를 생성하는 단계를 포함하고, 상기 하나 이상의 모의 렌즈 플레어 이미지의 추가 모의 렌즈 플레어 이미지는 (i) 조리개 함수, (ii) 모의 광원에 대한 카메라 디바이스의 위치 또는 (iii) 색상 매트릭스 중 하나 이상을 조정함으로써 생성되는 것을 특징으로 하는 컴퓨터 구현 방법.
  8. 제2항 내지 제7항 중 어느 한 항에 있어서,
    복수의 렌즈 플레어 이미지는 카메라 디바이스를 사용하여 캡처된 하나 이상의 실험 렌즈 플레어 이미지를 포함하고, 상기 하나 이상의 실험 렌즈 플레어 이미지는 카메라 디바이스를 향해 빛을 방출하는 하나 이상의 광원에 의해 유발되는 하나 이상의 제2 렌즈 플레어 패턴의 표현을 포함하고, 그리고
    하나 이상의 실험 렌즈 플레어 이미지는 하나 이상의 광원에 대해 하나 이상의 다른 포즈로 배치된 카메라 디바이스를 사용하여 캡처되는 것을 특징으로 하는 컴퓨터 구현 방법.
  9. 제8항에 있어서,
    하나 이상의 제2 렌즈 플레어 패턴의 표현의 적어도 일부는,
    카메라 디바이스의 렌즈의 하나 이상의 표면으로부터의 광 반사를 나타내는 것을 특징으로 하는 컴퓨터 구현 방법.
  10. 제2항 내지 제9항 중 어느 한 항에 있어서,
    복수의 베이스라인 이미지는 복수의 모노스코픽 이미지를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  11. 제2항 내지 제10항 중 어느 한 항에 있어서,
    복수의 베이스라인 이미지의 적어도 서브세트는,
    렌즈 플레어의 표현을 포함하지 않는 플레어 프리(flare-free) 이미지를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  12. 제2항 내지 제11항 중 어느 한 항에 있어서,
    복수의 렌즈 플레어 이미지는,
    모노톤 배경에 대해 도시된 렌즈 플레어의 개별 표현을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    (i) 기계 학습 모델에 의해 또는 (ii) 디플레어 이미지와 입력 이미지 간의 차이에 기초하여 특정 복구 렌즈 플레어 이미지를 결정하는 단계;
    특정 복구 렌즈 플레어 이미지에 기초하여 입력 이미지에서 렌즈 플레어의 특정 표현의 시각적 외양을 조정함으로써 입력 이미지의 제1 수정 버전을 생성하는 단계; 및
    입력 이미지의 제1 수정 버전을 출력하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  14. 제13항에 있어서,
    입력 이미지에서 렌즈 플레어의 특정 표현의 시각적 외양을 조정하는 것은,
    (i) 시각적 외양의 강도를 증가시키는 것, (ii) 시각적 외양의 강도를 감소시키는 것, 또는 (iii) 시각적 외양의 색상을 조정하는 것을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  15. 제13항 내지 제14항 중 어느 한 항에 있어서,
    입력 이미지를 제1 해상도로부터 제2 해상도로 다운샘플링함으로써 입력 이미지의 다운샘플링 버전을 생성하는 단계, 상기 디플레어 이미지는 입력 이미지의 다운샘플링 버전에 기초하여 생성되고, 상기 디플레어 이미지는 제2 해상도를 가지며, 상기 특정 복구 렌즈 플레어 이미지는 (i) 기계 학습 모델에 의해 또는 (ii) 입력 이미지의 다운 샘플링된 버전에서 디플레어 이미지를 감산함으로써 결정되고, 그리고 상기 특정 복구 렌즈 플레어 이미지는 제2 해상도를 가지며; 및
    특정 복구 렌즈 플레어 이미지를 제2 해상도로부터 제1 해상도로 업샘플링함으로써 특정 복구 렌즈 플레어 이미지의 업샘플링 버전을 생성하는 단계를 더 포함하고, 상기 입력 이미지의 제1 수정 버전은 특정 복구 렌즈 플레어 이미지의 업샘플링 버전에 기초하여 입력 이미지에서 렌즈 플레어의 특정 표현의 시각적 외양을 조정함으로써 생성되는 것을 특징으로 하는 컴퓨터 구현 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서,
    입력 이미지에 기초하여, (i) 입력 이미지에서 표현되고 (ii) 렌즈 플레어의 특정 표현을 유발하는 하나 이상의 광원을 마스킹하도록 구성된 광원 마스크를 결정하는 단계;
    (i) 입력 이미지와 광원 마스크 간의 픽셀 단위 곱셈의 제1 곱과 (ii) 디플레어 이미지와 광원 마스크의 역 간의 픽셀 단위 곱셈의 제2 곱을 결합함으로써 입력 이미지의 제2 수정 버전을 생성하는 단계; 및
    입력 이미지의 제2 수정 버전을 출력하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  17. 제16항에 있어서,
    광원 마스크는 복수의 픽셀을 포함하고 그리고 입력 이미지와 동일한 해상도를 가지며, 광원 마스크를 결정하는 단계는,
    입력 이미지 내에서, 임계 휘도를 초과하는 개별 휘도값과 관련된 하나 이상의 픽셀을 식별하는 단계; 및
    (i) 하나 이상의 픽셀의 개별 위치에 공간적으로 대응하는 복수의 픽셀 중 하나 이상의 픽셀에 제1 값 그리고 (ii) 복수의 픽셀 중 하나 이상의 다른 픽셀에 제2 값을 할당함으로써 광원 마스크를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  18. 제1항 내지 제17항 중 어느 한 항에 있어서,
    기계 학습 모델은 컨볼루션 신경망을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  19. 시스템으로서,
    프로세서; 및
    프로세서에 의해 실행될 때 프로세서로 하여금 제1항 내지 제18항 중 어느 한 항에 따른 동작들을 수행하게 하는 명령들이 저장된 비-일시적 컴퓨터 판독가능 매체를 포함하는 시스템.
  20. 컴퓨팅 디바이스에 의해 실행될 때 컴퓨팅 디바이스로 하여금 제1항 내지 제18항 중 어느 한 항에 따른 동작들을 수행하게 하는 명령들이 저장된 비-일시적 컴퓨터 판독가능 매체.
KR1020227001654A 2020-09-28 2020-11-09 학습 기반 렌즈 플레어 제거 KR102606208B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063084377P 2020-09-28 2020-09-28
US63/084,377 2020-09-28
PCT/US2020/059661 WO2022066194A1 (en) 2020-09-28 2020-11-09 Learning-based lens flare removal

Publications (2)

Publication Number Publication Date
KR20220044190A true KR20220044190A (ko) 2022-04-06
KR102606208B1 KR102606208B1 (ko) 2023-11-24

Family

ID=73740493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227001654A KR102606208B1 (ko) 2020-09-28 2020-11-09 학습 기반 렌즈 플레어 제거

Country Status (6)

Country Link
US (1) US20220375045A1 (ko)
EP (1) EP4032061A1 (ko)
JP (1) JP7333467B2 (ko)
KR (1) KR102606208B1 (ko)
CN (1) CN114616587A (ko)
WO (1) WO2022066194A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114066785A (zh) * 2020-07-31 2022-02-18 北京小米移动软件有限公司 图像处理方法及装置、终端和存储介质
US20220067879A1 (en) 2020-09-03 2022-03-03 Nvidia Corporation Image enhancement using one or more neural networks
US11770621B2 (en) * 2021-09-30 2023-09-26 Snap Inc. Customized image reprocessing system using a machine learning model
CN116051434B (zh) * 2022-07-22 2023-11-14 荣耀终端有限公司 一种图像处理方法及相关电子设备
TWI820889B (zh) * 2022-09-01 2023-11-01 英屬維爾京群島商威爾德嘉德有限公司 圖像處理方法及其裝置
DE102022212679A1 (de) 2022-11-28 2024-05-29 Carl Zeiss Ag Verfahren zum Betrieb eines Bildaufnahmesystems; Bildaufnahmesystem; Computerprogrammprodukt
CN117135438A (zh) * 2023-03-10 2023-11-28 荣耀终端有限公司 图像处理的方法及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200143519A1 (en) * 2018-11-07 2020-05-07 Spectrum Optix Inc. Bright Spot Removal Using A Neural Network

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7022203B2 (ja) 2017-09-22 2022-02-17 エフ.ホフマン-ラ ロシュ アーゲー 組織画像からのアーチファクト除去
JP7146461B2 (ja) * 2018-06-06 2022-10-04 キヤノン株式会社 画像処理方法、画像処理装置、撮像装置、プログラム、および、記憶媒体
WO2020112213A2 (en) * 2018-09-13 2020-06-04 Nvidia Corporation Deep neural network processing for sensor blindness detection in autonomous machine applications
US11257272B2 (en) * 2019-04-25 2022-02-22 Lucid VR, Inc. Generating synthetic image data for machine learning
US11521371B2 (en) * 2019-12-26 2022-12-06 Woven Planet North America, Inc. Systems and methods for semantic map-based adaptive auto-exposure
US11120538B2 (en) * 2019-12-27 2021-09-14 Zoox, Inc. Sensor degradation detection and remediation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200143519A1 (en) * 2018-11-07 2020-05-07 Spectrum Optix Inc. Bright Spot Removal Using A Neural Network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Eino-Ville Talvala ET AL, Veiling Glare in High Dynamic Range Imaging, ACM Transactions on Graphics, Volume 26, Issue 3, 29 July 2007(2007.07.29.) 1부.* *
Xuaner Zhang ET AL, Single Image Reflection Separation with Perceptual Losses, CVPR 2018, 14 June 2018(2018.06.14.) 1부.* *

Also Published As

Publication number Publication date
WO2022066194A1 (en) 2022-03-31
EP4032061A1 (en) 2022-07-27
CN114616587A (zh) 2022-06-10
JP2023510440A (ja) 2023-03-14
US20220375045A1 (en) 2022-11-24
JP7333467B2 (ja) 2023-08-24
KR102606208B1 (ko) 2023-11-24

Similar Documents

Publication Publication Date Title
KR102606208B1 (ko) 학습 기반 렌즈 플레어 제거
US11663733B2 (en) Depth determination for images captured with a moving camera and representing moving features
Banterle et al. A framework for inverse tone mapping
KR20220041840A (ko) 디스플레이 배후의 카메라에 의해 캡처된 이미지의 처리
CN111311523B (zh) 图像处理方法、装置、系统和电子设备
CN104702928B (zh) 修正图像交叠区的方法、记录介质以及执行装置
CN103716503A (zh) 图像处理装置和投影仪
JP2012044421A5 (ko)
JPWO2016181804A1 (ja) 画像処理装置および方法
JP6688878B2 (ja) 視覚アーティファクトの出現を軽減するための方法及び装置
JP7387029B2 (ja) ソフトレイヤ化および深度認識インペインティングを用いた単画像3d写真技術
US11637965B2 (en) High dynamic range point spread function generation for image reconstruction
US20230368340A1 (en) Gating of Contextual Attention and Convolutional Features
KR102606209B1 (ko) 듀얼-픽셀 이미지 데이터를 사용한 디포커스 블러 제거 및 깊이 추정
US20230343025A1 (en) Method and device for light estimation
US12008738B2 (en) Defocus blur removal and depth estimation using dual-pixel image data
JP7448693B2 (ja) 複数のドメインデータセットを用いた機械学習の予測の生成
WO2023136822A1 (en) Machine learning models for example-guided image inpainting
Zhang et al. Dark-Channel Enhanced-Compensation Net: An end-to-end inner-reflection compensation method for immersive projection system
JP2019080258A (ja) 画像処理方法、及びそれを用いた画像処理プログラム、画像処理装置、撮像装置
Debevec et al. Introduction (Some Course 5 presentations are available on the introduction citation page)

Legal Events

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