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

Технологии: Python, FastAPI, PostgreSQL, SwiftUI, Core ML, Computer Vision.

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: возможности и подключение камер](https://vacat.tatar.dev/) · [Скачать Vacat в App Store](https://apps.apple.com/ru/app/parking-vision/id6830822608)

Услуга: https://tatar.dev/services/internal-systems

---
Tatar.dev — разработка информационных систем, интеграций и решений с ИИ. Казань, Республика Татарстан, проекты по России.
Контакты: ai@tatar.dev · Telegram @tatardev (https://t.me/tatardev)
HTML-версия: https://tatar.dev/cases/parking-vision · Все страницы: https://tatar.dev/llms.txt
