효율적인 머신 비전 시스템 구축
  • 월간 FA저널
  • 승인 2012.08.14 10:39
  • 댓글 0
이 기사를 공유합니다

링크스 화상시스템사업부 영업기술부 다나카 순타로

 

화상처리 소프트웨어 시대의 조류를 읽는다

지난 6월, 화상처리 라이브러리 HALCON의 최신버전(HALCON 11)이 전세계에서 발매됐다. 발매 15주년을 맞이한 HALCON은 지난 1997년에 일본 국내에서의 판매를 시작한 이래 화상처리 시장의 트렌드를 선도하고 있으며, 새 버전 HALCON 11 역시 새로운 이노베이션으로 기대되고 있다. 본 원고에서는 최신의 화상처리 트렌드를 6개 항목으로 정리하고 기술과제에 대한 HALCON의 솔루션을 사용자 사례와 함께 소개하겠다.


FPGA로부터 탈각. CPU 처리에 의한 저가격화 실현
장치의 고기능화에 대한 요구가 계속해서 높아지고 있는 가운데 라인센서 카메라 등에 의해 촬영되는 화상의 용량도 증가하고 있다. 대용량 화상을 고속으로 그리고 안정되게 처리하기 위해서는 FPGA와 같은 하드웨어 화상처리를 사용해야 한다고 생각됐었다. 그러나 FPGA를 채용한 솔루션은 계속해서 높아지는 장치의 저가격화 요구 대응에 있어 큰 장애가 되고 있다. 또 FPGA의 프로그래밍에는 막대한 공수를 들이지 않으면 안 되기 때문에 고객의 요구에 유연한 대응을 하는데 있어서도 장애가 되고 있었다. 이러한 배경으로부터 FPGA의 처리를 CPU로 실현하는 것에 대한 요구가 높아졌다.

본 항목의 사례로서 아야하엔지니어링의 전극시트 검사장치를 소개한다. 본 장치는 최첨단 EV, HV에 없어서는 안 되는 리튬이온 2차 전지의 소재가 되는 전극재 검사장치다. 전극시트 위에 도포된 리튬이온의 도포상태를 라인센서 카메라로 촬상하고 도포 폭, 도포 이상, 이물 등의 복수 항목을 빠른 시간에 검사하며 또 결함 품종별 분류까지를 실현하고 있다. 전극재의 제조라인은 수 천 미터의 연속가동이 전제가 되는 경우가 많아 장시간 논스톱으로 무제한 검사를 안정 가동시킬 필요가 있다.

본 장치는 대용량 화상에 대해 고속으로 안정된 처리를 실현하기 위해서 FPGA를 사용하고 있었지만 아야하엔지니어링에서는 HALCON과 화상 입력보드 은하digital-CLe의 기능을 효과적으로 사용해 CPU 처리 전환에 성공했다. HALCON의 고속 화상처리는 다음 3가지로 성립돼 있다.

① 세련된 설계.
설계 당초부터 고속화에 우수한 설계 콘셉트를 도입했으며 각 필터계, 모폴로지(Morphology)계에 의한 처리의 다기능성·고속성을 실현했다.

② 각 오퍼레이터 최적화에 의한 고속화.
기존 알고리즘의 최적화, 새로운 고속 알고리즘의 개발 및 도입으로 싱글 코어에서의 처리속도 향상을 계속적으로 실시하고 있다.

③ 자동 병렬화 처리에 의한 고속화.
1개의 오퍼레이터 처리를 복수의 CPU 코어에 자동적으로 배정함으로써 처리의 고속화를 실현했다. 현재 약 400개나 되는 오퍼레이터가 자동 병렬화 처리에 대응하고 있다.

이러한 특징을 가진 HALCON을 사용하면 대용량 화상에 대한 고속처리를 CPU에서 실현할 수 있다. 처리의 고속화와 함께 처리대상 화상에 따라 처리시간이 변동되는 것에 대해서도 고려할 필요가 있다. 처리대상이 되는 화상 중에 대량의 결함이 포함돼 있는 등 화상처리의 검사 태스크가 통상의 택타임(Takt Time)에 비해 큰 폭으로 증대된 경우 통상의 처리방법으로는 다음 처리를 개시할 수 없어 검사 누락이 발생하게 된다. CPU 처리로 검사장치를 구축할 경우에 있어서 이것은 치명적인 문제이며 이것을 방지하기 위해 지금까지 검사처리를 FPGA에 실장해서 하드웨어에서 실시간으로 동작시키고 있었다.

이번 아야하엔지니어링이 개발한 장치는 라인센서 카메라를 링크스사 제품 카메라 링크 화상 입력보드 은하digital-CL2e-DL과 접속시켰다. 인코더 신호에 근거해 카메라로부터 화상을 취득하고 있는데 이 처리는 연속처리모드(링 버퍼 기능)에서 화상처리와 비동기로 이뤄지고 있다. 현재 취득 화상의 격납위치와 화상처리측이 사용하고 있는 버퍼의 위치를 감시할 수 있는 구조로 돼 있다.

은하digital-Cle가 가지는 연속처리모드를 사용해 취득한 화상을 HALCON에서 처리함으로써 실시간성이 보증되지 않는 CPU에서의 화상처리 검사 태스크를 링 버퍼가 흡수한다. 이 버퍼의 위치를 감시함으로써 검사가 지연될 때에는 오버플로우용 처리를 하는 등 현재의 상태에 따른 피드백이 가능해져 FPGA를 이용하지 않고 CPU처리에서 검사장치를 구축할 수 있다는 확신을 얻을 수 있었다.

고속 CPU 처리 및 안정된 처리를 동시 실현하는 솔루션으로서 HALCON의 고속처리와 은하digital-CLe의 링 버퍼 기능을 이용한 PC시스템 구축을 소개했다. 이것에 의해 고가 FPGA를 없앤 비용 대비 효과가 우수한 시스템 구성을 실현할 수 있게 됐다. 또, 화상처리 프로그램의 구축도 HALCON의 통합개발환경 HDevelop을 이용해서 단기간에 실현할 수 있기 때문에 고객의 요구에 대한 유연한 대응을 단기간에 실시할 수 있게 됐다.

처리의 고속성은 어느 시대 어느 분야에 있어서도 요구되는 것이며 HALCON의 개발원인 MVTec사는 그 중요성을 충분히 알고 있다. 올해 6월에 발매되는 HALCON 11도 여러 가지 최첨단 기술을 구사해서 처리의 고속화를 실현한다.

높아지는 자동 결함분류처리 요구
인식·분류기술은 최근의 화상처리 기능으로 가장 주목을 받고 있는 기능 중 하나다. 검사장치의 부가가치를 높임과 동시에 추출한 결함을 분류하는 자동 결함분류처리는 중요한 기술이 되고 있다.

검출한 결함의 타입을 화상처리로 분류함으로써 예전에는 사람 눈으로 판단해 결정하던 결함에 대한 후공정 처리내용을 자동으로 결정할 수 있다. 이러한 배경으로부터 자동 결함분류처리에 대한 요구가 높아지고 있다.

본 항목의 사례로서 퍼시픽시스템사의 전체 주위 과실 외관검사장치를 소개한다. 퍼시픽시스템에서는 선진기술을 받아들인 화상처리 시스템을 제공하고 있으며 OLED(FPD) 화상 검사장치·패널 자동검사장치·전체 주위 과실 외관검사장치·도장얼룩 결점 자동검사장치 등으로 많은 실적을 올리고 있다. 전체 주위 과실 외관검사장치는 예전에는 검출된 결함을 가진 과실을 어떻게 취급할 것인가, 결함의 종류는 무엇인가를 작업자가 직접 눈으로 보고 판단을 했었지만 퍼시픽시스템에서는 HALCON의 분류법 알고리즘을 사용하는 자동 결함분류처리의 실현을 검토하고 있다.

퍼시픽시스템의 검사장치에서는 대상이 되는 과실의 전체 주위를 촬영하기 위해서 6대의 카메라를 사용하고 있다. 위쪽면 검사에는 5대의 컬러 에어리어 센서 카메라를 사용하고 있다. 본 장치에서는 BASLER사의 GigE 카메라 ace 시리즈를 채용하고 있으며 5대의 카메라를 스위칭 HUB에 집약함으로써 대단히 저렴한 시스템 구성을 실현했다. 또, 바닥면 검사에는 컬러 라인센서 카메라를 사용하고 있다.

본 장치에서는 BASLER의 카메라 링크 라인센서 카메라 Sprint를 채용하고 있으며 화상 입력보드 은하digital-Cle과 접속해 고속이면서 동시에 안정된 화상 촬영을 실현하고 있다.

본 장치의 검사 애플리케이션에서는 HALCON의 기능을 이용해서 결함을 검출하고 있다. 결함 검출처리에는 컬러 정보를 사용한 역 처리를 사용하고 있다. HALCON의 컬러 처리는 RGB 화상에 대한 처리 외에 색상(Hue), 채도(Satura tion), 명도(Value)의 관점에서 색을 표현하는 HSV 등의 색공간에 대한 화상 변환기능을 제공하고 있다. 또, HALCON은 높은 비트 화상에 대한 처리도 가능하기 때문에 12비트나 16비트 화상 등에 대한 처리도 8비트 화상과 동일하게 실현할 수 있다. 본 장치에서는 대상물의 각 면에서 표면의 색 정보나 치수정보를 고려한 검사를 실시해 최고속 10개/초의 고속처리를 실현했다.

검출한 결함을 자동으로 분류하기 위해서는 HALCON의 분류법 알고리즘을 적용할 수 있다. HALCON에서는 뉴럴 네트워크(MLP), 서포트 벡터 머신(SVM), 가우스 혼합분포모델(GMM) 등의 분류법 알고리즘을 서포트하고 있어 원하는 사양에 맞춰 알고리즘을 골라 쓰는 것이 가능하다. 또, HALCON이 제공하는 풍부한 특징량도 분류처리를 용이하게 실장하는 것에 크게 공헌하고 있다. 영역의 면적값을 나타내는 ‘area’나 영역의 진원도를 나타내는 ‘circularity’ 등의 특징량에 더해 추출한 에지정보의 형상계수를 나타내는 ‘roundness’나 타원 파라미터에서 형상계수를 나타내는 ‘anisometry’ 및 ‘bulkiness’, 그레이값의 평균·편차를 나타내는 ‘gray mean’ ‘gray_deviation’ 등의 특징량도 용이하게 취득할 수 있다. 이 기능을 사용하면 분류대상이 되는 결함의 세세한 특징까지 고려한 자동 결함분류 처리를 실현할 수 있다. 시장에서의 요구가 높아지고 있는 자동 결함분류처리를 실현하는 솔루션으로서 HALCON의 분류법을 채용한 방법을 소개했다. 이것에 의해 결함을 검출함과 함께 후공정에서 적용하는 처리를 자동으로 제어하는 것이 가능해졌다.

최근에는 검사장치 업계뿐만 아니라 식품이나 의료(약제) 분야에서도 과일이나 정제의 종류를 인식하기 위해서 분류법이 활용되고 있다. 이러한 기술 트렌드의 요구에 발 빠르게 대응하기 위해 차기 버전의 HALCON 11에서는 수 천 종류 속에서 특정 대상물을 선별하는 것과 같은 인식·분류기술을 제공한다.

3차원 애플리케이션이 스탠더드되는 시대
현재의 산업용 애플리케이션에서는 식스·시그마와 같은 대단히 높은 품질관리가 요구되고 있으며, 2차원 화상처리는 이미 품질관리 프로세스에 있어 스탠더드로 확립돼 있다. 또, 최근에는 3차원 정보를 취득하는 여러 가지 센서가 시장에 제공되고 있다. 머지않아 3차원 애플리케이션이 널리 활용되는 시대가 올 것이다. 이러한 배경으로부터 3차원적인 위치 결정이나 입체형상 결함검사를 100% 전수에 대해 인라인으로 실시하는 것과 같은 시스템의 요구가 점점 더 고조되고 있다.

본 항목의 사례로서 케이디이사의 패널 검출 시스템을 소개한다. 본 장치는 컨베이어로 운반되는 패널을 CCD 라인센서로 인식하고 로봇으로 이동 중에 검출해 적재공간에 격납하는 시스템이다. 컨베이어는 서보모터 사양으로 하고 펄스 제어로 정확한 위치에서의 검출 및 비전이나 로봇과의 동기 제어를 해 이동 중인 제품을 정확한 정밀도로 고속 격납할 수 있다.

본 장치에서는 고속, 고정밀도로 제품을 검출해 격납하는 것이 요구되고 있다. 그러나 컨베이어로 운반되는 제품의 화상처리 인식은 조명조건이 대단히 어렵다는 문제가 있다. 특히 반사율이 높은 워크나 투명체인 경우 제품의 종류에 따른 광학조건의 차이나 배경색, 더러움, 외란광에 의해 오판정을 일으킬 가능성이 높아진다. 로봇에 사용하는 화상처리는 100%의 신뢰성이 필요하다. 또, 장래 예상되는 제품에 있어서도 인식이 필요해 공장 내 악조건에서도 영향을 받지 않는 광학계가 필요하다. 이러한 문제를 케이디이에서는 HALCON의 매칭기능과 카메라 교정기능을 사용해 해결했다.

본 장치에서는 HALCON의 매칭기능을 이용해서 컨베이어로 반송되는 패널의 검출을 실시하고 있다. HALCON의 매칭기능은 모델 형상의 2차원적인 변화(회전, 확대 축소, 종횡비가 다른 확대 축소)와 함께 3차원적인 투시 변형에 대해서도 고려할 수 있다. 투시 변형을 고려할 수 있는 매칭기능을 이용함으로써 단안 카메라에 의한 대상물의 3차원 위치·자세 검출도 가능해진다. HALCON은 그 외에도 다종다양한 3차원 기능을 제공하고 있으며 표준기능으로서 서페이스 매칭, 3D CAD 매칭, 스테레오 비전, 광 절단법, 합초점법, 포토 매트릭 스테레오 등을 제공하고 있다.

본 장치에서는 HALCON의 형상 베이스 매칭기능을 사용해 대상이 되는 제품의 색이나 모양이 변화될 경우에도 전혀 영향을 받지 않아 고정밀도로 안정된 대상물 검출이 가능해졌다.

또, 광학계 면에서는 투과 조명을 사용해서 백그라운드의 영향을 억제하고 고휘도 고주파 전원을 사용해서 렌즈를 조여줌으로써 외란빛의 영향을 억제하고 있다. 이 광학조건 하에서는 라인센서 카메라에 우위성이 있지만 촬영한 화상을 그대로 위치 결정에 사용하는 것이 어려워진다. 그래서 케이디이에서는 HALCON의 라인센서 카메라용 카메라 교정기능을 사용해 컨베이어의 직진에 맞춘 화상 보정을 정확하고 용이하게 실현하는 것에 성공했다.

고정밀 대상물의 검출을 실현하는 솔루션으로서 HALCON의 매칭기능과 라인센서 카메라용 카메라 교정기능을 사용한 구축을 소개했다. 이미 HALCON은 로봇 비전의 스탠더드로 널리 채용되고 있으며 로봇 제조사를 중심으로 많은 애플리케이션에 탑재되고 있다. 또, 무늬투영 3차원 센서ShapeDrive 등의 3차원 센서로 용이하게 취득할 수 있는 3차원 데이터를 HALCON에 사용함으로써 3차원 위치결정 처리나 외관검사 처리를 실현하는 것도 가능하다.

3차원 처리를 인라인에서 표준적으로 사용하는 것에 대한 요구는 계속해서 높아지고 있다. HALCON 11에서는 이 요구에 대응하기 위해서 취득한 3차원 정보로부터 3차원 위치 결정, 입체형상 검사 등을 실현하는 기능이 대폭 강화된다.

화상처리 엔진 표준화 열쇠는 미들웨어
고도 화상처리기능을 필요로 하지 않는 로우 엔드 애플리케이션에는 일반적으로 화상 센서(소프트웨어와 하드웨어 일체형)가 많이 사용되고 있다. 한편, 고도 화상처리기능이 필요한 하이 엔드 애플리케이션에는 기능이 풍부한 화상처리 라이브러리를 이용한 프로그래밍을 해 애플리케이션을 개발하는 경우가 많다.

최근 로우 엔드 애플리케이션의 검사 요구가 향상돼 기술적으로 고도의 검사 요구에 대한 대응이 필요하게 됐다. 그러나 화상처리 라이브러리를 사용한 개발에는 프로그래밍의 스킬이 필요하기 때문에 프로그램 없이 용이하게 화상처리 라이브러리의 기능을 이용할 수 있는 미들웨어에 대한 요구가 고조되고 있다.

본 항목의 사례로서 오므론사의 FJ 시리즈와 e-globaledge의 EG-VISION을 소개한다. 오므론은 지난해 HALCON의 기능이 탑재된 오픈형 PC베이스 화상처리 시스템 PC Vision FJ 시리즈를 발매해 자동화 시스템에 도입하는 외관검사, 위치 결정 등 폭넓은 애플리케이션에서 실적을 올리고 있다.

또, e-globaledge는 ‘고속·고정밀 HALCON의 화상처리 기능을 간단하게 사용할 수 있다’는 것을 콘셉트로 플로우 편집형 화상처리 소프트웨어 EG- VISION을 제공하고 있으며 그 도입 실적은 해마다 확대되고 있다.

오므론의 PC Vision FJ 시리즈는 오므론 미들웨어(Application Producer)에서 커스터 마이즈 개발을 할 수 있다. 유저의 독자적 처리항목을 Application Producer를 이용해 구축할 수 있으며 이것에 더해 HALCON의 개발환경인 HDevelop을 이용해서 제작한 처리를 편입하는 것도 가능하다. 콤팩트한 오므론 FJ 컨트롤러를 사용하는 올인원 비전 시스템과 함께 사용자가 자유롭게 PC를 선택할 수 있는 카메라&소프트웨어 비전 패키지를 제공하고 있어 생각하고 있는 화상 시스템을 최단으로 구축할 수 있다.



본 미들웨어는 화상처리 검사에 필요한 처리를 처리항목으로 패키지화하고 있으며 검사내용에 맞춰 처리항목을 차례로 나열하는 것만으로 처리 플로우가 완성된다. 화상 입력 처리나 계측 외 조건 분기, 연산 등 프로그램 없이 복잡한 처리를 실현할 수 있는 처리항목을 약 60종 탑재하고 있다.

화상처리 커스터 마이즈의 노하우를 커스텀 컨트롤로 제공해 지금까지의 범용 화상처리에서는 실현할 수 없는 PC 베이스 영역의 커스터 마이즈를 범용 컴퓨터에서 손쉽게 처리할 수 있다. 화상처리의 얼굴이 되는 메인화면 등의 GUI에 더해 데이터 보존·출력, 통신처리도 자유자재로 커스터 마이즈 가능하다.

HALCON의 함수와 오므론의 GUI를 조합시켜 독자적인 계측처리를 간단하게 개발할 수 있다. 작성한 계측처리는 통상의 처리항목과 동일하게 시뮬레이션 소프트나 컨트롤러상에서 곧바로 움직일 수 있다.

계속해서 e-globaledge의 EG-VISON를 소개한다면, ‘고속·고정밀 HALCON의 화상처리 기능을 간단하게 사용할 수 있다’를 콘셉트로 플로우 편집형 인터페이스를 채용하고 있다.

일반적인 화상처리 장치로서 일련의 처리가 모두 처리단위에 상당하는 ‘처리 부품’의 아이콘을 처리순으로 드래그&드롭으로 배치해 ‘프로젝트 플로우(플로우 차트)’를 그리면 그 실현이 가능하다. 처리하는 순서는 처리 부품을 배치만 하면 되는 간단한 작업으로 애플리케이션을 구축할 수 있다. 각 부품 내의 설정은 모두 GUI에서 구성되며 부품 단위에서의 처리를 확인하면서 설정할 수도 있다. 또, 나중에 일련의 처리 수정이나 미조정을 할 경우에도 플로우 차트를 보면 처리를 바로 이해할 수 있기 때문에 단기간에 처리의 수정이나 미조정을 할 수 있다.

애플리케이션을 구축하기 위한 플로우 차트 편집은 상당히 간단하게 할 수 있도록 설계돼 있다. 처리 순번을 제어하기 위한 ‘플로우 제어’, 외부에서의 지시를 받는 ‘트리거’, 외부로 처리결과를 보내는 ‘결과 출력’, 화상을 처리하기 쉽도록 가공하는 ‘사전 처리’, 화상처리를 하기 위한 ‘화상처리’, 카메라나 파일로부터 화상을 불러오기 위한 ‘화상 입력’, 화상이나 수치를 표시하기 위한 ‘화상 표시’, 각종 연산을 하기 위한 ‘계산’ 등 각종 카테고리로 나눠진 부품군을 처리하는 순번으로 배치하면 애플리케이션이 구축되고 필요한 변수도 자동으로 생성된다. 처리는 플로우 차트의 상위부터 차례로 실행되고 처리 순번을 나타내는 라인(플로우 차트)의 자동적으로 생성된다.

로우 엔드 애플리케이션의 검사 요구가 높아짐에 따른 솔루션으로서 기능이 풍부한 화상처리 라이브러리 HALCON을 탑재한 미들웨어를 소개했다. 미들웨어를 활용함으로써 프로그램 없이 용이하게 애플리케이션 개발이 가능해지고 프로그래밍 스킬의 유무에 관계없이 애플리케이션을 구축할 수 있게 됐다. 이것에 의해 로우 엔드로부터 하이 엔드까지 일관해서 화상처리 라이브러리의 기능을 사용할 수 있어 화상처리 엔진의 표준화를 실현하는 것이 가능해진다.

HALCON 임베디드로 확대되는 화상처리 제품 가능성
내환경성이나 편리성의 관점에서 PC베이스의 시스템으로 구축돼 있는 화상처리 애플리케이션을 인텔리전트 카메라나 핸디 터미널 등 특정 조립 하드웨어상에서 동작시키고 싶다는 요구가 최근 높아지고 있다. 또, 조립 하드웨어의 성능도 해마다 향상되고 있어 화상처리 애플리케이션을 동작시키기에 충분한 성능을 가지게 됐다. 그에 수반돼 조립 하드웨어상에서 동작시키는 화상처리의 기능 요구도 높아지고 있다.

본 항목의 사례로서 요코가와전기사의 조립 컨트롤러 e-RT32.0을 소개한다. 요코가와전기는 2009년에 조립 컨트롤러 e-RT32.0에 HALCON을 대응시켜 화상처리 기능과 모션 컨트롤 기능을 하나로 융합한 솔루션을 발매했다. 제조현장에서 갈고 닦은 높은 신뢰성, 소형, 고성능, 장기 안정공급, 환경대응(RoHS)을 화상처리 기술과 조합해 위치 조정 컨트롤을 비롯해 머신 비전·솔루션을 제공하고 있다. 요코가와전기에서는 조립 컨트롤러에 HALCON의 매칭기능을 탑재해 예전에는 PC가 필요했던 화상처리에 의한 위치 결정 제어를 조립 컨트롤러 단독으로 하는 것을 실현했다.

e-RT32.0을 소개한다면, 먼저 파워 PC(533MHz)을 탑재하고 있으며 VxWorks 6.4 운영체제를 채용하고 있고, 고성능/확장성을 살려 기존의 기계제어에 더해 새롭게 화상처리를 융합시키고 있다.

e-RT32.0 CPU 모듈과 확장 모듈을 PCI 버스로 접속하고 대용량 데이터를 고속으로 액세스할 수 있도록 돼 있기 때문에 아날로그 화상 입력 모듈에서의 화상 입력이나 유니버설·그래픽 표시 모듈에서의 화상 표시가 가능하다. 또, CPU 모듈의 퍼포먼스 향상에 의해 화상처리 소프트웨어 HALCON의 탑재가 가능해졌다. 주요 실현 동작은 다음과 같다.

• 아날로그 화상 입력 모듈에 의해 카메라로부터 화상 데이터 불러오기.
• CPU 모듈 내의 HALCON 라이브러리에서 화상처리.
• 위치 결정 모듈(혹은 모션 모듈)에 의한 위치 조정 제어.
• 유니버설·그래픽 표시 모듈에 의한 모니터 표시.

e-RT32.0은 그 작은 케이스로 처리속도가 빠른 HALCON과 실시간성이 뛰어난 리얼타임 운영체제 VxWorks를 신뢰성과 고속제어를 중시한 e-RT 32.0에 탑재함으로써 생산효율 및 품질향상에 공헌할 수 있다.

HALCON, VxWorks의 함수 인터페이스에 제한을 가하지 않고 자유도가 높은 애플리케이션을 구축할 수 있다. 또, CPU 모듈에 PCI 버스로 접속할 수 있는 확장 모듈을 사용자측에서 개발할 수 있는 환경을 마련하고 있어 하드웨어/소프트웨어 양면에서의 커스터마이즈성을 높일 수 있다.

내환경성이나 편리성이 우수한 조립 하드웨어상에서 화상처리를 실현하기 위한 솔루션으로서 HALCON의 포팅 예를 소개했다. HALCON은 순수하게 C언어로 구축됐으며 DSP, ATOM, OMAP, ARM, FreeScale 등 다종다양한 환경에서 사용 실적을 가지고 있다. 또, 요구에 대응해 그 외 환경으로의 포팅 작업도 가능하다.

CPU 파워나 메모리량에서 제한이 많은 조립 하드웨어 환경에서 기능을 충분히 발휘하기 위해 HALCON은 처리속도나 메모리 사용량 삭감에 대해 계속해서 기능 향상을 실현하고 있다.

멀티코어 CPU 효율적 활용, 스피드 업과 시스템 다운 사이징
CPU 연산능력의 한계가 찾아와 CPU 멀티코어화로 진화의 흐름이 변화되는 현재 상황에서 복수 존재하는 코어를 알뜰히 활용하기 위한 방법의 필요성이 높아지고 있다.

한 가지 방법으로서는 화상처리를 복수 코어에서 병렬 처리해 처리의 고속화를 도모하는 것을 생각할 수 있다. 또 하나의 방법으로서는 화상처리용이나 제어 등 복수의 PC에서 실현하고 있는 기능을 비사용 코어에 할당해 1대의 PC에 집약하는 것을 생각할 수 있다.

본 항목의 사례로서 다이이치실업 비스윌사의 칩 외관검사장치를 소개한다. 다이이치실업 비스윌은 정제나 캡슐과 같은 의약품 및 칩 콘덴서와 같은 전자부품의 외관검사장치를 개발, 제조, 판매하고 있다. 의약품 및 전자부품 업계는 그 품질에 대한 요구 수준이 대단히 높고 생산량도 각별하게 많다. 그 때문에 사람의 눈에 의한 육안검사로는 실현할 수 없어 검사장치를 이용한 검사 요구가 높은 업계이기 때문에 다이이치실업 비스윌은 이 업계에서 점유율 1위를 자랑하는 존재가 되고 있다. 다이이치실업 비스윌은 HALCON과 RTH(Real Time Hyper Visor)를 조합시켜 멀티코어 CPU의 효과적인 활용에 의한 스피드 업과 시스템 다운 사이징을 추진하고 있다.

본 장치에서는 우선 HALCON을 이용해서 칩 외관검사 처리를 실시하고 있다. HALCON은 1개의 오퍼레이터 처리를 복수의 CPU 코어에 자동으로 배정하는 자동 병렬화 처리를 지원하고 있다. HALCON이 처음 자동 병렬화 처리를 실현한 것은 2000년으로 거슬러 올라간다. 당시는 멀티코어 프로세서를 탑재한 머신이 갓 출현한 시기다.

MVTec는 장래를 예측하고 머신 비전 업계가 그 중요성을 알아차리기 전부터 자동 병렬화에 대한 개발에 착수했다. 현재에는 약 400개나 되는 오퍼레이터가 자동 병렬화에 대응하고 있으며 그 병렬화 효율도 해마다 향상되고 있다. 또, 다이이치실업 비스윌은 RTH를 이용해 사용자 인터페이스용, 화상처리용, 인터럽트 제어·카메라 제어신호 제어용 등 복수의 PC를 사용해서 구축하고 있던 장치를 복수 코어 PC를 사용해 1대의 PC에 집약하는 것을 추진하고 있다.

RTH는 마이크로소프트 윈도, 리눅스 등의 범용 OS와 리얼타임 리눅스, VxWorks, QNX 등의 실시간 OS를 단일 PC에서 병렬 가동시키기 위한 구조를 제공하는 가상 소프트웨어다. 네이티브 환경에서의 동작과 마찬가지로 응답시간의 최악값이 보증돼 실시간성을 저해하는 일은 없다.

각 OS에는 임의의 코어수를 분배할 수 있어 처리 부하에 맞춰 커스터 마이즈가 가능하다.

RTH상에서 동작하는 OS를 제한하는 것은 프로세서 상에 실장돼 있는 CPU 코어수뿐이며 동일 OS에서도 복수 공간으로 독립해서 동작시킬 수 있고 OS의 조합 등에 제한도 없다.

기존의 장치에서는 각각 다른 PC에서 동작하고 있었던 윈도 XP·PreEmptive Linux·On Time RTOS-32를 12코어 PC의 각 코어에 할당해 화상처리의 고속성과 각 제어의 실시간성을 손상시키지 않고 장치의 저비용화, 효율 최적화, 케이스 소형화를 실현할 수 있다. 또, RTH가 동작하는 시스템에서는 임의의 OS가 다른 OS의 상태를 취득하는 기능을 가지고 있다. 또, 다른 OS에 명령을 내려 강제로 재기동하게 하는 기능을 가지고 있다. 이것에 의해 어떠한 트러블로 응답이 없어진 OS를 검지하고 즉시에 대상 OS만을 강제 재기동해서 시스템을 자동 복구할 수 있다. 그 때문에 치명적인 문제였던 윈도 복귀를 위한 시스템 전체의 재기동을 회피할 수 있어 실시간 태스크를 실행하면서 윈도만 재기동이 가능해진다. 시스템의 신뢰성을 높이는 것에 있어서도 큰 메리트를 얻을 수 있다.


이에 다이이치실업 비스윌은 “21세기에 들어서 화상처리 기술, IT기술의 비약적인 진보와 함께 고객의 요구도 고도화·다양화가 급속히 진행되고 있다. 근래에 이르러서는 독자적 기술만으로는 시스템 구축에 한계를 느끼고 최첨단 화상처리 기술의 집약인 HALCON을 일부 제품에 채용하기로 했다. 그 후 HALCON의 적용범위를 확대해 올해부터 자사 전 제품에 HALCON을 탑재했다”고 말했다.

시대의 이노베이션
이노베이션은 시대의 조류에 맞는 타이밍에 제안돼야만 실로 많은 혜택을 시장에 가져올 수 있다. 본 원고에서는 화상처리 라이브러리 HALCON이 시장에 제공해 온 이노베이션을 ‘FPGA로부터 탈각. CPU 처리에 의한 저가격화 실현’으로부터 ‘멀티코어 CPU 효율적 활용, 스피드 업과 시스템 다운 사이징’의 6개 항목으로 소개했다.

HALCON의 개발원인 MVTec은 앞으로도 계속해서 화상처리 소프트웨어 테크놀로지의 더 발전된 이노베이션을 위해서 투자할 것을 확실히 하고 있으며 지난 6월 발매된 HALCON 11도 그 방침을 몸소 실천하고 있다.



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.