2

내 방법은 사용 :표정 분류 K-수단 K-수단을 사용하여 얼굴 표정을 분류

  1. 사용을 OpenCV는 얼굴 특징점을 얻을 수있는 이미지
  2. 사용 ASM과 stasm에서 얼굴을 검출하기를
  3. 얼굴 모양 간의 거리를 계산합니다 (그림 참조). 5 개의 거리가 있습니다. enter image description here
  4. 각 표정의 각 거리에 대한 중심 값을 계산합니다 (거리 : D1에서 각 표정 '행복, 화난 ...'에 대해 7 개의 중력이 있음).
  5. 5 k-means는 거리에 대해 각 k-means를 의미하며 각 k-means는 결과로 첫 번째 단계에서 계산 된 Centroid에 가장 가까운 거리로 표시됩니다.
  6. 최종 표현식은 대부분의 K-수단에 표시되는 표현은 내 결과가 잘못 그 방법을 사용하여, 그러나

결과가 될 것인가? 내 방법이 정확합니까 아니면 어딘가 잘못 되었습니까?

+0

클러스터링 대신 분류 사용을 고려하십시오. –

+2

필자도 분류법을 사용 하겠지만, 시도해보고 싶다면 k-means가 5 가지 기능을 모두 사용하여 수행하고 5 차원 공간에서 중심을 찾는 방식을 확인할 수 있습니다. – pabaldonedo

+1

분리 가능 여부를 확인하기 위해 데이터를 플롯 한 적이 있습니까? 5 차원 데이터를 그리기가 어렵 기 때문에 PCA를 실행하고 다른 표현식의 처음 세 가지 주요 구성 요소를 플롯하여 실제로 분리 가능한지 확인하십시오. 중복되는 경우 데이터를 표현하는 새로운 방법을 생각해야합니다. 얼굴 표정을 표현하는 최적의 방법이 무엇인지 말하기는 정말 어렵습니다. 그렇다면이 질문에 알고리즘 적으로 대답하기 위해 깊은 신념을 사용하지 않는 것이 어떻습니까? – Brandli

답변

3

K- 수단은 분류 알고리즘이 아닙니다. 일단 실행되면 K 요소의 중심을 간단히 찾아서 데이터를 K 부분으로 나눕니다. 그러나 대부분의 경우 원하는 클래스와 관련이 없습니다. 데이터를 탐색하고 일부 구별 가능한 개체를 찾으려면이 알고리즘 (모든 클러스터링 방법)을 사용해야합니다. 에서 구별 할 수있다. 감각. 당신의 작업이 일부 주어진 클래스를 인식하는 시스템을 구축하는 경우, 그것은 classification 문제가되지 clustering입니다. 구현하기 쉽고 이해하기 쉬운 가장 간단한 방법 중 하나는 KNN (K- 가장 가까운 이웃)입니다. 이는 대략 성취하려는 것을 수행합니다. 어떤 클래스의 객체가 미리 정의 된 객체와 가장 가까운 객체인지 확인합니다.

차이점을보다 잘 확인하려면 얼굴 특징을 기반으로 감정 상태를 감지하려고합니다. 이러한 데이터에서 K-수단을 실행하면 여러 그룹으로 당신의 얼굴 사진을 분할 할 수 있습니다 : (자신의 거리가 다른 사람과 다를로)

  • 당신이 다른 사람의 사진을 사용하는 경우는
  • 그것을 함께 특정 사람의 사진을 클러스터 수 같은 기능에 성별 차이가 있기 때문에 예를 들어 남자와 여자로 데이터를 분할 할 수 있습니다.
  • 원근법이 기능을 변경하고 "클러스터"를 생성하므로 카메라와의 거리에 따라 데이터를 분할 할 수도 있습니다.

당신이 볼 수 있듯이, 다른 클러스터링 알고리즘 단순히 하나를 찾을 수 수십 가능 "합리적인"(더욱 완전하게 해석되지 않음) 분할 및 K-수단 (모든가와 )이있다 (대부분의 경우 해석 불가능한 것). 분류 방법은이 문제를 극복하기 위해 알고리즘을 "설명"하는 데 사용됩니다.