KR20220085279A - Method and apparatus for augmenting data - Google Patents
Method and apparatus for augmenting data Download PDFInfo
- Publication number
- KR20220085279A KR20220085279A KR1020200175215A KR20200175215A KR20220085279A KR 20220085279 A KR20220085279 A KR 20220085279A KR 1020200175215 A KR1020200175215 A KR 1020200175215A KR 20200175215 A KR20200175215 A KR 20200175215A KR 20220085279 A KR20220085279 A KR 20220085279A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- partial image
- data
- regions
- partial
- Prior art date
Links
Images
Classifications
-
- 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
- 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/047—Probabilistic or stochastic networks
-
- G06N3/0472—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 개시는 이미지 데이터를 증강하는 방법 및 이를 수행하는 전자 장치에 관한 것이다. 일 실시 예에 따른 이미지 데이터를 증강하는 방법은 증강 대상이 되는 이미지 데이터를 획득하는 단계; 상기 이미지 데이터에 대응되는 이미지의 이미지 영역을 소정의 부분 이미지 영역들로 분할하는 단계; 상기 분할된 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역들에 서로 다른 데이터 증강 기법을 적용하는 단계; 및 상기 서로 다른 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성하는 단계; 를 포함할 수 있다.The present disclosure relates to a method for augmenting image data and an electronic device for performing the same. A method of augmenting image data according to an embodiment includes: acquiring image data to be augmented; dividing an image region of an image corresponding to the image data into predetermined partial image regions; applying different data augmentation techniques to at least one of the divided partial image regions; and generating augmented image data from the partial image regions to which the different data augmentation techniques are applied. may include
Description
본 개시는 데이터를 증강하는 방법 및 장치에 관한 것이다. 보다 상세하게는 인공 신경망을 학습시키기 위한 데이터를 증강하는 방법 및 장치에 관한 것이다.The present disclosure relates to a method and apparatus for augmenting data. More particularly, it relates to a method and apparatus for augmenting data for training an artificial neural network.
인공 신경망(Artificial Neural Network)는 인공 뉴런들의 상호 연결된 집합들을 구현하기 위하여 컴퓨팅 기기 또는 컴퓨팅 기기에 의해서 수행되는 방법을 지칭할 수 있다. 인공 신경망의 일 실시 예로, 심층 신경망(Deep Neural Network) 또는 딥 러닝(Deep Learning)은 멀티 레이어 구조를 가질 수 있고, 레이어들 각각이 다수의 데이터에 따라 학습될 수 있다.An artificial neural network may refer to a computing device or a method performed by a computing device to implement interconnected sets of artificial neurons. As an example of the artificial neural network, a deep neural network or deep learning may have a multi-layer structure, and each of the layers may be learned according to a plurality of data.
최근 인공 신경망 기술의 개발이 활성화 됨에 따라, 적은량의 학습 데이터로도 인공 신경망 기술의 정확도를 향상시키기 데이터 증강 기술이 활발하게 연구되고 있다. 데이터 증강(Augmentation) 기술은 인공 신경망을 학습시키기 위한 학습 데이터의 한계를 극복하기 위한 기술로써, 기존의 데이터 증강 기법들은 단일 이미지에 단일 데이터 증강 효과만을 가지는 한계가 있다.Recently, as the development of artificial neural network technology is activated, data augmentation technology is being actively studied to improve the accuracy of artificial neural network technology even with a small amount of learning data. Data augmentation technology is a technology for overcoming the limitation of learning data for learning artificial neural networks, and existing data augmentation methods have a limitation in having only a single data augmentation effect on a single image.
또한, 종래의 두가지 이상의 이미지를 사용하는 데이터 증강 기법들은 해당 이미지가 사용되는 정도에 따라 이미지의 레이블 또한 기여도에 따른 비율만큼 새로운 레이블 데이터로 합성될 수 있다. 그러나 다른 데이터의 어떤 부분(물체, 배경)을 이용하느냐에 따라 새로운 레이블 데이터와 맞거나 맞지 않는 한계가 있다.In addition, the conventional data augmentation techniques using two or more images may be synthesized into new label data according to the degree of use of the corresponding image and the ratio according to the contribution of the label of the image. However, depending on which part of other data (object, background) is used, there is a limit that it may or may not fit with the new label data.
따라서, 다른 이미지 데이터를 사용할 때 발생할 수 있는 문제점을 해결할 수 있는 데이터 증강 기술 개발이 요구되고 있다.Accordingly, there is a demand for data augmentation technology that can solve problems that may occur when using other image data.
일 실시 예에 따르면, 데이터를 증강하는 방법 및 전자 장치가 제공될 수 있다.According to an embodiment, a method and an electronic device for augmenting data may be provided.
또한, 일 실시 예에 의하면, 합성곱 신경망의 지역적 편협 특성을 이용한 데이터 증강 방법 및 이를 수행하는 전자 장치가 제공될 수 있다.Also, according to an embodiment, a data augmentation method using the regional intolerance characteristic of a convolutional neural network and an electronic device performing the same may be provided.
상술한 기술적 과제를 달성하기 위한 본 개시의 일 실시 예에 따라, 이미지 데이터를 증강하는 방법은 증강 대상이 되는 이미지 데이터를 획득하는 단계; 상기 이미지 데이터에 대응되는 이미지의 이미지 영역을 소정의 부분 이미지 영역들로 분할하는 단계; 상기 분할된 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역들에 서로 다른 데이터 증강 기법을 적용하는 단계; 및 상기 서로 다른 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성하는 단계; 를 포함할 수 있다.According to an embodiment of the present disclosure for achieving the above-described technical problem, a method for augmenting image data includes: acquiring image data to be augmented; dividing an image region of an image corresponding to the image data into predetermined partial image regions; applying different data augmentation techniques to at least one of the divided partial image regions; and generating augmented image data from the partial image regions to which the different data augmentation techniques are applied. may include
또한, 상술한 기술적 과제를 해결하기 위한 본 개시의 또 다른 실시 예에 의하면, 이미지 데이터를 증강하는 전자 장치에 있어서, 네트워크 인터페이스; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서; 를 포함하고, 상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 증강 대상이 되는 이미지 데이터를 획득하고, 상기 이미지 데이터에 대응되는 이미지의 이미지 영역을 소정의 부분 이미지 영역들로 분할하고, 상기 분할된 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역들에 서로 다른 데이터 증강 기법을 적용하고, 상기 서로 다른 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성하는 전자 장치가 제공될 수 있다.In addition, according to another embodiment of the present disclosure for solving the above technical problem, an electronic device for augmenting image data, comprising: a network interface; a memory storing one or more instructions; and at least one processor executing the one or more instructions. including, wherein the at least one processor obtains image data to be augmented by executing the one or more instructions, divides an image area of an image corresponding to the image data into predetermined partial image areas, and An electronic device may be provided that applies different data augmentation techniques to at least one partial image regions among the divided partial image regions and generates augmented image data from the partial image regions to which the different data augmentation techniques are applied. .
또한, 상술한 기술적 과제를 해결하기 위한 본 개시의 또 다른 실시 예에 따라 이미지 데이터를 증강하는 방법에 있어서, 증강 대상이 되는 이미지 데이터를 획득하는 단계; 상기 이미지 데이터에 대응되는 이미지의 이미지 영역을 소정의 부분 이미지 영역들로 분할하는 단계; 상기 분할된 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역들에 서로 다른 데이터 증강 기법을 적용하는 단계; 및 상기 서로 다른 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성하는 단계; 를 포함하는, 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공될 수 있다.In addition, in a method for augmenting image data according to another embodiment of the present disclosure for solving the above-described technical problem, the method comprising: acquiring image data to be augmented; dividing an image region of an image corresponding to the image data into predetermined partial image regions; applying different data augmentation techniques to at least one of the divided partial image regions; and generating augmented image data from the partial image regions to which the different data augmentation techniques are applied. A computer-readable recording medium recording a program for executing the method on a computer, including a computer-readable recording medium, may be provided.
도 1은 일 실시 예에 따른 전자 장치가 데이터를 증강하고, 증강된 데이터에 기초하여 인공 신경망을 학습하는 과정을 개략적으로 나타내는 도면이다.
도 2는 일 실시 예에 따른 전자 장치가 데이터를 증강하는 방법의 흐름도이다.
도 3은 일 실시 예에 따른 전자 장치가 데이터를 증강하는 구체적인 방법의 흐름도이다.
도 4는 일 실시 예에 따라 전자 장치가 이미지 데이터를 증강하는 과정을 설명하기 위한 도면이다.
도 5는 일 실시 예에 따른 전자 장치가 데이터를 증강하는 구체적인 방법의 흐름도이다.
도 6은 일 실시 예에 따른 전자 장치가 데이터 증강 과정에서 로컬 이미지 패치를 추출하는 과정을 설명하기 위한 도면이다.
도 7은 서로 다른 방법으로 증강된 데이터에 기초하여 학습된 인공 신경망의 성능 차이를 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 전자 장치가 생성한 증강 데이터에 기초하여 학습된 인공 신경망의 성능을 설명하기 위한 도면이다.
도 9는 일 실시 예에 따른 전자 장치가 생성한 증강 데이터에 기초하여 학습된 인공 신경망의 성능을 설명하기 위한 도면이다.
도 10은 일 실시 예에 따른 전자 장치의 블록도이다.
도 11은 일 실시 예에 따른 서버의 블록도이다.1 is a diagram schematically illustrating a process in which an electronic device augments data and learns an artificial neural network based on the augmented data, according to an exemplary embodiment.
2 is a flowchart of a method for augmenting data by an electronic device according to an embodiment.
3 is a flowchart of a detailed method for augmenting data by an electronic device according to an embodiment.
4 is a diagram for describing a process in which an electronic device augments image data, according to an embodiment.
5 is a flowchart of a detailed method for augmenting data by an electronic device according to an embodiment.
6 is a diagram for describing a process in which an electronic device extracts a local image patch in a data augmentation process according to an embodiment.
7 is a diagram for explaining a performance difference of an artificial neural network learned based on data augmented by different methods.
8 is a diagram for explaining the performance of an artificial neural network learned based on augmented data generated by an electronic device according to an embodiment.
9 is a diagram for explaining the performance of an artificial neural network learned based on augmented data generated by an electronic device according to an exemplary embodiment.
10 is a block diagram of an electronic device according to an embodiment.
11 is a block diagram of a server according to an embodiment.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. Terms used in this specification will be briefly described, and the present disclosure will be described in detail.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present disclosure have been selected as currently widely used general terms as possible while considering the functions in the present disclosure, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the terms used in the present disclosure should be defined based on the meaning of the term and the contents of the present disclosure, rather than the simple name of the term.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.In the entire specification, when a part "includes" a certain element, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as "...unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software. .
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, the embodiments of the present disclosure will be described in detail so that those of ordinary skill in the art to which the present disclosure pertains can easily implement them. However, the present disclosure may be implemented in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
도 1은 일 실시 예에 따른 전자 장치가 데이터를 증강하고, 증강된 데이터에 기초하여 인공 신경망을 학습하는 과정을 개략적으로 나타내는 도면이다.1 is a diagram schematically illustrating a process in which an electronic device augments data and learns an artificial neural network based on the augmented data, according to an embodiment.
일 실시 예에 의하면, 전자 장치(1000)는 인공 신경망(Artificial Neural Network)(120)을 학습 시키기 위한 학습 데이터를 생성할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 생성된 학습 데이터를 이용하여 인공 신경망(120) 내 레이어들 및 레이어들의 연결 강도에 관한 가중치(weight)를 수정 및 갱신함으로써 인공 신경망을 학습시킬 수 있다.According to an embodiment, the
일 실시 예에 의하면, 전자 장치(1000)는 인공 신경망의 가중치를 처리하기 위한, AI 프로그램이 탑재되고 음성 인식 기능을 포함하는 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, 미디어 플레이어, 서버, 마이크로 서버, 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다.According to an embodiment, the
일 실시 예에 의하면, 전자 장치(1000)가 이용하는 인공 신경망(Artificial Neural Network)은 생물학적 신경망에 착안된 컴퓨팅 시스템을 지칭할 수 있다. 인공 신경망은 미리 정의된 조건에 따라 작업을 수행하는 고전적인 알고리즘과 달리, 다수의 샘플들을 고려함으로써 작업을 수행하는 것을 학습할 수 있다. 인공 신경망은 인공 뉴런(neuron)들이 연결된 구조를 가질 수 있고, 뉴런들 간의 연결은 시냅스(synapse)로 지칭될 수 있다. 뉴런은 수신된 신호를 처리할 수 있고, 처리된 신호를 시냅스를 통해서 다른 뉴런에 전송할 수 있다. 뉴런의 출력은 액티베이션(activation)으로 지칭될 수 있고, 뉴런 및/또는 시냅스는 변동될 수 있는 가중치(weight)를 가질 수 있고, 가중치에 따라 뉴런에 의해 처리된 신호의 영향력이 증가하거나 감소할 수 있다.According to an embodiment, an artificial neural network used by the
예를 들어, 인공 신경망은 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values, weights, 122)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공 신경망의 학습 결과에 의해 최적화될 수 있다. For example, the artificial neural network may be composed of a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values (weights, 122), and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weights. The plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial neural network.
예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 손실(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 수정 및 갱신될 수 있다. 본 개시에 따른 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다. 이하에서는 편의상 본 개시에 따른 인공 신경망은 합성곱 신경망인 경우를 예로 설명하기로 한다.For example, a plurality of weights may be modified and updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized. The artificial neural network according to the present disclosure may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), Restricted RBM (RBM). Boltzmann Machine), DBN (Deep Belief Network), BRDNN (Bidirectional Recurrent Deep Neural Network), or deep Q-Networks, but is not limited to the above-described example. Hereinafter, for convenience, a case in which the artificial neural network according to the present disclosure is a convolutional neural network will be described as an example.
일 실시 예에 의하면, 전자 장치(1000)는 인공 신경망(120)의 정확도를 향상시키기 위해, 증강된 학습 데이터를 생성할 수 있다. 예를 들어, 전자 장치(1000)는 이미지 데이터(102)를 획득하고, 획득된 이미지 데이터에 대한 증강 기법을 적용할 수 있다. 보다 상세하게는, 전자 장치(1000)는 이미지 데이터(102)에 대응되는 이미지(104)를 생성하고, 생성된 이미지의 이미지 영역들을 분할함으로써 소정의 부분 이미지 영역들(106)을 생성할 수 있다.According to an embodiment, the
또한, 일 실시 예에 의하면, 전자 장치(1000)는 소정의 부분 이미지 영역들(106)에 대해 서로 다른 데이터 증강 기법(108)을 적용함으로써, 소정의 부분 이미지 영역들(106)을 변환할 수 있다. 전자 장치(1000)는 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터(110)를 생성할 수 있다. 전자 장치(1000)는 증강 이미지 데이터를 학습 데이터로 하여 인공 신경망(120)을 학습시킬 수 있다.Also, according to an embodiment, the
일 실시 예에 의하면, 전자 장치(1000)는 서버(2000)와 연동함으로써 증강 이미지 데이터를 생성하고, 생성된 증강 이미지 데이터에 기초하여 인공 신경망(120)을 학습시킬 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 이미지 데이터를 획득하고, 획득된 이미지 데이터를 서버(2000)로 전송할 수 있다. 서버(2000)는 전자 장치(1000)가 수행하는 동작의 적어도 일부를 수행함으로써, 이미지 데이터를 증강시키고, 증강된 이미지 데이터를 전자 장치(1000)로 전송할 수 있다. According to an embodiment, the
또 다른 실시 예에 의하면, 서버(2000)는 증강된 이미지 데이터에 기초하여 인공 신경망을 스스로 학습시킬 수도 있다. 서버(2000)는 학습된 인공 신경망에 대한 정보들(예컨대 가중치)을 전자 장치(1000)로 전송하고, 전자 장치(1000)는 서버(2000)로부터 수신된 가중치를 인공 신경망에 적용함으로써 인공 신경망을 학습시킬 수도 있다.According to another embodiment, the
도 2는 일 실시 예에 따른 전자 장치가 데이터를 증강하는 방법의 흐름도이다.2 is a flowchart of a method for augmenting data by an electronic device according to an embodiment.
S210에서, 전자 장치(1000)는 증강 대상이 되는 이미지 데이터를 획득할 수 있다. 예를 들어, 전자 장치(1000)는 이미지 데이터에 대응되는 이미지를 획득할 수도 있다. 일 실시 예에 의하면, 전자 장치(1000)는 단일의 이미지를 획득하고, 획득된 단일의 이미지 내 픽셀 데이터를 식별할 수 있다. 전자 장치(1000)는 단일의 이미지 내 픽셀 데이터에 기초하여 이미지에 대한 데이터를 획득할 수도 있다.In S210 , the
S220에서, 전자 장치(1000)는 이미지 데이터에 대응되는 이미지의 이미지 영역을 소정의 부분 이미지 영역들로 분할할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 이미지 데이터에 대응되는 이미지를 생성하고, 생성된 이미지 상에 서로 교차하는 2개의 축을 기준으로 4분면을 정의할 수 있다. 전자 장치(1000)는 정의된 4분면 각각에 대응되는 제1 부분 이미지 영역, 제2 부분 이미지 영역, 제3 부분 이미지 영역 또는 제4 부분 이미지 영역을 생성할 수 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)는 이미지 영역을 서로 직교하는 두개의 축을 기준으로 나누어지는 사분면 각각에 대응되는 부분 이미지 영역들로 분할할 수도 있다.In S220 , the
또한, 일 실시 예에 의하면, 전자 장치(1000)는 이미지 영역을 임의의 4개의 부분 이미지 영역들로 분할할 수도 있다. 그러나 전자 장치(1000)가 이미지를 분할하는 방법은 상술한 바에 한정되는 것은 아니고, 전자 장치(1000)는 임의의 분할 방법에 따라 이미지 영역을 소정의 적어도 하나의 부분 이미지 영역들로 분할할 수 있다.Also, according to an embodiment, the
S230에서, 전자 장치(1000)는 분할된 부분 이미지 영역들 중, 적어도 하나의 부분 이미지 영역들에 서로 다른 데이터 증강 기법을 적용할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 분할된 부분 이미지 영역들 모두에 서로 다른 데이터 증강 기법을 적용할 수도 있다. 그러나 또 다른 실시 예에 의하면, 전자 장치(1000)는 분할된 부분 이미지 영역들 모두에 동일한 데이터 증강기법을 적용할 수도 있음은 물론이다. 또한, 일 실시 예에 의하면, 전자 장치(1000)는 데이터 증강기법이 적용된 후 모든 부분 이미지 영역들에 RGB Channel shuffling을 적용할 수도 있다. In S230 , the
S240에서, 전자 장치(1000)는 서로 다른 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 서로 다른 데이터 증강 기법이 적용된 부분 이미지 영역들을 합성함으로써 단일의 증강 이미지 데이터를 생성하고, 생성된 증강 이미지 데이터에 대응되는 증강 이미지를 생성할 수도 있다. 또 다른 실시 예에 따라, 전자 장치(1000)는 부분 이미지 영역들에 서로 다른 데이터 증강 기법이 적용된 후, 모든 부분 이미지 영역들에 RGB Channel shuffling을 적용이 되면, RGB Channel shuffling이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성할 수도 있다. 전자 장치(1000)는 생성된 증강 이미지를 전자 장치 내 출력부를 통하여 표시할 수도 있다.In S240 , the
본 개시에 따른 전자 장치(1000)는 상술한 바에 따라 이미지 데이터를 증강함으로써, 합성곱 신경망의 지역적 편협 특성을 이용할 수 있다. 일 실시 예에 의하면 합성곱 신경망의 지역적 편협 특성은 신경망이 이미지 안의 물체를 구분할 때 물체의 전체적인 구조에 의존하는 것이 아닌 물체의 결이나 부분적인 모양과 같은 부분적인 정보에 의존하는 특성을 의미할 수 있다. 본 개시에 따른 전자 장치가 수행하는 방법은 이러한 합성곱 신경망의 지역적 편협 특성을 데이터 증강 기법에 이용함으로써, 물체의 전체적인 구조가 파괴되는 대신 단일 이미지의 다양한 데이터 증강 기법을 통해 데이터 증강 효과를 극대화할 수 있다. 또한, 본 개시에 따른 방법은 데이터 증강 효과를 극대화함으로써, 증강 데이터에 기초하여 학습된 신경망 학습의 과적합 현상을 방지하고, 성능을 향상시킬 수 있다.The
도 3은 일 실시 예에 따른 전자 장치가 데이터를 증강하는 구체적인 방법의 흐름도이다.3 is a flowchart of a detailed method for augmenting data by an electronic device according to an embodiment.
S310에서, 전자 장치(1000)는 이미지 영역을 분할함으로써 생성된 소정의 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 각도로 회전시킬 수 있다. 예를 들어, 전자 장치(1000)는 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 90도, 180도 또는 270도 중 적어도 하나의 각도로 회전시킬 수 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)는 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 확률에 따라, 소정의 각도로 회전시킬 수도 있다.In S310 , the
S320에서, 전자 장치(1000)는 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 확률로 플립(fliiped)할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)가 부분 이미지 영역을 플립하는 동작은, 부분 이미지 영역을 상하 또는 좌우로 뒤집는 동작에 대응될 수 있다. 예를 들어, 전자 장치(1000)는 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 확률로 좌우 또는 상하 방향으로 뒤집을 수 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)는 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 확률로 플립시킬 수도 있다.In S320 , the
S330에서, 전자 장치(1000)는 부분 이미지 영역들 중, 회전되거나 뒤집히지 않은(예컨대 플립 되지않은) 나머지 부분 이미지 영역으로부터 로컬 이미지 패치를 추출하고, 추출된 로컬 이미지 패치를 재배치할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 부분 이미지 영역들 중, 회전되거나 플립되지 않은 나머지 부분 이미지 영역으로부터 로컬 이미지 패치들을 무작위로 추출하고, 추출된 로컬 이미지 패치들을 부분 이미지 영역들 중 회전되거나 뒤집히지 않은 부분 이미지 영역내에서 재배치할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)가 추출된 로컬 이미지 패치들을 재배치 하는 동작은 해당 부분 이미지 영역 내에서 로컬 이미지 패치들을 섞는 동작에 대응될 수 있다.In S330 , the
보다 상세하게는, 전자 장치(1000)는 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 로컬 이미지 패치들을 추출할 위치를 결정할 수 있다. 또한, 전자 장치(1000)는 증강된 이미지 데이터를 이용하여 학습된 인공 신경망의 하이퍼 파라미터(예컨대 베타 파라미터)에 기초하여, 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 추출될 상기 로컬 이미지 패치의 크기를 결정할 수 있다. 전자 장치(1000)는 결정된 위치 및 크기에 기초하여, 부분 이미지 영역들 중, 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 로컬 이미지 패치를 추출할 수 있다.In more detail, the
도 4는 일 실시 예에 따라 전자 장치가 이미지 데이터를 증강하는 과정을 설명하기 위한 도면이다.4 is a diagram for describing a process in which an electronic device augments image data, according to an embodiment.
S402에서, 전자 장치(1000)는 강아지 형상을 포함하는 이미지를 획득할 수 있다. S404에서, 전자 장치(1000)는 이미지의 이미지 영역을 소정의 부분 이미지 영역들로 분할할 수 있다. 예를 들어, 전자 장치(1000)는 이미지 영역을 소정의 부분 이미지 영역들로 분할함으로써 sub-region들을 생성할 수 있다.In S402, the
S406에서, 전자 장치(1000)는 소정의 부분 이미지 영역들 중 하나의 부분 이미지 영역(422)은 제1 방향으로 회전(rotation)시킬 수 있다. 또한, 전자 장치(1000)는 부분 이미지 영역들 중 하나의 부분 이미지 영역(424)은 소정의 제2 방향으로 플립시킬 수 있다. 또한, 전자 장치(1000)는 부분 이미지 영역들 중 부분 이미지 영역(428) 및 부분 이미지 영역(426)으로부터 로컬 이미지 패치들을 무작위로 추출하고, 추출된 로컬 이미지 패치들을 섞을 수 있다. In S406 , the
일 실시 예에 의하면, 전자 장치(1000)는 상술한 과정이 종료되면, 모든 부분 이미지 영역들(422, 424, 426, 428)에 RGB Channel shuffling을 적용할 수도 있다.According to an embodiment, when the above-described process is completed, the
S408에서, 전자 장치(1000)는 소정의 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성하고, 생성된 증강 이미지 데이터에 대응되는 증강 이미지를 생성할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 S406이후에, 모든 부분 이미지 영역들에 RGB Channel shuffling을 적용하고, RGB Channel shuffling이 적용된 모든 부분 이미지 영역들을 이용하여 증강 이미지 데이터를 생성할 수도 있다.In S408 , the
도 5는 일 실시 예에 따른 전자 장치가 데이터를 증강하는 구체적인 방법의 흐름도이다.5 is a flowchart of a detailed method for augmenting data by an electronic device according to an embodiment.
도 5를 참조하여 전자 장치(1000)가 회전, 플립 데이터 증강 기법이 적용된 나머지 부분 이미지 영역들로부터 로컬 이미지 패치를 추출하는 과정을 구체적으로 설명하기로 한다. S510에서, 전자 장치(1000)는 회전 되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 로컬 이미지 패치를 추출할 위치를 결정할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 무작위 방법으로, 회전 되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 로컬 이미지 패치를 추출할 위치를 결정할 수도 있다. 예를 들어, 전자 장치(1000)는 로컬 이미지 패치를 추출할 위치를 0 내지 B(예컨대 인공 신경망의 하이퍼파라미터) 범위에서 Uniform distribution으로 랜덤하게 결정될 수 있다.A process in which the
S520에서, 전자 장치(1000)는 증강된 이미지 데이터를 이용하여 학습될 인공 신경망의 하이퍼 파라미터에 기초하여 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 추출될 로컬 이미지 패치의 크기를 결정할 수 있다. 일 실시 예에 의하면, 로컬 이미지 패치의 가로 및 세로의 크기는 하이퍼 파라미터 B에 의해 결정될 수 있다. 일 실시 예에 의하면 로컬 이미지 패치의 가로 크기는 W(예컨대 부분 이미지 영역의 폭)/2 - B이고, 로컬 이미지 패치의 세로 크기는 H(예컨대 부분 이미지 영역의 높이)/2 ?? B로 결정될 수 있다. In S520 , the
S530에서, 전자 장치(1000)는 S510 내지 S520에서 결정된 위치 및 크기에 기초하여 부분 이미지 영역들 중 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 로컬 이미지 패치를 추출할 수 있다. S540에서, 전자 장치(1000)는 추출된 로컬 이미지 패치들을 재배치함으로써, 부분 이미지 영역들 내 소정의 데이터 증강 기법 적용을 완료할 수 있다.In S530 , the
도 6은 일 실시 예에 따른 전자 장치가 데이터 증강 과정에서 로컬 이미지 패치를 추출하는 과정을 설명하기 위한 도면이다.6 is a diagram for describing a process in which an electronic device extracts a local image patch in a data augmentation process according to an embodiment.
도 6을 참조하면, 전자 장치(1000)가 로컬 이미지 패치(602)를 추출하는 과정이 도시된다. 예를 들어, 부분 이미지 영역의 폭을 W, 부분 이미지 영역의 높이를 H로 가정하면, 전자 장치(1000)가 부분 이미지 영역으로부터 추출할 로컬 이미지 패치의 폭(614) 및 높이(612)는 각각 W(예컨대 부분 이미지 영역의 폭)/2 ?? B 와 H(예컨대 부분 이미지 영역의 높이)/2 ?? B로 결정될 수 있다. Referring to FIG. 6 , a process in which the
도 7은 서로 다른 방법으로 증강된 데이터에 기초하여 학습된 인공 신경망의 성능 차이를 설명하기 위한 도면이다.7 is a diagram for explaining a performance difference of an artificial neural network learned based on data augmented by different methods.
일 실시 예에 의하면, 전자 장치(1000)는 단일 이미지(702)를 획득하고, 획득된 단일 이미지(702)에 대하여 서로 다른 데이터 증강 기법을 적용함으로써 증강 데이터를 생성할 수 있다.According to an embodiment, the
예를 들어, 전자 장치(1000)는 단일 이미지(702)의 전체 이미지 영역을 회전시킴으로써 전역 회전 이미지(704)를 생성할 수 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)는 단일 이미지(702)의 이미지 영역을 소정의 부분 이미지 영역들(706)로 분할하고, 분할된 부분 이미지 영역들 각각에 대해 서로 다른 방식으로 회전시킴으로써 지역 회전 이미지(708)를 생성할 수 있다. 전자 장치(1000)가 생성한 전역 회전 이미지(704) 및 지역 회전 이미지(708)는 다른 방식으로 생성된 증강 데이터일 수 있다.For example, the
도 7을 참조하면, 지역 회전 이미지(708)와 같은 증강 데이터에 기초하여 학습된 인공 신경망의 정확도(712)와 전역 회전 이미지(704)와 같은 증강 데이터에 기초하여 학습된 인공 신경망의 정확도(714)가 도시된다. 도 7의 차트 (712)를 참조하면, 단일 이미지의 영역을 소정의 부분 이미지 영역들로 분할하고, 부분 이미지 영역들 각각을 회전시킴으로써 생성된 지역 회전 이미지(708)에 기초하여 학습된 인공 신경망의 정확도가 더 높은 것을 알 수 있다.Referring to FIG. 7 , the
도 8은 일 실시 예에 따른 전자 장치가 생성한 증강 데이터에 기초하여 학습된 인공 신경망의 성능을 설명하기 위한 도면이다.8 is a diagram for explaining the performance of an artificial neural network learned based on augmented data generated by an electronic device according to an embodiment.
도 8의 차트를 참조하면, 도 1 내지 6에 개시된, 전자 장치(1000)가 데이터를 증강하는 방법에 따라 생성된 증강 데이터에 기초하여 학습된 인공 신경망(802)의 Top1 Accuracy가 76,87로 가장 높은 것을 알 수 있다. 또한, 전자 장치(1000)가 생성된 증강 데이터에 기초하여 학습된 인공 신경망(802)의 Top5 Accuracy가 93.42로 타 신경망에 비해 두 번째로 높은 정확도를 나타냄을 알 수 있다.Referring to the chart of FIG. 8 , the Top1 Accuracy of the artificial
도 9는 일 실시 예에 따른 전자 장치가 생성한 증강 데이터에 기초하여 학습된 인공 신경망의 성능을 설명하기 위한 도면이다.9 is a diagram for explaining the performance of an artificial neural network learned based on augmented data generated by an electronic device according to an embodiment.
도 9의 차트를 참조하면, 전자 장치(1000)가 생성한 증강 데이터에 기초하여 학습된 인공 신경망(902)의 Top1 Accuracy가 제1 후보 네트워크 군들(예컨대 WideResNet에서부터 WideResNet+CutMix까지) 중 88.65로 제일 높음을 알 수 있다. Referring to the chart of FIG. 9 , the Top1 Accuracy of the artificial
또한, 도 9의 차트를 참조하면, 전자 장치(1000)가 생성한 증강 데이터에 기초하여 학습된 인공 신경망(904)의 Top1 Accuracy가 제2 후보 네트워크 군들(예컨대 ResNetXt에서부터 ResNetXt+CutMix까지) 중 86.33로 제일 높은 정확도를 나타냄을 관측할 수 있다.Also, referring to the chart of FIG. 9 , the Top1 Accuracy of the artificial
도 10은 일 실시 예에 따른 전자 장치의 블록도이다.10 is a block diagram of an electronic device according to an embodiment.
일 실시 예에 의하면, 전자 장치(1000)는 프로세서(1400), 네트워크 인터페이스(1500) 및 메모리(1700)를 포함할 수 있다. 그러나 또 다른 실시 예에 의하면, 데이터를 증강하는 전자 장치(1000)는 도시된 구성 요소보다 많은 구성 요소를 포함할 수도 있고, 더 적은 구성 요소를 포함할 수도 있다.According to an embodiment, the
프로세서(1400)는, 통상적으로 전자 장치(1000)의 전반적인 동작을 제어한다. The
일 실시 예에 의하면, 본 개시에 따른 프로세서(1400)는 메모리(1700)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 9에 기재된 전자 장치(1000)의 기능을 수행할 수 있다. 또한, 프로세서(1400)는 하나 또는 복수의 프로세서로 구성될 수 있고, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU와 같은 그래픽 전용 프로세서일 수 있다. 일 실시 예에 의하면, 프로세서(1400)가 범용 프로세서 및 그래픽 전용 프로세서를 포함하는 경우, 각각의 범용 프로세서 및 그래픽 전용 프로세서는 별도의 칩으로 구현될 수도 있다. According to an embodiment, the
일 실시 예에 의하면, 프로세서(1400)가 복수의 프로세서 또는 그래픽 전용 프로세서로 구현될 때, 복수의 프로세서 또는 그래픽 전용 프로세서 중 적어도 일부는 전자 장치(1000) 및 전자 장치(1000)와 연결된 다른 전자 장치 또는 서버에 탑재될 수도 있다. According to an embodiment, when the
예를 들어, 프로세서(1400)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 이미지 데이터를 증강하고, 증강된 이미지 데이터를 이용하여 인공 신경망을 학습시킬 수 있다.For example, the
일 실시 예에 의하면, 프로세서(1400)는 증강 대상이 되는 이미지 데이터를 획득하고, 상기 이미지 데이터에 대응되는 이미지의 이미지 영역을 소정의 부분 이미지 영역들로 분할하고, 상기 분할된 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역들에 서로 다른 데이터 증강 기법을 적용하고, 상기 서로 다른 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성할 수 있다. 또한, 일 실시 예에 의하면, 프로세서(1400)는 상기 생성된 증강 이미지 데이터로부터, 상기 증강 이미지 데이터에 대응되는 증강 이미지를 생성할 수 있다.According to an embodiment, the
일 실시 예에 의하면, 프로세서(1400)는 단일의 이미지를 획득하고, 상기 획득된 단일의 이미지 내 픽셀 데이터를 식별하고, 상기 단일의 이미지 내 식별된 픽셀 데이터를 상기 이미지 데이터로 획득할 수 있다. 일 실시 예에 의하면, 프로세서(1400)는 상기 이미지 영역을 4개의 부분 이미지 영역들로 분할 할 수 있다.According to an embodiment, the
일 실시 예에 의하면, 프로세서(1400)는 상기 이미지 영역을 서로 직교하는 두개의 축을 기준으로 나누어지는 사분면 각각에 대응되는 부분 이미지 영역들로 분할 할 수 있다. 일 실시 예에 의하면, 프로세서(1400)는 상기 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 각도로 회전시키고, 상기 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 확률로 뒤집고, 상기 부분 이미지 영역들 중, 상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 로컬 이미지 패치를 추출하고, 상기 추출된 로컬 이미지 패치를 재 배치할 수 있다.According to an embodiment, the
일 실시 예에 의하면, 프로세서(1400)는 상기 부분 이미지 영역들 중 하나의 부분 이미지 영역을, 90도, 180도 또는 270도 중 하나의 각도로 회전시키고, 상기 부분 이미지 영역들 중 하나의 부분 이미지 영역을 소정의 확률로 좌우 또는 상하 방향으로 뒤집고, 상기 부분 이미지 영역들 중 회전되거나 뒤집히지 않은 부분 이미지 영역으로부터 로컬 이미지 패치들을 무작위로 추출하고, 추출된 로컬 이미지 패치들을 상기 부분 이미지 영역들 중 회전되거나 뒤집히지 않은 부분 이미지 영역 내에서 재배치할 수 있다.According to an embodiment, the
일 실시 예에 의하면, 프로세서(1400)는 상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 상기 로컬 이미지 패치를 추출할 위치를 결정하고, 상기 증강된 이미지 데이터를 이용하여 학습될 인공 신경망의 하이퍼 파라미터에 기초하여, 상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 추출될 상기 로컬 이미지 패치의 크기를 결정하고, 상기 결정된 위치 및 크기에 기초하여 상기 부분 이미지 영역들 중, 상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 상기 로컬 이미지 패치를 추출하고, 상기 추출된 로컬 이미지 패치를 재 배치할 수 있다.According to an embodiment, the
네트워크 인터페이스(1500)는 전자 장치(1000)가 다른 장치(미도시) 및 서버(2000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 다른 장치(미도시)는 전자 장치(1000)와 같은 컴퓨팅 장치이거나, 센싱 장치일 수 있으나, 이에 제한되지 않는다. 예를 들어, 네트워크 인터페이스(1500)는 근거리 통신부, 이동 통신부를 포함할 수 있다. The
근거리 통신부(short-range wireless communication unit) 는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 이동 통신부는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 일 실시 예에 의하면, 네트워크 인터페이스(미도시)는 프로세서의 제어에 의하여, 서버로 인공 신경망 내 가중치 값들, 가중치들을 포함하는 인공 신경망의 손실 함수의 값, 손실 기울기 값, 증강 데이터 등을 전송할 수 있고, 서버로부터 수정된 가중치 값들, 손실 함수의 값, 기울기 값 및 증강 데이터 등을 수신할 수도 있다.Short-range wireless communication unit, Bluetooth communication unit, BLE (Bluetooth Low Energy) communication unit, Near Field Communication unit, WLAN (Wi-Fi) communication unit, Zigbee communication unit, infrared (IrDA, infrared) It may include a data association) communication unit, a Wi-Fi Direct (WFD) communication unit, an ultra wideband (UWB) communication unit, and the like, but is not limited thereto. The mobile communication unit transmits/receives a radio signal to and from at least one of a base station, an external terminal, and a server on a mobile communication network. According to an embodiment, the network interface (not shown) may transmit, under the control of the processor, weight values in the artificial neural network, the value of the loss function of the artificial neural network including the weights, the loss gradient value, augmented data, etc. , may receive the modified weight values, the value of the loss function, the gradient value and the augmentation data, etc. from the server.
메모리(1700)는, 프로세서(1400)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수도 있다. 또한, 메모리(1700)는 인공 신경망을 구성하는 레이어들, 레이어들에 포함된 노드들 및 레이어들의 연결 강도에 관한 가중치들에 대한 정보를 저장할 수 있다. 또한, 메모리(1700)는 증강 데이터들을 더 저장할 수도 있다. 또한, 메모리(1700)는 인공 신경망 내 가중치들이 수정 및 갱신될 경우, 수정 및 갱신된 가중치에 관한 정보를 더 저장할 수 있다. The memory 1700 may store a program for processing and control of the
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. The memory 1700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory), and a RAM. (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk , may include at least one type of storage medium among optical disks.
도 11은 일 실시 예에 따른 서버의 블록도이다.11 is a block diagram of a server according to an embodiment.
일 실시 예에 의하면, 서버(2000)는 프로세서(2400), 네트워크 인터페이스(2500) 및 데이터 베이스(2700)를 포함할 수 있다. 일 실시 예에 의하면 프로세서(2400)는 서버(2000)내 구성들의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(2400)는 데이터 베이스(2700)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 전자 장치(1000)로부터 증강 데이터를 획득하고, 획득된 증강 데이터에 기초하여 인공 신경망을 스스로 학습시킬 수도 있다. 프로세서(2400)는 직접 이미지 데이터를 획득하고, 획득된 이미지 데이터를 증강시킬 수도 있다. 프로세서(2400)는 네트워크 인터페이스(2500)를 제어함으로써, 증강 데이터 또는 학습된 인공 신경망의 정보들을 전자 장치(1000)로 전송하거나, 수신할 수 있다. According to an embodiment, the
서버(2000)내 데이터 베이스(2700)의 구성은 도 10의 전자 장치 내 메모리에 대응될 수 있다. 일 실시 예에 의하면 데이터 베이스(2700)는 이미지 데이터, 이미지 데이터를 증강함으로써 생성된 증강 이미지 데이터, 인공 신경망에 대한 정보들을 저장할 수 있다.The configuration of the database 2700 in the
일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. The method according to an embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present disclosure, or may be known and available to those skilled in the art of computer software.
또한, 상기 일 실시 예에 다른 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하는 컴퓨터 프로그램 장치가 제공될 수 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, according to the embodiment, a computer program apparatus including a recording medium storing a program for performing another method may be provided. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속한다.Although the embodiments of the present disclosure have been described in detail above, the scope of the present disclosure is not limited thereto, and various modifications and improved forms of the present disclosure are also provided by those skilled in the art using the basic concept of the present disclosure as defined in the following claims. belong to the scope of the right.
Claims (17)
증강 대상이 되는 이미지 데이터를 획득하는 단계;
상기 이미지 데이터에 대응되는 이미지의 이미지 영역을 소정의 부분 이미지 영역들로 분할하는 단계;
상기 분할된 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역들에 서로 다른 데이터 증강 기법을 적용하는 단계; 및
상기 서로 다른 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성하는 단계; 를 포함하는, 방법.A method for augmenting image data, comprising:
acquiring image data to be augmented;
dividing an image region of an image corresponding to the image data into predetermined partial image regions;
applying different data augmentation techniques to at least one of the divided partial image regions; and
generating augmented image data from the partial image regions to which the different data augmentation techniques are applied; A method comprising
상기 생성된 증강 이미지 데이터로부터, 상기 증강 이미지 데이터에 대응되는 증강 이미지를 생성하는 단계; 를 더 포함하는, 방법.The method of claim 1, wherein the method
generating an augmented image corresponding to the augmented image data from the generated augmented image data; A method further comprising:
단일의 이미지를 획득하는 단계;
상기 획득된 단일의 이미지 내 픽셀 데이터를 식별하는 단계; 및
상기 단일의 이미지 내 식별된 픽셀 데이터를 상기 이미지 데이터로 획득하는 단계; 를 포함하는, 방법.The method of claim 1, wherein the obtaining of the image data comprises:
acquiring a single image;
identifying pixel data in the single acquired image; and
acquiring identified pixel data in the single image as the image data; A method comprising
상기 이미지 영역을 4개의 부분 이미지 영역들로 분할하는 단계; 를 포함하는, 방법.The method of claim 1 , wherein the dividing into the predetermined partial image regions comprises:
dividing the image region into four partial image regions; A method comprising
상기 이미지 영역을 서로 직교하는 두개의 축을 기준으로 나누어지는 사분면 각각에 대응되는 부분 이미지 영역들로 분할하는 단계; 를 포함하는, 방법.The method of claim 1 , wherein the dividing into the predetermined partial image regions comprises:
dividing the image region into partial image regions corresponding to each of the quadrants divided based on two axes orthogonal to each other; A method comprising
상기 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 각도로 회전시키는 단계;
상기 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 확률로 뒤집는 단계; 및
상기 부분 이미지 영역들 중, 상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 로컬 이미지 패치를 추출하고, 상기 추출된 로컬 이미지 패치를 재 배치 하는 단계; 를 포함하는, 방법.The method of claim 1, wherein the applying the different data augmentation techniques comprises:
rotating at least one partial image area among the partial image areas by a predetermined angle;
inverting at least one partial image region among the partial image regions with a predetermined probability; and
extracting a local image patch from the remaining partial image areas that are not rotated or flipped among the partial image areas, and rearranging the extracted local image patches; A method comprising
상기 부분 이미지 영역들 중 하나의 부분 이미지 영역을, 90도, 180도 또는 270도 중 하나의 각도로 회전시키는 단계;
상기 부분 이미지 영역들 중 하나의 부분 이미지 영역을 소정의 확률로 좌우 또는 상하 방향으로 뒤집는 단계; 및
상기 부분 이미지 영역들 중 회전되거나 뒤집히지 않은 부분 이미지 영역으로부터 로컬 이미지 패치들을 무작위로 추출하고, 추출된 로컬 이미지 패치들을 상기 부분 이미지 영역들 중 회전되거나 뒤집히지 않은 부분 이미지 영역 내에서 재배치하는 단계; 를 포함하는, 방법.5. The method of claim 4, wherein the applying the different data augmentation techniques comprises:
rotating one of the partial image regions by an angle of one of 90 degrees, 180 degrees or 270 degrees;
flipping one partial image area among the partial image areas in the left and right or up and down directions with a predetermined probability; and
randomly extracting local image patches from the rotated or non-flipped partial image regions among the partial image regions, and rearranging the extracted local image patches within the rotated or non-flipped partial image regions among the partial image regions; A method comprising
상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 상기 로컬 이미지 패치를 추출할 위치를 결정하는 단계;
상기 증강된 이미지 데이터를 이용하여 학습될 인공 신경망의 하이퍼 파라미터에 기초하여, 상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 추출될 상기 로컬 이미지 패치의 크기를 결정하는 단계;
상기 결정된 위치 및 크기에 기초하여 상기 부분 이미지 영역들 중, 상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 상기 로컬 이미지 패치를 추출하는 단계; 및
상기 추출된 로컬 이미지 패치를 재 배치 하는 단계; 를 포함하는, 방법.7. The method of claim 6, wherein relocating the local image patch comprises:
determining a location from which to extract the local image patch from the remaining partial image area that is not rotated or flipped;
determining a size of the local image patch to be extracted from the remaining partial image region that is not rotated or flipped based on a hyper parameter of an artificial neural network to be learned using the augmented image data;
extracting the local image patch from the remaining partial image areas that are not rotated or overturned among the partial image areas based on the determined position and size; and
rearranging the extracted local image patch; A method comprising
네트워크 인터페이스;
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서; 를 포함하고, 상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
증강 대상이 되는 이미지 데이터를 획득하고,
상기 이미지 데이터에 대응되는 이미지의 이미지 영역을 소정의 부분 이미지 영역들로 분할하고,
상기 분할된 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역들에 서로 다른 데이터 증강 기법을 적용하고,
상기 서로 다른 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성하는, 전자 장치.An electronic device for augmenting image data, comprising:
network interface;
a memory storing one or more instructions; and
at least one processor executing the one or more instructions; including, wherein the at least one processor executes the one or more instructions,
Acquire image data to be augmented,
dividing an image region of an image corresponding to the image data into predetermined partial image regions;
applying different data augmentation techniques to at least one partial image region among the divided partial image regions;
An electronic device that generates augmented image data from partial image regions to which the different data augmentation techniques are applied.
상기 생성된 증강 이미지 데이터로부터, 상기 증강 이미지 데이터에 대응되는 증강 이미지를 생성하는, 전자 장치.10. The method of claim 9, wherein the at least one processor comprises:
An electronic device that generates an augmented image corresponding to the augmented image data from the generated augmented image data.
단일의 이미지를 획득하고,
상기 획득된 단일의 이미지 내 픽셀 데이터를 식별하고,
상기 단일의 이미지 내 식별된 픽셀 데이터를 상기 이미지 데이터로 획득하는, 전자 장치.10. The method of claim 9, wherein the at least one processor comprises:
to acquire a single image,
identify pixel data in the single acquired image;
obtaining the identified pixel data in the single image as the image data.
상기 이미지 영역을 4개의 부분 이미지 영역들로 분할하는, 전자 장치.10. The method of claim 9, wherein the at least one processor comprises:
dividing the image region into four partial image regions.
상기 이미지 영역을 서로 직교하는 두개의 축을 기준으로 나누어지는 사분면 각각에 대응되는 부분 이미지 영역들로 분할하는, 전자 장치.10. The method of claim 9, wherein the at least one processor comprises:
and dividing the image region into partial image regions corresponding to quadrants divided based on two axes orthogonal to each other.
상기 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 각도로 회전시키고,
상기 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역을 소정의 확률로 뒤집고,
상기 부분 이미지 영역들 중, 상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 로컬 이미지 패치를 추출하고, 상기 추출된 로컬 이미지 패치를 재 배치 하는, 전자 장치.10. The method of claim 9, wherein the at least one processor comprises:
rotating at least one partial image area among the partial image areas by a predetermined angle;
flipping at least one partial image area among the partial image areas with a predetermined probability;
extracting a local image patch from the remaining partial image areas that are not rotated or flipped among the partial image areas, and rearranging the extracted local image patches.
상기 부분 이미지 영역들 중 하나의 부분 이미지 영역을, 90도, 180도 또는 270도 중 하나의 각도로 회전시키고,
상기 부분 이미지 영역들 중 하나의 부분 이미지 영역을 소정의 확률로 좌우 또는 상하 방향으로 뒤집고,
상기 부분 이미지 영역들 중 회전되거나 뒤집히지 않은 부분 이미지 영역으로부터 로컬 이미지 패치들을 무작위로 추출하고, 추출된 로컬 이미지 패치들을 상기 부분 이미지 영역들 중 회전되거나 뒤집히지 않은 부분 이미지 영역 내에서 재배치하는, 전자 장치.13. The method of claim 12, wherein the at least one processor comprises:
rotating one of the partial image regions by an angle of one of 90 degrees, 180 degrees or 270 degrees;
flipping one partial image area among the partial image areas in the left and right or up and down directions with a predetermined probability;
randomly extracting local image patches from a rotated or non-flipped partial image region of the partial image regions, and relocating the extracted local image patches within a rotated or non-flipped partial image region of the partial image regions; Device.
상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 상기 로컬 이미지 패치를 추출할 위치를 결정하고,
상기 증강된 이미지 데이터를 이용하여 학습될 인공 신경망의 하이퍼 파라미터에 기초하여, 상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 추출될 상기 로컬 이미지 패치의 크기를 결정하고,
상기 결정된 위치 및 크기에 기초하여 상기 부분 이미지 영역들 중, 상기 회전되거나 뒤집히지 않은 나머지 부분 이미지 영역으로부터 상기 로컬 이미지 패치를 추출하고,
상기 추출된 로컬 이미지 패치를 재 배치 하는, 전자 장치.15. The method of claim 14, wherein the at least one processor comprises:
determining a location to extract the local image patch from the remaining partial image area that is not rotated or flipped;
determining the size of the local image patch to be extracted from the remaining partial image area that is not rotated or flipped based on the hyperparameter of the artificial neural network to be learned using the augmented image data;
extracting the local image patch from the remaining partial image regions that are not rotated or flipped among the partial image regions based on the determined position and size;
Relocating the extracted local image patch, the electronic device.
증강 대상이 되는 이미지 데이터를 획득하는 단계;
상기 이미지 데이터에 대응되는 이미지의 이미지 영역을 소정의 부분 이미지 영역들로 분할하는 단계;
상기 분할된 부분 이미지 영역들 중 적어도 하나의 부분 이미지 영역들에 서로 다른 데이터 증강 기법을 적용하는 단계; 및
상기 서로 다른 데이터 증강 기법이 적용된 부분 이미지 영역들로부터 증강 이미지 데이터를 생성하는 단계; 를 포함하는, 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A method for augmenting image data, comprising:
acquiring image data to be augmented;
dividing an image region of an image corresponding to the image data into predetermined partial image regions;
applying different data augmentation techniques to at least one of the divided partial image regions; and
generating augmented image data from the partial image regions to which the different data augmentation techniques are applied; A computer-readable recording medium recording a program for executing the method on a computer, comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200175215A KR102562770B1 (en) | 2020-12-15 | 2020-12-15 | Method and apparatus for augmenting data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200175215A KR102562770B1 (en) | 2020-12-15 | 2020-12-15 | Method and apparatus for augmenting data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220085279A true KR20220085279A (en) | 2022-06-22 |
KR102562770B1 KR102562770B1 (en) | 2023-08-01 |
Family
ID=82216928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200175215A KR102562770B1 (en) | 2020-12-15 | 2020-12-15 | Method and apparatus for augmenting data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102562770B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102636217B1 (en) * | 2023-04-14 | 2024-02-14 | 고려대학교산학협력단 | 3d data augmentation method using weighted local transformation and apparatus therefor |
KR20240026107A (en) | 2022-08-19 | 2024-02-27 | 주식회사 메디컬에이아이 | Augmentation method, computer program and apparatus of bio-signal data |
WO2024043389A1 (en) * | 2022-08-26 | 2024-02-29 | 한국전자기술연구원 | System and method for generating deep learning model optimized for installation environment, and training data configuration method therefor |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200022739A (en) | 2018-08-23 | 2020-03-04 | 삼성전자주식회사 | Method and device to recognize image and method and device to train recognition model based on data augmentation |
-
2020
- 2020-12-15 KR KR1020200175215A patent/KR102562770B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200022739A (en) | 2018-08-23 | 2020-03-04 | 삼성전자주식회사 | Method and device to recognize image and method and device to train recognition model based on data augmentation |
Non-Patent Citations (1)
Title |
---|
Krishna Kumar Singh et al., "Hide-and-Seek: A Data Augmentation Technique for Weakly-Supervised Localization and Beyond," arXiv:1811.02545v1 [cs.CV] 6 Nov 2018 (2018.11.06.)* * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240026107A (en) | 2022-08-19 | 2024-02-27 | 주식회사 메디컬에이아이 | Augmentation method, computer program and apparatus of bio-signal data |
WO2024043389A1 (en) * | 2022-08-26 | 2024-02-29 | 한국전자기술연구원 | System and method for generating deep learning model optimized for installation environment, and training data configuration method therefor |
KR102636217B1 (en) * | 2023-04-14 | 2024-02-14 | 고려대학교산학협력단 | 3d data augmentation method using weighted local transformation and apparatus therefor |
Also Published As
Publication number | Publication date |
---|---|
KR102562770B1 (en) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102562770B1 (en) | Method and apparatus for augmenting data | |
US11074504B2 (en) | Instance segmentation | |
US11301668B2 (en) | Methods and systems for face alignment | |
CN107704838B (en) | Target object attribute identification method and device | |
US20230089380A1 (en) | Neural network construction method and apparatus | |
EP2559030B1 (en) | Intuitive computing methods and systems | |
US20210097403A1 (en) | Neural processing apparatus and method with neural network pool processing | |
CN101496067B (en) | Real-time multi-resolution 3D collision detection using cube-maps | |
Tan et al. | GPU parallel implementation of support vector machines for hyperspectral image classification | |
CN111275057B (en) | Image processing method, device and equipment | |
JP7009652B2 (en) | AI system and method for object detection | |
US20200285965A1 (en) | Neural network learning method and device | |
US20210241527A1 (en) | Point cloud generation method and system, and computer storage medium | |
US11453121B2 (en) | Mirror loss neural networks | |
US20230153965A1 (en) | Image processing method and related device | |
US20210319090A1 (en) | Authenticator-integrated generative adversarial network (gan) for secure deepfake generation | |
US11257217B2 (en) | Image segmentation using neural networks | |
US20220019844A1 (en) | Image processing device and method for operating same | |
KR102262264B1 (en) | Framework for combining multiple global descriptors for image retrieval | |
CN113724128A (en) | Method for expanding training sample | |
CN113628221B (en) | Image processing method, image segmentation model training method and related device | |
KR102637342B1 (en) | Method and apparatus of tracking target objects and electric device | |
CN112232294B (en) | Super-parameter optimization, target recognition model training and target recognition method and device | |
Šćekić et al. | Image-based parking occupancy detection using deep learning and faster r-cnn | |
CN116363368A (en) | Image semantic segmentation method and device based on convolutional neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |