Meet YOLO26: next-gen vision AI.

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à cung cấp những gì?#

Ultralytics là một công ty AI về thị giác máy tính, chuyên về các mô hình phát hiện đối tượng và phân đoạn ảnh tiên tiến, với trọng tâm là dòng YOLO (You Only Look Once). Các dịch vụ 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)
  • Một loạt các pretrained models cho nhiều tác vụ thị giác máy tính 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 linh hoạt để huấn luyện, thử nghiệm và triển khai model
  • Extensive documentation và một cộng đồng hỗ trợ

Link to this sectionLàm thế nào để cài đặt gói Ultralytics?#

Việc cài đặt gói Ultralytics rất đơn giản bằng cách sử dụng pip:

pip install ultralytics

Để có 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.git

Hướ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 mô hình 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+
  • NVIDIA GPU với CUDA 11.2+
  • RAM 8GB trở lên
  • Dung lượng ổ đĩa trống 50GB trở lên (cho lưu trữ tập dữ liệu và huấn luyện mô hình)

Để khắc phục các vấn đề thường gặp, hãy truy cập trang YOLO Common Issues.

Link to this sectionLàm cách nào để tôi có thể huấn luyện mô hình YOLO tùy chỉnh trên tập dữ liệu của riêng mình?#

Để huấn luyện một mô hình YOLO tùy chỉnh:

  1. Chuẩn bị tập dữ liệu của bạn theo YOLO format (hình ảnh và các tệp nhãn txt tương ứng).

  2. Tạo một tệp YAML mô tả cấu trúc tập dữ liệu và các lớp (classes) của bạn (xem dataset YAML example).

  3. 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 mô hình pretrained nào có sẵn trong Ultralytics?#

Ultralytics cung cấp nhiều mô hình pretrained đa dạng 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 thực thể: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
  • Semantic Segmentation: YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
  • 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 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 những sự đánh đổi khác nhau giữa tốc độ và accuracy. Hãy khám phá toàn bộ pretrained models để tìm model phù hợp nhất cho dự án của bạn.

Link to this sectionLàm thế nào để thực hiện suy luận bằng mô hình Ultralytics đã huấn luyện?#

Để thực hiện suy luận với một mô hình đã 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ý batch và inference video, hãy xem prediction guide chi tiết.

Link to this sectionCác mô hình Ultralytics có thể được triển khai trên thiết bị biên hoặc trong môi trường production không?#

Chắc chắn rồi! Các mô hình 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 suy luận 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.
  • Di động: Triển khai trên thiết bị Android hoặc iOS bằng cách chuyển đổi mô hình 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 trên đám mây có khả năng mở rộng.
  • Web: Triển khai suy luận trong 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 khác nhau phục vụ 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 là end-to-end nguyên bản, tạo ra dự đoán trực tiếp mà không cần non-maximum suppression (NMS), 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 quá trình xuất 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ị tiêu thụ điện năng thấp.
  • Bộ tối ưu hóa MuSGD: 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.
  • Hiệu suất CPU: YOLO26 mang lại hiệu suất suy luận 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ể: Tăng cường phân đoạn với loss ngữ nghĩa và các proto đa quy mô, RLE cho ước tính tư thế chính xác và giải mã OBB cải tiến với loss góc.
  • Tasks: Cả hai model đều hỗ trợ object detection và instance segmentation, trong khi YOLO26 còn bổ sung semantic segmentation cho dự đoán pixel cấp độ dày đặc. Cả hai model cũng hỗ trợ classification, pose estimation và oriented object detection (OBB) trong một framework thống nhất.

Để 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:

  1. Fork kho lưu trữ Ultralytics trên GitHub.
  2. Tạo một branch mới cho tính năng hoặc sửa lỗi của bạn.
  3. 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.
  4. Gửi pull request kèm mô tả rõ ràng về các thay đổi của bạn.
  5. Tham gia vào quá trình đánh giá mã.

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 các hướng dẫn chi tiết và thực tiễn tốt nhất, hãy tham khảo contributing guide.

Link to this sectionLàm thế nào để cài đặt gói Ultralytics trong Python?#

Việc cài đặt gói 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, 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ể theo môi trường và 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ụ thị giác máy tính 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.
  • 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 đa dạng các 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.
  • Custom Training: Dễ dàng fine-tune model trên tập dữ liệu tùy chỉnh với training pipeline linh hoạt.
  • Đa dạng 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.
  • Extensive Documentation: Tận dụng documentation toàn diện và cộng đồng hỗ trợ cho các quy trình làm việc thị giác máy tính của bạn.

Link to this sectionLàm thế nào để tôi có thể cải thiện hiệu suất mô hình YOLO của mình?#

Việc nâng cao hiệu suất mô hình YOLO có thể đạt được thông qua một số kỹ thuật:

  1. Hyperparameter Tuning: Thử nghiệm với các hyperparameter khác nhau bằng cách sử dụng Hyperparameter Tuning Guide để tối ưu hóa hiệu suất model.
  2. 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 để nâng cao tập dữ liệu huấn luyện của bạn và cải thiện khả năng tổng quát hóa của mô hình.
  3. Transfer Learning: Tận dụng các pretrained model và fine-tune chúng trên tập dữ liệu cụ thể của bạn bằng cách sử dụng Train guide.
  4. 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 để đạt tốc độ inference nhanh hơn bằng cách sử dụng Export guide.
  5. 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 mô hình Ultralytics YOLO trên thiết bị di động và thiết bị biên không?#

Có, các mô hình Ultralytics YOLO được thiết kế để triển khai linh hoạt, bao gồm các thiết bị di động và thiết bị biên:

  • 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 GuideCoreML Integration Guide để biết các hướng dẫn cụ thể theo 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 bằng cách 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ị 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, hãy tham khảo deployment options guide.

Link to this sectionLàm thế nào để thực hiện suy luận bằng mô hình Ultralytics YOLO đã huấn luyện?#

Việc thực hiện suy luận với một mô hình Ultralytics YOLO đã huấn luyện rất đơn giản:

  1. Tải mô hình:

    from ultralytics import YOLO
    
    model = YOLO("path/to/your/model.pt")
  2. Chạy suy luận:

    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ý batch, inference 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 nhiều 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: Các 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.
  • 💻 Kho lưu trữ GitHub: Mã nguồn, tập lệnh ví dụ và sự đóng góp từ cộng đồng.
  • ✍️ Blog Ultralytics: Các 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 những người dùng khác, đặt câu hỏi và chia sẻ trải nghiệm của bạn.
  • 🎥 Kênh YouTube: Video hướng dẫn, bản demo và hội thảo trực tuyến về các chủ đề khác nhau của Ultralytics.

Các tài nguyên này cung cấp ví dụ về 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 khi 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.

Bình luận