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) 도구를 활용합니다. 시스템의 효과는 정지 이미지와 라이브 비디오 모두에서 테스트되었습니다. 결과는 Ultra 96 v2와 같은 첨단 FPGA 보드가 성능 지표를 크게 향상시킨다는 것을 보여줍니다. 이 시스템은 150 MHz의 클럭 주파수로 작동하며, 사용 가능한 자원의 절반 미만을 사용하고 약 2.5W의 전력을 소비합니다. 또한, 시스템은 보행자 탐지 정확도를 약 95%에 보고하며, 정확도(78.6%), 리콜(88.3%), F1 점수(83.1%) 등 다른 효율적인 탐지 평가 지표도 보고합니다. 요약하자면, 개발된 시스템은 실시간으로 보행자를 감지할 수 있으며, 스마트하고 안전한 교통 환경 개발을 크게 향상시킬 잠재력을 가지고 있습니다.

Introduction

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

도시 개발과 스마트 시티의 등장은 전 세계적으로 관심 있는 주제입니다. 모든 국가는 자신들의 도시가 안전하고 쾌적하게 지어질 수 있도록 발전하기 위해 노력하고 있습니다. 하지만 현재 상황에서는 인구가 증가하고 도로 혼잡이 심화됨에 따라 운전 과실과 시야 저하로 인한 교통사고 사망률이 급격히 증가하고 있습니다. 이러한 문제에 대한 유망한 해결책은 전 세계적으로 자율주행차의 등장으로,이는 혁신을 촉진했으며 연구자들은 승객들이 걱정 없이 편안히 쉴 수 있도록 완전한 자율주행 차량 개발을 위해 노력하고 있습니다. 자율주행차 개발의 필요성은 경험 많은 운전자조차도 악천후로 인한 환경 인식 장애, 스트레스, 딜레마, 피로, 어려움을 겪을 수 있으며, 이러한 문제들이 도로 사고로 이어질 수 있기 때문입니다. 자율주행차는 여행 중 사고를 피하고, 엔진 자원 사용을 최적화하며, 교통법규를 준수하도록 설계되어 교통 편성을 확실히 향상시킬 것입니다. 자율주행차는 여러 기능과 센서, 기능을 갖추고 있어 주변을 매우 정밀하게 감지하여 충돌이나 사고를 피할 수 있습니다. 따라서 이들은 교통을안전하고 보안적으로 만드는 유망한 솔루션으로 떠올랐습니다.

자율주행차에 통합된 모든 기능 중 가장 중요한 것 중 하나는 보행자 감지입니다. 강력한 보행자 감지 시스템은 도로 사고 사망자 수를 크게 줄이는 데 도움이 될 수 있습니다. 사고 피해자의 대다수가 보행자이기 때문입니다. 보행자 탐지는 도로 위의 사람을 식별하고 충돌을 피하는 것을 포함합니다. 이 기능은 자율주행차뿐만 아니라 군중 모니터링, 사람 식별,9·10·11 추적 등 다양한 응용 분야에도 유용합니다. 이 탐지 과정의 핵심은 탐지의 속도와 정확성입니다. 보행자를 정확하고 신속하게 감지하여 대응 시간을 최소화하는 것이 매우 중요합니다. 보행자 탐지가 엄청난 도전 과제를 제기합니다. 도로 위의 보행자는 어떤 옷차림, 외모, 자세도 상관없으며, 악천후나 폐쇄로 인해 보이지 않을 수 있습니다.10, 11, 12, 13, 14. 더불어, 보행자가 규칙을 직접 지키지 않을 수도 있고, 인간 본성을 통제할 수 없으므로, 최선의 방법은 차량에 잘못된 행동을 처리할 수 있는 지능을 갖추어 사망을 피하는 것입니다. 본 연구의 전체 진행과 보행자 감지 하드웨어 구현의 동기는 아래 그림 1에서 쉽게 이해할 수 있습니다. 그림 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 보드는 이러한 복잡한 응용에 필요한 광범위한 처리를 수용할 수 있는 뛰어난 아키텍처 기능을 갖추고 있습니다. 보행자 감지와 같은 자율주행차의 고급 기능이 이러한 하드웨어 플랫폼에 구현된다면, 이러한 플랫폼은 성능 분석을 위한 빠른 프로토타입 개발에 매우 유용할 수 있으며, 최적화 후 구현된 알고리즘을 실제 집적회로로 전환하여 시스템에 통합할 수 있습니다.

10년 넘게 다양한 FPGA 플랫폼에서 HoG와 SVM 방법을 이용한 보행자 감지 구현에 관한 중요한 논문들이 있습니다. 표 1은 2015년부터 2025년까지 15,16,17,18,19,20,21,22,23,24 등 주요 요소에 중점을 둔 이 분야의 기사들을 요약합니다. 이미지 해상도, 처리량, 프레임 초당 프레임(FPS), 분류기 유형, 주요 하이라이트 또는 기여 종이.

참고문헌FPGA 플랫폼이미지 해상도분류기주요 하이라이트 / 기여
15자일링스 징크640×480아다부스트실시간 FPGA 구현; 자원 효율적; 최적화를 위해 이진 화를 사용한다; 탐지 정확도가 좋습니다.
16테라식의 DE1-SOC 보드640×480SVM고성능 HOG 추출기; SVM을 통합하고; 단일 스케일 탐지; 저지연 파이프라인.
17알테라 DE2-115640×480아다부스트여러 관점에서 성과를 평가합니다; HOG+AdaBoost의 FPGA 구현; 실시간 보행자 탐지.
18인텔 스트라틱스 V640×480SVM다중 스케일 보행자 감지; FPGA 친화적인 HOG+SVM 파이프라인; 정확성과 하드웨어 효율성 간의 절충 관계를 강조합니다.
19Zynq 울트라스케일+ MPSoC3840×2160SVM실시간 UHD 처리; 파이프라인 HOG+SVM; SoC FPGA 구현; 고정점 최적화; 확장 가능한 아키텍처입니다.
20명시되지 않음명시되지 않음SVM>95% 탐지 정확도를 달성; 실시간 FPGA 구현; 병렬성을 활용하고; 보행자 감지를 위한 상세한 HOG+SVM FPGA 설계.
21Zync 7000 FPGA1920×1080SVMHOG+SVM을 위한 고처리량 스트림 아키텍처; HD 해상도 지원; FPGA 가속을 위한 효율적인 파이프라인.
22울트라96 (1번째 버전)240×320SVMHLS를 이용한 FPGA 구현; 빨간 신호 감지; 891개 영역에서 확률을 계산하며; 지연 시간은 153,838에서 19 사이클 사이입니다.
23자일링스 Zynq-7000 FPGA640 × 480HOG + SVMFPGA에서 HOG-SVM을 사용해 보행자 감지를 구현하여, CPU 처리 대비 전력 소비를 줄이고 실시간 성능을 달성했습니다. 임베디드 비전 응용에 적합한 최적화된 특징 추출 파이프라인을 시연했습니다.
24자일링스 버텍스-6 FPGA640 × 480고정점 물체 검출기(하르와 유사한 특징)고정소수점 연술을 이용한 고처리량 FPGA 객체 검출 가속을 제안하여 계산 비용을 줄이면서도 정확도를 유지합니다. CPU 구현 대비 15× 속도 향상과 효율적인 하드웨어 자원 활용을 보여주었습니다.

표 1: FPGA에서 보행자 감지 연구를 기반으로 한 문헌 고찰 (2015–2025).

표 1은 보행자 탐지 분야에서 방대한 문헌이 존재했으며, 하드웨어 구현이 연구자들의 관심 분야임을 요약합니다. 또한 보행자 탐지 작업을 위한 합성곱 신경망(CNN) 기반 검출기(YOLO), 트랜스포머 기반 아키텍처 등과 같은 고급 딥러닝 및 머신러닝 기법이 존재한다는 점도 분명합니다. 정확도 면에서는 전통적인 HoG 알고리즘보다 성능이 우수하지만, 하드웨어 구현을 고려하면 고급 알고리즘은 복잡한 알고리즘 때문에 막대한 자원 활용을 초래합니다.23,24는 다른 성능 매개변수에도 영향을 미칠 수 있고, 복잡성이 추가되어 전통적인 HoG 알고리즘의 경우 속도가 약간 더 우수하다는 점도 관찰되었습니다24, 25. 또한 고급 기술들이 하드웨어24,26에 구현될 때 더 많은 전력을 소비한다는 점도 관찰되었습니다. 따라서 본 논문에서 구현된 연구의 목적은 FPGA 하드웨어에서 전통적인 HoG 및 SVM 프레임워크를 사용하여 보행자 검출을 수행하고, 실시간 임베딩을 위해 정확도, 속도, 자원, 전력 측면에서 유리한 균형을 달성하는 것입니다. 표 1에서 볼 수 있듯이, HoG 및 SVM 기반 연구를 분석할 때, 최근에 도입된 Zynq UltraScale+ MPSoC(다중 프로세서 시스템 온 칩) 기반 FPGA 개발 보드27을 활용하여 이 보드들의 성능을 탐구하는 논문이 제한적으로 존재한다는 점이 분명합니다. 이 보드들은 아키텍처 관점에서 진화해 왔습니다. 그리고 고급 실시간 컴퓨터 비전 응용 구현 측면에서 큰 잠재력을 제공합니다. FPGA 보드에서 보행자 감지 시스템 전체를 실시간으로 구현한 제한된 출판물이 있습니다. 하지만 중간 과제의 효율적인 구현이나 개선에 집중해 왔습니다. 더불어, 대부분의 구현은 하드웨어 설명 언어를 사용하여 FPGA 보드 위에 전체 시스템을 구현하는 데 기반합니다. 고수준 합성(HLS) 도구의 이점을 활용해 설계 과정을 가속화한 사람은 거의 없습니다. 이 논문은 자율주행 애플리케이션에 전용된 FPGA 보드에서 실시간 보행자 감지의 설계 및 구현을 시연합니다. 이 논문은 정지 이미지, 비디오 또는 실제 카메라 입력에서 보행자 탐지를 목적으로 HoG와 SVM 프레임워크를 활용합니다. 사용되는 하드웨어는 최첨단이자 최근에 출시된 FPGA 보드인 Ultra96 v2로, 컴퓨터 비전, 이미지 처리, 머신러닝, 엣지 컴퓨팅 등 강력한 플랫폼인 고급 FPGA 아키텍처입니다.24. Ultra96 v2는 Arm 기반 AMD Xilinx Zynq UltraScale+ MPSoC27을 탑재한 개발 보드입니다. 이 보드에는 소프트웨어 측면을 관리하는 ARM 기반 CPU 코어로 구성된 프로세싱 시스템(PS) 세그먼트와,20, 21, 22 하드웨어 가속을 가능한 프로그래머블 로직(PL) 세그먼트가 포함되어 있습니다. 이 구성 요소들은 PS 부분이 외부 요소와의 제어 및 상호작용을 관리하고, PL 부분이 실제 처리 로직을 처리하는 하이브리드 시스템의 기능을 향상시킵니다.

Protocol

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

이 연구에서 사용된 구현 절차는 FPGA 보드에서 HoG + SVM을 이용한 보행자 감지를 기반으로 하며, 고수준 합성의 이점을 활용한 방식이 아래 그림 2 에 나와 있습니다.

figure-protocol-1
그림 2: FPGA 보드에서 보행자 감지 구현 설계 절차. 1단계: HLS 도구에서 HoG+SVM을 이용한 보행자 탐지 알고리즘과 IP 블록 생성. 2단계: HoG+SVM을 이용한 보행자 탐지 알고리즘을 실제 FPGA 구현과 비트 파일 생성. 3단계: 생성된 비트 파일로 보드를 프로그래밍하는 것. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.

1. HLS 도구에서 HoG와 SVM을 이용한 보행자 감지

  1. 다운로드가 이루어지는 시스템 속성에 따라 파이썬 통합 개발 환경(IDE)을 다운로드하세요.
    참고: 이 작업에서는 Python 3.10 버전을 사용합니다.
  2. HoG 알고리즘과 SVM 분류기를 사용해 훈련 모델을 실행하기 위한 Python 스크립트를 실행하세요. 스크립트를 데이터셋에서 양성과 음수 샘플을 불러오는 것으로 시작합니다.
    참고: INRIA 데이터셋11을 사용하세요.
  3. 64 x 128 창 크기의 HoG 특징을 추출하세요.
  4. INRIA 데이터셋의 훈련과 테스트 데이터를 80/20 비율로 나누고, 재현성을 위해 무작위 섞어 사용합니다.
    참고: 데이터셋은 파이썬 함수를 사용해 무작위로 섞은 후 분할됩니다. 시드 값이 코드에서 고정될 때마다 동일한 분할이 이루어지도록 재현성을 보장하기 위함입니다.
  5. 선형 커널을 가진 C-지지 벡터 분류(SVC) SVM을 사용하여 학습합니다.
  6. 가중 벡터와 편향을 추출하세요.
  7. FPGA 구현을 위해 고정소점 Q8.8 형식으로 SVM 가중치와 바이어스를 저장하세요.
    참고: 변환은 생성된 각 부동소수점 값의 원본성을 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. HLS 도구에서 ' C 시뮬레이션 실행 '을 클릭하여 테스트 벤치의 도움을 받아 코드의 기능 정확성을 시뮬레이션할 수 있습니다.
  15. 코드에 다른 입력 이미지를 제공하고, 출력된 이미지와 감지된 보행자를 비교하세요.
  16. Run C Synthesis를 클릭하여 코드를 합성하고, 도구를 통해 하드웨어 언어에 매핑하며, 타이밍과 활용 보고서를 생성할 수 있습니다.
    참고: 이 도구는 HLS 합성 보고서를 자동으로 엽니다. 이 보고서는 선택한 FPGA 플랫폼에서 코딩된 작업을 구현하기 위해 필요한 클럭 주파수 추정치와 사용된 자원 추정치를 제공합니다. 이 보고된 값들은 단지 추정치일 뿐이며, 실제 매개변수는 FPGA 보드에 구현된 후에만 계산됩니다.
  17. 보행자 탐지 HoG 알고리즘의 지적 재산권(IP) 블록을 내보내려면 RTL 내보내 기를 클릭하세요.
    참고: 이 IP는 구현 후반부에 사용됩니다.

2. FPGA 보드 프로그래밍

  1. FPGA 프로그래밍 도구를 열고 새 프로젝트를 생성하세요. 부품 번호를 xczu3eg-sbva484-1-e 로 선택하고 새 블록 디자인을 생성하세요.
    참고: 이 블록 다이어그램은 PS와 FPGA 보드의 PL 부분 간의 통합을 확립하기 위해 작성되었습니다. 사용되는 통신 프로토콜은 고급 확장 인터페이스(AXI) 프로토콜입니다.
  2. 도구에서 IP 카탈로그 를 검색한 후 열어보세요.
  3. 1.17 단계에서 내보낸 RTL IP 경로를 추가하여 사용자 저장소를 만듭니다.
  4. 새 블록 디자인 창에서 오른쪽 클릭으로 IP 추가를 선택하세요. 도구가 제공하는 IP와 사용자가 추가한 저장소를 포함해 모든 IP가 표시됩니다.
  5. 저장소에서 Zync Ultrascale PS 블록을 추가하세요.
    참고: 이 블록은 시스템의 PS 부분을 반영하며, 필요한 클럭을 생성하는 역할을 하며, AXI 인터커넥트 블록을 통해 임포트된 HoG IP에 연결할 수 있는 마스터 및 슬레이브 포트도 포함되어 있습니다. 이 인터커넥트 블록은 AXI 프로토콜 기본 기반으로 동작합니다.
  6. 8개의 HoG IP를 추가하는데, 이는 시스템이 FPGA 보드가 제공하는 병렬 처리 이점을 활용하기 위해 동시에 8개의 창을 처리하기 때문입니다.
  7. 프로세서 시스템 리셋 블록을 추가하여, 다이어그램 내 각 블록에 클럭과 리셋 공급을 제어합니다.
  8. HoG IP와 Zync PS 블록을 연결하는 axi_smart 두 개의 Connect 블록을 추가하세요. 전체 블록다이어그램과 완전한 연결 도는 그림 3에 나와 있습니다.
    참고: 그림 3에서 보시다시피, 설계에 추가해야 하는 모든 블록이 명확히 표시되어 있습니다. 그림 3 은 도구에서 캡처한 것으로, 각 블록의 내부 포트와 서로 다른 블록 포트 간의 상호 연결을 보여줍니다. 이 블록은 FPGA 보드의 PS와 PL 부분 간 인터페이스를 설정하는 주요 설계입니다.
  9. 그림 3에 따라 연결을 완료한 후, 설계 검증을 클릭하세요.
    참고: 검증은 기본적으로 누락된 연결이나 끊어진 연결을 확인하는 것으로, 이로 인해 이후 단계에서 문제가 발생할 수 있습니다.
  10. 합성을 클릭한 후 블록 다이어그램 검증이성공한 후 '설계 구현'을 입력하세요.
    참고: Synthesis는 설계된 블록 다이어그램을 매핑하여 FPGA 보드에 매핑합니다. 이 단계에서는 설계가 하드웨어에 구현할 수 없음을 나타내는 위반 사항을 보고합니다.
  11. 또한 이 도구는 타이밍, 자원 활용, 전력 소비와 관련된 보고서를 생성합니다. 보고서를 꼼꼼히 검토하여 타이밍 위반 여부를 확인하고 설계된 시스템의 성능을 분석하세요.
  12. FPGA 보드 프로그래밍에 필요한 .bit 파일을 생성하는 비트 스트림 파일을 생성하는 '생성' 을 클릭하세요.

figure-protocol-2
그림 3: HoG + SVM 임포트 IP를 이용한 보행자 감지 블록다이어그램. 이 그림의 더 큰 버전을 보려면 여기를 클릭하세요.

3. FPGA 보드에서의 최종 구현

  1. FPGA 보드를 구입해서 적절한 이미지 파일이 있는 SD 카드를 보드 슬롯에 꽂으세요.
  2. 보드도 컴퓨터에 연결하세요.
  3. FPGA 보드를 SD 카드 모드로 부팅하여 Python 프로그래밍을 활성화하세요.
  4. 와이파이에 연결한 후 보드의 Jupyter 플랫폼에 접속하세요.
  5. 웹카메라를 보드에 연결하세요.
  6. 생성된 비트 파일을 가져오는 파이썬 코드를 작성하고 카메라 이미지 접근 작업을 수행합니다.
  7. 코드에서 스크립트를 작성하여 이미지가 FPGA 보드의 메모리에 PS 부분을 통해 기록되고, PL 부분으로 전달되어 처리되도록 합니다.
    참고: HoG IP에 대응하는 보드의 PL 부분은 이 메모리 위치를 통해 이미지 픽셀에 접근하여 처리하고 점수를 출력으로 제공합니다.
  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 는 HoG + SVM을 이용한 보행자 감지를 위한 HLS 도구의 시뮬레이션 결과를 보여줍니다. 보행자가 포함된 입력 이미지가 코드 테스트 입력으로 입력되고, 감지된 보행자가 포함된 출력이 표시됩니다. 이미지에는 두 개의 섹션이 있습니다. 첫 번째 감지 화면에는 같은 보행자 주위에 여러 개의 경계 상자가 반복적으로 배치되어 있고, 두 번째 이미지에서는 겹치는 상자들이 제거되고 억제되어 주요 감지 상자만 남습니다.

figure-results-1
그림 4: HLS 도구의 시뮬레이션 결과. (A,B) 두 가지 다른 입력 이미지와 그 결과 감지된 보행자가 포함된 이미지들입니다. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.

HLS 도구는 또한 타이밍과 자원 활용에 대한 종합 보고서를 제공합니다. 타이밍 요약은 설계에 요구되는 시간 범위를 강조하며, 사이클 수 기준으로 최대 및 최소 지연 값을 제공합니다. 이 정보는 설계가 실행에 필요한 시간과 실제 하드웨어 구현 시 클럭 주파수를 추정하는 데 유용합니다. 아래 표 2는 HLS 합성 후 타이밍 보고서를 보여주며, 목표 클럭 주기가 6ns였고 설계가 5.25ns를 사용했음을 명확히 보여줍니다. 이는 목표 시간보다 짧아 시간 주기가 6ns 이상일 수 있지만 5ns보다 낮을 수 없음을 명확히 보여줍니다.

타이밍 요약
시계목표추정
6.00 ns5.250 ns
활용 요약
총 / 이용 가능사용 비율
BRAM18K22 / 4325%
DSP48E13 / 3603%
FF5611/ 1411203%
LUT9904/ 7056014%
우람00

표 2: HoG-SVM을 이용한 보행자 탐지를 위한 HLS 도구의 추정 시간 및 자원 활용 보고서.

표 2는 이용 보고서도 보여줍니다. 이는 선택한 대상 보드에 따른 중요한 온보드 FPGA 자원의 비율 활용도를 보여줍니다. 이 보행자 감지 설계의 활용률 보고서에 따르면, 루크업 테이블(LUT)의 14%, 플립플롭(FF)의 3%, 디지털 신호 처리(DSP)의 3%, 블록 임의 접근 메모리(BRAM)의 5%를 소비합니다. 이 추정치는 정확한 이용 보고서는 아니지만, 실제 보고서는 이 추정치에 가깝습니다. 이는 HLS 도구로 계산할 수 있는 추정치일 뿐입니다. 실제 구현은 보통 이러한 추정치와 매우 다릅니다.

실제 구현은 하드웨어 프로그래밍에서 나옵니다
코드가 IP에 매핑되어 FPGA 프로그래밍 도구에 가져오고, 실제 FPGA 하드웨어에 설계가 구현된 후, 여러 보고서도 생성됩니다. 첫 번째는 타이밍 요약으로, 설계에 제공된 클럭 주파수가 충분한지 여부를 보여줍니다. 모든 타이밍 제약 조건이 충족되고 위반이 없다면 설계를 진행할 수 있습니다. 아래 표 3은 이 도구가 생성한 타이밍 요약을 보여줍니다. 표에 나타난 대로, 타이밍 요약은 최악의 음의 여유(4.073 ns)를 나타냅니다. 이 값이 양수이라면, 이 정도 시간이 남아 있음을 의미합니다. 음수(negative values)는 FPGA가 작업을 완료하는 데 더 많은 시간이 걸리고 있고 클럭이 빠르게 작동하고 있음을 나타냅니다. 이 경우 음수가 없으므로 타이밍 제약 조건이 충족되었음을 의미합니다.

설계 타이밍 요약
설정멈춰펄스 폭
최악의 네거티브 슬랙 4.073 ns최악의 홀드 슬랙 0.010 ns최악의 펄스 폭 슬랙 3.500 ns

표 3: FPGA 보드에서 보행자 감지의 실제 타이밍 요약.

또한, 도구는 선택한 FPGA 보드에 따른 온보드 자원의 실제 활용도를 나타내는 자원 활용도 보고서를 보여줍니다. 이 경우 선택된 보드는 Zynq UltraScale+ MPSoC(다중 프로세서 시스템 온 칩) 기반 FPGA 개발 보드27입니다. 아래 표 4는 자원 활용도를 보여주고, 그림 5 는 자원 활용도를 도식으로 표현한 것입니다.

활용률 요약은 8개의 HoG IPS가 병렬로 사용되고 HLS 종합에서 보고된 추정치가 단일 HoG IP에 대한 실제 온보드 자원 소비량을 나타냅니다. 하지만 이렇게 광범위한 사용 후에도 모든 자원의 자원 사용률은 50% 미만입니다. 표 4는 각 자원에 대한 활용도와 그 활용률을 명확히 표시하며, 그림 5에 그림으로 표현되어 있습니다.

자료활용이용 가능활용률 %
LUT405367056057.45%
루트람73042880025.36%
FF3334214112023.63%
브램6821631.48%
DSP12836035.56%
완전 그렇다21961.02%

표 4: FPGA 보드 보행자 감지 실제 활용 보고서.

figure-results-2
그림 5: 실제 구현 후 FPGA 보드에서 보행자 감지를 위한 자원 활용도. 테이블(LUT): 57%, LUTRAM: 25%, 플립플롭(FF): 24%, 블록 RAM(BRAM): 31%, 디지털 신호 프로세서(DSP): 36%, 버퍼: 1%. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.

세 번째 보고서는 설계에 의한 에너지 소비량에 대한 보드의 전력 추정에 관한 것입니다. 아래 그림 6 은 전력 소비 보고서를 보여주며, 전체 온칩 전력이 2.435 W임을 나타냅니다. 접합 온도와 모든 중요한 네트 및 부품이 소비하는 전력도 함께 보여줍니다. 전력 측정 결과, 심각한 전력 소비는 나타나지 않아 설계가 에너지 효율적이라고 볼 수 있습니다.

figure-results-3
그림 6: 실제 구현 후 FPGA 보드에서 보행자 감지를 위한 전력 추정. 도구들이 생성하는 전력 보고서는 총 소비 전력을 2.435 W로 나타내며, FPGA 보드 내 다양한 자원 간 전력 분포도 보여줍니다. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.

또한 8개의 HoG IP를 단일 또는 8개 이상의 블록 다이어그램 블록 다이어그램에서 사용하는 이점이 무엇인지 이해하기 위한 또 다른 분석이 이루어 졌습니다. 하드웨어 관련 성능 지표는 단일 HoG IP와 8개의 HoG IP 병렬로 계산되었습니다. 아래 표 5는 비교 과정을 보여줍니다.

퍼프리먼스 메트릭1 IP8개의 IP
타이밍 (ns)5.312~5.25
주파수 (MHz)188150
파워 (W)1.92.43
LUT499840536
FF / 레지스터4,03133,342
DSP16128
브램8.568
FPS~10–1183

표 5: 단일 IP와 다중 HoG IP를 사용한 성능 지표 비교.

표 5는 자원을 LUT, FF, DSP, BRAM 등으로 고려할 때 단일 HoG IP와 8개의 HoG IP를 사용할 때, 자원 사용이 거의 8배로 증가하는 선형적 확장임을 명확히 보여줍니다. 이는 IP 증가로 인해 자원 소비가 증가하는 것으로 예상되는 현상입니다. 또한, 주파수가 관측되면 최대 주파수도 188 MHz에서 150 MHz로 약 20% 약간씩 저하됩니다. 블록이 많아질수록 연결도 늘어나 경로가 길어지면서 중요한 경로가 증가할 것으로 예상됩니다. 하지만 프레임/초(FPS)와 같은 유리한 요소들은 10에서 83으로 향상되어, 8개의 HoG IP로 도입된 병렬성 개념 덕분에 FPS에서 비선형 스케일링이 가능함을 보여줍니다. 또한 출력은 1.9W에서 2.4W까지 조절되어 파이프라인을 통한 에너지 효율성 향상을 나타냅니다. 따라서 이 분석은 8개의 HoG IP 도입이 설계에 유익하며, 8개를 초과하는 확장은 자원 과소비를 초래할 수 있음을 명확히 시사합니다; 따라서 8을 초과하는 블록 수는 유리하지 않다고 간주됩니다.

FPGA 구현 후 보행자 감지 결과
마지막으로 전체 시스템이 FPGA 보드에 통합되고, 비트스트림 파일이 생성되고, 이후 Python 프로그래밍 기능이 탑재된 SD 카드를 통해 보드에 프로그래밍됩니다. 보드가 SD 카드로 부팅되면 주피터 인터페이스에 접근할 수 있고, 파이썬 코드를 작성하고 실행할 수 있습니다. 파이썬 코드는 다양한 입력 이미지에서 보행자 감지를 위해 실행되고 테스트됩니다. 몇 장의 이미지 결과는 아래 그림 7에 나와 있습니다. 이 이미지들은 INRIA 데이터셋과 오픈 소스 온라인 소스에서 얻은 무작위 보행자 이미지에서 활용되었습니다26,27.

figure-results-4
그림 7: FPGA 보드를 통한 정지 이미지에서의 보행자 감지 결과. 테스트된 이미지에는 INRIA 데이터셋의 이미지가 포함되어 있으며, 이는 인도의 혼잡한 거리에서 탐지 정확도를 테스트하기 위해 구글에서 공개된 오픈 소스 이미지입니다. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.

또한 웹 카메라를 통한 실시간 프레임 캡처와 프레임 내 보행자 감지, 그리고 이미 녹화된 보행자 영상 입력에 대해서도 테스트됩니다. 이 결과는 그림 8그림 9에 나타난다. 그림 8 은 웹 카메라가 촬영한 예시 프레임들과 각 프레임에서의 보행자 감지 결과를 보여주며, 그림 9 는 시스템에 제공된 입력 비디오에 구현된 보행자 감지 결과를 보여줍니다.

figure-results-5
그림 8: FPGA 보드를 통해 카메라가 실시간으로 캡처한 프레임에 대한 보행자 탐지 결과. 웹 카메라 720 P를 통한 실시간 비디오 촬영과 보행자 실시간 탐지 시연. 흐릿한 이미지는 진행 중인 라이브 영상에서 스냅샷을 찍으면서 발생합니다. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.

figure-results-6
그림 9: FPGA 보드에 입력된 비디오에서의 보행자 탐지 결과. 영상들은 오픈 소스 링크에서 가져온 것이었다. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.

성능 지표 추정
위에 구현된 설계의 효율성을 계산하고 성능을 분석하려면, 성능 평가에 유용한 성능 지표를 산출하는 것이 필수적입니다. 탐지 알고리즘의 효율성을 감지하는 성능 지표는 기본적으로 진양성(TP), 진음성(TN), 거짓양성(FP), 거짓음성(FN) 값에 의존합니다. 이 값들로부터 정밀도, 리콜, F1 점수, 이미지당 오탐, 정확도와 같은 성능 지표를 아래에 제시된 식에 따라 계산할 수 있습니다. 대부분의 연구 논문이 정확도 매개변수를 통해 검출 성능을 보고하는 것으로 관찰되었습니다. 하지만 TN을 사용하는 정확도 계산은 오해의 소지가 있을 수 있는데, TN의 값은 실제로 보행자가 없는 이미지에서 모든 검출 창의 수를 찾아야 하므로 진정한 의미에서 올바르게 계산할 수 없으며, 구현된 알고리즘도 탐지 없음으로 보고하기 때문입니다. 이 수치는 일반적으로 매우 크는데, 이미지 내 검출 창의 총 수가 크고, 각 이미지의 배경 영역은 보행자가 없는 영역에 해당하기 때문입니다. 방정식 [1] – [5]에 표시된 정확도 공식을 면밀히 살펴보면, TN의 값이 TP+FP+FN에 비해 상당히 높으므로 정확도 매개변수는 보통 높은 값을 가진다는 것을 알 수 있습니다. 성능을 진정으로 평가하려면, TN에 의존하지 않는 정확도, 리콜, F1 점수 같은 지표를 보고하는 것이 훨씬 더 좋습니다.

figure-results-7 [1]

figure-results-8 [2]

figure-results-9 [3]

figure-results-10 [4]

figure-results-11 [5]

이 논문에서 TP, TN, FN의 값을 찾기 위해 정지 이미지에 대한 실험을 다수의 이미지에 반복했습니다. 각 이미지 결과에서 진양성(정확히 감지된 보행자 수), 거짓 양성(잘못 탐지된 보행자 수), 그리고 실제 탐지되지 않은 보행자 수인 거짓 음성의 값을 계산했습니다. 다음 값들은 수행된 실험 후에 보고되었으며, 아래 표 6 에 나와 있습니다.

성과 지표가치
화장지143
FP39
FN19
프레시슨0.786 (78.6%)
리콜0.883 (88.3%)
F1 점수0.831 (83.1%)
FPPI0.867

표 6: 보행자 감지 알고리즘을 구현한 FPGA 기반 성능 지표.

위의 표 6은 하드웨어 플랫폼에서 알고리즘이 구현되었을 때 보행자 감지 알고리즘의 정확도를 설명한 보행자 감지 알고리즘의 정확도를 설명합니다.

기존 FPGA 기반 HoG 구현과의 성능 비교
마지막으로, 수행된 연구는 이전 문헌과 비교하여 이 연구의 중요한 기여를 명확히 할 수 있습니다. 이 비교는 아래 표 715, 16, 17, 21, 24에 나와 있습니다. 비교가 이루어진 기사들은 모두 FPGA 플랫폼에서 구현된 보행자 감지 애플리케이션을 기반으로 하며, 이 탐지에 사용되는 알고리즘도 모두 동일합니다. 이는 HoG와 분류기(Adaboost 분류기 또는 SVM)를 결합한 것입니다. 각 장의 이미지 크기도 동일합니다(640 × 480). 비교는 속도, 초당 프레임, 전력 소비, 그리고 LUT, DSP, 메모리, 슬라이스, 레지스터 등 자원 활용에 영향을 미치는 클럭 주파수와 같은 매개변수를 기반으로 이루어집니다. 공정한 비교를 유도하기 위해, 비교 대상 연구 논문들은 유사한 이미지 해상도를 가졌으며, 자원 비교를 정규화하기 위해 모든 자원 활용도를 사용한 FPGA 보드에 따라 소비된 자원 수로 나누어 정규화합니다.

참고문헌이미지 크기FPGA 보드클럭 주파수초당 프레임(FPS)전력픽셀 /클럭LUT (%)DSP48 (%)BRAM /메모리 비트 (%)레지스터/FF (%)
15640×480자일링스 징크82.2 MHz40-14020-
24640×480버텍스 6150 MHz1019 W395322-
16640×480사이클론 V162 MHz5269 W0.99218610021
17640×480알테라 DE2-11550 MHz1293.6 W-73-7260
21640×480Zync 7000100 MHz2401.6 W-133110
이 작품640 x 480울트라 96 v2150 MHz832.435W0.063257353124

표 7: FPGA에서 보행자 감지 구현을 위한 매개변수 및 성능 비교

표 7 에서 볼 수 있듯이, 본 연구의 구현을 이전 연구들과 비교했을 때 속도 측면에서 상당한 향상이 나타난다는 점을 알 수 있습니다. FPGA 보드는 150 MHz의 클럭 주파수로 동작할 수 있는데, 이는 전체 작업을 완료하는 데 소요되는 시간이 6 ns보다 짧다는 의미입니다. 이전 연구들 중 일부는 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}$$,

본 연구는 Zynq UltraScale+ MPSoC 개발 보드24를 기반으로 한 고급 FPGA 하드웨어에서 HoG + SVM 알고리즘을 활용한 실시간 보행자 감지 시스템을 효과적으로 구현합니다. 결과는 인간 탐지11의 전통적인 HoG 알고리즘이 약 95%의 정확도를 달성하며, 온보드 FPGA 자원(LUT, FF, BRAM, DSP)의 절반만 사용해 다양한 작업을 수행할 수 있는 큰 역량을 남겨두었습니다. 전체 구현 방식을 분석하면 여러 중요한 단계들이 포함되어 있음을 알 수 있습니다. 주요 단계 중 하나는 보행자 감지를 위한 적절한 데이터셋으로 SVM 모델18, 19, 24를 학습시켜 가중치를 추출하여 FPGA 프로그래밍에 활용하는 것입니다. 훈련 코드는 성능 정확도를 나타내며, 정확도를 95%에 가깝게 달성하려면 정규화 매개변수를 통해 검출 임계값을 신중히 조정해야 합니다. 학습에서 선택된 매개변수는 창 크기가 64 x 128, 블록 크기가 16 x 16, 셀 크기가 8 x 8인 맞춤형 HoG 디스크립터이며, 9개의 빈이 선택됩니다. 현재 INRIA 데이터셋11에서 2416장의 양성 이미지와 1218장의 부정 이미지로 훈련이 진행되었습니다. 증강에는 수평 거울 버전을 제공하기 위해 이미지를 회전시키는 작업이 포함됩니다. 가시성이 낮거나 규모 변동이 있는 조건에서 모델 평가와 같은 주요 포함 사항들은 재현성과 견고성을 보장하기 위해 향후 연구에서 다룰 예정입니다. 훈련에 고려되는 데이터셋에는 다양한 포즈를 취한 보행자 이미지가 포함되어야 하며, 보행자가 전혀 없는 이미지도 포함되어야 합니다18,19.

또 다른 중요한 단계는 전체 시스템의 블록 다이어그램을 만들어 FPGA 보드의 PS 부분이 PL 부분과 통신할 수 있도록 하는 것입니다. 이 단계에서는 각 블록이 올바른 포트로 매개변수화되어 있고, 다른 블록들과 제대로 연결되어 있는지 확인해야 합니다. 또한 설계자를 돕기 위한 자동 라우팅 제안도 제공합니다. 매우 중요한 단계는 블록 다이어그램을 완성한 후 주소 할당입니다. 가져온 HoG IP는 깊이에 따라 주소가 할당되어야 하며, 이 주소들은 어떤 두 IP에서도 동일해서는 안 됩니다. 이 주소들은 SD 카드의 파이썬 코드에 필수적이며, 이는 FPGA 보드의 PS 부분이 데이터를 읽고 쓰기 위해 접근해야 하는 PL 주소 위치를 이해하는 데 도움을 줍니다. 따라서 도전적인 단계는 Python 플랫폼에서 사용자가 입력 이미지/동영상/라이브 카메라 피드를 FPGA에 입력하고, FPGA에서 처리된 이미지를 받은 후 감지된 보행자에게 출력 이미지를 표시할 수 있도록 하는 인터페이스 개발입니다. Python 코드는 설계자가 중간 결과를 확인할 수 있도록 다양한 디버깅 메시지와 함께 작성되어야 하며, 실패 시 오류를 진단하고 수정할 수 있습니다. 이 연구에는 PS와 PL 부분 간의 적절한 인터페이스를 확립하는 데 많은 시간이 투자되었습니다. 이 인터페이스용 Python 스크립트는 여러 차례 반복 끝에 HoG IP 데이터를 접근할 수 있었고, 중간 결과를 표시하는 여러 문장을 포함하는 것은 문제 해결과 오류 수정에 매우 유용했습니다.

이 방법의 한 가지 한계는 FPGA의 PS와 PL 부분 간 인터페이스를 설정하는 데 파이썬 부분을 사용하는 점입니다. 파이썬 플랫폼은 설계 시간을 크게 단축시켰지만, 실시간 성능에 영향을 미치는 추가 오버헤드를 도입했습니다. 하드웨어 가속 보행자 감지 시스템은 83 FPS의 처리량을 보고했으나, PS와 PL 부품 간 데이터 전송으로 인한 지연으로 인해 지연 또는 라이브 카메라 테스트 중 반응하지 않는 시스템 전체 성능이 영향을 받았습니다. 미래 전망은 소프트웨어에 의존하지 않고 완전한 하드웨어 가속 시스템을 개발할 가능성을 담고 있습니다.

위에서 설명한 한계가 있지만, 이 연구는 개발된 시스템이 정지 이미지, 실시간 피드, 비디오 입력에서 보행자 감지에 원활하게 적응할 수 있어 크게 기여합니다. 세 가지 방법 모두 Jupyter 플랫폼에서 파이썬 코드를 약간 수정하면 충분하며, 시스템이 다양한 상황에 빠르게 적응할 수 있음을 보여줍니다. 결과는 첨단 FPGA 아키텍처에서의 구현이 성능 매개변수가 매우 최적화되어 우수하고 수용 가능한 값이 나오면서 고무적인 결과를 가져왔음을 보여줍니다. 달성된 클럭 주파수는 이전 문헌14, 15, 16, 20, 23과 비교해 속도가 저하되지 않았음을 나타내며, 최소한의 전력 소비는 열 문제가 없음을 시사합니다. 또한 자원 활용도는 모든 자원이 50% 미만으로 사용된 것으로 나타났으며, 이는 추가 설계 개선의 상당한 가능성을 시사합니다.

개발된 시스템은 인간 탐지 작업을 요구하는 모든 응용 분야에 활용할 수 있으며 실시간 응용에도 적용할 수 있습니다. 또한 향후 노력에서는 PL 부분에 전적으로 집중하여 FPGA 로직이 입력 이미지를 읽고 처리된 출력 이미지를 표시하도록 하여 앞서 언급한 제한을 제거하는 데 집중할 수 있습니다. 이는 거의 50%의 온보드 자원이 여전히 사용 가능하기 때문입니다. 또한 PS와 PL 통합을 활용할 경우 소프트웨어 개발 키트(SDK) 도구를 통한 인터페이스 개발도 수행할 수 있습니다. 다른 확장 가능성으로는 훨씬 더 혹독한 기상 조건이나 시야가 낮은 상황에서 보행자를 식별하거나, 다른 물체 뒤에 숨겨진 가려진 보행자를 식별하는 것이 있어 알고리즘 수정이 필요할 수 있습니다. 이 경우 필요한 유일한 수정은 선택한 도전에 따라 적절한 훈련 후 SVM에서 훈련된 무게를 교체하는 것뿐이며, 나머지 시스템은 별도의 수정이 필요하지 않습니다. 따라서 구현된 시스템은 다른 도전적인 상황에 쉽게 적응하기에 적합합니다. 또 다른 미래 전망은 첨단 FPGA 보드를 활용한 완전 자율주행 차량을 시스템에 추가하는 데 집중하는 것입니다.

Disclosures

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

저자들은 이해 충돌이 없다고 선언합니다.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
파이썬파이썬버전 3.10
울트라 96 V2 FPGA 보드  Xilinx 2018년에 도입됨보행자 탐지 알고리즘 구현에 사용되는 하드웨어 구현 플랫폼
Vivado와 nbsp;AMD2019.2보행자 감지 알고리즘을 적용하여 Ultra 96 v2 FPGA 보드를 프로그래밍하는 데 사용되는 FPGA 프로그래밍 도구;
비바도 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