Dopravní značky zobrazené na silnicích hrají důležitou roli v našem životě při řízení. Poskytují kritické informace pro účastníky silničního provozu. To od nich postupně vyžaduje, aby regulovali své chování při řízení a zajistili, aby přísně dodržovali aktuálně vynucovaná silniční pravidla, aniž by to způsobilo jakékoli potíže ostatním řidičům a chodcům. Klasifikace dopravních značek se používá k detekci a klasifikaci dopravních značek, aby předem informovala a varovala řidiče, aby se vyhnul porušení pravidel. Existují určité nevýhody stávajících systémů používaných pro klasifikaci, jako jsou nesprávné predikce, náklady na hardware a údržbu, které navrhovaný systém do značné míry řeší. Navržený přístup implementuje algoritmus klasifikace dopravních značek využívající konvoluční neuronovou síť. Skládá se také z funkce detekce dopravní značky webovou kamerou. Řidič tak bude moci sledovat značku blízko svých očí na displeji a ušetří si tak čas při každé ruční kontrole dopravní značky.

Úvod

Algoritmy strojového učení nabyly v dnešní době na významu. Filtrování spamu, porozumění řeči, rozpoznávání obličeje, detekce dopravních značek jsou jen některé příklady, kde je nasazeno strojové učení. V dopravních zónách lze k automatické identifikaci dopravních značek použít rozpoznávání a klasifikaci dopravních značek. Toto provede systém automaticky, jakmile je rozpoznána dopravní značka a zobrazí se její název. Takže i když řidič přehlédne jakoukoli značku nebo dojde k výpadku koncentrace, bude detekován. To pomáhá odpovídajícím způsobem varovat řidiče a zakázat určité akce, jako je překročení rychlosti. To také odlehčuje řidiče, a tím zvyšuje jeho pohodlí. Tedy zajištění a dodržování kontroly dopravního značení a jeho dodržování. Dopravní značky nám skutečně poskytují množství informací a podle toho nás vedou, abychom se mohli bezpečně pohybovat. Klasifikace dopravních značek je velmi užitečná v automatických asistenčních systémech řidiče.

Konvoluční neuronová síť je třída sítí hlubokého učení, které se používají ke zkoumání a kontrole vizuálních snímků. Používá se k trénování modelu klasifikace a rozpoznávání obrazu kvůli jeho vysoké přesnosti a přesnosti.

II. PŘEHLED LITERATURY

V dnešním světě se identifikace dopravních značek stala důležitou součástí našeho života. Vzhledem k rostoucímu provozu, pro zajištění bezpečnosti všech a pro automatickou jízdu v budoucnu, je klasifikace dopravních značek nanejvýš nezbytná. V oblasti rozpoznávání dopravních a dopravních značek byl proveden značný výzkum. V roce 1987 provedli Akatsuka a Imai první výzkum na téma „Rozpoznávání dopravních značek“, kde se pokusili vybudovat základní systém, který by dokázal rozpoznávat dopravní značky a upozorňovat řidiče a zajišťovat jeho/její bezpečnost. To však bylo použito k zajištění automatického rozpoznání pouze některých specifických dopravních značek.

ČTĚTE VÍCE
Je lepší mít automatické zastavení zapnuté nebo vypnuté?

Rozpoznávání dopravních značek se původně objevilo ve formě pouze rozpoznávání omezení rychlosti v roce 2008. Tyto symboly dokázaly detekovat pouze kruhové značky s omezením rychlosti. Na druhou stranu později byly navrženy systémy, které prováděly detekci na značkách předjíždění. Tato technologie byla k dispozici ve Volkswagenu Phaeton a v roce 2012 ve Volvu S80, V70 a mnoha dalších. Ale hlavní nevýhodou těchto systémů bylo, že nedokázaly detekovat značky omezení města, protože byly většinou ve formě směrových značek. V současné době se však očekává, že takové systémy budou přítomny v budoucích automobilech, které pomohou řidičům při řízení.

V [1] autoři použili systém zpracování barev ke snížení vlivu jasu a stínu na snímky. Toto byl vůbec první výzkum, který na toto téma provedli autoři Akatsuka a Imai. V [2] autoři provedli průzkum detekce a rozpoznávání dopravních značek, kde se pro účely klasifikace používá HOG (Histogram of Oriented Gradients). V [3] byla provedena kompletní studie různých algoritmů rozpoznávání dopravních značek, kde nejvyšší přesnost (99.46 %) byla získána pomocí MCDNN (Multi-column Deep Neural Network). V [4] autoři vyvinuli model, kde obrázky nejprve převádějí do šedé stupnice a poté tyto obrázky filtrují pomocí zjednodušených Gaborových vlnek. Gabor filtry se používají k extrakci prvků. Tyto vlnky jsou důležité, protože pomáhají minimalizovat součin jejich standardní odchylky v časovém i frekvenčním mapování. Autoři extrahovali oblasti zájmu pro účely rozpoznání a klasifikovali znaky pomocí „Support Vector Machine“ (SVM).

V [5] autoři extrahovali oblasti zájmu ve fázi detekce a dále zkoumali tvary takových oblastí. Zde v klasifikačním systému vzali oblasti zájmu a zařadili je do různých tříd.

V [6] autoři vytvořili modul, který se skládá z mnoha konvolucí. Zkombinovali jádro 1*3 a jádro 3*1 a nakonec je spojili s jádrem 1*1, aby získali jádro 3*3. To bylo použito k extrahování více funkcí a tím ke snížení počtu parametrů. V [7] autor zhodnotil metody detekce dopravních značek a rozdělil je na 3 typy metod: metody barvy, tvaru a metody založené na učení. V [8] autor použil algoritmus počtu vrcholů k detekci a rozpoznání kruhových dopravních značek.

V [9] se autoři pokusili vytvořit klasifikační model využívající architekturu Enhanced LeNet-5, která se skládá ze dvou po sobě jdoucích vrstev konvoluce (před vrstvou MaxPooling) pro extrahování prvků vysoké úrovně z obrazu. Použili také techniku ​​​​rozšiřování dat, aby byla datová sada stabilní. V [10] autoři použili techniku ​​segmentace barev a detekci založenou na RGB, která se používá k identifikaci dopravních značek na vozovce. Použitý optimalizátor byl „Stochastic Gradient Descent“ s Nesterov Momentum. Pro upozornění řidiče na dopravní značku byl implementován systém převodu textu na řeč. Využili také systém GPU (grafická procesorová jednotka) jako součást hardwaru. V [11] se autoři pokusili vygenerovat datovou sadu pro arabské dopravní značky a vytvořit tak model CNN pro rozpoznávání arabských značek.

ČTĚTE VÍCE
Proč Nissan přestal Kicks?

III. METODOLOGIE

A. Datový soubor dopravních značek

Než přejdeme k detekci nebo klasifikaci, nejdůležitější částí je dostupnost zobecněného souboru dat. Pomocí této datové sady je trénován predikční model a pro testovací datovou sadu jsou prováděny predikce. Tabulka I níže ukazuje ukázkové datové sady:

TABULKA I Informace o datové sadě

V této éře umělé inteligence se lidé stávají více závislými na technologii. Díky vylepšené technologii nadnárodní společnosti jako Google, Tesla, Uber, Ford, Audi, Toyota, Mercedes-Benz a mnoho dalších pracují na automatizaci vozidel. Snaží se vyrábět přesnější autonomní vozidla nebo vozidla bez řidiče. Všichni možná znáte samořiditelná auta, kde se vozidlo samo chová jako řidič a nepotřebuje žádné lidské vedení, aby se rozjelo po silnici. Není špatné myslet na bezpečnostní aspekty – možnost vážných nehod způsobených stroji. Ale žádné stroje nejsou přesnější než lidé. Výzkumníci používají mnoho algoritmů, aby zajistili 100% bezpečnost a přesnost silničního provozu. Jedním z takových algoritmů je rozpoznávání dopravních značek, o kterém mluvíme v tomto blogu.

Když vyrazíte na silnici, vidíte různé dopravní značky, jako jsou semafory, odbočte vlevo nebo vpravo, rychlostní limity, zákaz předjíždění těžkých vozidel, zákaz vjezdu, přechody pro děti atd., které musíte pro bezpečnou jízdu dodržovat. Podobně musí autonomní vozidla také interpretovat tyto znaky a rozhodovat se, aby dosáhla přesnosti. Metodika rozpoznání, do které třídy dopravní značka patří, se nazývá klasifikace dopravních značek.

V tomto projektu Deep Learning vytvoříme model pro klasifikaci dopravních značek dostupných na obrázku do mnoha kategorií pomocí konvoluční neuronové sítě (CNN) a knihovny Keras.

Traffic Sign Classification with Keras and Deep Learning - PyImageSearch

Datová sada pro rozpoznávání dopravních značek

Obrazová datová sada se skládá z více než 50,000 43 snímků různých dopravních značek (rychlostní omezení, přechody, dopravní signály atd.) V datové sadě pro klasifikaci snímků je přítomno přibližně 314.36 různých tříd. Třídy datových sad se liší velikostí, protože některé třídy mají velmi málo obrázků, zatímco jiné mají obrovské množství obrázků. Stažení datové sady nezabere mnoho času a místa, protože velikost souboru je přibližně XNUMX MB. Obsahuje dvě samostatné složky, vlak a test, kde složka vlak obsahuje třídy a každá kategorie obsahuje různé obrázky.

ČTĚTE VÍCE
Jaký je nejčastější problém BMW X3?

Traffic Signs Recognition

Datová sada Kaggle pro tento projekt si můžete stáhnout z níže uvedeného odkazu.

Předpoklady pro rozpoznávání dopravních značek

Abyste tomuto projektu porozuměli, měli byste mít určité předchozí znalosti knihoven Deep learning, jazyka Python a CNN. Pokud tyto techniky neznáte, můžete kliknout zde:

Nainstalujte všechny tyto balíčky, abyste mohli začít s projektem:

pip install tensorflow pip install tensorflow keras pip install tensorflow sklearn pip install tensorflow matplotlib pip install tensorflow pandas pip install tensorflow pil

Workflow

K vytvoření našeho modelu klasifikace dopravních značek musíme postupovat podle následujících 4 kroků:

  • Průzkum datové sady
  • Budova modelu CNN
  • Školení a ověřování modelů
  • Testování modelu

Průzkum datové sady

V naší složce „vlak“ je k dispozici přibližně 43 podsložek (v rozmezí od 0 do 42) a každá podsložka představuje jinou třídu. Máme modul OS, který pomáhá při iteraci všech obrázků s jejich příslušnými třídami a štítky. K otevření obsahu nápadů do pole používáme knihovnu PIL.

importovat numpy jako np
import pandy jako pd import matplotlib.pyplot as plt import tensorflow jako tf z PIL import Image import OS ze sklearn.model_selection import train_test_split z keras.utils import do_categorical z keras.models import Sekvenční import z keras.layers Conv2D, MaxPool2D, Dense , Dropout data = [] labels = [] cur_path = os.getcwd() for i in range(classes): path = os. path.join(cur_path,'train', str(i)) images = os.listdir(path) for a in images: try: image = Image.open(path + ''+ a) image = image.resize(( 30,30)) image = np.array(image) data.append(image) labels.append(i) kromě: print("Chyba při načítání obrázku") data = np.array(data) labels = np.array(labels )

Nakonec musíme uložit každý obrázek s odpovídajícími štítky do seznamů. Pole NumPy je potřeba k dodání dat do modelu, takže tento seznam převedeme na pole. Nyní je tvar našich dat (39209, 30, 30, 3), kde 39209 představuje počet obrázků, 30*30 představuje velikosti obrázků v pixelech a poslední 3 představují hodnotu RGB (dostupnost barevných dat) .

print(data.shape, labels.shape) #Rozdělení trénovací a testovací datové sady X_t1, X_t2, y_t1, y_t2 = train_test_split(data, štítky, velikost_testu=0.2, náhodný_stav=42) print(X_t1.tvar, X_t2.tvar, y_t1. tvar, y_t2.tvar)
#Převod štítků do jednoho horkého kódování y_t1 = to_categorical(y_t1, 43) y_t2 = to_categorical(y_t2, 43)

Výstup

Často kladené otázky

Q1. Jaká technologie se používá při rozpoznávání dopravních značek?

ČTĚTE VÍCE
Jaké jsou příznaky špatné diody alternátoru?

Odpověď: Rozpoznávání dopravních značek využívá technologii počítačového vidění, zejména zpracování obrazu a techniky strojového učení. Konvoluční neuronové sítě (CNN) se běžně používají pro extrakci a klasifikaci prvků. Kroky předběžného zpracování, jako je vylepšení obrazu a segmentace, se používají ke zlepšení detekce znaků. Vycvičený model analyzuje zachycené snímky nebo video snímky, aby přesně identifikoval a interpretoval různé dopravní značky.

Q2. Co dělá rozpoznávání dopravních značek?

Odpověď: Rozpoznávání dopravních značek je aplikace pro počítačové vidění, jejímž cílem je automaticky detekovat a interpretovat dopravní značky z obrázků nebo video streamů zachycených kamerami na vozidlech nebo v chytré infrastruktuře. Pomáhá řidičům poskytováním informací v reálném čase o rychlostních limitech, stopkách, varováních a dalších regulačních značkách, čímž zvyšuje bezpečnost silničního provozu a snižuje pravděpodobnost nehod.

Proč investovat do čističky vzduchu?

V tomto článku jsme vytvořili model CNN pro identifikaci dopravních značek a jejich klasifikaci s 95% přesností. Pozorovali jsme změny přesnosti a ztrát ve velkém souboru dat. GUI tohoto modelu usnadňuje pochopení toho, jak jsou znaky klasifikovány do několika tříd.

Reference

Obrázek 1: https://www.pyimagesearch.com/2019/11/04/traffic-sign-classification-with-keras-and-deep-learning/

Obrázek 2: Zdroj:- https://steemit.com/programming/@kasperfred/looking-at-german-traffic-signs

Média uvedená v tomto článku nejsou ve vlastnictví Analytics Vidhya a jsou používána podle uvážení autora.

PODOBNÉ ČLÁNKY

Blogathon_40

Doporučeno pro tebe
  • Staňte se úplným vědcem v oblasti dat
  • Newbie’s Deep Learning Project pro rozpoznání ručně psaných číslic
  • Základy strojového učení pro nadšence datové vědy
  • Průvodce pro začátečníky konvoluční neuronovou sítí s implementací v Pythonu
  • Hluboké učení: Jak to začalo, jaké jsou různé varianty a jak způsobilo vážné narušení všech existujících technologií?
  • Docházkový systém rozpoznávání tváře pomocí Pythonu (s kódem)
  • Vědecký obor počítačového vidění