Chuyển đến nội dung

Các 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 quyết 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 kho lưu trữ Ultralytics YOLO.

Câu hỏi thường gặp

Ultralytics là gì và nó 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 vùng ảnh hiện đại, tập trung vào họ 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)
  • Một loạt mô hình tiền huấn luyện đa dạng cho các tác vụ thị giác máy tính khác nhau
  • Một gói Python toàn diện để tích hợp liền mạch các mô hình YOLO vào các dự án
  • Công cụ linh hoạt để huấn luyện, kiểm thử và triển khai mô hình
  • Tài liệu chi tiết và cộng đồng hỗ trợ

Làm cách nào để cài đặt gói Ultralytics?

Việc cài đặt gói Ultralytics rất đơn giản bằ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 hướng dẫn khởi động nhanh.

Yê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 (để tăng tốc GPU)

Thiết lập được khuyến nghị:

  • Python 3.8+
  • PyTorch 1.10+
  • NVIDIA GPU với CUDA 11.2+
  • RAM 8GB+
  • 50GB+ dung lượng ổ đĩa trống (để lưu trữ bộ dữ liệu và huấn luyện mô hình)

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

Làm cách nào để huấn luyện một mô hình YOLO tùy chỉnh trên bộ dữ liệu của riêng tôi?

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

  1. Chuẩn bị bộ dữ liệu của bạn ở định dạng YOLO (ảnh và các tệp txt nhãn tương ứng).
  2. Tạo một tệp YAML mô tả cấu trúc và các lớp dữ liệu của bạn.
  3. 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 hướng dẫn huấn luyện toàn diện.

Những mô hình được huấn luyện trước nào có sẵn trong Ultralytics?

Ultralytics cung cấp một loạt các mô hình được huấn luyện trước đa dạng cho nhiều 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
  • 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 mô hình này khác nhau về kích thước và độ phức tạp, cung cấp các đánh đổi khác nhau giữa tốc độ và độ chính xác. Khám phá đầy đủ các mô hình được huấn luyện trước để tìm ra mô hình phù hợp nhất cho dự án của bạn.

Làm cách nào để thực hiện suy luận bằng mô hình Ultralytics đã được huấn luyện?

Để thực hiện suy luận với một mô hình đã đượ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

Để có các tùy chọn suy luận nâng cao, bao gồm xử lý hàng loạt và suy luận video, hãy xem hướng dẫn dự đoán chi tiết.

Các mô hình Ultralytics có thể được triển khai trên các thiết bị biên hoặc trong môi trường sản xuất 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 khác nhau:

  • 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 các thiết bị Android hoặc iOS bằng cách chuyển đổi mô hình 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 suy luận trong trình duyệt bằng ONNX.js hoặc TensorFlow.js.

Ultralytics cung cấp các hàm xuất để chuyển đổi mô hình sang nhiều định dạng khác nhau để triển khai. Khám phá nhiều tùy chọn triển khai để tìm giải pháp tốt nhất 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:

  • Suy luận từ đầu đến cuối không NMS: YOLO26 có khả năng suy luận từ đầu đến cuối một cách tự nhiên, tạo ra các dự đoán trực tiếp mà không cần loại bỏ cực đại không tối đa (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ỏ mô-đun Distribution Focal Loss, đơn giản hóa việc 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: 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) để huấn luyện ổn định hơn và hội tụ nhanh hơn.
  • Hiệu suất CPU: YOLO26 mang lại khả năng suy luận trên CPU nhanh hơn tới 43%, lý tưởng cho các thiết bị không có GPU.
  • Tối ưu hóa theo tác vụ cụ thể: Phân đoạn được cải thiện với semantic loss và multi-scale protos, RLE để ước tính tư thế chính xác, và giải mã OBB được cải thiện với angle loss.
  • Nhiệm vụ: Cả hai mô hình đều hỗ trợ phát hiện đối tượng, phân đoạn đối tượng, phân loại, ước tính tư thế và phát hiện đối tượng định hướng (obb) trong một khuôn khổ 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 trang tài liệu YOLO26.

Làm cách nào để đóng góp vào 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 nhánh 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 tra đều vượt qua.
  4. Gửi một pull request với một mô tả rõ ràng về những thay đổi của bạn.
  5. Tham gia vào quy 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à các phương pháp hay nhất, hãy tham khảo hướng dẫn đóng góp.

Làm cách 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. 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 và mẹo khắc phục sự cố cụ thể cho từng môi trường, hãy tham khảo hướng dẫn khởi động nhanh toàn diện.

Các tính năng chính của Ultralytics YOLO là gì?

Ultralytics YOLO tự hào có một tập hợp các 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: detect và classify đối tượng một cách hiệu quả trong các kịch bản thời gian thực.
  • Khả năng Đa Nhiệm: Thực hiện phát hiện đối tượng, phân đoạn thể hiện, phân loại và ước tính tư thế với một khuôn khổ thống nhất.
  • Mô hình tiền huấn luyện: Truy cập nhiều mô hình tiền huấn luyện đa dạng, 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 các mô hình trên bộ dữ liệu tùy chỉnh bằng quy trình huấn luyện linh hoạt.
  • Các tùy chọn triển khai rộng rãi: Xuất các mô hình 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.
  • Tài liệu phong phú: Hưởng lợi từ tài liệu toàn diện và một 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.

Làm thế nào để cải thiện hiệu suất của mô hình YOLO của tôi?

Có thể nâng cao hiệu suất mô hình YOLO của bạn thông qua một số kỹ thuật sau:

  1. Điều chỉnh Hyperparameter: Thử nghiệm với các siêu tham số khác nhau bằng cách sử dụng Hướng dẫn Điều chỉnh Hyperparameter để tối ưu hóa hiệu suất mô hình.
  2. Tăng cường Dữ liệu (Data Augmentation): Triển khai các kỹ thuật như lật, масштабирование, xoay và điều chỉnh màu sắc để tăng cường bộ 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 mô hình đã được huấn luyện trước và tinh chỉnh chúng trên tập dữ liệu cụ thể của bạn bằng cách sử dụng hướng dẫn Huấn luyện.
  4. Xuất sang các Định dạng Hiệu quả: Chuyển đổi mô hình của bạn sang các định dạng được tối ưu hóa như TensorRT hoặc ONNX để suy luận nhanh hơn bằng cách sử dụng hướng dẫn Xuất.
  5. Đánh giá điểm chuẩn: Sử dụng Chế độ Điểm chuẩn để đo lường và cải thiện tốc độ và độ chính xác suy luận một cách có hệ thống.

Tôi có thể triển khai các mô hình Ultralytics YOLO trên các thiết bị di động và 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ả thiết bị di động và thiết bị biên:

  • Di động: Chuyển đổi mô hình 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 Hướng dẫn Tích hợp TFLiteHướng dẫn Tích hợp CoreML để 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 suy luận trên các thiết bị như NVIDIA Jetson hoặc phần cứng biên khác bằng cách sử dụng TensorRT hoặc ONNX. Hướng dẫn tích hợp Edge TPU cung cấp các bước chi tiết để triển khai 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 khác nhau, hãy tham khảo hướng dẫn về các tùy chọn triển khai.

Làm thế nào để thực hiện suy luận bằng mô hình Ultralytics YOLO đã được huấn luyện?

Thực hiện suy luận với một mô hình Ultralytics YOLO đã được 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
    

Để biết các kỹ thuật suy luận nâng cao, bao gồm xử lý hàng loạt, suy luận video và tiền xử lý tùy chỉnh, hãy tham khảo hướng dẫn dự đoán chi tiết.

Tôi có thể tìm ví dụ và hướng dẫn sử dụng Ultralytics ở đâu?

Ultralytics cung cấp rất 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ọ:

  • 📚 Tài liệu chính thức: Hướng dẫn toàn diện, tham khảo API và các phương pháp hay nhất.
  • 💻 Kho lưu trữ GitHub: Mã nguồn, các tập lệnh ví dụ và đóng góp của cộng đồng.
  • ✍️ Blog Ultralytics: 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: Các video hướng dẫn, bản trình diễn và hội thảo trên web về nhiều chủ đề Ultralytics khác nhau.

Các tài nguyên này cung cấp các ví dụ về code, các trường hợp sử dụng thực tế và hướng dẫn từng bước cho các tác vụ khác nhau bằng cách sử dụng các mô hình Ultralytics.

Nếu bạn cần hỗ trợ thêm, hãy tham khảo tài liệu 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.



📅 Được tạo 2 năm trước ✏️ Cập nhật 8 ngày trước
glenn-jocherLaughing-qUltralyticsAssistantpderrengerRizwanMunawar

Bình luận