-
(torchio) 3D Data Augmentation 중 주로 사용하는 기법IT 지식 창고 2024. 5. 14. 19:18
import torchio as tio # img_size (D, H, W) def augmentation(split_set, img_size=None): aug_img_shape = [img_size[2], img_size[1], img_size[0]] if split_set == "train": aug = tio.Compose( [ #### Preprocessing # tio.CropOrPad((64,64,48)), # tio.Resample(4), # 반올림문제로 img와 mask를 subject로 resize 차이가 생길 수 있음. # tio.CopyAffine("mask"), tio.Resize(aug_img_shape), # (W, H, D) #### aug - Spatial tio.RandomFlip(axes=(0, 1), p=0.5), tio.RandomAffine(scales=0.1, degrees=2, p=0.5), # tio.RandomElasticDeformatio(), # tio.RandomAnisotropy(), #### aug - Intensity tio.RandomMotion(degrees=3, translation=0.5, num_transforms=1, p=0.1), # tio.RandomGhosting(), # tio.RandomSpike(), tio.RandomBiasField(coefficients=0.1, p=0.1), # tio.RandomBlur(), tio.RandomNoise(mean=0, std=0.01, p=0.5), # tio.RandomSwap(), tio.RandomGamma(log_gamma=(-0.3, 0.3), p=0.3), ] ) else: aug = tio.Compose( [ # tio.CopyAffine("mask"), # tio.Resize(aug_img_shape), # (W, H, D) ] ) return aug
급할 땐, 그냥 위에 것을 복사해서 augmentation 기법으로 활용해도 무방합니다. (본인 경험 기반 기법 선정)
3D image task 뿐만아니라, 2D image도 사용 가능합니다.
더욱 자세한건 공식 홈페이지 참고하는 게 좋습니다.
'IT 지식 창고' 카테고리의 다른 글
(Hibernate) SQLite Dialect Error (0) 2024.08.24 (Git) 이전 Commit에서 특정 file만 삭제하기 (filter-repo) (1) 2024.03.22 (Python) os.path vs pathlib.Path (1) 2024.02.26 (Python) 간단한 커스텀 프로그레스 바 코드 (0) 2024.02.21 (Pytorch) Pytorch에서 학습 및 테스트 시 GPU VRAM이 계속 증가하는 이유 (2) 2024.02.14 댓글