Các câu hỏi thường gặp (FAQ) về Ultralytics YOLO
Phần FAQ 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 kho lưu trữ Ultralytics YOLO.
Câu hỏi thường gặp (FAQ)
Ultralytics là gì và cung cấp những gì?
Ultralytics là một công ty AI computer vision chuyên về các model phát hiện đối tượng và image segmentation hiện đại, tập trung vào dòng YOLO (You Only Look Once). Các sản phẩm của họ bao gồm:
- Các bản triển khai mã nguồn mở của YOLO26 (mới nhất) và YOLO11 (thế hệ trước)
- Nhiều pretrained models cho các tác vụ computer vision khác nhau
- Một Python package toàn diện giúp tích hợp liền mạch các model YOLO vào các dự án
- Các tools đa năng để huấn luyện, kiểm thử và triển khai model
- Extensive documentation và một cộng đồng hỗ trợ
Làm thế nào để cài đặt package Ultralytics?
Việc cài đặt package Ultralytics rất đơn giản khi sử dụng pip:
pip install ultralyticsĐối với phiên bản phát triển mới nhất, hãy cài đặt trực tiếp từ kho lưu trữ GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitHướng dẫn cài đặt chi tiết có thể được tìm thấy trong quickstart guide.
Yêu cầu hệ thống để chạy các model Ultralytics là gì?
Yêu cầu tối thiểu:
- Python 3.8+
- PyTorch 1.8+
- GPU hỗ trợ CUDA (để tăng tốc GPU)
Cấu hình khuyến nghị:
- Python 3.8+
- PyTorch 1.10+
- NVIDIA GPU với CUDA 11.2+
- 8GB+ RAM
- 50GB+ dung lượng đĩa trống (để lưu trữ dataset và huấn luyện model)
Để khắc phục các sự cố thường gặp, hãy truy cập trang YOLO Common Issues.
Làm thế nào để huấn luyện model YOLO tùy chỉnh trên dataset riêng của tôi?
Để huấn luyện một model YOLO tùy chỉnh:
-
Chuẩn bị dataset theo YOLO format (hình ảnh và các file txt nhãn tương ứng).
-
Tạo một file YAML mô tả cấu trúc dataset và các class của bạn (xem dataset YAML example).
-
Sử dụng đoạn mã Python sau để bắt đầu huấn luyện:
from ultralytics import YOLO # Load a model model = YOLO("yolo26n.yaml") # build a new model from scratch model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
Để có 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 training guide toàn diện.
Những pretrained models nào có sẵn trong Ultralytics?
Ultralytics cung cấp đa dạng các pretrained models cho nhiều tác vụ khác nhau:
- Phát hiện đối tượng: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Instance Segmentation: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- 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 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, mang lại sự cân bằng khác nhau giữa tốc độ và accuracy. Hãy khám phá toàn bộ pretrained models để tìm ra loại phù hợp nhất cho dự án của bạn.
Làm thế nào để thực hiện inference bằng model Ultralytics đã huấn luyện?
Để thực hiện inference với một model đã huấn luyện:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/your/model.pt")
# Perform inference
results = model("path/to/image.jpg")
# Process results
for r in results:
print(r.boxes) # print bbox predictions
print(r.masks) # print mask predictions
print(r.probs) # print class probabilitiesĐối với các tùy chọn inference nâng cao, bao gồm xử lý theo lô (batch) và inference video, hãy xem prediction guide chi tiết.
Các model Ultralytics có thể được triển khai trên thiết bị biên (edge device) hoặc trong môi trường sản xuất không?
Chắc chắn rồi! Các model Ultralytics được thiết kế để triển khai linh hoạt trên nhiều nền tảng:
- Thiết bị biên: Tối ưu hóa inference trên các thiết bị như NVIDIA Jetson hoặc Intel Neural Compute Stick sử dụng TensorRT, ONNX hoặc OpenVINO.
- Di động: Triển khai trên các thiết bị Android hoặc iOS bằng cách chuyển đổi model sang TFLite hoặc Core ML.
- Đám mây: Tận dụng các framework như TensorFlow Serving hoặc PyTorch Serve để triển khai đám mây có khả năng mở rộng.
- Web: Triển khai inference ngay trên trình duyệt bằng cách sử dụng ONNX.js hoặc TensorFlow.js.
Ultralytics cung cấp các hàm export để chuyển đổi model sang nhiều định dạng phục vụ triển khai. Hãy khám phá deployment options đa dạng để tìm ra giải pháp tối ưu cho trường hợp sử dụng của bạn.
Sự khác biệt giữa YOLO11 và YOLO26 là gì?
Các điểm khác biệt chính bao gồm:
- End-to-End NMS-Free Inference: YOLO26 vốn là end-to-end, tạo ra các dự đoán trực tiếp mà không cần NMS (non-maximum suppression), giúp giảm độ trễ và đơn giản hóa việc triển khai.
- Loại bỏ DFL: YOLO26 loại bỏ module Distribution Focal Loss, giúp đơn giản hóa việc export và cải thiện khả năng tương thích với các thiết bị biên và thiết bị công suất thấp.
- Bộ tối ưu hóa MuSGD: Một sự kết hợp giữa SGD và Muon (lấy cảm hứng từ Kimi K2 của Moonshot AI) cho quá trình huấn luyện ổn định hơn và hội tụ nhanh hơn.
- Hiệu suất CPU: YOLO26 mang lại hiệu suất inference trên CPU nhanh hơn tới 43%, rất lý tưởng cho các thiết bị không có GPU.
- Tối ưu hóa tác vụ cụ thể: Cải thiện segmentation với semantic loss và multi-scale protos, RLE cho ước tính tư thế chính xác và giải mã OBB cải tiến với angle loss.
- Các tác vụ: Cả hai model đều hỗ trợ object detection, instance segmentation, phân loại, ước tính tư thế và phát hiện đối tượng có định hướng (OBB) trong một framework hợp nhất.
Để có sự so sánh chuyên sâu về các tính năng và chỉ số hiệu suất, hãy truy cập YOLO26 documentation page.
Làm thế nào để đóng góp cho dự án mã nguồn mở Ultralytics?
Đóng góp cho Ultralytics là một cách tuyệt vời để cải thiện dự án và mở rộng kỹ năng của bạn. Dưới đây là cách bạn có thể tham gia:
- Fork kho lưu trữ Ultralytics trên GitHub.
- Tạo một branch mới cho tính năng hoặc sửa lỗi của bạn.
- Thực hiện các thay đổi và đảm bảo tất cả các bài kiểm tra đều vượt qua.
- Gửi một pull request với mô tả rõ ràng về các thay đổi của bạn.
- Tham gia vào quy trình đánh giá 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 thực tiễn tốt nhất, hãy tham khảo contributing guide.
Làm thế nào để cài đặt package Ultralytics trong Python?
Việc cài đặt package Ultralytics trong Python rất đơn giản. Sử dụng pip bằng cách chạy lệnh sau trong terminal hoặc command prompt của bạn:
pip install ultralyticsĐối với phiên bản phát triển tiên tiến, hãy cài đặt trực tiếp từ kho lưu trữ GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitĐể biết hướng dẫn cài đặt cho từng môi trường cụ thể và các mẹo khắc phục sự cố, hãy tham khảo quickstart guide toàn diện.
Các tính năng chính của Ultralytics YOLO là gì?
Ultralytics YOLO sở hữu một 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 kịch bản thời gian thực.
- Khả năng đa tác vụ: Thực hiện phát hiện đối tượng, instance segmentation, phân loại và ước tính tư thế với một framework hợp nhất.
- Pretrained Models: Truy cập nhiều pretrained models 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 tinh chỉnh (fine-tune) các model trên dataset tùy chỉnh với training pipeline linh hoạt.
- Nhiều Deployment Options: 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 mở rộng: Hưởng lợi từ documentation toàn diện và một cộng đồng hỗ trợ cho các quy trình làm việc computer vision của bạn.
Làm thế nào để cải thiện hiệu suất model YOLO của tôi?
Việc nâng cao hiệu suất model YOLO của bạn có thể đạt được thông qua một số kỹ thuật:
- Hyperparameter Tuning: Thử nghiệm với các siêu tham số khác nhau bằng Hyperparameter Tuning Guide để tối ưu hóa hiệu suất model.
- Data Augmentation: Thực hiện các kỹ thuật như lật, thay đổi tỷ lệ, xoay và điều chỉnh màu sắc để nâng cao 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 các pretrained models và tinh chỉnh chúng trên dataset cụ thể của bạn bằng Train guide.
- Export sang các định dạng hiệu quả: Chuyển đổi model của bạn sang các định dạng đã tối ưu hóa như TensorRT hoặc ONNX để inference nhanh hơn bằng cách sử dụng Export guide.
- Benchmarking: Sử dụng Benchmark Mode để đo lường và cải thiện tốc độ inference cũng như độ chính xác một cách hệ thống.
Tôi có thể triển khai các model Ultralytics YOLO trên thiết bị di động và thiết bị biên không?
Có, các model Ultralytics YOLO được thiết kế để triển khai linh hoạt, bao gồm thiết bị di động và thiết bị biên:
- Di động: Chuyển đổi model sang TFLite hoặc CoreML để tích hợp liền mạch vào các ứng dụng Android hoặc iOS. Tham khảo TFLite Integration Guide và CoreML Integration Guide để biết hướng dẫn cụ thể cho từng nền tảng.
- Thiết bị biên: Tối ưu hóa inference trên các thiết bị như NVIDIA Jetson hoặc phần cứng biên khác sử dụng TensorRT hoặc ONNX. Edge TPU Integration Guide cung cấp các bước chi tiết cho việc triển khai trên thiết bị biên.
Để có cái nhìn tổng quan toàn diện về các chiến lược triển khai trên nhiều nền tảng, hãy tham khảo deployment options guide.
Làm thế nào để thực hiện inference bằng model Ultralytics YOLO đã huấn luyện?
Việc thực hiện inference với một model Ultralytics YOLO đã huấn luyện rất đơn giản:
-
Tải Model:
from ultralytics import YOLO model = YOLO("path/to/your/model.pt") -
Chạy Inference:
results = model("path/to/image.jpg") for r in results: print(r.boxes) # print bounding box predictions print(r.masks) # print mask predictions print(r.probs) # print class probabilities
Đối với các kỹ thuật inference nâng cao, bao gồm xử lý theo lô, inference video và tiền xử lý tùy chỉnh, hãy tham khảo prediction guide chi tiết.
Tôi có thể tìm các ví dụ và hướng dẫn sử dụng Ultralytics ở đâu?
Ultralytics cung cấp vô số tài nguyên giúp bạn bắt đầu và làm chủ các công cụ của họ:
- 📚 Official documentation: Hướng dẫn toàn diện, tài liệu tham khảo API và các thực tiễn tốt nhất.
- 💻 GitHub repository: Mã nguồn, các script ví dụ và đóng góp từ cộng đồng.
- ✍️ Ultralytics blog: Các bài viết chuyên sâu, trường hợp sử dụng và thông tin kỹ thuật.
- 💬 Community forums: Kết nối với những người dùng khác, đặt câu hỏi và chia sẻ kinh nghiệm của bạn.
- 🎥 Kênh YouTube: Các video hướng dẫn, bản demo và hội thảo trực tuyến về nhiều chủ đề của Ultralytics.
Những tài nguyên này cung cấp các ví dụ mã, 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ụ khác nhau sử dụng các model của Ultralytics.
Nếu bạn cần hỗ trợ thêm, hãy tham khảo tài liệu của Ultralytics hoặc liên hệ với cộng đồng thông qua GitHub Issues hoặc diễn đàn thảo luận chính thức discussion forum.