KR102180884B1 - 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치 및 이를 위한 방법 - Google Patents

영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치 및 이를 위한 방법 Download PDF

Info

Publication number
KR102180884B1
KR102180884B1 KR1020200048358A KR20200048358A KR102180884B1 KR 102180884 B1 KR102180884 B1 KR 102180884B1 KR 1020200048358 A KR1020200048358 A KR 1020200048358A KR 20200048358 A KR20200048358 A KR 20200048358A KR 102180884 B1 KR102180884 B1 KR 102180884B1
Authority
KR
South Korea
Prior art keywords
vector
selection
product
input
network
Prior art date
Application number
KR1020200048358A
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 KR1020200048358A priority Critical patent/KR102180884B1/ko
Application granted granted Critical
Publication of KR102180884B1 publication Critical patent/KR102180884B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06K9/20
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치는 영상의 재생 중 영상 내에서 사용자의 입력에 의해 도출되는 입력 좌표를 지속적으로 도출하여 인공신경망에 입력하는 객체처리모듈과, 상기 영상과 지속적으로 도출되는 입력 좌표가 추종하는 위치에 표시되는 객체를 검출하고, 검출된 객체에 대응하는 상품을 나타내는 상품벡터를 도출하는 인공신경망을 포함한다.

Description

영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치 및 이를 위한 방법{Apparatus for providing product information based on object recognition in video content and method therefor}
본 발명은 상품 정보 제공 기술에 관한 것으로, 보다 상세하게는, 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치 및 이를 위한 방법에 관한 것이다.
객체 검출(Object Detection)은 컴퓨터비전(Computer vision), 영상처리(image processing)와 관계가 깊은 컴퓨터 기술이다.
한국공개특허 제2012-0001285호 2012년 01월 04일 공개 (명칭: 객체 인식을 통한 상품 분류 검색 및 쇼핑 정보 제공 서비스 방법, 서버 및 시스템)
본 발명의 목적은 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치 및 이를 위한 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치는 영상 내에서 객체를 선택하기 위한 사용자의 입력에 의한 입력 좌표가 추종하는 객체에 대응하는 상품을 나타내는 상품벡터를 도출하는 인공신경망과, 상기 상품벡터에 대응하는 상품의 섬네일을 통해 해당 상품에 대한 정보를 제공하는 객체처리모듈을 포함한다.
상기 인공신경망은 영상 내의 하나 이상의 객체에 대해 상기 객체가 차지하는 영역을 나타내는 영역상자의 좌표와 상기 영역상자 내의 객체가 기 학습된 하나 이상의 클래스의 객체일 확률을 나타내는 하나 이상의 객체벡터를 생성하는 객체검출망과, 상기 객체벡터에 상기 입력 좌표를 나타내는 입력벡터를 더하여 하나 이상의 선택객체벡터를 생성하는 객체선택망을 포함한다.
상기 객체선택망은 상기 객체벡터에 상기 입력벡터를 더하여 상기 선택객체벡터를 생성하는 덧셈기와, 상기 입력벡터의 입력 좌표로부터 입력의도영역을 도출하고, 상기 입력의도영역과 상기 객체벡터의 영역상자가 적어도 일부의 영역이 겹치면 1 벡터의 값을 가지는 선택벡터를 생성하고, 상기 입력의도영역과 상기 객체벡터의 영역상자가 겹치는 영역이 없으면, 0 벡터의 값을 가지는 선택벡터를 생성하는 좌표선택모듈과, 상기 객체선택망의 출력으로 상기 선택객체벡터가 출력될 때마다 리셋된 후, 기 설정된 임계 시간을 카운트하여 카운트된 시간이 임계 시간의 도래하기 전이면 만료벡터로 1 벡터를 출력하고, 카운트된 시간이 만료 시간을 도과하면 만료벡터로 0 벡터를 출력하는 만료타이머와, 상기 선택객체벡터, 상기 선택벡터 및 상기 만료벡터에 벡터곱을 수행하여 산출된 벡터값을 출력하는 곱셈기를 포함한다.
상기 인공신경망은 순차로 정렬되어 이전 스테이지의 연산 결과와 선택객체벡터를 입력받아 가중치가 적용되는 하나 이상의 연산을 통해 출력을 산출하는 복수의 스테이지를 포함하며, 상기 복수의 스테이지 각각에 대응하여 시간 순서에 따라 정렬된 복수의 선택객체벡터가 입력되면, 상기 복수의 선택객체벡터에 대해 각 스테이지에서 순차로 연산을 수행하여 상기 상품벡터를 도출하는 상품특정망을 더 포함한다.
상기 객체처리모듈은 상기 섬네일을 통해 상품의 구매 여부에 대해 질의하고, 상기 질의에 대응하여 사용자의 구매 요청이 있으면, 상기 상품을 구매할 수 있는 구매 페이지를 제공하는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치는 영상 내의 하나 이상의 객체에 대해 상기 객체가 차지하는 영역을 나타내는 영역상자의 좌표와 상기 영역상자 내의 객체가 기 학습된 하나 이상의 클래스의 객체일 확률을 포함하는 나타내는 하나 이상의 객체벡터를 생성하는 객체검출망과, 상기 영상 내에서 객체를 선택하기 위한 사용자의 입력에 대응하여 상기 객체벡터에 상기 입력 좌표를 나타내는 입력벡터를 더하여 하나 이상의 선택객체벡터를 생성하는 객체선택망과, 상기 객체선택망으로부터 시간 순서로 정렬된 복수의 선택객체벡터가 입력되면, 상기 복수의 선택객체벡터에 대해 가중치가 적용되는 복수의 연산을 수행하여 상기 객체에 대응하는 상품을 나타내는 상품벡터를 도출하는 상품특정망을 포함하는 인공신경망을 포함한다.
상기 객체처리모듈은 상기 상품벡터에 대응하는 상품의 섬네일을 통해 상품의 구매 여부에 대해 질의하고, 상기 질의에 대응하여 사용자의 구매 요청이 있으면, 상기 상품을 구매할 수 있는 구매 페이지를 제공하는 것을 특징으로 한다.
상기 상품특정망은 순차로 정렬된 복수의 스테이지를 가지며, 시간 순서로 정렬된 복수의 선택객체벡터가 입력되면, 이전 스테이지의 상태값과 현 스테이지의 선택객체벡터에 대해 가중치가 적용되는 하나 이상의 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 제공하며, 마지막 스테이지에서 산출된 상태값에 대해 가중치가 적용되는 연산을 수행하여 상기 상품벡터를 도출하는 것을 특징으로 한다.
상기 상품특정망은 시간 순서에 따라 정렬되는 복수의 선택객체벡터를 입력하기 위한 순환입력층과, 상기 복수의 선택객체벡터 각각에 대응하여 가중치가 적용되는 하나 이상의 연산을 수행하여 상기 상품벡터를 산출하는 복수의 은닉셀을 포함하는 순환은닉층과, 상기 산출된 상품벡터를 출력하는 순환출력층을 포함한다.
상기 객체선택망은 상기 객체벡터에 상기 입력벡터를 더하여 상기 선택객체벡터를 생성하는 덧셈기와, 상기 입력벡터의 입력 좌표로부터 입력의도영역을 도출하고, 상기 입력의도영역과 상기 객체벡터의 영역상자가 적어도 일부의 영역이 겹치면 1 벡터의 값을 가지는 선택벡터를 생성하고, 상기 입력의도영역과 상기 객체벡터의 영역상자가 겹치는 영역이 없으면, 0 벡터의 값을 가지는 선택벡터를 생성하는 좌표선택모듈과, 상기 객체선택망의 출력으로 상기 선택객체벡터가 출력될 때마다 리셋된 후, 기 설정된 임계 시간을 카운트하여 카운트된 시간이 임계 시간의 도래하기 전이면 만료벡터로 1 벡터를 출력하고, 카운트된 시간이 만료 시간을 도과하면 만료벡터로 0 벡터를 출력하는 만료타이머와, 상기 선택객체벡터, 상기 선택벡터 및 상기 만료벡터에 벡터곱을 수행하여 산출된 벡터값을 출력하는 곱셈기를 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 방법은 인공신경망이 영상 내에서 사용자의 입력에 의한 입력 좌표를 나타내는 입력 벡터가 입력되면, 입력 좌표가 추종하는 객체에 대응하는 상품을 나타내는 상품벡터를 도출하는 단계와, 객체처리모듈이 상기 상품벡터에 대응하는 상품의 섬네일을 통해 해당 상품에 대한 정보를 제공하는 단계를 포함한다.
상기 상품벡터를 도출하는 단계는 상기 인공신경망의 객체검출망이 상기 영상 내의 하나 이상의 객체에 대해 상기 객체가 차지하는 영역을 나타내는 영역상자의 좌표와 상기 영역상자 내의 객체가 기 학습된 하나 이상의 클래스의 객체일 확률을 나타내는 하나 이상의 객체벡터를 생성하는 단계와, 상기 인공신경망의 객체선택망이 상기 객체벡터에 상기 입력 좌표를 나타내는 입력벡터를 더하여 하나 이상의 선택객체벡터를 생성하는 단계를 포함한다.
상기 하나 이상의 선택객체벡터를 생성하는 단계는 상기 객체선택망의 덧셈기가 상기 객체벡터에 상기 입력벡터를 더하여 상기 선택객체벡터를 생성하는 단계와, 상기 객체선택망의 좌표선택모듈이 상기 입력벡터의 입력 좌표로부터 입력의도영역을 도출하는 단계와, 상기 좌표선택모듈이 상기 입력의도영역과 상기 객체벡터의 영역상자가 적어도 일부의 영역이 겹치면 1 벡터의 값을 가지는 선택벡터를 생성하고, 상기 입력의도영역과 상기 객체벡터의 영역상자가 겹치는 영역이 없으면, 0 벡터의 값을 가지는 선택벡터를 생성하는 단계와, 상기 객체선택망의 만료타이머가 상기 객체선택망의 출력으로 상기 선택객체벡터가 출력될 때마다 리셋된 후, 기 설정된 임계 시간을 카운트하여 카운트된 시간이 임계 시간의 도래하기 전이면 만료벡터로 1 벡터를 출력하고, 카운트된 시간이 만료 시간을 도과하면 만료벡터로 0 벡터를 출력하는 단계와, 상기 객체선택망의 곱셈기가 상기 선택객체벡터, 상기 선택벡터 및 상기 만료벡터에 벡터곱을 수행하여 상기 선택벡터 및 상기 만료벡터 양자 모두 1 벡터이면, 상기 선택객체벡터를 출력하고, 상기 선택벡터 및 상기 만료벡터 중 적어도 하나가 0 벡터이면, 상기 선택객체벡터를 0 벡터로 소거하는 단계를 포함한다.
상기 방법은 상기 하나 이상의 선택객체벡터를 생성하는 단계 후, 상기 인공신경망의 상품특정망이 순차로 정렬된 복수의 스테이지 각각에 대응하여 시간 순서로 정렬된 복수의 선택객체벡터를 입력 받는 단계와, 상기 상품특정망이 상기 복수의 스테이지에서 이전 스테이지의 상태값과 현 스테이지의 선택객체벡터에 대해 가중치가 적용되는 하나 이상의 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 제공하는 단계와, 상기 상품특정망이 상기 복수의 스테이지 중 마지막 스테이지에서 산출된 상태값에 대해 가중치가 적용되는 연산을 수행하여 상기 상품벡터를 도출하는 단계를 더 포함한다.
상기 방법은 상기 상품에 대한 정보를 제공하는 단계 후, 상기 객체처리모듈이 상기 섬네일을 통해 상품의 구매 여부에 대해 질의하고, 상기 질의에 대응하여 사용자의 요청이 있으면, 상기 상품을 구매할 수 있는 구매 페이지를 제공하는 단계를 더 포함한다.
본 발명의 다른 견지에 따르면, 전술한 상품 정보를 제공하기 위한 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 제공한다.
본 발명은 영상이 제공되는 동안 사용자가 선택하는 객체에 대한 상품 정보를 제공할 수 있다. 이에 따라, 사용자에게 편리한 쇼핑 플랫폼을 제공함으로써 새로운 사용자 경험(UX: User eXperience)을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 시스템을 설명하기 위한 도면이다.
도 2 내지 도 5는 본 발명의 실시예에 따른 시스템의 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하는 방법을 설명하기 위한 화면 예이다.
도 6은 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 사용자장치의 구성을 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치에서 인공신경망의 구성을 설명하기 위한 도면이다.
도 8은 본 발명의 실시예에 따른 객체 인식 기반의 상품 정보를 제공하기 위한 장치에서 객체검출망의 구성을 설명하기 위한 도면이다.
도 9는 본 발명의 실시예에 따른 객체 인식 기반의 상품 정보를 제공하기 위한 장치에서 객체선택망의 구성을 설명하기 위한 도면이다.
도 10 및 도 11은 본 발명의 실시예에 따른 복수의 선택객체벡터를 생성하는 방법을 설명하기 위한 화면 예이다.
도 12 및 도 13은 본 발명의 실시예에 따른 객체 인식 기반의 상품 정보를 제공하기 위한 장치에서 상품특정망의 구성을 설명하기 위한 도면이다.
도 14는 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 방법을 설명하기 위한 흐름도이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
먼저, 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 시스템을 설명하기 위한 도면이다. 도 2 내지 도 5는 본 발명의 실시예에 따른 시스템의 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하는 방법을 설명하기 위한 화면 예이다. 도 1을 참조하면, 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 시스템은 사용자장치(10), 서비스서버(20) 및 쇼핑몰서버(30)를 포함한다.
본 발명의 실시예에 따른 사용자장치(10)는 사용자가 사용하는 장치이다. 사용자장치(10)는 퍼스널컴퓨터, 노트북, 테블릿, 스마트폰 등을 예시할 수 있다. 사용자장치(10)는 도 2에 도시된 바와 같은 영상 컨텐츠, 예컨대, UCC(User-Created Content) 영상의 재생 중 영상 내에 존재하는 객체를 영역상자(B: Bounding Box)를 통해 인식하고, 해당 객체에 대응하는 상품을 특정할 수 있다. 도 3에 도시된 바와 같이 하나의 장면에 여러 객체들(obj1, obj2)이 존재할 수 있으며, 영상에서 장면이 지속적으로 변화하기 때문에 장면 전환이 빠른 영상의 경우, 사용자가 선택하고자 하는 객체와 실제 사용자의 조작에 의해 선택된 객체 간에는 일정 정도의 간극이 있을 수 있다. 예컨대, 도 3의 예를 참조하면, 객체가 차지하는 영역을 나타내는 제1 및 제2 영역상자(B1, B2)는 제1 및 제2 객체(obj1, obj2)의 경계 부분에서 일부가 중첩될 수 있으며, 사용자가 커서 혹은 터치 입력을 통해 제1 객체(obj1)를 선택하고자 커서를 이동하여 클릭했으나, 그 입력 좌표(xi, yi)가 제1 및 제2 객체(obj1, obj2)의 경계 부분에 발생할 수 있다. 따라서 본 발명은 사용자가 자신의 입력에 대한 사용자장치(10)의 반응을 통해 자신의 입력이 이루어졌음을 인식할 때까지 자신이 선택하고자 하는 객체를 일정 시간(예컨대, 2~3초) 이상 추종하는 점을 이용하여 사용자가 실제로 원하는 객체를 특정한다.
도 4에 도시된 바와 같이, 사용자장치(10)는 사용자가 원하는 객체에 대응하는 상품(M)이 특정되면, 섬네일(thumbnail: CTL)을 통해 그 객체에 대응하는 상품(M)의 정보를 제공할 수 있다. 이를 위하여, 사용자장치(10)는 해당 객체에 대응하는 상품(M)을 식별하는 식별자를 서비스서버(20)로 전송하면, 상기 서비스서버(20)는 해당 상품(M)에 대응하는 섬네일(CTL)을 사용자장치(10)로 전송한다.
또한, 도 4 및 도 5에 도시된 바와 같이, 섬네일(CTL)의 버튼 컨트롤, 즉, 구매 및 취소 버튼을 통해 상품의 구매 여부를 질의할 수 있다. 이에 따라, 그 질의에 대응하여 사용자의 구매 요청이 있으면, 즉, 사용자가 구매 버튼을 선택하면, 사용자장치(10)는 해당 상품을 구매할 수 있는 구매 페이지(SP)를 제공한다. 구매 버튼은 쇼핑몰서버(30)의 구매 페이지(SP)의 주소에 대한 링크를 포함하며, 사용자가 구매 버튼을 선택하면, 사용자장치(10)는 해당 주소로부터 구매 페이지(SP)를 다운로드하여 제공할 수 있다.
다음으로, 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치에 대해서 설명하기로 한다. 도 6은 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 사용자장치(10)의 구성을 설명하기 위한 도면이다. 도 6을 참조하면, 본 발명의 실시예에 따른 사용자장치(10)는 통신부(11), 입력부(12), 표시부(13), 저장부(14) 및 제어부(15)를 포함한다.
통신부(11)는 예컨대, 서비스서버(20) 및 쇼핑몰서버(30)와 통신하기 위한 수단이다. 통신부(11)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF(Radio Frequency) 송신기(Tx) 및 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기(Rx)를 포함할 수 있다. 그리고 통신부(11)는 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(Modem)을 포함할 수 있다.
입력부(12)는 사용자장치(10)를 제어하기 위한 사용자의 키 조작을 입력받고 입력 신호를 생성하여 제어부(15)에 전달할 수 있다. 입력부(12)는 사용자장치(10)를 제어하기 위한 각 종 키들을 포함한다. 또한, 입력부(12)는 예컨대, 마우스 등과 같이, 표시부(13)의 화면에서 커서(cursor)의 이동 및 선택 동작(예컨대, 클릭, 더블 클릭 등)을 조작하기 위한 포인팅 장치를 포함할 수 있다. 입력부(12)는 표시부(13) 상에서 예컨대, 마우스 등의 포인팅 장치에 의해 커서의 이동 및 선택 동작을 통한 입력이 발생하면, 발생된 입력의 입력 좌표를 검출하여 제어부(15)의 객체처리모듈(300)에 제공할 수 있다. 입력부(12)는 표시부(13)가 터치스크린으로 이루어진 경우, 각 종 키들의 기능이 표시부(13)에서 이루어질 수 있으며, 터치스크린만으로 모든 기능을 수행할 수 있는 경우, 입력부(12)는 생략될 수도 있다.
표시부(13)는 화면 표시를 위한 것으로, 사용자장치(10)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공할 수 있다. 또한, 표시부(13)는 사용자장치(10)의 부팅 화면, 대기 화면, 메뉴 화면, 등의 화면을 출력하는 기능을 수행한다. 표시부(13)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다. 한편, 표시부(13)는 터치스크린으로 구현될 수 있다. 이러한 경우, 표시부(13)는 터치센서를 포함한다. 터치센서는 사용자의 터치 입력을 감지한다. 터치센서는 정전용량 방식(capacitive overlay), 압력식, 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 발명의 터치센서로 이용될 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 터치된 위치를 나타내는 입력 좌표를 포함하는 감지 신호를 발생시켜 제어부(15)의 객체처리모듈(300)로 전송할 수 있다. 특히, 표시부(13)가 터치스크린으로 이루어진 경우, 입력부(12)의 기능의 일부 또는 전부는 표시부(13)를 통해 이루어질 수 있다.
저장부(14)는 제어장치(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 저장부(14)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다. 저장부(14)는 서비스서버(20)로부터 상품에 대한 정보 및 해당 상품의 구매 페이지(SP)의 주소에 대한 링크를 포함하는 섬네일(CTL)을 수신하여 저장할 수 있다.
제어부(15)는 사용자장치(10)의 전반적인 동작 및 사용자장치(10)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 또한, 제어부(15)는 기본적으로, 사용자장치(10)의 각 종 기능을 제어하는 역할을 수행한다. 제어부(15)는 중앙처리장치(CPU: Central Processing Unit), 디지털신호처리기(DSP: Digital Signal Processor) 등을 예시할 수 있다. 다음으로, 제어부(15)는 인공신경망(100), 학습모듈(200) 및 객체처리모듈(300)을 포함한다. 인공신경망(100), 학습모듈(200) 및 객체처리모듈(300)을 포함하는 제어부(15)의 구성 및 동작에 대해서는 아래에서 더 상세하게 설명될 것이다.
다음으로, 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치에서 인공신경망에 대해 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치에서 인공신경망의 구성을 설명하기 위한 도면이다. 도 8은 본 발명의 실시예에 따른 객체 인식 기반의 상품 정보를 제공하기 위한 장치에서 객체검출망의 구성을 설명하기 위한 도면이다. 도 9는 본 발명의 실시예에 따른 객체 인식 기반의 상품 정보를 제공하기 위한 장치에서 객체선택망의 구성을 설명하기 위한 도면이다. 도 10 및 도 11은 본 발명의 실시예에 따른 복수의 선택객체벡터를 생성하는 방법을 설명하기 위한 화면 예이다. 도 12 및 도 13은 본 발명의 실시예에 따른 객체 인식 기반의 상품 정보를 제공하기 위한 장치에서 상품특정망의 구성을 설명하기 위한 도면이다.
도 7을 참조하면, 인공신경망(100)은 하나 이상의 연산 모듈을 통해 구현될 수 있다. 이러한 연산 모듈은 컴퓨팅 연산을 수행하는 하드웨어 혹은 소프트웨어로 구현될 수 있다. 소프트웨어로 구현되는 경우에도 하드웨어 내에서 동작할 것이다. 하드웨어로 구현되는 경우, 예컨대, 이러한 연산 모듈은 CPU(Central Processing Unit), GPU(graphics processing unit), NPU(Neural Processing Unit) 등을 예시할 수 있다. 또한, 인공신경망(100)은 예컨대, TPU(tensor processing unit)와 같은 하드웨어 가속기를 통해 구현될 수도 있다. 인공신경망(100)은 하나 또는 둘 이상의 계층(layer)을 포함하는 하나 또는 둘 이상의 신경망 네트워크(network)를 포함한다. 이러한 인공신경망(100)은 사용자장치(10)의 표시부(13)를 통해 영상 컨텐츠가 재생되는 동안, 그 영상 내에서 커서가 추종하는 위치에 표시되는 객체(obj)에 대응하는 상품(M)을 나타내는 상품벡터를 도출하기 위한 것이다. 이를 위하여, 인공신경망(100)은 도 7에 도시된 바와 같이, 객체검출망(110), 객체선택망(120) 및 상품특정망(120)을 포함한다.
도 2 및 도 8을 참조하면, 객체검출망(110)은 영상 내의 하나 이상의 객체(obj)를 검출하여 객체벡터(Ot)를 생성한다. 객체벡터(Ot)는 객체가 차지하는 영역을 나타내는 영역상자(B: Bounding Box)의 좌표(x, y, w, h) 및 영역상자(B) 내의 객체가 기 학습된 하나 이상의 클래스의 객체일 확률(C3 0.93621)을 포함한다.
객체검출망(110)은 하나 이상의 계층을 포함하며, 어느 하나의 계층은 하나 이상의 연산을 수행한다. 어느 하나의 계층의 연산 결과는 가중치가 적용되어 다음 계층에 전달된다. 이는 현 계층의 연산 결과에 가중치가 적용되어 다음 계층의 연산에 입력되는 것을 의미한다. 다른 말로, 인공신경망(100)은 가중치가 적용되는 복수의 연산을 수행한다. 복수의 계층은 컨볼루션(Convolution) 연산을 수행하는 컨볼루션계층(CVL: Convolution Layer), 다운샘플링(Down Sampling) 연산 혹은 업샘플링(Up Sampling) 연산을 수행하는 풀링계층(PLL: Pooling Layer), 활성화함수에 의한 연산을 수행하는 완전연결층(FCL: Fully Connected Layer) 등을 포함할 수 있다. 컨볼루션, 다운샘플링 및 업샘플링 연산 각각은 소정의 행렬로 이루어진 커널을 이용하며, 이러한 커널을 이루는 행렬의 원소의 값들이 가중치(w)가 된다. 여기서, 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다. 이러한 객체검출망(110)은 R-CNN(Region Proposal + Convolutional Neural Network), Fast R-CNN, Faster R-CNN, SSD(Single Shot Multi-box Detector), YOLO(You Only Look Once), YOLOv2, YOLO9000, YOLOv3, Fast R-CNN, SGD 등의 모델을 예시할 수 있다.
객체검출망(110)은 영상이 입력되면, 영상에 대해 복수의 계층의 가중치가 적용되는 복수의 연산을 수행하여 객체벡터(Ot)를 출력한다. 도 2를 참조하면, 객체검출망(110)은 영상을 복수의 셀로 구분한 후, 복수의 셀 단위의 연산을 수행하여 하나 이상의 객체벡터(Ot)를 산출한다. 객체벡터(Ot)는 객체가 차지하고 있는 영역을 나타내는 영역상자(B: Bounding Box)의 좌표(x, y, w, h), 영역상자(B)와 객체가 차지하고 있는 영역을 나타내는 실측상자(ground-truth box)와 일치하는 정도를 나타내는 신뢰도(confidence) 및 영역상자(B) 내의 객체(obj)가 학습된 복수의 클래스의 객체 각각에 속할 확률(C3=0.9274)을 포함한다. 본 발명의 실시예에서 영역상자(B)와 실측상자(ground-truth box)와 일치하는 정도를 나타내는 신뢰도(confidence)는 생략될 수 있다. 영역상자(B)의 좌표는 중심, 폭 및 높이(x, y, w, h)로 이루어진다. 특히, 영역상자(B)의 중심 좌표 (x, y)는 셀을 기준으로 하는 좌표이다. 예컨대, 도 2의 경우, 영상은 4행 3열의 12개의 셀 [(1, 1) 내지 (3, 4)]로 구분되었다. 영역상자(B)는 2행 3열(2, 3)의 셀 내에 중심좌표(x, y)가 위치하며, 폭과 높이(w, h)를 가진다. 영역상자(B)의 신뢰도는 1이며, 학습된 제3 클래스(C3)인 "XXX 브랜드의 풀오버 무지 후드티, 상품코드 HODI20200618"에 속할 확률이 93%(C3 0.9274)임을 나타낸다.
도 3 및 도 8을 참조하면, 객체선택망(120)은 영상 내에서 객체(obj)를 선택하고자 하는 입력에 의한 입력 좌표(xi, yi)로부터 도출되는 소정의 입력의도영역(IA: 즉, 중심이 (xi, yi)이고, 반지름 r인 원)과 객체의 영역상자(B)가 적어도 일부 겹치면서, 기 설정된 임계 시간(ext) 내에 연속해서 선택된 객체벡터(Ot)를 도출하고, 도출된 객체벡터에 대해 입력벡터(It)를 부가하여 선택객체벡터(Xt)를 생성한다. 이에 따라, 선택객체벡터(Xt)는 영상에 포함된 객체 중 사용자가 선택하고자 하는 객체(obj)의 객체벡터(Ot) 및 그 객체를 선택하기 위해 발생된 입력에 의한 입력 좌표(xi, yi)를 나타내는 입력벡터(It)를 포함한다.
사용자는 입력부(12)를 조작하여 커서(cursor: CS)를 이동시키거나, 터치 입력(TCH)에 의해 입력할 때, 그 입력에 대한 사용자장치(10)의 반응을 통해 자신의 입력이 이루어졌음을 인식할 때까지 자신이 원하는 개체를 일정 시간 추종할 수 있다. 따라서 객체선택망(120)은 선택하고자 하는 객체인지 여부, 그리고 기 설정된 임계 시간 내에 지속적으로 해당 객체를 선택하고자 하는지 여부에 따라 사용자가 선택하고자 하는 객체를 추정한다. 이를 위하여, 객체선택망(120)은 덧셈기(121), 좌표선택모듈(123), 만료타이머(125) 및 곱셈기(127)를 포함한다.
덧셈기(121)는 객체벡터(Ot)와 입력벡터(It)를 입력받고, 객체벡터(Ot)에 입력벡터(It)를 더하여 선택객체벡터(Xt)를 생성한다. 여기서, 입력벡터(It)는 도 3에 도시된 바와 같이, 커서 혹은 터치 입력에 의해 객체를 선택하기 위한 입력에 따라 발생되는 입력 좌표(xi, yi)를 나타낸다.
좌표선택모듈(123)은 입력 좌표(xi, yi)를 통해 객체를 선택하고자 하는 입력인지 여부를 판단하기 위한 것이다. 우선, 좌표선택모듈(123)은 덧셈기(121)로부터 객체벡터(Ot) 및 입력벡터(It)를 포함하는 선택객체벡터(Xt)가 입력되면, 우선, 선택객체벡터(Xt)의 입력벡터(It)의 입력 좌표(xi, yi)로부터 입력의도영역(IA)을 도출한다. 여기서, 입력의도영역(IA)은 중심이 입력 좌표(xi, yi)이고, 반지름 r인 원의 내부 영역을 나타낸다. 여기서, r은 상수이며, 미리 설정된다. 그런 다음, 좌표선택모듈(123)은 동일한 선택객체벡터(Xt)의 객체벡터(Ot)의 영역상자(B)의 좌표(x, y, w, h)와 입력의도영역(IA)을 비교하여 다음의 수학식 1에 따라 선택벡터(St)를 생성한다.
Figure 112020041170582-pat00001
여기서, a, b는
Figure 112020041170582-pat00002
을 만족하는 실수
r > 0 이고, 미리 설정되는 실수
수학식 1에 즉, 선택벡터(St)는 커서 혹은 터치 입력을 통해 객체를 선택하고자 하는 입력 좌표(xi, yi)로부터 도출된 입력의도영역(IA)과 객체의 영역상자(B)가 적어도 일부 겹치면 1 벡터를 출력하고, 그렇지 않은 경우, 0 벡터를 출력한다.
만료타이머(125)는 기 설정된 임계 시간(ext) 내에 객체(obj)를 선택하고자 하는 입력이 지속되는지 여부를 판단하기 위한 것이다. 이를 위하여, 만료타이머(125)는 객체선택망(120)에서 선택객체벡터(Xt)가 출력될 때마다 리셋 된 후, 기 설정된 임계 시간(ext)을 카운트한다. 이에 따라, 만료타이머(125)는 다음의 수학식 2에 따라 기 설정된 임계 시간(ext)이 도과되었는지 여부에 따라 만료벡터(Tt)를 산출한다.
Figure 112020041170582-pat00003
이와 같이, 만료타이머(125)는 카운트된 시간(count)이 임계 시간(ext)의 도래하기 전이면 1 벡터의 값을 가지는 만료벡터(Tt)를 출력하고, 카운트된 시간(count)이 만료 시간(ext)을 도과하면 0 벡터의 값을 가지는 만료벡터(Tt)를 출력한다.
곱셈기(127)는 선택객체벡터(Xt), 선택벡터(St) 및 만료벡터(Tt)에 벡터곱을 수행하여 산출된 벡터값을 출력하기 위한 것이다. 우선, 벡터곱에 따라 선택벡터(St)가 1 벡터이면, 선택객체벡터(Xt)는 그 값이 그대로 유지되어 바이패스되고, 선택벡터(St)가 0 벡터이면, 선택객체벡터(Xt)는 0 벡터로 소거된다. 이에 따라, 선택벡터(St)를 통해 입력 좌표(xi, yi)에 따라 선택하고자 하는 의도가 있는 객체(obj)에 대응하는 선택객체벡터(Xt)를 선택할 수 있다. 또한, 벡터곱에 따라 선택벡터(St)가 1 벡터이면, 객체벡터(Ot)는 그 값이 그대로 유지되어 바이패스되고, 선택벡터(St)가 0 벡터이면, 객체벡터(Ot)는 0 벡터로 소거된다. 이에 따라, 만료벡터(Tt)를 통해 기 설정된 임계 시간(ext) 내에 선택하기 위한 입력이 지속되는 객체(obj)에 대응하는 선택객체벡터(Xt)를 선택할 수 있다.
곱셈기(127)는 선택객체벡터(Xt)에 선택벡터(St) 및 만료벡터(Tt) 양자 모두를 곱하기 때문에 선택벡터(St) 및 만료벡터(Tt) 양자 모두 1 벡터인 경우에 선택객체벡터(Xt)가 바이패스되어 선택될 수 있다. 다른 말로, 선택벡터(St) 및 만료벡터(Tt) 양자 어느 하나가 0 벡터인 경우, 해당 선택객체벡터(Xt)는 소거된다.
정리하면, 객체선택망(120)은 입력 좌표(xi, yi)로부터 도출되는 입력의도영역(IA)과 객체의 영역상자(B)가 적어도 일부 중첩되는지 여부를 통해 선택벡터(St)를 생성하고, 기 설정된 임계 시간(ext)이 만료되는지 여부에 따라 만료벡터(Tt)를 생성한다. 이에 따라, 입력 좌표 상 선택하고자 하는 의도가 있으면서, 선택하고자 하는 입력이 기 설정된 임계 시간(ext) 내에서 지속적으로 이루어진 객체에 대응하는 선택객체벡터(Xt)를 도출할 수 있다. 예컨대, 도 10을 참조하면, 영상의 복수의 프레임(제1 내지 제4 프레임)이 재생되는 동안 영상에 표시된 객체를 나타내는 제1 내지 제6 객체벡터 O1, O2, O3, O4, O5, O6이 검출되었다고 가정한다. 또한, 검출된 제1 내지 제4 입력벡터 I1(xi1, yi1), I2(xi1, yi1), I3(xi1, yi1), I4(xi1, yi1)가 검출되었다고 가정한다. 그러면, 객체선택망(120)은 도 11에 도시된 바와 같이, 제1 내지 제6 객체벡터 O1, O2, O3, O4, O5, O6에 제1 내지 제4 입력벡터 I1(xi1, yi1), I2(xi1, yi1), I3(xi1, yi1), I4(xi1, yi1) 중 대응하는 입력벡터를 더하여 제1 내지 제6 선택객체벡터 X1=O1+S1, X2=O2+S1, X3=O3+S2, X4=O4+S2, X5=O5+S3, X6=O6+S4를 생성할 수 있다.
한편, 선택객체벡터(Xt)가 도출될 때마다, 선택객체벡터(Xt)가 객체처리모듈(300)에 제공된다. 그러면, 객체처리모듈(300)은 도 4에 도시된 바와 같이, 선택객체벡터(Xt)의 영역상자(B)의 좌표를 통해 영상에서 사용자가 선택하고 있는 객체(obj)의 영역상자(B)를 다른 영역과 구분되게 표시되도록 표시부(13)를 제어할 수 있다.
상품특정망(130)은 시간 순서에 따라 정렬된 복수의 선택객체벡터(Xt)가 입력되면, 복수의 선택객체벡터(Xt) 각각에 대해 순차로 연산을 수행하여 사용자가 선택한 객체에 대응하는 상품을 나타내는 상품벡터를 도출한다. 상품특정망(130)은 RNN(Recurrent Neural Network), LTSM(Long Short-Term Memory models), GRU(Gated recurrent unit) 등을 예시할 수 있다. 상품특정망(130)은 복수의 스테이지(S1 내지 Sk)로 이루어지며, 순환입력층(RIL: Recurrent Input Layer), 순환은닉층(RHL: Recurrent Hidden Layer) 및 순환출력층(ROL: Recurrent Outpu Layer)을 포함한다.
순환입력층(RIN)은 스테이지의 개수에 해당하는 복수의 입력으로 이루어지며, 순차로 정렬된 복수의 선택객체벡터(Xt)가 입력으로 사용된다. 순환은닉층(RHL)은 스테이지의 개수에 해당하는 복수의 은닉셀(HC)을 포함하며, 복수의 은닉셀(HC)은 가중치가 적용되는 하나 이상의 연산이 순환 방식으로 수행한다. 순환출력층(ROL)은 마지막 스테이지(Sk)의 은닉셀(HC)에 의해 산출된 값을 출력하며, 이 값이 상품벡터이다.
한편, 도 13을 참조하면, 은닉셀(HC)은 가중치(Weight, Wx, Wh, Wy)가 적용되는 하나 이상의 연산으로 이루어진다. 여기서, 연산은 활성화함수(Activation Function)를 적용한 연산을 의미한다. 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다. 또한, 하나의 은닉셀(HC)에서 가중치는 입력값인 선택객체벡터(Xt)에 적용되는 입력 가중치 Wx, 이전 스테이지의 상태값 Ht-1에 대해 적용되는 상태 가중치 Wh 및 출력값 Yt에 대해 적용되는 출력 가중치 Wy를 포함한다. 예컨대, 은닉셀(HC)에 적용되는 가중치가 적용되는 연산은 다음의 수학식 3을 예시할 수 있다.
Figure 112020041170582-pat00004
Figure 112020041170582-pat00005
여기서, tanh 함수, ReLU 함수는 다른 활성화함수로 변경될 수 있다. 도 13 및 수학식 3을 참조하면, 복수의 은닉셀(HC) 각각은 이전 스테이지의 은닉셀(HC)이 연산한 이전 스테이지의 상태값과 자신의 스테이지의 입력값에 대해 가중치가 적용되는 연산을 수행하여 상태값 및 출력값을 산출할 수 있다.
상품특정망(130)의 순환입력층(RIN)이 예컨대, 도 11에 도시된 바와 같이 시간 순서에 따라 정렬된 제1 내지 제6 선택객체벡터(X1, X2, X3, X4, X5, X6) 각각을 순환은닉층(RHL)의 대응하는 은닉셀(HC)에 입력한다. 그러면, 순환은닉층(RHL)의 복수의 은닉셀(HC) 각각은 이전 스테이지의 은닉셀(HC)이 연산한 이전 스테이지의 상태값과 자신의 스테이지의 입력값(Xt)에 대해 가중치가 적용되는 연산을 수행하여 상태값 및 출력값을 산출한다. 예컨대, 제1 내지 제6 은닉셀(HC1 내지 HC6)이 있다고 가정한다. 제1 은닉셀(HC1)은 제1 선택객체벡터(X1)에 대해 가중치(Wx)가 적용되는 연산(예컨대, tanh)을 수행하여 제1 상태값(H1)을 산출한다. 제2 은닉셀(HC2)은 제1 상태값(H1)과 제1 선택객체벡터(X1)에 대해 가중치(Wh, Wx)가 적용되는 연산(예컨대, tanh)을 수행하여 제2 상태값(H2)을 산출한다. 제3 내지 제5 은닉셀(HC3 내지 HC5) 역시 제2 은닉셀(HC2)과 마찬가지로 제3 상태값(H3), 제4 상태값(H4) 및 제5 상태값(H5)을 산출한다. 그리고 제6 은닉셀(HC6)은 제5 상태값(H5)과 제6 선택객체벡터(X6)에 대해 가중치(Wh, Wx)가 적용되는 연산(예컨대, tanh)을 수행하여 제6 상태값(H6)을 산출한다. 그런 다음, 제6 은닉셀(HC6)은 제6 상태값(H6)에 대해 가중치(Wy)가 적용되는 연산(예컨대, ReLU)을 수행하여 출력값(Y)을 산출한다. 이러한 출력값(Y)은 상품벡터이며,
상품특정망(130)은 각 스테이지에서 복수의 선택객체벡터(X1 내지 X6)에 대한 연산 결과로 도출되는 상태값이 다음 스테이지로 누적하여 전달하며, 마지막 스테이지에서 최종적으로 상품벡터를 도출한다. 이에 따라, 상품특정망(130)은 시간 순서에 따라 복수의 선택객체벡터(Xt) 각각의 객체벡터(Ot)의 영역상자(B) 내의 객체가 기 학습된 하나 이상의 클래스의 객체일 확률 및 복수의 선택객체벡터(Xt) 각각의 객체벡터(Ot)의 영역상자(B)의 좌표와 입력벡터(It)의 위치 변화를 누적하여 상품벡터를 산출할 수 있다.
학습모듈(200)은 인공신경망(100)을 학습시키기 위한 것이다. 본 발명의 실시예에 따르면, 학습모듈(200)은 객체검출망(110)을 학습시킨 후, 객체검출망(110)의 학습이 완료되면, 객체검출망(110) 및 객체선택망(120)을 이용하여 상품특정망(130)을 학습시킨다.
먼저, 객체검출망(110)에 대한 학습 방법에 대해 설명한다. 학습모듈(200)은 학습시키고자 하는 클래스의 객체 및 해당 객체가 차지하는 영역을 나타내는 실측상자(ground-truth box)를 레이블로 가지는 포함된 학습 영상을 마련한 후, 해당 학습 영상을 객체검출망(110)에 입력한다. 그러면, 객체검출망(110)은 복수의 계층의 가중치가 적용되는 복수의 연산을 통해 객체벡터(Ot)를 산출하고, 산출된 객체벡터(Ot)를 출력할 것이다. 객체벡터(Ot)는 학습 영상의 복수의 셀 각각에 중심 좌표를 가지는 복수의 영역상자(B)의 좌표(x, y, w, h), 영역상자(B)와 학습시키고자 하는 객체를 포함하고 있는 이상적인 박스(ground-truth box)와 일치하는 정도를 나타내는 신뢰도(confidence: 0~1) 및 영역상자(B) 내의 객체가 학습시키고자 하는 클래스의 객체일 확률(C3 = 0.9274 등)을 포함한다.
그러면, 학습모듈(200)은 출력값인 객체벡터(Ot)를 기초로 손실 함수에 따라 손실값을 도출할 수 있다. 예컨대, 손실 함수는 다음의 수학식 4와 같다.
Figure 112020041170582-pat00006
S는 셀의 수를 나타내며, C는 신뢰도를 나타낸다. B는 한 셀 내의 영역상자의 수를 나타낸다. pi(c)는 i 번째 셀의 객체가 해당 클래스(c)일 확률을 나타낸다. 여기서, i는 객체가 존재하는 셀을 나타내는 파라미터이고, j는 예측된 영역상자를 나타내는 파라미터이다. 또한, x, y는 영역상자의 중심좌표를 나타내며, w 및 h는 각각 영역상자의 폭과 높이를 나타낸다.
Figure 112020041170582-pat00007
는 영역상자의 변수에 대한 값을 더 반영하기 위한 것으로, 영역상자의 좌표(x, y, w, h)에 대한 손실과 다른 손실들과의 균형을 위한 파라미터이다.
Figure 112020041170582-pat00008
는 영역상자의 변수에 대한 값을 더 반영하고, 물체가 없는 영역에 대한 값을 덜 반영하기 위한 것이다. 즉,
Figure 112020041170582-pat00009
는 객체가 있는 영역상자와 객체가 없는 영역상자 간의 균형을 위한 파라미터이다.
Figure 112020041170582-pat00010
는 셀에 객체가 있는 경우를 나타낸다.
Figure 112020041170582-pat00011
는 셀 i에 있는 영역상자 j를 나타낸다.
수학식 4의 첫 번째 및 두 번째 텀(term)은 영역상자의 좌표(x, y, w, h)와, 레이블로 설정된 학습하고자 하는 클래스의 객체가 존재하는 영역을 나타내는 실측상자(ground-truth box)의 좌표와의 차이를 나타내는 좌표 손실(coordinate loss)을 산출하기 위한 것이다. 또한, 수학식 4의 3 번째 텀은 영역상자(B)의 영역과 객체를 100% 포함하고 있는 실측상자(ground-truth box)와의 차이를 나타내는 신뢰도 손실(confidence loss)을 산출하기 위한 것이다. 마지막으로, 수학식 4의 마지막 텀은 영역상자(B) 내의 객체의 클래스와 실제 객체의 클래스와의 차이를 나타내는 분류 손실(classification loss)을 산출하기 위한 것이다. 학습모듈(200)은 손실 함수를 통해 손실값, 즉, 좌표 손실, 신뢰도 손실 및 분류 손실을 산출하고, 좌표 손실, 신뢰도 손실 및 분류 손실이 최소가 되도록 객체검출망(110)의 가중치를 최적화한다. 학습모듈(200)은 서로 다른 복수의 학습 영상을 이용하여 전술한 바와 같은 방법을 수행함으로써 객체검출망(110)을 학습시킬 수 있다.
객체검출망(110)의 학습이 완료되면, 객체검출망(110) 및 객체선택망(120)을 이용하여 상품특정망(130)을 학습시킨다. 학습모듈(200)은 객체검출망(110) 및 객체선택망(120)을 이용하여 객체에 대응하는 상품이 등장하는 동영상을 재생하면서 해당 객체를 선택하는 입력을 소정 시간(예컨대, 2초) 지속하여 학습용으로 복수의 선택객체벡터(Xt)를 생성한다. 그리고 학습용 복수의 선택객체벡터(Xt)에 대한 레이블로 객체에 대응하는 상품이 설정된다. 그런 다음, 학습용 복수의 선택객체벡터(Xt)를 상품특정망(130)에 입력하면, 상품특정망(130)은 가중치가 적용되는 복수의 연산을 통해 상품벡터(Y)를 출력할 것이다. 그러면, 학습모듈(200)은 상품벡터(Y)와 레이블로 설정된 상품과의 차이가 최소가 되도록 상품특정망(130)의 가중치를 최적화한다. 학습모듈(200)은 서로 다른 학습용 복수의 선택객체벡터(Xt)를 이용하여 전술한 바와 같은 방법을 수행하여 상품특정망(130)을 학습시킬 수 있다.
전술한 바와 같이, 객체검출망(110) 및 상품특정망(130)의 학습이 완료된 후, 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 방법에 대해서 설명하기로 한다. 도 14는 본 발명의 실시예에 따른 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 방법을 설명하기 위한 흐름도이다.
도 14를 참조하면, 제어부(15)의 객체처리모듈(300)은 S110 단계에서 영상 컨텐츠가 재생되면, 인공신경망(100)에 재생되는 영상을 지속적으로 입력한다. 이때, 입력되는 영상은 연속되는 프레임 별로 입력될 수 있다. 특히, 일 실시예에 따르면, 프레임이 I-프레임(Intra-coded frame), P-프레임(Predictive-coded frame) 및 B-프레임(Bidirectional-coded frame)으로 이루어진 경우, I-프레임(Intra-coded frame)만 제공될 수도 있다. 다른 실시예에 따르면, 소정 주기에 따라 프레임을 추출하여 제공할 수도 있다. 예컨대, 초당 2개의 프레임을 제공할 수 있다. 전술한 방식으로 영상이 입력되면, 인공신경망(100)의 객체검출망(110)은 S120 단계에서 입력되는 영상에 포함된 하나 이상의 객체를 검출하여 검출된 객체를 나타내는 객체벡터(Ot)를 생성한다. 객체벡터(Ot)는 객체가 차지하는 영역을 나타내는 영역상자(B: Bounding Box)의 좌표(x, y, w, h) 및 영역상자(B) 내의 객체가 기 학습된 하나 이상의 클래스의 객체일 확률을 포함한다. 예컨대, 도 3을 참조하면, 제1 객체(obj1)에 대한 객체벡터인 제1 객체벡터(O1)는 [x1, y1, w1, h1, 0.888, 0.112]이고, 제2 객체(obj2)에 대한 객체벡터인 제2 객체벡터(O2)는 [x2, y2, w2, h2, 0.058, 0.942]가 될 수 있다. 여기서, (x1, y1, w1, h1) 및 (x2, y2, w2, h2) 각각은 제1 및 제2 객체의 영역박스(B1, B2)의 좌표이다. 또한, 2개의 클래스의 객체가 학습되었다고 가정했을 때, 0.888, 0.112 각각은 제1 객체가 제1 클래스의 객체일 확률 및 제2 클래스의 객체일 확률을 나타내며, 0.058, 0.942 각각은 제2 객체가 제1 클래스의 객체일 확률 및 제2 클래스의 객체일 확률을 나타낸다.
한편, 영상의 재생 중 객체처리모듈(300)은 S130 단계에서 입력부(12) 혹은 표시부(13)를 통해 사용자의 입력을 지속적으로 감지하여 감지된 입력에 의한 일련의 입력 좌표 (xi, yi)를 수신하고, 수신된 일련의 입력 좌표 각각을 나타내는 복수의 입력벡터(It)를 생성한 후, 생성된 복수의 입력벡터(It) 각각을 생성된 시간에 따라 순차로 인공신경망(100)에 입력한다.
그러면, 인공신경망(100)의 객체선택망(120)은 S140 단계에서 복수의 입력벡터(It) 각각의 입력 좌표 및 복수의 입력벡터(It) 각각이 입력되는 시간 간격에 따라 해당하는 복수의 객체벡터(Ot)에 대응하는 입력벡터(It)를 더하여 복수의 선택객체벡터(Xt)를 생성한다. S140 단계에 대해 보다 상세하게 설명하면 다음과 같다. 우선, 객체선택망(120)의 덧셈기(121)는 객체벡터에 상기 입력벡터를 더하여 상기 선택객체벡터를 생성한다. 그런 다음, 객체선택망(120)의 좌표선택모듈(123)은 입력벡터(It)의 입력 좌표(xi, yi)로부터 입력의도영역(IA)을 도출한다. 예컨대, 입력의도영역(IA)은 도 3에 도시된 바와 같이, 중심이 입력 좌표(xi, yi)이고, 반지름 r인 원의 내부 영역을 나타낸다. 여기서, r은 상수이며, 미리 설정된다. 이어서, 객체선택망(120)의 좌표선택모듈(123)은 수학식 1과 같이 입력의도영역(IA)과 객체벡터(Ot)의 영역상자(B)의 적어도 일부의 영역이 겹치면 1 벡터의 값을 가지는 선택벡터를 생성하고, 입력의도영역(IA)과 객체벡터의 영역상자가 겹치는 영역이 없으면, 0 벡터의 값을 가지는 선택벡터(St)를 생성한다. 예컨대, 도 3에 도시된 바에 따르면, 제1 객체벡터(O1)의 제1 영역박스(B1) 및 제2 객체벡터(O2)의 제2 영역박스(B2) 양자 모두 입력의도영역(IA)과 적어도 일부의 영역이 겹친다. 이러한 경우, 제1 객체벡터(O1) 및 제2 객체벡터(O2) 양자 모두에 대응하는 선택벡터(St)는 모두 1 벡터의 값을 가질 수 있다. 한편, 만료타이머(125)는 객체선택망(120)의 출력으로 선택객체벡터(Xt)가 출력될 때마다 리셋 된 후, 기 설정된 임계 시간을 카운트하여 카운트된 시간이 임계 시간의 도래하기 전이면 만료벡터로 1 벡터를 출력하고, 카운트된 시간이 만료 시간을 도과하면 만료벡터로 0 벡터를 출력한다. 다음으로, 곱셈기(127)는 선택객체벡터(Xt), 선택벡터(St) 및 만료벡터(Tt) 모두에 대해 벡터곱을 수행한다. 이러한 벡터곱에 따라 선택벡터(St) 및 만료벡터(Tt) 양자 모두 1 벡터이면, 선택객체벡터(Xt)를 출력하고, 선택벡터(St) 및 만료벡터(Tt) 중 적어도 하나가 0 벡터이면, 선택객체벡터를 0 벡터로 소거한다. 출력된 선택객체벡터(Xt)는 객체처리모듈(300) 및 상품특정망(130)에 제공된다.
선택객체벡터(Xt)를 수신한 객체처리모듈(300)은 S150 단계에서 선택객체벡터(Xt)의 영역상자(B)를 통해 재생되는 영상에서 사용자가 선택하고 있는 객체(obj)의 영역상자(B)를 다른 영역과 구분되게 표시되도록 표시부(13)를 제어할 수 있다. 객체처리모듈(300)은 예컨대, 도 4에 도시된 바와 같이, 현재 도출된 선택객체벡터(Xt)의 영역상자(B)가 제1 영역상자(B1)라면, 제1 영역상자(B1)를 다른 영역과 구분되게 표시되도록 한다.
또한, 복수의 선택객체벡터(Xt)를 수신한 상품특정망(130)은 S160 단계에서 복수의 선택객체벡터(Xt)에 대해 가중치가 적용되는 복수의 연산을 통해 상품벡터(Y)를 산출한다. 상품벡터(Y)는 복수의 선택객체벡터(Xt)를 통해 사용자가 선택을 의도한 객체에 대응하는 상품을 나타낸다. 이러한 S160 단계에서 상품특정망(130)이 순차로 정렬된 복수의 스테이지(St: S1 내지 Sk) 각각에 대응하여 시간 순서로 정렬된 복수의 선택객체벡터(Xt: X1 내지 Xk)를 입력 받으면, 상품특정망(130)이 복수의 스테이지(St: S1 내지 Sk) 각각에서 이전 스테이지(St-1)의 상태값(Ht-1)과 현 스테이지(St)의 입력인 선택객체벡터(Xt)에 대해 가중치가 적용되는 하나 이상의 연산을 수행하여 현 스테이지(St)의 상태값(Ht)을 산출한 후, 산출된 상태값(Ht)을 다음 스테이지(St+1)에 제공한다. 그리고 상품특정망(130)은 연속해서 상태값(Ht)을 산출하고 산출한 상태값(Ht)을 다음 스테이지(St+1)로 전달하는 절차를 반복한다. 이때, 복수의 스테이지 중 마지막 스테이지(Sk)에서 전 스테이지(Sk-1)의 상태값(Hk-1)과 현 스테이지(Sk)의 입력인 선택객체벡터(Xk)에 대해 가중치가 적용되는 하나 이상의 연산을 수행하여 현 스테이지(Sk)의 상태값(Hk)을 산출한 후, 산출된 상태값(Hk)에 대해 가중치가 적용되는 연산을 수행하여 상품벡터(Y)를 도출한다. 상품벡터(Y)는 복수의 선택객체벡터(Xt: X1 내지 Xk)를 통해 사용자가 선택을 의도한 객체에 대응하는 상품을 나타내기 위한 것이며, 이러한 상품벡터(Y)는 기 학습된 하나 이상의 클래스의 객체일 확률로 표현된다. 예컨대, 2개의 클래스가 학습되었다면, 도출된 상품벡터는 Y = [0.058, 0.942]가 될 수 있다.
상품벡터(Y)는 객체처리모듈(300)에 제공되며, 객체처리모듈(300)은 S170 단계에서 상품벡터를 수신하면, 상품벡터(Y)의 클래스 별 확률로부터 상품을 특정 한다. 전술한 바와 같이 상품벡터(Y)는 사용자가 선택을 의도한 객체에 대응하는 상품이 기 학습된 하나 이상의 클래스의 객체일 확률을 나타낸다. 따라서 해당 확률이 가장 높은 클래스의 객체에 대응하는 상품을 사용자가 의도한 상품으로 특정할 수 있다. 예컨대, 상품벡터(Y)는 (C1, C2)=[0.058, 0.942]라면, 제2 클래스(C2)의 객체일 확률이 94%이고, 제1 클래스(C1)의 객체일 확률이 6%로, 제2 클래스(C2)의 객체일 확률이 제1 클래스(C1)의 객체일 확률 보다 높기 때문에 객체처리모듈(300)은 제2 클래스(C2)의 객체를 사용자가 의도한 상품으로 특정 할 수 있다.
다음으로, 객체처리모듈(300)은 S180 단계에서 앞서 특정된 상품에 대응하는 섬네일(thumb-nail: CTL)을 표시하여 해당 상품에 대한 정보를 제공한다. 일 실시예에 따르면, 객체처리모듈(300)은 통신부(11)를 통해 특정된 상품의 식별자를 서비스서버(20)로 전송하여 해당 상품에 대응하는 셈네일(CTL)을 요청할 수 있다. 그러면, 서비스서버(20)는 상품의 식별자를 참조로 해당 상품에 대응하는 셈네일(CTL)을 추출하고, 추출된 셈네일(CTL)을 객체처리모듈(300)로 전송한다. 이로써, 객체처리모듈(300)은 예컨대, 도 4에 도시된 바와 같이, 셈네일(CTL)을 표시할 수 있다. 이러한 셈네일(CTL)은 상품명 및 상품 이미지를 포함하는 상품에 대한 간략한 정보를 포함한다.
또한, 셈네일(CTL)은 구매 혹은 취소 버튼을 포함하며, 객체처리모듈(300)은 S190 단계에서 셈네일(CTL)의 구매 혹은 취소 버튼을 통해 상품의 구매 여부에 대해 질의한다. 사용자는 셈네일(CTL)의 버튼 컨트롤, 즉, 구매 혹은 취소 버튼을 선택하여 이를 결정할 수 있다.
그런 다음, 객체처리모듈(300)은 S200 단계에서 사용자의 구매 버튼 선택 여부를 확인한다. 상기 확인 결과, 사용자가 구매 버튼을 선택한 경우, S210 단계로 진행한다. S210 단계에서 객체처리모듈(300)은 해당 상품을 구매할 수 있는 구매 페이지(SP)를 제공한다. 이러한 구매 페이지(SP)의 예가 도 5에 도시되었다. 셈네일(CTL)의 버튼 컨트롤 중 구매 버튼은 해당 상품의 구매 페이지(SP)의 주소에 대한 링크를 포함한다. 구매 페이지(SP)의 주소는 쇼핑몰서버(30)의 주소 중 일부일 수 있다. 사용자가 구매 버튼을 선택하면, 객체처리모듈(300)은 통신부(11)를 통해 구매 페이지(SP)의 주소에 접속하여 구매 페이지(SP)를 다운로드한 후, 다운로드 된 구매 페이지(SP)를 표시부(13)를 통해 표시한다. 이로써, 사용자는 해당 구매 페이지(SP)의 내용을 열람하고, 원하는 경우, 해당 상품을 구매할 수 있다.
한편, 앞서 설명된 본 발명의 실시예에 따른 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
10: 사용자장치 11: 통신부
12: 입력부 13: 표시부
14: 저장부 15: 제어부
20: 서비스서버 30: 쇼핑몰서버
100: 인공신경망 110: 객체검출망
120: 객체선택망 130: 상품특정망
200: 학습모듈 300: 객체처리모듈

Claims (16)

  1. 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치에 있어서,
    영상 내에서 객체를 선택하기 위한 사용자의 입력에 의한 입력 좌표가 추종하는 객체에 대응하는 상품을 나타내는 상품벡터를 도출하는 인공신경망; 및
    상기 상품벡터에 대응하는 상품의 섬네일을 통해 해당 상품에 대한 정보를 제공하는 객체처리모듈;
    을 포함하며,
    상기 인공신경망은
    영상 내의 하나 이상의 객체에 대해 상기 객체가 차지하는 영역을 나타내는 영역상자의 좌표와 상기 영역상자 내의 객체가 기 학습된 하나 이상의 클래스의 객체일 확률을 나타내는 하나 이상의 객체벡터를 생성하는 객체검출망;
    상기 객체벡터에 상기 입력 좌표를 나타내는 입력벡터를 더하여 하나 이상의 선택객체벡터를 생성하는 객체선택망; 및
    순차로 정렬되어 이전 스테이지의 연산 결과와 선택객체벡터를 입력 받아 가중치가 적용되는 하나 이상의 연산을 통해 출력을 산출하는 복수의 스테이지를 포함하며, 상기 복수의 스테이지 각각에 대응하여 시간 순서에 따라 정렬된 복수의 선택객체벡터가 입력되면, 상기 복수의 선택객체벡터에 대해 각 스테이지에서 순차로 연산을 수행하여 상기 상품벡터를 도출하는 상품특정망;
    을 포함하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 객체선택망은
    상기 객체벡터에 상기 입력벡터를 더하여 상기 선택객체벡터를 생성하는 덧셈기;
    상기 입력벡터의 입력 좌표로부터 입력의도영역을 도출하고, 상기 입력의도영역과 상기 객체벡터의 영역상자가 적어도 일부의 영역이 겹치면 1 벡터의 값을 가지는 선택벡터를 생성하고, 상기 입력의도영역과 상기 객체벡터의 영역상자가 겹치는 영역이 없으면, 0 벡터의 값을 가지는 선택벡터를 생성하는 좌표선택모듈;
    상기 객체선택망의 출력으로 상기 선택객체벡터가 출력될 때마다 리셋된 후, 기 설정된 임계 시간을 카운트하여 카운트된 시간이 임계 시간의 도래하기 전이면 만료벡터로 1 벡터를 출력하고, 카운트된 시간이 만료 시간을 도과하면 만료벡터로 0 벡터를 출력하는 만료타이머; 및
    상기 선택객체벡터, 상기 선택벡터 및 상기 만료벡터에 벡터곱을 수행하여 산출된 벡터값을 출력하는 곱셈기;
    를 포함하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 객체처리모듈은
    상기 섬네일을 통해 상품의 구매 여부에 대해 질의하고, 상기 질의에 대응하여 사용자의 구매 요청이 있으면,
    상기 상품을 구매할 수 있는 구매 페이지를 제공하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 장치.
  6. 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치에 있어서,
    영상 내의 하나 이상의 객체에 대해 상기 객체가 차지하는 영역을 나타내는 영역상자의 좌표와 상기 영역상자 내의 객체가 기 학습된 하나 이상의 클래스의 객체일 확률을 포함하는 나타내는 하나 이상의 객체벡터를 생성하는 객체검출망과,
    상기 영상 내에서 객체를 선택하기 위한 사용자의 입력에 대응하여 상기 객체벡터에 입력 좌표를 나타내는 입력벡터를 더하여 하나 이상의 선택객체벡터를 생성하는 객체선택망과,
    상기 객체선택망으로부터 시간 순서로 정렬된 복수의 선택객체벡터가 입력되면, 상기 복수의 선택객체벡터에 대해 가중치가 적용되는 복수의 연산을 수행하여 상기 객체에 대응하는 상품을 나타내는 상품벡터를 도출하는 상품특정망
    을 포함하는 인공신경망;
    을 포함하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 장치.
  7. 제6항에 있어서,
    상기 상품벡터에 대응하는 상품의 섬네일을 통해 상품의 구매 여부에 대해 질의하고, 상기 질의에 대응하여 사용자의 구매 요청이 있으면,
    상기 상품을 구매할 수 있는 구매 페이지를 제공하는 객체처리모듈;
    을 더 포함하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 장치.
  8. 제6항에 있어서,
    상기 상품특정망은
    순차로 정렬된 복수의 스테이지를 가지며, 시간 순서로 정렬된 복수의 선택객체벡터가 입력되면, 이전 스테이지의 상태값과 현 스테이지의 선택객체벡터에 대해 가중치가 적용되는 하나 이상의 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 제공하며, 마지막 스테이지에서 산출된 상태값에 대해 가중치가 적용되는 연산을 수행하여 상기 상품벡터를 도출하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 장치.
  9. 제6항에 있어서,
    상기 상품특정망은
    시간 순서에 따라 정렬되는 복수의 선택객체벡터를 입력하기 위한 순환입력층;
    상기 복수의 선택객체벡터 각각에 대응하여 가중치가 적용되는 하나 이상의 연산을 수행하여 상기 상품벡터를 산출하는 복수의 은닉셀을 포함하는 순환은닉층; 및
    상기 산출된 상품벡터를 출력하는 순환출력층;
    을 포함하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 장치.
  10. 제6항에 있어서,
    상기 객체선택망은
    상기 객체벡터에 상기 입력벡터를 더하여 상기 선택객체벡터를 생성하는 덧셈기;
    상기 입력벡터의 입력 좌표로부터 입력의도영역을 도출하고, 상기 입력의도영역과 상기 객체벡터의 영역상자가 적어도 일부의 영역이 겹치면 1 벡터의 값을 가지는 선택벡터를 생성하고, 상기 입력의도영역과 상기 객체벡터의 영역상자가 겹치는 영역이 없으면, 0 벡터의 값을 가지는 선택벡터를 생성하는 좌표선택모듈;
    상기 객체선택망의 출력으로 상기 선택객체벡터가 출력될 때마다 리셋된 후, 기 설정된 임계 시간을 카운트하여 카운트된 시간이 임계 시간의 도래하기 전이면 만료벡터로 1 벡터를 출력하고, 카운트된 시간이 만료 시간을 도과하면 만료벡터로 0 벡터를 출력하는 만료타이머; 및
    상기 선택객체벡터, 상기 선택벡터 및 상기 만료벡터에 벡터곱을 수행하여 산출된 벡터값을 출력하는 곱셈기;
    를 포함하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 장치.
  11. 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 방법에 있어서,
    인공신경망이 영상 내에서 사용자의 입력에 의한 입력 좌표를 나타내는 입력 벡터가 입력되면, 입력 좌표가 추종하는 객체에 대응하는 상품을 나타내는 상품벡터를 도출하는 단계; 및
    객체처리모듈이 상기 상품벡터에 대응하는 상품의 섬네일을 통해 해당 상품에 대한 정보를 제공하는 단계;
    를 포함하며,
    상기 상품벡터를 도출하는 단계는
    상기 인공신경망의 객체검출망이 상기 영상 내의 하나 이상의 객체에 대해 상기 객체가 차지하는 영역을 나타내는 영역상자의 좌표와 상기 영역상자 내의 객체가 기 학습된 하나 이상의 클래스의 객체일 확률을 나타내는 하나 이상의 객체벡터를 생성하는 단계;
    상기 인공신경망의 객체선택망이 상기 객체벡터에 상기 입력 좌표를 나타내는 입력벡터를 더하여 하나 이상의 선택객체벡터를 생성하는 단계;
    상기 인공신경망의 상품특정망이 순차로 정렬된 복수의 스테이지 각각에 대응하여 시간 순서로 정렬된 복수의 선택객체벡터를 입력 받는 단계;
    상기 상품특정망이 상기 복수의 스테이지에서 이전 스테이지의 상태값과 현 스테이지의 선택객체벡터에 대해 가중치가 적용되는 하나 이상의 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 제공하는 단계; 및
    상기 상품특정망이 상기 복수의 스테이지 중 마지막 스테이지에서 산출된 상태값에 대해 가중치가 적용되는 연산을 수행하여 상기 상품벡터를 도출하는 단계;
    를 포함하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 방법.
  12. 삭제
  13. 제11항에 있어서,
    상기 하나 이상의 선택객체벡터를 생성하는 단계는
    상기 객체선택망의 덧셈기가 상기 객체벡터에 상기 입력벡터를 더하여 상기 선택객체벡터를 생성하는 단계;
    상기 객체선택망의 좌표선택모듈이 상기 입력벡터의 입력 좌표로부터 입력의도영역을 도출하는 단계;
    상기 좌표선택모듈이 상기 입력의도영역과 상기 객체벡터의 영역상자가 적어도 일부의 영역이 겹치면 1 벡터의 값을 가지는 선택벡터를 생성하고, 상기 입력의도영역과 상기 객체벡터의 영역상자가 겹치는 영역이 없으면, 0 벡터의 값을 가지는 선택벡터를 생성하는 단계;
    상기 객체선택망의 만료타이머가 상기 객체선택망의 출력으로 상기 선택객체벡터가 출력될 때마다 리셋된 후, 기 설정된 임계 시간을 카운트하여 카운트된 시간이 임계 시간의 도래하기 전이면 만료벡터로 1 벡터를 출력하고, 카운트된 시간이 만료 시간을 도과하면 만료벡터로 0 벡터를 출력하는 단계; 및
    상기 객체선택망의 곱셈기가 상기 선택객체벡터, 상기 선택벡터 및 상기 만료벡터에 벡터곱을 수행하여 상기 선택벡터 및 상기 만료벡터 양자 모두 1 벡터이면, 상기 선택객체벡터를 출력하고, 상기 선택벡터 및 상기 만료벡터 중 적어도 하나가 0 벡터이면, 상기 선택객체벡터를 0 벡터로 소거하는 단계;
    를 포함하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 방법.
  14. 삭제
  15. 제11항에 있어서,
    상기 상품에 대한 정보를 제공하는 단계 후,
    상기 객체처리모듈이
    상기 섬네일을 통해 상품의 구매 여부에 대해 질의하고,
    상기 질의에 대응하여 사용자의 요청이 있으면, 상기 상품을 구매할 수 있는 구매 페이지를 제공하는 단계;
    를 더 포함하는 것을 특징으로 하는
    상품 정보를 제공하기 위한 방법.
  16. 제11항, 제13항 및 제15항 중 어느 한 항에 따른 상품 정보를 제공하기 위한 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
KR1020200048358A 2020-04-21 2020-04-21 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치 및 이를 위한 방법 KR102180884B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200048358A KR102180884B1 (ko) 2020-04-21 2020-04-21 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치 및 이를 위한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200048358A KR102180884B1 (ko) 2020-04-21 2020-04-21 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치 및 이를 위한 방법

Publications (1)

Publication Number Publication Date
KR102180884B1 true KR102180884B1 (ko) 2020-11-19

Family

ID=73679072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200048358A KR102180884B1 (ko) 2020-04-21 2020-04-21 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치 및 이를 위한 방법

Country Status (1)

Country Link
KR (1) KR102180884B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113901944A (zh) * 2021-10-25 2022-01-07 大连理工大学 一种基于改进的yolo算法的海洋生物目标检测方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100895293B1 (ko) * 2006-09-29 2009-04-29 한국전자통신연구원 영상 콘텐츠 내 디지털 객체의 정보 연동을 위한 사이버태그, 콘텐츠 재생 장치, 방법 및 시스템
KR20120001285A (ko) 2010-06-29 2012-01-04 에스케이플래닛 주식회사 객체 인식을 통한 상품 분류 검색 및 쇼핑 정보 제공 서비스 방법, 서버 및 시스템
KR20120128511A (ko) * 2011-05-17 2012-11-27 박인준 노출 상품 정보 제공 시스템 및 방법
KR20130082826A (ko) * 2011-12-20 2013-07-22 주식회사 케이티 콘텐츠의 객체 정보 생성 방법 및 시스템
KR101480559B1 (ko) * 2008-07-31 2015-01-08 엘지전자 주식회사 휴대 단말기 및 휴대 단말기 이용한 정보 표시 방법
KR101801846B1 (ko) * 2015-08-26 2017-11-27 옴니어스 주식회사 상품 영상 검색 및 시스템
KR20180066643A (ko) * 2016-12-09 2018-06-19 동서대학교산학협력단 딥러닝 기반 영상 비교를 이용한 상품 검색 시스템 및 방법
KR20190013390A (ko) * 2017-08-01 2019-02-11 삼성전자주식회사 전자 장치 및 이의 검색 결과 제공 방법
KR102086600B1 (ko) * 2019-09-02 2020-03-09 브이에이스 주식회사 상품 구매 정보 제공 장치 및 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100895293B1 (ko) * 2006-09-29 2009-04-29 한국전자통신연구원 영상 콘텐츠 내 디지털 객체의 정보 연동을 위한 사이버태그, 콘텐츠 재생 장치, 방법 및 시스템
KR101480559B1 (ko) * 2008-07-31 2015-01-08 엘지전자 주식회사 휴대 단말기 및 휴대 단말기 이용한 정보 표시 방법
KR20120001285A (ko) 2010-06-29 2012-01-04 에스케이플래닛 주식회사 객체 인식을 통한 상품 분류 검색 및 쇼핑 정보 제공 서비스 방법, 서버 및 시스템
KR20120128511A (ko) * 2011-05-17 2012-11-27 박인준 노출 상품 정보 제공 시스템 및 방법
KR20130082826A (ko) * 2011-12-20 2013-07-22 주식회사 케이티 콘텐츠의 객체 정보 생성 방법 및 시스템
KR101801846B1 (ko) * 2015-08-26 2017-11-27 옴니어스 주식회사 상품 영상 검색 및 시스템
KR20180066643A (ko) * 2016-12-09 2018-06-19 동서대학교산학협력단 딥러닝 기반 영상 비교를 이용한 상품 검색 시스템 및 방법
KR20190013390A (ko) * 2017-08-01 2019-02-11 삼성전자주식회사 전자 장치 및 이의 검색 결과 제공 방법
KR102086600B1 (ko) * 2019-09-02 2020-03-09 브이에이스 주식회사 상품 구매 정보 제공 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113901944A (zh) * 2021-10-25 2022-01-07 大连理工大学 一种基于改进的yolo算法的海洋生物目标检测方法
CN113901944B (zh) * 2021-10-25 2024-04-09 大连理工大学 一种基于改进的yolo算法的海洋生物目标检测方法

Similar Documents

Publication Publication Date Title
US10261685B2 (en) Multi-task machine learning for predicted touch interpretations
US8712931B1 (en) Adaptive input interface
US20240185584A1 (en) Data recognition model construction apparatus and method for constructing data recognition model thereof, and data recognition apparatus and method for recognizing data thereof
US20190369742A1 (en) System and method for simulating an interactive immersive reality on an electronic device
WO2017022834A1 (ja) 操作履歴に基づいてタッチ対象を予測するプログラム、電子装置、システム及び制御方法
US20140248950A1 (en) System and method of interaction for mobile devices
CN113393489A (zh) 基于视觉的关节动作和姿态运动预测的系统、方法和介质
US10620713B1 (en) Methods and systems for touchless control with a mobile device
US20220253478A1 (en) Machine Learning for Digital Image Selection Across Object Variations
US11721333B2 (en) Electronic apparatus and control method thereof
EP2745236A1 (en) Computer-vision based augmented reality system
KR20190072066A (ko) 영상 통화 서비스를 제공하는 단말과 서버
US11188145B2 (en) Gesture control systems
US20150039477A1 (en) Inventory Control System
US11301128B2 (en) Intended input to a user interface from detected gesture positions
US20210263963A1 (en) Electronic device and control method therefor
KR102180884B1 (ko) 영상 콘텐츠에서 객체 인식 기반의 상품 정보를 제공하기 위한 장치 및 이를 위한 방법
KR102586170B1 (ko) 전자 장치 및 이의 검색 결과 제공 방법
EP4281901A1 (en) Action recognition using pose data and machine learning
US20210110454A1 (en) Method for providing shopping information for individual products and electronic device performing same
KR102406634B1 (ko) 미래 상호작용 예측 기반의 개인화 추천 방법 및 시스템
US11935085B1 (en) Electronic shopping cart prediction and caching of electronic shopping cart computations
WO2021220757A1 (ja) 情報処理装置、情報処理方法、およびプログラム
KR102438132B1 (ko) 전자 장치 및 그의 제어 방법
CA2931209C (en) Method and system for providing gesture recognition services to user applications

Legal Events

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