Программное обеспечение FastVCR для камер машинного зрения Hikrobot
Обновлено:
FastVCR для камер Hikrobot: захват и полная GPU-обработка потока в реальном времени — RAW → обработка → сжатие → запись, с управлением сенсором. Готовое приложение под камеры Hikrobot, без сборки конвейера вручную.
FastVCR — программное обеспечение для камер машинного зрения Hikrobot с полным конвейером обработки изображений на видеокарте NVIDIA в реальном времени. Программа принимает «сырые» кадры с камеры по интерфейсу USB3 или GigE, выполняет на GPU весь конвейер ISP — от распаковки и линеаризации до демозаики, шумоподавления, тон-маппинга и кодирования — и выдаёт результат на монитор, в файлы JPEG или видео (MP4) на SSD, либо в RTSP-поток с минимальной задержкой. Наибольшая пропускная способность достигается с камерами 10-GigE.
Камера Hikrobot есть — а софт под неё? Штатные утилиты дают захват, но не быстрый конвейер обработки на GPU. FastVCR закрывает весь путь от сырого кадра до сжатого результата в реальном времени на видеокарте NVIDIA — готовым приложением, настроенным под сенсоры Hikrobot.
Мы сами написали эти алгоритмы
Кодеки и ISP-модули Fastvideo — это не обёртки над чужим кодом. Алгоритмы демозаики, шумоподавления, тон-маппинга и кодеков JPEG/JPEG2000 мы спроектировали — а многие и придумали — сами и сами реализовали на CUDA, на базе экспертизы в обработке изображений, которую нарабатываем с 2009 года. Поэтому вы получаете цельное, настроенное решение, а не набор GPU-примитивов; и если вашей задаче нужно что-то специфическое, мы можем изменить сам алгоритм, а не просто вызвать его.
HikRobot - глобальный поставщик продуктов и решений, специализирующийся на машинном зрении и мобильных роботах. Продукты машинного зрения широко используются в таких отраслях промышленной автоматизации как бытовая электроника, полупроводники и логистика, в качестве составной части таких приложений, как управление позиционированием, измерения и контроль качества. Они помогают пользователям значительно повысить производительность, точность и стабильность.
Вы можете протестировать любую камеру Hikrobot с помощью оригинального программного обеспечения MVS, но оно не предназначено для приложений с высокой частотой кадров. Чтобы преодолеть это ограничение, мы разработали программное обеспечение на базе графического процессора для работы с камерами Hikrobot, обеспечивающее максимальную производительность и высокое качество изображения в режиме реального времени. Вы можете скачать демонстрационное программное обеспечение (версия для Windows) по этой ссылке и протестировать его на доступных кадрах RAW/PGM с камер Hikrobot (8/10/12-разрядных монохромных raw или bayer).
Для чего нужен быстрый софт для камер Hikrobot?
Если мы посмотрим на технические характеристики последней серии сенсоров SONY Pregius 4-го поколения, то увидим, что большинство из них имеют версию "high speed", что означает, что у этих матриц не только высокое разрешение, но и высокая частота кадров. Камеры Hikrobot с этими сенсорами оснащены высокоскоростными интерфейсами USB3 или GigE, поэтому они могут передавать полученные кадры с очень высокой пропускной способностью.
Это относится не только к сенсорам SONY, аналогичная ситуация наблюдается и с сенсорами Gpixel, On-Semi и AMS (CMOSIS). Современные камеры машинного зрения обеспечивают высокое разрешение и высокую частоту кадров, поэтому непросто делать обработку в реальном времени с высоким качеством и без потерь кадров, это довольно сложная задача. Но это именно то, что мы делаем с помощью программного обеспечения FastVCR, работающего на графическом процессоре NVIDIA. Параллельная реализация алгоритмов обработки изображений значительно повышает скорость, что очень критично для приложений с камерами.
Камеры машинного зрения могут обеспечивать высокое качество изображения в режиме реального времени, поэтому кроме промышленных приложений они также используются и в приложениях для потоковой передачи данных, цифрового кино, 3D, дополненной реальности и виртуальной реальности VR.
Возможности программы FastVCR для управления камерами Hikrobot
- Инициализация камеры (модель камеры, параметры по умолчанию для разрешения, частоты кадров, экспозиции и т.д.)
- Битность и формат исходных данных, получаемых от камеры
- Разрешение полного кадра и установка области интереса (ROI)
- Частота кадров
- Длительность экспозиции
- Аналоговый коэффициент усиления (Gain)
- Контроль пропускной способности камеры
- Автоматическое управление экспозицией и аналоговым коэффициентом усиления (exposure/gain)
- Дополнительные режимы: биннинг, децимация и т.д.
- Предустановки софта для быстрой смены наборов параметров сенсора
Возможности FastVCR для обработки исходных данных от камер Hikrobot на видеокартах NVIDIA
- Получение "сырых" данных от камеры
- Распаковка данных
- Линеаризация исходных данных
- Вычитание темнового кадра
- Коррекция виньетирования (плоское поле)
- Автоматическое удаление битых пикселов
- Баланс белого / автоматический ББ
- Адаптивное управление экспозицией и аналоговым коэффициентом усиления
- Демозаика по алгоритму MG (окно 23 × 23)
- Шумодав на базе вейвлетов
- Шумодав по алгоритму NLM
- Цветокоррекция с помощью матрицы или DCP профиля
- Восстановление светов
- Коррекция экпозиции (управление яркостью)
- Кривые и уровни
- Повороты на 90/180/270 градусов, отражения по вертикали и по горизонтали
- Кроп
- Ресайз (уменьшение или увеличение размера кадра масштабированием)
- Поворот кадра на произвольный угол
- Подавление дисторсии с помощью LCP-профиля или с картами ремапа
- Резкость (локальный контраст)
- Гамма
- Сжатие в JPEG и сохранение кадров на SSD
- Конвертация RGB в формат NV12 для сжатия видео в h264/h265
- Автоматическое разбиение видео на отдельные файлы в формате AVI/MP4 при записи
- Встроенный RTSP-сервер для стриминга с минимальной латентностью
- Вывод обработанных кадров на монитор в реальном времени
Варианты вывода данных для программы FastVCR
- Видео вывод на монитор через OpenGL в реальном времени
- Вывод статистики работы камеры
- Сжатие в JPEG с сохранением кадров на SSD
- Сжатие видео в MJPEG (AVI), H.264/H.265/AV1 (MP4) и сохранение в видео контейнер на SSD
- Видео стриминг с минимальной задержкой через RTSP (плеер и сервер включены в комплект поставки)
- Сохранение сырых данных в форматах RAW/PGM/DNG на SSD в реальном времени
- Возможность интеграции с другим софтом, работающим на CUDA
- Интеграция с нейросетями, в том числе и на уровне GPU
Как FastVCR справляется с высокоскоростными камерами Hikrobot (USB3 и GigE)?
Это программное обеспечение было разработано с использованием графического процессора для обработки изображений, чтобы оно могло работать в высокопроизводительных приложениях для камер. Это именно то, что Hikrobot предлагает для своих продуктов с интерфейсами USB3 и GigE. Программное обеспечение может работать с многокамерными системами, обрабатывая RAW кадры со всех камер в режиме реального времени без потери кадров. Наибольшая пропускная способность достигается с камерами 10-GigE, где интерфейс позволяет передавать самые большие потоки данных. В целом, производительность зависит от сложности конвейера обработки изображений и используемого аппаратного обеспечения (CPU/GPU/SSD и т.д.). Вы можете загрузить демонстрационное программное обеспечение по ссылке ниже, чтобы протестировать свою камеру Hikrobot и оценить качество изображения, задержку и производительность.
Это программное обеспечение может работать в режиме эмулятора камеры, чтобы проверить производительность обработки изображений на графическом процессоре без подключения камеры к ПК. Пользователь может загрузить произвольное изображение RAW в формате RAW/PGM/TIFF для работы. Это очень полезно для проверки измерений времени, которые доступны для каждого модуля обработки изображений на графическом процессоре.
Дополнительные модули обработки на видеокарте NVIDIA
- Захват RAW кадров, обработка и сохранение на SSD
- Вычисление гистограмм для сырых и для обработанных кадров
- Кривые и уровни для RAW, RGB, HSV
- Поддержка профилей DCP
- Поддержка 3D LUT
- Геометрические и аффинные преобразования
- Возможность работы в режиме HDR
- Локальный и глобальный тонмаппинг
- Возможность вывода через SDI
- Поддержка многокамерных систем
- Быстрый повтор (replay, синхронизированный вьюер) для многокамерных систем
- Высокопроизводительные кодеки JPEG2000 и RawZipper на CUDA
- Возможность интеграции с FFmpeg
- Внешнее управление через скрипты на питоне
- Калибровка камер и объективов: FPN, FFC, DCP, дисторсия
- Поддержка GenICam (GenTL) и SDK от следующих производителей камер: Basler, XIMEA, Imperx, DALSA/Flir, IO Industries, Emergent Vision Technologies, Lucid Vision, Daheng Imaging, Mindvision и др.
- Подавление поперечных хроматических аберраций - в разработке
CLI приложение FastVCR (приложение для командной строки)
Во многих случаях приходится запускать программное обеспечение удалённо без какого-либо графического интерфейса, и это может происходить в разных ситуациях. Так часто бывает в приложениях для беспилотных летательных аппаратов или в любых других задачах с удаленным управлением камерой. Это также относится к любой длительной записи и потоковой передаче видео без прямого участия пользователя.
Чтобы соответствовать этим требованиям, мы разработали CLI приложение, которое обладает всеми вышеперечисленными функциями программного обеспечения FastVCR и может работать без графического интерфейса пользователя. Это приложение позволяет удалённо контролировать камеру, а также параметры обработки и сохранения кадров/видео.
Зачем может понадобиться программное обеспечение FastVCR вместо MVS?
Здесь мы расскажем о наиболее важных функциях, которые необходимы для работы с камерами.
1. Быстрая обработка RAW кадров на GPU
Производительность программного обеспечения FastVCR ограничена используемым графическим процессором и сложностью схемы процессинга кадров.
FastVCR может обрабатывать изображения с точностью 16/32 бит на видеокарте.
2. Быстрое кодирование изображений и видео
FastVCR может кодировать кадры RGB в формат MJPEG практически с любой частотой кадров в секунду и разрешением, которое может превышать максимальную пропускную способность H.264/H.265 с точки зрения частоты кадров и разрешения изображения. Мы используем кодек MJPEG на графическом процессоре для достижения высокой частоты кадров. При этом кодирование в H.264/H.265 тоже возможно.
3. Тестирование
FastVCR может работать не только с камерами, но и с отдельными кадрами в форматах RAW/PGM/TIFF, загруженных с SSD. Это очень полезно для тестирования, особенно в случае, когда у заказчика ещё нет камеры Hikrobot. Программа FastVCR может также работать с папками, содержащими такие кадры, т.е. это по сути режим эмуляции камеры с последовательным процессингом RAW кадров.
4. Подавление шума
В программе FastVCR есть следующие шумодавы на видеокарте: билатеральный и NLM, которые работают как с монохромными данными, так и с цветными.
5. Низкая латентность
Благодаря быстрой обработке RAW кадров на видеокарте, можно добиться низкой латентности при условии быстрой передачи обработанных данных через RTSP.
В программное обеспечение включен модуль G2G (glass-to-glass) для измерения и тестирования латентности для полного цикла.
6. Приложение CLI (без графического интерфейса)
В комплект поставки входят программы с графическим интерфейсом и без, а также RTSP сервер и плеер.
Приложение CLI очень полезно в случаях для удалённого управления системой.
7. Гистограмма, парад и вектороскоп в режиме реального времени.
8. Полная статистика работы камеры в реальном времени.
Все указанные выше модули обработки изображений реализованы на базе нашего Fastvideo SDK для обработки изображений на видеокартах NVIDIA. Наши заказчики могут использовать эти функции в своих приложениях для быстрой обработки изображений. Здесь можно посмотреть на бенчмарки для Fastvideo SDK.
Помимо программного обеспечения FastVCR, мы предлагаем индивидуальную разработку программного обеспечения для создания решений на базе камер Hikrobot в соответствии с требованиями заказчика. Мы можем реализовать режимы работы, зависящие от конкретного приложения, для решения необходимой задачи. Пожалуйста, заполните контактную форму ниже информацией о вашем проекте и отправьте ее нам.
Применения FastVCR с камерами Hikrobot
- Промышленная автоматизация и контроль качества
- Производство электроники и полупроводников
- Аэрофотосъёмка и съёмка с дронов
- Съёмка street-view и мобильное картографирование
- Позиционирование, измерения и машинное зрение
- Потоковая передача видео и вещание
- Сбор данных для приложений ИИ с камерами машинного зрения
Смежные продукты и решения Фаствидео
- FastVCR для камер XIMEA (USB3 и PCIe)
- Fastvideo SDK — библиотека обработки изображений на видеокартах NVIDIA
- Дебайер на CUDA — быстрая демозаика по алгоритму MG
- RawZipper — сжатие RAW-данных
- Решения Фаствидео для задач обработки изображений и видео
Загрузить FastVCR
- Программное обеспечение FastVCR для камер Hikrobot, на Windows для CUDA-12.6
- FastVCR для камер Hikrobot и Jetson Xavier/Orin (Jetson Pack 5.1.1, CUDA-11.4) - по запросу
- FastVCR для камер Hikrobot и Jetson Orin (Jetson Pack 6.0, CUDA-12.6) - по запросу
Сначала — на ваших данных, бесплатно
До любых обязательств пришлите нам несколько своих снимков или опишите задачу. Мы прогоним их через софт, покажем результат и разберём его вместе на созвоне. Если решаете двигаться дальше — заказ простой: коммерческое предложение, ваш заказ (договор/PO), наш счёт; условия лицензии уже входят в софт.
