Решение проблем городской мобильности: подход глубокого обучения к управлению парковкой самокатов

Использование глубокого обучения для решения проблем с парковкой на городских электронных скутерах

В быстро меняющемся мире общественного транспорта общие электронные скутеры стали обычным явлением, упрощая наши поездки на работу и предлагая более быструю альтернативу традиционным видам транспорта. Однако это современное удобство создает свои проблемы, особенно когда речь идет о парковке. Текущие процедуры оплаты большинства услуг по аренде требуют, чтобы пользователи сделали снимок в конце поездки. Цель состоит в том, чтобы убедиться, что скутеры не повреждены и правильно припаркованы. Но без какой-либо формы анализа изображения этот метод часто терпит неудачу, что приводит к парковке скутеров практически где угодно. Результат больше, чем бельмо на глазу — он наносит физический ущерб, засоряет общественные места и создает опасность для пешеходов. Наблюдая за этой проблемой, мы решили решить ее напрямую, используя глубокое обучение для оценки состояния парковки скутеров в режиме реального времени. В этой статье представлен всесторонний обзор нашего подхода, методологии, экспериментов, результатов и планов на будущее по смягчению проблем, связанных с общей парковкой электронных скутеров.

Вызов

Мы приступили к этому проекту с четкой целью: улучшить управление парковкой электронных скутеров, чего мы считали достижимым с помощью машинного обучения. Однако превращение этой идеи в практическое решение было сопряжено с препятствиями. Основной проблемой был сбор данных. В идеале у нас должен быть доступ к большому и разнообразному набору реальных изображений парковок скутеров от компаний, занимающихся электронными скутерами. К сожалению, получение такого набора данных оказалось серьезной проблемой. Это заставило нас придумать альтернативные методы сбора данных.

Кроме того, нашу модель нужно было научить точно различать разные статусы парковки с учетом различных факторов окружающей среды. А потребность в нашем решении для анализа изображений и получения результатов в реальном времени серьезно повлияла на эффективность и производительность нашей модели. Эти препятствия, наряду с другими препятствиями, встречавшимися на пути, определили направление нашего проекта и существенно повлияли на решения, которые мы приняли при разработке нашего решения.

Сбор изображений и классификация

Как упоминалось в предыдущем разделе, нашей первой важной задачей было создание надежного и разнообразного набора данных. Чтобы решить эту проблему, мы предприняли масштабную операцию по сбору данных. Мы сняли сотни видео из разных мест города в разное время суток. Затем эти видео были преобразованы в огромное количество статических изображений. Эти изображения были вручную отнесены к одной из четырех категорий:

0: Самокат припаркован правильно
1: Самокат не припаркован
2: Самокат припаркован не вертикально
3: Самокат блокирует пешеходную дорожку

Этот подход позволил нам учесть разнообразие сценариев, в которых может быть найден скутер, тем самым повысив качество нашего набора данных.

От основ к глубокому обучению: траектория нашего проекта

Мы начали наш проект с базовой модели: фиктивного классификатора, который получил взвешенную оценку F1 0,18. Мы знали, что можем добиться большего успеха, и начали изучать различные техники. Одно из предположений, с которыми мы работали, заключалось в том, что хорошо припаркованный самокат будет находиться близко и параллельно краям пешеходной дорожки, а самокат, блокирующий путь, будет далеко или смещен.

Чтобы заострить это различие, мы экспериментировали с обнаружением границ и увеличением данных «на лету».

Тем не менее, мы на собственном горьком опыте узнали, что разница между «хорошо припаркованными» и «заблокированными» может быть довольно субъективной и, следовательно, модели трудно понять. Ни обнаружение границ, ни увеличение не дали ожидаемого повышения производительности нашей модели.

Тем не менее, это была ключевая часть итеративного процесса обучения. Это подчеркнуло проблему субъективности в различении состояний парковки скутера и дало нам ценную информацию о характере нашей задачи.

Итак, мы выбрали что-то более простое, но мощное: предварительно обученную модель VGG16, которую мы точно настроили в соответствии с нашими потребностями.

Моделирование с помощью VGG16 и Keras: этапы выбора, архитектуры и тонкой настройки

Наша модель была построена на предварительно обученном VGG16, решение было принято после рассмотрения надежных функций, которые VGG16 извлекла из обучения на большом наборе данных. Вот схема нашего процесса и обоснование:

  • Выбор модели. Мы выбрали предварительно обученный VGG16 из-за его репутации в достижении высокой производительности в различных задачах классификации изображений. Его архитектура с повторяющимся наложением сверточных слоев позволяет обнаруживать сложные закономерности, что делает его подходящим для нашей задачи классификации скутеров и парковок.
  • Архитектура модели. Структура модели состоит из пяти блоков. Каждый блок состоит из последовательности сверточных слоев, за которыми следует слой максимального объединения. Сверточные слои определяют ключевые особенности, а слои с максимальным объединением уплотняют изображение без потери важных деталей. После прохождения всех блоков данные выравниваются и проходят через плотный слой для классификации состояния парковки скутера.

Наш процесс тонкой настройки модели VGG16 был методичным и включал следующие важные шаги:

  • Модификация модели: чтобы адаптировать VGG16 к нашей конкретной задаче, мы удалили его верхние слои, заморозили оставшиеся сверточные слои, чтобы сохранить их предварительно обученные функции, и добавили новый выходной слой для наших четырех классов самокатов (правильно припаркован, нет скутера, припаркован не вертикально, блокирует пешеходную дорожку).
  • Компиляция модели. Мы скомпилировали модель с использованием оптимизатора Adam, категориальной кросс-энтропийной потери и запланированной скорости обучения. Эта комбинация позволила добиться эффективной сходимости к решению и свести к минимуму переоснащение.

Сохранив ядро ​​VGG16 и изменив только последние слои, мы использовали мощные возможности извлечения признаков модели, адаптируя ее к нашей конкретной задаче. Обучаемые параметры были сведены к минимуму до 73 732, сосредоточив обучение на нашей классификации самокатов.

Результаты и важная информация

Наша окончательная модель показала впечатляющую общую взвешенную оценку F1 в 80% на тестовом наборе. Он продемонстрировал надежные возможности определения наличия самоката и его вертикального положения. Однако у него были проблемы с распознаванием правильно и плохо припаркованных скутеров.

При более глубоком изучении результатов мы обнаружили, что большая часть путаницы возникла между категориями «хорошо припаркованные» и «блокирующие пути». Интересно, что многие из этих «неверно классифицированных» изображений продемонстрировали субъективность в своей классификации. Некоторые самокаты, помеченные как «блокирующие путь», можно с полным основанием рассматривать как «хорошо припаркованные», и наоборот.

Имея в виду эту присущую субъективность, мы чувствуем себя более непринужденно с некоторой путаницей между ярлыками 3 («блокировка пути») и 0 («хорошая парковка»), понимая, что это частично проистекает из сложности нюансов реальных данных. интерпретация.

От концепции к применению

Мы перевели нашу модель от теории к практике, разработав приложение с использованием Streamlit. Этот интерактивный инструмент позволяет пользователям загружать изображение припаркованного скутера, и вместо простого представления прогноза категории приложение обеспечивает удобную обратную связь. Например, если самокат припаркован правильно, пользователь получит положительное подкрепление, такое как «Ваш самокат припарковался правильно. Хорошего дня!» И наоборот, если самокат не припаркован вертикально, пользователю будет предложено повторить попытку: «Ваш самокат перевернут, пожалуйста, припаркуйте его правильно». Это приложение демонстрирует, как наша модель может быть интегрирована в реальные системы, способствуя более эффективной парковке самокатов.

Заглядывая вперед

Наша модель продемонстрировала обнадеживающие результаты, но потенциал для расширения и сотрудничества огромен. В частности, мы видим значительные возможности в налаживании партнерских отношений с компаниями, производящими электронные скутеры. Благодаря прямому доступу к данным компании и возможности обратной связи в режиме реального времени наша модель может предложить ценное решение широко распространенной городской проблемы.

Будущие усовершенствования также должны предусматривать усовершенствование нашей системы маркировки и методологии, чтобы уменьшить субъективность между метками, особенно между «правильно припаркованными» и «заблокированными пешеходными дорожками». Изучение более продвинутых архитектур моделей и настройка гиперпараметров может еще больше повысить производительность модели.

Путь к оптимальной классификации припаркованных электронных скутеров продолжается. Мы с нетерпением ожидаем будущих достижений в этой области, особенно в возможном сотрудничестве, которое может внести существенный вклад в улучшение городской мобильности.

Заключение

Наш проект демонстрирует, как глубокое обучение может помочь улучшить городское планирование и услуги по совместному использованию скутеров за счет эффективной классификации изображений парковок скутеров. Благодаря силе трансферного обучения и небольшой настройке мы смогли адаптировать универсальную модель к уникальной проблеме. Мы с нетерпением ждем возможности применить полученные знания в будущих проектах.

Наша команда