Maison > Périphériques technologiques > IA > le corps du texte

Résumé de 12 techniques d'amélioration des données d'image couramment utilisées

王林
Libérer: 2023-04-11 22:49:01
avant
2034 Les gens l'ont consulté

L'objectif de la formation d'un modèle de machine learning ou de deep learning est de devenir un modèle « universel ». Cela nécessite que le modèle ne surajuste pas l'ensemble de données d'entraînement, ou en d'autres termes, que notre modèle ait une bonne compréhension des données invisibles. L’augmentation des données est également l’un des nombreux moyens d’éviter le surapprentissage.

Le processus d'augmentation de la quantité de données utilisée pour entraîner un modèle est appelé augmentation des données. En entraînant un modèle avec plusieurs types de données, nous pouvons obtenir un modèle plus « généralisé ». Que signifie « plusieurs types de données » ? Cet article traite uniquement de la technologie d'amélioration des données « d'image » et présente uniquement en détail diverses stratégies d'amélioration des données d'image. Nous mettrons également en pratique et mettrons en œuvre des techniques d'augmentation de données principalement utilisées dans les données d'image ou la vision par ordinateur à l'aide de PyTorch.

Résumé de 12 techniques damélioration des données dimage couramment utilisées


Parce qu'il introduit une technologie d'amélioration des données. Il suffit donc d'utiliser une image, regardons d'abord le code du visuel

import PIL.Image as Image
 import torch
 from torchvision import transforms
 import matplotlib.pyplot as plt
 import numpy as np
 import warnings
 
 def imshow(img_path, transform):
Copier après la connexion

Resize/Rescale

Cette fonction est utilisée pour redimensionner la hauteur et la largeur de l'image à la taille spécifique souhaitée. Le code ci-dessous montre que nous souhaitons redimensionner l'image de sa taille d'origine à 224 x 224.

path = './kitten.jpeg'
 transform = transforms.Resize((224, 224))
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques damélioration des données dimage couramment utilisées

Recadrage

Cette technique applique une partie d'une image sélectionnée à une nouvelle image. Par exemple, utilisez CenterCrop pour renvoyer une image recadrée au centre.

transform = transforms.CenterCrop((224, 224))
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques damélioration des données dimage couramment utilisées

RandomResizedCrop

Cette méthode combine le recadrage et le redimensionnement en même temps.

transform = transforms.RandomResizedCrop((100, 300))
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques d'amélioration des données d'image couramment utilisées

Flipping

Retournez l'image horizontalement ou verticalement, le code ci-dessous tentera d'appliquer un retournement horizontal à notre image.

transform = transforms.RandomHorizontalFlip()
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques d'amélioration des données d'image couramment utilisées

Padding

Padding consiste à remplir d'une quantité spécifiée sur tous les bords de l'image. Nous remplirons chaque bord avec 50 pixels.

transform = transforms.Pad((50,50,50,50))
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques d'amélioration des données d'image couramment utilisées

Rotation

applique un angle de rotation aléatoire à l'image. Nous allons régler cet angle à 15 degrés.

transform = transforms.RandomRotation(15)
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques d'amélioration des données d'image couramment utilisées

Random Affine

Cette technique est une transformation qui laisse le centre inchangé. Cette technique a quelques paramètres :

  • degrees : angle de rotation
  • translate : translation horizontale et verticale
  • scale : paramètre de mise à l'échelle
  • share : paramètre de recadrage de l'image
  • fillcolor : couleur de remplissage en dehors de l'image
transform = transforms.RandomAffine(1, translate=(0.5, 0.5), scale=(1, 1), shear=(1,1), fillcolor=(256,256,256))
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques damélioration des données dimage couramment utilisées

Flou gaussien

L'image sera floue à l'aide du flou gaussien.

transform = transforms.GaussianBlur(7, 3)
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques d'amélioration des données d'image couramment utilisées

Grayscale

Convertissez les images couleur en niveaux de gris.

transform = transforms.Grayscale(num_output_channels=3)
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques damélioration des données dimage couramment utilisées

L'amélioration des couleurs, également connue sous le nom de tramage des couleurs, est le processus de modification des propriétés de couleur d'une image en changeant ses valeurs de pixels. Les méthodes suivantes sont toutes des opérations liées aux couleurs.

Luminosité

Modifiez la luminosité de l'image. L'image résultante devient plus sombre ou plus claire par rapport à l'image d'origine.

transform = transforms.ColorJitter(brightness=2)
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques damélioration des données dimage couramment utilisées

Contraste

Le degré de différence entre les parties les plus sombres et les plus claires d'une image est appelé contraste. Le contraste de l'image peut également être ajusté en guise d'amélioration.

transform = transforms.ColorJitter(cnotallow=2)
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques damélioration des données dimage couramment utilisées

Saturation

Résumé de 12 techniques damélioration des données dimage couramment utilisées中颜色的分离被定义为饱和度。

transform = transforms.ColorJitter(saturatinotallow=20)
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques damélioration des données dimage couramment utilisées

Hue

色调被定义为Résumé de 12 techniques damélioration des données dimage couramment utilisées中颜色的深浅。

transform = transforms.ColorJitter(hue=2)
 imshow(path, transform)
Copier après la connexion

Résumé de 12 techniques damélioration des données dimage couramment utilisées

总结

图像本身的变化将有助于模型对未见数据的泛化,从而不会对数据进行过拟合。以上整理的都是我们常见的数据增强技术,torchvision中还包含了很多方法,可以在他的文档中找到:https://pytorch.org/vision/stable/transforms.html

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!