Partage de technologie

Augmentation des données (images)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Amélioration des données

1. Ajoutez un ensemble de données existant pour offrir plus de diversité, par exemple en ajoutant différents bruits de fond et en modifiant la couleur et la forme de l'image.

2. Des données améliorées sont générées en ligne

3. Type d'amélioration :

(1) Retourner

(2) Découpe

(3) Couleur

(4) Aiguiser et ajouter des taches

2. Résumé

1. L'augmentation des données obtient de la diversité en déformant les données, rendant ainsi le modèle plus généralisable.

2. Les améliorations courantes de l'image incluent le retournement, la découpe et la décoloration.

3. Modifiez simplement l'ensemble de données

4. Afin d'obtenir des résultats précis pendant le processus de prédiction, nous effectuons généralement une augmentation d'image uniquement sur les échantillons d'apprentissage et n'utilisons pas d'augmentation d'image avec des opérations aléatoires pendant le processus de prédiction.

5. Le cadre d’apprentissage profond propose de nombreuses méthodes différentes d’augmentation d’image, qui peuvent être appliquées simultanément.

3. Coder

1. Méthode d'augmentationaug

def apply(img, aug, num_rows=2, num_cols=4, scale=1.5):
    Y = [aug(img) for _ in range(num_rows * num_cols)]
    d2l.show_images(Y, num_rows, num_cols, scale=scale)

2. Retourner

apply(img, torchvision.transforms.RandomHorizontalFlip())
apply(img, torchvision.transforms.RandomVerticalFlip())

3. Coupe

#面积为原始面积10%到100%的区域,宽高比从0.5~2之间随机取值
shape_aug = torchvision.transforms.RandomResizedCrop(
    (200, 200), scale=(0.1, 1), ratio=(0.5, 2))
apply(img, shape_aug)

4. Luminosité

apply(img, torchvision.transforms.ColorJitter(
    brightness=0.5, contrast=0, saturation=0, hue=0))

5. Tonalité de couleur

apply(img, torchvision.transforms.ColorJitter(
    brightness=0, contrast=0, saturation=0, hue=0.5))

luminosité(brightness), contraste (contrast),saturation(saturation) et la teinte (hue

6. Mélanger

augs = torchvision.transforms.Compose([
    torchvision.transforms.RandomHorizontalFlip(), color_aug, shape_aug])
apply(img, augs)