Как я нахожу парковочное место за 5 секунд
Большой размер придомовой парковки не гарантирует, что вы легко и быстро найдете парковочное место, а чаще даже наоборот, при заезде на парковку может начаться приступ депрессии от того, что объехал парковку, потратил время, но в итоге место не нашёл. Как можно добавить в жизни чуть-чуть больше определённости, я опишу ниже.
Многие из нас, впрочем как и я, живут в классических человейниках
Кому-то везёт и у них есть подземный паркинг, в котором можно купить парковочное место, кстати не дешевое удовольствие, но в большинстве случаев закатывают придомовую территорию асфальтом с ограниченным количеством мест, непропорциональным количеству жильцов - автовладельцев.
Обычно я приезжаю домой в вечернее время и наблюдаю такую картину, что люди рыщут по парковке в поиске места либо залипают в телефоне ожидая, что кто-нибудь уедет. Я и сам так делаю иногда.
А чаще всего звоню жене и прошу, чтобы она посмотрела в окно и сказала где есть места. Но она не всегда стабильно работает, поэтому я решил заменить её на что-то более автоматизированное и работающее даже в поздние часы.
Итак, что нам нужно: камера(ы) желательно над парковкой, сервис с удобным UI, бэк который будет искать свободные места на видео.
Камера(ы)
Обычно в новостройках есть система видеонаблюдения, поэтому видеопотоки с камер можно взять оттуда. Какие минусы я вижу:
Надо договариваться с УК чтобы получить “законный” доступ.
Небольшая зона обзора.
Как правило камеры не захватывают всю парковку.
Лучше всего камеру разместить на крыше дома или в квартире из которой есть полный обзор на парковку. В моём случае как раз подходит второй вариант — я живу достаточно высоко.
В целом камера может быть любая, но есть несколько советов которые я открыл для себя когда выбирал камеру:
Чем больше разрешение, тем лучше будет работать детекция объектов, поэтому предлагаю рассматривать камеры от 2Мп.
Должен быть большой угол обзора >90 градусов - это нужно для того, чтобы решить проблему меньшим количеством камер. Выбираем камеры с фокусным расстоянием 2.5 - 2.8 мм и углом обзора >90 градусов.
Большим плюсом будет режим "день/ночь".
Опциональный параметр - ИК подсветка и даже я бы сказал, что сомнительный, на практике нужен только если камера вывешена на улице, а учитывая расстояние и погодные условия, она может сделать только хуже.
Если есть камера— это ещё не значит что всё готово. Её надо установить, настроить и каким-то образом пробросить видео с камеры на свой сервер которы будет анализировать видео на предмет пустых парковочных мест.
Я сделал замеры, рассчитал место установки и с помощью высокоточных коробок из под обуви установил камеру по всем технологиям.
Настройка камеры заключается в отключении ИК-подсветки, чтобы она не отражалась от окна в вечернее время, и включении автоматического режима “день/ночь”. Режим “день/ночь”, грубо говоря, это способность камеры переключаться с обычного, цветного режима, на черно-белый. В итоге в вечернее время парковку также отлично видно.
Есть несколько способов как пробросить видео от камеры на свой сервер:
Разместить сервер у себя дома (в одной сети с камерой). Подойдёт, как временное решение.
Через ПО, проксатор, которое будет находится в той же сети и пушить / проксировать видео на наш сервер. Минус этого в том, что это ПО должно где-то “крутиться”, т.е. для него нужна постоянно работающая машина. Тоже самое что и сервер у себя дома.
Настройка DDNS на камере. Тот же самый прокси через доступные для камеры сервисы, как правило на камерах список таких сервисов нельзя изменить, а зарубежными сервисами, сейчас, не всегда удобно пользоваться.
Покупка статического IP адреса у провайдера интернета. У этого решения есть как плюсы так и минусы, но чтобы добавить свою камеру на удалённый сервер, достаточно сделать два клика в личном кабинете и настроить проброс портов.
Настроить VPN у себя на роутере до сервера.
Через интеграцию с облачным сервисом камеры. Сейчас, основная масса камер в своём арсенале имеет сервис, позволяющий просматривать видео из любой точки мира без особых усилий, но, порой, интеграция с таким сервисом бывает невозможна.
и др.
Для меня самым простым, быстрым и удобным вариантом стала покупка статики у провайдера.
Сервис с удобным UI
Подъезжая к дому, взаимодействие с сервисом не должно сильно отвлекать от дороги. Также сервис должен быть общедоступным, понятным, легким в подключении и настройке.
Простое, быстрое и удобное решение— это сделать бота. Есть миллион статей как сделать своего бота, тут я, пожалуй, описывать это не буду.
Выбираешь бота в мессенджере, нажимаешь “Найди парковку”, и вот тебе картиночка со свободными парковочными местами. Куда ещё проще.
Backend, который ищет свободные парковочные места
Есть крутая статья-перевод (ищем свободное парковочное место с Python) о том, как можно реализовать поиск автомобилей с помощью Mask R-CNN. В статье используется автоматизированный подход для разметки парковки. В случае с придомовой парковкой, лучше её заранее разметить. Это избавит нас от ложных срабатываний, если автомобили перекрываются из-за недостатка мест, остановки автомобилей спецслужб, парковки на газонах / сугробах и т.д.
Альтернативный вариант это воспользоваться уже готовым решением с удобной настройкой и API. Компания Macroscop, в которой я работаю, занимается интеллектуальным видеонаблюдением, у нас есть функция подсчёта объектов, мы, кстати, используем нейросеть YOLO. Для меня данный вариант является наиболее приемлемым, т.к. в моём распоряжении есть готовый сервис, предоставляющий аналитику распознавания автомобилей с GUI настройкой парковочных зон и API.
Для наглядности, полная схема работы сервиса
Пользователь в Telegram боте нажимает “Найди парковку”. Бот сервис запрашивает координаты свободных мест у сервиса видеонаблюдения. Если места были найдены, то запрашивается картинка с камеры. Сервис бота отрисовывает полученные зоны на картинке и она возвращается пользователю.
В боте есть возможность добавить парковку. Это сделано в целях разделения пользователей. Например, можно добавить парковку напротив работы или другой ЖК.
Если есть желание попробовать, то пишите в личку, могу без проблем подключить и ваш дом к сервису.
Что в итоге
В моём ЖК более 900 квартир, около 150 парковочных мест. В первый день бота добавило себе 60+ человек. Я совершенно не ожидал, но без пиара количество пользователей выросло до 100 в течении первого месяца. Когда я повторно выложил ссылку на бота, число пользователей увеличилось до 144. Также неожиданно и приятно то, что в среднем ботом пользуется 25 людей в день.
Судя по отзывам, основная фича — это высоко размещенная камера с возможностью быстро получать картинку от неё через бота.
Основные проблемы при организации сервиса:
Установить камеру не так быстро / просто.
Недостаточно точное определение свободных мест (решается обучением нейросетки).
Летом у всех отпуска и дачи, из-за чего больше свободных парковочных мест, поэтому необходимость в сервисе резко уменьшается.
Жена недовольна инсталляцией на подоконнике.
Установку камеры на фасаде нужно согласовывать с УК и жильцами. Без этого, в моём случае, в утренние часы сервисом пользоваться невозможно из-за засветки.