KR101323886B1 - Distributed-Processing-Based Object Tracking Apparatus and Method - Google Patents
Distributed-Processing-Based Object Tracking Apparatus and Method Download PDFInfo
- Publication number
- KR101323886B1 KR101323886B1 KR1020120029816A KR20120029816A KR101323886B1 KR 101323886 B1 KR101323886 B1 KR 101323886B1 KR 1020120029816 A KR1020120029816 A KR 1020120029816A KR 20120029816 A KR20120029816 A KR 20120029816A KR 101323886 B1 KR101323886 B1 KR 101323886B1
- Authority
- KR
- South Korea
- Prior art keywords
- tracking
- contour
- computing device
- image frame
- image
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/149—Segmentation; Edge detection involving deformable models, e.g. active contour models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/292—Multi-camera tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
분산처리 기반의 물체 추적방법에 있어서, 제1 클라이언트 장치로부터의 추적대상 물체를 포함하는 복수의 영상 프레임을 제2 클라이언트 장치가 수신하는 단계; 제2 클라이언트 장치가, 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치를 예측하는 단계; 제2 클라이언트 장치가, 상기 복수의 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 컴퓨팅 장치로부터 수신하는 단계; 및 제2 클라이언트 장치가, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 단계;를 포함하는 분산처리 기반의 물체 추적방법이 제공된다. A distributed object-based object tracking method, comprising: receiving, by a second client device, a plurality of image frames including an object to be tracked from a first client device; Predicting, by a second client device, the position of the object in an image frame (“predictive image frame”) after the plurality of image frames based on at least one of the plurality of image frames; Receiving, by a second client device, a position and a contour of the object from a computing device detected in one of the plurality of image frames; And matching, by a second client device, the contour with the predicted position of the object and the detected position of the object to calculate a tracking position and a tracking contour of the object in the predictive image frame. A distributed tracking based object tracking method is provided.
Description
본 발명은 분산처리 기반의 물체 추적장치 및 추적방법에 관한 것으로, 보다 상세하게는, 추적대상 물체의 위치 예측과 콘투어 검출을 클라이언트와 서버에서 분산 수행하여 최적의 추적 결과를 제공할 수 있는 분산처리 기반의 물체 추적장치 및 추적방법에 대한 것이다. The present invention relates to an object tracking apparatus and a tracking method based on distributed processing. More particularly, the present invention provides distributed tracking that provides an optimal tracking result by distributing a position prediction and a contour detection of a tracking target in a client and a server. Process based object tracking device and tracking method.
동영상이나 복수의 이미지 시퀀스 안에 있는 물체를 추적하는 기술은 영상인식, 보안 감시 시스템, 증강현실, 화상통화 등의 분야에서 동영상 분석에 필수적인 기술로 요즘 널리 연구되고 있다. 예를 들어 미국특허 제7,239,719호는 이미지 데이터로부터 자동으로 타겟을 검출하고 움직임을 분석하는 방법에 관한 것으로, 입력된 동영상에서 움직임을 감지하여 관심 영역을 정의하고 레벨 셋 콘투어(level set contour)를 통해 관심 물체의 윤관(콘투어)을 추출하는 기술을 제시하고 있다.The technology of tracking an object in a video or a plurality of image sequences is widely studied as an essential technology for video analysis in the fields of video recognition, security surveillance system, augmented reality, and video call. For example, U.S. Patent No. 7,239,719 relates to a method for automatically detecting a target from an image data and analyzing a motion. The method detects a motion in an input video to define a region of interest and sets up a level set contour. This paper suggests a technique for extracting the contour of the object of interest.
그런데 최근 휴대전화와 태블릿 PC와 같은 모바일 단말기가 대중화하고 보안 및 매장관리를 위해 설치되는 보안 감시 카메라의 수가 급증하면서 동영상 콘텐츠 생산이 가능한 클라이언트 기기의 확산을 가져왔으나, 상술한 것과 같은 기존 기술은 클라우딩 환경을 고려하지 않았기 때문에 콘투어 추적과 같은 무거운(즉, 클라이언트단에서 많은 리소스를 필요로 하는) 기술을 다양한 클라이언트 기기에서 수행하기에는 어려움이 있었다. Recently, mobile terminals such as mobile phones and tablet PCs have become popular and the number of security surveillance cameras installed for security and store management has soared, leading to the proliferation of client devices capable of producing video contents. Without considering the ding environment, it was difficult to perform heavy (i.e., many resources on the client end) techniques such as contour tracking on various client devices.
본 발명의 일 실시예에 따르면, 하나 이상의 클라이언트 장치와 서버와 같은 컴퓨팅 장치가 네트워크망으로 연결된 상태에서 클라이언트 장치에서 추적대상 물체의 추적 결과를 예측하고 컴퓨팅 장치는 추적대상 물체를 검출하여 이 예측 결과와 검출 결과의 결합에 의해 최종 추적 결과를 산출하는 분산처리 기반의 물체 추적방법 및 장치를 제공할 수 있다. According to an embodiment of the present invention, in a state in which one or more client devices and a computing device such as a server are connected through a network, the client device predicts a tracking result of the tracked object on the client device, and the computing device detects the tracked object and thus the prediction result. And it can provide a distributed object-based object tracking method and apparatus for calculating the final tracking results by combining the detection results.
본 발명의 일 실시예에 따르면, 클라이언트 장치에서 획득한 영상 데이터를 클라이언트 장치와 컴퓨팅 장치에서 분산 처리함으로써 기존에 클라이언트 기기 단독으로는 구현하기 어려웠던 고품질의 영상인식 기술을 구현할 수 있는 분산처리 기반의 물체 추적방법 및 장치를 제공할 수 있다. According to an embodiment of the present invention, by distributing image data acquired from a client device in a client device and a computing device, a distributed processing-based object capable of implementing high quality image recognition technology that has been difficult to implement by a client device alone. A tracking method and apparatus can be provided.
또한 본 발명의 일 실시예에 따르면, 상기 분산처리 기반의 물체 추적 방법을 수행할 수 있는 프로그램이 기록된 기록매체를 제공할 수 있다. In addition, according to an embodiment of the present invention, it is possible to provide a recording medium in which a program capable of performing the distributed processing based object tracking method is recorded.
본 발명의 일 실시예에 따라, 분산처리 기반의 물체 추적방법에 있어서, 제1 클라이언트 장치로부터의 추적대상 물체를 포함하는 복수의 영상 프레임을 제2 클라이언트 장치가 수신하는 단계; 제2 클라이언트 장치가, 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치를 예측하는 단계; 제2 클라이언트 장치가, 상기 복수의 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 컴퓨팅 장치로부터 수신하는 단계; 및 제2 클라이언트 장치가, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 단계;를 포함하는 분산처리 기반의 물체 추적방법을 제공할 수 있다. In accordance with an embodiment of the present invention, there is provided a method for tracking a distributed object based object, the method comprising: receiving, by a second client device, a plurality of image frames including a target object from a first client device; Predicting, by a second client device, the position of the object in an image frame (“predictive image frame”) after the plurality of image frames based on at least one of the plurality of image frames; Receiving, by a second client device, a position and a contour of the object from a computing device detected in one of the plurality of image frames; And matching, by a second client device, the contour with the predicted position of the object and the detected position of the object to calculate a tracking position and a tracking contour of the object in the predictive image frame. A distributed tracking based object tracking method can be provided.
본 발명의 일 실시예에 따라, 분산처리 기반의 물체 추적방법에 있어서, 클라이언트 장치가 추적대상 물체를 포함하는 복수의 영상 프레임을 획득하는 단계; 상기 클라이언트 장치가 상기 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치에 전송할지 여부를 판단하고, 전송하는 것으로 판단할 경우 상기 일부 영상 프레임을 전송하는 단계; 상기 클라이언트 장치가, 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치를 예측하는 단계; 상기 클라이언트 장치가, 상기 컴퓨팅 장치로부터 상기 일부 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 수신하는 단계; 및 상기 클라이언트 장치가, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 단계;를 포함하는 분산처리 기반의 물체 추적방법을 제공할 수 있다. According to an embodiment of the present invention, there is provided a method for tracking a distributed object based object, comprising: acquiring, by a client device, a plurality of image frames including a target object; Determining whether the client device transmits at least some image frames of the plurality of image frames to a computing device, and when determining that the client device transmits the at least some image frames; Predicting, by the client device, the position of the object in an image frame (“predictive image frame”) after the plurality of image frames based on at least one of the plurality of image frames; Receiving, by the client device, a position and a contour of the object detected in any one of the some image frames from the computing device; And matching, by the client device, the contour with the predicted position of the object and the detected position of the object to calculate the tracking position and the tracking contour of the object in the predictive image frame. A distributed tracking based object tracking method can be provided.
본 발명의 일 실시예에 따라, 분산처리 기반의 물체 추적장치에 있어서, 네트워크망을 통해 외부의 영상 획득 장치 및 컴퓨팅 장치와 데이터를 송수신할 수 있는 통신부; 추적대상 물체를 포함하며 상기 영상 획득 장치로부터 수신되는 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치와 콘투어를 예측할 수 있는 물체 예측부; 및 상기 통신부가 상기 복수의 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 상기 컴퓨팅 장치로부터 수신하는 경우, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합할 수 있는 정합부;를 포함하는 분산처리 기반의 물체 추적장치를 제공할 수 있다. According to an embodiment of the present invention, a distributed processing based object tracking device, comprising: a communication unit capable of transmitting and receiving data with an external image acquisition device and a computing device through a network; A position and a contour of the object in an image frame (“predictive image frame”) after the plurality of image frames, based on at least one of a plurality of image frames received from the image acquisition apparatus, including a tracking object. A predictable object predictor; And when the communication unit receives the position and the contour of the object detected in one of the plurality of image frames from the computing device, the tracking position and the tracking contour of the object in the predicted image frame. In order to calculate, it is possible to provide a distributed processing-based object tracking device comprising a; matching unit for matching the predicted position of the object and the detected position and the contour of the object.
본 발명의 일 실시예에 따라, 분산처리 기반의 물체 추적장치에 있어서, 추적대상 물체를 포함하는 복수의 영상 프레임을 획득할 수 있는 영상 획득부; 네트워크망을 통해 외부의 컴퓨팅 장치와 데이터를 송수신할 수 있는 통신부; 상기 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치에 전송할지를 판단하는 제1 판단부; 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임(“예측 영상 프레임”)에서의 상기 물체의 위치와 콘투어를 예측할 수 있는 물체 예측부; 및 상기 예측된 물체의 위치와 콘투어에 기초하여, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치와 추적 콘투어를 산출할 수 있는 산출부;를 포함하는 분산처리 기반의 물체 추적장치를 제공할 수 있다. According to an embodiment of the present invention, there is provided a distributed object-based tracking device, comprising: an image acquisition unit capable of acquiring a plurality of image frames including a tracking object; A communication unit capable of transmitting and receiving data with an external computing device through a network; A first determining unit determining whether to transmit at least some image frames of the plurality of image frames to a computing device; An object predictor configured to predict a position and a contour of the object in an image frame (“predictive image frame”) after the plurality of image frames based on at least one of the plurality of image frames; And a calculation unit configured to calculate a tracking position and a tracking contour of the object in the predicted image frame, based on the predicted object position and the contour. Can be.
본 발명의 일 실시예에 따라, 상기 방법을 수행할 수 있는 컴퓨터가 판독 가능한 프로그램이 기록된 기록매체를 제공할 수 있다.According to an embodiment of the present invention, a recording medium having a computer readable program recorded thereon capable of performing the method can be provided.
본 발명의 일 실시예에 따르면, 클라이언트 장치에서 획득한 영상 데이터를 클라이언트 장치와 컴퓨팅 장치에서 분산 처리함으로써 기존에 클라이언트 기기 단독으로는 구현하기 어려웠던 고품질의 영상인식 기술을 구현할 수 있다. According to an embodiment of the present invention, by distributing image data obtained from the client device in the client device and the computing device, it is possible to implement a high quality image recognition technology that has been difficult to implement by the client device alone.
본 발명의 일 실시예에 따르면, 추적대상 물체의 추적에 있어서 클라이언트 장치의 성능, 컴퓨팅 장치의 성능, 그리고 네트워크의 상황에 따라 최적화된 추적 결과를 다양한 해상도의 영상으로 사용자에게 제공할 수 있다. According to an embodiment of the present invention, the tracking result optimized according to the performance of the client device, the performance of the computing device, and the network situation in tracking the object to be tracked may be provided to the user in various resolution images.
도1은 본 발명의 제1 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도,
도2는 본 발명의 일 실시예에 따라 영상과 콘투어를 정합하는 방법을 도식적으로 나타낸 도면,
도3은 발명의 제1 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도,
도4는 본 발명의 제2 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도,
도5는 본 발명의 제2 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도,
도6은 본 발명의 제3 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도, 그리고,
도7은 본 발명의 제3 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도이다.1 is a block diagram provided for explaining a distributed object-based object tracking apparatus according to a first embodiment of the present invention,
2 is a diagram schematically showing a method of matching an image and a contour according to an embodiment of the present invention;
3 is a flowchart for explaining a method for tracking objects based on distributed processing according to a first embodiment of the present invention;
4 is a block diagram provided to explain an apparatus for tracking distributed objects based on a second embodiment of the present invention;
5 is a flowchart illustrating a method for tracking a distributed object based object according to a second embodiment of the present invention;
6 is a block diagram provided to explain an apparatus for tracking distributed objects based on a third embodiment of the present invention;
7 is a flowchart illustrating a distributed processing based object tracking method according to a third embodiment of the present invention.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시 예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features, and advantages of the present invention will become more readily apparent from the following description of preferred embodiments with reference to the accompanying drawings. However, the present invention is not limited to the embodiments described herein but may be embodied in other forms. Rather, the embodiments disclosed herein are provided so that the disclosure can be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
본 명세서에서, 제1 구성요소가 제2 구성요소 "상에서" 동작(또는 실행)된다는 것은, 상기 제2 구성요소가 동작(또는 실행)되는 환경에서 상기 제1 구성요소가 동작(또는 실행)되거나 또는 상기 제1 구성요소가 상기 제2 구성요소와 직접 또는 간접적으로 상호 작용을 통해서 동작(또는 실행)되는 의미를 포함한다. In the present specification, that the first component is operated (or executed) on the second component means that the first component is operated (or executed) in an environment in which the second component is operated (or executed) or Or means in which the first component is operated (or executed) through interaction with the second component directly or indirectly.
어떤 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해될 수 있다. When a component, device, or system is referred to as including a component made up of a program or software, even if not expressly stated, the component, device, or system may be a piece of hardware necessary for the program or software to execute or operate. For example, it may be understood to include a memory, a CPU, etc.) or other programs or software (eg, an operating system or a driver required to drive hardware).
또한 어떤 구성요소가 구현됨에 있어서 특별한 언급이 없다면, 그 구성요소는 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어 어떤 형태로도 구현될 수 있는 것으로 이해되어야 한다. It is also to be understood that unless otherwise stated in the implementation of any component, the component may be implemented in software, hardware, or any form of software and hardware.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 '포함하는'은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. As used in the specification, 'comprises' and / or 'comprising' does not exclude the presence or addition of one or more other components in addition to the components mentioned.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시 예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다. Hereinafter, the present invention will be described in detail with reference to the drawings. In describing the following specific embodiments, various specific details are set forth in order to explain and understand the invention in more detail. However, those skilled in the art can understand that the present invention can be used without these various specific details. In some instances, it should be noted that portions of the invention that are well known in the description of the invention and are not significantly related to the invention do not describe confusion in describing the invention.
도1은 본 발명의 제1 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도이다. 1 is a block diagram provided to explain a distributed tracking based object tracking apparatus according to a first embodiment of the present invention.
도1을 참조하면, 본 발명에 따른 분산처리 기반의 물체 추적장치는 제1 클라이언트 장치(10), 컴퓨팅 장치(20), 및 제2 클라이언트 장치(30)을 포함할 수 있다. Referring to FIG. 1, an object tracking apparatus based on distributed processing according to the present invention may include a
제1 클라이언트 장치(10)(이하 "클라이언트" 라고도 칭함)는 추적대상 물체의 영상을 촬영하고 이를 전송할 수 있는 장치이다. 제1 클라이언트(10)는 예를 들어 폐쇄회로 TV(CCTV), 방범 카메라, 감시 카메라, 보안 카메라 등의 각종 영상 촬영수단 중 하나가 될 수 있다. 대안적인 실시예로서 제1 클라이언트(10)는 일반적인 휴대용 디지털 카메라가 될 수도 있고, 이러한 디지털 카메라 수단을 포함하는 모바일 기기(예컨대, 휴대용 전화기, 태블릿 PC, PDA 등) 중 하나가 될 수도 있다.The first client device 10 (hereinafter also referred to as a “client”) is a device capable of capturing and transmitting an image of a tracking object. The
도시된 실시예에서 제1 클라이언트(10)는 영상 획득부(101), 판단부(102), 및 통신부(105)를 포함한다. In the illustrated embodiment, the
영상 획득부(101)는 추적대상 물체를 포함하는 영상을 입력받는 수단으로, 예컨대 CCD 센서, CMOS 센서 등의 이미지 센서 및 이 센서로부터 입력받은 영상을 처리하는 처리엔진을 포함할 수 있다. 일 실시예에서 영상 획득부(101)는 영상을 프레임 단위로 획득할 수 있고, 예컨대 1초당 24~30개의 영상 프레임을 획득할 수 있다. 대안적인 실시예에서, 영상 획득부(101)는 직접 영상을 촬영하지 않고 이미 촬영된 영상을 불러오는 기능을 포함할 수 있다. The image acquisition unit 101 is a means for receiving an image including a tracking object, and may include, for example, an image sensor such as a CCD sensor, a CMOS sensor, and a processing engine for processing an image received from the sensor. According to an embodiment, the image acquisition unit 101 may acquire an image in a frame unit, and may acquire 24 to 30 image frames per second, for example. In an alternative embodiment, the image acquisition unit 101 may include a function of importing an image already taken without directly photographing the image.
판단부(102)는 상기 영상 획득부(101)에서 획득한 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치(20)에 전송할지를 판단하는 기능 모듈이다. 예를 들어 영상 획득부(101)가 수신한 영상 프레임을 전부 컴퓨팅 장치(20)로 전송할지, 그 중 일부 프레임만을 전송할지 여부를 판단한다. The determination unit 102 is a function module that determines whether to transmit at least some image frames of the plurality of image frames acquired by the image acquisition unit 101 to the
이를 위해 일 실시예에서 판단부(102)는 소정 시간 주기, 컴퓨팅 장치(20)의 리소스, 및 네트워크망(40)의 상태 중 적어도 하나에 기초하여 상기 판단 동작을 수행한다. 판단부(102)가 소정 시간 주기에 기초하여 판단하는 경우, 예를 들어 영상 획득부(101)로부터 1초당 30 프레임의 영상을 수신한다고 가정하면, 판단부(102)가 이 프레임들을 모두 컴퓨팅 장치(20)로 전송하도록 판단할 수도 있고 3프레임마다 하나씩(즉 1초당 10개의 프레임을) 전송하도록 판단할 수도 있다. 판단부(102)가 컴퓨팅 장치(20)의 리소스 또는 네트워크망(40)의 상태에 기초하여 판단하는 경우, 이 때 상기 리소스는 예를 들어 컴퓨팅 장치(20)의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나가 될 수 있다. To this end, in one embodiment, the determination unit 102 performs the determination operation based on at least one of a predetermined time period, a resource of the
일 실시예에서 제1 클라이언트(10)가 컴퓨팅 장치(20)의 상기 리소스에 관한 정보를 미리 획득하여 알고 있다고 가정하며, 대안적인 실시예에서, 판단부(102)의 판단이 필요한 시점에 제1 클라이언트(10)가 컴퓨팅 장치(20)에 리소스 정보를 요청하여 이 정보를 얻을 수도 있다. 한편 판단부(102)가 네트워크망(40)의 상태에 기초하여 판단하는 경우 이 때의 네트워크망의 상태는 예를 들어 네트워크망의 종류, 연결 상태 여부, 및 전송속도 등의 정보가 될 수 있다. In an embodiment, it is assumed that the
통신부(105)는 네트워크망(40)을 통해 제1 클라이언트(10)를 컴퓨팅 장치(20), 제2 클라이언트(30) 등의 외부 장치와 연결하고 데이터를 송수신하는 기능 모듈이다. 여기서 상기 네트워크망(40)은 로컬 통신망(LAN), 광역 통신망(WAN), 인터넷 통신망 등 다양한 종류의 유선 또는 무선 통신망 중 하나 이상의 통신망으로 구성될 수 있다. 대안적인 실시예에서 제1 클라이언트(10), 제2 클라이언트(30), 및 컴퓨팅 장치(20) 중 둘 이상의 장치가 블루투스, WiFi, RFID 등의 무선통신 기술 중 하나 이상의 기술방식을 통해 서로 통신할 수 있고 또한 실시 형태에 따라 서로 직접적인 유선연결에 의해 통신할 수도 있다. The communication unit 105 The
실시 형태에 따라 통신부(105)는 MPEG4 등의 압축 알고리즘에 의해 영상 프레임을 압축하는 인코딩부를 추가로 포함할 수 있고, 인코딩부에서 압축된 영상 프레임을 전송할 수 있다. According to an embodiment, the communication unit 105 may further include an encoding unit that compresses the image frame by a compression algorithm such as MPEG4, and may transmit the image frame compressed by the encoding unit.
상기 설명한 영상 획득부(101), 판단부(102), 및 통신부(105)의 각각은 실시 형태에 따라 소프트웨어, 하드웨어, 또는 이들의 결합으로 구현될 수 있고 펌웨어나 임베디드 시스템으로 구현될 수 있다. 또한, 도1의 실시예에서 판단부(102)가 별도의 기능 모듈로 도시되었지만, 실시 형태에 따라 판단부(102)가 영상 획득부(101) 또는 통신부(105)에 포함될 수도 있다. 즉 영상 획득부(101)가 영상 프레임을 획득하는 즉시 해당 영상 프레임을 컴퓨팅 장치(20)로 전송할지 판단할 수도 있고, 또는 통신부(105)를 통해 외부 장치로 전송하기 직전에 어떤 영상 프레임들을 전송할지 판단하도록 구성할 수도 있다. Each of the image acquisition unit 101, the determination unit 102, and the communication unit 105 described above may be implemented in software, hardware, or a combination thereof, and may be implemented in a firmware or an embedded system. In addition, although the determination unit 102 is illustrated as a separate function module in the embodiment of FIG. 1, the determination unit 102 may be included in the image acquisition unit 101 or the communication unit 105 according to the embodiment. That is, as soon as the image acquisition unit 101 acquires an image frame, it may determine whether to transmit the image frame to the
도시된 실시예에서 컴퓨팅 장치(20)는 통신부(201) 및 물체 검출부(203)을 포함한다. In the illustrated embodiment, the
통신부(201)는 네트워크망(40)을 통해 컴퓨팅 장치(20)를 외부 장치와 연결하고 데이터를 송수신하는 기능 모듈로서, 예를 들어 상기 제1 클라이언트(10)의 통신부(105)와 동일한 기능을 가질 수 있다. 실시 형태에 따라, 통신부(201)가 압축된 영상 프레임을 수신할 경우, 통신부(201)가 상기 압축된 영상 프레임을 압축해제하기 위한 디코딩부를 더 포함할 수 있다. The communication unit 201 is a function module for connecting the
물체 검출부(203)는 소정 알고리즘을 사용하여 영상 프레임 내에서의 추적대상인 물체의 윤곽(콘투어: contour)을 검출한다. 물체의 콘투어를 추출하는 알고리즘으로는, 예컨대 액티브 콘투어 모델(active contour model) 또는 칼만 필터링(Kalman filtering) 알고리즘을 사용할 수 있고, 대안적 실시 형태에 따라 기존의 다양한 콘투어 추출 알고리즘 중 하나 이상이 사용될 수도 있다. The object detector 203 detects the contour of the object to be tracked in the image frame using a predetermined algorithm. As an algorithm for extracting a contour of an object, for example, an active contour model or a Kalman filtering algorithm may be used, and at least one of various existing contour extraction algorithms according to alternative embodiments. May be used.
일 실시에에서 물체 검출부(203)는 영상 프레임 내에서의 상기 물체의 위치를 검출하는 기능을 더 포함할 수 있다. 영상 프레임 내의 물체의 콘투어를 추출하면 프레임 내에서 이 물체의 위치를 바로 알 수 있으므로, 물체의 위치 검출은 상기 콘투어 추출과 동시에 수행할 수 있으나, 대안적인 실시예에서는 물체의 위치 검출을 위한 별도의 검출 알고리즘을 사용할 수도 있다. In an embodiment, the object detector 203 may further include a function of detecting a position of the object in the image frame. Extracting the contour of an object in the image frame allows the user to immediately know the position of the object in the frame. Therefore, the position detection of the object can be performed simultaneously with the contour extraction. A separate detection algorithm may be used.
한편 일 실시예에서 컴퓨팅 장치(20)는 웹서버와 같은 서버 장치일 수 있다. 또한 상기 설명한 통신부(201) 및 물체 검출부(203)의 각각은 실시 형태에 따라 소프트웨어, 하드웨어, 또는 이들의 결합으로 구현될 수 있고 펌웨어나 임베디드 시스템으로 구현될 수도 있다.Meanwhile, in one embodiment, the
도시된 실시예에서 제2 클라이언트(30)는 통신부(301), 물체 예측부(303), 정합부(306), 및 영상 출력부(307)를 포함한다. In the illustrated embodiment, the
통신부(301)는 네트워크망(40)을 통해 제1 클라이언트(10) 및 컴퓨팅 장치(20)와 데이터를 송수신하는 기능 모듈로서, 예컨대 제1 클라이언트(10)의 통신부(105) 또는 컴퓨팅 장치(20)의 통신부(201)와 동일한 기능을 가질 수 있다. The communication unit 301 A functional module for transmitting and receiving data to and from the
물체 예측부(303)는 이전의 영상 프레임에 기초하여 현재 영상 프레임에서의 물체의 위치를 예측하는 기능 모듈이다. 즉 추적대상 물체가 포함된 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임(이하 “예측 영상 프레임”이라 칭함)에서의 상기 물체의 위치를 예측한다. The
일 실시예에서 물체 예측부(303)는 물체의 위치를 예측하기 위해 예측 방정식 모델을 사용한다. 예를 들어 영상 프레임 내에서 물체의 특징 점들을 추출하고 이 특징 점들을 기반으로 물체의 움직임을 예측하는 특징점 기반 트래킹(Feature based tracking) 알고리즘, 영상 프레임을 탬플릿으로 사용하는 템플릿 기반 트래킹(Template based tracking) 알고리즘, 또는 칼만 필터링 알고리즘이 사용될 수 있으며, 그 외에 다양한 예측 알고리즘이 사용될 수도 있다. In one embodiment, the
일 실시예에서 물체 예측부(303)는 영상 프레임 내에서의 상기 물체의 콘투어를 예측하는 기능을 더 포함할 수 있다. 예컨대 특징점 기반 트래킹 알고리즘을 사용하는 경우 영상 프레임 내의 물체의 위치를 예측하기 위해 물체의 특징 점들을 추출하기 때문에, 이 특징 점들의 연결을 통해 물체의 콘투어도 어느 정도 예측할 수 있다. 그러나 대안적인 실시예에서 물체의 콘투어 예측을 위한 별도의 예측 알고리즘을 사용할 수도 있다. In an embodiment, the
정합부(306)는 컴퓨팅 장치(20)의 물체 검출부(203)에서 검출된 검출(detection) 정보와 제2 클라이언트(30)의 물체 예측부(303)에서 예측된 물체의 예측(expectation) 정보를 정합하여 추적대상 물체에 대한 예측 결과로서 추적 위치 및 추적 콘투어를 산출한다. The matching unit 306 may detect the detection information detected by the object detecting unit 203 of the
정합 방법에 대한 일 실시예로서 정합부(306)는 물체 검출부(203)에서 검출한 물체의 위치와 콘투어, 그리고 물체 예측부(303)에서 예측한 물체의 위치를 정합할 수 있다. 이 경우, 물체의 위치에 대해, 물체 예측부(303)에서 예측된 위치와 물체 검출부(203)에서 검출된 위치를 가중 합산(weighted sum)하여 상기 물체의 추적 위치를 산출하고, 그 후 물체 검출부(203)에서 검출한 물체의 콘투어를 상기 추적 위치에 결합하여 추적 콘투어를 산출할 수 있다. As an example of the matching method, the matching unit 306 may match the position and contour of the object detected by the object detector 203 and the position of the object predicted by the
영상 출력부(307)는 정합부(306)에서 산출된 추적 결과, 즉 추적대상 물체의 추적 위치 및 추적 콘투어가 결합된 영상 프레임을 받아서 사용자에게 디스플레이 한다. 대안적인 실시예로서, 사용자에게 디스플레이로 직접 보여줄 수도 있고 정합 결과의 영상 프레임을 별도의 저장 장치(도시 생략)에 전송하여 저장할 수도 있다. The
제2 클라이언트(30)는 디스플레이 수단을 갖는 임의의 디바이스가 될 수 있다. 예를 들어 모니터를 구비한 각종 개인용 컴퓨터가 될 수 있고, 휴대용 전화기, 태블릿 PC, PDA, 디지털 카메라 등의 휴대용 디바이스가 될 수도 있다. 더욱이 일 실시예에서 상기 제1 클라이언트(10)와 제2 클라이언트(30)가 하나의 장치일 수도 있다. The
한편 상기 설명한 통신부(301), 물체 예측부(303), 정합부(306), 및 영상 출력부(307)의 각각은 실시 형태에 따라 소프트웨어, 하드웨어, 또는 이들의 결합으로 구현될 수 있고 펌웨어나 임베디드 시스템으로 구현될 수 있다. Meanwhile, each of the communication unit 301, the
도2는 본 발명의 일 실시예에 따라 영상과 콘투어를 정합하는 방법을 도식적으로 나타낸 도면으로, 영상 프레임 내의 물체를 각각 예측 및 검출하고 이 둘을 정합하는 단계를 예시적으로 나타낸다. FIG. 2 is a diagram schematically illustrating a method of matching an image and a contour according to an embodiment of the present invention, and exemplarily illustrates the steps of predicting and detecting an object in an image frame and matching the two.
도2를 참조하면, 우선 단계(a)에서 제1 클라이언트(10)로부터 추적대상 물체(100)를 포함하는 영상 프레임(F1)이 컴퓨터 장치(20)와 제2 클라이언트(30)로 각각 전송된다고 가정한다. 그러면 단계(b)에서, 컴퓨터 장치(20)의 물체 검출부(203)가 상기 영상 프레임(F1)에 콘투어 검출 알고리즘을 적용하여 콘투어(C1)를 검출한다. 이 때 실시 형태에 따라, 상기 콘투어 검출 알고리즘 또는 다른 별도의 알고리즘을 사용하여 영상 프레임(F1) 내의 물체의 위치(P1)까지도 검출할 수 있다. Referring to FIG. 2, first, in step (a), an image frame F1 including the
한편 이 단계(b)에서, 제2 클라이언트(30)의 물체 예측부(303)는 상기 영상 프레임(F1)을 포함하는 이전 영상 프레임들 중 적어도 하나 이상의 이전 영상 프레임들에 기초하여 예측 알고리즘을 통해 현재 영상 프레임(F2)에서의 물체의 위치를 예측(P2)한다. 즉 도시된 예에서, 이전의 영상 프레임(F1)에서는 물체(100)가 좌측 상단에 위치하였지만 예측 알고리즘을 통해 우측 하단의 위치(P2)로 이동할 것이라고 예측하였다. 이 때 실시 형태에 따라, 상기 위치 예측 알고리즘 또는 다른 별도의 알고리즘을 사용하여 현재의 영상 프레임(F2)에서의 물체의 콘투어(C2)도 함께 예측할 수 있다. Meanwhile, in this step (b), the
그 후 상기 물체의 검출 정보(즉, 검출된 콘투어(C1) 정보, 또는 검출된 콘투어(C1)와 위치(P1) 정보)와 예측 정보(즉, 예측된 위치(P2) 정보, 또는 예측된 위치(P2)와 콘투어(C2) 정보)가 제2 클라이언트(30)의 정합부(306)로 전달되었다고 가정하면, 단계(c)에서, 정합부(306)가 이들 검출 정보와 예측 정보를 정합한다. Then, the detection information of the object (that is, the detected contour C1 information, or the detected contour C1 and the position P1 information) and the prediction information (that is, the predicted position P2 information, or the prediction). Assuming that the position (P2) and the contour (C2) information) have been delivered to the matching unit 306 of the
일 실시예에서 정합부(306)가 물체의 검출된 콘투어(C1)와 위치(P1) 정보 및 예측된 위치(P2) 정보를 사용한다고 가정하면, 검출된 위치(P1)와 예측된 위치(P2)를 가중 합산에 의해 정합하여 결과값으로서 위치(P3)를 현재 프레임(F2) 내에서의 추적 위치로서 산출하고, 이 추적 위치(P3)를 중심으로 콘투어(C1)를 결합함으로써 현재 프레임(F2) 내에서의 추적 콘투어(C1)를 산출한다. In an embodiment, assuming that the matching unit 306 uses the detected contour C1 and position P1 information and the predicted position P2 information of the object, the detected position P1 and the predicted position ( P2) is matched by weighted sum and the position P3 is calculated as a tracking position in the current frame F2 as a resultant value, and the contour C1 is combined around the tracking position P3 to combine the current frame. The tracking contour C1 in (F2) is calculated.
다른 대안적인 실시예에서, 정합부(306)가 물체의 검출된 콘투어(C1)와 위치(P1) 정보 및 예측된 콘투어(C2)와 위치(P2) 정보를 사용한다고 가정하면, 검출된 위치(P1)와 예측된 위치(P2)를 가중 합산에 의해 정합하여 결과값으로서 위치(P3)를 현재 프레임(F2) 내에서의 추적 위치로서 산출하고, 검출된 콘투어(C1)와 예측된 콘투어(C2)를 가중 합산에 의해 정합한 값을 상기 추적 위치(P3)에 결합함으로써 현재 프레임(F2) 내에서의 추적 콘투어를 산출할 수도 있다. In another alternative embodiment, assuming that matcher 306 uses the detected contour C1 and position P1 information and the predicted contour C2 and position P2 information of the object, detected The position P1 and the predicted position P2 are matched by weighted summation to calculate the position P3 as a tracking position as a tracking position in the current frame F2 as a resultant value, and to detect the detected contour C1 and the predicted position P2. The tracking contour in the current frame F2 may be calculated by combining the value obtained by weighted addition of the contour C2 to the tracking position P3.
이와 같이 본 발명의 실시예에서 따르면 추적대상 물체에 대한 예측(prediction) 작업과 검출(detection) 작업을 분리하여 각기 별개의 장치에서 실행한 뒤 그 결과값을 정합하기 때문에, 클라이언트 장치의 다양한 종류와 상황에 따라 최적화된 추적 결과를 제공할 수 있다. 예컨대, 제2 클라이언트(30)가 스마트폰과 같은 모바일 단말기인 경우, 모바일 단말기 성능의 한계로 인해 예측과 검출 알고리즘을 각각 실행한 뒤 사용자에게 실시간으로 추적 결과는 보여주는 것이 매우 어려웠으나, 본 발명의 실시예서는 컴퓨팅 장치(20)로 콘투어 검출 기능을 넘기고 모바일 단말기에서 상대적으로 가벼운 예측 트래킹 알고리즘만 실행하면 되므로 최적화된 추적 결과를 실시간으로 사용자에게 제공할 수 있게 된다. As described above, according to the exemplary embodiment of the present invention, since the prediction operation and the detection operation for the object to be tracked are separated and executed in separate devices, the result values are matched with each other. Depending on the situation, you can provide optimized tracking results. For example, when the
도3은 본 발명의 제1 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도이다. 3 is a flowchart illustrating a method for tracking a distributed object based object according to the first embodiment of the present invention.
도3을 참조하면, 우선 제1 클라이언트(10)의 영상 획득부가 추적대상 물체를 포함하는 복수의 영상 프레임을 획득한다. 일 실시예에서 복수의 영상 프레임은 예컨대 CCTV나 감시카메라를 통해 실시간 입력되는 영상 프레임일 수 있다. Referring to FIG. 3, first, an image acquisition unit of the
그 후 단계(S303)에서 제1 클라이언트(10)가 상기 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치(20)에 전송할지 여부를 판단한다. 일 실시예에서 이러한 판단은 판단부(102)가 행하며, 상기 판단은 소정의 시간 주기, 컴퓨팅 장치(20)의 리소스, 및 네트워크망(40)의 상태 중 적어도 하나에 기초하여 수행될 수 있다. In operation S303, the
시간 주기에 따른 판단의 예로서, 판단부(102)는 소정 시간 주기에 따라 1초당 몇 개의 프레임을 전송할지 설정하고 이 설정값에 따라 각각의 영상 프레임에 대한 전송 여부를 판단할 수 있다. 상기 컴퓨팅 장치(20)의 리소스는 예를 들어 컴퓨팅 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나가 될 수 있고, 네트워크망의 상태는 예를 들어 네트워크망의 종류, 연결 상태 여부, 및 전송속도 등의 정보가 될 수 있다. As an example of the determination according to the time period, the determination unit 102 may set how many frames per second to transmit according to a predetermined time period, and determine whether to transmit each image frame according to this setting value. The resource of the
그 후 단계(S305)에서 제1 클라이언트(10)는 제2 클라이언트(30)로 영상 프레임을 전송하며, 이와 함께, 단계(S303)의 판단 결과에 따라 컴퓨팅 장치(20)에 영상 프레임을 전송할 수도 있다. 이 때 실시형태에 따라 컴퓨팅 장치(20) 및 제2 클라이언트(30)에 전송할 영상 프레임을 압축하여 전송할 수도 있다. Thereafter, in operation S305, the
만약 컴퓨팅 장치(20)로 영상 프레임을 전송한 경우, 단계(S309)에서 컴퓨팅 장치(20)는 콘투어 검출 알고리즘을 사용하여 영상 프레임 내의 추적대상 물체의 콘투어를 검출한다. 실시 형태에 따라, 이 단계(S309)에서 컴퓨팅 장치(20)는 상기 물체의 콘투어 뿐만 아니라 상기 물체의 프레임 내 위치도 검출할 수 있다. 그 후 컴퓨팅 장치(20)는 검출된 물체의 콘투어(또는 검출된 콘투어 및 위치)를 제2 클라이언트(30)로 전송한다. If the image frame is transmitted to the
한편 제2 클라이언트(30)는 단계(S305)에 따라 제1 클라이언트(10)로부터 전송받은 영상 프레임에 대해 프레임 내의 추적대상 물체의 위치를 예측한다(S313). 일 실시예에서 상기 예측 단계는 물체 예측부(303)에서 수행될 수 있고, 소정의 예측 알고리즘을 사용하여 복수개의 과거의 영상 프레임 중 적어도 하나에 기초하여 현재의 영상 프레임에서의 물체의 위치를 예측한다. 대안적인 실시예에서 물체 예측부(303)는 물체의 콘투어도 예측할 수 있다. 즉 상기 복수의 과거의 영상 프레임 중 적어도 하나에 기초하여 현재의 영상 프레임에서의 상기 물체의 콘투어를 예측하는 단계를 더 포함할 수 있다. Meanwhile, the
다음으로 단계(S317)에서 제2 클라이언트 장치(30)의 정합부(306)가 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하여, 예측 영상 프레임에서의 물체의 추적 위치 및 추적 콘투어를 산출한다. 구체적 정합 방법의 일 실시예로서, 예를 들어 상기 물체의 예측된 위치 및 검출된 위치를 가중 합산하여 물체의 추적 위치를 산출하고, 이 추적 위치에 상기 검출된 콘투어를 결합하여 물체의 추적 콘투어를 산출할 수 있다. Next, in step S317, the matching unit 306 of the
다른 대안적인 실시예로서, 정합부(306)가 검출된 위치와 예측된 위치를 가중 합산하여 물체의 추적 위치를 산출하고, 이 추적 위치에 상기 검출된 콘투어와 예측된 콘투어를 가중 합산한 값을 결합함으로써 물체의 추적 콘투어를 산출할 수도 있다. In another alternative embodiment, the matching unit 306 weights the detected position and the predicted position to calculate the tracking position of the object, and adds the weighted sum of the detected contour and the predicted contour to the tracking position. It is also possible to calculate the tracking contour of the object by combining the values.
한편, 상기 단계(S303)의 판단 동작으로 인해 모든 영상 프레임이 컴퓨팅 장치(20)로 전송되는 것이 아니므로, 단계(S311)에서 제2 클라이언트(30)로 전송되는 영상 프레임도 전체 프레임 중 일부분일 것이다. 그러므로 정합 단계(S317)는 일부 프레임에 대해서는 정합 동작을 수행하지 않는 상황이 발생할 수 있다. 이 경우 예를 들어 통신부(301)가 컴퓨팅 장치(20)로부터 소정 영상 프레임에 대해 검출된 물체의 위치와 콘투어를 수신하는 경우 정합부(306)는 제1 클라이언트(10)로부터 수신한 대응 영상 프레임과의 정합 동작을 수행하면 되고, 만약 통신부(301)가 소정 영상 프레임에 대해 컴퓨팅 장치(20)로부터 물체의 검출된 위치와 콘투어를 수신받지 못하는 경우라면, 정합부(306)는 물체 예측부(303)에서 예측된 상기 물체의 위치와 콘투어를 그대로 출력한다. 즉 이 경우에는 상기 예측된 위치와 콘투어가 추적 위치와 추적 콘투어가 된다. Meanwhile, not all image frames are transmitted to the
그 후 단계(S319)에서, 정합부(306)에서 산출된 물체의 추적 위치와 추적 콘투어가 결합된 영상 프레임을 영상 출력부(307)가 받아서 사용자에게 디스플레이 한다. Thereafter, in operation S319, the
도4는 본 발명의 제2 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도이다. 도4를 참조하면, 도1과 비교할 때 도4는 제2 클라이언트(30)가 판단부(305)를 더 포함하고 있다. 판단부(305)는 정합부(306)의 동작을 실행할지 여부를 판단하여 제어한다. 일 실시예에서 판단부(305)는 제2 클라이언트(30)의 리소스 및 소정 시간 주기 중 적어도 하나에 기초하여 정합부(306)를 제어할 수 있다. 4 is a block diagram provided to explain an apparatus for tracking a distributed object based on a second embodiment of the present invention. Referring to FIG. 4, in comparison with FIG. 1, the
여기서 제2 클라이언트의 리소스에 기초한다는 것은, 예컨대 제2 클라이언트(30)가 정합 알고리즘을 실행할 정도로 리소스가 충분한지에 기초하여 정합부(306)의 동작 실행을 판단하는 것으로, 이 때 상기 리소스는 제2 클라이언트(30)의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함할 수 있다. 또한 소정 시간 주기에 기초한다는 것은 미리 설정된 소정 시간 마다 정합 동작을 실행하는 것으로, 에컨대 1초당 소정 개수의 영상 프레임에 대해서만 정합을 수행하도록 제어할 수 있다. Here, based on the resources of the second client, for example, to determine the execution of the operation of the matching unit 306 based on whether or not the resources are sufficient to execute the matching algorithm, the resource is the second It may include at least one of a processor processing speed and available memory capacity of the
따라서 상기와 같은 판단부(305)의 추가에 의해, 판단부(305)와 정합부(306)를 통합하여 산출부로 칭할 수도 있고, 산출부는 판단부(305)에 의해 정합부(306)의 동작을 제어하면서 물체의 추적 위치와 추적 콘투어를 산출한다. 즉, 만일 판단부(305)에 의해 정합부(306)가 동작할 경우 산출부는 정합부(306)의 실행 결과에 따라 추적 위치 및 추적 콘투어를 산출하고, 판단부(305)에 의해 정합부(306)가 동작하지 않을 경우에는 물체 예측부(303)에서 예측된 물체의 위치와 콘투어를 산출부의 결과로서 출력한다. Therefore, by adding the determination unit 305 as described above, the determination unit 305 and the matching unit 306 may be collectively referred to as a calculation unit, and the calculation unit may operate by the determination unit 305 to operate the matching unit 306. Calculate the tracking position and tracking contour of the object while controlling it. That is, if the matching unit 306 is operated by the determining unit 305, the calculating unit calculates the tracking position and the tracking contour according to the execution result of the matching unit 306, and the matching unit by the determining unit 305. If 306 does not operate, the
도5는 도4에 도시된 본 발명의 제2 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도이다. 도3과 비교할 때 판단부(305)의 동작에 따른 정합 판단 단계(S515)가 더 추가되었고 나머지 단계들은 모두 동일하다. FIG. 5 is a flowchart illustrating a method for tracking a distributed object based object according to the second embodiment of the present invention shown in FIG. 4. Compared to FIG. 3, a matching determination step (S515) according to the operation of the determination unit 305 is further added, and all remaining steps are the same.
즉 단계(S515)에서 판단부(305)는 정합 단계(S517)로 갈지 아니면 정합을 하지 않고 단계(S519)에서 예측 결과를 바로 출력할지를 판단할 수 있다. That is, in step S515, the determination unit 305 may determine whether to go to the matching step S517 or directly output the prediction result in step S519 without matching.
판단부(305)의 판단 결과 정합을 수행하기로 판단하면, 정합 단계(S517)에서, 물체 예측부(304)에서 예측된 물체의 위치와 물체 검출부(203)에서 검출된 물체의 위치 및 콘투어를 정합한다. 만일 판단부(305)의 판단 결과 상기 정합 단계(S517)를 수행하지 않기로 하면, 예측부(304)에 의한 물체의 예측된 위치만을 추적 결과로서 출력한다(단계 S519). 즉 상기 물체 예측부(304)에 의한 물체의 예측된 위치와 콘투어를 상기 물체의 추적 위치와 추적 콘투어로서 산출하여 출력한다. If the determination result of the determination unit 305 determines to perform the matching, in the matching step (S517), the position of the object predicted by the object predictor 304 and the position and contour of the object detected by the object detector 203 Match If the determination unit 305 decides not to perform the matching step S517, only the predicted position of the object by the prediction unit 304 is output as the tracking result (step S519). That is, the predicted position and the contour of the object by the object predictor 304 are calculated and output as the tracking position and the tracking contour of the object.
도6은 본 발명의 제3 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도이다. 도6을 참조하면, 도4와 비교할 때 제1 클라이언트(10)는 영상 전처리부(103) 및 영상 인코더부(104)를 더 포함한다. 6 is a block diagram provided to explain an apparatus for tracking distributed objects based on a third embodiment of the present invention. Referring to FIG. 6, in comparison with FIG. 4, the
영상 전처리부(103)는 컴퓨팅 장치(20) 및/또는 제2 클라이언트(30)로 전송할 영상 프레임의 해상도를 변환한다. 네트워크망(40)을 통해 영상 데이터를 신속히 전송하고 또한 컴퓨팅 장치(20)에서 물체의 콘투어를 빨리 계산하기 위해서는 영상의 해상도를 낮추는 것이 바람직하다. 따라서 도시된 일 실시예에서 컴퓨팅 장치(20)의 물체 검출부(203)가 콘투어를 검출할 수 있는 최소한의 해상도 이상의 범위에서 전송속도와 검출 처리 속도를 높이기 위해 영상 프레임의 해상도를 낮출 수 있다. 제2 클라이언트(30)로 전송되는 영상 프레임에 대해서는, 제2 클라이언트(30)의 물체 예측부(304)의 처리 속도, 정합부(306)의 처리 속도, 영상 출력화면의 해상도 등의 제2 클라이언트의 리소스에 기초하여 영상 프레임의 해상도를 낮출 수 있다. 경우에 따라서는 컴퓨팅 장치(20)나 제2 클라이언트(30)로 전송될 영상 프레임을 더 높은 해상도로 변환할 수도 있다. The image preprocessor 103 converts a resolution of an image frame to be transmitted to the
그리고 상기 영상 전처리부(103)의 추가에 따라, 제1 클라이언트(10)는 상기와 같이 컴퓨팅 장치나 제2 클라이언트의 리소스 등에 기초하여 영상 전처리를 수행할지 여부를 판단하는 판단부를 추가로 더 포함할 수 있다. 일 실시예에서 판단부(102)가 영상 프레임의 해상도 변환 여부를 판단하기 위한 상기 추가의 판단 기능을 더 가질 수 있다. 이 경우 판단부(102)는 컴퓨팅 장치(20)의 리소스 및 네트워크망(40)의 상태 중 적어도 하나에 기초하여 상기 컴퓨팅 장치로 전송할 영상 프레임의 해상도를 변경할지 여부를 판단하는 기능을 더 포함한다. 이 때 상기 리소스는 컴퓨팅 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함할 수 있고, 상기 네트워크망의 상태는 네트워크망과의 연결상태나 전송속도에 관한 정보 중 적어도 하나를 포함할 수 있다. In addition, according to the addition of the image preprocessor 103, the
그리고 상기 판단부(102)는 제2 클라이언트(30)의 리소스에 기초하여 상기 제2 클라이언트로 전송할 영상 프레임의 해상도를 변경할지 여부를 판단하는 기능도 더 포함할 수 있다. 이 때 상기 리소스는 제2 클라이언트의 프로세서 처리속도, 가용 메모리 용량, 및 영상 출력 화면의 해상도 중 적어도 하나에 대한 정보를 포함할 수 있다. The determination unit 102 may further include a function of determining whether to change the resolution of an image frame to be transmitted to the second client based on the resources of the
이 때 일 실시예에서 제1 클라이언트(10)는 컴퓨팅 장치(20)의 상기 리소스나 제2 클라이언트(30)의 리소스에 관한 정보를 미리 획득하여 알고 있다고 가정한다. 즉 제1 클라이언트, 제2 클라이언트, 및 컴퓨팅 장치가 네트워크망을 통해 서로 연결되면 제1 클라이언트가 나머지 각 장치에 대한 정보를 미리 획득할 수 있다. 대안적인 실시예에서, 판단부(102)의 판단이 필요한 시점에 제1 클라이언트가 컴퓨팅 장치나 제2 클라이언트에게 리소스 정보를 요청하여 이 정보를 얻을 수도 있다.In this embodiment, it is assumed that the
영상 인코더부(104)는 영상 프레임의 전송 전 영상 프레임을 압축하는 기능을 가진다. 예컨대 인코더부(104)는 MPEG4 등의 표준 압축 알고리즘에 의해 영상 프레임을 압축할 수 있다. The image encoder 104 has a function of compressing an image frame before transmission of the image frame. For example, the encoder unit 104 may compress an image frame by a standard compression algorithm such as MPEG4.
한편 도4와 비교할 때 도6의 컴퓨팅 장치(20)는 영상 디코더부(202), 판단부(204), 콘투어 전처리부(205), 콘투어 인코더부(206)를 더 포함한다. 4, the
영상 디코더부(202)는 제1 클라이언트(10)의 영상 인코더부(104)에 대응하는 것으로, 인코더부(104)에서 압축된 영상 프레임을 컴퓨팅 장치(20)가 전송받을 경우 영상 디코더부(202)에서 이 영상을 압축해제 한다. The image decoder 202 corresponds to the image encoder 104 of the
콘투어 인코더부(206)는 물체 검출부(203)에서 검출한 물체의 콘투어를 제2 클라이언트(30)로 전송하기 전에 이 콘투어 정보를 압축하는 기능을 가진다. 예컨대 콘투어 인코더부(206)는 예컨대 산술 부호화(Arithmetic Coding) 방식에 의해 콘투어 정보를 압축할 수 있다. The contour encoder unit 206 has a function of compressing the contour information before transmitting the contour of the object detected by the object detector 203 to the
콘투어 전처리부(205)는 제2 클라이언트(30)로 전송할 콘투어의 해상도를 변환한다. 컴퓨팅 장치(20)가 제1 클라이언트로부터 영상을 전송받을 때 저해상도로 변환된 영상을 수신하였으므로, 제2 클라이언트(30)로 콘투어를 전송할 때는 다시 고해상도로 변환해야 할 필요성이 있을 수 있다. The
상기 콘투어 전처리부(205)의 추가에 따라, 컴퓨팅 장치(20)는 제2 클라이언트의 리소스 등에 기초하여 콘투어 전처리를 수행할지 여부를 판단하는 판단부(204)를 추가로 더 포함한다. 일 실시예에서 판단부(204)는 제2 클라이언트(30)의 리소스에 기초하여 제2 클라이언트로 전송할 콘투어의 해상도를 변경할지 여부를 판단한다. 이 때 상기 리소스는 제2 클라이언트의 프로세서 처리속도나 가용 메모리 용량 중 적어도 하나를 포함할 수 있다. According to the addition of the
이 때 일 실시예에서 컴퓨팅 장치(20)는 제2 클라이언트30)의 리소스에 관한 정보를 미리 획득하여 알고 있다고 가정한다. 즉 제1 클라이언트, 제2 클라이언트, 및 컴퓨팅 장치가 네트워크망을 통해 서로 연결되면 컴퓨팅 장치가 제2 클라이언트(30)로부터 상기 정보를 미리 획득할 수 있다. 대안적인 실시예에서, 컴퓨팅 장치는 제1 클라이언트(10)로부터 제2 클라이언트(30)의 정보를 받을 수도 있다. In this case, it is assumed that the
그리고 도4와 비교할 때 도6의 제2 클라이언트(30)는 디코더부(302) 및 콘투어 전처리부(303)를 더 포함한다. In comparison with FIG. 4, the
디코더부(302)는 제1 클라이언트(10)의 영상 인코더부(104) 및 컴퓨팅 장치의 콘투어 인코더부(206)에 대응하는 것으로, 제1 클라이언트(10)와 컴퓨팅 장치(20)에서 각각 전송되어 오는 압축된 영상 프레임 및 콘투어 정보를 압축해제하는 기능을 가진다. The
콘투어 전처리부(303)는 컴퓨팅 장치의 콘투어 전처리부(205)와 동일한 기능 모듈로서 물체 검출부(203)에서 검출된 콘투어의 해상도를 변환한다. 일 실시예에서, 컴퓨팅 장치의 판단부(302)가 제2 클라이언트(30)의 리소스가 충분하여 콘투어 전처리부(205)에서 전처리를 하지 않는다고 판단하면, 제2 클라이언트(30)의 콘투어 전처리부(303)가 전처리를 수행한다. 반대로, 판단부(302)가 제2 클라이언트의 리소스가 부족하여 컴퓨팅 장치에서 콘투어 전처리를 수행하기로 판단하면 콘투어 전처리부(205)에서 전처리가 수행되고, 이 경우 제2 클라이언트(30)의 콘투어 전처리부(303)는 전처리를 수행할 필요가 없다. The
도7은 도6의 본 발명의 제3 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도이다. 도5와 비교할 때 도7은 영상 전처리 단계(S703,S709) 및 콘투어 전처리 단계(S715,S717,S722)가 더 추가되었고 나머지 단계들은 모두 동일하다. 7 is a flowchart illustrating a method for tracking a distributed object based object according to a third embodiment of the present invention of FIG. 6. In comparison with FIG. 5, FIG. 7 further includes image preprocessing steps S703 and S709 and contour preprocessing steps S715, S717 and S722, and all remaining steps are the same.
단계(S703,S709)에서, 제1 클라이언트(10)는 제2 클라이언트와 컴퓨팅 장치의 각각의 리소스에 기초하여 각 장치로 전송할 영상 프레임의 해상도를 각각 변환한다. 만약 제1 클라이언트(10)와 제2 클라이언트(30)가 하나의 장치라면 제2 클라이언트로 전송할 영상 프레임에 대해서는 해상도 변환 과정을 생략할 수 있다.In steps S703 and S709, the
그 후 컴퓨팅 장치(20)는 단계(S715)에서 제2 클라이언트의 리소스에 기초하여 콘투어의 전처리를 수행 여부를 판단한다. 만약 제2 클라이언트(30)의 리소스가 충분하지 않다고 판단하면 컴퓨팅 장치(20)에서 콘투어 전처리가 수행되고(단계 S717), 제2 클라이언트(30)의 리소스가 충분하다고 판단하면 제2 클라이언트(30)에서 콘투어 전처리가 수행된다(단계 S722). The
이상과 같이 설명한 본 발명의 분산처리 기반의 물체 추적 장치 및 방법에 관한 기술은 하드웨어 또는 소프트웨어, 또는 이 둘의 적절한 조합으로 구현될 수 있다. 따라서, 예컨대 물체 추적방법의 전부 또는 일부가 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 임의의 기타 컴퓨터 판독가능 저장매체 등의 실체적인 매체에 구현된 프로그램 코드(즉, 명령어들)의 형태를 취할 수 있고, 이러한 프로그램 코드가 컴퓨터 등의 기계에 로드 되거나 또는 기계에 의해 실행될 때, 그 기계는 물체 추적장치를 구성하는 일부분이 될 수 있다. The technique related to the distributed processing-based object tracking apparatus and method of the present invention described above may be implemented in hardware or software, or a suitable combination of the two. Thus, for example, all or part of an object tracking method may take the form of program code (ie, instructions) implemented on a tangible medium such as a floppy diskette, CD-ROM, hard drive, or any other computer readable storage medium. When such program code is loaded on or executed by a machine such as a computer, the machine may be part of the object tracking device.
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. While the present invention has been described with reference to the particular embodiments and drawings, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. This is possible.
10: 제1 클라이언트 101: 영상 획득부
102: 판단부 103: 영상 전처리부
20: 컴퓨팅 장치 203: 물체 검출부
204: 판단부 205,303: 콘투어 전처리부
30: 제2 클라이언트 306: 정합부10: first client 101: image acquisition unit
102: determination unit 103: image preprocessing unit
20: computing device 203: object detection unit
204: Decision unit 205,303: Contour preprocessor
30: second client 306: matching unit
Claims (24)
제1 클라이언트 장치로부터의 추적대상 물체를 포함하는 복수의 영상 프레임을 제2 클라이언트 장치가 수신하는 단계;
제2 클라이언트 장치가, 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치를 예측하는 단계;
제2 클라이언트 장치가, 상기 복수의 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 컴퓨팅 장치로부터 수신하는 단계; 및
제2 클라이언트 장치가, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 단계;를 포함하고,
상기 정합하는 단계 이전에,
제2 클라이언트 장치가 상기 정합하는 단계를 수행할지를 판단하는 단계;를 더 포함하고,
상기 판단 결과 상기 정합하는 단계를 수행하지 않을 경우, 상기 물체의 예측된 위치와 콘투어를 상기 물체의 추적 위치 및 추적 콘투어로서 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법. In the distributed tracking object tracking method,
Receiving, by the second client device, a plurality of image frames including the tracked object from the first client device;
Predicting, by a second client device, the position of the object in an image frame (“predictive image frame”) after the plurality of image frames based on at least one of the plurality of image frames;
Receiving, by a second client device, a position and a contour of the object from a computing device detected in one of the plurality of image frames; And
And matching, by the second client device, the contour with the predicted position of the object and the detected position of the object to calculate the tracking position and the tracking contour of the object in the predictive image frame. ,
Prior to the matching step,
Determining whether a second client device performs the matching step;
And if the matching step is not performed, the predicted position and the contour of the object are calculated as the tracking position and the tracking contour of the object.
상기 물체의 예측된 위치 및 검출된 위치를 가중 합산하여 상기 물체의 추적 위치를 산출하는 단계; 및
상기 추적 위치에 상기 물체의 검출된 콘투어를 결합하여 상기 물체의 추적 콘투어를 산출하는 단계;를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법. The method of claim 1, wherein the step of matching,
Calculating a tracking position of the object by weighted summing up the predicted position and the detected position of the object; And
And calculating the tracking contour of the object by combining the detected contour of the object with the tracking position.
상기 복수의 영상 프레임 중 적어도 하나에 기초하여 상기 예측 영상 프레임에서의 상기 물체의 콘투어를 예측하는 단계를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법. The method of claim 1, wherein predicting the position of the object comprises:
And predicting a contour of the object in the predicted image frame based on at least one of the plurality of image frames.
이 때 상기 리소스는 상기 제2 클라이언트 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법. The method of claim 1, wherein the determining comprises: determining based on at least one of a resource and a predetermined time period of the second client device.
In this case, the resource comprises at least one of the processor processing speed and the available memory capacity of the second client device.
클라이언트 장치가 추적대상 물체를 포함하는 복수의 영상 프레임을 획득하는 단계;
상기 클라이언트 장치가 상기 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치에 전송할지 여부를 판단하고, 전송하는 것으로 판단할 경우 상기 일부 영상 프레임을 전송하는 단계;
상기 클라이언트 장치가, 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치를 예측하는 단계;
상기 클라이언트 장치가, 상기 컴퓨팅 장치로부터 상기 일부 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 수신하는 단계; 및
상기 클라이언트 장치가, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 단계;를 포함하고,
상기 정합하는 단계 이전에,
상기 클라이언트 장치가 상기 정합하는 단계를 수행할지를 판단하는 단계;를 더 포함하고,
상기 판단 결과 상기 정합하는 단계를 수행하지 않을 경우, 상기 물체의 예측된 위치와 콘투어를 상기 물체의 추적 위치 및 추적 콘투어로서 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법. In the distributed tracking object tracking method,
Acquiring, by the client device, a plurality of image frames including the object to be tracked;
Determining whether the client device transmits at least some image frames of the plurality of image frames to a computing device, and when determining that the client device transmits the at least some image frames;
Predicting, by the client device, the position of the object in an image frame (“predictive image frame”) after the plurality of image frames based on at least one of the plurality of image frames;
Receiving, by the client device, a position and a contour of the object detected in any one of the some image frames from the computing device; And
And matching, by the client device, a contour with the predicted position of the object and the detected position of the object to calculate a tracking position and a tracking contour of the object in the predictive image frame.
Prior to the matching step,
Determining whether the client device performs the matching step;
And if the matching step is not performed, the predicted position and the contour of the object are calculated as the tracking position and the tracking contour of the object.
상기 리소스는 상기 컴퓨팅 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법. 8. The method of claim 7, wherein determining whether to send to the computing device is based on at least one of a resource and a predetermined time period of the computing device,
And wherein said resource comprises at least one of processor processing speed and available memory capacity of said computing device.
상기 물체의 예측된 위치 및 상기 물체의 검출된 위치를 가중 합산하여 상기 물체의 추적 위치를 산출하는 단계; 및
상기 추적 위치에 상기 물체의 검출된 콘투어를 결합하여 상기 물체의 추적 콘투어를 산출하는 단계;를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.The method of claim 7, wherein the step of matching,
Calculating a tracking position of the object by weighted summing up the predicted position of the object and the detected position of the object; And
And calculating the tracking contour of the object by combining the detected contour of the object with the tracking position.
상기 복수의 영상 프레임 중 적어도 하나에 기초하여 상기 예측 영상 프레임에서의 상기 물체의 콘투어를 예측하는 단계를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법. The method of claim 7, wherein the step of predicting the position of the object,
And predicting a contour of the object in the predicted image frame based on at least one of the plurality of image frames.
상기 리소스는 상기 클라이언트 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법. The method of claim 7, wherein the determining of whether to perform the matching step comprises: determining based on at least one of a resource and a predetermined time period of the client device;
And wherein the resource comprises at least one of a processor processing speed and an available memory capacity of the client device.
상기 클라이언트 장치가, 상기 컴퓨팅 장치의 리소스에 기초하여 상기 컴퓨팅 장치로 전송할 영상 프레임의 해상도를 변경하는 단계;를 더 포함하고,
이 때 상기 리소스는 상기 컴퓨팅 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법. The method of claim 7, prior to transmitting the partial image frame to the computing device,
Changing, by the client device, a resolution of an image frame to be sent to the computing device based on a resource of the computing device;
The resource tracking method of claim 1, wherein the resource comprises at least one of a processor processing speed and an available memory capacity of the computing device.
상기 클라이언트 장치 또는 상기 컴퓨팅 장치 중 하나가, 상기 클라이언트 장치의 리소스에 기초하여 상기 검출된 물체의 콘투어의 해상도를 변경하는 단계;를 더 포함하고,
이 때 상기 클라이언트 장치의 리소스는 상기 클라이언트 장치의 프로세서 처리속도, 가용 메모리 용량, 및 상기 클라이언트 장치가 구비한 영상 출력장치의 해상도 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법The method of claim 13, wherein prior to the matching step,
Changing, by the client device or the computing device, the resolution of the contour of the detected object based on a resource of the client device;
In this case, the resource of the client device may include at least one of a processor processing speed of the client device, available memory capacity, and a resolution of an image output device included in the client device.
네트워크망을 통해 외부의 영상 획득 장치 및 컴퓨팅 장치와 데이터를 송수신할 수 있는 통신부;
추적대상 물체를 포함하며 상기 영상 획득 장치로부터 수신되는 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치와 콘투어를 예측할 수 있는 물체 예측부; 및
상기 통신부가 상기 복수의 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 상기 컴퓨팅 장치로부터 수신하는 경우, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합할 수 있는 정합부;를 포함하고,
상기 통신부가 상기 컴퓨팅 장치로부터 상기 물체의 검출된 위치와 콘투어를 수신하지 않을 경우, 상기 정합부가, 상기 물체 예측부에서 예측된 상기 물체의 위치와 콘투어를 상기 예측 영상 프레임에서의 상기 추적 위치와 추적 콘투어로서 각각 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치. In the distributed tracking object tracking device,
A communication unit capable of transmitting and receiving data with an external image acquisition device and a computing device through a network;
A position and a contour of the object in an image frame (“predictive image frame”) after the plurality of image frames, based on at least one of a plurality of image frames received from the image acquisition apparatus, including a tracking object. A predictable object predictor; And
When the communication unit receives a position and a contour of the object detected in one of the plurality of image frames from the computing device, the tracking position and the tracking contour of the object in the predicted image frame are calculated. And a matching unit capable of matching a contour with a predicted position of the object and the detected position of the object.
When the communication unit does not receive the detected position and the contour of the object from the computing device, the matching unit determines the position and the contour of the object predicted by the object predictor in the tracking position in the predicted image frame. Distributed processing based object tracking device, characterized in that for calculating and as a tracking contour, respectively.
상기 물체의 예측된 위치 및 상기 물체의 검출된 위치를 가중 합산하여 상기 물체의 추적 위치를 산출하고,
상기 추적 위치에 상기 물체의 검출된 콘투어를 결합하여 상기 물체의 추적 콘투어를 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치. The method of claim 15, wherein the matching unit,
Calculating a tracking position of the object by weighted summing up the predicted position of the object and the detected position of the object,
And a tracking contour of the object by combining the detected contour of the object with the tracking position.
추적대상 물체를 포함하는 복수의 영상 프레임을 획득할 수 있는 영상 획득부;
네트워크망을 통해 외부의 컴퓨팅 장치와 데이터를 송수신할 수 있는 통신부;
상기 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치에 전송할지를 판단하는 제1 판단부;
상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치와 콘투어를 예측할 수 있는 물체 예측부; 및
상기 예측된 물체의 위치와 콘투어에 기초하여, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치와 추적 콘투어를 산출할 수 있는 산출부;를 포함하고,
상기 산출부는, 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 상기 물체의 예측된 위치와 정합하는 정합부를 포함하고,
상기 산출부가, 상기 추적장치의 리소스 및 소정 시간 주기 중 적어도 하나에 기초하여 상기 정합부의 동작을 제어하는 제2 판단부를 더 포함하고,
상기 제2 판단부에 의해 상기 정합부가 동작하지 않을 경우, 상기 산출부가, 상기 물체 예측부에서 예측된 상기 물체의 위치와 콘투어를 상기 예측 영상 프레임에서의 상기 추적 위치와 추적 콘투어로서 각각 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치. In the distributed tracking object tracking device,
An image acquisition unit configured to acquire a plurality of image frames including a tracking object;
A communication unit capable of transmitting and receiving data with an external computing device through a network;
A first determining unit determining whether to transmit at least some image frames of the plurality of image frames to a computing device;
An object predictor configured to predict a position and a contour of the object in an image frame (“predictive image frame”) after the plurality of image frames based on at least one of the plurality of image frames; And
And a calculator configured to calculate a tracking position and a tracking contour of the object in the predicted image frame based on the predicted position and the contour of the object.
The calculation unit includes a matching unit for matching the position and the contour of the object detected in the image frame with the predicted position of the object,
The calculation unit further includes a second determination unit for controlling the operation of the matching unit based on at least one of a resource and a predetermined time period of the tracking device,
When the matching unit is not operated by the second determination unit, the calculator calculates the position and the contour of the object predicted by the object predictor as the tracking position and the tracking contour in the predicted image frame, respectively. Distributed processing-based object tracking device, characterized in that.
상기 정합부는, 상기 통신부가 상기 일부 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 상기 컴퓨팅 장치로부터 수신하는 경우, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치. The method of claim 18,
The matching unit, when the communication unit receives the position and the contour of the object detected in any one of the image frame of the image from the computing device, the predicted position of the object and the detected position of the object and Distributed processing-based object tracking device, characterized in that matching the contour.
상기 물체의 예측된 위치 및 상기 물체의 검출된 위치를 가중 합산하여 상기 물체의 추적 위치를 산출하고,
상기 추적 위치에 상기 물체의 검출된 콘투어를 결합하여 상기 물체의 추적 콘투어를 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치. The method of claim 20, wherein the matching unit,
Calculating a tracking position of the object by weighted summing up the predicted position of the object and the detected position of the object,
And a tracking contour of the object by combining the detected contour of the object with the tracking position.
상기 컴퓨팅 장치의 리소스에 기초하여 상기 컴퓨팅 장치로 전송할 영상 프레임의 해상도를 변경할지 여부를 판단하는 제3 판단부; 및
상기 제3 판단부의 판단 결과에 따라 상기 컴퓨팅 장치로 전송할 영상 프레임의 해상도를 변경하는 영상 전처리부;를 더 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치.The method of claim 18, wherein the dispersion-based object tracking device,
A third determining unit determining whether to change a resolution of an image frame to be transmitted to the computing device based on a resource of the computing device; And
And an image preprocessor configured to change the resolution of an image frame to be transmitted to the computing device according to the determination result of the third determination unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120029816A KR101323886B1 (en) | 2012-03-23 | 2012-03-23 | Distributed-Processing-Based Object Tracking Apparatus and Method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120029816A KR101323886B1 (en) | 2012-03-23 | 2012-03-23 | Distributed-Processing-Based Object Tracking Apparatus and Method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130107772A KR20130107772A (en) | 2013-10-02 |
KR101323886B1 true KR101323886B1 (en) | 2013-10-30 |
Family
ID=49631015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120029816A KR101323886B1 (en) | 2012-03-23 | 2012-03-23 | Distributed-Processing-Based Object Tracking Apparatus and Method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101323886B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102085699B1 (en) * | 2018-07-09 | 2020-03-06 | 에스케이텔레콤 주식회사 | Server and system for tracking object and program stored in computer-readable medium for performing method for tracking object |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0636031A (en) * | 1992-07-15 | 1994-02-10 | N T T Data Tsushin Kk | Moving body tracking system utilizing computer |
JP2010028594A (en) * | 2008-07-23 | 2010-02-04 | Hitachi Ltd | Moving object monitoring device |
-
2012
- 2012-03-23 KR KR1020120029816A patent/KR101323886B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0636031A (en) * | 1992-07-15 | 1994-02-10 | N T T Data Tsushin Kk | Moving body tracking system utilizing computer |
JP2010028594A (en) * | 2008-07-23 | 2010-02-04 | Hitachi Ltd | Moving object monitoring device |
Also Published As
Publication number | Publication date |
---|---|
KR20130107772A (en) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6024952B2 (en) | Image transmission apparatus, image transmission method, image transmission program, and image recognition authentication system | |
US8824554B2 (en) | Systems and methods for video content analysis | |
US9082278B2 (en) | Surveillance system | |
CN110287891B (en) | Gesture control method and device based on human body key points and electronic equipment | |
US10547845B2 (en) | Information processing device and information processing method | |
US20130114704A1 (en) | Utilizing A Search Scheme for Screen Content Video Coding | |
CN112383777A (en) | Video coding method and device, electronic equipment and storage medium | |
WO2012122051A1 (en) | Redundant detection filtering | |
CN109168032B (en) | Video data processing method, terminal, server and storage medium | |
TWI521473B (en) | Device, method for image analysis and computer-readable medium | |
US9276986B2 (en) | Systems, methods, and apparatuses for facilitating remote data processing | |
US10878272B2 (en) | Information processing apparatus, information processing system, control method, and program | |
US10051281B2 (en) | Video coding system with efficient processing of zooming transitions in video | |
US11164328B2 (en) | Object region detection method, object region detection apparatus, and non-transitory computer-readable medium thereof | |
US10887586B2 (en) | Picture encoding method and terminal | |
KR101323886B1 (en) | Distributed-Processing-Based Object Tracking Apparatus and Method | |
JP7211373B2 (en) | MOVING IMAGE ANALYSIS DEVICE, MOVING IMAGE ANALYSIS SYSTEM, MOVING IMAGE ANALYSIS METHOD, AND PROGRAM | |
JP2016021716A (en) | Tracking device and control method of the same | |
US20200252637A1 (en) | Moving image processor, moving image processing system, and moving image processing method | |
US20230100728A1 (en) | A system, an arrangement, a computer software module arrangement, a circuitry arrangement and a method for improved image processing utilzing two entities | |
KR101764531B1 (en) | Method and system for image processing and data transmission in network camera environments | |
KR101779749B1 (en) | Method and system for image processing and data transmission in network camera environments | |
CN114697678A (en) | Image encoding method, image encoding device, storage medium, and image encoding apparatus | |
CN118678068A (en) | Video encoding method, video encoding device, electronic equipment and storage medium | |
KR20210077178A (en) | Video management apparatus and method using depth estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160920 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170928 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180927 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20191001 Year of fee payment: 7 |