KR102476496B1 - 인공지능 기반의 바코드 복원을 통한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

인공지능 기반의 바코드 복원을 통한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102476496B1
KR102476496B1 KR1020220045043A KR20220045043A KR102476496B1 KR 102476496 B1 KR102476496 B1 KR 102476496B1 KR 1020220045043 A KR1020220045043 A KR 1020220045043A KR 20220045043 A KR20220045043 A KR 20220045043A KR 102476496 B1 KR102476496 B1 KR 102476496B1
Authority
KR
South Korea
Prior art keywords
product
barcode
area
product identification
information
Prior art date
Application number
KR1020220045043A
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 KR1020220045043A priority Critical patent/KR102476496B1/ko
Application granted granted Critical
Publication of KR102476496B1 publication Critical patent/KR102476496B1/ko

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/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0036Checkout procedures
    • G07G1/0045Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader

Abstract

본 발명은 인공지능 기반의 바코드 복원을 통한 상품 식별 방법을 제안한다. 상기 방법은 인식 장치가, 카메라(camera)를 통해 적어도 하나의 상품을 촬영하는 단계, 상기 촬영된 이미지 내에서 상기 적어도 하나의 상품의 바코드(barcode) 영역을 크로핑(cropping)하는 단계, 상기 바코드 영역에서 적어도 하나의 특징점(feature point)을 식별하는 단계, 인공 지능(Artificial Intelligence, AI)을 기반으로 상기 식별된 특징점을 이용하여 상기 바코드 영역을 복원하는 단계 및 상기 복원된 바코드 영역으로부터 정보를 인식하여, 상품을 식별하는 단계를 포함할 수 있다

Description

인공지능 기반의 바코드 복원을 통한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for identify product through artificial intelligence-based barcode restoration and computer program recorded on record-medium for executing method therefor}
본 발명은 상품 식별에 관한 것이다. 보다 상세하게는, 비전(vision) 센서를 기반으로 촬영된 바코드의 이미지에서 왜곡을 복원하여 상품 식별의 정확성을 높이기 위한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다.
한편, 무인 점포(unmanned store)는 상품의 결제 및 관리를 수행하는 판매자 매장 내에 존재하지 않고 소비자가 구입을 원하는 물건을 가져와 직접 결제하는 점포를 말한다.
최근 들어, IT(Information Technology) 산업기술의 발달, 인건비 상승과 심야 시간대의 효율적인 운영 등의 이유로 무인 점포에 대한 관심이 높아지고 있는 추세다. 이와 같은, 무인 점포는 주로 커피 전문점, 아이스크림 전문점 등과 같이 고객의 다양한 니즈를 반영하지 않아도 되는 상품을 취급하는 매장에서 제한적으로 적용되고 있으나, 최근 그 적용 영역이 확대되고 있다.
이와 같은, 무인 점포 내에는 고객이 구매하고자 하는 상품을 직접 결제할 수 있는 무인 셀프 결제기(예를 들어, 키오스크 등)가 설치되어 있으며, 무인 점포 내에 비치되어 있는 각종 제품과 무인 셀프 결제기의 도난이나 파손 등을 감시하기 위해 폐쇄 회로 텔레비전(Closed Circuit TeleVision, CCTV)이 설치되어 있다.
일반적으로, 무인 셀프 결제기는 결제를 진행하고자 하는 고객이 직접 상품의 포장재에 구비된 바코드(barcode)를 스캔하고, 스캔된 바코드를 통해 상품을 식별하고, 식별된 상품의 정보를 이용하여 결제를 진행하게 된다.
최근에는 결제를 진행하고자 하는 고객이 직접 상품의 바코드를 스캔하지 않고도, 고객이 구입하고자 하는 물건을 특정 위치에 올려놓으면, 비전 센서를 기반으로 상품에 포함된 바코드를 자동으로 인식하여, 상품을 식별하기 위한 노력이 진행되고 있다.
그러나, 바코드는 상품의 심미성을 해칠 우려가 있으므로, 상품의 외면 또는 포장지에 소형의 정형화된 크기를 갖도록 인쇄되어 있다. 따라서, 비전 센서로부터 촬영된 이미지 속의 바코드는 일부가 잘리거나, 가려지거나, 비틀어지거나, 포커스가 불일치하는 등의 왜곡이 발생된다. 이에 따라, 상품 인식의 정확성이 떨어지는 문제점이 있었다.
또한, 바코드를 정확히 인식하기 위해서는 상품을 다방면으로 촬영하기 위한 복수의 카메라가 필수적으로 요구된다. 그러나, 복수의 카메라를 설치하기 위해서는 많은 공간이 필요하기 때문에, 소형화를 위한 노력이 필요하다.
대한민국 공개특허공보 제10-2020-0023990호, ‘무인 점포의 결제 처리 시스템, 방법 및 컴퓨터 프로그램’, (2020.03.06. 공개)
본 발명의 일 목적은 비전(vision) 센서를 기반으로 촬영된 바코드의 이미지에서 왜곡을 복원하여 상품 식별의 정확성을 높이기 위한 상품 식별 방법을 제공하는 것이다.
본 발명의 다른 목적은 비전 센서 기반으로 촬영된 바코드의 이미지에서 왜곡을 복원하여 상품 식별의 정확성을 높이기 위한 상품 식별 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 인공지능 기반의 바코드 복원을 통한 상품 식별 방법을 제안한다. 상기 방법은 인식 장치가, 카메라(camera)를 통해 적어도 하나의 상품을 촬영하는 단계, 상기 인식 장치가, 상기 촬영된 이미지 내에서 상기 적어도 하나의 상품의 바코드(barcode) 영역을 크로핑(cropping)하는 단계, 상기 인식 장치가, 상기 바코드 영역에서 적어도 하나의 특징점(feature point)을 식별하는 단계, 상기 인식 장치가, 인공 지능(Artificial Intelligence, AI)을 기반으로 상기 식별된 특징점을 이용하여 상기 바코드 영역을 복원하는 단계 및 상기 인식 장치가, 상기 복원된 바코드 영역으로부터 정보를 인식하여, 상품을 식별하는 단계를 포함한다.
구체적으로, 상기 크로핑하는 단계는 상기 촬영된 이미지에 대하여 배경(background)을 제거하고, 전경(foreground)을 외곽선에 따라 구획하여 적어도 하나의 상품을 구분하고, 상기 구분된 적어도 하나의 상품 각각에 대하여 바코드 영역을 크로핑할 수 있다.
상기 크로핑하는 단계는 사전에 학습된 분류기(classifier)를 이용하여 상기 구분된 상품 각각에 대하여 사전에 정의된 바코드의 형상 정보와 매칭되는 형상 정보를 갖는 영역을 바코드 영역으로 인식할 수 있다.
상기 특징점을 식별하는 단계는 상기 바코드 영역 내에 포함된 바코드 정보를 식별하는 단계 및 상기 식별된 바코드 정보의 개수 및 배치 관계에 따라, 바코드의 훼손 유형(type)을 식별하는 단계를 포함할 수 있다.
상기 바코드 정보는 상기 바코드 영역 내에 포함된 quiet zone, start/stop character, check digit, interpretation line, bar/space 및 intercharacter gaps 중 적어도 하나를 포함할 수 있다.
상기 훼손 유형은 상기 바코드 영역의 가려짐, 잘림, 비틀어짐 및 포커스 불일치 중 적어도 하나를 포함할 수 있다.
상기 복원하는 단계는 사전 저장된 바코드의 특징점 및 상기 바코드 영역으로부터 식별된 특징점 간의 유사도를 비교하여, 상기 사전 저장된 바코드 중 유사도가 사전에 설정된 임계값 이상인 바코드를 기초로 상기 바코드 영역을 복원할 수 있다.
상기 복원하는 단계는 바코드 정보 및 훼손 유형에 따라 사전에 기계 학습(machine learning)된 인공 지능(Artificial Intelligence, AI)에 상기 식별된 바코드 정보 및 훼손 유형을 입력하여 상기 바코드 영역을 복원할 수 있다.
상기 복원하는 단계는 상기 바코드 영역을 상부 영역과 하부 영역으로 구분하고, 상기 상부 영역 또는 상기 하부 영역을 기준으로, 상기 상부 영역 또는 상기 하부 영역으로 bar/space를 확장하여, 상기 바코드 영역을 복원할 수 있다.
상기 복원하는 단계는 생성적 적대 신경망(Generative Adversarial Network, GAN)을 기반으로 상기 바코드 영역 내에서 훼손되지 않은 영역의 픽셀(pixel)을 기초로 훼손된 영역을 복원할 수 있다.
상기 복원하는 단계는 상기 훼손된 영역과의 거리를 기준으로, 상기 훼손되지 않은 영역의 픽셀에 복원을 위한 손실(loss)에 대한 가중치를 부여하여, 상기 바코드 영역을 복원할 수 있다.
상기 복원하는 단계는 상기 복원을 위한 손실에 대한 가중치를 상기 훼손되지 않은 영역의 픽셀 각각의 주변에 존재하는 손상된 픽셀의 개수와 비례하게 부여할 수 있다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 인공지능 기반의 바코드 복원을 통한 상품 식별 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory), 송수신기(transceiver) 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어, 상기 프로세서가, 카메라(camera)를 통해 적어도 하나의 상품을 촬영하는 단계, 상기 프로세서가, 상기 촬영된 이미지 내에서 상기 적어도 하나의 상품의 바코드(barcode) 영역을 크로핑(cropping)하는 단계, 상기 프로세서가, 상기 바코드 영역에서 적어도 하나의 특징점(feature point)을 식별하는 단계, 상기 프로세서가, 인공 지능(Artificial Intelligence, AI)을 기반으로 상기 식별된 특징점을 이용하여 상기 바코드 영역을 복원하는 단계 및 상기 프로세서가, 상기 복원된 바코드 영역으로부터 정보를 인식하여, 상품을 식별하는 단계를 실행시킬 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들에 따르면, 카메라를 통해 촬영된 이미지 내에서 특징점을 식별하여 왜곡된 바코드(barcode) 영역을 복원하고, 복원된 바코드 영역으로 정보를 인식하여 상품을 식별함으로써, 상품 식별의 정확성을 높일 수 있다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 상품 식별 장치의 구성을 나타낸 개략도이다.
도 2는 본 발명의 다른 실시예에 따른 상품 식별 장치의 구성을 나타낸 개략도이다.
도 3은 본 발명의 일 실시예에 따른 상품 식별 장치의 논리적 구성도이다.
도 4는 본 발명의 다른 실시예에 따른 상품 식별 장치의 논리적 구성도이다.
도 5는 본 발명의 다른 실시예에 따른 상품 식별 장치의 논리적 구성도이다.
도 6은 본 발명의 또 다른 실시예에 따른 상품 식별 장치의 논리적 구성도이다.
도 7은 본 발명의 다양한 실시 예에 따른 무인 결제 장치의 하드웨어 구성도이다.
도 8은 본 발명의 일 실시예에 따른 상품 식별 방법을 나타낸 순서도이다.
도 9는 본 발명의 다른 실시예에 따른 상품 식별 방법을 나타낸 순서도이다.
도 10은 본 발명의 다른 실시예에 따른 상품 식별 방법을 나타낸 순서도이다.
도 11은 본 발명의 또 다른 실시예에 따른 상품 식별 방법을 나타낸 순서도이다.
도 12는 본 발명의 일 실시예에 따른 상품 식별 방법을 설명하기 위한 예시도이다.
도 13은 본 발명의 다른 실시예에 따른 상품 식별 방법을 설명하기 위한 예시도이다.
도 14는 본 발명의 또 다른 실시예에 따른 상품 식별 방법을 설명하기 위한 예시도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, '구성된다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "'직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
한편, 최근에는 결제를 진행하고자 하는 고객이 직접 상품의 바코드를 스캔하지 않고도, 고객이 구입하고자 하는 물건을 특정 위치에 올려놓으면, 비전 센서를 기반으로 상품에 포함된 바코드를 자동으로 인식하여, 상품을 식별하기 위한 노력이 진행되고 있다.
그러나, 바코드는 상품의 심미성을 해칠 우려가 있으므로, 상품의 외면 또는 포장지에 소형의 정형화된 크기를 갖도록 인쇄되어 있다. 따라서, 비전 센서로부터 촬영된 이미지 속의 바코드는 일부가 잘리거나, 가려지거나, 비틀어지거나, 포커스가 불일치하는 등의 왜곡이 발생된다. 이에 따라, 상품 인식의 정확성이 떨어지는 문제점이 있었다.
또한, 바코드를 정확히 인식하기 위해서는 상품을 다방면으로 촬영하기 위한 복수의 카메라가 필수적으로 필요하다. 그러나, 복수의 카메라를 설치하기 위해서는 많은 공간이 필요하기 때문에, 소형화를 위한 노력이 필요하다.
이러한 한계를 극복하고자, 본 발명은 상품 식별의 정확성을 높일 수 있고, 상품을 식별하기 위한 장치를 소형화하기 위한 다양한 수단들을 제안하고자 한다.
이하, 본 발명의 일 실시예에 따른 상품 식별 장치에 대하여 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 상품 식별 장치의 구성을 나타낸 개략도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 상품 식별 장치(100)는 무인 점포에 설치되어, 상품을 식별하고, 식별된 상품의 결제를 수행하기 위한 장치가 될 수 있다. 상품 식별 장치(100)가 적용되는 무인 점포에는 신선 제품 보관용 냉동/냉장고, 디저트류 진열 공간, 비건 및 유기농 상품 진열 공간, 냉장식품 진열 공간, 신제품 진열 공간, 실온 보관 제품 진열 공간, 상품 식별 장치(100)가 진열될 공간 등으로 구성될 수 있다. 여기서 무인 점포에 비치되는 상품들은 바코드가 부여된 상품이거나, 바코드가 부여되지 않은 상품이 될 수 있으며, 정형 상품이거나, 비정형 상품이 될 수 있다.
상품 식별 장치(100)는 구매자가 무인 점포에 입장하여, 원하는 상품을 선택한 후에, 특정 공간에 선택한 상품을 올려 놓게 되면, 구매자가 선택한 상품을 식별하여, 상품과 관련한 결제 정보를 추출하고, 추출된 결제 정보를 통해 결제를 수행할 수 있다.
이러한, 상품 식별 장치(100)는 카메라(camera)를 통해 적어도 하나의 상품을 촬영하고, 촬영된 이미지 내에서 바코드(barcode) 영역을 크로핑(cropping)할 수 있다. 여기서, 크로핑은 바코드 영역을 제외한 나머지 영역을 제거하는 작업을 의미한다. 이후, 상품 식별 장치(100)는 크로핑 된 바코드 영역에서 적어도 한의 특징점(feature point)을 식별할 수 있다. 상품 식별 장치(100)는 인공 지능(Artificial Intelligence, AI)을 기반으로 식별된 특징점을 이용하여 바코드 영역을 복원하고, 복원된 바코드 영역으로부터 정보를 인식하여 상품을 식별할 수 있다.
또한, 상품 식별 장치(100)는 카메라를 통해 적어도 하나의 상품을 촬영하고, 인공 지능(Artificial Intelligence, AI)을 기반으로 촬영된 이미지 내에서 바코드(barcode) 및 촬영된 이미지 내에 포함된 상품의 형상 정보를 인식할 수 있다. 상품 식별 장치(100)는 인식된 바코드 및 형상 정보를 기초로 이미지에 포함된 상품을 식별할 수 있다.
또한, 상품 식별 장치(100)는 복수의 컨베이어를 통해 특정 파장 범위의 광에 대하여 사전에 설정된 값보다 반사율이 높은 도료로 인쇄된 복수의 바코드를 포함하는 적어도 하나의 상품을 이동시킬 수 있다. 상품 식별 장치(100)는 복수의 컨베이어 사이에 형성된 슬릿(slit)에 배치되는 센싱부를 통해 이동하는 적어도 하나의 상품에 특정 파장 범위의 광을 조사하여 상품에 인쇄된 바코드 중 적어도 하나를 센싱할 수 있다. 그리고, 상품 식별 장치(100)는 센싱된 바코드를 인식하여 상품을 식별할 수 있다. 가시광선 영역을 제외한 특정 파장 범위의 광에 대하여 사전에 설정된 값보다 반사율이 높은 도료를 활용함으로써, 사람의 눈에는 보이지 않는 바코드를 인쇄할 수 있다. 기존의 바코드는 상품 포장의 심미감을 저해하지 않기 위하여 잘 보이지 않는 한정된 위치에 한정된 크기로 제공되었지만, 사람의 눈에 보이지 않는 도료를 활용함으로써 상품 포장의 모든 위치에 크기의 제약이 없이 사용이 가능하다. 상품 포장의 모든 위치에 다양한 형태의 바코드를 개수의 제한이 없이 복수 개 마련할 수 있으므로 바코드를 인식하기 위하여 바코드가 위치된 부분을 센싱부에 근접시키는 행위를 생략하고 고정된 센싱부를 활용하여 상품의 불특정 위치에 다수 존재하는 바코드 중 적어도 하나의 바코드를 보다 용이하게 인식할 수 있다.
또한, 상품 식별 장치(100)는 서로 다른 파장 범위의 광을 검출하는 복수의 카메라를 통해 적어도 하나의 상품을 촬영하고, 인공 지능(Artificial Intelligence, AI)을 기반으로 복수의 카메라로부터 촬영된 복수의 이미지에 포함된 적어도 하나의 상품에 대한 형상 정보를 기초로 적어도 하나의 상품을 식별할 수 있다.
이러한, 상품 식별 장치(100)는 식별된 상품에 대하여 현금 결제, 카드 결제 등의 결제를 수행할 수 있다. 여기서, 상품 식별 장치(100)는 카드 결제를 수행하는 경우, 통신망을 통해 카드사 서버와 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신하여 결제를 수행할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다.
각각의 구성 요소에 대하여 설명하면, 본 발명의 일 실시예에 따른 상품 식별 장치(100)는 본체(110), 이송부(120) 및 촬영부(130)를 포함하여 구성될 수 있다.
본체(110)는 상품 식별 장치(100)의 몸체를 구성하며, 이송부(120) 및 촬영부(130)를 설치하기 위한 공간을 형성할 수 있다. 여기서 본체(110)는 육면체 형상으로 형성된 것으로 도시하지만, 내부에 상품 식별 장치(100)를 구동하기 위한 하드웨어 들이 삽입될 공간과, 이송부(120) 및 촬영부(130)를 설치하기 위한 공간을 형성할 수 있는 다양한 형태로 형성될 수 있다.
이송부(120)는 구매자가 구매하고자 하는 상품을 올려 놓으면, 촬영부(130)를 통해 상품을 인식할 수 있도록 촬영부(130) 방향으로 상품을 이동시킬 수 있다.
이러한, 이송부(120)는 상품을 이동시킬 수 있도록 컨베이어를 포함할 수 있다. 여기서 컨베이어는 벨트 컨베이어(belt conveyor), 나사 컨베이어(screw conveyor), 버킷 컨베이어(bucket conveyor), 롤러 컨베이어(roller conveyor), 트롤리 컨베이어(trolley conveyor) 등 상품을 이동시킬 수 있는 다양한 컨베이어가 적용될 수 있다.
촬영부(130)는 이송부(120)를 통해 이동하는 적어도 하나의 상품을 인식하기 위해, 상품을 촬영하여 이미지를 생성할 수 있다. 이러한 촬영부(130)는 이송부(120)에 의해 상품이 이동되는 경로 상에 위치할 수 있다.
여기서, 촬영부(130)는 적어도 하나의 비전 센서를 포함하여 구성될 수 있다. 비전 센서는 가시광선 카메라, 적외선 카메라, 열화상 카메라, 뎁스 카메라(depth camera), 라이다(lidar), 레이더(radar) 및 초음파 센서(ultrasonic sensor) 중 적어도 하나가 될 수 있다.
이하, 본 발명의 다른 실시예에 따른 상품 식별 장치(200)에 대하여 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 상품 식별 장치의 구성을 나타낸 개략도이다.
도 2를 참조하면, 본 발명의 다른 실시예에 따른 상품 식별 장치(200)는 이송부(220) 및 센싱부(230)를 포함하여 구성될 수 있다.
각각의 구성 요소에 대하여 설명하면, 이송부(220)는 바코드(barcode)가 인쇄된 적어도 하나의 상품을 이동시킬 수 있다. 이러한, 이송부(220)는 복수의 컨베이어(221, 222)를 포함할 수 있다. 예를 들어, 이송부(220)는 제1 컨베이어(221) 및 제2 컨베이어(222)를 포함할 수 있다. 여기서, 제1 컨베이어(221) 및 제2 컨베이어(222) 사이에는 센싱부(230)가 센싱하기 위한 공간을 형성하는 슬릿(slit)이 형성될 수 있다. 즉, 제1 컨베이어(221) 및 제2 컨베이어(222)는 일정 간격 이격되어 센싱부(230)로부터 방사되는 빛을 통과시키기 위한 공간을 형성한다.
다음 구성으로, 센싱부(230)는 제1 컨베이어(221) 및 제2 컨베이어(222) 사이에 형성된 슬릿에 배치되어, 제1 컨베이어(221) 및 제2 컨베이어(222)에 의해 이동하는 적어도 하나의 상품에 특정 파장 범위의 광을 조사하여 상품에 인쇄된 복수의 바코드 중 적어도 하나를 센싱할 수 있다.
여기서, 적어도 하나의 상품은 특정 파장 범위의 광에 대하여 사전에 설정된 값보다 반사율이 도료로 인쇄된 복수의 바코드를 포함할 수 있다.
예를 들어, 복수의 바코드는 400 ~ 700nm를 제외한 특정 파장 범위의 광에 대하여 사전에 설정된 값보다 반사율이 높은 도료로 인쇄되되, 상품의 전면에 사전 설정된 간격으로 인쇄될 수 있다.
한편, 바코드는 상품의 심미성을 해칠 우려가 있으므로, 상품의 외면 또는 포장지에 소형의 정형화된 크기를 갖도록 인쇄되어 있다.
이에 따라, 본 발명의 실시예에 따른 바코드는 사람의 눈에 보이는 400 ~ 700nm의 가시광선 영역을 제외한 특정 파장 범위에 대하여 사전에 설정된 값보다 반사율이 높은 도료로 인쇄되기 때문에, 상품의 전면에 자유롭게 인쇄될 수 있다.
예를 들어, 바코드는 페로브스카이트(perovskite)형 복합 산화물을 포함하는 도료를 이용하여 인쇄될 수 있다. 여기서, 도료는 적어도 알칼리 토금속 원소와, 티탄(titan), 지르코늄(zirconium) 및 나이오븀(niobium)로부터 선택되는 적어도 1 종의 원소와, 추가로 필요에 따라 망간(Mg) 또는 철(Fe), 알루미늄(Al) 및 갈륨(Ga) 등의 주기율표 IIIa 족의 원소 또는 아연(Zn)을 포함하는 페로브스카이트형 복합 산화물이 포함될 수 있다. 이러한, 도료는 700 ~ 1050nm 파장 범위의 적외선에 충분한 반사율을 가지며, 열 안전성 및 내열성이 우수하여 안정성 및 환경 문제에 대한 염려를 감소시킬 수 있다.
이러한, 바코드는 상품 카테고리에 따라 서로 다른 형상의 바코드가 인쇄될 수 있다. 예를 들어, 바코드는 신선류의 경우 "+"형태의 영역 내에 바코드 정보가 인쇄될 수 있으며, 공산품의 경우 "o"형태의 영역 내에 바코드 정보가 인쇄될 수 있다.
또한, 바코드는 상품 카테고리에 따라 사전 설정된 간격으로 이격되어 인쇄될 수 있다. 예를 들어, 바코드는 신선류의 경우 5cm 간격으로 인쇄될 수 있으며, 공산품의 경우 3cm 간격으로 인쇄될 수 있다.
또한, 바코드는 상품 카테고리에 따라 사전 설정된 패턴으로 인쇄될 수 있다. 예를 들어, 바코드는 서로 다른 크기를 갖는 바코드가 일정한 패턴을 가지고 배열되어 인쇄될 수 있다.
이러한, 바코드는 상품의 외면 또는 포장지에 직접 인쇄되거나, 시트 또는 필름 형식으로 제작되어 상품에 부착될 수 있다.
이러한, 바코드를 센싱하기 위한 센싱부(230)는 특정 파장 범위의 광을 조사하는 광조사부(231) 및 광조사부(231)로부터 광이 조사되면, 적어도 하나의 상품을 촬영하는 카메라(232)를 포함하여 구성될 수 있다. 즉, 광조사부(231)에 의해 광이 조사된 상태에서 카메라(232)는 촬영을 수행할 수 있다.
광조사부(231)는 바코드가 상술한 페로브스카이트형 복합 산화물을 이용하여 인쇄되는 경우 700 ~ 1050nm 파장 범위의 광을 조사하여, 카메라(232)에 의해 바코드가 인식되도록 할 수 있다. 하지만, 이에 한정된 것은 아니고, 바코드 인쇄를 위한 도료의 특성에 맞도록 다양한 파장 범위의 광을 조사할 수 있다. 한 편, 광조사부(231) 및 카메라(232)는 서로 분리되어 있는 것으로 도시되어 있으나, 하나의 장치로 구현될 수도 있다.
카메라(232)는 광조사부(231)에 의해 조사되는 광의 파장 범위를 촬영할 수 있는 카메라가 될 수 있다. 예를 들어, 광조사부(231)가 700 ~ 1050nm 파장 범위의 광을 조사하는 경우, 카메라(232)는 적외선 카메라가 사용될 수 있다.
이하, 본 발명의 다양한 실시예들에 따른 상품 식별 장치의 논리적 구성에 대하여 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 상품 식별 장치의 논리적 구성도이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 상품 식별 장치는 통신부(305), 입출력부(310), 저장부(315), 크로핑부(320), 특징점 식별부(325), 바코드 복원부(330) 및 상품 식별부(335)를 포함하여 구성될 수 있다.
이와 같은, 상품 식별 장치의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(305)는 인식된 상품의 결제를 위하여, 카드, 포인트 등을 이용하여 결제를 수행할 경우, 외부의 카드사 서버, 포인트 제공 서버 등과 데이터를 송수신할 수 있다.
구체적으로, 통신부(305)는 결제를 수행할 인식된 상품에 대한 결제 정보를 외부로 송신하고, 상품 결제에 따른 결제 처리 결과를 수신할 수 있다.
다음 구성으로, 입출력부(310)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나 연산 결과를 외부로 출력할 수 있다.
구체적으로, 입출력부(310)는 구매하고자 하는 상품에 대한 식별 결과를 화면을 통해 출력하고, 식별된 상품에 대한 결제 정보를 화면을 통해 출력하고, 결제를 완료한 후에 결제 처리 정보를 화면을 통해 출력할 수 있다.
저장부(315)는 상품 식별 장치의 동작에 필요한 데이터를 저장할 수 있다.
구체적으로, 저장부(315)는 상품을 식별을 위한 프로그램 및 상품 결제를 수행하기 위한 프로그램을 저장하기 위한 버퍼(buffer)를 포함하여 구성될 수 있다.
다음 구성으로, 크로핑부(320)는 카메라에 의해 촬영된 이미지 내에서 상품의 바코드(barcode) 영역을 크로핑(cropping)할 수 있다. 여기서, 크로핑은 바코드 영역을 제외한 나머지 영역을 제거하는 작업을 의미한다.
크로핑부(320)는 촬영된 이미지에 대하여, 배경(background)을 제거하고, 전경(foreground)을 외곽선에 따라 구획하여 적어도 하나의 상품을 구분할 수 있다. 즉, 크로핑부(320)는 복수의 상품일 경우, 촬영된 이미지 내에서 상품과 관련된 영역을 제외한 나머지 배경을 제거하고, 상품과 관련된 영역에서 외곽선에 따라 구획하여 각각의 상품을 구분할 수 있다.
크로핑부(320)는 구분된 적어도 하나의 상품 각각에 대하여 바코드 영역을 크로핑할 수 있다. 즉, 크로핑부(320)는 인공 지능(Artificial Intelligence, AI)을 기반으로 사전에 학습된 분류기(classifier)를 이용하여 구분된 상품 각각에 대하여 사전에 정의된 바코드의 형상 정보와 매칭되는 형상을 갖는 영역을 바코드 영역으로 인식할 수 있다.
다음 구성으로, 특징점 식별부(325)는 바코드 영역에서 적어도 하나의 특징점(feature point)을 식별할 수 있다. 즉, 특징점 식별부(325)는 바코드 영역 내에 포함된 바코드 정보를 식별하고, 식별된 바코드 정보의 개수 및 배치 관계에 따라, 바코드의 훼손 유형(type)을 식별할 수 있다.
여기서, 바코드 정보는 바코드 영역 내에 포함된 quiet zone, start/stop character, check digit, interpretation line, bar/space 및 intercharacter gaps 중 적어도 하나를 포함할 수 있다. 하지만, 이에 한정된 것은 아니고, 바코드 정보는 사전에 정해진 규칙에 의해 다양하게 설정될 수 있다.
훼손 유형(type)은 바코드 영역의 가려짐, 잘림, 비틀어짐 및 포커스 불일치 중 적어도 하나를 포함할 수 있다. 하지만, 이에 한정된 것은 아니고, 훼손 유형은 비전 센서에 의해 촬영된 이미지 내에서 발생될 수 있는 다양한 왜곡 유형이 해당될 수 있다.
바코드 복원부(330)는 인공 지능(Artificial Intelligence, AI)을 기반으로 식별된 특징점을 이용하여 바코드 영역을 복원할 수 있다.
즉, 바코드 복원부(330)는 사전 저장된 바코드의 특징점 및 바코드 영역으로부터 식별된 특징점 간의 유사도를 비교하여, 사전 저장된 바코드 중 유사도가 사전에 설정된 임계값 이상인 바코드를 기초로 바코드 영역을 복원할 수 있다. 예를 들어, 바코드 복원부(330)는 바코드 내에서 quiet zone, start/stop character, check digit, interpretation line, bar/space 및 intercharacter gaps 중 식별 가능한 바코드 정보를 추출하고, 추출된 바코드 정보와 가장 유사도가 높은 바코드를 저장부(315)에서 추출하고, 추출된 바코드를 기반으로 바코드 영역 중 훼손되거나 왜곡된 부분을 복원할 수 있다.
또한, 바코드 복원부(330)는 바코드 영역을 상부 영역과 하부 영역으로 구분하고, 상부 영역 또는 하부 영역을 기준으로, 상부 영역 또는 하부 영역으로 bar/space를 확장하여, 바코드 영역을 복원할 수 있다. 즉, 바코드의 bar/space는 특성상 하부 영역으로부터 상부 영역 또는 상부 영역으로부터 하부 영역으로 직선 구조를 갖게 된다. 이에 따라, 바코드 복원부(330)는 바코드 영역에서 상부 영역과 하부 영역을 구분한 후에, 상부 영역 및 하부 영역을 서로 보완하여 바코드 영역을 복원할 수 있다.
또한, 바코드 복원부(330)는 바코드 정보 및 훼손 유형에 따라 사전에 기계 학습(machine learning)된 인공 지능(Artificial Intelligence, AI)에 식별된 바코드 정보 및 훼손 유형을 입력하여 바코드 영역을 복원할 수 있다.
또한, 바코드 복원부(330)는 생성적 적대 신경망(Generative Adversarial Network, GAN)을 기반으로 바코드 영역 내에서 훼손되지 않은 영역의 픽셀(pixel)을 기초로 훼손된 영역을 복원할 수 있다.
여기서, 생성적 적대 신경망은 생성기(generator) 및 판별기(discriminator)를 경쟁적으로 학습시켜 생성기가 만든 데이터가 진짜인지 가짜인지 구별하기 힘든 수준까지 발전시키는 구조이다.
여기서, 판별기는 실제 학습 데이터와 생성기가 만든 가짜 데이터를 이용해 학습하며, 입력 데이터가 진짜인지 가짜인지 구별하는 역할을 하며, 생성기는 실제 데이터의 확률밀도를 이용해 가짜 데이터를 만들어내는 역할을 수행한다.
바코드 복원부(330)는 이와 같은 생성적 적대 신경망에 오차 역전파(back-propagation)를 이용하여, 출력되는 결과값을 입력값으로 전송하면서 오차의 수정을 통해 가중치를 재설정할 수 있다. 여기서, 바코드 복원부(330)는 훼손된 영역과의 거리를 기준으로, 훼손되지 않은 영역의 픽셀에 복원을 위한 손실(loss)에 대한 가중치를 부여하여, 바코드 영역을 복원할 수 있다. 이때, 바코드 복원부(330)는 복원을 위한 손실에 대한 가중치를 훼손되지 않은 영역의 픽셀 각각의 주변에 존재하는 손상된 픽셀의 개수와 비례하게 부여할 수 있다. 즉, 손상된 부분과 거리가 먼 픽셀은 적은 영향을 주도록 하고, 손상된 부분과 가까운 픽셀은 높은 영향을 주도록 하여, 복원의 정확성을 높이도록 할 수 있다.
다음 구성으로, 상품 식별부(335)는 복원된 바코드 영역으로부터 정보를 인식하여, 상품을 식별할 수 있다. 즉, 상품 식별부(335)는 복원된 바코드 영역으로부터 원하는 바코드 정보를 인식할 수 있는 경우, 복원된 바코드 영역만으로부터 획득된 바코드 정보를 이용하여 상품을 식별할 수 있다. 또한, 상품 식별부(335)는 복원된 바코드 영역으로부터 바코드 정보를 인식하기 정보가 충분하지 않은 경우, 복원된 바코드 영역과 유사도가 사전에 설정된 값 이상인 바코드를 추출하고, 추출된 바코드로부터 상품을 식별할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 상품 식별 장치의 논리적 구성도이다.
도 4에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 상품 식별 장치는 통신부(405), 입출력부(410), 저장부(415), 바코드 및 형상 정보 인식부(420), 상품 식별부(430)를 포함하여 구성될 수 있다.
이와 같은, 상품 식별 장치의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(405)는 인식된 상품의 결제를 위하여, 카드, 포인트 등을 이용하여 결제를 수행할 경우, 외부의 카드사 서버, 포인트 제공 서버 등과 데이터를 송수신할 수 있다.
구체적으로, 통신부(405)는 결제를 수행할 인식된 상품에 대한 결제 정보를 외부로 송신하고, 상품 결제에 따른 결제 처리 결과를 수신할 수 있다.
다음 구성으로, 입출력부(410)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나 연산 결과를 외부로 출력할 수 있다.
구체적으로, 입출력부(410)는 구매하고자 하는 상품에 대한 식별 결과를 화면을 통해 출력하고, 식별된 상품에 대한 결제 정보를 화면을 통해 출력하고, 결제를 완료한 후에 결제 처리 정보를 화면을 통해 출력할 수 있다.
저장부(415)는 상품 식별 장치의 동작에 필요한 데이터를 저장할 수 있다.
구체적으로, 저장부(415)는 상품을 식별을 위한 프로그램 및 상품 결제를 수행하기 위한 프로그램을 저장하기 위한 버퍼(buffer)를 포함하여 구성될 수 있다.
다음 구성으로, 바코드 및 형상 정보 인식부(420)는 카메라(camera)를 통해 적어도 하나의 상품을 촬영하고, 인공 지능(Artificial Intelligence, AI)을 기반으로 촬영된 이미지 내에서 바코드(barcode) 및 촬영된 이미지 내에 포함된 상품의 형상 정보를 인식할 수 있다.
여기서, 바코드 및 형상 정보 인식부(420)는 촬영 포지션이 다른 복수의 카메라를 통해 적어도 하나의 상품을 촬영할 수 있다. 바코드 및 형상 정보 인식부(420)는 복수의 카메라를 이용하여 적어도 하나의 상품을 인식하되, 복수의 카메라로부터 촬영된 이미지 중 상품에 대한 인식률이 가장 높은 카메라에 의해 촬영된 이미지를 기초로 상품 인식을 수행할 수 있다. 즉, 바코드 및 형상 정보 인식부(420)는 복수의 카메라로부터 촬영된 이미지 각각의 상품의 형상 및 바코드에 대한 인식률을 산출하고, 인식률이 가장 높은 이미지를 기초로 상품 인식을 수행할 수 있다. 하지만, 이에 한정된 것은 아니고, 바코드 및 형상 정보 인식부(420)는 복수의 카메라로부터 촬영된 이미지를 상호 보완하여, 하나의 이미지를 생성하고, 생성된 이미지로 상품 인식을 수행할 수도 있다.
또한, 바코드 및 형상 정보 인식부(420)는 적어도 하나의 상품에 대한 이미지 및 이미지에 포함된 상품까지의 거리(depth)를 측정할 수 있다. 이를 통해, 바코드 및 형상 정보 인식부(420)는 상품의 겹쳐짐을 판단하도록 지원할 수 있다.
또한, 바코드 및 형상 정보 인식부(420)는 촬영된 이미지 내에 포함된 상품의 형상 정보를 기초로 이미지 내에서 바코드가 위치할 것으로 예상되는 위치를 추정하고, 추정된 위치까지의 거리 값을 산출할 수 있다. 여기서, 바코드 및 형상 정보 인식부(420)는 사전에 학습된 분류기를 이용하여 상품에 대하여 사전에 정의된 바코드의 형성 정보와 매칭되는 형상 정보를 갖는 영역을 이미지 내에서 바코드가 위치할 것으로 예상되는 위치로 추정할 수 있다.
또한, 바코드 및 형상 정보 인식부(420)는 추정된 위치 및 추정된 위치까지의 거리 값을 기준으로 카메라의 초점을 맞추고, 줌을 수행(zooming)하여 촬영할 수 있다. 즉, 바코드 및 형상 정보 인식부(420)는 바코드 특성상 작게 인쇄되기 때문에 상품의 전체적인 형상에 초점을 맞춰 촬영할 경우, 바코드의 초점이 불일치하여, 바코드의 인식률이 현저하게 낮아질 수 있다. 이에 따라, 바코드 및 형상 정보 인식부(420)는 추정된 바코드 위치에 초점을 맞추고 재촬영한 이미지를 통해 바코드를 재인식함으로써, 바코드에 대한 인식률을 높일 수 있다.
다음 구성으로, 상품 식별부(425)는 바코드 및 형상 정보를 기초로 이미지에 포함된 상품을 식별할 수 있다.
한편, 비전 센서를 통해 상품을 인식하는 경우, 적어도 하나의 고정된 지점에서 촬영된 영상을 기반으로 상품을 인식하기 때문에, 겹쳐진 상품에 대한 고려가 필요하다.
이에 따라, 상품 식별부(425)는 사전에 학습된 분류기(classifier)를 이용하여 촬영된 이미지 내에 포함된 상품의 상품군을 분류할 수 있다. 여기서, 상품 식별부(425)는 이미지에 포함된 상품까지의 거리 정보를 통해 이미지에 포함된 상품의 높이 값을 측정하고, 측정된 높이 값과 분류된 상품군의 평균 높이 값을 비교하여, 측정된 높이 값이 상품군의 평균 높이 값보다 높은 경우, 이미지에 포함된 상품이 겹쳐진 것으로 판단할 수 있다. 이후, 상품 식별부(425)는 상품이 겹쳐진 것으로 판단되면, 입출력부(410)를 통해 상품의 겹쳐짐 여부를 소리 형태로 출력할 수 있다. 하지만, 이에 한정된 것은 아니고, 상품 식별부(425)는 겹쳐짐 여부를 확인할 수 있는 텍스트를 출력하거나, 겹쳐진 상품에 대하여 포커싱(focusing) 된 이미지를 출력할 수도 있다.
또한, 상품 식별부(425)는 형상 정보를 기초로 상품 그룹(group)을 식별하고, 식별된 상품 그룹 내에서 바코드를 검색할 수 있다. 예를 들어, 상품 식별부(425)는 이미지 내에 포함된 상품의 형상을 통해 상품군을 식별하고, 식별된 상품군 내에서 바코드 검색을 수행함으로써, 상품 식별의 속도 및 정확성을 현저하게 높일 수 있다.
또한, 상품 식별부(425)는 바코드를 기초로 학습된 바코드 학습 모델(learning model) 및 형상 정보를 기초로 학습된 형상 학습 모델을 통해 상품의 식별을 수행할 수 있다.
즉, 상품 식별부(425)는 바코드 학습 모델에 인식된 바코드를 입력하고, 형상 학습 모델에 상기 인식된 형상 정보를 입력하여, 바코드 학습 모델 및 형상 학습 모델 각각으로부터 추정된 결과 값을 종합하여, 상품을 식별할 수 있다.
예를 들어, 상품 식별부(425)는 바코드 학습 모델 및 형상 학습 모델 중 인식률이 사전에 설정된 값보다 높은 학습 모델로부터 추정된 결과 값을 통해 상품을 식별할 수 있다.
또한, 상품 식별부(425)는 바코드 학습 모델 및 형상 학습 모델에 이미지를 사전 설정된 횟수로 입력하고, 추정된 결과 값 중 가장 많이 집계된 결과 값을 상품으로 식별할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 상품 식별 장치의 논리적 구성도이다.
도 5에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 상품 식별 장치는 통신부(505), 입출력부(510), 저장부(515), 카테고리 분류부(520), 상품 식별부(525)를 포함하여 구성될 수 있다.
이와 같은, 상품 식별 장치의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(505)는 인식된 상품의 결제를 위하여, 카드, 포인트 등을 이용하여 결제를 수행할 경우, 외부의 카드사 서버, 포인트 제공 서버 등과 데이터를 송수신할 수 있다.
구체적으로, 통신부(505)는 결제를 수행할 인식된 상품에 대한 결제 정보를 외부로 송신하고, 상품 결제에 따른 결제 처리 결과를 수신할 수 있다.
다음 구성으로, 입출력부(510)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나 연산 결과를 외부로 출력할 수 있다.
구체적으로, 입출력부(510)는 구매하고자 하는 상품에 대한 식별 결과를 화면을 통해 출력하고, 식별된 상품에 대한 결제 정보를 화면을 통해 출력하고, 결제를 완료한 후에 결제 처리 정보를 화면을 통해 출력할 수 있다.
저장부(515)는 상품 식별 장치의 동작에 필요한 데이터를 저장할 수 있다.
구체적으로, 저장부(515)는 상품의 카테고리를 분류하기 위한 프로그램, 상품을 식별을 위한 프로그램 및 상품 결제를 수행하기 위한 프로그램을 저장하기 위한 버퍼(buffer)를 포함하여 구성될 수 있다.
다음 구성으로, 카테고리 분류부(520)는 센싱된 적어도 하나의 상품의 바코드 형상을 기초로 상품의 카테고리를 분류하고, 바코드에 포함된 바코드 정보를 인식하여, 카테고리 내에서 바코드 정보와 매칭되는 바코드 정보를 검색하여, 상품을 식별할 수 있다.
여기서, 적어도 하나의 상품은 특정 파장 범위의 광에 대하여 사전에 설정된 값보다 반사율이 높은 도료로 인쇄된 복수의 바코드를 포함할 수 있다.
복수의 바코드는 400 ~ 700nm를 제외한 특정 파장 범위의 광에 대하여 사전에 설정된 값보다 반사율이 높은 도료로 인쇄되되, 상품의 전면에 사전 설정된 간격으로 인쇄될 수 있다.
즉, 바코드는 상품의 심미성을 해칠 우려가 있으므로, 상품의 외면 또는 포장지에 소형의 정형화된 크기를 갖도록 인쇄되어 있다.
이에 따라, 본 발명의 실시예에 따른 바코드는 사람의 눈에 보이는 400 ~ 700nm의 가시광선 영역을 제외한 특정 파장 범위에 대하여 사전에 설정된 값보다 반사율이 높은 도료로 인쇄되기 때문에, 상품의 전면에 자유롭게 인쇄될 수 있으며, 크기 또한 자유롭게 인쇄될 수 있다.
카테고리 분류부(520)는 상품이 인식된 시점부터 사전 설정된 시간 동안 인식된 복수의 바코드의 개수를 기초로 바코드의 크기를 추정하고, 추정된 크기에 따라 상품의 카테고리를 분류할 수 있다.
또한, 카테고리 분류부(520)는 복수의 바코드 사이의 간격을 기초로 상품의 카테고리를 분류할 수 있다. 이 경우, 바코드는 상품 카테고리에 따라 사전 설정된 간격으로 이격되어 인쇄될 수 있다. 예를 들어, 바코드는 신선류의 경우 5cm 간격으로 인쇄될 수 있으며, 공산품의 경우 3cm 간격으로 인쇄될 수 있다.
또한, 카테고리 분류부(520)는 복수의 바코드의 인쇄 패턴을 기초로 상품의 카테고리를 분류할 수 있다. 이 경우, 바코드는 상품 카테고리에 따라 사전 설정된 패턴으로 인쇄될 수 있다. 예를 들어, 바코드는 서로 다른 크기를 갖는 바코드가 일정한 패턴을 가지고 배열되어 인쇄될 수 있다.
다음 구성으로, 상품 식별부(525)는 카테고리 분류부(520)에 의해 분류된 카테고리 내에서 바코드 정보와 매칭되는 바코드 정보를 검색하여, 상품을 식별할 수 있다.
도 6은 본 발명의 또 다른 실시예에 따른 상품 식별 장치의 논리적 구성도이다.
도 6에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 상품 식별 장치는 통신부(605), 입출력부(610), 저장부(615), 및 상품 식별부(620)를 포함하여 구성될 수 있다.
이와 같은, 상품 식별 장치의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(605)는 인식된 상품의 결제를 위하여, 카드, 포인트 등을 이용하여 결제를 수행할 경우, 외부의 카드사 서버, 포인트 제공 서버 등과 데이터를 송수신할 수 있다.
구체적으로, 통신부(605)는 결제를 수행할 인식된 상품에 대한 결제 정보를 외부로 송신하고, 상품 결제에 따른 결제 처리 결과를 수신할 수 있다.
다음 구성으로, 입출력부(610)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나 연산 결과를 외부로 출력할 수 있다.
구체적으로, 입출력부(610)는 구매하고자 하는 상품에 대한 식별 결과를 화면을 통해 출력하고, 식별된 상품에 대한 결제 정보를 화면을 통해 출력하고, 결제를 완료한 후에 결제 처리 정보를 화면을 통해 출력할 수 있다.
저장부(615)는 상품 식별 장치의 동작에 필요한 데이터를 저장할 수 있다.
구체적으로, 저장부(615)는 상품을 식별을 위한 프로그램 및 상품 결제를 수행하기 위한 프로그램을 저장하기 위한 버퍼(buffer)를 포함하여 구성될 수 있다.
다음 구성으로, 상품 식별부(620)는 인공 지능(Artificial Intelligence, AI)을 기반으로 복수의 카메라로부터 촬영된 복수의 이미지에 포함된 적어도 하나의 상품에 대한 형상 정보를 기초로 적어도 하나의 상품을 식별할 수 있다.
여기서, 복수의 카메라는 가시광선 카메라, 적외선 카메라 및 열화상 카메라 중 선택된 둘 이상의 카메라가 될 수 있다. 하지만, 이에 한정된 것은 아니고, 복수의 카메라는 뎁스 카메라(depth camera), 라이다(lidar), 레이더(radar) 및 초음파 센서(ultrasonic sensor) 중 적어도 하나가 포함될 수 있다.
상품 식별부(620)는 가시광선 카메라에 의해 촬영된 이미지를 적외선 카메라 또는 열화상 카메라에 의해 촬영된 이미지로 복원할 수 있다. 하지만, 이에 한정된 것은 아니고, 상품 식별부(620)는 적외선 카메라로부터 촬영된 이미지를 가시광선 카메라 또는 열화상 카메라에 의해 촬영된 이미지로 복원하는 등 다양한 조합을 통해 인식률이 높은 이미지를 생성할 수 있다.
또한, 상품 식별부(620)는 가시광선 카메라에 의해 촬영된 상품의 형상 정보를 기초로 학습된 제1 학습 모델(learning model), 적외선 카메라에 의해 촬영된 상품의 형상 정보를 기초로 학습된 제2 학습 모델 및 열화상 카메라에 의해 촬영된 상품의 형상 정보를 기초로 학습된 제3 학습 모델을 기초로 상품을 식별할 수 있다.
여기서, 상품 식별부(620)는 제1 학습 모델, 제2 학습 모델 및 제3 학습 모델 중 선택된 둘 이상의 학습 모델에 각 학습 모델과 대응하는 카메라로부터 촬영된 이미지를 입력하고, 추정된 결과 값을 종합하여, 상품을 식별할 수 있다.
또한, 상품 식별부(620)는 제1 학습 모델, 제2 학습 모델 및 제3 학습 모델로부터 추정된 결과 값 중 인식률이 사전 설정된 값보다 높은 학습 모델로부터 추정된 결과 값을 종합하여, 상품을 식별할 수 있다.
또한, 상품 식별부(620)는 제1 학습 모델, 제2 학습 모델 및 제3 학습 모델 중 선택된 둘 이상의 학습 모델에 각 학습 모델과 대응하는 카메라의 이미지를 사전 설정된 횟수로 입력하고, 추정된 결과 값 중 가장 많이 집계된 결과 값을 상품으로 식별할 수 있다.
또한, 상품 식별부(620)는 가시광선 카메라에 의해 촬영된 이미지를 기초로, 촬영된 이미지 내에서 바코드(barcode)를 인식할 수 있다. 여기서, 상품 식별부(620)는 열화상 카메라에 의해 촬영된 이미지를 기초로 상품의 카테고리를 분류하고, 카테고리 내에서 인식된 바코드 정보를 검색하여, 상품을 식별할 수 있다.
또한, 상품 식별부(620)는 동일한 위치에서 복수의 카메라로부터 촬영된 복수의 이미지를 오버레이(overlay)하고, 오버레이 된 이미지를 기초로 상품을 식별할 수 있다. 그리고, 상품 식별부(620)는 오버레이 된 이미지에 대하여 배경(background)을 제거하고, 전경(foreground)을 외곽선에 따라 구획하여 적어도 하나의 상품을 구분하고, 각 상품을 비정형 상품 및 정형 상품 중 하나로 구분할 수 있다. 즉, 상품 식별부(620)는 서로 다른 종류의 카메라로부터 동일한 위치에서 촬영된 복수의 이미지를 오버레이 함으로써, 외곽선의 구분을 보다 명확히 하도록 지원할 수 있다.
또한, 상품 식별부(620)는 상품이 비정형 상품으로 구분된 경우 상품의 형상 정보를 기초로 상품을 식별하고, 정형 상품으로 구분된 경우 상품의 바코드를 기초로 상품을 식별할 수 있다. 즉, 비정형 상품인 경우, 포장재에 바코드가 인쇄되어 있다하더라도, 형태가 불규칙하기 때문에, 바코드의 인식률이 현저히 낮고, 정형 상품인 경우, 바코드가 비교적 왜곡되지 않기 때문에, 바코드의 인식률이 비정형 상품과 대비하여 높다. 이에 따라, 상품 식별부(620)는 비정형 상품과 정형 상품을 구분하고, 바코드 인식률이 상대적으로 낮은 비정형 상품의 경우 형상 정보를 기초로 상품을 식별하고, 바코드 인식률이 상대적으로 높은 정형 상품의 경우 바코드 정보를 통해 상품을 식별할 수 있다.
도 7은 본 발명의 다양한 실시 예에 따른 무인 결제 장치의 하드웨어 구성도이다.
도 7에 도시된 바와 같이, 상품 식별 장치는 프로세서(Processor, 150), 메모리(Memory, 155), 송수신기(Transceiver, 160), 입출력장치(Input/output device, 165), 데이터 버스(Bus, 170) 및 스토리지(Storage, 175)를 포함하여 구성될 수 있다.
프로세서(150)는 메모리(155)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180a)에 따른 명령어를 기초로, 상품 식별 장치의 동작 및 기능을 구현할 수 있다. 메모리(155)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180a)가 상주(loading)될 수 있다.
송수신기(160)는 인식된 상품의 결제를 위하여, 카드, 포인트 등을 이용하여 결제를 수행할 경우, 외부의 카드사 서버, 포인트 제공 서버 등과 데이터를 송수신할 수 있다. 즉, 송수신기(160)는 결제를 수행할 인식된 상품에 대한 결제 정보를 외부로 송신하고, 상품 결제에 따른 결제 처리 결과를 수신할 수 있다.
데이터 버스(170)는 프로세서(150), 메모리(155), 송수신기(160), 입출력장치(165) 및 스토리지(175)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(175)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(175)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180b) 및 데이터베이스(185)를 저장할 수 있다.
본 발명의 일 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 센서들의 제어 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 카메라(camera)를 통해 적어도 하나의 상품을 촬영하는 단계, 촬영된 이미지 내에서 상기 적어도 하나의 상품의 바코드(barcode) 영역을 크로핑(cropping)하는 단계, 바코드 영역에서 적어도 하나의 특징점(feature point)을 식별하는 단계, 인공 지능(Artificial Intelligence, AI)을 기반으로 식별된 특징점을 이용하여 상기 바코드 영역을 복원하는 단계 및 복원된 바코드 영역으로부터 정보를 인식하여, 상품을 식별하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 카메라(camera)를 통해 적어도 하나의 상품을 촬영하는 단계, 인공 지능(Artificial Intelligence, AI)을 기반으로 촬영된 이미지 내에서 바코드(barcode) 및 촬영된 이미지 내에 포함된 상품의 형상 정보를 인식하는 단계 및 바코드 및 형상 정보를 기초로 이미지에 포함된 상품을 식별하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 복수의 컨베이어를 포함하는 이송부가, 특정 파장 범위의 광에 대하여 사전에 설정된 값보다 반사율이 높은 도료로 인쇄된 복수의 바코드(barcode)를 포함하는 적어도 하나의 상품을 이동시키는 단계, 복수의 컨베이어 사이에 형성된 슬릿(slit)에 배치되는 센싱부가, 이송부에 의해 이동하는 적어도 하나의 상품에 특정 파장 범위의 광을 조사하여 상품에 인쇄된 복수의 바코드 중 적어도 하나를 센싱하는 단계 및 제어부가 센싱된 바코드를 인식하여 상품을 식별하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
또한, 본 발명의 또 다른 실시예에 따르면, 서로 다른 파장 범위의 광을 검출하는 복수의 카메라를 통해 적어도 하나의 상품을 촬영하는 단계 및 인공 지능(Artificial Intelligence, AI)을 기반으로 복수의 카메라로부터 촬영된 복수의 이미지를 분석하여, 복수의 이미지에 포함된 적어도 하나의 상품에 대한 형상 정보를 통해 적어도 하나의 상품을 식별하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 구체적으로, 프로세서(150)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(155)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(160)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(165)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(150)에 의해 실행될 수 있다. 메모리(155)는 프로세서(150)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(150)와 연결될 수 있다.
도 7에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하, 본 발명의 다양한 실시예에 따른 상품 식별 방법에 대하여 설명하도록 한다.
도 8은 본 발명의 일 실시예에 따른 상품 식별 방법을 나타낸 순서도이다.
도 8을 참조하면, 상품 식별 장치는 컨베이어에 의해 이동하는 적어도 하나의 상품을 촬영할 수 있다(S110). 여기서, 상품 식별 장치는 복수의 카메라를 통해 상품을 촬영할 수 있으며, 복수의 카메라 중 바코드에 대한 인식률이 가장 높은 이미지를 결정할 수 있다.
다음으로, 상품 식별 장치는 카메라에 의해 촬영된 이미지 내에서 상품의 바코드(barcode) 영역을 크로핑(cropping)할 수 있다(S120).
즉, 상품 식별 장치는 촬영된 이미지에 대하여, 배경(background)을 제거하고, 전경(foreground)을 외곽선에 따라 구획하여 적어도 하나의 상품을 구분할 수 있다. 즉, 상품 식별 장치는 복수의 상품일 경우, 촬영된 이미지 내에서 상품과 관련된 영역을 제외한 나머지 배경을 제거하고, 상품과 관련된 영역에서 외곽선에 따라 구획하여 각각의 상품을 구분할 수 있다.
또한, 상품 식별 장치는 구분된 적어도 하나의 상품 각각에 대하여 바코드 영역을 크로핑할 수 있다. 즉, 상품 식별 장치는 인공 지능(Artificial Intelligence, AI)을 기반으로 사전에 학습된 분류기(classifier)를 이용하여 구분된 상품 각각에 대하여 사전에 정의된 바코드의 형상 정보와 매칭되는 형상 정보를 갖는 영역을 바코드 영역으로 인식할 수 있다.
다음으로, 상품 식별 장치는 바코드 영역에서 적어도 하나의 특징점(feature point)을 식별할 수 있다(S130). 즉, 상품 식별 장치는 바코드 영역 내에 포함된 바코드 정보를 식별하고, 식별된 바코드 정보의 개수 및 배치 관계에 따라, 바코드의 훼손 유형(type)을 식별할 수 있다.
여기서, 바코드 정보는 바코드 영역 내에 포함된 quiet zone, start/stop character, check digit, interpretation line, bar/space 및 intercharacter gaps 중 적어도 하나를 포함할 수 있다. 하지만, 이에 한정된 것은 아니고, 바코드 정보는 사전에 정해진 규칙에 의해 다양하게 설정될 수 있다.
훼손 유형(type)은 바코드 영역의 가려짐, 잘림, 비틀어짐 및 포커스 불일치 중 적어도 하나를 포함할 수 있다. 하지만, 이에 한정된 것은 아니고, 훼손 유형은 비전 센서에 의해 촬영된 이미지 내에서 발생될 수 있는 다양한 왜곡 유형이 해당될 수 있다.
다음으로, 상품 식별 장치는 인공 지능(Artificial Intelligence, AI)을 기반으로 식별된 특징점을 이용하여 바코드 영역을 복원할 수 있다(S140).
즉, 상품 식별 장치는 사전 저장된 바코드의 특징점 및 바코드 영역으로부터 식별된 특징점 간의 유사도를 비교하여, 사전 저장된 바코드 중 유사도가 사전에 설정된 임계값 이상인 바코드를 기초로 바코드 영역을 복원할 수 있다.
또한, 상품 식별 장치는 바코드 영역을 상부 영역과 하부 영역으로 구분하고, 상부 영역 또는 하부 영역을 기준으로, 상부 영역 또는 하부 영역으로 bar/space를 확장하여, 바코드 영역을 복원할 수 있다. 즉, 바코드의 bar/space는 특성상 하부 영역으로부터 상부 영역 또는 상부 영역으로부터 하부 영역으로 직선 구조를 갖게 된다. 이에 따라, 상품 식별 장치는 바코드 영역에서 상부 영역과 하부 영역을 구분한 후에, 상부 영역 및 하부 영역을 서로 보완하여 바코드 영역을 복원할 수 있다.
또한, 상품 식별 장치는 바코드 정보 및 훼손 유형에 따라 사전에 기계 학습(machine learning)된 인공 지능(Artificial Intelligence, AI)에 식별된 바코드 정보 및 훼손 유형을 입력하여 바코드 영역을 복원할 수 있다.
또한, 상품 식별 장치는 생성적 적대 신경망(Generative Adversarial Network, GAN)을 기반으로 바코드 영역 내에서 훼손되지 않은 영역의 픽셀(pixel)을 기초로 훼손된 영역을 복원할 수 있다.
상품 식별 장치는 생성적 적대 신경망에 오차 역전파(back-propagation)을 이용하여, 출력되는 결과값을 입력값으로 전송하면서 오차의 수정을 통해 가중치를 재설정할 수 있다. 여기서, 상품 식별 장치는 훼손된 영역과의 거리를 기준으로, 훼손되지 않은 영역의 픽셀에 복원을 위한 손실(loss)에 대한 가중치를 부여하여, 바코드 영역을 복원할 수 있다. 이때, 상품 식별 장치는 복원을 위한 손실에 대한 가중치를 훼손되지 않은 영역의 픽셀 각각의 주변에 존재하는 손상된 픽셀의 개수와 비례하게 부여할 수 있다. 즉 손상된 부분과 거리가 먼 픽셀은 적은 영향을 주도록 하고, 손상된 부분과 가까운 픽셀은 높은 영향을 주도록 하여, 복원의 정확성일 높이도록 할 수 있다.
다음으로, 상품 식별 장치는 복원된 바코드 영역으로부터 정보를 인식하여, 상품을 식별할 수 있다(S150). 즉, 상품 식별 장치는 복원된 바코드 영역으로부터 원하는 바코드 정보를 인식할 수 있는 경우, 복원된 바코드 영역만으로부터 획득된 바코드 정보를 이용하여 상품을 식별할 수 있다. 또한, 상품 식별 장치는 복원된 바코드 영역으로부터 바코드 정보를 인식하기 정보가 충분하지 않은 경우, 복원된 바코드 영역과 유사도가 사전에 설정된 값 이상인 바코드를 추출하고, 추출된 바코드로부터 상품을 식별할 수 있다.
도 9는 본 발명의 다른 실시예에 따른 상품 식별 방법을 나타낸 순서도이다.
도 9를 참조하면, 상품 식별 장치는 카메라(camera)를 통해 컨베이어를 이동하는 적어도 하나의 상품을 촬영할 수 있다(S210). 여기서, 카메라는 촬영 포지션이 다른 복수의 카메라를 통해 적어도 하나의 상품을 촬영할 수 있다. 여기서, 상품 식별 장치는 복수의 카메라로부터 촬영된 이미지 중 상품에 대한 인식률이 가장 높은 카메라에 의해 촬영된 이미지를 결정할 수 있다.
또한, 상품 식별 장치는 이미지에 포함된 상품까지의 거리(depth)를 측정할 수 있다. 여기서, 카메라는 이미지에 포함된 상품까지의 거리를 측정할 수 있는 뎁스 카메라(depth cameara)가 될 수 있다.
다음으로, 상품 식별 장치는 상품의 바코드 인식률이 사전에 설정된 값 이상인지 여부를 판단한다(S220). 즉, 상품 식별 장치는 복수의 카메라로부터 촬영된 이미지의 바코드 인식률을 산출하여, 사전에 설정된 값과 비교할 수 있다.
여기서, 상품 식별 장치는 복수의 이미지에 대한 인식률이 사전 설정된 값보다 낮은 경우, 촬영된 이미지 내에 포함된 상품의 형상 정보를 기초로 이미지 내에서 바코드가 위치할 것으로 예상되는 위치를 추정하고, 추정된 위치까지의 거리 값을 산출할 수 있다. 이때, 상품 식별 장치는 사전에 학습된 분류기를 이용하여 상품에 대하여 사전에 정의된 바코드의 형성 정보와 매칭되는 형상 정보를 갖는 영역을 이미지 내에서 바코드가 위치할 것으로 예상되는 위치로 추정할 수 있다.
상품 식별 장치는 추정된 위치 및 추정된 위치까지의 거리 값을 기준으로 카메라의 초점을 맞추고, 줌을 수행(zooming)하여 촬영할 수 있다(S230). 즉, 상품 식별 장치는 바코드가 작게 인쇄되기 때문에 상품의 전체적인 형상에 초점을 맞춰 촬영할 경우, 바코드의 초점이 불일치하여, 바코드의 인식률이 현저하게 낮아질 수 있다. 이에 따라, 상품 식별 장치는 추정된 바코드 위치에 초점을 맞추고 재촬영한 이미지를 통해 바코드를 재인식함으로써, 바코드에 대한 인식률을 높일 수 있다.
다음으로, 상품 식별 장치는 인공 지능(Artificial Intelligence, AI)을 기반으로 촬영된 이미지 내에서 바코드(barcode) 및 촬영된 이미지 내에 포함된 상품의 형상 정보를 인식할 수 있다(S240).
그리고, 상품 식별 장치는 바코드 및 형상 정보를 기초로 이미지에 포함된 상품을 식별할 수 있다(S250).
한편, 비전 센서를 통해 상품을 인식하는 경우, 적어도 하나의 고정된 지점에서 촬영된 영상을 기반으로 상품을 인식하기 때문에, 겹쳐진 상품에 대한 고려가 필요하다.
이에 따라, 상품 식별 장치는 사전에 학습된 분류기(classifier)를 이용하여 촬영된 이미지 내에 포함된 상품의 상품군을 분류할 수 있다. 여기서, 상품 식별 장치는 이미지에 포함된 상품까지의 거리 정보를 통해 이미지에 포함된 상품의 높이 값을 측정하고, 측정된 높이 값과 분류된 상품군의 평균 높이 값을 비교하여, 측정된 높이 값이 상품군의 평균 높이 값보다 높은 경우, 이미지에 포함된 상품이 겹쳐진 것으로 판단할 수 있다. 이후, 상품 식별 장치는 상품이 겹쳐진 것으로 판단되면, 상품의 겹쳐짐 여부를 소리 형태로 출력할 수 있다. 하지만, 이에 한정된 것은 아니고, 상품 식별 장치는 겹쳐짐 여부를 확인할 수 있는 텍스트를 출력하거나, 겹쳐진 상품에 대하여 포커싱(focusing) 된 이미지를 출력할 수도 있다.
또한, 상품 식별 장치는 형상 정보를 기초로 상품 그룹(group)을 식별하고, 식별된 상품 그룹 내에서 바코드를 검색할 수 있다. 예를 들어, 상품 식별 장치는 이미지 내에 포함된 상품의 형상을 통해 상품군을 식별하고, 식별된 상품군 내에서 바코드 검색을 수행함으로써, 상품 식별의 속도 및 정확성을 현저하게 높일 수 있다.
또한, 상품 식별 장치는 바코드를 기초로 학습된 바코드 학습 모델(learning model) 및 형상 정보를 기초로 학습된 형상 학습 모델을 통해 상품의 식별을 수행할 수 있다.
즉, 상품 식별 장치는 바코드 학습 모델에 인식된 바코드를 입력하고, 형상 학습 모델에 상기 인식된 형상 정보를 입력하여, 바코드 학습 모델 및 형상 학습 모델 각각으로부터 추정된 결과 값을 종합하여, 상품을 식별할 수 있다.
예를 들어, 상품 식별 장치는 바코드 학습 모델 및 형상 학습 모델 중 인식률이 사전에 설정된 값보다 높은 학습 모델로부터 추정된 결과 값을 통해 상품을 식별할 수 있다.
또한, 상품 식별 장치는 바코드 학습 모델 및 형상 학습 모델에 이미지를 사전 설정된 횟수로 입력하고, 추정된 결과 값 중 가장 많이 집계된 결과 값을 상품으로 식별할 수 있다.
도 10은 본 발명의 다른 실시예에 따른 상품 식별 방법을 나타낸 순서도이다.
도 10을 참조하면, 상품 식별 장치는 복수의 컨베이어 사이에 형성된 슬릿을 통해 상품을 촬영할 수 있다(S310). 여기서, 적어도 하나의 상품은 특정 파장 범위의 광에 대하여 사전에 설정된 값보다 반사율이 도료로 인쇄된 복수의 바코드를 포함할 수 있다.
여기서, 바코드는 상품 카테고리에 따라 서로 다른 형상의 바코드가 인쇄될 수 있다. 예를 들어, 바코드는 신선류의 경우 "+"형태의 영역 내에 바코드 정보가 인쇄될 수 있으며, 공산품의 경우 "o"형태의 영역 내에 바코드 정보가 인쇄될 수 있다.
또한, 바코드는 상품 카테고리에 따라 사전 설정된 간격으로 이격되어 인쇄될 수 있다. 예를 들어, 바코드는 신선류의 경우 5cm 간격으로 인쇄될 수 있으며, 공산품의 경우 3cm 간격으로 인쇄될 수 있다.
또한, 바코드는 상품 카테고리에 따라 사전 설정된 패턴으로 인쇄될 수 있다. 예를 들어, 바코드는 서로 다른 크기를 갖는 바코드가 일정한 패턴을 가지고 배열되어 인쇄될 수 있다.
이러한, 바코드는 상품의 외면 또는 포장지에 직접 인쇄되거나, 시트 또는 필름 형식으로 제작되어 상품에 부착될 수 있다.
상품 식별 장치는 위와 같은 바코드를 센싱하기 위하여, 특정 파장 범위의 광을 조사한 상태에서, 특정 파장 범위를 촬영할 수 있는 카메라를 통해 상품의 하부면에 대한 촬영을 수행할 수 있다.
다음으로, 상품 식별 장치는 센싱된 적어도 하나의 상품의 바코드 형상을 기초로 상품의 카테고리를 분류할 수 있다(S320). 여기서, 상품 식별 장치는 상품이 인식된 시점부터 사전 설정된 시간 동안 인식된 복수의 바코드의 개수를 기초로 바코드의 크기를 추정하고, 추정된 크기에 따라 상품의 카테고리를 분류할 수 있다.
또한, 상품 식별 장치는 복수의 바코드 사이의 간격을 기초로 상품의 카테고리를 분류할 수 있다. 이 경우, 바코드는 상품 카테고리에 따라 사전 설정된 간격으로 이격되어 인쇄될 수 있다. 예를 들어, 바코드는 신선류의 경우 5cm 간격으로 인쇄될 수 있으며, 공산품의 경우 3cm 간격으로 인쇄될 수 있다.
또한, 상품 식별 장치는 복수의 바코드의 인쇄 패턴을 기초로 상품의 카테고리를 분류할 수 있다. 이 경우, 바코드는 상품 카테고리에 따라 사전 설정된 패턴으로 인쇄될 수 있다. 예를 들어, 바코드는 서로 다른 크기를 갖는 바코드가 일정한 패턴을 가지고 배열되어 인쇄될 수 있다.
그리고, 상품 식별 장치는 S320 단계에 의해 분류된 카테고리 내에서 바코드 정보와 매칭되는 바코드 정보를 검색하여, 상품을 식별할 수 있다.
도 11은 본 발명의 또 다른 실시예에 따른 상품 식별 방법을 나타낸 순서도이다.
도 11을 참조하면, 상품 식별 장치는 서로 다른 파장 범위의 광을 검출하는 복수의 카메라를 통해 상품을 촬영할 수 있다(S410).
여기서, 복수의 카메라는 가시광선 카메라, 적외선 카메라 및 열화상 카메라 중 선택된 둘 이상의 카메라가 될 수 있다. 하지만, 이에 한정된 것은 아니고, 복수의 카메라는 뎁스 카메라(depth camera), 라이다(lidar), 레이더(radar) 및 초음파 센서(ultrasonic sensor) 중 적어도 하나가 포함될 수 있다.
다음으로, 상품 식별 장치는 인공 지능(Artificial Intelligence, AI)을 기반으로 복수의 카메라로부터 촬영된 복수의 이미지에 포함된 적어도 하나의 상품에 대한 형상 정보를 기초로 적어도 하나의 상품을 식별할 수 있다(S420).
상품 식별 장치는 가시광선 카메라에 의해 촬영된 이미지를 적외선 카메라 또는 열화상 카메라에 의해 촬영된 이미지로 복원할 수 있다. 하지만, 이에 한정된 것은 아니고, 상품 식별 장치는 적외선 카메라로부터 촬영된 이미지를 가시광선 카메라 또는 열화상 카메라에 의해 촬영된 이미지로 복원하는 등 다양한 조합을 통해 인식률이 높은 이미지를 생성할 수 있다.
또한, 상품 식별 장치는 가시광선 카메라에 의해 촬영된 상품의 형상 정보를 기초로 학습된 제1 학습 모델(learning model), 적외선 카메라에 의해 촬영된 상품의 형상 정보를 기초로 학습된 제2 학습 모델 및 열화상 카메라에 의해 촬영된 상품의 형상 정보를 기초로 학습된 제3 학습 모델을 기초로 상품을 식별할 수 있다.
여기서, 상품 식별 장치는 제1 학습 모델, 제2 학습 모델 및 제3 학습 모델 중 선택된 둘 이상의 학습 모델에 각 학습 모델과 대응하는 카메라로부터 촬영된 이미지를 입력하고, 추정된 결과 값을 종합하여, 상품을 식별할 수 있다.
또한, 상품 식별 장치는 제1 학습 모델, 제2 학습 모델 및 제3 학습 모델로부터 추정된 결과 값 중 인식률이 사전 설정된 값보다 높은 학습 모델로부터 추정된 결과 값을 종합하여, 상품을 식별할 수 있다.
또한, 상품 식별 장치는 제1 학습 모델, 제2 학습 모델 및 제3 학습 모델 중 선택된 둘 이상의 학습 모델에 각 학습 모델과 대응하는 카메라의 이미지를 사전 설정된 횟수로 입력하고, 추정된 결과 값 중 가장 많이 집계된 결과 값을 상품으로 식별할 수 있다.
또한, 상품 식별 장치는 가시광선 카메라에 의해 촬영된 이미지를 기초로, 촬영된 이미지 내에서 바코드(barcode)를 인식할 수 있다. 여기서, 상품 식별 장치는 열화상 카메라에 의해 촬영된 이미지를 기초로 상품의 카테고리를 분류하고, 카테고리 내에서 인식된 바코드 정보를 검색하여, 상품을 식별할 수 있다.
또한, 상품 식별 장치는 동일한 위치에서 복수의 카메라로부터 촬영된 복수의 이미지를 오버레이(overlay)하고, 오버레이 된 이미지를 기초로 상품을 식별할 수 있다. 그리고, 상품 식별 장치는 오버레이 된 이미지에 대하여 배경(background)을 제거하고, 전경(foreground)을 외곽선에 따라 구획하여 적어도 하나의 상품을 구분하고, 각 상품을 비정형 상품 및 정형 상품 중 하나로 구분할 수 있다. 즉, 상품 식별 장치는 서로 다른 종류의 카메라로부터 동일한 위치에서 촬영된 복수의 이미지를 오버레이 함으로써, 외곽선의 구분을 보다 명확히 하도록 지원할 수 있다.
또한, 상품 식별 장치는 상품이 비정형 상품으로 구분된 경우 상품의 형상 정보를 기초로 상품을 식별하고, 정형 상품으로 구분된 경우 상품의 바코드를 기초로 상품을 식별할 수 있다. 즉, 비정형 상품인 경우, 포장재에 바코드가 인쇄되어 있다하더라도, 형태가 불규칙하기 때문에, 바코드의 인식률이 현저히 낮고, 정형 상품인 경우, 바코드가 비교적 왜곡되지 않기 때문에, 바코드의 인식률이 비정형 상품과 대비하여 높다. 이에 따라, 상품 식별부(620)는 비정형 상품과 정형 상품을 구분하고, 바코드 인식률이 상대적으로 낮은 비정형 상품의 경우 형상 정보를 기초로 상품을 식별하고, 바코드 인식률이 상대적으로 높은 정형 상품의 경우 바코드 정보를 통해 상품을 식별할 수 있다.
도 12는 본 발명의 일 실시예에 따른 상품 식별 방법을 설명하기 위한 예시도이다.
도 12를 참조하면, (A)와 같이, 비전 센서로부터 촬영된 이미지 속의 바코드는 일부가 잘리거나, 가려지거나, 비틀어지거나, 포커스가 불일치하는 등의 왜곡(distortion)이 발생된다. 이에 따라, 상품 인식의 정확성이 떨어지는 문제점이 있었다.
이에 따라, 상품 식별 장치는 카메라를 통해 촬영된 이미지 내에서 특징점을 식별하여 왜곡된 바코드(barcode) 영역을 복원하고, 복원된 바코드 영역으로 정보를 인식하여 상품을 식별함으로써, 상품 식별의 정확성을 높일 수 있다.
즉, 상품 식별 장치 카메라(camera)를 통해 적어도 하나의 상품을 촬영하고, 촬영된 이미지 내에서 바코드(barcode) 영역을 크로핑(cropping)할 수 있다. 여기서, 크로핑은 바코드 영역을 제외한 나머지 영역을 제거하는 작업을 의미한다. 이후, 상품 식별 장치는 크로핑 된 바코드 영역에서 적어도 한의 특징점(feature point)을 식별할 수 있다. 상품 식별 장치는 인공 지능(Artificial Intelligence, AI)을 기반으로 식별된 특징점을 이용하여 바코드 영역을 복원하고, 복원된 바코드 영역으로부터 정보를 인식하여 상품을 식별할 수 있다.
도 13은 본 발명의 다른 실시예에 따른 상품 식별 방법을 설명하기 위한 예시도이다.
도 13을 참조하면, 상품 식별 장치는 촬영된 이미지(A)에서 상품의 전경(foreground) 외곽선에 따라 구획하여 적어도 하나의 상품을 인식할 수 있다.
또한, 상품 식별 장치는 (C)와 같이, 촬영된 이미지 내에 포함된 상품의 형상 정보를 통해 해당 상품의 디자인(design)을 추정한다.
또한, 상품 식별 장치는 (D)와 같이, 추정된 디자인을 기초로 이미지 내에서 바코드(barcode)가 위치할 것으로 예상되는 위치를 추정할 수 있다.
그리고, 상품 식별 장치는 (E)와 같이, 추정된 위치까지의 거리 값을 산출하고, 추정된 위치 및 추정된 위치까지의 거리 값을 기준으로 카메라의 초점을 맞추고, 줌을 수행(zooming)하여 촬영할 수 있다. 즉, 상품 식별 장치는 바코드 특성상 작게 인쇄되기 때문에 상품의 전체적인 형상에 초점을 맞춰 촬영할 경우, 바코드의 초점이 불일치하여, 바코드의 인식률이 현저하게 낮아질 수 있다. 이에 따라, 상품 식별 장치는 추정된 바코드 위치에 초점을 맞추고 재촬영한 이미지를 통해 바코드를 재인식함으로써, 바코드에 대한 인식률을 높일 수 있다.
도 14는 본 발명의 또 다른 실시예에 따른 상품 식별 방법을 설명하기 위한 예시도이다.
도 14를 참조하면, 상품 식별 장치는 가시광선 카메라에 의해 촬영된 상품의 형상 정보를 기초로 학습된 제1 학습 모델(learning model), 적외선 카메라에 의해 촬영된 상품의 형상 정보를 기초로 학습된 제2 학습 모델 및 열화상 카메라에 의해 촬영된 상품의 형상 정보를 기초로 학습된 제3 학습 모델을 포함할 수 있다.
상품 식별 장치는 제1 학습 모델, 제2 학습 모델 및 제3 학습 모델 각각에 제1 이미지, 제2 이미지 및 제3 이미지를 입력할 수 있다. 여기서, 제1 이미지는 가시광선 카메라에 의해 촬영된 이미지이고, 제2 이미지는 적외선 카메라에 의해 촬영된 이미지이고, 제3 이미지는 열화상 카메라에 의해 촬영된 이미지가 될 수 있다.
여기서, 상품 식별 장치는 제1 학습 모델, 제2 학습 모델 및 제3 학습 모델 중 선택된 둘 이상의 학습 모델에 각 학습 모델로부터 추정된 결과 값을 종합하여, 상품을 식별할 수 있다.
또한, 상품 식별 장치는 제1 학습 모델, 제2 학습 모델 및 제3 학습 모델로부터 추정된 결과 값 중 인식률이 사전 설정된 값보다 높은 학습 모델로부터 추정된 결과 값을 종합하여, 상품을 식별할 수 있다.
또한, 상품 식별 장치는 제1 학습 모델, 제2 학습 모델 및 제3 학습 모델 중 선택된 둘 이상의 학습 모델에 각 학습 모델과 대응하는 카메라의 이미지를 사전 설정된 횟수로 입력하고, 추정된 결과 값 중 가장 많이 집계된 결과 값을 상품으로 식별할 수 있다.
이와 같이, 본 발명의 또 다른 실시예에 따른 상품 식별 방법은 서로 다른 파장 범위의 광을 검출하는 복수의 카메라를 통해 촬영된 상품의 형상을 복합적으로 인식하여 상품 식별의 정확성을 높일 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100, 200 : 상품 식별 장치 305 : 통신부
310 : 입출력부 315 : 저장부
320 : 크로핑부 325 : 특징점 식별부
330 : 바코드 복원부 335 : 상품 식별부
405 : 통신부 410 : 입출력부
415 : 저장부 420 : 바코드 및 형상 정보 인식부
425 : 상품 식별부 505 : 통신부
510 : 입출력부 515 : 저장부
520 : 카테고리 분류부 525 : 상품 식별부
605 : 통신부 610 : 입출력부
615 : 저장부 620 : 상품 식별부

Claims (10)

  1. 인식 장치가, 카메라(camera)를 통해 적어도 하나의 상품을 촬영하는 단계;
    상기 인식 장치가, 상기 촬영된 이미지 내에서 상기 적어도 하나의 상품의 바코드(barcode) 영역을 크로핑(cropping)하는 단계;
    상기 인식 장치가, 상기 바코드 영역에서 적어도 하나의 특징점(feature point)을 식별하는 단계;
    상기 인식 장치가, 인공 지능(Artificial Intelligence, AI)을 기반으로 상기 식별된 특징점을 이용하여 상기 바코드 영역을 복원하는 단계; 및
    상기 인식 장치가, 상기 복원된 바코드 영역으로부터 정보를 인식하여, 상품을 식별하는 단계;를 포함하는 것을 특징으로 하고,
    상기 크로핑하는 단계는
    상기 촬영된 이미지 내에서 상기 적어도 하나의 상품과 관련된 영역을 제외한 나머지 배경(background)을 제거하고, 상기 적어도 하나의 상품의 전경(foreground) 외곽선에 따라 구획하여 적어도 하나의 상품을 구분하고, 상기 구분된 적어도 하나의 상품 각각에 대하여 바코드 영역을 크로핑하는 것을 특징으로 하며,
    상기 크로핑하는 단계는
    상기 구분된 적어도 하나의 상품의 형상 정보를 통해 디자인(design)을 추정하고, 추정된 디자인을 기초로 상기 이미지 내에서 바코드가 위치할 것으로 예상되는 위치를 추정하여 상기 바코드 영역을 크로핑하는 것을 특징으로 하는, 상품 식별 방법.
  2. 제1 항에 있어서, 상기 크로핑하는 단계는
    사전에 학습된 분류기(classifier)를 이용하여 상기 구분된 상품 각각에 대하여 사전에 정의된 바코드의 형상 정보와 매칭되는 형상 정보를 갖는 영역을 바코드 영역으로 인식하는 것을 특징으로 하는, 상품 식별 방법.
  3. 제2 항에 있어서, 상기 특징점을 식별하는 단계는
    상기 바코드 영역 내에 포함된 바코드 정보를 식별하는 단계; 및
    상기 식별된 바코드 정보의 개수 및 배치 관계에 따라, 바코드의 훼손 유형(type)을 식별하는 단계;를 포함하는 것을 특징으로 하는 상품 식별 방법.
  4. 제3 항에 있어서, 상기 바코드 정보는
    상기 바코드 영역 내에 포함된 quiet zone, start/stop character, check digit, interpretation line, bar/space 및 intercharacter gaps 중 적어도 하나를 포함하는 것을 특징으로 하는, 상품 식별 방법.
  5. 제4 항에 있어서, 상기 훼손 유형은
    상기 바코드 영역의 가려짐, 잘림, 비틀어짐 및 포커스 불일치 중 적어도 하나를 포함하는 것을 특징으로 하는, 상품 식별 방법.
  6. 제5 항에 있어서, 상기 복원하는 단계는
    사전 저장된 바코드의 특징점 및 상기 바코드 영역으로부터 식별된 특징점 간의 유사도를 비교하여, 상기 사전 저장된 바코드 중 유사도가 사전에 설정된 임계값 이상인 바코드를 기초로 상기 바코드 영역을 복원하는 것을 특징으로 하는, 상품 식별 방법.
  7. 제6 항에 있어서, 상기 복원하는 단계는
    바코드 정보 및 훼손 유형에 따라 사전에 기계 학습(machine learning)된 인공 지능(Artificial Intelligence, AI)에 상기 식별된 바코드 정보 및 훼손 유형을 입력하여 상기 바코드 영역을 복원하는 것을 특징으로 하는, 상품 식별 방법.
  8. 제7 항에 있어서, 상기 복원하는 단계는
    상기 바코드 영역을 상부 영역과 하부 영역으로 구분하고, 상기 상부 영역 또는 상기 하부 영역을 기준으로, 상기 상부 영역 또는 상기 하부 영역으로 bar/space를 확장하여, 상기 바코드 영역을 복원하는 것을 특징으로 하는, 상품 식별 방법.
  9. 메모리(memory);
    송수신기(transceiver); 및
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 카메라(camera)를 통해 적어도 하나의 상품을 촬영하는 단계;
    상기 프로세서가, 상기 촬영된 이미지 내에서 상기 적어도 하나의 상품의 바코드(barcode) 영역을 크로핑(cropping)하는 단계;
    상기 프로세서가, 상기 바코드 영역에서 적어도 하나의 특징점(feature point)을 식별하는 단계;
    상기 프로세서가, 인공 지능(Artificial Intelligence, AI)을 기반으로 상기 식별된 특징점을 이용하여 상기 바코드 영역을 복원하는 단계; 및
    상기 프로세서가, 상기 복원된 바코드 영역으로부터 정보를 인식하여, 상품을 식별하는 단계;를 포함하여 실행시키되,
    상기 크로핑하는 단계는
    상기 촬영된 이미지 내에서 상기 적어도 하나의 상품과 관련된 영역을 제외한 나머지 배경(background)을 제거하고, 상기 적어도 하나의 상품의 전경(foreground) 외곽선에 따라 구획하여 적어도 하나의 상품을 구분하고, 상기 구분된 적어도 하나의 상품 각각에 대하여 바코드 영역을 크로핑하는 것을 특징으로 하며,
    상기 크로핑하는 단계는
    상기 구분된 적어도 하나의 상품의 형상 정보를 통해 디자인(design)을 추정하고, 추정된 디자인을 기초로 상기 이미지 내에서 바코드가 위치할 것으로 예상되는 위치를 추정하여 상기 바코드 영역을 크로핑하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
  10. 제9 항에 있어서, 상기 크로핑하는 단계는
    사전에 학습된 분류기(classifier)를 이용하여 상기 구분된 상품 각각에 대하여 사전에 정의된 바코드의 형상 정보와 매칭되는 형상 정보를 갖는 영역을 바코드 영역으로 인식하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
KR1020220045043A 2022-04-12 2022-04-12 인공지능 기반의 바코드 복원을 통한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR102476496B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220045043A KR102476496B1 (ko) 2022-04-12 2022-04-12 인공지능 기반의 바코드 복원을 통한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220045043A KR102476496B1 (ko) 2022-04-12 2022-04-12 인공지능 기반의 바코드 복원을 통한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102476496B1 true KR102476496B1 (ko) 2022-12-14

Family

ID=84438497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220045043A KR102476496B1 (ko) 2022-04-12 2022-04-12 인공지능 기반의 바코드 복원을 통한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102476496B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117764094A (zh) * 2024-02-21 2024-03-26 博诚经纬软件科技有限公司 一种海关用智慧仓储管理系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200023990A (ko) 2018-08-27 2020-03-06 주식회사 코리아세븐 무인 점포의 결제 처리 시스템, 방법 및 컴퓨터 프로그램
KR20200050091A (ko) * 2018-10-31 2020-05-11 삼성전자주식회사 바코드를 판독하는 방법 및 전자 장치
KR102263184B1 (ko) * 2020-12-14 2021-06-09 주식회사 대곤코퍼레이션 저 품질 바코드 판독시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200023990A (ko) 2018-08-27 2020-03-06 주식회사 코리아세븐 무인 점포의 결제 처리 시스템, 방법 및 컴퓨터 프로그램
KR20200050091A (ko) * 2018-10-31 2020-05-11 삼성전자주식회사 바코드를 판독하는 방법 및 전자 장치
KR102263184B1 (ko) * 2020-12-14 2021-06-09 주식회사 대곤코퍼레이션 저 품질 바코드 판독시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117764094A (zh) * 2024-02-21 2024-03-26 博诚经纬软件科技有限公司 一种海关用智慧仓储管理系统和方法

Similar Documents

Publication Publication Date Title
JP6986576B2 (ja) 物品識別方法及びシステム、電子機器
US10474858B2 (en) Methods of identifying barcoded items by evaluating multiple identification hypotheses, based on data from sensors including inventory sensors and ceiling-mounted cameras
US20220198550A1 (en) System and methods for customer action verification in a shopping cart and point of sales
US10192087B2 (en) Methods and arrangements for identifying objects
CN110472515B (zh) 货架商品检测方法及系统
JP2019527865A (ja) 環境内のコンピュータビジョン駆動型アプリケーションのためのシステムおよび方法
JP6549558B2 (ja) 売上登録装置、プログラム及び売上登録方法
US10769399B2 (en) Method for improper product barcode detection
WO2020156108A1 (en) System and methods for monitoring retail transactions
US20200202091A1 (en) System and method to enhance image input for object recognition system
US20210398097A1 (en) Method, a device and a system for checkout
BE1026846A1 (nl) Werkwijze voor het automatiseren van een controlesignaal gedurende het trainen van een neuraal netwerk met een barcode scan
US11776673B2 (en) System and method for augmented reality detection of loose pharmacy items
KR102476496B1 (ko) 인공지능 기반의 바코드 복원을 통한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
US20150116543A1 (en) Information processing apparatus, information processing method, and storage medium
CN113468914B (zh) 一种商品纯净度的确定方法、装置及设备
KR102469015B1 (ko) 서로 다른 파장 범위를 갖는 복수의 카메라를 이용한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102476498B1 (ko) 인공지능 기반의 복합 인식을 통한 상품 식별 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102476493B1 (ko) 상품 식별 장치 및 이를 이용한 상품 식별 방법
JP7402898B2 (ja) 物体認識システムのための少なくとも1つのグラウンドトゥルースデータベースを形成するための装置及び方法
KR102433004B1 (ko) 인공 지능 기반의 무인 결제 장치 및 방법
KR102433003B1 (ko) 컨베이어 단차를 이용한 겹침 방지 기능을 갖는 무인 결제 장치
KR102454539B1 (ko) 검증을 수행하는 무인 결제 장치 및 방법
KR102449325B1 (ko) 컨베이어 제어를 통한 겹침 방지 기능을 갖는 무인 결제 장치
US20230129779A1 (en) Method, control device and registration terminal for computer-supported detection of the empty state of a transport container

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant