KR102617391B1 - 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치 - Google Patents
이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치 Download PDFInfo
- Publication number
- KR102617391B1 KR102617391B1 KR1020220095735A KR20220095735A KR102617391B1 KR 102617391 B1 KR102617391 B1 KR 102617391B1 KR 1020220095735 A KR1020220095735 A KR 1020220095735A KR 20220095735 A KR20220095735 A KR 20220095735A KR 102617391 B1 KR102617391 B1 KR 102617391B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- neural network
- artificial neural
- network model
- signal processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000013528 artificial neural network Methods 0.000 claims abstract description 340
- 238000003702 image correction Methods 0.000 claims abstract description 125
- 238000012545 processing Methods 0.000 claims description 148
- 230000006870 function Effects 0.000 claims description 70
- 230000015654 memory Effects 0.000 claims description 64
- 230000008569 process Effects 0.000 claims description 47
- 230000001537 neural effect Effects 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 20
- 238000007781 pre-processing Methods 0.000 claims description 14
- 238000003384 imaging method Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 description 33
- 238000012937 correction Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000016776 visual perception Effects 0.000 description 2
- 241001442055 Vipera berus Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
-
- 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
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4015—Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G06T5/001—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/97—Determining parameters from multiple pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
본 개시는, 인공신경망용 이미지 신호 프로세서의 제어 방법으로서, 이미지를 획득하는 단계, 상기 이미지에 대응되는 적어도 하나의 이미지 특성 데이터를 결정하는 단계 및 상기 적어도 하나의 이미지 특성 데이터 및 인공신경망 모델의 추론 정확도 프로파일을 기초로 상기 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터(SFR preset)를 결정하는 단계를 포함하도록 구성될 수 있다.
Description
본 개시는 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치에 관한 것이다. 구체적으로 본 개시는 인공신경망용 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치에 관한 것이다.
카메라는 이미지 신호 프로세서(ISP, Image Signal Processor)를 통해 이미지 센서로부터 획득한 RAW 이미지 데이터를 처리하여 영상 품질을 개선할 수 있다. 이러한 이미지 신호 프로세서(ISP)는 통상적으로 영상 전문가에 의해 그 설정이 조정된다. 그에 따라, 동일한 RAW 이미지 데이터라 하더라도 영상 처리 결과물이 작업자의 성향, 시감 및 인지 능력 등에 따라 상이하게 된다.
한편, 최근 기계 학습(Machine Learning)의 발달로 다양한 인공신경망 네트워크가 컴퓨터 비전(Computer Vision) 분야에 접목됨에 따라, 카메라로 촬영된 이미지에서 객체를 검출하기 위한 다양한 기술이 개발되고 있다. 만약, 사람에 의해 카메라 설정이 조정된 이미지 신호 프로세서(ISP)를 활용할 경우, 학습/검증/추론에 사용되는 이미지 데이터가 작업자의 특성에 따라 불균일하기 때문에, 인공신경망 모델의 추론 정확도 향상에 한계가 있다. 오히려 인공신경망 모델의 추론 정확도가 저하될 수 있다.
본 개시의 배경이 되는 기술은 본 개시에 대한 이해를 보다 용이하게 하기 위해 작성되었다. 본 개시의 배경이 되는 기술에 기재된 사항들이 선행기술로 존재한다고 인정하는 것으로 이해되어서는 안 된다.
인공신경망 모델의 감지율을 향상시키기 위해, 종래 RAW 이미지 데이터의 해상도를 전처리하는 기술이 개시되었다. 하지만, 이를 위해서는 인공신경망 모델을 위한 별도의 프로세서를 필요로 한다는 단점이 존재한다.
또한, 종래 이미지 신호 프로세서(ISP)의 설정을 점진적으로 조작하면서, 인공신경망 모델의 감지율을 향상시키는 기술이 개시되었다. 하지만 근본적으로 인공신경망 모델의 특성을 고려하고 있지 않기 때문에, 새로운 이미지를 인공신경망 모델에 입력할 때마다 이미지 신호 프로세서가 상기의 동작을 반복 수행해야 하는 번거로움이 존재한다.
이에, 이미지 데이터 특성에 따른 인공신경망 모델의 추론 정확도 프로파일을 선택하고, 추론 정확도 프로파일을 기초로 이미지 신호 프로세서(ISP)의 파라미터를 제어할 수 있는 방법 및 이를 수행하는 장치가 요구된다.
그 결과, 본 개시의 발명자들은 특정 훈련 데이터 세트에 기반한 인공신경망 모델의 특성을 프로파일링하고, 이를 기초로 이미지 특성에 적합한 이미지 신호 프로세서(ISP)의 제어 값(즉, 이미지 보정 파라미터)을 제공할 수 있는 방법 및 이를 수행할 수 있는 장치를 개발하고자 하였다.
특히, 본 개시의 발명자들은 이미지 신호 프로세서(ISP)로 이미지의 전처리 정도를 이미지 특성에 맞게 세분화하여 제공하여, 이미지가 균일하게 처리될 수 있도록 함으로써, 인공신경망 모델의 mAP(mean Average Precision) 를 크게 향상시킬 수 있도록 방법 및 장치를 구성하였다.
본 개시의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 개시의 일 예시에 따른 인공신경망용 이미지 신호 프로세서의 제어 방법이 제공된다.
본 개시의 일 예시에 따른 인공신경망용 이미지 신호 프로세서의 제어 방법은 이미지를 획득하는 단계, 이미지에 대응되는 적어도 하나의 이미지 특성 데이터를 결정하는 단계, 및 적어도 하나의 이미지 특성 데이터 및 적어도 하나의 인공신경망 모델의 추론 정확도 프로파일을 기초로 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정하는 단계를 포함할 수 있다.
본 개시의 일 예시에 따르면, 이미지 특성 데이터는, 이미지의 히스토그램(RGB, CbCr, Y Histogram), RGB 최대 값(Maximum value), RGB 최소 값(Minimum value), 픽셀 값의 평균(Mean), 표준 편차(Standard deviation), 픽셀 별 RGB 합(Sum of color values), 신호대잡음비(signal-to-noise ratio, SNR), 주파수 정보(Frequency content) 및 엣지 정보(Edge content) 중 적어도 하나를 포함할 수 있다.
본 개시의 일 예시에 따르면, 이미지 보정 파라미터를 결정하는 단계는, 인공신경망 모델의 추론 정확도 변화를 나타내는 추론 정확도 프로파일을 분석하는 단계, 및 추론 정확도 프로파일 및 이미지 특성 데이터를 기초로 인공신경망 모델에 입력되는 이미지의 전처리 정도를 결정하는 이미지 보정 파라미터를 결정하는 단계를 포함할 수 있다
본 개시에 따르면, 추론 정확도 프로파일을 분석하는 단계는, 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 중 적어도 하나의 이미지 특성을 기준으로 인공신경망 모델의 추론 정확도 변화를 결정하는 단계일 수 있다.
본 개시의 일 예시에 따르면, 추론 정확도 변화는, 이미지 특성 수준에 따라 변화하는 인공신경망 모델의 추론 정확도를 나타낼 수 있다.
본 개시의 일 예시에 따르면, 인공신경망 모델의 추론 정확도 프로파일을 분석하는 단계는, 적어도 하나의 이미지 특성을 기준으로 인공신경망 모델에 적용되는 참조 이미지 데이터셋을 단계 별로 변조시키는 단계와 단계 별로 변조된 복수의 이미지 데이터셋에 대한 인공신경망 모델의 평균 정밀도(mAP)을 계산하는 단계를 포함할 수 있다.
본 개시의 일 예시에 따르면, 이미지 보정 파라미터를 결정하는 단계는, 이미지를 처리하는 이미지 신호 프로세서와 매칭된 프리셋 라이브러리(Preset Library)를 이용하여 복수의 이미지 보정 파라미터 프리셋 중 적어도 하나를 결정하는 단계일 수 있다.
본 개시의 일 예시에 따르면, 이미지 보정 파라미터를 결정하는 단계는, 추론 정확도 프로파일과 이미지 특성 데이터를 매칭하여 이미지 보정 파라미터를 선택적으로 결정하기 위한 보상 함수를 산출하는 단계를 포함할 수 있다.
본 개시의 일 예시에 따르면, 이미지 보정 파라미터는, 이미지를 처리하는 이미지 신호 프로세서의 특수 기능 레지스터 값에 대응될 수 있다.
본 개시의 일 예시에 따르면, 인공신경망용 이미지 신호 프로세서의 제어 방법은 이미지를 처리하는 이미지 신호 프로세서로부터 이미지 보정 파라미터를 기반으로 처리된 이미지를 전달받는 단계, 및 인공신경망 모델에 처리된 이미지를 입력하여 추론 결과를 출력하는 단계를 더 포함할 수 있다.
본 개시에 따르면, 인공신경망용 이미지 신호 프로세서의 제어 방법은 이미지를 획득 및 처리 가능한 이미지 센서 및 이미지 신호 프로세서를 식별하는 단계를 더 포함할 수 있다.
본 개시의 일 예시에 따르면, 이미지 보정 파라미터를 결정하는 단계는, 이미지 센서의 촬영 파라미터를 제어하여 이미지 보정 파라미터를 결정하는 보상 함수를 보정하는 단계를 더 포함할 수 있다.
본 개시의 일 예시에 따르면, 이미지 보정 파라미터를 결정하는 단계는, 메모리에 저장된 복수 개의 인공신경망 모델의 추론 정확도 프로파일을 기초로 복수 개의 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정하는 단계일 수 있다.
전술한 바와 같은 과제를 해결하기 위하여 본 개시의 다른 예시에 따른 인공신경망용 영상 처리 시스템이 제공된다.
본 개시의 일 예시에 따르면, 인공신경망용 영상 처리 시스템은 이미지를 영상 처리하도록 구성된 이미지 신호 프로세서; 및 이미지 신호 프로세서와 동작 가능하게 연결된 보상 유닛을 포함할 수 있다.
본 개시의 일 예시에 따르면, 보상 유닛은, 이미지를 획득하고, 이미지에 대응되는 적어도 하나의 이미지 특성 데이터를 생성하고, 적어도 하나의 추론 정확도 프로파일을 획득하고, 적어도 하나의 이미지 특성 데이터 및 적어도 하나의 추론 정확도 프로파일을 기초로 이미지 신호 프로세서의 이미지 보정 파라미터를 결정하도록 구성될 수 있다.
본 개시의 일 예시에 따르면, 이미지 특성 데이터는, 이미지의 히스토그램(RGB, CbCr, Y Histogram), RGB 최대 값(Maximum value), RGB 최소 값(Minimum value), 픽셀 값의 평균(Mean), 표준 편차(Standard deviation), 픽셀 별 RGB 합(Sum of color values), 신호대잡음비 (signal-to-noise ratio, SNR), 주파수 정보(Frequency content) 및 엣지 정보(Edge content) 중 적어도 하나를 포함할 수 있다.
본 개시의 일 예시에 따르면, 인공신경망용 영상 처리 시스템은 인공신경망 모델을 처리하도록 구성된 신경 프로세싱 유닛을 더 포함할 수 있다.
본 개시의 일 예시에 따르면, 보상 유닛은, 적어도 하나의 추론 정확도 프로파일 및 이미지 특성 데이터를 기초로 인공신경망 모델에 입력되는 이미지의 전처리 정도를 결정하는 이미지 보정 파라미터를 선택적으로 결정하도록 구성될 수 있다.
본 개시의 일 예시에 따르면, 적어도 하나의 추론 정확도 프로파일은, 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 중 적어도 하나에 대응되는 인공신경망 모델의 추론 정확도 변화 정보를 포함할 수 있다.
본 개시의 일 예시에 따르면, 보상 유닛은 이미지 신호 프로세서를 제어하도록 구성된 프리셋 라이브러리를 더 포함할 수 있다.
본 개시의 일 예시에 따르면, 보상 유닛은 프리셋 라이브러리의 복수의 이미지 보정 파라미터 프리셋 중 적어도 하나를 선택적으로 결정할 수 있다.
본 개시의 일 예시에 따르면, 이미지 보정 파라미터는, 이미지 신호 프로세서의 특수 기능 레지스터 값에 대응될 수 있다.
본 개시의 일 예시에 따르면, 신경 프로세싱 유닛은, 이미지 신호 프로세서에서 처리된 이미지를 입력 받고, 인공신경망 모델에 처리된 이미지를 입력하여 추론 결과를 출력하도록 구성될 수 있다.
본 개시의 일 예시에 따르면, 인공신경망용 영상 처리 시스템 이미지를 획득 가능한 이미지 센서를 더 포함할 수 있다.
본 개시의 일 예시에 따르면, 보상 유닛은, 적어도 하나의 추론 정확도 프로파일을 기초로 이미지 센서의 촬영 파라미터를 제어하도록 구성될 수 있다.
본 개시의 일 예시에 따르면, 보상 유닛은, 이미지 신호 프로세서를 식별하도록 구성될 수 있다.
본 개시의 일 예시에 따르면, 신경 프로세싱 유닛은, 처리된 이미지와 인공신경망 모델의 가중치를 기초로 인공신경망 모델의 추론 연산을 처리 하도록 구성될 수 있다.
기타 예시의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 개시는 이미지 특성 및 인공신경망 모델의 추론 정확도 프로파일을 선택하고, 이를 기초로 이미지 신호 프로세서(ISP)의 제어 값을 세부적으로 제공하여 이미지가 적어도 하나의 속성에 치우치지 않게 처리될 수 있다.
또한, 본 개시는 이미지 특성의 수준에 따라 변화하는 인공신경망 모델의 추론 정확도를 수치적으로 계산하고, 이를 기초로 제어 값을 제공함으로써, 단순히 점진적인 변형을 통해 이미지 신호 프로세서(ISP)의 제어 값을 제공하는 종래에 비해 시간과 비용을 단축시킬 수 있다.
또한, 본 개시는 이미지 신호 프로세서(ISP)의 제어 값(이미지 보정 파라미터, SFR preset) 제어를 통해 인공신경망 모델의 추론 정확도를 향상시킬 수 있다.
또한, 본 개시는 이미지 센서, 이미지 신호 프로세서(ISP) 및 인공신경망 모델의 종류에 따라 상이한 제어 값(이미지 보정 파라미터, SFR preset)을 제공하여, 추론 정확도를 높일 수 있다.
본 개시에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 개시 내에 포함되어 있다.
도 1은 본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템을 설명하는 개략적인 개념도이다.
도 2 및 도 3은 본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템의 각 구성 별 수행 기능을 설명하는 개략적인 개념도이다.
도 4은 본 개시의 일 예시에 따른 이미지 신호 프로세서의 제어 방법에 대한 개략적인 순서도이다.
도 5는 본 개시의 일 예시에 따른 이미지 신호 프로세서의 제어 방법에 대한 구체적인 순서도이다.
도 6a 내지 도 8d는 본 개시의 일 예시에 따른 이미지 특성을 기준으로 인공신경망 모델의 추론 정확도 프로파일을 선택하는 방법을 설명하기 위한 개략도들이다.
도 9 내지 도 13은 본 개시의 다양한 예시에 따른 인공신경망용 영상 처리 시스템의 각 구성 별 수행 기능을 설명하는 개략적인 개념도들이다.
도 14는 본 개시의 다른 예시에 따른 인공신경망용 영상 처리 시스템을 설명하는 개략적인 개념도이다.
도 2 및 도 3은 본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템의 각 구성 별 수행 기능을 설명하는 개략적인 개념도이다.
도 4은 본 개시의 일 예시에 따른 이미지 신호 프로세서의 제어 방법에 대한 개략적인 순서도이다.
도 5는 본 개시의 일 예시에 따른 이미지 신호 프로세서의 제어 방법에 대한 구체적인 순서도이다.
도 6a 내지 도 8d는 본 개시의 일 예시에 따른 이미지 특성을 기준으로 인공신경망 모델의 추론 정확도 프로파일을 선택하는 방법을 설명하기 위한 개략도들이다.
도 9 내지 도 13은 본 개시의 다양한 예시에 따른 인공신경망용 영상 처리 시스템의 각 구성 별 수행 기능을 설명하는 개략적인 개념도들이다.
도 14는 본 개시의 다른 예시에 따른 인공신경망용 영상 처리 시스템을 설명하는 개략적인 개념도이다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 예시들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 예시들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이다. 본 예시들은 본 개시가 완전하도록 하며, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~ 를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된)프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 예시를 설명하기 위해 사용된 것으로, 다른 예시의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 예시들을 배제하도록 해석될 수 없다.
본 개시의 여러 예시들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 예시들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
본 명세서의 해석의 명확함을 위해, 이하에서는 본 명세서에서 사용되는 용어들을 정의하기로 한다.
본 명세서의 "이미지(image)"는 이미지 센서에서 획득된 단일의 이미지 뿐만 아니라, 하나의 이미지 센서에서 획득된 복수의 이미지 또는 영상(video)을 포함할 수 있다. 부연 설명하면, 이미지는 복수의 이미지 센서에서 획득된 복수의 이미지 또는 영상을 포함할 수 있다.
본 명세서의 “인공신경망 모델”은 Object Detection, Object Segmentation, Image/Video Reconstruction, Image/Video Enhancement, Object Tracking, Event Recognition, Event Prediction, Anomaly Detection, Density Estimation, Event Search, Measurement 등의 추론을 수행하도록 훈련된 모델일 수 있다.
예를 들면, 인공신경망 모델은 Bisenet, Shelfnet, Alexnet, Densenet, Efficientnet, EfficientDet, Googlenet, Mnasnet, Mobilenet, Resnet, Shufflenet, Squeezenet, VGG, Yolo, RNN, CNN, DBN, RBM, LSTM 등의 모델일 수 있다. 단, 본 개시는 이에 제한되지 않으며, 이미지 신호 프로세서(ISP)로부터 처리된 이미지를 입력으로 하여 객체 또는 객체의 위치를 추론하기 위해 훈련된 다양한 인공신경망 모델이 본 개시에 적용될 수 있다.
이하, 첨부한 도면을 참조하여 본 개시의 일 예시를 상세히 설명하도록 한다.
도 1은 본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템을 설명하는 개략적인 개념도이다.
도 1을 참조하면, 인공신경망용 영상 처리 시스템(10)은 이미지 신호 프로세서(ISP)(100), 프로세서(150) 및 제1 메모리(300)를 포함할 수 있다.
다양한 예시에서, 인공신경망용 영상 처리 시스템(10)은 제2 메모리(400)를 선택적으로 포함하거나 또는 배제하도록 구성될 수 있다.
다양한 예시에서, 인공신경망용 영상 처리 시스템(10)은 시스템 온 칩(system-on-chip; SoC)으로 구성되는 것도 가능하다.
이미지 신호 프로세서(ISP)(100)는 이미지를 처리하는 프로세서로, 영상을 촬영하는 카메라 모듈과 동작 가능하게 연결될 수 있다. 이미지 신호 프로세서(ISP)는 활용 분야에 따라 이미지 센서에서 획득된 이미지를 다양한 방식으로 처리할 수 있다.
예를 들어, 이미지 신호 프로세서(100)는 베이어 패턴(Bayer pattern)을 가지는 RAW 이미지 데이터를 RGB 색공간으로 디모자잉(Demosaicing) 처리하도록 구성될 수 있다.
예를 들어, 이미지 신호 프로세서(100)는 RGB 색공간에서 다른 색공간으로 색공간 변환(Color Space Conversion)을 처리하도록 구성될 수 있다.
예를 들어, 이미지 신호 프로세서(100)는 다양한 광학적, 전기적 특성 조건에 따른 이미지를 색상 변동을 보정하는 색 보정 매트릭스(Color Correction Matrix)를 처리하도록 구성될 수 있다.
예를 들어, 이미지 신호 프로세서(100)는 이미지 데이터의 감마 커브를 조정하는 감마 보정(Gamma Correction)을 처리하도록 구성될 수 있다.
예를 들어, 이미지 신호 프로세서(100)는 이미지 아티팩트(artifact)를 줄이기 위해 이미지의 노이즈를 저감하는 노이즈 감소(Nosie Reduction)를 처리하도록 구성될 수 있다.
예를 들어, 이미지 신호 프로세서(100)는 에지를 강조하는 엣지 향상(Edge Enhancement)을 처리하도록 구성될 수 있다.
예를 들어, 이미지 신호 프로세서(100)는 모션 적응형 노이즈 제거(Motion Adaptive Noise Reduction)를 처리하도록 구성될 수 있다.
예를 들어, 이미지 신호 프로세서(100)는 이미지 전체의 높은 다이내믹 레인지(HDR, High Dynamic Range imaging)를 처리하도록 구성될 수 있다.
예를 들어, 이미지 신호 프로세서(100)는 상술한 기능을 수행하는 처리 모듈을 포함할 수 있으며, 각각의 처리 모듈들은 파이프라인화 될 수 있다.
다만, 이미지 신호 프로세서(100)의 이미지 처리 기능은 상술한 기능들에 한정되지 않는다.
프로세서(150)는 이미지 신호 프로세서(ISP)(100), 제1 메모리(300) 및 제2 메모리(400)와 동작 가능하게 연결될 수 있다. 프로세서(150)는 CPU(Central Processing Unit)나 AP(Application Processor)와 같은 연산 장치에 해당할 수 있다. 예를 들어, 프로세서(150)는 MPU(Micro Processing Unit) 또는 MCU(Micro Controller Unit)일 수 있다. 다른 예를 들어, 프로세서(150)는 이미지 신호 프로세서(ISP)(100)에 대응될 수 있다.
다양한 예시에서, 프로세서(150)는 신경 프로세싱 유닛(NPU), CPU, GPU와 같은 다양한 연산 장치가 통합된 SoC(System on Chip)와 같은 통합 칩(Integrated Chip (IC))의 형태로 구현될 수 있다.
다양한 예시에서, 프로세서(150)는 ADAS(Advanced Driver Assistance Systems) 시스템의 연산 장치로서 동작할 수도 있으며, 이 외에 다양한 객체 인식용 어플리케이션 시스템의 연산 장치로서 동작할 수 있다.
다양한 예시에서, 프로세서(150)는 베이어 패턴(bayer patten)을 입력 받아 RGB 입력 영상(이미지) 또는 YUV 입력으로 변환된 데이터를 출력하는 ISP와 CPU 같은 다양한 연산 장치가 통합된 통합 칩의 형태로 구현될 수 있다.
다양한 예시에서, 프로세서(150)가 신경 프로세싱 유닛(NPU) 이거나 또는 신경 프로세싱 유닛을 포함하도록 구성될 경우, 프로세서(150)는 인공신경망 모델(DNN)을 실시간으로 처리할 수 있는 컴퓨팅 파워를 가질 수 있다. 부연 설명하면, 인공신경망 모델(DNN)은 데이터 인텐시브(data intensive)한 연산 특성을 가지기 때문에, 초당 30 프레임 이상의 추론 동작을 위해서 프로세서(150)는 NPU를 포함하도록 구성될 수 있다. 단 본 개시의 예시들은 NPU에 제한되지 않는다.
제1 메모리(300)는 반도체 다이에 실장된 메모리로 인공신경망용 영상 처리 시스템(10)에서 처리되는 데이터를 캐싱하거나 또는 저장하기 위한 메모리일 수 있다. 제1 메모리(300)는 ROM, SRAM, DRAM, Resistive RAM, Magneto-resistive RAM, Phase-change RAM, Ferroelectric RAM, Flash Memory, HBM 등과 같은 메모리 중 하나의 메모리를 포함할 수 있다. 제1 메모리(300)는 적어도 하나의 메모리 유닛으로 구성될 수 있다. 제1 메모리(300)는 단일(homogeneous) 메모리 유닛 또는 이종(heterogeneous) 메모리 유닛으로 구성될 수 있다.
다양한 예시에서, 제1 메모리(300)는 내부 메모리 또는 온-칩 메모리로 구성될 수 있다.
제2 메모리(400)는 ROM, SRAM, DRAM, Resistive RAM, Magneto-resistive RAM, Phase-change RAM, Ferroelectric RAM, Flash Memory, HBM 등과 같은 메모리 중 하나의 메모리를 포함할 수 있다. 제2 메모리(400)는 적어도 하나의 메모리 유닛으로 구성될 수 있다. 제2 메모리(400)는 단일 메모리 유닛 또는 이종 메모리 유닛으로 구성될 수 있다.
다양한 예시에서, 제2 메모리(400)는 내부 메모리 또는 온-칩 메모리로 구성될 수 있다.
인공신경망용 영상 처리 시스템(10)의 프로세서(150), 이미지 신호 프로세서(100), 제1 메모리(300), 및 제2 메모리(400)는 서로 통신하도록 전기적으로 연결될 수 있다.
이하에서는, 본 개시의 따른 인공신경망용 영상 처리 시스템의 대표 기능을 상세하게 설명한다.
도 2 및 도 3은 본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템의 각 구성 별 수행 기능을 설명하는 개략적인 개념도이다.
도 2를 참조하면, 본 개시의 일 예시에 따른 인공신공망용 영상 처리 시스템(10)은 적어도 보상 유닛(210)을 포함하도록 구성될 수 있다.
본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템(10)은 이미지 센서(500)로부터 이미지를 제공받도록 구성될 수 있다. 단, 이에 제한되지 않으며, 인공신경망용 영상 처리 시스템(10)은 이미지 센서(500)를 더 포함하도록 구성될 수 있다.
본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템(10)은 이미지 신호 프로세서(100)에 제어 신호를 제공하도록 구성될 수 있다. 단, 이에 제한되지 않으며, 인공신경망용 영상 처리 시스템(10)은 이미지 신호 프로세서(100)를 더 포함하도록 구성될 수 있다.
본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템(10)은 프로세서(150)에 인공신경망용으로 영상 처리된 이미지를 제공하도록 구성될 수 있다. 단, 이에 제한되지 않으며, 인공신경망용 영상 처리 시스템(10)은 프로세서(150)를 더 포함하도록 구성될 수 있다.
본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템(10)은 보상 유닛(210)을 포함하고, 이미지 센서(500), 이미지 신호 프로세서(100), 및 프로세서(150) 중 적어도 하나를 더 포함하도록 구성될 수 있다.
본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템(10)의 보상 유닛(210)은 이미지 센서(500), 및/또는 이미지 신호 프로세서(100)와 각각 통신하도록 구성될 수 있다.
보상 유닛(210)은 이미지 신호 프로세서(100)를 제어하기 위해 프로세서(150)가 추론할 이미지를 분석하도록 구성될 수 있다.
구체적으로, 보상 유닛(210)의 분석 유닛(210a)은 프로세서(150)가 처리하는 인공신경망 모델(DNN)의 추론 정확도를 향상시킬 수 있는 인공신경망 모델(DNN)의 기 분석된 추론 정확도 프로파일 정보를 저장하도록 구성될 수 있다.
보상 유닛(210)은 별도의 프로세서로 구성될 수 있다. 또는, 보상 유닛(210)은 프로세서(150)에 포함되도록 구성될 수 있다. 또는, 보상 유닛(210)은 이미지 신호 프로세서(100)에 포함되도록 구성될 수 있다.
보상 유닛(210)은 분석 유닛(210a), 멀티플렉서 유닛(210b), 및 프리셋 라이브러리(210c)를 포함하도록 구성될 수 있다.
분석 유닛(210a)은 이미지 센서(500)로부터 획득되는 이미지의 특성 데이터를 분석하도록 구성될 수 있다. 분석 유닛(210a)은 분석된 이미지의 특성 데이터를 기초로 인공신경망 모델(DNN)의 추론 정확도를 향상시킬 수 있는 추론 정확도 프로파일을 프리셋 라이브러리(210c)에서 선택하도록 구성될 수 있다.
프리셋 라이브러리(Preset Library)(210c)는 이미지 신호 프로세서(100)를 제어하는 복수의 설정 값을 저장하도록 구성될 수 있다. 이미지 신호 프로세서(100)는 특정 설정 값을 입력 받아 프로세서(150)가 처리할 이미지의 추론 정확도를 향상시키도록 이미지를 영상 처리하도록 구성될 수 있다. 프리셋 라이브러리(210c)는 멀티플렉서 유닛(210b)에 의해서 제어될 수 있다. 프리셋 라이브러리(210c)는 분석 유닛(210a)의 선택 신호에 대응하여 선택된 설정 값을 이미지 신호 프로세서(100)에 제공하도록 구성될 수 있다.
멀티플렉서 유닛(210b)은 분석 유닛(210a)에서 분석된 특성 데이터들을 입력받아 이미지 신호 프로세서(100)에 제공할 제어 값을 선택하도록 구성될 수 있다.
이하 분석 유닛(210a)에 대해서 자세히 설명한다. 분석 유닛(210a)은 프로세서(150)가 처리할 이미지의 특성 데이터를 분석하고, 분석 결과를 인공신경망 모델(DNN)의 추론 정확도 프로파일과 비교하도록 구성될 수 있다.
즉, 본 개시의 일 예시에 따른 추론 정확도 프로파일이란 특정 인공신경망 모델(DNN)의 추론 정확도 프로파일을 지칭할 수 있다. 인공신경망 모델(DNN)의 추론 정확도 단위는 인공신경망 모델(DNN)의 어플리케이션(application)에 따라 달라질 수 있다.
다르게 설명하면, 추론 정확도 프로파일이란 이미지의 데이터 특성 변화에 따라 가변되는 인공신경망 모델(DNN)의 객체 감지율(object detection rate) 또는 영상 분류율(image classification rate)을 의미할 수 있다. 객체 감지율은 평균 정밀도(mean average precision; mAP)(%)으로 표현될 수 있다.
다르게 설명하면, 추론 정확도 프로파일이란 프로세서(150)에 입력되는 이미지의 데이터 특성 변화에 따라 프로세서(150)가 처리하는 특정 인공신경망 모델(DNN)의 추론 정확도 변화의 경향성을 분석한 정보를 의미할 수 있다.
다르게 설명하면, 추론 정확도 프로파일이란 이미지가 어떤 경향의 특성 데이터를 가질 때 특정 인공신경망 모델(DNN)이 추론 정확도가 향상될 수 있는지를 분석한 정보를 의미할 수 있다.
또한 인공신경망 모델(DNN)의 추론 정확도는 훈련 중인 가중치 또는 훈련이 완료된 가중치에 따라 달라질 수 있다는 사실도 주목해야 한다.
예를 들어, 특정 인공신경망 모델은 100개로 클래스(class)로 분류된 1000장의 사진으로 구성된 훈련 데이터셋(training dataset)으로 머신-러닝 될 수 있다. 이때, 데이터셋의 각각의 이미지의 특성 데이터 변화에 따라 인공신경망 모델의 훈련된 가중치가 달라질 수 있다.
부연 설명하면, 훈련된 인공신경망 모델은 훈련된 데이터셋과 유사한 이미지를 추론할 때 정확도가 높게 될 수 있다.
부연 설명하면, 훈련된 인공신경망 모델은 어두운 이미지로 구성된 데이터셋으로 훈련될 때 어두운 이미지의 추론 정확도가 향상될 수 있다.
부연 설명하면, 훈련된 인공신경망 모델은 밝은 이미지로 구성된 데이터셋으로 훈련될 때 밝은 이미지의 추론 정확도가 향상될 수 있다.
부연 설명하면, 훈련된 인공신경망 모델은 선명한 이미지로 구성된 데이터셋으로 훈련될 때 선명한 이미지의 추론 정확도가 향상될 수 있다.
부연 설명하면, 훈련된 인공신경망 모델은 뿌연(blurred) 이미지로 구성된 데이터셋으로 훈련될 때 뿌연 이미지의 추론 정확도가 향상될 수 있다.
즉, 인공신경망 모델(DNN)의 추론 정확도는 훈련용 데이터셋의 이미지 특성 데이터와 추론하는 이미지의 특성의 유사성에 영향을 받게 된다. 이러한 경향성의 이유는 인공신경망 모델(DNN)이 학습된 이미지와 유사한 이미지를 잘 추론하도록 설계되었기 때문이다.
즉, 보상 유닛(210)은 이미지 신호 프로세서(100)에 영상 처리를 제어하는 설정 값을 제공하여 훈련된 인공신경망 모델의 추론 정확도를 향상시킬 수 있다.
분석 유닛(210a)은 훈련된 인공신경망 모델의 추론 정확도 프로파일을 활용하도록 구성될 수 있다.
여기서 인공신경망 모델의 추론 정확도 프로파일은 인공신경망 모델의 추론 정확도 특성을 분석한 프로파일을 의미할 수 있다. 즉, 인공신경망 모델의 추론 정확도 프로파일은 기 분석된 인공신경망 모델의 추론 정확도 특성을 포함한다.
프로세서(150)가 처리할 인공신경망 모델(DNN)이 결정되면, 인공신경망 모델(DNN)의 추론 정확도 프로파일이 선택될 수 있다. 추론 정확도 프로파일 선택을 통해서 이미지의 데이터 특성 변화에 따른 인공신경망 모델(DNN)의 추론 정확도 변화 데이터가 생성될 수 있다. 추론 정확도 프로파일 선택에 대해서는 도 6a 내지 도 8d를 참조하여 후술한다.
예를 들어, 분석 유닛(210a)은 인공신경망 모델(DNN)의 추론 정확도 프로파일 선택을 통해 인공신경망 모델(DNN)의 훈련 이미지 데이터셋의 밝기 수준 또는 노이즈 수준 등의 데이터를 유추할 수 있다. 따라서, 이미지 신호 프로세서(100)가 해당 이미지 센서(500)로부터 획득된 이미지를 어떻게 영상 처리해야, 프로세서(150)에서 추론되는 이미지의 정확도가 향상될지 결정될 수 있다.
이에, 보상 유닛(210)은 이미지를 처리하기 위한 이미지 신호 프로세서(100)의 제어 값을 이미지 신호 프로세서(100)로 제공할 수 있다. 상기 제어 값은 특수 기능 레지스터 파라미터(Special Function Register parameter)로 지칭될 수 있다. 특수 기능 레지스터 파라미터(SFR parameter)는 이미지 신호 프로세서(100)에 포함된 각각의 처리 모듈을 제어하는 값을 의미할 수 있다. 상기 제어 값은 프리셋(preset) 형태로 제공될 수 있다.
즉, 보상 유닛(210)은 프로세서(150)가 처리할 인공신경망 모델(DNN)의 추론 정확도 프로파일에 대응되는 기 설정된 복수의 특수 기능 레지스터 파라미터의 프리셋(SFR preset)들 중 하나를 이미지 신호 프로세서(ISP)(100)로 제공할 수 있다. 특수 기능 레지스터 파라미터는 이미지 보정 파라미터로 지칭될 수 있다.
다시 말해서, 보상 유닛(210)은 프로세서(150)가 처리할 각각의 이미지 별로 이미지의 전처리 정도를 결정하는 특수 기능 레지스터 파라미터의 프리셋을 이미지 신호 프로세서(100)로 제공할 수 있다.
이미지 신호 프로세서(100)는 보상 유닛(210)에서 제공한 이미지 보정 파라미터를 기초로 이미지를 전처리할 수 있다.
도 3을 참조하면, 이미지 신호 프로세서(100)는 파이프라인 구조의 복수의 처리 모듈을 포함하도록 구성될 수 있다. 각각의 처리 모듈은 특정 기능의 영상처리를 하도록 구성될 수 있다. 각각의 처리 모듈에는 특수 기능 레지스터 파라미터인 이미지 보정 파라미터가 입력될 수 있다.
이미지 신호 프로세서(100)가 이미지를 처리하는 과정은 도 3에 도시된 순서로 수행될 수 있다. 예를 들어, 이미지 신호 프로세서(100)는 RGB 변환된 이미지 데이터를 전달받아, 각 처리 모듈의 이미지 처리 기능을 수행한다. 각 모듈은 보상 유닛(210)에서 제공한 이미지 보정 파라미터를 기반으로 이미지를 처리할 수 있다. 이미지 신호 프로세서(100)는 처리된 이미지를 프로세서(150)로 전달할 수 있다. 여기서, 전처리 된 이미지는 프로세서(150)가 처리할 인공신경망 모델(DNN)의 추론 정확도 프로파일을 기초로 영상 처리 되었기 때문에, 추론 정확도가 향상될 수 있다.
다양한 예시에서, 이미지 신호 프로세서(100)의 종류에 따라, 각 처리 모듈에 기재된 이미지 처리 외에 추가 기능을 수행하거나, 일부 기능을 삭제 또는 통합하여 수행할 수 있다.
다시, 도 2를 참조하면, 프로세서(150)는 전처리 된 이미지를 인공신경망 모델(DNN)에 입력하여 이미지 분류 또는 객체 인식 등의 추론을 할 수 있다.
이와 같이, 이미지 보정 파라미터를 기초로 처리된 이미지를 입력으로 하는 인공신경망 모델은, 추론 정확도가 종래보다 향상될 수 있다.
이하에서는, 보상 유닛(210)을 이용하여 이미지 신호 프로세서(100)를 제어하는 일련의 과정을 도 4 내지 도 8d를 참조하여 상세하게 설명한다.
도 4는 본 개시의 일 예시에 따른 이미지 신호 프로세서의 제어 방법에 대한 개략적인 순서도이다.
도 4를 참조하면, 보상 유닛(210)은 이미지를 획득할 수 있다(S110). 예를 들어, 보상 유닛(210)은 이미지 센서(500)가 제공하는 이미지를 획득하거나, 통신 인터페이스(미도시)를 통해 외부의 장치로부터 이미지를 수신할 수도 있다. 여기서, 이미지 센서(500)는 베이어 필터(Bayer filter)를 포함하는 센서일 수 있다. 이러한 경우, 이미지 센서(500)는 베이어 패턴(Bayer pattern)을 가지는 RAW 이미지 데이터를 RGB, YUV, HSV, YCBCR 등으로 색공간 변환(Color Space Conversion)할 수 있다.
도 4를 참조하면, 보상 유닛(210)은 이미지에 대응되는 적어도 하나의 이미지 특성 데이터를 생성할 수 있다(S120). 구체적으로, 보상 유닛(200)의 분석 유닛(210a)은 이미지의 각 채널의 히스토그램(Histogram), 최대 값(Maximum value), 최소 값(Minimum value), 평균 값(Mean value), 표준 편차 값(Standard deviation value), RGB 합(Sum of RGB values), 신호대잡음비(signal-to-noise ratio, SNR), 주파수 정보(Frequency content) 및 엣지 정보(Edge content) 중 적어도 하나를 추출하여, 해당 이미지의 이미지 특성 데이터를 분석함으로써, 특성 데이터를 생성할 수 있다.
즉, 분석 유닛(210a)은 인공신경망 모델(DNN)에 입력할 이미지의 특성 중 추론 정확도와 관련될 수 있는 다양한 이미지 특성 데이터를 분석할 수 있다.
한편, 다양한 이미지 특성 데이터를 추출하기 위해 분석 유닛(210a)은 상술한 이미지 특성 데이터를 분석할 수 있는 histogram, Minimum, Maximum, summation, average, mean, standard deviation, convolution, Fourier transform 연산 중 적어도 하나의 연산을 수행할 수 있는 연산 유닛을 포함할 수 있다.
예를 들면, 분석 유닛(210a)은 상기 연산들을 처리하도록 구성된 프로세서를 포함하도록 구성될 수 있다. 예를 들면, 분석 유닛(210a)은 상기 연산들을 처리하기 위해서 이미지 신호 프로세서(100)의 일부 모듈을 활용하도록 구성될 수 있다. 예를 들면, 분석 유닛(210a)은 application specific integrated circuit, application processor, central processing unit, graphic processing unit, micro processing unit 등을 활용 하여 상기 연산들을 처리하도록 구성될 수 있다.
S120 단계 이후, 보상 유닛(210)은 적어도 하나의 이미지 특성 데이터 및 인공신경망 모델(DNN)의 추론 정확도 프로파일을 기초로 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터(SFR preset)를 결정할 수 있다(S130).
구체적으로, 보상 유닛(210)은 프로세서(150)가 처리할 인공신경망 모델(DNN)의 추론 정확도 변화가 분석된 프로파일을 제공받을 수 있다. 여기서, 추론 정확도 변화란 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 중 적어도 하나의 이미지 특성을 기준으로, 적어도 하나의 이미지 특성 수준이 점진적으로 변화할 때마다 변화하는 인공신경망 모델(DNN)의 추론 정확도를 나타낸다.
예를 들면, 인공신경망 모델(DNN)은 이미지 분류(Image Classification), 객체 감지(Object Detection), 객체 세그먼테이션(Object Segmentation), 객체 추적(Object Tracking), 이벤트 감지(Event Recognition), 이벤트 예측(Event Prediction), 이상 감지(Anomaly Detection), 밀도 측정(Density Estimation), 측정(Measurement) 등의 추론을 수행하도록 학습될 모델일 수 있다
여기서, 본 개시의 예시에 따른 정확한 동작 구현을 위해서, 인공신경망 모델(DNN)은 학습이 완료된 모델일 수 있다. 또는 인공신경망 모델(DNN)은 임계 추론 정확도 이상을 달성한 수준으로 학습이 진행된 모델일 수 있다. 만약 인공신경망 모델에 추가적인 학습이 제공될 경우, 추론 정확도 프로파일은 변경될 수 있다. 따라서, 학습이 완료된 인공신경망 모델이 제공됨에 따라 보상 유닛(210)의 추론 정확도 프로파일 선택이 실시될 수 있다.
이하에서는 보상 유닛(210)이 활용할 인공신경망 모델의 추론 정확도 프로파일의 분석 방법에 대해서 설명한다. 보상 유닛(210)은 기 분석된 인공신경망 모델의 추론 정확도 프로파일을 제공받을 수 있다. 여기서 인공신경망 모델의 추론 정확도 프로파일은 프로세서(150)가 처리할 인공신경망 모델에 대응되어 제공될 수 있다.
이하에서는 인공신경망 모델의 추론 정확도 프로파일 분석을 위한 예시로써 평균 정밀도(mAP)를 활용한다.
추론 정확도 프로파일 분석은 프로세서(150)가 추론할 인공신경망 모델(DNN)이 결정된 다음 실시될 수 있다. 추론 정확도 프로파일 선택에 대해서는 도6a 내지 도 8d를 참조하여 후술한다.
예를 들어, 보상 유닛(210)은 프로세서(150)가 처리할 이미지 특성 데이터를 분석하도록 구성될 수 있다.
분석 유닛(210)은 분석된 인공신경망 모델(DNN)의 추론 정확도 프로파일을 제공받도록 구성될 수 있다.
분석 유닛(210)은 제공받은 추론 정확도 프로파일과 이미지 특성 데이터를 비교하여 이미지 신호 프로세서(100)의 추론 정확도가 향상될 수 있는 이미지 보정 파라미터 값을 설정하도록 구성될 수 있다.
분석 유닛(210)은 분석된 추론 정확도 프로파일과 이미지 특성 데이터에 대응되는 복수의 이미지 보정 파라미터 프리셋이 포함된 라이브러리(210c)를 포함하도록 구성될 수 있다.
즉, 보상 유닛(200)은 추론 정확도 프로파일 및 분석된 이미지 특성 데이터를 기초로 인공신경망에 입력되는 이미지의 전처리 정도를 결정하는 이미지 보정 파라미터를 선택적으로 결정할 수 있다. 여기서, 이미지 보정 파라미터(SFR preset)는 이미지 신호 프로세서(100)로 제공될 파라미터로, 이미지 신호 프로세서(100)의 특수 기능 레지스터(Special Function Register) 값에 대응될 수 있다.
예를 들어, 이미지 보정 파라미터(SFR preset)는 아래의 [표 1]과 같이 이미지 신호 프로세서(100)로 제공 가능한 특수 기능 레지스터 값으로 정의될 수 있다. 이미지 신호 프로세서(100)의 종류, 식별 정보에 따라 [표 1]과 같은 프리셋 라이브러리(Preset library)(210c)는 상이하며, 상이한 프리셋 라이브러리(210c)는 보상 유닛(200) 또는 별도의 메모리에 저장될 수 있다. 예를 들면 프리셋 라이브러리(210c)는 제1 메모리(300)에 저장될 수 있다. 단, 이에 제한되지 않으며 프리셋 라이브러리(210c)는 보상 유닛(210) 내부의 메모리에 저장될 수 있다.
SFR parameter | Description | Preset #1 | Preset #2 | … | Preset #N |
Demosic | Enable: 0, 1 | 1 | 0 | 1 | |
Color Space Conversion | Enable: 0, 1 | 1 | 0 | 0 | |
Color Correction Matrix | Enable: 0, 1 | 1 | 0 | 1 | |
Matrix coefficients: x, y∈{0, 2} | {0,0} | {2,2} | {1,2} | ||
RGB Offset: x∈{R, G, B} | {0,0,0} | {10,10,10} | {90,90,90} | ||
Gamma Correction | Enable: 0, 1 | 1 | 0 | 1 | |
Interpolate LUT values | “A”LUT | “B”LUT | “N”LUT | ||
Nosie Reduction & Edge Enhancement | Enable: 0, 1 | 1 | 0 | 1 | |
Enable noise reduction: 0, 1 | 1 | 0 | 1 | ||
Noise threshold: 0, 1, 2, 3, 4 | 1 | 2 | 3 | ||
Enable edge enhancement: 0, 1 | 1 | 0 | 1 | ||
Enhance strength: 0, 1, 2, 3, 4 | 1 | 0 | 2 | ||
Motion Adaptive Nosie Reduction | Enable: 0, 1 | 1 | 0 | 1 | |
HDR | Enable: 0, 1 | 1 | 0 | 1 |
보상 유닛(210)은 이미지 특성 데이터 및 인공신경망 모델(DNN)의 추론 정확도 프로파일을 기초로 [표 1]에서 도시된 N개의 이미지 보정 파라미터(SFR preset)에서 최적의 이미지 보정 파라미터를 결정할 수 있다.
보상 유닛(210)은 이미지 신호 프로세서(100)로 결정된 최적의 이미지 보정 파라미터(SFR preset)를 전달한다. 이에 프로세서(150)는 이미지 신호 프로세서(100)로부터 이미지 보정 파라미터를 토대로 처리된 이미지(processed image)를 전달받을 수 있다. 예를 들면, 프로세서(150)는 객체를 추론하도록 훈련된 인공신경망 모델(DNN)에 처리된 이미지(processed image)를 입력하여 객체 추론 결과를 출력할 수 있다.
다양한 예시에서, 프로세서(150)는 추론 연산을 위해 처리된 이미지(processed image)와 함께 인공신경망 모델(DNN)의 가중치(weight value)를 제공받을 수 있다.
다양한 예시에서, 보상 유닛(210)은 특정 메모리에 저장된 복수 개의 인공신경망 모델의 추론 정확도 프로파일을 기초로 복수 개의 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정할 수도 있다. 예를 들면 특정 메모리는 제1 메모리(300) 또는 제2 메모리(400)일 수 있다. 구체적으로, 동일한 레이어 구조를 가진 인공신경망 모델이라 하더라도 훈련 이미지 데이터셋에 따라, 추론 정확도가 다를 수 있다. 그에 따라, 보상 유닛(210)은 복수 개의 인공신경망 모델이 존재하는 경우, 복수 개의 인공신경망 모델 별로 추론 정확도를 향상시키기 위한 개별 이미지 보정 파라미터를 선택할 수 있다.
여기서, 제1 인공신경망 모델은 이미지 분류 모델일 수 있다. 제2 인공신경망 모델은 객체 인식 모델일 수 있다. 제3 인공신경망 모델은 객체 세그먼테이션 모델일 수 있다. 각각의 인공신경망 모델의 가중치는 학습 데이터에 따라서 서로 상이할 수 있다. 따라서, 각각의 인공신경망 모델의 추론 정확도 프로파일은 서로 상이할 수 있다. 따라서 각각의 인공신경망 모델의 추론 정확도 프로파일은 각각 서로 다르게 분석될 수 있다. 각각의 분석된 인공신경망 모델의 추론 정확도 프로파일은 보상 유닛(210)에 각각 제공될 수 있다. 이에, 보상 유닛(210)은 적어도 하나의 인공신경망 모델의 추론 정확도 프로파일을 제공받거나 또는 저장하도록 구성될 수 있다.
이하에서는, 최적의 파라미터를 결정하기 위해 인공신경망 모델의 추론 정확도 프로파일을 선택하는 방법에 대해서, 도 5를 참조하여 상세하게 설명한다.
도 5는 본 개시의 일 예시에 따른 이미지 신호 프로세서의 제어 방법에 대한 구체적인 순서도이다.
도 5를 참조하면, 보상 유닛(210)은 이미지 센서(500) 및 이미지 신호 프로세서(100)를 식별할 수 있다(S210). 구체적으로, 이미지 센서(500) 및 이미지 신호 프로세서(100)는 종류 별로 이미지 데이터를 처리하는 특성이 다른 바, 프로세서(150)는 이미지 신호 프로세서(100)의 이미지 보정 파라미터(SFR preset)을 선택하기에 앞서, 두 장치를 식별할 수 있다. 단, 본 개시는 장치 식별에 제한되지 않으며, 장치 식별 단계는 생략되는 것도 가능하다.
S210 단계 이후, 프로세서(150)는 이미지를 토대로 객체를 추론할 인공신경망 모델(DNN)을 결정할 수 있다(S220). 구체적으로, 제1 메모리(300)는 복수 개의 인공신경망 모델을 저장할 수 있으며, 사용자로부터 그 중 하나의 인공신경망 모델을 선택 받을 수 있다.
S220 단계 이후, 프로세서(150)는 앞선 단계에서 결정된 인공신경망 모델의 참조 이미지 데이터셋(reference image dataset)을 단계 별로 변조할 수 있다(S230). 여기서, 참조 이미지 데이터셋은 인공신경망 모델의 성능 평가를 위한 예를 들어, 수만 장의 validation image dataset 일 수 있다.
프로세서(150)는 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 중 적어도 하나의 이미지 특성을 기준으로, 그 속성을 단계 별로 변조시킬 수 있다.
S230 단계 이후, 프로세서(150)는 단계 별로 변조된 복수의 이미지 데이터 셋에 대한 인공신경망 모델의 평균 정밀도(mAP)을 계산할 수 있으며(S240), 계산 결과를 토대로 인공신경망 모델의 프로파일을 선택할 수 있다(S250).
관련하여, 도 6a 내지 도 8d는 본 개시의 일 예시에 따른 이미지 특성을 기준으로 인공신경망 모델의 프로파일을 선택하는 방법을 설명하기 위한 개략도들이다.
도 6a 내지 도 8d를 참조하여 설명하기에 앞서, 인공신경망 모델의 참조 이미지 데이터셋을 선택 및 프로파일을 분석하기 위한 일부의 과정(예. 변조 이미지 데이터셋 생성 등)은 인공신경망용 영상 처리 시스템(10)에 포함된 분석 시스템(미도시) 또는 프로세서(150)에 의해 수행되는 것으로 이해될 수 있다. 또한 프로파일 분석 작업은 수십만장의 프로파일용 분석 이미지를 추론해야 하기 때문에, 실시간으로 처리되기 어려울 수 있다. 또한 수십만장의 프로파일용 분석 이미지를 저장하기위한 메모리가 필요할 수 있다. 따라서, 프로파일 분석 작업은 사전에 별로도 진행되고, 분석된 프로파일 결과만 따로 활용하는 것이 효율적일 수 있다.
도 6a 내지 도 6c는 이미지의 밝기로 인공신경망 모델의 추론 정확도 프로파일을 분석 한다. 도 6a를 참조하면, 프로파일 생성을 위한 참조 이미지 데이터셋(reference image dataset)이 준비될 수 있다. 사용 가능한 데이터셋으로는 공개된 표준 데이터셋 또는 특정 기능의 학습을 위해 생성된 데이터셋이 활용될 수 있다.
예를 들면, 5만장의 인공신경망 추론을 평가할 수 있는 사진이 데이터셋으로 활용될 수 있다. 프로파일 생성을 위해서, 참조 이미지 데이터셋 기준으로 이미지의 평균 밝기를 단계 별로 변조시켜 6개의 변조 이미지 데이터셋(altered image dataset)을 생성할 수 있다. 하나의 변조 이미지 데이터셋은 밝기가 다른 5만장의 사진이다. 따라서 6개의 변조 데이터 셋은 총 30만장의 사진을 포함한다. 또한 참조 이미지 데이터셋을 포함하면, 총 7단계의 밝기를 가지는 35만장의 프로파일 분석용 이미지 데이터셋이 준비될 수 있다.
예를 들어, 참조 이미지 데이터셋에 YCbCr color space의 기준 이미지의 밝기 값(Y)을 30계조 단위로 가변하여, 이미지 밝기 값(Y)이 6단계인 변조 이미지 데이터셋들을 생성할 수 있다. 여기서, 밝기 값의 변화 단위는 이에 제한되는 것은 아니며, 사용자에 의해 밝기 값의 변화 단위가 설정될 수 있다.
분석 시스템은 각각의 이미지 데이터셋을 인공신경망 모델(DNN)에 입력하여, 평균 밝기 변화에 따른 인공신경망 모델의 평균 정밀도(mAP)를 프로파일링할 수 있다. 여기서 이미지 데이터셋은 변조 이미지 데이터셋 및 참조 이미지 데이터셋을 모두 포함할 수 있다. 프로파일 분석은 별도의 시스템 또는 프로세서(150)에서 수행될 수 있다.
도 6b를 참조하면, 프로파일링 결과, 인공신경망 모델(DNN)은 참조 이미지 데이터셋의 평균 밝기를 30계조 증가시켰을 때(ΔY=30), mAP가 가장 높고, 반대로 평균 밝기를 90계조 감소시켰을 때(ΔY=-90), mAP가 가장 낮아짐을 확인할 수 있다.
즉, 프로파일 결과를 참조하면, 참조 이미지 데이터셋과 변조 이미지 데이터셋의 추론 정확도 차이를 기초로 인공신경망 모델의 추론 정확도 특성이 분석될 수 있다. 예를 들어, 도 6b의 프로파일을 참조하면, 인공신경망 모델의 훈련 이미지 데이터셋으로 상대적으로 밝은 이미지가 사용되었다고 판단할 수 있다. 예를 들면, 프로세서(150)가 처리할 인공신경망 모델은 상대적으로 30계조 이상 밝은 이미지에서 추론 정확도가 가장 높다고 분석할 수 있다. 즉, 제4 변조 데이터셋(ΔY=30)의 평균 밝기 값을 최적 값으로 판단할 수 있다. 이에, 보상 유닛(210)은 프로세서(150)가 처리할 이미지의 평균 밝기 값이 제4 변조 데이터셋(ΔY=30)의 평균 밝기 값과 유사해지도록 이미지 신호 프로세서(100)를 제어할 수 있다.
따라서, 보상 유닛(210)은 인공신경망 모델(DNN)에 입력되는 이미지의 밝기를 인공신경망 모델의 추론 정확도 특성에 맞게 가변하기 위해 이미지 신호 프로세서(100)를 제어하도록 구성될 수 있다. 그에 따라, 보상 유닛(210)은 인공신경망 모델의 추론 정확도를 향상시킬 수 있다.
도 6c를 참조하면, 보상 유닛(210)은 프리셋 라이브러리(210c)를 이용하여 이미지 신호 프로세서(100)의 이미지 보정 파라미터(SFR preset)를 선택할 수 있다.
구체적으로, 보상 유닛(210)은 이미지 특성 데이터를 토대로 이미지의 평균 밝기(average brightness of an input image)를 계산할 수 있다. 보상 유닛(210)은 계산된 이미지의 평균 밝기에 따라 프리셋 라이브러리(Preset Library)(210c)에서 해당 이미지에 적용될 이미지 보정 파라미터 프리셋을 선택할 수 있다.
예를 들어, 제1 밝기 보정 프리셋(A1)은 입력되는 이미지의 평균 밝기가 0~32일 때, 이미지 신호 프로세서(100)가 이미지의 평균 밝기를 80계조 증가(ΔY=80)시키는 보정을 수행하는 의미를 내포할 수 있다. 다른 예를 들어, 제8 밝기 보정 프리셋(A8)은 입력되는 이미지의 평균 밝기가 224~255일 때, 이미지 신호 프로세서(100)가 이미지의 평균 밝기를 10계조 감소(ΔY=-10)시키는 보정을 수행하는 의미를 내포할 수 있다.
이와 같이, 보상 유닛(210)은 1.입력 이미지의 평균 밝기와 2.인공신경망 모델의 평균 밝기에 따른 추론 정확도 프로파일을 고려하여, 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정할 수 있다. 따라서 인공신경망 모델의 추론 정확도가 향상될 수 있다.
부연 설명하면, 이미지 신호 프로세서(100)는 보상 유닛(210)에서 전달받은 이미지 보정 파라미터를 기초로 이미지의 밝기 수준(ΔY)을 보정할 수 있다. 예를 들어, 이미지 신호 프로세서(100)는 베이어 패턴(Bayer pattern)을 가지는 RAW 이미지 데이터를 YCbCr color space로 변환한 뒤, 이미지의 밝기 수준(ΔY)을 보정할 수 있다. 또한, 이미지 신호 프로세서(100)는 베이어 패턴(Bayer pattern)을 가지는 RAW 이미지 데이터를 픽셀 별 RGB로 변환한다. 다음으로, 이미지 신호 프로세서(100)는 RGB 값 또는 Gamma curve 값을 조절을 통해 이미지의 밝기 수준을 YCbCr 기반의 이미지 보정 파라미터(ΔY)에 맞게 보정할 수 있다.
도 7a 내지 도 7c에서는 이미지의 노이즈로 인공신경망 모델(DNN)의 추론 정확도 프로파일을 분석할 수 있다. 도 7a를 참조하면, 추론 정확도 프로파일 생성을 위한 참조 이미지 데이터셋(reference image dataset)이 준비될 수 있다. 사용 가능한 데이터셋으로는 공개된 표준 데이터셋 또는 특정 기능의 학습을 위해 생성된 데이터셋이 활용될 수 있다.
예를 들면, 3만장의 인공신경망 추론을 평가할 수 있는 사진이 데이터셋으로 활용될 수 있다. 추론 정확도 프로파일 생성을 위해서, 참조 이미지 데이터셋 기준으로 이미지의 노이즈 레벨을 단계 별로 변조시켜 4개의 변조 이미지 데이터셋(altered image dataset)을 생성할 수 있다. 하나의 변조 이미지 데이터셋은 노이즈 레벨이 다른 3만장의 사진이다. 따라서 4개의 변조 데이터 셋은 총 12만장의 사진을 포함한다. 또한 참조 이미지 데이터셋을 포함하면, 총 5단계의 노이즈 레벨을 가지는 15만장의 프로파일 분석용 이미지 데이터셋이 준비될 수 있다.
부연 설명하면, 밝기 프로파일 및 노이즈 프로파일 분석용 참조 이미지 데이터셋은 서로 동일하거나 또는 서로 상이할 수 있다.
예를 들어, 참조 이미지 데이터셋에 화이트 노이즈(White Noise)를 3 데시벨(dB)씩 추가하여, 단계 별로 노이즈 처리가 된 서로 다른 4개의 변조 이미지 데이터셋을 생성할 수 있다. 여기서, 노이즈 값의 추가 단위는 이에 제한되는 것은 아니며, 사용자에 의해 노이즈 값의 추가 단위가 지정될 수 있다.
프로세서(150)는 각각의 변조 이미지 데이터셋을 인공신경망 모델(DNN)에 입력하여, 노이즈 변화에 따른 인공신경망 모델의 평균 정밀도(mean Average Precision; mAP)를 프로파일링할 수 있다. 여기서 이미지 데이터셋은 변조 이미지 데이터셋 및 참조 이미지 데이터셋을 모두 포함할 수 있다.
도 7b를 참조하면, 프로파일링 결과, 인공신경망 모델은 참조 이미지 데이터셋의 노이즈가 3dB씩 추가되어, 신호 대 잡음비(SNR)(Signal-to-noise ratio) 값이 감소할수록, mAP가 낮아짐을 확인할 수 있다.
즉, 추론 정확도 프로파일 결과를 참조하면, 참조 이미지 데이터셋과 변조 이미지 데이터셋의 추론 정확도 차이를 기초로 인공신경망 모델의 추론 정확도 특성을 분석할 수 있다. 예를 들어, 도 7b의 추론 정확도 프로파일을 참조하면, 인공신경망 모델의 훈련 이미지 데이터셋으로 노이즈가 적은 선명한 이미지가 사용되었다고 판단할 수 있다. 예를 들면, 프로세서(150)가 처리할 인공신경망 모델(DNN)은 상대적으로 신호 대 잡음비가 가장 높은 이미지에서 추론 정확도가 가장 높다고 분석할 수 있다. 즉, 신호 대 잡음비가 30dB 이상의 값을 최적 값으로 판단할 수 있다. 이에, 보상 유닛(210)은 프로세서(150)가 처리할 이미지의 신호 대 잡음비가 30dB와 유사해지도록 이미지 신호 프로세서(100)를 제어할 수 있다.
따라서, 보상 유닛(210)은 인공신경망 모델(DNN)에 입력되는 이미지의 신호 대 잡음비를 인공신경망 모델의 추론 정확도 특성에 맞게 가변할 수 있게 이미지 신호 프로세서(100)를 제어하도록 구성될 수 있다. 따라서 보상 유닛(210)은 인공신경망 모델의 추론 정확도를 향상시킬 수 있다.
도 7c를 참조하면, 보상 유닛(210)은 프리셋 라이브러리(210c)를 이용하여 이미지 신호 프로세서(100)의 이미지 보정 파라미터(SFR preset)를 선택할 수 있다.
구체적으로, 보상 유닛(210)은 이미지 특성 데이터를 토대로 이미지의 신호 대 잡음비를 계산할 수 있다. 보상 유닛(210)은 계산된 이미지의 신호 대 잡음비에 따라 프리셋 라이브러리(Preset Library)에서 해당 이미지에 적용될 이미지 보정 파라미터 프리셋을 선택할 수 있다.
예를 들어, 제1 신호 대 잡음비 프리셋(B1)은 입력되는 이미지의 평균 신호 대 잡음비가 15dB이하일 때, 이미지 신호 프로세서(100)가 노이즈 필터 레벨을 4 레벨로 처리하는 의미를 내포할 수 있다. 다른 예를 들어, 제3 신호 대 잡음비 프리셋(B3)은 입력되는 이미지의 신호 대 잡음비가 25dB일 때, 이미지 신호 프로세서(100)가 노이즈 필터 레벨을 2 레벨로 처리하는 의미를 내포할 수 있다. 이때, 노이즈 필터의 레벨이 높아질수록, 노이즈 보정 특성은 향상될 수 있다. 예를 들어, 노이즈 필터는 Low-pass Filter, Smoothing Filter, Convolutional Filter 등을 포함할 수 있으나, 이에 제한되지 않는다. 예를 들면, 상기 노이즈 감소는 도 3에 도시된 노이즈 감소 및 엣지 강화 모듈에서 수행될 수 있다.
이와 같이, 보상 유닛(210)은 1.입력 이미지의 신호 대 잡음비와 2.인공신경망 모델의 신호 대 잡음비에 따른 추론 정확도 프로파일을 고려하여, 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터(SFR preset)를 선택하여 이미지 신호 프로세서(100)로 제공할 수 있다. 따라서 인공신경망 모델의 추론 정확도가 향상될 수 있다.
부연 설명하면, 이미지 신호 프로세서(100)는 보상 유닛(210)으로부터 전달받은 이미지 보정 파라미터를 기초로 이미지의 노이즈를 보정할 수 있다. 예를 들어, 이미지 신호 프로세서(100)는 Nosie threshold 값을 조절하여, 이미지의 노이즈를 보정할 수 있다.
도 8a 내지 도 8d에서는 이미지의 흐릿한 수준(blurriness level) 로 인공신경망 모델(DNN)의 추론 정확도 프로파일을 분석 할 수 있다. 도 8a를 참조하면, 추론 정확도 프로파일 생성을 위한 참조 이미지 데이터셋(reference image dataset)이 준비될 수 있다. 사용 가능한 데이터셋으로는 공개된 표준 데이터셋 또는 특정 기능의 학습을 위해 생성된 데이터셋이 활용될 수 있다.
예를 들면, 3만장의 인공신경망 추론을 평가할 수 있는 사진이 데이터셋으로 활용될 수 있다. 추론 정확도 프로파일 생성을 위해서, 참조 이미지 데이터셋 기준으로 이미지의 흐릿한 수준(blurriness level; )를 단계 별로 변조시켜 3개의 변조 이미지 데이터셋(altered image dataset)을 생성할 수 있다. 하나의 변조 이미지 데이터셋은 흐릿한 수준이 다른 3만장의 사진이다. 따라서 3개의 변조 데이터 셋은 총 9만장의 사진을 포함한다. 또한 참조 이미지 데이터셋을 포함하면, 총 4단계의 흐릿한 수준을 가지는 12만장의 프로파일 분석용 이미지 데이터셋이 준비될 수 있다.
예를 들어, 참조 이미지 데이터셋에 수학식 1의 가우시안 필터(gaussian filter)를 적용하여, 값을 조절할 수 있다.
프로세서(150)는 흐릿한 수준(blurriness level)(=0)을 기준으로, 값을 2씩 증가시켜, 흐릿한 수준이 서로 다른 3개의 변조 이미지 데이터셋을 생성할 수 있다. 여기서, 흐릿한 수준의 변화 단위는 이에 제한되는 것은 아니며, 사용자에 의해 흐릿한 수준의 변화 단위가 지정될 수 있다.
부연 설명하면, 밝기 프로파일, 노이즈 프로파일, 및 흐릿함 수준 프로파일 분석용 참조 이미지 데이터셋은 서로 동일하거나 또는 서로 상이할 수 있다.
프로세서(150)는 각각의 변조 이미지 데이터셋을 인공신경망 모델(DNN)에 입력하여, 흐릿한 수준 변화에 따른 인공신경망 모델의 mAP를 프로파일링할 수 있다. 여기서 이미지 데이터셋은 변조 이미지 데이터셋 및 참조 이미지 데이터셋을 모두 포함할 수 있다.
도 8b를 참조하면, 프로파일링 결과, 인공신경망 모델은 흐릿한 수준이 증가할수록 mAP가 점차 떨어짐을 확인할 수 있다.
즉, 추론 정확도 프로파일 결과를 참조하면, 참조 이미지 데이터셋과 변조 이미지 데이터셋의 mAP 차이를 기초로 인공신경망 모델의 추론 정확도 특성을 분석할 수 있다. 예를 들어, 도 8b의 추론 정확도 프로파일 결과를 참조하면, 인공신경망 모델의 훈련 이미지 데이터셋으로 상대적으로 선명한 이미지가 사용되었다고 판단할 수 있고, 예를 들면, 프로세서(150)가 처리할 인공신경망 모델은 상대적으로 선명한 이미지에서 추론 정확도가 가장 높다고 분석할 수 있다. 즉, 값이 0인 값을 최적 값으로 판단할 수 있다. 이에, 보상 유닛(210)은 프로세서(150)가 처리할 이미지의 흐릿한 수준()이 0에 근접해지도록 이미지 신호 프로세서(100)를 제어하기 위한 이미지 보정 파라미터(SFR preset)을 선택할 수 있다.
따라서, 보상 유닛(210)은 인공신경망 모델(DNN)에 입력되는 이미지의 흐릿한 수준을 인공신경망 모델의 추론 정확도 특성에 맞게 가변하기 위해 이미지 신호 프로세서(100)를 제어하도록 구성될 수 있다. 그에 따라, 보상 유닛(210)은 인공신경망 모델의 추론 정확도를 향상시킬 수 있다.
도 8c를 참조하면, 보상 유닛(210)은 프리셋 라이브러리(210c)를 이용하여 이미지 신호 프로세서(100)의 이미지 보정 파라미터(SFR preset)를 결정할 수 있다.
구체적으로, 보상 유닛(210)은 이미지 특성 데이터를 토대로 이미지의 주파수 정보(frequency content)를 계산할 수 있다. 여기서, 보상 유낫(210)은 이미지 주파수가 높으면 선명하다(Sharp)고 판단하고, 이미지 주파수가 낮으면 흐릿하다(Blur)고 판단할 수 있다. 보상 유닛(210)은 계산된 주파수 정보에 따라 프리셋 라이브러리(Preset Library)에서 해당 이미지에 적용될 이미지 보정 파라미터 프리셋(SFR preset)을 선택할 수 있다.
구체적으로, 보상 유닛(210)은 이미지 특성 데이터를 토대로 흐릿한 수준을 계산할 수 있다. 보상 유닛(210)은 이미지 주파수에 대응되는 흐릿한 수준을 매핑할 수 있다. 보상 유닛(210)은 매핑된 흐릿한 수준에 따라 프리셋 라이브러리(Preset Library)에서 해당 이미지에 적용될 이미지 보정 파라미터를 선택적으로 결정할 수 있다.
예를 들어, 제1 흐릿함 프리셋(C1)은 입력되는 이미지의 흐릿한 수준이 =0일 때, 이미지 신호 프로세서(100)가 엣지를 강화하는 기능을 수행하지 않도록 하는 의미를 내포할 수 있다. 다른 예를 들어, 제4 흐릿함 프리셋(C4)은 입력되는 이미지의 흐릿한 수준이 =6일 때, 이미지 신호 프로세서(100)가 엣지 강조 레벨 3에 대응되는 보정을 수행하는 의미를 내포할 수 있다. 이때, 엣지 향상 필터의 레벨이 높아질수록, 엣지 특성은 향상될 수 있다.
이와 같이, 보상 유닛(210)은 1.입력 이미지의 흐릿한 수준과 2.인공신경망 모델의 흐릿한 수준에 따른 프로파일(mAP 변화 특성)을 고려하여, 인공신경망 모델의 mAP를 향상시키기 위한 이미지 보정 파라미터를 선택하여 이미지 신호 프로세서(100)로 제공할 수 있다. 따라서 인공신경망 모델의 추론 정확도가 향상될 수 있다.
부연 설명하면, 이미지 신호 프로세서(100)는 보상 유닛(210)으로부터 전달받은 이미지 보정 파라미터를 기초로 이미지의 흐릿한 수준을 보정할 수 있다. 예를 들어, 이미지 신호 프로세서(100)는 도 8d와 같이 커널(Kernel) 필터의 가중치를 조절하여 이미지의 엣지를 강조하는 보정을 수행할 수 있다. 예를 들면, 엣지 강조는 도 3에 도시된 노이즈 감소 및 엣지 강화 모듈에서 수행될 수 있다.
즉, 보상 유닛(210)은 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 중 적어도 하나의 이미지 특성에 대응되는 인공신경망 모델(DNN)의 추론 정확도 프로파일을 활용할 수 있다. 이에, 보상 유닛(210)은 적합한 이미지 신호 프로세서(100)의 이미지 보정 파라미터(SFR preset)를 선택적으로 제공할 수 있다(S260).
본 개시의 다양한 예시에서는 추가적인 추론 정확도 프로파일을 더 분석 및 반영하는 것이 가능하다. 예를 들면, 추가적인 추론 정확도 프로파일은 데이터셋의 특정 이미지 특성 값을 변조시키면서 분석될 수 있다.
다양한 예시에서, 보상 유닛(210)은 이미지 보정 파라미터(SFR preset)를 선택적으로 제공하기 위해 두 가지 방법을 이용할 수 있다.
일 예로, 보상 유닛(210)은 앞서 [표 1]에 도시된 바와 같이 프리셋 라이브러리(210c)를 이용하여 복수의 이미지 보정 파라미터 프리셋 중 적어도 하나를 선택적으로 제공할 수 있다(S260-1). 보상 유닛(210)은 최적의 이미지 보정 파라미터 선택을 위해서 이미지로부터 적어도 하나의 이미지 특성 데이터를 분석하도록 구성될 수 있다. 보상 유닛(210)은 하나의 이미지 프레임마다 이미지 특성 데이터를 분석할 수 있다. 또는 보상 유닛(210)은 복수의 이미지 프레임들 구간들마다 이미지 특성 데이터를 분석할 수 있다.
다른 예로, 보상 유닛(210)은 이미지 신호 프로세서(100)의 각각의 이미지 보정 파라미터를 선택적으로 결정할 수 있는 보상 함수를 산출하고, 보상 함수를 기초로 이미지 보정 파라미터를 선택적으로 제공할 수 있다(S260-2). 여기서, 보상 함수란, 인공신경망 모델(DNN)의 추론 정확도 프로파일과 프로세서(150)가 처리할 이미지의 이미지 특성 데이터를 매칭하여 이미지 보정 파라미터를 결정할 수 있는 함수일 수 있다. 이때, 인공신경망 모델(DNN)의 추론 정확도 프로파일은 훈련 이미지 데이터셋에 따라 상이한 바, 보상 유닛(210)은 하나의 인공신경망 모델-복수의 이미지 특성 각각에 대응되는 복수의 보상 함수를 산출할 수 있다.
다양한 예시에서, 인공신경망용 영상 처리 시스템(10)은 이미지 센서(500)의 촬영 파라미터를 제어하여, 이미지 보정 파라미터를 결정하는 보상 함수를 보정할 수 있다. 예를 들어, 인공신경망용 영상 처리 시스템(10)는 이미지 센서(500)의 신호 증폭 값을 제어하거나 노출 시간(셔터 스피드)을 제어할 수 있으며, 이를 통해 보상 함수를 보정할 수 있다.
이하에서는, 상술한 인공신경망용 영상 처리 시스템(10)의 구성을 선택적으로 변형한 예시에 대하여 설명하도록 한다.
도 9 내지 도 13은 본 개시의 다양한 예시에 따른 인공신경망용 영상 처리 시스템의 각 구성 별 수행 기능을 설명하는 개략적인 개념도들이다.
도 9를 참조하면, 본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템(10)은 도 2와 상이한 이미지 신호 프로세서(100a)에 보상 유닛(210)이 포함되도록 구성될 수 있다. 즉, 이미지 신호 프로세서(100a)는 이미지 특성 데이터 분석 및 인공신경망 모델의 추론 정확도 프로파일을 토대로 이미지 보정 파라미터를 선택적으로 결정할 수 있으며, 각 처리 모듈에 기재된 이미지 처리를 수행할 수 있다.
이와 같이, 이미지 신호 프로세서(100a)는 보상 유닛(210)을 내제화 함으로 이미지 보정 파라미터를 결정할 수 있어, 인공신경망용 영상 처리 시스템(10)의 활용 편의성을 높일 수 있다.
도 10을 참조하면, 본 개시의 일 예시에 따른 인공신경망용 영상 처리 시스템(10)은 이미지 보정 파라미터를 선택적으로 결정하기 위해 보상 함수를 활용할 수 있다. 위에서 상술한 방식들이 이미지의 속성에 따라 결정될 이미지 보정 파라미터를 프리셋 라이브러리(Preset Library)에서 하나씩 선택했다면, 도 10의 이미지 신호 프로세서(100a)는 보상 함수를 통해서 이미지 보정 파라미터를 결정할 수 있다.
이미지 신호 프로세서(100a)는 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 각각에 대응되는 복수의 보상 함수를 토대로, 이미지 보정 파라미터를 선택적으로 결정할 수 있다.
다양한 예시에서, 보상 함수는 근사 함수(function approximation), 곡선 적합(curve fitting) 알고리즘을 토대로 이미지 보정 파라미터를 선택적으로 결정할 수 있다.
다양한 예시에서, 보상 함수는 별도의 인공신경망 모델로 구현될 수 있으며, 이러한 경우, 강화 학습(Reinforcement Learning)을 기반으로 업데이트될 수 있다.
도 11을 참조하면, 인공신경망용 영상 처리 시스템(10)은 지정된 환경에서 동작할 경우, 이미지 신호 프로세서(100a)가 이미지 보정 파라미터를 고정시킬 수 있다. 예를 들어, 이미지 신호 프로세서(100a)는 특정한 환경, 특정 시간, 특정 위치에서만 동작할 경우, 이미지 보정 파라미터를 최적화 값으로 고정시킬 수 있다.
다양한 예시에서, 이미지 신호 프로세서(100a)는 동적 환경에서도 이미지 보정 파라미터를 고정시킬 수 있다. 예를 들어, 이미지 신호 프로세서(100a)는 다수의 이미지 보정 파라미터 중 확률적으로 추론 정확도가 높은 이미지 보정 파라미터를 계산하여, 이를 고정 값으로 지정할 수 있다.
도 12를 참조하면, 인공신경망용 영상 처리 시스템(10)은 자율 주행, CCTV 등 객체 인식 기능이 필요한 장치에 적용됨에 따라, 이미지 센서(500)를 포함할 수 있다. 이미지 신호 프로세서(100a)는 이미지 센서(500)의 촬영 파라미터를 제어하도록 구성될 수 있다. 예를 들어, 이미지 신호 프로세서(100a)는 이미지 센서(500)의 신호 증폭을 제어하거나 노출 시간(셔터 스피드)을 제어할 수 있다.
한편, 다양한 예시에서, 이미지 신호 프로세서(ISP)는 도 9에 도시된 바와 같이 프리셋 라이브러리(Preset Library)에서 이미지 보정 파라미터를 선택적으로 결정하는 프리셋 선택 모드(Preset selecting Mode)로 동작하거나, 도 10에 도시된 바와 같이 보상 함수를 이용하여 이미지 보정 파라미터를 선택적으로 결정하는 이미지 보정 파라미터(SFR) 생성 모드(generating Mode)로 동작할 수 있다.
도 13을 참조하면, 인공신경망용 영상 처리 시스템(10)의 프로세서(150)는 인공신경망 모델(DNN)의 추론 연산에 특화된 신경 프로세싱 유닛(NPU)(200)으로 구현될 수 있다. 즉, 신경 프로세싱 유닛(200)은 이미지 신호 프로세서(100)에서 처리된 이미지(processed image)와 함께 제1 메모리(300)에 저장된 인공신경망 모델의 가중치(weight value)를 처리하도록 구성된다. 신경 프로세싱 유닛(NPU)(200)은 처리된 이미지에서 이미지 분류, 객체 인식 또는 세그먼테이션 등을 추론하도록 구성될 수 있다.
여기서, 인공신경망 모델은 여러 입력 또는 자극이 들어오면 각각 가중치를 곱해 더해주고, 추가적으로 편차를 더한 값을 활성화 함수를 통해 변형하여 전달하는 인공 뉴런들이 모인 네트워크를 의미한다. 이렇게 훈련된 인공신경망 모델은 입력 데이터로부터 추론(inference) 결과를 출력하는데 사용될 수 있다.
본 개시의 일 예시에서, 신경 프로세싱 유닛(NPU)(200)은 전기/전자 회로로 구현된 반도체일 수 있다. 전기/전자 회로라 함은 수많은 전자 소자, (예컨대 트렌지스터, 커패시터)를 포함하는 것을 의미할 수 있다.
구체적으로, 신경 프로세싱 유닛(NPU)(200)은 복수의 프로세싱 엘리먼트(processing element: PE)(220), NPU 내부 메모리(230), 제어부(240), NPU 인터페이스(250) 및 SFU(Special Function Unit)(이하, “함수 계산 유닛”이라 함)(260)를 포함할 수 있다. 복수의 프로세싱 엘리먼트(220), NPU 내부 메모리(230), 제어부(240) 및 함수 계산 유닛(260) 각각은 수많은 트렌지스터들이 연결된 반도체 회로일 수 있다. 따라서, 이들 중 일부는 육안으로는 식별되어 구분되기 어려울 수 있고, 동작에 의해서만 식별될 수 있다.
예를 들어, 인공신경망용 영상 처리 시스템(10)의 신경 프로세싱 유닛(NPU)(200) 내 임의 회로는 복수의 프로세싱 엘리먼트(220)와 연결되어 동작하기도 하고, 혹은 제어부(240)와 연결되어 동작될 수도 있다. 제어부(240)는 신경 프로세싱 유닛(200)의 인공신경망 추론 동작을 제어하도록 구성된 제어부의 기능을 수행하도록 구성될 수 있다.
복수의 프로세싱 엘리먼트(220)는 인공신경망을 위한 동작을 수행할 수 있다. 구체적으로, 복수의 프로세싱 엘리먼트(220)는 인공신경망 모델(DNN)의 특징맵과 가중치를 연산하도록 구성된 복수의 프로세싱 엘리먼트(예. PE1, PE2, PE3, … PEn, n은 자연수)가 배치될 수 있다. 예를 들어, 복수의 프로세싱 엘리먼트(220)는 인공신경망 모델(DNN)의 특성에 따라, (N x M) 행렬(N, M은 자연수)로 구성될 수 있으며, (N x M) 개의 프로세싱 엘리먼트를 포함할 수 있다.
복수의 프로세싱 엘리먼트(220)는 인공신경망 연산에 필요한 덧셈, 곱셈, 누산 등의 기능을 수행할 수 있다. 다시 말해서, 복수의 프로세싱 엘리먼트(220)는 MAC(multiplication and accumulation) 연산을 수행하도록 구성될 수 있다. 복수의 프로세싱 엘리먼트(220)는 MAC 연산기 및/또는 ALU (Arithmetic Logic Unit) 연산기를 포함하도록 구성될 수 있다. 다만, 복수의 프로세싱 엘리먼트(220)의 개수 및 구성은 이에 제한되지 않는다.
부연 설명하면, 복수의 프로세싱 엘리먼트(220)는 추가적인 특수 기능을 처리하기 위해 추가적인 특수 기능 유닛을 선택적으로 더 포함할 수 있다. 예를 들어, 적어도 하나의 프로세싱 엘리먼트는 배치-정규화 유닛, 활성화 함수 유닛, 인터폴레이션 유닛 등을 더 포함할 수 있다.
한편, 도 13에서 복수의 프로세싱 엘리먼트(220)가 어레이 형태로 구성됨을 설명하였으나, 하나의 프로세싱 엘리먼트의 MAC을 대체하여, 복수의 곱셈기(multiplier) 및 가산기 트리(adder tree)로 구현된 연산기들이 병렬로 배치될 수도 있다. 이러한 경우, 복수의 프로세싱 엘리먼트는 복수의 연산기를 포함하는 적어도 하나의 프로세싱 엘리먼트로 정의될 수 있다.
NPU 내부 메모리(230)는 복수의 프로세싱 엘리먼트(220)에서 추론될 수 있는 인공신경망 모델(DNN)의 특징맵 및 가중치 중 적어도 일부를 저장할 수 있다.
여기서, 인공신경망 모델(DNN)은 인공신경망 모델의 데이터 지역성 정보 또는 구조에 대한 정보를 포함할 수 있다.
제어부(240)는 인공신경망 모델의 데이터 지역성 정보 또는 구조에 대한 정보에 기초하여 복수의 프로세싱 엘리먼트(220) 및 NPU 내부 메모리(230)를 제어할 수 있다.
함수 계산 유닛(260)은 인공신경망의 특징 값을 계산하거나, 활성화 함수 연산, 정규화, 풀링 등 다양한 네트워크 층의 함수를 계산할 수 있다. 예를 들어, 함수 계산 유닛(260)은 복수의 프로세싱 엘리먼트(220)와 연결되어, 복수의 프로세싱 엘리먼트(220)에서 출력되는 데이터를 처리할 수 있다.
제어부(240)는 신경 프로세싱 유닛(NPU)(200)의 추론 연산을 위한 복수의 프로세싱 엘리먼트(220)의 연산 및 NPU 내부 메모리(230)의 읽기 및 쓰기 순서를 제어하도록 구성될 수 있다.
다양한 예시에서, 제어부(240)는 인공신경망 모델(DNN)의 데이터 지역성 정보 또는 구조에 대한 정보에 기초하여 복수의 프로세싱 엘리먼트(220) 및 NPU 내부 메모리(230)를 제어하도록 구성될 수 있다.
제어부(240)는 복수의 프로세싱 엘리먼트(220)에서 작동할 인공신경망 모델의 구조를 분석하거나 또는 이미 분석된 정보를 제공받을 수 있다. 예를 들면, 인공신경망 모델(DNN)이 포함할 수 있는 인공신경망의 데이터는 각각의 레이어의 노드 데이터(즉, 특징맵), 레이어들의 배치 데이터, 지역성 정보 또는 구조에 대한 정보, 각각의 레이어의 노드를 연결하는 연결망 각각의 가중치 데이터(즉, 가중치 커널) 중 적어도 일부를 포함할 수 있다. 인공신경망의 데이터는 제어부(240) 내부에 제공되는 메모리 또는 NPU 내부 메모리(230)에 저장될 수 있다. 여가서, 각각의 레이어의 특징맵은 대응되는 각각의 메모리 어드레스 값을 가질 수 있으며, 각각의 가중치 데이터는 대응되는 각각의 메모리 어드레스 값을 가질 수 있다.
부연 설명하면, 제어부(240)는 인공신경망 모델(DNN)의 데이터 지역성 정보 또는 구조에 대한 정보에 기초하여 인공신경망 모델의 레이어의 특징맵 및 가중치 데이터가 저장된 어드레스 값을 제1 메모리(300)를 통해 획득할 수 있다. 그에 따라, 제어부(240)는 제1 메모리(300)를 통해 획득한 데이터들을 NPU 내부 메모리(230)에 저장할 수 있다.
또한, 제어부(240)는 인공신경망 모델의 데이터 지역성 정보 또는 구조에 대한 정보(예. 인공신경망 레이어들의 배치 데이터)에 기초하여 신경 프로세싱 유닛(200b)이 수행할 인공신경망 모델의 연산 순서/복수의 프로세싱 엘리먼트(220)의 연산 순서를 스케줄링 할 수 있다.
일반적으로 CPU는 공평성, 효율성, 안정성, 반응 시간 등의 데이터를 고려하여, 동일 시간 내에 가장 많은 프로세싱을 수행할 수 있도록 연산 순서를 스케쥴링 한다.
이와 다르게, 제어부(240)는 인공신경망 모델의 데이터 지역성 정보 또는 구조에 대한 정보에 기초하여 스케줄링 하기 때문에, 일반적인 CPU의 스케줄링 개념과 다르게 동작할 수 있다.
다시 말해서, 제어부(240)는 인공신경망 모델의 데이터 지역성 정보 또는 구조에 대한 정보 및/또는 사용하고자 하는 신경 프로세싱 유닛(200b)의 데이터 지역성 정보 또는 구조에 대한 정보에 기초하여 결정된 프로세싱 순서대로 신경 프로세싱 유닛(200b)을 구동 시킬 수 있다. 다만, 이러한 스케쥴링 방법은 데이터 지역성 정보 또는 구조에 대한 정보에 제한되지 않는다.
이를 위해, 제어부(240)는 인공신경망의 데이터 지역성 정보 또는 구조에 대한 정보를 저장할 수 있으며, 인공신경망 모델(DNN)의 연산 순서를 스케쥴링하여, 신경 프로세싱 유닛(NPU)(200)의 프로세싱을 최적화할 수도 있다. 이와 같이, 인공신경망용 영상 처리 시스템(10)은 별도의 신경 프로세싱 유닛(NPU)(200)를 통해 객체를 추론하는 바, 이미지의 추론 처리 속도가 보다 향상될 수 있다.
한편, 도 14는 본 개시의 다른 예시에 따른 인공신경망용 영상 처리 시스템을 설명하는 개략적인 개념도이다.
도 14를 참조하면, 인공신경망용 영상 처리 시스템(10)이 도 12에서와 같이 자율 주행, CCTV 등 객체 추론 기능이 필요한 장치에 적용될 경우, 이미지 센서(500)를 더 포함할 수 있다.
즉, 인공신경망용 영상 처리 시스템(10)에 이미지 센서(500)가 포함될 경우, 프로세서(150)는 인공신경망 모델(DNN)의 추론 정확도 프로파일에 기초하여 새로운 이미지를 추론할 때마다 이미지 신호 프로세서(100)에 제공할 이미지 보정 파라미터를 즉각 결정하여 제공할 수 있다.
지금까지 본 개시의 다양한 예시에 따른 인공신경망용 영상 처리 시스템(10)에 대하여 설명하였다. 본 개시에 따르면, 이미지 특성 및 인공신경망 모델(DNN)의 추론 정확도 프로파일을 분석하고, 이를 기초로 이미지 신호 프로세서(100)의 제어 값을 세부적으로 제공하여 이미지가 사용자의 시감에 따라 적어도 하나의 속성에 치우치지 않고 인공신경망의 추론 정확도 향상을 위해 처리될 수 있다.
본 개시의 일 예시에 따른 인공신경망용 이미지 신호 프로세서의 제어 방법이 제공될 수 있다. 방법은, 이미지를 획득하는 단계, 이미지에 대응되는 적어도 하나의 이미지 특성 데이터를 생성하는 단계 및 적어도 하나의 이미지 특성 데이터 및 인공신경망 모델의 추론 정확도 프로파일을 기초로 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정하는 단계를 포함할 수 있다.
이미지 보정 파라미터를 결정하는 단계는, 인공신경망 모델의 추론 정확도 변화를 나타내는 추론 정확도 프로파일을 분석하는 단계와 추론 정확도 프로파일 및 이미지 특성 데이터를 기초로 인공신경망 모델에 입력되는 이미지의 전처리 정도를 결정하는 이미지 보정 파라미터를 결정하는 단계를 포함할 수 있다.
추론 정확도 프로파일을 분석하는 단계는, 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 중 적어도 하나의 이미지 특성을 기준으로 인공신경망 모델의 추론 정확도 변화를 결정하는 단계일 수 있다.
추론 정확도 변화는, 이미지 특성 수준에 따라 변화하는 인공신경망 모델의 추론 정확도를 나타낼 수 있다.
인공신경망 모델의 추론 정확도 프로파일을 분석하는 단계는, 적어도 하나의 이미지 특성을 기준으로 인공신경망 모델에 적용되는 참조 이미지 데이터셋을 단계 별로 변조시키는 단계와 단계 별로 변조된 복수의 이미지 데이터셋에 대한 인공신경망 모델의 객체 평균 정밀도(mean Average Precision, mAP)를 계산하는 단계를 더 포함할 수 있다.
이미지 보정 파라미터를 결정하는 단계는, 이미지를 처리하는 이미지 신호 프로세서와 매칭된 프리셋 라이브러리를 이용하여 복수의 이미지 보정 파라미터 프리셋 중 적어도 하나를 결정하는 단계일 수 있다.
이미지 보정 파라미터를 결정하는 단계는, 추론 정확도 프로파일과 이미지 특성 데이터를 매칭하여 이미지 보정 파라미터를 선택적으로 결정하기 위한 보상 함수를 산출하는 단계를 포함할 수 있다.
이미지 보정 파라미터는, 이미지를 처리하는 이미지 신호 프로세서의 특수 기능 레지스터 값에 대응될 수 있다.
이미지를 처리하는 이미지 신호 프로세서로부터 이미지 보정 파라미터를 기반으로 처리된 이미지를 전달받는 단계와 인공신경망 모델에, 처리된 이미지를 입력하여 추론 결과를 출력하는 단계를 포함할 수 있다.
이미지를 획득 및 처리 가능한 이미지 센서 및 이미지 신호 프로세서를 식별하는 단계를 포함할 수 있다.
이미지 보정 파라미터를 결정하는 단계는, 이미지 센서의 촬영 파라미터를 제어하여 이미지 보정 파라미터를 결정하는 보상 함수를 보정하는 단계를 포함할 수 있다.
식별하는 단계 이후에, 이미지를 토대로 객체를 추론할 인공신경망 모델을 결정하는 단계를 더 포함할 수 있다.
이미지 보정 파라미터를 결정하는 단계는, 메모리에 저장된 복수 개의 인공신경망 모델의 추론 정확도 프로파일을 기초로 복수 개의 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정하는 단계일 수 있다.
처리된 이미지를 전달받는 단계 이후에, 인공신경망 모델의 추론 연산을 위한 별도의 프로세서로 처리된 이미지와 함께 인공신경망 모델의 가중치를 제공하는 단계를 포함할 수 있다.
인공신경망용 영상 처리 시스템은 메모리, 메모리에 저장된 이미지를 처리하도록 구성된 이미지 신호 프로세서 및 메모리, 이미지 신호 프로세서와 동작 가능하게 연결된 프로세서를 포함한다. 프로세서는, 이미지를 획득하고, 이미지에 대응되는 적어도 하나의 이미지 특성 데이터를 생성하고, 적어도 하나의 이미지 특성 데이터 및 인공신경망 모델의 추론 정확도 프로파일을 기초로 인공신경망의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정할 수 있다.
본 개시의 일 예시에 따른 인공신경망용 이미지 신호 프로세서의 제어 방법은 이미지를 획득하는 단계, 이미지에 대응되는 적어도 하나의 이미지 특성 데이터를 결정하는 단계, 및 적어도 하나의 이미지 특성 데이터 및 적어도 하나의 인공신경망 모델의 추론 정확도 프로파일을 기초로 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정하는 단계를 포함할 수 있다.
이미지 특성 데이터는, 이미지의 히스토그램(RGB, CbCr, Y Histogram), RGB 최대 값(Maximum value), RGB 최소 값(Minimum value), 픽셀 값의 평균(Mean), 표준 편차(Standard deviation), 픽셀 별 RGB 합(Sum of color values), 신호대잡음비(signal-to-noise ratio, SNR), 주파수 정보(Frequency content) 및 엣지 정보(Edge content) 중 적어도 하나를 포함할 수 있다.
이미지 보정 파라미터를 결정하는 단계는, 인공신경망 모델의 추론 정확도 변화를 나타내는 추론 정확도 프로파일을 분석하는 단계, 및 추론 정확도 프로파일 및 이미지 특성 데이터를 기초로 인공신경망 모델에 입력되는 이미지의 전처리 정도를 결정하는 이미지 보정 파라미터를 결정하는 단계를 포함할 수 있다
추론 정확도 프로파일을 분석하는 단계는, 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 중 적어도 하나의 이미지 특성을 기준으로 인공신경망 모델의 추론 정확도 변화를 결정하는 단계일 수 있다.
추론 정확도 변화는, 이미지 특성 수준에 따라 변화하는 인공신경망 모델의 추론 정확도를 나타낼 수 있다.
인공신경망 모델의 추론 정확도 프로파일을 분석하는 단계는, 적어도 하나의 이미지 특성을 기준으로 인공신경망 모델에 적용되는 참조 이미지 데이터셋을 단계 별로 변조시키는 단계와 단계 별로 변조된 복수의 이미지 데이터셋에 대한 인공신경망 모델의 평균 정밀도(mAP)을 계산하는 단계를 포함할 수 있다.
이미지 보정 파라미터를 결정하는 단계는,
이미지를 처리하는 이미지 신호 프로세서와 매칭된 프리셋 라이브러리(Preset Library)를 이용하여 복수의 이미지 보정 파라미터 프리셋 중 적어도 하나를 결정하는 단계일 수 있다.
이미지 보정 파라미터를 결정하는 단계는, 추론 정확도 프로파일과 이미지 특성 데이터를 매칭하여 이미지 보정 파라미터를 선택적으로 결정하기 위한 보상 함수를 산출하는 단계를 포함할 수 있다.
이미지 보정 파라미터는, 이미지를 처리하는 이미지 신호 프로세서의 특수 기능 레지스터 값에 대응될 수 있다.
인공신경망용 이미지 신호 프로세서의 제어 방법은 이미지를 처리하는 이미지 신호 프로세서로부터 이미지 보정 파라미터를 기반으로 처리된 이미지를 전달받는 단계, 및 인공신경망 모델에 처리된 이미지를 입력하여 추론 결과를 출력하는 단계를 더 포함할 수 있다.
인공신경망용 이미지 신호 프로세서의 제어 방법은 이미지를 획득 및 처리 가능한 이미지 센서 및 이미지 신호 프로세서를 식별하는 단계를 더 포함할 수 있다.
이미지 보정 파라미터를 결정하는 단계는, 이미지 센서의 촬영 파라미터를 제어하여 이미지 보정 파라미터를 결정하는 보상 함수를 보정하는 단계를 더 포함할 수 있다.
이미지 보정 파라미터를 결정하는 단계는, 메모리에 저장된 복수 개의 인공신경망 모델의 추론 정확도 프로파일을 기초로 복수 개의 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정하는 단계일 수 있다.
본 개시의 일 예시에 따르면, 인공신경망용 영상 처리 시스템은 이미지를 영상 처리하도록 구성된 이미지 신호 프로세서; 및 이미지 신호 프로세서와 동작 가능하게 연결된 보상 유닛을 포함할 수 있다.
보상 유닛은, 이미지를 획득하고, 이미지에 대응되는 적어도 하나의 이미지 특성 데이터를 생성하고, 적어도 하나의 추론 정확도 프로파일을 획득하고, 적어도 하나의 이미지 특성 데이터 및 적어도 하나의 추론 정확도 프로파일을 기초로 이미지 신호 프로세서의 이미지 보정 파라미터를 결정하도록 구성될 수 있다.
이미지 특성 데이터는, 이미지의 히스토그램(RGB, CbCr, Y Histogram), RGB 최대 값(Maximum value), RGB 최소 값(Minimum value), 픽셀 값의 평균(Mean), 표준 편차(Standard deviation), 픽셀 별 RGB 합(Sum of color values), 신호대잡음비 (signal-to-noise ratio, SNR), 주파수 정보(Frequency content) 및 엣지 정보(Edge content) 중 적어도 하나를 포함할 수 있다.
인공신경망용 영상 처리 시스템은 인공신경망 모델을 처리하도록 구성된 신경 프로세싱 유닛을 더 포함할 수 있다.
보상 유닛은, 적어도 하나의 추론 정확도 프로파일 및 이미지 특성 데이터를 기초로 인공신경망 모델에 입력되는 이미지의 전처리 정도를 결정하는 이미지 보정 파라미터를 선택적으로 결정하도록 구성될 수 있다.
적어도 하나의 추론 정확도 프로파일은, 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 중 적어도 하나에 대응되는 인공신경망 모델의 추론 정확도 변화 정보를 포함할 수 있다.
보상 유닛은 이미지 신호 프로세서를 제어하도록 구성된 프리셋 라이브러리를 더 포함할 수 있다.
보상 유닛은 프리셋 라이브러리의 복수의 이미지 보정 파라미터 프리셋 중 적어도 하나를 선택적으로 결정할 수 있다.
이미지 보정 파라미터는, 이미지 신호 프로세서의 특수 기능 레지스터 값에 대응될 수 있다.
신경 프로세싱 유닛은, 이미지 신호 프로세서에서 처리된 이미지를 입력 받고, 인공신경망 모델에 처리된 이미지를 입력하여 추론 결과를 출력하도록 구성될 수 있다.
인공신경망용 영상 처리 시스템 이미지를 획득 가능한 이미지 센서를 더 포함할 수 있다.
보상 유닛은, 적어도 하나의 추론 정확도 프로파일을 기초로 이미지 센서의 촬영 파라미터를 제어하도록 구성될 수 있다.
보상 유닛은, 이미지 신호 프로세서를 식별하도록 구성될 수 있다.
신경 프로세싱 유닛은, 처리된 이미지와 인공신경망 모델의 가중치를 기초로 인공신경망 모델의 추론 연산을 처리 하도록 구성될 수 있다.
이상 첨부된 도면을 참조하여 본 개시의 일 예시들을 더욱 상세하게 설명하였으나, 본 개시는 반드시 이러한 예시로 국한되는 것은 아니고, 본 개시의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 개시에 개시된 예시들은 본 개시의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 예시에 의하여 본 개시의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 예시들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 인공신경망용 영상 처리 시스템
100, 100a: 이미지 신호 프로세서
200: 프로세서
210: 보상 유닛 210a: 분석 유닛
210b: 멀티플렉서 유닛 210c: 프리셋 라이브러리
220: 복수의 프로세싱 엘리먼트 230: NPU 내부 메모리
240: NPU 스케쥴러 260: 함수 계산 유닛
300: 제1 메모리
400: 제2 메모리
500: 이미지 센서
100, 100a: 이미지 신호 프로세서
200: 프로세서
210: 보상 유닛 210a: 분석 유닛
210b: 멀티플렉서 유닛 210c: 프리셋 라이브러리
220: 복수의 프로세싱 엘리먼트 230: NPU 내부 메모리
240: NPU 스케쥴러 260: 함수 계산 유닛
300: 제1 메모리
400: 제2 메모리
500: 이미지 센서
Claims (23)
- 학습이 완료된 적어도 하나의 인공신경망 모델에 입력되는 이미지의 전처리를 위한 인공신경망용 이미지 신호 프로세서의 제어 방법에 있어서,
이미지를 획득하는 단계;
상기 이미지에 대응되는 적어도 하나의 이미지 특성 데이터를 결정하는 단계;
상기 적어도 하나의 이미지 특성 데이터 및 상기 적어도 하나의 인공신경망 모델의 추론 정확도 프로파일을 기초로 상기 적어도 하나의 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정하는 단계; 및
상기 이미지 보정 파라미터를 기초로 상기 이미지를 전처리 하는 단계; 를 포함하고,
상기 적어도 하나의 인공신경망 모델의 추론 정확도 프로파일은 상기 적어도 하나의 이미지 특성 데이터를 기준으로 단계 별로 변조된 복수의 이미지 데이터셋 각각에 대한 상기 인공신경망 모델의 추론 정확도를 기초로 설정되는 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제1항에 있어서,
상기 이미지 특성 데이터는,
상기 이미지의 히스토그램(RGB, CbCr, Y Histogram), RGB 최대 값(Maximum value), RGB 최소 값(Minimum value), 픽셀 값의 평균(Mean), 표준 편차(Standard deviation), 픽셀 별 RGB 합(Sum of color values), 신호대잡음비(signal-to-noise ratio, SNR), 주파수 정보(Frequency content) 및 엣지 정보(Edge content) 중 적어도 하나를 포함하는, 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제1항에 있어서,
상기 이미지 보정 파라미터를 결정하는 단계는,
상기 인공신경망 모델의 추론 정확도 변화를 나타내는 추론 정확도 프로파일을 분석하는 단계, 및
상기 추론 정확도 프로파일 및 상기 이미지 특성 데이터를 기초로 상기 인공신경망 모델에 입력되는 상기 이미지의 전처리 정도를 결정하는 상기 이미지 보정 파라미터를 결정하는 단계, 를 더 포함하는, 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제3항에 있어서,
상기 추론 정확도 프로파일을 분석하는 단계는,
상기 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 중 적어도 하나의 이미지 특성을 기준으로 상기 인공신경망 모델의 추론 정확도 변화를 결정하는 단계인, 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제4항에 있어서,
상기 추론 정확도 변화는,
상기 이미지 특성 수준에 따라 변화하는 상기 인공신경망 모델의 추론 정확도를 나타내는, 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제4항에 있어서,
상기 인공신경망 모델의 추론 정확도 프로파일을 분석하는 단계는,
적어도 하나의 이미지 특성을 기준으로 상기 인공신경망 모델에 적용되는 참조 이미지 데이터셋을 단계 별로 변조시키는 단계, 와
상기 단계 별로 변조된 복수의 이미지 데이터셋에 대한 상기 인공신경망 모델의 평균 정밀도(mAP)을 계산하는 단계, 를 더 포함하는 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제3항에 있어서,
상기 이미지 보정 파라미터를 결정하는 단계는,
상기 이미지를 처리하는 이미지 신호 프로세서와 매칭된 프리셋 라이브러리(Preset Library)를 이용하여 복수의 이미지 보정 파라미터 프리셋 중 적어도 하나를 결정하는 단계인, 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제3항에 있어서,
상기 이미지 보정 파라미터를 결정하는 단계는,
상기 추론 정확도 프로파일과 상기 이미지 특성 데이터를 매칭하여 상기 이미지 보정 파라미터를 선택적으로 결정하기 위한 보상 함수를 산출하는 단계, 를 더 포함하는 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제1항에 있어서,
상기 이미지 보정 파라미터는,
상기 이미지를 처리하는 이미지 신호 프로세서의 특수 기능 레지스터(special function register) 값에 대응되는, 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제1항에 있어서,
상기 이미지를 처리하는 이미지 신호 프로세서로부터 상기 이미지 보정 파라미터를 기반으로 처리된 이미지를 전달받는 단계, 및
상기 인공신경망 모델에, 상기 처리된 이미지를 입력하여 추론 결과를 출력하는 단계, 를 더 포함하는 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제1항에 있어서,
상기 이미지를 획득 및 처리 가능한 이미지 센서 및 이미지 신호 프로세서를 식별하는 단계, 를 더 포함하는 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제11항에 있어서,
상기 이미지 보정 파라미터를 결정하는 단계는,
상기 이미지 센서의 촬영 파라미터를 제어하여 상기 이미지 보정 파라미터를 결정하는 보상 함수를 보정하는 단계, 를 더 포함하는 인공신경망용 이미지 신호 프로세서의 제어 방법. - 제1항에 있어서,
상기 이미지 보정 파라미터를 결정하는 단계는,
메모리에 저장된 복수 개의 인공신경망 모델의 추론 정확도 프로파일을 기초로 상기 복수 개의 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정하는 단계인, 인공신경망용 이미지 신호 프로세서의 제어 방법. - 이미지를 영상 처리하도록 구성된 이미지 신호 프로세서; 및
상기 이미지 신호 학습이 완료된 적어도 하나의 인공신경망 모델에 입력되는 이미지의 전처리를 위한 인공신경망용 영상 처리 시스템에 있어서,
이미지를 전처리하도록 구성된 이미지 신호 프로세서;
상기 이미지 신호 프로세서와 동작 가능하게 연결된 보상 유닛; 및
상기 전처리된 이미지를 입력받아 상기 적어도 하나의 인공신경망 모델을 처리하는 신경 프로세싱 유닛; 을 포함하고,
상기 보상 유닛은,
이미지를 획득하고, 상기 이미지에 대응되는 적어도 하나의 이미지 특성 데이터를 생성하고, 상기 적어도 하나의 인공 신경망 모델의 추론 정확도 프로파일을 획득하고, 상기 적어도 하나의 이미지 특성 데이터 및 상기 적어도 하나의 인공 신경망 모델의 추론 정확도 프로파일을 기초로 상기 적어도 하나의 인공신경망 모델의 추론 정확도를 향상시키기 위한 이미지 보정 파라미터를 결정하도록 구성되고,
상기 이미지 신호 프로세서는 상기 이미지 보정 파라미터를 기초로 상기 이미지를 전처리하도록 구성되고,
상기 적어도 하나의 인공 신경망 모델의 추론 정확도 프로파일은 상기 적어도 하나의 이미지 특성 데이터를 기준으로 단계 별로 변조된 복수의 이미지 데이터셋 각각에 대한 상기 인공신경망 모델의 추론 정확도를 기초로 설정되는, 인공신경망용 영상 처리 시스템. - 제14항에 있어서,
상기 이미지 특성 데이터는,
상기 이미지의 히스토그램(RGB, CbCr, Y Histogram), RGB 최대 값(Maximum value), RGB 최소 값(Minimum value), 픽셀 값의 평균(Mean), 표준 편차(Standard deviation), 픽셀 별 RGB 합(Sum of color values), 신호대잡음비 (signal-to-noise ratio, SNR), 주파수 정보(Frequency content) 및 엣지 정보(Edge content) 중 적어도 하나를 포함하는 인공신경망용 영상 처리 시스템. - 제14항에 있어서,
인공신경망 모델을 처리하도록 구성된 신경 프로세싱 유닛을 더 포함하고,
상기 보상 유닛은,
상기 적어도 하나의 인공 신경망 모델의 추론 정확도 프로파일 및 상기 이미지 특성 데이터를 기초로 상기 인공신경망 모델에 입력되는 상기 이미지의 전처리 정도를 결정하는 상기 이미지 보정 파라미터를 선택적으로 결정하도록 구성되는, 인공신경망용 영상 처리 시스템. - 제16항에 있어서,
상기 적어도 하나의 추론 정확도 프로파일은,
상기 이미지의 밝기, 노이즈, 흐릿한 수준, 명암비 및 색온도 중 적어도 하나에 대응되는 상기 인공신경망 모델의 추론 정확도 변화 정보를 포함하는, 인공신경망용 영상 처리 시스템. - 제14항에 있어서,
상기 보상 유닛은 상기 이미지 신호 프로세서를 제어하도록 구성된 프리셋 라이브러리를 더 포함하고, 그리고
상기 보상 유닛은 상기 프리셋 라이브러리의 복수의 이미지 보정 파라미터 프리셋 중 적어도 하나를 선택적으로 결정하도록 구성되는, 인공신경망용 영상 처리 시스템. - 제14항에 있어서,
상기 이미지 보정 파라미터는,
상기 이미지 신호 프로세서의 특수 기능 레지스터 값에 대응되는, 인공신경망용 영상 처리 시스템. - 제16항에 있어서,
상기 신경 프로세싱 유닛은,
상기 이미지 신호 프로세서에서 처리된 이미지를 입력 받고, 상기 인공신경망 모델에 상기 처리된 이미지를 입력하여 추론 결과를 출력하도록 구성되는, 인공신경망용 영상 처리 시스템. - 제16항에 있어서,
이미지를 획득 가능한 이미지 센서; 를 더 포함하며,
상기 보상 유닛은,
상기 적어도 하나의 추론 정확도 프로파일을 기초로 상기 이미지 센서의 촬영 파라미터를 제어하도록 구성되는, 인공신경망용 영상 처리 시스템. - 제14항에 있어서,
상기 보상 유닛은,
상기 이미지 신호 프로세서를 식별하도록 구성되는, 인공신경망용 영상 처리 시스템. - 제16항에 있어서,
상기 신경 프로세싱 유닛은,
상기 처리된 이미지와 상기 인공신경망 모델의 가중치를 기초로 상기 인공신경망 모델의 추론 연산을 처리 하도록 구성되는, 인공신경망용 영상 처리 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230186106A KR20240001093A (ko) | 2021-07-30 | 2023-12-19 | 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210100774 | 2021-07-30 | ||
KR1020210100774 | 2021-07-30 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230186106A Division KR20240001093A (ko) | 2021-07-30 | 2023-12-19 | 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230019060A KR20230019060A (ko) | 2023-02-07 |
KR102617391B1 true KR102617391B1 (ko) | 2023-12-27 |
Family
ID=85087111
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220095735A KR102617391B1 (ko) | 2021-07-30 | 2022-08-01 | 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치 |
KR1020230186106A KR20240001093A (ko) | 2021-07-30 | 2023-12-19 | 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230186106A KR20240001093A (ko) | 2021-07-30 | 2023-12-19 | 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11941871B2 (ko) |
KR (2) | KR102617391B1 (ko) |
CN (1) | CN115885310A (ko) |
WO (1) | WO2023008983A1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200050842A1 (en) * | 2019-07-23 | 2020-02-13 | Lg Electronics Inc. | Artificial intelligence apparatus for recognizing user from image data and method for the same |
JP2020160804A (ja) * | 2019-03-27 | 2020-10-01 | 三菱電機株式会社 | 情報処理装置、プログラム及び情報処理方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8774515B2 (en) * | 2011-04-20 | 2014-07-08 | Xerox Corporation | Learning structured prediction models for interactive image labeling |
US8713037B2 (en) * | 2011-06-30 | 2014-04-29 | Xerox Corporation | Translation system adapted for query translation via a reranking framework |
CN106156807B (zh) | 2015-04-02 | 2020-06-02 | 华中科技大学 | 卷积神经网络模型的训练方法及装置 |
US9858496B2 (en) * | 2016-01-20 | 2018-01-02 | Microsoft Technology Licensing, Llc | Object detection and classification in images |
US10346740B2 (en) | 2016-06-01 | 2019-07-09 | Kla-Tencor Corp. | Systems and methods incorporating a neural network and a forward physical model for semiconductor applications |
KR20180044094A (ko) | 2016-10-21 | 2018-05-02 | 주식회사 엘지유플러스 | 데이터 전처리 방법 및 데이터 전처리 장치 |
US11283991B2 (en) | 2019-06-04 | 2022-03-22 | Algolux Inc. | Method and system for tuning a camera image signal processor for computer vision tasks |
KR102383129B1 (ko) * | 2017-09-27 | 2022-04-06 | 삼성전자주식회사 | 이미지에 포함된 오브젝트의 카테고리 및 인식률에 기반하여 이미지를 보정하는 방법 및 이를 구현한 전자 장치 |
KR102102405B1 (ko) * | 2018-06-08 | 2020-04-20 | 부산대학교 산학협력단 | 머신 러닝을 통한 영상 인식을 위한 장치 및 방법 |
US20200005135A1 (en) * | 2018-06-29 | 2020-01-02 | Advanced Micro Devices, Inc. | Optimizing inference for deep-learning neural networks in a heterogeneous system |
KR102097905B1 (ko) | 2019-06-04 | 2020-04-06 | 주식회사 딥엑스 | 이미지 객체 인식 장치 및 방법 |
KR102192016B1 (ko) * | 2019-01-11 | 2020-12-16 | 연세대학교 산학협력단 | 의미 인식 기반의 이미지 보정 방법 및 그를 위한 장치 |
US11138469B2 (en) * | 2019-01-15 | 2021-10-05 | Naver Corporation | Training and using a convolutional neural network for person re-identification |
KR102242939B1 (ko) | 2019-06-13 | 2021-04-21 | 엘지이노텍 주식회사 | 카메라 장치 및 카메라 장치의 이미지 생성 방법 |
KR20210058404A (ko) | 2019-11-14 | 2021-05-24 | 엘지전자 주식회사 | 이미지 처리방법 및 처리장치 |
KR102260246B1 (ko) | 2020-12-22 | 2021-06-04 | 주식회사 모빌린트 | 자율 주행을 위한 딥러닝 알고리즘 설정 방법 및 장치 |
-
2022
- 2022-08-01 CN CN202280004972.0A patent/CN115885310A/zh active Pending
- 2022-08-01 KR KR1020220095735A patent/KR102617391B1/ko active IP Right Grant
- 2022-08-01 WO PCT/KR2022/011341 patent/WO2023008983A1/ko unknown
- 2022-11-07 US US17/981,623 patent/US11941871B2/en active Active
-
2023
- 2023-12-19 KR KR1020230186106A patent/KR20240001093A/ko active Application Filing
-
2024
- 2024-02-26 US US18/587,869 patent/US20240193922A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020160804A (ja) * | 2019-03-27 | 2020-10-01 | 三菱電機株式会社 | 情報処理装置、プログラム及び情報処理方法 |
US20200050842A1 (en) * | 2019-07-23 | 2020-02-13 | Lg Electronics Inc. | Artificial intelligence apparatus for recognizing user from image data and method for the same |
Non-Patent Citations (1)
Title |
---|
안재원외 2명, 이미지 해상도에 따른 객체탐지 정확도 모델링 연구, 2020년도 한국통신학회 동계종합학술발표회, (2020.02.28.)* |
Also Published As
Publication number | Publication date |
---|---|
US20230061884A1 (en) | 2023-03-02 |
KR20240001093A (ko) | 2024-01-03 |
CN115885310A (zh) | 2023-03-31 |
WO2023008983A1 (ko) | 2023-02-02 |
KR20230019060A (ko) | 2023-02-07 |
US20240193922A1 (en) | 2024-06-13 |
US11941871B2 (en) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11882357B2 (en) | Image display method and device | |
US11107205B2 (en) | Techniques for convolutional neural network-based multi-exposure fusion of multiple image frames and for deblurring multiple image frames | |
CN112446834B (zh) | 图像增强方法和装置 | |
EP4109392A1 (en) | Image processing method and image processing device | |
Jiang et al. | A switched view of Retinex: Deep self-regularized low-light image enhancement | |
CN107851193B (zh) | 混合机器学习系统 | |
CN110276767A (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN108197546A (zh) | 人脸识别中光照处理方法、装置、计算机设备及存储介质 | |
US11915430B2 (en) | Image analysis apparatus, image analysis method, and storage medium to display information representing flow quantity | |
Saleh et al. | Adaptive uncertainty distribution in deep learning for unsupervised underwater image enhancement | |
CN118096584B (zh) | 基于上下文感知和多尺度扩散网络的超声图像增强方法 | |
CN112102175B (zh) | 图像对比度的增强方法、装置、存储介质及电子设备 | |
CN116645305A (zh) | 基于多注意力机制与Retinex的低光照图像增强方法 | |
Saleem et al. | A non-reference evaluation of underwater image enhancement methods using a new underwater image dataset | |
WO2020107308A1 (zh) | 一种基于Retinex的微光图像快速增强方法及其装置 | |
CN116917954A (zh) | 图像检测方法、装置和电子设备 | |
KR102617391B1 (ko) | 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치 | |
Park et al. | Multiple transformation function estimation for image enhancement | |
CN116883252A (zh) | 一种基于知识蒸馏的线性微光图像增强方法及系统 | |
Nair et al. | Benchmarking single image dehazing methods | |
CN114926876A (zh) | 图像关键点检测方法、装置、计算机设备和存储介质 | |
WO2023028866A1 (zh) | 图像处理方法、装置和车辆 | |
CN112581379B (zh) | 图像增强方法以及装置 | |
WO2024018906A1 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
CN117649575A (zh) | 图像处理网络模型的训练方法、装置、介质和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |