Export và tối ưu Ultralytics YOLOv8 để inference trên Intel OpenVINO
Tối ưu model Ultralytics YOLOv8 để inference bằng OpenVINO. Làm theo hướng dẫn của chúng tôi để chuyển đổi các model PyTorch sang ONNX và tối ưu chúng cho các ứng dụng thời gian thực.

Trong bài blog này, chúng ta sẽ tìm hiểu cách xuất và tối ưu hóa model Ultralytics YOLOv8 đã được huấn luyện trước hoặc được huấn luyện 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, dù là CPU hay GPU, hướng dẫn này sẽ chỉ cho bạn cách tăng tốc đáng kể model với rất ít công sức.
Tại sao nên tối ưu hóa Ultralytics YOLOv8 bằng OpenVINO?#
Tối ưu hóa model Ultralytics YOLOv8 bằng OpenVINO có thể giúp tăng tốc độ suy luận lên đến 3 lần, đặc biệt nếu bạn đang chạy trên CPU Intel. Mức tăng hiệu năng này có thể tạo ra khác biệt rấ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 bảo mật.
Các bước xuất và tối ưu hóa model Ultralytics YOLOv8#
Tìm hiểu quy trình#
Trước hết, hãy phân tích quy trình. Chúng ta sẽ chuyển đổi model PyTorch sang ONNX, sau đó tối ưu hóa model bằng OpenVINO. Quy trình này gồm một vài bước đơn giản và có thể áp dụng cho nhiều model và định dạng khác nhau, bao gồm TensorFlow, PyTorch, Caffe và ONNX.
Xuất model#
Khi xem qua tài liệu của Ultralytics, chúng ta thấy rằng việc xuất model YOLOv8 cần 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 model từ PyTorch sang ONNX, rồi tối ưu hóa model cho OpenVINO. Kết quả là một model chạy nhanh hơn đáng kể nhờ 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 model, bạn cần đảm bảo rằng mọi dependency cần thiết đã được cài đặt. Các dependency này bao gồm thư viện Ultralytics, ONNX và OpenVINO. Việc cài đặt các package này khá đơn giản và có thể thực hiện thông qua pip, trình cài đặt package Python.
Chạy script xuất model#
Sau khi thiết lập môi trường, bạn có thể chạy script xuất model. Script này sẽ chuyển đổi model PyTorch sang ONNX, sau đó sang OpenVINO. Quy trình này đơn giản và chỉ cần gọi một hàm để xử lý việc xuất model. Framework Ultralytics giúp bạn dễ dàng chuyển đổi và tối ưu hóa các model, đảm bảo đạt được hiệu năng tốt nhất với ít thao tác phức tạp.

Hình 1. Nicolai Nielsen trình bày cách chạy script xuất model.
So sánh hiệu năng#
Sau khi xuất model, việc so sánh hiệu năng của model gốc và model đã tối ưu hóa là rất cần thiết. Bằng cách benchmark thời gian suy luận của cả hai model, bạn có thể thấy rõ mức cải thiện hiệu năng. Thông thường, model OpenVINO sẽ có thời gian suy luận giảm đáng kể so với model PyTorch gốc. Điều này đặc biệt đúng với các model lớn, trong đó mức tăng hiệu năng dễ nhận thấy nhất.
Ứng dụng và lợi ích trong thực tế#
Tối ưu hóa các model Ultralytics YOLOv8 bằng OpenVINO đặc biệt hữu ích cho những ứ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 bảo mật: Tính năng phát hiện đối tượng theo thời gian thực có thể lập tức cảnh báo nhân viên an ninh, nâng cao mức độ an toàn và khả năng phản ứng.
- Phương tiện tự động: Tốc độ suy luận nhanh hơn giúp cải thiện khả năng phản hồi của các hệ thống lái xe tự động, khiến chúng an toàn và đáng tin cậy hơn.
- Chăm sóc sức khỏe: Khả năng xử lý hình ảnh nhanh chóng cho các công cụ chẩn đoán có thể cứu sống người bệnh nhờ cung cấp kết quả nhanh hơn và cho phép can thiệp kịp thời.
Bằng cách triển khai những tối ưu hóa này, bạn không chỉ cải thiện hiệu năng mà còn nâng cao độ tin cậy và hiệu quả của các ứng dụng. Điều này có thể mang lại trải nghiệm người dùng tốt hơn, tăng năng suất và tạo ra những giải pháp sáng tạo hơn.
Tổng kết#
Xuất và tối ưu hóa một model Ultralytics YOLOv8 cho OpenVINO là một cách hiệu quả để tận dụng phần cứng Intel nhằm xây dựng 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ể cải thiện đáng kể hiệu năng của model và áp dụng model đó hiệu quả vào các tình huống thực tế.
Hãy xem thêm các hướng dẫn và tutorial khác từ Ultralytics để tiếp tục nâng cao các dự án AI của bạn. Truy cập repository GitHub của chúng tôi và tham gia cộng đồng Ultralytics để cập nhật thêm thông tin và những cải tiến mới. Hãy cùng đổi mới!
Hãy nhớ rằng, tối ưu hóa các model không chỉ là vấn đề tốc độ—mà còn là cách 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.









