Thực hành cùng YOLO-World

Abirami Vina

4 phút đọc

Ngày 5 tháng 4 năm 2024

Tìm hiểu về YOLO-World, một mô hình phát hiện đối tượng sáng tạo có thể xác định đối tượng thông qua lời nhắc văn bản. Khám phá cách YOLO-World hoạt động và các ứng dụng của nó, và thực hành với một ví dụ mã nhanh.

Các dự án thị giác máy tính thường liên quan đến việc dành nhiều thời gian chú thích dữ liệu và đào tạo các mô hình phát hiện đối tượng . Nhưng điều đó có thể sớm trở thành dĩ vãng. Phòng thí nghiệm AI của Tencent đã phát hành YOLO-World , một mô hình phát hiện đối tượng theo thời gian thực, từ vựng mở, vào ngày 31 tháng 1 năm 2024. YOLO-World là một mô hình zero-shot, nghĩa là bạn có thể chạy suy luận phát hiện đối tượng trên hình ảnh mà không cần phải đào tạo nó.

Các mô hình Zero-shot có tiềm năng thay đổi cách chúng ta tiếp cận các ứng dụng thị giác máy tính. Trong blog này, chúng ta sẽ khám phá cách YOLO-World hoạt động và các ứng dụng tiềm năng của nó, đồng thời chia sẻ một ví dụ mã thực tế để bạn bắt đầu.

Một cái nhìn thoáng qua về YOLO-World

Bạn có thể truyền một hình ảnh và lời nhắc văn bản mô tả những đối tượng bạn đang tìm kiếm thông qua mô hình YOLO-World. Ví dụ, nếu bạn muốn tìm "một người mặc áo sơ mi đỏ" trong một bức ảnh, YOLO-World sẽ lấy thông tin đầu vào này và bắt đầu hoạt động.

Kiến trúc độc đáo của mô hình kết hợp ba yếu tố chính:

  • Một bộ phát hiện dựa trên mô hình phát hiện đối tượng Ultralytics YOLOv8 để phân tích nội dung trực quan của hình ảnh.
  • Bộ mã hóa văn bản được đào tạo trước bởi CLIP của OpenAI, được thiết kế riêng để hiểu lời nhắc văn bản của bạn.
  • Một mạng lưới, Mạng tổng hợp đường dẫn ngôn ngữ-thị giác (RepVL-PAN), tích hợp dữ liệu hình ảnh đã xử lý với dữ liệu văn bản.

Bộ dò YOLO quét hình ảnh đầu vào của bạn để xác định các đối tượng tiềm năng. Bộ mã hóa văn bản chuyển đổi mô tả của bạn thành định dạng mà mô hình có thể hiểu được. Hai luồng thông tin này sau đó được hợp nhất thông qua RepVL-PAN bằng cách sử dụng hợp nhất đa phương thức. Nó cho phép YOLO-World phát hiện và định vị chính xác các đối tượng được mô tả trong lời nhắc của bạn trong hình ảnh.

__wf_reserved_thừa kế
Một ví dụ về kết quả từ YOLO-World.

Lợi ích khi lựa chọn YOLO-World

Một trong những lợi thế lớn nhất khi sử dụng YOLO-World là bạn không phải đào tạo mô hình cho một lớp cụ thể. Nó đã học được từ các cặp hình ảnh và văn bản, vì vậy nó biết cách tìm đối tượng dựa trên mô tả. Bạn có thể tránh được nhiều giờ thu thập dữ liệu, chú thích dữ liệu, đào tạo trên GPU đắt tiền, v.v.

Sau đây là một số lợi ích khác khi sử dụng YOLO-World:

  • Hiệu suất thời gian thực - YOLO-World hỗ trợ hiệu suất thời gian thực giống như kiến trúc YOLO gốc. Nó lý tưởng cho các ứng dụng yêu cầu phát hiện đối tượng ngay lập tức như xe tự hành và hệ thống giám sát.
  • Phân đoạn trường hợp - YOLO-World có thể phác thảo và tách biệt các đối tượng trong hình ảnh một cách gọn gàng, ngay cả khi các đối tượng đó không được dạy cụ thể trong quá trình đào tạo.
  • Hiệu quả - YOLO-World kết hợp độ chính xác cao với hiệu quả tính toán, khiến nó trở nên thiết thực cho các ứng dụng trong thế giới thực. Kiến trúc hợp lý của nó giúp phát hiện đối tượng nhanh chóng mà không đòi hỏi quá nhiều về sức mạnh xử lý.

Các ứng dụng của YOLO-World

Các mô hình YOLO-World có thể được sử dụng cho nhiều ứng dụng khác nhau. Hãy cùng khám phá một số ứng dụng trong số đó.

Kiểm soát chất lượng trong sản xuất

Các sản phẩm được sản xuất trên dây chuyền lắp ráp được kiểm tra trực quan để phát hiện lỗi trước khi đóng gói. Việc phát hiện lỗi thường được thực hiện thủ công, mất thời gian và có thể dẫn đến sai sót. Những sai sót này có thể gây ra các vấn đề như chi phí cao và nhu cầu sửa chữa hoặc thu hồi. Để hỗ trợ việc này, các camera thị giác máy đặc biệt và hệ thống AI đã được tạo ra để thực hiện các kiểm tra này. 

Các mô hình YOLO-World là một bước tiến lớn trong lĩnh vực này. Chúng có thể tìm ra lỗi trong sản phẩm ngay cả khi chúng chưa được đào tạo cho vấn đề cụ thể đó bằng cách sử dụng khả năng zero-shot của chúng. Ví dụ, một nhà máy sản xuất chai nước có thể dễ dàng xác định giữa một chai được đóng kín đúng cách với nắp chai so với một chai bị thiếu nắp hoặc bị lỗi bằng cách sử dụng YOLO-World.

__wf_reserved_thừa kế
Một ví dụ về kiểm tra nắp chai.

Kỹ thuật Robot

Các mô hình YOLO-World cho phép robot tương tác với môi trường không quen thuộc. Không cần được đào tạo về các vật thể cụ thể có thể có trong phòng, chúng vẫn có thể xác định được các vật thể hiện diện. Vì vậy, giả sử một robot bước vào một căn phòng mà nó chưa từng vào trước đó. Với mô hình YOLO-World, nó vẫn có thể nhận dạng và xác định các vật thể như ghế, bàn hoặc đèn, mặc dù nó chưa được đào tạo cụ thể về các vật thể đó.

Ngoài việc phát hiện vật thể, YOLO-World cũng có thể xác định tình trạng của các vật thể đó, nhờ tính năng 'prompt-then-detect'. Ví dụ, trong robot nông nghiệp , nó có thể được sử dụng để xác định quả chín so với quả chưa chín bằng cách lập trình robot để phát hiện chúng.

AI trong ngành công nghiệp ô tô

Ngành công nghiệp ô tô liên quan đến nhiều bộ phận chuyển động và YOLO-World có thể được sử dụng cho các ứng dụng ô tô khác nhau. Ví dụ, khi nói đến việc bảo dưỡng ô tô, khả năng nhận dạng nhiều loại vật thể khác nhau của YOLO-World mà không cần gắn thẻ thủ công hoặc đào tạo trước chuyên sâu là vô cùng hữu ích. YOLO-World có thể được sử dụng để xác định các bộ phận ô tô cần thay thế. Nó thậm chí có thể tự động hóa các tác vụ như kiểm tra chất lượng, phát hiện lỗi hoặc thiếu bộ phận trong ô tô mới.

Một ứng dụng khác là phát hiện vật thể zero-shot trong xe tự lái . Khả năng phát hiện zero-shot của YOLO-World có thể cải thiện khả năng phát hiện và phân loại vật thể trên đường của xe tự hành, chẳng hạn như người đi bộ, biển báo giao thông và các phương tiện khác, theo thời gian thực. Bằng cách đó, nó có thể giúp phát hiện chướng ngại vật và ngăn ngừa tai nạn để có một hành trình an toàn hơn. 

__wf_reserved_thừa kế
Một ví dụ về việc phát hiện vật thể trên đường.

Quản lý hàng tồn kho cho cửa hàng bán lẻ

Việc xác định các đối tượng trên kệ trong các cửa hàng bán lẻ là một phần quan trọng trong việc theo dõi hàng tồn kho, duy trì hàng tồn kho và tự động hóa các quy trình. Khả năng nhận dạng nhiều loại đối tượng khác nhau của Ultralytics YOLO-World mà không cần gắn thẻ thủ công hoặc đào tạo trước chuyên sâu cực kỳ hữu ích cho việc quản lý hàng tồn kho. 

Ví dụ, trong quản lý hàng tồn kho , YOLO-World có thể nhanh chóng phát hiện và phân loại các mặt hàng trên kệ, chẳng hạn như các nhãn hiệu đồ uống tăng lực khác nhau. Các cửa hàng bán lẻ có thể duy trì hàng tồn kho chính xác, quản lý mức tồn kho hiệu quả và làm trơn tru các hoạt động của chuỗi cung ứng. 

Tất cả các ứng dụng đều độc đáo và cho thấy YOLO-World có thể được sử dụng rộng rãi như thế nào. Tiếp theo, chúng ta hãy thực hành với YOLO-World và xem một ví dụ mã hóa.

Một hướng dẫn mã

Như đã đề cập trước đó, YOLO-World có thể được sử dụng để phát hiện các bộ phận khác nhau của ô tô để bảo dưỡng. Một ứng dụng thị giác máy tính phát hiện bất kỳ sửa chữa nào cần thiết sẽ bao gồm chụp ảnh ô tô, xác định các bộ phận của ô tô, kiểm tra từng bộ phận của ô tô để tìm hư hỏng và đề xuất sửa chữa. Mỗi bộ phận của hệ thống này sẽ sử dụng các kỹ thuật và phương pháp AI khác nhau. Đối với mục đích của hướng dẫn mã này, chúng ta hãy tập trung vào bộ phận khi các bộ phận ô tô được phát hiện.

Với YOLO-World, bạn có thể xác định các bộ phận khác nhau của ô tô trong một hình ảnh trong vòng chưa đầy 5 phút. Bạn cũng có thể mở rộng mã này để thử các ứng dụng khác nhau bằng YOLO-World! Để bắt đầu, chúng ta cần pip install gói Ultralytics như hiển thị bên dưới.

Để biết thêm hướng dẫn và các biện pháp thực hành tốt nhất liên quan đến quy trình cài đặt, hãy xem hướng dẫn Cài đặt Ultralytics của chúng tôi. Trong khi cài đặt các gói cần thiết cho YOLOv8, nếu bạn gặp bất kỳ khó khăn nào, hãy xem hướng dẫn Các vấn đề thường gặp của chúng tôi để biết các giải pháp và mẹo.

Sau khi bạn đã cài đặt gói cần thiết, chúng ta có thể tải xuống hình ảnh từ Internet để chạy suy luận. Chúng ta sẽ sử dụng hình ảnh bên dưới.

__wf_reserved_thừa kế
Hình ảnh đầu vào của chúng tôi.

Sau đó, chúng ta sẽ nhập gói cần thiết, khởi tạo mô hình của mình và thiết lập các lớp chúng ta đang tìm kiếm trong hình ảnh đầu vào. Ở đây, chúng ta quan tâm đến các lớp sau: xe, bánh xe, cửa xe, gương xe và biển số xe.

Sau đó, chúng tôi sẽ sử dụng phương pháp dự đoán, cung cấp đường dẫn của hình ảnh cùng với các tham số cho số lượng phát hiện tối đa và ngưỡng cho giao điểm trên hợp nhất (IoU) và độ tin cậy (conf) để chạy suy luận trên hình ảnh. Cuối cùng, các đối tượng được phát hiện được lưu vào tệp có tên 'result.jpg.'

Hình ảnh đầu ra sau đây sẽ được lưu vào tập tin của bạn.

__wf_reserved_thừa kế
Hình ảnh đầu ra của chúng tôi.

Nếu bạn muốn xem YOLO-World có thể làm gì mà không cần viết mã, bạn có thể vào trang Demo YOLO-World, tải lên hình ảnh đầu vào và nhập các lớp tùy chỉnh. 

Đọc trang tài liệu của chúng tôi trên YOLO-World để tìm hiểu cách lưu mô hình với các lớp tùy chỉnh để có thể sử dụng trực tiếp sau này mà không cần nhập lại các lớp tùy chỉnh nhiều lần .

Bạn có để ý thấy cửa xe không được phát hiện không?

Nếu bạn xem lại hình ảnh đầu ra, bạn sẽ thấy lớp tùy chỉnh “car door” không được phát hiện. Mặc dù có những thành tựu to lớn, YOLO-World vẫn có một số hạn chế nhất định. Để khắc phục những hạn chế này và sử dụng mô hình YOLO-World hiệu quả, điều quan trọng là phải sử dụng đúng loại lời nhắc văn bản. 

Sau đây là một số hiểu biết sâu sắc về vấn đề này:

  • YOLO-World có thể không cần mức độ tin cậy cao để đưa ra dự đoán chính xác, do đó việc giảm ngưỡng tin cậy có thể cải thiện tỷ lệ phát hiện.
  • Thêm các lớp mà bạn không quan tâm. Điều này sẽ giúp cải thiện khả năng phát hiện đối tượng chính bằng cách giảm các kết quả dương tính giả đối với các đối tượng phụ.
  • Phát hiện các vật thể lớn hơn trước khi tập trung vào các chi tiết nhỏ hơn có thể cải thiện độ chính xác của phát hiện.
  • Nhắc đến màu sắc trong lớp học của bạn để phát hiện các vật thể dựa trên tín hiệu màu sắc.
  • Việc mô tả kích thước đối tượng trong lời nhắc cũng có thể giúp YOLO-World xác định các đối tượng cụ thể chính xác hơn.
  • Các phương pháp xử lý hậu kỳ, chẳng hạn như lọc dự đoán theo kích thước hoặc điều chỉnh mức độ tin cậy cho mỗi lớp, có thể cải thiện thêm kết quả phát hiện đối tượng.

Các giới hạn là vô tận

Nhìn chung, các mô hình YOLO-World có thể được biến thành một công cụ mạnh mẽ với khả năng phát hiện vật thể tiên tiến. Nó mang lại hiệu quả, độ chính xác cao và giúp tự động hóa các tác vụ khác nhau trên nhiều ứng dụng khác nhau, như ví dụ về nhận dạng phụ tùng ô tô mà chúng ta đã thảo luận thực tế.

Hãy thoải mái khám phá kho lưu trữ GitHub của chúng tôi để tìm hiểu thêm về những đóng góp của chúng tôi cho thị giác máy tính và AI. Nếu bạn tò mò về cách AI đang định hình lại các lĩnh vực như công nghệ chăm sóc sức khỏe , hãy xem các trang giải pháp của chúng tôi. Các khả năng với những sáng kiến như YOLO-World dường như là vô tận!

Hãy cùng 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 máy học

Bắt đầu miễn phí
Liên kết đã được sao chép vào clipboard