콘텐츠로 건너뛰기

모델 평가 및 미세 조정에 대한 인사이트

소개

컴퓨터 비전 모델을 학습시킨 후에는 최적의 성능을 발휘하도록 평가하고 개선하는 것이 필수적입니다. 모델을 훈련하는 것만으로는 충분하지 않습니다. 모델이 정확하고 효율적인지, 컴퓨터 비전 프로젝트의 목표를 달성하는지 확인해야 합니다. 모델을 평가하고 미세 조정함으로써 약점을 파악하고 정확도를 개선하며 전반적인 성능을 향상시킬 수 있습니다.



Watch: 모델 평가 및 미세 조정에 대한 인사이트 | 평균 정밀도 향상을 위한 팁

이 가이드에서는 컴퓨터 비전 프로젝트의단계에 보다 쉽게 접근할 수 있도록 모델 평가 및 미세 조정에 대한 인사이트를 공유합니다. 평가 메트릭을 이해하고 미세 조정 기술을 구현하는 방법을 설명하여 모델의 기능을 향상시킬 수 있는 지식을 제공합니다.

메트릭을 사용하여 모델 성능 평가

모델의 성능을 평가하면 모델이 얼마나 효과적으로 작동하는지 이해하는 데 도움이 됩니다. 성능을 측정하기 위해 다양한 지표가 사용됩니다. 이러한 성능 지표는 모델이 의도한 목표를 달성할 수 있도록 개선 방향을 제시할 수 있는 명확한 수치 인사이트를 제공합니다. 몇 가지 주요 지표를 자세히 살펴보겠습니다.

신뢰 점수

신뢰도 점수는 감지된 객체가 특정 클래스에 속한다는 모델의 확신을 나타냅니다. 0에서 1 사이의 범위로, 점수가 높을수록 신뢰도가 높음을 나타냅니다. 신뢰도 점수는 예측을 필터링하는 데 도움이 되며, 신뢰도 점수가 지정된 임계값 이상인 탐지만 유효한 것으로 간주됩니다.

빠른 팁: 추론을 실행할 때 예측이 표시되지 않고 다른 모든 항목을 확인했다면 신뢰도 점수를 낮춰 보세요. 임계값이 너무 높아서 모델이 유효한 예측을 무시하는 경우가 있습니다. 점수를 낮추면 모델이 더 많은 가능성을 고려할 수 있습니다. 이렇게 하면 프로젝트 목표에 부합하지 않을 수도 있지만 모델의 성능을 확인하고 미세 조정 방법을 결정할 수 있는 좋은 방법입니다.

유니온 위의 교차로

IoU(교차점 오버 유니온 )는 객체 감지의 메트릭으로, 예측된 경계 상자가 기준 실측 경계 상자와 얼마나 잘 겹치는지를 측정합니다. IoU 값의 범위는 0에서 1까지이며, 1은 완벽하게 일치함을 의미합니다. IoU는 예측된 경계가 실제 객체 경계와 얼마나 밀접하게 일치하는지를 측정하기 때문에 필수적입니다.

유니온 개요를 통한 교차점

평균 평균 정밀도

평균 평균 정밀도 (mAP)는 객체 탐지 모델이 얼마나 잘 작동하는지 측정하는 방법입니다. 각 객체 클래스를 감지하는 정밀도를 살펴보고, 이 점수의 평균을 구한 후 모델이 객체를 얼마나 정확하게 식별하고 분류할 수 있는지를 보여주는 전체 수치를 제공합니다.

두 가지 특정 맵 메트릭에 집중해 보겠습니다:

  • mAP@.5: 0.5의 단일 IoU(Intersection over Union) 임계값에서 평균 정밀도를 측정합니다. 이 메트릭은 모델이 정확도 요구 사항이 느슨한 객체를 정확하게 찾을 수 있는지 확인합니다. 완벽한 배치가 필요하지 않고 물체가 대략 올바른 위치에 있는지 여부에 중점을 둡니다. 모델이 일반적으로 물체를 잘 찾아내는지 확인하는 데 도움이 됩니다.
  • mAP@.5:.95: 0.5에서 0.95까지 0.05 단위로 여러 IoU 임계값에서 계산된 mAP 값의 평균을 구합니다. 이 메트릭은 더 상세하고 엄격합니다. 모델이 다양한 수준의 엄격함에서 얼마나 정확하게 물체를 찾을 수 있는지를 더 자세히 파악할 수 있으며, 특히 정밀한 물체 감지가 필요한 애플리케이션에 유용합니다.

다른 mAP 지표로는 0.75의 더 엄격한 IoU 임계값을 사용하는 mAP@0.75, 다양한 크기의 오브젝트에서 정밀도를 평가하는 mAP@small, medium, large가 있습니다.

평균 정밀도 개요

YOLO11 모델 성능 평가

YOLO11 에서 유효성 검사 모드를 사용하여 모델을 평가할 수 있습니다. 또한 YOLO11 성능 지표와 이를 해석하는 방법에 대해 자세히 설명하는 가이드도 꼭 살펴보세요.

커뮤니티에서 자주 묻는 질문

YOLO11 모델을 평가할 때 몇 가지 문제가 발생할 수 있습니다. 다음은 커뮤니티에서 자주 묻는 질문을 바탕으로 YOLO11 모델을 최대한 활용하는 데 도움이 되는 몇 가지 팁입니다:

가변 이미지 크기 처리

다양한 크기의 이미지로 YOLO11 모델을 평가하면 다양한 데이터 세트에서의 성능을 이해하는 데 도움이 됩니다. 모델에서 rect=true 유효성 검사 매개변수( YOLO11 )는 이미지 크기에 따라 각 배치에 대한 네트워크의 보폭을 조정하여 모델이 직사각형 이미지를 단일 크기로 강제하지 않고도 처리할 수 있도록 합니다.

그리고 imgsz 유효성 검사 매개변수는 이미지 크기 조정의 최대 치수를 설정하며, 기본값은 640입니다. 데이터 세트의 최대 크기와 사용 가능한 GPU 메모리에 따라 이를 조정할 수 있습니다. 심지어 imgsz 설정합니다, rect=true 를 사용하면 모델이 보폭을 동적으로 조정하여 다양한 이미지 크기를 효과적으로 관리할 수 있습니다.

YOLO11 메트릭에 액세스하기

YOLO11 모델의 성능을 더 자세히 이해하려면 Python 코드 몇 줄을 사용하여 특정 평가 지표에 쉽게 액세스할 수 있습니다. 아래 코드 스니펫을 사용하면 모델을 로드하고 평가를 실행하여 모델의 성능을 보여주는 다양한 메트릭을 인쇄할 수 있습니다.

사용법

from ultralytics import YOLO

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

# Run the evaluation
results = model.val(data="coco8.yaml")

# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Average precision:", results.box.ap)
print("Average precision at IoU=0.50:", results.box.ap50)
print("Class indices for average precision:", results.box.ap_class_index)
print("Class-specific results:", results.box.class_result)
print("F1 score:", results.box.f1)
print("F1 score curve:", results.box.f1_curve)
print("Overall fitness score:", results.box.fitness)
print("Mean average precision:", results.box.map)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean average precision at IoU=0.75:", results.box.map75)
print("Mean average precision for different IoU thresholds:", results.box.maps)
print("Mean results for different metrics:", results.box.mean_results)
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Precision:", results.box.p)
print("Precision curve:", results.box.p_curve)
print("Precision values:", results.box.prec_values)
print("Specific precision metrics:", results.box.px)
print("Recall:", results.box.r)
print("Recall curve:", results.box.r_curve)

결과 개체에는 전처리 시간, 추론 시간, 손실 및 사후 처리 시간과 같은 속도 메트릭도 포함됩니다. 이러한 메트릭을 분석하여 YOLO11 모델을 미세 조정하고 최적화하여 성능을 개선함으로써 특정 사용 사례에 더 효과적으로 사용할 수 있습니다.

미세 조정은 어떻게 이루어지나요?

미세 조정에는 사전 학습된 모델을 사용하여 특정 작업이나 데이터 세트의 성능을 개선하기 위해 매개변수를 조정하는 작업이 포함됩니다. 모델 재학습이라고도 하는 이 프로세스를 통해 모델은 실제 애플리케이션에서 접하게 될 특정 데이터에 대한 결과를 더 잘 이해하고 예측할 수 있습니다. 모델 평가를 기반으로 모델을 재학습하여 최적의 결과를 얻을 수 있습니다.

모델 미세 조정을 위한 팁

모델을 미세 조정한다는 것은 최적의 성능을 달성하기 위해 몇 가지 중요한 매개변수와 기술에 세심한 주의를 기울이는 것을 의미합니다. 다음은 이 과정을 안내하는 몇 가지 필수 팁입니다.

더 높은 학습률로 시작하기

일반적으로 초기 학습 단계에서는 학습 속도를 낮게 시작하여 점차적으로 학습 속도를 높여 학습 과정을 안정화합니다. 그러나 모델이 이미 이전 데이터 세트에서 일부 기능을 학습했기 때문에 학습 속도를 바로 높게 시작하는 것이 더 유리할 수 있습니다.

YOLO11 모델을 평가할 때 다음과 같이 설정할 수 있습니다. warmup_epochs 유효성 검사 매개변수를 warmup_epochs=0 를 설정하여 학습률이 너무 높게 시작되는 것을 방지할 수 있습니다. 이 과정을 따라가면 제공된 가중치에서 새로운 데이터의 뉘앙스에 맞춰 학습이 계속됩니다.

작은 물체를 위한 이미지 타일링

이미지 타일링은 작은 물체에 대한 감지 정확도를 향상시킬 수 있습니다. 1280x1280 이미지를 여러 개의 640x640 세그먼트로 분할하는 등 큰 이미지를 작은 세그먼트로 나누면 원래 해상도를 유지하면서 모델이 고해상도 조각에서 학습할 수 있습니다. YOLO11 을 사용할 때는 이러한 새 세그먼트에 대한 레이블을 올바르게 조정해야 합니다.

커뮤니티 참여

다른 컴퓨터 비전 애호가들과 아이디어와 질문을 공유하면 프로젝트의 장애물에 대한 창의적인 해결책을 찾을 수 있습니다. 다음은 배우고, 문제를 해결하고, 소통할 수 있는 몇 가지 훌륭한 방법입니다.

도움말 및 지원 찾기

  • GitHub 이슈: YOLO11 GitHub 리포지토리를 살펴보고 이슈 탭을 사용하여 질문하고, 버그를 신고하고, 기능을 제안하세요. 커뮤니티와 관리자가 발생하는 모든 문제에 대해 도움을 드릴 수 있습니다.
  • Ultralytics 디스코드 서버: Ultralytics Discord 서버에 가입하여 다른 사용자 및 개발자와 연결하고, 지원을 받고, 지식을 공유하고, 아이디어를 브레인스토밍하세요.

공식 문서

  • Ultralytics YOLO11 문서: 공식 문서( YOLO11 )에서 다양한 컴퓨터 비전 작업과 프로젝트에 대한 종합적인 가이드와 유용한 인사이트를 확인하세요.

최종 생각

컴퓨터 비전 모델을 평가하고 미세 조정하는 것은 성공적인 모델 배포를 위한 중요한 단계입니다. 이러한 단계를 통해 모델이 정확하고 효율적이며 전체 애플리케이션에 적합한지 확인할 수 있습니다. 최상의 모델을 훈련하기 위한 핵심은 지속적인 실험과 학습입니다. 주저하지 말고 매개변수를 조정하고, 새로운 기술을 시도하고, 다양한 데이터 세트를 탐색하세요. 계속 실험하고 가능성의 한계를 넓혀보세요!

자주 묻는 질문

YOLO11 모델 성능을 평가하기 위한 주요 지표는 무엇인가요?

YOLO11 모델 성능을 평가하는 데 중요한 지표로는 신뢰도 점수, IoU(Intersection over Union), 평균 평균 정밀도(mAP)가 있습니다. 신뢰 점수는 감지된 각 개체 클래스에 대한 모델의 확실성을 측정합니다. IoU는 예측된 바운딩 박스가 실측 자료와 얼마나 잘 겹치는지를 평가합니다. 평균 평균 정밀도(mAP)는 여러 클래스에 걸쳐 정밀도 점수를 집계하며, mAP@.5와 mAP@.5:.95 는 다양한 IoU 임계값에 대한 두 가지 일반적인 유형입니다. 이러한 메트릭에 대한 자세한 내용은 YOLO11 성능 메트릭 가이드에서 확인하세요.

특정 데이터 집합에 맞게 사전 학습된 YOLO11 모델을 미세 조정하려면 어떻게 해야 하나요?

사전 학습된 YOLO11 모델을 미세 조정하려면 특정 작업 또는 데이터 세트의 성능을 개선하기 위해 매개변수를 조정해야 합니다. 메트릭을 사용하여 모델을 평가하는 것으로 시작한 다음, 초기 학습률을 더 높게 설정하여 warmup_epochs 매개변수를 0으로 설정하여 즉각적인 안정성을 확보하세요. 다음과 같은 매개 변수를 사용하세요. rect=true 를 사용하여 다양한 이미지 크기를 효과적으로 처리할 수 있습니다. 자세한 지침은 다음 섹션을 참조하세요. YOLO11 모델 미세 조정.

YOLO11 모델을 평가할 때 가변 이미지 크기를 처리하려면 어떻게 해야 하나요?

평가 중에 가변 이미지 크기를 처리하려면 rect=true 매개변수( YOLO11)를 사용하여 이미지 크기에 따라 각 배치에 대한 네트워크의 보폭을 조정합니다. 그리고 imgsz 매개변수는 이미지 크기 조정의 최대 치수를 설정하며 기본값은 640입니다. 조정 imgsz 를 데이터 세트와 GPU 메모리에 맞게 조정하세요. 자세한 내용은 가변 이미지 크기 처리에 대한 섹션.

YOLO11 모델의 평균 정밀도를 개선하기 위해 어떤 실질적인 조치를 취할 수 있나요?

YOLO11 모델의 평균 평균 정밀도(mAP)를 개선하려면 몇 가지 단계를 거쳐야 합니다:

  1. 하이퍼파라미터 조정하기: 다양한 학습 속도, 배치 크기, 이미지 증강을 실험해 보세요.
  2. 데이터 증강: 모자이크 및 믹스업과 같은 기술을 사용하여 다양한 훈련 샘플을 생성합니다.
  3. 이미지 타일링: 큰 이미지를 작은 타일로 분할하여 작은 물체에 대한 감지 정확도를 높입니다. 구체적인 전략은 모델 미세 조정에 대한 자세한 가이드를 참조하세요.

Python 에서 YOLO11 모델 평가 메트릭에 액세스하려면 어떻게 하나요?

다음 단계에 따라 Python 을 사용하여 YOLO11 모델 평가 지표에 액세스할 수 있습니다:

사용법

from ultralytics import YOLO

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

# Run the evaluation
results = model.val(data="coco8.yaml")

# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean recall:", results.box.mr)

이러한 메트릭을 분석하면 YOLO11 모델을 미세 조정하고 최적화하는 데 도움이 됩니다. 더 자세히 알아보려면 YOLO11 메트릭에 대한 가이드를 참조하세요.

8개월 전 생성됨 ✏️ 업데이트됨 7일 전

댓글