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

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

FastVCR 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. Программное обеспечение может работать с многокамерными системами, обрабатывая RAW кадры со всех камер в режиме реального времени без потери кадров. В целом, производительность зависит от сложности конвейера обработки изображений и используемого аппаратного обеспечения (CPU/GPU/SSD и т.д.). Вы можете загрузить демонстрационное программное обеспечение по ссылке ниже, чтобы протестировать свою камеру Hikrobot и оценить качество изображения, задержку и производительность.

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

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

  • Захват RAW кадров, обработка и сохранение на SSD
  • Вычисление гистограмм для сырых и для обработанных кадров
  • Кривые и уровни для RAW, RGB, HSV
  • Поддержка профилей DCP
  • Поддержка 3D LUT
  • Геометрические и аффинные преобразования
  • Возможность работы в режиме HDR
  • Локальный и глобальный тонмаппинг
  • Возможность вывода через SDI
  • Поддежка многокамерных систем
  • Быстрый повтор (replay, синхронизированный вьюер) для многокамерных систем
  • Высокопроизводительные кодеки JPEG2000 и Raw-JPEG на CUDA
  • Возможность интеграции с FFmpeg
  • Внешнее управление через скрипты на питоне
  • Калибровка камер и объективов: FPN, FFC, DCP, дисторсия
  • Поддержка GenICam (GenTL) и SDK от следующих производителей камер: Basler, XIMEA, Imperx, DALSA/Flir, IO Industries, Emergent Vision Technologoes, 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. Полная статистика работы камеры в реальном времени.

cuda image processing sdk

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

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

Загрузить FastVCR

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

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