콘텐츠로 건너뛰기

YOLOv3 및 YOLOv3u

개요

이 문서에서는 서로 밀접하게 관련된 세 가지 객체 감지 모델, 즉 YOLOv3, YOLOv3-Ultralytics, YOLOv3u에 대한 개요를 설명합니다.

  1. YOLOv3: You Only Look Once(YOLO) 객체 감지 알고리즘의 세 번째 버전입니다. 원래 Joseph Redmon이 개발한 YOLOv3는 멀티스케일 예측과 세 가지 크기의 감지 커널과 같은 기능을 도입하여 이전 버전보다 개선되었습니다.

  2. YOLOv3u: YOLOv8 모델에 사용된 앵커가 없고 물체가 없는 분할 헤드를 통합한 Ultralytics 업데이트 버전입니다. YOLOv3u는 YOLOv3와 동일한 백본 및 넥 아키텍처를 유지하지만 YOLOv8 업데이트된 탐지 헤드를 사용합니다.

Ultralytics YOLOv3

주요 기능

  • YOLOv3: 세 가지 크기의 탐지 커널을 활용하여 세 가지 스케일을 사용하여 탐지하는 기능을 도입했습니다: 13x13, 26x26, 52x52. 이를 통해 다양한 크기의 물체에 대한 감지 정확도가 크게 향상되었습니다. 또한 YOLOv3는 각 경계 상자에 대한 다중 레이블 예측과 더 나은 특징 추출기 네트워크와 같은 기능을 추가했습니다.

  • YOLOv3u: 이 업데이트된 모델에는 YOLOv8 의 앵커가 필요 없는 분할 헤드가 통합되어 있습니다. 이 감지 헤드 설계는 사전 정의된 앵커 박스 및 물체 점수가 필요하지 않으므로 다양한 크기와 모양의 물체를 감지하는 모델의 능력을 향상시킬 수 있습니다. 따라서 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 훈련 및 추론 예제를 제공합니다. 이러한 모드 및 기타 모드에 대한 전체 문서는 예측, 학습, 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}
}

인용에 대한 자세한 내용은 인용 및 감사 섹션을 참조하세요.



📅1 년 전 생성됨 ✏️ 1개월 전 업데이트됨

댓글