Các hướng dẫn toàn diện về Ultralytics YOLO#
Chào mừng bạn đến với các hướng dẫn về YOLO của Ultralytics. Các hướng dẫn toàn diện của chúng tôi bao quát nhiều khía cạnh của model phát hiện đối tượng YOLO, từ huấn luyện và dự đoán đến triển khai. Được xây dựng trên PyTorch, YOLO nổi bật với tốc độ và độ chính xác vượt trội trong các tác vụ phát hiện đối tượng theo thời gian thực.
Dù bạn là người mới bắt đầu hay chuyên gia về deep learning, các hướng dẫn của chúng tôi cung cấp những kiến thức hữu ích về triển khai và tối ưu hóa YOLO cho các dự án computer vision của bạn.
Watch: Ultralytics YOLO26 Guides Overview
Hướng dẫn#
Các hướng dẫn được nhóm theo từng giai đoạn của dự án — từ thiết lập môi trường và chuẩn bị dữ liệu đến huấn luyện, đánh giá, triển khai, tối ưu hóa inference và phần cứng edge — để bạn có thể chuyển thẳng đến bước đang thực hiện.
Bắt đầu và lập kế hoạch#
- Conda Quickstart: Hướng dẫn từng bước để thiết lập môi trường Conda cho Ultralytics. Tìm hiểu cách cài đặt và bắt đầu sử dụng package Ultralytics hiệu quả với Conda.
- Docker Quickstart: Hướng dẫn đầy đủ để thiết lập và sử dụng các model Ultralytics YOLO với Docker. Tìm hiểu cách cài đặt Docker, quản lý hỗ trợ GPU và chạy các model YOLO trong các container cô lập để đảm bảo quy trình phát triển và triển khai nhất quán.
- AzureML Quickstart: Bắt đầu sử dụng các model Ultralytics YOLO trên nền tảng Machine Learning Azure của Microsoft. Tìm hiểu cách huấn luyện, triển khai và scale các dự án phát hiện đối tượng trên cloud.
- Modal Quickstart: Chạy Ultralytics YOLO26 trên nền tảng cloud serverless của Modal, bao quát xác thực, inference trên GPU và các job huấn luyện với storage lâu dài — không cần quản lý hạ tầng.
- Xác định mục tiêu của dự án Computer Vision: Tìm hiểu cách xác định hiệu quả các mục tiêu rõ ràng và có thể đo lường cho dự án computer vision của bạn. Tìm hiểu tầm quan trọng của một phát biểu bài toán được xác định rõ và cách nó tạo ra lộ trình cho dự án.
- Các bước của một dự án Computer Vision: Tìm hiểu các bước chính trong một dự án computer vision, bao gồm xác định mục tiêu, lựa chọn model, chuẩn bị dữ liệu và đánh giá kết quả.
- Giải thích kiến trúc YOLO: Theo dõi quá trình phát triển của kiến trúc YOLO từ YOLOv3 đến YOLO26 qua backbone, neck và detection head, bao quát C2f, C3k2, attention C2PSA, thiết kế anchor-free và NMS-free.
Chuẩn bị dữ liệu#
- Thu thập và gán nhãn dữ liệu: Khám phá các công cụ, kỹ thuật và best practice để thu thập và gán nhãn dữ liệu, nhằm tạo ra đầu vào chất lượng cao cho các model computer vision.
- Tiền xử lý dữ liệu đã gán nhãn: Tìm hiểu về tiền xử lý dữ liệu cho computer vision với YOLO26, bao gồm thay đổi kích thước ảnh, chuẩn hóa, chia dataset, tăng cường dữ liệu và phân tích dữ liệu khám phá (EDA).
- Tăng cường dữ liệu YOLO: Nắm vững toàn bộ các kỹ thuật tăng cường dữ liệu trong YOLO, từ các phép biến đổi cơ bản đến những chiến lược nâng cao để cải thiện độ robust và hiệu năng của model.
- Chuyển đổi COCO sang YOLO: Hướng dẫn đầy đủ để chuyển đổi annotation COCO JSON sang format YOLO phục vụ huấn luyện. Bao quát detection, segmentation và keypoint, bao gồm ánh xạ class ID và các lỗi thường gặp khi chuyển đổi.
- Huấn luyện với COCO JSON: Huấn luyện YOLO trực tiếp trên annotation COCO JSON mà không cần chuyển sang format YOLO, sử dụng custom dataset class và trainer.
Huấn luyện và fine-tune#
- Mẹo huấn luyện model: Khám phá các mẹo tối ưu batch size, sử dụng mixed precision, áp dụng pretrained weight và nhiều hơn nữa để đơn giản hóa việc huấn luyện model computer vision.
- Fine-tune YOLO trên dữ liệu tùy chỉnh: Hướng dẫn đầy đủ để fine-tune YOLO26 trên các dataset tùy chỉnh với pretrained weight, bao quát transfer learning, đóng băng layer, lựa chọn optimizer, huấn luyện hai giai đoạn và khắc phục sự cố.
- Recipe huấn luyện YOLO26: Tài liệu đầy đủ về các hyperparameter, pipeline tăng cường dữ liệu và thiết lập optimizer được sử dụng để huấn luyện các base checkpoint YOLO26 chính thức trên COCO, kèm hướng dẫn fine-tune thực tế.
- Tinh chỉnh hyperparameter: Khám phá cách tối ưu các model YOLO bằng cách fine-tune hyperparameter với class Tuner và các thuật toán tiến hóa di truyền.
- Knowledge Distillation: Tìm hiểu cách cải thiện hiệu năng model bằng cách chuyển giao kiến thức từ một teacher model lớn hơn sang một student model nhỏ hơn thông qua distillation dựa trên feature.
- Cross-validation K-Fold: Tìm hiểu cách cải thiện khả năng tổng quát hóa của model bằng kỹ thuật cross-validation K-Fold.
- Tùy chỉnh Trainer: Tìm hiểu cách subclass trainer của YOLO để log metric tùy chỉnh, thêm loss có trọng số theo class, tùy chỉnh việc lưu model, đóng băng/bỏ đóng băng backbone và thiết lập learning rate theo từng layer.
- Hướng dẫn cấu hình YAML của model: Phân tích chuyên sâu toàn diện về các định nghĩa kiến trúc model của Ultralytics. Khám phá format YAML, tìm hiểu hệ thống phân giải module và cách tích hợp liền mạch các module tùy chỉnh.
Đánh giá và khắc phục sự cố#
- Metric hiệu năng YOLO ⭐ THIẾT YẾU: Tìm hiểu các metric chính như mAP, IoU và điểm F1 được sử dụng để đánh giá hiệu năng của các model YOLO. Bao gồm các ví dụ thực tế và mẹo cải thiện độ chính xác cũng như tốc độ detection.
- Thông tin chuyên sâu về đánh giá và fine-tune model: Đánh giá các model computer vision bằng các metric như mAP và IoU, sau đó dựa trên những gì metric cho thấy để cải thiện độ chính xác detection.
- Kiểm thử model: Tìm hiểu cách kiểm thử các model computer vision trên dữ liệu chưa từng thấy, validation các model YOLO26 và phát hiện overfitting, underfitting cũng như data leakage trước khi triển khai.
- Các vấn đề thường gặp với YOLO ⭐ KHUYẾN NGHỊ: Các giải pháp thực tế và mẹo khắc phục sự cố cho những vấn đề thường gặp nhất khi làm việc với các model Ultralytics YOLO.
- Duy trì model Computer Vision: Tìm hiểu các practice chính để giám sát, duy trì và lập tài liệu cho các model computer vision nhằm đảm bảo độ chính xác, phát hiện bất thường và giảm thiểu data drift.
Triển khai và cung cấp dịch vụ#
- Các tùy chọn triển khai model: Tổng quan về các format triển khai model YOLO như ONNX, OpenVINO và TensorRT, cùng ưu nhược điểm của từng format để định hướng chiến lược triển khai.
- Best practice khi triển khai model: Hướng dẫn các mẹo và best practice để triển khai hiệu quả các model trong những dự án computer vision, tập trung vào tối ưu hóa, khắc phục sự cố và bảo mật.
- Export Non-YOLO Models: Sử dụng các tiện ích xuất độc lập của Ultralytics để chuyển đổi bất kỳ
torch.nn.Module(timm, torchvision, tùy chỉnh) nào sang ONNX, TorchScript, OpenVINO, CoreML, NCNN, MNN, PaddlePaddle, ExecuTorch, Core AI và TensorFlow SavedModel. - End-to-End Detection: Chọn suy luận dùng NMS hoặc không dùng NMS, đồng thời tìm hiểu các định dạng đầu kết quả và khả năng tương thích khi xuất.
- Tích hợp Triton Inference Server: Tìm hiểu chuyên sâu về việc tích hợp Ultralytics YOLO26 với Triton Inference Server của NVIDIA để triển khai inference deep learning có khả năng scale và hiệu quả.
- Inference YOLO an toàn với thread: Hướng dẫn thực hiện inference với các model YOLO theo cách an toàn với thread. Tìm hiểu tầm quan trọng của thread safety và các best practice để ngăn race condition cũng như đảm bảo prediction nhất quán.
- ROS Quickstart: Tìm hiểu cách tích hợp YOLO với Hệ điều hành robot (ROS) để phát hiện đối tượng theo thời gian thực trong các ứng dụng robot, bao gồm Point Cloud và ảnh Depth.
- Triển khai Vertex AI với Docker: Hướng dẫn tinh gọn để container hóa các model YOLO bằng Docker và triển khai trên Google Cloud Vertex AI — bao quát build, push, autoscaling và monitoring.
Tối ưu hóa inference#
- Inference dạng tile với SAHI: Hướng dẫn toàn diện về cách tận dụng khả năng sliced inference của SAHI với YOLO26 để phát hiện đối tượng trong ảnh độ phân giải cao.
- Các chế độ latency và throughput của OpenVINO: Tìm hiểu các kỹ thuật tối ưu latency và throughput để đạt hiệu năng inference YOLO cao nhất.
- Tiền xử lý GPU với NVIDIA DALI: Loại bỏ các bottleneck tiền xử lý trên CPU bằng cách chạy resize letterbox, padding và normalization của YOLO trên GPU sử dụng NVIDIA DALI, với tích hợp Triton Inference Server.
- Cô lập các đối tượng segmentation: Recipe từng bước và phần giải thích về cách trích xuất và/hoặc cô lập các đối tượng khỏi ảnh bằng Ultralytics Segmentation.
- Xem ảnh inference trong terminal: Sử dụng terminal tích hợp của VSCode để xem kết quả inference khi sử dụng Remote Tunnel hoặc session SSH.
Phần cứng edge và nhúng#
- NVIDIA Jetson: Hướng dẫn quickstart để triển khai các model YOLO trên thiết bị NVIDIA Jetson.
- Raspberry Pi: Hướng dẫn quickstart để chạy các model YOLO trên phần cứng Raspberry Pi mới nhất.
- DeepStream trên NVIDIA Jetson: Hướng dẫn quickstart để triển khai các model YOLO trên thiết bị NVIDIA Jetson bằng DeepStream và TensorRT.
- Edge TPU trên Raspberry Pi: Google Edge TPU tăng tốc inference YOLO trên Raspberry Pi.
- NVIDIA DGX Spark: Hướng dẫn quickstart để triển khai các model YOLO trên thiết bị NVIDIA DGX Spark.
- DL Streamer trên Intel: Hướng dẫn quickstart để triển khai các model YOLO26 trên thiết bị Intel Core Ultra Series 3 bằng DL Streamer và OpenVINO™.
Đóng góp cho các hướng dẫn#
Chúng tôi hoan nghênh những đóng góp từ cộng đồng! Nếu bạn đã thành thạo một khía cạnh cụ thể của Ultralytics YOLO nhưng khía cạnh đó chưa được đề cập trong các hướng dẫn của chúng tôi, chúng tôi khuyến khích bạn chia sẻ chuyên môn của mình. Viết một hướng dẫn là cách tuyệt vời để đóng góp cho cộng đồng và giúp chúng tôi làm cho tài liệu toàn diện, dễ sử dụng hơn.
Để bắt đầu, vui lòng đọc Hướng dẫn đóng góp của chúng tôi để biết cách mở Pull Request (PR). Khi thêm một hướng dẫn mới, hãy đặt hướng dẫn đó dưới danh mục ở trên phù hợp với giai đoạn dự án và giới hạn ở một loại trang duy nhất — tutorial từng bước, how-to tập trung vào một tác vụ hoặc reference — để bộ sưu tập luôn dễ duyệt khi phát triển. Chúng tôi mong đợi những đóng góp của bạn.
FAQ#
Huấn luyện model phát hiện đối tượng tùy chỉnh với Ultralytics YOLO rất đơn giản. Bắt đầu bằng cách chuẩn bị dataset đúng format và cài đặt package Ultralytics. Sử dụng đoạn code sau để bắt đầu huấn luyện:
Ví dụ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Để biết chi tiết về format dataset và các tùy chọn bổ sung, hãy tham khảo hướng dẫn Mẹo huấn luyện model của chúng tôi.
Đánh giá hiệu năng model YOLO rất quan trọng để hiểu hiệu quả của model. Các metric chính bao gồm Mean Average Precision (mAP), Intersection over Union (IoU) và điểm F1. Những metric này giúp đánh giá độ chính xác và precision của các tác vụ phát hiện đối tượng. Bạn có thể tìm hiểu thêm về các metric này và cách cải thiện model trong hướng dẫn Metric hiệu năng YOLO của chúng tôi.
Ultralytics Platform là nền tảng no-code giúp đơn giản hóa việc quản lý, huấn luyện và triển khai các model YOLO. Nền tảng hỗ trợ tích hợp liền mạch, theo dõi theo thời gian thực và huấn luyện trên cloud, phù hợp cho cả người mới bắt đầu lẫn chuyên gia. Tìm hiểu thêm về các tính năng và cách nền tảng tối ưu hóa workflow của bạn trong hướng dẫn quickstart Ultralytics Platform của chúng tôi.
Các vấn đề thường gặp trong quá trình huấn luyện model YOLO bao gồm lỗi format dữ liệu, không tương thích kiến trúc model và thiếu dữ liệu huấn luyện. Để xử lý, hãy đảm bảo dataset được format đúng, kiểm tra các phiên bản model tương thích và tăng cường dữ liệu huấn luyện. Để xem danh sách giải pháp toàn diện, hãy tham khảo hướng dẫn Các vấn đề thường gặp với YOLO của chúng tôi.
Triển khai các model YOLO trên những thiết bị edge như NVIDIA Jetson và Raspberry Pi yêu cầu chuyển đổi model sang format tương thích như TensorRT hoặc LiteRT. Hãy làm theo các hướng dẫn từng bước về triển khai NVIDIA Jetson và Raspberry Pi của chúng tôi để bắt đầu phát hiện đối tượng theo thời gian thực trên phần cứng edge. Các hướng dẫn này sẽ hướng dẫn bạn qua quá trình cài đặt, cấu hình và tối ưu hiệu năng.