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
Xuất các mô hình YOLO11 của Ultralytics 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ó nguồn điện và tài nguyên tính toán 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, các mô hình AI đang được triển khai trong nhiều môi trường đa dạng hơn - 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 biên được cung cấp năng lượng bởi bộ xử lý nhỏ có thể đóng vai trò quan trọng trong các vùng 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 thị giác máy tính , 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 AI Vision trên các thiết bị biên không hề đơn giản như vẻ bề ngoài. 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 có công suất tính toán và bộ nhớ hạn chế. Đó là lý do tại sao các khuôn khổ AI như NCNN lại 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ị công suất 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 xuất sang định dạng mô hình NCNN bằng cách sử dụng tích hợp NCNN được Ultralytics hỗ trợ. 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 nhiều thiết bị khác nhau mà không làm mất độ 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 cách bạn có thể xuất mô hình YOLO11 của mình sang định dạng mô hình NCNN. Hãy bắt đầu nào!
Tổng quan về NCNN: Một khuôn khổ mạng nơ-ron nhẹ
NCNN là một khuôn khổ suy luận mạng nơ-ron nguồn mở do Tencent phát triển. Nó được thiết kế riêng cho môi trường di động và biên, cung cấp năng lượng cho suy luận hiệu suất cao với diện tích 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ị hạn chế về tài nguyên như điện thoại thông minh, máy bay không người lái và thiết bị IoT (Internet vạn vật).
Khung NCNN đã trở nên phổ biến trong cộng đồng AI và học sâu do tính hiệu quả, tính 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 mô hình thị giác máy tính 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 theo đị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
Sau đây là một số tính năng chính khiến NCNN trở thành một khuôn khổ suy luận mạng nơ-ron có tác động mạnh mẽ và được sử dụng rộng rãi:
Thời gian chạy nhẹ, không phụ thuộc vào phần cứng: Khung NCNN được tối ưu hóa để chạy các mô hình trên CPU tiêu chuẩn 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 mô hình: Đối với các ứng dụng mà bộ nhớ và tốc độ là yếu 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 thiết bị di động và nhúng.
Nguồn mở và có thể truy cập: Là một khuôn khổ nguồn mở, NCNN được cung cấp 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.
Phát triển tích cực và cộng đồng : NCNN được Tencent và cộng đồng nhà phát triển ngày càng lớn mạnh duy trì trên GitHub, thường xuyên cập nhật và cải thiện khả năng tương thích của mô hình.
Xuất YOLO11 sang định dạng mô hình NCNN: Hướng dẫn nhanh
Bây giờ chúng ta đã thảo luận về NCNN là gì, hãy cùng xem xét kỹ hơn cách xuất mô hình YOLO11 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 của bạn. 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ụ để đào tạo, 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 Các sự cố thường gặp là những nguồn 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 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ã bên dưới, cho biết 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 đã được đào tạo để đưa ra dự đoán về dữ liệu mới, chưa từng thấy. Trong ví dụ này, mô hình được thử nghiệm trên hình ảnh một người đàn ông đang đạp xe, được lấy từ một URL công khai.
Sau khi chạy mã, bạn sẽ thấy hình ả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 được xuất theo định dạng NCNN. Hình ảnh của tác giả.
Tại sao nên chọn phát hiện thời gian thực với NCNN
Khi bạn khám phá các tích hợp khác nhau mà Ultralytics hỗ trợ, bạn có thể nhận thấy rằng có một số tùy chọn xuất có sẵn. Vậy, khi nào bạn nên chọn định dạng NCNN?
Định dạng xuất NCNN là 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ế. Đị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ị, như 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ư phát hiện đối tượng ngay tại chỗ.
Sau đây là một số tình huống phổ biến mà NCNN có thể 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 các mô hình vào ứng dụng di động để suy luận 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 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 cường hiệu suất và khả năng phản hồi.
Triển khai máy tính để bàn và máy chủ: Mặc dù NCNN rất phù hợp với các thiết bị công suất 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 cung cấp 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, chúng ta hãy tìm hiểu sâu hơn một số trường hợp sử dụng thực tế mà việc xuất 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 dùng để chữa cháy
Mũ bảo hiểm an toàn được trang bị camera và máy tính siêu 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 sự an toàn và nhận thức. Các mô hình AI thị giác 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 vật thể 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 mối nguy hiểm trong điều kiện tầm nhìn thấp.
Tuy nhiên, chạy các mô hình kích thước đầy đủ trực tiếp trên các thiết bị đeo được có thể khiến hiệu suất chậm và làm cạn 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 có độ trễ thấp, 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ự như vậy, thùng rác thông minh có thể được tích hợp với camera và bộ xử lý AI nhỏ gọn để nhận dạng và phân loại vật liệu khi chúng bị loại bỏ. Các mô hình AI thị giác như YOLO11 có thể được đào tạo tùy chỉnh để phát hiện các loại vật liệu thải khác nhau như giấy, nhựa, cao su, v.v.
Sau khi xác định được chất thải, nó có thể được tự động phân loại thành 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 cạnh cùng với các mô hình YOLO11 được 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ự động 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 máy bay không người lái và công nghệ thị giác máy tính
Đôi khi, các khu vực nông nghiệp ở những nơi xa xôi không có kết nối internet ổn định hoặc thậm chí là nguồn điện ổn định, điều này hạn chế khả năng chạy các ứng dụng AI trực tuyến. 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 nhiệm 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. Điều này có thể thực hiện bằng cách sử dụng các mô hình Vision AI như YOLO11, có thể được sử dụng để theo dõi chuyển động của động vật, phát hiện các dấu hiệu bị thương, bệnh tật hoặc hành vi bất thường và cảnh báo cho người nông dân khi động vật bị mất tích. Tích hợp NCNN cũng giúp có thể chạy và xử lý dữ liệu này trực tiếp trên các thiết bị biên, giúp nó phù hợp tuyệt vời để phân tích hình ảnh và video trên các trang trại ở vùng xa xôi hoặc ngoài lưới điện.
Hình 5. Một góc nhìn về việc sử dụng YOLO11 để theo dõi vật nuôi.
Những điểm chính
Xuất các mô hình YOLO11 bằng tích hợp NCNN được Ultralytics hỗ trợ là một cách đơn giản để đưa Vision AI vào các môi trường có công suất thấp. Cho dù đó là máy bay không người lái trong vùng thiên tai, 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 xa xôi, YOLO và NCNN cho phép suy luận AI theo thời gian thực nhanh chóng, hiệu quả và di động. Cách tiếp cận này giúp các hệ thống AI dễ tiếp cận và đáng tin cậy hơn khi cần thiết nhất.