배너
닫기

산업동향

배너

[병렬영상처리 기반 고속 머신비전 기술] 프로그래밍 및 영상처리 기술 겸비한 엔지니어 육성 시급

  • 등록 2014.12.31 09:18:35
URL복사

2000년대 중반까지도 머신비전 시스템의 영상처리부는 DSP 보드와 같은 전용보드가 주를 이뤘으나, GPGPU 보드와 멀티 코어 CPU의 발달, CUDA 프로그래밍 기술의 도입으로 DSP 기반의 영상처리 전용보드가 병렬처리 가능한 GPU와 CPU 기반의 일반 컴퓨터 시스템으로 대체되고 있는 추세다. 이와 관련, 인하대학교 김학일 교수가 발표한 내용을 정리했다.


최근의 머신비전 기술은 고정밀성, 다양성, 지능화로 특성화되고 있다. 고정밀성은 영상 센서 기술의 발달에 따라, 영상 화소의 공간해상도가 수 마이크로미터(μm)에서 서브 마이크로미터로 더욱 정밀해지고 있음을 의미한다. 그 결과, 동일한 물체에 대한 영상 데이터의 크기가 해상도 증가율의 제곱으로 증가하게 됐다.

다양성은 기존의 그레이 영상 이외에 컬러 영상, 적외선, X-선, 3차원 영상 등 다양한 광센서의 도입을 의미한다. 이 역시 적용되는 센서의 개수에 비례해 영상 데이터의 증가를 초래한다. 

지능화는 다양한 환경 변화에 적응적인 영상처리 알고리즘들의 발전을 말한다. 일반적으로 더욱 많은 계산량을 포함한다. 

즉, 영상 센서의 고정밀성, 다양성 등과 함께, 영상처리 알고리즘의 지능화는 방대한 크기의 영상 데이터에 더욱 많은 연산을 수행해야 하는 고속화를 요구하고 있다.

고정밀성, 다양성, 지능화를 요구하는 머신비전 기술의 애플리케이션 요구 사항과 멀티 코어 CPU, GPGPU 및 컴퓨터 비전 알고리즘 발전에 따른 기술 방향이 맞물려 병렬영상처리 기반의 고속 머신비전 기술이 도래하게 됐다.

 

OpenCL 프로그래밍 적극 도입


일반적인 병렬처리는 다수의 독립된 컴퓨터 시스템들이 네트워크로 연결돼 동일한 목적의 연산을 나누어 처리하는 분산 시스템 방식도 있지만, 머신비전 분야의 상용화된 병렬영상처리 시스템은 단일 시스템 내에서 다수의 Thread

(하나의 CPU에서 여러 프로세서를 처리)를 동시에 수행할 수 있도록 여러 종류의 프로세서들로 구성된다.

가령, DSP와 멀티 코어 CPU가 연동되거나, GPGPU와 멀티 코어 CPU가 연동돼 동일한 영상처리 연산을 병렬로 처리한다. GPGPU와 멀티 코어 CPU를 기반으로 하며 일반 데스크톱 컴퓨터 시스템을 활용해 상대적으로 가격이 저렴하고 구현이 빠른 머신비전 기술들은 크게 CPU 기반의 SSE(Streaming SIMD Extension)와 OpenMP, GPGPU 기반의 CUDA 및 이종 플랫폼에서 실행 가능한 OpenCL(Open Computing Language) 등 네 가지가 있다. 

인텔과 AMD의 CPU 프로세서가 제공하는 SSE(Streaming SIMD Extension) 기술은 128비트의 레지스터에 저장된 16개의 8비트 데이터를 한 번의 연산으로 동시에 처리하는 대표적인 병렬처리 기술이다.

GPU와 멀티 코어 CPU, MMX 레지스터를 모두 활용하기 위한 OpenCL 프로그래밍은 최근 들어 머신비전 분야에 적극 도입되고 있는 상황이다. 이 기술은 사용 가능한 모든 프로세서들과 메모리를 활용할 수 있는 반면, 프로그램 최적화를 위해 많은 시간과 노력이 필요하다. 


10배 이상 빠른 처리 속도


3차원 머신비전에서 많이 사용하고 있는 Atan2(그림 1)를 계산하는 알고리즘에 SSE와 CUDA를 적용하면, 일반 C++ 프로그램을 가동시켰을 때보다 각각 처리속도가 18~26배, 13배 향상된다.


▲ 그림 1. Atan2 함수의 처리속도 비교


CPU/GPU 등 프로세서의 발달로 일반 컴퓨터 시스템은 점차 고성능화되고, 영상처리 알고리즘 및 영상 센서 기술들의 발달로 다양한 목적의 머신비전 기술은 더욱 지능적으로 진화하고 있다. 따라서, 저렴한 가격의 일반 컴퓨터 시스템으로도 고속 머신비전 시스템 구현이 점차 가능해지고 있다. 

향후 병렬영상처리 기술은 CPU와 GPU, MMX fp지스터를 모두 융합해 활용하는 방향으로 발전할 것이다. 또한, 머신비전 분야에 병렬영상처리 기법이 활발히 적용되기 위해서는 무엇보다 병렬 프로그래밍 기술과 영상처리 기술을 모두 보유한 엔지니어의 육성이 우선돼야 한다. 


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









배너










주요파트너/추천기업