기술나눔

데이터(이미지) 증대

2024-07-12

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

1. 데이터 강화

1. 기존 데이터 세트를 추가하여 다양한 배경 노이즈를 추가하고 사진의 색상과 모양을 변경하는 등 더 많은 다양성을 제공합니다.

2. 온라인에서 향상된 데이터가 생성됩니다.

3. 강화 유형:

(1) 뒤집기

(2) 절단

(3) 색상

(4) 선명하게 하고 얼룩을 추가합니다.

2. 요약

1. 데이터 증대는 데이터를 변형하여 다양성을 얻음으로써 모델을 보다 일반화할 수 있게 만듭니다.

2. 일반적인 이미지 향상에는 뒤집기, 자르기 및 변색이 포함됩니다.

3. 데이터 세트만 변경하면 됩니다

4. 예측 과정에서 정확한 결과를 얻기 위해 우리는 일반적으로 훈련 샘플에 대해서만 이미지 증대를 수행하고, 예측 과정에서는 무작위 연산을 통한 이미지 증대를 사용하지 않습니다.

5. 딥러닝 프레임워크는 동시에 적용할 수 있는 다양한 이미지 확대 방법을 제공합니다.

3. 코드

1. 증강방법aug

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. 뒤집기

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

3. 절단

#面积为原始面积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. 밝기

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

5. 색조

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

명도(brightness), 차이 (contrast),포화(saturation) 및 색상(hue

6. 믹스

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