Fig. Augmentation Preview Button
학습 이미지를 로드합니다.
Fig. 학습 이미지 로드
AI Model 프로퍼티를엽니다.(Instance Segmetnation을 예시로 하겠습니다.)
Learning Image View를 설정합니다.
Augmentaiton Preview View를 설정합니다.
Augmentation 항목에서 Augmentation 을 활성화하고 사용하고자 하는 Augmentation을 설정합니다.
- Activation Rate를 1.0로 설정합니다.
- IoU Threshold를 0.8로 설정합니다.
- InterpolationMethod은 기본 값 그대로 둡니다.

- Rotation, Adjustment, Translation을 선택해보겠습니다.(파라미터는 기본 값을 사용하겠습니다.)

Augmentation Preview 버튼(F8)을 클릭합니다.
설정한 Augmentation PreView에서 결과를 확인할 수 있습니다.(1장씩 출력 됩니다.)
여러 번 수행으로 설정된 Augmentation에 의해 변형 되는 결과를 계속해서 확인하실 수 있습니다.
Augmentaiton 결과를 확인하면서 각 Augmentation의 기본 파라미터를 수정하시는 것도 학습에 긍정적인 영향을 끼칠 수 있습니다.
- 예를들면 학습 이미지는 Noise가 없고 실제 적용 상황에서는 노이즈가 심한 경우 Gaussian Noise의 Stdv의 수치를 기본 값 min 0.00 max 0.02에서 min 0.00 max 0.20으로 늘려 노이즈에 강해질 수 있게 할 수 있습니다.

4 Augmetnation 선택 가이드
- 기본 적인 성능 향상
- Horizontal Flip: 좌우 대칭이 유의미한 경우(예: 객체가 비대칭) 사용
- Vertical Flip: 이미지에서 위아래 방향이 중요하지 않을 경우 사용
- Rotation: 객체가 다양한 각도로 존재하는 경우 효과적
- 데이터 다양성 증가 (Generalization 향상)
- Resized Crop: 다양한 크기의 객체를 학습하도록 도움
- Scale: 확대/축소된 객체를 학습할 수 있도록 함
- Translation: 객체가 이미지 내 여러 위치에 나타날 수 있도록 유도
- Perspective: 카메라 시점이 변형이 존재하는 경우 적절함
- 노이즈 및 강인성 강화
- Gaussian Noise: 모델이 잡음에 강해지도록 훈련
- Gaussian Blur: 흐림 효과가 존재하는 경우 대응 가능하도록 학습
- Cutout: 일부 정보 손실에 대한 복원력 향상
- Alpha Blend Mask : 일부 정보 오염에 대한 복원력 향상
- 색상 및 명암 변형
- Adjustment: 밝기, 대비, 색조 변화를 통해 다양한 조명 환경 대응
- Intensity: 색상 강도를 조정하여 색감 변화에 강하게 학습
- Gradation: 이미지 내 그림자 변화를 반영
- 객체 강조 및 중요 부분 유지
- Emphasize: 특정 영역을 강조하여 모델이 중요한 특징을 학습
- Mix Method: 다양한 변형을 조합하여 데이터 다양성을 극대화
- 추천 Augmentation 조합 예시
- 일반적인 물체 인식: Horizontal Flip, Rotation, Scale, Translation
- 의료 이미지: Gaussian Noise, Gaussian Blur, Intensity, Adjustment
- 자연 이미지 (풍경, 동물): Rotation, Scale, Perspective, Gradation
- 손글씨/문서 인식: Rotation, Scale, Translation, Cutout, Adjustment, Gaussian Blur
5 Augmentation 선택및 파라미터 설정 주의사항
- 학습 이미지에 따라 적절한 Augmentation 선택 및 옵션 설정이 필요합니다. 모델이 의도하지 않은 형태의 이미지를 학습하지 않게 해야합니다. 학습 이미지에 맞지 않는 Augmentation 선택 및 옵션 설정은 학습에 악영향을 끼칠 수 있습니다.
- 잘못된 Augmentation 선택으로 인해 클래스 간의 이미지 상에서의 차이가 발생하지 않는 경우
- 볼트의 색깔및 밝기로 분류하는 상황에서 Adjust 및 Intensity을 적용하는 경우

- 크기나 형태는 동일하나 밝기나 색상으로 구분하는 경우 밝기, 대조를 조절하는 Adjustment와 채도, 노출 색상을 조절하는 Intensity 사용 시 Augmentation으로 인해 클래스간에 구분이 안될 수 있어 적용하는데 주의가 필요합니다.
- 볼트의 크기로 분류하는 상황에서 크기와 관련된 Augmentation인 Resized Crop 과 Scale을 적용하는 경우

- 크기로만 분류하는 상황에서 크기가 달라지는 Resize Crop과 Scale 적용 시 Augmentation으로 클래스간에 구분이 안될 수 있어 적용하는데 주의가 필요합니다.
- 과도한 Augmentaiton 파라미터 적용으로 이미지가 심하게 손상되는 경우
- Adjustment 파라미터 옵션 범위를 과하게 줄 경우 이미지가 손상되어 볼트로 보이지 않는 부분이 볼트로 학습되는 경우


- Scale 축소 범위를 과하게 줄 경우 이미지가 매우 작아지는 경우


- Instance Segmentaiton과 Object Detection 학습 시 Augmentation의 IoU Threshold를 적절하게 설정하지 않은 경우
- Augmentation IoU Threshold는 Augmentation으로 인해 라벨링된 부분이 짤릴 경우 라벨링을 보존 여부를 정하는 임곗 값입니다. 0.0 ~ 1.0의 범위를 가지며 0.8을 설정할 경우 Augmentation 이후 라벨링의 원래의 영역의 80%가 넘게 남아있지 않은 경우 라벨을 제거합니다.

- CutMix, Mosaic, ResizeCrop, Scale, Translation 등과 같은 이미지의 영역 변형이 일어나는 경우 고려해주셔야 하는 옵션입니다.
- 올바른 형태의 볼트만 라벨링한 상황에서 Rotation으로 인해 라베링 영역이 짤리는 경우
- IoU Threshold 0.0인 경우


- 회전으로 인해 짤렸음에도 IoU Threshold가 0이므로(원래의 영역의 0%이상만 남아있어도 보존) 라벨이 유지되고 있습니다.
- 해당 형태의 볼트를 모델이 학습하게 되므로 올바른 형태의 볼트만 찾는 목적을 달성하기 어렵습니다.
- Iou Threshold 0.9인 경우


- 회전으로 인해 짤렸을 때 IoU Threshold에 따라 해당 부분 라벨링이 제거되었습니다. 모델이 올바르지 않은 볼트를 학습할 일이 없습니다.
6 Augmentation 선정 튜토리얼
- 볼트 데이터 셋으로 Augmentation을 선정 해보겠습니다.


- 모든 형태가 보이는 볼트만 라벨링한 데이터 셋입니다.
- 볼트 종류 별 1,2,3로 라벨링 되어있습니다.
- Activation Rate & IoU Threshold
- Activation Rate는 0.8로 설정하였습니다. (80%의 확률로 Augmentation이 발동되며 나머지 20% 확률로 Augmentation이 안 들어간 이미지를 학습 되도록 하였습니다.)
- IoU Threshold의 경우 0.9로 설정하였습니다. Augmentation 이후 온전한 볼트 형태만 라벨링되어있어야 하므로 0.9정도로 설정하였습니다.(Augmentation Preview를 통해 0.9가 이상적이다라고 판단하였습니다.)

- 선택한 Augmentation 종류입니다.
- 각 Augmentation의 Activation Rate은 0.8로 설정하였습니다. Common의 Activation Rate의 경우는 모든 Augmentation을 한번에 킬 것이냐 끌 것이냐이지만 각 Augmentation의 Activation Rate의 경우는 각각의 발동률이므로 0.8로 설정 시 켜지고 꺼지는 Augmentation들이 있어 더 다양한 조합들의 Augmentation이 적용 될 수 있습니다.
- Mosaic(Mix Method)
- 여러개의 이미지가 한 이미지로 조합되는 Augmentation입니다.
- 실제로 여러 종류의 볼트가 한 이미지 안에 있을 수있고 다양한 위치로 볼트가 위치하도록 할 수 있으므로 모델 학습에 유리하다고 판단하여 선택하였습니다.

- Horizontal Flip & Vertical Flip
- 수평,수직으로 반전된 이미지의 경우 실제 사용 환경에서 자주 나오므로 선택하였습니다.

- Adjustment & Instensity
- 실제 조명 환경에 변화에 강하게 하기 위해 선택하였습니다.
- 기본 값으로도 충분하다고 판단하여 파라미터 세부조정은 하지 않았습니다.

- Gradation
- 실제 환경에서 그림자 지는 상황이 있으므로 선택하였습니다.
- 기본 값으로도 충분하다고 판단하여 파라미터 세부조정은 하지 않았습니다.

- Gaussian Noise
- 카메라의 노이즈에 대비하기 위해 선택하였습니다.
- 기본 값으로도 충분하다고 판단하여 파라미터 세부조정은 하지 않았습니다.

- Perspective
- 실제 환경에서 볼트의 시점은 다양하기에 선택하였습니다.
- 기본 값으로도 충분하다고 판단하여 파라미터 세부조정은 하지 않았습니다.

- Quarter Rotation
- 볼트가 4방향 회전되는 상황은 실제 환경에서 나올 수 있기에 선택하였습니다.
- 0,90,180,270도 모두 적용하였습니다.

- Rotation
- 실제 환경에서 볼트의 회전방향은 다양하기에 선택하였습니다.
- 파라미터는 +/- 30도로 설정하였습니다.

- Scale
- 실제 환경에서 쌓여있는 볼트에 따라 크기가 다양하기에 선택하였습니다.
- 기본 값으로도 충분하다고 판단하여 파라미터 세부조정은 하지 않았습니다.

- 선택하지 않은 Augmentation 입니다.
- Resized Crop
- Resized Crop은 특정 영역 Crop 후 모델 입력 크기로 Resize 하여 확대와 비율조정을 하는 Augmentation인데 실제 환경에서 비율이 깨지는 경우는 없고 확대의 경우 Scale로 대체가 되기에 선택하지 않았습니다.
- Emphasize & Gaussian Blur
- 이미지가 강조되는 상황 흐리게 되는 상황은 없다고 판단하여 선택하지 않았습니다.
- Alpha Blend Mask
- 특정 부위에 혼합 마스크를 섞는 Augmentation 입니다.
- 일반화에 강해지긴 하지만 온전한 볼트만 찾아야 하므로 선택하지 않았습니다.
- Translation
- 이동 되는 상황은 실제 있지만 Scale이나 Mosaic로 이미지의 이동이 많이 수행되기에 굳이 필요없다고 판단하였습니다.
- Cutout
- AI 모델의 일반화의 도움을 주는 Augmentation이지만 형태가 온전한 볼트만을 인식해야하기에 선택하지 않았습니다.
- 모든 Augmentation을 선정 후 Augmentation Preview를 여러번 수행 하면서 Augmentation이 적절한지 확인 작업을 진행합니다.
- 다소 민감할 수 있는 Augmentation인 Scale, Adjustment은 min/max값을 min값혹은 max값 하나로 임시로 설정후 Augmentation Preview로 확인하여 과하지는 않는지 확인하실 수 있습니다.