콘텐츠로 건너뛰기

다음을 사용한 모델 유효성 검사 Ultralytics YOLO

Ultralytics YOLO 에코시스템 및 통합

소개

Validation is a critical step in the machine learning pipeline, allowing you to assess the quality of your trained models. Val mode in Ultralytics YOLO11 provides a robust suite of tools and metrics for evaluating the performance of your object detection models. This guide serves as a complete resource for understanding how to effectively use the Val mode to ensure that your models are both accurate and reliable.



Watch: Ultralytics 모드 튜토리얼: 유효성 검사

왜 Ultralytics YOLO 으로 유효성 검사를 해야 하나요?

Here's why using YOLO11's Val mode is advantageous:

  • 정밀도: mAP50, mAP75, mAP50-95와 같은 정확한 지표를 통해 모델을 종합적으로 평가할 수 있습니다.
  • 편리함: 교육 설정을 기억하는 기본 제공 기능을 활용하여 유효성 검사 프로세스를 간소화합니다.
  • 유연성: 동일하거나 다른 데이터 세트와 이미지 크기로 모델을 검증하세요.
  • Hyperparameter Tuning: Use validation metrics to fine-tune your model for better performance.

Val 모드의 주요 기능

These are the notable functionalities offered by YOLO11's Val mode:

  • 자동화된 설정: 모델이 학습 구성을 기억하여 간편하게 검증할 수 있습니다.
  • 멀티 메트릭 지원: 다양한 정확도 지표를 기반으로 모델을 평가할 수 있습니다.
  • CLI 및 Python API: 유효성 검사에 대한 선호도에 따라 명령줄 인터페이스 또는 Python API 중에서 선택합니다.
  • 데이터 호환성: 학습 단계에서 사용된 데이터 세트는 물론 사용자 지정 데이터 세트와도 원활하게 작동합니다.

  • YOLO11 models automatically remember their training settings, so you can validate a model at the same image size and on the original dataset easily with just yolo val model=yolo11n.pt 또는 model('yolo11n.pt').val()

사용 예

Validate trained YOLO11n model accuracy on the COCO8 dataset. No arguments are needed as the model 교육 유지 data 및 인수를 모델 속성으로 사용할 수 있습니다. 내보내기 인수의 전체 목록은 아래의 인수 섹션을 참조하세요.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list contains map50-95 of each category
yolo detect val model=yolo11n.pt  # val official model
yolo detect val model=path/to/best.pt  # val custom model

YOLO 모델 유효성 검사에 대한 인수

YOLO 모델을 검증할 때 여러 인수를 미세 조정하여 평가 프로세스를 최적화할 수 있습니다. 이러한 인수는 입력 이미지 크기, 일괄 처리 및 성능 임계값과 같은 측면을 제어합니다. 다음은 유효성 검사 설정을 효과적으로 사용자 지정하는 데 도움이 되는 각 인수에 대한 자세한 분석입니다.

인수유형기본값설명
datastrNone데이터 세트 구성 파일의 경로를 지정합니다(예:, coco8.yaml). This file includes paths to validation data, class names, and number of classes.
imgszint640입력 이미지의 크기를 정의합니다. 모든 이미지는 처리하기 전에 이 크기로 크기가 조정됩니다.
batchint16배치당 이미지 수를 설정합니다. 사용 -1 를 설정하면 GPU 메모리 가용성에 따라 자동으로 조정됩니다.
save_jsonboolFalse만약 True를 클릭하면 추가 분석 또는 다른 도구와의 통합을 위해 결과를 JSON 파일에 저장합니다.
save_hybridboolFalse만약 True를 클릭하면 원래 주석과 추가 모델 예측을 결합한 하이브리드 버전의 레이블이 저장됩니다.
conffloat0.001탐지에 대한 최소 신뢰도 임계값을 설정합니다. 이 임계값보다 낮은 신뢰도를 가진 탐지는 삭제됩니다.
ioufloat0.6Sets the Intersection Over Union (IoU) threshold for Non-Maximum Suppression (NMS). Helps in reducing duplicate detections.
max_detint300이미지당 최대 감지 횟수를 제한합니다. 과도한 감지를 방지하기 위해 밀집된 장면에서 유용합니다.
halfboolTrueEnables half-precision (FP16) computation, reducing memory usage and potentially increasing speed with minimal impact on accuracy.
devicestrNone유효성 검사할 장치를 지정합니다(cpu, cuda:0등). CPU 또는 GPU 리소스를 유연하게 활용할 수 있습니다.
dnnboolFalse만약 True, uses the OpenCV DNN module for ONNX model inference, offering an alternative to PyTorch inference methods.
plotsboolFalse로 설정한 경우 True는 모델의 성능을 시각적으로 평가할 수 있도록 실측값과 예측값을 비교한 플롯을 생성하고 저장합니다.
rectboolFalse만약 True는 일괄 처리에 직사각형 추론을 사용하여 패딩을 줄이고 잠재적으로 속도와 효율성을 높입니다.
splitstrval유효성 검사에 사용할 데이터 세트 분할을 결정합니다(val, test또는 train). 성능 평가를 위한 데이터 세그먼트를 유연하게 선택할 수 있습니다.

이러한 각 설정은 유효성 검사 프로세스에서 중요한 역할을 하며, YOLO 모델을 사용자 지정하고 효율적으로 평가할 수 있게 해줍니다. 특정 요구 사항과 리소스에 따라 이러한 매개변수를 조정하면 정확도와 성능 간의 최상의 균형을 달성하는 데 도움이 될 수 있습니다.

인수를 사용한 유효성 검사 예제

아래 예제에서는 Python 및 CLI 에서 사용자 지정 인수를 사용한 YOLO 모델 유효성 검사를 보여줍니다.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Customize validation settings
validation_results = model.val(data="coco8.yaml", imgsz=640, batch=16, conf=0.25, iou=0.6, device="0")
yolo val model=yolo11n.pt data=coco8.yaml imgsz=640 batch=16 conf=0.25 iou=0.6 device=0

자주 묻는 질문

How do I validate my YOLO11 model with Ultralytics?

To validate your YOLO11 model, you can use the Val mode provided by Ultralytics. For example, using the Python API, you can load a model and run validation with:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Validate the model
metrics = model.val()
print(metrics.box.map)  # map50-95

또는 명령줄 인터페이스(CLI)를 사용할 수도 있습니다:

yolo val model=yolo11n.pt

추가 사용자 지정을 위해 다음과 같은 다양한 인수를 조정할 수 있습니다. imgsz, batchconf Python 및 CLI 모드에서 모두 사용할 수 있습니다. 확인 YOLO 모델 유효성 검사에 대한 인수 섹션에서 전체 매개변수 목록을 확인하세요.

What metrics can I get from YOLO11 model validation?

YOLO11 model validation provides several key metrics to assess model performance. These include:

  • mAP50(IoU 임계값 0.5에서 평균 평균 정밀도)
  • mAP75(IoU 임계값 0.75에서 평균 평균 정밀도)
  • mAP50-95(0.5 ~ 0.95의 여러 IoU 임계값에서 평균 평균 정밀도)

Python API를 사용하면 다음과 같이 이러한 메트릭에 액세스할 수 있습니다:

metrics = model.val()  # assumes `model` has been loaded
print(metrics.box.map)  # mAP50-95
print(metrics.box.map50)  # mAP50
print(metrics.box.map75)  # mAP75
print(metrics.box.maps)  # list of mAP50-95 for each category

완전한 성능 평가를 위해서는 이러한 모든 지표를 검토하는 것이 중요합니다. 자세한 내용은 Val 모드의 주요 기능을 참조하세요.

유효성 검사에 Ultralytics YOLO 을 사용하면 어떤 이점이 있나요?

유효성 검사에 Ultralytics YOLO 을 사용하면 몇 가지 이점이 있습니다:

  • Precision: YOLO11 offers accurate performance metrics including mAP50, mAP75, and mAP50-95.
  • 편의성: 모델이 학습 설정을 기억하므로 검증이 간단합니다.
  • 유연성: 동일하거나 다른 데이터 세트 및 이미지 크기에 대해 유효성을 검사할 수 있습니다.
  • 하이퍼파라미터 튜닝: 유효성 검사 메트릭은 더 나은 성능을 위해 모델을 미세 조정하는 데 도움이 됩니다.

이러한 이점을 통해 모델을 철저하게 평가하고 우수한 결과를 위해 최적화할 수 있습니다. 이러한 장점에 대해 자세히 알아보려면 Ultralytics YOLO 섹션을 참조하세요.

Can I validate my YOLO11 model using a custom dataset?

Yes, you can validate your YOLO11 model using a custom dataset. Specify the data argument with the path to your dataset configuration file. This file should include paths to the validation data, class names, and other relevant details.

Python 의 예제 :

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Validate with a custom dataset
metrics = model.val(data="path/to/your/custom_dataset.yaml")
print(metrics.box.map)  # map50-95

CLI 사용 예제 :

yolo val model=yolo11n.pt data=path/to/your/custom_dataset.yaml

유효성 검사 중 사용자 지정 가능한 옵션에 대한 자세한 내용은 인수를 사용한 유효성 검사 예제 섹션을 참조하세요.

How do I save validation results to a JSON file in YOLO11?

유효성 검사 결과를 JSON 파일에 저장하려면 다음과 같이 설정할 수 있습니다. save_json 인수를 True 를 추가해야 합니다. 이는 Python API와 CLI 에서 모두 수행할 수 있습니다.

Python 의 예제 :

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Save validation results to JSON
metrics = model.val(save_json=True)

CLI 사용 예제 :

yolo val model=yolo11n.pt save_json=True

이 기능은 특히 추가 분석이나 다른 도구와의 통합에 유용합니다. 자세한 내용은 YOLO 모델 유효성 검사 인수를 참조하세요.

📅 Created 11 months ago ✏️ Updated 20 days ago

댓글