KR102599753B1 - 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한yuv 이미지 처리 방법 및 장치 - Google Patents
이중경로 블록으로 구성된 뉴럴 네트워크를 활용한yuv 이미지 처리 방법 및 장치 Download PDFInfo
- Publication number
- KR102599753B1 KR102599753B1 KR1020230095048A KR20230095048A KR102599753B1 KR 102599753 B1 KR102599753 B1 KR 102599753B1 KR 1020230095048 A KR1020230095048 A KR 1020230095048A KR 20230095048 A KR20230095048 A KR 20230095048A KR 102599753 B1 KR102599753 B1 KR 102599753B1
- Authority
- KR
- South Korea
- Prior art keywords
- luma
- chroma
- component
- neural network
- feature
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 45
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 241000023320 Luma <angiosperm> Species 0.000 claims abstract description 58
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims abstract description 58
- 230000009977 dual effect Effects 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 16
- 238000000605 extraction Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 5
- 238000011176 pooling Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
Classifications
-
- 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
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
YUV 데이터 형식을 사용하며, YUV 데이터 형식에 적합한 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한 YUV 이미지 처리 방법 및 장치이 개시된다. 본 발명의 YUV 이미지 처리 방법은 뉴럴 네트워크는 YUV 형식의 이미지 데이터를 입력하고 처리하여 루마 특징맵과 크로마 특징맵을 생성하는 단계; 상기 뉴럴 네트워크의 이중경로 블록(dual-path block)은 입력된 이미지 데이터에서 특징을 추출하는 단계; 및 상기 뉴럴 네트워크는 추출된 특징을 기반으로 작업을 수행하는 단계를 포함하며, 상기 이중 경로블록은 다수 층으로 구성되며, 각각 두 개의 브랜치로 구성된 두 경로가 병렬적으로 구성되어, 각각의 브랜치가 루마(Luma, Y) 특징 정보와 크로마(Chroma, UV) 특징 정보를 개별적으로 추출하고, 상기 추출된 정보들을 교환 및 결합하도록 학습되는 것을 특징으로 한다. 본 발명에 따르면, 뉴럴 네트워크의 입력으로 YUV 이미지 데이터를 사용하는 이중경로 블록으로 구성된 뉴럴 네트워크를 활용하여 효율적이며 효과적인 이미지 처리 방법을 제공할 수 있다.
Description
본 발명은 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한 YUV 이미지 처리 방법 및 장치에 관한 것으로서, 더욱 상세하게는 RGB 포맷에 비해 상대적으로 적은 데이터를 가진 YUV 이미지 데이터 형식을 사용하며, YUV 이미지 데이터 형식에 적합한 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한 YUV 이미지 처리 방법 및 장치에 관한 것이다.
최근, 이미지 처리 분야에서 뉴럴 네트워크를 사용하는 딥 러닝 기술은 그 놀라운 성능으로 주목받고 있다. 뉴럴 네트워크는 데이터로부터 복잡한 특징으로 학습하는 능력을 가지고 있어, 매우 효과적인 이미지 처리 기술들을 개발할 수 있다.
딥 러닝 기술은 모델의 추론 정확도와 동작 속도를 균형있게 개선하는데 중점을 두고 발전되어 왔다. 예를 들어, 모델을 더 깊고 복잡하게 만들면 추론 정확도가 향상되지만 동작 속도는 저하된다. 반면에 이미지 해상도를 낮추면 모델의 동작 속도는 빨라지지만 추론이 부정확해진다. 이러한 요소들을 잘 조합함으로써 뉴럴 네트워크의 정확도-속도 간의 트레이드오프(trade-off)를 개선 시킬 수 있다.
일반적으로, 뉴럴 네트워크의 입력 이미지 데이터로 표준적인 색 표현 방식인 RGB 포맷이 사용된다. 하지만 RGB 데이터를 모델의 입력으로 사용할 때는 다음과 같은 문제들에 직면할 수 있다.
우선 RGB 데이터는 빨강, 초록, 파랑의 세 가지 색을 0에서 255 사이의 값으로 표현하여 다양한 색을 나타낼 수 있지만, 메모리 사용량이 크다는 단점이 있다.
또한, RGB 데이터의 효율적인 저장을 위해 YUV 변환, 이산 코사인 변환, 양자화 등의 과정이 사용되기 때문에, 학습 혹은 추론 과정에서 디코딩(decoding) 작업을 위한 비용이 추가적으로 발생한다는 단점이 있다.
본 발명은 상술한 문제점을 감안하여 안출한 것으로 그 목적은 RGB 포맷에 비해 상대적으로 적은 데이터를 사용하는 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한 YUV 이미지 처리 방법 및 장치를 제공하는 것이다.
상기 과제해결을 위한 본 발명의 YUV 이미지 처리 장치는 명도인 루마(Luma, Y) 성분과 색차인 크로마(Chroma, UV) 성분으로 구성되는 YUV 이미지 데이터; 및 상기 YUV 이미지 데이터를 입력받아서 처리하여 루마 성분과 크로마 성분을 분리하여 입력하고 처리하는 입력부, 상기 입력부로부터 입력된 루마 성분과 크로마 성분을 이중 경로블록에서 특징을 추출하는 특징 탐지부, 및 상기 이중 경로블록에서 추출한 특징을 기반으로 작업을 수행하는 작업 수행부로 구성되는 뉴럴 네트워크를 포함하며, 상기 이중 경로블록은 다수 층으로 구성되며, 각각 두 개의 브랜치로 구성된 두 경로가 병렬적으로 구성되어, 각각의 브랜치가 루마(Y) 특징 정보와 크로마(UV) 특징 정보를 개별적으로 추출하고, 상기 추출된 정보들을 교환 및 결합하도록 학습되는 것을 특징으로 한다.
상기 다른 과제해결을 위한 본 발명의 YUV 이미지 처리 방법은 뉴럴 네트워크는 루마(Y) 성분과 크로마(UV) 성분으로 구성되는 YUV 형식의 이미지 데이터를 입력하고 처리하는 단계; 상기 뉴럴 네트워크의 이중경로 블록(dual-path block)으로 입력된 루마(Y) 성분과 크로마(UV) 성분에서 특징을 추출하는 단계; 및 상기 뉴럴 네트워크는 추출된 특징을 기반으로 작업을 수행하는 단계를 포함하며, 상기 이중 경로블록은 다수 층으로 구성되며, 각각 두 개의 브랜치로 구성된 두 경로가 병렬적으로 구성되어, 각각의 브랜치가 루마(Y) 특징 정보와 크로마(UV) 특징 정보를 개별적으로 추출하고, 상기 추출된 정보들을 교환 및 결합하도록 학습되는 것을 특징으로 한다.
본 발명에 있어서, 다수 층으로 쌓인 상기 이중경로 블록들 사이에는 스킵 연결(skip connection)을 추가하여 학습을 용이하게 할 수 있다.
본 발명에 있어서, 상기 이중경로 블록(dual-path block)으로 입력된 이미지에서 특징으로 추출하는 단계는, 상기 루마 성분(Y)을 컨볼루션 레이어인 를 포함하는 강화 루마 성분 추출 브랜치에 입력하여 강화 루마 특징맵을 생성하는 단계; 상기 크로마 성분(UV)을 컨볼루션 레이어인 를 포함하는 강화 크로마 성분 특징 추출 브랜치에 입력하여 강화 크로마 특징맵을 생성하는 단계; 상기 입력된 루마 성분(Y)을 교환 루마 성분 추출 브랜치에 입력하여 교환 루마 특징맵을 생성하고, 상기 강화 크로마 추출 브랜치의 추출결과에 연결하는 단계; 상기 입력된 크로마 성분(UV)을 교환 크로마 성분 특징 추출 브랜치에 입력하여 교환 크로마 특징맵을 생성하고, 상기 강화 루마 특징 추출 브랜치의 출력 결과에 연결하는 단계; 및 연결된 상기 특징맵들을 결합하는 단계를 포함할 수 있다.
본 발명에 있어서, 상기 교환 루마 특징맵의 생성은, 상기 입력된 루마 성분(Y)을 풀링(pooling) 레이어(pool)와 컨볼루션 레이어인 을 이용하여, 크기가 조정된 교환 루마 특징맵이 생성될 수 있다.
본 발명에 있어서, 상기 교환 크로마 특징맵의 생성은, 상기 입력된 크로마 성분(UV)을 컨볼루션 레이어인 과 최근접 이웃 보간(Nearest Neighbor Interpolation) 레이어(up)를 이용하여, 크기가 조정된 교환 크로마 특징맵을 형성할 수 있다.
본 발명에 있어서, 병렬적으로 구성된 컨볼루션 레이어들인 상기 , , , 및 은 실행 시 하나의 컨볼루션 레이어로 통합되어 수행될 수 있다.
본 발명에 있어서, 연결된 상기 특징맵끼리의 결합하는 단계는, 상기 연결된 특징맵은 각각 원소별 합 연산(element-wise sum)에 의해 합쳐지고, 배치 정규화(BN), 활성화 함수(activation function)를 통과하여 보다 풍부해진 특징맵을 출력할 수 있다.
전술한 바와 같은 구성을 갖는 본 발명에 따르면, 뉴럴 네트워크의 입력으로 YUV 이미지 데이터를 사용하는 이중경로 블록으로 구성된 뉴럴 네트워크를 활용하여 효율적이며 효과적인 이미지 처리 방법을 제공할 수 있다.
RGB 이미지 데이터 대신에 YUV 이미지 데이터를 입력으로 사용할 때 다음 두 가지 큰 장점이 있다.
우선, 이미지 디코딩 과정에서 YUV 포맷을 RGB 포맷으로 변환하는 과정을 생략할 수 있기 때문에, 이미지 처리 속도가 빨라질 수 있다.
또한, YUV 4:2:0 포맷은 색 표현을 위한 데이터가 기존에 비해 4배 적게 필요하다. 따라서 학습 및 추론 시 메모리 소모량이 작고, 연산 속도는 빨라질 수 있다.
또한, YUV 이미지 데이터를 처리하기에 적합한 형태인 이중경로 블록을 사용하여 뉴럴 네트워크의 성능을 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한 YUV 이미지 처리 장치를 나타내는 블록도이다.
도 2는 본 발명의 일실시예에 따른 이중경로 블록을 사용한 뉴럴 네트워크의 YUV 이미지 처리 방법를 나타내는 순서도이다.
도 3은 본 발명의 일실시예에 따른 이중경로 블록의 연산을 설명하는 순서도이다.
도 4는 본 발명의 일실시예에 따른 컨볼루션 레이어가 실제 연산되는 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 이중경로 블록을 사용한 뉴럴 네트워크의 YUV 이미지 처리 방법를 나타내는 순서도이다.
도 3은 본 발명의 일실시예에 따른 이중경로 블록의 연산을 설명하는 순서도이다.
도 4는 본 발명의 일실시예에 따른 컨볼루션 레이어가 실제 연산되는 과정을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한 YUV 이미지 처리 방법 및 장치를 상세히 설명하기로 한다.
본 발명은 효율적이고 효과적인 딥 러닝 기반 이미지 처리 방법을 제공한다. 이를 위해 RGB 포맷에 비해 상대적으로 적은 데이터를 가진 YUV 포맷의 이미지 데이터를 사용하고, 상기 YUV 이미지 데이터 형식을 처리하는데 적합한 이중경로 블록으로 구성된 뉴럴 네트워크 블록 구조를 제안한다.
구체적으로는, YUV 4:2:0 포맷의 이미지 데이터를 입력으로 사용하면서 메모리 사용량 및 연산량을 감소시킬 수 있고, 상기 YUV 포맷의 이미지 처리에 적합한 이중경로 블록을 구현하여 좋은 추론 성능을 얻을 수 있는 방법을 제시한다.
추가적으로, YUV 이미지 데이터 사용의 장점은 이미지 디코딩(decoding) 과정이 간소화될 수 있다는 것이다. 일실시예로, JPEG 압축된 이미지의 디코딩 과정은 YUV 형식에서 RGB 형식으로 변환하는 과정이 포함된다. YUV 이미지를 직접 사용하는 경우 상기 변환 과정을 생략할 수 있고, 이는 약간의 연산량 감소 및 실제 애플리케이션 등의 실행에서 레이턴시(latency) 감소의 효과를 얻을 수 있다.
도 1은 본 발명의 일실시예에 따른 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한 YUV 이미지 처리 장치를 나타내는 블록도이다.
도 1을 참조하면, 뉴럴 네트워크를 활용한 YUV 이미지 처리 장치는 YUV 이미지 데이터(10)와 이를 이미지 처리하는 뉴럴 네트워크(50)로 구성된다.
상기 YUV 이미지 데이터(10)는 명도인 루마(Luma, Y) 성분과 색차인 크로마(Chroma, UV) 성분으로 구성된다.
상기 뉴럴 네트워크(50)는 상기 YUV 이미지 데이터(10)를 입력받아서 처리하여 루마 성분과 크로마 성분을 분리하여 입력하는 입력부(100), 상기 입력부(100)에서 입력된 루마 성분과 크로마 성분을 이중 경로블록(210)에서 특징을 추출하는 특징 탐지부(200), 및 상기 이중 경로블록(210)에서 추출한 특징을 기반으로 작업을 수행하는 작업 수행부(300)를 포함한다.
상기 이중 경로블록(210)은 각각 두 개의 브랜치로 구성된 두 경로가 병렬적으로 구성되어, 각각의 브랜치가 루마(Y) 특징 정보와 크로마(UV) 특징 정보를 개별적으로 추출하고, 상기 추출된 정보들을 교환 및 결합하도록 학습된다.
도 2는 본 발명의 일실시예에 따른 이중경로 블록을 사용한 뉴럴 네트워크의 YUV 이미지 처리 방법를 나타내는 순서도이다.
도 1 및 도 2를 참조하면, 뉴럴 네트워크(50)는 YUV 형식의 이미지 데이터를 입력(S100)하고 처리(S110)하는 단계, 입력된 이미지 데이터에서 이중경로 블록(dual-path block)을 이용하여 특징으로 추출(S200)하는 단계, 및 추출된 특징을 기반으로 작업을 수행하는 단계(S300)를 포함한다. 본 발명에서, YUV 형식의 이미지 데이터는 Y(루마) 성분과 UV(크로마) 성분으로 구분된다.
상기 이미지를 입력(S100)하고 처리하는 단계(S110)는 스트라이드(stride)가 2이고, 커널(kernel) 크기가 7×7인 컨볼루션(convolution) 레이어, 배치 정규화(batch normalization) 레이어, ReLU 활성화 함수(activation function), 그리고 스트라이드가 2이고 커널 크기가 3×3인 맥스 풀링(max pooling) 레이어를 포함한다. 이 단계를 통과하면 루마(Y) 성분 및 크로마(UV) 성분의 크기는 각각 4 배 감소한다. 예를 들어, 32×32 크기의 이미지가 입력되면, 8×8 크기의 루마 특징맵(feature map)과 4×4 크기의 크로마 특징맵(feature map)이 생성된다.
상기 입력된 이미지에서 이중경로 블록(210, dual-path block)을 이용하여, 특징을 추출하는 단계(S200)는 입력된 루마 성분과 크로마 성분은 직렬로 연결된 이중경로 블록(210)을 통과하여 특징맵이 담고 있는 정보가 풍부해진다. 이중 경로블록(210)의 동작에 관하여는 후술한다.
상기 이중경로 블록(210)을 다수 층 쌓아 상기 뉴럴 네트워크(50)를 깊게 만들수록 추론 성능이 향상될 수 있다.
또한, 다수 층으로 쌓인 상기 이중경로 블록(210) 사이에 스킵 연결(211, skip connection)을 추가하여 학습을 용이하게 할 수 있다.
상기 추출된 특징을 기반으로 특정 작업을 수행(S300)하는 단계는 상기 추출된 특징맵은 수행되고자 하는 작업에 따라 알맞은 헤드(310, task-specific head)를 통과한다. 본 발명의 뉴럴 네트워크는 다양한 이미지 처리 작업들에 활용될 수 있다. 예컨대, 이미지 클래스 분류, 얼굴 인식, 자율 주행 등이다.
도 3은 본 발명의 일실시예에 따른 이중경로 블록(210)의 연산을 설명하는 순서도이다.
상술한 바와 같이, YUV 형식의 이미지 데이터는 루마 성분(Y)과 크로마 성분(UV)으로 분리되고 처리(S100, S110)되어 있다.
먼저, 이중경로 블록(210)은 상기 루마 성분(Y)을 컨볼루션 기반의 강화 루마 성분 특징 추출 브랜치(S210)에 입력한다.
상기 강화 루마 성분 특징 추출 브랜치(S210)는, 커널 크기가 3×3인 컨볼루션 레이어인 를 포함한다. 입력된 루마 성분(Y)은 를 통과하면서 루마 특징맵이 담고 있는 정보가 강화되어 강화 루마 특징맵이 생성된다.
다음으로, 상기 크로마 성분(UV)을 컨볼루션 기반의 강화 크로마 성분 특징 추출 브랜치(S220)에 입력한다
상기 강화 크로마 성분 특징 추출 브랜치(S220)는, 커널 크기가 3×3인 컨볼루션 레이어, 를 포함한다. 입력된 크로마 성분(UV)은 를 통과하면서 크로마 특징맵이 담고 있는 정보가 강화되어 강화 크로마 특징맵이 생성된다.
다음으로, 상기 입력된 루마 성분(Y)을 교환 루마 성분 특징 추출 브랜치(S230)에 입력하여 교환 루마 특징맵을 생성하고, 상기 강화 크로마 성분 특징 추출 브랜치(S220)의 추출결과에 연결한다. 이를 위해서, 스트라이드가 2이고, 커널크기가 2×2인 평균 풀링(average pooling) 레이어(pool)와, 커널 크기가 3×3인 컨볼루션 레이어인 를 포함한다. 상기 입력된 루마 성분(Y)은, 상기 풀링 레이어(pool)를 거쳐 상기 강화 크로마 특징맵과 크기가 동일하게 조절되며, 이어 를 통과하여 강화 크로마 특징맵에 전달될 정보가 추출된다.
다음으로, 상기 입력된 크로마 성분(UV)을 교환 크로마 성분 특징 추출 브랜치(S240)에 입력하여 교환 크로마 성분을 생성하고, 상기 강화 루마 성분 특징 추출 브랜치(S210)의 출력 결과에 연결한다. 이를 위해서, 커널 크기가 3×3인 컨볼루션 레이어인 과 최근접 이웃 보간(Nearest Neighbor Interpolation) 레이어(up)를 포함한다. 상기 입력된 크로마 성분(UV)은, 를 통과하여 상기 강화 루마 특징맵에 전달될 정보가 추출되며, 상기 최근접 이웃 보간 레이어(up)를 거쳐 강화 루마 특징맵에 연결될 수 있도록 크기가 조절된다.
다음으로, 연결된 상기 특징맵들끼리 결합(S250, S260)한다. 연결된 특징맵끼리 결합하는 과정에서 루마 특징 정보와 크로마 특징 정보는 더 다양화될 수 있다.
연결된 특징맵끼리의 결합은, 원소별 합(element-wise sum) 연산, 배치 정규화(BN), 및 ReLU 할성화 함수(ReLU)를 포함한다. 상기 연결된 특징맵은 각각 원소별 합 연산에 의해 합쳐지고, 배치 정규화(BN), ReLU 활성화 함수(ReLU)를 통과하여 보다 풍부해진 결합 특징맵을 출력한다.
여기서, 상기 병렬적으로 구성된 컨볼루션 레이어들인 , , , 및 은 실행 시 하나의 컨볼루션 레이어로 통합되어 수행될 수 있다.
일반적으로, 뉴럴 네트워크 내의 컨볼루션 연산은 (B, iC, iH, iW) 크기의 4차원 특징맵 텐서와 (oC, iC, k, k) 크기의 4차원 가중치 커널 텐서를 각각 2차원 행렬로 변환하고 GEMM(GEneral Matrix Multiplications) 연산을 수행하는 방식으로 최적화 된다. (B, iC, iH, iW) 크기의 4차원 특징맵 텐서를 (iC×k×k, B×oH×W) 크기의 2차원 행렬로 변환하는 과정을 im2col이라고 하며, 이 과정을 적절히 사용하면 루마 특징맵과 크로마 특징맵을 (iC_C×k×k + iC_L×k×k, 1.5×B×oH×oW) 크기의 2차원 행렬로 합칠 수 있다. 또한, , , , 및 의 가중치 커널 텐서들은 간단히 합쳐 (oC_C + oC_L, iC_C×k×k + iC_L×k×k) 크기의 2차원 가중치 커널 행렬로 만들 수 있으므로, 단 한 번의 GEMM 연산으로 네 개의 컨볼루션을 동시에 수행할 수 있다.
여기서, B는 배치 사이즈, iH, iW는 입력 특징맵의 높이와 너비, iC는 입력 특징맵의 채널 수를 의미하고, k는 가중치 커널 사이즈, oH, oW는 출력 특징맵의 높이와 너비, oC는 출력 특징맵의 채널 수를 의미한다. 아래 첨자 L과 C는 각각 루마와 크로마를 나타낸다.
도 4는 본 발명의 일실시예에 따른 컨볼루션 레이어가 실제 연산되는 과정을 설명하기 위한 도면이다.
도 4를 참조하면, 가중치 커널(weight kernel)과 입력 특징맵(input feature maps)의 단 한번의 GEMM 연산으로 출력 특징맵(output feature maps)이 생성된다.
다시 도 1를 참조하면, 다수 층의 이중 경로블록(200)을 통해 추출된 특징맵은 수행되고자 하는 작업에 따라 알맞은 헤드(task-specific head)를 통과한다. 본 발명의 뉴럴 네트워크(50)는 다양한 이미지 처리 작업들에 활용될 수 있는데, 예컨대 이미지 클래스 분류, 얼굴 인식, 자율 주행 등이다.
이하 일실시예로, 본 발명을 사용한 이미지 클래스 분류 작업에 대해 설명한다.
YUV 이미지 데이터(10)와 이중경로 블록(200)을 포함하는 본 발명의 뉴럴 네트워크(50)를 사용하는 것의 효율성을 검증하기 위해, 유명한 네트워크인 ResNet-18과 비교한다. 유사한 크기를 갖게 하기 위해 본 발명의 뉴럴 네트워크를 16층의 이중 경로블록으로 구성한다. 각 블록에서 루마, 크로마 특징맵을 위한 채널 개수는 각각 32개로 구성한다.
본 발명의 뉴럴 네트워크는 학습 가능한 파라미터 개수가 11.1M개로, 11.2M개의 ResNet-18과 유사한 크기를 갖는다. 하지만, YUV 이미지 데이터를 입력하는 본 발명의 뉴럴 네트워크의 연산량(FLOPs)는 48,3M으로, RGB 이미지 데이터를 입력받는 ResNet-18의 70,5M에 비해 30% 더 적고, 따라서 더 효율적으로 동작할 수 있다.
추가적으로, YUV 이미지 데이터는 이미지 디코딩 과정에서 RGB 이미지 데이터에 비해 더 적은 비용이 소모되므로, 전체 실행 과정의 레이턴시(latency)가 더 낮을 수 있다.
구체적으로, 10개의 클래스와 각 클래스당 6,000장으로 구성된 CIFAR-10 데이터셋을 사용하여 본 발명의 뉴럴 네트워크의 효과성을 검증할 수 있다. 상기 데이터셋은 학습용 50,000장과 평가용 10,000장으로 구성되어 있고, 모든 이미지는 32×32 사이즈를 갖는다.
공정한 비교를 위해 학습용 하이퍼파라미터 설정은 모두 동일하게 한다.
학습용 이미지 데이터를 사용하여 200 이폭(epoch) 학습하고, 평가용 이미지 데이터에 대한 추론 결과가 얼마나 정확한지 정확도(accuracy)를 측정한다. 배치 사이즈 128, 손실(loss) 함수는 크로스 엔트로피(cross-entropy), 그리고 옵티마이저(opimizer)는 SGD(Stochastic Gradient Descent)를 사용한다. 초기 학습율(learining rate)는 0.01로 설정하고, 134, 178 이폭(epoch)에서 10배씩 감소하는 스케쥴을 사용한다.
평가 데이터셋에 대해 추론 정확도는 본 발명의 뉴럴 네트워크는 89%이며, ResNet-18은 86%로서, 본 발명이 더 좋은 성능을 얻을 수 있다.
이상에서 설명한 본 발명은 전술한 도면 및 상세한 설명에 의하여 한정되는 것은 아니고, 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 해당 기술분야의 당업자가 다양하게 수정 및 변경시킨 것 또한 본 발명의 범위 내에 포함됨은 물론이다.
10: YUV 이미지 데이터 50: 뉴럴 네트워크
100: 입력부 200: 특징 탐지부
210: 이중경로 블록 211: 스킵 연결
300: 작업 수행부 310: 헤드
100: 입력부 200: 특징 탐지부
210: 이중경로 블록 211: 스킵 연결
300: 작업 수행부 310: 헤드
Claims (7)
- 삭제
- 뉴럴 네트워크는 루마(Y) 성분과 크로마(UV) 성분으로 구성되는 YUV 형식의 이미지 데이터를 입력하고 처리하는 단계;
상기 뉴럴 네트워크의 이중경로 블록(dual-path block)으로 입력된 루마(Y) 성분과 크로마(UV) 성분에서 특징을 추출하는 단계; 및
상기 뉴럴 네트워크는 추출된 특징을 기반으로 작업을 수행하는 단계를 포함하며,
상기 이중 경로블록은 다수 층으로 구성되며, 각각 두 개의 브랜치로 구성된 두 경로가 병렬적으로 구성되어, 각각의 브랜치가 루마(Y) 특징 정보와 크로마(UV) 특징 정보를 개별적으로 추출하고, 상기 추출된 정보들을 교환 및 결합하도록 학습되는데,
상기 이중경로 블록(dual-path block)으로 입력된 이미지에서 특징으로 추출하는 단계는,
상기 루마 성분(Y)을 컨볼루션 레이어인 를 포함하는 강화 루마 성분 특징 추출 브랜치에 입력하여 강화 루마 특징맵을 생성하는 단계;
상기 크로마 성분(UV)을 컨볼루션 레이어인 를 포함하는 강화 크로마 성분 특징 추출 브랜치에 입력하여 강화 크로마 특징맵을 생성하는 단계;
상기 입력된 루마 성분(Y)을 교환 루마 성분 특징 추출 브랜치에 입력하여 교환 루마 특징맵을 생성하고, 상기 강화 크로마 성분 특징 추출 브랜치의 추출결과에 연결하는 단계;
상기 입력된 크로마 성분(UV)을 교환 크로마 성분 특징 추출 브랜치에 입력하여 교환 크로마 특징맵을 생성하고, 상기 강화 루마 성분 특징 추출 브랜치의 출력 결과에 연결하는 단계; 및
연결된 상기 특징맵들을 결합하는 단계를 포함하는 YUV 이미지 처리 방법. - 제2항에 있어서,
다수 층으로 쌓인 상기 이중경로 블록들 사이에는 스킵 연결(skip connection)을 추가하여 학습을 용이하게 할 수 있는 것을 특징으로 하는 YUV 이미지 처리 방법. - 삭제
- 제2항에 있어서,
상기 교환 루마 특징맵의 생성은,
상기 입력된 루마 성분(Y)을 풀링(pooling) 레이어(pool)와 컨볼루션 레이어인 을 이용하여, 크기가 조정된 교환 루마 특징맵이 생성되며,
상기 교환 크로마 특징맵의 생성은,
상기 입력된 크로마 성분(UV)을 컨볼루션 레이어인 과 최근접 이웃 보간(Nearest Neighbor Interpolation) 레이어(up)를 이용하여, 크기가 조정된 크로마 특징맵이 생성되는 것을 특징으로 하는 YUV 이미지 처리 방법. - 제5항에 있어서,
병렬적으로 구성된 컨볼루션 레이어들인 상기 , , , 및 은 실행 시 하나의 컨볼루션 레이어로 통합되어 수행되는 것을 특징으로 하는 YUV 이미지 처리 방법. - 제2항에 있어서,
연결된 상기 특징맵들을 결합하는 단계는,
상기 연결된 특징맵은 각각 원소별 합 연산(element-wise sum)에 의해 합쳐지고, 배치 정규화(BN), 활성화 함수(activation function)를 통과하여 결합 특징맵을 출력하는 것을 특징으로 하는 YUV 이미지 처리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230095048A KR102599753B1 (ko) | 2023-07-21 | 2023-07-21 | 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한yuv 이미지 처리 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230095048A KR102599753B1 (ko) | 2023-07-21 | 2023-07-21 | 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한yuv 이미지 처리 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102599753B1 true KR102599753B1 (ko) | 2023-11-08 |
Family
ID=88746130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230095048A KR102599753B1 (ko) | 2023-07-21 | 2023-07-21 | 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한yuv 이미지 처리 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102599753B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102200496B1 (ko) | 2018-12-06 | 2021-01-08 | 주식회사 엘지씨엔에스 | 딥러닝을 이용한 이미지 인식 방법 및 서버 |
KR102234097B1 (ko) | 2019-07-17 | 2021-04-01 | 부산대학교 산학협력단 | 딥러닝을 위한 이미지 처리 방법 및 이미지 처리 시스템 |
KR20230013989A (ko) | 2021-07-20 | 2023-01-27 | 삼성전자주식회사 | 이미지 처리 장치, 이의 동작 방법 및, 이를 포함하는 이미지 처리 시스템 |
-
2023
- 2023-07-21 KR KR1020230095048A patent/KR102599753B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102200496B1 (ko) | 2018-12-06 | 2021-01-08 | 주식회사 엘지씨엔에스 | 딥러닝을 이용한 이미지 인식 방법 및 서버 |
KR102234097B1 (ko) | 2019-07-17 | 2021-04-01 | 부산대학교 산학협력단 | 딥러닝을 위한 이미지 처리 방법 및 이미지 처리 시스템 |
KR20230013989A (ko) | 2021-07-20 | 2023-01-27 | 삼성전자주식회사 | 이미지 처리 장치, 이의 동작 방법 및, 이를 포함하는 이미지 처리 시스템 |
Non-Patent Citations (3)
Title |
---|
Anparasy Sivaanpu et al., "Underwater Image Enhancement Using Dual Convolutional Neural Network with Skip Connections", (2022.2.)* * |
Wenhong Duan et al., "End-to-End Image Compression via Attention-Guided Information-Preserving Module", 2022 IEEE International Conference on Multimedia and Expo (ICME), (2022.08.26.)* * |
Yuxi Cai et al., "Image Reconstruction of Multibranch Feature Multiplexing Fusion Network with Mixed Multilayer Attention", MDPI, (2022.04.23.)* * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144823B1 (en) | Method and system for hierarchical weight-sparse convolution processing | |
KR101970488B1 (ko) | 실내 의미론적 분할을 위한 컬러-깊이 영상의 단계적 레지듀얼 특성 결합 네트워크 장치 | |
Ye et al. | 3d depthwise convolution: Reducing model parameters in 3d vision tasks | |
JP2021510888A (ja) | 加速された量子化積和演算 | |
CN113874883A (zh) | 手部姿势估计 | |
CN109840531A (zh) | 训练多标签分类模型的方法和装置 | |
CN112561027A (zh) | 神经网络架构搜索方法、图像处理方法、装置和存储介质 | |
CN110222760B (zh) | 一种基于winograd算法的快速图像处理方法 | |
Jiang et al. | Cascaded subpatch networks for effective CNNs | |
CN110222718B (zh) | 图像处理的方法及装置 | |
WO2022111617A1 (zh) | 一种模型训练方法及装置 | |
CN113326930A (zh) | 数据处理方法、神经网络的训练方法及相关装置、设备 | |
CN112215332A (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
WO2022152104A1 (zh) | 动作识别模型的训练方法及装置、动作识别方法及装置 | |
CN116612288B (zh) | 一种多尺度轻量级实时语义分割方法、*** | |
WO2022100607A1 (zh) | 一种神经网络结构确定方法及其装置 | |
WO2022179588A1 (zh) | 一种数据编码方法以及相关设备 | |
CN110334800A (zh) | 一种用于视频识别的轻量级3d卷积网络*** | |
CN114821096A (zh) | 一种图像处理方法、神经网络的训练方法以及相关设备 | |
CN114742783A (zh) | 基于神经网络模型的食品检测方法和装置 | |
CN111882053A (zh) | 一种基于拼接卷积的神经网络模型压缩方法 | |
CN112801029B (zh) | 基于注意力机制的多任务学习方法 | |
Duggal et al. | Shallow SqueezeNext: An Efficient & Shallow DNN | |
KR102599753B1 (ko) | 이중경로 블록으로 구성된 뉴럴 네트워크를 활용한yuv 이미지 처리 방법 및 장치 | |
Zamora et al. | Convolutional filter approximation using fractional calculus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |