KR101854258B1 - 딥러닝을 pc에 적용하기 위한 메모리 최적화 방법 - Google Patents
딥러닝을 pc에 적용하기 위한 메모리 최적화 방법 Download PDFInfo
- Publication number
- KR101854258B1 KR101854258B1 KR1020170109034A KR20170109034A KR101854258B1 KR 101854258 B1 KR101854258 B1 KR 101854258B1 KR 1020170109034 A KR1020170109034 A KR 1020170109034A KR 20170109034 A KR20170109034 A KR 20170109034A KR 101854258 B1 KR101854258 B1 KR 101854258B1
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- filters
- random
- similarity rate
- less
- Prior art date
Links
Images
Classifications
-
- G06K9/628—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G06K9/00281—
-
- G06K9/4628—
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Biodiversity & Conservation Biology (AREA)
- Human Computer Interaction (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
Abstract
본 발명에서는 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법을 개시하였다. 본 발명은 (a) 필터 사이의 유사율이 기준값 이하가 되도록 설정하여 분별력이 있는 랜덤 필터 세트를 결정하는 단계, (b) 상기 랜덤 필터 세트를 이용하여 컨볼루션 층을 구성하는 단계, (c) 상기 컨볼루션 층을 통과한 특징벡터의 차원을 데이터 클래스 수 이하로 축소시키는 단계, 및 (d) 상기 차원이 축소된 특징벡터를 분류기를 이용하여 기계학습을 진행하는 단계를 포함한다. 본 발명에 의하면, 전체적인 딥러닝의 학습시간을 단축시키고 메모리량과 연산처리량을 감소시키므로, 딥러닝을 PC에도 적용할 수 있다.
Description
본 발명은 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법에 관한 것으로, 보다 상세하게는 분별력이 있는 랜덤 필터를 이용한 컨볼루션 층을 이용하여 영상을 인식하는 것에 관한 것이다. 특히 본 발명은 상호 상관 함수를 이용하여 필터 간의 분별력을 파악하는 방법을 보여준다. 본 발명은 이러한 시스템 및 방법에 의해 딥러닝의 학습시간을 단축시키고, 메모리량과 연산처리량을 감소시킬 수 있는, 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법에 관한 것이다.
기계학습(machine learning)은 컴퓨터과학의 한 분야로써 데이터를 학습하고 학습한 데이터를 기반으로 후에 입력되는 데이터를 인지, 예측 하는 기술이다. 현재 기계학습은 생체인식, 일기예측, 주가예측 등의 여러 분야에서 사용되고 있으며 최근에는 기계학습의 일종인 딥러닝을 이용한 ‘알파고’라는 프로그램을 구글에서 개발하였고 현직 프로바둑기사와 바둑을 두어 이기는 수준의 개발이 진행되었다.
그러나 이러한 고성능의 딥러닝(deep learning) 알고리즘을 이용한 프로그램은 주로 대기업의 슈퍼컴퓨터에 대량의 병렬연산에 의해 가능하며 일반적으로 사용되는 가정용 PC로는 구현하기 어려운 것이 현실이다.
딥러닝 알고리즘 중 영상인식에 특화된 CNN (Convolution Neural Network) 알고리즘은 원본 이미지를 여러 특징 필터를 통해 컨볼루션 연산을 수행 및 반복하고, 특징 데이터를 추출하여 영상을 인식하는 기술이다.
도 1은 일반적인 CNN 구조와 이미지의 처리 과정을 개략적으로 나타낸 구성도이다.
일반적인 CNN 구조는 영상 이미지(220)를 요소 하나하나의 가중치 연산이 아닌 특징 추출 필터를 이용하여 지역적인 특징값을 추출하여 연산하고 이를 반복하여 최종적인 특징 데이터를 추출한다. 즉, 필터연산을 하는 컨볼루션 층(convolution layer)과 데이터를 축소시키는 서브샘플링 층(sub-sampling layer)의 반복으로 구성된다.
영상 이미지(220)는 컨볼루션 층을 통과하면서 필터링 연산을 거쳐서 여러 개의 특징 이미지(230)를 만든다. 이 특징 이미지는 서브샘플링 단계를 통해 특징이 압축된 특징 이미지(240)로 바뀐다. 이와 같은 과정을 반복하면 특징 데이터(260)를 추출할 수 있고, 이를 벡터화 하면 특징벡터(271)가 된다. 이러한 특징벡터를 신경망 구조(270)에 입력하여 학습을 수행한 후에 이미지 분류 및 인식을 수행하게 된다.
기존의 CNN 알고리즘에서 입력 이미지가 컨볼루션 연산을 통해 추출되는 특징 벡터는 여러 특징 필터를 통해 생성되어, 설정에 따라 수많은 차원의 데이터로 추출된다. 이때 많은 메모리를 요구함에 따라 많은 연산량이 필요로 하여 긴 처리시간이 요구된다. 또한 데이터가 일정 차원 이상으로 차원이 증가 할수록 인식률이 떨어지는 차원의 저주(Curse of Dimensionality) 현상이 존재한다.
기존의 일반적인 CNN 알고리즘은 목표값이 존재하는 감독학습으로, 기본적인 학습 알고리즘으로는 역전파 알고리즘을 사용한다. 역전파 알고리즘은 CNN 구조에서 마지막 출력층의 출력값과 목표값 사이의 오차를 역방향으로 전파하여 신경망 구조와 컨볼루션 층의 필터의 가중치를 오차에 따라 수정하게 된다. 도 1의 아래쪽 화살표(280)는 역전파 알고리즘이 적용되는 구간을 나타낸다.
일반적으로 CNN 알고리즘은 영상 인식 분야에서 높은 성능의 인식률을 보인다. 반면에, 역전파 알고리즘으로 목표 오차율에 도달할 때까지 학습을 반복 수행하여야 하므로 긴 학습시간이라는 단점이 존재한다.
그리고, 이러한 이유로 분류기의 사용에 역전파 알고리즘이 사용 가능해야 한다는 제약이 걸려 신경망 외의 다른 분류기를 적용하기 어렵다.
따라서, 기존의 CNN 구조는 높은 영상 인식률과 간단한 구조로 사용이 편리하지만, 학습 시간이 길고 높은 메모리 점유율로 인해 고성능 장비를 요구하여 일반 PC에서 사용이 어려운 문제가 있다.
또한, 특징 데이터를 신경망에 입력하여 분류하는 과정에서도 고차원의 데이터가 생성되기 때문에 연산량, 처리시간, 메모리 등에서 많은 리소스를 요구하게 되는 문제점이 있다.
따라서, 신경망의 학습에 필요한 연산량을 줄이기 위한 연구가 진행되어 왔다. 미국 등록특허공보 US 7,295,687 B2 “FACE RECOGNITION METHOD USING ARTIFICIAL NEURAL NETWORK AND APPARATUS THEREOF”는 소정의 얼굴 영상을 이용하여 신경망을 학습하고, 학습된 신경망에 인식의 대상이 되는 얼굴 영상의 특징을 추출하고 인가하여, 인식대상이 되는 얼굴 영상이 학습된 얼굴 영상과 동일한지 여부를 판단함으로써, 얼굴을 인식하는 방법 및 장치에 관한 것으로, 특히 얼굴의 특징 패턴을 나타내는 소정수의 고유 팩셀(Paxel)들을 이용하는 것과 신경망을 병렬로 구성하는 것을 개시한다.
미국 등록특허공보 US 7,873,189 B2 “FACE RECOGNITION BY DIVIDING AN IMAGE AND EVALUATING A SIMILARITY VECTOR WITH A SUPPORT VECTOR MACHINE”는 얼굴을 인식하여 사용자를 등록하고 인증하기 위한 얼굴 인식 방법 및 그 장치에 관한 것으로서, 정규화된 얼굴 영상을 수평 방향과 수직 방향으로 3등분 하고, 나누어진 6개의 영상에 각각 PCA(Principal Component Analysis)를 적용하여 데이터의 차원을 줄인 후 LDA(Linear Discriminant Analysis)를 적용해 특징 벡터를 추출한 다음, 기 등록된 특징 벡터와 비교하여 얻어진 6개의 유사도 값을 하나의 벡터로 만들어 미리 학습된 SVM(Support Vector Machine)을 통해 본인 여부를 판단하는 얼굴 인식 방법 및 그 장치를 개시한다.
본 발명의 목적은, 기존의 딥러닝 구조에서 요구되는 연산처리 과정과 데이터 량을 감소 시켜 메모리 및 연산처리 시간을 최소화 할 수 있는 방법을 제공하는 것이다.
본 발명의 다른 목적은, 학습시간은 줄이면서 인공신경망에서 학습한 결과와 비슷한 성능을 보이는 이미지 처리 방법을 제공하는 것이다.
본 발명의 또다른 목적은, 처리할 데이터량 감소, 상대적으로 적은 메모리 사용, 그리고 과적합(overfitting)에 강한 이미지 처리 장치를 제공하는 것이다.
본 발명의 목적은 이상에서 언급된 목적으로 제한되지 않으며, 언급되지 않은 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 이루기 위한 하나의 양태에 따르면, 본 발명은 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법에 있어서, (a) 필터 사이의 유사율이 기준값 이하가 되도록 설정하여 분별력이 있는 랜덤 필터 세트를 결정하는 단계; (b) 상기 랜덤 필터 세트를 이용하여 컨볼루션 층을 구성하는 단계; (c) 상기 컨볼루션 층을 통과한 특징벡터의 차원을 데이터 클래스 수 이하로 축소시키는 단계; 및 (d) 상기 차원이 축소된 특징벡터를 분류기를 이용하여 기계학습을 진행하는 단계;를 포함한다.
상기 (a) 단계는, (a-1) 임의의 랜덤 필터를 생성하여 기준 필터 세트에 포함시키는 단계; (a-2) 상기 기준 필터 세트 중에서 하나를 선택하여 기준 필터로 설정하는 단계; (a-3) 임의의 랜덤 필터를 추가로 생성하여 테스트 필터로 설정하는 단계; (a-4) 상호 상관 함수를 이용하여 상기 기준 필터와 상기 테스트 필터 사이의 유사율을 구하는 단계; (a-5) 상기 (a-4) 단계에서 구한 유사율이 기준값을 초과하면 상기 (a-3) 단계로 돌아가 반복하고, 상기 유사율이 기준값 이하이면, 상기 기준 필터 세트에 테스트 필터와 유사율을 계산하지 않은 잔여 필터가 있는지 확인하는 단계; (a-6) 상기 (a-5) 단계에서 잔여 필터가 있는 경우 상기 잔여 필터중 하나를 선택하여 기준 필터로 설정하고 상기 (a-4) 단계로 돌아가서 반복하고, 잔여 필터가 없는 경우 테스트 필터를 상기 기준 필터 세트에 포함시키고 기준 필터 세트의 필터 개수를 확인하는 단계; 및 (a-7) 상기 (a-6) 단계에서 필터 개수가 미리 설정된 기준 필터 개수보다 작으면 상기 (a-2) 단계로 돌아가고, 상기 필터 개수가 기준 필터 개수 이상인 경우 기준 필터 세트를 상기 랜덤 필터 세트로 반환하는 단계;를 포함할 수 있다.
상기 유사율은, 상기 기준 필터의 좌표 (x,y)의 계수를 A(x,y), 상기 테스트 필터의 좌표 (x,y)의 계수를 B(x,y)라 할 때, 다음의 상호 상관 함수 를 이용하여 구하되, α는 0에서 x축 방향 필터 크기 보다 1 작은 수까지, β는 0에서 y축 방향 필터 크기 보다 1 작은 수까지 각각 RAB(α,β)를 계산하여, 그중 가장 큰 RAB(α,β) 값을 상기 유사율로 결정할 수 있다.
상기 (c) 단계는, PCA (principal component analysis)에 의해서 이루어질 수 있다.
상기 분류기는, 상기 축소된 차원 수 만큼의 특징벡터를 입력받는 SVM (support vector machine)을 사용할 수 있다.
상기 목적을 이루기 위한 다른 양태에 따르면, 본 발명은 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법을 이용한 이미지 인식 방법에 있어서, (e) 필터 사이의 유사율이 기준값 이하가 되도록 설정하여 분별력이 있는 랜덤 필터 세트를 결정하는 단계; (f) 상기 랜덤 필터 세트를 이용하여 컨볼루션 층을 구성하는 단계; (g) 학습용 이미지를 상기 컨볼루션 층에 통과시켜 특징벡터를 얻는 단계; (h) 상기 특징벡터의 차원을 데이터 클래스 수 이하로 축소시키는 단계; 및 (i) 상기 차원이 축소된 특징벡터를 분류기에 투입하여 기계학습을 실시하는 단계;를 포함한다.
상기 (e) 단계는, (e-1) 임의의 랜덤 필터를 생성하여 기준 필터 세트에 포함시키는 단계; (e-2) 상기 기준 필터 세트 중에서 하나를 선택하여 기준 필터로 설정하는 단계; (e-3) 임의의 랜덤 필터를 추가로 생성하여 테스트 필터로 설정하는 단계; (e-4) 상호 상관 함수를 이용하여 상기 기준 필터와 상기 테스트 필터 사이의 유사율을 구하는 단계; (e-5) 상기 (e-4) 단계에서 구한 유사율이 기준값을 초과하면 상기 (e-3) 단계로 돌아가 반복하고, 상기 유사율이 기준값 이하이면, 상기 기준 필터 세트에 테스트 필터와 유사율을 계산하지 않은 잔여 필터가 있는지 확인하는 단계; (e-6) 상기 (e-5) 단계에서 잔여 필터가 있는 경우 상기 잔여 필터중 하나를 선택하여 기준 필터로 설정하고 상기 (e-4) 단계로 돌아가서 반복하고, 잔여 필터가 없는 경우 테스트 필터를 상기 기준 필터 세트에 포함시키고 기준 필터 세트의 필터 개수를 확인하는 단계; 및 (e-7) 상기 (e-6) 단계에서 필터 개수가 미리 설정된 기준 필터 개수보다 작으면 상기 (e-2) 단계로 돌아가고, 상기 필터 개수가 기준 필터 개수 이상인 경우 기준 필터 세트를 상기 랜덤 필터 세트로 반환하는 단계;를 포함할 수 있다.
상기 유사율은, 상기 기준 필터의 좌표 (x,y)의 계수를 A(x,y), 상기 테스트 필터의 좌표 (x,y)의 계수를 B(x,y)라 할 때, 다음의 상호 상관 함수 를 이용하여 구하되, α는 0에서 x축 방향 필터 크기 보다 1 작은 수까지, β는 0에서 y축 방향 필터 크기 보다 1 작은 수까지 각각 RAB(α,β)를 계산하여, 그중 가장 큰 RAB(α,β) 값을 상기 유사율로 결정할 수 있다.
상기 (h) 단계는, PCA (principal component analysis)에 의해서 이루어질 수 있다.
상기 분류기는, 상기 축소된 차원 수 만큼의 특징벡터를 입력받는 SVM (support vector machine)을 사용할 수 있다.
상기 목적을 이루기 위한 또 다른 양태에 따르면, 본 발명은 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법을 이용한 이미지 인식 장치에 있어서, 필터 사이의 유사율이 기준값 이하가 되도록 설정하여 분별력이 있는 랜덤 필터 세트를 결정하는 필터 모듈; 상기 랜덤 필터 세트를 이용하여 컨볼루션 층을 구성하는 컨볼루션 모듈; 테스트 이미지를 상기 컨볼루션 층에 통과시켜 얻어지는 특징벡터의 차원을 데이터 클래스 수 이하로 축소시키는 차원 축소 모듈; 및 분류기를 포함하고 상기 차원이 축소된 특징벡터에 대하여 기계학습을 수행하는 분류 모듈; 검사용 이미지를 획득하는 이미지 획득 모듈; 상기 검사용 이미지를 기계학습으로 학습한 결과에 의해 판정한 인식 결과를 출력하는 출력 모듈;을 포함한다.
상기 랜덤 필터 세트 내의 임의의 서로 다른 두개의 필터 A와 B 사이의 유사율은 기준값보다 낮도록 설정될 수 있다.
상기 유사율은, 상기 임의의 필터 A의 좌표 (x,y)의 계수를 A(x,y), 또 다른 임의의 필터 B의 좌표 (x,y)의 계수를 B(x,y)라 할 때, 다음의 상호 상관 함수 를 이용하여 구하되, α는 0에서 x축 방향 필터 크기 보다 1 작은 수까지, β는 0에서 y축 방향 필터 크기 보다 1 작은 수까지 각각 RAB(α,β)를 계산하여, 그중 가장 큰 RAB(α,β) 값을 상기 유사율로 결정할 수 있다.
상기 차원 축소 모듈은, PCA (principal component analysis) 모듈을 포함할 수 있다.
상기 분류 모듈은, 상기 축소된 차원 수 만큼의 특징벡터를 입력받는 SVM (support vector machine)을 포함할 수 있다.
본 발명에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법은 기존의 딥러닝 구조에서 요구되는 연산처리 과정과 데이터 량을 감소시켜 메모리 및 연산처리 시간을 최소화할 수 있다.
본 발명에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법은 분별력이 있는 랜덤 필터를 사용하여, 학습시간은 줄이면서 인공신경망에서 학습한 결과와 비슷한 성능을 보일 수 있다.
본 발명에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법은 PCA와 SVM을 적용할 수 있어서, 처리할 데이터량 감소, 상대적으로 적은 메모리 사용, 그리고 과적합(overfitting)에 강한 장점이 있다.
본 발명에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법은 PC에서도 딥러닝에 의한 이미지 처리가 가능하므로, 다양한 생체인식 보안 장비에 적용이 가능하다.
도 1은 일반적인 CNN 구조와 이미지의 처리 과정을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 CNN 구조와 이미지의 처리 과정을 개략적으로 나타낸 구성도이다.
도 3은 본 발명의 일 실시예에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법의 전체 순서도이다.
도 4는 본 발명의 일 실시예에 따른 상호 상관 함수를 구하는 과정을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 랜덤 필터 세트를 결정하는 방법을 나타낸 순서도이다.
도 6은 본 발명의 일 실시예에 사용되는 PCA의 동작을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 이미지 인식 과정을 나타내는 순서도이다.
도 8은 본 발명의 일 실시예에 따른 이미지 인식 장치에 대한 개략적인 구성도이다.
도 9는 본 발명의 일 실시예에 따른 이미지 인식 장치를 사용한 얼굴 인식 실험 결과 그래프다.
도 2는 본 발명의 일 실시예에 따른 CNN 구조와 이미지의 처리 과정을 개략적으로 나타낸 구성도이다.
도 3은 본 발명의 일 실시예에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법의 전체 순서도이다.
도 4는 본 발명의 일 실시예에 따른 상호 상관 함수를 구하는 과정을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 랜덤 필터 세트를 결정하는 방법을 나타낸 순서도이다.
도 6은 본 발명의 일 실시예에 사용되는 PCA의 동작을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 이미지 인식 과정을 나타내는 순서도이다.
도 8은 본 발명의 일 실시예에 따른 이미지 인식 장치에 대한 개략적인 구성도이다.
도 9는 본 발명의 일 실시예에 따른 이미지 인식 장치를 사용한 얼굴 인식 실험 결과 그래프다.
이하, 첨부한 도면들 및 후술되어 있는 내용을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 그러나, 본 발명은 여기서 설명되어지는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되어지는 것이다. 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 한편, 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급되지 않는 한 복수형도 포함된다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 도 2 내지 도 9를 참조하여, 본 발명의 일실시예에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법에 대하여 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 CNN 구조와 이미지의 처리 과정을 개략적으로 나타낸 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예는 분별력이 있는 랜덤 필터를 이용한 컨볼루션 층과 데이터 차원 축소 모듈(300), 그리고 분류 모듈(400)를 포함한다. 데이터 차원 축소 모듈(300)로는 PCA (principal component analysis) 구조를 사용할 수 있고, 분류 모듈(400)로는 SVM (support vector machine)을 사용할 수 있다.
도 3은 본 발명의 일 실시예에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법의 전체 순서도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법은, 우선 필터 사이의 유사율이 기준값 이하가 되도록 설정하여 분별력이 있는 랜덤 필터 세트를 결정한다(S100). 그리고, 분별력이 있는 랜덤 필터 세트를 이용하여 컨볼루션 층을 구성한다(S200).
그 다음에, 컨볼루션 층을 통과한 특징벡터의 차원을 데이터 클래스 수 이하로 축소시킨다(S300). 그리고 차원이 축소된 특징벡터를 분류기를 이용하여 기계학습을 진행시킨다(S400).
도 1과 같은 기존의 CNN 알고리즘을 사용한 딥러닝 구조는 뒷단의 신경망 구조에서부터 앞단의 필터까지 역전파 알고리즘을 통하여 학습을 수행하므로 긴 학습시간을 요구한다. 도 1의 아래쪽 화살표(280)는 기계학습을 위해 역전파 알고리즘이 적용되는 구간을 나타낸다.
그러나 필터 사이의 유사율이 낮은 것만 선택하여 분별력이 있는 랜덤 필터를 생성했을 경우, 분별력이 있는 특징 데이터가 추출되어 역전파 알고리즘을 사용하여 학습된 결과에 근접한 인식률을 보일 수 있다.
따라서, 분별력이 있는 랜덤 필터 세트를 결정하여(S100) 컨볼루션 층을 구성한(S200) 경우, 필터연산을 하는 컨볼루션 과정의 필터 가중치 학습과정이 없이, 뒷단의 인공신경망 구조에서만 학습을 수행하여도 된다.
즉, 도 2의 아래쪽 화살표(281) 구간만 기계학습을 위해 필요하다. 따라서, 그 앞의 과정(290)만큼은 기계학습에서 제외되므로 학습 시간을 크게 단축할 수 있다.
또한, PCA 등을 이용한 데이터 축소 과정(S300)에서는 메모리량과 연산처리량을 감소시킬 수 있다. 또한 SVM 등의 분류기를 이용하여 기계학습을 하므로(S400), 메모리량과 연산처리량의 감소 효과를 극대화 시킬 수 있다.
필터 사이의 유사율이 낮은 분별력이 있는 랜덤 필터 세트를 결정하기 위하여, 상호 상관 함수를 이용한다.
정보통신분야에서는 2개의 1차원 신호 A(t)와 B(t)의 유사성을 확인할 때 와 같은 상호상관 함수를 이용한다. 상호 상관 함수는 두 신호를 시간축으로 τ만큼 차이를 두었을 때의 두 신호를 곱하고 적분하여 구한다. 이 식의 결과값은 두 신호의 유사도와 비례한다.
2차원 데이터인 랜덤 필터의 분별력을 확인하기 위해, 상호 상관 함수의 수식을 다음과 같이 수정한다.
여기에서, A(x,y)는 필터 A의 좌표 (x,y)의 계수이고, B(x,y)는 필터 B의 좌표 (x,y)의 계수이다.
수정한 상호 상관 함수는 이산 데이터인 필터의 연산을 위해, x축과 y축으로 각각 α, β 만큼 차이를 두어 두 필터의 계수를 곱하고 절대값을 취한 뒤 합한다. 절대값을 취하는 이유는 필터의 계수가 음수값을 가지는 것이 가능하기 때문이다.
즉, A필터의 x=α, y=β 지점과 B필터의 원점을 겹쳐 중복되는 범위를 각각 곱하여 더하는 컨볼루션 연산을 수행하면, 상호 상관 함수 RAB(α,β)를 구할 수 있다. 그리고 이 연산 결과는 (α, β)만큼 이동시켰을 때의 2개의 필터의 유사율을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 상호 상관 함수를 구하는 과정을 나타내는 도면이다.
α는 0에서 마지막 좌표까지, 즉 x축 방향 필터 크기 보다 1 작은 수까지 변화시킬 수 있다. β는 0에서 마지막 좌표까지, 즉 y축 방향 필터 크기 보다 1 작은 수까지 변화시킬 수 있다.
도 4(a)는 α=0, β=0인 경우이고, 도 4(b)는 α=5-1=4, β=0인 경우이고, 도 4(c)는 α=2, β=1인 경우이고, 도 4(d)는 α=0, β=5-1=4인 경우이고, 도 4(e)는 α=5-1=4, β=5-1=4인 경우이다.
랜덤 필터의 분별력을 극대화 하기 위하여, 두 필터의 유사율은 모든 α값, β값에 대하여 낮게 나오는 것을 선택하는 것이 바람직하다. 따라서, 모든 α값, β값에 대하여 각각 RAB(α,β)를 계산하여, 그중 가장 큰 RAB(α,β) 값을 유사율로 결정한다.
도 5는 본 발명의 일 실시예에 따른 랜덤 필터 세트를 결정하는 방법을 나타낸 순서도이다.
우선, 임의의 랜덤 필터를 생성하여 기준 필터 세트에 포함시킨다(S110). 그리고, 기준 필터 세트 중에서 하나를 선택하여 기준 필터로 설정한다(S120).
임의의 랜덤 필터를 추가로 생성하여 테스트 필터로 설정한다(S130). 상호 상관 함수를 이용하여 기준 필터와 테스트 필터 사이의 유사율을 계산하여 구한다(S140).
기준 필터와 테스트 필터간의 유사율을 기준값과 비교한다(S150).
유사율의 기준값은 10%로 설정하는 것이 바람직하다. 즉, 두 필터간의 유사율이 10% 이하의 필터만으로 랜덤 필터 세트를 결정하면, 랜덤 필터들 간의 분별력이 충분히 있어서, 이러한 필터들로 컨볼루션 층을 구성하면, 기계학습시 이를 바꾸지 않아도 되므로 기계학습 시간을 줄일 수 있다.
기준 필터와 테스트 필터간의 유사율이 기준값을 초과하면, 두 필터 간의 분별력이 없다고 판단하여, 다시 임의의 랜덤 필터를 추가로 생성하여 테스트 필터로 설정하는(S130) 단계로 돌아가서 반복한다.
기준 필터와 테스트 필터간의 유사율이 기준값 이하이면, 기준 필터 세트에 테스트 필터와 유사율을 계산하지 않은 잔여 필터가 있는지 확인한다(S160).
잔여 필터가 있는 경우, 잔여 필터중 하나를 선택하여 기준 필터로 설정하고, 다시 상호 상관 함수를 이용하여 기준 필터와 테스트 필터 사이의 유사율을 계산하여 구하는(S140) 단계로 돌아가서 반복한다.
잔여 필터가 없는 경우, 테스트 필터는 기준 필터 세트에 있는 모든 필터와 유사율이 낮아 분별력이 있으므로, 이 테스트 필터도 기준 필터 세트에 포함시킨다(S180).
기준 필터 세트의 필터 개수를 확인하여(S190), 미리 설정된 랜덤 필터 개수 미만이면, 기준 필터 세트 중에서 하나를 선택하여 기준 필터로 설정하는(S120) 단계부터 다시 반복한다.
기준 필터 세트의 필터 개수를 확인하여(S190), 미리 설정된 랜덤 필터 개수 이상이면 더 이상 랜덤 필터를 생성할 필요가 없으므로 이미 구해진 기준 필터 세트를 랜덤 필터 세트로 반환하고 종료한다.
이렇게 구성한 필터 세트를 컨볼루션 층에 적용하여 학습할 때에는, 전체 구조를 학습하지 않고 뒷단의 신경망 또는 분류기 구조만 학습할 수 있다. 따라서 학습 연산량과 학습시간을 크게 감소시키게 된다.
기계학습에서 데이터가 고차원의 데이터인 경우 오히려 인식률이 떨어지는 차원의 저주 현상이 일어나기 때문에 데이터의 차원 축소를 통한 데이터 축소가 필요하게 된다. 그러나 기존의 CNN의 경우에는 컨볼루션 층 연산 후 데이터가 학습에 사용되기 때문에 데이터의 변경이 불가능 하여 차원 축소 과정을 수행하지 않는다.
하지만, 랜덤 필터를 사용하여 필터의 학습이 불필요한 경우에는 데이터 축소 알고리즘을 사용할 수 있다. 따라서 추출되는 특징 벡터의 차원을 PCA(Principal Component Analysis)를 통해 최소 1차원에서 최대 학습하는 클래스 수와 같은 차원으로 축소가 가능하다. 컨볼루션층을 통해 추출된 특징벡터를 신경망 구조에 입력하기 전에 PCA를 적용하여 신경망에 필요한 노드 수를 줄이고 이에 따라 연산량과 데이터를 줄이는 효과가 있다.
도 6은 본 발명의 일 실시예에 사용되는 PCA의 동작을 나타내는 도면이다.
PCA는 기존의 얼굴인식 및 분류에서 고차원의 데이터를 사용할 경우 데이터간의 분산을 최대로 하는 주성분으로 분석하여 차원을 축소하는 기법이며, 많은 데이터와 클래스를 학습 및 분류하는 딥러닝에 있어서 합리적인 차원축소 기법이다. 컨볼루션 층을 통해 추출된 특징벡터를 신경망 구조에 입력하기 전에 PCA를 적용하여 신경망에 필요한 노드 수를 줄이고 이에 따라 연산량과 데이터를 줄이는 효과를 도출한다. PCA는 축소시킬 차원의 수를 데이터의 클래스 수 이하로만 설정할 수 있다는 단점이 있다. 하지만 많은 데이터와 클래스를 학습 및 분류하는 딥러닝에 있어서 좋은 차원축소 알고리즘이 될 수 있다.
기존의 CNN의 경우에 전체 구조의 마지막 출력층으로 부터 에러값을 역전파하여 필터값을 수정하는 역전파 알고리즘을 사용하기 때문에, 분류기로 인공신경망을 주로 사용하였다.
그러나, 랜덤 필터를 사용하여 필터의 학습이 불필요한 경우에는, 역전파 알고리즘을 사용하는 인공신경망을 사용할 필요가 없으므로, 타 분류기 알고리즘을 사용할 수 있다.
즉, 본 발명의 일 실시예에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법은, 분별력이 있는 랜덤 필터를 사용하여 컨볼루션 층 필터의 가중치 값을 수정하는 과정이 불필요하므로, 신경망 뿐만 아니라 다른 분류기의 사용이 가능하다.
따라서, 인공신경망과 비교하여 상대적으로 적은 메모리를 사용하고 과적합(overfitting)에 덜 취약하다는 장점이 있는 SVM (Support Vector Machine)을 분류기로 사용할 수 있다.
SVM은 지도 학습 모델의 기계 학습 중 하나로 데이터의 집합 간의 경계를 설정하여 새로 유입되는 데이터를 경계에 따라 클래스를 분류한다.
SVM의 클래스 분류 방법은 다음과 같다. 먼저, 서로 다른 클래스 데이터들 중 가장 인접한 데이터를 확인한다. 그리고, 인접한 데이터 사이의 중앙에 경계선을 생성한다. 다음으로, 경계선을 기준으로 클래스 영역 설정한다. 새로운 데이터가 유입되면, 영역 위치에 따라 클래스 분류한다.
높은 분류 성능을 위해서, 비선형 SVM을 사용할 수 있다. 본 발명의 일 실시예에서는, SVM은 앞의 컨볼루션 층을 통해 추출된 특징벡터간의 클래스에 따라 클래스 영역을 나누고, 이후 입력된 데이터의 좌표에 따라 해당 영역을 판별하여 클래스를 분류한다.
한편, SVM은 클래스를 분류하는 것이므로, 클래스 개수 만큼의 특징벡터 영역을 구분한다. PCA를 사용하여 차원을 축소한 경우, 축소된 차원 수 만큼의 특징벡터를 입력받아 SVM을 사용하여 기계학습을 진행할 수 있다.
이상에서, 본 발명의 일 실시예에 따른 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법은 분별력이 있는 랜덤 필터를 이용한 컨볼루션 층 구성 과정, PCA를 이용한 데이터 축소 과정, SVM을 사용한 CNN 구조 생성 등의 3과정을 포함한다.
분별력이 있는 랜덤 필터를 이용한 컨볼루션 층 구성 과정에서는 학습과정이 필요치 않아서 전체적인 딥러닝의 학습시간을 단축시킬 수 있다. PCA를 이용한 데이터 축소 과정에서는 메모리량과 연산처리량을 감소시킬 수 있다. SVM을 사용한 기계학습 과정에서는 필요로 하는 메모리량과 연산 처리량의 감소 효과를 극대화 시킬 수 있다.
도 7은 본 발명의 일 실시예에 따른 이미지 인식 과정을 나타내는 순서도이다.
우선, 상호 상관 함수를 이용하여 분별력이 있는 랜덤 필터 세트를 결정하고(S100), 랜덤 필터 세트를 이용하여 컨볼루션 층을 구성한다(S200).
그리고, 학습용 이미지를 컨볼루션 층에 통과시켜 특징벡터를 얻고(S250), 얻어진 특징벡터의 차원을 데이터 클래스 수 이하로 축소시킨다(S350). 그 후, 차원이 축소된 특징벡터를 분류기에 투입하여 기계학습을 실시한다(S450).
다음으로, 검사하려는 이미지를 획득한다(S500).
그리고, 검사용 이미지를 컨볼루션 층에 통과시켜 특징벡터를 얻고(S550), 얻어진 특징벡터의 차원을 데이터 클래스 수 이하로 축소시킨다(S650). 그 후, 차원이 축소된 특징벡터를 분류기에 투입하여 검사용 이미지를 분류하여 인식한다(S750). 검사용 이미지를 인식한 결과를 출력한다(S800).
상호 상관 함수를 이용하여 분별력이 있는 랜덤 필터 세트를 결정하는 방법은 앞에서 설명한 것과 동일하다.
차원 축소 구조도 앞과 같이 PCA를 이용할 수 있고, 분류기도 축소된 차원 수만큼의 SVM을 이용할 수 있다.
도 8은 본 발명의 일 실시예에 따른 이미지 인식 장치에 대한 개략적인 구성도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 이미지 인식 장치는, 필터 모듈(100), 컨볼루션 모듈(200), 차원 축소 모듈(300), 분류 모듈(400)을 포함한다.
필터 모듈(100)은 상호 상관 함수를 이용하여 분별력이 있는 랜덤 필터 세트를 결정한다. 컨볼루션 모듈(200)은 분별력이 있는 랜덤 필터 세트를 이용하여 컨볼루션 층을 구성한다.
차원 축소 모듈(300)은 테스트 이미지를 컨볼루션 층에 통과시켜 얻어지는 특징벡터의 차원을 데이터 클래스 수 이하로 축소시킨다.
분류 모듈(400)은, 분류기를 포함하고 차원이 축소된 특징벡터에 대하여 기계학습을 수행한다.
그 밖에, 검사용 이미지를 획득하는 이미지 획득 모듈(500), 검사용 이미지를 기계학습으로 학습한 결과에 의해 판정한 인식 결과를 출력하는 출력 모듈(800), 그리고 이들을 제어하는 제어 모듈(900)을 포함할 수 있다.
필터 모듈(100)의 랜덤 필터 세트 내의 임의의 서로 다른 두개의 필터 A와 B 사이의 유사율은 기준값보다 낮은 것을 특징으로 한다. 기준값은 10%로 설정할 수 있다.
유사율은, 상기 임의의 필터 A의 좌표 (x,y)의 계수를 A(x,y), 또 다른 임의의 필터 B의 좌표 (x,y)의 계수를 B(x,y)라 할 때, 다음의 상호 상관 함수 를 이용하여 구할 수 있다.
α는 0에서 x축 방향 필터 크기 보다 1 작은 수까지, β는 0에서 y축 방향 필터 크기 보다 1 작은 수까지 각각 RAB(α,β)를 계산하여, 그중 가장 큰 RAB(α,β) 값을 유사율로 결정할 수 있다.
차원 축소 모듈(300)은, PCA (principal component analysis) 모듈을 포함할 수 있다.
분류 모듈(400)은, 축소된 차원 수 이상의 SVM (support vector machine)을 포함할 수 있다.
이하, 실시예를 통하여 본 발명을 더욱 상세하게 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것으로, 본 발명의 범위가 이들 실시예에 의해 제한되는 것으로 해석되지는 않는다.
실시예
1
본 실험에 사용한 장비는 Intel(R) Core(TM) i5-3470 CPU 프로세서, RAM 8GB, NVIDIA GeForce GT 620 GPU 프로세서 등으로 구성되어 있다. 실험에 사용한 운영체제는 Windows7 Ultimate 64bit이고, 개발도구는 Visual Studio 2013으로, 사용된 라이브러리는 OpenCV3.2+CUDA이다. 실험에 사용된 얼굴 데이터베이스는 Extended Yale B 데이터베이스를 사용하였다. Extended Yale B 데이터베이스는 예일 대학교에서 얼굴인식을 위해 수집한 얼굴 데이터베이스로써, 기존 얼굴인식 알고리즘의 인식률 확인에 다수 활용되었다. 조명의 상태에 따른 서브 데이터가 있으며 총 38명의 클래스로 구성되어 있다. 실험에 사용한 데이터는 총 3개의 서브 데이터이며, 서브1 데이터는 학습 데이터로, 서브2 데이터와 서브3 데이터는 검증 데이터로 사용한다.
실험은 데이터베이스의 학습에 걸리는 시간 및 수행 프로그램의 메모리 점유율 및 인식률을 확인하였다.
인식률은 인식 성공한 이미지의 수를 통해 도출하였다. 메모리 점유율은 Windows 작업 관리자를 통하여 점유되는 메모리 크기를 측정하였다. 작업관리자를 통한 메모리 점유율을 확인하였다. 또한 학습 시간 및 연산 시간은 실험에 사용된 프로그램 내의 라이브러리를 통해 도출하였다.
표 1은 본 발명의 일 실시예에 따른 이미지 인식 장치를 사용한 얼굴 인식 실험 결과 이다. Existing CNN으로 표시한 것은 기존의 CNN 장치에서 얻은 값이고, Proposed CNN으로 표시한 것은 본 발명의 일 실시예에 따른 결과값이다.
method | Data | Recognition Rate (%) | Memory (kb) | Learning Time (s) |
Existing CNN | sub2 | 100 | 1,206,736 | 13,456 |
sub3 | 98.97 | 1,206,736 | 14,021 | |
Proposed CNN | sub2 | 99.78 | 942,552 | 1,856 |
sub3 | 98.02 | 942,552 | 1,942 |
도 9는 본 발명의 일 실시예에 따른 이미지 인식 장치를 사용한 얼굴 인식 실험 결과 그래프다.
인식률은 기존의 CNN 구조와 본 발명의 일 실시예에 따른 결과값을 비교하였을 때, 서브2 데이터의 경우 0.22%, 서브3 데이터의 경우 0.95%의 인식률 차이를 보였다. 이와 같은 결과는 서브 데이터에 따라 약 1% 내외의 인식률 차이를 보이는 것에 비해 기계학습을 하지 않은 결과임을 고려하였을 때 학습 후의 결과와 큰 차이가 없음을 보인다.
메모리에 있어서는 기존의 CNN 구조는 1,206,736kb, 본 발명의 일 실시예에서는 942,552kb를 사용하여 264,184kb의 메모리 사용 차이를 보였다.
학습시간은 서브2 데이터의 경우 11,600초, 서브3 데이터의 경우 12,079초로 기존 학습시간의 약 13%로 단축하였다.
이상에서 대표적인 실시 예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시 예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명된 실시 예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태에 의하여 정해져야 한다.
100 : 필터 모듈
200 : 컨볼루션 모듈
300 : 차원 축소 모듈
400 : 분류 모듈
500 : 이미지 획득 모듈
800 : 출력 모듈
900 : 제어 모듈
200 : 컨볼루션 모듈
300 : 차원 축소 모듈
400 : 분류 모듈
500 : 이미지 획득 모듈
800 : 출력 모듈
900 : 제어 모듈
Claims (15)
- (a) 필터 사이의 유사율이 기준값 이하가 되도록 설정하여 분별력이 있는 랜덤 필터 세트를 결정하는 단계;
(b) 상기 랜덤 필터 세트를 이용하여 컨볼루션 층을 구성하는 단계;
(c) 상기 컨볼루션 층을 통과한 특징벡터의 차원을 데이터 클래스 수 이하로 축소시키는 단계; 및
(d) 상기 차원이 축소된 특징벡터를 분류기를 이용하여 기계학습을 진행하는 단계;를 포함하며,
상기 (a) 단계는,
(a-1) 임의의 랜덤 필터를 생성하여 기준 필터 세트에 포함시키는 단계;
(a-2) 상기 기준 필터 세트 중에서 하나를 선택하여 기준 필터로 설정하는 단계;
(a-3) 임의의 랜덤 필터를 추가로 생성하여 테스트 필터로 설정하는 단계;
(a-4) 상호 상관 함수를 이용하여 상기 기준 필터와 상기 테스트 필터 사이의 유사율을 구하는 단계;
(a-5) 상기 유사율이 기준값 이하이면, 상기 기준 필터 세트에 테스트 필터와 유사율을 계산하지 않은 잔여 필터가 있는지 확인하는 단계;
(a-6) 상기 기준 필터 세트의 모든 필터와 테스트 필터의 유사율이 기준값 이하이어서 잔여 필터가 없는 경우, 상기 테스트 필터를 상기 기준 필터 세트에 포함시키는 단계; 및
(a-7) 상기 기준 필터 세트의 필터 개수가 미리 설정된 기준 필터 개수 이상인 경우 상기 기준 필터 세트를 상기 랜덤 필터 세트로 반환하는 단계;를 포함하는 것을 특징으로 하는 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법. - 삭제
- 제1항에 있어서,
상기 (c) 단계는, PCA (principal component analysis)에 의해서 이루어지는 것을 특징으로 하는 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법. - 제1항에 있어서,
상기 분류기는, 상기 축소된 차원 수 만큼의 특징벡터를 입력받는 SVM (support vector machine)을 사용하는 것을 특징으로 하는 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법. - (e) 필터 사이의 유사율이 기준값 이하가 되도록 설정하여 분별력이 있는 랜덤 필터 세트를 결정하는 단계;
(f) 상기 랜덤 필터 세트를 이용하여 컨볼루션 층을 구성하는 단계;
(g) 학습용 이미지를 상기 컨볼루션 층에 통과시켜 특징벡터를 얻는 단계;
(h) 상기 특징벡터의 차원을 데이터 클래스 수 이하로 축소시키는 단계; 및
(i) 상기 차원이 축소된 특징벡터를 분류기에 투입하여 기계학습을 실시하는 단계;를 포함하며,
상기 (e) 단계는,
(e-1) 임의의 랜덤 필터를 생성하여 기준 필터 세트에 포함시키는 단계;
(e-2) 상기 기준 필터 세트 중에서 하나를 선택하여 기준 필터로 설정하는 단계;
(e-3) 임의의 랜덤 필터를 추가로 생성하여 테스트 필터로 설정하는 단계;
(e-4) 상호 상관 함수를 이용하여 상기 기준 필터와 상기 테스트 필터 사이의 유사율을 구하는 단계;
(e-5) 상기 유사율이 기준값 이하이면, 상기 기준 필터 세트에 테스트 필터와 유사율을 계산하지 않은 잔여 필터가 있는지 확인하는 단계;
(e-6) 상기 기준 필터 세트의 모든 필터와 테스트 필터의 유사율이 기준값 이하이어서 잔여 필터가 없는 경우, 상기 테스트 필터를 상기 기준 필터 세트에 포함시키는 단계; 및
(e-7) 상기 기준 필터 세트의 필터 개수가 미리 설정된 기준 필터 개수 이상인 경우 상기 기준 필터 세트를 상기 랜덤 필터 세트로 반환하는 단계;를 포함하는 것을 특징으로 하는 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법을 이용한 이미지 인식 방법. - 삭제
- 제6항에 있어서,
상기 (h) 단계는, PCA (principal component analysis)에 의해서 이루어지는 것을 특징으로 하는 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법을 이용한 이미지 인식 방법. - 제6항에 있어서,
상기 분류기는, 상기 축소된 차원 수 만큼의 특징벡터를 입력받는 SVM (support vector machine)을 사용하는 것을 특징으로 하는 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법을 이용한 이미지 인식 방법. - 필터 사이의 유사율이 기준값 이하가 되도록 설정하여 분별력이 있는 랜덤 필터 세트를 결정하는 필터 모듈;
상기 랜덤 필터 세트를 이용하여 컨볼루션 층을 구성하는 컨볼루션 모듈;
테스트 이미지를 상기 컨볼루션 층에 통과시켜 얻어지는 특징벡터의 차원을 데이터 클래스 수 이하로 축소시키는 차원 축소 모듈; 및
분류기를 포함하고 상기 차원이 축소된 특징벡터에 대하여 기계학습을 수행하는 분류 모듈;
검사용 이미지를 획득하는 이미지 획득 모듈;
상기 검사용 이미지를 기계학습으로 학습한 결과에 의해 판정한 인식 결과를 출력하는 출력 모듈;을 포함하며,
상기 랜덤 필터 세트 내의 임의의 서로 다른 두개의 필터 A와 필터 B 사이의 유사율은,
상기 필터 A의 좌표 (x,y)의 계수를 A(x,y), 상기 필터 B의 좌표 (x,y)의 계수를 B(x,y)라 할 때, 다음의 상호 상관 함수 를 이용하여 구하되,
α는 0에서 x축 방향 필터 크기 보다 1 작은 수까지, β는 0에서 y축 방향 필터 크기 보다 1 작은 수까지 각각 RAB(α,β)를 계산하여, 그중 가장 큰 RAB(α,β) 값을 상기 유사율로 결정하는 것을 특징으로 하는 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법을 이용한 이미지 인식 장치. - 삭제
- 삭제
- 제11항에 있어서,
상기 차원 축소 모듈은, PCA (principal component analysis) 모듈을 포함하는 것을 특징으로 하는 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법을 이용한 이미지 인식 장치. - 제11항에 있어서,
상기 분류 모듈은, 상기 축소된 차원 수 만큼의 특징벡터를 입력받는 SVM (support vector machine)을 포함하는 것을 특징으로 하는 딥러닝을 PC에 적용하기 위한 메모리 최적화 방법을 이용한 이미지 인식 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170109034A KR101854258B1 (ko) | 2017-08-29 | 2017-08-29 | 딥러닝을 pc에 적용하기 위한 메모리 최적화 방법 |
PCT/KR2017/009558 WO2019045147A1 (ko) | 2017-08-29 | 2017-08-31 | 딥러닝을 pc에 적용하기 위한 메모리 최적화 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170109034A KR101854258B1 (ko) | 2017-08-29 | 2017-08-29 | 딥러닝을 pc에 적용하기 위한 메모리 최적화 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101854258B1 true KR101854258B1 (ko) | 2018-05-03 |
Family
ID=62244774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170109034A KR101854258B1 (ko) | 2017-08-29 | 2017-08-29 | 딥러닝을 pc에 적용하기 위한 메모리 최적화 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101854258B1 (ko) |
WO (1) | WO2019045147A1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200002770A (ko) * | 2019-12-31 | 2020-01-08 | 연세대학교 산학협력단 | 객체 인식을 위한 자가 학습 장치 및 방법 |
WO2020017875A1 (en) * | 2018-07-17 | 2020-01-23 | Samsung Electronics Co., Ltd. | Electronic apparatus, method for processing image and computer-readable recording medium |
WO2021091149A1 (ko) * | 2019-11-08 | 2021-05-14 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112836671B (zh) * | 2021-02-26 | 2024-03-08 | 西北工业大学 | 一种基于最大化比率和线性判别分析的数据降维方法 |
CN118356169B (zh) * | 2024-06-19 | 2024-08-27 | 济南宝林信息技术有限公司 | 一种医疗护理自动监测系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102276339B1 (ko) * | 2014-12-09 | 2021-07-12 | 삼성전자주식회사 | Cnn의 근사화를 위한 학습 장치 및 방법 |
US10460230B2 (en) * | 2015-06-04 | 2019-10-29 | Samsung Electronics Co., Ltd. | Reducing computations in a neural network |
-
2017
- 2017-08-29 KR KR1020170109034A patent/KR101854258B1/ko active IP Right Grant
- 2017-08-31 WO PCT/KR2017/009558 patent/WO2019045147A1/ko active Application Filing
Non-Patent Citations (5)
Title |
---|
Kevin Jarrett et al, "What is the Best Multi-Stage Architecture for Object Recognition", 2009 IEEE 12th International Conference on Computer Vision, Kyoto, Japan, pp. 2146-2153, 29 September 2009. |
Mengyue Geng et al, "CNUSVM: Hybrid CNN-Uneven SVM Model for Imbalanced Visual Learning", 2016 IEEE Second International Conference on BigMM, Taipei, Taiwan, pp. 186-193, 20-22 April 2016.* |
uresh Kirthi Kumaraswamy et al, "Bank of Weight Filters for Deep CNNs", The 8th Asian Conference on Machine Learning, Hamilton, New Zealand, pp. 334-349, 16-18 November 2016.* |
Xiao-Xiao Niu et al, "A novel hybrid CNN-SVM classifier for recognizing handwritten digits", Pattern Recognition, no. 45, pp. 1318-1325, April 2012. |
ZongYuan Ge et al, "Modelling local deep convolutional neural network features to improve fine-grained image classification", 2015 ICIP, Quebec City, Canada, pp. 4112-4116, 27-30 September 2015.* |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020017875A1 (en) * | 2018-07-17 | 2020-01-23 | Samsung Electronics Co., Ltd. | Electronic apparatus, method for processing image and computer-readable recording medium |
KR20200008845A (ko) * | 2018-07-17 | 2020-01-29 | 삼성전자주식회사 | 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체 |
EP3752978A4 (en) * | 2018-07-17 | 2021-05-26 | Samsung Electronics Co., Ltd. | ELECTRONIC DEVICE, METHOD FOR PROCESSING AN IMAGE AND COMPUTER-READABLE RECORDING MEDIUM |
US11347962B2 (en) | 2018-07-17 | 2022-05-31 | Samsung Electronics Co., Ltd. | Electronic apparatus, method for processing image and computer-readable recording medium |
KR102476239B1 (ko) * | 2018-07-17 | 2022-12-12 | 삼성전자주식회사 | 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체 |
WO2021091149A1 (ko) * | 2019-11-08 | 2021-05-14 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
KR20200002770A (ko) * | 2019-12-31 | 2020-01-08 | 연세대학교 산학협력단 | 객체 인식을 위한 자가 학습 장치 및 방법 |
KR102157007B1 (ko) | 2019-12-31 | 2020-09-16 | 연세대학교 산학협력단 | 객체 인식을 위한 자가 학습 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2019045147A1 (ko) | 2019-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101854258B1 (ko) | 딥러닝을 pc에 적용하기 위한 메모리 최적화 방법 | |
Tharwat | Linear vs. quadratic discriminant analysis classifier: a tutorial | |
EP1221127B1 (en) | Signature recognition system and method | |
CN109447099B (zh) | 一种基于pca降维的多分类器融合方法 | |
Raja et al. | Physiological trait-based biometrical authentication of human-face using LGXP and ANN techniques | |
US8744144B2 (en) | Feature point generation system, feature point generation method, and feature point generation program | |
CN106295694A (zh) | 一种迭代重约束组稀疏表示分类的人脸识别方法 | |
CN105989368A (zh) | 一种目标检测方法及装置以及移动终端 | |
Reza et al. | ICA and PCA integrated feature extraction for classification | |
CN107292225A (zh) | 一种人脸识别方法 | |
EP3674985A1 (en) | User verification method and apparatus using generalized user model | |
Ibragimovich et al. | Effective recognition of pollen grains based on parametric adaptation of the image identification model | |
CN109241813A (zh) | 用于非约束人脸识别的判别稀疏保持嵌入方法 | |
KR101016758B1 (ko) | 인물 식별 방법 및 그 시스템 | |
Kukharev et al. | Face recognition using two-dimensional CCA and PLS | |
CN110287973B (zh) | 一种基于低秩鲁棒线性鉴别分析的图像特征提取方法 | |
Laskar et al. | Artificial Neural Networks and Gene Expression Programing based age estimation using facial features | |
Yu et al. | Research on face recognition method based on deep learning | |
Goncharova et al. | Greedy algorithms of feature selection for multiclass image classification | |
CN108256569A (zh) | 一种复杂背景下的对象识别方法及使用的计算机技术 | |
CN112734016A (zh) | 用于钢筋表面的光滑程度检测的神经网络的训练方法 | |
Filisbino et al. | Multi-class nonlinear discriminant feature analysis | |
Konate et al. | A comparison of saliency methods for deep learning explainability | |
US20230186047A1 (en) | Evaluation method, evaluation device, and computer program | |
Nampalle et al. | Transcending Grids: Point Clouds and Surface Representations Powering Neurological Processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |