본문 바로가기
목차
Python

[PyTorch] torchvision.transforms.v2 - Summary (작성중)

by ds31x 2025. 6. 16.
728x90
반응형

다음의 공식문서를 기반으로 정리한 것임.

https://docs.pytorch.org/vision/main/auto_examples/transforms/plot_transforms_illustrations.html#sphx-glr-auto-examples-transforms-plot-transforms-illustrations-py

 

Illustration of transforms — Torchvision main documentation

Shortcuts

docs.pytorch.org

 

https://docs.pytorch.org/vision/main/transforms.html#v2-api-reference-recommended

 

Transforming and augmenting images — Torchvision main documentation

Shortcuts

docs.pytorch.org


0. torchvision.transforms.v2 란?

torchvision.transforms.v2

  • 2023년 3월(vision 0.15 릴리스)부터 도입된 API로,
  • 이미지, 마스크, 바운딩박스, 키포인트 등으로 이루어진 composite input을
  • 동일한 변환 파라미터로 일관되게 처리하도록 설계된 PyTorch의 최신 transform module임.

2025.01.12 - [Python] - [PyTorch] torchvision.transforms 사용법 - transforms란?

 

[PyTorch] torchvision.transforms 사용법 - transforms란?

PyTorch의 torchvision.transforms:이미지 전처리와 데이터 증강을 위한 도구torchvision.transforms는PyTorch에서 제공하는 이미지 전처리 및 data augmentation을 위한 module.이 모듈은 이미지 데이터를 이용한 딥러

ds31x.tistory.com

 

2025.06.17 - [Python] - [torchvision] transforms.v2, transforms.v2.functional, 그리고 kernel

 

[torchvision] transforms.v2, transforms.v2.functional, 그리고 kernel

torchvision.transforms는 PyTorch에서 제공하는 이미지 preprocessing 및 data augmentation을 위한 module. 이 모듈은 현재 v2 서브모듈의 사용을 권함:v2 transforms는 image뿐만 아니라bounding boxes, masks, videos도 변환할

ds31x.tistory.com


1. torchvision.transforms.v2 (Class)

1-1. Geometric Transformations (or Geometry)

더보기

완료!

  •  Pad,                                # 이미지 가장자리에 패딩 추가 (크기 증가)
  •  Resize,                            # 이미지 크기 변경 (해상도 조정)
  •  CenterCrop,                    # 이미지 중앙 부분을 지정 크기로 자르기
  •  FiveCrop,                         # 네 모서리와 중앙에서 5개 영역 자르기 (TTA용)
  •  RandomPerspective,      # 랜덤 원근 변환 (3D 회전/기울임 효과)
  •  RandomRotation,            # 랜덤 회전 변환 (회전 불변성 학습)
  •  RandomAffine,                # 랜덤 어핀 변환 (회전+평행이동+크기조정+전단)
  •  ElasticTransform,            # 탄성 변환 (국소적 비선형 변형, 의료영상용)
  •  RandomCrop,                  # 랜덤 위치에서 지정 크기로 자르기
  •  RandomResizedCrop,     # 랜덤 크기+종횡비로 자른 후 리사이즈 (ImageNet 표준)
  • RandomHorizontalFlip,    # Randomly-applied Transforms 참고.
  • RandomVerticalFlip,         # Randomly-applied Transforms 참고.

# 아직 작성 안된 것들

ScaleJitter

RandomShortestSize

RandomResize

RandomIoUCrop

RandomZoomOut

2025.06.15 - [Python] - [PyTorch] Geometric-torchvision.transforms.v2

 

[PyTorch] Geometric-torchvision.transforms.v2

Geometric Image Transformation (기하학적 영상 변환)은영상의 shape(모양), size(크기), orientation(방향) 또는 position(위치)과 같은Geometric Properties(기하학적 속성)을 변경하는 과정 https://dsaint31.me/mkdocs_site/DIP/c

ds31x.tistory.com

1-2. Photometric Transformations (or Color)

더보기

완료!

  • Grayscale,                                # 컬러→흑백 변환 (non-random, 정보 손실)
  • ColorJitter,                               # 밝기/대비/채도/색조 랜덤 조정
  • GaussianBlur,                           # 가우시안 블러 효과 (노이즈 제거, 부드러움)
  • RandomInvert,                         # 색상 반전 (네거티브 효과)
  • RandomPosterize,                   # 색상 비트 수 감소 (포스터화, 평면적 색상)
  • RandomSolarize,                     # 임계값 이상 픽셀 반전 (과노출 효과)
  • RandomAdjustSharpness,      # 선명도 조정 (엣지 강화/감소)
  • RandomAutocontrast,             # 자동 대비 최대화 (히스토그램 스트레칭)
  • RandomEqualize,                     # 히스토그램 평활화 (명암 분포 균등화)
  • JPEG,                                        # JPEG 압축/해제 (압축 아티팩트 시뮬레이션)

# 아직 작성 안된 것들.

RandomChannelPermutation

RandomPhotometricDistort

RGB

RandomGrayscale

GaussianNoise

2025.06.15 - [Python] - [PyTorch] Photometric-torchvision.transforms.v2

 

[PyTorch] Photometric-torchvision.transforms.v2

Photometric Image Transformation은이미지의 측광학적 속성(photometric properties) 을 수정하는 과정을 가리킴.Photometric Image Transformation의 주요 특징1. 변경되는 속성들밝기(Brightness): 이미지 전체의 밝기 수준

ds31x.tistory.com

1-3. Composition Transformations (or Composition)

더보기

완료!

  • Compose(순차적 적용),
  • RandomChoice(배타적 선택),
  • RandomApply(조건부 그룹 적용),
  • RandomOrder(순서 랜덤화 적용)

2025.06.16 - [Python] - [PyTorch] Composition-torchvision.transforms.v2

 

[PyTorch] Composition-torchvision.transforms.v2

Transform Composition은여러 개의 개별 변환들을 전략적으로 조합한 Pipeline을 만들어서더 다양하고 효과적인 데이터 증강을 수행 가능케 함.v2에서는 다음과 같은 조합 방식을 제공.Compose(순차적 적용

ds31x.tistory.com

1-4. Randomly-applied Transformations

2025.06.15 - [Python] - [PyTorch] Randomly-applied-torchvision.transforms.v2

 

[PyTorch] Randomly-applied-torchvision.transforms.v2

Randomly-applied Transforms (확률적 적용 변환) 이 설명은 PyTorch torchvision의 확률 기반 변환(Probabilistic Transforms) 들을 소개함. 참고자료: https://docs.pytorch.org/vision/main/auto_examples/transforms/plot_transforms_illustra

ds31x.tistory.com

1-5. Miscellaneous

더보기

LinearTransformation             # 사전 계산된 정사각형 변환 행렬과 평균 벡터로 텐서 이미지/비디오를 변환

Normalize                                 # 평균과 표준편차로 텐서 이미지/비디오를 정규화

RandomErasing                        # 입력 이미지/비디오에서 임의의 직사각형 영역을 선택하여 픽셀을 지움

Lambda                                     # 사용자 정의 함수를 변환으로 적용

SanitizeBoundingBoxes          # 변형된/유효하지 않은 바운딩 박스와 해당 라벨, 마스크를 제거

ClampBoundingBoxes             # 바운딩 박스를 해당 이미지 크기에 맞게 제한

ClampKeyPoints                       # 키포인트를 해당 이미지 크기에 맞게 제한

UniformTemporalSubsample  #  비디오의 시간 차원에서 num_samples 개의 인덱스를 균등하게 추출

JPEG.                                         # Photometric Transformations (or Color) 이동.


1-6. Conversion

더보기

ToImage                                             # 텐서, ndarray, 또는 PIL Image를 Image로 변환 - 값을 스케일링하지 않음

ToPureTensor                                    # 모든 TVTensor를 순수 텐서로 변환하여 관련 메타데이터 제거

PILToTensor                                       # PIL Image를 동일한 타입의 텐서로 변환 - 값을 스케일링하지 않음

ToPILImage                                       # 텐서 또는 ndarray를 PIL Image로 변환

ToDtype                                            # 입력을 특정 dtype으로 변환하며, 이미지/비디오의 경우 선택적으로 값 스케일링

ConvertBoundingBoxFormat          # 바운딩 박스 좌표를 지정된 format으로 변환 (: "CXCYWH"에서 "XYXY")

2025.06.16 - [Python] - [PyTorch] Conversion-Torchvision.transfroms.v2

 

[PyTorch] Conversion-Torchvision.transfroms.v2

Conversion transforms은데이터 타입과 형식을 변환하며,일부는 값 범위 스케일링(예: uint8 [0,255] ↔ float32 [0,1])을 포함함.https://docs.pytorch.org/vision/main/transforms.html#conversion Transforming and augmenting images — T

ds31x.tistory.com


1-7. Augmentation Transformations (or Auto-Augmentation)

더보기

    # 학습 기반 자동 증강

    AutoAugment,               # 특정 데이터셋에서 학습된 최적 정책 사용

    AutoAugmentPolicy,      # IMAGENET, CIFAR10, SVHN 정책 enum

 

    # 랜덤 증강 기법들

    RandAugment,              # N개 변환 랜덤 선택 + magnitude로 강도 조절

    TrivialAugmentWide,     # 매번 하나의 변환만 랜덤 선택 (간단함)

 

    # 혼합 증강

    AugMix,                           # 여러 증강 체인을 혼합하여 견고성 향상

2025.06.15 - [Python] - [PyTorch] Augmentation-torchvision.transforms.v2

 

[PyTorch] Augmentation-torchvision.transforms.v2.functional

torchvision.transforms.v2에서 제공하는 Data Augmentation은 다음 네 가지가 있음.주로 이미지 분류 모델의 일반화 성능 향상을 목표로 함.이 문서에서는 각 기법의 특징과 차이를 간략히 정리해 봄.참고문

ds31x.tistory.com

1-7-1. CutMix-MixUp

더보기

CutMix  # 두 이미지의 패치를 잘라서 붙여 혼합하고 라벨도 혼합 비율에 따라 조정

MixUp   # 두 이미지를 선형으로 혼합하고 라벨도 혼합 비율에 따라 조정

2025.06.11 - [Python] - [DL] CutMix and MixUp - Data Augmentation

 

[DL] CutMix and MixUp - Data Augmentation

1. CutMix (2019)란?CutMix는 두 이미지를 결합할 때 한 이미지의 일부 영역(직사각형 patch)을 잘라 다른 이미지에 붙여넣는 방식의 Data Augmentation. 이때 레이블도 두 이미지의 비율에 맞게 혼합됨: soft la

ds31x.tistory.com


2. torchvision.transforms.v2.functional (function)

2-1. Geometric transform function

2025.06.10 - [Python] - [PyTorch] Resize and Crop-torchvision.transforms.v2.functional

 

[PyTorch] Resize and Crop-torchvision.transforms.v2.functional

torchvision.transforms.v2.functional 모듈은,이미지 tensor 객체를 입력으로 받아해당 이미지에 직접 적용할 수 있는 다양한 이미지 변환 함수들을 제공함.제공되는 함수들은torchvision.transfroms.v2 의 Transform

ds31x.tistory.com

2025.06.10 - [Python] - [PyTorch] Geometry-Others-Torchvision.transforms.v2.functional

 

[PyTorch] Geometry-Others-Torchvision.transforms.v2.functional

torchvision.transforms.v2.functional 모듈에서 제공하는이미지 데이터에 다양한 기하학적 및 픽셀 변환을 적용할 수 있는 함수들을 소개함. 관련 gisthttps://gist.github.com/dsaint31x/8249e5a86fb93c64bf2df31c57009afd dl_G

ds31x.tistory.com

2-2. Photometric (or Color)

2025.06.14 - [Python] - [PyTorch] Color-Torchvision.transforms.v2.functional

 

[PyTorch] Color-Torchvision.transforms.v2.functional

torchvision.transforms.v2.functional 모듈에서 제공하는이미지 데이터에서 color space 와 blurring, color effect, adustment 등의 처리들에 관련된는 함수들을 소개함. torchvision 의 다음 문서에서 color항목의 functional

ds31x.tistory.com

2-3. Miscellaneous

2025.06.11 - [Python] - [PyTorch] Miscellanceous-Torchvision.transforms.v2.functional

 

[PyTorch] Miscellanceous-Torchvision.transforms.v2.functional

torchvision.transforms.v2.functional 모듈에서 제공하는이미지 데이터에서 normalization 등의 miscellaneous 에 속하는 함수들을 소개함. 관련 gist 파일https://gist.github.com/dsaint31x/86a6ce6f612f79ef1ac33c442376b518 dl_misc-to

ds31x.tistory.com

2-4. Conversion

2025.06.10 - [Python] - [PyTorch] Conversion-Torchvision.transforms.v2.functional

 

[PyTorch] Conversion-Torchvision.transforms.v2.functional

torchvision.transforms.v2.functional 모듈에서 제공하는이미지 데이터 간 데이터 타입 변환(Conversion)에 적용할 수 있는 함수들을 소개함. 관련 gist 파일https://gist.github.com/dsaint31x/e7ecca469cf41dbd12afaa7b40f45f0e d

ds31x.tistory.com


같이 보면 좋은 자료들

2025.01.12 - [Python] - [PyTorch] torchvision.transforms 사용법 - transform이란?

 

[PyTorch] torchvision.transforms 사용법 - transforms란?

PyTorch의 torchvision.transforms:이미지 전처리와 데이터 증강을 위한 도구torchvision.transforms는PyTorch에서 제공하는 이미지 전처리 및 data augmentation을 위한 module.이 모듈은 이미지 데이터를 이용한 딥러

ds31x.tistory.com

 

 

728x90