Yolo Vision Thâm Quyến
Thâm Quyến
Tham gia ngay

Xuất và tối ưu hóa Ultralytics YOLOv8 để suy luận trên Intel OpenVINO

Nuvola Ladi

2 phút đọc

24 tháng 5, 2024

Tối ưu hóa mô hình Ultralytics YOLOv8 của bạn để suy luận bằng OpenVINO. Hãy làm theo hướng dẫn của chúng tôi để chuyển đổi các mô hình PyTorch sang ONNX và tối ưu hóa chúng cho các ứng dụng thời gian thực.

Trong bài đăng trên blog này, chúng ta sẽ xem xét cách bạn có thể xuất và tối ưu hóa mô hình Ultralytics YOLOv8 được huấn luyện trước hoặc tùy chỉnh để suy luận bằng OpenVINO. Nếu bạn đang sử dụng hệ thống dựa trên Intel, cho dù đó là CPU hay GPU, hướng dẫn này sẽ chỉ cho bạn cách tăng tốc đáng kể mô hình của mình với nỗ lực tối thiểu.

Tại sao nên tối ưu hóa YOLOv8 với OpenVINO?

Tối ưu hóa mô hình YOLOv8 của bạn với OpenVINO có thể tăng tốc độ lên đến 3 lần đối với các tác vụ suy luận, đặc biệt nếu bạn đang chạy CPU Intel. Việc tăng hiệu suất này có thể tạo ra sự khác biệt lớn trong các ứng dụng thời gian thực, từ phát hiện đối tượng đến phân đoạn và các hệ thống an ninh.

Các bước để xuất và tối ưu hóa mô hình YOLOv8 của bạn

Tìm hiểu quy trình

Trước tiên, hãy cùng phân tích quy trình. Chúng ta sẽ chuyển đổi một mô hình PyTorch sang ONNX và sau đó tối ưu hóa nó bằng OpenVINO. Quy trình này bao gồm một vài bước đơn giản và có thể được áp dụng cho nhiều mô hình và định dạng khác nhau bao gồm TensorFlow, PyTorch, Caffe và ONNX.

Xuất mô hình

Bắt đầu với tài liệu Ultralytics, chúng ta thấy rằng việc xuất một mô hình YOLOv8 liên quan đến việc sử dụng phương thức export từ framework Ultralytics. Phương thức này cho phép chúng ta chuyển đổi mô hình của mình từ PyTorch sang ONNX, và cuối cùng, tối ưu hóa nó cho OpenVINO. Kết quả là một mô hình chạy nhanh hơn đáng kể, tận dụng phần cứng mạnh mẽ của Intel.

Cài đặt các dependency

Trước khi chạy script xuất, bạn cần đảm bảo rằng tất cả các dependency cần thiết đã được cài đặt. Chúng bao gồm thư viện Ultralytics, ONNX và OpenVINO. Việc cài đặt các package này là một quy trình đơn giản có thể được thực hiện thông qua pip, trình cài đặt package Python.

Chạy tập lệnh xuất

Sau khi môi trường của bạn được thiết lập, bạn có thể chạy tập lệnh xuất của mình. Tập lệnh này sẽ chuyển đổi mô hình PyTorch của bạn sang ONNX và sau đó sang OpenVINO. Quá trình này rất đơn giản và chỉ bao gồm việc gọi một hàm duy nhất để xử lý việc xuất. Khung Ultralytics giúp bạn dễ dàng chuyển đổi và tối ưu hóa các mô hình của mình, đảm bảo bạn có được hiệu suất tốt nhất với ít rắc rối nhất.

__wf_reserved_inherit
Hình 1. Nicolai Nielsen trình bày cách chạy script xuất.

So sánh hiệu suất

Sau khi xuất mô hình, việc so sánh hiệu suất giữa mô hình gốc và mô hình đã tối ưu hóa là rất quan trọng. Bằng cách đánh giá thời gian suy luận (inference time) của cả hai mô hình, bạn có thể thấy rõ sự cải thiện về hiệu suất. Thông thường, mô hình OpenVINO sẽ cho thấy thời gian suy luận giảm đáng kể so với mô hình PyTorch gốc. Điều này đặc biệt đúng với các mô hình lớn hơn, nơi hiệu suất tăng lên đáng kể nhất.

Ứng dụng và lợi ích thực tế

Tối ưu hóa các mô hình YOLOv8 bằng OpenVINO đặc biệt có lợi cho các ứng dụng yêu cầu xử lý thời gian thực. Dưới đây là một vài ví dụ:

  • Hệ thống an ninh (Security Systems): Nhận diện đối tượng theo thời gian thực có thể cảnh báo nhân viên an ninh ngay lập tức, tăng cường sự an toàn và khả năng phản ứng.
  • Xe tự hành: Tốc độ suy luận nhanh hơn giúp cải thiện khả năng phản hồi của hệ thống lái tự động, làm cho chúng an toàn và đáng tin cậy hơn.
  • Chăm sóc sức khỏe: Xử lý hình ảnh nhanh chóng cho các công cụ chẩn đoán có thể cứu sống bệnh nhân bằng cách cung cấp kết quả nhanh hơn, cho phép can thiệp kịp thời.

Bằng cách triển khai các tối ưu hóa này, bạn không chỉ cải thiện hiệu suất mà còn nâng cao độ tin cậy và hiệu quả của các ứng dụng của mình. Điều này có thể dẫn đến trải nghiệm người dùng tốt hơn, tăng năng suất và các giải pháp sáng tạo hơn.

Tóm lại

Xuất và tối ưu hóa mô hình YOLOv8 cho OpenVINO là một cách mạnh mẽ để tận dụng phần cứng Intel cho các ứng dụng AI nhanh hơn và hiệu quả hơn. Chỉ với một vài bước đơn giản, bạn có thể chuyển đổi hiệu suất mô hình của mình và áp dụng nó vào các tình huống thực tế một cách hiệu quả.

Hãy nhớ xem thêm các hướng dẫn và tài liệu khác từ Ultralytics để tiếp tục nâng cao các dự án AI của bạn. Truy cập kho lưu trữ GitHub của chúng tôi và tham gia cộng đồng Ultralytics để biết thêm thông tin chi tiết và cập nhật. Hãy cùng nhau đổi mới!

Hãy nhớ rằng, tối ưu hóa mô hình của bạn không chỉ là về tốc độ—mà còn là về việc mở ra những khả năng mới và đảm bảo các giải pháp AI của bạn mạnh mẽ, hiệu quả và sẵn sàng cho tương lai. 

Hãy cùng nhau xây dựng tương lai
của AI!

Bắt đầu hành trình của bạn với tương lai của học máy

Bắt đầu miễn phí
Đã sao chép liên kết vào clipboard