Разработка программного обеспечения для промышленной видео системы | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Рубрика: Технические науки

Опубликовано в Молодой учёный №8 (31) август 2011 г.

Статья просмотрена: 954 раза

Библиографическое описание:

Мартынов, И. А. Разработка программного обеспечения для промышленной видео системы / И. А. Мартынов. — Текст : непосредственный // Молодой ученый. — 2011. — № 8 (31). — Т. 1. — С. 80-83. — URL: https://moluch.ru/archive/31/3569/ (дата обращения: 17.12.2024).

За счет возрастания сложности решаемых научно-технических задач, получение, автоматическая обработка и анализ визуальной информации становятся все более актуальными вопросами. Существует множество смежных областей науки и техники, в которых данные технологии крайне востребованы. Такими областями являются: интеллектуальные робототехнические комплексы, системы управления движущимися аппаратами, системы управления процессами, системы организации информации (индексация баз данных изображений), системы моделирования объектов или окружающей среды (картография, анализ медицинских изображений, топографическое моделирование), системы взаимодействия (например, устройства ввода для системы человеко-машинного взаимодействия), биометрия и множество других. Однако, тремя основными направлениями исследований и разработок в области компьютерного зрения неизменно являются: анализ и обработка графического изображения, а так же распознавание образов.

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

  •  устройство для преобразования оптического изображения в цифровой поток графических данных (одна или несколько цифровых или аналоговых видеокамер)

  • специализированный источник света

  • приложение программного обеспечения для получения, обработки изображений и обнаружения соответствующих видеоустройств.

Программное обеспечение под названием CamCap (сокр. от CameraCapture) для осуществления захвата, обработки и сохранения изображений разработано для симулятора космического аппарата (рисунок 1), задачей которого является навигация на основе визуальной информации об окружающей аппарат среде.

При разработке программного обеспечения была использована цифровая, промышленная видеокамера GigE uEye UI-5240SE немецкой компании IDS (рисунок 2.), специализирующейся в сферах промышленной автоматизации, системах контроля качества, системах безопасности и научных исследований. Модель UI-5240SE с разрешением 1,3 Мегапикселя (1280x1024) оснащена цветной 1/1.8-дюймовой КМОП-матрицей, обеспечивает частоту кадров 50 fps. и время экспонирования 9мкс. На вход устройства подается постоянное напряжение 12 В. Камера использует пакетную технологию передачи данных Gigabit Ethernet. Передача данных осуществляется при помощи протокола GigE Vision. GigE Vision — протокол передачи данных, разработанный ассоциацией AIA (Advanced Imaging Association) для стандартизации методов передачи изображения и управления промышленных видеокамер с сетевым интерфейсом Gigabit Ethernet. Данный протокол определяет правила нахождения видеокамеры в сети (Device Discovery Mechanism), правила передачи команд (GigE Vision Control Protocol) и правила передачи изображений (GigE GigE Vision Stream Protocol).

Рис. 1. Манипулятор симулятора с закрепленной на нем видеосистемой из двух цифровых камер (цветной и монохромной)

Рис. 2. Компактные цифровые промышленные камеры семейства uEye


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

В ходе разработки приложения реализованы три режима работы камеры:

  • работа в режиме самовозбуждения

      • непрерывная передача изображений

      • передача одного отдельного кадра

  • работа по сигналу

      • программный сигнал

      • аппаратный сигнал

  • режим готовности к работе.

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

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

При активировании режима работы по сигналу, представленному программной командой (рисунок 3), захват изображения осуществляется путем вызова соответствующих API-функций камеры, после чего можно сохранить изображение на устройство хранения. В этом случае захват изображений происходит без остановки и по порядку с заданной частой.

Рис. 3 Режим работы матрицы по программному сигналу

Если сигнал представлен аппаратной командой (рисунок 4), то на каждый подаваемый сигнал происходит отклик камеры и осуществляется захват изображения с возможностью его последующего сохранения. При использовании этого метода камера непрерывно находится в режиме ожидания сигнала.

Рис. 4 Режим работы матрицы по аппаратному сигналу

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

Приложение CamCap позволяет переводит uEye-камеры в ждущий режим, при котором они потребляют меньший ток. Достигается это путем отключения в случае ПЗС-матрицы – самой матрицы, а в случае КМОП-матрицы – времязадающей платы (англ. timing board). При переходе в ждущий режим связь с камерой не теряется. Видеоустройство доступно на протяжении всего времени и может быть опрошено по сети. Благодаря использованию данного режима камера остывает и количество видимых «горячих» пикселей (англ. hot pixels) при длительной выдержке сокращается.

Перед захватом кадра, осуществляется опрос сети на наличие подключенных видеоустройств. Посредством выбора необходимой камеры из сформированного списка доступных устройств, производится ее инициализация. После активации команды о подключении камеры, компьютер посылает соответствующему видеоустройству запрос на подключение. После того как она просигнализировала о готовности к соединению, осуществляется проверка действительности ее IP-адреса. Если адрес не корректен, компьютер посылает устройству набор действительных IP-адресов. Из отправленных адресов, камера выбирает свободный (не использующийся в сети) и сообщает об этом ПК, после чего текущий IP-адрес привязывается к данному устройству и работа может быть продолжена. После установления связи с управляющим компьютером, инициализация связи с каким-либо ПК, находящимся в сети, невозможна. После успешного образования связи, управляющий компьютер отправляет в сеть на адрес подключенного устройства специальные блоки данных частотой 1Гц, которые в свою очередь принимается и обрабатывается камерой. Если сигнал прерывается, камера перезапускается. После этого соединение может быть установлено с любым другим компьютером данной сети. Если отсутствует сигнал, подаваемый камерой, управляющий компьютер прерывает соединение и удаляет ее из списка подключенных устройств.

Для графического представления изображения реализован метод аппаратно-независимого растра. Цветовая таблица и массив пикселей сохраняются непосредственно в выделенном блоке памяти, доступ к которым осуществляется при помощи указателя. Размер области определяется на основании физических размеров и глубины цвета изображения. Затем, выделенная память маркируется как активная и осуществляет запись графической информации. Разработанное приложение позволяет сохранять полученные снимки в форматах PNG, Jpeg и BMP. Графический вывод изображения на экран, а также графический интерфейс пользователя реализованы при помощи библиотек инструментария для разработки программного обеспечения - Qt. Главное окно приложения CamCap представлено на рисунке 3.


Рис. 5 Главное окно приложения CamCap


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

Созданное приложение поддерживает управление работой всех камер компании IDS семейства GigE uEye с интерфейсом Gigabit Ethernet. Программа работает под управлением операционной системы Linux. CamCap поддерживает частоту кадров до 40 Гц в зависимости от модели камеры и режима получения фотоснимков, позволяет получать графическую информацию, представленную одним снимком или серией изображений (в том числе видеоряда). Необходимые частота и количество снимков, в случае серии кадров, устанавливаются пользователем. Также CamCap позволяет строить цветовые гистограммы полученных изображений. Гистограммы являются основным способом анализа изображений и применяются для определения параметров экспозиции, условий съемки и проведения тоновой коррекции полученных фотографий.

Дальнейшим направлением расширения программы является реализация методов сравнения и сопоставления изображений, распознавание образов, 3D-реконструкция с использованием библиотеки алгоритмов компьютерного зрения и обработки изображений OpenCV.



Литература:

      1. Лысенко О.О. Машинное зрение // Компоненты и технологии. - М.: Файнстрит. 2007. - №1. – С. 20-27.

      2. Бобровский С.В Машинное зрение // Когда машины прозреют. М.: Файнстрит. 2008. - №7. – С. 13-16.

      3. Визильтер Ю. В. Обработка и анализ цифровых изображений / Визильтер Ю. В., Желтов С. Ю., Князь В. А., Ходарев А. Н., Моржин А. В. – М.: ДМК Пресс, 2007. – 174 с.

      4. Davies E. R. Machine Vision : Theory, Algorithms, Practicalities. - Academic Press, 2004. – 190с.

      5. IDS Imaging Development Systems. uEye Kamera-Handbuch. – Obersulm: IDS, 2010. – 340с.

Основные термины (генерируются автоматически): программное обеспечение, IDS, аппаратный сигнал, камера, компьютерное зрение, разработанное приложение, управляющий компьютер, визуальная информация, графическая информация, оптическое изображение.


Задать вопрос