Câu hỏi thường gặp (FAQ) về Ultralytics YOLO#
Phần câu hỏi thường gặp này giải đáp các câu hỏi và vấn đề phổ biến mà người dùng có thể gặp phải khi làm việc với các repository Ultralytics YOLO tại Ultralytics.
Câu hỏi thường gặp#
Ultralytics là công ty AI về thị giác máy tính, chuyên về các model phát hiện đối tượng và phân đoạn ảnh tiên tiến, tập trung vào dòng YOLO (You Only Look Once). Các sản phẩm của Ultralytics bao gồm:
- Các bản triển khai mã nguồn mở của YOLO26 (phiên bản mới nhất) và YOLO11 (thế hệ trước)
- Nhiều loại model pretrained cho các tác vụ thị giác máy tính khác nhau
- Một package Python toàn diện giúp tích hợp liền mạch các model YOLO vào dự án
- Các công cụ đa năng để huấn luyện, kiểm thử và triển khai model
- Tài liệu toàn diện và cộng đồng hỗ trợ nhiệt tình
Có thể dễ dàng cài đặt package Ultralytics bằng pip:
pip install ultralyticsĐể cài phiên bản phát triển mới nhất, hãy cài đặt trực tiếp từ repository GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitBạn có thể xem hướng dẫn cài đặt chi tiết trong hướng dẫn bắt đầu nhanh.
Yêu cầu tối thiểu:
- Python 3.8+
- PyTorch 1.8+
- GPU tương thích với CUDA (để tăng tốc GPU)
Cấu hình khuyến nghị:
- Python 3.8+
- PyTorch 1.10+
- GPU NVIDIA có CUDA 11.2+
- RAM từ 8GB
- Dung lượng đĩa trống từ 50GB (để lưu dataset và huấn luyện model)
Để khắc phục các vấn đề thường gặp, hãy truy cập trang Các vấn đề thường gặp về YOLO.
Để huấn luyện model YOLO tùy chỉnh:
-
Chuẩn bị dataset theo định dạng YOLO (ảnh và các tệp txt nhãn tương ứng).
-
Tạo tệp YAML mô tả cấu trúc dataset và các lớp của bạn (xem ví dụ YAML về dataset).
-
Sử dụng code Python sau để bắt đầu huấn luyện:
from ultralytics import YOLO # Tải model model = YOLO("yolo26n.yaml") # xây dựng model mới từ đầu model = YOLO("yolo26n.pt") # tải model đã huấn luyện trước (được khuyến nghị khi huấn luyện) # Huấn luyện model results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
Để xem hướng dẫn chuyên sâu hơn, bao gồm chuẩn bị dữ liệu và các tùy chọn huấn luyện nâng cao, hãy tham khảo hướng dẫn huấn luyện toàn diện.
-
Ultralytics cung cấp nhiều loại model pretrained cho các tác vụ khác nhau:
- Phát hiện đối tượng: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Phân đoạn instance: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- Phân đoạn ngữ nghĩa: YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
- Ước tính độ sâu: YOLO26n-depth, YOLO26s-depth, YOLO26m-depth, YOLO26l-depth, YOLO26x-depth
- Phân loại: YOLO26n-cls, YOLO26s-cls, YOLO26m-cls, YOLO26l-cls, YOLO26x-cls
- Ước tính tư thế: YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, YOLO26l-pose, YOLO26x-pose
- Phát hiện đối tượng có định hướng (OBB): YOLO26n-obb, YOLO26s-obb, YOLO26m-obb, YOLO26l-obb, YOLO26x-obb
Các model này khác nhau về kích thước và độ phức tạp, tạo ra những lựa chọn cân bằng khác nhau giữa tốc độ và độ chính xác. Khám phá đầy đủ các model pretrained để tìm model phù hợp nhất với dự án của bạn.
Để thực hiện inference bằng model đã huấn luyện:
from ultralytics import YOLO # Tải model model = YOLO("path/to/your/model.pt") # Thực hiện suy luận results = model("path/to/image.jpg") # # Xử lý kết quả for r in results: print(r.boxes) # in dự đoán bbox print(r.masks) # in dự đoán mask print(r.probs) # in xác suất lớpĐể xem các tùy chọn inference nâng cao, bao gồm xử lý theo batch và inference video, hãy tham khảo hướng dẫn dự đoán chi tiết.
Hoàn toàn có thể! Model Ultralytics được thiết kế để triển khai linh hoạt trên nhiều nền tảng:
- Thiết bị edge: Tối ưu inference trên các thiết bị như NVIDIA Jetson hoặc Raspberry Pi bằng TensorRT, ONNX hoặc OpenVINO.
- Thiết bị di động: Triển khai trên Android hoặc iOS bằng cách chuyển đổi model sang LiteRT hoặc CoreML.
- Cloud: Tận dụng các framework như TensorFlow Serving hoặc TorchServe để triển khai trên cloud có khả năng mở rộng.
- Web: Triển khai suy luận trên trình duyệt bằng ONNX Runtime Web.
Ultralytics cung cấp các hàm export để chuyển đổi model sang nhiều định dạng khác nhau nhằm triển khai. Khám phá các tùy chọn triển khai đa dạng để tìm giải pháp phù hợp nhất với trường hợp sử dụng của bạn.
Các điểm khác biệt chính gồm:
- Suy luận đầu cuối không cần NMS: YOLO26 hỗ trợ suy luận không cần NMS với
nms=False. Nhánh one-to-many mặc định sử dụng NMS để đạt độ chính xác cao. - Loại bỏ DFL: YOLO26 loại bỏ module Distribution Focal Loss, giúp đơn giản hóa quá trình export và cải thiện khả năng tương thích với thiết bị biên và thiết bị công suất thấp.
- Optimizer MuSGD: Kết hợp SGD và Muon (lấy cảm hứng từ Kimi K2 của Moonshot AI) để huấn luyện ổn định hơn và hội tụ nhanh hơn.
- Hiệu năng CPU: YOLO26n chạy nhanh hơn tới 43% so với YOLO11n khi suy luận ONNX trên CPU (Intel Xeon CPU @ 2.00 GHz), phù hợp với các thiết bị không có GPU.
- Tối ưu hóa theo tác vụ: Cải thiện phân đoạn bằng semantic loss và proto đa tỷ lệ, sử dụng RLE để ước tính pose chính xác, đồng thời cải thiện giải mã OBB bằng angle loss.
- Tác vụ: Cả hai model đều hỗ trợ phát hiện đối tượng và phân đoạn instance, trong khi YOLO26 còn bổ sung phân đoạn ngữ nghĩa để dự đoán dày đặc ở cấp pixel và ước tính độ sâu đơn ảnh để xác định độ sâu cho từng pixel. Cả hai model cũng hỗ trợ phân loại, ước tính pose và phát hiện đối tượng có định hướng (OBB) trong một framework thống nhất.
Để so sánh chuyên sâu các tính năng và chỉ số hiệu năng, hãy truy cập trang tài liệu YOLO26.
- Suy luận đầu cuối không cần NMS: YOLO26 hỗ trợ suy luận không cần NMS với
Đóng góp cho Ultralytics là cách tuyệt vời để cải thiện dự án và phát triển kỹ năng của bạn. Sau đây là cách bạn có thể tham gia:
- Fork repository Ultralytics trên GitHub.
- Tạo một branch mới cho tính năng hoặc bản sửa lỗi của bạn.
- Thực hiện các thay đổi và đảm bảo tất cả bài kiểm thử đều thành công.
- Gửi pull request kèm mô tả rõ ràng về các thay đổi.
- Tham gia quy trình review code.
Bạn cũng có thể đóng góp bằng cách báo cáo lỗi, đề xuất tính năng hoặc cải thiện tài liệu. Để biết hướng dẫn chi tiết và các phương pháp tốt nhất, hãy tham khảo hướng dẫn đóng góp.
Ultralytics YOLO sở hữu bộ tính năng phong phú cho các tác vụ computer vision nâng cao:
- Phát hiện thời gian thực: Phát hiện và phân loại đối tượng hiệu quả trong các tình huống thời gian thực.
- Khả năng đa tác vụ: Thực hiện phát hiện đối tượng, phân đoạn instance, phân đoạn ngữ nghĩa, ước tính độ sâu đơn ảnh, phân loại, ước tính pose và phát hiện đối tượng có định hướng (OBB) bằng một framework thống nhất.
- Model được huấn luyện trước: Truy cập nhiều model được huấn luyện trước cân bằng giữa tốc độ và độ chính xác cho các trường hợp sử dụng khác nhau.
- Huấn luyện tùy chỉnh: Dễ dàng fine-tune model trên dataset tùy chỉnh bằng pipeline huấn luyện linh hoạt.
- Nhiều tùy chọn triển khai: Export model sang nhiều định dạng như TensorRT, ONNX và CoreML để triển khai trên các nền tảng khác nhau.
- Tài liệu toàn diện: Tận dụng tài liệu đầy đủ và cộng đồng hỗ trợ tích cực cho quy trình computer vision của bạn.
Bạn có thể cải thiện hiệu năng model YOLO bằng một số kỹ thuật:
- Tuning hyperparameter: Thử nghiệm các hyperparameter khác nhau bằng Hướng dẫn tuning hyperparameter để tối ưu hiệu năng model.
- Tăng cường dữ liệu: Áp dụng các kỹ thuật như lật, thay đổi tỷ lệ, xoay và điều chỉnh màu sắc để làm phong phú dataset huấn luyện và cải thiện khả năng tổng quát hóa của model.
- Transfer learning: Tận dụng model được huấn luyện trước và fine-tune trên dataset cụ thể của bạn bằng hướng dẫn Huấn luyện.
- Export sang định dạng tối ưu: Chuyển đổi model sang các định dạng đã tối ưu như TensorRT hoặc ONNX để suy luận nhanh hơn bằng hướng dẫn Export.
- Benchmark: Sử dụng Chế độ Benchmark để đo lường và cải thiện tốc độ cũng như độ chính xác suy luận một cách có hệ thống.
Ultralytics cung cấp nhiều tài nguyên giúp bạn bắt đầu và thành thạo các công cụ:
- 📚 Tài liệu chính thức: Hướng dẫn toàn diện, tài liệu tham khảo API và các phương pháp tốt nhất.
- 💻 Repository GitHub: Mã nguồn, script ví dụ và đóng góp từ cộng đồng.
- ✍️ Blog Ultralytics: Bài viết chuyên sâu, trường hợp sử dụng và thông tin kỹ thuật.
- 💬 Diễn đàn cộng đồng: Kết nối với người dùng khác, đặt câu hỏi và chia sẻ trải nghiệm.
- 🎥 Kênh YouTube: Video hướng dẫn, bản demo và hội thảo trực tuyến về nhiều chủ đề Ultralytics.
Các tài nguyên này cung cấp ví dụ code, trường hợp sử dụng thực tế và hướng dẫn từng bước cho nhiều tác vụ sử dụng model Ultralytics.
Nếu cần hỗ trợ thêm, hãy tham khảo tài liệu Ultralytics hoặc liên hệ cộng đồng qua GitHub Issues hoặc diễn đàn thảo luận chính thức.