콘텐츠로 건너뛰기

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

Ultralytics YOLO 에코시스템 및 통합

소개

검증은 머신 러닝 파이프라인에서 중요한 단계로, 학습된 모델의 품질을 평가할 수 있게 해줍니다. Ultralytics YOLO11 의 Val 모드는 객체 감지 모델의 성능을 평가하기 위한 강력한 도구와 메트릭을 제공합니다. 이 가이드는 Val 모드를 효과적으로 사용하여 모델의 정확성과 신뢰성을 보장하는 방법을 이해하는 데 도움이 되는 완벽한 리소스입니다.



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

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

YOLO11 의 Val 모드를 사용하는 것이 유리한 이유는 다음과 같습니다:

  • 정밀도: mAP50, mAP75, mAP50-95와 같은 정확한 지표를 통해 모델을 종합적으로 평가할 수 있습니다.
  • 편리함: 교육 설정을 기억하는 기본 제공 기능을 활용하여 유효성 검사 프로세스를 간소화합니다.
  • 유연성: 동일하거나 다른 데이터 세트와 이미지 크기로 모델을 검증하세요.
  • 하이퍼파라미터 튜닝: 유효성 검사 메트릭을 사용하여 모델을 미세 조정하여 성능을 개선할 수 있습니다.

Val 모드의 주요 기능

다음은 YOLO11 의 Val 모드에서 제공하는 주목할 만한 기능입니다:

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

  • YOLO11 모델은 학습 설정을 자동으로 기억하므로 동일한 이미지 크기와 원본 데이터 세트에서 다음과 같은 방법으로 모델을 쉽게 검증할 수 있습니다. yolo val model=yolo11n.pt 또는 model('yolo11n.pt').val()

사용 예

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

인수 유형 기본값 설명
data str None 데이터 세트 구성 파일의 경로를 지정합니다(예:, coco8.yaml). 이 파일에는 다음 경로가 포함됩니다. 유효성 검사 데이터, 클래스 이름, 클래스 수를 입력합니다.
imgsz int 640 입력 이미지의 크기를 정의합니다. 모든 이미지는 처리하기 전에 이 크기로 크기가 조정됩니다. 크기가 클수록 작은 물체의 정확도는 향상되지만 계산 시간이 늘어날 수 있습니다.
batch int 16 배치당 이미지 수를 설정합니다. 값이 클수록 GPU 메모리를 더 효율적으로 활용하지만 더 많은 VRAM이 필요합니다. 사용 가능한 하드웨어 리소스에 따라 조정합니다.
save_json bool False 만약 True는 추가 분석, 다른 도구와의 통합 또는 COCO와 같은 평가 서버에 제출할 수 있도록 결과를 JSON 파일에 저장합니다.
save_hybrid bool False 만약 True를 사용하면 원본 주석과 추가 모델 예측을 결합한 하이브리드 버전의 레이블을 저장할 수 있습니다. 준지도 학습 및 데이터 세트 향상에 유용합니다.
conf float 0.001 탐지에 대한 최소 신뢰도 임계값을 설정합니다. 값이 낮을수록 정확도는 높아지지만 오탐이 더 많이 발생할 수 있습니다. 유효성 검사 중에 정밀도-재검색 곡선을 계산하는 데 사용됩니다.
iou float 0.6 비최대 억제에 대한 교집합 초과 임계값을 설정합니다. 중복 감지 제거를 제어합니다.
max_det int 300 이미지당 최대 감지 횟수를 제한합니다. 과도한 감지를 방지하고 컴퓨팅 리소스를 관리하기 위해 밀집된 장면에서 유용합니다.
half bool True 반정밀도 (FP16) 계산을 지원하여 정확도에 미치는 영향을 최소화하면서 메모리 사용량을 줄이고 잠재적으로 속도를 높일 수 있습니다.
device str None 유효성 검사할 장치를 지정합니다(cpu, cuda:0등). 언제 None를 입력하면 사용 가능한 최적의 장치가 자동으로 선택됩니다. 쉼표로 구분하여 여러 CUDA 장치를 지정할 수 있습니다.
dnn bool False 만약 True를 사용하여 OpenCV ONNX 모델 추론을 위한 DNN 모듈로, 다음과 같은 대안을 제공합니다. PyTorch 추론 방법.
plots bool False 로 설정한 경우 True는 모델 성능을 시각적으로 평가할 수 있도록 예측과 지상 진실, 혼동 행렬 및 PR 곡선의 플롯을 생성하고 저장합니다.
rect bool True 만약 True는 일괄 처리에 직사각형 추론을 사용하여 패딩을 줄이고 이미지를 원래 종횡비로 처리하여 속도와 효율성을 높일 수 있습니다.
split str 'val' 유효성 검사에 사용할 데이터 세트 분할을 결정합니다(val, test또는 train). 성능 평가를 위한 데이터 세그먼트를 유연하게 선택할 수 있습니다.
project str None 유효성 검사 결과가 저장되는 프로젝트 디렉터리의 이름입니다. 다양한 실험 또는 모델의 결과를 정리하는 데 도움이 됩니다.
name str None 유효성 검사 실행의 이름입니다. 유효성 검사 로그 및 출력이 저장되는 프로젝트 폴더 내에 하위 디렉터리를 만드는 데 사용됩니다.
verbose bool False 만약 True를 클릭하면 클래스별 메트릭, 배치 진행률, 추가 디버깅 정보 등 유효성 검사 프로세스 중 자세한 정보를 표시합니다.
save_txt bool False 만약 True는 이미지당 하나의 파일로 탐지 결과를 텍스트 파일로 저장하여 추가 분석, 사용자 지정 후처리 또는 다른 시스템과의 통합에 유용합니다.
save_conf bool False 만약 True는 다음과 같은 경우 저장된 텍스트 파일에 신뢰도 값을 포함합니다. save_txt 를 활성화하면 분석 및 필터링을 위한 더 자세한 출력이 제공됩니다.
save_crop bool False 만약 True는 탐지된 객체의 잘린 이미지를 저장하여 집중된 데이터 세트를 만들거나, 시각적으로 확인하거나, 개별 탐지에 대한 추가 분석에 유용하게 사용할 수 있습니다.
workers int 8 데이터 로딩을 위한 워커 스레드 수입니다. 값이 클수록 데이터 전처리 속도가 빨라지지만 CPU 사용량이 증가할 수 있습니다. 0으로 설정하면 메인 스레드를 사용하므로 일부 환경에서는 더 안정적일 수 있습니다.
augment bool False 유효성 검사 중에 테스트 시간 증강(TTA)을 활성화하여 입력의 변환된 버전에 대해 추론을 실행함으로써 추론 속도를 희생하면서 탐지 정확도를 향상시킬 수 있습니다.
agnostic_nms bool False 예상 클래스에 관계없이 겹치는 상자를 병합하는 클래스 무관 비-최대 억제 기능을 활성화합니다. 인스턴스 중심 애플리케이션에 유용합니다.
single_cls bool False 유효성 검사 중에 모든 클래스를 단일 클래스로 취급합니다. 이진 탐지 작업에서 모델 성능을 평가하거나 클래스 구분이 중요하지 않은 경우에 유용합니다.

이러한 각 설정은 유효성 검사 프로세스에서 중요한 역할을 하며, 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

자주 묻는 질문

Ultralytics 으로 내 YOLO11 모델의 유효성을 검사하려면 어떻게 하나요?

YOLO11 모델의 유효성을 검사하려면 Ultralytics 에서 제공하는 Val 모드를 사용할 수 있습니다. 예를 들어 Python API를 사용하여 모델을 로드하고 유효성 검사를 실행할 수 있습니다:

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 모델 유효성 검사에 대한 인수 섹션에서 전체 매개변수 목록을 확인하세요.

YOLO11 모델 유효성 검사에서 어떤 메트릭을 얻을 수 있나요?

YOLO11 모델 유효성 검사는 모델 성능을 평가하기 위한 몇 가지 주요 지표를 제공합니다. 여기에는 다음이 포함됩니다:

  • 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 을 사용하면 몇 가지 이점이 있습니다:

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

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

사용자 지정 데이터 집합을 사용하여 YOLO11 모델의 유효성을 검사할 수 있나요?

예, YOLO11 모델을 사용하여 유효성을 검사할 수 있습니다. 사용자 지정 데이터 세트. 를 지정하십시오. data 인수를 데이터 세트 구성 파일의 경로와 함께 지정합니다. 이 파일에는 유효성 검사 데이터, 클래스 이름 및 기타 관련 세부 정보를 입력합니다.

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

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

유효성 검사 결과를 YOLO11 에 있는 JSON 파일에 저장하려면 어떻게 하나요?

유효성 검사 결과를 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 모델 유효성 검사 인수를 참조하세요.

📅1 년 전 생성됨 ✏️ 업데이트 4 일 전

댓글