티스토리 뷰

NI 제품군으로 머신 비전(Machine Vision) 처리하기 - VDM, VBAI


National Instrument는 머신 비전에 대한 솔루션을 제공하기 위해서 비전에 대한 하드웨어 제품(Basler 카메라, Camera Link등의 프레임 그래버, CVS)과 소프트웨어 솔루션을 제공하고 있습니다. 이번 글에서는 NI 제품을 이용한 머신 비전 처리하는 소프트웨어에 대해서 알아보도록 하겠습니다. 


NI에서 제공하는 머신 비전용 소프트웨어는 크게 Vision Development Module(VDM), Vision Acquisition Software(VAS), Vision Builder Automated Inspection(VBAI)를 제공하고 있습니다. 먼저 이 제품들에 대해서 살펴보도록 하겠습니다.


Vision Acquisition Software


  • 수 천 종류의 카메라에서 이미지 수집, 디스플레이, 저장, 모니터링
  • NI-IMAQ을 사용하여 아날로그, 병렬 디지털, Camera Link, NI 스마트 카메라 (무료)에서 수집
  • NI-IMAQdx를 사용하여 GigE Vision, IEEE 1394, IP (이더넷), DirectShow (USB) 디바이스 (라이센스 필요)에서 수집
  • Real-Time 및 Windows 기반 타겟과 호환
  • NI LabVIEW, .NET, C, C++, Visual Basic과 호환
  • 모든 NI 비전 하드웨어 및 NI 비전 소프트웨어 라이센스 포함
  • Vision Development Module, Vision Builder AI에 포함
  • MAX에서 Camera 설정 방법 제공


NI Vision Builder for Automated Inspection


  • 모든 NI 프레임 그래버, GigE Vision 또는 IEEE 1394 카메라 또는 NI Compact Vision System으로 이미지 수집 및 처리 
  • 프로그래밍없이 완벽한 머신 비전 어플리케이션을 구축, 벤치마크 및 배포 
  • 패턴 매칭, OCR, 입자 분석 등 100개 이상의 강력한 머신 비전 도구 구성 
  • 디지털 I/O, 시리얼 및 이더넷 프로토콜을 통해 산업용 디바이스로 트리거링 및 검사 결과를 직접 통신 


NI VDM


  • 패턴 및 기하 매칭, OCR, 바코드 리더, 객체 분류, 입자 분석 등과 같은 수백가지의 이미지 프로세싱 함수
  • 0.1픽셀 및 0.1도의 서브픽셀 정확도 
  • Vision Assistant로 신속한 어플리케이션 프로토타입 및 코드 생성
  • GigE Vision 및 IEEE 1394 카메라 등 수천가지의 카메라를 위한 드라이버 소프트웨어

Vision Acquisition Software는 VBAI, VDM에서 공통적으로 사용되는 하드웨어를 위한 드라이버 및 라이브러리라고 보시면 됩니다. 따라서 두개의 소프트웨어 제품 모두 구매시 VAS는 포함이 됩니다.


그럼 VBAI와 VDM에 대해서 살펴봐야 할텐데요. VBAI와 VDM의 가장 큰 차이점은 개발 언어를 사용해서 비전 솔루션을 만드느냐, 그렇지 않느냐에 대한 차이입니다. VBAI는 비전 솔루션을 개발할 수 있는 자체 개발 툴입니다. 따라서 LabVIEW, C, C#과 같은 언어가 필요가 없습니다. 




위의 그림처럼, 개발언어를 사용해서 비전 솔루션을 이용하면 VDM을, 그렇지 않다면 VBAI를 선정하여 비전에 대한 프로덕트 개발을 진행하실 수 있습니다. VDM을 통해서 사용자는 LabVIEW, Visual C, Visual Basic, .NET Framework(C#, VB.NET) 기반에서 개발을 진행할 수 있습니다. 


이 세가지 제품에 대한 제품 비교는 아래와 같습니다. 



마지막으로 VDM, VBAI를 통해서 어떻게 카메라를 통한 이미지 수집을 진행이 되는지 간략히 살펴보도록 하겠습니다. 

카메라를 통해서 들어오는 사진 데이터는 0~255를 표현하는 바이트코드의 이차 배열입니다. 카메라에 수집된 데이터를 VAS가 수집하여 카메라로 부터 수집된 정보를 이차 배열로 변경하여 컴퓨터에 전달을 하게 됩니다. 


고속의 디지털 카메라를 처리하기 위해서는 Camera Link 제품군을 통해서 이미지를 수집하게되는데, Camera Link 제품군은 반드시 Frame Grabber가 필요합니다. GigE나 IEEE 1394, USB 장비는 따로 Frame Grabber가 필요없는 경우도 있습니다. 다만 PC에 포트가 존재하지 않거나 부족하다면 포트를 추가할 수 있는 NI 보드 장비를 구매하여 연결하실 수는 있습니다. 


PC에 전달된 이미지 데이터에 추가적인 처리를 할때는 VDM이나 VBAI를 통해서 구현할 수 있습니다. 즉 이미지 수집은 VAS를 이미지 처리 부분은 VDM 혹은 VBAI를 통해서 진행하는 것입니다. 


프레임 그래버란?

프레임 그래버는 아날로그 혹은 디지털 비디오 장비로 부터 받은 비디오 스트림 데이터를 디지털화 해주는 디바이스입니다. 이는 일반적으로 컴퓨터 비전 시스템에 포함이 되어있습니다. 기존의 프레임 그래버는 PC와 카메라를 연결해주는 인터페이스로 많이 사용이 되었습니다. 이러한 점을 해결하기 위해서 USB, IEEE 1394, GigE가 나오게 되었고, 이로 인해 개념이 조금은 변경이 된 상태입니다. 


초기의 프레임 그래버는 비디오 프레임을 변환하고 저장하기 위한 충분한 메모리를 가지고 있었으나, 최근의 프레임 그래버는 멀티 프레임을 저장하고, JPEG, MPEG-2와 같은 압축 알고리즘을 사용하여 저장할 수도 있습니다.


압축 기능까지 포함한 그래버를 Active Frame Grabber라 하고, 간단히 raw video를 캡쳐하는 장비를 Passive Frame Grabber라 합니다. 


그럼 지금 까지 머신 비전을 처리하기 위한 NI 소프트웨어 제품들에 대해서 살펴보았습니다.


이글이 도움이 되셨나요?

그렇다면 아래의 그림을 클릭해주세요.



댓글