Triển khai liền mạch Ultralytics YOLO11 bằng tích hợp MNN
Tìm hiểu cách xuất và triển khai các model Ultralytics YOLO11 với tích hợp MNN để suy luận nhanh trên các nền tảng di động, nhúng và công suất thấp.

Ngày nay, các cải tiến về AI đã mở rộng ra ngoài môi trường máy chủ từ xa. Các giải pháp AI đang được tích hợp vào các thiết bị biên (edge device) như cảm biến và điện thoại thông minh. Nhờ sự chuyển dịch công nghệ này, dữ liệu giờ đây có thể được xử lý trực tiếp tại nơi khởi tạo, cho phép phản hồi nhanh hơn, cải thiện quyền riêng tư và giảm sự phụ thuộc vào kết nối đám mây liên tục.
Do đó, edge AI đang ngày càng phổ biến trên nhiều ngành công nghiệp. edge AI software market dự kiến đạt 8,88 tỷ USD vào năm 2031 khi ngày càng có nhiều hệ thống chuyển hướng sang quá trình xử lý cục bộ và nhanh hơn.
Cụ thể, computer vision, một nhánh của AI tập trung vào việc hiểu hình ảnh và video, đang được áp dụng nhanh chóng ở biên. Từ việc đếm các mặt hàng thực phẩm khi được đóng gói cho đến hỗ trợ các phương tiện phát hiện người đi bộ, computer vision hỗ trợ vô số ứng dụng thực tế trên các lĩnh vực khác nhau.
Điều này được hiện thực hóa thông qua các computer vision models. Chẳng hạn, Ultralytics YOLO11 là một model hỗ trợ các tác vụ vision AI khác nhau như object detection, instance segmentation, object tracking và pose estimation. Nó được thiết kế để hoạt động nhanh và hiệu quả, đồng thời mang lại hiệu suất tốt trên các thiết bị có tài nguyên phần cứng hạn chế.

Hình 1. Phát hiện và theo dõi thực phẩm đang được đóng gói sử dụng Ultralytics YOLO11 (Nguồn).
Ngoài việc phù hợp cho việc triển khai ở biên, thông qua các integrations khác nhau được hỗ trợ bởi Ultralytics, YOLO11 có thể được xuất sang nhiều định dạng phù hợp cho các môi trường phần cứng khác nhau.
Một trong những lựa chọn hiệu quả nhất là MNN (Mobile Neural Network), một inference engine nhẹ được thiết kế cho các thiết bị tài nguyên thấp. Xuất Ultralytics YOLO11 sang MNN cho phép nó chạy trực tiếp trên điện thoại di động, hệ thống nhúng và các edge platform khác, nơi việc xử lý nhanh trên thiết bị là rất cần thiết.
Trong bài viết này, chúng ta sẽ khám phá cách thức hoạt động của MNN integration, nêu bật các use case phổ biến và hướng dẫn cách bắt đầu chạy inference bằng model Ultralytics YOLO11 đã được xuất. Hãy bắt đầu ngay!
Tổng quan về MNN: Một framework deep learning#
Việc chạy computer vision models trên các thiết bị nhỏ hơn như điện thoại di động, cảm biến công nghiệp và hệ thống di động không phải lúc nào cũng đơn giản. Các thiết bị này thường có bộ nhớ hạn chế, bộ xử lý chậm hơn và giới hạn năng lượng nghiêm ngặt.
Mobile Neural Network, hay MNN, là một inference engine nhẹ và có hiệu suất cao được Alibaba phát triển để giúp các model AI chạy hiệu quả trên phần cứng có tài nguyên thấp trong khi vẫn duy trì hiệu suất thời gian thực. MNN hỗ trợ nhiều nền tảng, bao gồm Android, iOS và Linux, đồng thời hoạt động trên nhiều loại phần cứng như CPU và GPU.

Hình 2. Tổng quan về MNN framework (Source).
Tích hợp MNN được hỗ trợ bởi Ultralytics giúp việc xuất các model YOLO11 sang định dạng MNN trở nên dễ dàng. Nói một cách đơn giản, điều này có nghĩa là các model có thể được chuyển đổi từ định dạng YOLO sang MNN.
Sau khi được chuyển đổi, chúng có thể được triển khai trên các thiết bị hỗ trợ framework MNN để thực hiện inference hiệu quả trên thiết bị. Lợi ích chính của việc sử dụng định dạng MNN là nó đơn giản hóa việc triển khai Ultralytics YOLO11 trong các tình huống mà dung lượng, tốc độ và hiệu quả tài nguyên là vô cùng quan trọng.
Các tính năng chính của MNN inference backend#
Trước khi đi sâu vào cách sử dụng MNN integration, hãy cùng xem xét lý do tại sao framework MNN là một lựa chọn tuyệt vời để chạy các model AI trên thiết bị thực tế. Nó được xây dựng để xử lý các ràng buộc đặc thù của môi trường biên trong khi vẫn mang lại hiệu suất nhanh và đáng tin cậy.
Thú vị là, MNN được Alibaba sử dụng nội bộ trong hơn 30 ứng dụng, bao gồm Taobao, Tmall, Youku, DingTalk và Xianyu, trong nhiều tình huống khác nhau như video trực tiếp, nội dung dạng ngắn, tìm kiếm hình ảnh và kiểm tra bảo mật trên thiết bị. Nó hỗ trợ triển khai quy mô lớn và thực hiện hàng triệu lượt inference mỗi ngày trong môi trường production.
Dưới đây là một số tính năng chính của framework MNN:
- Backend auto-selection: MNN có thể tự động chọn backend thực thi phù hợp nhất, chẳng hạn như CPU hoặc GPU, dựa trên phần cứng mà nó đang chạy.
- Multi-threaded execution: Hỗ trợ đa luồng, cho phép tận dụng tối đa các bộ xử lý đa nhân để chạy inference nhanh hơn.
- Hỗ trợ model quantization: Nó cho phép bạn giảm đáng kể kích thước model bằng cách sử dụng lượng tử hóa FP16 hoặc INT8, giúp cải thiện tốc độ inference trong khi sử dụng ít bộ nhớ hơn.
- Nhẹ và nhanh: MNN có dung lượng rất nhỏ, với thư viện cốt lõi khoảng 400 KB trên Android và khoảng 5 MB trên iOS, điều này làm cho nó trở nên lý tưởng cho các thiết bị di động và nhúng.
Hiểu cách thức hoạt động của MNN integration#
Tiếp theo, hãy cùng tìm hiểu cách xuất các model Ultralytics YOLO11 sang định dạng MNN.
Bước đầu tiên là cài đặt Ultralytics Python package, cung cấp mọi thứ cần thiết để xuất YOLO11 models sang định dạng MNN. Bạn có thể thực hiện việc này bằng cách chạy "pip install ultralytics" trên terminal hoặc sử dụng command prompt. Nếu bạn đang sử dụng Jupyter Notebook hoặc Google Colab, hãy thêm dấu chấm than trước câu lệnh.
Nếu bạn gặp bất kỳ sự cố nào trong quá trình cài đặt, hãy tham khảo Common Issues guide để biết các mẹo khắc phục sự cố.
Sau khi môi trường đã được thiết lập, bạn có thể load một model YOLO11 đã được huấn luyện sẵn như "yolo11n.pt" và xuất nó sang định dạng MNN như được hiển thị trong đoạn mã dưới đây. Nếu bạn đã huấn luyện model YOLO11 tùy chỉnh của riêng mình, bạn có thể xuất nó bằng cách thay thế tên tệp bằng đường dẫn đến model của bạn.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="mnn")Sau khi chuyển đổi model sang MNN, bạn có thể sử dụng nó trên các nền tảng di động và nhúng khác nhau tùy theo nhu cầu ứng dụng của bạn.
Ví dụ, giả sử bạn muốn kiểm thử model đã xuất trên video giao thông. Trong trường hợp đó, bạn có thể tải model Ultralytics YOLO11 ở định dạng MNN để phát hiện các đối tượng như phương tiện, người đi bộ và biển báo giao thông trực tiếp trên thiết bị, như trong ví dụ dưới đây.
mnn_model = YOLO("yolo11n.mnn")
results = mnn_model("https://videos.pexels.com/video-files/27783817/12223745_1920_1080_24fps.mp4", save=True)Khi inference hoàn tất, video đầu ouput với các đối tượng được phát hiện sẽ được lưu tự động trong thư mục 'runs/detect/predict'. Ngoài ra, nếu bạn muốn chạy inference trực tiếp bằng MNN Python package, bạn có thể xem Ultralytics documentation chính thức để biết thêm chi tiết và ví dụ.

Hình 3. Phân tích giao thông sử dụng model Ultralytics YOLO11 được xuất sang định dạng MNN. Hình ảnh bởi tác giả.
Các trường hợp sử dụng triển khai model AI biên được kích hoạt bởi Ultralytics YOLO11 và MNN#
Triển khai Ultralytics YOLO11 với MNN cho phép thực hiện các tác vụ computer vision nhanh chóng và hiệu quả như object detection trong các môi trường mà việc xử lý dựa trên đám mây là không khả thi hoặc không thể thực hiện được. Hãy xem tích hợp này có thể hữu ích như thế nào trong các tình huống thực tế.
Edge AI trên di động để nhận diện dịch bệnh trên thực vật#
Các ứng dụng nhận diện bệnh ở thực vật sử dụng image classification đang trở nên phổ biến đối với những người làm vườn, nhà nghiên cứu và những người yêu thiên nhiên. Chỉ với một bức ảnh, người dùng có thể nhanh chóng nhận biết các dấu hiệu bệnh sớm, chẳng hạn như đốm lá hoặc bạc màu. Vì các ứng dụng này thường được sử dụng ở ngoài trời, nơi kết nối internet có thể bị hạn chế hoặc không có sẵn, việc dựa vào xử lý đám mây có thể không đáng tin cậy.
Sau khi huấn luyện, model Ultralytics YOLO11 có thể được xuất sang định dạng MNN và chạy trực tiếp trên thiết bị di động. Model sau đó có thể phân loại các loài cây và phát hiện các triệu chứng bệnh có thể nhìn thấy được ở cục bộ, mà không cần gửi bất kỳ dữ liệu nào lên server.

Hình 4. Ví dụ về việc sử dụng YOLO11 để phát hiện các dấu hiệu gỉ sắt (một bệnh ở thực vật) trên lá (Source).
Thực hiện inference hiệu quả trên thiết bị trong sản xuất#
Việc theo dõi gói hàng chính xác là điều cần thiết trên các dây chuyền sản xuất bận rộn tại các cơ sở manufacturing. Ultralytics YOLO11 có thể được sử dụng để theo dõi và đếm từng mặt hàng khi nó di chuyển qua các điểm kiểm tra quan trọng, cập nhật số lượng theo thời gian thực và gắn cờ cho bất kỳ sự sai lệch nào. Điều này giúp giảm thiểu các lô hàng bị thiếu hoặc không được tính toán và hỗ trợ các hoạt động mượt mà, đáng tin cậy hơn.

Hình 5. Theo dõi và đếm kiện hàng bằng cách sử dụng YOLO11 (Source).
MNN integration có thể tạo ra tác động lớn trong bối cảnh này. Khi model Ultralytics YOLO11 được xuất sang định dạng MNN, nó có thể chạy trực tiếp trên các thiết bị nhỏ gọn, tiết kiệm điện năng được lắp đặt dọc theo băng chuyền.
Vì toàn bộ quá trình xử lý diễn ra cục bộ, hệ thống có thể cung cấp phản hồi tức thì và không cần kết nối internet. Điều này đảm bảo hiệu suất nhanh và đáng tin cậy trên sàn nhà máy, giúp quá trình sản xuất diễn ra hiệu quả trong khi vẫn duy trì độ chính xác và khả năng kiểm soát cao.
Ưu điểm của việc xuất Ultralytics YOLO11 sang định dạng model MNN#
Dưới đây là một số lợi ích chính của MNN integration do Ultralytics cung cấp:
- Thời gian phản hồi nhanh hơn: Vì inference chạy trên thiết bị, các dự đoán diễn ra trong thời gian thực với độ trễ tối thiểu.
- Improved data privacy: Dữ liệu được lưu giữ trên thiết bị, giảm thiểu nhu cầu gửi hình ảnh hoặc video nhạy cảm lên đám mây.
- Mã nguồn mở và được duy trì tích cực: Được hỗ trợ bởi Alibaba và một cộng đồng năng động, MNN đáng tin cậy và thường xuyên được cập nhật các cải tiến về hiệu suất.
Các yếu tố cần cân nhắc khi sử dụng framework MNN#
Trước khi chọn MNN làm framework triển khai, điều quan trọng là phải đánh giá mức độ phù hợp với các yêu cầu, mục tiêu triển khai và hạn chế kỹ thuật của dự án. Dưới đây là một số yếu tố chính cần cân nhắc:
- Khả năng tương thích liên tục: Các bản cập nhật framework hoặc thay đổi đối với nền tảng mục tiêu của bạn có thể yêu cầu kiểm tra lại hoặc điều chỉnh để đảm bảo mọi thứ vẫn hoạt động trơn tru.
- Ít công cụ gỡ lỗi hơn: So với các framework lớn hơn, MNN có các công cụ hạn chế hơn để gỡ lỗi và kiểm tra hành vi của model, điều này có thể làm cho việc khắc phục sự cố trở nên khó khăn hơn.
- Hiệu suất phụ thuộc vào phần cứng: Tốc độ và hiệu quả của model sẽ khác nhau tùy thuộc vào thiết bị. Hãy kiểm tra phần cứng mục tiêu để đảm bảo nó đáp ứng được các mục tiêu hiệu suất của bạn.
Các điểm chính cần lưu ý#
Sự hỗ trợ của Ultralytics đối với MNN integration giúp việc xuất các model YOLO11 để sử dụng trên thiết bị di động và nhúng trở nên dễ dàng. Đây là một tùy chọn thiết thực cho các ứng dụng yêu cầu phát hiện nhanh, đáng tin cậy mà không phụ thuộc vào quyền truy cập đám mây hoặc kết nối liên tục.
Cấu hình này giúp đơn giản hóa việc triển khai đồng thời duy trì hiệu suất và giữ mức tiêu thụ tài nguyên ở mức thấp. Cho dù bạn đang xây dựng các hệ thống nhà thông minh, công cụ hiện trường hay thiết bị công nghiệp nhỏ gọn, việc xuất Ultralytics YOLO11 sang MNN cung cấp một cách linh hoạt và hiệu quả để chạy các tác vụ computer vision trực tiếp trên edge device.
Hãy tham gia community đang phát triển của chúng tôi! Khám phá GitHub repository của chúng tôi để tìm hiểu sâu hơn về AI. Sẵn sàng bắt đầu các dự án computer vision của bạn chưa? Hãy xem các licensing options của chúng tôi. Khám phá thêm về AI in healthcare và computer vision in retail trên các trang giải pháp của chúng tôi!






