방법 논문

실시간 소벨 엣지 검출을 위한 해상도 적응형 하드웨어 아키텍처: 서브리니어(Sub-linear) 자원 확장성 구현

17 조회수

DOI:

10.3791/71589

2026년 8월 28일

이 논문에서

요약

본 연구에서는 Ultra96-V2 이기종 플랫폼을 기반으로 Sobel 엣지 검출 알고리즘을 FPGA로 구현하였으며, 256 × 256에서 2560 × 1440에 이르는 다양한 이미지 해상도에 따른 리소스 활용도, 전력 및 속도를 평가하였습니다. 제안된 아키텍처는 실시간 이미지 처리 응용 분야에서 서브 리니어(sub-linear) 리소스 스케일링 특성을 보여줍니다.

초록

에지 검출(Edge detection)은 컴퓨터 비전의 핵심 분야이며, 다양한 응용 분야의 필수적인 부분이 되었습니다. 에지 검출을 통해 이미지 내의 중요한 특징이자 이미지에서 핵심적이고 구별 가능한 정보를 추출하는 데 도움을 주는 중요한 속성인 에지를 식별할 수 있습니다. 에지 검출의 하드웨어 구현은 속도가 빨라야 하며, 최소한의 리소스를 사용하고, 전력 소모가 적어야 하며, 다양한 이미지 해상도에 적응 가능해야 합니다. 본 논문은 저해상도 이미지부터 풀 HD(full high-definition)까지 적응형 이미지 해상도를 위한 Sobel 에지 검출을 구현하며, 최신 이기종 FPGA(Field Programmable Gate Array) 플랫폼인 Ultra96-V2를 사용합니다. 결과에 따르면, 저해상도 이미지의 경우 Look up Table(LUT), Flip Flop(FF), 디지털 신호 처리기(DSP) 및 블록 메모리(BRAM)를 포함한 FPGA 온보드 리소스의 5%만 사용된 반면, 고해상도 이미지의 경우 온보드 리소스의 약 23%가 소모되었습니다. 이는 저해상도에서 고해상도 이미지로 전환될 때 리소스 사용량 증가분이 20% 미만임을 보여줍니다. 또한, 최고 해상도에서의 전력 소모는 약 2 W이며, 최대 동작 주파수는 고해상도 이미지에서 136 MHz, 저해상도 이미지에서 166 MHz로 기록되어 주파수 감소율이 18%에 불과함을 보여줍니다. 제안된 아키텍처는 최신 이기종 FPGA 아키텍처의 장점을 활용하여, 픽셀 수가 56배 증가함에도 불구하고 리소스 사용량 증가와 속도 및 전력 감소가 모두 20% 미만인 서브-리니어(sub-linear) 리소스 스케일링을 달성했습니다. 결과적으로, 적응형 해상도 기능과 낮은 리소스 스케일링이 결합되어, 제안된 설계는 고품질 이미지 처리가 요구되는 실시간 에지 검출 응용 분야에 특히 적합합니다.

서론

에지 검출(Edge Detection)은 오늘날 다양한 응용 분야에서 사용되는 거의 모든 컴퓨터 비전 기술의 핵심 요소가 되었습니다1. 에지 검출은 특징 추출 단계로, 이미지에서 유용한 정보를 담고 있는 구별되는 세부 사항을 추출하는 역할을 하며, 이는 광범위한 시나리오에 적용될 수 있습니다2. 이미지 내의 에지는 강도가 급격히 변하는 영역을 나타내므로, 해당 이미지에 대한 중요하고 독특한 정보를 제공합니다. 이 과정은 불필요하고 무관한 세부 사항을 제거하고, 특정 응용 분야를 위해 추가로 처리될 수 있는 핵심적이고 고유한 요소들만 보존하는 것을 용이하게 합니다.

그림 1에 나타난 바와 같이, 에지 검출의 중요성은 이미지 분할, 객체 검출 및 인식, 특징 추출, 이미지 향상, 객체 식별, 의료 영상, 감시, 산업 자동화, 자율 주행, 증강 현실 및 로보틱스를 포함한 다양한 작업에서의 응용을 통해 강조됩니다2,3,4,5,6.

Sobel, Prewitt, Roberts, Canny 등을 포함하여 에지 검출을 위한 다양한 방법이 존재합니다. 이러한 기술 중에서 Sobel 에지 검출은 적용 방법이 간단하고 구현 복잡도가 낮으며, 에지 검출 정밀도가 높다는 점에서 매우 유용합니다3,4,5,6. Sobel 에지 알고리즘은 아래에 표시된 것과 같이 각각 Gx 및 Gy 커널을 사용하여 이미지의 수평 및 수직 방향 그래디언트를 결정합니다2,4.

Gx는 다음의 가장자리를 강조합니다. × 방향, 그리고 Gy는 y 방향의 경계선을 강조합니다.12,13이들이 결합되면 이미지 내의 모든 엣지를 완전히 정의하게 됩니다.6커널을 이용한 컨볼루션(convolution) 과정과 슬라이딩 윈도우(sliding window)는 이미지에 소벨(Sobel) 엣지 검출을 적용하는 데 사용됩니다. 예를 들어 3x3 픽셀 크기의 윈도우를 이미지에서 하나씩 추출하고, 이 윈도우를 필터 행렬과 컨볼루션하여 중심 픽셀의 새로운 값을 구합니다. 전체 이미지를 이와 같은 방식으로 다시 처리합니다. 소벨 엣지 검출에는 두 개의 커널이 사용되는데, 하나는 x 방향의 엣지를 추출하기 위한 것이고 다른 하나는 y 방향의 엣지를 추출하기 위한 것입니다. 모든 엣지를 얻기 위해 이 두 결과를 결합합니다. 소벨 엣지 검출은 정확하고 신뢰할 수 있는 결과를 생성하며, 이는 일부 전처리를 통해 더욱 향상될 수 있습니다.4,5,15전체 Sobel 엣지 검출 과정은 다음과 같이 해석됩니다. 그림 2.

보고된 모든 문헌이 에지 검출 분야에 상당한 기여를 했음에도 불구하고, 대부분의 주요 연구는 낮은 이미지 해상도에서 수행되었습니다. 반면, 본 논문에서 제시하는 연구는 저해상도 이미지(256 × 256)부터 풀 HD(Full High-Definition) 이미지 해상도(2560 × 1440)까지 다양한 이미지 해상도를 다룹니다. 따라서 다양한 이미지 해상도를 가진 실시간 시나리오에 적용되었을 때의 구현 효율성을 이해하기 위해서는, 여러 이미지 해상도에 따른 Sobel 에지 검출 알고리즘의 하드웨어 구현을 조사하는 것이 매우 중요합니다. FPGA(Field Programmable Gate Array)는 신속한 프로토타입 개발에 적합하며, 전체 하드웨어 구성을 변경할 필요 없이 설계 수정이 용이한 재구성 가능성과 같은 장점 덕분에 하드웨어 구현을 위한 적절한 플랫폼으로 인정받아 왔습니다6,7,8,9,10,11,12,13. 또한, FPGA는 병렬 처리 및 파이프라이닝 가능성을 제공하며, 성능 지표가 최적화되고 플랫폼이 검증되면 해당 설계를 실제 ASIC(Application Specific Integrated Circuits) 생산 단계로 발전시킬 수 있습니다14,15. FPGA의 또 다른 중요한 특징은 재구성 가능성으로, 이를 통해 설계자는 하드웨어를 교체할 필요 없이 언제든지 제품 설계를 수정할 수 있습니다. 설계자가 VHDL/Verilog와 같은 하드웨어 기술 언어에 능숙하다면 칩을 다시 프로그래밍하는 것만으로 충분하며, 여기에는 매우 적은 시간과 노력이 소요됩니다4,6,13,16,17. FPGA 구현 분석을 위해 고려된 주요 파라미터는 속도(최대 주파수), 자원 활용도 및 전력 효율성입니다. 표 1은 FPGA 분야에서 발표된 문헌의 수가 증가하고 있음을 보여주며, 2006년부터 2024년까지 FPGA 관련 출판물이 어떻게 발전해 왔는지를 나타냅니다. 이는 FPGA 연구 영역이 이제 실시간 애플리케이션, 증강 현실, 에지 컴퓨팅 및 기타 하이엔드 애플리케이션으로 이동했음을 명확히 설명합니다13,14,15,16,17,18,19,20,21,22,23.

표 2는 2020년부터 2025년까지 FPGA 기반의 Sobel 엣지 검출 구현과 관련된 기존 문헌의 연구 내용을 강조하여 보여줍니다. 표 2에는 참조된 각 논문에서 사용된 FPGA 보드, 구현된 알고리즘, 설계 방법론, 연구 결과, 성능 지표, 응용 분야 및 당면 과제가 명시되어 있습니다.

저자들4은 에지 검출 정확도를 높이기 위해 8방향 Sobel Edge 방법을 사용할 것을 권장했으나, 제안된 방법론에서 더 높은 리소스 소모가 발생한다고 보고했다. Navinkumar 등은 전통적인 Sobel 에지 검출에 포함된 곱셈 및 제곱근과 같은 복잡한 수학 연산을 줄이는 기술을 활용하여, 온보드 리소스를 절약하고 속도를 향상시켰다9. 또 다른 저자들17은 첨단 운전자 보조 시스템(Advanced Driver Assistance Systems)에서 차선을 식별하기 위해 Sobel 에지 검출 알고리즘을 사용하는 것에 대해 기록했다. 그들의 목표는 처리 시간을 단축하면서 검출 속도를 높이는 것이었다. 전반적으로, 에지 검출의 사용은 향후 관심 영역(region of interest) 추출을 위한 신뢰할 수 있는 방법으로 제시되었으며, 이는 불필요한 정보를 무시하고 이미지에서 필요한 영역만을 추출해야 하는 다양한 응용 분야에서 매우 유용할 수 있다. 종합적으로 보고된 과제에는 더 높은 리소스 및 메모리 점유율, 노이즈에 대한 민감도, 높은 계산 비용 및 고해상도 이미지에 대한 제한적인 확장성이 포함되었다4,5,6,11,12,13,21,22,23.

본 연구에서는 256 × 256의 저해상도부터 2560 × 1440의 풀 HD 해상도까지 다양한 이미지 해상도에 대해 전통적인 Sobel 엣지 검출 알고리즘을 Ultra96-V2 FPGA 보드에 구현하였습니다. Ultra96-V2는 고성능 애플리케이션을 위해 FPGA의 프로그래밍 가능 기능과 강력한 Arm 프로세싱(Cortex-A53/R5)을 결합한 보드입니다. 이 보드는 2018년에 처음 출시되었으며, 16 nm FinFET 공정 기술 노드18를 사용합니다.

재현성을 보장하기 위해, 전체 구현은 고수준 합성(HLS)을 위한 Vivado HLS 2019.2와 배치 및 배선을 위한 Vivado 2019.2, 그리고 Ultra96-V2 리소스에서 제공한 PYNQ 이미지를 포함하는 표준 툴체인을 사용하여 수행되었습니다. HLS 코드는 Sobel 엣지 검출 IP(Intellectual Property)를 도출하는 데 사용되었으며, 이는 내보내기 후 Vivado 설계 스위트에 통합되었습니다.  IP는 PL(Programmable Logic) 파트에 구현되었으며, FPGA의 PS(Processing System) 파트는 데이터 전송 및 제어 메커니즘을 담당했습니다. PS와 PL의 인터페이싱은 AXI 프로토콜을 통해 이루어졌습니다. 보고된 모든 지표인 주파수, 리소스 활용도 및 전력은 HLS 추정치가 아닌 구현 후 보고서(post-implementation reports)에서 가져온 값입니다. 구현 설정은 일관되게 유지되었으며, 실험 전반에 걸쳐 이미지 해상도만 변경되었습니다.

본 연구의 주요 성과는 낮은 전력 소비, 낮은 리소스 활용도 및 빠른 속도 측면에서 나타납니다. 결과에 따르면 고해상도 이미지에 대한 온보드 리소스 활용도는 20% 미만(Look Up Tables (LUTs) 18%, Flip Flops (FF) 11%, 메모리 3%, DSP 10%)으로 나타났으며, 이는 엣지 검출이 중간 단계일 뿐인 컴퓨터 비전 시스템에서 예상되는 바와 같이, 해당 이미지들에 대해 훨씬 더 많은 프로세싱을 통합할 수 있는 충분한 여유 공간이 있음을 시사합니다. 또한, 전력 소모는 거의 2 W이며, 최대 동작 주파수는 144 MHz로 보고되었습니다. 결과적으로 이미지 크기를 거의 56배 확대하더라도 리소스 활용도는 약 20%만 증가하는 것으로 나타났습니다. 속도와 전력 소모 또한 약 20% 정도만 저하되었습니다. 이러한 분석은 이전 문헌에서 보고되지 않은 다른 관점에서 알고리즘을 심도 있게 조사한 것이며, 따라서 본 구현 방식이 실시간 애플리케이션에 매우 적합하며, 엣지 검출 이후의 후속 단계에서 필요로 하는 정보량을 확실히 감소시키는 작은 이미지 크기나 낮은 해상도로 제한할 필요가 없음을 나타냅니다.

본 연구의 참신함은 알고리즘 자체에 있는 것이 아니라, HLS 기반 구현 기술의 장점을 활용하여 현대의 이기종 FPGA 아키텍처 상에서 다양한 이미지 해상도에 따른 전통적인 Sobel 엣지 검출 알고리즘의 성능을 평가하는 데 중점을 둡니다. 이 논문의 주요 기여는 기본적으로 FPGA 상에 구현된 하이브리드 방법론의 적용에 있으며, 아키텍처의 PS와 PL 섹션 간에 작업 부하를 효율적으로 분산함으로써 설계가 다양한 해상도에 유연하게 적응할 수 있도록 한 것입니다. 또 다른 기여는 이미지 해상도 변화에 따라 리소스 스케일링이 어떻게 달라지는지 평가하는 실험을 수행한 것이며, 이는 다양한 설정 및 다양한 응용 분야에서의 성능을 이해하는 데 도움이 됩니다.

프로토콜

1. HLS 툴을 이용한 Sobel 엣지 검출 구현

  1. Vivado HLS 2019.2 툴을 열고 프로젝트를 생성합니다. FPGA 보드를 Ultra96-V2로 선택합니다.
  2. 이미지 크기 파라미터를 고정하지 않고 일반화하여 Sobel 에지 검출을 위한 C++ 기반의 고수준 언어 코드를 작성합니다.
    참고: 이미지의 너비와 높이를 고정하지 않고 코드 내에 일반 파라미터로 작성함으로써, 여러 곳을 수정할 필요 없이 이미지 해상도 변경 시 쉽게 수정할 수 있도록 하였습니다.
  3. C++를 사용하여 Sobel 에지 검출 알고리즘을 위한 테스트 벤치 코드를 작성합니다.
    참고: 테스트 벤치는 코드 테스트에 사용할 입력 이미지를 제공하기 위해 작성됩니다.
  4. “run C simulation”을 클릭하여 코드를 시뮬레이션하고 기능적 정확성을 확인합니다. 테스트 벤치에 입력 이미지를 제공한 후, 에지가 추출된 이미지 형태의 출력 결과가 생성되는지 확인합니다.
  5. “run C synthesis”를 클릭하여 HLS 코드를 합성하고 Sobel 에지 검출을 위한 IP를 내보냅니다.
    참고: 합성 과정은 기본적으로 코딩된 설계를 하드웨어 구성 요소로 매핑하여, 해당 설계가 하드웨어 구현에 적합하고 준비된 상태가 되도록 만듭니다.
  6. 툴에서 생성된 타이밍 및 리소스 활용도 보고서를 확인하고, 추정 시간이 목표 시간을 초과하지 않는지 확인합니다.
    참고: HLS 플랫폼의 이러한 모든 결과는 추정치일 뿐이며, 실제 파라미터는 설계가 FPGA에 구현될 때만 계산됩니다.
  7. “export IP”를 클릭하여 Sobel 에지 검출 절차의 IP를 내보냅니다.
    참고: 이 IP는 다음 단계에서 Vivado 툴을 통해 FPGA 구현을 위한 블록 다이어그램을 설계할 때 사용됩니다.

2. 추출된 HLS IP를 이용한 FPGA 플랫폼 Ultra96-V2 상의 Sobel 엣지 검출 구현

  1. Vivado Design Tool을 열고 새 프로젝트를 생성하십시오. 대상 보드를 Ultra96-V2로 선택하고 "새 블록 디자인 생성"을 클릭하십시오.
  2. HLS 도구에서 방금 내보낸 Sobel edge IP를 가져오십시오. PS와 PL 부분 사이의 인터페이싱을 완료하는 데 필요한 다른 블록들을 추가하십시오.
    참고: 블록 다이어그램은 Advanced eXtensible Interface (AXI) 프로토콜을 사용하여 PS와 PL 간의 인터페이스를 구축하기 위해 Zynq Ultrascale IP, Smart Connect, 프로세서 리셋 등과 같은 다른 중요한 IP 블록들도 사용합니다.
  3. “설계 검증(validate design)”을 클릭하여 블록 설계를 검증하십시오. 도구에서 보고하는 설계 오류가 없는지 확인하십시오. 오류가 있는 경우, 수정 지침을 따르고 다시 검증하십시오.
    참고: 이 단계는 블록 다이어그램에 누락된 연결이 없는지 확인하는 것이며, 블록 설계의 기능적 정확성을 검증하는 것은 아닙니다.
  4. 블록 설계를 위한 일반화된 HDL 코드를 얻으려면 “HDL 래퍼 생성”을 클릭하십시오.
  5. “합성 실행(run synthesis)”을 클릭하여 설계를 합성하고 보고된 오류가 있는지 확인하십시오. 오류가 발견되지 않으면 도구에서 합성 성공을 보고합니다. 합성이 성공적으로 완료되면 타이밍 합성 보고서에 접속하여 타이밍 위반 사항이 있는지 확인하십시오.
  6. 타이밍 위반 여부를 확인하려면, 보고된 타이밍 중 빨간색 텍스트로 표시된 항목이 없는지 확인하십시오. 빨간색 텍스트는 사용된 시간이 할당된 목표 시간을 초과했음을 의미하며, 이는 곧 타이밍 위반을 나타냅니다.
  7. “run implementation”을 클릭하여 설계를 구현하고 타이밍, 전력 및 리소스 활용도 보고서를 평가하십시오.
  8. FPGA 보드를 프로그래밍하기 위한 “.bit” 파일을 생성하십시오.
    참고: Ultra96-V2에서의 Sobel 엣지 검출을 위한 블록 다이어그램은 다음에서 확인할 수 있습니다. 그림 3앞서 언급한 바와 같이, 블록 다이어그램은 기본적으로 FPGA 보드의 PS와 PL 부분 사이에 인터페이스를 구축하기 위해 필요합니다.

3. FPGA 보드 프로그래밍

  1. SD 카드를 준비하려면 Ultra96-V2 보드용 PYNQ 이미지 파일(.img)16을 다운로드하고, 다운로드한 파일을 SD 카드에 설치하십시오.
  2. Ultra96-V2 참조 매뉴얼16에 따라 스위치 위치를 선택하여 SD 카드 부트 모드에서 보드의 전원을 켜십시오.
  3. URL http://192.168.3.1에 접속한 후, 요청 시 사용자 이름과 비밀번호를 모두 “xilinx”로 입력하십시오.
    참고: 기술적 불일치를 방지하기 위해 Google Chrome 브라우저를 사용하는 것이 권장됩니다.
  4. Jupyter 플랫폼에 접속하여 입력 이미지나 비디오를 읽고, 읽어온 이미지를 처리를 위해 PL 부분으로 전송하는 PS 부분용 Python 코드를 작성하십시오.
  5. PL에서 처리된 이미지를 다시 PS로 쓰고 결과를 표시하는 작업에 대한 코드를 작성하십시오.
    참고: Ultra96-V2에서 결과를 표시하기 위해 PYNQ 플랫폼이 사용되며, 이를 통해 Python 코드와 OpenCV 라이브러리를 사용하여 출력 이미지를 훨씬 쉽게 표시할 수 있습니다.
    그림 4는 본 섹션에서 설명한 Ultra96-V2 접근 방식의 단계와 얻어진 출력 결과를 보여줍니다.

결과

이 섹션에서는 Ultra96-V2에서 Sobel 에지 검출을 설계하여 얻은 결과에 대해 논의합니다. 그림 5 다음은 HLS 시뮬레이션을 통해 얻은 입력 및 출력 이미지입니다. 사용된 이미지는 512 × 512 크기의 표준 이미지입니다. 이 결과는 Sobel 에지 검출을 위해 작성된 HLS 코드가 기능적으로 정확함을 보여줍니다. 결과 이미지에서 에지가 명확하게 보여야 합니다.

표 3은 xczu3eg-sbva484-1-e FPGA 파트를 사용하는 Ultra96-V2에서의 합성 보고서와 생성된 타이밍 및 리소스 사용량 파라미터를 보여줍니다. 이 보고서는 설계가 사용자가 지정한 타이밍 제약 조건을 충족하는지 여부를 나타내는 타이밍 관련 정보로 구성됩니다. 타이밍 요약에 따르면, 추정 시간인 8.544 ns는 목표 시간인 10 ns보다 작으며, 이는 설계가 사용자 제약 조건을 충족하고 있음을 명확히 시사합니다.

HLS 도구는 예상 리소스 활용도를 생성하여 설계자에게 온보드 리소스의 가능한 사용량에 대한 추정치를 제공합니다. 실제 활용 파라미터는 실제 하드웨어 구현 후에만 생성될 수 있습니다. FPGA에는 방대하고 다양한 범주의 리소스가 있지만, 가장 많이 사용되는 하드웨어는 LUT(Look up Tables), FF(Flip Flops), DSP Slice(Digital Signal Processing Slices) 및 메모리입니다.

표 3은 고해상도 이미지를 위해 Ultra96-V2에서 Sobel 엣지 검출을 개발했을 때의 실제 타이밍과 리소스 활용도를 보여줍니다. 타이밍 분석 결과, 최악의 음수 슬랙(worst negative slack)이 3.102 ns로 나타났으며, 이는 프로세싱을 위한 시간이 충분함을 의미하므로 144 MHz의 클럭 속도가 달성되었습니다. 1920 × 1080 해상도에서 달성된 144 MHz의 동작 주파수는 약 299 MP/s의 처리량에 해당하며, 이는 30 fps의 실시간 Full HD 비디오 프로세싱에 필요한 62 MP/s를 상회합니다. 저해상도에서 고해상도 이미지로 이동함에 따른 리소스 확장성과 파라미터에 미치는 영향을 이해하기 위해, 서로 다른 해상도에 대해 동일한 단계를 반복하여 수행한 실험 결과를 표로 보고하였습니다.

표 4에서는 이미지 크기와 그에 따른 총 픽셀 수, 그리고 동작 주파수, 전력, LUTs, FFs, BRAM 및 DSP 측면의 리소스 활용도를 언급합니다. 고려된 가장 작은 해상도인 256 × 256에서 가장 높은 해상도인 2560 × 1440으로 전환될 때, 픽셀 수는 거의 56배 증가함에도 불구하고 파라미터는 20%만 변경됨을 명확히 알 수 있습니다. 이는 처리해야 할 데이터는 수배로 증가하지만 성능 지표의 저하는 매우 미미한 서브리니어(sub-linear) 리소스 스케일링을 명확히 나타내며, 이는 실시간 배포에 적합함을 보여줍니다.

표 4에 제시된 결과는 Ultra96-V2에 Sobel 엣지 검출을 적용하는 것이 가변 해상도가 필요한 작업에 상당한 이점을 제공함을 명확히 보여주며, 이미지 크기를 저해상도에서 고해상도로 업데이트하더라도 성능 지표가 최적화된 상태를 유지하고 큰 변화를 보이지 않습니다. 이러한 성과는 이미지 데이터로 인해 FPGA 로직에 과부하가 걸리는 것을 방지하여 보드의 프로세서가 상당한 이미지 작업 부하를 관리할 수 있도록 하는 하이브리드 구현 방식 덕분입니다. 프로세서는 단순히 이미지 데이터를 FPGA 로직 구성 요소로 전달하며, 리소스 스케일링의 증가나 최대 주파수의 감소는 오직 더 많은 처리가 필요한 대용량 데이터의 결과로만 나타납니다. 따라서 본 논문에서 따른 접근 방식은 이미지 픽셀이 거의 56배 증가함에도 불구하고 하위 선형(sublinear) 리소스 스케일링을 달성한다고 할 수 있습니다.

구현된 작업은 이미지 해상도, 클록 주파수, 전력 소비 및 리소스 활용도와 같은 성능 지표 간의 비교를 이해하기 위해 기존 설계와도 비교되었습니다. 표 5는 최신 문헌과의 비교 결과를 보여줍니다.

표 5에서 명확히 알 수 있듯이, 본 논문에서 구현한 작업은 적절한 성능 지표를 나타내지만, 이전에 보고된 기존 솔루션들9,10의 파라미터가 더 우수합니다. 그러나 전체적인 비교를 수행하면, 이전 연구들9,10은 낮은 이미지 해상도와 레거시 FPGA 플랫폼에서 작업한 반면, 본 논문에 묘사된 결과는 가변 이미지 해상도에 따른 것으로, 고려된 이미지 크기는 최저 해상도인 256 × 256부터 최대 2560 × 1440의 고해상도까지 범위가 확장됨을 알 수 있습니다. 결과적으로 이기종 FPGA 보드인 Ultra96-V2의 프로세서와 로직 파트 기능을 모두 활용하여 구현한 Sobel 에지 검출 방식은, 픽셀 수가 거의 56배 증가함에도 불구하고 리소스 사용량은 20%만 증가하고 전력 및 속도 저하 또한 20% 미만으로 유지되어, 서브리니어(sub-linear) 리소스 스케일링을 달성하는 데 유용함이 입증되었습니다. 최저 해상도의 경우 리소스의 5%만 사용되며, 최대 사용률은 23%에 불과하여 추가 처리를 위한 충분한 가용 공간이 남습니다. 따라서 이미지 해상도의 차이로 인해 직접적인 비교는 어려우나, 본 연구에서 구현한 설계를 분석하면 클록 주파수는 136 MHz, 전력 소비는 2 W이며, 리소스 사용량은 전체 온보드 리소스의 23% 미만이라고 명확히 말할 수 있습니다. 이전 연구들9,10에서 보고된 구현 사례들이 더 우수한 개별 성능 지표를 보여준다는 점은 중요합니다. 하지만 두 연구 모두 단일 고정 이미지 해상도에서 설계를 평가한 반면, 제안된 연구는 256 × 256에서 2560 × 1440까지 넓은 범위의 해상도에 대해 평가했다는 점에 주목해야 합니다. 따라서 연구9,10은 단일 해상도에서의 피크 성능 최적화를 목표로 한 반면, 제안된 아키텍처는 여러 해상도에 걸친 적응성과 서브리니어 리소스 스케일링을 우선시하므로 설계 목표가 근본적으로 다릅니다. 이는 구현된 설계가 에지 검출을 필요로 하는 애플리케이션에 적합하게 만듭니다.

따라서 본 연구에서 하위 선형 리소스 스케일링(sub-linear resource scaling)은 리소스 사용량의 증가 백분율이 픽셀 수의 증가 백분율보다 현저히 낮은 상태로 정의할 수 있다. 해상도가 256 × 256에서 2560 × 1440으로 증가할 때 픽셀 수는 약 5600% 증가하는 반면, 온보드 리소스 사용량은 20% 미만으로 증가한다. PS-PL 이기종 분할 전략의 직접적인 결과인 이러한 불균형하게 낮은 리소스 성장률은 제안된 아키텍처의 하위 선형 스케일링 동작을 입증한다. 제안된 구현 방식은 테스트된 해상도 범위 전반에서 하위 선형 리소스 스케일링을 보여주지만, 결과의 정확한 해석을 위해 몇 가지 제한 사항을 유의해야 한다. 동작 주파수는 저해상도에서 고해상도로 갈수록 18% 감소하며, 2560 × 1440을 초과하는 외삽의 경우 타이밍 클로저(timing closure)를 유지하기 위해 아키텍처 조정이 필요할 수 있다. 또한, 이미지 데이터 전송은 ARM 프로세서에 의해 관리되므로 PS 측의 전송 오버헤드는 픽셀 수에 따라 선형적으로 증가하며, 이는 PL 측의 지표만으로 예측되는 것보다 연속적인 고해상도 비디오 스트리밍 애플리케이션에서의 처리량을 제한할 수 있다.

에지 검출 응용 분야 도식: 로봇 공학, 이미징, 증강 현실, 자동화, 감시.
그림 1: 에지 검출의 다양한 응용 분야. 컴퓨터 비전, 의료 이미징, 감시, 로봇 공학 및 산업 자동화를 포함하여 에지 검출이 일반적으로 사용되는 대표적인 응용 분야의 도식. 여기를 클릭하여 이 그림의 더 큰 버전을 확인하십시오.

이미지 처리: 입력 이미지에 대한 컨볼루션 커널이 표시된 Sobel 연산자 엣지 검출 다이어그램.
그림 2: Sobel 엣지 검출 알고리즘의 단계별 설명. 3 × 3 이미지 윈도우 추출, 수평 및 수직 Sobel 커널과의 컨볼루션, 그리고 엣지가 검출된 출력 이미지 생성을 포함하는 Sobel 엣지 검출 프로세스를 보여주는 워크플로. 이 그림의 더 큰 버전을 보시려면 여기를 클릭하십시오.

Zynq UltraScale+ 블록 다이어그램, 데이터 흐름과 AXI 인터커넥트 구성 요소를 보여주는 시스템 아키텍처.
그림 3: PS(processing system)와 PL(programmable logic) 부분 간의 인터페이스를 사용하여 Ultra96-V2 FPGA 보드에서 구현한 Sobel 엣지 검출 블록 다이어그램.FPGA 구현에 사용된 프로세싱 시스템(PS), 프로그래머블 로직(PL) 및 지원 IP 코어의 하드웨어 아키텍처와 상호 연결을 보여주는 블록 다이어그램. 여기를 클릭하여 이 그림의 확대 버전을 확인하십시오.

PYNQ 이미지 굽기 과정 및 Vivado 설계 흐름; SD 카드 설정, 검증, 비트 파일 생성.
그림 4: PYNQ 플랫폼을 사용하여 Sobel 엣지 검출을 위해 Ultra96-V2 보드를 프로그래밍하는 단계와 입력 이미지에 대한 Sobel 엣지 검출 결과. PYNQ 플랫폼을 이용한 Ultra96-V2 보드의 프로그래밍 절차와 FPGA 구현 후 얻은 대표 출력 이미지를 보여주는 워크플로우. 이 그림의 더 큰 버전을 보시려면 여기를 클릭하십시오.

이미지 처리에서의 색상 및 엣지 검출; 원본 이미지와 엣지가 강조된 이미지의 비교 그리드.
그림 5: Vivado HLS (2019.2)를 사용하여 다양한 표준 이미지에 대해 수행한 Sobel 엣지 검출 시뮬레이션 결과. Vivado HLS 2019.2를 이용한 Sobel 엣지 검출 알고리즘의 기능 시뮬레이션 중에 얻은 대표 입력 이미지와 그에 해당하는 엣지 검출 출력 이미지. 이 그림의 더 큰 버전을 보시려면 여기를 클릭하십시오.

표 1: 컴퓨터 비전 연구 내 FPGA 응용 분야의 발전 (2006–2024). 2006년부터 2024년 사이에 보고된 대표적인 FPGA 기반 컴퓨터 비전 응용 분야의 요약. 이 표를 다운로드하려면 여기를 클릭하십시오.

표 2: FPGA 상의 엣지 검출 알고리즘 구현 관련 문헌 (2020-2025). 플랫폼, 방법론 및 보고된 성능 지표를 포함한 최근 FPGA 기반 엣지 검출 구현 사례의 비교. 여기를 클릭하여 이 표를 다운로드하십시오.

표 3: FPGA 상의 Sobel 엣지 검출 구현: 추정 파라미터 및 실제 파라미터.FPGA 구현을 위해 얻은 HLS 합성 추정 결과와 그에 상응하는 구현 후 타이밍 및 리소스 활용도. 이 표를 다운로드하려면 여기를 클릭하십시오.

표 4: 다양한 이미지 해상도에서 구현된 Sobel 에지 검출 알고리즘의 자원 활용도 및 성능 지표. 다양한 이미지 해상도에 따른 제안된 구현 방식의 성능 지표, 동작 주파수, 전력 소비 및 FPGA 자원 활용도. 이 표를 다운로드하려면 여기를 클릭하십시오.

표 5: FPGA 상에서 구현된 Sobel 엣지 검출과 기존 방식의 비교.대표적인 성능 지표를 사용하여 제안된 FPGA 구현 방식과 이전에 보고된 Sobel 엣지 검출 구현 방식을 비교함. 이 표를 다운로드하려면 여기를 클릭하십시오.

토론

본 논문은 컴퓨터 비전 및 이미지 처리의 여러 분야에서 다양한 응용 프로그램의 필수 구성 요소인 Sobel 엣지 검출 알고리즘의 실행에 초점을 맞춥니다2,3,4,5,6. Sobel 엣지 검출 구현은 Vivado HLS 도구를 사용하여 수행되었으며, 이를 통해 하드웨어 기술 언어에 의존하지 않고 고수준 언어로 코딩이 가능했습니다. Vivado HLS 코드는 Ultra96-V2 보드에서 실행되었습니다. 구현 후 결과에 따르면, 구현된 설계는 고해상도 이미지를 지원하며 136 MHz의 주파수에서 작동하고, 전력 소비는 2 W이며 보드 전체 리소스의 20% 미만을 사용합니다. 또한, 결과적으로 다양한 응용 프로그램에서 서로 다른 이미지 크기의 사용을 요구할 수 있고, 엣지 검출은 일반적으로 복잡한 설계 파이프라인에서 매우 빈번하게 수행되는 중간 단계2,3,4,5,6이므로, 본 접근 방식이 이미지의 적응형 해상도에 적합하다는 것을 보여주었습니다. 따라서 설계된 시스템은 엣지 검출이 필요한 실시간 응용 프로그램에 배치될 수 있다고 볼 수 있습니다. 풍부한 리소스 가용성은 개발된 시스템에 다양한 다른 처리 단계들을 통합할 수 있음을 시사합니다6,7,8,9,10,11,12,13,14,15.

Ultra96-V2 보드에서 Sobel 엣지 검출기를 성공적으로 구현하려면 여러 가지 실무적인 측면에 세심한 주의를 기울여야 합니다. PYNQ 프레임워크는 Python 라이브러리를 통해 하드웨어를 제어할 수 있게 함으로써 PS-PL 상호작용을 상당히 단순화하며, 이를 통해 소프트웨어 개발 노력을 줄여줍니다. 다만, 공식 소스에서 올바른 PYNQ 이미지를 다운로드해야 하며, 배포 전 SD 카드를 적절하게 구성해야 합니다. IP 내보내기 전에는 포괄적인 테스트 벤치를 사용하여 HLS 설계의 기능 검증을 수행하는 것이 필수적인데, 이는 초기 검증을 통해 하드웨어 구현 전 알고리즘 및 인터페이스 오류를 식별하는 데 도움이 되기 때문입니다. FPGA 구현 과정에서 블록 다이어그램 설계 역시 설계자의 세심한 주의가 필요하며, 고려 중인 FPGA 하드웨어의 아키텍처를 정확히 이해하여 적절한 블록을 선택하고 연결을 구성하는 것이 권장됩니다. 연결을 완전히 자동화하는 것은 권장되지 않는데, 이는 연결 누락이나 설계 목적에 부적합한 연결로 이어질 수 있기 때문입니다. PS-PL 인터페이스 단계에서는 잘못된 AXI 주소 매핑, 클록 도메인 불일치 또는 부적절하게 구성된 DMA 전송과 같은 오류로 인해 프로세서와 프로그래머블 로직 간의 통신이 실패할 수 있습니다. 이러한 문제는 Vivado의 설계 검증 도구를 사용하여 식별할 수 있으며, 비트스트림 생성 전 주소 할당, 클록 구성, 인터럽트 연결 및 DMA 설정을 확인하여 해결할 수 있습니다. FPGA 구현 중에는 긴 조합 회로 경로(combinational path)나 불충분한 파이프라이닝으로 인해 타이밍 위반이 발생할 수 있습니다. 파이프라인 단계를 늘리거나, 루프 구조를 최적화하거나, 적절한 경우 타이밍 제약 조건을 완화함으로써 타이밍 클로저(timing closure)를 달성하는 데 도움이 될 수 있습니다.

본 연구는 제안된 PS-PL 분할 아키텍처를 Sobel 에지 검출에 특화하여 검증하였으나, 이 아키텍처적 접근 방식은 본질적으로 일반화가 가능합니다. Prewitt, Roberts, Laplacian of Gaussian 또는 Canny의 그래디언트 단계를 포함하여 슬라이딩 윈도우 컨볼루션으로 표현될 수 있는 모든 알고리즘은 주로 HLS 설계의 변경을 통해 유사한 방식으로 구현될 수 있습니다3,4,5,6. 제안된 연구에는 몇 가지 한계점이 있습니다. 한 가지 한계는 FPGA의 PS와 PL 부분 간의 데이터 전송으로 인한 지연이며, 이는 알고리즘의 전체 실행 시간에 영향을 미칩니다. 또한, 서브리니어 스케일링(sub-linear scaling) 결과는 Ultra96-V2 이종 아키텍처16에 특유한 것이며, 전용 프로세서 코어가 없는 동종 FPGA 플랫폼에는 직접적으로 적용되지 않을 수 있습니다.

향후 연구 범위에는 속도를 향상시키고 전력을 더욱 낮출 수 있는 특정 최적화를 통한 설계의 추가 개선이 포함됩니다. 또한, 실제 실시간 시나리오에 구현 방식을 적용하는 것 역시 향후 고려할 수 있는 또 다른 잠재적 측면입니다.

공개 사항

저자들은 이해관계의 충돌이 없음을 밝힙니다. 본 원고의 작성 과정에서 인공지능(AI) 도구는 사용되지 않았습니다.

감사의 글

저자들은 선언할 감사 인사가 없습니다. 본 연구는 외부 지원금을 받지 않았습니다.

재료

이 논문에 사용된 재료 목록
이름회사카탈로그 번호댓글
Ultra96-V2 FPGA 보드 Xilinx 2018년 도입보행자 검출 알고리즘 구현에 사용된 하드웨어 구현 플랫폼
Vivado HLS AMD2019.2지적 재산(IP) 내보내기를 위해 논문의 보행자 검출 코드를 고수준 프로그래밍하는 데 사용된 고수준 합성 도구
Vivado AMD2019.2Sobel 엣지 검출 알고리즘을 Ultra 96 v2 FPGA 보드에 프로그래밍하는 데 사용된 FPGA 프로그래밍 도구 

참고문헌

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

재인쇄 및 허가

태그

EngineeringComputer VisionField Programmable Gate ArrayImage ProcessingImage ResolutionSobel Edge Detection