Suy luận trực tiếp bằng ứng dụng Streamlit sử dụng Ultralytics YOLO26#
Giới thiệu#
Streamlit giúp việc xây dựng và triển khai ứng dụng web tương tác trở nên đơn giản. Kết hợp Streamlit với Ultralytics YOLO26 cho phép phát hiện đối tượng và phân tích theo thời gian thực ngay trên trình duyệt. Độ chính xác và tốc độ cao của YOLO26 đảm bảo hiệu năng liền mạch khi xử lý luồng video trực tiếp, khiến model phù hợp với các ứng dụng trong lĩnh vực an ninh, bán lẻ và nhiều lĩnh vực khác.
Xem: Cách xây dựng ứng dụng inference trực tiếp với Ultralytics YOLO26 và Streamlit | Phát hiện và phân đoạn 🚀
| Nuôi trồng thủy sản | Chăn nuôi |
|---|---|
![]() | ![]() |
| Phát hiện cá bằng Ultralytics YOLO26 | Phát hiện động vật bằng Ultralytics YOLO26 |
Ưu điểm của suy luận trực tiếp#
- Phát hiện đối tượng liền mạch theo thời gian thực: Kết hợp Streamlit với YOLO26 cho phép phát hiện đối tượng theo thời gian thực trực tiếp từ luồng webcam. Nhờ đó, bạn có thể phân tích và thu thập thông tin ngay lập tức, rất phù hợp với các ứng dụng cần phản hồi tức thời.
- Triển khai thân thiện với người dùng: Giao diện tương tác của Streamlit giúp triển khai và sử dụng ứng dụng dễ dàng mà không cần kiến thức kỹ thuật chuyên sâu. Người dùng có thể bắt đầu suy luận trực tiếp chỉ bằng một cú nhấp, tăng khả năng tiếp cận và tính tiện dụng.
- Sử dụng tài nguyên hiệu quả: Các thuật toán được tối ưu hóa của YOLO26 đảm bảo xử lý tốc độ cao với mức tài nguyên tính toán tối thiểu. Hiệu quả này cho phép suy luận webcam mượt mà và đáng tin cậy ngay cả trên phần cứng thông thường, giúp nhiều người tiếp cận thị giác máy tính tiên tiến hơn.
Mã ứng dụng Streamlit#
Trước khi bắt đầu xây dựng ứng dụng, hãy đảm bảo bạn đã cài đặt gói Python Ultralytics.
pip install ultralyticsyolo solutions inference
yolo solutions inference model="path/to/model.pt"
yolo solutions help # list the available solution commands and argumentsCác lệnh này khởi chạy giao diện Streamlit mặc định được cung cấp cùng Ultralytics.
Thao tác này sẽ khởi chạy ứng dụng Streamlit trong trình duyệt web mặc định của bạn. Bạn sẽ thấy tiêu đề chính, tiêu đề phụ và thanh bên có các tùy chọn cấu hình. Chọn model YOLO26 mong muốn, đặt các ngưỡng NMS, rồi nhấp vào nút "Start" để bắt đầu phát hiện đối tượng theo thời gian thực.
Cách hoạt động#
Bên dưới giao diện, ứng dụng Streamlit sử dụng module solutions của Ultralytics để tạo giao diện tương tác. Khi bạn bắt đầu suy luận, ứng dụng sẽ:
- Thu thập các khung hình từ webcam, tệp video đã tải lên hoặc hình ảnh đã tải lên
- Xử lý từng khung hình bằng model YOLO26
- Thực hiện phát hiện đối tượng với các ngưỡng confidence và IoU do bạn chỉ định
- Hiển thị đồng thời các khung hình gốc và khung hình đã chú thích theo thời gian thực
- Cho phép theo dõi đối tượng nếu được chọn
Ứng dụng cung cấp giao diện rõ ràng, thân thiện với người dùng cùng các nút điều khiển để điều chỉnh tham số model và bắt đầu/dừng suy luận bất cứ lúc nào.
Kết luận#
Bằng cách làm theo hướng dẫn này, bạn đã tạo thành công một ứng dụng phát hiện đối tượng theo thời gian thực bằng Streamlit và Ultralytics YOLO26. Ứng dụng này cho phép bạn trải nghiệm khả năng phát hiện đối tượng của YOLO26 thông qua webcam, với giao diện thân thiện với người dùng và khả năng dừng luồng video bất cứ lúc nào.
Để mở rộng thêm, bạn có thể tìm hiểu việc bổ sung các tính năng như ghi lại luồng video, lưu các khung hình đã chú thích hoặc tích hợp với các thư viện thị giác máy tính khác.
Câu hỏi thường gặp#
Việc thiết lập ứng dụng phát hiện đối tượng theo thời gian thực với Streamlit và Ultralytics YOLO26 khá đơn giản. Trước tiên, hãy đảm bảo bạn đã cài đặt gói Python Ultralytics bằng lệnh:
pip install ultralyticsSau đó, bạn có thể tạo một ứng dụng Streamlit cơ bản để chạy suy luận trực tiếp:
Ứng dụng Streamlitfrom ultralytics import solutions inf = solutions.Inference( model="yolo26n.pt", # bạn có thể sử dụng bất kỳ model nào được Ultralytics hỗ trợ, ví dụ: YOLO26 hoặc model được huấn luyện tùy chỉnh ) inf.inference() # Hãy đảm bảo chạy tệp bằng lệnh `streamlit run path/to/file.py`Để biết thêm chi tiết về cách thiết lập thực tế, hãy tham khảo phần Mã ứng dụng Streamlit trong tài liệu.
Việc sử dụng Ultralytics YOLO26 với Streamlit để phát hiện đối tượng theo thời gian thực mang lại một số ưu điểm:
- Phát hiện theo thời gian thực liền mạch: Thực hiện phát hiện đối tượng theo thời gian thực với độ chính xác cao trực tiếp từ luồng webcam.
- Giao diện thân thiện với người dùng: Giao diện trực quan của Streamlit giúp dễ dàng sử dụng và triển khai mà không cần kiến thức kỹ thuật chuyên sâu.
- Hiệu quả sử dụng tài nguyên: Các thuật toán được tối ưu hóa của YOLO26 đảm bảo xử lý tốc độ cao với tài nguyên tính toán tối thiểu.
Tìm hiểu thêm về những lợi ích này trong phần Ưu điểm của suy luận trực tiếp.
Sau khi viết mã ứng dụng Streamlit tích hợp Ultralytics YOLO26, bạn có thể triển khai ứng dụng bằng cách chạy:
streamlit run path/to/file.pyLệnh này sẽ khởi chạy ứng dụng trong trình duyệt web mặc định, cho phép bạn chọn model YOLO26, đặt các ngưỡng confidence và NMS, rồi bắt đầu phát hiện đối tượng theo thời gian thực chỉ bằng một cú nhấp chuột. Để xem hướng dẫn chi tiết, hãy tham khảo phần Mã ứng dụng Streamlit.
Phát hiện đối tượng theo thời gian thực bằng Streamlit và Ultralytics YOLO26 có thể được áp dụng trong nhiều lĩnh vực:
- An ninh: Giám sát theo thời gian thực để phát hiện truy cập trái phép và hệ thống báo động an ninh.
- Bán lẻ: Đếm khách hàng, quản lý kệ hàng và theo dõi hàng tồn kho.
- Động vật hoang dã và nông nghiệp: Giám sát động vật và tình trạng cây trồng để phục vụ công tác bảo tồn.
Để tìm hiểu các trường hợp sử dụng và ví dụ chuyên sâu hơn, hãy khám phá Ultralytics Solutions.
Ultralytics YOLO26 có một số cải tiến so với các model trước đây như YOLOv5 và RCNN:
- Tốc độ và độ chính xác cao hơn: Hiệu năng được cải thiện cho các ứng dụng theo thời gian thực.
- Dễ sử dụng: Giao diện và quy trình triển khai được đơn giản hóa.
- Hiệu quả sử dụng tài nguyên: Được tối ưu hóa để tăng tốc độ trong khi yêu cầu tối thiểu tài nguyên tính toán.
Để so sánh toàn diện, hãy xem Tài liệu Ultralytics YOLO26 và các bài đăng blog liên quan về hiệu năng model.

