Chuyển đến nội dung

Suy luận trực tiếp với ứng dụng Streamlit bằng Ultralytics YOLO11

Giới thiệu

Streamlit giúp bạn dễ dàng xây dựng và triển khai các ứng dụng web tương tác. Kết hợp điều này với Ultralytics YOLO11 cho phép phát hiện đối tượng và phân tích theo thời gian thực trực tiếp trong trình duyệt của bạn. Độ chính xác và tốc độ cao của YOLO11 đảm bảo hiệu suất liền mạch cho các luồng video trực tiếp, khiến nó trở nên lý tưởng cho các ứng dụng trong lĩnh vực an ninh, bán lẻ và hơn thế nữa.



Xem: Cách sử dụng Streamlit với Ultralytics để theo dõi thời gian thực Thị giác máy tính trong Trình duyệt của bạn

Nuôi trồng thủy sản Chăn nuôi động vật
Phát hiện cá bằng Ultralytics YOLO11 Phát hiện động vật bằng Ultralytics YOLO11
Phát hiện cá bằng Ultralytics YOLO11 Phát hiện động vật bằng Ultralytics YOLO11

Ưu điểm của Suy Luận Trực Tiếp

  • Phát hiện đối tượng theo thời gian thực liền mạch: Streamlit kết hợp với YOLO11 cho phép phát hiện đối tượng theo thời gian thực trực tiếp từ nguồn cấp dữ liệu webcam của bạn. Điều này cho phép phân tích và hiểu biết ngay lập tức, làm cho nó trở nên lý tưởng cho các ứng dụng yêu cầu phản hồi tức thì.
  • 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 dễ dàng triển khai và sử dụng ứng dụng mà không cần kiến thức kỹ thuật sâu rộng. Người dùng có thể bắt đầu suy luận trực tiếp chỉ với một cú nhấp chuột, nâng cao khả năng truy cập và khả năng sử dụng.
  • Efficient Resource Utilization: Các thuật toán được tối ưu hóa của YOLO11 đảm bảo xử lý tốc độ cao với 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 tiêu chuẩn, giúp thị giác máy tính tiên tiến tiếp cận được với nhiều đối tượng hơn.

Mã Ứng dụng Streamlit

Cài đặt Ultralytics

Trước khi bạn bắt đầu xây dựng ứng dụng, hãy đảm bảo bạn đã cài đặt Gói Python Ultralytics. Bạn có thể cài đặt nó bằng lệnh pip install ultralytics

Suy luận bằng Streamlit với Ultralytics YOLO

yolo solutions inference

yolo solutions inference model="path/to/model.pt"
from ultralytics import solutions

inf = solutions.Inference(
    model="yolo11n.pt",  # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
)

inf.inference()

# Make sure to run the file using command `streamlit run path/to/file.py`

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 với các tùy chọn cấu hình. Chọn mô hình YOLO11 mong muốn, đặt độ tin cậy và ngưỡng NMS, sau đó 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 thức hoạt động

Về cốt lõi, ứng dụng Streamlit sử dụng module giải pháp Ultralytics để tạo giao diện tương tác. Khi bạn bắt đầu suy luận, ứng dụng:

  1. Ghi lại video từ webcam của bạn hoặc tệp video đã tải lên
  2. Xử lý từng khung hình thông qua mô hình YOLO11
  3. Áp dụng phát hiện đối tượng với các ngưỡng tin cậy và IoU mà bạn chỉ định
  4. Hiển thị cả khung hình gốc và khung hình đã được chú thích theo thời gian thực
  5. Tùy chọn cho phép theo dõi đối tượng nếu được chọn

Ứng dụng cung cấp giao diện sạch sẽ, thân thiện với người dùng với các điều khiển để điều chỉnh các tham số mô hình và bắt đầu/dừng suy luận bất kỳ 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 YOLO11. Ứng dụng này cho phép bạn trải nghiệm sức mạnh của YOLO11 trong việc phát hiện các đối tượng thông qua webcam của bạn, 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 kỳ lúc nào.

Để có thêm các cải tiến, bạn có thể khám phá việc thêm nhiều tính năng hơn như ghi lại luồng video, lưu các khung hình được 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.

Chia sẻ suy nghĩ của bạn với cộng đồng

Tương tác với cộng đồng để tìm hiểu thêm, khắc phục sự cố và chia sẻ dự án của bạn:

Tìm trợ giúp và hỗ trợ ở đâu

  • Các vấn đề trên GitHub: Truy cập kho lưu trữ Ultralytics GitHub để nêu câu hỏi, báo cáo lỗi và đề xuất các tính năng.
  • Máy chủ Ultralytics Discord: Tham gia máy chủ Ultralytics Discord để kết nối với những người dùng và nhà phát triển khác, nhận hỗ trợ, chia sẻ kiến thức vàBrainstorm ý tưởng.

Tài liệu Chính thức

  • Tài liệu Ultralytics YOLO11: Tham khảo tài liệu YOLO11 chính thức để biết các hướng dẫn và thông tin chi tiết toàn diện về các tác vụ và dự án thị giác máy tính khác nhau.

Câu hỏi thường gặp

Làm thế nào để thiết lập một ứng dụng phát hiện vật thể theo thời gian thực bằng Streamlit và Ultralytics YOLO11?

Việc thiết lập một ứng dụng phát hiện đối tượng theo thời gian thực với Streamlit và Ultralytics YOLO11 rất đơn giản. Đầu tiên, hãy đảm bảo bạn đã cài đặt gói Ultralytics Python bằng lệnh:

pip install ultralytics

Sau đó, 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 Streamlit

from ultralytics import solutions

inf = solutions.Inference(
    model="yolo11n.pt",  # you can use any model that Ultralytics support, i.e. YOLO11, YOLOv10
)

inf.inference()

# Make sure to run the file using command `streamlit run path/to/file.py`
yolo solutions inference

Để biết thêm chi tiết về thiết lập thực tế, hãy tham khảo phần Mã Ứng dụng Streamlit của tài liệu.

Những ưu điểm chính của việc sử dụng Ultralytics YOLO11 với Streamlit để phát hiện đối tượng theo thời gian thực là gì?

Sử dụng Ultralytics YOLO11 với Streamlit để phát hiện đối tượng theo thời gian thực mang lại một số lợi thế:

  • Phát hiện theo thời gian thực liền mạch: Đạt được độ chính xác cao, phát hiện đối tượng theo thời gian thực trực tiếp từ nguồn cấp dữ liệu webcam.
  • Giao diện Thân thiện với Người dùng: Giao diện trực quan của Streamlit cho phép dễ dàng sử dụng và triển khai mà không cần kiến thức kỹ thuật sâu rộng.
  • Hiệu quả Tài nguyên: Các thuật toán được tối ưu hóa của YOLO11 đảm bảo xử lý tốc độ cao với các 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.

Làm cách nào để triển khai một ứng dụng phát hiện đối tượng Streamlit trong trình duyệt web của tôi?

Sau khi viết code cho ứng dụng Streamlit tích hợp Ultralytics YOLO11, bạn có thể triển khai nó bằng cách chạy:

streamlit run path/to/file.py

Lệnh này sẽ khởi chạy ứng dụng trong trình duyệt web mặc định của bạn, cho phép bạn chọn các mô hình YOLO11, đặt ngưỡng tin cậy và NMS, đồng thời bắt đầu phát hiện đối tượng theo thời gian thực chỉ với một cú nhấp chuột đơn giản. Để có hướng dẫn chi tiết, hãy tham khảo phần Streamlit Application Code.

Các trường hợp sử dụng nào cho việc phát hiện đối tượng theo thời gian thực bằng Streamlit và Ultralytics YOLO11?

Phát hiện đối tượng theo thời gian thực bằng Streamlit và Ultralytics YOLO11 có thể được áp dụng trong nhiều lĩnh vực:

Để xem thêm các trường hợp sử dụng và ví dụ chuyên sâu, hãy khám phá Giải pháp Ultralytics.

Ultralytics YOLO11 so sánh với các mô hình phát hiện đối tượng khác như YOLOv5 và RCNN như thế nào?

Ultralytics YOLO11 cung cấp một số cải tiến so với các mô hình trước đó như YOLOv5 và RCNN:

  • Tốc Độ và Độ Chính Xác Cao Hơn: Cải thiện hiệu suất cho các ứng dụng thời gian thực.
  • Dễ sử dụng: Giao diện và triển khai được đơn giản hóa.
  • Hiệu quả Tài nguyên: Được tối ưu hóa để có tốc độ tốt hơn với các yêu cầu tính toán tối thiểu.

Để so sánh toàn diện, hãy xem Tài liệu Ultralytics YOLO11 và các bài đăng trên blog liên quan thảo luận về hiệu suất của mô hình.



📅 Đã tạo 1 năm trước ✏️ Cập nhật 13 ngày trước

Bình luận