Ultralytics YOLO 종합 튜토리얼#
Ultralytics의 YOLO 가이드에 오신 것을 환영합니다. 이 종합 튜토리얼에서는 YOLO 객체 감지 모델의 학습과 예측부터 배포까지 다양한 측면을 다룹니다. PyTorch를 기반으로 하는 YOLO는 실시간 객체 감지 작업에서 뛰어난 속도와 정확도를 자랑합니다.
딥러닝 초보자든 전문가든 관계없이, 이 튜토리얼은 컴퓨터 비전 프로젝트에서 YOLO를 구현하고 최적화하는 데 유용한 인사이트를 제공합니다.
Watch: Ultralytics YOLO26 Guides Overview
가이드#
가이드는 환경 설정과 데이터 준비부터 학습, 평가, 배포, 추론 최적화, 엣지 하드웨어까지 프로젝트 단계별로 구성되어 있으므로 현재 작업 중인 단계로 바로 이동할 수 있습니다.
시작 및 계획 수립#
- Conda 빠른 시작: Ultralytics용 Conda 환경을 설정하는 단계별 가이드입니다. Conda를 사용하여 Ultralytics 패키지를 효율적으로 설치하고 사용하기 시작하는 방법을 알아봅니다.
- Docker 빠른 시작: Docker를 사용하여 Ultralytics YOLO 모델을 설정하고 사용하는 전체 가이드입니다. Docker 설치, GPU 지원 관리, 일관된 개발 및 배포를 위한 격리된 컨테이너에서 YOLO 모델 실행 방법을 알아봅니다.
- AzureML 빠른 시작: Microsoft의 Azure Machine Learning 플랫폼에서 Ultralytics YOLO 모델을 바로 실행하는 방법을 알아봅니다. 클라우드에서 객체 감지 프로젝트를 학습하고 배포하며 확장하는 방법을 다룹니다.
- Modal 빠른 시작: Modal의 서버리스 클라우드 플랫폼에서 Ultralytics YOLO26을 실행하는 방법을 다루며, 인증, GPU 추론, 영구 스토리지를 사용하는 학습 작업을 포함합니다. 관리할 인프라가 필요하지 않습니다.
- 컴퓨터 비전 프로젝트 목표 정의: 컴퓨터 비전 프로젝트의 명확하고 측정 가능한 목표를 효과적으로 정의하는 방법을 단계별로 살펴봅니다. 잘 정의된 문제 설명의 중요성과 이것이 프로젝트의 로드맵을 만드는 방식을 알아봅니다.
- 컴퓨터 비전 프로젝트 단계: 목표 정의, 모델 선택, 데이터 준비, 결과 평가를 비롯해 컴퓨터 비전 프로젝트에 포함되는 주요 단계를 알아봅니다.
- YOLO 아키텍처 설명: 백본, 넥, 검출 헤드 전반에서 YOLOv3부터 YOLO26까지 YOLO 아키텍처가 발전해 온 과정을 추적하고, C2f, C3k2, C2PSA 어텐션, 앵커 프리 및 NMS 프리 설계를 다룹니다.
데이터 준비#
- 데이터 수집 및 어노테이션: 컴퓨터 비전 모델을 위한 고품질 입력을 생성하기 위해 데이터를 수집하고 어노테이션하는 도구, 기법, 모범 사례를 살펴봅니다.
- 어노테이션된 데이터 전처리: 이미지 크기 조정, 정규화, 데이터셋 분할, 데이터 증강, 탐색적 데이터 분석(EDA)을 포함하여 YOLO26을 사용한 컴퓨터 비전 데이터 전처리를 알아봅니다.
- YOLO 데이터 증강: 기본 변환부터 모델의 견고성과 성능을 향상시키는 고급 전략까지 YOLO의 전체 데이터 증강 기법을 익힙니다.
- COCO에서 YOLO로 변환: 학습을 위해 COCO JSON 어노테이션을 YOLO 형식으로 변환하는 전체 가이드입니다. 클래스 ID 매핑과 일반적인 변환 문제를 포함하여 감지, 세그멘테이션, 키포인트를 다룹니다.
- COCO JSON 학습: 사용자 정의 데이터셋 클래스와 트레이너를 사용하여 YOLO 형식으로 변환하지 않고 COCO JSON 어노테이션에서 직접 YOLO를 학습합니다.
학습 및 파인튜닝#
- 모델 학습 팁: 배치 크기 최적화, 혼합 정밀도 사용, 사전 학습된 가중치 적용 등을 통해 컴퓨터 비전 모델 학습을 간편하게 만드는 팁을 살펴봅니다.
- 사용자 정의 데이터로 YOLO 파인튜닝: 사전 학습된 가중치를 사용하여 사용자 정의 데이터셋에서 YOLO26을 파인튜닝하는 전체 가이드입니다. 전이 학습, 레이어 고정, 옵티마이저 선택, 2단계 학습, 문제 해결을 다룹니다.
- YOLO26 학습 레시피: COCO에서 공식 YOLO26 기본 체크포인트를 학습하는 데 사용된 하이퍼파라미터, 증강 파이프라인, 옵티마이저 설정을 상세히 설명하고 실용적인 파인튜닝 지침을 제공합니다.
- 하이퍼파라미터 튜닝: Tuner 클래스와 유전적 진화 알고리즘을 사용하여 하이퍼파라미터를 파인튜닝함으로써 YOLO 모델을 최적화하는 방법을 알아봅니다.
- 지식 증류: 특징 기반 증류를 사용하여 더 큰 교사 모델의 지식을 더 작은 학생 모델로 전이함으로써 모델 성능을 향상시키는 방법을 알아봅니다.
- K-Fold 교차 검증: K-Fold 교차 검증 기법을 사용하여 모델 일반화 성능을 향상시키는 방법을 알아봅니다.
- 트레이너 사용자 지정: YOLO 트레이너를 서브클래싱하여 사용자 지정 메트릭을 로깅하고, 클래스 가중치 손실을 추가하며, 모델 저장을 사용자 지정하고, 백본을 고정하거나 고정 해제하며, 레이어별 학습률을 설정하는 방법을 알아봅니다.
- 모델 YAML 구성 가이드: Ultralytics 모델 아키텍처 정의를 심층적으로 다루는 종합 가이드입니다. YAML 형식을 살펴보고, 모듈 확인 시스템을 이해하며, 사용자 지정 모듈을 원활하게 통합하는 방법을 알아봅니다.
평가 및 문제 해결#
- YOLO 성능 메트릭 ⭐ 필수: YOLO 모델의 성능을 평가하는 데 사용되는 mAP, IoU, F1 점수와 같은 주요 메트릭을 이해합니다. 감지 정확도와 속도를 개선하는 방법에 대한 실용적인 예제와 팁도 포함되어 있습니다.
- 모델 평가 및 파인튜닝 인사이트: mAP 및 IoU와 같은 메트릭으로 컴퓨터 비전 모델을 평가한 다음, 메트릭이 드러내는 정보를 바탕으로 감지 정확도를 개선합니다.
- 모델 테스트: 보지 못한 데이터에서 컴퓨터 비전 모델을 테스트하고, YOLO26 모델을 검증하며, 배포 전에 과적합, 과소적합, 데이터 누수를 발견하는 방법을 알아봅니다.
- YOLO 일반적인 문제 ⭐ 권장: Ultralytics YOLO 모델을 사용할 때 가장 자주 발생하는 문제에 대한 실용적인 해결 방법과 문제 해결 팁입니다.
- 컴퓨터 비전 모델 유지 관리: 정확성을 보장하고 이상을 발견하며 데이터 드리프트를 완화하기 위해 컴퓨터 비전 모델을 모니터링하고 유지 관리하며 문서화하는 주요 방법을 이해합니다.
배포 및 서빙#
- 모델 배포 옵션: ONNX, OpenVINO, TensorRT와 같은 YOLO 모델 배포 형식을 개괄하고, 배포 전략 수립에 도움이 되도록 각 형식의 장단점을 설명합니다.
- 모델 배포 모범 사례: 최적화, 문제 해결, 보안에 중점을 두고 컴퓨터 비전 프로젝트에서 모델을 효율적으로 배포하기 위한 팁과 모범 사례를 단계별로 살펴봅니다.
- 비-YOLO 모델 내보내기: Ultralytics 독립형 내보내기 유틸리티를 사용하여 모든
torch.nn.Module(timm, torchvision, 사용자 지정)을 ONNX, TorchScript, OpenVINO, CoreML, NCNN, MNN, PaddlePaddle, ExecuTorch, Core AI 및 TensorFlow SavedModel로 변환합니다. - 엔드투엔드 탐지: NMS 또는 NMS 없는 추론을 선택하고 출력 형식 및 내보내기 호환성을 이해하세요.
- Triton Inference Server 통합: 확장 가능하고 효율적인 딥러닝 추론 배포를 위해 Ultralytics YOLO26을 NVIDIA의 Triton Inference Server와 통합하는 방법을 심층적으로 살펴봅니다.
- YOLO 스레드 안전 추론: YOLO 모델로 스레드 안전한 방식으로 추론을 수행하기 위한 지침입니다. 스레드 안전성의 중요성과 경쟁 상태를 방지하고 일관된 예측을 보장하는 모범 사례를 알아봅니다.
- ROS 빠른 시작: 포인트 클라우드와 깊이 이미지를 포함하여 로보틱스 애플리케이션에서 실시간 객체 감지를 수행할 수 있도록 YOLO를 로봇 운영 체제(ROS)와 통합하는 방법을 알아봅니다.
- Docker를 사용한 Vertex AI 배포: Docker로 YOLO 모델을 컨테이너화하고 Google Cloud Vertex AI에 배포하는 간소화된 가이드입니다. 빌드, 푸시, 자동 확장, 모니터링을 다룹니다.
추론 최적화#
- SAHI 타일 추론: 고해상도 이미지에서 객체 감지를 수행하기 위해 YOLO26과 함께 SAHI의 슬라이스 추론 기능을 활용하는 종합 가이드입니다.
- OpenVINO 지연 시간 및 처리량 모드: YOLO 추론 성능을 극대화하기 위한 지연 시간 및 처리량 최적화 기법을 알아봅니다.
- NVIDIA DALI GPU 전처리: Triton Inference Server 통합과 함께 NVIDIA DALI를 사용하여 GPU에서 YOLO 레터박스 크기 조정, 패딩, 정규화를 실행함으로써 CPU 전처리 병목을 제거합니다.
- 세그멘테이션 객체 분리: Ultralytics 세그멘테이션을 사용하여 이미지에서 객체를 추출하거나 분리하는 방법을 단계별 레시피와 설명으로 제공합니다.
- 터미널에서 추론 이미지 보기: Remote Tunnel 또는 SSH 세션을 사용할 때 VSCode의 통합 터미널에서 추론 결과를 확인합니다.
엣지 및 임베디드 하드웨어#
- NVIDIA Jetson: NVIDIA Jetson 디바이스에 YOLO 모델을 배포하기 위한 빠른 시작 가이드입니다.
- Raspberry Pi: 최신 Raspberry Pi 하드웨어에서 YOLO 모델을 실행하기 위한 빠른 시작 튜토리얼입니다.
- NVIDIA Jetson의 DeepStream: DeepStream과 TensorRT를 사용하여 NVIDIA Jetson 디바이스에 YOLO 모델을 배포하기 위한 빠른 시작 가이드입니다.
- Raspberry Pi의 Edge TPU: Google Edge TPU는 Raspberry Pi에서 YOLO 추론을 가속합니다.
- NVIDIA DGX Spark: NVIDIA DGX Spark 디바이스에 YOLO 모델을 배포하기 위한 빠른 시작 가이드입니다.
- Intel의 DL Streamer: DL Streamer와 OpenVINO™를 사용하여 Intel Core Ultra Series 3 디바이스에 YOLO26 모델을 배포하기 위한 빠른 시작 가이드입니다.
가이드에 기여하기#
커뮤니티의 기여를 환영합니다! Ultralytics YOLO의 특정 측면을 숙달했지만 아직 가이드에서 다루지 않은 내용이 있다면 전문 지식을 공유해 주시기 바랍니다. 가이드를 작성하는 것은 커뮤니티에 기여하고 문서를 더욱 종합적이고 사용자 친화적으로 만드는 데 도움이 되는 좋은 방법입니다.
시작하려면 기여 가이드를 읽고 Pull Request (PR)를 제출하는 방법에 대한 지침을 확인해 주세요. 새 가이드를 추가할 때는 프로젝트 단계에 맞는 위의 카테고리에 배치하고, 컬렉션을 쉽게 탐색할 수 있도록 단계별 튜토리얼, 작업 중심의 방법 안내, 참조 문서 중 하나의 단일 페이지 유형으로 작성해 주세요. 여러분의 기여를 기다리겠습니다.
FAQ#
Ultralytics YOLO로 사용자 정의 객체 감지 모델을 학습하는 작업은 간단합니다. 먼저 데이터셋을 올바른 형식으로 준비하고 Ultralytics 패키지를 설치합니다. 다음 코드를 사용하여 학습을 시작합니다:
예시from ultralytics import YOLO model = YOLO("yolo26n.pt") # Load a pretrained YOLO model model.train(data="path/to/dataset.yaml", epochs=50) # Train on custom dataset자세한 데이터셋 형식과 추가 옵션은 모델 학습 팁 가이드를 참조하세요.
YOLO 모델의 성능을 평가하는 것은 모델의 효과를 이해하는 데 매우 중요합니다. 주요 메트릭에는 평균 정밀도 (mAP), 교집합 대비 합집합 (IoU), F1 점수가 포함됩니다. 이러한 메트릭은 객체 감지 작업의 정확도와 정밀도를 평가하는 데 도움이 됩니다. 이러한 메트릭과 모델 개선 방법에 대한 자세한 내용은 YOLO 성능 메트릭 가이드에서 확인할 수 있습니다.
Ultralytics Platform은 YOLO 모델의 관리, 학습, 배포를 간소화하는 노코드 플랫폼입니다. 원활한 통합, 실시간 추적, 클라우드 학습을 지원하므로 초보자와 전문가 모두에게 적합합니다. Ultralytics Platform 빠른 시작 가이드에서 기능과 워크플로를 간소화하는 방법을 자세히 알아보세요.
YOLO 모델 학습 중 흔히 발생하는 문제로는 데이터 형식 오류, 모델 아키텍처 불일치, 부족한 학습 데이터 등이 있습니다. 이러한 문제를 해결하려면 데이터셋의 형식이 올바른지 확인하고, 호환되는 모델 버전을 점검하며, 학습 데이터를 증강하세요. 해결 방법의 전체 목록은 YOLO 일반적인 문제 가이드를 참조하세요.
NVIDIA Jetson 및 Raspberry Pi와 같은 엣지 디바이스에 YOLO 모델을 배포하려면 모델을 TensorRT 또는 LiteRT와 같은 호환 형식으로 변환해야 합니다. NVIDIA Jetson 및 Raspberry Pi 배포 단계별 가이드를 따라 엣지 하드웨어에서 실시간 객체 감지를 시작해 보세요. 이 가이드에서는 설치, 구성, 성능 최적화 과정을 안내합니다.