Bằng cách nhấp vào “Chấp nhận tất cả cookie”, bạn đồng ý lưu trữ cookie trên thiết bị của mình để cải thiện khả năng điều hướng trang web, phân tích việc sử dụng trang web và hỗ trợ các nỗ lực tiếp thị của chúng tôi. Thông tin thêm
Cài đặt Cookie
Bằng cách nhấp vào “Chấp nhận tất cả cookie”, bạn đồng ý lưu trữ cookie trên thiết bị của mình để cải thiện khả năng điều hướng trang web, phân tích việc sử dụng trang web và hỗ trợ các nỗ lực tiếp thị của chúng tôi. Thông tin thêm
Tìm hiểu cách xuất Ultralytics YOLO11 sang định dạng OpenVINO™ cho phép suy luận cực nhanh trên phần cứng Intel®, nâng cao tốc độ, khả năng mở rộng và độ chính xác.
Việc áp dụng AI phụ thuộc vào các giải pháp AI có thể truy cập được và một phần lớn trong số đó là làm cho chúng dễ triển khai trên phần cứng mà mọi người đã có. Chạy các mô hình AI trên GPU (bộ xử lý đồ họa) là một lựa chọn tuyệt vời về mặt hiệu suất và sức mạnh xử lý song song.
Tuy nhiên, thực tế là không phải ai cũng có thể tiếp cận được GPU cao cấp, đặc biệt là trong môi trường biên hoặc trên máy tính xách tay thông thường. Đó là lý do tại sao việc tối ưu hóa các mô hình để chạy hiệu quả trên phần cứng phổ biến hơn như bộ xử lý trung tâm (CPU), GPU tích hợp và bộ xử lý thần kinh (NPU) lại quan trọng đến vậy.
Ví dụ, thị giác máy tính là một nhánh của AI cho phép máy phân tích và hiểu hình ảnh và luồng video theo thời gian thực. Các mô hình AI thị giác như Ultralytics YOLO11 hỗ trợ các tác vụ chính như phát hiện đối tượng và phân đoạn trường hợp cung cấp năng lượng cho các ứng dụng từ phân tích bán lẻ đến chẩn đoán y tế .
Hình 1. Sử dụng Ultralytics YOLO11 để phát hiện và phân đoạn các đối tượng trong một cửa hàng bán lẻ.
Để công nghệ thị giác máy tính có thể tiếp cận rộng rãi hơn, Ultralytics đã phát hành bản tích hợp cập nhật với bộ công cụ OpenVINO, đây là một dự án nguồn mở để tối ưu hóa và chạy suy luận AI trên CPU, GPU và NPU.
Với sự tích hợp này, việc xuất và triển khai các mô hình YOLO11 trở nên dễ dàng hơn với tốc độ suy luận nhanh hơn tới 3 lần trên CPU và hiệu suất được tăng tốc trên GPU và NPU của Intel. Trong bài viết này, chúng tôi sẽ hướng dẫn cách sử dụng gói Python Ultralytics để xuất các mô hình YOLO11 sang định dạng OpenVINO và sử dụng nó để suy luận. Hãy bắt đầu thôi!
Tổng quan về Ultralytics YOLO11
Trước khi đi sâu vào chi tiết về tích hợp OpenVINO được Ultralytics hỗ trợ, hãy cùng xem xét kỹ hơn những yếu tố khiến YOLO11 trở thành mô hình thị giác máy tính đáng tin cậy và có tác động. YOLO11 là mô hình mới nhất trong dòng YOLO của Ultralytics, mang đến những cải tiến đáng kể về cả tốc độ và độ chính xác.
Một trong những điểm nổi bật chính của nó là hiệu quả. Ví dụ, Ultralytics YOLO11m có ít hơn 22% tham số so với Ultralytics YOLOv8m, nhưng nó đạt được độ chính xác trung bình (mAP) cao hơn trên tập dữ liệu COCO. Điều này có nghĩa là nó chạy nhanh hơn và cũng phát hiện các đối tượng chính xác hơn, khiến nó trở nên lý tưởng cho các ứng dụng thời gian thực, nơi hiệu suất và khả năng phản hồi là rất quan trọng.
Hình 2. Điểm chuẩn hiệu suất của Ultralytics YOLO11.
Ngoài phát hiện đối tượng, YOLO11 còn hỗ trợ nhiều tác vụ thị giác máy tính nâng cao như phân đoạn thể hiện, ước tính tư thế, phân loại hình ảnh, theo dõi đối tượng và phát hiện hộp giới hạn định hướng. YOLO11 cũng thân thiện với nhà phát triển, với gói Ultralytics Python cung cấp giao diện đơn giản và nhất quán để đào tạo, đánh giá và triển khai các mô hình.
Ngoài ra, gói Ultralytics Python hỗ trợ nhiều tích hợp và nhiều định dạng xuất, bao gồm OpenVINO, ONNX, TorchScript, cho phép bạn dễ dàng tích hợp YOLO11 vào nhiều quy trình triển khai khác nhau. Cho dù bạn đang nhắm mục tiêu đến cơ sở hạ tầng đám mây, thiết bị biên hay hệ thống nhúng, quy trình xuất đều đơn giản và có thể thích ứng với nhu cầu phần cứng của bạn.
OpenVINO™ là gì?
OpenVINO™ (Open Visual Inference and Neural Network Optimization) là một bộ công cụ nguồn mở để tối ưu hóa và triển khai suy luận AI trên nhiều loại phần cứng. Nó cho phép các nhà phát triển chạy các ứng dụng suy luận hiệu suất cao một cách hiệu quả trên nhiều nền tảng Intel khác nhau, bao gồm CPU, GPU tích hợp và rời rạc, NPU và mảng cổng lập trình trường (FPGA).
OpenVINO cung cấp giao diện thời gian chạy thống nhất, tóm tắt sự khác biệt về phần cứng thông qua các plugin dành riêng cho thiết bị. Điều này có nghĩa là các nhà phát triển có thể viết mã một lần và triển khai trên nhiều mục tiêu phần cứng Intel bằng cách sử dụng API nhất quán.
Sau đây là một số tính năng chính khiến OpenVINO trở thành lựa chọn tuyệt vời cho việc triển khai:
Bộ chuyển đổi mô hình : Công cụ này chuyển đổi và chuẩn bị các mô hình từ các khuôn khổ phổ biến như PyTorch, ONNX, TensorFlow, PaddlePaddle và các khuôn khổ khác, để chúng có thể được tối ưu hóa cho quá trình suy luận hiệu quả trên phần cứng Intel.
Thực thi không đồng nhất : Bạn không cần phải viết lại mã cho các phần cứng Intel khác nhau. OpenVINO giúp bạn dễ dàng chạy cùng một mô hình trên bất kỳ phần cứng nào được hỗ trợ, từ CPU đến GPU.
Hỗ trợ lượng tử hóa : Bộ công cụ hỗ trợ các định dạng có độ chính xác giảm như FP16 (mặc định) và INT8, giúp giảm kích thước mô hình và tăng tốc suy luận mà không ảnh hưởng đáng kể đến độ chính xác.
Hình 3. OpenVINO cho phép nhiều tùy chọn triển khai khác nhau.
Khám phá tích hợp Ultralytics x OpenVINO
Bây giờ chúng ta đã khám phá OpenVINO là gì và tầm quan trọng của nó, hãy cùng thảo luận về cách xuất mô hình YOLO11 sang định dạng OpenVINO và chạy suy luận hiệu quả trên phần cứng Intel.
Bước 1: Cài đặt gói Ultralytics Python
Để xuất mô hình sang định dạng OpenVINO, trước tiên bạn cần cài đặt gói Ultralytics Python . Gói này cung cấp mọi thứ bạn cần để đào tạo, đánh giá và xuất mô hình YOLO, bao gồm YOLO11.
Bạn có thể cài đặt bằng cách chạy lệnh " pip install ultralytics " trong terminal hoặc dấu nhắc lệnh. Nếu bạn đang làm việc trong môi trường tương tác như Jupyter Notebook hoặc Google Colab, chỉ cần thêm dấu chấm than trước lệnh.
Ngoài ra, nếu bạn gặp bất kỳ sự cố nào trong quá trình cài đặt hoặc xuất, tài liệu và hướng dẫn khắc phục sự cố của Ultralytics là những nguồn tài nguyên tuyệt vời giúp bạn khắc phục sự cố.
Bước 2: Xuất mô hình YOLO11 của bạn sang định dạng OpenVINO
Sau khi gói Ultralytics được thiết lập, bước tiếp theo là tải mô hình YOLO11 của bạn và chuyển đổi nó sang định dạng tương thích với OpenVINO.
Trong ví dụ bên dưới, chúng tôi đang sử dụng mô hình YOLO11 được đào tạo trước (“yolo11n.pt”). Chức năng xuất được sử dụng để chuyển đổi nó sang định dạng OpenVINO. Sau khi chạy mã này, mô hình đã chuyển đổi sẽ được lưu trong một thư mục mới có tên “yolo11n_openvino_model”.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="openvino")
Bước 3: Chạy suy luận với mô hình đã xuất
Sau khi mô hình YOLO11 của bạn được xuất sang định dạng OpenVINO, bạn có thể chạy suy luận theo hai cách: sử dụng gói Ultralytics Python hoặc OpenVINO Runtime gốc.
Sử dụng gói Python Ultralytics
Mô hình YOLO11 đã xuất có thể dễ dàng triển khai bằng gói Ultralytics Python, như được hiển thị trong đoạn mã bên dưới. Phương pháp này lý tưởng cho thử nghiệm nhanh và triển khai hợp lý trên phần cứng Intel.
Bạn cũng có thể chỉ định thiết bị nào sẽ sử dụng để suy luận, chẳng hạn như "intel:cpu", "intel:gpu" hoặc "intel:npu", tùy thuộc vào phần cứng Intel có trên hệ thống của bạn.
Sau khi chạy đoạn mã trên, hình ảnh đầu ra sẽ được lưu trong thư mục "runs/detect/predict".
Hình 4. Sử dụng mô hình YOLO11 đã xuất để phát hiện các đối tượng trong hình ảnh.
Sử dụng OpenVINO Runtime gốc
Nếu bạn đang tìm kiếm một cách tùy chỉnh để chạy suy luận, đặc biệt là trong môi trường sản xuất, OpenVINO Runtime cung cấp cho bạn nhiều quyền kiểm soát hơn đối với cách mô hình của bạn được thực thi. Nó hỗ trợ các tính năng nâng cao như thực thi không đồng bộ (chạy nhiều yêu cầu suy luận song song) và cân bằng tải (phân phối khối lượng công việc suy luận hiệu quả trên phần cứng Intel).
Để sử dụng thời gian chạy gốc, bạn sẽ cần các tệp mô hình đã xuất: tệp .xml (xác định kiến trúc mạng) và tệp .bin (lưu trữ trọng số đã đào tạo của mô hình). Bạn cũng có thể định cấu hình các tham số bổ sung như kích thước đầu vào hoặc các bước xử lý trước tùy thuộc vào ứng dụng của bạn.
Luồng triển khai điển hình bao gồm khởi tạo lõi OpenVINO, tải và biên dịch mô hình cho thiết bị mục tiêu, chuẩn bị đầu vào và thực hiện suy luận. Để biết ví dụ chi tiết và hướng dẫn từng bước, hãy tham khảo tài liệu chính thức của Ultralytics OpenVINO .
Tại sao nên chọn tích hợp Ultralytics x OpenVINO?
Khi khám phá tích hợp Ultralytics, bạn sẽ nhận thấy rằng gói Ultralytics Python hỗ trợ xuất các mô hình YOLO11 sang nhiều định dạng khác nhau như TorchScript, CoreML, TensorRT và ONNX. Vậy, tại sao lại chọn tích hợp OpenVINO?
Sau đây là một số lý do tại sao định dạng xuất OpenVINO phù hợp để triển khai các mô hình trên phần cứng Intel:
Tăng hiệu suất: Bạn có thể trải nghiệm tốc độ suy luận nhanh hơn tới 3 lần trên CPU Intel, với khả năng tăng tốc bổ sung có sẵn trên GPU và NPU tích hợp.
Không cần đào tạo lại : Bạn có thể xuất các mô hình YOLO11 hiện có của mình trực tiếp sang định dạng OpenVINO mà không cần sửa đổi hoặc đào tạo lại.
Được xây dựng để mở rộng quy mô : Có thể triển khai cùng một mô hình xuất khẩu trên các thiết bị biên công suất thấp và cơ sở hạ tầng đám mây quy mô lớn, giúp đơn giản hóa việc triển khai AI có khả năng mở rộng quy mô.
Bạn cũng có thể đánh giá điểm chuẩn hiệu suất cho mô hình YOLO11 trên nhiều nền tảng Intel® trên OpenVINO™ Model Hub. OpenVINO Model Hub là nguồn tài nguyên dành cho các nhà phát triển để đánh giá các mô hình AI trên phần cứng Intel và khám phá lợi thế về hiệu suất của OpenVINO trên CPU Intel, GPU tích hợp, NPU và đồ họa rời.
Hình 5. Trung tâm mô hình OpenVINO™: Điểm chuẩn hiệu suất cho mô hình YOLO11 trên nhiều nền tảng Intel®.
Ứng dụng của YOLO11 và định dạng xuất OpenVINO
Với sự trợ giúp của tích hợp OpenVINO, việc triển khai các mô hình YOLO11 trên phần cứng Intel trong các tình huống thực tế trở nên đơn giản hơn nhiều.
Một ví dụ tuyệt vời là bán lẻ thông minh, nơi YOLO11 có thể giúp phát hiện các kệ hàng trống theo thời gian thực, theo dõi sản phẩm nào sắp hết và phân tích cách khách hàng di chuyển qua cửa hàng. Điều này cho phép các nhà bán lẻ cải thiện quản lý hàng tồn kho và tối ưu hóa bố cục cửa hàng để thu hút người mua sắm tốt hơn.
Tương tự như vậy, tại các thành phố thông minh, YOLO11 có thể được sử dụng để giám sát giao thông bằng cách đếm số lượng xe, theo dõi người đi bộ và phát hiện vi phạm đèn đỏ theo thời gian thực. Những thông tin chi tiết này có thể hỗ trợ tối ưu hóa luồng giao thông, cải thiện an toàn đường bộ và hỗ trợ các hệ thống thực thi tự động.
Một ứng dụng thú vị khác là kiểm tra công nghiệp, trong đó YOLO11 có thể được triển khai trên dây chuyền sản xuất để tự động phát hiện các khiếm khuyết trực quan như thiếu linh kiện, sai lệch hoặc hư hỏng bề mặt. Điều này giúp tăng hiệu quả, giảm chi phí và hỗ trợ chất lượng sản phẩm tốt hơn.
Các yếu tố chính cần xem xét khi sử dụng bộ công cụ OpenVINO
Khi triển khai các mô hình YOLO11 với OpenVINO, sau đây là một số điều quan trọng cần ghi nhớ để có được kết quả tốt nhất:
Kiểm tra khả năng tương thích của phần cứng : Đảm bảo phần cứng Intel của bạn, cho dù là CPU, GPU tích hợp hay NPU, đều được OpenVINO hỗ trợ để mô hình có thể chạy hiệu quả.
Cài đặt đúng trình điều khiển : Nếu bạn đang sử dụng GPU hoặc NPU của Intel, hãy kiểm tra lại xem tất cả trình điều khiển cần thiết đã được cài đặt đúng cách và cập nhật chưa.
Hiểu đượcsự đánh đổivề độ chính xác : OpenVINO hỗ trợ độ chính xác của mô hình FP32, FP16 và INT8. Mỗi mô hình đều có sự đánh đổi giữa tốc độ và độ chính xác, vì vậy điều quan trọng là phải chọn tùy chọn phù hợp dựa trên mục tiêu hiệu suất và phần cứng khả dụng của bạn.
Những điểm chính
Xuất Ultralytics YOLO11 sang định dạng OpenVINO giúp dễ dàng chạy các mô hình Vision AI nhanh và hiệu quả trên phần cứng Intel. Bạn có thể triển khai trên CPU, GPU và NPU mà không cần phải đào tạo lại hoặc thay đổi mã của mình. Đây là một cách tuyệt vời để tăng hiệu suất trong khi vẫn giữ mọi thứ đơn giản và có thể mở rộng.
Với sự hỗ trợ tích hợp trong gói Ultralytics Python, việc xuất và chạy suy luận với OpenVINO rất đơn giản. Chỉ trong vài bước, bạn có thể tối ưu hóa mô hình của mình và chạy nó trên nhiều nền tảng Intel khác nhau. Cho dù bạn đang làm việc trên bán lẻ thông minh, giám sát giao thông hay kiểm tra công nghiệp, quy trình làm việc này giúp bạn chuyển từ phát triển sang triển khai với tốc độ và sự tự tin.
Đăng ký tham dự hội thảo trực tuyến sắp tới của chúng tôi để xem hoạt động tích hợp Ultralytics × OpenVINO và truy cập trang web OpenVINO để khám phá các công cụ tối ưu hóa và triển khai AI ở quy mô lớn.