KR101323886B1 - 분산처리 기반의 물체 추적장치 및 추적방법 - Google Patents

분산처리 기반의 물체 추적장치 및 추적방법 Download PDF

Info

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
Application number
KR1020120029816A
Other languages
English (en)
Other versions
KR20130107772A (ko
Inventor
허준희
이정선
민승재
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020120029816A priority Critical patent/KR101323886B1/ko
Publication of KR20130107772A publication Critical patent/KR20130107772A/ko
Application granted granted Critical
Publication of KR101323886B1 publication Critical patent/KR101323886B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/149Segmentation; Edge detection involving deformable models, e.g. active contour models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination 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 클라이언트 장치가, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 단계;를 포함하는 분산처리 기반의 물체 추적방법이 제공된다.

Description

분산처리 기반의 물체 추적장치 및 추적방법{Distributed-Processing-Based Object Tracking Apparatus and Method}
본 발명은 분산처리 기반의 물체 추적장치 및 추적방법에 관한 것으로, 보다 상세하게는, 추적대상 물체의 위치 예측과 콘투어 검출을 클라이언트와 서버에서 분산 수행하여 최적의 추적 결과를 제공할 수 있는 분산처리 기반의 물체 추적장치 및 추적방법에 대한 것이다.
동영상이나 복수의 이미지 시퀀스 안에 있는 물체를 추적하는 기술은 영상인식, 보안 감시 시스템, 증강현실, 화상통화 등의 분야에서 동영상 분석에 필수적인 기술로 요즘 널리 연구되고 있다. 예를 들어 미국특허 제7,239,719호는 이미지 데이터로부터 자동으로 타겟을 검출하고 움직임을 분석하는 방법에 관한 것으로, 입력된 동영상에서 움직임을 감지하여 관심 영역을 정의하고 레벨 셋 콘투어(level set contour)를 통해 관심 물체의 윤관(콘투어)을 추출하는 기술을 제시하고 있다.
그런데 최근 휴대전화와 태블릿 PC와 같은 모바일 단말기가 대중화하고 보안 및 매장관리를 위해 설치되는 보안 감시 카메라의 수가 급증하면서 동영상 콘텐츠 생산이 가능한 클라이언트 기기의 확산을 가져왔으나, 상술한 것과 같은 기존 기술은 클라우딩 환경을 고려하지 않았기 때문에 콘투어 추적과 같은 무거운(즉, 클라이언트단에서 많은 리소스를 필요로 하는) 기술을 다양한 클라이언트 기기에서 수행하기에는 어려움이 있었다.
본 발명의 일 실시예에 따르면, 하나 이상의 클라이언트 장치와 서버와 같은 컴퓨팅 장치가 네트워크망으로 연결된 상태에서 클라이언트 장치에서 추적대상 물체의 추적 결과를 예측하고 컴퓨팅 장치는 추적대상 물체를 검출하여 이 예측 결과와 검출 결과의 결합에 의해 최종 추적 결과를 산출하는 분산처리 기반의 물체 추적방법 및 장치를 제공할 수 있다.
본 발명의 일 실시예에 따르면, 클라이언트 장치에서 획득한 영상 데이터를 클라이언트 장치와 컴퓨팅 장치에서 분산 처리함으로써 기존에 클라이언트 기기 단독으로는 구현하기 어려웠던 고품질의 영상인식 기술을 구현할 수 있는 분산처리 기반의 물체 추적방법 및 장치를 제공할 수 있다.
또한 본 발명의 일 실시예에 따르면, 상기 분산처리 기반의 물체 추적 방법을 수행할 수 있는 프로그램이 기록된 기록매체를 제공할 수 있다.
본 발명의 일 실시예에 따라, 분산처리 기반의 물체 추적방법에 있어서, 제1 클라이언트 장치로부터의 추적대상 물체를 포함하는 복수의 영상 프레임을 제2 클라이언트 장치가 수신하는 단계; 제2 클라이언트 장치가, 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치를 예측하는 단계; 제2 클라이언트 장치가, 상기 복수의 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 컴퓨팅 장치로부터 수신하는 단계; 및 제2 클라이언트 장치가, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 단계;를 포함하는 분산처리 기반의 물체 추적방법을 제공할 수 있다.
본 발명의 일 실시예에 따라, 분산처리 기반의 물체 추적방법에 있어서, 클라이언트 장치가 추적대상 물체를 포함하는 복수의 영상 프레임을 획득하는 단계; 상기 클라이언트 장치가 상기 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치에 전송할지 여부를 판단하고, 전송하는 것으로 판단할 경우 상기 일부 영상 프레임을 전송하는 단계; 상기 클라이언트 장치가, 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치를 예측하는 단계; 상기 클라이언트 장치가, 상기 컴퓨팅 장치로부터 상기 일부 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 수신하는 단계; 및 상기 클라이언트 장치가, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 단계;를 포함하는 분산처리 기반의 물체 추적방법을 제공할 수 있다.
본 발명의 일 실시예에 따라, 분산처리 기반의 물체 추적장치에 있어서, 네트워크망을 통해 외부의 영상 획득 장치 및 컴퓨팅 장치와 데이터를 송수신할 수 있는 통신부; 추적대상 물체를 포함하며 상기 영상 획득 장치로부터 수신되는 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치와 콘투어를 예측할 수 있는 물체 예측부; 및 상기 통신부가 상기 복수의 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 상기 컴퓨팅 장치로부터 수신하는 경우, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합할 수 있는 정합부;를 포함하는 분산처리 기반의 물체 추적장치를 제공할 수 있다.
본 발명의 일 실시예에 따라, 분산처리 기반의 물체 추적장치에 있어서, 추적대상 물체를 포함하는 복수의 영상 프레임을 획득할 수 있는 영상 획득부; 네트워크망을 통해 외부의 컴퓨팅 장치와 데이터를 송수신할 수 있는 통신부; 상기 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치에 전송할지를 판단하는 제1 판단부; 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임(“예측 영상 프레임”)에서의 상기 물체의 위치와 콘투어를 예측할 수 있는 물체 예측부; 및 상기 예측된 물체의 위치와 콘투어에 기초하여, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치와 추적 콘투어를 산출할 수 있는 산출부;를 포함하는 분산처리 기반의 물체 추적장치를 제공할 수 있다.
본 발명의 일 실시예에 따라, 상기 방법을 수행할 수 있는 컴퓨터가 판독 가능한 프로그램이 기록된 기록매체를 제공할 수 있다.
본 발명의 일 실시예에 따르면, 클라이언트 장치에서 획득한 영상 데이터를 클라이언트 장치와 컴퓨팅 장치에서 분산 처리함으로써 기존에 클라이언트 기기 단독으로는 구현하기 어려웠던 고품질의 영상인식 기술을 구현할 수 있다.
본 발명의 일 실시예에 따르면, 추적대상 물체의 추적에 있어서 클라이언트 장치의 성능, 컴퓨팅 장치의 성능, 그리고 네트워크의 상황에 따라 최적화된 추적 결과를 다양한 해상도의 영상으로 사용자에게 제공할 수 있다.
도1은 본 발명의 제1 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도,
도2는 본 발명의 일 실시예에 따라 영상과 콘투어를 정합하는 방법을 도식적으로 나타낸 도면,
도3은 발명의 제1 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도,
도4는 본 발명의 제2 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도,
도5는 본 발명의 제2 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도,
도6은 본 발명의 제3 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도, 그리고,
도7은 본 발명의 제3 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시 예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 제1 구성요소가 제2 구성요소 "상에서" 동작(또는 실행)된다는 것은, 상기 제2 구성요소가 동작(또는 실행)되는 환경에서 상기 제1 구성요소가 동작(또는 실행)되거나 또는 상기 제1 구성요소가 상기 제2 구성요소와 직접 또는 간접적으로 상호 작용을 통해서 동작(또는 실행)되는 의미를 포함한다.
어떤 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해될 수 있다.
또한 어떤 구성요소가 구현됨에 있어서 특별한 언급이 없다면, 그 구성요소는 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어 어떤 형태로도 구현될 수 있는 것으로 이해되어야 한다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 '포함하는'은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시 예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
도1은 본 발명의 제1 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도이다.
도1을 참조하면, 본 발명에 따른 분산처리 기반의 물체 추적장치는 제1 클라이언트 장치(10), 컴퓨팅 장치(20), 및 제2 클라이언트 장치(30)을 포함할 수 있다.
제1 클라이언트 장치(10)(이하 "클라이언트" 라고도 칭함)는 추적대상 물체의 영상을 촬영하고 이를 전송할 수 있는 장치이다. 제1 클라이언트(10)는 예를 들어 폐쇄회로 TV(CCTV), 방범 카메라, 감시 카메라, 보안 카메라 등의 각종 영상 촬영수단 중 하나가 될 수 있다. 대안적인 실시예로서 제1 클라이언트(10)는 일반적인 휴대용 디지털 카메라가 될 수도 있고, 이러한 디지털 카메라 수단을 포함하는 모바일 기기(예컨대, 휴대용 전화기, 태블릿 PC, PDA 등) 중 하나가 될 수도 있다.
도시된 실시예에서 제1 클라이언트(10)는 영상 획득부(101), 판단부(102), 및 통신부(105)를 포함한다.
영상 획득부(101)는 추적대상 물체를 포함하는 영상을 입력받는 수단으로, 예컨대 CCD 센서, CMOS 센서 등의 이미지 센서 및 이 센서로부터 입력받은 영상을 처리하는 처리엔진을 포함할 수 있다. 일 실시예에서 영상 획득부(101)는 영상을 프레임 단위로 획득할 수 있고, 예컨대 1초당 24~30개의 영상 프레임을 획득할 수 있다. 대안적인 실시예에서, 영상 획득부(101)는 직접 영상을 촬영하지 않고 이미 촬영된 영상을 불러오는 기능을 포함할 수 있다.
판단부(102)는 상기 영상 획득부(101)에서 획득한 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치(20)에 전송할지를 판단하는 기능 모듈이다. 예를 들어 영상 획득부(101)가 수신한 영상 프레임을 전부 컴퓨팅 장치(20)로 전송할지, 그 중 일부 프레임만을 전송할지 여부를 판단한다.
이를 위해 일 실시예에서 판단부(102)는 소정 시간 주기, 컴퓨팅 장치(20)의 리소스, 및 네트워크망(40)의 상태 중 적어도 하나에 기초하여 상기 판단 동작을 수행한다. 판단부(102)가 소정 시간 주기에 기초하여 판단하는 경우, 예를 들어 영상 획득부(101)로부터 1초당 30 프레임의 영상을 수신한다고 가정하면, 판단부(102)가 이 프레임들을 모두 컴퓨팅 장치(20)로 전송하도록 판단할 수도 있고 3프레임마다 하나씩(즉 1초당 10개의 프레임을) 전송하도록 판단할 수도 있다. 판단부(102)가 컴퓨팅 장치(20)의 리소스 또는 네트워크망(40)의 상태에 기초하여 판단하는 경우, 이 때 상기 리소스는 예를 들어 컴퓨팅 장치(20)의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나가 될 수 있다.
일 실시예에서 제1 클라이언트(10)가 컴퓨팅 장치(20)의 상기 리소스에 관한 정보를 미리 획득하여 알고 있다고 가정하며, 대안적인 실시예에서, 판단부(102)의 판단이 필요한 시점에 제1 클라이언트(10)가 컴퓨팅 장치(20)에 리소스 정보를 요청하여 이 정보를 얻을 수도 있다. 한편 판단부(102)가 네트워크망(40)의 상태에 기초하여 판단하는 경우 이 때의 네트워크망의 상태는 예를 들어 네트워크망의 종류, 연결 상태 여부, 및 전송속도 등의 정보가 될 수 있다.
통신부(105)는 네트워크망(40)을 통해 제1 클라이언트(10)를 컴퓨팅 장치(20), 제2 클라이언트(30) 등의 외부 장치와 연결하고 데이터를 송수신하는 기능 모듈이다. 여기서 상기 네트워크망(40)은 로컬 통신망(LAN), 광역 통신망(WAN), 인터넷 통신망 등 다양한 종류의 유선 또는 무선 통신망 중 하나 이상의 통신망으로 구성될 수 있다. 대안적인 실시예에서 제1 클라이언트(10), 제2 클라이언트(30), 및 컴퓨팅 장치(20) 중 둘 이상의 장치가 블루투스, WiFi, RFID 등의 무선통신 기술 중 하나 이상의 기술방식을 통해 서로 통신할 수 있고 또한 실시 형태에 따라 서로 직접적인 유선연결에 의해 통신할 수도 있다.
실시 형태에 따라 통신부(105)는 MPEG4 등의 압축 알고리즘에 의해 영상 프레임을 압축하는 인코딩부를 추가로 포함할 수 있고, 인코딩부에서 압축된 영상 프레임을 전송할 수 있다.
상기 설명한 영상 획득부(101), 판단부(102), 및 통신부(105)의 각각은 실시 형태에 따라 소프트웨어, 하드웨어, 또는 이들의 결합으로 구현될 수 있고 펌웨어나 임베디드 시스템으로 구현될 수 있다. 또한, 도1의 실시예에서 판단부(102)가 별도의 기능 모듈로 도시되었지만, 실시 형태에 따라 판단부(102)가 영상 획득부(101) 또는 통신부(105)에 포함될 수도 있다. 즉 영상 획득부(101)가 영상 프레임을 획득하는 즉시 해당 영상 프레임을 컴퓨팅 장치(20)로 전송할지 판단할 수도 있고, 또는 통신부(105)를 통해 외부 장치로 전송하기 직전에 어떤 영상 프레임들을 전송할지 판단하도록 구성할 수도 있다.
도시된 실시예에서 컴퓨팅 장치(20)는 통신부(201) 및 물체 검출부(203)을 포함한다.
통신부(201)는 네트워크망(40)을 통해 컴퓨팅 장치(20)를 외부 장치와 연결하고 데이터를 송수신하는 기능 모듈로서, 예를 들어 상기 제1 클라이언트(10)의 통신부(105)와 동일한 기능을 가질 수 있다. 실시 형태에 따라, 통신부(201)가 압축된 영상 프레임을 수신할 경우, 통신부(201)가 상기 압축된 영상 프레임을 압축해제하기 위한 디코딩부를 더 포함할 수 있다.
물체 검출부(203)는 소정 알고리즘을 사용하여 영상 프레임 내에서의 추적대상인 물체의 윤곽(콘투어: contour)을 검출한다. 물체의 콘투어를 추출하는 알고리즘으로는, 예컨대 액티브 콘투어 모델(active contour model) 또는 칼만 필터링(Kalman filtering) 알고리즘을 사용할 수 있고, 대안적 실시 형태에 따라 기존의 다양한 콘투어 추출 알고리즘 중 하나 이상이 사용될 수도 있다.
일 실시에에서 물체 검출부(203)는 영상 프레임 내에서의 상기 물체의 위치를 검출하는 기능을 더 포함할 수 있다. 영상 프레임 내의 물체의 콘투어를 추출하면 프레임 내에서 이 물체의 위치를 바로 알 수 있으므로, 물체의 위치 검출은 상기 콘투어 추출과 동시에 수행할 수 있으나, 대안적인 실시예에서는 물체의 위치 검출을 위한 별도의 검출 알고리즘을 사용할 수도 있다.
한편 일 실시예에서 컴퓨팅 장치(20)는 웹서버와 같은 서버 장치일 수 있다. 또한 상기 설명한 통신부(201) 및 물체 검출부(203)의 각각은 실시 형태에 따라 소프트웨어, 하드웨어, 또는 이들의 결합으로 구현될 수 있고 펌웨어나 임베디드 시스템으로 구현될 수도 있다.
도시된 실시예에서 제2 클라이언트(30)는 통신부(301), 물체 예측부(303), 정합부(306), 및 영상 출력부(307)를 포함한다.
통신부(301)는 네트워크망(40)을 통해 제1 클라이언트(10) 및 컴퓨팅 장치(20)와 데이터를 송수신하는 기능 모듈로서, 예컨대 제1 클라이언트(10)의 통신부(105) 또는 컴퓨팅 장치(20)의 통신부(201)와 동일한 기능을 가질 수 있다.
물체 예측부(303)는 이전의 영상 프레임에 기초하여 현재 영상 프레임에서의 물체의 위치를 예측하는 기능 모듈이다. 즉 추적대상 물체가 포함된 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임(이하 “예측 영상 프레임”이라 칭함)에서의 상기 물체의 위치를 예측한다.
일 실시예에서 물체 예측부(303)는 물체의 위치를 예측하기 위해 예측 방정식 모델을 사용한다. 예를 들어 영상 프레임 내에서 물체의 특징 점들을 추출하고 이 특징 점들을 기반으로 물체의 움직임을 예측하는 특징점 기반 트래킹(Feature based tracking) 알고리즘, 영상 프레임을 탬플릿으로 사용하는 템플릿 기반 트래킹(Template based tracking) 알고리즘, 또는 칼만 필터링 알고리즘이 사용될 수 있으며, 그 외에 다양한 예측 알고리즘이 사용될 수도 있다.
일 실시예에서 물체 예측부(303)는 영상 프레임 내에서의 상기 물체의 콘투어를 예측하는 기능을 더 포함할 수 있다. 예컨대 특징점 기반 트래킹 알고리즘을 사용하는 경우 영상 프레임 내의 물체의 위치를 예측하기 위해 물체의 특징 점들을 추출하기 때문에, 이 특징 점들의 연결을 통해 물체의 콘투어도 어느 정도 예측할 수 있다. 그러나 대안적인 실시예에서 물체의 콘투어 예측을 위한 별도의 예측 알고리즘을 사용할 수도 있다.
정합부(306)는 컴퓨팅 장치(20)의 물체 검출부(203)에서 검출된 검출(detection) 정보와 제2 클라이언트(30)의 물체 예측부(303)에서 예측된 물체의 예측(expectation) 정보를 정합하여 추적대상 물체에 대한 예측 결과로서 추적 위치 및 추적 콘투어를 산출한다.
정합 방법에 대한 일 실시예로서 정합부(306)는 물체 검출부(203)에서 검출한 물체의 위치와 콘투어, 그리고 물체 예측부(303)에서 예측한 물체의 위치를 정합할 수 있다. 이 경우, 물체의 위치에 대해, 물체 예측부(303)에서 예측된 위치와 물체 검출부(203)에서 검출된 위치를 가중 합산(weighted sum)하여 상기 물체의 추적 위치를 산출하고, 그 후 물체 검출부(203)에서 검출한 물체의 콘투어를 상기 추적 위치에 결합하여 추적 콘투어를 산출할 수 있다.
영상 출력부(307)는 정합부(306)에서 산출된 추적 결과, 즉 추적대상 물체의 추적 위치 및 추적 콘투어가 결합된 영상 프레임을 받아서 사용자에게 디스플레이 한다. 대안적인 실시예로서, 사용자에게 디스플레이로 직접 보여줄 수도 있고 정합 결과의 영상 프레임을 별도의 저장 장치(도시 생략)에 전송하여 저장할 수도 있다.
제2 클라이언트(30)는 디스플레이 수단을 갖는 임의의 디바이스가 될 수 있다. 예를 들어 모니터를 구비한 각종 개인용 컴퓨터가 될 수 있고, 휴대용 전화기, 태블릿 PC, PDA, 디지털 카메라 등의 휴대용 디바이스가 될 수도 있다. 더욱이 일 실시예에서 상기 제1 클라이언트(10)와 제2 클라이언트(30)가 하나의 장치일 수도 있다.
한편 상기 설명한 통신부(301), 물체 예측부(303), 정합부(306), 및 영상 출력부(307)의 각각은 실시 형태에 따라 소프트웨어, 하드웨어, 또는 이들의 결합으로 구현될 수 있고 펌웨어나 임베디드 시스템으로 구현될 수 있다.
도2는 본 발명의 일 실시예에 따라 영상과 콘투어를 정합하는 방법을 도식적으로 나타낸 도면으로, 영상 프레임 내의 물체를 각각 예측 및 검출하고 이 둘을 정합하는 단계를 예시적으로 나타낸다.
도2를 참조하면, 우선 단계(a)에서 제1 클라이언트(10)로부터 추적대상 물체(100)를 포함하는 영상 프레임(F1)이 컴퓨터 장치(20)와 제2 클라이언트(30)로 각각 전송된다고 가정한다. 그러면 단계(b)에서, 컴퓨터 장치(20)의 물체 검출부(203)가 상기 영상 프레임(F1)에 콘투어 검출 알고리즘을 적용하여 콘투어(C1)를 검출한다. 이 때 실시 형태에 따라, 상기 콘투어 검출 알고리즘 또는 다른 별도의 알고리즘을 사용하여 영상 프레임(F1) 내의 물체의 위치(P1)까지도 검출할 수 있다.
한편 이 단계(b)에서, 제2 클라이언트(30)의 물체 예측부(303)는 상기 영상 프레임(F1)을 포함하는 이전 영상 프레임들 중 적어도 하나 이상의 이전 영상 프레임들에 기초하여 예측 알고리즘을 통해 현재 영상 프레임(F2)에서의 물체의 위치를 예측(P2)한다. 즉 도시된 예에서, 이전의 영상 프레임(F1)에서는 물체(100)가 좌측 상단에 위치하였지만 예측 알고리즘을 통해 우측 하단의 위치(P2)로 이동할 것이라고 예측하였다. 이 때 실시 형태에 따라, 상기 위치 예측 알고리즘 또는 다른 별도의 알고리즘을 사용하여 현재의 영상 프레임(F2)에서의 물체의 콘투어(C2)도 함께 예측할 수 있다.
그 후 상기 물체의 검출 정보(즉, 검출된 콘투어(C1) 정보, 또는 검출된 콘투어(C1)와 위치(P1) 정보)와 예측 정보(즉, 예측된 위치(P2) 정보, 또는 예측된 위치(P2)와 콘투어(C2) 정보)가 제2 클라이언트(30)의 정합부(306)로 전달되었다고 가정하면, 단계(c)에서, 정합부(306)가 이들 검출 정보와 예측 정보를 정합한다.
일 실시예에서 정합부(306)가 물체의 검출된 콘투어(C1)와 위치(P1) 정보 및 예측된 위치(P2) 정보를 사용한다고 가정하면, 검출된 위치(P1)와 예측된 위치(P2)를 가중 합산에 의해 정합하여 결과값으로서 위치(P3)를 현재 프레임(F2) 내에서의 추적 위치로서 산출하고, 이 추적 위치(P3)를 중심으로 콘투어(C1)를 결합함으로써 현재 프레임(F2) 내에서의 추적 콘투어(C1)를 산출한다.
다른 대안적인 실시예에서, 정합부(306)가 물체의 검출된 콘투어(C1)와 위치(P1) 정보 및 예측된 콘투어(C2)와 위치(P2) 정보를 사용한다고 가정하면, 검출된 위치(P1)와 예측된 위치(P2)를 가중 합산에 의해 정합하여 결과값으로서 위치(P3)를 현재 프레임(F2) 내에서의 추적 위치로서 산출하고, 검출된 콘투어(C1)와 예측된 콘투어(C2)를 가중 합산에 의해 정합한 값을 상기 추적 위치(P3)에 결합함으로써 현재 프레임(F2) 내에서의 추적 콘투어를 산출할 수도 있다.
이와 같이 본 발명의 실시예에서 따르면 추적대상 물체에 대한 예측(prediction) 작업과 검출(detection) 작업을 분리하여 각기 별개의 장치에서 실행한 뒤 그 결과값을 정합하기 때문에, 클라이언트 장치의 다양한 종류와 상황에 따라 최적화된 추적 결과를 제공할 수 있다. 예컨대, 제2 클라이언트(30)가 스마트폰과 같은 모바일 단말기인 경우, 모바일 단말기 성능의 한계로 인해 예측과 검출 알고리즘을 각각 실행한 뒤 사용자에게 실시간으로 추적 결과는 보여주는 것이 매우 어려웠으나, 본 발명의 실시예서는 컴퓨팅 장치(20)로 콘투어 검출 기능을 넘기고 모바일 단말기에서 상대적으로 가벼운 예측 트래킹 알고리즘만 실행하면 되므로 최적화된 추적 결과를 실시간으로 사용자에게 제공할 수 있게 된다.
도3은 본 발명의 제1 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도이다.
도3을 참조하면, 우선 제1 클라이언트(10)의 영상 획득부가 추적대상 물체를 포함하는 복수의 영상 프레임을 획득한다. 일 실시예에서 복수의 영상 프레임은 예컨대 CCTV나 감시카메라를 통해 실시간 입력되는 영상 프레임일 수 있다.
그 후 단계(S303)에서 제1 클라이언트(10)가 상기 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치(20)에 전송할지 여부를 판단한다. 일 실시예에서 이러한 판단은 판단부(102)가 행하며, 상기 판단은 소정의 시간 주기, 컴퓨팅 장치(20)의 리소스, 및 네트워크망(40)의 상태 중 적어도 하나에 기초하여 수행될 수 있다.
시간 주기에 따른 판단의 예로서, 판단부(102)는 소정 시간 주기에 따라 1초당 몇 개의 프레임을 전송할지 설정하고 이 설정값에 따라 각각의 영상 프레임에 대한 전송 여부를 판단할 수 있다. 상기 컴퓨팅 장치(20)의 리소스는 예를 들어 컴퓨팅 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나가 될 수 있고, 네트워크망의 상태는 예를 들어 네트워크망의 종류, 연결 상태 여부, 및 전송속도 등의 정보가 될 수 있다.
그 후 단계(S305)에서 제1 클라이언트(10)는 제2 클라이언트(30)로 영상 프레임을 전송하며, 이와 함께, 단계(S303)의 판단 결과에 따라 컴퓨팅 장치(20)에 영상 프레임을 전송할 수도 있다. 이 때 실시형태에 따라 컴퓨팅 장치(20) 및 제2 클라이언트(30)에 전송할 영상 프레임을 압축하여 전송할 수도 있다.
만약 컴퓨팅 장치(20)로 영상 프레임을 전송한 경우, 단계(S309)에서 컴퓨팅 장치(20)는 콘투어 검출 알고리즘을 사용하여 영상 프레임 내의 추적대상 물체의 콘투어를 검출한다. 실시 형태에 따라, 이 단계(S309)에서 컴퓨팅 장치(20)는 상기 물체의 콘투어 뿐만 아니라 상기 물체의 프레임 내 위치도 검출할 수 있다. 그 후 컴퓨팅 장치(20)는 검출된 물체의 콘투어(또는 검출된 콘투어 및 위치)를 제2 클라이언트(30)로 전송한다.
한편 제2 클라이언트(30)는 단계(S305)에 따라 제1 클라이언트(10)로부터 전송받은 영상 프레임에 대해 프레임 내의 추적대상 물체의 위치를 예측한다(S313). 일 실시예에서 상기 예측 단계는 물체 예측부(303)에서 수행될 수 있고, 소정의 예측 알고리즘을 사용하여 복수개의 과거의 영상 프레임 중 적어도 하나에 기초하여 현재의 영상 프레임에서의 물체의 위치를 예측한다. 대안적인 실시예에서 물체 예측부(303)는 물체의 콘투어도 예측할 수 있다. 즉 상기 복수의 과거의 영상 프레임 중 적어도 하나에 기초하여 현재의 영상 프레임에서의 상기 물체의 콘투어를 예측하는 단계를 더 포함할 수 있다.
다음으로 단계(S317)에서 제2 클라이언트 장치(30)의 정합부(306)가 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하여, 예측 영상 프레임에서의 물체의 추적 위치 및 추적 콘투어를 산출한다. 구체적 정합 방법의 일 실시예로서, 예를 들어 상기 물체의 예측된 위치 및 검출된 위치를 가중 합산하여 물체의 추적 위치를 산출하고, 이 추적 위치에 상기 검출된 콘투어를 결합하여 물체의 추적 콘투어를 산출할 수 있다.
다른 대안적인 실시예로서, 정합부(306)가 검출된 위치와 예측된 위치를 가중 합산하여 물체의 추적 위치를 산출하고, 이 추적 위치에 상기 검출된 콘투어와 예측된 콘투어를 가중 합산한 값을 결합함으로써 물체의 추적 콘투어를 산출할 수도 있다.
한편, 상기 단계(S303)의 판단 동작으로 인해 모든 영상 프레임이 컴퓨팅 장치(20)로 전송되는 것이 아니므로, 단계(S311)에서 제2 클라이언트(30)로 전송되는 영상 프레임도 전체 프레임 중 일부분일 것이다. 그러므로 정합 단계(S317)는 일부 프레임에 대해서는 정합 동작을 수행하지 않는 상황이 발생할 수 있다. 이 경우 예를 들어 통신부(301)가 컴퓨팅 장치(20)로부터 소정 영상 프레임에 대해 검출된 물체의 위치와 콘투어를 수신하는 경우 정합부(306)는 제1 클라이언트(10)로부터 수신한 대응 영상 프레임과의 정합 동작을 수행하면 되고, 만약 통신부(301)가 소정 영상 프레임에 대해 컴퓨팅 장치(20)로부터 물체의 검출된 위치와 콘투어를 수신받지 못하는 경우라면, 정합부(306)는 물체 예측부(303)에서 예측된 상기 물체의 위치와 콘투어를 그대로 출력한다. 즉 이 경우에는 상기 예측된 위치와 콘투어가 추적 위치와 추적 콘투어가 된다.
그 후 단계(S319)에서, 정합부(306)에서 산출된 물체의 추적 위치와 추적 콘투어가 결합된 영상 프레임을 영상 출력부(307)가 받아서 사용자에게 디스플레이 한다.
도4는 본 발명의 제2 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도이다. 도4를 참조하면, 도1과 비교할 때 도4는 제2 클라이언트(30)가 판단부(305)를 더 포함하고 있다. 판단부(305)는 정합부(306)의 동작을 실행할지 여부를 판단하여 제어한다. 일 실시예에서 판단부(305)는 제2 클라이언트(30)의 리소스 및 소정 시간 주기 중 적어도 하나에 기초하여 정합부(306)를 제어할 수 있다.
여기서 제2 클라이언트의 리소스에 기초한다는 것은, 예컨대 제2 클라이언트(30)가 정합 알고리즘을 실행할 정도로 리소스가 충분한지에 기초하여 정합부(306)의 동작 실행을 판단하는 것으로, 이 때 상기 리소스는 제2 클라이언트(30)의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함할 수 있다. 또한 소정 시간 주기에 기초한다는 것은 미리 설정된 소정 시간 마다 정합 동작을 실행하는 것으로, 에컨대 1초당 소정 개수의 영상 프레임에 대해서만 정합을 수행하도록 제어할 수 있다.
따라서 상기와 같은 판단부(305)의 추가에 의해, 판단부(305)와 정합부(306)를 통합하여 산출부로 칭할 수도 있고, 산출부는 판단부(305)에 의해 정합부(306)의 동작을 제어하면서 물체의 추적 위치와 추적 콘투어를 산출한다. 즉, 만일 판단부(305)에 의해 정합부(306)가 동작할 경우 산출부는 정합부(306)의 실행 결과에 따라 추적 위치 및 추적 콘투어를 산출하고, 판단부(305)에 의해 정합부(306)가 동작하지 않을 경우에는 물체 예측부(303)에서 예측된 물체의 위치와 콘투어를 산출부의 결과로서 출력한다.
도5는 도4에 도시된 본 발명의 제2 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도이다. 도3과 비교할 때 판단부(305)의 동작에 따른 정합 판단 단계(S515)가 더 추가되었고 나머지 단계들은 모두 동일하다.
즉 단계(S515)에서 판단부(305)는 정합 단계(S517)로 갈지 아니면 정합을 하지 않고 단계(S519)에서 예측 결과를 바로 출력할지를 판단할 수 있다.
판단부(305)의 판단 결과 정합을 수행하기로 판단하면, 정합 단계(S517)에서, 물체 예측부(304)에서 예측된 물체의 위치와 물체 검출부(203)에서 검출된 물체의 위치 및 콘투어를 정합한다. 만일 판단부(305)의 판단 결과 상기 정합 단계(S517)를 수행하지 않기로 하면, 예측부(304)에 의한 물체의 예측된 위치만을 추적 결과로서 출력한다(단계 S519). 즉 상기 물체 예측부(304)에 의한 물체의 예측된 위치와 콘투어를 상기 물체의 추적 위치와 추적 콘투어로서 산출하여 출력한다.
도6은 본 발명의 제3 실시예에 따른 분산처리 기반의 물체 추적장치를 설명하기 위해 제공되는 블록도이다. 도6을 참조하면, 도4와 비교할 때 제1 클라이언트(10)는 영상 전처리부(103) 및 영상 인코더부(104)를 더 포함한다.
영상 전처리부(103)는 컴퓨팅 장치(20) 및/또는 제2 클라이언트(30)로 전송할 영상 프레임의 해상도를 변환한다. 네트워크망(40)을 통해 영상 데이터를 신속히 전송하고 또한 컴퓨팅 장치(20)에서 물체의 콘투어를 빨리 계산하기 위해서는 영상의 해상도를 낮추는 것이 바람직하다. 따라서 도시된 일 실시예에서 컴퓨팅 장치(20)의 물체 검출부(203)가 콘투어를 검출할 수 있는 최소한의 해상도 이상의 범위에서 전송속도와 검출 처리 속도를 높이기 위해 영상 프레임의 해상도를 낮출 수 있다. 제2 클라이언트(30)로 전송되는 영상 프레임에 대해서는, 제2 클라이언트(30)의 물체 예측부(304)의 처리 속도, 정합부(306)의 처리 속도, 영상 출력화면의 해상도 등의 제2 클라이언트의 리소스에 기초하여 영상 프레임의 해상도를 낮출 수 있다. 경우에 따라서는 컴퓨팅 장치(20)나 제2 클라이언트(30)로 전송될 영상 프레임을 더 높은 해상도로 변환할 수도 있다.
그리고 상기 영상 전처리부(103)의 추가에 따라, 제1 클라이언트(10)는 상기와 같이 컴퓨팅 장치나 제2 클라이언트의 리소스 등에 기초하여 영상 전처리를 수행할지 여부를 판단하는 판단부를 추가로 더 포함할 수 있다. 일 실시예에서 판단부(102)가 영상 프레임의 해상도 변환 여부를 판단하기 위한 상기 추가의 판단 기능을 더 가질 수 있다. 이 경우 판단부(102)는 컴퓨팅 장치(20)의 리소스 및 네트워크망(40)의 상태 중 적어도 하나에 기초하여 상기 컴퓨팅 장치로 전송할 영상 프레임의 해상도를 변경할지 여부를 판단하는 기능을 더 포함한다. 이 때 상기 리소스는 컴퓨팅 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함할 수 있고, 상기 네트워크망의 상태는 네트워크망과의 연결상태나 전송속도에 관한 정보 중 적어도 하나를 포함할 수 있다.
그리고 상기 판단부(102)는 제2 클라이언트(30)의 리소스에 기초하여 상기 제2 클라이언트로 전송할 영상 프레임의 해상도를 변경할지 여부를 판단하는 기능도 더 포함할 수 있다. 이 때 상기 리소스는 제2 클라이언트의 프로세서 처리속도, 가용 메모리 용량, 및 영상 출력 화면의 해상도 중 적어도 하나에 대한 정보를 포함할 수 있다.
이 때 일 실시예에서 제1 클라이언트(10)는 컴퓨팅 장치(20)의 상기 리소스나 제2 클라이언트(30)의 리소스에 관한 정보를 미리 획득하여 알고 있다고 가정한다. 즉 제1 클라이언트, 제2 클라이언트, 및 컴퓨팅 장치가 네트워크망을 통해 서로 연결되면 제1 클라이언트가 나머지 각 장치에 대한 정보를 미리 획득할 수 있다. 대안적인 실시예에서, 판단부(102)의 판단이 필요한 시점에 제1 클라이언트가 컴퓨팅 장치나 제2 클라이언트에게 리소스 정보를 요청하여 이 정보를 얻을 수도 있다.
영상 인코더부(104)는 영상 프레임의 전송 전 영상 프레임을 압축하는 기능을 가진다. 예컨대 인코더부(104)는 MPEG4 등의 표준 압축 알고리즘에 의해 영상 프레임을 압축할 수 있다.
한편 도4와 비교할 때 도6의 컴퓨팅 장치(20)는 영상 디코더부(202), 판단부(204), 콘투어 전처리부(205), 콘투어 인코더부(206)를 더 포함한다.
영상 디코더부(202)는 제1 클라이언트(10)의 영상 인코더부(104)에 대응하는 것으로, 인코더부(104)에서 압축된 영상 프레임을 컴퓨팅 장치(20)가 전송받을 경우 영상 디코더부(202)에서 이 영상을 압축해제 한다.
콘투어 인코더부(206)는 물체 검출부(203)에서 검출한 물체의 콘투어를 제2 클라이언트(30)로 전송하기 전에 이 콘투어 정보를 압축하는 기능을 가진다. 예컨대 콘투어 인코더부(206)는 예컨대 산술 부호화(Arithmetic Coding) 방식에 의해 콘투어 정보를 압축할 수 있다.
콘투어 전처리부(205)는 제2 클라이언트(30)로 전송할 콘투어의 해상도를 변환한다. 컴퓨팅 장치(20)가 제1 클라이언트로부터 영상을 전송받을 때 저해상도로 변환된 영상을 수신하였으므로, 제2 클라이언트(30)로 콘투어를 전송할 때는 다시 고해상도로 변환해야 할 필요성이 있을 수 있다.
상기 콘투어 전처리부(205)의 추가에 따라, 컴퓨팅 장치(20)는 제2 클라이언트의 리소스 등에 기초하여 콘투어 전처리를 수행할지 여부를 판단하는 판단부(204)를 추가로 더 포함한다. 일 실시예에서 판단부(204)는 제2 클라이언트(30)의 리소스에 기초하여 제2 클라이언트로 전송할 콘투어의 해상도를 변경할지 여부를 판단한다. 이 때 상기 리소스는 제2 클라이언트의 프로세서 처리속도나 가용 메모리 용량 중 적어도 하나를 포함할 수 있다.
이 때 일 실시예에서 컴퓨팅 장치(20)는 제2 클라이언트30)의 리소스에 관한 정보를 미리 획득하여 알고 있다고 가정한다. 즉 제1 클라이언트, 제2 클라이언트, 및 컴퓨팅 장치가 네트워크망을 통해 서로 연결되면 컴퓨팅 장치가 제2 클라이언트(30)로부터 상기 정보를 미리 획득할 수 있다. 대안적인 실시예에서, 컴퓨팅 장치는 제1 클라이언트(10)로부터 제2 클라이언트(30)의 정보를 받을 수도 있다.
그리고 도4와 비교할 때 도6의 제2 클라이언트(30)는 디코더부(302) 및 콘투어 전처리부(303)를 더 포함한다.
디코더부(302)는 제1 클라이언트(10)의 영상 인코더부(104) 및 컴퓨팅 장치의 콘투어 인코더부(206)에 대응하는 것으로, 제1 클라이언트(10)와 컴퓨팅 장치(20)에서 각각 전송되어 오는 압축된 영상 프레임 및 콘투어 정보를 압축해제하는 기능을 가진다.
콘투어 전처리부(303)는 컴퓨팅 장치의 콘투어 전처리부(205)와 동일한 기능 모듈로서 물체 검출부(203)에서 검출된 콘투어의 해상도를 변환한다. 일 실시예에서, 컴퓨팅 장치의 판단부(302)가 제2 클라이언트(30)의 리소스가 충분하여 콘투어 전처리부(205)에서 전처리를 하지 않는다고 판단하면, 제2 클라이언트(30)의 콘투어 전처리부(303)가 전처리를 수행한다. 반대로, 판단부(302)가 제2 클라이언트의 리소스가 부족하여 컴퓨팅 장치에서 콘투어 전처리를 수행하기로 판단하면 콘투어 전처리부(205)에서 전처리가 수행되고, 이 경우 제2 클라이언트(30)의 콘투어 전처리부(303)는 전처리를 수행할 필요가 없다.
도7은 도6의 본 발명의 제3 실시예에 따른 분산처리 기반의 물체 추적방법을 설명하는 흐름도이다. 도5와 비교할 때 도7은 영상 전처리 단계(S703,S709) 및 콘투어 전처리 단계(S715,S717,S722)가 더 추가되었고 나머지 단계들은 모두 동일하다.
단계(S703,S709)에서, 제1 클라이언트(10)는 제2 클라이언트와 컴퓨팅 장치의 각각의 리소스에 기초하여 각 장치로 전송할 영상 프레임의 해상도를 각각 변환한다. 만약 제1 클라이언트(10)와 제2 클라이언트(30)가 하나의 장치라면 제2 클라이언트로 전송할 영상 프레임에 대해서는 해상도 변환 과정을 생략할 수 있다.
그 후 컴퓨팅 장치(20)는 단계(S715)에서 제2 클라이언트의 리소스에 기초하여 콘투어의 전처리를 수행 여부를 판단한다. 만약 제2 클라이언트(30)의 리소스가 충분하지 않다고 판단하면 컴퓨팅 장치(20)에서 콘투어 전처리가 수행되고(단계 S717), 제2 클라이언트(30)의 리소스가 충분하다고 판단하면 제2 클라이언트(30)에서 콘투어 전처리가 수행된다(단계 S722).
이상과 같이 설명한 본 발명의 분산처리 기반의 물체 추적 장치 및 방법에 관한 기술은 하드웨어 또는 소프트웨어, 또는 이 둘의 적절한 조합으로 구현될 수 있다. 따라서, 예컨대 물체 추적방법의 전부 또는 일부가 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 임의의 기타 컴퓨터 판독가능 저장매체 등의 실체적인 매체에 구현된 프로그램 코드(즉, 명령어들)의 형태를 취할 수 있고, 이러한 프로그램 코드가 컴퓨터 등의 기계에 로드 되거나 또는 기계에 의해 실행될 때, 그 기계는 물체 추적장치를 구성하는 일부분이 될 수 있다.
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
10: 제1 클라이언트 101: 영상 획득부
102: 판단부 103: 영상 전처리부
20: 컴퓨팅 장치 203: 물체 검출부
204: 판단부 205,303: 콘투어 전처리부
30: 제2 클라이언트 306: 정합부

Claims (24)

  1. 분산처리 기반의 물체 추적방법에 있어서,
    제1 클라이언트 장치로부터의 추적대상 물체를 포함하는 복수의 영상 프레임을 제2 클라이언트 장치가 수신하는 단계;
    제2 클라이언트 장치가, 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치를 예측하는 단계;
    제2 클라이언트 장치가, 상기 복수의 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 컴퓨팅 장치로부터 수신하는 단계; 및
    제2 클라이언트 장치가, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 단계;를 포함하고,
    상기 정합하는 단계 이전에,
    제2 클라이언트 장치가 상기 정합하는 단계를 수행할지를 판단하는 단계;를 더 포함하고,
    상기 판단 결과 상기 정합하는 단계를 수행하지 않을 경우, 상기 물체의 예측된 위치와 콘투어를 상기 물체의 추적 위치 및 추적 콘투어로서 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  2. 제 1 항에 있어서, 상기 정합하는 단계가,
    상기 물체의 예측된 위치 및 검출된 위치를 가중 합산하여 상기 물체의 추적 위치를 산출하는 단계; 및
    상기 추적 위치에 상기 물체의 검출된 콘투어를 결합하여 상기 물체의 추적 콘투어를 산출하는 단계;를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  3. 제 1 항에 있어서, 상기 물체의 위치를 예측하는 단계가,
    상기 복수의 영상 프레임 중 적어도 하나에 기초하여 상기 예측 영상 프레임에서의 상기 물체의 콘투어를 예측하는 단계를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  4. 삭제
  5. 제 1 항에 있어서, 상기 판단하는 단계는, 상기 제2 클라이언트 장치의 리소스 및 소정 시간 주기 중 적어도 하나에 기초하여 판단하고,
    이 때 상기 리소스는 상기 제2 클라이언트 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  6. 제 5 항에 있어서, 상기 제1 클라이언트 장치와 상기 제2 클라이언트 장치가 하나의 장치로 통합되고, 상기 컴퓨팅 장치는 통합된 상기 하나의 장치와 네트워크망을 통해 연결된 서버 장치인 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  7. 분산처리 기반의 물체 추적방법에 있어서,
    클라이언트 장치가 추적대상 물체를 포함하는 복수의 영상 프레임을 획득하는 단계;
    상기 클라이언트 장치가 상기 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치에 전송할지 여부를 판단하고, 전송하는 것으로 판단할 경우 상기 일부 영상 프레임을 전송하는 단계;
    상기 클라이언트 장치가, 상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치를 예측하는 단계;
    상기 클라이언트 장치가, 상기 컴퓨팅 장치로부터 상기 일부 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 수신하는 단계; 및
    상기 클라이언트 장치가, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 단계;를 포함하고,
    상기 정합하는 단계 이전에,
    상기 클라이언트 장치가 상기 정합하는 단계를 수행할지를 판단하는 단계;를 더 포함하고,
    상기 판단 결과 상기 정합하는 단계를 수행하지 않을 경우, 상기 물체의 예측된 위치와 콘투어를 상기 물체의 추적 위치 및 추적 콘투어로서 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  8. 제 7 항에 있어서, 상기 컴퓨팅 장치에 전송할지 여부를 판단하는 것은 상기 컴퓨팅 장치의 리소스 및 소정 시간 주기 중 적어도 하나에 기초하고,
    상기 리소스는 상기 컴퓨팅 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  9. 제 7 항에 있어서, 상기 정합하는 단계가,
    상기 물체의 예측된 위치 및 상기 물체의 검출된 위치를 가중 합산하여 상기 물체의 추적 위치를 산출하는 단계; 및
    상기 추적 위치에 상기 물체의 검출된 콘투어를 결합하여 상기 물체의 추적 콘투어를 산출하는 단계;를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  10. 제 7 항에 있어서, 상기 물체의 위치를 예측하는 단계가,
    상기 복수의 영상 프레임 중 적어도 하나에 기초하여 상기 예측 영상 프레임에서의 상기 물체의 콘투어를 예측하는 단계를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  11. 삭제
  12. 제 7 항에 있어서, 상기 정합하는 단계를 수행할지를 판단하는 단계는, 상기 클라이언트 장치의 리소스 및 소정 시간 주기 중 적어도 하나에 기초하여 판단하고,
    상기 리소스는 상기 클라이언트 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  13. 제 7 항에 있어서, 상기 컴퓨팅 장치로 상기 일부 영상 프레임을 전송하는 단계 이전에,
    상기 클라이언트 장치가, 상기 컴퓨팅 장치의 리소스에 기초하여 상기 컴퓨팅 장치로 전송할 영상 프레임의 해상도를 변경하는 단계;를 더 포함하고,
    이 때 상기 리소스는 상기 컴퓨팅 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법.
  14. 제 13 항에 있어서, 상기 정합하는 단계 이전에,
    상기 클라이언트 장치 또는 상기 컴퓨팅 장치 중 하나가, 상기 클라이언트 장치의 리소스에 기초하여 상기 검출된 물체의 콘투어의 해상도를 변경하는 단계;를 더 포함하고,
    이 때 상기 클라이언트 장치의 리소스는 상기 클라이언트 장치의 프로세서 처리속도, 가용 메모리 용량, 및 상기 클라이언트 장치가 구비한 영상 출력장치의 해상도 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적방법
  15. 분산처리 기반의 물체 추적장치에 있어서,
    네트워크망을 통해 외부의 영상 획득 장치 및 컴퓨팅 장치와 데이터를 송수신할 수 있는 통신부;
    추적대상 물체를 포함하며 상기 영상 획득 장치로부터 수신되는 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치와 콘투어를 예측할 수 있는 물체 예측부; 및
    상기 통신부가 상기 복수의 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 상기 컴퓨팅 장치로부터 수신하는 경우, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치 및 추적 콘투어를 산출하기 위해, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합할 수 있는 정합부;를 포함하고,
    상기 통신부가 상기 컴퓨팅 장치로부터 상기 물체의 검출된 위치와 콘투어를 수신하지 않을 경우, 상기 정합부가, 상기 물체 예측부에서 예측된 상기 물체의 위치와 콘투어를 상기 예측 영상 프레임에서의 상기 추적 위치와 추적 콘투어로서 각각 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치.
  16. 제 15 항에 있어서, 상기 정합부는,
    상기 물체의 예측된 위치 및 상기 물체의 검출된 위치를 가중 합산하여 상기 물체의 추적 위치를 산출하고,
    상기 추적 위치에 상기 물체의 검출된 콘투어를 결합하여 상기 물체의 추적 콘투어를 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치.
  17. 삭제
  18. 분산처리 기반의 물체 추적장치에 있어서,
    추적대상 물체를 포함하는 복수의 영상 프레임을 획득할 수 있는 영상 획득부;
    네트워크망을 통해 외부의 컴퓨팅 장치와 데이터를 송수신할 수 있는 통신부;
    상기 복수의 영상 프레임 중 적어도 일부 영상 프레임을 컴퓨팅 장치에 전송할지를 판단하는 제1 판단부;
    상기 복수의 영상 프레임 중 적어도 하나에 기초하여, 상기 복수의 영상 프레임 이후의 영상 프레임("예측 영상 프레임")에서의 상기 물체의 위치와 콘투어를 예측할 수 있는 물체 예측부; 및
    상기 예측된 물체의 위치와 콘투어에 기초하여, 상기 예측 영상 프레임에서의 상기 물체의 추적 위치와 추적 콘투어를 산출할 수 있는 산출부;를 포함하고,
    상기 산출부는, 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 상기 물체의 예측된 위치와 정합하는 정합부를 포함하고,
    상기 산출부가, 상기 추적장치의 리소스 및 소정 시간 주기 중 적어도 하나에 기초하여 상기 정합부의 동작을 제어하는 제2 판단부를 더 포함하고,
    상기 제2 판단부에 의해 상기 정합부가 동작하지 않을 경우, 상기 산출부가, 상기 물체 예측부에서 예측된 상기 물체의 위치와 콘투어를 상기 예측 영상 프레임에서의 상기 추적 위치와 추적 콘투어로서 각각 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치.
  19. 제 18 항에 있어서, 상기 제1 판단부는 상기 컴퓨팅 장치의 리소스 및 소정 시간 주기 중 적어도 하나에 기초하여 판단하고, 이 때 상기 리소스는 상기 컴퓨팅 장치의 프로세서 처리속도 및 가용 메모리 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치.
  20. 제 18 항에 있어서,
    상기 정합부는, 상기 통신부가 상기 일부 영상 프레임 중 어느 하나의 영상 프레임에서 검출된 상기 물체의 위치와 콘투어를 상기 컴퓨팅 장치로부터 수신하는 경우, 상기 물체의 예측된 위치 및 상기 물체의 검출된 위치와 콘투어를 정합하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치.
  21. 제 20 항에 있어서, 상기 정합부는,
    상기 물체의 예측된 위치 및 상기 물체의 검출된 위치를 가중 합산하여 상기 물체의 추적 위치를 산출하고,
    상기 추적 위치에 상기 물체의 검출된 콘투어를 결합하여 상기 물체의 추적 콘투어를 산출하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치.
  22. 삭제
  23. 제 18 항에 있어서, 상기 분산처리 기반의 물체 추적장치가,
    상기 컴퓨팅 장치의 리소스에 기초하여 상기 컴퓨팅 장치로 전송할 영상 프레임의 해상도를 변경할지 여부를 판단하는 제3 판단부; 및
    상기 제3 판단부의 판단 결과에 따라 상기 컴퓨팅 장치로 전송할 영상 프레임의 해상도를 변경하는 영상 전처리부;를 더 포함하는 것을 특징으로 하는 분산처리 기반의 물체 추적장치.
  24. 제1항 내지 제3항, 제5항 내지 제10항, 및 제12항 내지 제14항 중 어느 한 항에 기재된 분산처리 기반의 물체 추적방법을 컴퓨터로 하여금 실행하도록 하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
KR1020120029816A 2012-03-23 2012-03-23 분산처리 기반의 물체 추적장치 및 추적방법 KR101323886B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120029816A KR101323886B1 (ko) 2012-03-23 2012-03-23 분산처리 기반의 물체 추적장치 및 추적방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120029816A KR101323886B1 (ko) 2012-03-23 2012-03-23 분산처리 기반의 물체 추적장치 및 추적방법

Publications (2)

Publication Number Publication Date
KR20130107772A KR20130107772A (ko) 2013-10-02
KR101323886B1 true KR101323886B1 (ko) 2013-10-30

Family

ID=49631015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120029816A KR101323886B1 (ko) 2012-03-23 2012-03-23 분산처리 기반의 물체 추적장치 및 추적방법

Country Status (1)

Country Link
KR (1) KR101323886B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102085699B1 (ko) * 2018-07-09 2020-03-06 에스케이텔레콤 주식회사 객체 추적 서버, 객체 추적 시스템 및 객체 추적 방법을 수행하는 컴퓨터 판독 가능 기록매체에 저장된 프로그램

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0636031A (ja) * 1992-07-15 1994-02-10 N T T Data Tsushin Kk コンピュータ利用の移動物体追跡システム
JP2010028594A (ja) * 2008-07-23 2010-02-04 Hitachi Ltd 移動物体監視装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0636031A (ja) * 1992-07-15 1994-02-10 N T T Data Tsushin Kk コンピュータ利用の移動物体追跡システム
JP2010028594A (ja) * 2008-07-23 2010-02-04 Hitachi Ltd 移動物体監視装置

Also Published As

Publication number Publication date
KR20130107772A (ko) 2013-10-02

Similar Documents

Publication Publication Date Title
JP6024952B2 (ja) 画像送信装置、画像送信方法、画像送信プログラム及び画像認識認証システム
US8824554B2 (en) Systems and methods for video content analysis
US9332271B2 (en) Utilizing a search scheme for screen content video coding
US10547845B2 (en) Information processing device and information processing method
WO2012122051A1 (en) Redundant detection filtering
CN112383777A (zh) 视频编码方法、装置、电子设备及存储介质
TWI521473B (zh) 影像分析裝置、方法及電腦可讀取媒體
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
EP3506635B1 (en) Picture encoding method and terminal
KR101323886B1 (ko) 분산처리 기반의 물체 추적장치 및 추적방법
US11164328B2 (en) Object region detection method, object region detection apparatus, and non-transitory computer-readable medium thereof
JP7211373B2 (ja) 動画像解析装置、動画像解析システム、動画像解析方法、及びプログラム
JP2016021716A (ja) 追尾装置及びその制御方法
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 (ko) 네트워크 기반 다중 카메라 영상 처리 및 데이터 전송 방법 및 그 시스템
KR101779749B1 (ko) 네트워크 기반 다중 카메라 영상 처리 및 데이터 전송 방법 및 그 시스템
CN114697678A (zh) 图像编码方法、装置、存储介质及设备
KR20210077178A (ko) 깊이 추정을 이용한 영상 관리 장치 및 방법
CN113706573A (zh) 一种运动物体的检测方法、装置及存储介质

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