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.