Заказ закрыт
Требуется MVP по распознаванию лиц

Бюджет: по договоренности
Прошу оценить отдельно этап 1 и этап 2. Нужны минимальные сроки и адекватная цена. 
Язык программирования Python или Golang 

MVP. Распознавание с видеокамер
GPU-декодирование (FFmpeg + CUDA)

Использовать FFmpeg с hwaccel cuvid. Кодек H.265 или H.264
Поток из FFmpeg отдавать как CUDA-память (CUDA Context), без копирования в RAM.
Бенчмарк: 3 потока 1080p@15fps(640х480 20-25fps) — CPU usage 0% (допустимо 1-2% на парсинг пакетов).

Детекция объектов (YOLOv8n + TensorRT)
Модель: YOLOv8n, экспорт в TensorRT (FP16).
Классы: только person, car (фильтр на выходе).
Вход: тензор на GPU (прямо из декодера).
Выход: bbox + confidence.

Детекция лиц (RetinaFace)
Запускать только внутри bbox person (не на всем кадре).
Можно упрощенную версию (MobileNet-бэкбон).
Выход: bbox лица, landmark (5 точек) — нужно для alignment.

Распознавание лиц (MobileFaceNet)
Модель: MobileFaceNet, выход embedding 512-d.
Перед подачей делать alignment лица по landmark.
Embedding сравнивать с базой через косинусную метрику (pgvector).
Порог неизвестного лица: 0.6 (настраивается).

Трекинг (DeepSORT)
Вход: bbox от YOLO + feature vector (можно взять эмбеддинг лица, если есть, или отдельный appearance feature).
Присваивать уникальный track_id.
Не терять ID при пересечениях/кратковременных пропаданиях.

Локальный viewer (Tkinter)
Сетка 2×2 (3 камеры + 1 пустой/инфо).
Обновление через OpenCV (imshow) — но брать уже готовые кадры с аналитикой.
Минимум CPU: просто отрисовка, без доп обработки.

Второй этап:

Алерты (Redis + Telegram)
При обнаружении неизвестного лица (confidence < порога) пушить задачу в Redis List (RPUSH).
Отдельный воркер читает Redis (BLPOP) и шлет в Telegram через Bot API.
В сообщении: камера, время, track_id, само лицо (кроп).

База данных (PostgreSQL + pgvector)
Таблица faces: id, embedding (vector(512)), name, metadata.
Таблица events: id, camera_id, timestamp, track_id, face_id (NULL если неизвестный), image_path (опционально).
Индексы: HNSW на embedding для быстрого поиска.

Оптимизация (Zero CPU)
Весь pipeline — данные лежат на GPU, пока не уйдут в базу/алерт.
RAM используется только для передачи в PostgreSQL и Telegram.
Профилировать через nvidia-smi и htop. Цель: GPU 60-70%, CPU минимально, т.к. планируется до 8 видеокарт на узел.
Опубликован 19.02.2026 в 16:52
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.