일반적으로 딥러닝 모델을 학습시킬 때에는 굉장히 많은 양의 이미지가 필요합니다. 따라서 개인이 학습을 진행할 때 데이터셋 부족 문제에 직면하게 됩니다. 이때, image augmentation 기법을 통해 이미지를 증식시키면 해당 문제를 손쉽게 해결할 수 있습니다. 이미지 학습을 위해 준비한 데이터셋을 증식시키는 과정은 굉장히 다양합니다. tensorflow에서는 tf.image
모듈을 통해 image augmentation 과정에 활용할 수 있는 다양한 내장함수를 제공합니다. 수행하고자 하는 작업에 따라 활용 방법 또한 달라지며, parameter 조절을 통해 더 세밀한 전처리 작업이 가능합니다. image augmentation의 종류를 정리하면 다음과 같습니다.
이미지 학습을 통해 달성하고자 하는 목적은 크게 Image Classification과 Object Detection으로 나눌 수 있습니다. Image Classification은 해당 이미지가 어떤 라벨에 속하는지 분류하는 것이고, Object Detection은 이미지 내에서 특정 라벨에 해당하는 모든 객체를 bounding box를 통해 검출하는 것입니다.
Image Classification의 경우 최적화된 이미지 학습을 위한 Resize, Normalize 기법 등이 활용됩니다. 해당 기법은 대부분의 이미지 전처리 과정에서 공통적으로 수행됩니다. Object Detection의 경우 영상 이진화, 그레이스케일, 특징점 검출(Canny Edge, Harris Corner 등)과 같은 전처리 기법이 많이 사용됩니다. 또한, OpenCV 라이브러리에서 지원하는 기능과 결합하여 이미지 전처리 파이프라인을 정규화할 수 있습니다.