KR20140103036A - Object tracking device - Google Patents

Object tracking device Download PDF

Info

Publication number
KR20140103036A
KR20140103036A KR1020140002702A KR20140002702A KR20140103036A KR 20140103036 A KR20140103036 A KR 20140103036A KR 1020140002702 A KR1020140002702 A KR 1020140002702A KR 20140002702 A KR20140002702 A KR 20140002702A KR 20140103036 A KR20140103036 A KR 20140103036A
Authority
KR
South Korea
Prior art keywords
data
barcode
patches
captured image
original
Prior art date
Application number
KR1020140002702A
Other languages
Korean (ko)
Inventor
앤턴 배드무비치 미하일렌코
페럴 이바노비치 주바치
조익환
조규성
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US14/178,657 priority Critical patent/US9195872B2/en
Publication of KR20140103036A publication Critical patent/KR20140103036A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • 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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

The present invention relates to an electronic device and, more specifically, to an electronic device including a function for tracking an object and an operating method thereof. The object tracking method according to the present invention may comprise a step of separating a barcode from a captured image as an object; a step of extracting data from the barcode; a step of generating an original of the barcode using the data; and a step of acquiring feature points from the original; and a step of tracking the barcode using the feature points.

Description

객체 추적이 가능한 전자 장치{OBJECT TRACKING DEVICE}[0001] OBJECT TRACKING DEVICE [0002]

본 개시는 전자 장치에 관한 것으로 더 상세하게는 객체를 추적할 수 있는 기능을 포함하는 전자 장치 및 이를 동작하는 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present disclosure relates to electronic devices, and more particularly to an electronic device including a function of tracking an object and a method of operating the same.

객체 추적은 컴퓨터에서 인식된 객체(예, 이미지, 문자, 바코드 등)를 추적하는 것이다. 전자장치들은 이와 같이 객체를 추적하는 기술을 포함할 수 있다. 특히, 최근의 전자 장치들은 정방형의 바코드를 인식하여 추적할 수 있다. 예를 들어, 스마트폰, 태블릿 PC 등과 같은 휴대 단말들에 큐알(Quick Response; QR) 코드를 추적하는 기술이 적용되고 있다. 또한, 바코드 추적 기술은 다양한 종류의 전자장치 (electronic devices) 또는 가전기기 (appliances) 등에도 적용되고 있다.Object tracking is the tracking of objects (eg, images, text, barcodes, etc.) that are recognized by the computer. Electronic devices may thus include techniques for tracking objects. In particular, recent electronic devices can recognize and track square bar codes. For example, technologies for tracking Quick Response (QR) codes have been applied to mobile terminals such as smart phones and tablet PCs. In addition, the bar code tracking technology has been applied to various kinds of electronic devices or appliances.

종래 바코드 추적 기술은 바코드를 이미지로 취급한다. 즉 종래 바코드 추적 기술은 카메라에 의해 캡처된 이미지에서 바코드(캡처된 이미지의 일부)를 검출하고, 검출된 바코드의 정보(예, 디스크립터(descriptor))를 이용하여 바코드의 위치를 획득할 수 있다. 그런데 이러한 검출 기반 추적은, 바코드의 검출 및 디코딩이 카메라의 모션(motion)에 민감하고 강건(robust)하지 않기 때문에, 품질(quality) 및 성능(performance)면에서 비효율적일 수 있다. 또한 캡처된 이미지에서 바코드는, 장애물(obstruction), 빛나는 인공물(lighting artifacts), 움직이는 흐릿한 형체(motion blur) 등으로 인해, 그 인식이 어려울 수 있다. 그렇다고 한다면, 캡처된 이미지는 추적의 품질에 부정적인 영향을 줄 수 있다.Conventional bar code tracking technology treats bar codes as images. That is, the conventional bar code tracking technology can detect the bar code (a part of the captured image) in the image captured by the camera and obtain the position of the bar code using information of the detected bar code (e.g., descriptor). However, such detection based tracking may be inefficient in terms of quality and performance, since the detection and decoding of the bar code is sensitive and motionless to the motion of the camera. Barcodes in captured images can also be difficult to recognize due to obstructions, lighting artifacts, moving blur, and the like. If so, the captured image can have a negative impact on the quality of the trace.

본 개시의 실시예들 중 적어도 일부는, 다른 용도 외에도 전술한 사항을 해결할 수 있는 방법을 제시할 수 있다. 본 개시에 따른 방법 및 장치는 다양한 장애 요소(예, 카메라의 모션, 흐릿한 형체 등)에 강건하고(robust) 높은 품질로 바코드의 위치를 실시간 획득하는 기술을 제공할 수 있다. 여기서 '강건하다'는, 바코드 추적 기술에 있어서, 장애 요소로부터 악영향을 덜 받는다는 것을 의미할 수 있다. 또한 본 개시에 따른 방법 및 장치는 실시간 이미지 프로세싱(real-time image processing) 및 컴퓨터 비전(computer vision) 분야에서 사용될 수 있다.At least some of the embodiments of the present disclosure may suggest ways in which, besides other uses, the foregoing can be addressed. The method and apparatus according to the present disclosure can provide a technique for robustly acquiring the position of a barcode with high quality robustness to various obstacles (e.g., camera motion, fuzzy shape, etc.). Here, 'robust' can mean that the bar code tracking technology is less adversely affected from the obstacle. Also, the method and apparatus according to the present disclosure may be used in real-time image processing and computer vision applications.

본 개시에 따른 전자 장치를 동작하는 방법은 복수의 디지털 이미지 상에서, 인식된 객체(object)를 추적(tracking)하는 동작을 포함하며, 상기 추적하는 동작은, 상기 이미지들 중 적어도 하나로부터 인식된 객체를 적어도 일부 이용하여, 참조(reference) 객체를 생성하는 동작; 및 상기 생성된 참조 객체를 이용하여, 상기 객체를 추적하는 동작을 포함할 수 있다.A method of operating an electronic device in accordance with the present disclosure includes tracking an identified object on a plurality of digital images, wherein the tracing operation is performed on an object recognized from at least one of the images Using at least some of the data to create a reference object; And tracking the object using the generated reference object.

본 개시에 따른 전자 장치를 동작하는 방법은 캡처된 이미지에서 바코드를 객체 구분하는 단계; 상기 바코드에서 데이터를 추출하는 단계; 상기 데이터를 이용하여 상기 바코드의 오리지널을 생성하는 단계; 상기 오리지널에서 특징 점들을 획득하는 단계; 및 상기 특징 점들을 이용하여 상기 바코드를 추적하는 단계를 포함할 수 있다.A method of operating an electronic device in accordance with the present disclosure includes: segmenting a bar code in a captured image; Extracting data from the barcode; Generating an original of the barcode using the data; Obtaining characteristic points from the original; And tracking the barcode using the feature points.

본 개시에 따른 전자 장치를 동작하는 방법은 캡처된 이미지를 수신하는 단계; 캡처된 이미지에서 바코드를 객체 구분하는 단계; 상기 바코드에서 데이터를 추출하는 단계; 및 상기 바코드의 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하는 단계를 포함할 수 있다.A method of operating an electronic device according to the present disclosure includes receiving a captured image; Dividing the barcode into objects in the captured image; Extracting data from the barcode; And displaying the data, a portion of the data, or information related to the data on the barcode.

본 개시에 따른 전자 장치는 복수의 디지털 이미지들을 저장하도록 구성된 메모리; 및 프로세서를 포함하며, 상기 프로세서는, 상기 복수의 디지털 이미지 상에서, 인식된 객체(object)를 추적(tracking)하도록 구성되고, 상기 추적을 위하여, 상기 이미지들 중 적어도 하나로부터 인식된 객체를 적어도 일부 이용하여, 참조(reference) 객체를 생성하고, 상기 생성된 참조 객체를 이용하여, 상기 객체를 추적하도록 구성될 수 있다.An electronic device according to the present disclosure includes a memory configured to store a plurality of digital images; And a processor configured to track a recognized object on the plurality of digital images and to track the object recognized from at least one of the images to at least a portion To generate a reference object, and to use the generated reference object to track the object.

본 개시에 따른 전자 장치는 이미지를 캡처하는 카메라; 상기 캡처된 이미지를 표시하는 표시부; 및 상기 캡처된 이미지에서 바코드를 검출하여 추적하는 제어부를 포함하고, 상기 제어부는, 상기 캡처된 이미지에서 바코드를 객체 구분하고, 상기 바코드에서 데이터를 추출하고, 상기 데이터를 이용하여 상기 바코드의 오리지널을 생성하고, 상기 오리지널에서 특징 점들을 획득하고, 상기 특징 점들을 이용하여 상기 바코드를 추적할 수 있다.An electronic device according to the present disclosure includes a camera for capturing an image; A display unit for displaying the captured image; And a control unit for detecting and tracking a barcode in the captured image, wherein the controller identifies an object of the barcode in the captured image, extracts data from the barcode, and extracts the original of the barcode using the data, Obtain feature points from the original, and track the barcodes using the feature points.

본 개시에 따른 전자 장치는 이미지를 캡처하는 카메라; 상기 캡처된 이미지를 표시하는 표시부; 및 상기 캡처된 이미지에서 바코드를 검출하여 추적하는 제어부를 포함하고, 상기 제어부는, 상기 캡처된 이미지에서 바코드를 객체 구분하고, 상기 바코드에서 데이터를 추출하고, 상기 바코드의 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하도록 제어할 수 있다.An electronic device according to the present disclosure includes a camera for capturing an image; A display unit for displaying the captured image; And a controller for detecting and tracking a barcode in the captured image, wherein the controller is configured to classify the barcode in the captured image, extract data from the barcode, and store the data and the data on the barcode And to display information related to a part or the data.

이상으로 본 개시에 따른 객체 추적 방법 및 전자 장치에 따르면, 본 개시는 다양한 장애 요소(예, 카메라의 모션, 흐릿한 형체 등)에 강건하고(robust) 높은 품질로 바코드의 위치를 실시간 획득하는 기술을 제공할 수 있다.As described above, according to the object tracking method and the electronic apparatus according to the present disclosure, the present disclosure provides a technology for robustly and robustly obtaining the position of a barcode in various obstacles (e.g., camera motion, fuzzy shape, etc.) .

도 1은 본 개시의 일 실시예에 따른 객체 처리 시스템을 도시한 블록 다이어그램이다.
도 2는 본 개시의 일 실시예에 따라 도 1의 메인 유닛의 블록 다이어그램이다.
도 3은 본 개시의 객체 추적 기능이 적용되는 단말기의 구성을 나타낸 도면이다.
도 4는 본 개시의 객체 추적 기능이 적용되는 플랫폼의 일례를 나타낸 도면이다.
도 5는 본 개시의 일 실시예에 따른 바코드 추적 방법의 전체적인 흐름도이다.
도 6은 QR 코드의 오리지널 이미지를 나타낸 도면이다.
도 7은 확대된(upscaled) 오리지널 이미지를 나타낸 도면이다.
도 8a는 화면에 프리뷰(preview) 중인 바코드를 나타낸 도면이고, 도 8b는 바코드의 위에 표시된 '관련 데이터'를 나타낸 도면이다.
도 9는 본 개시의 일 실시예에 따른 특징 점을 이용한 바코드 추적 방법을 설명하기 위한 흐름도이다.
도 10은 패치를 나선 궤적을 따라 이동시켜 캡처 이미지에서 대응되는 패치를 찾는 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 바코드 관련 데이터 표시 방법을 설명하기 위한 흐름도이다.
도 12는 QR코드의 파인더 패턴들을 나타낸 도면이다.
Figure 1 is a block diagram illustrating an object processing system in accordance with one embodiment of the present disclosure.
Figure 2 is a block diagram of the main unit of Figure 1 in accordance with one embodiment of the present disclosure.
3 is a diagram illustrating a configuration of a terminal to which the object tracking function of the present disclosure is applied.
4 is a diagram showing an example of a platform to which the object tracking function of the present disclosure is applied.
5 is a general flow diagram of a barcode tracking method in accordance with an embodiment of the present disclosure.
6 is a diagram showing an original image of a QR code.
7 is a diagram showing an original image that is upscaled.
FIG. 8A is a diagram showing a barcode being previewed on the screen, and FIG. 8B is a diagram showing 'related data' displayed on the barcode.
FIG. 9 is a flowchart illustrating a barcode tracking method using characteristic points according to an embodiment of the present disclosure.
FIG. 10 is a diagram for explaining a process of moving a patch along a spiral path to find a corresponding patch in a captured image.
11 is a flowchart illustrating a barcode-related data display method according to an embodiment of the present invention.
12 is a diagram showing finder patterns of a QR code.

본 개시에서 전자 장치는 카메라를 구비한 장치로써, 예컨대, 스마트폰, 태블릿 PC, 노트북 PC, 디지털 카메라, 컴퓨터 모니터, PDA(Personal Digital Assistant), 전자수첩, 데스크탑 PC, PMP(Portable Multimedia Player), 미디어 플레이어(Media Player)(예컨대, MP3 플레이어), 음향기기, 손목시계, 게임용 단말기, 터치스크린을 가지는 가전기기(예, 냉장고, TV, 세탁기) 등을 포함할 수 있다. In the present disclosure, the electronic device is a device having a camera, for example, a smart phone, a tablet PC, a notebook PC, a digital camera, a computer monitor, a PDA (Personal Digital Assistant), an electronic notebook, a desktop PC, A home appliance (e.g., a refrigerator, a TV, a washing machine) having a touch screen, a media player (e.g., an MP3 player), a sound device, a wrist watch,

이하에서 본 개시에 따른 바코드 검출 방법 및 전자 장치에 대해 상세히 설명한다. 이하에서 사용되는 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 개시의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다. 따라서 아래 설명과 첨부된 도면은 본 개시의 바람직한 실시예에 불과할 뿐이고, 본 개시의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있다. 또한, 첨부 도면에서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 따라서 본 개시는 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다. 본 개시와 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략된다.Hereinafter, a bar code detecting method and an electronic apparatus according to the present disclosure will be described in detail. It is to be understood that the words or words used herein are not to be construed in a limiting sense, and should be construed in light and descriptive sense consistent with the technical idea of the present disclosure. Therefore, the following description and accompanying drawings are merely exemplary of the present disclosure, and are not intended to represent all of the technical ideas of the present disclosure, so that various equivalents and modifications may be made thereto at the time of the present application have. Also, in the accompanying drawings, some of the elements are exaggerated, omitted or schematically shown, and the size of each element does not entirely reflect the actual size. Accordingly, the present disclosure is not limited by the relative size or spacing depicted in the accompanying drawings. A detailed description of known functions or configurations incorporated herein will be omitted when it may obscure the subject matter of the present disclosure.

도 1은 본 개시의 일 실시예에 따른 객체 처리 시스템을 도시한 블록 다이어그램이다.Figure 1 is a block diagram illustrating an object processing system in accordance with one embodiment of the present disclosure.

도 1을 참조하면, 객체 처리 시스템(100)은 클라이언트(110), 서버(120) 및 통신망을 포함할 수 있다. Referring to FIG. 1, an object processing system 100 may include a client 110, a server 120, and a communication network.

이와 같은 구성을 포함하는 본 개시의 객체 처리 시스템(100)은 앞서 설명한 객체 추적 기능을 지원하는 클라이언트(110)에 장착하고, 이를 기반으로 객체 추적 기능을 지원한다. 이때 본 개시의 객체 처리 시스템(100)은 클라이언트(110)의 통신 유닛을 이용하여 통신망을 통해 서버(120)와 클라이언트(110) 간의 통신 채널을 형성하도록 지원할 수 있다. 이에 따라 객체 추적 기능을 지원하는 과정에서 요구되는 다양한 정보는 서버(120)를 통해 클라이언트(110)로 제공될 수 있다. 또는 본 개시에서 클라이언트(110)는 서버(120)에 저장된 데이터들을 서버(120)로부터 수신하여 저장하고, 저장된 데이터들을 기반으로 객체 추적 기능을 지원할 수 있다.The object processing system 100 of the present disclosure including the above-described configuration mounts the client 110 supporting the object tracking function described above, and supports the object tracking function based thereon. At this time, the object processing system 100 of the present disclosure can support the formation of a communication channel between the server 120 and the client 110 through the communication network using the communication unit of the client 110. [ Accordingly, various information required in the process of supporting the object tracking function can be provided to the client 110 through the server 120. Alternatively, the client 110 in the present disclosure may receive and store data stored in the server 120 from the server 120, and support an object tracking function based on the stored data.

객체 처리 시스템(100)에서 클라이언트(110)는 상술한 전자 장치들 중에 어느 하나로 구현될 수 있고, 통신망을 통하여 서버(120)에 접속을 수행한다. 그리고 클라이언트(110)는 획득된 이미지 정보를 서버(120)에 제공할 수 있다. 특히 클라이언트(110)는 획득된 이미지 정보를 실시간으로 서버(120)에 제공할 수 있다. 그러면 서버(120)는 수신된 이미지 정보들을 기반으로 객체 추적을 위한 위상 상관 연산을 수행하고 그 결과 값을 클라이언트(110)에 제공할 수 있다. 클라이언트(110)는 서버(120)가 제공한 값들을 기반으로 이미지 정보에서의 객체 추적에 대한 연산을 생략하고 보다 용이한 객체 추적을 위한 데이터 처리를 지원할 수 있다. 한편 클라이언트(110)는 서버(120)가 제공하는 원격 참조 객체 및 컨텐츠 데이터를 수신할 수 있다. 그리고 클라이언트(110)는 원격 참조 객체를 이용하여 이미지 정보의 인식 및 객체 구분(localization)를 진행할 수 있다. 또한 클라이언트(110)는 컨텐츠 데이터를 증강 현실(Augmented Reality; AR) 서비스에 적용하도록 제어할 수 있다. In the object processing system 100, the client 110 may be implemented as any one of the above-described electronic devices and performs connection to the server 120 through a communication network. The client 110 may then provide the obtained image information to the server 120. In particular, the client 110 can provide the acquired image information to the server 120 in real time. The server 120 may then perform phase correlation for object tracking based on the received image information and provide the result to the client 110. The client 110 may omit operation for object tracking in the image information based on the values provided by the server 120 and support data processing for easier object tracking. Meanwhile, the client 110 may receive the remote reference object and the content data provided by the server 120. Then, the client 110 can recognize the image information and localize the object using the remote reference object. Also, the client 110 may control the content data to be applied to an Augmented Reality (AR) service.

한편, 클라이언트(110)의 프로세서는 디지털 이미지들 중 적어도 하나로부터 객체(object)를 인식할 수 있고, 인식된 객체를 적어도 일부 이용하여 참조 객체를 생성할 수 있고, 생성된 참조 객체를 이용하여 상기 인식된 객체를 추적(tracking)할 수 있다. 또한 프로세서는 참조 객체를 생성할 때, 상기 인식된 객체에 포함된 에러(error)를 수정할 수 있다. 프로세서는 에러(error)가 수정된 상기 인식된 객체가 올바로 수정되었는지 여부를 결정할 수 있다. 객체가 바코드를 포함할 경우, 프로세서는 바코드로부터 데이터를 추출할 수 있고, 추출된 데이터에 포함된 에러를 수정할 수 있고, 에러 수정된 데이터를 디코딩할 수 있다. 또한, 객체가 바코드를 포함할 경우, 프로세서는 인식된 객체를 적어도 일부 이용하여 참조 바코드를 생성할 수 있고, 생성된 참조 바코드로부터 특징점들을 획득할 수 있고, 특징점들을 이용하여 상기 객체를 추적할 수 있다.Meanwhile, the processor of the client 110 can recognize an object from at least one of the digital images, can generate a reference object using at least a part of the recognized object, You can track the recognized object. The processor may also modify an error contained in the recognized object when creating the reference object. The processor may determine whether the recognized object to which the error has been corrected has been modified correctly. If the object includes a bar code, the processor can extract data from the bar code, correct the errors contained in the extracted data, and decode the error corrected data. In addition, when the object includes a bar code, the processor can generate a reference bar code using at least a portion of the recognized object, obtain feature points from the generated reference bar code, track the object using the feature points have.

객체 처리 시스템(100)에서 클라이언트(110)는 상술한 전자 장치에 적용되고, 메인 유닛이 될 수 있는 객체 처리 유닛(111)을 포함할 수 있다. 객체 처리 유닛(111)은 다수의 입력 유닛들 예컨대, 카메라, 미디어 유닛, 오디오 유닛 및 센서 유닛으로부터 각각 카메라 입력 데이터, 미디어 입력 데이터, 오디오 입력 데이터 및 센서 입력 데이터를 수신할 수 있다. 센서 입력 데이터는 예컨대, 가속도계, 자이로스코프, 마그네틱 센서, 온도 센서, 중력 센서 등 중에서 적어도 하나의 입력 데이터를 포함할 수 있다. 객체 처리 유닛(111)은 입력 데이터에 대한 필요한 프로세싱을 위해, 메모리(112), CPU(Central Processing Unit)(113) 및 GPU(Graphic Processing Unit)(114)를 사용할 수 있다. 객체 처리 유닛(111)은 또한, 타겟(target)(예컨대, QR코드)을 식별(identifying)하고 인식(recognizing; 예컨대, 객체들(objects) 중에서 타겟(예, QR 코드)을 검출하기 위하여 레퍼런스(reference) 데이터베이스(Database; DB)를 사용할 수 있다. 이러한 레퍼런스 DB는 클라이언트(110)에 구비된 로컬 레퍼런스 DB(115)와 서버(120)에 구비된 리모트 레퍼런스 DB(121)를 포함할 수 있다. 객체 처리 유닛(111)에서 출력되는 출력 데이터는 예컨대, 식별 정보(identification information) 및 객체 구분 정보(localization information)를 포함할 수 있다. 위치 측정 정보는 타겟의 2차원적인 자세(2 dimensional(2D) pose) 및/또는 3차원적인 자세(3 dimensional pose)를 결정하기 위해 사용될 수 있다. 식별 정보는 오브젝트가 무엇인지 결정하기 위해 활용될 수 있다. AR 콘텐츠 관리 유닛(116)은 객체 처리 유닛(111)의 출력 데이터 및 리모트/로컬 콘텐츠 DB(122, 117)에 저장된 콘텐츠를 가지고 최종 비디오/오디오 출력 데이터를 조직화하기(organize) 위해 사용될 수 있다.In the object processing system 100, the client 110 may include an object processing unit 111 that is applied to the above-described electronic apparatus and can be a main unit. The object processing unit 111 can receive camera input data, media input data, audio input data, and sensor input data from a plurality of input units such as a camera, a media unit, an audio unit, and a sensor unit, respectively. The sensor input data may include at least one input data from among, for example, an accelerometer, a gyroscope, a magnetic sensor, a temperature sensor, a gravity sensor, and the like. The object processing unit 111 may use a memory 112, a CPU (Central Processing Unit) 113 and a GPU (Graphic Processing Unit) 114 for necessary processing of the input data. The object processing unit 111 may also identify and recognize a target (e.g., a QR code) (e.g., a reference (e.g., a QR code) to detect a target a reference database may be used as the reference DB 115. The reference DB may include a local reference DB 115 provided in the client 110 and a remote reference DB 121 provided in the server 120. [ The output data output from the object processing unit 111 may include, for example, identification information and localization information. The position measurement information may include two-dimensional (2D) The AR content management unit 116 includes an object processing unit 111 (hereinafter, referred to as " object processing unit 111 "), ) Output And organize the final video / audio output data with the content stored in the data and remote / local content DB 122,117.

객체 처리 시스템(100)에서 서버(120)는 클라이언트(110)의 접속을 지원한다. 그리고 서버(120)는 클라이언트(110)의 요청에 따라 객체 추적 기능 및 증강 현실 서비스 기능을 지원한다. 이를 위하여 서버(120)는 객체 추적 기능 지원을 위한 원격 참조 DB(121)를 저장할 수 있다. 또한 서버(120)는 증강 현실 서비스 기능 지원을 위해 증강 현실에 적용할 원격 컨텐츠 DB(122)를 저장할 수 있다. 서버(120)는 클라이언트(110)의 요청에 따라 특정 이미지 정보의 인식 과정, 객체 구분(localization) 과정, 객체 추적 과정 중 적어도 하나의 연산을 수행할 수 있다. 그리고 서버(120)는 각 과정에서의 수행 결과를 클라이언트(110)의 요청에 따라, 클라이언트(110)에게 제공할 수 있다.In the object processing system 100, the server 120 supports connection of the client 110. The server 120 supports the object tracking function and the augmented reality service function at the request of the client 110. For this purpose, the server 120 may store a remote reference DB 121 for supporting the object tracking function. Also, the server 120 may store the remote content DB 122 to be applied to the augmented reality to support the augmented reality service function. The server 120 may perform at least one of a recognition process of a specific image information, a localization process, and an object tracking process according to a request of the client 110. The server 120 may provide the client 110 with a result of performing the process in response to a request from the client 110.

객체 처리 시스템(100)에서 통신망은 클라이언트(110)와 서버(120) 사이에 배치될 수 있다. 그리고 통신망은 두 구성 간의 통신 채널을 형성할 수 있다. 통신망은 클라이언트(110)가 이동 통신 기능을 지원하는 경우 이동통신 네트워크 장치들로 구성될 수 있다. 또한 통신망은 서버(120)가 인터넷 네트워크를 통하여 통신 장치를 연결하는 경우 해당 인터넷 네트워크를 지원하는 장치들로 구성될 수 있다. 그리고 통신망은 이종망 간의 데이터 전달을 위한 네트워크를 장치를 더 포함할 수 있다. 따라서 본 개시의 통신망은 특정 통신 방식이나 통신 유닛 등으로 한정되는 것이 아니라, 클라이언트(110)와 서버(120) 간에 데이터 송수신을 수행할 수 있는 다양한 장치 및 방법이 적용된 장치로 이해되어야 할 것이다.In the object processing system 100, a communication network may be disposed between the client 110 and the server 120. [ And the communication network can form a communication channel between the two configurations. The communication network may be composed of mobile communication network devices when the client 110 supports the mobile communication function. In addition, the communication network may be composed of devices supporting the Internet network when the server 120 connects the communication device through the Internet network. The communication network may further include a network device for transferring data between the heterogeneous networks. Accordingly, the communication network of the present disclosure is not limited to a specific communication method, a communication unit, and the like, but should be understood as an apparatus to which various apparatuses and methods capable of transmitting and receiving data between the client 110 and the server 120 are applied.

도 2는 본 개시의 일 실시예에 따라 도 1의 메인 유닛의 블록 다이어그램이다.Figure 2 is a block diagram of the main unit of Figure 1 in accordance with one embodiment of the present disclosure.

도 2를 참조하면, 객체 처리 유닛(111)은 적어도 하나의 프로세서(예, 어플리케이션 프로세서)로 구현되며, 어플리케이션 프로세서는 입력 제어 유닛(210), 인식 유닛(220), 객체 구분(localization) 유닛(230) 및 추적 유닛(240)을 포함할 수 있다.2, the object processing unit 111 is implemented with at least one processor (e.g., an application processor), and the application processor includes an input control unit 210, a recognition unit 220, a localization unit 230 and a tracking unit 240.

입력 제어 유닛(210)은 메인 유닛(111)에 제공되는 입력 데이터를 분류할 수 있다. 그리고 입력 제어 유닛(210)은 현재 메인 유닛(111)의 기능 수행 상태에 따라 입력 데이터의 전달 루트를 결정할 수 있다. 예컨대 입력 제어 유닛(210)은 초기 이미지 정보가 획득되면 해당 이미지 정보를 인식 유닛(220)에 제공할 수 있다. 이미지 정보는 메인 유닛(111)과 연결된 카메라 또는 메인 유닛(111)을 포함한 단말기에 배치된 카메라로부터 획득될 수 있다.The input control unit 210 can classify the input data provided to the main unit 111. [ The input control unit 210 can determine the transfer route of the input data according to the function execution state of the main unit 111 at present. For example, the input control unit 210 may provide the image information to the recognition unit 220 when the initial image information is acquired. The image information may be obtained from a camera connected to the main unit 111 or a camera disposed in the terminal including the main unit 111.

입력 제어 유닛(210)은 인식 유닛(220)에 의한 이미지 인식 과정 및 객체 구분 유닛(230)에 의하여 객체 구분(localization) 과정이 완료되면 이미지 정보를 직접 추적 유닛(240)에 전달할 수 있다. 또는 입력 제어 유닛(210)은 이미지 정보를 인식 유닛(220) 및 추적 유닛(240)에 동시에 전달할 수 있다. 이에 따라 이미지 정보에 대한 인식 처리 및 객체 추적 처리가 병렬적으로 수행될 수도 있다.The input control unit 210 may transmit the image information directly to the tracking unit 240 when the image recognition process by the recognition unit 220 and the object classification unit 230 are completed. Or the input control unit 210 may simultaneously transmit the image information to the recognition unit 220 and the tracking unit 240. [ Accordingly, recognition processing and object tracking processing on image information may be performed in parallel.

입력 제어 유닛(210)은 추적 유닛(240)에 의한 객체 추적 기능 수행 중인 경우 이미지 정보를 인식 유닛(220)에 제공하지 않도록 제어할 수 있다. 그리고 입력 제어 유닛(210)은 객체 추적에 실패한 경우 이미지 정보를 인식 유닛(220)에 다시 제공하도록 지원할 수 있다. 또한 입력 제어 유닛(210)은 AR 컨텐츠가 추적 중인 객체들에 적용되는 경우 다른 입력 정보들 예컨대 오디오 정보나 센서 정보 등을 추적 유닛(240)에 제공할 수 있다. The input control unit 210 can control not to provide the image information to the recognition unit 220 when performing the object tracking function by the tracking unit 240. [ And the input control unit 210 can assist in providing the image information to the recognition unit 220 again if the object tracking fails. The input control unit 210 may also provide other input information, such as audio information or sensor information, to the tracking unit 240 when the AR content is applied to the objects being tracked.

인식 유닛(220)은 입력 제어 유닛(210)로부터 이미지 정보를 수신하면 이에 대한 인식 과정을 수행할 수 있다. 즉 인식 유닛(220)은 수신된 이미지 정보에서 특징 검출(221), 디스크립터 계산(Descriptors calculation)(222), 이미지 쿼리(image query) 과정(223)을 수행할 수 있다. When the recognition unit 220 receives the image information from the input control unit 210, it can perform the recognition process. That is, the recognition unit 220 may perform the feature detection 221, the descriptors calculation 222, and the image query process 223 on the received image information.

특징 검출(221)은 이미지에서 특징 점들을 검출하는 과정이 될 수 있다. 특징 검출(221)은 이진화 과정을 포함할 수 있다. 즉 이진화 과정에 수행되면 컬러 이미지가 흑백 이미지로 변환된다. 또한, 본 개시에 따른 특징 검출(221)은 바코드 검출 과정을 포함할 수 있다.The feature detection 221 may be a process of detecting feature points in an image. Feature detection 221 may include a binarization process. That is, when the binarization process is performed, the color image is converted into a monochrome image. In addition, the feature detection 221 according to the present disclosure may include a barcode detection process.

디스크립터는 검출된 특징 정보를 기반으로 산출된 해당 이미지의 고유 특성을 정의한 정보가 될 수 있다. 이러한 디스크립터는 이미지 정보에서 일정 부분별로 특징 점들의 위치나 특징 점들 간의 배치 형태, 특징 점들의 고유 특성 중 적어도 하나에 의하여 정의될 수 있다. 즉 디스크립터는 이미지 정보의 일정 지점의 고유 특성을 간략화한 값이 될 수 있다. 따라서 하나의 이미지 정보에서 적어도 하나의 디스크립터가 추출될 수 있다. The descriptor may be information defining the characteristic of the corresponding image calculated based on the detected feature information. The descriptor may be defined by at least one of the location of the characteristic points, the arrangement pattern between the characteristic points, and the characteristic characteristics of the characteristic points in a predetermined part of the image information. That is, the descriptor may be a value obtained by simplifying the characteristic of a certain point of the image information. Therefore, at least one descriptor may be extracted from one piece of image information.

디스크립터 계산(222)이 완료되면, 인식 유닛(220)은 이미지 쿼리 과정(223)을 통하여 참조 객체와 비교를 수행한다. 즉 인식 유닛(220)은 계산된 디스크립터들과 동일한 디스크립터 또는 일정 오차 범위 이내에 있는 디스크립터들을 가지는 참조 객체가 있는지 확인한다. 참조 객체는 메인 유닛(111)의 운용을 위해 마련된 내부 메모리로부터 제공될 수 있다. 또한 참조 객체는 메인 유닛(111)의 운용을 위해 외부 저장 장치 예컨대, 별도 서버 등으로부터 제공될 수도 있다. 참조 객체는 특정 이미지에 대하여 사전에 저장된 이미지 정보가 될 수 있다. 예컨대, 얼굴 인식 과정은 인증된 얼굴들의 인식을 위해 외부 참조 얼굴 데이터베이스가 요구되고 서로 다른 얼굴의 차이를 확인하는 과정이 포함될 수 있다. 한편 QR 코드는 보통의 경우 다이내믹하게 업데이트될 필요가 없다. 또한 QR 코드는 데이터베이스에서 QR 코드를 인식하기 위해 단지 특정 룰(rule)들이 요구된다. 따라서, QR 코드는 일반적으로 내부 참조 객체를 가질 수 있다. 인식 유닛(220)은 참조 객체의 활용을 통하여 이미지 인식 과정에 대한 연산을 간소화할 수 있다. 그리고 인식 유닛(220)은 참조 객체를 활용하여 타겟 객체 식별을 수행할 수 있다.When the descriptor calculation 222 is completed, the recognition unit 220 performs a comparison with the reference object through an image query process 223. That is, the recognition unit 220 determines whether there is a reference object having the same descriptor as the calculated descriptors or descriptors within a certain error range. The reference object may be provided from an internal memory provided for operation of the main unit 111. [ The reference object may also be provided from an external storage device such as a separate server for the operation of the main unit 111. [ The reference object may be previously stored image information for a specific image. For example, the face recognition process may include a process of recognizing authenticated faces and requesting an external reference face database and identifying differences between the faces. On the other hand, QR codes do not usually need to be updated dynamically. In addition, QR codes require only certain rules to recognize QR codes in the database. Thus, a QR code can generally have an internal reference object. The recognition unit 220 can simplify the operation for the image recognition process through utilization of the reference object. And the recognition unit 220 may utilize the reference object to perform the target object identification.

객체 구분 유닛(230)은 이미지 정보를 구성하는 다양한 객체들을 구분하는 구성이다. 이러한 객체 구분 유닛(230)은 특징 매칭(231) 및 초기 자세 추정(Initial Pose Estimation) 단계(232)를 포함한다. 즉 객체 구분 유닛(230)은 이미지 정보에서 구분된 객체들의 특징 점들을 추출한다. 그리고 객체 구분 유닛(230)은 특정 객체들의 특징 점들을 참조 객체의 적어도 일부와 매칭한다. 이때 객체 구분 유닛(230)은 특징 점들의 매칭 정보가 없는 경우 매칭 정보를 새로 갱신할 수 있다. 객체에 대한 특징 매칭이 완료되면 객체 구분 유닛(230)은 이미지 정보에 포함된 적어도 하나의 객체들의 초기 자세 추정을 수행한다. 객체 구분 유닛(230)은 메인 유닛(111)이 객체 추적 기능을 활성화하는 경우 매칭 정보 및 초기 자세 정보 중 적어도 하나를 포함하는 객체 관련 정보를 추적 유닛(240)에 제공한다.The object sorting unit 230 is a structure for sorting various objects constituting image information. This object classification unit 230 includes a feature matching 231 and an Initial Pose Estimation step 232. That is, the object classification unit 230 extracts characteristic points of the objects separated from the image information. And the object classification unit 230 matches characteristic points of specific objects with at least a part of the reference object. At this time, the object sorting unit 230 can update the matching information when there is no matching information of the characteristic points. When the feature matching for the object is completed, the object sorting unit 230 performs initial posture estimation of at least one object included in the image information. The object classification unit 230 provides the tracking unit 240 with object related information including at least one of matching information and initial orientation information when the main unit 111 activates the object tracking function.

추적 유닛(240)은 인식된 타겟 객체들의 초기 자세 추정을 객체 구분 유닛(230)로부터 전달받는다. 그리고 추적 유닛(240)은 연속적으로 타겟 객체의 자세 연산을 통해 트래킹을 유지할 수 있다. 추적 유닛(240)은 객체 자세에 포함되는 인식 정보 및 객체 구분(localization) 정보의 기본 출력(basic Output)을 가질 수 있다.The tracking unit 240 receives the initial posture estimation of the recognized target objects from the object classification unit 230. [ And the tracking unit 240 can continuously maintain tracking through the posture computation of the target object. The tracking unit 240 may have a basic output of recognition information and localization information included in the object posture.

도 3은 본 개시의 객체 추적 기능이 적용되는 단말기의 구성을 나타낸 도면이다. 즉 도 3에 도시한 단말기(300)는 상술한 메인 유닛이 탑재되는 전자 장치의 일예가 될 수 있다.3 is a diagram illustrating a configuration of a terminal to which the object tracking function of the present disclosure is applied. That is, the terminal 300 shown in FIG. 3 may be an example of an electronic device on which the main unit described above is mounted.

도 3을 참조하면, 단말기(300)는, 단말기(300)의 전반적인 동작 및 단말기(300)의 내부 구성들 간의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행하고, 배터리(351)에서 내부 구성들로의 전원 공급을 제어하는 제어부(305)를 포함한다. 제어부(305)는 콜 프로세서(310), 어플리케이션 프로세서(320) 및 메모리(340)를 포함할 수 있다. 3, the terminal 300 controls a signal flow between the overall operation of the terminal 300 and the internal configurations of the terminal 300, performs a function of processing data, And a control unit 305 for controlling power supply to the configurations. The control unit 305 may include a call processor 310, an application processor 320, and a memory 340.

콜 프로세서(310)는 RF부(330)와 신호 송수신을 수행하며, 메모리(340) 및 SIM 카드(311)와 신호 송수신을 수행할 수 있다. 그리고 콜 프로세서(310)는 어플리케이션 프로세서(320)와 통신하여 어플리케이션 프로세서(320)에 의하여 처리되는 기능 중 RF부(330), 메모리(340) 및 SIM 카드(311) 접근이 필요한 업무 처리를 지원할 수 있다.The call processor 310 performs signal transmission / reception with the RF unit 330, and can perform signal transmission / reception with the memory 340 and the SIM card 311. The call processor 310 may communicate with the application processor 320 to support the processing of the RF unit 330, the memory 340, and the SIM card 311 among the functions processed by the application processor 320 have.

어플리케이션 프로세서(320)는 상술한 객체 처리 유닛(111) 또는 클라이언트(110)의 프로세서로써 동작할 수 있다. 또한 어플리케이션 프로세서(320)는 하나 이상의 중앙처리유닛(Central Processing Unit; CPU)을 포함할 수 있다. 또한, 어플리케이션 프로세서(320)는 하나 이상의 그래픽처리유닛(Graphic Processing Unit; GPU)을 더 포함할 수 있다.The application processor 320 may operate as the processor of the object processing unit 111 or the client 110 described above. The application processor 320 may also include one or more central processing units (CPUs). In addition, the application processor 320 may further include one or more graphics processing units (GPUs).

어플리케이션 프로세서(320)는 배터리(351)가 연결되는 전원 관리부(350)로부터 전원을 공급받는다. 어플리케이션 프로세서(320)는 RF부(330) 이외의 다양한 통신 유닛 예컨대 와이파이 유닛(321), 블루투스(Bluetooth; BT) 유닛(322), GPS 유닛(323), NFC(Near Field Communication) 유닛(324) 등과 신호 송수신을 수행하고 각 유닛에 의해 수행되는 기능을 지원한다.The application processor 320 receives power from the power management unit 350 to which the battery 351 is connected. The application processor 320 includes various communication units such as a Wi-Fi unit 321, a Bluetooth (BT) unit 322, a GPS unit 323, an NFC (Near Field Communication) unit 324, Etc., and supports the functions performed by each unit.

어플리케이션 프로세서(320)는 터치 패널 및 키 입력부 등을 포함하는 사용자 입력부(325)와 연결될 수 있다. 여기서 터치 패널은 표시부(326)의 화면에 설치된 터치스크린을 포함할 수 있다. 터치패널은 화면에 대한 터치입력기구(예, 손가락, 펜 등)의 제스처에 응답하여 터치이벤트를 발생하고, 터치이벤트를 AD(Analog to Digital) 변환하여 어플리케이션 프로세서(320)로 전달할 수 있다. 키 입력부는 터치 키를 포함할 수 있다. 터치키는 사용자의 터치를 감지하기 위해 정전용량 방식이나 저항막 방식 등으로 구현될 수 있다. 터치키는 사용자의 터치에 응답하여 이벤트를 발생하고, 이를 AP(320)로 전달할 수 있다. 키입력부는 터치 방식 외에 다른 방식의 키(예, 돔(dome) 키)도 포함할 수 있다.The application processor 320 may be connected to a user input unit 325 including a touch panel and a key input unit. Here, the touch panel may include a touch screen provided on the screen of the display unit 326. [ The touch panel generates a touch event in response to a gesture of a touch input mechanism (e.g., a finger, a pen, or the like) with respect to the screen, converts the touch event into an analog to digital (AD) The key input unit may include a touch key. The touch key may be implemented by a capacitance type or a resistive type in order to detect the user's touch. The touch key generates an event in response to a user's touch, and can transmit the event to the AP 320. [ The key input unit may include a key (e.g., a dome key) other than the touch method.

어플리케이션 프로세서(320)는 메모리(340)와 신호 송수신을 수행할 수 있다. 여기서 메모리(340)는 메인 메모리(main memory unit)와 보조메모리(secondary memory unit)를 포함할 수 있다. 보조 메모리는 부팅 프로그램, 적어도 하나 이상의 운영체제 및 어플리케이션들을 저장할 수 있다. 메인 메모리는 보조 메모리로부터 로딩된 각종 프로그램 예컨대, 부팅 프로그램, 운영체제 및 어플리케이션들을 저장할 수 있다. 어플리케이션 프로세서(320)로 배터리(351)의 전원이 공급되면 먼저 부팅 프로그램이 메인 메모리로 로딩(loading)된다. 이러한 부팅 프로그램은 운영체제를 메인메모리로 로딩한다. 운영체제는 어플리케이션들을 메인메모리로 로딩한다. 어플리케이션 프로세서(320)는 이와 같은 프로그램에 액세스하여 프로그램의 명령어를 해독하고, 해독 결과에 따른 기능(예컨대, 객체 인식, 객체 구분(localization), 객체 추적)을 실행할 수 있다. The application processor 320 may perform signal transmission / reception with the memory 340. The memory 340 may include a main memory unit and a secondary memory unit. The auxiliary memory may store a boot program, at least one operating system and applications. The main memory may store various programs loaded from the auxiliary memory, such as boot programs, operating systems, and applications. When the power of the battery 351 is supplied to the application processor 320, the boot program is first loaded into the main memory. These boot programs load the operating system into main memory. The operating system loads applications into main memory. The application processor 320 may access such programs to decrypt the instructions of the program and to execute functions (e.g., object recognition, localization, object tracking) depending on the decoding result.

어플리케이션 프로세서(320)는 표시부(326), 카메라(327), 진동 모터(328), 오디오 처리부(380) 등과 연결될 수 있다.The application processor 320 may be connected to the display unit 326, the camera 327, the vibration motor 328, the audio processing unit 380, and the like.

표시부(326)는 제어부(305) 특히, 어플리케이션 프로세서(320)의 제어 하에 데이터를 화면에 표시한다. 즉 제어부(305)가 데이터를 처리(예컨대, 디코딩(decoding))하여 버퍼에 저장하면, 표시부(326)는 버퍼에 저장된 데이터를 아날로그 신호로 변환하여 화면에 표시한다. 표시부(326)에 전원이 공급되면, 표시부(326)는 잠금 이미지를 화면에 표시한다. 잠금 이미지가 표시되고 있는 상태에서 잠금 해제 정보가 검출되면, 제어부(305)는 잠금을 해제한다. 표시부(326)는 제어부(305)의 제어 하에 잠금 이미지 대신 예컨대, 홈 이미지를 표시한다. 홈 이미지는 배경(background) 이미지(예컨대, 사용자에 의해 설정된 사진)와 이 위에 표시되는 다수의 아이콘을 포함한다. 여기서 아이콘들은 각각 어플리케이션 또는 콘텐츠(예, 사진 파일, 비디오 파일, 녹음 파일, 문서, 메시지 등)를 지시한다. 아이콘들 중 하나 예컨대, 객체 추적 어플리케이션의 아이콘이 터치입력기구에 의해 터치되면, 제어부(305)는 카메라(327)를 구동하고, 카메라(327)로부터 수신한 이미지를 이용하여 객체 추적 어플리케이션을 실행할 수 있다. 표시부(326)는 객체 추적 어플리케이션의 실행에 따른 이미지(예, 프리뷰 이미지와 객체 추적 정보)를 제어부(305)로부터 수신하고, 이를 아날로그 신호로 변환하여 출력할 수 있다.The display unit 326 displays data on the screen under the control of the control unit 305, in particular, the application processor 320. [ That is, when the control unit 305 processes (e.g., decodes) the data and stores the data in the buffer, the display unit 326 converts the data stored in the buffer into an analog signal and displays it on the screen. When power is supplied to the display unit 326, the display unit 326 displays a lock image on the screen. If the lock release information is detected while the lock image is being displayed, the control unit 305 releases the lock. The display unit 326 displays, for example, a home image in place of the lock image under the control of the control unit 305. [ The home image includes a background image (e.g., a photo set by the user) and a number of icons displayed thereon. Here, the icons each indicate an application or content (e.g., a photo file, a video file, a recorded file, a document, a message, etc.). When one of the icons, e.g., the object tracking application's icon, is touched by the touch input mechanism, the control unit 305 drives the camera 327 and executes the object tracking application using the image received from the camera 327 have. The display unit 326 receives an image (e.g., preview image and object tracking information) according to the execution of the object tracking application from the control unit 305, and converts the analog signal into an analog signal.

카메라(327)는 피사체를 촬영하여 어플리케이션 프로세서(320)로 출력하는 기능을 수행한다. 카메라(327)는 빛을 모으기 위한 렌즈와, 이러한 빛을 전기적인 신호로 변환하는 이미지 센서와, 이미지 센서로부터 입력되는 전기 신호를 프레임(로우 데이터(raw data))으로 처리하는 이미지 신호 프로세서(Image Signal Processor; ISP)를 포함한다. ISP는 AP(320)의 제어 하에, ISP의 버퍼(일명, 대기열(queue))에 대기 중인 프레임을 프리뷰 이미지로 리사이징(resizing)할 수 있다. 일반적으로 ISP는 프레임을 화면의 크기에 맞게 축소한다. 그리고 ISP는 프리뷰 이미지를 AP(320)로 출력한다. 그러면, AP(320)는 프리뷰 이미지를 화면에 표시하도록 표시부(326)를 제어한다. 물론, 이러한 리사이징은 AP(320)에서 수행될 수도 있다. 예컨대, 프레임은 카메라(327)에서 AP(320)의 버퍼로 전달되고, AP(320)는 프레임을 프리뷰 이미지로 가공하여 표시부(326)로 출력할 수 있다. The camera 327 captures an object and outputs the captured object to the application processor 320. The camera 327 includes a lens for collecting light, an image sensor for converting the light into an electrical signal, and an image signal processor (image data processor) 322 for processing electrical signals input from the image sensor into frames (raw data) Signal Processor (ISP). The ISP can resize the frame waiting in the buffer (aka, a queue) of the ISP to a preview image under the control of the AP 320. [ Typically, the ISP shrinks the frame to fit the size of the screen. Then, the ISP outputs the preview image to the AP 320. Then, the AP 320 controls the display unit 326 to display the preview image on the screen. Of course, such resizing may also be performed in the AP 320. [ For example, the frame is transferred from the camera 327 to the buffer of the AP 320, and the AP 320 can process the frame into a preview image and output it to the display unit 326.

오디오 처리부(380)는 마이크(381), 스피커(382), 리시버(383), 이어폰 연결 장치(384) 등을 포함할 수 있다. 어플리케이션 프로세서(320)는 센서 허브(360)와 연결될 수 있다. 센서 허브(360)는 다양한 센서들을 포함하는 센서부(370)와 연결될 수 있다. 센서부(370)는 마그네틱 센서(371), 자이로 센서(372), 바로 미터(373), 가속도 센서(374) 그립 센서(375), 온도/습도 센서(376), 근접 센서(377), 조도 센서(378), RGB 센서(379a) 및 제스처 센서(379b) 중 적어도 하나를 포함할 수 있다.The audio processing unit 380 may include a microphone 381, a speaker 382, a receiver 383, an earphone connection unit 384, and the like. The application processor 320 may be coupled to the sensor hub 360. The sensor hub 360 may be connected to a sensor unit 370 including various sensors. The sensor unit 370 includes a magnetic sensor 371, a gyro sensor 372, a barometer 373, an acceleration sensor 374, a grip sensor 375, a temperature / humidity sensor 376, a proximity sensor 377, A sensor 378, an RGB sensor 379a, and a gesture sensor 379b.

도 4는 본 개시의 객체 추적 기능이 적용되는 플랫폼의 일례를 나타낸 도면이다.4 is a diagram showing an example of a platform to which the object tracking function of the present disclosure is applied.

도 4를 참조하면, 본 개시의 객체 추적 기능이 적용되는 플랫폼은 크게 어플리케이션 계층(410), 어플리케이션 프레임워크 계층(420), 라이브러리 계층(430) 및 커널 계층(440)을 포함할 수 있다.Referring to FIG. 4, a platform to which the object tracking function of the present disclosure is applied may largely include an application layer 410, an application framework layer 420, a library layer 430, and a kernel layer 440.

커널 계층(440)은 예로서 리눅스 커널로 구성될 수 있다. 커널 계층(440)은 표시 드라이버, 카메라 드라이버, BT 드라이버, 공유 메모리 드라이버, 바이더 드라이버, USB 드라이버, 키패드 드라이버, 와이파이 드라이버, 오디오 드라이버, 파워 관리부가 배치될 수 있다.The kernel layer 440 may be configured as a Linux kernel, for example. The kernel layer 440 may include a display driver, a camera driver, a BT driver, a shared memory driver, a vendor driver, a USB driver, a keypad driver, a Wi-Fi driver, an audio driver, and a power management unit.

라이브러리 계층(430)은 서페이스 매니저, 미디어 프레임워크, SQLite, OpenGL/ES, FreeType, Webkit, SGL, SSL, Libc 등을 포함한다. 라이브러리 계층(430)은 안드로이드 런타임 구성을 포함할 수 있다. 안드로이드 런타임은 코어 라이브러리 및 Dalvik Virtual Machine을 포함할 수 있다. Dalvik Virtual Machine은 객체 추적 기능이 지원되는 단말기의 위젯 기능 또는 실시간 실행이 요구되는 기능, 사전 설정된 스케줄에 따라 주기적으로 실행이 요구되는 기능 등을 지원할 수 있다.The library layer 430 includes a surface manager, a media framework, SQLite, OpenGL / ES, FreeType, Webkit, SGL, SSL, Libc and the like. Library layer 430 may include an Android runtime configuration. The Android runtime can include core libraries and the Dalvik Virtual Machine. Dalvik Virtual Machine can support widget function of terminal with object tracking function, function requiring real-time execution, function requiring periodical execution according to preset schedule.

어플리케이션 프레임워크 계층(420)은 활동 매니저, 윈도우 매니저, 컨텐츠 프로바이더, 뷰 시스템, 알림 매니저, 패키지 매니저, 텔레포니 매니저, 리소스 매니저, 로케이션 매니저 등이 배치될 수 있다. 어플리케이션 계층(410)은 홈 어플리케이션(Application : 이하 앱), 다이얼러 앱, SMS/MMS 앱, 인스턴트 메신저(IM) 앱, 카메라 앱, 알람 앱, 계산기 앱, 컨텐츠 앱, 보이스 다이얼 앱, 이메일 앱, 캘린더 앱, 미디어 플레이어 앱, 앨범 앱, 시계 앱 등이 배치될 수 있다. The application framework layer 420 may include an activity manager, a window manager, a content provider, a view system, a notification manager, a package manager, a telephony manager, a resource manager, and a location manager. The application layer 410 may include a home application, a dialer application, an SMS / MMS application, an instant messenger (IM) application, a camera application, an alarm application, a calculator application, a content application, a voice dial application, Apps, media player apps, album apps, watch apps, and the like.

이하에서는 본 개시의 객체 추적 기능에 대하여 도 5 내지 도 11을 참조하여 보다 상세하게 설명한다.Hereinafter, the object tracking function of the present disclosure will be described in more detail with reference to Figs. 5 to 11. Fig.

도 5는 본 개시의 일 실시예에 따른 바코드 추적 방법의 전체적인 흐름도이다. 도 6은 QR 코드의 오리지널 이미지를 나타낸 도면이다. 도 7은 확대된(upscaled) 오리지널 이미지를 나타낸 도면이다. 도 8a는 화면에 프리뷰(preview) 중인 바코드를 나타낸 도면이고, 도 8b는 바코드의 위에 표시된 '관련 데이터'를 나타낸 도면이다.5 is a general flow diagram of a barcode tracking method in accordance with an embodiment of the present disclosure. 6 is a diagram showing an original image of a QR code. 7 is a diagram showing an original image that is upscaled. FIG. 8A is a diagram showing a barcode being previewed on the screen, and FIG. 8B is a diagram showing 'related data' displayed on the barcode.

도 3, 도 5 및 도 6을 참조하면, 제어부(305) 특히, 어플리케이션 프로세서(320)는 사용자 입력부(325)로부터 바코드의 추적과 관련된 어플리케이션의 실행 요청을 수신한다. 이에 응답하여 제어부(305)는 해당 어플리케이션을 보조메모리에서 메인메모리로 로딩시켜 프로세스(process)로써 동작시킨다. 제어부(305)는 이러한 프로세스의 명령에 의해 카메라(327)를 구동시키고, 단계 510에서 제어부(305)는 카메라(327)로부터 캡처 이미지를 수신한다. 한편, 제어부(305)는 무선통신부 예컨대, 와이파이 유닛(321), 블루투스 유닛(322), NFC 유닛(324) 또는 RF 유닛(330)을 통해 외부 장치로부터 캡처 이미지를 수신할 수도 있다. 3, 5 and 6, the control unit 305, in particular, the application processor 320 receives an execution request of an application related to the tracking of the bar code from the user input unit 325. In response to this, the control unit 305 loads the application from the auxiliary memory to the main memory and operates it as a process. The control unit 305 drives the camera 327 by the instruction of this process and in step 510 the control unit 305 receives the captured image from the camera 327. [ On the other hand, the control unit 305 may receive a captured image from an external device via a wireless communication unit such as a Wi-Fi unit 321, a Bluetooth unit 322, an NFC unit 324, or an RF unit 330. [

단계 520에서 제어부(305)는 캡처 이미지에서 바코드의 객체 구분이 가능한지 여부를 결정한다. 객체 구분 방법은 여러 가지가 있을 수 있다. 일례로, 파인드 패턴을 이용한 객체 구분 방법은 다음과 같을 수 있다. 먼저, 제어부(305)는 캡처 이미지에서 파인드 패턴(find pattern)이 될 수 있는 후보들을 검출한다. 여기서 파인드 패턴은 해당 바코드의 위치를 찾기 위한 심볼이다. 예컨대, 정사각형 형태인 QR 코드의 경우, 네 귀퉁이 중 3 곳에 파인드 패턴들이 각각 위치한다. 따라서, 이러한 파인드 패턴들이 검색되면, 해당 바코드의 영역이 결정되고, 결정된 영역에서 데이터가 추출될 수 있다. 다음으로 제어부(305)는 후보들의 윤곽선(contour)을 검출한다. 여기서, 윤곽선의 사이즈(예, 폭, 높이, 넓이 등을 나타내는 값)가 제어부(305)에 의해 선택된 제 1 값보다 작은 경우, 해당 후보를 리스트에서 폐기할 수 있다. 또한, 윤곽선의 사이즈가 제어부(305)에 의해 선택된 제 2 값보다 큰 경우, 해당 후보를 리스트에서 폐기할 수 있다. 다음으로, 제어부(305)는 검출된 윤곽선들을 이용하여 후보들 중에서 파인드 패턴들을 결정한다. 다음으로, 제어부(305)는 파인드 패턴들을 이용하여 해당 바코드의 버전 및 크기(size)를 결정한다. 제어부(305)는 사이즈(size) 정보와 상기 결정된 파인드 패턴들의 위치 정보(예, 꼭지점 좌표)를 이용하여 이미지에서 해당 바코드를 객체 구분(localization)할 수 있다. 또한 제어부(305)는 객체 구분된 바코드의 파인드 패턴들을 이용하여 카메라 자세(camera pose)(예컨대, 카메라의 시야각)를 예측(prediction)할 수 있다. 이러한 카메라 자세 예측의 일례는 도 12를 참조하여 설명한다.In step 520, the control unit 305 determines whether object classification of the bar code is possible in the captured image. There are many ways to classify objects. For example, the method of classifying an object using a find pattern may be as follows. First, the control unit 305 detects candidates that can be a find pattern in the captured image. Here, the find pattern is a symbol for finding the position of the corresponding bar code. For example, in the case of a square-shaped QR code, find patterns are located in three of four corners. Therefore, when these find patterns are retrieved, the area of the bar code is determined, and data can be extracted in the determined area. Next, the control unit 305 detects a contour of the candidates. Here, if the size (e.g., a value indicating the width, height, width, etc.) of the outline is smaller than the first value selected by the control unit 305, the candidate can be discarded from the list. If the outline size is larger than the second value selected by the control unit 305, the candidate can be discarded from the list. Next, the control unit 305 determines the find patterns among the candidates using the detected contours. Next, the control unit 305 determines the version and size of the corresponding bar code using the find patterns. The control unit 305 can localize the corresponding bar code in the image using size information and position information of the determined find patterns (e.g., vertex coordinates). Also, the controller 305 may predict a camera pose (e.g., a viewing angle of the camera) using the find patterns of the object-separated bar code. An example of such camera posture prediction will be described with reference to Fig.

캡처 이미지에서 바코드가 객체 구분되면 단계 530에서 제어부(305)는 바코드에서 데이터를 추출한다. 구체적으로 제어부(305)는 캡처 이미지로부터 객체 구분된(즉, 캡처 이미지에서 분리된) 바코드를, 오리지널(original)로 정확히 복원하기 위해, 와핑(warping) 처리할 수 있다. 이러한 와핑 처리 과정은 해당 바코드의 좌표 값들을 보정하는 과정이 포함될 수 있다. 이러한 보정 과정은 일명, 호모그라피 계산(homography calcuration)으로 지칭될 수 있다. 그리고 제어부(305)는 와핑 처리된 바코드에서 데이터를 추출할 수 있다. 한편, 좀 더 정확한 객체 구분 및 복원을 위해 제어부(305)는 상기 결정된 버전 및 사이즈를 이용하여 해당 바코드의 얼라이먼트(alignment) 패턴을 검출할 수도 있다. 얼라이먼트 패턴(640)이 검출되면 제어부(305)는 얼라이먼트 패턴을 이용하여, 이미지에서 해당 바코드를 객체 구분할 수 있다.If the barcode in the captured image is object-separated, the control unit 305 extracts data from the barcode in step 530. Specifically, the control unit 305 can warp the object-separated (i.e., separated from the captured image) barcode from the captured image to restore the original correctly. This watermarking process may include a process of correcting the coordinate values of the barcode. This correction process may be referred to as homography calcination. The control unit 305 can extract data from the watermarked bar code. For more accurate object classification and restoration, the controller 305 may detect an alignment pattern of the corresponding bar code using the determined version and size. When the alignment pattern 640 is detected, the control unit 305 can identify the corresponding bar code in the image using the alignment pattern.

단계 530에서 추출된 데이터는 부호화된 데이터(encoded data)일 수 있다. 여기서 부호화된 데이터는 암호화된 데이터(encrypted data)로 지칭될 수도 있다. 단계 540에서 제어부(305)는 암호화된 데이터에 대해 에러 수정(error correction)을 수행할 수 있다. 예컨대, QR 코드의 경우, 암호화된 데이터에 대한 에러 수정의 방법 및 규칙이 ISO/IEC 18004:2006에 자세히 기술되어 있다.The data extracted in step 530 may be encoded data. Where the encoded data may be referred to as encrypted data. In step 540, the control unit 305 may perform error correction on the encrypted data. For example, in the case of QR codes, methods and rules for error correction for encrypted data are described in detail in ISO / IEC 18004: 2006.

단계 550에서 제어부(305)는 에러 수정의 결과물을 디코딩(decoding; 복호화)한다. 예컨대, QR 코드의 경우, 제어부(305)는 암호화된 데이터를 ISO/IEC 18004:2006에 정의된 디코딩 규칙에 따라 디코딩한다. 그리고 제어부(305)는 디코딩된 데이터가 "의미 있는 데이터"인지 여부를 결정한다. 예컨대, 제어부(305)는 레퍼런스 데이터베이스(예컨대, 로컬 레퍼런스 DB(115) 또는 리모트 레퍼런스 DB(121))에서 '디코딩된 데이터'와 일치된 데이터를 찾은 경우, '디코딩된 데이터'를 '의미 있는 데이터'로 결정한다. 즉 '디코딩된 데이터'와 일치된 데이터가 DB에서 찾아지는 경우, 제어부(305)는 데이터의 디코딩이 성공된 것으로 결정한다.In step 550, the control unit 305 decodes the result of the error correction. For example, in the case of a QR code, the control unit 305 decodes the encrypted data according to the decoding rule defined in ISO / IEC 18004: 2006. Then, the control unit 305 determines whether the decoded data is "meaningful data ". For example, when the control unit 305 finds data matching the 'decoded data' in the reference database (for example, the local reference DB 115 or the remote reference DB 121), the control unit 305 converts the 'decoded data' '. That is, if data matching the 'decoded data' is found in the DB, the control unit 305 determines that decoding of the data is successful.

디코딩이 성공되면 단계 560에서 제어부(305)는 디코딩된 데이터를 이용하여 바코드의 오리지널(original) 이미지(이하, 오리지널)를 생성한다. QR코드의 경우, 오리지널은 도 6에 도시된 바와 같은 이미지일 수 있다. 도 6에서 도면 부호 610, 620 및 630은 각각 파인드 패턴이고, 640은 얼라이먼트 패턴이다.If the decoding is successful, the control unit 305 generates an original image (hereinafter referred to as an original) of the bar code using the decoded data in step 560. In the case of the QR code, the original may be an image as shown in Fig. 6, reference numerals 610, 620, and 630 denote a find pattern, and reference numeral 640 denotes an alignment pattern.

단계 570에서 제어부(305)는 오리지널에서 특징 점들(feature points)을 획득한다. 특히 제어부(305)는 오리지널의 크기를 확대하고, 확대된 오리지널에서 특징 점들을 획득할 수 있다.In step 570, the control unit 305 acquires feature points in the original. In particular, the control unit 305 can enlarge the size of the original and obtain characteristic points from the enlarged original.

특징 점 획득 방법의 일례는 다음과 같다. 우선 제어부(305)는 오리지널을 m배로 확대한다. 예컨대, 하나의 픽셀이 m*m 개의 픽셀들로 확대된다. 여기서 m은 양의 정수이며, 오리지널의 종류나 사이즈(예, 면적)로부터 결정될 수 있다. 예컨대, 오리지널이 QR코드인 경우, 제어부(305)는 m의 값을 4로 결정할 수 있다. 이렇게 확대된 이미지는 바코드의 추적을 위한 오리지널 바코드 이미지로 쓰일 수 있다. 즉 제어부(305)는 확대된 오리지널을 바코드 추적을 위한 래퍼런스(reference)로 사용할 수 있다.An example of the feature point acquisition method is as follows. The control unit 305 enlarges the original by m times. For example, one pixel is enlarged to m * m pixels. Where m is a positive integer and can be determined from the type and size of the original (e.g., area). For example, when the original is a QR code, the control unit 305 can determine the value of m to be 4. This enlarged image can be used as an original barcode image for tracking the barcode. That is, the control unit 305 can use the enlarged original as a reference for bar code tracking.

다음으로 제어부(305)는, 도 7을 참조하면, 확대된 오리지널을 그리드(grid)로 분할한다. 여기서 그리드는 n*n 개의 픽셀 영역들 일명, 패치들(patch)로 구성된다. 여기서 n의 값은 오리지널의 종류나 사이즈(예, 면적)로부터 결정될 수 있다. 예컨대, 오리지널이 QR코드인 경우, 제어부(305)는 n의 값을 15로 결정할 수 있다. 제어부(305)는 패치들 각각의 중심점들 중에서 특징 점들을 선택할 수 있다. 예컨대, 제어부(305)는 중심점들 각각에 대해 점수(score)를 계산한다. 점수 계산 방법은 다양하다. 일례로, Shi-Tomashi 알고리즘이 본 개시의 점수 계산 방법으로 이용될 수 있다. 제어부(305)는 점수들 중에서 미리 정해진 임계치를 초과한 점수들에 각각 해당되는 중심점들을 해당 오리지널의 특징 점들로 결정할 수 있다. 한편, 점수 계산과 상관없이, 제어부(305)는 중심점들 모두를 특징 점들로 결정할 수도 있다.Next, referring to Fig. 7, the control unit 305 divides the enlarged original into grids. Here, the grid consists of n * n pixel areas, called patches. Where the value of n can be determined from the type and size of the original (e.g., area). For example, when the original is a QR code, the control unit 305 can determine the value of n as 15. The control unit 305 can select characteristic points from the center points of each of the patches. For example, the control unit 305 calculates a score for each of the center points. There are many ways to calculate scores. For example, the Shi-Tomashi algorithm can be used as a scoring method in this disclosure. The control unit 305 can determine the center points corresponding to the points exceeding the predetermined threshold among the scores as the original feature points. On the other hand, regardless of the score calculation, the control unit 305 may determine all of the center points as the characteristic points.

단계 580에서 제어부(305)는 레퍼런스(확대된 오리지널)의 특징 점들을 이용하여 바코드를 추적한다. 즉 제어부(305)는 특징 점들의 변화를 추적한다. 특징 점을 이용한 바코드 추적 방법의 일례는 도 9 및 도 10을 참조하여 상세하게 설명한다.In step 580, the control unit 305 tracks the barcode using the feature points of the reference (enlarged original). That is, the control unit 305 tracks the change of the characteristic points. An example of a bar code tracking method using feature points will be described in detail with reference to FIGS. 9 and 10. FIG.

단계 590에서 제어부(305)는 추적 중인 바코드의 위에 바코드와 관련된 데이터(예, 디코딩된 데이터, 디코딩된 데이터의 일부, 디코딩된 데이터와 관련된 데이터)를 표시하도록 표시부(326)를 제어한다. 예컨대, 도 8a에 도시된 바와 같은 QR 코드가 추적되고 그 위에 도 8b에 도시된 바와 같은 이미지가 표시될 수 있다.In step 590, the control unit 305 controls the display unit 326 to display data (e.g., decoded data, part of decoded data, and data related to decoded data) related to the bar code on the bar code being tracked. For example, a QR code as shown in Fig. 8A may be tracked and an image as shown in Fig. 8B may be displayed thereon.

도 9는 본 개시의 일 실시예에 따른 특징 점을 이용한 바코드 추적 방법을 설명하기 위한 흐름도이다. 도 10은 패치를 나선 궤적을 따라 이동시켜 캡처 이미지에서 대응되는 패치를 찾는 과정을 설명하기 위한 도면이다.FIG. 9 is a flowchart illustrating a barcode tracking method using characteristic points according to an embodiment of the present disclosure. FIG. 10 is a diagram for explaining a process of moving a patch along a spiral path to find a corresponding patch in a captured image.

도 9를 참조하면, 단계 910에서 제어부(305)는 카메라(327) 또는 무선통신부로부터 캡처 이미지를 수신한다.9, in step 910, the control unit 305 receives the captured image from the camera 327 or the wireless communication unit.

단계 920에서 제어부(305)는 카메라 자세 예측(camera pose prediction)으로부터 획득된 바코드의 호모그라피(homography)를 이용하여 레퍼런스(예, 확대된 오리지널)의 각각의 특징 점들을 캡처 이미지에 투영한다. 여기서 카메라 자세 예측은 이전 프레임(예컨대, 단계 510에서 수신된 캡처 이미지)에 대한 자세 정보를 포함할 수 있다. 또한 카메라 자세 예측은 동작 모델(motion model)이나 어림셈(rough calculation) 등을 이용하여 획득될 수도 있다.In step 920, the control unit 305 projects each feature point of the reference (e.g., enlarged original) onto the captured image using the homography of the bar code obtained from the camera pose prediction. Where the camera posture prediction may include posture information for a previous frame (e.g., a captured image received at step 510). Also, the camera posture prediction may be obtained using a motion model or rough calculation.

단계 930에서 제어부(305)는 투영된 특징 점들 각각에 대응되는 레퍼런스의 패치들을, 캡처 이미지의 바코드에 매칭이 되게, 변형한다. 예컨대 제어부(305)는 레퍼런스의 패치들을, 상기 특징 점들이 투영된 캡처 이미지 상에서 직사각형(rectangular)의 패치들로 와핑(warping)한다. 이러한 와핑 작업 시, 카메라 자세 예측으로부터 획득된 바코드의 인버티드 호모그라피(inverted homography)가 이용될 수 있다. 도 10을 참조하면, 도면 부호 1010은 와핑된 레퍼런스의 패치이고 1011의 이 패치의 중심점 즉, 특징 점이다. 패치 투영(patch projection)의 프로세스가 진행되는 동안, 안티 얼라이징(anti-aliasing)(예, 이중선형 보간법(bilinear interpolation), 이중큐빅 보간법(bicubic interpolation), MSAA(Multi-Sample Anti-Aliasing), FXAA(Fast Approximate Anti-Aliasing) 등등)이 사용될 수 있다.In step 930, the control unit 305 transforms the patches of the reference corresponding to each of the projected characteristic points so as to match the barcode of the captured image. For example, the control unit 305 warps the patches of the reference with rectangular patches on the captured captured image. In this warping operation, inverted homography of the bar code obtained from the camera posture prediction can be used. Referring to FIG. 10, reference numeral 1010 denotes a patch of a warped reference and a center point of the patch 1011, that is, a feature point. During the process of the patch projection process, anti-aliasing (e.g., bilinear interpolation, bicubic interpolation, Multi-Sample Anti-Aliasing (MSAA) Fast Approximate Anti-Aliasing (FXAA), etc.) can be used.

단계 940에서 제어부(305)는 변형된 패치들에 각각 대응되는 패치들을 캡처 이미지에서 검색한다. 예컨대, 제어부(305)는 와핑된 패치(1010)를 상기 특징 점(1011)에서부터 미리 설정된 나선 궤적(spiral trajectory)(1020)을 따라 이동시킨다. 와핑된 패치(1010)가 나선 궤적(1020)을 따라 이동되는 동안, 제어부(305)는 이동되는 패치(1010)와 캡처 이미지 영역 간의 상관관계(correlation)를 계산한다. 여기서 상관관계는 NCC(Normalized Cross Correlation) 방법, SSD(Sumof Square Distances) 방법 또는 다른 방법들을 이용하여 계산될 수 있다. 패치(1010)가 나선 궤적(1020)을 따라 이동되는 동안, 패치(1010)와 가장 높은 상관관계를 갖는 영역(1030)이 패치(1010)에 대응되는 패치(즉, 가장 유사한 패치)로 결정된다. 그리고 해당 영역(1030)의 중심점(1031)이 새로운 특징 점으로 결정된다. 즉 특징 점(1011)이 검색된 특징 점(1031)으로 업데이트된다.In step 940, the control unit 305 retrieves patches corresponding to the modified patches from the captured image. For example, the control unit 305 moves the warped patch 1010 along the predetermined spiral trajectory 1020 from the feature point 1011. [ While the warped patch 1010 is moved along the spiral trajectory 1020, the control unit 305 calculates a correlation between the captured patch image 1010 and the captured image region. Where the correlation can be calculated using a Normalized Cross Correlation (NCC) method, a Sumof Square Distances (SSD) method, or other methods. The region 1030 having the highest correlation with the patch 1010 is determined as the patch corresponding to the patch 1010 (i.e., the most similar patch) while the patch 1010 is moved along the spiral trace 1020 . Then, the center point 1031 of the area 1030 is determined as a new feature point. That is, the characteristic point 1011 is updated to the searched characteristic point 1031.

단계 950에서 제어부(305)는 검색 결과물 즉, 업데이트된 특징 점(1031)을 기반으로, 업데이트된 카메라 자세(updated camera pose)를 추정(계산)한다. 여기서 계산 방법에는 M-estimator, robust hypothesize-to-verify method(예컨대, RANSAN, PROSAC 등) 등이 이용될 수 있다. 제어부(305)는 계산(추정)을 함에 있어서, 패치 1010의 중심점 1011과 패치 1030의 중심점 1031의 간격을 나타내는 값을 이용할 수 있다.In step 950, the control unit 305 estimates (calculates) an updated camera pose based on the search result, that is, the updated feature point 1031. M-estimator, robust hypothesize-to-verify method (e.g., RANSAN, PROSAC, etc.) may be used for the calculation method. The control unit 305 can use a value indicating the interval between the center point 1011 of the patch 1010 and the center point 1031 of the patch 1030 in calculation (estimation).

도 11은 본 발명의 일 실시예에 따른 바코드 관련 데이터 표시 방법을 설명하기 위한 흐름도이다. 도 11을 설명함에 있어, 앞서 설명한 내용과 중복되는 설명은 생략될 수 있다. 도 11을 참조하면, 단계 1110에서 제어부(305)는 카메라(327) 또는 무선통신부로부터 캡처 이미지를 수신한다. 단계1120에서 제어부(305)는 캡처 이미지에서 바코드를 객체 구분한다. 단계 1130에서 제어부(305)는 객체 구분된 바코드에서 데이터를 추출한다. 단계 1140에서 제어부(305)는 객체 구분된 바코드의 위에 상기 추출된 데이터(또는 그 일부나 관련된 데이터)를 표시하도록 표시부(326)을 제어한다.11 is a flowchart illustrating a barcode-related data display method according to an embodiment of the present invention. In the description of FIG. 11, the description overlapping with the above description may be omitted. 11, in step 1110, the control unit 305 receives the captured image from the camera 327 or the wireless communication unit. In step 1120, the control unit 305 identifies the bar code in the captured image. In step 1130, the control unit 305 extracts data from the object-separated bar code. In step 1140, the control unit 305 controls the display unit 326 to display the extracted data (or a part or the related data) on the object-separated bar code.

도 12는 QR코드의 파인더 패턴들을 나타낸 도면이다. 도 12를 참조하면, 도면 부호 1210, 1220, 1230이 해당 캡처 이미지에서 검출된 QR 코드의 파인드 패턴들이다. 제어부(305)는 제 1 중심점(1211)과 제 2 중심점(1221)을 연결하는 제 1 선분(1240)의 제 1 길이를 계산한다. 제어부(305)는 제 2 중심점(1221)과 제 3 중심점(1231)을 연결하는 제 2 선분(1250)의 제 2 길이를 계산한다. 여기서 길이의 단위는 픽셀, 블록 등이다. 다음으로 제어부(305)는 카메라 자세와 관련된 비율 L(= 제 1 길이/제 2 길이 또는 제 2 길이/제 1 길이)을 계산한다. 예컨대, 카메라의 시야각이 피사체(즉, 바코드)에 대해 이상적으로 직각(90도)인 경우, 비율 L은 "1"일 수 있다. 카메라의 시야각이 피사체에 대해 비스듬해질수록 비율 L은 점점 커지거나 혹은 점점 작아질 수 있다.12 is a diagram showing finder patterns of a QR code. Referring to FIG. 12, reference numerals 1210, 1220, and 1230 denote the find patterns of QR codes detected in the captured image. The control unit 305 calculates the first length of the first line segment 1240 connecting the first center point 1211 and the second center point 1221. [ The control unit 305 calculates the second length of the second line segment 1250 connecting the second center point 1221 and the third center point 1231. [ Here, the units of length are pixels, blocks, and the like. Next, the control unit 305 calculates a ratio L (= first length / second length or second length / first length) related to the camera posture. For example, if the viewing angle of the camera is ideally right (90 degrees) to the subject (i.e., bar code), the ratio L may be "1 ". As the viewing angle of the camera becomes oblique with respect to the subject, the ratio L may become gradually larger or smaller.

어떤 실시예들에 따르면, 전자 장치를 동작하는 방법은 복수의 디지털 이미지 상에서, 인식된 객체(object)를 추적(tracking)하는 동작을 포함하며, 상기 추적하는 동작은, 상기 이미지들 중 적어도 하나로부터 인식된 객체를 적어도 일부 이용하여, 참조(reference) 객체를 생성하는 동작; 및 상기 생성된 참조 객체를 이용하여, 상기 객체를 추적하는 동작을 포함할 수 있다. 상기 참조(reference) 객체를 생성하는 동작은, 상기 인식된 객체에 포함된 에러(error)를 수정하는 동작을 포함할 수 있다. 추가적으로, 상기 참조(reference) 객체를 생성하는 동작은 상기 에러(error)가 수정된 인식된 객체가 올바로 수정되었는지를 결정하는 동작을 포함할 수 있다. 상기 객체는, 바코드를 포함하며, 상기 참조(reference) 객체를 생성하는 동작은, 상기 바코드로부터 데이터를 추출하는 동작; 및 상기 추출된 데이터에 포함된 에러를 수정하는 동작을 포함할 수 있다. 상기 참조(reference) 객체를 생성하는 동작은 상기 에러가 수정된 데이터를 디코딩하는 동작을 더 포함할 수 있다. 상기 객체는, 바코드를 포함하며, 상기 생성된 참조 객체를 이용하여, 상기 객체를 추적하는 동작은, 생성된 참조 바코드로부터 특징점들을 획득하는 동작; 및 상기 특징점들을 이용하여, 상기 복수의 이미지들 상에서 상기 바코드를 추적하는 동작을 포함할 수 있다.According to some embodiments, a method of operating an electronic device includes the act of tracking a recognized object on a plurality of digital images, wherein the tracking operation is performed on at least one of the images Using at least some of the recognized objects to generate a reference object; And tracking the object using the generated reference object. The act of creating the reference object may include modifying an error contained in the recognized object. Additionally, the act of creating the reference object may include determining whether the recognized object to which the error was corrected has been modified correctly. Wherein the object includes a barcode, the act of creating the reference object comprises: extracting data from the barcode; And correcting errors contained in the extracted data. The act of creating the reference object may further include decoding the error corrected data. Wherein the object includes a barcode, and using the generated reference object, tracking the object comprises: obtaining minutiae points from the generated reference barcode; And tracking the barcode on the plurality of images using the feature points.

어떤 실시예들에 따르면, 전자 장치를 동작하는 방법은 캡처된 이미지에서 바코드를 객체 구분하는 단계; 상기 바코드에서 데이터를 추출하는 단계; 상기 데이터를 이용하여 상기 바코드의 오리지널을 생성하는 단계; 상기 오리지널에서 특징 점들을 획득하는 단계; 및 상기 특징 점들을 이용하여 상기 바코드를 추적하는 단계를 포함할 수 있다. 상기 바코드를 추적하는 단계는, 상기 오리지널의 특징 점들을 새로 캡처된 이미지에 투영하는 단계; 상기 투영된 특징 점들 각각에 대응되는 상기 오리지널의 패치들을 상기 바코드에 매칭이 되게 변형하는 단계; 상기 변형된 패치들에 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 단계; 및 상기 검색 결과를 기반으로 상기 전자 장치의 자세를 추정하는 단계를 포함할 수 있다. 상기 전자 장치의 자세를 추정하는 단계는 상기 변형된 패치들과 상기 검색된 패치들 각각의 간격들을 나타내는 값들을 이용하여 상기 전자 장치의 자세를 추정하는 단계를 포함할 수 있다. 상기 간격들이, 상기 변형된 패치들 각각의 중심점들과 상기 검색된 패치들 각각의 중심점들 각각의 간격들일 수 있다. 상기 변형된 패치들에 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 단계는, 상기 변형된 패치들을 각각 상기 투영된 특징 점에서부터 상기 전자 장치에 의해 선택된 궤적으로 이동시켜, 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 단계를 포함할 수 있다. 상기 궤적은 나선형일 수 있다. 상기 추적되는 바코드 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하는 단계를 더 포함할 수 있다. 상기 오리지널에서 특징점들을 획득하는 단계는, 상기 오리지널의 크기를 확대하는 단계 및 상기 확대된 오리지널을 다수의 패치들로 구성된 격자무늬(grid)로 나누는 단계; 상기 패치들 각각에서 특징 점들을 획득하는 단계를 포함할 수 있다. According to some embodiments, a method of operating an electronic device includes: segmenting a bar code in a captured image; Extracting data from the barcode; Generating an original of the barcode using the data; Obtaining characteristic points from the original; And tracking the barcode using the feature points. The step of tracking the barcode may include projecting the original feature points onto a newly captured image; Transforming the original patches corresponding to each of the projected characteristic points to match the barcode; Retrieving patches corresponding respectively to the modified patches from the newly captured image; And estimating a posture of the electronic device based on the search result. The step of estimating the attitude of the electronic device may include estimating the attitude of the electronic device using the values representing the intervals of the modified patches and each of the retrieved patches. The intervals may be intervals of each of the center points of each of the modified patches and the center points of each of the retrieved patches. Wherein retrieving the patches corresponding respectively to the modified patches from the newly captured image further comprises moving the modified patches from the projected feature point to a locus selected by the electronic device, And retrieving from the newly captured image. The locus may be spiral. Displaying the data, a portion of the data, or information related to the data on the barcode to be tracked. The step of acquiring minutiae points in the original may include the steps of enlarging the size of the original and dividing the enlarged original into grids composed of a plurality of patches; And acquiring characteristic points in each of the patches.

어떤 실시예들에 따르면, 전자 장치를 동작하는 방법은 캡처된 이미지를 수신하는 단계; 캡처된 이미지에서 바코드를 객체 구분하는 단계; 상기 바코드에서 데이터를 추출하는 단계; 및 상기 바코드의 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하는 단계를 포함할 수 있다.According to some embodiments, a method of operating an electronic device includes receiving a captured image; Dividing the barcode into objects in the captured image; Extracting data from the barcode; And displaying the data, a portion of the data, or information related to the data on the barcode.

어떤 실시예들에 따르면, 전자 장치는 복수의 디지털 이미지들을 저장하도록 구성된 메모리; 프로세서를 포함하며, 상기 프로세서는, 상기 복수의 디지털 이미지 상에서, 인식된 객체(object)를 추적(tracking)하도록 구성되고, 상기 추적을 위하여, 상기 이미지들 중 적어도 하나로부터 인식된 객체를 적어도 일부 이용하여, 참조(reference) 객체를 생성하고, 상기 생성된 참조 객체를 이용하여, 상기 객체를 추적하도록 구성될 수 있다. 상기 프로세서는, 상기 인식된 객체에 포함된 에러(error)를 수정하도록 구성될 수 있다. 상기 프로세서는, 상기 에러(error)가 수정된 인식된 객체가 올바로 수정되었는지를 결정하도록 구성될 수 있다. 상기 객체는 바코드를 포함하고, 상기 프로세서는, 상기 바코드로부터 데이터를 추출하여 상기 추출된 데이터에 포함된 에러를 수정하도록 구성될 수 있다. 상기 프로세서는, 상기 에러가 수정된 데이터를 디코딩하도록 구성될 수 있다. 상기 객체는 바코드를 포함하고, 상기 프로세서는, 생성된 참조 바코드로부터 특징점들을 획득하도록 구성되고, 상기 특징점들을 이용하여, 상기 복수의 이미지들 상에서 상기 바코드를 추적하도록 구성될 수 있다. According to some embodiments, the electronic device comprises a memory configured to store a plurality of digital images; Wherein the processor is configured to track a recognized object on the plurality of digital images and to track the object using at least some of the objects recognized from at least one of the images To generate a reference object, and to use the generated reference object to track the object. The processor may be configured to modify an error contained in the recognized object. The processor may be configured to determine whether the recognized object for which the error was corrected has been modified correctly. The object may include a barcode, and the processor may be configured to extract data from the barcode and to correct errors contained in the extracted data. The processor may be configured to decode the error corrected data. The object includes a barcode and the processor is configured to obtain feature points from the generated reference barcode and to use the feature points to track the barcode on the plurality of images.

어떤 실시예들에 따르면, 전자 장치는 이미지를 캡처하는 카메라; 상기 캡처된 이미지를 표시하는 표시부; 및 상기 캡처된 이미지에서 바코드를 검출하여 추적하는 제어부를 포함하고, 상기 제어부는, 상기 캡처된 이미지에서 바코드를 객체 구분하고, 상기 바코드에서 데이터를 추출하고, 상기 데이터를 이용하여 상기 바코드의 오리지널을 생성하고, 상기 오리지널에서 특징 점들을 획득하고, 상기 특징 점들을 이용하여 상기 바코드를 추적할 수 있다. 상기 제어부는, 상기 오리지널의 특징 점들을 새로 캡처된 이미지에 투영하고, 상기 투영된 특징 점들 각각에 대응되는 상기 오리지널의 패치들을 상기 바코드에 매칭이 되게 변형하고, 상기 변형된 패치들에 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하고, 상기 검색 결과를 기반으로 상기 전자 장치의 자세를 추정할 수 있다. 상기 제어부는, 상기 변형된 패치들과 상기 검색된 패치들 각각의 간격들을 나타내는 값들을 이용하여 상기 전자 장치의 자세를 추정할 수 있다. 상기 간격들이, 상기 변형된 패치들 각각의 중심점들과 상기 검색된 패치들 각각의 중심점들 각각의 간격들일 수 있다. 상기 제어부는, 상기 변형된 패치들을 각각 상기 투영된 특징 점에서부터 상기 전자 장치에 의해 선택된 궤적으로 이동시켜, 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색할 수 있다. 상기 표시부는, 상기 추적되는 바코드 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시할 수 있다. 상기 제어부는, 상기 오리지널의 크기를 확대하고, 상기 확대된 오리지널을 다수의 패치들로 구성된 격자무늬(grid)로 나누고, 상기 패치들 각각에서 특징 점들을 획득할 수 있다.According to some embodiments, the electronic device comprises a camera for capturing an image; A display unit for displaying the captured image; And a control unit for detecting and tracking a barcode in the captured image, wherein the controller identifies an object of the barcode in the captured image, extracts data from the barcode, and extracts the original of the barcode using the data, Obtain feature points from the original, and track the barcodes using the feature points. Wherein the control unit projects the original feature points onto a newly captured image, transforms the original patches corresponding to each of the projected feature points to match the bar code, Retrieve the patches from the newly captured image, and estimate the posture of the electronic device based on the search results. The control unit may estimate the posture of the electronic device using the values indicating the intervals of the modified patches and the searched patches. The intervals may be intervals of each of the center points of each of the modified patches and the center points of each of the retrieved patches. The control unit may move the deformed patches from the projected feature points, respectively, to a locus selected by the electronic device, and retrieve corresponding patches from the newly captured image. The display unit may display the data, a part of the data, or information related to the data on the barcode to be tracked. The control unit may enlarge the size of the original, divide the enlarged original into grids constituted by a plurality of patches, and obtain characteristic points from each of the patches.

어떤 실시예들에 따르면, 전자 장치는 이미지를 캡처하는 카메라; 상기 캡처된 이미지를 표시하는 표시부; 및 상기 캡처된 이미지에서 바코드를 검출하여 추적하는 제어부를 포함하고, 상기 제어부는, 상기 캡처된 이미지에서 바코드를 객체 구분하고, 상기 바코드에서 데이터를 추출하고, 상기 바코드의 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하도록 제어할 수 있다.According to some embodiments, the electronic device comprises a camera for capturing an image; A display unit for displaying the captured image; And a controller for detecting and tracking a barcode in the captured image, wherein the controller is configured to classify the barcode in the captured image, extract data from the barcode, and store the data and the data on the barcode And to display information related to a part or the data.

상술한 바와 같은 본 발명에 따른 방법은 다양한 컴퓨터를 통하여 수행될 수 있는 프로그램 명령으로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 여기서 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 포함할 수 있다. 또한 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수 있다. 또한 기록매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기매체(Magnetic Media)와, CD-ROM, DVD와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 롬(ROM)과, 램(RAM)과, 플래시 메모리 등과 같은 하드웨어 장치가 포함될 수 있다. 또한 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드가 포함될 수 있다. 하드웨어 장치는 본 발명을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.The method according to the present invention as described above can be implemented in a program command that can be executed through various computers and recorded in a computer-readable recording medium. The recording medium may include a program command, a data file, a data structure, and the like. Also, the program instructions may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software. In addition, a recording medium includes a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical medium such as a CD-ROM and a DVD, and a magnetic optical medium such as a floppy disk. A hard disk, a magneto-optical medium, a ROM, a RAM, a flash memory, and the like. The program instructions may also include machine language code such as those generated by the compiler, as well as high-level language code that may be executed by the computer using an interpreter or the like. A hardware device may be configured to operate as one or more software modules for carrying out the invention.

본 발명에 따른 방법 및 장치는 전술한 실시 예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위에서 다양하게 변형하여 실시할 수가 있다.The method and apparatus according to the present invention are not limited to the above-described embodiments, and various modifications may be made within the scope of the technical idea of the present invention.

100: 객체 처리 시스템
110: 클라이언트 120: 서버
210: 입력 제어 유닛 220: 인식 유닛
230: 객체 구분 유닛 240: 추적 유닛
300: 단말기 305: 제어부
310: 콜 프로세서 320: 어플리케이션 프로세서
330: RF 유닛 340: 메모리
100: object processing system
110: client 120: server
210: input control unit 220: recognition unit
230: Object sort unit 240: Trace unit
300: Terminal 305:
310: call processor 320: application processor
330: RF unit 340: memory

Claims (30)

전자 장치를 동작하는 방법에 있어서,
복수의 디지털 이미지 상에서, 인식된 객체(object)를 추적(tracking)하는 동작을 포함하며,
상기 추적하는 동작은,
상기 이미지들 중 적어도 하나로부터 인식된 객체를 적어도 일부 이용하여, 참조(reference) 객체를 생성하는 동작; 및
상기 생성된 참조 객체를 이용하여, 상기 객체를 추적하는 동작을 포함하는 것을 특징으로 하는 방법.
A method of operating an electronic device,
The method comprising tracking an object on a plurality of digital images,
The tracking operation may include:
Using at least some of the objects recognized from at least one of the images to generate a reference object; And
And tracing the object using the generated reference object.
제 1 항에 있어서, 상기 참조(reference) 객체를 생성하는 동작은,
상기 인식된 객체에 포함된 에러(error)를 수정하는 동작을 포함하는 것을 특징으로 하는 방법.
2. The method of claim 1, wherein the act of creating the reference object comprises:
And modifying an error contained in the recognized object.
제 2 항에 있어서, 상기 참조(reference) 객체를 생성하는 동작은,
상기 에러(error)가 수정된 인식된 객체가 올바로 수정되었는지를 결정하는 동작을 포함하는 것을 특징으로 하는 방법.
3. The method of claim 2, wherein the act of creating the reference object comprises:
And determining if the recognized object for which the error was corrected has been modified correctly.
제 1 항에 있어서, 상기 객체는, 바코드를 포함하며,
상기 참조(reference) 객체를 생성하는 동작은,
상기 바코드로부터 데이터를 추출하는 동작; 및
상기 추출된 데이터에 포함된 에러를 수정하는 동작을 포함하는 것을 특징으로 하는 방법.
The method of claim 1, wherein the object comprises a bar code,
The act of creating the reference object may include:
Extracting data from the barcode; And
And correcting errors contained in the extracted data.
제 4 항에 있어서, 상기 참조(reference) 객체를 생성하는 동작은,
상기 에러가 수정된 데이터를 디코딩하는 동작을 더 포함하는 것을 특징으로 하는 방법.
5. The method of claim 4, wherein the act of creating the reference object comprises:
Further comprising decoding the error corrected data.
제 1 항에 있어서, 상기 객체는, 바코드를 포함하며,
상기 생성된 참조 객체를 이용하여, 상기 객체를 추적하는 동작은,
생성된 참조 바코드로부터 특징점들을 획득하는 동작; 및
상기 특징점들을 이용하여, 상기 복수의 이미지들 상에서 상기 바코드를 추적하는 동작을 포함하는 것을 특징으로 하는 방법.
The method of claim 1, wherein the object comprises a bar code,
And using the generated reference object to track the object,
Obtaining feature points from the generated reference barcode; And
And using the feature points to track the barcode on the plurality of images.
전자 장치를 동작하는 방법에 있어서,
캡처된 이미지에서 바코드를 객체 구분하는 단계;
상기 바코드에서 데이터를 추출하는 단계;
상기 데이터를 이용하여 상기 바코드의 오리지널을 생성하는 단계;
상기 오리지널에서 특징 점들을 획득하는 단계; 및
상기 특징 점들을 이용하여 상기 바코드를 추적하는 단계를 포함하는 것을 특징으로 하는 방법.
A method of operating an electronic device,
Dividing the barcode into objects in the captured image;
Extracting data from the barcode;
Generating an original of the barcode using the data;
Obtaining characteristic points from the original; And
And tracking the barcode using the feature points.
제 7 항에 있어서,
상기 바코드를 추적하는 단계는,
상기 오리지널의 특징 점들을 새로 캡처된 이미지에 투영하는 단계;
상기 투영된 특징 점들 각각에 대응되는 상기 오리지널의 패치들을 상기 바코드에 매칭이 되게 변형하는 단계;
상기 변형된 패치들에 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 단계; 및
상기 검색 결과를 기반으로 상기 전자 장치의 자세를 추정하는 단계를 포함하는 것을 특징으로 하는 방법.
8. The method of claim 7,
Wherein the step of tracking the barcode comprises:
Projecting the original feature points onto a newly captured image;
Transforming the original patches corresponding to each of the projected characteristic points to match the barcode;
Retrieving patches corresponding respectively to the modified patches from the newly captured image; And
And estimating a posture of the electronic device based on the search result.
제 8 항에 있어서,
상기 전자 장치의 자세를 추정하는 단계는,
상기 변형된 패치들과 상기 검색된 패치들 각각의 간격들을 나타내는 값들을 이용하여 상기 전자 장치의 자세를 추정하는 단계를 포함하는 것을 특징으로 하는 방법.
9. The method of claim 8,
Wherein the step of estimating the posture of the electronic device includes:
And estimating the attitude of the electronic device using values representing the intervals of the modified patches and each of the retrieved patches.
제 9 항에 있어서,
상기 간격들이, 상기 변형된 패치들 각각의 중심점들과 상기 검색된 패치들 각각의 중심점들 각각의 간격들인 것을 특징으로 하는 방법.
10. The method of claim 9,
Characterized in that the intervals are the intervals of the center points of each of the deformed patches and the center points of each of the retrieved patches.
제 8 항에 있어서,
상기 변형된 패치들에 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 단계는,
상기 변형된 패치들을 각각 상기 투영된 특징 점에서부터 상기 전자 장치에 의해 선택된 궤적으로 이동시켜, 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 단계를 포함하는 것을 특징으로 하는 방법.
9. The method of claim 8,
The step of retrieving, from the newly captured image, patches corresponding to the modified patches, respectively,
Moving the deformed patches from the projected feature points, respectively, to a locus selected by the electronic device, and retrieving corresponding patches from the newly captured image.
제 11 항에 있어서,
상기 궤적은 나선형인 것을 특징으로 하는 방법.
12. The method of claim 11,
Characterized in that the locus is helical.
제 7 항에 있어서,
상기 추적되는 바코드 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
8. The method of claim 7,
Further comprising displaying the data, a portion of the data, or information associated with the data on the tracked bar code.
제 7 항에 있어서,
상기 오리지널에서 특징 점들을 획득하는 단계는,
상기 오리지널의 크기를 확대하는 단계 및
상기 확대된 오리지널을 다수의 패치들로 구성된 격자무늬(grid)로 나누는 단계;
상기 패치들 각각에서 특징 점들을 획득하는 단계를 포함하는 것을 특징으로 하는 방법.
8. The method of claim 7,
The step of acquiring characteristic points in the original,
Enlarging the size of the original;
Dividing the enlarged original into grids comprising a plurality of patches;
And acquiring characteristic points in each of the patches.
전자 장치를 동작하는 방법에 있어서,
캡처된 이미지를 수신하는 단계;
캡처된 이미지에서 바코드를 객체 구분하는 단계;
상기 바코드에서 데이터를 추출하는 단계; 및
상기 바코드의 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하는 단계를 포함하는 것을 특징으로 하는 방법.
A method of operating an electronic device,
Receiving a captured image;
Dividing the barcode into objects in the captured image;
Extracting data from the barcode; And
Displaying the data, a portion of the data, or information related to the data on the barcode.
전자 장치에 있어서,
복수의 디지털 이미지들을 저장하도록 구성된 메모리; 및
프로세서를 포함하며,
상기 프로세서는,
상기 복수의 디지털 이미지 상에서, 인식된 객체(object)를 추적(tracking)하도록 구성되고,
상기 추적을 위하여, 상기 이미지들 중 적어도 하나로부터 인식된 객체를 적어도 일부 이용하여, 참조(reference) 객체를 생성하고,
상기 생성된 참조 객체를 이용하여, 상기 객체를 추적하도록 구성된 것을 특징으로 하는 전자 장치.
In an electronic device,
A memory configured to store a plurality of digital images; And
≪ / RTI >
The processor comprising:
On the plurality of digital images, to track a recognized object,
For the tracking, at least some of the objects recognized from at least one of the images are used to generate a reference object,
And to trace the object using the generated reference object.
제 16 항에 있어서,
상기 프로세서는,
상기 인식된 객체에 포함된 에러(error)를 수정하도록 구성된 것을 특징으로 하는 전자 장치.
17. The method of claim 16,
The processor comprising:
And to correct an error contained in the recognized object.
제 17 항에 있어서,
상기 프로세서는,
상기 에러(error)가 수정된 인식된 객체가 올바로 수정되었는지를 결정하도록 구성된 것을 특징으로 하는 전자 장치.
18. The method of claim 17,
The processor comprising:
And to determine whether the recognized object for which the error was corrected has been modified correctly.
제 16 항에 있어서,
상기 객체는 바코드를 포함하고,
상기 프로세서는,
상기 바코드로부터 데이터를 추출하여 상기 추출된 데이터에 포함된 에러를 수정하도록 구성된 것을 특징으로 하는 전자 장치.
17. The method of claim 16,
The object including a bar code,
The processor comprising:
And to extract data from the barcode and to correct errors contained in the extracted data.
제 19 항에 있어서,
상기 프로세서는,
상기 에러가 수정된 데이터를 디코딩하도록 구성된 것을 특징으로 하는 전자 장치.
20. The method of claim 19,
The processor comprising:
And to decode the error corrected data.
제 16 항에 있어서,
상기 객체는 바코드를 포함하고,
상기 프로세서는,
생성된 참조 바코드로부터 특징점들을 획득하도록 구성되고,
상기 특징점들을 이용하여, 상기 복수의 이미지들 상에서 상기 바코드를 추적하도록 구성된 것을 특징으로 하는 전자 장치.
17. The method of claim 16,
The object including a bar code,
The processor comprising:
And to obtain feature points from the generated reference barcode,
And use the feature points to track the barcode on the plurality of images.
이미지를 캡처하는 카메라;
상기 캡처된 이미지를 표시하는 표시부; 및
상기 캡처된 이미지에서 바코드를 검출하여 추적하는 제어부를 포함하고,
상기 제어부는,
상기 캡처된 이미지에서 바코드를 객체 구분하고, 상기 바코드에서 데이터를 추출하고, 상기 데이터를 이용하여 상기 바코드의 오리지널을 생성하고, 상기 오리지널에서 특징 점들을 획득하고, 상기 특징 점들을 이용하여 상기 바코드를 추적하는 것을 특징으로 하는 전자 장치.
A camera for capturing an image;
A display unit for displaying the captured image; And
And a controller for detecting and tracking a barcode in the captured image,
Wherein,
The method of claim 1, further comprising: extracting data from the barcode; generating an original of the barcode using the data; acquiring characteristic points from the original; And tracking the electronic device.
제 22 항에 있어서,
상기 제어부는,
상기 오리지널의 특징 점들을 새로 캡처된 이미지에 투영하고, 상기 투영된 특징 점들 각각에 대응되는 상기 오리지널의 패치들을 상기 바코드에 매칭이 되게 변형하고, 상기 변형된 패치들에 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하고, 상기 검색 결과를 기반으로 상기 전자 장치의 자세를 추정하는 것을 특징으로 하는 전자 장치.
23. The method of claim 22,
Wherein,
Projecting the original feature points onto a newly captured image, modifying the original patches corresponding to each of the projected feature points to match the barcode, and applying patches corresponding to the modified patches to the new Retrieving from the captured image, and estimating the posture of the electronic device based on the search result.
제 23 항에 있어서,
상기 제어부는,
상기 변형된 패치들과 상기 검색된 패치들 각각의 간격들을 나타내는 값들을 이용하여 상기 전자 장치의 자세를 추정하는 것을 특징으로 하는 전자 장치.
24. The method of claim 23,
Wherein,
And estimates the attitude of the electronic device by using values indicating the intervals of the modified patches and each of the retrieved patches.
제 24 항에 있어서,
상기 간격들이, 상기 변형된 패치들 각각의 중심점들과 상기 검색된 패치들 각각의 중심점들 각각의 간격들인 것을 특징으로 하는 전자 장치.
25. The method of claim 24,
Wherein the intervals are intervals of respective center points of each of the modified patches and center points of each of the retrieved patches.
제 23 항에 있어서,
상기 제어부는,
상기 변형된 패치들을 각각 상기 투영된 특징 점에서부터 상기 전자 장치에 의해 선택된 궤적으로 이동시켜, 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 것을 특징으로 하는 전자 장치.
24. The method of claim 23,
Wherein,
Moving the deformed patches from the projected feature points, respectively, to a locus selected by the electronic device, and retrieving corresponding patches from the newly captured image.
제 26 항에 있어서,
상기 궤적은 나선형인 것을 특징으로 하는 전자 장치.
27. The method of claim 26,
Wherein the locus is spiral.
제 22 항에 있어서,
상기 표시부는,
상기 추적되는 바코드 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하는 것을 특징으로 하는 전자 장치.
23. The method of claim 22,
The display unit includes:
And displays the data, a part of the data, or information related to the data on the barcode to be tracked.
제 22 항에 있어서,
상기 제어부는,
상기 오리지널의 크기를 확대하고, 상기 확대된 오리지널을 다수의 패치들로 구성된 격자무늬(grid)로 나누고, 상기 패치들 각각에서 특징 점들을 획득하는 것을 특징으로 하는 전자 장치.
23. The method of claim 22,
Wherein,
Enlarging the size of the original, dividing the enlarged original into grids composed of a plurality of patches, and obtaining characteristic points in each of the patches.
이미지를 캡처하는 카메라;
상기 캡처된 이미지를 표시하는 표시부; 및
상기 캡처된 이미지에서 바코드를 검출하여 추적하는 제어부를 포함하고,
상기 제어부는,
상기 캡처된 이미지에서 바코드를 객체 구분하고, 상기 바코드에서 데이터를 추출하고, 상기 바코드의 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하도록 제어하는 것을 특징으로 하는 전자 장치.
A camera for capturing an image;
A display unit for displaying the captured image; And
And a controller for detecting and tracking a barcode in the captured image,
Wherein,
Wherein the controller controls to distinguish a bar code from the captured image, extract data from the bar code, and display the data, a part of the data, or information related to the data on the bar code.
KR1020140002702A 2013-02-15 2014-01-09 Object tracking device KR20140103036A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/178,657 US9195872B2 (en) 2013-02-15 2014-02-12 Object tracking method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361765467P 2013-02-15 2013-02-15
US61/765,467 2013-02-15

Publications (1)

Publication Number Publication Date
KR20140103036A true KR20140103036A (en) 2014-08-25

Family

ID=51747570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140002702A KR20140103036A (en) 2013-02-15 2014-01-09 Object tracking device

Country Status (1)

Country Link
KR (1) KR20140103036A (en)

Similar Documents

Publication Publication Date Title
CN109584276B (en) Key point detection method, device, equipment and readable medium
KR101457313B1 (en) Method, apparatus and computer program product for providing object tracking using template switching and feature adaptation
US10021371B2 (en) Method and apparatus for gross-level user and input detection using similar or dissimilar camera pair
CN108805917B (en) Method, medium, apparatus and computing device for spatial localization
US9195872B2 (en) Object tracking method and apparatus
US8306267B1 (en) Object tracking
US9177224B1 (en) Object recognition and tracking
US20140233800A1 (en) Method of tracking object and electronic device supporting the same
CN110986969B (en) Map fusion method and device, equipment and storage medium
WO2019041519A1 (en) Target tracking device and method, and computer-readable storage medium
KR20150059466A (en) Method and apparatus for recognizing object of image in electronic device
US9224064B2 (en) Electronic device, electronic device operating method, and computer readable recording medium recording the method
US9058660B2 (en) Feature searching based on feature quality information
KR20140103046A (en) Object Tracing Method and Electronic Device supporting the same
US20140232748A1 (en) Device, method and computer readable recording medium for operating the same
JP2017523498A (en) Eye tracking based on efficient forest sensing
JP2018524657A (en) Managing feature data for environment mapping on electronic devices
CN110089117B (en) Processing and formatting video for interactive presentation
CN115699096B (en) Tracking augmented reality devices
KR20120044484A (en) Apparatus and method for tracking object in image processing system
TWI547887B (en) Method, apparatus and computer program for face tracking utilizing integral gradient projections
CN109816628B (en) Face evaluation method and related product
JP6305856B2 (en) Image processing apparatus, image processing method, and program
KR20140103043A (en) Electronic device, method and computer readable recording medium for operating the electronic device
US20140231523A1 (en) Electronic device capable of recognizing object

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application