Zpět na domů

YOLOE: detekce objektů bez doladění

YOLOE rozšiřuje YOLO schopnostmi zero-shot detekce prostřednictvím textových a vizuálních promptů. RepRTA integruje embeddingy bez ztráty rychlosti. Vhodný pro dynamické úkoly jako kontrola balení a skladů.

YOLOE: detektor všeho bez datasetů
Advertisement 728x90

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í.

Google AdInline article slot

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:

Google AdInline article slot
  • 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í.

Google AdInline article slot

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

Advertisement 728x90

Číst dál