이미지 증강
모델 성능 향상을 위해 증강된 이미지를 생성하세요.
이미지 증강은 데이터셋에서 "Train"으로 표시된 기존 이미지에 증강을 적용하는 단계입니다. 이 과정은 모델의 일반화 능력을 향상시켜 보지 못한 이미지에서도 더 효과적으로 성능을 발휘하도록 도울 수 있습니다.
프로젝트는 증강 없이 시작하는 것을 권장합니다. 이렇게 하면 원시 데이터셋의 품질을 평가할 수 있습니다. 증강을 추가한 후 데이터셋이 예상만큼 성능을 내지 못하면 모델 성능과 비교할 기준선이 없어집니다.
증강 없이 모델 성능이 좋지 않다면 클래스 균형, 데이터 표현 및 데이터셋 크기를 조사해야 할 수 있습니다. 증강 없이 모델을 성공적으로 학습시킨 데이터셋이 있다면, 이후에 증강을 추가하여 모델 성능을 더 향상시킬 수 있습니다.
증강은 학습 시점이 아니라 데이터셋 버전(“오프라인 증강”)을 통해 적용되는 데에는 몇 가지 주요 이유가 있습니다:
모델 재현성이 향상됩니다. Roboflow를 사용하면 각 이미지가 어떻게 증강되었는지 복사본을 보관할 수 있습니다. 예를 들어 모델이 어두운 이미지보다 밝은 이미지에서 더 잘 작동한다는 것을 알게 된다면, 저조도 학습 데이터를 더 수집해야 합니다.
학습 시간이 단축됩니다. 증강은 CPU에 제약을 받는 작업입니다. GPU에서 학습하는 동안 증강을 실시간으로 수행하면 GPU가 각 에포크마다 CPU가 증강된 데이터를 제공하기를 기다리는 경우가 많습니다. 그럴 수록 시간이 많이 소요됩니다!
학습 비용이 절감됩니다. 증강은 CPU에 제약을 받는 작업이기 때문에 비용이 많이 드는 대여 GPU가 학습용 이미지를 공급받기 위해 종종 대기 상태가 됩니다.
증강이 적용되는 방식
증강은 항상 학습 이미지에 전처리 단계이후에 적용됩니다. 선택된 증강은 함께 쌓이며 증강 설정과 각 설정의 값은 무작위화되어 각 증강된 이미지에 적용됩니다. 이 과정에서 중복으로 나타나는 이미지는 생성된 버전에서 필터링됩니다.
예를 들어 “수평 반전”과 “소금과 후추 노이즈” 증강을 선택하면 주어진 이미지는 무작위로 수평 반전되거나 무작위 소금과 후추 노이즈가 적용될 수 있습니다.
증강 제한하기
증강이 포함된 데이터셋 버전을 만들 때 "Maximum Version Size" 옵션을 통해 포함할 최대 증강 이미지 수를 선택할 수 있습니다.
예를 들어 3x를 선택하면 최종 데이터셋 버전에는 각 학습 소스 이미지가 전처리 단계 적용되고 선택한 설정을 기반으로 각 이미지의 2가지 무작위 증강이 포함됩니다.
데이터셋에 학습/검증/테스트 분할이 70/20/10이고 100장의 이미지가 있으며 3x 증강을 선택하면 최종 데이터셋은 대략 210/20/10 분할을 가지게 됩니다.

증강 옵션
Roboflow의 증강은 "Basic" 또는 "Enhanced"로 구분되며 두 가지 다른 수준에서 적용될 수 있습니다.
이미지 수준 증강
이미지 수준 증강은 개별 객체나 영역이 아니라 전체 이미지에 변환을 적용하여 새로운 학습 데이터를 생성합니다. 전체 이미지를 수정함으로써 개발자는 더 넓은 시각적 조건을 시뮬레이션할 수 있어 모델이 새 데이터에 대해 더 잘 일반화하도록 학습시킬 수 있습니다.
바운딩 박스 수준 증강
바운딩 박스 수준 증강은 소스 이미지의 바운딩 박스 내용만 변경하여 새로운 학습 데이터를 생성합니다. 이를 통해 개발자는 문제 조건에 더 적합한 학습 데이터를 생성하는 데 대해 더 큰 제어권을 가집니다.
A 2019 논문 Google 연구원들의 2019년 논문은 바운딩 박스만 증강을 사용하여 모델에 최적의 데이터를 생성하는 아이디어를 소개합니다. 이 논문에서 연구원들은 바운딩 박스만 수정하는 것이 특히 작은 데이터셋에 적합한 모델에서 체계적인 개선을 만든다는 것을 보여주었습니다.
자세히 알아보기
Last updated
Was this helpful?