실시간 검사 효율 극대화
FPGA 기반 Blob 분석 소개
효율적인 피처 추출: 중요한 요소에 집중
피처 추출은 원시 이미지 데이터를 객체 감지 및 세분화와 같은 작업에 필요한 주요 수치적 피처로 변환하는 과정입니다. 피처 추출 기능은 주요 이미지 피처에 집중하고 데이터의 차원을 줄임으로써 실시간 처리를 가속화할 수 있습니다. 데모에서는 FPGA와 CPU 아키텍처에서 각각 진행되는 일반적인 피처 추출 프로세스(디베이어링(Debayering), 색 공간 변환, HSI 임계 처리, 형체 기반 필터링 및 Blob 분석)를 비교합니다. 이를 통해 FPGA 파이프라인이 실시간 성능을 어떻게 획기적으로 향상시키는지 확인할 수 있습니다.
오른쪽 이미지는 이러한 단계들을 통해 이미지를 컴퓨터가 해석할 수 있는 형식으로 변환하는 과정을 보여줍니다. 마지막 단계에서 LEGO 큐브는 64비트 형식의 Blob으로 인식되며, 왼쪽 숫자는 바운딩 박스를, 오른쪽 숫자는 Blob의 면적을 나타냅니다.
FPGA 파이프라인: CPU의 과부하 없이 높은 FPS 유지
5MP CXP-12 카메라로 122fps에서 진행한 당사의 데모에서는 프레임 그래버에서 VisualApplets를 사용하여 PC CPU와 FPGA에서의 피처 추출 프로세스가 진행되는 과정을 비교했습니다. 결과는 다음과 같습니다.
CPU: 9fps로 속도 감소, CPU 사용률: 100%
FPGA: 122fps로 속도 유지, CPU 부하 9%에 불과
이러한 결과를 통해 어떤 결론을 내릴 수 있을까요? 복잡하고 시간이 중요한 비전 작업에서 FPGA 파이프라이닝은 CPU 부담을 최소화하면서 최적의 성능과 빠른 속도를 보장합니다. 다음으로 FPGA에서 직접 Blob 분석을 실행하는 것이 왜 큰 차이를 만드는지 살펴보겠습니다.
Blob 분석의 역할 이해
Blob 분석은 바이너리 이미지에서 연결된 영역(Blob)을 식별하고 분석하여 객체 크기, 모양, 위치, 면적, 연결성과 같은 주요 이미지 데이터를 추출합니다.
많은 사람들이 프레임 그래버의 FPGA 기능이 이미지 전처리에만 제한된다고 생각하지만, 실제로는 그 이상의 다양한 기능을 제공합니다. 일반적으로 이미지 처리의 마지막 단계에서 수행되는 Blob 분석은 대부분 CPU가 처리하지만, 이 과정에서 많은 자원을 소모합니다. Blob 분석을 FPGA에서 실행하면 CPU 부하를 크게 줄이고 시스템 성능을 크게 향상시킬 수 있습니다.
FPGA에서 Blob 분석을 실행하면 성능이 크게 향상되는 이유는 무엇인가요?
또 다른 데모에서는 25MP CXP-12 카메라를 72fps로 설정해 CPU와 FPGA에서 Blob 분석을 비교했습니다. 51 x 51 도트(2601 Blob)가 있는 도트 그리드(Dot Grid) 테스트 차트를 검사gkau, 카메라의 프레임 속도를 최대(72fps)로 유지한 상태에서 나타나는 결과는 오른쪽 표에서 명확하게 확인할 수 있습니다.
Blob 분석은 연산 부하가 크기 때문에 이 작업을 CPU에서 처리하면 실시간 작업을 크게 지연시켜 조립 라인의 결함 감지와 같은 중요한 어플리케이션에서 문제를 일으킬 수 있습니다. Blob 분석을 FPGA에서 직접 구현하면 CPU 부하를 크게 줄여 시스템이 최소한의 지연으로 최대 속도로 작동할 수 있습니다.
어플리케이션 관련 시사점: 실시간 성능의 혁신
고속 웹 검사 시스템과 같은 하드 실시간 어플리케이션의 경우, FPGA에서 이미지 전처리 및 분석을 실행하면 결함이 있는 이미지만 처리하여 PC의 데이터 부하를 크게 낮출 수 있습니다. Basler의 간편한 FPGA 프로그래밍 소프트웨어 VisualApplets로 구동되는 이 간단한 접근 방식을 적용하면 최소한의 지연 시간으로 이미지를 빠르고 효율적으로 처리할 수 있습니다. FPGA 기반 솔루션은 싱글 패스 알고리즘을 이용하여 이미지를 한 번에 처리하고 컴퓨팅 부하를 최소화하여 실시간 어플리케이션을 최적화합니다.
어플리케이션 성능 강화FPGA 기반 Blob 분석의 주요 이점
효율적인 데이터 처리: 파이프라인 초기 단계에 사전 처리 작업을 수행하여 데이터 부하를 줄입니다.
추가 지연 시간 없음: 속도 저하 없이 실시간 성능을 구현합니다.
향상된 시스템 성능: 카메라 및 시스템 기능을 극대화합니다.
다용도 어플리케이션: 빠르게 움직이는 복잡한 환경에 매우 적합합니다.
해당 솔루션용 제품들
비슷한 솔루션을 구현하고 싶으신가요? 다음 제품이 도움이 될 것입니다.