Detekce objektů je typ kategorizace obrazu, ve kterém neuronová síť předjímá položky v obraze a kreslí kolem nich ohraničující rámečky. Detekce a lokalizace věcí v obraze, který odpovídá předem nastavené sadě tříd, se nazývá detekce objektů.
Detekce objektů (také známá jako rozpoznávání objektů) je zvláště významnou subdoménou počítačového vidění, protože úkoly jako detekce, identifikace a lokalizace nacházejí široké uplatnění v kontextu reálného světa.
S těmito úkoly vám může pomoci přístup YOLO. V této eseji se blíže podíváme na YOLO, včetně toho, co to je, jak funguje, různé varianty a další.
Takže, co je YOLO?
YOLO je metoda pro identifikaci a rozpoznávání objektů na fotografiích v reálném čase. Je to zkratka pro You Only Look Once. Redmond a kol. navrhl tento přístup v dokumentu, který byl původně publikován v roce 2015 na konferenci IEEE/CVF o počítačovém vidění a rozpoznávání vzorů (CVPR).
Listu byla udělena cena OpenCV People's Choice Award. Na rozdíl od předchozích metod identifikace objektů, které znovu využívaly klasifikátory k provádění detekce, YOLO navrhuje použití end-to-end nervová síť který předpovídá ohraničující rámečky a pravděpodobnosti tříd současně.
YOLO vytváří nejmodernější výsledky tím, že využívá zásadně nový přístup k rozpoznávání objektů, který snadno překonává předchozí metody detekce objektů v reálném čase.
YOLO funguje
Metoda YOLO rozděluje obraz do N mřížek, z nichž každá má stejně velký sektor SxS. Každá z těchto N mřížek má na starosti detekci a lokalizaci objektu, který obsahuje.
Tyto mřížky zase předpovídají souřadnice ohraničovacího rámečku B vzhledem k souřadnicím buňky, stejně jako název položky a pravděpodobnost přítomnosti objektu v buňce. Vzhledem k tomu, že mnoho buněk předpovídá stejnou položku s různými predikcemi ohraničujícího rámečku, tato technika značně omezuje výpočet, protože jak detekci, tak rozpoznání zpracovávají buňky z obrázku.
Vytváří však mnoho duplicitních předpovědí. K vyřešení tohoto problému používá YOLO nemaximální potlačení. YOLO potlačí všechny ohraničující rámečky s nižším skóre pravděpodobnosti v nemaximálním potlačení.
YOLO to dělá tak, že prozkoumá pravděpodobnostní skóre spojené s každou možností a vybere tu s nejvyšším skóre. Ohraničující rámečky s největším průsečíkem nad Unií s aktuálním ohraničujícím rámečkem s vysokou pravděpodobností jsou pak potlačeny.
Tento proces pokračuje, dokud nejsou ohraničovací rámečky dokončeny.
Různé varianty YOLO
Podíváme se na některé z nejběžnějších verzí YOLO. Začněme.
1. YOLOv1
Původní verze YOLO byla oznámena v roce 2015 v publikaci „Podíváte se jen jednou: Jednotná detekce objektů v reálném čase“ od Josepha Redmona, Santoshe Divvaly, Rosse Girshicka a Aliho Farhadiho.
Díky své rychlosti, přesnosti a schopnosti učit se YOLO rychle ovládlo oblast identifikace objektů a stalo se nejpoužívanějším algoritmem. Spíše než aby se autoři zabývali detekcí objektů jako klasifikačním problémem, přistoupili k ní jako k regresnímu problému s geograficky oddělenými ohraničujícími rámečky a souvisejícími pravděpodobnostmi tříd, které vyřešili pomocí jediné nervová síť.
YOLOv1 zpracovával fotografie rychlostí 45 snímků za sekundu v reálném čase, zatímco menší varianta, Fast YOLO, zpracovávala rychlostí 155 snímků za sekundu a stále dosahovala dvojnásobného mAP oproti jiným detektorům v reálném čase.
2. YOLOv2
O rok později, v roce 2016, Joseph Redmon a Ali Farhadi vydali YOLOv2 (také známý jako YOLO9000) v novinách „YOLO9000: Lepší, rychlejší, silnější. "
Schopnost modelu předpovídat až 9000 9000 různých kategorií položek, zatímco stále běží v reálném čase, mu vynesla označení 19 XNUMX. Nejen, že nová verze modelu byla simultánně trénována na detekci objektů a klasifikaci datových sad, ale také získala Darknet-XNUMX jako novou základní linii. Modelka.
Protože YOLOv2 měl také velký úspěch a rychle se stal dalším nejmodernějším modelem rozpoznávání objektů, začali další inženýři experimentovat s algoritmem a vyrábět své vlastní, jedinečné verze YOLO. Některé z nich budou diskutovány na různých místech tohoto příspěvku.
3. YOLOv3
V novinách"YOLOv3: Postupné zlepšování“ Joseph Redmon a Ali Farhadi zveřejnili novou verzi algoritmu v roce 2018. Byla postavena na architektuře Darknet-53. Nezávislé logistické klasifikátory nahradily aktivační mechanismus softmax v YOLOv3.
Binární ztráta zkřížené entropie byla použita během tréninku. Darknet-19 byl vylepšen a přejmenován na Darknet-53, který má nyní 53 konvolučních vrstev. Kromě toho byly předpovědi prováděny na třech různých měřítcích, což pomohlo YOLOv3 zvýšit jeho přesnost při předpovídání malých věcí.
YOLOv3 byla konečná verze YOLO Josepha Redmona, protože se rozhodl nepracovat na žádných dalších vylepšeních YOLO (ani v oblasti počítačového vidění), aby se vyhnul tomu, že jeho práce bude mít škodlivý vliv na svět. Nyní se většinou používá jako výchozí bod pro konstrukci jedinečných architektur detekce objektů.
4. Yolov4
Alexey Bochkovskiy, Chien-Yao Wang a Hong-Yuan Mark Liao publikovali „YOLOv4: Optimální rychlost a přesnost detekce objektů“ v dubnu 2020, což byla čtvrtá iterace algoritmu YOLO.
Jako součást architektury SPDarknet53 byly představeny vážená zbytková připojení, mezistupňová a částečná připojení, křížová minidávková normalizace, self-adversarial training, mish aktivace, drop block a CIoU ztráta.
YOLOv4 je potomkem rodiny YOLO, nicméně byl vyvinut samostatnými vědci (nikoli Joseph Redmon a Ali Farhadi). Páteř SPDarknet53, sdružování prostorových pyramid, agregace cest PANet jako krk a hlava YOLOv3 tvoří jeho architekturu.
V důsledku toho ve srovnání se svými mateřskými, YOLOv3, YOLOv4 dosahují o 10 % vyšší průměrné přesnosti a o 12 % lepší metriky snímků za sekundu.
5. YOLOv5
YOLOv5 je projekt s otevřeným zdrojovým kódem, který zahrnuje řadu modelů identifikace objektů a algoritmů založených na modelu YOLO, který byl předtrénován na datové sadě COCO.
YOLOv5 je sbírka modelů identifikace objektů ve složeném měřítku vyškoleni na datové sadě COCO, se snadnými funkcemi pro TTA, sestavování modelu, vývoj hyperparametrů a export do ONNX, CoreML a TFLite. Protože YOLOv5 neimplementuje ani nevyvíjí žádné jedinečné přístupy, formální dokument nemohl být zveřejněn. Je to jednoduše rozšíření PyTorch od YOLOv3.
Ultranytics využila tohoto scénáře k propagaci „nové verze YOLO“ pod svým sponzorstvím. Protože je k dispozici také pět předtrénovaných modelů, je domovská stránka YOLOv5 poměrně přímočará a profesionálně strukturovaná a napsaná, s řadou lekcí a návrhů pro školení a používání modelů YOLOv5.
YOLO omezení
I když se YOLO jeví jako nejlepší technika řešení detekce objektu problémy, má řadu nevýhod. Protože každá mřížka může identifikovat pouze jednu položku, YOLO má potíže s detekcí a oddělením malých věcí na obrázcích, které se vyskytují ve skupinách. Malé věci v hejnech, jako je hejno mravenců, je pro YOLO obtížné identifikovat a lokalizovat.
Ve srovnání s výrazně pomalejšími metodami identifikace objektů, jako je Fast RCNN, se YOLO rovněž vyznačuje menší přesností.
Začněte používat YOLOv5
Pokud máte zájem vidět YOLOv5 v akci, podívejte se na oficiální GitHub a YOLOv5 v PyTorch.
Proč investovat do čističky vzduchu?
Počáteční verze YOLOv5 je extrémně rychlá, výkonná a snadno se používá. Přestože YOLOv5 nepřidává žádnou novou modelovou architekturu do rodiny YOLO, poskytuje nový rámec pro školení a nasazení PyTorch, který vylepšuje stav techniky pro detektory objektů.
Kromě toho je YOLOv5 extrémně uživatelsky přívětivý a je připraven k použití na zakázkových objektech.
Napsat komentář