В первой части рассказывалось о проблеме системного обмана в индийских автобусах и стратегическом подходе к её решению. Теперь — о технической реализации, архитектуре и первых результатах.
Ключевые цифры проекта:
- Пилот: 12 автобусов (сбор первичных данных)
- Следующий этап: 56 автобусов (весь флот компании)
- Гипотетическое масштабирование: 300 автобусов — оценка потенциальных потерь (650 млн₽/год)
Командировка: сбор данных и подготовка
Перед запуском я посетил Индию, чтобы лично оценить условия на месте. Цели поездки:
- Осмотреть автобусы на заводе
- Снять видео с разных ракурсов и при разном освещении
- Определить оптимальное расположение камер
- Согласовать технические детали с поставщиком данных
Результаты пятидневной командировки (бюджет ~250 000₽):
- Собрано около часа 4K-видео с пассажирами при входе и выходе
- Создан датасет IndiaBus-v1.0
- Согласован формат передачи данных через API (JSON)
- Подтверждена возможность выгрузки данных по WiFi/GSM
- Составлен протокол технических решений
Видео с разными углами позволило:
- Выявить возможные ошибки детекции (перекрытия, отражения, конструктивные особенности автобусов)
- Определить оптимальный угол наклона камер
- Дать чёткие инструкции команде в России без необходимости повторных выездов
Архитектура системы: трёхуровневый подход
Почему собственная CNN, а не готовые решения
Было принято ключевое решение — разработать собственную архитектуру Adaptive Face Extractor вместо использования коммерческих моделей (FaceNet, ArcFace).
Готовые решения оказались непригодны по нескольким причинам:
- Низкая точность на индийских данных — модели обучались на западных датасетах и плохо работают с сари, тюрбанами и специфическим освещением.
- Высокие вычислительные требования — 98 МБ против 4.7 МБ, 280 мс против 42 мс на CPU. Это критично при масштабировании на 56+ автобусов.
- Стоимость лицензий — при 180 000 пассажирах в день затраты достигли бы миллионов рублей в месяц.
- Фиксированный размер входа — требует ресайза, что ведёт к потере деталей. Наша модель работает с переменным размером (80×80 – 180×160).
- Контроль над данными — по закону DPDPA нельзя отправлять биометрию на внешние API.
Архитектура Adaptive Face Extractor:
- Вход: RGB-изображение переменного размера H×W×3
- Начальный блок: 2× Conv2D(64) + BatchNorm + ReLU
- Мультимасштабный блок: 4 параллельные ветви (Conv2D, Dilation=2, Dilation=3, Pooling)
- Пространственная пирамида пулинга: 4 уровня (1×1, 2×2, 4×4, 8×8)
- Механизм внимания: Squeeze-and-Excitation (SE-блок)
- Финальные слои: 2× Conv2D(512) + GlobalAveragePooling + Dense(1024) + Dropout(0.5)
- Выход: L2-нормализованный эмбеддинг 512D или 1024D
Формула эмбеддинга: e = AdaptiveFaceExtractor(image) ∈ R^512, где ∥e∥₂ = 1.
Сравнение: similarity(e1, e2) = cosine(e1, e2) > threshold → это один и тот же пассажир.
Переменный размер входа критичен, потому что:
- Рост пассажиров — от 150 до 190 см
- Расстояние до камеры — от 0.5 до 2 м (масштаб меняется в 4 раза)
- Ресайз ведёт к потере деталей или шуму
- Наша модель работает с нативным размером без потерь
Дополнительные параметры:
- Датасет: IndiaBus-v1.0 (150+ идентичностей)
- Функция потерь: ArcFace Loss
- Аугментация: RandomRotation(±10%), RandomZoom(±10%), RandomBrightness(±20%)
- Фреймворк: TensorFlow 2.x + Keras
Синхронизация GPS и временных меток
Видео с камер привязывается к координатам автобуса для точного расчёта маршрута.
- GPS-приёмник: гибридный чип NavIC L1 + GPS L1/L5 (точность ≤10 м)
- Синхронизация времени: NTP-сервер в Мумбаи (погрешность <100 мс)
- Частота записи координат: каждые 15 секунд
- Каждый кадр маркируется GPS-координатами и временной меткой
Алгоритм сравнения эмбеддингов
Для определения, что входящий и выходящий пассажиры — один человек, используется косинусное сходство с порогом.
Экономическое обоснование выбора порога:
- Высокий порог — меньше ложных совпадений, но больше пропусков
- Низкий порог — больше ложных совпадений, но меньше пропусков
- Сейчас ведётся настройка оптимального порога для баланса точности и полноты
Соблюдение DPDPA 2023
Индийский закон Digital Personal Data Protection Act (DPDPA) 2023 строже предыдущих норм, хотя уступает GDPR, CCPA и PIPL по охвату.
Ключевые положения:
- Максимальный штраф — 250 крор рупий (~2.7 млрд₽)
- Штрафы — за серьёзные нарушения: утечки, отсутствие мер безопасности, игнорирование предписаний
- Запрет на обработку данных — возможен, но не автоматичен; вводится Data Protection Board при тяжких нарушениях
Моя позиция: соответствие закону — не ограничение, а конкурентное преимущество.
Как обеспечили соответствие
Ключевое изменение: изображения лиц удаляются после обработки, храним только эмбеддинги.
7 обязательных требований DPDPA (OTR):
- Данные хранятся только на серверах в Индии (Мумбаи)
- Изображения лиц — 90 дней для отладки, затем автоматическое удаление
- Эмбеддинги могут храниться дольше (не позволяют восстановить изображение)
- Информационные таблички в салоне на маратхи, хинди и английском (информированное согласие)
- Шифрование: TLS 1.3 + AES-256-GCM
- Ежеквартальный аудит третьей стороной
- «Право на забвение» — удаление по запросу за 72 часа
Хранение видео:
- Потолочные камеры: хранятся по закону
- Камеры для ИИ: циклическая перезапись после выгрузки данных
Юридическое обоснование:
- DPDPA Section 5: обработка допустима для исполнения договора (перевозка)
- Section 8: данные удаляются после достижения цели (90 дней)
- Разъяснение MeitY (2024): эмбеддинги без возможности восстановления изображения не считаются биометрией
Результаты внедрения
Метрики эффективности
После внедрения системы:
- Точность подсчёта: повышена до 96.3%
- Рейсов с расхождениями >10%: выявлено 22%
- Время проверки отчёта: с 14 часов до 0 (автоматизация)
- Прибыльность флота: растёт за счёт выявления недостач
- Конфликты с пассажирами: снижаются благодаря прозрачности
Финансовый эффект (на 12 автобусах)
Дополнительная выручка = Выявленные расхождения × Количество рейсов
При 22% рейсов с расхождениями >10% и средней выручке 21 000₽/рейс:
- Дополнительная выручка: 665 280₽/месяц
- Годовой эффект: 8 млн₽
Текущее состояние
- Пилот: 12 автобусов, маршрут ГородА–ГородБ
- Система работает в реальном времени, отчёты генерируются автоматически
- Персонал обучен: контролёры получают уведомления о расхождениях
- Изображения удаляются через 90 дней, эмбеддинги могут храниться дольше
Почему 96.3% — недостаточно для масштабирования
Ошибка 3.7% при масштабировании приводит к значительным потерям:
- 56 автобусов: 1 243 неверно посчитанных пассажира/день → 5.4 млн₽/год
- 300 автобусов: 6 660 человек/день → 29.2 млн₽/год
Реальная ошибка выше из-за:
- Перекрытий в час пик
- Плохого освещения вечером
- Традиционной одежды (сари, тюрбаны)
Реалистичные оценки потерь:
- Для 56 автобусов: 12–20 млн₽/год
- Для 300 автобусов: 70–120 млн₽/год
Решение: переход к специализированным камерам
Техническое улучшение — установка камер на уровне лица с углом обзора 120°:
- Точность до 99.5%+
- Соответствие DPDPA сохраняется
Экономическое обоснование (для 56 автобусов):
- Стоимость установки: 23.7 млн₽
- Экономия: 12–20 млн₽/год
- ROI: 51–84% годовых
- Срок окупаемости: 14–23 месяца
Главное — защита от системных рисков: штрафов, репутационных потерь, мошенничества.
Статус: ведутся переговоры по интеграции с компанией, предоставляющей доступ к системам электробусов, для расширения покрытия и снижения затрат.
Уроки для руководителей ИИ-проектов
Ограничения — драйвер инноваций
Необходимость работать с переменным размером лиц привела к созданию Adaptive Face Extractor с мультимасштабными свёртками и механизмом внимания.
Вывод: если бы камеры были идеальными с самого начала, мы бы не создали это решение. Теперь оно — наше конкурентное преимущество.
ИИ должен решать бизнес-проблему, а не техническую
Цель была не «распознать лицо с 99.99% точностью», а «посчитать деньги и выявить обман».
Формула успеха: Успех_ИИ = Бизнес_цель × Техническая_реализуемость / Сложность_внедрения. Мы максимизировали первую переменную.
Работа из России возможна — при стратегии
Я не переезжал в Индию. Но:
- Сделал одну командировку для сбора данных
- Договорился с локальными партнёрами
- Обеспечил соответствие законодательству
- Построил автономную систему
Ключевой принцип: «Управляй стратегически, делегируй операционно».
ИИ нужен не только для оптимизации, но и для честности
Мы не хотели просто ускорить подсчёт — мы хотели узнать правду. ИИ стал инструментом прозрачности, который показал:
- 22% рейсов имели критические расхождения
- Системный обман — не случайность, а паттерн
- Защита дохода важнее технического совершенства
Заключение: метафора проекта
«ИИ забирает у человека мотыгу и даёт ему пульт от дистанционно управляемого трактора».
Но в этом проекте пульт показал кое-что ещё: трактор ехал не туда, куда говорил водитель.
Проект демонстрирует три ключевых принципа моей работы:
- Стратегия важнее технологии. Поэтапный подход спас проект от провала.
- Финансовое мышление. Каждый технический риск оценивался через призму потерь и ROI — это помогло защищать бюджет и масштабировать.
- Международный масштаб. Успешно внедряем решения за рубежом, соблюдая местное законодательство и работая с партнёрами.
Следующие шаги
- Сбор первичных результатов: 90 дней для отладки алгоритма
- Масштабирование: переход с 12 на 56 автобусов к апрелю 2026 года
- Установка специализированных камер для повышения точности до 99.5%+
- Интеграция с электробусами: переговоры с поставщиком систем
- Адаптация решения для других штатов Индии и соседних стран