Obsah[Skrýt][Ukázat]
Jedním z nejjednodušších a zároveň nejzajímavějších nápadů v hlubokém učení je detekce objektů. Základní myšlenkou je rozdělit každou položku do po sobě jdoucích tříd, které představují srovnatelné vlastnosti, a poté kolem ní nakreslit rámeček.
Tyto rozlišovací znaky mohou být tak jednoduché, jako je forma nebo barva, což nám pomáhá při jejich kategorizaci.
Aplikace z Detekce objektů jsou široce používány v lékařských vědách, autonomním řízení, obraně a vojenství, veřejné správě a mnoha dalších oblastech díky podstatným zlepšením v oblasti počítačového vidění a zpracování obrazu.
Zde máme MMDetection, fantastickou sadu nástrojů pro detekci objektů s otevřeným zdrojovým kódem postavenou na Pytorch. V tomto článku MMDetection podrobně prozkoumáme, projdeme si s ním prakticky, probereme jeho funkce a mnoho dalšího.
Co je to MMDdetekce?
Projekt MMDdetekce toolbox byl vytvořen jako kódová základna Pythonu speciálně pro problémy s identifikací objektů a segmentací instancí.
Je použita implementace PyTorch, která je vytvořena modulárním způsobem. Pro rozpoznávání objektů a segmentaci instancí byla sestavena široká škála efektivních modelů do různých metodologií.
Umožňuje efektivní vyvozování a rychlý výcvik. Na druhou stranu sada nástrojů obsahuje závaží pro více než 200 předem připravených sítí, což z něj činí rychlou opravu v oblasti identifikace objektů.
Díky schopnosti přizpůsobit stávající techniky nebo vytvořit nový detektor pomocí dostupných modulů funguje MMDetection jako benchmark.
Klíčovou vlastností sady nástrojů je zahrnutí přímých modulárních částí z normálního detekce objektu framework, který lze použít k vytvoření jedinečných potrubí nebo jedinečných modelů.
Schopnosti benchmarkingu této sady nástrojů usnadňují sestavení nového rámce detektorů nad stávajícím rámcem a porovnání jeho výkonu.
Funkce
- Populární a moderní detekční rámce, jako je Faster RCNN, Mask RCNN, RetinaNet atd., jsou přímo podporovány sadou nástrojů.
- Použití 360+ předem trénovaných modelů pro jemné doladění (nebo nový trénink).
- Pro dobře známé soubory dat o vidění včetně COCO, Cityscapes, LVIS a PASCAL VOC.
- Na GPU se provádějí všechny základní operace bbox a masky. Jiné kódové báze, jako je Detectron2, maskrcnn-benchmark a SimpleDet, lze trénovat rychleji nebo na stejné úrovni jako tato.
- Výzkumníci rozebírají detekce objektu framework do několika modulů, které lze následně kombinovat a vytvořit tak jedinečný systém detekce objektů.
Architektura MMDetection
MMDetection specifikuje obecný design, který lze aplikovat na jakýkoli model, protože se jedná o sadu nástrojů s řadou předpřipravených modelů, z nichž každý má svou vlastní architekturu. Tuto celkovou architekturu tvoří následující komponenty:
- Páteř: Páteř, jako je ResNet-50 bez poslední plně připojené vrstvy, je komponenta, která převádí obrázek na mapy prvků.
- Krk: Krk je segment, který spojuje páteř s hlavami. Na základních mapách funkcí páteře provádí určité úpravy nebo rekonfigurace. Funkce Pyramid Network je jedna ilustrace (FPN).
- DenseHead (AnchorHead/AnchorFreeHead): Je to komponenta, která funguje na hustých oblastech map funkcí, jako jsou AnchorHead a AnchorFreeHead, jako jsou RPNHead, RetinaHead a FCOSHead.
- RoIextraktor: Při použití operátorů podobných RoIPooling je to sekce, která stahuje prvky RoIwise z jedné mapy funkcí nebo ze sady map funkcí. Vzorek SingleRoIExtractor extrahuje prvky ROI z odpovídající úrovně pyramid prvků.
- RoIHead (BBoxHead/MaskHead): Je to část systému, která využívá charakteristiky ROI jako vstup a generuje předpovědi specifické pro úlohu založené na ROI, jako je klasifikace/regrese hraničního rámečku a predikce masky.
Konstrukce jednostupňových a dvoustupňových detektorů je znázorněna pomocí výše uvedených konceptů. Můžeme vyvinout vlastní postupy jednoduše tím, že zkonstruujeme několik nových dílů a zkombinujeme některé stávající.
Seznam modelů zahrnutých v MMDetection
MMDetection poskytuje špičkovou kódovou základnu pro několik známých modelů a modulů orientovaných na úkoly. Modely, které byly dříve vytvořeny, a adaptabilní metody, které lze použít se sadou nástrojů MMDetection, jsou uvedeny níže. Seznam se neustále rozrůstá s přibývajícími modely a metodami.
- Rychlé R-CNN
- Rychlejší R-CNN
- Maska R-CNN
- RetinaNet
- DCN
- DCNv2
- Kaskádová R-CNN
- M2Det
- GHM
- ScratchDet
- Dvouhlavý R-CNN
- Mřížka R-CNN
- FSAF
- Váhy R-CNN
- GCNet
- HRNet
- Bodování masky R-CNN
- FCOS
- SSD
- R-FCN
- Smíšený trénink přesnosti
- Hmotnostní standardizace
- Hybridní kaskáda úloh
- Řízené kotvení
- Všeobecná pozornost
Model detekce objektů pomocí MMDetection
V tomto tutoriálu budeme společným notebookem Google, protože se snadno nastavuje a používá.
Instalace
Pro instalaci všeho potřebného si nejprve nainstalujeme potřebné knihovny a naklonujeme projekt MMdetection GitHub.
Import env
Prostředí pro náš projekt bude nyní importováno z úložiště.
Import knihoven a MMdetection
Nyní naimportujeme požadované knihovny, samozřejmě spolu s MMdetection.
Stáhněte si předem vycvičené kontrolní body
Předtrénované kontrolní body modelu z MMdetection by nyní měly být staženy pro další úpravy a odvození.
Model stavby
Nyní vytvoříme model a aplikujeme kontrolní body na datovou sadu.
Vyvodit detektor
Nyní, když je model správně zkonstruován a načten, pojďme zkontrolovat, jak je vynikající. Využíváme vysokoúrovňový detekční detektor API MMDetection. Toto rozhraní API bylo navrženo tak, aby usnadnilo proces odvození.
Výsledek
Pojďme se podívat na výsledky.
Proč investovat do čističky vzduchu?
Závěrem, sada nástrojů MMDetection překonává nedávno vydané kódové báze jako SimpleDet, Detectron a Maskrcnn-benchmark. S velkou sbírkou modelů,
MMDetection je nyní nejmodernější technologií. MMDetection překonává všechny ostatní kódové báze, pokud jde o efektivitu a výkon.
Jednou z nejhezčích věcí na MMdetection je, že nyní můžete jednoduše ukázat na jiný konfigurační soubor, stáhnout jiný kontrolní bod a spustit stejný kód, pokud chcete změnit modely.
Doporučuji podívat se na ně instrukce pokud narazíte na problémy s některou z fází nebo chcete některé z nich provést jinak.
Napsat komentář