Developer - [Train] - Image Augmentation



view_train

Image Augmentation Parameters

안정적이고 효과적인 학습을 위하여 기존 이미지들에 다양한 변화를 적용하여 학습을 진행하게 되는데 이러한 기법을 이미지 변형(Image Augmentation)이라 하며 이미지의 특성에 따라 적용할 변화의 종류와 정도를 선택할 수 있습니다. [Train] – [Preview]에서 설정된 값에 따라 실제 이미지에 어떻게 적용되는지 확인해 볼 수 있으며, 새로 고침을 누르면 설정된 범위 내에서 랜덤하게 생성된 이미지를 확인할 수 있습니다.

Image Aug. 설명 기능 비고
Vertical Flip 이미지를 상하 반전시킵니다. CLS, DET, SEG, GEN 사용 권장
Horizontal Flip 이미지를 좌우 반전시킵니다. CLS, DET, SEG, GEN 사용 권장
Rotate 이미지를 0, 90, 180, 270도 중 하나로 회전시키는 변형을 가합니다. CLS, DET, SEG, GEN 사용 권장
Ratio Jitter 이미지의 상하좌우에 변형을 가하여 aspect-ratio 에 변화를 줍니다. CLS 사용 권장
Color Jitter 명암, 대비, 색감에 미세한 변화를 줍니다. CLS, DET, SEG, OCR, GEN 사용 권장
Blur 이미지를 흐리게 만듭니다. CLS, DET, SEG, OCR 실제 공정에서 blur 현상이 자주 발생하는 경우에 사용 권장 (예: 카메라 초점이 자주 틀어지는 경우), 일반적인 경우에 사용 권장하지 않음
Zoom 이미지를 확대하거나 축소하여 다양한 배율의 이미지를 생성합니다. CLS, DET 카메라 상에서 물체의 배율이 자주 변화하는 경우에만 사용 권장, 일반적인 경우에 사용 권장하지 않음 (이미지의 해상도는 변하지 않습니다)
Gamma 이미지에 감마 보정을 수행합니다. CLS, DET, SEG 사용 권장
Bright, Contrast 명암, 대비에 변화를 줍니다. CLS, DET, SEG 사용 권장

Vertical Flip

aug_original aug_vflip
original v-flip

Horizontal Flip

aug_original aug_hflip
original h-flip

Rotate

aug_original aug_r90 aug_r180 aug_r270
original 90 deg 180 deg 270 deg

Ratio Jitter

aug_original aug_jitter25 aug_jitter210
original left(2%), top(5%), right(-2%), bot(+5%) left(2%), top(10%), right(-2%), bot(+10%)

Color Jitter (Det - shallow)

Hue

aug_cjbh_m18 aug_cjbh_m12 aug_cjbh_m6 aug_original aug_cjbh_p6 aug_cjbh_p12 aug_cjbh_p18
hue(-18) hue(-12) hue(-6) original hue(+6) hue(+12) hue(+18)

Saturation

aug_cjbs_m150 aug_cjbs_m133 aug_cjbs_m116 aug_original aug_cjbs_p116 aug_cjbs_p133 aug_cjbs_p150
sat.(1/1.50) sat.(1/1.33) sat.(1/1.16) original sat.(1.16) sat.(1.33) sat.(1.50)

Exposure

aug_cjbe_m150 aug_cjbe_m133 aug_cjbe_m116 aug_original aug_cjbe_p116 aug_cjbe_p133 aug_cjbe_p150
exp.(1/1.50) exp.(1/1.33) exp.(1/1.16) original exp.(1.16) exp.(1.33) exp.(1.50)

Color Jitter (그 외)

Bright

aug_cjab_m06 aug_cjab_m04 aug_cjab_m02 aug_original aug_cjab_p02 aug_cjab_p04 aug_cjab_p06
bri.(-0.6) bri.(-0.4) bri.(-0.2) original bri.(+0.2) bri.(+0.4) bri.(+0.6)

Contrast

aug_cjac_m06 aug_cjac_m04 aug_cjac_m02 aug_original aug_cjac_p02 aug_cjac_p04 aug_cjac_p06
con.(-0.6) con.(-0.4) con.(-0.2) original con.(+0.2) con.(+0.4) con.(+0.6)

Saturation

aug_cjas_m06 aug_cjas_m04 aug_cjas_m02 aug_original aug_cjas_p02 aug_cjas_p04 aug_cjas_p06
sat.(-0.6) sat.(-0.4) sat.(-0.2) original sat.(+0.2) sat.(+0.4) sat.(+0.6)

Hue

aug_cjah_m0100 aug_cjah_m0067 aug_cjah_m0033 aug_original aug_cjah_p0033 aug_cjah_p0067 aug_cjah_p0100
hue(-0.1) hue(-0.067) hue(-0.033) original hue(+0.033) hue(+0.067) hue(+0.1)

Blur

aug_original aug_blur25 aug_blur50
original blur(2.5%) blur(5%)

Zoom

aug_zoom05 aug_zoom075 aug_original aug_zoom15 aug_zoom2
x0.5 x0.75 original x1.5 x2

Gamma

aug_gamma02 aug_gamma0467 aug_gamma0733 aug_original aug_gamma133 aug_gamma167 aug_gamma2
gam.(0.2) gam.(0.467) gam.(0.733) original gam.(1.33) gam.(1.67) gam.(2)

Bright, Contrast

Bright

aug_bcb_m06 aug_bcb_m04 aug_bcb_m02 aug_original aug_bcb_p02 aug_bcb_p04 aug_bcb_p06
bri.(-0.6) bri.(-0.4) bri.(-0.2) original bri.(+0.2) bri.(+0.4) bri.(+0.6)

Contrast

aug_bcc_m06 aug_bcc_m04 aug_bcc_m02 aug_original aug_bcc_p02 aug_bcc_p04 aug_bcc_p06
con.(-0.6) con.(-0.4) con.(-0.2) original con.(+0.2) con.(+0.4) con.(+0.6)

Data Parameters

분류(Classification)

  • Input image size: 원본 이미지를 Input image size 크기로 설정하여 학습에 사용합니다. Input image size가 작을 수록 학습 및 검사 속도가 빨라지나 성능이 저하될 수 있습니다.

검출(Detection)

  • Crop: 이미지를 격자 모양으로 잘라 학습에 사용합니다. 전체 이미지에 비해 결함의 크기가 작을 경우 사용을 권장합니다. 일반적으로 검출하고자 하는 가장 작은 결함의 크기가 잘린 격자 크기의 1/20 정도가 되도록 Num. of rows 와 Num. of cols을 설정하는 것을 권장합니다.
    • Num. of rows: 격자의 행 개수.
    • Num. of cols: 격자의 열 개수.
  • Input image size: Standard 모델에서 사용 가능하며 분류 모드와 동일.

분할(Segmentation)

분할 모드의 경우 이미지에서 패치를 crop size 로 잘라 내어 resize factor 로 크기를 변경한 후에 네트워크에 인풋으로 넣어줍니다.

  • Crop size: 원본 이미지에서 패치를 crop size로 잘라 내어 학습에 사용합니다.
  • Resize factor: 전체 이미지 또는 이미지 패치의 크기를 주어진 resize factor 만큼 확대하거나 축소합니다(변형된 이미지의 크기 = 원본 이미지 크기 x resize factor). 전체 이미지의 크기가 너무 크거나 빠른 검사 속도를 원할 때 resize factor 값을 작은 값으로 설정하는 것을 권장합니다.
  • Input patch size: 딥러닝 네트워크에 인풋으로 들어가는 패치의 크기입니다. 학습 시 속도와 GPU 메모리 사용량에 영향을 끼칩니다. Input patch size는 32의 배수여야 하며 64 이상의 값을 가져야 합니다. 또한 Input patch size 는 사용자가 조작할 수 없으며, Crop size 와 resize factor 에 의해 다음의 관계식으로 계산됩니다.
    (Input patch size) = (Crop size) * (Resize factor)
  • Crop size와 resize factor의 추천 설정 조합은 다음과 같습니다.
    • 추천 조합 1: Crop size = 256, resize factor = 1 (default)
    • 추천 조합 2: Crop size = 512, resize factor = 1/2 (검출하고자 하는 결함의 크기가 전체 이미지에 비해 클 경우 설정)

문자 인식(OCR)

  • Resize factor: 전체 이미지 또는 이미지 패치의 크기를 주어진 resize factor 만큼 축소합니다(변형된 이미지의 크기 = 원본 이미지 크기 x resize factor). 전체 이미지의 크기가 너무 크거나 빠른 검사 속도를 원할 때 resize factor 값을 작은 값으로 설정하는 것을 권장합니다.

이미지 생성(Image Generation)

  • Crop size: 라벨링한 결함 주위를 crop size로 잘라 학습에 사용합니다. 결함 사이즈에 따라 결함이 작으면 128, 크면 256으로 설정합니다. 'Recommended'로 설정할 경우 내부 알고리즘에 의해 자동으로 crop size를 설정하며 Recommended로 설정하는 것을 권장합니다.
  • NG : OK: 학습에서 한 장의 결함 패치 이미지에 몇 장의 정상 패치 이미지를 매칭할지 설정합니다. 1 : 1을 선택할 경우 결함 패치 이미지와 정상 패치 이미지가 1 : 1로 매칭되며 학습 이미지가 제품을 crop한 후의 이미지일 경우에 사용이 권장됩니다. 1 : Many 는 결함 패치 이미지 1장에 다수의 정상 패치 이미지가 매칭되며 학습 이미지가 제품 전체를 포함하는 이미지일 경우 사용이 권장됩니다.