Методическая статья

Аппаратная архитектура с адаптивным разрешением для обнаружения границ по Собелю в режиме реального времени, обеспечивающая сублинейное масштабирование ресурсов

17 просмотров

DOI:

10.3791/71589

28 августа 2026 г.

В этой статье

Краткое содержание

В данной работе представлена реализация алгоритма детектирования границ Собеля на базе ПЛИС на гетерогенной платформе Ultra96-V2, а также проведена оценка использования ресурсов, энергопотребления и скорости обработки для разрешений изображений от 256 × 256 до 2560 × 1440. Предложенная архитектура демонстрирует сублинейное масштабирование ресурсов для приложений обработки изображений в реальном времени.

Аннотация

Детектирование границ является ключевой областью компьютерного зрения и стало неотъемлемой частью различных сфер применения. Детектирование границ позволяет идентифицировать края объектов, которые являются критически важными признаками в изображениях и представляют собой значимые атрибуты, помогающие извлекать ключевую и дифференцирующую информацию из изображений. Аппаратная реализация детектирования границ должна быть быстрой, использовать минимальные ресурсы, потреблять меньше энергии и быть адаптируемой к различным разрешениям изображений. В данной работе реализован алгоритм детектирования границ Собеля для адаптивного разрешения изображений — от низкого разрешения до Full HD — с использованием современной гетерогенной платформы на базе программируемой логической интегральной схемы (ПЛИС/FPGA) Ultra96-V2. Результаты показывают, что для изображений с низким разрешением используется всего 5% бортовых ресурсов FPGA, включая таблицы истинности (LUT), триггеры (FF), цифровые сигнальные процессоры (DSP) и блочную память (BRAM), в то время как для изображений с высоким разрешением потребляется примерно 23% ресурсов. Это демонстрирует, что увеличение использования ресурсов при переходе от низкого разрешения к высокому составляет менее 20%. Кроме того, рассеиваемая мощность при максимальном разрешении составляет примерно 2 W, а максимальная рабочая частота зафиксирована на уровне 136 MHz для высокого разрешения и 166 MHz для низкого разрешения, что показывает снижение частоты всего на 18%. Предложенная архитектура обеспечивает сублинейное масштабирование ресурсов с увеличением их использования менее чем на 20% и снижением скорости и мощности менее чем на 20% при 56-кратном увеличении количества пикселей, максимально используя преимущества современной гетерогенной архитектуры FPGA. Следовательно, возможность адаптивного разрешения в сочетании с низким масштабированием ресурсов делает предложенную конструкцию особенно подходящей для приложений детектирования границ в реальном времени, требующих высококачественной обработки изображений.

Введение

Детектирование границ стало важнейшим элементом почти всех методов компьютерного зрения, используемых сегодня в различных областях применения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 архитектуры, что позволяет системе легко адаптироваться к различным разрешениям. Другим вкладом является проведение экспериментов по оценке того, как масштабирование ресурсов меняется при изменении разрешения изображений, что способствует пониманию производительности в различных конфигурациях и для разнообразных приложений.

Протокол

1. Реализация детектирования границ по Собелю в инструменте HLS

  1. Откройте инструмент Vivado HLS 2019.2 и создайте проект. В качестве платы FPGA выберите Ultra96-V2.
  2. Напишите код на языке высокого уровня C++ для детектирования границ по Собелю, сделав параметр размера изображения обобщенным, а не фиксированным.
    ПРИМЕЧАНИЕ: Ширина и высота изображения не являются фиксированными и прописаны в коде в виде общего параметра, чтобы их можно было легко изменять при варьировании разрешения изображения без необходимости вносить правки в нескольких местах.
  3. Напишите на C++ код тестового стенда (test bench) для алгоритма детектирования границ по Собелю.
    ПРИМЕЧАНИЕ: Тестовый стенд создается для подачи входных изображений, на которых будет тестироваться код.
  4. Нажмите «run C simulation», чтобы запустить симуляцию кода для проверки функциональной корректности. Подайте на тестовый стенд входное изображение, а затем проверьте полученный результат, который должен представлять собой изображение с выделенными границами.
  5. Нажмите «run C synthesis», чтобы синтезировать HLS-код и экспортировать IP-ядро для детектирования границ по Собелю.
    ПРИМЕЧАНИЕ: Процесс синтеза фактически отображает описанный программно дизайн на аппаратные компоненты, делая его совместимым и готовым к аппаратной реализации.
  6. Изучите отчеты о таймингах и использовании ресурсов, сформированные инструментом, и убедитесь, что расчетное время не превышает целевое значение.
    ПРИМЕЧАНИЕ: Все результаты платформы HLS являются лишь приблизительными, а фактические параметры вычисляются только при реализации дизайна на FPGA.
  7. Нажмите «export IP», чтобы экспортировать IP-ядро процедуры детектирования границ по Собелю.
    ПРИМЕЧАНИЕ: Данное IP-ядро используется на следующем этапе при проектировании блок-схемы для реализации на FPGA в инструменте Vivado.

2. Реализация алгоритма детектирования границ Собеля на FPGA-платформе Ultra96-V2 с использованием извлеченного HLS IP

  1. Откройте Vivado Design Tool и создайте новый проект. Выберите в качестве целевой платы Ultra96-V2 и нажмите «Create a new block design».
  2. Импортируйте IP-ядро Sobel edge, только что экспортированное из инструмента HLS. Добавьте остальные необходимые блоки для завершения сопряжения между частями PS и PL.
    ПРИМЕЧАНИЕ: В блок-схеме также используются другие важные IP-блоки, такие как Zynq Ultrascale IP, Smart Connect и процессорный сброс и т. д., для установления интерфейса между PS и PL с использованием протокола Advanced eXtensible Interface (AXI).
  3. Нажмите «validate design», чтобы проверить блок-схему. Убедитесь, что инструмент не сообщает об ошибках проектирования. Если ошибки возникли, следуйте инструкциям по их исправлению и выполните проверку повторно.
    ПРИМЕЧАНИЕ: Этот шаг гарантирует отсутствие пропущенных соединений в блок-схеме, но не подтверждает функциональную корректность самого проекта.
  4. Нажмите «create the HDL wrapper», чтобы получить обобщенный HDL-код для блок-схемы.
  5. Нажмите «run synthesis», чтобы выполнить синтез проекта и проверить наличие ошибок. Если ошибок не обнаружено, инструмент сообщит об успешном синтезе. После успешного синтеза откройте отчеты по таймингам, чтобы проверить наличие временных нарушений.
  6. Для проверки временных нарушений убедитесь, что ни один из показателей тайминга не выделен красным текстом, так как это означает, что фактически затраченное время превышает заданное целевое значение, что свидетельствует о нарушении.
  7. Нажмите «run implementation», чтобы реализовать проект и оценить отчеты по таймингам, энергопотреблению и использованию ресурсов.
  8. Сгенерируйте файл «.bit» для программирования платы FPGA.
    ПРИМЕЧАНИЕ: Блок-схема для детектирования краев по алгоритму Собеля на Ultra96-V2 показана на Рисунке 3. Как уже было сказано, блок-схема в основном необходима для установления интерфейса между частями PS и PL платы FPGA.

3. Программирование платы ПЛИС

  1. Для подготовки SD-карты загрузите файл образа PYNQ (.img) для платы Ultra96-V216 и установите загруженный файл на SD-карту.
  2. Включите питание платы в режиме загрузки с SD-карты, установив переключатели в положения, указанные в руководстве пользователя Ultra96-V216.
  3. Перейдите по URL-адресу http://192.168.3.1 и при появлении соответствующего запроса введите имя пользователя и пароль, в обоих случаях — «xilinx».
    ПРИМЕЧАНИЕ: Рекомендуется использовать браузер Google Chrome во избежание технических несоответствий.
  4. Войдите на платформу Jupyter и напишите код на языке Python для части PS, чтобы считать входные изображения или видео и отправить считанное изображение в часть PL для обработки.
  5. Напишите код для записи обработанных изображений из PL обратно в PS и отображения результата.
    ПРИМЕЧАНИЕ: Для отображения результатов на Ultra96-V2 используется платформа PYNQ, что значительно упрощает вывод выходных изображений с помощью кода Python и библиотек OpenCV.
    На рисунке 4 показаны этапы реализации подхода на Ultra96-V2, описанного в данном разделе, и полученные результаты.

Результаты

В данном разделе обсуждаются результаты, полученные при реализации алгоритма детектирования границ Собеля на платформе Ultra96-V2. Рисунок 5 Ниже представлены входные и выходные изображения, полученные в результате HLS-симуляции. Используемые изображения имеют стандартный размер 512 × 512. Эти результаты демонстрируют функциональную корректность HLS-кода, написанного для детектирования границ по оператору Собеля. На результирующих изображениях границы должны быть четко видны.

Таблица 3 содержит отчеты о синтезе, а также полученные параметры временного анализа и использования ресурсов на плате Ultra96-V2 с ПЛИС xczu3eg-sbva484-1-e. Отчет включает информацию о временных характеристиках, которая показывает, соответствует ли проект временным ограничениям, заданным пользователем. Согласно сводке временного анализа, расчетное время 8.544 ns меньше целевого значения 10 ns, что однозначно свидетельствует о соответствии проекта пользовательским ограничениям.

Инструменты HLS также создают расчетную оценку использования ресурсов, которая предоставляет проектировщику данные о возможном использовании бортовых ресурсов. Фактические параметры использования могут быть получены только после реального аппаратного воплощения. Несмотря на наличие огромного количества ресурсов различных категорий на FPGA, наиболее часто используемыми аппаратными элементами являются LUT (таблицы истинности), FF (триггеры), DSP Slices (слайсы цифровой обработки сигналов) и память.

Таблица 3 также демонстрирует фактические временные показатели и использование ресурсов при реализации детектора границ Собеля на Ultra96-V2 для изображений с высоким разрешением. Временной анализ показывает, что наихудший отрицательный запас (worst negative slack) составляет 3,102 ns, что указывает на достаточное время для обработки, и, следовательно, достигается тактовая частота 144 MHz. Достигнутая рабочая частота 144 MHz при разрешении 1920 × 1080 соответствует пропускной способности примерно 299 MP/s, что превышает 62 MP/s, необходимых для обработки полноформатного HD-видео в реальном времени при 30 fps. Чтобы понять масштабирование ресурсов и влияние на параметры при переходе от изображений с низким разрешением к изображениям с высоким разрешением, в таблице представлены экспериментальные результаты, полученные путем повторения одних и тех же этапов для различных разрешений.

В таблице 4 указаны размер изображения и, следовательно, общее количество пикселей, а также рабочая частота, мощность и использование ресурсов в терминах LUT, FF, BRAM и DSP. Отчетливо видно, что при переходе от минимального рассматриваемого разрешения 256 × 256 к максимальному 2560 × 1440, что подразумевает почти 56-кратное увеличение количества пикселей, параметры изменяются всего на 20%. Это явно указывает на сублинейное масштабирование ресурсов, при котором объем обрабатываемых данных увеличивается многократно, но ухудшение показателей производительности минимально, что делает систему пригодной для развертывания в режиме реального времени.

Результаты, представленные в Таблице 4, наглядно демонстрируют, что применение детектора границ Собеля на плате Ultra96-V2 дает значительные преимущества для задач, требующих адаптивного разрешения, так как показатели производительности остаются оптимизированными и не претерпевают существенных изменений при увеличении размера изображения от низкого до высокого разрешения. Этот успех обусловлен гибридным подходом к реализации, который позволяет избежать перегрузки логики FPGA данными изображения, перекладывая управление значительным объемом нагрузки на процессор платы. Процессор просто передает данные изображения в логический компонент FPGA, при этом любое увеличение масштабирования ресурсов или снижение максимальной частоты является исключительно следствием большого объема данных, требующих обработки. Таким образом, можно утверждать, что подход, описанный в данной работе, обеспечивает сублинейное масштабирование ресурсов, несмотря на почти 56-кратное увеличение количества пикселей изображения.

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

Как четко показано в Таблице 5, работа, реализованная в данной статье, имеет соответствующие показатели производительности, однако существующие решения в ранее опубликованных реализациях9,10 обладают лучшими параметрами. Но при общем сравнении можно отметить, что в обеих предыдущих работах9,10 использовалось низкое разрешение изображений и устаревшие платформы FPGA, в то время как результаты, представленные в данной статье, приведены для адаптивных разрешений изображений, где размер изображения варьируется от самого низкого разрешения 256 × 256 до разрешения высокой четкости до 2560 × 1440. Результаты показывают, что реализованный подход к детектированию границ Собеля, использующий возможности как процессора, так и логической части гетерогенной платы FPGA Ultra96-V2, оказывается эффективным для достижения сублинейного масштабирования ресурсов при увеличении количества пикселей почти в 56 раз, при этом использование ресурсов увеличивается всего на 20%, а снижение показателей мощности и скорости также составляет менее 20%. Для самого низкого разрешения используется всего 5% ресурсов, а максимальное использование составляет всего 23%, что оставляет значительный запас для дальнейшей обработки. Таким образом, можно однозначно утверждать, что из-за разницы в разрешениях изображений прямое сравнение затруднено, однако при анализе реализации, представленной в данной работе, тактовая частота составляет 136 MHz, энергопотребление — 2 W, а использование ресурсов составляет менее 23% от общего объема бортовых ресурсов. Важно отметить, что реализации, описанные в предыдущих работах9,10, демонстрируют более высокие индивидуальные показатели производительности. Однако следует заметить, что в обеих работах оценка проектов проводилась при одном фиксированном разрешении изображения, тогда как предлагаемая работа оценивалась в широком диапазоне разрешений от 256 × 256 до 2560 × 1440. Таким образом, цели проектирования принципиально различаются, так как в работах9,10 оптимизация проводилась для достижения пиковой производительности при одном разрешении, в то время как предлагаемая архитектура отдает приоритет адаптивности и сублинейному масштабированию ресурсов для нескольких разрешений. Это делает реализованную конструкцию подходящей для приложений, требующих детектирования границ.

Таким образом, в данной работе под сублинейным масштабированием ресурсов понимается условие, при котором процентное увеличение использования ресурсов значительно ниже процентного увеличения количества пикселей. При увеличении разрешения с 256 × 256 до 2560 × 1440 количество пикселей увеличивается примерно на 5600%, в то время как использование бортовых ресурсов возрастает менее чем на 20%. Столь несоразмерно низкая скорость роста потребления ресурсов, являющаяся прямым результатом стратегии гетерогенного разделения PS-PL, подтверждает сублинейный характер масштабирования предлагаемой архитектуры. Хотя предложенная реализация демонстрирует сублинейное масштабирование ресурсов во всем протестированном диапазоне разрешений, для точной интерпретации результатов следует отметить определенные ограничения. Рабочая частота снижается на 18% при переходе от низкого разрешения к высокому, и экстраполяция данных за пределы 2560 × 1440 может потребовать корректировки архитектуры для обеспечения соблюдения временных ограничений (timing closure). Кроме того, поскольку передача данных изображения управляется процессором ARM, накладные расходы на передачу со стороны PS растут линейно с увеличением количества пикселей, что может ограничить пропускную способность в приложениях с непрерывным потоковым видео высокого разрешения сильнее, чем это следует из одних только показателей стороны PL.

Схема применения детектирования границ: робототехника, визуализация, дополненная реальность, автоматизация, видеонаблюдение.
Рисунок 1: Различные области применения детектирования границ. Иллюстрация репрезентативных областей применения, в которых обычно используется детектирование границ, включая компьютерное зрение, медицинскую визуализацию, видеонаблюдение, робототехнику и промышленную автоматизацию. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этого рисунка.

Обработка изображений: схема детектирования границ оператором Собеля с ядрами свертки на входном изображении.
Рисунок 2: Описание этапов алгоритма детектирования границ Собеля. Схема рабочего процесса, иллюстрирующая процесс детектирования границ методом Собеля, включая выделение окна изображения размером 3 × 3, свертку с горизонтальным и вертикальным ядрами Собеля и формирование выходного изображения с детектированными границами. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этого рисунка.

Блок-схема Zynq UltraScale+, системная архитектура, демонстрирующая поток данных и компоненты взаимосвязи AXI.
Рисунок 3: Реализованная блок-схема для детектирования границ по Собелю на FPGA-плате Ultra96-V2 с использованием интерфейса между PS (процессорной системой) и PL (программируемой логикой). Блок-схема, демонстрирующая аппаратную архитектуру и взаимосвязь процессорной системы (PS), программируемой логики (PL) и вспомогательных IP-ядер, использованных для реализации на FPGA. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этого рисунка.

Процесс записи образа PYNQ и рабочий процесс проектирования в Vivado; настройка SD-карты, валидация, генерация bit-файла.
Рисунок 4: Этапы программирования платы Ultra96-V2 для детектирования границ по Собелю с использованием платформы PYNQ и результат детектирования границ по Собелю на входном изображении. Схема рабочего процесса, демонстрирующая процедуру программирования платы Ultra96-V2 с помощью платформы PYNQ, и репрезентативное выходное изображение, полученное после реализации на FPGA. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этого рисунка.

Детектирование цвета и границ при обработке изображений; сравнительная сетка оригинальных изображений и изображений с выделенными границами.
Рисунок 5: Результаты симуляции детектирования границ по Собелю для различных стандартных изображений с использованием Vivado HLS (2019.2). Репрезентативные входные изображения и соответствующие им выходные данные с детектированными границами, полученные в ходе функционального моделирования алгоритма детектирования границ по Собелю с помощью Vivado HLS 2019.2. Пожалуйста, нажмите здесь, чтобы просмотреть увеличенную версию этого рисунка.

Таблица 1: Эволюция применения ПЛИС в исследованиях в области компьютерного зрения (2006–2024 гг.).Обзор репрезентативных приложений компьютерного зрения на базе ПЛИС, описанных в период с 2006 по 2024 год. Пожалуйста, нажмите здесь, чтобы скачать эту таблицу.

Таблица 2: Соответствующая литература по реализации алгоритмов детектирования границ на FPGA (2020-2025). Сравнение последних реализаций детектирования границ на базе FPGA, включая платформу, методологию и сообщаемые показатели производительности. Пожалуйста, нажмите здесь, чтобы скачать эту таблицу.

Таблица 3: Реализация алгоритма детектирования границ Собеля на FPGA: расчетные и фактические параметры. Расчетные результаты HLS-синтеза и соответствующие им временные характеристики и использование ресурсов после реализации, полученные для реализации на FPGA. Пожалуйста, нажмите здесь, чтобы скачать эту таблицу.

Таблица 4: Использование ресурсов и показатели производительности реализованного алгоритма детектирования границ Собеля при различных разрешениях изображений.Показатели производительности, рабочая частота, энергопотребление и использование ресурсов ПЛИС для предлагаемой реализации при различных разрешениях изображений. Пожалуйста, нажмите здесь, чтобы скачать эту таблицу.

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

Обсуждение

Данная работа посвящена реализации алгоритма детектирования границ Собеля, который является важным компонентом в различных приложениях в области компьютерного зрения и обработки изображений2,3,4,5,6. Реализация детектирования границ Собеля выполнена с помощью инструмента Vivado HLS, что позволило использовать языки высокого уровня вместо языков описания аппаратуры. Код Vivado HLS запущен на плате Ultra96-V2. Результаты после внедрения показывают, что реализованная архитектура поддерживает изображения высокого разрешения и работает на частоте 136 MHz при энергопотреблении 2 W, используя менее 20% всех бортовых ресурсов. Кроме того, результаты продемонстрировали, что данный подход подходит для адаптивного разрешения изображений, поскольку различные приложения могут требовать использования разных размеров изображений, а детектирование границ обычно является промежуточным этапом2,3,4,5,6, который очень часто выполняется в сложных конвейерах обработки. Таким образом, можно утверждать, что разработанная система может быть развернута в приложениях реального времени, требующих детектирования границ. Значительный объем свободных ресурсов позволяет интегрировать в разработанную систему различные другие этапы обработки6,7,8,9,10,11,12,13,14,15.

Успешная реализация детектора границ Собеля на плате Ultra96-V2 требует тщательного внимания к нескольким практическим аспектам. Фреймворк PYNQ значительно упрощает взаимодействие PS–PL, обеспечивая управление аппаратным обеспечением через библиотеки Python, что снижает трудозатраты на разработку программного обеспечения. Тем не менее, необходимо загрузить правильный образ PYNQ из официального источника и надлежащим образом настроить SD-карту перед развертыванием. Функциональная проверка проекта HLS с использованием комплексных тестовых стендов имеет решающее значение перед экспортом IP, так как ранняя валидация помогает выявить алгоритмические ошибки и ошибки интерфейса до аппаратной реализации. При реализации на FPGA проектирование блок-схемы также требует пристального внимания разработчика: рекомендуется детально изучить архитектуру рассматриваемого аппаратного обеспечения FPGA, чтобы правильно выбрать блоки и установить соединения. Не рекомендуется полностью автоматизировать создание соединений, так как это может привести к их пропуску или созданию связей, не соответствующих архитектуре проекта. На этапе настройки интерфейса PS–PL такие ошибки, как неправильный маппинг адресов AXI, несоответствие тактовых доменов или некорректная конфигурация передач DMA, могут препятствовать успешному взаимодействию между процессором и программируемой логикой. Эти проблемы можно выявить с помощью инструментов валидации проектов Vivado и устранить путем проверки назначений адресов, конфигураций тактовых сигналов, соединений прерываний и настроек DMA перед генерацией битстрима. В процессе реализации на FPGA могут возникнуть нарушения временных параметров (timing violations) из-за длинных комбинационных путей или недостаточного конвейерирования. Увеличение количества ступеней конвейера, оптимизация структур циклов или, при необходимости, смягчение временных ограничений могут помочь в достижении замыкания временных параметров (timing closure).

Хотя данная работа подтверждает эффективность предлагаемой архитектуры разделения PS-PL конкретно для детектирования границ по Собелю, этот архитектурный подход является по своей сути универсальным. Любой алгоритм, который может быть представлен в виде свертки со скользящим окном — включая операторы Превитта, Робертса, Лапласиана Гаусса или стадию вычисления градиента в алгоритме Кэнни, — может быть реализован с помощью аналогичного подхода, при этом изменения в HLS-проекте будут минимальными3,4,5,6. Предложенная работа имеет определенные ограничения. Одним из ограничений является задержка, вызванная передачей данных между PS и PL частями ПЛИС, что влияет на общее время выполнения алгоритма. Кроме того, вывод о сублинейном масштабировании характерен для гетерогенной архитектуры Ultra96-V216 и может быть неприменим к гомогенным платформам ПЛИС, в которых отсутствует выделенное процессорное ядро.

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

Раскрытие информации

Авторы заявляют об отсутствии конфликта интересов. При подготовке данной рукописи инструменты искусственного интеллекта (ИИ) не использовались.

Благодарности

Авторы не имеют заявлений о благодарностях. Данное исследование не получило внешнего финансирования.

Материалы

Список материалов, использованных в этой статье
ИмяКомпанияКаталожный номерКомментарии
FPGA-плата Ultra96-V2 Xilinx Выпущена в 2018 г.Аппаратная платформа, используемая для реализации алгоритма обнаружения пешеходов
Vivado HLS AMD2019.2Инструмент высокоуровневого синтеза, используемый для высокоуровневого программирования кода обнаружения пешеходов, описанного в статье, с целью экспорта интеллектуальной собственности (IP)
Vivado AMD2019.2Инструмент программирования FPGA, используемый для программирования FPGA-платы Ultra 96 v2 с применением алгоритма определения границ Собеля 

Ссылки

  1. Rani N. Image processing techniques: a review. J Today Ideas Tomorrow Technol. 2017;5(1):40-9.
  2. Gonzalez RC. Digital image processing. Pearson Education; India; 2009.
  3. Jena KK, Mishra S, Mishra S. An edge detection approach for fractal image processing. In: Examining Fractal Image Processing and Analysis. IGI Global; 2020. p. 1-22.
  4. Gayathri AG, Remya AS. VLSI implementation of improved Sobel edge detection algorithm [conference presentation]. Presented at: 2021 International Conference on Communication, Control and Information Sciences (ICCISc); 2021 Jun 16. Available from: https://ieeexplore.ieee.org/
  5. Obaid MT. Efficient Implementation of Sobel Edge Detection with ZYNQ-7000 [Master's thesis]. Purdue University.
  6. Asharani P, et al. A inventive method for door detection on FPGA using Sobel edge algorithm [conference presentation]. Presented at: 2022 2nd International Conference on Intelligent Technologies (CONIT); 2022 Jun 24. Available from: https://ieeexplore.ieee.org/
  7. Shylashree N, Anil Naik M, Sridhar V. Design and implementation of image edge detection algorithm on FPGA. Int J Circuits Syst Signal Process. 2022;16:628-36.
  8. Zhou G, Guo S, Chen Z. FPGA-based improved Sobel operator edge detection. Front Comput Intell Syst. 2023;5(2):6-11.
  9. Navinkumar K, Logesh R, VishnuBabu P, Ananthalakshmi AV. FPGA implementation of Sobel edge detection algorithm. EAI Endorsed Trans Internet Things. 2024;10.
  10. Ravichandran S, et al. Parallel processing of Sobel edge detection on FPGA: enhancing real-time image analysis. Sensors. 2025;25(12):3649.
  11. Baloch A, et al. Hardware synthesize and performance analysis of intelligent transportation using Canny edge detection algorithm. Int J Eng Manuf. 2021;11(4):22-32.
  12. Patel CS, Solanki N, Tailor N. Analysis of edge detection using Zynq based SoC FPGA. Turk Online J Qual Inq. 2021;12(7).
  13. Kashyap S, Bhandari AK, Giri P. Low resource FPGA implementation based efficient image edge detector architecture. Multimed Tools Appl. 2024;83(9):25595-615.
  14. Dakshayani V, et al. Design of a Gabor filter-based image denoising hardware model. Electronics. 2022;11(7):1063.
  15. Belmessaoud NM, Bentoutou Y, El-Mezouar MC. FPGA implementation of feature detection and matching using ORB. Microprocess Microsyst. 2022;94:104666.
  16. Castells-Rufas D, et al. A survey of FPGA-based vision systems for autonomous cars. IEEE Access. 2022;10:132525-63.
  17. Vedavyas Y, Vasavi S, Harsha SS, Subhash MS. An FPGA-based adaptive real-time quality enhancement system for drone imagery. SN Comput Sci. 2022;4(1):84.
  18. Avnet. Ultra96-V2 Single Board Computer Hardware User's Guide. Revision 1.0. Avnet; 2020 May.
  19. Singh G, et al. Optimizing IoT capabilities: leveraging FPGA for superior performance, efficiency and security [conference presentation]. Presented at: 2024 5th International Conference for Emerging Technology (INCET); 2024 May 24. Available from: https://ieeexplore.ieee.org/
  20. Kaur A. A survey on FPGA implementations in embedded augmented reality applications [conference presentation]. Presented at: 6th Edition of International Conference on Wireless Networks and Embedded Systems (WECON); 2018 Nov 16. Available from: https://ieeexplore.ieee.org/
  21. Kalaiselvi A, Sajina S, Nithish S, Sowmiya M. Implementation of Sobel edge detection. Int Res J Mod Eng Technol Sci. 2023;5(3):701-11.
  22. Narasimhamurthy CG, Kulkarni S. Fast architecture for low level vision and image enhancement for reconfigurable platform [conference presentation]. Presented at: 2021 International Conference on Advances in Electrical, Computing, Communication and Sustainable Technologies (ICAECT); 2021 Feb 19. Available from: https://ieeexplore.ieee.org/
  23. Pujare A, Sawant P, Sharma H, Pichhode K. Hardware implementation of Sobel edge detection algorithm [conference presentation]. Presented at: ITM Web of Conferences; 2020. Available from: https://www.itm-conferences.org/

Перепечатки и разрешения

Теги

EngineeringComputer VisionField Programmable Gate ArrayImage ProcessingImage ResolutionSobel Edge Detection