Link to this section모델 평가 및 미세 조정에 대한 인사이트#
YOLO 모델 학습 후, 다음 단계는 모델의 성능을 측정하고 격차를 줄이기 위해 파인 튜닝(fine-tuning)을 수행하는 것입니다. 평가는 mAP 및 IoU와 같은 지표를 사용하여 정확도를 정량화하며, 파인 튜닝은 프로젝트 목표에 부합하도록 학습 파라미터를 조정하여 취약점을 보완합니다. 본 가이드는 주요 평가 지표, 이를 해석하는 방법, 그리고 모델의 성능을 향상시키는 파인 튜닝 기법을 설명합니다.
Watch: Insights into Model Evaluation and Fine-Tuning | Tips for Improving Mean Average Precision
평가와 파인 튜닝은 학습이 진행된 후, 모델이 정확하고 효율적이며 배포 준비가 되었는지 검증해야 하는 컴퓨터 비전 프로젝트 워크플로의 마지막 단계에서 이루어집니다.
Link to this section주요 평가 지표#
다양한 지표가 모델의 효과적인 성능을 측정합니다. 이러한 성능 지표는 모델이 의도한 목표를 충족하도록 개선하는 데 필요한 명확한 수치적 통찰력을 제공합니다.
Link to this section신뢰도 점수 (Confidence Score)#
신뢰도 점수는 감지된 객체가 특정 클래스에 속할 확률에 대한 모델의 확신을 나타냅니다. 0에서 1 사이의 값을 가지며, 점수가 높을수록 확신이 크다는 것을 의미합니다. 신뢰도 점수는 예측을 필터링하는 데 도움이 되며, 지정된 임계값보다 높은 신뢰도 점수를 가진 감지만 유효한 것으로 간주됩니다.
추론 실행 시 예측 결과가 보이지 않고 다른 모든 사항을 점검했다면, 신뢰도 임계값(confidence threshold)을 낮춰 보십시오. 때로는 임계값이 너무 높아 모델이 유효한 예측을 무시하는 경우가 있습니다. 이를 낮추면 모델이 더 많은 가능성을 고려하게 됩니다. 최종 프로젝트 목표에는 부합하지 않을 수 있으나, 모델의 성능을 확인하고 파인 튜닝 방법을 결정하는 좋은 방법입니다.
Link to this sectionIntersection over Union#
Intersection over Union (IoU) is a metric in object detection that measures how well the predicted bounding box overlaps with the ground truth bounding box. IoU values range from 0 to 1, where one stands for a perfect match. IoU is essential because it measures how closely the predicted boundaries match the actual object boundaries.
Link to this section평균 정밀도 (Mean Average Precision)#
Mean Average Precision (mAP)은 객체 탐지 모델의 전반적인 성능을 측정합니다. 각 객체 클래스를 탐지하는 정밀도를 살펴보고 이 점수들을 평균 내어, 모델이 객체를 얼마나 정확하게 식별하고 분류할 수 있는지를 보여주는 단일 수치를 제공합니다.
일반적으로 다음 두 가지 mAP 지표가 보고됩니다:
- mAP@.5: 0.5의 단일 IoU 임계값에서의 평균 정밀도를 측정합니다. 이 지표는 모델이 다소 완화된 정확도 요구 사항으로 객체를 올바르게 찾을 수 있는지 확인합니다. 완벽한 배치가 아니더라도 객체가 대략 올바른 위치에 있는지에 초점을 맞추며, 모델이 전반적으로 객체를 잘 탐지하는지 확인하는 데 도움이 됩니다.
- mAP@.5:.95: 0.5부터 0.95까지 0.05 단위로 여러 IoU 임계값에서 계산된 mAP 값을 평균화합니다. 이 지표는 더 상세하고 엄격합니다. 다양한 엄격성 수준에서 모델이 객체를 얼마나 정확하게 찾을 수 있는지에 대한 전체적인 그림을 제공하며, 정밀한 object detection이 필요한 애플리케이션에 특히 유용합니다.
다른 mAP 지표로는 더 엄격한 0.75 IoU 임계값을 사용하는 mAP@0.75와, 다양한 크기의 객체에 걸쳐 정밀도를 평가하는 mAP@small, medium, large가 있습니다.
Link to this sectionYOLO26 모델 평가하기#
학습된 YOLO26 모델은 검증 모드를 통해 평가할 수 있습니다. 각 지표가 어떻게 계산되고 해석되는지에 대한 자세한 내용은 YOLO26 성능 지표 가이드를 참조하십시오.
Link to this section가변 이미지 크기 처리#
다양한 크기의 이미지로 모델을 평가하면 여러 데이터셋에서 모델의 성능을 이해하는 데 도움이 됩니다. rect=true 검증 파라미터는 이미지를 종횡비별로 그룹화하고 각 배치를 적합한 가장 작은 형태로 패딩하므로, 직사각형 이미지를 강제로 정사각형으로 변환하지 않고도 평가할 수 있습니다.
imgsz 파라미터는 검증 중에 사용되는 이미지 크기를 설정하며 정사각형으로 적용됩니다. 이를 명시적으로 설정하지 않으면, YOLO26은 모델 설정에 저장된 값을 재사용합니다(공식 사전 학습 모델의 경우 640, 또는 사용자 지정 체크포인트가 학습된 크기). rect=true 설정 시, YOLO26은 긴 변을 imgsz로 제한하고 짧은 변을 스트라이드 배수로 패딩하여 종횡비를 유지합니다. 데이터셋의 치수와 사용 가능한 GPU 메모리에 따라 imgsz를 조정하십시오.
Link to this sectionYOLO26 지표 액세스#
모델의 성능을 자세히 파악하기 위해 몇 줄의 Python 코드로 특정 평가 지표에 접근할 수 있습니다. 아래 코드 조각은 모델을 로드하고, 검증을 실행하며, 가장 유용한 지표를 출력합니다.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Run validation on your dataset
results = model.val(data="coco8.yaml")
# Overall metrics
print("mAP50-95:", results.box.map) # mAP at IoU 0.50:0.95
print("mAP50:", results.box.map50) # mAP at IoU 0.50
print("mAP75:", results.box.map75) # mAP at IoU 0.75
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Fitness:", results.box.fitness()) # weighted score used for model selection
# Per-class metrics
print("Class indices evaluated:", results.box.ap_class_index)
print("Per-class mAP50-95:", results.box.maps)
# Per-image precision, recall, F1, TP, FP, and FN
print("Per-image metrics:", results.box.image_metrics)
# Per-stage timing breakdown in milliseconds per image
print("Timing breakdown (ms/image):", results.speed)fitness()는 메서드이므로 괄호를 사용하여 호출해야 하며, map, map50, mp와 같은 지표는 직접 접근하는 속성이라는 점을 유의하십시오.
results.box.image_metrics 속성은 이미지 파일 이름을 키로 하는 이미지별 사전으로, 각 이미지에 대해 IoU 0.5에서의 precision, recall, f1, tp, fp, fn 값을 포함합니다. 전처리, 추론, 손실, 후처리 시간은 results.speed 사전에서 별도로 보고됩니다. 이 정보를 종합하여 모델이 어려움을 겪는 이미지를 식별하고 그에 맞춰 파인 튜닝할 수 있습니다.
Link to this section모델 파인 튜닝하기#
파인 튜닝은 사전 학습된 모델을 가져와 특정 작업이나 데이터셋에 대한 성능을 개선하기 위해 파라미터를 조정하는 작업입니다. 모델 재학습이라고도 하며, 모델이 실제 애플리케이션에서 접하게 될 데이터를 더 잘 이해하고 예측할 수 있도록 합니다. 평가 결과를 바탕으로 몇 가지 주요 파라미터와 기법에 주의를 기울여 최적의 결과를 얻도록 모델을 재학습합니다.
Link to this section더 높은 학습률로 시작하기#
일반적인 학습 중에는 learning rate가 낮게 시작하여 첫 몇 에포크 동안 점진적으로 증가하여 초기 업데이트를 안정화합니다. 파인 튜닝 시에는 모델이 이미 사전 학습을 통해 유용한 특징을 보유하고 있으므로, 이러한 웜업 단계를 건너뛰고 즉시 새 데이터에 적응하도록 할 수 있습니다.
Set the warmup_epochs training argument to 0 in model.train() to disable the warmup phase. Training then continues from the pretrained weights at the configured base learning rate (lr0) instead of ramping up to it, adjusting to the nuances of your new data.
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.pt")
# Fine-tune with the warmup phase disabled
model.train(data="coco8.yaml", epochs=10, warmup_epochs=0)Link to this section작은 객체를 위한 이미지 타일링#
이미지 타일링(image tiling)은 작은 객체에 대한 탐지 정확도를 향상시킬 수 있습니다. 1280x1280 이미지를 640x640 크기의 여러 세그먼트로 나누는 등 큰 이미지를 작은 부분으로 분할함으로써, 원래 해상도를 유지하고 모델이 고해상도 조각에서 학습하도록 할 수 있습니다. Ultralytics는 SAHI tiled inference를 통해 추론 시 이를 지원합니다. 타일링된 이미지로 학습할 때는 각 새 세그먼트에 맞게 라벨을 올바르게 조정해야 합니다.
Link to this section결론#
평가와 파인 튜닝은 학습된 모델을 안정적이고 배포 가능한 모델로 만드는 과정입니다. mAP 및 IoU와 같은 지표는 취약점을 드러내고, 표적화된 파라미터 변경은 이를 해결합니다. 검증 모드로 시작하여 모델의 벤치마크를 수행한 다음, 위의 파인 튜닝 기법을 적용하고 새로운 파라미터, 기법, 데이터셋으로 반복하십시오. 진행 중 질문이 생기면 Ultralytics GitHub 저장소나 Ultralytics Discord 서버에서 커뮤니티에 문의하십시오.
Link to this sectionFAQ#
Link to this sectionYOLO26 모델 성능을 평가하기 위한 핵심 지표는 무엇입니까?#
YOLO26 모델 성능을 평가하기 위한 중요한 지표로는 신뢰도 점수, IoU(Intersection over Union), mAP(Mean Average Precision)가 있습니다. 신뢰도 점수는 감지된 각 객체 클래스에 대한 모델의 확신을 측정합니다. IoU는 예측된 bounding box가 정답과 얼마나 잘 겹치는지를 평가합니다. mAP(Mean Average Precision)는 클래스 전반의 정밀도 점수를 집계하며, mAP@.5와 mAP@.5:.95는 IoU 임계값 변화에 따른 일반적인 두 가지 유형입니다. 이 지표들에 대한 자세한 내용은 YOLO26 성능 지표 가이드를 참조하십시오.
Link to this section특정 데이터셋을 위해 사전 학습된 YOLO26 모델을 어떻게 미세 조정할 수 있습니까?#
Fine-tuning a pretrained YOLO26 model involves adjusting its parameters to improve performance on a specific task or dataset. Start by evaluating your model with metrics, then set the warmup_epochs training argument to 0 in model.train() so the learning rate starts at the configured base value immediately instead of ramping up. During evaluation, parameters like rect=true help handle varied image sizes effectively. For more detailed guidance, refer to our section on fine-tuning your model.
Link to this sectionYOLO26 모델을 평가할 때 가변적인 이미지 크기를 어떻게 처리할 수 있습니까?#
평가 중 가변적인 이미지 크기를 처리하려면 YOLO26의 rect=true 파라미터를 사용하십시오. 이는 모든 이미지를 정사각형으로 강제 변환하는 대신 종횡비별로 이미지를 그룹화하고 각 배치를 패딩합니다. imgsz 파라미터는 검증을 위한 이미지 크기를 설정하며, 이를 재정의하지 않으면 YOLO26은 모델에 저장된 값을 재사용합니다(공식 사전 학습 모델의 경우 640). 데이터셋과 GPU 메모리에 맞춰 imgsz를 조정하십시오. 더 자세한 내용은 가변 이미지 크기 처리 섹션을 방문하십시오.
Link to this sectionYOLO26 모델의 mAP를 개선하기 위해 취할 수 있는 실질적인 단계는 무엇입니까?#
YOLO26 모델의 mAP(mean average precision)를 개선하는 작업에는 몇 가지 단계가 포함됩니다:
- 하이퍼파라미터 튜닝: 다양한 학습률, 배치 크기 및 이미지 증강(augmentation)을 실험해 보십시오.
- 데이터 증강: Mosaic 및 MixUp과 같은 기술을 사용하여 다양한 학습 샘플을 만드십시오.
- 이미지 타일링: 큰 이미지를 더 작은 타일로 분할하여 작은 객체에 대한 탐지 정확도를 향상시킵니다.
구체적인 전략은 모델 파인 튜닝에 관한 자세한 섹션을 참조하십시오.
Link to this sectionPython에서 YOLO26 모델 평가 지표에 어떻게 액세스합니까?#
검증 실행 후 Python을 사용하여 YOLO26 모델 평가 지표에 접근할 수 있습니다:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Run validation
results = model.val(data="coco8.yaml")
# Access key metrics
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean average precision at IoU=0.50:0.95:", results.box.map)
print("Mean recall:", results.box.mr)
print("Class indices evaluated:", results.box.ap_class_index)이러한 지표를 분석하면 YOLO26 모델을 파인 튜닝하고 최적화하는 데 도움이 됩니다. 더 깊이 있는 내용은 YOLO 성능 지표 가이드를 확인하십시오.