Кейс 01

Vacat — поиск свободных парковочных мест по камерам

Vacat помогает найти свободное парковочное место ещё до поворота во двор. Приложение для iPhone и iPad проверяет выбранные камеры и показывает занятость прямо на снимке. Избранное и личные группы собирают привычные локации в одном месте, а единое рабочее пространство объединяет подключение камер и разметку парковки. Если система не уверена, место не попадёт в список свободных.

Контекст

Камеры двора уже показывают парковку, но для поиска места приходится просматривать каждую отдельно. Vacat превращает кадры в понятную картину занятости: пользователь выбирает камеры, запускает проверку и видит результат на снимке и в списке мест.

Задача

  • Нужно быстро проверить несколько камер и понять, где есть свободные места.
  • Перспектива, перекрытия и соседние автомобили мешают однозначно определить занятость конкретного места.
  • Разметка должна соответствовать ракурсу камеры, а её изменения — сохраняться и проходить проверку.
  • Пользователю нужен удобный мобильный интерфейс, администратору — единое рабочее место для камер и карт парковки.

Решение

  • Приложение на SwiftUI для iPhone и iPad объединяет галерею камер, поиск, избранное и личные группы.
  • Проверка выбранных камер обновляет их карточки: зелёный цвет означает наличие уверенно свободного места, оранжевый — неопределённость, красный — отсутствие свободных и неопределённых мест.
  • Экран камеры показывает границы мест, силуэты автомобилей и состояния «свободно», «занято» и «не определено». Снимок можно увеличить и сопоставить с результатом.
  • Пользователь может вручную отметить место как свободное или занятое и отправить исправления с комментарием. Результат анализа и отправка обратной связи остаются отдельными действиями.
  • Локальный анализ использует Core ML: классификатор MobileNet и сегментатор RF-DETR с геометрическими правилами. Отдельный серверный анализ возвращает согласованные кадр, маски и решения по местам.
  • В рабочем пространстве Vacat администратор подключает камеры, размечает и подтверждает парковочные места. История изменений сохраняется, а карта привязана к опорному кадру.
  • Backend на FastAPI и PostgreSQL хранит каталог камер, карты, настройки пользователей и права доступа. Источники видеонаблюдения подключаются через сервер.

Роль Tatar.dev

  • Tatar.dev спроектировал систему: получение кадров, редактор карт, API, мобильное приложение и два способа анализа.
  • Разработал инструменты разметки и проверки мест, интегрировал модели компьютерного зрения и правила обработки неопределённости.
  • Создал интерфейсы для iPhone и iPad, серверную часть и рабочее пространство администратора; подготовил развёртывание и резервное копирование.

Результат

  • Пользователь проверяет выбранные камеры одним запуском и видит занятость в галерее, на снимке и в списке мест.
  • Избранное, личные группы и сохранённый порядок камер позволяют собрать привычный маршрут проверки двора.
  • Администратор ведёт камеры и подтверждённые карты в одном интерфейсе, сохраняя историю правок.
  • Неоднозначные результаты вынесены в отдельное состояние и не увеличивают число свободных мест.

От кадра к конкретному месту

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

Единое управление парковкой

Редактор объединяет каталог камер, источники снимков, разметку, группы и журнал действий. При смене опорного кадра карта требует перепроверки. Версии и проверка конфликтов защищают сохранённые места от перезаписи устаревшими правками.

Доступ к Vacat

Приложение для iPhone и iPad доступно по приглашению. Подключение камер и условия использования обсуждаются для конкретного двора, жилого комплекса или другого объекта.

Сайт Vacat: возможности и подключение камер · Скачать Vacat в App Store.

Технологии проекта

  • Python
  • FastAPI
  • PostgreSQL
  • SwiftUI
  • Core ML
  • Computer Vision

Похожая задача?

Этот кейс относится к услуге «Внутренние системы». Напишите пару строк о своей задаче — ответим в течение дня: ai@tatar.dev · @tatardev.