Детектирование границ стало важнейшим элементом почти всех методов компьютерного зрения, используемых сегодня в различных областях применения1. Детектирование границ представляет собой этап извлечения признаков и отвечает за получение информативных и отличительных деталей из изображений, что может быть применено в широком спектре сценариев2. Границы на изображении обозначают области с резким изменением интенсивности; следовательно, они предоставляют важную и характерную информацию об этом изображении. Данный процесс способствует удалению ненужных и нерелевантных деталей, сохраняя только ключевые и уникальные элементы, которые могут быть подвергнуты дальнейшей обработке для конкретного приложения.
Важность детектирования границ подчеркивается его применением в различных задачах, включая сегментацию изображений, обнаружение и распознавание объектов, извлечение признаков, улучшение качества изображений, идентификацию объектов, медицинскую визуализацию, видеонаблюдение, промышленную автоматизацию, автономное вождение, дополненную реальность и робототехнику2,3,4,5,6, как показано на рисунке 1.
Существует множество методов детектирования границ, включая операторы Собеля, Превитта, Робертса, алгоритм Кэнни и другие. Среди этих методов детектирование границ Собеля выделяется простотой применения, минимальной сложностью реализации и высокой точностью обнаружения границ3,4,5,6. Алгоритм Собеля определяет градиенты изображения как в горизонтальном, так и в вертикальном направлениях, используя соответствующие ядра Gx и Gy, как показано ниже2,4.
Gx выделяет границы в × Gx выделяет границы в направлении x, а Gy — границы в направлении y12,13В совокупности они полностью определяют все границы на изображении.6Процесс свертки с ядром и метод скользящего окна используются для применения оператора Собеля для детектирования границ на изображении. Из изображения последовательно выбирается окно (например, размером 3 на 3 пикселя), которое затем подвергается свертке с матрицей фильтра для получения нового значения центрального пикселя. Аналогичным образом обрабатывается все изображение. В методе Собеля используются два таких ядра: одно для выделения границ в направлении оси X, другое — в направлении оси Y. Для получения всех границ эти два результата объединяются. Детектирование границ по Собелю дает точные и надежные результаты, которые могут быть дополнительно улучшены с помощью предварительной обработки.4,5,15Полное описание алгоритма детектирования границ Собеля представлено в Рисунок 2.
Несмотря на то что все опубликованные работы внесли значительный вклад в область детектирования границ, основные исследования были сосредоточены на изображениях с низким разрешением, в то время как работа, представленная в данной статье, охватывает различные разрешения: от изображений с низким разрешением (256 × 256) до разрешения высокой четкости (HD) (2560 × 1440). Следовательно, исследование аппаратной реализации алгоритма детектирования границ Собеля для различных разрешений имеет решающее значение для понимания эффективности реализации в сценариях реального времени с варьирующимся разрешением изображений. Программируемые логические интегральные схемы (ПЛИС, FPGA) признаны подходящей платформой для аппаратной реализации благодаря их пригодности для быстрой разработки прототипов и таким преимуществам, как реконфигурируемость, которая позволяет легко вносить изменения в проект без необходимости замены всей аппаратной конфигурации6,7,8,9,10,11,12,13. Кроме того, FPGA обеспечивают возможность параллельной обработки и конвейеризации; после оптимизации показателей производительности и валидации платформы проект может быть переведен на стадию фактического производства специализированных интегральных схем (ASIC)14,15. Еще одной важной особенностью FPGA является их реконфигурируемость, которая позволяет разработчикам в любое время вносить изменения в конструкцию изделия без необходимости замены какого-либо оборудования. Достаточно перепрограммировать чип, что требует очень мало времени и усилий, при условии, что разработчик хорошо владеет языками описания аппаратуры, такими как VHDL/Verilog4,6,13,16,17. Для анализа реализации на FPGA основными рассматриваемыми параметрами являются скорость (максимальная частота), использование ресурсов и энергоэффективность. В таблице 1 показано увеличение количества литературы, опубликованной в области FPGA, и отражена эволюция публикаций по FPGA в период с 2006 по 2024 год. Это наглядно подтверждает, что область исследований FPGA в настоящее время сместилась в сторону приложений реального времени, дополненной реальности, граничных вычислений и других высокотехнологичных приложений13,14,15,16,17,18,19,20,21,22,23.
В таблице 2 представлены результаты работ из существующей литературы, касающихся реализации определителя границ Собеля на FPGA в период с 2020 по 2025 год. В таблице 2 указаны используемые FPGA-платы, реализованные алгоритмы, методология проектирования, полученные результаты, метрики, область применения и проблемы, описанные в каждой из cited статей.
Авторы4 рекомендовали использовать метод определения границ Собеля в 8 направлениях для повышения точности детектирования границ, однако они отметили более высокий расход ресурсов при использовании предложенной методологии. Navinkumar и др. применяют метод сокращения сложных математических операций умножения и извлечения квадратного корня, которые используются в традиционном определении границ Собеля, что позволяет экономить бортовые ресурсы и увеличить скорость9. Авторы17 описали использование алгоритма определения границ Собеля для идентификации полос движения в современных системах помощи водителю. Их целью было ускорить детектирование при одновременном сокращении времени обработки. В целом, использование определения границ было предложено в качестве надежного метода извлечения области интереса в будущем, что может быть очень полезно в различных приложениях, где требуется выделить необходимую область изображения, игнорируя любую другую ненужную информацию. Совокупно отмеченные трудности включали более высокий расход ресурсов и памяти, чувствительность к шуму, высокую вычислительную стоимость и ограниченную масштабируемость для изображений с более высоким разрешением4,5,6,11,12,13,21,22,23.
В данной работе традиционный алгоритм детектирования границ Собеля реализован на плате ПЛИС Ultra96-V2 для различных разрешений изображений — от низкого разрешения 256 × 256 до разрешения Full HD 2560 × 1440. Ultra96-V2 представляет собой плату, сочетающую возможности программирования ПЛИС с мощным процессором Arm (Cortex-A53/R5) для высокопроизводительных приложений. Данная плата была впервые выпущена в 2018 году и базируется на технологическом узле FinFET 16 нм18.
Для обеспечения воспроизводимости вся реализация была выполнена с использованием стандартного набора инструментов, состоящего из Vivado HLS 2019.2 для высокоуровневого синтеза (HLS) и Vivado 2019.2 для размещения и трассировки, а также образа PYNQ, выпущенного ресурсами Ultra96-V2. Код HLS использовался для создания IP-ядра (Intellectual Property) детектирования границ по Собелю, которое было экспортировано и интегрировано в среду проектирования Vivado. IP-ядро было реализовано в части PL (программируемая логика), а часть PS (процессорная система) ПЛИС отвечала за механизмы передачи данных и управления. Взаимодействие PS с PL осуществлялось по протоколу AXI. Все представленные показатели — частота, использование ресурсов и энергопотребление — взяты из отчетов после реализации, а не из оценок HLS. Настройки реализации оставались неизменными, и в ходе экспериментов менялось только разрешение изображений.
Значимые достижения данной работы заключаются в низком энергопотреблении, малом использовании ресурсов и высокой скорости работы. Результаты показывают, что для изображений высокого разрешения используется менее 20% бортовых ресурсов (18% таблиц поиска (LUT), 11% триггеров (FF), 3% памяти и 10% DSP), что указывает на огромные возможности для интеграции гораздо большего объема обработки этих изображений, что ожидается в любой системе компьютерного зрения, так как детектирование границ является лишь промежуточным этапом. Кроме того, рассеиваемая мощность составляет почти 2 W, а максимальная рабочая частота составляет 144 MHz. Результаты демонстрируют, что увеличение размеров изображений почти в 56 раз увеличивает использование ресурсов всего лишь почти на 20%. Скорость и рассеиваемая мощность также снижаются всего лишь почти на 20%. Данный анализ позволяет детально исследовать алгоритм с другой точки зрения, которая не была представлена в предыдущей литературе, и, следовательно, указывает на то, что реализация хорошо подходит для приложений реального времени без необходимости ограничивать изображения малыми размерами или низким разрешением, что определенно снижает объем информации, необходимой на последующих этапах после детектирования границ.
Новизна данной работы заключается не в самом алгоритме, а в оценке производительности традиционного алгоритма детектирования границ Собеля при различных разрешениях изображений на современных гетерогенных архитектурах ПЛИС с использованием преимуществ методов реализации на базе HLS. Основной вклад данной статьи состоит прежде всего в применении гибридной методологии, реализованной на ПЛИС, которая эффективно распределяет рабочую нагрузку между разделами PS и PL архитектуры, что позволяет системе легко адаптироваться к различным разрешениям. Другим вкладом является проведение экспериментов по оценке того, как масштабирование ресурсов меняется при изменении разрешения изображений, что способствует пониманию производительности в различных конфигурациях и для разнообразных приложений.