KR101517359B1 - 객체 추적 방법 및 이를 이용한 객체 추적 장치 - Google Patents

객체 추적 방법 및 이를 이용한 객체 추적 장치 Download PDF

Info

Publication number
KR101517359B1
KR101517359B1 KR1020130165636A KR20130165636A KR101517359B1 KR 101517359 B1 KR101517359 B1 KR 101517359B1 KR 1020130165636 A KR1020130165636 A KR 1020130165636A KR 20130165636 A KR20130165636 A KR 20130165636A KR 101517359 B1 KR101517359 B1 KR 101517359B1
Authority
KR
South Korea
Prior art keywords
tracking
object tracking
image data
tracking method
window
Prior art date
Application number
KR1020130165636A
Other languages
English (en)
Inventor
이귀상
이칠우
Original Assignee
전남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전남대학교산학협력단 filed Critical 전남대학교산학협력단
Priority to KR1020130165636A priority Critical patent/KR101517359B1/ko
Application granted granted Critical
Publication of KR101517359B1 publication Critical patent/KR101517359B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 객체 추적 방법 및 이를 이용한 객체 추적 장치에 관한 것으로서, 더욱 상세하게는 영상 데이터의 객체 움직임에 따라, 자원 소모가 많은 객체 추적 방식과 그렇지 않은 객체 추적 방식을 유기적으로 적용함으로써, 적은 연산량으로도 보다 정확하게 객체를 추적할 수 있는 객체 추적 방법 및 이를 이용한 객체 추적 장치에 관한 것이다.
이를 위한 본 발명의 일 실시 예에 따른 객체 추적 방법은 객체 추적 장치가, 연속적인 두 개 이상의 프레임으로 구성되는 영상 데이터에서 연속적인 흐름에 따른 변화를 추적하여 객체를 추적하는 제1 객체 추적 방식에 따라 객체를 추적하는 단계, 상기 제1 객체 추적 방식에 따라 객체 추적 시 객체 추적 실패 여부를 판단하는 판단 단계 및 객체 추적에 실패한 것으로 판단되면, 파티클 필터링 방식으로 객체를 추적하는 제2 객체 추적 방식에 따라 객체를 추적하고, 그렇지 않을 경우, 추적 윈도우의 중심점을 이동시켜 객체를 추적하는 제3 객체 추적 방식에 따라 객체를 추적하는 단계를 포함하여 이뤄질 수 있다.

Description

객체 추적 방법 및 이를 이용한 객체 추적 장치{METHOD FOR TRACKING OF OBJECT AND APPAARATUS USING THE SAME}
본 발명은 객체 추적 방법 및 이를 이용한 객체 추적 장치에 관한 것으로서, 더욱 상세하게는 영상 데이터의 객체 움직임에 따라, 자원 소모가 많은 객체 추적 방식과 그렇지 않은 객체 추적 방식을 유기적으로 적용함으로써, 적은 연산량으로도 보다 정확하게 객체를 추적할 수 있는 객체 추적 방법 및 이를 이용한 객체 추적 장치에 관한 것이다.
또한, 본 발명은 국가연구개발사업의 일환으로, 과제고유번호 : 1415128726, 연구사업명 : 대학 IT연구센터 육성 지원사업, 연구기간 : 2013년 01월 01일-2013년 12월 31일, 연구과제명 : "차세대 휴대폰용 지능형 사용자 인터페이스 플랫폼 기술개발"에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
객체 추적은 동영상이나, 카메라에 의해 실시간 촬영되는 영상으로부터 특정 객체, 예컨대 얼굴 또는 손과 같은 객체를 인식하고 실시간 추적하는 과정으로, 지능형 영상 감시, 지능형 로봇과의 인터랙션(Interaction), 동작 인식을 통한 미래형 사용자 인터페이스 분야 등 여러 영상 처리 응용 분야에서 필요한 과정이다.
객체 추적을 위한 다양한 기술들이 소개되고 있으나, 현재까지의 객체 추적을 위한 기술들은 추적하고자 하는 객체가 급격하게 움직이거나, 객체를 촬영하는 카메라가 흔들리는 등 여러 가지 요인으로 인해, 정확한 객체 추적이 어렵다는 문제점이 있다. 또한, 실시간 객체 추적은 복잡한 연산 과정을 필요로 하나, 연산 과정이 복잡해질수록 많은 하드웨어 리소스를 사용한다는 문제점이 있다.
또한, 최근에는 스마트폰과 같은 휴대 단말에 구비되는 카메라를 통해 실시간 촬영되는 객체를 추적하고, 이를 기반으로 다양한 서비스를 제공하는 어플리케이션들이 개발되고 있으나, 스마트폰과 같은 상대적으로 한정된 자원을 활용하는 휴대 단말에서의 실시간 객체 추적은 일반적으로 연산량이 적은 방식을 사용함으로써, 객체 추적의 정확도가 떨어진다는 단점이 있다.
한국공개특허 제10-2013-0070340호, 2013년 06월 27일 공개 (명칭: 모션인식에서 광흐름 처리 가속기 및 방법)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 객체 움직임이 적을 경우의 객체 추적이 용이한 광흐름(optical flow) 방식 및 캠쉬프트(CAMshift) 방식을 병행하여 객체 추적 시, 객체의 급격한 움직임 등이 발생되어 객체 추적에 실패하게 되면, 객체 움직임이 많을 경우의 객체 추적이 용이한 파티클 필터(Particle filter) 방식에 따라 객체를 추적함으로써, 적은 연산량으로 보다 정확하게 객체를 추적할 수 있는 객체 추적 방법 및 이를 이용한 객체 추적 장치를 제공하는 데 목적이 있다.
이를 통해 본 발명은 적은 연산량으로도 보다 정확하게 객체를 추적할 수 있어, 스마트폰과 같은 한정된 자원을 활용하는 휴대 단말로의 적용이 용이한 객체 추적 방법 및 이를 이용한 객체 추적 장치를 제공하는 데 그 목적이 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 객체 추적 방법은 연속적인 두 개 이상의 프레임으로 구성되는 영상 데이터에서 연속적인 흐름에 따른 변화를 추적하여 객체를 추적하는 제1 객체 추적 방식에 따라 객체를 추적하는 단계; 상기 제1 객체 추적 방식에 따라 객체 추적 시 객체 추적 실패 여부를 판단하는 판단 단계; 및 객체 추적에 실패한 것으로 판단되면, 파티클 필터링 방식으로 객체를 추적하는 제2 객체 추적 방식에 따라 객체를 추적하고, 그렇지 않을 경우, 추적 윈도우의 중심점을 이동시켜 객체를 추적하는 제3 객체 추적 방식에 따라 객체를 추적하는 단계;를 포함하여 이뤄질 수 있다.
여기서, 상기 제1 객체 추적 방식에 따라 객체를 추적하는 단계 이전에, 상기 영상 데이터의 현재 프레임에 추적하고자 하는 객체를 검출하는 단계; 및 상기 검출된 객체에 대한 추적 윈도우를 설정하는 단계;를 더 포함하여 이뤄질 수 있다.
또한, 상기 제1 객체 추적 방식에 따라 객체를 추적하는 단계는 상기 영상 데이터에서 하나 이상의 코너점(corner point)을 특징점으로 추출하는 단계; 및 상기 추출된 특징점의 방향성 벡터를 산출하고, 산출된 벡터에 따라 객체를 추적하는 단계;를 포함하여 이뤄질 수 있다.
또한, 상기 제1 객체 추적 방식에 따라 객체를 추적하는 단계는 상기 영상 데이터의 현재 프레임에서 추출된 특징점이 이전 프레임에 비해 어느 정도 비율의 평균 거리를 갖는 지에 대한 스케일링 파라미터를 산출하는 단계; 및 상기 산출된 스케일링 파라미터에 따라 상기 현재 프레임의 추적 윈도우를 조정하는 단계;를 포함하여 이뤄질 수 있다.
또한, 상기 제1 객체 추적 방식에 따라 객체를 추적하는 단계는 상기 영상 데이터의 각 프레임별로 추적된 특징점의 채널별 가중치를 산출하는 단계; 및 상기 산출된 채널별 가중치가 기 설정된 임계 값 이상인 경우, 추적에서 제외하는 단계;를 포함하여 이뤄질 수 있다.
또한, 상기 객체 추적 실패 여부를 판단하는 단계는 현재 프레임에서 추출된 특징점의 총 개수가 기 설정된 임계 값보다 작거나, 이전 프레임에서 추출된 특징점의 총 개수를 나눈 값보다 작을 경우 객체 추적에 실패한 것으로 판단할 수 있다.
또한, 상기 객체 추적 실패 여부를 판단하는 단계는 상기 영상 데이터의 현재 프레임의 제1 특징점과, 상기 제1 특징점을 후방 추적한 이전 프레임의 제2 특징점과의 거리가 기 설정된 임계 값 이상인 경우, 객체 추적에 실패한 것으로 판단할 수 있다.
또한, 상기 제2 객체 추적 방식에 따라 객체를 추적하거나 제3 객체 추적 방식에 따라 객체를 추적하는 단계 이전에, 상기 입력된 영상 데이터를 색상 채널에 대한 히스토그램을 분석하는 단계; 및 분석된 상기 히스토그램을 기반으로 역투영(back projection) 이미지를 생성하는 단계;를 더 포함하여 이뤄질 수 있다.
또한, 상기 제2 객체 추적 방식에 따라 객체를 추적하거나 제3 객체 추적 방식에 따라 객체를 추적하는 단계는 객체 추적에 실패하지 않은 것으로 판단되면, 상기 제3 객체 추적 방식에 따라 생성된 상기 역투영 이미지를 이용하여 추적 윈도우의 중심점을 이동시켜 객체를 추적하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 제2 객체 추적 방식에 따라 객체를 추적하거나 제3 객체 추적 방식에 따라 객체를 추적하는 단계는 객체 추적에 실패한 것으로 판단되면, 상기 제2 객체 추적 방식에 따라 생성된 상기 역투영 이미지를 대상으로 파티클 계수를 산출하는 단계; 및 상기 산출된 파티클 계수에 따라 서브 윈도우의 평균 위치를 산출하여 객체를 추적하는 단계;를 포함하여 이뤄질 수 있다.
아울러, 상기 제1 객체 추적 방식은 광흐름(optical flow) 방식이며, 상기 제2 객체 추적 방식은 파티클 필터(particle filter) 방식이며, 상기 제3 객체 추적 방식은 캠쉬프트(CAM Shift) 방식일 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 객체 추적 장치는 연속적인 두 개 이상의 프레임으로 구성되는 영상 데이터를 입력받는 영상 입력부; 및 상기 영상 입력부를 통해 입력되는 영상 데이터에서 연속적인 흐름에 따른 변화를 추적하여 객체를 추적하는 제1 객체 추적 방식에 따라 객체 추적 시 객체 추적 실패 여부를 판단하여, 객체 추적에 실패한 것으로 판단되면, 파티클 필터링 방식으로 객체를 추적하는 제2 객체 추적 방식에 따라 객체를 추적하고, 그렇지 않을 경우, 추적 윈도우의 중심점을 이동시켜 객체를 추적하는 제3 객체 추적 방식에 따라 객체를 추적하는 객체 추적부;를 포함하여 구성될 수 있다.
아울러, 상기 입력된 영상 데이터를 기초로 객체 추적을 위한 전처리 과정을 수행하는 전처리부;를 더 포함하여 구성될 수 있다.
추가로, 본 발명은 상술한 바와 같은 본 발명의 실시 예에 따른 객체 추적 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
본 발명의 객체 추적 방법 및 이를 이용한 객체 추적 장치에 의하면, 객체 움직임이 적을 경우의 객체 추적이 용이한 광흐름(optical flow) 방식 및 캠쉬프트(CAMshift) 방식을 병행하여 객체 추적 시, 객체의 급격한 움직임 등이 발생되어 객체 추적에 실패하게 되면, 객체 움직임이 많을 경우의 객체 추적이 용이한 파티클 필터(Particle filter) 방식에 따라 객체를 추적함으로써, 적은 연산량으로도 보다 정확하게 객체를 추적할 수 있다는 효과가 있다.
또한, 본 발명은 영상 내 객체의 움직임에 따라 자원 소모가 많은 객체 추적 방식과 그렇지 않은 객체 추적 방식을 병행하여 적용함으로써, 하드웨어 리소스를 보다 효율적으로 활용할 수 있다는 장점이 있으며, 스마트폰과 같은 한정된 자원을 사용하는 휴대 단말로의 적용이 보다 용이하다는 우수한 효과가 있다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 객체 추적 장치의 주요 구성을 도시한 블록도이다.
도 2는 본 발명의 실시 예에 따른 객체 추적 방법을 개략적으로 설명하기 위한 흐름도이다.
도 3은 본 발명의 실시 예에 따른 객체 추적 방법을 구체적으로 설명하기 위한 흐름도이다.
도 4 내지 도 9는 본 발명의 실시 예에 따른 객체 추적 방법을 설명하기 위한 화면 예시도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이제 본 발명의 실시 예에 따른 객체 추적 방법 및 이를 이용한 객체 추적 장치에 대하여 도면을 참고하여 상세하게 설명하고, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기도 한다.
아울러, 설명의 편의를 위해, 본 발명의 일 실시 예에서는 얼굴(face) 객체를 추적하는 것을 예로 들어 설명하도록 한다. 그러나, 이에 한정되는 것은 아니며, 본 발명의 실시 예에 따른 객체는 얼굴뿐 아니라, 손, 팔 또는 전체 사람 또는 지정된 특정 물체 등 다양한 객체 추적에 적용될 수 있다.
이하, 본 발명의 실시 예에 따른 객체 추적 장치에 대해 먼저 설명하도록 한다.
도 1은 본 발명의 실시 예에 따른 객체 추적 장치의 주요 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 객체 추적 장치(100)는 영상 입력부(10), 전처리부(20), 객체 추적부(30) 및 결과 출력부(40)를 포함하여 구성될 수 있다.
먼저, 영상 입력부(10)는 별도의 카메라를 통해 실시간 촬영되고 있는 하나 이상의 영상 데이터를 내외부 통신 인터페이스를 통해 입력 받아 전처리부(20)로 전달하는 역할을 수행한다. 이때, 영상 입력부(10)는 CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 영상 센서를 사용하여 획득된 영상 데이터를 프레임별로 실시간 입력받을 수 있다. 그러나, 이에 한정되는 것은 아니며, 기 생성되어 메모리와 같은 저장장치에 저장된 영상 데이터를 입력 받을 수도 있다. 아울러, 상기 영상 입력부(10)를 통해 입력되는 영상 데이터는 연속적인 두 개 이상의 프레임을 포함하게 된다.
여기서, 프레임이란 임의의 시간에서 입력 받은 영상 프레임을 특정하기 위한 것으로서, 이전 프레임은 현재 프레임을 기준으로 한 프레임 전에 입력받은 영상 프레임을 말하며, 다음 프레임은 현재 프레임을 기준으로 한 프레임 후에 입력 받은 영상 프레임을 말한다. 또한, 각각의 프레임은 추적하고자 하는 객체를 포함할 수 있으며, 추적하고자 하는 객체 이외의 다른 객체를 포함할 수도 있다. 여기서, 추적하고자 하는 객체 이외의 다른 객체는 배경(background)로 지칭하도록 한다.
전처리부(20)는 객체 추적부(30)가 객체를 추적할 수 있도록 다양한 처리를 수행하는 역할을 수행한다. 먼저, 본 발명의 실시 예에 따른 전처리부(20)는 영상 데이터의 현재 프레임에서 추적하고자 하는 객체를 검출할 수 있다. 또한, 본 발명의 실시 예에 따른 전처리부(20)는 객체 추적을 위한 추적 윈도우를 설정하고, 설정된 추적 윈도우 내에서 하나 이상의 특징점을 추출할 수 있다. 그리고, 전처리부(20)는 현재 프레임의 히스토그램을 산출하고, 이를 기초로 역투영 이미지를 생성할 수 있으며, 아울러, 본 발명의 실시 예에 따른 전처리부(20)는 상술한 동작 이외도, 입력된 영상 데이터에서 잡음을 제거하는 등 객체 추적을 위한 다양한 영상 처리 과정을 수행할 수도 있다.
본 발명의 실시 예에 따른 전처리부(20)의 동작을 객체 추적부(30)의 동작과 연계하여 설명하면, 먼저, 본 발명의 실시 예에 따른 전처리부(20)는 특징점 추출 모듈(21)을 통해 추적 영역에서 하나 이상의 특징점을 추출할 수 있다. 본 발명의 실시 예에서는 코너점(corner point)을 특징점으로 추출하게 된다. 전처리부(20)에 의해 하나 이상의 코너점이 추출되면, 객체 추적부(30)는 추적 영역에서의 코너점의 움직임 방향성을 고려하여 객체를 추적하게 된다. 다시 말해, 객체 추적부(30)의 제1 객체 추적 모듈(31)을 통해 추적 영역에서의 객체를 추적하게 된다. 여기서, 제1 객체 추적 모듈(31)은 광흐름(optical flow) 방식에 따라 객체를 추적하는 것으로, 광흐름 방식이란 연속적인 두 프레임 사이의 밝기 패턴의 움직임, 즉 벡터의 방향성을 추정하는 방식을 의미한다.
제1 객체 추적 모듈(31)은 이전 프레임과 현재 프레임들 간의 특징점의 벡터를 연쇄적으로 계산하여 실시간 객체를 추적하게 된다. 이때, 본 발명의 실시 예에 따른 제1 객체 추적 모듈(31)은 현재 프레임의 특징점이 이전 프레임에 비해 어느 정도 비율의 평균거리를 갖는 지에 대한 스케일링 파라미터를 산출하고, 산출된 스케일링 파라미터에 따라 추적 윈도우의 위치 및 크기를 조정할 수 있다.
아울러, 본 발명의 실시 예에 따른 객체 추적부(30)는 제1 객체 추적 모듈(31)을 통해 객체 추적 시 객체 추적 실패 여부를 더 판단하고, 객체 추적 실패 여부에 따라 제2 객체 추적 모듈(32)을 이용하여 객체를 추적할 지 여부를 결정할 수도 있다.
또한, 본 발명의 실시 예에 따른 객체 추적부(30)는 제1 객체 추적 모듈(31)을 통해 객체 추적 시 객체 추적에 실패하지 않거나, 또는 객체 추적에 실패하여 제2 객체 추적 모듈(32)를 통해 객체를 추적하더라도, 객체 추적 결과에 대한 정확성을 보다 더 높이기 위해, 제3 객체 추적 모듈(33)을 통해 객체 추적을 보완할 수도 있다. 여기서, 제2 객체 추적 모듈(32)은 파티클 필터링 방식에 따라 객체를 추적하는 파티클 필터(particle fleter) 방식을 의미하며, 제3 객체 추적 모듈(33)은 프레임 단위로 추적 윈도우의 중심점을 이동(shift)시켜 객체를 추적하는 캠쉬프트(CAM Shift) 방식이 될 수 있다.
제2 객체 추적 모듈(32) 및 제3 객체 추적 모듈(33)을 이용하여 객체 추적부(30)가 객체를 추적하기 전에, 전처리 과정으로 전처리부(20)는 히스토그램 산출 모듈(22)을 통해 영상 데이터의 히스토그램을 분석하고, 이를 기초로 역투영 이미지 생성 모듈(23)이 역투영 이미지를 생성할 수도 있다.
이후, 상기 역투영 이미지를 이용하여 객체 추적부(30)는 제2 객체 추적 모듈(32) 또는 제3 객체 추적 모듈(33)을 통해 파티클 가중치를 산출하여 서브 윈도우의 평균 위치를 산출함으로써 객체를 추적하거나, 프레임별로 추적 윈도우의 중심점을 이동시켜 객체를 실시간 추적하게 된다.
그리고, 객체 추적부(30)를 통해 추적되는 객체의 위치 및 크기에 따라 전처리부(20)는 다음 프레임에서의 추적 윈도우의 크기를 변경하여 추적 영역을 변경하거나, 필요한 다양한 처리들을 수행할 수도 있다.
결과 출력부(40)는 상기 영상 입력부(10)에서 입력된 현재 프레임의 영상 데이터와 함께 객체 추적부(30)에서 결정된 현재 프레임의 추적 윈도우를 표시한다. 추적 윈도우는 현재 프레임의 영상 데이터 상의 추적된 객체 주위의 사각형 등으로 표시될 수 있다. 아울러, 결과 출력부(40)는 LCD(Liquid Crystal Display), TFT-LCD(Thin Film Transistor LCD), OLED(Organic Light Emitting Diodes), 발광다이오드(LED), AMOLED(Active Matrix Organic LED), 플렉시블 디스플레이(Flexible display) 및 3차원 디스플레이(3 Dimension) 등의 다양한 디스플레이를 통해 결과 데이터를 출력할 수 있다.
이상으로 본 발명의 실시 예에 따른 객체 추적 장치(100)의 주요 구성에 대해 설명하였다.
본 발명의 실시 예에 따른 객체 추적 장치(100)는 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다. 또한, 도면에는 도시하지 않았으나, 객체 추적 장치(100)는 객체 추적 과정에서 발생되는 다양한 정보를 저장하는 메모리를 탑재할 수도 있다. 상기 메모리는 영상 입력부(10)를 통해 입력되는 영상 데이터를 프레임 단위로 저장할 수 있으며, 입력된 영상 데이터를 기초로 객체 추적 시 발생되는 다양한 정보를 저장할 수 있다. 또한, 일 구현예의 경우, 상기 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
아울러, 본 발명의 일 실시 예에 따른 객체 추적 장치(100)의 전처리부(20)가 특징점 추출 모듈(21), 히스토그램 산출 모듈(22), 역투영이미지 생성 모듈(23)로 구성되며, 객체 추적부(30)가 제1 객체 추적 모듈(31), 제2 객체 추적 모듈(32), 제3 객체 추적 모듈(33)로 구성되는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 각각의 모듈들은 기능 상의 구분에 따라 독립된 부 형태로 존재할 수도 있다.
또한, 비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
이하, 본 발명의 실시 예에 따른 객체 추적 장치(100)에서의 객체 추적 방법에 대해 도 2 내지 도 9를 참조하여 보다 더 구체적으로 설명하도록 한다.
도 2는 본 발명의 실시 예에 따른 객체 추적 방법을 개략적으로 설명하기 위한 흐름도이며, 도 3은 본 발명의 실시 예에 따른 객체 추적 방법을 구체적으로 설명하기 위한 흐름도이다.
먼저, 도 1 및 도 2를 참조하면, 본 발명의 실시 예에 따른 객체 추적 방법은 크게, 전처리부(20)에 의해 진행되는 전처리 과정(S100), 객제 추적부(30)의 제1 객체 추적 모듈(31)을 통해 이뤄지는 객체 추적 과정(S200), 그리고 제1 객체 추적 모듈(31)을 통해 객체 추적 중 객체 추적 실패 여부에 따라(S300), 제2 객체 추적 모듈(32)에 의해 객체 추적이 이뤄지는 객체 추적 과정(S400) 및 제3 객체 추적 모듈(33)에 의해 객체 추적이 이뤄지는 객체 추적 과정(S500)으로 이뤄질 수 있다.
각 단계에 대해 도 3을 참조하여 보다 구체적으로 설명하도록 한다.
먼저, 객체 추적 장치(100)의 영상 입력부(10)를 통해 영상 데이터가 입력되면(S110), 본 발명의 동작이 이뤄지게 된다. 여기서, 영상 입력부(10)를 통해 입력되는 영상 데이터는 연속적인 두 개 이상의 프레임을 포함하는 영상 데이터가 될 수 있다.
영상 데이터가 입력되면, 영상 입력부(10)는 입력된 영상 데이터를 전처리부(20)로 전달한다. 전처리부(20)는 상기 입력된 영상 데이터의 현재 프레임에서 추적하고자 하는 객체가 검출(detection)되는 지 여부를 판단한다(S120). 예컨대, 추적(tracking)하고자 하는 객체(object)가 얼굴일 경우, 입력된 영상 데이터의 현재 프레임에서 얼굴이 존재하는 지 여부를 판단하게 된다. 객체를 검출하는 과정은 다양한 공지된 구성을 적용하여 이뤄질 수 있다. 예컨대, 영상 데이터의 현재 프레임에서 색상 기반으로 현재 프레임 내 얼굴 객체를 검출할 수 있으며, 후술할 특징점 추출을 기초로 얼굴 영역을 검출할 수도 있다.
추적하고자 하는 객체가 검출되면, 전처리부(20)는 추적하고자 하는 객체의 검색 범위를 설정하기 위한 추적 윈도우(track window)를 설정하게 된다(S130). 여기서, 추적 윈도우는 프레임 단위로 설정되며, 이전 프레임에서의 추적 결과에 따라 다음 프레임에서의 추적 윈도우의 크기 및 위치는 실시간으로 변경될 수 있다.
추적 윈도우가 설정되면, 객체 추적 장치(100)의 전처리부(20)는 상기 추적 윈도우 내에서 하나 이상의 특징점을 추출한다(S140). 특히, 본 발명의 실시 예에 따른 전처리부(20)는 하나 이상의 코너점(corner point)을 추출하게 된다. 코너점이란 특징점의 하나로, 픽셀의 변화가 급격하게 이뤄지는 지점, 두 개 또는 두 개 이상의 변의 교차점을 의미하는 것으로, 예컨대 도 4의 (a)에 도시된 바와 같이, 눈, 코, 입에서 코너점이 추출될 수 있다. 이러한, 특징점 추출은 다양한 방식에 따라 추출될 수 있다. 예컨대, Moravec's corner detector, Harris corner detector, SUSAN, FAST corner detector 등 다양한 방식에 따라 추출될 수 있다.
이후, 본 발명의 실시 예에 따른 객체 추적 장치(100)의 객체 추적부(20)는 추출된 특징점을 이용하여 프레임 간 광흐름(optical flow) 방식에 따라 객체를 추적할 수 있다(S200). 광흐름 방식에 따른 객체 추적 방법은 세밀한 광강도를 가진 두 개의 연속적인 프레임 사이의 연속적인 흐름에 따른 변화를 추정하여 객체를 추적하는 방법으로, 즉, 본 발명의 객체 추적 장치(100)의 객체 추적부(20)는 이전 프레임과 현재 프레임 사이의 추출된 특징점의 이동 거리, 방향, 운동 속도 등을 추정하여 객체를 추적하게 된다. 아울러, 본 발명의 실시 예에 따른 광흐름 방식은 Lucas-Kanade optical flow 등 공지된 다양한 방식을 적용할 수 있다.
아울러, 본 발명의 실시 예에 따른 객체 추적 장치(100)의 객체 추적부(20)는 광흐름 방식에 따라 객체 추적 시 프레임 단위로 추적 윈도우를 조정할 수 있으며, 추적 윈도우 조정을 위한 스케일링 파라미터를 산출할 수 있다.
스케일링 파라미터는 다음과 같은 수학식에 따라 산출될 수 있다.
Figure 112013119755602-pat00001
여기서,
Figure 112013119755602-pat00002
는 스케일링 파라미터로 스케일 변화 비율, 즉 이전 프레임에 비해 현재 프레임이 어느 정도 비율의 평균거리를 갖는 가를 의미한다.
Figure 112013119755602-pat00003
는 프레임을 의미하며,
Figure 112013119755602-pat00004
는 프레임
Figure 112013119755602-pat00005
에서 추출된 특징점, 즉 각 코너점 간의 거리의 평균을 의미한다.
이러한,
Figure 112013119755602-pat00006
는 다음과 같은 수학식에 따라 산출될 수 있다.
Figure 112013119755602-pat00007
즉, 이전 프레임의 코너점과 이후의 나머지 프레임에서의 코너점 좌표의 거리들을 모두 계산하여 평균값을 산출한 것으로, 여기서,
Figure 112013119755602-pat00008
는 프레임
Figure 112013119755602-pat00009
에서 추출된 코너점의 총 개수를 의미하며,
Figure 112013119755602-pat00010
Figure 112013119755602-pat00011
번째 코너점에서의 좌표를 의미한다.
본 발명의 일 실시 예에서는 스케일링 파라미터의 값이 일정 값 사이, 예컨대 0.8 ~ 1.2 사이일 경우, 추적 윈도우 크기를 조정할 수 있다.
다시 말해, 광흐름 방식을 이용하여 객체 추적 시, 추적 윈도우(track window)는 추적된 코너 점의 중간 위치로 설정될 수 있는데, 도 4의 (b)에 도시된 바와 같이, 코너점의 불균형한 분포에 따라 얼굴 중심으로부터 추적 윈도우가 벗어나 버리는 차이 문제(divergence problem)이 발생될 수 있다. 즉, 전술한 광흐름 방식만으로는 객체 추적의 정확도가 떨어지게 되므로, 본 발명의 실시 예에서는 추적의 정확도 향상을 위해, 캠쉬프트(CAMShift(Continuously Adaptive Mean Shift)) 방식을 병행하여 적용하게 된다.
캠쉬프트 방식에 따라 객체를 추적하기 위해, 객체 추적 장치(100)는 먼저, 추적 윈도우를 주변 지역의 투사 이미지로 하기 위한 컬러 역투영 이미지(color back projection image)를 생성하게 된다. 컬러 역투영 이미지란 추적 객체의 컬러가 배경에 속할 확률에 따라 산출된 이미지를 의미한다. 본 발명의 일 실시 예에 따른 컬러 역투영 이미지는 객체 및 배경 모두에 나타나는 컬러 픽셀은 억제하고, 객체에만 나타나는 컬러 픽셀은 강조시키는 확률 함수에 따라 생성될 수 있다.
이러한 확률 함수는 다음과 같다.
Figure 112013119755602-pat00012
여기서,
Figure 112013119755602-pat00013
Figure 112013119755602-pat00014
는 각각 배경에서의 색상 모델 및 추적 객체에서의 색상 모델을 의미한다. 또한,
Figure 112013119755602-pat00015
는 객체 영역을 의미하며,
Figure 112013119755602-pat00016
는 배경 영역을 의미한다.
또한 색상 모델은 배경 영역 및 객체의 색상 히스토그램으로부터 산출될 수 있다. 본 발명의 일 실시 예에서는 휘도 변화의 영향을 덜 받는 YUV 컬러 시스템에서 UV의 색상 채널을 예로 들어 설명하도록 한다. 그러나, 이에 한정되는 것은 아니며, 객체 추적 장치(100)와 연동 가능한 장치 또는 객체 추적 장치(100)가 내장되는 장치에서 기본적으로 지원하는 컬러 시스템에 따라 변경될 수 있다.
특정 픽셀 컬러의 확률 값은 다음에 따라 산출될 수 있다.
Figure 112013119755602-pat00017
여기서,
Figure 112013119755602-pat00018
는 픽셀이 갖는 컬러에서 UV 채널에 해당하는 값을 의미하며,
Figure 112013119755602-pat00019
는 2차원 색상 히스토그램,
Figure 112013119755602-pat00020
는 픽셀 컬러
Figure 112013119755602-pat00021
에 해당하는 히스토그램 값을 의미한다.
이에 따라 생성된 컬러 역투영 이미지의 예는 도 5에 도시되어 있으며, 컬러 역투영 이미지 생성을 위해, 객체 추적 장치(100)의 전처리부(20)는 히스토그램 분석을 수행한 후(S150), 이를 기초로 컬러 역투영 이미지를 생성할 수 있다(S160). 아울러, 본 발명의 실시 예에 다른 객체 추적 방법에 있어서, 특징점 추출 이후에, 광흐름 방식에 따른 객체 추적과 동시에 히스토그램 분석 및 역투영 이미지 생성 과정이 이뤄질 수 있으나, 이에 한정되는 것은 아니며, 도 3에 도시된 바와 같이, 히스토그램 분석 및 역투영 이미지 생성이 완료된 이후에, 광흐름 방식에 따라 객체가 추적될 수도 있다.
또한, 히스토그램(histogram)이란 입력된 영상 데이터에서의 색 분포를 나타내는 것으로, 일반적으로 이용되는 RGB 컬러 공간 또는 HSV(색상(Hue), 채도(Saturation), 명도(Value)) 컬러 공간이 사용된다. 이렇게 영상 데이터에서 색상 채널에 대한 히스토그램을 생성한 후 추적 윈도우를 둘러싼 일정 영역을 설정하고, 이를 역투영(back projection)하여 입력된 영상에서 유사한 색상을 가지는 영역만을 추출하고, 전술한 바와 같은 컬러 역투영 이미지, 즉 확률 분포 영상을 획득하게 된다.
이러한 과정을 거치게 되면, 캠쉬프트 방식에 따라 객체 추적이 가능하게 된다. 여기서, 캠쉬프트 방식이란 히스토그램으로부터 얻어진 색 분포에 대한 확률 분포 영상을 기초로 캠쉬프트 알고리즘을 사용하여 추적 윈도우 위치 및 크기를 결정하는 방법을 의미한다. 캠쉬프트 알고리즘은 Mean Shift 알고리즘을 기반으로 하는 위치 및 크기 탐지 알고리즘으로, 즉, 색 확률 분포의 평균값에 의해 만들어진 고정된 크기의 추적 윈도우를 이용하는 것으로, 다시 말해 이전 프레임의 객체 위치를 추적 윈도우의 초기 위치로 정하고, 현재 프레임의 색 확률 분포가 높은 쪽으로 추적 윈도우의 중심점을 이동시켜 객체를 추적하는 방법을 의미한다.
이를 위해, 캠쉬프트 추적 윈도우에서 추적된 특징점 분포의 중점을 구하기 위한 식은 다음과 같다.
Figure 112013119755602-pat00022
여기서,
Figure 112013119755602-pat00023
는 역투영 이미지,
Figure 112013119755602-pat00024
Figure 112013119755602-pat00025
좌표들의 합을 의미한다.
아울러, 전술한 캠쉬프트 알고리즘을 이용한 객체 추적 단계는 다음과 같이 이뤄질 수 있다.
먼저, 전술한 바와 같이 생성된 컬러 확률 분포 이미지에서, 추적된 특징점, 즉 코너점들의 중간 위치를 계산하고, 계산된 코너점들의 중간 위치를 다음 프레임에서 추적을 위한 시작 위치로 설정한다.
Figure 112013119755602-pat00026
여기서,
Figure 112013119755602-pat00027
은 코너점의 개수를 의미하며,
Figure 112013119755602-pat00028
Figure 112013119755602-pat00029
좌표의 평균,
Figure 112013119755602-pat00030
Figure 112013119755602-pat00031
좌표의 평균을 의미한다.
그리고, 추적 윈도우의 중간 위치가 일정 값 이하로 수렴할 때까지 반복하게 되며, 수렴하게 되면, 수렴한 결과값에 기초하여 추적 윈도우의 중심점을 결정하고, 일정 횟수 이상 반복 실행되어도 이동거리가 수렴하지 않는다면(종료 조건), 다음 프레임의 영상 데이터를 입력 받는다(추적 실패). 또한, 상기 결정된 추적 영역 중심점을 기초로 추적 영역 크기를 결정한다.
그러나, 객체의 급격한 움직임에 따라 코너점은 잘못된 위치로 이동하고, 이에 캠쉬프트 방식만을 적용하기에는 정확성이 떨어진다는 문제점이 있다.
따라서, 본 발명의 실시 예에서는 객체 추적 실패 여부를 판단하는 단계를 더 포함하며, 객체 추적 실패 여부에 따라 다른 객체 추적 모델을 적용할 지 여부를 판단하게 된다(S300). 즉, 전술한 캠쉬프트 방식으로 객체를 추정하기 이전에, 객체 추적 실패 여부를 판단하는 과정을 거치게 된다.
객체 추적 실패 여부를 판단하기 위해, 본 발명의 실시 예에서는 먼저, 두 개의 연속적인 프레임에서 로컬 패치의 에러를 측정하게 된다. 로컬 패치의 에러는 예컨대, YUV 컬러 시스템에서 3개의 컬러 채널을 통해 산출될 수 있으며, 각 사각 윈도우에서 이전 프레임에서 현재 프레임의 동일한 순서의 Y값의 차를 구하고, 그 차들의 총합을 구함에 따라 산출될 수 있다.
Figure 112013119755602-pat00032
여기서,
Figure 112013119755602-pat00033
는 프레임
Figure 112013119755602-pat00034
에서의 코너점
Figure 112013119755602-pat00035
좌표를 의미하며,
Figure 112013119755602-pat00036
은 각각
Figure 112013119755602-pat00037
축과
Figure 112013119755602-pat00038
축으로의 변화량을 의미한다.
그리고 에러 값은 다음의 식에 따라 산출될 수 있다.
Figure 112013119755602-pat00039
이미지의 추적된 코너점은 각 채널별 가중치인
Figure 112013119755602-pat00040
값을 갖게 되는데,
Figure 112013119755602-pat00041
값이 기 설정된 임계 값 이상인 경우, 추적에서 제외될 수 있다.
또한, 본 발명의 객체 추적 장치(100)의 객체 추적부(30)는 객체 추적 실패 여부를 판단하기 위해, 현재 프레임의 제1 특징점과, 현재 프레임의 제1 특징점을 후방 추적한 이전 프레임의 제2 특징점의 거리가 기 설정된 임계 값 이상인지 여부를 판단할 수 있다.
이에 대해 도 6을 참조하여 설명하면, 도 6의 (a)는 이전 프레임을 의미하며, (b)는 현재 프레임을 의미한다. 현재 프레임의 코너점
Figure 112013119755602-pat00042
는 이전 프레임으로 후방 추적하게 되면, (a)에 도시된
Figure 112013119755602-pat00043
에 위치한다. 그러나, 이전 프레임에서 실제 위치한 코너점
Figure 112013119755602-pat00044
와는 차이가 있으며, 상기 차이, 즉 (a)에 도시된
Figure 112013119755602-pat00045
Figure 112013119755602-pat00046
사이의 거리가 기 설정된 임계 값 이상인지 여부를 판단함으로써, 추적 실패 여부를 판단하게 된다.
Figure 112013119755602-pat00047
여기서,
Figure 112013119755602-pat00048
는 프레임
Figure 112013119755602-pat00049
에서 추출된 코너점의 총 개수를 의미하는 것으로,
Figure 112013119755602-pat00050
가 기 설정된 임계 값
Figure 112013119755602-pat00051
보다 작거나
Figure 112013119755602-pat00052
을 특정 비율로 나눈 값보다 작은 경우 각각 추적 점이 너무 작거나 매우 빠르게 감소했다는 의미이므로 추적 실패한 것으로 결정하게 된다.
이후, 추적 실패한 것으로 결정되면, 본 발명의 객체 추적 장치(100)의 객체 추적부(30)는 파티클 필터(Particle filter)를 이용하여 객체를 추적하게 된다(S400). 파티클 필터를 이용한 객체 추적 시 서브 윈도우 내에서 추적이 이뤄지게 되며, 서브 윈도우는 추적 과정에서 얼굴 검출 위치에 따라 조정될 수 있다.
본 발명의 실시 예에서는 서브 윈도우는 다음과 같은 수학식에 따라 결정될 수 있다.
Figure 112013119755602-pat00053
즉,
Figure 112013119755602-pat00054
좌표를 기반으로 너비
Figure 112013119755602-pat00055
와 폭
Figure 112013119755602-pat00056
에 의해 결정되는
Figure 112013119755602-pat00057
와, 파티클 계수
Figure 112013119755602-pat00058
로 결정되며, 파티클 계수는 다음과 같이 산출될 수 있다.
Figure 112013119755602-pat00059
즉, 파티클 계수는 확률 분포 이미지를 대상으로 너비
Figure 112013119755602-pat00060
와 폭
Figure 112013119755602-pat00061
에 따라 계산될 수 있다. 특히, 컬러 확률 분포 이미지의 적분 이미지를 통해 보다 빠르게 생성될 수 있다.
이후, 서브 윈도우의 평균 위치를 산출하여 해당 위치를 추적된 객체의 위치로 인식하게 된다. 평균 위치는 다음에 따라 산출될 수 있다.
Figure 112013119755602-pat00062
상기 수학식은 특정 객체, 예컨대 얼굴 영역의 평균 위치를 의미하는 것으로,
Figure 112013119755602-pat00063
Figure 112013119755602-pat00064
의 중점을 의미하게 된다. 이는 도 7을 통해서도 확인할 수 있다. 도 7의 (a)는 파티클 필터를 적용할 경우의 객체 추적을 도시한 것이며, 도 7의 (b)는 캠쉬프트 방식을 적용할 때의 객체 추적을 도시한 것이다
이와 같이, 파티클 필터 적용 시 윈도우 위치의 중앙 값을 객체 위치로 판단하며, 캠쉬프트 방식 적용 시 추적 윈도우가 얼굴 영역으로 이동(shift)됨을 확인할 수 있다.
또한, 파티클 필터 방식에 따라 객체 추적 후 객체 추적의 정확성을 높이기 위해, 추가적으로 캠쉬프트 방식을 병행하여 객체를 추적할 수 있으며, 캠쉬프트 방식에 따라 객체 추적 시 프레임 단위로 스케일링 파라미터를 산출하고, 이를 기초로 객체 추적을 위한 추적 윈도우의 크기는 재조정할 수 있으며, 스케일링 파라미터 산출을 위해 다음과 같은 조정 단계를 추가로 진행할 수 있다.
Figure 112013119755602-pat00065
여기서,
Figure 112013119755602-pat00066
는 스케일 제어 변수로, 최초 Oth 모멘트(moment) 순간의
Figure 112013119755602-pat00067
에 대하여 256으로 나눈 값을 기초로 스케일링 파라미터를 조정할 수 있다.
이후, 다음 프레임의 영상 데이터가 더 이상 존재하지 않을 때까지 전술한 과정을 반복하게 되며, 객체 추적 과정을 수행하게 된다. 아울러, S600 단계에서 다음 프레임의 영상 데이터가 존재할 경우, S130 단계로 이동하며, 이전 프레임의 객체 추적 결과를 기초로 현재 프레임의 추적 윈도우의 크기 및 위치를 조정하는 과정을 수행할 수 있다.
이상으로 본 발명의 실시 예에 따른 객체 추적 방법에 대해 설명하였다.
본 발명의 실시 예에 따른 객체 추적 방법에 의하면, 객체 움직임이 적을 경우의 객체 추적이 용이한 광흐름(optical flow) 방식 및 캠쉬프트(CAMshift) 방식을 병행하여 객체 추적 시, 객체의 급격한 움직임 등이 발생되어 객체 추적에 실패하게 되면, 객체 움직임이 많을 경우의 객체 추적이 용이한 파티클 필터(Particle filter) 방식에 따라 객체를 추적함으로써, 적은 연산량으로도 보다 정확하게 객체를 추적할 수 있다는 효과가 있다.
또한, 본 발명은 영상 내 객체의 움직임에 따라 자원 소모가 많은 객체 추적 방식과 그렇지 않은 객체 추적 방식을 병행하여 적용함으로써, 하드웨어 리소스를 보다 효율적으로 활용할 수 있다는 장점이 있으며, 스마트폰과 같은 한정된 자원을 사용하는 휴대 단말로의 적용이 보다 용이하다는 우수한 효과가 있다.
이는 실험 결과를 통해서도 확인할 수 있다. 즉, 하기의 <표 1> 그리고, 도 8 및 도 9에 도시된 바와 같이 기존의 객체 추적 방법에 비해 에러 검출 및 정확도가 향상된 것을 확인할 수 있다.
<표 1>, 도 8 및 도 9에 도시된 바와 같이, 본 발명의 실시 예에 따른 시험 결과를 비교하기 위해, 널리 알려진 다른 객체 추적 방법, 예컨대 L1, TMD, SCM(Sparsity based Collaborative Model)와 함께 비교하였으며, 도 9의 501은 L1 방법, 502는 TMD 방법, 503은 SCM 방법을 통해 추적된 결과이며, 504는 본 발명의 실시 예에 따른 객체 추적 방법을 적용한 결과이다.
L1 tracker TMD tracker SCM tracker 본 발명
yawpitch 84.44 14.72 13.39 10.90
fast movement 192.49 42.34 182.70 12.06
david 55.62 10.63 36.00 4.25
이와 같이, 본 발명의 실시 예에 따른 객체 추적 방법은 yawpitch, fast movement, david 등과 같은 다양한 상황에서, 종래의 객체 추적 방법보다 보다 정확하게 객체 추적이 가능하다는 장점이 있다.
상술한 바와 같은 본 발명의 실시 예에 따른 객체 추적 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 이때, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 객체 추적 방법 및 이를 이용한 객체 추적 장치에 관한 것으로서, 더욱 상세하게는 영상 데이터의 객체 움직임에 따라, 자원 소모가 많은 객체 추적 방식과 그렇지 않은 객체 추적 방식을 유기적으로 적용함으로써, 적은 연산량으로도 보다 정확하게 객체를 추적할 수 있는 객체 추적 방법 및 이를 이용한 객체 추적 장치에 관한 것이다.
본 발명에 의하면, 영상 내 객체의 움직임에 따라 자원 소모가 많은 객체 추적 방식과 그렇지 않은 객체 추적 방식을 병행하여 적용함으로써, 하드웨어 리소스를 보다 효율적으로 활용할 수 있다는 장점이 있으며, 스마트폰과 같은 한정된 자원을 사용하는 휴대 단말로의 적용이 보다 용이하다는 우수한 효과가 있다.
이를 통해, 본 발명은 객체 추적 방법을 적용하는 동작 인식, 보안 시스템 산업 분야 등의 발전에 이바지할 수 있으며, 또한, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
10: 영상 입력부 20: 전처리부
21: 특징점 추출 모듈 22: 히스토그램 산출 모듈
23: 역투영 이미지 생성 모듈 30: 객체 추적부
31: 제1 객체 추적 모듈 32: 제2 객체 추적 모듈
33: 제3 객체 추적 모듈 40: 결과 출력부
100: 객체 추적 장치

Claims (14)

  1. 객체 추적 장치가,
    연속적인 두 개 이상의 프레임으로 구성되는 영상 데이터에서 연속적인 흐름에 따른 변화를 추적하여 객체를 추적하는 제1 객체 추적 방식에 따라 객체를 추적하는 단계;
    상기 제1 객체 추적 방식에 따라 객체 추적 시 객체 추적 실패 여부를 판단하는 판단 단계; 및
    객체 추적에 실패한 것으로 판단되면, 파티클 필터링 방식으로 객체를 추적하는 제2 객체 추적 방식에 따라 객체를 추적하고, 그렇지 않을 경우, 추적 윈도우의 중심점을 이동시켜 객체를 추적하는 제3 객체 추적 방식에 따라 객체를 추적하는 단계;
    를 포함하는 것을 특징으로 하는 객체 추적 방법.
  2. 제1 항에 있어서,
    상기 제1 객체 추적 방식에 따라 객체를 추적하는 단계 이전에,
    상기 영상 데이터의 현재 프레임에 추적하고자 하는 객체를 검출하는 단계; 및
    상기 검출된 객체에 대한 추적 윈도우를 설정하는 단계;
    를 더 포함하는 것을 특징으로 하는 객체 추적 방법.
  3. 제1 항에 있어서,
    상기 제1 객체 추적 방식에 따라 객체를 추적하는 단계는
    상기 영상 데이터에서 하나 이상의 코너점(corner point)을 특징점으로 추출하는 단계; 및
    상기 추출된 특징점의 방향성 벡터를 산출하고, 산출된 벡터에 따라 객체를 추적하는 단계;
    를 포함하는 것을 특징으로 하는 객체 추적 방법.
  4. 제1 항에 있어서,
    상기 제1 객체 추적 방식에 따라 객체를 추적하는 단계는
    상기 영상 데이터의 현재 프레임에서 추출된 특징점이 이전 프레임에 비해 어느 정도 비율의 평균 거리를 갖는 지에 대한 스케일링 파라미터를 산출하는 단계; 및
    상기 산출된 스케일링 파라미터에 따라 상기 현재 프레임의 추적 윈도우를 조정하는 단계;
    를 포함하는 것을 특징으로 하는 객체 추적 방법.
  5. 제1 항에 있어서,
    상기 제1 객체 추적 방식에 따라 객체를 추적하는 단계는
    상기 영상 데이터의 각 프레임별로 추적된 특징점의 채널별 가중치를 산출하는 단계; 및
    상기 산출된 채널별 가중치가 기 설정된 임계 값 이상인 경우, 추적에서 제외하는 단계;
    를 포함하는 것을 특징으로 하는 객체 추적 방법.
  6. 제1 항에 있어서,
    상기 객체 추적 실패 여부를 판단하는 단계는
    현재 프레임에서 추출된 특징점의 총 개수가 기 설정된 임계 값보다 작거나, 이전 프레임에서 추출된 특징점의 총 개수를 기 설정된 값으로 나눈 값보다 작을 경우 객체 추적에 실패한 것으로 판단하는 것을 특징으로 하는 객체 추적 방법.
  7. 제1 항에 있어서,
    상기 객체 추적 실패 여부를 판단하는 단계는
    상기 영상 데이터의 현재 프레임의 제1 특징점과, 상기 제1 특징점을 후방 추적한 이전 프레임의 제2 특징점과의 거리가 기 설정된 임계 값 이상인 경우, 객체 추적에 실패한 것으로 판단하는 것을 특징으로 하는 객체 추적 방법.
  8. 제1 항에 있어서,
    상기 제2 객체 추적 방식에 따라 객체를 추적하거나 제3 객체 추적 방식에 따라 객체를 추적하는 단계 이전에,
    상기 영상 데이터를 색상 채널에 대한 히스토그램을 분석하는 단계; 및
    분석된 상기 히스토그램을 기반으로 역투영(back projection) 이미지를 생성하는 단계;
    를 더 포함하는 것을 특징으로 하는 객체 추적 방법.
  9. 제8 항에 있어서,
    상기 제2 객체 추적 방식에 따라 객체를 추적하거나 제3 객체 추적 방식에 따라 객체를 추적하는 단계는
    객체 추적에 실패하지 않은 것으로 판단되면, 상기 제3 객체 추적 방식에 따라 생성된 상기 역투영 이미지를 이용하여 추적 윈도우의 중심점을 이동시켜 객체를 추적하는 단계;
    를 포함하는 것을 특징으로 하는 객체 추적 방법.
  10. 제8 항에 있어서,
    상기 제2 객체 추적 방식에 따라 객체를 추적하거나 제3 객체 추적 방식에 따라 객체를 추적하는 단계는
    객체 추적에 실패한 것으로 판단되면, 상기 제2 객체 추적 방식에 따라 생성된 상기 역투영 이미지를 대상으로 파티클 계수를 산출하는 단계; 및
    상기 산출된 파티클 계수에 따라 서브 윈도우의 평균 위치를 산출하여 객체를 추적하는 단계;
    를 포함하는 것을 특징으로 하는 객체 추적 방법.
  11. 제1 항에 있어서,
    상기 제1 객체 추적 방식은 광흐름(optical flow) 방식이며, 상기 제2 객체 추적 방식은 파티클 필터(particle filter) 방식이며, 상기 제3 객체 추적 방식은 캠쉬프트(CAM Shift) 방식인 것을 특징으로 하는 객체 추적 방법.
  12. 연속적인 두 개 이상의 프레임으로 구성되는 영상 데이터를 입력받는 영상 입력부; 및
    상기 영상 입력부를 통해 입력되는 영상 데이터에서 연속적인 흐름에 따른 변화를 추적하여 객체를 추적하는 제1 객체 추적 방식에 따라 객체 추적 시 객체 추적 실패 여부를 판단하여, 객체 추적에 실패한 것으로 판단되면, 파티클 필터링 방식으로 객체를 추적하는 제2 객체 추적 방식에 따라 객체를 추적하고, 그렇지 않을 경우, 추적 윈도우의 중심점을 이동시켜 객체를 추적하는 제3 객체 추적 방식에 따라 객체를 추적하는 객체 추적부;
    를 포함하는 것을 특징으로 하는 객체 추적 장치.
  13. 제12 항에 있어서,
    상기 입력된 영상 데이터를 기초로 객체 추적을 위한 전처리 과정을 수행하는 전처리부;
    를 더 포함하는 것을 특징으로 하는 객체 추적 장치.
  14. 제1 항 또는 제11 항 중 어느 한 항에 기재된 객체 추적 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
KR1020130165636A 2013-12-27 2013-12-27 객체 추적 방법 및 이를 이용한 객체 추적 장치 KR101517359B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130165636A KR101517359B1 (ko) 2013-12-27 2013-12-27 객체 추적 방법 및 이를 이용한 객체 추적 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130165636A KR101517359B1 (ko) 2013-12-27 2013-12-27 객체 추적 방법 및 이를 이용한 객체 추적 장치

Publications (1)

Publication Number Publication Date
KR101517359B1 true KR101517359B1 (ko) 2015-06-05

Family

ID=53500039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130165636A KR101517359B1 (ko) 2013-12-27 2013-12-27 객체 추적 방법 및 이를 이용한 객체 추적 장치

Country Status (1)

Country Link
KR (1) KR101517359B1 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017078383A1 (ko) * 2015-11-04 2017-05-11 주식회사 핑거플러스 다중 사용자의 영상 콘텐츠 내 상품 좌표 추적 데이터에 대한 실시간 통합 데이터 매핑 장치 및 방법
KR101772066B1 (ko) * 2017-04-14 2017-09-12 (주)핑거플러스 다중 사용자의 영상 콘텐츠 내 상품 좌표 추적 데이터에 대한 실시간 통합 데이터 매핑 장치 및 방법
KR20180009180A (ko) * 2016-07-18 2018-01-26 단국대학교 천안캠퍼스 산학협력단 모바일 환경 객체 신뢰도 평가와 학습을 통한 융합 객체 추적 시스템 및 방법
KR20180109341A (ko) * 2017-03-27 2018-10-08 삼성전자주식회사 이미지 내의 오브젝트를 트래킹하기 위한 방법 및 그 전자 장치
KR101991307B1 (ko) * 2019-04-04 2019-06-20 인천대학교 산학협력단 다중 객체 추적을 위한 트랙렛의 특징 벡터 할당이 가능한 전자 장치 및 그 동작 방법
KR101972918B1 (ko) * 2018-12-20 2019-08-20 주식회사 로민 영상 마스킹 장치 및 영상 마스킹 방법
US10534366B2 (en) 2016-12-23 2020-01-14 Korea Institute Of Science And Technology Moving and searching method of mobile robot for following human
US10621734B2 (en) 2017-06-29 2020-04-14 Sogang University Research Foundation Method and system of tracking an object based on multiple histograms
KR20200077370A (ko) * 2019-04-22 2020-06-30 주식회사 로민 영상 마스킹 장치 및 영상 마스킹 방법
CN113792633A (zh) * 2021-09-06 2021-12-14 北京工商大学 一种基于神经网络和光流法的人脸追踪系统和追踪方法
KR102669216B1 (ko) 2023-09-15 2024-05-24 주식회사 파이미디어랩 Ai알고리즘을 이용한 작업자의 위치 측위 시스템

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Kalal, Zdenek, Jiri Matas, and Krystian Mikolajczyk. "Online learning of robust object detectors during unstable tracking." Computer Vision Workshops (ICCV Workshops), 2009 IEEE 12th International Con *
Liu, Baiyang, et al. "Robust and fast collaborative tracking with two stage sparse optimization." Computer Vision-ECCV 2010. Springer Berlin Heidelberg, 2010. 624-637. *
Shan, Caifeng, Tieniu Tan, and Yucheng Wei. "Real-time hand tracking using a mean shift embedded particle filter." Pattern Recognition 40.7 (2007): 1958-1970. *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017078383A1 (ko) * 2015-11-04 2017-05-11 주식회사 핑거플러스 다중 사용자의 영상 콘텐츠 내 상품 좌표 추적 데이터에 대한 실시간 통합 데이터 매핑 장치 및 방법
US10531162B2 (en) 2015-11-04 2020-01-07 Cj Enm Co., Ltd. Real-time integrated data mapping device and method for product coordinates tracking data in image content of multi-users
KR101917354B1 (ko) * 2016-07-18 2018-11-09 단국대학교 천안캠퍼스 산학협력단 모바일 환경 객체 신뢰도 평가와 학습을 통한 융합 객체 추적 시스템 및 방법
KR20180009180A (ko) * 2016-07-18 2018-01-26 단국대학교 천안캠퍼스 산학협력단 모바일 환경 객체 신뢰도 평가와 학습을 통한 융합 객체 추적 시스템 및 방법
US10534366B2 (en) 2016-12-23 2020-01-14 Korea Institute Of Science And Technology Moving and searching method of mobile robot for following human
KR20180109341A (ko) * 2017-03-27 2018-10-08 삼성전자주식회사 이미지 내의 오브젝트를 트래킹하기 위한 방법 및 그 전자 장치
KR102391490B1 (ko) * 2017-03-27 2022-04-28 삼성전자주식회사 이미지 내의 오브젝트를 트래킹하기 위한 방법 및 그 전자 장치
KR101772066B1 (ko) * 2017-04-14 2017-09-12 (주)핑거플러스 다중 사용자의 영상 콘텐츠 내 상품 좌표 추적 데이터에 대한 실시간 통합 데이터 매핑 장치 및 방법
US10621734B2 (en) 2017-06-29 2020-04-14 Sogang University Research Foundation Method and system of tracking an object based on multiple histograms
KR101972918B1 (ko) * 2018-12-20 2019-08-20 주식회사 로민 영상 마스킹 장치 및 영상 마스킹 방법
WO2020130309A1 (ko) * 2018-12-20 2020-06-25 주식회사 로민 영상 마스킹 장치 및 영상 마스킹 방법
KR101991307B1 (ko) * 2019-04-04 2019-06-20 인천대학교 산학협력단 다중 객체 추적을 위한 트랙렛의 특징 벡터 할당이 가능한 전자 장치 및 그 동작 방법
KR20200077370A (ko) * 2019-04-22 2020-06-30 주식회사 로민 영상 마스킹 장치 및 영상 마스킹 방법
KR102167730B1 (ko) * 2019-04-22 2020-10-20 주식회사 로민 영상 마스킹 장치 및 영상 마스킹 방법
CN113792633A (zh) * 2021-09-06 2021-12-14 北京工商大学 一种基于神经网络和光流法的人脸追踪系统和追踪方法
CN113792633B (zh) * 2021-09-06 2023-12-22 北京工商大学 一种基于神经网络和光流法的人脸追踪系统和追踪方法
KR102669216B1 (ko) 2023-09-15 2024-05-24 주식회사 파이미디어랩 Ai알고리즘을 이용한 작업자의 위치 측위 시스템

Similar Documents

Publication Publication Date Title
KR101517359B1 (ko) 객체 추적 방법 및 이를 이용한 객체 추적 장치
US11423695B2 (en) Face location tracking method, apparatus, and electronic device
US7751589B2 (en) Three-dimensional road map estimation from video sequences by tracking pedestrians
EP3036901B1 (en) Method, apparatus and computer program product for object detection and segmentation
US8903127B2 (en) Egomotion estimation system and method
CN113286194A (zh) 视频处理方法、装置、电子设备及可读存储介质
Nonaka et al. Evaluation report of integrated background modeling based on spatio-temporal features
CN111062263B (zh) 手部姿态估计的方法、设备、计算机设备和存储介质
US20140348380A1 (en) Method and appratus for tracking objects
US8805059B2 (en) Method, system and computer program product for segmenting an image
CN111753882B (zh) 图像识别网络的训练方法和装置、电子设备
KR20130082216A (ko) 손 추적 장치 및 방법
US20230154032A1 (en) Camera localization
US11587240B2 (en) Moving body detecting device, moving body detecting method, and moving body detecting program
Krinidis et al. A robust and real-time multi-space occupancy extraction system exploiting privacy-preserving sensors
KR20110021500A (ko) 이동객체의 실시간 추적과 거리 측정 방법 및 그 장치
US20230013877A1 (en) Method of determining visual interference using a weighted combination of cis and dvs measurement
US9489741B2 (en) Method, apparatus and computer program product for disparity estimation of foreground objects in images
US20140314273A1 (en) Method, Apparatus and Computer Program Product for Object Detection
CN104680122B (zh) 一种基于肤色检测的跟踪方法及装置
CN104680551B (zh) 一种基于肤色检测的跟踪方法及装置
US11341771B2 (en) Object identification electronic device
Bahadori et al. Real-time people localization and tracking through fixed stereo vision
CN113870305A (zh) 目标跟踪方法、装置、电子设备、计算机可读存储介质
Gurrala et al. Enhancing Safety and Security: Face Tracking and Detection in Dehazed Video Frames Using KLT and Viola-Jones Algorithms.

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180405

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190318

Year of fee payment: 5