KR20200136239A - Method and apparatus for recognizing image code using machine learning - Google Patents

Method and apparatus for recognizing image code using machine learning Download PDF

Info

Publication number
KR20200136239A
KR20200136239A KR1020190062075A KR20190062075A KR20200136239A KR 20200136239 A KR20200136239 A KR 20200136239A KR 1020190062075 A KR1020190062075 A KR 1020190062075A KR 20190062075 A KR20190062075 A KR 20190062075A KR 20200136239 A KR20200136239 A KR 20200136239A
Authority
KR
South Korea
Prior art keywords
image code
pixel area
image
recognizing
code recognition
Prior art date
Application number
KR1020190062075A
Other languages
Korean (ko)
Other versions
KR102275585B1 (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 KR1020190062075A priority Critical patent/KR102275585B1/en
Publication of KR20200136239A publication Critical patent/KR20200136239A/en
Application granted granted Critical
Publication of KR102275585B1 publication Critical patent/KR102275585B1/en

Links

Images

Classifications

    • 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/1482Methods for optical code recognition the method including quality enhancement steps using fuzzy logic or natural solvers, such as neural networks, genetic algorithms and simulated annealing
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)

Abstract

Provided are a device for recognizing an image code using machine learning and a method thereof. The device for recognizing an image code comprises: a control unit extracting a pixel area corresponding to an image code in an image photographed by a camera to convert the pixel area based on a relative position between vertices on the boundary of the pixel area, and recognizing the image code in the converted pixel area; and an input/output unit obtaining the image.

Description

기계학습을 이용한 이미지코드를 인식하는 장치 및 방법{METHOD AND APPARATUS FOR RECOGNIZING IMAGE CODE USING MACHINE LEARNING}Device and method for recognizing image codes using machine learning {METHOD AND APPARATUS FOR RECOGNIZING IMAGE CODE USING MACHINE LEARNING}

본 명세서에서 개시되는 실시예들은 기계학습을 이용한 이미지코드를 인식하는 방법 및 장치에 관한 것으로, 보다 상세하게는 기계학습을 이용하여 카메라를 통해 촬영된 이미지에서 이미지코드가 표시된 영역을 식별하고, 식별된 이미지코드가 촬영된 시점에 따라 형상이 왜곡된 이미지코드를 변환하여 이미지코드의 인식률을 높이는 방법 및 장치에 관한 것이다.The embodiments disclosed in this specification relate to a method and apparatus for recognizing an image code using machine learning, and more particularly, to identify and identify a region in which an image code is displayed in an image captured by a camera using machine learning. The present invention relates to a method and apparatus for increasing the recognition rate of an image code by converting an image code whose shape is distorted according to a point in time at which the image code is captured.

간편결제 등이 확산됨에 따라 이미지코드를 이용한 결제정보를 획득하는 방식이 보편화되고 있다. With the spread of simple payment and the like, a method of obtaining payment information using an image code is becoming more common.

사용자가 단말의 카메라를 이용하여 이미지코드를 촬영하면, 촬영된 이미지로부터 이미지코드를 식별하여 이미지코드에 포함된 정보가 추출되어 결제 또는 이미지코드가 부착된 상품을 식별한다. When a user photographs an image code using a camera of a terminal, the image code is identified from the captured image, and information included in the image code is extracted to identify payment or a product to which the image code is attached.

이때, 사용자가 이미지코드를 촬영하는 방향 및 각도에 따라 촬영된 이미지에 포함된 이미지코드가 왜곡될 수 있고, 촬영된 이미지로부터 이미지코드를 식별하지 못하는 문제점이 발생할 수 있다. In this case, the image code included in the captured image may be distorted according to the direction and angle at which the user shoots the image code, and a problem in that the image code cannot be identified from the captured image may occur.

또는 촬영시점에 따라 이미지코드가 왜곡됨에 따라 이미지코드를 잘못 인식되는 문제점이 발생할 수 있다. Alternatively, as the image code is distorted according to the time of photographing, a problem of misrecognizing the image code may occur.

관련하여 선행기술 문헌인 한국특허공개번호 제10-2010-0034888호에서는 이미지 촬영 기능을 갖는 바코드 스캐너에 관한 것으로, 1차원 바코드 뿐만 아니라 2차원 바코드도 함께 리딩할 수 있으며, 별도의 카메라 없이도 바코드 스캐너를 이용하여 스캐닝 동작과 이미지 촬영을 함께 할 수 있어 영상 정보의 보관 및 재고 관리, 문서 관리가 용이한 이미지 촬영 기능을 갖는 바코드 스캐너를 제공할 뿐, 촬영시점에 따른 왜곡된 이미지코드를 정확하게 식별하지 못한다. A related prior art document, Korean Patent Publication No. 10-2010-0034888, relates to a barcode scanner having an image capturing function, which can read not only one-dimensional barcodes but also two-dimensional barcodes, and a barcode scanner without a separate camera. It provides a barcode scanner with an image capture function that makes it easy to store image information, manage inventory, and manage documents as it can perform scanning operation and image capture. It does not accurately identify distorted image codes at the time of shooting. can not do it.

따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.Therefore, there is a need for a technique to solve the above-described problem.

한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the above-described background technology is technical information that the inventor possessed for derivation of the present invention or acquired during the derivation process of the present invention, and is not necessarily known to be publicly known before filing the present invention. .

본 명세서에서 개시되는 실시예들은, 기계학습을 이용한 이미지코드를 인식하는 장치 및 방법을 제시하는데 목적이 있다. The embodiments disclosed in the present specification aim to provide an apparatus and method for recognizing an image code using machine learning.

본 명세서에서 개시되는 실시예들은, 기계학습을 통해 카메라 시점에서 촬영된 이미지로부터 이미지코드를 정확하게 식별하는 이미지코드를 인식하는 장치 및 방법을 제시하는 데 목적이 있다. The embodiments disclosed in the present specification aim to provide an apparatus and method for recognizing an image code that accurately identifies an image code from an image captured from a camera viewpoint through machine learning.

본 명세서에서 개시되는 실시예들은, 촬영시점에 따라 왜곡된 이미지코드에 대응되는 픽셀영역을 획득하고, 획득된 픽셀 영역의 꼭지점을 기초로 변환된 이미지코드를 인식하는 장치 및 방법을 제시하는 데 목적이 있다. The embodiments disclosed in this specification are to provide an apparatus and method for acquiring a pixel area corresponding to an image code distorted according to a photographing point and recognizing a converted image code based on the vertex of the acquired pixel area. There is this.

본 명세서에서 개시되는 실시예들은, 변환된 픽셀 영역 내 이미지코드의 인식이 정상인지 여부를 식별하는 이미지코드를 인식하는 장치 및 방법을 제시하는 데 목적이 있다. Embodiments disclosed in the present specification aim to provide an apparatus and method for recognizing an image code for identifying whether or not the image code in a converted pixel region is normally recognized.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면, 이미지코드를 인식하는 장치에 있어서, 카메라를 통해 촬영된 이미지 내에서 이미지코드에 대응되는 픽셀 영역을 추출하여 상기 픽셀 영역의 경계상의 꼭지점 간 상대적인 위치를 기초로 상기 픽셀 영역을 변환하고, 변환된 픽셀 영역내의 이미지코드를 인식하는 제어부 및 상기 이미지를 획득하는 입출력부를 포함할 수 있다. As a technical means for achieving the above-described technical problem, according to an embodiment, in an apparatus for recognizing an image code, a pixel area corresponding to an image code is extracted from an image photographed by a camera to determine the boundary of the pixel area. A control unit for converting the pixel area based on a relative position between the vertices of the image and recognizing an image code in the converted pixel area, and an input/output unit for obtaining the image.

다른 실시예에 따르면, 이미지코드인식장치가 이미지코드를 인식하는 방법에 있어서, 카메라를 통해 촬영된 이미지 내에서 이미지코드에 대응되는 픽셀 영역을 추출하는 단계 및 상기 픽셀 영역의 경계상의 꼭지점 간 상대적인 위치를 기초로 상기 픽셀 영역을 변환하고, 변환된 픽셀 영역내의 이미지코드를 인식하는 단계를 포함할 수 있다. According to another embodiment, in a method of recognizing an image code by an image code recognition apparatus, extracting a pixel area corresponding to an image code from an image captured by a camera, and a relative position between vertices on a boundary of the pixel area It may include converting the pixel region based on and recognizing an image code in the converted pixel region.

또 다른 실시예에 따르면, 이미지코드인식방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체에 있어서, 상기 이미지코드인식방법은, 카메라를 통해 촬영된 이미지 내에서 이미지코드에 대응되는 픽셀 영역을 추출하는 단계 및 상기 픽셀 영역의 경계상의 꼭지점 간 상대적인 위치를 기초로 상기 픽셀 영역을 변환하고, 변환된 픽셀 영역내의 이미지코드를 인식하는 단계를 포함할 수 있다. According to another embodiment, in a computer-readable recording medium in which a program for performing an image code recognition method is recorded, the image code recognition method extracts a pixel area corresponding to the image code in an image photographed by a camera. And converting the pixel region based on a relative position between vertices on the boundary of the pixel region and recognizing an image code within the converted pixel region.

다른 실시예에 따르면, 이미지코드인식장치에 의해 수행되며, 이미지코드인식방법을 수행하기 위해 매체에 저장된 컴퓨터프로그램에 있어서, 상기 이미지코드인식방법은, 카메라를 통해 촬영된 이미지 내에서 이미지코드에 대응되는 픽셀 영역을 추출하는 단계 및 상기 픽셀 영역의 경계상의 꼭지점 간 상대적인 위치를 기초로 상기 픽셀 영역을 변환하고, 변환된 픽셀 영역내의 이미지코드를 인식하는 단계를 포함할 수 있다.According to another embodiment, in a computer program executed by an image code recognition device and stored in a medium to perform an image code recognition method, the image code recognition method corresponds to an image code within an image photographed by a camera. And extracting a pixel area to be converted, transforming the pixel area based on a relative position between vertices on a boundary of the pixel area, and recognizing an image code in the converted pixel area.

전술한 과제 해결 수단 중 어느 하나에 의하면, 기계학습을 이용한 이미지코드를 인식하는 장치 및 방법을 제시할 수 있다. According to any one of the above-described problem solving means, an apparatus and method for recognizing an image code using machine learning can be provided.

전술한 과제 해결 수단 중 어느 하나에 의하면, 기계학습을 통해 카메라 시점에서 촬영된 이미지로부터 이미지코드를 정확하게 식별하는 이미지코드를 인식하는 장치 및 방법을 제시할 수 있다. According to any one of the above-described problem solving means, it is possible to provide an apparatus and method for recognizing an image code that accurately identifies an image code from an image captured from a camera viewpoint through machine learning.

전술한 과제 해결 수단 중 어느 하나에 의하면, 촬영시점에 따라 왜곡된 이미지코드에 대응되는 픽셀영역을 획득하고, 획득된 픽셀 영역의 꼭지점을 기초로 변환된 이미지코드를 인식하는 장치 및 방법을 제시할 수 있다. According to any one of the above-described problem solving means, an apparatus and method for acquiring a pixel area corresponding to an image code distorted according to a photographing point and recognizing a converted image code based on the vertices of the acquired pixel area are presented. I can.

전술한 과제 해결 수단 중 어느 하나에 의하면, 변환된 픽셀 영역 내 이미지코드의 인식이 정상인지 여부를 식별하는 이미지코드를 인식하는 장치 및 방법을 제시할 수 있다.According to any one of the above-described problem solving means, it is possible to provide an apparatus and method for recognizing an image code for identifying whether or not the image code in the converted pixel region is normally recognized.

개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained in the disclosed embodiments are not limited to the above-mentioned effects, and other effects not mentioned are obvious to those of ordinary skill in the art to which the embodiments disclosed from the following description belong. Can be understood.

도 1 은 일 실시예에 따른 이미지코드인식장치를 도시한 블록도이다.
도 2 는 일 실시예에 따른 이미지코드인식방법을 설명하기 위한 순서도이다.
도 3 내지 도 5 는 일 실시예에 따른 이미지코드인식방법을 설명하기 위한 예시도이다.
1 is a block diagram showing an image code recognition apparatus according to an embodiment.
2 is a flow chart for explaining an image code recognition method according to an embodiment.
3 to 5 are exemplary diagrams for explaining an image code recognition method according to an embodiment.

아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. The embodiments described below may be modified and implemented in various different forms. In order to more clearly describe the features of the embodiments, detailed descriptions of matters widely known to those of ordinary skill in the art to which the following embodiments belong are omitted. In addition, parts not related to the description of the embodiments are omitted in the drawings, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.Throughout the specification, when a component is said to be "connected" with another component, this includes not only the case where it is'directly connected', but also the case where it is'connected with another element in the middle.' In addition, when a certain configuration "includes" a certain configuration, this means that other configurations may be further included rather than excluding other configurations, unless otherwise specified.

이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

다만 이를 설명하기에 앞서, 아래에서 사용되는 용어들의 의미를 먼저 정의한다. However, before describing this, the meaning of the terms used below is first defined.

‘이미지코드’ 는 광학적으로 인식되어 정보를 전달하는 코드로 예를 들어, 1차원 바코드 또는 QR코드 등을 포함할 수 있다. The'image code' is a code that is optically recognized and transmits information, and may include, for example, a one-dimensional barcode or a QR code.

‘픽셀 영역’은 이미지코드를 촬영한 이미지 내에서 이미지코드에 대응되는 픽셀로 구성되는 영역이다. The'pixel area' is an area composed of pixels corresponding to the image code in the image in which the image code is captured.

‘기계학습’은 인공지능(AI)의 한 분야로 데이터를 학습하여 새로 입력되는 데이터를 처리하는 방법으로 예를 들어 인공신경망을 이용하는 딥러닝, 베이지언망(Bayesian Network)등이 포함될 수 있다.'Machine learning' is a field of artificial intelligence (AI) that learns data and processes newly inputted data. For example, deep learning using artificial neural networks and Bayesian networks can be included.

이때, ‘인공신경망’은 생물 신경계의 고도의 정보처리기구를 공학적으로 모방해서 입력과 출력을 상호간에 상세히 관련지어 복잡한 제어를 하는 정보처리기술로 스위치나 각 센서 등에서 신호를 보내는 입력 레이어, 그 정보를 바탕으로 입력과 출력의 우선순위를 정하면서 상호관계를 조정하는 은닉 레이어, 이것을 바탕으로 필요한 제어량을 산출해서 출력하는 출력 레이어로 구성된 3종류의 뉴론(신경세포) 모델이 복수로 연결된 네트워크이다.At this time, the'artificial neural network' is an information processing technology that engineeringly mimics the advanced information processing mechanism of the biological nervous system and correlates inputs and outputs in detail with each other to perform complex control. Input layers that send signals from switches or sensors, etc. It is a network of three types of neuron (neuronal cell) models consisting of a hidden layer that adjusts the interrelationship while prioritizing the input and output based on and an output layer that calculates and outputs the required amount of control based on this.

위에 정의한 용어 이외에 설명이 필요한 용어는 아래에서 각각 따로 설명한다.In addition to the terms defined above, terms that require explanation will be separately described below.

도 1은 일 실시예에 따른 이미지코드인식장치(10)를 설명하기 위한 구성도이다.1 is a block diagram illustrating an image code recognition apparatus 10 according to an exemplary embodiment.

이미지코드인식장치(10)는 네트워크(N)를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일 WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.The image code recognition apparatus 10 may be implemented as a computer, portable terminal, television, wearable device, etc. that connects to a server at a remote location through a network N, or connects to other terminals and servers. Here, the computer includes, for example, a notebook equipped with a web browser, a desktop, a laptop, and the like, and the portable terminal is, for example, a wireless communication device that ensures portability and mobility. , PCS (Personal Communication System), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), GSM (Global System for Mobile communications), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-Code Division Multiple Access (W-CDMA), Wireless Broadband Internet (Wibro), Smart Phone, Mobile Worldwide Interoperability for Microwave Access (WiMAX), etc. It may include a (Handheld) based wireless communication device. Further, the television may include Internet Protocol Television (IPTV), Internet Television (Internet Television), terrestrial TV, and cable TV. Furthermore, a wearable device is a type of information processing device that can be directly worn on the human body, such as watches, glasses, accessories, clothes, shoes, etc., and connects to a remote server or other terminal through a network directly or through another information processing device. Can be connected with.

도 1을 참조하면, 일 실시예에 따른 이미지코드인식장치(10)는, 입출력부(110), 제어부(120), 통신부(130) 및 메모리(140)를 포함할 수 있다.Referring to FIG. 1, the image code recognition apparatus 10 according to an embodiment may include an input/output unit 110, a control unit 120, a communication unit 130, and a memory 140.

입출력부(110)는 사용자로부터 입력을 수신하기 위한 입력부와, 작업의 수행 결과 또는 이미지코드인식장치(10)의 상태 등의 정보를 표시하기 위한 출력부를 포함할 수 있다. 예를 들어, 입출력부(110)는 사용자 입력을 수신하는 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함할 수 있다.The input/output unit 110 may include an input unit for receiving an input from a user, and an output unit for displaying information such as a result of performing a task or a state of the image code recognition device 10. For example, the input/output unit 110 may include an operation panel for receiving a user input and a display panel for displaying a screen.

구체적으로, 입력부는 키보드, 물리 버튼, 터치 스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 또한, 출력부는 디스플레이 패널 또는 스피커 등을 포함할 수 있다. 다만, 이에 한정되지 않고 입출력부(110)는 다양한 입출력을 지원하는 구성을 포함할 수 있다.Specifically, the input unit may include devices capable of receiving various types of user input, such as a keyboard, a physical button, a touch screen, a camera, or a microphone. In addition, the output unit may include a display panel or a speaker. However, the present invention is not limited thereto, and the input/output unit 110 may include a configuration supporting various input/output.

이러한 입출력부(110)는 카메라를 통해 이미지코드가 포함된 이미지를 획득할 수 있다. The input/output unit 110 may acquire an image including an image code through a camera.

제어부(120)는 이미지코드인식장치(10)의 전체적인 동작을 제어하며, CPU 등과 같은 프로세서를 포함할 수 있다. 제어부(120)는 입출력부(110)를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 이미지코드인식장치(10)에 포함된 다른 구성들을 제어할 수 있다.The controller 120 controls the overall operation of the image code recognition apparatus 10 and may include a processor such as a CPU. The controller 120 may control other components included in the image code recognition apparatus 10 to perform an operation corresponding to a user input received through the input/output unit 110.

예를 들어, 제어부(120)는 메모리(140)에 저장된 프로그램을 실행시키거나, 메모리(140)에 저장된 파일을 읽어오거나, 새로운 파일을 메모리(140)에 저장할 수도 있다.For example, the control unit 120 may execute a program stored in the memory 140, read a file stored in the memory 140, or store a new file in the memory 140.

이러한, 제어부(120)는 카메라를 통해 촬영된 이미지 내에서 이미지코드에 대응되는 픽셀 영역을 추출할 수 있다. In this way, the controller 120 may extract a pixel area corresponding to the image code from the image captured by the camera.

이를 위해, 제어부(120)는 이미지코드를 포함하는 학습데이터를 기초로 기계학습을 수행할 수 있으며, 세그멘테이션(segmentation)을 통해 이미지 내에서 이미지코드에 대응되는 픽셀 영역을 추출할 수 있다. To this end, the controller 120 may perform machine learning based on learning data including an image code, and may extract a pixel region corresponding to the image code in the image through segmentation.

예를 들어, 제어부(120)는 이미지코드에 대응되는 픽셀 영역을 추출하기 위한 패턴을 딥러닝 방법으로 학습할 수 있고, 학습된 패턴을 기초로 이미지에서 이미지코드에 대응되는 픽셀 영역을 탐색할 수 있다. For example, the controller 120 may learn a pattern for extracting a pixel area corresponding to an image code by a deep learning method, and may search for a pixel area corresponding to an image code in an image based on the learned pattern. have.

이때, 제어부(120)는 기 학습된 패턴에 대응되는 픽셀 영역의 경계를 식별할 수 있다.In this case, the controller 120 may identify a boundary of a pixel region corresponding to a previously learned pattern.

예를 들어, 제어부(120)는 이미지에서 기 학습된 패턴에 대응되는 영역을 탐색하면서 패턴에 대응되는 픽셀 영역과 인접한 픽셀을 경계로 식별할 수 있다. For example, the controller 120 may identify a pixel area corresponding to the pattern and a pixel adjacent to the pattern as a boundary while searching for a region corresponding to a previously learned pattern in the image.

그리고 제어부(120)는 추출된 픽셀 영역의 경계인 각 모서리의 양단인 꼭지점을 식별할 수 있고, 식별된 꼭지점 간 상대적인 위치를 기초로 픽셀 영역을 변환할 수 있다.Further, the controller 120 may identify vertices that are both ends of each corner, which is a boundary of the extracted pixel area, and may transform the pixel area based on a relative position between the identified vertices.

예를 들어, 제어부(120)는 마름모꼴 형태의 픽셀 영역의 경계인 모서리의 양단인 꼭지점을 식별할 수 있고, 4개의 꼭지점 중 어느 하나를 기준으로 나머지 꼭지점의 상대적인 위치를 획득할 수 있다. For example, the controller 120 may identify vertices that are both ends of an edge that is a boundary of a rhombic pixel area, and obtain a relative position of the remaining vertices based on any one of the four vertices.

이때 예를 들어, 제어부(120)가 식별한 픽셀 영역의 꼭지점이 4개를 초과하는 경우, 제어부(120)는 꼭지점간 거리 중 최장인 꼭지점을 4개를 선택할 수 있고, 4개의 선택된 꼭지점 중 어느 하나를 기준으로 나머지 꼭지점의 상대적인 위치를 획득할 수 있다. At this time, for example, if the number of vertices of the pixel area identified by the controller 120 exceeds 4, the controller 120 may select 4 vertices that are the longest among the distances between vertices, and any of the 4 selected vertices The relative positions of the remaining vertices can be obtained based on one.

그리고 제어부(120)는 상기 픽셀 영역의 모서리 중 길이가 최장인 모서리의 꼭지점을 기준으로 형성되는 직사각형의 꼭지점 위치로 나머지 꼭지점의 위치를 변환하는 변환행렬을 생성할 수 있다. In addition, the controller 120 may generate a transformation matrix for converting the positions of the remaining vertices into a rectangular vertex position formed based on the vertex of the longest corner among the corners of the pixel area.

이를 위해, 제어부(120)는 픽셀 영역에서 길이가 최장인 모서리를 기준으로 형성되는 직사각형의 꼭지점과 픽셀 영역의 꼭지점 간 상관관계를 계산할 수 있다. To this end, the controller 120 may calculate a correlation between a vertex of a rectangle formed on the basis of a corner having the longest length in the pixel area and the vertex of the pixel area.

예를 들어, 픽셀 영역을 구성하는 모서리의 각 꼭지점의 좌표가 (3,2), (4,5), (5,5), (8,2) 인 경우, 제어부(120)는 길이가 최장인 모서리의 꼭지점인 (3,2) 와 (8, 2)를 기준으로 직사각형을 생성하는 나머지 꼭지점인 (3,5), (8,5)로 픽셀 영역의 좌표인 (4,5), (5,5) 를 변환하기 위한 차이값을 계산하여 변환행렬을 생성할 수 있다. For example, when the coordinates of each vertex of a corner constituting the pixel area are (3,2), (4,5), (5,5), (8,2), the controller 120 has the longest The remaining vertices (3,5) and (8,5) that create a rectangle based on the vertices of the corners (3,2) and (8, 2) are the coordinates of the pixel area (4,5), ( The transformation matrix can be generated by calculating the difference value for transforming 5,5).

또는 예를 들어, 제어부(120)는 픽셀 영역을 구성하는 모서리 중 최장 모서리의 길이를 갖는 직사각형을 생성할 수 있고, 생성된 직사각형의 중심점과 픽셀 영역의 중심점을 일치시켰을 때, 직사각형의 꼭지점과 픽셀 영역의 꼭지점간의 상관관계를 계산하여 픽셀 영역의 꼭지점을 직사각형의 꼭지점으로 이동시키는 변환행렬을 생성할 수 있다. Or, for example, the control unit 120 may generate a rectangle having the longest length of the corners constituting the pixel area, and when the center point of the generated rectangle matches the center point of the pixel area, the vertex of the rectangle and the pixel By calculating the correlation between the vertices of the area, a transformation matrix that moves the vertices of the pixel area to the rectangular vertices can be generated.

그리고 예를 들어, 제어부(120)는 가장 긴 모서리의 길이를 기준으로 직사각형을 생성하되, 픽셀 영역을 구성하는 모서리의 길이를 이용하여 모서리 간 비율을 계산하고, 계산된 비율에 따라 나머지 모서리의 길이가 변환된 직사각형의 꼭지점으로 픽셀 영역의 꼭지점을 이동시키는 변환행렬을 생성할 수 있다. And, for example, the control unit 120 creates a rectangle based on the length of the longest corner, calculates the ratio between corners using the length of the corner constituting the pixel area, and calculates the length of the remaining corners according to the calculated ratio. It is possible to create a transformation matrix that moves the vertices of the pixel area to the vertices of the transformed rectangle.

그리고 제어부(120)는 변환행렬을 통해 픽셀 영역의 길이 및 비율 중 적어도 하나의 변환에 따라 와핑(warping)된 와핑이미지코드를 인식할 수 있다. In addition, the controller 120 may recognize a warping image code warped according to at least one of the length and ratio of the pixel region through the transformation matrix.

예를 들어, 제어부(120)는 픽셀 영역의 모서리 중 최장 모서리의 길이를 갖는 직사각형으로 픽셀 영역을 변환함으로써 직사격형으로 와핑된 와핑이미지코드인 바코드를 인식하여 와핑이미지코드로부터 정보를 획득할 수 있다. For example, the control unit 120 can obtain information from the warping image code by recognizing a barcode, which is a warping image code warped in a direct fire, by converting the pixel area into a rectangle having the length of the longest edge among the corners of the pixel area. have.

이때, 제어부(120)는 와핑이미지코드의 인식 신뢰도를 계산할 수 있고, 계산된 신뢰도에 기초하여 획득된 와핑이미지코드의 정보를 정정할 수 있다. In this case, the controller 120 may calculate the recognition reliability of the warping image code, and may correct information on the acquired warping image code based on the calculated reliability.

예를 들어, 제어부(120)는 와핑이미지코드인 바코드를 인식하되, 각 자리에 대응되는 바코드의 인식 신뢰도(딥러닝을 이용하여 각 자릿수의 바(bar)를 인식시 계산된 확률)를 계산할 수 있다. 그리고 제어부(120)는 바코드의 인식오류 여부를 식별할 수 있는 체크섬(checksum)을 이용하여 바코드 인식의 오류를 식별할 수 있다. For example, the controller 120 recognizes a barcode that is a warping image code, but can calculate the recognition reliability of the barcode corresponding to each digit (a probability calculated when recognizing a bar of each digit using deep learning). have. In addition, the control unit 120 may identify an error in barcode recognition by using a checksum capable of identifying whether a barcode recognition error has occurred.

그리고 예를 들어, 제어부(120)는 체크섬의 신뢰도와 타 자릿수의 신뢰도를 비교하여 체크섬의 신뢰도가 타 자릿수의 신뢰도에 비해 낮으면 체크섬을 정정하여 바코드로부터 정보를 획득할 수 있다. 이와 달리, 체크섬의 신뢰도가 타 자릿수의 신뢰도에 비해 높으면 제어부(120)는 체크섬을 이용한 인식오류가 되지 않도록 나머지 자릿수의 값을 정정하여 바코드의 정보를 획득할 수 있다. And, for example, if the reliability of the checksum is lower than the reliability of the other digits by comparing the reliability of the checksum with the reliability of the other digits, the control unit 120 may correct the checksum to obtain information from the barcode. On the contrary, if the reliability of the checksum is higher than that of the other digits, the control unit 120 may obtain the barcode information by correcting the value of the remaining digits so as not to cause a recognition error using the checksum.

통신부(130)는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(130)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태로 구현될 수 있다.The communication unit 130 may perform wired or wireless communication with other devices or networks. To this end, the communication unit 130 may include a communication module supporting at least one of various wired and wireless communication methods. For example, the communication module may be implemented in the form of a chipset.

통신부(130)가 지원하는 무선 통신은, 예를 들어 Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra Wide Band) 또는 NFC(Near Field Communication) 등일 수 있다. 또한, 통신부(130)가 지원하는 유선 통신은, 예를 들어 USB 또는 HDMI(High Definition Multimedia Interface) 등일 수 있다.The wireless communication supported by the communication unit 130 may be, for example, Wireless Fidelity (Wi-Fi), Wi-Fi Direct, Bluetooth, Ultra Wide Band (UWB), or Near Field Communication (NFC). In addition, wired communication supported by the communication unit 130 may be, for example, USB or HDMI (High Definition Multimedia Interface).

메모리(140)에는 파일, 어플리케이션 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 제어부(120)는 메모리(140)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(140)에 저장할 수도 있다. 또한, 제어부(120)는 메모리(140)에 설치된 프로그램을 실행할 수도 있다. Various types of data such as files, applications, and programs may be installed and stored in the memory 140. The controller 120 may access and use data stored in the memory 140, or may store new data in the memory 140. Also, the controller 120 may execute a program installed in the memory 140.

일 실시예에 따르면, 입출력부(110)를 통해 사용자로부터 이미지코드의 인식을 요청하는 입력을 수신하면, 제어부(120)는 메모리(140)에 저장된 이미지코드를 인식하는 프로그램을 실행시켜 이미지코드의 인식을 수행한다.According to an embodiment, upon receiving an input requesting recognition of an image code from a user through the input/output unit 110, the control unit 120 executes a program that recognizes the image code stored in the memory 140 Carry out recognition.

도 2 는 일 실시예에 따른 이미지코드인식방법을 설명하기 위한 순서도이다. 2 is a flow chart for explaining an image code recognition method according to an embodiment.

도 2 에 도시된 실시예에 따른 이미지코드인식방법은 도 1 에 도시된 이미지코드인식장치(10)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1 에 도시된 이미지코드인식장치(10)에 관하여 이상에서 기술한 내용은 도 2 에 도시된 실시예에 따른 이미지코드인식방법에도 적용될 수 있다.The image code recognition method according to the embodiment shown in FIG. 2 includes steps processed in a time series by the image code recognition apparatus 10 shown in FIG. 1. Accordingly, even if the contents are omitted below, the contents described above with respect to the image code recognition apparatus 10 shown in FIG. 1 can also be applied to the image code recognition method according to the embodiment shown in FIG. 2.

도 3 내지 도 5 는 도 2 를 참조하여 이하에서 후술된다. 도 3 내지 도 5 는 일 실시예에 따른 이미지코드인식방법을 설명하기 위한 예시도이다.3 to 5 will be described later with reference to FIG. 2. 3 to 5 are exemplary diagrams for explaining an image code recognition method according to an embodiment.

우선, 이미지코드인식장치(10)는 카메라를 통해 촬영된 이미지 내에서 이미지코드에 대응되는 픽셀 영역을 추출할 수 있다(S2001). First, the image code recognition device 10 may extract a pixel area corresponding to the image code from the image captured by the camera (S2001).

이를 위해, 이미지코드인식장치(10)는 이미지코드를 식별하기 위한 기계학습을 수행할 수 있고, 학습결과에 기초하여 이미지 내에서 이미지코드에 대응되는 픽셀 영역을 추출할 수 있다. To this end, the image code recognition apparatus 10 may perform machine learning to identify the image code, and may extract a pixel region corresponding to the image code in the image based on the learning result.

예를 들어, 이미지코드인식장치(10)는 이미지코드를 식별할 수 있는 패턴을 학습을 수행할 수 있고, 이미지 내에서 학습된 패턴에 대응되는 픽셀 영역이 존재하는지 탐색할 수 있다. 그리고 이미지코드인식장치(10)는 이미지코드에 대응되는 패턴이 위치한 픽셀 영역을 추출할 수 있다. For example, the image code recognition apparatus 10 may learn a pattern capable of identifying an image code, and may search whether a pixel region corresponding to the learned pattern exists in the image. In addition, the image code recognition apparatus 10 may extract a pixel area in which a pattern corresponding to the image code is located.

도 3 은 카메라를 통해 촬영된 이미지로부터 이미지코드를 식별하는 과정을 도시한 예시도이다. 도 3 을 참조하면, 이미지코드인식장치(10)는 기 학습된 이미지코드 패턴을 기초로 카메라를 통해 획득된 이미지(301)에서 박스(302)에 부착되어 있는 이미지코드(303)를 식별할 수 있고, 식별된 이미지코드(303)에 대응되는 픽셀 영역(304)을 추출할 수 있다. 3 is an exemplary diagram illustrating a process of identifying an image code from an image captured by a camera. Referring to FIG. 3, the image code recognition device 10 can identify the image code 303 attached to the box 302 from the image 301 acquired through the camera based on the previously learned image code pattern. In addition, the pixel area 304 corresponding to the identified image code 303 may be extracted.

그리고 이미지코드인식장치(10)는 픽셀 영역의 꼭지점을 식별할 수 있다(S2002). In addition, the image code recognition apparatus 10 may identify the vertex of the pixel area (S2002).

예를 들어, 이미지코드인식장치(10)는 추출된 픽셀 영역의 경계선을 구성하는 모서리의 양단의 픽셀 위치를 꼭지점으로 설정할 수 있다. For example, the image code recognition apparatus 10 may set the pixel positions at both ends of the edge constituting the boundary line of the extracted pixel area as a vertex.

도 4 는 이미지코드에 대응되는 픽셀 영역의 꼭지점 식별을 도시한 예시도로 이를 참조하면, 이미지코드인식장치(10)는 이미지코드에 대응되는 픽셀 영역(401)의 경계상의 모서리(402, 403, 404, 405)의 양단 정점을 꼭지점(406, 407, 408, 409)으로 설정할 수 있다.4 is an exemplary view showing the identification of vertices of a pixel area corresponding to an image code. Referring to this, the image code recognition apparatus 10 includes edges 402, 403, and 404 on the boundary of the pixel area 401 corresponding to the image code. , 405) can be set as vertices 406, 407, 408, 409.

그리고 이미지코드인식장치(10)는 셀 영역의 경계상의 꼭지점 간 상대적인 위치를 기초로 픽셀 영역을 변환할 수 있다(S2003).In addition, the image code recognition apparatus 10 may convert the pixel area based on the relative positions between vertices on the boundary of the cell area (S2003).

이를 위해, 이미지코드인식장치(10)는 픽셀 영역의 모서리의 꼭지점간 상관관계를 기초로 직사각형을 형성하도록 꼭지점의 위치를 변환하는 변환행렬을 생성할 수 있다. To this end, the image code recognition apparatus 10 may generate a transformation matrix for transforming the positions of the vertices to form a rectangle based on the correlation between vertices of the corners of the pixel area.

예를 들어, 이미지코드인식장치(10)는 식별된 이미지코드에 대응되는 픽셀 영역의 모서리 중 최장 길이의 모서리를 기준으로 임의의 직사각형을 생성할 수 있고, 임의의 직사각형의 꼭지점과 픽셀 영역의 꼭지점간의 상관관계를 분석하여 변환행렬을 생성할 수 있다. For example, the image code recognition device 10 may generate an arbitrary rectangle based on the longest edge among the corners of the pixel area corresponding to the identified image code, and the vertex of the arbitrary rectangle and the vertex of the pixel area A transformation matrix can be generated by analyzing the correlation between them.

도 4 를 참조하면, 이미지코드인식장치(10)는 픽셀 영역의 모서리 중 최장 모서리(404)를 기준으로 임의의 직사각형(410)을 생성할 수 있고, 생성된 직사각형(410)의 꼭지점(411, 412, 413, 414) 각각의 위치와 픽셀 영역의 꼭지점(406, 407, 408, 409) 각각의 위치간의 상관관계를 계산하여 변환행렬을 생성할 수 있다. Referring to FIG. 4, the image code recognition apparatus 10 may generate an arbitrary rectangle 410 based on the longest edge 404 among the corners of the pixel area, and the vertex 411 of the generated rectangle 410 A transformation matrix may be generated by calculating a correlation between the positions of each of the positions 412, 413, and 414 and the positions of the vertices 406, 407, 408, and 409 of the pixel area.

그리고 이미지코드인식장치(10)는 생성된 변환행렬을 이용하여 픽셀 영역을 변환할 수 있다. In addition, the image code recognition apparatus 10 may transform a pixel area using the generated transformation matrix.

도 5 는 픽셀 영역을 변형하여 이미지코드를 와핑하는 예시도이다. 도 5 를 참조하면, 이미지코드인식장치(10)는 변환행렬을 통해 픽셀 영역(501)의 꼭지점(502, 503, 504, 505)의 위치를 직사각형(506)의 꼭지점(507, 508, 509, 510)으로 변환함으로써 직사각형 형상으로 이미지코드(511)를 와핑할 수 있다. 5 is an exemplary diagram of warping an image code by transforming a pixel area. Referring to FIG. 5, the image code recognition apparatus 10 determines the positions of the vertices 502, 503, 504, and 505 of the pixel region 501 through the transformation matrix. By converting to 510), the image code 511 can be warped into a rectangular shape.

이후, 이미지코드인식장치(10)는 S2003단계에서 변환된 픽셀 영역내의 이미지코드를 인식하여 정보를 추출할 수 있다(S2004). Thereafter, the image code recognition apparatus 10 may extract information by recognizing the image code in the pixel area converted in step S2003 (S2004).

예를 들어, 이미지코드인식장치(10)는 S2001단계에서 획득된 이미지로부터 S2002단계 내지 S2003단계를 통해 인식률이 높은 형상인 직사각형으로 와핑된 와핑이미지코드인 바코드를 인식하여 바코드에 대응되는 숫자정보를 바로 추출할 수 있다.For example, the image code recognition device 10 recognizes a barcode, which is a warping image code warped into a rectangle having a high recognition rate through steps S2002 to S2003, from the image acquired in step S2001, and then retrieves numeric information corresponding to the barcode. You can extract it right away.

이때, 이미지코드인식장치(10)는 인식된 와핑이미지코드의 신뢰도를 계산할 수 있고, 계산된 신뢰도에 기초하여 와핑이미지코드의 인식오류를 정정할 수 있다. At this time, the image code recognition apparatus 10 may calculate the reliability of the recognized warping image code, and correct the recognition error of the warping image code based on the calculated reliability.

예를 들어, 이미지코드인식장치(10)는 변형된 바코드를 인식하여 획득된 각 자릿수의 신뢰도를 계산할 수 있다. 그리고 이미지코드인식장치(10)는 바코드 인식의 오류 여부를 확인할 수 있는 체크섬 자리의 값의 신뢰도와 나머지 자릿수의 신뢰도를 비교할 수 있다. For example, the image code recognition apparatus 10 may calculate the reliability of each digit obtained by recognizing the modified barcode. In addition, the image code recognition apparatus 10 may compare the reliability of the value of the checksum digit for confirming whether or not there is an error in barcode recognition with the reliability of the remaining digits.

이때, 체크섬 자리의 신뢰도가 나머지 자릿수의 신뢰도보다 낮으면, 이미지코드인식장치(10)는 체크섬의 인식에 오류가 있는 것으로 결정하여 나머지 자릿수를 기초로 체크섬의 값을 변경할 수 있다. In this case, if the reliability of the checksum digit is lower than the reliability of the remaining digits, the image code recognition apparatus 10 determines that there is an error in recognizing the checksum and may change the checksum value based on the remaining digits.

이와 달리 체크섬 자리의 신뢰도가 나머지 자릿수의 신뢰도보다 높으면, 이미지코드인식장치(10)는 체크섬을 기초로 바코드의 인식오류 여부를 결정할 수 있고, 신뢰도가 낮은 자릿수를 변경하여 정정할 수 있다. On the other hand, if the reliability of the checksum digit is higher than the reliability of the remaining digits, the image code recognition apparatus 10 may determine whether or not a barcode recognition error is based on the checksum, and may correct by changing the number of digits with low reliability.

이와 같이 이미지에서 이미지코드에 대응되는 픽셀 영역을 추출하여 인식률이 높은 형상으로 픽셀 영역을 변형하고, 변형된 픽셀 영역 내의 와핑이미지코드를 별도의 클래스로 전달하는 것이 아닌 와핑이미지코드로부터 정보를 추출하여 타 어플리케이션 또는 장치로 제공함으로써 이미지코드의 인식을 정확하고 빠르게 할 수 있다. In this way, by extracting the pixel area corresponding to the image code from the image, transforming the pixel area into a shape with high recognition rate, and extracting information from the warping image code rather than passing the warping image code in the transformed pixel area to a separate class. By providing it to other applications or devices, it is possible to accurately and quickly recognize image codes.

이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term'~ unit' used in the above embodiments refers to software or hardware components such as field programmable gate array (FPGA) or ASIC, and the'~ unit' performs certain roles. However,'~ part' is not limited to software or hardware. The'~ unit' may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example,'~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, and procedures. , Subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables.

구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.The components and functions provided in the'~ units' may be combined into a smaller number of elements and'~ units' or separated from the additional elements and'~ units'. In addition, components and'~ units' may be implemented to play one or more CPUs in a device or a security multimedia card.

도 2 를 통해 설명된 실시예에 따른 이미지코드인식방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다.예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다. The image code recognition method according to the embodiment described with reference to FIG. 2 may be implemented in the form of a computer-readable medium that stores instructions and data executable by a computer. In this case, the instructions and data may be stored in the form of a program code, and when executed by a processor, a predetermined program module may be generated to perform a predetermined operation. Further, the computer-readable medium may be any available medium that can be accessed by a computer, and includes both volatile and nonvolatile media, and removable and non-removable media. Further, the computer-readable medium may be a computer recording medium, which is volatile and non-volatile implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. It may include both volatile, removable and non-removable media. For example, computer recording media may include magnetic storage media such as HDDs and SSDs, optical recording media such as CDs, DVDs, and Blu-ray discs, or accessible through a network. It may be a memory included in the server.

또한 도 2 를 통해 설명된 실시예에 따른 이미지코드인식방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. In addition, the image code recognition method according to the embodiment described with reference to FIG. 2 may be implemented as a computer program (or computer program product) including instructions executable by a computer. The computer program includes programmable machine instructions processed by a processor, and may be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language. . Further, the computer program may be recorded on a tangible computer-readable recording medium (eg, memory, hard disk, magnetic/optical medium, solid-state drive (SSD), etc.).

따라서 도 2 를 통해 설명된 실시예에 따른 이미지코드인식방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다. Accordingly, the image code recognition method according to the embodiment described with reference to FIG. 2 may be implemented by executing the computer program as described above by the computing device. The computing device may include at least some of a processor, a memory, a storage device, a high speed interface connected to the memory and a high speed expansion port, and a low speed interface connected to the low speed bus and the storage device. Each of these components is connected to each other using a variety of buses, and can be mounted on a common motherboard or in other suitable manner.

여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다. Here, the processor can process commands within the computing device. Such commands include, for example, to display graphic information for providing a GUI (Graphic User Interface) on an external input or output device, such as a display connected to a high-speed interface. Examples are instructions stored in memory or storage devices. As another embodiment, multiple processors and/or multiple buses may be utilized with multiple memories and memory types as appropriate. In addition, the processor may be implemented as a chipset formed by chips including a plurality of independent analog and/or digital processors.

또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다. The memory also stores information within the computing device. As an example, the memory may be composed of volatile memory units or a set of them. As another example, the memory may be composed of a nonvolatile memory unit or a set of them. Also, the memory may be another type of computer-readable medium, such as a magnetic or optical disk.

그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다. In addition, the storage device may provide a large-capacity storage space to the computing device. The storage device may be a computer-readable medium or a configuration including such a medium, for example, devices in a storage area network (SAN) or other configurations, a floppy disk device, a hard disk device, an optical disk device, Or it may be a tape device, a flash memory, or another semiconductor memory device or device array similar thereto.

상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above-described embodiments are for illustrative purposes only, and those of ordinary skill in the art to which the above-described embodiments belong can easily transform into other specific forms without changing the technical idea or essential features of the above-described embodiments. You can understand. Therefore, it should be understood that the above-described embodiments are illustrative and non-limiting in all respects. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.The scope to be protected through the present specification is indicated by the claims to be described later rather than the detailed description, and should be interpreted as including all changes or modified forms derived from the meaning and scope of the claims and the concept of equivalents thereof. .

10: 이미지코드인식장치
110: 입출력부
120: 제어부
130: 통신부
140: 메모리
10: image code recognition device
110: input/output unit
120: control unit
130: communication department
140: memory

Claims (14)

이미지코드를 인식하는 장치에 있어서,
카메라를 통해 촬영된 이미지 내에서 이미지코드에 대응되는 픽셀 영역을 추출하여 상기 픽셀 영역의 경계상의 꼭지점 간 상대적인 위치를 기초로 상기 픽셀 영역을 변환하고, 변환된 픽셀 영역내의 이미지코드를 인식하는 제어부; 및
상기 이미지를 획득하는 입출력부를 포함하는 이미지코드인식장치.
In the device for recognizing image codes,
A control unit for extracting a pixel area corresponding to an image code from an image captured by a camera, converting the pixel area based on a relative position between vertices on a boundary of the pixel area, and recognizing an image code in the converted pixel area; And
An image code recognition device comprising an input/output unit for obtaining the image.
제 1 항에 있어서,
상기 제어부는,
상기 픽셀 영역의 길이 및 비율 중 적어도 하나의 변환에 따라 상기 픽셀 영역 내의 와핑(warping)된 이미지코드인 와핑이미지코드를 인식하는, 이미지코드인식장치.
The method of claim 1,
The control unit,
An image code recognition apparatus for recognizing a warping image code, which is a warped image code within the pixel area according to at least one transformation of a length and a ratio of the pixel area.
제 2 항에 있어서,
상기 제어부는,
상기 픽셀 영역의 모서리 중 길이가 최장인 모서리의 꼭지점을 기준으로 형성되는 직사각형의 꼭지점 위치로 나머지 꼭지점의 위치를 변환하는 변환행렬을 생성하는, 이미지코드인식장치.
The method of claim 2,
The control unit,
An image code recognition apparatus for generating a transformation matrix for converting the positions of the remaining vertices to the positions of a rectangular vertex formed based on a vertex of a corner having the longest length among corners of the pixel area.
제 3 항에 있어서,
상기 제어부는,
상기 직사각형을 형성하는 꼭지점과 상기 픽셀 영역의 꼭지점 간 상관관계를 계산하는, 이미지코드인식장치.
The method of claim 3,
The control unit,
An image code recognition apparatus for calculating a correlation between a vertex forming the rectangle and a vertex of the pixel area.
제 2 항에 있어서,
상기 제어부는,
인식된 와핑이미지코드로부터 정보를 획득하는, 이미지코드인식장치.
The method of claim 2,
The control unit,
An image code recognition device that acquires information from the recognized warping image code.
제 5 항에 있어서,
상기 제어부는,
상기 와핑이미지코드의 인식 신뢰도에 기초하여 상기 정보를 정정하는, 이미지코드인식장치.
The method of claim 5,
The control unit,
The image code recognition apparatus for correcting the information based on the recognition reliability of the warping image code.
이미지코드인식장치가 이미지코드를 인식하는 방법에 있어서,
카메라를 통해 촬영된 이미지 내에서 이미지코드에 대응되는 픽셀 영역을 추출하는 단계; 및
상기 픽셀 영역의 경계상의 꼭지점 간 상대적인 위치를 기초로 상기 픽셀 영역을 변환하고, 변환된 픽셀 영역내의 이미지코드를 인식하는 단계를 포함하는, 이미지코드인식방법.
In the method for the image code recognition device to recognize the image code,
Extracting a pixel area corresponding to the image code from the image captured by the camera; And
And converting the pixel region based on relative positions between vertices on the boundary of the pixel region and recognizing an image code in the converted pixel region.
제 7 항에 있어서,
상기 변환된 픽셀 영역내의 이미지코드를 인식하는 단계는,
상기 픽셀 영역의 길이 및 비율 중 적어도 하나의 변환하는 단계; 및
변환된 픽셀 영역에 따라 와핑(warping)된 이미지코드인 와핑이미지코드를 인식하는 단계를 포함하는, 이미지코드인식방법.
The method of claim 7,
Recognizing the image code in the converted pixel area,
Converting at least one of a length and a ratio of the pixel area; And
Recognizing a warping image code, which is an image code warped according to the converted pixel area.
제 8 항에 있어서,
상기 이미지코드인식방법은,
상기 픽셀 영역의 모서리 중 길이가 최장인 모서리의 꼭지점을 기준으로 형성되는 직사각형의 꼭지점 위치로 나머지 꼭지점의 위치를 변환하는 변환행렬을 생성하는 단계를 더 포함하는, 이미지코드인식방법.
The method of claim 8,
The image code recognition method,
The image code recognition method further comprising the step of generating a transformation matrix for converting the positions of the remaining vertices into a position of a rectangular vertex formed based on a vertex of a corner having the longest length among the corners of the pixel area.
제 9 항에 있어서,
상기 변환행렬을 생성하는 단계는,
상기 직사각형을 형성하는 꼭지점과 상기 픽셀 영역의 꼭지점 간 상관관계를 계산하는 단계를 포함하는, 이미지코드인식방법.
The method of claim 9,
The step of generating the transformation matrix,
And calculating a correlation between a vertex forming the rectangle and a vertex of the pixel area.
제 8 항에 있어서,
상기 이미지코드인식방법은,
인식된 와핑이미지코드로부터 정보를 획득하는 단계를 더 포함하는, 이미지코드인식방법.
The method of claim 8,
The image code recognition method,
The image code recognition method further comprising the step of obtaining information from the recognized warping image code.
제 11 항에 있어서,
상기 정보를 추출하는 단계는,
상기 와핑이미지코드의 인식 신뢰도에 기초하여 상기 정보를 정정하는 단계를 포함하는, 이미지코드인식방법.
The method of claim 11,
The step of extracting the information,
And correcting the information based on the recognition reliability of the warping image code.
제 7 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium on which a program for performing the method according to claim 7 is recorded. 이미지코드인식장치에 의해 수행되며, 제 7 항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
A computer program executed by an image code recognition device and stored on a medium to perform the method according to claim 7.
KR1020190062075A 2019-05-27 2019-05-27 Method and apparatus for recognizing image code using machine learning KR102275585B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190062075A KR102275585B1 (en) 2019-05-27 2019-05-27 Method and apparatus for recognizing image code using machine learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190062075A KR102275585B1 (en) 2019-05-27 2019-05-27 Method and apparatus for recognizing image code using machine learning

Publications (2)

Publication Number Publication Date
KR20200136239A true KR20200136239A (en) 2020-12-07
KR102275585B1 KR102275585B1 (en) 2021-07-09

Family

ID=73791403

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190062075A KR102275585B1 (en) 2019-05-27 2019-05-27 Method and apparatus for recognizing image code using machine learning

Country Status (1)

Country Link
KR (1) KR102275585B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230144437A (en) * 2022-04-07 2023-10-16 대한민국(농촌진흥청장) Method for recognizing fluorescent silk matrix barcodes and device using the method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100685858B1 (en) * 2005-01-20 2007-02-22 (주)제이투엠소프트 Method And System For Revising Distance Distortion
KR101293703B1 (en) * 2011-11-28 2013-08-06 (주)이컴앤드시스템 A system for decoding skewed data matrix barcode, and the method therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100685858B1 (en) * 2005-01-20 2007-02-22 (주)제이투엠소프트 Method And System For Revising Distance Distortion
KR101293703B1 (en) * 2011-11-28 2013-08-06 (주)이컴앤드시스템 A system for decoding skewed data matrix barcode, and the method therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230144437A (en) * 2022-04-07 2023-10-16 대한민국(농촌진흥청장) Method for recognizing fluorescent silk matrix barcodes and device using the method

Also Published As

Publication number Publication date
KR102275585B1 (en) 2021-07-09

Similar Documents

Publication Publication Date Title
US11481878B2 (en) Content-based detection and three dimensional geometric reconstruction of objects in image and video data
JP6694829B2 (en) Rule-based video importance analysis
Hannuna et al. DS-KCF: a real-time tracker for RGB-D data
US9779296B1 (en) Content-based detection and three dimensional geometric reconstruction of objects in image and video data
US8885887B1 (en) System for object detection and recognition in videos using stabilization
US9098888B1 (en) Collaborative text detection and recognition
CN109614983A (en) The generation method of training data, apparatus and system
US11087137B2 (en) Methods and systems for identification and augmentation of video content
US20170099427A1 (en) Methods and apparatuses for providing improved autofocus using curve-fitting
JP2015007972A (en) Image collation method, image collation apparatus, model template generation method, model template generation apparatus, and program
JP2017523498A (en) Eye tracking based on efficient forest sensing
JP7121132B2 (en) Image processing method, apparatus and electronic equipment
Cai et al. IOS-Net: An inside-to-outside supervision network for scale robust text detection in the wild
KR20240031988A (en) Barcode decoding system
KR102275585B1 (en) Method and apparatus for recognizing image code using machine learning
EP3436865A1 (en) Content-based detection and three dimensional geometric reconstruction of objects in image and video data
EP4242978A1 (en) Methods and systems for authentication of a physical document
KR101500496B1 (en) Apparatus for recognizing face and method thereof
KR20230173343A (en) Device and method for testing application
US8532391B2 (en) Recognizing a feature of an image independently of the orientation or scale of the image
KR102173960B1 (en) Method and system for tracking object using object sensor
KR102082430B1 (en) Apparatus and method for detecting medicinal products
US11087121B2 (en) High accuracy and volume facial recognition on mobile platforms
KR102389562B1 (en) Method for processing fingerprint information
KR102285427B1 (en) Method and apparatus of visual feature augmentation for visual slam using object labels

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant