KR20140043023A - 비디오에서 이동 물체들을 추적하기 위해 핑거프린트들을 이용하기 위한 방법 및 시스템 - Google Patents

비디오에서 이동 물체들을 추적하기 위해 핑거프린트들을 이용하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20140043023A
KR20140043023A KR1020130095201A KR20130095201A KR20140043023A KR 20140043023 A KR20140043023 A KR 20140043023A KR 1020130095201 A KR1020130095201 A KR 1020130095201A KR 20130095201 A KR20130095201 A KR 20130095201A KR 20140043023 A KR20140043023 A KR 20140043023A
Authority
KR
South Korea
Prior art keywords
segments
image
master
segment
motion
Prior art date
Application number
KR1020130095201A
Other languages
English (en)
Other versions
KR102069390B1 (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 더 보잉 컴파니
Publication of KR20140043023A publication Critical patent/KR20140043023A/ko
Application granted granted Critical
Publication of KR102069390B1 publication Critical patent/KR102069390B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10048Infrared image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10132Ultrasound image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/758Involving statistics of pixels or of feature values, e.g. histogram matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Studio Devices (AREA)

Abstract

이미지들의 시퀀스(110)에서 이동 물체들(155)을 추적하기 위한 방법 및 시스템. 하나의 예시적인 실시 예에서, 이미지들의 시퀀스(110)에서의 현재 이미지(128)는 복수의 세그먼트들(138)로 분할된다. 동일한 모션 프로파일에 속하는 복수의 세그먼트들(138)에서의 세그먼트들은 마스터 세그먼트들의 세트(142)를 형성하기 위해 함께 합쳐진다. 마스터 세그먼트들의 세트(142)로부터 타겟 세그먼트들의 세트(154)가 식별된다. 타겟 세그먼트들의 세트(154)는 현재 이미지(128)에서의 이동 물체들의 세트(155)를 나타낸다. 이미지들의 시퀀스(110)에서의 다수의 후속 이미지들(162)에서 이동 물체들의 세트(155)를 추적하는 데 사용하기 위해 핑거프린트들의 세트(156)가 생성된다.

Description

비디오에서 이동 물체들을 추적하기 위해 핑거프린트들을 이용하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR USING FINGERPRINTS TO TRACK MOVING OBJECTS IN VIDEO}
본 발명은 일반적으로 이미지 처리에 관한 것이며, 구체적으로는 이미지들에서 이동 물체들을 검출 및 추적하는 것에 관한 것이다. 더욱 구체적으로, 본 발명은 이동 물체들에 대한 핑거프린트들을 생성함으로써 이미지들에서 이동 물체들을 검출 및 추적하기 위한 시스템 및 방법에 관한 것이다.
본 출원은 동일한 출원인에게 할당된 이하의 특허출원: 발명의 명칭이 "Method and System for Processing a Sequence of Images using Fingerprints"인 (미국)출원번호 제13/631,705호, 및 (미국)대리인 문서관리번호 제12-0178-US-NP호에 관한 것이며, 동 출원은 본 문서의 이 부분에서 참조에 의해 통합된다.
비디오와 같은 이미지들의 시퀀스에서 이동 물체들을 검출 및 추적하기 위해 여러 가지 타입들의 기술들이 현재 이용가능하다. 하지만, 이러한 현재 이용가능한 기술들 중의 일부는 원하는 레벨의 정확도를 가지고 이동 물체를 검출 및/또는 추적할 수 없을 수 있다. 예를 들어, 몇몇 현재 이용가능한 기술들은 이동 물체가 이미지들의 시퀀스에서의 하나 이상의 이미지에서 부분적으로 가려질(occluded) 때 그 이동 물체를 검출 및/또는 추적할 수 없다.
게다가, 몇몇 현재 이용가능한 기술들은 원하는 레벨의 정확도를 가지고 이동 물체의 윤곽(contour)을 결정할 수 없다. 본 명세서에서 사용될 때, 물체의 윤곽은 물체의 아웃라인(outline) 또는 물체의 형상(shape)일 수 있다. 이러한 아웃라인은 물체의 외부 표면의 아웃라인일 수 있다.
분할(segmentation)은 이미지들에서 물체들의 윤곽들을 결정하기 위해 이용되는 하나의 프로세스(process)의 예이다. 본 명세서에서 사용될 때, "분할(segmentation)"은 하나의 이미지를 복수의 세그먼트들로 나누는 프로세스이다. 각각의 세그먼트(segment)는 유사한 시각적 특성을 공유하는 것으로 식별된 픽셀들의 그룹을 포함한다. 이러한 시각적 특성은, 예를 들어 제한 없이, 색채(color), 질감(texture), 강도(intensity), 또는 임의의 다른 타입의 특성일 수 있다. 이러한 방식으로, 서로 인접한 세그먼트들은 임의의 선택된 문턱값(threshold)을 넘는 특정 시각적 특성에 대해서 상이하다.
분할은 분할된 이미지(segmented image)가 원본 이미지(original image)에 비해 분석하기 더 쉽도록 이미지의 표현을 단순화 및/또는 변경하기 위해 이용될 수 있다. 예를 들어, 이미지가 분할된 이미지를 형성하도록 분할되면, 분할된 이미지 내의 특징들은 원본 이미지에 비해 더 쉽게 식별가능할(discernible) 수 있다. 특히, 원본 이미지 내에서 캡쳐된(captured) 물체들 및/또는 특징들의 윤곽들은 분할된 이미지 내에서 더 쉽게 식별가능할 수 있다.
하지만, 몇몇 현재 이용가능한 기술들은 원하는 만큼 정확하게 하나의 이동 물체의 윤곽을 정의하는 방식으로 이미지들을 분할할 수 없다. 예를 들어, 이미지가 분할된 이미지를 형성하기 위해 색채를 기초로 하여 분할되면, 둘 이상의 색채를 가지는 이미지에서 캡쳐된 물체는 분할된 이미지 내에서 복수의 세그먼트들에 의해 표현될 수 있다.
그 결과, 분할된 이미지 내의 물체의 윤곽은 원하는 만큼 쉽게 식별가능하지 않을 수 있다. 게다가, 이러한 타입들의 세그먼트들에 의해서 표현되는 특징들에 대한 추출 정보는 원하는 것보다 덜 정확한 정보를 낳을 수 있다. 그러므로, 상술한 문제점들 중의 적어도 일부 및 다른 가능한 문제점들을 고려하는 방법 및 장치를 가지는 것이 바람직할 것이다.
상술한 문제점들을 해결하기 위하여, 본 발명은 비디오에서 이동 물체들을 추적하기 위해 핑거프린트들을 이용하기 위한 방법 및 시스템을 제공하는 것을 목적으로 한다.
하나의 예시적인 실시 예에서, 이미지 처리 시스템은 이미지 분할기, 일관성 검사기, 및 핑거프린터를 포함한다. 이미지 분할기는 분할된 이미지를 형성하기 위해 이미지들의 시퀀스에서의 현재 이미지를 복수의 세그먼트들로 분할하도록(segment) 구성되고, 마스터 세그먼트들의 세트를 형성하기 위해 동일한 모션 프로파일에 속하는 복수의 세그먼트들에서의 세그먼트들을 함께 합치도록(fuse) 구성된다. 일관성 검사기는 마스터 세그먼트들의 세트로부터 타겟 세그먼트들의 세트를 식별하도록(identify) 구성된다. 타겟 세그먼트들의 세트는 현재 이미지에서의 이동 물체들의 세트를 나타낸다. 핑거프린터는 이미지들의 시퀀스에서 다수의 후속 이미지들에서의 이동 물체들의 세트를 추적하는 데 사용하기 위해 핑거프린트들의 세트를 생성하도록 구성된다.
다른 예시적인 실시 예에서, 이미지들의 시퀀스에서 이동 물체들을 추적하기 위해 컴퓨터로 구현되는 방법이 제공된다. 이미지들의 시퀀스에서의 현재 이미지는 복수의 세그먼트들로 분할된다. 동일한 모션 프로파일에 속하는 복수의 세그먼트들에서의 세그먼트들은 마스터 세그먼트들의 세트를 형성하기 위해 함께 합쳐진다. 타겟 세그먼트들의 세트는 마스터 세그먼트들의 세트로부터 식별된다. 타겟 세그먼트들의 세트는 현재 이미지에서의 이동 물체들의 세트를 나타낸다. 핑거프린트들의 세트는 이미지들의 시퀀스에서 다수의 후속 이미지들에서의 이동 물체들의 세트를 추적하는 데 이용하기 위해 생성된다.
또 다른 예시적인 실시 예에서, 이미지들의 시퀀스에서 이동 물체들을 추적하기 위해 컴퓨터로 구현되는 방법이 제공된다. 로컬 모션 및 글로벌 모션이 현재 이미지에서 식별된다. 글로벌 모션은 모션 이미지를 형성하기 위해 로컬 모션으로부터 차감된다. 모션 이미지는 모션 프로파일들의 세트를 포함한다. 이미지들의 시퀀스에서의 현재 이미지는 분할된 이미지를 형성하기 위해 복수의 세그먼트들로 분할된다. 동일한 모션 프로파일에 속하는 복수의 세그먼트들에서의 세그먼트들은 마스터 세그먼트들의 세트를 갖는 마스터 이미지를 형성하기 위해 함께 합쳐진다. 타겟 세그먼트들의 세트는 타겟 이미지를 형성하기 위해 마스터 세그먼트들의 세트로부터 식별된다. 타겟 세그먼트들의 세트는 현재 이미지에서의 이동 물체들의 세트를 나타낸다. 핑거프린트들의 세트는 이미지들의 시퀀스에서 다수의 후속 이미지들에서의 이동 물체들의 세트를 추적하는 데 사용하기 위해 생성된다.
특징들 및 기능들은 본 발명의 다양한 실시 예들에서 독립적으로 달성될 수 있으며, 또는 또 다른 실시 예들에서 조합될 수 있으며, 추가적인 세부사항들이 이하의 설명 및 도면을 참조하여 이해될 수 있다.
도 1은 예시적인 실시 예가 구현될 수 있는 이미지 처리 환경의 블록도 형태의 도면이다;
도 2는 예시적인 실시 예에 따른 핑거프린터의 블록도 형태의 도면이다;
도 3은 예시적인 실시 예에 따른 이미지의 도면이다;
도 4는 예시적인 실시 예에 따른 모션 이미지의 도면이다;
도 5는 예시적인 실시 예에 따른 모션 이미지의 일부의 확대도의 도면이다;
도 6은 예시적인 실시 예에 따른 분할될 이미지의 도면이다;
도 7은 예시적인 실시 예에 따른 분할될 이미지의 일부의 도면이다;
도 8은 예시적인 실시 예에 따른 이동 세그먼트 이미지의 도면이다;
도 9는 예시적인 실시 예에 따른 마스터 이미지의 도면이다;
도 10은 예시적인 실시 예에 따른 마스터 이미지의 일부의 확대도의 도면이다;
도 11은 예시적인 실시 예에 따른 이미지의 도면이다;
도 12는 예시적인 실시 예에 따른 마스터 이미지의 도면이다;
도 13은 예시적인 실시 예에 따른 이미지 처리를 수행하기 위한 프로세스의 흐름도 형태의 도면이다;
도 14는 예시적인 실시 예에 따른 마스터 세그먼트들의 세트로부터 타겟 세그먼트들의 세트를 수립하기 위한 프로세스의 흐름도 형태의 도면이다;
도 15는 예시적인 실시 예에 따른 핑거프린트를 생성하기 위한 프로세스의 흐름도 형태의 도면이다;
도 16은 예시적인 실시 예에 따른 마스터 세그먼트들의 세트를 형성하기 위한 프로세스의 흐름도 형태의 도면이다; 그리고
도 17은 예시적인 실시 예에 따른 데이터 처리 시스템의 도면이다.
예시적인 실시 예들의 특성이라고 믿어지는 신규한 특징들이 첨부된 청구항들에서 제시된다. 하지만, 예시적인 실시 예들뿐 아니라 바람직한 사용 모드, 추가적 목적들 및 이점들은 본 발명의 예시적인 실시 예의 이하의 상세한 설명을 참조하여 첨부 도면들과 결합하여 읽을 때 가장 잘 이해될 것이다.
상이한 예시적인 실시 예들은 상이한 고려사항들을 인식하고 고려한다. 예를 들어, 상이한 예시적인 실시 예들은 물체들 특히 이동 물체들을 검출 및 추적하기 위한 몇몇 현재 이용가능한 시스템들 및 방법들이 원하는 만큼 잘 수행할 수 없다는 것을 인식하고 고려한다.
특히, 비디오에서 물체들을 검출 및 추적하기 위한 몇몇 현재 이용가능한 방법들은, 비디오를 형성하는 이미지들 중의 하나 이상에서 적어도 부분적으로 가려지는 물체들을 원하는 레벨의 정확도를 가지고 추적하지 못할 수 있다. 게다가, 이러한 현재 이용가능한 방법들은 비디오 동안 일부 시간 기간에 대해 비디오 카메라 시스템의 시야(field of view)로부터 일시적으로 벗어나는 물체들을 추적할 수 없다. 게다가, 물체들을 추적하기 위한 몇몇 현재 이용가능한 방법들은 찾아서 수색하려는 물체들이 어떤 타입인지에 대한 명령어들을 요할 수 있다. 예를 들어, 이 방법들은 검출 및 추적하려는 물체가 어떤 타입인지 알지 못하면 물체들 및 특히 이동 물체들을 추적하지 못할 수 있다.
그래서, 상이한 예시적인 실시 예들은 이미지들의 전체 시퀀스에 대해 이동 물체를 검출하고 추적하는 데 이용하기 위해 이미지들의 시퀀스에서의 이미지에서 검출된 이동 물체의 핑거프린트를 생성하기 위한 시스템 및 방법을 제공한다. 특히, 이동 물체가 이미지의 시야에서 부분적으로 가려지거나 더 이상 존재하지 않는 경우에도 핑거프린트는 이미지들의 시퀀스에서의 이미지에서 이동 물체를 검출 및 추적하기 위해 이용될 수 있다.
이제 도면들을 참조하면, 특히 도 1을 참조하면, 블록도 형태의 이미지 처리 환경의 도면이 예시적인 실시 예에 따라서 도시된다. 도 1에서, 이미지 처리 환경(image processing environment, 100)은 이미징 시스템(imaging system, 102) 및 이미지 처리 시스템(image processing system, 104)을 포함한다.
이러한 예시적인 예들에서, 이미징 시스템(102)은 장면(scene, 108)에 대한 이미징 데이터(imaging data, 106)를 생성하도록 구성된 임의의 타입의 센서(sensor) 시스템일 수 있다. 이미징 시스템(102)은, 예를 들어 제한 없이, EO(electro-optical: 전자광학) 이미징 시스템, IR(infrared: 적외선) 이미징 시스템, 레이더(radar) 이미징 시스템, 열적(thermal) 이미징 시스템, 초음파 이미징 시스템, LIDAR(light detection and ranging: 광검출 및 레인징) 시스템, 및 몇몇 다른 적절한 타입의 이미징 시스템으로부터 선택될 수 있다. 이러한 방식으로, 이미징 시스템(102)에 의해 생성된 이미징 데이터(106)는 전자광학 이미지들, 적외선 이미지들, 레이더 이미지들, 열적 이미지들, 광검출 및 레인징 이미지들, 또는 몇몇 다른 적절한 타입의 이미지들을 포함할 수 있다. 전자광학 이미지들은 예를 들어 가시광선(visible light) 이미지들일 수 있다.
이러한 예시적인 예들에서, 이미징 데이터(106)는 이미지들의 시퀀스(sequence of images, 110)의 형태를 취할 수 있다. 본 명세서에서 사용될 때, "이미지(image)"는 로우(row) 및 칼럼(column)으로 구성된 픽셀(pixel)들을 포함하는 디지털(digital)적인 2차원 이미지이다. 각각의 픽셀은 그 픽셀에 대한 색채 및/또는 휘도(brightness)를 가지는 값을 가질 수 있다. 게다가, 본 명세서에서 사용될 때, "이미지들의 시퀀스(sequence of images)"는 시간에 대해 연속적인 순서로 생성된 둘 이상의 이미지들이다.
장면(108)에 대해 생성된 이미지들의 시퀀스(110)는 장면(108)의 비디오(112)라고 지칭될 수 있다. 이미지들의 시퀀스(110)가 비디오(112)라고 지칭될 때, 이미지들의 시퀀스(110)에서의 각각의 이미지는 "프레임(frame)"이라고 지칭될 수 있다.
장면(108)은, 예를 들어 제한 없이, 도시(city) 지역, 근린 지역(neighborhood), 바다 위의 지역, 숲 속 지역, 사막 지역, 시내(town) 지역, 지리적(geographical) 지역, 제조 시설 내부 지역, 빌딩의 바닥, 고속도로의 부분, 또는 다른 적절한 타입의 지역과 같이 물리적 지역(physical area)일 수 있다.
이동 물체들(moving objects, 114)이 장면(108) 내에 존재할 수 있다. 본 명세서에서 사용될 때, 이동 물체(116)와 같은 "이동 물체(moving object)"는 이미징 시스템(102)을 위한 시야에 대해 이동하고 있는 임의의 물체일 수 있다. 이동 물체(116)는 장면(108)에서의 이동 물체들(114) 중의 하나의 예이다.
이러한 방식으로, 이동 물체(116)는 장면(108) 안에서 정지해 있지 않는 임의의 물체의 형태를 취할 수 있다. 예를 들어, 이동 물체(116)는 장면(108) 내에서 걷거나 달리는 사람, 비히클(vehicle), 이동하는 구조물(mobile structure), 이동 비히클 상에 위치한 물체, 또는 임의의 다른 적절한 타입의 이동 물체의 형태를 취할 수 있다. 장면(108) 내의 비히클은, 예를 들어 제한 없이, 차, 트럭, 항공기, 밴(van), 탱크, 무인항공기(unmanned aerial vehicle), 우주선, 미사일, 로켓, 또는 임의의 다른 적절한 타입의 비히클의 형태를 취할 수 있다.
몇몇 경우들에서, 이동 물체(116)는 함께 이동하는 둘 이상의 물체들의 조합일 수 있다. 예를 들어, 이동 물체(116)는, 서로 붙어서 동일한 타입의 움직임(motion)을 가지고 함께 이동하는 둘 이상의 물체들을 포함할 수 있다.
게다가, 이동 물체(116)는 이미징 시스템(102)이 겨냥되는 각도(angle) 및/또는 이미징 시스템(102)의 위치가 변할 때 이미징 시스템(102)을 위한 시야에 대해 이동하는 임의의 물체의 형태를 취할 수 있다. 예를 들어, 이동 물체(116)는 이미징 시스템(102)이 이동할 때 이미지들의 시퀀스(110) 내에서 이동하는 것처럼 보이는 정지한 물체(stationary object)일 수 있다.
이미징 시스템(102)은 다수의 통신 링크들(number of communications links, 120)을 이용해서 이미징 데이터(106)를 이미지 처리 시스템(104)으로 보내도록 구성된다. 본 명세서에서 사용될 때, "다수의(number of)" 아이템들은 하나 이상의 아이템(item)을 의미한다. 이러한 방식으로, 다수의 통신 링크들(120)은 하나 이상의 통신 링크들일 수 있다. 다수의 통신 링크들(120)은 예를 들어, 유선 통신 링크, 무선 통신 링크, 광통신 링크, 및 임의의 다른 타입의 통신 링크 중의 적어도 하나를 포함할 수 있다.
본 명세서에서 사용될 때, "~중의 적어도 하나(at least one of)"라는 문구는 아이템들의 목록과 함께 사용되는 경우에 열거된 아이템들 중의 하나 이상의 상이한 조합이 사용될 수도 있고 목록에서의 각각의 아이템 중의 하나만이 필요할 수도 있다는 것을 의미한다. 예를 들어, "아이템 A, 아이템 B, 및 아이템 C 중의 적어도 하나"는, 예를 들어 제한 없이, 아이템 A 또는 아이템 A 및 아이템 B를 포함할 수 있다. 이 예는 또한 아이템 A, 아이템 B, 및 아이템 C, 또는 아이템 B 및 아이템 C를 포함할 수 있다. 다른 예들에서, "~중의 적어도 하나(at least one of)"는, 예를 들어 제한 없이, 두 개의 아이템 A, 하나의 아이템 B, 및 10개의 아이템 C; 네 개의 아이템 B 및 일곱 개의 아이템 C; 또는 임의의 다른 적절한 조합일 수 있다.
이미지 처리 시스템(104)은 하드웨어, 소프트웨어, 또는 이 둘의 조합을 이용해서 구현될 수 있다. 이러한 예시적인 예들에서, 이미지 처리 시스템(104)은 컴퓨터 시스템(122)에서 구현될 수 있다. 컴퓨터 시스템(122)은 다수의 컴퓨터들을 포함할 수 있다. 컴퓨터 시스템(122)에 하나 이상의 컴퓨터가 존재하는 경우에, 이 컴퓨터들은 서로 통신할 수 있다.
이미지 처리 시스템(104)은 이미징 시스템(102)으로부터 수신된 이미징 데이터(106)를 처리하도록 구성된다. 몇몇 예시적인 예들에서, 이미지 처리 시스템(104)은 이미지들이 이미징 시스템(102)에 의해서 생성될 때 하나씩 이미지들의 시퀀스(110)에서 이미지들을 수신할 수 있다. 예를 들어, 이미지 처리 시스템(104)은 이미지들이 생성될 때 실질적으로 실시간으로 이미지들의 시퀀스(110)을 수신할 수 있다. 다른 예시적인 예들에서, 이미지 처리 시스템(104)은 이미지들의 시퀀스(110)가 생성된 후에 특정 시점에서 이미지들의 전체 시퀀스(110)를 수신할 수 있다.
이미지 처리 시스템(104)은 이미지들의 시퀀스(110)에서 이동 물체들의 존재를 검출 및 추적하기 위해서 이미지들의 시퀀스(110)를 처리한다. 도시된 바와 같이, 이미지 처리 시스템(104)은 모션 검출기(motion detector, 124) 및 물체 추적기(object tracker, 126)를 포함한다. 모션 검출기(124)는 이미지들의 시퀀스(110)에서 움직임의 존재를 검출하도록 구성된다. 물체 추적기(126)는 이미지들의 시퀀스(110)에 대해 이동 물체들을 추적하도록 구성된다.
예를 들어, 모션 검출기(124)는 처리를 위해 이미지들의 시퀀스(110)에서 현재 이미지(current image, 128)를 수신한다. 모션 검출기(124)는 현재 이미지(128) 내에서 움직임을 검출하도록 구성된다. 하나의 예시적인 예에서, 모션 검출기(124)는 모션 이미지(motion image, 136)를 형성하기 위해서 현재 이미지(128) 및 이전 이미지(previous image, 134)를 이용한다. 이전 이미지(134)는 현재 이미지(128) 이전의 이미지들의 시퀀스(110)에서의 이미지이며, 현재 이미지(128)와 이전 이미지(134) 사이에 임의의 이미지들이 존재하지 않는다. 게다가, 이전 이미지(134)는 모션 검출기(124)에 의해서 이전에 처리된 이미지이다.
모션 검출기(124)는 현재 이미지(128)에서 로컬 모션(local motion) 및 글로벌 모션(global motion)을 식별하기 위해 현재 이미지(128) 및 이전 이미지(134)를 이용한다. 본 명세서에서 사용될 때, 현재 이미지(128)에서의 "글로벌 모션(global motion)"은 현재 이미지(128)에 대한 전체 움직임일 수 있다. 글로벌 모션은, 예를 들어, 이전 이미지(134)에서의 배경(background) 특징들에 대한 현재 이미지(128)에서의 배경 특징들의 움직임을 포함할 수 있다. 이러한 배경 특징들은, 예를 들어 제한 없이, 나무들, 하늘, 도로들, 관목(bush)들, 화초(greenery), 풀(grass), 빌딩들, 인공 구조물들(manmade structure), 및/또는 다른 타입의 배경 특징들을 포함할 수 있다. 이러한 방식으로, 현재 이미지(128)에서의 글로벌 모션은 이전 이미지(134)에서의 전체 장면(108)에 대한 전체 장면(108)의 움직임이다.
본 명세서에서 사용될 때, "로컬 모션"은 글로벌 모션과 다른 움직임을 포함한다. 로컬 모션은 예를 들어 이전 이미지(134)에 대해 현재 이미지(128)에서의 이동 물체들(114)과 같은 전경(foreground) 특징들의 움직임을 포함할 수 있다. 모션 검출기(124)는 모션 이미지(136)를 형성하기 위해 현재 이미지(128)에서 식별된 로컬 모션으로부터 현재 이미지(128)에서 식별된 글로벌 모션을 차감할(subtract) 수 있다.
이러한 예시적인 예들에서, 모션 이미지(136)는 모션 프로파일들의 세트(set of motion profiles, 135)를 포함할 수 있다. 본 명세서에서 사용될 때, 아이템들의 "세트(set of)"는 0개 이상의 아이템일 수 있다. 다시 말해, 아이템들의 세트는 널(null) 또는 빈(empty) 세트일 수 있다. 이러한 방식으로, 몇몇 경우들에 있어서, 모션 프로파일들의 세트(135)는 한 개, 두 개, 세 개, 다섯 개, 열 개, 또는 임의의 다른 수의 모션 프로파일들을 포함할 수 있다. 다른 경우들에 있어서, 모션 프로파일들의 세트(135)는 빈 세트일 수 있다.
본 명세서에서 사용될 때, "모션 프로파일"은 모션 이미지(136)에서의 로컬 모션을 나타내는 모션 이미지(136)의 일부이다. 예를 들어, 모션 프로파일은 모션 이미지(136)의 배경과는 다른 색채를 갖는 모션 이미지(136)의 일부일 수 있다. 이 색채는 예를 들어 장면(108)에서 이동 물체(116)와 같은 이동 물체를 나타낼 수 있다.
물체 추적기(126)는 처리를 위해 현재 이미지(128) 및 모션 이미지(136)를 수신하도록 구성된다. 도시된 바와 같이, 물체 추적기(126)는 이미지 분할기(image segmenter, 130), 다수의 데이터 구조들(number of data structures, 158), 일관성 검사기(consistency checker, 132), 및 핑거프린터(fingerprinter, 133)를 포함한다.
이미지 분할기(130)는 분할된 이미지(segmented image, 140)를 형성하기 위해 현재 이미지(128)를 복수의 세그먼트들(plurality of segments, 138)로 분할하거나 나누도록 구성된다. 이러한 예시적인 예들에서, 복수의 세그먼트들(138)에서의 각각의 세그먼트는 하나 이상의 픽셀들을 포함한다. 세그먼트에 하나 이상의 픽셀이 존재할 때, 이 픽셀들은 근접해 있는(contiguous) 픽셀들이다. 다시 말해, 세그먼트 내의 각각의 픽셀은 세그먼트 내의 다른 픽셀에 인접하고, 임의의 다른 픽셀이 두 개의 픽셀들 사이에 위치한 세그먼트에 속하지 않는다.
이러한 예시적인 예들에서, 이미지 분할기(130)는 복수의 세그먼트들(138)의 각각의 세그먼트에서의 모든 픽셀들이 유사한 시각적 특성을 공유하도록 현재 이미지(128)를 분할한다(segment). 시각적 특성은, 예를 들어, 색채, 강도값(intensity value), 질감, 또는 임의의 다른 타입의 시각적 특성일 수 있다. 예를 들어, 복수의 세그먼트들(138)의 특정 세그먼트(particular segment)에서의 모든 픽셀들은 선택된 색채를 나타내는 선택된 범위 내의 값을 가질 수 있다.
이미지 분할기(130)는 장면(108)에서의 이동 물체(116)와 같은 이동 물체의 상이한 부분들이 현재 이미지(128)에서 상이한 시각적 특성들을 가질 수 있다는 것을 고려한다. 예를 들어, 이동 물체(116)가 자동차일 때, 자동차의 바디(body)가 현재 이미지(128)에서 하나의 색채로서 보일 수 있고, 한편 자동차의 윈도우(window)가 현재 이미지(128)에서 다른 색채로 보일 수 있다.
그 결과, 이동 물체(116)는 복수의 세그먼트들(138)에서의 복수의 세그먼트들에 의해 분할된 이미지(140)로 표현될 수 있다. 복수의 세그먼트들(138)에서 어느 세그먼트들이 이동 물체(116)를 실제로 나타내는지를 파악하는 것은 용이하게 달성되지 않을 수 있다.
그래서, 이미지 분할기(130)는 모션 이미지(136)를 이용해서 마스터 세그먼트들의 세트(set of master segments, 142)를 형성하기 위해 복수의 세그먼트들(138)에서의 세그먼트들을 함께 그룹핑하도록(group) 구성된다. 특히, 이미지 분할기(130)는 마스터 세그먼트들의 세트(142)를 갖는 마스터 이미지(master image, 143)를 형성하기 위해 동일한 모션 프로파일에 속하는 복수의 세그먼트들(138)에서의 세그먼트들을 함께 합친다(fuse).
더욱 구체적으로, 모션 이미지(136) 내의 모션 프로파일들의 세트(135)에서의 동일한 모션 프로파일에 속하는 복수의 세그먼트들(138)에서의 세그먼트들은 마스터 세그먼트들의 세트(142)에서 마스터 세그먼트를 형성하도록 함께 합쳐진다. 이러한 예시적인 예들에서, 특정 모션 프로파일과 겹치는(overlap) 세그먼트에서의 다수의 픽셀들이 임의의 선택된 문턱값보다 더 큰 경우에, 복수의 세그먼트들(138)에서의 세그먼트는 모션 프로파일들의 세트(135)에서의 특정 모션 프로파일에 "속하는(belonging)" 것으로 고려될 수 있다. 물론, 다른 예시적인 예들에서, 마스터 세그먼트들의 세트(142)를 형성하기 위하여 복수의 세그먼트들(138)에서의 어느 세그먼트들이 함께 합쳐질 수 있을지를 결정하기 위해 다른 기준 및/또는 요소들이 이용될 수 있다.
이러한 예시적인 예들에서, 이미지 분할기(130)는 근접해 있는 세그먼트들만을 함께 합칠 수 있다. 다시 말해, 복수의 세그먼트들(138)에서의 두 개의 세그먼트들은 두 개의 세그먼트들이 서로에 대해 인접한 경우에만 함께 합쳐질 수 있다. 이러한 방식으로, 마스터 세그먼트들의 세트(142)에서의 각각의 마스터 세그먼트는 다수의 근접해 있는 세그먼트들을 포함한다.
몇몇 예시적인 예들에서, 이미지 분할기(130)는 이동 세그먼트 이미지(moving segment image, 145)를 형성하기 위해 모션 이미지(136)를 분할된 이미지(140)와 통합시킨다(integrate). 이동 세그먼트 이미지(145)는, 예를 들어 제한 없이, 모션 이미지(136)를 분할된 이미지(140) 위에 오버레이(overlay)함으로써 생성될 수 있다. 모션 프로파일들의 세트(135)에 의해 겹쳐진(overlapped) 복수의 세그먼트들(138)에서의 세그먼트들의 일부는 "이동 세그먼트들(moving segments)"로서 고려될 수 있다. 각각의 모션 프로파일에 대해, 모션 프로파일에 의해 겹쳐진 이동 세그먼트들은 마스터 세그먼트를 형성하기 위해 함께 합쳐진다. 이러한 방식으로, 마스터 세그먼트들의 세트(142)는 다수의 상이한 방식으로 형성될 수 있다.
그 후에, 이미지 분할기(130)는 마스터 세그먼트들의 세트(142)에 대해 마스터 통계(master statistics, 144)를 생성한다. 하나의 예시적인 예로서, 이미지 분할기(130)는 마스터 세그먼트들의 세트(142)에서의 각각의 마스터 세그먼트에 대한 세그먼트 데이터(segment data, 146)를 식별한다. 특정 마스터 세그먼트에 대한 세그먼트 데이터(146)는, 예를 들어 제한 없이, 크로마 데이터(chroma data), 루마 데이터(luma data), 픽셀 위치 데이터, 엔트로피 데이터, 및/또는 다른 타입의 데이터를 포함할 수 있다.
크로마 데이터는 예를 들어 마스터 세그먼트에서의 각각의 픽셀에 대한 크로마값을 포함할 수 있다. 크로마값은 색채값 또는 채도값(saturation value)일 수 있다. 루마 데이터는 예를 들어 마스터 세그먼트에서의 각각의 픽셀에 대한 루마값을 포함할 수 있다. 루마값은 휘도값일 수 있다. 픽셀 위치 데이터는 예를 들어 마스터 이미지(143)에서의 픽셀들의 로우(row)들 및 칼럼(column)들에 대한 마스터 세그먼트에서의 각각의 픽셀에 대한 위치를 포함할 수 있다. 엔트로피 데이터는 엔트로피 필터(entropy filter)를 이용해서 필터링된(filtered) 크로마 데이터를 포함할 수 있다.
이 예시적인 예에서, 이미지 분할기(130)는 세그먼트 데이터(146)를 수학적 모델(mathematical model, 148)에 피팅(fitting)함으로써 마스터 통계(master statistics, 144)를 생성한다. 몇몇 경우들에서, 수학적 모델(148)은 예를 들어 제한 없이 일반화된 선형 모델(generalized linear model: GLM)과 같은 선형 회기 모델(linear regression model)일 수 있다. 일반화된 선형 모델은 예를 들어 전역 공분산(full covariance)을 가진 가우시안 모델(Gaussian model)일 수 있다.
이미지 분할기(130)는 추가적 처리를 위해 마스터 이미지(143) 및 마스터 통계(144)를 일관성 검사기(132)로 보낸다. 일관성 검사기(132)는 마스터 세그먼트들의 세트(142)에서의 각각의 마스터 세그먼트가 이동 물체를 실제로 나타내는지 여부를 결정하도록 구성된다. 다시 말해, 일관성 검사기(132)는 마스터 세그먼트들의 세트(142)에서의 마스터 세그먼트가 이동 물체 또는 이미지 이형(image anomaly)을 나타내는지 여부를 결정한다.
하나의 예시적인 예에서, 일관성 검사기(132)는 마스터 세그먼트들의 세트(set of master segments, 142)에서의 마스터 세그먼트(master segment, 152)를 이전 이미지(134)에 대해 식별된 이전에 식별된 마스터 세그먼트(previously identified master segment)와 매칭시킬(match) 수 있다. 일관성 검사기(132)는 마스터 세그먼트(152)에 대한 마스터 통계(144)와 이전에 식별된 마스터 세그먼트에 대해 식별된 마스터 통계 간의 차이가 임의의 선택된 문턱값보다 더 큰지 여부를 결정한다.
만일 그 차이가 선택된 문턱값보다 크지 않다면, 마스터 세그먼트(152)가 타겟 세그먼트들의 세트(set of target segments, 154)에 추가된다. 이러한 방식으로, 일관성 검사기(132)는 현재 이미지(128)에 대해 타겟 세그먼트들의 세트(154)를 생성한다. 타겟 세그먼트들의 세트(154)는 마스터 세그먼트들의 세트(142)의 일부 또는 전부를 포함하거나 전혀 포함하지 않을 수 있다.
타겟 세그먼트들의 세트(154)에서의 각각의 타겟 세그먼트는 현재 이미지(128)에서의 이동 물체를 나타낸다. 다시 말해, 타겟 세그먼트들의 세트(154)는 이동 물체들의 세트(set of moving objects, 155)를 나타낸다. 이동 물체들의 세트(155)는 구현에 따라 장면(108)에서 이동 물체들(114)의 일부 또는 전부를 포함하거나 전혀 포함하지 않을 수 있다. 예를 들어, 몇몇 경우들에 있어서, 이동 물체들의 세트(155)는 이동 물체(116)를 포함할 수 있다.
몇몇 예시적인 예들에서, 일관성 검사기(132)는 마스터 세그먼트(152)를 이전에 식별된 마스터 세그먼트와 매칭시키지 못할 수 있다. 이러한 경우들에서, 마스터 세그먼트(152)가 이전에 검출되지 않았던 새로운 이동 물체 또는 이형(anomaly)을 나타내는지 여부를 결정하기 위해서 마스터 세그먼트(152)가 분석될 수 있다. 마스터 세그먼트(152)가 새로운 이동 물체를 나타내는 것으로 식별되는 경우에, 마스터 세그먼트(152)는 타겟 세그먼트들의 세트(154)에 추가된다. 일관성 검사기(132)는 타겟 세그먼트들의 세트(154)를 타겟 이미지(target image, 157)로서 핑거프린터(133)에 전송한다.
핑거프린터(133)는 타겟 이미지(157)를 수신하고, 타겟 이미지(157)에서의 타겟 세그먼트들의 세트(154)에 대해 핑거프린트들의 세트(set of fingerprints, 156)를 식별한다. 본 명세서에서 사용될 때, 타겟 세그먼트에 대한 "핑거프린트(fingerprint)"는 타겟 세그먼트에 의해 표현되는 이동 물체에 대한 고유한 특징들의 디스크립션(description)이다. 핑거프린트들의 세트(156)는 이미지들의 시퀀스(110)의 다수의 후속 이미지들에서 이동 물체들의 세트(155)를 추적하는데 이용하도록 구성된다.
핑거프린터(133)는 다수의 데이터 구조들(158)에 핑거프린트들의 세트(156)를 저장한다. 다수의 데이터 구조들(158)에서의 데이터 구조는, 예를 들어 제한 없이, 테이블, 스프레드시트(spreadsheet), 차트(chart), 데이터베이스, 리포트(report), 연관 메모리(associative memory), 또는 임의의 다른 타입의 데이터 구조의 형태를 취할 수 있다.
하나의 예시적인 예로서, 핑거프린트들의 세트(156)는 이동 물체들의 장래의 검출 및 추적을 위해 다수의 데이터 구조들(158)에서의 핑거프린트 데이터베이스(fingerprint database, 160)에 저장될 수 있다. 핑거프린트 데이터베이스(160)는 이미지들의 시퀀스(110) 내에서 검출 및 추적된 장면(108)에서의 이동 물체들(114)의 일부를 위해 생성된 핑거프린트들을 포함한다.
물체 추적기(126)는 이미지들의 시퀀스(110)에서의 다수의 후속 이미지들(number of subsequent images, 162)에서 이동 물체들의 세트(155)를 추적할 수 있는 가능성을 증가시키기 위해 핑거프린트 데이터베이스(160)에 저장된 핑거프린트들의 세트(156)를 이용할 수 있다. 특히, 이러한 이동 물체들 중의 하나 이상이 부분적으로 또는 완전히 가려지게 된 후에도 또는 이러한 이동 물체들 중의 하나 이상이 이미징 시스템(102)의 시야 밖으로 이동한 경우에도, 핑거프린트들의 세트(156)가 다수의 후속 이미지들(162)에서 이동 물체들의 세트(155)를 추적하기 위해 이용될 수 있다. 다수의 후속 이미지들(162)은 현재 이미지(128) 이후의 이미지들의 시퀀스(110)에서의 이미지들일 수 있다.
이러한 예시적인 예들에서, 핑거프린트들의 세트(156)에서의 각각의 핑거프린트는 경량 핑거프린트이다. 본 명세서에서 사용될 때, "경량 핑거프린트(lightweight fingerprint)"는 공간적(spatial) 및 시간적(temporal) 복잡성의 관점에서 최소화되는 해당 타겟 세그먼트에 의해 표현되는 이동 물체에 대한 특징들의 디스크립션(description)이다. 이러한 방식으로, 핑거프린트들의 세트(156)를 저장하기 위해 필요한 저장 공간의 양이 감소될 수 있다.
몇몇 예시적인 예들에서, 이미지 분할기(130)는 모션 이미지(136)에 추가하여 또는 대신하여 마스터 세그먼트들의 세트(142)를 형성하기 위해 복수의 세그먼트들(138) 중의 어느 것이 함께 합쳐져야 할지를 결정하기 위해 핑거프린트들을 이용할 수 있다. 하나의 예시적인 예에서, 이미지 분할기(130)는 분할된 이미지(140)를 핑거프린터(133)로 보낸다. 핑거프린터(133)는 분할된 이미지(140)에서의 복수의 세그먼트들(138)을 위해 복수의 세그먼트 핑거프린트들(164)을 생성한다. 복수의 세그먼트 핑거프린트들(164)의 각각은 복수의 세그먼트들(138)에서의 해당 세그먼트에 대한 핑거프린트이다.
핑거프린터(133)는 이미지 분할기에서의 이용을 위해 핑거프린트 데이터베이스(160)에서 복수의 세그먼트 핑거프린트들(164)을 저장한다. 이미지 분할기(130)는 핑거프린트 데이터베이스(160)로부터 복수의 세그먼트 핑거프린트들(plurality of segment fingerprints, 164) 및 이전 세그먼트 핑거프린트들의 세트(set of prior segment fingerprint, 166)를 검색하고, 마스터 세그먼트들의 세트(142)를 형성하기 위해 이러한 상이한 핑거프린트들을 이용한다.
이전 세그먼트 핑거프린트들의 세트(166)는 이전 이미지(134)에 대해 식별된 타겟 세그먼트들을 기초로 하여 이전 이미지(134)에 대해 이전에 식별된 핑거프린트들의 세트를 포함할 수 있다. 이 예시적인 예에서, 이미지 분할기(130)는 마스터 세그먼트를 형성하기 위해 이전 세그먼트 핑거프린트들의 세트(166)에서 특정 핑거프린트에 일치하는 복수의 세그먼트 핑거프린트들(164)에서의 근접해 있는 세그먼트 핑거프린트들을 함께 그룹핑한다.
이제 도 2를 참조하면, 블록도 형태의 핑거프린터의 도면이 예시적인 실시 예에 따라서 도시된다. 도 2에서, 도 1의 핑거프린터(133)가 더욱 상세하게 도시된다.
도시된 바와 같이, 핑거프린터(133)는 처리를 위해 타겟 이미지(157)를 수신한다. 핑거프린터(133)는 특징 분석기(feature analyzer, 202) 및 핑거프린트 관리기(fingerprint manager, 204)를 포함한다. 특징 분석기(202)는 핑거프린트들의 세트(156)를 형성하기 위해 타겟 이미지(157)에서 타겟 세그먼트들의 세트(154)에서의 각각의 타겟 세그먼트에 대해 특징 분석(feature analysis, 206)을 수행하도록 구성된다. 이러한 예시적인 예들에서, 특징 분석(206)을 수행하는 것은 타겟 세그먼트들의 세트(154)에서의 각각의 타겟 세그먼트에 대한 특징 데이터(feature data, 208)를 추출하는 것 및 특징 데이터(208)를 다수의 수학적 모델들(number of mathematical models, 210)에 피팅(fitting)하는 것을 포함할 수 있다.
다수의 수학적 모델들(210)은 상이한 타입들의 모델을 포함할 수 있다. 다수의 수학적 모델들(210)에서의 모델은, 예를 들어 제한 없이, 파라메트릭 또는 논파라메트릭일 수 있다. 본 명세서에서 사용될 때, "파라메트릭 모델(parametric model)"은 유한개의 파라미터들을 이용해서 기술될 수 있는 분포(distribution)의 패밀리(family)이다. 대조적으로, 본 명세서에서 사용될 때, "논파라메트릭 모델(non-parametric model)"은 임의의 분포에 속하는 피팅된 데이터에 의존하지 않는다.
게다가, 다수의 수학적 모델들(210)에서의 모델은, 예를 들어 제한 없이, 공간적 자각이 있거나(spatially aware) 공간에 얽매이지 않을(spatially agnostic) 수 있다. 공간적 자각이 있는 모델은 특징들의 위치들, 공간적 방향(spatial orientation), 및/또는 정렬(alignment)을 고려할 수 있다. 하지만, 공간에 얽매이지 않는 모델은 특징들의 위치들, 공간적 방향, 및/또는 정렬을 고려하지 않을 수 있다.
공간적으로 일반화된 선형 모델(spatial generalized linear model, 212) 및 특징만 일반화된 선형 모델(feature-only generalized linear model, 214)은 파라메트릭 모델들(220)의 예들이다. 스페이시오그램(spatiogram, 216) 및 히스토그램(histogram, 218)은 논파라메트릭 모델들(222)의 예들이다. 게다가, 공간적으로 일반화된 선형 모델(212) 및 스페이시오그램(216)은 공간적 자각이 있는 모델들(spatially aware models, 224)의 예들이다. 특징만 일반화된 선형 모델(214) 및 히스토그램(218)은 공간에 얽매이지 않는 모델들(spatially agnostic models, 226)의 예들이다.
타겟 세그먼트들의 세트(154)에서의 각각의 타겟 세그먼트에 대한 특징 데이터(208)는 타겟 세그먼트들의 세트(154)에서의 각각의 타겟 세그먼트에 대해 피팅된 데이터(fitted data, 228)를 형성하기 위하여 하나 이상의 다수의 수학적 모델들(210)에 피팅될 수 있다. 예를 들어, 특징 데이터(208)는 타겟 세그먼트(230)에 대해 피팅된 데이터(228)를 형성하기 위해 타겟 세그먼트들의 세트(154)에서의 타겟 세그먼트(230)에 대한 특징 데이터(208)를 공간적으로 일반화된 선형 모델(212), 특징만 일반화된 선형 모델(214), 스페이시오그램(216), 히스토그램(218), 또는 이들의 임의의 조합에 피팅할 수 있다.
핑거프린터(133)가 도 1에서 도시된 바와 같이 복수의 세그먼트 핑거프린트들(164)을 생성하도록 구성될 때, 특징 데이터(208)는 도 1의 복수의 세그먼트들(138)의 각각에 대해 추출될 수 있고, 상술한 방식과 유사한 방식으로 다수의 수학적 모델들(210)에 피팅될 수 있다. 특히, 복수의 세그먼트들(138)에 대한 특징 데이터(208)는 복수의 세그먼트들(138)에서의 각각의 세그먼트에 대해 피팅된 데이터(228)를 형성하기 위하여 다수의 수학적 모델들(210)에 피팅될 수 있다.
핑거프린트 관리기(204)는 타겟 세그먼트들의 세트(154)에 대해 피팅된 데이터(228)를 수신하고 핑거프린트들의 세트(156)를 생성하도록 구성된다. 타겟 세그먼트들의 세트(154)에서의 각각의 타겟 세그먼트에 대해 피팅된 데이터(228)는 핑거프린트들의 세트(156)에서의 핑거프린트를 형성하기 위해 이용된다. 예를 들어, 타겟 세그먼트(230)에 대해 피팅된 데이터(228)는 핑거프린트(232)를 형성하기 위해 이용된다. 하나의 예시적인 예에서, 타겟 세그먼트(230)는 도 1의 이동 물체(116)를 나타낸다. 그 결과, 핑거프린트(232)는 이동 물체(116)에 대한 핑거프린트이다.
이러한 방식으로, 핑거프린트들의 세트(156)가 도 1의 현재 이미지(128)에 대해 생성된다. 핑거프린트 관리기(204)는 도 1의 이미지들의 시퀀스(110)에서의 다수의 후속 이미지들(162)를 처리하는 데 이용하기 위해 다수의 데이터 구조들(158)에 핑거프린트들의 세트(156)를 저장하도록 구성된다. 예를 들어, 핑거프린트들의 세트(156)는 다른 핑거프린트들과 함께 핑거프린트 데이터베이스(160)에 저장될 수 있다.
핑거프린트 관리기(204)가 특징 분석기(202)로부터 도 1의 복수의 세그먼트들(138)에 대해 피팅된 데이터(228)를 수신하는 경우에, 핑거프린트 관리기(204)는 복수의 세그먼트 핑거프린트들(164)을 생성하기 위해 복수의 세그먼트들(138)에 대해 피팅된 데이터(228)를 이용한다. 핑거프린트 관리기(204)는 복수의 세그먼트 핑거프린트들(164)을 다수의 데이터 구조들(158)에 저장할 수 있고, 및/또는 복수의 세그먼트 핑거프린트들(164)을 도 1의 이미지 분할기(130)로 전송할 수 있다.
도 1의 다수의 후속 이미지들(162)의 처리 동안, 도 1의 이동 물체들의 세트(155)의 하나 이상은 부분적으로 가려지게 되거나 더 이상 보이지 않게 될 수 있다. 예를 들어, 도 1의 이동 물체(116)는 다수의 후속 이미지들(162) 중의 하나 이상에서 부분적으로 가려질 수 있다. 그 결과, 이동 물체(116)는 이 후속 이미지들에서 검출가능하지 않을 수 있다. 하지만, 이동 물체(116)에 대한 핑거프린트(232)가 이동 물체(116)의 진로(track)를 재획득하기 위해서 이용될 수 있다.
예를 들어, 도 1의 현재 이미지(128) 이후의 이미지들에 대해 생성된 새로운 핑거프린트들은 핑거프린트들의 세트(156) 및 핑거프린트 데이터베이스(160)에 저장된 임의의 다른 이전에 생성된 핑거프린트들과 비교될 수 있다. 이러한 비교는 새로운 핑거프린트들 중의 임의의 것이 이전에 핑거프린트들이 생성되었던 이동 물체들을 위한 것인지 여부를 결정하기 위해 이용된다.
하나의 예시적인 예로서, 도 1의 다수의 후속 이미지들(162) 중의 하나가 처리될 수 있고, 새로운 핑거프린트(234)가 이러한 후속 이미지에 대해 생성될 수 있다. 이 예시적인 예에서, 핑거프린트 관리기(204)는 새로운 핑거프린트(234)가 이전에 핑거프린트가 생성되었던 이동 물체에 대한 것인지 여부를 결정하기 위해 새로운 핑거프린트(234)를 핑거프린트 데이터베이스(160)에 저장된 상이한 핑거프린트들과 비교한다.
예를 들어, 핑거프린트 관리기(204)는 새로운 핑거프린트(234)를 핑거프린트(232)와 비교할 수 있다. 만일 새로운 핑거프린트(234)가 선택된 허용오차(tolerance) 내에서 핑거프린트(232)와 일치(match)한다면, 핑거프린트 관리기(204)는 새로운 핑거프린트(234) 및 핑거프린트(232)가 이동 물체(116)인 동일한 이동 물체에 대한 것이라고 결정한다.
몇몇 예시적인 예들에서, 핑거프린트 관리기(204)는 핑거프린트 데이터베이스(160)에서 핑거프린트(232)를 대체하는 수정된 핑거프린트를 생성하기 위해 새로운 핑거프린트(234) 및 핑거프린트(232)를 평균한다. 다른 예시적인 예들에서, 핑거프린트 관리기(204)는 핑거프린트 데이터베이스(160)에서 핑거프린트(232)를 새로운 핑거프린트(234)로 교체한다. 이러한 방식으로, 핑거프린트들은 이동 물체들을 추적하기 위해 이용될 수 있고, 도 1의 이미지들의 시퀀스(110)에서의 이동 물체들의 진로를 재획득하기 위해 이용될 수 있다.
몇몇 경우들에서, 핑거프린트 관리기(204)는 정지한 물체들을 추적하기 위해 이전에 생성된 핑거프린트들을 이용하도록 구성될 수 있다. 예를 들어, 몇몇 경우들에 있어서, 핑거프린트이 이전에 생성되었던 이동 물체는 이미지들의 시퀀스(110)가 생성되는 시간 동안 정지하게 될 수 있다. 이전에 생성된 핑거프린트는 물체가 움직이고 있지 않은 때조차도 이 물체를 계속 추적하기 위해 이용될 수 있다.
도 1의 이미지 처리 환경(100) 및 도 2의 핑거프린터(133)의 도면들은 예시적인 실시 예가 구현될 수 있는 방식에 대한 물리적 또는 구조적 제한을 암시하기 위해 의도된 것이 아니다. 도시된 것들에 추가하여 또는 대신하여 다른 구성요소들이 이용될 수 있다. 몇몇 구성요소들은 선택적일 수 있다. 또한, 블록들이 몇몇 기능적인 구성요소들을 나타내기 위해서 제시된다. 이 블록들 중의 하나 이상은 예시적인 실시 예들에서 구현될 때 상이한 블록들로 합쳐지거나 나누어지거나 합쳐지고 나누어질 수 있다.
예를 들어, 이미지 분할기(130), 일관성 검사기(132), 및 핑거프린터(133)는 모두 몇몇 경우들에 있어서 동일한 모듈의 일부일 수 있다. 몇몇 예시적인 예들에서, 도 2의 다수의 수학적 모델들(210)에 추가하여 및/또는 대신하여 다른 수학적 모델들이 이용될 수 있다. 다른 예시적인 예들에서, 일관성 검사기(132)는 이미지 분할기(130) 대신에 마스터 통계(144)를 생성하도록 구성될 수 있다.
이제 도 3을 참조하면, 이미지의 도면이 예시적인 실시 예에 따라서 도시된다. 이미지(300)는 도 1의 이미징 시스템(102)과 같은 이미징 시스템에 의해 생성될 수 있는 이미지의 예이다.
특히, 이미지(300)는 도 1의 이미지들의 시퀀스(110)에서의 이미지에 대한 하나의 구현의 예이다. 게다가, 이미지(300)는 도 1의 현재 이미지(128)에 대한 하나의 구현의 예일 수 있다. 도시된 바와 같이, 이미지(300)는 배경(302) 및 이동 물체들의 세트(304)를 포함한다. 이미지(300)에서 이동 물체들의 세트(304)에서의 이동 물체들의 예들은 비히클들(306, 308, 310, 및 312)을 포함하되 이에 한정되는 것은 아니다.
이제 도 4를 참조하면, 모션 이미지의 도면이 예시적인 실시 예에 따라서 도시된다. 모션 이미지(400)는 도 1의 모션 이미지(136)에 대한 하나의 구현의 예이다. 도 3의 이미지(300)는 모션 이미지(400)를 형성하기 위해 도 1의 모션 검출기(124)와 같은 모션 검출기에 의해 처리될 수 있다.
도시된 바와 같이, 모션 이미지(400)는 배경(402) 및 모션 프로파일들의 세트(404)를 포함한다. 게다가, 도 3의 이미지(300)에서의 이동 물체들(304)은 모션 이미지(400)에서 여전히 눈에 보일(visible) 수 있다. 배경(402)은 도 3의 이미지(300)의 글로벌 모션에 기여하는 이미지(300)의 일부를 나타낸다. 이미지(300)의 글로벌 모션은 예를 들어 이미지(300)에서의 장면의 전체 움직임일 수 있다.
모션 프로파일들의 세트(404)는 도 1의 모션 프로파일들의 세트(135)에 대한 하나의 구현의 예이다. 모션 프로파일들의 세트(404)의 각각은 도 3의 이미지(300)에서의 로컬 모션을 나타낸다. 로컬 모션은 임의의 선택된 문턱값을 넘는 이미지(300)의 글로벌 모션과는 다른 움직임이다.
모션 프로파일들의 세트(404)에서의 모션 프로파일들의 예들은 모션 프로파일들(406, 408, 410, 412, 414, 및 416)을 포함하되 이에 한정되지 않는다. 이 예시적인 예에서, 모션 프로파일들(406, 408, 410, 및 412)은 각각 비히클들(306, 308, 310, 및 312)의 움직임을 포함하는 로컬 모션을 나타낸다. 이러한 모션 프로파일들은 이 비히클들의 움직임이 도 3의 이미지(300)에서 캡쳐된 장면의 전체 움직임과는 다르다는 것을 보여 준다. 모션 이미지(400)의 일부(418)가 이하의 도 5에서 더욱 상세하게 도시된다.
이제 도 5를 참조하면, 도 4의 모션 이미지(400)의 일부(418)의 확대도의 도면이 예시적인 실시 예에 따라서 도시된다. 도시된 바와 같이, 모션 프로파일(408)은 모션 이미지(400)에서의 비히클(308)의 위에 오버레이된다(overlaid). 모션 프로파일(408)은 비히클(308)의 움직임을 포함하는 로컬 모션을 나타낸다. 게다가, 도시된 바와 같이, 모션 프로파일(408)은 또한 비히클(308)의 그림자(shadow)를 포함하는 로컬 모션을 나타낸다.
이제 도 6을 참조하면, 분할될 이미지의 도면이 예시적인 실시 예에 따라서 도시된다. 분할된 이미지(600)는 도 1의 분할된 이미지(140)에 대한 하나의 구현의 예이다. 도 3의 이미지(300)는 예를 들어 분할된 이미지(600)를 형성하기 위해 도 1의 이미지 분할기(130)에 의해 처리될 수 있다.
도시된 바와 같이, 분할된 이미지(600)는 복수의 세그먼트들(602)을 포함한다. 복수의 세그먼트들(602)은 도 1의 복수의 세그먼트들(138)에 대한 하나의 구현의 예이다. 복수의 세그먼트들(602)에서의 각각의 세그먼트는 하나 이상의 근접해 있는 픽셀들을 포함한다. 복수의 세그먼트들(602)에서 특정 세그먼트를 형성하는 근접해 있는 픽셀들은 유사한 시각적 특성을 공유하는 도 3의 이미지(300)에서의 근접해 있는 픽셀들에 대응한다. 복수의 세그먼트들(602)에서 세그먼트를 형성하는 픽셀들 모두에는 그 시각적 특성을 나타내는 동일한 값이 할당된다.
복수의 세그먼트들(602)에서의 세그먼트들의 예들은 세그먼트들(604, 606, 608, 610, 612, 614, 및 616)을 포함하되 이에 한정되지 않는다. 이 세그먼트들 각각은 도 3의 이미지(300)에서 구체적인 특징을 나타낼 수 있다. 예를 들어, 세그먼트(604)는 도 3의 이미지(300)에서 비히클들(306, 308, 310, 및 312)이 이동하고 있는 길을 나타낸다. 게다가, 세그먼트(606) 및 세그먼트(614)는 도 3의 이미지(300)에서의 배경(302)에 있는 풀(grass)을 나타낸다.
세그먼트(608)는 도 3의 비히클(306)의 후드(hood)를 나타낸다. 세그먼트(610)는 도 3의 비히클(310)의 후드를 나타내는 반면, 세그먼트(612)는 비히클(310)의 앞창(front window)을 나타낸다. 세그먼트(616)는 도 3의 이미지(300)에서의 비히클(312)에 의해 드리워진 그림자를 나타낸다. 분할된 이미지(600)의 일부(618)는 이하의 도 7에서 더욱 상세하게 도시된다.
이제 도 7을 참조하면, 분할된 이미지(600)의 일부(618)의 도면이 예시적인 실시 예에 따라서 도시된다. 도시된 바와 같이, 분할된 이미지(600)의 복수의 세그먼트들(602)에서의 세그먼트들(702, 704, 706, 및 708)은 이 도면에서 더욱 명확하게 보인다.
세그먼트(702)는 도 3의 이미지(300)에서의 비히클(308)의 바디(body)의 윗부분을 나타낸다. 세그먼트(704)는 도 3의 비히클(308)의 후드(hood)의 적어도 일부를 나타낸다. 세그먼트(706)는 도 3의 이미지(300)에서의 비히클(308)에 의해 드리워진 그림자를 나타낸다. 게다가, 세그먼트(708)는 도 3의 비히클(308)의 오른쪽 문을 나타낸다.
이제 도 8을 참조하면, 이동 세그먼트 이미지의 도면이 예시적인 실시 예에 따라서 도시된다. 도 8에서, 이동 세그먼트 이미지(800)는 도 1의 이동 세그먼트 이미지(145)에 대한 하나의 구현의 예이다. 도 4의 모션 이미지(400) 및 도 6의 분할된 이미지(600)는 이동 세그먼트 이미지(800)를 형성하기 위해 예를 들어 도 1의 이미지 분할기(130)에 의해서 통합되었다.
도시된 바와 같이, 이동 세그먼트 이미지(800)는 배경 세그먼트들(802) 및 이동 세그먼트들(804)을 포함한다. 이동 세그먼트들(804)은 도 4의 모션 이미지(400)에서의 모션 프로파일들의 세트(404)에 의해 겹쳐진 도 6의 분할된 이미지(600)에서의 복수의 세그먼트들(602)로부터의 세그먼트들이다. 동일한 모션 프로파일에 의해 겹쳐진 세그먼트들은 마스터 세그먼트를 형성하기 위해 함께 합쳐질 수 있다.
이제 도 9를 참조하면, 마스터 이미지의 도면이 예시적인 실시 예를 따라서 도시된다. 마스터 이미지(900)는 도 1의 마스터 이미지(143)에 대한 하나의 구현의 예이다. 이 예시적인 예에서, 동일한 모션 프로파일에 의해 오버랩된(overlapped) 도 8의 이동 세그먼트 이미지(800)에서의 이동 세그먼트들(804)은 마스터 이미지(900)에서의 마스터 세그먼트들의 세트(901)를 형성하기 위해 예를 들어 도 1의 이미지 분할기(130)에 의해 합쳐졌다.
마스터 세그먼트들의 세트(901)는 도 1의 마스터 세그먼트들의 세트(142)에 대한 하나의 구현의 예이다. 마스터 세그먼트들의 세트(901)에서의 마스터 세그먼트들의 예들은 마스터 세그먼트들(902, 904, 906, 908, 및 910)을 포함하되 이에 한정되지 않는다. 이러한 마스터 세그먼트들의 각각은 도 4의 션 프로파일들의 세트(404)에서의 동일한 모션 프로파일에 속하는 도 8의 이동 세그먼트 이미지(800)에서의 이동 세그먼트들을 포함한다. 마스터 세그먼트(904)를 포함하는 마스터 이미지(900)의 일부(912)는 이하의 도 10에서 더욱 상세하게 도시된다.
마스터 세그먼트들의 세트(901)에서의 각각의 마스터 세그먼트는 도 3에서의 이미지(300)에 앞서 처리된 이미지에 대해 이전에 식별된 마스터 세그먼트들의 세트와 비교될 수 있다. 이러한 비교는 마스터 세그먼트가 실제로 이동 물체, 임의의 무관한 특징, 또는 이형(anomaly)을 나타내는지 여부를 결정하기 위해 이용될 수 있다.
예를 들어, 마스터 세그먼트(902)는 마스터 세그먼트(902)가 이동 물체를 나타내는지 여부를 결정하기 위하여 이전 이미지에 대해 식별된 마스터 세그먼트들의 세트와 비교될 수 있다. 만일 마스터 세그먼트(902)가 이전에 식별된 마스터 세그먼트들 중의 어느 것과도 일치하지 않는다면, 마스터 세그먼트(902)가 이전에 검출되지 않은 이동 물체, 이형(anomaly), 또는 임의의 다른 무관한 특징을 나타내는지 여부를 결정하기 위한 분석이 수행될 수 있다.
이제 도 10을 참조하면, 도 9의 마스터 이미지(900)의 일부(912)의 확대도의 도면이 예시적인 실시 예에 따라서 도시된다. 이 예시적인 예에서, 마스터 세그먼트(904)는 마스터 세그먼트(904)의 윤곽(1000)이 선택된 허용오차 내에서 도 3의 이미지(300)에서의 비히클(308)의 윤곽과 일치하도록 형성되었다.
이제 도 11을 참조하면, 이미지의 도면이 예시적인 실시 예에 따라서 도시된다. 도 11에서, 이미지(1100)는 도 1의 이미징 시스템(102)과 같은 이미징 시스템에 의해 생성될 수 있는 이미지의 예이다.
특히, 이미지(1100)는 도 1의 이미지들의 시퀀스(110)에서의 이미지에 대한 하나의 구현의 예이다. 게다가, 이미지(1100)는 도 1의 현재 이미지(128)에 대한 하나의 구현의 예일 수 있다. 도시된 바와 같이, 이미지(1100)는 배경(1102) 및 이동 물체들의 세트(1104)를 포함한다. 이미지(1100)의 이동 물체들의 세트(1104)에서의 이동 물체들의 예들은 비히클들(1106, 1108, 1110, 1112, 1114, 및 1116)을 포함하되 이에 한정되지 않는다.
이제 도 12를 참조하면, 마스터 이미지의 도면이 예시적인 실시 예에 따라서 도시된다. 마스터 이미지(1200)는 도 1의 마스터 이미지(143)에 대한 하나의 구현의 예이다. 도 11의 이미지(1100)는 마스터 이미지(1200)를 형성하기 위해 도 1의 물체 추적기(126)에 의해 처리될 수 있다.
도시된 바와 같이, 마스터 이미지(1200)는 배경 세그먼트들(1202) 및 마스터 세그먼트들의 세트(1204)를 포함한다. 마스터 세그먼트들의 세트(1204)는 마스터 세그먼트들(1206, 1208, 1210, 1212, 1214, 및 1216)을 포함한다. 이 예시적인 예에서, 마스터 세그먼트들(1206, 1208, 1210, 1212, 1214, 및 1216)은 도 11의 비히클들(1106, 1108, 1110, 1112, 1114, 및 1116)을 각각 표현한다.
마스터 세그먼트들의 세트(1204)에서의 각각의 마스터 세그먼트는 분할된 이미지로부터의 복수의 세그먼트들을 함께 합쳐서 형성되었다. 마스터 세그먼트들의 세트(1204)의 세트를 형성하기 위해서 어느 세그먼트들이 합쳐질지에 대한 선택은 도 11의 이미지(1100)보다 먼저 처리된 이미지에 대한 이전의 핑거프린트들을 이용해서 수행되었다.
이제 도 13을 참조하면, 이미지 처리를 수행하기 위한 프로세스의 도면이 예시적인 실시 예에 따라서 흐름도의 형태로 도시된다. 도 13에 도시된 프로세스는 도 1의 이미지 처리 시스템(104)을 이용해서 수행될 수 있다.
프로세스는 처리를 위해 현재 이미지를 수신함으로써 시작된다(오퍼레이션 1300). 현재 이미지는 예를 들어 도 1의 현재 이미지(128)일 수 있다. 그 후에, 현재 이미지에서의 글로벌 모션 및 현재 이미지에서의 로컬 모션이 식별된다(오퍼레이션 1302). 이후, 모션 이미지를 형성하기 위해 현재 이미지에서의 글로벌 모션이 현재 이미지에서의 로컬 모션으로부터 차감되는데(subtracted), 모션 이미지는 모션 프로파일들의 세트를 포함한다(오퍼레이션 1304). 오퍼레이션 1302 및 오퍼레이션 1304는 예를 들어 도 1의 모션 검출기(124)를 이용해서 수행될 수 있다.
다음으로, 분할된 이미지를 형성하기 위해 현재 이미지가 복수의 세그먼트들로 분할된다(오퍼레이션 1306). 오퍼레이션 1306은 예를 들어 도 1의 이미지 분할기(130)를 이용해서 수행될 수 있다. 이후, 동일한 모션 프로파일에 속하는 복수의 세그먼트들에서의 세그먼트들은 마스터 세그먼트들의 세트를 형성하기 위해 함께 합쳐진다(오퍼레이션 1308). 그 후에, 핑거프린트될 타겟 세그먼트들의 세트가 마스터 세그먼트들의 세트로부터 수립된다(오퍼레이션 1310). 오퍼레이션 1310에서, 타겟 세그먼트들의 세트에서의 타겟 세그먼트는 이동 물체를 나타낸다.
이후, 다수의 후속 이미지들에서의 이동 물체를 추적하는 데 사용하기 위하여 타겟 세그먼트들의 세트에서의 각각의 타겟 세그먼트에 대해 핑거프린트가 생성되고(오퍼레이션 1312), 그 이후에 프로세스가 종료된다. 오퍼레이션 1312는 예를 들어 도 1 및 2의 핑거프린터(133)에 의해서 수행될 수 있다. 핑거프린터는 마스터 세그먼트의 특징 분석을 수행함으로써 오퍼레이션 1310을 수행할 수 있다.
이제 도 14를 참조하면, 마스터 세그먼트들의 세트로부터 타겟 세그먼트들의 세트를 수립하기 위한 프로세스의 도면이 예시적인 실시 예에 따라서 흐름도의 형태로 도시된다. 도 14에 도시된 프로세스는 도 13의 오퍼레이션 1310이 수행될 수 있는 하나의 방식의 예일 수 있다. 이 프로세스는 예를 들어 도 1의 이미지 분할기(130) 및 일관성 검사기(132)에 의해 수행될 수 있다.
이 프로세스는 마스터 세그먼트들의 세트에서 각각의 마스터 세그먼트에 대해 마스터 통계를 생성함으로써 시작된다(오퍼레이션 1400). 그 후에, 마스터 세그먼트는 처리를 위해 마스터 세그먼트들의 세트로부터 선택된다(오퍼레이션 1402).
선택된 마스터 세그먼트는 처리된 이전 이미지에 대해 식별된 가장 가깝게 일치된 마스터 세그먼트에 링크된다(linked)(오퍼레이션 1404). 가장 가깝게 일치된 마스터 세그먼트는 예를 들어 현재 이미지 내의 선택된 마스터 세그먼트의 위치에 가장 가까운 이전 이미지에서의 위치를 갖는 이전에 식별된 마스터 세그먼트일 수 있다. 물론, 다른 예시적인 예들에서, 가장 가깝게 일치된 마스터 세그먼트는 선택된 마스터 세그먼트에 대해 생성된 마스터 통계 및 이전 이미지에 대해 이전에 식별된 마스터 세그먼트들의 세트에 대해 생성된 마스터 통계를 기초로 할 수 있다.
다음으로, 프로세스는 임의의 추가적인 미처리 마스터 세그먼트들이 마스터 세그먼트들의 세트에 존재하는지 여부를 결정한다(오퍼레이션 1406). 만일 추가적인 미처리 마스터 세그먼트들이 존재한다면, 프로세스는 도시된 바와 같이 오퍼레이션 1402로 돌아간다. 이와 달리, 프로세스는 링크된 세그먼트들의 각각의 쌍 사이의 유사도 점수(similarity score)를 계산한다(오퍼레이션 1408). 이 유사도 점수는 예를 들어 제한 없이 쿨백-라이블러 발산값(Kullback-Leibler(KL) divergence value)일 수 있다.
오퍼레이션 1408에서, 유사도 점수는 현재 이미지에 대한 마스터 세그먼트들에 대해 식별된 마스터 통계 및 이전 이미지에 대한 이전에 식별된 마스터 세그먼트들에 대해 식별된 마스터 통계를 기초로 하여 계산될 수 있다. 몇몇 예시적인 예들에서, 유사도 점수는 현재 이미지에 대해 이전에 처리된 다수의 이미지들에 대해 계산된다.
그 후에, 선택된 문턱값 내의 유사도 점수를 갖는 마스터 세그먼트들이 타겟 세그먼트들의 세트에 추가되고(오퍼레이션 1410), 그 이후에 프로세스가 종료된다. 이러한 방식으로, 이전에 식별된 마스터 세그먼트들과 일치하는 마스터 세그먼트들만이 추가적 처리를 위해 타겟 세그먼트로서 선택된다.
이제 도 15를 참조하면, 핑거프린트를 생성하기 위한 프로세스의 도면이 예시적인 실시 예에 따라서 흐름도의 형태로 도시된다. 도 15에 도시된 프로세스는 도 13의 오퍼레이션 1312이 구현될 수 있는 하나의 방식의 예일 수 있다. 이 프로세스는 도 1 및 2의 핑거프린터(133)를 이용해서 수행될 수 있다.
이 프로세스는 타겟 세그먼트들의 세트에서의 각각의 타겟 세그먼트에 대해 타겟 픽셀들을 식별함으로써 시작된다(오퍼레이션 1500). 타겟 픽셀은 타겟 세그먼트 내에 존재하는 픽셀이다. 그 후에, 타겟 세그먼트들의 세트의 각각의 타겟 세그먼트에서의 각각의 타겟 픽셀에 대해 특징 데이터가 식별된다(오퍼레이션 1502). 타겟 픽셀에 대한 특징 데이터는 예를 들어 타겟 픽셀에 대한 크로마 데이터, 픽셀 위치 데이터, 엔트로피 데이터, 다른 픽셀 데이터, 또는 이들의 조합을 포함하는 특징 벡터(feature vector)일 수 있다.
이후, 각각의 타겟 세그먼트를 위하여 타겟 픽셀들에 대해 생성된 특징 데이터를 기초로 하여 타겟 세그먼트들의 세트에서의 각각의 타겟 세그먼트에 대해 피팅된 데이터가 생성된다(오퍼레이션 1504). 다음으로, 피팅된 데이터를 기초로 하여 타겟 세그먼트들의 세트에서의 각각의 타겟 세그먼트에 대해 핑거프린트가 생성되고(오퍼레이션 1506), 그 이후 프로세스가 종료된다. 오퍼레이션 1506에서, 타겟 세그먼트들의 세트에 대해 핑거프린트들의 세트가 생성된다. 이 핑거프린트들은 후속 이미지들에서 이동 물체들의 장래의 검출 및 추적을 위해 저장된다.
이제 도 16을 참조하면, 마스터 세그먼트들의 세트를 형성하기 위한 프로세스의 도면이 예시적인 실시 예에 따라서 흐름도의 형태로 도시된다. 도 16에서 도시된 프로세스는 도 13의 오퍼레이션 1308이 구현될 수 있는 방식의 예일 수 있다. 이 프로세스는 도 1 및 2의 핑거프린터(133)를 이용해서 수행될 수 있다.
이 프로세스는 분할된 이미지에서의 복수의 세그먼트들에 대해 복수의 세그먼트 핑거프린트들을 생성함으로써 시작된다(오퍼레이션 1600). 오퍼레이션 1600에서, 복수의 세그먼트들에서의 각각의 세그먼트에 대해 세그먼트 핑거프린트(segment fingerprint)가 생성된다.
하나의 예시적인 예에서, 각각의 세그먼트 핑거프린트를 생성하기 위해 가우시안 공분산(Gaussian covariance) 모델이 이용될 수 있다. 이용된 모델은 다음과 같을 수 있다:
Figure pat00001
여기서,
Figure pat00002
는 세그먼트 P의 각각의 픽셀에 대해서 특징 데이터
Figure pat00003
에 대한 1x7 행렬 평균값(mean value)이고;
Figure pat00004
는 특징 데이터에 대한 7x7 완전 공분산(full covariance) 행렬이고; a와 b는 각각의 픽셀에 대한 크로마 구성요소들이며, 크로마 데이터로서 고려되고; ε는 엔트로피 필터링된 값(entropy filtered value)이고; u와 v는 픽셀 위치 데이터이다. 특히, u는 이미지 내에서 픽셀의 수평 위치이고, v는 이미지 내에서 픽셀의 수직 위치이다.
몇몇 예시적인 예들에서, 복수의 세그먼트들에서의 세그먼트들의 전부가 핑거프린팅되는(fingerprinted) 것이 아니다. 복수의 세그먼트들이 핑거프린팅될지 여부를 결정하기 위하여 한 세트의 기준이 이용될 수 있다. 이 기준은 예를 들어 제한 없이, 세그먼트에서의 다수의 픽셀들이 12보다 더 크다는 것; 세그먼트에서의 모든 픽셀들에 대한 특징 데이터가 일정하지(constant) 않다는 것; 세그먼트가 픽셀들에서 1보다 더 큰 높이 및 폭을 가진다는 것; 세그먼트와 이미지의 에지(edge) 사이의 픽셀들에서의 거리가 선택된 문턱값보다 작지 않다는 것; 세그먼트가 픽셀들에서의 전체 이미지의 사이즈의 절반보다 작다는 것; 및/또는 다른 타입의 기준을 포함할 수 있다.
그 후에, 분할된 이미지의 배경에 대해 배경 핑거프린트가 생성된다(오퍼레이션 1602). 오퍼레이션 1602에서, 분할된 이미지의 배경은 복수의 세그먼트들을 제외한 이미지의 모든 부분들일 수 있다. 배경 핑거프린트는 또한 가우시안 공분산 모델을 이용해서 생성될 수 있다.
각각의 세그먼트 핑거프린트는 매칭된(matched) 세그먼트 핑거프린트들의 세트를 형성하기 위해 배경 핑거프린트뿐만 아니라 이전의 세그먼트 핑거프린트들의 세트에 대해 매칭된다(오퍼레이션 1604). 오퍼레이션 1604에서, 이러한 매칭은 다수의 상이한 방식으로 수행될 수 있다. 예를 들어, 오퍼레이션 1604에서 매칭(matching)을 수행하기 위해 유사도 점수가 이용될 수 있다. 몇몇 경우들에서, 매칭 오퍼레이션 1604을 수행하기 위해 이미지 등록(registration)이 이용된다.
하나의 예시적인 예에서, 각각의 세그먼트 핑거프린트와 각각의 이전에 식별된 세그먼트 핑거프린트 사이의 쿨백-라이블러 발산값이 계산될 수 있다. 선택된 문턱값 아래의 쿨백-라이블러 발산값을 갖는 이전의 세그먼트 핑거프린트들 중의 하나에 일치하는 각각의 세그먼트 핑거프린트는 매칭된 세그먼트 핑거프린트들의 세트(set of matched segment fingerprints)에 추가될 수 있다. 선택된 문턱값 아래의 쿨백-라이블러 발산값을 갖는 배경 핑거프린트와 일치하는 세그먼트 핑거프린트들은 매칭된 세그먼트 핑거프린트들의 세트로부터 제외될 수 있다.
그 후에, 프로세스는, 마스터 세그먼트들의 세트를 형성하기 위해, 매칭된 세그먼트 핑거프린트들의 세트에서 서로 일치하고 서로에 대해 인접한 세그먼트 핑거프린트들에 대응하는 세그먼트들을 함께 합치고(오퍼레이션 1606), 프로세스는 이후에 종료한다. 예를 들어, 오퍼레이션 1606에서, 서로에 대해 인접한 각각 제1 세그먼트 및 제2 세그먼트에 대응하는 매칭된 세그먼트 핑거프린트들의 세트에서의 제1 세그먼트 핑거프린트 및 제2 세그먼트 핑거프린트가 식별된다. 제1 세그먼트 핑거프린트 및 제2 세그먼트 핑거프린트 간의 유사도 점수가 선택된 문턱값 내에 있는지 여부에 대한 결정이 만들어질 수 있다.
제1 세그먼트 핑거프린트와 제2 세그먼트 핑거프린트 사이의 유사도 점수가 선택된 문턱값 내에 있다는 결정에 응답하여 제1 세그먼트 및 제2 세그먼트가 함께 합쳐질 수 있다. 오퍼레이션 1606에서, 제1 세그먼트 및 제2 세그먼트는, 마스터 세그먼트들의 세트에 추가되어 마스터 세그먼트들의 세트에서의 기존 마스터 세그먼트에 합쳐질 새로운 마스터 세그먼트를 형성하기 위해 합쳐진 것들 중의 적어도 하나이다.
상이한 도시된 실시 예들에서의 흐름도 및 블록도들은 예시적인 실시 예에서의 장치들 및 방법들의 임의의 가능한 구현의 아키텍처, 기능, 및 오퍼레이션을 도시한다. 이와 관련하여, 흐름도들 또는 블록도들에서의 각각의 블록은 모듈(module), 세그먼트(segment), 함수 및/또는 오퍼레이션 또는 단계의 일부분(portion)을 나타낼 수 있다. 예를 들어, 블록들 중의 하나 이상은 하드웨어에서 프로그램 코드(program code)로서 또는 프로그램 코드와 하드웨어의 조합으로서 구현될 수 있다. 하드웨어에서 구현되는 경우에, 예를 들어, 하드웨어는 흐름도들 또는 블록도들에서 하나 이상의 오퍼레이션을 수행하도록 구성되거나 제조된 집적회로의 형태를 취할 수 있다.
예시적인 실시 예의 몇몇 대안적인 구현들에서, 블록들에서 언급된 기능 또는 기능들은 도면들에서 언급된 순서와 다르게 발생할 수 있다. 예를 들어, 몇몇 경우들에 있어서, 연속적으로 도시된 두 개의 블록들은 실질적으로 동시에 수행될 수 있고, 또는 블록들은 때때로 포함된 기능에 따라서 반대 순서로 실시될 수 있다. 또한, 흐름도 또는 블록도 내의 도시된 블록에 추가하여 다른 블록들이 추가될 수 있다.
이제 도 17을 참조하면, 데이터 처리 시스템의 도면이 예시적인 실시 예에 따라서 블록도의 형태로 도시된다. 이 예시적인 예에서, 데이터 처리 시스템(1700)은 도 1의 컴퓨터 시스템(122)에서의 하나 이상의 컴퓨터를 구현하기 위해 이용될 수 있다.
이 예시적인 예에서, 데이터 처리 시스템(1700)은 통신 프레임워크(communications framework, 1702)를 포함하는데, 이것은 프로세서 유닛(processor unit, 1704), 메모리(memory, 1706), 영구 스토리지(persistent storage, 1708), 통신 유닛(communications unit, 1710), 입력/출력 유닛(input/output unit, 1712), 및 디스플레이(display, 1714) 사이에서 통신을 제공한다. 통신 프레임워크(1702)는 몇몇 예들에서 버스 시스템(bus system)으로서 구현될 수 있다.
프로세서 유닛(1704)은 다수의 오퍼레이션(operation)들을 수행하기 위하여 메모리(1706)로 로딩되는(loaded) 소프트웨어에 대한 명령어들을 실행하도록 기능한다. 프로세서 유닛(1704)은 특정 구현에 따라서 다수의 프로세서들, 멀티-프로세서 코어(multi-processor core), 또는 임의의 다른 타입의 프로세서일 수 있다. 몇몇 경우들에서, 프로세서 유닛(1704)은 회로 시스템, ASIC(application specific integrated circuit), 프로그램가능 논리 장치(programmable logic device), 또는 몇몇 다른 적절한 타입의 하드웨어와 같이 하드웨어 유닛의 형태를 취할 수 있다.
몇몇 경우들에서, 도 1에서의 모션 검출기(124) 및/또는 물체 추적기(126)는 프로세서 유닛(1704) 내에서 프로세서(processor)들로서 구현될 수 있다. 게다가, 도 1 에서의 이미지 분할기(130), 일관성 검사기(132), 및 핑거프린터(133)는 프로세서 유닛(1704)에서의 하나 이상의 프로세서들 내에서 모듈(module)로서 구현될 수 있다.
메모리(1706) 및 영구 스토리지(1708)는 저장 장치들(1716)의 예들이다. 저장 장치들(1716)은 통신 프레임워크(1702)를 통해서 프로세서 유닛(1704)과 통신할 수 있다. 저장 장치는 컴퓨터 판독가능 저장 장치라고도 불리며, 예를 들어 제한 없이, 데이터, 함수 형태의 프로그램 코드, 및/또는 다른 적절한 정보와 같은 정보를 임시로(temporary basis) 및/또는 영구적으로(permanent basis) 저장할 수 있는 임의의 하드웨어 부품(piece)이다. 메모리(1706)는 예를 들어 RAM(random access memory), 또는 임의의 다른 적절한 휘발성 또는 비휘발성 저장 장치일 수 있다.
영구 스토리지(1708)는 특정 구현에 따라서 다양한 형태를 취할 수 있으며 임의의 수의 구성요소들 또는 장치들을 포함할 수 있다. 예를 들어, 영구 스토리지(1708)는 하드 드라이브, 플래시 메모리, 재기록가능(rewritable) 광학적 디스크, 재기록가능 자기 테이프, 또는 이들의 임의의 조합일 수 있다. 구현에 따라서, 영구 스토리지(1708)에 의해 사용되는 매체는 착탈가능할(removable) 수도 있고 착탈가능하지 않을 수 있다.
이 예들에서, 통신 유닛(1710)은 다른 데이터 처리 시스템들 또는 장치들과의 통신을 제공한다. 통신 유닛(1710)은 물리적 및 무선의 통신 링크들 중 하나 또는 둘 다를 통해서 통신을 제공할 수 있다.
입력/출력 유닛(1712)은 데이터 처리 시스템(1700)에 연결될 수 있는 다른 장치들과의 데이터의 입력 및 출력을 가능하게 한다. 예를 들어, 입력/출력 유닛(1712)은 키보드, 마우스, 및/또는 임의의 다른 적절한 입력 장치를 통해서 사용자 입력을 위한 연결(connection)을 제공할 수 있고, 및/또는 프린터로 출력을 보낼 수 있다. 디스플레이(1714)는 사용자에게 정보를 디스플레이하기 위한 메커니즘을 제공한다.
운영 시스템을 위한 명령어들, 애플리케이션들, 및/또는 프로그램들은 저장 장치들(1716) 내에 위치할 수 있다. 상이한 실시 예들의 프로세스들은 컴퓨터로-구현되는(computer-implemented) 명령어들을 이용해서 프로세서 유닛(1704)에 의해 수행될 수 있다. 이 명령어들은 프로그램 코드, 컴퓨터 이용가능 프로그램 코드, 또는 컴퓨터 판독가능 프로그램 코드라고 지칭되며, 프로세서 유닛(1704)에서의 하나 이상의 프로세서들에 의해서 판독되고 실행될 수 있다.
이 예들에서, 프로그램 코드(1718)는 선택적으로 착탈가능한 컴퓨터 판독가능 매체(1720)상에 함수 형태로 위치하고, 프로세서 유닛(1704)에 의한 실행을 위해 데이터 처리 시스템(1700)상으로 로딩되거나 데이터 처리 시스템(1700)에 전송될 수 있다. 프로그램 코드(1718) 및 컴퓨터 판독가능 매체(1720)는 이 예들에서 컴퓨터 프로그램 제품(1722)을 형성한다. 몇몇 예시적인 예들에서, 도 1의 모션 검출기(124) 및/또는 물체 추적기(126)는 컴퓨터 프로그램 제품(1722) 내에서 구체화될 수 있다. 몇몇 경우들에서, 도 1의 이미지 분할기(130), 일관성 검사기(132), 및 핑거프린터(133)는 프로그램 코드(1718) 내의 소프트웨어 모듈(module)들로서 구현될 수 있다.
컴퓨터 판독가능 매체(1720)는 컴퓨터 판독가능 저장 매체(1724) 또는 컴퓨터 판독가능 신호 매체(1726)의 형태를 취할 수 있다. 컴퓨터 판독가능 저장 매체(1724)는 프로그램 코드(1718)를 전파 또는 전송하는 매체라기보다는 프로그램 코드(1718)를 저장하기 위해서 사용되는 물리적 또는 유형의(tangible) 저장 장치이다. 컴퓨터 판독가능 저장 매체(1724)는, 예를 들어 제한 없이, 광(optical) 또는 자기(magnetic) 디스크 혹은 데이터 처리 시스템(1700)에 연결되는 영구 저장 장치의 형태를 취할 수 있다.
이와 달리, 프로그램 코드(1718)는 컴퓨터 판독가능 신호 매체(1726)를 이용해서 데이터 처리 시스템(1700)으로 전송될 수 있다. 컴퓨터 판독가능 신호 매체(1726)는 예를 들어 제한 없이 프로그램 코드(1718)를 포함하는 전파되는(propagated) 데이터 신호일 수 있다. 이러한 데이터 신호는 전자기 신호, 광학적 신호, 및/또는 물리적인 및/또는 무선인 통신 링크를 통해서 전송될 수 있는 임의의 다른 적절한 타입의 신호일 수 있다.
데이터 처리 시스템(1700)을 위해 도시된 상이한 구성요소들은 상이한 실시 예들이 구현될 수 있는 방식에 대한 구조적 제한을 제공하는 것으로 의도된 것이 아니다. 상이한 유익한 실시 예들은 데이터 처리 시스템(1700)을 위해 도시된 것들에 부가하여 또는 대신하여 구성요소들을 포함하는 데이터 처리 시스템에서 구현될 수 있다. 도 17에 도시된 다른 구성요소들은 도시된 예시적인 예들로부터 변경될 수 있다. 상이한 실시 예들은 프로그램 코드를 실행할 수 있는 임의의 하드웨어 장치 또는 시스템을 이용하여 구현될 수 있다. 일 예로서, 데이터 처리 시스템은 무기적(inorganic) 구성요소들과 통합된 유기적(organic) 구성요소들을 포함할 수 있고, 및/또는 인간을 제외한 유기적 구성요소들로 전부 이루어질 수 있다. 예를 들어, 저장 장치는 유기 반도체(organic semiconductor)로 이루어질 수 있다.
상이한 예시적인 실시 예들의 설명이 도시 및 설명의 목적을 위해서 제시되었으며, 공개된 형태의 실시 예들로 한정 또는 제한하려는 의도는 아니다. 여러 가지 변경들 및 변형들이 당해 기술분야의 통상의 기술자들에게 명백할 것이다.
게다가, 상이한 예시적인 실시 예들은 다른 예시적인 실시 예들과 비교하여 상이한 특징들을 제공할 수 있다. 선택된 실시 예 또는 실시 예들은 실시 예들의 원리와 실용적인 애플리케이션을 가장 잘 설명하기 위하여 선택 및 설명되었고, 당해 기술분야의 통상의 기술자들이 심사숙고된 특정 사용에 적합한 다양한 변경들을 가진 다양한 실시 예들에 대해서 본 공개를 이해하는 것을 가능하게 한다.

Claims (14)

  1. 이미지 처리 시스템(104)으로서,
    분할된 이미지(segmented image)(140)를 형성하기 위해 이미지들의 시퀀스(110)에서의 현재 이미지(128)를 복수의 세그먼트(segment)들(138)로 분할하도록 구성되고, 마스터 세그먼트들의 세트(set of master segments)(142)를 형성하기 위해 동일한 모션 프로파일(motion profile)에 속하는 복수의 세그먼트들(138)에서의 세그먼트들을 함께 합치도록(fuse) 구성된 이미지 분할기(image segmenter)(130);
    마스터 세그먼트들의 세트(142)로부터 타겟 세그먼트들의 세트(154)를 식별하도록 구성된 일관성 검사기(consistency checker)(132); 및
    이미지들의 시퀀스(110)에서 다수의 후속 이미지들(162)에서의 이동 물체들의 세트(155)를 추적하는 데 사용하기 위해 핑거프린트들의 세트(156)를 생성하도록 구성된 핑거프린터(fingerprinter)(133)를 포함하고,
    타겟 세그먼트들의 세트(154)는 현재 이미지(128)에서의 이동 물체들의 세트(155)를 나타내는 것을 특징으로 하는 이미지 처리 시스템(104).
  2. 제 1 항에 있어서,
    현재 이미지(128)를 이용해서 모션 이미지(motion image)(136)를 형성하도록 구성된 모션 검출기(motion detector)(124)를 더 포함하고,
    모션 이미지(136)는 모션 프로파일들의 세트(135)를 포함하는 것을 특징으로 하는 이미지 처리 시스템(104).
  3. 제 2 항에 있어서,
    모션 검출기(124)는 현재 이미지(128)에서 로컬 모션(local motion) 및 글로벌 모션(global motion)을 식별하도록 추가로 구성되고, 모션 이미지(136)를 형성하기 위해 현재 이미지(128)에서 로컬 모션으로부터 글로벌 모션을 차감하도록(subtract) 추가로 구성되는 것을 특징으로 하는 이미지 처리 시스템(104).
  4. 제 1 항에 있어서,
    일관성 검사기(132)는 마스터 세그먼트(152)에 대해 생성된 마스터 통계(master statistics)(144)를 기초로 하여 마스터 세그먼트들의 세트(142)에서의 마스터 세그먼트(152)가 타겟 세그먼트들의 세트(154)에 추가될지 여부를 결정하도록 추가로 구성되는 것을 특징으로 하는 이미지 처리 시스템(104).
  5. 제 4 항에 있어서,
    이미지 분할기(130)는 마스터 세그먼트(152)에 대한 세그먼트 데이터(146)를 생성해서 세그먼트 데이터(146)를 수학적 모델(148)에 피팅(fitting)함으로써 마스터 세그먼트(152)에 대해 마스터 통계(144)를 생성하도록 구성되는 것을 특징으로 하는 이미지 처리 시스템(104).
  6. 제 5 항에 있어서,
    수학적 모델(148)은 일반화된 선형 모델(generalized linear model)(212)인 것을 특징으로 하는 이미지 처리 시스템(104).
  7. 제 1 항에 있어서,
    핑거프린터(133)는,
    핑거프린트들의 세트(156)에 추가될 타겟 세그먼트에 대해 핑거프린트(232)를 형성하기 위해 타겟 세그먼트들의 세트(154)에서 타겟 세그먼트(target segment)(230)의 특징 분석(206)을 수행하도록 추가로 구성되고;
    타겟 세그먼트들의 세트(154)에서의 각각의 타겟 세그먼트(230)에 대한 특징 데이터(208)를 식별하고, 피팅된 데이터(fitted data)(228)를 생성하기 위해 특징 데이터(208)를 다수의 수학적 모델들(210)에 피팅하고, 피팅된 데이터(228)를 이용해서 핑거프린트들의 세트(156)를 생성하도록 추가로 구성되고;
    다수의 수학적 모델들(210)은 공간적으로 일반화된 선형 모델(spatial generalized linear model)(212), 특징만 일반화된 선형 모델(feature-only generalized linear model)(214), 스페이시오그램(spatiogram)(216), 및 히스토그램(histogram)(218) 중의 적어도 하나를 포함하는 것을 특징으로 하는 이미지 처리 시스템(104).
  8. 이미지들의 시퀀스(110)에서 이동 물체들(155)을 추적하기 위해 컴퓨터로 구현되는 방법으로서,
    상기 컴퓨터로 구현되는 방법은:
    이미지들의 시퀀스(110)에서의 현재 이미지(128)를 복수의 세그먼트들(138)로 분할하는(segmenting) 단계;
    마스터 세그먼트들의 세트(142)를 형성하기 위해 동일한 모션 프로파일에 속하는 복수의 세그먼트들(138)에서의 세그먼트들을 함께 합치는(fusing) 단계;
    마스터 세그먼트들의 세트(142)로부터 타겟 세그먼트들의 세트(154)를 식별하는(identifying) 단계; 및
    이미지들의 시퀀스(110)에서 다수의 후속 이미지들(162)에서의 이동 물체들의 세트(155)를 추적하는 데 사용하기 위해 핑거프린트들의 세트(156)를 생성하는 단계;를 포함하고,
    타겟 세그먼트들의 세트(154)는 현재 이미지(128)에서의 이동 물체들의 세트(155)를 나타내는 것을 특징으로 하는 이미지들의 시퀀스(110)에서 이동 물체들(155)을 추적하기 위해 컴퓨터로 구현되는 방법.
  9. 제 8 항에 있어서,
    현재 이미지(128)를 이용해서 모션 이미지(136)를 형성하는 단계를 더 포함하고;
    모션 이미지(136)는 모션 프로파일들의 세트(135)를 포함하고,
    모션 이미지(136)를 형성하는 단계는:
    현재 이미지(128)에서 로컬 모션 및 글로벌 모션을 식별하는 단계; 및
    모션 이미지(136)를 형성하기 위해 로컬 모션으로부터 글로벌 모션을 차감하는 단계;를 포함하는 것을 특징으로 하는 이미지들의 시퀀스(110)에서 이동 물체들(155)을 추적하기 위해 컴퓨터로 구현되는 방법.
  10. 제 9 항에 있어서,
    마스터 세그먼트들의 세트(142)를 형성하기 위해 동일한 모션 프로파일에 속하는 복수의 세그먼트들(138)에서의 세그먼트들을 함께 합치는 단계는:
    마스터 세그먼트들의 세트(142)를 형성하기 위해 모션 이미지(136) 내의 모션 프로파일들의 세트(135)에서의 동일한 모션 프로파일에 속하는 복수의 세그먼트들(138)에서의 세그먼트들을 함께 합치는 단계를 포함하는 것을 특징으로 하는 이미지들의 시퀀스(110)에서 이동 물체들(155)을 추적하기 위해 컴퓨터로 구현되는 방법.
  11. 제 8 항에 있어서,
    마스터 세그먼트들의 세트(142)로부터 타겟 세그먼트들의 세트(154)를 식별하는 단계는:
    마스터 세그먼트들의 세트(142)에서의 마스터 세그먼트(152)에 대해 마스터 통계(144)를 생성하는 단계;
    마스터 세그먼트(152)에 대한 마스터 통계(144)를 기초로 하여 마스터 세그먼트(152)가 타겟 세그먼트들의 세트(154)에 추가될지 여부를 결정하는 단계;를 포함하고,
    마스터 세그먼트들의 세트(142)에서의 마스터 세그먼트(152)에 대해 마스터 통계(144)를 생성하는 단계는:
    마스터 세그먼트(152)에 대해 세그먼트 데이터(146)를 생성하는 단계;
    마스터 세그먼트(152)에 대해 마스터 통계(144)를 생성하기 위해 세그먼트 데이터(146)를 수학적 모델(148)에 피팅하는 단계;를 포함하고,
    마스터 세그먼트(152)에 대해 마스터 통계(144)를 생성하기 위해 세그먼트 데이터(146)를 수학적 모델(148)에 피팅하는 단계는:
    마스터 세그먼트(152)에 대해 마스터 통계(144)를 생성하기 위해 세그먼트 데이터(146)를 일반화된 선형 모델(212)인 수학적 모델(148)에 피팅하는 단계를 포함하는 것을 특징으로 하는 이미지들의 시퀀스(110)에서 이동 물체들(155)을 추적하기 위해 컴퓨터로 구현되는 방법.
  12. 제 8 항에 있어서,
    이미지들의 시퀀스(110)에서 다수의 후속 이미지들(162)에서의 이동 물체들의 세트(155)를 추적하는 데 사용하기 위해 핑거프린트들의 세트(156)를 생성하는 단계는:
    타겟 세그먼트(230)에 대해 핑거프린트들의 세트(156)에서의 핑거프린트(232)를 형성하기 위해 타겟 세그먼트들의 세트(154)에서의 타겟 세그먼트(230)의 특징 분석(206)을 수행하는 단계를 포함하는 것을 특징으로 하는 이미지들의 시퀀스(110)에서 이동 물체들(155)을 추적하기 위해 컴퓨터로 구현되는 방법.
  13. 제 8 항에 있어서,
    이미지들의 시퀀스(110)에서 다수의 후속 이미지들(162)에서의 이동 물체들의 세트(155)를 추적하는 데 사용하기 위해 핑거프린트들의 세트(156)를 생성하는 단계는:
    타겟 세그먼트들의 세트(154)에서의 각각의 타겟 세그먼트(230)에 대해 특징 데이터(208)를 식별하는 단계;
    피팅된 데이터(228)를 생성하기 위해 특징 데이터(208)를 다수의 수학적 모델들(210)에 피팅하는 단계;
    피팅된 데이터(228)를 이용해서 핑거프린트들의 세트(156)를 생성하는 단계;를 포함하고,
    피팅된 데이터(228)를 생성하기 위해 특징 데이터(208)를 다수의 수학적 모델들(210)에 피팅하는 단계는:
    피팅된 데이터(228)를 생성하기 위해 특징 데이터(208)를, 공간적으로 일반화된 선형 모델(212), 특징만 일반화된 선형 모델(214), 스페이시오그램(216), 및 히스토그램(218) 중의 적어도 하나를 포함하는 다수의 수학적 모델들(210)에 피팅하는 단계를 포함하는 것을 특징으로 하는 이미지들의 시퀀스(110)에서 이동 물체들(155)을 추적하기 위해 컴퓨터로 구현되는 방법.
  14. 제 5 항에 있어서,
    이미지 처리 시스템(104)은 이미지들의 시퀀스(110)에서 이동 물체들(155)을 추적하기 위한 방법을 수행하도록 구성되고,
    이미지들의 시퀀스(110)에서 이동 물체들(155)을 추적하기 위한 방법은:
    현재 이미지(128)에서 로컬 모션 및 글로벌 모션을 식별하는 단계;
    모션 이미지(136)를 형성하기 위해 로컬 모션으로부터 글로벌 모션을 차감하는 단계;
    분할된 이미지(140)를 형성하기 위해 이미지들의 시퀀스(110)에서의 현재 이미지(128)를 복수의 세그먼트들(138)로 분할하는 단계;
    마스터 세그먼트들의 세트(142)를 갖는 마스터 이미지를 형성하기 위해 동일한 모션 프로파일에 속하는 복수의 세그먼트들(138)에서의 세그먼트들을 함께 합치는 단계;
    타겟 이미지를 형성하기 위해 마스터 세그먼트들의 세트(142)로부터 타겟 세그먼트들의 세트(154)를 식별하는 단계; 및
    이미지들의 시퀀스(110)의 다수의 후속 이미지들(162)에서의 이동 물체들의 세트(155)를 추적하는 데 사용하기 위해 핑거프린트들의 세트(156)를 생성하는 단계;를 포함하고,
    모션 이미지(136)는 모션 프로파일들의 세트(135)를 포함하고,
    타겟 세그먼트들의 세트(154)는 현재 이미지(128)에서의 이동 물체들의 세트(155)를 나타내는 것을 특징으로 하는 이미지 처리 시스템(104).
KR1020130095201A 2012-09-28 2013-08-12 비디오에서 이동 물체들을 추적하기 위해 핑거프린트들을 이용하기 위한 방법 및 시스템 KR102069390B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/631,726 US8811670B2 (en) 2012-09-28 2012-09-28 Method and system for using fingerprints to track moving objects in video
US13/631,726 2012-09-28

Publications (2)

Publication Number Publication Date
KR20140043023A true KR20140043023A (ko) 2014-04-08
KR102069390B1 KR102069390B1 (ko) 2020-01-23

Family

ID=49223564

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130095201A KR102069390B1 (ko) 2012-09-28 2013-08-12 비디오에서 이동 물체들을 추적하기 위해 핑거프린트들을 이용하기 위한 방법 및 시스템

Country Status (8)

Country Link
US (1) US8811670B2 (ko)
EP (1) EP2713308B1 (ko)
JP (1) JP6650657B2 (ko)
KR (1) KR102069390B1 (ko)
CN (1) CN103716687B (ko)
AU (1) AU2013213659B2 (ko)
BR (1) BR102013024785B1 (ko)
RU (1) RU2013143669A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018204120A1 (en) * 2017-05-02 2018-11-08 Hrl Laboratories, Llc System and method for detecting moving obstacles based on sensory prediction from ego-motion

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9036910B1 (en) 2012-09-28 2015-05-19 The Boeing Company Method and system for processing a sequence of images using fingerprints
US9429425B2 (en) 2013-03-05 2016-08-30 Here Global B.V. Aerial image collection
JP6278752B2 (ja) * 2014-03-05 2018-02-14 株式会社キーエンス 形状検査装置及び形状検査方法
US9639807B2 (en) * 2014-06-10 2017-05-02 Jose Oriol Lopez Berengueres Method and system for forecasting future events
US9791541B2 (en) 2014-12-19 2017-10-17 The Boeing Company System and method to improve object tracking using multiple tracking systems
US9940726B2 (en) 2014-12-19 2018-04-10 The Boeing Company System and method to improve object tracking using tracking fingerprints
DE102015002923B4 (de) * 2015-03-06 2023-01-12 Mekra Lang Gmbh & Co. Kg Anzeigeeinrichtung für ein Fahrzeug insbesondere Nutzfahrzeug
US9483839B1 (en) 2015-05-06 2016-11-01 The Boeing Company Occlusion-robust visual object fingerprinting using fusion of multiple sub-region signatures
KR102334767B1 (ko) * 2015-07-23 2021-12-02 한화테크윈 주식회사 네트워크 카메라 제어 장치 및 방법
US9495763B1 (en) 2015-09-28 2016-11-15 International Business Machines Corporation Discovering object pathways in a camera network
US10460156B2 (en) 2018-03-06 2019-10-29 Sony Corporation Automated tracking and retaining of an articulated object in a sequence of image frames
CN109214315A (zh) * 2018-08-21 2019-01-15 北京深瞐科技有限公司 人车跨镜头追踪方法及装置
CA3128973A1 (en) 2019-03-04 2020-09-10 Bhaskar Bhattacharyya Data compression and communication using machine learning
US11734907B2 (en) 2020-04-24 2023-08-22 Humanising Autonomy Limited Tracking vulnerable road users across image frames using fingerprints obtained from image analysis
US11430221B2 (en) * 2020-09-11 2022-08-30 Sensormatic Electronics, LLC Enhancing detection of occluded objects in a multiple object detection system
US11983883B2 (en) 2020-12-15 2024-05-14 The Boeing Company Intensity-based image modification for computer vision
CN113891012B (zh) * 2021-09-17 2024-05-28 天津极豪科技有限公司 一种图像处理方法、装置、设备以及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010041034A1 (en) * 2008-10-09 2010-04-15 Isis Innovation Limited Visual tracking of objects in images, and segmentation of images

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222584A (ja) * 1999-01-29 2000-08-11 Toshiba Corp 映像情報記述方法、映像検索方法及び映像検索装置
US6954544B2 (en) * 2002-05-23 2005-10-11 Xerox Corporation Visual motion analysis method for detecting arbitrary numbers of moving objects in image sequences
US7886365B2 (en) * 2002-06-11 2011-02-08 Panasonic Corporation Content-log analyzing system and data-communication controlling device
WO2006093508A2 (en) * 2004-06-01 2006-09-08 Lumidigm, Inc. Multispectral imaging biometrics
JP4768544B2 (ja) * 2006-08-10 2011-09-07 株式会社東芝 目標検出追随装置
WO2010022185A1 (en) * 2008-08-19 2010-02-25 Digimarc Corporation Methods and systems for content processing
JP5103665B2 (ja) * 2008-10-24 2012-12-19 国立大学法人広島大学 物体追跡装置および物体追跡方法
JP4715909B2 (ja) * 2008-12-04 2011-07-06 ソニー株式会社 画像処理装置及び方法、画像処理システム、並びに、画像処理プログラム
JP5214533B2 (ja) * 2009-05-21 2013-06-19 富士フイルム株式会社 人物追跡方法、人物追跡装置および人物追跡プログラム
US8116527B2 (en) * 2009-10-07 2012-02-14 The United States Of America As Represented By The Secretary Of The Army Using video-based imagery for automated detection, tracking, and counting of moving objects, in particular those objects having image characteristics similar to background
US8731239B2 (en) * 2009-12-09 2014-05-20 Disney Enterprises, Inc. Systems and methods for tracking objects under occlusion
KR20130113481A (ko) * 2010-11-12 2013-10-15 넥스트나브, 엘엘씨 광역 포지셔닝 시스템
US8620026B2 (en) * 2011-04-13 2013-12-31 International Business Machines Corporation Video-based detection of multiple object types under varying poses
US8498448B2 (en) * 2011-07-15 2013-07-30 International Business Machines Corporation Multi-view object detection using appearance model transfer from similar scenes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010041034A1 (en) * 2008-10-09 2010-04-15 Isis Innovation Limited Visual tracking of objects in images, and segmentation of images

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
T. Nathan Mundhenk 등, Intelligent Robots and Computer Vision XXIX: Algorithms and Techniques, Proc. of SPIE-IS&T Electronic Imaging, SPIE Vol. 8301, 83010H, (2012.01.22.)* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018204120A1 (en) * 2017-05-02 2018-11-08 Hrl Laboratories, Llc System and method for detecting moving obstacles based on sensory prediction from ego-motion
US10679355B2 (en) 2017-05-02 2020-06-09 Hrl Laboratories, Llc System and method for detecting moving obstacles based on sensory prediction from ego-motion

Also Published As

Publication number Publication date
CN103716687A (zh) 2014-04-09
AU2013213659B2 (en) 2018-06-07
CN103716687B (zh) 2019-01-08
RU2013143669A (ru) 2015-04-10
EP2713308A3 (en) 2015-08-05
US20140093127A1 (en) 2014-04-03
KR102069390B1 (ko) 2020-01-23
JP6650657B2 (ja) 2020-02-19
AU2013213659A1 (en) 2014-04-17
BR102013024785A2 (pt) 2015-09-15
JP2014071902A (ja) 2014-04-21
EP2713308A2 (en) 2014-04-02
EP2713308B1 (en) 2021-11-03
US8811670B2 (en) 2014-08-19
BR102013024785B1 (pt) 2021-04-06

Similar Documents

Publication Publication Date Title
KR102069390B1 (ko) 비디오에서 이동 물체들을 추적하기 위해 핑거프린트들을 이용하기 위한 방법 및 시스템
JP2014071902A5 (ko)
Wu et al. Lane-mark extraction for automobiles under complex conditions
Brunner et al. Selective combination of visual and thermal imaging for resilient localization in adverse conditions: Day and night, smoke and fire
Azevedo et al. Automatic vehicle trajectory extraction by aerial remote sensing
Tan et al. Color model-based real-time learning for road following
JP5952001B2 (ja) 深さ情報を用いたカメラモーションの推定方法および装置、拡張現実システム
Ćesić et al. Radar and stereo vision fusion for multitarget tracking on the special Euclidean group
US8447069B2 (en) Apparatus and method for moving object detection
US9704264B2 (en) Method for tracking a target in an image sequence, taking the dynamics of the target into consideration
US9036910B1 (en) Method and system for processing a sequence of images using fingerprints
Mu et al. Multiscale edge fusion for vehicle detection based on difference of Gaussian
KR101062225B1 (ko) 감시 카메라를 이용한 지능형 영상 검색 방법 및 시스템
Palaniappan et al. Moving object detection for vehicle tracking in wide area motion imagery using 4d filtering
CN111881853A (zh) 一种超大桥隧中异常行为识别方法和装置
CN106504274A (zh) 一种基于红外摄像头下的视觉跟踪方法及***
Ali et al. Correlation, Kalman filter and adaptive fast mean shift based heuristic approach for robust visual tracking
CN116643291A (zh) 一种视觉与激光雷达联合剔除动态目标的slam方法
Lei et al. Multitarget detection and tracking method in remote sensing satellite video
Skoglar et al. Pedestrian tracking with an infrared sensor using road network information
Stumper et al. Offline object extraction from dynamic occupancy grid map sequences
Yang et al. Feature matching error analysis and modeling for consistent estimation in vision‐aided navigation
Czyzewski et al. Examining Kalman filters applied to tracking objects in motion
Bensebaa et al. Direction estimation of moving pedestrian groups for intelligent vehicles
Vella et al. Improved detection for wami using background contextual information

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant