YOLO V11 리뷰 1.사용법

코드짜는침팬지·2025년 1월 18일
0

YOLO

목록 보기
1/3

YOLO11: Enhanced Object Detection and Vision Tasks

주요 기능

  • 향상된 기능 추출: YOLO11은 향상된 백본 및 넥 아키텍처를 사용하여 더욱 정밀한 객체 감지 및 복잡한 작업 수행을 위한 기능 추출 기능을 향상시킵니다.
  • 효율성과 속도에 최적화: 정교한 아키텍처 설계와 최적화된 교육 파이프라인을 도입하여 처리 속도를 높이고 정확도와 성능 간의 최적의 균형을 유지합니다.
  • 더 적은 파라미터로 더 높은 정확도: 모델 설계의 발전으로 YOLO11m은 COCO 데이터 세트에서 더 높은 평균 정밀도(mAP)를 달성하는 동시에 YOLOv8m보다 22% 적은 수의 매개변수를 사용하여 정확도 저하 없이 계산 효율을 높였습니다.
  • 다양한 환경에서의 적응성: YOLO11은 엣지 디바이스, 클라우드 플랫폼, NVIDIA GPU를 지원하는 시스템 등 다양한 환경에 원활하게 배포할 수 있어 유연성을 극대화합니다.
  • 광범위한 지원 작업: 물체 감지, 인스턴스 분할, 이미지 분류, 포즈 추정, 방향성 물체 감지(OBB) 등 다양한 컴퓨터 비전 과제에 대응할 수 있도록 설계되었습니다.

지원되는 작업 및 모드

YOLO11은 다용도 모델 제품군(YOLOv8)을 기반으로 다양한 컴퓨터 비전 작업 전반에 걸쳐 향상된 지원을 제공합니다:

모델파일 이름작업추론유효성 검사교육내보내기
YOLO11yolo11n.pt yolo11s.pt yolo11m.pt yolo11l.pt yolo11x.pt탐지
YOLO11-segyolo11n-seg.pt yolo11s-seg.pt yolo11m-seg.pt yolo11l-seg.pt yolo11x-seg.pt인스턴스 세분화
YOLO11-poseyolo11n-pose.pt yolo11s-pose.pt yolo11m-pose.pt yolo11l-pose.pt yolo11x-pose.pt포즈/키포인트
YOLO11-obbyolo11n-obb.pt yolo11s-obb.pt yolo11m-obb.pt yolo11l-obb.pt yolo11x-obb.pt방향 탐지
YOLO11-clsyolo11n-cls.pt yolo11s-cls.pt yolo11m-cls.pt yolo11l-cls.pt yolo11x-cls.pt분류

위 표는 YOLO11 모델 변형에 대한 개요를 제공하며, 특정 작업에서의 적용 가능성과 추론, 검증, 훈련 및 내보내기와 같은 작동 모드와의 호환성을 보여줍니다. 이러한 유연성 덕분에 YOLO11은 실시간 감지부터 복잡한 세분화 작업에 이르기까지 컴퓨터 비전의 광범위한 애플리케이션에 적합합니다.


성능 지표

성능

모델크기 (픽셀)mAPval 50-95속도 (CPU ONNX, ms)속도 (T4 TensorRT10, ms)매개변수 (M)FLOPs (B)
YOLO11n64039.556.1 ± 0.81.5 ± 0.02.66.5
YOLO11s64047.090.0 ± 1.22.5 ± 0.09.421.5
YOLO11m64051.5183.2 ± 2.04.7 ± 0.120.168.0
YOLO11l64053.4238.6 ± 1.46.2 ± 0.125.386.9
YOLO11x64054.7462.8 ± 6.711.3 ± 0.256.9194.9

COCO 데이터셋에서 사전 학습된 80개의 클래스를 포함하여, 이러한 모델의 사용 예제는 탐지 문서를 참조하세요.

진짜 리뷰

공식설명은 이러한데 사실 이런거 할거면 리뷰 할 필요가 없죠
YOLO의 기본적인 사용방법, ONNX 변환 및 Tensor RT 변환 과정이 주 내용이 될 것 같습니다. 생각보다 어렵더라고요.

이번장에서는 우선 YOLO v11의 기본적인 사용법만 알아보도록 하겠습니다. 환경은 다음과 같습니다.

  • anaconda
  • python 3.11
  • Linux(WSL)
  • Cuda 12.4
  • Torch 2.5.1
  • RTX4070 Laptop
  • intel Core Ultra9 185H
  • 64GB RAM

사용법

https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb

설치방법은 이거 그대로 따라가시면 됩니다.
jupyter 노트북 기반이며 !,% 없애고 직접 CLI에서 실행하셔도 됩니다.

일단 cuda가 되는지 확인 해봅시다.

import torch
print(torch.cuda.is_available()) 
print(torch.__version__)

잘 되는걸 확인했습니다.

그 다음 yolo 설치를 진행합니다.

%pip install ultralytics
import ultralytics
ultralytics.checks()

1.Predict

우선 Predict부터 따라가볼까요

# Run inference on an image with YOLO11n
!yolo predict model=yolo11n.pt source='https://ultralytics.com/images/zidane.jpg'

        

오늘도 화가 잔뜩난 지단과 지단을 쳐다보는 안첼로티입니다.
잘 예측했네요.

2.Val

검증은 다음 과정을 따라가면 됩니다.

# Download COCO val
import torch
torch.hub.download_url_to_file('https://ultralytics.com/assets/coco2017val.zip', 'tmp.zip')  # download (780M - 5000 images)
!unzip -q tmp.zip -d datasets && rm tmp.zip  # unzip
# Validate YOLO11n on COCO8 val
!yolo val model=yolo11n.pt data=coco8.yaml

3. Train

훈련과정은 다음과 같습니다.

Train YOLO11 on Detect, Segment, Classify and Pose datasets. See YOLO11 Train Docs for more information.

#@title Select YOLO11 🚀 logger {run: 'auto'}
logger = 'Comet' #@param ['Comet', 'TensorBoard']

if logger == 'Comet':
  %pip install -q comet_ml
  import comet_ml; comet_ml.init()
elif logger == 'TensorBoard':
  %load_ext tensorboard
  %tensorboard --logdir .

4. Export

yolo에서 내부적으로 지원하는 포맷은 다음과 같습니다.

Export a YOLO11 model to any supported format below with the format argument, i.e. format=onnx. See YOLO11 Export Docs for more information.

  • 💡 ProTip: Export to ONNX or OpenVINO for up to 3x CPU speedup.
  • 💡 ProTip: Export to TensorRT for up to 5x GPU speedup.
Formatformat ArgumentModelMetadataArguments
PyTorch-yolo11n.pt-
TorchScripttorchscriptyolo11n.torchscriptimgsz, optimize, batch
ONNXonnxyolo11n.onnximgsz, half, dynamic, simplify, opset, batch
OpenVINOopenvinoyolo11n_openvino_model/imgsz, half, dynamic, int8, batch
TensorRTengineyolo11n.engineimgsz, half, dynamic, simplify, workspace, int8, batch
CoreMLcoremlyolo11n.mlpackageimgsz, half, int8, nms, batch
TF SavedModelsaved_modelyolo11n_saved_model/imgsz, keras, int8, batch
TF GraphDefpbyolo11n.pbimgsz, batch
TF Litetfliteyolo11n.tfliteimgsz, half, int8, batch
TF Edge TPUedgetpuyolo11n_edgetpu.tfliteimgsz
TF.jstfjsyolo11n_web_model/imgsz, half, int8, batch
PaddlePaddlepaddleyolo11n_paddle_model/imgsz, batch
MNNmnnyolo11n.mnnimgsz, batch, int8, half
NCNNncnnyolo11n_ncnn_model/imgsz, half, batch
IMX500imxyolov8n_imx_model/imgsz, int8

paddle도 지원하는건 의외네요

6. Tasks

YOLO에서 공식적으로 지원하는 기능들은 다음과 같습니다.
아래 설명을 참고하시면 될 것 같네요.

YOLO11 can train, val, predict and export models for the most common tasks in vision AI: Detect, Segment, Classify and Pose. See YOLO11 Tasks Docs for more information.


profile
학과 꼴찌 공대 호소인

0개의 댓글