배너
닫기

산업동향

배너

[2015 머신비전세미나] VisualApplets툴, FPGA로 편리성 극대화

  • 등록 2014.12.30 14:05:47
URL복사

고속영상처리 애플리케이션을 위한 FPGA 프로그래밍


최근 머신비전 시장은 실시간 고속 애플리케이션을 위한 수요가 계속 증가 하고 있고
고속 처리를 위해 일반적인 CPU 방식, 병렬 처리 GPU 방식,
실시간 FPGA pre-processing 방식 등이 많이 사용되고 있다. PC 기반 내에서의 처리는
이미 한계에 도달해 이에 따른 솔루션 준비가 필요한 시점이다. ‘VisualApplets’은
이런 요구에 대응할 수 있는 하나의 솔루션으로 활용이 가능한 제품이다.
머신비전 세미나(Machine Vision Seminar)에서  다트비전 기술연구소 김상래 부장이 발표한 ‘VisualApplets’ 제품을 살펴본다.


▲ 김상래 부장


FPGA(Field Programmable Gate Array)는 비메모리 반도체의 일종이며, 회로변경이 가능해 사용자가 직접 프로그램을 썼다, 지웠다를 반복 할 수 있다. 현재 머신비전에서 다양하게 활용 중이고 카메라에도 기본 탑재돼 있다. 실시간 고속 애플리케이션을 위해서는 FPGA가 필수다. 이미지 프로세싱에서 FPGA를 사용하는 목적은 CPU의 Charging(충전)없이 연속적인 연산을 수행 할 수 있으며 또한, 실시간 처리 구현이 가능하기 때문이다.


▲ SmartApplets Example(Adaptive binarization)  


실시간 고속 애플리케이션을 위해서는 FPGA가 필수


VisualApplets은 기존 VHDL(디지털 회로 및 혼합 신호를 표현하는 하드웨어 기술 언어)  또는 베릴로그(전자 회로 및 시스템에 사용되는 하드웨어 기술 언어)언어를 기반으로 하는 프로그래밍 방식이 아닌, 차세대 FPGA 프로그래밍 소프트웨어라 할 수 있는 고급 이미지 프로세싱 라이브러리와 하이레벨 디자인 엔트리, 실제 이미지 영상을 이용한 시뮬레이션 툴(tool)을 제공해 사용자가 FPGA 프로그래밍을 빠르고 효율적으로 접근하면서, 바로 결과를 확인할 수 있다.
이와 함께, 전기회로(Circuitry)나 타이밍(timing), FPGA 프로그래밍에 대한 기본 지식이 없어도 FPGA 프로그래밍 접근이 가능해 애플리케이션 엔지니어, 소프트웨어 엔지니어, 머신 비전 전문가라면 누구나 손쉽게 툴(tool)을 사용할 수 있다.


▲ VisualApplets DEMO


‘VisualApplets’ 툴 특징


VisualApplets 툴(tool)의 주요 특징은 사용자 편의 기반의 GUI(Grap-hical user interface)환경에서 200여 가지의 오페레이터(operator)를 조합해 FPGA 프로그램을 설계하고, 설계한 디자인은 실제 이미지 파일을 통한 시뮬레이션으로 보다 빠르게 결과를 예측할 수 있다.
embedded VisualApplets은 자일링스 칩(Xilinx chip)을 사용한 모든 제품에 적용이 가능한다. 특히 스마트 카메라 제작에 큰 이점이 있어 유용하게 접근할 수 있고 사용자가 직접 유지보수할 수 있다.
VisualApplets을 통해 만들어진 파일인 SmartApplets은 Visual Applets과 자일링스(Xilinx)ISE 소프트웨어가 필요 없고 사용자는 파라미터(매개변수)조절만으로도 FPGA 도움을 받아 실시간 고속 처리를 할 수 있다. 대표적인 SmartApplets은 Adaptive binarization, Blob, 3D Laser Triangulation 등이 있다. 일반적인 Threshold(임계)값 변경으로는 좋은 영상을 표현하기 어렵지만, Adaptive binarization을 적용하면 좀 더 좋은 영상을 표현할 수 있다. 머신비전에서 많이 사용되는 기능 중 하나인 blob의 경우도 FPGA에서 처리가 가능해 검출된 object(대상물)의 특징을 토대로 패턴 매칭에 응용이 가능하다. 3D 애플리케이션(appl-ication)에 여러 가지 방식이 있지만 그중 레이저 프로필(Laser pro-file)을 이용한 방식도 많이 이용되고 있다. 레이저(laser)영상의 peak(정점)좌표를 토대로 3D 애플리케이션(application)에 적용할 수 있다.


VisualApplets DEMO
 
GigE Bayer color 카메라로부터 Raw Data(원 데이터)영상을 받아 3x3 de-bayering 변환후, 이 영상에서 다시 HSI컬러 영상을 축출한다. 축출된 HSI 영상을 통해 찾고자 하는 컬러(color)값을 비교해 특정 색상만을 축출한다. 이를 실무에 응용하면, 여러 개의 동일 색상 제품 중 다른 색상의 제품을 찾아 검출 하는 애플리케이션(application)에 적용이 가능하다. 이런 일련의 과정을 CPU에서 할 경우, CPU 부담은 증가될 수 밖에 없고, CPU 자원을 다른 곳에 활용하는데 제한적일 수 밖에 없다.
FPGA에서 이런 과정을 수행 한다면, 남는 CPU 자원을 보다 많은 곳에 활용할 수 있다. 


정리 최천욱 기자 (atided@hellot.net)









배너










주요파트너/추천기업