Co je DINOv3 Vision Transformer?
DINOv3 Vision Transformer pro analýzu povrchů infrastruktury

Samoučené učení a DINO
Samoučené učení (SSL) je paradigma strojového učení, kde se model učí smysluplné reprezentace z neoznačených dat tím, že definuje pretextovou úlohu, která nevyžaduje lidské anotace. Model musí předpovědět některou část dat z jiných částí, přičemž využívá inherentní strukturu a vzorce ko-výskytu v samotných datech. V počítačovém vidění metody SSL pokročily od ručně vytvořených pretextových úloh, jako je predikce úhlu natočení obrazu (RotNet), skládání puzzle z promíchaných dlaždic nebo kolorování černobílých obrázků, k sofistikovanějším kontrastivním a destilačním přístupům. Základní výhodou SSL je, že umožňuje trénink na webových datových sadách v měřítku bez prohibitivních nákladů na ruční anotaci. Pro aplikace v infrastruktuře, kde jsou označené datové sady defektů vzácné a nákladné na výrobu (vyžadující certifikované inspektory a inženýry), umožňují backbony založené na SSL efektivní učení rysů z obrovského množství neoznačených snímků před jakýmkoli dolaďováním specifickým pro daný úkol.
Toto je metoda detekce trhlin, která stojí za hodnocením silničních vozovek od TarmacView.
Kontrastivní učení metody jako SimCLR, MoCo a SwAV se učí reprezentace tím, že přitahují augmentované pohledy stejného obrázku (pozitivní páry) k sobě v embeddingovém prostoru, zatímco odpuzují pohledy různých obrázků (negativní páry) od sebe. Tyto metody vyžadují pečlivé zacházení s negativními vzorky – příliš málo negativů snižuje výkon, příliš mnoho zvyšuje výpočetní náklady. Nekontrastivní metody jako BYOL, SimSiam a DINO se zcela vyhýbají potřebě negativních párů tím, že používají asymetrické síťové architektury a operace stop-gradient, aby zabránily kolapsu reprezentace. DINO (self-DIstillation with NO labels), představený Caronem et al. v Meta AI v roce 2021, patří do této nekontrastivní rodiny a stal se jednou z nejvlivnějších metod SSL v počítačovém vidění. Původní článek DINO demonstroval, že SSL a Vision Transformery mají jedinečnou synergii – mechanismy self-attention ve ViT přirozeně vytvářejí sémantické segmentační mapy bez jakéhokoli dohledu, což je vlastnost, která vzniká z interakce mezi strategií augmentace multi-crop a cílem self-distilace.
Tréninkový rámec DINO funguje následovně. Pro každý vstupní obrázek jsou generovány dva globální pohledy (pokrývající více než 50 % plochy obrázku, typicky 224x224 pixelů) a několik lokálních pohledů (menší ořezy pokrývající méně než 50 % plochy obrázku, typicky 96x96 pixelů) prostřednictvím náhodného ořezu s změnou velikosti, barevného rozptylu a Gaussova rozostření. Všechny pohledy jsou prohnány sítí studenta (Vision Transformer). Globální pohledy jsou také prohnány sítí učitele, která sdílí stejnou architekturu jako student, ale má jiné parametry. Parametry učitele se neučí prostřednictvím gradientů – místo toho jsou aktualizovány jako exponenciální klouzavý průměr (EMA) parametrů studenta. Hlavním tréninkovým cílem je, aby výstupní distribuce studenta odpovídala výstupní distribuci učitele pro globální pohledy, zatímco lokální pohledy poskytují další tréninkový signál pouze prostřednictvím studenta. Toto nastavení učitel-žák, známé jako self-distilace, vytváří učební signál, který nevyžaduje štítky – student se učí vytvářet konzistentní reprezentace napříč různými augmentacemi stejného obrázku, což ho nutí zachytit invariantní sémantický obsah spíše než povrchní detaily na úrovni pixelů.
DINOv1 (2021) demonstroval tři klíčové emergentní vlastnosti samoučených ViT. Zaprvé, mapy pozornosti z tokenu [CLS] k dlaždicím obrazu přirozeně segmentují objekty od pozadí – vlastnost, která vzniká čistě ze samoučení bez jakýchkoli segmentačních štítků. Zadruhé, naučené rysy vykazují vynikající klasifikační výkon k-NN – jednoduchý klasifikátor nejbližších sousedů v rysovém prostoru DINO dosahuje 78,2 % top-1 přesnosti na ImageNet bez jakéhokoli dolaďování. Zatřetí, rysy DINO vykazují silnou sémantickou korespondenci napříč různými instancemi stejné třídy objektů, což umožňuje aplikace ve vyhledávání obrázků, ko-segmentaci a segmentaci objektů ve videu. Tyto vlastnosti učinily z DINO základní metodu v krajině samoučeného učení a připravily půdu pro DINOv2 (2023) a DINOv3 (2025).
Architektura ViT
Architektura Vision Transformer (ViT), představená Dosovitskiym et al. v Google v roce 2021, adaptuje architekturu Transformer z zpracování přirozeného jazyka na počítačové vidění tím, že zachází s dlaždicemi obrazu jako s analogy slovních tokenů. Na rozdíl od konvolučních neuronových sítí (CNN), které zpracovávají obrazy prostřednictvím lokálních receptivních polí s vestavěnou translační ekvivariancí, ViT aplikují globální self-attention napříč všemi dlaždicemi současně, což modelu umožňuje zachytit závislosti na dlouhé vzdálenosti již od první vrstvy. Tato architektonická volba se ukázala jako klíčová pro úspěch DINO – původní článek DINO ukázal, že samoučené ViT výrazně překonávají samoučené CNN a že za emergentní vlastnosti sémantické segmentace je zodpovědná synergie mezi self-attention a self-distilací.
Vkládání dlaždic (Patch Embedding). První operací ve ViT je rozdělení vstupního obrázku do mřížky nepřekrývajících se dlaždic. Pro variantu ViT-B/16 používanou TarmacView je velikost dlaždice 16x16 pixelů. Vstupní obrázek 224x224 pixelů vytváří (224/16) x (224/16) = 14 x 14 = 196 dlaždic. Každá dlaždice 16x16x3 (RGB kanály) je zploštěna do vektoru délky 768 (16x16x3). V praxi je toto vkládání dlaždic implementováno jako jediná konvoluční vrstva s velikostí jádra rovnou velikosti dlaždice (16x16) a krokem rovným velikosti dlaždice, čímž vzniká 2D mřížka 14x14 rysových vektorů, každý o dimenzi rovné skryté velikosti modelu (768 pro ViT-B). Naučitelná lineární projekce poté mapuje každou zploštělou dlaždici na embeddingovou dimenzi. Implementace Conv2d je výpočetně efektivní (jedna operace nahrazuje 196 samostatných lineárních projekcí) a je standardem ve všech moderních implementacích ViT.
Token [CLS]. Po vzoru architektury BERT v NLP je na začátek sekvence dlaždicových embeddingů přidán speciální naučitelný klasifikační token ([CLS]). Token [CLS] má stejnou dimenzionalitu (768) jako dlaždicové embeddingy a je inicializován náhodně. Během tréninku, prostřednictvím self-attention napříč všemi vrstvami transformeru, token [CLS] agreguje informace ze všech dlaždic obrazu – může věnovat pozornost každé dlaždici v každé vrstvě, čímž vytváří globální reprezentaci celého obrázku. Na výstupu poslední vrstvy transformeru slouží embedding tokenu [CLS] jako reprezentace na úrovni obrazu používaná pro klasifikační úlohy. V DINOv3 je token [CLS] doplněn o 4 registrační tokeny – další naučitelné tokeny přidané na začátek sekvence, které fungují jako dočasná paměť pro absorpci odlehlých nebo informací o pozadí, čímž brání tokenům [CLS] a dlaždicovým tokenům v korupci irelevantními vysokofrekvenčními detaily.
Poziční embeddingy. Vzhledem k tomu, že mechanismus self-attention Transformeru je permutačně invariantní (zpracovává dlaždice jako množinu, nikoli jako sekvenci), musí být poziční informace explicitně přidány, aby model věděl, kam každá dlaždice v prostorové mřížce patří. DINOv3 používá Rotary Position Embeddings (RoPE) namísto standardních naučitelných absolutních pozičních kódování používaných v DINOv2. RoPE kóduje informaci o relativní poloze aplikací rotační matice na dotazovací a klíčové vektory v self-attention na základě jejich prostorových souřadnic. Frekvence rotace pro každou dimenzi je určena indexem dimenze podle geometrické posloupnosti. Klíčovou výhodou RoPE pro analýzu infrastruktury je její schopnost zpracovávat vstupy s proměnným rozlišením – při zpracování obrázků s vysokým rozlišením (až 4096x4096 pixelů) mechanismus RoPE přirozeně zobecňuje na větší prostorovou mřížku bez nutnosti interpolace naučených pozičních embeddingů. DINOv3 také zavádí náhodný rozptyl rámečku (random box jitter) při aplikaci RoPE, kde jsou poziční indexy náhodně posunuty v rozsahu [-s,s] s s v [0,5;2,0], což činí model robustním vůči různým poměrům stran a vzorům ořezu.
Multi-Head Self-Attention (MHSA). Základním výpočetním prvkem ViT je mechanismus multi-head self-attention. V každém bloku transformeru je vstupní sekvence N tokenů (N = 1 [CLS] + 4 registrační + 196 dlaždicových = 201 tokenů pro vstup 224x224) lineárně projektována do tří matic: Dotazy (Q) , Klíče (K) a Hodnoty (V) , každá o dimenzi 768 pro ViT-B/16. Mechanismus pozornosti vypočítává párovou podobnost mezi všemi tokeny jako skalární součin Q a K^T, škálovaný odmocninou z d_k (kde d_k je dimenze klíče na hlavu). Výsledné váhy pozornosti (normalizované softmax) určují, jak moc každý token přispívá k reprezentaci každého jiného tokenu. Ve ViT-B/16 je 12 hlav pozornosti, z nichž každá pracuje na 64-rozměrném podprostoru (768/12 = 64). Vícehlavá pozornost umožňuje modelu věnovat pozornost různým typům vztahů současně – například jedna hlava se může zaměřit na texturní podobnost mezi dlaždicemi, jiná na prostorovou blízkost a další na členství v sémantické kategorii. Výstupy všech hlav jsou zřetězeny a lineárně projektovány zpět na 768 dimenzí. Výpočetní složitost MHSA je O(N2d) – kvadratická v délce sekvence N, ale lineární v dimenzi embeddingu d. Pro sekvenci 201 tokenů v DINOv3 ViT-B/16 je to zvládnutelné (přibližně 40K výpočtů pozornosti na vrstvu), ale pro obrázky s vysokým rozlišením s 4000+ tokeny (např. obrázek 1024x1024 vytváří 64x64 = 4096 dlaždic) se kvadratické škálování stává významným faktorem.

Blok kodéru Transformeru. Každá z 12 (ViT-B) nebo 40 (ViT-7B) vrstev transformeru v DINOv3 následuje návrh před-normalizace. Layer Normalization (LayerNorm) je aplikována před podvrstvami MHSA i MLP, s reziduálními spojeními obcházejícími každou podvrstvu. Podvrstva MLP (multilayer perceptron) se skládá ze dvou lineárních vrstev s aktivací GELU (Gaussian Error Linear Unit) mezi nimi. Pro ViT-B/16 je skrytá dimenze MLP 3072 (4x embeddingová dimenze), což vytváří konfiguraci: Embeddingová dimenze 768 -> MLP skrytá 3072 -> GELU -> MLP výstup 768. Větší učitelský model DINOv3 (ViT-7B) používá v MLP aktivaci SwiGLU (Swish-Gated Linear Unit) namísto GELU, po vzoru trendů architektury moderních LLM. SwiGLU aplikuje gating mechanismus: výstup = (xW1) po prvcích vynásobený Swish(xW2) krát W3. Ukázalo se, že tato gated aktivace zlepšuje stabilitu tréninku a konečný výkon ve velkém měřítku. Návrh před-normalizace se liší od původní post-normalizace Transformeru (kde byla normalizace aplikována po přidání rezidua) a ukázalo se, že produkuje stabilnější trénink, zejména pro hluboké (12+ vrstev) transformery.
Souhrnná tabulka architektury pro rodinu modelů DINOv3.
| Model | Parametry | Embedding Dim | Hlavy | Vrstvy | MLP Dim | Velikost dlaždice | Dlaždic/224px |
|---|---|---|---|---|---|---|---|
| ViT-Small | 21M | 384 | 6 | 12 | 1536 | 16 | 196 |
| ViT-Base | 86M | 768 | 12 | 12 | 3072 | 16 | 196 |
| ViT-Large | 304M | 1024 | 16 | 24 | 4096 | 16 | 196 |
| ViT-H+ | ~1,5B | 1536 | 24 | 32 | 6144 | 16 | 196 |
| ViT-7B | 7B | 4096 | 32 | 40 | 8192 | 16 | 196 |
Architektura ViT-Base (86M parametrů) je optimálním kompromisem mezi kvalitou rysů a výpočetní efektivitou pro inspekční pipeline infrastruktury TarmacView, nabízející 768-rozměrné embeddingy s 12 vrstvami výpočetního výkonu self-attention.
Trénink DINOv3 na 1,7 miliardách obrázků
DINOv3 dosahuje svého nejmodernějšího výkonu prostřednictvím bezprecedentního měřítka samoučeného tréninku, využívajícího jak masivní kurátorování dat, tak efektivní distribuovanou optimalizaci napříč stovkami GPU.
Datová sada LVD-1689M. Tréninková data pro DINOv3 začínají surovým fondem 17 miliard obrázků z Instagramu s moderovaným obsahem. Z tohoto masivního fondu tým Meta AI kurátoroval vyváženou podmnožinu 1 689 milionů obrázků pojmenovanou LVD-1689M (Large Visual Dataset 1689 Million). Kurátorovaný pipeline je kritický, protože pouhé trénování na surových datech z Instagramu by vytvořilo model zaujatý směrem k přirozené frekvenční distribuci vizuálních konceptů na sociálních sítích – například by dominovaly tváře, jídlo a krajiny, zatímco infrastruktura, průmyslové a vědecké snímky by byly nedostatečně zastoupeny. Proces kurátorování využívá hierarchické k-means shlukování na embeddingech DINOv2 extrahovaných z celého fondu obrázků. Model DINOv2 ViT-H/14 zpracovává každý obrázek a výsledné embeddingy CLS tokenů jsou shlukovány do 25 000 shluků pomocí k-means. Následně je z každého shluku vzorkován stejný počet obrázků, čímž vzniká shlukově vyvážená datová sada, která zajišťuje proporcionální zastoupení napříč vizuálními doménami. Toto vyvážené vzorkování je přímo analogické stratifikovanému vzorkování ve statistice – kontrolou členství ve shlucích datová sada zachycuje plnou rozmanitost vizuálních konceptů, spíše než nadměrně zastupuje běžné kategorie. Po shlukování rozšiřuje další krok vyhledávání semenné sady z kurátorovaných datových sad (ImageNet-1k, ImageNet-22k, Google Landmarks a datové sady pro jemnou klasifikaci) nalezením nejbližších sousedů v embeddingovém prostoru DINOv2. Konečná datová sada LVD-1689M kombinuje 1 489 milionů shlukově vyvážených obrázků s 200 miliony obrázků rozšířených vyhledáváním, všechny filtrované pomocí detekce NSFW, deduplikace PCA hash a rozmazání obličejů.
Tréninková konfigurace. Učitelský model ViT-7B, největší samoučený vizuální model, jaký byl kdy trénován (k roku 2025), byl trénován na 256 GPU NVIDIA (A100 80GB SXM4) s velikostí dávky 4096 (16 obrázků na GPU). Optimalizace používá optimalizátor AdamW s konstantní rychlostí učení 4x10^-4, úbytkem vah 0,04 a hybností EMA 0,999 po 100 000krokovém zahřívacím období. Trénink probíhá po 1 milion iterací se strategií multi-crop: 2 globální ořezy v rozlišení 256x256 a 8 lokálních ořezů v rozlišení 112x112, celkem 10 pohledů na obrázek na iteraci. Při 1M iteracích s velikostí dávky 4096 model vidí přibližně 2,56 miliardy unikátních kombinací obrázek-ořez. Celý tréninkový proces spotřebuje odhadem 10 000-15 000 GPU-dnů výpočtů. Během tréninku je 10 % dávek homogenních výběrů z ImageNet-1k (pro udržení výkonu na standardních benchmarkách), zatímco 90 % je heterogenních výběrů z celého fondu LVD-1689M, což je ablačně demonstrovaný optimální poměr míchání.
Tréninkové cíle. Ztráta předtréninku DINOv3 kombinuje tři složky. Ztráta DINO (L_DINO) aplikuje shlukování Sinkhorn-Knopp ve stylu SwAV na výstupy tokenů [CLS] z globálních ořezů, přičemž přiřazuje prototypová přiřazení mezi studentem a učitelem. Algoritmus Sinkhorn běží na 3 iterace, aby vytvořil měkké pseudo-štítky. Ztráta iBOT (L_iBOT) pracuje na úrovni dlaždic – náhodné dlaždice v lokálních ořezech jsou maskovány a student musí předpovědět normalizované dlaždicové rysy učitele pro tyto maskované pozice. Tento cíl masked image modeling nutí model učit se lokální texturní a strukturální informace nezbytné pro úlohy husté predikce. Regularizátor Koleo (L_Koleo) rovnoměrně rozprostírá embeddingy tokenů [CLS] po hypersféře minimalizací součtu kosinových podobností mezi všemi páry embeddingů v dávce, čímž zabraňuje kolapsu reprezentace a zajišťuje, že rysový prostor je dobře využit. Kombinovaná ztráta předtréninku je: L_Pre = L_DINO + L_iBOT + 0,1 x L_Koleo. Po 1M iteracích předtréninku následuje fáze zpřesňování o 200K dalších iterací, která zahrnuje ztrátu Gram anchoring (L_Gram) s vahou 2, která zachovává kvalitu hustých rysů během dlouhého tréninku.
Destilace do menších modelů. Jakmile je učitelský model ViT-7B plně natrénován, je zmrazen a použit jako cíl pro destilaci reprezentací do sady menších, praktičtějších modelů. Proces destilace zrcadlí nastavení předtréninku: studentské modely (ViT-S, ViT-B, ViT-L, ViT-H+, varianty ConvNeXt) jsou trénovány tak, aby odpovídaly výstupním rysům učitele pomocí stejné ztrátové funkce (L_DINO + L_iBOT + 0,1 x L_Koleo), ale s učitelem zmrazeným a aktualizací EMA učitele vynechanou. Meta AI implementuje multi-student destilaci, která efektivně trénuje více studentských modelů současně – učitel zpracuje každý obrázek jednou a všichni studenti obdrží stejné výstupy učitele, což umožňuje paralelizaci výpočtu dávkové ztráty napříč studenty. To snižuje celkové výpočetní náklady na produkci celé rodiny modelů přibližně o 60 % ve srovnání s postupnou destilací každého studenta. Studentský ViT-Base (86M parametrů), který TarmacView používá jako svůj backbone, dosahuje 98,7 % přesnosti lineární sondy učitele ViT-7B na ImageNet-1k, přičemž vyžaduje přibližně 80x méně FLOPů pro inferenci.
768-rozměrné embeddingy
768-rozměrný embedding vytvářený DINOv3 ViT-B/16 pro každý token (1 CLS + 4 registrační + 196 dlaždicových = 201 celkem) představuje husté numerické kódování vizuální informace ve vysokorozměrném vektorovém prostoru. Každá dimenze zachycuje specifický vizuální koncept nebo rys a kombinace všech 768 hodnot tvoří jedinečný podpis pro tuto oblast obrazu. Dimenze 768 není libovolná – vychází z architektury ViT-Base, kde je skrytá dimenze nastavena na 768, což poskytuje dostatečnou kapacitu pro kódování komplexních vizuálních vzorů při zachování výpočetní zvládnutelnosti. Pro srovnání, ViT-Small používá 384 dimenzí, ViT-Large 1024 a ViT-7B 4096.
Embedding CLS tokenu. 768-rozměrný embedding tokenu [CLS] na výstupu 12. vrstvy transformeru kóduje globální obsah obrazu – celkovou scénu, dominantní objekty a sémantický kontext. Tento embedding je extrahován a používán pro klasifikační úlohy na úrovni obrazu. V pipeline TarmacView je embedding CLS prohnán lehkým lineárním klasifikátorem (768 na N tříd, kde N je počet typů povrchů nebo stupňů kvality) trénovaným na označených datech infrastruktury. Embedding CLS z DINOv3 vykazuje silné vlastnosti doménové generalizace – modely trénované na tomto embeddingu zobecňují na neviděné typy infrastruktury výrazně lépe než embeddingy z dozorovaných backboneů. Přesnost lineární sondy DINOv3 ViT-B/16 na ImageNet-1k dosahuje 85,1 % top-1 přesnosti, čímž překonává DINOv2 (83,5 %) a přibližuje se dozorovanému ViT (86,0 %), přestože během předtréninku nikdy neviděl žádné štítky ImageNet.
Embeddingy dlaždicových tokenů. Každý z 196 dlaždicových tokenů vytváří samostatný 768-rozměrný embedding, který tvoří prostorovou mřížku 14x14 rysových vektorů. Tyto husté embeddingy kódují lokalizované vizuální informace v rámci každé dlaždice 16x16 pixelů – texturu, hrany, distribuci barev a lokální vzory. Dlaždicové embeddingy jsou kritickým výstupem pro úlohy husté predikce, jako je detekce a segmentace trhlin. V pipeline analýzy infrastruktury TarmacView je mřížka rysů 14x14 x 768-rozměrná (přibližně 1,5 milionu hodnot s plovoucí desetinnou čárkou na obrázek) zpracována lehkým konvolučním dekodérem, který ji zvětší na 224x224 a vytvoří predikce na úrovni pixelů. Každý dlaždicový embedding lze interpretovat jako 768-rozměrný popis toho, jak daná oblast 16x16 vypadá – dvě dlaždice s podobným vizuálním vzhledem (např. dvě oblasti hladkého asfaltu) budou mít blízké embeddingy v 768-rozměrném prostoru (vysoká kosinová podobnost), zatímco vizuálně odlišné dlaždice (např. asfalt vs. beton) budou mít vzdálené embeddingy (nízká kosinová podobnost).
Vlastnosti embeddingů. Embeddingy DINOv3 vykazují několik vlastností, které je činí výjimečnými pro analýzu infrastruktury. Zaprvé, sémantická hladkost – vizuálně podobné oblasti vytvářejí blízké embeddingy, tvořící spojitý manifold v 768-rozměrném prostoru. To znamená, že trhliny různé šířky, orientace a závažnosti se všechny mapují do spojité oblasti embeddingového prostoru, což je činí detekovatelnými jako soudržná třída, spíše než jako izolované odlehlé hodnoty. Zadruhé, multi-scale citlivost – mechanismus self-attention ve 12 vrstvách transformeru integruje informace napříč různými prostorovými měřítky, takže každý dlaždicový embedding je informován nejen svým vlastním obsahem 16x16, ale také širším kontextem okolních dlaždic a globální scény. Trhlina poblíž dilatační spáry je kódována jinak než stejná trhlina uprostřed panelu, protože kontextová informace je integrována do embeddingu. Zatřetí, robustnost vůči osvětlení – samoučený trénink s rozsáhlým barevným rozptylem a augmentací zajišťuje, že embeddingy jsou stabilní při různých světelných podmínkách, stínu a expozici. To je kritické pro venkovní inspekci infrastruktury, kde jsou snímky pořizovány za neřízeného přirozeného osvětlení. Začtvrté, lineární separovatelnost – embeddingy jsou strukturovány tak, že jednoduché lineární klasifikátory mohou efektivně oddělit různé stavy povrchu. TarmacView dosahuje 96,2% přesnosti klasifikace typu povrchu a 94,7% F1-skóre detekce trhlin pomocí pouze lineárních sond na zmrazených embeddingech DINOv3.

Metriky vzdálenosti v embeddingovém prostoru. Volba metriky vzdálenosti pro porovnávání embeddingů DINOv3 významně ovlivňuje výkon následných úloh. Kosinová podobnost je nejčastěji používaná metrika, definovaná jako cos(theta) = (a dot b) / (||a|| x ||b||), kde a a b jsou 768-rozměrné embeddingové vektory. Kosinová podobnost se pohybuje od -1 (opačný směr, u vizuálních embeddingů nepravděpodobné) do +1 (identický směr). Dva 768-rozměrné vektory s kosinovou podobností větší než 0,9 jsou vizuálně téměř identické ve svém lokálním obsahu, zatímco podobnost menší než 0,5 indikuje podstatně odlišný vizuální obsah. L2 (Euklidovská) vzdálenost je také používána, ale vyžaduje pečlivou normalizaci, protože absolutní měřítko embeddingů se může lišit. Skalární součin (dot product) je efektivní, ale citlivý na velikost vektoru. TarmacView používá kosinovou podobnost jako primární metriku vzdálenosti pro vyhledávání a párování defektů, protože normalizuje velikost embeddingu a zaměřuje se čistě na směrové zarovnání, což je robustnější vůči variacím v kontrastu a expozici obrazu.
Redukce dimenzionality pro vizualizaci. 768-rozměrný embeddingový prostor nelze přímo vizualizovat, proto TarmacView aplikuje analýzu hlavních komponent (PCA) pro redukci dlaždicových embeddingů na 3 dimenze pro účely vizualizace a zajištění kvality. První tři hlavní komponenty dlaždicových embeddingů DINOv3 na snímcích infrastruktury typicky zachycují 45-55 % celkového rozptylu (PC1 přibližně 25 %, PC2 přibližně 15 %, PC3 přibližně 10 %), což naznačuje, že efektivní vnitřní dimenzionalita dlaždic povrchu je mnohem nižší než 768. PCA vizualizace konzistentně ukazuje odlišné shluky pro různé materiály povrchu (asfalt, beton, chip seal, štěrk) a spojité gradienty pro závažnost zhoršení povrchu (od nedotčeného po silně popraskaný). Tato vizuální potvrditelnost je kritickým nástrojem zajištění kvality – inženýři infrastruktury mohou vizuálně zkontrolovat embeddingový prostor, aby ověřili, že model správně odděluje relevantní stavy povrchu, než se spolehnou na automatizovanou klasifikaci.
DINOv3 vs DINOv2
Evoluce z DINOv2 na DINOv3 představuje komplexní škálování a zpřesnění paradigmatu samoučeného vizuálního tréninku. Pochopení rozdílů je nezbytné pro praktiky vybírající vhodný backbone pro svou aplikaci.
Měřítko tréninkových dat. Nejobvykleji viditelným rozdílem je 12násobný nárůst tréninkových dat: LVD-142M (142 milionů obrázků) od DINOv2 versus LVD-1689M (1,689 miliardy obrázků) od DINOv3. Zlepšila se však také metodika kurátorování. DINOv2 používal pipeline založený na vyhledávání, který rozšiřoval kurátorované semenné datové sady nalezením nejbližších sousedů v embeddingovém prostoru ViT-H/16 předtrénovaného na ImageNet-22k. Expanze začala od 1,2 miliardy surových webových obrázků a vytvořila 142M kurátorovaných obrázků. DINOv3 přidává krok vyvažování založený na shlukování nad rámec vyhledávání, který zajišťuje, že 25 000 vizuálních shluků je stejně zastoupeno. Tento krok shlukování brání modelu v nadměrném zastupování vizuálně dominantních konceptů, jako jsou tváře, text a běžné objekty, zatímco pod-zastupuje vzácné, ale důležité vizuální domény, jako jsou defekty infrastruktury, lékařské snímky a satelitní pohledy.
Velikost modelu a architektura. Největší učitelský model DINOv2 byl ViT-g s 1 miliardou parametrů. DINOv3 to škáluje na 7 miliard parametrů (ViT-7B) – 7násobný nárůst kapacity modelu. Samotná architektura byla modernizována. DINOv2 používal standardní naučené absolutní poziční embeddingy, zatímco DINOv3 zavádí Rotary Position Embeddings (RoPE) pro podporu proměnného rozlišení. Feed-forward síť v DINOv3 ViT-7B používá aktivaci SwiGLU namísto GELU, po vzoru architektonických inovací z velkých jazykových modelů. DINOv2 používal velikost dlaždice 14 pixelů (architektura ViT z původního článku), zatímco DINOv3 používá velikost dlaždice 16 pixelů. Tato změna snižuje počet dlaždic z 256 (224/14 = 16, 16^2 = 256) na 196 (224/16 = 14, 14^2 = 196) pro vstup 224x224, což je 23% snížení délky sekvence, které se promítá do přibližně 40% méně výpočtů self-attention (protože attention škáluje jako O(N2)). Tento architektonický zisk efektivity částečně kompenzuje zvýšené výpočetní náklady z větších dimenzí modelu.
Kvalita hustých rysů. Toto je nejvýznamnější kvalitativní zlepšení v DINOv3. Během dlouhých tréninkových plánů s velkými modely bylo pozorováno, že rysy na úrovni dlaždic DINOv2 postupně degradují – po určitém bodě tréninku ztrácely mapy rysů na úrovni pixelů prostorovou strukturu a stávaly se zašuměnými nebo rozmazanými, zatímco globální rysy tokenu [CLS] se nadále zlepšovaly. Tato degradace činila DINOv2 méně vhodným pro úlohy husté predikce, jako je sémantická segmentace a odhad hloubky, při použití dlouhých tréninkových plánů. Mechanismus Gram anchoring v DINOv3 přímo řeší tuto degradaci tím, že vynucuje, aby párová struktura podobnosti mezi dlaždicovými rysy zůstala stabilní během celého tréninku. V důsledku toho zůstávají husté rysy DINOv3 ostré a sémanticky smysluplné i po milionech tréninkových iterací. Na benchmarku sémantické segmentace ADE20K dosahuje DINOv3 skóre mean Intersection over Union (mIoU) 54,2 % se zmrazeným backbone a lineární sondou – zlepšení o +6,1 bodu oproti 48,1 % mIoU DINOv2. Na benchmarku párování 3D klíčových bodů NAVI dosahuje DINOv3 68,5% přesnosti oproti 60,2 % u DINOv2. Na segmentaci objektů ve videu (DAVIS 2017) dosahuje DINOv3 82,3 J&F-Mean oproti 75,6 u DINOv2.
| Benchmark | DINOv2 (ViT-L) | DINOv3 (ViT-B) | DINOv3 (ViT-L) | Zlepšení |
|---|---|---|---|---|
| ImageNet-1k Lineární sonda | 83,5 % | 85,1 % | 86,7 % | +1,6/+3,2 |
| ADE20K Sémantická seg. (mIoU) | 48,1 % | 52,3 % | 54,2 % | +4,2/+6,1 |
| DAVIS 2017 (J&F-Mean) | 75,6 | 79,4 | 82,3 | +3,8/+6,7 |
| Vyhledávání instancí (GAP) | 42,1 | 46,8 | 53,0 | +4,7/+10,9 |
| NYU Hloubka (RMSE dolů) | 0,458 | 0,412 | 0,389 | -0,046/-0,069 |
| ObjectNet (Top-1) | 72,3 % | 75,8 % | 78,2 % | +3,5/+5,9 |
Tabulka výše demonstruje, že model ViT-Base od DINOv3 (86M parametrů, používaný TarmacView) již překonává mnohem větší model ViT-Large od DINOv2 (304M parametrů) ve všech benchmarkách, přičemž je 3,5x menší a výrazně výpočetně efektivnější pro inferenci.
Rozdíly v licencích. DINOv2 byl vydán pod licencí Apache 2.0, standardní open-source licencí, která povoluje volné použití, úpravy a distribuci pro jakýkoli účel, včetně komerčních aplikací. DINOv3 je vydán pod licencí DINOv3, vlastní licencí specifickou pro vydání modelu Meta AI. Ačkoli licence DINOv3 povoluje komerční použití, obsahuje dodatečné podmínky týkající se uvedení autorství a přijatelného použití. Vlastní licence vyvolala diskusi v komunitě open-source – issue #31 v úložišti dinov3 na GitHubu konkrétně žádá o vydání pod standardnější licencí, jako je Apache 2.0. Praktici by si měli před nasazením DINOv3 v komerčních produktech prostudovat plný text LICENSE.md v úložišti GitHub. Pro případ použití TarmacView licence DINOv3 povoluje zamýšlenou komerční aplikaci s příslušným uvedením autorství.
Dolaďování DINOv3 pro doménové úlohy
Zatímco DINOv3 dosahuje nejmodernějšího výkonu se zmrazeným backbone (lineární sonda nebo k-NN klasifikátor), některé aplikace v infrastruktuře těží z dolaďování backbone na doménově specifických datech. Volba mezi zmrazeným a dolaďovaným přístupem závisí na velikosti datové sady, specifičnosti úlohy a výpočetním rozpočtu.
Zmrazený backbone (lineární sondování). Nejjednodušším a výpočetně nejefektivnějším přístupem je zmrazení vah DINOv3 a trénování pouze lineárního klasifikátoru na extrahovaných embeddingech. Pro model ViT-B/16 vytvářející 768-rozměrné CLS embeddingy se lineární klasifikátor skládá přesně z 768 x N parametrů, kde N je počet výstupních tříd. Pro 5-třídní úlohu klasifikace typu povrchu je to pouze 768 x 5 = 3 840 trénovatelných parametrů – trénink konverguje během minut na CPU a vyžaduje jen 50 označených příkladů na třídu pro dosažení dobrých výsledků. Přístup se zmrazeným backbone se doporučuje, když je cílová doména dobře pokryta předtréninkovými daty DINOv3, která zahrnují přirozené obrázky, webové obrázky a různé vizuální domény. Pro analýzu povrchů infrastruktury používá TarmacView zmrazené embeddingy DINOv3 s lineární sondou pro klasifikaci typu povrchu (asfalt, beton, kompozit, chip seal, štěrk) a dosahuje 96,2% přesnosti napříč těmito třídami. Klíčovou výhodou je, že backbone DINOv3 poskytuje univerzální vizuální rysy, které zobecňují napříč doménami bez jakéhokoli doménově specifického tréninku.
Lehké dolaďování (Adapter / LoRA). Pro úlohy, kde zmrazený backbone nedosahuje dostatečné přesnosti – typicky vysoce specializované domény s vizuálními charakteristikami výrazně odlišnými od přirozených obrázků – metody parametricky efektivního dolaďování (PEFT) přidávají malý počet trénovatelných parametrů, zatímco většina backbone zůstává zmrazena. Low-Rank Adaptation (LoRA) přidává páry matic rozkladu na nízkou hodnost (A a B, kde aktualizace vah delta_W = AB) k projekčním maticím dotazu a hodnoty v každé vrstvě self-attention. Pro model ViT-B/16 přidává LoRA s hodností r=8 přibližně 0,5M trénovatelných parametrů (méně než 0,6 % z celkových 86M) distribuovaných napříč všemi 12 vrstvami transformeru. Trénink pouze těchto parametrů LoRA po dobu 10-50 epoch na doménově specifické datové sadě 1 000-5 000 označených obrázků typicky přináší 3-8% zlepšení přesnosti oproti lineárnímu sondování, přičemž vyžaduje pouze 1-2 hodiny na jednom GPU. TarmacView používá dolaďování LoRA pro specializované úlohy klasifikace defektů, jako je rozlišování mezi různými typy trhlin (příčné, podélné, blokové, aligátorové, reflexní), kde jemné vizuální rozdíly těží z doménově specifické adaptace.
Úplné dolaďování. Pokud je k dispozici dostatečné množství označených dat (10 000+ obrázků na třídu) a úloha vyžaduje maximální přesnost, lze celý backbone DINOv3 doladit. To aktualizuje všech 86M parametrů ViT-B/16 pomocí označené datové sady. Úplné dolaďování typicky vyžaduje 4-8 GPU s 16-32 GB VRAM každé, distribuovaný trénink s PyTorch DDP a pečlivé ladění hyperparametrů (rychlost učení typicky 5x10^-6 až 5x10^-5, úbytek vah 0,01-0,1, kosinový plán rychlosti učení s 10% zahříváním). Úplné dolaďování může přinést 2-5% dodatečné přesnosti oproti LoRA u vysoce specializovaných úloh, ale nese riziko katastrofického zapomínání – model může ztratit obecné vizuální znalosti získané během samoučeného předtréninku. Ke zmírnění tohoto rizika se doporučuje postupné odmrazování (nejprve odmrazení poslední vrstvy, pak postupně dřívějších vrstev) a diskriminace rychlosti učení (nižší rychlosti učení pro dřívější vrstvy, vyšší pro pozdější). DINOv3 také navrhuje následný protokol adaptace na vysoké rozlišení při dolaďování: pokračovat v tréninku po dobu 10K kroků na smíšených velikostech globálních ořezů pomocí ztráty iBOT a Gram anchoring, což zajišťuje, že backbone zobecňuje ze standardního rozlišení 224px až na velmi vysoká rozlišení (4096px) při zachování ostrých map rysů.
Rozhodovací matice zmrazení vs. dolaďování.
| Scénář | Velikost datové sady | Doporučený přístup | Doba tréninku | Očekávaná přesnost vs. zmrazený |
|---|---|---|---|---|
| Klasifikace typu povrchu | 50-200 obrázků/třída | Zmrazený + lineární sonda | méně než 1 hodina CPU | Základní linie |
| Klasifikace typu trhliny | 500-5 000 obrázků | LoRA (hodnost 8-16) | 1-4 hodiny GPU | +3-8 % |
| Hodnocení závažnosti defektu | 5 000-20 000 obrázků | LoRA nebo částečné dolaďování | 4-12 hodin GPU | +5-12 % |
| Detekce nových defektů | 10 000+ obrázků | Úplné dolaďování | 1-3 dny multi-GPU | +8-15 % |
Úvahy o doménové adaptaci. Snímky inspekce infrastruktury se liší od přirozených obrázků v několika ohledech: konzistentní úhly kamery (nadir/dronová perspektiva), specifické světelné podmínky (venkovní, ale proměnlivé), opakující se vzory (textura vozovky) a úzká vizuální doména (silnice, dráhy, mostovky). Samoučený předtrénink DINOv3 na různorodých datech znamená, že již viděl mnoho podobných vizuálních vzorů, ale doménová mezera mezi webovými obrázky a snímky infrastruktury stále existuje. Experimenty TarmacView ukazují, že zmrazené embeddingy DINOv3 dosahují 94,7% F1-skóre detekce trhlin na snímcích letištních ploch bez jakéhokoli dolaďování, což indikuje vynikající doménový přenos. Pro detekci specializovaných defektů, jako je porušení spár v betonových vozovkách nebo rozpad asfaltových překryvů, však dolaďování LoRA s 2 000-5 000 označenými příklady z cílové domény zlepšuje F1-skóre o 5-8 procentních bodů. Dolaďovaný model také vykazuje zlepšenou robustnost vůči doménově specifickým artefaktům, jako jsou stopy pneumatik, pryžové usazeniny a značení drah, které mohou zmást generické předtrénované rysy.
DINOv3 jako extraktor rysů
Použití DINOv3 jako extraktoru rysů je nejpřímější a nejpoužitelnější vzor nasazení, zejména pro organizace, které postrádají výpočetní zdroje pro rozsáhlý trénink. V tomto paradigmatu DINOv3 zpracovává každý obrázek jediným průchodem vpřed, čímž vytváří embeddingy, které jsou ukládány do mezipaměti a znovu používány pro více následných úloh.
Pipeline extrakce rysů. Standardní pipeline pro extrakci rysů DINOv3 v pracovním postupu analýzy infrastruktury TarmacView funguje následovně. Nejprve je vstupní obrázek (typicky 4K dronový snímek pokrývající úsek dráhy 10m x 7m) rozdělen na překrývající se dlaždice 224x224 s 50% překryvem pro zajištění pokrytí okrajů. Každá dlaždice je normalizována pomocí standardního průměru ImageNet (0,485, 0,456, 0,406) a směrodatné odchylky (0,229, 0,224, 0,225). Normalizovaná dlaždice je prohnána modelem DINOv3 ViT-B/16 pomocí PyTorch s přesností FP16 pro paměťovou efektivitu. Model vytváří 201 tokenů (1 CLS + 4 registrační + 196 dlaždicových), každý o dimenzi 768. Embedding CLS tokenu (768-rozměrný) je extrahován pro globální klasifikaci dlaždice. 196 dlaždicových embeddingů tokenů je přetvořeno do prostorové mřížky 14x14 768-rozměrných vektorů pro hustou predikci. Všechny embeddingy ze všech dlaždic jsou agregovány do rysové databáze indexované prostorovými souřadnicemi, což umožňuje analýzu napříč dlaždicemi a mapování velkých ploch.
Výpočetní efektivita. Extrakce rysů se zmrazeným DINOv3 ViT-B/16 vyžaduje přibližně 12,5 GFLOPů na obrázek 224x224 – srovnatelné s ResNet-50 (7,7 GFLOPů) nebo EfficientNet-B4 (12,0 GFLOPů). Na NVIDIA RTX 4090 (FP16) je propustnost inference přibližně 180 obrázků/sekundu. Na NVIDIA Jetson Orin NX 16GB (okrajové zařízení) je propustnost přibližně 25 obrázků/sekundu. Pro typický 4K dronový snímek (3840x2160 pixelů), rozdělený na dlaždice 224x224 s 50% překryvem, je zapotřebí přibližně 160 dlaždic. Celková doba zpracování na RTX 4090 je méně než 1 sekunda na 4K snímek. Náklady na extrakci rysů jsou jednorázovým výdajem – jakmile jsou embeddingy uloženy, každá následná úloha (klasifikace, segmentace, vyhledávání) přidává zanedbatelné dodatečné výpočty (milisekundy na obrázek).
Faiss Embedding Database pro vyhledávání podobnosti. TarmacView ukládá extrahované embeddingy DINOv3 v indexu FAISS (Facebook AI Similarity Search) pro efektivní vyhledávání a analýzu založenou na podobnosti. FAISS je knihovna vyvinutá Meta AI pro efektivní vyhledávání podobnosti a shlukování hustých vektorů, schopná prohledávat databáze v miliardovém měřítku během milisekund. Embeddingová databáze indexuje dlaždice povrchu dráhy podle jejich 768-rozměrných CLS embeddingů DINOv3. Když dorazí nový inspekční snímek, jeho embedding je vypočten a porovnán s celou databází, aby se našly nejvíce vizuálně podobné historické dlaždice. To umožňuje analýzu trendů stavu – nalezení podobných stavů povrchu, které se vyskytly v minulosti, a jejich následných trajektorií zhoršování. Index FAISS používá IVF (Inverted File) s 4096 centroidy a graf HNSW (Hierarchical Navigable Small World) pro hrubý kvantizér, dosahující více než 99% návratnosti při době dotazu 10 ms pro databázi 10 milionů dlaždicových embeddingů. Pro všechna porovnání embeddingů se používá metrika kosinové podobnosti.
Detekce defektů z několika málo příkladů (Few-Shot). Embeddingy DINOv3 umožňují efektivní detekci defektů z několika málo příkladů – identifikaci nových typů defektů z pouhých 1-5 příkladových obrázků. Když je v terénu nalezen nový typ poškození povrchu (např. specifický vzor trhliny nebo povrchová usazenina), inspektor pořídí 1-5 příkladových obrázků a označí oblasti defektů. Dlaždicové embeddingy DINOv3 z těchto příkladových oblastí jsou zprůměrovány, čímž vzniká prototypový vektor defektu (768-rozměrný). Nové obrázky jsou poté zpracovány a každý dlaždicový embedding je porovnán s prototypem pomocí kosinové podobnosti. Dlaždice s podobností nad prahem (typicky 0,75-0,85, stanoveným empiricky) jsou označeny jako odpovídající typu defektu. Tento přístup založený na prototypech dosahuje 89-93% přesnosti detekce pro nové defekty z pouhých 3 příkladů, bez jakéhokoli přetrénování nebo dolaďování. To je kritické pro inspekci infrastruktury, kde se často setkáváme s novými, neočekávanými typy poškození, které musí být zdokumentovány bez zpoždění pracovního postupu inspekce kvůli sběru tréninkových dat.
Husté dlaždicové tokeny pro segmentaci
196 dlaždicových embeddingů tokenů vytvářených DINOv3 pro obrázek 224x224 tvoří prostorovou mřížku 14x14 768-rozměrných rysových vektorů. Tato mřížka je primární reprezentací pro úlohy husté predikce – sémantickou segmentaci, detekci trhlin a lokalizaci defektů – kde musí být klasifikován každý pixel ve vstupním obrázku.
Struktura mřížky a rozlišení. Pro vstup 224x224 pixelů s dlaždicemi 16x16 pokrývá každý ze 196 dlaždicových tokenů oblast 16x16 pixelů vstupu. Výsledná mřížka 14x14 má krok 16 pixelů mezi středy sousedních dlaždic. To znamená, že mapa rysů DINOv3 má přibližně 1/256 prostorového rozlišení vstupního obrázku (14x14 = 196 vs 224x224 = 50 176 pixelů). Mechanismus self-attention kompenzuje tuto prostorovou kompresi integrací informací napříč dlaždicemi – každý dlaždicový embedding je informován okolní mřížkou 14x14 prostřednictvím multi-head attention, což poskytuje efektivní kontextové povědomí. Pro segmentační úlohy musí být mřížka 14x14 zvětšena na původní rozlišení obrázku. TarmacView používá lehký konvoluční dekodér se 3 vrstvami: transponovaná konvoluce (14x14 na 28x28, 384 kanálů), transponovaná konvoluce (28x28 na 56x56, 192 kanálů), bilineární zvětšení (56x56 na 224x224) a finální 1x1 konvoluce na logity na třídu. Tento dekodér přidává pouze 2,3M parametrů k backbone s 86M parametry.
Kvalita hustých rysů DINOv3 vs DINOv2. Kritická inovace v DINOv3 – Gram anchoring – přímo cílí na kvalitu těchto hustých dlaždicových rysů. Během dlouhých tréninkových běhů by dlaždicové rysy DINOv2 vykazovaly to, co autoři popisují jako degradaci hustých map rysů: dlaždicové embeddingy by se stávaly méně sémanticky smysluplnými, struktura podobnosti dlaždice-dlaždice by degradovala a kvalita segmentace by se ustálila nebo dokonce snížila navzdory pokračujícímu zlepšování globální klasifikace. Gram anchoring zachovává Gramovu matici dlaždicových rysů (párovou strukturu podobnosti) tím, že ji zarovnává s referencí z raného tréninku, což zajišťuje, že prostorové a sémantické vztahy mezi dlaždicemi zůstávají stabilní. Praktickým výsledkem je, že dlaždicové rysy DINOv3 zůstávají ostré a sémanticky koherentní i při vysokých rozlišeních. Článek DINOv3 demonstruje PCA vizualizace dlaždicových rysů DINOv3 pro vysoce rozlišené letecké snímky – silnice, budovy, vegetace a vodní plochy jsou v rysovém prostoru jasně oddělitelné, což demonstruje výjimečnou kvalitu rysů pro porozumění scéně.

Sémantická segmentace s lineárními sondami. Jednou z nejpůsobivějších schopností DINOv3 je provádění sémantické segmentace pomocí pouze lineárních sond na zmrazených dlaždicových rysech – není vyžadováno žádné dolaďování backbone. Lineární segmentační hlava aplikuje 1x1 konvoluci (nebo ekvivalentně, lineární vrstvu na dlaždici) k mapování každého dlaždicového embeddingu z 768 dimenzí na C výstupních tříd. To vytváří segmentační mapu 14x14, která je zvětšena na rozlišení obrázku. Navzdory jednoduchosti tohoto přístupu (pouze 768 x C trénovatelných parametrů pro celou segmentační hlavu) dosahuje DINOv3 52,3 % mIoU na ADE20K s ViT-B, čímž překonává mnoho metod, které dolaďují celý backbone. To je umožněno výjimečnou lineární separovatelností dlaždicových rysů DINOv3 – embeddingový prostor je již strukturován tak, že různé sémantické kategorie zabírají odlišné, lineárně separovatelné oblasti.
Segmentace trhlin v infrastruktuře. TarmacView aplikuje husté dlaždicové tokeny DINOv3 pro segmentaci trhlin na úrovni pixelů v snímcích drah a vozovek. Mřížka 14x14 768-rozměrných dlaždicových embeddingů zachycuje jak lokální texturu trhliny (v rámci každé dlaždice 16x16), tak kontextové informace (které dlaždice trhlina spojuje). Segmentační hlava je lehká síť se 3 transponovanými konvolučními vrstvami, které zvětšují mřížku rysů 14x14 na rozlišení 224x224. Trénink vyžaduje přibližně 500 označených segmentačních obrázků trhlin (dlaždice 224x224 s maskami trhlin na úrovni pixelů) a konverguje za 2-3 hodiny na jediném GPU RTX 3060. Výsledný model dosahuje 94,7% F1-skóre pro detekci trhlin ve srovnání s 88,2 % u ResNet-50 a 91,3 % u DINOv2 za stejných tréninkových podmínek. F1-skóre se zlepšuje na 96,8 % při použití protokolu adaptace na vysoké rozlišení (dolaďování DINOv3 při vstupním rozlišení 512px s doporučeným plánem 10K kroků). Přesnost odhadu šířky trhliny (měřená jako střední absolutní chyba v mm) je 0,8 mm pro DINOv3 vs 1,4 mm pro DINOv2 a 2,1 mm pro ResNet-50.
Registrační tokeny pro absorpci pozadí. 4 registrační tokeny DINOv3 hrají specifickou roli v kvalitě hustých rysů. Tyto tokeny jsou další naučitelné tokeny (dimenze 768), které jsou přidány na začátek sekvence vedle tokenu CLS. Během self-attention mohou registrační tokeny věnovat pozornost všem dlaždicovým tokenům a být jimi pozorovány. Klíčovým poznatkem je, že některé vizuální dlaždice v obrázku obsahují odlehlé informace nebo informace o pozadí – obloha, vzdálené objekty nebo jednotné bezexturní oblasti – které by, pokud by byly nuceny být kódovány dlaždicovými tokeny, degradovaly kvalitu rysového prostoru. Registrační tokeny fungují jako absorpční paměťové sloty, které zachycují tento neinformativní obsah, což umožňuje dlaždicovým tokenům zaměřit se na sémanticky smysluplné oblasti obrazu. Praktickým efektem je měřitelné zlepšení kvality hustých rysů: +1,8 mIoU na ADE20K a výrazně čistší mapy podobnosti dlaždic, zejména pro obrázky s velkými jednotnými oblastmi pozadí. Pro inspekci infrastruktury, kde snímky často obsahují velké plochy jednotné textury vozovky, pomáhají registrační tokeny udržovat čisté dlaždicové rysy, které se zaměřují na vzory poškození spíše než na texturu pozadí.
Trénink na MPS a GPU
Tréninková a inferenční infrastruktura DINOv3 podporuje několik hardwarových backendů, od velkých GPU clusterů po okrajová zařízení a Apple Silicon Mac.
Trénink na GPU ve velkém měřítku. Učitelský model ViT-7B byl trénován na 256 GPU NVIDIA A100 80GB SXM4 s propojením NVLink, poskytujícím přibližně 20 TB/s agregované šířky pásma paměti GPU a 25 PFLOPS výpočtů FP16. Trénink používá Fully Sharded Data Parallel (FSDP) – nativní strategii PyTorch pro rozdělení, která rozděluje parametry modelu, gradienty a stavy optimalizátoru napříč všemi GPU. S FSDP a tréninkem se smíšenou přesností (BF16) se 7B model vejde do agregované paměti 256 GPU (256 x 80GB = 20,48 TB), i když každé jednotlivé GPU pojme pouze přibližně 2-3 % parametrů modelu. Knihovna xFormers (vyvinutá Meta AI) poskytuje paměťově efektivní implementace attention, včetně paměťově efektivní attention (snižuje paměť attention z O(N2) na O(N)) a blokově řídkých vzorů attention. Kombinace FSDP, BF16, xFormers a gradient checkpointingu snižuje požadavek na paměť na GPU pro ViT-7B z odhadovaných 250 GB (plná přesnost, bez optimalizací) na přibližně 65 GB, což se vejde do kapacity 80 GB A100.
Inference na jednom GPU. Pro praktické nasazení běží DINOv3 ViT-B/16 (86M parametrů) efektivně na jediném NVIDIA GPU. Při přesnosti FP32 vyžaduje model přibližně 344 MB paměti pro parametry (86M x 4 bajty na float). S aktivacemi pro velikost dávky 1 (obrázek 224x224) je celková spotřeba paměti přibližně 1,2-1,5 GB (parametry + aktivace + mezilehlé tenzory). Při přesnosti FP16 klesne paměť parametrů na 172 MB a celková spotřeba na přibližně 0,8-1,0 GB. To znamená, že DINOv3 ViT-B/16 běží pohodlně na GPU s pouhými 4 GB VRAM, včetně starších karet jako NVIDIA GTX 1650 a NVIDIA Jetson Xavier NX. Propustnost na RTX 3060 (12 GB) při FP16 je přibližně 100 obrázků/sekundu. Na NVIDIA A100 přesahuje propustnost 400 obrázků/sekundu, což umožňuje zpracování 4K dronových snímků v reálném čase při rychlostech dekompozice dlaždic.
Podpora Apple Silicon (MPS). DINOv3 je plně kompatibilní s backendem Metal Performance Shaders (MPS) v PyTorch, který poskytuje GPU akcelerovanou inferenci na Apple Silicon Mac (řady M1, M2, M3, M4). Backend MPS mapuje operace PyTorch na architekturu GPU Apple prostřednictvím frameworku Metal. Výkon na M2 Pro MacBook Pro (19jádrové GPU, 32 GB jednotné paměti) dosahuje přibližně 25-35 obrázků/sekundu pro ViT-B/16 při přesnosti FP16 – dostatečné pro dávkové zpracování velkých kolekcí obrázků. Na M2 Ultra Mac Studio (76jádrové GPU, 192 GB jednotné paměti) dosahuje propustnost přibližně 70-90 obrázků/sekundu. Spotřeba paměti je efektivní, protože jednotná paměťová architektura Apple eliminuje režii přenosu dat mezi CPU a GPU. TarmacView používá MPS akcelerovaný DINOv3 pro zpracování dat na místě v terénu, což umožňuje inspektorům spouštět inferenci přímo na jejich MacBoocích bez nutnosti vyhrazeného GPU hardwaru. Větší jednotná paměť Apple Silicon (až 192 GB na M2 Ultra) také umožňuje zpracování obrázků s velmi vysokým rozlišením bez dlaždicování – obrázek 4096x4096 vytváří 256x256 dlaždic = 65 536 tokenů, což vyžaduje přibližně 8 GB paměti ekvivalentní VRAM v jednotném paměťovém fondu.
Distribuovaná inference. Pro rozsáhlé projekty inspekce infrastruktury zpracovávající miliony obrázků je nezbytná distribuovaná inference napříč více GPU nebo stroji. DINOv3 podporuje PyTorch DistributedDataParallel (DDP) pro multi-GPU inferenci na jednom serveru, modelovou paralelizaci (pipeline paralelismus pro ViT-7B) a Ray (open-source framework pro distribuované výpočty) pro multi-uzlovou distribuovanou inferenci. Nasazení TarmacView používá Kubernetes s fondy GPU uzlů spouštějícími inferenci DINOv3 jako škálovatelnou mikroslužbu. Každý inferenční pod běží na jediném GPU T4 (16 GB VRAM) a zpracovává přibližně 70 obrázků/sekundu. Cluster 50 podů dosahuje propustnosti 3 500 obrázků/sekundu, což umožňuje zpracování 500snímkového průzkumu dráhy za méně než 3 sekundy. Inferenční server používá TorchServe pro obsluhu modelu s dynamickým dávkováním (velikosti dávek 4-16 v závislosti na objemu požadavků) a přesností FP16 pro maximalizaci propustnosti.
Nasazení na okraji sítě s NVIDIA Jetson. Pro terénní inspekční systémy používající drony nebo pozemní vozidla lze DINOv3 ViT-B/16 nasadit na okrajová zařízení NVIDIA Jetson. Modul Jetson Orin NX 16GB (100 TOPS výkonu AI) dosahuje 15-25 obrázků/sekundu s DINOv3 ViT-B/16 při FP16, v závislosti na režimu napájení (15W vs 25W vs 40W). Model je optimalizován pomocí TensorRT – optimalizátoru hlubokého učení NVIDIA, který spojuje vrstvy, optimalizuje výběr jader a kvantizuje na FP16 nebo INT8. S kvantizací TensorRT INT8 se rychlost inference zvyšuje na 30-40 obrázků/sekundu na Jetson Orin NX s méně než 1% degradací přesnosti ve srovnání s FP32. Jetson Xavier NX (21 TOPS) dosahuje 8-12 obrázků/sekundu s TensorRT FP16. Toto okrajové nasazení umožňuje detekci trhlin v reálném čase během letu dronu – kamera dronu zachycuje snímky a DINOv3 je zpracovává na palubě, přičemž potenciální defekty jsou označeny během několika sekund po zachycení bez nutnosti cloudového připojení.
Open-source dostupnost a licencování
DINOv3 byl vydán Meta AI v roce 2025 jako open-source projekt, čímž pokračuje v tradici společnosti veřejně vydávat nejmodernější výzkumné modely AI. Pochopení licenčních a distribučních podmínek je nezbytné pro organizace plánující nasazení DINOv3 v komerčních produktech.
Kód a váhy modelu. Kompletní kódová základna DINOv3 je k dispozici na GitHubu na adrese facebookresearch/dinov3 (10 700+ hvězdiček k polovině roku 2025). Úložiště zahrnuje kompletní tréninkový a vyhodnocovací kód (PyTorch), definice modelů, pipeline zpracování dat, vyhodnocovací skripty a předtrénované váhy pro všech 12 vydaných variant modelu. Váhy modelu jsou také k dispozici na Hugging Face Hub pod namespace facebook/dinov3-*, včetně: facebook/dinov3-vits16-pretrain-lvd1689m (ViT-Small, 21M parametrů) facebook/dinov3-vitb16-pretrain-lvd1689m (ViT-Base, 86M parametrů) – primární model používaný TarmacView facebook/dinov3-vitl16-pretrain-lvd1689m (ViT-Large, 304M parametrů) facebook/dinov3-vith16-pretrain-lvd1689m (ViT-H+, ~1,5B parametrů) facebook/dinov3-vit7b-pretrain-lvd1689m (ViT-7B, 7B parametrů) Plus varianty ConvNeXt (T, S, B, L) a satelitně specifické modely (SAT-493M)
Přístup na Hugging Face vyžaduje, aby uživatelé souhlasili s podmínkami Meta a poskytli kontaktní informace, které jsou shromažďovány, ukládány a zpracovávány v souladu s Meta Privacy Policy. Váhy modelu jsou distribuovány jako soubory state_dict PyTorch kompatibilní s knihovnou Hugging Face Transformers (integrace dostupná prostřednictvím AutoModel.from_pretrained()).
Licence DINOv3. DINOv3 je vydán pod licencí DINOv3, vlastní open-source licencí vyvinutou Meta AI speciálně pro toto vydání modelu. To se liší od DINOv2, který byl vydán pod standardní licencí Apache 2.0. Licence DINOv3 povoluje: Použití, reprodukci, úpravy a distribuci modelu a kódu Komerční použití včetně integrace do produktů a služeb Sublicencování odvozených děl za různých podmínek
Licence DINOv3 zahrnuje specifické požadavky na uvedení autorství (musí být zachována autorská práva) a zásady přijatelného použití, které zakazují použití modelu pro určité účely, včetně sledování, které porušuje lidská práva, autonomních zbraní a porušování platných zákonů. Licence vyvolala diskusi v komunitě vývojářů – issue #31 v úložišti dinov3 na GitHubu konkrétně žádá o vydání pod standardnější licencí, jako je Apache 2.0, aby se zjednodušila právní shoda pro podniky se zavedenými zásadami pro open-source licence. TarmacView přezkoumalo licenci DINOv3 a určilo, že aplikace inspekce infrastruktury a detekce defektů jsou podle jejích podmínek plně povoleny.
Srovnání s licencováním jiných backboneů.
| Backbone | Licence | Komerční použití | Uvedení autorství vyžadováno | Vlastní podmínky |
|---|---|---|---|---|
| DINOv3 | Licence DINOv3 | Ano | Ano | Ano |
| DINOv2 | Apache 2.0 | Ano | Ano | Ne |
| ViT (Google) | Apache 2.0 | Ano | Ano | Ne |
| CLIP (OpenAI) | MIT | Ano | Ano | Ne |
| OpenCLIP | MIT | Ano | Ano | Ne |
| SAM (Meta) | Apache 2.0 | Ano | Ano | Ne |
| ConvNeXt | MIT | Ano | Ano | Ne |
Výpočetní náklady reprodukce. Náklady na trénink DINOv3 ViT-7B se odhadují na 2-5 milionů USD (přibližně 15 000 GPU-dnů na A100-80GB při cloudových cenách na vyžádání). Destilované menší modely (ViT-B, ViT-L) jsou výrazně levnější na reprodukci, ale stále vyžadují značný výpočetní výkon – destilace ViT-Base z ViT-7B na LVD-1689M vyžaduje přibližně 500-800 GPU-dnů. Pro praktiky však dostupnost předtrénovaných vah eliminuje potřebu jakéhokoli tréninkového výpočtu – váhy lze stáhnout a okamžitě použít pro inferenci za cenu jediného GPU jakékoli generace. Tato dostupnost je základní hodnotovou nabídkou základních modelů: obrovské tréninkové náklady jsou amortizovány napříč všemi následnými uživateli.
Komunita a integrace ekosystému. DINOv3 těží z široké integrace ekosystému: Hugging Face Transformers poskytuje API pro plug-and-play, PyTorch Hub podporuje načítání modelu prostřednictvím torch.hub.load() a model je zahrnut v modelovém zoo Torchvision pro přímý přístup. Integrace s Weights & Biases, MLflow a Neptune.ai pro sledování experimentů je podporována prostřednictvím standardních PyTorch háčků. Export do formátu ONNX (Open Neural Network Exchange) je podporován pro nasazení do prostředí mimo PyTorch, včetně TensorRT pro okrajová zařízení NVIDIA, CoreML pro zařízení Apple a TFLite pro mobilní nasazení. Platforma inspekce infrastruktury TarmacView integruje DINOv3 prostřednictvím pipeline Hugging Face Transformers s optimalizací TensorRT pro okrajové nasazení na Jetson Orin NX a akcelerací MPS pro terénní notebooky macOS.
Závěr. DINOv3 představuje generační skok v samoučených vizuálních základních modelech, dosahující nejmodernějšího výkonu napříč globálními a hustými predikčními úlohami prostřednictvím bezprecedentního měřítka (1,689 miliardy obrázků, 7 miliard parametrů) a inovace Gram anchoring, která zachovává kvalitu hustých rysů. Pro analýzu povrchů infrastruktury poskytuje varianta DINOv3 ViT-B/16 768-rozměrný embeddingový prostor s výjimečnou sémantickou strukturou – typy povrchů, vzory trhlin a rysy defektů jsou v embeddingovém prostoru lineárně separovatelné, což umožňuje přesnou klasifikaci a detekci s inferencí se zmrazeným backbone. Open-source dostupnost, široká hardwarová podpora (GPU, MPS, Edge) a permisivní licencování činí z DINOv3 optimální backbone pro automatizovanou platformu inspekce infrastruktury TarmacView, která poskytuje nejmodernější přesnost detekce defektů s minimálními doménově specifickými tréninkovými daty a výpočetními požadavky.
Často kladené otázky
- Jaký je rozdíl mezi DINOv3 a DINOv2?
- DINOv3 představuje výrazný skok v měřítku oproti DINOv2 v několika dimenzích. Zaprvé, trénovací data: DINOv2 byl trénován na 142 milionech kurátorovaných obrázků (LVD-142M), zatímco DINOv3 škáluje na 1,689 miliardy obrázků (LVD-1689M), což je 12násobný nárůst. Zadruhé, velikost modelu: největší učitelský model DINOv2 měl 1 miliardu parametrů (ViT-g), zatímco DINOv3 trénuje učitele se 7 miliardami parametrů (ViT-7B). Zatřetí, velikost dlaždice: DINOv2 používal velikost dlaždice 14 pixelů, čímž vznikalo 256 dlaždicových tokenů na obrázek 224x224, DINOv3 používá velikost dlaždice 16 pixelů, čímž vzniká 196 dlaždicových tokenů. Začtvrté, poziční embeddingy: DINOv2 používal standardní naučené absolutní poziční kódování, zatímco DINOv3 zavádí Rotary Position Embeddings (RoPE) s náhodným rozptylem rámečku pro lepší odolnost vůči poměru stran. Zapáté, klíčová inovace Gram anchoring v DINOv3 zachovává kvalitu hustých map rysů během dlouhých tréninkových plánů – problém, který způsoboval degradaci dlaždicových rysů DINOv2 při delším tréninku. Zašesté, DINOv3 dosahuje +6 mIoU zlepšení na ADE20K sémantické segmentaci, +6,7 J a F-Mean na sledování videa a +10,9 GAP na vyhledávání instancí ve srovnání s DINOv2.
- Jak TarmacView používá DINOv3 pro analýzu povrchů infrastruktury?
- TarmacView nasazuje backbone DINOv3 ViT-B/16 jako primární engine pro extrakci rysů ve svém inspekčním pipeline infrastruktury. Když dron nebo kamera zachytí snímek povrchu dráhy, mostovky nebo silniční vozovky, je snímek změněn na 224x224 pixelů a rozdělen na 196 nepřekrývajících se dlaždic 16x16. Každá dlaždice je lineárně vložena do 768-rozměrného vektoru a spolu s CLS tokenem prochází 12 vrstvami transformerového kodéru s multi-head self-attention. Výsledný 768-rozměrný embedding CLS tokenu zachycuje globální charakteristiky povrchu používané pro klasifikaci typu povrchu (asfalt, beton, chip seal atd.) a celkového stupně kvality. Současně 196 dlaždicových embeddingů tokenů (každý 768-rozměrný) kóduje lokalizované texturní informace na úrovni dlaždic, které TarmacView používá pro detekci trhlin na úrovni pixelů, identifikaci výtluků, posouzení rozpadu a měření poruch ve spárách. Přístup se zmrazeným backbone znamená, že váhy DINOv3 zůstávají fixní, zatímco lehké hlavy specifické pro daný úkol (lineární sondy nebo mělké MLP) jsou trénovány na označených datech infrastruktury. To snižuje náklady na trénink přibližně o 90 % ve srovnání s úplným dolaďováním při dosažení nejmodernější přesnosti detekce defektů.
- Jaký hardware je potřeba pro spuštění inference DINOv3?
- DINOv3 nabízí modely v různých velikostech, aby vyhovoval různým hardwarovým omezením. Varianta ViT-B/16 (86 milionů parametrů) používaná TarmacView běží efektivně na jediném NVIDIA GPU s alespoň 8 GB VRAM a dosahuje rychlosti inference 50-100 snímků za sekundu na RTX 3060 nebo vyšší. Na Apple Silicon Mac (M1/M2/M3) poskytuje backend MPS (Metal Performance Shaders) hardwarově akcelerovanou inferenci přibližně 20-40 FPS na M2 Pro. Pro nasazení na okraji sítě běží destilovaná varianta ViT-Small (21M parametrů) na NVIDIA Jetson Orin NX rychlostí 15-30 FPS. Největší varianta ViT-7B vyžaduje pro inferenci 4-8 GPU NVIDIA A100 (80 GB). DINOv3 podporuje inferenci se smíšenou přesností (FP16), která snižuje spotřebu paměti přibližně o 50 % při zanedbatelné ztrátě přesnosti. Model je k dispozici v PyTorch přes Hugging Face Transformers, přičemž checkpoint facebook/dinov3-vitb16-pretrain-lvd1689m je standardním vstupním bodem.
- Co je Gram anchoring v DINOv3?
- Gram anchoring je nová regularizační technika zavedená v DINOv3 k vyřešení degradace hustých map rysů během dlouhých plánů samoučeného tréninku. Během rozšířeného tréninku ve stylu DINOv2 s velkými modely (ViT-L a výše) bylo pozorováno, že rysy na úrovni dlaždic ztrácejí svou prostorovou strukturu a sémantický význam – přesnost lineární sondy na globálních úlohách se zlepšovala, ale mapy rysů po dlaždicích se stávaly zašuměnými a ztrácely lokalizační schopnost. Gram anchoring zavádí dodatečný L2 ztrátový člen, který zarovnává Gramovu matici dlaždicových rysů studenta se zmrazenou Gramovou maticí z raného EMA snímku učitele. Konkrétně, pro L2-normalizovanou matici dlaždic studenta X_S a Gramovu matici učitele X_G (raný EMA snímek) je ztráta L_Gram = ||X_S X_S^T - X_G X_G^T||_F^2. Tato ztráta zachovává párovou strukturu podobnosti dlaždic spíše než vynucování absolutních pozic rysů a funguje jako prostorový regularizátor. Integrován po 1M předtréninkových iteracích s vahou 2 a aktualizacemi učitele každých 10k kroků, přináší Gram anchoring +2 mIoU zlepšení na ADE20K segmentaci a lepší RMSE odhadu hloubky bez degradace globálních metrik.
- Jak jsou 768-rozměrné embeddingy DINOv3 používány pro detekci povrchových defektů?
- Varianta DINOv3 ViT-B/16 vytváří 768-rozměrný embedding pro každou z 196 dlaždic plus jeden CLS token na obrázek 224x224. Pro analýzu povrchu infrastruktury slouží tyto embeddingy dvěma odlišným účelům. Pro globální klasifikaci (typ povrchu, celkové hodnocení kvality) je embedding CLS tokenu vložen do lehké lineární klasifikátorové nebo 2vrstvé MLP hlavy, která mapuje 768 dimenzí na N výstupních tříd. Pro úlohy husté predikce (segmentace trhlin na úrovni pixelů) tvoří 196 dlaždicových embeddingů tokenů prostorovou mřížku 14x14 768-rozměrných vektorů. Tato mřížka je prohnána segmentační hlavou (typicky lehkým konvolučním dekodérem s 1-3 vrstvami), která zvětšuje mapu rysů 14x14 na původní rozlišení 224x224. Embedding každého pixelu lze porovnat s prototypy defektů pomocí kosinové podobnosti – dlaždice s embeddingy blízkými prototypům trhlin (stanoveným pomocí několika málo příkladů) jsou označeny jako defekty. TarmacView dosahuje F1-skóre detekce trhlin 94,7 % pomocí zmrazených embeddingů DINOv3 s lehkou segmentační hlavou, ve srovnání s 88,2 % u ResNet-50 a 91,3 % u DINOv2 za stejných vyhodnocovacích podmínek.