KR20200110712A - Barcode decoding terminal apparatus and system - Google Patents

Barcode decoding terminal apparatus and system Download PDF

Info

Publication number
KR20200110712A
KR20200110712A KR1020190030227A KR20190030227A KR20200110712A KR 20200110712 A KR20200110712 A KR 20200110712A KR 1020190030227 A KR1020190030227 A KR 1020190030227A KR 20190030227 A KR20190030227 A KR 20190030227A KR 20200110712 A KR20200110712 A KR 20200110712A
Authority
KR
South Korea
Prior art keywords
barcode
product
area
image data
detected
Prior art date
Application number
KR1020190030227A
Other languages
Korean (ko)
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 KR1020190030227A priority Critical patent/KR20200110712A/en
Publication of KR20200110712A publication Critical patent/KR20200110712A/en
Priority to KR1020240026514A priority patent/KR20240031988A/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
    • 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/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

According to an embodiment for solving an object of the present invention, a barcode reading terminal device includes: a camera unit configured to obtain image data by photographing a product to which a barcode is attached; a detection unit configured to detect a barcode area and a product area, respectively on the image data transmitted from the camera unit using a deep network; a detection error determination unit configured to determine whether there is a detection error based on the detected barcode area and the detected product area; and an output unit configured to output an error result when the detection error determination unit determines that there is the detection error. The present invention utilizes an object recognition technology using a deep learning algorithm, so the present invention is robust against noise and can detect the barcode at relatively low costs.

Description

바코드 판독 단말 장치 및 시스템{BARCODE DECODING TERMINAL APPARATUS AND SYSTEM}Barcode reading terminal device and system {BARCODE DECODING TERMINAL APPARATUS AND SYSTEM}

본 발명은 바코드 판독 단말 장치 및 시스템에 관한 것으로, 보다 상세하게는 딥러닝 기반의 객체 인식 기술을 활용한 바코드를 검출하는 바코드 판독 단말 장치 및 시스템에 관한 발명이다.The present invention relates to a barcode reading terminal device and system, and more particularly, to a barcode reading terminal device and system that detects a barcode using a deep learning-based object recognition technology.

바코드(Bar Code)는 Bar와 Space를 변별 가능한 형태로 조합하여 표현되는 라벨로써, 안정적으로 정보를 담고 이를 빠르게 읽을 수 있는 장점 때문에 현재까지도 광범위하게 사용되고 있다. 예를 들어, 바코드는 제품의 제조사, 제품코드, 일련번호 등의 정보를 포함하고, 이를 판독함으로써 제품의 재고상황, 운송현황 등을 신속하고 정확하게 확인할 수 있어 물류, 유통 분야의 입출고 및 재고 관리 등에 있어 효과적으로 사용되고 있다. Bar Code is a label expressed by combining Bar and Space in a discriminable form, and has been widely used to this day because of the advantage of stably containing information and being able to read it quickly. For example, the barcode includes information such as the manufacturer, product code, and serial number of the product, and by reading it, it is possible to quickly and accurately check the product's inventory status and transportation status. Is being used effectively.

일반적으로, 바코드는 레이저 스캔 방식을 채용하는 바코드 리더기를 통해 인식되는데, 바코드 리더기는 한번에 하나의 바코드만을 스캔할 수 있으며, 또한 바코드를 스캔하기 위해서는 바코드 리더기를 당해 바코드에 가까이 접촉해야만 하는 과정이 필요하다. 따라서, 제품의 입출고 및 재고 관리 등에 있어 바코드 리더기를 이용하여 수작업으로 바코드를 스캔해야 하는 경우, 작업자가 수많은 제품에 대해 일일이 스캔 작업을 해야하기 때문에, 작업 처리 속도 및 인건비 면에서 비효율적일 수밖에 없다.In general, barcodes are recognized by a barcode reader that employs a laser scanning method. The barcode reader can scan only one barcode at a time, and in order to scan a barcode, the barcode reader must be in close contact with the corresponding barcode. Do. Therefore, when it is necessary to manually scan a barcode using a barcode reader for product in/out and inventory management, since an operator must manually scan a number of products, it is inevitably inefficient in terms of processing speed and labor costs.

이에, 이러한 문제를 해결하기 위해 영상 이미지 상에서의 바코드를 추출하는 비전 기술이 꾸준히 연구되어 왔다. 예를 들어, morphological 처리를 통해 영상 이미지에서 바코드의 위치를 검출하는 방법, 영상 이미지 내에서 기울어진 바코드를 인식하기 위한 허프 변환(Hough Transform, HT) 처리를 행하는 방법, 연산량과 메모리 효율을 고려한 확률적 허프 변환(Probabilistic Hough Transform, PHT) 처리를 행하는 방법, 해당 영역을 필터링해 찾고자 하는 검색 대상 영역만을 남기는 모폴로지 알고리즘을 이용하는 방법 등이 있었다. Accordingly, in order to solve this problem, a vision technology for extracting a barcode from an image image has been continuously studied. For example, a method of detecting the position of a barcode in an image image through morphological processing, a method of performing Hough Transform (HT) processing to recognize an inclined barcode in an image image, and a probability considering the computational amount and memory efficiency. There was a method of performing Probabilistic Hough Transform (PHT) processing, and a method of using a morphology algorithm that leaves only the search target region by filtering the corresponding region.

그러나, 이 기술들은 영상 이미지 상에서 바코드의 픽셀 특징에 기초하여 규칙 기반(Rule-based) 방식으로 바코드를 추출하는 방식이라는 점에서, 노이즈에 취약할 수 밖에 없으며, 노이즈를 제거하고자 별도의 이미지 처리를 수행한다고 하더라도 결국 픽셀 단위에서의 분석이라는 점에서 바코드의 추출에 한계가 있을 수 밖에 없다. 또한, 해당 영상 이미지로부터 바코드를 추출하기 위해서는 고스펙의 카메라를 포함한 고가의 장비를 요한다는 점에서, 라인별로 당해 장비를 설치하기 위해서는 비용적인 측면에서 문제가 있었다.However, these technologies are inevitably vulnerable to noise in that they extract barcodes in a rule-based manner based on the pixel characteristics of barcodes on an image image, and separate image processing is required to remove noise. Even if it is performed, there is inevitably a limit to the bar code extraction in that it is analyzed in pixel units. In addition, in order to extract a barcode from a corresponding video image, expensive equipment including a high-spec camera is required, and in order to install the equipment for each line, there is a problem in terms of cost.

본 발명은 상술한 문제를 해결하기 위한 것으로, 딥 러닝 알고리즘을 이용한 객체 인식 기술을 활용하여, 노이즈에 강인하고, 상대적으로 저렴한 비용으로 바코드를 검출하는 동시에, 검출에 있어 오류가 있는지 여부를 판정할 수 있는 바코드 판독 단말 장치 및 시스템을 제공하는 것을 목적으로 한다. The present invention is to solve the above-described problem, by utilizing an object recognition technology using a deep learning algorithm, it is robust to noise and detects a barcode at a relatively low cost, while determining whether there is an error in detection. It is an object of the present invention to provide a barcode reading terminal device and system that can be used.

본 발명의 목적을 해결하기 위한 일 실시예에 따른 바코드 판독 단말 장치은 바코드가 부착된 제품을 촬영함으로써 영상 데이터를 획득하도록 구성된 카메라부, 상기 카메라부로부터 전송받은 상기 영상 데이터 상에서 딥 네트워크를 이용하여 바코드 영역 및 제품 영역을 각각 검출하도록 구성된 검출부, 검출된 상기 바코드 영역과 검출된 상기 제품 영역에 기초하여 검출 오류가 있는지 여부를 판정하도록 구성된 검출 오류 판정부, 및 상기 검출 오류 판정부에서 검출 오류가 있다고 판정된 경우, 오류 결과를 출력하도록 구성된 출력부를 포함하는 것을 특징으로 한다.A barcode reading terminal device according to an embodiment for solving the object of the present invention includes a camera unit configured to acquire image data by photographing a product to which a barcode is attached, and a barcode using a deep network on the image data transmitted from the camera unit. A detection unit configured to detect an area and a product area respectively, a detection error determination unit configured to determine whether there is a detection error based on the detected barcode area and the detected product area, and the detection error determination unit indicates that there is a detection error. And, if determined, an output unit configured to output an error result.

종래의 규칙 기반(Rule-based) 방식으로 영상 이미지 상에서 바코드를 추출하는 경우, 바코드 검출의 오류를 작업자가 확인해야 했으며, 특히 영상 이미지 상에 복수의 바코드가 포함된 경우, 검출된 바코드들 중 일부가 누락되었는지 여부를 작업자가 일일이 확인해야 하는 불편이 있었으나, 본 발명의 일 실시예에 따른 바코드 판독 시스템은 객체의 검출에 있어 오류가 있는지 여부를 판정하도록 구성됨으로써, 라인의 작업자가 별도로 확인할 필요없이 제품 또는 바코드 검출의 오류를 인지할 수 있다. 또한, 당해 검출의 오류를 포함하는 영상 데이터는 별도의 DB에 저장되며, 객체 검출의 학습 모델의 업데이트를 위한 데이터로 활용될 수 있다. In the case of extracting a barcode from an image image in a conventional rule-based method, an operator had to check for an error in barcode detection. In particular, when a plurality of barcodes are included in the image image, some of the detected barcodes There was an inconvenience that the operator had to check whether or not is missing, but the barcode reading system according to an embodiment of the present invention is configured to determine whether there is an error in detection of an object, so that the operator of the line does not need to separately check. You can recognize errors in product or barcode detection. In addition, image data including the detection error is stored in a separate DB, and may be used as data for updating a learning model for object detection.

도 1은 본 발명의 일 실시예에 따른 인공지능 기반의 바코드 판독 시스템을 설명하기 위한 개념도를 나타낸 것이다.
도 2는 도 1의 검출부 및 검출 오류 판정부의 연결관계의 예시들을 설명하기 위한 블록도들이다.
도 3은 도 2에 도시된 검출 오류 판정부의 동작을 설명하기 위한 플로우차트들이다.
도 4는 영상 데이터 내에 복수의 제품이 포함된 경우의 출력 예시도이다.
1 is a conceptual diagram illustrating an artificial intelligence-based barcode reading system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating examples of a connection relationship between a detection unit and a detection error determination unit of FIG. 1.
3 is a flowchart for explaining the operation of the detection error determination unit shown in FIG. 2.
4 is an example of output when a plurality of products are included in image data.

이하, 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 바람직한 실시예를 상세히 설명한다. 다만, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예로 한정되지 않는다. 또한, 각 도면의 구성요소들에 참조번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 동일한 참조번호를 부여한다. 본 명세서에서 어떤 구성요소가 다른 구성요소에 "연결"되어 있다거나, "접속"되어 있다고 할 때, 이는 양 구성이 "직접적으로" 연결되어 있는 경우뿐 아니라, 그 사이에 다른 구성이 개재하여 연결되어 있는 경우도 포함하며, 또한, "물리적으로" 연결되어 있는 경우뿐만 아니라, "기능적 또는 통신적으로" 연결되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in detail so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in adding reference numerals to elements of each drawing, the same reference numerals are assigned to the same elements even though they are displayed on different drawings. In the present specification, when a component is "connected" or "connected" to another component, this is not only the case where both components are "directly" connected, but also a different component is interposed therebetween. It includes a case of being connected, and also includes a case of being connected "functionally or communicatively" as well as a case of being "physically" connected. In addition, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

도 1은 본 발명의 일 실시예에 따른 인공지능 기반의 바코드 판독 시스템을 설명하기 위한 개념도를 나타낸 것이다. 1 is a conceptual diagram illustrating an artificial intelligence-based barcode reading system according to an embodiment of the present invention.

일 실시예에 따른 바코드 판독 시스템(100)은 제품의 입출고 및 재고 관리에 있어서, 제품에 부착된 바코드를 검출하고, 검출된 바코드를 디코딩하여 판독하도록 구성된 시스템일 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 상기 바코드 판독 시스템(100)은 고정된 카메라가 라인을 통해 이동되는 제품의 상면에 부착된 바코드를 촬영하고, 이에 따라 획득된 영상 데이터를 기초로 바코드를 검출하도록 구성될 수 있다. 다만, 이에 한정되진 않는다. 예를 들어, 상기 바코드 판독 시스템(100)은 이동가능하도록 설계되어, 적재되어 고정된 제품의 일면에 부착된 바코드를 검출하도록 구성될 수 있다.The barcode reading system 100 according to an embodiment may be a system configured to detect a barcode attached to a product and decode and read the detected barcode in the input/output and inventory management of a product. For example, as shown in FIG. 1, the barcode reading system 100 photographs a barcode attached to an upper surface of a product in which a fixed camera moves through a line, and based on the image data acquired accordingly, the barcode reading system 100 May be configured to detect. However, it is not limited thereto. For example, the barcode reading system 100 may be designed to be movable and configured to detect a barcode attached to one side of a loaded and fixed product.

일 실시예에 따른 바코드 판독 시스템(100)은 딥 러닝 알고리즘을 이용한 객체 인식 기술을 활용하여 카메라 단말을 통해 입력되는 영상 데이터 내의 제품 영역과 바코드 영역을 검출하도록 구성된다. 또한, 상기 바코드 판독 시스템(100)은 도 1에 도시된 바와 같이 영상 데이터(5)에 하나의 바코드가 포함된 경우뿐만 아니라 영상 데이터 내에 복수의 바코드가 포함된 경우에도, 한번에 복수의 바코드를 검출할 수 있다. 여기서, 검출되는 바코드는 학습 가능한 일정한 형태를 갖는 바코드로서, Bar와 Space를 변별 가능한 형태로 조합하여 표현되는 1차원 바코드와 QR 코드(QR Code)로 알려진 사각형안에 정보가 기록된 2차원 바코드를 포함하며 규격 및 종류를 불문한다.The barcode reading system 100 according to an embodiment is configured to detect a product area and a barcode area in image data input through a camera terminal using an object recognition technology using a deep learning algorithm. In addition, the barcode reading system 100 detects a plurality of barcodes at once not only when one barcode is included in the image data 5 as shown in FIG. 1 but also when a plurality of barcodes are included in the image data. can do. Here, the detected barcode is a barcode that has a certain form that can be learned, and includes a one-dimensional barcode expressed by combining a bar and a space in a discriminable form and a two-dimensional barcode with information recorded in a square known as a QR code. And regardless of the standard and type.

상기 바코드 판독 시스템(100)은, 제품 및 바코드를 촬영하여 영상 데이터를 획득하도록 구성된 카메라 단말(10) 및 상기 카메라 단말(10)과 유무선으로 연결되어 상기 카메라 단말(10)로부터 영상 데이터를 전송받도록 구성되는 비전 서버(15)를 포함한다. The barcode reading system 100 is connected to a camera terminal 10 configured to acquire image data by photographing a product and a barcode, and the camera terminal 10 to receive image data from the camera terminal 10. It includes a vision server 15 configured.

상기 카메라 단말(10)은 바코드가 부착된 제품의 일면에 대향하는 위치에서 제품을 촬영하도록 구성된다. 예를 들어, 상기 카메라 단말(10)은, 도 1에 도시된 바와 같이 라인의 상부에 배치되어 라인을 통해 이동하는 제품을 실시간으로 촬영함으로써 제품과 바코드가 포함된 영상 데이터를 획득하도록 구성된다. 구체적으로, 상기 카메라 단말(10)은 1초에 다수의 프레임(이미지)을 처리 가능하도록 구성되어, 적어도 하나의 프레임(5-1)이 포함된 영상 데이터(5)를 획득하도록 구성되며, 획득된 영상 데이터(5)를 상기 카메라 단말(10)과 연결된 상기 비전 서버(15)로 출력하도록 구성된다. 예를 들어, 상기 영상 데이터는 동영상과 같이 사용자의 눈에 보여지게 되는 움직이는 영상의 데이터일 수 있다. 이 경우, 당해 영상 데이터에는 재생시간의 흐름에 따라 제품 또는 바코드와 관련된 프레임뿐만 아니라 제품들 간의 사이 영역과 같이, 제품 또는 바코드와 무관한 다양한 형상의 프레임이 포함될 수 있다. 또는, 이와 달리, 제품 또는 바코드와 관련된 영상 데이터만을 효과적으로 얻기 위하여, 상기 카메라 단말(10)은 별도의 감지 센서 등을 통해 라인을 통해 이동되는 제품이 카메라 단말의 아래에 위치될 때, 제품을 촬영하도록 구성될 수도 있다. The camera terminal 10 is configured to photograph a product at a position opposite to one side of the product to which the barcode is attached. For example, as shown in FIG. 1, the camera terminal 10 is configured to acquire image data including a product and a barcode by photographing a product disposed on an upper portion of the line and moving through the line in real time. Specifically, the camera terminal 10 is configured to be capable of processing a plurality of frames (images) in one second, configured to acquire image data 5 including at least one frame 5-1, and obtain The image data 5 is configured to be output to the vision server 15 connected to the camera terminal 10. For example, the image data may be data of a moving image that is visible to the user's eyes, such as a video. In this case, the image data may include frames of various shapes irrelevant to the product or barcode, such as a region between products as well as frames related to the product or barcode according to the passage of the reproduction time. Alternatively, on the other hand, in order to effectively obtain only image data related to a product or barcode, the camera terminal 10 photographs a product when a product moving through a line through a separate detection sensor is located under the camera terminal. It may be configured to do.

또한, 상기 카메라 단말(10)은 선명한 영상 데이터를 획득하기 위하여, 자동 초점(Auto-focus) 기능, 자동 플레쉬 기능을 포함하도록 구성될 수 있다. 또는, 상기 카메라 단말(10)은 작업자의 조작에 의해서 또는 상기 비전 서버(15)로 전송된 영상 데이터 상에서 검출된 객체의 신뢰도를 기초로 초점을 맞추거나, 플레쉬를 터트리도록 구성될 수도 있다. 이에 따라, 상기 카메라 단말(10)이 선명한 영상 데이터를 획득함에 있어, 작업 환경으로부터의 영향을 최소화할 수 있으며, 영상 데이터 내에서 객체를 높은 신뢰도로 검출할 수 있다. 또한, 추가로 선명한 영상 데이터를 획득하기 위하여, 제품이 카메라 단말의 바로 아래에 위치할 때, 일정 시간동안 라인이 정지되거나 또는 라인의 이동 속도가 늦춰지도록 제어될 수 있다.In addition, the camera terminal 10 may be configured to include an auto-focus function and an auto flash function in order to obtain clear image data. Alternatively, the camera terminal 10 may be configured to focus or flash a flash based on the reliability of an object detected by an operator's manipulation or on the image data transmitted to the vision server 15. Accordingly, when the camera terminal 10 acquires clear image data, an influence from the work environment can be minimized, and an object can be detected in the image data with high reliability. In addition, in order to additionally acquire clear image data, when the product is positioned directly under the camera terminal, the line may be stopped for a certain time or the moving speed of the line may be controlled to be slowed.

본 실시예에 따른 바코드 판독 시스템(100)은 상기 카메라 단말(10)이 라인의 상부에 배치되어 라인을 통해 이동되는 제품을 촬영하도록 구성된 것을 예로 설명하였으나, 이에 한정되지 않는다. 예를 들어, 상기 카메라 단말(10)은 미리 정해진 트랙 등의 경로를 따라 이동가능하도록 설계되어, 적재된 제품들의 일면에 부착된 바코드를 촬영하여 획득한 영상 데이터를 유무선으로 전송하도록 구성된 카메라를 포함하는 단말 장치일 수 있으며, 또는 카메라가 설치된 드론 등으로 경로를 따라 이동하며 영상 데이터를 획득하도록 구성된 단말 장치일 수 있다. 또는, 스마트폰 등과 같이 카메라를 포함하는 사용자 단말 장치로서, 사용자에 의해 조작되는 핸드 헬드 방식의 단말 장치일 수도 있다. The barcode reading system 100 according to the present embodiment has been described as an example in which the camera terminal 10 is disposed above the line and configured to photograph a product moving through the line, but is not limited thereto. For example, the camera terminal 10 is designed to be movable along a path such as a predetermined track, and includes a camera configured to transmit image data obtained by photographing a barcode attached to one side of the loaded products by wired or wirelessly. It may be a terminal device configured to move along a path with a drone or the like in which a camera is installed, and may be a terminal device configured to acquire image data. Alternatively, as a user terminal device including a camera such as a smartphone, it may be a handheld terminal device operated by a user.

또한, 상기 바코드 판독 시스템(100)은, 하나의 카메라 단말(10)로부터 획득된 영상 데이터로부터 바코드를 검출하는 것을 도시하고 있으나, 이에 한정되지 않는다. 예를 들어, 상기 카메라 단말(10)은 라인별로 설치되어 복수 개일 수 있으며, 상기 바코드 판독 시스템(100)은 중앙 시스템으로서 복수의 카메라 단말로부터 획득된 영상 데이터들을 동시에 처리하도록 구성될 수 있다.In addition, the barcode reading system 100 illustrates detecting a barcode from image data acquired from one camera terminal 10, but is not limited thereto. For example, the number of camera terminals 10 may be installed for each line, and the barcode reading system 100 may be configured to simultaneously process image data acquired from a plurality of camera terminals as a central system.

상기 비전 서버(15)는 상기 카메라 단말(10)과 유무선으로 연결되어 상기 카메라 단말(10)로부터 영상 데이터를 전송받고, 상기 영상 데이터 상에서 제품에 부착된 바코드를 검출하는 동시에, 검출에 있어 오류가 있는지 여부를 판정하고, 검출의 오류가 있는 경우 오류 결과를 출력하도록 구성된다. 또한, 상기 비전 서버(15)는 검출한 바코드를 추출한 후, 디코딩함으로써 당해 바코드에 대한 제품 정보를 인식하도록 구성된다. The vision server 15 is connected to the camera terminal 10 by wired or wirelessly, receives image data from the camera terminal 10, detects a barcode attached to a product on the image data, and at the same time detects an error in detection. It is configured to determine whether there is an error, and to output an error result if there is an error in detection. Further, the vision server 15 is configured to recognize product information on the barcode by extracting and decoding the detected barcode.

상기 비전 서버(15)는, 상기 카메라 단말(10)과 연결되어 영상처리를 행할 수 있는 일련의 단말, 예를 들어, 스마트폰, 태블릿 PC, 이동 전화기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 카메라, 또는 웨어러블 장치 중 적어도 하나일 수 있다. 또는, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 셋톱 박스, 홈 오토메이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플 TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 또는 캠코더 중 적어도 하나일 수 있다. 또는, 방송 수신 기능뿐만 아니라 유무선 통신 장치 등이 추가되어, 수기 방식의 입력 장치, 터치 스크린 또는 모션(motion) 인식 리모콘 등 보다 사용에 편리한 인터페이스 등을 지원하는 Connected TV일 수 있다.The vision server 15 is a series of terminals connected to the camera terminal 10 and capable of performing image processing, for example, a smartphone, a tablet PC, a mobile phone, a desktop PC, a laptop PC, a netbook computer, and a work. It may be at least one of a station, a server, a PDA, a portable multimedia player (PMP), an MP3 player, a camera, or a wearable device. Or, television, digital video disk (DVD) player, audio, set-top box, home automation control panel, security control panel, media box (e.g. Samsung HomeSync TM , Apple TV TM , or Google TV TM ), game console (e.g.: Xbox TM , PlayStation TM ), or may be at least one of a camcorder. Alternatively, a wired/wireless communication device as well as a broadcast reception function may be added to support a more convenient interface, such as a handwritten input device, a touch screen, or a motion-recognized remote control.

상기 비전 서버(15)는 검출부(30), 검출 오류 판정부(50), 출력부(70) 및 인식부(90)를 포함한다.The vision server 15 includes a detection unit 30, a detection error determination unit 50, an output unit 70 and a recognition unit 90.

상기 검출부(30)는 딥 러닝 알고리즘을 이용하여 객체를 검출하도록 구성된다. 예를 들어, 상기 검출부(30)는 상기 카메라 단말(10)로부터 입력된 영상 데이터에 대해 일정 시간 간격으로 객체를 자동으로 검출하고, 검출된 객체에 대해 딥 네트워크를 이용한 추적 기술을 적용함으로써 실시간 처리를 행하고, 객체가 검색되는 영역을 최소화하는 방법을 적용하여 딥 네트워크를 설계하고 트레이닝하도록 구성될 수 있다. 상기 딥 네트워크는 DNN(Deep Neural Network) 기반의 딥 러닝 알고리즘에 따른 신경 회로망일 수 있으며, 해당 신경 회로망은 입력층(Input Layer), 하나 이상의 은닉층(Hidden Layers) 및 출력층(Output Layer)으로 구성된다. 여기서의, 상기 딥 네트워크는 DNN 이외의 다른 신경망이 적용될 수도 있으며, 일례로, CNN(Convolution Neural Network)이나 RNN(Recurrent Neural Network)과 같은 신경망이 적용될 수도 있다.The detection unit 30 is configured to detect an object using a deep learning algorithm. For example, the detection unit 30 automatically detects an object at regular time intervals for the image data input from the camera terminal 10, and processes the detected object in real time by applying a tracking technology using a deep network. And it can be configured to design and train a deep network by applying a method of minimizing an area in which an object is searched. The deep network may be a neural network according to a deep learning algorithm based on a deep neural network (DNN), and the neural network is composed of an input layer, one or more hidden layers, and an output layer. . Here, as the deep network, a neural network other than a DNN may be applied, for example, a neural network such as a convolution neural network (CNN) or a recurrent neural network (RNN) may be applied.

상기 검출부(30)는 입력된 영상 데이터 중 적어도 하나의 프레임으로부터 객체를 검출하도록 구성된다. 예를 들어, 상기 검출부(30)는 영상 데이터의 연속된 복수의 프레임 또는 이들로부터 랜덤으로 추출된 일정 개수 이상의 프레임에 대해, 동영상 기반의 딥 네트워크를 적용하여 객체를 검출할 수 있다. 이 경우, 인접하는 프레임들으로부터 검출되는 객체의 움직임을 추적할 수 있으며, 또한 프레임별로 복수의 객체가 포함된 경우에도, 각 객체 별로 움직임을 추적할 수도 있다. 또는 이와 달리, 상기 검출부(30)는 입력된 영상 데이터 중 대표 프레임을 선정하고, 당해 대표 프레임을 기초로 이미지 기반의 딥 네트워크를 적용하여 객체를 검출할 수도 있다. 예를 들어, 상기 대표 프레임은, 별도의 감지 센서 등을 통해 라인을 통해 이동되는 제품이 상기 카메라 단말(10)의 바로 아래에 위치될 때, 획득되는 프레임일 수 있다. The detection unit 30 is configured to detect an object from at least one frame of input image data. For example, the detection unit 30 may detect an object by applying a video-based deep network to a plurality of consecutive frames of image data or a predetermined number of frames randomly extracted from them. In this case, motion of an object detected from adjacent frames may be tracked, and even when a plurality of objects are included for each frame, motion for each object may be tracked. Alternatively, the detection unit 30 may select a representative frame among input image data and detect an object by applying an image-based deep network based on the representative frame. For example, the representative frame may be a frame obtained when a product moving through a line through a separate detection sensor or the like is positioned directly under the camera terminal 10.

또한, 도시되진 않았으나, 상기 카메라 단말(10)로부터 획득된 영상 데이터는 상기 검출부(30)에 입력되기 전, 그레이(Gray) 변환 및 평활화(Equalize) 처리 등이 되도록 구성될 수 있다. 여기서, 그레이 변환은 3채널 색상을 가진 이미지를 gray scale의 이미지로 바꾸는 것인데 이는 평활화 처리를 효과적으로 하기 위한 것이며, 평활화 처리는 조명 또는 플레쉬에 의해 이미지의 밝기 분포가 치우친 것을 넓은 영역에 거쳐 분포하도록 넓혀 주기 위한 것으로, 즉, 밝기 분포를 넓히기 위함이다. 이에 따라, 영상 데이터 내에서 바코드를 높은 신뢰도로 검출할 수 있다. 한편, 상기 영상 데이터에는 공지의 다양한 이미지 처리 기법 역시 적용될 수 있으며, 이에 대해서는 자세한 설명을 생략한다. 아울러, 상기 영상 데이터는 상기 검출부(30)에 입력되기 전에 처리되는 것을 예로 설명하였으나, 이에 한정되진 않는다. 예를 들어, 상기 검출부(30)가 영상 데이터 내에서 바코드를 검출한 이후, 바코드의 디코딩을 위해서 해당 영상 데이터를 처리하도록 구성될 수도 있다.In addition, although not shown, the image data acquired from the camera terminal 10 may be configured to be subjected to gray conversion and equalization processing before being input to the detection unit 30. Here, the gray conversion is to convert an image with a three-channel color into a gray scale image, which is to effectively perform smoothing processing, and the smoothing processing expands to distribute the skewed brightness distribution of the image by lighting or flash over a wide area. It is for giving, that is, to widen the brightness distribution. Accordingly, it is possible to detect a barcode in image data with high reliability. Meanwhile, various known image processing techniques may also be applied to the image data, and detailed descriptions thereof will be omitted. In addition, it has been described as an example that the image data is processed before being input to the detection unit 30, but is not limited thereto. For example, after the detection unit 30 detects a barcode in the image data, it may be configured to process the image data for decoding the barcode.

구체적으로, 상기 검출부(30)는 영상 데이터 내에 포함된 바코드를 검출하도록 구성된 바코드 검출부(31) 및 영상 데이터 내에서 제품을 검출하도록 구성된 제품 검출부(35)를 포함한다.Specifically, the detection unit 30 includes a barcode detection unit 31 configured to detect a barcode included in the image data and a product detection unit 35 configured to detect a product in the image data.

상기 바코드 검출부(31)는 딥 네트워크를 이용하여 상기 카메라 단말(10)로부터 입력된 영상 데이터에 대해 자동으로 바코드를 검출하도록 구성되며, 검출된 바코드의 위치 정보, 크기 정보, 그리고 검출의 신뢰도 값 등을 출력하도록 구성될 수 있다. 아울러, 상기 바코드 검출부(31)는 상기 카메라 단말(10)로부터 촬영되는 바코드의 크기를 사전에 모르기 때문에 영상 데이터에서 미리 설정된 스케일들 각각에서 바코드 영역을 검색하면서 바코드 존재 유무를 확인하여, 바코드를 검출하도록 구성된다. The barcode detection unit 31 is configured to automatically detect a barcode for the image data input from the camera terminal 10 using a deep network, and the position information, size information, and reliability value of the detected barcode, etc. Can be configured to output. In addition, since the barcode detection unit 31 does not know the size of the barcode photographed from the camera terminal 10 in advance, it detects the barcode by searching for the barcode area at each of the preset scales in the image data and checking the existence of the barcode. Is configured to

상기 제품 검출부(35)는 딥 네트워크를 이용하여 상기 카메라 단말(10)로부터 입력된 영상 데이터에 대해 자동으로 제품을 검출하도록 구성되며, 검출된 제품의 위치 정보, 크기 정보, 그리고 검출의 신뢰도 값 등을 출력하도록 구성될 수 있다. 아울러, 상기 제품 검출부(35)는 상기 카메라 단말(10)로부터 촬영되는 제품의 크기를 사전에 모르기 때문에 영상 데이터에서 미리 설정된 스케일들 각각에서 제품 영역을 검색하면서 제품의 존재 유무를 확인하여, 제품을 검출하도록 구성된다.The product detection unit 35 is configured to automatically detect a product with respect to the image data input from the camera terminal 10 using a deep network, and location information, size information, and reliability value of the detected product, etc. Can be configured to output. In addition, since the product detection unit 35 does not know the size of the product photographed from the camera terminal 10 in advance, it searches for a product area at each of the preset scales in the image data and checks the presence or absence of the product. Is configured to detect.

예를 들어, 상기 제품 검출부(35)에 의해 검출되는 제품은 라인을 통해 이동되는 박스일 수 있으며, 당해 박스가 개봉된 상태로 라인을 통해 이동되는 경우, 상기 제품 검출부(35)는 개봉된 면으로 노출되는 박스 내부에 배열된 적어도 하나 이상의 소박스를 검출하도록 구성된다. 예를 들어, 상기 제품 검출부(35)는 소박스들의 경계를 기초로 인접하는 소박스들을 구분하여 적어도 하나 이상의 소박스 영역을 검출할 수 있다. For example, the product detected by the product detection unit 35 may be a box that is moved through a line, and when the box is moved through a line in an opened state, the product detection unit 35 is It is configured to detect at least one small box arranged inside the box to be exposed. For example, the product detection unit 35 may detect at least one small box area by dividing adjacent small boxes based on a boundary of the small boxes.

상기 검출 오류 판정부(50)는 상기 바코드 검출부(31) 및 상기 제품 검출부(35)의 출력들 중 적어도 하나에 기초하여, 각 객체의 검출에 오류가 있는지 여부를 판정하도록 구성된다. 상기 검출 오류 판정부(50)는 제품별로 대응되는 바코드를 부착하고 있다는 것을 전제로 하며, 제품별 바코드의 개수는 불문한다. 예를 들어, 제품의 입출고 및 재고 관리 등에 있어, 당해 제품에는 제품 코드 정보를 포함하는 제품 바코드와 일련 번호 정보를 포함하는 식별 바코드 등의 복수의 바코드가 부착될 수도 있다. 이 경우, 검출 오류 판정에 있어서, 제품별로 검출되는 바코드의 개수를 미리 정해진 갯수로 설정할 수 있으며, 상기 검출 오류 판정부(50)는 제품별로 상기 미리 정해진 갯수의 바코드가 검출되지 않으면 검출 실패의 결과를 출력할 수 있다.The detection error determination unit 50 is configured to determine whether there is an error in detection of each object based on at least one of the outputs of the barcode detection unit 31 and the product detection unit 35. The detection error determination unit 50 is based on the assumption that a barcode corresponding to each product is attached, and the number of barcodes for each product is irrelevant. For example, in the in/out and inventory management of products, a plurality of barcodes such as a product barcode including product code information and an identification barcode including serial number information may be attached to the product. In this case, in the detection error determination, the number of barcodes detected for each product may be set to a predetermined number, and the detection error determination unit 50 results in a detection failure if the predetermined number of barcodes for each product is not detected. Can be printed.

한편, 입력되는 영상 데이터로부터 실시간으로 객체 검출이 이루어는 경우, 라인을 통해 이동되는 제품이 카메라 단말의 상에 잡히기 시작하거나 또는 벗어나는 경우와 같이, 당해 영상 데이터 중 일부 프레임에는 당해 제품의 일부분만이 포함될 수 있고, 이 경우 당해 제품에 대한 바코드가 당해 일부 프레임 내에 포함되지 않을 수도 있다. 따라서, 상기 검출 오류 판정부(50)는 당해 일부 프레임과 인접하는 프레임들에 기초하여, 당해 제품 영역의 이동을 추적하면서, 검출의 오류를 판정하도록 구성된다. On the other hand, when an object is detected in real time from the input image data, only a part of the product is included in some frames of the image data, such as when a product moving through a line starts to be caught on or out of the image of the camera terminal. It may be included, and in this case, the barcode for the product may not be included in some of the frames. Accordingly, the detection error determination unit 50 is configured to determine an error in detection while tracking the movement of the product area based on the frames adjacent to the partial frame.

구체적으로, 상기 검출 오류 판정부(50)는 상기 제품 검출부(35)에 의해 인접하는 프레임들으로부터 검출되는 제품 영역을 추적하고, 상기 바코드 검출부(31)에 의해 프레임별로 추적되는 당해 제품 영역에 대응하는 검출된 바코드 영역이 존재하는지 여부를 판단한다. Specifically, the detection error determination unit 50 tracks a product area detected from adjacent frames by the product detection unit 35, and corresponds to a corresponding product area tracked frame by frame by the barcode detection unit 31 It is determined whether or not the detected barcode area is present.

예를 들어, 상기 검출 오류 판정부(50)는 당해 제품 영역이 영상 데이터 내에서 검출된 시점으로부터 영상 데이터 내에서 사라질 때까지 대응하는 바코드 영역을 검출하지 못한 경우, 검출의 실패 결과를 출력하도록 구성될 수 있다. 즉, 상기 검출 오류 판정부(50)는 당해 제품에 대한 바코드가 끝내 검출되지 않으면, 당해 제품 영역이 영상 데이터 내에서 최종적으로 사라질 때, 당해 제품에 대한 바코드 검출의 실패 결과를 출력하도록 구성될 수 있다. 또는, 당해 제품 영역이 영상 데이터 내에서 사라질 때까지 기다릴 필요도 없이, 제품의 경계에 기초하여 제품의 전영역이 영상 데이터 내에 포함되는 경우, 당해 제품 영역에 대응하는 바코드 영역을 검출하지 못한 경우, 검출의 실패 결과를 출력하도록 구성될 수 있다. 한편, 상기 검출 오류 판정부(50)는 검출된 제품 영역을 추적하면서, 적어도 하나의 프레임에서 대응하는 바코드 영역을 검출하면, 검출의 성공 결과를 출력하고, 이후의 프레임에 대해서는 당해 제품에 대한 바코드 영역이 사라진 경우라도 바코드 검출의 실패 결과의 출력을 생략하도록 구성될 수 있다. For example, the detection error determination unit 50 is configured to output a detection failure result when the corresponding barcode area is not detected from the time point when the product area is detected in the image data until it disappears in the image data. Can be. That is, the detection error determination unit 50 may be configured to output a result of failure of detecting the barcode for the product when the product area finally disappears from the image data if the barcode for the product is not detected at last. have. Or, without having to wait for the product area to disappear from the image data, when the entire area of the product is included in the image data based on the boundary of the product, when the barcode area corresponding to the product area cannot be detected, It may be configured to output a result of failure of detection. On the other hand, the detection error determination unit 50, when detecting a corresponding barcode area in at least one frame while tracking the detected product area, outputs a successful detection result, and for subsequent frames, the barcode for the product Even if the area disappears, it may be configured to omit the output of the result of failure of barcode detection.

예를 들어, 상기 검출 오류 판정부(50)는 영상 데이터 내에서 상기 제품 검출부(35)에서 검출된 제품 영역과 상기 바코드 검출부(31)에서 검출된 바코드의 영역에 기초하여, 이 들의 중첩된 영역이 존재하는지 여부에 따라 검출의 오류가 있는지 여부를 판정할 수 있다. 구체적으로, 상기 검출 오류 판정부(50)는 검출된 제품 영역 내에 적어도 하나의 바코드가 검출되지 않은 경우, 또는 검출된 적어도 하나의 바코드가 제품의 영역 밖에 있는 경우, 검출의 실패 결과를 출력하도록 구성될 수 있다.For example, the detection error determination unit 50 is based on the product area detected by the product detection unit 35 and the area of the bar code detected by the barcode detection unit 31 in the image data, It can be determined whether there is an error in detection according to whether or not there is. Specifically, the detection error determination unit 50 is configured to output a detection failure result when at least one barcode is not detected in the detected product area, or when the detected at least one barcode is outside the product area. Can be.

이하, 도 2 및 3을 참조하여, 본 발명의 검출부의 실시예들에 대한 검출 오류 판정부의 동작을 상세하게 설명한다.Hereinafter, the operation of the detection error determination unit in the embodiments of the detection unit of the present invention will be described in detail with reference to FIGS. 2 and 3.

도 2는 도 1의 검출부 및 검출 오류 판정부의 연결관계의 예시들을 설명하기 위한 블록도들이다. 도 3은 도 2에 도시된 검출 오류 판정부의 동작을 설명하기 위한 플로우차트들이다. FIG. 2 is a block diagram illustrating examples of a connection relationship between a detection unit and a detection error determination unit of FIG. 1. 3 is a flowchart illustrating an operation of the detection error determination unit shown in FIG. 2.

도 2(a) 및 도 3(a)를 참조하면, 본 발명의 일 실시예로 상기 제품 검출부(35)와 상기 바코드 검출부(31)가 직렬로 연결되고, 상기 바코드 검출부(31)의 출력은 상기 검출 오류 판정부(50)로 입력되도록 구성될 수 있다. 즉, 상기 제품 검출부(35)는 상기 바코드 검출부(31)에 선행하도록 구성되어, 상기 바코드 검출부(31)가 영상 데이터 상에서 바코드를 검출함에 있어, 제품이 검출된 영역 내에서 바코드를 검색하도록 설정된다. 이에 따라, 효율적으로 영상 데이터 내에서 바코드의 검출을 수행할 수 있다. 2(a) and 3(a), according to an embodiment of the present invention, the product detection unit 35 and the barcode detection unit 31 are connected in series, and the output of the barcode detection unit 31 is It may be configured to be input to the detection error determination unit 50. That is, the product detection unit 35 is configured to precede the barcode detection unit 31, and when the barcode detection unit 31 detects a barcode on image data, it is set to search for a barcode within an area where a product is detected. . Accordingly, it is possible to efficiently detect a barcode in the image data.

구체적으로, 상기 카메라 단말(10)로부터의 영상 데이터가 상기 검출부(30)에 입력되면, 상기 제품 검출부(35)가 상기 바코드 검출부(31)보다 우선하여 영상 데이터 상에서 제품을 검출하도록 구성된다(S11). 예를 들어, 라인을 통해 이동되는 제품의 간격이 일정 이상인 경우, 상기 카메라 단말(10)로부터 실시간으로 획득되는 영상 데이터에는 제품 및 바코드와 무관한 프레임(이미지)이 포함될 수 있으며, 이 경우, 이들 프레임에 대해서는 바코드 검출을 생략할 수 있다. 즉, 영상 데이터 상에서 제품이 검출되지 않는 경우(S12; NO), 상기 제품 검출부(35)는 입력되는 영상 데이터 상에서 계속하여 제품을 검출하도록 구성된다. Specifically, when the image data from the camera terminal 10 is input to the detection unit 30, the product detection unit 35 is configured to detect a product on the image data with priority over the barcode detection unit 31 (S11). ). For example, when the distance of products moving through the line is more than a certain distance, the image data acquired in real time from the camera terminal 10 may include frames (images) irrelevant to the product and barcode. In this case, these Barcode detection can be omitted for frames. That is, when the product is not detected on the image data (S12; NO), the product detection unit 35 is configured to continuously detect the product on the input image data.

상기 제품 검출부(35)에 의해 영상 데이터 상에서 제품이 검출된 경우(S12; YES), 상기 바코드 검출부(31)는 제품이 검출된 제품 영역 내에서 바코드를 검출하도록 구성된다(S13). 이 때, 제품이 검출된 영역에서 바코드가 검출되면(S14; YES), 상기 바코드 검출부(31)는 해당 제품이 검출된 제품 영역에 중첩시켜 바코드가 검출된 바코드 영역을 출력하도록 구성되고, 상기 검출 오류 판정부(50)는 검출의 성공 결과를 출력하도록 구성된다(S15). 또는 이와 달리, 검출된 제품 영역에서 당해 제품에 대한 바코드가 검출되지 않은 경우(S14; NO), 상기 검출 오류 판정부(50)는 당해 제품 영역에 대한 바코드 검출의 실패 결과를 출력하도록 구성된다(S16).When a product is detected on the image data by the product detection unit 35 (S12; YES), the barcode detection unit 31 is configured to detect a bar code within the product area where the product is detected (S13). At this time, when a barcode is detected in the area where the product is detected (S14; YES), the barcode detection unit 31 is configured to output the barcode area in which the barcode is detected by overlapping the product area in which the corresponding product is detected, and the detection The error determination unit 50 is configured to output a successful detection result (S15). Alternatively, if the barcode for the product is not detected in the detected product area (S14; NO), the detection error determination unit 50 is configured to output a result of failure of detecting the barcode for the product area ( S16).

도 2(b) 및 도 3(b)를 참조하면, 본 발명의 다른 실시예로 상기 제품 검출부(35)와 상기 바코드 검출부(31)가 병렬로 연결되고, 상기 바코드 검출부(31) 및 상기 제품 검출부(35)의 출력은 상기 검출 오류 판정부(50)로 각각 입력되도록 구성된다. 즉, 상기 제품 검출부(35)와 상기 바코드 검출부(31)가 입력되는 영상 데이터 상에서 각각 제품 및 바코드를 검출하도록 구성된다(S21). 2(b) and 3(b), in another embodiment of the present invention, the product detection unit 35 and the barcode detection unit 31 are connected in parallel, and the barcode detection unit 31 and the product The outputs of the detection unit 35 are configured to be respectively input to the detection error determination unit 50. That is, the product detection unit 35 and the barcode detection unit 31 are configured to detect a product and a barcode on the input image data, respectively (S21).

구체적으로, 상기 카메라 단말(10)로부터의 영상 데이터가 상기 검출부(30)에 입력되면, 상기 제품 검출부(35) 및 상기 바코드 검출부(31)는 각각 제품 및 바코드를 검출하고, 각각 제품 및 바코드가 검출되는 경우, 해당 제품이 검출된 제품 영역 및 해당 바코드가 검출된 영역을 출력하도록 구성된다. 상기 검출 오류 판정부(50)는 영상 데이터 내에서 검출된 제품 영역과 검출된 바코드의 영역의 중첩된 영역이 존재하는지 여부를 판단한다(S22). 이 때, 검출된 제품 영역과 검출된 바코드 영역의 중첩된 영역이 존재하면(YES), 상기 바코드 검출부(31)는 해당 제품이 검출된 제품 영역에 중첩시켜 바코드가 검출된 바코드 영역을 출력하고, 상기 검출 오류 판정부(50)는 당해 제품에 대한 검출의 성공 결과를 출력하도록 구성된다(S23). 또는 이와 달리, 바코드만 또는 제품만 검출된 경우, 검출된 바코드 영역이 검출된 제품의 영역 밖에 있는 경우, 또는 검출된 제품 영역 내에 바코드가 포함되지 않은 경우와 같이 중첩된 영역이 존재하지 않으면(NO), 상기 검출 오류 판정부(50)는 당해 제품의 검출 또는 당해 제품에 대한 바코드의 검출의 실패 결과를 출력하도록 구성된다(S24). 즉, 본 실시예의 경우, 상기 검출 오류 판정부(50)는 바코드 검출의 오류뿐만 아니라, 제품 검출의 오류도 판정할 수 있다. Specifically, when image data from the camera terminal 10 is input to the detection unit 30, the product detection unit 35 and the barcode detection unit 31 respectively detect a product and a barcode, and the product and the barcode are respectively When detected, it is configured to output a product area in which the corresponding product is detected and an area in which the corresponding barcode is detected. The detection error determination unit 50 determines whether there is an overlapped area between the detected product area and the detected barcode area in the image data (S22). At this time, if there is an overlapped area between the detected product area and the detected barcode area (YES), the barcode detection unit 31 outputs the barcode area in which the barcode is detected by overlapping the product area in which the corresponding product is detected, The detection error determination unit 50 is configured to output a result of successful detection of the product (S23). Alternatively, if there is no overlapping area, such as when only barcodes or only products are detected, when the detected barcode area is outside the area of the detected product, or when a barcode is not included in the detected product area (NO ), the detection error determination unit 50 is configured to output a result of failure of detecting the product or detecting the barcode for the product (S24). That is, in the case of this embodiment, the detection error determination unit 50 can determine not only an error in barcode detection, but also an error in product detection.

본 실시예의 검출 오류 판정부(50)는 검출된 제품의 영역과 검출된 바코드의 영역의 중첩된 영역이 존재하는지 여부를 기초로 검출의 오류를 판단하는 것을 예로 설명하였으나, 이에 한정되지 않는다. 예를 들어, 상기 검출 오류 판정부(50)는 검출된 제품의 갯수와 검출된 바코드의 갯수가 대응되는지 비교함으로써 검출의 오류를 판단하도록 구성될 수 있다. 예를 들어, 영상 데이터 내에서 검출된 제품의 갯수와 검출된 바코드의 갯수가 일치하지 않으면, 검출의 실패 결과를 출력하도록 구성될 수 있다. 또한, 제품별로 복수의 바코드가 부착된 경우에도, 검출 오류 판정부(50)는 제품별 포함하고 있는 바코드의 갯수에 기초하여, 검출된 제품의 갯수와 검출되는 바코드의 갯수를 비교함으로써 검출 실패의 결과를 출력하도록 구성될 수 있다. The detection error determination unit 50 of the present embodiment has been described as an example of determining the detection error based on whether or not an overlapped area between the detected product area and the detected barcode area exists, but is not limited thereto. For example, the detection error determination unit 50 may be configured to determine a detection error by comparing whether the number of detected products and the number of detected barcodes correspond. For example, if the number of products detected in the image data and the number of detected barcodes do not match, the detection failure result may be output. In addition, even when a plurality of barcodes are attached for each product, the detection error determination unit 50 compares the number of detected products with the number of detected barcodes based on the number of barcodes included for each product. It can be configured to output results.

또는 이와 달리, 상기 검출 오류 판정부(50)는 중첩된 영역이 존재하지 않는 경우 또는 갯수가 대응되지 않는 경우뿐만 아니라, 상기 제품 검출부(35)에서 검출된 제품 또는 상기 바코드 검출부(31)에서 검출된 바코드의 신뢰도 값이 일정 값 이하인 경우에도 검출 실패의 결과를 출력하도록 구성될 수 있다.Alternatively, the detection error determination unit 50 detects the product detected by the product detection unit 35 or the barcode detection unit 31 as well as when the overlapped area does not exist or the number does not correspond. Even when the reliability value of the barcode is equal to or less than a certain value, the result of the detection failure may be output.

즉, 종래의 규칙 기반(Rule-based) 방식으로 영상 이미지 상에서 바코드를 추출하는 경우, 바코드 검출의 오류를 작업자가 확인해야 했으며, 특히 영상 이미지 상에 복수의 바코드가 포함된 경우, 검출된 바코드들 중 일부가 누락되었는지 여부를 작업자가 일일이 확인해야 하는 불편이 있었으나, 본 발명의 일 실시예에 따른 바코드 판독 시스템(100)은 객체의 검출에 있어 오류를 판정하도록 구성됨으로써, 라인의 작업자가 별도로 확인할 필요없이 제품 또는 바코드 검출의 오류를 인지할 수 있다. 또한, 당해 검출의 오류를 포함하는 영상 데이터는 별도의 학습 DB(7)에 저장되며, 객체 검출의 학습 모델의 업데이트를 위한 데이터로 활용될 수 있다. 예를 들어, 당해 학습 DB(7)에 저장된 영상 데이터는 무선 통신을 통하여 관리자의 서버로 전송되도록 구성될 수 있다.That is, in the case of extracting a barcode from an image image in a conventional rule-based method, an operator had to check for an error in barcode detection. In particular, when a plurality of barcodes are included in the image image, the detected barcodes There was an inconvenience that the operator had to check whether some of them were missing, but the barcode reading system 100 according to an embodiment of the present invention was configured to determine an error in detection of an object, so that the operator of the line could separately check. You can recognize errors in product or barcode detection without the need. In addition, image data including the detection error is stored in a separate learning DB 7 and may be used as data for updating a learning model of object detection. For example, the image data stored in the learning DB 7 may be configured to be transmitted to an administrator's server through wireless communication.

상기 출력부(70)는 상기 검출 오류 판정부(50)에서 영상 데이터 내의 검출 실패의 결과가 출력된 경우, 객체를 검출함에 있어 영상 데이터 내에 검출 오류가 있음을 라인 작업자가 인지할 수 있도록 오류 결과를 출력하도록 구성된다. 예를 들어, 상기 출력부(70)는 디스플레이로 구성되어, 상기 카메라 단말(10)로부터 수신한 영상 데이터를 실시간으로 디스플레이 상에 출력하고, 검출의 오류가 있는 경우 오류 결과를 디스플레이 상에 함께 출력하도록 구성될 수 있다. 또한, 상기 출력부(70)는 당해 영상 데이터로부터 객체가 검출되면, 당해 검출된 객체의 영역을 디스플레이 상에 표시할 수 있다. When the detection error determination unit 50 outputs the result of detection failure in the image data, the output unit 70 detects the object, so that the line worker can recognize that there is a detection error in the image data. Is configured to output. For example, the output unit 70 is configured as a display, and outputs the image data received from the camera terminal 10 on the display in real time, and when there is an error in detection, the error result is also output on the display. Can be configured to In addition, when an object is detected from the image data, the output unit 70 may display an area of the detected object on the display.

예를 들어, 상기 출력부(70)는 디스플레이 상에 검출된 제품 영역과 검출된 바코드 영역을 박스 형태로 표시하며, 이들에 기초하여 상기 검출 오류 판정부(50)로부터 검출 성공의 결과가 출력된 경우, 해당 제품 영역과 바코드 영역을 특정의 색으로 표시하고, 중첩된 영역이 존재하지 않아 상기 검출 오류 판정부(50)로부터 검출 실패의 결과가 출력된 경우, 해당 제품 영역 또는 바코드 영역을 상기 특정의 색과 상이한 색으로 표시하도록 구성될 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 영상 데이터 내에 복수의 제품(소박스)이 포함된 경우에도, 각 제품별로 제품 영역과 이에 대응되는 바코드 영역을 표시하도록 구성되며, 특정 제품에 대한 검출 오류가 있는 경우, 제품별로 오류 결과를 출력하도록 구성된다. 한편, 상기 출력부(70)가 제품 영역과 바코드 영역을 함께 디스플레이 상에 표시하는 것을 예로 설명하였으나, 이에 한정되지 않으며, 예를 들어, 제품 영역 또는 바코드 영역 중 하나의 표시를 생략할 수도 있다. For example, the output unit 70 displays the detected product area and the detected barcode area on the display in the form of a box, and based on these, the detection error determination unit 50 outputs a result of detection success. In case, the product area and the barcode area are displayed in a specific color, and when the detection failure result is output from the detection error determination unit 50 because there is no overlapped area, the product area or the barcode area is specified. It may be configured to display in a color different from that of. For example, as shown in FIG. 4, even when a plurality of products (small boxes) are included in the image data, the product area and the barcode area corresponding thereto are displayed for each product, and detection for a specific product If there is an error, it is configured to output the error result for each product. Meanwhile, it has been described that the output unit 70 displays the product area and the barcode area together on the display, but is not limited thereto, and for example, the display of either the product area or the barcode area may be omitted.

또한, 상기 출력부(70)는 당해 검출된 객체들 중 바코드의 경우, 후술할 인식부(90)에서 당해 바코드를 디코딩함으로써 인식된 제품 정보를 당해 바코드 영역과 대응시켜 표시할 수도 있다(도 4 참조). In addition, in the case of barcodes among the detected objects, the output unit 70 may display product information recognized by decoding the barcode in the recognition unit 90 to be described later in correspondence with the barcode area (Fig. 4). Reference).

다만, 이와 달리, 상기 출력부(70)는 별도의 디스플레이 상에 표시 없이, 경고음 또는 경고등의 형태로 오류 결과를 출력하도록 구성될 수 있다. 또한, 상기 바코드 판독 시스템(100)이 라인의 동작을 제어하도록 구성된 경우, 검출 실패의 결과가 출력되면, 라인의 이동이 정지될 수 있다. 또는 제품이 카메라 단말(10)의 아래에 위치할 때, 라인이 정지하도록 구성된 경우, 검출 성공의 결과가 출력되면, 라인의 이동이 재개될 수 있다.However, unlike this, the output unit 70 may be configured to output an error result in the form of a warning sound or a warning light without displaying on a separate display. In addition, when the barcode reading system 100 is configured to control the operation of a line, when a result of detection failure is output, the movement of the line may be stopped. Alternatively, when the product is positioned below the camera terminal 10, when the line is configured to stop, when a result of detection success is output, the movement of the line may resume.

상기 인식부(90)는 상기 검출부(30)에서 딥 네트워크를 통해 검출된 바코드를 추출하여, 디코딩함으로써 제품 코드 또는 일련 번호 등의 제품 정보를 자동으로 인식하도록 구성된다. 예를 들어, 상기 바코드 검출부(31)의 출력은 상기 검출 오류 판정부(50)로 입력됨과 함께, 동시에 상기 인식부(90)로 입력되어, 바코드의 검출과 동시에 당해 바코드의 디코딩이 수행되도록 구성될 수 있다. 또는, 상기 검출 오류 판정부(50)의 출력이 상기 인식부(90)로 입력되도록 구성되어, 상기 검출 오류 판정부(50)로부터 검출 성공의 결과가 출력된 경우에 한해 상기 인식부(90)가 당해 바코드의 디코딩을 수행하도록 구성될 수도 있다. 이에 따라, 바코드의 인식을 효과적으로 수행할 수 있다. The recognition unit 90 is configured to automatically recognize product information such as a product code or serial number by extracting and decoding a barcode detected by the detection unit 30 through a deep network. For example, the output of the barcode detection unit 31 is input to the detection error determination unit 50 and simultaneously input to the recognition unit 90, so that the barcode is detected and the barcode is decoded at the same time. Can be. Alternatively, the recognition unit 90 is configured such that the output of the detection error determination unit 50 is input to the recognition unit 90, and only when a result of detection success is output from the detection error determination unit 50. May be configured to perform decoding of the corresponding barcode. Accordingly, barcode recognition can be effectively performed.

한편, 상기 인식부(90)는 인식을 수행하기 전, 신뢰도가 높은 인식을 수행하기 위하여, 예를 들어 해상도, 밝기 및 블러(blur) 정보 중 적어도 하나에 기초하여 영상 데이터의 품질은 평가할 수 있다. 당해 영상 데이터의 품질은 수치화할 수 있으며, 당해 품질이 일정 수치 이하인 경우에는, 공지의 다양한 이미지 처리 기법을 이용하여 영상 데이터의 처리를 수행할 수 있다. 이에 대해서는 자세한 설명을 생략한다. 또한, 상기 인식부(90)는 인식을 수행하기 전, 당해 영상 데이터에 포함된 바코드의 기울기 또는 바코드의 위치 및 크기 정보에 기초하여 추출된 바코드의 회전 변환 또는 크기 변환을 수행하여, 바코드의 인식을 효과적으로 수행할 수 있도록 구성될 수 있다. Meanwhile, before performing recognition, the recognition unit 90 may evaluate the quality of image data based on at least one of, for example, resolution, brightness, and blur information in order to perform recognition with high reliability. . The quality of the image data can be quantified, and when the quality is less than a certain value, the image data can be processed using various known image processing techniques. Detailed description of this will be omitted. In addition, before performing the recognition, the recognition unit 90 performs rotational conversion or size conversion of the extracted barcode based on the tilt of the barcode included in the image data or the location and size information of the barcode, thereby recognizing the barcode. It can be configured to perform effectively.

또한, 상기 인식부(90)는 바코드를 추출하여 디코딩하기 시작한 시점으로부터 당해 바코드로부터 제품 정보가 인식되기까지 소요된 시간을 측정하도록 구성될 수 있다. 이에 따라, 당해 바코드의 인식에 있어서, 상기 인식부(90)에서 소요된 시간이 일정 기준 이상이거나, 또는 인식에 실패한 경우, 이에 대해 영향을 끼친 해당 영상 데이터의 인자를 분석하기 위하여 당해 영상 데이터를 별도의 학습 DB(7)에 저장할 수 있으며, 당해 학습 DB(7)에 저장된 영상 데이터는 무선 통신을 통하여 관리자의 서버로 전송되도록 구성될 수 있다. 이 후 영상 데이터가 동일한 인자를 포함하는 경우, 적절한 이미지 처리 내지 변환이 수행될 수 있도록 제어할 수 있다. In addition, the recognition unit 90 may be configured to measure a time taken from the time when the barcode is extracted and decoded to the product information is recognized from the barcode. Accordingly, in the recognition of the barcode, when the time taken by the recognition unit 90 is more than a certain standard or if the recognition fails, the image data is analyzed to analyze the factors of the image data that have affected it. It can be stored in a separate learning DB (7), and the image data stored in the learning DB (7) can be configured to be transmitted to the administrator's server through wireless communication. Thereafter, when the image data includes the same factor, it may be controlled to perform appropriate image processing or conversion.

본 실시예에 따른 비전 서버(15)의 구성들 중 적어도 하나 및 이들을 제어하기 위한 구성은 하드웨어 구성(hardware component), 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component) 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.At least one of the configurations of the vision server 15 according to the present embodiment and a configuration for controlling them is a hardware component, a software component executed by a hardware configuration such as a processor, or a combination thereof. It can be implemented in a recording medium that can be read by a computer or a similar device.

하드웨어적인 구현에 의하면, ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), FLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 특히, 상기 검출부(30)는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 상기 비전 서버(15)에 탑재될 수도 있다.According to hardware implementation, application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (FLDs), field programmable gate arrays (FPGAs), processors, and controllers It may be implemented using at least one of (controllers), micro-controllers, microprocessors, and electrical units for performing other functions. In particular, the detection unit 30 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general-purpose processor (eg, a CPU or application processor) or a graphics dedicated processor (eg, a GPU). It may be manufactured as a part of and mounted on the vision server 15.

소프트웨어적인 구현에 의하면, 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있으며, 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 비전 서버(15)의 메모리에 저장되고, 별도의 제어부에 의해 실행될 수 있다. 특히, 상기 검출부(30)는 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다. According to software implementation, it can be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein, and a software code may be implemented as a software application written in an appropriate programming language. The software code is stored in the memory of the vision server 15 and can be executed by a separate control unit. In particular, when the detection unit 30 is implemented as a software module (or a program module including an instruction), the software module is a computer-readable non-transitory computer readable media. ) Can be stored. In addition, in this case, the software module may be provided by an operating system (OS) or may be provided by a predetermined application. Alternatively, some of the software modules may be provided by an operating system (OS), and some of the software modules may be provided by a predetermined application.

본 실시예에 따른 바코드 판독 시스템(100)은 카메라 단말(10)과 비전 서버(15)로 구현되는 것을 예로 설명하였으나, 이에 한정되지 않는다. 예를 들어, 상기 바코드 판독 시스템(100)은 하나의 바코드 판독 단말로서 구현될 수 있으며, 이 때, 상기 바코드 판독 단말은 카메라를 포함하며, 동시에 영상처리를 행할 수 있는 일련의 단말일 수 있으며, 예를 들어, 스마트폰, 태블릿 PC, 이동 전화기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 카메라, 또는 웨어러블 장치 중 적어도 하나일 수 있다. 또는, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 셋톱 박스, 홈 오토메이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플 TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 또는 캠코더 중 적어도 하나일 수 있다. 또는, 방송 수신 기능뿐만 아니라 유무선 통신 장치 등이 추가되어, 수기 방식의 입력 장치, 터치 스크린 또는 모션(motion) 인식 리모콘 등 보다 사용에 편리한 인터페이스 등을 지원하는 Connected TV일 수 있다.The barcode reading system 100 according to the present embodiment has been described as an example implemented by the camera terminal 10 and the vision server 15, but is not limited thereto. For example, the barcode reading system 100 may be implemented as one barcode reading terminal, in which case, the barcode reading terminal may be a series of terminals including a camera and capable of performing image processing at the same time, For example, it may be at least one of a smartphone, a tablet PC, a mobile phone, a desktop PC, a laptop PC, a netbook computer, a workstation, a server, a PDA, a portable multimedia player (PMP), an MP3 player, a camera, or a wearable device. . Or, television, digital video disk (DVD) player, audio, set-top box, home automation control panel, security control panel, media box (e.g. Samsung HomeSync TM , Apple TV TM , or Google TV TM ), game console (e.g.: Xbox TM , PlayStation TM ), or may be at least one of a camcorder. Alternatively, a wired/wireless communication device as well as a broadcast reception function may be added to support a more convenient interface, such as a handwritten input device, a touch screen, or a motion-recognized remote control.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. An embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery medium.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. 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 of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

5: 영상 데이터
7: 학습 DB
10: 카메라 단말
15: 비전 서버
30: 검출부
31: 바코드 검출부
35: 제품 검출부
50: 검출 오류 판정부
70: 출력부
90: 인식부
100: 바코드 판독 시스템
5: video data
7: Learning DB
10: camera terminal
15: vision server
30: detection unit
31: barcode detection unit
35: product detection unit
50: detection error determination unit
70: output
90: recognition unit
100: barcode reading system

Claims (6)

바코드 판독 단말 장치로서,
바코드가 부착된 제품을 촬영함으로써 영상 데이터를 획득하도록 구성된 카메라부;
상기 카메라부로부터 전송받은 상기 영상 데이터 상에서 딥 네트워크를 이용하여 바코드 영역 및 제품 영역을 각각 검출하도록 구성된 검출부;
검출된 상기 바코드 영역과 검출된 상기 제품 영역에 기초하여 검출 오류가 있는지 여부를 판정하도록 구성된 검출 오류 판정부; 및
상기 검출 오류 판정부에서 검출 오류가 있다고 판정된 경우, 오류 결과를 출력하도록 구성된 출력부를 포함하는 것을 특징으로 하는 바코드 판독 단말 장치.
As a barcode reading terminal device,
A camera unit configured to acquire image data by photographing a product to which a barcode is attached;
A detection unit configured to detect a barcode area and a product area on the image data transmitted from the camera unit using a deep network;
A detection error determination unit configured to determine whether there is a detection error based on the detected barcode area and the detected product area; And
And an output unit configured to output an error result when the detection error determination unit determines that there is a detection error.
제 1 항에 있어서,
상기 검출부는, 상기 영상 데이터 상에서 제품 영역을 검출한 후, 검출한 상기 제품 영역 내에서 바코드 영역을 검출하도록 구성된 것을 특징으로 하는 바코드 판독 단말 장치.
The method of claim 1,
And the detection unit is configured to detect a product area on the image data and then detect a barcode area within the detected product area.
제 1 항에 있어서,
상기 검출 오류 판정부는, 상기 영상 데이터 내에서 검출된 상기 바코드 영역과 검출된 상기 제품 영역의 중첩된 영역이 있는지 여부로 검출 오류를 판정하는 것을 특징으로 하는 바코드 판독 단말 장치.
The method of claim 1,
And the detection error determination unit determines a detection error based on whether or not there is an overlapped area between the detected barcode area and the detected product area in the image data.
제 1 항에 있어서,
상기 검출 오류 판정부는, 상기 영상 데이터 내에서 검출된 상기 바코드 영역의 갯수와 검출된 상기 제품 영역의 갯수가 대응되는지 여부로 검출 오류를 판정하는 것을 특징으로 하는 바코드 판독 단말 장치.
The method of claim 1,
And the detection error determining unit determines a detection error based on whether the number of the barcode areas detected in the image data corresponds to the number of the detected product areas.
제 1 항에 있어서,
상기 검출부에서 검출된 바코드 영역을 추출하여 디코딩함으로써, 검출된 바코드에 대한 제품 정보를 인식하도록 구성된 인식부를 더 포함하는 것을 특징으로 하는 바코드 판독 단말 장치.
The method of claim 1,
And a recognition unit configured to recognize product information on the detected barcode by extracting and decoding the barcode area detected by the detection unit.
바코드 판독 시스템으로서,
바코드가 부착된 제품을 촬영함으로써 영상 데이터를 획득하도록 구성된 적어도 하나의 카메라 단말; 및
상기 적어도 하나의 카메라 단말과 유무선으로 연결되어 상기 적어도 하나의 카메라 단말로부터 상기 영상 데이터를 전송받도록 구성되는 비전 서버를 포함하고,
상기 비전 서버는,
상기 카메라 단말로부터 전송받은 상기 영상 데이터 상에서 딥 네트워크를 이용하여 바코드 영역 및 제품 영역을 각각 검출하도록 구성된 검출부;
검출된 상기 바코드 영역과 검출된 상기 제품 영역에 기초로 하여 검출 오류가 있는지 여부를 판정하도록 구성된 검출 오류 판정부; 및
상기 검출 오류 판정부에서 검출 오류가 있다고 판정된 경우, 오류 결과를 출력하도록 구성된 출력부를 포함하는 것을 특징으로 하는 바코드 판독 시스템.
As a barcode reading system,
At least one camera terminal configured to acquire image data by photographing a product to which a barcode is attached; And
A vision server connected to the at least one camera terminal by wire or wirelessly and configured to receive the image data from the at least one camera terminal,
The vision server,
A detection unit configured to detect a barcode area and a product area respectively on the image data transmitted from the camera terminal using a deep network;
A detection error determination unit configured to determine whether there is a detection error based on the detected barcode area and the detected product area; And
And an output unit configured to output an error result when the detection error determination unit determines that there is a detection error.
KR1020190030227A 2019-03-17 2019-03-17 Barcode decoding terminal apparatus and system KR20200110712A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190030227A KR20200110712A (en) 2019-03-17 2019-03-17 Barcode decoding terminal apparatus and system
KR1020240026514A KR20240031988A (en) 2019-03-17 2024-02-23 Barcode decoding system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190030227A KR20200110712A (en) 2019-03-17 2019-03-17 Barcode decoding terminal apparatus and system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020240026514A Division KR20240031988A (en) 2019-03-17 2024-02-23 Barcode decoding system

Publications (1)

Publication Number Publication Date
KR20200110712A true KR20200110712A (en) 2020-09-25

Family

ID=72707699

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190030227A KR20200110712A (en) 2019-03-17 2019-03-17 Barcode decoding terminal apparatus and system
KR1020240026514A KR20240031988A (en) 2019-03-17 2024-02-23 Barcode decoding system

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020240026514A KR20240031988A (en) 2019-03-17 2024-02-23 Barcode decoding system

Country Status (1)

Country Link
KR (2) KR20200110712A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230028654A (en) * 2021-08-20 2023-03-02 (주) 엠엔비젼 Multi barcode reading system using deep learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101869895B1 (en) 2018-01-19 2018-06-25 주식회사 리싸이클파크 Object recognition server and object recognition system and object recognition method based on deep learning

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230028654A (en) * 2021-08-20 2023-03-02 (주) 엠엔비젼 Multi barcode reading system using deep learning

Also Published As

Publication number Publication date
KR20240031988A (en) 2024-03-08

Similar Documents

Publication Publication Date Title
US10032286B2 (en) Tracking objects between images
US9721156B2 (en) Gift card recognition using a camera
US10586102B2 (en) Systems and methods for object tracking
US9171204B2 (en) Method of perspective correction for devanagari text
US9177224B1 (en) Object recognition and tracking
US9098888B1 (en) Collaborative text detection and recognition
US20130195376A1 (en) Detecting and correcting skew in regions of text in natural images
CN109740696B (en) Method and equipment for identifying pressing plate
US8908911B2 (en) Redundant detection filtering
US9076242B2 (en) Automatic correction of skew in natural images and video
KR20240031988A (en) Barcode decoding system
US11087137B2 (en) Methods and systems for identification and augmentation of video content
US11348254B2 (en) Visual search method, computer device, and storage medium
US20190104161A1 (en) Systems and methods for directly accessing video data streams and data between devices in a video surveillance system
US11809999B2 (en) Object recognition scanning systems and methods for implementing artificial based item determination
EP4242978A1 (en) Methods and systems for authentication of a physical document
US20220180102A1 (en) Reducing false negatives and finding new classes in object detectors
Abdurrahman et al. Face recognition system for prevention of car theft with Haar Cascade and Local Binary Pattern Histogram using Raspberry Pi
US20240070413A1 (en) 4D Barcode Mapping for Moving Objects
US20230410492A1 (en) A Computer Software Module Arrangement, a Circuitry Arrangement, an Arrangement and a Method for Improved Object Detection by Compensating the Confidence Determination of a Detected Object
US20230334841A1 (en) A Computer Software Module Arrangement, a Circuitry Arrangement, an Arrangement and a Method for Improved Object Detection
US20230401820A1 (en) A Computer Software Module Arrangement, a Circuitry Arrangement, an Arrangement and a Method for Improved Object Detection Adapting the Detection through Shifting the Image
US20230097019A1 (en) Computational load mitigation for image-based item recognition
EP4242977A1 (en) Methods and systems for authentication of a physical document
KR20200136239A (en) Method and apparatus for recognizing image code using machine learning

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination