КапиТех / KapiVision / Документация

Документация программного обеспечения KapiVision

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

Свидетельство Роспатент № 2026613767 от 10.02.2026 · Правообладатель: ООО «КапиТех» · Версия документации: 2.0 от 08.05.2026

Описание функциональных характеристик

Полное наименование: KapiVision — система компьютерного зрения для автоматизированного визуального контроля и семантического анализа на основе каскадной архитектуры нейросетевой детекции и мультимодальных языковых моделей.

Правообладатель: ООО «КапиТех», ИНН 1655512058, ОГРН 1261600002839. Автор: Капитонов Е.А.

Назначение программы

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

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

Функциональные возможности

Модуль детекции и классификации объектов

Модуль обеспечивает обнаружение объектов в изображении или в отдельных кадрах видеопотока с использованием сверточных нейронных сетей детекции объектов, представленных в формате обмена нейросетевыми моделями ONNX и совместимых с библиотекой исполнения нейросетей ONNX Runtime, а также с библиотекой ускоренного исполнения NVIDIA TensorRT. Возможности:

Модуль отслеживания объектов (трекинг)

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

Модуль каскадного семантического анализа

Модуль обеспечивает формирование текстовых описаний визуальной сцены на русском языке с использованием мультимодальной языковой модели (Vision-Language Model, VLM). Возможности:

Модуль адаптивных триггеров

Модуль определяет моменты, в которые целесообразно выполнить ресурсоёмкий семантический анализ, исходя из условий: превышение уверенности детекции установленного порога; появление в кадре нового объекта; истечение заданного временного интервала; пользовательские условия из конфигурационного файла.

Программный интерфейс REST

Программа предоставляет интерфейс на основе архитектурного стиля REST для взаимодействия с внешними информационными системами. Реализация на базе HTTP/HTTPS и формата обмена данными JSON.

МетодURIНазначение
GET/healthПроверка работоспособности сервиса
GET/statsПолучение статистики обработки
POST/analyze/imageАнализ изображения (отдельный файл)
POST/analyze/jsonАнализ изображения, переданного в формате Base64
POST/analyze/vlm-onlyТолько семантический анализ через VLM
POST/analyze/videoАнализ видеопотока (стриминговый ответ)
GET/docsИнтерактивная документация API (Swagger UI)

Подсистема поддержки множественных аппаратных платформ

Унифицированный программный интерфейс детекции с адаптерами под различные аппаратные платформы — переносимость между вычислительными средами без изменения прикладного кода. Поддерживаемые платформы:

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

Технические характеристики

Языки программирования и технологии

Основной языкPython версии 3.10 и выше
ТипизацияСтатическая типизация через аннотации (type hints)
ПарадигмаОбъектно-ориентированное программирование с элементами функционального
АсинхронностьАсинхронное программирование на основе библиотеки asyncio
Архитектурный паттерн детекцииАдаптер (Adapter)
Архитектурный паттерн обработкиКонвейер (Pipeline)

Используемые открытые программные компоненты

КомпонентЛицензияНазначение
PyTorchBSD-3-ClauseФреймворк глубокого обучения
OpenCVApache 2.0Библиотека обработки изображений
NumPyBSD-3-ClauseЧисленные вычисления
FastAPIMITКаркас REST API
UvicornBSD-3-ClauseASGI-сервер
PydanticMITВалидация данных
supervision (Roboflow)MITТрекинг объектов (ByteTrack)
YOLOX (Megvii BaseDetection)Apache 2.0Свёрточная нейронная сеть детекции объектов (anchor-free YOLO)
ONNX RuntimeMITСреда исполнения нейросетевых моделей в формате ONNX
PillowHPNDРабота с растровыми изображениями
aiohttpApache 2.0Асинхронный HTTP-клиент
OllamaMITЛокальный сервер мультимодальных языковых моделей
PyYAMLMITПарсинг конфигурационных файлов

Все перечисленные компоненты являются открытым программным обеспечением с лицензиями, разрешёнными к использованию в Российской Федерации, и не включены в список запрещённых компонентов, указанный в подпункте «б» пункта 5 Постановления Правительства Российской Федерации от 16.11.2015 № 1236.

Модели глубокого обучения

МодельТипЛицензия весов
YOLOX-S / YOLOX-Tiny (Megvii BaseDetection)Детектор объектов с архитектурой anchor-free YOLO; экспорт в ONNX для исполнения через ONNX Runtime / TensorRT / HailoRTApache 2.0
Qwen2.5-VL-3B-InstructVision-Language ModelApache 2.0

Обе модели могут быть заменены на альтернативные или дообучены на пользовательских данных без изменения архитектуры программы.

Поддерживаемые операционные системы

Российские операционные системы (из Единого реестра российского ПО):

Общесистемные операционные системы (для разработки и сборки): Ubuntu 22.04 LTS+, Debian 12+, Microsoft Windows 10/11 (через WSL2), Raspberry Pi OS Bookworm, NVIDIA JetPack 6.0+.

Производительность

Измерения проведены на эталонных моделях YOLOX-S (детекция) и Qwen2.5-VL-3B (семантический анализ) при разрешении входного изображения 640×640 пикселей:

ПлатформаРежимПроизводительность (FPS)
NVIDIA RTX 3090 TiCUDA 12.xБолее 100
NVIDIA RTX 3060CUDA 12.x60–80
NVIDIA Jetson Orin Nano SuperTensorRT FP1690 и более
Raspberry Pi 5 + Hailo-8LHailoRT (NPU)50–60
Intel Core i7 (CPU-режим)CPU5–10

Область применения

  1. Промышленный контроль качества продукции: обнаружение дефектов, нарушений упаковки, несоответствий маркировки на производственных линиях.
  2. Розничная торговля и сетевой ретейл: подсчёт посетителей, аналитика очередей, оценка выкладки товаров на витринах, контроль маркировки «Честный Знак».
  3. Общественная безопасность и охрана: обнаружение нарушений, контроль периметра, учёт посетителей объектов.
  4. Транспортная инфраструктура: распознавание ТС, оценка дорожной обстановки, анализ состояния дорожного полотна.
  5. Здравоохранение и фармацевтика: контроль соблюдения санитарных норм, проверка маркировки лекарственных препаратов.
  6. Пищевая промышленность: сортировка продукции, проверка соответствия упаковки, контроль маркировки.
  7. Электроника: проверка печатных плат, контроль сборки изделий, выявление дефектов.
  8. Автомобилестроение: контроль правильности сборки, проверка окраски, выявление внешних дефектов.
  9. Научные исследования в области компьютерного зрения и искусственного интеллекта.

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

Отнесение к программному обеспечению в сфере ИИ

Программное обеспечение KapiVision относится к сфере искусственного интеллекта в соответствии с критериями, установленными Приказом Министерства экономического развития Российской Федерации от 29 июня 2021 года № 392.

Классы по Классификатору программ для ЭВМ и баз данных

В соответствии с Приказом Минцифры России от 22.09.2020 № 486 программное обеспечение KapiVision относится к классам:

Язык интерфейса

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

Английский язык — для технических идентификаторов программного интерфейса REST (имена методов, полей JSON) в соответствии с общепринятой отраслевой практикой.

Информация, необходимая для установки

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

Минимальные требования (CPU-режим)

ПроцессорНе менее 4 физических ядер с поддержкой AVX2 (Intel Core i5-8xxx или AMD Ryzen 5 3xxx и выше)
Оперативная памятьНе менее 8 ГБ
Дисковое пространствоНе менее 10 ГБ свободного места на системном диске
Операционная системаUbuntu 22.04 LTS, Debian 12, Windows 10/11 (с WSL2), Raspberry Pi OS Bookworm
Среда исполненияPython версии 3.10 и выше; Docker версии 24.0 и выше
Сетевое подключениеДоступ к сети Интернет для первоначального скачивания зависимостей и моделей

Рекомендуемые требования (GPU-режим, полная производительность)

ПроцессорНе менее 8 физических ядер
Оперативная памятьНе менее 16 ГБ
Графический ускорительNVIDIA с поддержкой CUDA 11.x или 12.x, не менее 8 ГБ видеопамяти (рекомендуется RTX 3060 и выше)
Дисковое пространствоНе менее 30 ГБ свободного места (с учётом моделей Vision-Language)
ДрайверыNVIDIA CUDA Toolkit 12.x, NVIDIA Container Toolkit

Требования для встраиваемых платформ

Способы получения экземпляра ПО

В соответствии с Методическими рекомендациями ЦКИТ ООО «КапиТех» предоставляет экземпляр программного обеспечения KapiVision одним из следующих способов:

Удалённый доступ к развёрнутому экземпляру (основной способ)

ПротоколHTTPS (порт 443)
Адрес экземпляраДоступ к развёрнутому экземпляру предоставляется по запросу — обратитесь на e@kapitech.ru
Способ аутентификацииHTTP Basic Authentication (учётные данные предоставляются эксперту в составе подачи)
Сертификат TLSдействующий сертификат Let's Encrypt
Место физического размещенияофис ООО «КапиТех», 420043, Республика Татарстан, г. Казань, ул. Вишневского, д. 59А, корп. 3, кв. 135
Режим доступностикруглосуточно, 7 дней в неделю

Архив дистрибутива (альтернативный способ)

Архив kapivision-1.0.tar.gz (содержит исходные тексты программы, Dockerfile, docker-compose.yml, конфигурационные файлы и скрипты развёртывания) предоставляется по запросу на электронную почту e@kapitech.ru в течение 1 рабочего дня. Архив подготавливается и хранится на инфраструктуре ООО «КапиТех» на территории Российской Федерации. Ссылка на скачивание направляется в ответном письме.

Преднастроенный образ виртуальной машины (дополнительный способ)

Образ формата OVA (Ubuntu 22.04 + Docker + KapiVision + модели машинного обучения) предоставляется по запросу в срок до 5 рабочих дней. Размер образа не превышает 10 ГБ. Образ может быть импортирован в VMware Workstation или Oracle VirtualBox.

Способы установки

Установка через Docker Compose (рекомендуемый способ)

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

Шаг 1. Распаковать полученный архив:

tar -xzf kapivision-1.0.tar.gz
cd kapivision-1.0

Шаг 2. Запуск контейнеров:

docker compose -f docker/docker-compose.yml up -d

В результате будут запущены: контейнер kapivision-vlm (сервер мультимодальной языковой модели на базе Ollama, порт 11434); контейнер kapivision-api (сервер REST API программного обеспечения, порт 8000).

Шаг 3. Загрузка модели мультимодального анализа:

docker exec kapivision-vlm ollama pull qwen2.5-vl:3b

Шаг 4. Проверка работоспособности:

curl http://localhost:8000/health

Ожидаемый ответ:

{"status": "ok", "yolo_loaded": true, "vlm_loaded": true}

Установка через пакетный менеджер Python

Способ применим для случаев интеграции в собственное приложение на Python.

python3 -m venv .venv
source .venv/bin/activate          # Linux/macOS
.venv\Scripts\activate              # Windows
pip install -e .[all]
ollama serve &
ollama pull qwen2.5-vl:3b
uvicorn kapivision.api.main:app --host 0.0.0.0 --port 8000

Установка на NVIDIA Jetson

  1. Убедиться в наличии установленного пакета JetPack версии 6.0 или выше.
  2. Распаковать полученный архив.
  3. Запуск автоматизированного сценария установки: bash scripts/setup_jetson.sh — сценарий выполняет установку зависимостей, экспорт модели детектора в формат TensorRT FP16 и регистрацию сервисного юнита systemd.

Установка на Raspberry Pi 5 с ускорителем Hailo-8L

  1. Убедиться в наличии установленного драйвера HailoRT версии 4.19 или выше.
  2. Распаковать полученный архив.
  3. Запуск автоматизированного сценария установки: bash scripts/setup_rpi5.sh

Первоначальная проверка установки

После завершения установки рекомендуется выполнить проверку базовой функциональности:

# Состояние сервиса
curl http://localhost:8000/health

# Детекция на тестовом изображении
curl -X POST http://localhost:8000/analyze/image \
     -F file=@samples/test_image.jpg

# Доступ к Swagger UI
http://localhost:8000/docs

Контакты для технических консультаций

Капитонов Евгений Александрович — Генеральный директор, руководитель разработки.

Электронная почта: e@kapitech.ru. Телефон: +7 (960) 069-81-52. Будние дни с 10:00 до 19:00 по московскому времени.

Информация, необходимая для эксплуатации

Настоящий раздел адресован системному администратору эксплуатирующей организации, осуществляющему сопровождение программного обеспечения KapiVision в продуктивной среде заказчика. Раздел содержит сведения о повседневном запуске и сопровождении ПО, мониторинге его работы, регламентных операциях, резервном копировании, диагностике типовых проблем и квалификационных требованиях к эксплуатирующему персоналу.

Требования к среде эксплуатации

Программа предназначена для развёртывания на серверах, рабочих станциях или встраиваемых вычислительных платформах эксплуатирующей организации. Конкретные минимальные и рекомендуемые требования к аппаратному и системному программному обеспечению приведены в Разделе 2 «Установка».

Дополнительные эксплуатационные требования:

Запуск, остановка, перезапуск

В режиме Docker Compose

# Запуск всех контейнеров (фоновый режим)
docker compose -f docker/docker-compose.yml up -d

# Остановка
docker compose -f docker/docker-compose.yml down

# Перезапуск без удаления контейнеров
docker compose -f docker/docker-compose.yml restart

# Просмотр статуса контейнеров
docker compose -f docker/docker-compose.yml ps

В режиме службы systemd (Linux)

На платформах Linux, включая Astra Linux, ALT Linux, РЕД ОС, МСВСфера, программное обеспечение работает в виде службы systemd. Сервисный файл kapivision.service устанавливается автоматическим сценарием.

# Запуск службы
sudo systemctl start kapivision

# Остановка службы
sudo systemctl stop kapivision

# Перезапуск
sudo systemctl restart kapivision

# Включение автозапуска при загрузке системы
sudo systemctl enable kapivision

# Просмотр статуса
sudo systemctl status kapivision

На NVIDIA Jetson

На платформе NVIDIA Jetson программное обеспечение запускается в виде службы kapivision-jetson.service. Управление производится теми же командами systemctl.

На Raspberry Pi 5 с Hailo-8L

На платформе Raspberry Pi программное обеспечение запускается в виде службы kapivision-rpi.service. Управление производится теми же командами systemctl.

Мониторинг работы

Метрики работоспособности

Программа предоставляет следующие точки получения метрик:

ТочкаНазначениеРекомендуемая частота опроса
GET /healthПроверка готовности (liveness/readiness probe)каждые 30 секунд
GET /statsНакопленные статистики обработки (FPS, число анализов, время отклика VLM)каждые 5 минут

Пример штатного ответа /health:

{
  "status": "ok",
  "yolo_loaded": true,
  "vlm_loaded": true,
  "platform": "cuda",
  "uptime_seconds": 86400,
  "queue_depth": 2
}

Логи

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

Логи имеют структурированный формат JSON и содержат поля timestamp, level, module, message, request_id. Уровень логирования настраивается параметром logging.level в конфигурационном файле (значения: DEBUG, INFO, WARNING, ERROR; по умолчанию INFO).

Журналы автоматически ротируются средствами journald (по умолчанию хранение 1 ГБ или 30 дней, в зависимости от настроек ОС). Дополнительная ротация средствами программного обеспечения не выполняется.

Контроль очереди и производительности

Поле queue_depth в ответе /health отражает количество кадров в очереди обработки. Нормальные значения — 0…4. Значения выше 10 указывают на отставание от темпа поступления кадров, что требует вмешательства администратора (см. раздел «Типовые проблемы»).

Поле fps в ответе /stats отражает текущую производительность. Резкое падение FPS относительно эталонных значений (см. таблицу производительности в Разделе 1) — признак проблем с оборудованием или с моделями.

Резервное копирование

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

Что копируетсяРасположениеЧастота
Конфигурационные файлыconfigs/при каждом изменении
Кастомные модели машинного обучения (если обучались под заказчика)models/при каждом изменении
Файлы предвычисленных аннотацийsamples/*.annotations.jsonеженедельно
Журналы работы (если требуется длительное хранение)системный журнал journaldв соответствии с политикой хранения логов организации

Резервное копирование выполняется штатными средствами эксплуатирующей организации (rsync, BackupPC, Bareos, отраслевые системы резервного копирования). Восстановление производится возвратом скопированных файлов в исходные расположения и перезапуском службы.

Регламентные операции

Обновление программного обеспечения

Обновление выполняется получением новой версии архива дистрибутива и применением её на месте. Процедура:

  1. Получить новую версию архива через службу технической поддержки ООО «КапиТех».
  2. Создать резервную копию текущей конфигурации и моделей.
  3. Остановить службу: sudo systemctl stop kapivision.
  4. Распаковать новую версию поверх текущей; конфигурационные файлы при этом сохраняются автоматически (новые параметры добавляются в файл с пометкой # new in 1.x).
  5. Запустить службу: sudo systemctl start kapivision.
  6. Проверить работоспособность: curl http://localhost:8000/health.

Очистка кэша моделей

Предобученные модели машинного обучения сохраняются в директории ~/.ollama/models (для мультимодальной языковой модели) и в директории kapivision/weights/ (для детекторов объектов). При нехватке свободного дискового пространства эти каталоги могут быть очищены; файлы моделей будут повторно загружены при следующем запуске службы.

Проверка целостности TLS-сертификата

Если экземпляр программного обеспечения опубликован через HTTPS с использованием сертификата Let's Encrypt и обратного прокси-сервера (Caddy, nginx, traefik), необходимо периодически контролировать срок действия сертификата (типичный срок — 90 дней, автоматическое продление за 30 дней до истечения). Проверка: echo | openssl s_client -connect ваш_адрес:443 2>/dev/null | openssl x509 -noout -dates.

Типовые проблемы и порядок их диагностики

«Очередь растёт, FPS падает»

Признак: поле queue_depth в ответе /health постоянно превышает 10; поле fps существенно ниже эталонного значения для платформы.

Возможные причины и проверки:

  1. Перегрев аппаратного ускорителя — проверить температуру (nvidia-smi для NVIDIA, vcgencmd measure_temp для Raspberry Pi); при необходимости улучшить охлаждение.
  2. Конкурирующая нагрузка на ускоритель — проверить, не занят ли GPU другим процессом (nvidia-smi); при необходимости остановить конкурирующий процесс.
  3. Слишком высокое разрешение источника — снизить разрешение видеопотока в конфигурационном файле или на стороне источника.

«Семантический анализ (VLM) не отвечает»

Признак: поле vlm_loaded в ответе /health возвращает false; запросы /analyze/vlm-only возвращают ошибку HTTP 503.

Возможные причины и проверки:

  1. Сервер Ollama не запущен — проверить статус (systemctl status ollama на Linux), при необходимости перезапустить.
  2. Недостаточно оперативной памяти — VLM-модель Qwen2.5-VL требует не менее 4 ГБ свободной памяти; проверить (free -h), при необходимости остановить конкурирующие процессы.
  3. Модель не загружена — выполнить повторную загрузку: ollama pull qwen2.5-vl:3b.

«Сертификат TLS истекает»

Признак: предупреждение в журнале или сообщение мониторинга об истечении срока действия сертификата.

Возможные причины и проверки:

  1. Автоматическое продление Let's Encrypt не выполняется — проверить, что 80-й порт открыт для HTTP-01 challenge; перезапустить обратный прокси.
  2. Использован сертификат внутреннего удостоверяющего центра — обновить сертификат средствами УЦ организации.

«Источник видеопотока (RTSP-камера) недоступен»

Признак: в журналах сообщения о невозможности подключения к URL источника; запросы анализа возвращают ошибку.

Возможные причины и проверки:

  1. Сетевая доступность — проверить (ping адрес_камеры; telnet адрес_камеры 554 для RTSP).
  2. Учётные данные камеры изменены — обновить параметры подключения в конфигурационном файле.
  3. Камера перезагружается / находится в режиме обслуживания — повторить попытку через 1–2 минуты.

Роли эксплуатирующего персонала

Системный администратор

Квалификация: высшее или среднее профессиональное образование в области информационных технологий; опыт администрирования Linux-систем и контейнеров Docker не менее 2 лет; навыки работы с системами мониторинга (Zabbix, Prometheus, Grafana или эквивалент).

Зоны ответственности:

Оператор

Квалификация: базовые навыки работы с веб-интерфейсами; навыки работы с системой оповещений эксплуатирующей организации.

Зоны ответственности:

Эскалация в службу технической поддержки правообладателя

Контактные данные службы технической поддержки ООО «КапиТех»:

При обращении в службу технической поддержки рекомендуется приложить выгрузку журналов (journalctl -u kapivision --since '1 hour ago' > /tmp/kapivision.log) и ответ /health на момент возникновения проблемы.

Для просмотра и получения доступа к Демо-стенду обратитесь на e@kapitech.ru