Xuất các model Ultralytics YOLO11 sang định dạng model NCNN
Xuất model Ultralytics YOLO11 sang định dạng NCNN để chạy suy luận hiệu quả, độ trễ thấp trên các thiết bị edge có nguồn điện và tài nguyên tính toán hạn chế.
Abirami Vina11 phút đọc
Các giải pháp AI ngày càng phổ biến, kể cả trong những lĩnh vực có rủi ro cao như quản lý thiên tai, quản lý chất thải và chữa cháy. Khi mức độ ứng dụng tiếp tục tăng, model AI đang được triển khai trong nhiều môi trường đa dạng hơn — không chỉ trên server hay cloud mà còn trực tiếp trên các thiết bị hoạt động ngoài hiện trường.
Ví dụ, drone và thiết bị có thành phần edge sử dụng bộ xử lý nhỏ có thể đóng vai trò then chốt tại các vùng thảm họa. Được trang bị camera nhiệt, những thiết bị này có thể thu thập và phân tích dữ liệu tại hiện trường để xác định vị trí người mắc kẹt dưới đống đổ nát. Điều này có thể thực hiện được nhờ thị giác máy tính, một nhánh của trí tuệ nhân tạo giúp diễn giải thông tin hình ảnh từ ảnh và video.
Tuy nhiên, triển khai model AI thị giác trên thiết bị biên không đơn giản như vẻ ngoài. Model AI cần được tối ưu để chạy hiệu quả trên phần cứng có năng lực tính toán và bộ nhớ hạn chế. Vì vậy, các framework AI như NCNN rất cần thiết. Chúng giúp chuyển đổi và tối ưu model để đạt hiệu suất thời gian thực trên thiết bị công suất thấp với mức suy giảm độ chính xác tối thiểu.
Cụ thể, có thể dễ dàng xuất các model Ultralytics YOLO như Ultralytics YOLO11 sang định dạng model NCNN bằng tích hợp NCNN được Ultralytics hỗ trợ. Chuyển YOLO11 sang định dạng model NCNN giúp model chạy nhanh hơn, dùng ít bộ nhớ hơn và hoạt động mượt mà trên nhiều thiết bị với mức suy giảm độ chính xác tối thiểu.
Trong bài viết này, chúng tôi sẽ tìm hiểu tích hợp NCNN được Ultralytics hỗ trợ và hướng dẫn cách xuất model YOLO11 sang định dạng model NCNN.
Tổng quan về NCNN: Framework mạng nơ-ron gọn nhẹ#
NCNN là framework inference mạng nơ-ron mã nguồn mở do Tencent phát triển. Framework này được thiết kế chuyên biệt cho môi trường di động và edge, mang lại khả năng inference hiệu suất cao với mức tài nguyên tối thiểu. Nhờ vậy, NCNN phù hợp để triển khai trên các thiết bị có tài nguyên hạn chế như smartphone, drone và thiết bị IoT (Internet vạn vật).
Framework NCNN ngày càng phổ biến trong cộng đồng AI và deep learning nhờ hiệu quả, khả năng di động và khả năng tối ưu cho CPU di động (bộ xử lý trung tâm). Framework này cho phép nhà phát triển chạy model mạng nơ-ron trên các thiết bị giá phải chăng với bộ nhớ và năng lực xử lý hạn chế. Được thiết kế đơn giản và linh hoạt, NCNN hỗ trợ nhiều model thị giác máy tính và hoạt động trên nhiều nền tảng, bao gồm Android, Linux, iOS và macOS.

Hình 1. Có thể triển khai model định dạng NCNN trên nhiều nền tảng.
Các tính năng chính giúp NCNN tối ưu hiệu suất#
Dưới đây là một số tính năng chính giúp NCNN trở thành framework inference mạng nơ-ron hiệu quả và được sử dụng rộng rãi:
- Runtime gọn nhẹ, không phụ thuộc phần cứng: Framework NCNN được tối ưu để chạy model trên CPU phổ thông và không yêu cầu phần cứng chuyên dụng như GPU (bộ xử lý đồ họa) hoặc NPU (bộ xử lý thần kinh).
- Lượng tử hóa model: Với các ứng dụng đòi hỏi khắt khe về bộ nhớ và tốc độ, NCNN hỗ trợ các phương pháp lượng tử hóa giúp giảm kích thước model và cải thiện thời gian inference. Nhờ đó, model AI có thể chạy mượt mà trên thiết bị di động và thiết bị nhúng.
- Mã nguồn mở và dễ tiếp cận: Là một framework mã nguồn mở, NCNN được cung cấp miễn phí để mọi người sử dụng, chỉnh sửa và cải thiện. Điều này thúc đẩy đổi mới và mức độ ứng dụng rộng rãi trong nhiều trường hợp sử dụng.
- Được phát triển tích cực và có cộng đồng hỗ trợ: NCNN được Tencent và cộng đồng nhà phát triển ngày càng lớn duy trì tích cực trên GitHub, với các bản cập nhật thường xuyên và cải thiện khả năng tương thích model.
Export Ultralytics YOLO11 sang định dạng model NCNN: Hướng dẫn nhanh#
Giờ đây, sau khi tìm hiểu NCNN là gì, hãy cùng xem kỹ hơn cách export model Ultralytics YOLO11 sang định dạng NCNN.
Bước 1: Cài đặt gói Python Ultralytics#
Trước khi xuất model, bước đầu tiên là cài đặt package Ultralytics Python bằng trình cài đặt package 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 command prompt. Nếu đ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 thử, tinh chỉnh và export model AI thị giác cho nhiều tác vụ thị giác máy tính. Nếu gặp sự cố trong quá trình cài đặt hoặc export model, tài liệu chính thức của Ultralytics và hướng dẫn Sự cố thường gặp là những tài nguyên hữu ích để khắc phục sự cố.
Bước 2: Export Ultralytics YOLO11#
Sau khi cài đặt package Ultralytics, bạn có thể tải model YOLO11 và xuất model sang định dạng NCNN. Ví dụ bên dưới sử dụng model YOLO11n (yolo11n.pt) được huấn luyện trước, xuất model sang định dạng NCNN và lưu đầu ra trong thư mục có tên yolo11n_ncnn_model.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")Sau đó, có thể triển khai model Ultralytics YOLO11 đã export trên nhiều thiết bị gọn nhẹ như điện thoại thông minh, hệ thống nhúng hoặc nền tảng IoT. Quy trình triển khai cũng rất tinh gọn.
Ví dụ, hãy xem đoạn code bên dưới, minh họa cách tải model đã xuất và chạy suy luận. Suy luận là quá trình dùng model đã 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, model được kiểm thử trên ảnh một người đàn ông đang đi xe đạp, được lấy từ một URL 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.

Hình 2. Phát hiện đối tượng bằng model Ultralytics YOLO11 đã export ở định dạng NCNN. Ảnh do tác giả cung cấp.
Vì sao nên chọn phát hiện thời gian thực với NCNN#
Khi tìm hiểu các tích hợp mà Ultralytics hỗ trợ, bạn có thể nhận thấy có một số tùy chọn export. Vậy khi nào nên chọn định dạng NCNN?
Định dạng export NCNN là lựa chọn đáng tin cậy khi bạn cần triển khai model Ultralytics YOLO11 trên các thiết bị có tài nguyên hạn chế. Định dạng này đặ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ị, chẳng hạn như thiết bị biên, mà không cần kết nối với cloud. Nhờ đó, model có thể xử lý các tác vụ như phát hiện đối tượng ngay tại chỗ.
Dưới đây là một số tình huống phổ biến mà NCNN là lựa chọn phù hợp:
- Triển khai trên thiết bị di động: Định dạng NCNN được tối ưu hóa cho Android và iOS, giúp dễ dàng tích hợp model vào ứng dụng di động để chạy inference nhanh trên thiết bị với độ trễ tối thiểu.
- Hệ thống nhúng và thiết bị IoT: Nếu triển khai trên các thiết bị như Raspberry Pi hoặc NVIDIA Jetson, xuất sang NCNN có thể giúp cải thiện hiệu suất và khả năng phản hồi.
- Triển khai trên máy tính để bàn và máy chủ: NCNN phù hợp với các thiết bị công suất thấp, đồng thời cũng hỗ trợ Linux, Windows và macOS trong môi trường máy tính để bàn và máy chủ. Điều này mang đến cho nhà phát triển các tùy chọn triển khai linh hoạt.

Hình 3. Các tùy chọn triển khai model Ultralytics YOLO11 với NCNN. Ảnh do tác giả cung cấp.
Các trường hợp sử dụng khi triển khai model Ultralytics YOLO11 với NCNN#
Tiếp theo, hãy cùng xem một số trường hợp sử dụng thực tế mà việc xuất model Ultralytics YOLO11 sang NCNN có thể tạo ra khác biệt đáng kể.
Mũ bảo hộ tích hợp AI thị giác dành cho lính cứu hỏa#
Mũ bảo hộ được trang bị camera và máy tính siêu nhỏ tích hợp có thể được sử dụng trong các lĩnh vực như xây dựng và chữa cháy để nâng cao an toàn và nhận thức tình huống. Có thể chạy các model AI thị giác thời gian thực như Ultralytics YOLO11 trên những thiết bị này để phát hiện nhiều loại đối tượng và thiết bị. Ví dụ, những chiếc mũ nà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 mối nguy trong điều kiện tầm nhìn kém.
Tuy nhiên, chạy các model kích thước đầy đủ trực tiếp trên thiết bị đeo có thể làm giảm hiệu năng và nhanh chóng tiêu hao pin. Trong trường hợp này, sử dụng tích hợp NCNN là lựa chọn hợp lý. Tích hợp này cho phép inference có độ trễ thấp và tiết kiệm năng lượng.
Phân loại rác thải và thùng rác thông minh#
Tương tự, có thể tích hợp thùng rác thông minh với camera và bộ xử lý AI biên nhỏ gọn để nhận diện và phân loại vật liệu khi chúng bị vứt bỏ. Các model AI thị giác như YOLO11 có thể được huấn luyện tùy chỉnh để phát hiện nhiều loại vật liệu rác như giấy, nhựa, cao su, v.v.
Sau khi được nhận diện, rác thải có thể tự động được phân loại vào các ngăn riêng dựa trên khả năng tái sử dụng. Bằng cách sử dụng AI biên cùng với model Ultralytics YOLO11 đã export ở định dạng NCNN, các thùng rác này có thể xử lý dữ liệu cục bộ mà không cần kết nối internet. Nhờ đó, chúng có thể 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.

Hình 4. Phát hiện vật liệu rác thải nhựa bằng YOLO11.
Giám sát gia súc bằng drone và thị giác máy tính#
Đôi khi, các khu vực nông nghiệp ở vùng sâu vùng xa không có kết nối internet ổn định hoặc thậm chí không có nguồn điện ổn định, khiến việc chạy ứng dụng AI trực tuyến bị hạn chế. Trong những trường hợp này, có thể sử dụng thiết bị biên và drone để 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ể được thực hiện bằng các model AI thị giác như YOLO11 để theo dõi chuyển động của động vật, phát hiện dấu hiệu chấn thương, bệnh tật hoặc hành vi bất thường, đồng thời cảnh báo người chăn nuôi khi vật nuôi bị thất lạc. 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 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 không có kết nối điện lưới.

Hình 5. Minh họa việc sử dụng YOLO11 để giám sát vật nuôi.
Điểm chính cần ghi nhớ#
Xuất model YOLO11 bằng tích hợp NCNN được Ultralytics hỗ trợ là cách đơn giản để đưa AI thị giác vào môi trường công suất thấp. Dù là drone tại vùng thảm họa, thùng rác phân loại thông minh hay hệ thống giám sát vật nuôi tại trang trại xa xôi, YOLO và NCNN đều hỗ trợ suy luận AI thời gian thực nhanh, hiệu quả và linh hoạt trên nhiều nền tảng. Cách tiếp cận này giúp hệ thống AI dễ tiếp cận và đáng tin cậy hơn khi điều đó quan trọng nhất.
Bạn muốn tìm hiểu thêm về AI? Khám phá repository GitHub, 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 để bắt đầu dự án thị giác máy tính của bạn. Tìm hiểu cách những đổ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.
Được viết bởi
Bình luận
Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.










