SlideShare a Scribd company logo
Subin An (sban@hcil.snu.ac.kr)
Image Data Augmentation
A survey on Image Data Augmentation for Deep Learning (Journal of Big Data, 2019)
Connor Shorten* and Taghi M. Khoshgoftaar
Deep Learning과 Data
• 딥러닝은 Hidden Layer를 쌓아 Parameter를 늘리는 방식으로 표현력을 높임

• 하지만 500M 이상 Parameter를 훈련하기 위해서는 수 많은 데이터 필요

• 데이터가 많을수록 성능 증가를 기대해볼 수 있음

• 하지만 데이터가 없다면? 과적합(Over
fi
tting)!

• 현대판 인형 눈 붙이기 Data Annotation이 날이 갈수록 수요 상승

• 그런데 기존 데이터는 충분히 사용하고 있는가…? 

• 모델이 최대한 다방면으로 볼 수 있게 해주자!!!
Data Augmentation
• 적은 양의 훈련 데이터에 인위적인 변화를 사용하여 새로운 훈련 데이터를 확보
• 인위적인 변화의 예시에는 뒤집기(
fl
ip), 자르기(crop) 등이 있음

• Data Augmentation은 이미 많은 논문에서 성능으로 증명했다.

• 하지만 필요 이상으로 하면 훈련 시간만 많아질 수 있음

• 딥러닝 Over
fi
tting 방지 및 Accuracy 향상을 위해 가능한 시도들
Part I. Basic Manipulation
Geometric Transformations
• Flipping : 뒤집기
• Color Space : 색상 채널 변경. RGB 조정 / HSL 조정 등 색 조정
• Cropping : 자르기, 중앙부만 자르는 것도 실용적
• Rotation : 회전, MNIST 등에서는 +-20도 정도만 하여 유용할 수 있음
• Translation : Shifting, 위치에 대한 편향을 방지 (상수 또는 Gaussian 로 패딩)
• Noise Injection : Gaussian Noise 주입 (Robustness)
Geometric Transformations
• 논문에서는 언급하지 않았지만…기하학적 변환은 많음

• Rescaling : 사진의 크기를 키우거나 줄임 (~x 1.6)

• Shearing(A
ffi
ne Transform) : 사진을 찌그러트림

• Stretching : 사진을 늘림 (~x 1.3)
Geometric Transformations
• Positional Bias를 해결하기에 적합

• 구현하거나 사용하기 쉽고 편함
• 하지만 오용/남용 주의!
• 고양이나 개 이미지는 뒤집기 가능, 하지만 6, 9는 뒤집었을 때 문제가 생길 수 있음

• Random Crop시에 Label에 해당하지 않는 부분을 Crop할 수도 있음

• 의료 데이터 등 Positional Bias 보다 복잡한 경우는 적합하지 않음
Experiments (Caltech101)
Color Space Transformations
• 색을 조정(photometric transformation)하여 Lighting Biases 해결

• 너무 밝거나, 어두운 이미지를 일관적으로 조정

• 특징 추출을 위해 이미지 필터를 사용해도 좋음
Kernel Filters
• 행렬 연산을 이용하여 이미지를 선명하거나 흐리게 하는 방법

• Ex) Gaussian Blur Filter로 가장자리 강조

• Ex) PatchShu
ffl
e Regularization
Kernel Filters
• 그 외의 다양한 필터 존재

• 생각해보면 Convolution Layer가 이걸 자동으로 찾아줌 -> 큰 성능 향상 기대 x
Mixing Images
• Mixup (https://arxiv.org/pdf/1710.09412.pdf) (ICLR 2018)

• 이미지를 합쳐 새로운 이미지를 만듬
• 인간의 관점에서는 큰 의미가 없음

• 이 방법은 모서리 등의 low-level feature extraction이 도움이 된다는 실험적 결과
Mixing Images
Random Erasing
• Cutout 등의 방법이 존재 /Dropout과 유사한 아이디어

• Image Classi
fi
cation과 Object Detection에서 성능 향상

• 적은 정보로 부터 핵심 정보를 뽑기 위한 모델의 노력
• Naver Clova (ICCV 2019)

• Mixup + Cutout의 방법론

• https://arxiv.org/abs/1905.04899
CutMix
• Deepmind/Google (ICLR 2020)

• 적은 연산량으로 다양한 Augmentation을 Mix

• Robustness와 Uncertainty Measure를 크게 향상 시킬 수 있음

• https://arxiv.org/abs/1912.02781
AugMix
• SNU MLLAB의 연구 (ICML 2020)

• CutMix에서 손실되는 정보를 최소화 하기 위해 이미지를 잘 합치는 방법

• https://arxiv.org/abs/2009.06962
Puzzle Mix
Part II. Deep Learning Approaches
Feature Space Augmentation
• 딥러닝은 high-dimension feature를 low-dimension feature로 mapping

• 저차원 공간의 Augmentation을 통해 Interpolation / Extrapolation

• Ex) Autoencoder
19
Adversarial Training
• Adversarial Attack과 마찬가지로 Adversarial example을 만들어 훈련

• 하지만 이 방법은 real world dataset에 대해서는 성능 향상 X

• 다만 Adversarial Attack에 대해 Robust함
GAN-based Data Augmentation
• GAN은 Generative Model에서 속도와 성능적 측면에서 유용

• Model에 Condition을 넣어 다양한 데이터 생성 가능

• Bio/Medical 도메인에 적용중

• Class Imbalance를 해결하기 위한 Oversampling으로 사용가능

• DCGAN, CycleGAN, ProgressiveGAN, StyleGAN 등을 사용할 수 있음

• 하지만 좋은 출력을 얻기 어렵고, GAN 자체도 많은 데이터를 필요로 함
• CycleGAN으로 표정 data augmentation

• T-SNE 결과 잘 분리되는 것을 확인할 수 있음
GAN-based Data Augmentation
• 방글라데시어 인식 대회에서 실제 Font에 CycleGAN으로 하여 압도적 1위 사례

• T-SNE 결과 잘 분리되는 것을 확인할
GAN-based Data Augmentation
• ResNet을 베이스의 네트워크의 중간의 특징 맵에 대해 data augmentation

• https://arxiv.org/abs/1705.07485
(ETC) Shake-Shake Regularization
Part III. Meta Learning
Meta Learning
• 자전거를 타는 사람은 오토바이를 타는 방법을 쉽게 학습 하고는 함

• 적은 데이터만으로 Unseen task에 대해 잘하기 위한 방법론

• 딥러닝으로 딥러닝 최적화 구조를 찾는 Neural Architecture Search (NAS)
AutoAugmentation
• Google (CVPR 2019)

• RNN (Recurrent Neural Network) + RL (Reinforcement Learning)
• Augmentation 기법을 출력하는 RNN controller 생성

• 여기서 얻은 augmentation 기법을 학습 데이터에 적용

• 모델을 학습 및 성능을 평가하여 reward(R)를 얻음

• 계산된 reward를 통해 RNN controller 학습

• https://arxiv.org/abs/1805.09501
• 카카오 브레인 (NeurIPS 2019) 

• https://arxiv.org/abs/1905.00397
Fast AutoAugmentation
https://kakaobrain.com/blog/116
• Data Augmentation과 관련하여 다양한 Python 라이브러리 존재

• Imgaug : https://github.com/aleju/imgaug

• Albumentations : https://github.com/albumentations-team/albumentations
(ETC) Libraries
Thanks

More Related Content

PDF
T ka kr_4th
PDF
Python machine learning Chapter 04 - PART2
PPTX
Deep Learning for AI (1)
PDF
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
PDF
마이캠퍼스 딥러닝스쿨(한돌) 파트#1-이론
PDF
[PYCON KOREA 2017] Python 입문자의 Data Science(Kaggle) 도전
PPTX
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
PDF
빅데이터 윈윈 컨퍼런스-데이터수집 및 정제
T ka kr_4th
Python machine learning Chapter 04 - PART2
Deep Learning for AI (1)
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
마이캠퍼스 딥러닝스쿨(한돌) 파트#1-이론
[PYCON KOREA 2017] Python 입문자의 Data Science(Kaggle) 도전
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
빅데이터 윈윈 컨퍼런스-데이터수집 및 정제

What's hot (20)

PDF
[Paper] auto ml part 1
PDF
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
PDF
앙상블 학습 기반의 추천시스템 개발
PDF
머신러닝(딥러닝 요약)
PDF
Deep learning framework 제작
PPTX
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
PDF
빅데이터 윈윈 컨퍼런스-지능형 보험 부당청구탐지와 예측
PDF
Io17ex automl & autodraw
PDF
[한국어] Neural Architecture Search with Reinforcement Learning
PDF
제 13회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [경기는 계속되어야 한다] : 실시간 축구 중계 영상 화질개선 모델
PPSX
데이터 분석 프로세스
PDF
파이썬으로 익히는 딥러닝 기본 (18년)
PDF
제 12회 보아즈(BOAZ) 빅데이터 컨퍼런스 -FOOTBALL TIMELINER
PDF
Workshop 210417 dhlee
PDF
AUTOML
PDF
[2A6]web & health 2.0. 회사에서의 data science란?
PDF
머신러닝 간단 뽀개기
PDF
기계 학습의 현재와 미래
PDF
[컨퍼런스] 모두콘 2018 리뷰
PDF
Hello, Recommender System
[Paper] auto ml part 1
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
앙상블 학습 기반의 추천시스템 개발
머신러닝(딥러닝 요약)
Deep learning framework 제작
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
빅데이터 윈윈 컨퍼런스-지능형 보험 부당청구탐지와 예측
Io17ex automl & autodraw
[한국어] Neural Architecture Search with Reinforcement Learning
제 13회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [경기는 계속되어야 한다] : 실시간 축구 중계 영상 화질개선 모델
데이터 분석 프로세스
파이썬으로 익히는 딥러닝 기본 (18년)
제 12회 보아즈(BOAZ) 빅데이터 컨퍼런스 -FOOTBALL TIMELINER
Workshop 210417 dhlee
AUTOML
[2A6]web & health 2.0. 회사에서의 data science란?
머신러닝 간단 뽀개기
기계 학습의 현재와 미래
[컨퍼런스] 모두콘 2018 리뷰
Hello, Recommender System

Similar to Image data augmentatiion (20)

PDF
밑바닥부터 시작하는딥러닝 8장
PDF
[컴퓨터비전과 인공지능] 5. 신경망
PDF
위성이미지 객체 검출 대회 - 1등
PDF
Tensorflow for Deep Learning(SK Planet)
PPTX
[논문리뷰] Data Augmentation for 1D 시계열 데이터
PDF
3.unsupervised learing
PDF
딥러닝을 위한 Tensor flow(skt academy)
PPTX
Keras
PPTX
데이터를 얻으려는 노오오력
PPTX
Anomaly detection practive_using_deep_learning
PDF
3.unsupervised learing(epoch#2)
PPTX
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
PDF
소프트웨어 2.0을 활용한 게임 어뷰징 검출
PDF
247 deview 2013 이미지 분석 - 민재식
PDF
[신경망기초] 심층신경망개요
PDF
Deep neural networks cnn rnn_ae_some practical techniques
PDF
Semantic Image Synthesis with Spatially-Adaptive Normalization(GAUGAN, SPADE)
DOCX
october report in korean
PDF
델켐매거진5호
PDF
AR/VR/MR-Namkyoo's Portfolio
밑바닥부터 시작하는딥러닝 8장
[컴퓨터비전과 인공지능] 5. 신경망
위성이미지 객체 검출 대회 - 1등
Tensorflow for Deep Learning(SK Planet)
[논문리뷰] Data Augmentation for 1D 시계열 데이터
3.unsupervised learing
딥러닝을 위한 Tensor flow(skt academy)
Keras
데이터를 얻으려는 노오오력
Anomaly detection practive_using_deep_learning
3.unsupervised learing(epoch#2)
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
소프트웨어 2.0을 활용한 게임 어뷰징 검출
247 deview 2013 이미지 분석 - 민재식
[신경망기초] 심층신경망개요
Deep neural networks cnn rnn_ae_some practical techniques
Semantic Image Synthesis with Spatially-Adaptive Normalization(GAUGAN, SPADE)
october report in korean
델켐매거진5호
AR/VR/MR-Namkyoo's Portfolio

More from Subin An (14)

PDF
Datasheets for dataset
PDF
Voice Conversion : Audio알못에서 VCC2020참가까지
PDF
[Keynote로 이해하는 GAN들] DCGAN
PDF
[Keynote로 이해하는 GAN들] Vanilla GAN
PDF
Pytorch Implementation : 파일을 어떻게 나눠야할까?
PDF
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
PDF
알고리즘, 어떻게 공부할까?
PDF
Introduction to CNN
PDF
청소년때 블로그를 써야하는 이유
PDF
2nd DLCAT : Newbie Guide to Blogging
PDF
2019 고려대학교 프로그래밍 경시대회 풀이
PDF
Global AI Boot Camp Busan : 이왕이면 다홍 데이터 (Python Visualization)
PDF
2018 고려대학교 프로그래밍 경시대회 KCPC 간략 풀이
PDF
[수비니움의 머신러닝 튜토리얼] 1강 기본용어편
Datasheets for dataset
Voice Conversion : Audio알못에서 VCC2020참가까지
[Keynote로 이해하는 GAN들] DCGAN
[Keynote로 이해하는 GAN들] Vanilla GAN
Pytorch Implementation : 파일을 어떻게 나눠야할까?
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
알고리즘, 어떻게 공부할까?
Introduction to CNN
청소년때 블로그를 써야하는 이유
2nd DLCAT : Newbie Guide to Blogging
2019 고려대학교 프로그래밍 경시대회 풀이
Global AI Boot Camp Busan : 이왕이면 다홍 데이터 (Python Visualization)
2018 고려대학교 프로그래밍 경시대회 KCPC 간략 풀이
[수비니움의 머신러닝 튜토리얼] 1강 기본용어편

Image data augmentatiion

  • 1. Subin An (sban@hcil.snu.ac.kr) Image Data Augmentation A survey on Image Data Augmentation for Deep Learning (Journal of Big Data, 2019) Connor Shorten* and Taghi M. Khoshgoftaar
  • 2. Deep Learning과 Data • 딥러닝은 Hidden Layer를 쌓아 Parameter를 늘리는 방식으로 표현력을 높임 • 하지만 500M 이상 Parameter를 훈련하기 위해서는 수 많은 데이터 필요 • 데이터가 많을수록 성능 증가를 기대해볼 수 있음 • 하지만 데이터가 없다면? 과적합(Over fi tting)! • 현대판 인형 눈 붙이기 Data Annotation이 날이 갈수록 수요 상승 • 그런데 기존 데이터는 충분히 사용하고 있는가…? • 모델이 최대한 다방면으로 볼 수 있게 해주자!!!
  • 3. Data Augmentation • 적은 양의 훈련 데이터에 인위적인 변화를 사용하여 새로운 훈련 데이터를 확보 • 인위적인 변화의 예시에는 뒤집기( fl ip), 자르기(crop) 등이 있음 • Data Augmentation은 이미 많은 논문에서 성능으로 증명했다. • 하지만 필요 이상으로 하면 훈련 시간만 많아질 수 있음 • 딥러닝 Over fi tting 방지 및 Accuracy 향상을 위해 가능한 시도들
  • 4. Part I. Basic Manipulation
  • 5. Geometric Transformations • Flipping : 뒤집기 • Color Space : 색상 채널 변경. RGB 조정 / HSL 조정 등 색 조정 • Cropping : 자르기, 중앙부만 자르는 것도 실용적 • Rotation : 회전, MNIST 등에서는 +-20도 정도만 하여 유용할 수 있음 • Translation : Shifting, 위치에 대한 편향을 방지 (상수 또는 Gaussian 로 패딩) • Noise Injection : Gaussian Noise 주입 (Robustness)
  • 6. Geometric Transformations • 논문에서는 언급하지 않았지만…기하학적 변환은 많음 • Rescaling : 사진의 크기를 키우거나 줄임 (~x 1.6) • Shearing(A ffi ne Transform) : 사진을 찌그러트림 • Stretching : 사진을 늘림 (~x 1.3)
  • 7. Geometric Transformations • Positional Bias를 해결하기에 적합 • 구현하거나 사용하기 쉽고 편함 • 하지만 오용/남용 주의! • 고양이나 개 이미지는 뒤집기 가능, 하지만 6, 9는 뒤집었을 때 문제가 생길 수 있음 • Random Crop시에 Label에 해당하지 않는 부분을 Crop할 수도 있음 • 의료 데이터 등 Positional Bias 보다 복잡한 경우는 적합하지 않음
  • 9. Color Space Transformations • 색을 조정(photometric transformation)하여 Lighting Biases 해결 • 너무 밝거나, 어두운 이미지를 일관적으로 조정 • 특징 추출을 위해 이미지 필터를 사용해도 좋음
  • 10. Kernel Filters • 행렬 연산을 이용하여 이미지를 선명하거나 흐리게 하는 방법 • Ex) Gaussian Blur Filter로 가장자리 강조 • Ex) PatchShu ffl e Regularization
  • 11. Kernel Filters • 그 외의 다양한 필터 존재 • 생각해보면 Convolution Layer가 이걸 자동으로 찾아줌 -> 큰 성능 향상 기대 x
  • 12. Mixing Images • Mixup (https://arxiv.org/pdf/1710.09412.pdf) (ICLR 2018) • 이미지를 합쳐 새로운 이미지를 만듬
  • 13. • 인간의 관점에서는 큰 의미가 없음 • 이 방법은 모서리 등의 low-level feature extraction이 도움이 된다는 실험적 결과 Mixing Images
  • 14. Random Erasing • Cutout 등의 방법이 존재 /Dropout과 유사한 아이디어 • Image Classi fi cation과 Object Detection에서 성능 향상 • 적은 정보로 부터 핵심 정보를 뽑기 위한 모델의 노력
  • 15. • Naver Clova (ICCV 2019) • Mixup + Cutout의 방법론 • https://arxiv.org/abs/1905.04899 CutMix
  • 16. • Deepmind/Google (ICLR 2020) • 적은 연산량으로 다양한 Augmentation을 Mix • Robustness와 Uncertainty Measure를 크게 향상 시킬 수 있음 • https://arxiv.org/abs/1912.02781 AugMix
  • 17. • SNU MLLAB의 연구 (ICML 2020) • CutMix에서 손실되는 정보를 최소화 하기 위해 이미지를 잘 합치는 방법 • https://arxiv.org/abs/2009.06962 Puzzle Mix
  • 18. Part II. Deep Learning Approaches
  • 19. Feature Space Augmentation • 딥러닝은 high-dimension feature를 low-dimension feature로 mapping • 저차원 공간의 Augmentation을 통해 Interpolation / Extrapolation • Ex) Autoencoder 19
  • 20. Adversarial Training • Adversarial Attack과 마찬가지로 Adversarial example을 만들어 훈련 • 하지만 이 방법은 real world dataset에 대해서는 성능 향상 X • 다만 Adversarial Attack에 대해 Robust함
  • 21. GAN-based Data Augmentation • GAN은 Generative Model에서 속도와 성능적 측면에서 유용 • Model에 Condition을 넣어 다양한 데이터 생성 가능 • Bio/Medical 도메인에 적용중 • Class Imbalance를 해결하기 위한 Oversampling으로 사용가능 • DCGAN, CycleGAN, ProgressiveGAN, StyleGAN 등을 사용할 수 있음 • 하지만 좋은 출력을 얻기 어렵고, GAN 자체도 많은 데이터를 필요로 함
  • 22. • CycleGAN으로 표정 data augmentation • T-SNE 결과 잘 분리되는 것을 확인할 수 있음 GAN-based Data Augmentation
  • 23. • 방글라데시어 인식 대회에서 실제 Font에 CycleGAN으로 하여 압도적 1위 사례 • T-SNE 결과 잘 분리되는 것을 확인할 GAN-based Data Augmentation
  • 24. • ResNet을 베이스의 네트워크의 중간의 특징 맵에 대해 data augmentation • https://arxiv.org/abs/1705.07485 (ETC) Shake-Shake Regularization
  • 25. Part III. Meta Learning
  • 26. Meta Learning • 자전거를 타는 사람은 오토바이를 타는 방법을 쉽게 학습 하고는 함 • 적은 데이터만으로 Unseen task에 대해 잘하기 위한 방법론 • 딥러닝으로 딥러닝 최적화 구조를 찾는 Neural Architecture Search (NAS)
  • 27. AutoAugmentation • Google (CVPR 2019) • RNN (Recurrent Neural Network) + RL (Reinforcement Learning) • Augmentation 기법을 출력하는 RNN controller 생성 • 여기서 얻은 augmentation 기법을 학습 데이터에 적용 • 모델을 학습 및 성능을 평가하여 reward(R)를 얻음 • 계산된 reward를 통해 RNN controller 학습 • https://arxiv.org/abs/1805.09501
  • 28. • 카카오 브레인 (NeurIPS 2019) • https://arxiv.org/abs/1905.00397 Fast AutoAugmentation https://kakaobrain.com/blog/116
  • 29. • Data Augmentation과 관련하여 다양한 Python 라이브러리 존재 • Imgaug : https://github.com/aleju/imgaug • Albumentations : https://github.com/albumentations-team/albumentations (ETC) Libraries