YOLOv3 및 YOLOv3u
개요
이 문서는 YOLOv3, YOLOv3-Ultralytics 및 YOLOv3u와 같이 밀접하게 관련된 세 가지 객체 감지 모델에 대한 개요를 제공합니다.
-
YOLOv3: You Only Look Once (YOLO) 객체 감지 알고리즘의 세 번째 버전입니다. Joseph Redmon이 최초 개발했으며, YOLOv3는 멀티 스케일 예측 및 세 가지 크기의 감지 커널과 같은 기능을 도입하여 이전 버전을 개선했습니다.
-
YOLOv3u: YOLOv8 모델에서 사용되는 앵커 프리, 객체성 프리 분할 헤드를 통합한 YOLOv3-Ultralytics의 업데이트 버전입니다. YOLOv3u는 YOLOv3와 동일한 백본 및 넥 아키텍처를 유지하지만 YOLOv8의 업데이트된 감지 헤드를 사용합니다.
주요 기능
-
YOLOv3: 13x13, 26x26, 52x52의 세 가지 다른 크기의 감지 커널을 활용하여 감지를 위한 세 가지 다른 스케일 사용을 도입했습니다. 이는 다양한 크기의 객체에 대한 감지 정확도를 크게 향상시켰습니다. 또한 YOLOv3는 각 bounding box에 대한 멀티 레이블 예측 및 더 나은 특징 추출 네트워크와 같은 기능을 추가했습니다.
-
YOLOv3u: 이 업데이트된 모델은 YOLOv8의 앵커 프리(anchor-free), 객체성 프리(objectness-free) 분할 헤드를 통합합니다. 사전 정의된 앵커 박스 및 객체성 점수의 필요성을 제거함으로써 이 감지 헤드 디자인은 다양한 크기와 모양의 객체를 감지하는 모델의 능력을 향상시킬 수 있습니다. 이를 통해 YOLOv3u는 객체 감지 작업에 더욱 강력하고 정확합니다.
지원되는 작업 및 모드
YOLOv3는 다음을 위해 특별히 설계되었습니다. 객체 감지 작업. Ultralytics는 세 가지 변형의 YOLOv3를 지원합니다. yolov3u
, yolov3-tinyu
및 yolov3-sppu
. 다음 u
이름에서 알 수 있듯이 원래 아키텍처와 달리 YOLOv8의 앵커 프리 헤드를 활용합니다. 이러한 모델은 정확도와 속도의 균형을 유지하면서 다양한 실제 시나리오에서 효과적인 것으로 유명합니다. 각 변형은 고유한 기능과 최적화를 제공하므로 다양한 애플리케이션에 적합합니다.
세 가지 모델 모두 포괄적인 모드 세트를 지원하여 다양한 모델 배포 및 개발 단계에서 다재다능함을 보장합니다. 이러한 모드에는 추론, 검증, 학습 및 내보내기가 포함되어 있어 사용자에게 효과적인 객체 감지를 위한 완벽한 툴킷을 제공합니다.
모델 유형 | 사전 훈련된 가중치 | 지원되는 작업 | 추론 | 검증 | 훈련 | 내보내기 |
---|---|---|---|---|---|---|
YOLOv3(u) | yolov3u.pt |
객체 감지 | ✅ | ✅ | ✅ | ✅ |
YOLOv3-Tiny(u) | yolov3-tinyu.pt |
객체 감지 | ✅ | ✅ | ✅ | ✅ |
YOLOv3u-SPP(u) | yolov3-sppu.pt |
객체 감지 | ✅ | ✅ | ✅ | ✅ |
이 표는 각 YOLOv3 변형의 기능을 한눈에 보여주며, 객체 감지 워크플로에서 다양한 작업 및 작동 모드에 대한 다재다능함과 적합성을 강조합니다.
사용 예시
이 예제는 간단한 YOLOv3 학습 및 추론 예제를 제공합니다. 이러한 모드 및 기타 Predict, Train, Val 및 Export에 대한 전체 문서는 해당 문서 페이지를 참조하십시오.
예시
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")
모델을 직접 실행하는 데 사용할 수 있는 CLI 명령은 다음과 같습니다.
# Load a COCO-pretrained YOLOv3u model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3u.pt data=coco8.yaml epochs=100 imgsz=640
# Load a COCO-pretrained YOLOv3u model and run inference on the 'bus.jpg' image
yolo predict model=yolov3u.pt source=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의 앵커 프리(anchor-free), 객체성 프리(objectness-free) 분할 헤드를 통합하여 다양한 객체 크기에 대한 감지 견고성 및 정확도를 향상시킵니다. 변형에 대한 자세한 내용은 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)
# Load a COCO-pretrained YOLOv3u model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3u.pt data=coco8.yaml epochs=100 imgsz=640
더욱 포괄적인 학습 옵션 및 지침은 Train 모드 문서를 방문하십시오.
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")
# Load a COCO-pretrained YOLOv3u model and run inference on the 'bus.jpg' image
yolo predict model=yolov3u.pt source=path/to/bus.jpg
YOLO 모델 실행에 대한 자세한 내용은 Inference 모드 문서를 참조하십시오.
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}
}
더 자세한 인용 정보는 인용 및 감사의 말씀 섹션을 참조하십시오.