Skip to content

Whitepaper · Edge AI · Инференс на чипе камеры

У вас есть модель и чип. Мы заставим их работать вместе.

Инференс ИИ на NPU и видеодвижках камерных SoC — на той скорости, за которую продавали кремний, на железе, к которому никто не даёт инструментов. От команды, стоящей за OpenIPC.

Пришлите нам модель и SoC Как устроена работа

Ночная парковка: нейросеть сходится к двум автомобилям, номерные знаки которых обведены рамками
80 fps чтение номеров на чипе камеры, от кадра до результата
100% точности модели сохраняется после подгонки под чип
скорость, которую штатный драйвер оставляет на столе, — измерено на том же чипе

Измерено нами на кремнии RK3588 и HiSilicon, на моделях, которые мы подгоняли, и драйверах, которые мы написали.

Ваша модель здесь не запускается, и никто не скажет почему

NPU камерного SoC — не GPU. Он выполняет свой короткий список операторов, квантует так, как решил его компилятор, а сам компилятор может быть вам недоступен — некоторые никогда не выходят за пределы домашнего рынка. Модель, обученная за ночь на кластере, встречает чип, который не может выполнить половину из неё, и драйвер, падающий на первом незнакомом слое.

В даташите написано TOPS. Там не написано, какие части вашей модели тихо уйдут на CPU и что штатный драйвер выдаёт четверть скорости, на которую способен кремний. Эти ответы получают, запуская модели на чипе, — и мы делаем это с первых камерных SoC с видеодвижком, начиная с ARM-ядер без блока плавающей точки вообще.

Стена — это тулчейн, а не ваша модель.

Что мы приносим

Четыре вещи, каждая измерена на кремнии.

Мы знаем, что ваш NPU не умеет

Мы разметили четыре семейства NPU, запуская на них модели, а не читая PDF вендора: что выполняется на ускорителе, что тихо откатывается на CPU и что менять до того, как вы потратите спринт на выяснение.

Где нет драйвера — мы его пишем

Чистые ядерные драйверы для видео- и нейродвижков HiSilicon, написанные по дизассемблированию и трассировке ядра, побайтно идентичные вендорским — и устойчивее там, где вендорский тест зависает. Молчание вендора — не блокер.

Подогнать модель под чип и камеру

Модели перестраиваются так, чтобы вся сеть шла на ускорителе, а не половина, и дообучаются на картинке самой камеры: её ракурс, её обработка изображения, её родной масштаб. Модель, перенесённая на новую камеру без этого шага, теряет десять–двадцать пунктов точности.

Проверено до того, как коснётся платы

Видеодвижок работает в CI под нашим собственным QEMU, выверенным попиксельно против кремния. Каждое изменение за ночь проверяется на эмулированном железе, так что стенд — не узкое место, а ваша плата не лежит у нас на столе.

Результаты на реальном кремнии

Номерные знаки

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

Лица

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

Нет NPU? Всё равно работает

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

Платформы

HiSilicon и Goke SigmaStar Rockchip Ingenic ARM-ядра без NPU

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

Как устроена работа

01

Отчёт о реализуемости

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

02

Портирование и подгонка

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

03

Интеграция и сопровождение

В OpenIPC или в вашу прошивку, CI под QEMU там, где чип поддержан, драйверы там, где стека нет, — и ретейнер на ту чехарду версий SDK, которая привязывает модели к версии прошивки.

Пришлите модель и SoC. Получите вердикт за неделю.

Одно письмо из четырёх строк: модель и её формат, целевой SoC и версия SDK, ссылка на кадры с камеры, нужные fps и точность. Отвечает инженер с планом, а не скрипт продаж.

Написать на business@openipc.org Спросить в чате

Прошивки камер, настройка сенсоров и кастомные видеолинки — на странице для бизнеса.