KR101288754B1 - 칼라 채널 코드 인식 장치 - Google Patents

칼라 채널 코드 인식 장치 Download PDF

Info

Publication number
KR101288754B1
KR101288754B1 KR1020120028924A KR20120028924A KR101288754B1 KR 101288754 B1 KR101288754 B1 KR 101288754B1 KR 1020120028924 A KR1020120028924 A KR 1020120028924A KR 20120028924 A KR20120028924 A KR 20120028924A KR 101288754 B1 KR101288754 B1 KR 101288754B1
Authority
KR
South Korea
Prior art keywords
color
channel code
colors
color channel
value
Prior art date
Application number
KR1020120028924A
Other languages
English (en)
Inventor
김민우
오일석
정진홍
Original Assignee
주식회사트레디오
전북대학교산학협력단
정진홍
김민우
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사트레디오, 전북대학교산학협력단, 정진홍, 김민우 filed Critical 주식회사트레디오
Priority to KR1020120028924A priority Critical patent/KR101288754B1/ko
Application granted granted Critical
Publication of KR101288754B1 publication Critical patent/KR101288754B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/0614Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 칼라 채널 코드 인식 장치를 공개한다. 본 발명은 외부의 칼라 채널 코드의 이미지를 감지하여 입력하는 감지부, 상기 칼라 채널 코드를 기 설정된 샘플링 값으로 샘플링하여 복수개의 샘플링 영역 각각의 색상 값을 획득하고, 획득된 색상 값을 통계적 기법에 따라 기 생성된 분류 값을 기준으로 분류하여 상기 샘플링 영역 각각의 색상을 판별하는 적어도 하나의 색상 분류기를 구비하는 색상 분류부, 상기 샘플링 영역 각각의 색상에 따라 상기 칼라 채널 코드에 포함된 복수개의 셀의 크기와 색상 및 위치를 판별하는 패턴 분석부, 및 상기 복수개의 셀의 크기와 색상 및 위치에 따라 상기 칼라 채널 코드를 복수개의 부분 코드로 구분하고, 상기 구분된 복수개의 부분 코드 각각을 부분 데이터로 변환하고 병합하여 데이터를 복원하는 데이터 변환부를 포함한다. 따라서 샘플링 영역 각각의 색상을 정확하게 판단할 수 있으므로 부분 코드 추출이 용이하여 정확한 칼라 채널 코드로부터 정확한 데이터를 복원 할 수 있다.

Description

칼라 채널 코드 인식 장치{APPARATUS FOR RECOGNIZING COLOR CHANNEL CODE}
본 발명은 칼라 채널 코드 인식 장치에 관한 것으로, 특히 칼라 채널 코드의 여러 색상을 정확하게 판별하여 정확한 데이터 복원이 가능한 칼라 채널 코드 인식 장치에 관한 것이다.
최근 2차원 코드가 제품이나 신문기사, 광고 등에 표시되어 다양한 정보를 전달하는 용도로 활용되고 있다. 이러한 코드는 흑백 패턴의 정보를 나타내는 매트릭스 형태의 1차원 또는 2차원 코드(그림)로, 기존에 사용되던 세로 줄무늬 바코드의 용량 제한을 극복해 숫자 이외의 문자나 동영상 등을 구현 가능한 것까지 다양하다.
특히 대표적인 2차원 코드로서, 사각형 문양에 바코드의 수십~수백 배의 정보량을 담을 수 있는 QR코드(Quick Response CODE)가 최근 스마트폰의 대중화되면서 산업 전반에 걸쳐 사용이 급격히 성장하고 있으며, 일상적인 결재, 상품광고, 및 개인명함 등 다양한 분야에 활용되고 있다. QR코드는 흑백 격자무늬 패턴의 2차원 바코드(bar code)이다. 기존 바코드가 1차원 형태로 숫자 정보만을 저장했다면, QR코드는 가로, 세로의 방향의 2차원 형태로서 숫자뿐 아니라 문자 데이터까지 저장할 수 있게 하였다.
기존의 1차원 바코드에서 2차원의 QR 코드로 코드가 발전하면서 코드가 나타낼 수 있는 정보량이 크게 확장되었으나, 현대 사회에서 요구되는 수많은 데이터 량에 비교하면, 여전히 코드로 나타낼 수 있는 정보량은 매우 적다고 할 수 있다.
이에 기존에 출원된 한국 출원 번호 10-2011-0049126호에는 대용량의 하나의 데이터를 복수개의 서브 데이터로 분할하고, 분할된 서브데이터 각각에 대해 코드를 생성한 후, 생성된 코드들 각각에 서로 다른 칼라 채널을 할당하여 서로 다른 칼라 채널이 할당된 코드들을 중첩하여 인쇄함으로서 대용량의 데이터를 하나의 칼라 채널 코드에 기록하는 기법을 제안하였다.
도1 은 종래의 칼라 채널을 이용한 코드 중첩 출력 방법의 개념을 나타내는 도면이다.
도1 을 참조하면, 종래의 칼라(color) 채널을 이용한 코드 중첩 출력 방법은 먼저 코드로 변환될 데이터(Data)를 입력 받아, 데이터(Data)를 복수개의 부분 데이터(Data1, Data2, Data3)로 분할한다. 그리고 데이터(Data)가 복수개의 부분 데이터(Data1, Data2, Data3)로 분할되면, 분할된 복수개의 부분 데이터(Data1, Data2, Data3) 각각을 지정된 1차원 또는 2차원의 부분 코드(Code1, Code2, Code3)로 변환한다. 부분 데이터(Data1, Data2, Data3)의 정보량이 데이터(Data)에 비해 1/3 이므로, 전체 데이터를 그대로 코드로 변환하는 경우보다, 부분 데이터를 부분 코드로 변환하게 되면, 각각의 부분 코드의 밀도는 크게 낮아진다.
부분 데이터(Data1, Data2, Data3)가 모두 부분 코드(Code1, Code2, Code3)로 변환되면, 변환된 복수개의 부분 코드(Code1, Code2, Code3)들 각각에 서로 다른 칼라를 지정하고, 이후 각각 칼라가 지정된 복수개의 부분 코드(Code1, Code2, Code3)를 중첩하여, 칼라 채널 코드(Color Channel Code)(Code)를 생성한다. 칼라 채널 코드(Code)는 기본적으로 복수개의 부분 코드(Code1, Code2, Code3)를 동일한 영역에 중첩(overlap)하여 생성된다. 이때 칼라 채널 코드는 복수개의 부분 코드(Code1, Code2, Code3)가 동일한 영역에 중첩(overlap)으로 출력되므로, 중첩되어 출력되는 영역의 칼라는 각각의 부분 코드(Code1, Code2, Code3) 색상이 혼합되어 출력된다.
도2 는 종래의 칼라 채널 코드 인식 방법의 개념을 나타내는 도면이다.
도2 를 참조 하여 종래의 칼라 채널 코드 인식 방법의 개념을 설명하면, 칼라 채널 코드 인식 장치가 서로 다른 색상의 부분 코드(Code1, Code2, Code3)가 중첩된 칼라 채널 코드(Code)를 카메라 등의 감지 수단을 이용하여 감지하고, 감지된 칼라 채널 코드(Code)에 표시된 각각의 색상을 구분한다. 이때 , 부분 코드(Code1, Code2, Code3)가 3개인 경우, 3가지 색상이 혼합되어 칼라 채널 코드가 구성되므로 구분될 수 있는 색상의 수는 23 = 8 이므로, 총 8가지 색상으로 구분될 수 있다. 그리고 구분된 색상에서 중첩인 색상을 판별하여 3개의 부분 코드(Code1, Code2, Code3)를 추출한다. 추출된 부분 코드는 다시 각각의 부분 데이터(Data1, Data2, Data3)로 변환되고, 칼라 채널 코드 인식 장치는 변환된 데이터를 합쳐서 원 데이터(Data)를 획득할 수 있다.
상기한 바와 같이, 칼라 채널 코드(Code)에서 각각 서로 다른 색상을 갖는 부분 코드(Code1, Code2, Code3)들이 각각 부분 데이터(Data1, Data2, Data3)를 갖는 하나의 채널로서 기능할 수 있다. 따라서 종래의 칼라 채널 코드(Code)는 데이터(Data)를 분할하고 분할된 부분 데이터(Data1, Data2, Data3)를 각각 서로 다른 색상이 지정된 부분 코드(Code1, Code2, Code3)로 변환하여 중첩하여 표시함으로서 하나의 칼라 채널 코드(Code)가 포함할 수 있는 데이터의 용량을 크게 증가시키거나, 코드의 밀도를 낮추어 인식률을 높일 수 있다.
이러한 칼라 채널 코드(Code)는 프린터와 같은 인쇄 장치를 이용하여 종이에 출력되거나, 모니터나 TV 와 같은 디스플레이 장치를 이용하여 디스플레이 될 수 있을 뿐만 아니라 시각적으로 인식 가능한 모든 수단을 이용하여 출력될 수 있다. 즉 칼라 표현이 가능한 모든 출력 수단으로 출력 될 수 있다.
그러나 칼라 채널 코드(Code)는 출력 방식에 따라 색상이 달라질 수 있다. 예를 들어, 프린터와 같은 인쇄 장치를 이용하여 종이에 출력된 칼라 채널 코드(Code)와, 모니터나 TV 와 같은 디스플레이 장치를 이용하여 디스플레이 된 칼라 채널 코드(Code)의 색상에 차이가 발생한다. 또한 인쇄 장치의 종류 및 디스플레이 장치의 종류에 따라서도 칼라 채널 코드(Code)의 색상에 차이가 발생한다. 뿐만 아니라, 출력된 칼라 채널 코드(Code)를 인식하는 장치에 구비된 카메라의 종류 및 칼라 채널 코드(Code)를 인식할 때의 주변 환경에 따라서도 칼라의 차이가 발생할 수 있다. 따라서 칼라 채널 코드(Code)를 인식하는 장치에서 칼라 채널 코드(Code)의 색상을 정확하게 판단하지 못하여 칼라 채널 코드에 포함된 데이터를 정확하게 분석하지 못하는 문제가 발생할 수 있다.
본 발명의 목적은 칼라 채널 코드의 여러 색상을 정확하게 판별하여 정확한 데이터 복원이 가능한 칼라 채널 코드 인식 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 칼라 채널 코드의 인식 장치의 일 예는 외부의 칼라 채널 코드의 이미지를 감지하여 입력하는 감지부; 상기 칼라 채널 코드를 기설정된 샘플링 값으로 샘플링하여 복수개의 샘플링 영역 각각의 색상 값을 획득하고, 획득된 색상 값을 통계적 기법에 따라 기 생성된 분류 값을 기준으로 분류하여 상기 샘플링 영역 각각의 색상을 판별하는 적어도 하나의 색상 분류기를 구비하는 색상 분류부; 상기 샘플링 영역 각각의 색상에 따라 상기 칼라 채널 코드에 포함된 복수개의 셀의 크기와 색상 및 위치를 판별하는 패턴 분석부; 및 상기 복수개의 셀의 크기와 색상 및 위치에 따라 상기 칼라 채널 코드를 복수개의 부분 코드로 구분하고, 상기 구분된 복수개의 부분 코드 각각을 부분 데이터로 변환하고 병합하여 데이터를 복원하는 데이터 변환부; 를 포함한다.
상기 목적을 달성하기 위한 색상 분류부는 상기 통계적 기법으로 결정 트리 기법, 신경망 기법 및 SVM(Support Vector Machine) 중 하나의 기법을 이용하여 상기 분류값을 설정하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 색상 분류부는 상기 복수개의 샘플링 영역 각각에 대해 기 설정된 3개의 기본 색상 각각에 대한 색상 값을 획득하고, 상기 3개의 기본 색상 각각에 대한 색상 값을 상기 3개의 기본 색상 각각에 대해 설정된 상기 분류값과 비교하여, 상기 복수개의 샘플링 영역 각각의 색상을 상기 3개의 기본 색상의 조합으로 생성 가능한 8개의 분류 색상으로 분류하는 하나의 색상 분류기를 구비하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 색상 분류부는 상기 복수개의 샘플링 영역 각각에 대해 기설정된 3개의 기본 색상 각각에 대한 색상 값을 획득하고, 상기 3개의 기본 색상 중 대응하는 하나의 색상을 분류하는 3개의 색상 분류기; 및 상기 3개의 색상 분류기에 의해 분류된 3개의 색상을 조합하여 8개의 분류 색상으로 조합하는 색상 결정부; 를 구비하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 색상 분류부는 상기 분류값을 각각 포함하는 복수개 내부 노드, 분류의 결과를 포함하는 복수개의 말단 노드, 및 상기 복수개의 내부 노드와 상기 복수개의 말단 노드 사이를 연결하는 간선을 포함하는 결정 트리 기법을 이용하여 상기 샘플링 영역의 상기 색상 값을 상기 8개의 분류 색상으로 분류하고, 상기 결정 트리 기법은 ID3 알고리즘, C4.5 알고리즘, C5.0 알고리즘, CART 알고리즘, 및 CHAID 알고리즘 중 하나의 알고리즘을 이용하여 학습되어 상기 분류 값을 설정하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 칼라 채널 코드의 인식 장치의 다른 예는 외부의 칼라 채널 코드의 이미지를 감지하여 입력하는 감지부; 상기 칼라 채널 코드를 기설정된 샘플링 값으로 샘플링하여 복수개의 샘플링 영역 각각에서 기본 3색에 대한 색상 값을 획득하고, 획득된 3개의 색상 값을 서로 비교하여 상기 샘플링 영역 각각의 색상을 8개의 색상으로 판별하는 색상 판별부; 상기 샘플링 영역 각각의 색상에 따라 상기 칼라 채널 코드에 포함된 복수개의 셀의 크기와 색상 및 위치를 판별하는 패턴 분석부; 및 상기 복수개의 셀의 크기와 색상 및 위치에 따라 상기 칼라 채널 코드를 복수개의 부분 코드로 구분하고, 상기 구분된 복수개의 부분 코드 각각을 부분 데이터로 변환하고 병합하여 데이터를 복원하는 데이터 변환부; 를 포함하고, 상기 색상 판별부는 수식
적색 : r≫g && r≫b && g~b
녹색 : g≫r && g≫b && r~b
파란색 : b≫r && b≫g && r~g
청록색 : g≫r && b≫r && g~b
자주색 : r≫g && b≫g && r~b
노란색 : r≫b && g≫b && r~g
흰색 : r~b~g ≥ 제3 기준값
검은색 : r~b~g < 제4 기준값
(여기서 ≫는 두 개의 색상 값이 제1 기준값 이상의 차이를 가짐을 의미하는 기호이며, ~ 는 두 개의 색상 값이 제2 기준값 이내의 차이로 유사하다는 것을 의미하는 기호이며, 제1 내지 제4 기준 값은 각각 기설정된 값이다.) 에 의해 상기 8개의 색상을 판별하는 것을 특징으로 한다.
따라서, 본 발명의 칼라 채널 코드 장치는 칼라 채널 코드를 샘플링하고 샘플링 영역 각각의 색상을 색상 패턴 분석 방법 또는 통계적 분류 방법에 의해 판별하므로, 각 샘플링 영역의 색상을 용이하게 판별할 수 있다. 그러므로 판별된 색상을 기초로 부분 코드를 용이하게 추출할 수 있으며, 정확한 데이터를 복원할 수 있다. 특히 결정 트리 기법과 같은 데이터마이닝 기법을 적용하여 칼라 채널 코드의 출력 방식 및 감지 환경에 무관하게 정확한 칼라 채널 코드로부터 정확한 데이터를 복원할 수 있다.
도1 은 종래의 칼라 채널을 이용한 코드 중첩 출력 방법의 개념을 나타내는 도면이다.
도2 는 종래의 칼라 채널 코드 인식 방법의 개념을 나타내는 도면이다.
도3 은 본 발명에 따른 칼라 채널 코드 인식 방법의 일예를 나타내는 순서도이다.
도4 는 본 발명의 일예에 따른 칼라 채널 코드 인식 장치의 구성을 나타낸다.
도5 는 색상 패턴 분석 방법의 일예를 나타낸다.
도6 은 색상 패턴 분석 방법에 따라 판별된 색상 분포를 나타낸다.
도7 은 본 발명의 다른 예에 따른 칼라 채널 코드 인식 장치의 구성을 나타낸다.
도8 는 통계적 분류 방법으로 분류하는 과정의 일예를 나타낸다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로서, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시 예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “...부”, “...기”, “모듈”, “블록” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명의 칼라 채널 코드를 생성하기 위한 색상의 혼합 방식은 빛의 3원색을 이용한 감산 혼합 방식이 적용되는 것으로 가정한다. 일반적으로 색상의 혼합 방식은 크게 두 가지로 구분된다. 한 가지는 색의 혼합으로 사이언(Cyan), 마젠타(Magenta), 옐로우(Yellow)의 색의 3원색을 혼합하는 방식으로 CMYK 색상으로 알려진 색상의 조합이 있다. 그리고 다른 한 가지는 빛의 혼합으로 적색(Red), 파란색(Blue) 및 녹색(Green)의 빛의 3원색을 혼합하는 방식으로 RGB 색상으로 알려져 있다. 본 발명에서는 빛의 3원색과 색의 3원색을 구분하여 표현하기 위하여, 색의 3원색은 영문 명칭에 입각하여 표기한다.
예를 들어, 종래의 기술에 따른 칼라 채널 코드 생성 방법에서 부분 코드(Code1, Code2, Code3) 각각에 색의 3원색을 순차적으로 마젠타, 옐로우, 사이언을 적용하면, 제2 부분 코드(Code1)와 제3 부분 코드(Code3)가 겹쳐져서 출력되는 영역의 색상은 옐로우와 사이언이 중첩되어 출력되므로, 그린(Green)으로 출력된다. 그러나 부분 코드(Code1, Code2, Code3) 각각에 빛의 3원색을 순차적으로 파란색, 적색, 녹색을 적용하면, 제1 부분 코드(Code1)와 제3 부분 코드(Code3)가 겹쳐져서 출력되는 영역의 색상은 파란색과 노란색이 중첩되어 출력되므로, 녹색으로 출력된다. 그리고 부분 코드(Code1, Code2, Code3)를 중첩하여 칼라 채널 코드(Code)를 생성할 때, 빛을 이용하여 출력할지, 색을 이용하여 출력할지에 따라 출력되는 칼라 채널 코드(Code)가 달라진다. 이는 또한 칼라 채널 코드가 어떠한 형태로 출력되는 지에도 연관된다.
본 발명에서는 칼라 채널 코드가 부분 코드(Code1, Code2, Code3)에 각각 빛의 3원색이 적용되어 생성된 것으로 가정하여 설명한다. 칼라 채널 코드는 두 가지 혼합 방식 어느 쪽을 사용하여 생성하여도 무방하나, 빛의 3원색을 혼합하는 방식을 적용하면, 칼라 채널 코드(Code)를 감지하여 부분 코드(Code1, Code2, Code3)를 추출할 때, 각 색상별로 추출하기가 용이하다. 이는 일반적인 카메라나 이외의 각종 영상 감지 장치들이 기본적으로 빛의 3원색을 이용하기 때문이다.
그러나 빛의 3원색을 혼합하는 방식을 적용하는 경우에 부분 코드(Code1, Code2, Code3)가 겹치는 영역이 흰색(White)로 생성될 수 있다. 즉 부분 코드(Code1, Code2, Code3)에 빛의 3원색을 설정하여 출력하게 되면, 부분 코드(Code1, Code2, Code3)가 모두 겹치는 영역은 흰색으로 생성된다. 그러나 어떤 부분 코드(Code1, Code2, Code3)도 출력되지 않은 영역, 즉 여백의 영역 또한 통상적으로 흰색으로 출력된다. 따라서 흰색은 부분 코드(Code1, Code2, Code3)가 모두 겹치는 영역인지 혹은 어떠한 부분 코드(Code1, Code2, Code3)도 출력되지 않은 영역인지 판별하기 어렵다는 문제가 있다. 이에 본 발명에서는 칼라 채널 코드를 생성할 때, 일반적인 빛의 혼합 방식인 가산 혼합 방식이 아니라 감산 혼합 방식을 적용하여 혼합되는 것으로 가정한다. 즉 서로 다른 색상의 빛이 혼합되어 더욱 밝은 색상의 빛으로 생성되는 방법인 가산 혼합 방식이 아니라, 서로 다른 색상의 빛이 혼합되어 색의 혼합과 같이 더욱 어두운 색상의 빛으로 생성되는 감산 혼합 방식을 이용하여 칼라 채널 코드를 생성한다. 이 경우, 도1 에 도시된 바와 같이 3개의 부분 코드(Code1, Code2, Code3)가 모두 겹쳐지는 영역은 검은색으로 생성된다. 또한 2개의 부분 코드가 겹쳐지는 영역들에 대한 색상도 미리 계산하여 생성되는 것으로 가정한다.
도3 은 각각 다른 방식으로 출력된 칼라 채널 코드를 인식한 결과를 나타낸다.
도3 은 기존의 칼라 채널 코드 생성 기법에 따라 데이터를 3개의 부분 데이터(Data1, Data2, Data3)로 분리한 후, 각각 서로 다른 색상으로 지정된 3개의 부분 코드(Code1, Code2, Code3)로 변환한 후 중첩하여 생성된 칼라 채널 코드(Code)를 칼라 채널 코드 인식 장치가 인식하여 다시 3개의 부분 코드(Code1, Code2, Code3)로 분리한 결과를 나타낸다.
도3 에서 (a)는 생성된 칼라 채널 코드(Code) 이미지 데이터를 직접 칼라 채널 코드 인식 장치로 인가하여 칼라 채널 코드(Code)에서 3개의 부분 코드(Code1, Code2, Code3)를 분리한 경우를 나타낸다. 그리고 (b)는 생성된 모니터로 출력된 칼라 채널 코드를 칼라 채널 코드 인식 장치가 감지하여 3개의 부분 코드(Code1, Code2, Code3)를 분리한 경우를 나타낸다. 마지막으로 (c)는 인쇄물로 출력된 칼라 채널 코드를 칼라 채널 코드 인식 장치가 감지하여 3개의 부분 코드(Code1, Code2, Code3)를 분리한 경우를 나타낸다.
도3 의 (a) 내지 (c)에 도시된 바와 같이, 칼라 채널 코드 인식 장치는 칼라 채널 코드(Code)가 출력되는 방식에 따라 칼라 채널 코드(Code)에 표시된 각각의 색상을 구분하는데 오류가 발생할 수가 있다. 도3 에서 (a) 및 (b)는 칼라 채널 코드 인식 장치가 정상적으로 부분 코드(Code1, Code2, Code3)를 분리하였으나, (c)는 (a) 및 (b)와 다르게 분리하였다. 따라서 칼라 채널 코드 인식 장치가 부분 코드를 정확하게 분리하지 못하였으므로, 부분 데이터(Data1, Data2, Data3)를 정확하게 복구하지 못하여, 칼라 채널 코드에 포함된 데이터를 획득하지 못한다. 즉 (c)와 같이 인쇄물로 출력된 칼라 캐널 코드에 대해 칼라 채널 코드 인식 장치가 제대로 인식하지 못하는 경우가 발생한다. 이러한 차이는 원본 칼라 채널 코드(Code) 이미지 데이터와 디스플레이 장치인 모니터를 이용하여 출력되는 칼라 채널 코드(Code) 및 인쇄물로 출력된 칼라 채널 코드(Code)의 색상 차가 발생하기 때문이다.
도3 에서는 칼라 채널 코드(Code)의 이미지 데이터 이외에 모니터로 출력된 칼라 채널 코드와 종이에 인쇄된 칼라 채널 코드(Code)의 경우만 도시하였으나, 칼라 채널 코드(Code)는 인쇄 장치나 디스플레이 장치 및 시각적으로 인식 가능한 모든 수단을 이용하여 출력될 수 있다. 일예로 최근의 QR 코드와 같은 코드의 경우에는 돌이나 벽과 같은 곳에도 새겨지거나 그려지는 경우도 있다. 그러므로 칼라 채널 코드가 출력되는 방식에 따라 동일한 칼라 채널 코드(Code)일지라도 색상차는 더욱 커질 수 있다.
원 데이터(Data)가 3개의 부분 데이터(Data1, Data2, Data3)로 분할되고, 3개로 분할된 부분 데이터(Data1, Data2, Data3)가 서로 다른 색상이 지정된 3개의 부분 코드(Code1, Code2, Code3)로 변환되어 중첩되어 칼라 채널 코드(Code)가 출력되는 경우에도 8가지 색상으로 출력되게 된다. 그리고 칼라 채널 코드(Code)를 인식하는 장치가 8가지 색상을 정확하게 구분하지 못하는 경우 각 부분 코드(Code1, Code2, Code3)를 구분하기 어려워진다. 색상의 구분이 어렵게 되는 것은, 코드 인식 장치에서 단일 색상으로 밀도가 높게 출력된 코드 보다 코드를 인식하는 것을 더욱 어렵게 만들 수 있다. 즉 낮은 밀도의 코드일지라도 색상이 구분되지 않으면, 정확한 코드를 인식할 수 없게 된다.
이에, 칼라 채널 코드 인식 장치는 각 색상을 정확인 구분 할 수 있어야 한다. 칼라 채널 코드 인식 장치가 칼라 채널 코드(Code)의 색상을 정확하게 분석할 수 있도록 하기 위한 방법은 여러 가지가 있을 수 있으며, 예로서 출력물의 색상 제어 방법, 색상 패턴 분석 방법 및 통계적 분석 방법이 사용될 수 있다.
여기서 출력물의 색상 제어 방법은 칼라 채널 코드(Code) 생성 시에 적용될 수 있는 방식으로, 칼라 채널 코드(Code)를 출력하는 장치 각각의 특성을 고려하여칼라 채널 코드(Code)의 색상을 보정하는 방식이다. 특히 칼라 채널 코드가 인쇄물로 출력되는 경우, 인쇄 장치의 특성을 고려하여 칼라 채널 코드(Code)의 색상을 보정하여 출력하도록 한다. 그리고 동일한 종이에 칼라 채널 코드(Code)가 출력되더라도 프린터와 같은 인쇄 장치의 특성에 따라 칼라 채널 코드(Code)의 색상에 차이가 발생할 수 있다. 이에 각각의 인쇄 장치의 서로 다른 특성에 따라 칼라 채널 코드(Code)의 색상을 보정하여 출력한다. 이 경우, 출력되는 칼라 채널 코드(Code)의 색상이 이미 보정되었으므로, 칼라 채널 코드(Code)의 출력 방식에 따른 색상 차이가 줄어들게 되고, 칼라 채널 코드 인식 장치는 칼라 채널 코드(Code)로부터 부분 코드(Code1, Code2, Code3)를 용이하게 분리할 수 있게 된다. 모니터와 같은 디스플레이 장치에서도 마찬가지로 각각의 디스플레이 장치의 특성을 고려하여 칼라 채널 코드(Code)가 출력되도록 함으로서 부분 코드(Code1, Code2, Code3)를 용이하게 분리할 수 있다.
그러나 출력물의 색상 제어 방법은 칼라 채널 코드(Code)가 출력될 출력 장치의 특성을 칼라 채널 코드 생성 장치가 미리 인식하고 있어야 한다는 문제가 있다. 이는 상기한 바와 같이 칼라 채널 코드(Code)가 다양한 방식으로 출력 가능하므로 모든 종류의 칼라 채널 코드 출력 장치에 대응하는 특성을 파악할 수 없다는 문제로 인해 실제로 사용하기 어려운 방법이다. 또한 출력물의 색상 제어 방법에 의해 색상이 보정되어 출력된 칼라 채널 코드(Code)가 비록 정확한 색상을 표현하고 있을지라도, 칼라 채널 코드 인식 장치가 칼라 채널 코드(Code)를 인식하는 환경에 따라 칼라 채널 코드 인식 장치에 인식된 칼라 채널 코드(Code)의 색상에 변화가 발생할 수 있다는 문제가 있다.
예를 들어, 칼라 채널 코드 인식 장치가 칼라 채널 코드(Code)를 카메라 등의 감지 수단을 이용하여 획득하는 경우에, 칼라 채널 코드를 인식할 때의 주변 상황에 따라 칼라 채널 코드의 색상을 정확하게 판별하지 못하는 경우도 발생 할 수 있다. 예를 들어 밝은 낮 시간에 칼라 채널 코드 인식 장치가 칼라 채널 코드(Code)를 획득하는 경우와, 주변 조명이 없는 어두운 밤 시간에 칼라 채널 코드 인식 장치가 칼라 채널 코드(Code)를 획득하는 경우에 동일한 칼라 채널 코드(Code)에 대해서도 서로 다른 색상으로 판별하게 되는 경우가 발생 할 수 있다.
한편 색상 패턴 분석 방법은 색상(Hue)을 분석하는 방법으로, 각 색상별 고유값을 통해서 칼라 채널 코드(Code)의 복수개의 셀 각각의 색상 값을 획득하여 각 셀의 색상을 판별하는 방식이다.
도4 는 본 발명의 일예에 따른 칼라 채널 코드 인식 장치의 구성을 나타내고, 도5 는 색상 패턴 분석 방법의 일예를 나타낸다.
도4 를 참조하면 칼라 채널 코드 인식 장치(10)는 코드 감지부(110), 색상 판별부(120), 패턴 분석부(120), 부분 코드 조합부(140), 데이터 변환부(150) 및 데이터 출력부(160)를 구비한다.
코드 감지부(110)는 외부의 칼라 채널 코드(Code)를 감지하는 칼라 채널 코드 인식 장치(10)의 입력부으로서, 대부분의 칼라 채널 코드가 이미지 형태로 제공되므로, 영상 이미지를 획득할 수 있는 카메라로서 구현되어, 칼라 채널 코드(Code)를 감지한다(S110).
색상 판별부(120)는 칼라 채널 코드(Code)를 모든 영역을 기설정된 샘플링 값으로 샘플링하고, 샘플링된 영역 각각의 색상 값을 획득한다(S120). 여기서 샘플링 값은 코드 감지부(110)에서 감지한 칼라 채널 코드(Code) 전체 영역에서 색상을 판별하기 위해 구분하는 각 영역의 개수를 나타내며, 샘플링 값을 높게(예를 들면 10만개 이상) 샘플링 할수록 칼라 채널 코드(Code)의 정확한 패턴을 파악할 수 있다. 칼라 채널 코드(Code) 또한 기존의 2차원 코드와 유사하게 칼라 채널 코드(Code)내에 특정 형태의 복수개의 셀이 패턴을 형성하고, 이러한 패턴은 데이터(Data)의 내용에 따라 달라진다. 일반적으로 정사각형 형태의 복수개의 셀로 구현되는 패턴이 2차원 코드에 주로 이용된다. 따라서 샘플링 값이 높게 설정되면, 각 셀의 형태를 정확히 분석할 수 있으므로, 칼라 채널 코드(Code)의 패턴을 더욱 정확하게 판단할 수 있게 된다.
색상 값은 복수개의 샘플링 영역 각각에 대해 적색, 녹색, 파란색의 3가지 색상 값(여기서 3가지 색상 값에 대한 좌표를 r, g, b로 표시한다. 그리고 각각의 색상 값은 0~ 255 사이의 값을 가질 수 있는 것으로 가정한다.)을 획득한다. 이는 상기한 바와 같이 적색(R), 녹색(G), 파란색(B)이 빛의 3원색으로 이미지의 색상을 감지하는 기본 색상이기 때문이기도 하며, 또한 도1 의 칼라 채널 코드(Code)가 3가지 색상의 부분코드가 중첩되어 생성되었기 때문이다.
그리고 색상 판별부(120)는 각각의 샘플링 영역에서 획득된 색상 값을 기초로 샘플링 영역 각각의 색상을 판별한다(S130). 기존의 2차원 코드는 코드에 포함된 복수개의 셀이 단색으로 구현되거나, 여러 가지 색상으로 구현되더라도 색상에 대한 의미가 포함되어 있지 않았다. 즉 기존의 2차원 코드는 코드가 여러 색상으로 구현되더라도, 색상에 따라 복구된 데이터(Data)의 값에는 차이가 없었다. 그러나 칼라 채널 코드(Code)는 각 셀의 색상에 따라 복구되는 데이터(Data)가 달라지므로, 복수개의 셀 각각의 색상이 명확하게 판별되어야 한다.
색상 판별부(120)는 복수개의 샘플링 영역 각각에 대한 색상 값이 획득되면, 획득된 색상 값이 칼라 채널 코드(Code)에서 지정될 수 있는 8가지 색상 중 어떤 색에 속하는지 판별한다. 각 샘플링 영역의 색상은 3색(적색, 녹색, 파란색)의 부분 코드의 중첩으로 인해 나타날 수 있는 색상인 8가지 색상(적색, 녹색, 파란색, 노란색(yellow), 청록색(cyan), 자주색(magent), 흰색, 검은색) 중 하나로 판별되어야 한다. 색상 판별부(120)가 획득한 색상 값을 기초로 각 샘플링 영역의 색상을 판별하는 방법은 수학식 1과 같이 표현될 수 있다.
Figure 112012022958733-pat00001
(여기서 ≫는 두 개의 색상 값이 제1 기준값 이상의 차이를 가짐을 의미하는 기호이며, ~ 는 두 개의 색상 값이 제2 기준값 이내의 차이로 유사하다는 것을 의미하는 기호이며, 제1 내지 제4 기준 값은 각각 기설정된 값이다.)
수학식 1을 참조하면, 각각의 샘플링 영역에서 획득된 색상 값에서 r 값이 g 값 및 b 값이 모두 제1 기준 값보다 크고, g 값과 b 값의 차이는 제2 기준 값 이내인 경우에 해당 샘플링 영역의 색상은 적색으로 판별된다.
그리고 청록색은 획득된 색상 값에서 g 값과 b 값이 각각 r 값보다 제1 기준값 이상으로 크고, g 값과 b 값의 차이는 제2 기준 값 이내인 경우에 판별된다.
그리고 각각 r값과 g값 및 b 값이 모두 기설정된 제1 기준값보다 작은 색상 값 차이를 갖고, r값과 g값 및 b 값이 모두 제3 기준 값 이상인 경우에는 흰색으로 판별되고, r값과 g값 및 b 값이 모두 제4 기준 값 미만인 경우에는 검은 색으로 판별된다.
본 발명에서는 제1 내지 제4 기준 값 각각은 각각 색상 판별부(120)에 기설정된 값인 것으로 가정하지만, 경우에 따라서는 사용자가 입력할 수도 있다. 또한 제3 및 제4 기준 값은 동일한 값으로 설정되어도 무방하며, 경우에 따라서는 복수개의 샘플링 영역의 색상 평균값을 사용할 수도 있다.
결과적으로, 도4 의 색상 판별부(120)는 3개의 색상 값(r, g, b)를 서로 비교하여 각 샘플링 영역의 색상을 판별한다.
패턴 분석부(130)는 색상 판별부(120)에서 판별한 복수개의 샘플링 영역별 색상에 따라 칼라 채널 코드(Code)에 포함된 복수개의 셀의 크기 및 형태인 패턴(pattern)을 판별한다(S150). 패턴 분석부(130)는 복수개의 샘플링 영역 각각에서 동일한 색으로 판별된 샘플링 영역들을 모아 하나의 셀로 판별하며, 칼라 채널 코드(Code)의 전체 크기와 칼라 채널 코드(Code)에 포함된 각 셀의 크기를 판별하고, 각각의 셀의 위치를 판별한다.
이때 색상 판별부(130)가 샘플링 영역 각각의 색상 값을 판별할 때, 셀의 경계(border) 영역의 색상이 불분명하지 않아 셀의 크기 및 위치를 판별할 때 오차가 발생할 가능성이 있다. 이는 코드 감지부(110)를 통해 감지한 칼라 채널 코드(Code)의 이미지는 원본 칼라 채널 코드(Code)와 달리 칼라 채널 코드(Code)의 출력 조건이나 칼라 채널 코드(Code)의 감지 조건에 따라 왜곡이 발생한다. 이러한 왜곡은 일반적으로 셀 경계에서 크게 나타난다. 따라서 셀의 경계 역역에서는 셀 경계의 불명확함으로 인해 인접한 셀의 색상이 중첩될 수 있다. 이러한 셀 경계 영역에서의 색상의 오차를 줄이기 위하여 색상 판별부(120)는 높은 샘플링 값(예를 들면 10만)으로 칼라 채널 코드(Code)를 샘플링하고, 각각의 샘플링 영역의 색상 값을 획득하여 판별하는 것이 바람직하다. 이는 샘플링 값이 높을수록 셀의 경계를 명확하게 구분할 수 있기 때문이다.
패턴 분석부(130)에서 복수개의 셀 각각의 크기 및 위치를 색상을 판별하면, 부분 코드 추출부(140)는 색상 판별부(120)에서 판별한 복수개의 셀 각각의 색상에 따라 색상이 중첩된 셀과 중첩되지 않은 셀을 구분하여 3개의 부분 코드(Code1, Code2, Code3)를 획득한다(S150). 상기한 8가지 색상 중 기본 3색(적색, 녹색, 파란색)으로 판단된 셀이 먼저 각각의 서로 다른 부분 코드(Code1, Code2, Code3)에 배치된다. 도1 및 도2 에 도시한 바와 같이, 본 발명에서도 제1 부분 코드(Code1)가 적색의 부분 코드이고, 제2 부분 코드(Code1)가 녹색의 부분 코드이며, 그리고 제3 부분 코드(Code3)가 파란색의 부분 코드인 것으로 가정하여 설명한다. 그리고 노란색으로 판별된 셀은 제1 및 제2 부분 코드(Code1, Code2)의 동일한 위치에 각각 배치되고, 청록색으로 판별된 셀은 제2 및 제3 부분 코드(Code2, Code3)의 동일한 위치에 각각 배치되며, 자주색으로 판별된 셀은 제1 및 제3 부분 코드(Code1, Code3)의 동일한 위치에 각각 배치된다. 흰색으로 판별된 셀은 셀 색상이 지정되지 않은 것으로 판단하여 제1 내지 제3 부분 코드(Code1, Code2, Code3)에 배치하지 않는 반면, 검은 색으로 판별된 셀은 제1 내지 제3 부분 코드(Code1, Code2, Code3) 모두의 동일한 위치에 각각 배치된다.
이러한 과정으로 부분 코드 추출부(140)는 하나의 칼라 채널 코드(Code)로부터 3개의 부분 코드(Code1, Code2, Code3)를 추출하여 획득한다.
데이터 변환부(150)는 부분 코드 추출부(140)에서 획득한 3개의 부분 코드(Code1, Code2, Code3) 각각을 변환하여 3개의 부분 데이터(Data1, Data2, Data3)를 획득하고(S160), 획득된 3개의 부분 데이터(Data1, Data2, Data3)를 병합하여 데이터(Data)를 복원하여 획득한다(S170). 이때, 3개의 부분 데이터(Data1, Data2, Data3)는 지정된 색상에 따라 데이터(Data)에서의 위치가 지정될 수도 있으며, 3개의 부분 데이터(Data1, Data2, Data3) 각각에 데이터(Data)에서 포함될 위치가 설정되어도 무방하다. 본 발명에서는 일예로 3개의 부분 코드(Code1, Code2, Code3)에 할당된 색상에 따라 3개의 부분 데이터(Data1, Data2, Data3)가 순서대로 데이터(Data)로 병합되도록 기 설정되어 있는 것으로 가정한다.
그리고 칼라 채널 코드 인식 장치(10)의 데이터 출력부(150)는 복구된 데이터(Data)를 디스플레이 장치로 출력하거나, 복구된 데이터(Data)가 특정 사이트에 대한 링크 주소인 경우, 해당 사이트로 직접 접속할 수 있도록 출력한다(S180).
도6 은 색상 패턴 분석 방법에 따라 판별된 색상 분포를 나타낸다.
도6 에 도시된 바와 같이, 색상 패턴 분석 방법에 따라 복수개의 셀의 색상 분포를 판별하면, 동일한 칼라 채널 코드가 서로 다르게 출력되거나 다른 환경에서 감지되더라도 각 셀의 색상을 비교적 정확하게 판별할 수 있다. 즉 출력 방식이나 감지 환경에 따른 색상 차를 보정하여 정확한 데이터를 복원할 수 있다.
상기에서는 칼라 채널 코드 인식 장치가 1개의 색상 판별부(120)를 구비하여 기설정된 샘플링 값에 따라 칼라 채널 코드(Code) 전체 영역을 샘플링하고, 샘플링 영역 각각의 색상을 판별하여 칼라 채널 코드(Code)의 셀 패턴을 확인하는 것으로 설명하였다. 그러나 경우에 따라서는 2개의 색상 판별부를 구비하고, 제1 색상 판별부는 낮은 샘플링 값(예를 들면 1000)으로 샘플링 영역에 색상을 판별하여 패턴 분석부(130)가 칼라 채널 코드(Code)에 포함된 복수개의 셀 크기 및 위치를 확인하도록 하고, 제2 색상 판별부가 복수개의 셀 각각의 중심 영역에 대해서 높은 샘플링 값(예를 들면 10만)으로 색상을 판별하도록 하여, 칼라 채널 코드(Code)에 포함된 복수개의 셀 각각의 색상을 정확하게 판별할 수 있도록 구성할 수도 있다. 이는 일반적으로 칼라 채널 코드(Code)의 복수개의 셀 각각이 기설정된 크기 및 형태로 제공되므로 가능하다. 그리고 제1 및 제2 색상 판별부가 동일한 샘플링 값을 갖더라도, 복수개의 셀 각각의 중심 영역에 대해서만 샘플링을 수행하는 제2 색상 판별부에 의해 샘플링 되는 영역이 더욱 높은 샘플링 밀도를 가질 수 있게 된다. 예를 들면, 셀의 중심 영역이 각 셀의 전체 면적의 중앙 1/4 영역으로 설정된 경우, 제1 색상 판별부가 칼라 채널 코드(Code)의 전체 영역에 대해 1000의 샘플링 값으로 샘플링 하는 경우에 비해, 칼라 채널 코드(Code)에서 제2 색상 판별부가 각 셀의 중심 영역에 대해 1000의 샘플링 값으로 샘플링 하더라도 동일한 면적에 대한 샘플링 비율은 4배로 높으므로, 각각의 셀의 색상이 더욱 정확하게 판별될 수 있다. 또한 색상 판별의 오류 가능성이 높은 셀 경계 영역에 대한 색상을 판별하지 않기 때문에 정확한 색상을 판별할 수 있다.
마지막으로 통계적 분석 방법은 칼라 채널 코드(Code)의 복수개의 샘플링 각각의 색상 값을 획득하고, 획득된 색상 값을 통계 값에 기초하여 분류하여 샘플링 영역의 색상을 판별하는 방법이다.
도7 은 본 발명의 다른 예에 따른 칼라 채널 코드 인식 장치의 구성을 나타낸다.
도7 을 참조하면, 칼라 채널 코드 인식 장치(20)는 코드 감지부(210), 색상 분류부(220), 패턴 분석부(230), 부분 코드 조합부(240), 데이터 변환부(250) 및 데이터 출력부(260)를 구비한다. 도7 의 칼라 채널 코드 인식 장치(20)에서 코드 감지부(210), 패턴 분석부(220), 부분 코드 조합부(240), 데이터 변환부(250) 및 데이터 출력부(260)는 도4 의 칼라 채널 코드 인식 장치(10)와 동일한 구성을 갖는다.
따라서 도7 에서는 색상 분류부(230)의 동작에 대해서만 설명한다. 도7 의 색상 분류부(230)는 각 샘플링 영역에서 획득된 3개의 기본 색상 값을 서로 비교하여 색상을 판별하는 도4 의 색상 판별부(120)와 달리 통계 값에 기초하여 색상을 분류한다. 본 발명에서 색상 분류부(230)는 통계적 분류 방법으로서 결정 트리(Decision Tree) 기법을 이용하여 복수개의 셀의 색상을 판별하는 것으로 가정하여 설명한다. 결정 트리는 데이터 마이닝(data mining) 분석의 대표적인 분석 방법으로, 인공지능, 기계학습, 통계분석에서 많이 활용 되고 있는 기법이다. 결정 트리는 주어진 데이터를 분류(Classification)하는 목적으로 사용되며, 분류 과정을 트리 형태로 표현하여, 동작 원리를 이해하기 쉽고, 구현이 간단하며, 빠른 분류가 가능한 장점이 있다.
색상 분류부(230)는 결정 트리 기법에 따라 색상을 분류하는 적어도 하나의 색상 분류기를 구비하고, 적어도 하나의 색상 분류기 각각은 각 셀에서 획득된 색상 값을 기초로 해당 셀의 색상을 분류한다. 색상 분류부(230)가 하나의 색상 분류기를 구비하는 경우에, 색상 분류기는 3가지 기본 색상 각각에 대해 결정 트리 기법을 적용하여 3가지 기본 색상의 색상 값을 0 또는 255로 판별한다. 이는 상기한 바와 같이, 기본 3색의 각각의 색상 값이 0 ~ 255 사이의 값을 가질 수 있는 것으로 가정하였기 때문이다. 즉 색상 값은 기본 3색 각각이 0 ~ 255 사이의 값을 가지므로, 색상 분류기가 샘플링 영역에서 측정한 색상 값은 [R,G,B]값의 형태로 [0, 0, 0] ~ [255, 255, 255]의 값을 가지게 되고, 색상 분류기는 [0, 0, 0] ~ [255, 255, 255] 사이의 값을 갖는 색상 값을 [0, 0, 0], [0, 0, 255], [0, 255, 0], [255, 0, 0], [0, 255, 255], [255, 255, 0], [255, 0, 255], [255, 255, 255]의 8가지 색상 값 중 하나의 색상 값으로 변환한다. 즉 색상 분류기는 샘플링 영역에서 측정한 색상 값을 8개의 분류 색상으로 분류한다.
도8 는 통계적 분류 방법으로 분류하는 과정의 일예를 나타낸다.
도8 은 색상 분류기가 녹색의 색상 값을 분류하는 예를 나타낸다. 루트노드를 포함한 내부 노드는 분기의 기준이 되는 특징을 나타내고 간선은 분기 시 기준이 되는 특징의 값을 표시한다. 그리고 말단노드는 분류의 결과를 표시한다.
도8 에서는 샘플링 영역에서 측정한 색상 값이 [76, 194, 90]인 경우를 가정한다. 결정 트리는 루트노드로부터 분류를 시작하며, 먼저 녹색의 색상 값(이하 G값)이 96보다 큰지 작은지에 따라 왼쪽 혹은 오른쪽 자식으로 분기하게 된다. 입력된 G값이 194로 96보다 크기 때문에 오른쪽 자식노드로 이동한다. 이후 G값을 120과 비교한다. G값이 120보다 크기 때문에 다시 오른쪽 자식노드로 이동하게 된다. 이동한 노드가 말단 노드이고 255란 값을 가지고 있다. 즉, 색상 분류기는 샘플링 영역의 G 값을 255로 분류한다.
다른 예로서 샘플링 영역에서 측정한 색상 값이 [86, 87, 80]인 경우를 가정하여 G 값을 분류하면, 우선 G 값이 96 보다 작으므로 왼쪽 자식으로 분기한다. 이후 G 값을 82와 비교한다. G값이 82보다 크므로, 오른쪽 자식으로 분기한다. 그리고 오른쪽 자식으로 분기하면 분기 노드의 분기 기준이 G 값이 아니라 B 값을 갖고 있다. 즉 G 값을 분류하기 위해 B 값을 비교해야 한다. 이에 B 값이 56보다 크므로, G 값은 오른쪽 자식 노드로 이동하고, 이동한 노드가 말단 노드이고 0의 값을 가지고 있으므로, 해당 샘플링 영역에서의 G 값은 0으로 분류된다.
유사하게 색상 분류기는 샘플링 영역에서 측정한 색상 값이 [197, 85, 77]이면, 색상 분류기는 샘플링 영역의 색상 값을 [255, 0, 0]으로 복원하여 적색으로 분류할 수 있다. 그리고 측정한 색상 값이[203, 40, 96]이면, [255, 0, 255]로 복원하여 자주색으로 분류한다.
각각의 노드의 분류 기준은 색상 분류기가 통계적 기법에 따른 학습으로 결과로서 획득할 수 있다. 색상 분류기는 변형된 색 샘플을 다수 수집하고, 각 샘플은 변형된 색과 그 색의 변형되기 전 색을 포함한다. 이렇게 수집한 샘플을 훈련 샘플이라 하며, 학습 알고리즘은 이 훈련 샘플을 통해 색상 분류기를 학습시킨다. 훈련 샘플을 통해 색상 분류기를 학습 시키는 경우, 학습 샘플의 수가 많아질수록 더욱 색상 판별이 가능해진다.
상기에서는 하나의 색상 분류기가 기본 3색 모두를 분류하는 것으로 도시하였으나, 경우에 따라서는 색상 분류부(220)가 복수개의 색상 분류기를 구비하고, 복수개의 색상 분류기가 각각 대응하는 색상을 분류하도록 하면 더욱 빠르게 색상을 분류할 수 있다. 예를 들면 색상 분류부(220)가 각각 기본 3색 중 하나의 색상을 분류하는 3개의 색상 분류기를 구비하여 병렬 처리로 색상을 분류할 수도 있다. 이 경우, 색상 분류부(220)는 복수개의 색상 분류기에서 각각 분류된 색상을 조합하여 샘플링 영역의 색상을 결정하는 색상 결정부를 추가로 구비할 수 있다.
본 발명에서 결정 트리를 학습시키는 알고리즘들로는 ID3 알고리즘, C4.5 알고리즘, C5.0 알고리즘, CART 알고리즘, 및 CHAID 알고리즘 중 하나의 알고리즘이 사용될 수 있다. 그리고 색상 판별기의 결정 트리 기법을 학습시키기 위해 본 발명에서는 Weka(Waikato Environment for Knowledge Analysis)(C4.5 (J48) 알고리즘)를 활용하는 것으로 가정하였다.
그러나 본 발명에 따른 색상 분류기(230)는 결정 트리 기법 이외에 신경망 기법이나 SVM(Support Vector Machine)과 같은 다른 종류의 통계적 분류 알고리즘을 이용하여도 무방하다. 또한 서로 다른 2개 이상의 통계적 분류 알고리즘을 함께 사용할 수도 있다.
본 발명에 따른 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록 청구 범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (6)

  1. 외부의 칼라 채널 코드의 이미지를 감지하여 입력하는 감지부;
    상기 칼라 채널 코드를 기 설정된 샘플링 값으로 샘플링하여 복수개의 샘플링 영역 각각의 색상 값을 획득하고, 획득된 색상 값을 통계적 기법에 따라 기 생성된 분류 값을 기준으로 분류하여 상기 샘플링 영역 각각의 색상을 판별하는 적어도 하나의 색상 분류기를 구비하는 색상 분류부;
    상기 샘플링 영역 각각의 색상에 따라 상기 칼라 채널 코드에 포함된 복수개의 셀의 크기와 색상 및 위치를 판별하는 패턴 분석부; 및
    상기 복수개의 셀의 크기와 색상 및 위치에 따라 상기 칼라 채널 코드를 복수개의 부분 코드로 구분하고, 상기 구분된 복수개의 부분 코드 각각을 부분 데이터로 변환하고 병합하여 데이터를 복원하는 데이터 변환부; 를 포함하는 칼라 채널 코드 인식 장치.
  2. 제1 항에 있어서, 상기 색상 분류부는
    상기 통계적 기법으로 결정 트리 기법, 신경망 기법 및 SVM(Support Vector Machine) 중 하나의 기법을 이용하여 상기 분류값을 설정하는 것을 특징으로 하는 칼라 채널 코드 인식 장치.
  3. 제1 항에 있어서, 상기 색상 분류부는
    상기 복수개의 샘플링 영역 각각에 대해 기 설정된 3개의 기본 색상 각각에 대한 색상 값을 획득하고, 상기 3개의 기본 색상 각각에 대한 색상 값을 상기 3개의 기본 색상 각각에 대해 설정된 상기 분류값과 비교하여, 상기 복수개의 샘플링 영역 각각의 색상을 상기 3개의 기본 색상의 조합으로 생성 가능한 8개의 분류 색상으로 분류하는 하나의 색상 분류기를 구비하는 것을 특징으로 하는 칼라 채널 코드 인식 장치.
  4. 제1 항에 있어서, 상기 색상 분류부는
    상기 복수개의 샘플링 영역 각각에 대해 기 설정된 3개의 기본 색상 각각에 대한 색상 값을 획득하고, 상기 3개의 기본 색상 중 대응하는 하나의 색상을 분류하는 3개의 색상 분류기; 및
    상기 3개의 색상 분류기에 의해 분류된 3개의 색상을 조합하여 8개의 분류 색상으로 조합하는 색상 결정부; 를 구비하는 것을 특징으로 하는 칼라 채널 코드 인식 장치.
  5. 제3 항 및 제4 항 중 어느 한 항에 있어서, 상기 색상 분류부는
    상기 분류값을 각각 포함하는 복수개 내부 노드, 분류의 결과를 포함하는 복수개의 말단 노드, 및 상기 복수개의 내부 노드와 상기 복수개의 말단 노드 사이를 연결하는 간선을 포함하는 결정 트리 기법을 이용하여 상기 샘플링 영역의 상기 색상 값을 상기 8개의 분류 색상으로 분류하고,
    상기 결정 트리 기법은 ID3 알고리즘, C4.5 알고리즘, C5.0 알고리즘, CART 알고리즘, 및 CHAID 알고리즘 중 하나의 알고리즘을 이용하여 학습되어 상기 분류 값을 설정하는 것을 특징으로 하는 칼라 채널 코드 인식 장치.
  6. 외부의 칼라 채널 코드의 이미지를 감지하여 입력하는 감지부;
    상기 칼라 채널 코드를 기 설정된 샘플링 값으로 샘플링하여 복수개의 샘플링 영역 각각에서 기본 3색에 대한 색상 값을 획득하고, 획득된 3개의 색상 값을 서로 비교하여 상기 샘플링 영역 각각의 색상을 8개의 색상으로 판별하는 색상 판별부;
    상기 샘플링 영역 각각의 색상에 따라 상기 칼라 채널 코드에 포함된 복수개의 셀의 크기와 색상 및 위치를 판별하는 패턴 분석부; 및
    상기 복수개의 셀의 크기와 색상 및 위치에 따라 상기 칼라 채널 코드를 복수개의 부분 코드로 구분하고, 상기 구분된 복수개의 부분 코드 각각을 부분 데이터로 변환하고 병합하여 데이터를 복원하는 데이터 변환부; 를 포함하고,
    상기 색상 판별부는
    수식
    적색 : r≫g && r≫b && g~b
    녹색 : g≫r && g≫b && r~b
    파란색 : b≫r && b≫g && r~g
    청록색 : g≫r && b≫r && g~b
    자주색 : r≫g && b≫g && r~b
    노란색 : r≫b && g≫b && r~g
    흰색 : r~b~g ≥ 제3 기준값
    검은색 : r~b~g < 제4 기준값
    (여기서 ≫는 두 개의 색상 값이 제1 기준값 이상의 차이를 가짐을 의미하는 기호이며, ~ 는 두 개의 색상 값이 제2 기준값 이내의 차이로 유사하다는 것을 의미하는 기호이며, 제1 내지 제4 기준 값은 각각 기설정된 값이다.)
    에 의해 상기 8개의 색상을 판별하는 것을 특징으로 하는 칼라 채널 코드 인식 장치.
KR1020120028924A 2012-03-21 2012-03-21 칼라 채널 코드 인식 장치 KR101288754B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120028924A KR101288754B1 (ko) 2012-03-21 2012-03-21 칼라 채널 코드 인식 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120028924A KR101288754B1 (ko) 2012-03-21 2012-03-21 칼라 채널 코드 인식 장치

Publications (1)

Publication Number Publication Date
KR101288754B1 true KR101288754B1 (ko) 2013-07-23

Family

ID=48997862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120028924A KR101288754B1 (ko) 2012-03-21 2012-03-21 칼라 채널 코드 인식 장치

Country Status (1)

Country Link
KR (1) KR101288754B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112215319A (zh) * 2020-08-09 2021-01-12 向天鸽 颜色标记特征图形的二维码及其识别方法
US20210089797A1 (en) * 2018-06-12 2021-03-25 Conti Temic Microelectronic Gmbh Method for Detecting Beacons

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323585A (ja) 2002-04-30 2003-11-14 Toppan Forms Co Ltd 2次元コード読取方法および2次元コード読取システム並びにこれらに使用される2次元コードが付された物品
KR20060044805A (ko) * 2004-11-05 2006-05-16 주식회사 칼라짚미디어 혼합코드 및 혼합코드 인코딩 방법과 장치
KR100653885B1 (ko) 2004-11-05 2006-12-05 주식회사 칼라짚미디어 혼합코드 디코딩 방법 및 그 장치
KR20080106185A (ko) * 2006-02-23 2008-12-04 마이크로소프트 코포레이션 향상된 압축을 위한 이미지 데이터의 사전 처리 방법, 디지털 이미지 데이터 신장 방법, 및 컴퓨터 프로그램 제품

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323585A (ja) 2002-04-30 2003-11-14 Toppan Forms Co Ltd 2次元コード読取方法および2次元コード読取システム並びにこれらに使用される2次元コードが付された物品
KR20060044805A (ko) * 2004-11-05 2006-05-16 주식회사 칼라짚미디어 혼합코드 및 혼합코드 인코딩 방법과 장치
KR100653885B1 (ko) 2004-11-05 2006-12-05 주식회사 칼라짚미디어 혼합코드 디코딩 방법 및 그 장치
KR20080106185A (ko) * 2006-02-23 2008-12-04 마이크로소프트 코포레이션 향상된 압축을 위한 이미지 데이터의 사전 처리 방법, 디지털 이미지 데이터 신장 방법, 및 컴퓨터 프로그램 제품

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210089797A1 (en) * 2018-06-12 2021-03-25 Conti Temic Microelectronic Gmbh Method for Detecting Beacons
US12014632B2 (en) * 2018-06-12 2024-06-18 Conti Temic Microelectronic Gmbh Method for detecting beacons
CN112215319A (zh) * 2020-08-09 2021-01-12 向天鸽 颜色标记特征图形的二维码及其识别方法
CN112215319B (zh) * 2020-08-09 2023-09-15 向天鸽 颜色标记特征图形的二维码及其识别方法

Similar Documents

Publication Publication Date Title
CN111401372B (zh) 一种扫描文档图文信息提取与鉴别的方法
JP4323328B2 (ja) 取り込み画像データから文字列を識別して抜出するシステムおよび方法
Pape et al. Utilizing machine learning approaches to improve the prediction of leaf counts and individual leaf segmentation of rosette plant images
CN101295359B (zh) 图像处理装置及图像处理方法
CN104408449B (zh) 智能移动终端场景文字处理方法
CN105095892A (zh) 基于图像处理的学生文档管理系统
Sheikh et al. Traffic sign detection and classification using colour feature and neural network
CN104978565B (zh) 一种普适性的图像文字提取方法
JP5830338B2 (ja) 帳票認識方法および帳票認識装置
CN109740572A (zh) 一种基于局部彩色纹理特征的人脸活体检测方法
CN114155527A (zh) 一种场景文本识别方法和装置
Duth et al. Color detection in RGB-modeled images using MAT LAB
KR101813223B1 (ko) 영상 표면의 결함을 검출 및 분류하는 방법 및 장치
Mahale et al. Image inconsistency detection using local binary pattern (LBP)
CN106845513A (zh) 基于条件随机森林的人手检测器及方法
CN112241730A (zh) 一种基于机器学习的表格提取方法和系统
CN110912917A (zh) 恶意url检测方法及系统
CN102129562A (zh) 图标识别方法和装置
KR101288754B1 (ko) 칼라 채널 코드 인식 장치
Wang et al. Local defect detection and print quality assessment
KR101672814B1 (ko) 랜덤 포레스트를 이용한 성별인식 방법
CN101802844B (zh) 用于将分割引擎应用于数字图像的不同映射的方法和设备
Hedjam et al. Ground-truth estimation in multispectral representation space: Application to degraded document image binarization
Swapna et al. Deep learning based road traffic sign detection and recognition
JP2014071556A (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190715

Year of fee payment: 7