KR102315574B1 - 데이터 분류 방법 및 장치와 관심영역 세그멘테이션 방법 및 장치 - Google Patents

데이터 분류 방법 및 장치와 관심영역 세그멘테이션 방법 및 장치 Download PDF

Info

Publication number
KR102315574B1
KR102315574B1 KR1020140172347A KR20140172347A KR102315574B1 KR 102315574 B1 KR102315574 B1 KR 102315574B1 KR 1020140172347 A KR1020140172347 A KR 1020140172347A KR 20140172347 A KR20140172347 A KR 20140172347A KR 102315574 B1 KR102315574 B1 KR 102315574B1
Authority
KR
South Korea
Prior art keywords
data
input data
value
classification
class
Prior art date
Application number
KR1020140172347A
Other languages
English (en)
Other versions
KR20160066926A (ko
Inventor
권근주
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140172347A priority Critical patent/KR102315574B1/ko
Priority to US14/944,717 priority patent/US10460232B2/en
Publication of KR20160066926A publication Critical patent/KR20160066926A/ko
Application granted granted Critical
Publication of KR102315574B1 publication Critical patent/KR102315574B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

데이터 분류 장치에 관한 것으로, 일 실시예에 따른 데이터 분류 장치는 입력 데이터를 수신하는 데이터 설정부, 분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택하는 가설 클래스 선택부와, 입력 데이터에 분류 알고리즘을 적용하여 전체 클래스에 관한 출력 데이터를 생성하는 데이터 분류부를 포함하고, 데이터 설정부가 재분류 조건을 만족하는 경우에 출력 데이터 중에서 가설 클래스 값이 증가하도록 입력 데이터를 변경함으로써 재분류할 수 있다.

Description

데이터 분류 방법 및 장치와 관심영역 세그멘테이션 방법 및 장치{APPARATUS AND METHOD FOR CLASSIFICATION OF DATA, APPARATUS AND METHOD FOR SEGMENTATION OF REGION OF INTEREST}
데이터 분류 및 관심영역의 세그멘테이션 기술에 관한 것으로, 보다 상세하게는 가설을 이용한 기울기를 기반으로 데이터를 분류하고 관심영역을 세그멘테이션하는 기술에 관한 것이다.
일반적으로 기계 학습(machine learning)을 통하여 주어진 데이터에서 객체를 검출하고, 검출된 객체가 어느 클래스에 해당하는지 분류할 수 있다. 이때, 데이터를 분류하는 일반적인 기계학습 방법으로는 대표적으로 뉴럴 넷(Neural Network), CNN(Convolutional Neural Network), SVM(Support Vector Machine), 로지스틱 회귀분석(Logistic Regression), 최근린내삽법(nearest neighbor) 등이 있다. 또한, 데이터를 검출하는 일반적인 방법으로는 데이터의 종류에 따라 특화된 방법들이 존재하며, 예를 들어 이미지 데이터의 경우 SIFT(Scale-invariant feature transform), DPM(Deformable Part Model), 음성 데이터의 경우 RNN(Recurrent Neural Network) 등이 있다.
그 밖에도 데이터에서 객체의 검출 및 분류를 위한 다양한 방법들이 제안되었으나, 이러한 일반적인 객체 검출 및 분류 기법들은 데이터의 가능한 모든 위치에서 테스트를 수행함으로써 테스트 시간의 증가 및 검출의 정확도가 감소될 수 있다.
가설을 이용하여 기울기 기반의 데이터 분류를 수행함으로써 분류 알고리즘의 변형없이 분류 및 검출을 수행하는 데이터 분류 장치 및 방법과 관심영역 세그멘테이션 장치 및 방법이 제시된다.
일 양상에 따른 데이터 분류 방법은 초기 입력 데이터를 수신하는 단계, 분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택하는 단계, 입력 데이터에 분류 알고리즘을 적용하여 전체 클래스에 관한 출력 데이터를 생성하는 단계, 재분류 조건을 만족하는지 여부를 판단하는 단계, 그 판단 결과 재분류 조건을 만족하는 경우, 출력 데이터 중에서 가설 클래스의 값이 증가하도록 입력 데이터를 변경하는 단계 및 변경된 데이터를 새로운 입력 데이터로 설정하고, 출력 데이터를 생성하는 단계 이하를 반복 수행하는 단계를 포함할 수 있다.
이때, 재분류 조건은 가설 클래스의 값이 미리 설정된 임계치 이하인 경우 및, 미리 설정된 재분류 횟수 이하인 경우 중의 적어도 하나를 포함할 수 있다.
또한, 데이터 분류 방법은 판단 결과 재분류 조건을 만족하지 않는 경우, 입력 데이터 및 출력 데이터를 출력하는 단계를 더 포함할 수 있다.
입력 데이터를 변경하는 단계는 가설 클래스를 사용하여 분류 알고리즘의 손실함수를 정의하는 단계, 정의된 손실함수의 기울기 벡터를 구하는 단계 및 기울기 벡터를 기반으로 입력 데이터를 변경하는 단계를 포함할 수 있다.
기울기 벡터를 기반으로 입력 데이터를 변경하는 단계는 입력 데이터의 각 값을 기울기 방향으로 임의의 양의 값 만큼 감소시킬 수 있다.
기울기 벡터를 기반으로 입력 데이터를 변경하는 단계는 입력 데이터의 각 값 중에서, 부호값과 기울기 값을 곱한 결과가 기준값 이상이거나, 기울기의 절대값이 기준값 이상인 값을 0으로 변경할 수 있다.
또한, 데이터 분류 방법은 수신된 입력 데이터에 분류 알고리즘을 적용하여 전체 클래스에 관한 초기 출력 데이터를 생성하는 단계를 더 포함하고, 가설 클래스를 선택하는 단계는 초기 출력 데이터의 각 값의 크기에 기초하여 가설 클래스를 선택할 수 있다.
이때, 분류 알고리즘은 뉴럴 넷(Neural Network), CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 포함하는 분류 알고리즘 중의 어느 하나일 수 있다.
일 양상에 따르면, 데이터 분류 장치는 입력 데이터를 수신하는 데이터 설정부, 분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택하는 가설 클래스 선택부 및 입력 데이터에 분류 알고리즘을 적용하여 전체 클래스에 관한 출력 데이터를 생성하는 데이터 분류부를 포함할 수 있고, 데이터 설정부는 재분류 조건을 만족하는지 판단하여 만족하는 경우, 출력 데이터 중에서 가설 클래스 값이 증가하도록 입력 데이터를 변경하고, 변경된 데이터를 새로운 입력 데이터로 설정할 수 있다.
이때, 재분류 조건은 가설 클래스의 값이 미리 설정된 임계치 이하인 경우 및, 미리 설정된 재분류 횟수 이하인 경우 중의 적어도 하나를 포함할 수 있다.
또한, 데이터 분류 장치는 판단 결과 재분류 조건을 만족하지 않는 경우, 입력 데이터 및 출력 데이터를 출력하는 결과 출력부를 더 포함할 수 있다.
데이터 설정부는 가설 클래스를 사용하여 분류 알고리즘의 손실함수를 정의하는 손실함수 정의부, 정의된 손실함수에 대한 기울기 벡터를 구하는 기울기 산출부 및 기울기 벡터를 기반으로 입력 데이터를 변경하는 데이터 변경부를 포함할 수 있다.
데이터 변경부는 입력 데이터의 각 값을 기울기 방향으로 임의의 양의 값만큼 감소시킬 수 있다.
데이터 변경부는 입력 데이터의 각 값 중에서, 부호값과 기울기 값을 곱한 결과가 기준값 이상이거나, 기울기의 절대값이 기준값 이상인 값을 0으로 변경할 수 있다.
가설 클래스 선택부는 수신된 입력 데이터에 분류 알고리즘을 적용하여 전체 클래스에 관한 초기 출력 데이터를 생성하고, 그 초기 출력 데이터의 각 값의 크기에 기초하여 가설 클래스를 선택할 수 있다.
이때, 분류 알고리즘은 뉴럴 넷(Neural Network), CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 포함하는 분류 알고리즘 중의 어느 하나일 수 있다.
일 양상에 따르면, 관심영역 세그멘테이션 방법은 입력 데이터를 입력받는 단계, 분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택하는 단계, 입력 데이터에 분류 알고리즘을 적용하여 전체 클래스에 관한 출력 데이터 생성하는 단계, 출력 데이터 중에서 가설 클래스의 값이 증가하도록 입력 데이터를 변경하는 단계 및 입력 데이터의 변경 결과를 기초로, 변경된 입력 데이터에서 하나 이상의 영역을 관심영역으로 분리하는 단계를 포함할 수 있다.
또한, 관심영역 세그멘테이션 방법은 관심영역의 재분리 여부를 판단하는 단계, 판단 결과 재분리하는 것으로 판단되면, 분리된 하나 이상의 연속된 영역을 포함하는 새로운 입력 데이터를 생성하는 단계 및 출력 데이터를 생성하는 단계 이하를 반복 수행하는 단계를 더 포함할 수 있다.
관심영역으로 분리하는 단계는 세그멘테이션 알고리즘을 이용하여 변경된 입력 데이터에서 값이 증가된 하나 이상의 연속된 영역을 관심영역으로 분리할 수 있다.
이때, 세그멘테이션 알고리즘은 그래프 컷(graph cut) 및 CRF(Conditional Random Field) 중의 적어도 하나를 포함할 수 있다.
입력 데이터를 변경하는 단계는 가설 클래스를 사용하여 분류 알고리즘의 손실함수를 정의하는 단계, 정의된 손실함수의 기울기 벡터를 구하는 단계 및 기울기 벡터를 기반으로 하여 입력 데이터를 변경하는 단계를 포함할 수 있다.
일 양상에 따르면, 관심영역 세그멘테이션 장치는 분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택하는 가설 클래스 선택부, 입력 데이터에 분류 알고리즘을 적용하여 전체 클래스에 관한 출력 데이터 생성하는 데이터 분류부, 출력 데이터 중에서 가설 클래스의 값이 증가하도록 입력 데이터를 변경하는 데이터 설정부 및 입력 데이터의 변경 결과를 기초로 변경된 입력 데이터에서 하나 이상의 영역을 관심영역으로 분리하는 관심영역 분리부를 포함할 수 있다.
데이터 설정부는 관심영역의 재분리 여부를 판단하고, 재분리하는 것으로 판단되면 분리된 하나 이상의 영역을 포함하는 새로운 입력 데이터를 생성할 수 있다.
관심영역 분리부는 세그멘테이션 알고리즘을 이용하여 변경된 입력 데이터에서 값이 증가된 하나 이상의 연속된 영역을 관심영역으로 분리할 수 있다.
세그멘테이션 알고리즘은 그래프 컷(graph cut) 및 CRF(Conditional Random Field) 중의 적어도 하나를 포함할 수 있다.
데이터 설정부는 가설 클래스를 사용하여 분류 알고리즘의 손실함수를 정의하는 손실함수 정의부, 정의된 손실함수의 기울기 벡터를 구하는 기울기 산출부 및 기울기 벡터를 기반으로 하여 입력 데이터를 변경하는 데이터 변경부를 포함할 수 있다.
가설을 이용하여 기울기 기반의 데이터 분류를 수행함으로써 분류 알고리즘의 변형없이 분류 및 검출을 수행할 수 있다. 이를 통해, 분류 및 검출 시간 및 정확성을 향상시킬 수 있다.
도 1은 일 실시예에 따른 데이터 분류 장치의 블록도이다.
도 2는 도 1의 데이터 설정부의 상세 블록도이다.
도 3a 및 3b는 실시예들에 따른 데이터 분류 방법의 흐름도이다.
도 4는 도 3a 및 도 3b의 입력 데이터 변경 단계의 상세 흐름도이다.
도 5는 일 실시예에 따른 관심영역 세그멘테이션 장치의 블록도이다.
도 6은 영상 데이터에서 관심영역을 분리하는 실시예이다.
도 7은 일 실시예에 따른 관심영역 세그멘테이션 방법의 흐름도이다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. 기재된 기술의 이점 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 데이터 분류 장치 및 방법과 관심영역 세그멘테이션 방법 및 장치의 실시예들을 도면들을 참고하여 자세히 설명하도록 한다.
도 1은 일 실시예에 따른 데이터 분류 장치의 블록도이다.
도 1을 참조하면, 데이터 분류 장치(100)는 데이터 설정부(110), 가설 클래스 선택부(120), 데이터 분류부(130) 및 결과 출력부(140)를 포함할 수 있다.
데이터 설정부(110)는 분류하고자 하는 최초의 입력 데이터를 수신하고, 재분류가 필요한 경우 입력 데이터를 변경할 수 있다. 이때, 입력 데이터는 음성이나 이미지와 같은 다양한 유형의 데이터를 포함할 수 있다.
또한, 아래의 수학식 1과 같이 수신된 최초의 입력 데이터(
Figure 112014117800084-pat00001
)는 길이가 k인 벡터로 정의될 수 있다.
Figure 112014117800084-pat00002
데이터 설정부(110)는 최초의 입력 데이터(
Figure 112014117800084-pat00003
)가 수신되면, 그 입력 데이터(
Figure 112014117800084-pat00004
)를 분류를 위한 현재의 입력 데이터(
Figure 112014117800084-pat00005
)로 설정할 수 있다.
가설 클래스 선택부(120)는 최초의 입력 데이터(
Figure 112014117800084-pat00006
)를 분류하기 위하여, 분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택할 수 있다. 이때, 가설 클래스는 전체 클래스 중에서 최초의 입력 데이터(
Figure 112014117800084-pat00007
)가 속할 것으로 예측되는 어느 하나의 클래스를 의미할 수 있다.
이때, 가설 클래스 선택부(120)는 사용자의 입력을 수신하고, 전체 클래스 중에서 사용자가 선택한 어느 하나의 클래스를 가설 클래스로 선택할 수 있다. 또는 최초의 입력 데이터(
Figure 112014117800084-pat00008
)가 수신되면, 그 최초의 입력 데이터에 대해 분류 알고리즘을 수행하여 초기 출력 데이터를 출력하고, 출력 데이터의 각 값의 크기 순서에 기초하여 가설 클래스를 선택할 수 있다. 예컨대, 출력 데이터의 각 값이 가장 큰 클래스를 가설 클래스로 선택할 수 있다.
1에서 n까지의 분류 가능한 클래스가 존재하고, m번째 클래스를 가설 클래스로 선택하는 경우, 가설 클래스 벡터(
Figure 112014117800084-pat00009
)는 아래의 수학식 2와 같이 정의될 수 있다.
Figure 112014117800084-pat00010
데이터 분류부(130)는 현재의 입력 데이터(
Figure 112014117800084-pat00011
)에 대하여 분류 알고리즘을 수행하고, 그 분류 결과로서 아래의 수학식 3과 같이 출력 데이터(
Figure 112014117800084-pat00012
)를 생성할 수 있다. 여기서, 분류 알고리즘은 손실함수(loss function)의 정의가 가능하고, 이 손실함수가 미분 가능한 알고리즘을 전제한다. 이때, 손실함수(loss function)는 분류 알고리즘의 출력 결과가 정답과 얼마나 차이가 있는지를 나타내는 값을 출력하며, 손실함수의 출력 값이 작아질수록 정답에 가까워지는 함수이다.
예를 들어, 본 실시예에 적용 가능한 분류 알고리즘은 뉴럴 넷(Neural Network), CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 포함할 수 있으나 이에 한정되는 것은 아니다.
이때, 출력 데이터(
Figure 112014117800084-pat00013
)는 n개의 클래스에 대한 출력 벡터로 정의될 수 있다.
Figure 112014117800084-pat00014
데이터 설정부(110)는 데이터 분류부(130)에 의해서 현재의 입력 데이터(
Figure 112014117800084-pat00015
)에 대한 출력 데이터(
Figure 112014117800084-pat00016
)가 생성되면, 출력 데이터(
Figure 112014117800084-pat00017
) 중에서 선택된 가설 클래스에 해당하는 값(ym)이 증가하도록 현재의 입력 데이터(
Figure 112014117800084-pat00018
)를 변경하고, 변경된 데이터를 새로운 현재의 입력 데이터(
Figure 112014117800084-pat00019
)로 설정할 수 있다. 가설 클래스에 해당하는 값의 증가치는 미리 설정될 수 있으며, 현재 선택된 가설 클래스에 대한 재분류 과정의 반복 횟수에 따라 서로 다른 증가치를 설정할 수 있다.
데이터 분류부(130)는 새로운 현재의 입력 데이터(
Figure 112014117800084-pat00020
)에 대하여 분류 알고리즘을 적용하여 재분류하고, 그 분류 결과로서 수학식 3과 같은 출력 데이터(
Figure 112014117800084-pat00021
)를 생성할 수 있다.
이와 같이 입력 데이터를 변경하면서 재분류하는 과정은 만족스러운 데이터 분류 결과가 출력될 때까지 반복 수행될 수 있다. 이를 위해, 데이터 설정부(110)는 미리 설정된 재분류 조건을 만족하는지를 판단하고, 만족하는 경우에 현재의 입력 데이터를 변경하여 데이터 분류부(130)로 하여금 다시 분류하도록 할 수 있다. 이때, 재분류 조건은 출력 데이터(
Figure 112014117800084-pat00022
) 중에서 가설 클래스에 해당하는 값(ym)이 기 설정된 임계치 이하인 경우 재분류를 수행하는 것일 수 있다. 또는, 기 설정된 재분류 횟수 이하이면 재분류를 수행하는 것일 수 있다. 하지만, 이에 제한되는 것은 아니며 그 두 조건들의 조합이나 그 밖의 다양한 조건들을 포함할 수 있다.
결과 출력부(140)는 데이터 설정부(110)가 재분류 조건을 만족하는지 판단한 결과 분류 결과가 충분히 만족스러워 재분류가 필요없다고 판단하는 경우에는 현재의 입력 데이터(
Figure 112014117800084-pat00023
) 및 출력 데이터(
Figure 112014117800084-pat00024
)를 최종 데이터로서 출력할 수 있다.
이와 같이, 최종 데이터로 출력된 출력 데이터(
Figure 112014117800084-pat00025
)는 가설로 설정된 가설 클래스의 데이터가 얼마나 높은 확률로 존재하는지를 의미하며, 이때, 입력 데이터(
Figure 112014117800084-pat00026
)는 이와 관련된 데이터의 영역을 의미할 수 있다. 따라서, 최종적으로 출력된 입력 데이터(
Figure 112014117800084-pat00027
)를 처리하여 관심영역을 추출할 수 있다. 이를 통하여, 최초로 입력된 데이터에 여러 개의 객체가 존재하는 경우, 원하는 객체의 영역만을 관심영역으로 추출해 낼 수 있다.
도 2는 도 1의 데이터 설정부(110)의 상세 블록도이다. 도 2를 참조하여, 데이터 설정부(110)가 입력 데이터를 변경하는 과정을 좀 더 상세히 설명하기로 한다.
도 2에 도시된 바와 같이, 데이터 설정부(110)는 손실함수 정의부(210), 기울기 산출부(220), 데이터 변경부(230)를 포함할 수 있다.
손실함수 정의부(210)는 적용된 분류 알고리즘에 대한 손실함수를 정의한다. 일반적으로 손실함수(L)는 현재의 입력 데이터(
Figure 112014117800084-pat00028
)에 대하여 정답이 m번째 클래스임을 나타내는 정답 벡터(
Figure 112014117800084-pat00029
)가 아래의 수학식 4와 같이 정의될 때, 아래의 수학식 5와 같이 그 정답 벡터(
Figure 112014117800084-pat00030
)를 이용하여 정의된다. 하지만, 본 실시예에 있어서, 손실함수 정의부(210)는 아래의 수학식 6과 같이 선택된 가설 클래스 벡터(
Figure 112014117800084-pat00031
)를 이용하여 손실함수(L)을 정의할 수 있다.
Figure 112014117800084-pat00032
Figure 112014117800084-pat00033
Figure 112014117800084-pat00034
기울기 산출부(220)는 가설을 기반으로 하여 가설 클래스를 이용한 손실함수(L)가 정의되면, 현재의 입력 데이터(
Figure 112014117800084-pat00035
)의 각 값(xi)에 대하여 기울기 벡터를 구한다. 이때, 손실함수(L)의 기울기 벡터는 아래의 수학식 7과 같이 정의될 수 있다.
Figure 112014117800084-pat00036
데이터 변경부(230)는 이와 같이 기울기 산출부(220)에 의해 현재의 입력 데이터(
Figure 112014117800084-pat00037
)의 각 값(xi)에 대하여 기울기 벡터가 산출되면, 산출된 기울기 벡터를 이용하여 현재의 입력 데이터(
Figure 112014117800084-pat00038
)를 변경할 수 있다.
예를 들어, 데이터 변경부(230)는 아래의 수학식 8과 같이 현재의 입력 데이터(
Figure 112014117800084-pat00039
)의 각 값(xi)들을 기울기 방향으로 미리 정의된 상수(ε)만큼 감소시켜 현재의 입력 데이터(
Figure 112014117800084-pat00040
)를 변경할 수 있다. 데이터 변경부(230)는 이와 같이 기울기 하강 방식을 이용하여 현재 입력 데이터(
Figure 112014117800084-pat00041
)를 변경할 수 있으며, 이때, 적절한 상수(ε)를 설정하게 되면, 출력 벡터(
Figure 112014117800084-pat00042
)는 가설 벡터(
Figure 112014117800084-pat00043
)와 점점 더 가까워지게 된다.
Figure 112014117800084-pat00044
다른 예로, 데이터 변경부(230)는 산출된 기울기의 부호가 현재의 입력 데이터(
Figure 112014117800084-pat00045
)의 값(xi)과 같은 경우 그 값(xi)을 0으로 변경할 수 있다. 즉, 수학식 8에서 알 수 있듯이, 상수(ε)가 양수이므로 기울기 하강 방법으로 값이 커지는 경우는 현재 입력 데이터의 부호값과 기울기의 부호값이 다른 경우이므로, 값이 점점 작아지는 경우에 그 값을 0으로 만들 수 있다. 이때, 아래의 수학식 9와 같이 약간의 여유를 두어 기울기를 그 값의 부호와 곱하여 그 결과가 임의의 상수(τ) 이상인 경우에 그 값을 0으로 변경할 수 있다.
Figure 112014117800084-pat00046
여기서, sgn(xi)는 현재 입력 데이터(
Figure 112014117800084-pat00047
)의 값(xi)의 부호를 의미한다.
또 다른 예로, 데이터 변경부(230)는 아래의 수학식 10과 같이 값(xi)에 대한 기울기의 절대값이 임의의 상수(τ) 이상인 경우에 그 값(xi)을 0으로 변경할 수 있다.
Figure 112014117800084-pat00048
또 다른 예로는 데이터 변경부(230)는 데이터의 종류에 따라 수학식 9 및 10에서 그 부등호의 방향을 바꾸어, 현재의 입력 데이터(
Figure 112014117800084-pat00049
)의 각 값(xi)의 변화가 손실함수(L)의 변화에 기여하는 바가 적은 값을 0으로 변경할 수 있다.
또 다른 예로는 입력 데이터의 값(xi)이 0이 아니면 원래 값을 갖는 제약 조건 하에서 입력값을 변경하여 손실함수의 최소값을 찾는 라그랑주 승수법(Lagrange multiplier method)을 사용할 수 있다.
한편, 현재의 입력 데이터(
Figure 112014117800084-pat00050
)를 변경하는 다양한 실시예들을 설명하였으나, 이에 제한되는 것은 아니다.
다시 도 1을 참조하면, 데이터 설정부(110)는 전술한 바와 같이 변경된 데이터를 다시 현재의 입력 데이터로 설정하여 재분류가 이루어지도록 하며, 필요에 따라 입력 데이터의 변경 회수를 저장하는 변수의 값을 1 증가시킬 수 있다.
한편, 데이터 분류 장치(100)는 이와 같은 과정을 복수의 가설 클래스에 대하여 반복적으로 수행할 수 있다. 예를 들어, 1에서 n까지의 분류 가능한 전체의 클래스 중에서, 어느 하나의 클래스를 가설 클래스로 선택하여 분류 및 재분류 과정을 반복 수행한다. 이후, 그 가설 클래스에 대하여 분류 과정이 완료되면, 선택되지 않은 나머지 클래스 중에서 어느 하나의 가설 클래스를 선택하고 이와 같은 분류 과정을 반복 수행할 수 있다. 이때, 데이터 분류 장치(100)는 충분한 가설 클래스에 대하여 분류 과정이 완료되면 모든 분류 과정을 종료할 수 있다.
이때, 데이터 분류 장치(100)는 전술한 바와 같이 사용자의 입력을 기초로 전체 클래스 중에서 차례대로 분류할 가설 클래스를 선택할 수 있다. 또는 최초의 입력 데이터에 대하여 분류 알고리즘을 적용하여 초기 출력 데이터를 생성하고, 출력 데이터의 값이 큰 순서로 차례대로 해당하는 가설 클래스를 선택하는 것이 가능하다.
도 3a 및 3b는 실시예들에 따른 데이터 분류 방법의 흐름도이다.
도 3a 및 도 3b는 도 1의 데이터 분류 장치(100)에 의해 수행되는 데이터 분류 방법의 실시예들일 수 있다.
먼저, 도 3a를 참조하면, 데이터 분류 장치는 분류하고자 하는 입력 데이터를 수신한다(311). 이때, 입력 데이터(
Figure 112014117800084-pat00051
)는 수학식 1과 같이 길이가 k인 값(xi)들의 벡터로 정의될 수 있다. 또한, 수신된 최초의 입력 데이터를 분류를 위한 현재의 입력 데이터로 설정할 수 있다.
그 다음, 최초의 입력 데이터를 분류하기 위하여, 분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택할 수 있다(312). 이때, 데이터 분류 장치는 사용자의 입력을 기초로 어느 하나의 클래스를 가설 클래스로 선택하거나, 최초의 입력 데이터가 수신되면, 그 최초의 입력 데이터에 대해 분류 알고리즘을 수행하는 단계를 더 수행하고, 수행 결과 생성되는 초기 출력 데이터에서 각 값의 크기 순서에 기초하여 어느 하나의 클래스를 가설 클래스로 선택할 수 있다. 이때, 선택된 가설 클래스 벡터(
Figure 112014117800084-pat00052
)는 수학식 2와 같이 정의될 수 있다.
그 다음, 현재의 입력 데이터에 대하여 분류 알고리즘을 수행하여, 분류 결과로서 출력 데이터를 생성할 수 있다(313). 본 실시예에서 적용 가능한 분류 알고리즘은 손실함수의 정의가 가능하고, 이 손실함수가 미분 가능한 알고리즘으로서, 뉴럴 넷(Neural Network), CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 포함할 수 있으나 이에 한정되는 것은 아니다.
그 다음, 재분류 조건을 만족하는지 판단하여 재분류 여부를 결정할 수 있다(314). 예를 들어, 데이터 분류 장치는 출력 데이터 중에서 가설 클래스에 해당하는 값이 기 설정된 임계치 이하인 경우 만족스런 결과가 아니라고 판단하여 재분류를 수행하도록 결정할 수 있다. 다른 예로, 데이터 분류 장치는 미리 설정된 재분류 횟수 이하인 경우 재분류를 수행하도록 결정할 수 있다.
그 다음, 판단 결과 재분류 조건을 만족하는 경우 출력 데이터 중에서 선택된 가설 클래스에 해당하는 값이 증가하도록 현재의 입력 데이터를 변경할 수 있다(315). 이때, 현재의 입력 데이터를 변경하는 단계(315)는 도 4를 참조하여 보다 상세히 설명하기로 한다.
그 다음, 재분류를 위하여 변경된 데이터를 새로운 현재의 입력 데이터로 설정하고(316), 단계 313으로 이동한다.
만약, 단계 314에서 판단한 결과, 충분히 재분류가 완료되어 기 설정된 재분류 조건을 만족하지 않는 경우, 현재의 입력 데이터 및 출력 데이터를 최종 데이터로서 출력할 수 있다(317). 이와 같이, 최종적으로 출력된 입력 데이터를 처리하여 관심영역을 추출할 수 있으며, 최초로 입력된 데이터에 여러 개의 객체가 존재하는 경우에는 원하는 객체의 영역만을 관심영역으로 추출해 내는 것이 가능하다.
한편, 도 3b는 복수의 가설 클래스에 대하여 분류 과정을 수행하는 실시예로서, 도 3a의 실시예에서 단계 322가 변경되고, 단계 327이 더 추가된 것이다.
도 3b를 참조하면, 데이터 분류 장치는 입력 데이터를 수신하고(321), 수신된 입력 데이터를 데이터 분류를 위한 현재의 입력 데이터로 설정할 수 있다.
또한, 분류 가능한 전체 클래스 중에서 현재 분류를 수행하지 않은 어느 하나의 클래스를 가설 클래스로 선택한다(322). 이때, 사용자의 입력에 따라 차례대로 가설 클래스를 선택할 수 있다. 또는, 최초로 수신된 입력 데이터를 분류 알고리즘에 적용하여 초기 출력 데이터를 생성하는 단계를 미리 수행할 수 있고, 그 수행 결과 생성되는 초기 출력 데이터에서 각 클래스에 해당하는 값의 크기에 따라 선택되지않은 가설 클래스 중에서 차례대로 가설 클래스를 선택할 수 있다.
그 다음, 현재의 입력 데이터에 대하여 분류 알고리즘을 적용하여 출력 데이터를 생성할 수 있다(323).
그 다음, 현재 선택된 가설 클래스에 대하여 재분류를 더 수행할지, 즉, 재분류 조건을 만족하는지를 판단하고(324), 재분류 조건을 만족하는 경우에는 현재 선택된 가설 클래스에 해당하는 값이 증가하도록 현재의 입력 데이터를 변경할 수 있다(325). 그 다음, 변경된 데이터를 재분류를 위해 새로운 현재의 입력 데이터로 설정하고(326), 단계 323으로 이동하여 그 이하의 단계를 반복 수행할 수 있다.
이때, 만약 현재 선택된 가설 클래스에 대하여 재분류 조건을 만족하지 않는 경우(324)에는 다른 가설 클래스에 대하여 재분류 과정을 수행할지를 판단할 수 있다(327).
판단 결과, 다른 가설 클래스에 대하여 재분류 과정을 수행하는 것으로 판단하면, 다시 단계 322로 이동하여 재분류 하지 않은 클래스 중에서 하나의 가설 클래스를 선택하고, 선택된 클래스에 대하여 재분류 과정을 반복한다.
판단 결과 충분한 가설 클래스에 대하여 재분류 과정이 완료된 경우에는 모든 가설 클래스에 대하여 재분류 과정의 수행 결과 생성된 현재의 입력 데이터 및 출력 데이터를 출력할 수 있다(328).
도 4는 도 3a 및 도 3b의 입력 데이터 변경 단계의 상세 흐름도이다.
도 4는 도 3a 및 도 3b의 실시예에서 입력 데이터를 변경하는 단계(315,325)의 구체적인 일 실시예일 수 있다.
도 4를 참조하여, 입력 데이터를 변경하는 단계(315,325)를 좀 더 구체적으로 설명하면, 먼저, 데이터 분류 장치는 현재 선택된 가설 클래스를 사용하여 미리 정의된 분류 알고리즘의 손실함수를 정의할 수 있다(410). 이때, 손실함수는 전술한 바와 같이 정답 클래스가 아닌 가설 클래스에 대하여 수학식 6과 같이 정의될 수 있다.
그 다음, 정의된 손실함수의 기울기를 현재의 입력 데이터의 각 값에 대하여 산출할 수 있다(420).
그 다음, 현재 입력 데이터의 각 값에 대하여 산출된 기울기를 기반으로 현재 입력 데이터를 변경할 수 있다(430).
이때, 일 실시예에 따르면, 수학식 8과 같이 현재의 입력 데이터의 각 값들을 기울기 방향으로 미리 정의된 상수만큼 감소시켜 현재의 입력 데이터를 변경할 수 있다. 이때, 상수를 적절하게 설정하게 되면, 출력 벡터는 가설 벡터와 점점 더 가까워지게 된다.
다른 예로, 산출된 기울기의 부호가 현재의 입력 데이터의 어느 값의 부호와 같은 경우 그 값을 0으로 변경할 수 있다. 이때, 수학식 9와 같이 약간의 여유를 두어 임의의 상수 이상인 경우 그 값을 0으로 변경할 수도 있다.
또 다른 예로, 수학식 10과 같이 현재 입력 데이터의 각 값(xi)에 대한 기울기의 절대값이 임의의 상수 이상인 경우에 그 값을 0으로 변경할 수 있다.
또 다른 예로, 데이터의 종류에 따라 수학식 9 및 10과 같이 정의된 식에서 그 부등호의 방향을 바꾸어, 현재의 입력 데이터의 각 값의 변화가 손실함수의 변화에 기여하는 바가 적은 값을 0으로 변경하는 것도 가능하다.
또 다른 예로는 입력 데이터의 값(xi)이 0이 아니면 원래 값을 갖는 제약 조건 하에서 입력값을 변경하여 손실함수의 최소값을 찾는 라그랑주 승수법(Lagrange multiplier method)을 사용할 수 있다.
도 5는 일 실시예에 따른 관심영역 세그멘테이션 장치의 블록도이다. 도 6은 영상 데이터에서 관심영역을 분리하는 실시예이다.
이하, 설명의 편의를 위하여 관심영역 세그멘테이션 장치(500)는 앞에서 도 1 및 도 2를 참조하여 설명된 데이터 분류 장치(100)와 중복되는 범위 내에서 자세한 설명이 생략될 수 있다. 따라서, 관심영역 세그멘테이션 장치(500)는 데이터 분류 장치(100)와 중복되는 구성에 있어서 앞에서 개시된 실시예들을 모두 포함하는 것으로 해석되어야 한다.
도 5를 참조하면, 다양한 유형의 입력 데이터에서 관심영역을 세그멘테이션하는 관심영역 세그멘테이션 장치(500)는 데이터 설정부(510), 가설 클래스 선택부(520), 데이터 분류부(530) 및 관심영역 분리부(540)를 포함할 수 있다.
데이터 설정부(510)는 관심영역을 검출하여 세그멘테이션하기 위한 입력 데이터를 수신한다. 이때, 수신된 입력 데이터는 영상, 음성 등 다양한 유형의 데이터를 포함할 수 있다.
가설 클래스 선택부(520)는 분류 가능한 전체 클래스 중에서 어느 하나의 가설 클래스를 선택할 수 있다.
데이터 분류부(530)는 수신된 입력 데이터에 미리 정의된 분류 알고리즘을 적용하고, 그 분류 결과로서 출력 데이터를 생성할 수 있다. 이때, 출력 데이터는 전술한 바와 같이 분류 가능한 전체 클래스에 대한 확률값을 갖는 벡터 형식으로 출력될 수 있다.
데이터 설정부(510)는 출력 데이터 중에서 선택된 가설 클래스에 해당하는 값이 증가하도록 입력 데이터를 변경할 수 있다.
이때, 데이터 설정부(510)는 도 2에서 설명한 바와 같이, 손실함수 정의부, 기울기 산출부 및 데이터 변경부를 포함할 수 있다. 손실함수 정의부는 선택된 가설 클래스를 사용하여 분류 알고리즘에 대한 손실함수를 정의하며, 기울기 산출부는 입력 데이터의 각 값에 대하여 그 손실함수의 기울기를 산출하고, 데이터 변경부는 산출된 기울기를 이용하여 입력 데이터를 변경할 수 있다.
일 예로서, 기울기가 하강하는 방향으로 임의의 양의 값만큼 입력 데이터의 각 값을 감소시킬 수 있다. 다른 예로, 입력 데이터와 산출된 기울기의 부호가 같은 값을 0으로 변경할 수 있다. 이때, 기울기와 입력 데이터의 각 값의 부호를 곱한 결과가 임의의 상수 이상인 경우 그 값을 0으로 변경할 수 있다. 또 다른 예로, 입력 데이터의 각 값에 대한 기울기의 절대값이 임의의 상수 이상인 경우에 그 값을 0으로 변경할 수 있다. 또 다른 예로, 데이터의 종류에 따라 부등호의 방향을 바꾸어, 현재의 입력 데이터의 각 값의 변화가 손실함수의 변화에 기여하는 바가 적은 값을 0으로 변경할 수도 있다.
관심영역 분리부(540)는 입력 데이터의 변경 결과를 기초로 변경된 입력 데이터에서 하나 이상의 영역을 관심영역으로 분리할 수 있다.
이때, 관심영역 분리부(540)는 세그멘테이션 분류 알고리즘을 이용하여 변경된 입력 데이터에서 값이 증가된 하나 이상의 영역을 관심영역으로 분리할 수 있다. 여기서, 세그멘테이션 분류 알고리즘은 그래프 컷(graph cut) 알고리즘, CRF(Conditional Random Field) 알고리즘 등일 수 있으나, 이에 제한되는 것은 아니다.
한편, 도 6을 참조하여 예를 들어 설명하면, 데이터 설정부(510)는 입력 데이터의 유형에 따라 관심영역을 분리할 수 있다. 도 6은 영상 데이터(600)를 예시한 것으로서, 도시된 바와 같이 2차원 영상 데이터(600)는 각 픽셀을 노드(610,630)로 하고, 격자로 연결된 방향성 없는 에지(620)로 연결된 그래프로 표현할 수 있다. 데이터 설정부(510)는 전술한 바와 같이 손실함수에 기초하여 입력 데이터를 변경할 때, 0으로 삭제되는 데이터의 노드(610)는 '-1'의 값을 할당하고, 삭제되지 않는 노드(630)는 '1'의 값을 할당할 수 있다.
관심영역 분리부(540)는 이와 같이 변경된 영상 데이터(600)에서 그래프 컷이나 CRF 등의 세그멘테이션 알고리즘을 이용하여 하나 이상의 영역(640)을 분리할 수 있다. 일반적으로, 영상 데이터(600)에서 어떤 객체는 공간적으로 연속되므로 관심영역 또한 2차원 공간 상에서 연속되어야 한다. 따라서, 이러한 특성을 이용하여 관심영역 분리부(540)는 '1'로 할당된 값들이 연속되어 있는 영역(640)을 분리할 수 있다. 이와 같이, 분리된 영역은 사용자의 관심영역이 될 수 있다.
이때, 입력 데이터에 하나의 물체가 다른 물체에 가려져 분리된 경우이거나 동일 종류의 물체가 여러 개 존재하는 경우와 같이, 하나의 선택된 가설에 해당하는 영역이 2개 이상일 수 있으므로 관심영역 분리부(540)는 그래프를 2개 이상으로 분리하거나, 필요에 따라서는 2개씩 분리하는 과정을 반복 수행할 수 있다. 이와 같이 각각의 영역에 대하여 각각 재분리 과정을 수행할 수 있으며, 하나의 재분리 과정에서 수행되도록 할 수 있다. 이때, 분류 알고리즘이 관련 영역을 충분히 찾아 내지 못하는 경우를 고려하여 잘려진 영역을 공간적으로 일정 크기 만큼 팽창하거나 일정 영역 비율로 확대할 수 있다.
한편, 음성과 같은 1차원의 입력 데이터는 각 시점을 노드로 하여 시간축으로 연결된 그래프로 표현될 수 있다. 이와 같이, 시간축으로 연결된 그래프에서 동일한 방법으로 시간적으로 연속되어 있는 영역을 관심영역으로 분리하는 것이 가능하다. 이를 통해, 연속된 음소, 음절, 단어 등을 관심영역으로 추출할 수 있다.
한편, 데이터 설정부(510)는 관심영역이 분리되면 재분리 여부를 판단할 수 있다. 판단 결과 재분리하는 것으로 판단되면 변경된 데이터를 새로운 입력 데이터로 설정하고, 데이터 분류부(530)로 하여금 재분류하도록 요청할 수 있다. 이러한 과정은 재분리하지 않는 것으로 판단될 때까지 반복 수행될 수 있다.
이때, 일 실시예에 따르면, 데이터 설정부(510)는 미리 정의된 반복 횟수 이상 분리 과정을 수행한 경우 등 미리 설정된 재분리 조건을 만족하지 않는 경우 재분리 하지 않는 것으로 판단할 수 있다.
다른 실시예에 따르면, 데이터 설정부(510)는 수신된 입력 데이터 및 관심영역 분리 결과를 화면에 표시하고, 관심영역 분리 결과를 확인한 사용자로부터 재분리 여부에 대한 정보를 수신할 수 있다. 데이터 설정부(510)는 사용자로부터 수신된 재분리 여부에 대한 정보에 기초하여 재분리 여부를 판단할 수 있다.
도 7은 일 실시예에 따른 관심영역 세그멘테이션 방법의 흐름도이다.
도 7은 도 5의 관심영역 세그멘테이션 장치(500)에 의해 수행되는 세그멘테이션 방법의 일 실시예일 수 있다.
관심영역 세그멘테이션 장치는 분류하고자 하는 입력 데이터를 수신한다(710). 이때, 입력 데이터는 음성, 영상 등 다양한 유형의 데이터일 수 있다.
그 다음, 분류 가능한 전체 클래스 중에서 정답일 것으로 예측되는 하나의 가설 클래스를 선택할 수 있다(720).
그 다음, 입력 데이터에 분류 알고리즘을 적용하여, 전체 클래스에 대한 확률값인 출력 데이터를 벡터 형식으로 출력할 수 있다(730).
그 다음, 출력 데이터 중에서 가설 클래스에 해당하는 값이 증가하도록 입력 데이터를 변경할 수 있다(740).
그 다음, 입력 데이터의 변경 결과를 기초로 하여 변경된 입력 데이터에서 하나 이상의 영역을 분리할 수 있다(750). 이때, 도 6을 참조하여 전술한 바와 같이, 입력 데이터의 유형에 따라 하나 이상의 연속된 영역을 관심영역으로 분리할 수 있다. 이때, 미리 정의된 세그멘테이션 알고리즘, 예컨대 그래프 컷이나 CRF 등의 알고리즘을 이용하여 입력 데이터에서 연속된 공간을 분리할 수 있다.
이때, 하나의 선택된 가설에 해당하는 영역이 2개 이상일 수 있으므로, 관심영역을 분리하는 단계(750)는 그래프를 2개 이상으로 분리하거나, 2개씩 분리하는 과정을 반복 수행할 수 있다.
한편, 본 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 개시된 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 데이터 분류 장치 110: 데이터 설정부
120: 가설 클래스 선택부 130: 데이터 분류부
140: 결과 출력부 210: 손실함수 정의부
220: 기울기 산출부 230: 데이터 변경부
500: 관심영역 세그멘테이션 장치
510: 데이터 설정부 520: 가설 클래스 선택부
530: 데이터 분류부 540: 관심영역 분리부

Claims (26)

  1. 입력 데이터를 수신하는 단계;
    분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택하는 단계;
    입력 데이터에 분류 알고리즘을 적용하여 상기 전체 클래스에 관한 출력 데이터를 생성하는 단계;
    재분류 조건을 만족하는지 여부를 판단하는 단계;
    상기 판단 결과 재분류 조건을 만족하는 경우, 상기 출력 데이터 중에서 가설 클래스의 값이 증가하도록 입력 데이터를 변경하는 단계;
    상기 변경된 데이터를 새로운 입력 데이터로 설정하고, 상기 출력 데이터를 생성하는 단계 이하를 반복 수행하는 단계; 및
    상기 판단 결과 재분류 조건을 만족하지 않는 경우, 상기 입력 데이터 및 출력 데이터를 출력하는 단계를 포함하는 데이터 분류 방법.
  2. 제1항에 있어서,
    상기 재분류 조건은
    상기 가설 클래스의 값이 미리 설정된 임계치 이하인 경우 및, 미리 설정된 재분류 횟수 이하인 경우 중의 적어도 하나를 포함하는 데이터 분류 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 입력 데이터를 변경하는 단계는
    상기 가설 클래스를 사용하여 상기 분류 알고리즘의 손실함수를 정의하는 단계;
    상기 정의된 손실함수의 기울기 벡터를 구하는 단계; 및
    상기 기울기 벡터를 기반으로 입력 데이터를 변경하는 단계를 포함하는 데이터 분류 방법.
  5. 제4항에 있어서,
    상기 기울기 벡터를 기반으로 입력 데이터를 변경하는 단계는
    입력 데이터의 각 값을 기울기 방향으로 임의의 양의 값 만큼 감소시키는 데이터 분류 방법.
  6. 제4항에 있어서,
    상기 기울기 벡터를 기반으로 입력 데이터를 변경하는 단계는
    입력 데이터의 각 값 중에서, 부호값과 기울기 값을 곱한 결과가 기준값 이상이거나, 기울기의 절대값이 기준값 이상인 값을 0으로 변경하는 데이터 분류 방법.
  7. 제1항에 있어서,
    상기 수신된 입력 데이터에 상기 분류 알고리즘을 적용하여 상기 전체 클래스에 관한 초기 출력 데이터를 생성하는 단계를 더 포함하고,
    상기 가설 클래스를 선택하는 단계는
    상기 초기 출력 데이터의 각 값의 크기에 기초하여 상기 가설 클래스를 선택하는 데이터 분류 방법.
  8. 제1항에 있어서,
    상기 분류 알고리즘은
    뉴럴 넷(Neural Network), CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 포함하는 분류 알고리즘 중의 어느 하나인 데이터 분류 방법.
  9. 입력 데이터를 수신하는 데이터 설정부;
    분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택하는 가설 클래스 선택부;
    입력 데이터에 분류 알고리즘을 적용하여 전체 클래스에 관한 출력 데이터를 생성하는 데이터 분류부; 및
    재분류 조건을 만족하는지 않는 경우, 입력 데이터 및 출력 데이터를 출력하는 결과 출력부를 포함하고,
    상기 데이터 설정부는
    재분류 조건을 만족하는지 판단하여 만족하는 경우, 상기 출력 데이터 중에서 가설 클래스 값이 증가하도록 입력 데이터를 변경하고, 변경된 데이터를 새로운 입력 데이터로 설정하는 데이터 분류 장치.
  10. 제9항에 있어서,
    상기 재분류 조건은
    상기 가설 클래스의 값이 미리 설정된 임계치 이하인 경우 및, 미리 설정된 재분류 횟수 이하인 경우 중의 적어도 하나를 포함하는 데이터 분류 장치.
  11. 삭제
  12. 제9항에 있어서,
    상기 데이터 설정부는
    상기 가설 클래스를 사용하여 상기 분류 알고리즘의 손실함수를 정의하는 손실함수 정의부;
    상기 정의된 손실함수에 대한 기울기 벡터를 구하는 기울기 산출부; 및
    상기 기울기 벡터를 기반으로 입력 데이터를 변경하는 데이터 변경부를 포함하는 데이터 분류 장치.
  13. 제12항에 있어서,
    상기 데이터 변경부는
    입력 데이터의 각 값을 기울기 방향으로 임의의 양의 값만큼 감소시키는 데이터 분류 장치.
  14. 제12항에 있어서,
    상기 데이터 변경부는
    입력 데이터의 각 값 중에서, 부호값과 기울기 값을 곱한 결과가 기준값 이상이거나, 기울기의 절대값이 기준값 이상인 값을 0으로 변경하는 데이터 분류 장치.
  15. 제9항에 있어서,
    상기 가설 클래스 선택부는
    상기 수신된 입력 데이터에 상기 분류 알고리즘을 적용하여 전체 클래스에 관한 초기 출력 데이터를 생성하고, 상기 초기 출력 데이터의 각 값의 크기에 기초하여 상기 가설 클래스를 선택하는 데이터 분류 장치.
  16. 제9항에 있어서,
    상기 분류 알고리즘은
    뉴럴 넷(Neural Network), CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 포함하는 분류 알고리즘 중의 어느 하나인 데이터 분류 장치.
  17. 입력 데이터를 수신하는 단계;
    분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택하는 단계;
    입력 데이터에 분류 알고리즘을 적용하여 전체 클래스에 관한 출력 데이터 생성하는 단계;
    상기 출력 데이터 중에서 상기 가설 클래스의 값이 증가하도록 입력 데이터를 변경하는 단계; 및
    상기 변경 결과를 기초로, 상기 변경된 입력 데이터에서 하나 이상의 영역을 관심영역으로 분리하는 단계를 포함하고,
    상기 관심영역으로 분리하는 단계는
    세그멘테이션 알고리즘을 이용하여 상기 변경된 입력 데이터에서 값이 증가된 하나 이상의 연속된 영역을 관심영역으로 분리하는 관심영역 세그멘테이션 방법.
  18. 제17항에 있어서,
    관심영역의 재분리 여부를 판단하는 단계;
    상기 판단 결과 재분리하는 것으로 판단되면, 상기 분리된 하나 이상의 연속된 영역을 포함하는 새로운 입력 데이터를 생성하는 단계; 및
    상기 출력 데이터를 생성하는 단계 이하를 반복 수행하는 단계를 더 포함하는 관심영역 세그멘테이션 방법.
  19. 삭제
  20. 제17항에 있어서,
    상기 세그멘테이션 알고리즘은
    그래프 컷(graph cut) 및 CRF(Conditional Random Field) 중의 적어도 하나를 포함하는 관심영역 세그멘테이션 방법.
  21. 제17항에 있어서,
    상기 입력 데이터를 변경하는 단계는
    상기 가설 클래스를 사용하여 상기 분류 알고리즘의 손실함수를 정의하는 단계;
    상기 정의된 손실함수의 기울기 벡터를 구하는 단계; 및
    상기 기울기 벡터를 기반으로 하여 입력 데이터를 변경하는 단계를 포함하는 관심영역 세그멘테이션 방법.
  22. 분류 가능한 전체 클래스 중에서 하나의 가설 클래스를 선택하는 가설 클래스 선택부;
    입력 데이터에 분류 알고리즘을 적용하여 전체 클래스에 관한 출력 데이터 생성하는 데이터 분류부;
    상기 출력 데이터 중에서 상기 가설 클래스의 값이 증가하도록 입력 데이터를 변경하는 데이터 설정부; 및
    상기 변경 결과를 기초로 상기 변경된 입력 데이터에서 하나 이상의 영역을 관심영역으로 분리하는 관심영역 분리부를 포함하고,
    상기 관심영역 분리부는
    세그멘테이션 알고리즘을 이용하여 상기 변경된 입력 데이터에서 값이 증가된 하나 이상의 연속된 영역을 관심영역으로 분리하는 관심영역 세그멘테이션 장치.
  23. 제22항에 있어서,
    상기 데이터 설정부는
    관심영역의 재분리 여부를 판단하고, 재분리하는 것으로 판단되면 상기 분리된 하나 이상의 영역을 포함하는 새로운 입력 데이터를 생성하는 관심영역 세그멘테이션 장치.
  24. 삭제
  25. 제22항에 있어서,
    상기 세그멘테이션 알고리즘은
    그래프 컷(graph cut) 및 CRF(Conditional Random Field) 중의 적어도 하나를 포함하는 관심영역 세그멘테이션 장치.
  26. 제22항에 있어서,
    상기 데이터 설정부는
    상기 가설 클래스를 사용하여 상기 분류 알고리즘의 손실함수를 정의하는 손실함수 정의부;
    상기 정의된 손실함수의 기울기 벡터를 구하는 기울기 산출부; 및
    상기 기울기 벡터를 기반으로 하여 입력 데이터를 변경하는 데이터 변경부를 포함하는 관심영역 세그멘테이션 장치.
KR1020140172347A 2014-12-03 2014-12-03 데이터 분류 방법 및 장치와 관심영역 세그멘테이션 방법 및 장치 KR102315574B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140172347A KR102315574B1 (ko) 2014-12-03 2014-12-03 데이터 분류 방법 및 장치와 관심영역 세그멘테이션 방법 및 장치
US14/944,717 US10460232B2 (en) 2014-12-03 2015-11-18 Method and apparatus for classifying data, and method and apparatus for segmenting region of interest (ROI)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140172347A KR102315574B1 (ko) 2014-12-03 2014-12-03 데이터 분류 방법 및 장치와 관심영역 세그멘테이션 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160066926A KR20160066926A (ko) 2016-06-13
KR102315574B1 true KR102315574B1 (ko) 2021-10-20

Family

ID=56094628

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140172347A KR102315574B1 (ko) 2014-12-03 2014-12-03 데이터 분류 방법 및 장치와 관심영역 세그멘테이션 방법 및 장치

Country Status (2)

Country Link
US (1) US10460232B2 (ko)
KR (1) KR102315574B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230095336A (ko) 2021-12-22 2023-06-29 주식회사 렛서 인터렉티브 이미지 세그멘테이션 방법 및 그 장치
KR20230095350A (ko) 2021-12-22 2023-06-29 주식회사 렛서 이미지 세그멘테이션 결과의 검증 방법 및 그 장치
KR102572423B1 (ko) 2023-03-07 2023-08-30 주식회사 에이모 인스턴스 레이어를 생성하는 방법 및 장치

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516103B (zh) * 2016-06-17 2020-08-25 北京市商汤科技开发有限公司 一种影像分类方法和系统
KR101886373B1 (ko) * 2016-07-14 2018-08-09 주식회사 언더핀 딥러닝 인공신경망 기반의 타스크 제공 플랫폼
US11526757B2 (en) 2016-09-19 2022-12-13 Intrinsic Innovation Llc Systems and methods for deep learning with small training sets
US10303961B1 (en) * 2017-04-13 2019-05-28 Zoox, Inc. Object detection and passenger notification
KR101898511B1 (ko) * 2017-05-10 2018-10-31 가톨릭관동대학교산학협력단 모바일 어플리케이션을 이용한 통합 결제 관리방법
CN107578055B (zh) * 2017-06-20 2020-04-14 北京陌上花科技有限公司 一种图像预测方法和装置
KR102049331B1 (ko) * 2017-08-22 2019-11-27 주식회사 인피닉스 이미지 분류 장치와 방법 및 이미지 분류를 위한 이미지 학습 장치
KR102127855B1 (ko) * 2018-03-27 2020-06-29 인하대학교 산학협력단 검출 반복성을 최대화 하는 특징점 선별방법
US11645535B2 (en) 2018-09-24 2023-05-09 Samsung Electronics Co., Ltd. Normalization method for training deep neural networks
KR102061445B1 (ko) * 2019-02-22 2019-12-31 써모아이 주식회사 가시광 및 적외선 융합 영상 기반 객체 검출 방법 및 장치
KR20210099988A (ko) * 2020-02-05 2021-08-13 삼성전자주식회사 뉴럴 네트워크의 메타 학습 방법 및 장치와 뉴럴 네트워크의 클래스 벡터 학습 방법 및 장치
US11080484B1 (en) * 2020-10-08 2021-08-03 Omniscient Neurotechnology Pty Limited Natural language processing of electronic records

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030133503A1 (en) * 2002-01-17 2003-07-17 Marco Paniconi Motion segmentation system with multi-frame hypothesis tracking
WO2008008142A2 (en) 2006-07-12 2008-01-17 Kofax Image Products, Inc. Machine learning techniques and transductive data classification
US20090304290A1 (en) 2008-06-09 2009-12-10 Denso Corporation Image recognition apparatus utilizing plurality of weak classifiers for evaluating successive sub-images extracted from an input image
US20120127267A1 (en) 2010-11-23 2012-05-24 Qualcomm Incorporated Depth estimation based on global motion

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08241092A (ja) 1995-03-03 1996-09-17 Nippon Telegr & Teleph Corp <Ntt> 音響モデルの話者適応化方法とその装置
US5850470A (en) 1995-08-30 1998-12-15 Siemens Corporate Research, Inc. Neural network for locating and recognizing a deformable object
KR100631608B1 (ko) 2004-11-25 2006-10-09 엘지전자 주식회사 음성 판별 방법
JP5207870B2 (ja) 2008-08-05 2013-06-12 日立コンピュータ機器株式会社 次元削減方法、パターン認識用辞書生成装置、及びパターン認識装置
US8488863B2 (en) * 2008-11-06 2013-07-16 Los Alamos National Security, Llc Combinational pixel-by-pixel and object-level classifying, segmenting, and agglomerating in performing quantitative image analysis that distinguishes between healthy non-cancerous and cancerous cell nuclei and delineates nuclear, cytoplasm, and stromal material objects from stained biological tissue materials
KR20110055347A (ko) 2009-11-17 2011-05-25 삼성전자주식회사 컨텐츠 기반의 이미지 분류를 위한 방법, 장치 및 시스템
EP2323069A2 (en) 2009-11-17 2011-05-18 Samsung Electronics Co., Ltd. Method, device and system for content based image categorization field
KR20120052778A (ko) 2010-11-16 2012-05-24 한국전자통신연구원 음향모델 적응 장치 및 그 방법
KR101174048B1 (ko) 2010-12-10 2012-08-16 경북대학교 산학협력단 객체 인식 장치 및 객체 인식 방법
CN103778600B (zh) * 2012-10-25 2019-02-19 北京三星通信技术研究有限公司 图像处理系统
US9720934B1 (en) * 2014-03-13 2017-08-01 A9.Com, Inc. Object recognition of feature-sparse or texture-limited subject matter
US20160156579A1 (en) * 2014-12-01 2016-06-02 Google Inc. Systems and methods for estimating user judgment based on partial feedback and applying it to message categorization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030133503A1 (en) * 2002-01-17 2003-07-17 Marco Paniconi Motion segmentation system with multi-frame hypothesis tracking
WO2008008142A2 (en) 2006-07-12 2008-01-17 Kofax Image Products, Inc. Machine learning techniques and transductive data classification
JP5364578B2 (ja) 2006-07-12 2013-12-11 コファックス, インコーポレイテッド トランスダクティブデータ分類のための方法およびシステム、ならびに機械学習手法を用いたデータ分類方法
US20090304290A1 (en) 2008-06-09 2009-12-10 Denso Corporation Image recognition apparatus utilizing plurality of weak classifiers for evaluating successive sub-images extracted from an input image
US20120127267A1 (en) 2010-11-23 2012-05-24 Qualcomm Incorporated Depth estimation based on global motion

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230095336A (ko) 2021-12-22 2023-06-29 주식회사 렛서 인터렉티브 이미지 세그멘테이션 방법 및 그 장치
KR20230095350A (ko) 2021-12-22 2023-06-29 주식회사 렛서 이미지 세그멘테이션 결과의 검증 방법 및 그 장치
KR102572423B1 (ko) 2023-03-07 2023-08-30 주식회사 에이모 인스턴스 레이어를 생성하는 방법 및 장치

Also Published As

Publication number Publication date
US20160162805A1 (en) 2016-06-09
US10460232B2 (en) 2019-10-29
KR20160066926A (ko) 2016-06-13

Similar Documents

Publication Publication Date Title
KR102315574B1 (ko) 데이터 분류 방법 및 장치와 관심영역 세그멘테이션 방법 및 장치
US10395136B2 (en) Image processing apparatus, image processing method, and recording medium
US9002101B2 (en) Recognition device, recognition method, and computer program product
US9582518B2 (en) Image processing apparatus, image processing method, and storage medium
US9563822B2 (en) Learning apparatus, density measuring apparatus, learning method, computer program product, and density measuring system
EP3226176B1 (en) Method for learning rejector by forming classification tree in use of training images and detecting object in test images, and rejector using the same
CN106295666B (zh) 获取分类器、检测对象的方法和装置及图像处理设备
US9619753B2 (en) Data analysis system and method
KR102543698B1 (ko) 컴퓨팅 시스템 및 상기 장치에서 수행되는 데이터 라벨링 방법
JP6577397B2 (ja) 画像解析装置、画像解析方法、画像解析プログラム、および画像解析システム
KR20170087817A (ko) 얼굴 검출 방법 및 장치
CN111937003A (zh) 用于人群估计技术的集成和自动切换的方法、系统和计算机可读介质
JP6833617B2 (ja) 移動体追跡装置、移動体追跡方法およびプログラム
JP7156383B2 (ja) 情報処理装置、情報処理方法、プログラム
EP3869450A1 (en) Information processing device, information processing method, and program
KR102499861B1 (ko) 인공지능 기반 객체 재인식 장치
KR102195940B1 (ko) 적응적 비최대억제 방법을 이용하는 딥러닝기반 영상객체 탐지를 위한 장치 및 방법
CN111435457B (zh) 对传感器获取的采集进行分类的方法
JP5360143B2 (ja) 走行場面認識モデル生成装置、運転支援装置、及びプログラム
KR101506812B1 (ko) 랜덤 포레스트와 이진 패턴 반복 길이 행렬을 이용한 얼굴 자세 추정 방법
KR20210111677A (ko) 뉴럴 네트워크의 클리핑 방법, 뉴럴 네트워크의 컨벌루션 계산 방법 및 그 방법을 수행하기 위한 전자 장치
JP2014110020A (ja) 画像処理装置、画像処理方法および画像処理プログラム
KR102534936B1 (ko) 영상 분류 장치 및 방법
KR20200134813A (ko) 기계 학습을 위한 이미지 처리 장치 및 방법
KR101704736B1 (ko) 다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant