YOLOE: Univerzální detektor objektů s textovými a vizuálními prompty
YOLOE umožňuje detekovat libovolné objekty na obrázcích pomocí textových popisů nebo vizuálních příkladů namísto pevných tříd. Backbone a PAN jsou převzaty ze standardních YOLO, ale detekční hlava porovnává embeddingy objektů s vektory z textového enkodéru. Modul RepRTA upřesňuje textové embeddingy a integruje je do modelu prostřednictvím re-parametrizace, čímž zachovává rychlost inference bez režie.
Model se inicializuje z předtrénovaných vah, třídy se zadávají dynamicky:
from ultralytics import YOLOE
model = YOLOE("yoloe-26m-seg.pt")
model.set_classes(["person", "bus"])
results = model.predict("path/to/image.jpg")
Architektura a klíčové moduly
Standardní YOLO je omezeno třídami z trénovací datové sady. V YOLOE se embeddingy tříd generují textovým enkodérem před inferencí a vkládají se do vah. Tím se odstraňuje potřeba sběru datových sad, anotací a iterací trénování.
Dodatečně jsou podporovány vizuální prompty prostřednictvím SAVPE (Semantic-Activated Visual Prompt Encoder). Uživatel poskytne referenční obrázek s bounding boxes, model hledá podobné objekty:
import numpy as np
from ultralytics import YOLOE
from ultralytics.models.yolo.yoloe import YOLOEVPSegPredictor
model = YOLOE("yoloe-26m-seg.pt")
visual_prompts = dict(
bboxes=np.array([
[221.52, 405.8, 344.98, 857.54], # Person
[120, 425, 160, 445], # Bus
]),
cls=np.array([0, 1]),
)
results = model.predict(
"ultralytics/assets/bus.jpg",
refer_image="reference.jpg",
visual_prompts=visual_prompts,
predictor=YOLOEVPSegPredictor,
)
results[0].show()
Režim bez promptů využívá vestavěný slovník s více než 1200+ kategoriemi:
from ultralytics import YOLOE
model = YOLOE("yoloe-26m-seg-pf.pt")
results = model.predict("path/to/image.jpg")
results[0].show()
Scénáře použití
YOLOE je efektivní pro úlohy s jasně popsatelnými objekty. Zde jsou typické případy:
- Kontrola značení: detekce QR kódů, poškozených etiket, orientace obalů na pásu.
- Monitorování zón: hledání cizích předmětů nebo absence nástrojů.
- Skladové účtování: počítání a klasifikace měnícího se sortimentu.
- Vizuální kontrola: škrábance, odštípnutí, deformace na površích.
V těchto scénářích prompty nahrazují datové sady, čímž urychlují vývoj.
Omezení a výběr přístupu
Model zaostává v úlohách s vizuálně podobnými třídami, specifickými objekty nebo požadavky na přesnost >95%. Rozlišení podle jemných detailů nebo dříve neviděných objektů vyžaduje dotrénování.
Strategie: spustit YOLOE pro základní vyhodnocení, při nedostatečnosti – upravit enkodéry nebo přejít ke klasickému trénování.
Co je důležité
- Dynamické třídy: textové nebo vizuální prompty namísto pevných štítků.
- Zachování rychlosti: RepRTA re-parametrizuje embeddingy, vylučuje runtime režii.
- Flexibilita: SAVPE pro vizuální příklady, vestavěný slovník pro zero-prompt.
- Praktičnost: vhodné pro průmyslové úlohy s měnícími se objekty.
- Limity: ne pro high-precision na exotických datech.
— Editorial Team
Zatím žádné komentáře.