KR20140103036A - Object tracking device - Google Patents
Object tracking device Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1456—Methods 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
Description
본 개시는 전자 장치에 관한 것으로 더 상세하게는 객체를 추적할 수 있는 기능을 포함하는 전자 장치 및 이를 동작하는 방법에 관한 것이다.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
이와 같은 구성을 포함하는 본 개시의 객체 처리 시스템(100)은 앞서 설명한 객체 추적 기능을 지원하는 클라이언트(110)에 장착하고, 이를 기반으로 객체 추적 기능을 지원한다. 이때 본 개시의 객체 처리 시스템(100)은 클라이언트(110)의 통신 유닛을 이용하여 통신망을 통해 서버(120)와 클라이언트(110) 간의 통신 채널을 형성하도록 지원할 수 있다. 이에 따라 객체 추적 기능을 지원하는 과정에서 요구되는 다양한 정보는 서버(120)를 통해 클라이언트(110)로 제공될 수 있다. 또는 본 개시에서 클라이언트(110)는 서버(120)에 저장된 데이터들을 서버(120)로부터 수신하여 저장하고, 저장된 데이터들을 기반으로 객체 추적 기능을 지원할 수 있다.The
객체 처리 시스템(100)에서 클라이언트(110)는 상술한 전자 장치들 중에 어느 하나로 구현될 수 있고, 통신망을 통하여 서버(120)에 접속을 수행한다. 그리고 클라이언트(110)는 획득된 이미지 정보를 서버(120)에 제공할 수 있다. 특히 클라이언트(110)는 획득된 이미지 정보를 실시간으로 서버(120)에 제공할 수 있다. 그러면 서버(120)는 수신된 이미지 정보들을 기반으로 객체 추적을 위한 위상 상관 연산을 수행하고 그 결과 값을 클라이언트(110)에 제공할 수 있다. 클라이언트(110)는 서버(120)가 제공한 값들을 기반으로 이미지 정보에서의 객체 추적에 대한 연산을 생략하고 보다 용이한 객체 추적을 위한 데이터 처리를 지원할 수 있다. 한편 클라이언트(110)는 서버(120)가 제공하는 원격 참조 객체 및 컨텐츠 데이터를 수신할 수 있다. 그리고 클라이언트(110)는 원격 참조 객체를 이용하여 이미지 정보의 인식 및 객체 구분(localization)를 진행할 수 있다. 또한 클라이언트(110)는 컨텐츠 데이터를 증강 현실(Augmented Reality; AR) 서비스에 적용하도록 제어할 수 있다. In the
한편, 클라이언트(110)의 프로세서는 디지털 이미지들 중 적어도 하나로부터 객체(object)를 인식할 수 있고, 인식된 객체를 적어도 일부 이용하여 참조 객체를 생성할 수 있고, 생성된 참조 객체를 이용하여 상기 인식된 객체를 추적(tracking)할 수 있다. 또한 프로세서는 참조 객체를 생성할 때, 상기 인식된 객체에 포함된 에러(error)를 수정할 수 있다. 프로세서는 에러(error)가 수정된 상기 인식된 객체가 올바로 수정되었는지 여부를 결정할 수 있다. 객체가 바코드를 포함할 경우, 프로세서는 바코드로부터 데이터를 추출할 수 있고, 추출된 데이터에 포함된 에러를 수정할 수 있고, 에러 수정된 데이터를 디코딩할 수 있다. 또한, 객체가 바코드를 포함할 경우, 프로세서는 인식된 객체를 적어도 일부 이용하여 참조 바코드를 생성할 수 있고, 생성된 참조 바코드로부터 특징점들을 획득할 수 있고, 특징점들을 이용하여 상기 객체를 추적할 수 있다.Meanwhile, the processor of the
객체 처리 시스템(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
객체 처리 시스템(100)에서 서버(120)는 클라이언트(110)의 접속을 지원한다. 그리고 서버(120)는 클라이언트(110)의 요청에 따라 객체 추적 기능 및 증강 현실 서비스 기능을 지원한다. 이를 위하여 서버(120)는 객체 추적 기능 지원을 위한 원격 참조 DB(121)를 저장할 수 있다. 또한 서버(120)는 증강 현실 서비스 기능 지원을 위해 증강 현실에 적용할 원격 컨텐츠 DB(122)를 저장할 수 있다. 서버(120)는 클라이언트(110)의 요청에 따라 특정 이미지 정보의 인식 과정, 객체 구분(localization) 과정, 객체 추적 과정 중 적어도 하나의 연산을 수행할 수 있다. 그리고 서버(120)는 각 과정에서의 수행 결과를 클라이언트(110)의 요청에 따라, 클라이언트(110)에게 제공할 수 있다.In the
객체 처리 시스템(100)에서 통신망은 클라이언트(110)와 서버(120) 사이에 배치될 수 있다. 그리고 통신망은 두 구성 간의 통신 채널을 형성할 수 있다. 통신망은 클라이언트(110)가 이동 통신 기능을 지원하는 경우 이동통신 네트워크 장치들로 구성될 수 있다. 또한 통신망은 서버(120)가 인터넷 네트워크를 통하여 통신 장치를 연결하는 경우 해당 인터넷 네트워크를 지원하는 장치들로 구성될 수 있다. 그리고 통신망은 이종망 간의 데이터 전달을 위한 네트워크를 장치를 더 포함할 수 있다. 따라서 본 개시의 통신망은 특정 통신 방식이나 통신 유닛 등으로 한정되는 것이 아니라, 클라이언트(110)와 서버(120) 간에 데이터 송수신을 수행할 수 있는 다양한 장치 및 방법이 적용된 장치로 이해되어야 할 것이다.In the
도 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
입력 제어 유닛(210)은 메인 유닛(111)에 제공되는 입력 데이터를 분류할 수 있다. 그리고 입력 제어 유닛(210)은 현재 메인 유닛(111)의 기능 수행 상태에 따라 입력 데이터의 전달 루트를 결정할 수 있다. 예컨대 입력 제어 유닛(210)은 초기 이미지 정보가 획득되면 해당 이미지 정보를 인식 유닛(220)에 제공할 수 있다. 이미지 정보는 메인 유닛(111)과 연결된 카메라 또는 메인 유닛(111)을 포함한 단말기에 배치된 카메라로부터 획득될 수 있다.The
입력 제어 유닛(210)은 인식 유닛(220)에 의한 이미지 인식 과정 및 객체 구분 유닛(230)에 의하여 객체 구분(localization) 과정이 완료되면 이미지 정보를 직접 추적 유닛(240)에 전달할 수 있다. 또는 입력 제어 유닛(210)은 이미지 정보를 인식 유닛(220) 및 추적 유닛(240)에 동시에 전달할 수 있다. 이에 따라 이미지 정보에 대한 인식 처리 및 객체 추적 처리가 병렬적으로 수행될 수도 있다.The
입력 제어 유닛(210)은 추적 유닛(240)에 의한 객체 추적 기능 수행 중인 경우 이미지 정보를 인식 유닛(220)에 제공하지 않도록 제어할 수 있다. 그리고 입력 제어 유닛(210)은 객체 추적에 실패한 경우 이미지 정보를 인식 유닛(220)에 다시 제공하도록 지원할 수 있다. 또한 입력 제어 유닛(210)은 AR 컨텐츠가 추적 중인 객체들에 적용되는 경우 다른 입력 정보들 예컨대 오디오 정보나 센서 정보 등을 추적 유닛(240)에 제공할 수 있다. The
인식 유닛(220)은 입력 제어 유닛(210)로부터 이미지 정보를 수신하면 이에 대한 인식 과정을 수행할 수 있다. 즉 인식 유닛(220)은 수신된 이미지 정보에서 특징 검출(221), 디스크립터 계산(Descriptors calculation)(222), 이미지 쿼리(image query) 과정(223)을 수행할 수 있다. When the
특징 검출(221)은 이미지에서 특징 점들을 검출하는 과정이 될 수 있다. 특징 검출(221)은 이진화 과정을 포함할 수 있다. 즉 이진화 과정에 수행되면 컬러 이미지가 흑백 이미지로 변환된다. 또한, 본 개시에 따른 특징 검출(221)은 바코드 검출 과정을 포함할 수 있다.The
디스크립터는 검출된 특징 정보를 기반으로 산출된 해당 이미지의 고유 특성을 정의한 정보가 될 수 있다. 이러한 디스크립터는 이미지 정보에서 일정 부분별로 특징 점들의 위치나 특징 점들 간의 배치 형태, 특징 점들의 고유 특성 중 적어도 하나에 의하여 정의될 수 있다. 즉 디스크립터는 이미지 정보의 일정 지점의 고유 특성을 간략화한 값이 될 수 있다. 따라서 하나의 이미지 정보에서 적어도 하나의 디스크립터가 추출될 수 있다. 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
객체 구분 유닛(230)은 이미지 정보를 구성하는 다양한 객체들을 구분하는 구성이다. 이러한 객체 구분 유닛(230)은 특징 매칭(231) 및 초기 자세 추정(Initial Pose Estimation) 단계(232)를 포함한다. 즉 객체 구분 유닛(230)은 이미지 정보에서 구분된 객체들의 특징 점들을 추출한다. 그리고 객체 구분 유닛(230)은 특정 객체들의 특징 점들을 참조 객체의 적어도 일부와 매칭한다. 이때 객체 구분 유닛(230)은 특징 점들의 매칭 정보가 없는 경우 매칭 정보를 새로 갱신할 수 있다. 객체에 대한 특징 매칭이 완료되면 객체 구분 유닛(230)은 이미지 정보에 포함된 적어도 하나의 객체들의 초기 자세 추정을 수행한다. 객체 구분 유닛(230)은 메인 유닛(111)이 객체 추적 기능을 활성화하는 경우 매칭 정보 및 초기 자세 정보 중 적어도 하나를 포함하는 객체 관련 정보를 추적 유닛(240)에 제공한다.The
추적 유닛(240)은 인식된 타겟 객체들의 초기 자세 추정을 객체 구분 유닛(230)로부터 전달받는다. 그리고 추적 유닛(240)은 연속적으로 타겟 객체의 자세 연산을 통해 트래킹을 유지할 수 있다. 추적 유닛(240)은 객체 자세에 포함되는 인식 정보 및 객체 구분(localization) 정보의 기본 출력(basic Output)을 가질 수 있다.The
도 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
콜 프로세서(310)는 RF부(330)와 신호 송수신을 수행하며, 메모리(340) 및 SIM 카드(311)와 신호 송수신을 수행할 수 있다. 그리고 콜 프로세서(310)는 어플리케이션 프로세서(320)와 통신하여 어플리케이션 프로세서(320)에 의하여 처리되는 기능 중 RF부(330), 메모리(340) 및 SIM 카드(311) 접근이 필요한 업무 처리를 지원할 수 있다.The
어플리케이션 프로세서(320)는 상술한 객체 처리 유닛(111) 또는 클라이언트(110)의 프로세서로써 동작할 수 있다. 또한 어플리케이션 프로세서(320)는 하나 이상의 중앙처리유닛(Central Processing Unit; CPU)을 포함할 수 있다. 또한, 어플리케이션 프로세서(320)는 하나 이상의 그래픽처리유닛(Graphic Processing Unit; GPU)을 더 포함할 수 있다.The
어플리케이션 프로세서(320)는 배터리(351)가 연결되는 전원 관리부(350)로부터 전원을 공급받는다. 어플리케이션 프로세서(320)는 RF부(330) 이외의 다양한 통신 유닛 예컨대 와이파이 유닛(321), 블루투스(Bluetooth; BT) 유닛(322), GPS 유닛(323), NFC(Near Field Communication) 유닛(324) 등과 신호 송수신을 수행하고 각 유닛에 의해 수행되는 기능을 지원한다.The
어플리케이션 프로세서(320)는 터치 패널 및 키 입력부 등을 포함하는 사용자 입력부(325)와 연결될 수 있다. 여기서 터치 패널은 표시부(326)의 화면에 설치된 터치스크린을 포함할 수 있다. 터치패널은 화면에 대한 터치입력기구(예, 손가락, 펜 등)의 제스처에 응답하여 터치이벤트를 발생하고, 터치이벤트를 AD(Analog to Digital) 변환하여 어플리케이션 프로세서(320)로 전달할 수 있다. 키 입력부는 터치 키를 포함할 수 있다. 터치키는 사용자의 터치를 감지하기 위해 정전용량 방식이나 저항막 방식 등으로 구현될 수 있다. 터치키는 사용자의 터치에 응답하여 이벤트를 발생하고, 이를 AP(320)로 전달할 수 있다. 키입력부는 터치 방식 외에 다른 방식의 키(예, 돔(dome) 키)도 포함할 수 있다.The
어플리케이션 프로세서(320)는 메모리(340)와 신호 송수신을 수행할 수 있다. 여기서 메모리(340)는 메인 메모리(main memory unit)와 보조메모리(secondary memory unit)를 포함할 수 있다. 보조 메모리는 부팅 프로그램, 적어도 하나 이상의 운영체제 및 어플리케이션들을 저장할 수 있다. 메인 메모리는 보조 메모리로부터 로딩된 각종 프로그램 예컨대, 부팅 프로그램, 운영체제 및 어플리케이션들을 저장할 수 있다. 어플리케이션 프로세서(320)로 배터리(351)의 전원이 공급되면 먼저 부팅 프로그램이 메인 메모리로 로딩(loading)된다. 이러한 부팅 프로그램은 운영체제를 메인메모리로 로딩한다. 운영체제는 어플리케이션들을 메인메모리로 로딩한다. 어플리케이션 프로세서(320)는 이와 같은 프로그램에 액세스하여 프로그램의 명령어를 해독하고, 해독 결과에 따른 기능(예컨대, 객체 인식, 객체 구분(localization), 객체 추적)을 실행할 수 있다. The
어플리케이션 프로세서(320)는 표시부(326), 카메라(327), 진동 모터(328), 오디오 처리부(380) 등과 연결될 수 있다.The
표시부(326)는 제어부(305) 특히, 어플리케이션 프로세서(320)의 제어 하에 데이터를 화면에 표시한다. 즉 제어부(305)가 데이터를 처리(예컨대, 디코딩(decoding))하여 버퍼에 저장하면, 표시부(326)는 버퍼에 저장된 데이터를 아날로그 신호로 변환하여 화면에 표시한다. 표시부(326)에 전원이 공급되면, 표시부(326)는 잠금 이미지를 화면에 표시한다. 잠금 이미지가 표시되고 있는 상태에서 잠금 해제 정보가 검출되면, 제어부(305)는 잠금을 해제한다. 표시부(326)는 제어부(305)의 제어 하에 잠금 이미지 대신 예컨대, 홈 이미지를 표시한다. 홈 이미지는 배경(background) 이미지(예컨대, 사용자에 의해 설정된 사진)와 이 위에 표시되는 다수의 아이콘을 포함한다. 여기서 아이콘들은 각각 어플리케이션 또는 콘텐츠(예, 사진 파일, 비디오 파일, 녹음 파일, 문서, 메시지 등)를 지시한다. 아이콘들 중 하나 예컨대, 객체 추적 어플리케이션의 아이콘이 터치입력기구에 의해 터치되면, 제어부(305)는 카메라(327)를 구동하고, 카메라(327)로부터 수신한 이미지를 이용하여 객체 추적 어플리케이션을 실행할 수 있다. 표시부(326)는 객체 추적 어플리케이션의 실행에 따른 이미지(예, 프리뷰 이미지와 객체 추적 정보)를 제어부(305)로부터 수신하고, 이를 아날로그 신호로 변환하여 출력할 수 있다.The
카메라(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
오디오 처리부(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
도 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
커널 계층(440)은 예로서 리눅스 커널로 구성될 수 있다. 커널 계층(440)은 표시 드라이버, 카메라 드라이버, BT 드라이버, 공유 메모리 드라이버, 바이더 드라이버, USB 드라이버, 키패드 드라이버, 와이파이 드라이버, 오디오 드라이버, 파워 관리부가 배치될 수 있다.The
라이브러리 계층(430)은 서페이스 매니저, 미디어 프레임워크, SQLite, OpenGL/ES, FreeType, Webkit, SGL, SSL, Libc 등을 포함한다. 라이브러리 계층(430)은 안드로이드 런타임 구성을 포함할 수 있다. 안드로이드 런타임은 코어 라이브러리 및 Dalvik Virtual Machine을 포함할 수 있다. Dalvik Virtual Machine은 객체 추적 기능이 지원되는 단말기의 위젯 기능 또는 실시간 실행이 요구되는 기능, 사전 설정된 스케줄에 따라 주기적으로 실행이 요구되는 기능 등을 지원할 수 있다.The
어플리케이션 프레임워크 계층(420)은 활동 매니저, 윈도우 매니저, 컨텐츠 프로바이더, 뷰 시스템, 알림 매니저, 패키지 매니저, 텔레포니 매니저, 리소스 매니저, 로케이션 매니저 등이 배치될 수 있다. 어플리케이션 계층(410)은 홈 어플리케이션(Application : 이하 앱), 다이얼러 앱, SMS/MMS 앱, 인스턴트 메신저(IM) 앱, 카메라 앱, 알람 앱, 계산기 앱, 컨텐츠 앱, 보이스 다이얼 앱, 이메일 앱, 캘린더 앱, 미디어 플레이어 앱, 앨범 앱, 시계 앱 등이 배치될 수 있다. The
이하에서는 본 개시의 객체 추적 기능에 대하여 도 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
단계 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
캡처 이미지에서 바코드가 객체 구분되면 단계 530에서 제어부(305)는 바코드에서 데이터를 추출한다. 구체적으로 제어부(305)는 캡처 이미지로부터 객체 구분된(즉, 캡처 이미지에서 분리된) 바코드를, 오리지널(original)로 정확히 복원하기 위해, 와핑(warping) 처리할 수 있다. 이러한 와핑 처리 과정은 해당 바코드의 좌표 값들을 보정하는 과정이 포함될 수 있다. 이러한 보정 과정은 일명, 호모그라피 계산(homography calcuration)으로 지칭될 수 있다. 그리고 제어부(305)는 와핑 처리된 바코드에서 데이터를 추출할 수 있다. 한편, 좀 더 정확한 객체 구분 및 복원을 위해 제어부(305)는 상기 결정된 버전 및 사이즈를 이용하여 해당 바코드의 얼라이먼트(alignment) 패턴을 검출할 수도 있다. 얼라이먼트 패턴(640)이 검출되면 제어부(305)는 얼라이먼트 패턴을 이용하여, 이미지에서 해당 바코드를 객체 구분할 수 있다.If the barcode in the captured image is object-separated, the
단계 530에서 추출된 데이터는 부호화된 데이터(encoded data)일 수 있다. 여기서 부호화된 데이터는 암호화된 데이터(encrypted data)로 지칭될 수도 있다. 단계 540에서 제어부(305)는 암호화된 데이터에 대해 에러 수정(error correction)을 수행할 수 있다. 예컨대, QR 코드의 경우, 암호화된 데이터에 대한 에러 수정의 방법 및 규칙이 ISO/IEC 18004:2006에 자세히 기술되어 있다.The data extracted in
단계 550에서 제어부(305)는 에러 수정의 결과물을 디코딩(decoding; 복호화)한다. 예컨대, QR 코드의 경우, 제어부(305)는 암호화된 데이터를 ISO/IEC 18004:2006에 정의된 디코딩 규칙에 따라 디코딩한다. 그리고 제어부(305)는 디코딩된 데이터가 "의미 있는 데이터"인지 여부를 결정한다. 예컨대, 제어부(305)는 레퍼런스 데이터베이스(예컨대, 로컬 레퍼런스 DB(115) 또는 리모트 레퍼런스 DB(121))에서 '디코딩된 데이터'와 일치된 데이터를 찾은 경우, '디코딩된 데이터'를 '의미 있는 데이터'로 결정한다. 즉 '디코딩된 데이터'와 일치된 데이터가 DB에서 찾아지는 경우, 제어부(305)는 데이터의 디코딩이 성공된 것으로 결정한다.In
디코딩이 성공되면 단계 560에서 제어부(305)는 디코딩된 데이터를 이용하여 바코드의 오리지널(original) 이미지(이하, 오리지널)를 생성한다. QR코드의 경우, 오리지널은 도 6에 도시된 바와 같은 이미지일 수 있다. 도 6에서 도면 부호 610, 620 및 630은 각각 파인드 패턴이고, 640은 얼라이먼트 패턴이다.If the decoding is successful, the
단계 570에서 제어부(305)는 오리지널에서 특징 점들(feature points)을 획득한다. 특히 제어부(305)는 오리지널의 크기를 확대하고, 확대된 오리지널에서 특징 점들을 획득할 수 있다.In
특징 점 획득 방법의 일례는 다음과 같다. 우선 제어부(305)는 오리지널을 m배로 확대한다. 예컨대, 하나의 픽셀이 m*m 개의 픽셀들로 확대된다. 여기서 m은 양의 정수이며, 오리지널의 종류나 사이즈(예, 면적)로부터 결정될 수 있다. 예컨대, 오리지널이 QR코드인 경우, 제어부(305)는 m의 값을 4로 결정할 수 있다. 이렇게 확대된 이미지는 바코드의 추적을 위한 오리지널 바코드 이미지로 쓰일 수 있다. 즉 제어부(305)는 확대된 오리지널을 바코드 추적을 위한 래퍼런스(reference)로 사용할 수 있다.An example of the feature point acquisition method is as follows. The
다음으로 제어부(305)는, 도 7을 참조하면, 확대된 오리지널을 그리드(grid)로 분할한다. 여기서 그리드는 n*n 개의 픽셀 영역들 일명, 패치들(patch)로 구성된다. 여기서 n의 값은 오리지널의 종류나 사이즈(예, 면적)로부터 결정될 수 있다. 예컨대, 오리지널이 QR코드인 경우, 제어부(305)는 n의 값을 15로 결정할 수 있다. 제어부(305)는 패치들 각각의 중심점들 중에서 특징 점들을 선택할 수 있다. 예컨대, 제어부(305)는 중심점들 각각에 대해 점수(score)를 계산한다. 점수 계산 방법은 다양하다. 일례로, Shi-Tomashi 알고리즘이 본 개시의 점수 계산 방법으로 이용될 수 있다. 제어부(305)는 점수들 중에서 미리 정해진 임계치를 초과한 점수들에 각각 해당되는 중심점들을 해당 오리지널의 특징 점들로 결정할 수 있다. 한편, 점수 계산과 상관없이, 제어부(305)는 중심점들 모두를 특징 점들로 결정할 수도 있다.Next, referring to Fig. 7, the
단계 580에서 제어부(305)는 레퍼런스(확대된 오리지널)의 특징 점들을 이용하여 바코드를 추적한다. 즉 제어부(305)는 특징 점들의 변화를 추적한다. 특징 점을 이용한 바코드 추적 방법의 일례는 도 9 및 도 10을 참조하여 상세하게 설명한다.In
단계 590에서 제어부(305)는 추적 중인 바코드의 위에 바코드와 관련된 데이터(예, 디코딩된 데이터, 디코딩된 데이터의 일부, 디코딩된 데이터와 관련된 데이터)를 표시하도록 표시부(326)를 제어한다. 예컨대, 도 8a에 도시된 바와 같은 QR 코드가 추적되고 그 위에 도 8b에 도시된 바와 같은 이미지가 표시될 수 있다.In
도 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
단계 920에서 제어부(305)는 카메라 자세 예측(camera pose prediction)으로부터 획득된 바코드의 호모그라피(homography)를 이용하여 레퍼런스(예, 확대된 오리지널)의 각각의 특징 점들을 캡처 이미지에 투영한다. 여기서 카메라 자세 예측은 이전 프레임(예컨대, 단계 510에서 수신된 캡처 이미지)에 대한 자세 정보를 포함할 수 있다. 또한 카메라 자세 예측은 동작 모델(motion model)이나 어림셈(rough calculation) 등을 이용하여 획득될 수도 있다.In
단계 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
단계 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
단계 950에서 제어부(305)는 검색 결과물 즉, 업데이트된 특징 점(1031)을 기반으로, 업데이트된 카메라 자세(updated camera pose)를 추정(계산)한다. 여기서 계산 방법에는 M-estimator, robust hypothesize-to-verify method(예컨대, RANSAN, PROSAC 등) 등이 이용될 수 있다. 제어부(305)는 계산(추정)을 함에 있어서, 패치 1010의 중심점 1011과 패치 1030의 중심점 1031의 간격을 나타내는 값을 이용할 수 있다.In
도 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
도 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,
어떤 실시예들에 따르면, 전자 장치를 동작하는 방법은 복수의 디지털 이미지 상에서, 인식된 객체(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.
상기 인식된 객체에 포함된 에러(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.
상기 에러(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.
상기 참조(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.
상기 에러가 수정된 데이터를 디코딩하는 동작을 더 포함하는 것을 특징으로 하는 방법.5. The method of claim 4, wherein the act of creating the reference object comprises:
Further comprising decoding the error corrected data.
상기 생성된 참조 객체를 이용하여, 상기 객체를 추적하는 동작은,
생성된 참조 바코드로부터 특징점들을 획득하는 동작; 및
상기 특징점들을 이용하여, 상기 복수의 이미지들 상에서 상기 바코드를 추적하는 동작을 포함하는 것을 특징으로 하는 방법.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.
상기 바코드를 추적하는 단계는,
상기 오리지널의 특징 점들을 새로 캡처된 이미지에 투영하는 단계;
상기 투영된 특징 점들 각각에 대응되는 상기 오리지널의 패치들을 상기 바코드에 매칭이 되게 변형하는 단계;
상기 변형된 패치들에 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 단계; 및
상기 검색 결과를 기반으로 상기 전자 장치의 자세를 추정하는 단계를 포함하는 것을 특징으로 하는 방법.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.
상기 전자 장치의 자세를 추정하는 단계는,
상기 변형된 패치들과 상기 검색된 패치들 각각의 간격들을 나타내는 값들을 이용하여 상기 전자 장치의 자세를 추정하는 단계를 포함하는 것을 특징으로 하는 방법.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.
상기 간격들이, 상기 변형된 패치들 각각의 중심점들과 상기 검색된 패치들 각각의 중심점들 각각의 간격들인 것을 특징으로 하는 방법.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.
상기 변형된 패치들에 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 단계는,
상기 변형된 패치들을 각각 상기 투영된 특징 점에서부터 상기 전자 장치에 의해 선택된 궤적으로 이동시켜, 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 단계를 포함하는 것을 특징으로 하는 방법.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.
상기 궤적은 나선형인 것을 특징으로 하는 방법.12. The method of claim 11,
Characterized in that the locus is helical.
상기 추적되는 바코드 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하는 단계를 더 포함하는 것을 특징으로 하는 방법.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.
상기 오리지널에서 특징 점들을 획득하는 단계는,
상기 오리지널의 크기를 확대하는 단계 및
상기 확대된 오리지널을 다수의 패치들로 구성된 격자무늬(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.
상기 프로세서는,
상기 인식된 객체에 포함된 에러(error)를 수정하도록 구성된 것을 특징으로 하는 전자 장치.17. The method of claim 16,
The processor comprising:
And to correct an error contained in the recognized object.
상기 프로세서는,
상기 에러(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.
상기 객체는 바코드를 포함하고,
상기 프로세서는,
상기 바코드로부터 데이터를 추출하여 상기 추출된 데이터에 포함된 에러를 수정하도록 구성된 것을 특징으로 하는 전자 장치.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.
상기 프로세서는,
상기 에러가 수정된 데이터를 디코딩하도록 구성된 것을 특징으로 하는 전자 장치.20. The method of claim 19,
The processor comprising:
And to decode the error corrected data.
상기 객체는 바코드를 포함하고,
상기 프로세서는,
생성된 참조 바코드로부터 특징점들을 획득하도록 구성되고,
상기 특징점들을 이용하여, 상기 복수의 이미지들 상에서 상기 바코드를 추적하도록 구성된 것을 특징으로 하는 전자 장치.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.
상기 제어부는,
상기 오리지널의 특징 점들을 새로 캡처된 이미지에 투영하고, 상기 투영된 특징 점들 각각에 대응되는 상기 오리지널의 패치들을 상기 바코드에 매칭이 되게 변형하고, 상기 변형된 패치들에 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하고, 상기 검색 결과를 기반으로 상기 전자 장치의 자세를 추정하는 것을 특징으로 하는 전자 장치.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.
상기 제어부는,
상기 변형된 패치들과 상기 검색된 패치들 각각의 간격들을 나타내는 값들을 이용하여 상기 전자 장치의 자세를 추정하는 것을 특징으로 하는 전자 장치.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.
상기 간격들이, 상기 변형된 패치들 각각의 중심점들과 상기 검색된 패치들 각각의 중심점들 각각의 간격들인 것을 특징으로 하는 전자 장치.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.
상기 제어부는,
상기 변형된 패치들을 각각 상기 투영된 특징 점에서부터 상기 전자 장치에 의해 선택된 궤적으로 이동시켜, 각각 대응되는 패치들을 상기 새로 캡처된 이미지에서 검색하는 것을 특징으로 하는 전자 장치.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.
상기 궤적은 나선형인 것을 특징으로 하는 전자 장치.27. The method of claim 26,
Wherein the locus is spiral.
상기 표시부는,
상기 추적되는 바코드 위에 상기 데이터, 상기 데이터의 일부 또는 상기 데이터와 관련된 정보를 표시하는 것을 특징으로 하는 전자 장치.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.
상기 제어부는,
상기 오리지널의 크기를 확대하고, 상기 확대된 오리지널을 다수의 패치들로 구성된 격자무늬(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.
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) |
-
2014
- 2014-01-09 KR KR1020140002702A patent/KR20140103036A/en not_active Application Discontinuation
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 |