Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Tích hợp

Sử dụng tích hợp ONNX để export model Ultralytics YOLO

Tìm hiểu cách xuất model Ultralytics YOLO11 sang ONNX, chạy suy luận với model đã xuất và triển khai trên CPU, GPU, thiết bị di động và thiết bị edge.

Abirami VinaAbirami Vina14 phút đọc
Tìm hiểu cách xuất model Ultralytics YOLO11 sang ONNX, chạy suy luận với model đã xuất và triển khai trên CPU, GPU, thiết bị di động và thiết bị edge.

Khi các giải pháp AI bắt đầu thu hút sự chú ý, hầu hết model được triển khai trên các máy chủ mạnh trong môi trường được kiểm soát. Tuy nhiên, cùng với sự tiến bộ của công nghệ, phạm vi triển khai đã mở rộng vượt xa trung tâm dữ liệu.

Ngày nay, các model AI chạy trên nhiều thiết bị, từ server đám mây và máy tính để bàn đến điện thoại thông minh và thiết bị biên. Sự chuyển dịch này hỗ trợ xử lý nhanh hơn, hoạt động ngoại tuyến và các hệ thống thông minh hơn, vận hành gần nơi dữ liệu được tạo ra.

Một lĩnh vực thể hiện rõ điều này là thị giác máy tính—một nhánh của AI cho phép máy móc diễn giải dữ liệu hình ảnh. Công nghệ này đang hỗ trợ các ứng dụng như nhận diện khuôn mặt, lái xe tự hành và phân tích video theo thời gian thực. Khi các ứng dụng này ngày càng phổ biến, nhu cầu về những model có thể vận hành mượt mà trên nhiều phần cứng và nền tảng khác nhau cũng tăng lên.

Tuy nhiên, việc triển khai các model thị giác máy tính trên nhiều mục tiêu triển khai không phải lúc nào cũng đơn giản. Các thiết bị khác nhau về phần cứng, hệ điều hành và framework được hỗ trợ, khiến tính linh hoạt và khả năng tương thích trở nên thiết yếu.

Đó là lý do khả năng xuất các model thị giác máy tính như Ultralytics YOLO11 sang nhiều định dạng khác nhau rất quan trọng. Chẳng hạn, tích hợp ONNX (Trao đổi Mạng nơ-ron Mở) do Ultralytics hỗ trợ cung cấp một phương thức thiết thực để thu hẹp khoảng cách giữa huấn luyện và triển khai. ONNX là một định dạng mở giúp model không phụ thuộc framework và sẵn sàng triển khai trên nhiều nền tảng.

ONNX cho phép model được huấn luyện bằng một framework chạy trên framework khác

Hình 1. ONNX giúp bạn dễ dàng sử dụng model được huấn luyện bằng một framework trong một framework khác.

Trong bài viết này, chúng ta sẽ tìm hiểu kỹ hơn về tích hợp ONNX được Ultralytics hỗ trợ và khám phá cách xuất model YOLO11 để triển khai linh hoạt trên nhiều nền tảng.

ONNX và ONNX Runtime là gì?#

Open Neural Network Exchange là một dự án mã nguồn mở định nghĩa định dạng tiêu chuẩn cho các model machine learning. Ban đầu được Microsoft và Facebook phát triển, dự án này cho phép nhà phát triển huấn luyện model bằng một framework, chẳng hạn như PyTorch, rồi chạy model trong framework khác, chẳng hạn như TensorFlow. Điều này giúp việc phát triển AI linh hoạt, cộng tác và dễ tiếp cận hơn, đặc biệt trong các lĩnh vực như thị giác máy tính.

ONNX cung cấp một tập hợp toán tử chung và định dạng tệp thống nhất, giúp chuyển model giữa các công cụ, framework, runtime và trình biên dịch khác nhau dễ dàng hơn. Thông thường, model được huấn luyện bằng một framework không dễ tương thích với framework khác — nhưng với ONNX, bạn có thể xuất model một lần và triển khai ở hầu hết mọi nơi: trên CPU (bộ xử lý trung tâm), GPU (bộ xử lý đồ họa), thiết bị di động hoặc phần cứng biên.

Ngoài ra, ONNX Runtime là một engine suy luận hiệu năng cao được phát triển riêng để chạy các model ở định dạng ONNX. Engine này được thiết kế để giúp model ONNX chạy nhanh hơn và hiệu quả hơn trên nhiều nền tảng, bao gồm máy chủ, thiết bị di động và phần cứng biên. ONNX Runtime tương thích với các framework phổ biến như PyTorch, TensorFlow, TensorFlow Lite và scikit-learn, nhờ đó dễ dàng tích hợp vào các quy trình làm việc khác nhau và triển khai model ở bất cứ nơi nào cần thiết.

ONNX và ONNX Runtime hỗ trợ triển khai model đa nền tảng

Hình 2. ONNX và ONNX Runtime hỗ trợ triển khai model linh hoạt trên nhiều nền tảng.

Các tính năng chính của ONNX#

Trước khi tìm hiểu cách xuất Ultralytics YOLO11 sang định dạng ONNX, hãy cùng xem qua một số tính năng chính của định dạng model ONNX.

Dù bạn chuyển đổi giữa các công cụ, triển khai trên nhiều thiết bị hay nâng cấp hệ thống, ONNX giúp mọi thứ vận hành trơn tru. Sau đây là những điểm tạo nên sự khác biệt của định dạng model ONNX:

  • Một định dạng tiêu chuẩn: ONNX sử dụng một cách biểu diễn chung để mô tả cấu trúc model, chẳng hạn như các layer và phép toán (có thể hình dung chúng như những khối cấu tạo). Khi chuyển đổi sang ONNX, model tuân theo tiêu chuẩn này để mọi hệ thống hỗ trợ ONNX đều có thể hiểu và chạy model.
  • Tương thích ngược: Dù ONNX liên tục được cải tiến, định dạng này vẫn đảm bảo các model cũ hoạt động với những phiên bản mới hơn. Nhờ đó, bạn không cần huấn luyện lại hoặc xây dựng lại model mỗi khi ONNX được cập nhật.
  • Thiết kế model dựa trên đồ thị: Model ONNX được cấu trúc thành đồ thị tính toán, trong đó mỗi nút biểu diễn một phép toán (chẳng hạn như một layer hoặc hàm toán học), còn các cạnh biểu thị luồng dữ liệu. Thiết kế dựa trên đồ thị này giúp tích hợp với nhiều hệ thống sử dụng cấu trúc đồ thị tính toán tương tự.
  • Công cụ thân thiện với nhà phát triển: ONNX đi kèm nhiều công cụ hỗ trợ chuyển đổi, xác thực và tối ưu model. Những công cụ này đơn giản hóa quá trình chuyển model giữa các framework và có thể tăng tốc triển khai, đặc biệt trong các ứng dụng thị giác máy tính.

Tổng quan về tích hợp ONNX#

Xuất model Ultralytics YOLO, chẳng hạn như Ultralytics YOLO11, sang định dạng ONNX rất đơn giản và có thể thực hiện chỉ với vài bước.

Để bắt đầu, hãy cài đặt gói Python của Ultralytics bằng trình quản lý gói như pip. Bạn có thể thực hiện việc này bằng cách chạy pip install ultralytics trong dấu nhắc lệnh hoặc terminal.

Với gói Ultralytics, bạn có thể dễ dàng huấn luyện, kiểm thử, tinh chỉnh, xuất và triển khai model cho nhiều tác vụ thị giác máy tính, giúp toàn bộ quy trình nhanh chóng và hiệu quả hơn. Nếu gặp khó khăn trong quá trình cài đặt, hãy tham khảo hướng dẫn Xử lý sự cố thường gặp để tìm giải pháp và mẹo hữu ích.

Sau khi cài đặt gói Ultralytics, bạn có thể tải và xuất model YOLO11 sang định dạng ONNX bằng đoạn mã dưới đây. Ví dụ này tải model YOLO11 đã được huấn luyện trước (yolo11n.pt) và xuất model thành tệp ONNX (yolo11n.onnx), sẵn sàng để triển khai trên nhiều nền tảng và thiết bị.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="onnx")

Các bước tương tự cũng áp dụng cho những model mới hơn như Ultralytics YOLO26. Sau khi chuyển model sang định dạng ONNX và xác nhận rằng model cho kết quả giống với model gốc, bạn có thể triển khai model trên nhiều nền tảng.

Ví dụ dưới đây cho biết cách tải model YOLO11 đã xuất (yolo11n.onnx) và chạy suy luận với model đó. Suy luận đơn giản là dùng model đã huấn luyện để đưa ra dự đoán trên dữ liệu mới. Trong trường hợp này, chúng ta sẽ dùng URL của ảnh xe buýt để kiểm thử model.

onnx_model = YOLO("yolo11n.onnx")
results = onnx_model("https://ultralytics.com/images/bus.jpg", save=True)

Khi chạy đoạn mã này, ảnh đầu ra sau đây sẽ được lưu trong thư mục runs/detect/predict.

Chạy suy luận trên ảnh bằng model Ultralytics YOLO11 đã xuất

Hình 3. Chạy suy luận trên ảnh bằng model Ultralytics YOLO11 đã xuất.

Khi nào nên chọn tích hợp ONNX?#

Gói Python Ultralytics hỗ trợ xuất model sang nhiều định dạng, bao gồm TorchScript, CoreML, TensorRT và ONNX. Vậy tại sao nên chọn ONNX?

Điểm nổi bật của ONNX là định dạng này không phụ thuộc vào framework. Trong khi nhiều định dạng xuất khác gắn liền với các công cụ hoặc môi trường cụ thể, ONNX sử dụng định dạng tiêu chuẩn hóa cùng một tập hợp toán tử chung. Nhờ đó, ONNX có tính di động cao, tương thích với phần cứng và lý tưởng cho việc triển khai đa nền tảng — dù bạn làm việc với máy chủ đám mây, ứng dụng di động hay thiết bị biên.

Sau đây là một số lý do khiến tích hợp ONNX có thể là lựa chọn lý tưởng cho các dự án Ultralytics YOLO11 của bạn:

  • Triển khai linh hoạt: Sau khi xuất sang ONNX, bạn có thể triển khai model Ultralytics YOLO11 trên nhiều nền tảng mà không cần thay đổi mã hoặc huấn luyện lại.
  • Được hỗ trợ rộng rãi trong ngành: ONNX được các công ty AI và framework lớn hỗ trợ, trở thành định dạng đáng tin cậy và được chấp nhận rộng rãi. ONNX đảm bảo khả năng tương thích lâu dài, tương tự như cách PDF hoạt động trên nhiều thiết bị.
  • Phát triển bền vững trong tương lai: Sử dụng ONNX giúp bảo vệ khoản đầu tư vào model. Khi các công cụ phát triển, ONNX giúp model của bạn luôn phù hợp và có thể sử dụng, kể cả trong những môi trường mới hoặc khác biệt.
  • Không bị khóa vào nhà cung cấp: Một số công cụ buộc bạn chỉ sử dụng hệ thống của họ, điều này có thể hạn chế khả năng của model. ONNX tránh được vấn đề đó bằng cách cho phép bạn chọn nền tảng phù hợp nhất với nhu cầu, thay vì bị ràng buộc vào một cấu hình duy nhất.

Ứng dụng của Ultralytics YOLO11 và định dạng model ONNX#

Tiếp theo, hãy cùng khám phá một số ứng dụng thực tế có thể triển khai Ultralytics YOLO11 với sự hỗ trợ của tích hợp ONNX.

Theo dõi hàng tồn kho trong kho bằng Ultralytics YOLO11#

Trong các nhà kho đông đúc, rất khó theo dõi mọi sản phẩm và kiện hàng mọi lúc. Hệ thống thị giác máy tính có thể giúp nhân viên tìm sản phẩm trên kệ và cung cấp thông tin như số lượng, loại sản phẩm, v.v. Những hệ thống này có thể giúp doanh nghiệp tự động quản lý lượng hàng tồn kho lớn và tiết kiệm đáng kể thời gian cho nhân viên kho.

Cụ thể, tại nhà kho thông minh, các model Ultralytics YOLO11 được xuất sang ONNX có thể dùng camera và thiết bị biên để nhận diện, đếm mặt hàng theo thời gian thực. Model đã xuất có thể quét kệ hàng hoặc pallet để phát hiện mức tồn kho, mặt hàng bị thiếu hoặc vị trí trống. Vì model ONNX chạy hiệu quả trên nhiều loại phần cứng, model có thể chạy trực tiếp trên các thiết bị biên nhỏ như camera thông minh, không cần máy chủ đắt tiền hay kết nối cloud liên tục.

Ví dụ sử dụng Ultralytics YOLO11 để phát hiện và đếm kiện hàng

Hình 4. Ví dụ sử dụng YOLO11 để phát hiện và đếm kiện hàng.

Quản lý chất thải bệnh viện bằng Ultralytics YOLO11#

Các bệnh viện trên khắp thế giới tạo ra lượng lớn chất thải mỗi ngày, từ găng tay và ống tiêm đã qua sử dụng đến thiết bị dùng trong phẫu thuật (chẳng hạn như kéo và dao mổ dùng một lần hoặc bị nhiễm bẩn). Trên thực tế, nghiên cứu cho thấy các bệnh viện tạo ra hơn 5 triệu tấn chất thải mỗi năm, tương đương 29 pound chất thải trên mỗi giường bệnh mỗi ngày.

Phân loại đúng loại chất thải này là điều thiết yếu để đảm bảo vệ sinh, an toàn và tuân thủ quy định. Với các model Ultralytics YOLO11 được xuất ở định dạng ONNX, bệnh viện có thể ứng dụng thị giác máy tính trong chăm sóc sức khỏe để tự động hóa và giám sát việc xử lý chất thải theo thời gian thực.

Ví dụ, camera đặt gần thùng rác ở những khu vực như phòng mổ hoặc hành lang có thể giám sát các vật phẩm khi chúng bị vứt bỏ. Model Ultralytics YOLO11 tùy chỉnh, được huấn luyện để nhận diện nhiều loại chất thải y tế, có thể phân tích video và xác định những gì đang bị vứt đi. Nếu một vật phẩm bị bỏ nhầm thùng, chẳng hạn như ống tiêm đã qua sử dụng bị bỏ vào thùng rác thông thường, hệ thống có thể lập tức phát cảnh báo bằng đèn hoặc âm thanh để thông báo cho nhân viên, giúp ngăn ngừa nhiễm bẩn và đảm bảo tuân thủ quy định.

Sử dụng Ultralytics YOLO11 để phát hiện dụng cụ y tế

Hình 5. Sử dụng Ultralytics YOLO11 để phát hiện dụng cụ y tế.

Giám sát cây trồng bằng Ultralytics YOLO11#

Xác định đúng thời điểm thu hoạch có thể ảnh hưởng lớn đến cả chất lượng nông sản lẫn năng suất tổng thể của trang trại. Theo cách truyền thống, nông dân dựa vào kinh nghiệm và kiểm tra thủ công — nhưng những tiến bộ công nghệ gần đây đang dần thay đổi điều đó.

Giờ đây, với những đổi mới trong thị giác máy tính như YOLO11 được xuất ở định dạng ONNX, nông dân có thể tự động hóa và tăng độ chính xác khi canh tác. Bằng cách sử dụng drone hoặc camera gắn trên máy kéo hay cột, nông dân có thể chụp ảnh cây trồng (chẳng hạn như cà chua, táo hoặc lúa mì). Sau đó, YOLO11 có thể phát hiện các chỉ dấu quan trọng như màu sắc, kích thước và phân bố cây trồng. Dựa trên thông tin này, nông dân có thể xác định cây trồng đã sẵn sàng thu hoạch, vẫn đang phát triển hay đã qua thời điểm thu hoạch tối ưu.

Ultralytics YOLO11 phát hiện cây trồng trong cảnh quay từ drone trên không

Hình 6. Có thể sử dụng YOLO11 để phát hiện cây trồng trong cảnh quay từ drone trên không.

Những hạn chế cần cân nhắc của ONNX#

Dù ONNX mang lại nhiều lợi ích như tính di động, khả năng tương thích đa nền tảng và khả năng tương tác giữa các framework, bạn vẫn cần lưu ý một số hạn chế:

  • Kích thước model: Việc chuyển đổi model sang định dạng ONNX đôi khi có thể làm tăng kích thước tệp so với định dạng ban đầu. Các kỹ thuật như lượng tử hóa và cắt tỉa có thể giúp giảm kích thước model và khắc phục vấn đề này mà không ảnh hưởng đáng kể đến hiệu năng.
  • Khả năng tương thích của runtime: Dù ONNX Runtime được thiết kế để tương thích đa nền tảng, hiệu năng và mức độ hỗ trợ có thể khác nhau tùy phần cứng và hệ điều hành.
  • Thách thức khi gỡ lỗi: Gỡ lỗi model ONNX có thể phức tạp hơn so với các framework gốc như PyTorch hoặc TensorFlow. Thông báo lỗi có thể ít mô tả chi tiết hơn, khiến việc xác định vấn đề khó khăn hơn. Tuy nhiên, các công cụ như Netron để trực quan hóa model và khả năng ghi log của ONNX Runtime có thể hỗ trợ khắc phục sự cố.

Điểm chính cần ghi nhớ#

Xuất Ultralytics YOLO11 sang ONNX giúp bạn dễ dàng đưa model thị giác máy tính đã huấn luyện vào triển khai ở hầu hết mọi nơi — dù là trên laptop, thiết bị di động hay thậm chí camera thông minh nhỏ gọn. Với tích hợp ONNX, bạn không bị ràng buộc vào một framework hay nền tảng duy nhất, nhờ đó có thể linh hoạt chạy model trong môi trường phù hợp nhất với ứng dụng của mình.

Điều này giúp quá trình chuyển từ huấn luyện sang triển khai thực tế nhanh chóng và hiệu quả hơn. Dù bạn theo dõi hàng tồn kho trong kho hay đảm bảo chất thải bệnh viện được xử lý đúng cách, cấu hình này giúp hệ thống vận hành trơn tru hơn, giảm lỗi và tiết kiệm thời gian quý báu.

Bạn muốn tìm hiểu thêm về thị giác máy tính và AI? Khám phá repository 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 để khởi động dự án thị giác máy tính của bạn. Nếu bạn đang tìm hiểu các đổi mới như AI trong sản xuất và thị giác máy tính trong ngành ô tô, hãy truy cập các trang giải pháp của chúng tôi để khám phá thêm.

Được viết bởi

Abirami Vina
Abirami Vina

Nhà sáng tạo nội dung · Ultralytics

Khởi đầu sự nghiệp với vai trò kỹ sư thị giác máy tính, Abirami Vina đã xây dựng nền tảng vững chắc về AI thị giác và machine learning. Cô là Nhà sáng tạo nội dung tại Ultralytics, đồng thời là Nhà sáng lập kiêm Biên tập viên chính tại Scribe of AI, nơi cô xây dựng nội dung kỹ thuật chất lượng cao cho các công ty tập trung vào AI. Với niềm đam mê giúp AI trở nên dễ hiểu và hấp dẫn, công việc của cô kết nối công nghệ tiên tiến với tác động thực tế.

Bình luận

Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning