답변

2

너무 광범위한 질문입니다.

일반적으로 사용자는 clustering mechanism을 사용할 수 있습니다. 인기있는 K- 수단. 클러스터링을위한 데이터를 준비하려면 컬렉션을 배열 X로 변환해야합니다. 모든 행은 하나의 예제 (이미지)이고 모든 열은 기능입니다.

주요 질문 - 기능이 있어야합니다. 당신이 성취하고자하는 것을 모른 채 대답하기가 어렵습니다. 이미지가 작고 크기가 같은 경우 모든 픽셀을 피쳐로 사용할 수 있습니다. 메타 데이터가 있고이를 사용하여 정렬하려면 메타 데이터의 모든 태그를 기능으로 사용할 수 있습니다.

이제 이미지 사이의 패턴을 실제로 찾아야하는 경우 추가 이미지 레이어 (예 : convolutional neural network)를 적용해야합니다.이 레이어는 기본적으로 이미지의 다른 부분에서 피쳐를 추출 할 수 있도록합니다. 필터를 모든 이미지를 8x8 행렬로 변환하는 필터로 생각할 수 있습니다.이 행렬은 클러스터링을 위해 배열 X에서 64 가지 기능을 가진 행으로 사용할 수 있습니다.

+0

각 클러스터가 동일한 개체/장면의 사진으로 구성되도록하고 싶습니다. 즉, 내 방의 사진을 3 장 찍었지만 약간 다른 위치에서 또는 일부 사진의 빛이 적었습니다. 따라서 사진은 완전히 동일하지는 않지만 매우 유사합니다. – alex

+0

이 경우 깊은 학습 (convnet)의 깊이를 탐구하기 전에 먼저 간단한 접근법을 시도하는 것이 좋습니다. 나는 모든 이미지의 픽셀 맵을 추출 할 것입니다. 특히 모든 이미지가 동일한 크기이기 때문입니다. 사진을 흑백으로 변환하면 복잡성을 줄일 수 있습니다. 그런 다음 scikit-learn에서 k-means를 적용 해보십시오. 영향을보기 위해 클러스터 수를 변경하십시오. 하지만 대부분의 경우 의미있는 결과를 얻으려면 convnet을 적용해야합니다. 나는 단계적으로 움직일 것을 제안하고있다. – omdv

+0

사실 나는 당신의 경우에 잘 적용될 수있는 mahotas 라이브러리를 살펴볼 것을 제안합니다. 링크 - http://mahotas.readthedocs.io/en/latest/features.html – omdv

관련 문제