Программное обеспечение FastVCR для камер машинного зрения XIMEA

Обновлено:

Готовое приложение для захвата и обработки кадров с камер XIMEA на видеокарте NVIDIA в реальном времени — от RAW до сжатого JPEG/JPEG2000 и записи на диск. 65-мегапиксельная камера — 60–70 фпс. Для тех, кому нужен рабочий софт под камеру, а не разработка с нуля.

FastVCR — программное обеспечение для камер машинного зрения XIMEA с полным конвейером обработки изображений на видеокарте NVIDIA в реальном времени. Программа принимает «сырые» кадры с камеры (USB3 или PCIe), выполняет на GPU весь конвейер ISP — от линеаризации и демозаики до шумоподавления, тон-маппинга и кодирования — и выдаёт результат на монитор, в файлы JPEG или видео на SSD, либо в RTSP-поток с минимальной задержкой. На NVIDIA GeForce RTX 4090 FastVCR обрабатывает поток с 65-мегапиксельной камеры (9344×7000) в реальном времени.

Взять FastVCR или собирать конвейер самому? Связать SDK камеры, дебайер, цветокоррекцию, шумоподавление, кодек и запись в один realtime-конвейер — это недели интеграции. FastVCR даёт это готовым приложением с GPU-обработкой и управлением сенсором: подключаете камеру XIMEA и работаете, а не пишете и отлаживаете конвейер.

Мы сами написали эти алгоритмы

Кодеки и ISP-модули Fastvideo — это не обёртки над чужим кодом. Алгоритмы демозаики, шумоподавления, тон-маппинга и кодеков JPEG/JPEG2000 мы спроектировали — а многие и придумали — сами и сами реализовали на CUDA, на базе экспертизы в обработке изображений, которую нарабатываем с 2009 года. Поэтому вы получаете цельное, настроенное решение, а не набор GPU-примитивов; и если вашей задаче нужно что-то специфическое, мы можем изменить сам алгоритм, а не просто вызвать его.

Компания XIMEA - известный производитель камер для промышленных, медицинских и научных приложений. Эта компания предлагает компактные и высококачественные продукты с различными разрешениями, частотой кадров, интерфейсами USB3 и PCIe, спектральной чувствительностью, разнообразными сенсорами. Камеры XIMEA могут поставляться с интерфейсом PCI-Express, который значительно улучшает пропускную способность и позволяет использовать приложения в реальном времени для камер с высоким разрешением и высокой частотой кадров.

софт FastVCR

Камеры XIMEA поставляются с программным обеспечением CamTool, которое может использоваться для тестирования или для приложений с низкой частотой кадров. Чтобы преодолеть это существенное ограничение, мы разработали программное обеспечение на базе графического процессора NVIDIA для работы с камерами XIMEA, обеспечивающее максимальную производительность и высокое качество изображений в режиме реального времени. Вы можете скачать это программное обеспечение (версия для Windows) и протестировать его с камерами XIMEA (8/12-бит, монохромные или цветные).

Для чего нужен быстрый софт для камер XIMEA?

Если мы посмотрим на технические характеристики последней серии сенсоров SONY Pregius 4-го поколения, то увидим, что большинство из них имеют версию "high speed", что означает, что у этих матриц не только высокое разрешение, но и высокая частота кадров. Камеры XIMEA с этими сенсорами оснащены высокоскоростными интерфейсами USB3 или PCIe, поэтому они могут передавать полученные кадры с очень высокой пропускной способностью.

Это относится не только к сенсорам SONY, аналогичная ситуация наблюдается и с сенсорами Gpixel, On-Semi и AMS (CMOSIS). Современные камеры машинного зрения обеспечивают высокое разрешение и высокую частоту кадров, поэтому непросто делать обработку в реальном времени с высоким качеством и без потерь кадров, это довольно сложная задача. Но это именно то, что мы делаем с помощью программного обеспечения FastVCR, работающего на графическом процессоре NVIDIA. Параллельная реализация алгоритмов обработки изображений значительно повышает скорость, что очень критично для приложений с камерами.

Камеры машинного зрения могут обеспечивать высокое качество изображения в режиме реального времени, поэтому кроме промышленных приложений они также используются и в приложениях для потоковой передачи данных, цифрового кино, 3D, дополненной реальности и виртуальной реальности VR.

Камеры XIMEA

Серии камер xiC и xiX

Камеры xiC - это чрезвычайно разнообразное семейство камер, разработанное для сенсоров Sony Pregius™. Оно предлагает множество вариантов сочетаний сенсоров и интерфейсов.

Камеры xiX основаны на той же концепции на уровне платы и могут передавать изображения в компьютер через шину PCI Express Gen2. В сочетании с минимальными задержками и нагрузкой на процессор, камеры идеально подходят для встраиваемых систем видеонаблюдения и для мультикамерных приложений. Благодаря гибким плоским кабелям, встроенные камеры можно интегрировать в ограниченном пространстве и в непосредственной близости друг от друга.

Возможности программы FastVCR для управления камерами XIMEA

Возможности FastVCR для обработки исходных данных от камер XIMEA на видеокартах NVIDIA

Варианты вывода данных для программы FastVCR

Бенчмарки для FastVCR

Это программное обеспечение работает на графическом процессоре NVIDIA для параллельной обработки изображений и таким образом достигается высокая производительность, что крайне важно для приложений с камерами. Камеры XIMEA с интерфейсами USB3 и PCIe как раз и дают огромные потоки данных, которые нужно обрабатывать в реальном времени. Для камер USB3 программное обеспечение может работать с многокамерными системами, обрабатывая сырые кадры со всех камер в режиме реального времени без потери кадров. Тем не менее, наибольшая скорость передачи может быть достигнута с камерами PCIe. Программное обеспечение FastVCR может обрабатывать изображения с 65-мегапиксельной камеры (10 бит) со скоростью 60 кадров в секунду (до 70 кадров в секунду для 8 бит) на NVIDIA GeForce RTX 4090, включая импорт RAW, обработку кадров на графическом процессоре, кодирование в формате JPEG и сохранение на SSD. Это всего лишь один пример, который показывает высочайший уровень производительности. В целом, производительность зависит от сложности конвейера обработки изображений и используемого оборудования (CPU/GPU/SSD и т.д.). Демо версию программы можно загрузить для тестирования камер XIMEA для оценки качества обработки изображений, производительности и латентности.

Это программное обеспечение также может работать в режиме эмулятора камеры, чтобы дать возможность проверить производительность обработки изображений на графическом процессоре даже при отсутствии камеры. Пользователь может загрузить для обработки произвольное изображение в формате RAW/PGM/TIFF и работать с ним как с виртуальной камерой. Это очень полезно для проверки качества обработки и производительности работы софта на имеющейся у пользователя видеокарте. Таким образом, можно сразу оценить предполагаемый результат, даже без камеры.

FastVCR на NVIDIA GeForce RTX 4090 Разрешение Битность Частота кадров
Камера XIMEA 65 МПикс 9344×7000 8 бит 70 фпс
Камера XIMEA 65 МПикс 9344×7000 10 бит 60 фпс

Как проверить эти цифры: они измерены на указанной видеокарте NVIDIA и воспроизводимы на вашем GPU — скачайте демо-программы и измерьте скорость на своих изображениях.

Измеряемый конвейер включает импорт RAW, преобразование RAW→RGB, цветокоррекцию, кодирование JPEG и запись на SSD. С камерами USB3 программа также работает с многокамерными системами, обрабатывая кадры со всех камер в реальном времени без потерь; максимальная скорость достигается с камерами PCIe.

Какая латентность (glass-to-glass) у FastVCR?

Латентность измеряется стандартным методом glass-to-glass (G2G), и в FastVCR встроен модуль для таких замеров. Для цветной камеры XIMEA USB3 3 МПикс (8 бит) при 120 фпс и мониторе 144 Гц измеренная задержка составляет около 35–40 мс; камеры PCIe и более быстрые мониторы уменьшают её ещё сильнее. Результат зависит от частоты камеры, частоты монитора, производительности GPU и сложности конвейера обработки.

Дополнительные модули обработки на видеокарте NVIDIA

CLI приложение FastVCR (приложение для командной строки)

Во многих случаях приходится запускать программное обеспечение удалённо без какого-либо графического интерфейса, и это может происходить в разных ситуациях. Так часто бывает в приложениях для беспилотных летательных аппаратов или в любых других задачах с удаленным управлением камерой. Это также относится к любой длительной записи и потоковой передаче видео без прямого участия пользователя.

Чтобы соответствовать этим требованиям, мы разработали CLI приложение, которое обладает всеми вышеперечисленными функциями программного обеспечения FastVCR и может работать без графического интерфейса пользователя. Это приложение позволяет удалённо контролировать камеру, а также параметры обработки и сохранения кадров/видео.

CUDA image processing SDK

Все указанные выше модули обработки изображений реализованы на базе нашего Fastvideo SDK для обработки изображений на видеокартах NVIDIA. Наши заказчики могут использовать эти функции в своих приложениях для быстрой обработки изображений. Здесь можно посмотреть на бенчмарки для Fastvideo SDK.

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

Загрузить FastVCR

Применения FastVCR

Смежные продукты и решения Фаствидео

Блог Фаствидео на английском

Сначала — на ваших данных, бесплатно

До любых обязательств пришлите нам несколько своих снимков или опишите задачу. Мы прогоним их через софт, покажем результат и разберём его вместе на созвоне. Если решаете двигаться дальше — заказ простой: коммерческое предложение, ваш заказ (договор/PO), наш счёт; условия лицензии уже входят в софт.

Как мы работаем →

Фёдор Серженко, Fastvideo

Об авторе

Фёдор Серженко, к.ф.-м.н. — основатель и генеральный директор Fastvideo. Окончил МФТИ, кандидатскую защитил в 1993 году. С 2009 года руководит разработкой GPU-кодеков и ISP-модулей Fastvideo, включая Fastvideo SDK. LinkedIn.

Почему результатам можно верить

Fastvideo разрабатывает софт для видеокарт NVIDIA с 2009 года. Наши кодеки соответствуют стандартам, которые реализуют — JPEG (ITU-T T.81 / ISO IEC 10918) и JPEG2000 (ITU-T T.800 / ISO IEC 15444), — а часть инструментов открыта на GitHub, так что заявленное можно проверить в коде. Все опубликованные цифры воспроизводимы: см. методику тестирования и измерьте на своём GPU.

Форма для отправки запроса

Эта форма сохраняет ваше имя и адрес электронной почты.