2014-05-13 4 views
5

HoG + SVM을 사용하여 개체를 여러 범주로 분류하려고합니다. 문제는 교육 이미지의 차원이 다르다는 것입니다. 결과 HoG 디스크립터는 가변 길이를 갖는다. 모든 트레이닝 이미지에서 셀로 피쳐를 추출했습니다. 셀의 각 요소 i는 데이터 집합의 이미지 i에 대한 HoG 설명자의 벡터입니다. 내 질문은 SVM 분류 자 ​​(svmtrain 함수 사용)를 교육하기 위해 어떻게 호환 가능합니까?훈련 이미지 (MATLAB)의 다양한 크기의 돼지 설명자를 사용한 SVM 교육

답변

7

정확하게 언급 한 바와 같이, SVM은 가변 길이 벡터로 트레이닝 할 수 없습니다.

이미지 크기를 1, 즉 256x256으로 표준화 할 수 있습니다. 이를 수행 할 수있는 가능성은 다음과 같습니다.

  1. 센터 주위로 256x256 패치 자르기.
  2. 원본 종횡비를 버리는 256x256 크기로 이미지 크기를 조정하십시오.
  3. 이미지를 256xM 크기로 조정합니다. 여기서 M < 256 - 보존 원래 종횡비. 이미지를 256x256에 채우려면 왼쪽과 오른쪽 (또는 위쪽과 아래쪽)에 회색 줄무늬를 추가하십시오.

모든 변형은 다른 작성자가 사용하므로 어느 것이 가장 적합한 지 확인해야합니다.

+0

오래 된 ufo 주셔서 감사합니다. 매우 도움이되었습니다. 나는 이것을 지금 시험해 볼 것이다. –

3

SVM 은 가변 길이 벡터로을 트레이닝 할 수 없습니다. 데이터를 일정한 길이 표현으로 매핑하는 일종의 변형을 사용해야합니다. 예를 들어 잘 알려진 차원 감소 기술을 수행 할 수 있습니다.

+0

치수 감소를 제외하고 문제를 해결하는 방법에 대한 아이디어가 있으십니까? –