YOLOE: Nhìn thấy mọi thứ theo thời gian thực
Giới thiệu
YOLOE (Real-Time Seeing Anything) là một tiến bộ mới trong không cần bắn, có thể nhắc nhở YOLO các mô hình, được thiết kế để phát hiện và phân đoạn từ vựng mở . Không giống như trước đây YOLO Các mô hình giới hạn trong các danh mục cố định, YOLOE sử dụng văn bản, hình ảnh hoặc lời nhắc từ vựng nội bộ, cho phép phát hiện bất kỳ lớp đối tượng nào theo thời gian thực. Được xây dựng dựa trên YOLOv10 và lấy cảm hứng từ YOLO -World , YOLOE đạt được hiệu suất zero-shot tiên tiến với tác động tối thiểu đến tốc độ và độ chính xác.
Ultralytics Trạng thái tích hợp 🚧
Các Ultralytics tích hợp cho YOLOE hiện đang được xây dựng 🔨. Các ví dụ sử dụng được hiển thị trong tài liệu này sẽ hoạt động sau khi tích hợp hoàn tất ✅. Vui lòng kiểm tra lại để biết các bản cập nhật 🔄 hoặc theo dõi kho lưu trữ GitHub 🚀 của chúng tôi để biết những phát triển mới nhất.
So với trước đó YOLO mô hình, YOLOE tăng đáng kể hiệu quả và độ chính xác. Nó cải thiện +3,5 AP so với YOLO -Worldv2 trên LVIS trong khi chỉ sử dụng một phần ba tài nguyên đào tạo và đạt được tốc độ suy luận nhanh hơn 1,4 lần. Được tinh chỉnh trên COCO, YOLOE-v8-large vượt trội YOLOv8 -L bằng 0,1 mAP , sử dụng ít hơn gần 4 lần thời gian đào tạo . Điều này chứng minh sự cân bằng đặc biệt giữa độ chính xác, hiệu quả và tính linh hoạt của YOLOE. Các phần bên dưới khám phá kiến trúc, so sánh chuẩn và tích hợp với khuôn khổ Ultralytics của YOLOE.
Tổng quan về kiến trúc
YOLOE vẫn giữ nguyên tiêu chuẩn YOLO cấu trúc— xương sống tích chập (ví dụ, CSP-Darknet) để trích xuất đặc điểm, một cổ (ví dụ, PAN-FPN) để hợp nhất đa thang đo và một đầu phát hiện tách rời, không có mỏ neo (như trong YOLOv8 / YOLO11 ) dự đoán tính đối tượng, lớp và hộp một cách độc lập. YOLOE giới thiệu ba mô-đun mới cho phép phát hiện từ vựng mở:
-
Căn chỉnh vùng-văn bản có thể tham số hóa lại (RepRTA) : Hỗ trợ phát hiện theo yêu cầu văn bản bằng cách tinh chỉnh nhúng văn bản (ví dụ: từ CLIP) thông qua một mạng phụ trợ nhỏ. Khi suy luận, mạng này được đưa vào mô hình chính, đảm bảo không có chi phí phát sinh. Do đó, YOLOE phát hiện các đối tượng được gắn nhãn văn bản tùy ý (ví dụ: "đèn giao thông" không nhìn thấy) mà không bị phạt thời gian chạy.
-
Bộ mã hóa nhắc nhở trực quan được kích hoạt theo ngữ nghĩa (SAVPE) : Cho phép phát hiện nhắc nhở trực quan thông qua một nhánh nhúng nhẹ. Với một hình ảnh tham chiếu, SAVPE mã hóa các tính năng ngữ nghĩa và kích hoạt, điều chỉnh mô hình để phát hiện các đối tượng tương tự về mặt trực quan—khả năng phát hiện một lần hữu ích cho logo hoặc các bộ phận cụ thể.
-
Lazy Region-Prompt Contrast (LRPC) : Ở chế độ không có dấu nhắc , YOLOE thực hiện nhận dạng tập mở bằng cách sử dụng nhúng nội bộ được đào tạo trên các từ vựng lớn (hơn 1200 danh mục từ LVIS và Objects365). Không có dấu nhắc hoặc bộ mã hóa bên ngoài, YOLOE xác định các đối tượng thông qua tra cứu độ tương đồng nhúng, xử lý hiệu quả các không gian nhãn lớn khi suy luận.
Ngoài ra, YOLOE tích hợp phân đoạn trường hợp thời gian thực bằng cách mở rộng đầu phát hiện với nhánh dự đoán mặt nạ (tương tự như YOLACT hoặc YOLOv8 -Seg), thêm chi phí tối thiểu.
Điều quan trọng là các mô-đun thế giới mở của YOLOE không tạo ra chi phí suy luận khi được sử dụng như một tập hợp đóng thông thường YOLO . Sau khi đào tạo, các tham số YOLOE có thể được tham số hóa lại thành một tiêu chuẩn YOLO đầu, giữ nguyên FLOP và tốc độ giống hệt nhau (ví dụ, khớp chính xác với YOLO11 ).
So sánh hiệu suất YOLOE
YOLOE khớp hoặc vượt quá độ chính xác của tập đóng YOLO các mô hình trên các chuẩn mực như COCO, mà không ảnh hưởng đến tốc độ hoặc kích thước mô hình. Bảng dưới đây so sánh YOLOE-L (được xây dựng trên YOLO11 ) so với YOLOv8 tương ứng và YOLO11 mô hình:
Người mẫu | Bản đồ COCO 50-95 | Tốc độ suy luận (T4) | Các tham số | GFLOP (640px) |
---|---|---|---|---|
YOLOv8 -L (tập hợp đóng) | 52.9% | 9,06 ms (110 FPS) | 43.7 M | 165.2 B |
YOLO11 -L (bộ đóng) | 53.5% | 6,2 ms (130 FPS) | 26.2 M | 86.9 B |
YOLOE-L (từ vựng mở) | 52.6% | 6,2 ms (130 FPS) | 26.2 M | 86,9 tỷ † |
† YOLO11 -L và YOLOE-L có kiến trúc giống hệt nhau (các mô-đun nhắc nhở bị vô hiệu hóa trong YOLO11 -L), dẫn đến tốc độ suy luận giống hệt nhau và ước tính GFLOP tương tự nhau.
YOLOE-L đạt 52,6% mAP , vượt qua YOLOv8 -L ( 52,9% ) với ít hơn khoảng 40% tham số (26M so với 43,7M). Nó xử lý hình ảnh 640×640 trong 6,2 ms (161 FPS) so với YOLOv8 -L's 9.06 ms (110 FPS) , làm nổi bật YOLO11 Hiệu quả. Điều quan trọng là các mô-đun từ vựng mở của YOLOE không phải chịu chi phí suy luận , thể hiện thiết kế "không có sự đánh đổi nào cho bữa trưa miễn phí" .
Đối với các nhiệm vụ zero-shot và chuyển giao, YOLOE vượt trội: trên LVIS, YOLOE-small cải thiện hơn YOLO -Worldv2 bằng +3,5 AP sử dụng ít hơn 3 lần tài nguyên đào tạo . Tinh chỉnh YOLOE-L từ LVIS thành COCO cũng yêu cầu ít hơn 4 lần thời gian đào tạo so với YOLOv8 -L, nhấn mạnh hiệu quả và khả năng thích ứng của nó. YOLOE tiếp tục duy trì YOLO tốc độ đặc trưng của ', đạt 300+ FPS trên T4 GPU và ~64 FPS trên iPhone 12 qua CoreML , lý tưởng cho việc triển khai di động và biên.
Ghi chú
Điều kiện chuẩn: Kết quả YOLOE là từ các mô hình được đào tạo trước trên Objects365, GoldG và LVIS, sau đó được tinh chỉnh hoặc đánh giá trên COCO. Ưu điểm mAP nhỏ của YOLOE so với YOLOv8 đến từ quá trình đào tạo trước mở rộng. Nếu không có quá trình đào tạo từ vựng mở này, YOLOE sẽ khớp với các từ có kích thước tương tự YOLO các mô hình, khẳng định độ chính xác SOTA và tính linh hoạt trong thế giới mở mà không làm giảm hiệu suất.
So sánh với các mô hình trước đó
YOLOE giới thiệu những tiến bộ đáng chú ý so với trước đây YOLO mô hình và máy dò từ vựng mở:
-
YOLOE so với YOLOv5 :
YOLOv5 cung cấp sự cân bằng tốc độ-độ chính xác tốt nhưng cần đào tạo lại cho các lớp mới và sử dụng đầu dựa trên neo. Ngược lại, YOLOE không có neo và phát hiện động các lớp mới. YOLOE, xây dựng trên YOLOv8 Những cải tiến của 's đạt được độ chính xác cao hơn (52,6% so với YOLOv5 's ~50% mAP trên COCO) và tích hợp phân đoạn phiên bản, không giống như YOLOv5 . -
YOLOE so với YOLOv8 :
YOLOE mở rộng kiến trúc được thiết kế lại của YOLOv8 , đạt được độ chính xác tương tự hoặc vượt trội ( 52,6% mAP với ~26M tham số so với YOLOv8 -L's 52,9% với ~44M tham số ). Nó làm giảm đáng kể thời gian đào tạo do đào tạo trước mạnh hơn. Sự tiến bộ chính là khả năng thế giới mở của YOLOE, phát hiện các vật thể vô hình (ví dụ: " xe tay ga chim " hoặc " biểu tượng hòa bình ") thông qua lời nhắc, không giống như YOLOv8 thiết kế khép kín. -
YOLOE so với YOLO11 :
YOLO11 cải thiện YOLOv8 với hiệu quả được cải thiện và ít tham số hơn (giảm ~22%). YOLOE thừa hưởng những lợi ích này trực tiếp, phù hợp YOLO11 tốc độ suy luận và số lượng tham số (~26M tham số), trong khi thêm phát hiện và phân đoạn từ vựng mở . Trong các kịch bản tập đóng, YOLOE tương đương với YOLO11 nhưng quan trọng hơn là tăng khả năng thích ứng để phát hiện các lớp chưa được phát hiện, đạt được khả năng thế giới mở YOLO11 + mà không ảnh hưởng đến tốc độ. -
YOLOE so với các công cụ phát hiện từ vựng mở trước đây:
Các mô hình từ vựng mở trước đó (GLIP, OWL-ViT, YOLO -World ) phụ thuộc rất nhiều vào các bộ chuyển đổi ngôn ngữ thị giác, dẫn đến suy luận chậm. YOLOE vượt trội hơn về độ chính xác không cần phát (ví dụ: +3,5 AP so với YOLO -Worldv2 ) trong khi chạy nhanh hơn 1,4 lần với tài nguyên đào tạo thấp hơn đáng kể. So với các phương pháp dựa trên bộ chuyển đổi (ví dụ: GLIP), YOLOE cung cấp suy luận nhanh hơn gấp nhiều lần, thu hẹp hiệu quả khoảng cách giữa độ chính xác và hiệu quả trong phát hiện tập mở.
Tóm lại, YOLOE duy trì YOLO Tốc độ và hiệu quả nổi tiếng, vượt trội hơn so với thế hệ trước về độ chính xác, tích hợp phân đoạn và giới thiệu khả năng phát hiện thế giới mở mạnh mẽ, khiến nó trở nên linh hoạt và thiết thực một cách độc đáo.
Các trường hợp sử dụng và ứng dụng
Công nghệ phát hiện và phân đoạn từ vựng mở của YOLOE cho phép triển khai nhiều ứng dụng vượt ra ngoài các mô hình lớp cố định truyền thống:
-
Phát hiện vật thể trong thế giới mở:
Thích hợp cho các tình huống năng động như robot , nơi robot có thể nhận dạng các vật thể chưa từng nhìn thấy trước đó bằng lời nhắc hoặc hệ thống an ninh nhanh chóng thích ứng với các mối đe dọa mới (ví dụ: vật phẩm nguy hiểm) mà không cần đào tạo lại. -
Phát hiện ít lần và một lần:
Sử dụng lời nhắc trực quan (SAVPE), YOLOE nhanh chóng học các đối tượng mới từ các hình ảnh tham chiếu đơn lẻ—hoàn hảo cho việc kiểm tra công nghiệp (xác định các bộ phận hoặc khuyết tật ngay lập tức) hoặc giám sát tùy chỉnh , cho phép tìm kiếm trực quan với thiết lập tối thiểu. -
Nhận dạng từ vựng lớn và đuôi dài:
Được trang bị vốn từ vựng gồm hơn 1000 lớp, YOLOE vượt trội trong các nhiệm vụ như giám sát đa dạng sinh học (phát hiện các loài quý hiếm), bộ sưu tập bảo tàng , kiểm kê bán lẻ hoặc thương mại điện tử , có thể xác định đáng tin cậy nhiều lớp mà không cần đào tạo chuyên sâu cho từng lớp. -
Phát hiện và phân đoạn tương tác:
YOLOE hỗ trợ các ứng dụng tương tác thời gian thực như tìm kiếm video/hình ảnh , thực tế tăng cường (AR) và chỉnh sửa hình ảnh trực quan, được điều khiển bởi các đầu vào tự nhiên (lời nhắc văn bản hoặc hình ảnh). Người dùng có thể cô lập, xác định hoặc chỉnh sửa các đối tượng một cách động bằng cách sử dụng mặt nạ phân đoạn. -
Tự động gắn nhãn dữ liệu và khởi động:
YOLOE tạo điều kiện cho việc tạo tập dữ liệu nhanh chóng bằng cách cung cấp hộp giới hạn ban đầu và chú thích phân đoạn, giảm đáng kể nỗ lực dán nhãn của con người. Đặc biệt có giá trị trong phân tích các bộ sưu tập phương tiện truyền thông lớn , nơi nó có thể tự động xác định các đối tượng hiện diện, hỗ trợ xây dựng các mô hình chuyên biệt nhanh hơn. -
Phân đoạn cho bất kỳ đối tượng nào:
Mở rộng khả năng phân đoạn đến các đối tượng tùy ý thông qua lời nhắc—đặc biệt có lợi cho hình ảnh y tế , kính hiển vi hoặc phân tích hình ảnh vệ tinh , tự động xác định và phân đoạn chính xác các cấu trúc mà không cần các mô hình được đào tạo trước chuyên biệt. Không giống như các mô hình như SAM , YOLOE đồng thời nhận dạng và phân đoạn các đối tượng tự động, hỗ trợ các tác vụ như tạo nội dung hoặc hiểu cảnh .
Trong tất cả các trường hợp sử dụng này, lợi thế cốt lõi của YOLOE là tính linh hoạt , cung cấp một mô hình thống nhất để phát hiện, nhận dạng và phân đoạn trên các tình huống động. Hiệu quả của nó đảm bảo hiệu suất thời gian thực trên các thiết bị hạn chế về tài nguyên, lý tưởng cho robot, lái xe tự động , quốc phòng, v.v.
Mẹo
Chọn chế độ YOLOE dựa trên nhu cầu của bạn:
- Chế độ tập đóng: Dành cho các tác vụ lớp cố định (tốc độ và độ chính xác tối đa).
- Chế độ nhắc nhở: Thêm đối tượng mới nhanh chóng thông qua lời nhắc bằng văn bản hoặc hình ảnh.
- Chế độ mở không cần nhắc nhở: Phát hiện chung trên nhiều danh mục (lý tưởng cho việc lập danh mục và khám phá).
Thông thường, việc kết hợp các chế độ—chẳng hạn như khám phá không cần nhắc nhở tiếp theo là nhắc nhở có mục tiêu—sẽ tận dụng được hết tiềm năng của YOLOE.
Đào tạo và suy luận
YOLOE tích hợp liền mạch với Ultralytics Python API và CLI , tương tự như các YOLO mô hình ( YOLOv8 , YOLO -Thế giới). Sau đây là cách để bắt đầu nhanh chóng:
Ultralytics Trạng thái tích hợp 🚧
Các Ultralytics tích hợp cho YOLOE hiện đang được phát triển 🔨. Các ví dụ bên dưới minh họa cách API sẽ hoạt động sau khi tích hợp hoàn tất ✅.
Đào tạo và suy luận với YOLOE
from ultralytics import YOLO
# Load pre-trained YOLOE model and train on custom data
model = YOLO("yoloe-s.pt")
model.train(data="path/to/data.yaml", epochs=50, imgsz=640)
# Run inference using text prompts ("person", "bus")
model.set_classes(["person", "bus"])
results = model.predict(source="test_images/street.jpg")
results[0].save() # save annotated output
Ở đây, YOLOE hoạt động giống như một trình phát hiện tiêu chuẩn theo mặc định nhưng dễ dàng chuyển sang phát hiện được nhắc nhở bằng cách chỉ định các lớp (set_classes
). Kết quả chứa các hộp giới hạn, mặt nạ và nhãn.
# Training YOLOE on custom dataset
yolo train model=yoloe-s.pt data=path/to/data.yaml epochs=50 imgsz=640
# Inference with text prompts
yolo predict model=yoloe-s.pt source="test_images/street.jpg" classes="person,bus"
CLI nhắc nhở (classes
) hướng dẫn YOLOE tương tự như Python 'S set_classes
. Nhắc nhở trực quan (truy vấn dựa trên hình ảnh) hiện yêu cầu Python Giao diện lập trình ứng dụng (API).
Các nhiệm vụ được hỗ trợ khác
- Xác thực: Đánh giá độ chính xác dễ dàng với
model.val()
hoặcyolo val
. - Xuất khẩu: Xuất mô hình YOLOE (
model.export()
) ĐẾN ONNX , TensorRT v.v., tạo điều kiện thuận lợi cho việc triển khai. - Theo dõi: YOLOE hỗ trợ theo dõi đối tượng (
yolo track
) khi được tích hợp, hữu ích cho việc theo dõi các lớp được nhắc trong video.
Ghi chú
YOLOE tự động bao gồm mặt nạ phân đoạn trong kết quả suy luận (results[0].masks
), đơn giản hóa các tác vụ chính xác đến từng pixel như trích xuất hoặc đo lường đối tượng mà không cần các mô hình riêng biệt.
Bắt đầu
Nhanh chóng thiết lập YOLOE với Ultralytics bằng cách làm theo các bước sau:
-
Cài đặt : Cài đặt hoặc cập nhật Ultralytics bưu kiện:
-
Tải xuống YOLOE Weights: Các mô hình YOLOE được đào tạo trước (ví dụ: các biến thể YOLOE-v8-S/L, YOLOE-11) có sẵn từ các bản phát hành GitHub của YOLOE. Chỉ cần tải xuống
.pt
tập tin để tải vào Ultralytics YOLO lớp học. -
Yêu cầu về phần cứng :
- Suy luận : Đề xuất GPU ( NVIDIA với ≥4-8GB VRAM). Các mô hình nhỏ chạy hiệu quả trên GPU biên (ví dụ: Jetson ) hoặc CPU ở độ phân giải thấp hơn.
- Đào tạo : Việc tinh chỉnh YOLOE trên dữ liệu tùy chỉnh thường chỉ cần một GPU . Việc đào tạo trước từ vựng mở rộng (LVIS/Objects365) được các tác giả sử dụng đòi hỏi khả năng tính toán đáng kể (8× GPU RTX 4090).
-
Cấu hình: Cấu hình YOLOE sử dụng chuẩn Ultralytics Tệp YAML. Cấu hình mặc định (ví dụ:
yoloe-s.yaml
) thường là đủ, nhưng bạn có thể sửa đổi xương sống, lớp hoặc kích thước hình ảnh nếu cần. -
Chạy YOLOE :
- Suy luận nhanh (không cần nhắc):
-
Phát hiện được nhắc nhở (ví dụ về lời nhắc văn bản):
TRONG Python :
-
Mẹo tích hợp :
- Tên lớp: Đầu ra YOLOE mặc định sử dụng các danh mục LVIS; sử dụng
set_classes()
để chỉ định nhãn của riêng bạn. - Tốc độ : YOLOE không có chi phí phát sinh trừ khi sử dụng lời nhắc. Lời nhắc văn bản có tác động tối thiểu; lời nhắc trực quan có tác động nhiều hơn một chút.
- Suy luận hàng loạt: Được hỗ trợ trực tiếp (
model.predict([img1, img2])
). Đối với lời nhắc dành riêng cho hình ảnh, hãy chạy từng hình ảnh riêng lẻ.
- Tên lớp: Đầu ra YOLOE mặc định sử dụng các danh mục LVIS; sử dụng
Tài liệu Ultralytics cung cấp thêm nhiều tài nguyên hơn. YOLOE cho phép bạn dễ dàng khám phá các khả năng mở rộng mạnh mẽ trong thế giới quen thuộc YOLO hệ sinh thái.
Mẹo
Mẹo chuyên nghiệp: Để tối đa hóa độ chính xác của YOLOE, hãy tinh chỉnh từ các điểm kiểm tra được cung cấp thay vì đào tạo từ đầu. Sử dụng các từ gợi ý phù hợp với các nhãn đào tạo chung (xem danh mục LVIS) để cải thiện độ chính xác phát hiện.
Trích dẫn và Lời cảm ơn
Nếu YOLOE đã đóng góp vào nghiên cứu hoặc dự án của bạn, vui lòng trích dẫn bài báo gốc của Ao Wang, Lihao Liu, Hui Chen, Zijia Lin, Jungong Han và Guiguang Ding từ Đại học Thanh Hoa :
Để đọc thêm, bài báo YOLOE gốc có sẵn trên arXiv . Mã nguồn của dự án và các tài nguyên bổ sung có thể được truy cập thông qua kho lưu trữ GitHub của họ.
CÂU HỎI THƯỜNG GẶP
YOLOE khác với YOLO -Thế giới?
Trong khi cả YOLOE và YOLO -World đều cho phép phát hiện từ vựng mở, YOLOE cung cấp một số lợi thế. YOLOE đạt được độ chính xác cao hơn +3,5 AP trên LVIS trong khi sử dụng ít hơn 3 lần tài nguyên đào tạo và chạy nhanh hơn 1,4 lần so với YOLO -Worldv2. YOLOE cũng hỗ trợ ba chế độ nhắc nhở (văn bản, hình ảnh và từ vựng nội bộ), trong khi YOLO -World chủ yếu tập trung vào lời nhắc văn bản. Ngoài ra, YOLOE bao gồm khả năng phân đoạn phiên bản tích hợp, cung cấp mặt nạ chính xác đến từng pixel cho các đối tượng được phát hiện mà không cần thêm chi phí.
Tôi có thể sử dụng YOLOE như một phương pháp thông thường không? YOLO người mẫu?
Có, YOLOE có thể hoạt động chính xác như một tiêu chuẩn YOLO mô hình không có hình phạt hiệu suất. Khi được sử dụng ở chế độ tập hợp đóng (không có lời nhắc), các mô-đun từ vựng mở của YOLOE được tham số hóa lại thành đầu phát hiện tiêu chuẩn, dẫn đến tốc độ và độ chính xác giống hệt nhau YOLO11 mô hình. Điều này làm cho YOLOE cực kỳ linh hoạt—bạn có thể sử dụng nó như một máy dò truyền thống để đạt tốc độ tối đa và sau đó chỉ chuyển sang chế độ từ vựng mở khi cần thiết.
Tôi có thể sử dụng loại lời nhắc nào với YOLOE?
YOLOE hỗ trợ ba loại lời nhắc:
- Lời nhắc văn bản : Chỉ định các lớp đối tượng bằng ngôn ngữ tự nhiên (ví dụ: "người", "đèn giao thông", "xe tay ga dành cho chim")
- Lời nhắc trực quan : Cung cấp hình ảnh tham chiếu của các đối tượng bạn muốn phát hiện
- Từ vựng nội bộ : Sử dụng từ vựng tích hợp của YOLOE với hơn 1200 danh mục mà không cần nhắc nhở bên ngoài
Tính linh hoạt này cho phép bạn điều chỉnh YOLOE theo nhiều tình huống khác nhau mà không cần đào tạo lại mô hình, đặc biệt hữu ích cho các môi trường động, nơi các yêu cầu phát hiện thay đổi thường xuyên.
YOLOE xử lý phân đoạn phiên bản như thế nào?
YOLOE tích hợp phân đoạn trường hợp trực tiếp vào kiến trúc của nó bằng cách mở rộng đầu phát hiện với nhánh dự đoán mặt nạ. Cách tiếp cận này tương tự như YOLOv8 -Seg nhưng hoạt động với bất kỳ lớp đối tượng nào được nhắc. Mặt nạ phân đoạn được tự động đưa vào kết quả suy luận và có thể được truy cập thông qua results[0].masks
. Phương pháp tiếp cận thống nhất này loại bỏ nhu cầu về các mô hình phát hiện và phân đoạn riêng biệt, hợp lý hóa quy trình làm việc cho các ứng dụng yêu cầu ranh giới đối tượng chính xác đến từng pixel.
YOLOE xử lý suy luận với lời nhắc tùy chỉnh như thế nào?
Tương tự như YOLO -World , YOLOE hỗ trợ chiến lược "prompt-then-detect" sử dụng từ vựng ngoại tuyến để tăng hiệu quả. Các lời nhắc tùy chỉnh như chú thích hoặc danh mục đối tượng cụ thể được mã hóa trước và lưu trữ dưới dạng nhúng từ vựng ngoại tuyến. Phương pháp này hợp lý hóa quy trình phát hiện mà không cần đào tạo lại. Bạn có thể thiết lập động các lời nhắc này trong mô hình để điều chỉnh nó cho các tác vụ phát hiện cụ thể:
from ultralytics import YOLO
# Initialize a YOLOE model
model = YOLO("yoloe-s.pt")
# Define custom classes
model.set_classes(["person", "bus"])
# Execute prediction on an image
results = model.predict("path/to/image.jpg")
# Show results
results[0].show()