BrainCam · Документация · Архитектура и требования
Документация

Описание архитектуры и системных требований BrainCam

Правообладатель: Индивидуальный предприниматель Шпагин Виктор Владимирович (ОГРНИП 326774600295348, ИНН 732500207541). Дата документа: 04.09.2026. Версия документа: 1.0. Сайт: https://braincam.ru

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


Оглавление

  1. Общее описание архитектуры
  2. Состав программы и структура исходного кода
  3. Технологический стек
  4. Собственные обученные модели
  5. Хранение данных на объекте заказчика
  6. Сетевое устройство и изоляция
  7. Масштабирование и отказоустойчивость
  8. Инфраструктура правообладателя
  9. Системные требования
  10. Перечень компонентов открытого исходного кода с лицензиями
  11. Подтверждение независимости от иностранного программного обеспечения

1. Общее описание архитектуры

BrainCam — автономная программа, устанавливаемая на компьютер заказчика внутри его локальной сети. Модель «программное обеспечение как услуга» не используется: облачных компонентов нет, подключения к серверам правообладателя при работе не требуется, доступ в интернет не нужен.

Программа построена по трёхуровневой схеме, целиком размещённой на одном компьютере участка:

Уровень Назначение
Приём изображения получение кадров с камер участка по локальной сети либо обработка переданной видеозаписи
Обработка и учёт обнаружение объектов, ведение между кадрами, подсчёт, чтение стандартизованных обозначений, сверка с плановыми данными, сохранение кадров-доказательств
Представление экран участка в браузере по локальной сети объекта, отчётный документ, журнал событий

Единица развёртывания — участок. Один компьютер обслуживает один участок и до шести камер на нём. Расширение выполняется добавлением компьютеров; между ними передаются числовые результаты, а не видео.


2. Состав программы и структура исходного кода

Компонент Назначение
Приём изображения чтение потоков камер участка и видеозаписей
Детектор объектов обнаружение объектов учёта собственной обученной моделью
Ведение объектов связывание объекта между кадрами, исключение повторного счёта
Счёт учёт по пересечению линии и по нахождению в рабочей зоне участка
Чтение обозначений штриховые коды, QR, DataMatrix, разбор структуры GS1, проверка контрольных сумм
Сверка сопоставление плановых данных документа с фактическими, расчёт расхождений
Отчёт и журнал формирование отчётного документа по участку, журнал событий, кадры-доказательства
Экран участка представление текущего состояния участка в браузере по локальной сети
Настройка участка применение файла настройки: рабочая зона, линия счёта, габариты объекта учёта, роли камер
Лицензирование проверка файла-ключа, срока действия, работа без подключения к сети

Структура каталогов исходного кода: src/ — модули обработки и учёта; модели/ — файлы обученных моделей (в системе контроля версий не хранятся из-за объёма); участки/ — файлы настройки участков; admin/ — кабинет настройки участков правообладателя (в поставку заказчику не входит).


3. Технологический стек

Используются исключительно компоненты с открытым исходным кодом под разрешительными лицензиями, допускающими коммерческое использование без отчислений и без раскрытия исходного кода продукта.

  • Python 3.13 — язык реализации. Лицензия PSF License.
  • PyTorch / torchvision — вычисления и исполнение моделей. Лицензия BSD 3-Clause.
  • OpenCV — работа с изображением: чтение кадров, преобразования, отрисовка разметки. Лицензия Apache 2.0.
  • zxing-cpp — чтение штриховых кодов, QR и DataMatrix. Лицензия Apache 2.0.
  • NumPy, Pillow — вычисления над массивами и работа с изображениями. Лицензии BSD 3-Clause и MIT-CMU.
  • YOLOX — архитектура детектора, обучаемая с нуля. Лицензия Apache 2.0.
  • ByteTrack — алгоритм ведения объектов, к внедрению. Лицензия MIT.
  • OpenVINO — среда исполнения моделей на процессоре и встроенной графике Intel. Лицензия Apache 2.0.
  • Операционная система семейства Linux (текущая — Ubuntu 24.04 LTS; см. раздел 9).

Сознательно исключены: компоненты под лицензиями AGPL и GPL, компоненты с правом отзыва лицензии правообладателем, а также компоненты, защищённые патентами третьих лиц. Обоснование каждого исключения — ../legal-hardware-licenses.md и ../ПЛАН-РАЗРАБОТКИ.md §5.

Загрузка компонентов из сети во время работы не выполняется. Все библиотеки и файлы моделей входят в дистрибутив; проверка сборки без доступа в сеть — обязательный шаг выпуска версии.


4. Собственные обученные модели

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

  • Обучение выполняется на вычислительных ускорителях в инфраструктуре российского провайдера (раздел 8).
  • Обучающие данные — наборы с лицензиями, допускающими коммерческое использование (CC0, CC BY, Apache 2.0), собственные съёмки и синтетические данные. Реестр источников с лицензией по каждому — ../обучение/правила/dannye.md.
  • Файл модели поставляется в составе дистрибутива и работает на компьютере заказчика локально.
  • Состав обучающих данных, параметры и веса моделей являются коммерческой тайной правообладателя и в документацию не выносятся.

5. Хранение данных на объекте заказчика

Все данные хранятся на компьютере заказчика; передача во внешние хранилища не выполняется.

Каталог Содержимое
/opt/braincam/ программа, среда исполнения, файл модели
/etc/braincam/ настройка участка, перечень камер, файл лицензии
/var/lib/braincam/ кадры-доказательства, журнал событий, сформированные отчёты
/var/log/braincam/ журнал работы программы

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

Журнал событий ведётся в режиме дополнения: записи не изменяются и не удаляются задним числом. Срок хранения кадров и журнала задаётся в настройке и ограничивается объёмом диска.


6. Сетевое устройство и изоляция

  • Входящие соединения: только служба представления, порт 8080 (значение по умолчанию, изменяется в настройке), доступна в локальной сети объекта.
  • Исходящие соединения: программа не устанавливает исходящих соединений в интернет. Обновления и лицензия доставляются файлом.
  • Камеры: программа только читает потоки, не изменяя настроек камер и видеорегистратора.
  • Публикация наружу не требуется и не рекомендуется: для работы достаточно локальной сети.
  • Права: программа работает от отдельной системной учётной записи без прав администратора и без права входа в систему.

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


7. Масштабирование и отказоустойчивость

  • Расширение — горизонтальное: на каждый новый участок ставится отдельный компьютер по тем же требованиям. Наращивание мощности одного сервера не требуется, центрального сервера в архитектуре нет.
  • Между компьютерами участков передаются числовые результаты, а не видео, поэтому сводная картина по объекту собирается без нагрузки на сеть.
  • Единой точки отказа нет: отказ компьютера одного участка не влияет на работу остальных.
  • Восстановление участка после отказа оборудования — переустановка программы и перенос двух каталогов (настройка и данные); процедура описана в инструкции по установке.

8. Инфраструктура правообладателя

Продукт работает автономно у заказчика, однако правообладатель эксплуатирует собственную инфраструктуру для подготовки внедрений и обучения моделей. Вся она размещена на территории Российской Федерации.

Назначение Размещение
Кабинет настройки участков (подготовка файла настройки по записям заказчика) виртуальный сервер АО «Селектел» (ИНН 7810962785), Российская Федерация
Обучение моделей вычислительные ускорители в инфраструктуре АО «Селектел», Российская Федерация
Хранение обучающих наборов и файлов моделей объектное хранилище АО «Селектел», Российская Федерация
Исходный код приватный репозиторий системы контроля версий и его копия на сервере правообладателя в Российской Федерации (копия — к организации, ../обучение/правила/pasport-pravila.md §5)

Персональные данные заказчиков и записи с их камер в этой инфраструктуре на постоянной основе не размещаются; порядок обращения с переданными материалами — документ «Меры защиты данных».


9. Системные требования

9.1. Компьютер

Параметр Требование
Платформа ПК архитектуры x86-64 с поддержкой набора инструкций AVX2
Процессор не менее 4 ядер, со встроенным графическим ядром
Оперативная память не менее 16 ГБ
Накопитель твердотельный, не менее 256 ГБ
Сеть проводное подключение к локальной сети объекта
Дискретный графический ускоритель не требуется
Доступ в интернет не требуется

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

9.2. Операционная система

Текущая поддерживаемая система — Ubuntu 24.04 LTS. Ведётся подготовка сборок под Astra Linux и RED OS / ALT в соответствии с требованием о поддержке двух доверенных операционных систем (постановление Правительства Российской Федерации № 1937; срок для прикладного программного обеспечения — 1 июня 2027 года).

9.3. Камеры

Стационарные IP-камеры заказчика, передающие поток по локальной сети. Требования к монтажу, освещению и разрешению — документ «Требования к объекту» (../trebovaniya-k-obektu.md). Камеры являются источником данных и в состав поставки программы не входят.


10. Перечень компонентов открытого исходного кода с лицензиями

Компонент Назначение Лицензия
Python язык реализации PSF License
PyTorch вычисления и исполнение моделей BSD 3-Clause
torchvision архитектуры детекторов и преобразования изображений BSD 3-Clause
OpenCV работа с изображением Apache 2.0
zxing-cpp чтение штриховых кодов, QR, DataMatrix Apache 2.0
NumPy вычисления над массивами BSD 3-Clause
Pillow работа с изображениями MIT-CMU
YOLOX архитектура детектора, обучаемая с нуля Apache 2.0
ByteTrack (к внедрению) ведение объектов между кадрами MIT
OpenVINO исполнение моделей на процессоре и встроенной графике Apache 2.0
Linux (Ubuntu Server LTS) операционная система GPL v2

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


11. Подтверждение независимости от иностранного программного обеспечения

  1. Обязательных иностранных компонентов в составе программы нет. Используются собственный код правообладателя и открытые библиотеки, распространяемые международными сообществами разработчиков по разрешительным лицензиям. Ни один компонент не требует лицензионного сервера, активации через зарубежные сервисы и не передаёт данные их владельцам.
  2. Облачные сервисы не используются. Программа работает автономно на оборудовании заказчика.
  3. Данные не покидают объект заказчика и, следовательно, не покидают территорию Российской Федерации.
  4. Обученные модели — собственная разработка правообладателя, обучение выполнено на вычислительных мощностях в Российской Федерации на данных с проверенными лицензиями.
  5. Инфраструктура правообладателя размещена у российского юридического лица АО «Селектел» на территории Российской Федерации.
  6. Правообладатель — Индивидуальный предприниматель Шпагин Виктор Владимирович, зарегистрированный в Российской Федерации, налоговый резидент Российской Федерации.

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