Содержание
Производство дорожных знаков в Беларуси
Регистрация
Вход
Каталог
производство дорожных знаков
- Все регионы
- Брест
- Витебск
- Гомель
- Гродно
- Могилев
- Минск
- Все города
Минская область
Березино
Березинский р-н
Борисов
Борисовский р-н
Вилейка
Вилейский р-н
Воложин
Воложинский р-н
Городея
Дзержинск
Дзержинский р-н
Жодино
Заславль
Ивенец
Клецк
Клецкий р-н
Копыль
Копыльский р-н
Красная Слобода
Крупки
Крупский р-н
Логойск
Логойский р-н
Любанский р-н
Любань
Марьина Горка
Минск(7)
Минский р-н(2)
Молодечненский р-н
Молодечно(1)
Мядель
Мядельский р-н
Нарочь
Негорелое
Несвиж
Несвижский р-н
Плещеницы
Пуховичский р-н
Радошковичи
Раков
Руденск
Слуцк
Слуцкий р-н
Смиловичи
Смолевичи
Смолевичский р-н
Солигорск
Солигорский р-н
Старобин
Стародорожский р-н
Старые Дороги
Столбцовский р-н
Столбцы
Узда
Узденский р-н
Уречье
Фаниполь
Холопеничи
Червенский р-н
Червень
Брестская область
Антополь
Барановичи
Барановичский р-н
Белоозерск
Береза
Березовский р-н
Брест
Брестский р-н
Высокое
Ганцевичи
Ганцевичский р-н
Городище
Давид-Городок
Дрогичин
Дрогичинский р-н
Жабинка
Жабинковский р-н
Иваново
Ивановский р-н
Ивацевичи
Ивацевичский р-н
Каменец
Каменецкий р-н
Кобрин
Кобринский р-н
Коссово
Лунинец
Лунинецкий р-н
Ляховичи
Ляховичский р-н
Малорита
Малоритский р-н
Микашевичи
Пинск(1)
Пинский р-н
Пружанский р-н
Пружаны
Ружаны
Столин
Столинский р-н
Телеханы
Витебская область
Барань
Бегомль
Бешенковичи
Бешенковичский р-н
Богушевск
Браслав
Браславский р-н
Верхнедвинск
Верхнедвинский р-н
Витебск(1)
Витебский р-н
Глубокое
Глубокский р-н
Городок
Городокский р-н
Дисна
Докшицкий р-н
Докшицы
Дубровенский р-н
Дубровно
Езерище
Коханово
Лепель
Лепельский р-н
Лиозненский р-н
Лиозно
Миорский р-н
Миоры
Новолукомль
Новополоцк(1)
Оболь
Орша
Оршанский р-н
Освея
Подсвилье
Полоцк
Полоцкий р-н
Поставский р-н
Поставы
Россонский р-н
Россоны
Сенненский р-н
Сенно
Толочин
Толочинский р-н
Ушачи
Ушачский р-н
Чашники
Чашникский р-н
Шарковщина
Шарковщинский р-н
Шумилино
Шумилинский р-н
Гомельская область
Брагин
Брагинский р-н
Буда-Кошелево
Буда-Кошелёвский р-н
Василевичи
Ветка
Ветковский р-н
Гомель
Гомельский р-н
Добруш
Добрушский р-н
Ельск
Ельский р-н
Житковичи
Житковичский р-н
Жлобин
Жлобинский р-н
Калинковичи
Калинковичский р-н
Корма
Кормянский р-н
Лельчицкий р-н
Лельчицы
Лоев
Лоевский р-н
Мозырский р-н
Мозырь
Мозырь-11
Наровля
Наровлянский р-н
Октябрьский
Октябрьский р-н
Петриков
Петриковский р-н
Речица
Речицкий р-н
Рогачев
Рогачевский р-н
Светлогорск
Светлогорский р-н
Туров
Хойники
Хойникский р-н
Чечерск
Чечерский р-н
Гродненская область
Б. Берестовица
Березовка
Берестовицкий р-н
Волковыск
Волковысский р-н
Вороново
Вороновский р-н
Гродненский р-н
Гродно
Дятлово
Дятловский р-н
Желудок
Зельва
Зельвенский р-н
Ивье
Ивьевский р-н
Козловщина
Кореличи
Кореличский р-н
Красносельский
Лида
Лидский р-н
Мир
Мостовский р-н
Мосты
Новогрудок
Новогрудский р-н
Новоельня
Острино
Островец
Островецкий р-н
Ошмянский р-н
Ошмяны
Радунь
Россь
Свислочский р-н
Свислочь
Скидель
Слоним
Слонимский р-н
Сморгонский р-н
Сморгонь
Сопоцкин
Щучин
Щучинский р-н
Юратишки
Могилевская область
Белыничи
Белыничский р-н
Бобруйск
Бобруйский р-н
Быхов
Быховский р-н
Глуск
Глусский р-н
Горецкий р-н
Горки
Дрибин
Дрибинский р-н
Кировск
Кировский р-н
Климовичи
Климовичский р-н
Кличев
Кличевский р-н
Костюковичи
Костюковичский р-н
Краснополье
Краснопольский р-н
Кричев
Кричевский р-н
Круглое
Круглянский р-н
Могилев
Могилевский р-н
Мстиславль
Мстиславский р-н
Осиповичи
Осиповичский р-н
Славгород
Славгородский р-н
Хотимск
Хотимский р-н
Чаусский р-н
Чаусы
Чериков
Чериковский р-н
Шклов
Шкловский р-н
МИГ-ЛТД Унитарное предприятие
дорожные указатели производство, дорожный знак школа, жд. .. и монтаж автодорожных, железнодорожных, светодиодных знаков. Производство… железнодорожных, светодиодных знаков. Производство металлоизделий. нанесение дорожной…
Амониер ООО
Светофоры дорожные. Дорожные знаки. Светодиодная продукция. Светодиодные указатели. Светодиодные информационные табло.
ДЭУ № 61 Филиал РУП «Минскавтодор-Центр»
Устройство дорог, переездов из ПГС и асфальтобетонной крошки. Устройство тротуаров из асфальтобетона и плитки, дорожных знаков. Устройство ограждений любых типов
ДРСУ № 194 Филиал КУП Минскоблдорстрой
цена, песок природный,производство и укладка тротуарной плитки… дорог, установка знаков дорожного движения, фрезерование покрытия,…
Дорожно-строительное управление № 43 Филиал ОАО Строительно-монтажный трест № 8
Производство асфальтобетонных смесей. Аренда дорожно-строительной техники. Строительство дорог.
Дорожно-строительное управление № 8 Филиал ОАО Дорожно-строительный трест № 4
Производство асфальтобетонных смесей.
ООО «Пластиковая тара » представительство в Республике Беларусь
упаковочные изделия, производство пластиковой упаковки, производство пластиковой…
Фабрика знаков ЗАО
нанесение дорожной разметки,производство дорожных знаков, продажа дорожных… дорожной разметки,производство дорожных знаков, продажа дорожных знаков,… разметки,производство дорожных знаков, продажа дорожных знаков, производство…
Витебскоблдорстрой КУП
битумные эмульсии, производство дорожных знаков, изготовление знаков… эмульсии, производство дорожных знаков, изготовление знаков информационных,… производство дорожных знаков, изготовление знаков информационных, производство…
Сенатэкс ООО
нанесение дорожной разметки,производство дорожных знаков,производство светофоров … дорожной разметки,производство дорожных знаков,производство светофоров беларусь. .. разметки,производство дорожных знаков,производство светофоров беларусь рб…
«100 игр» ООО
для детей, производство оборудования для детских игровых…
Найдено 11 организаций
Текущие фильтры
Вы искали:производство дорожных знаков
Новости компаний
Каталог организаций Беларусинфо – самый полный и подробный справочник организаций в Беларуси. У нас вы найдете описания деятельности, адреса, телефоны, схемы проезда и официальные сайты компаний, которые предлагают услуги и товары в разделе производство дорожных знаков в Беларуси. Сейчас такие услуги и товары предоставляют 11 организаций и список постоянно увеличивается.
ПДД 2021 | Предупреждающие знаки
Правила дорожного движения Республики Беларусь 2021
Приведенные в этом разделе Правила дорожного движения — действующие Правила дорожного движения Республики Беларусь 2021, улучшенные гиперссылками и всплывающими окнами подсказок (учтены изменения и дополнения указа № 349 Президента РБ от 10 августа 2015 г. и последующие указы).
Источник получения информации — Национальный реестр правовых актов Республики Беларусь. Эталонный банк данных правовой информации Республики Беларусь.
В Правилах дорожного движения выделены специальные активные элементы. Активный элемент текста в ПДД РБ — это указание в тексте Правил на другой пункт Правил, на номер дорожного знака или на термин и другие указания. Графический активный элемент в ПДД — это все изображения дорожных знаков и дорожной разметки, а также изображения дорожных светофоров.
В ПДД РБ к активному элементу прикрепляется окно подсказки и гиперссылка.
В ПДД РБ есть неявные термины. Таким неявным термином ПДД, например, является термин «Затор», а его определение: «Затор — скопление остановившихся на проезжей части дороги других транспортных средств» очевидно из пункта 53.2 ПДД:
«53.2. при вынужденной остановке транспортного средства на проезжей части дороги и в местах, где остановка запрещена, за исключением прекращения движения транспортного средства в связи со скоплением остановившихся на проезжей части дороги других транспортных средств (далее — затор)».
Отметим, что дополнительный акцент на неявных терминах позволяет лучше понимать Правила дорожного движения! Таких неявных терминов в ПДД РБ мы обнаружили около 20.
Интерактивность в онлайн ПДД РБ обеспечивается следующим образом:
- при попадании курсора мыши на активный элемент текста ПДД появляется всплывающее окно подсказки с соответствующей дополнительной информацией. В бумажном варианте такую информацию зачастую приходится искать, перелистывая страницу за страницей книжки Правил дорожного движения;
- при попадании курсора мыши на графический активный элемент (дорожный знак, разметка, светофор) появляется всплывающее окно подсказки с соответствующей дополнительной информацией по этому графическому элементу Правил дорожного движения;
- переход по ссылке с любого активного элемента текста ПДД на соответствующую электронную страницу Правил дорожного движения.
Во всплывающих окнах подсказки могут также использоваться неявные термины ПДД, различные Группировки ПДД и креативные Запоминалки ПДД.
С разделом ПДД Беларусь тесно связан другой раздел сайта «Правила дорожного движения 2020» — Экспресс-тесты. Экспресс-тесты — новый вид тестирования по белорусским Правилам дорожного движения. Этот вид тестирования охватывает все пункты ПДД и проверяет тестируемого на точное знание важных требований Правил. В то же время экспресс-тесты по ПДД — это быстрые тесты, не отнимающие много времени на процесс тестирования. Экспресс-тесты проходятся легко и быстро. Экспресс-вопрос в электронном виде — это высокотехнологичный, информативный и обучающий вопрос. По сравнению с классическим тестированием по ПДД вида «Вопрос — Иллюстрация (если есть) — Варианты ответов», экспресс-тестирование является альтернативным тестированием и имеет свои преимущества.
Выберите ниже то, что интересует Вас в «ПДД Беларусь» сейчас: главы Правил, приложения к Правилам, указы Президента РБ:
Раскрыть все Указы Президента РБ в разделе «ПДД Беларусь»
Раскрыть все Главы ПДД (27 глав) в разделе «ПДД Беларусь»
Раскрыть Приложение 1 «Дорожные светофоры» в разделе «ПДД Беларусь»
Раскрыть все главы и параграфы Приложения 2 «Дорожные знаки» (2 главы, по 7 параграфов в каждой главе) в разделе «ПДД Беларусь»
Раскрыть все главы Приложения 3 «Дорожная разметка» (3 главы) в разделе «ПДД Беларусь»
Раскрыть все главы Приложения 4 «Перечень неисправностей транспортных средств» (7 глав) в разделе «ПДД Беларусь»
Раскрыть Приложение 5 «Опознавательные знаки транспортных средств» в разделе «ПДД Беларусь»
Перейти к разделу сайта Экспресс-тесты.
Небольшая справка по ПДД РБ:
В указах Президента РБ по Правилам дорожного движения не хватает иллюстраций. В 2009 году появилось научно-практическое издание — комментарий к Правилам дорожного движения размером в 560 страниц с черно-белыми иллюстрациями.
Комментарий к Правилам дорожного движения на настоящий момент не отражает важных изменений, внесенных в Правила дорожного движения указом Президента Республики Беларусь от 13 октября 2014 г. № 483 «О внесении изменений и дополнений в Правила дорожного движения».
БрестСИТИ.
Новости
Как обнаруживать и классифицировать дорожные знаки с помощью TensorFlow — Automatic Addison
В этом руководстве мы создадим приложение для обнаружения и классификации дорожных знаков. К концу этого урока вы сможете собрать это:
Наша цель — создать ранний прототип системы, которую можно будет использовать в беспилотном автомобиле или другом автономном транспортном средстве.
Содержание
- Самоуправляемые автомобили/автономные транспортные средства
- Python 3.7 или выше
- У вас установлен TensorFlow 2. Я использую Tensorflow 2.3.1.
- Пользователи Windows 10, см. этот пост.
- Если вы хотите использовать поддержку графического процессора для установки TensorFlow, вам необходимо выполнить следующие действия. Если у вас возникли проблемы с выполнением этих шагов, вы можете выполнить эти шаги (обратите внимание, что шаги меняются довольно часто, но общий процесс остается относительно таким же).
- Этот пост также может помочь вам настроить вашу систему, включая виртуальную среду в Anaconda (если вы решите пойти по этому пути).
Полезный совет
Когда вы работаете с учебниками по робототехнике или любой другой области техники, сосредоточьтесь на конечной цели . Сосредоточьтесь на подлинной, реальной проблеме, которую вы пытаетесь решить, а не на инструментах, которые используются для решения этой проблемы.
Не увязайте в попытках понять каждую деталь математики и библиотек, необходимых для разработки приложения.
Не застрять в кроличьих норах. Не пытайтесь выучить все сразу.
Вы пытаетесь создавать продукты, а не публиковать исследовательские работы . Сосредоточьтесь на входных данных, выходных данных и том, что алгоритм должен делать на высоком уровне. Как вы увидите в этом руководстве, вам не нужно изучать все аспекты компьютерного зрения, прежде чем разрабатывать надежную систему классификации дорожных знаков.
Установить и запустить работающий детектор дорожных знаков и классификатор; а позже, когда вы захотите усложнить свой проект или написать исследовательскую работу, не стесняйтесь вернуться к кроличьим норам, чтобы получить полное представление о том, что происходит под капотом.
Пытаться понять все до мельчайших деталей — все равно, что пытаться создать собственную базу данных с нуля, чтобы запустить веб-сайт, или пройти курс по двигателям внутреннего сгорания, чтобы научиться водить машину.
Начнем!
Первое, что нам нужно сделать, это найти набор данных дорожных знаков.
Мы будем использовать популярный набор данных немецкого теста распознавания дорожных знаков . Этот набор данных состоит из более чем 43 различных типов дорожных знаков и более 50 000 изображений. Каждое изображение содержит один дорожный знак.
Перейдите по этой ссылке и загрузите набор данных. Вы увидите три файла данных.
- Набор обучающих данных
- Набор проверочных данных
- Набор тестовых данных
Файлы данных представляют собой файлы .p (pickle).
Что такое файл рассола? При травлении вы конвертируете объект Python (словарь, список и т. д.) в поток символов. Этот поток символов сохраняется как файл .p. Этот процесс известен как сериализация.
Затем, если вы хотите использовать объект Python в другом скрипте, вы можете использовать библиотеку Pickle для преобразования этого потока символов обратно в исходный объект Python. Этот процесс известен как десериализация.
Наборы обучающих, проверочных и тестовых данных в компьютерном зрении могут быть большими, поэтому их консервация для сохранения на компьютере уменьшает объем памяти.
Нам нужно убедиться, что у нас установлены все программные пакеты.
Убедитесь, что у вас установлена NumPy , библиотека научных вычислений для Python.
Если вы используете Anaconda, вы можете ввести:
conda install numpy
Кроме того, вы можете ввести:
pip install numpy
Установите Matplotlib , библиотеку для построения графиков для Python.
Для пользователей Anaconda:
conda install -c conda-forge matplotlib
В противном случае вы можете установить так:
pip install matplotlib
Установить scikit-learn, библиотеку машинного обучения:
conda install -c conda -forge scikit-learn
Откройте новый файл Python с именем load_road_sign_data.py
Вот полный код системы обнаружения и классификации дорожных знаков:
# Проект: Как обнаружить и классифицировать дорожные знаки с помощью TensorFlow # Автор: Эддисон Сирс-Коллинз # Дата создания: 13 февраля 2021 г. # Описание: Эта программа загружает немецкий дорожный знак # Набор данных Recognition Benchmark import warnings # Контролировать всплывающие предупреждающие сообщения warnings. filterwarnings("ignore") # Игнорировать все предупреждения import matplotlib.pyplot as plt # Библиотека для построения графиков импортировать matplotlib.image как mpimg import numpy as np # Библиотека научных вычислений import pandas as pd # Библиотека для анализа данных import pickle # Преобразует объект в поток символов (т.е. сериализация) import random # Библиотека генератора псевдослучайных чисел from sklearn.model_selection import train_test_split # Разделить данные на подмножества from sklearn.utils import shuffle # Библиотека машинного обучения from subprocess import check_output # Позволяет запустить подпроцесс импортировать тензорный поток как tf # Библиотека машинного обучения from tensorflow import keras # Библиотека глубокого обучения from tensorflow.keras importlayers # Обрабатывает слои в нейронной сети from tensorflow.keras.models import load_model # Загружает обученную нейронную сеть from tensorflow.keras.utils import plot_model # Получить архитектуру нейронной сети # Откройте наборы обучающих, проверочных и тестовых данных с open(". /road-sign-data/train.p", mode='rb') как training_data: поезд = pickle.load (данные_обучения) с open("./road-sign-data/valid.p", mode='rb') как validation_data: действительный = pickle.load (validation_data) с open("./road-sign-data/test.p", mode='rb') как testing_data: тест = pickle.load (данные_тестирования) # Сохраняем функции и метки X_train, y_train = train['функции'], train['ярлыки'] X_valid, y_valid = действительный ['функции'], действительный ['ярлыки'] X_test, y_test = тест['функции'], тест['ярлыки'] # Вывести размеры обучающего набора данных # Не стесняйтесь раскомментировать эти строки ниже #print(X_train.форма) #print(y_train.форма) # Показать изображение из набора данных я = 500 #plt.imshow(X_train[i]) #plt.show() # Раскомментируйте эту строку, чтобы отобразить изображение #print(y_train[i]) # Перемешать набор данных изображения X_train, y_train = перемешивание (X_train, y_train) # Преобразование набора данных изображения RGB в оттенки серого X_train_grscale = np.sum (X_train/3, ось = 3, keepdims = True) X_test_grscale = np. sum (X_test/3, ось = 3, keepdims = True) X_valid_grscale = np.sum (X_valid/3, ось = 3, keepdims = True) # Нормализовать набор данных # Обратите внимание, что оттенки серого имеют диапазон от 0 до 255, где 0 означает черный, а # 255 быть белым X_train_grscale_norm = (X_train_grscale - 128)/128 X_test_grscale_norm = (X_test_grscale - 128)/128 X_valid_grscale_norm = (X_valid_grscale - 128)/128 # Отображение формы обучающих данных в оттенках серого #print(X_train_grscale.shape) # Показать образец изображения из набора данных в градациях серого я = 500 # функция сжатия удаляет оси длины 1 # (например, массивы типа [[[1,2,3]]] становятся [1,2,3]) #plt.imshow(X_train_grscale[i].squeeze(), cmap='серый') #plt.figure() #plt.imshow(X_train[i]) #plt.show() # Получить форму изображения # IMG_SIZE, IMG_SIZE, IMG_CHANNELS img_shape = X_train_grscale[i].shape # печать (img_shape) # Построить архитектуру сверточной нейронной сети (т.е. модель) cnn_model = tf.keras.Sequential() # Простой набор слоев cnn_model. add(tf.keras.layers.Conv2D(фильтры=32,kernel_size=(3,3), шаги = (3,3), input_shape = img_shape, активация = 'relu')) cnn_model.add(tf.keras.layers.Conv2D(фильтры=64,kernel_size=(3,3), активация='релу')) cnn_model.add(tf.keras.layers.MaxPooling2D(pool_size = (2, 2))) cnn_model.add(tf.keras.layers.Dropout(0.25)) cnn_model.add(tf.keras.layers.Flatten()) cnn_model.add(tf.keras.layers.Dense(128, активация='relu')) cnn_model.add(tf.keras.layers.Dropout(0.5)) cnn_model.add(tf.keras.layers.Dense(43, активация = 'сигмоид')) # 43 класса # Скомпилируйте модель cnn_model.compile (потеря = 'sparse_categorical_crossentropy', оптимизатор = ( keras.optimizers.Адам( 0,001, бета_1=0,9, beta_2=0,999, epsilon=1e-07, amsgrad=False)), metrics =[ 'точность']) # Обучить модель история = cnn_model.fit(x=X_train_grscale_norm, у=у_поезд, размер партии = 32, эпохи=50, подробный=1, validation_data = (X_valid_grscale_norm, y_valid)) # Показать значение потерь и метрики для модели на тестовом наборе данных оценка = cnn_model. evaluate (X_test_grscale_norm, y_test, подробный = 0) print('Точность теста: {:.4f}'.format(оценка[1])) # Построить статистику точности модели по данным обучения и проверки точность = история.история['точность'] val_accuracy = history.history['val_accuracy'] эпохи = диапазон (длина (точность)) ## Раскомментируйте эти строки ниже, чтобы показать статистику точности # line_1 = plt.plot(эпохи, точность, 'bo', label='Точность обучения') # line_2 = plt.plot(эпохи, val_accuracy, 'b', label='Точность проверки') # plt.title('Точность наборов данных для обучения и проверки') # plt.setp(line_1, linewidth=2.0, marker = '+', markersize=10.0) # plt.setp(line_2, linewidth=2.0, marker= '4', markersize=10.0) # plt.xlabel('Эпохи') # plt.ylabel('Точность') # plt.grid(Истина) # plt.legend() # plt.show() # Раскомментируйте эту строку, чтобы отобразить график # Сохраняем модель cnn_model.save("./road_sign.h5") # Перезагрузить модель модель = load_model('./road_sign.h5') # Получить прогнозы для тестового набора данных предсказанные_классы = np. argmax (cnn_model.predict (X_test_grscale_norm), ось = -1) # Получить индексы, которые мы будем строить y_true = y_тест # Нанесем некоторые прогнозы на набор тестовых данных для я в диапазоне (15): plt.subplot(5,3,i+1) plt.imshow(X_test_grscale_norm[i].squeeze(), cmap='серый', интерполяция='нет') plt.title("Прогноз {}, Фактический {}".format(predicted_classes[i], y_true[i]), размер шрифта=10) plt.tight_layout() plt.savefig('road_sign_output.png') plt.show()
Давайте рассмотрим каждый фрагмент кода в предыдущем разделе, чтобы понять, что происходит.
Загрузить данные изображения
Первое, что нам нужно сделать, это загрузить данные изображения из файлов pickle.
с open("./road-sign-data/train.p", mode='rb') as training_data: поезд = pickle.load (данные_обучения) с open("./road-sign-data/valid.p", mode='rb') как validation_data: действительный = pickle.load (validation_data) с open("./road-sign-data/test.p", mode='rb') как testing_data: тест = pickle. load (данные_тестирования)
Создание наборов данных для обучения, тестирования и проверки
Затем мы разделяем набор данных на набор для обучения, набор для тестирования и набор для проверки.
X_train, y_train = train['функции'], train['ярлыки'] X_valid, y_valid = действительный ['функции'], действительный ['ярлыки'] X_test, y_test = тест['функции'], тест['ярлыки'] печать (X_train.shape) печать (y_train.shape)
я = 500 plt.imshow (X_train [я]) plt.show() # Раскомментируйте эту строку, чтобы отобразить изображение
Перемешать обучающие данные
Перетасуйте набор данных, чтобы убедиться, что у нас нет нежелательных смещений и закономерностей.
X_train, y_train = shuffle(X_train, y_train)
Преобразование наборов данных из цветового формата RGB в оттенки серого
Наши изображения представлены в формате RGB. Мы конвертируем изображения в оттенки серого, чтобы нейронная сеть могла их легче обрабатывать.
X_train_grscale = np. sum (X_train/3, ось = 3, keepdims = True) X_test_grscale = np.sum (X_test/3, ось = 3, keepdims = True) X_valid_grscale = np.sum (X_valid/3, ось = 3, keepdims = True) я = 500 plt.imshow(X_train_grscale[i].squeeze(), cmap='серый') plt.figure() plt.imshow (X_train [я]) plt.show()
Нормализация наборов данных для ускорения обучения нейронной сети
Мы нормализуем изображения, чтобы ускорить обучение и повысить производительность нейронной сети.
X_train_grscale_norm = (X_train_grscale - 128)/128 X_test_grscale_norm = (X_test_grscale - 128)/128 X_valid_grscale_norm = (X_valid_grscale - 128)/128
Построение сверточной нейронной сети
В этом фрагменте кода мы строим архитектуру нейронной сети.
cnn_model = tf.keras.Sequential() # Обычный набор слоев cnn_model.add(tf.keras.layers.Conv2D(фильтры=32,kernel_size=(3,3), шаги = (3,3), input_shape = img_shape, активация = 'relu')) cnn_model.add(tf.keras.layers.Conv2D(фильтры=64,kernel_size=(3,3), активация='релу')) cnn_model. add(tf.keras.layers.MaxPooling2D(pool_size = (2, 2))) cnn_model.add(tf.keras.layers.Dropout(0.25)) cnn_model.add(tf.keras.layers.Flatten()) cnn_model.add(tf.keras.layers.Dense(128, активация='relu')) cnn_model.add(tf.keras.layers.Dropout(0.5)) cnn_model.add(tf.keras.layers.Dense(43, активация = 'сигмоид')) # 43 класса
Компиляция сверточной нейронной сети
Процесс компиляции устанавливает архитектуру модели и настраивает ее параметры.
cnn_model.compile (потеря = 'sparse_categorical_crossentropy', оптимизатор = ( keras.optimizers.Адам( 0,001, бета_1 = 0,9, бета_2 = 0,999, эпсилон = 1e-07, amsgrad = False)), метрики = [ 'accuracy'])
Обучение сверточной нейронной сети
Теперь мы обучаем нейронную сеть на обучающем наборе данных.
история = cnn_model.fit(x=X_train_grscale_norm, у=у_поезд, размер партии = 32, эпохи=50, подробный=1, validation_data = (X_valid_grscale_norm, y_valid))
Отобразить статистику точности
Затем мы посмотрим, насколько хорошо работает нейронная сеть. Точность на наборе тестовых данных составила ~95%. Вполне нормально!
оценка = cnn_model.evaluate(X_test_grscale_norm, y_test,verbose=0) print('Тестовая точность: {:.4f}'.format(score[1]))
точность = history.history['точность'] val_accuracy = history.history['val_accuracy'] эпохи = диапазон (длина (точность)) line_1 = plt.plot (эпохи, точность, «бо», метка = «Точность обучения») line_2 = plt.plot(эпохи, val_accuracy, 'b', label='Точность проверки') plt.title('Точность наборов данных для обучения и проверки') plt.setp (строка_1, ширина линии = 2,0, маркер = '+', размер маркера = 10,0) plt.setp (line_2, ширина линии = 2,0, маркер = '4', размер маркера = 10,0) plt.xlabel('Эпохи') plt.ylabel('Точность') plt.grid(Истина) plt.legend() plt.show() # Раскомментируйте эту строку, чтобы отобразить график
Сохранение сверточной нейронной сети в файл
Мы сохраняем обученную нейронную сеть, чтобы позднее использовать ее в другом приложении.
cnn_model. save("./road_sign.h5")
Проверка выходных данных
Наконец, мы взглянем на некоторые выходные данные, чтобы увидеть, как наша нейронная сеть работает с невидимыми данными. Вы можете видеть в этом подмножестве, что нейронная сеть правильно классифицировала 14 из 15 тестовых примеров.
# Перезагрузить модель модель = load_model('./road_sign.h5') # Получить прогнозы для тестового набора данных предсказанные_классы = np.argmax (cnn_model.predict (X_test_grscale_norm), ось = -1) # Получить индексы, которые мы будем строить y_true = y_тест # Нанесем некоторые прогнозы на набор тестовых данных для я в диапазоне (15): plt.subplot(5,3,i+1) plt.imshow(X_test_grscale_norm[i].squeeze(), cmap='серый', интерполяция='нет') plt.title("Прогноз {}, Фактический {}".format(predicted_classes[i], y_true[i]), размер шрифта=10) plt.tight_layout() plt.savefig('road_sign_output.png') plt.show()
Вот и все. Продолжайте строить!
нормативных знаков в соответствии с Книгой 5 OTM! Traffic Sign Canada, Mississauga: 905-274-2727
REGULATORY SIGNS
For Quotes & Orders Call:
905-274-2727 or 647-615-2727
By Email:
info@trafficsigncanada. ca
Дорожный знак Канады представляет собой весь спектр нормативных знаков в соответствии со спецификациями книги 5 Руководства по дорожному движению Онтарио. Эти знаки используются для обозначения или усиления правил дорожного движения, правил или требований, которые применяются либо в любое время, либо в определенное время или в определенных местах на улице. или шоссе, игнорирование которых может представлять собой нарушение, или вообще знаки, регулирующие поведение людей в местах, открытых для публики. Регулирующие знаки — это дорожные знаки, предназначенные для указания участникам дорожного движения, что они должны или должны делать (или не делать) при определенных обстоятельствах.
Обычные размеры: 60 см x 60 см и 60 см x 75 см.
Чтобы скачать книгу 5 Руководства по дорожному движению Онтарио — нормативные знаки НАЖМИТЕ ЗДЕСЬ
Дорожный знак изготавливает НОРМАТИВНЫЕ ЗНАКИ с использованием алюминиевых панелей толщиной 0,080 дюйма с закругленными углами и долговечной светоотражающей графикой 3M.