Datasets documentation

이미지 분류

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v4.8.4).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

이미지 분류

이미지 분류 데이터셋은 모델이 전체 이미지를 분류하도록 학습하는 데 사용됩니다. 이러한 데이터셋을 통해 멸종 위기 야생 동물 종 식별이나 의료 이미지에서 질병 선별과 같은 다양한 애플리케이션을 구현할 수 있습니다. 이 가이드에서는 이미지 분류 데이터셋에 변환을 적용하는 방법을 보여줍니다.

시작하기 전에 albumentations와 cv2의 최신 버전이 설치되어 있는지 확인하세요:

pip install -U albumentations opencv-python

이 가이드는 잎의 이미지를 기반으로 콩 식물 질병의 유형을 식별하기 위해 Beans 데이터셋을 사용합니다.

데이터셋을 로드하고 예시를 확인해 보세요:

>>> from datasets import load_dataset

>>> dataset = load_dataset("AI-Lab-Makerere/beans")
>>> dataset["train"][10]
{'image': <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=500x500 at 0x7F8D2F4D7A10>,
 'image_file_path': '/root/.cache/huggingface/datasets/downloads/extracted/b0a21163f78769a2cf11f58dfc767fb458fc7cea5c05dccc0144a2c0f0bc1292/train/angular_leaf_spot/angular_leaf_spot_train.204.jpg',
 'labels': 0}

데이터셋에는 세 가지 필드가 있습니다:

  • image: PIL 이미지 객체.
  • image_file_path: 이미지 파일의 경로.
  • labels: 이미지의 라벨 또는 카테고리.

다음으로 이미지를 확인해 보세요:

albumentations를 사용하여 몇 가지 증강을 적용합니다. 이미지를 무작위로 잘라내고, 수평으로 뒤집고, 밝기를 조정합니다.

>>> import cv2
>>> import albumentations
>>> import numpy as np

>>> transform = albumentations.Compose([
...     albumentations.RandomCrop(width=256, height=256),
...     albumentations.HorizontalFlip(p=0.5),
...     albumentations.RandomBrightnessContrast(p=0.2),
... ])

이미지에 변환을 적용하는 함수를 생성합니다:

>>> def transforms(examples):
...     examples["pixel_values"] = [
...         transform(image=np.array(image))["image"] for image in examples["image"]
...     ]
... 
...     return examples

set_transform() 함수를 사용하여 데이터셋의 배치에 변환을 온더플라이로 적용하여 디스크 공간을 덜 사용하도록 할 수 있습니다:

>>> dataset.set_transform(transforms)

첫 번째 예시의 pixel_values에 인덱싱하여 변환이 제대로 수행되었는지 확인할 수 있습니다:

>>> import numpy as np
>>> import matplotlib.pyplot as plt

>>> img = dataset["train"][0]["pixel_values"]
>>> plt.imshow(img)

이미지 분류를 위한 데이터셋 처리 방법을 알게 되셨으니, 이미지 분류 모델을 학습하는 방법과 추론 시 사용법을 배워보세요.

Update on GitHub