KR20240031988A - 바코드 판독 시스템 - Google Patents

바코드 판독 시스템 Download PDF

Info

Publication number
KR20240031988A
KR20240031988A KR1020240026514A KR20240026514A KR20240031988A KR 20240031988 A KR20240031988 A KR 20240031988A KR 1020240026514 A KR1020240026514 A KR 1020240026514A KR 20240026514 A KR20240026514 A KR 20240026514A KR 20240031988 A KR20240031988 A KR 20240031988A
Authority
KR
South Korea
Prior art keywords
barcode
product
area
detected
detection
Prior art date
Application number
KR1020240026514A
Other languages
English (en)
Inventor
이상국
김대식
Original Assignee
이상국
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이상국 filed Critical 이상국
Priority to KR1020240026514A priority Critical patent/KR20240031988A/ko
Publication of KR20240031988A publication Critical patent/KR20240031988A/ko

Links

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

본 발명의 일 실시예에 따른 바코드 판독 시스템은 라인을 따라 이동되는 제품들과, 상기 제품들 간의 사이 영역을 포함한 복수의 프레임을 촬영한 영상 데이터를 획득하는 적어도 하나의 카메라 단말과; 상기 적어도 하나의 카메라 단말과 유무선으로 연결되어 상기 적어도 하나의 카메라 단말로부터 상기 영상 데이터를 전송받도록 구성된 비전 서버를 포함하되, 상기 비전 서버는 상기 카메라 단말로부터 전송받은 영상 데이터 상에서 딥 네트워크를 이용하여 바코드 영역 및 제품 영역을 각각 검출하되, 상기 검출된 제품 영역 내에서 상기 바코드 영역을 검출하도록 구성된 검출부와; 상기 검출된 바코드 영역과 제품 영역에 기초로 하여 검출 오류가 있는지 여부를 판정하도록 구성된 검출 오류 판정부와; 상기 검출 오류 판정부에서 검출 오류가 있다고 판정된 경우, 오류 결과를 출력하도록 구성된 출력부를 포함하고, 상기 검출 오류 판정부는상기 검출된 바코드 영역의 갯수와 검출된 제품 영역의 갯수가 대응되는지 여부로 검출 오류를 판정한다.

Description

바코드 판독 시스템{BARCODE DECODING SYSTEM}
본 발명은 바코드 판독 시스템에 관한 것으로, 보다 상세하게는 딥러닝 기반의 객체 인식 기술을 활용한 바코드를 검출하는 바코드 판독 시스템에 관한 발명이다.
바코드(Bar Code)는 Bar와 Space를 변별 가능한 형태로 조합하여 표현되는 라벨로써, 안정적으로 정보를 담고 이를 빠르게 읽을 수 있는 장점 때문에 현재까지도 광범위하게 사용되고 있다. 예를 들어, 바코드는 제품의 제조사, 제품코드, 일련번호 등의 정보를 포함하고, 이를 판독함으로써 제품의 재고상황, 운송현황 등을 신속하고 정확하게 확인할 수 있어 물류, 유통 분야의 입출고 및 재고 관리 등에 있어 효과적으로 사용되고 있다.
일반적으로, 바코드는 레이저 스캔 방식을 채용하는 바코드 리더기를 통해 인식되는데, 바코드 리더기는 한번에 하나의 바코드만을 스캔할 수 있으며, 또한 바코드를 스캔하기 위해서는 바코드 리더기를 당해 바코드에 가까이 접촉해야만 하는 과정이 필요하다. 따라서, 제품의 입출고 및 재고 관리 등에 있어 바코드 리더기를 이용하여 수작업으로 바코드를 스캔해야 하는 경우, 작업자가 수많은 제품에 대해 일일이 스캔 작업을 해야하기 때문에, 작업 처리 속도 및 인건비 면에서 비효율적일 수밖에 없다.
이에, 이러한 문제를 해결하기 위해 영상 이미지 상에서의 바코드를 추출하는 비전 기술이 꾸준히 연구되어 왔다. 예를 들어, morphological 처리를 통해 영상 이미지에서 바코드의 위치를 검출하는 방법, 영상 이미지 내에서 기울어진 바코드를 인식하기 위한 허프 변환(Hough Transform, HT) 처리를 행하는 방법, 연산량과 메모리 효율을 고려한 확률적 허프 변환(Probabilistic Hough Transform, PHT) 처리를 행하는 방법, 해당 영역을 필터링해 찾고자 하는 검색 대상 영역만을 남기는 모폴로지 알고리즘을 이용하는 방법 등이 있었다.
그러나, 이 기술들은 영상 이미지 상에서 바코드의 픽셀 특징에 기초하여 규칙 기반(Rule-based) 방식으로 바코드를 추출하는 방식이라는 점에서, 노이즈에 취약할 수 밖에 없으며, 노이즈를 제거하고자 별도의 이미지 처리를 수행한다고 하더라도 결국 픽셀 단위에서의 분석이라는 점에서 바코드의 추출에 한계가 있을 수 밖에 없다. 또한, 해당 영상 이미지로부터 바코드를 추출하기 위해서는 고스펙의 카메라를 포함한 고가의 장비를 요한다는 점에서, 라인별로 당해 장비를 설치하기 위해서는 비용적인 측면에서 문제가 있었다.
등록특허공보 제10-1869895호(2018.06.25.)
본 발명은 상술한 문제를 해결하기 위한 것으로, 딥 러닝 알고리즘을 이용한 객체 인식 기술을 활용하여, 노이즈에 강인하고, 상대적으로 저렴한 비용으로 바코드를 검출하는 동시에, 검출에 있어 오류가 있는지 여부를 판정할 수 있는 바코드 판독 시스템을 제공하는 것을 목적으로 한다.
본 발명의 목적을 해결하기 위한 일 실시예에 따른 바코드 판독 시스템은 라인을 따라 이동되는 제품들과, 상기 제품들 간의 사이 영역을 포함한 복수의 프레임을 촬영한 영상 데이터를 획득하는 적어도 하나의 카메라 단말; 및 상기 적어도 하나의 카메라 단말과 유무선으로 연결되어 상기 적어도 하나의 카메라 단말로부터 상기 영상 데이터를 전송받도록 구성된 비전 서버를 포함하되, 상기 비전 서버는 상기 카메라 단말로부터 전송받은 영상 데이터 상에서 딥 네트워크를 이용하여 바코드 영역 및 제품 영역을 각각 검출하되, 상기 검출된 제품 영역 내에서 상기 바코드 영역을 검출하도록 구성된 검출부; 상기 검출된 바코드 영역과 제품 영역에 기초로 하여 검출 오류가 있는지 여부를 판정하도록 구성된 검출 오류 판정부; 및 상기 검출 오류 판정부에서 검출 오류가 있다고 판정된 경우, 오류 결과를 출력하도록 구성된 출력부를 포함하고, 상기 검출 오류 판정부는 상기 검출된 바코드 영역의 갯수와 검출된 제품 영역의 갯수가 대응되는지 여부로 검출 오류를 판정한다.
일 실시예에서, 상기 검출부는 상기 영상 데이터에서 미리 설정된 스케일들 각각에 대한 상기 제품 영역을 검색하여 상기 제품 영역의 제품을 검출할 수 있다.
일 실시예에서, 상기 검출 오류 판정부는 상기 복수의 프레임 중에서 상기 검출된 제품의 일부부만이 포함된 일부 프레임과, 상기 일부 프레임에 인접하는 프레임들에 기초하여 상기 제품 영역의 이동을 추적하면서 상기 검출 오류를 더 판정할 수 있다.
종래의 규칙 기반(Rule-based) 방식으로 영상 이미지 상에서 바코드를 추출하는 경우, 바코드 검출의 오류를 작업자가 확인해야 했으며, 특히 영상 이미지 상에 복수의 바코드가 포함된 경우, 검출된 바코드들 중 일부가 누락되었는지 여부를 작업자가 일일이 확인해야 하는 불편이 있었으나, 본 발명의 일 실시예에 따른 바코드 판독 시스템은 객체의 검출에 있어 오류가 있는지 여부를 판정하도록 구성됨으로써, 라인의 작업자가 별도로 확인할 필요없이 제품 또는 바코드 검출의 오류를 인지할 수 있다. 또한, 당해 검출의 오류를 포함하는 영상 데이터는 별도의 DB에 저장되며, 객체 검출의 학습 모델의 업데이트를 위한 데이터로 활용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 인공지능 기반의 바코드 판독 시스템을 설명하기 위한 개념도를 나타낸 것이다.
도 2는 도 1의 검출부 및 검출 오류 판정부의 연결관계의 예시들을 설명하기 위한 블록도들이다.
도 3은 도 2에 도시된 검출 오류 판정부의 동작을 설명하기 위한 플로우차트들이다.
도 4는 영상 데이터 내에 복수의 제품이 포함된 경우의 출력 예시도이다.
이하, 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 바람직한 실시예를 상세히 설명한다. 다만, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예로 한정되지 않는다. 또한, 각 도면의 구성요소들에 참조번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 동일한 참조번호를 부여한다. 본 명세서에서 어떤 구성요소가 다른 구성요소에 "연결"되어 있다거나, "접속"되어 있다고 할 때, 이는 양 구성이 "직접적으로" 연결되어 있는 경우뿐 아니라, 그 사이에 다른 구성이 개재하여 연결되어 있는 경우도 포함하며, 또한, "물리적으로" 연결되어 있는 경우뿐만 아니라, "기능적 또는 통신적으로" 연결되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 인공지능 기반의 바코드 판독 시스템을 설명하기 위한 개념도를 나타낸 것이다.
일 실시예에 따른 바코드 판독 시스템(100)은 제품의 입출고 및 재고 관리에 있어서, 제품에 부착된 바코드를 검출하고, 검출된 바코드를 디코딩하여 판독하도록 구성된 시스템일 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 상기 바코드 판독 시스템(100)은 고정된 카메라가 라인을 통해 이동되는 제품의 상면에 부착된 바코드를 촬영하고, 이에 따라 획득된 영상 데이터를 기초로 바코드를 검출하도록 구성될 수 있다. 다만, 이에 한정되진 않는다. 예를 들어, 상기 바코드 판독 시스템(100)은 이동가능하도록 설계되어, 적재되어 고정된 제품의 일면에 부착된 바코드를 검출하도록 구성될 수 있다.
일 실시예에 따른 바코드 판독 시스템(100)은 딥 러닝 알고리즘을 이용한 객체 인식 기술을 활용하여 카메라 단말을 통해 입력되는 영상 데이터 내의 제품 영역과 바코드 영역을 검출하도록 구성된다. 또한, 상기 바코드 판독 시스템(100)은 도 1에 도시된 바와 같이 영상 데이터(5)에 하나의 바코드가 포함된 경우뿐만 아니라 영상 데이터 내에 복수의 바코드가 포함된 경우에도, 한번에 복수의 바코드를 검출할 수 있다. 여기서, 검출되는 바코드는 학습 가능한 일정한 형태를 갖는 바코드로서, Bar와 Space를 변별 가능한 형태로 조합하여 표현되는 1차원 바코드와 QR 코드(QR Code)로 알려진 사각형안에 정보가 기록된 2차원 바코드를 포함하며 규격 및 종류를 불문한다.
상기 바코드 판독 시스템(100)은, 제품 및 바코드를 촬영하여 영상 데이터를 획득하도록 구성된 카메라 단말(10) 및 상기 카메라 단말(10)과 유무선으로 연결되어 상기 카메라 단말(10)로부터 영상 데이터를 전송받도록 구성되는 비전 서버(15)를 포함한다.
상기 카메라 단말(10)은 바코드가 부착된 제품의 일면에 대향하는 위치에서 제품을 촬영하도록 구성된다. 예를 들어, 상기 카메라 단말(10)은, 도 1에 도시된 바와 같이 라인의 상부에 배치되어 라인을 통해 이동하는 제품을 실시간으로 촬영함으로써 제품과 바코드가 포함된 영상 데이터를 획득하도록 구성된다. 구체적으로, 상기 카메라 단말(10)은 1초에 다수의 프레임(이미지)을 처리 가능하도록 구성되어, 적어도 하나의 프레임(5-1)이 포함된 영상 데이터(5)를 획득하도록 구성되며, 획득된 영상 데이터(5)를 상기 카메라 단말(10)과 연결된 상기 비전 서버(15)로 출력하도록 구성된다. 예를 들어, 상기 영상 데이터는 동영상과 같이 사용자의 눈에 보여지게 되는 움직이는 영상의 데이터일 수 있다. 이 경우, 당해 영상 데이터에는 재생시간의 흐름에 따라 제품 또는 바코드와 관련된 프레임뿐만 아니라 제품들 간의 사이 영역과 같이, 제품 또는 바코드와 무관한 다양한 형상의 프레임이 포함될 수 있다. 또는, 이와 달리, 제품 또는 바코드와 관련된 영상 데이터만을 효과적으로 얻기 위하여, 상기 카메라 단말(10)은 별도의 감지 센서 등을 통해 라인을 통해 이동되는 제품이 카메라 단말의 아래에 위치될 때, 제품을 촬영하도록 구성될 수도 있다.
또한, 상기 카메라 단말(10)은 선명한 영상 데이터를 획득하기 위하여, 자동 초점(Auto-focus) 기능, 자동 플레쉬 기능을 포함하도록 구성될 수 있다. 또는, 상기 카메라 단말(10)은 작업자의 조작에 의해서 또는 상기 비전 서버(15)로 전송된 영상 데이터 상에서 검출된 객체의 신뢰도를 기초로 초점을 맞추거나, 플레쉬를 터트리도록 구성될 수도 있다. 이에 따라, 상기 카메라 단말(10)이 선명한 영상 데이터를 획득함에 있어, 작업 환경으로부터의 영향을 최소화할 수 있으며, 영상 데이터 내에서 객체를 높은 신뢰도로 검출할 수 있다. 또한, 추가로 선명한 영상 데이터를 획득하기 위하여, 제품이 카메라 단말의 바로 아래에 위치할 때, 일정 시간동안 라인이 정지되거나 또는 라인의 이동 속도가 늦춰지도록 제어될 수 있다.
본 실시예에 따른 바코드 판독 시스템(100)은 상기 카메라 단말(10)이 라인의 상부에 배치되어 라인을 통해 이동되는 제품을 촬영하도록 구성된 것을 예로 설명하였으나, 이에 한정되지 않는다. 예를 들어, 상기 카메라 단말(10)은 미리 정해진 트랙 등의 경로를 따라 이동가능하도록 설계되어, 적재된 제품들의 일면에 부착된 바코드를 촬영하여 획득한 영상 데이터를 유무선으로 전송하도록 구성된 카메라를 포함하는 단말 장치일 수 있으며, 또는 카메라가 설치된 드론 등으로 경로를 따라 이동하며 영상 데이터를 획득하도록 구성된 단말 장치일 수 있다. 또는, 스마트폰 등과 같이 카메라를 포함하는 사용자 단말 장치로서, 사용자에 의해 조작되는 핸드 헬드 방식의 단말 장치일 수도 있다.
또한, 상기 바코드 판독 시스템(100)은, 하나의 카메라 단말(10)로부터 획득된 영상 데이터로부터 바코드를 검출하는 것을 도시하고 있으나, 이에 한정되지 않는다. 예를 들어, 상기 카메라 단말(10)은 라인별로 설치되어 복수 개일 수 있으며, 상기 바코드 판독 시스템(100)은 중앙 시스템으로서 복수의 카메라 단말로부터 획득된 영상 데이터들을 동시에 처리하도록 구성될 수 있다.
상기 비전 서버(15)는 상기 카메라 단말(10)과 유무선으로 연결되어 상기 카메라 단말(10)로부터 영상 데이터를 전송받고, 상기 영상 데이터 상에서 제품에 부착된 바코드를 검출하는 동시에, 검출에 있어 오류가 있는지 여부를 판정하고, 검출의 오류가 있는 경우 오류 결과를 출력하도록 구성된다. 또한, 상기 비전 서버(15)는 검출한 바코드를 추출한 후, 디코딩함으로써 당해 바코드에 대한 제품 정보를 인식하도록 구성된다.
상기 비전 서버(15)는, 상기 카메라 단말(10)과 연결되어 영상처리를 행할 수 있는 일련의 단말, 예를 들어, 스마트폰, 태블릿 PC, 이동 전화기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 카메라, 또는 웨어러블 장치 중 적어도 하나일 수 있다. 또는, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 셋톱 박스, 홈 오토메이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플 TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 또는 캠코더 중 적어도 하나일 수 있다. 또는, 방송 수신 기능뿐만 아니라 유무선 통신 장치 등이 추가되어, 수기 방식의 입력 장치, 터치 스크린 또는 모션(motion) 인식 리모콘 등 보다 사용에 편리한 인터페이스 등을 지원하는 Connected TV일 수 있다.
상기 비전 서버(15)는 검출부(30), 검출 오류 판정부(50), 출력부(70) 및 인식부(90)를 포함한다.
상기 검출부(30)는 딥 러닝 알고리즘을 이용하여 객체를 검출하도록 구성된다. 예를 들어, 상기 검출부(30)는 상기 카메라 단말(10)로부터 입력된 영상 데이터에 대해 일정 시간 간격으로 객체를 자동으로 검출하고, 검출된 객체에 대해 딥 네트워크를 이용한 추적 기술을 적용함으로써 실시간 처리를 행하고, 객체가 검색되는 영역을 최소화하는 방법을 적용하여 딥 네트워크를 설계하고 트레이닝하도록 구성될 수 있다. 상기 딥 네트워크는 DNN(Deep Neural Network) 기반의 딥 러닝 알고리즘에 따른 신경 회로망일 수 있으며, 해당 신경 회로망은 입력층(Input Layer), 하나 이상의 은닉층(Hidden Layers) 및 출력층(Output Layer)으로 구성된다. 여기서의, 상기 딥 네트워크는 DNN 이외의 다른 신경망이 적용될 수도 있으며, 일례로, CNN(Convolution Neural Network)이나 RNN(Recurrent Neural Network)과 같은 신경망이 적용될 수도 있다.
상기 검출부(30)는 입력된 영상 데이터 중 적어도 하나의 프레임으로부터 객체를 검출하도록 구성된다. 예를 들어, 상기 검출부(30)는 영상 데이터의 연속된 복수의 프레임 또는 이들로부터 랜덤으로 추출된 일정 개수 이상의 프레임에 대해, 동영상 기반의 딥 네트워크를 적용하여 객체를 검출할 수 있다. 이 경우, 인접하는 프레임들으로부터 검출되는 객체의 움직임을 추적할 수 있으며, 또한 프레임별로 복수의 객체가 포함된 경우에도, 각 객체 별로 움직임을 추적할 수도 있다. 또는 이와 달리, 상기 검출부(30)는 입력된 영상 데이터 중 대표 프레임을 선정하고, 당해 대표 프레임을 기초로 이미지 기반의 딥 네트워크를 적용하여 객체를 검출할 수도 있다. 예를 들어, 상기 대표 프레임은, 별도의 감지 센서 등을 통해 라인을 통해 이동되는 제품이 상기 카메라 단말(10)의 바로 아래에 위치될 때, 획득되는 프레임일 수 있다.
또한, 도시되진 않았으나, 상기 카메라 단말(10)로부터 획득된 영상 데이터는 상기 검출부(30)에 입력되기 전, 그레이(Gray) 변환 및 평활화(Equalize) 처리 등이 되도록 구성될 수 있다. 여기서, 그레이 변환은 3채널 색상을 가진 이미지를 gray scale의 이미지로 바꾸는 것인데 이는 평활화 처리를 효과적으로 하기 위한 것이며, 평활화 처리는 조명 또는 플레쉬에 의해 이미지의 밝기 분포가 치우친 것을 넓은 영역에 거쳐 분포하도록 넓혀 주기 위한 것으로, 즉, 밝기 분포를 넓히기 위함이다. 이에 따라, 영상 데이터 내에서 바코드를 높은 신뢰도로 검출할 수 있다. 한편, 상기 영상 데이터에는 공지의 다양한 이미지 처리 기법 역시 적용될 수 있으며, 이에 대해서는 자세한 설명을 생략한다. 아울러, 상기 영상 데이터는 상기 검출부(30)에 입력되기 전에 처리되는 것을 예로 설명하였으나, 이에 한정되진 않는다. 예를 들어, 상기 검출부(30)가 영상 데이터 내에서 바코드를 검출한 이후, 바코드의 디코딩을 위해서 해당 영상 데이터를 처리하도록 구성될 수도 있다.
구체적으로, 상기 검출부(30)는 영상 데이터 내에 포함된 바코드를 검출하도록 구성된 바코드 검출부(31) 및 영상 데이터 내에서 제품을 검출하도록 구성된 제품 검출부(35)를 포함한다.
상기 바코드 검출부(31)는 딥 네트워크를 이용하여 상기 카메라 단말(10)로부터 입력된 영상 데이터에 대해 자동으로 바코드를 검출하도록 구성되며, 검출된 바코드의 위치 정보, 크기 정보, 그리고 검출의 신뢰도 값 등을 출력하도록 구성될 수 있다. 아울러, 상기 바코드 검출부(31)는 상기 카메라 단말(10)로부터 촬영되는 바코드의 크기를 사전에 모르기 때문에 영상 데이터에서 미리 설정된 스케일들 각각에서 바코드 영역을 검색하면서 바코드 존재 유무를 확인하여, 바코드를 검출하도록 구성된다.
상기 제품 검출부(35)는 딥 네트워크를 이용하여 상기 카메라 단말(10)로부터 입력된 영상 데이터에 대해 자동으로 제품을 검출하도록 구성되며, 검출된 제품의 위치 정보, 크기 정보, 그리고 검출의 신뢰도 값 등을 출력하도록 구성될 수 있다. 아울러, 상기 제품 검출부(35)는 상기 카메라 단말(10)로부터 촬영되는 제품의 크기를 사전에 모르기 때문에 영상 데이터에서 미리 설정된 스케일들 각각에서 제품 영역을 검색하면서 제품의 존재 유무를 확인하여, 제품을 검출하도록 구성된다.
예를 들어, 상기 제품 검출부(35)에 의해 검출되는 제품은 라인을 통해 이동되는 박스일 수 있으며, 당해 박스가 개봉된 상태로 라인을 통해 이동되는 경우, 상기 제품 검출부(35)는 개봉된 면으로 노출되는 박스 내부에 배열된 적어도 하나 이상의 소박스를 검출하도록 구성된다. 예를 들어, 상기 제품 검출부(35)는 소박스들의 경계를 기초로 인접하는 소박스들을 구분하여 적어도 하나 이상의 소박스 영역을 검출할 수 있다.
상기 검출 오류 판정부(50)는 상기 바코드 검출부(31) 및 상기 제품 검출부(35)의 출력들 중 적어도 하나에 기초하여, 각 객체의 검출에 오류가 있는지 여부를 판정하도록 구성된다. 상기 검출 오류 판정부(50)는 제품별로 대응되는 바코드를 부착하고 있다는 것을 전제로 하며, 제품별 바코드의 개수는 불문한다. 예를 들어, 제품의 입출고 및 재고 관리 등에 있어, 당해 제품에는 제품 코드 정보를 포함하는 제품 바코드와 일련 번호 정보를 포함하는 식별 바코드 등의 복수의 바코드가 부착될 수도 있다. 이 경우, 검출 오류 판정에 있어서, 제품별로 검출되는 바코드의 개수를 미리 정해진 갯수로 설정할 수 있으며, 상기 검출 오류 판정부(50)는 제품별로 상기 미리 정해진 갯수의 바코드가 검출되지 않으면 검출 실패의 결과를 출력할 수 있다.
한편, 입력되는 영상 데이터로부터 실시간으로 객체 검출이 이루어는 경우, 라인을 통해 이동되는 제품이 카메라 단말의 상에 잡히기 시작하거나 또는 벗어나는 경우와 같이, 당해 영상 데이터 중 일부 프레임에는 당해 제품의 일부분만이 포함될 수 있고, 이 경우 당해 제품에 대한 바코드가 당해 일부 프레임 내에 포함되지 않을 수도 있다. 따라서, 상기 검출 오류 판정부(50)는 당해 일부 프레임과 인접하는 프레임들에 기초하여, 당해 제품 영역의 이동을 추적하면서, 검출의 오류를 판정하도록 구성된다.
구체적으로, 상기 검출 오류 판정부(50)는 상기 제품 검출부(35)에 의해 인접하는 프레임들으로부터 검출되는 제품 영역을 추적하고, 상기 바코드 검출부(31)에 의해 프레임별로 추적되는 당해 제품 영역에 대응하는 검출된 바코드 영역이 존재하는지 여부를 판단한다.
예를 들어, 상기 검출 오류 판정부(50)는 당해 제품 영역이 영상 데이터 내에서 검출된 시점으로부터 영상 데이터 내에서 사라질 때까지 대응하는 바코드 영역을 검출하지 못한 경우, 검출의 실패 결과를 출력하도록 구성될 수 있다. 즉, 상기 검출 오류 판정부(50)는 당해 제품에 대한 바코드가 끝내 검출되지 않으면, 당해 제품 영역이 영상 데이터 내에서 최종적으로 사라질 때, 당해 제품에 대한 바코드 검출의 실패 결과를 출력하도록 구성될 수 있다. 또는, 당해 제품 영역이 영상 데이터 내에서 사라질 때까지 기다릴 필요도 없이, 제품의 경계에 기초하여 제품의 전영역이 영상 데이터 내에 포함되는 경우, 당해 제품 영역에 대응하는 바코드 영역을 검출하지 못한 경우, 검출의 실패 결과를 출력하도록 구성될 수 있다. 한편, 상기 검출 오류 판정부(50)는 검출된 제품 영역을 추적하면서, 적어도 하나의 프레임에서 대응하는 바코드 영역을 검출하면, 검출의 성공 결과를 출력하고, 이후의 프레임에 대해서는 당해 제품에 대한 바코드 영역이 사라진 경우라도 바코드 검출의 실패 결과의 출력을 생략하도록 구성될 수 있다.
예를 들어, 상기 검출 오류 판정부(50)는 영상 데이터 내에서 상기 제품 검출부(35)에서 검출된 제품 영역과 상기 바코드 검출부(31)에서 검출된 바코드의 영역에 기초하여, 이 들의 중첩된 영역이 존재하는지 여부에 따라 검출의 오류가 있는지 여부를 판정할 수 있다. 구체적으로, 상기 검출 오류 판정부(50)는 검출된 제품 영역 내에 적어도 하나의 바코드가 검출되지 않은 경우, 또는 검출된 적어도 하나의 바코드가 제품의 영역 밖에 있는 경우, 검출의 실패 결과를 출력하도록 구성될 수 있다.
이하, 도 2 및 3을 참조하여, 본 발명의 검출부의 실시예들에 대한 검출 오류 판정부의 동작을 상세하게 설명한다.
도 2는 도 1의 검출부 및 검출 오류 판정부의 연결관계의 예시들을 설명하기 위한 블록도들이다. 도 3은 도 2에 도시된 검출 오류 판정부의 동작을 설명하기 위한 플로우차트들이다.
도 2(a) 및 도 3(a)를 참조하면, 본 발명의 일 실시예로 상기 제품 검출부(35)와 상기 바코드 검출부(31)가 직렬로 연결되고, 상기 바코드 검출부(31)의 출력은 상기 검출 오류 판정부(50)로 입력되도록 구성될 수 있다. 즉, 상기 제품 검출부(35)는 상기 바코드 검출부(31)에 선행하도록 구성되어, 상기 바코드 검출부(31)가 영상 데이터 상에서 바코드를 검출함에 있어, 제품이 검출된 영역 내에서 바코드를 검색하도록 설정된다. 이에 따라, 효율적으로 영상 데이터 내에서 바코드의 검출을 수행할 수 있다.
구체적으로, 상기 카메라 단말(10)로부터의 영상 데이터가 상기 검출부(30)에 입력되면, 상기 제품 검출부(35)가 상기 바코드 검출부(31)보다 우선하여 영상 데이터 상에서 제품을 검출하도록 구성된다(S11). 예를 들어, 라인을 통해 이동되는 제품의 간격이 일정 이상인 경우, 상기 카메라 단말(10)로부터 실시간으로 획득되는 영상 데이터에는 제품 및 바코드와 무관한 프레임(이미지)이 포함될 수 있으며, 이 경우, 이들 프레임에 대해서는 바코드 검출을 생략할 수 있다. 즉, 영상 데이터 상에서 제품이 검출되지 않는 경우(S12; NO), 상기 제품 검출부(35)는 입력되는 영상 데이터 상에서 계속하여 제품을 검출하도록 구성된다.
상기 제품 검출부(35)에 의해 영상 데이터 상에서 제품이 검출된 경우(S12; YES), 상기 바코드 검출부(31)는 제품이 검출된 제품 영역 내에서 바코드를 검출하도록 구성된다(S13). 이 때, 제품이 검출된 영역에서 바코드가 검출되면(S14; YES), 상기 바코드 검출부(31)는 해당 제품이 검출된 제품 영역에 중첩시켜 바코드가 검출된 바코드 영역을 출력하도록 구성되고, 상기 검출 오류 판정부(50)는 검출의 성공 결과를 출력하도록 구성된다(S15). 또는 이와 달리, 검출된 제품 영역에서 당해 제품에 대한 바코드가 검출되지 않은 경우(S14; NO), 상기 검출 오류 판정부(50)는 당해 제품 영역에 대한 바코드 검출의 실패 결과를 출력하도록 구성된다(S16).
도 2(b) 및 도 3(b)를 참조하면, 본 발명의 다른 실시예로 상기 제품 검출부(35)와 상기 바코드 검출부(31)가 병렬로 연결되고, 상기 바코드 검출부(31) 및 상기 제품 검출부(35)의 출력은 상기 검출 오류 판정부(50)로 각각 입력되도록 구성된다. 즉, 상기 제품 검출부(35)와 상기 바코드 검출부(31)가 입력되는 영상 데이터 상에서 각각 제품 및 바코드를 검출하도록 구성된다(S21).
구체적으로, 상기 카메라 단말(10)로부터의 영상 데이터가 상기 검출부(30)에 입력되면, 상기 제품 검출부(35) 및 상기 바코드 검출부(31)는 각각 제품 및 바코드를 검출하고, 각각 제품 및 바코드가 검출되는 경우, 해당 제품이 검출된 제품 영역 및 해당 바코드가 검출된 영역을 출력하도록 구성된다. 상기 검출 오류 판정부(50)는 영상 데이터 내에서 검출된 제품 영역과 검출된 바코드의 영역의 중첩된 영역이 존재하는지 여부를 판단한다(S22). 이 때, 검출된 제품 영역과 검출된 바코드 영역의 중첩된 영역이 존재하면(YES), 상기 바코드 검출부(31)는 해당 제품이 검출된 제품 영역에 중첩시켜 바코드가 검출된 바코드 영역을 출력하고, 상기 검출 오류 판정부(50)는 당해 제품에 대한 검출의 성공 결과를 출력하도록 구성된다(S23). 또는 이와 달리, 바코드만 또는 제품만 검출된 경우, 검출된 바코드 영역이 검출된 제품의 영역 밖에 있는 경우, 또는 검출된 제품 영역 내에 바코드가 포함되지 않은 경우와 같이 중첩된 영역이 존재하지 않으면(NO), 상기 검출 오류 판정부(50)는 당해 제품의 검출 또는 당해 제품에 대한 바코드의 검출의 실패 결과를 출력하도록 구성된다(S24). 즉, 본 실시예의 경우, 상기 검출 오류 판정부(50)는 바코드 검출의 오류뿐만 아니라, 제품 검출의 오류도 판정할 수 있다.
본 실시예의 검출 오류 판정부(50)는 검출된 제품의 영역과 검출된 바코드의 영역의 중첩된 영역이 존재하는지 여부를 기초로 검출의 오류를 판단하는 것을 예로 설명하였으나, 이에 한정되지 않는다. 예를 들어, 상기 검출 오류 판정부(50)는 검출된 제품의 갯수와 검출된 바코드의 갯수가 대응되는지 비교함으로써 검출의 오류를 판단하도록 구성될 수 있다. 예를 들어, 영상 데이터 내에서 검출된 제품의 갯수와 검출된 바코드의 갯수가 일치하지 않으면, 검출의 실패 결과를 출력하도록 구성될 수 있다. 또한, 제품별로 복수의 바코드가 부착된 경우에도, 검출 오류 판정부(50)는 제품별 포함하고 있는 바코드의 갯수에 기초하여, 검출된 제품의 갯수와 검출되는 바코드의 갯수를 비교함으로써 검출 실패의 결과를 출력하도록 구성될 수 있다.
또는 이와 달리, 상기 검출 오류 판정부(50)는 중첩된 영역이 존재하지 않는 경우 또는 갯수가 대응되지 않는 경우뿐만 아니라, 상기 제품 검출부(35)에서 검출된 제품 또는 상기 바코드 검출부(31)에서 검출된 바코드의 신뢰도 값이 일정 값 이하인 경우에도 검출 실패의 결과를 출력하도록 구성될 수 있다.
즉, 종래의 규칙 기반(Rule-based) 방식으로 영상 이미지 상에서 바코드를 추출하는 경우, 바코드 검출의 오류를 작업자가 확인해야 했으며, 특히 영상 이미지 상에 복수의 바코드가 포함된 경우, 검출된 바코드들 중 일부가 누락되었는지 여부를 작업자가 일일이 확인해야 하는 불편이 있었으나, 본 발명의 일 실시예에 따른 바코드 판독 시스템(100)은 객체의 검출에 있어 오류를 판정하도록 구성됨으로써, 라인의 작업자가 별도로 확인할 필요없이 제품 또는 바코드 검출의 오류를 인지할 수 있다. 또한, 당해 검출의 오류를 포함하는 영상 데이터는 별도의 학습 DB(7)에 저장되며, 객체 검출의 학습 모델의 업데이트를 위한 데이터로 활용될 수 있다. 예를 들어, 당해 학습 DB(7)에 저장된 영상 데이터는 무선 통신을 통하여 관리자의 서버로 전송되도록 구성될 수 있다.
상기 출력부(70)는 상기 검출 오류 판정부(50)에서 영상 데이터 내의 검출 실패의 결과가 출력된 경우, 객체를 검출함에 있어 영상 데이터 내에 검출 오류가 있음을 라인 작업자가 인지할 수 있도록 오류 결과를 출력하도록 구성된다. 예를 들어, 상기 출력부(70)는 디스플레이로 구성되어, 상기 카메라 단말(10)로부터 수신한 영상 데이터를 실시간으로 디스플레이 상에 출력하고, 검출의 오류가 있는 경우 오류 결과를 디스플레이 상에 함께 출력하도록 구성될 수 있다. 또한, 상기 출력부(70)는 당해 영상 데이터로부터 객체가 검출되면, 당해 검출된 객체의 영역을 디스플레이 상에 표시할 수 있다.
예를 들어, 상기 출력부(70)는 디스플레이 상에 검출된 제품 영역과 검출된 바코드 영역을 박스 형태로 표시하며, 이들에 기초하여 상기 검출 오류 판정부(50)로부터 검출 성공의 결과가 출력된 경우, 해당 제품 영역과 바코드 영역을 특정의 색으로 표시하고, 중첩된 영역이 존재하지 않아 상기 검출 오류 판정부(50)로부터 검출 실패의 결과가 출력된 경우, 해당 제품 영역 또는 바코드 영역을 상기 특정의 색과 상이한 색으로 표시하도록 구성될 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 영상 데이터 내에 복수의 제품(소박스)이 포함된 경우에도, 각 제품별로 제품 영역과 이에 대응되는 바코드 영역을 표시하도록 구성되며, 특정 제품에 대한 검출 오류가 있는 경우, 제품별로 오류 결과를 출력하도록 구성된다. 한편, 상기 출력부(70)가 제품 영역과 바코드 영역을 함께 디스플레이 상에 표시하는 것을 예로 설명하였으나, 이에 한정되지 않으며, 예를 들어, 제품 영역 또는 바코드 영역 중 하나의 표시를 생략할 수도 있다.
또한, 상기 출력부(70)는 당해 검출된 객체들 중 바코드의 경우, 후술할 인식부(90)에서 당해 바코드를 디코딩함으로써 인식된 제품 정보를 당해 바코드 영역과 대응시켜 표시할 수도 있다(도 4 참조).
다만, 이와 달리, 상기 출력부(70)는 별도의 디스플레이 상에 표시 없이, 경고음 또는 경고등의 형태로 오류 결과를 출력하도록 구성될 수 있다. 또한, 상기 바코드 판독 시스템(100)이 라인의 동작을 제어하도록 구성된 경우, 검출 실패의 결과가 출력되면, 라인의 이동이 정지될 수 있다. 또는 제품이 카메라 단말(10)의 아래에 위치할 때, 라인이 정지하도록 구성된 경우, 검출 성공의 결과가 출력되면, 라인의 이동이 재개될 수 있다.
상기 인식부(90)는 상기 검출부(30)에서 딥 네트워크를 통해 검출된 바코드를 추출하여, 디코딩함으로써 제품 코드 또는 일련 번호 등의 제품 정보를 자동으로 인식하도록 구성된다. 예를 들어, 상기 바코드 검출부(31)의 출력은 상기 검출 오류 판정부(50)로 입력됨과 함께, 동시에 상기 인식부(90)로 입력되어, 바코드의 검출과 동시에 당해 바코드의 디코딩이 수행되도록 구성될 수 있다. 또는, 상기 검출 오류 판정부(50)의 출력이 상기 인식부(90)로 입력되도록 구성되어, 상기 검출 오류 판정부(50)로부터 검출 성공의 결과가 출력된 경우에 한해 상기 인식부(90)가 당해 바코드의 디코딩을 수행하도록 구성될 수도 있다. 이에 따라, 바코드의 인식을 효과적으로 수행할 수 있다.
한편, 상기 인식부(90)는 인식을 수행하기 전, 신뢰도가 높은 인식을 수행하기 위하여, 예를 들어 해상도, 밝기 및 블러(blur) 정보 중 적어도 하나에 기초하여 영상 데이터의 품질은 평가할 수 있다. 당해 영상 데이터의 품질은 수치화할 수 있으며, 당해 품질이 일정 수치 이하인 경우에는, 공지의 다양한 이미지 처리 기법을 이용하여 영상 데이터의 처리를 수행할 수 있다. 이에 대해서는 자세한 설명을 생략한다. 또한, 상기 인식부(90)는 인식을 수행하기 전, 당해 영상 데이터에 포함된 바코드의 기울기 또는 바코드의 위치 및 크기 정보에 기초하여 추출된 바코드의 회전 변환 또는 크기 변환을 수행하여, 바코드의 인식을 효과적으로 수행할 수 있도록 구성될 수 있다.
또한, 상기 인식부(90)는 바코드를 추출하여 디코딩하기 시작한 시점으로부터 당해 바코드로부터 제품 정보가 인식되기까지 소요된 시간을 측정하도록 구성될 수 있다. 이에 따라, 당해 바코드의 인식에 있어서, 상기 인식부(90)에서 소요된 시간이 일정 기준 이상이거나, 또는 인식에 실패한 경우, 이에 대해 영향을 끼친 해당 영상 데이터의 인자를 분석하기 위하여 당해 영상 데이터를 별도의 학습 DB(7)에 저장할 수 있으며, 당해 학습 DB(7)에 저장된 영상 데이터는 무선 통신을 통하여 관리자의 서버로 전송되도록 구성될 수 있다. 이 후 영상 데이터가 동일한 인자를 포함하는 경우, 적절한 이미지 처리 내지 변환이 수행될 수 있도록 제어할 수 있다.
본 실시예에 따른 비전 서버(15)의 구성들 중 적어도 하나 및 이들을 제어하기 위한 구성은 하드웨어 구성(hardware component), 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component) 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 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)에 탑재될 수도 있다.
소프트웨어적인 구현에 의하면, 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있으며, 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 비전 서버(15)의 메모리에 저장되고, 별도의 제어부에 의해 실행될 수 있다. 특히, 상기 검출부(30)는 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 실시예에 따른 바코드 판독 시스템(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일 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
5: 영상 데이터
7: 학습 DB
10: 카메라 단말
15: 비전 서버
30: 검출부
31: 바코드 검출부
35: 제품 검출부
50: 검출 오류 판정부
70: 출력부
90: 인식부
100: 바코드 판독 시스템

Claims (3)

  1. 라인을 따라 이동되는 제품들과, 상기 제품들 간의 사이 영역을 포함한 복수의 프레임을 촬영한 영상 데이터를 획득하는 적어도 하나의 카메라 단말; 및
    상기 적어도 하나의 카메라 단말과 유무선으로 연결되어 상기 적어도 하나의 카메라 단말로부터 상기 영상 데이터를 전송받도록 구성된 비전 서버를 포함하되,
    상기 비전 서버는,
    상기 카메라 단말로부터 전송받은 영상 데이터 상에서 딥 네트워크를 이용하여 바코드 영역 및 제품 영역을 각각 검출하되, 상기 검출된 제품 영역 내에서 상기 바코드 영역을 검출하도록 구성된 검출부;
    상기 검출된 바코드 영역과 제품 영역에 기초로 하여 검출 오류가 있는지 여부를 판정하도록 구성된 검출 오류 판정부; 및
    상기 검출 오류 판정부에서 검출 오류가 있다고 판정된 경우, 오류 결과를 출력하도록 구성된 출력부를 포함하고,
    상기 검출 오류 판정부는,
    상기 검출된 바코드 영역의 갯수와 검출된 제품 영역의 갯수가 대응되는지 여부로 검출 오류를 판정하는 것을 특징으로 하는, 바코드 판독 시스템.
  2. 제1항에 있어서,
    상기 검출부는,
    상기 영상 데이터에서 미리 설정된 스케일들 각각에 대한 상기 제품 영역을 검색하여 상기 제품 영역의 제품을 검출하는 것을 특징으로 하는, 바코드 판독 시스템.
  3. 제1항에 있어서,
    상기 검출 오류 판정부는,
    상기 복수의 프레임 중에서 상기 검출된 제품의 일부부만이 포함된 일부 프레임과, 상기 일부 프레임에 인접하는 프레임들에 기초하여 상기 제품 영역의 이동을 추적하면서 상기 검출 오류를 더 판정하는 것을 특징으로 하는, 바코드 판독 시스템.
KR1020240026514A 2019-03-17 2024-02-23 바코드 판독 시스템 KR20240031988A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240026514A KR20240031988A (ko) 2019-03-17 2024-02-23 바코드 판독 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190030227A KR20200110712A (ko) 2019-03-17 2019-03-17 바코드 판독 단말 장치 및 시스템
KR1020240026514A KR20240031988A (ko) 2019-03-17 2024-02-23 바코드 판독 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190030227A Division KR20200110712A (ko) 2019-03-17 2019-03-17 바코드 판독 단말 장치 및 시스템

Publications (1)

Publication Number Publication Date
KR20240031988A true KR20240031988A (ko) 2024-03-08

Family

ID=72707699

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190030227A KR20200110712A (ko) 2019-03-17 2019-03-17 바코드 판독 단말 장치 및 시스템
KR1020240026514A KR20240031988A (ko) 2019-03-17 2024-02-23 바코드 판독 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020190030227A KR20200110712A (ko) 2019-03-17 2019-03-17 바코드 판독 단말 장치 및 시스템

Country Status (1)

Country Link
KR (2) KR20200110712A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102582219B1 (ko) * 2021-08-20 2023-09-26 (주) 엠엔비젼 딥러닝을 이용한 멀티 바코드 리딩 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101869895B1 (ko) 2018-01-19 2018-06-25 주식회사 리싸이클파크 딥 러닝 기반의 오브젝트 인식 서버, 오브젝트 인식 시스템 및 오브젝트 인식 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101869895B1 (ko) 2018-01-19 2018-06-25 주식회사 리싸이클파크 딥 러닝 기반의 오브젝트 인식 서버, 오브젝트 인식 시스템 및 오브젝트 인식 방법

Also Published As

Publication number Publication date
KR20200110712A (ko) 2020-09-25

Similar Documents

Publication Publication Date Title
US10032286B2 (en) Tracking objects between images
US8831381B2 (en) Detecting and correcting skew in regions of text in natural images
US9177224B1 (en) Object recognition and tracking
US9171204B2 (en) Method of perspective correction for devanagari text
Zamberletti et al. Robust angle invariant 1d barcode detection
KR20240031988A (ko) 바코드 판독 시스템
US11087137B2 (en) Methods and systems for identification and augmentation of video content
US10839554B2 (en) Image labeling for cleaning robot deep learning system
US10169629B2 (en) Decoding visual codes
US11886953B2 (en) Computer vision system and method of label detection, reading, and registration of labels on objects
WO2020131198A2 (en) Method for improper product barcode detection
US11809999B2 (en) Object recognition scanning systems and methods for implementing artificial based item determination
US10733489B2 (en) Optically readable tags and methods and systems for decoding an optically readable tag
US10855728B2 (en) Systems and methods for directly accessing video data streams and data between devices in a video surveillance system
WO2017112131A1 (en) Determining values of angular gauges
US10402777B2 (en) Method and a system for object recognition
Zamberletti et al. Neural 1D barcode detection using the Hough transform
JP5674933B2 (ja) 倉庫内の物体の位置を特定するための方法及び装置
US9697608B1 (en) Approaches for scene-based object tracking
KR20200136239A (ko) 기계학습을 이용한 이미지코드를 인식하는 장치 및 방법
US20240135317A1 (en) Image-based inventory system
US11995900B2 (en) Method on identifying indicia orientation and decoding indicia for machine vision systems
US20240037907A1 (en) Systems and Methods for Image-Based Augmentation of Scanning Operations
US20240070413A1 (en) 4D Barcode Mapping for Moving Objects
EP4242977A1 (en) Methods and systems for authentication of a physical document

Legal Events

Date Code Title Description
A107 Divisional application of patent