Bằng cách nhấp vào “Chấp nhận tất cả Cookie”, bạn đồng ý với việc lưu trữ cookie trên thiết bị của mình để tăng cường 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êm thông tin
Cài đặt Cookie
Bằng cách nhấp vào “Chấp nhận tất cả Cookie”, bạn đồng ý với việc lưu trữ cookie trên thiết bị của mình để tăng cường 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êm thông tin
Tìm hiểu cách chạy suy luận YOLO11 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ề mã hóa.
Các mô hình thị giác máy tính là các công cụ AI có tác động, 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 thể hiện với độ chính xác cao. Tuy nhiên, đôi khi chúng có thể yêu cầu thêm kiến thức chuyên môn kỹ thuật, chẳng hạn như phát triển web hoặc kỹ năng ứng dụng di động, để triển khai và làm cho chúng có thể truy cập được đối 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 một loạt các ứng dụng. Tuy nhiên, nếu không có một số kiến thức về giao diện người dùng kỹ thuật, 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ể gây một chút khó khăn cho một số kỹ sư AI.
Streamlit là một framework mã nguồn mở nhằm mục đích làm cho quá trình này dễ dàng hơn. Đây là một công cụ dựa trên Python để xây dựng các ứng dụng tương tác mà không cần phát triển giao diện người dùng phức tạp. Khi được ghép nối với YOLO11, nó 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 tiến thêm một bước nữa với giải pháp Suy luận Trực tiếp của mình, giúp tích hợp Streamlit thậm chí còn dễ dàng hơn. Với một lệnh duy nhất, người dùng có thể khởi chạy ứng dụng Streamlit 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 ta sẽ xem xét cách thiết lập và chạy YOLO11 bằng giải pháp Suy luận Trực tiếp của Ultralytics với Streamlit, giúp việc 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 framework Python 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 được hỗ trợ bởi AI mà không cần phải đối phó với sự phức tạp của việc phát triển giao diện người dùng.
Nó được thiết kế để hoạt động liền mạch với các mô hình AI và máy học. Chỉ với một vài dòng Python, các nhà phát triển có thể tạo một 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. Ảnh của tác giả.
Một trong những tính năng chính của nó là khả năng hiển thị độ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ì nó 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 làm cho nó trở thành một 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 Vision AI đa năng
Trước khi đi sâu vào cách chạy live inference với Ultralytics YOLO11 trong một ứng dụng Streamlit, hãy xem xét kỹ hơn điều gì làm cho YOLO11 trở nên đáng tin cậy.
Ultralytics YOLO11 là một mô hình được thiết kế cho các tác vụ computer vision theo thời gian thực, chẳng hạn như phát hiện đối tượng, phân đoạn thể hiện 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ề sử dụng YOLO11 để phát hiện đối tượng.
Một trong những ưu điểm lớn nhất của YOLO11 là tính 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 gói Ultralytics Python và bắt đầu đưa ra các dự đoán chỉ với một vài dòng code.
Gói Ultralytics Python 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, gói Ultralytics Python 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à các hệ thống hỗ trợ NVIDIA GPU. 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 đều thích ứng dễ dàng, giúp AI thị giác tiên tiến trở nê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 cách nào để 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, tiết kiệm code để chạy YOLO11 mà không cần xử lý phát triển front-end, Streamlit là một lựa chọn tốt - đặc biệt đối với việc tạo mẫu, các dự án proof-of-concept (PoC) hoặc triển khai nhắm đến một số lượng nhỏ người dùng.
Nó hợp lý hóa quy 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 một giao diện trực quan để tương tác theo thời gian thực. Dưới đây là một số ưu điểm chính khác:
Các điều khiển AI tùy chỉnh: Bạn có thể thêm các thanh trượt, menu thả xuống và nút vào giao diện của mình, 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 machine learning khác, giúp tăng cường khả năng của quy trình làm việc AI.
Trực quan 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 dễ dàng trực quan hóa kết quả phát hiện đối tượng, phân đoạn hoặc thông tin chi tiết theo dõi.
Dễ dàng cộng tác: Ứng dụng Streamlit có thể dễ dàng chia sẻ với các thành viên trong nhóm, các 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 một ứ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 xem cách chạy các tác vụ computer vision thời gian thực trong trình duyệt bằng Streamlit với YOLO11.
Cài đặt gói Ultralytics Python
Bước đầu tiên là cài đặt gói Ultralytics Python. Điều này có thể được thực hiện bằng lệnh sau:
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 trong khi cài đặt các gói cần thiết, bạn có thể tham khảo Hướng dẫn về các sự cố thường gặp của chúng tôi để biết các 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át triển một script Python bằng cách 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 script Python sau 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:
Không cần cấu hình thêm. Giao diện ứng dụng Streamlit bao gồm một phần tải lên cho hình ảnh và video, một menu thả xuống để chọn biến thể mô hình YOLO11 mà bạn quan tâm và các 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 một cách dễ dàng mà không cần viết thêm code.
Chạy suy luận bằng YOLO11 trên ứng dụng Streamlit
Bây giờ ứng dụng Streamlit đang chạy trên trình duyệt web của bạn, hãy cùng tìm hiểu 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. Dưới đây là các bước để tải lên một tệp, chọn một mô hình và xem kết quả theo thời gian thực:
Tải lên một tệp video: Chọn "video" từ menu thả xuống cấu hình người dùng, tùy chọn này sẽ yêu cầu ứng dụng xử lý một tệp được ghi sẵn thay vì luồng webcam.
Chọn một mô hình YOLO11: Chọn "YOLO11l" từ menu thả xuống mô hình để phát hiện đối tượng bằng mô hình YOLO11 lớn.
Bắt đầu quá trình phát hiện: Nhấp vào "Start", cho phép YOLO11 phân tích video từng khung hình và phát hiện các đối tượng trong 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 cập nhật trực tiếp, hiển thị các đối tượng được phát hiện bằng các 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 các 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. Giao diện ứng dụng Ultralytics YOLO Streamlit.
Các trường hợp sử dụng Streamlit và YOLO11
Chúng ta đã xem xét Streamlit tuyệt vời như thế nào để tạo 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, việc chạy YOLO11 với Streamlit không phải lúc nào cũng là một giải pháp có sẵn ngay lập tức - trừ khi bạn sử dụng ứng dụng Ultralytics YOLO Streamlit mà chúng tôi đã thiết lập trong các bước trên. Trong hầu hết các trường hợp, cần phải thực hiện một số công việc phát triển để tùy chỉnh ứng dụng cho phù hợp với các nhu cầu cụ thể. Mặc dù Streamlit đơn giản hóa việc triển khai, nhưng bạn vẫn cần định 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ể được triển khai hiệu quả với Streamlit trong các tình huống thực tế.
Đếm đối tượng để kiểm kê bằng YOLO11
Việc theo dõi hàng tồn kho trong các cửa hàng bán lẻ, phòng kho hoặc khu vực văn phòng phẩm có thể tốn 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 hóa việc đếm đối tượng một cách nhanh chóng và hiệu quả, đây là một lựa chọn tuyệt vời cho việc chứng minh khái niệm (PoC) trước khi cam kết triển khai quy mô lớn.
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 đối tượng ngay lập tức. 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 biết 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 trong tủ lạnh bằ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à với việc giám sát thủ công. Sử dụng YOLO11 với Streamlit, các doanh nghiệp có thể thiết lập một hệ thống an ninh đơn giản do AI cung cấp để 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 đi vào khu vực hạn chế. Nếu một người không được phép bị phát hiện, 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 quyền truy cập vào các khu vực lưu trữ có độ bảo mật cao hoặc 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á giám sát an ninh dựa trên Vision AI trước khi cam kết với một hệ thống hoàn toàn tự động, lớn hơn. Bằng cách tích hợp YOLO11 với Streamlit, các doanh nghiệp có thể tăng cường bảo mật, giảm thiểu 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 để giám sát một ứ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 computer vision 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à mang lại kết quả chính xác theo thời gian.
Dưới đây là một số yếu tố chính cần xem xét 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. Các 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.
Cập nhật mô hình: Việc 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 các tính năng mới.
Những điều cần nhớ
Ultralytics đơn giản hóa việc triển khai YOLO11 với giao diện trực tiếp Streamlit sẵn sàng sử dụng, chạy bằng một lệnh duy nhất - không cần code. Điều này cho phép người dùng bắt đầu sử dụng tính năng phát hiện đối tượng theo thời gian thực ngay lập tức.
Giao diện này 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 các đối tượng một cách 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 UI thủ công. Bằng cách kết hợp
khả năng của YOLO11 với tính dễ triển khai của Streamlit, các doanh nghiệp và nhà phát triển có thể nhanh chóng tạo mẫu, thử nghiệm và tinh chỉnh các ứng dụng dựa trên AI.