Мы в компании ComBox работаем с Intel NUC начиная с четвертого поколения и используем их для исполнения нейронных сетей в объектовой видеоаналитике. В 2014 году мы начали знакомство с модели Intel NUC4i5MYHE, потом решения были мигрированы на Intel NUC5i3RYB, сейчас применяются Intel NUC8i5BEK.
Пример решения на базе Intel NUC: сервер на 8 Intel NUC8i5BEK в форм-факторе 1U и Outdoor Box NUC (промышленный безвентиляторный ПК для наружного использования) на базе Intel NUC5i3RYB
Пример решения на базе Intel NUC: сервер на 8 Intel NUC8i5BEK в форм-факторе 1U и Outdoor Box NUC (промышленный безвентиляторный ПК для наружного использования) на базе Intel NUC5i3RYB
Основное назначение устройств, в нашем случае – это инференс, процесс непрерывного исполнения предобученных нейронных сетей для детекции и распознавания марок, моделей и номеров транспортных средств.
Области применения решений:
- Фото-видеофиксация нарушений правил дорожного движения (нарушение скоростного режима, нарушение разметки, правил парковки и остановки ТС и т.д.).
- Интеграция решений по распознаванию и детекции объектов в СКУД.
Пример фиксации нарушений:
Пример фиксации и нарушения ПДД и траекторный анализ движения ТС на ЖД-переезде
Для того чтобы зафиксировать подобное нарушение необходимо:
- Определить разрешен ли проезд в данный момент времени
- Определить факт наличия ТС в контролируемой зоне
- Определить местоположение номерного знака ТС
- Распознать содержание номерного знака
- Определить марку и модель ТС (и, опционально, цвет)
- Зафиксировать событие в локальной БД с указанием номерного знака, марки, модели, цвета ТС и траектории его движения в области правонарушения
- Предоставить доступ по требованию к событиям за период для систем сбора данных
Общая схема работы выглядит следующим образом:
- Видеокамера направлена на одну или более полос движения ТС
- Видеопоток передается на устройства для инференса:
- В случае централизованного инференса и наличия канала связи – в ДЦ на сервера.
- В случае наличия технической возможности инференс выполняется непосредственно в камере (на ARM-архитектуре).
- В случае отсутствия технической возможности инференса в камере и проблем с постоянным устойчивым каналом связи – на устройствах для инференса (промышленные ПК) через коммутатор.
Общая схема работы гибридного инференса
Для детекции и распознавания мы используем собственные нейронные сети топологий Darknet19, UNET.
Определение номерного знака автомобиля выполняется в три этапа:
- Обнаружение номерной пластины и маскирование остальной части изображения
- Поиск углов номерной пластины и ее поворот, чтобы символы располагались вертикально
- Распознавание текста на номерной пластине
Все три этапа выполняются нейронной сетью, изначально обученной и написанной на Tensorflow. Выполнение этой сети происходит в Intel OpenVINO. К сожалению, Tensorflow не может задействовать Intel GPU.
Сравнение Tensorflow и OpenVINO в рамках наших задач:
Как мы видим, исполнение одной и той же нейросети в Tensorflow и OpenVINO различается по скорости более чем в 2,5 раза в пользу OpenVINO. GPU, на котором мы, в принципе, не может запуститься в Tensorflow, показывает результат в 4 раза лучше, чем исходный на CPU в Tensorflow.
Выбор конечных устройств осуществляется исходя из стоимости ресурсов, необходимых для обработки заданного числа FPS и наличия возможности параллельного исполнения множества сетей на различных видах устройств (в NUC’ах – это CPU и GPU).
Некоторая выдержка данных из таблицы сравнения устройств:
Сервер на базе 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 Вт.
Сервер для инференса в форм-факторе 1U на базе 8 шт. Intel NUC8i5BEK
Видео 1. Демонстрация работы сервера в форм-факторе 1U на базе 8 шт. Intel NUC8i5BEK
Климатические испытания работы сервера под нагрузкой в предельном температурном диапазоне
Этап проектирования сервера на базе 8 микрокомпьютеров
Преимущества решения:
- высокая плотность установки CPU и GPU (64 ядра и 8 шт., соответственно, для 1U) для серверных решений
- относительно низкая себестоимость при высокой плотности CPU и GPU на 1U
- энергоэффективность (энергопотребление до 500 Вт при полной 100% нагрузке для 8 SBC)
- аппаратное декодирование аудио и видеопотоков
- наличие возможности распределения инференса между CPU и GPU
- наличие возможности одновременной работы с различными типам данных INT8/FP16/FP32 за счет использования CPU и GPU одновременно
Промышленный безвентиляторный ПК на базе Intel NUC5i3RYB
Часто возникают ситуации, когда канал связи ограничен, а исполнение нейронной сети необходимо выполнять в непосредственной близости от источника данных, передавая в сопутствующие информационные системы события (результат инференса).
Промышленный безвентиляторный ПК на базе Intel NUC5i3RYB
Так как сами микрокомпьютеры не являются промышленными, то для наружной эксплуатации нужен не только корпус, но и соответствующие климатические условия. Нам требовалась защита от пыли и влаги IP66, а также температурный режим эксплуатации от -40 до +50 градусов Цельсия.
Мы проверили две гипотезы для эффективного теплоотведения: теплотрубки и медные пластины в качестве теплосъемника. Последние оказались более эффективными, хотя при большой площади и более дорогостоящими решениями. В качестве теплообменника применяется алюминиевая шпала с расчётными размерами ребер.
Для запуска устройства в минусовых температурах мы использовали керамику для подогрева. Для удобства эксплуатации и внедрения в различных сферах были установлены блоки питания широкого диапазона 6-36 В.
Основной функционал программно-аппаратного комплекса:
- Распознавание номеров и марок/моделей ТС
- Инициирование распознавания данных по датчику
- Открытие шлагбаума по факту распознавания номера
- Хранение журнала событий и доступ по требованию через REST API
- Формирование отчетов по количеству событий за период
- Интеграция со сторонними системами контроля доступа
- Отправка сигнала о проезде во внешние информационные системы
- Фиксация ручного открытия шлагбаума
- Просмотр видео в LIVE-режиме
- Интеграция распознавания со всеми видами 1С
Интерфейс системы распознавания номеров, марок и моделей ТС для оператора
nApoBo3
Давно хочу подобную штуку собрать для построения распределенной системы. Если не секрет где корпус заказывали?
ComBox Автор
Корпус проектировали и изготавливали сами. На тот момент готовых решений не было. А дальше свое решение адаптировали под новые серии Нюков
thousandsofthem
У китайцев есть безвентиляторные, на aliexpress можно взять, за довольно скромные деньги. достаточно в поиске добавить "NUC"
ComBox Автор
Есть, но там возникает много вопросов. Во-первых, это не промышленные ПК, там должен быть установлен климатический модуль для наружной эксплуатации (в нашем варианте диапазон рабочих температур -40+50). Во-вторых, под нагрузкой тепловыделение, например, 8-ого поколения достигает 45 Вт и далеко не каждая пассивная система охлаждения в состоянии отвезти такое количество тепла (особенно, в рабочем диапазоне +50 градусов).
thousandsofthem
Да. то, что есть в продаже рассчитано на более комфортные условия внешней среды. Но с надежностью все ок (или мне так везло) — купленые у китайцев железки работают 24/7 который год без нареканий. Для сравнения первый же купленый официальный nuc начал глючить на вторые сутки работы. С отводом тепла отдельный больной вопрос...
lelik363
В каких условиях эксплуатации у вас заглючил NUC?
thousandsofthem
Практически любых — какой-то дефект железа. Memtest ничего не ловит но через ~сутки в зависимости от нагрузки подвисает вне зависимости от ОС.
lelik363
А наружняя температура какая?
thousandsofthem
У NUC — снаружи вполне комфортные +20, внутри незначительно выше. У китайцев — по разному, в т ч в почти закрытой коробке перегревались (90° на датчиках под нагрузкой — недостаток любого пассивного охлаждения), уходили в тротлинг но работали.
thousandsofthem
Если точнее речь о NUC7i3BNK — покупался и тестировался порядка двух лет назад
ComBox Автор
Не должно быть тротлинга при 20 градусах даже при использовании пассивного охлаждения. Вопрос в отведении тепла. Мы использовали медную пластину в качестве теплосъемника и алюминиевый радиатор для отвода тепла. Даже при расположении множества Intel NUC8i5BEK (45 Вт каждый) и общим теплообменником для 4-ых устройств максимальная температура в пике (при 100% загрузке) была 86 градусов, что вполне допустимо для мобильных процессоров. Подробно процесс проектирования описывали здесь — https://m.habr.com/ru/post/477430/
thousandsofthem
Стоп, тротлинг — это у китайца с пассивным охлаждением в закрытой коробке и под нагрузкой. Просто тепло накапливается и не успевает никуда уходить. Я его не перебирал и не в курсе насколько хорош термоинтерфейс внутри — без отклеивания процессора все выглядит вполне прилично, ну и радиатор довольно большой по площади. у NUC с его активным охлаждением нет проблем с температурой.