Введение
Обзор литературы по теме исследования,.
2 Совершенствование подхода к получению и обработке изображений 13
2.1 Перестраиваемые вычислительные среды 13
2.2 Сопряжение светочувствительной матрицы и ПВС 14
3 Программируемые логические интегральные схемы 16
4 Разработка вспомогательных модулей для проведения исследований 20
4.1 Загрузка и сохранение изображений 20
4.2 Автоматическое создание регулярной структуры ПВС 21
5 Пространственная обработка изображений на ПЛИС 23
5.1 Реализация фильтра на основе среднего арифметического 24
5.2 Реализация медианного фильтра 26
5.3 Оценка характеристик разработанных фильтров 27
6 Морфологическая обработка изображений на ПЛИС 29
6.1 Основные положения морфологической обработки 29
6.2 Реализация вычислителя морфологической обработки бинарного
изображения 31
6.3 Реализация ПВС морфологической обработки бинарных изображений 34
6.4 Реализация вычислителя ПВС морфологической обработки полутоновых
изображений 34
6.5 Реализация ПВС морфологической обработки полутоновых изображений ...37
7 Определение ключевых признаков бинарного изображения 38
7.1 Принципы построения детектора ключевых признаков 38
7.2 Реализация детектора на ЦП 40
7.3 Реализация детектора на ГП 42
7.4 Реализация детектора на ПЛИС 44
7.5 Анализ реализаций детектора на различных вычислительных платформах ...44
ЗАКЛЮЧЕНИЕ 46
Приложение А Вспомогательные модули ПВС 52
А. 1 Модуль загрузки изображения из файла 52
А.2 Модуль сохранения изображения в файл 52
Приложение Б Исходный код реализации медианных фильтров на ПЛИС 53
Б.1 Медианный фильтр полутоновых изображений 53
Б.2 Медианный фильтр цветных изображений (фрагмент) 55
Приложение В Исходный код элемента ПВС морфологической обработки бинарных изображений 57
Приложение Г Принципиальная схема элемента ПВС морфологической обработки бинарных изображений 58
Приложение Д Исходный код модифицированного вычислителя 59
Приложение Ж Временные диаграммы элементов ПВС морфологической обработки бинарных изображений 63
Ж. 1 Диаграмма вычислителя, выполненного на Verilog HDL 63
Ж. 2 Диаграмма вычислителя, выполненного принципиальной схемой 64
Ж.З Диаграмма модифицированного вычислителя 65
Приложение И Временная диаграмма симуляции ПВС 6x6 морфологической
обработки бинарных изображений 66
Приложение К Модуль определения максимума из пары 8-битных чисел 67
Приложение Л Исходный код вычислителя ПВС морфологической обработки
полутоновых изображений 69
Приложение М Временная диаграмма симуляции ПВС морфологической обработки полутонового изображения 71
Приложение Н Исходный код реализации детектора ключевых признаков на ЦП .72
Приложение П Исходный код функции ядра ГП детектора признаков 75
Приложение Р Исходный код детектора ключевых признаков на языке Verilog 77
Современный этап развития человечества характеризуется повсеместным внедрением сложных автоматизированных систем и робототехнических комплексов, обеспечивающих более высокое качество выполняемых работ и производимой продукции, а также открывающих для учёных и инженеров новые возможности осуществления сложных технологических процессов и проведения невозможных раннее научных экспериментов.
Очевидно, что для полноценного осуществления автоматизированной робототехнической системой своих целевых функций, она нуждается в исчерпывающей и актуальной информации об окружающей среде и объекте управления. В связи с этим, остро встаёт вопрос сенсорного обеспечения таких систем. В особенности это касается систем технического зрения (СТЗ), служащих для восприятия и обработки визуальной информации. Это приводит к необходимости решения проблем быстродействия, точности и энергоэффективности систем потоковой обработки визуальной информации.
Существуют различные подходы к повышению производительности систем технического зрения, каждый из которых имеет свои преимущества, недостатки и естественные ограничения. Основные подходы:
- совершенствование алгоритмов обработки изображений;
- увеличение производительности аппаратного обеспечения вычислительных систем обработки изображений;
- масштабирование вычислительных систем обработки изображений;
- внедрение дополнительных вычислительных структур (нейронные сети и др.).
Ключевым недостатком современных систем обработки изображений в составе СТЗ является их последовательный подход к получению данных с сенсоров. Сенсор в таких системах представляет из себя однородную двумерную матрицу, элементами которой являются полупроводниковые датчики света с примыкающими к ним преобразователями, а также система соединений между ними, служащая для передачи данных и сброса состояния. Процесс получения информации об изображении заключается в последовательном считывании уровня заряда каждого отдельного датчика с дальнейшей передачей на обработку. Такой подход приводит к прямой пропорциональной зависимости длительности получения полной информации о кадре от разрешающей способности сенсорной матрицы, что может стать ощутимым недостатком, особенно в связи с повышением доступности камер с высокой разрешающей способностью.
В данной работе будет рассмотрен альтернативный подход решения проблемы производительности систем обработки визуальной информации, заключающийся в непосредственном совмещении сенсорных и вычислительных систем на одном полупроводниковом кристалле. Это позволит извлечь из кадра ключевую информацию на этапе его восприятия сенсорной системой и снизить накладные расходы на последовательную передачу полного изображения.
В связи с возможностью независимой обработки значений яркости каждого сенсора, вычислительная система должна обеспечивать параллельность в решении поставленной задачи, что приводит к идее использования однородных вычислительных сред. А широкий класс задач обработки делает целесообразным применение реконфигурируемых систем, способных динамически изменять реализуемую функцию. Это приводит к идее построения вычислительной системы обработки значений фотодатчиков по принципам перестраиваемых вычислительных сред.
Будут рассмотрены решения некоторых ключевых задач обработки изображений - пространственная фильтрация, морфологическая обработка, детектирование ключевых признаков. В качестве аппаратной платформы симуляции разработанных сред будут использоваться программируемые логические интегральные схемы (ПЛИС). Также будет проведено сравнение реализации отдельных вычислителей на центральном процессоре, графическом процессоре и ПЛИС.
Несмотря на нацеленность данной работы на решение задач СТЗ, данная технология может быть применена и в других задачах обработки потоковой эффективно распараллеливаемой двоичной информации.
В результате выполнения данной выпускной квалификационной работы были исследованы ключевые недостатки современных систем технического зрения, препятствующие достижению более высоких показателей быстродействия, заключающиеся в последовательном считывании и передаче уровня яркости фотодатчика.
В качестве возможного решения проблемы последовательного считывания данных с фоточувствительной матрицы была рассмотрена концепция совмещения этой матрицы с однородной многослойной вычислительной структурой, построенной по принципу перестраиваемых вычислительных сред. Данные среды представляют собой регулярные решётки, узлами которых являются относительно простые конфигурируемые на выполнение определённой операции вычислители, а также соединения между ними. Посредством построения многослойных структур или временным замыканием элемента можно добиться выполнения составных операций.
Выполнен поиск возможных аппаратных платформ для исследования характеристик подобных вычислительных структур, в результате которого были выбраны программируемые логические интегральные схемы, в общем случае представляющие собой матрицу из малых конфигурируемых логических блоков и системы программируемых соединений между ними; и удовлетворяющие ключевым положениям построения ПВС.
Были построены вспомогательные модули загрузки изображений во внутреннюю память симулируемого устройства и сохранения результата во внешнюю память (память проводящей симуляцию ЭВМ) для исследования характеристик разрабатываемых структур на основе получаемых в результате симуляции временных диаграмм.
Осуществлена реализация однородных структур пространственной фильтрации полутоновых и цветных изображений методом среднего арифметического и методом расчёта медиан. Временная симуляция структур показала очень высокое быстродействие (16 - 22 нс и 22 - 32 нс для фильтров на основе среднего арифметического для полутоновых и цветных изображений соответственно; 22 - 32 нс и 28 - 49 нс для медианного фильтра для полутоновых и полноцветных изображений). Наиболее качественный результат был получен в результате обработки с применением медианного фильтра, фильтр на основе среднего арифметического приводит к сильному ухудшение резкости исходного изображения.
Проведено исследование морфологической обработки бинарных и полутоновых изображений на ПВС, рассматривающей изображения в качестве многомерных множеств и предлагающей для их обработки аппарат теории множеств. Для сравнения эффективности различных подходов создания модулей в средах проектирования ПЛИС, было осуществлено сравнение реализации отдельного вычислителя ПВС морфологической обработки бинарных изображений в виде модуля на языке описания аппаратуры (HDL) и в виде принципиальной схемы устройства. В результате было обнаружено небольшое преимущество графической реализации, однако в связи с трудоёмкостью этого подхода, целесообразным признана текстовая реализация. Разработанные вычислительные элементы ПВС показали высокое быстродействие (6-8 нс), при этом использование более новых семейств ПЛИС продемонстрировало улучшение получаемых характеристик, в связи с чем можно ожидать еще большей производительности вычислителей при реализации на современных моделях ПЛИС.
Помимо базовой реализации вычислителя морфологической обработки, была разработана модифицированная версия, предоставляющая расширенный функционал и более тонкую настройку под поставленную задачу, но имеющая значительно большее количество портов ввода-вывода, что усложняет прикладное использование подобных структур. Среднее быстродействие подобного вычислителя - 10 нс.
На основе модифицированного вычислителя была построена и исследована на ПЛИС матрица морфологической обработки бинарных изображений. Результаты временных симуляций показали задержки не более 11 - 14 нс на выполнение всех реализованных операций (дилатация, эрозия, замыкание, размыкание).
Осуществлена симуляция на ПЛИС отдельного вычислителя и ПВС морфологической обработки полутоновых изображений, основывающейся на определении максимального либо минимального уровней яркости в рассматриваемой окрестности. Среднее быстродействие ПВС 9 - 12 нс для всех реализуемых операций, наибольшие задержки не превышают 21 нс.
Рассмотрена реализация детектора ключевых признаков (край, угол, шум) бинарного изображения как составного элемента ПВС. Были исследованы реализации подобного детектора на распространённых аппаратных платформах - центральном процессоре, графическом процессоре, ПЛИС. Наихудшее быстродействие продемонстрировала реализация на ГП (16,5 мкс), что объясняется специализированной архитектурой, меньшим быстродействием отдельного ядра и последовательным характером выполнения детектирования. При реализации ПВС на основе данного детектора ГП продемонстрирует более высокую эффективность. ЦП показал более высокое быстродействие (около 500 нс), однако крайне низкая способность к параллельным вычислениям делает его малопригодным для построения ПВС. Детектор на 47
ПЛИС имеет наибольшее быстродействие (10 - 15 нс) и является подходящей платформой для построения ПВС детектирования ключевых признаков изображения.
По результатам проведённого исследования можно сделать вывод, что применение перестраиваемых вычислительных сред в качестве дополнительных слоёв интегральных светочувствительных матриц позволит эффективно проводить параллельную обработку потоковой информации, поступающей с датчиков светочувствительной матрицы, с очень высокой скоростью (десятки наносекунд на полутоновое изображение), что даст возможность проектировать и производить системы технического зрения, отличающиеся высоким быстродействием, точностью, гибкостью и энергоэффективностью; то есть позволит решить одну из важных проблем современной робототехники.
1. Библиотекарь.Ру. Основы робототехники. Системы технического зрения [Электронный ресурс] : электронная библиотека. URL:http://www.bibliotekar.ru/7-robot/64.htm(дата обращения 1.06.18).
2. Сырямкин В.И. Системы технического зрения: Справочник / В.И. Сырямкин,
В С. Титов, ЮГ. Якушенков и др // под общей редакцией В.И. Сырямкина, В С. Титова. - Томск: МГП «РАСКО», 1992. 367 с.: ил.
4. Шапиро Л., Стокман Дж. Компьютерное зрение / Л. Шапиро, Дж. Стокман // пер. с англ. - М.: БИНОМ Лаборатория знаний, 2006. 752 с.: ил.
5. Академик. КМОП-матрица [Электронный ресурс] : электронный словарь. URL: https://dic.academic.ru/dic.nsf/ruwiki/14827(дата обращения 1.06.18).
6. Клуб фототехники DSLR. Какая матрица лучше CMOS или CCD? [Электронный ресурс]. URL:http://dslrclub.ru/kakaya-matrica-luchshe-cmos-ili-ccd/(дата обращения 29.05.18).
7. ПЗС против КМОП [Электронный ресурс]. URL: http://dsioffe.narod.ru/articles/ccd vs cmos.htm(дата обращения 29.05.18).
8 Хабр. Взгляд изнутри: матрицы цифровых камер [Электронный ресурс]. URL: http://habrahabr.ru/post/143169/(дата обращения 29.05.18).
9. Шатравин В В Интеллектуальные робототехнические и мехатронные системы : учеб, пособие/В.В. Шатравин [и др]// под ред. В.И. Сырямкина - Томск, 2017. 256 с.
10. Шашев Д.В. Алгоритмы динамически перестраиваемых вычислительных сред для обработки изображений [Текст] : дис. ... канд. техн, наук : 05.13.11 : защищена 29.12.16 : утв. 07.06.17 / Шашев Дмитрий Вадимович. - Томск, 2016. - 136 с.: ил. - OD 61 17-5/474.
11. Sony [Электронный ресурс]https://www.sony.net/Sonylnfo/News/Press/200806/08-069E/index,html(дата обращения 1.06.18).
12. Gambinoa J.P., Adderlya S A. Knickerbocker J.U. An overview of through-silicon- via technology and manufacturing challenges // Microelectronic Engineering. 2012. vol. 135, p 73-106.
13. Евреинов, Э.В. Однородные вычислительные системы, структуры и среды / Э.В. Евреинов. - М.: Радио и связь, 1981. - 208 с.
14. Шидловский, С.В. Автоматическое управление. Перестраиваемые структуры / С.В Шидловский. - Томск: ТГУ, 2006. - 288 с.
15. Шидловский, С.В. Автоматическое управление. Реконфигурируемые системы: учебное пособие / С.В. Шидловский - Томск: Изд-во Том. ун-та, 2010. - 168 с
16. Википедия. ПЛИС [Электронный ресурс] : электронная энциклопедия. URL: https://ru.wikipedia.org/wiki/ПЛИС(дата обращения 23.05.18).
17. Parallel.ш. Технология устройств CPLD [Электронный ресурс]. URL: littps://www.parallel.ru/fpga/cpld.html(дата обращения 23.05.18).
18. Шатравин В.В. Разработка элемента высокоскоростной перестраиваемой вычислительной структуры обработки бинарного изображения на основе ПЛИС / В В Шатравин// Материалы международной конференции Когнитивная робототехника - 10 декабря 2016 г.) / под ред В И Сырямкина, А В Юрченко; ТГУ. Часть 1. - Томск: Изд-во ТГУ, 2016.-83 с.
19. Проект «Марсоход». Архитектура ПЛИС (FPGA) [Электронный ресурс] https://marsohod.Org/index.php/ourblog/l l-blog/265-fpga(дата обращения 23.05.18).
20. Tutorial-reports.com. FPGA Tutorial. Logic Blocks [Электронный ресурс]. URL: http://www.tutorial-reports.com/computer-science/fpga/logic-block.php(дата обращения 23.05.18).
21. Харрис ДМ., Харрис С Л Цифровая схемотехника и архитектура компьютера/ Д М. Харрис, С.Л. Харрис// пер. с англ. Imagination Technologies. - М.: ДМК Пресс, 2018. - 792 с.: цв. ил.
22. Лаборатория электронных средств обучения СибГУТИ. Архитектура ПЛИС. Логический элемент [Электронный ресурс]. URL:http://www.labfor.ru/articles/fpga arch le(дата обращения 28.05.18).
23. davis.lbl.gov. PGM format definition [Электронный ресурс]. URL: http://davis.lbl.gov/Manuals/NETPBM/doc/pgm.html(дата обращения 1.06.18).
24. Гонсалес М, Вудс Р , Эддинс С Цифровая обработка изображений в среде MATLAB / М. Гонсалес, Р Вудс, С. Эддинс // пер с англ. В В Чепыжова. - М.: Техносфера, 2006. -615 с.: ил.
25. Национальная библиотека им. Н.Э. Баумана. Пространственная обработка изображений [Электронный ресурс]. URL:
https://ru.bmstu.wiki/Пространственная фильтрация изображений(дата обращения 25.05.18).
26. Шатравин В. Сравнение реализованных на базе ПЛИС алгоритмов пространственной обработки полутоновых изображений / В. Шатравин // Когнитивная робототехника: материалы международной конференции (22 - 25 ноября 2017 г.) / под ред. В.И. Сырямкина, А.В. Юрченко; Томский государственный университет. - Томск, 2017-86 с.
27. Шатравин В Реализация пространственной фильтрации полноцветных изображений на ПЛИС / В. Шатравин // Инноватика-2018: сб. материалов XIV Международной школы-конференции студентов, аспирантов и молодых ученых (26-27 апреля 2018 года) / под ред. А Н. Солдатова, С.Л. Минькова. - Томск, STT, 2018 (в печ.)
28. Шатравин В. Реализация вычислительной структуры медианной фильтрации полутоновых изображений на базе ПЛИС / В. Шатравин ИИнформационно¬измерительная техника и технологии: материалы VIII научно-практической конференции (22-25 ноября 2016 г.) / под ред. В.И. Сырямкина, А.В. Юрченко; Национальный исследовательский Томский государственный университет - 143 с.
29. Википедия. Математическая морфология [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Математическая морфология(дата обращения 1.06.18).
30. Гонсалес Р., Вудс Р. Цифровая обработка изображений / Р. Гонсалес, Р. Вудс // пер. с англ, под ред. П.А. Чочиа. - М.: Техносфера, 2005. - 1072 с.
31 Шатравин В.В Реализация высокопроизводительной вычислительной структуры обработки бинарного изображения на базе ПЛИС / В В Шатравин // Инноватика-2017: сборник материалов XIII Международной школы-конференции студентов, аспирантов и молодых ученых (20-22 апреля 2017г.) / под ред. А Н. Солдатова, С.Л. Минькова. - Томск: STT, 2017. - 554 с.
32. Shatravin V, Shashev D.V. Realization of the FPGA-based reconfigurable computing environment by the example of morphological processing of a grayscale image // IOP Conference Series: Materials Science and Engineering. 2018. vol. 363, 012028.
33. GitHub BenchmarkDotNet [Электронный ресурс] : онлайн-хранилище git- репозиториев. URL:https://github.com/dotnet/BenchmarkDotNet(дата обращения 28.03.18).
34. Advanced Graphics Algorithms Basic concepts in OpenCL [Электронный ресурс]. URL:https://sites.google.com/site/csc8820/opencl-basics/opencl-concepts(дата обращения 2.04.18).