데이터 증강은 기존 이미지에 다양한 변환을 적용하여 훈련 데이터 세트를 인위적으로 확장하는 컴퓨터 비전의 중요한 기술입니다. 데이터 증강은 Ultralytics YOLO 같은 딥러닝 모델을 훈련할 때 모델 견고성을 개선하고 과적합을 줄이며 실제 시나리오로의 일반화를 강화하는 데 도움이 됩니다.
데이터 증강이 중요한 이유
데이터 증강은 컴퓨터 비전 모델을 훈련하는 데 있어 여러 가지 중요한 용도로 사용됩니다:
확장된 데이터 세트: 기존 이미지의 변형을 생성하면 새로운 데이터를 수집하지 않고도 학습 데이터 세트의 크기를 효과적으로 늘릴 수 있습니다.
향상된 일반화: 모델은 다양한 조건에서 사물을 인식하는 방법을 학습하여 실제 애플리케이션에서 더욱 강력하게 작동합니다.
과적합 감소: 학습 데이터에 가변성을 도입하면 모델이 특정 이미지 특성을 암기할 가능성이 줄어듭니다.
향상된 성능: 적절한 증강으로 훈련된 모델은 일반적으로 유효성 검사 및 테스트 세트에서 더 나은 정확도를 달성합니다.
Ultralytics YOLO 구현은 각각 특정 목적을 달성하고 다양한 방식으로 모델 성능에 기여하는 포괄적인 증강 기술 제품군을 제공합니다. 이 가이드에서는 각 증강 매개변수를 자세히 살펴보고 프로젝트에서 효과적으로 사용하는 시기와 방법을 이해하는 데 도움을 줍니다.
구성 예시
Python API, 명령줄 인터페이스CLI 또는 구성 파일을 사용하여 각 매개변수를 사용자 지정할 수 있습니다. 다음은 각 방법에서 데이터 증강을 설정하는 방법의 예시입니다.
구성 예시
fromultralyticsimportYOLO# Load a modelmodel=YOLO("yolo11n.pt")# Training with custom augmentation parametersmodel.train(data="coco.yaml",epochs=100,hsv_h=0.03,hsv_s=0.6,hsv_v=0.5)# Training without any augmentations (disabled values omitted for clarity)model.train(data="coco.yaml",epochs=100,hsv_h=0.0,hsv_s=0.0,hsv_v=0.0,translate=0.0,scale=0.0,fliplr=0.0,mosaic=0.0,erasing=0.0,auto_augment=None,)
# Training with custom augmentation parameters
yolodetecttraindata=coco8.yamlmodel=yolo11n.ptepochs=100hsv_h=0.03hsv_s=0.6hsv_v=0.5
구성 파일 사용
증강을 포함한 모든 트레이닝 파라미터를 YAML 구성 파일(예:, train_custom.yaml). 그리고 mode 매개변수는 CLI 사용할 때만 필요합니다. 이 새 YAML 파일은 다음 매개 변수를 재정의합니다. 기본값 에 위치한 ultralytics 패키지입니다.
# train_custom.yaml# 'mode' is required only for CLI usagemode:traindata:coco8.yamlmodel:yolo11n.ptepochs:100hsv_h:0.03hsv_s:0.6hsv_v:0.5
그런 다음 Python API로 교육을 시작하세요:
열차 예시
fromultralyticsimportYOLO# Load a COCO-pretrained YOLO11n modelmodel=YOLO("yolo11n.pt")# Train the model with custom configurationmodel.train(cfg="train_custom.yaml")
# Train the model with custom configuration
yolodetecttrainmodel="yolo11n.pt"cfg=train_custom.yaml
색 공간 증강
색조 조정(hsv_h)
범위: 0.0 - 1.0
기본값: 0.015
사용법: 관계를 유지하면서 이미지 색상을 전환합니다. The hsv_h 하이퍼파라미터는 시프트 크기를 정의하며, 최종 조정은 다음 중 무작위로 선택됩니다. -hsv_h 그리고 hsv_h. 예를 들어 hsv_h=0.3내에서 무작위로 선택됩니다.-0.3 에 0.3. 위의 값의 경우 0.5의 경우 색조 이동이 색상환을 감싸기 때문에 증강이 다음과 같이 동일하게 보입니다. 0.5 그리고 -0.5.
목적: 조명 조건이 물체의 외관에 큰 영향을 미칠 수 있는 실외 시나리오에 특히 유용합니다. 예를 들어 바나나는 밝은 햇빛 아래에서는 노란색으로 보이지만 실내에서는 초록색으로 보일 수 있습니다.
사용법: 지정된 범위 내에서 이미지를 무작위로 회전합니다. 이미지의 degrees 하이퍼파라미터는 회전 각도를 정의하며, 최종 조정은 다음 중 무작위로 선택됩니다. -degrees 그리고 degrees. 예를 들어 degrees=10.0내에서 회전이 무작위로 선택됩니다.-10.0 에 10.0.
목적: 물체가 다양한 방향으로 나타날 수 있는 애플리케이션에 필수적입니다. 예를 들어, 항공 드론 이미지에서 차량의 방향은 어떤 방향이든 가능하므로 회전과 관계없이 물체를 인식해야 하는 모델에 필요합니다.
사용법: 이미지 크기의 임의의 비율만큼 이미지를 가로 및 세로로 이동합니다. 이미지의 translate 하이퍼파라미터는 시프트 크기를 정의하며, 최종 조정은 범위 내에서 무작위로 두 번(각 축마다 한 번씩) 선택됩니다. -translate 그리고 translate. 예를 들어 translate=0.5내에서 번역이 무작위로 선택됩니다.-0.5 에 0.5 를 선택하고, Y축에서 동일한 범위 내에서 또 다른 독립적인 임의의 값을 선택합니다.
목적: 모델이 부분적으로 보이는 물체를 감지하는 방법을 학습하도록 돕고 물체 위치에 대한 견고성을 향상시킵니다. 예를 들어 차량 손상 평가 애플리케이션에서 자동차 부품은 촬영자의 위치와 거리에 따라 프레임에 완전히 또는 부분적으로 나타날 수 있는데, 번역 증강을 사용하면 모델의 완전성이나 위치에 관계없이 이러한 특징을 인식하도록 학습할 수 있습니다.
참고: 간단하게 하기 위해 아래에 적용된 번역은 두 가지 모두에 대해 매번 동일합니다. x 그리고 y 축입니다. 값 -1.0 그리고 1.0는 이미지가 프레임 밖으로 완전히 이동하므로 표시되지 않습니다.
-0.5
-0.25
0.0
0.25
0.5
스케일 (scale)
범위: ≥0.0
기본값: 0.5
사용법: 지정된 범위 내에서 임의의 비율로 이미지 크기를 조정합니다. 이미지의 scale 하이퍼파라미터는 스케일링 계수를 정의하며, 최종 조정은 다음 중 무작위로 선택됩니다. 1-scale 그리고 1+scale. 예를 들어 scale=0.5내에서 스케일링이 무작위로 선택됩니다.0.5 에 1.5.
목적: 모델이 다양한 거리와 크기의 물체를 처리할 수 있도록 합니다. 예를 들어 자율 주행 애플리케이션에서는 차량이 카메라로부터 다양한 거리에 나타날 수 있으므로 모델에서 차량의 크기에 관계없이 이를 인식해야 합니다.
아래 표에 표시된 값은 하이퍼파라미터를 통해 적용된 값입니다. scale가 아닌 최종 배율이 적용됩니다.
만약 scale 보다 크면 1.0에서 스케일링 계수가 무작위로 선택되므로 이미지가 매우 작거나 뒤집힐 수 있습니다. 1-scale 그리고 1+scale. 예를 들어 scale=3.0내에서 스케일링이 무작위로 선택됩니다.-2.0 에 4.0. 음수 값을 선택하면 이미지가 반전됩니다.
-0.5
-0.25
0.0
0.25
0.5
전단 (shear)
범위: -180 에 +180
기본값: 0.0
사용법: 이미지의 일부분을 평행선을 유지하면서 한 방향으로 효과적으로 이동시키는 기하학적 변환을 도입하여 이미지를 x축과 y축을 따라 기울입니다. 이미지의 shear 하이퍼파라미터는 전단 각도를 정의하며, 최종 조정은 다음 중 무작위로 선택됩니다. -shear 그리고 shear. 예를 들어 shear=10.0내에서 전단이 무작위로 선택됩니다.-10 에 10 를 선택하고, Y축에서 동일한 범위 내에서 또 다른 독립적인 임의의 값을 선택합니다.
목적: 약간의 기울기나 비스듬한 시점으로 인한 시야각의 변화를 모델에 일반화할 수 있도록 지원합니다. 예를 들어 교통 모니터링에서는 카메라가 직각이 아닌 위치에 배치되어 자동차나 도로 표지판과 같은 물체가 기울어져 보일 수 있습니다. 전단 증강을 적용하면 모델이 이러한 왜곡된 왜곡에도 불구하고 물체를 인식하는 방법을 학습할 수 있습니다.
shear 값은 이미지를 빠르게 왜곡할 수 있으므로 작은 값으로 시작하여 점차적으로 늘려가는 것이 좋습니다.
전단은 원근 변환과 달리 깊이나 소실점을 도입하지 않고 반대쪽 면을 평행하게 유지하면서 각도를 변경하여 물체의 모양을 왜곡합니다.
-10
-5
0.0
5
10
관점 (perspective)
범위: 0.0 - 0.001
기본값: 0.0
사용법: X축과 Y축을 따라 전체 원근 변환을 적용하여 다양한 깊이 또는 각도에서 물체를 볼 때 어떻게 보이는지 시뮬레이션합니다. 그리고 perspective 하이퍼파라미터는 원근 크기를 정의하며, 최종 조정은 다음 중 무작위로 선택됩니다. -perspective 그리고 perspective. 예를 들어 perspective=0.001내에서 원근감이 무작위로 선택됩니다.-0.001 에 0.001 를 선택하고, Y축에서 동일한 범위 내에서 또 다른 독립적인 임의의 값을 선택합니다.
목적: 원근 증강은 특히 원근 이동으로 인해 물체가 짧아지거나 왜곡되어 보이는 시나리오에서 극심한 시점 변화를 처리하는 데 매우 중요합니다. 예를 들어 드론 기반 물체 감지에서는 드론의 기울기와 고도에 따라 건물, 도로, 차량이 늘어나거나 압축되어 보일 수 있습니다. 원근 변환을 적용하면 모델은 이러한 원근으로 인한 왜곡에도 불구하고 물체를 인식하는 방법을 학습하여 실제 배포에서 견고성을 향상시킵니다.
사용법: Y축을 따라 이미지를 반전하여 수직 뒤집기를 수행합니다. 이 변환은 전체 이미지를 거꾸로 미러링하지만 개체 간의 모든 공간 관계는 보존합니다. flipud 하이퍼파라미터는 변환을 적용할 확률을 정의하며, 값은 다음과 같습니다. flipud=1.0 모든 이미지가 뒤집혀 있는지 확인하고 flipud=0.0 변환을 완전히 비활성화합니다. 예를 들어 flipud=0.5를 누르면 각 이미지가 50%의 확률로 거꾸로 뒤집힙니다.
목적: 물체가 거꾸로 나타날 수 있는 시나리오에 유용합니다. 예를 들어, 로봇 비전 시스템에서는 컨베이어 벨트나 로봇 팔에 있는 물체를 집어 다양한 방향으로 배치할 수 있습니다. 수직 뒤집기를 사용하면 하향식 위치에 관계없이 모델이 물체를 인식하는 데 도움이 됩니다.
사용법: 이미지를 X축을 따라 미러링하여 수평 뒤집기를 수행합니다. 이 변환은 공간적 일관성을 유지하면서 왼쪽과 오른쪽을 바꾸므로 모델이 미러링된 방향으로 나타나는 객체에 일반화하는 데 도움이 됩니다. 그리고 fliplr 하이퍼파라미터는 변환을 적용할 확률을 정의하며, 값은 fliplr=1.0 모든 이미지가 뒤집혀 있는지 확인하고 fliplr=0.0 변환을 완전히 비활성화합니다. 예를 들어 fliplr=0.5를 누르면 각 이미지가 왼쪽에서 오른쪽으로 뒤집힐 확률이 50%입니다.
목적: 수평 반전은 물체 감지, 자세 추정, 얼굴 인식에서 좌우 변화에 대한 견고성을 향상시키기 위해 널리 사용됩니다. 예를 들어 자율 주행에서는 차량과 보행자가 도로의 양쪽에 나타날 수 있는데, 수평 반전은 모델이 양쪽 방향에서 똑같이 잘 인식하는 데 도움이 됩니다.
사용법: 이미지의 색상 채널을 RGB에서 BGR로 바꾸어 색상이 표현되는 순서를 변경합니다. 이미지의 bgr 하이퍼파라미터는 변환을 적용할 확률을 정의합니다. bgr=1.0 모든 이미지가 채널 스왑을 거치도록 하고 bgr=0.0 비활성화합니다. 예를 들어 bgr=0.5를 사용하면 각 이미지가 RGB에서 BGR로 변환될 확률이 50%입니다.
목적: 다양한 컬러 채널 순서에 대한 견고성을 높입니다. 예를 들어 RGB 및 BGR 형식이 일관되지 않게 사용될 수 있는 다양한 카메라 시스템과 이미징 라이브러리에서 작동해야 하는 모델을 학습시키거나 입력 색상 형식이 학습 데이터와 다를 수 있는 환경에 모델을 배포할 때 사용합니다.
사용법: 4개의 트레이닝 이미지를 하나로 결합합니다. The mosaic 하이퍼파라미터는 변환을 적용할 확률을 정의합니다. mosaic=1.0 모든 이미지가 결합되어 있는지 확인하고 mosaic=0.0 변환을 비활성화합니다. 예를 들어 mosaic=0.5를 사용하면 각 이미지가 다른 이미지 세 개와 결합될 확률이 50%입니다.
목적: 작은 물체 감지 및 상황 이해를 향상시키는 데 매우 효과적입니다. 예를 들어, 동물이 다양한 거리와 크기로 나타날 수 있는 야생동물 보호 프로젝트에서 모자이크 증강은 제한된 데이터에서 다양한 훈련 샘플을 인위적으로 생성하여 모델이 다양한 크기, 부분적인 폐색 및 환경적 맥락에서 동일한 종을 인식하는 방법을 학습하는 데 도움이 됩니다.
심지어 mosaic 증강은 모델을 더 강력하게 만들지만, 훈련 과정을 더 어렵게 만들 수도 있습니다.
그리고 mosaic 증강은 교육이 끝날 무렵에 설정하여 비활성화할 수 있습니다. close_mosaic 를 꺼야 하는 완료 전 에포크 수로 설정할 수 있습니다. 예를 들어 다음과 같은 경우 epochs 로 설정되어 있습니다. 200 그리고 close_mosaic 로 설정되어 있습니다. 20에서 mosaic 이후에는 증강 기능이 비활성화됩니다. 180 시대. 만약 close_mosaic 로 설정되어 있습니다. 0에서 mosaic 전체 교육 프로세스에 증강 기능이 활성화됩니다.
생성된 모자이크의 중심은 임의의 값을 사용하여 결정되며 이미지 안쪽 또는 바깥쪽에 위치할 수 있습니다.
현재 구현된 mosaic 증강은 데이터 세트에서 무작위로 선택한 4개의 이미지를 결합합니다. 데이터 세트가 작은 경우 동일한 이미지가 동일한 모자이크에 여러 번 사용될 수 있습니다.
mosaic 꺼짐
mosaic on
믹스업(mixup)
범위: 0.0 - 1.0
기본값: 0.0
사용법: 두 이미지와 해당 레이블을 주어진 확률로 혼합합니다. The mixup 하이퍼파라미터는 변환을 적용할 확률을 정의합니다. mixup=1.0 모든 이미지가 혼합되어 있는지 확인하고 mixup=0.0 변환을 비활성화합니다. 예를 들어 mixup=0.5를 사용하면 각 이미지가 다른 이미지와 혼합될 확률이 50%입니다.
목적: 모델의 견고성을 개선하고 과적합을 줄입니다. 예를 들어, 소매 제품 인식 시스템에서 믹스업은 다양한 제품의 이미지를 혼합하여 모델이 더 강력한 특징을 학습하도록 지원하여 복잡한 매장 진열대에서 다른 제품에 의해 부분적으로 보이거나 가려진 경우에도 상품을 식별하도록 가르칩니다.
그리고 mixup 비율은 np.random.beta(32.0, 32.0) 베타 분포로, 각 이미지의 기여도는 약간의 차이가 있지만 대략 50%입니다.
첫 번째 이미지, mixup 꺼짐
두 번째 이미지, mixup 꺼짐
mixup on
CutMix (cutmix)
범위: 0.0 - 1.0
기본값: 0.0
사용법: 한 이미지에서 직사각형 영역을 잘라내어 주어진 확률로 다른 이미지에 붙여넣습니다. 이미지의 cutmix 하이퍼파라미터는 변환을 적용할 확률을 정의합니다. cutmix=1.0 모든 이미지가 이 변환 과정을 거치도록 하고 cutmix=0.0 완전히 비활성화합니다. 예를 들어 cutmix=0.5를 사용하면 각 이미지의 영역이 다른 이미지의 패치로 대체될 확률이 50%입니다.
목적: 로컬 피처 무결성을 유지하면서 사실적인 오클루전 시나리오를 생성하여 모델 성능을 향상시킵니다. 예를 들어, 자율 주행 시스템에서 컷믹스는 차량이나 보행자가 다른 물체에 부분적으로 가려져 있어도 모델이 이를 인식하도록 학습하여 물체가 겹치는 복잡한 실제 환경에서 감지 정확도를 개선할 수 있도록 도와줍니다.
픽셀 값을 전역적으로 혼합하는 믹스업과는 다릅니다, cutmix 는 잘라낸 영역 내에서 원래 픽셀 강도를 유지하여 국부적인 특징을 보존합니다.
영역은 기존 경계 상자와 겹치지 않는 경우에만 대상 이미지에 붙여넣습니다. 또한 최소한 다음 중 하나 이상을 유지하는 경계 상자만 0.1 (10%) 붙여넣기 영역 내의 원래 영역이 보존됩니다.
이 최소 바운딩 박스 면적 임계값은 현재 구현에서는 변경할 수 없으며 다음과 같이 설정됩니다. 0.1 기본값입니다.
첫 번째 이미지, cutmix 꺼짐
두 번째 이미지, cutmix 꺼짐
cutmix on
세분화별 증강 기능
복사-붙여넣기(copy_paste)
범위: 0.0 - 1.0
기본값: 0.0
사용법: 세분화 작업에만 작동하는 이 증강 기능은 지정된 확률에 따라 이미지 내부 또는 이미지 간에 개체를 복사합니다. copy_paste_mode. . copy_paste 하이퍼파라미터는 변환을 적용할 확률을 정의합니다. copy_paste=1.0 모든 이미지가 복사되었는지 확인하고 copy_paste=0.0 변환을 비활성화합니다. 예를 들어 copy_paste=0.5를 사용하면 각 이미지에 다른 이미지에서 개체가 복사될 확률이 50%입니다.
목적: 인스턴스 분할 작업과 희귀한 객체 클래스에 특히 유용합니다. 예를 들어, 특정 유형의 결함이 드물게 나타나는 산업 결함 검출에서 복사-붙여넣기 증강은 한 이미지에서 다른 이미지로 복사하여 이러한 드문 결함의 발생을 인위적으로 증가시켜 모델이 추가 결함 샘플 없이도 잘 나타나지 않는 사례를 더 잘 학습할 수 있도록 도와줍니다.
아래 GIF에서 볼 수 있듯이, 아래 그림과 같이 copy_paste 증강을 사용하여 한 이미지에서 다른 이미지로 개체를 복사할 수 있습니다.
객체가 복사되면, 객체의 copy_paste_mode를 사용하면 소스 이미지의 모든 객체에 대해 영역 교차점(IoA)이 계산됩니다. 모든 IoA가 다음과 같으면 0.3 (30%)를 초과하면 대상 이미지에 개체가 붙여넣어집니다. IoA가 하나만 위인 경우 0.3를 클릭하면 대상 이미지에 개체가 붙여넣어지지 않습니다.
IoA 임계값은 현재 구현에서는 변경할 수 없으며 다음과 같이 설정됩니다. 0.3 기본값입니다.
copy_paste 꺼짐
copy_paste 와 함께 copy_paste_mode=flip
시각화 copy_paste 프로세스
복사-붙여넣기 모드(copy_paste_mode)
옵션: 'flip', 'mixup'
기본값: 'flip'
사용법: 다음에 사용되는 방법을 결정합니다. 복사-붙여넣기 증강. 로 설정된 경우 'flip'의 경우 객체는 동일한 이미지에서 가져오지만 'mixup' 를 사용하면 다른 이미지에서 개체를 복사할 수 있습니다.
IoA 원칙은 두 가지 모두 동일합니다. copy_paste_mode와 비슷하지만 개체가 복사되는 방식이 다릅니다.
이미지 크기에 따라 개체의 일부 또는 전체가 프레임 외부로 복사되는 경우가 있습니다.
폴리곤 주석의 품질에 따라 복사된 개체는 원본과 비교하여 모양이 약간 달라질 수 있습니다.
참조 이미지
선택한 이미지 copy_paste
copy_paste 와 함께 copy_paste_mode=mixup
분류별 증강
자동 증강(auto_augment)
옵션: 'randaugment', 'autoaugment', 'augmix', None
기본값: 'randaugment'
사용법: 분류를 위해 자동화된 증강 정책을 적용합니다. 그리고 'randaugment' 옵션은 랜드어그먼트를 사용합니다, 'autoaugment' 는 자동 증강을 사용하며 'augmix' 는 AugMix를 사용합니다. 설정은 None 자동 증강을 비활성화합니다.
목적: 분류 작업에 대해 자동으로 증강 전략을 최적화합니다. 차이점은 다음과 같습니다:
자동 증강: 이 모드는 이미지넷, CIFAR10, SVHN과 같은 데이터 세트에서 학습한 사전 정의된 증강 정책을 적용합니다. 사용자는 이러한 기존 정책을 선택할 수 있지만 Torchvision 내에서 새로운 정책을 학습할 수는 없습니다. 특정 데이터 세트에 대한 최적의 증강 전략을 찾으려면 외부 라이브러리 또는 사용자 정의 구현이 필요합니다. 자동 증강 백서를 참조하세요.
RandAugment: 균일한 크기로 무작위 변환을 적용합니다. 이 접근 방식은 광범위한 검색 단계의 필요성을 줄여 계산 효율을 높이는 동시에 모델 견고성을 향상시킵니다. RandAugment 백서를 참조하세요.
AugMix: AugMix는 간단한 변환의 무작위 조합을 통해 다양한 이미지 변형을 생성하여 모델의 견고성을 향상시키는 데이터 증강 방법입니다. AugMix 백서를 참조하세요.
사용법: 분류 훈련 중에 이미지의 일부를 임의로 지웁니다. The erasing 하이퍼파라미터는 변환을 적용할 확률을 정의합니다. erasing=0.9 거의 모든 이미지가 지워지도록 하고 erasing=0.0 변환을 비활성화합니다. 예를 들어 erasing=0.5를 사용하면 각 이미지의 일부가 지워질 확률이 50%입니다.
목적: 모델이 강력한 특징을 학습하도록 돕고 특정 이미지 영역에 과도하게 의존하는 것을 방지합니다. 예를 들어, 얼굴 인식 시스템에서 무작위 지우기는 모델이 선글라스, 마스크 또는 얼굴 특징을 부분적으로 가릴 수 있는 기타 물체와 같은 부분적인 가려짐에 대해 더 강력해지도록 도와줍니다. 이렇게 하면 모델이 가려질 수 있는 특징에만 의존하지 않고 여러 얼굴 특징을 사용하여 개인을 식별하도록 함으로써 실제 성능을 향상시킬 수 있습니다.
그리고 erasing 증강은 scale, ratio및 value 하이퍼파라미터로 변경할 수 없는 현재 구현. 기본값은 다음과 같습니다. (0.02, 0.33), (0.3, 3.3)및 0에 명시된 대로 각각 PyTorch 문서.
상한은 erasing 하이퍼파라미터가 0.9 를 사용하여 모든 이미지에 변환을 적용하지 않도록 합니다.
erasing 꺼짐
erasing 켜기(예 1)
erasing 켜기(예 2)
erasing 켜기(예 3)
자주 묻는 질문
선택할 수 있는 증강 기능이 너무 많습니다. 어떤 것을 사용해야 할지 어떻게 알 수 있나요?
적합한 증강 기능을 선택하는 것은 특정 사용 사례와 데이터 세트에 따라 다릅니다. 다음은 결정에 도움이 되는 몇 가지 일반적인 가이드라인입니다:
대부분의 경우 색상과 밝기에 약간의 변화를 주는 것이 좋습니다. 기본값은 hsv_h, hsv_s및 hsv_v 는 확실한 출발점입니다.
카메라의 시점이 일관되고 모델이 배포된 후에도 변경되지 않는 경우 다음과 같은 지오메트리 변환을 건너뛸 수 있습니다. rotation, translation, scale, shear또는 perspective. 그러나 카메라 각도가 달라질 수 있고 모델을 더 견고하게 만들어야 하는 경우에는 이러한 증강 기능을 유지하는 것이 좋습니다.
사용 mosaic 증강은 부분적으로 가려진 개체 또는 이미지당 여러 개의 개체가 허용되고 레이블 값을 변경하지 않는 경우에만 사용할 수 있습니다. 또는 mosaic 활성 상태이지만 close_mosaic 값을 설정하여 교육 프로세스 초기에 비활성화할 수 있습니다.
요컨대, 단순하게 유지하세요. 작은 증강 기능으로 시작하여 필요에 따라 점차적으로 더 많은 기능을 추가하세요. 목표는 모델의 일반화와 견고성을 개선하는 것이지, 훈련 과정을 지나치게 복잡하게 만드는 것이 아닙니다. 또한 적용하는 증강 기능이 모델이 프로덕션 환경에서 접하게 될 데이터 분포와 동일한지 확인하세요.
교육을 시작할 때 albumentations: Blur[...] 를 참조하세요. 즉, Ultralytics YOLO 블러와 같은 추가 증강 기능을 실행한다는 의미인가요?
만약 albumentations 패키지가 설치되면 Ultralytics 이를 사용하여 일련의 추가 이미지 증강 기능을 자동으로 적용합니다. 이러한 증강 기능은 내부적으로 처리되며 추가 구성이 필요하지 않습니다.
적용된 변환의 전체 목록은 다음에서 확인할 수 있습니다. 기술 문서뿐만 아니라 문서화 통합 가이드. 확률이 있는 증강만 해당됩니다. p 보다 큰 0 가 활성화되어 있습니다. 이는 흐림 또는 회색조 효과와 같은 실제 시각적 아티팩트를 모방하기 위해 의도적으로 낮은 주파수에서 적용됩니다.
교육을 시작할 때 앨범에 대한 참조가 표시되지 않습니다. 왜 그럴까요?
다음 사항을 확인하십시오. albumentations 패키지가 설치되어 있는지 확인합니다. 설치되어 있지 않은 경우 다음을 실행하여 설치할 수 있습니다. pip install albumentations. 설치가 완료되면 패키지가 자동으로 감지되어 Ultralytics 사용되어야 합니다.