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}

データセットには3つのフィールドがあります:

  • 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