Path: blob/main/transformers_doc/ko/image_feature_extraction.ipynb
8341 views
이미지 특징 추출[[image-feature-extraction]]
이미지 특징 추출은 주어진 이미지에서 의미론적으로 의미 있는 특징을 추출하는 작업입니다. 이는 이미지 유사성 및 이미지 검색 등 다양한 사용 사례가 있습니다. 게다가 대부분의 컴퓨터 비전 모델은 이미지 특징 추출에 사용할 수 있으며, 여기서 작업 특화 헤드(이미지 분류, 물체 감지 등)를 제거하고 특징을 얻을 수 있습니다. 이러한 특징은 가장자리 감지, 모서리 감지 등 고차원 수준에서 매우 유용합니다. 또한 모델의 깊이에 따라 실제 세계에 대한 정보(예: 고양이가 어떻게 생겼는지)를 포함할 수도 있습니다. 따라서 이러한 출력은 특정 데이터 세트에 대한 새로운 분류기를 훈련하는 데 사용할 수 있습니다.
이 가이드에서는:
image-feature-extraction파이프라인을 활용하여 간단한 이미지 유사성 시스템을 구축하는 방법을 배웁니다.기본 모델 추론으로 동일한 작업을 수행합니다.
image-feature-extraction 파이프라인을 이용한 이미지 유사성[[image-similarity-using-image-feature-extraction-pipeline]]
물고기 그물 위에 앉아 있는 두 장의 고양이 사진이 있습니다. 이 중 하나는 생성된 이미지입니다.
파이프라인을 실행해 봅시다. 먼저 파이프라인을 초기화하세요. 모델을 지정하지 않으면, 파이프라인은 자동으로 google/vit-base-patch16-224 모델로 초기화됩니다. 유사도를 계산하려면 pool을 True로 설정하세요.
pipe를 사용하여 추론하려면 두 이미지를 모두 전달하세요.
출력에는 두 이미지의 풀링된(pooled) 임베딩이 포함되어 있습니다.
유사도 점수를 얻으려면, 이들을 유사도 함수에 전달해야 합니다.
풀링 이전의 마지막 은닉 상태를 얻고 싶다면, pool 매개변수에 아무 값도 전달하지 마세요. 또한, 기본값은 False로 설정되어 있습니다. 이 은닉 상태는 모델의 특징을 기반으로 새로운 분류기나 모델을 훈련시키는 데 유용합니다.
아직 출력이 풀링되지 않았기 때문에, 첫 번째 차원은 배치 크기이고 마지막 두 차원은 임베딩 형태인 마지막 은닉 상태를 얻을 수 있습니다.
AutoModel을 사용하여 특징과 유사성 얻기[[getting-features-and-similarities-using-automodel]]
transformers의 AutoModel 클래스를 사용하여 특징을 얻을 수도 있습니다. AutoModel은 작업 특화 헤드 없이 모든 transformers 모델을 로드할 수 있으며, 이를 통해 특징을 추출할 수 있습니다.
추론을 위한 간단한 함수를 작성해 보겠습니다. 먼저 입력값을 processor에 전달한 다음, 그 출력값을 model에 전달할 것입니다.
이 함수에 이미지를 직접 전달하여 임베딩을 얻을 수 있습니다.
그리고 이 임베딩을 사용하여 다시 유사도를 계산할 수 있습니다.