WO2023234674A1 - 신경망 모델을 이용한 영상 신호 처리 방법 및 이를 수행하기 위한 컴퓨팅 장치 - Google Patents

신경망 모델을 이용한 영상 신호 처리 방법 및 이를 수행하기 위한 컴퓨팅 장치 Download PDF

Info

Publication number
WO2023234674A1
WO2023234674A1 PCT/KR2023/007376 KR2023007376W WO2023234674A1 WO 2023234674 A1 WO2023234674 A1 WO 2023234674A1 KR 2023007376 W KR2023007376 W KR 2023007376W WO 2023234674 A1 WO2023234674 A1 WO 2023234674A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
neural network
network model
correction
module
Prior art date
Application number
PCT/KR2023/007376
Other languages
English (en)
French (fr)
Inventor
이채은
박필규
김재환
양희철
이종석
박영오
최광표
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020230007457A external-priority patent/KR20230166870A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US18/224,756 priority Critical patent/US20230386193A1/en
Publication of WO2023234674A1 publication Critical patent/WO2023234674A1/ko

Links

Images

Classifications

    • G06T5/60
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • 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/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/45Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from two or more image sensors being of different type or operating in different modes, e.g. with a CMOS sensor for moving images in combination with a charge-coupled device [CCD] for still images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Processing (AREA)

Abstract

본 개시의 일 실시예에 따른 신경망 모델을 이용한 영상 처리 방법은, 이미지 센서를 통해 촬영된 영상을 획득하는 단계, 상기 영상의 촬영 환경(shooting context)을 확인하는 단계, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module) 및 영상 보정 모듈(image correction module) 중 적어도 하나에 포함되는 신경망 모델을 선택하는 단계 및 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리하는 단계를 포함할 수 있다.

Description

신경망 모델을 이용한 영상 신호 처리 방법 및 이를 수행하기 위한 컴퓨팅 장치
본 개시는 신경망 모델을 이용한 영상 신호 처리 방법 및 이를 수행하기 위한 컴퓨팅 장치에 관한 것이며, 자세하게는 영상이 촬영된 환경(context)에 따라서 신경망 모델을 선택하고, 선택된 신경망 모델을 이용하여 촬영된 영상을 복원 및 보정하는 방법에 관한 것이다.
최근 신경망 기술의 발전으로 인해 다양한 분야에서 신경망이 활용되고 있다. 특히 영상의 보정이나 복원 등을 수행하기 위한 영상 신호 처리 분야에서도 신경망을 활용함으로써 처리 속도 및 영상 특성을 향상시킬 수 있다. 예를 들어, 스마트폰과 같은 모바일 단말에는 구비된 카메라로 촬영한 영상을 보정하기 위한 프로그램이 설치되는데, 기존의 영상 보정 알고리즘들을 포함하도록 구현된 프로그램을 신경망으로 대체할 수 있다면 다양한 측면에서 장점을 기대할 수 있을 것이다.
한편, 촬영이 수행되는 환경(context)에 따라서 촬영된 영상의 품질은 영향을 받을 수 있다. 예를 들어, 야간에 촬영된 영상은 노이즈가 많고, 줌(zoom) 모드로 촬영된 영상은 확대로 인해 색상이나 엣지(edge)가 명확하게 드러나지 않을 수 있다.
신경망 모델은 미리 설정된 방향으로 영상의 특성을 보정하도록 학습된 상태이므로, 고정된 신경망 모델을 이용한다면 모든 환경에 대해서 좋은 영상 품질을 보장할 수는 없을 것이다.
본 개시의 일 실시예에 따르면, 신경망 모델을 이용한 영상 처리 방법은, 이미지 센서(100)를 통해 촬영된 영상을 획득하는 단계, 상기 영상의 촬영 환경(shooting context)을 확인하는 단계, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택하는 단계 및 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따르면, 신경망 모델을 이용하여 영상 신호를 처리하기 위한 컴퓨팅 장치는, 영상 신호를 처리하기 위한 프로그램이 저장되는 메모리 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 상기 프로그램을 실행함으로써, 이미지 센서(100)를 통해 촬영된 영상을 획득하고, 상기 영상의 촬영 환경(shooting context)을 확인하고, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택한 후, 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리할 수 있다.
본 개시의 일 실시예에 따르면, 컴퓨터로 읽을 수 있는 기록매체는, 개시된 방법의 실시예들 중에서 적어도 하나를 컴퓨터에서 실행시키기 위한 프로그램이 저장된 것일 수 있다.
본 개시의 일 실시예에 따르면, 컴퓨터 프로그램은, 개시된 방법의 실시예들 중에서 적어도 하나를 컴퓨터에서 수행하기 위해 매체에 저장된 것일 수 있다.
본 개시의 특정 실시예들의 상기 및 기타 측면들, 특징들 및 이점들은 첨부된 도면들을 참조하여 기재된 다음의 설명들로부터 명확해질 것이다.
도 1은 본 개시의 일 실시예에 따른, 신경망 모델을 이용한 영상 신호 처리 모듈(ISP)의 구성을 도시한 도면이다.
도 2는 본 개시의 일 실시예에 따른, 신경망 모델을 이용한 영상 신호 처리 모듈(ISP)의 구체적인 예시를 도시한 도면이다.
도 3은 본 개시의 일 실시예에 따른, 신경망 모델을 이용한 영산 신호 처리를 수행하는 사용자 단말의 구성을 도시한 도면이다.
도 4는 본 개시의 일 실시예에 따른, 클라우드 서버가 ISP를 이용하여 사용자 단말로부터 수신하는 영상을 보정하는 실시예를 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른, 촬영 환경에 기초하여 영상 복원 모듈에 포함된 신경망 모델을 선택하는 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른, 영상 복원 모듈에 포함되는 신경망 모델을 학습시키는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른, 영상 복원 모듈에 따라서 영상 보정 모듈의 신경망 모델을 선택하는 방법을 설명하기 위한 도면이다.
도 8 내지 도 10은 본 개시의 실시예들에 따른, 촬영 환경에 따라 이미지 센서, 영상 복원 모듈 및 영상 보정 모듈을 선택하는 방법을 설명하기 위한 도면들이다.
도 11 내지 도 14는 본 개시의 실시예들에 따른, 신경망 모델을 이용하여 영상 신호를 처리하는 방법을 설명하기 위한 순서도들이다.
도 15는 본 개시의 일 실시예에 따른, 영상에서 인식된 객체의 종류에 따라서 이미지 센서, 영상 복원 모듈 및 영상 보정 모듈의 조합을 변경하는 방법을 설명하기 위한 도면이다.
도 16은 본 개시의 일 실시예에 따른, 제1 신경망 모델의 동작을 설명하기 위한 도면이다.
도 17은 본 개시의 일 실시예에 따른, 제2 신경망 모델의 동작을 설명하기 위한 도면이다.
도 18은 본 개시의 일 실시예에 따른 제1 신경망 모델을 학습시키는 과정을 설명하기 위한 도면이다.
도 19는 본 개시의 일 실시예에 따른 제2 신경망 모델을 학습시키는 과정을 설명하기 위한 도면이다.
도 20은 본 개시의 일 실시예에 따른 레이블 영상 생성 모듈이 입력 영상으로부터 레이블 영상을 생성하는 과정을 설명하기 위한 도면이다.
도 21은 본 개시의 일 실시예에 따른 명암비 개선 알고리즘에 적용되는 스트렝스 값에 대해서 설명하기 위한 도면이다.
도 22는 본 개시의 일 실시예에 따른 밝기 보정 알고리즘에 적용되는 감마 값에 대해서 설명하기 위한 도면이다.
도 23은 본 개시의 일 실시예에 따른 노출 융합 알고리즘에 적용되는 α값에 대해서 설명하기 위한 도면이다.
도 24는 본 개시의 일 실시예에 따른, 보정 파라미터를 제1 신경망 모델에 대한 입력으로 인가하는 방법을 설명하기 위한 도면이다.
도 25는 본 개시의 실시예에 따른 신경망 모델들이 영상 보정 모듈에 포함되는 구체적인 실시예를 도시한 도면이다.
도 26 내지 도 28은 본 개시의 실시예들에 따른, 신경망 모델을 이용하여 영상을 보정하는 방법을 설명하기 위한 순서도들이다.
도 29는 본 개시의 일 실시예에 따른 제1 신경망 모델에 입력되는 보정 파라미터가 변경되었을 때 추론 영상의 변화를 설명하기 위한 도면이다.
도 30은 본 개시의 일 실시예에 따른, 모바일 단말의 화면에 표시된 UI를 통해 밝기 조절을 위한 보정 파라미터를 사용자가 조정하는 상황을 설명하기 위한 도면이다.
도 31은 본 개시의 일 실시예에 따른, 신경망 모델들에 대한 학습을 수행하기 위한 컴퓨팅 장치의 구성을 도시한 블록도이다.
도 32 및 도 33은 각각 본 개시의 실시예들에 따른 제1 신경망 모델 및 제2 신경망 모델을 학습시키는 방법을 설명하기 위한 순서도들이다.
도 34 및 도 35는 본 개시의 일 실시예에 따른 신경망 모델을 업데이트하는 방법을 설명하기 위한 도면들이다.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.
본 개시를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
마찬가지 이유로 첨부된 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시 되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성 요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 개시된 실시예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 개시의 일 실시예는 청구범위에 따라 정의될 수 있다. 명세서 전체에 걸쳐 동일한 참조 부호는 동일한 구성 요소를 나타낸다. 또한, 본 개시의 일 실시예를 설명함에 있어서 관련된 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
일 실시예에서, 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있다. 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있고, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성할 수 있다. 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하고, 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하다.
또한, 흐름도 도면의 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 일 실시예에서, 블록들에 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다. 예를 들면, 잇달아 도시되어 있는 두 개의 블록들은 실질적으로 동시에 수행되는 것도 가능하고 또는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 개시의 일 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 나타낼 수 있고, '~부'는 특정한 역할을 수행할 수 있다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 일 실시예에서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 특정한 구성요소나 특정한 '~부'를 통해 제공되는 기능은 그 개수를 줄이도록 결합되거나 추가적인 구성요소들로 분리될 수 있다. 또한, 일 실시예에서 ‘~부’는 하나 이상의 프로세서를 포함할 수 있다.
본 개시는 신경망 모델을 이용하여 영상 신호를 처리하는 방법에 관한 것이다. 구체적인 실시예들을 설명하기에 앞서 본 명세서에서 자주 사용되는 용어들의 의미를 정의한다.
'촬영 환경(shooting context)'이란 영상 촬영에 영향을 미치는 다양한 요소들 또는 영상 촬영과 관련된 제반사항을 의미하며, 특히 촬영되는 영상의 품질이나 특성에 영향을 미치는 요소들을 의미할 수 있다. '촬영 환경'은 '촬영 조건(shooting condition)' 및 '촬영 모드(shooting mode)'를 포함할 수 있으며, 각각의 의미는 다음과 같다.
'촬영 조건'은 영상이 촬영되는 조건으로서, 촬영 시간(e.g. 주간 또는 야간), 촬영 장소(e.g. 실내 또는 실외) 및 ISO (film speed) 중 적어도 하나를 포함할 수 있다.
'촬영 모드'는 영상을 촬영하는 모드를 의미하며, 예를 들어 카메라와 같은 촬영 장치에서 설정되는 것일 수 있다. 일 실시예에 따르면, 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌(zoom) 촬영 모드 등을 포함할 수 있다.
'ISP (Image Signal Processing)'란 디지털 영상 신호를 처리하는 동작을 의미하는데, 본 개시에서는 ISP를 수행하는 모듈을 'ISP'라고 정의한다.
'영상 복원(image reconstruction)'이란 센서에서 추출된 베이어 패턴(RGGB, GBRG, BGGR, GRBG)의 영상을 RGB 패턴으로 디모자이크(demosaic)하는 과정을 의미한다. 디모자이크하는 과정에서, 영상에 포함된 일부 픽셀 값을 보간(interpolation)하거나 노이즈를 제거함으로써 영상의 품질을 향상시키는 동작을 포함할 수 있다.
'영상 보정(image correction)'이란 영상 특성을 조절(adjust)하는 동작을 의미하고, '영상 특성(image characteristic)'이란 영상의 밝기(brightness), 명암비(contrast), 색온도(color temperature) 등을 의미한다. 또한, '영상 보정 알고리즘'이란 영상의 특성을 조절하기 위한 알고리즘을 의미한다.
'보정 파라미터(correction parameter)'란 영상 보정 알고리즘을 이용하여 영상 보정 시 영상 보정 알고리즘에 적용되는 파라미터를 의미한다. 즉, 보정 파라미터의 값에 따라서 영상의 특성이 조절되는 정도가 결정될 수 있다. 보정 파라미터의 구체적인 예시들은 아래에서 설명하기로 한다.
'레이블 영상(label image)'이란 본 개시의 실시예들에 따른 신경망 모델에 대한 지도학습(supervised learning)을 수행하기 위한 훈련용 데이터(training data)로서 사용되는 영상이며, 특히 그라운드 트루스 데이터(ground truth data)로 사용되는 영상을 의미한다. '레이블 영상 생성 모듈'은 적어도 하나 이상의 영상 보정 알고리즘을 이용하여 입력 영상을 보정함으로써 레이블 영상을 생성하는 구성이다.
이하에서는 도면들을 참조하여 본 개시의 실시예들에 대해서 자세히 설명한다.
도 1은 본 개시의 일 실시예에 따른, 신경망 모델을 이용한 영상 신호 처리 모듈(ISP)의 구성을 도시한 도면이다. 도 1을 참고하면, 일 실시예에 따른 ISP(1000)는 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200)을 포함할 수 있다. 이때, 영상 복원 모듈(1100) 및 영상 보정 모듈(1200)은 영상 처리를 수행하는 컴퓨팅 장치의 프로세서에 의해서, 메모리에 저장된 프로그램을 실행함으로써 구현되는 구성들이다. 영상 처리를 수행하는 컴퓨팅 장치는 스마트폰, 디지털 카메라 등과 같이 촬영 기능과 연산 처리 기능을 갖는 장치일 수 있으며, 촬영 기능을 구비하지 않더라도 이미지 파일이나 동영상 파일을 수신하여 영상 신호 처리 프로세스를 수행할 수 있는 다양한 형태의 장치(e.g. 노트북, 클라우드 서버)가 될 수도 있다. 본 개시의 실시예들에 따른 영상 처리를 수행하는 컴퓨팅 장치의 구성에 대해서는 아래에서 도 3을 참조하여 자세히 설명한다.
이미지 센서(100)는 촬영을 수행하여 영상 신호를 출력하는 구성으로서, 예를 들어 CCD 센서 또는 CMOS 센서 등일 수 있으며, 이 밖에도 다양한 종류의 이미지 센서(100)가 사용될 수 있다. 일 실시예에 따르면, 이미지 센서(100)는 픽셀당 한 가지 색상의 채널만을 갖는 베이어 포맷(Bayer format)의 원시 영상(raw image)을 출력할 수 있다. 다만, 이에 한정되지 않고 이미지 센서(100)는 다양한 포맷의 영상을 출력할 수도 있다. 또한 일 실시예에 따르면, 이미지 센서(100)에는 서로 다른 종류의 복수의 이미지 센서들이 포함될 수도 있다. 본 개시에서 '서로 다른 종류의 이미지 센서'라고 함은, 이미지 센서 자체는 동일한 하드웨어 스펙을 가지더라도 매칭되는 렌즈의 종류가 다른 경우까지 포함할 수 있다. 다시 말해, 이미지 센서(100)에 제1 이미지 센서 및 제2 이미지 센서가 포함되고, 제1 이미지 센서와 제2 이미지 센서는 동일한 하드웨어 스펙을 갖는다고 가정할 때, 제1 이미지 센서에는 일반 렌즈가 매칭되고 제2 이미지 센서에는 광각 렌즈가 매칭된다면, 본 개시에서는 제1 이미지 센서와 제2 이미지 센서는 서로 다른 종류의 이미지 센서라고 표현한다. 물론, 이미지 센서(100)에는 하드웨어 스펙이 상이한 이미지 센서들이 포함될 수도 있다.
영상 복원 모듈(1100)은 이미지 센서(100)로부터 수신하는 영상을 복원하는 동작을 수행하기 위한 모듈이다. 일 실시예에 따르면, 영상 복원 모듈(1100)은 이미지 센서(100)로부터 수신하는 입력 영상에 대해, 렌즈 음영 보정(Lens Shading Correction, LSC), 불량 화소 보정(Bad Pixel Correction, BPC), 디모자이크(Demosaic) 및 디노이즈(Denoise) 중 적어도 하나의 복원 동작을 수행할 수 있다.
도 1에 도시된 바와 같이 영상 복원 모듈(1100)은 세부 구성으로서 HW(hardware) ISP(1110), SW(software) ISP(1120) 및 AI 복원 ISP(1130)를 포함할 수 있다. 촬영 환경에 따라 영상 복원 모듈(1100)에 포함된 세부 구성들 중 적어도 하나가 선택되어 복원 동작을 수행할 수 있다. 촬영 환경에 따라 영상 복원 모듈(1100)의 세부 구성이 선택되는 방법에 대해서는 아래에서 자세히 설명한다.
일 실시예에 따르면, HW ISP(1110)와 SW ISP(1120)는 수행하는 프로세스의 복잡한 정도를 기준으로 구분한 모듈일 수 있다. 예를 들어, HW ISP(1110)는 단순한 프로세스만을 처리하는 모듈이고, SW ISP(1120)는 소프트웨어 알고리즘에 의해 비교적 복잡한 프로세스까지 처리하는 모듈일 수 있다.
영상 복원 모듈(1100)에 포함된 세부 구성들 중 AI 복원 ISP(1130)는 신경망 기반의 모듈로서 복수의 신경망 모델들을 포함할 수 있다. 도 1에 도시된 바와 같이 AI 복원 ISP(1130)는 복수의 모델 파라미터(복원 파라미터)들을 포함할 수 있는데, 각각의 복원 파라미터가 신경망 모델을 의미한다. 일 실시예에 따르면, AI 복원 ISP(1130)는 촬영 환경에 따라서 복수의 복원 파라미터들 중 어느 하나로 신경망 모델을 세팅하고 영상 처리 프로세스를 수행할 수 있다.
영상 보정 모듈(1200)은 영상 보정을 수행하기 위한 모듈이다. 영상 보정 모듈(1200)은 영상 복원 모듈(1100)로부터 수신한 영상에 대해서 밝기를 높이거나, 명암비를 개선함으로써 영상을 보기 좋게 만들 수 있다. 일 실시예에 따르면, 영상 보정 모듈(1200)은 수신한 영상에 대해 화이트 밸런스(White Balance, WB)를 조절하거나, 색 보정(Color Correction, CC)을 수행하거나, 감마(gamma) 값을 조절하거나, 글로벌 톤 매핑(global tone mapping) 및 로컬 톤 매핑(local tone mapping), HDR 이펙트(HDR effect) 등과 같은 처리를 수행함으로써 영상 특성을 조절할 수 있다.
일 실시예에 따르면, 영상 보정 모듈(1200)은 신경망 기반의 모듈(AI 보정 ISP)로 구성될 수 있으며, 복수의 신경망 모델들을 포함할 수 있다. 도 1에 도시된 바와 같이 AI 보정 ISP(1200)는 복수의 모델 파라미터(보정 파라미터)들을 포함할 수 있는데, 각각의 보정 파라미터가 하나의 신경망 모델을 의미한다. 일 실시예에 따르면, AI 보정 ISP(1200)는 촬영 환경에 따라서 복수의 보정 파라미터들 중 어느 하나로 신경망 모델을 세팅하고 영상 처리 프로세스를 수행할 수 있다.
야간의 저조도 환경에서 촬영을 하는 경우 영상의 밝기나 명암비가 낮아 영상 내 객체를 식별하기 어려울 수 있다. 또한 저조도 환경에서 밝게 촬영하기 위해 야간 모드로 촬영하여 ISO 값을 높이는 경우, 밝기는 개선되지만 영상에 포함되는 노이즈의 양이 증가하여 품질이 떨어질 수 있다. 또한 줌(zoom) 모드 촬영 시 영상의 확대로 인해 객체의 형태나 색상이 명확하게 표현되지 않을 수도 있다.
이와 같이 촬영 환경(촬영 조건 및 촬영 모드)에 따라서 영상의 품질이 저하될 수 있는데, 본 개시의 실시예들은 어떤 상황에서도 최적화된 고품질 영상(e.g. 정지 영상, 동영상)을 얻을 수 있는 방법을 제공한다. 본 개시의 실시예들에 따르면, 촬영 환경에 따라서 영상 복원 모듈(1100) 및 영상 보정 모듈(1200)에 포함된 세부 구성(특히, 신경망 모델)을 선택함으로써 영상의 품질을 높일 수 있다. 또한 본 개시의 실시예들은 촬영 환경에 따라서 다양한 종류의 이미지 센서(100)들 중 어느 하나를 선택함으로써 영상의 품질을 높일 수 있다.
또한, 디바이스별로 카메라와 관련된 하드웨어(e.g. 렌즈 및 이미지 센서 등과 같이 촬영을 위한 직접적인 구성뿐만 아니라, 촬영 이미지를 처리하기 위한 프로세서 등까지 포함)가 상이할 수 있는데, 본 개시의 실시예들에 따르면 이러한 하드웨어의 차이에도 불구하고 일정 수준 이상 높은 품질의 영상을 제공할 수 있는 기술적 효과를 기대할 수 있다.
먼저 도 2를 참조하여 신경망 기반의 ISP의 구체적인 예시에 대해서 설명하고, 도 3을 참조하여 본 개시의 실시예들에 따른 영상 처리를 수행하는 컴퓨팅 장치의 구체적인 예시에 대해서 설명한 후, 이어서 촬영 환경에 따라서 신경망 모델을 선택하는 방법에 대해서 자세히 설명한다.
도 2는 본 개시의 일 실시예에 따른, 신경망 모델을 이용한 영상 신호 처리 모듈(ISP)의 구체적인 예시를 도시한 도면이다.
도 2의 센서(200)는 도 1의 이미지 센서(100)에 대응될 수 있고, 도 2의 Neuro-ISP(2000)는 도 1의 ISP(1000)의 구체적인 실시예에 해당된다. Neuro-ISP(2000)는 신경망을 이용하여 영상 신호를 처리하는 구성으로서, 일 실시예에 따르면 Neuro-ISP(2000)는 모듈 단위로 ISP 일부분에 신경망을 적용하는 방식일 수도 있고, 또는 일 실시예에 따르면 Neuro-ISP(2000)는 단일 신경망 End-to-End 기반의 ISP일 수도 있다.
도 2의 버스트넷(BurstNet)(2130)은 도 1의 영상 복원 모듈(1130)의 구체적인 실시예에 해당되고, 도 2의 마스터링넷(MasteringNet)(2200)은 도 1의 영상 보정 모듈(1200)의 구체적인 실시예에 해당된다.
도 2를 참고하면, 센서(200)는 복수의 원시 영상들을 출력할 수 있다. 일 실시예에 따르면, 원시 영상은 픽셀당 한 가지 색상의 채널만을 갖는 베이어 포맷의 영상일 수 있다.
버스트넷(2130)은 복수의 원시 영상들을 입력받아 하나의 리니어 RGB 영상을 출력할 수 있다. 버스트넷(2130)에 입력되는 복수의 원시 영상들은 특정 시점의 전후로 촬영된 복수의 영상들로, 버스트넷(2130)은 원시 영상들의 시간적(temporal) 정보를 이용하고 LSC, BPC, 얼라인 앤 퓨전(align & fusion), 디모자이크 및 디노이즈를 수행함으로써 하나의 리니어 RGB 영상을 출력할 수 있다.
마스터링넷(2200)은 리니어 RGB 영상에 대해서 보정을 수행할 수 있다. 일 실시예에 따르면, 마스터링넷(2200)은 리니어 RGB 영상에 대해 화이트 밸런스(White Balance, WB)를 조절하거나, 색 보정(Color Correction, CC)을 수행하거나, 감마(gamma) 값을 조절하거나, 글로벌 톤 매핑(global tone mapping) 및 로컬 톤 매핑(local tone mapping), HDR 이펙트(HDR effect) 등과 같은 처리를 수행함으로써 영상 특성을 조절하여 sRGB 영상을 최종 영상으로 출력할 수 있다. 이를 위해 마스터링넷(2200)은 센서(200)로부터 화이트 밸런스 게인(White Balance Gain, WBG) 및 색 보정 행렬(Color Correction Matrix, CCM) 등을 수신할 수 있다.
한편, 위에서는 센서(200)에서 출력되는 영상은 베이어 영상이고, 버스트넷(2130)에서 출력되는 영상은 리니어 RGB 영상이고, 마스터링넷(2200)에서 출력되는 영상은 sRGB 영상인 것으로 가정하고 설명하였으나, 이에 한정되지 않고 각각의 영상들은 다양한 포맷의 영상일 수 있다. 예를 들어, 위 영상들은 논-리니어 RGB(non-linear RGB) 영상, sRGB 영상, AdobeRGB 영상, YCbCr 영상, 베이어(Bayer) 영상 중 어느 하나일 수 있다. 다만, 버스트넷(2130) 및 마스터링넷(2200) 각각에 포함되는 신경망 모델의 학습 시 사용된 입력 영상의 포맷은 추론 시에도 동일하게 유지될 수 있고, 비슷한 원리로 학습 시 사용된 추론 영상의 포맷이 추론 시에도 동일하게 유지될 수 있다.
도 3은 본 개시의 일 실시예에 따른, 신경망 모델을 이용한 영상 신호 처리를 수행하는 사용자 단말의 구성을 도시한 도면이다. 도 3에서는 영상 신호 처리를 수행하는 사용자 단말(3000)이 스마트폰인 것으로 도시하였으나, 이에 한정되지 않고 카메라 등과 같이 영상 촬영 기능이 있는 모든 종류의 디바이스에는 ISP(3130)가 탑재될 수 있으며, 촬영 기능은 구비하지 않지만 영상 신호 처리를 수행할 수 있는 다양한 종류의 디바이스에도 ISP(3130)가 탑재될 수 있다.
도 3을 참고하면, 사용자 단말(3000)에는 카메라 모듈(3100) 및 메인 프로세서(3200)가 포함될 수 있다.
카메라 모듈(3100)은 렌즈 모듈(3110), 이미지 센서(3120) 및 ISP(3130)를 포함할 수 있으며, 이 구성들(3110, 3120, 3130)이 하나의 칩(chip)에 탑재된 SoC (System on Chip) 형태로 구현될 수도 있다. 카메라 모듈(3100)은 별도의 프로세서를 포함할 수도 있고, 이를 통해 ISP(3130)를 실행할 수 있다.
이미지 센서(3120)는 렌즈 모듈(3110)을 통해 투과된 빛을 받아 영상을 출력하고, ISP(3130)는 이미지 센서(3120)에서 출력된 영상을 복원 및 보정하여 최종 영상으로 출력할 수 있다. 즉, 사용자가 사용자 단말(3000)을 통해 영상을 촬영하면, ISP(3130)를 통해 복원 및 보정된 최종 영상이 사용자에게 보여지게 된다.
ISP(3130)에는 영상 복원 모듈(3131) 및 영상 보정 모듈(3132)이 포함될 수 있으며, 각 구성의 동작은 앞서 도 1 및 도 2를 참조하여 설명한 바와 같다.
도 3에 도시된 실시예에서는 ISP(3130)가 카메라 모듈(3100)에 탑재되는데, 이와 다르게 사용자 단말(3000)의 메인 프로세서(3200)에 ISP(3130)가 탑재되도록 구현될 수도 있다. 메인 프로세서(3200)에는 CPU(3210), GPU(3220), NPU(3230) 및 메모리(3240) 등이 포함될 수 있는데, CPU(3210), GPU(3220) 및 NPU(3230) 중 적어도 하나가 메모리(3240)에 저장된 프로그램을 실행함으로써 ISP(3130)를 구현할 수도 있다.
또 다른 실시예에 따르면, ISP(3130)에 포함된 구성들 중 적어도 일부는 영상이 촬영되는 디바이스에 탑재되지 않고, 클라우드 서버 등과 같은 외부 장치에 의해서 구현될 수도 있다. 예를 들어, 도 4에 도시된 바와 같이 클라우드 서버(400)에는 영상 복원 모듈(4100) 및 영상 보정 모듈(4200)을 포함하는 ISP(4000)가 구현될 수 있고, 사용자 단말(3000)이 이미지 센서(3120)를 통해 획득한 원시 영상들을 클라우드 서버(400)에 전송하면, 클라우드 서버(400)의 영상 복원 모듈(4100)은 원시 영상들로부터 리니어 RGB 영상을 생성하고, 영상 보정 모듈(4200)은 리니어 RGB 영상을 보정한 후, 보정된 영상을 클라우드 서버(400) 내에 저장하거나 사용자 단말(3000)에 전송할 수 있다.
또는 다른 실시예에 따르면, 사용자 단말(3000)은 원시 영상들로부터 리니어 RGB 영상을 복원한 후, 복원된 리니어 RGB 영상을 클라우드 서버(400)에 전송하고, 클라우드 서버(400)는 영상 보정 모듈(4200)을 이용하여 영상을 보정한 후 보정된 영상을 클라우드 서버(400) 내에 저장하거나 사용자 단말(3000)에 전송할 수 있다.
따라서, 이하의 실시예들에서 도 1의 ISP(1000)가 수행하는 동작들은 실제로는 사용자 단말(3000), 클라우드 서버(400) 또는 그 외 다양한 컴퓨팅 장치들 각각에 의해서 또는 둘 이상의 컴퓨팅 장치의 조합에 의해서 수행될 수 있다.
1. 영상 복원 모듈에서의 신경망 모델 선택
도 1의 영상 복원 모듈(1100) 중 AI 복원 ISP(1130)에서 신경망 모델을 선택하는 방법에 대해서 설명한다. 도 5는 본 개시의 일 실시예에 따른, 촬영 환경에 기초하여 영상 복원 모듈(1100)에 포함된 신경망 모델을 선택하는 방법을 설명하기 위한 도면이다. 도 5에 도시된 바와 같이 AI 복원 ISP(1130)는 주간용 신경망 모델(주간 모델 파라미터(1131))과 야간용 신경망 모델(야간 모델 파라미터(1132))을 포함한다고 가정한다.
본 개시의 일 실시예에 따르면, AI 복원 ISP(1130)는 입력 영상(51)에 포함된 노이즈가 일정 기준 미만인 경우 주간 모델 파라미터(1131)를 선택하고, 반대로 입력 영상(51)에 포함된 노이즈가 일정 기준 이상인 경우 야간 모델 파라미터(1132)를 선택할 수 있다.
(1) ISO 값에 기초한 신경망 모델 선택
일 실시예에 따르면 입력 영상(51)의 ISO 값에 기초하여 입력 영상(51)에 포함된 노이즈의 양을 추정할 수 있고, 따라서 촬영 조건(시간, 장소 및 ISO 등) 중 ISO 값에 기초하여 AI 복원 ISP(1130)의 신경망 모델을 선택할 수 있다. 예를 들어, AI 복원 ISP(1130)는 입력 영상(51)의 메타데이터로부터 ISO 값을 확인하고, 확인한 ISO 값에 기초하여 신경망 모델(모델 파라미터)을 선택할 수 있다. 이때, 입력 영상(51)은 이미지 센서(100)로부터 출력된 원시 영상일 수 있다.
아래의 표 1에는 ISO 값에 따라서 추정되는 노이즈 양을 나타내었다. ISO 값에 따른 샷 노이즈(shot noise)는 촬영을 수행하는 장치에 따라서 다르게 측정될 수 있고, 리드 노이즈(read noise)는 샷 노이즈로부터 특정 수식에 의해 계산된 값이다. 따라서, 표 1에 포함된 수치들은 단지 하나의 실시예에 해당될 뿐이고, ISO 값에 따라 추정되는 노이즈의 양은 달라질 수 있다. 또한, 보간을 통해 표 1에 포함된 수치들 사이의 데이터를 추가함으로써 구간을 더욱 세분화할 수도 있다.
만약, 입력 영상(51)에 포함된 샷 노이즈가 0.001 이상인 경우 야간 모델 파라미터(1132)를 선택하고, 0.001 미만인 경우 주간 모델 파라미터(1131)를 선택하도록 설정되었다면, AI 복원 ISP(1130)는 ISO 값이 1600 이상인 경우 야간 모델 파라미터(1132)로 신경망 모델을 세팅하고, ISO 값이 1600 미만인 경우 주간 모델 파라미터(1131)로 신경망 모델을 세팅할 수 있다.
ISO shot noise read noise
3200 0.005 1.53234E-05
1600 0.001 3.78202E-07
640 0.0005 7.67989E-08
320 0.0001 1.8955E-09
50 0.00005 3.84906E-10
(2) 촬영 시간 및 촬영 장소에 기초한 신경망 모델 선택
일 실시예에 따르면, AI 복원 ISP(1130)는 입력 영상(51)의 촬영 시간 및 촬영 장소에 기초하여 저조도 환경에서 촬영되었는지 여부를 판단하고, 그에 따라 신경망 모델을 선택할 수도 있다. 예를 들어, AI 복원 ISP(1130)는 입력 영상(51)의 메타데이터로부터 영상이 촬영된 시간 및 장소(e.g. GPS 신호나 셀룰러 기지국 또는 WiFi AP 등을 이용하여 추정된 위치)에 대한 정보를 획득하고, 획득한 정보에 기초하여 신경망 모델(모델 파라미터)을 선택할 수도 있다. 일 실시예에 따르면, AI 복원 ISP(1130)는 시간(주간/야간) 및 장소(실내/실외)의 조합에 대해서 다음과 같이 모델 파라미터를 선택할 수 있다. 일반적으로 야간에 실외에서 촬영되는 경우에만 저조도 환경일 것으로 예상할 수 있으므로 아래의 표 2에 나타난 규칙에 의해 모델 파라미터를 선택하지만, 이에 한정되지 않고 필요나 상황에 따라서 규칙을 변경할 수도 있다.
1) 주간 & 실외 => 주간 모델 파라미터
2) 주간 & 실내 => 주간 모델 파라미터
3) 야간 & 실외 => 야간 모델 파라미터
4) 야간 & 실내 => 주간 모델 파라미터
또한 일 실시예에 따르면, AI 복원 ISP(1130)는 선택의 정확도를 높이기 위해서 시간 및 장소에 대한 정보와 함께 ISO 값도 고려하여 모델 파라미터를 선택할 수도 있다. 예를 들어, 시간 및 장소에 대한 정보에 기초하여 판단한 결과 주간 모델 파라미터를 선택해야 하는 상황이지만, ISO 값이 일정 기준 이상이라면 AI 복원 ISP(1130)는 야간 모델 파라미터를 선택할 수도 있다. 다시 말해, AI 복원 ISP(1130)는 1차적으로 시간 및 장소에 기초하여 모델 파리미터를 선택하고, 2차적으로 ISO 값을 고려하여 모델 파라미터를 변경할 필요가 있을지 여부를 판단할 수 있다.한편 일 실시예에 따르면, AI 복원 ISP(1130)는 입력 영상(51)을 분석함으로써 입력 영상(51)에 포함된 노이즈의 양을 파악하고, 그 결과에 따라서 신경망 모델을 선택할 수도 있다. 예를 들어, AI 복원 ISP(1130)는 입력 영상(51)의 픽셀 값들을 분석한 결과 포함된 노이즈가 미리 설정된 기준 이상이라면 야간 모델 파라미터(1132)를 선택하고, 미리 설정된 기준 미만이라면 주간 모델 파라미터(1132)를 선택할 수 있다.
(3) 촬영 모드 또는 이미지 센서의 종류에 따른 신경망 모델 선택
본 개시의 일 실시예에 따르면, AI 복원 ISP(1130)는 촬영 모드 또는 이미지 센서의 종류에 따라서 신경망 모델을 선택할 수도 있다. 예를 들어, AI 복원 ISP(1130)는 일반 촬영 모드(주간 촬영 모드)라면 주간 모델 파라미터(1131)로 신경망 모델을 세팅하고, 야간 촬영 모드라면 야간 모델 파라미터(1132)로 신경망 모델을 세팅할 수 있다.
또는 일 실시예에 따르면, 이미지 센서(100)에 복수의 이미지 센서들이 포함되고(도 8 참고), 복수의 이미지 센서들 중 어느 하나가 선택되어 입력 영상(51)을 촬영했다면, 선택된 이미지 센서에 대응되는 신경망 모델이 AI 복원 ISP(1130)에서 선택될 수 있다. 이를 위해, AI 복원 ISP(1130)에 포함되는 신경망 모델들에는 각각 대응되는 이미지 센서의 종류가 미리 정해질 수 있다. 예를 들어, 이미지 센서(100)에 야간 촬영을 위한 이미지 센서(e.g. 광각 렌즈와의 사용에 적합한 이미지 센서)가 포함되고, 이를 이용해 입력 영상(51)이 촬영되었다면, AI 복원 ISP(1130)는 야간 모델 파라미터(1132)로 신경망 모델을 세팅할 수 있다.
도 5에 도시된 실시예에서 AI 복원 ISP(1130)는 두 개의 모델 파라미터(1131, 1132)를 포함하지만, 이에 한정되지 않고 세 개 이상의 모델 파라미터가 AI 복원 ISP(1130)에 포함되고, 선택의 기준이 되는 ISO 값 및 노이즈의 구간도 더 세분화될 수 있다.
2. 영상 복원 모듈에 포함되는 신경망 모델의 학습
이상 살펴본 바와 같이 AI 복원 ISP(1130)는 입력 영상에 포함된 노이즈의 양에 따라서 신경망 모델을 선택하고, 선택된 신경망 모델은 노이즈의 양에 따른 적절한 복원 프로세스를 수행할 수 있다. 이하에서는 이를 위해서 AI 복원 ISP(1130)에 포함되는 신경망 모델들을 어떻게 학습시켜야 하는지에 대해서 설명한다.
본 개시의 일 실시예에 따르면, AI 복원 ISP(1130)에 노이즈를 포함하는 영상을 입력했을 때 출력되는 영상과, 노이즈가 제거된 영상 간의 차이를 최소화하도록 AI 복원 ISP(1130)의 모델 파라미터를 업데이트하는 방식으로 학습을 수행할 수 있다.
도 6은 본 개시의 일 실시예에 따른, 영상 복원 모듈에 포함되는 신경망 모델을 학습시키는 방법을 설명하기 위한 도면이다. 도 6을 참고하면, AI 복원 ISP(1130)에는 입력 영상(61)에 대해서 노이즈 시뮬레이션(610)이 수행된 노이즈 영상(62)이 입력되고, AI 복원 ISP(1130)는 그로부터 추론 영상(63)을 출력할 수 있다. 이때, 입력 영상(61)은 추론 영상(63)과 비교되기 위한 레이블 영상(label image)으로서, 그라운드 트루스 데이터(ground truth data)에 해당될 수 있다. 노이즈 시뮬레이션(610)은 입력 영상(61)에 노이즈를 추가하여 노이즈 영상(62)을 생성하는 동작을 의미한다.
입력 영상(61)에 노이즈 시뮬레이션(610)을 수행함으로써 훈련용 데이터를 생성하는 방법은 다음과 같다. 입력 영상(61)은 노이즈를 거의 포함하지 않는 깨끗한 영상(clean image)일 수 있으며, 데이터베이스에 저장된 다양한 입력 영상(61)에 노이즈 강도를 달리하면서 노이즈 시뮬레이션(610)을 수행함으로써 노이즈가 추가된 노이즈 영상(62)을 획득할 수 있다. 앞서 설명한 바와 같이 입력 영상(61)이 레이블 영상에 해당되므로, 입력 영상(61)과 노이즈 영상(62)의 쌍(pair)이 훈련용 데이터가 될 수 있다.
일 실시예에 따르면, 데이터베이스에 저장된 모든 입력 영상(61)들에 대해서 노이즈 시뮬레이션(610)을 수행함으로써 미리 훈련용 데이터를 생성해 놓을 수 있다. 또는 일 실시예에 따르면, 학습을 수행하는 과정에서 훈련용 데이터가 필요할 때마다 강도를 조절해가며 노이즈 시뮬레이션(610)을 수행함으로써 훈련용 데이터를 생성할 수도 있다. (온-더-플라이(on-the-fly) 방식)
주간 모델의 학습을 위한 훈련용 데이터를 생성하는 경우, 노이즈 시뮬레이션(610)을 통해 주간 모델에 대응되는 강도의 노이즈를 입력 영상(61)에 추가함으로써 노이즈 영상(62)을 생성할 수 있다. 예를 들어 앞서 표 1을 참조하여 설명한 실시예의 경우, 노이즈 시뮬레이션(610)을 통해 0.001 미만의 샷 노이즈를 입력 영상(61)에 추가함으로써 노이즈 영상(62)을 생성할 수 있다.
비슷한 원리로 야간 모델의 학습을 위한 훈련용 데이터를 생성하는 경우, 노이즈 시뮬레이션(610)을 통해 야간 모델에 대응되는 강도의 노이즈를 입력 영상(61)에 추가함으로써 노이즈 영상(62)을 생성할 수 있다. 예를 들어 앞서 표 1을 참조하여 설명한 실시예의 경우, 노이즈 시뮬레이션(610)을 통해 0.001 이상의 샷 노이즈를 입력 영상(61)에 추가함으로써 노이즈 영상(62)을 생성할 수 있다.
옵티마이저(630)는 추론 영상(63) 및 입력 영상(61)이 손실함수(620)에 입력되었을 때 출력되는 결과를 최소화하도록 AI 복원 ISP(1130)의 모델 파라미터를 업데이트할 수 있다. 따라서, AI 복원 ISP(1130)는 노이즈가 추가된 영상이 입력되었을 때, 노이즈가 제거된 영상과 최대한 가까운 영상을 추론하도록 학습될 수 있다.
이상 설명한 노이즈 시뮬레이션(610), 손실함수(620)의 계산 및 옵티마이저(630)의 파라미터 업데이트는, AI 복원 ISP(1130)의 학습을 담당하는 컴퓨팅 장치의 프로세서에 의해서 수행될 수 있다.
3. 영상 보정 모듈에서의 신경망 모델 선택
본 개시의 일 실시예에 따르면, 영상 복원 모듈(1100)에서 수행하는 프로세스에 따라서 영상 보정 모듈(1200)의 신경망 모델이 선택될 수 있다. 예를 들어, 영상 복원 모듈(1100)이 복수의 세부 구성들을 포함하고, 세부 구성별로 수행하는 프로세스가 다르다면, 영상 복원 모듈(1100)에서 선택되는 세부 구성에 따라서 영상 보정 모듈(1200)의 신경망 모델이 선택될 수 있다.
도 7은 본 개시의 일 실시예에 따른, 영상 복원 모듈에 따라서 영상 보정 모듈의 신경망 모델을 선택하는 방법을 설명하기 위한 도면이다. 도 7을 참고하면, 영상 복원 모듈(1100)에서 HW ISP(1110)가 선택되었다. HW ISP(1110)는 복원 프로세스 중에서 디모자이크를 수행하지만, 디노이즈는 수행하지 않는다고 가정한다.
HW ISP(1110)는 자신이 수행하는 프로세스에 대한 정보(디모자이크를 수행하고, 디노이즈는 수행하지 않음)를 영상 보정 모듈(1200)에 전송할 수 있다. 영상 보정 모듈(1200)은 HW ISP(1110)로부터 수신한 정보를 통해 영상 복원 단계에서 디노이즈가 수행되지 않았음을 알 수 있고, 따라서 디노이즈 기능을 지원하는 제2 보정 파라미터를 선택하여 신경망 모델을 세팅할 수 있다. 이때, 제2 보정 파라미터는 HW ISP(1110)에 대응되도록 미리 학습된 신경망 모델에 해당될 수 있다. 다시 말해, 제2 보정 파라미터는 디노이즈가 수행되지 않은 영상을 보정하기 위해, 화이트 밸런스 조절, 색 보정 및 감마 값 조절뿐만 아니라 디노이즈까지 수행하도록 학습된 신경망 모델일 수 있다.
도 7에 도시된 바와 같이 제2 보정 파라미터는 이미지 센서(100)로부터 획득한 화이트 밸런스 게인(White Balance Gain, WBG) 및 색 보정 행렬(Color Correction Matrix, CCM)을 이용하여 화이트 밸런스(WB) 조절, 색 보정(CC) 및 감마 값 조절도 수행할 수 있다.
영상 복원 모듈(1100)에서 SW ISP(1120)가 선택되고, SW ISP(1120)는 디모자이크 및 디노이즈를 수행하는 경우라면, 영상 보정 모듈(1200)에서는 SW ISP(1120)에 대응되도록 학습된 신경망 모델(모델 파라미터)이 선택될 수 있고, 이때 선택되는 신경망 모델은 디노이즈는 수행하지 않고 화이트 밸런스 조절, 색 보정 및 감마 값 조절 등만을 수행할 수 있다. 즉, 영상 복원 모듈(1100)에서 어떤 프로세스를 수행하는지에 따라서, 영상 보정 모듈(1200)에서 신경망 모델이 선택될 수 있다.
이상 설명한 바와 같이 일 실시예에 따르면, 영상 보정 모듈(1200)에 포함되는 신경망 모델(모델 파라미터)들은 영상 복원 모듈(1100)의 세부 구성들 각각에 대응되도록 미리 학습될 수 있으며, 영상 복원 모듈(1100)에서 세부 구성이 선택되면, 선택된 세부 구성에 대응되도록 학습된 신경망 모델이 영상 보정 모듈(1200)에서 선택될 수 있다. 그리고 이를 위해, 영상 보정 모듈(1200)은 영상 복원 모듈(1100)로부터 영상 복원 모듈(1100)이 수행하는 프로세스에 대한 정보를 수신할 수 있다.
지금까지 촬영 조건에 기초하여 AI 복원 ISP(1130)에서 신경망 모델을 선택하는 방법, 그리고 영상 복원 모듈(1100)이 수행하는 프로세스에 따라서 영상 보정 모듈(1200)에서 신경망 모델을 선택하는 방법에 대해서 설명하였다.
이하에서는 지금까지 설명한 내용을 기초로, 촬영 환경에 따라서 이미지 센서의 종류, 영상 복원 모듈 및 영상 보정 모듈의 세부 구성을 선택하는 실시예들에 대해서 먼저 설명한 후, 이어서 영상 보정 모듈에 포함되는 신경망 모델을 학습시키는 방법에 대해서 설명한다.
4. 촬영 환경에 따른 이미지 센서, 영상 복원 모듈 및 영상 보정 모듈의 선택
일 실시예에 따르면, 촬영 환경(촬영 조건 및 촬영 모드)에 따라서 이미지 센서의 종류, 영상 복원 모듈 및 영상 보정 모듈의 세부 구성이 선택될 수 있다. 도 8 내지 도 10은 본 개시의 실시예들에 따른, 촬영 환경에 따라 이미지 센서, 영상 복원 모듈 및 영상 보정 모듈을 선택하는 방법을 설명하기 위한 도면들이다. 도 8 내지 도 10에 도시된 바와 같이 이미지 센서(100)에는 복수의 이미지 센서들이 포함된다고 가정한다. 또한, 촬영 모드는 주간 촬영 모드(일반 촬영 모드)(도 8), 줌 촬영 모드(도 9) 및 야간 촬영 모드(도 10)를 포함한다고 가정한다.
일 실시예에 따르면, 촬영 모드는 영상 신호 처리를 수행하는 컴퓨팅 장치(e.g. 도 3의 사용자 단말(3000))의 UI를 통해 사용자가 설정할 수 있다. 예를 들어, 사용자는 사용자 단말(3000)에서 카메라 애플리케이션을 실행하고, 촬영하기 전 상황에 따가 적절한 촬영 모드를 선택할 수 있다. 사용자 단말(3000)은 촬영 모드가 설정되면 그에 따라 이미지 센서(100)의 종류, 영상 복원 모듈(1100) 및 영상 보정 모듈(1200)의 세부 구성을 선택할 수 있다.
(1) 이미지 센서의 선택
본 개시의 일 실시예에 따르면, 촬영 모드에 기초하여 이미지 센서(100)의 종류가 선택될 수 있다. 예를 들어, 이미지 센서(100)는 일반 이미지 센서, 광각 이미지 센서 및 초광각 이미지 센서 등을 포함할 수 있으며, 이들은 필요에 따라서 각각의 촬영 모드에 매칭될 수 있다.
도 8 내지 도 10의 실시예들에서는 주간 촬영 모드에 제1 이미지 센서가 매칭되고, 줌 촬영 모드에 제2 이미지 센서가 매칭되고, 야간 촬영 모드에 제3 이미지 센서가 매칭되었다고 가정한다. 도 8 내지 도 10을 참고하면, 각각의 촬영 모드에 따라서 대응되는 이미지 센서가 선택되었음을 알 수 있다.
또한 일 실시예에 따르면, 촬영 조건에 기초하여 이미지 센서(100)의 종류가 선택될 수도 있다. 예를 들어, 촬영이 수행되는 시간 및 장소를 고려했을 때 저조도 환경이라고 판단된다면, 야간 촬영에 적합한 이미지 센서(100)가 선택될 수도 있다.
(2) 영상 복원 모듈의 선택
본 개시의 일 실시예에 따르면, 영상 복원 모듈(1100)의 세부 구성은 촬영 모드에 따라서 선택될 수도 있고, 또는 영상 촬영 시 사용된 이미지 센서(100)의 종류에 따라서 선택될 수도 있다. 이를 위해, 영상 복원 모듈(1100)의 세부 구성들은 각각 촬영 모드에 매칭되거나, 이미지 센서(100)의 종류에 매칭될 수 있다.
도 8 내지 도 10을 참고하면, 주간 촬영 모드일 때(제1 이미지 센서가 선택되었을 때)는 HW ISP(1110)가 선택되었고, 줌 촬영 모드일 때(제2 이미지 센서가 선택되었을 때)는 SW ISP(1120)가 선택되었고, 야간 촬영 모드일 때(제3 이미지 센서가 선택되었을 때)는 AI 복원 ISP(1130)가 선택되었음을 알 수 있다.
도 10을 참고하면, AI 복원 ISP(1130)에서 제2 복원 파라미터가 선택되었는데, 앞서 도 5를 참조하여 설명한 바와 같이 촬영 조건(e.g. 제3 이미지 센서에서 촬영된 영상의 메타데이터에 포함된 ISO 값)에 기초하여 복수의 복원 파라미터들 중에서 제2 복원 파라미터가 선택된 것일 수 있다.
또한 일 실시예에 따르면, 영상 복원 모듈(1100)의 세부 구성 선택 시에 촬영 모드 또는 이미지 센서(100)의 종류뿐만 아니라, 촬영 조건을 더 고려할 수도 있다. 예를 들어 도 8에 도시된 실시예에서 주간 촬영 모드로 인해 제1 이미지 센서가 선택되면, 영상 복원 모듈(1100)에서는 HW ISP(1110)가 선택될 수 있는데, 이 경우에도 만약 ISO 값이 일정 기준 이상이라면 SW ISP(1120) 또는 AI 복원 ISP(1130) 중 어느 하나가 선택될 수도 있다.
또한 일 실시예에 따르면, 촬영 조건만을 고려하여 영상 복원 모듈(1100)의 세부 구성이 선택될 수도 있다. 예를 들어, ISO 값의 구간별로 대응되는 세부 구성이 미리 정해지고, 영상 복원 모듈(1100)은 영상의 메타데이터로부터 획득한 ISO 값에 따라서 세부 구성을 선택할 수도 있다.
정리하면, 영상 복원 모듈(1100)의 세부 구성은 이미지 센서(100)의 종류, 촬영 모드 및 촬영 조건 중 적어도 하나 이상에 기초하여 선택될 수 있다. 특히, 촬영 환경(촬영 모드 및 촬영 조건)에 따라 이미지 센서(100)의 종류가 선택되면, 그에 따라 영상 복원 모듈(1100)의 세부 구성이 선택될 수 있다.
(3) 영상 보정 모듈의 선택
앞서 도 7을 참조하여 설명한 바와 같이, 일 실시예에 따르면 영상 복원 모듈(1100)에서 수행하는 프로세스에 따라서 영상 보정 모듈(1200)의 신경망 모델이 선택될 수 있다. 그런데 영상 복원 모듈(1100)에서 수행하는 프로세스는 영상 복원 모듈(1100)에서 어떤 세부 구성이 선택되는지에 따라서 결정될 수 있고, 영상 복원 모듈(1100)의 세부 구성은 이미지 센서의 종류, 촬영 조건 및 촬영 모드 중 적어도 하나 이상에 기초하여 선택될 수 있다. 따라서 정리하면, 영상 보정 모듈(1200)의 신경망 모델 역시 이미지 센서의 종류, 촬영 모드 및 촬영 조건 중 적어도 하나 이상에 기초하여 선택될 수 있다.
본 개시의 일 실시예에 따르면, 이미지 센서(100) 및 영상 복원 모듈(1100)의 조합별로 대응되는 영상 보정 모듈(1200)의 신경망 모델이 존재할 수 있다. 따라서 일 실시예에 따르면, 촬영 모드가 결정되면 촬영 모드에 따라서 이미지 센서(100)의 종류 및 영상 복원 모듈(1100)의 세부 구성이 선택될 수 있고, 선택된 이미지 센서(100) 및 영상 복원 모듈(1100)의 조합에 따라서 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델들 중 어느 하나가 선택될 수 있다. 또한 일 실시예에 따르면, 이미지 센서(100), 영상 복원 모듈(1100) 및 영상 보정 모듈(1200)의 선택 시 촬영 조건(e.g. ISO 값)이 함께 고려될 수도 있다.
일 실시예에 따르면, 영상 보정 모듈(1200)에서 신경망 모델 선택 시 이미지 센서(100)의 종류를 반영할 수도 있으므로, 영상 보정 모듈(1200)은 이미지 센서(100)로부터 이미지 센서 선택 정보(어떤 이미지 센서가 선택되었는지에 대한 정보)를 획득할 수 있다.
한편, 영상 보정 모듈(1200)은 이미지 센서(100)로부터 화이트 밸런스 게인(WBG) 및 색 보정 행렬(CCM)을 획득하고, 이를 이용하여 화이트 밸런스 조절, 색 보정 및 감마 값 조절 등을 수행할 수 있다.
도 8을 참고하면, 주간 촬영 모드인 경우 이미지 센서(100)에서 제1 이미지 센서가 선택되고, 영상 복원 모듈(1100)에서는 제1 이미지 센서에 대응되는 HW ISP(1110)가 선택될 수 있다. 일 실시예에 따르면, 영상 복원 모듈(1100)의 세부 구성 선택 시 촬영 조건이 함께 고려될 수도 있는데, 예를 들어 주간 촬영 모드이고 제1 이미지 센서가 선택되었더라도, ISO 값이 일정 기준 이상으로 높다면 HW ISP(1110) 대신 SW ISP(1120) 또는 AI 복원 ISP(1130) 중 어느 하나가 선택될 수도 있다.
영상 보정 모듈(1200)에서는 HW ISP(1110)에 대응되는 제1 보정 파라미터가 선택될 수 있다. 이때, 제1 보정 파라미터는 HW ISP(1110)에 대응되도록 학습된 신경망 모델일 수 있다. 예를 들어, HW ISP(1110)에서 디모자이크만 수행하고 디노이즈를 수행하지 않는다면, 제1 보정 파라미터는 화이트 밸런스 조절, 색 보정 및 감마 값 조절뿐만 아니라 디노이즈까지 수행하도록 학습된 신경망 모델일 수 있다.
한편, 앞서 설명한 바와 같이 영상 보정 모듈(1200)에서의 신경망 모델 선택 시 이미지 센서(100)의 종류를 고려할 수 있는데, 예를 들어 영상 복원 모듈(1100)에서는 동일하게 HW ISP(1110)가 선택되었지만, 이미지 센서(100)에서 제2 이미지 센서 또는 제3 이미지 센서가 선택되었다면, 영상 보정 모듈(1200)에서는 제1 보정 파라미터가 아닌 다른 보정 파라미터가 선택될 수도 있다. 따라서, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 이미지 센서(100) 및 영상 복원 모듈(1100)의 조합에 대응되도록 학습된 것일 수 있다. 또한, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 촬영 환경에 대응되도록 학습된 것일 수 있다.
도 9를 참고하면, 줌 촬영 모드인 경우 이미지 센서(100)에서 제2 이미지 센서가 선택되고, 영상 복원 모듈(1100)에서는 제2 이미지 센서에 대응되는 SW ISP(1120)가 선택될 수 있다. 일 실시예에 따르면, 제2 이미지 센서는 다중 프레임을 캡처할 수 있는 이미지 센서로서 광각 렌즈와 매칭되는 이미지 센서일 수 있고, 제2 이미지 센서를 통해 획득한 복수의 프레임을 합성해서 확대하기 용이할 수 있다.
일 실시예에 따르면, 줌 촬영 모드에서 제2 이미지 센서가 물리적으로 일정 배수만큼 확대한 영상을 SW ISP(1120)에 전달하면, SW ISP(1120)는 수신한 영상에 대해서 센터 크롭(center crop)을 수행한 후 크롭된 영역을 알고리즘을 통해 일정 배수만큼 확대할 수 있다. 또한, SW ISP(1120)는 디모자이크 및 슈퍼 레졸루션(Super Resolution, SR)을 더 수행하여 리니어 RGB 영상을 출력할 수 있다.
일 실시예에 따르면, 영상 복원 모듈(1100)의 세부 구성 선택 시 촬영 조건이 함께 고려될 수도 있는데, 예를 들어 줌 촬영 모드이고 제2 이미지 센서가 선택되었더라도, ISO 값이 일정 기준 이상으로 높다면 SW ISP(1120) 대신 AI 복원 ISP(1130)가 선택될 수도 있다. 또한, AI 복원 ISP(1130) 내에서도 ISO 값에 따라서 신경망 모델(복원 파라미터)이 선택될 수 있다.
영상 보정 모듈(1200)에서는 SW ISP(1120)에 대응되는 제2 보정 파라미터가 선택될 수 있다. 이때, 제2 보정 파라미터는 줌 촬영 모드 및 SW ISP(1120)에 대응되도록 학습된 신경망 모델일 수 있다. 예를 들어, 제2 보정 파라미터는 확대된 이미지에 적합한 영상 특성을 갖도록 영상을 보정할 수 있게 미리 학습된 신경망 모델일 수 있다. 이때, '확대된 이미지에 적합한 영상 특성'이란 일률적으로 정해지는 것이 아닌, 사용자 또는 관리자가 객관적인 통계 데이터나 개인 또는 다수의 선호도 등에 따라 미리 설정하는 것일 수 있다. 또한 예를 들어, 제2 보정 파라미터는 최종 영상 내 객체가 최대한 뚜렷하고 선명하게 나타나도록 영상 특성을 보정(e.g. 명암비를 높이도록 보정)할 수 있게 학습된 신경망 모델일 수 있다.
또한 일 실시예에 따르면, 줌 촬영 모드에 대응되는 SW ISP(1120)는 센터 크롭, 디모자이크 및 슈퍼 레졸루션을 수행하므로(디노이즈는 수행하지 않음), 그에 따라 제2 보정 파라미터는 화이트 밸런스 조절, 색 보정 및 감마 값 조절뿐만 아니라 디노이즈까지 수행하도록 학습된 신경망 모델일 수 있다.
한편, 앞서 설명한 바와 같이 영상 보정 모듈(1200)에서의 신경망 모델 선택 시 이미지 센서(100)의 종류를 고려할 수 있는데, 예를 들어 영상 복원 모듈(1100)에서는 동일하게 SW ISP(1120)가 선택되었지만, 이미지 센서(100)에서 제1 이미지 센서 또는 제3 이미지 센서가 선택되었다면, 영상 보정 모듈(1200)에서는 제2 보정 파라미터가 아닌 다른 보정 파라미터가 선택될 수도 있다. 따라서, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 이미지 센서(100) 및 영상 복원 모듈(1100)의 조합에 대응되도록 학습된 것일 수 있다. 또한, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 촬영 환경에 대응되도록 학습된 것일 수 있다.
도 10을 참고하면, 야간 촬영 모드인 경우 이미지 센서(100)에서 제3 이미지 센서가 선택되고, 영상 복원 모듈(1100)에서는 제3 이미지 센서에 대응되는 AI 복원 ISP(1130)가 선택될 수 있다. 일 실시예에 따르면, 제3 이미지 센서는 광각 렌즈에 매칭되는 이미지 센서일 수 있다. 앞서 도 5를 참조하여 설명한 바와 같이, AI 복원 ISP(1130)에서는 ISO 값에 기초하여 복수의 신경망 모델(복원 파라미터)들 중 어느 하나(제2 복원 파라미터)가 선택될 수 있다. 또한, AI 복원 ISP(1130)에서 선택된 제2 복원 파라미터는 ISO 값에 기초하여 결정되는 강도로 디노이즈를 수행할 수 있다.
일 실시예에 따르면, 영상 복원 모듈(1100)의 세부 구성 선택 시 촬영 조건이 함께 고려될 수도 있는데, 예를 들어 야간 촬영 모드이고 제3 이미지 센서가 선택되었더라도, ISO 값이 일정 기준 미만으로 낮다면 AI 복원 ISP(1130) 대신 SW ISP(1120) 또는 HW ISP(1110) 중 어느 하나가 선택될 수도 있다.
영상 보정 모듈(1200)에서는 AI 복원 ISP(1120)의 제2 복원 파라미터에 대응되는 제3 보정 파라미터가 선택될 수 있다. 이때, 제3 보정 파라미터는 AI 복원 ISP(1120)의 제2 복원 파라미터에 대응되도록 학습된 신경망 모델일 수 있다. 예를 들어, 제3 보정 파라미터는 암부를 최대한 선명하게 밝혀주도록 영상 특성을 보정(e.g. 특정 영역의 밝기를 높이도록 보정)할 수 있게 학습된 신경망 모델일 수 있다.
또한 일 실시예에 따라 AI 복원 ISP(1120)의 제2 복원 파라미터에서 디모자이크 및 디노이즈를 수행한다면, 제3 보정 파라미터는 디노이즈는 수행하지 않고, 화이트 밸런스 조절, 색 보정 및 감마 값 조절 등을 수행하도록 학습된 신경망 모델일 수 있다.
한편, 앞서 설명한 바와 같이 영상 보정 모듈(1200)에서의 신경망 모델 선택 시 이미지 센서(100)의 종류를 고려할 수 있는데, 예를 들어 영상 복원 모듈(1100)에서는 동일하게 AI 복원 ISP(1130)가 선택되었지만, 이미지 센서(100)에서 제2 이미지 센서 또는 제3 이미지 센서가 선택되었다면, 영상 보정 모듈(1200)에서는 제3 보정 파라미터가 아닌 다른 보정 파라미터가 선택될 수도 있다. 따라서, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 이미지 센서(100) 및 영상 복원 모듈(1100)의 조합에 대응되도록 학습된 것일 수 있다. 또한, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 촬영 환경에 대응되도록 학습된 것일 수 있다.
이상 살펴본 바와 같이, 영상 보정 모듈(1200)의 신경망 모델은 이미지 센서(100)의 종류, 촬영 모드 및 촬영 조건 중 적어도 하나 이상에 기초하여 선택될 수 있다. 특히, 촬영 환경(촬영 모드 및 촬영 조건)에 따라 이미지 센서(100)의 종류 및 영상 복원 모듈(1100)의 세부 구성이 선택되면, 그에 따라 영상 보정 모듈(1200)의 신경망 모델이 선택될 수 있다.
또한 일 실시예에 따르면, 영상 보정 모듈(1200)의 신경망 모델은 각각의 촬영 모드에 대응되도록 선택될 수 있고, 선택되는 신경망 모델은 대응되는 촬영 모드에 따라 적절하게 영상 특성을 보정하는 방향으로 미리 학습된 것일 수 있다. 이때, '각각의 촬영 모드에 따라 적절하게 영상 특성을 보정하는 방향'이란 사용자 또는 관리자가 객관적인 통계 데이터나 개인 또는 다수의 선호도 등에 따라서 미리 설정하는 것일 수 있다.
아래에서는 지금까지 설명한 실시예들의 프로세스를 순서도를 참조하여 설명한다. 도 11 내지 도 14는 본 개시의 실시예들에 따른, 신경망 모델을 이용하여 영상 신호를 처리하는 방법을 설명하기 위한 순서도들이다.
도 11을 참고하면, 1101 단계에서 컴퓨팅 장치(e.g. 도 3의 사용자 단말(3000))는 이미지 센서를 통해 촬영된 영상을 획득할 수 있다. 이때, 이미지 센서는 서로 다른 종류의 복수의 이미지 센서들 중에서, 촬영 조건 및 촬영 모드 중 적어도 하나 이상에 기초하여 선택된 것일 수 있다.
1102 단계에서 컴퓨팅 장치는 영상의 촬영 환경(촬영 조건, 촬영 모드)을 확인할 수 있다. 일 실시예에 따르면, 컴퓨팅 장치는 영상의 메타데이터로부터 영상이 촬영된 시간 및 장소, 그리고 ISO 값 등의 촬영 조건을 획득할 수 있다. 컴퓨팅 장치가 이미지 센서를 포함하는 경우, 즉 컴퓨팅 장치를 통해 영상을 촬영하는 경우라면 컴퓨팅 장치는 촬영 시 설정된 촬영 모드를 직접 확인할 수 있다. 또는 컴퓨팅 장치가 이미지 센서를 포함하지 않고, 촬영된 영상을 수신하여 영상 신호 처리만을 수행하는 경우라면 컴퓨팅 장치는 수신한 영상의 메타데이터로부터 촬영 모드를 확인할 수 있다.
일 실시예에 따르면, 촬영 환경은 촬영 조건 및 촬영 모드 중 적어도 하나를 포함할 수 있다. 촬영 조건은 영상의 ISO 값, 영상이 촬영된 시간 및 장소 중 적어도 하나를 포함할 수 있다. 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌 촬영 모드 중 적어도 하나를 포함할 수 있다.
1103 단계에서 컴퓨팅 장치는 촬영 환경에 따라서 영상 복원 모듈 및 영상 보정 모듈 중 적어도 하나에 포함되는 신경망 모델을 선택할 수 있다. 1103 단계에 포함되는 세부 단계들을 도 12에 도시하였다.
도 12를 참고하면, 1201 단계에서 컴퓨팅 장치는 촬영 환경 및 선택된 이미지 센서의 종류 중 적어도 하나 이상에 기초하여 영상 복원 모듈의 세부 구성을 선택할 수 있다. 1201 단계에 포함되는 세부 단계들을 도 13에 도시하였다.
도 13을 참고하면, 1301 단계에서 컴퓨팅 장치는 촬영 모드 또는 선택된 이미지 센서의 종류 중 적어도 하나 이상에 기초하여 1차적으로 세부 구성을 선택할 수 있다.
1302 단계에서 컴퓨팅 장치는 촬영 조건에 기초하여, 1차적으로 선택된 세부 구성을 유지하거나 변경할 수 있다. 예를 들어, 컴퓨팅 장치는 촬영 조건에 포함된 ISO 값을 고려했을 때, 1차적으로 선택된 세부 구성을 변경할 필요가 있다면, ISO 값에 기초하여 새로운 세부 구성을 선택할 수 있다. 일 실시예에 따르면, 촬영 모드 또는 이미지 센서의 종류에 대응되는 영상 복원 모듈의 세부 구성이 미리 지정될 수 있다.
다시 도 12로 돌아가서, 일 실시예에 따르면 1201 단계에서 영상 복원 모듈의 세부 구성을 선택함에 있어서, 컴퓨팅 장치는 촬영 조건에 포함된 ISO 값에 기초하여, 영상 복원 모듈에 포함된 복수의 신경망 모델들 중 어느 하나를 선택할 수도 있다. 이때, 영상 복원 모듈에서 선택된 신경망 모델은, 디노이즈 기능을 포함하며, 촬영 조건에 포함된 ISO 값에 대응되는 노이즈를 포함하는 영상을 이용하여 학습된 신경망 모델일 수 있다.
1202 단계에서 컴퓨팅 장치는 촬영 환경, 선택된 이미지 센서의 종류 및 선택된 영상 복원 모듈의 세부 구성 중 적어도 하나 이상에 기초하여, 영상 보정 모듈에 포함된 복수의 신경망 모델 중 어느 하나를 선택할 수 있다. 일 실시예에 따르면, 컴퓨팅 장치는 선택된 이미지 센서의 종류 및 선택된 영상 복원 모듈의 세부 구성의 조합에 대응되는 신경망 모델을 선택할 수 있다. 이때 선택된 신경망 모델은, 영상이 촬영된 촬영 환경에 따라 영상 특성을 보정하도록 학습된 신경망 모델일 수 있다.
다시 도 11로 돌아가서, 1104 단계에서 컴퓨팅 장치는 선택된 신경망 모델을 이용하여 영상을 처리할 수 있다.
도 14에는 촬영 환경에 따라 이미지 센서의 종류, 영상 복원 모듈의 세부 구성 및 영상 보정 모듈의 신경망 모델을 순차적으로 선택하는 실시예를 설명하기 위한 순서도를 도시하였다.
도 14를 참고하면, 1401 단계에서 컴퓨팅 장치는 촬영 조건 및 촬영 모드에 기초하여 이미지 센서의 종류를 선택할 수 있다. 일 실시예에 따르면, 촬영 조건 및 촬영 모드의 조합별로 대응되는 이미지 센서의 종류가 미리 정해져 있을 수 있다. 또는 일 실시예에 따르면, 촬영 모드별로 대응되는 이미지 센서의 종류가 미리 정해져 있을 수도 있다. 또는 일 실시예에 따르면, 촬영 모드별로 대응되는 이미지 센서의 종류가 미리 정해져 있어, 컴퓨팅 장치는 기본적으로 촬영 모드에 따라서 이미지 센서의 종류를 선택하되, 촬영 조건이 특정 기준을 충족하는 경우 다른 이미지 센서를 선택할 수도 있다.
1402 단계에서 컴퓨팅 장치는 선택된 이미지 센서의 종류에 따라서 영상 복원 모듈의 세부 구성을 선택할 수 있다. 이를 위해, 각각의 이미지 센서의 종류마다 대응되는 영상 복원 모듈의 세부 구성이 미리 정해져 있을 수 있다. 예를 들어, 선택된 이미지 센서가 줌 촬영을 수행하기 위한 이미지 센서라면, 영상 복원 모듈에서는 센터 크롭 및 확대를 수행하는 세부 구성이 선택될 수 있다.
1403 단계에서 컴퓨팅 장치는 선택된 이미지 센서의 종류 및 선택된 영상 복원 모듈의 세부 구성의 조합에 따라서 영상 보정 모듈에 포함된 복수의 신경망 모델들 중 어느 하나를 선택할 수 있다. 이때 선택되는 신경망 모델은, 선택된 이미지 센서의 종류 및 선택된 영상 복원 모듈의 세부 구성의 조합에 대응되는 촬영 환경에 따라 영상 특성을 보정하도록 학습된 신경망 모델일 수 있다. 예를 들어, 선택된 이미지 센서의 종류 및 선택된 영상 복원 모듈의 세부 구성의 조합에 대응되는 촬영 환경이, 저조도에서 줌 촬영 모드로 촬영을 하는 경우라면, 영상 보정 모듈에서 선택되는 신경망 모델은 밝기 및 명암비를 증가시키도록 학습된 신경망 모델일 수 있따.
1404 단계에서 컴퓨팅 장치는 선택된 영상 복원 모듈의 세부 구성 및 선택된 영상 보정 모듈의 신경망 모델을 이용하여, 선택된 이미지 센서에서 촬영된 영상을 처리할 수 있다.
4. 응용 실시예 - 객체 인식 결과를 반영한 이미지 센서, 영상 복원 모듈 및 영상 보정 모듈의 선택
이하에서는 구체적인 실시예로서, 객체 인식 모드(e.g. 객체 인식하는 AI 카메라 모드)로 촬영을 수행하는 경우 객체 인식 결과에 따라 이미지 센서, 영상 복원 모듈 및 영상 보정 모듈의 조합을 변경하는 방식에 대해서 도 15를 참조하여 설명한다.
도 15를 참고하면, 객체 인식 모드에 따라 제1 이미지 센서에서 영상을 촬영하고, 촬영된 영상은 영상 복원 모듈(1100)의 AI 복원 ISP(1130)를 통해 처리될 수 있다. 도 15의 실시예에서 AI 복원 ISP(1130)는 제2 복원 파라미터로 세팅된 상태에서 영상 신호를 처리하는데, 제2 복원 파라미터는 촬영 모드(객체 인식 모드) 및 촬영 조건(e.g. ISO 값)에 기초하여 선택될 것일 수 있다.
도 15의 실시예에서 영상 보정 모듈(1200)에서는 제1 이미지 센서와 제2 복원 파라미터의 조합에 대응되는, 제3 보정 파라미터가 선택되었다. 일 실시예에 따르면, 제3 보정 파라미터는 객체 인식 정확도를 높이는 방향으로 영상 특성을 보정하도록 학습된 신경망 모델일 수 있다.
객체 인식 모듈(1510)은 영상 보정 모듈(1200)이 출력한 영상으로부터 객체를 인식할 수 있다. 일 실시예에 따르면, 객체 인식 모듈(1510)은 객체 인식 결과에 기초하여 이미지 센서(100)의 변경을 요청할 수 있다. 또한 일 실시예에 따르면, 객체 인식 모듈(1510)은 객체 인식 결과에 기초하여 사용자에게 다른 촬영 모드를 추천하거나, 자동으로 촬영 모드를 변경할 수도 있다.
예를 들어, 객체 인식을 수행한 결과 달(moon)이 인식되었다면, 객체 인식 모듈(1510)은 광각 렌즈와 매칭된 이미지 센서로 변경하도록 이미지 센서(100)에 요청하거나, 사용자에게 광각 촬영 모드로 변경할 것을 추천하거나, 자동으로 광각 촬영 모드로 변경할 수 있다.
객체 인식 결과에 따라서 이미지 센서(100)의 종류 또는 촬영 모드가 변경되면, 그에 따라 영상 복원 모듈(1100)의 세부 구성 및 영상 보정 모듈(1200)의 신경망 모델도 변경될 수 있다.
이와 같이 객체 인식 결과에 따라서 이미지 센서(100)의 종류, 영상 복원 모듈(1100)의 세부 구성 및 영상 보정 모듈(1200)의 신경망 모델이 변경되면, 변경된 설정에 따라서 다시 영상 신호를 처리하여 최종 영상을 출력할 수 있다.
도 15에 도시된 실시예에서는 객체 인식 모듈(1510)이 영상 보정 모듈(1200)에서 출력된 영상으로부터 객체를 인식하지만, 객체 인식 모듈(1510)은 다른 위치에서 객체 인식을 수행할 수도 있다. 예를 들어, 객체 인식 모듈(1510)은 이미지 센서(100)에서 출력된 영상으로부터 객체를 인식할 수도 있고, 또는 영상 복원 모듈(1100)로부터 출력된 영상으로부터 객체를 인식할 수도 있다.
5. 영상 보정 모듈에 포함되는 신경망 모델의 학습
앞서 설명한 바와 같이 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 촬영 환경별로 영상 특성의 보정 방향을 다르게 설정(e.g. 줌 촬영 모드의 경우 명암비 증가, 야간 촬영 모드의 경우 발기 증가 등)하여 학습될 수 있는데, 이하에서는 도 16 내지 도 33을 참조하여 영상 보정 모듈(1200)에 포함되는 신경망 모델을 학습시키는 방법에 대해서 설명한다.
이하의 실시예들에서 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 각각 두 개의 신경망 모델(제1 신경망 모델 및 제2 신경망 모델)을 포함한다고 가정한다. 다시 말해, 영상 보정 모듈(1200)에 포함되는 각각의 보정 파라미터는, 제1 신경망 모델을 세팅하기 위한 파라미터와 제2 신경망 모델을 세팅하기 위한 파라미터를 모두 포함한다.
본 개시의 실시예들에 따른 영상 보정 모듈(1200)에 포함되는 각각의 신경망 모델들은 입력 영상을 보정하여 추론 영상을 출력하는 '제1 신경망 모델'과, 주어진 입력 영상에 대해서 최적의 보정 파라미터를 추론하는 '제2 신경망 모델'을 포함할 수 있다.
(1) 제1 신경망 모델 및 제2 신경망 모델의 기본적인 동작 설명
먼저 도 16 및 도 17을 참조하여 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)의 역할에 대해서 간략히 설명하고, 이어서 도 18 및 도 19를 참조하여 그러한 역할을 수행하기 위해 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 어떻게 학습시키는지에 대해서 설명한다.
도 16은 본 개시의 일 실시예에 따른 제1 신경망 모델(1210)의 동작을 설명하기 위한 도면이다. 도 16을 참고하면, 일 실시예에 따른 제1 신경망 모델(1210)은 입력 영상(161) 및 보정 파라미터(1610)를 입력받으면, 보정 파라미터(1610)에 대응하는 추론 영상(162)을 출력할 수 있다. 이때, 추론 영상(162)은 보정 파라미터(1610)에 기초하여 입력 영상(161)이 보정된 영상에 해당한다. 이와 같은 추론 영상(162)을 출력하기 위해서 제1 신경망 모델(1210)이 학습되는 방법에 대해서는 아래에서 도 18을 참조하여 자세히 설명한다.
일반적으로 입력 영상(161)은 영상의 전체 또는 일부 영역이 어둡거나, 명암비가 낮아 영상 내 객체가 잘 인식되지 않는 문제를 가지고 있을 수 있다. 제1 신경망 모델(1210)은 이러한 문제를 해결하도록 입력 영상(161)의 밝기를 높이거나 명암비를 개선하는 역할을 수행할 수 있다.
제1 신경망 모델(1210)은 도 16에 도시된 바와 같이 추론 영상(162)을 출력할 수도 있지만, 영상 자체를 출력하지 않고 입력 영상(161)을 추론 영상(162)으로 변환하는데 사용되는 필터(filter) 또는 맵 정보(map information)를 출력할 수도 있다. 즉, 입력 영상(161)은 제1 신경망 모델(1210)이 출력하는 필터 또는 맵 정보를 이용하여 추론 영상(162)으로 변환될 수도 있다.
제1 신경망 모델(1210)은 다양한 종류의 딥러닝 네트워크를 포함하도록 구현될 수 있으며, 예를 들어 합성곱 신경망(Convolution Neural Network, CNN)의 한 종류인 ResNet (Residual Network)로 구현될 수도 있으나, 이에 한정되지 않는다.
도 17은 본 개시의 일 실시예에 따른 제2 신경망 모델(1220)의 동작을 설명하기 위한 도면이다. 도 17을 참고하면, 일 실시예에 따른 제2 신경망 모델(1220)은 입력 영상(161)을 입력받아 보정 파라미터(1610)를 추론하여 출력할 수 있다. 제2 신경망 모델(1220)에서 출력된 보정 파라미터(1610)는 제1 신경망 모델(1210)에 입력되고, 제1 신경망 모델(1210)은 앞서 도 16을 참조하여 설명한 바와 같이 보정 파라미터(1610)에 대응하는 추론 영상(162)을 출력할 수 있다.
제2 신경망 모델(1220)은 사용자가 좋아할 만한 영상 특성을 가지도록 입력 영상(161)을 보정하기 위한 보정 파라미터(1610)를 추론할 수 있다. 이때, 제2 신경망 모델(1220)이 추론하는 보정 파라미터(1610)로 인해 입력 영상(161)이 어떤 방향으로 보정되는지는 제2 신경망 모델(1220)의 학습 과정에서 결정될 수 있으며, 자세한 내용은 아래에서 도 19를 참조하여 설명한다.
제2 신경망 모델(1220) 역시 다양한 종류의 딥러닝 네트워크를 포함하도록 구현될 수 있으며, 예를 들어 합성곱 신경망(Convolution Neural Network, CNN)의 한 종류인 ResNet (Residual Network)으로 구현될 수도 있으나, 이에 한정되지 않는다.
(2) (학습 과정) 제1 신경망 모델 및 제2 신경망 모델을 학습시키는 방법
이하에서는 도 18 및 도 19를 참조하여 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 학습시키는 방법에 대해서 설명한다.
일 실시예에 따르면, 신경망 모델들(1210, 1220)의 학습은 신경망 모델들(1210, 1220)이 탑재되는 디바이스(e.g. 도 3의 사용자 단말(2000))가 아닌 외부의 다른 장치(e.g. 도 31의 컴퓨팅 장치(500))에 의해서 수행될 수 있다. 물론, 실시예에 따라서 신경망 모델들(1210, 1220)이 탑재되는 디바이스가 신경망 모델들(1210, 1220)의 학습을 수행할 수도 있다. 이하에서는 설명의 편의를 위해 도 31의 컴퓨팅 장치(500)의 프로세서(530)가 메모리(520)에 저장된 프로그램을 실행함으로써, 도 18 및 도 19에서 설명되는 신경망 모델(1210, 1220)에 대한 학습을 수행한다고 가정한다. 즉, 도 18 및 도 19에서 레이블 영상 생성 모듈(1810)이나 옵티마이저(1820)가 수행하는 동작들과 손실함수 (loss function)의 계산 등은 실제로는 도 31의 컴퓨팅 장치(500)의 프로세서(530)가 수행하는 것으로 볼 수 있다.
도 31의 컴퓨팅 장치(500)의 프로세서(530)는 CPU(531), GPU(532) 및 NPU(533)를 포함할 수 있으며, 이들 중 적어도 하나를 이용하여 메모리(520)에 저장된 프로그램을 실행함으로써 신경망 모델(1210, 1220)에 대한 학습을 수행할 수 있다. 컴퓨팅 장치(500)의 입출력 인터페이스(510)는 신경망 모델(1210, 1220)의 학습과 관련한 명령을 수신하거나 정보를 표시할 수 있다.
도 18은 본 개시의 일 실시예에 따른 제1 신경망 모델(1210)을 학습시키는 과정을 설명하기 위한 도면이다. 도 18을 참고하면, 레이블 영상 생성 모듈(1810)은 적어도 하나 이상의 영상 보정 알고리즘을 이용하여 입력 영상(161)을 보정한 레이블 영상(163)을 출력할 수 있다. 레이블 영상 생성 모듈(1810)이 입력 영상(161)을 보정할 때 영상 보정 알고리즘에 보정 파라미터(1610)가 적용되는데, 레이블 영상 생성 모듈(1810)이 사용하는 영상 보정 알고리즘, 그리고 보정 파라미터(1610)에 대해서는 도 20 내지 도 23을 참조하여 자세히 설명한다.
도 20는 본 개시의 일 실시예에 따른 레이블 영상 생성 모듈(1810)이 입력 영상(161)으로부터 레이블 영상(163)을 생성하는 과정을 설명하기 위한 도면이다. 도 20을 참고하면, 레이블 영상 생성 모듈(1810)은 명암비 개선 (contrast enhancement) 알고리즘(1811), 밝기 보정 (brightness correction) 알고리즘(1812) 및 노출 융합 (exposure fusion) 알고리즘(1813)을 사용할 수 있다. 다만, 도 20에 개시된 레이블 영상 생성 모듈(1810)이 사용하는 영상 보정 알고리즘들은 예시에 불과하며, 레이블 영상 생성 모듈(1810)은 이 밖에 다양한 종류의 영상 보정 알고리즘들을 사용할 수도 있다.
도 20에는 보정 파라미터(1610)에 구체적으로 어떤 파라미터들이 포함되는지, 그리고 각 파라미터들은 어떤 영상 보정 알고리즘에 대응되는지를 나타내었다. 도 20을 참고하면, 명암비 개선 알고리즘(1811)에는 스트렝스 (strength) 값(1611)이 적용될 수 있고, 밝기 보정 알고리즘(1812)에는 감마 (gamma) 값(1612)이 적용될 수 있고, 노출 융합 알고리즘(1813)에는 α값(1613)이 적용될 수 있다. 각각의 영상 보정 알고리즘에 적용되는 파라미터들(1611, 1612, 1613)에 대해서 도 21 내지 23을 참조하여 설명한다.
도 21은 본 개시의 일 실시예에 따른 명암비 개선 알고리즘(1811)에 적용되는 스트렝스 값(1611)에 대해서 설명하기 위한 도면이다. 일 실시예에 따른 명암비 개선 알고리즘(1811)은 커브(curve)를 이용하여 명암비를 조절하는 방식이다.
도 21의 그래프(2100)를 참고하면, 스트렝스 값(1611)에 따라서 S-커브 (S-curve)의 곡률이 변화하고, 특히 스트렝스 값(1611)이 높아짐에 따라 S-커브의 곡률이 커짐을 알 수 있다. S-커브의 기울기가 증가하면 색조(tone)는 스트레칭(stretching)되고, 따라서 명암비가 증가하게 된다. 따라서, 스트렝스 값(1611)이 클수록, 명암비 개선 알고리즘(1811)은 입력 영상(161)의 명암비를 증가시킬 수 있다.
도 22는 본 개시의 일 실시예에 따른 밝기 보정 알고리즘(1812)에 적용되는 감마 값(1612)에 대해서 설명하기 위한 도면이다. 도 22의 그래프(2200)에는 감마 값(1612)에 따른 감마 곡선을 도시하였다. 그래프(2200)의 x 축은 명암 표현 수치를 나타내고, y 축은 밝기를 나타낸다. 도 22의 그래프(2200)를 참고하면, 감마 값(1612)이 작아질수록 밝기가 증가함을 알 수 있다. 따라서, 감마 값(1612)이 작을수록, 밝기 보정 알고리즘(1812)은 입력 영상(161)의 밝기를 증가시킬 수 있다.
도 23은 본 개시의 일 실시예에 따른 노출 융합 알고리즘(1813)에 적용되는 α값(1613)에 대해서 설명하기 위한 도면이다. 노출 융합 알고리즘(1813)은 기본 영상(X)으로부터 노출이 다른 가공 영상(X')을 생성하고, 기본 영상(X) 및 가공 영상(X')에 각각 가중치 W 및 (1-W)를 곱한 후 합하여 융합 영상(F)을 출력할 수 있다. 일 실시예에 따르면, 기본 영상(X)이 도 20의 입력 영상(161)에 해당되고, 출력되는 융합 영상(F)이 도 20의 레이블 영상(163)에 해당될 수 있다.
노출 융합 알고리즘(1813)은 다음의 수학식 1에 따라서 기본 영상(X)으로부터 가공 영상(X')을 생성할 수 있다.
Figure PCTKR2023007376-appb-img-000001
이상 설명한 방식에 따라서 노출 융합 알고리즘(1813)을 수행한다면, α값(1613)이 클수록 융합 영상(F)은 기본 영상(X) 대비 밝아질 수 있고, 또한 β값이 작을수록 융합 영상(F)은 기본 영상(X) 대비 밝아질 수 있다. 도 5에서는 노출 융합 알고리즘(1813)에 대한 보정 파라미터로서 α값(1613)이 사용되는 것으로 도시하였으나, α값(1613) 대신 β값이 보정 파라미터로 사용되거나, α값(1613) 및 β값 모두가 보정 파라미터로서 사용될 수도 있다.
레이블 영상 생성 모듈(1810)은 이상 설명한 영상 보정 알고리즘들(1811, 1812, 1813)에 보정 파라미터(1611, 1612, 1613)를 적용함으로써 입력 영상(161)의 특성들 중 적어도 하나 이상을 조절한 레이블 영상(163)을 출력할 수 있다. 레이블 영상 생성 모듈(1810)은 도 20에 도시된 영상 보정 알고리즘들(1811, 1812, 1813) 중 적어도 하나 이상의 조합을 사용할 수도 있고, 또는 다른 종류의 영상 보정 알고리즘을 사용할 수도 있다.
일 실시예에 따르면, 보정 파라미터(1610)에 포함된 파라미터 값들(1611, 1612, 1613)의 순서는 학습 시와 추론 시에 동일하게 유지될 수 있다. 다시 말해 일 실시예에 따르면, 학습 시에 사용된 보정 파라미터(1610) 내의 파라미터 종류(1611, 1612, 1613)의 순서는, 사용 시에도 동일하게 유지될 수 있다.
예를 들어, 보정 파라미터(1610)가 열 벡터(column vector)의 형태라면, 각 행(row)의 원소(element)는 학습 시와 추론 시에 동일한 종류의 파라미터(동일한 영상 보정 알고리즘에 적용되는 파라미터)에 해당될 수 있다.
구체적인 예를 들어 설명하면 다음과 같다.
도 20에 도시된 실시예에서와 같이, 학습 시 사용된 보정 파라미터(열 벡터)(1610)의 첫 번째 행(row)의 원소가 명암비 개선 알고리즘(1811)에 적용되는 파라미터(1611)이고, 두 번째 행의 원소가 밝기 보정 알고리즘(1812)에 적용되는 파라미터(1612)이고, 세 번째 행의 원소가 노출 융합 알고리즘(1813)에 적용되는 파라미터(1613)였다면, 추론 시에 사용되는 보정 파라미터 역시 첫 번째 행의 원소는 명암비 개선 알고리즘(1811)에 적용되는 파라미터(1611)이고, 두 번째 행의 원소는 밝기 보정 알고리즘(1812)에 적용되는 파라미터(1612)이고, 세 번째 행의 원소는 노출 융합 알고리즘(1813)에 적용되는 파라미터(1613)일 수 있다.
도 24를 참고하면, 두 개의 파라미터 값들(1614, 1615)은 입력 영상(161) 및 입력 영상(161)으로부터 변환된 회색조 영상과 스케일드 컨캐터네이션(도 25의 2501 참고)된 후 제1 신경망 모델(1210)에 입력된다. 즉, 파라미터 값들(1614, 1615)이 각각 곱해진(또는 나누어지거나 더해진) 회색조 영상들이 입력 영상(161)에 채널 방향으로 붙어 제1 신경망 모델(1210)에 입력되는데, 이때 채널 순서는 학습 시와 추론 시에 동일해야 하기 때문에, 위에서 설명한 바와 같이 보정 파라미터(1610)에 포함된 파라미터 값들(1614, 1615)의 순서는 학습 시와 추론 시에 동일하게 유지되어야 하는 것이다.
또한 일 실시예에 따르면, 도 20에 도시된 실시예에서 보정 파라미터(1610)에 포함된 파라미터 값들(1611, 1612, 1613) 각각의 비트(bit) 수는 학습 시와 추론 시에 동일하게 유지될 수 있다. 보정 파라미터(1610)에 포함된 파라미터 값들(1611, 1612, 1613)의 순서와, 파라미터 값들(1611, 1612, 1613) 각각의 비트 수가 학습 시와 추론 시에 동일하게 유지되는 실시예에 대해서 자세히 설명하면 다음과 같다.
신경망 모델들(1210, 1220)의 학습 시에 사용된 보정 파라미터(1610)가 "01010110"의 이진 데이터라고 가정한다. 그리고, 앞에서부터 순서대로 3 비트의 데이터("010")가 명암비 개선 알고리즘(1811)에 적용되기 위한 파라미터(1611)이고, 이어지는 2 비트의 데이터("10")가 밝기 보정 알고리즘(1812)에 적용되기 위한 파라미터(1612)이고, 마지막 3 비트의 데이터("110")가 노출 융합 알고리즘(1813)에 적용되기 위한 파라미터(1613)라고 가정한다.
이와 같은 각 파라미터(1611, 1612, 1613)들의 비트 수 및 파라미터들(1611, 1612, 1613) 간의 순서는 신경망 모델들(1210, 1220)의 사용(추론) 시에도 동일하게 유지되어야 한다. 예를 들어, 추론 시에 제1 신경망 모델(1210)에 "10111100"의 이진 데이터가 보정 파라미터(1610)로서 입력되었다면, 앞에서부터 순서대로 3 비트의 데이터("101")가 명암비 개선 알고리즘(1811)에 적용되기 위한 파라미터(1611)가 되고, 이어지는 2 비트의 데이터("11")가 밝기 보정 알고리즘(1812)에 적용되기 위한 파라미터(1612)가 되고, 마지막 3 비트의 데이터("100")가 노출 융합 알고리즘(1813)에 적용되기 위한 파라미터(1613)가 된다.
다시 도 18로 돌아와서, 레이블 영상 생성 모듈(1810)이 출력하는 레이블 영상(163)은 제1 신경망 모델(1210)을 학습시키기 위한 훈련용 데이터(특히, 그라운드 트루스 데이터)로서 사용될 수 있다. 제1 신경망 모델(1210)에 입력 영상(161) 및 보정 파라미터(1610)가 입력되었을 때 제1 신경망 모델(1210)로부터 출력되는 추론 영상(162)이, 레이블 영상(163)과 최대한 유사해지도록 제1 신경망 모델(1210)을 학습시킬 수 있다. 즉 일 실시예에 따르면, 제1 신경망 모델(1210)은 입력 영상(161) 및 보정 파라미터(1610)가 입력되었을 때 출력되는 추론 영상(162)과, 보정 파라미터(1610)에 대응되는 레이블 영상(163) 간 차이를 최소화하도록 학습된 모델일 수 있다. 이때, 보정 파라미터(1610)에 대응되는 레이블 영상(163)이란, 보정 파라미터(1610)가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 적어도 하나의 영상 보정 알고리즘에 의해 입력 영상(161)이 보정된 영상일 수 있다.
다시 말해, 옵티마이저 (optimizer) (1820)는 추론 영상(162) 및 레이블 영상(163) 간 차이를 나타내는 손실함수(1620)의 손실값이 최소가 되도록 제1 신경망 모델(1210)을 업데이트할 수 있다. 이때, 손실함수(1620)는 평균 절대 오차 (Mean Absolute Error, MAE), 평균 제곱 오차 (Mean Square Error, MSE) 및 SSIM (Structural Similarity Index Measure) 등의 조합으로 구성될 수 있다.
이상 설명한 바와 같이, 제1 신경망 모델(1210)의 학습 시에는 입력 영상(161), 레이블 영상(163) 및 보정 파라미터(1610)가 훈련용 데이터로서 사용될 수 있다. 일 실시예에 따르면, 여러 입력 영상(161)에 대해서 보정 파라미터(1610)를 변화시켜가면서 복수의 레이블 영상(163)들을 생성하고, 이렇게 수집된 입력 영상(161), 레이블 영상(163) 및 보정 파라미터(1610)의 조합을 훈련용 데이터로 사용하여 제1 신경망 모델(1210)을 학습시킬 수 있다.
이와 같이, 제1 신경망 모델(1210)의 학습 시에 보정 파라미터(1610)를 제1 신경망 모델(1210)에 대한 입력으로 사용함으로써 보정 파라미터(1610)와 레이블 영상(163) 간의 관계를 제1 신경망 모델(1210)이 학습하도록 할 수 있다. 즉, 제1 신경망 모델(1210)은 입력 영상(161)에 어떤 보정 파라미터(1610)가 적용될 때 어떻게 보정된 레이블 영상(163)이 생성되는지를 학습한다고 볼 수 있다. 학습된 제1 신경망 모델(1210)에 입력되는 입력 영상(161)은 동일하게 유지하면서 보정 파라미터(1610)만 변경한다면, 제1 신경망 모델(1210)에서 출력되는 추론 영상(162)도 변경된다. 따라서, 사용자는 제1 신경망 모델(1210)에 입력되는 보정 파라미터(1610)를 조정함으로써 제1 신경망 모델(1210)에서 출력되는 추론 영상(162)이 원하는 영상 특성을 갖도록 제어할 수 있다. 보정 파라미터(1610)를 제1 신경망 모델(1210)에 대한 입력으로 인가하는 구체적인 실시예에 대해서는 아래에서 도 24를 참조하여 설명한다.
도 24는 본 개시의 일 실시예에 따른, 보정 파라미터를 제1 신경망 모델에 대한 입력으로 인가하는 방법을 설명하기 위한 도면이다. 도 24에 도시된 실시예에서 보정 파라미터(1610)는 제1 파라미터(1614) 및 제2 파라미터(1615)를 포함한다고 가정한다.
도 24를 참고하면, 입력 영상(161)은 디컬러라이즈(decolorize) 모듈(2410)에 의해 회색조 영상(gray scale image)으로 변환된다. 제1 연산기(2421)는 회색조 영상 및 제1 파라미터(1614)에 대해 멀티플리케이션(multiplication)을 수행하고, 제2 연산기(2422)는 회색조 영상 및 제2 파라미터(1615)에 대해 멀티플리케이션을 수행한다. 제3 연산기(2423)는 입력 영상(161), 제1 연산기(2421)의 출력 및 제2 연산기(2422)의 출력에 대해 컨캐터네이션(concatenation)을 수행하여 제1 신경망 모델(1210)에 출력할 수 있다. 즉 일 실시예에 따르면, 보정 파라미터(1610)에 포함된 파라미터들(1614, 1615)은 각각 입력 영상(161)으로부터 변환된 회색조 영상에 적용된 후, 입력 영상(161)과 함께 제1 신경망 모델(1210)에 입력될 수 있다.
한편, 도 24에서는 회색조 영상에 제1 파라미터(1614) 및 제2 파라미터(1615)가 곱해진 후 입력 영상에 컨캐터네이션되는 것으로 도시하였으나, 일 실시예에 따르면 곱셈 이외에 다른 연산을 이용하여 회색조 영상과 파라미터들(1614, 1615)을 처리하는 것도 가능하다. 예를 들어, 회색조 영상을 제1 및 제2 파라미터(1614, 1615) 각각으로 나눈 후 입력 영상에 컨캐터네이션할 수도 있고, 또는 회색조 영상에 제1 및 제2 파라미터(1614, 1615) 각각을 더한 후 입력 영상에 컨캐터네이션할 수도 있다.
도 19는 본 개시의 일 실시예에 따른 제2 신경망 모델(1220)을 학습시키는 과정을 설명하기 위한 도면이다.
먼저 제2 신경망 모델(1220)을 사용하는 이유에 대해서 설명한다.
제2 신경망 모델(1220)은 일반적으로 많은 사용자들이 좋다고 느낄만한 영상 특성(e.g. 신경망 모델의 설계자가 최적이라고 판단한 영상 특성)을 갖도록 입력 영상(161)을 보정하기 위한 보정 파라미터를 추론할 수 있다. 따라서, 제2 신경망 모델(1220)을 이용함으로써 사용자가 매번 보정 파라미터를 설정하거나 조정하지 않더라도 입력 영상(161)에 대해 최적의 영상 특성을 갖도록 보정하기 위한 보정 파라미터를 자동으로 생성(추론)하고, 그에 따라 입력 영상(161)을 보정하여 사용자에게 제시할 수 있다. 예를 들어, 사용자가 신경망 모델들(1210, 1220)이 탑재된 단말을 통해 영상을 촬영하면, 촬영된 영상을 제2 신경망 모델(1220)이 추론하는 보정 파라미터에 따라 보정하여 미리보기로 단말의 화면에 표시할 수 있다.
일 실시예에 따르면, 앞서 설명한 바와 같이 영상 보정 모듈(1200)에 포함되는 신경망 모델은 촬영 환경에 따라 적절하게 영상 특성을 보정하는 방향으로 미리 학습될 수 있다. 따라서, 사용자 또는 관리자는 원하는 보정 방향을 미리 설정하고, 설정된 방향으로 영상 특성을 보정하기 위한 보정 파라미터를 추론하도록 제2 신경망 모델(1220)을 학습시킬 수 있다. 이와 같이 할 경우, 사용자 또는 관리자는 직접 보정 파라미터(1610)를 조정할 필요 없이, 영상 특성의 보정 방향을 설정하는 것만으로 촬영 환경에 따라 적절하게 영상이 보정되도록 할 수 있다.
따라서, 단말의 사용자는 일차적으로 좋은 영상 특성(밝기, 명암비 등)을 갖는 영상을 미리보기를 통해 확인하고, 미리보기가 마음에 들지 않는 경우에만 영상 특성을 변경하도록 보정 파라미터를 조정할 수 있다.
도 19를 참고하면, 입력 영상(161)을 입력받아 보정 파라미터(1610)를 추론하여 출력하는 제2 신경망 모델(1220)이 추가되었다. 도 19에 도시된 바와 같이 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)이 모두 연결된 상태에서 두 신경망 모델들(1210, 1220)에 대한 학습이 동시에 수행될 수도 있고, 제1 신경망 모델(1210)을 먼저 학습시키고, 학습된 제1 신경망 모델(1210)은 고정(제1 신경망 모델(1210)에 포함된 파라미터들을 고정)한 상태에서 제2 신경망 모델(1220)을 학습시킬 수도 있다. 또한, 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 각각 별도로 학습시킬 수도 있다.
제2 신경망 모델(1220)의 학습 시에는 레이블 영상(163)의 특성(e.g. 밝기, 명암비, 색온도 등)을 정량적으로 수치화한 측정 특성값(1910)을 미리 설정된 목표 특성값(1920)과 비교하고, 둘 간의 차이가 최소가 되도록 제2 신경망 모델(1220)을 업데이트할 수 있다. 목표 특성값(1920)은 사용자(관리자)가 원하는 값으로 미리 설정할 수 있다. 즉 일 실시예에 따르면, 제2 신경망 모델(1220)은 입력 영상(161)이 입력되었을 때 제2 신경망 모델(1220)이 추론하는 보정 파라미터(1610)와, 레이블 영상(163)이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터(도 19에서 목표 특성값(1920)에 해당하는 영상을 레이블 영상 생성 모듈(1810)이 출력하도록 하는 보정 파라미터) 간 차이를 최소화하도록 학습된 모델일 수 있다.
다시 말해, 옵티마이저 (optimizer) (1820)는 측정 특성값(1910) 및 목표 특성값(1920) 간 차이를 나타내는 제2 손실함수(1622)의 손실값이 최소가 되도록 제2 신경망 모델(1220)을 업데이트할 수 있다. 이때, 제2 손실함수(1622)는 평균 절대 오차 (Mean Absolute Error, MAE), 평균 제곱 오차 (Mean Square Error, MSE) 및 SSIM (Structural Similarity Index Measure) 등의 조합으로 구성될 수 있다.
일 실시예에 따르면, 제2 신경망 모델(1220)의 학습 시 사용되는 측정 특성값(1910) 및 목표 특성값(1920)은 복수의 영상 특성 각각에 대응되는 복수의 값들을 포함할 수도 있다. 예를 들어, 측정 특성값(1910) 및 목표 특성값(1920)은 영상의 밝기를 정량적으로 수치화한 제1 특성값과, 영상의 색온도를 정량적으로 수치화한 제2 특성값을 포함할 수도 있다.
도 19에 도시된 실시예에서는, 제2 신경망 모델(1220)의 학습을 위해 레이블 영상(163)에 대한 측정 특성값(1910)을 획득하고, 획득된 측정 특성값(1910)을 미리 설정된 목표 특성값(1920)과 비교한다. 하지만, 일 실시예에 따르면 입력 영상(161)이 레이블 영상(163)으로 변환되는 과정의 중간에서 생성되는 영상(이하, '중간 레이블 영상'이라 함)에 대한 측정 특성값(1910)을 획득하고, 획득된 측정 특성값(1910)을 미리 설정된 목표 특성값(1920)과 비교함으로써 제2 신경망 모델(1220)을 학습시킬 수도 있다.
도 20을 함께 참조하여 구체적인 예를 들어 설명하면 다음과 같다.
일 실시예에 따르면, 제2 신경망 모델(1220)의 학습을 위해 특정값 측정 시 레이블 영상 생성 모듈(1810)에 포함된 복수의 영상 보정 알고리즘들(1811, 1812, 1813) 중에서 일부의 영상 보정 알고리즘만이 적용된 영상(중간 레이블 영상)에 대해서 특성값을 측정하고, 그렇게 측정된 특성값을 미리 설정된 목표 특성값과 비교하여 제2 신경망 모델(1220)을 학습시킬 수도 있다.
도 20에서 입력 영상(161)이 레이블 영상 생성 모듈(1810)에 입력되면, 입력 영상(161)은 명암비 개선 알고리즘(1811), 밝기 보정 알고리즘(1812) 및 노출 융합 알고리즘(1813)을 순서대로 거쳐 레이블 영상(163)으로 변환된다고 가정한다.
예를 들어, 입력 영상(161)에 명암비 개선 알고리즘(1811) 및 밝기 보정 알고리즘(1812)까지만 적용된 중간 레이블 영상(노출 융합 알고리즘(1813)에 대한 입력 영상)의 '밝기'를 정량적으로 수치화한 측정 특성값을 획득하고, 획득된 측정 특성값과 미리 설정된 '밝기'에 대한 목표 특성값 간의 차이(손실)가 최소가 되도록 제2 신경망 모델(1220)을 학습시킬 수도 있다. 이와 같이 제2 신경망 모델(1220)에 대한 학습을 수행한다면, 노출 융합 알고리즘(1813)에 적용되는 파라미터(1613)는 목표 밝기(목표 특성값에 대응되는 밝기)와는 무관하게 별도의 손실을 최소화하도록 학습될 수 있다.
일 실시예에 따르면, 제2 신경망 모델(1220)은 복수의 신경망 모델들을 포함할 수도 있다. 예를 들어, 제2 신경망 모델(1220)이 제1 보정 파라미터 및 제2 보정 파라미터를 추론하는 경우, 각각의 보정 파라미터를 추론하기 위한 신경망 모델이 별도로 존재할 수 있다. 그리고 필요에 따라서 제3 보정 파라미터를 추론하기 위한 신경망 모델을 제2 신경망 모델(1220)에 추가함으로써, 제2 신경망 모델(1220)이 제1 내지 제3 보정 파라미터를 추론하도록 변경할 수도 있다.
(3) (사용 과정) 제1 신경망 모델 및 제2 신경망 모델을 이용하여 영상을 보정하는 방법
앞서 살펴본 바와 같이, 일 실시예에 따르면 도 3의 사용자 단말(3000)의 카메라 모듈(3100)에 ISP(3130)가 포함될 수 있고, 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)은 ISP(3130)의 영상 보정 모듈(3132)에 포함될 수 있다.
도 25는 본 개시의 실시예에 따른 신경망 모델들(1210, 1220)이 도 3의 영상 보정 모듈(3132)에 포함되는 구체적인 실시예를 도시한 도면이다.
도 25를 참고하면, 일 실시예에 따른 영상 보정 모듈(2500)은 제1 전처리부(2510), 제2 전처리부(2520), 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 포함할 수 있다.
제1 전처리부(2510)는 입력 영상(161)을 회색조 영상으로 변환하기 위한 구성으로서, 메타 데이터에 포함된 자동 화이트 밸런스(Auto White Balance, AWB) 게인(gain), 색 보정 행렬(Color Correction Matrix, CCM) 및 감마(Gamma) 등을 입력 영상(161)에 적용한 후, 픽셀별로 RGB의 최대값을 추출하는 채널 와이즈 맥스(Channel wise MAX)를 수행함으로써, 입력 영상(161)을 회색조 영상으로 변환하여 출력할 수 있다.
제2 전처리부(2520)는 제1 전처리부(2510)에서 출력된 회색조 영상으로부터 픽셀값의 평균(mean) 및 분산(variance)을 추출하고, 추출된 평균 및 분산을 입력 영상(161) 및 회색조 영상과 함께 스케일드 컨캐터네이션(scaled concatenation)하여 출력한다. 스케일드 컨캐터네이션을 수행하기 위한 구체적인 연산 구조를 2501 영역에 도시하였다.
제2 신경망 모델(1220)은 제2 전처리부(2520)의 출력을 입력받아 보정 파라미터(α, β)를 추론할 수 있다. 제2 신경망 모델(1220)이 추론한 보정 파라미터(α, β)는 입력 영상(161) 및 회색조 영상과 함께 스케일드 컨캐터네이션되어 제1 신경망 모델(1210)에 입력될 수 있다.
제1 신경망 모델(1210)은 입력 영상(161) 및 보정 파라미터(α, β)에 대응되는 필터(2530)를 출력할 수 있으며, 이렇게 출력된 필터(2530)를 이용하면 입력 영상(161)이 추론 영상(162)으로 변환될 수 있다.
일 실시예에 따르면, 제2 신경망 모델(1220)이 추론한 보정 파라미터(α, β)는 사용자에 의해 조정될 수도 있다. 사용자가 보정 파라미터(α, β)를 조정하면, 제1 신경망 모델(1210)은 조정된 보정 파라미터(α, β)에 대응되는 필터(2530)를 출력하고, 이렇게 출력된 필터(2530)를 이용하여 입력 영상(161)이 추론 영상(162)으로 변환될 수 있다.
일 실시예에 따르면, 앞서 설명한 바와 같이 사용자는 제2 신경망 모델(1220)이 추론한 보정 파라미터(α, β)에 따라 보정된 영상을 미리보기를 통해 확인하고, 원하는 영상 특성을 갖도록 보정 파라미터(α, β)를 조정할 수 있다.
이하에서는 도 26 내지 도 28을 참조하여, 신경망 모델을 이용하여 영상을 보정하는 방법에 대해서 설명한다. 이하에서는 설명의 편의를 위해 도 3의 사용자 단말(3000)의 ISP(3130)(도 1의 ISP(1000)에 대응)가 도 26 내지 도 28의 단계들을 수행하는 것으로 설명한다. 하지만, 이에 한정되지 않고 도 26 내지 도 28의 단계들의 전부 또는 일부는 사용자 단말(3000)의 메인 프로세서(3200) 또는 도 4의 클라우드 서버(400)의 프로세서에 의해 수행될 수도 있다.
도 26을 참고하면, 2601 단계에서 ISP(3130)는 제1 신경망 모델(1210)에 입력 영상 및 보정 파라미터를 입력할 수 있다. 제1 신경망 모델(1210)은, 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델일 수 있다. 이때 보정 파라미터에 대응되는 레이블 영상은, 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 적어도 하나의 영상 보정 알고리즘에 의해 입력 영상이 보정된 영상일 수 있다.
입력 영상은, 영상 복원 모듈(1100)이 이미지 센서(100)로부터 출력된 원시 영상들을 복원하여 출력한 영상일 수 있다. 보정 파라미터는, 미리 설정된 값(e.g. 제1 신경망 모델(1210)의 학습 시 사용된 값)일 수도 있고, 사용자의 입력에 따라 조정된 값일 수도 있다. 사용자의 입력에 따라 보정 파라미터가 조정되는 실시예에 대해서는 아래에서 도 28 내지 도 30을 참조하여 자세히 설명한다.
2602 단계에서 ISP(3130)는 제1 신경망 모델(1210)로부터 보정 파라미터에 대응하는 추론 영상을 획득할 수 있다. ISP(3130)는 획득한 추론 영상을 사용자 단말(3000)의 화면에 표시하거나 메모리(3240)에 저장할 수 있다.
도 27은 제2 신경망 모델이 보정 파라미터를 추론하는 실시예를 설명하기 위한 도면이다. 도 27의 순서도는 도 26의 2601 단계에 포함되는 세부 단계들을 포함한다.
도 27을 참고하면, 2701 단계에서 ISP(3130)는 제2 신경망 모델(1220)에 입력 영상을 입력할 수 있다. 제2 신경망 모델(1220)은, 입력 영상이 입력되었을 때 제2 신경망 모델(1220)이 추론하는 보정 파라미터와, 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델일 수 있다.
2702 단계에서 ISP(3130)는 제2 신경망 모델(1220)이 추론한 보정 파라미터를 획득하고, 2703 단계에서 ISP(3130)는 보정 파라미터를 입력 영상과 함께 제1 신경망 모델(1210)에 입력할 수 있다.
도 28은 사용자가 보정 파라미터를 조정하는 실시예를 설명하기 위한 도면이다. 도 28의 순서도는 도 28의 2801 단계에 포함되는 세부 단계들을 포함한다.
도 28을 참고하면, 2801 단계에서 ISP(3130)는 사용자 단말(3000)의 입출력 인터페이스(e.g. 터치 스크린, 마이크 등)를 통해 보정 파라미터를 조정하기 위한 입력을 수신할 수 있다. 2802 단계에서 ISP(3130)는 2801 단계에서 수신한 입력에 기초하여, 미리 설정된 제1 보정 파라미터를 제2 보정 파라미터로 변경할 수 있다. 2803 단계에서 ISP(3130)는 제2 보정 파라미터를 입력 영상과 함께 제1 신경망 모델(1210)에 입력할 수 있다.
사용자 단말(3000)의 화면에 표시된 UI를 통해 밝기 조절을 위한 보정 파라미터를 사용자가 조정하는 실시예를 도 30에 도시하였다.
도 30을 참고하면, 영상의 특성을 조절하기 위한 UI 화면(300)의 제1 영역(310)에는 보정의 대상이 되는 영상(미리 설정된 제1 보정 파라미터에 대응하는 추론 영상)이 표시되고, UI 화면(300)의 아래에는 영상의 특성을 조절하기 위한 툴(tool)이 표시될 수 있다.
도 30에 도시된 UI 화면(300)에서는 사용자가 영상의 밝기를 조절하기 위한 툴을 선택했다고 가정한다. UI 화면(300)의 제2 영역(320)에는 현재 조절되는 영상의 특성은 '밝기'라는 정보와, 현재 밝기의 정도를 수치로 표현한 값이 표시될 수 있다. UI 화면(300)의 제3 영역(330)에는 밝기를 조절하기 위한 슬라이더(slider)가 표시되고, 사용자는 터치 입력을 통해 슬라이더를 움직임으로써 입력 영상의 밝기를 조절할 수 있다.
사용자가 입력 영상의 밝기를 증가시키도록 도 30의 UI 화면(300)의 제3 영역(330)의 슬라이더를 움직였다면, 제2 영역(320)에 표시된 수치가 증가하고, ISP(3130)는 영상의 밝기가 증가하도록 제1 보정 파라미터를 제2 보정 파라미터로 조정할 수 있다.
사용자가 사용자 단말(3000)을 이용해 영상을 촬영하고 영상의 밝기를 조절하기 위한 툴을 선택하면, 처음에는 UI 화면(300)의 제1 영역(310)에 제2 신경망 모델(1220)이 추론한 보정 파라미터에 따라 입력 영상(e.g. 촬영 영상인 원시 영상으로부터 생성된 리니어 RGB 영상 등)이 보정된 영상이 표시될 수 있다. 사용자가 UI 화면(300)의 제2 영역(320) 및 제3 영역(330)에 표시된 툴을 통해 밝기를 조절하면, 그에 따라 보정 파라미터가 조정(e.g. 도 16에서와 같이 2배 증가)되고, 조정된 보정 파라미터에 따라 입력 영상이 보정된 영상이 제1 영역(310)에 표시될 수 있다.
앞서 설명한 바와 같이, 제1 신경망 모델(1210)은 보정 파라미터와 레이블 영상 간의 관계를 학습하므로, 보정 파라미터가 변경되면 변경된 보정 파라미터에 대응하는 레이블 영상을 추론할 수 있다. 도 29는 본 개시의 일 실시예에 따른 제1 신경망 모델에 입력되는 보정 파라미터가 변경되었을 때 추론 영상의 변화를 설명하기 위한 도면이다.
설명의 편의를 위해, 도 29에서 보정 파라미터(1610)는 밝기 조절과 관련된 파라미터만을 포함한다고 가정한다. 또한, 제1 신경망 모델(1210)은 밝기를 조절하는 영상 보정 알고리즘에 의해 생성된 레이블 영상을 이용하여 학습되었고, 학습 시 사용된 영상 보정 알고리즘은 보정 파라미터의 값이 클수록 밝기가 증가하도록 영상을 보정한다고 가정한다.
도 29에 도시된 실시예에서는 보정 파라미터(1610)가 2배로 증가하였다. 2배로 증가된 보정 파라미터(1610)에 대응하는 레이블 영상은, 기존의 보정 파라미터(1610)에 대응하는 레이블 영상에 비해 밝기가 증가한다. 따라서, 제1 신경망 모델(1210)에서 출력되는 추론 영상(162) 역시 보정 파라미터(1610)가 증가함에 따라 밝기가 증가하게 된다.
한편, 도 30에 도시된 실시예에서는 사용자가 UI 화면(300)을 터치함으로써 보정 파라미터를 조정하기 위한 입력을 인가하는 것으로 설명하였으나, 다른 실시예에 따르면 사용자는 음성 입력을 통해 보정 파라미터를 조정할 수도 있다. 예를 들어, 사용자는 사용자 단말(3000)에 구비된 스피커를 통해 영상의 특성 조절을 지시하는 음성(e.g. "하이 빅스비, 사진을 더 밝게 만들어줘.")을 입력할 수도 있다.
이하에서는 도 32 및 도 33을 참조하여 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 학습시키는 방법에 대해서 각각 설명한다. 이하에서는 설명의 편의를 위해 도 31의 컴퓨팅 장치(500)의 프로세서(530)가 도 32 및 도 33의 단계들을 수행하는 것으로 설명한다. 하지만, 이에 한정되지 않고 도 32 및 도 33의 단계들의 전부 또는 일부는 도 3의 사용자 단말(3000)의 메인 프로세서(3200)에 의해 수행될 수도 있다.
도 32를 참고하면, 3201 단계에서 프로세서(530)는 적어도 하나의 영상 보정 알고리즘에 보정 파라미터를 적용하여 입력 영상을 보정함으로써 레이블 영상을 생성할 수 있다.
3202 단계에서 프로세서(530)는 보정 파라미터 및 입력 영상을 제1 신경망 모델에 입력하고, 3203 단계에서 프로세서(530)는 제1 신경망 모델로부터 출력되는 추론 영상을 획득할 수 있다.
3204 단계에서 프로세서(530)는 레이블 영상과 추론 영상 간 차이가 최소가 되도록 제1 신경망 모델을 업데이트할 수 있다.
도 33을 참고하면, 프로세서(530)는 3301 단계에서 입력 영상을 제2 신경망 모델에 입력하고, 3302 단계에서 제2 신경망 모델로부터 출력되는 보정 파라미터를 획득할 수 있다.
3203 단계에서 프로세서(530)는 적어도 하나의 영상 보정 알고리즘에 보정 파라미터를 적용하여 입력 영상을 보정함으로써 레이블 영상을 생성할 수 있다.
프로세서(530)는, 3204 단계에서 레이블 영상의 영상 특성을 수치로 표현한 측정 특성값을 획득하고, 3205 단계에서 측정 특성값과 미리 설정된 목표 특성값 간 차이가 최소가 되도록 제2 신경망 모델을 업데이트할 수 있다.
이상 설명한 실시예들에 따른 신경망 모델들(1210, 1220)을 사용자 단말(3000) 등에 탑재한다면 영상 보정 모듈(3132)(도 1의 영상 보정 모듈(1200)에 대응)의 업데이트를 간편하게 수행할 수 있는 장점이 있다. 이하에서는 도 34 및 도 35를 참조하여 일 실시예에 따른 신경망 모델을 업데이트하는 방법에 대해서 설명한다.
도 34에는 도 3의 사용자 단말(3000)의 ISP(3130)에 포함된 영상 보정 모듈(3132)이 신경망 모델이 아닌 영상 보정 알고리즘들을 포함하도록 구현된 예를 도시하였다. 도 34를 참고하면, 영상 보정 모듈(3132)은 명암비 개선 알고리즘 A(3132a) 및 밝기 보정 알고리즘(3132b)을 포함하도록 구현되었다.
도 34에서는 영상 보정 모듈(3132)에 포함된 영상 보정 알고리즘들에 대한 업데이트가 수행된다고 가정한다. 업데이트의 내용은 다음과 같다.
1) 명암비 개선 알고리즘 A를 명암비 개선 알고리즘 B로 교체
2) 밝기 보정 알고리즘을 제거
3) 노출 융합 알고리즘을 추가
업데이트를 수행한 결과를 도 34의 우측에 도시하였다. 도 34를 참고하면, 영상 보정 모듈(3132)에서 명암비 개선 알고리즘 A(3132a)는 명암비 개선 알고리즘 B(3132c)로 교체되었고, 밝기 보정 알고리즘(3132b)은 제거되었으며, 노출 융합 알고리즘(3132d)이 추가되었다.
이와 같이 영상 보정 모듈(3132)이 영상 보정 알고리즘들을 포함하도록 구현된 상태에서 영상 보정 모듈(3132)에 대한 업데이트가 이루어질 경우 다음과 같은 문제점들이 존재한다.
첫 번째로 영상 보정 알고리즘에 대한 변경(교체, 제거, 추가 등)이 이루어질 때마다 처리 속도를 향상시키기 위한 최적화 작업이 필요하므로 시간과 리소스가 많이 필요하다.
두 번째로 일부 영상 보정 알고리즘의 경우 별도의 하드웨어로 구현되므로, 해당 영상 보정 알고리즘을 추가하기 위해서는 하드웨어를 교체하거나 추가해야 하는데, 특히 영상 보정 모듈(3132)이 사용자 단말(3000)상에 구현된 경우 하드웨어의 교체나 추가는 많은 제약이 따른다.
도 35에는 도 3의 사용자 단말(3000)의 ISP(3130)에 포함된 영상 보정 모듈(3132)이 본 개시의 실시예들에 따른 신경망 모델들(1210, 1220)을 포함하도록 구현되었을 때 영상 보정 모듈(3132)을 업데이트하는 실시예를 도시하였다.
도 35를 참고하면, 영상 보정 모듈(3132)에 포함된 제1 신경망 모델(1210)을 업데이트하기 위해서는 제1 신경망 모델(1210)에 대한 학습이 다시 수행되어야 한다. 앞서 설명한 바와 같이 제1 신경망 모델(1210)에 대한 학습은 도 31에 도시된 별도의 컴퓨팅 장치(500)에 의해 수행될 수도 있으므로, 이하에서는 컴퓨팅 장치(500)가 제1 신경망 모델(1210)에 대한 학습을 수행한다고 가정한다.
앞서 설명한 바와 같이 레이블 영상 생성 모듈(1810)은 제1 신경망 모델(1210)에 학습시키고자 하는 영상 보정 특성에 대응되는 영상 보정 알고리즘들로 구성될 수 있다. 도 35를 참고하면, 최초에 프로세서(530)는 레이블 영상 생성 모듈(1810)이 명암비 개선 알고리즘 A(3132a) 및 밝기 보정 알고리즘(3132b)을 포함하도록 구성하고, 제1 신경망 모델(1210)을 학습시킨 후 이를 사용자 단말(3000)의 영상 보정 모듈(3132)에 탑재하였다.
이후 사용자 단말(3000)의 영상 보정 모듈(3132)의 영상 보정 특성을 조정할 필요가 있는 경우, 프로세서(530)는 레이블 영상 생성 모듈(1810)이 명암비 개선 알고리즘 B(3132c) 및 노출 융합 알고리즘(3132d)를 포함하도록 새롭게 구성하고 다시 제1 신경망 모델(1210)을 학습시킬 수 있다. 제1 신경망 모델(1210)에 대한 학습이 완료되면 프로세서(530)는 새롭게 학습된 제1 신경망 모델(1210)을 사용자 단말(3000)에 전송하고, 사용자 단말(3000)은 수신한 제1 신경망 모델(1210)을 설치함으로써 영상 보정 모듈(3132)을 업데이트할 수 있다.
이와 같이 영상 보정 모듈(3132)이 본 개시의 실시예들에 따른 신경망 모델들(1210, 1220)을 포함하도록 구현된 경우, 영상 보정 모듈(3132)이 업데이트되더라도 최적화 작업을 수행할 필요가 없다. 또한, 일반적으로 신경망 모델들(1210, 1220)을 학습시키는 컴퓨팅 장치(500)는 충분한 하드웨어 리소스를 포함하고 있으므로, 새로운 학습을 위해 레이블 영상 생성 모듈(1810)에 포함되는 영상 보정 알고리즘들의 변경(교체, 삭제, 추가 등)을 자유롭게 할 수 있다.
본 개시의 일 실시예에 따른 신경망 모델을 이용한 영상 처리 방법은, 이미지 센서(100)를 통해 촬영된 영상을 획득하는 단계, 상기 영상의 촬영 환경(shooting context)을 확인하는 단계, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택하는 단계 및 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 촬영 환경은, 촬영 조건(shooting condition) 및 촬영 모드(shooting mode) 중 적어도 하나를 포함하며, 상기 촬영 조건은, 상기 영상의 ISO 값, 상기 영상이 촬영된 시간 및 장소 중 적어도 하나를 포함하고, 상기 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌 촬영 모드 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 이미지 센서(100)는, 서로 다른 종류의 복수의 이미지 센서들 중에서, 상기 촬영 조건 및 상기 촬영 모드 중 적어도 하나 이상에 기초하여 선택될 수 있다.
일 실시예에 따르면, 상기 신경망 모델을 선택하는 단계는, 상기 촬영 환경 및 상기 선택된 이미지 센서의 종류 중 적어도 하나 이상에 기초하여 상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계 및 상기 촬영 환경, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성 중 적어도 하나 이상에 기초하여, 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계는, 상기 촬영 모드 또는 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 1차적으로 세부 구성을 선택하는 단계 및 상기 촬영 조건에 기초하여, 상기 1차적으로 선택된 세부 구성을 유지하거나 변경하는 단계를 포함하며, 상기 촬영 모드 또는 상기 이미지 센서(100)의 종류에 대응되는 상기 영상 복원 모듈(1100)의 세부 구성이 미리 지정될 수 있다.
일 실시예에 따르면, 상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계는, 상기 촬영 조건에 포함된 ISO 값에 기초하여, 상기 영상 복원 모듈(1100)에 포함된 복수의 신경망 모델들 중 어느 하나를 선택할 수 있다.
일 실시예에 따르면, 상기 선택된 신경망 모델은, 디노이즈(denoise) 기능을 포함하며, 상기 ISO 값에 대응되는 노이즈를 포함하는 영상을 이용하여 학습된 신경망 모델일 수 있다.
일 실시예에 따르면, 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택하는 단계는, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성의 조합에 대응되는 신경망 모델을 선택할 수 있다.
일 실시예에 따르면, 상기 선택된 신경망 모델은, 상기 촬영 환경에 따라 영상 특성을 보정하도록 학습된 신경망 모델일 수 있다.
일 실시예에 따르면, 상기 영상 보정 모듈(1200)에 포함되는 신경망 모델은, 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 포함하며, 상기 제1 신경망 모델(1210)은, 상기 제1 신경망 모델(1210)에 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며, 상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제1 신경망 모델(1210)에 입력되는 보정 파라미터는 상기 제2 신경망 모델(1220)에 상기 입력 영상이 입력되었을 때 추론되는 보정 파라미터이며, 상기 제2 신경망 모델(1220)은, 상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델(1220)이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델일 수 있다.
본 개시의 일 실시예에 따른 신경망 모델을 이용하여 영상 신호를 처리하기 위한 컴퓨팅 장치는, 영상 신호를 처리하기 위한 프로그램이 저장되는 메모리 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 상기 프로그램을 실행함으로써, 이미지 센서(100)를 통해 촬영된 영상을 획득하고, 상기 영상의 촬영 환경(shooting context)을 확인하고, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택한 후, 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리할 수 있다.
일 실시예에 따르면, 상기 촬영 환경은, 촬영 조건(shooting condition) 및 촬영 모드(shooting mode) 중 적어도 하나를 포함하며, 상기 촬영 조건은, 상기 영상의 ISO 값, 상기 영상이 촬영된 시간 및 장소 중 적어도 하나를 포함하고, 상기 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌 촬영 모드 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 이미지 센서(100)는, 서로 다른 종류의 복수의 이미지 센서(100)들 중에서, 상기 촬영 조건 및 상기 촬영 모드 중 적어도 하나 이상에 기초하여 선택될 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 신경망 모델을 선택함에 있어서, 상기 촬영 환경 및 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 상기 영상 복원 모듈(1100)의 세부 구성을 선택한 후, 상기 촬영 환경, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성 중 적어도 하나 이상에 기초하여, 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택할 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 영상 복원 모듈(1100)의 세부 구성을 선택함에 있어서, 상기 촬영 모드 또는 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 1차적으로 세부 구성을 선택한 후, 상기 촬영 조건에 기초하여 상기 1차적으로 선택된 세부 구성을 유지하거나 변경하며, 상기 촬영 모드 또는 상기 이미지 센서(100)의 종류에 대응되는 상기 영상 복원 모듈(1100)의 세부 구성이 미리 지정될 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 영상 복원 모듈(1100)의 세부 구성을 선택함에 있어서, 상기 촬영 조건에 포함된 ISO 값에 기초하여, 상기 영상 복원 모듈(1100)에 포함된 복수의 신경망 모델들 중 어느 하나를 선택할 수 있다.
일 실시예에 따르면, 상기 선택된 신경망 모델은, 디노이즈(denoise) 기능을 포함하며, 상기 ISO 값에 대응되는 노이즈를 포함하는 영상을 이용하여 학습된 신경망 모델일 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택함에 있어서, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성의 조합에 대응되는 신경망 모델을 선택할 수 있다.
일 실시예에 따르면, 상기 선택된 신경망 모델은, 상기 촬영 환경에 따라 영상 특성을 보정하도록 학습된 신경망 모델일 수 있다.
일 실시예에 따르면, 상기 영상 보정 모듈(1200)에 포함되는 신경망 모델은, 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 포함하며, 상기 제1 신경망 모델(1210)은, 상기 제1 신경망 모델(1210)에 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며, 상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제1 신경망 모델(1210)에 입력되는 보정 파라미터는 상기 제2 신경망 모델(1220)에 상기 입력 영상이 입력되었을 때 추론되는 보정 파라미터이며, 상기 제2 신경망 모델(1220)은, 상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델(1220)이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델일 수 있다.
본 개시의 다양한 실시예들은 하나 이상의 컴퓨터 프로그램들에 의해 구현 또는 지원될 수 있고, 컴퓨터 프로그램들은 컴퓨터 판독 가능한 프로그램 코드(code)로부터 형성되고, 컴퓨터로 판독 가능한 매체에 수록될 수 있다. 본 개시에서, "애플리케이션(application)" 및 "프로그램(program)"은 컴퓨터 판독 가능한 프로그램 코드에서의 구현에 적합한 하나 이상의 컴퓨터 프로그램, 소프트웨어 컴포넌트, 명령어 세트, 프로시저(procedure), 함수, 개체(object), 클래스, 인스턴스, 관련 데이터, 또는 그것의 일부를 나타낼 수 있다. "컴퓨터 판독 가능한 프로그램 코드"는, 소스 코드, 목적 코드, 및 실행 가능한 코드를 포함하는 다양한 유형의 컴퓨터 코드를 포함할 수 있다. "컴퓨터 판독 가능한 매체"는, ROM(read only memory), RAM(random access memory), 하드 디스크 드라이브(HDD), CD(compact disc), DVD(digital video disc), 또는 다양한 유형의 메모리와 같이, 컴퓨터에 의해 액세스(access)될 수 있는 다양한 유형의 매체를 포함할 수 있다.
또한, 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장 매체'는 실재(tangible)하는 장치이고, 일시적인 전기적 또는 다른 신호들을 전송하는 유선, 무선, 광학적, 또는 다른 통신 링크들을 배제할 수 있다. 한편, 이 '비일시적 저장 매체'는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예를 들어, '비일시적 저장 매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다. 컴퓨터 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 컴퓨터 판독 가능한 매체는, 데이터가 영구적으로 저장될 수 있는 매체와 데이터가 저장되고 나중에 덮어쓰기 될 수 있는 매체, 이를테면 재기입 가능한 광 디스크 또는 소거 가능한 메모리 디바이스를 포함한다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예를 들어, compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두 개의 사용자 장치들(예를 들어, 스마트폰) 간에 직접, 온라인으로 배포(예를 들어, 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예를 들어, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 으로 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 영상 처리 방법에 있어서,
    이미지 센서(100)를 통해 촬영된 영상을 획득하는 단계;
    상기 영상의 촬영 환경(shooting context)을 확인하는 단계;
    상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택하는 단계; 및
    상기 선택된 신경망 모델을 이용하여 상기 영상을 처리하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 촬영 환경은, 촬영 조건(shooting condition) 및 촬영 모드(shooting mode) 중 적어도 하나를 포함하며,
    상기 촬영 조건은, 상기 영상의 ISO 값, 상기 영상이 촬영된 시간 및 장소 중 적어도 하나를 포함하고,
    상기 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌 촬영 모드 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 및 제2항 중 어느 하나의 항에 있어서,
    상기 이미지 센서(100)는,
    서로 다른 종류의 복수의 이미지 센서들 중에서, 상기 촬영 조건 및 상기 촬영 모드 중 적어도 하나 이상에 기초하여 선택되는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 하나의 항에 있어서,
    상기 신경망 모델을 선택하는 단계는,
    상기 촬영 환경 및 상기 선택된 이미지 센서의 종류 중 적어도 하나 이상에 기초하여 상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계; 및
    상기 촬영 환경, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성 중 적어도 하나 이상에 기초하여, 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항 내지 제4항 중 어느 하나의 항에 있어서,
    상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계는,
    상기 촬영 모드 또는 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 1차적으로 세부 구성을 선택하는 단계; 및
    상기 촬영 조건에 기초하여, 상기 1차적으로 선택된 세부 구성을 유지하거나 변경하는 단계를 포함하며,
    상기 촬영 모드 또는 상기 이미지 센서(100)의 종류에 대응되는 상기 영상 복원 모듈(1100)의 세부 구성이 미리 지정되는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 하나의 항에 있어서,
    상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계는,
    상기 촬영 조건에 포함된 ISO 값에 기초하여, 상기 영상 복원 모듈(1100)에 포함된 복수의 신경망 모델들 중 어느 하나를 선택하는 것을 특징으로 하는 방법.
  7. 제1항 내지 제6항 중 어느 하나의 항에 있어서,
    상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택하는 단계는,
    상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성의 조합에 대응되는 신경망 모델을 선택하는 것을 특징으로 하는 방법.
  8. 제1항 내지 제7항 중 어느 하나의 항에 있어서,
    상기 영상 보정 모듈(1200)에 포함되는 신경망 모델은,
    제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 포함하며,
    상기 제1 신경망 모델(1210)은, 상기 제1 신경망 모델(1210)에 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며,
    상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고,
    상기 제1 신경망 모델(1210)에 입력되는 보정 파라미터는 상기 제2 신경망 모델(1220)에 상기 입력 영상이 입력되었을 때 추론되는 보정 파라미터이며,
    상기 제2 신경망 모델(1220)은, 상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델(1220)이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델인 것을 특징으로 하는 방법.
  9. 신경망 모델을 이용하여 영상 신호를 처리하기 위한 컴퓨팅 장치에 있어서,
    영상 신호를 처리하기 위한 프로그램이 저장되는 메모리; 및
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는 상기 프로그램을 실행함으로써,
    이미지 센서(100)를 통해 촬영된 영상을 획득하고, 상기 영상의 촬영 환경(shooting context)을 확인하고, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택한 후, 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리하는, 컴퓨팅 장치.
  10. 제9항에 있어서,
    상기 촬영 환경은, 촬영 조건(shooting condition) 및 촬영 모드(shooting mode) 중 적어도 하나를 포함하며,
    상기 촬영 조건은, 상기 영상의 ISO 값, 상기 영상이 촬영된 시간 및 장소 중 적어도 하나를 포함하고,
    상기 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌 촬영 모드 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  11. 제9항 및 제10항 중 어느 하나의 항에 있어서,
    상기 이미지 센서(100)는,
    서로 다른 종류의 복수의 이미지 센서(100)들 중에서, 상기 촬영 조건 및 상기 촬영 모드 중 적어도 하나 이상에 기초하여 선택되는 것을 특징으로 하는 컴퓨팅 장치.
  12. 제9항 내지 제11항 중 어느 하나의 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 신경망 모델을 선택함에 있어서,
    상기 촬영 환경 및 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 상기 영상 복원 모듈(1100)의 세부 구성을 선택한 후,
    상기 촬영 환경, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성 중 적어도 하나 이상에 기초하여, 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택하는 것을 특징으로 하는 컴퓨팅 장치.
  13. 제9항 내지 제12항 중 어느 하나의 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 영상 복원 모듈(1100)의 세부 구성을 선택함에 있어서,
    상기 촬영 모드 또는 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 1차적으로 세부 구성을 선택한 후,
    상기 촬영 조건에 기초하여 상기 1차적으로 선택된 세부 구성을 유지하거나 변경하며,
    상기 촬영 모드 또는 상기 이미지 센서(100)의 종류에 대응되는 상기 영상 복원 모듈(1100)의 세부 구성이 미리 지정되는 것을 특징으로 하는 컴퓨팅 장치.
  14. 제9항 내지 제13항 중 어느 하나의 항에 있어서,
    상기 영상 보정 모듈(1200)에 포함되는 신경망 모델은,
    제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 포함하며,
    상기 제1 신경망 모델(1210)은, 상기 제1 신경망 모델(1210)에 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며,
    상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고,
    상기 제1 신경망 모델(1210)에 입력되는 보정 파라미터는 상기 제2 신경망 모델(1220)에 상기 입력 영상이 입력되었을 때 추론되는 보정 파라미터이며,
    상기 제2 신경망 모델(1220)은, 상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델(1220)이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델인 것을 특징으로 하는 컴퓨팅 장치.
  15. 제1항 내지 제8항 중 어느 한 항의 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2023/007376 2022-05-30 2023-05-30 신경망 모델을 이용한 영상 신호 처리 방법 및 이를 수행하기 위한 컴퓨팅 장치 WO2023234674A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/224,756 US20230386193A1 (en) 2022-05-30 2023-07-21 Image signal processing method using neural network model and computing apparatus for performing the same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0066331 2022-05-30
KR20220066331 2022-05-30
KR10-2023-0007457 2023-01-18
KR1020230007457A KR20230166870A (ko) 2022-05-30 2023-01-18 신경망 모델을 이용한 영상 신호 처리 방법 및 이를 수행하기 위한 컴퓨팅 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/224,756 Continuation US20230386193A1 (en) 2022-05-30 2023-07-21 Image signal processing method using neural network model and computing apparatus for performing the same

Publications (1)

Publication Number Publication Date
WO2023234674A1 true WO2023234674A1 (ko) 2023-12-07

Family

ID=89025342

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/007376 WO2023234674A1 (ko) 2022-05-30 2023-05-30 신경망 모델을 이용한 영상 신호 처리 방법 및 이를 수행하기 위한 컴퓨팅 장치

Country Status (1)

Country Link
WO (1) WO2023234674A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190099914A (ko) * 2018-02-20 2019-08-28 삼성전자주식회사 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
KR20210054907A (ko) * 2019-11-06 2021-05-14 엘지전자 주식회사 이미지 보정방법 및 보정장치
KR20210079282A (ko) * 2018-09-13 2021-06-29 스펙트럼 옵틱스 아이엔씨. 신경망을 이용한 사진 노출 부족 보정
JP2022514580A (ja) * 2018-12-18 2022-02-14 ライカ マイクロシステムズ シーエムエス ゲゼルシャフト ミット ベシュレンクテル ハフツング 機械学習による光学補正
US20220070369A1 (en) * 2020-08-28 2022-03-03 Spectrum Optix Inc. Camera Image Or Video Processing Pipelines With Neural Embedding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190099914A (ko) * 2018-02-20 2019-08-28 삼성전자주식회사 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
KR20210079282A (ko) * 2018-09-13 2021-06-29 스펙트럼 옵틱스 아이엔씨. 신경망을 이용한 사진 노출 부족 보정
JP2022514580A (ja) * 2018-12-18 2022-02-14 ライカ マイクロシステムズ シーエムエス ゲゼルシャフト ミット ベシュレンクテル ハフツング 機械学習による光学補正
KR20210054907A (ko) * 2019-11-06 2021-05-14 엘지전자 주식회사 이미지 보정방법 및 보정장치
US20220070369A1 (en) * 2020-08-28 2022-03-03 Spectrum Optix Inc. Camera Image Or Video Processing Pipelines With Neural Embedding

Similar Documents

Publication Publication Date Title
WO2016182307A1 (ko) 메타데이터에 기초한 영상 처리 장치 및 영상 처리 방법
WO2016013902A1 (en) Image photographing apparatus and image photographing method
WO2020050499A1 (ko) 객체 정보 획득 방법 및 이를 수행하는 장치
WO2015141925A1 (en) Photographing apparatus, method of controlling the same, and computer-readable recording medium
WO2016056787A1 (en) Display device and method of controlling the same
WO2020050686A1 (en) Image processing device and method
WO2012086966A2 (ko) 무선통신장치를 이용하여 양질의 홍채 및 피사체 영상을 편리하게 촬영하기 위한 방법 및 한 개의 밴드패스필터로 가시광선과 근적외선 일부영역을 투과시키는 카메라 장치
WO2021230708A1 (en) Image processing method, electronic device and readable storage medium
WO2021107406A1 (en) Electronic device, control method thereof, and system
WO2019168332A1 (ko) 신호 처리 장치 및 이를 구비하는 영상표시장치
WO2021162359A1 (en) Image processing method and electronic apparatus
WO2019017641A1 (ko) 전자 장치 및 전자 장치의 이미지 압축 방법
WO2020149619A1 (ko) 비디오 월
WO2020145659A1 (en) Signal processing device and image display apparatus including the same
WO2020054949A1 (en) Electronic device and method for capturing view
WO2020139018A2 (en) Signal processing device and image display apparatus including the same
WO2022025423A1 (en) Video quality assessing method and apparatus
WO2020017936A1 (ko) 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법
WO2016017906A1 (ko) 디스플레이 장치, 디스플레이 보정 장치, 디스플레이 보정 시스템 및 디스플레이 보정 방법
WO2019031676A1 (ko) 이미지 처리 방법 및 그에 따른 장치
WO2021158058A1 (en) Method for providing filter and electronic device supporting the same
WO2017014404A1 (en) Digital photographing apparatus and digital photographing method
WO2023234674A1 (ko) 신경망 모델을 이용한 영상 신호 처리 방법 및 이를 수행하기 위한 컴퓨팅 장치
WO2020139017A1 (en) Image display apparatus
WO2021132889A1 (en) Electronic device and control method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23816335

Country of ref document: EP

Kind code of ref document: A1