KR102480448B1 - 심층신경망 기반의 이미지 압축 시스템 및 방법 - Google Patents
심층신경망 기반의 이미지 압축 시스템 및 방법 Download PDFInfo
- Publication number
- KR102480448B1 KR102480448B1 KR1020210035160A KR20210035160A KR102480448B1 KR 102480448 B1 KR102480448 B1 KR 102480448B1 KR 1020210035160 A KR1020210035160 A KR 1020210035160A KR 20210035160 A KR20210035160 A KR 20210035160A KR 102480448 B1 KR102480448 B1 KR 102480448B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- blocks
- kth
- values
- feature
- Prior art date
Links
- 230000006835 compression Effects 0.000 title claims abstract description 60
- 238000007906 compression Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims description 25
- 238000013528 artificial neural network Methods 0.000 claims abstract description 23
- 238000000605 extraction Methods 0.000 claims abstract description 7
- 238000013139 quantization Methods 0.000 claims description 19
- 238000013527 convolutional neural network Methods 0.000 claims description 10
- 238000013145 classification model Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 22
- 238000011176 pooling Methods 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
Abstract
본 발명에 의한 심층신경망 기반의 이미지 압축 시스템은 입력 이미지를 제1 내지 제k(k는 자연수) 블록으로 분할하고, 입력 이미지에서 추출된 특성에 기초하여 특성맵을 생성하며, 특성맵에 따라 제1 내지 제k 블록 각각에 매칭되는 QF 값을 생성하는 특성 추출부; 및 QF에 기초하여 입력 이미지를 압축함으로써, 압축 이미지를 생성하는 이미지 압축부를 포함한다.
Description
본 발명은 심층신경망 기반의 이미지 압축 시스템 및 방법에 관한 것으로, 압축 효율을 높이면서 보다 정확하게 이미지 분류를 할 수 있는 발명에 관한 것이다.
인공지능의 발달과 더불어, 인공지능은 이미지를 분류하고 판단하는 작업을 수행하는 빈도가 높아지고 있다. 인공지능 시스템은 이미지를 학습하기 위해서 JPEG(Joint Photographic Experts Group)과 같이 압축된 이미지 데이터를 제공받는 것이 일반적이다.
JPEG 압축 방식에서 사용자는 이미지의 화질과 파일의 크기를 조절할 수 있지만, 이미지 내 객체의 위치와 무관하게 모든 8*8 블록에 일관적인 양자화 파라미터가 적용된다. 이에 따라 심층신경망의 추론 과정에서 중요하게 여겨지지 않는 부분도 중요한 부분과 동일하게 처리되어 입력 이미지 데이터의 압축률을 높이는 데 한계가 있다. 또한, JPEG 방식에서는 이미지의 내용 혹은 특성과 상관없이 표준으로 정해진 양자화 테이블을 사용하여 DCT 계수를 양자화하기 때문에 압축률을 더 높일 수 있는 입력 이미지 또는 이미지 내의 영역에 대해서도 동일한 표준 양자화 테이블을 사용하여 일괄적으로 양자화가 수행된다는 단점이 있다. 보다 활용이 많아지는 사물인터넷(Internet of Things; IoT) 기기에서의 딥러닝 정확도와 추론 속도 향상을 위하여 종래의 JPEG 압축 방식보다 효율적인 입력 데이터의 압축 및 처리가 요구된다.
본 발명은 이미지 분류 정확도를 저하시키지 않으면서 입력 이미지의 압축률을 높일 수 있는 심층신경망 기반의 이미지 압축 시스템 및 방법을 제공하기 위한 것이다.
또한, 본 발명은 압축률을 저하시키지 않으면서 입력 이미지를 보다 정확하게 판독할 수 있도록 이미지를 압축하는 심층신경망 기반의 이미지 압축 시스템 및 방법을 제공하기 위한 것이다.
본 발명에 의한 심층신경망 기반의 이미지 압축 시스템은 입력 이미지를 제1 내지 제k(k는 자연수) 블록으로 분할하고, 입력 이미지에서 추출된 특성에 기초하여 특성맵을 생성하며, 특성맵에 따라 제1 내지 제k 블록 각각에 매칭되는 큐 인자(Quality Factor; 이하, QF)를 생성하는 특성 추출부; 및 QF에 기초하여 입력 이미지를 압축함으로써, 압축 이미지를 생성하는 이미지 압축부를 포함한다.
본 발명은 블록 단위로 양자화 레벨을 결정한 것에 기초하여 이미지를 압축하기 때문에, 입력 이미지의 압축률을 높일 수 있다.
또한, 본 발명은 이미지를 학습하는 학습 모델에 기반하여 이미지를 압축하기 때문에, 입력 이미지를 보다 정확하게 판독할 수 있도록 이미지를 압축할 수 있다.
도 1은 본 명세서에 의한 심층 신경망 기반의 이미지 압축 시스템을 나타내는 도면이다.
도 2는 본 명세서에 의한 심층 신경망 기반의 이미지 압축 방법을 나타내는 도면이다.
도 3은 본 명세서의 실시 예에 의한 특성 추출부의 구성을 나타내는 도면이다.
도 4는 풀링 방식을 설명하는 도면이다.
도 5 및 도 6은 최종 컨볼루션 블록의 동작을 설명하는 도면이다.
도 7은 입력 이미지의 일례를 나타내는 도면이다.
도 8은 입력 이미지를 "6×6"개의 블록으로 분할한 실시 예를 나타내는 도면이다.
도 9는 이미지 그룹을 분류하는 실시 예를 설명하는 도면이다.
도 10의 (a)는 이산코사인변환 계수를 나타내는 도면이고, (b)는 양자화 테이블을 나타내는 도면이며, (c)는 이산코사인변환 계수 양자화 결과를 나타내는 도면이다.
도 2는 본 명세서에 의한 심층 신경망 기반의 이미지 압축 방법을 나타내는 도면이다.
도 3은 본 명세서의 실시 예에 의한 특성 추출부의 구성을 나타내는 도면이다.
도 4는 풀링 방식을 설명하는 도면이다.
도 5 및 도 6은 최종 컨볼루션 블록의 동작을 설명하는 도면이다.
도 7은 입력 이미지의 일례를 나타내는 도면이다.
도 8은 입력 이미지를 "6×6"개의 블록으로 분할한 실시 예를 나타내는 도면이다.
도 9는 이미지 그룹을 분류하는 실시 예를 설명하는 도면이다.
도 10의 (a)는 이산코사인변환 계수를 나타내는 도면이고, (b)는 양자화 테이블을 나타내는 도면이며, (c)는 이산코사인변환 계수 양자화 결과를 나타내는 도면이다.
본 명세서의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 명세서는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 명세서의 개시가 완전하도록 하며, 본 명세서가 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 명세서는 청구항의 범주에 의해 정의될 뿐이다.
본 명세서의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하고, 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시할 수도 있다.
도 1은 본 명세서에 의한 심층 신경망 기반의 이미지 압축 시스템을 나타내는 도면이고, 도 2는 본 명세서에 의한 심층 신경망 기반의 이미지 압축 방법을 나타내는 도면이다.
도 1 및 도 2를 참조하면, 본 명세서에 의한 심층 신경망 기반의 이미지 압축 시스템은 특성 추출부(100), 이미지 압축부(200) 및 추론부(300)를 포함한다.
본 명세서에 의한 심층 신경망 기반의 이미지 압축 방법은 특성 추출부(100)가 입력 이미지를 제1 내지 제k(k는 자연수) 블록으로 분할한다(S210).
특성 추출부(100)는 입력 이미지에서 추출된 특성에 기초하여 특성맵을 생성한다(S220). 특성은 색상, 외곽선과 같은 이미지의 low-level 특징들과 이미지 내에 존재하는 물체의 일부분 혹은 전체의 모양과 같은 high-level 특성들을 포함한다.
특성 추출부(100)는 특성맵에 따라 제1 내지 제k 블록 각각에 매칭되는 QF(Quality Factor) 값을 생성한다(S230).
이미지 압축부(200)는 QF(Quality Factor)에 기초하여 입력 이미지를 압축함으로써, 압축 이미지를 생성한다(S240).
또한, 본 명세서에 의한 이미지 압축 방법은 추론부(300)가 이미지 분류 모델을 이용하여 압축 이미지를 학습하고, 학습 결과에 기초하여 학습 모델을 업데이트하는 단계를 더 포함할 수 있다.
심층 신경망 기반의 이미지 압축 시스템을 보다 구체적으로 살펴보면 다음과 같다.
도 3은 본 명세서의 실시 예에 의한 특성 추출부의 구성을 나타내는 도면이다.
도 3을 참조하면, 특성 추출부(100)는 특성맵 생성부(110) 및 QF 생성부(120)를 포함한다.
특성맵 생성부(110)는 컨볼루션 신경 네트워크(Convolutional Neural Network; 이하, CNN)로 구현될 수 있다.
입력 이미지는 (H×W×d)의 벡터로 표현될 수 있다. 이때, H는 높이(height)를 지칭하고, W는 폭(width)을 지칭하며, d는 뎁스(depth)를 지칭한다. 뎁스는 하나의 픽셀을 구성하는 서브픽셀일 수 있으며, 예를 들어 삼원색에 해당하는 R, G, B 각각의 채널을 지칭하는 "3"이 될 수 있다.
CNN은 컨볼루션 레이어(Conv), 정류화 선형 유닛(Rectified Linear Unit; 이하, ReLU) 및 풀링 레이어(Pool)로 구성된 컨볼루션 블록이 반복되는 다층 구조로 구현될 수 있다.
컨볼루션 레이어(Conv)는 이미지의 특성(feature)을 추출하는 하나 이상의 필터로 구성된다. 필터는 커널로 지칭된다. 각각의 필터들은 입력 이미지에 대한 합성곱 연산을 수행한다. 필터의 개수에 비례하여 출력의 채널 수는 증가하고, 필터의 크기와 이동 간격에 따라 컨볼루션 레이어(Conv)의 출력은 입력보다 크기가 작아진다.
컨볼루션 레이어(Conv)는 특성맵(FM)을 출력하고, 특성맵(FM)의 각 채널은 각각의 필터들이 찾는 특성을 얼마나 보유하는지에 대한 정보를 포함한다.
정류화 선형 유닛(Rectified Linear Unit; 이하, ReLU)은 활성화 함수의 한 종류로써, 네트워크에 비선형성을 추가하여 비선형 문제를 해결한다. ReLU는 음수 값을 0에 매핑하고 양수 값을 유지하여 더 빠르고 효과적인 학습을 가능하도록 하며, 이때 활성화된 특징만을 다음 계층으로 전달한다. ReLU는 동시에 모든 뉴런을 활성화하지 않기 때문에 시간당 활성화되는 뉴런이 적어서 활성화 기능에 효율적이다.
풀링 레이어(Pool)는 비선형 다운 샘플링을 수행하고 네트워크에서 학습해야 하는 매개변수의 개수를 줄여서 출력을 간소화한다. 풀링 레이어(Pool)는 연산의 종류에 따라 맥스 풀링(Max Pooling)과 평균 풀링(Average Pooling) 방식으로 구분될 수 있다.
도 4는 풀링 방식을 설명하는 도면이다.
도 4를 참조하면, 맥스 풀링은 필터에서 검출되는 영역의 최대값을 검색하고, 평균 풀링은 필터에서 검출되는 영역의 평균값을 산출한다.
CNN으로부터 출력되는 특성맵(FM)의 개수는 채널 수에 해당한다. 예를 들어, 입력 이미지가 224×224×3의 크기인 것에 대해서 CNN의 출력이 7×7×512 일 경우, 채널 수는 512이다.
최종 컨볼루션 블록은 복수의 특성맵(FM)들에 대해서 채널을 축으로 풀링 연산을 수행하여, 특성맵(FM)의 폭과 높이를 유지한 상태에서 채널의 수를 "1"로 축소시킨다.
도 5 및 도 6은 최종 컨볼루션 블록의 동작을 설명하는 도면이다.
최종 컨볼루션 블록의 컨볼루션 레이어(Conv)가 출력하는 특성맵의 크기가 "4×4×6"인 실시 예를 도시하고 있다. 최종 컨볼루션 블록은 도 4와 같은 특성맵에 대해서 맥스 풀링을 수행하여, 도 6에서와 같이 "4×4×1"의 크기를 갖는 특성맵을 생성할 수 있다.
이와 같이, 최종 컨볼루션 블록은 "N×N×1" 크기의 특성맵(FM)을 생성한다. 이때, "N"은 블록의 개수 보다 작은 자연수이다. 특성맵(FM)의 크기를 결정하는 "N"은 컨볼루션 레이어에서 사용되는 필터의 크기 및 이동 간격, 그리고 풀링 레이어(Pool)에서 최대값 또는 평균값을 추출하는 기준 영역의 크기에 따라 달라진다.
QF 생성부(120)는 특성맵(FM)으로부터 QF 맵(QM)을 생성한다. 이를 위해서, QF 생성부(120)는 특성맵(FM)을 업샘플링한 것에 기초하여 QF 맵(QM)을 생성한다. 이때, QF 생성부(120)는 특성맵(FM)을 업샘플링한 이후 스케일링(scaling) 작업을 수행할 수 있다.
아래의 [수학식1]은 특성맵(FM)을 업샘플링한 실시 예를 설명하는 수학식이다.
[수학식 1]
즉, QF 생성부(120)는 특성맵(FM)을 구성하는 f1~fN*N 까지의 "N×N"개의 원소를 업샘플링하여 블록의 개수만큼의 원소를 갖는 업샘플링 된 특성맵(FM*)을 생성한다. 이때, "(H//B)*(W//B)"는 입력 이미지가 분할된 블록의 개수를 지칭한다. 블록의 세로 및 가로의 픽셀 개수는 "B"개로 동일할 수 있다. 즉, 블록의 개수는 {(높이(H)에 해당하는 픽셀의 개수)(블록의 일변의 픽셀 개수)}{(블록의 폭(W)에 해당하는 픽셀의 개수(블록의 일변의 픽셀 개수)}가 될 수 있다.
QF 맵을 구성하는 QF 값은 특성맵의 원소의 크기에 비례하여 크게 설정될 수 있다. QF의 크기는 압축률을 결정하고, 압축률은 QF의 크기가 클수록 작게 설정될 수 있다.
도 7은 입력 이미지의 일례를 나타내는 도면이고, 도 8은 입력 이미지를 "6×6" 개의 블록으로 분할한 실시 예를 나타내는 도면이다. 도 8의 블록에 도시된 "1~36"은 각각 블록 넘버를 지칭한다.
아래의 [표 1] 내지 [표 3]은 QF 생성부(120)가 생성한 QF 맵을 나타내는 표이며, [표 1] 내지 [표 3]이 하나의 QF 맵으로 간주된다. [표 1] 내지 [표 3]은 도 7에 도시된 제1 내지 제36 블록들에 매칭되는 QF를 생성한 것을 나타내며, QF 맵은 제1 내지 제36 블록들에 매칭되는 QF로 구성된다.
블록번호 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
QF | 50 | 52 | 53 | 52 | 53 | 55 | 56 | 63 | 73 | 63 | 59 | 62 |
블록번호 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
QF | 61 | 78 | 99 | 85 | 81 | 63 | 54 | 65 | 91 | 92 | 98 | 62 |
블록번호 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |
QF | 59 | 58 | 71 | 75 | 71 | 66 | 59 | 60 | 60 | 63 | 56 | 57 |
즉, QF 맵(QM)은 다음과 같이 [수학식 2]와 같이, 각각의 블록에 매칭되는 QF 값들의 집합으로 표현될 수 있다.
[수학식 2]
이때, 제n QF 값(qn)은 n번째 블록에 매칭되는 블록 QF이며, 다음의 [수학식 3]과 같은 업샘플링 방식으로 획득될 수 있다.
[수학식 3]
이때, FM*min은 업샘플링 된 특성맵(FM)의 최소값이고, FM*max는 업샘플링 된 특성맵(FM)의 최대값을 지칭한다. QFmin은 미리 설정된 QF의 최소값이고, QFmax는 미리 설정된 QF의 최대값이다. QFmin과 QFmax는 각각 1 이상, 100 이하의 정수로 설정될 수 있다.
이미지 압축부(200)는 QF의 크기에 기초하여, 동일한 범위 내에 속한 블록 QF 값들을 하나의 이미지 그룹으로 그룹핑하고, 각각의 이미지 그룹별로 양자화 테이블을 설정한다.
이미지 압축부(200)는 QF 구간을 이미지 그룹의 개수로 분할하되, 분할된 각각의 QF 구간은 동일한 범위가 되도록 설정된다. 예를 들어, 최소 QF부터 최대 QF 범위의 블록 QF 값들은 다음과 같이 "G"개의 구간으로 분할될 수 있다.
이때, k는 다음의 [수학식 4]로 산출될 수 있다.
[수학식 4]
이미지 압축부(200)는 각각의 구간에 속한 QF들을 그룹핑하고, 그룹핑 된 QF들에 매칭되는 이미지 블록들을 하나의 이미지 그룹으로 설정한다.
도 9는 이미지 그룹을 분류하는 실시 예를 설명하는 도면이다.
[표 1] 내지 [표 3]과 더불어 도 8을 참조하여 이미지 그룹을 분류하는 방법을 살펴보면 다음과 같다.
이하의 실시 예에서, 최소 QF는 "50"으로 설정되고, 최대 QF는 "99"로 설정되며, 이미지 그룹의 개수는 "5"로 설정된 것을 바탕으로 설명하기로 한다.
이미지 그룹의 개수가 '5'일 경우, 50~99까지의 QF 구간은 구간1 내지 구간5로 분할된다.
"50~59"까지의 QF들은 구간 1에 속한다. 그리고, "60~69"까지의 QF들은 구간 2에 속하며, "70~79"까지의 QF들은 구간 3에 속한다. "80~89"까지의 QF들은 구간 4에 속하며, "90~99"까지의 QF들은 구간 5에 속한다.
도 8에서, 구간 1에 속하는 QF를 갖는 블록은 제1 블록, 제2 블록, 제3 블록, 제4 블록, 제5 블록, 제6 블록, 제7 블록, 제11 블록, 제19 블록, 제25 블록, 제26 블록, 제31 블록, 제35 블록 및 제36 블록에 해당한다. 구간 2에 속하는 QF를 갖는 블록은 제8 블록, 제10 블록, 제12 블록, 제13 블록, 제18 블록, 제20 블록, 제24 블록, 제30 블록, 제32 블록, 제33 블록 및 제34 블록에 해당한다. 구간 3에 속하는 QF를 갖는 블록은 제9 블록, 제14 블록, 제27 블록, 제28 블록, 제29 블록에 해당한다. 구간 4에 속하는 QF를 갖는 블록은 제16 블록, 제17 블록에 해당한다. 구간 5에 속하는 QF를 갖는 블록은 제15 블록, 제21 블록, 제22 블록 및 제23 블록에 해당한다.
결과적으로, 이미지 압축부(200)는 도 9에서와 같이 이미지 블록들을 그룹핑할 수 있다.
이미지 압축부(200)는 각각의 이미지 블록 그룹들에 대해서 서로 다른 양자화 테이블을 생성한다. 이미지 압축부(200)는 이미지 블록들에 대해서 이산코사인변환을 수행하고, 양자화 테이블을 이용하여 블록 단위로 양자화를 수행한다.
또한, 이미지 압축부(200)는 복수의 이미지 블록들 중에서 QF 값이 클수록, 이미지 분류 모델의 학습을 위한 손실 함수에서 압축률 항에 적용되는 가중치를 작게 설정한다.
도 10의 (a)는 이산코사인변환 계수를 나타내는 도면이고, (b)는 양자화 테이블을 나타내는 도면이며, (c)는 이산코사인변환 계수 양자화 결과를 나타내는 도면이다.
추론부(300)는 이미지 학습 모델을 이용하여 이미지 압축부(200)가 압축한 이미지를 학습한다. 추론부(300)는 CNN으로 구현될 수 있고, 이미지별로 학습을 진행한다.
이미지 학습 모델의 학습을 위한 손실함수(Loss)는 다음의 [수학식 5]에 따라 산출될 수 있다.
[수학식 5]
[수학식 5]에서 l는 에 적용되는 가중치이며, 미리 설정될 수 있다. 는 이미지 분류 모델의 정확도가 저하되는 것을 방지하는 것을 결정하는 항이다. 은 압축된 이미지의 비트레이트의 축소 정도를 결정하는 항이며, 는 오버피팅을 방지하기 위한 정규화 항이다. 은 다음의 [수학식 6]에 따라 산출될 수 있다.
[수학식 6]
[수학식 6]에서 n은 이미지를 구성하는 블록의 총 개수이다. 은 i 번째 블록의 압축 정도를 결정하는 항이며, 블록 가중치()는 에 적용되는 가중치다. 이미지 압축부(200)는 도 10의 (b)에 도시된 양자화 테이블을 업데이트하는 과정에서, 블록에 매칭되는 QF 값에 따라 블록 가중치()를 조절한다. 즉, 이미지 압축부(200)는 중요도가 높은 영역에 속하는 블록들일수록 블록 가중치()를 작게 설정하여 와 의 트레이드오프를 조절할 수 있다. 또한 이미지 압축부(200)는 중요도가 낮은 영역에 속하는 블록들일수록 블록 가중치()를 크게 설정하여 와 의 트레이드오프를 조절한다.
살펴본 바와 같이, 본 명세서에 의한 심층 신경망 기반의 이미지 압축 방법에 의하면, 인간의 시각 인지에 기반한 것이 아니라, 이미지를 판독하는 인공지능 학습 시스템에 기반하여 양자화 레벨을 설정하기 때문에, 보다 효율적으로 이미지를 압축할 수 있다.
이상 설명한 내용을 통해 당업자라면 본 명세서의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 명세서의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여져야만 할 것이다.
Claims (11)
- 입력 이미지를 제1 내지 제k(k는 자연수) 블록으로 분할하고, 입력 이미지에서 추출된 특성에 기초하여 특성맵을 생성하며, 상기 특성맵에 따라 상기 제1 내지 제k 블록 각각에 매칭되는 QF(Quality Factor)를 생성하는 특성 추출부; 및
상기 QF에 기초하여 상기 입력 이미지를 압축함으로써, 압축 이미지를 생성하는 이미지 압축부;를 포함하고,
상기 특성 추출부는
CNN(Convolutional Neural Network)으로 구현되어, 채널이 "1"인 크기의 상기 특성맵을 출력하는 특성맵 생성부; 및
상기 입력 이미지의 상기 제1 내지 제k 블록이 각각 특성 원소를 가지도록 상기 특성맵을 업샘플링하여 제1 내지 제k 특성 원소를 생성하며, 제1 내지 제k 특성 원소의 크기에 비례하여 크게 설정되는 제1 내지 제k QF 값을 생성하는 QF 생성부;를 포함하고,
상기 특성맵 생성부는
상기 CNN의 컨볼루션 레이어로부터 출력되는 복수의 특성맵을 풀링하여 채널을 "1"로 축소하고,
상기 제1 내지 제k 블록에 각각 대응되는 상기 제1 내지 제k QF 값 각각은
상기 제1 내지 제k 블록 각각의 특성 원소, 상기 생성된 제1 내지 제k 특성 원소의 최소값, 상기 제1 내지 제k 특성 원소의 최대값 및 기 설정된 QF 최소값을 기반으로 생성되고,
상기 이미지 압축부는
상기 제1 내지 제k QF 값의 구간을 이미지 그룹의 개수로 분할하되, 분할된 각각의 상기 QF 값의 구간은 범위가 동일하도록 설정하고, 각각의 상기 QF 값의 구간에 속한 QF 값들을 그룹핑하며, 상기 제1 내지 제k 블록 중 상기 그룹핑된 QF 값들에 매칭되는 블록들을 각각의 상기 이미지 그룹으로 설정하여, 상기 설정된 이미지 그룹 별로 양자화 테이블을 생성하는 것을 특징으로 하는 심층 신경망 기반의 이미지 압축 시스템. - 삭제
- 삭제
- 제 1 항에 있어서,
상기 이미지 압축부는
상기 QF의 크기에 비례하여 압축률을 높이는 것을 특징으로 하는 심층 신경망 기반의 이미지 압축 시스템. - 제 1 항에 있어서,
상기 특성 추출부는 학습 모델을 바탕으로 상기 QF를 생성하고,
상기 이미지 압축 시스템은
이미지 분류 모델을 이용하여 상기 압축 이미지를 학습하고, 학습 결과에 기초하여 상기 학습 모델을 업데이트하는 추론부를 더 포함하는 것을 특징으로 하는 심층 신경망 기반의 이미지 압축 시스템. - 제 5 항에 있어서,
상기 이미지 압축부는
이산코사인변환된 결과를 양자화하기 위한 양자화 테이블을 생성하되, 상기 제1 내지 제k 블록들 중에서 상기 QF의 값이 클수록, 상기 이미지 분류 모델의 학습을 위한 손실 함수의 압축률 항에서 블록 단위 손실 함수에 적용되는 가중치의 크기를 줄이는 것을 특징으로 하는 심층 신경망 기반의 이미지 압축 시스템. - 입력 이미지를 제1 내지 제k(k는 자연수) 블록으로 분할하는 단계;
상기 입력 이미지에서 추출된 특성에 기초하여 특성맵을 생성하는 단계;
상기 특성맵에 따라 상기 제1 내지 제k 블록 각각에 매칭되는 QF를 생성하는 단계; 및
상기 QF에 기초하여 상기 입력 이미지를 압축함으로써, 압축 이미지를 생성하는 단계;를 포함하고,
상기 특성맵을 생성하는 단계는
CNN의 컨볼루션 레이어로부터 출력되는 복수의 상기 특성맵을 풀링하여 채널을 "1"로 출력하고,
상기 QF를 생성하는 단계는
상기 입력 이미지의 상기 제1 내지 제k 블록이 각각 특성 원소를 가지도록 상기 특성맵을 업샘플링하여 제1 내지 제k 특성 원소를 생성하며, 제1 내지 제k 특성원소의 크기에 비례하여 크게 설정되는 제1 내지 제k QF 값을 생성하고,
상기 제1 내지 제k 블록에 각각 대응되는 상기 제1 내지 제k QF 값 각각은
상기 제1 내지 제k 블록 각각의 특성 원소, 상기 생성된 제1 내지 제k 특성 원소의 최소값, 상기 제1 내지 제k 특성 원소의 최대값 및 기 설정된 QF 최소값을 기반으로 생성되고,
상기 압축 이미지를 생성하는 단계는
상기 제1 내지 제k QF 값의 구간을 이미지 그룹의 개수로 분할하되, 분할된 각각의 상기 QF 값의 구간은 범위가 동일하도록 설정하고, 각각의 상기 QF 값의 구간에 속한 QF 값들을 그룹핑하며, 상기 제1 내지 제k 블록 중 상기 그룹핑된 QF 값들에 매칭되는 블록들을 각각의 상기 이미지 그룹으로 설정하여, 상기 설정된 이미지 그룹 별로 양자화 테이블을 생성하는 것을 특징으로 하는 심층 신경망 기반의 이미지 압축 방법. - 삭제
- 제 7 항에 있어서,
상기 압축 이미지를 생성하는 단계는
상기 QF의 크기에 비례하여 압축률을 높이는 것을 특징으로 하는 심층 신경망 기반의 이미지 압축 방법. - 제 7 항에 있어서,
상기 QF를 생성하는 단계는 학습 모델을 기반으로 수행되고,
상기 심층 신경망 기반의 이미지 압축 방법은
이미지 분류 모델을 이용하여 상기 압축 이미지를 학습한 것에 기초하여, 상기 학습 모델을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 심층 신경망 기반의 이미지 압축 방법. - 제 10 항에 있어서,
상기 이미지를 압축하는 단계는
이산코사인변환된 결과를 양자화하기 위한 양자화 테이블을 생성하는 단계를 포함하되, 상기 제1 내지 제k 블록들 중에서 상기 QF의 값이 클수록 상기 이미지 분류 모델의 학습을 위한 손실 함수의 크기를 줄이는 것을 특징으로 하는 심층 신경망 기반의 이미지 압축 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210035160A KR102480448B1 (ko) | 2021-03-18 | 2021-03-18 | 심층신경망 기반의 이미지 압축 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210035160A KR102480448B1 (ko) | 2021-03-18 | 2021-03-18 | 심층신경망 기반의 이미지 압축 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220130370A KR20220130370A (ko) | 2022-09-27 |
KR102480448B1 true KR102480448B1 (ko) | 2022-12-23 |
Family
ID=83451956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210035160A KR102480448B1 (ko) | 2021-03-18 | 2021-03-18 | 심층신경망 기반의 이미지 압축 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102480448B1 (ko) |
-
2021
- 2021-03-18 KR KR1020210035160A patent/KR102480448B1/ko active IP Right Grant
Non-Patent Citations (2)
Title |
---|
Jong Hwan Ko 외 3명. Design Analysis of Neural Network Inference Engine based on Adaptive Weight Compression. IEEE, 페이지 1-14, 2018.02.02. 1부.* |
Lukas Cabigelli 외 2명. CAS-CNN: A Deep Convolutional Neural Network for Image Compression Artifact Suppression. 2017 International Joint Conference on Neural Networks (IJCNN), 2017.05.19. 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20220130370A (ko) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113159173B (zh) | 一种结合剪枝与知识蒸馏的卷积神经网络模型压缩方法 | |
US6985632B2 (en) | Image processing system, image processing apparatus, and image processing method | |
JP2005516553A (ja) | 複合文書の圧縮のためのコーダに整合したレイヤ分離 | |
KR100809409B1 (ko) | 복호화 장치, 역양자화 방법 및 이들의 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 | |
JP4717860B2 (ja) | データ圧縮方法及び画像表示方法及び表示画像拡大方法 | |
CN112560901A (zh) | 一种基于图像预处理与对抗训练结合的防御对抗样本的方法 | |
CN112906874A (zh) | 卷积神经网络特征图数据压缩方法及装置 | |
CN112218094A (zh) | 一种基于dct系数预测的jpeg图像去压缩效应方法 | |
CN118172290B (zh) | 一种基于多级自适应CNN与混合Transformer的唐卡图像修复方法、系统及存储介质 | |
CN102271251B (zh) | 无失真的图像压缩方法 | |
JP4293912B2 (ja) | ウェーブレット変換を使用するカラー画像のデータ圧縮 | |
Miyata et al. | Novel inverse colorization for image compression | |
KR102480448B1 (ko) | 심층신경망 기반의 이미지 압축 시스템 및 방법 | |
Yuan et al. | Gradient-guided residual learning for inverse halftoning and image expanding | |
Ernawan et al. | Adaptive tchebichef moment transform image compression using psychovisual model | |
Naaz et al. | Implementation of hybrid algorithm for image compression and decompression | |
US20040136600A1 (en) | Visually lossless still image compression for RGB, YUV, YIQ, YCrCb, K1K2K3 formats | |
Kountchev et al. | Non-linear image representation based on IDP with NN | |
KR102588298B1 (ko) | 조작 종류 판별 장치 및 방법 | |
CN117459737B (zh) | 一种图像预处理网络的训练方法和图像预处理方法 | |
Hasan | Combination of lossy and lossless for image compression | |
Huang et al. | Interpretable Image/Video Compression by Extracting the Least Context Map | |
Semary et al. | An effective compression technique for HSL color model | |
Bhoir | Quality Analysis of Lossy Image Compression Techniques | |
Singh et al. | A STUDY OF PATTERN BASED RESIDUAL VECTOR QUANTIZATION ALGORITHM FOR IMAGE COMPRESSION |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |