Пост-призер новогоднего NUCо-конкурса Intel.

Мы в компании ComBox работаем с Intel NUC начиная с четвертого поколения и используем их для исполнения нейронных сетей в объектовой видеоаналитике. В 2014 году мы начали знакомство с модели Intel NUC4i5MYHE, потом решения были мигрированы на Intel NUC5i3RYB, сейчас применяются Intel NUC8i5BEK.

image
Пример решения на базе Intel NUC: сервер на 8 Intel NUC8i5BEK в форм-факторе 1U и Outdoor Box NUC (промышленный безвентиляторный ПК для наружного использования) на базе Intel NUC5i3RYB

image
Пример решения на базе Intel NUC: сервер на 8 Intel NUC8i5BEK в форм-факторе 1U и Outdoor Box NUC (промышленный безвентиляторный ПК для наружного использования) на базе Intel NUC5i3RYB

Основное назначение устройств, в нашем случае – это инференс, процесс непрерывного исполнения предобученных нейронных сетей для детекции и распознавания марок, моделей и номеров транспортных средств.

Области применения решений:

  • Фото-видеофиксация нарушений правил дорожного движения (нарушение скоростного режима, нарушение разметки, правил парковки и остановки ТС и т.д.).
  • Интеграция решений по распознаванию и детекции объектов в СКУД.

Пример фиксации нарушений:

image
Пример фиксации и нарушения ПДД и траекторный анализ движения ТС на ЖД-переезде

Для того чтобы зафиксировать подобное нарушение необходимо:

  1. Определить разрешен ли проезд в данный момент времени
  2. Определить факт наличия ТС в контролируемой зоне
  3. Определить местоположение номерного знака ТС
  4. Распознать содержание номерного знака
  5. Определить марку и модель ТС (и, опционально, цвет)
  6. Зафиксировать событие в локальной БД с указанием номерного знака, марки, модели, цвета ТС и траектории его движения в области правонарушения
  7. Предоставить доступ по требованию к событиям за период для систем сбора данных

Общая схема работы выглядит следующим образом:

  1. Видеокамера направлена на одну или более полос движения ТС
  2. Видеопоток передается на устройства для инференса:
    • В случае централизованного инференса и наличия канала связи – в ДЦ на сервера.
    • В случае наличия технической возможности инференс выполняется непосредственно в камере (на ARM-архитектуре).
    • В случае отсутствия технической возможности инференса в камере и проблем с постоянным устойчивым каналом связи – на устройствах для инференса (промышленные ПК) через коммутатор.
image
Общая схема работы гибридного инференса

Для детекции и распознавания мы используем собственные нейронные сети топологий Darknet19, UNET.

Определение номерного знака автомобиля выполняется в три этапа:

  1. Обнаружение номерной пластины и маскирование остальной части изображения
  2. Поиск углов номерной пластины и ее поворот, чтобы символы располагались вертикально
  3. Распознавание текста на номерной пластине

Все три этапа выполняются нейронной сетью, изначально обученной и написанной на Tensorflow. Выполнение этой сети происходит в Intel OpenVINO. К сожалению, Tensorflow не может задействовать Intel GPU.

Сравнение Tensorflow и OpenVINO в рамках наших задач:

image

Как мы видим, исполнение одной и той же нейросети в Tensorflow и OpenVINO различается по скорости более чем в 2,5 раза в пользу OpenVINO. GPU, на котором мы, в принципе, не может запуститься в Tensorflow, показывает результат в 4 раза лучше, чем исходный на CPU в Tensorflow.

Выбор конечных устройств осуществляется исходя из стоимости ресурсов, необходимых для обработки заданного числа FPS и наличия возможности параллельного исполнения множества сетей на различных видах устройств (в NUC’ах – это CPU и GPU).

Некоторая выдержка данных из таблицы сравнения устройств:

image

Сервер на базе Intel NUC8i5BEK


Назначение – исполнение нейронных сетей, обработка 80-ти потоков RTSP Full HD, 15 FPS, H.264, детекция и распознавание номеров ТС, марок и моделей. Область применения: множество камер, данные с которых без предварительной подготовки направляются в ДЦ для обработки и формирования событий.

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

  • Intel NUC8i5BEK (без корпуса с доработанной системой охлаждения), 8 шт.
  • Модули памяти DDR4 SO-DIMM, 8 Гб, 8 шт.
  • SSD M.2 накопитель, 240Gb, 8 шт.
  • Корпус форм-фактора 1U
  • Маршрутизатор MikroTik (без корпуса с доработанной системой охлаждения), 1 шт.
  • БП, 550 Вт.

image
Сервер для инференса в форм-факторе 1U на базе 8 шт. Intel NUC8i5BEK

Видео 1. Демонстрация работы сервера в форм-факторе 1U на базе 8 шт. Intel NUC8i5BEK

image
Климатические испытания работы сервера под нагрузкой в предельном температурном диапазоне

image
Этап проектирования сервера на базе 8 микрокомпьютеров

Преимущества решения:

  • высокая плотность установки CPU и GPU (64 ядра и 8 шт., соответственно, для 1U) для серверных решений
  • относительно низкая себестоимость при высокой плотности CPU и GPU на 1U
  • энергоэффективность (энергопотребление до 500 Вт при полной 100% нагрузке для 8 SBC)
  • аппаратное декодирование аудио и видеопотоков
  • наличие возможности распределения инференса между CPU и GPU
  • наличие возможности одновременной работы с различными типам данных INT8/FP16/FP32 за счет использования CPU и GPU одновременно

Промышленный безвентиляторный ПК на базе Intel NUC5i3RYB


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

image
Промышленный безвентиляторный ПК на базе Intel NUC5i3RYB

Так как сами микрокомпьютеры не являются промышленными, то для наружной эксплуатации нужен не только корпус, но и соответствующие климатические условия. Нам требовалась защита от пыли и влаги IP66, а также температурный режим эксплуатации от -40 до +50 градусов Цельсия.

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

Для запуска устройства в минусовых температурах мы использовали керамику для подогрева. Для удобства эксплуатации и внедрения в различных сферах были установлены блоки питания широкого диапазона 6-36 В.

Основной функционал программно-аппаратного комплекса:

  • Распознавание номеров и марок/моделей ТС
  • Инициирование распознавания данных по датчику
  • Открытие шлагбаума по факту распознавания номера
  • Хранение журнала событий и доступ по требованию через REST API
  • Формирование отчетов по количеству событий за период
  • Интеграция со сторонними системами контроля доступа
  • Отправка сигнала о проезде во внешние информационные системы
  • Фиксация ручного открытия шлагбаума
  • Просмотр видео в LIVE-режиме
  • Интеграция распознавания со всеми видами 1С

image
Интерфейс системы распознавания номеров, марок и моделей ТС для оператора