데이터셋을 강화하여 YOLO11 학습하기 문서화 사용
컴퓨터 비전 모델을 구축할 때 학습 데이터의 품질과 다양성은 모델의 성능에 큰 영향을 미칠 수 있습니다. 알비멘테이션은 빠르고 유연하며 효율적으로 다양한 이미지 변환을 적용할 수 있는 방법을 제공하여 실제 시나리오에 적응하는 모델의 능력을 향상시킬 수 있습니다. 다음과 쉽게 통합되며 Ultralytics YOLO11 와 쉽게 통합되며 객체 감지, 세분화 및 분류 작업을 위한 강력한 데이터 세트를 생성하는 데 도움이 될 수 있습니다.
문서화를 사용하면 기하학적 변환 및 색상 조정과 같은 기술을 사용하여 YOLO11 교육 데이터를 강화할 수 있습니다. 이 문서에서는 문서화를 통해 데이터 증강 프로세스를 개선하고 YOLO11 프로젝트를 더욱 영향력 있게 만드는 방법을 살펴봅니다. 시작해 보겠습니다!
이미지 증강을 위한 문서화
Albumentations는 2018년 6월에 만들어진 오픈 소스 이미지 증강 라이브러리입니다. 컴퓨터 비전에서 이미지 증강 프로세스를 단순화하고 가속화하도록 설계되었습니다. 성능과 유연성을 염두에 두고 개발된 이 라이브러리는 회전 및 뒤집기와 같은 간단한 변형부터 밝기 및 대비 변경과 같은 보다 복잡한 조정에 이르기까지 다양한 증강 기법을 지원합니다. 알비멘테이션은 개발자가 이미지 분류, 물체 감지, 분할과 같은 작업을 위해 풍부하고 다양한 데이터 세트를 생성하는 데 도움이 됩니다.
문서화를 사용하여 이미지, 세그멘테이션 마스크, 경계 상자, 키 포인트에 쉽게 증강을 적용하고 데이터 세트의 모든 요소가 함께 변환되도록 할 수 있습니다. 다음과 같이 널리 사용되는 딥 러닝 프레임워크와 원활하게 작동합니다. PyTorch 및 TensorFlow와 같은 인기 있는 딥 러닝 프레임워크와 원활하게 작동하므로 다양한 프로젝트에 액세스할 수 있습니다.
또한, 문서화는 소규모 데이터 세트든 대규모 컴퓨터 비전 작업이든 상관없이 증강을 위한 훌륭한 옵션입니다. 빠르고 효율적인 처리를 보장하여 데이터 준비에 소요되는 시간을 줄여줍니다. 동시에 모델 성능을 개선하여 실제 애플리케이션에서 모델을 더욱 효과적으로 만들 수 있습니다.
문서화의 주요 기능
Albumentations는 다양한 컴퓨터 비전 애플리케이션에서 복잡한 이미지 증강을 간소화하는 유용한 기능을 많이 제공합니다. 다음은 몇 가지 주요 기능입니다:
- 다양한 변형: 알비멘테이션은 기하학적 변경(예: 회전, 뒤집기), 색상 조정(예: 밝기, 대비), 노이즈 추가(예: 가우시안 노이즈) 등 70가지 이상의 다양한 변환을 제공합니다. 다양한 옵션을 사용하면 매우 다양하고 강력한 훈련 데이터 세트를 만들 수 있습니다.
-
고성능 최적화: OpenCV와 NumPy를 기반으로 구축된 Albumentations는 여러 데이터 포인트를 동시에 처리하여 처리 속도를 높이는 SIMD(단일 명령어, 다중 데이터)와 같은 고급 최적화 기술을 사용합니다. 대용량 데이터 세트를 빠르게 처리하므로 이미지 증강에 사용할 수 있는 가장 빠른 옵션 중 하나입니다.
-
세 가지 수준의 증강: 앨범은 픽셀 수준 변환, 공간 수준 변환, 혼합 수준 변환의 세 가지 수준의 증강을 지원합니다. 픽셀 수준 변환은 마스크, 경계 상자 또는 키 포인트를 변경하지 않고 입력 이미지에만 영향을 줍니다. 반면, 이미지와 마스크 및 경계 상자 같은 요소는 모두 공간 수준 변환을 사용하여 변환됩니다. 또한 혼합 수준 변환은 여러 이미지를 하나로 결합하여 데이터를 증강하는 고유한 방법입니다.
- 벤치마킹 결과: 벤치마킹 결과, 특히 대규모 데이터 세트의 경우 Albumentations가 다른 라이브러리보다 지속적으로 우수한 성능을 보였습니다.
비전 AI 프로젝트에 문서화를 사용해야 하는 이유는 무엇인가요?
이미지 증강과 관련하여 Albumentations는 컴퓨터 비전 작업을 위한 신뢰할 수 있는 도구로 돋보입니다. 다음은 비전 AI 프로젝트에 이 툴을 사용해야 하는 몇 가지 주요 이유입니다:
-
사용하기 쉬운 API: 문서화는 이미지, 마스크, 경계 상자, 키포인트에 다양한 증강 기능을 적용할 수 있는 단일의 간단한 API를 제공합니다. 다양한 데이터 세트에 쉽게 적용할 수 있도록 설계되어 데이터를 더 간단하고 효율적으로 준비할 수 있습니다.
-
엄격한 버그 테스트: 증강 파이프라인의 버그는 입력 데이터를 조용히 손상시켜 눈에 띄지 않는 경우가 많지만 궁극적으로 모델 성능을 저하시킬 수 있습니다. 앨버멘테이션은 개발 초기에 버그를 포착하는 데 도움이 되는 철저한 테스트 스위트를 통해 이 문제를 해결합니다.
-
확장성: 문서화를 사용하여 새로운 증강 기능을 쉽게 추가하고 내장된 변환과 함께 단일 인터페이스를 통해 컴퓨터 비전 파이프라인에서 사용할 수 있습니다.
문서화를 사용하여 YOLO11 교육용 데이터를 보강하는 방법
이제 문서화가 무엇이며 어떤 기능을 할 수 있는지 살펴보았으니 이제 문서화를 사용하여 YOLO11 모델 학습을 위해 데이터를 보강하는 방법을 살펴 보겠습니다. 이 기능은 Ultralytics' 훈련 모드에 바로 통합되며, Albumentations 패키지가 설치되어 있으면 자동으로 적용되므로 설정이 쉽습니다.
설치
YOLO11 에서 문서화를 사용하려면 먼저 필요한 패키지가 설치되어 있는지 확인하세요. 문서화가 설치되어 있지 않으면 교육 중에 증강 기능이 적용되지 않습니다. 설정이 완료되면 학습용 증강 데이터 세트를 생성할 준비가 완료되며, 자동으로 모델을 향상시키기 위해 문서화가 통합됩니다.
설치 과정과 관련된 자세한 지침과 모범 사례는 Ultralytics 설치 가이드를 참조하세요. YOLO11 에 필요한 패키지를 설치하는 동안 문제가 발생하면 일반적인 문제 가이드를 참조하여 해결 방법과 팁을 확인하세요.
사용법
필요한 패키지를 설치한 후에는 YOLO11 에서 Albumentations를 사용할 준비가 된 것입니다. YOLO11 을 훈련하면 일련의 증강 기능이 Albumentations와의 통합을 통해 자동으로 적용되므로 모델의 성능을 쉽게 향상시킬 수 있습니다.
사용법
다음으로 훈련 중에 적용되는 구체적인 증강 기능을 자세히 살펴보겠습니다.
블러
앨범의 흐림 변환은 작은 정사각형 영역 또는 커널 내의 픽셀 값을 평균화하여 이미지에 간단한 흐림 효과를 적용합니다. 이 작업은 OpenCV를 사용하여 수행됩니다. cv2.blur
기능을 사용하면 이미지의 노이즈를 줄이는 데 도움이 되지만 이미지 디테일도 약간 감소합니다.
이 통합에 사용된 매개변수와 값은 다음과 같습니다:
-
blur_limit: 블러 효과의 크기 범위를 제어합니다. 기본 범위는 (3, 7)로, 블러의 커널 크기가 3~7픽셀 사이에서 달라질 수 있으며, 홀수만 허용되어 블러가 중앙에 유지되도록 합니다.
-
p: 블러를 적용할 확률입니다. 통합에서 p=0.01은 각 이미지에 이 블러가 적용될 확률이 1%라는 뜻입니다. 확률이 낮기 때문에 가끔씩 블러 효과가 적용되어 모델이 이미지를 과도하게 흐리게 하지 않고 일반화할 수 있도록 약간의 변형을 도입할 수 있습니다.
중앙값 흐림
앨범의 MedianBlur 변환은 이미지에 중앙값 흐림 효과를 적용하여 가장자리를 보존하면서 노이즈를 줄이는 데 특히 유용합니다. 일반적인 흐림 방법과 달리 MedianBlur는 중앙값 필터를 사용하므로 가장자리 주변의 선명도를 유지하면서 소금과 후추 노이즈를 제거하는 데 특히 효과적입니다.
이 통합에 사용된 매개변수와 값은 다음과 같습니다:
-
blur_limit: 이 매개변수는 블러 커널의 최대 크기를 제어합니다. 이 통합에서 기본값은 (3, 7) 범위로, 블러의 커널 크기가 3~7픽셀 사이에서 무작위로 선택되며, 적절한 정렬을 위해 홀수 값만 허용됩니다.
-
p: 중앙값 흐림 효과 적용 확률을 설정합니다. 여기서는 p=0.01이므로 변환이 각 이미지에 적용될 확률은 1%입니다. 이 낮은 확률은 중앙값 흐림이 드물게 사용되도록 하여 노이즈가 감소하고 가장자리가 보존된 이미지를 가끔씩 확인함으로써 모델이 일반화할 수 있도록 도와줍니다.
아래 이미지는 이미지에 이 증강 기능을 적용한 예시입니다.
그레이 스케일
앨범의 ToGray 변환은 이미지를 회색조로 변환하여 단일 채널 형식으로 축소하고 이 채널을 선택적으로 복제하여 지정된 출력 채널 수에 일치하도록 합니다. 단순한 평균화부터 대비와 밝기를 사실적으로 표현하는 고급 기법까지 다양한 방법을 사용하여 그레이스케일 밝기를 계산하는 방법을 조정할 수 있습니다.
이 통합에 사용된 매개변수와 값은 다음과 같습니다:
-
num_output_channels: 출력 이미지의 채널 수를 설정합니다. 이 값이 1보다 크면 단일 그레이스케일 채널이 복제되어 멀티채널 그레이스케일 이미지가 생성됩니다. 기본적으로 3으로 설정되어 동일한 채널이 3개인 회색조 이미지가 생성됩니다.
-
메서드: 그레이 스케일 변환 방법을 정의합니다. 기본 방법인 "가중 평균"은 사람의 지각에 가까운 공식(0.299R + 0.587G + 0.114B)을 적용하여 자연스러운 회색조 효과를 제공합니다. "from_lab", "desaturation", "average", "max", "pca" 등의 다른 옵션은 속도, 밝기 강조 또는 디테일 보존에 대한 다양한 요구에 따라 그레이스케일 이미지를 생성하는 대체 방법을 제공합니다.
-
p: 그레이 스케일 변환이 적용되는 빈도를 제어합니다. p=0.01을 사용하면 각 이미지를 그레이스케일로 변환할 확률이 1%이므로 컬러 이미지와 그레이스케일 이미지가 혼합되어 모델이 더 잘 일반화할 수 있습니다.
아래 이미지는 이 회색조 변환이 적용된 예시입니다.
콘트라스트 제한 적응형 히스토그램 이퀄라이제이션(CLAHE)
앨범의 CLAHE 변환은 전체 이미지가 아닌 국소화된 영역(타일)에서 히스토그램을 균등화하여 이미지 대비를 향상시키는 기술인 대비 제한 적응형 히스토그램 균등화(CLAHE)를 적용합니다. CLAHE는 특히 처음에 대비가 낮은 영역에서 표준 히스토그램 균등화에서 발생할 수 있는 지나치게 증폭된 대비를 방지하여 균형 잡힌 향상 효과를 생성합니다.
이 통합에 사용된 매개변수와 값은 다음과 같습니다:
-
clip_limit: 대비 향상 범위를 제어합니다. 기본 범위인 (1, 4)로 설정하면 각 타일에 허용되는 최대 대비가 결정됩니다. 값이 클수록 대비가 높아지지만 노이즈가 발생할 수 있습니다.
-
타일_그리드_크기: 타일 그리드의 크기를 일반적으로 (행, 열)로 정의합니다. 기본값은 (8, 8)로, 이미지가 8x8 그리드로 분할된다는 의미입니다. 타일 크기가 작을수록 국부적인 조정이 가능하며, 타일 크기가 클수록 전역 이퀄라이제이션에 가까운 효과가 생성됩니다.
-
p: CLAHE를 적용할 확률입니다. 여기서 p=0.01은 1%의 경우에만 향상 효과가 적용되므로 훈련 이미지에서 가끔씩 발생하는 변화에 대비 조정을 드물게 적용합니다.
아래 이미지는 CLAHE 변환이 적용된 예시입니다.
문서화에 대해 계속 알아보기
문서화에 대해 더 자세히 알고 싶다면 다음 리소스에서 더 자세한 지침과 예시를 확인하세요:
-
문서화 문서: 공식 문서에서는 지원되는 모든 변환과 고급 사용 기술을 제공합니다.
-
Ultralytics 문서화 가이드: 이 통합을 용이하게 하는 기능의 세부 사항을 자세히 살펴보세요.
-
문서화 깃허브 리포지토리: 리포지토리에는 사용자 지정 증강 기능을 시작하는 데 도움이 되는 예제, 벤치마크 및 토론이 포함되어 있습니다.
주요 내용
이 가이드에서는 이미지 증강을 위한 훌륭한 Python 라이브러리인 앨범먼트의 주요 측면을 살펴봤습니다. 광범위한 변환 기능, 최적화된 성능, 다음 YOLO11 프로젝트에서 어떻게 사용할 수 있는지에 대해 설명했습니다.
또한 Ultralytics YOLO11 통합에 대해 더 자세히 알고 싶다면 통합 가이드 페이지를 방문하세요. 유용한 리소스와 인사이트를 찾을 수 있습니다.
자주 묻는 질문
향상된 데이터 증강을 위해 문서화를 YOLO11 와 통합하려면 어떻게 해야 하나요?
알비멘테이션은 YOLO11 과 원활하게 통합되며 패키지가 설치되어 있는 경우 교육 중에 자동으로 적용됩니다. 시작하는 방법은 다음과 같습니다:
# Install required packages
# !pip install albumentations ultralytics
from ultralytics import YOLO
# Load and train model with automatic augmentations
model = YOLO("yolo11n.pt")
model.train(data="coco8.yaml", epochs=100)
이 통합에는 모델 성능을 향상시키기 위해 세심하게 조정된 확률로 블러, 중간 흐림, 그레이스케일 변환 및 CLAHE와 같은 최적화된 증강 기능이 포함되어 있습니다.
다른 증강 라이브러리보다 문서화를 사용하면 얻을 수 있는 주요 이점은 무엇인가요?
문서화가 중요한 이유는 여러 가지가 있습니다:
- 성능: 뛰어난 속도를 위해 SIMD 최적화가 적용된 OpenCV 및 NumPy 기반 구축
- 유연성: 픽셀 수준, 공간 수준 및 혼합 수준 증강에 걸쳐 70개 이상의 변환을 지원합니다.
- 호환성: 호환성: 다음과 같은 인기 프레임워크와 원활하게 작동 PyTorch 및 TensorFlow
- 신뢰성: 광범위한 테스트 스위트로 조용한 데이터 손상 방지
- 사용 편의성: 모든 증강 유형을 위한 단일 통합 API
어떤 유형의 컴퓨터 비전 작업이 문서화 증강의 이점을 누릴 수 있나요?
문서화는 다음을 포함한 다양한 컴퓨터 비전 작업을 향상시킵니다:
- 오브젝트 감지: 조명, 스케일 및 방향 변화에 대한 모델 견고성 향상
- 인스턴스 세분화: 다양한 변환을 통해 마스크 예측 정확도 향상
- 분류: 색상 및 기하학적 증강을 통해 모델 일반화 향상
- 포즈 추정: 모델이 다양한 시점과 조명 조건에 적응하도록 지원
라이브러리의 다양한 증강 옵션은 강력한 모델 성능이 필요한 모든 비전 작업에 유용합니다.