Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Ultralytics YOLO

Thực hành với YOLO-World

Tìm hiểu về YOLO-World, model phát hiện đối tượng với bộ từ vựng mở theo thời gian thực có thể tìm đối tượng từ prompt văn bản, cùng các ứng dụng và ví dụ code nhanh.

Abirami VinaAbirami Vina11 phút đọc
Tìm hiểu về YOLO-World, model phát hiện đối tượng với bộ từ vựng mở theo thời gian thực có thể tìm đối tượng từ prompt văn bản, cùng các ứng dụng và ví dụ code nhanh.

Các dự án thị giác máy tính thường đòi hỏi nhiều thời gian để gán nhãn dữ liệu và huấn luyện model phát hiện đối tượng. Nhưng điều đó có thể sớm thay đổi. Phòng thí nghiệm AI của Tencent phát hành YOLO-World, một model phát hiện đối tượng từ vựng mở theo thời gian thực, vào ngày 31 tháng 1 năm 2024. YOLO-World là model 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 huấn luyện model.

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

Tìm hiểu sơ lược về YOLO-World#

Bạn có thể đưa hình ảnh và prompt văn bản mô tả các đối tượng cần tìm vào model YOLO-World. Ví dụ: nếu muốn tìm "một người mặc áo đỏ" trong ảnh, YOLO-World sẽ tiếp nhận đầu vào này và bắt đầu xử lý.

Kiến trúc độc đáo của model kết hợp ba thành phần chính:

  • Một detector dựa trên model phát hiện đối tượng Ultralytics YOLOv8, dùng để 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 được OpenAI huấn luyện trước bằng CLIP, được thiết kế riêng để hiểu prompt văn bản của bạn.
  • Một mạng có tên Re-parameterizable 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.

Detector YOLO quét hình ảnh đầu vào để xác định các đối tượng tiềm năng. Bộ mã hóa văn bản chuyển mô tả của bạn thành định dạng mà model có thể hiểu. Sau đó, hai luồng thông tin này được hợp nhất qua RepVL-PAN bằng phương pháp hợp nhất đa cấp giữa các phương thức. Nhờ vậy, YOLO-World có thể phát hiện và định vị chính xác các đối tượng được mô tả trong prompt của bạn ở bên trong hình ảnh.

Ví dụ về kết quả từ YOLO-World

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

Lợi ích khi chọn YOLO-World#

Một trong những ưu điểm lớn nhất của YOLO-World là bạn không cần huấn luyện model cho một lớp cụ thể. Model đã học từ các cặp hình ảnh và văn bản nên có thể 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 khi sử dụng YOLO-World:

  • Hiệu năng thời gian thực - YOLO-World hỗ trợ hiệu năng thời gian thực như kiến trúc YOLO ban đầu. Model phù hợp với các ứng dụng cần phát hiện đối tượng ngay lập tức, chẳng hạn như xe tự hành và hệ thống giám sát.
  • Phân đoạn đối tượng riêng lẻ - Bản phát hành YOLO-World ban đầu bao gồm các biến thể phân đoạn; trong gói Ultralytics, YOLO-World thực hiện phát hiện đối tượng, còn YOLOE bổ sung tính năng phân đoạn đối tượng riêng lẻ từ vựng mở.
  • Hiệu quả - YOLO-World kết hợp độ chính xác cao với hiệu quả tính toán, phù hợp để triển khai trong thực tế. Kiến trúc tinh gọn giúp phát hiện đối tượng nhanh chóng mà không đòi hỏi quá nhiều sức mạnh xử lý.

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

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

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

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, tốn thời gian và dễ dẫn đến sai sót. Những sai sót này có thể gây ra vấn đề như chi phí cao và nhu cầu sửa chữa hoặc thu hồi sản phẩm. Để giải quyết vấn đề này, người ta đã phát triển camera thị giác máy và hệ thống AI chuyên dụng để thực hiện các bước kiểm tra.

Các model YOLO-World là một bước tiến lớn trong lĩnh vực này. Nhờ khả năng zero-shot, chúng có thể tìm lỗi trong sản phẩm ngay cả khi chưa được huấn luyện cho vấn đề cụ thể đó. Chẳng hạn, một nhà máy sản xuất chai nước có thể dùng YOLO-World để phân biệt chai được đóng kín đúng cách với nắp chai và chai bị thiếu nắp hoặc nắp bị lỗi.

Camera machine vision phía trên dây chuyền đóng chai, với khung phóng to đánh dấu chai có nắp chưa được đóng kín hoàn toàn

Ví dụ về kiểm tra nắp chai.

Robot#

Model YOLO-World cho phép robot tương tác với những môi trường xa lạ. Dù chưa được huấn luyện trên các đối tượng cụ thể có thể xuất hiện trong phòng, robot vẫn có thể xác định những đối tượng hiện diện. Chẳng hạn, một robot bước vào căn phòng chưa từng đến trước đây. Với model YOLO-World, robot vẫn có thể nhận diện và xác định các vật thể như ghế, bàn hoặc đèn, dù chưa được huấn luyện cụ thể trên những vật thể đó.

Ngoài phát hiện đối tượng, YOLO-World còn có thể xác định trạng thái của các đối tượng nhờ tính năng 'prompt-then-detect'. Chẳng hạn, trong robot nông nghiệp, có thể dùng tính năng này để phân biệt quả chín 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 ô tô#

Ngành công nghiệp ô tô có nhiều bộ phận chuyển động và YOLO-World có thể được sử dụng cho nhiều ứng dụng liên quan đến xe. Chẳng hạn, trong bảo trì ô tô, khả năng nhận diện nhiều loại đối tượng của YOLO-World mà không cần gán nhãn thủ công hay huấn luyện trước quy mô lớn rất hữu ích. YOLO-World có thể được dùng để xác định các bộ phận xe cần thay thế. Model 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 bộ phận còn thiếu trên xe 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 phát hiện và phân loại các đối tượng trên đường theo thời gian thực 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. Nhờ đó, model có thể phát hiện chướng ngại vật và ngăn ngừa tai nạn để hành trình an toàn hơn.

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

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

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

Nhận diện đối tượng trên kệ hàng trong cửa hàng bán lẻ là khâu quan trọng để theo dõi hàng tồn kho, duy trì mức dự trữ và tự động hóa quy trình. Tính năng phát hiện từ vựng mở của Ultralytics YOLO-World cũng hữu ích cho việc quản lý hàng tồn kho.

Ví dụ, trong quản lý 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ì dữ liệu tồn kho chính xác, quản lý mức hàng hiệu quả và tối ưu hóa hoạt động chuỗi cung ứng.

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

Hướng dẫn từng bước qua mã#

Như đã đề cập, YOLO-World có thể được dùng để phát hiện các bộ phận khác nhau của ô tô phục vụ bảo dưỡng. Một ứng dụng thị giác máy tính phát hiện các hạng mục cần sửa chữa sẽ cần chụp ảnh xe, xác định các bộ phận, kiểm tra từng bộ phận để 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. Trong hướng dẫn từng bước qua mã này, chúng ta sẽ tập trung vào phần phát hiện các bộ phận ô tô.

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

pip install ultralytics

Để biết thêm hướng dẫn và các phương 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. Nếu gặp khó khăn khi cài đặt các gói cần thiết cho YOLOv8, hãy tham khảo hướng dẫn Các vấn đề thường gặp để tìm giải pháp và mẹo.

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

Xe sedan màu trắng đỗ trên đường phố, ảnh đầu vào cho ví dụ YOLO-World

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

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

Sau đó, chúng ta sẽ dùng phương thức predict, truyền vào đường dẫn hình ảnh cùng các tham số quy định số lượng phát hiện tối đa và ngưỡng giao trên hợp (IoU) cùng độ 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 tệp có tên result.jpg.

from ultralytics import YOLOWorld

# Khởi tạo model YOLO-World
model = YOLOWorld("yolov8s-worldv2.pt")

# Xác định các lớp tùy chỉnh cần phát hiện
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])

# Chạy suy luận với số lượng phát hiện tối đa cùng các ngưỡng IoU và độ tin cậy
results = model.predict("path/to/image.jpg", max_det=100, iou=0.5, conf=0.25)

# Lưu kết quả đã gán nhãn
results[0].save("result.jpg")

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

Đầu ra YOLO-World trên xe sedan màu trắng, với các box đánh dấu xe, bánh xe, gương chiếu hậu và biển số

Hình ảnh đầu ra của chúng ta.

Nếu 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 để tìm hiểu cách lưu model cùng các lớp tùy chỉnh để có thể dùng trực tiếp về sau 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 xem lại hình ả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. Dù đạt được nhiều thành tựu, YOLO-World vẫn có những hạn chế nhất định. Để khắc phục các hạn chế này và sử dụng model YOLO-World hiệu quả, điều quan trọng là phải dùng đúng loại prompt văn bản.

Dưới đây là một số thông tin hữu ích:

  • YOLO-World có thể không cần ngưỡng độ tin cậy cao để đưa ra dự đoán chính xác, vì vậy 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 kết quả dương tính giả đối với các đối tượng phụ.
  • Phát hiện các đối tượng lớn trước khi tập trung vào chi tiết nhỏ có thể cải thiện độ chính xác phát hiện.
  • Đề cập màu sắc trong tên lớp để phát hiện đối tượng dựa trên dấu hiệu màu sắc.
  • Mô tả kích thước đối tượng trong prompt 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 dự đoán theo kích thước hoặc điều chỉnh mức độ tin cậy theo từng lớp, có thể cải thiện thêm kết quả phát hiện đối tượng.

Khả năng là vô tận#

Nhìn chung, các model YOLO-World có thể trở thành công cụ mạnh mẽ nhờ khả năng phát hiện đối tượng tiên tiến. Model mang lại hiệu quả và độ chính xác cao, đồng thời giúp tự động hóa nhiều tác vụ trong các ứng dụng khác nhau, chẳng hạn như ví dụ xác định các bộ phận ô tô mà chúng ta đã thực hành.

Bạn có thể 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. YOLO-World mở ra nhiều khả năng mới cho AI thị giác.

Được viết bởi

Abirami Vina
Abirami Vina

Nhà sáng tạo nội dung · Ultralytics

Khởi đầu sự nghiệp với vai trò kỹ sư thị giác máy tính, Abirami Vina đã xây dựng nền tảng vững chắc về AI thị giác và machine learning. Cô là Nhà sáng tạo nội dung tại Ultralytics, đồng thời là Nhà sáng lập kiêm Biên tập viên chính tại Scribe of AI, nơi cô xây dựng nội dung kỹ thuật chất lượng cao cho các công ty tập trung vào AI. Với niềm đam mê giúp AI trở nên dễ hiểu và hấp dẫn, công việc của cô kết nối công nghệ tiên tiến với tác động thực tế.

Bình luận

Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

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