KR20230076044A - 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템 - Google Patents

동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템 Download PDF

Info

Publication number
KR20230076044A
KR20230076044A KR1020210188272A KR20210188272A KR20230076044A KR 20230076044 A KR20230076044 A KR 20230076044A KR 1020210188272 A KR1020210188272 A KR 1020210188272A KR 20210188272 A KR20210188272 A KR 20210188272A KR 20230076044 A KR20230076044 A KR 20230076044A
Authority
KR
South Korea
Prior art keywords
target object
target
tracking information
descriptor
feature point
Prior art date
Application number
KR1020210188272A
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 US17/993,668 priority Critical patent/US20230162375A1/en
Priority to EP22209069.8A priority patent/EP4184446A1/en
Publication of KR20230076044A publication Critical patent/KR20230076044A/ko

Links

Images

Classifications

    • 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
    • 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/84Arrangements for image or video recognition or understanding using pattern recognition or machine learning using probabilistic graphical models from image or video features, e.g. Markov models or Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • 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/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • 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/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법은, 단말의 적어도 하나의 프로세서에 의하여 실행되는 타겟 검출 애플리케이션이 동적 학습(Dynamic learning)을 기초로 타겟 검출 성능을 향상시키는 방법으로서, 타겟객체에 대한 복수의 제1 특징점 및 상기 제1 특징점별 복수의 제1 디스크립터를 포함하는 제1 타겟객체 트래킹 정보를 획득하는 단계; 상기 타겟객체를 촬영한 제1 촬영영상을 획득하는 단계; 상기 획득된 제1 촬영영상으로부터 복수의 제2 특징점 및 상기 제2 특징점별 복수의 제2 디스크립터를 포함하는 타겟객체 감지정보를 추출하는 단계; 상기 추출된 타겟객체 감지정보와 상기 제1 타겟객체 트래킹 정보를 비교하여 상기 타겟객체를 검출하는 단계; 상기 검출된 타겟객체에 대한 타겟객체 감지정보를 기초로 상기 제1 타겟객체 트래킹 정보를 업데이트한 제2 타겟객체 트래킹 정보를 획득하는 단계; 및 상기 획득된 제2 타겟객체 트래킹 정보에 기초한 타겟객체 검출 서비스를 제공하는 단계를 포함한다.

Description

동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템{METHOD AND SYSTEM FOR IMPROVING TARGET DETECTION PERFORMANCE THROUGH DYNAMIC LEARNING}
본 발명은 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템에 관한 것이다. 보다 상세하게는, 실제 촬영한 영상으로부터 관측된 이미지 패턴을 기초로 소정의 타겟에 대해 기 구축된 패턴 데이터를 동적으로 업데이트하여 검출 성능을 향상시키는 방법 및 그 시스템에 관한 것이다.
일반적으로, 영상을 이용한 정보 획득, 식별 및/또는 추적 등을 수행하는 영상 처리 기술은, 의료, 생체 인식, 군사 및/또는 공장 자동화 등 여러 분야에서 활용되며 많은 연구가 진행되고 있다.
이러한 영상 처리 기술에는 활용하고자 하는 목적 등에 따라서 객체 검출 알고리즘이나 객체 추적 알고리즘 등과 같은 다양한 알고리즘이 존재한다.
여기서, 객체 검출 알고리즘은 찾고자 하는 객체의 특징(feature)을 사전에 추출하고 주어진 영상 내에서 해당하는 특징을 검출하는 접근 방식으로 구현되고 있으며, 객체 추적 알고리즘은 해당 영상 내 객체의 움직임을 궤적 정보로 나타내는 영상 처리 기술로서, 감시 카메라, 드론 비행 안정화 및 차량용 ADAS(Advanced Driver Assistance System) 등 다양한 분야에서 활용된다.
종래에는, 움직이는 영상(즉, 연속된 이미지)에 대하여 소정의 이미지 센서에 기반한 객체 검출 및 추적 알고리즘을 구현하기 위해, 연속된 이미지 내 픽셀들을 각각의 이미지마다 추적하고 매칭된 픽셀들의 3차원 점을 구축 및 분류하는 방식을 사용해 왔다.
위처럼 연속된 이미지에서 픽셀들을 추적하는 방법은 KLT(Kanade-Lucas-Tomasi) Tracking 알고리즘을 통해 특징점을 추적하는 방법, 또는 SIFT(Scale-Invariant Feature Transform) 알고리즘을 통해 특징점을 추출하여 매칭하는 방법 등이 있다.
그러나 종래의 본 기술분야에서는, 실제 촬영한 소정의 영상로부터 타겟으로 하는 특정 객체를 검출하기 위해 기 구축해놓은 패턴 데이터들(예컨대, 해당 객체에 대한 특징점별 디스크립터(descriptor) 등)이, 해당 기 구축된 패턴 데이터들을 설정하는데 사용한 기반 영상의 촬영환경과 상이한 촬영환경(예컨대, 서로 다른 조명 조건, 촬영 시점 및/또는 카메라 사양 등)이나 소정의 노이즈(예컨대, 빛반사 및/또는 모션블러 등)에 의한 왜곡을 반영하지 못한다는 한계가 있다.
KR 10-2021-0102180 A
본 발명은, 실제 촬영한 영상으로부터 관측된 이미지 패턴을 기초로 소정의 타겟에 대해 기 구축된 패턴 데이터를 동적으로 업데이트하여 검출 성능을 향상시키는 방법 및 그 시스템을 제공하는데 목적이 있다.
자세히, 본 발명은, 소정의 타겟객체 검출을 위하여 기 구축된 패턴 데이터에 상기 타겟객체를 실제 촬영한 영상으로부터 검출된 패턴 데이터를 동적으로 추가하여 해당 타겟객체에 대한 검출 성능을 향상시키는 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템을 제공하고자 한다.
다만, 본 발명 및 본 발명의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법은, 단말의 적어도 하나의 프로세서에 의하여 실행되는 타겟 검출 애플리케이션이 동적 학습(Dynamic learning)을 기초로 타겟 검출 성능을 향상시키는 방법으로서, 타겟객체에 대한 복수의 제1 특징점 및 상기 제1 특징점별 복수의 제1 디스크립터를 포함하는 제1 타겟객체 트래킹 정보를 획득하는 단계; 상기 타겟객체를 촬영한 제1 촬영영상을 획득하는 단계; 상기 획득된 제1 촬영영상으로부터 복수의 제2 특징점 및 상기 제2 특징점별 복수의 제2 디스크립터를 포함하는 타겟객체 감지정보를 추출하는 단계; 상기 추출된 타겟객체 감지정보와 상기 제1 타겟객체 트래킹 정보를 비교하여 상기 타겟객체를 검출하는 단계; 상기 검출된 타겟객체에 대한 타겟객체 감지정보를 기초로 상기 제1 타겟객체 트래킹 정보를 업데이트한 제2 타겟객체 트래킹 정보를 획득하는 단계; 및 상기 획득된 제2 타겟객체 트래킹 정보에 기초한 타겟객체 검출 서비스를 제공하는 단계를 포함한다.
이때, 상기 제2 타겟객체 트래킹 정보를 생성하는 단계는, 상기 복수의 제1 디스크립터와 상기 복수의 제2 디스크립터 각각을 비교하여 복수의 특징점 매칭 스코어를 산출하는 단계를 포함한다.
또한, 상기 제2 타겟객체 트래킹 정보를 생성하는 단계는, 상기 산출된 복수의 특징점 매칭 스코어 각각을 소정의 임계치(Threshold)와 비교하는 단계와, 상기 소정의 임계치를 초과하는 특징점 매칭 스코어를 검출하는 단계와, 상기 검출된 특징점 매칭 스코어를 가지는 제2 디스크립터를 제3 디스크립터로 결정하는 단계를 더 포함한다.
또한, 상기 제2 타겟객체 트래킹 정보를 획득하는 단계는, 상기 결정된 제3 디스크립터를 매칭되는 특징점을 검출 및 추적하기 위한 디스크립터로 추가하는 단계를 더 포함한다.
또한, 상기 제2 타겟객체 트래킹 정보를 생성하는 단계는, 상기 타겟객체 감지정보와 상기 제1 타겟객체 트래킹 정보를 기초로 상기 제3 디스크립터에 대한 회전 파라미터(R, Rotation) 값 및 평행이동 파라미터(T, Translation) 값을 획득하는 단계와, 상기 획득된 회전 파라미터 값 및 평행이동 파라미터 값을 상기 제3 디스크립터에 매칭하여 저장하는 단계를 더 포함한다.
또한, 상기 타겟객체를 검출하는 단계는, 상기 산출된 복수의 특징점 매칭 스코어를 기초로 상기 복수의 제1 디스크립터와 상기 복수의 제2 디스크립터 전체에 대한 종합 매칭 스코어를 산출하는 단계를 포함한다.
또한, 상기 타겟객체를 검출하는 단계는, 상기 산출된 종합 매칭 스코어가 소정의 임계치를 초과하면 상기 제1 촬영영상 내 상기 타겟객체를 검출하는 단계를 더 포함한다.
한편, 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 시스템은, 적어도 하나 이상의 메모리; 및 적어도 하나 이상의 프로세서; 를 포함하고, 상기 메모리에 저장되고 상기 프로세서에 의해 실행되어 동적 학습(Dynamic learning)을 기초로 타겟 검출 성능을 향상시키는 적어도 하나의 애플리케이션으로서 상기 적어도 하나의 애플리케이션은, 타겟객체에 대한 복수의 제1 특징점 및 상기 제1 특징점별 매칭되는 복수의 제1 디스크립터를 포함하는 제1 타겟객체 트래킹 정보를 획득하고, 상기 타겟객체를 촬영한 제1 촬영영상을 획득하고, 상기 획득된 제1 촬영영상으로부터 복수의 제2 특징점 및 상기 제2 특징점별 매칭되는 복수의 제2 디스크립터를 포함하는 타겟객체 감지정보를 추출하고, 상기 추출된 타겟객체 감지정보와 상기 제1 타겟객체 트래킹 정보를 비교하여 상기 타겟객체를 검출하고, 상기 검출된 타겟객체에 대한 타겟객체 감지정보를 기초로 상기 제1 타겟객체 트래킹 정보를 업데이트한 제2 타겟객체 트래킹 정보를 생성하고, 상기 생성된 제2 타겟객체 트래킹 정보에 기초한 타겟객체 검출 서비스를 제공한다.
이때, 상기 애플리케이션은, 상기 복수의 제1 디스크립터와 상기 복수의 제2 디스크립터 각각을 비교하여 복수의 특징점 매칭 스코어를 산출하고, 상기 산출된 복수의 특징점 매칭 스코어 중에서 소정의 임계치를 초과하는 특징점 매칭 스코어를 가지는 제2 디스크립터를 제3 디스크립터로 결정하고, 상기 결정된 제3 디스크립터를 상기 제3 디스크립터에 매칭되는 상기 제1 디스크립터로 추가한다.
또한, 상기 애플리케이션은, 상기 산출된 복수의 특징점 매칭 스코어를 기초로 상기 복수의 제1 디스크립터와 상기 복수의 제2 디스크립터 전체에 대한 종합 매칭 스코어를 산출하고, 상기 산출된 종합 매칭 스코어가 소정의 임계치를 초과하면 상기 제1 촬영영상 내 상기 타겟객체를 검출한다.
본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템은, 소정의 타겟객체 검출을 위하여 기 구축된 패턴 데이터에 상기 타겟객체를 실제 촬영한 영상으로부터 검출된 패턴 데이터를 동적으로 추가함으로써, 상기 기 구축된 패턴 데이터를 설정하는데 사용한 기반 영상의 촬영환경과 서로 다른 촬영환경에서 상기 실제 촬영영상이 획득됨에 따른 소정의 노이즈(예컨대, 빛반사 및/또는 모션블러 등)에 의한 왜곡까지도 상기 타겟객체 검출 시 활용 가능한 기반 데이터에 포함시키는 동적 트레이닝(dynamic learning)을 구현할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템은, 위와 같은 동적 트레이닝을 수행함으로써, 해당 실제 촬영영상을 촬영한 촬영환경(예컨대, 카메라 스펙(사양), 촬영 시점 및/또는 조명 조건 등)에 최적화된 패턴 데이터(에러 데이터)를 상기 타겟객체 검출을 위한 기반 데이터로서 누적할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템은, 상기 실제 촬영영상으로부터 검출된 패턴 데이터를 해당 타겟객체 검출을 위한 기반 데이터에 동적으로 누적함으로써, 촬영환경별로 특화된 타겟 검출 데이터를 이용하여 해당 촬영환경에 의한 노이즈에 관계없이 원하는 타겟객체를 용이하게 검출하도록 지원할 수 있고, 이를 통해 해당 타겟객체에 대한 검출 성능을 향상시킬 수 있는 효과가 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 명확하게 이해될 수 있다.
도 1은 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 시스템의 개념도이다.
도 2는 본 발명의 실시예에 따른 단말의 내부 블록도이다.
도 3은 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법을 설명하기 위한 개념도의 일례이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 시스템의 개념도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 동적 학습 기반의 타겟 검출 성능 향상 시스템(1000: 이하, 동적 학습 기반의 타겟 검출 시스템)은, 소정의 타겟객체 검출을 위하여 기 구축된 패턴 데이터에 상기 타겟객체를 실제 촬영한 영상으로부터 검출된 패턴 데이터를 동적으로 추가하여 해당 타겟객체에 대한 검출 성능을 향상시키는 동적 학습 기반의 타겟 검출 성능 향상 서비스(이하, 동적 학습 기반의 타겟 검출 서비스)를 제공할 수 있다.
실시예에서, 위와 같은 동적 학습 기반의 타겟 검출 서비스를 제공하는 동적 학습 기반의 타겟 검출 시스템(1000)은, 단말(100), 데이터베이스 서버(200) 및 네트워크(300: Network)를 포함할 수 있다.
이때, 상기 단말(100) 및 데이터베이스 서버(200)는, 상기 네트워크(300)를 통하여 연결될 수 있다.
여기서, 실시예에 따른 상기 네트워크(300)는, 상기 단말(100) 및/또는 데이터베이스 서버(200) 등과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(300)의 일례에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
이하, 첨부된 도면을 참조하여 동적 학습 기반의 타겟 검출 시스템(1000)을 구현하는 단말(100) 및 데이터베이스 서버(200)에 대해 상세히 설명한다.
- 단말(100: Terminal)
본 발명의 실시예에 따른 단말(100)은, 동적 학습 기반의 타겟 검출 서비스를 제공하는 타겟 검출 애플리케이션(이하, 애플리케이션)이 설치된 소정의 컴퓨팅 디바이스일 수 있다.
자세히, 하드웨어적 관점에서 단말(100)은, 애플리케이션이 설치된 모바일 타입 컴퓨팅 장치(100-1) 및/또는 데스크탑 타입 컴퓨팅 장치(100-2) 등을 포함할 수 있다.
여기서, 모바일 타입 컴퓨팅 장치(100-1)는, 애플리케이션이 설치된 스마트 폰이나 테블릿 PC와 같은 모바일 장치일 수 있다.
예를 들어, 모바일 타입 컴퓨팅 장치(100-1)는, 스마트 폰(smart phone), 휴대폰, 디지털방송용 디바이스, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC(tablet PC) 등이 포함될 수 있다.
또한, 데스크탑 타입 컴퓨팅 장치(100-2)는, 애플리케이션이 설치된 고정형 데스크탑 PC, 노트북 컴퓨터(laptop computer), 울트라북(ultrabook)과 같은 퍼스널 컴퓨터 등과 같이 유/무선 통신을 기반으로 동적 학습 기반의 타겟 검출 서비스를 실행하기 위한 프로그램이 설치된 장치 등을 포함할 수 있다.
또한, 실시예에 따라서 단말(100)은, 동적 학습 기반의 타겟 검출 서비스 환경을 제공하는 소정의 서버(Server) 컴퓨팅 디바이스를 더 포함할 수도 있다.
도 2는 본 발명의 실시예에 따른 단말(100)의 내부 블록도이다.
한편, 도 2를 참조하면, 기능적 관점에서 단말(100)은, 메모리(110), 프로세서 어셈블리(120), 통신 프로세서(130), 인터페이스부(140), 입력 시스템(150), 센서 시스템(160) 및 디스플레이 시스템(170)을 포함할 수 있다. 이러한 구성요소들은 단말(100)의 하우징 내에 포함되도록 구성될 수 있다.
자세히, 메모리(110)에는, 애플리케이션(111)이 저장되며, 애플리케이션(111)은 동적 학습 기반의 타겟 검출 서비스 환경을 제공하기 위한 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다.
즉, 메모리(110)는, 동적 학습 기반의 타겟 검출 서비스 환경을 생성하기 위하여 사용될 수 있는 명령 및 데이터 등을 저장할 수 있다.
또한, 상기 메모리(110)는, 프로그램 영역과 데이터 영역을 포함할 수 있다.
여기서, 실시예에 따른 프로그램 영역은, 단말(100)을 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 단말(100)의 사용에 따라 발생하는 데이터가 저장될 수 있다.
또한, 메모리(110)는, 적어도 하나 이상의 비일시적 컴퓨터 판독 가능 저장매체와, 일시적 컴퓨터 판독 가능 저장매체를 포함할 수 있다.
예를 들어, 메모리(110)는, ROM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet) 상에서 상기 메모리(110)의 저장 기능을 수행하는 웹 스토리지(web storage)를 포함할 수 있다.
프로세서 어셈블리(120)는, 동적 학습 기반의 타겟 검출 서비스 환경을 생성하기 위한 다양한 작업을 수행하기 위해, 메모리(110)에 저장된 애플리케이션(111)의 명령들을 실행할 수 있는 적어도 하나 이상의 프로세서를 포함할 수 있다.
실시예에서 프로세서 어셈블리(120)는, 동적 학습 기반의 타겟 검출 서비스를 제공하기 위하여 메모리(110)의 애플리케이션(111)을 통해 구성요소의 전반적인 동작을 컨트롤할 수 있다.
이러한 프로세서 어셈블리(120)는, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 단말(100)에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리(110)에 저장된 운영체제(OS) 및/또는 응용 프로그램 등을 실행할 수 있고, 단말(100)에 탑재된 각 구성요소들을 제어할 수 있다.
또한, 프로세서 어셈블리(120)는, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다.
또한, 프로세서 어셈블리(120)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 포함하여 구현될 수 있다.
통신 프로세서(130)은, 외부의 장치와 통신하기 위한 하나 이상의 장치를 포함할 수 있다. 이러한 통신 프로세서(130)은, 무선 네트워크를 통해 통신할 수 있다.
자세히, 통신 프로세서(130)은, 동적 학습 기반의 타겟 검출 서비스 환경을 구현하기 위한 콘텐츠 소스를 저장한 단말(100)과 통신할 수 있으며, 사용자 입력을 받은 컨트롤러와 같은 다양한 사용자 입력 컴포넌트와 통신할 수 있다.
실시예에서, 통신 프로세서(130)은, 동적 학습 기반의 타겟 검출 서비스와 관련된 각종 데이터를 타 단말(100) 및/또는 외부의 서버 등과 송수신할 수 있다.
이러한 통신 프로세서(130)은, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced),5G NR(New Radio), WIFI) 또는 근거리 통신방식 등을 수행할 수 있는 통신장치를 통해 구축된 이동 통신망 상에서 기지국, 외부의 단말(100), 임의의 서버 중 적어도 하나와 무선으로 데이터를 송수신할 수 있다.
센서 시스템(160)은, 이미지 센서(161), 위치 센서(IMU, 163), 오디오 센서(165), 거리 센서, 근접 센서, 접촉 센서 등 다양한 센서를 포함할 수 있다.
여기서, 이미지 센서(161)는, 단말(100) 주위의 물리적 공간에 대한 이미지 및/또는 영상을 캡처할 수 있다.
실시예에서, 이미지 센서(161)는, 동적 학습 기반의 타겟 검출 서비스와 관련된 영상(예컨대, 기준 타겟객체 영상 및/또는 제1 촬영영상 등)을 촬영하여 획득할 수 있다.
또한, 이미지 센서(161)는, 단말(100)의 전면 또는/및 후면에 배치되어 배치된 방향측을 촬영하여 영상을 획득할 수 있으며, 단말(100)의 외부를 향해 배치된 카메라를 통해 물리적 공간을 촬영할 수 있다.
이러한 이미지 센서(161)는, 이미지 센서장치와 영상 처리 모듈을 포함할 수 있다. 자세히, 이미지 센서(161)는, 이미지 센서장치(예를 들면, CMOS 또는 CCD)에 의해 얻어지는 정지영상 또는 동영상을 처리할 수 있다.
또한, 이미지 센서(161)는, 영상 처리 모듈을 이용하여 이미지 센서장치를 통해 획득된 정지영상 또는 동영상을 가공해 필요한 정보를 추출하고, 추출된 정보를 프로세서에 전달할 수 있다.
이러한 이미지 센서(161)는, 적어도 하나 이상의 카메라를 포함하는 카메라 어셈블리일 수 있다. 카메라 어셈블리는, 가시광선 대역을 촬영하는 일반 카메라를 포함할 수 있으며, 적외선 카메라, 스테레오 카메라 등의 특수 카메라를 더 포함할 수 있다.
또한, 위와 같은 이미지 센서(161)는, 실시예에 따라서 단말(100)에 포함되어 동작할 수도 있고, 외부의 장치(예컨대, 외부의 서버 등)에 포함되어 상술된 통신 프로세서(130) 및/또는 인터페이스부(140)에 기초한 연동을 통하여 동작할 수도 있다.
위치 센서(IMU, 163)는, 단말(100)의 움직임 및 가속도 중 적어도 하나 이상을 감지할 수 있다. 예를 들어, 가속도계, 자이로스코프, 자력계와 같은 다양한 위치 센서의 조합으로 이루어질 수 있다.
또한, 위치 센서(IMU, 163)는, 통신 프로세서(130)의 GPS와 같은 위치 통신 프로세서(130)과 연동하여, 단말(100) 주변의 물리적 공간에 대한 공간 정보를 인식할 수 있다.
오디오 센서(165)는, 단말(100) 주변의 소리를 인식할 수 있다.
자세히, 오디오 센서(165)는, 단말(100)을 사용하는 사용자의 음성 입력을 감지할 수 있는 마이크로폰을 포함할 수 있다.
실시예에서 오디오 센서(165)는 동적 학습 기반의 타겟 검출 서비스를 위해 필요한 음성 데이터를 사용자로부터 입력 받을 수 있다.
인터페이스부(140)은, 단말(100)을 하나 이상의 다른 장치와 통신 가능하게 연결할 수 있다. 자세히, 인터페이스부(140)은, 하나 이상의 상이한 통신 프로토콜과 호환되는 유선 및/또는 무선 통신 장치를 포함할 수 있다.
이러한 인터페이스부(140)을 통해 단말(100)은, 여러 입출력 장치들과 연결될 수 있다.
예를 들어, 인터페이스부(140)은, 헤드셋 포트나 스피커와 같은 오디오 출력장치와 연결되어, 오디오를 출력할 수 있다.
예시적으로 오디오 출력장치가 인터페이스부(140)을 통해 연결되는 것으로 설명하였으나, 단말(100) 내부에 설치되는 실시예도 포함될 수 있다.
또한, 예를 들면 인터페이스부(140)은, 키보드 및/또는 마우스와 같은 입력장치와 연결되어, 사용자 입력을 획득할 수 있다.
예시적으로 키보드 및/또는 마우스가 인터페이스부(140)을 통해 연결되는 것으로 설명하였으나, 단말(100) 내부에 설치되는 실시예도 포함될 수 있다.
이러한 인터페이스부(140)은, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port), 전력 증폭기, RF 회로, 송수신기 및 기타 통신 회로 중 적어도 하나를 포함하여 구성될 수 있다.
입력 시스템(150)은 동적 학습 기반의 타겟 검출 서비스와 관련된 사용자의 입력(예를 들어, 제스처, 음성 명령, 버튼의 작동 또는 다른 유형의 입력)을 감지할 수 있다.
자세히, 입력 시스템(150)은 소정의 버튼, 터치 센서 및/또는 사용자 모션 입력을 수신하는 이미지 센서(161) 등을 포함할 수 있다.
또한, 입력 시스템(150)은, 인터페이스부(140)을 통해 외부 컨트롤러와 연결되어, 사용자의 입력을 수신할 수 있다.
디스플레이 시스템(170)은, 동적 학습 기반의 타겟 검출 서비스와 관련된 다양한 정보를 그래픽 이미지로 출력할 수 있다.
실시예로, 디스플레이 시스템(170)은, 소정의 타겟객체를 촬영한 영상 및/또는 각종 사용자 인터페이스 등을 표시할 수 있다.
이러한 디스플레이는, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.
이러한 단말(100)의 하우징 내에는 상기 구성요소들이 배치될 수 있으며, 사용자 인터페이스는 사용자 터치 입력을 수신하도록 구성된 디스플레이(171) 상에 터치 센서(173)를 포함할 수 있다.
자세히, 디스플레이 시스템(170)은, 이미지를 출력하는 디스플레이(171)와, 사용자의 터치 입력을 감지하는 터치 센서(173)를 포함할 수 있다.
예시적으로 디스플레이(171)는 터치 센서(173)와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린으로 구현될 수 있다. 이러한 터치 스크린은, 단말(100)과 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 단말(100)과 사용자 사이의 출력 인터페이스를 제공할 수 있다.
한편, 본 발명의 실시예에 따른 단말(100)은, 개시된 적어도 하나의 알고리즘을 이용하여 동적 학습 기반의 타겟 검출 서비스에 필요한 각종 기능 동작을 수행할 수 있다.
실시예로, 단말(100)은, FastFeatureDetector, MSER, SimpleBlobDetector 및/또는 GFTTDetector 등과 같은 알고리즘에 기반하여 소정의 타겟객체에 대한 적어도 하나의 특징점과 상기 특징점별 디스크립터를 추출하는 기능 동작을 수행할 수 있다.
또한, 실시예에 따라서 단말(100)은, 후술되는 데이터베이스 서버(200)에서 수행하는 기능 동작의 적어도 일부를 더 수행할 수도 있다.
- 데이터베이스 서버(200: Database server)
한편, 본 발명의 실시예에 따른 데이터베이스 서버(200)는, 동적 학습 기반의 타겟 검출 서비스를 제공하기 위한 일련의 프로세스를 수행할 수 있다.
자세히, 실시예에서 데이터베이스 서버(200)는, 단말(100)과 같은 외부의 장치에서 동적 학습 기반의 타겟 검출 프로세스가 구동되게 하기 위해 필요한 데이터를, 상기 외부의 장치와 교환함으로써 상기 동적 학습 기반의 타겟 검출 서비스를 제공할 수 있다.
보다 상세히, 실시예에서 데이터베이스 서버(200)는, 외부의 장치(실시예에서, 모바일 타입 컴퓨팅 장치(100-1) 및/또는 데스크탑 타입 컴퓨팅 장치(100-2) 등)에서 애플리케이션(111)이 동작할 수 있는 환경을 제공할 수 있다.
이를 위해, 데이터베이스 서버(200)는, 애플리케이션(111)이 동작하기 위한 응용 프로그램, 데이터 및/또는 명령어 등을 포함할 수 있고, 이에 기초한 데이터를 상기 외부의 장치와 송수신할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 소정의 영상 내에서 검출하고자 하는 대상 객체인 타겟객체에 대한 제1 타겟객체 트래킹 정보를 획득할 수 있다.
여기서, 상기 제1 타겟객체 트래킹 정보는, 상기 타겟객체에 대하여 기 설정되어 있는 적어도 하나의 특징점 및 상기 특징점에 대한 디스크립터를 포함하는 정보일 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 상기 타겟객체를 촬영한 제1 촬영영상을 획득할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 상기 제1 촬영영상에 기초한 타겟객체 감지정보를 추출할 수 있다.
여기서, 상기 타겟객체 감지정보는, 소정의 촬영영상 내 소정의 객체에 대한 적어도 하나의 특징점인 관측 특징점과, 상기 관측 특징점별 디스크립터인 적어도 하나의 관측 디스크립터를 포함하는 정보일 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 상기 추출된 타겟객체 감지정보를 기초로 상기 제1 촬영영상으로부터 상기 타겟객체를 검출할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 상기 검출된 타겟객체에 대한 타겟객체 감지정보를 기초로 제2 타겟객체 트래킹 정보를 생성할 수 있다.
여기서, 상기 제2 타겟객체 트래킹 정보는, 상기 타겟객체 감지정보를 기초로 상기 제1 타겟객체 트래킹 정보를 업데이트한 정보를 의미할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 상기 생성된 제2 타겟객체 트래킹 정보에 기초한 타겟객체 검출 서비스를 구현할 수 있다.
또한, 실시예에서 데이터베이스 서버(200)는, 개시된 적어도 하나의 알고리즘을 이용하여 동적 학습 기반의 타겟 검출 서비스에 필요한 소정의 기능 동작을 수행할 수 있다.
실시예로, 데이터베이스 서버(200)는, FastFeatureDetector, MSER, SimpleBlobDetector 및/또는 GFTTDetector 등과 같은 알고리즘에 기반하여 소정의 타겟객체에 대한 적어도 하나의 특징점과 상기 특징점별 디스크립터를 추출하는 기능 동작을 수행할 수 있다.
보다 상세히, 실시예에서 데이터베이스 서버(200)는, 위와 같은 기능 동작을 수행하기 위해 구축되어 있는 소정의 알고리즘 구동 프로그램을 메모리 모듈(230)로부터 독출하여, 상기 독출된 소정의 알고리즘 시스템에 따라 해당하는 기능 동작을 수행할 수 있다.
이때, 실시예에 따라서 위와 같은 소정의 알고리즘은, 데이터베이스 서버(200)에 직접 포함되거나, 또는 데이터베이스 서버(200)와는 별도의 장치 및/또는 서버에 구현되어 상기 동적 학습 기반의 타겟 검출 서비스를 위한 기능 동작을 수행할 수 있다.
이하의 설명에서는, 상기 소정의 알고리즘이 데이터베이스 서버(200)에 포함되어 구현되는 것으로 설명하나 이에 한정되는 것은 아니다.
또한, 실시예에서 데이터베이스 서버(200)는, 동적 학습 기반의 타겟 검출 서비스를 구현하기 위한 각종 응용 프로그램, 명령어 및/또는 데이터 등을 저장하고 관리할 수 있다.
실시예로, 데이터베이스 서버(200)는, 적어도 하나 이상의 제1 타겟객체 트래킹 정보, 기준 타겟객체 영상, 제1 촬영영상, 특징점 및/또는 특징점별 디스크립터 검출 알고리즘, 타겟객체 감지정보, 매칭 스코어, 제2 타겟객체 트래킹 정보, 소정의 임계치(threshold) 데이터, 회전 파라미터(R, Rotation) 값 및/또는 평행이동 파라미터(T, Translation) 값 등을 저장 및 관리할 수 있다.
한편, 도 1을 더 참조하면, 실시예에서 위와 같은 데이터베이스 서버(200)는, 데이터 처리를 위한 적어도 하나 이상의 프로세서 모듈(210: Processor Module)과, 외부의 장치와의 데이터 교환을 위한 적어도 하나 이상의 커뮤니케이션 모듈(220: Communication Module)과, 동적 학습 기반의 타겟 검출 서비스의 제공을 위한 각종 응용 프로그램, 데이터 및/또는 명령어들을 저장하는 적어도 하나 이상의 메모리 모듈(230: Memory Module)을 포함하는 소정의 컴퓨팅 장치로 구현될 수 있다.
여기서, 상기 메모리 모듈(230)은, 동적 학습 기반의 타겟 검출 서비스를 제공하기 위한 운영체제(OS), 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다.
또한, 상기 메모리 모듈(230)은, 프로그램 영역과 데이터 영역을 포함할 수 있다.
여기서, 실시예에 따른 프로그램 영역은, 서버를 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 서버의 사용에 따라 발생하는 데이터가 저장될 수 있다.
실시예에서, 이러한 메모리 모듈(230)은, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet)상에서 상기 메모리 모듈(230)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.
또한, 메모리 모듈(230)은, 서버 상에 탈착 가능한 형태의 기록매체일 수 있다.
한편, 상기 프로세서 모듈(210)은, 동적 학습 기반의 타겟 검출 서비스를 구현하기 위하여 전술한 각 유닛(unit)의 전반적인 동작을 컨트롤할 수 있다.
이러한 프로세서 모듈(210)은, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 서버에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리 모듈(230)에 저장된 운영체제(OS) 및/또는 응용 프로그램 등을 실행할 수 있고, 서버에 탑재된 각 구성요소들을 제어할 수 있다.
또한, 프로세서 모듈(210)은, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다.
또한, 프로세서 모듈(210)은, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
이상의 설명에서는, 본 발명의 실시예에 따른 데이터베이스 서버(200)가 상술된 바와 같은 기능 동작을 수행한다고 설명하였으나, 실시예에 따라서 데이터베이스 서버(200)에서 수행하는 기능 동작의 적어도 일부를 외부의 장치(예컨대, 단말(100) 등)에서 수행할 수도 있고, 상기 외부의 장치에서 수행하는 기능 동작의 적어도 일부를 상기 데이터베이스 서버(200)에서 더 수행할 수도 있는 등 다양한 실시예가 가능할 수 있다.
- 동적 학습 기반의 타겟 검출 성능 향상방법
이하, 본 발명의 실시예에 따른 단말(100)의 적어도 하나 이상의 프로세서에 의하여 실행되는 애플리케이션(111)이 동적 학습(dynamic learning)에 기초하여 타겟 검출 성능을 향상시키는 방법을 첨부된 도면들을 참조하여 상세히 설명한다.
본 발명의 실시예에서 상기 단말(100)의 적어도 하나 이상의 프로세서는, 적어도 하나 이상의 메모리(110)에 저장된 적어도 하나 이상의 애플리케이션(111)을 실행하거나 백그라운드 상태로 동작하게 할 수 있다.
이하, 상기 적어도 하나 이상의 프로세서가 상기 애플리케이션(111)의 명령어를 실행하기 위해 동작하여 상술된 동적 학습 기반의 타겟 검출 서비스를 제공하는 방법을 수행하는 것을 상기 애플리케이션(111)이 수행하는 것으로 단축하여 설명한다.
도 3은 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법을 설명하기 위한 흐름도이고, 도 4는 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법을 설명하기 위한 개념도의 일례이다.
도 3 및 도 4를 참조하면, 실시예에서 상기 단말(100)의 적어도 하나 이상의 프로세서에 의하여 실행되거나 백그라운드 상태로 동작하는 애플리케이션(111)은, 타겟객체에 대한 제1 타겟객체 트래킹 정보를 획득할 수 있다. (S101)
여기서, 실시예에 따른 타겟객체 트래킹 정보란, 소정의 영상 내에서 검출하고자 하는 대상 객체인 타겟객체에 대한 복수의 특징점과, 상기 특징점에 대한 각각의 디스크립터(descriptor)를 포함하는 정보일 수 있다.
이때, 실시예에서 상기 디스크립터는, 해당하는 특징점 주변 픽셀을 일정한 크기의 블록으로 나누어 각 블록에 속한 픽셀의 그레디언트 히스토그램을 계산한 것을 의미한다. 이러한 디스크립터는, 타겟객체 촬영시의 특징점 주변의 밝기, 색상, 방향 및/또는 크기 등의 영향을 받을 수 있다.
또한, 실시예에서 따른 상기 제1 타겟객체 트래킹 정보는, 상기 타겟객체에 대하여 기 설정되어 있는 복수의 특징점(이하, 기준 특징점) 및 상기 복수의 특징점별 디스크립터(SD: 이하, 기준 디스크립터)를 포함하는 정보일 수 있다.
실시예에서, 애플리케이션(111)은, 외부의 컴퓨팅 디바이스(실시예로, 데이터베이스 서버(200) 등)와 연동 및/또는 자체적인 프로세스를 실행하여, 소정의 이미지 센서(161)를 기초로 적어도 일 시점(viewpoint)에서 상기 타겟객체를 촬영한 기준 타겟객체 영상(SI)을 획득할 수 있다.
이때, 바람직한 상기 타겟객체 영상은, 해당 영상 내 타겟객체를 포함하는 적어도 하나의 객체가 명확히 감지되도록, 소정의 촬영조건(예컨대, 상기 타겟객체의 정면을 수직방향에서 바라보는 시점에서, 균일한 조도(밝기) 를 가지며, 소정의 흔들림 이하를 만족하는 촬영조건 등)을 충족하는 촬영환경에서 획득된 영상일 수 있으며, 다만 이에 한정되는 것은 아니다.
또한, 애플리케이션(111)은, 상기 획득된 타겟객체 영상을 분석하여 상기 타겟객체 영상 내 타겟객체에 대한 복수의 특징점과 상기 특징점별 디스크립터를 추출할 수 있다.
예를 들면, 애플리케이션(111)은, FastFeatureDetector, MSER, SimpleBlobDetector 및/또는 GFTTDetector 등과 같은 알고리즘에 기반하여 상기 타겟객체에 대한 적어도 하나의 특징점과 상기 특징점별 디스크립터를 추출할 수 있다. 다만, 이는 일례일 뿐 이에 한정되는 것은 아니다.
또한, 애플리케이션(111)은, 상기 추출된 타겟객체에 대한 복수의 특징점을 상기 기준 특징점으로 결정하고, 상기 특징점별 디스크립터를 상기 특징점별 기준 디스크립터(SD)로 하는 상기 제1 타겟객체 트래킹 정보를 생성할 수 있다.
이러한 제1 타겟객체 트래킹 정보는, 데이터베이스 서버(200)에 저장되어 이후 제1 타겟객체를 검출/추적하여 서비스하는 다양한 단말(100)의 애플리케이션(111)들에게 제공될 수 있으며, 애플리케이션(111)들은 제1 타겟객체 트래킹 정보를 통해 단말(100)에서 직접 제1 타겟객체를 직접 촬영한 촬영영상에서 제1 타겟객체를 검출 및 트래킹할 수 있다.
이때, 애플리케이션(111)이 설치된 단말(100)의 카메라 특징, 촬영방향(촬영시점) 및 촬영환경에 따라서 촬영영상의 이미지 분석 데이터와 제1 타겟객체 트래킹 정보 사이의 차이가 발생하여, 제1 타겟객체의 정확한 검출이나 트래킹이 어려워질 수 있다.
이하에서는, 제1 타겟객체 트래킹 정보를 획득(예컨대, 데이터베이스 서버(200)에서 수신 또는 직접 생성)한 애플리케이션(111)의 다양한 동적환경에서 좀더 타겟객체의 검출 및 트래킹 성능을 향상시키기 위한 방법을 중점적으로 설명한다.
또한, 실시예에서 애플리케이션(111)은, 상기 타겟객체를 촬영한 제1 촬영영상(FI)을 획득할 수 있다. (S103)
실시예에서, 애플리케이션(111)은, 소정의 이미지 센서(161)와 연동하여 상기 타겟객체를 일 시점에서 촬영한 제1 촬영영상(FI)을 획득할 수 있다.
이때, 실시예에 따른 상기 촬영영상은, 다양한 촬영환경(예컨대, 다양한 촬영 시점, 조명 조건 및/또는 이미지 센서(161) 사양 등) 상에서 상기 이미지 센서(161)에 의해 촬영된 영상일 수 있으며, 상기 촬영환경에 따라서 서로 다른 품질로 구현될 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 제1 촬영영상(FI)에 기초한 타겟객체 감지정보를 추출할 수 있다. (S105)
여기서, 실시예에 따른 상기 타겟객체 감지정보란, 소정의 촬영영상 내 소정의 객체에 대한 복수의 특징점을 추출하여 획득한 관측 특징점과, 상기 관측 특징점별 관측 디스크립터를 포함하는 정보일 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 특징 검출기(Feature detector)와 연동하여 상기 제1 촬영영상(FI) 내 타겟객체 감지정보를 추출할 수 있다.
이때, 예시적으로 상기 특징 검출기는, FastFeatureDetector, MSER, SimpleBlobDetector 및/또는 GFTTDetector 등과 같은 알고리즘에 기반하여 상기 제1 촬영영상(FI) 내 소정의 객체에 대한 적어도 하나의 특징점과 상기 특징점별 디스크립터를 추출할 수 있다. 다만, 이는 일례일 뿐 이에 한정되는 것은 아니다.
다만, 실시예에서는 제1 타겟객체 트래킹 정보를 생성시 사용한 특징 검출기와 동일한 알고리즘을 사용하는 것으로 설명한다.
또한, 실시예에서 애플리케이션(111)은, 상기 추출된 타겟객체 감지정보에 따른 타겟객체를 검출할 수 있다. (S107)
자세히, 실시예에서 애플리케이션(111)은, 상기 제1 타겟객체 트래킹 정보와 상기 타겟객체 감지정보에 기초하여 상기 제1 촬영영상(FI)으로부터 해당하는 타겟객체를 검출할 수 있다.
보다 상세히, 실시예로 애플리케이션(111)은, 상기 제1 타겟객체 트래킹 정보의 기준 특징점별 기준 디스크립터(SD)와 상기 타겟객체 감지정보의 관측 특징점별 관측 디스크립터 각각을 상호 비교하여 상기 특징점들 간의 매칭 스코어를 산출할 수 있다.
실시예로, 애플리케이션(111)은, 상기 기준 디스크립터(SD)와 상기 관측 디스크립터 각각을 상호 비교하여 특징점별 매칭 스코어를 계산할 수 있다.
또한, 애플리케이션(111)은, 상기 산출된 특징점별 매칭 스코어에 기초한 소정의 연산(예컨대, 평균 연산 또는 덧셈 연산 등)을 수행하여 상기 기준 디스크립터와 상기 관측 디스크립터 전체에 대한 종합 매칭 스코어를 산출할 수 있다.
또한, 애플리케이션(111)은, 상기 산출된 종합 매칭 스코어가 소정의 조건을 충족하면(예컨대, 상기 특징점별 매칭 스코어의 평균이 소정의 수치 이상 등), 상기 제1 촬영영상(FI)으로부터 상기 타겟객체를 검출한 것으로 결정할 수 있다.
또한, 애플리케이션(111)은, 상기 타겟객체를 검출한 후 지속적으로 촬영되는 촬영영상에서 타겟객체를 트래킹하기 위하여 S105단계와 S107단계를 반복 수행할 수 있다.
자세히, 애플리케이션(111)은, 단말(100)이 지속적으로 촬영한 촬영영상에서 소정의 프레임간격으로 제2 내지 제N 프레임 영상(즉, 타겟객체를 트래킹하는 영상)을 획득할 수 있으며, 상기 획득된 제2 내지 제N 프레임 영상에서도 관측 특징점 추출 및 관측 특징점별 관측 디스크립터를 획득할 수 있다.
그리고 애플리케이션(111)은, 타겟객체를 검출 시 획득한 관측 디스크립터와 타겟객체 트래킹 시 획득한 관측 디스크립터를 기준으로 추후 해당 타겟객체에 대한 기준 디스크립터(SD) 업데이트를 수행할 수 있다.
한편, 실시예에서 애플리케이션(111)은, 상기 제1 타겟객체 트래킹 정보의 적어도 하나의 기준 특징점 중에서, 매칭되는 기준 디스크립터(SD)가 복수 개인 기준 특징점이 존재하면, 상기 복수의 기준 디스크립터(SD) 각각과, 이에 대응되는 상기 관측 디스크립터를 상호 비교하여 복수의 특징점 매칭 스코어를 산출할 수 있다.
또한, 애플리케이션(111)은, 상기 산출된 복수의 특징점 매칭 스코어 각각을 반영한 복수의 특징점별 매칭 스코어를 기초로 복수의 종합 매칭 스코어를 산출할 수 있다.
또한, 애플리케이션(111)은, 상기 산출된 종합 매칭 스코어 중 적어도 하나가 기 설정된 임계치 이상이면, 상기 제1 촬영영상(FI)으로부터 상기 타겟객체를 검출한 것으로 결정할 수 있다.
또는, 애플리케이션(111)은, 상기 산출된 복수의 종합 매칭 스코어에 기초한 소정의 연산(예컨대, 평균 연산 또는 덧셈 연산 등)의 결과가 기 설정된 임계치 이상이면, 상기 제1 촬영영상(FI)으로부터 상기 타겟객체를 검출한 것으로 결정할 수도 있다.
즉, 애플리케이션(111)은, 타겟객체의 일 기준 특징점에 대한 기준 디스크립터(SD)가 업데이트 등의 이유로 복수 개인 경우, 해당 복수의 기준 디스크립터(SD) 중에서 적어도 하나가 소정의 매칭 임계치를 충족하거나 또는 해당 복수의 기준 디스크립터(SD)에 기초한 소정의 연산(예컨대, 평균 연산 또는 덧셈 연산 등) 결과가 소정의 매칭 임계치를 충족하면 상기 타겟객체가 검출된 것으로 판단할 수 있다.
따라서, 애플리케이션(111)은, 일 특징점에 대한 다양한 형태의 디스크립터를 체계적이고 효과적으로 적용하여 해당하는 타겟객체 검출이 구현되도록 지원할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 검출된 타겟객체에 대한 타겟객체 감지정보를 기초로 제2 타겟객체 트래킹 정보를 생성할 수 있다. (S109)
여기서, 실시예에 따른 상기 제2 타겟객체 트래킹 정보란, 상기 타겟객체 감지정보를 기초로 상기 제1 타겟객체 트래킹 정보의 기준 디스크립터(SD)를 업데이트한 정보를 의미할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 상기 검출된 타겟객체에 대한 타겟객체 감지정보의 관측 디스크립터를 상기 제1 타겟객체 트래킹 정보에 추가하여 상기 제2 타겟객체 트래킹 정보를 생성할 수 있다.
보다 상세히, 실시예에서 애플리케이션(111)은, 상기 타겟객체 감지정보의 관측 특징점별 관측 디스크립터를 상기 제1 타겟객체 트래킹 정보에서 상기 관측 특징점 각각에 대응되는 기준 특징점별 기준 디스크립터(SD)로 추가함으로써 상기 제2 타겟객체 트래킹 정보를 생성할 수 있다.
즉, 실시예에서 상기 제2 타겟객체 트래킹 정보는, 적어도 하나의 기준 특징점별로 복수의 기준 디스크립터(SD)(즉, 실시예에서 기 존재하던 기준 디스크립터(SD)와 상술된 바와 같이 새롭게 추가된 관측 디스크립터를 포함하는 복수의 기준 디스크립터(SD))가 매칭되어 있는 형태로 구현될 수 있다.
이때, 실시예에서 애플리케이션(111)은, 상기 관측 특징점별 감지 디스크립터와 이에 대응되는 기준 특징점별 기준 디스크립터(SD)를 상호 비교하여 산출된 특징점별 매칭 스코어 중에서, 소정의 임계치(threshold)를 초과하는 특징점 매칭 스코어를 가지는 관측 디스크립터(OD: 이하, 제1 관측 디스크립터)를 상기 제1 타겟객체 트래킹 정보에 추가하여 상기 제2 타겟객체 트래킹 정보를 생성할 수 있다.
즉, 애플리케이션(111)은, 상기 소정의 임계치(예컨대, 기 설정된 수치 등)를 충족하는 특징점 매칭 스코어를 가지는 제1 관측 디스크립터(OD)를 해당 관측 특징점에 대응되는 기준 특징점에 대한 기준 디스크립터(SD)로 추가함으로써 상기 제2 타겟객체 트래킹 정보를 생성할 수 있다.
이와 같이, 애플리케이션(111)은, 소정의 타겟객체 검출을 위하여 기 구축된 패턴 데이터(실시예에서, 제1 타겟객체 트래킹 정보)에 상기 타겟객체를 실제 촬영한 영상으로부터 검출된 패턴 데이터(실시예에서, 타겟객체 감지정보)를 동적으로 추가함으로써, 상기 기 구축된 패턴 데이터를 설정하는데 사용한 기반 영상(실시예에서, 기준 타겟객체 영상(SI))의 촬영환경과 서로 다른 촬영환경에서 상기 실제 촬영영상(실시예에서, 제1 촬영영상(FI))이 획득됨에 따른 소정의 노이즈(예컨대, 빛반사 및/또는 모션블러 등)에 의한 왜곡까지도 상기 타겟객체 검출 시 활용 가능한 기반 데이터에 포함시키는 동적 트레이닝(dynamic learning)을 구현할 수 있다.
한편, 상기 S109 단계는 애플리케이션(111)으로부터 타겟객체 감지정보를 수신한 데이버베이스 서버(200)에서 수행될 수 있다.
자세히, 데이터베이스 서버(200)는, 제1 타겟객체 트래킹 정보를 서로 다른 단말(100)들에게 제공하고, 서로 다른 단말(100)들로부터 각각 제1 타겟객체 트래킹 정보를 업데이트하기 위한 타겟객체 감지 정보들을 수신하여, 타겟객체 감지 정보들을 기초로 제2 타겟객체 트래킹 정보를 생성할 수 있다.
이때, 데이터베이스 서버(200)는, 소정의 기준별로 타겟객체 트래킹 정보를 서로 다르게 생성할 수도 있다.
자세히, 데이터베이스 서버(200)는, 단말(100)들의 스펙이나, 촬영위치, 촬영시간 등의 다양한 촬영조건별로 타겟객체를 검출하기 최적화된 타겟객체 트래킹 정보를 각각 생성하여, 해당하는 단말(100)의 애플리케이션(111)이 제1 타겟객체를 검출하기 위한 정보 요청 시, 해당 단말(100)의 상황에 최적화된 타겟객체 트래킹 정보를 제공할 수도 있다.
한편, 실시예에서 애플리케이션(111)은, 위와 같이 추가적인 기준 디스크립터(SD)로 저장되는 제1 관측 디스크립터(OD)에 상기 제1 촬영영상(FI)을 촬영한 이미지 센서(161)의 회전 파라미터(R, Rotation) 및 평행이동 파라미터(T, Translation) 각각의 값을 매칭하여 저장할 수 있다.
참고적으로, 상기 회전 파라미터(R) 및 평행이동 파라미터(T)는, 상기 이미지 센서(161) 좌표계와 월드 좌표계 사이의 변환 관계를 설명하는 파라미터로서, 두 좌표계 사이의 회전(Rotation) 및 평행이동(Translation) 변환에 따라서 표현되는 파라미터일 수 있다.
자세히, 애플리케이션(111)은, 상기 제1 타겟객체 트래킹 정보와 상기 타겟객체 감지정보를 기초로 상기 제1 촬영영상(FI)을 촬영한 이미지 센서(161)에 대한 회전 파라미터(R) 값과 평행이동 파라미터(T) 값(이하, RT값)을 산출할 수 있다.
실시예로, 애플리케이션(111)은, 상기 제1 타겟객체 트래킹 정보의 기준 특징점 및/또는 기준 디스크립터(SD)의 위치 대비 상기 타겟객체 감지정보의 관측 특징점 및/또는 관측 디스크립터의 위치 변환관계에 기초하여 상기 RT값을 산출할 수 있다.
즉, 애플리케이션(111)은, 상술된 기준 타겟객체 영상(SI)을 촬영할 시의 이미지 센서(161)의 회전각과 위치에 대비하여 상기 제1 촬영영상(FI)을 촬영할 시의 이미지 센서(161)의 회전각과 위치가 어떻게 변화하였는지를 판단할 수 있다.
또한, 애플리케이션(111)은, 위와 같이 산출된 RT값을 상기 제1 관측 디스크립터(OD)에 매칭하여 저장 및 관리할 수 있다.
따라서, 애플리케이션(111)은, 상기 제2 타겟객체 트래킹 정보를 상기 제2 타겟객체 트래킹 정보의 적어도 하나의 기준 특징점별 복수의 기준 디스크립터(SD)(즉, 실시예에서 기 존재하던 기준 디스크립터(SD)와 상술된 바와 같이 새롭게 추가된 제1 관측 디스크립터(OD)를 포함하는 복수의 기준 디스크립터(SD))와 해당하는 제1 관측 디스크립터(OD)에 매칭되는 RT값을 포함하는 형태로 구현할 수 있다.
이를 통해, 애플리케이션(111)은, 추후 상기 RT값에 기초하여 상기 기준 디스크립터(SD)에 대한 업데이트를 수행해 상기 제2 타겟객체 트래킹 정보를 생성할 수 있도록 지원할 수 있다. 이에 대한 자세한 설명은 후술하기로 한다.
다른 실시예로, 애플리케이션(111)은, 상기 소정의 임계치(threshold)를 초과하는지 여부에 따라서 서로 다른 방식으로 상기 제1 관측 디스크립터(OD)에 기반한 상기 기준 디스크립터(SD) 업데이트를 수행할 수 있고, 이에 따른 제2 타겟객체 트래킹 정보를 생성할 수 있다.
자세히, 애플리케이션(111)은, 상기 제1 관측 디스크립터(OD)에 대한 특징점 매칭 스코어(이하, 제1 특징점 매칭 스코어)와 상기 소정의 임계치(예컨대, 기 설정된 수치 등)를 비교할 수 있다.
또한, 애플리케이션(111)은, 1) 상기 비교의 결과 상기 제1 특징점 매칭 스코어가 상기 소정의 임계치 이상이면, 상술된 방식으로 즉, 상기 제1 관측 디스크립터(OD)를 상기 제1 타겟객체 트래킹 정보에 추가하여 상기 제2 타겟객체 트래킹 정보를 생성할 수 있다.
다시 말해, 애플리케이션(111)은, 상기 제1 특징점 매칭 스코어가 상기 소정의 임계치 이상이면, 상기 제1 관측 디스크립터(OD)를 상기 제1 관측 디스크립터(OD)의 관측 특징점에 대응되는 기준 특징점에 대한 기준 디스크립터(SD)로 추가하는 업데이트를 수행하여 상기 제2 타겟객체 트래킹 정보를 생성할 수 있다.
반면, 애플리케이션(111)은, 2) 상기 비교의 결과 상기 제1 특징점 매칭 스코어가 상기 소정의 임계치 이하이면, 상기 RT값을 기초로 기준 디스크립터(SD) 업데이트를 수행하여 상기 제2 타겟객체 트래킹 정보를 생성할 수 있다.
자세히, 애플리케이션(111)은, 상기 제1 특징점 매칭 스코어가 상기 소정의 임계치 이하이면, 상기 제1 관측 디스크립터(OD)의 RT값(이하, 제1 RT값)을 기초로 상기 제1 타겟객체 트래킹 정보의 기준 특징점별 기준 디스크립터(SD) 각각을 변환할 수 있다.
보다 상세히, 애플리케이션(111)은, 상기 제1 관측 디스크립터(OD)의 제1 RT값을 기초로, 상기 제1 타겟객체 트래킹 정보 내에서 상기 소정의 임계치 이상을 불충족하여 기준 디스크립터(SD) 업데이트가 수행되지 않은(즉, 소정의 제1 관측 디스크립터(OD)가 추가되지 않은) 적어도 하나의 기준 디스크립터(이하, 잔여 기준 디스크립터)를 변환할 수 있다.
실시예로, 애플리케이션(111)은, 상기 제1 RT값을 이용하여 소정의 제2 내지 N 잔여 기준 디스크립터(실시예에서, 해당 기준 디스크립터(SD)에 대한 특징점 주변의 밝기, 색상, 방향 및/또는 크기 등의 정보)를 변경할 수 있다.
또한, 애플리케이션(111)은, 상기 변환된 적어도 하나의 잔여 기준 디스크립터 각각과, 이에 대응되는 관측 디스크립터 각각을 상호 비교하여 특징점별 매칭 스코어를 산출할 수 있다.
계속해서, 애플리케이션(111)은, 상기 산출된 적어도 하나의 특징점별 매칭 스코어 중에서, 상기 소정의 임계치를 초과하는 특징점 매칭 스코어를 가지는 관측 디스크립터를 제1 관측 디스크립터(OD)로서 검출할 수 있다.
또한, 애플리케이션(111)은, 상기 검출된 제1 관측 디스크립터(OD)를 이에 대응되는 기준 디스크립터(SD)(즉, 여기서 상기 제1 관측 디스크립터(OD)에 대응되는 잔여 기준 디스크립터)로 추가함으로써 상기 제2 타겟객체 트래킹 정보를 생성할 수 있다.
이와 같이, 애플리케이션(111)은, 소정의 매칭률을 충족하는 기준 디스크립터(SD)에 대한 RT값에 따라서 상기 소정의 매칭률을 불충족한 나머지 기준 디스크립터(SD)를 업데이트하고, 이를 기초로 제1 촬영영상(FI)으로부터 새롭게 관측된 디스크립터와의 비교를 통한 매칭률 충족 여부를 판단함으로써, 영상 촬영환경에 따른 노이즈(예컨대, 빛반사 및/또는 모션블러 등)에 의해 부정확한 매칭률이 산출되어 디스크립터 업데이트가 누락되는 문제를 최소화할 수 있다.
다시 돌아와서, 또한 실시예에서 애플리케이션(111)은, 위와 같이 생성된 제2 타겟객체 트래킹 정보를 상기 제1 타겟객체 트래킹 정보로 설정하여 상술된 동적 학습 기반의 타겟 검출 성능 향상 프로세스를 반복 수행할 수 있다.
따라서, 애플리케이션(111)은, 상기 제1 촬영영상(FI)을 촬영한 환경(예컨대, 카메라 스펙(사양), 촬영 시점 및/또는 조명 조건 등)에 최적화된 상기 타겟객체에 대한 패턴 데이터를 상기 타겟객체 검출을 위한 기반 데이터로서 누적할 수 있으며, 이를 통해 해당하는 촬영환경에 의한 노이즈에 관계없이 원하는 타겟객체를 용이하게 검출하도록 지원하여 상기 타겟객체에 대한 검출 성능을 향상시킬 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 생성된 제2 타겟객체 트래킹 정보에 기초한 타겟객체 검출 서비스를 수행할 수 있다. (S111)
즉, 실시예에서 애플리케이션(111)은, 상기 단말(100) 상에서 동작하는 타 애플리케이션(111) 및/또는 외부의 컴퓨팅 디바이스(예컨대, 외부의 단말(100) 및/또는 서버 등) 상에서 동작하는 외부 애플리케이션(111)과 연동하여, 상기 생성된 제2 타겟객체 트래킹 정보에 기초한 타겟객체 검출 서비스를 구현할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 상기 생성된 제2 타겟객체 트래킹 정보를 상기 타 애플리케이션(111) 및/또는 외부 애플리케이션(111)으로 제공할 수 있다.
이때, 실시예로 상기 제2 타겟객체 트래킹 정보를 제공받은 타 애플리케이션(111) 및/또는 외부 애플리케이션(111)은, 상기 수신된 제2 타겟객체 트래킹 정보를 기초로 소정의 영상 기반의 객체 검출 및/또는 객체 추적 서비스를 위한 일련의 기능 동작을 수행할 수 있다.
그리하여 애플리케이션(111)은, 상기 타 애플리케이션(111) 및/또는 외부 애플리케이션(111)과의 연동을 통해 상기 제2 타겟객체 트래킹 정보에 타겟객체 검출 서비스를 수행할 수 있다.
따라서, 애플리케이션(111)은, 상기 타겟객체 검출 서비스에 사용되는 소정의 영상을 촬영한 환경에 따른 노이즈의 영향을 최소로 하며 상기 촬영영상으로부터 원하는 타겟객체를 원활하게 검출하도록 지원할 수 있고, 이를 통해 타겟 검출 성능 및 품질을 향상시킬 수 있다.
이상, 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템은, 소정의 타겟객체 검출을 위하여 기 구축된 패턴 데이터에 상기 타겟객체를 실제 촬영한 영상으로부터 검출된 패턴 데이터를 동적으로 추가함으로써, 상기 기 구축된 패턴 데이터를 설정하는데 사용한 기반 영상의 촬영환경과 서로 다른 촬영환경에서 상기 실제 촬영영상이 획득됨에 따른 소정의 노이즈(예컨대, 빛반사 및/또는 모션블러 등)에 의한 왜곡까지도 상기 타겟객체 검출 시 활용 가능한 기반 데이터에 포함시키는 동적 트레이닝(dynamic learning)을 구현할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템은, 위와 같은 동적 트레이닝을 수행함으로써, 해당 실제 촬영영상을 촬영한 촬영환경(예컨대, 카메라 스펙(사양), 촬영 시점 및/또는 조명 조건 등)에 최적화된 패턴 데이터(에러 데이터)를 상기 타겟객체 검출을 위한 기반 데이터로서 누적할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템은, 상기 실제 촬영영상으로부터 검출된 패턴 데이터를 해당 타겟객체 검출을 위한 기반 데이터에 동적으로 누적함으로써, 촬영환경별로 특화된 타겟 검출 데이터를 이용하여 해당 촬영환경에 의한 노이즈에 관계없이 원하는 타겟객체를 용이하게 검출하도록 지원할 수 있고, 이를 통해 해당 타겟객체에 대한 검출 성능을 향상시킬 수 있는 효과가 있다.
한편, 이상에서 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.

Claims (10)

  1. 단말의 적어도 하나의 프로세서에 의하여 실행되는 타겟 검출 애플리케이션이 동적 학습(Dynamic learning)을 기초로 타겟 검출 성능을 향상시키는 방법으로서,
    타겟객체에 대한 복수의 제1 특징점 및 상기 제1 특징점별 복수의 제1 디스크립터를 포함하는 제1 타겟객체 트래킹 정보를 획득하는 단계;
    상기 타겟객체를 촬영한 제1 촬영영상을 획득하는 단계;
    상기 획득된 제1 촬영영상으로부터 복수의 제2 특징점 및 상기 제2 특징점별 복수의 제2 디스크립터를 포함하는 타겟객체 감지정보를 추출하는 단계;
    상기 추출된 타겟객체 감지정보와 상기 제1 타겟객체 트래킹 정보를 비교하여 상기 타겟객체를 검출하는 단계;
    상기 검출된 타겟객체에 대한 타겟객체 감지정보를 기초로 상기 제1 타겟객체 트래킹 정보를 업데이트한 제2 타겟객체 트래킹 정보를 획득하는 단계; 및
    상기 획득된 제2 타겟객체 트래킹 정보에 기초한 타겟객체 검출 서비스를 제공하는 단계를 포함하는
    동적 학습을 통한 타겟 검출 성능 향상 방법.
  2. 제1 항에 있어서,
    상기 제2 타겟객체 트래킹 정보를 생성하는 단계는,
    상기 복수의 제1 디스크립터와 상기 복수의 제2 디스크립터 각각을 비교하여 복수의 특징점 매칭 스코어를 산출하는 단계를 포함하는
    동적 학습을 통한 타겟 검출 성능 향상 방법.
  3. 제2 항에 있어서,
    상기 제2 타겟객체 트래킹 정보를 생성하는 단계는,
    상기 산출된 복수의 특징점 매칭 스코어 각각을 소정의 임계치(Threshold)와 비교하는 단계와,
    상기 소정의 임계치를 초과하는 특징점 매칭 스코어를 검출하는 단계와,
    상기 검출된 특징점 매칭 스코어를 가지는 제2 디스크립터를 제3 디스크립터로 결정하는 단계를 더 포함하는
    동적 학습을 통한 타겟 검출 성능 향상 방법.
  4. 제3 항에 있어서,
    상기 제2 타겟객체 트래킹 정보를 획득하는 단계는,
    상기 결정된 제3 디스크립터를 매칭되는 특징점을 검출 및 추적하기 위한 디스크립터로 추가하는 단계를 더 포함하는
    동적 학습을 통한 타겟 검출 성능 향상 방법.
  5. 제4 항에 있어서,
    상기 제2 타겟객체 트래킹 정보를 생성하는 단계는,
    상기 타겟객체 감지정보와 상기 제1 타겟객체 트래킹 정보를 기초로 상기 제3 디스크립터에 대한 회전 파라미터(R, Rotation) 값 및 평행이동 파라미터(T, Translation) 값을 획득하는 단계와,
    상기 획득된 회전 파라미터 값 및 평행이동 파라미터 값을 상기 제3 디스크립터에 매칭하여 저장하는 단계를 더 포함하는
    동적 학습을 통한 타겟 검출 성능 향상 방법.
  6. 제2 항에 있어서,
    상기 타겟객체를 검출하는 단계는,
    상기 산출된 복수의 특징점 매칭 스코어를 기초로 상기 복수의 제1 디스크립터와 상기 복수의 제2 디스크립터 전체에 대한 종합 매칭 스코어를 산출하는 단계를 포함하는
    동적 학습을 통한 타겟 검출 성능 향상 방법.
  7. 제6 항에 있어서,
    상기 타겟객체를 검출하는 단계는,
    상기 산출된 종합 매칭 스코어가 소정의 임계치를 초과하면 상기 제1 촬영영상 내 상기 타겟객체를 검출하는 단계를 더 포함하는
    동적 학습을 통한 타겟 검출 성능 향상 방법.
  8. 적어도 하나 이상의 메모리; 및
    적어도 하나 이상의 프로세서; 를 포함하고,
    상기 메모리에 저장되고 상기 프로세서에 의해 실행되어 동적 학습(Dynamic learning)을 기초로 타겟 검출 성능을 향상시키는 적어도 하나의 애플리케이션으로서 상기 적어도 하나의 애플리케이션은,
    타겟객체에 대한 복수의 제1 특징점 및 상기 제1 특징점별 매칭되는 복수의 제1 디스크립터를 포함하는 제1 타겟객체 트래킹 정보를 획득하고,
    상기 타겟객체를 촬영한 제1 촬영영상을 획득하고,
    상기 획득된 제1 촬영영상으로부터 복수의 제2 특징점 및 상기 제2 특징점별 매칭되는 복수의 제2 디스크립터를 포함하는 타겟객체 감지정보를 추출하고,
    상기 추출된 타겟객체 감지정보와 상기 제1 타겟객체 트래킹 정보를 비교하여 상기 타겟객체를 검출하고,
    상기 검출된 타겟객체에 대한 타겟객체 감지정보를 기초로 상기 제1 타겟객체 트래킹 정보를 업데이트한 제2 타겟객체 트래킹 정보를 생성하고,
    상기 생성된 제2 타겟객체 트래킹 정보에 기초한 타겟객체 검출 서비스를 제공하는
    동적 학습을 통한 타겟 검출 성능 향상 시스템.
  9. 제8 항에 있어서,
    상기 애플리케이션은,
    상기 복수의 제1 디스크립터와 상기 복수의 제2 디스크립터 각각을 비교하여 복수의 특징점 매칭 스코어를 산출하고,
    상기 산출된 복수의 특징점 매칭 스코어 중에서 소정의 임계치를 초과하는 특징점 매칭 스코어를 가지는 제2 디스크립터를 제3 디스크립터로 결정하고,
    상기 결정된 제3 디스크립터를 상기 제3 디스크립터에 매칭되는 상기 제1 디스크립터로 추가하는
    동적 학습을 통한 타겟 검출 성능 향상 시스템.
  10. 제9 항에 있어서,
    상기 애플리케이션은,
    상기 산출된 복수의 특징점 매칭 스코어를 기초로 상기 복수의 제1 디스크립터와 상기 복수의 제2 디스크립터 전체에 대한 종합 매칭 스코어를 산출하고,
    상기 산출된 종합 매칭 스코어가 소정의 임계치를 초과하면 상기 제1 촬영영상 내 상기 타겟객체를 검출하는
    동적 학습을 통한 타겟 검출 성능 향상 시스템.
KR1020210188272A 2021-11-23 2021-12-27 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템 KR20230076044A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/993,668 US20230162375A1 (en) 2021-11-23 2022-11-23 Method and system for improving target detection performance through dynamic learning
EP22209069.8A EP4184446A1 (en) 2021-11-23 2022-11-23 Method and system for improving target detection performance through dynamic learning

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210161959 2021-11-23
KR1020210161959 2021-11-23

Publications (1)

Publication Number Publication Date
KR20230076044A true KR20230076044A (ko) 2023-05-31

Family

ID=86543470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210188272A KR20230076044A (ko) 2021-11-23 2021-12-27 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR20230076044A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210102180A (ko) 2020-02-03 2021-08-19 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 이미지 처리 방법 및 장치, 전자 기기 및 기억 매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210102180A (ko) 2020-02-03 2021-08-19 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 이미지 처리 방법 및 장치, 전자 기기 및 기억 매체

Similar Documents

Publication Publication Date Title
US10571546B2 (en) Vision and radio fusion based precise indoor localization
US10755425B2 (en) Automatic tuning of image signal processors using reference images in image processing environments
KR101722654B1 (ko) 점 특징 및 선 특징을 사용한 강력한 추적
US9495389B2 (en) Client-server based dynamic search
US9177224B1 (en) Object recognition and tracking
US8908911B2 (en) Redundant detection filtering
US10217221B2 (en) Place recognition algorithm
US9747516B2 (en) Keypoint detection with trackability measurements
WO2021035833A1 (zh) 姿态预测方法、模型训练方法及装置
KR20160003066A (ko) 일반적인 카메라 움직임 및 파노라마 카메라 움직임을 갖는 단안 시각 slam
US20170236302A1 (en) Image processing method, mobile device and method for generating a video image database
WO2021147113A1 (zh) 一种平面语义类别的识别方法以及图像数据处理装置
KR102572986B1 (ko) 사용자 지정 초기화 포인트에 기반한 개체 추적
US20230048952A1 (en) Image registration method and electronic device
CN111310595A (zh) 用于生成信息的方法和装置
KR102467036B1 (ko) 2차원 식별코드 검출을 위한 동적 영상 임계치 설정 방법 및 그 시스템
KR20230076044A (ko) 동적 학습을 통한 타겟 검출 성능 향상 방법 및 그 시스템
US20230162375A1 (en) Method and system for improving target detection performance through dynamic learning
US11688094B1 (en) Method and system for map target tracking
US20230206467A1 (en) Methods for selecting key-points for real-time tracking in a mobile environment
WO2023216957A1 (zh) 一种目标定位方法、系统和电子设备
KR20230076048A (ko) 연속 프레임 간의 실시간 이미지 타겟의 모션 추정 방법 및 그 시스템
US20230161989A1 (en) Method and system for setting dynamic image threshold for two-dimensional identification code detection
WO2021096152A1 (en) Asymmetric normalized correlation layer for deep neural network feature matching
US20230162376A1 (en) Method and system for estimating motion of real-time image target between successive frames