Link to this sectionCá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.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionUltralytics là gì và họ cung cấp những gì?#
Ultralytics là một công ty AI về computer vision chuyên về các model nhận diện đối tượng và image segmentation hiện đại, tập trung vào dòng model YOLO (You Only Look Once). Các sản phẩm của họ bao gồm:
- Các 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 để tích hợp liền mạch các model YOLO vào 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ợ tích cực
Link to this sectionLàm thế nào để cài đặt package Ultralytics?#
Việc cài đặt package Ultralytics rất đơn giản bằng cách 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.
Link to this sectionYê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 tương thích CUDA (cho tăng tốc GPU)
Cấu hình khuyến nghị:
- Python 3.8+
- PyTorch 1.10+
- GPU NVIDIA với CUDA 11.2+
- RAM 8GB+
- 50GB+ dung lượng đĩa trống (để lưu trữ tập dữ liệu 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.
Link to this sectionLàm cách nào để huấn luyện một model YOLO tùy chỉnh trên tập dữ liệu của riêng tôi?#
Để huấn luyện một model YOLO tùy chỉnh:
-
Chuẩn bị tập dữ liệu của bạn theo YOLO format (hình ảnh và tệp nhãn txt tương ứng).
-
Tạo một tệp YAML mô tả cấu trúc tập dữ liệu và các lớp của bạn (xem dataset YAML example).
-
Sử dụng 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.
Link to this sectionNhững pretrained models nào có sẵn trong Ultralytics?#
Ultralytics cung cấp nhiều loại pretrained models đa dạng cho các tác vụ khác nhau:
- Object Detection: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Instance Segmentation: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- Semantic Segmentation: YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
- Classification: YOLO26n-cls, YOLO26s-cls, YOLO26m-cls, YOLO26l-cls, YOLO26x-cls
- Pose Estimation: YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, YOLO26l-pose, YOLO26x-pose
- Oriented Detection (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á đầy đủ các pretrained models để tìm ra lựa chọn phù hợp nhất cho dự án của bạn.
Link to this sectionLàm thế nào để thực hiện inference bằng một model Ultralytics đã được huấn luyện?#
Để thực hiện inference với một model đã được 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Để biết các tùy chọn inference nâng cao, bao gồm xử lý theo lô và inference trên video, hãy xem prediction guide chi tiết.
Link to this sectionCác model Ultralytics có thể được triển khai trên các thiết bị edge hoặc môi trường production 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:
- Edge devices: Tối ưu hóa inference trên các thiết bị như NVIDIA Jetson hoặc Intel Neural Compute Stick bằng cách sử dụng TensorRT, ONNX hoặc OpenVINO.
- Mobile: Triển khai trên thiết bị Android hoặc iOS bằng cách chuyển đổi các model sang TFLite hoặc Core ML.
- Cloud: Tận dụng các framework như TensorFlow Serving hoặc PyTorch Serve để triển khai cloud có khả năng mở rộng.
- Web: Triển khai inference trong trình duyệt sử dụng ONNX.js hoặc TensorFlow.js.
Ultralytics cung cấp các chức năng xuất để chuyển đổi model sang nhiều định dạng khác nhau để triển khai. Hãy khám phá nhiều deployment options để tìm giải pháp tốt nhất cho trường hợp sử dụng của bạn.
Link to this sectionSự 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 có tính năng end-to-end tự nhiên, tạo ra các dự đoán trực tiếp mà không cần NMS, giúp giảm độ trễ và đơn giản hóa việc triển khai.
- DFL Removal: YOLO26 loại bỏ module Distribution Focal Loss, giúp đơn giản hóa quá trình xuất và cải thiện khả năng tương thích với các thiết bị edge và thiết bị tiêu thụ năng lượng thấp.
- MuSGD Optimizer: Một sự kết hợp lai giữa SGD và Muon (lấy cảm hứng từ Kimi K2 của Moonshot AI) giúp huấn luyện ổn định hơn và hội tụ nhanh hơn.
- CPU Performance: 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.
- Task-Specific Optimizations: Cải thiện khả năng segmentation với hàm loss ngữ nghĩa và multi-scale protos, RLE cho pose estimation chính xác, và giải mã OBB được cải thiện với hàm loss góc.
- Tasks: Cả hai model đều hỗ trợ object detection và instance segmentation, trong khi YOLO26 còn bổ sung thêm semantic segmentation cho dự đoán dày đặc ở cấp độ điểm ảnh. Cả hai model cũng hỗ trợ classification, pose estimation và oriented object detection (OBB) trong một framework thống nhất.
Để có bản 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.
Link to this sectionLàm thế nào để tôi có thể đó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 thử đề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 quá trình code review.
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 contributing guide.
Link to this sectionLàm thế nào để tôi cài đặt package Ultralytics trong Python?#
Việc cài đặt package Ultralytics trong Python rất đơn giản. Hãy 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 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.gitĐể biết hướng dẫn cài đặt cụ thể cho từng môi trường và các mẹo khắc phục sự cố, hãy tham khảo quickstart guide toàn diện.
Link to this sectionCá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:
- Real-Time Detection: 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.
- Multi-Task Capabilities: Thực hiện object detection, instance segmentation, semantic segmentation, classification, pose estimation và oriented object detection (OBB) với một framework thống nhất.
- Pretrained Models: Truy cập vào nhiều pretrained models giúp 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.
- Custom Training: Dễ dàng tinh chỉnh các model trên tập dữ liệu tùy chỉnh với training pipeline linh hoạt.
- Wide Deployment Options: Xuất model sang nhiều định dạng khác nhau như TensorRT, ONNX và CoreML để triển khai trên các nền tảng khác nhau.
- Extensive Documentation: 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.
Link to this sectionLàm thế nào để tôi có thể cải thiện hiệu suất của model YOLO của mình?#
Việc nâng cao hiệu suất của model YOLO 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: Triển khai các kỹ thuật như lật, thay đổi tỷ lệ, xoay và điều chỉnh màu sắc để tăng cường tập dữ liệu 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 tập dữ liệu cụ thể của bạn bằng Train guide.
- Export to Efficient Formats: Chuyển đổi model của bạn sang các định dạng tối ưu như TensorRT hoặc ONNX để có 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 và độ chính xác một cách có hệ thống.
Link to this sectionTôi có thể triển khai các model Ultralytics YOLO trên thiết bị di động và edge không?#
Có, các model Ultralytics YOLO được thiết kế để triển khai linh hoạt, bao gồm cả thiết bị di động và edge:
- Mobile: 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.
- Edge Devices: Tối ưu hóa inference trên các thiết bị như NVIDIA Jetson hoặc phần cứng edge khác sử dụng TensorRT hoặc ONNX. Edge TPU Integration Guide cung cấp các bước chi tiết để triển khai trên edge.
Để 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 khác nhau, hãy tham khảo deployment options guide.
Link to this sectionLàm thế nào để tôi thực hiện inference bằng một model Ultralytics YOLO đã được huấn luyện?#
Việc thực hiện inference với một model Ultralytics YOLO đã được huấn luyện rất đơn giản:
-
Load the Model:
from ultralytics import YOLO model = YOLO("path/to/your/model.pt") -
Run 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
Để biết các kỹ thuật inference nâng cao, bao gồm xử lý theo lô, inference trên video và tiền xử lý tùy chỉnh, hãy tham khảo prediction guide chi tiết.
Link to this sectionTôi có thể tìm thấy 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, tham chiếu API và các phương pháp tốt nhất.
- 💻 GitHub repository: Mã nguồn, các script ví dụ và các đóng góp từ cộng đồng.
- ✍️ Ultralytics blog: Các bài viết chuyên sâu, các trường hợp sử dụng và thông tin chi tiết về kỹ thuật.
- 💬 Diễn đàn cộng đồng: 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: Video hướng dẫn, bản demo và các buổi hội thảo trực tuyến về nhiều chủ đề của 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ụ khác nhau sử dụng các model của Ultralytics.
Nếu bạn cần thêm sự hỗ trợ, 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.