Ultralytics YOLO27:
Get Started

Ultralytics YOLOv5#

개요#

YOLOv5u는 객체 탐지 방법론의 발전을 보여줍니다. Ultralytics가 개발한 YOLOv5 모델의 기본 아키텍처를 바탕으로 한 YOLOv5u는 YOLOv8 모델에 처음 도입된 앵커 프리·객체성 프리 분할 헤드를 통합합니다. 이러한 적용을 통해 모델 아키텍처를 개선하여 객체 탐지 작업에서 정확도와 속도의 균형을 향상했습니다. 경험적 결과와 파생된 기능을 바탕으로 YOLOv5u는 연구 및 실제 애플리케이션 모두에서 견고한 솔루션을 찾는 사용자에게 효율적인 대안을 제공합니다.

YOLOv5 객체 탐지 모델 아키텍처 및 성능

기존 YOLOv5 repo로 학습한 모델은 Ultralytics 라이브러리와 호환되지 않습니다.

Ultralytics는 YOLOv5 모델의 앵커 프리 변형을 제공합니다. ultralytics/yolov5 repo로 학습한 모델은 ultralytics/ultralytics 라이브러리에서 로드할 수 없습니다. 여기에서 YOLOv5를 사용하려면 Ultralytics YOLOv5u 체크포인트(예: yolov5su.pt)에서 새 모델을 학습하세요.

Ultralytics Platform에서 사용해 보기

Ultralytics Platform에서 YOLOv5 모델을 직접 살펴보고 실행하세요.

주요 기능#

  • 앵커 프리 분할 Ultralytics 헤드: 기존 객체 탐지 모델은 객체 위치를 예측할 때 사전에 정의된 앵커 박스에 의존합니다. 그러나 YOLOv5u는 이러한 접근 방식을 현대화합니다. 앵커 프리 분할 Ultralytics 헤드를 채택해 더욱 유연하고 적응력 있는 탐지 메커니즘을 구현하고, 이에 따라 다양한 시나리오에서 성능을 향상합니다.

  • 최적화된 정확도와 속도의 균형: 속도와 정확도는 서로 상충하는 경우가 많습니다. 하지만 YOLOv5u는 이러한 균형에 도전합니다. 정확도를 저해하지 않으면서 실시간 탐지를 보장하는 조정된 균형을 제공합니다. 이 기능은 자율 주행 차량, 로보틱스, 실시간 비디오 분석처럼 신속한 응답이 필요한 애플리케이션에서 특히 유용합니다.

  • 다양한 사전 학습 모델: 작업마다 필요한 도구가 다르다는 점을 고려해 YOLOv5u는 다양한 사전 학습 모델을 제공합니다. 추론, 검증 또는 학습에 집중하든 각 용도에 맞게 설계된 모델을 사용할 수 있습니다. 이러한 다양성 덕분에 모든 상황에 같은 솔루션을 사용하는 대신, 고유한 과제에 맞춰 미세 조정된 모델을 사용할 수 있습니다.

지원 작업 및 모드#

다양한 사전 학습 가중치를 사용하는 YOLOv5u 모델은 객체 탐지 작업에서 뛰어난 성능을 발휘합니다. 다양한 모드를 폭넓게 지원하므로 개발부터 배포까지 여러 애플리케이션에 적합합니다.

모델 유형사전 학습 가중치작업학습검증추론내보내기
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u객체 탐지✅✅✅✅

이 표에서는 YOLOv5u 모델 변형을 자세히 살펴보고, 객체 탐지 작업에 대한 적용 가능성과 추론, 검증, 학습, 내보내기 등 다양한 운영 모드의 지원 여부를 강조합니다. 이러한 포괄적인 지원을 통해 사용자는 다양한 객체 탐지 시나리오에서 YOLOv5u 모델의 기능을 최대한 활용할 수 있습니다.

성능 지표#

성능

COCO에서 학습되고 사전 학습된 클래스 80개를 포함하는 이 모델의 사용 예제는 탐지 문서를 참조하세요. COCO를 참조하세요.

모델YAML크기
(픽셀)
mAP검증
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
파라미터
(M)
FLOPs
(B)
yolov5nu.ptyolov5n.yaml64034.373.61.062.67.7
yolov5su.ptyolov5s.yaml64043.0120.71.279.124.0
yolov5mu.ptyolov5m.yaml64049.0233.91.8625.164.2
yolov5lu.ptyolov5l.yaml64052.2408.42.5053.2135.0
yolov5xu.ptyolov5x.yaml64053.2763.23.8197.2246.4
yolov5n6u.ptyolov5n6.yaml128042.1211.01.834.331.3
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.397.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.2261.3
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1549.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.51002.8

사용 예시#

이 예제에서는 간단한 YOLOv5 학습 및 추론 예제를 제공합니다. 이러한 예제와 다른 모드에 관한 전체 문서는 Predict, Train, Val, Export 문서 페이지를 참조하세요.

예제

PyTorch 사전 학습된 *.pt 모델과 구성 *.yaml 파일을 YOLO() 클래스에 전달하여 Python에서 모델 인스턴스를 생성할 수 있습니다:

from ultralytics import YOLO

# COCO 사전 학습 YOLOv5nu 모델 로드
model = YOLO("yolov5nu.pt")

# 모델 정보 표시(선택 사항)
model.info()

# COCO8 예제 데이터셋으로 100 에포크 동안 모델 학습
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# 'bus.jpg' 이미지에서 YOLOv5nu 모델로 추론 실행
results = model("path/to/bus.jpg")

인용 및 감사의 글#

Ultralytics YOLOv5 논문

모델이 빠르게 발전하고 있어 Ultralytics는 YOLOv5 관련 공식 연구 논문을 발표하지 않았습니다. 정적인 문서를 만드는 것보다 기술을 발전시키고 사용을 편리하게 하는 데 중점을 둡니다. YOLO 아키텍처, 기능, 사용법에 관한 최신 정보는 GitHub 저장소와 문서를 참조하세요.

연구에서 YOLOv5 또는 YOLOv5u를 사용하는 경우, 다음과 같이 Ultralytics YOLOv5 저장소를 인용해 주세요:

인용
@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

YOLOv5 모델은 AGPL-3.0 및 Enterprise 라이선스에 따라 제공됩니다.

자주 묻는 질문#

  • Ultralytics YOLOv5u는 YOLOv5의 고급 버전으로, 실시간 객체 탐지 작업에서 정확도와 속도의 균형을 높이는 앵커 프리·객체성 프리 분할 헤드를 통합합니다. 기존 YOLOv5와 달리 YOLOv5u는 앵커 프리 탐지 메커니즘을 채택해 다양한 시나리오에서 유연성과 적응력이 뛰어납니다. 기능에 관한 자세한 내용은 YOLOv5 개요를 참조하세요.

  • YOLOv5u의 앵커 프리 Ultralytics 헤드는 사전 정의된 앵커 박스에 대한 의존성을 제거해 객체 탐지 성능을 향상합니다. 그 결과 다양한 크기와 형태의 객체를 더 효율적으로 처리할 수 있는 유연하고 적응력 있는 탐지 메커니즘을 구현합니다. 이러한 개선은 정확도와 속도 간 균형에 직접적으로 기여하여 YOLOv5u를 실시간 애플리케이션에 적합하게 합니다. 아키텍처에 관한 자세한 내용은 주요 기능 섹션에서 확인하세요.

  • 예, 사전 학습된 YOLOv5u 모델을 객체 탐지와 같은 다양한 작업에 사용할 수 있습니다. 이 모델은 추론, 검증, 학습, 내보내기를 비롯한 여러 모드를 지원합니다. 이러한 유연성을 통해 사용자는 다양한 운영 요구 사항에서 YOLOv5u 모델의 기능을 활용할 수 있습니다. 자세한 내용은 지원되는 작업 및 모드 섹션을 확인하세요.

  • YOLOv5u 모델의 성능 지표는 사용 플랫폼과 하드웨어에 따라 달라집니다. 예를 들어 YOLOv5nu 모델은 COCO 데이터셋에서 34.3 mAP를 달성하며, CPU(ONNX)에서 73.6 ms, A100 TensorRT에서 1.06 ms의 속도를 기록합니다. 다양한 YOLOv5u 모델의 세부 성능 지표는 여러 장치를 포괄적으로 비교하는 성능 지표 섹션에서 확인할 수 있습니다.

  • 사전 학습 모델을 로드하고 데이터셋을 사용해 학습 명령을 실행하면 YOLOv5u 모델을 학습할 수 있습니다. 간단한 예제는 다음과 같습니다:

    예제
    from ultralytics import YOLO
    
    # COCO 사전 학습 YOLOv5nu 모델 로드
    model = YOLO("yolov5nu.pt")
    
    # 모델 정보 표시(선택 사항)
    model.info()
    
    # COCO8 예제 데이터셋으로 100 에포크 동안 모델 학습
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    자세한 지침은 사용 예제 섹션을 참조하세요.

댓글