YOLO Vision 2026:

Meituan YOLOv6#

개요#

2022년에 출시된 Meituan YOLOv6은 속도와 정확도 사이의 강력한 균형을 제공하여 실시간 애플리케이션에서 인기 있는 선택지가 됩니다. 이 모델은 양방향 연결(BiC) 모듈 구현, 앵커 보조 학습(AAT) 전략, 그리고 COCO dataset에서 높은 정확도를 달성하기 위한 향상된 backbone 및 넥 디자인을 포함하여 아키텍처와 학습 방식에서 몇 가지 주목할 만한 개선 사항을 도입했습니다.

YOLOv6 real-time object detection model by Meituan YOLOv6 model architecture diagram YOLOv6 개요. 상당한 성능 향상을 이끌어낸 재설계된 네트워크 구성 요소와 학습 전략을 보여주는 모델 아키텍처 다이어그램. (a) YOLOv6의 넥 (N과 S가 표시됨). M/L의 경우 RepBlocks가 CSPStackRep로 대체됨에 유의하세요. (b) BiC 모듈의 구조. (c) SimCSPSPPF 블록. (source).

주요 특징#

  • Bidirectional Concatenation (BiC) 모듈: YOLOv6는 탐지기의 neck 부분에 BiC 모듈을 도입하여 위치 파악 신호를 향상시키고, 속도 저하를 최소화하면서 성능을 향상시킵니다.
  • Anchor-Aided Training (AAT) 전략: 이 모델은 추론 효율성을 저해하지 않으면서 anchor-based 패러다임과 anchor-free 패러다임의 이점을 모두 누릴 수 있도록 AAT를 제안합니다.
  • 향상된 Backbone 및 Neck 설계: YOLOv6의 backbone과 neck에 단계를 추가하여 깊이를 더함으로써, 이 모델은 발표 당시 고해상도 입력에서 COCO 데이터셋에 대해 강력한 성능을 달성했습니다.
  • Self-Distillation 전략: YOLOv6의 더 작은 모델들의 성능을 높이기 위해 새로운 self-distillation 전략이 구현되었습니다. 이는 학습 중 보조 회귀 브랜치를 강화하고, 추론 시에는 현저한 속도 저하를 방지하기 위해 이를 제거합니다.

성능 지표#

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은 다양한 precisions에 대한 양자화된 모델과 모바일 플랫폼에 최적화된 모델을 제공합니다.

사용 예제#

이 예제에서는 간단한 YOLOv6 학습 및 추론 예제를 제공합니다. 이들 및 기타 modes에 대한 전체 문서는 Predict, Train, ValExport 문서 페이지를 참조하세요.

예시

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

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 시리즈는 고성능 Object Detection에 각각 최적화된 다양한 모델을 제공합니다. 이 모델들은 다양한 연산 요구 사항과 accuracy 요구 사항을 충족하므로 광범위한 애플리케이션에 다목적으로 사용할 수 있습니다.

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

이 표는 YOLOv6 모델 변형에 대한 자세한 개요를 제공하며, object detection 작업에서의 기능과 Inference, Validation, Training, Export와 같은 다양한 운영 모드와의 호환성을 강조합니다. 이 포괄적인 지원을 통해 사용자는 광범위한 객체 감지 시나리오에서 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#

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

  • YOLOv6의 Bi-directional Concatenation (BiC) 모듈은 탐지기의 넥에서 지역화 신호를 향상시키며, 속도에 거의 영향을 주지 않으면서 성능을 향상시킵니다. 이 모듈은 서로 다른 feature maps을 효과적으로 결합하여 모델의 정확한 객체 탐지 능력을 높입니다. YOLOv6의 기능에 대한 자세한 내용은 Key Features 섹션을 참조하세요.

  • 간단한 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-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 dataset에서 평가되었습니다. 성능 지표에 대한 자세한 내용은 Performance Metrics 섹션을 참조하세요.

  • YOLOv6의 Anchor-Aided Training (AAT)은 anchor-based 및 anchor-free 접근 방식의 요소를 결합하여 추론 효율성을 저해하지 않으면서 모델의 탐지 능력을 향상시킵니다. 이 전략은 학습 중에 앵커를 활용하여 bounding box 예측을 개선하므로, YOLOv6이 다양한 객체 탐지 작업에서 효과적으로 작동하도록 합니다.

  • YOLOv6은 추론(Inference), 검증(Validation), 학습(Training), 내보내기(Export)를 포함한 다양한 운영 모드를 지원합니다. 이러한 유연성을 통해 사용자는 다양한 시나리오에서 모델의 기능을 최대한 활용할 수 있습니다. 각 모드에 대한 자세한 개요는 Supported Tasks and Modes 섹션을 확인하세요.

댓글