Yolo Vision Thâm Quyến
Thâm Quyến
Tham gia ngay

Xuất mô hình Ultralytics YOLOv8 sang định dạng mô hình NCNN

Abirami Vina

5 phút đọc

18 tháng 6, 2025

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!

Tổng quan về NCNN: Một framework mạng nơ-ron nhẹ

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.

Hình 1. Các mô hình ở định dạng NCNN có thể được triển khai trên nhiều nền tảng.

Các tính năng chính của tối ưu hóa hiệu suất NCNN

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:

  • Thời gian chạy độc lập với phần cứng, gọn nhẹ: Framework NCNN được tối ưu hóa để chạy các mô hình trên CPU tiêu chuẩn và nó 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 mô hình: Đối với các ứng dụng mà bộ nhớ và tốc độ là rất quan trọng, NCNN hỗ trợ các phương pháp lượng tử hóa giúp giảm kích thước mô hình và cải thiện thời gian suy luận. Nó giúp chạy các mô hình AI trơn tru trên các thiết bị di động và nhúng.
  • Mã nguồn mở và dễ tiếp cận: Là một framework mã nguồn mở, NCNN có sẵn miễn phí cho bất kỳ ai sử dụng, sửa đổi và cải thiện. Điều này khuyến khích sự đổi mới và áp dụng rộng rãi trong nhiều trường hợp sử dụng khác nhau.
  • Phát triển và cộng đồng tích cực: NCNN được Tencent và một cộng đồng nhà phát triển đang phát triển tích cực duy trì trên GitHub, với các bản cập nhật thường xuyên và cải tiến khả năng tương thích của mô hình.

Xuất mô hình YOLOv8 sang định dạng NCNN: Hướng dẫn nhanh

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.

Bước 1: Cài đặt gói Ultralytics Python

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ố.

Bước 2: Xuất Ultralytics YOLO11

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".

Hình 2. Phát hiện đối tượng bằng mô hình YOLO11 đã xuất ở định dạng NCNN. Ảnh của tác giả.

Tại sao nên chọn phát hiện theo thời gian thực với NCNN?

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:

  • 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 các mô hình vào ứng dụng di động để suy luận nhanh chóng, trên thiết bị với độ trễ tối thiểu.
  • Hệ thống nhúng và thiết bị IoT (Embedded systems and IoT devices): Nếu bạn đang triển khai trên các thiết bị như Raspberry Pi hoặc NVIDIA Jetson, việc xuất sang NCNN có thể giúp tăng 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ủ: Mặc dù NCNN rất phù hợp cho các thiết bị tiêu thụ điện năng thấp, nhưng nó cũng hỗ trợ Linux, Windows và macOS cho môi trường máy tính để bàn và máy chủ. Điều này mang lại cho các nhà phát triển các tùy chọn linh hoạt để triển khai.
Hình 3. Các tùy chọn triển khai mô hình YOLO11 với NCNN. Hình ảnh của tác giả.

Các trường hợp sử dụng triển khai mô hình YOLO11 với NCNN

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 Vision AI cho lính cứu hỏa

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. 

Phân loại chất thải và thùng rác thông minh

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.

Hình 4. Phát hiện vật liệu thải nhựa bằng YOLO11.

Giám sát gia súc bằng máy bay không người lái 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 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.

Hình 5. Cái nhìn về việc sử dụng YOLO11 để theo dõi vật nuôi.

Những điều cần nhớ

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ẻ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.

Hãy cùng nhau xây dựng tương lai
của AI!

Bắt đầu hành trình của bạn với tương lai của học máy

Bắt đầu miễn phí
Đã sao chép liên kết vào clipboard