다음을 사용한 모델 유효성 검사 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 모델 유효성 검사에 대한 인수
YOLO 모델을 검증할 때 여러 인수를 미세 조정하여 평가 프로세스를 최적화할 수 있습니다. 이러한 인수는 입력 이미지 크기, 일괄 처리 및 성능 임계값과 같은 측면을 제어합니다. 다음은 유효성 검사 설정을 효과적으로 사용자 지정하는 데 도움이 되는 각 인수에 대한 자세한 분석입니다.
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
data | str | None | 데이터 세트 구성 파일의 경로를 지정합니다(예:, coco8.yaml ). This file includes paths to validation data, class names, and number of classes. |
imgsz | int | 640 | 입력 이미지의 크기를 정의합니다. 모든 이미지는 처리하기 전에 이 크기로 크기가 조정됩니다. |
batch | int | 16 | 배치당 이미지 수를 설정합니다. 사용 -1 를 설정하면 GPU 메모리 가용성에 따라 자동으로 조정됩니다. |
save_json | bool | False | 만약 True 를 클릭하면 추가 분석 또는 다른 도구와의 통합을 위해 결과를 JSON 파일에 저장합니다. |
save_hybrid | bool | False | 만약 True 를 클릭하면 원래 주석과 추가 모델 예측을 결합한 하이브리드 버전의 레이블이 저장됩니다. |
conf | float | 0.001 | 탐지에 대한 최소 신뢰도 임계값을 설정합니다. 이 임계값보다 낮은 신뢰도를 가진 탐지는 삭제됩니다. |
iou | float | 0.6 | Sets the Intersection Over Union (IoU) threshold for Non-Maximum Suppression (NMS). Helps in reducing duplicate detections. |
max_det | int | 300 | 이미지당 최대 감지 횟수를 제한합니다. 과도한 감지를 방지하기 위해 밀집된 장면에서 유용합니다. |
half | bool | True | Enables half-precision (FP16) computation, reducing memory usage and potentially increasing speed with minimal impact on accuracy. |
device | str | None | 유효성 검사할 장치를 지정합니다(cpu , cuda:0 등). CPU 또는 GPU 리소스를 유연하게 활용할 수 있습니다. |
dnn | bool | False | 만약 True , uses the OpenCV DNN module for ONNX model inference, offering an alternative to PyTorch inference methods. |
plots | bool | False | 로 설정한 경우 True 는 모델의 성능을 시각적으로 평가할 수 있도록 실측값과 예측값을 비교한 플롯을 생성하고 저장합니다. |
rect | bool | False | 만약 True 는 일괄 처리에 직사각형 추론을 사용하여 패딩을 줄이고 잠재적으로 속도와 효율성을 높입니다. |
split | str | val | 유효성 검사에 사용할 데이터 세트 분할을 결정합니다(val , test 또는 train ). 성능 평가를 위한 데이터 세그먼트를 유연하게 선택할 수 있습니다. |
이러한 각 설정은 유효성 검사 프로세스에서 중요한 역할을 하며, YOLO 모델을 사용자 지정하고 효율적으로 평가할 수 있게 해줍니다. 특정 요구 사항과 리소스에 따라 이러한 매개변수를 조정하면 정확도와 성능 간의 최상의 균형을 달성하는 데 도움이 될 수 있습니다.
인수를 사용한 유효성 검사 예제
아래 예제에서는 Python 및 CLI 에서 사용자 지정 인수를 사용한 YOLO 모델 유효성 검사를 보여줍니다.
예
자주 묻는 질문
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)를 사용할 수도 있습니다:
추가 사용자 지정을 위해 다음과 같은 다양한 인수를 조정할 수 있습니다. imgsz
, batch
및 conf
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 사용 예제 :
유효성 검사 중 사용자 지정 가능한 옵션에 대한 자세한 내용은 인수를 사용한 유효성 검사 예제 섹션을 참조하세요.
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 모델 유효성 검사 인수를 참조하세요.