Xuất mô hình Ultralytics YOLOv8 sang định dạng mô hình NCNN để chạy các suy luận AI hiệu quả, độ trễ thấp trên các thiết bị biên có tài nguyên điện toán và năng lượng hạn chế.
Xuất mô hình Ultralytics YOLOv8 sang định dạng mô hình NCNN để chạy các suy luận AI hiệu quả, độ trễ thấp trên các thiết bị biên có tài nguyên điện toán và năng lượng hạn chế.
Các giải pháp AI đang trở nên phổ biến hơn, ngay cả trong các lĩnh vực có rủi ro cao như quản lý thảm họa, quản lý chất thải và chữa cháy. Khi việc áp dụng tiếp tục tăng lên, các mô hình AI đang được triển khai trong nhiều môi trường khác nhau - không chỉ trên máy chủ hoặc trên đám mây mà còn trực tiếp trên các thiết bị hoạt động tại hiện trường.
Ví dụ: máy bay không người lái và thiết bị có các thành phần edge được cung cấp bởi các bộ xử lý nhỏ có thể đóng một vai trò quan trọng trong các khu vực thảm họa. Được trang bị camera nhiệt, các thiết bị này có thể thu thập và phân tích dữ liệu tại chỗ để xác định vị trí những người bị mắc kẹt dưới đống đổ nát. Điều này có thể thực hiện được thông qua computer vision, một nhánh của trí tuệ nhân tạo diễn giải thông tin trực quan từ hình ảnh và video.
Tuy nhiên, việc triển khai các mô hình Vision AI trên các thiết bị biên không đơn giản như vẻ ngoài của nó. Các mô hình AI cần được tối ưu hóa để chạy hiệu quả trên phần cứng với sức mạnh tính toán và bộ nhớ hạn chế. Đó là lý do tại sao các framework AI như NCNN rất cần thiết. Chúng giúp chuyển đổi và tối ưu hóa các mô hình để có hiệu suất thời gian thực trên các thiết bị tiêu thụ điện năng thấp mà không làm giảm độ chính xác.
Đặc biệt, các mô hình Ultralytics YOLO như Ultralytics YOLO11 có thể dễ dàng được xuất sang định dạng mô hình NCNN bằng cách sử dụng tích hợp NCNN được hỗ trợ bởi Ultralytics. Việc chuyển đổi YOLO11 sang định dạng mô hình NCNN cho phép mô hình chạy nhanh hơn, sử dụng ít bộ nhớ hơn và hoạt động trơn tru trên các thiết bị khác nhau mà không làm giảm độ chính xác.
Trong bài viết này, chúng ta sẽ khám phá tích hợp NCNN được Ultralytics hỗ trợ và hướng dẫn bạn cách xuất mô hình YOLO11 sang định dạng mô hình NCNN. Hãy cùng bắt đầu!
NCNN là một framework suy luận mạng nơ-ron mã nguồn mở được phát triển bởi Tencent. Nó được thiết kế đặc biệt cho môi trường di động và biên, cung cấp khả năng suy luận hiệu suất cao với footprint tối thiểu. Điều này làm cho nó trở nên lý tưởng để triển khai trên các thiết bị có tài nguyên hạn chế như điện thoại thông minh, máy bay không người lái và các thiết bị IoT (Internet of Things).
Khung NCNN đã trở nên phổ biến trong cộng đồng AI và deep learning do tính hiệu quả, khả năng di động và tối ưu hóa cho CPU di động (Bộ xử lý trung tâm). Nó cho phép các nhà phát triển chạy các mô hình mạng nơ-ron trên các thiết bị giá cả phải chăng với bộ nhớ và sức mạnh xử lý hạn chế. Được thiết kế để đơn giản và linh hoạt, NCNN hỗ trợ nhiều loại mô hình computer vision và chạy trên nhiều nền tảng, bao gồm Android, Linux, iOS và macOS.

Dưới đây là một số tính năng chính giúp NCNN trở thành một framework suy luận mạng nơ-ron có tác động lớn và được sử dụng rộng rãi:
Sau khi thảo luận về NCNN là gì, hãy xem xét kỹ hơn cách xuất các mô hình YOLOv8 sang định dạng NCNN.
Trước khi xuất mô hình, bước đầu tiên là cài đặt gói Ultralytics Python bằng trình cài đặt gói, pip. Bạn có thể thực hiện việc này bằng cách chạy "pip install ultralytics" trong terminal hoặc dấu nhắc lệnh. Nếu bạn đang làm việc trong Jupyter Notebook hoặc Google Colab, hãy thêm dấu chấm than trước lệnh, như sau: "!pip install ultralytics".
Gói Ultralytics cung cấp các công cụ để huấn luyện, kiểm tra, tinh chỉnh và xuất các mô hình Vision AI cho nhiều tác vụ thị giác máy tính. Nếu bạn gặp bất kỳ sự cố nào trong quá trình cài đặt hoặc khi xuất mô hình, tài liệu chính thức của Ultralytics và hướng dẫn về các sự cố thường gặp là những tài nguyên tuyệt vời để khắc phục sự cố.
Sau khi cài đặt gói Ultralytics, bạn có thể tải mô hình YOLO11 của mình và xuất nó sang định dạng NCNN. Ví dụ bên dưới sử dụng mô hình được đào tạo trước ("yolo11n.pt") và xuất nó ở định dạng NCNN, lưu đầu ra trong một thư mục có tên "/yolo11n_ncnn_model".
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn") Mô hình YOLO11 đã xuất sau đó có thể được triển khai trên nhiều thiết bị nhẹ khác nhau như điện thoại thông minh, hệ thống nhúng hoặc nền tảng IoT. Quá trình triển khai cũng rất hợp lý.
Ví dụ: hãy xem xét đoạn mã dưới đây, đoạn mã này cho thấy cách tải mô hình đã xuất và chạy suy luận. Suy luận đề cập đến quá trình sử dụng mô hình đã huấn luyện để đưa ra dự đoán trên dữ liệu mới, chưa từng thấy. Trong ví dụ này, mô hình được kiểm tra trên một hình ảnh một người đàn ông đi xe đạp, được lấy từ một URL có sẵn công khai.
ncnn_model = YOLO("./yolo11n_ncnn_model")
results = ncnn_model("https://images.pexels.com/photos/19431209/pexels-photo-19431209/free-photo-of-a-man-riding-a-bike-on-a-road.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)Sau khi chạy code, bạn sẽ thấy ảnh đầu ra trong thư mục "runs/detect/predict".

Khi bạn tìm hiểu các tích hợp khác nhau mà Ultralytics hỗ trợ, bạn có thể thấy có một số tùy chọn xuất. Vậy, khi nào bạn nên chọn định dạng NCNN?
Định dạng xuất NCNN là một lựa chọn đáng tin cậy khi bạn cần triển khai các mô hình YOLO11 trên các thiết bị có tài nguyên hạn chế. Nó đặc biệt hữu ích cho các ứng dụng thời gian thực chạy trực tiếp trên thiết bị, như các thiết bị biên, mà không cần kết nối với đám mây. Điều này có nghĩa là mô hình có thể xử lý các tác vụ như object detection ngay tại chỗ.
Dưới đây là một số trường hợp phổ biến mà NCNN là một lựa chọn tuyệt vời:

Tiếp theo, hãy đi sâu vào một số trường hợp sử dụng thực tế, trong đó việc xuất các mô hình YOLO11 sang NCNN có thể tạo ra sự khác biệt thực sự.
Mũ bảo hiểm được trang bị camera và máy vi tính nhúng có thể được sử dụng trong các lĩnh vực như xây dựng và chữa cháy để cải thiện an toàn và nhận thức. Các mô hình Vision AI thời gian thực, như YOLO11, có thể được chạy trên các thiết bị này để phát hiện nhiều loại đối tượng và thiết bị khác nhau. Ví dụ: những chiếc mũ bảo hiểm như vậy có thể giúp lính cứu hỏa phát hiện người, chướng ngại vật hoặc nguy hiểm trong điều kiện tầm nhìn kém.
Tuy nhiên, việc chạy trực tiếp các mô hình kích thước đầy đủ trên các thiết bị đeo có thể gây ra hiệu suất chậm và làm hao pin nhanh chóng. Trong trường hợp này, sử dụng tích hợp NCNN là một lựa chọn thông minh. Nó cho phép suy luận độ trễ thấp, tiết kiệm năng lượng.
Tương tự, thùng rác thông minh có thể được tích hợp với camera và bộ xử lý AI biên nhỏ gọn để xác định và phân loại vật liệu khi chúng bị loại bỏ. Các mô hình Vision AI như YOLO11 có thể được tùy chỉnh huấn luyện để phát hiện các loại vật liệu phế thải khác nhau như giấy, nhựa, cao su, v.v.
Sau khi chất thải được xác định, nó có thể được tự động phân loại vào các ngăn riêng biệt dựa trên khả năng tái sử dụng của nó. Bằng cách sử dụng AI biên (edge AI) cùng với các mô hình YOLO11 đã xuất ở định dạng NCNN, các thùng này có thể xử lý dữ liệu cục bộ - mà không cần kết nối internet. Điều này cho phép chúng hoạt động tự chủ và đưa ra quyết định phân loại theo thời gian thực với độ trễ tối thiểu.

Đôi khi, các khu vực nông nghiệp ở vùng sâu vùng xa thiếu kết nối internet ổn định hoặc thậm chí nguồn điện liên tục, điều này hạn chế khả năng chạy các ứng dụng AI trực tuyến của họ. Trong những trường hợp như vậy, các thiết bị biên và máy bay không người lái có thể được sử dụng để xử lý nhiều tác vụ khác nhau.
Một ví dụ điển hình là giám sát vật nuôi như gia súc, cừu và gia cầm. Việc này có thể thực hiện bằng các mô hình Vision AI như YOLO11, được dùng để theo dõi sự di chuyển của động vật, phát hiện các dấu hiệu thương tích, bệnh tật hoặc hành vi bất thường và cảnh báo cho nông dân khi động vật bị mất. Tích hợp NCNN cũng cho phép chạy và xử lý dữ liệu này trực tiếp trên các thiết bị biên, rất phù hợp để phân tích hình ảnh và video tại các trang trại ở vùng sâu vùng xa hoặc ngoài lưới điện.

Xuất mô hình YOLOv8 bằng tích hợp NCNN được hỗ trợ bởi Ultralytics là một cách đơn giản để mang Vision AI đến các môi trường tiêu thụ ít điện năng. Cho dù đó là máy bay không người lái trong các khu vực thảm họa, thùng phân loại rác thông minh hay giám sát vật nuôi ở các trang trại отдалённый, YOLO và NCNN cho phép suy luận AI thời gian thực nhanh chóng, hiệu quả và di động. Cách tiếp cận này giúp làm cho các hệ thống AI trở nên dễ tiếp cận và đáng tin cậy hơn khi cần thiết nhất.
Bạn muốn tìm hiểu thêm về AI? Khám phá kho lưu trữ GitHub của chúng tôi, kết nối với cộng đồng của chúng tôi và xem các tùy chọn cấp phép của chúng tôi để khởi động dự án thị giác máy tính của bạn. Tìm hiểu cách các đổi mới như AI trong bán lẻ và thị giác máy tính trong chăm sóc sức khỏe đang định hình tương lai trên các trang giải pháp của chúng tôi.