일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

王林
풀어 주다: 2023-04-11 22:49:01
앞으로
2033명이 탐색했습니다.

머신 러닝 또는 딥 러닝 모델을 훈련하는 목표는 "보편적" 모델이 되는 것입니다. 이를 위해서는 모델이 훈련 데이터 세트에 과적합되지 않아야 합니다. 즉, 우리 모델이 보이지 않는 데이터를 잘 이해하고 있어야 합니다. 데이터 증대는 과적합을 방지하는 여러 방법 중 하나이기도 합니다.

모델 훈련에 사용되는 데이터의 양을 확장하는 과정을 데이터 증대라고 합니다. 여러 데이터 유형으로 모델을 훈련함으로써 보다 "일반화된" 모델을 얻을 수 있습니다. "다중 데이터 유형"이란 무엇을 의미합니까? 이 기사에서는 "이미지" 데이터 향상 기술에 대해서만 설명하고 다양한 이미지 데이터 향상 전략을 자세히 소개합니다. 또한 PyTorch를 사용하여 이미지 데이터나 컴퓨터 비전에 주로 사용되는 데이터 증강 기술을 실습하고 구현해 보겠습니다.

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약


데이터 강화 기술을 도입하기 때문이죠. 이미지만 사용하면 충분하므로 먼저 시각적 코드를 살펴보겠습니다.

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):
로그인 후 복사

Resize/Rescale

이 기능은 이미지의 높이와 너비를 원하는 특정 크기로 조정하는 데 사용됩니다. 아래 코드는 이미지 크기를 원래 크기에서 224 x 224로 조정하려는 것을 보여줍니다.

path = './kitten.jpeg'
 transform = transforms.Resize((224, 224))
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

자르기

이 기술은 선택한 이미지의 일부를 새 이미지에 적용합니다. 예를 들어 CenterCrop을 사용하면 가운데가 잘린 이미지를 반환할 수 있습니다.

transform = transforms.CenterCrop((224, 224))
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

RandomResizeCrop

이 방법은 자르기와 크기 조정을 동시에 결합합니다.

transform = transforms.RandomResizedCrop((100, 300))
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

Flipping

이미지를 수평 또는 수직으로 뒤집으면 아래 코드는 이미지에 수평 뒤집기를 적용하려고 시도합니다.

transform = transforms.RandomHorizontalFlip()
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

Padding

패딩은 이미지의 모든 가장자리에 지정된 양만큼 패딩으로 구성됩니다. 각 가장자리를 50픽셀로 채웁니다.

transform = transforms.Pad((50,50,50,50))
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

Rotation

은 이미지에 임의의 회전 각도를 적용합니다. 이 각도를 15도로 설정하겠습니다.

transform = transforms.RandomRotation(15)
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

Random Affine

이 기술은 중심을 변경하지 않고 그대로 두는 변형입니다. 이 기술에는 몇 가지 매개변수가 있습니다.

  • 도: 회전 각도
  • translate: 수평 및 수직 이동
  • scale: 크기 조정 매개변수
  • share: 그림 자르기 매개변수
  • fillcolor: 이미지 외부 채우기 색상
transform = transforms.RandomAffine(1, translate=(0.5, 0.5), scale=(1, 1), shear=(1,1), fillcolor=(256,256,256))
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

Gaussian Blur

Gaussian Blur를 사용하여 이미지가 흐려집니다.

transform = transforms.GaussianBlur(7, 3)
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

Grayscale

컬러 이미지를 회색조로 변환하세요.

transform = transforms.Grayscale(num_output_channels=3)
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

색상 디더링이라고도 하는 색상 향상은 픽셀 값을 변경하여 이미지의 색상 속성을 수정하는 프로세스입니다. 다음 방법은 모두 색상 관련 작업입니다.

밝기

이미지의 밝기를 변경하면 원본 이미지에 비해 결과 이미지가 더 어두워지거나 밝아집니다.

transform = transforms.ColorJitter(brightness=2)
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

대비

이미지에서 가장 어두운 부분과 가장 밝은 부분의 차이 정도를 대비라고 합니다. 이미지의 대비도 향상 기능으로 조정할 수 있습니다.

transform = transforms.ColorJitter(cnotallow=2)
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

Saturation

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약中颜色的分离被定义为饱和度。

transform = transforms.ColorJitter(saturatinotallow=20)
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

Hue

色调被定义为일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약中颜色的深浅。

transform = transforms.ColorJitter(hue=2)
 imshow(path, transform)
로그인 후 복사

일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약

总结

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

위 내용은 일반적으로 사용되는 12가지 이미지 데이터 향상 기술 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!