Для просмотра этого контента требуется подписка на JoVE. Войдите или начните свой бесплатный пробный период.

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

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

58 просмотров

⸱

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-кода, написанного для детектирования границ по оператору Собеля. На результирующих изображениях границы должны быть четко видны...

Доступ ограничен. Войдите в систему или начните пробный период, чтобы просмотреть этот контент.

Обсуждение

Данная работа посвящена реализации алгоритма детектирования границ Собеля, который является важным компонентом в различных приложениях в области компьютерного зрения и обработки изображений2,3,4,5,6. Реализация детектирования границ Собеля выполнена с помощью инструмента Vivado HLS, что позволило использовать языки высокого уровня вместо языков описания аппаратуры. Код Vivado HLS ...

Доступ ограничен. Войдите в систему или начните пробный период, чтобы просмотреть этот контент.

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

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

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

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

Доступ ограничен. Войдите в систему или начните пробный период, чтобы просмотреть этот контент.

Материалы

Список материалов, использованных в этой статье
ИмяКомпанияКаталожный номерКомментарии
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/

Доступ ограничен. Войдите в систему или начните пробный период, чтобы просмотреть этот контент.

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

Больше статей

Детектирование границ в реальном времениадаптивное разрешение изображенияархитектура FPGAаппаратная реализацияFPGA Ultra96-V2обработка изображенийкомпьютерное зрение