티스토리 뷰

NI Vision Development Module 2014는 많은 새로운 기능과 성능 향상에 대한 부분을 포함하고 있습니다. 이 자료는 새로운 알고리즘과 향상점에 대해서 소개하고, 비전 어플리케이션을 개발할 때 어떠한 영향을 미치는지를 이야기 할 것입니다. 


1. FPGA Image Processing IP


많은 이미지 프로세싱 알고리즘들은 병렬 FPGA의 이점을 가지며, 비전 어플리케이션의 프로세스 집약적 부분에 대한 짐을 덜어낼 수 있습니다. 따라서 프로세스는 다른 태스크에 대한 처리를 할 수가 있게 됩니다. Vision Development Module 2014(이하 VDM)는 효과적으로 Host와 FPGA 사이에 이미지를 전송할 뿐 아니라, 50개 이상의 FPGA 이미지 프로세싱 함수를 제공하고 있습니다. 이러한 점은 FPGA가 처리된 이미지를 Host로 전송하거나, FPGA에 잇는 다른 프로세싱 과정이나 IO과 밀접히 연관된 이미지 프로세싱을 처리하는 Core Processor로 사용을 할 수 있습니다. 




Figure 1: FPGA로 이미지를 전달하여 프로세싱 가속화 처리

 

NI LabVIEW FPGA 모듈은 LabVIEW 환경의 확장된 기능입니다. 사용자는 복잡한 FPGA 프로그래밍을 VHDL과 같은 저수준의 언어를 이용하지 않고 가능하게 해줍니다. LabVIEW와 친숙한 유저라면 FPGA 개발에 큰 어려움이 없으며, 하드웨어 개발에 대한 지연없이 어플리케이션의 개발 시간 단축을 할 수 있는 좋은 방안입니다. 이 모듈을 이용하여 개발을 하면 LabVIEW FPGA는 컴파일 이후 이 코드를 FPGA 칩에 심게됩니다. 

 



Figure 2: LabVIEW FPGA 이미저 처리 함수

 

사용자는 VDM에 포함된 NI Vision Assistant를 이용하여 FPGA 비전 어플리케이션을 빠르게 개발할 수 있습니다. 이 어시스턴트 툴은 이미지에 적용할 알고리즘을 순차적으로 적용하여 어떻게 이미지가 처리되는지를 사용자에게 보여줍니다. 알고리즘 개발이 완료되면, Vision Assistant는 자동적으로 완벽한 프로젝트를 생성합니다. 이 프로젝트는 Host VI는 물론 FPGA VI와 이에 연동하는 FPGA Bayer Decoding과 FIFO를 모두 포함하게 됩니다. Vision Assistant로 생성된 코드는 병렬 처리에 최적화 되어 있으며, 사용자는 이 코드를 LabVIEW FPGA IP Builder를 이용하여 수정할 수도 있습니다. 

 



Figure 3: Vision Assistant는 프로토타이핑 및 개발 시간을 줄여줍니다. 

 

 

Figure 4: Vision Assistant는 완벽한 LabVIEW 프로젝트를 생성할 수 있습니다. 

 

게다가 Vision Assistant는 CompactRIO와 같이 특정 타겟에 대한 FPGA 리소스 사용율을 평가합니다. 이 정보는 FPGA의 슬라이스, LUT, DSP 및 블록 램에 대한 사용율을 포함하고 있습니다. 결과는 아래와 같습니다. 

 



Figure 5: Vision Assistant 는 FPGA 리소스 사용율을 나타냅니다.

 

2. 1D 바코드 처리


NI Vision Development Module 2014는 또한 한 이미지에 있는 여러개의 1D 바코드에 대한 위치 인식 및 디코딩 방법을 새로이 제공하고 있습니다. 이 알고리즘은 다양한 조명 조건 및 복잡한 배경화면에 대해서도 강력한 결과를 보여줍니다.  

  



Figure 6: Vision Development Module의 다수의 바코드 처리 결과

 

지금까지 VDM 2014에 새로운 점을 살펴보았습니다. 


이 글이 도움이 되셨나요? 그렇다면 아래의 하트를 눌러주세요.


댓글