Meituan YOLOv6

개요

Meituan YOLOv6, released in 2022, offers a strong balance between speed and accuracy, making it a popular choice for real-time applications. This model introduces several notable enhancements on its architecture and training scheme, including the implementation of a Bi-directional Concatenation (BiC) module, an anchor-aided training (AAT) strategy, and an improved backbone and neck design for high accuracy on the COCO dataset.

Meituan의 YOLOv6 실시간 객체 탐지 모델 YOLOv6 모델 아키텍처 다이어그램 YOLOv6 개요. 상당한 성능 향상을 이끈 재설계된 네트워크 구성 요소와 학습 전략을 보여주는 모델 아키텍처 다이어그램. (a) YOLOv6의 넥 (N 및 S 모델 표시). M/L의 경우 RepBlocks가 CSPStackRep으로 대체됨을 참고하십시오. (b) BiC 모듈의 구조. (c) SimCSPSPPF 블록. (출처).

주요 특징

  • 양방향 연결(BiC) 모듈: YOLOv6는 탐지기의 넥에 BiC 모듈을 도입하여 위치 정보 신호를 향상시키고 속도 저하를 거의 발생시키지 않으면서 성능 향상을 제공합니다.
  • 앵커 기반 학습(AAT) 전략: 이 모델은 추론 효율성을 저해하지 않으면서 앵커 기반앵커 프리 패러다임의 이점을 모두 누리기 위해 AAT를 제안합니다.
  • 향상된 백본 및 넥 설계: 백본과 넥에 단계를 추가하여 YOLOv6를 심화함으로써, 이 모델은 출시 당시 고해상도 입력에서 COCO 데이터셋에 대해 강력한 성능을 달성했습니다.
  • 자기 증류(Self-Distillation) 전략: YOLOv6의 더 작은 모델들의 성능을 높이기 위해 새로운 자기 증류 전략이 구현되었습니다. 이는 학습 중에 보조 회귀 브랜치를 강화하고 추론 시에는 이를 제거하여 눈에 띄는 속도 저하를 방지합니다.

성능 지표

YOLOv6는 다양한 스케일의 사전 학습된 모델들을 제공합니다:

  • YOLOv6-N: NVIDIA T4 GPU에서 1187 FPS로 COCO val2017 기준 37.5% AP 달성.
  • YOLOv6-S: 484 FPS에서 45.0% AP.
  • YOLOv6-M: 226 FPS에서 50.0% AP.
  • YOLOv6-L: 116 FPS에서 52.8% AP.
  • YOLOv6-L6: 실시간 환경에서 최첨단 정확도 제공.

YOLOv6는 또한 다양한 정밀도를 위한 양자화 모델과 모바일 플랫폼에 최적화된 모델을 제공합니다.

사용 예시

이 예제는 간단한 YOLOv6 학습 및 추론 예시를 제공합니다. 이러한 모드 및 기타 모드에 대한 전체 문서는 Predict, Train, ValExport 문서 페이지를 참조하십시오.

예시

Python에서 해당 모델을 빌드하려면 YOLOv6 *.yaml 파일을 YOLO() 클래스에 전달할 수 있습니다:

from ultralytics import YOLO

# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")

# 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 YOLOv6n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

지원되는 태스크 및 모드

YOLOv6 시리즈는 고성능 객체 탐지를 위해 최적화된 다양한 모델을 제공합니다. 이 모델들은 다양한 컴퓨팅 요구 사항과 정확도 요건을 충족하며, 광범위한 애플리케이션에서 다재다능하게 사용될 수 있습니다.

모델파일명작업(Tasks)추론검증학습내보내기 (Export)
YOLOv6-Nyolov6n.yaml객체 감지
YOLOv6-Syolov6s.yaml객체 감지
YOLOv6-Myolov6m.yaml객체 감지
YOLOv6-Lyolov6l.yaml객체 감지
YOLOv6-Xyolov6x.yaml객체 감지

이 표는 객체 탐지 작업에서의 역량과 추론, 검증, 학습, 내보내기와 같은 다양한 운영 모드와의 호환성을 강조하며 YOLOv6 모델 변형에 대한 상세한 개요를 제공합니다. 이러한 포괄적인 지원을 통해 사용자는 다양한 객체 탐지 시나리오에서 YOLOv6 모델의 역량을 최대한 활용할 수 있습니다.

인용 및 감사의 글

실시간 객체 탐지 분야에 중요한 기여를 한 저자들에게 감사를 표합니다:

인용
@misc{li2023yolov6,
      title={YOLOv6 v3.0: A Full-Scale Reloading},
      author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
      year={2023},
      eprint={2301.05586},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

원본 YOLOv6 논문은 arXiv에서 찾을 수 있습니다. 저자들은 연구 결과를 공개하였으며, 코드베이스는 GitHub에서 확인할 수 있습니다. 이 분야를 발전시키고 더 넓은 커뮤니티가 연구 결과에 접근할 수 있도록 노력해 준 점에 대해 높이 평가합니다.

FAQ

Meituan YOLOv6란 무엇이며 어떤 점이 독특합니까?

2022년에 출시된 Meituan YOLOv6는 실시간 애플리케이션을 위해 설계된 속도와 정확성 사이의 균형을 맞춘 객체 탐지기입니다. 이 모델은 Bi-directional Concatenation (BiC) 모듈과 앵커 기반 학습(AAT) 전략과 같은 주목할 만한 아키텍처 개선 사항을 갖추고 있습니다. 이러한 혁신은 속도 저하를 최소화하면서 상당한 성능 향상을 제공하여, YOLOv6를 객체 탐지 작업을 위한 경쟁력 있는 선택지로 만듭니다.

YOLOv6의 양방향 연결(BiC) 모듈은 성능을 어떻게 향상시킵니까?

YOLOv6의 양방향 연결(BiC) 모듈은 탐지기 넥의 위치 정보 신호를 향상시켜 속도 영향이 거의 없이 성능 향상을 제공합니다. 이 모듈은 서로 다른 특징 맵을 효과적으로 결합하여 모델의 객체 탐지 정확도를 높입니다. YOLOv6 기능에 대한 자세한 내용은 주요 기능 섹션을 참조하십시오.

Ultralytics를 사용하여 YOLOv6 모델을 어떻게 학습시킬 수 있습니까?

간단한 Python 또는 CLI 명령어를 사용하여 Ultralytics로 YOLOv6 모델을 학습시킬 수 있습니다. 예를 들면 다음과 같습니다:

예시
from ultralytics import YOLO

# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

더 자세한 정보는 학습(Train) 페이지를 방문하십시오.

YOLOv6의 서로 다른 버전은 무엇이며 그 성능 지표는 어떻게 됩니까?

YOLOv6는 다양한 성능 요구 사항에 최적화된 여러 버전을 제공합니다:

  • YOLOv6-N: 1187 FPS에서 37.5% AP
  • YOLOv6-S: 484 FPS에서 45.0% AP
  • YOLOv6-M: 226 FPS에서 50.0% AP
  • YOLOv6-L: 116 FPS에서 52.8% AP
  • YOLOv6-L6: 실시간 시나리오에서 최첨단 정확도

이 모델들은 NVIDIA T4 GPU를 사용하여 COCO 데이터셋에서 평가되었습니다. 성능 지표에 대한 더 자세한 내용은 성능 지표 섹션을 참조하십시오.

앵커 기반 학습(AAT) 전략은 YOLOv6에 어떤 이점을 줍니까?

YOLOv6의 앵커 기반 학습(AAT)은 앵커 기반 및 앵커 프리 접근 방식의 요소를 결합하여 추론 효율성을 저해하지 않으면서 모델의 탐지 역량을 향상시킵니다. 이 전략은 학습 중에 앵커를 활용하여 바운딩 박스 예측을 개선함으로써, YOLOv6가 다양한 객체 탐지 작업에서 효과적으로 작동하게 합니다.

Ultralytics의 YOLOv6 모델은 어떤 운영 모드를 지원합니까?

YOLOv6는 추론, 검증, 학습 및 내보내기를 포함한 다양한 운영 모드를 지원합니다. 이러한 유연성을 통해 사용자는 다양한 시나리오에서 모델의 역량을 최대한 활용할 수 있습니다. 각 모드에 대한 상세한 개요는 지원되는 작업 및 모드 섹션을 확인하십시오.

댓글