코그넥스, 2-D 코드 판독 알고리즘으로 판독률 향상
  • 월간 FA저널
  • 승인 2016.08.01 16:33
  • 댓글 0
이 기사를 공유합니다

Powergrid, 텍스처 및 형상을 결합한 최상의 2-D 코드 판독 알고리즘
   
 
   
 
2-D(Two-Dimensional) 코드는 이력추적의 용도로 인코딩할 수 있는 데이터의 양 때문에 사용범위가 날로 증가하고 있다. 하지만 성공적인 2-D 코드 판독은 온전한 상태의 파인더나 클럭킹 패턴이 전제돼야 한다. 만약 이러한 필수적인 요소들이 손상됐거나 불분명하다면, 바코드 리더기는 제품이나 패키징 상의 마킹으로부터 기호를 식별할 수 없게 된다.

코그넥스(Cognex)는 PowerGrid 기술을 통해 이러한 한계를 극복했다. 특허 출원 중인 이 2-D 코드 판독 알고리즘은 자동차 및 전자, 제약 산업의 공급망, 물류 애플리케이션과 같은 산업용 애플리케이션에서 텍스처와 형상 데이터를 모두 결합해 최고의 DataMatrix 바코드 판독률을 달성할 수 있다.

엔진 헤드나 PCB(Printed Circuit Board), 50알의 제약 블리스터 팩 상의 DataMatrix 코드 판독은 지구 반대편 아프리카 사바나에서 사냥하는 암사자 이야기처럼 터무니없는 소리로 들릴 수도 있을 것이다. 하지만 여기에는 분명 주목할 만한 가치가 있다.

숨어있는 암사자에게 속는 얼룩말처럼, 비전 기반의 바코드 리더기는 코드가 손상돼 있거나, 여백(Quiet-Zone) 위반, 또는 필수 요소들이 유실됐거나, 선명도가 불충분한 경우, DataMatrix 코드 판독에 실패할 수 있다. ‘비판독(No Read)’은 자동생산 및 물류 공정의 효율 및 처리량에 영향을 미칠 수 있다.

또한, ‘오판독(Misread)’으로 인해 양질의 제품이 생산 프로세스에서 제거되는 경우, 이는 수익 및 고객과의 관계에 영향을 미치는 다른 문제들을 유발할 수 있다. 어떻게 형상 및 텍스처 기반 알고리즘이 판독률을 향상시키기 위해 상호 보완이 가능한지 살펴보기 전에, 2-D 코드의 구성 요소와 장점, 그리고 도전 과제들에 대해 먼저 알아보도록 하자.

   
 
  각기 다른 타입의 1-D 및 2-D 코드  
 
1-D에서 2-D 기호로 이행
바코드는 머신이 판독할 수 있는 표기방식 중 하나로, 일반적으로 제품의 수명주기 전반에 걸쳐 이력을 추적하거나 식별하기 위해 사용 및 판독이 가능하도록 제품이나 포장에 인쇄되거나 또는 영구적으로 제품 및 객체의 표면에 마킹된다.

오늘날 바코드는 수십여개의 서로 다른 포맷으로 이뤄져 있는데, 1-D(One-Dimensional) 바코드(GS1, EAN, Code 128 등)라고 불리는 병렬 라인의 그룹 형태에서 매트릭스나 2-D(Two-Dimensional) 코드(DataMatrix, Aztec, Quick Response 등) 형태의 도트 및 스퀘어 방식까지 다양하다. 보다 진화된 형태의 2-D 코드는 사용자가 1-D 코드보다 훨씬 많은 데이터를 저장하거나 기록할 수 있도록 해준다. 1-D 코드는 가로 방향으로만 데이터를 포함할 수 있지만, 2-D 코드는 가로, 세로 모두 정보를 포함할 수 있다.

   
 
  레이저 기반 바코드 스캐너  
 
현재 DataMatrix 코드는 향상된 저장 용량과 통합 에러 보정 기능 및 여타 요소들로 인해 사실상 제조 분야의 표준이 됐다. 용량과 관련해서 24×24 DataMatrix 코드는 52개의 영문자와 숫자를 포함할 수 있으며, 48×48 DataMatrix 코드는 259개의 영문자와 숫자를 포함할 수 있다. 이보다 더 큰 Datamatrix 코드의 경우 최고 2,335개의 영문자 및 숫자를 담을 수 있다.

1-D 바코드는 광선이 회전하는 프리즘에 직접 조사돼 바코드 전반을 빔으로 스캔하는 레이저 스캐너에 의해 판독될 수 있도록 설계됐다. 센서가 검정 및 흰색 바를 구별하고 반사율을 캡처하게 된다. 보통 이러한 방식은 빠르고 저렴한 반면, 기계 부품들이 시간이 지나면서 파손될 수 있으며, 원하는 판독률을 달성하기 위해서는 바코드가 레이저 스캐너에 맞게 정확하게 배치돼야 하고, 부가적인 고정 장치가 필요하다.

단지 오류 검출만을 위한 1-D 바코드와 달리, 모든 2-D 코드는 판독 실패 횟수를 줄일 수 있도록 데이터 무결성이 개선됐다. 2-D 코드가 제조 애플리케이션 분야에서 선호되는 이유는 이러한 용량 및 안정성의 상호 보완적 강점 때문이다.

비전-기반 바코드 리더기는 2-D 코드 판독을 위해 필요하다. 디지털 카메라는 코드의 사진을 취득하고, 특수 이미지-프로세싱 소프트웨어를 구동하는 마이크로프로세서는 네트워크 전반에 데이터 결과를 공급하기 전에 코드를 찾아서 디코딩한다. 비전 기반 리더기는 움직이는 부품이 없기 때문에 산업용 애플리케이션에서 더욱 안정적으로 동작할 수 있다.

   
 
  2-D DataMatrix 코드의 구조  
 
2-D 기호의 구조
1-D 코드는 코드가 시작하고 멈추는 지점을 식별하기 위해 여백 및 가드 패턴(Guard Pattern)을 가지고 있는 반면, DataMatrix 코드는 여백 또는 마진, 파인더, ‘L’ 또는 위치확인 패턴, 클럭킹 패턴(Clocking Pattern), 데이터 영역 등 4개의 각기 다른 부분을 가지고 있다. 전체 코드를 둘러싸고 있는 여백은 코드의 시작과 끝을 식별하며, 리더기가 코드와 관련되지 않는 정보를 취득하지 않도록 해준다.

DataMatrix 코드의 파인터 패턴은 L-모양의 패턴으로 코드의 양측 바깥쪽 가장자리에 위치해 있다. 이는 디코딩하는 동안 방향이 적절하게 유지되는데 사용된다. 파인더 패턴 반대쪽에는 클럭킹 패턴이 있는데, 이는 코드 사이즈와 단일 셀 크기를 정의하는 일련의 검정 및 흰색 모듈들이 교차돼 있다. 여백 및 파인더 패턴, 클럭킹 패턴들이 데이터 영역 주변으로 사각형을 형성하며, 형상-기반 알고리즘을 갖춘 비전-기반 리더기로 이 위치를 확인할 수 있다.

2-D 코드는 화면에 객체만 있을 때는 손쉽게 식별이 가능하다. 하지만 코드 옆에 유사한 크기나 모양의 다른 그래픽이나 아이콘이 있을 때는 구별하기가 쉽지 않다. 따라서 화면상의 혼란스러운 요소들과 상관없이 텍스처-기반 분석방법으로 비전-기반 바코드 리더기가 코드를 빠르게 식별하고 판독하는데 도움을 줄 수 있다.

2-D 코드의 또 다른 강점은 에러 정정이다. 대부분 2-D 코드는 DVD 플레이어가 디스크 표면에 스크래치가 있더라도 데이터를 판독할 수 있도록 해주는 기술과 동일한 리드-솔로몬(Reed-Solomon) 에러 정정 방식을 사용한다. 손실되거나 정확하지 않은 데이터 감지만 가능한 1-D 코드와 달리 2-D 코드는 감지할 수 있는 코드 내부의 모듈만 충분하다면, 손실되거나 잘못된 데이터를 정정할 수 있다.

코드 적용의 두 가지 방법
머신이 판독 가능한 코드의 적용 방법을 선택할 때, 이용 가능한 공간과 텍스처, 영속성 등을 고려하는 것이 중요하다. 객체에 코드를 적용하는 것은 일반적으로 두 가지 방법 중 하나로 수행되는데, 포장이나 라벨에 코드를 배치하거나 DPM(Direct Part Marking) 방법으로 부품 상에 직접 코드를 영구적으로 마킹(Dot Peen)하는 것이다.

포장이나 라벨, 또는 다른 소재 상에 코드를 인쇄하기 위해서는 표준 열 또는 잉크젯 프린터가 가장 비용 효과적인 방법이다. 하지만 라벨은 기계(또는 수작업) 애플리케이션이 필요하기 때문에 비용이 추가되고, 코드가 잘못 부착되거나 손상될 수 있다. 열 및 잉크젯 프린트 헤드 모두 시간이 지나면서 마모되거나 막히는 부품을 가지고 있어 코드의 품질이 저하될 수 있다.

   
 
  인쇄된 코드의 사례  
 
의료기기 및 자동차 컴포넌트와 같은 대부분의 애플리케이션의 경우, 컴포넌트 레벨에서 이력관리 및 법적 책임을 보장하는 것이 중요하다. 레이저나 도트핀 마킹과 같은 DPM 방법은 인쇄 방식에 비해 오래 지속 가능한 대안이다. 이러한 애플리케이션은 제조 국가, 제조 업체, 디바이스 분류, 부속물 등과 같은 더 많은 정보를 인코딩해야 하는 경우가 많다. 따라서 이러한 산업 분야에서는 보다 종합적인 데이터 및 코드 무결성을 위해 2-D 코드를 사용하고 있다.

레이저 마킹 시스템은 DataMatrix 코드나 다른 2-D 코드 기호를 부품 상에 식각한다. 표면의 강성이나 레이저 강도에 따라 여러 방법으로 마크가 만들어지는데, 컬러를 변화시키는 표면 탄화, 표면의 반사율을 변화시키는 어닐링(Annealing), 표면층을 기화시키는 흡열냉각(Ablating) 등이 있으며, 암시야나 명시야 조명기법으로 판독이 가능한 3-D 마크가 만들어진다. 레이저는 탁월한 속도와 마크 품질을 제공하지만, 이러한 기능은 더 많은 자본투자를 필요로 하고, 작업자를 보호하기 위한 부가적인 조정 및 안전조치가 필요하다.

일반적으로 가장 비용 효과적인 DPM 방법으로 알려져 있는 도트핀 마킹 시스템은 자재 표면에 자국을 새기기 위해 진동 스타일러스를 사용한다. 하지만 단단한 소재는 도트핀 헤드의 수명을 크게 단축시키기 때문에 운영 비용이 추가되고, 영구적인 마크의 품질을 저하시킬 수 있다. 또한 도트핀 코드는 생성하는 것도 어렵지만, 특수 비전-기반 리더기로만 판독이 가능하다.

언급한 것처럼, 각 코드 마킹 방법은 각각의 장단점을 가지고 있다. 잉크젯 프린터는 경제적이지만, 인쇄 카트리지가 비거나 프린트 헤드가 막히는 등의 어려움이 있을 수 있다. 금속 부품의 경우, 레이저 마킹 시스템은 뛰어난 영속적인 마크 처리량을 제공하지만, 설치 비용이 비싸다. 도트핀 마킹 헤드는 비용 부담이 적지만, 마모가 쉽고, 마크를 손상시킬 수 있다. 흥미로운 점은, 일부 비전-기반 코드 판독 시스템은 실제로 프린터 및 DPM 품질을 모니터하고, 머신 오퍼레이터에게 프린트 헤드가 막히거나 마킹 헤드의 마모 상태를 알릴 수 있어 레이저 스캐너 성능 이상으로 기능하도록 할 수 있다는 것이다.

Powergrid, 차세대 디코딩 알고리즘
작은 크기와 큰 데이터 용량, 데이터 리던던시, 에러 정정 기능을 갖춘 2-D 코드는 소매점이나 제조, 물류 분야의 최신 이력 관리 애플리케이션에 가장 이상적인 선택이다. 하지만 완벽한 방법은 없다. 프린터는 프린트 헤드가 막혀서 2-D 코드의 라인을 누락시킬 수 있으며, 커패시터는 PCB 상에 레이저로 식각된 2-D 코드의 파인더 및 클럭킹 패턴에 대한 카메라 시야를 가릴 수 있다.

마케팅 그래프들이 약품 포장의 여백을 방해할 수도 있다. 이러한 문제들이 코드의 데이터 영역에 영향을 미치게 되면, 에러 정정 기능으로 보상할 수 있다. 문제는 이러한 이슈들이 코드의 파인더 또는 클럭킹 패턴에 영향을 미칠 때 발생하는데, 이때는 간단히 코드를 찾을 수 없게 된다.

지금까지 최신 2-D 디코딩 알고리즘은 2-D 코드의 위치를 확인하고, 판독하기 위해 형상 기반의 기하학 패턴 검색만을 이용했다. 비전-기반 코드 리더기는 적절한 코드의 방향과 모듈 크기를 판단할 수 있는 파인더 및 클럭킹 패턴의 위치를 확인하기 위해 형상-기반 알고리즘을 이용한다.

픽셀 심도 값을 이용하는 형상 기반 알고리즘은 검정색의 전방 모듈을 흰색 배경으로부터 분리한 다음, 인코딩된 데이터를 판독한다. 여백 및 파인더 패턴, 클럭킹 패턴을 찾을 수 있다면, 코드의 명암이 낮거나, 데이터 영역의 라인이 누락됐거나, 데이터 영역의 일부가 가려져 있더라도 2-D 코드 리더기는 코드를 판독할 수 있다.

하지만 형상 기반 알고리즘은 마진이나 파인더 패턴, 클럭킹 패턴이 가려져 있거나 결함이 있는 경우 2-D 코드의 위치를 확인할 수 없게 된다. 가장 일반적으로 소매제품의 경우, 간혹 DataMatrix 코드와 유사한 크기 및 형상의 검정 및 흰색 그래픽 바로 옆에 코드가 배치돼 있을 수 있다. 코드가 가려져 있지 않거나 결함이 없는 경우라도, DataMatrix를 구분하고 판독하는 리더기의 성능이 상당히 저하된다.

이러한 문제를 해결할 수 있는 더욱 뛰어난 2-D 코드 판독 방법을 개발하기 위해 코그넥스 소프트웨어 엔지니어들은 수년 동안 연구 작업을 수행해 왔다. PowerGrid 기술은 형상 기반 패턴 검색 및 텍스처 기반 분석을 모두 결합했다.

아프리카의 사바나로 다시 돌아가 보자. PowerGrid 기술이 어떻게 혼잡한 환경이나 손상 및 누락된 요소들에 상관없이 DataMatrix 코드를 빠르게 확인하고, 판독할 수 있는지 설명하기 위해 사냥을 비유로 들어 보자. 암사자는 먹잇감으로 얼룩말을 노리고 있고, 근처에서 산책하고 있는 얼룩말을 현혹시킨 다음, 쉽게 잡을 수 있는 대상을 찾고 있다.

우거진 풀밭에 숨어 살펴보면서 한 쌍의 동물을 발견한다. 이들은 모두 꼬리와 비슷한 형상의 머리, 줄무늬를 가지고 있다. 불행하게도 한 마리의 동물은 최고 55mph 속도로 질주할 수 있는 영양이고, 암사자의 옆구리에 14인치의 상처를 낼 수 있는 뿔도 가지고 있다.

형상 기반의 시각적 단서만을 이용했다면, 암사자는 얼룩말과 영양을 쉽게 구분할 수 없었을 것이다. 하지만 줄무늬의 텍스처를 분석함으로써 암사자는 얼룩말과 영양을 빠르게 구분할 수 있었고, 배고픈 새끼 사자에게 먹이를 줄 수 있게 된 것이다.

PowerGrid 기술은 이와 동일하게 파인더 패턴과 같은 형상의 일부가 누락된 2-D 코드를 찾기 위해 형상 및 텍스처 기반 단서를 이용한다. PowerGrid는 화면을 분석하고, 데이터 모듈처럼 보이는 텍스처를 찾아낸다. 모듈을 찾고 나면, 모듈의 크기와 DataMatrix 코드의 전체 크기를 확인한다. 그런 다음, 기존의 2-D 코드 판독 알고리즘으로 데이터 판독 및 디코딩 작업을 수행할 수 있다.

PowerGrid를 이용한 첨단 2-D 코드 판독 알고리즘은 필수 요소들이 누락되거나 손상된 경우에도 2-D 코드를 정확하게 판독할 수 있다. 이러한 기술을 통해 현재의 성능 기대치를 훨씬 뛰어넘는 향상된 판독률 및 디코딩 안정성을 달성할 수 있다.

<저작권자 : FA저널 (http://www.fajournal.com) 무단전재-재배포금지>



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