Method Article

Проектирование и реализация программируемой платформы для обнаружения пешеходов на основе массива ворот для автономного вождения

June 12th, 2026

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

В этой исследовательской статье демонстрируется реализация алгоритма обнаружения пешеходов в реальном времени на полевых программируемых аппаратных средствах вентильных массивов, преимущественно для автономного вождения. Алгоритм объединяет гистограмму ориентированных градиентов (HoG) с классификатором опорной векторной машины (SVM), и результаты показывают эффективность по скорости, энергопотреблению и использованию ресурсов.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Автономное вождение — многообещающий способ справиться с растущим числом смертельных случаев в дорожно-транспортных происшествиях. Автономное транспортное средство включает множество функций, но возможность обнаруживать пешеходов крайне важна, сложна и актуальна для различных ситуаций реального времени, таких как наблюдение, отслеживание людей и мониторинг. Точно определить пешеходов сложно, так как они могут появляться в разных формах, позах и позах. Они могут носить разную одежду и иногда быть частично скрытыми или сливаться с окружающими предметами. В данной статье сосредоточена на обнаружении пешеходов в реальном времени для беспилотных автомобилей с помощью популярной аппаратной платформы: программируемого массива полевых затворов (FPGA), Ultra 96 v2. В исследовании реализуется метод обнаружения пешеходов на основе гистограммы ориентированных градиентов (HOG) в сочетании с классификатором опорной векторной машины (SVM) для распознавания отдельных лиц на плате FPGA, используя инструменты высокоуровневого синтеза (HLS). Эффективность системы была проверена как на статичных изображениях, так и на живом видео. Результаты показывают, что продвинутые FPGA-платы, такие как Ultra 96 v2, значительно улучшают показатели производительности. Система работает на тактовой частоте 150 МГц, используя менее половины доступных ресурсов и потребляя около 2,5 Вт мощности. Кроме того, система сообщает о точности обнаружения пешеходов близко к 95% и других эффективных показателях для оценки обнаружения, таких как точность (78,6%), отзыв (88,3%) и оценка F1 (83,1%). В заключение, разработанная система способна обнаруживать пешеходов в реальном времени и имеет потенциал значительно улучшить создание умной и безопасной транспортной среды.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Городское развитие и появление умных городов являются темами, представляющими интерес во всём мире. Все страны работают над развитием своих городов, которые можно построить так, чтобы они были безопасными и комфортными для жителей 1,2. Однако в нынешней ситуации наблюдается, что по мере роста населения и увеличения дорожных пробок уровень смертей в результате дорожно-транспортных происшествий из-за халатности вождения и плохой видимости резко растёт. Многообещающим решением этих проблем стало появление автономных транспортных средств по всему миру, что вдохновилона инновации. 1, 2, 3, 4, и исследователи прилагают усилия для создания полностью автономных транспортных средств, позволяющих пассажирам расслабляться без каких-либо опасений. Необходимость разработки автономных транспортных средств связана с тем, что даже опытные водители могут столкнуться со стрессом, дилеммами, усталостью или трудностями с ощущением окружающей среды из-за плохой погоды, и все эти проблемы приводят к дорожно-транспортным происшествиям. Беспилотный автомобиль предназначен для предотвращения аварий во время движения, оптимизации использования ресурсов двигателя и соблюдения правил дорожного движения, что, несомненно, улучшиттранспортировку 2,4. Автономный автомобиль оснащён множеством функций, датчиков и функций, позволяющих ему очень точно ощущать окружающую обстановку, избегая столкновений и аварий, и поэтому теперь они стали перспективным решением для обеспечения безопасности и надёжноститранспорта 1,2,3,4.

Среди всех функций, встроенных в автономный автомобиль, одной из самых важных является обнаружение пешеходов. Надёжная система обнаружения пешеходов может значительно снизить количество погибших в дорожно-транспортныхпроисшествиях — 5, 6, 7, 8, поскольку большинство жертв — пешеходы. Обнаружение пешеходов включает идентификацию людей на дороге и предотвращение столкновений с ними. Эта функция полезна не только для беспилотных автомобилей, но и для различных других областей применения, таких как мониторинг толпы, идентификация личностей и отслеживание9, 10 и 11. Ключевой аспект этого процесса обнаружения — скорость и точность обнаружения. Крайне важно быстро и точно и быстро обнаруживать пешеходов, чтобы время реагирования было минимальным. Обнаружение пешеходов создает огромную проблему. Пешеходы на дороге могут быть в любой одежде, внешнем виде или позе и быть невидимыми из-за плохой погоды или окклюзии10, 11, 12, 13, 14. Более того, вполне возможно, что пешеходы сами не следуют правилам, и невозможно контролировать человеческую природу, поэтому лучший способ — оснастить автомобиль интеллектом, способным справиться с неправильными действиями и избежать потерь. Полный ход работы в этом исследовании и мотивация аппаратной реализации обнаружения пешеходов легко понять на рисунке 1 ниже, где объясняется необходимость обнаружения пешеходов, его различные области применения, связанные с этим вызовы и внедрение на FPGA для использования предлагаемых преимуществ.

figure-introduction-1
Рисунок 1: Обнаружение пешеходов. Необходимость обнаружения пешеходов, ключевые области применения обнаружения пешеходов, вызовы, связанные с обнаружением пешеходов, и внедрение процесса обнаружения пешеходов на плате FPGA. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.

Для идентификации пешеходов на дороге существует множество алгоритмов. Эту общую задачу можно в первую очередь разделить на две основные подзадачи: начальный шаг извлекает признаки из входного изображения, сохраняя только те, что являются значимыми и передают релевантную информацию, игнорируя избыточные. Для эффективного распознавания людей или пешеходов на изображении крайне важно, чтобы эти признаки указывали на присутствие человеческой фигуры всцене 13,14. После этого извлечения признаки должны быть отправлены классификатору, который сможет определить, соответствуют ли выявленные признаки человеку. Поэтому алгоритм требует этапа извлечения и описания объектов, за которым следует этап классификации для определения присутствия пешеходов в входной сцене. Существуют различные алгоритмы для этой цели. Однако самым широко принятым методом обнаружения пешеходов на сегодняшний день остаётся сочетание гистограммы ориентированных градиентов (HoG) с классификатором опорной векторной машины (SVM) 12,13,14,15. Существует множество примеров программных достижений, но в конечном итоге цель — портировать реализацию на совместимую аппаратную платформу, которая затем может быть интегрирована в систему приложений для использования в реальном времени. Поэтому сейчас акцент делается на реализацию аппаратного обеспечения. Таким образом, необходимо разработать соответствующую аппаратную реализацию систем обнаружения пешеходов, при которой камеры с соответствующим оборудованием могут устанавливаться на транспортные средства и выявлять пешеходов на дороге. При выборе аппаратного обеспечения, подходящего для таких реализаций, одним из наиболее часто используемых вариантов является программируемый массив полевых элементов (FPGA) благодаря многочисленным преимуществам, включая сокращение времени проектирования, масштабируемость, простоту модификаций, перенастраиваемость и меньшее энергопотреблениеи энергопотребление 15,16,17,18,19,20,21,22.

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

Более десяти лет существуют значительные публикации, основанные на реализации обнаружения пешеходов с использованием методов HoG и SVM на различных платформах FPGA. Таблица 1 суммирует статьи в этой области за период с2015 по 2025 годы: 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, с акцентом на ключевые факторы, такие как разрешение изображения, пропускная способность или кадры в секунду (FPS), тип классификатора и ключевые выделения или вклад Бумага.

СсылкаПлатформа FPGAРазрешение изображенияКлассификаторКлючевые достижения / вклад
15Xilinx Zynq640×480AdaBoostРеализация FPGA в реальном времени; ресурсоэффективность; использует бинаризацию для оптимизации; Хорошая точность обнаружения.
16Плата DE1-SOC компании Terasic640×480SVMВысокопроизводительный экстрактор HOG; интегрирует SVM; обнаружение на одном уровне; Конвейер с низкой задержкой.
17Altera DE2-115640×480AdaBoostОценивает результаты с разных точек зрения; FPGA-реализация HOG+AdaBoost; Обнаружение пешеходов в реальном времени.
18Intel Stratix V640×480SVMМногомасштабное обнаружение пешеходов; конвейер HOG+SVM, дружественный к FPGA; подчёркивает компромиссы между точностью и аппаратной эффективностью.
19Zynq UltraScale+ MPSoC3840×2160SVMОбработка UHD в реальном времени; конвейерный HOG+SVM; Реализация SoC FPGA; оптимизации с фиксированными точками; Масштабируемая архитектура.
20Не указаноНе указаноSVMДостигает точности обнаружения >95%; реализация FPGA в реальном времени; использовать параллелизм; детальный дизайн FPGA HOG+SVM для обнаружения пешеходов.
21Zync 7000 FPGA1920×1080SVMАрхитектура потоков с высокой пропускной способностью для HOG+SVM; поддерживает HD-разрешение; эффективный конвейер для ускорения FPGA.
22Ultra96 (rev1)240×320SVMреализация FPGA с использованием HLS; обнаруживает красные светофоры; рассчитывает вероятности в 891 регионе; Задержка варьируется от 153 838 до 19 циклов.
23Xilinx Zynq-7000 FPGA640 × 480HOG + SVMРеализовано обнаружение пешеходов с помощью HOG-SVM на FPGA, обеспечивая работу в реальном времени с меньшим энергопотреблением по сравнению с процессорной обработкой. Продемонстрирован оптимизированный конвейер извлечения признаков, подходящий для приложений встраиваемого зрения.
24Xilinx Virtex-6 FPGA640 × 480Детектор объектов с фиксированной точкой (характеристики, подобные Хаару)Предлагается высокопроизводительное ускорение обнаружения объектов с помощью фиксированной точной арифметики, что снижает вычислительные затраты при сохранении точности. Показано 15× ускорения по сравнению с реализациями процессора с эффективным использованием аппаратных ресурсов.

Таблица 1: Обзор литературы исследований, основанных на обнаружении пешеходов по FPGA (2015–2025).

Таблица 1 подводит итог того, что существует обширная литература в области обнаружения пешеходов, и внедрение аппаратного обеспечения является областью интереса для исследователей. Также очевидно, что существуют передовые методы глубокого обучения и машинного обучения, такие как детекторы на основе сверточных нейронных сетей (CNN), такие как YOLO, архитектуры на основе трансформаторов и др., которые выполняют задачу обнаружения пешеходов. Они даже превосходят традиционный алгоритм HoG по точности, но если рассматривать аппаратную реализацию, то продвинутые алгоритмы приводят к огромному использованиюресурсов 23,24 из-за сложности алгоритма, что может влиять и на другие параметры производительности, и также было отмечено, что из-за дополнительной сложности скорость немного выше в случае традиционного алгоритмаHoG 24, 25. Также было замечено, что современные методы потребляют больше энергии при реализации нааппаратном устройстве 24,26. Таким образом, цель работы, реализованной в данной статье, — провести обнаружение пешеходов с использованием традиционных фреймворков HoG и SVM на аппаратном обеспечении FPGA и достичь выгодного компромисса точности, скорости, ресурсов и энергопотребления для вложения в реальном времени. Из Таблицы 1 совершенно ясно, что при анализе работ на базе HoG и SVM наблюдается, что существует ограниченное количество публикаций, использующих недавно представленную FPGA-плату Zynq UltraScale+ MPSoC (Multi-Processor System On Chip) для изучения возможностей этих плат, поскольку с точки зрения архитектуры эти платы эволюционировали, и предлагают большой потенциал для реализации высококлассных приложений для компьютерного зрения в реальном времени. Существует ограниченное количество публикаций, реализующих всю систему обнаружения пешеходов в реальном времени на платах FPGA. Однако они сосредоточились на эффективной реализации или улучшении промежуточных задач. Кроме того, большинство этих реализаций основаны на реализации всей системы на плате FPGA с помощью языков аппаратного описания. Мало кто использовал преимущества инструментов высокоуровневого синтеза (HLS) для ускорения цикла проектирования. В данной статье демонстрируется проектирование и реализация системы обнаружения пешеходов в реальном времени на плате FPGA, предназначенной для автономного вождения. В статье используется фреймворк HoG и SVM для обнаружения пешеходов на неподвижных изображениях, видео или реальном входе камеры. Используемое оборудование — это передовая и недавно выпущенная плата FPGA Ultra96 v2, которая представляет собой продвинутую архитектуру FPGA, являющуюся мощной платформой для компьютерного зрения, обработки изображений, машинного обучения, периферийных вычислений и т.д.24. Ultra96 v2 — это плата для разработки с AMD Xilinx Zynq UltraScale+MPSoC 27 на базе Arm. Эта плата включает сегмент системы обработки (PS), который состоит из ядер процессора на базе ARM, управляющих программными аспектами проекта, и сегмента Программируемой Логики (PL), позволяющего настраиваемое аппаратноеускорение 20, 21, 22. Вместе эти компоненты усиливают функциональность гибридной системы, где PS-часть управляет и взаимодействует с внешними элементами, а PL отвечает за фактическую логику обработки.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Процедура реализации, использованная в этом исследовании, основанная на обнаружении пешеходов с помощью HoG + SVM на плате FPGA, используя преимущества высокоуровневого синтеза, показана на рисунке 2 ниже.

figure-protocol-1
Рисунок 2: Процедура проектирования внедрения обнаружения пешеходов на плате FPGA. Фаза 1: Алгоритм обнаружения пешеходов с использованием HoG+SVM на инструменте HLS и генерация IP-блока. Фаза 2: Алгоритм обнаружения пешеходов с использованием HoG+SVM для фактической реализации FPGA и генерации битового файла. Фаза 3: Программирование платы с использованием сгенерированного битового файла. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.

1. Обнаружение пешеходов с помощью HoG и SVM в инструменте HLS

  1. Скачайте интегрированную среду разработки на Python (IDE) в зависимости от свойств системы, на которых выполняется скачивание.
    ПРИМЕЧАНИЕ: В этой работе используется версия Python 3.10.
  2. Запустите скрипт на Python для запуска обучающей модели с использованием алгоритма HoG и классификатора SVM. Начинайте скрипт с загрузки положительных и отрицательных образцов из набора данных.
    ПРИМЕЧАНИЕ: Используйте набор данныхINRIA 11.
  3. Извлечь функции HoG для окна размером 64 x 128.
  4. Разделите обучающие и тестовые данные из набора данных INRIA в соотношение 80/20 с случайным перемешиванием для воспроизводимости.
    ПРИМЕЧАНИЕ: Набор данных случайным образом перетасовывается с помощью функции python перед разделением данных. Обеспечить воспроизводимость, чтобы одно и то же разделение происходило каждый раз, когда в коде фиксируется заточённое значение.
  5. Обучать с использованием классификации векторов C-поддержки (SVC) SVM с линейным ядром.
  6. Извлеките векторы веса и смещение.
  7. Сохраняйте веса SVM и смещение в формате Q8.8 с фиксированной точкой для реализации FPGA.
    ПРИМЕЧАНИЕ: Преобразование осуществляется путём масштабирования оригинальности каждого значения с плавающей запятой в разряд 256 (28) и передачи результата в целое число.
  8. Протестируйте обученную модель через другой скрипт на Python и отрегулируйте параметр регуляризации C, пока точность не превысит 95%.
    ПРИМЕЧАНИЕ: Получен оптимизированный параметр регуляризации: C = 0.05.
  9. Откройте инструмент HLS и создайте новый проект с выбранным номером детали как xczu3eg-sbva484-1-e.
  10. Напишите код обнаружения пешеходов на высокоуровневом инструменте синтеза, используя языки высокого уровня, такие как C++.
  11. В коде напишите три разных скрипта на C++: один для дескриптора особенностей HoG и классификатора SVM, другой для тестбенда для входных данных тестовых образов и сохранения выходных образов, и третий для файла заголовка, который объявляет параметры, используемые в коде.
  12. В коде для вычисления функций HoG уменьшите размер изображения до 640 x 480 и примените архитектуру скользящего окна с размером окна 64 x 128. Для каждого окна вычислите градиентную величину и ориентацию для каждого перекрывающегося блока 8 x 8.
    ПРИМЕЧАНИЕ: Важно отсканировать всё изображение через концепцию скользящего окна, чтобы покрыть каждую область изображения и идентифицировать пешеходов всех возможных размеров.
  13. В другой части того же кода для дескриптора признаков HoG передайте рассчитанные градиенты классификатору SVM. Напишите код для сопоставления признаков с весами классификатора и сравните с порогом, чтобы классифицировать обнаруженный признак как человеческий или нет.
  14. Нажмите на Run C Simulation в инструменте HLS, чтобы смоделировать код с помощью тестового стенда и проверить корректность кода.
  15. Предоставьте разные входные изображения в код и проверьте выходные изображения с обнаруженными пешеходами.
  16. Нажмите на Run C Synthesis , чтобы синтезировать код для сопоставления кода с аппаратными языками инструмента и сгенерировать отчёты по времени и использованию.
    ПРИМЕЧАНИЕ: Инструмент автоматически открывает отчёты по синтезу HLS. В этом отчёте приведена оценка необходимой тактовой частоты для реализации закодированной задачи на выбранной платформе FPGA, а также оценка используемых ресурсов. Эти представленные значения являются лишь оценками, а фактические параметры рассчитываются только после внедрения на плате FPGA.
  17. Нажмите на Export RTL , чтобы экспортировать блок интеллектуальной собственности (IP) для алгоритма HoG для обнаружения пешеходов.
    ПРИМЕЧАНИЕ: Этот IP предназначен для использования на поздних этапах реализации.

2. Программирование платы FPGA

  1. Откройте инструмент для программирования FPGA и создайте новый проект. Выберите номер детали как xczu3eg-sbva484-1-e и создайте новый дизайн блока.
    ПРИМЕЧАНИЕ: Эта блок-схема создана для установления интеграции между PS и PL частью платы FPGA. Используемый протокол связи — протокол Advanced eXtensible Interface (AXI).
  2. Найдите IP-каталог в инструменте и, как только найдёте, откройте его.
  3. Создайте пользовательский репозиторий, добавив путь экспортированного RTL-IP в шаге 1.17.
  4. В новом окне дизайна блока теперь кликните правой кнопкой мыши и выберите добавить IP. Все IP-адреса будут видны, включая те, что предоставляются инструментом, а также добавленные пользователем репозитории.
  5. Добавьте блок Zync Ultrascale PS из репозитория.
    ПРИМЕЧАНИЕ: Этот блок отражает PS-часть системы, которая отвечает за генерацию необходимых тактовых частот, а также содержит главные и ведомые порты для подключения к импортированному IP HoG через блок AXI, который работает на основе протокола AXI.
  6. Добавьте 8 IP HoG , потому что система будет одновременно обрабатывать 8 окон, чтобы использовать преимущества параллелизма, предлагаемые платой FPGA.
  7. Добавьте блок сброса процессорной системы , который также управляет тактовой частотой и питанием сброса для каждого блока на диаграмме.
  8. Добавьте два axi_smart блока соединения для соединения IP HoG с блоком Zync PS. Вся блок-схема с полными соединениями показана на рисунке 3.
    ПРИМЕЧАНИЕ: Как показано на рисунке 3, все блоки, которые необходимо добавить в дизайн, показаны чочно. Рисунок 3 запечатлено из инструмента, на котором показаны внутренние порты каждого блока, а также межсоединения между портами разных блоков. Этот блок является основной конструкцией, так как отвечает за установление интерфейса между PS и PL частью платы FPGA.
  9. После завершения соединений согласно рисунку 3 нажмите на «Валидировать проектирование».
    ПРИМЕЧАНИЕ: Валидация в основном проверяет отсутствующие или неисправные соединения, что может привести к проблемам на поздних этапах.
  10. Нажмите на синтез , а затем выполните проектирование в tool после успешной валидации блок-схемы.
    ПРИМЕЧАНИЕ: Synthesis отображает разработанную блок-схему и отображает её на плате FPGA. Этот шаг сообщает о любых нарушениях, которые могут указывать на невозможность реализации конструкции на аппаратном обеспечении.
  11. Инструмент также будет генерировать отчёты, связанные с таймингом, использованием ресурсов и энергопотреблением. Тщательно изучите отчёты, чтобы проверить нарушения по времени и проанализировать работу разработанной системы.
  12. Нажмите Generate the bitstream file , который сгенерирует .bit файл, необходимый для программирования платы FPGA.

figure-protocol-2
Рисунок 3: Блок-схема для обнаружения пешеходов с использованием импортированного IP HoG + SVM. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой рисунка.

3. Окончательная реализация на плате FPGA

  1. Возьмите плату FPGA и вставьте SD-карту с нужным изображением в слот на плате.
  2. Подключите плату к компьютеру тоже.
  3. Загрузите FPGA-плату в режиме SD-карты, чтобы включить программирование на Pythonна ней 21, 22.
  4. Получите доступ к платформе Jupyter на плате после подключения к Wi-Fi.
  5. Подключите веб-камеру к плате.
  6. Напишите код на python для импорта сгенерированного битового файла и выполнения задачи доступа к изображениям камеры.
  7. В коде запишите скрипт так, чтобы изображение записывалось в память платы FPGA через PS-компонент и передавалось на PL-компонент для обработки.
    ПРИМЕЧАНИЕ: Часть платы PL, соответствующая IP HoG, обращается к пикселям изображения через эти ячейки памяти, обрабатывает их и предоставляет результаты в виде результата.
  8. Напишите соответствующий код в том же скрипте на Python для чтения обработанных изображений и их отображения на экране компьютера.
    ПРИМЕЧАНИЕ: Это завершает весь проект, и система теперь готова к внедрению в реальных приложениях. Все коды, использованные в этом исследовании, загружаются в качестве дополнительных кодовых файлов (Дополнительный файл 1 [Script_1_train_test.py], Дополнительный файл 2 [Script_2_HLS_hog.cpp], Дополнительный файл 3 [Script_3_HLS_test_bench.cpp], Дополнительный файл 4 [Script_4_HLS_consts.h], Дополнительный файл 5 [Script_5_jupyter_code.txt]).

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Реализация обнаружения пешеходов на HLS
На рисунке 4 показаны результаты моделирования на инструменте HLS для обнаружения пешеходов с помощью HoG + SVM. Входное изображение с пешеходом подаётся в качестве тестового входа в код, а выход с обнаруженными пешеходами отображается. На изображении есть две часть. Первое обнаружение имеет множество ограничивающих рамок вокруг одного и того же пешехода снова и снова, а на втором изображении перекрывающиеся коробки удаляются и подавляются, остаются только основные блоки обнаружения.

figure-results-1
Рисунок 4: Результаты моделирования с помощью инструмента HLS. (A,B) Два разных входных изображения и полученные изображения с обнаруженными пешеходами. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.

Инструмент HLS также предоставляет отчёты по времени и использованию ресурсов. Сводка по времени выделяет период, необходимый для проектирования, и содержит максимальные и минимальные значения задержки по количеству циклов. Эта информация полезна для оценки времени, необходимого для выполнения проекта, и для того, какая должна быть тактовая частота при переходе к реальной аппаратной реализации. Таблица 2 ниже показывает отчёт о времени после синтеза HLS, который чётко показывает, что целевой тактовый период составлял 6 нс, а конструкция — 5,25 нс, что меньше целевого интервала, поэтому временной период может быть 6 нс и выше, но не ниже 5 нс.

Краткое описание тайминга
ЧасыЦельОценка
6.00 нс5,250 нс
Сводка по использованию
Всего / ДоступноПроцент использования
BRAM18K22 / 4325%
DSP48E13 / 3603%
FF5611/ 1411203%
LUT9904/ 7056014%
URAM00

Таблица 2: Отчёт по оценке времени и использования ресурсов из инструмента HLS для обнаружения пешеходов с использованием HoG-SVM.

Таблица 2 также показывает отчёт об использовании. Он показывает процент использования важных бортовых FPGA-ресурсов согласно выбранной целевой плате. Для такого дизайна обнаружения пешеходов отчет об использовании показывает, что дизайн занимает 14% таблиц поиска (LUT), 3% тригеров (FF), 3% цифровой обработки сигналов (DSP) и 5% блочной памяти с произвольным доступом (BRAM). Эти оценки не являются точными отчётами об использовании, но реальные отчёты близки к этим оценкам. Это только те оценки, которые могут быть рассчитаны инструментами HLS. Фактическая реализация обычно сильно отличается от этих оценок.

Фактическая реализация является результатом аппаратного программирования
После того как код отображается в IP, который импортируется в инструменте программирования FPGA, и дизайн реализован на самом аппаратном обеспечении FPGA, также генерируются несколько отчетов. Первая — это сводка по времени, которая показывает, достаточно ли тактовая частота, предоставленная конструкции. Если все временные ограничения выполнены и нарушений нет, проектирование может продолжаться. Таблица 3 ниже показывает сводку по времени, сгенерированную инструментом. Как показано в таблице, сводка по времени указывает на худший отрицательный проброс — 4,073 нс. Поскольку это значение положительное, это указывает на то, что это время ещё доступно. Отрицательные значения указывают на то, что FPGA занимает больше времени на выполнение задачи, и часы идут быстро. Поскольку в этом случае нет отрицательных значений, что означает, что временные ограничения выполнены.

Краткое описание времени проектирования
НастройкаСтойШирина импульса
Худший отрицательный слабый баланс 4,073 нсХудшее удержание Слабый 0.010 нсНаихудшая ширина импульса Слабое напряжение 3,500 нс

Таблица 3: Фактическое сводное сводка времени для обнаружения пешеходов на FPGA-доске.

Кроме того, инструмент показывает отчёты об использовании ресурсов, которые отражают фактическое использование встроенных ресурсов согласно выбранной плате FPGA. В данном случае выбранной платой является Zynq UltraScale+ MPSoC (Multi-Processor System On Chip) FPGA-разработка27. Таблица 4 ниже показывает использование ресурсов, а рисунок 5 — диаграмматическое представление использования ресурсов.

Сводка по использованию показывает фактическое потребление бортовых ресурсов, учитывая, что параллельно используется 8 HoG IPS, а оценки, представленные синтезом HLS, касались одного IP HoG. Но даже после такого интенсивного использования использование ресурсов для каждого ресурса составляет менее 50%. Таблица 4 чётко показывает использование различных ресурсов и их процент использования, что показано в живописном виде на рисунке 5.

РесурсИспользованиеДоступноПроцент использования
LUT405367056057.45%
ЛУТРАМ73042880025.36%
FF3334214112023.63%
БРАМ6821631.48%
DSP12836035.56%
BUFG21961.02%

Таблица 4: Отчёт о фактическом использовании для обнаружения пешеходов на плате FPGA.

figure-results-2
Рисунок 5: Использование ресурсов для обнаружения пешеходов на плате FPGA после фактической реализации. Посмотрите таблицы (LUT): 57%, LUTRAM: 25%, тригеры (FF): 24%, RAM (BRAM): 31%, цифровые сигнальные процессоры (DSP): 36%, буферы: 1%. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.

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

figure-results-3
Рисунок 6: Оценка мощности для обнаружения пешеходов на плате FPGA после фактической реализации. Отчёт о мощности, генерируемый инструментами, показывает общее потребление энергии как 2,435 Вт, а также показывает распределение мощности между различными ресурсами на плате FPGA. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.

Проводится ещё один анализ, чтобы понять преимущество использования 8 IP HoG вместо одного IP HoG или более 8 в созданной блочной схеме, как показано на рисунке 3. Аппаратные показатели производительности рассчитывались как для одного IP HoG, так и для 8 IP HoG параллельно. Таблица 5 ниже показывает сравнение.

Метрика перфоманса1 IP8 IP
Тайминг (ns)5.312~5.25
Частота (МГц)188150
Мощность (W)1.92.43
LUTs499840536
FF / Регистры4,03133,342
DSP16128
БРАМ8.568
FPS~10–1183

Таблица 5: Сравнение показателей производительности с использованием одного и нескольких IP HoG.

Таблица 5 ясно показывает, что если рассматривать ресурсы, такие как LUT, FF, DSP и BRAM, то при использовании одного IP HoG и 8 IP HoG масштабирование линейное с почти 8-кратным увеличением используемых ресурсов. Это вполне ожидаемо, поскольку увеличение числа интеллектуальных собственностей приведёт к увеличению потребления ресурсов. Кроме того, если наблюдать частоту, максимальная частота также немного снижается на 20% — с 188 МГц до 150 МГц. Это также ожидаемо, поскольку больше блоков ведёт к большему количеству соединений и, следовательно, более длинным путям, что приводит к увеличению критических путей. Однако преимущества, такие как кадры в секунду (FPS), улучшаются с 10 до 83, демонстрируя нелинейное масштабирование в случае FPS благодаря введённой концепции параллелизма благодаря 8 IP HoG. Кроме того, мощность масштабируется от 1,9 Вт до 2,4 Вт, что свидетельствует о повышении энергоэффективности за счёт конвейерного прокладки. Таким образом, этот анализ ясно показывает, что внедрение 8 интеллектуальных интеллектуальных органов HoG выгодно для проектирования, а масштабирование выше 8 может привести к чрезмерному потреблению ресурсов; таким образом, количество блоков выше 8 не считается выгодным.

Результаты обнаружения пешеходов после внедрения FPGA
В конце концов, вся система интегрируется на плату FPGA, и файл битового потока генерируется, который затем программируется на плате через SD-карту, загружаемую с возможностью программирования на Python. После загрузки платы с SD-карты можно получить доступ к интерфейсу Jupyter, и на платформе можно написать и запустить код на Python. Код на Python запускается и тестируется для обнаружения пешеходов на различных входных изображениях. Результат нескольких изображений показан на рисунке 7 ниже. Эти изображения используются из набора данных INRIA, а также случайных изображений пешеходов, полученных из открытых онлайн-источников 26,27.

figure-results-4
Рисунок 7: Результаты обнаружения пешеходов на статичных изображениях через FPGA Board. Протестированные изображения включают изображения из набора данных INRIA, открытые изображения, доступные в Google для проверки точности обнаружения на переполненных улицах Индии. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.

Система также тестируется на основе реального времени с помощью веб-камеры и обнаружения пешеходов в кадре, а также тестируется на уже записанных видеозаписях пешеходов. Результаты этого показаны на рисунках 8 и 9. На рисунке 8 показан набор примерных кадров, захваченных веб-камерой, и результаты обнаружения пешеходов в каждом кадре, тогда как на рисунке 9 показаны результаты обнаружения пешеходов, реализованные на входном видео, предоставленном системе.

figure-results-5
Рисунок 8: Результаты обнаружения пешеходов на кадре, зафиксированном камерой в реальном времени через плату FPGA. Запись видео в реальном времени через веб-камеру 720 P и демонстрация обнаружения пешеходов в реальном времени. Размытые изображения возникают, когда снимки делаются с текущего прямого эфира. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.

figure-results-6
Рисунок 9: Результаты обнаружения пешеходов на видео, предоставленных для FPGA Board. Видео были взяты по ссылкам с открытым исходным кодом. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.

Оценка метрик производительности
Для расчёта эффективности и анализа производительности вышереализованного дизайна необходимо рассчитать метрики эффективности, которые полезны для оценки производительности. Метрики эффективности обнаружения эффективности алгоритма обнаружения в основном зависят от значений истинных положительных (TP), истинных отрицательных (TN), ложноотрицательных (FP) и ложноотрицательных (FN). Из этих значений можно рассчитать показатели производительности, такие как точность, воспоминание, результат F1, ложные срабатывания на изображение и точность согласно приведённым ниже уравнениям. Было замечено, что большинство научных работ отражают свою эффективность обнаружения через параметр точности. Однако было замечено, что расчёт точности, связанный с использованием TN, может быть вводящим в заблуждение, поскольку значение TN невозможно правильно вычислить в истинном смысле, так как оно требует нахождения всех окон обнаружения на изображении, где на самом деле нет пешехода, а реализованный алгоритм также сообщает об этом отсутствии обнаружения. Это число обычно очень большое, так как общее количество окон обнаружения на изображении большое, а фоновые области на каждом изображении обычно соответствуют зонам без пешеходов. Внимательно изучая формулу точности, показанную в уравнениях [1] – [5], можно понять, что поскольку значение TN будет довольно высоким по сравнению с TP+FP+FN, параметр точности обычно имеет высокое значение. Чтобы действительно оценить производительность, гораздо лучше указывать такие метрики, как точность, воспоминание и результат F1, которые не зависят от TN и, следовательно, гораздо точнее.

figure-results-7 [1]

figure-results-8 [2]

figure-results-9 [3]

figure-results-10 [4]

figure-results-11 [5]

Чтобы найти значения TP, TN и FN для этой статьи, эксперимент с неподвижными изображениями был повторён на огромном числе изображений. На основе результатов каждого изображения рассчитывалось значение истинных положительных результатов — то есть количество правильно обнаруженных пешеходов, ложноположительных, количество ошибочно обнаруженных пешеходов и ложноотрицательных — то есть количество незамеченных пешеходов. Следующие значения были представлены после проведённых экспериментов и показаны в Таблице 6 ниже.

Метрика производительностиЦенность
TP143
FP39
FN19
Прецисон0.786 (78.6%)
Отзыв0.883 (88.3%)
Счёт F10.831 (83.1%)
FPPI0.867

Таблица 6: Метрики производительности для алгоритма обнаружения пешеходов на основе FPGA.

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

Сравнение производительности с существующими реализациями HoG на базе FPGA
Наконец, выполненную работу можно сравнить с предыдущей литературой, чтобы отметить значимые вклады в это исследование. Это сравнение показано в таблице 7, 15, 16, 17, 21, 24ниже. Статьи, с которыми проводится сравнение, основаны на приложениях для обнаружения пешеходов, реализованных на платформах FPGA, и алгоритмы, используемые для этих обнаружений, также одинаковы для всех — HoG в сочетании с классификатором, который либо является классификатором Adaboost, либо SVM. Размер изображения также одинаков для каждого (640 × 480). Сравнение проводится на основе таких параметров, как тактовая частота, влияющая на скорость, количество кадров в секунду, энергопотребление и использование ресурсов в виде LUT, DSP, памяти, срезов и регистров. Для справедливого сравнения исследовательские работы имеют схожее разрешение изображения, а для нормализации сравнения ресурсов каждое использование ресурсов нормализуется путём деления количества потреблённых ресурсов на общее количество доступных ресурсов в зависимости от используемой платы FPGA.

СсылкаРазмер изображенияСовет FPGAТактовая частотаКадры в секунду (FPS)МощностьПиксели /тактLUTs (%)DSP48s (%)BRAM /биты памяти (%)Регистры/FF (%)
15640×480Xilinx Zynq82,2 МГц40-14020-
24640×480Virtex 6150 МГц1019 W395322-
16640×480Циклон V162 МГц5269 W0.99218610021
17640×480Altera DE2-11550 МГц1293.6 W-73-7260
21640×480Zync 7000100 МГц2401.6 W-133110
ЭТА РАБОТА640 X 480Ultra 96 v2150 МГц832.435W0.063257353124

Таблица 7: Сравнение параметров и характеристик для реализации обнаружения пешеходов на FPGA

Как видно в таблице 7 выше, можно заметить, что при сравнении реализации в данном исследовании с предыдущими работами сравнения демонстрируют значительные улучшения скорости. Плата FPGA способна работать на тактовой частоте 150 МГц, что означает, что время выполнения всей задачи составляет менее 6 нс. Хотя некоторые предыдущие работы показывают значительно более высокий FPS, при тщательном анализе можно оценить, что это преимущество достигается за счёт большего энергопотребления и почти полного использования определённых ресурсов. Если учитывать энергопотребление, то в данной работе отчетная мощность также ниже, а использование ресурсов указывает на то, что потребление каждого ресурса немного выше, чем в некоторых реализациях, но равно или меньше 50% (57% LUT, 35% DSP и 31% BRAM), что свидетельствует о значительном потенциале для реализации новых задач в этой конструкции. В целом можно утверждать, что работа, реализованная в этой статье, обеспечивает сбалансированный компромисс между производительностью, энергопотреблением и использованием ресурсов. Кроме того, представленная работа демонстрировала масштабируемый параллелизм через несколько IP-блоков без существенного влияния на параметры производительности.

Дополнительный файл 1: Script_1_train_test.py.Пожалуйста, нажмите здесь, чтобы скачать этот файл.

Дополнительный файл 2: Script_2_HLS_hog.cpp. Пожалуйста, нажмите здесь, чтобы скачать этот файл.

Дополнительный файл 3: Script_3_HLS_test_bench.cpp. Пожалуйста, нажмите здесь, чтобы скачать этот файл.

Дополнительный файл 4: Script_4_HLS_consts.h.Пожалуйста, нажмите здесь, чтобы скачать этот файл.

Дополнительный файл 5: Script_5_jupyter_code.txt.Пожалуйста, нажмите здесь, чтобы скачать этот файл.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Это исследование эффективно реализует систему обнаружения пешеходов в реальном времени, использующую алгоритм HoG + SVM на современном оборудовании FPGA на базе платы разработки Zynq UltraScale+MPSoC 24. Результаты показывают, что традиционный алгоритм HoG для обнаружения человека11 достигает точности около 95% и использует только половину встроенных ресурсов FPGA (LUT, FF, BRAM, DSP), оставляя огромные возможности для включения гораздо большего количества обработки для выполнения различных задач. При анализе всего подхода к реализации наблюдается наличие различных критически важных этапов. Одним из важных шагов является обучение моделейSVM 18, 19, 24 с соответствующим набором данных для эффективного обнаружения пешеходов, чтобы эти веса были извлечены и использованы в программировании FPGA. Обучающий код будет указывать точность производительности, а порог обнаружения необходимо тщательно настроить через параметр регуляризации, чтобы достичь точности, близкой к 95%. Выбранные параметры в обучении — это пользовательские дескрипторы HoG с размером окна 64 x 128, размером блока 16 x 16, размером ячейки 8 x 8 и выбором количества бинов как 9. В настоящее время обучение проведено на наборе данныхINRIA 11 с 2416 положительными и 1218 негативными изображениями. Дополнение включает вращение изображений для создания горизонтальной зеркальной версии. Другие важные включения, такие как оценка модели при плохой видимости или колебаниях масштаба, будут рассмотрены в будущих работах для обеспечения воспроизводимости и надёжности. Рассматриваемый набор данных для обучения должен включать изображения пешеходов в различных позах, а также изображения, в которых нетпешеходов 18,19.

Другой важный шаг — создать блок-схему всей системы, чтобы PS-часть платы FPGA могла взаимодействовать с PL-частью. На этом этапе необходимо убедиться, что каждый блок параметризован с правильными портами и корректно связан с другими блоками. Инструмент также предлагает автоматическую маршрутизацию с рекомендациями для помощи дизайнеру. Очень важным шагом является распределение адреса после завершения блок-схемы. Импортированные IP HoG должны быть присвоены адреса в соответствии с их глубиной, и эти адреса не должны совпадать для любых двух IP. Эти адреса требуются в Python-коде на SD-карте, что поможет PS-части платы FPGA понять адресное расположение в PL, к которому она имеет доступ для чтения и записи данных. Таким образом, сложным этапом является разработка интерфейса на платформе Python, который позволяет пользователю передавать вводные изображения/видео/живую трансляцию камеры на FPGA и отображать выходное изображение с обнаруженными пешеходами после получения обработанных изображений от FPGA. Код на Python должен быть написан с помощью различных сообщений отладки, чтобы дизайнер мог видеть промежуточные результаты, а в случае сбоев ошибки можно было диагностировать и исправлять. На это исследование было потрачено огромное количество времени на создание правильного интерфейса между PS и PL. Скрипт на Python для этого интерфейса мог получать доступ к данным IP-адресов HoG после нескольких итераций, а включение нескольких операторов для отображения промежуточных результатов было очень полезным для устранения неполадок и устранения ошибок.

Одним из наблюдаемых ограничений метода является использование python-части для установления интерфейса между PS и PL частью FPGA. Хотя платформа Python значительно сократила время проектирования, она добавляет дополнительные накладные расходы, которые влияют на производительность в реальном времени. Аппаратно ускоренная система обнаружения пешеходов показала пропускную способность 83 FPS, но общая производительность системы снизилась из-за задержки или стала неотзывчивой во время тестирования камеры из-за задержек при передаче данных между PS и PL. В перспективе будущего можно создать полноценную аппаратно ускоренную систему без зависимости от программного обеспечения.

Хотя есть ограничения, описанные выше, исследования вносят значительный вклад, поскольку разработанная система может быть бесшовно адаптирована для обнаружения пешеходов на неподвижных снимках, в прямом эфире или на видеовходах. Все три метода требуют лишь незначительных изменений кода на Python на платформе Jupyter, что демонстрирует быструю адаптацию системы к различным ситуациям. Результаты показывают, что внедрение на продвинутых архитектурах FPGA даёт обнадёживающие результаты, поскольку параметры производительности высоко оптимизированы, что приводит к хорошим и приемлемым значениям. Достигнутая тактовая частота сопоставима с предыдущимистатьями 14, 15, 16, 20, 23, что указывает на то, что скорость не нарушается, а минимальное энергопотребление указывает на отсутствие проблем с нагревом. Кроме того, использование ресурсов показывает, что все ресурсы используются менее чем на 50%, что указывает на значительный потенциал дальнейших улучшений конструкции.

Разработанная система может использоваться в любых приложениях, требующих задачи обнаружения людей, и может быть адаптирована для приложений в реальном времени. Также будущие усилия могут быть сосредоточены на устранении указанных ограничений, разработав всю систему либо полностью на PL-части, используя логику FPGA для самостоятельного чтения входных изображений и отображение обработанных выходных изображений, поскольку почти 50 % ресурсов на плате всё ещё доступны. Кроме того, если интеграция PS и PL будет использована, то разработка интерфейсов с помощью инструментов Software Development Kit (SDK) может быть выполнена. Другие возможные расширения могут включать идентификацию пешеходов в значительно более суровых погодных условиях или при низкой видимости, либо выявление заблокированных пешеходов, скрытых за другими объектами, что требует изменений в алгоритме. Единственная необходимая модификация в таких случаях — замена тренированных грузов SVM после правильной подготовки в соответствии с выбранным вызовом, а остальная часть системы не требует дополнительных модификаций. Таким образом, реализованная система хорошо подходит для лёгкой адаптации к другим сложным ситуациям. Другой перспективой будущего может стать внедрение дополнительных функций в систему для создания полностью автономного транспортного средства с использованием современной платы FPGA.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Авторы заявляют, что у них нет конфликта интересов.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Ни одного.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
PythonPythonВерсия 3.10
Ultra 96 V2 FPGA плата и bbsp;Xilinx Представлен в 2018 годуАппаратная платформа реализации, используемая для реализации алгоритма обнаружения пешеходов
Vivado AMD2019.2Инструмент программирования FPGA, используемый для программирования платы FPGA Ultra 96 v2 с алгоритмом обнаружения пешеходов 
Vivado HLS AMD2019.2Инструмент высокоуровневого синтеза, используемый для высокоуровневого программирования кода обнаружения пешеходов в статье с целью экспорта интеллектуальной собственности (IP)

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Nkuzo, L., Sibiya, M., Markus, E. Computer vision-based applications in modern cars for safety purposes: A systematic literature review. 2023 Conference on Information Communications Technology and Society (ICTAS), Durban, South Africa, , (2023).
  2. Nidamanuri, J., Nibhanupudi, C., Assfalg, R., Venkataraman, H. A progressive review - Emerging technologies for ADAS driven solutions. IEEE Trans Intell Veh. 7 (2), 326-341 (2021).
  3. Bathla, G., et al. Autonomous vehicles and intelligent automation: Applications, challenges, and opportunities. Mob Inf Syst. 2022, 7632892(2022).
  4. Yamamoto, R., Izumi, Y., Aono, R., Nagahara, T., Tanaka, T., Liao, W., Mitsuyama, Y. Development of autonomous driving system based on image recognition using programmable SoCs. 2021 International Conference on Field-Programmable Technology (ICFPT), Auckland, New Zealand, , (2021).
  5. Kasem, A., Reda, A., Vásárhelyi, J., Bouzid, A. A survey about intelligent solutions for autonomous vehicles based on FPGA. Carpathian J Electr Comput Eng. , (2021).
  6. Nane, R., et al. A survey and evaluation of FPGA high-level synthesis tools. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 35 (10), 1591-1604 (2015).
  7. Cao, J., et al. Pedestrian detection algorithm for intelligent vehicles in complex scenarios. Sensors. 20 (13), 3646(2020).
  8. Chen, W., Zhu, Y., Tian, Z., Zhang, F., Yao, M. Occlusion and multi-scale pedestrian detection: a review. Array. 19, 100318(2023).
  9. Galvao, L. G., Abbod, M., Kalganova, T., Palade, V., Huda, M. N. Pedestrian and vehicle detection in autonomous vehicle perception systems—A review. Sensors. 21 (21), 7267(2021).
  10. Akshayaa, S., Nithin, S. Comparative study of pedestrian detection techniques for driver assistance system. 2021 Second International Conference on Electronics and Sustainable Communication Systems (ICESC), Coimbatore, India, , (2021).
  11. Dalal, N., Triggs, B. Histograms of oriented gradients for human detection. Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), San Diego, CA, USA, , (2005).
  12. Singh, G., Kaur, A., Bhardwaj, V., Shrivastava, S. Optimizing IoT capabilities: leveraging FPGA for superior performance, efficiency and security. 2024 5th International Conference for Emerging Technology (INCET), Belgaum, India, , (2024).
  13. Shrivastava, S., Kumar, B. V., Gupta, R., Sharma, V. Advancements in real-time image processing using Kintex and Virtex FPGAs: enhancing speed, efficiency, and versatility. 2025 IEEE International Conference on Interdisciplinary Approaches in Technology and Management for Social Innovation (IATMSI), Gwalior, India, , (2025).
  14. Rettkowski, J., Boutros, A., Göhringer, D. Real-time pedestrian detection on a Xilinx Zynq using the HOG algorithm. 2015 International Conference on Reconfigurable Computing and FPGAs (ReConFig), Riviera Maya, Mexico, , (2015).
  15. Ngo, V., Casadevall, A., Codina, M., Castells-Rufas, D., Carrabina, J. A high-performance HOG extractor on FPGA. arXiv. , 1802.02187(2018).
  16. Adiono, T., Prakoso, K. S., Putratama, C. D., Yuwono, B., Fuada, S. HOG-AdaBoost implementation for human detection employing FPGA ALTERA DE2-115. Int J Adv Comput Sci Appl. 9 (10), 353-358 (2018).
  17. Dürre, J., Paradzik, D., Blume, H. A HOG-based real-time and multi-scale pedestrian detector demonstration system on FPGA. Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, California, USA, , (2018).
  18. Wasala, M., Kryjak, T. Real-time HOG+SVM based object detection using SoC FPGA for a UHD video stream. 2022 11th Mediterranean Conference on Embedded Computing (MECO), Budva, Montenegro, , (2022).
  19. Lin, Y. Research on HOG-SVM pedestrian detection method based on FPGA. Appl Computat Eng. 9, 272-281 (2023).
  20. Ranawaka, P., et al. Application specific architecture for hardware accelerating HOG-SVM to achieve high throughput on HD frames. 2019 IEEE 30th International Conference on Application-Specific Systems, Architectures and Processors (ASAP), New York, NY, USA, 2160, 131-134 (2019).
  21. Luo, J. H., Lin, C. H. Pure FPGA implementation of an HOG based real-time pedestrian detection system. Sensors. 18 (4), 1174(2018).
  22. Ma, X., Najjar, W. A., Roy-Chowdhury, A. K. Evaluation and acceleration of high-throughput fixed-point object detection on FPGAs. IEEE Transactions on Circuits and Systems for Video Technology. 25 (6), 1051-1062 (2015).
  23. Weng, G. Real-time pedestrian recognition on low computational resources. arXiv. , 2309.01353(2023).
  24. Nguyen, T. A., Tran-Thi, T. Q., Bui, D. H., Tran, X. T. FPGA-based human detection system using HOG-SVM algorithm. 2023 International Conference on Advanced Technologies for Communications (ATC), Da Nang, Vietnam, , (2023).
  25. Tarchoun, B., Khalifa, A. B., Dhifallah, S., Jegham, I., Mahjoub, M. A. Hand-crafted features vs deep learning for pedestrian detection in moving camera. Traitement du Signal. 37 (2), 209-216 (2020).
  26. Suleiman, A., Chen, Y. H., Emer, J., Sze, V. Towards closing the energy gap between HOG and CNN features for embedded vision. 2017 IEEE International Symposium on Circuits and Systems (ISCAS), Baltimore, MD, USA, , (2017).
  27. Ultra96-V2 Single Board Computer Hardware User’s Guide. , Avnet. Available from: https://www.avnet.com (2025).

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Pedestrian DetectionAutonomous DrivingField Programmable Gate ArrayFPGA ImplementationReal Time DetectionHistogram Of Oriented GradientsSupport Vector MachineHigh Level SynthesisUltra 96 V2Smart Transportation

Related Articles