YOLOv3 및 YOLOv3u
개요
이 문서에서는 서로 밀접하게 관련된 세 가지 객체 감지 모델, 즉 YOLOv3, YOLOv3-Ultralytics, YOLOv3u에 대한 개요를 설명합니다.
-
YOLOv3: You Only Look Once(YOLO) 객체 감지 알고리즘의 세 번째 버전입니다. 원래 Joseph Redmon이 개발한 YOLOv3는 멀티스케일 예측과 세 가지 크기의 감지 커널과 같은 기능을 도입하여 이전 버전보다 개선되었습니다.
-
YOLOv3u: YOLOv8 모델에 사용된 앵커가 없고 물체가 없는 분할 헤드를 통합한 Ultralytics 업데이트 버전입니다. YOLOv3u는 YOLOv3와 동일한 백본 및 넥 아키텍처를 유지하지만 YOLOv8 업데이트된 탐지 헤드를 사용합니다.
주요 기능
-
YOLOv3: 세 가지 크기의 탐지 커널을 활용하여 세 가지 스케일을 사용하여 탐지하는 기능을 도입했습니다: 13x13, 26x26, 52x52. 이를 통해 다양한 크기의 물체에 대한 감지 정확도가 크게 향상되었습니다. 또한 YOLOv3는 각 경계 상자에 대한 다중 레이블 예측과 더 나은 특징 추출기 네트워크와 같은 기능을 추가했습니다.
-
YOLOv3u: 이 업데이트된 모델에는 YOLOv8 의 앵커가 필요 없는 분할 헤드가 통합되어 있습니다. 이 감지 헤드 설계는 사전 정의된 앵커 박스 및 물체 점수가 필요하지 않으므로 다양한 크기와 모양의 물체를 감지하는 모델의 능력을 향상시킬 수 있습니다. 따라서 YOLOv3u는 물체 감지 작업을 더욱 강력하고 정확하게 수행할 수 있습니다.
지원되는 작업 및 모드
YOLOv3는 다음을 위해 특별히 설계되었습니다. 물체 감지 작업을 지원합니다. Ultralytics 세 가지 YOLOv3 변형을 지원합니다: yolov3u
, yolov3-tinyu
그리고 yolov3-sppu
. . u
라는 이름은 앵커 기반인 기존 아키텍처와 달리 YOLOv8 의 앵커가 없는 헤드를 활용한다는 의미입니다. 이 모델은 다양한 실제 시나리오에서 정확성과 속도 사이의 균형을 유지하면서 효과적인 것으로 잘 알려져 있습니다. 각 변형은 고유한 기능과 최적화를 제공하므로 다양한 애플리케이션에 적합합니다.
세 가지 모델 모두 포괄적인 모드 세트를 지원하여 모델 배포 및 개발의 다양한 단계에서 다용도로 사용할 수 있습니다. 이러한 모드에는 추론, 검증, 훈련 및 내보내기가 포함되어 있어 사용자에게 효과적인 객체 탐지를 위한 완벽한 툴킷을 제공합니다.
이 표는 각 YOLOv3 변형의 기능을 한눈에 볼 수 있으며, 객체 감지 워크플로우의 다양한 작업 및 운영 모드에 대한 다용도성과 적합성을 강조합니다.
사용 예
이 예는 간단한 YOLOv3 훈련 및 추론 예제를 제공합니다. 이러한 모드 및 기타 모드에 대한 전체 문서는 예측, 학습, Val 및 내보내기 문서 페이지를 참조하세요.
예
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에게 감사드립니다.
자주 묻는 질문
YOLOv3, YOLOv3-Ultralytics, YOLOv3u의 차이점은 무엇인가요?
YOLOv3는 조셉 레드몬이 개발한 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)
# 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
보다 포괄적인 교육 옵션과 가이드라인은 교육 모드 문서를 참조하세요.
물체 감지 작업에서 YOLOv3u가 더 정확한 이유는 무엇인가요?
YOLOv3u는 YOLOv8 모델에 사용된 앵커가 없고 물체가 없는 분할 헤드를 통합하여 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 모델 실행에 대한 자세한 내용은 추론 모드 설명서를 참조하세요.
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}
}
인용에 대한 자세한 내용은 인용 및 감사 섹션을 참조하세요.