KR20200110712A - Barcode decoding terminal apparatus and system - Google Patents
Barcode decoding terminal apparatus and system Download PDFInfo
- 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
Links
- 238000001514 detection method Methods 0.000 claims abstract description 164
- 238000000034 method Methods 0.000 claims description 18
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000013135 deep learning Methods 0.000 abstract description 6
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000009499 grossing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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
Description
본 발명은 바코드 판독 단말 장치 및 시스템에 관한 것으로, 보다 상세하게는 딥러닝 기반의 객체 인식 기술을 활용한 바코드를 검출하는 바코드 판독 단말 장치 및 시스템에 관한 발명이다.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
일 실시예에 따른 바코드 판독 시스템(100)은 딥 러닝 알고리즘을 이용한 객체 인식 기술을 활용하여 카메라 단말을 통해 입력되는 영상 데이터 내의 제품 영역과 바코드 영역을 검출하도록 구성된다. 또한, 상기 바코드 판독 시스템(100)은 도 1에 도시된 바와 같이 영상 데이터(5)에 하나의 바코드가 포함된 경우뿐만 아니라 영상 데이터 내에 복수의 바코드가 포함된 경우에도, 한번에 복수의 바코드를 검출할 수 있다. 여기서, 검출되는 바코드는 학습 가능한 일정한 형태를 갖는 바코드로서, Bar와 Space를 변별 가능한 형태로 조합하여 표현되는 1차원 바코드와 QR 코드(QR Code)로 알려진 사각형안에 정보가 기록된 2차원 바코드를 포함하며 규격 및 종류를 불문한다.The
상기 바코드 판독 시스템(100)은, 제품 및 바코드를 촬영하여 영상 데이터를 획득하도록 구성된 카메라 단말(10) 및 상기 카메라 단말(10)과 유무선으로 연결되어 상기 카메라 단말(10)로부터 영상 데이터를 전송받도록 구성되는 비전 서버(15)를 포함한다. The
상기 카메라 단말(10)은 바코드가 부착된 제품의 일면에 대향하는 위치에서 제품을 촬영하도록 구성된다. 예를 들어, 상기 카메라 단말(10)은, 도 1에 도시된 바와 같이 라인의 상부에 배치되어 라인을 통해 이동하는 제품을 실시간으로 촬영함으로써 제품과 바코드가 포함된 영상 데이터를 획득하도록 구성된다. 구체적으로, 상기 카메라 단말(10)은 1초에 다수의 프레임(이미지)을 처리 가능하도록 구성되어, 적어도 하나의 프레임(5-1)이 포함된 영상 데이터(5)를 획득하도록 구성되며, 획득된 영상 데이터(5)를 상기 카메라 단말(10)과 연결된 상기 비전 서버(15)로 출력하도록 구성된다. 예를 들어, 상기 영상 데이터는 동영상과 같이 사용자의 눈에 보여지게 되는 움직이는 영상의 데이터일 수 있다. 이 경우, 당해 영상 데이터에는 재생시간의 흐름에 따라 제품 또는 바코드와 관련된 프레임뿐만 아니라 제품들 간의 사이 영역과 같이, 제품 또는 바코드와 무관한 다양한 형상의 프레임이 포함될 수 있다. 또는, 이와 달리, 제품 또는 바코드와 관련된 영상 데이터만을 효과적으로 얻기 위하여, 상기 카메라 단말(10)은 별도의 감지 센서 등을 통해 라인을 통해 이동되는 제품이 카메라 단말의 아래에 위치될 때, 제품을 촬영하도록 구성될 수도 있다. The
또한, 상기 카메라 단말(10)은 선명한 영상 데이터를 획득하기 위하여, 자동 초점(Auto-focus) 기능, 자동 플레쉬 기능을 포함하도록 구성될 수 있다. 또는, 상기 카메라 단말(10)은 작업자의 조작에 의해서 또는 상기 비전 서버(15)로 전송된 영상 데이터 상에서 검출된 객체의 신뢰도를 기초로 초점을 맞추거나, 플레쉬를 터트리도록 구성될 수도 있다. 이에 따라, 상기 카메라 단말(10)이 선명한 영상 데이터를 획득함에 있어, 작업 환경으로부터의 영향을 최소화할 수 있으며, 영상 데이터 내에서 객체를 높은 신뢰도로 검출할 수 있다. 또한, 추가로 선명한 영상 데이터를 획득하기 위하여, 제품이 카메라 단말의 바로 아래에 위치할 때, 일정 시간동안 라인이 정지되거나 또는 라인의 이동 속도가 늦춰지도록 제어될 수 있다.In addition, the
본 실시예에 따른 바코드 판독 시스템(100)은 상기 카메라 단말(10)이 라인의 상부에 배치되어 라인을 통해 이동되는 제품을 촬영하도록 구성된 것을 예로 설명하였으나, 이에 한정되지 않는다. 예를 들어, 상기 카메라 단말(10)은 미리 정해진 트랙 등의 경로를 따라 이동가능하도록 설계되어, 적재된 제품들의 일면에 부착된 바코드를 촬영하여 획득한 영상 데이터를 유무선으로 전송하도록 구성된 카메라를 포함하는 단말 장치일 수 있으며, 또는 카메라가 설치된 드론 등으로 경로를 따라 이동하며 영상 데이터를 획득하도록 구성된 단말 장치일 수 있다. 또는, 스마트폰 등과 같이 카메라를 포함하는 사용자 단말 장치로서, 사용자에 의해 조작되는 핸드 헬드 방식의 단말 장치일 수도 있다. The
또한, 상기 바코드 판독 시스템(100)은, 하나의 카메라 단말(10)로부터 획득된 영상 데이터로부터 바코드를 검출하는 것을 도시하고 있으나, 이에 한정되지 않는다. 예를 들어, 상기 카메라 단말(10)은 라인별로 설치되어 복수 개일 수 있으며, 상기 바코드 판독 시스템(100)은 중앙 시스템으로서 복수의 카메라 단말로부터 획득된 영상 데이터들을 동시에 처리하도록 구성될 수 있다.In addition, the
상기 비전 서버(15)는 상기 카메라 단말(10)과 유무선으로 연결되어 상기 카메라 단말(10)로부터 영상 데이터를 전송받고, 상기 영상 데이터 상에서 제품에 부착된 바코드를 검출하는 동시에, 검출에 있어 오류가 있는지 여부를 판정하고, 검출의 오류가 있는 경우 오류 결과를 출력하도록 구성된다. 또한, 상기 비전 서버(15)는 검출한 바코드를 추출한 후, 디코딩함으로써 당해 바코드에 대한 제품 정보를 인식하도록 구성된다. The
상기 비전 서버(15)는, 상기 카메라 단말(10)과 연결되어 영상처리를 행할 수 있는 일련의 단말, 예를 들어, 스마트폰, 태블릿 PC, 이동 전화기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 카메라, 또는 웨어러블 장치 중 적어도 하나일 수 있다. 또는, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 셋톱 박스, 홈 오토메이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플 TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 또는 캠코더 중 적어도 하나일 수 있다. 또는, 방송 수신 기능뿐만 아니라 유무선 통신 장치 등이 추가되어, 수기 방식의 입력 장치, 터치 스크린 또는 모션(motion) 인식 리모콘 등 보다 사용에 편리한 인터페이스 등을 지원하는 Connected TV일 수 있다.The
상기 비전 서버(15)는 검출부(30), 검출 오류 판정부(50), 출력부(70) 및 인식부(90)를 포함한다.The
상기 검출부(30)는 딥 러닝 알고리즘을 이용하여 객체를 검출하도록 구성된다. 예를 들어, 상기 검출부(30)는 상기 카메라 단말(10)로부터 입력된 영상 데이터에 대해 일정 시간 간격으로 객체를 자동으로 검출하고, 검출된 객체에 대해 딥 네트워크를 이용한 추적 기술을 적용함으로써 실시간 처리를 행하고, 객체가 검색되는 영역을 최소화하는 방법을 적용하여 딥 네트워크를 설계하고 트레이닝하도록 구성될 수 있다. 상기 딥 네트워크는 DNN(Deep Neural Network) 기반의 딥 러닝 알고리즘에 따른 신경 회로망일 수 있으며, 해당 신경 회로망은 입력층(Input Layer), 하나 이상의 은닉층(Hidden Layers) 및 출력층(Output Layer)으로 구성된다. 여기서의, 상기 딥 네트워크는 DNN 이외의 다른 신경망이 적용될 수도 있으며, 일례로, CNN(Convolution Neural Network)이나 RNN(Recurrent Neural Network)과 같은 신경망이 적용될 수도 있다.The
상기 검출부(30)는 입력된 영상 데이터 중 적어도 하나의 프레임으로부터 객체를 검출하도록 구성된다. 예를 들어, 상기 검출부(30)는 영상 데이터의 연속된 복수의 프레임 또는 이들로부터 랜덤으로 추출된 일정 개수 이상의 프레임에 대해, 동영상 기반의 딥 네트워크를 적용하여 객체를 검출할 수 있다. 이 경우, 인접하는 프레임들으로부터 검출되는 객체의 움직임을 추적할 수 있으며, 또한 프레임별로 복수의 객체가 포함된 경우에도, 각 객체 별로 움직임을 추적할 수도 있다. 또는 이와 달리, 상기 검출부(30)는 입력된 영상 데이터 중 대표 프레임을 선정하고, 당해 대표 프레임을 기초로 이미지 기반의 딥 네트워크를 적용하여 객체를 검출할 수도 있다. 예를 들어, 상기 대표 프레임은, 별도의 감지 센서 등을 통해 라인을 통해 이동되는 제품이 상기 카메라 단말(10)의 바로 아래에 위치될 때, 획득되는 프레임일 수 있다. The
또한, 도시되진 않았으나, 상기 카메라 단말(10)로부터 획득된 영상 데이터는 상기 검출부(30)에 입력되기 전, 그레이(Gray) 변환 및 평활화(Equalize) 처리 등이 되도록 구성될 수 있다. 여기서, 그레이 변환은 3채널 색상을 가진 이미지를 gray scale의 이미지로 바꾸는 것인데 이는 평활화 처리를 효과적으로 하기 위한 것이며, 평활화 처리는 조명 또는 플레쉬에 의해 이미지의 밝기 분포가 치우친 것을 넓은 영역에 거쳐 분포하도록 넓혀 주기 위한 것으로, 즉, 밝기 분포를 넓히기 위함이다. 이에 따라, 영상 데이터 내에서 바코드를 높은 신뢰도로 검출할 수 있다. 한편, 상기 영상 데이터에는 공지의 다양한 이미지 처리 기법 역시 적용될 수 있으며, 이에 대해서는 자세한 설명을 생략한다. 아울러, 상기 영상 데이터는 상기 검출부(30)에 입력되기 전에 처리되는 것을 예로 설명하였으나, 이에 한정되진 않는다. 예를 들어, 상기 검출부(30)가 영상 데이터 내에서 바코드를 검출한 이후, 바코드의 디코딩을 위해서 해당 영상 데이터를 처리하도록 구성될 수도 있다.In addition, although not shown, the image data acquired from the
구체적으로, 상기 검출부(30)는 영상 데이터 내에 포함된 바코드를 검출하도록 구성된 바코드 검출부(31) 및 영상 데이터 내에서 제품을 검출하도록 구성된 제품 검출부(35)를 포함한다.Specifically, the
상기 바코드 검출부(31)는 딥 네트워크를 이용하여 상기 카메라 단말(10)로부터 입력된 영상 데이터에 대해 자동으로 바코드를 검출하도록 구성되며, 검출된 바코드의 위치 정보, 크기 정보, 그리고 검출의 신뢰도 값 등을 출력하도록 구성될 수 있다. 아울러, 상기 바코드 검출부(31)는 상기 카메라 단말(10)로부터 촬영되는 바코드의 크기를 사전에 모르기 때문에 영상 데이터에서 미리 설정된 스케일들 각각에서 바코드 영역을 검색하면서 바코드 존재 유무를 확인하여, 바코드를 검출하도록 구성된다. The
상기 제품 검출부(35)는 딥 네트워크를 이용하여 상기 카메라 단말(10)로부터 입력된 영상 데이터에 대해 자동으로 제품을 검출하도록 구성되며, 검출된 제품의 위치 정보, 크기 정보, 그리고 검출의 신뢰도 값 등을 출력하도록 구성될 수 있다. 아울러, 상기 제품 검출부(35)는 상기 카메라 단말(10)로부터 촬영되는 제품의 크기를 사전에 모르기 때문에 영상 데이터에서 미리 설정된 스케일들 각각에서 제품 영역을 검색하면서 제품의 존재 유무를 확인하여, 제품을 검출하도록 구성된다.The
예를 들어, 상기 제품 검출부(35)에 의해 검출되는 제품은 라인을 통해 이동되는 박스일 수 있으며, 당해 박스가 개봉된 상태로 라인을 통해 이동되는 경우, 상기 제품 검출부(35)는 개봉된 면으로 노출되는 박스 내부에 배열된 적어도 하나 이상의 소박스를 검출하도록 구성된다. 예를 들어, 상기 제품 검출부(35)는 소박스들의 경계를 기초로 인접하는 소박스들을 구분하여 적어도 하나 이상의 소박스 영역을 검출할 수 있다. For example, the product detected by the
상기 검출 오류 판정부(50)는 상기 바코드 검출부(31) 및 상기 제품 검출부(35)의 출력들 중 적어도 하나에 기초하여, 각 객체의 검출에 오류가 있는지 여부를 판정하도록 구성된다. 상기 검출 오류 판정부(50)는 제품별로 대응되는 바코드를 부착하고 있다는 것을 전제로 하며, 제품별 바코드의 개수는 불문한다. 예를 들어, 제품의 입출고 및 재고 관리 등에 있어, 당해 제품에는 제품 코드 정보를 포함하는 제품 바코드와 일련 번호 정보를 포함하는 식별 바코드 등의 복수의 바코드가 부착될 수도 있다. 이 경우, 검출 오류 판정에 있어서, 제품별로 검출되는 바코드의 개수를 미리 정해진 갯수로 설정할 수 있으며, 상기 검출 오류 판정부(50)는 제품별로 상기 미리 정해진 갯수의 바코드가 검출되지 않으면 검출 실패의 결과를 출력할 수 있다.The detection
한편, 입력되는 영상 데이터로부터 실시간으로 객체 검출이 이루어는 경우, 라인을 통해 이동되는 제품이 카메라 단말의 상에 잡히기 시작하거나 또는 벗어나는 경우와 같이, 당해 영상 데이터 중 일부 프레임에는 당해 제품의 일부분만이 포함될 수 있고, 이 경우 당해 제품에 대한 바코드가 당해 일부 프레임 내에 포함되지 않을 수도 있다. 따라서, 상기 검출 오류 판정부(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
구체적으로, 상기 검출 오류 판정부(50)는 상기 제품 검출부(35)에 의해 인접하는 프레임들으로부터 검출되는 제품 영역을 추적하고, 상기 바코드 검출부(31)에 의해 프레임별로 추적되는 당해 제품 영역에 대응하는 검출된 바코드 영역이 존재하는지 여부를 판단한다. Specifically, the detection
예를 들어, 상기 검출 오류 판정부(50)는 당해 제품 영역이 영상 데이터 내에서 검출된 시점으로부터 영상 데이터 내에서 사라질 때까지 대응하는 바코드 영역을 검출하지 못한 경우, 검출의 실패 결과를 출력하도록 구성될 수 있다. 즉, 상기 검출 오류 판정부(50)는 당해 제품에 대한 바코드가 끝내 검출되지 않으면, 당해 제품 영역이 영상 데이터 내에서 최종적으로 사라질 때, 당해 제품에 대한 바코드 검출의 실패 결과를 출력하도록 구성될 수 있다. 또는, 당해 제품 영역이 영상 데이터 내에서 사라질 때까지 기다릴 필요도 없이, 제품의 경계에 기초하여 제품의 전영역이 영상 데이터 내에 포함되는 경우, 당해 제품 영역에 대응하는 바코드 영역을 검출하지 못한 경우, 검출의 실패 결과를 출력하도록 구성될 수 있다. 한편, 상기 검출 오류 판정부(50)는 검출된 제품 영역을 추적하면서, 적어도 하나의 프레임에서 대응하는 바코드 영역을 검출하면, 검출의 성공 결과를 출력하고, 이후의 프레임에 대해서는 당해 제품에 대한 바코드 영역이 사라진 경우라도 바코드 검출의 실패 결과의 출력을 생략하도록 구성될 수 있다. For example, the detection
예를 들어, 상기 검출 오류 판정부(50)는 영상 데이터 내에서 상기 제품 검출부(35)에서 검출된 제품 영역과 상기 바코드 검출부(31)에서 검출된 바코드의 영역에 기초하여, 이 들의 중첩된 영역이 존재하는지 여부에 따라 검출의 오류가 있는지 여부를 판정할 수 있다. 구체적으로, 상기 검출 오류 판정부(50)는 검출된 제품 영역 내에 적어도 하나의 바코드가 검출되지 않은 경우, 또는 검출된 적어도 하나의 바코드가 제품의 영역 밖에 있는 경우, 검출의 실패 결과를 출력하도록 구성될 수 있다.For example, the detection
이하, 도 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
구체적으로, 상기 카메라 단말(10)로부터의 영상 데이터가 상기 검출부(30)에 입력되면, 상기 제품 검출부(35)가 상기 바코드 검출부(31)보다 우선하여 영상 데이터 상에서 제품을 검출하도록 구성된다(S11). 예를 들어, 라인을 통해 이동되는 제품의 간격이 일정 이상인 경우, 상기 카메라 단말(10)로부터 실시간으로 획득되는 영상 데이터에는 제품 및 바코드와 무관한 프레임(이미지)이 포함될 수 있으며, 이 경우, 이들 프레임에 대해서는 바코드 검출을 생략할 수 있다. 즉, 영상 데이터 상에서 제품이 검출되지 않는 경우(S12; NO), 상기 제품 검출부(35)는 입력되는 영상 데이터 상에서 계속하여 제품을 검출하도록 구성된다. Specifically, when the image data from the
상기 제품 검출부(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
도 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
구체적으로, 상기 카메라 단말(10)로부터의 영상 데이터가 상기 검출부(30)에 입력되면, 상기 제품 검출부(35) 및 상기 바코드 검출부(31)는 각각 제품 및 바코드를 검출하고, 각각 제품 및 바코드가 검출되는 경우, 해당 제품이 검출된 제품 영역 및 해당 바코드가 검출된 영역을 출력하도록 구성된다. 상기 검출 오류 판정부(50)는 영상 데이터 내에서 검출된 제품 영역과 검출된 바코드의 영역의 중첩된 영역이 존재하는지 여부를 판단한다(S22). 이 때, 검출된 제품 영역과 검출된 바코드 영역의 중첩된 영역이 존재하면(YES), 상기 바코드 검출부(31)는 해당 제품이 검출된 제품 영역에 중첩시켜 바코드가 검출된 바코드 영역을 출력하고, 상기 검출 오류 판정부(50)는 당해 제품에 대한 검출의 성공 결과를 출력하도록 구성된다(S23). 또는 이와 달리, 바코드만 또는 제품만 검출된 경우, 검출된 바코드 영역이 검출된 제품의 영역 밖에 있는 경우, 또는 검출된 제품 영역 내에 바코드가 포함되지 않은 경우와 같이 중첩된 영역이 존재하지 않으면(NO), 상기 검출 오류 판정부(50)는 당해 제품의 검출 또는 당해 제품에 대한 바코드의 검출의 실패 결과를 출력하도록 구성된다(S24). 즉, 본 실시예의 경우, 상기 검출 오류 판정부(50)는 바코드 검출의 오류뿐만 아니라, 제품 검출의 오류도 판정할 수 있다. Specifically, when image data from the
본 실시예의 검출 오류 판정부(50)는 검출된 제품의 영역과 검출된 바코드의 영역의 중첩된 영역이 존재하는지 여부를 기초로 검출의 오류를 판단하는 것을 예로 설명하였으나, 이에 한정되지 않는다. 예를 들어, 상기 검출 오류 판정부(50)는 검출된 제품의 갯수와 검출된 바코드의 갯수가 대응되는지 비교함으로써 검출의 오류를 판단하도록 구성될 수 있다. 예를 들어, 영상 데이터 내에서 검출된 제품의 갯수와 검출된 바코드의 갯수가 일치하지 않으면, 검출의 실패 결과를 출력하도록 구성될 수 있다. 또한, 제품별로 복수의 바코드가 부착된 경우에도, 검출 오류 판정부(50)는 제품별 포함하고 있는 바코드의 갯수에 기초하여, 검출된 제품의 갯수와 검출되는 바코드의 갯수를 비교함으로써 검출 실패의 결과를 출력하도록 구성될 수 있다. The detection
또는 이와 달리, 상기 검출 오류 판정부(50)는 중첩된 영역이 존재하지 않는 경우 또는 갯수가 대응되지 않는 경우뿐만 아니라, 상기 제품 검출부(35)에서 검출된 제품 또는 상기 바코드 검출부(31)에서 검출된 바코드의 신뢰도 값이 일정 값 이하인 경우에도 검출 실패의 결과를 출력하도록 구성될 수 있다.Alternatively, the detection
즉, 종래의 규칙 기반(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
상기 출력부(70)는 상기 검출 오류 판정부(50)에서 영상 데이터 내의 검출 실패의 결과가 출력된 경우, 객체를 검출함에 있어 영상 데이터 내에 검출 오류가 있음을 라인 작업자가 인지할 수 있도록 오류 결과를 출력하도록 구성된다. 예를 들어, 상기 출력부(70)는 디스플레이로 구성되어, 상기 카메라 단말(10)로부터 수신한 영상 데이터를 실시간으로 디스플레이 상에 출력하고, 검출의 오류가 있는 경우 오류 결과를 디스플레이 상에 함께 출력하도록 구성될 수 있다. 또한, 상기 출력부(70)는 당해 영상 데이터로부터 객체가 검출되면, 당해 검출된 객체의 영역을 디스플레이 상에 표시할 수 있다. When the detection
예를 들어, 상기 출력부(70)는 디스플레이 상에 검출된 제품 영역과 검출된 바코드 영역을 박스 형태로 표시하며, 이들에 기초하여 상기 검출 오류 판정부(50)로부터 검출 성공의 결과가 출력된 경우, 해당 제품 영역과 바코드 영역을 특정의 색으로 표시하고, 중첩된 영역이 존재하지 않아 상기 검출 오류 판정부(50)로부터 검출 실패의 결과가 출력된 경우, 해당 제품 영역 또는 바코드 영역을 상기 특정의 색과 상이한 색으로 표시하도록 구성될 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 영상 데이터 내에 복수의 제품(소박스)이 포함된 경우에도, 각 제품별로 제품 영역과 이에 대응되는 바코드 영역을 표시하도록 구성되며, 특정 제품에 대한 검출 오류가 있는 경우, 제품별로 오류 결과를 출력하도록 구성된다. 한편, 상기 출력부(70)가 제품 영역과 바코드 영역을 함께 디스플레이 상에 표시하는 것을 예로 설명하였으나, 이에 한정되지 않으며, 예를 들어, 제품 영역 또는 바코드 영역 중 하나의 표시를 생략할 수도 있다. For example, the
또한, 상기 출력부(70)는 당해 검출된 객체들 중 바코드의 경우, 후술할 인식부(90)에서 당해 바코드를 디코딩함으로써 인식된 제품 정보를 당해 바코드 영역과 대응시켜 표시할 수도 있다(도 4 참조). In addition, in the case of barcodes among the detected objects, the
다만, 이와 달리, 상기 출력부(70)는 별도의 디스플레이 상에 표시 없이, 경고음 또는 경고등의 형태로 오류 결과를 출력하도록 구성될 수 있다. 또한, 상기 바코드 판독 시스템(100)이 라인의 동작을 제어하도록 구성된 경우, 검출 실패의 결과가 출력되면, 라인의 이동이 정지될 수 있다. 또는 제품이 카메라 단말(10)의 아래에 위치할 때, 라인이 정지하도록 구성된 경우, 검출 성공의 결과가 출력되면, 라인의 이동이 재개될 수 있다.However, unlike this, the
상기 인식부(90)는 상기 검출부(30)에서 딥 네트워크를 통해 검출된 바코드를 추출하여, 디코딩함으로써 제품 코드 또는 일련 번호 등의 제품 정보를 자동으로 인식하도록 구성된다. 예를 들어, 상기 바코드 검출부(31)의 출력은 상기 검출 오류 판정부(50)로 입력됨과 함께, 동시에 상기 인식부(90)로 입력되어, 바코드의 검출과 동시에 당해 바코드의 디코딩이 수행되도록 구성될 수 있다. 또는, 상기 검출 오류 판정부(50)의 출력이 상기 인식부(90)로 입력되도록 구성되어, 상기 검출 오류 판정부(50)로부터 검출 성공의 결과가 출력된 경우에 한해 상기 인식부(90)가 당해 바코드의 디코딩을 수행하도록 구성될 수도 있다. 이에 따라, 바코드의 인식을 효과적으로 수행할 수 있다. The
한편, 상기 인식부(90)는 인식을 수행하기 전, 신뢰도가 높은 인식을 수행하기 위하여, 예를 들어 해상도, 밝기 및 블러(blur) 정보 중 적어도 하나에 기초하여 영상 데이터의 품질은 평가할 수 있다. 당해 영상 데이터의 품질은 수치화할 수 있으며, 당해 품질이 일정 수치 이하인 경우에는, 공지의 다양한 이미지 처리 기법을 이용하여 영상 데이터의 처리를 수행할 수 있다. 이에 대해서는 자세한 설명을 생략한다. 또한, 상기 인식부(90)는 인식을 수행하기 전, 당해 영상 데이터에 포함된 바코드의 기울기 또는 바코드의 위치 및 크기 정보에 기초하여 추출된 바코드의 회전 변환 또는 크기 변환을 수행하여, 바코드의 인식을 효과적으로 수행할 수 있도록 구성될 수 있다. Meanwhile, before performing recognition, the
또한, 상기 인식부(90)는 바코드를 추출하여 디코딩하기 시작한 시점으로부터 당해 바코드로부터 제품 정보가 인식되기까지 소요된 시간을 측정하도록 구성될 수 있다. 이에 따라, 당해 바코드의 인식에 있어서, 상기 인식부(90)에서 소요된 시간이 일정 기준 이상이거나, 또는 인식에 실패한 경우, 이에 대해 영향을 끼친 해당 영상 데이터의 인자를 분석하기 위하여 당해 영상 데이터를 별도의 학습 DB(7)에 저장할 수 있으며, 당해 학습 DB(7)에 저장된 영상 데이터는 무선 통신을 통하여 관리자의 서버로 전송되도록 구성될 수 있다. 이 후 영상 데이터가 동일한 인자를 포함하는 경우, 적절한 이미지 처리 내지 변환이 수행될 수 있도록 제어할 수 있다. In addition, the
본 실시예에 따른 비전 서버(15)의 구성들 중 적어도 하나 및 이들을 제어하기 위한 구성은 하드웨어 구성(hardware component), 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component) 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.At least one of the configurations of the
하드웨어적인 구현에 의하면, 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
소프트웨어적인 구현에 의하면, 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있으며, 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 비전 서버(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
본 실시예에 따른 바코드 판독 시스템(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
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. 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.
상기 검출부는, 상기 영상 데이터 상에서 제품 영역을 검출한 후, 검출한 상기 제품 영역 내에서 바코드 영역을 검출하도록 구성된 것을 특징으로 하는 바코드 판독 단말 장치. 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.
상기 검출 오류 판정부는, 상기 영상 데이터 내에서 검출된 상기 바코드 영역과 검출된 상기 제품 영역의 중첩된 영역이 있는지 여부로 검출 오류를 판정하는 것을 특징으로 하는 바코드 판독 단말 장치. 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.
상기 검출 오류 판정부는, 상기 영상 데이터 내에서 검출된 상기 바코드 영역의 갯수와 검출된 상기 제품 영역의 갯수가 대응되는지 여부로 검출 오류를 판정하는 것을 특징으로 하는 바코드 판독 단말 장치. 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.
상기 검출부에서 검출된 바코드 영역을 추출하여 디코딩함으로써, 검출된 바코드에 대한 제품 정보를 인식하도록 구성된 인식부를 더 포함하는 것을 특징으로 하는 바코드 판독 단말 장치.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.
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)
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)
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 |
-
2019
- 2019-03-17 KR KR1020190030227A patent/KR20200110712A/en not_active IP Right Cessation
-
2024
- 2024-02-23 KR KR1020240026514A patent/KR20240031988A/en active Application Filing
Cited By (1)
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 |