KR20230166870A - Image signal processing method using neural network, and computing appratus for performing the same - Google Patents
Image signal processing method using neural network, and computing appratus for performing the same Download PDFInfo
- Publication number
- KR20230166870A KR20230166870A KR1020230007457A KR20230007457A KR20230166870A KR 20230166870 A KR20230166870 A KR 20230166870A KR 1020230007457 A KR1020230007457 A KR 1020230007457A KR 20230007457 A KR20230007457 A KR 20230007457A KR 20230166870 A KR20230166870 A KR 20230166870A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- neural network
- network model
- correction
- module
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 6
- 238000013528 artificial neural network Methods 0.000 title description 16
- 238000003062 neural network model Methods 0.000 claims abstract description 384
- 238000003702 image correction Methods 0.000 claims abstract description 167
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000012937 correction Methods 0.000 claims description 215
- 238000004422 calculation algorithm Methods 0.000 claims description 96
- 238000000034 method Methods 0.000 claims description 91
- 230000008569 process Effects 0.000 claims description 39
- 230000006870 function Effects 0.000 claims description 30
- 238000010586 diagram Methods 0.000 description 49
- 230000004927 fusion Effects 0.000 description 22
- 230000006872 improvement Effects 0.000 description 18
- 238000012549 training Methods 0.000 description 18
- 230000008859 change Effects 0.000 description 14
- 238000004590 computer program Methods 0.000 description 12
- 238000004088 simulation Methods 0.000 description 11
- 238000005259 measurement Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000003442 weekly effect Effects 0.000 description 2
- 101100248200 Arabidopsis thaliana RGGB gene Proteins 0.000 description 1
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000003705 background correction Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/95—Computational photography systems, e.g. light-field imaging systems
- H04N23/951—Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06T5/002—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/45—Cameras 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/50—Constructional details
- H04N23/54—Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/667—Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/69—Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Image Processing (AREA)
Abstract
본 개시의 일 실시예에 따른 신경망 모델을 이용한 영상 처리 방법은, 이미지 센서를 통해 촬영된 영상을 획득하는 단계, 상기 영상의 촬영 환경(shooting context)을 확인하는 단계, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module) 및 영상 보정 모듈(image correction module) 중 적어도 하나에 포함되는 신경망 모델을 선택하는 단계 및 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리하는 단계를 포함할 수 있다.An image processing method using a neural network model according to an embodiment of the present disclosure includes the steps of acquiring an image captured through an image sensor, confirming a shooting environment (shooting context) of the image, and restoring the image according to the shooting environment. It may include selecting a neural network model included in at least one of an image reconstruction module and an image correction module, and processing the image using the selected neural network model.
Description
본 개시는 신경망 모델을 이용한 영상 신호 처리 방법 및 이를 수행하기 위한 컴퓨팅 장치에 관한 것이며, 자세하게는 영상이 촬영된 환경(context)에 따라서 신경망 모델을 선택하고, 선택된 신경망 모델을 이용하여 촬영된 영상을 복원 및 보정하는 방법에 관한 것이다.The present disclosure relates to an image signal processing method using a neural network model and a computing device for performing the same. In detail, a neural network model is selected according to the context in which the image was captured, and the image captured using the selected neural network model is captured. It is about restoration and correction methods.
최근 신경망 기술의 발전으로 인해 다양한 분야에서 신경망이 활용되고 있다. 특히 영상의 보정이나 복원 등을 수행하기 위한 영상 신호 처리 분야에서도 신경망을 활용함으로써 처리 속도 및 영상 특성을 향상시킬 수 있다. 예를 들어, 스마트폰과 같은 모바일 단말에는 구비된 카메라로 촬영한 영상을 보정하기 위한 프로그램이 설치되는데, 기존의 영상 보정 알고리즘들을 포함하도록 구현된 프로그램을 신경망으로 대체할 수 있다면 다양한 측면에서 장점을 기대할 수 있을 것이다.Due to recent developments in neural network technology, neural networks are being used in various fields. In particular, processing speed and image characteristics can be improved by utilizing neural networks in the field of image signal processing to perform image correction or restoration. For example, in mobile terminals such as smartphones, a program is installed to correct images taken with an equipped camera. If a program implemented to include existing image correction algorithms can be replaced with a neural network, there are advantages in various aspects. You can expect it.
한편, 촬영이 수행되는 환경(context)에 따라서 촬영된 영상의 품질은 영향을 받을 수 있다. 예를 들어, 야간에 촬영된 영상은 노이즈가 많고, 줌(zoom) 모드로 촬영된 영상은 확대로 인해 색상이나 엣지(edge)가 명확하게 드러나지 않을 수 있다.Meanwhile, the quality of the captured image may be affected depending on the context in which the shooting is performed. For example, images captured at night have a lot of noise, and images captured in zoom mode may not show colors or edges clearly due to magnification.
신경망 모델은 미리 설정된 방향으로 영상의 특성을 보정하도록 학습된 상태이므로, 고정된 신경망 모델을 이용한다면 모든 환경에 대해서 좋은 영상 품질을 보장할 수는 없을 것이다.Since the neural network model is trained to correct the image characteristics in a preset direction, good image quality cannot be guaranteed in all environments if a fixed neural network model is used.
기술적 과제를 달성하기 위한 기술적 수단으로 개시된, 신경망 모델을 이용한 영상 처리 방법은, 이미지 센서(100)를 통해 촬영된 영상을 획득하는 단계, 상기 영상의 촬영 환경(shooting context)을 확인하는 단계, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택하는 단계 및 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리하는 단계를 포함할 수 있다.An image processing method using a neural network model, which was disclosed as a technical means for achieving a technical task, includes the steps of acquiring an image captured through an
기술적 과제를 달성하기 위한 기술적 수단으로 개시된, 신경망 모델을 이용하여 영상 신호를 처리하기 위한 컴퓨팅 장치는, 영상 신호를 처리하기 위한 프로그램이 저장되는 메모리 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 상기 프로그램을 실행함으로써, 이미지 센서(100)를 통해 촬영된 영상을 획득하고, 상기 영상의 촬영 환경(shooting context)을 확인하고, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택한 후, 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리할 수 있다.Disclosed as a technical means for achieving a technical problem, a computing device for processing an image signal using a neural network model includes a memory storing a program for processing an image signal and at least one processor, and the at least one By executing the program, the processor acquires an image captured through the
기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 컴퓨터로 읽을 수 있는 기록매체는, 개시된 방법의 실시예들 중에서 적어도 하나를 컴퓨터에서 실행시키기 위한 프로그램이 저장된 것일 수 있다.A computer-readable recording medium disclosed as a technical means for achieving a technical problem may store a program for executing at least one of the embodiments of the disclosed method on a computer.
기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 컴퓨터 프로그램은, 개시된 방법의 실시예들 중에서 적어도 하나를 컴퓨터에서 수행하기 위해 매체에 저장된 것일 수 있다.A computer program disclosed as a technical means for achieving a technical problem may be stored in a medium for performing at least one of the embodiments of the disclosed method on a computer.
도 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는 본 개시의 일 실시예에 따른 신경망 모델을 업데이트하는 방법을 설명하기 위한 도면들이다.FIG. 1 is a diagram illustrating the configuration of an image signal processing module (ISP) using a neural network model, according to an embodiment of the present disclosure.
FIG. 2 is a diagram illustrating a specific example of an image signal processing module (ISP) using a neural network model, according to an embodiment of the present disclosure.
FIG. 3 is a diagram illustrating the configuration of a user terminal that performs image signal processing using a neural network model, according to an embodiment of the present disclosure.
FIG. 4 is a diagram illustrating an example in which a cloud server corrects an image received from a user terminal using an ISP, according to an embodiment of the present disclosure.
FIG. 5 is a diagram illustrating a method of selecting a neural network model included in an image restoration module based on a shooting environment, according to an embodiment of the present disclosure.
FIG. 6 is a diagram illustrating a method of training a neural network model included in an image restoration module according to an embodiment of the present disclosure.
FIG. 7 is a diagram illustrating a method of selecting a neural network model of an image correction module according to an image restoration module, according to an embodiment of the present disclosure.
8 to 10 are diagrams for explaining a method of selecting an image sensor, an image restoration module, and an image correction module according to a shooting environment according to embodiments of the present disclosure.
11 to 14 are flowcharts for explaining a method of processing an image signal using a neural network model according to embodiments of the present disclosure.
FIG. 15 is a diagram illustrating a method of changing the combination of an image sensor, an image restoration module, and an image correction module according to the type of an object recognized in an image, according to an embodiment of the present disclosure.
FIG. 16 is a diagram for explaining the operation of a first neural network model according to an embodiment of the present disclosure.
FIG. 17 is a diagram for explaining the operation of a second neural network model according to an embodiment of the present disclosure.
Figure 18 is a diagram for explaining a process of learning a first neural network model according to an embodiment of the present disclosure.
Figure 19 is a diagram for explaining a process of learning a second neural network model according to an embodiment of the present disclosure.
FIG. 20 is a diagram illustrating a process in which a label image generation module generates a label image from an input image according to an embodiment of the present disclosure.
Figure 21 is a diagram for explaining the strength value applied to the contrast ratio improvement algorithm according to an embodiment of the present disclosure.
FIG. 22 is a diagram for explaining gamma values applied to a brightness correction algorithm according to an embodiment of the present disclosure.
Figure 23 is a diagram for explaining the α value applied to the exposure fusion algorithm according to an embodiment of the present disclosure.
FIG. 24 is a diagram illustrating a method of applying a correction parameter as an input to a first neural network model, according to an embodiment of the present disclosure.
FIG. 25 is a diagram illustrating a specific example in which neural network models according to an embodiment of the present disclosure are included in an image correction module.
26 to 28 are flowcharts for explaining a method of correcting an image using a neural network model according to embodiments of the present disclosure.
FIG. 29 is a diagram illustrating a change in an inferred image when a correction parameter input to a first neural network model is changed according to an embodiment of the present disclosure.
FIG. 30 is a diagram illustrating a situation in which a user adjusts correction parameters for brightness adjustment through a UI displayed on the screen of a mobile terminal, according to an embodiment of the present disclosure.
FIG. 31 is a block diagram illustrating the configuration of a computing device for performing learning on neural network models, according to an embodiment of the present disclosure.
Figures 32 and 33 are flow charts for explaining a method of training a first neural network model and a second neural network model, respectively, according to embodiments of the present disclosure.
Figures 34 and 35 are diagrams for explaining a method of updating a neural network model according to an embodiment of the present disclosure.
본 개시를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the present disclosure, description of technical content that is well known in the technical field to which the present disclosure belongs and that is not directly related to the present disclosure will be omitted. This is to convey the gist of the present disclosure more clearly without obscuring it by omitting unnecessary explanation. In addition, the terms described below are terms defined in consideration of the functions in the present disclosure, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification.
마찬가지 이유로 첨부된 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시 되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성 요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components are exaggerated, omitted, or schematically shown in the attached drawings. Additionally, the size of each component does not entirely reflect its actual size. In each drawing, identical or corresponding components are assigned the same reference numbers.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 개시된 실시예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 개시의 일 실시예는 청구범위에 따라 정의될 수 있다. 명세서 전체에 걸쳐 동일한 참조 부호는 동일한 구성 요소를 나타낸다. 또한, 본 개시의 일 실시예를 설명함에 있어서 관련된 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.The advantages and features of the present disclosure and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms. The disclosed embodiments are provided to ensure that the disclosure is complete and to fully inform those skilled in the art of the disclosure of the scope of the disclosure. One embodiment of the present disclosure may be defined according to the claims. Like reference numerals refer to like elements throughout the specification. Additionally, when describing an embodiment of the present disclosure, if it is determined that a detailed description of a related function or configuration may unnecessarily obscure the gist of the present disclosure, the detailed description will be omitted. In addition, the terms described below are terms defined in consideration of the functions in the present disclosure, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification.
일 실시예에서, 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있다. 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있고, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성할 수 있다. 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하고, 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하다.In one embodiment, each block of the flow diagram diagrams and combinations of the flow diagram diagrams may be performed by computer program instructions. Computer program instructions may be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, and the instructions performed through the processor of the computer or other programmable data processing equipment may perform the functions described in the flowchart block(s). You can create the means to carry them out. The computer program instructions may also be stored in a computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular way. The instructions may also produce manufactured items containing instruction means that perform the functions described in the flow diagram block(s). Computer program instructions may also be mounted on a computer or other programmable data processing equipment.
또한, 흐름도 도면의 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 일 실시예에서, 블록들에 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다. 예를 들면, 잇달아 도시되어 있는 두 개의 블록들은 실질적으로 동시에 수행되는 것도 가능하고 또는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block in a flowchart diagram may represent a module, segment, or portion of code containing one or more executable instructions for executing specified logical function(s). In one embodiment, it is possible for functions mentioned in blocks to occur out of order. For example, two blocks shown in succession may be performed substantially simultaneously or may be performed in reverse order depending on their functions.
본 개시의 일 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 나타낼 수 있고, '~부'는 특정한 역할을 수행할 수 있다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 일 실시예에서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 특정한 구성요소나 특정한 '~부'를 통해 제공되는 기능은 그 개수를 줄이도록 결합되거나 추가적인 구성요소들로 분리될 수 있다. 또한, 일 실시예에서 ‘~부’는 하나 이상의 프로세서를 포함할 수 있다.The term '~unit' used in an embodiment of the present disclosure may refer to software or hardware components such as FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit), and '~unit' refers to a specific role. can be performed. Meanwhile, '~ part' is not limited to software or hardware. The '~ part' may be configured to reside in an addressable storage medium and may be configured to reproduce on one or more processors. In one embodiment, '~ part' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, May include subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. Functions provided through specific components or specific '~parts' can be combined to reduce their number or separated into additional components. Additionally, in one embodiment, ‘˜part’ may include one or more processors.
본 개시의 실시예들은 신경망 모델을 이용하여 영상 신호를 처리하는 방법에 관한 것이다. 구체적인 실시예들을 설명하기에 앞서 본 명세서에서 자주 사용되는 용어들의 의미를 정의한다.Embodiments of the present disclosure relate to a method of processing image signals using a neural network model. Before describing specific embodiments, the meaning of terms frequently used in this specification are defined.
'촬영 환경(shooting context)'이란 영상 촬영에 영향을 미치는 다양한 요소들 또는 영상 촬영과 관련된 제반사항을 의미하며, 특히 촬영되는 영상의 품질이나 특성에 영향을 미치는 요소들을 의미할 수 있다. '촬영 환경'은 '촬영 조건(shooting condition)' 및 '촬영 모드(shooting mode)'를 포함할 수 있으며, 각각의 의미는 다음과 같다.‘Shooting context’ refers to various factors that affect video shooting or all matters related to video shooting, and can especially refer to factors that affect the quality or characteristics of the video being shot. ‘Shooting environment’ may include ‘shooting conditions’ and ‘shooting mode’, and their respective meanings are as follows.
'촬영 조건'은 영상이 촬영되는 조건으로서, 촬영 시간(e.g. 주간 또는 야간), 촬영 장소(e.g. 실내 또는 실외) 및 ISO (film speed) 중 적어도 하나를 포함할 수 있다.'Shooting conditions' are conditions under which an image is shot, and may include at least one of shooting time (e.g. daytime or night), shooting location (e.g. indoors or outdoors), and ISO (film speed).
'촬영 모드'는 영상을 촬영하는 모드를 의미하며, 예를 들어 카메라와 같은 촬영 장치에서 설정되는 것일 수 있다. 일 실시예에 따르면, 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌(zoom) 촬영 모드 등을 포함할 수 있다.'Shooting mode' refers to a mode for shooting images, and may be set in a shooting device such as a camera, for example. According to one embodiment, the shooting mode may include a normal shooting mode, a night shooting mode, and a zoom shooting mode.
'ISP (Image Signal Processing)'란 디지털 영상 신호를 처리하는 동작을 의미하는데, 본 개시에서는 ISP를 수행하는 모듈을 'ISP'라고 정의한다.'ISP (Image Signal Processing)' refers to the operation of processing digital image signals. In this disclosure, the module that performs ISP is defined as 'ISP'.
'영상 복원(image reconstruction)'이란 센서에서 추출된 베이어 패턴(RGGB, GBRG, BGGR, GRBG)의 영상을 RGB 패턴으로 디모자이크(demosaic)하는 과정을 의미한다. 디모자이크하는 과정에서, 영상에 포함된 일부 픽셀 값을 보간(interpolation)하거나 노이즈를 제거함으로써 영상의 품질을 향상시키는 동작을 포함할 수 있다.‘Image reconstruction’ refers to the process of demosaicing the image of the Bayer pattern (RGGB, GBRG, BGGR, GRBG) extracted from the sensor into an RGB pattern. The demosaicing process may include an operation to improve the quality of the image by interpolating some pixel values included in the image or removing noise.
'영상 보정(image correction)'이란 영상 특성을 조절(adjust)하는 동작을 의미하고, '영상 특성(image characteristic)'이란 영상의 밝기(brightness), 명암비(contrast), 색온도(color temperature) 등을 의미한다. 또한, '영상 보정 알고리즘'이란 영상의 특성을 조절하기 위한 알고리즘을 의미한다. ‘Image correction’ refers to the operation of adjusting image characteristics, and ‘image characteristic’ refers to the brightness, contrast, and color temperature of the image. it means. Additionally, ‘image correction algorithm’ refers to an algorithm for controlling the characteristics of an image.
'보정 파라미터(correction parameter)'란 영상 보정 알고리즘을 이용하여 영상 보정 시 영상 보정 알고리즘에 적용되는 파라미터를 의미한다. 즉, 보정 파라미터의 값에 따라서 영상의 특성이 조절되는 정도가 결정될 수 있다. 보정 파라미터의 구체적인 예시들은 아래에서 설명하기로 한다.‘Correction parameter’ refers to a parameter applied to an image correction algorithm when correcting an image using an image correction algorithm. In other words, the degree to which image characteristics are adjusted can be determined according to the value of the correction parameter. Specific examples of correction parameters will be described below.
'레이블 영상(label image)'이란 본 개시의 실시예들에 따른 신경망 모델에 대한 지도학습(supervised learning)을 수행하기 위한 훈련용 데이터(training data)로서 사용되는 영상이며, 특히 그라운드 트루스 데이터(ground truth data)로 사용되는 영상을 의미한다. '레이블 영상 생성 모듈'은 적어도 하나 이상의 영상 보정 알고리즘을 이용하여 입력 영상을 보정함으로써 레이블 영상을 생성하는 구성이다.A ‘label image’ is an image used as training data to perform supervised learning on a neural network model according to embodiments of the present disclosure, and in particular, ground truth data (ground truth data). This refers to the image used as truth data. The 'label image generation module' is a component that generates a label image by correcting an input image using at least one image correction algorithm.
이하에서는 도면들을 참조하여 본 개시의 실시예들에 대해서 자세히 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.
도 1은 본 개시의 일 실시예에 따른, 신경망 모델을 이용한 영상 신호 처리 모듈(ISP)의 구성을 도시한 도면이다. 도 1을 참고하면, 일 실시예에 따른 ISP(1000)는 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200)을 포함할 수 있다. 이때, 영상 복원 모듈(1100) 및 영상 보정 모듈(1200)은 영상 처리를 수행하는 컴퓨팅 장치의 프로세서에 의해서, 메모리에 저장된 프로그램을 실행함으로써 구현되는 구성들이다. 영상 처리를 수행하는 컴퓨팅 장치는 스마트폰, 디지털 카메라 등과 같이 촬영 기능과 연산 처리 기능을 갖는 장치일 수 있으며, 촬영 기능을 구비하지 않더라도 이미지 파일이나 동영상 파일을 수신하여 영상 신호 처리 프로세스를 수행할 수 있는 다양한 형태의 장치(e.g. 노트북, 클라우드 서버)가 될 수도 있다. 본 개시의 실시예들에 따른 영상 처리를 수행하는 컴퓨팅 장치의 구성에 대해서는 아래에서 도 3을 참조하여 자세히 설명한다.FIG. 1 is a diagram illustrating the configuration of an image signal processing module (ISP) using a neural network model, according to an embodiment of the present disclosure. Referring to FIG. 1 , the
이미지 센서(100)는 촬영을 수행하여 영상 신호를 출력하는 구성으로서, 예를 들어 CCD 센서 또는 CMOS 센서 등일 수 있으며, 이 밖에도 다양한 종류의 이미지 센서(100)가 사용될 수 있다. 일 실시예에 따르면, 이미지 센서(100)는 픽셀당 한 가지 색상의 채널만을 갖는 베이어 포맷(Bayer format)의 원시 영상(raw image)을 출력할 수 있다. 다만, 이에 한정되지 않고 이미지 센서(100)는 다양한 포맷의 영상을 출력할 수도 있다. 또한 일 실시예에 따르면, 이미지 센서(100)에는 서로 다른 종류의 복수의 이미지 센서들이 포함될 수도 있다. 본 개시에서 '서로 다른 종류의 이미지 센서'라고 함은, 이미지 센서 자체는 동일한 하드웨어 스펙을 가지더라도 매칭되는 렌즈의 종류가 다른 경우까지 포함할 수 있다. 다시 말해, 이미지 센서(100)에 제1 이미지 센서 및 제2 이미지 센서가 포함되고, 제1 이미지 센서와 제2 이미지 센서는 동일한 하드웨어 스펙을 갖는다고 가정할 때, 제1 이미지 센서에는 일반 렌즈가 매칭되고 제2 이미지 센서에는 광각 렌즈가 매칭된다면, 본 개시에서는 제1 이미지 센서와 제2 이미지 센서는 서로 다른 종류의 이미지 센서라고 표현한다. 물론, 이미지 센서(100)에는 하드웨어 스펙이 상이한 이미지 센서들이 포함될 수도 있다.The
영상 복원 모듈(1100)은 이미지 센서(100)로부터 수신하는 영상을 복원하는 동작을 수행하기 위한 모듈이다. 일 실시예에 따르면, 영상 복원 모듈(1100)은 이미지 센서(100)로부터 수신하는 입력 영상에 대해, 렌즈 음영 보정(Lens Shading Correction, LSC), 불량 화소 보정(Bad Pixel Correction, BPC), 디모자이크(Demosaic) 및 디노이즈(Denoise) 중 적어도 하나의 복원 동작을 수행할 수 있다.The
도 1에 도시된 바와 같이 영상 복원 모듈(1100)은 세부 구성으로서 HW(hardware) ISP(1110), SW(software) ISP(1120) 및 AI 복원 ISP(1130)를 포함할 수 있다. 촬영 환경에 따라 영상 복원 모듈(1100)에 포함된 세부 구성들 중 적어도 하나가 선택되어 복원 동작을 수행할 수 있다. 촬영 환경에 따라 영상 복원 모듈(1100)의 세부 구성이 선택되는 방법에 대해서는 아래에서 자세히 설명한다.As shown in FIG. 1, the
일 실시예에 따르면, HW ISP(1110)와 SW ISP(1120)는 수행하는 프로세스의 복잡한 정도를 기준으로 구분한 모듈일 수 있다. 예를 들어, HW ISP(1110)는 단순한 프로세스만을 처리하는 모듈이고, SW ISP(1120)는 소프트웨어 알고리즘에 의해 비교적 복잡한 프로세스까지 처리하는 모듈일 수 있다.According to one embodiment, the
영상 복원 모듈(1100)에 포함된 세부 구성들 중 AI 복원 ISP(1130)는 신경망 기반의 모듈로서 복수의 신경망 모델들을 포함할 수 있다. 도 1에 도시된 바와 같이 AI 복원 ISP(1130)는 복수의 모델 파라미터(복원 파라미터)들을 포함할 수 있는데, 각각의 복원 파라미터가 신경망 모델을 의미한다. 일 실시예에 따르면, AI 복원 ISP(1130)는 촬영 환경에 따라서 복수의 복원 파라미터들 중 어느 하나로 신경망 모델을 세팅하고 영상 처리 프로세스를 수행할 수 있다.Among the detailed components included in the
영상 보정 모듈(1200)은 영상 보정을 수행하기 위한 모듈이다. 영상 보정 모듈(1200)은 영상 복원 모듈(1100)로부터 수신한 영상에 대해서 밝기를 높이거나, 명암비를 개선함으로써 영상을 보기 좋게 만들 수 있다. 일 실시예에 따르면, 영상 보정 모듈(1200)은 수신한 영상에 대해 화이트 밸런스(White Balance, WB)를 조절하거나, 색 보정(Color Correction, CC)을 수행하거나, 감마(gamma) 값을 조절하거나, 글로벌 톤 매핑(global tone mapping) 및 로컬 톤 매핑(local tone mapping), HDR 이펙트(HDR effect) 등과 같은 처리를 수행함으로써 영상 특성을 조절할 수 있다.The
일 실시예에 따르면, 영상 보정 모듈(1200)은 신경망 기반의 모듈(AI 보정 ISP)로 구성될 수 있으며, 복수의 신경망 모델들을 포함할 수 있다. 도 1에 도시된 바와 같이 AI 보정 ISP(1200)는 복수의 모델 파라미터(보정 파라미터)들을 포함할 수 있는데, 각각의 보정 파라미터가 하나의 신경망 모델을 의미한다. 일 실시예에 따르면, AI 보정 ISP(1200)는 촬영 환경에 따라서 복수의 보정 파라미터들 중 어느 하나로 신경망 모델을 세팅하고 영상 처리 프로세스를 수행할 수 있다.According to one embodiment, the
야간의 저조도 환경에서 촬영을 하는 경우 영상의 밝기나 명암비가 낮아 영상 내 객체를 식별하기 어려울 수 있다. 또한 저조도 환경에서 밝게 촬영하기 위해 야간 모드로 촬영하여 ISO 값을 높이는 경우, 밝기는 개선되지만 영상에 포함되는 노이즈의 양이 증가하여 품질이 떨어질 수 있다. 또한 줌(zoom) 모드 촬영 시 영상의 확대로 인해 객체의 형태나 색상이 명확하게 표현되지 않을 수도 있다.When shooting in a low-light environment at night, it may be difficult to identify objects in the image due to the low brightness or contrast ratio of the image. Additionally, if you increase the ISO value by shooting in night mode to shoot brightly in a low-light environment, the brightness will improve, but the amount of noise included in the image may increase, which may reduce the quality. Additionally, when shooting in zoom mode, the shape or color of the object may not be expressed clearly due to the enlargement of the image.
이와 같이 촬영 환경(촬영 조건 및 촬영 모드)에 따라서 영상의 품질이 저하될 수 있는데, 본 개시의 실시예들은 어떤 상황에서도 최적화된 고품질 영상(e.g. 정지 영상, 동영상)을 얻을 수 있는 방법을 제공한다. 본 개시의 실시예들에 따르면, 촬영 환경에 따라서 영상 복원 모듈(1100) 및 영상 보정 모듈(1200)에 포함된 세부 구성(특히, 신경망 모델)을 선택함으로써 영상의 품질을 높일 수 있다. 또한 본 개시의 실시예들은 촬영 환경에 따라서 다양한 종류의 이미지 센서(100)들 중 어느 하나를 선택함으로써 영상의 품질을 높일 수 있다.As such, the quality of the image may deteriorate depending on the shooting environment (shooting conditions and shooting mode), but embodiments of the present disclosure provide a method of obtaining optimized high-quality images (e.g. still images, moving images) in any situation. . According to embodiments of the present disclosure, image quality can be improved by selecting detailed configurations (particularly, neural network models) included in the
또한, 디바이스별로 카메라와 관련된 하드웨어(e.g. 렌즈 및 이미지 센서 등과 같이 촬영을 위한 직접적인 구성뿐만 아니라, 촬영 이미지를 처리하기 위한 프로세서 등까지 포함)가 상이할 수 있는데, 본 개시의 실시예들에 따르면 이러한 하드웨어의 차이에도 불구하고 일정 수준 이상 높은 품질의 영상을 제공할 수 있는 기술적 효과를 기대할 수 있다.In addition, camera-related hardware (e.g., not only direct components for shooting, such as lenses and image sensors, but also processors for processing captured images) may be different for each device, and according to embodiments of the present disclosure, such Despite differences in hardware, technical effects that can provide high quality video above a certain level can be expected.
먼저 도 2를 참조하여 신경망 기반의 ISP의 구체적인 예시에 대해서 설명하고, 도 3을 참조하여 본 개시의 실시예들에 따른 영상 처리를 수행하는 컴퓨팅 장치의 구체적인 예시에 대해서 설명한 후, 이어서 촬영 환경에 따라서 신경망 모델을 선택하는 방법에 대해서 자세히 설명한다.First, a specific example of a neural network-based ISP will be described with reference to FIG. 2, and a specific example of a computing device that performs image processing according to embodiments of the present disclosure will be described with reference to FIG. 3, and then Therefore, we explain in detail how to select a neural network model.
도 2는 본 개시의 일 실시예에 따른, 신경망 모델을 이용한 영상 신호 처리 모듈(ISP)의 구체적인 예시를 도시한 도면이다.FIG. 2 is a diagram illustrating a specific example of an image signal processing module (ISP) using a neural network model, according to an embodiment of the present disclosure.
도 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일 수도 있다.The
도 2의 버스트넷(BurstNet)(2130)은 도 1의 영상 복원 모듈(1130)의 구체적인 실시예에 해당되고, 도 2의 마스터링넷(MasteringNet)(2200)은 도 1의 영상 보정 모듈(1200)의 구체적인 실시예에 해당된다.
도 2를 참고하면, 센서(200)는 복수의 원시 영상들을 출력할 수 있다. 일 실시예에 따르면, 원시 영상은 픽셀당 한 가지 색상의 채널만을 갖는 베이어 포맷의 영상일 수 있다.Referring to FIG. 2, the
버스트넷(2130)은 복수의 원시 영상들을 입력받아 하나의 리니어 RGB 영상을 출력할 수 있다. 버스트넷(2130)에 입력되는 복수의 원시 영상들은 특정 시점의 전후로 촬영된 복수의 영상들로, 버스트넷(2130)은 원시 영상들의 시간적(temporal) 정보를 이용하고 LSC, BPC, 얼라인 앤 퓨전(align & fusion), 디모자이크 및 디노이즈를 수행함으로써 하나의 리니어 RGB 영상을 출력할 수 있다.The
마스터링넷(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) 등을 수신할 수 있다.The mastering net 2200 can perform correction on linear RGB images. According to one embodiment, the mastering net 2200 adjusts the white balance (WB), performs color correction (CC), or adjusts the gamma value for the linear RGB image. By performing processing such as global tone mapping, local tone mapping, HDR effect, etc., image characteristics can be adjusted and the sRGB image can be output as the final image. To this end, the mastering net 2200 may receive a white balance gain (WBG) and a color correction matrix (CCM) from the
한편, 위에서는 센서(200)에서 출력되는 영상은 베이어 영상이고, 버스트넷(2130)에서 출력되는 영상은 리니어 RGB 영상이고, 마스터링넷(2200)에서 출력되는 영상은 sRGB 영상인 것으로 가정하고 설명하였으나, 이에 한정되지 않고 각각의 영상들은 다양한 포맷의 영상일 수 있다. 예를 들어, 위 영상들은 논-리니어 RGB(non-linear RGB) 영상, sRGB 영상, AdobeRGB 영상, YCbCr 영상, 베이어(Bayer) 영상 중 어느 하나일 수 있다. 다만, 버스트넷(2130) 및 마스터링넷(2200) 각각에 포함되는 신경망 모델의 학습 시 사용된 입력 영상의 포맷은 추론 시에도 동일하게 유지될 수 있고, 비슷한 원리로 학습 시 사용된 추론 영상의 포맷이 추론 시에도 동일하게 유지될 수 있다.Meanwhile, in the above description, it was assumed that the image output from the
도 3은 본 개시의 일 실시예에 따른, 신경망 모델을 이용한 영상 신호 처리를 수행하는 사용자 단말의 구성을 도시한 도면이다. 도 3에서는 영상 신호 처리를 수행하는 사용자 단말(3000)이 스마트폰인 것으로 도시하였으나, 이에 한정되지 않고 카메라 등과 같이 영상 촬영 기능이 있는 모든 종류의 디바이스에는 ISP(3130)가 탑재될 수 있으며, 더 나아가 촬영 기능은 구비하지 않지만 영상 신호 처리를 수행할 수 있는 다양한 종류의 디바이스에도 ISP(3130)가 탑재될 수 있음은 자명하다.FIG. 3 is a diagram illustrating the configuration of a user terminal that performs image signal processing using a neural network model, according to an embodiment of the present disclosure. In FIG. 3, the
도 3을 참고하면, 사용자 단말(3000)에는 카메라 모듈(3100) 및 메인 프로세서(3200)가 포함될 수 있다.Referring to FIG. 3, the
카메라 모듈(3100)은 렌즈 모듈(3110), 이미지 센서(3120) 및 ISP(3130)를 포함할 수 있으며, 이 구성들(3110, 3120, 3130)이 하나의 칩(chip)에 탑재된 SoC (System on Chip) 형태로 구현될 수도 있다. 카메라 모듈(3100)은 별도의 프로세서를 포함할 수도 있고, 이를 통해 ISP(3130)를 실행할 수 있다.The
이미지 센서(3120)는 렌즈 모듈(3110)을 통해 투과된 빛을 받아 영상을 출력하고, ISP(3130)는 이미지 센서(3120)에서 출력된 영상을 복원 및 보정하여 최종 영상으로 출력할 수 있다. 즉, 사용자가 사용자 단말(3000)을 통해 영상을 촬영하면, ISP(3130)를 통해 복원 및 보정된 최종 영상이 사용자에게 보여지게 된다.The
ISP(3130)에는 영상 복원 모듈(3131) 및 영상 보정 모듈(3132)이 포함될 수 있으며, 각 구성의 동작은 앞서 도 1 및 도 2를 참조하여 설명한 바와 같다.The
도 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)를 구현할 수도 있다.In the embodiment shown in FIG. 3, the
또 다른 실시예에 따르면, ISP(3130)에 포함된 구성들 중 적어도 일부는 영상이 촬영되는 디바이스에 탑재되지 않고, 클라우드 서버 등과 같은 외부 장치에 의해서 구현될 수도 있다. 예를 들어, 도 4에 도시된 바와 같이 클라우드 서버(400)에는 영상 복원 모듈(4100) 및 영상 보정 모듈(4200)을 포함하는 ISP(4000)가 구현될 수 있고, 사용자 단말(3000)이 이미지 센서(3120)를 통해 획득한 원시 영상들을 클라우드 서버(400)에 전송하면, 클라우드 서버(400)의 영상 복원 모듈(4100)은 원시 영상들로부터 리니어 RGB 영상을 생성하고, 영상 보정 모듈(4200)은 리니어 RGB 영상을 보정한 후, 보정된 영상을 클라우드 서버(400) 내에 저장하거나 사용자 단말(3000)에 전송할 수 있다.According to another embodiment, at least some of the components included in the
또는 다른 실시예에 따르면, 사용자 단말(3000)은 원시 영상들로부터 리니어 RGB 영상을 복원한 후, 복원된 리니어 RGB 영상을 클라우드 서버(400)에 전송하고, 클라우드 서버(400)는 영상 보정 모듈(4200)을 이용하여 영상을 보정한 후 보정된 영상을 클라우드 서버(400) 내에 저장하거나 사용자 단말(3000)에 전송할 수 있다.Or, according to another embodiment, the
따라서, 이하의 실시예들에서 도 1의 ISP(1000)가 수행하는 동작들은 실제로는 사용자 단말(3000), 클라우드 서버(400) 또는 그 외 다양한 컴퓨팅 장치들 각각에 의해서 또는 둘 이상의 컴퓨팅 장치의 조합에 의해서 수행될 수 있다.Therefore, in the following embodiments, the operations performed by the
1. 영상 복원 모듈에서의 신경망 모델 선택1. Neural network model selection in image restoration module
도 1의 영상 복원 모듈(1100) 중 AI 복원 ISP(1130)에서 신경망 모델을 선택하는 방법에 대해서 설명한다. 도 5는 본 개시의 일 실시예에 따른, 촬영 환경에 기초하여 영상 복원 모듈(1100)에 포함된 신경망 모델을 선택하는 방법을 설명하기 위한 도면이다. 도 5에 도시된 바와 같이 AI 복원 ISP(1130)는 주간용 신경망 모델(주간 모델 파라미터(1131))과 야간용 신경망 모델(야간 모델 파라미터(1132))을 포함한다고 가정한다.A method of selecting a neural network model in the
본 개시의 일 실시예에 따르면, AI 복원 ISP(1130)는 입력 영상(51)에 포함된 노이즈가 일정 기준 미만인 경우 주간 모델 파라미터(1131)를 선택하고, 반대로 입력 영상(51)에 포함된 노이즈가 일정 기준 이상인 경우 야간 모델 파라미터(1132)를 선택할 수 있다.According to an embodiment of the present disclosure, the
(1) ISO 값에 기초한 신경망 모델 선택(1) Neural network model selection based on ISO value
일 실시예에 따르면 입력 영상(51)의 ISO 값에 기초하여 입력 영상(51)에 포함된 노이즈의 양을 추정할 수 있고, 따라서 촬영 조건(시간, 장소 및 ISO 등) 중 ISO 값에 기초하여 AI 복원 ISP(1130)의 신경망 모델을 선택할 수 있다. 예를 들어, AI 복원 ISP(1130)는 입력 영상(51)의 메타데이터로부터 ISO 값을 확인하고, 확인한 ISO 값에 기초하여 신경망 모델(모델 파라미터)을 선택할 수 있다. 이때, 입력 영상(51)은 이미지 센서(100)로부터 출력된 원시 영상일 수 있다.According to one embodiment, the amount of noise included in the
아래의 표 1에는 ISO 값에 따라서 추정되는 노이즈 양을 나타내었다. ISO 값에 따른 샷 노이즈(shot noise)는 촬영을 수행하는 장치에 따라서 다르게 측정될 수 있고, 리드 노이즈(read noise)는 샷 노이즈로부터 특정 수식에 의해 계산된 값이다. 따라서, 표 1에 포함된 수치들은 단지 하나의 실시예에 해당될 뿐이고, ISO 값에 따라 추정되는 노이즈의 양은 달라질 수 있다. 또한, 보간을 통해 표 1에 포함된 수치들 사이의 데이터를 추가함으로써 구간을 더욱 세분화할 수도 있다.Table 1 below shows the amount of noise estimated according to ISO value. Shot noise according to ISO value can be measured differently depending on the device that performs shooting, and read noise is a value calculated from shot noise using a specific formula. Therefore, the values included in Table 1 only correspond to one example, and the amount of noise estimated may vary depending on the ISO value. Additionally, the section can be further subdivided by adding data between the numbers included in Table 1 through interpolation.
만약, 입력 영상(51)에 포함된 샷 노이즈가 0.001 이상인 경우 야간 모델 파라미터(1132)를 선택하고, 0.001 미만인 경우 주간 모델 파라미터(1131)를 선택하도록 설정되었다면, AI 복원 ISP(1130)는 ISO 값이 1600 이상인 경우 야간 모델 파라미터(1132)로 신경망 모델을 세팅하고, ISO 값이 1600 미만인 경우 주간 모델 파라미터(1131)로 신경망 모델을 세팅할 수 있다.If the shot noise included in the
(2) 촬영 시간 및 촬영 장소에 기초한 신경망 모델 선택(2) Neural network model selection based on shooting time and shooting location
일 실시예에 따르면, AI 복원 ISP(1130)는 입력 영상(51)의 촬영 시간 및 촬영 장소에 기초하여 저조도 환경에서 촬영되었는지 여부를 판단하고, 그에 따라 신경망 모델을 선택할 수도 있다. 예를 들어, AI 복원 ISP(1130)는 입력 영상(51)의 메타데이터로부터 영상이 촬영된 시간 및 장소(e.g. GPS 신호나 셀룰러 기지국 또는 WiFi AP 등을 이용하여 추정된 위치)에 대한 정보를 획득하고, 획득한 정보에 기초하여 신경망 모델(모델 파라미터)을 선택할 수도 있다. 일 실시예에 따르면, AI 복원 ISP(1130)는 시간(주간/야간) 및 장소(실내/실외)의 조합에 대해서 다음과 같이 모델 파라미터를 선택할 수 있다. 일반적으로 야간에 실외에서 촬영되는 경우에만 저조도 환경일 것으로 예상할 수 있으므로 아래와 같은 규칙에 의해 모델 파라미터를 선택하지만, 이에 한정되지 않고 필요나 상황에 따라서 규칙을 변경할 수도 있다.According to one embodiment, the
1) 주간 & 실외 => 주간 모델 파라미터1) Daytime & Outdoor => Daytime model parameters
2) 주간 & 실내 => 주간 모델 파라미터2) Daytime & Indoor => Daytime model parameters
3) 야간 & 실외 => 야간 모델 파라미터3) Night & Outdoor => Night Model Parameters
4) 야간 & 실내 => 주간 모델 파라미터4) Night & Indoor => Day model parameters
또한 일 실시예에 따르면, AI 복원 ISP(1130)는 선택의 정확도를 높이기 위해서 시간 및 장소에 대한 정보와 함께 ISO 값도 고려하여 모델 파라미터를 선택할 수도 있다. 예를 들어, 시간 및 장소에 대한 정보에 기초하여 판단한 결과 주간 모델 파라미터를 선택해야 하는 상황이지만, ISO 값이 일정 기준 이상이라면 AI 복원 ISP(1130)는 야간 모델 파라미터를 선택할 수도 있다. 다시 말해, AI 복원 ISP(1130)는 1차적으로 시간 및 장소에 기초하여 모델 파리미터를 선택하고, 2차적으로 ISO 값을 고려하여 모델 파라미터를 변경할 필요가 있을지 여부를 판단할 수 있다.Additionally, according to one embodiment, the
한편 일 실시예에 따르면, AI 복원 ISP(1130)는 입력 영상(51)을 분석함으로써 입력 영상(51)에 포함된 노이즈의 양을 파악하고, 그 결과에 따라서 신경망 모델을 선택할 수도 있다. 예를 들어, AI 복원 ISP(1130)는 입력 영상(51)의 픽셀 값들을 분석한 결과 포함된 노이즈가 미리 설정된 기준 이상이라면 야간 모델 파라미터(1132)를 선택하고, 미리 설정된 기준 미만이라면 주간 모델 파라미터(1132)를 선택할 수 있다.Meanwhile, according to one embodiment, the
(3) 촬영 모드 또는 이미지 센서의 종류에 따른 신경망 모델 선택(3) Selection of neural network model according to shooting mode or type of image sensor
본 개시의 일 실시예에 따르면, AI 복원 ISP(1130)는 촬영 모드 또는 이미지 센서의 종류에 따라서 신경망 모델을 선택할 수도 있다. 예를 들어, AI 복원 ISP(1130)는 일반 촬영 모드(주간 촬영 모드)라면 주간 모델 파라미터(1131)로 신경망 모델을 세팅하고, 야간 촬영 모드라면 야간 모델 파라미터(1132)로 신경망 모델을 세팅할 수 있다.According to an embodiment of the present disclosure, the
또는 일 실시예에 따르면, 이미지 센서(100)에 복수의 이미지 센서들이 포함되고(도 8 참고), 복수의 이미지 센서들 중 어느 하나가 선택되어 입력 영상(51)을 촬영했다면, 선택된 이미지 센서에 대응되는 신경망 모델이 AI 복원 ISP(1130)에서 선택될 수 있다. 이를 위해, AI 복원 ISP(1130)에 포함되는 신경망 모델들에는 각각 대응되는 이미지 센서의 종류가 미리 정해질 수 있다. 예를 들어, 이미지 센서(100)에 야간 촬영을 위한 이미지 센서(e.g. 광각 렌즈와의 사용에 적합한 이미지 센서)가 포함되고, 이를 이용해 입력 영상(51)이 촬영되었다면, AI 복원 ISP(1130)는 야간 모델 파라미터(1132)로 신경망 모델을 세팅할 수 있다.Or, according to one embodiment, if the
도 5에 도시된 실시예에서 AI 복원 ISP(1130)는 두 개의 모델 파라미터(1131, 1132)를 포함하지만, 이에 한정되지 않고 세 개 이상의 모델 파라미터가 AI 복원 ISP(1130)에 포함되고, 선택의 기준이 되는 ISO 값 및 노이즈의 구간도 더 세분화될 수 있다.In the embodiment shown in Figure 5, the AI restoration ISP (1130) includes two model parameters (1131, 1132), but is not limited to this, three or more model parameters are included in the AI restoration ISP (1130), and The standard ISO value and noise section can also be further subdivided.
2. 영상 복원 모듈에 포함되는 신경망 모델의 학습2. Learning of the neural network model included in the image restoration module
이상 살펴본 바와 같이 AI 복원 ISP(1130)는 입력 영상에 포함된 노이즈의 양에 따라서 신경망 모델을 선택하고, 선택된 신경망 모델은 노이즈의 양에 따른 적절한 복원 프로세스를 수행할 수 있다. 이하에서는 이를 위해서 AI 복원 ISP(1130)에 포함되는 신경망 모델들을 어떻게 학습시켜야 하는지에 대해서 설명한다.As described above, the
본 개시의 일 실시예에 따르면, AI 복원 ISP(1130)에 노이즈를 포함하는 영상을 입력했을 때 출력되는 영상과, 노이즈가 제거된 영상 간의 차이를 최소화하도록 AI 복원 ISP(1130)의 모델 파라미터를 업데이트하는 방식으로 학습을 수행할 수 있다.According to an embodiment of the present disclosure, model parameters of the AI restoration ISP (1130) are adjusted to minimize the difference between the image output when an image containing noise is input to the AI restoration ISP (1130) and the image from which the noise has been removed. Learning can be performed by updating.
도 6은 본 개시의 일 실시예에 따른, 영상 복원 모듈에 포함되는 신경망 모델을 학습시키는 방법을 설명하기 위한 도면이다. 도 6을 참고하면, AI 복원 ISP(1130)에는 입력 영상(61)에 대해서 노이즈 시뮬레이션(610)이 수행된 노이즈 영상(62)이 입력되고, AI 복원 ISP(1130)는 그로부터 추론 영상(63)을 출력할 수 있다. 이때, 입력 영상(61)은 추론 영상(63)과 비교되기 위한 레이블 영상(label image)으로서, 그라운드 트루스 데이터(ground truth data)에 해당될 수 있다. 노이즈 시뮬레이션(610)은 입력 영상(61)에 노이즈를 추가하여 노이즈 영상(62)을 생성하는 동작을 의미한다.FIG. 6 is a diagram illustrating a method of training a neural network model included in an image restoration module according to an embodiment of the present disclosure. Referring to FIG. 6, a
입력 영상(61)에 노이즈 시뮬레이션(610)을 수행함으로써 훈련용 데이터를 생성하는 방법은 다음과 같다. 입력 영상(61)은 노이즈를 거의 포함하지 않는 깨끗한 영상(clean image)일 수 있으며, 데이터베이스에 저장된 다양한 입력 영상(61)에 노이즈 강도를 달리하면서 노이즈 시뮬레이션(610)을 수행함으로써 노이즈가 추가된 노이즈 영상(62)을 획득할 수 있다. 앞서 설명한 바와 같이 입력 영상(61)이 레이블 영상에 해당되므로, 입력 영상(61)과 노이즈 영상(62)의 쌍(pair)이 훈련용 데이터가 될 수 있다.The method of generating training data by performing
일 실시예에 따르면, 데이터베이스에 저장된 모든 입력 영상(61)들에 대해서 노이즈 시뮬레이션(610)을 수행함으로써 미리 훈련용 데이터를 생성해 놓을 수 있다. 또는 일 실시예에 따르면, 학습을 수행하는 과정에서 훈련용 데이터가 필요할 때마다 강도를 조절해가며 노이즈 시뮬레이션(610)을 수행함으로써 훈련용 데이터를 생성할 수도 있다. (온-더-플라이(on-the-fly) 방식)According to one embodiment, training data can be generated in advance by performing
주간 모델의 학습을 위한 훈련용 데이터를 생성하는 경우, 노이즈 시뮬레이션(610)을 통해 주간 모델에 대응되는 강도의 노이즈를 입력 영상(61)에 추가함으로써 노이즈 영상(62)을 생성할 수 있다. 예를 들어 앞서 표 1을 참조하여 설명한 실시예의 경우, 노이즈 시뮬레이션(610)을 통해 0.001 미만의 샷 노이즈를 입력 영상(61)에 추가함으로써 노이즈 영상(62)을 생성할 수 있다.When generating training data for learning a daytime model, a
비슷한 원리로 야간 모델의 학습을 위한 훈련용 데이터를 생성하는 경우, 노이즈 시뮬레이션(610)을 통해 야간 모델에 대응되는 강도의 노이즈를 입력 영상(61)에 추가함으로써 노이즈 영상(62)을 생성할 수 있다. 예를 들어 앞서 표 1을 참조하여 설명한 실시예의 경우, 노이즈 시뮬레이션(610)을 통해 0.001 이상의 샷 노이즈를 입력 영상(61)에 추가함으로써 노이즈 영상(62)을 생성할 수 있다.When generating training data for learning a night model using a similar principle,
옵티마이저(630)는 추론 영상(63) 및 입력 영상(61)이 손실함수(620)에 입력되었을 때 출력되는 결과를 최소화하도록 AI 복원 ISP(1130)의 모델 파라미터를 업데이트할 수 있다. 따라서, AI 복원 ISP(1130)는 노이즈가 추가된 영상이 입력되었을 때, 노이즈가 제거된 영상과 최대한 가까운 영상을 추론하도록 학습될 수 있다.The
이상 설명한 노이즈 시뮬레이션(610), 손실함수(620)의 계산 및 옵티마이저(630)의 파라미터 업데이트는, AI 복원 ISP(1130)의 학습을 담당하는 컴퓨팅 장치의 프로세서에 의해서 수행될 수 있다.The
3. 영상 보정 모듈에서의 신경망 모델 선택3. Neural network model selection in image correction module
본 개시의 일 실시예에 따르면, 영상 복원 모듈(1100)에서 수행하는 프로세스에 따라서 영상 보정 모듈(1200)의 신경망 모델이 선택될 수 있다. 예를 들어, 영상 복원 모듈(1100)이 복수의 세부 구성들을 포함하고, 세부 구성별로 수행하는 프로세스가 다르다면, 영상 복원 모듈(1100)에서 선택되는 세부 구성에 따라서 영상 보정 모듈(1200)의 신경망 모델이 선택될 수 있다.According to an embodiment of the present disclosure, a neural network model of the
도 7은 본 개시의 일 실시예에 따른, 영상 복원 모듈에 따라서 영상 보정 모듈의 신경망 모델을 선택하는 방법을 설명하기 위한 도면이다. 도 7을 참고하면, 영상 복원 모듈(1100)에서 HW ISP(1110)가 선택되었다. HW ISP(1110)는 복원 프로세스 중에서 디모자이크를 수행하지만, 디노이즈는 수행하지 않는다고 가정한다.FIG. 7 is a diagram illustrating a method of selecting a neural network model of an image correction module according to an image restoration module, according to an embodiment of the present disclosure. Referring to FIG. 7, the
HW ISP(1110)는 자신이 수행하는 프로세스에 대한 정보(디모자이크를 수행하고, 디노이즈는 수행하지 않음)를 영상 보정 모듈(1200)에 전송할 수 있다. 영상 보정 모듈(1200)은 HW ISP(1110)로부터 수신한 정보를 통해 영상 복원 단계에서 디노이즈가 수행되지 않았음을 알 수 있고, 따라서 디노이즈 기능을 지원하는 제2 보정 파라미터를 선택하여 신경망 모델을 세팅할 수 있다. 이때, 제2 보정 파라미터는 HW ISP(1110)에 대응되도록 미리 학습된 신경망 모델에 해당될 수 있다. 다시 말해, 제2 보정 파라미터는 디노이즈가 수행되지 않은 영상을 보정하기 위해, 화이트 밸런스 조절, 색 보정 및 감마 값 조절뿐만 아니라 디노이즈까지 수행하도록 학습된 신경망 모델일 수 있다.The
도 7에 도시된 바와 같이 제2 보정 파라미터는 이미지 센서(100)로부터 획득한 화이트 밸런스 게인(White Balance Gain, WBG) 및 색 보정 행렬(Color Correction Matrix, CCM)을 이용하여 화이트 밸런스(WB) 조절, 색 보정(CC) 및 감마 값 조절도 수행할 수 있다.As shown in FIG. 7, the second correction parameter adjusts the white balance (WB) using the white balance gain (WBG) and color correction matrix (CCM) obtained from the
도면으로 도시하지는 않았지만, 영상 복원 모듈(1100)에서 SW ISP(1120)가 선택되고, SW ISP(1120)는 디모자이크 및 디노이즈를 수행하는 경우라면, 영상 보정 모듈(1200)에서는 SW ISP(1120)에 대응되도록 학습된 신경망 모델(모델 파라미터)이 선택될 수 있고, 이때 선택되는 신경망 모델은 디노이즈는 수행하지 않고 화이트 밸런스 조절, 색 보정 및 감마 값 조절 등만을 수행할 수 있다. 즉, 영상 복원 모듈(1100)에서 어떤 프로세스를 수행하는지에 따라서, 영상 보정 모듈(1200)에서 신경망 모델이 선택될 수 있다.Although not shown in the drawing, if the
이상 설명한 바와 같이 일 실시예에 따르면, 영상 보정 모듈(1200)에 포함되는 신경망 모델(모델 파라미터)들은 영상 복원 모듈(1100)의 세부 구성들 각각에 대응되도록 미리 학습될 수 있으며, 영상 복원 모듈(1100)에서 세부 구성이 선택되면, 선택된 세부 구성에 대응되도록 학습된 신경망 모델이 영상 보정 모듈(1200)에서 선택될 수 있다. 그리고 이를 위해, 영상 보정 모듈(1200)은 영상 복원 모듈(1100)로부터 영상 복원 모듈(1100)이 수행하는 프로세스에 대한 정보를 수신할 수 있다.As described above, according to one embodiment, the neural network models (model parameters) included in the
지금까지 촬영 조건에 기초하여 AI 복원 ISP(1130)에서 신경망 모델을 선택하는 방법, 그리고 영상 복원 모듈(1100)이 수행하는 프로세스에 따라서 영상 보정 모듈(1200)에서 신경망 모델을 선택하는 방법에 대해서 설명하였다.So far, we have explained how to select a neural network model in the
이하에서는 지금까지 설명한 내용을 기초로, 촬영 환경에 따라서 이미지 센서의 종류, 영상 복원 모듈 및 영상 보정 모듈의 세부 구성을 선택하는 실시예들에 대해서 먼저 설명한 후, 이어서 영상 보정 모듈에 포함되는 신경망 모델을 학습시키는 방법에 대해서 설명한다.Below, based on what has been explained so far, embodiments of selecting the type of image sensor, the detailed configuration of the image restoration module, and the image correction module according to the shooting environment will first be described, and then the neural network model included in the image correction module. Explains how to learn.
4. 촬영 환경에 따른 이미지 센서, 영상 복원 모듈 및 영상 보정 모듈의 선택4. Selection of image sensor, image restoration module, and image correction module according to the shooting environment
일 실시예에 따르면, 촬영 환경(촬영 조건 및 촬영 모드)에 따라서 이미지 센서의 종류, 영상 복원 모듈 및 영상 보정 모듈의 세부 구성이 선택될 수 있다. 도 8 내지 도 10은 본 개시의 실시예들에 따른, 촬영 환경에 따라 이미지 센서, 영상 복원 모듈 및 영상 보정 모듈을 선택하는 방법을 설명하기 위한 도면들이다. 도 8 내지 도 10에 도시된 바와 같이 이미지 센서(100)에는 복수의 이미지 센서들이 포함된다고 가정한다. 또한, 촬영 모드는 주간 촬영 모드(일반 촬영 모드)(도 8), 줌 촬영 모드(도 9) 및 야간 촬영 모드(도 10)를 포함한다고 가정한다.According to one embodiment, the type of image sensor, the detailed configuration of the image restoration module, and the image correction module may be selected according to the shooting environment (shooting conditions and shooting mode). 8 to 10 are diagrams for explaining a method of selecting an image sensor, an image restoration module, and an image correction module according to a shooting environment according to embodiments of the present disclosure. As shown in FIGS. 8 to 10 , it is assumed that the
일 실시예에 따르면, 촬영 모드는 영상 신호 처리를 수행하는 컴퓨팅 장치(e.g. 도 3의 사용자 단말(3000))의 UI를 통해 사용자가 설정할 수 있다. 예를 들어, 사용자는 사용자 단말(3000)에서 카메라 애플리케이션을 실행하고, 촬영하기 전 상황에 따가 적절한 촬영 모드를 선택할 수 있다. 사용자 단말(3000)은 촬영 모드가 설정되면 그에 따라 이미지 센서(100)의 종류, 영상 복원 모듈(1100) 및 영상 보정 모듈(1200)의 세부 구성을 선택할 수 있다.According to one embodiment, the shooting mode can be set by the user through the UI of a computing device (e.g. the
(1) 이미지 센서의 선택(1) Selection of image sensor
본 개시의 일 실시예에 따르면, 촬영 모드에 기초하여 이미지 센서(100)의 종류가 선택될 수 있다. 예를 들어, 이미지 센서(100)는 일반 이미지 센서, 광각 이미지 센서 및 초광각 이미지 센서 등을 포함할 수 있으며, 이들은 필요에 따라서 각각의 촬영 모드에 매칭될 수 있다.According to an embodiment of the present disclosure, the type of
도 8 내지 도 10의 실시예들에서는 주간 촬영 모드에 제1 이미지 센서가 매칭되고, 줌 촬영 모드에 제2 이미지 센서가 매칭되고, 야간 촬영 모드에 제3 이미지 센서가 매칭되었다고 가정한다. 도 8 내지 도 10을 참고하면, 각각의 촬영 모드에 따라서 대응되는 이미지 센서가 선택되었음을 알 수 있다.In the embodiments of FIGS. 8 to 10 , it is assumed that the first image sensor is matched to the daytime shooting mode, the second image sensor is matched to the zoom shooting mode, and the third image sensor is matched to the night shooting mode. Referring to Figures 8 to 10, it can be seen that a corresponding image sensor is selected according to each shooting mode.
또한 일 실시예에 따르면, 촬영 조건에 기초하여 이미지 센서(100)의 종류가 선택될 수도 있다. 예를 들어, 촬영이 수행되는 시간 및 장소를 고려했을 때 저조도 환경이라고 판단된다면, 야간 촬영에 적합한 이미지 센서(100)가 선택될 수도 있다.Additionally, according to one embodiment, the type of
(2) 영상 복원 모듈의 선택(2) Selection of image restoration module
본 개시의 일 실시예에 따르면, 영상 복원 모듈(1100)의 세부 구성은 촬영 모드에 따라서 선택될 수도 있고, 또는 영상 촬영 시 사용된 이미지 센서(100)의 종류에 따라서 선택될 수도 있다. 이를 위해, 영상 복원 모듈(1100)의 세부 구성들은 각각 촬영 모드에 매칭되거나, 이미지 센서(100)의 종류에 매칭될 수 있다.According to an embodiment of the present disclosure, the detailed configuration of the
도 8 내지 도 10을 참고하면, 주간 촬영 모드일 때(제1 이미지 센서가 선택되었을 때)는 HW ISP(1110)가 선택되었고, 줌 촬영 모드일 때(제2 이미지 센서가 선택되었을 때)는 SW ISP(1120)가 선택되었고, 야간 촬영 모드일 때(제3 이미지 센서가 선택되었을 때)는 AI 복원 ISP(1130)가 선택되었음을 알 수 있다.Referring to Figures 8 to 10, when in daytime shooting mode (when the first image sensor is selected), the HW ISP (1110) is selected, and when in zoom shooting mode (when the second image sensor is selected) It can be seen that the
도 10을 참고하면, AI 복원 ISP(1130)에서 제2 복원 파라미터가 선택되었는데, 앞서 도 5를 참조하여 설명한 바와 같이 촬영 조건(e.g. 제3 이미지 센서에서 촬영된 영상의 메타데이터에 포함된 ISO 값)에 기초하여 복수의 복원 파라미터들 중에서 제2 복원 파라미터가 선택된 것일 수 있다.Referring to FIG. 10, the second restoration parameter is selected in the
또한 일 실시예에 따르면, 영상 복원 모듈(1100)의 세부 구성 선택 시에 촬영 모드 또는 이미지 센서(100)의 종류뿐만 아니라, 촬영 조건을 더 고려할 수도 있다. 예를 들어 도 8에 도시된 실시예에서 주간 촬영 모드로 인해 제1 이미지 센서가 선택되면, 영상 복원 모듈(1100)에서는 HW ISP(1110)가 선택될 수 있는데, 이 경우에도 만약 ISO 값이 일정 기준 이상이라면 SW ISP(1120) 또는 AI 복원 ISP(1130) 중 어느 하나가 선택될 수도 있다.Additionally, according to one embodiment, when selecting the detailed configuration of the
또한 일 실시예에 따르면, 촬영 조건만을 고려하여 영상 복원 모듈(1100)의 세부 구성이 선택될 수도 있다. 예를 들어, ISO 값의 구간별로 대응되는 세부 구성이 미리 정해지고, 영상 복원 모듈(1100)은 영상의 메타데이터로부터 획득한 ISO 값에 따라서 세부 구성을 선택할 수도 있다.Additionally, according to one embodiment, the detailed configuration of the
정리하면, 영상 복원 모듈(1100)의 세부 구성은 이미지 센서(100)의 종류, 촬영 모드 및 촬영 조건 중 적어도 하나 이상에 기초하여 선택될 수 있다. 특히, 촬영 환경(촬영 모드 및 촬영 조건)에 따라 이미지 센서(100)의 종류가 선택되면, 그에 따라 영상 복원 모듈(1100)의 세부 구성이 선택될 수 있다.In summary, the detailed configuration of the
(3) 영상 보정 모듈의 선택(3) Selection of image correction module
앞서 도 7을 참조하여 설명한 바와 같이, 일 실시예에 따르면 영상 복원 모듈(1100)에서 수행하는 프로세스에 따라서 영상 보정 모듈(1200)의 신경망 모델이 선택될 수 있다. 그런데 영상 복원 모듈(1100)에서 수행하는 프로세스는 영상 복원 모듈(1100)에서 어떤 세부 구성이 선택되는지에 따라서 결정될 수 있고, 영상 복원 모듈(1100)의 세부 구성은 이미지 센서의 종류, 촬영 조건 및 촬영 모드 중 적어도 하나 이상에 기초하여 선택될 수 있다. 따라서 정리하면, 영상 보정 모듈(1200)의 신경망 모델 역시 이미지 센서의 종류, 촬영 모드 및 촬영 조건 중 적어도 하나 이상에 기초하여 선택될 수 있다.As previously described with reference to FIG. 7 , according to one embodiment, the neural network model of the
본 개시의 일 실시예에 따르면, 이미지 센서(100) 및 영상 복원 모듈(1100)의 조합별로 대응되는 영상 보정 모듈(1200)의 신경망 모델이 존재할 수 있다. 따라서 일 실시예에 따르면, 촬영 모드가 결정되면 촬영 모드에 따라서 이미지 센서(100)의 종류 및 영상 복원 모듈(1100)의 세부 구성이 선택될 수 있고, 선택된 이미지 센서(100) 및 영상 복원 모듈(1100)의 조합에 따라서 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델들 중 어느 하나가 선택될 수 있다. 또한 일 실시예에 따르면, 이미지 센서(100), 영상 복원 모듈(1100) 및 영상 보정 모듈(1200)의 선택 시 촬영 조건(e.g. ISO 값)이 함께 고려될 수도 있다.According to an embodiment of the present disclosure, there may be a neural network model of the
일 실시예에 따르면, 영상 보정 모듈(1200)에서 신경망 모델 선택 시 이미지 센서(100)의 종류를 반영할 수도 있으므로, 영상 보정 모듈(1200)은 이미지 센서(100)로부터 이미지 센서 선택 정보(어떤 이미지 센서가 선택되었는지에 대한 정보)를 획득할 수 있다.According to one embodiment, the type of
한편, 영상 보정 모듈(1200)은 이미지 센서(100)로부터 화이트 밸런스 게인(WBG) 및 색 보정 행렬(CCM)을 획득하고, 이를 이용하여 화이트 밸런스 조절, 색 보정 및 감마 값 조절 등을 수행할 수 있다.Meanwhile, the
도 8을 참고하면, 주간 촬영 모드인 경우 이미지 센서(100)에서 제1 이미지 센서가 선택되고, 영상 복원 모듈(1100)에서는 제1 이미지 센서에 대응되는 HW ISP(1110)가 선택될 수 있다. 일 실시예에 따르면, 영상 복원 모듈(1100)의 세부 구성 선택 시 촬영 조건이 함께 고려될 수도 있는데, 예를 들어 주간 촬영 모드이고 제1 이미지 센서가 선택되었더라도, ISO 값이 일정 기준 이상으로 높다면 HW ISP(1110) 대신 SW ISP(1120) 또는 AI 복원 ISP(1130) 중 어느 하나가 선택될 수도 있다.Referring to FIG. 8 , in the daytime shooting mode, the first image sensor may be selected in the
영상 보정 모듈(1200)에서는 HW ISP(1110)에 대응되는 제1 보정 파라미터가 선택될 수 있다. 이때, 제1 보정 파라미터는 HW ISP(1110)에 대응되도록 학습된 신경망 모델일 수 있다. 예를 들어, HW ISP(1110)에서 디모자이크만 수행하고 디노이즈를 수행하지 않는다면, 제1 보정 파라미터는 화이트 밸런스 조절, 색 보정 및 감마 값 조절뿐만 아니라 디노이즈까지 수행하도록 학습된 신경망 모델일 수 있다.In the
한편, 앞서 설명한 바와 같이 영상 보정 모듈(1200)에서의 신경망 모델 선택 시 이미지 센서(100)의 종류를 고려할 수 있는데, 예를 들어 영상 복원 모듈(1100)에서는 동일하게 HW ISP(1110)가 선택되었지만, 이미지 센서(100)에서 제2 이미지 센서 또는 제3 이미지 센서가 선택되었다면, 영상 보정 모듈(1200)에서는 제1 보정 파라미터가 아닌 다른 보정 파라미터가 선택될 수도 있다. 따라서, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 이미지 센서(100) 및 영상 복원 모듈(1100)의 조합에 대응되도록 학습된 것일 수 있다. 또한, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 촬영 환경에 대응되도록 학습된 것일 수 있다.Meanwhile, as described above, the type of
도 9를 참고하면, 줌 촬영 모드인 경우 이미지 센서(100)에서 제2 이미지 센서가 선택되고, 영상 복원 모듈(1100)에서는 제2 이미지 센서에 대응되는 SW ISP(1120)가 선택될 수 있다. 일 실시예에 따르면, 제2 이미지 센서는 다중 프레임을 캡처할 수 있는 이미지 센서로서 광각 렌즈와 매칭되는 이미지 센서일 수 있고, 제2 이미지 센서를 통해 획득한 복수의 프레임을 합성해서 확대하기 용이할 수 있다.Referring to FIG. 9 , in the zoom shooting mode, the second image sensor may be selected in the
일 실시예에 따르면, 줌 촬영 모드에서 제2 이미지 센서가 물리적으로 일정 배수만큼 확대한 영상을 SW ISP(1120)에 전달하면, SW ISP(1120)는 수신한 영상에 대해서 센터 크롭(center crop)을 수행한 후 크롭된 영역을 알고리즘을 통해 일정 배수만큼 확대할 수 있다. 또한, SW ISP(1120)는 디모자이크 및 슈퍼 레졸루션(Super Resolution, SR)을 더 수행하여 리니어 RGB 영상을 출력할 수 있다.According to one embodiment, in zoom shooting mode, when the second image sensor transmits an image physically enlarged by a certain number to the SW ISP (1120), the SW ISP (1120) performs a center crop on the received image. After performing , the cropped area can be enlarged by a certain number of times through an algorithm. Additionally, the
일 실시예에 따르면, 영상 복원 모듈(1100)의 세부 구성 선택 시 촬영 조건이 함께 고려될 수도 있는데, 예를 들어 줌 촬영 모드이고 제2 이미지 센서가 선택되었더라도, ISO 값이 일정 기준 이상으로 높다면 SW ISP(1120) 대신 AI 복원 ISP(1130)가 선택될 수도 있다. 또한, AI 복원 ISP(1130) 내에서도 ISO 값에 따라서 신경망 모델(복원 파라미터)이 선택될 수 있다.According to one embodiment, shooting conditions may also be considered when selecting the detailed configuration of the
영상 보정 모듈(1200)에서는 SW ISP(1120)에 대응되는 제2 보정 파라미터가 선택될 수 있다. 이때, 제2 보정 파라미터는 줌 촬영 모드 및 SW ISP(1120)에 대응되도록 학습된 신경망 모델일 수 있다. 예를 들어, 제2 보정 파라미터는 확대된 이미지에 적합한 영상 특성을 갖도록 영상을 보정할 수 있게 미리 학습된 신경망 모델일 수 있다. 이때, '확대된 이미지에 적합한 영상 특성'이란 일률적으로 정해지는 것이 아닌, 사용자 또는 관리자가 객관적인 통계 데이터나 개인 또는 다수의 선호도 등에 따라 미리 설정하는 것일 수 있다. 또한 예를 들어, 제2 보정 파라미터는 최종 영상 내 객체가 최대한 뚜렷하고 선명하게 나타나도록 영상 특성을 보정(e.g. 명암비를 높이도록 보정)할 수 있게 학습된 신경망 모델일 수 있다.In the
또한 일 실시예에 따르면, 줌 촬영 모드에 대응되는 SW ISP(1120)는 센터 크롭, 디모자이크 및 슈퍼 레졸루션을 수행하므로(디노이즈는 수행하지 않음), 그에 따라 제2 보정 파라미터는 화이트 밸런스 조절, 색 보정 및 감마 값 조절뿐만 아니라 디노이즈까지 수행하도록 학습된 신경망 모델일 수 있다.Also, according to one embodiment, the
한편, 앞서 설명한 바와 같이 영상 보정 모듈(1200)에서의 신경망 모델 선택 시 이미지 센서(100)의 종류를 고려할 수 있는데, 예를 들어 영상 복원 모듈(1100)에서는 동일하게 SW ISP(1120)가 선택되었지만, 이미지 센서(100)에서 제1 이미지 센서 또는 제3 이미지 센서가 선택되었다면, 영상 보정 모듈(1200)에서는 제2 보정 파라미터가 아닌 다른 보정 파라미터가 선택될 수도 있다. 따라서, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 이미지 센서(100) 및 영상 복원 모듈(1100)의 조합에 대응되도록 학습된 것일 수 있다. 또한, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 촬영 환경에 대응되도록 학습된 것일 수 있다.Meanwhile, as described above, the type of
도 10을 참고하면, 야간 촬영 모드인 경우 이미지 센서(100)에서 제3 이미지 센서가 선택되고, 영상 복원 모듈(1100)에서는 제3 이미지 센서에 대응되는 AI 복원 ISP(1130)가 선택될 수 있다. 일 실시예에 따르면, 제3 이미지 센서는 광각 렌즈에 매칭되는 이미지 센서일 수 있다. 앞서 도 5를 참조하여 설명한 바와 같이, AI 복원 ISP(1130)에서는 ISO 값에 기초하여 복수의 신경망 모델(복원 파라미터)들 중 어느 하나(제2 복원 파라미터)가 선택될 수 있다. 또한, AI 복원 ISP(1130)에서 선택된 제2 복원 파라미터는 ISO 값에 기초하여 결정되는 강도로 디노이즈를 수행할 수 있다.Referring to FIG. 10, in the night shooting mode, the third image sensor may be selected in the
일 실시예에 따르면, 영상 복원 모듈(1100)의 세부 구성 선택 시 촬영 조건이 함께 고려될 수도 있는데, 예를 들어 야간 촬영 모드이고 제3 이미지 센서가 선택되었더라도, ISO 값이 일정 기준 미만으로 낮다면 AI 복원 ISP(1130) 대신 SW ISP(1120) 또는 HW ISP(1110) 중 어느 하나가 선택될 수도 있다.According to one embodiment, shooting conditions may also be considered when selecting the detailed configuration of the
영상 보정 모듈(1200)에서는 AI 복원 ISP(1120)의 제2 복원 파라미터에 대응되는 제3 보정 파라미터가 선택될 수 있다. 이때, 제3 보정 파라미터는 AI 복원 ISP(1120)의 제2 복원 파라미터에 대응되도록 학습된 신경망 모델일 수 있다. 예를 들어, 제3 보정 파라미터는 암부를 최대한 선명하게 밝혀주도록 영상 특성을 보정(e.g. 특정 영역의 밝기를 높이도록 보정)할 수 있게 학습된 신경망 모델일 수 있다.In the
또한 일 실시예에 따라 AI 복원 ISP(1120)의 제2 복원 파라미터에서 디모자이크 및 디노이즈를 수행한다면, 제3 보정 파라미터는 디노이즈는 수행하지 않고, 화이트 밸런스 조절, 색 보정 및 감마 값 조절 등을 수행하도록 학습된 신경망 모델일 수 있다.In addition, according to one embodiment, if demosaicing and denoising are performed in the second restoration parameter of the
한편, 앞서 설명한 바와 같이 영상 보정 모듈(1200)에서의 신경망 모델 선택 시 이미지 센서(100)의 종류를 고려할 수 있는데, 예를 들어 영상 복원 모듈(1100)에서는 동일하게 AI 복원 ISP(1130)가 선택되었지만, 이미지 센서(100)에서 제2 이미지 센서 또는 제3 이미지 센서가 선택되었다면, 영상 보정 모듈(1200)에서는 제3 보정 파라미터가 아닌 다른 보정 파라미터가 선택될 수도 있다. 따라서, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 이미지 센서(100) 및 영상 복원 모듈(1100)의 조합에 대응되도록 학습된 것일 수 있다. 또한, 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 촬영 환경에 대응되도록 학습된 것일 수 있다.Meanwhile, as described above, the type of
이상 살펴본 바와 같이, 영상 보정 모듈(1200)의 신경망 모델은 이미지 센서(100)의 종류, 촬영 모드 및 촬영 조건 중 적어도 하나 이상에 기초하여 선택될 수 있다. 특히, 촬영 환경(촬영 모드 및 촬영 조건)에 따라 이미지 센서(100)의 종류 및 영상 복원 모듈(1100)의 세부 구성이 선택되면, 그에 따라 영상 보정 모듈(1200)의 신경망 모델이 선택될 수 있다.As described above, the neural network model of the
또한 일 실시예에 따르면, 영상 보정 모듈(1200)의 신경망 모델은 각각의 촬영 모드에 대응되도록 선택될 수 있고, 선택되는 신경망 모델은 대응되는 촬영 모드에 따라 적절하게 영상 특성을 보정하는 방향으로 미리 학습된 것일 수 있다. 이때, '각각의 촬영 모드에 따라 적절하게 영상 특성을 보정하는 방향'이란 사용자 또는 관리자가 객관적인 통계 데이터나 개인 또는 다수의 선호도 등에 따라서 미리 설정하는 것일 수 있다.Additionally, according to one embodiment, the neural network model of the
아래에서는 지금까지 설명한 실시예들의 프로세스를 순서도를 참조하여 설명한다. 도 11 내지 도 14는 본 개시의 실시예들에 따른, 신경망 모델을 이용하여 영상 신호를 처리하는 방법을 설명하기 위한 순서도들이다.Below, the processes of the embodiments described so far will be described with reference to the flow chart. 11 to 14 are flowcharts for explaining a method of processing an image signal using a neural network model according to embodiments of the present disclosure.
도 11을 참고하면, 1101 단계에서 컴퓨팅 장치(e.g. 도 3의 사용자 단말(3000))는 이미지 센서를 통해 촬영된 영상을 획득할 수 있다. 이때, 이미지 센서는 서로 다른 종류의 복수의 이미지 센서들 중에서, 촬영 조건 및 촬영 모드 중 적어도 하나 이상에 기초하여 선택된 것일 수 있다.Referring to FIG. 11, in
1102 단계에서 컴퓨팅 장치는 영상의 촬영 환경(촬영 조건, 촬영 모드)을 확인할 수 있다. 일 실시예에 따르면, 컴퓨팅 장치는 영상의 메타데이터로부터 영상이 촬영된 시간 및 장소, 그리고 ISO 값 등의 촬영 조건을 획득할 수 있다. 컴퓨팅 장치가 이미지 센서를 포함하는 경우, 즉 컴퓨팅 장치를 통해 영상을 촬영하는 경우라면 컴퓨팅 장치는 촬영 시 설정된 촬영 모드를 직접 확인할 수 있다. 또는 컴퓨팅 장치가 이미지 센서를 포함하지 않고, 촬영된 영상을 수신하여 영상 신호 처리만을 수행하는 경우라면 컴퓨팅 장치는 수신한 영상의 메타데이터로부터 촬영 모드를 확인할 수 있다.In
일 실시예에 따르면, 촬영 환경은 촬영 조건 및 촬영 모드 중 적어도 하나를 포함할 수 있다. 촬영 조건은 영상의 ISO 값, 영상이 촬영된 시간 및 장소 중 적어도 하나를 포함할 수 있다. 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌 촬영 모드 중 적어도 하나를 포함할 수 있다.According to one embodiment, the shooting environment may include at least one of shooting conditions and shooting modes. The shooting conditions may include at least one of the ISO value of the image and the time and place at which the image was captured. The shooting mode may include at least one of a normal shooting mode, a night shooting mode, and a zoom shooting mode.
1103 단계에서 컴퓨팅 장치는 촬영 환경에 따라서 영상 복원 모듈 및 영상 보정 모듈 중 적어도 하나에 포함되는 신경망 모델을 선택할 수 있다. 1103 단계에 포함되는 세부 단계들을 도 12에 도시하였다.In
도 12를 참고하면, 1201 단계에서 컴퓨팅 장치는 촬영 환경 및 선택된 이미지 센서의 종류 중 적어도 하나 이상에 기초하여 영상 복원 모듈의 세부 구성을 선택할 수 있다. 1201 단계에 포함되는 세부 단계들을 도 13에 도시하였다.Referring to FIG. 12 , in
도 13을 참고하면, 1301 단계에서 컴퓨팅 장치는 촬영 모드 또는 선택된 이미지 센서의 종류 중 적어도 하나 이상에 기초하여 1차적으로 세부 구성을 선택할 수 있다.Referring to FIG. 13, in
1302 단계에서 컴퓨팅 장치는 촬영 조건에 기초하여, 1차적으로 선택된 세부 구성을 유지하거나 변경할 수 있다. 예를 들어, 컴퓨팅 장치는 촬영 조건에 포함된 ISO 값을 고려했을 때, 1차적으로 선택된 세부 구성을 변경할 필요가 있다면, ISO 값에 기초하여 새로운 세부 구성을 선택할 수 있다. 일 실시예에 따르면, 촬영 모드 또는 이미지 센서의 종류에 대응되는 영상 복원 모듈의 세부 구성이 미리 지정될 수 있다.In
다시 도 12로 돌아가서, 일 실시예에 따르면 1201 단계에서 영상 복원 모듈의 세부 구성을 선택함에 있어서, 컴퓨팅 장치는 촬영 조건에 포함된 ISO 값에 기초하여, 영상 복원 모듈에 포함된 복수의 신경망 모델들 중 어느 하나를 선택할 수도 있다. 이때, 영상 복원 모듈에서 선택된 신경망 모델은, 디노이즈 기능을 포함하며, 촬영 조건에 포함된 ISO 값에 대응되는 노이즈를 포함하는 영상을 이용하여 학습된 신경망 모델일 수 있다.Returning to FIG. 12, according to one embodiment, in selecting the detailed configuration of the image restoration module in
1202 단계에서 컴퓨팅 장치는 촬영 환경, 선택된 이미지 센서의 종류 및 선택된 영상 복원 모듈의 세부 구성 중 적어도 하나 이상에 기초하여, 영상 보정 모듈에 포함된 복수의 신경망 모델 중 어느 하나를 선택할 수 있다. 일 실시예에 따르면, 컴퓨팅 장치는 선택된 이미지 센서의 종류 및 선택된 영상 복원 모듈의 세부 구성의 조합에 대응되는 신경망 모델을 선택할 수 있다. 이때 선택된 신경망 모델은, 영상이 촬영된 촬영 환경에 따라 영상 특성을 보정하도록 학습된 신경망 모델일 수 있다.In
다시 도 11로 돌아가서, 1104 단계에서 컴퓨팅 장치는 선택된 신경망 모델을 이용하여 영상을 처리할 수 있다.Returning to FIG. 11 , in
도 14에는 촬영 환경에 따라 이미지 센서의 종류, 영상 복원 모듈의 세부 구성 및 영상 보정 모듈의 신경망 모델을 순차적으로 선택하는 실시예를 설명하기 위한 순서도를 도시하였다.Figure 14 shows a flow chart to explain an embodiment of sequentially selecting the type of image sensor, the detailed configuration of the image restoration module, and the neural network model of the image correction module according to the shooting environment.
도 14를 참고하면, 1401 단계에서 컴퓨팅 장치는 촬영 조건 및 촬영 모드에 기초하여 이미지 센서의 종류를 선택할 수 있다. 일 실시예에 따르면, 촬영 조건 및 촬영 모드의 조합별로 대응되는 이미지 센서의 종류가 미리 정해져 있을 수 있다. 또는 일 실시예에 따르면, 촬영 모드별로 대응되는 이미지 센서의 종류가 미리 정해져 있을 수도 있다. 또는 일 실시예에 따르면, 촬영 모드별로 대응되는 이미지 센서의 종류가 미리 정해져 있어, 컴퓨팅 장치는 기본적으로 촬영 모드에 따라서 이미지 센서의 종류를 선택하되, 촬영 조건이 특정 기준을 충족하는 경우 다른 이미지 센서를 선택할 수도 있다.Referring to FIG. 14, in
1402 단계에서 컴퓨팅 장치는 선택된 이미지 센서의 종류에 따라서 영상 복원 모듈의 세부 구성을 선택할 수 있다. 이를 위해, 각각의 이미지 센서의 종류마다 대응되는 영상 복원 모듈의 세부 구성이 미리 정해져 있을 수 있다. 예를 들어, 선택된 이미지 센서가 줌 촬영을 수행하기 위한 이미지 센서라면, 영상 복원 모듈에서는 센터 크롭 및 확대를 수행하는 세부 구성이 선택될 수 있다.In
1403 단계에서 컴퓨팅 장치는 선택된 이미지 센서의 종류 및 선택된 영상 복원 모듈의 세부 구성의 조합에 따라서 영상 보정 모듈에 포함된 복수의 신경망 모델들 중 어느 하나를 선택할 수 있다. 이때 선택되는 신경망 모델은, 선택된 이미지 센서의 종류 및 선택된 영상 복원 모듈의 세부 구성의 조합에 대응되는 촬영 환경에 따라 영상 특성을 보정하도록 학습된 신경망 모델일 수 있다. 예를 들어, 선택된 이미지 센서의 종류 및 선택된 영상 복원 모듈의 세부 구성의 조합에 대응되는 촬영 환경이, 저조도에서 줌 촬영 모드로 촬영을 하는 경우라면, 영상 보정 모듈에서 선택되는 신경망 모델은 밝기 및 명암비를 증가시키도록 학습된 신경망 모델일 수 있따.In
1404 단계에서 컴퓨팅 장치는 선택된 영상 복원 모듈의 세부 구성 및 선택된 영상 보정 모듈의 신경망 모델을 이용하여, 선택된 이미지 센서에서 촬영된 영상을 처리할 수 있다.In
4. 응용 실시예 - 객체 인식 결과를 반영한 이미지 센서, 영상 복원 모듈 및 영상 보정 모듈의 선택4. Application Example - Selection of an image sensor, image restoration module, and image correction module reflecting object recognition results
이하에서는 구체적인 실시예로서, 객체 인식 모드(e.g. 객체 인식하는 AI 카메라 모드)로 촬영을 수행하는 경우 객체 인식 결과에 따라 이미지 센서, 영상 복원 모듈 및 영상 보정 모듈의 조합을 변경하는 방식에 대해서 도 15를 참조하여 설명한다.Hereinafter, as a specific embodiment, when shooting in object recognition mode (e.g. AI camera mode that recognizes objects), the method of changing the combination of the image sensor, image restoration module, and image correction module according to the object recognition result is shown in Figure 15. It is explained with reference to .
도 15를 참고하면, 객체 인식 모드에 따라 제1 이미지 센서에서 영상을 촬영하고, 촬영된 영상은 영상 복원 모듈(1100)의 AI 복원 ISP(1130)를 통해 처리될 수 있다. 도 15의 실시예에서 AI 복원 ISP(1130)는 제2 복원 파라미터로 세팅된 상태에서 영상 신호를 처리하는데, 제2 복원 파라미터는 촬영 모드(객체 인식 모드) 및 촬영 조건(e.g. ISO 값)에 기초하여 선택될 것일 수 있다.Referring to FIG. 15, an image is captured by the first image sensor according to the object recognition mode, and the captured image may be processed through the
도 15의 실시예에서 영상 보정 모듈(1200)에서는 제1 이미지 센서와 제2 복원 파라미터의 조합에 대응되는, 제3 보정 파라미터가 선택되었다. 일 실시예에 따르면, 제3 보정 파라미터는 객체 인식 정확도를 높이는 방향으로 영상 특성을 보정하도록 학습된 신경망 모델일 수 있다.In the embodiment of FIG. 15 , a third correction parameter corresponding to a combination of the first image sensor and the second restoration parameter is selected in the
객체 인식 모듈(1510)은 영상 보정 모듈(1200)이 출력한 영상으로부터 객체를 인식할 수 있다. 일 실시예에 따르면, 객체 인식 모듈(1510)은 객체 인식 결과에 기초하여 이미지 센서(100)의 변경을 요청할 수 있다. 또한 일 실시예에 따르면, 객체 인식 모듈(1510)은 객체 인식 결과에 기초하여 사용자에게 다른 촬영 모드를 추천하거나, 자동으로 촬영 모드를 변경할 수도 있다.The
예를 들어, 객체 인식을 수행한 결과 달(moon)이 인식되었다면, 객체 인식 모듈(1510)은 광각 렌즈와 매칭된 이미지 센서로 변경하도록 이미지 센서(100)에 요청하거나, 사용자에게 광각 촬영 모드로 변경할 것을 추천하거나, 자동으로 광각 촬영 모드로 변경할 수 있다.For example, if the moon is recognized as a result of object recognition, the
객체 인식 결과에 따라서 이미지 센서(100)의 종류 또는 촬영 모드가 변경되면, 그에 따라 영상 복원 모듈(1100)의 세부 구성 및 영상 보정 모듈(1200)의 신경망 모델도 변경될 수 있다.If the type or shooting mode of the
이와 같이 객체 인식 결과에 따라서 이미지 센서(100)의 종류, 영상 복원 모듈(1100)의 세부 구성 및 영상 보정 모듈(1200)의 신경망 모델이 변경되면, 변경된 설정에 따라서 다시 영상 신호를 처리하여 최종 영상을 출력할 수 있다.In this way, if the type of
도 15에 도시된 실시예에서는 객체 인식 모듈(1510)이 영상 보정 모듈(1200)에서 출력된 영상으로부터 객체를 인식하지만, 객체 인식 모듈(1510)은 다른 위치에서 객체 인식을 수행할 수도 있다. 예를 들어, 객체 인식 모듈(1510)은 이미지 센서(100)에서 출력된 영상으로부터 객체를 인식할 수도 있고, 또는 영상 복원 모듈(1100)로부터 출력된 영상으로부터 객체를 인식할 수도 있다.In the embodiment shown in FIG. 15, the
5. 영상 보정 모듈에 포함되는 신경망 모델의 학습5. Learning of the neural network model included in the image correction module
앞서 설명한 바와 같이 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 촬영 환경별로 영상 특성의 보정 방향을 다르게 설정(e.g. 줌 촬영 모드의 경우 명암비 증가, 야간 촬영 모드의 경우 발기 증가 등)하여 학습될 수 있는데, 이하에서는 도 16 내지 도 33을 참조하여 영상 보정 모듈(1200)에 포함되는 신경망 모델을 학습시키는 방법에 대해서 설명한다.As described above, the neural network models included in the
이하의 실시예들에서 영상 보정 모듈(1200)에 포함되는 신경망 모델들은 각각 두 개의 신경망 모델(제1 신경망 모델 및 제2 신경망 모델)을 포함한다고 가정한다. 다시 말해, 영상 보정 모듈(1200)에 포함되는 각각의 보정 파라미터는, 제1 신경망 모델을 세팅하기 위한 파라미터와 제2 신경망 모델을 세팅하기 위한 파라미터를 모두 포함한다.In the following embodiments, it is assumed that the neural network models included in the
본 개시의 실시예들에 따른 영상 보정 모듈(1200)에 포함되는 각각의 신경망 모델들은 입력 영상을 보정하여 추론 영상을 출력하는 '제1 신경망 모델'과, 주어진 입력 영상에 대해서 최적의 보정 파라미터를 추론하는 '제2 신경망 모델'을 포함할 수 있다.Each neural network model included in the
(1) 제1 신경망 모델 및 제2 신경망 모델의 기본적인 동작 설명(1) Description of the basic operation of the first neural network model and the second neural network model
먼저 도 16 및 도 17을 참조하여 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)의 역할에 대해서 간략히 설명하고, 이어서 도 18 및 도 19를 참조하여 그러한 역할을 수행하기 위해 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 어떻게 학습시키는지에 대해서 설명한다.First, with reference to FIGS. 16 and 17, the roles of the first
도 16은 본 개시의 일 실시예에 따른 제1 신경망 모델(1210)의 동작을 설명하기 위한 도면이다. 도 16을 참고하면, 일 실시예에 따른 제1 신경망 모델(1210)은 입력 영상(161) 및 보정 파라미터(1610)를 입력받으면, 보정 파라미터(1610)에 대응하는 추론 영상(162)을 출력할 수 있다. 이때, 추론 영상(162)은 보정 파라미터(1610)에 기초하여 입력 영상(161)이 보정된 영상에 해당한다. 제1 신경망 모델(1210)이 이와 같은 추론 영상(162)을 출력하기 위해서 어떻게 학습되는지에 대해서는 아래에서 도 18을 참조하여 자세히 설명한다.FIG. 16 is a diagram for explaining the operation of the first
일반적으로 입력 영상(161)은 영상의 전체 또는 일부 영역이 어둡거나, 명암비가 낮아 영상 내 객체가 잘 인식되지 않는 문제를 가지고 있을 수 있다. 제1 신경망 모델(1210)은 이러한 문제를 해결하도록 입력 영상(161)의 밝기를 높이거나 명암비를 개선하는 역할을 수행할 수 있다.In general, the
제1 신경망 모델(1210)은 도 16에 도시된 바와 같이 추론 영상(162)을 출력할 수도 있지만, 영상 자체를 출력하지 않고 입력 영상(161)을 추론 영상(162)으로 변환하는데 사용되는 필터(filter) 또는 맵 정보(map information)를 출력할 수도 있다. 즉, 입력 영상(161)은 제1 신경망 모델(1210)이 출력하는 필터 또는 맵 정보를 이용하여 추론 영상(162)으로 변환될 수도 있다.The first
제1 신경망 모델(1210)은 다양한 종류의 딥러닝 네트워크를 포함하도록 구현될 수 있으며, 예를 들어 합성곱 신경망(Convolution Neural Network, CNN)의 한 종류인 ResNet (Residual Network)로 구현될 수도 있으나, 이에 한정되지 않는다.The first
도 17은 본 개시의 일 실시예에 따른 제2 신경망 모델(1220)의 동작을 설명하기 위한 도면이다. 도 17을 참고하면, 일 실시예에 따른 제2 신경망 모델(1220)은 입력 영상(161)을 입력받아 보정 파라미터(1610)를 추론하여 출력할 수 있다. 제2 신경망 모델(1220)에서 출력된 보정 파라미터(1610)는 제1 신경망 모델(1210)에 입력되고, 제1 신경망 모델(1210)은 앞서 도 16을 참조하여 설명한 바와 같이 보정 파라미터(1610)에 대응하는 추론 영상(162)을 출력할 수 있다.FIG. 17 is a diagram for explaining the operation of the second
제2 신경망 모델(1220)은 사용자가 좋아할 만한 영상 특성을 가지도록 입력 영상(161)을 보정하기 위한 보정 파라미터(1610)를 추론할 수 있다. 이때, 제2 신경망 모델(1220)이 추론하는 보정 파라미터(1610)로 인해 입력 영상(161)이 어떤 방향으로 보정되는지는 제2 신경망 모델(1220)의 학습 과정에서 결정될 수 있으며, 자세한 내용은 아래에서 도 19를 참조하여 설명한다.The second
제2 신경망 모델(1220) 역시 다양한 종류의 딥러닝 네트워크를 포함하도록 구현될 수 있으며, 예를 들어 합성곱 신경망(Convolution Neural Network, CNN)의 한 종류인 ResNet (Residual Network)으로 구현될 수도 있으나, 이에 한정되지 않는다.The second
(2) (학습 과정) 제1 신경망 모델 및 제2 신경망 모델을 학습시키는 방법(2) (Learning process) Method of training the first neural network model and the second neural network model
이하에서는 도 18 및 도 19를 참조하여 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 학습시키는 방법에 대해서 설명한다.Hereinafter, a method of learning the first
일 실시예에 따르면, 신경망 모델들(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)가 수행하는 것으로 볼 수 있다.According to one embodiment, the learning of the
도 31의 컴퓨팅 장치(500)의 프로세서(530)는 CPU(531), GPU(532) 및 NPU(533)를 포함할 수 있으며, 이들 중 적어도 하나를 이용하여 메모리(520)에 저장된 프로그램을 실행함으로써 신경망 모델(1210, 1220)에 대한 학습을 수행할 수 있다. 컴퓨팅 장치(500)의 입출력 인터페이스(510)는 신경망 모델(1210, 1220)의 학습과 관련한 명령을 수신하거나 정보를 표시할 수 있다.The
도 18은 본 개시의 일 실시예에 따른 제1 신경망 모델(1210)을 학습시키는 과정을 설명하기 위한 도면이다. 도 18을 참고하면, 레이블 영상 생성 모듈(1810)은 적어도 하나 이상의 영상 보정 알고리즘을 이용하여 입력 영상(161)을 보정한 레이블 영상(163)을 출력할 수 있다. 레이블 영상 생성 모듈(1810)이 입력 영상(161)을 보정할 때 영상 보정 알고리즘에 보정 파라미터(1610)가 적용되는데, 레이블 영상 생성 모듈(1810)이 사용하는 영상 보정 알고리즘, 그리고 보정 파라미터(1610)에 대해서는 도 20 내지 도 23을 참조하여 자세히 설명한다.FIG. 18 is a diagram for explaining a process of learning the first
도 20는 본 개시의 일 실시예에 따른 레이블 영상 생성 모듈(1810)이 입력 영상(161)으로부터 레이블 영상(163)을 생성하는 과정을 설명하기 위한 도면이다. 도 20을 참고하면, 레이블 영상 생성 모듈(1810)은 명암비 개선 (contrast enhancement) 알고리즘(1811), 밝기 보정 (brightness correction) 알고리즘(1812) 및 노출 융합 (exposure fusion) 알고리즘(1813)을 사용할 수 있다. 다만, 도 20에 개시된 레이블 영상 생성 모듈(1810)이 사용하는 영상 보정 알고리즘들은 예시에 불과하며, 레이블 영상 생성 모듈(1810)은 이 밖에 다양한 종류의 영상 보정 알고리즘들을 사용할 수도 있다.FIG. 20 is a diagram illustrating a process in which the label
도 20에는 보정 파라미터(1610)에 구체적으로 어떤 파라미터들이 포함되는지, 그리고 각 파라미터들은 어떤 영상 보정 알고리즘에 대응되는지를 나타내었다. 도 20을 참고하면, 명암비 개선 알고리즘(1811)에는 스트렝스 (strength) 값(1611)이 적용될 수 있고, 밝기 보정 알고리즘(1812)에는 감마 (gamma) 값(1612)이 적용될 수 있고, 노출 융합 알고리즘(1813)에는 α 값(1613)이 적용될 수 있다. 각각의 영상 보정 알고리즘에 적용되는 파라미터들(1611, 1612, 1613)에 대해서 도 21 내지 23을 참조하여 설명한다.FIG. 20 shows which parameters are specifically included in the
도 21은 본 개시의 일 실시예에 따른 명암비 개선 알고리즘(1811)에 적용되는 스트렝스 값(1611)에 대해서 설명하기 위한 도면이다. 일 실시예에 따른 명암비 개선 알고리즘(1811)은 커브(curve)를 이용하여 명암비를 조절하는 방식이다.FIG. 21 is a diagram for explaining the
도 21의 그래프(2100)를 참고하면, 스트렝스 값(1611)에 따라서 S-커브 (S-curve)의 곡률이 변화하고, 특히 스트렝스 값(1611)이 높아짐에 따라 S-커브의 곡률이 커짐을 알 수 있다. S-커브의 기울기가 증가하면 색조(tone)는 스트레칭(stretching)되고, 따라서 명암비가 증가하게 된다. 따라서, 스트렝스 값(1611)이 클수록, 명암비 개선 알고리즘(1811)은 입력 영상(161)의 명암비를 증가시킬 수 있다.Referring to the
도 22는 본 개시의 일 실시예에 따른 밝기 보정 알고리즘(1812)에 적용되는 감마 값(1612)에 대해서 설명하기 위한 도면이다. 도 22의 그래프(2200)에는 감마 값(1612)에 따른 감마 곡선을 도시하였다. 그래프(2200)의 x 축은 명암 표현 수치를 나타내고, y 축은 밝기를 나타낸다. 도 22의 그래프(2200)를 참고하면, 감마 값(1612)이 작아질수록 밝기가 증가함을 알 수 있다. 따라서, 감마 값(1612)이 작을수록, 밝기 보정 알고리즘(1812)은 입력 영상(161)의 밝기를 증가시킬 수 있다.FIG. 22 is a diagram for explaining the
도 23은 본 개시의 일 실시예에 따른 노출 융합 알고리즘(1813)에 적용되는 α 값(1613)에 대해서 설명하기 위한 도면이다. 노출 융합 알고리즘(1813)은 기본 영상(X)으로부터 노출이 다른 가공 영상(X')을 생성하고, 기본 영상(X) 및 가공 영상(X')에 각각 가중치 W 및 (1-W)를 곱한 후 합하여 융합 영상(F)을 출력할 수 있다. 일 실시예에 따르면, 기본 영상(X)이 도 20의 입력 영상(161)에 해당되고, 출력되는 융합 영상(F)이 도 20의 레이블 영상(163)에 해당될 수 있다.FIG. 23 is a diagram for explaining the
노출 융합 알고리즘(1813)은 다음의 수학식 1에 따라서 기본 영상(X)으로부터 가공 영상(X')을 생성할 수 있다.The
이상 설명한 방식에 따라서 노출 융합 알고리즘(1813)을 수행한다면, α 값(1613)이 클수록 융합 영상(F)은 기본 영상(X) 대비 밝아질 수 있고, 또한 β 값이 작을수록 융합 영상(F)은 기본 영상(X) 대비 밝아질 수 있다. 도 5에서는 노출 융합 알고리즘(1813)에 대한 보정 파라미터로서 α 값(1613)이 사용되는 것으로 도시하였으나, α 값(1613) 대신 β 값이 보정 파라미터로 사용되거나, α 값(1613) 및 β 값 모두가 보정 파라미터로서 사용될 수도 있다.If the
레이블 영상 생성 모듈(1810)은 이상 설명한 영상 보정 알고리즘들(1811, 1812, 1813)에 보정 파라미터(1611, 1612, 1613)를 적용함으로써 입력 영상(161)의 특성들 중 적어도 하나 이상을 조절한 레이블 영상(163)을 출력할 수 있다. 레이블 영상 생성 모듈(1810)은 도 20에 도시된 영상 보정 알고리즘들(1811, 1812, 1813) 중 적어도 하나 이상의 조합을 사용할 수도 있고, 또는 도 20에 도시되지 않은 다른 종류의 영상 보정 알고리즘을 사용할 수도 있다.The label
일 실시예에 따르면, 보정 파라미터(1610)에 포함된 파라미터 값들(1611, 1612, 1613)의 순서는 학습 시와 추론 시에 동일하게 유지될 수 있다. 다시 말해 일 실시예에 따르면, 학습 시에 사용된 보정 파라미터(1610) 내의 파라미터 종류(1611, 1612, 1613)의 순서는, 사용 시에도 동일하게 유지될 수 있다.According to one embodiment, the order of the
예를 들어, 보정 파라미터(1610)가 열 벡터(column vector)의 형태라면, 각 행(row)의 원소(element)는 학습 시와 추론 시에 동일한 종류의 파라미터(동일한 영상 보정 알고리즘에 적용되는 파라미터)에 해당될 수 있다.For example, if the
구체적인 예를 들어 설명하면 다음과 같다.To explain with a specific example, it is as follows.
도 20에 도시된 실시예에서와 같이, 학습 시 사용된 보정 파라미터(열 벡터)(1610)의 첫 번째 행(row)의 원소가 명암비 개선 알고리즘(1811)에 적용되는 파라미터(1611)이고, 두 번째 행의 원소가 밝기 보정 알고리즘(1812)에 적용되는 파라미터(1612)이고, 세 번째 행의 원소가 노출 융합 알고리즘(1813)에 적용되는 파라미터(1613)였다면, 추론 시에 사용되는 보정 파라미터 역시 첫 번째 행의 원소는 명암비 개선 알고리즘(1811)에 적용되는 파라미터(1611)이고, 두 번째 행의 원소는 밝기 보정 알고리즘(1812)에 적용되는 파라미터(1612)이고, 세 번째 행의 원소는 노출 융합 알고리즘(1813)에 적용되는 파라미터(1613)일 수 있다.As in the embodiment shown in FIG. 20, the element of the first row of the correction parameter (column vector) 1610 used during learning is the
관련하여 도 24를 참조하여 설명하면 다음과 같다.In relation to this, it is explained with reference to FIG. 24 as follows.
도 24를 참고하면, 두 개의 파라미터 값들(1614, 1615)은 입력 영상(161) 및 입력 영상(161)으로부터 변환된 회색조 영상과 스케일드 컨캐터네이션(도 25의 2501 참고)된 후 제1 신경망 모델(1210)에 입력된다. 즉, 파라미터 값들(1614, 1615)이 각각 곱해진(또는 나누어지거나 더해진) 회색조 영상들이 입력 영상(161)에 채널 방향으로 붙어 제1 신경망 모델(1210)에 입력되는데, 이때 채널 순서는 학습 시와 추론 시에 동일해야 하기 때문에, 위에서 설명한 바와 같이 보정 파라미터(1610)에 포함된 파라미터 값들(1614, 1615)의 순서는 학습 시와 추론 시에 동일하게 유지되어야 하는 것이다.Referring to FIG. 24, the two
또한 일 실시예에 따르면, 도 20에 도시된 실시예에서 보정 파라미터(1610)에 포함된 파라미터 값들(1611, 1612, 1613) 각각의 비트(bit) 수는 학습 시와 추론 시에 동일하게 유지될 수 있다. 보정 파라미터(1610)에 포함된 파라미터 값들(1611, 1612, 1613)의 순서와, 파라미터 값들(1611, 1612, 1613) 각각의 비트 수가 학습 시와 추론 시에 동일하게 유지되는 실시예에 대해서 자세히 설명하면 다음과 같다.Also, according to one embodiment, the number of bits of each of the
신경망 모델들(1210, 1220)의 학습 시에 사용된 보정 파라미터(1610)가 "01010110"의 이진 데이터라고 가정한다. 그리고, 앞에서부터 순서대로 3 비트의 데이터("010")가 명암비 개선 알고리즘(1811)에 적용되기 위한 파라미터(1611)이고, 이어지는 2 비트의 데이터("10")가 밝기 보정 알고리즘(1812)에 적용되기 위한 파라미터(1612)이고, 마지막 3 비트의 데이터("110")가 노출 융합 알고리즘(1813)에 적용되기 위한 파라미터(1613)라고 가정한다.It is assumed that the
이와 같은 각 파라미터(1611, 1612, 1613)들의 비트 수 및 파라미터들(1611, 1612, 1613) 간의 순서는 신경망 모델들(1210, 1220)의 사용(추론) 시에도 동일하게 유지되어야 한다. 예를 들어, 추론 시에 제1 신경망 모델(1210)에 "10111100"의 이진 데이터가 보정 파라미터(1610)로서 입력되었다면, 앞에서부터 순서대로 3 비트의 데이터("101")가 명암비 개선 알고리즘(1811)에 적용되기 위한 파라미터(1611)가 되고, 이어지는 2 비트의 데이터("11")가 밝기 보정 알고리즘(1812)에 적용되기 위한 파라미터(1612)가 되고, 마지막 3 비트의 데이터("100")가 노출 융합 알고리즘(1813)에 적용되기 위한 파라미터(1613)가 된다.The number of bits of each parameter (1611, 1612, 1613) and the order between the parameters (1611, 1612, 1613) must remain the same even when using (inference) the neural network models (1210, 1220). For example, if binary data of "10111100" is input as the
다시 도 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)이 보정된 영상일 수 있다.Returning to FIG. 18 , the
다시 말해, 옵티마이저 (optimizer) (1820)는 추론 영상(162) 및 레이블 영상(163) 간 차이를 나타내는 손실함수(1620)의 손실값이 최소가 되도록 제1 신경망 모델(1210)을 업데이트할 수 있다. 이때, 손실함수(1620)는 평균 절대 오차 (Mean Absolute Error, MAE), 평균 제곱 오차 (Mean Square Error, MSE) 및 SSIM (Structural Similarity Index Measure) 등의 조합으로 구성될 수 있다.In other words, the
이상 설명한 바와 같이, 제1 신경망 모델(1210)의 학습 시에는 입력 영상(161), 레이블 영상(163) 및 보정 파라미터(1610)가 훈련용 데이터로서 사용될 수 있다. 일 실시예에 따르면, 여러 입력 영상(161)에 대해서 보정 파라미터(1610)를 변화시켜가면서 복수의 레이블 영상(163)들을 생성하고, 이렇게 수집된 입력 영상(161), 레이블 영상(163) 및 보정 파라미터(1610)의 조합을 훈련용 데이터로 사용하여 제1 신경망 모델(1210)을 학습시킬 수 있다.As described above, when learning the first
이와 같이, 제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를 참조하여 설명한다.In this way, when learning the first
도 24는 본 개시의 일 실시예에 따른, 보정 파라미터를 제1 신경망 모델에 대한 입력으로 인가하는 방법을 설명하기 위한 도면이다. 도 24에 도시된 실시예에서 보정 파라미터(1610)는 제1 파라미터(1614) 및 제2 파라미터(1615)를 포함한다고 가정한다.FIG. 24 is a diagram illustrating a method of applying a correction parameter as an input to a first neural network model, according to an embodiment of the present disclosure. In the embodiment shown in FIG. 24, it is assumed that the
도 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)에 입력될 수 있다.Referring to FIG. 24, the
한편, 도 24에서는 회색조 영상에 제1 파라미터(1614) 및 제2 파라미터(1615)가 곱해진 후 입력 영상에 컨캐터네이션되는 것으로 도시하였으나, 일 실시예에 따르면 곱셈 이외에 다른 연산을 이용하여 회색조 영상과 파라미터들(1614, 1615)을 처리하는 것도 가능하다. 예를 들어, 회색조 영상을 제1 및 제2 파라미터(1614, 1615) 각각으로 나눈 후 입력 영상에 컨캐터네이션할 수도 있고, 또는 회색조 영상에 제1 및 제2 파라미터(1614, 1615) 각각을 더한 후 입력 영상에 컨캐터네이션할 수도 있다.Meanwhile, in FIG. 24, it is shown that the grayscale image is multiplied by the
도 19는 본 개시의 일 실시예에 따른 제2 신경망 모델(1220)을 학습시키는 과정을 설명하기 위한 도면이다. FIG. 19 is a diagram illustrating a process of learning a second
먼저 제2 신경망 모델(1220)을 사용하는 이유에 대해서 설명한다.First, the reason for using the second
제2 신경망 모델(1220)은 일반적으로 많은 사용자들이 좋다고 느낄만한 영상 특성(e.g. 신경망 모델의 설계자가 최적이라고 판단한 영상 특성)을 갖도록 입력 영상(161)을 보정하기 위한 보정 파라미터를 추론할 수 있다. 따라서, 제2 신경망 모델(1220)을 이용함으로써 사용자가 매번 보정 파라미터를 설정하거나 조정하지 않더라도 입력 영상(161)에 대해 최적의 영상 특성을 갖도록 보정하기 위한 보정 파라미터를 자동으로 생성(추론)하고, 그에 따라 입력 영상(161)을 보정하여 사용자에게 제시할 수 있다. 예를 들어, 사용자가 신경망 모델들(1210, 1220)이 탑재된 단말을 통해 영상을 촬영하면, 촬영된 영상을 제2 신경망 모델(1220)이 추론하는 보정 파라미터에 따라 보정하여 미리보기로 단말의 화면에 표시할 수 있다.The second
일 실시예에 따르면, 앞서 설명한 바와 같이 영상 보정 모듈(1200)에 포함되는 신경망 모델은 촬영 환경에 따라 적절하게 영상 특성을 보정하는 방향으로 미리 학습될 수 있다. 따라서, 사용자 또는 관리자는 원하는 보정 방향을 미리 설정하고, 설정된 방향으로 영상 특성을 보정하기 위한 보정 파라미터를 추론하도록 제2 신경망 모델(1220)을 학습시킬 수 있다. 이와 같이 할 경우, 사용자 또는 관리자는 직접 보정 파라미터(1610)를 조정할 필요 없이, 영상 특성의 보정 방향을 설정하는 것만으로 촬영 환경에 따라 적절하게 영상이 보정되도록 할 수 있다.According to one embodiment, as described above, the neural network model included in the
따라서, 단말의 사용자는 일차적으로 좋은 영상 특성(밝기, 명암비 등)을 갖는 영상을 미리보기를 통해 확인하고, 미리보기가 마음에 들지 않는 경우에만 영상 특성을 변경하도록 보정 파라미터를 조정할 수 있다.Therefore, the user of the terminal can first check the image with good image characteristics (brightness, contrast ratio, etc.) through a preview, and adjust the correction parameters to change the image characteristics only if the preview is not to their liking.
도 19를 참고하면, 입력 영상(161)을 입력받아 보정 파라미터(1610)를 추론하여 출력하는 제2 신경망 모델(1220)이 추가되었다. 도 19에 도시된 바와 같이 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)이 모두 연결된 상태에서 두 신경망 모델들(1210, 1220)에 대한 학습이 동시에 수행될 수도 있고, 제1 신경망 모델(1210)을 먼저 학습시키고, 학습된 제1 신경망 모델(1210)은 고정(제1 신경망 모델(1210)에 포함된 파라미터들을 고정)한 상태에서 제2 신경망 모델(1220)을 학습시킬 수도 있다. 또한, 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 각각 별도로 학습시킬 수도 있다.Referring to FIG. 19, a second
제2 신경망 모델(1220)의 학습 시에는 레이블 영상(163)의 특성(e.g. 밝기, 명암비, 색온도 등)을 정량적으로 수치화한 측정 특성값(1910)을 미리 설정된 목표 특성값(1920)과 비교하고, 둘 간의 차이가 최소가 되도록 제2 신경망 모델(1220)을 업데이트할 수 있다. 목표 특성값(1920)은 사용자(관리자)가 원하는 값으로 미리 설정할 수 있다. 즉 일 실시예에 따르면, 제2 신경망 모델(1220)은 입력 영상(161)이 입력되었을 때 제2 신경망 모델(1220)이 추론하는 보정 파라미터(1610)와, 레이블 영상(163)이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터(도 19에서 목표 특성값(1920)에 해당하는 영상을 레이블 영상 생성 모듈(1810)이 출력하도록 하는 보정 파라미터) 간 차이를 최소화하도록 학습된 모델일 수 있다.When learning the second
다시 말해, 옵티마이저 (optimizer) (1820)는 측정 특성값(1910) 및 목표 특성값(1920) 간 차이를 나타내는 제2 손실함수(1622)의 손실값이 최소가 되도록 제2 신경망 모델(1220)을 업데이트할 수 있다. 이때, 제2 손실함수(1622)는 평균 절대 오차 (Mean Absolute Error, MAE), 평균 제곱 오차 (Mean Square Error, MSE) 및 SSIM (Structural Similarity Index Measure) 등의 조합으로 구성될 수 있다.In other words, the
일 실시예에 따르면, 제2 신경망 모델(1220)의 학습 시 사용되는 측정 특성값(1910) 및 목표 특성값(1920)은 복수의 영상 특성 각각에 대응되는 복수의 값들을 포함할 수도 있다. 예를 들어, 측정 특성값(1910) 및 목표 특성값(1920)은 영상의 밝기를 정량적으로 수치화한 제1 특성값과, 영상의 색온도를 정량적으로 수치화한 제2 특성값을 포함할 수도 있다.According to one embodiment, the measurement
도 19에 도시된 실시예에서는, 제2 신경망 모델(1220)의 학습을 위해 레이블 영상(163)에 대한 측정 특성값(1910)을 획득하고, 획득된 측정 특성값(1910)을 미리 설정된 목표 특성값(1920)과 비교한다. 하지만, 일 실시예에 따르면 입력 영상(161)이 레이블 영상(163)으로 변환되는 과정의 중간에서 생성되는 영상(이하, '중간 레이블 영상'이라 함)에 대한 측정 특성값(1910)을 획득하고, 획득된 측정 특성값(1910)을 미리 설정된 목표 특성값(1920)과 비교함으로써 제2 신경망 모델(1220)을 학습시킬 수도 있다.In the embodiment shown in FIG. 19, the measurement
도 20을 함께 참조하여 구체적인 예를 들어 설명하면 다음과 같다.A specific example will be described with reference to FIG. 20 as follows.
일 실시예에 따르면, 제2 신경망 모델(1220)의 학습을 위해 특정값 측정 시 레이블 영상 생성 모듈(1810)에 포함된 복수의 영상 보정 알고리즘들(1811, 1812, 1813) 중에서 일부의 영상 보정 알고리즘만이 적용된 영상(중간 레이블 영상)에 대해서 특성값을 측정하고, 그렇게 측정된 특성값을 미리 설정된 목표 특성값과 비교하여 제2 신경망 모델(1220)을 학습시킬 수도 있다.According to one embodiment, when measuring a specific value for learning the second
도 20에서 입력 영상(161)이 레이블 영상 생성 모듈(1810)에 입력되면, 입력 영상(161)은 명암비 개선 알고리즘(1811), 밝기 보정 알고리즘(1812) 및 노출 융합 알고리즘(1813)을 순서대로 거쳐 레이블 영상(163)으로 변환된다고 가정한다.In Figure 20, when the
예를 들어, 입력 영상(161)에 명암비 개선 알고리즘(1811) 및 밝기 보정 알고리즘(1812)까지만 적용된 중간 레이블 영상(노출 융합 알고리즘(1813)에 대한 입력 영상)의 '밝기'를 정량적으로 수치화한 측정 특성값을 획득하고, 획득된 측정 특성값과 미리 설정된 '밝기'에 대한 목표 특성값 간의 차이(손실)가 최소가 되도록 제2 신경망 모델(1220)을 학습시킬 수도 있다. 이와 같이 제2 신경망 모델(1220)에 대한 학습을 수행한다면, 노출 융합 알고리즘(1813)에 적용되는 파라미터(1613)는 목표 밝기(목표 특성값에 대응되는 밝기)와는 무관하게 별도의 손실을 최소화하도록 학습될 수 있다.For example, a quantitative measurement of the 'brightness' of the intermediate label image (the input image to the exposure fusion algorithm 1813) to which only the
일 실시예에 따르면, 제2 신경망 모델(1220)은 복수의 신경망 모델들을 포함할 수도 있다. 예를 들어, 제2 신경망 모델(1220)이 제1 보정 파라미터 및 제2 보정 파라미터를 추론하는 경우, 각각의 보정 파라미터를 추론하기 위한 신경망 모델이 별도로 존재할 수 있다. 그리고 필요에 따라서 제3 보정 파라미터를 추론하기 위한 신경망 모델을 제2 신경망 모델(1220)에 추가함으로써, 제2 신경망 모델(1220)이 제1 내지 제3 보정 파라미터를 추론하도록 변경할 수도 있다.According to one embodiment, the second
(3) (사용 과정) 제1 신경망 모델 및 제2 신경망 모델을 이용하여 영상을 보정하는 방법(3) (Usage process) How to correct the image using the first neural network model and the second neural network model
앞서 살펴본 바와 같이, 일 실시예에 따르면 도 3의 사용자 단말(3000)의 카메라 모듈(3100)에 ISP(3130)가 포함될 수 있고, 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)은 ISP(3130)의 영상 보정 모듈(3132)에 포함될 수 있다.As seen above, according to one embodiment, the
도 25는 본 개시의 실시예에 따른 신경망 모델들(1210, 1220)이 도 3의 영상 보정 모듈(3132)에 포함되는 구체적인 실시예를 도시한 도면이다.FIG. 25 is a diagram illustrating a specific embodiment in which
도 25를 참고하면, 일 실시예에 따른 영상 보정 모듈(2500)은 제1 전처리부(2510), 제2 전처리부(2520), 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 포함할 수 있다.Referring to FIG. 25, the
제1 전처리부(2510)는 입력 영상(161)을 회색조 영상으로 변환하기 위한 구성으로서, 메타 데이터에 포함된 자동 화이트 밸런스(Auto White Balance, AWB) 게인(gain), 색 보정 행렬(Color Correction Matrix, CCM) 및 감마(Gamma) 등을 입력 영상(1)에 적용한 후, 픽셀별로 RGB의 최대값을 추출하는 채널 와이즈 맥스(Channel wise MAX)를 수행함으로써, 입력 영상(161)을 회색조 영상으로 변환하여 출력할 수 있다.The
제2 전처리부(2520)는 제1 전처리부(2510)에서 출력된 회색조 영상으로부터 픽셀값의 평균(mean) 및 분산(variance)을 추출하고, 추출된 평균 및 분산을 입력 영상(161) 및 회색조 영상과 함께 스케일드 컨캐터네이션(scaled concatenation)하여 출력한다. 스케일드 컨캐터네이션을 수행하기 위한 구체적인 연산 구조를 2501 영역에 도시하였다.The
제2 신경망 모델(1220)은 제2 전처리부(2520)의 출력을 입력받아 보정 파라미터(α, β)를 추론할 수 있다. 제2 신경망 모델(1220)이 추론한 보정 파라미터(α, β)는 입력 영상(161) 및 회색조 영상과 함께 스케일드 컨캐터네이션되어 제1 신경망 모델(1210)에 입력될 수 있다.The second
제1 신경망 모델(1210)은 입력 영상(161) 및 보정 파라미터(α, β)에 대응되는 필터(2530)를 출력할 수 있으며, 이렇게 출력된 필터(2530)를 이용하면 입력 영상(161)이 추론 영상(162)으로 변환될 수 있다.The first
일 실시예에 따르면, 제2 신경망 모델(1220)이 추론한 보정 파라미터(α, β)는 사용자에 의해 조정될 수도 있다. 사용자가 보정 파라미터(α, β)를 조정하면, 제1 신경망 모델(1210)은 조정된 보정 파라미터(α, β)에 대응되는 필터(2530)를 출력하고, 이렇게 출력된 필터(2530)를 이용하여 입력 영상(161)이 추론 영상(162)으로 변환될 수 있다.According to one embodiment, the correction parameters (α, β) inferred by the second
일 실시예에 따르면, 앞서 설명한 바와 같이 사용자는 제2 신경망 모델(1220)이 추론한 보정 파라미터(α, β)에 따라 보정된 영상을 미리보기를 통해 확인하고, 원하는 영상 특성을 갖도록 보정 파라미터(α, β)를 조정할 수 있다.According to one embodiment, as described above, the user previews the image corrected according to the correction parameters (α, β) deduced by the second
이하에서는 도 26 내지 도 28을 참조하여, 신경망 모델을 이용하여 영상을 보정하는 방법에 대해서 설명한다. 이하에서는 설명의 편의를 위해 도 3의 사용자 단말(3000)의 ISP(3130)(도 1의 ISP(1000)에 대응)가 도 26 내지 도 28의 단계들을 수행하는 것으로 설명한다. 하지만, 이에 한정되지 않고 도 26 내지 도 28의 단계들의 전부 또는 일부는 사용자 단말(3000)의 메인 프로세서(3200) 또는 도 4의 클라우드 서버(400)의 프로세서에 의해 수행될 수도 있다.Hereinafter, a method of correcting an image using a neural network model will be described with reference to FIGS. 26 to 28. Hereinafter, for convenience of explanation, it will be described that the
도 26을 참고하면, 2601 단계에서 ISP(3130)는 제1 신경망 모델(1210)에 입력 영상 및 보정 파라미터를 입력할 수 있다. 제1 신경망 모델(1210)은, 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델일 수 있다. 이때 보정 파라미터에 대응되는 레이블 영상은, 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 적어도 하나의 영상 보정 알고리즘에 의해 입력 영상이 보정된 영상일 수 있다.Referring to FIG. 26, in
입력 영상은, 영상 복원 모듈(1100)이 이미지 센서(100)로부터 출력된 원시 영상들을 복원하여 출력한 영상일 수 있다. 보정 파라미터는, 미리 설정된 값(e.g. 제1 신경망 모델(1210)의 학습 시 사용된 값)일 수도 있고, 사용자의 입력에 따라 조정된 값일 수도 있다. 사용자의 입력에 따라 보정 파라미터가 조정되는 실시예에 대해서는 아래에서 도 28 내지 도 30을 참조하여 자세히 설명한다.The input image may be an image that the
2602 단계에서 ISP(3130)는 제1 신경망 모델(1210)로부터 보정 파라미터에 대응하는 추론 영상을 획득할 수 있다. ISP(3130)는 획득한 추론 영상을 사용자 단말(3000)의 화면에 표시하거나 메모리(3240)에 저장할 수 있다.In
도 27은 제2 신경망 모델이 보정 파라미터를 추론하는 실시예를 설명하기 위한 도면이다. 도 27의 순서도는 도 26의 2601 단계에 포함되는 세부 단계들을 포함한다.Figure 27 is a diagram for explaining an embodiment in which a second neural network model infers a correction parameter. The flowchart of FIG. 27 includes detailed steps included in
도 27을 참고하면, 2701 단계에서 ISP(3130)는 제2 신경망 모델(1220)에 입력 영상을 입력할 수 있다. 제2 신경망 모델(1220)은, 입력 영상이 입력되었을 때 제2 신경망 모델(1220)이 추론하는 보정 파라미터와, 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델일 수 있다.Referring to FIG. 27, in
2702 단계에서 ISP(3130)는 제2 신경망 모델(1220)이 추론한 보정 파라미터를 획득하고, 2703 단계에서 ISP(3130)는 보정 파라미터를 입력 영상과 함께 제1 신경망 모델(1210)에 입력할 수 있다.In
도 28은 사용자가 보정 파라미터를 조정하는 실시예를 설명하기 위한 도면이다. 도 28의 순서도는 도 28의 2801 단계에 포함되는 세부 단계들을 포함한다.Figure 28 is a diagram for explaining an embodiment in which a user adjusts correction parameters. The flow chart of FIG. 28 includes detailed steps included in
도 28을 참고하면, 2801 단계에서 ISP(3130)는 사용자 단말(3000)의 입출력 인터페이스(e.g. 터치 스크린, 마이크 등)를 통해 보정 파라미터를 조정하기 위한 입력을 수신할 수 있다. 2802 단계에서 ISP(3130)는 2801 단계에서 수신한 입력에 기초하여, 미리 설정된 제1 보정 파라미터를 제2 보정 파라미터로 변경할 수 있다. 2803 단계에서 ISP(3130)는 제2 보정 파라미터를 입력 영상과 함께 제1 신경망 모델(1210)에 입력할 수 있다.Referring to FIG. 28, in
사용자 단말(3000)의 화면에 표시된 UI를 통해 밝기 조절을 위한 보정 파라미터를 사용자가 조정하는 실시예를 도 30에 도시하였다.An example in which a user adjusts correction parameters for brightness control through the UI displayed on the screen of the
도 30을 참고하면, 영상의 특성을 조절하기 위한 UI 화면(300)의 제1 영역(310)에는 보정의 대상이 되는 영상(미리 설정된 제1 보정 파라미터에 대응하는 추론 영상)이 표시되고, UI 화면(300)의 아래에는 영상의 특성을 조절하기 위한 툴(tool)이 표시될 수 있다.Referring to FIG. 30, the image subject to correction (an inferred image corresponding to a preset first correction parameter) is displayed in the
도 30에 도시된 UI 화면(300)에서는 사용자가 영상의 밝기를 조절하기 위한 툴을 선택했다고 가정한다. UI 화면(300)의 제2 영역(320)에는 현재 조절되는 영상의 특성은 '밝기'라는 정보와, 현재 밝기의 정도를 수치로 표현한 값이 표시될 수 있다. UI 화면(300)의 제3 영역(330)에는 밝기를 조절하기 위한 슬라이더(slider)가 표시되고, 사용자는 터치 입력을 통해 슬라이더를 움직임으로써 입력 영상의 밝기를 조절할 수 있다.In the
사용자가 입력 영상의 밝기를 증가시키도록 도 30의 UI 화면(300)의 제3 영역(330)의 슬라이더를 움직였다면, 제2 영역(320)에 표시된 수치가 증가하고, ISP(3130)는 영상의 밝기가 증가하도록 제1 보정 파라미터를 제2 보정 파라미터로 조정할 수 있다.If the user moves the slider in the
사용자가 사용자 단말(3000)을 이용해 영상을 촬영하고 영상의 밝기를 조절하기 위한 툴을 선택하면, 처음에는 UI 화면(300)의 제1 영역(310)에 제2 신경망 모델(1220)이 추론한 보정 파라미터에 따라 입력 영상(e.g. 촬영 영상인 원시 영상으로부터 생성된 리니어 RGB 영상 등)이 보정된 영상이 표시될 수 있다. 사용자가 UI 화면(300)의 제2 영역(320) 및 제3 영역(330)에 표시된 툴을 통해 밝기를 조절하면, 그에 따라 보정 파라미터가 조정(e.g. 도 16에서와 같이 2배 증가)되고, 조정된 보정 파라미터에 따라 입력 영상이 보정된 영상이 제1 영역(310)에 표시될 수 있다.When a user captures an image using the
앞서 설명한 바와 같이, 제1 신경망 모델(1210)은 보정 파라미터와 레이블 영상 간의 관계를 학습하므로, 보정 파라미터가 변경되면 변경된 보정 파라미터에 대응하는 레이블 영상을 추론할 수 있다. 도 29는 본 개시의 일 실시예에 따른 제1 신경망 모델에 입력되는 보정 파라미터가 변경되었을 때 추론 영상의 변화를 설명하기 위한 도면이다.As described above, the first
설명의 편의를 위해, 도 29에서 보정 파라미터(1610)는 밝기 조절과 관련된 파라미터만을 포함한다고 가정한다. 또한, 제1 신경망 모델(1210)은 밝기를 조절하는 영상 보정 알고리즘에 의해 생성된 레이블 영상을 이용하여 학습되었고, 학습 시 사용된 영상 보정 알고리즘은 보정 파라미터의 값이 클수록 밝기가 증가하도록 영상을 보정한다고 가정한다.For convenience of explanation, it is assumed in FIG. 29 that the
도 29에 도시된 실시예에서는 보정 파라미터(1610)가 2배로 증가하였다. 2배로 증가된 보정 파라미터(1610)에 대응하는 레이블 영상은, 기존의 보정 파라미터(1610)에 대응하는 레이블 영상에 비해 밝기가 증가한다. 따라서, 제1 신경망 모델(1210)에서 출력되는 추론 영상(162) 역시 보정 파라미터(1610)가 증가함에 따라 밝기가 증가하게 된다.In the example shown in Figure 29, the
한편, 도 30에 도시된 실시예에서는 사용자가 UI 화면(300)을 터치함으로써 보정 파라미터를 조정하기 위한 입력을 인가하는 것으로 설명하였으나, 다른 실시예에 따르면 사용자는 음성 입력을 통해 보정 파라미터를 조정할 수도 있다. 예를 들어, 사용자는 사용자 단말(3000)에 구비된 스피커를 통해 영상의 특성 조절을 지시하는 음성(e.g. "하이 빅스비, 사진을 더 밝게 만들어줘.")을 입력할 수도 있다.Meanwhile, in the embodiment shown in FIG. 30, the user applies an input to adjust the correction parameter by touching the
이하에서는 도 32 및 도 33을 참조하여 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 학습시키는 방법에 대해서 각각 설명한다. 이하에서는 설명의 편의를 위해 도 31의 컴퓨팅 장치(500)의 프로세서(530)가 도 32 및 도 33의 단계들을 수행하는 것으로 설명한다. 하지만, 이에 한정되지 않고 도 32 및 도 33의 단계들의 전부 또는 일부는 도 3의 사용자 단말(3000)의 메인 프로세서(3200)에 의해 수행될 수도 있다.Hereinafter, a method for training the first
도 32를 참고하면, 3201 단계에서 프로세서(530)는 적어도 하나의 영상 보정 알고리즘에 보정 파라미터를 적용하여 입력 영상을 보정함으로써 레이블 영상을 생성할 수 있다.Referring to FIG. 32, in
3202 단계에서 프로세서(530)는 보정 파라미터 및 입력 영상을 제1 신경망 모델에 입력하고, 3203 단계에서 프로세서(530)는 제1 신경망 모델로부터 출력되는 추론 영상을 획득할 수 있다.In
3204 단계에서 프로세서(530)는 레이블 영상과 추론 영상 간 차이가 최소가 되도록 제1 신경망 모델을 업데이트할 수 있다.In
도 33을 참고하면, 프로세서(530)는 3301 단계에서 입력 영상을 제2 신경망 모델에 입력하고, 3302 단계에서 제2 신경망 모델로부터 출력되는 보정 파라미터를 획득할 수 있다.Referring to FIG. 33, the
3203 단계에서 프로세서(530)는 적어도 하나의 영상 보정 알고리즘에 보정 파라미터를 적용하여 입력 영상을 보정함으로써 레이블 영상을 생성할 수 있다.In
프로세서(530)는, 3204 단계에서 레이블 영상의 영상 특성을 수치로 표현한 측정 특성값을 획득하고, 3205 단계에서 측정 특성값과 미리 설정된 목표 특성값 간 차이가 최소가 되도록 제2 신경망 모델을 업데이트할 수 있다.The
이상 설명한 실시예들에 따른 신경망 모델들(1210, 1220)을 사용자 단말(3000) 등에 탑재한다면 영상 보정 모듈(3132)(도 1의 영상 보정 모듈(1200)에 대응)의 업데이트를 간편하게 수행할 수 있는 장점이 있다. 이하에서는 도 34 및 도 35를 참조하여 일 실시예에 따른 신경망 모델을 업데이트하는 방법에 대해서 설명한다.If the
도 34에는 도 3의 사용자 단말(3000)의 ISP(3130)에 포함된 영상 보정 모듈(3132)이 신경망 모델이 아닌 영상 보정 알고리즘들을 포함하도록 구현된 예를 도시하였다. 도 34를 참고하면, 영상 보정 모듈(3132)은 명암비 개선 알고리즘 A(3132a) 및 밝기 보정 알고리즘(3132b)을 포함하도록 구현되었다.FIG. 34 shows an example in which the
도 34에서는 영상 보정 모듈(3132)에 포함된 영상 보정 알고리즘들에 대한 업데이트가 수행된다고 가정한다. 업데이트의 내용은 다음과 같다.In Figure 34, it is assumed that an update to the image correction algorithms included in the
1) 명암비 개선 알고리즘 A를 명암비 개선 알고리즘 B로 교체1) Replace contrast ratio improvement algorithm A with contrast ratio improvement algorithm B
2) 밝기 보정 알고리즘을 제거2) Remove brightness correction algorithm
3) 노출 융합 알고리즘을 추가3) Add exposure fusion algorithm
업데이트를 수행한 결과를 도 34의 우측에 도시하였다. 도 34를 참고하면, 영상 보정 모듈(3132)에서 명암비 개선 알고리즘 A(3132a)는 명암비 개선 알고리즘 B(3132c)로 교체되었고, 밝기 보정 알고리즘(3132b)은 제거되었으며, 노출 융합 알고리즘(3132d)이 추가되었다.The result of performing the update is shown on the right side of FIG. 34. Referring to FIG. 34, in the
이와 같이 영상 보정 모듈(3132)이 영상 보정 알고리즘들을 포함하도록 구현된 상태에서 영상 보정 모듈(3132)에 대한 업데이트가 이루어질 경우 다음과 같은 문제점들이 존재한다.In this way, when an update to the
첫 번째로 영상 보정 알고리즘에 대한 변경(교체, 제거, 추가 등)이 이루어질 때마다 처리 속도를 향상시키기 위한 최적화 작업이 필요하므로 시간과 리소스가 많이 필요하다.First, whenever a change (replacement, removal, addition, etc.) is made to the image correction algorithm, optimization work is required to improve processing speed, which requires a lot of time and resources.
두 번째로 일부 영상 보정 알고리즘의 경우 별도의 하드웨어로 구현되므로, 해당 영상 보정 알고리즘을 추가하기 위해서는 하드웨어를 교체하거나 추가해야 하는데, 특히 영상 보정 모듈(3132)이 사용자 단말(3000)상에 구현된 경우 하드웨어의 교체나 추가는 많은 제약이 따른다.Second, some image correction algorithms are implemented as separate hardware, so in order to add the corresponding image correction algorithm, the hardware must be replaced or added, especially when the
도 35에는 도 3의 사용자 단말(3000)의 ISP(3130)에 포함된 영상 보정 모듈(3132)이 본 개시의 실시예들에 따른 신경망 모델들(1210, 1220)을 포함하도록 구현되었을 때 영상 보정 모듈(3132)을 업데이트하는 실시예를 도시하였다.35 shows image correction when the
도 35를 참고하면, 영상 보정 모듈(3132)에 포함된 제1 신경망 모델(1210)을 업데이트하기 위해서는 제1 신경망 모델(1210)에 대한 학습이 다시 수행되어야 한다. 앞서 설명한 바와 같이 제1 신경망 모델(1210)에 대한 학습은 도 31에 도시된 별도의 컴퓨팅 장치(500)에 의해 수행될 수도 있으므로, 이하에서는 컴퓨팅 장치(500)가 제1 신경망 모델(1210)에 대한 학습을 수행한다고 가정한다.Referring to FIG. 35, in order to update the first
앞서 설명한 바와 같이 레이블 영상 생성 모듈(1810)은 제1 신경망 모델(1210)에 학습시키고자 하는 영상 보정 특성에 대응되는 영상 보정 알고리즘들로 구성될 수 있다. 도 35를 참고하면, 최초에 프로세서(530)는 레이블 영상 생성 모듈(1810)이 명암비 개선 알고리즘 A(3132a) 및 밝기 보정 알고리즘(3132b)을 포함하도록 구성하고, 제1 신경망 모델(1210)을 학습시킨 후 이를 사용자 단말(3000)의 영상 보정 모듈(3132)에 탑재하였다.As described above, the label
이후 사용자 단말(3000)의 영상 보정 모듈(3132)의 영상 보정 특성을 조정할 필요가 있는 경우, 프로세서(530)는 레이블 영상 생성 모듈(1810)이 명암비 개선 알고리즘 B(3132c) 및 노출 융합 알고리즘(3132d)를 포함하도록 새롭게 구성하고 다시 제1 신경망 모델(1210)을 학습시킬 수 있다. 제1 신경망 모델(1210)에 대한 학습이 완료되면 프로세서(530)는 새롭게 학습된 제1 신경망 모델(1210)을 사용자 단말(3000)에 전송하고, 사용자 단말(3000)은 수신한 제1 신경망 모델(1210)을 설치함으로써 영상 보정 모듈(3132)을 업데이트할 수 있다.Afterwards, if there is a need to adjust the image correction characteristics of the
이와 같이 영상 보정 모듈(3132)이 본 개시의 실시예들에 따른 신경망 모델들(1210, 1220)을 포함하도록 구현된 경우, 영상 보정 모듈(3132)이 업데이트되더라도 최적화 작업을 수행할 필요가 없다. 또한, 일반적으로 신경망 모델들(1210, 1220)을 학습시키는 컴퓨팅 장치(500)는 충분한 하드웨어 리소스를 포함하고 있으므로, 새로운 학습을 위해 레이블 영상 생성 모듈(1810)에 포함되는 영상 보정 알고리즘들의 변경(교체, 삭제, 추가 등)을 자유롭게 할 수 있다.In this way, when the
본 개시의 일 실시예에 따른 신경망 모델을 이용한 영상 처리 방법은, 이미지 센서(100)를 통해 촬영된 영상을 획득하는 단계, 상기 영상의 촬영 환경(shooting context)을 확인하는 단계, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택하는 단계 및 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리하는 단계를 포함할 수 있다.An image processing method using a neural network model according to an embodiment of the present disclosure includes obtaining an image captured through the
일 실시예에 따르면, 상기 촬영 환경은, 촬영 조건(shooting condition) 및 촬영 모드(shooting mode) 중 적어도 하나를 포함하며, 상기 촬영 조건은, 상기 영상의 ISO 값, 상기 영상이 촬영된 시간 및 장소 중 적어도 하나를 포함하고, 상기 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌 촬영 모드 중 적어도 하나를 포함할 수 있다.According to one embodiment, the shooting environment includes at least one of a shooting condition and a shooting mode, and the shooting condition includes the ISO value of the image, the time and place at which the image was shot, and the shooting mode may include at least one of a normal shooting mode, a night shooting mode, and a zoom shooting mode.
일 실시예에 따르면, 상기 이미지 센서(100)는, 서로 다른 종류의 복수의 이미지 센서들 중에서, 상기 촬영 조건 및 상기 촬영 모드 중 적어도 하나 이상에 기초하여 선택될 수 있다.According to one embodiment, the
일 실시예에 따르면, 상기 신경망 모델을 선택하는 단계는, 상기 촬영 환경 및 상기 선택된 이미지 센서의 종류 중 적어도 하나 이상에 기초하여 상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계 및 상기 촬영 환경, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성 중 적어도 하나 이상에 기초하여, 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택하는 단계를 포함할 수 있다.According to one embodiment, the step of selecting the neural network model includes selecting a detailed configuration of the
일 실시예에 따르면, 상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계는, 상기 촬영 모드 또는 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 1차적으로 세부 구성을 선택하는 단계 및 상기 촬영 조건에 기초하여, 상기 1차적으로 선택된 세부 구성을 유지하거나 변경하는 단계를 포함하며, 상기 촬영 모드 또는 상기 이미지 센서(100)의 종류에 대응되는 상기 영상 복원 모듈(1100)의 세부 구성이 미리 지정될 수 있다.According to one embodiment, the step of selecting the detailed configuration of the
일 실시예에 따르면, 상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계는, 상기 촬영 조건에 포함된 ISO 값에 기초하여, 상기 영상 복원 모듈(1100)에 포함된 복수의 신경망 모델들 중 어느 하나를 선택할 수 있다.According to one embodiment, the step of selecting the detailed configuration of the
일 실시예에 따르면, 상기 선택된 신경망 모델은, 디노이즈(denoise) 기능을 포함하며, 상기 ISO 값에 대응되는 노이즈를 포함하는 영상을 이용하여 학습된 신경망 모델일 수 있다.According to one embodiment, the selected neural network model includes a denoise function and may be a neural network model learned using an image containing noise corresponding to the ISO value.
일 실시예에 따르면, 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택하는 단계는, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성의 조합에 대응되는 신경망 모델을 선택할 수 있다.According to one embodiment, the step of selecting one of a plurality of neural network models included in the
일 실시예에 따르면, 상기 선택된 신경망 모델은, 상기 촬영 환경에 따라 영상 특성을 보정하도록 학습된 신경망 모델일 수 있다.According to one embodiment, the selected neural network model may be a neural network model learned to correct image characteristics according to the shooting environment.
일 실시예에 따르면, 상기 영상 보정 모듈(1200)에 포함되는 신경망 모델은, 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 포함하며, 상기 제1 신경망 모델(1210)은, 상기 제1 신경망 모델(1210)에 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며, 상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제1 신경망 모델(1210)에 입력되는 보정 파라미터는 상기 제2 신경망 모델(1220)에 상기 입력 영상이 입력되었을 때 추론되는 보정 파라미터이며, 상기 제2 신경망 모델(1220)은, 상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델(1220)이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델일 수 있다.According to one embodiment, the neural network model included in the
본 개시의 일 실시예에 따른 신경망 모델을 이용하여 영상 신호를 처리하기 위한 컴퓨팅 장치는, 영상 신호를 처리하기 위한 프로그램이 저장되는 메모리 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 상기 프로그램을 실행함으로써, 이미지 센서(100)를 통해 촬영된 영상을 획득하고, 상기 영상의 촬영 환경(shooting context)을 확인하고, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택한 후, 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리할 수 있다.A computing device for processing an image signal using a neural network model according to an embodiment of the present disclosure includes a memory storing a program for processing an image signal and at least one processor, wherein the at least one processor is configured to: By executing the program, an image captured through the
일 실시예에 따르면, 상기 촬영 환경은, 촬영 조건(shooting condition) 및 촬영 모드(shooting mode) 중 적어도 하나를 포함하며, 상기 촬영 조건은, 상기 영상의 ISO 값, 상기 영상이 촬영된 시간 및 장소 중 적어도 하나를 포함하고, 상기 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌 촬영 모드 중 적어도 하나를 포함할 수 있다.According to one embodiment, the shooting environment includes at least one of a shooting condition and a shooting mode, and the shooting condition includes the ISO value of the image, the time and place at which the image was shot, and the shooting mode may include at least one of a normal shooting mode, a night shooting mode, and a zoom shooting mode.
일 실시예에 따르면, 상기 이미지 센서(100)는, 서로 다른 종류의 복수의 이미지 센서(100)들 중에서, 상기 촬영 조건 및 상기 촬영 모드 중 적어도 하나 이상에 기초하여 선택될 수 있다.According to one embodiment, the
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 신경망 모델을 선택함에 있어서, 상기 촬영 환경 및 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 상기 영상 복원 모듈(1100)의 세부 구성을 선택한 후, 상기 촬영 환경, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성 중 적어도 하나 이상에 기초하여, 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택할 수 있다. According to one embodiment, when selecting the neural network model, the at least one processor determines the detailed configuration of the
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 영상 복원 모듈(1100)의 세부 구성을 선택함에 있어서, 상기 촬영 모드 또는 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 1차적으로 세부 구성을 선택한 후, 상기 촬영 조건에 기초하여 상기 1차적으로 선택된 세부 구성을 유지하거나 변경하며, 상기 촬영 모드 또는 상기 이미지 센서(100)의 종류에 대응되는 상기 영상 복원 모듈(1100)의 세부 구성이 미리 지정될 수 있다.According to one embodiment, when selecting the detailed configuration of the
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 영상 복원 모듈(1100)의 세부 구성을 선택함에 있어서, 상기 촬영 조건에 포함된 ISO 값에 기초하여, 상기 영상 복원 모듈(1100)에 포함된 복수의 신경망 모델들 중 어느 하나를 선택할 수 있다.According to one embodiment, in selecting the detailed configuration of the
일 실시예에 따르면, 상기 선택된 신경망 모델은, 디노이즈(denoise) 기능을 포함하며, 상기 ISO 값에 대응되는 노이즈를 포함하는 영상을 이용하여 학습된 신경망 모델일 수 있다.According to one embodiment, the selected neural network model includes a denoise function and may be a neural network model learned using an image containing noise corresponding to the ISO value.
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택함에 있어서, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성의 조합에 대응되는 신경망 모델을 선택할 수 있다.According to one embodiment, when selecting one of a plurality of neural network models included in the
일 실시예에 따르면, 상기 선택된 신경망 모델은, 상기 촬영 환경에 따라 영상 특성을 보정하도록 학습된 신경망 모델일 수 있다.According to one embodiment, the selected neural network model may be a neural network model learned to correct image characteristics according to the shooting environment.
일 실시예에 따르면, 상기 영상 보정 모듈(1200)에 포함되는 신경망 모델은, 제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 포함하며, 상기 제1 신경망 모델(1210)은, 상기 제1 신경망 모델(1210)에 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며, 상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고, 상기 제1 신경망 모델(1210)에 입력되는 보정 파라미터는 상기 제2 신경망 모델(1220)에 상기 입력 영상이 입력되었을 때 추론되는 보정 파라미터이며, 상기 제2 신경망 모델(1220)은, 상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델(1220)이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델일 수 있다.According to one embodiment, the neural network model included in the
본 개시의 다양한 실시예들은 하나 이상의 컴퓨터 프로그램들에 의해 구현 또는 지원될 수 있고, 컴퓨터 프로그램들은 컴퓨터 판독 가능한 프로그램 코드(code)로부터 형성되고, 컴퓨터로 판독 가능한 매체에 수록될 수 있다. 본 개시에서, "애플리케이션(application)" 및 "프로그램(program)"은 컴퓨터 판독 가능한 프로그램 코드에서의 구현에 적합한 하나 이상의 컴퓨터 프로그램, 소프트웨어 컴포넌트, 명령어 세트, 프로시저(procedure), 함수, 개체(object), 클래스, 인스턴스, 관련 데이터, 또는 그것의 일부를 나타낼 수 있다. "컴퓨터 판독 가능한 프로그램 코드"는, 소스 코드, 목적 코드, 및 실행 가능한 코드를 포함하는 다양한 유형의 컴퓨터 코드를 포함할 수 있다. "컴퓨터 판독 가능한 매체"는, ROM(read only memory), RAM(random access memory), 하드 디스크 드라이브(HDD), CD(compact disc), DVD(digital video disc), 또는 다양한 유형의 메모리와 같이, 컴퓨터에 의해 액세스(access)될 수 있는 다양한 유형의 매체를 포함할 수 있다.Various embodiments of the present disclosure may be implemented or supported by one or more computer programs, and the computer programs may be formed from computer-readable program code and stored in a computer-readable medium. In this disclosure, “application” and “program” refer to one or more computer programs, software components, instruction sets, procedures, functions, or objects suitable for implementation in computer-readable program code. ), may represent a class, instance, related data, or part thereof. “Computer-readable program code” may include various types of computer code, including source code, object code, and executable code. “Computer-readable media” means read only memory (ROM), random access memory (RAM), hard disk drive (HDD), compact disc (CD), digital video disc (DVD), or various types of memory, It may include various types of media that can be accessed by a computer.
또한, 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장 매체'는 실재(tangible)하는 장치이고, 일시적인 전기적 또는 다른 신호들을 전송하는 유선, 무선, 광학적, 또는 다른 통신 링크들을 배제할 수 있다. 한편, 이 '비일시적 저장 매체'는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예를 들어, '비일시적 저장 매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다. 컴퓨터 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 컴퓨터 판독 가능한 매체는, 데이터가 영구적으로 저장될 수 있는 매체와 데이터가 저장되고 나중에 덮어쓰기 될 수 있는 매체, 이를테면 재기입 가능한 광 디스크 또는 소거 가능한 메모리 디바이스를 포함한다.Additionally, device-readable storage media may be provided in the form of non-transitory storage media. Here, a ‘non-transitory storage medium’ is a tangible device and may exclude wired, wireless, optical, or other communication links that transmit transient electrical or other signals. Meanwhile, this 'non-transitory storage medium' does not distinguish between cases where data is semi-permanently stored in the storage medium and cases where data is stored temporarily. For example, a 'non-transitory storage medium' may include a buffer where data is temporarily stored. Computer-readable media can be any available media that can be accessed by a computer and can include both volatile and non-volatile media, removable and non-removable media. Computer-readable media includes media on which data can be permanently stored and media on which data can be stored and later overwritten, such as rewritable optical disks or erasable memory devices.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예를 들어, compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두 개의 사용자 장치들(예를 들어, 스마트폰) 간에 직접, 온라인으로 배포(예를 들어, 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예를 들어, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, methods according to various embodiments disclosed in this document may be provided and included in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. A computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or through an application store, or on two user devices (e.g., smart device). It can be distributed (e.g., downloaded or uploaded) directly between phones, or online. In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) may be stored on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be at least temporarily stored or created temporarily.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 으로 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present disclosure is for illustrative purposes, and a person skilled in the art to which the present disclosure pertains will understand that the present disclosure can be easily modified into another specific form without changing its technical idea or essential features. will be. For example, the described techniques are performed in an order different from the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or in a different configuration. Appropriate results may be achieved through substitution or substitution by elements or equivalents. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. For example, each component described as unitary may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present disclosure. do.
Claims (21)
이미지 센서(100)를 통해 촬영된 영상을 획득하는 단계;
상기 영상의 촬영 환경(shooting context)을 확인하는 단계;
상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택하는 단계; 및
상기 선택된 신경망 모델을 이용하여 상기 영상을 처리하는 단계를 포함하는, 방법.In an image processing method using a neural network model,
Obtaining an image captured through the image sensor 100;
Confirming the shooting context of the video;
selecting a neural network model included in at least one of an image reconstruction module 1100 and an image correction module 1200 according to the shooting environment; and
Method comprising processing the image using the selected neural network model.
상기 촬영 환경은, 촬영 조건(shooting condition) 및 촬영 모드(shooting mode) 중 적어도 하나를 포함하며,
상기 촬영 조건은, 상기 영상의 ISO 값, 상기 영상이 촬영된 시간 및 장소 중 적어도 하나를 포함하고,
상기 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌 촬영 모드 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.According to paragraph 1,
The shooting environment includes at least one of a shooting condition and a shooting mode,
The shooting conditions include at least one of the ISO value of the image and the time and place at which the image was captured,
The method characterized in that the shooting mode includes at least one of a normal shooting mode, a night shooting mode, and a zoom shooting mode.
상기 이미지 센서(100)는,
서로 다른 종류의 복수의 이미지 센서들 중에서, 상기 촬영 조건 및 상기 촬영 모드 중 적어도 하나 이상에 기초하여 선택되는 것을 특징으로 하는 방법.According to any one of paragraphs 1 and 2,
The image sensor 100,
A method of selecting a plurality of different types of image sensors based on at least one of the shooting conditions and the shooting mode.
상기 신경망 모델을 선택하는 단계는,
상기 촬영 환경 및 상기 선택된 이미지 센서의 종류 중 적어도 하나 이상에 기초하여 상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계; 및
상기 촬영 환경, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성 중 적어도 하나 이상에 기초하여, 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.According to any one of claims 1 to 3,
The step of selecting the neural network model is,
selecting a detailed configuration of the image restoration module 1100 based on at least one of the shooting environment and the type of the selected image sensor; and
Based on at least one of the shooting environment, the type of the selected image sensor 100, and the detailed configuration of the selected image restoration module 1100, one of a plurality of neural network models included in the image correction module 1200 A method comprising the step of selecting.
상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계는,
상기 촬영 모드 또는 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 1차적으로 세부 구성을 선택하는 단계; 및
상기 촬영 조건에 기초하여, 상기 1차적으로 선택된 세부 구성을 유지하거나 변경하는 단계를 포함하며,
상기 촬영 모드 또는 상기 이미지 센서(100)의 종류에 대응되는 상기 영상 복원 모듈(1100)의 세부 구성이 미리 지정되는 것을 특징으로 하는 방법.According to any one of claims 1 to 4,
The step of selecting the detailed configuration of the image restoration module 1100 is:
initially selecting a detailed configuration based on at least one of the shooting mode or the type of the selected image sensor 100; and
Maintaining or changing the primarily selected detailed configuration based on the shooting conditions,
A method characterized in that the detailed configuration of the image restoration module 1100 corresponding to the shooting mode or type of the image sensor 100 is specified in advance.
상기 영상 복원 모듈(1100)의 세부 구성을 선택하는 단계는,
상기 촬영 조건에 포함된 ISO 값에 기초하여, 상기 영상 복원 모듈(1100)에 포함된 복수의 신경망 모델들 중 어느 하나를 선택하는 것을 특징으로 하는 방법.According to any one of claims 1 to 5,
The step of selecting the detailed configuration of the image restoration module 1100 is:
A method characterized in that one of a plurality of neural network models included in the image restoration module 1100 is selected based on the ISO value included in the shooting condition.
상기 선택된 신경망 모델은,
디노이즈(denoise) 기능을 포함하며, 상기 ISO 값에 대응되는 노이즈를 포함하는 영상을 이용하여 학습된 신경망 모델인 것을 특징으로 하는 방법.According to any one of claims 1 to 6,
The selected neural network model is,
A method comprising a denoise function and being a neural network model learned using an image containing noise corresponding to the ISO value.
상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택하는 단계는,
상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성의 조합에 대응되는 신경망 모델을 선택하는 것을 특징으로 하는 방법.According to any one of claims 1 to 7,
The step of selecting one of a plurality of neural network models included in the image correction module 1200 includes:
A method characterized by selecting a neural network model corresponding to a combination of the type of the selected image sensor 100 and the detailed configuration of the selected image restoration module 1100.
상기 선택된 신경망 모델은,
상기 촬영 환경에 따라 영상 특성을 보정하도록 학습된 신경망 모델인 것을 특징으로 하는 방법.According to any one of claims 1 to 8,
The selected neural network model is,
A method characterized in that it is a neural network model learned to correct image characteristics according to the shooting environment.
상기 영상 보정 모듈(1200)에 포함되는 신경망 모델은,
제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 포함하며,
상기 제1 신경망 모델(1210)은, 상기 제1 신경망 모델(1210)에 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며,
상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고,
상기 제1 신경망 모델(1210)에 입력되는 보정 파라미터는 상기 제2 신경망 모델(1220)에 상기 입력 영상이 입력되었을 때 추론되는 보정 파라미터이며,
상기 제2 신경망 모델(1220)은, 상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델(1220)이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델인 것을 특징으로 하는 방법.According to any one of claims 1 to 9,
The neural network model included in the image correction module 1200 is:
Includes a first neural network model 1210 and a second neural network model 1220,
The first neural network model 1210 is a model learned to minimize the difference between the inferred image output when the input image and correction parameters are input to the first neural network model 1210 and the label image corresponding to the correction parameter. and
The label image corresponding to the correction parameter is an image in which the input image is corrected by the at least one image correction algorithm when the correction parameter is applied to the at least one image correction algorithm,
The correction parameter input to the first neural network model 1210 is a correction parameter inferred when the input image is input to the second neural network model 1220,
The second neural network model 1220 is configured to minimize the difference between a correction parameter that the second neural network model 1220 infers when the input image is input and a correction parameter that causes the label image to have preset image characteristics. A method characterized by being a learned model.
영상 신호를 처리하기 위한 프로그램이 저장되는 메모리; 및
적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는 상기 프로그램을 실행함으로써,
이미지 센서(100)를 통해 촬영된 영상을 획득하고, 상기 영상의 촬영 환경(shooting context)을 확인하고, 상기 촬영 환경에 따라서 영상 복원 모듈(image reconstruction module)(1100) 및 영상 보정 모듈(image correction module)(1200) 중 적어도 하나에 포함되는 신경망 모델을 선택한 후, 상기 선택된 신경망 모델을 이용하여 상기 영상을 처리하는, 컴퓨팅 장치.In a computing device for processing image signals using a neural network model,
A memory in which a program for processing video signals is stored; and
Contains at least one processor,
The at least one processor executes the program,
An image captured through the image sensor 100 is acquired, the shooting context of the image is confirmed, and an image reconstruction module 1100 and an image correction module are used according to the shooting environment. A computing device that selects a neural network model included in at least one of the modules (1200) and then processes the image using the selected neural network model.
상기 촬영 환경은, 촬영 조건(shooting condition) 및 촬영 모드(shooting mode) 중 적어도 하나를 포함하며,
상기 촬영 조건은, 상기 영상의 ISO 값, 상기 영상이 촬영된 시간 및 장소 중 적어도 하나를 포함하고,
상기 촬영 모드는 일반 촬영 모드, 야간 촬영 모드 및 줌 촬영 모드 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨팅 장치.According to clause 11,
The shooting environment includes at least one of a shooting condition and a shooting mode,
The shooting conditions include at least one of the ISO value of the image and the time and place at which the image was captured,
A computing device characterized in that the shooting mode includes at least one of a normal shooting mode, a night shooting mode, and a zoom shooting mode.
상기 이미지 센서(100)는,
서로 다른 종류의 복수의 이미지 센서(100)들 중에서, 상기 촬영 조건 및 상기 촬영 모드 중 적어도 하나 이상에 기초하여 선택되는 것을 특징으로 하는 컴퓨팅 장치.According to any one of claims 11 and 12,
The image sensor 100,
A computing device, wherein a plurality of image sensors 100 of different types are selected based on at least one of the shooting conditions and the shooting mode.
상기 적어도 하나의 프로세서는 상기 신경망 모델을 선택함에 있어서,
상기 촬영 환경 및 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 상기 영상 복원 모듈(1100)의 세부 구성을 선택한 후,
상기 촬영 환경, 상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성 중 적어도 하나 이상에 기초하여, 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택하는 것을 특징으로 하는 컴퓨팅 장치.According to any one of claims 11 to 13,
The at least one processor selects the neural network model,
After selecting the detailed configuration of the image restoration module 1100 based on at least one of the shooting environment and the type of the selected image sensor 100,
Based on at least one of the shooting environment, the type of the selected image sensor 100, and the detailed configuration of the selected image restoration module 1100, one of a plurality of neural network models included in the image correction module 1200 A computing device characterized in that selection.
상기 적어도 하나의 프로세서는 상기 영상 복원 모듈(1100)의 세부 구성을 선택함에 있어서,
상기 촬영 모드 또는 상기 선택된 이미지 센서(100)의 종류 중 적어도 하나 이상에 기초하여 1차적으로 세부 구성을 선택한 후,
상기 촬영 조건에 기초하여 상기 1차적으로 선택된 세부 구성을 유지하거나 변경하며,
상기 촬영 모드 또는 상기 이미지 센서(100)의 종류에 대응되는 상기 영상 복원 모듈(1100)의 세부 구성이 미리 지정되는 것을 특징으로 하는 컴퓨팅 장치.According to any one of claims 11 to 14,
The at least one processor selects a detailed configuration of the image restoration module 1100,
After initially selecting a detailed configuration based on at least one of the shooting mode or the type of the selected image sensor 100,
Maintaining or changing the primarily selected detailed configuration based on the shooting conditions,
A computing device, wherein a detailed configuration of the image restoration module 1100 corresponding to the shooting mode or type of the image sensor 100 is specified in advance.
상기 적어도 하나의 프로세서는 상기 영상 복원 모듈(1100)의 세부 구성을 선택함에 있어서,
상기 촬영 조건에 포함된 ISO 값에 기초하여, 상기 영상 복원 모듈(1100)에 포함된 복수의 신경망 모델들 중 어느 하나를 선택하는 것을 특징으로 하는 컴퓨팅 장치.According to any one of claims 11 to 15,
The at least one processor selects a detailed configuration of the image restoration module 1100,
A computing device characterized in that one of a plurality of neural network models included in the image restoration module 1100 is selected based on the ISO value included in the shooting condition.
상기 선택된 신경망 모델은,
디노이즈(denoise) 기능을 포함하며, 상기 ISO 값에 대응되는 노이즈를 포함하는 영상을 이용하여 학습된 신경망 모델인 것을 특징으로 하는 컴퓨팅 장치.According to any one of claims 11 to 16,
The selected neural network model is,
A computing device comprising a denoise function and being a neural network model learned using an image containing noise corresponding to the ISO value.
상기 적어도 하나의 프로세서는 상기 영상 보정 모듈(1200)에 포함된 복수의 신경망 모델 중 어느 하나를 선택함에 있어서,
상기 선택된 이미지 센서(100)의 종류 및 상기 선택된 영상 복원 모듈(1100)의 세부 구성의 조합에 대응되는 신경망 모델을 선택하는 것을 특징으로 하는 컴퓨팅 장치.According to any one of claims 11 to 17,
The at least one processor selects one of a plurality of neural network models included in the image correction module 1200,
A computing device characterized in that it selects a neural network model corresponding to a combination of the type of the selected image sensor 100 and the detailed configuration of the selected image restoration module 1100.
상기 선택된 신경망 모델은,
상기 촬영 환경에 따라 영상 특성을 보정하도록 학습된 신경망 모델인 것을 특징으로 하는 컴퓨팅 장치.According to any one of claims 11 to 18,
The selected neural network model is,
A computing device characterized in that it is a neural network model learned to correct image characteristics according to the shooting environment.
상기 영상 보정 모듈(1200)에 포함되는 신경망 모델은,
제1 신경망 모델(1210) 및 제2 신경망 모델(1220)을 포함하며,
상기 제1 신경망 모델(1210)은, 상기 제1 신경망 모델(1210)에 입력 영상 및 보정 파라미터가 입력되었을 때 출력되는 추론 영상과, 상기 보정 파라미터에 대응되는 레이블 영상 간 차이를 최소화하도록 학습된 모델이며,
상기 보정 파라미터에 대응되는 레이블 영상은, 상기 보정 파라미터가 적어도 하나의 영상 보정 알고리즘에 적용되었을 때, 상기 적어도 하나의 영상 보정 알고리즘에 의해 상기 입력 영상이 보정된 영상이고,
상기 제1 신경망 모델(1210)에 입력되는 보정 파라미터는 상기 제2 신경망 모델(1220)에 상기 입력 영상이 입력되었을 때 추론되는 보정 파라미터이며,
상기 제2 신경망 모델(1220)은, 상기 입력 영상이 입력되었을 때 상기 제2 신경망 모델(1220)이 추론하는 보정 파라미터와, 상기 레이블 영상이 미리 설정된 영상 특성을 갖도록 하는 보정 파라미터 간 차이를 최소화하도록 학습된 모델인 것을 특징으로 하는 컴퓨팅 장치.According to any one of claims 11 to 19,
The neural network model included in the image correction module 1200 is:
Includes a first neural network model 1210 and a second neural network model 1220,
The first neural network model 1210 is a model learned to minimize the difference between the inferred image output when the input image and correction parameters are input to the first neural network model 1210 and the label image corresponding to the correction parameter. and
The label image corresponding to the correction parameter is an image in which the input image is corrected by the at least one image correction algorithm when the correction parameter is applied to the at least one image correction algorithm,
The correction parameter input to the first neural network model 1210 is a correction parameter inferred when the input image is input to the second neural network model 1220,
The second neural network model 1220 is configured to minimize the difference between a correction parameter that the second neural network model 1220 infers when the input image is input and a correction parameter that causes the label image to have preset image characteristics. A computing device characterized by a learned model.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2023/007376 WO2023234674A1 (en) | 2022-05-30 | 2023-05-30 | Image signal processing method using neural network model and computing apparatus for performing same |
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 (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220066331 | 2022-05-30 | ||
KR1020220066331 | 2022-05-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230166870A true KR20230166870A (en) | 2023-12-07 |
Family
ID=89163394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230007457A KR20230166870A (en) | 2022-05-30 | 2023-01-18 | Image signal processing method using neural network, and computing appratus for performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230166870A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102697793B1 (en) * | 2024-02-07 | 2024-08-22 | 현진전자(주) | A method for manufacturing a metal pcb that directly transfers heat generated from a power-related package |
-
2023
- 2023-01-18 KR KR1020230007457A patent/KR20230166870A/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102697793B1 (en) * | 2024-02-07 | 2024-08-22 | 현진전자(주) | A method for manufacturing a metal pcb that directly transfers heat generated from a power-related package |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3542347B1 (en) | Fast fourier color constancy | |
CN108668093B (en) | HDR image generation method and device | |
US10021313B1 (en) | Image adjustment techniques for multiple-frame images | |
KR101954851B1 (en) | Metadata-based image processing method and apparatus | |
US11508038B2 (en) | Image processing method, storage medium, image processing apparatus, learned model manufacturing method, and image processing system | |
WO2020187424A1 (en) | Image processor | |
US8611654B2 (en) | Color saturation-modulated blending of exposure-bracketed images | |
KR20170017911A (en) | Methods and systems for color processing of digital images | |
US8717449B2 (en) | Image synthesizing apparatus, image recording method, and recording medium | |
US10785466B2 (en) | Multi-image color-refinement with application to disparity estimation | |
CN110930341A (en) | Low-illumination image enhancement method based on image fusion | |
KR20080049458A (en) | Apparatus to automatically controlling white balance and method thereof | |
US20230120604A1 (en) | System and Method for Maximizing Inference Accuracy using Recaptured Datasets | |
KR20230166870A (en) | Image signal processing method using neural network, and computing appratus for performing the same | |
CN114979500A (en) | Image processing method, image processing apparatus, electronic device, and readable storage medium | |
CN110555805A (en) | Image processing method, device, equipment and storage medium | |
CN113379609A (en) | Image processing method, storage medium and terminal equipment | |
CN116957948A (en) | Image processing method, electronic product and storage medium | |
JP2012028937A (en) | Video signal correction apparatus and video signal correction program | |
WO2023110878A1 (en) | Image processing methods and systems for generating a training dataset for low-light image enhancement using machine learning models | |
WO2023110880A1 (en) | Image processing methods and systems for low-light image enhancement using machine learning models | |
KR20230165686A (en) | Method and electronic device for performing denosing processing on image data | |
US20230386193A1 (en) | Image signal processing method using neural network model and computing apparatus for performing the same | |
JP6210772B2 (en) | Information processing apparatus, imaging apparatus, control method, and program | |
CN113763524B (en) | Dual-flow foreground rendering method and system based on physical optical model and neural network |