Kiểm tra màu xanh lá cây
Liên kết được sao chép vào khay nhớ tạm

Chạy ứng dụng AI tương tác với Streamlit và Ultralytics YOLO11

Học cách chạy YOLO11 suy luận bên trong giao diện Streamlit và xây dựng giao diện AI tương tác cho các tác vụ thị giác máy tính mà không cần chuyên môn về lập trình.

Các mô hình thị giác máy tính là các công cụ AI có tác động mạnh mẽ cho phép máy móc diễn giải và phân tích dữ liệu trực quan, thực hiện các tác vụ như phát hiện đối tượng, phân loại hình ảnh và phân đoạn trường hợp với độ chính xác cao. Tuy nhiên, đôi khi chúng có thể yêu cầu chuyên môn kỹ thuật bổ sung, chẳng hạn như kỹ năng phát triển web hoặc ứng dụng di động, để triển khai và giúp chúng có thể tiếp cận được với nhiều đối tượng hơn.

Lấy Ultralytics YOLO11 làm ví dụ. Đây là một mô hình hỗ trợ nhiều tác vụ khác nhau và hữu ích trong nhiều ứng dụng. Tuy nhiên, nếu không có một số kiến thức về kỹ thuật front-end, việc xây dựng và triển khai giao diện thân thiện với người dùng để tương tác liền mạch có thể hơi khó khăn đối với một số kỹ sư AI.

Streamlit là một khuôn khổ mã nguồn mở nhằm mục đích làm cho quá trình này dễ dàng hơn. Đó là một Python - công cụ dựa trên để xây dựng các ứng dụng tương tác mà không cần phát triển front-end phức tạp. Khi kết hợp với YOLO11 , cho phép người dùng tải lên hình ảnh, xử lý video và trực quan hóa kết quả theo thời gian thực với nỗ lực tối thiểu.

Ultralytics đưa điều này tiến xa hơn nữa với giải pháp Live Inference, giúp tích hợp Streamlit dễ dàng hơn nữa. Chỉ với một lệnh, người dùng có thể khởi chạy ứng dụng Streamlit được xây dựng sẵn cho YOLO11 , loại bỏ nhu cầu thiết lập và mã hóa thủ công. 

Trong bài viết này, chúng tôi sẽ hướng dẫn cách thiết lập và chạy YOLO11 sử dụng Ultralytics 'Giải pháp suy luận trực tiếp với Streamlit, giúp triển khai AI theo thời gian thực nhanh hơn và dễ tiếp cận hơn.

Streamlit là gì?

Streamlit là một Python khuôn khổ giúp đơn giản hóa việc tạo các ứng dụng web tương tác. Các nhà phát triển AI có thể xây dựng các ứng dụng hỗ trợ AI mà không cần phải giải quyết những phức tạp của quá trình phát triển front-end. 

Nó được thiết kế để hoạt động liền mạch với AI và các mô hình học máy. Chỉ với một vài dòng Python , các nhà phát triển có thể tạo giao diện nơi người dùng có thể tải lên hình ảnh, xử lý video và tương tác với các mô hình AI.

Hình 1. Các tính năng chính của Streamlit. Hình ảnh của tác giả.

Một trong những tính năng chính của nó là kết xuất động. Khi người dùng thực hiện thay đổi, ứng dụng sẽ tự động cập nhật mà không cần tải lại trang thủ công.

Ngoài ra, vì nhẹ và dễ sử dụng, Streamlit chạy hiệu quả trên cả máy cục bộ và nền tảng đám mây. Điều này khiến nó trở thành lựa chọn tuyệt vời để triển khai các ứng dụng AI, chia sẻ mô hình với người khác và cung cấp trải nghiệm người dùng trực quan, tương tác.

Ultralytics YOLO11 : Một mô hình AI Vision đa năng

Trước khi tìm hiểu cách chạy suy luận trực tiếp với Ultralytics YOLO11 trong ứng dụng Streamlit, chúng ta hãy xem xét kỹ hơn những gì tạo nên YOLO11 thật đáng tin cậy.

Ultralytics YOLO11 là một mô hình được thiết kế cho các tác vụ thị giác máy tính thời gian thực như phát hiện đối tượng, phân đoạn trường hợp và ước tính tư thế. Nó mang lại hiệu suất tốc độ cao với độ chính xác ấn tượng.

Hình 2. Một ví dụ về việc sử dụng YOLO11 để phát hiện vật thể.

Một trong những YOLO11 Ưu điểm lớn nhất của nó là dễ sử dụng. Không cần thiết lập phức tạp; các nhà phát triển có thể cài đặt Ultralytics Python gói và bắt đầu đưa ra dự đoán chỉ bằng một vài dòng mã.

Các Ultralytics Python Gói cung cấp một loạt các tính năng, cho phép người dùng tinh chỉnh các mô hình và điều chỉnh cài đặt phát hiện. Nó cũng giúp tối ưu hóa hiệu suất trên các thiết bị khác nhau để triển khai mượt mà hơn.

Ngoài tính linh hoạt, Ultralytics Python gói hỗ trợ tích hợp trên nhiều nền tảng, bao gồm các thiết bị biên, môi trường đám mây và NVIDIA GPU -hệ thống được kích hoạt. Cho dù được triển khai trên một thiết bị nhúng nhỏ hay một máy chủ đám mây quy mô lớn, YOLO11 thích ứng dễ dàng, giúp AI tầm nhìn tiên tiến dễ tiếp cận hơn bao giờ hết.

Lợi ích của việc sử dụng Streamlit với Ultralytics YOLO11

Bạn có thể tự hỏi, làm sao tôi biết Streamlit có phải là tùy chọn triển khai phù hợp với mình không? Nếu bạn đang tìm kiếm một cách đơn giản, hiệu quả về mã để chạy YOLO11 Nếu không liên quan đến phát triển front-end, Streamlit là một lựa chọn tốt - đặc biệt là đối với các dự án tạo mẫu, bằng chứng khái niệm (PoC) hoặc triển khai nhắm tới số lượng người dùng ít hơn.

Nó hợp lý hóa quá trình làm việc với YOLO11 bằng cách loại bỏ sự phức tạp không cần thiết và cung cấp giao diện trực quan cho tương tác thời gian thực. Sau đây là một số lợi thế quan trọng khác:

  • Điều khiển AI có thể tùy chỉnh: Bạn có thể thêm thanh trượt, menu thả xuống và nút vào giao diện, cho phép người dùng tinh chỉnh cài đặt phát hiện và lọc các đối tượng cụ thể một cách dễ dàng.
  • Tích hợp với các công cụ AI khác: Streamlit hỗ trợ tích hợp với NumPy, OpenCV, Matplotlib và các thư viện học máy khác, nâng cao khả năng xử lý quy trình làm việc AI.
  • Hình ảnh hóa dữ liệu tương tác: Hỗ trợ tích hợp cho biểu đồ và đồ thị cho phép người dùng hình ảnh hóa việc phát hiện đối tượng, kết quả phân đoạn hoặc theo dõi thông tin chi tiết một cách dễ dàng.
  • Thân thiện với cộng tác: Các ứng dụng Streamlit có thể dễ dàng được chia sẻ với các thành viên trong nhóm, bên liên quan hoặc khách hàng thông qua một liên kết đơn giản, cho phép phản hồi và lặp lại ngay lập tức.

Hướng dẫn từng bước để triển khai YOLO11 trong ứng dụng web Streamlit

Bây giờ chúng ta đã khám phá những lợi ích của việc sử dụng Streamlit với YOLO11 , hãy cùng tìm hiểu cách chạy các tác vụ thị giác máy tính thời gian thực trong trình duyệt bằng Streamlit với YOLO11 .

Cài đặt Ultralytics Python bưu kiện

Bước đầu tiên là cài đặt gói Ultralytics Python . Bạn có thể thực hiện việc này bằng lệnh sau:

1# Install the ultralytics package from PyPI
2pip install ultralytics

Sau khi cài đặt, YOLO11 đã sẵn sàng sử dụng mà không cần bất kỳ thiết lập phức tạp nào. Nếu bạn gặp bất kỳ sự cố nào khi cài đặt các gói cần thiết, bạn có thể tham khảo Hướng dẫn sự cố thường gặp của chúng tôi để biết mẹo và giải pháp khắc phục sự cố.

Khởi chạy ứng dụng Streamlit với YOLO11 

Thông thường, bạn sẽ cần phải phát triển một Python tập lệnh sử dụng các thành phần Streamlit để chạy YOLO11 . Tuy nhiên, Ultralytics cung cấp một cách đơn giản để chạy YOLO11 với Streamlit. 

Chạy các lệnh sau Python tập lệnh sẽ ngay lập tức khởi chạy ứng dụng Streamlit trong trình duyệt web mặc định của bạn:

1from ultralytics import solutions
2
3inf = solutions.Inference(
4    model="yolo11n.pt",  # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
5)
6
7inf.inference()
8
9### Make sure to run the file using command `streamlit run <file-name.py>`

Không cần cấu hình bổ sung. Giao diện ứng dụng Streamlit bao gồm phần tải lên cho hình ảnh và video, menu thả xuống để chọn YOLO11 biến thể mô hình bạn quan tâm và thanh trượt để điều chỉnh độ tin cậy phát hiện. Mọi thứ được sắp xếp gọn gàng, giúp người dùng có thể chạy suy luận dễ dàng mà không cần viết thêm mã.

Chạy suy luận bằng cách sử dụng YOLO11 trên ứng dụng Streamlit

Bây giờ ứng dụng Streamlit đang chạy trong trình duyệt web của bạn, hãy cùng khám phá cách sử dụng nó để chạy suy luận với YOLO11 .

Ví dụ, giả sử chúng ta muốn phân tích một tệp video để phát hiện đối tượng. Sau đây là các bước để tải tệp lên, chọn mô hình và xem kết quả theo thời gian thực:

  • Tải lên tệp video: Chọn "video" từ danh sách thả xuống cấu hình người dùng, mục này sẽ yêu cầu ứng dụng xử lý tệp đã ghi trước thay vì nguồn cấp dữ liệu từ webcam.
  • Chọn một mô hình YOLO11 : Chọn "YOLO11l" từ danh sách thả xuống mô hình để phát hiện đối tượng bằng cách sử dụng một mô hình lớn YOLO11 người mẫu.
  • Bắt đầu quá trình phát hiện : Nhấp vào "Bắt đầu", cho phép YOLO11 để phân tích từng khung hình video và phát hiện đối tượng theo thời gian thực.
  • Xem video đã xử lý : Xem video xuất hiện trên màn hình với các bản cập nhật trực tiếp, hiển thị các đối tượng được phát hiện với hộp giới hạn.
  • Tương tác với kết quả trong Streamlit : Sử dụng giao diện để điều chỉnh cài đặt hoặc phân tích phát hiện, tất cả đều không cần thiết lập hoặc mã hóa thêm.
Hình 3. Các Ultralytics YOLO Giao diện ứng dụng Streamlit.

Các trường hợp sử dụng Streamlit và YOLO11

Chúng tôi đã xem xét Streamlit tuyệt vời như thế nào trong việc tạo nguyên mẫu, công cụ nghiên cứu và các ứng dụng vừa và nhỏ. Nó cung cấp một cách đơn giản để triển khai các mô hình AI mà không cần phát triển front-end phức tạp.

Tuy nhiên, chạy YOLO11 với Streamlit không phải lúc nào cũng là giải pháp có sẵn - trừ khi bạn sử dụng Ultralytics YOLO Ứng dụng Streamlit mà chúng tôi thiết lập theo các bước trên. Trong hầu hết các trường hợp, một số công việc phát triển là cần thiết để tùy chỉnh ứng dụng cho phù hợp với các nhu cầu cụ thể. Trong khi Streamlit đơn giản hóa việc triển khai, bạn vẫn cần phải cấu hình các thành phần cần thiết để đảm bảo YOLO11 chạy trơn tru.

Hãy cùng khám phá hai ví dụ thực tế về cách Ultralytics YOLO11 có thể triển khai hiệu quả với Streamlit trong các tình huống thực tế.

Đếm các đối tượng để kiểm tra hàng tồn kho bằng cách sử dụng YOLO11

Việc theo dõi hàng tồn kho tại các cửa hàng bán lẻ, phòng lưu trữ hoặc khu vực cung cấp văn phòng phẩm có thể tốn nhiều thời gian và dễ xảy ra sai sót. Sử dụng YOLO11 với Streamlit, các doanh nghiệp có thể tự động đếm đối tượng một cách nhanh chóng và hiệu quả, khiến đây trở thành lựa chọn tuyệt vời cho bằng chứng khái niệm (PoC) trước khi cam kết triển khai trên diện rộng.

Với thiết lập này, người dùng có thể tải lên hình ảnh hoặc sử dụng nguồn cấp dữ liệu camera trực tiếp và YOLO11 có thể giúp phát hiện và đếm ngay lập tức các đối tượng . Số lượng theo thời gian thực có thể được hiển thị trong giao diện Streamlit, cung cấp một cách dễ dàng để theo dõi mức tồn kho mà không cần nỗ lực thủ công.

Ví dụ, chủ cửa hàng có thể quét một kệ hàng và ngay lập tức thấy có bao nhiêu chai, hộp hoặc hàng hóa đóng gói mà không cần phải đếm thủ công. Bằng cách tận dụng YOLO11 và Streamlit, các doanh nghiệp có thể giảm bớt công việc thủ công, cải thiện độ chính xác và khám phá tự động hóa với mức đầu tư tối thiểu.

Hình 4. Phát hiện chai lọ trong tủ lạnh bằng cách sử dụng YOLO11 .

Tăng cường bảo mật với YOLO11 và Streamlit

Việc giữ an toàn cho các khu vực hạn chế trong văn phòng, nhà kho hoặc địa điểm tổ chức sự kiện có thể khó khăn, đặc biệt là khi phải giám sát thủ công. Sử dụng YOLO11 Với Streamlit, doanh nghiệp có thể thiết lập hệ thống bảo mật đơn giản hỗ trợ AI để phát hiện truy cập trái phép theo thời gian thực.

Nguồn cấp dữ liệu camera có thể được kết nối với giao diện Streamlit, nơi YOLO11 được sử dụng để xác định và theo dõi những người vào khu vực hạn chế. Nếu phát hiện người không được phép, hệ thống có thể kích hoạt cảnh báo hoặc ghi lại sự kiện để xem xét.

Ví dụ, người quản lý kho có thể theo dõi việc ra vào các khu vực lưu trữ an ninh cao hoặc một văn phòng có thể theo dõi chuyển động trong các khu vực hạn chế mà không cần giám sát liên tục.

Đây có thể là một dự án mở mang tầm mắt cho các doanh nghiệp muốn khám phá hệ thống giám sát an ninh do Vision AI điều khiển trước khi cam kết triển khai một hệ thống lớn hơn, hoàn toàn tự động. Bằng cách tích hợp YOLO11 Với Streamlit, doanh nghiệp có thể tăng cường bảo mật, giảm thiểu việc giám sát thủ công và ứng phó với truy cập trái phép hiệu quả hơn.

Mẹo để theo dõi ứng dụng AI tương tác với Streamlit

Sử dụng các công cụ như Streamlit để triển khai các mô hình thị giác máy tính giúp tạo ra trải nghiệm tương tác và thân thiện với người dùng. Tuy nhiên, sau khi thiết lập giao diện trực tiếp, điều quan trọng là phải đảm bảo hệ thống chạy hiệu quả và cung cấp kết quả chính xác theo thời gian.

Sau đây là một số yếu tố chính cần cân nhắc sau khi triển khai:

  • Giám sát thường xuyên : Theo dõi độ chính xác phát hiện, tốc độ suy luận và mức sử dụng tài nguyên. Điều chỉnh các tham số mô hình hoặc nâng cấp phần cứng nếu hiệu suất giảm.
  • Quản lý nhiều người dùng và khả năng mở rộng: Khi nhu cầu của người dùng tăng lên, việc tối ưu hóa cơ sở hạ tầng là chìa khóa để duy trì hiệu suất. Nền tảng đám mây và các giải pháp triển khai có khả năng mở rộng giúp đảm bảo hoạt động trơn tru.
  • Luôn cập nhật mô hình: Luôn cập nhật mô hình và thư viện giúp tăng cường độ chính xác, bảo mật và khả năng truy cập vào các tính năng mới.

Những điểm chính

Ultralytics đơn giản hóa YOLO11 triển khai với giao diện Streamlit trực tiếp sẵn sàng sử dụng chạy bằng một lệnh duy nhất - không cần mã hóa. Điều này cho phép người dùng bắt đầu sử dụng phát hiện đối tượng theo thời gian thực ngay lập tức.

Giao diện cũng bao gồm tùy chỉnh tích hợp, cho phép người dùng chuyển đổi mô hình, điều chỉnh độ chính xác phát hiện và lọc đối tượng dễ dàng. Mọi thứ được quản lý trong một giao diện đơn giản, thân thiện với người dùng, loại bỏ nhu cầu phát triển giao diện người dùng thủ công. Bằng cách kết hợp

YOLO11 Với khả năng triển khai dễ dàng của Streamlit, các doanh nghiệp và nhà phát triển có thể nhanh chóng tạo nguyên mẫu, thử nghiệm và tinh chỉnh các ứng dụng do AI điều khiển. 

Hãy trở thành một phần trong cộng đồng của chúng tôi và khám phá kho lưu trữ GitHub của chúng tôi để biết thêm thông tin chi tiết về AI. Hãy xem các trang giải pháp của chúng tôi để tìm hiểu thêm về các sáng kiến như AI trong sản xuấtthị giác máy tính trong chăm sóc sức khỏe . Hãy xem các tùy chọn cấp phép của chúng tôi và bắt đầu ngay hôm nay!

Logo FacebookBiểu trưng TwitterBiểu tượng LinkedInBiểu tượng sao chép liên kết

Đọc thêm trong danh mục này

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

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