Дорожный рейтинг ОНФ: где в России лучшие и худшие дороги
Эксперты проекта «Дорожная инспекция ОНФ/Карта убитых дорог» по итогам проведенных в 2019 г. рейдов составили рейтинг городов России по качеству, безопасности и доступности дорог. В этом году общественники проверили качество гарантийных дорог, отремонтированных в том числе по приоритетному проекту «Безопасные и качественные дороги», общее состояние улично-дорожной сети, безопасность на дорогах в 56 городах, доступность городской среды проанализировали в 33 городах.
В 2019 г. Дорожная инспекция ОНФ начала работу 8 апреля в Севастополе, а завершила 13 сентября в Екатеринбурге. За это время общественные контролеры проехали 60 тыс. км по дорогам федерального, регионального и муниципального значений, оценив качество и безопасность дорожного покрытия в 55 регионах РФ.
Участники рейда проверили состояние гарантийных дорог, отремонтированных в 2014-2018 гг., и участков, отмеченных на интерактивном ресурсе ОНФ «Карта убитых дорог». Эксперты производили замеры ям, колеи, просадок и разрушений верхнего слоя покрытия, просадок и выступов люков и решеток ливневой канализации, швов и трещин, разрушений кромок покрытия, занижений обочин. Также общественники уделили внимание безопасности на дорогах и доступности городской среды.
Состояние дорог
Как и после предыдущих подобных проверок эксперты ОНФ составили рейтинг общего состояния улично-дорожной сети городов России. Лучшие дороги, как в 2015 и 2017 гг., оказались в Тюмени. На втором месте расположился Белгород, на третьем – Барнаул. Если Тюмень и Белгород традиционно находятся в верхних строчках рейтинга, то в Барнауле за последние два года качество дорог значительно улучшилось – в 2017 г. город занимал 31-ю позицию из 110.
На последнем месте оказалась Калуга. С 2015 г. город опускался в рейтинге все ниже и ниже: 21-е место из 116 в 2015 г., 30-е из 110 в 2017 г. и 56-е из 56 в 2019 г. Практически каждой улице здесь требуется замена верхнего слоя покрытия или хотя бы ямочный ремонт. Даже на гарантийных участках участники Дорожной инспекции ОНФ обнаружили существенные дефекты: ямы, разрушения верхнего слоя покрытия по шву, разрушения вблизи люков. Городские чиновники комментировать ситуацию с дорогами отказались.
Безопасность на дорогах
Во время проверок участники Дорожной инспекции ОНФ обращали внимание на наличие разметки, ее качество (уровень дневной и ночной видимости), обустройство пешеходных переходов и перекрестков, освещение.
По этому критерию лидирует Белгород. По мнению экспертов ОНФ, другим регионам следует перенять положительный опыт города в нанесении разметки, оборудовании пешеходных переходов и освещения, организации кругового движения и доступной среды.
Примечательно, что в Белгороде практически отсутствуют металлические заборы, которые портят вид исторической застройки в других городах. Вместо них используются аккуратные столбики. А правильно нанесенная разметка и применение композитных материалов для дорожной одежды позволяет водителям без труда ориентироваться на дороге, а пешеходам – комфортно переходить улицы. Пешеходные переходы в городе совмещены с искусственной неровностью. А замеры разметки, которая есть везде, в том числе на второстепенных улицах и окраинах, показали превышение нормативов.
Второе место заняла Казань, третье – Пермь. Дорожные власти Перми активно применяют новые технологии и решения, влияющие на снижение аварийности. Еще в 2017 г. эксперты ОНФ заметили удобные трамвайные остановки, выполненные в виде островков с навесом. В этом году к остановкам добавились мини-кольца на перекрестках, велодорожки, отгороженные от проезжей части сигнальными столбиками, островки безопасности на пешеходных переходах.
На последнем, 56-м, месте снова оказалась Калуга. На городских дорогах, в том числе на пешеходных переходах, нет разметки, в ямах даже центральные улицы. На 55-м месте Йошкар-Ола, на 54-м – Курск, где нет разметки даже на новых дорогах. Эта проблема приводит к тому, что движение автомобилей на курских дорогах хаотичное. А в центре города участники Дорожной инспекции ОНФ собрали с одного квадратного метра дороги вдоль обочины 20 кг песка.
Доступность городской среды
И по этому показателю первое место занял Белгород. Мероприятия по обеспечению доступной среды в этом городе выполнены на высоком уровне, отметили общественники. На втором месте Пермь, на третьем – Тюмень.
Последнюю строчку в рейтинге занимает Курск, где доступной среды просто нет. Яркий пример – трамвайная остановка на перекрестке улиц Верхняя Луговая и Дзержинского. Пассажирам, ожидающим трамвай, приходится стоять посреди дороги. Место остановки не обозначено, не защищено, здесь нет разметки и путей подхода. Асфальт возле рельс разрушен, а вдоль дороги лежит толстый слой песка.
Крайне низкий уровень доступности городской среды в Чите и Владивостоке. Общественники отметили, что во Владивостоке предпочтение отдается транспорту, а не пешеходам. Тротуаров или нет, или они разрушены, на пешеходных переходах не выполнено понижение бортовых камней, подходные пути к ним заставлены автомобилями или их просто нет. Например, на улице Шилкинской у дома №15 обустроены пешеходные переходы, один из них упирается в забор, другой ведет в кусты, третий – от забора в кусты. Не менее нелепый пешеходный переход эксперты ОНФ обнаружили на перекрестке улиц Русской и Енисейской в районе автовокзала – здесь зебра разветвляется на две, которые приводят к ларькам, где нет тротуара.
«В целом по итогам Дорожной инспекции ОНФ в 2019 году мы сделали вывод, что качество дорог по сравнению с прошлыми годами улучшилось. Многие дороги, отмеченные на ресурсе «Карта убитых дорог», отремонтированы. Важно тиражировать положительный опыт городов-лидеров, чтобы остальные города подтягивались по показателям качества дорог и безопасности на них», – сказал член Центрального штаба Народного фронта, координатор проекта «Дорожная инспекция ОНФ/Карта убитых дорог», депутат Госдумы Александр Васильев.
С полными рейтингами можно ознакомиться здесь.
Вступай в нашу группу ВКdorogi-onf.ru
Проект Общероссийского народного фронта «Дорожная инспекция ОНФ/Карта убитых дорог»
1 10 OrderedDict([(6, ), (1, ), (4, ), (2, ), (3, ), (5, ), (7, ), (8, ), (9, ), (10, ), (11, ), (12, )])dorogi-onf.ru
«Гугл» представил карту состояния российских дорог
Компания Google представила мобильное приложение «Дороги России», анализирующее и информирующее о состоянии дорожного полотна в стране. Воспользоваться бесплатной программой могут все владельцы смартфонов на платформе Android.
В зависимости от качества дороги и наличия на ней ям, каждая трасса выкрашивается в определенный цвет. Зеленый свидетельствует о хорошем состоянии дорожного полотна, желтый – об удовлетворительном, красный – о неудовлетворительном, темно-красный – о плохом.
Собирать информацию о качестве дорог будут сами водители. По информации «Гугла», приложение «считывает» информацию о колебаниях подвески автомобиля, характеристиках его движения и на основе этих данных делает вывод о состоянии дороги на пройденном участке. На сайте сервиса отмечается, что при анализе используется «специально разработанная методика обработки данных и распределенная математическая модель». Она позволяет «с большой степенью достоверности» выявлять такие воздействия на смартфон, которые могут свидетельствовать о состоянии дорожного полотна.
Для того, чтобы начать собирать информацию, нужно запустить приложение. Его настройки позволяют водителю либо передавать информацию о дорогах в режиме реального времени, либо накапливать ее и отправлять при подключении к беспроводной интернет-сети. Автомобилистам также предлагается фотографировать ямы на дорогах и отправлять их изображение в приложение.
Узнать о состоянии дорожного полотна можно как через приложение «Гугла», так и с помощью любого интернет-браузера, зайдя на сайт проекта. Сейчас информация о качестве основных автотрасс доступна для семи городов – Москвы, Санкт-Петербурга, Краснодара, Нижнего Новгорода, Екатеринбурга, Казани и Ростова-на-Дону. Пока было исследовано 6,3 тысячи километров дорог из 1,1 миллиона километров. В целом, их состояние оценено как хорошее – 4,3 балла из 5 возможных.
В мае 2011 года блогер и общественный деятель Алексей Навальный представил проект «РосЯма» для жалоб на дорожные выбоины. На сайте проекта предлагается разместить фотографию ямы, а также указать адрес, где она располагается. Сайт автоматически генерирует жалобу и отправляет ее в ГИБДД.
motor.ru
Метод мониторинга актуального состояния российских автодорог смартфонами пользователей
Целью одной из федеральных программ, направленных на реализацию Указа Президента «О национальных целях и стратегических задачах развития Российской Федерации на период до 2024 года» № 204 от 7 мая 2018 года (ссылка) является улучшение качества автомобильных дорог за счет увеличения процентного соотношения, соответствующего нормативным требованиям. Тем же указом предусмотрено внедрение общедоступной информационной системы контроля за формированием и использованием средств дорожных фондов всех уровней.Однако объективный контроль качества проведения мероприятий по строительству или ремонту дорог бывает затруднителен в силу ряда причин, начиная от небезызвестных проблем а-ля коррупция в строительстве (ссылка), и заканчивая естественными причинами трудоемкости организации такого процесса с использованием существующих методов — с помощью рейки и клин-промерника, дорожного профилометра или толчкомера, методом амплитуд и т.д. (затраты на проведение измерений качества автомобильных дорог, необходимость выезда на место, ограниченные человеческие и технические ресурсы).
Специалистами принимаются меры для упрощения процесса диагностики ровности дорог (ссылка), однако все равно возможности масштабного исследования их качества крайне ограничены.
Существующие проекты типа «Автострада» (autostrada.info), «Дорожная инспекция ОНФ» (dorogi-onf.ru) ведут наполнение своей базы качества автодорог в основном за счет обратной связи от пользователей, присылающих фотографии или отзывы только об отдельных участках автодорог.
Впрочем, одним из выходов контроля качества дорожного покрытия, равно как и отслеживания его изменения как в лучшую, так и в худшую сторону, является агрегация уже существующих аналитических инструментов.
Начнем с того, что водители автотранспортных средств в большинстве своем являются пользователями смартфонов, имеющих по умолчанию функции гироскопа, акселерометра (далее — датчики) и GPS/Глонасс- навигации.
Ровность дорожного покрытия является одним из базовых показателей качества автодороги и характеризуется продольной и поперечной ровностью (колейностью).
Мобильный телефон с датчиками, способен постоянно отслеживать все движения, в том числе характерные для неровностей.
Ниже на рисунках представлены реальные данные с акселерометра смартфона, находящегося в автомобиле при различных условиях:
Без движения
Движение по хорошей дороге (скорость 80 км/ч)
Движение по хорошей дороге (скорость 80 км/ч) с переездом стыка эстакады
Переезд двух «лежачих полицейских» (скорость 20-30 км/ч)
Неровная дорога (скорость 30 км/ч)
Вибрации по различным осям в нашем трехмерном пространстве возможно наглядно показать на следующем рисунке, где различные цвета характеризуют каждую проекцию. Иными словами — X (вверх-вниз) превалирует при проезде неровностей, Y (влево-вправо) — при перестроении или объезде препятствия, Z (вперед-назад) — при торможении/ускорении.
Совокупность этих данных может дать уникальный отпечаток каждого типа дорожного дефекта.
Геопривязка позволяет соотносить данные датчика телефона с конкретными координатами, а также скоростью движения транспортного средства.
В этой связи на основании данных от множества мобильных устройств возможно формировать карту качества дорожного покрытия, на которой будут отражены различные дорожные дефекты (трещины, выбоины, ямы проломы, колейность, пластические деформации, гребенка, волны и т.д. согласно классификатору повреждений асфальтобетонных покрытий).
Например:
- неровная дорога — характеризуется особенностями данных от датчиков, а также средней скоростью менее разрешенной на данном участке дороги;
- выбоины — характеризуется одномоментными особенностями данных от датчика и резким замедлением перед ней;
- колейность — характеризуется особенностями данных от датчиков при перестроении транспортного средства;
- иные особенности дорожного полотна.
Саму систему для автоматического распознавания качества дороги по поступающим от датчиков данным необходимо будет обучить (на тех же нейронках), что не составит значительного для разработчиков труда.
При этом данный метод целесообразно интегрировать в уже существующую инфраструктуру, например, «Яндекс-навигатора» или подобного приложения, которым пользуется значительное количество российских автовладельцев.
Данное приложение априори собирает подобные данные для их анализа и не потребует дополнительных разрешений на установку и сбор данных для практической реализации подобного метода.
Саму карту качества покрытия возможно реализовывать по схожей с «Яндекс-пробками» схеме — по цветовой градации от зеленого (качество ГОСТ) к красному (низкое качество) с дополнительными маркировками отдельных изъянов дорожного полотна, а также серым цветом, где статистических данных не хватает для объективного отражения состояния
автополотна (например, низкая загруженность автодороги). Кроме того, необходимо будет учитывать ряд сопутствующих факторов, способствующих некоторым изменениям в данных без изменения качества автодороги (погодные условия/сезон).
Похожий подход к визуализации реализован в «Автостраде», однако, как писалось выше, он отражает субъективную оценку ограниченного числа пользователей, относится ко всей трассе, и не показывает ее отдельные участки, не обновляется в разумное время и в целом имеет другие значительные недостатки, не позволяющие проводить качественны объективный контроль.
Также необходимо предусмотреть опции «тенденции изменений» и ретроспективный просмотр состояния автодорог.
Благодаря реализации данного метода, руководителям всех уровней, начиная от субъектов РФ и заканчивая органами местного самоуправления, равно как и строительно-ремонтным организациям, а также, в первую очередь, контролирующим органам, возможно будет наблюдать объективную картину состояния дорожного полотна в любом регионе России, а также ход реализации «майских» указов по этой тематике в режиме времени, близком к реальному.
Кроме того, за счет набора статистических параметров возможно будет также отслеживать уровень надежности автомобильной дороги, то есть за какой период времени ее качество будет ухудшаться до определенных показателей, и будет ли это соответствовать ГОСТам на строительство/ремонт дороги (что позволит в том числе выявлять бороться с такими явлениями, как небезызвестная укладка асфальта на снег или воду).
По всем этим критериям возможно создать информационную систему федерального мониторинга (контроля) состояния автодорог и оценить качество работы строительно-подрядных организаций, целевое расходование бюджетных средств, работу органов местного самоуправления на местах, а также ход федеральной программы в целом.
habr.com
10 причин, почему в России плохие дороги – Варламов.ру – ЖЖ
? LiveJournal- Main
- Ratings
- Interesting
- Disable ads
- Login
- CREATE BLOG Join
- English
(en)
- English (en)
- Русский (ru)
- Українська (uk)
- Français (fr)
- Português (pt)
- español (es)
- Deutsch (de)
- Italiano (it)
- Беларуская (be)
varlamov.ru
Дорожная инспекция ОНФ опубликовала рейтинг городов по качеству дорог, безопасности на них и доступности городской среды
Эксперты проекта «Дорожная инспекция ОНФ/Карта убитых дорог» по итогам проведенных в 2019 г. рейдов составили рейтинг городов России по качеству, безопасности и доступности дорог. В этом году общественники проверили качество гарантийных дорог, отремонтированных в том числе по приоритетному проекту «Безопасные и качественные дороги», общее состояние улично-дорожной сети, безопасность на дорогах в 56 городах, доступность городской среды проанализировали в 33 городах.
В 2019 г. Дорожная инспекция ОНФ начала работу 8 апреля в Севастополе, а завершила 13 сентября в Екатеринбурге. За это время общественные контролеры проехали 60 тыс. км по дорогам федерального, регионального и муниципального значения, оценив качество и безопасность дорожного покрытия в 55 регионах РФ.
Участники рейда проверили состояние гарантийных дорог, отремонтированных в 2014–2018 гг., и участков, отмеченных на интерактивном ресурсе ОНФ «Карта убитых дорог». Эксперты производили замеры ям, колеи, просадок и разрушений верхнего слоя покрытия, просадок и выступов люков и решеток ливневой канализации, швов и трещин, разрушений кромок покрытия, занижений обочин. Также общественники уделили внимание безопасности на дорогах и доступности городской среды.
Состояние дорог
Как и после предыдущих подобных проверок, эксперты ОНФ составили рейтинг общего состояния улично-дорожной сети городов России. Лучшие дороги, как в 2015 и 2017 гг., оказались в Тюмени. На втором месте расположился Белгород, на третьем – Барнаул. Если Тюмень и Белгород традиционно находятся в верхних строчках рейтинга, то в Барнауле за последние два года качество дорог значительно улучшилось – в 2017 г. город занимал 31-ю позицию из 110.
На последнем месте оказалась Калуга. С 2015 г. город опускался в рейтинге все ниже и ниже: 21-е место из 116 в 2015 г., 30-е из 110 в 2017 г. и 56-е из 56 в 2019 г. Практически каждой улице здесь требуется замена верхнего слоя покрытия или хотя бы ямочный ремонт. Даже на гарантийных участках участники Дорожной инспекции ОНФ обнаружили существенные дефекты: ямы, разрушения верхнего слоя покрытия по шву, разрушения вблизи люков. Городские чиновники комментировать ситуацию с дорогами отказались.
Безопасность на дорогах
Во время проверок участники Дорожной инспекции ОНФ обращали внимание на наличие разметки, ее качество (уровень дневной и ночной видимости), обустройство пешеходных переходов и перекрестков, освещение.
По этому критерию лидирует Белгород. По мнению экспертов ОНФ, другим регионам следует перенять положительный опыт города в нанесении разметки, оборудовании пешеходных переходов и освещения, организации кругового движения и доступной среды.
Примечательно, что в Белгороде практически отсутствуют металлические заборы, которые портят вид исторической застройки в других городах. Вместо них используются аккуратные столбики. Правильно нанесенная разметка и применение композитных материалов для дорожной одежды позволяет водителям без труда ориентироваться на дороге, а пешеходам – комфортно переходить улицы. Пешеходные переходы в городе совмещены с искусственной неровностью. А замеры разметки, которая есть везде, в том числе на второстепенных улицах и окраинах, показали превышение нормативов.
Второе место заняла Казань, третье – Пермь. Дорожные власти Перми активно применяют новые технологии и решения, влияющие на снижение аварийности. Еще в 2017 г. эксперты ОНФ заметили удобные трамвайные остановки, выполненные в виде островков с навесом. В этом году к остановкам добавились мини-кольца на перекрестках, велодорожки, отгороженные от проезжей части сигнальными столбиками, островки безопасности на пешеходных переходах.
На последнем, 56-м, месте снова оказалась Калуга. На городских дорогах, в том числе на пешеходных переходах, нет разметки, в ямах даже центральные улицы. На 55-м месте – Йошкар-Ола, на 54-м – Курск, где нет разметки даже на новых дорогах. Эта проблема приводит к тому, что движение автомобилей на курских дорогах хаотичное. А в центре города участники Дорожной инспекции ОНФ собрали с одного квадратного метра дороги вдоль обочины 20 кг песка.
Доступность городской среды
И по этому показателю первое место занял Белгород. Мероприятия по обеспечению доступной среды в этом городе выполнены на высоком уровне, отметили общественники. На втором месте – Пермь, на третьем – Тюмень.
Последнюю строчку в рейтинге занимает Курск, где доступной среды просто нет. Яркий пример – трамвайная остановка на перекрестке улиц Верхней Луговой и Дзержинского. Пассажирам, ожидающим трамвай, приходится стоять посреди дороги. Место остановки не обозначено, не защищено, здесь нет разметки и путей подхода. Асфальт возле рельс разрушен, а вдоль дороги лежит толстый слой песка.
Крайне низкий уровень доступности городской среды – в Чите и Владивостоке. Общественники отметили, что во Владивостоке предпочтение отдается транспорту, а не пешеходам. Тротуаров или нет, или они разрушены, на пешеходных переходах не выполнено понижение бортовых камней, подходные пути к ним заставлены автомобилями или их просто нет. Например, на улице Шилкинской у дома №15 обустроены пешеходные переходы, один из них упирается в забор, другой – ведет в кусты, третий – от забора в кусты. Не менее нелепый пешеходный переход эксперты ОНФ обнаружили на перекрестке улиц Русской и Енисейской в районе автовокзала – здесь «зебра» разветвляется на две, которые приводят к ларькам, где нет тротуара.
«В целом по итогам Дорожной инспекции ОНФ в 2019 году мы сделали вывод, что качество дорог по сравнению с прошлыми годами улучшилось. Многие дороги, отмеченные на ресурсе «Карта убитых дорог», отремонтированы. Важно тиражировать положительный опыт городов-лидеров, чтобы остальные города подтягивались по показателям качества дорог и безопасности на них», – сказал член Центрального штаба Народного фронта, координатор проекта «Дорожная инспекция ОНФ/Карта убитых дорог», депутат Госдумы Александр Васильев.
onf.ru
Делаем рейтинг городов России по качеству дорог / Habr
В очередной раз проезжая на машине по родному городу и объезжая очередную яму я подумал: а везде ли в нашей стране такие «хорошие» дороги и решил — надо объективно оценить ситуацию с качеством дорог в нашей стране.
Формализация задачи
В России требования к качеству дорог описываются в ГОСТ Р 50597-2017 «Дороги автомобильные и улицы. Требования к эксплуатационному состоянию, допустимому по условиям обеспечения безопасности дорожного движения. Методы контроля». Этот документ определяет требования к покрытию проезжей части, обочинам, разделительным полосам, тротуарам, пешеходным дорожкам и т.п., а так же устанавливает типы повреждений.
Поскольку задача определения всех параметров дорог достаточно обширна, а решил для себя ее сузить и остановиться только на задаче определения дефектов покрытия проезжей части. В ГОСТ Р 50597-2017 выделяются следующие дефекты покрытия проезжей части:
- выбоины
- проломы
- просадки
- сдвиги
- гребенки
- колея
- выпотевание вяжущего
Выявлением этих дефектов я и решил заняться.
Сбор датасета
Где взять фотографии на которых изображены достаточно большие участки дорожного полотна, да еще с привязкой к геолокации? Ответ пришел стразу — панорамы на картах Яндекса (или Гугла), однако, немного поискав, нашел еще несколько альтернативных вариантов:
- выдача поисковиков по картинкам для соответствующих запросов;
- фотографии на сайтах для приема жалоб (Росяма, Сердитый гражданин, Добродел и пр.)
- на Opendatascience подсказали проект по детектированию дефектов дорог с размеченным датасетом — github.com/sekilab/RoadDamageDetector
К сожалению, анализ этих вариантов показал, что они не очень-то мне подходят: выдача поисковиков обладает большим шумом (много фотографий, не являющихся дорогами, различных рендеров и тп), фотографии с сайтов для приема жалоб содержат только фотографии с большими нарушениями асфальтового покрытия, фотографий с небольшими нарушения покрытия и без нарушений на этих сайтах довольно мало, датасет из проекта RoadDamageDetector собран в Японии и не содержит образцов с большими нарушения покрытия, а также дорог без покрытия вообще.
Раз альтернативные варианты не подходят будем использовать панорамы Яндекса (вариант панорам Гугла я исключил, т. к. сервис представлен в меньшем количестве городов России и обновляется реже). Данные решил собирать в городах с населением более 100 тыс. человек, а также в федеральных центрах. Составил список названий городов — их оказалось 176, позже выяснится, что панорамы есть только в 149 из них. Не буду углубятся в особенности парсинга тайлов, скажу что в итоге у меня получилось 149 папок (по одной для каждого города) в которых суммарно находилось 1.7 млн фотографий. К примеру для Новокузнецка папка выглядела вот так:
По количеству скачанных фотографий города распределились следующим образом:
ТаблицаГород |
Количество фотографий, шт |
---|---|
Москва | 86048 |
Санкт-Петербург | 41376 |
Саранск | 18880 |
Подольск | 18560 |
Красногорск | 18208 |
Люберцы | 17760 |
Калининград | 16928 |
Коломна | 16832 |
Мытищи | 16192 |
Владивосток | 16096 |
Балашиха | 15968 |
Петрозаводск | 15968 |
Екатеринбург | 15808 |
Великий Новгород | 15744 |
Набережные Челны | 15680 |
Краснодар | 15520 |
Нижний Новгород | 15488 |
Химки | 15296 |
Тула | 15296 |
Новосибирск | 15264 |
Тверь | 15200 |
Миасс | 15104 |
Иваново | 15072 |
Вологда | 15008 |
Жуковский | 14976 |
Кострома | 14912 |
Самара | 14880 |
Королёв | 14784 |
Калуга | 14720 |
Череповец | 14720 |
Севастополь | 14688 |
Пушкино | 14528 |
Ярославль | 14464 |
Ульяновск | 14400 |
Ростов-на-Дону | 14368 |
Домодедово | 14304 |
Каменск-Уральский | 14208 |
Псков | 14144 |
Йошкар-Ола | 14080 |
Керчь | 14080 |
Мурманск | 13920 |
Тольятти | 13920 |
Владимир | 13792 |
Орёл | 13792 |
Сыктывкар | 13728 |
Долгопрудный | 13696 |
Ханты-Мансийск | 13664 |
Казань | 13600 |
Энгельс | 13440 |
Архангельск | 13280 |
Брянск | 13216 |
Омск | 13120 |
Сызрань | 13088 |
Красноярск | 13056 |
Щёлково | 12928 |
Пенза | 12864 |
Челябинск | 12768 |
Чебоксары | 12768 |
Нижний Тагил | 12672 |
Ставрополь | 12672 |
Раменское | 12640 |
Иркутск | 12608 |
Ангарск | 12608 |
Тюмень | 12512 |
Одинцово | 12512 |
Уфа | 12512 |
Магадан | 12512 |
Пермь | 12448 |
Киров | 12256 |
Нижнекамск | 12224 |
Махачкала | 12096 |
Нижневартовск | 11936 |
Курск | 11904 |
Сочи | 11872 |
Тамбов | 11840 |
Пятигорск | 11808 |
Волгодонск | 11712 |
Рязань | 11680 |
Саратов | 11616 |
Дзержинск | 11456 |
Оренбург | 11456 |
Курган | 11424 |
Волгоград | 11264 |
Ижевск | 11168 |
Златоуст | 11136 |
Липецк | 11072 |
Кисловодск | 11072 |
Сургут | 11040 |
Магнитогорск | 10912 |
Смоленск | 10784 |
Хабаровск | 10752 |
Копейск | 10688 |
Майкоп | 10656 |
Петропавловск-Камчатский | 10624 |
Таганрог | 10560 |
Барнаул | 10528 |
Сергиев Посад | 10368 |
Элиста | 10304 |
Стерлитамак | 9920 |
Симферополь | 9824 |
Томск | 9760 |
Орехово-Зуево | 9728 |
Астрахань | 9664 |
Евпатория | 9568 |
Ногинск | 9344 |
Чита | 9216 |
Белгород | 9120 |
Бийск | 8928 |
Рыбинск | 8896 |
Северодвинск | 8832 |
Воронеж | 8768 |
Благовещенск | 8672 |
Новороссийск | 8608 |
Улан-Удэ | 8576 |
Серпухов | 8320 |
Комсомольск-на-Амуре | 8192 |
Абакан | 8128 |
Норильск | 8096 |
Южно-Сахалинск | 8032 |
Обнинск | 7904 |
Ессентуки | 7712 |
Батайск | 7648 |
Волжский | 7584 |
Новочеркасск | 7488 |
Бердск | 7456 |
Арзамас | 7424 |
Первоуральск | 7392 |
Кемерово | 7104 |
Электросталь | 6720 |
Дербент | 6592 |
Якутск | 6528 |
Муром | 6240 |
Нефтеюганск | 5792 |
Реутов | 5696 |
Биробиджан | 5440 |
Новокуйбышевск | 5248 |
Салехард | 5184 |
Новокузнецк | 5152 |
Новый Уренгой | 4736 |
Ноябрьск | 4416 |
Новочебоксарск | 4352 |
Елец | 3968 |
Каспийск | 3936 |
Старый Оскол | 3840 |
Артём | 3744 |
Железногорск | 3584 |
Салават | 3584 |
Прокопьевск | 2816 |
Горно-Алтайск | 2464 |
Подготовка датасета для обучения
И так, датасет собран, как теперь имея фотографию участка дороги и прилагающих объектов узнать качество асфальта, изображенного на ней? Я решил вырезать кусок фотографии размером 350*244 пикселя по центру исходной фотографии чуть ниже середины. Затем уменьшить вырезанный кусок по горизонтали до размера 244 пикселя. Получившееся изображение (размером 244*244) и будет входным для сверточного энкодера:
Что бы лучше понять с какими данными я имею дело первых 2000 картинок я разметил сам, остальные картинки размечали работники Яндекс.Толоки. Перед ними я поставил вопрос в следующей формулировке.
Укажите, какое дорожное покрытие Вы видите на фотографии:
- Грунт/Щебень
- Брусчатка, плитка, мостовая
- Рельсы, ж/д пути
- Вода, большие лужи
- Асфальт
- На фотографии нет дороги/ Посторонние предметы/ Покрытие не видно из-за машин
Если исполнитель выбирал «Асфальт», то появлялось меню, предлагающее оценить его качество:
- Отличное покрытие
- Незначительные одиночные трещины/неглубокие одиночные выбоины
- Большие трещины/Сетка трещин/одиночные не значительные выбоины
- Большое количество выбоин/ Глубокие выбоины/ Разрушенное покрытие
Как показали тестовые запуски заданий, исполнители Я.Толоки добросовестностью работы не отличаются – случайно кликают мышкой по полям и считают задание выполненным. Пришлось добавлять контрольные вопросы (в задании было 46 фотографий, 12 из которых были контрольными) и включить отложенную приемку. В качестве контрольных вопросов я использовал те картинки, которые разметил сам. Отложенную приемку я автоматизировал – Я.Толока позволяет выгружать результаты работы в CSV-файл, и загружать результаты проверки ответов. Проверка ответов работала следующим образом – если в задании более 5% неверных ответов на контрольные вопросы, то оно считается невыполненным. При этом, если исполнитель указал ответ, логически близкий к верному, то его ответ считается верным.
В результате я получил около 30 тысяч размеченных фотографий, которые я решил распределить в три класса для обучения:
- «Good» – фотографии с метками «Асфальт: Отличное покрытие» и «Асфальт: Незначительные одиночные трещины»
- «Middle» — фотографии с метками «Брусчатка, плитка, мостовая», «Рельсы, ж/д пути» и «Асфальт: Большие трещины/Сетка трещин/одиночные не значительные выбоины»
- «Large» — фотографии с метками «Грунт/Щебень», «Вода, большие лужи» и «Асфальт: Большое количество выбоин/ Глубокие выбоины/ Разрушенное покрытие»
- Фотографии с метками «На фотографии нет дороги/ Посторонние предметы/ Покрытие не видно из-за машин» оказалось очень мало (22 шт.) и я их исключил из дальнейшей работы
Разработка и обучение классификатора
Итак, данные собраны и размечены, переходим к разработке классификатора. Обычно для задач классификации изображений, особенно при обучении на небольших датасетах, используют готовый сверточный энкодер, к выходу которого подключают новый классификатор. Я решил использовать простой классификатор без скрытого слоя, входной слой размером 128 и выходной слой размером 3. В качестве энкодеров решил сразу использовать несколько готовых вариантов, обученных на ImageNet:
- Xception
- Resnet
- Inception
- Vgg16
- Densenet121
- Mobilenet
Вот так выглядит функция, создающая Keras-модель с заданным энкодером:
def createModel(typeModel):
conv_base = None
if(typeModel == "nasnet"):
conv_base = keras.applications.nasnet.NASNetMobile(include_top=False,
input_shape=(224,224,3),
weights='imagenet')
if(typeModel == "xception"):
conv_base = keras.applications.xception.Xception(include_top=False,
input_shape=(224,224,3),
weights='imagenet')
if(typeModel == "resnet"):
conv_base = keras.applications.resnet50.ResNet50(include_top=False,
input_shape=(224,224,3),
weights='imagenet')
if(typeModel == "inception"):
conv_base = keras.applications.inception_v3.InceptionV3(include_top=False,
input_shape=(224,224,3),
weights='imagenet')
if(typeModel == "densenet121"):
conv_base = keras.applications.densenet.DenseNet121(include_top=False,
input_shape=(224,224,3),
weights='imagenet')
if(typeModel == "mobilenet"):
conv_base = keras.applications.mobilenet_v2.MobileNetV2(include_top=False,
input_shape=(224,224,3),
weights='imagenet')
if(typeModel == "vgg16"):
conv_base = keras.applications.vgg16.VGG16(include_top=False,
input_shape=(224,224,3),
weights='imagenet')
conv_base.trainable = False
model = Sequential()
model.add(conv_base)
model.add(Flatten())
model.add(Dense(128,
activation='relu',
kernel_regularizer=regularizers.l2(0.0002)))
model.add(Dropout(0.3))
model.add(Dense(3, activation='softmax'))
model.compile(optimizer=keras.optimizers.Adam(lr=1e-4),
loss='binary_crossentropy',
metrics=['accuracy'])
return model
Для обучения использовал генератор с аугментацией (т.к. возможностей встроенной в Keras аугментации мне показались недостаточными, то я воспользовался библиотекой Augmentor):
- Наклоны
- Случайные искажения
- Повороты
- Замена цвета
- Сдвиги
- Изменение контраста и яркости
- Добавление случайного шума
- Кропы
После аугментации фотографии выгладили так:
Код генератора:
def get_datagen():
train_dir='~/data/train_img'
test_dir='~/data/test_img'
testDataGen = ImageDataGenerator(rescale=1. / 255)
train_generator = datagen.flow_from_directory(
train_dir,
target_size=img_size,
batch_size=16,
class_mode='categorical')
p = Augmentor.Pipeline(train_dir)
p.skew(probability=0.9)
p.random_distortion(probability=0.9,grid_width=3,grid_height=3,magnitude=8)
p.rotate(probability=0.9, max_left_rotation=5, max_right_rotation=5)
p.random_color(probability=0.7, min_factor=0.8, max_factor=1)
p.flip_left_right(probability=0.7)
p.random_brightness(probability=0.7, min_factor=0.8, max_factor=1.2)
p.random_contrast(probability=0.5, min_factor=0.9, max_factor=1)
p.random_erasing(probability=1,rectangle_area=0.2)
p.crop_by_size(probability=1, width=244, height=244, centre=True)
train_generator = keras_generator(p,batch_size=16)
test_generator = testDataGen.flow_from_directory(
test_dir,
target_size=img_size,
batch_size=32,
class_mode='categorical')
return (train_generator, test_generator)
В коде видно, что для тестовых данных аугментация не используется.
Имея настроенный генератор можно заняться обучением модели, его будем проводить в два этапа: сначала обучать только наш классификатор, затем полностью всю модель.
def evalModelstep1(typeModel):
K.clear_session()
gc.collect()
model=createModel(typeModel)
traiGen,testGen=getDatagen()
model.fit_generator(generator=traiGen,
epochs=4,
steps_per_epoch=30000/16,
validation_steps=len(testGen),
validation_data=testGen,
)
return model
def evalModelstep2(model):
early_stopping_callback = EarlyStopping(monitor='val_loss', patience=3)
model.layers[0].trainable=True
model.trainable=True
model.compile(optimizer=keras.optimizers.Adam(lr=1e-5),
loss='binary_crossentropy',
metrics=['accuracy'])
traiGen,testGen=getDatagen()
model.fit_generator(generator=traiGen,
epochs=25,
steps_per_epoch=30000/16,
validation_steps=len(testGen),
validation_data=testGen,
callbacks=[early_stopping_callback]
)
return model
def full_fit():
model_names=[
"xception",
"resnet",
"inception",
"vgg16",
"densenet121",
"mobilenet"
]
for model_name in model_names:
print("#########################################")
print("#########################################")
print("#########################################")
print(model_name)
print("#########################################")
print("#########################################")
print("#########################################")
model = evalModelstep1(model_name)
model = evalModelstep2(model)
model.save("~/data/models/model_new_"+str(model_name)+".h5")
Вызываем full_fit() и ждем. Долго ждем.
По результату будем иметь шесть обученных моделей, точность этих моделей проверять будем на отдельной порции размеченных даны я получил следующие:
Название модели |
Точность, % |
Xception |
87.3 |
Resnet |
90.8 |
Inception |
90.2 |
Vgg16 |
89.2 |
Densenet121 |
90.6 |
Mobilenet |
86.5 |
В общем-то, не густо, но при такой маленькой обучающей выборке ожидать большего не приходится. Чтобы еще немного поднять точность я объединил выходы моделей за счет усреднения:
def create_meta_model():
model_names=[
"xception",
"resnet",
"inception",
"vgg16",
"densenet121",
"mobilenet"
]
model_input = Input(shape=(244,244,3))
submodels=[]
i=0;
for model_name in model_names:
filename= "~/data/models/model_new_"+str(model_name)+".h5"
submodel = keras.models.load_model(filename)
submodel.name = model_name+"_"+str(i)
i+=1
submodels.append(submodel(model_input))
out=average(submodels)
model = Model(inputs = model_input,outputs=out)
model.compile(optimizer=keras.optimizers.Adam(lr=1e-4),
loss='binary_crossentropy',
metrics=['accuracy'])
return model
Итоговая точность получилась 91,3 %. На таком результате я решил остановиться.
Использование классификатора
Наконец-то готов классификатор и его можно запустить в дело! Подготавливаю входные данные и запускаю классификатор — чуть больше суток и 1,7 млн. фотографий обработаны. Теперь самое интересное – результаты. Сразу привожу первую и последнюю десятку городов по относительному количеству дорог с хорошим покрытием:Полная таблица (картинка кликабельна)
А вот рейтинг качества дорог по субъектам федерации:
Полная таблицаРейтинг по федеральным округам:
Распределение качества дорог по России в целом:
Ну, вот и все, выводы каждый может сделать сам.
Напоследок приведу лучшие фотографии в каждой категории (которые получили максимальное значение в своем классе):
КартинкаP.S. В комментариях совершенно справедливо указали на отсутствие статистики по годам получения фотографий. Исправляюсь и привожу таблицу:
Год |
Количество фотографий, шт |
2008 | 37 |
2009 | 13 |
2010 | 157030 |
2011 | 60724 |
2012 | 42387 |
2013 | 12148 |
2014 | 141021 |
2015 | 46143 |
2016 | 410385 |
2017 | 324279 |
2018 | 581961 |
habr.com