Đón xem YOLO Vision 2025!
25 tháng 9, 2025
10:00 — 18:00 BST
Sự kiện kết hợp
Yolo Vision 2024

Thực hành với 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 vật thể (object detection) tiên tiến có thể xác định các đối tượng thông qua các truy vấn bằng văn bản. Khám phá cách YOLO-World hoạt động và các ứng dụng của nó, đồng thời thực hành với một ví dụ code nhanh.

Các dự án thị giác máy tính (computer vision) thường tốn rất nhiều thời gian để gán nhãn dữ liệu (annotating data) và huấn luyện 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. AI Lab của Tencent đã phát hành YOLO-World, một mô hình phát hiện đối tượng thời gian thực, mã nguồn mở (open-vocabulary object detection model), vào ngày 31 tháng 1 năm 2024. YOLO-World là một mô hình zero-shot, có nghĩa là bạn có thể chạy suy luận phát hiện đối tượng (object detection inferences) trên hình ảnh mà không cần phải huấn luyện 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ụ code thực tế để giúp bạn bắt đầu.

Cái nhìn sơ lược về YOLO-World

Bạn có thể truyền một hình ảnh và truy vấn 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 quan tâm đến việc tìm kiếm "một người mặc áo sơ mi đỏ" trong một bức ảnh, YOLO-World sẽ nhận đầ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ộ dò tìm 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.
  • Một bộ mã hóa văn bản (text encoder) được đào tạo trước bởi CLIP của OpenAI, được thiết kế đặc biệt để hiểu truy vấn văn bản của bạn.
  • Một mạng, Mạng tổng hợp đường dẫn ngôn ngữ thị giác (Vision-Language Path Aggregation Network - 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ò tìm 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 kết hợp đa phương thức đa cấp (multi-level cross-modality fusion). 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 truy vấn của bạn trong hình ảnh.

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

Lợi ích của việc chọn YOLO-World

Một trong những ưu điểm lớn nhất của việc sử dụng YOLO-World là bạn không phải huấn luyện 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 hàng giờ thu thập dữ liệu, gán nhãn dữ liệu, huấn luyện trên GPU đắt tiền, v.v.

Dưới đây là một số lợi ích khác của việc 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 ban đầu. 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 thể hiện (Instance Segmentation) - YOLO-World có thể phác thảo và tách biệt các đối tượng trong ảnh một cách gọn gàng, ngay cả khi những đối tượng đó không được dạy cụ thể trong quá trình huấn luyện.
  • Hiệu quả - YOLO-World kết hợp độ chính xác cao với hiệu quả tính toán, làm cho 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 cho việc phát hiện đối tượng nhanh chóng có thể thực hiện được 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 vài 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 để tìm 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, tốn 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à cần sửa chữa hoặc thu hồi. Để hỗ trợ việc này, các camera machine vision chuyên dụng 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 thấy các lỗi trong sản phẩm ngay cả khi chúng chưa được huấn luyện cho vấn đề cụ thể đó bằng cách sử dụng khả năng zero-shot. Ví dụ: một nhà máy sản xuất chai nước có thể dễ dàng xác định sự khác biệt giữa một chai được đóng kín đúng cách với một chai bị thiếu hoặc lỗi nắp bằng cách sử dụng YOLO-World.

Một ví dụ về kiểm tra nắp chai.

Robot học

Các mô hình YOLO-World cho phép robot tương tác với các môi trường xa lạ. Ngay cả khi không được huấn luyện trên các đối tượng cụ thể có thể có trong phòng, chúng vẫn có thể xác định những đối tượng nào đang 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 ở trước đây. Với mô hình YOLO-World, nó vẫn có thể nhận ra và xác định các đồ vật như ghế, bàn hoặc đèn, mặc dù nó chưa được huấn luyện cụ thể trên những vật phẩm đó.

Ngoài khả năng phát hiện đối tượng, YOLO-World còn có thể xác định tình trạng của các đối tượng đó nhờ tính năng 'prompt-then-detect' (nhắc lệnh rồi phát hiện). Ví dụ: trong robot nông nghiệp, nó có thể được sử dụng để xác định trái cây chín so với trái cây chưa chín bằng cách lập trình cho robot phát hiện chúng.

Ứng dụng AI trong ngành công nghiệp ô tô

Ngành công nghiệp ô tô bao gồm nhiều bộ phận chuyển động và YOLO-World có thể được sử dụng cho các ứng dụng khác nhau trên xe hơi. Ví dụ: khi nói đến bảo trì xe hơi, khả năng nhận dạng nhiều loại đối tượng của YOLO-World mà không cần gắn thẻ thủ công hoặc huấn luyện trước mở rộng là cực kỳ hữu ích. YOLO-World có thể được sử dụng để xác định các bộ phận xe hơi cần được 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 các lỗi hoặc các bộ phận bị thiếu trong xe hơi mới.

Một ứng dụng khác là phát hiện đối tượng 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 của xe tự hành trong việc phát hiện và phân loại các đối tượng trên đường, 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, trong 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. 

Một ví dụ về phát hiện các đối tượng trên đường.

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

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 của việc theo dõi hàng tồn kho, duy trì hàng hóa và tự động hóa các quy trình. Khả năng nhận dạng nhiều loại đối tượng của Ultralytics YOLO-World mà không cần gắn thẻ thủ công hoặc huấn luyện trước mở rộng là 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 nước 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 này đều độc đáo và cho thấy mức độ sử dụng rộng rãi của YOLO-World. Tiếp theo, hãy thực hành với YOLO-World và xem xét một ví dụ về mã.

Hướng dẫn chi tiết về code

Như chúng tôi đã đề 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 xe hơi để bảo trì. Một ứng dụng computer vision phát hiện bất kỳ sửa chữa cần thiết nào sẽ bao gồm việc chụp ảnh xe hơi, xác định các bộ phận xe hơi, kiểm tra từng bộ phận của xe hơi để tìm hư hỏng và đề xuất sửa chữa. Mọi 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. Vì mục đích của hướng dẫn chi tiết về code này, chúng ta hãy tập trung vào phần khi các bộ phận xe hơi được phát hiện.

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

Để biết thêm hướng dẫn và các phương pháp hay 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 một hình ảnh từ Internet để chạy các suy luận của mình. Chúng ta sẽ sử dụng hình ảnh bên dưới.

Hình ảnh đầu vào của chúng ta.

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

Sau đó, chúng ta sẽ sử dụng phương thức predict, 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 intersection over union (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 sẽ được lưu vào một tệp có tên 'result.jpg'.

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

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 code, bạn có thể truy cập trang Demo YOLO-World, tải lên ảnh đầu vào và nhập các lớp tùy chỉnh. 

Đọc trang tài liệu về YOLO-World của chúng tôi để 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.

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

Nếu bạn xem lại ảnh đầu ra, bạn sẽ nhận thấy lớp tùy chỉnh “cửa xe” không được phát hiện. Mặc dù đạt được những thành tựu lớn, YOLO-World vẫn có những 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 một cách hiệu quả, điều quan trọng là phải sử dụng đúng loại gợi ý văn bản. 

Dưới đây là một số thông tin chi tiết:

  • YOLO-World có thể không cần mức độ tin cậy cao để đưa ra các dự đoán chính xác, vì vậy 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 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 thiểu các kết quả dương tính giả cho các đối tượng thứ cấp.
  • Phát hiện các đối tượng lớ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 việc phát hiện.
  • Đề cập đến màu sắc trong các lớp của bạn để phát hiện các đối tượng dựa trên tín hiệu màu sắc.
  • Mô tả kích thước đối tượng trong các gợi ý 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 hậu xử lý, chẳng hạn như lọc cá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 hơn nữa kết quả phát hiện đối tượng.

Giới hạn là vô tận

Nhìn chung, các mô hình YOLO-World có thể trở thành một công cụ mạnh mẽ với khả năng phát hiện đối tượng tiên tiến của chúng. 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 trong nhiều ứng dụng, như ví dụ về xác định các bộ phận của ô tô mà chúng ta đã thảo luận một cách thực tế.

Vui lòng 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 lĩnh vực 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 đổi mới như YOLO-World dường như là vô tận!

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

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

Bắt đầu miễn phí
Đã sao chép liên kết vào clipboard