YOLOv3 및 YOLOv3u#
개요#
이문서는 YOLOv3, YOLOv3-Ultralytics, YOLOv3u를 포함하여 밀접하게 연관된 세 가지 객체 감지 모델에 대한 개요를 제공합니다.
-
YOLOv3: 이는 You Only Look Once(YOLO) 객체 감지 알고리즘의 세 번째 버전입니다. Joseph Redmon이 처음 개발한 YOLOv3는 다중 스케일 예측 및 세 가지 다른 크기의 감지 커널과 같은 기능을 도입하여 이전 버전을 개선했습니다.
-
YOLOv3u: 이는 YOLOv8 모델에 사용된 앵커 프리(anchor-free), 객관성 프리(objectness-free) 분할 헤드를 통합한 YOLOv3-Ultralytics의 업데이트된 버전입니다. YOLOv3u는 YOLOv3와 동일한 백본 및 넥 아키텍처를 유지하지만 YOLOv8의 업데이트된 감지 헤드를 사용합니다.

주요 특징#
-
YOLOv3: 13x13, 26x26, 52x52의 세 가지 다른 크기의 감지 커널을 활용하여 세 가지 다른 스케일의 감지 사용을 도입했습니다. 이는 다양한 크기의 객체에 대한 감지 정확도를 크게 향상시켰습니다. 또한 YOLOv3는 각 바운딩 박스에 대한 다중 레이블 예측 및 더 나은 피처 추출기 네트워크와 같은 기능을 추가했습니다.
-
YOLOv3u: 이 업데이트된 모델은 YOLOv8의 앵커 프리, 객관성 프리 분할 헤드를 통합합니다. 사전 정의된 앵커 박스 및 객관성 점수에 대한 필요성을 제거함으로써, 이 감지 헤드 디자인은 다양한 크기와 모양의 객체를 감지하는 모델의 능력을 향상시킬 수 있습니다. 이를 통해 YOLOv3u는 객체 감지 작업에 대해 더 견고하고 정확해집니다.
지원되는 작업 및 모드#
YOLOv3는 객체 감지 작업을 위해 특별히 설계되었습니다. Ultralytics는 yolov3u, yolov3-tinyu, yolov3-sppu의 세 가지 YOLOv3 변형을 지원합니다. 이름의 u는 앵커 기반인 원래 아키텍처와 달리 YOLOv8의 앵커 프리 헤드를 활용함을 나타냅니다. 이 모델들은 정확도와 속도의 균형을 맞추어 다양한 실제 시나리오에서의 효과성으로 유명합니다. 각 변형은 고유한 기능과 최적화를 제공하여 다양한 응용 프로그램에 적합합니다.
세 모델 모두 포괄적인 모드 세트를 지원하여 모델 배포 및 개발의 다양한 단계에서 다목적성을 보장합니다. 이러한 모드에는 추론, 검증, 학습, 내보내기가 포함되어 있어 사용자에게 효과적인 객체 감지를 위한 완전한 툴킷을 제공합니다.
| 모델 유형 | 사전 학습된 가중치 | 지원되는 작업 | 학습 | 검증 | 추론 | 내보내기(Export) |
|---|---|---|---|---|---|---|
| YOLOv3(u) | yolov3u.pt | 객체 탐지 | ✅ | ✅ | ✅ | ✅ |
| YOLOv3-Tiny(u) | yolov3-tinyu.pt | 객체 탐지 | ✅ | ✅ | ✅ | ✅ |
| YOLOv3u-SPP(u) | yolov3-sppu.pt | 객체 탐지 | ✅ | ✅ | ✅ | ✅ |
이 표는 각 YOLOv3 변형의 기능을 한눈에 볼 수 있도록 제공하며, 객체 감지 워크플로의 다양한 작업 및 운영 모드에 대한 다목적성과 적합성을 강조합니다.
사용 예제#
이 예시는 간단한 YOLOv3 학습 및 추론 예시를 제공합니다. 이 모드 및 기타 모드에 대한 전체 문서는 예측, 학습, 검증, 내보내기 문서 페이지를 참조하세요.
PyTorch 사전 학습된 *.pt 모델과 구성 *.yaml 파일을 YOLO() 클래스에 전달하여 Python에서 모델 인스턴스를 만들 수 있습니다:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")인용 및 감사의 글#
연구에서 YOLOv3를 사용하는 경우, 원래 YOLO 논문과 Ultralytics YOLOv3 리포지토리를 인용해 주세요.
@article{redmon2018yolov3,
title={YOLOv3: An Incremental Improvement},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1804.02767},
year={2018}
}원래 YOLOv3를 개발해주신 Joseph Redmon과 Ali Farhadi에게 감사드립니다.
FAQ#
YOLOv3, YOLOv3-Ultralytics, YOLOv3u의 차이점은 무엇인가요?#
YOLOv3는 Joseph Redmon이 개발한 YOLO(You Only Look Once) 객체 감지 알고리즘의 세 번째 버전으로, 정확도와 속도의 균형으로 유명하며 감지를 위해 세 가지 다른 스케일(13x13, 26x26, 52x52)을 활용합니다. YOLOv3-Ultralytics는 더 많은 사전 학습된 모델에 대한 지원을 추가하고 모델 사용자 정의를 용이하게 하는 Ultralytics의 YOLOv3 적응 버전입니다. YOLOv3u는 YOLOv3-Ultralytics의 업그레이드된 변형으로, YOLOv8의 앵커 프리, 객관성 프리 분할 헤드를 통합하여 다양한 객체 크기에 대한 감지 견고성과 정확도를 향상시킵니다. 변형에 대한 자세한 내용은 YOLOv3 시리즈를 참조하세요.
Ultralytics를 사용하여 YOLOv3 모델을 어떻게 학습할 수 있나요?#
Ultralytics로 YOLOv3 모델을 학습하는 것은 간단합니다. Python 또는 CLI를 사용하여 모델을 학습할 수 있습니다.
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)더욱 포괄적인 학습 옵션과 지침을 보려면 학습 모드 문서를 방문하세요.
YOLOv3u가 객체 감지 작업에서 더 정확한 이유는 무엇인가요?#
YOLOv3u는 YOLOv8 모델에 사용된 앵커 프리, 객관성 프리 분할 헤드를 통합하여 YOLOv3 및 YOLOv3-Ultralytics를 개선합니다. 이 업그레이드는 사전 정의된 앵커 박스 및 객관성 점수에 대한 필요성을 제거하여 다양한 크기와 모양의 객체를 더 정확하게 감지하는 기능을 향상시킵니다. 이를 통해 YOLOv3u는 복잡하고 다양한 객체 감지 작업에 더 나은 선택이 됩니다. 자세한 내용은 주요 기능 섹션을 참조하세요.
추론을 위해 YOLOv3 모델을 어떻게 사용할 수 있나요?#
Python 스크립트 또는 CLI 명령을 사용하여 YOLOv3 모델로 추론을 수행할 수 있습니다.
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")
# Run inference with the YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")YOLO 모델 실행에 대한 자세한 내용은 추론 모드 문서를 참조하세요.
YOLOv3 및 그 변형에서 지원하는 작업은 무엇인가요?#
YOLOv3, YOLOv3-Tiny, YOLOv3-SPP는 주로 객체 감지 작업을 지원합니다. 이 모델들은 추론, 검증, 학습, 내보내기와 같은 모델 배포 및 개발의 다양한 단계에 사용될 수 있습니다. 지원되는 작업의 포괄적인 세트와 심층적인 세부 정보를 보려면 객체 감지 작업 문서를 방문하세요.
연구에서 YOLOv3를 인용하기 위한 리소스는 어디서 찾을 수 있나요?#
연구에서 YOLOv3를 사용하는 경우, 원래 YOLO 논문과 Ultralytics YOLOv3 리포지토리를 인용해 주세요. BibTeX 인용 예시:
@article{redmon2018yolov3,
title={YOLOv3: An Incremental Improvement},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1804.02767},
year={2018}
}인용에 대한 자세한 내용은 인용 및 감사의 글 섹션을 참조하세요.