KR20230098944A - 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법 - Google Patents

모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법 Download PDF

Info

Publication number
KR20230098944A
KR20230098944A KR1020210187936A KR20210187936A KR20230098944A KR 20230098944 A KR20230098944 A KR 20230098944A KR 1020210187936 A KR1020210187936 A KR 1020210187936A KR 20210187936 A KR20210187936 A KR 20210187936A KR 20230098944 A KR20230098944 A KR 20230098944A
Authority
KR
South Korea
Prior art keywords
feature points
target object
keypoint
feature point
temporary
Prior art date
Application number
KR1020210187936A
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 KR1020210187936A priority Critical patent/KR20230098944A/ko
Priority to EP22216176.2A priority patent/EP4202854A1/en
Priority to US18/146,731 priority patent/US20230206467A1/en
Publication of KR20230098944A publication Critical patent/KR20230098944A/ko

Links

Images

Classifications

    • 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
    • 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/757Matching configurations of points or features
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • 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
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • 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/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video 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

Abstract

본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법은, 컴퓨팅 장치의 적어도 하나의 프로세서에 의하여 실행되는 키포인트 애플리케이션이 모바일 환경에서 실시간 트래킹을 위한 키포인트를 선택하는 방법으로서, 타겟객체를 촬영한 타겟객체 이미지를 획득하는 단계; 상기 획득된 타겟객체 이미지에서 복수의 임시 특징점을 추출하는 단계; 상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 확정 특징점을 결정하는 단계; 상기 확정 특징점을 상기 타겟객체 이미지에 대한 최종 특징점으로 설정하는 단계; 상기 타겟객체 이미지에 대해 설정된 상기 최종 특징점을 포함하는 타겟객체 트래킹 정보를 저장하는 단계; 및 상기 타겟객체 트래킹 정보를 상기 타겟객체 트래킹을 통한 소정의 기능을 실행하는 모바일 환경의 애플리케이션에 제공하는 단계를 포함한다.

Description

모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법{METHOD FOR SELECTING KEY-POINTS FOR REAL-TIME TRACKING IN A MOBILE ENVIRONMENT}
본 발명은 모바일 환경에서 실시간 트래킹을 위한 키포인트(Key point)를 선택하는 방법에 관한 것이다.
최근 영상을 이용한 정보 획득, 식별 및/또는 추적 등을 수행하는 영상 처리 기술은, 의료, 생체 인식, 군사 및/또는 공장 자동화 등 여러 분야에서 활용되며 많은 연구가 진행되고 있다.
이러한 영상 처리 기술에는 활용하고자 하는 목적 등에 따라서 객체 검출 알고리즘이나 객체 추적 알고리즘 등과 같은 다양한 알고리즘이 존재한다.
여기서, 객체 검출 알고리즘은 찾고자 하는 객체의 특징(feature)을 사전에 추출하고 주어진 영상 내에서 해당하는 특징을 검출하는 접근 방식으로 구현되고 있으며, 객체 추적 알고리즘은 해당 영상 내 객체의 움직임을 궤적 정보로 나타내는 영상 처리 기술로서, 감시 카메라, 드론 비행 안정화 및 차량용 ADAS(Advanced Driver Assistance System) 등 다양한 분야에서 활용된다.
종래에는, 움직이는 영상(즉, 연속된 이미지)에 대하여 소정의 이미지 센서에 기반한 객체 검출 및 추적 알고리즘을 구현하기 위해, 연속된 이미지 내 픽셀들을 각각의 이미지마다 추적하고 매칭된 픽셀들의 3차원 점을 구축 및 분류하는 방식을 사용해 왔다.
위처럼 연속된 이미지에서 픽셀들을 추적하는 방법은 KLT(Kanade-Lucas-Tomasi) Tracking 알고리즘을 통해 특징점을 추적하는 방법, 또는 SIFT(Scale-Invariant Feature Transform) 알고리즘을 통해 특징점을 추출하여 매칭하는 방법 등이 있다.
그러나 종래의 본 기술분야에서는, 카메라가 이동함에 따라서 해당 영상 내 객체에 대한 스케일(scale) 및/또는 시점(view point) 등이 변화하거나, 또는 움직임(motion)의 발생에 따른 각종 노이즈(예컨대, 블러나 빛번짐 등)에 의하여 해당 영상 내 목표로 하는 객체에 대한 특징점(Key point)을 검출 및/또는 추적하는데 대한 정확성 및 신뢰성이 저하된다는 문제가 있다.
KR 10-2173955 B1
본 발명은, 이미지 내 목표로 하는 객체에 대한 키포인트(Key point)를 상기 이미지 내에서 고르게 분산되어 위치하도록 추출하는 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법을 제공하는데 그 목적이 있다.
다만, 본 발명 및 본 발명의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법은, 컴퓨팅 장치의 적어도 하나의 프로세서에 의하여 실행되는 키포인트 애플리케이션이 모바일 환경에서 실시간 트래킹을 위한 키포인트를 선택하는 방법으로서, 타겟객체를 촬영한 타겟객체 이미지를 획득하는 단계; 상기 획득된 타겟객체 이미지에서 복수의 임시 특징점을 추출하는 단계; 상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 확정 특징점을 결정하는 단계; 상기 확정 특징점을 상기 타겟객체 이미지에 대한 최종 특징점으로 설정하는 단계; 상기 타겟객체 이미지에 대해 설정된 상기 최종 특징점을 포함하는 타겟객체 트래킹 정보를 저장하는 단계; 및 상기 타겟객체 트래킹 정보를 상기 타겟객체 트래킹을 통한 소정의 기능을 실행하는 모바일 환경의 애플리케이션에 제공하는 단계를 포함한다.
이때, 상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 확정 특징점을 결정하는 단계는, 상기 타겟객체 이미지 내에서 특징점들 사이의 간격에 따른 제1 분포기준에 따라서 임시 특징점을 필터링하는 단계와, 확정 특징점의 최대개수인 제2 분포기준에 따라서 임시 특징점을 필터링하는 단계를 포함한다.
또한, 상기 타겟객체 이미지 내에서 특징점들 사이의 간격에 따른 제1 분포기준에 따라서 임시 특징점을 필터링하는 단계는, 상기 복수의 임시 특징점 중 현재 피처 스코어가 가장 높은 임시 특징점을 제1 확정 특징점으로 결정하는 단계와, 상기 결정된 제1 확정 특징점으로부터 기 설정된 거리 내에 위치하는 임시 특징점을 필터링하는 단계를 포함한다.
또한, 상기 타겟객체 이미지 내에서 특징점들 사이의 간격에 따른 제1 분포기준에 따라서 임시 특징점을 필터링하는 단계는, 상기 필터링된 복수의 임시 특징점에서 현재 피처 스코어가 가장 높은 임시 특징점을 제2 확정 특징점으로 결정하는 단계와, 상기 제2 확정 특징점으로부터 기 설정된 거리 내에 위치하는 임시 특징점을 필터링하는 단계와, 상기 확정 특징점을 결정하는 단계와 필터링하는 단계를 반복하여 제3 내지 제N 확정 특징점을 결정하는 단계를 포함한다.
또한, 상기 확정 특징점의 최대개수인 제2 분포기준에 따라서 임시 특징점을 필터링하는 단계는, 상기 타겟객체 이미지를 복수의 영역으로 분할하여 복수의 분할영역을 결정하는 단계와, 상기 제1 내지 제N 확정 특징점 중 제1 분할영역에 포함된 확정 특징점의 개수가 상기 확정 특징점의 최대개수에 도달하면, 상기 제1 분할영역 내 남은 임시 특징점을 필터링하는 단계를 포함한다.
또한, 상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 확정 특징점을 결정하는 단계는, 상기 복수의 분할영역 각각에 결정된 확정 특징점의 개수가 모두 상기 확정 특징점의 최대개수에 도달하면, 상기 확정 특징점을 결정하는 단계를 종료하는 단계를 포함한다.
또한, 상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 확정 특징점을 결정하는 단계는, 상기 복수의 분할영역 중 결정된 확정 특징점의 개수가 상기 확정 특징점의 최대개수에 미달하고, 상기 추출된 임시 특징점이 모두 필터링된 제2 분할영역을 검출하는 단계와, 상기 검출된 제2 분할영역을 나타내는 미달 부분 이미지에서 복수의 임시 특징점을 재추출하는 단계와, 상기 재추출된 복수의 임시 특징점 중 상기 기 설정된 분포기준에 따라서 필터링하여 추가 특징점을 결정하는 단계를 포함한다.
또한, 상기 확정 특징점을 상기 타겟객체 이미지에 대한 최종 특징점으로 설정하는 단계는, 상기 결정된 추가 특징점을 포함하여 상기 타겟객체 이미지에 대한 최종 특징점을 설정하는 단계를 포함한다.
또한, 상기 타겟객체 이미지에 대해 설정된 상기 최종 특징점을 포함하는 타겟객제 트래킹 정보를 저장하는 단계는, 상기 복수의 분할영역 별로 분류된 최종 특징점들을 각각의 분할영역에 매칭하여 상기 타겟객체 트래킹 정보로 저장하는 단계를 포함한다.
또한, 상기 타겟객체 트래킹 정보를 상기 타겟객체 트래킹을 통한 소정의 기능을 실행하는 모바일 환경의 애플리케이션에 제공하는 단계는, 상기 모바일 환경의 애플리케이션이 상기 타겟객체를 트래킹시 촬영된 이미지를 복수의 분할영역으로 분류하고, 상기 복수의 분할영역 별로 병렬연산하여 각각 설정된 최종 특징점을 통해 이미지 트래킹하도록 상기 타겟객체 트래킹 정보를 제공하는 단계를 포함한다.
한편, 본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법은, 컴퓨팅 장치의 적어도 하나의 프로세서에 의하여 실행되는 키포인트 애플리케이션이 모바일 환경에서 실시간 트래킹을 위한 키포인트를 선택하는 방법으로서, 타겟객체를 촬영한 타겟객체 이미지를 획득하는 단계; 상기 획득된 타겟객체 이미지를 기 설정된 영역으로 분할하는 단계; 상기 분할된 타겟객체 이미지 내 상기 타겟객체에 대한 복수의 임시 특징점을 추출하는 단계; 상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 상기 분할된 영역별로 확정 특징점을 결정하는 단계; 상기 확정 특징점을 상기 타겟객체 이미지에 대한 최종 특징점으로 설정하는 단계; 상기 타겟객체 이미지에 대해 설정된 상기 최종 특징점을 포함하는 타겟객체 트래킹 정보를 저장하는 단계; 및 상기 타겟객체 트래킹 정보를 상기 타겟객체 트래킹을 통한 소정의 기능을 실행하는 모바일 환경의 애플리케이션에 제공하는 단계를 포함한다.
본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법은, 이미지 내 목표로 하는 객체에 대한 키포인트(Key point)를 상기 이미지 내에서 고르게 분산되어 위치하도록 추출함으로써, 상기 이미지 내 목표로 하는 객체에 대한 스케일(scale) 및/또는 시점(view point) 등이 변화하거나 각종 노이즈(예컨대, 블러나 빛번짐 등)가 발생하더라도 상기 객체에 대한 검출 및/또는 추적 성능의 저하를 방지하는 강건한 키포인트를 제공할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법은, 위와 같은 강건한 키포인트를 제공하여 이에 기초한 각종 애플리케이션 서비스(예컨대, 객체 검출 및/또는 추적 서비스, 증강현실 서비스, 자율주행 서비스, 슬램(SLAM) 서비스 및/또는 로봇제어 서비스 등)가 구현되게 함으로써, 보다 정확하고 신뢰성 있는 특징점 데이터를 이용한 각종 애플리케이션 서비스를 실현함과 동시에 그 성능 및 품질을 제고할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법은, 이미지를 소정의 구역으로 분할하고 상기 분할된 구역별로 매칭하여 상기 목표로 하는 객체에 대한 키포인트를 제공함으로써, 상기 제공된 키포인트에 기초한 객체 검출 및/또는 추적 프로세스를 수행할 시 상기 분할된 구역별 키포인트에 기초한 병렬연산을 가능하게 하여 데이터 처리 속도를 증진시킬 수 있는 효과가 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 명확하게 이해될 수 있다.
도 1은 본 발명의 실시예에 따른 컴퓨팅 장치의 내부 블록도이다.
도 2는 본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 실시예에 따른 타겟객체 이미지 내 임시 특징점을 추출하는 방법을 설명하기 위한 도면의 일례이다.
도 4는 본 발명의 실시예에 따른 기 설정된 거리를 기초로 임시 특징점을 필터링하여 확정 특징점을 결정하는 방법을 설명하기 위한 도면의 일례이다.
도 5는 본 발명의 실시예에 따른 기 설정된 이미지 분할구역에 기초하여 임시 특징점을 필터링해 확정 특징점을 결정하는 방법을 설명하기 위한 도면의 일례이다.
도 6은 본 발명의 실시예에 따른 추가 특징점을 설정하는 방법을 설명하기 위한 도면의 일례이다.
도 7은 본 발명의 다른 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 타겟객체 이미지 내 임시 특징점을 추출하는 방법을 설명하기 위한 도면의 일례이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
- 컴퓨팅 장치(100: Computing Device)
본 발명의 실시예에 따른 컴퓨팅 장치(100)는, 이미지 내 고르게 분산되어 위치한 특징점(Key point)을 추출하는 키포인트 선택 서비스를 제공하는 키포인트 애플리케이션이 설치된 소정의 컴퓨팅 디바이스일 수 있다.
자세히, 하드웨어적 관점에서 컴퓨팅 장치(100)는, 키포인트 애플리케이션이 설치된 데스크탑 타입 컴퓨팅 장치(100) 및/또는 모바일 타입 컴퓨팅 장치(100) 등을 포함할 수 있다.
여기서, 데스크탑 타입 컴퓨팅 장치(100)는, 키포인트 애플리케이션이 설치된 고정형 데스크탑 PC, 노트북 컴퓨터(laptop computer), 울트라북(ultrabook)과 같은 퍼스널 컴퓨터 등과 같이 유/무선 통신을 기반으로 키포인트 선택 서비스를 실행하기 위한 프로그램이 설치된 장치 등을 포함할 수 있다.
또한, 모바일 타입 컴퓨팅 장치(100)는, 키포인트 애플리케이션이 설치된 스마트 폰이나 테블릿 PC와 같은 모바일 장치일 수 있다.
예를 들어, 모바일 타입 컴퓨팅 장치(100)는, 스마트 폰(smart phone), 휴대폰, 디지털방송용 컴퓨팅 장치(100)이기, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC(tablet PC) 등이 포함될 수 있다.
또한, 실시예에 따라서 컴퓨팅 장치(100)는, 키포인트 선택 서비스 환경을 제공하는 소정의 서버(Server) 컴퓨팅 디바이스를 더 포함할 수도 있다.
도 1은 본 발명의 실시예에 따른 컴퓨팅 장치(100)의 내부 블록도이다.
한편, 도 1을 참조하면, 기능적 관점에서 컴퓨팅 장치(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)는, 키포인트 선택 서비스와 관련된 영상(예컨대, 타겟객체 이미지 등)을 촬영하여 획득할 수 있다.
또한, 이미지 센서(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)의 적어도 하나 이상의 프로세서에 의하여 실행되는 키포인트 애플리케이션(111)이 모바일 환경에서 실시간 트래킹을 위한 키포인트를 선택하는 방법을 첨부된 도 2 내지 도 6을 참조하여 상세히 설명한다.
본 발명의 실시예에서 상기 컴퓨팅 장치(100)의 적어도 하나 이상의 프로세서는, 적어도 하나 이상의 메모리(110)에 저장된 적어도 하나 이상의 키포인트 애플리케이션(111)을 실행하거나 백그라운드 상태로 동작하게 할 수 있다.
이하, 상기 적어도 하나 이상의 프로세서가 상기 키포인트 애플리케이션(111)의 명령어를 실행하기 위해 동작하여 상술된 키포인트 선택 서비스를 제공하는 방법을 수행하는 것을 상기 키포인트 애플리케이션(111)이 수행하는 것으로 단축하여 설명한다.
도 2는 본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 실시예에서 상기 컴퓨팅 장치(100)의 적어도 하나 이상의 프로세서에 의하여 실행되거나 백그라운드 상태로 동작하는 키포인트 애플리케이션(111)은, 타겟객체(Target object)를 촬영한 타겟객체 이미지를 획득할 수 있다. (S101)
자세히, 실시예에서 키포인트 애플리케이션(111)은, 특징점(Key point)을 설정하고자 하는 대상 객체인 타겟객체를 촬영한 타겟객체 이미지를 획득할 수 있다.
이때, 상기 타겟객체 이미지는, 소정의 일 시점(View point)에서 상기 타겟객체를 촬영한 이미지일 수 있다. 다만, 바람직하게는 상기 타겟객체의 정면을 수직방향에서 바라보는 시점에서 상기 타겟객체를 촬영한 이미지일 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 획득된 타겟객체 이미지 내 임시 특징점을 추출할 수 있다. (S103)
도 3은 본 발명의 실시예에 따른 타겟객체 이미지 내 임시 특징점을 추출하는 방법을 설명하기 위한 도면의 일례이다.
자세히, 도 3을 참조하면, 실시예에서 키포인트 애플리케이션(111)은, 소정의 특징 검출기(Feature detector)와 연동하여 상기 타겟객체 이미지(TOI) 내 복수의 임시 특징점(TKP)을 추출할 수 있다.
여기서, 실시예에 따른 상기 특징 검출기는, 상기 타겟객체에 대한 피처(예컨대, 엣지(Edge) 및/또는 코너(Corner) 등) 포인트를 상기 임시 특징점(TKP)으로서 추출할 수 있다.
이때, 상기 특징 검출기는, 상기 추출된 임시 특징점(TKP)별 검출강도를 나타내는 피처 스코어(Feature score)를 상기 임시 특징점(TKP) 각각에 대하여 함께 산출할 수 있다.
이러한 특징 검출기는, 예시적으로 FastFeatureDetector, MSER, SimpleBlobDetector 및/또는 GFTTDetector 등과 같은 알고리즘에 기반하여 구현될 수 있다. 다만, 이는 일례일 뿐 이에 한정되는 것은 아니다.
즉, 실시예에서 키포인트 애플리케이션(111)은, 상기 특징 검출기와 연동하여 상기 타겟객체 이미지(TOI) 내 복수의 임시 특징점(TKP)과, 상기 임시 특징점(TKP)별 피처 스코어를 획득할 수 있다.
이때, 실시예에서 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI)로부터 기 설정된 조건을 충족하는 적어도 하나의 임시 특징점(TKP)을 추출할 수 있다.
실시예로, 키포인트 애플리케이션(111)은, 기 설정된 피처 스코어(예컨대, 소정의 수치 등) 이상 및/또는 기 설정된 개수 이상의 조건을 충족하는 적어도 하나의 임시 특징점(TKP)을 상기 타겟객체 이미지(TOI)로부터 추출할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 추출된 임시 특징점(TKP) 및 분포기준에 따른 확정 특징점을 결정할 수 있다. (S105)
자세히, 실시예에서 키포인트 애플리케이션(111)은, 상기 추출된 임시 특징점(TKP)이 소정의 분포기준을 충족하면 해당 임시 특징점(TKP)을 확정 특징점으로 결정할 수 있다.
여기서, 실시예에 따른 상기 분포기준이란, 소정의 이미지(실시예에서, 상기 타겟객체 이미지(TOI))에 대하여 결정되는 적어도 하나 이상의 확정 특징점이 해당 이미지 내에서 소정의 간격 및/또는 개수에 따라서 고르게 분산되어 위치하도록 상기 복수의 임시 특징점(TKP)을 필터링하는 기준을 의미할 수 있다.
보다 상세히, 실시예에서 키포인트 애플리케이션(111)은, 1) 기 설정된 개수만큼의 임시 특징점(TKP)을 상기 확정 특징점으로 결정할 수 있다.
구체적으로, 키포인트 애플리케이션(111)은, 상기 복수의 임시 특징점(TKP)을 상기 복수의 임시 특징점(TKP) 각각에 대한 피처 스코어가 높은 순(즉, 내림차순)으로 정렬할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 정렬된 복수의 임시 특징점(TKP) 중에서 기 설정된 개수(N)만큼의 상위 N개의 임시 특징점(TKP)을 추출할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 추출된 상위 N개의 임시 특징점(TKP)을 확정 특징점으로 결정할 수 있다.
그리고 키포인트 애플리케이션(111)은, 상기 복수의 임시 특징점(TKP) 중에서 상기 확정 특징점으로 미결정된 나머지 임시 특징점을 제거하는 필터링을 수행할 수 있다.
도 4는 본 발명의 실시예에 따른 기 설정된 거리를 기초로 임시 특징점(TKP)을 필터링하여 확정 특징점을 결정하는 방법을 설명하기 위한 도면의 일례이다.
또한, 도 4를 참조하면, 실시예에서 키포인트 애플리케이션(111)은, 2) 상호 기 설정된 거리(d) 이내에 위치하는 임시 특징점(TKP)을 필터링하여 상기 확정 특징점을 결정할 수 있다.
자세히, 키포인트 애플리케이션(111)은, 상기 복수의 임시 특징점(TKP)을 상기 복수의 임시 특징점(TKP) 각각에 대한 피처 스코어가 높은 순(즉, 내림차순)으로 정렬할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 정렬된 복수의 임시 특징점(TKP) 중에서 현재 피처 스코어가 가장 높은 임시 특징점(MP1)을 제1 확정 특징점으로 결정할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 결정된 제1 확정 특징점으로부터 기 설정된 거리(d) 이내 위치하는 복수의 임시 특징점(TKP)을 검출할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 검출된 복수의 임시 특징점(TKP) 중에서 상기 제1 확정 특징점을 제외한 나머지 임시 특징점(EP1)을 필터링할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 필터링된 나머지 임시 특징점(EP1) 중에서 현재 피처 스코어가 가장 높은 임시 특징점을 제2 확정 특징점으로 결정할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 결정된 제2 확정 특징점으로부터 기 설정된 거리(d) 이내 위치하는 복수의 임시 특징점(TKP)을 검출할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 검출된 복수의 임시 특징점(TKP) 중에서 상기 제1 및 제2 확정 특징점을 제외한 나머지 임시 특징점(EP1)을 필터링할 수 있다.
계속해서, 키포인트 애플리케이션(111)은, 상기 현재 피처 스코어가 가장 높은 임시 특징점(MP1)을 기초로 확정 특징점을 결정하는 단계와 필터링하는 단계를 반복하여 제3 내지 제N 확정 특징점을 결정할 수 있다.
도 5는 본 발명의 실시예에 따른 기 설정된 이미지 분할구역에 기초하여 임시 특징점(TKP)을 필터링해 확정 특징점을 결정하는 방법을 설명하기 위한 도면의 일례이다.
또한, 도 5를 참조하면, 실시예에서 키포인트 애플리케이션(111)은, 3) 기 설정된 이미지 분할구역별 특징점 최대개수를 기준으로 임시 특징점(TKP)을 필터링하여 상기 확정 특징점을 결정할 수 있다.
자세히, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI)에 대한 그리드 분할(Grid division)을 수행하여 상기 타겟객체 이미지(TOI)를 상기 기 설정된 이미지 분할구역별로 분리할 수 있다.
예를 들면, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI)에 대한 그리드 분할을 수행하여 상기 타겟객체 이미지(TOI)를 '4행 3열(4 by 3)'로 분리할 수 있다.
이때, 키포인트 애플리케이션(111)은, 상기 분리된 분할구역별 특징점 최대개수를 기 설정할 수 있다.
즉, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내 분할구역별로 최대한으로 포함 가능한 확정 특징점의 개수를 기 설정할 수 있다.
예를 들면, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내 제1 분할구역 내지 제12 분할구역 각각에 대한 특징점 최대개수를 소정의 수치(예컨대, 1만 개 등)로 기 설정할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 분리된 분할구역별로 포함하는 적어도 하나 이상의 상기 제1 내지 제N 확정 특징점의 개수가, 해당 분할구역에 대하여 기 설정된 특징점 최대개수(MN)에 도달하면, 해당 분할영역 내 나머지 임시 특징점을 필터링할 수 있다.
또는, 키포인트 애플리케이션(111)은, 상기 분리된 분할구역별로 포함하는 적어도 하나 이상의 임시 특징점(TKP)을 해당 임시 특징점(TKP) 각각에 대한 피처 스코어가 높은 순(즉, 내림차순)으로 정렬할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 정렬된 분할구역별 적어도 하나 이상의 임시 특징점(TKP) 중에서, 해당 분할구역에 대하여 기 설정된 특징점 최대개수(MN)만큼의 상위 MN개의 임시 특징점(MP2)을 추출할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 추출된 상위 MN개의 임시 특징점(MP2)을 확정 특징점으로 결정할 수 있고, 상기 확정 특징점으로 미결정된 나머지 임시 특징점(EP2)을 제거하는 필터링을 수행할 수 있다.
이와 같이, 키포인트 애플리케이션(111)은, 상술된 바와 같은 분포기준을 기초로 상기 타겟객체 이미지(TOI)에 대하여 결정되는 적어도 하나 이상의 확정 특징점이 해당 이미지 내에서 고르게 분산되어 위치하도록 상기 복수의 임시 특징점(TKP)을 필터링함으로써, 상기 이미지 내 특징점들을 이용하여 구현되는 각종 객체 검출 및/또는 추적 서비스의 성능을 향상시킬 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 결정된 확정 특징점을 평가하고 추가 특징점을 설정할 수 있다. (S107)
자세히, 실시예에서 키포인트 애플리케이션(111)은, 상기 이미지 분할구역별로 결정된 적어도 하나 이상의 확정 특징점의 개수가 해당 분할구역에 대한 특징점 최대개수를 충족하는지 평가할 수 있다.
예를 들면, 키포인트 애플리케이션(111)은, 제1 분할구역에 대한 제1 특징점 최대개수가 '1만 개'이고 상기 제1 분할구역에 대해 결정된 제1 확정 특징점 개수가 '1만 개'이면, 상기 제1 분할구역은 해당하는 특징점 최대개수를 충족한다고 평가할 수 있다.
반대로, 예시에서 키포인트 애플리케이션(111)은, 제1 분할구역에 대한 제1 특징점 최대개수가 '1만 개'이고 상기 제1 분할구역에 대해 결정된 제1 확정 특징점 개수가 '9천 개'이면, 상기 제1 분할구역은 해당하는 특징점 최대개수를 불충한다고 평가할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 복수의 분할영역별 확정 특징점의 개수가 모두 해당하는 분할영역에 대하여 기 설정된 특징점 최대개수에 도달하면, 상기 확정 특징점을 결정하는 단계(S105)를 종료할 수 있다.
도 6은 본 발명의 실시예에 따른 추가 특징점을 설정하는 방법을 설명하기 위한 도면의 일례이다.
또한, 도 6을 참조하면, 실시예에서 키포인트 애플리케이션(111)은, 상기 평가 결과에 따라서 해당하는 분할구역별 추가 특징점(AKP)을 설정할 수 있다.
자세히, 키포인트 애플리케이션(111)은, 소정의 분할구역이 해당 분할구역에 대한 특징점 최대개수를 불충한다고 판단한 경우(즉, 소정의 분할구역에 대하여 결정된 적어도 하나 이상의 확정 특징점(CKP)의 개수가 해당 분할구역의 특징점 최대개수에 미달한 경우), 상기 확정 특징점(CKP)의 개수가 특징점 최대개수에 미달한 분할구역(이하, 미달 분할구역)에 대한 추가 특징점(AKP)을 설정할 수 있다.
보다 상세히, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내에서 상기 미달 분할구역을 나타내는 이미지(SI)(이하, 미달 부분 이미지)를 기초로, 전술된 S103 단계에서의 임시 특징점(TKP) 추출 프로세스를 재수행할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 미달 부분 이미지(SI)를 기초로 임시 특징점(TKP) 추출 프로세스를 재수행하여 추출된 복수의 임시 특징점(TKP)(이하, 2차 임시 특징점)을 기초로, 전술된 S105 단계에서의 확정 특징점(CKP) 결정 프로세스를 재수행할 수 있다.
즉, 키포인트 애플리케이션(111)은, 상기 추출된 2차 임시 특징점(TKP) 및 상기 분포기준에 따라서 상기 미달 부분 이미지(SI)(즉, 미달 분할구역)에 대한 확정 특징점(CKP)을 결정할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 2차 임시 특징점(TKP)을 기초로 결정된 확정 특징점(CKP)(이하, 2차 확정 특징점)을 상기 추가 특징점(AKP)으로 설정할 수 있다.
그리고 키포인트 애플리케이션(111)은, 상기 설정된 추가 특징점(AKP)을 상기 미달 분할구역에 대한 확정 특징점(CKP)에 더 포함시킬 수 있다.
그리하여 키포인트 애플리케이션(111)은, 상기 미달 분할구역을 해당 분할구역에 대해 기 설정된 특징점 최대개수를 충족하는 도달 분할구역으로 전환할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 추가 특징점(AKP)이 더 포함된 확정 특징점(CKP)의 개수가 해당 분할구역에 대한 특징점 최대개수를 충족하는지 재평가할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 재평가의 결과 해당 분할구역이 해당 분할구역에 대한 특징점 최대개수를 충족한다고 판단되면, 본 S107 단계 즉, 결정된 확정 특징점(CKP)을 평가하고 추가 특징점(AKP)을 설정하는 프로세스를 종료할 수 있다.
반면, 키포인트 애플리케이션(111)은, 상기 재평가의 결과 해당 미달 분할구역이 해당 분할구역에 대한 특징점 최대개수를 여전히 불충한다고 판단되면, 상기 미달 분할구역 내에서 필터링되어 제거된 적어도 하나 이상의 임시 특징점(이하, 제거 특징점)에 기초하여 상기 특징점 최대개수를 충족하게 할 수 있다.
자세히, 키포인트 애플리케이션(111)은, 상기 적어도 하나 이상의 제거 특징점 중에서, 상기 특징점 최대개수를 충족하기 위해 필요한 특징점 개수만큼을 피처 스코어가 높은 순으로 검출할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 검출된 적어도 하나 이상의 제거 특징점을 다시 해당하는 미달 분할구역으로 복원할 수 있다.
즉, 키포인트 애플리케이션(111)은, 상기 재평가의 결과 해당 미달 분할구역이 해당 분할구역에 대한 특징점 최대개수를 여전히 불충한다고 판단되면, 상기 미달 분할구역 내에서 제거되었던 적어도 하나 이상의 제거 특징점 중에서 피처 스코어가 높은 적어도 하나 이상의 제거 특징점을 다시 복귀시킬 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 복귀된 제거 특징점을 상기 미달 분할구역에 대하여 결정된 확정 특징점(CKP)에 추가 특징점(AKP)으로서 더 포함시킬 수 있다.
그리하여 키포인트 애플리케이션(111)은, 상기 미달 분할구역을 해당 분할구역에 대해 기 설정된 특징점 최대개수를 충족하는 도달 분할구역으로 전환할 수 있다.
이와 같이, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내 분할구역별로 해당 타겟객체에 대한 확정 특징점(CKP)들이 고르게 분포되어 위치함과 동시에 필요로 하는 특징점 개수(실시예에서, 기 설정된 특징점 최대개수) 또한 충족하게 할 수 있고, 이를 통해 상기 타겟객체 이미지(TOI) 내 확정 특징점(CKP)들을 분산시키는 과정에서 유의미한 특징점이 유실되는 것을 방지하여 보다 신뢰성 높은 확정 특징점(CKP)들을 제공할 수 있다.
한편, 실시예에서 키포인트 애플리케이션(111)은, 소정의 분할구역이 해당 분할구역에 대한 특징점 최대개수를 충족한다고 판단한 경우(즉, 소정의 분할구역에 대하여 결정된 적어도 하나 이상의 확정 특징점(CKP)의 개수가 해당 분할구역의 특징점 최대개수에 도달한 경우), 추가 특징점(AKP)을 설정하는 프로세스를 스킵(skip)할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI)에 대한 최종 특징점을 결정할 수 있다. (S109)
즉, 실시예에서 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내 분할구역별로 상술된 바와 같이 결정된 확정 특징점(CKP)(실시예에서, 추가 특징점(AKP)을 더 포함할 수 있음)을 상기 타겟객체 이미지(TOI)에 대한 최종 특징점으로 결정할 수 있다.
따라서, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내에서 해당하는 특징점들이 이미지 전영역에 걸쳐서 고르게 분포되어 위치하도록 할 수 있고, 이를 통해 해당하는 타겟객체에 대한 스케일 변화, 시점변화 및/또는 각종 노이즈(예컨대, 타겟객체 촬영시의 모션 발생에 따른 블러 노이즈, 빛번짐 노이즈 및/또는 롤링 셔터 동작에 따른 노이즈 등) 등이 발생하더라도 해당 타겟객체에 대한 실시간 검출 및/또는 추적(tracking) 성능의 저하를 방지하는 강건한 특징점 설정을 구현할 수 있다.
더하여 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내 분할구역별로 매칭하여 확정 특징점(CKP)을 결정함으로써, 추후 이에 기초한 객체 검출 및/또는 추적 프로세스를 수행할 시 각 분할구역별 확정 특징점(CKP)에 기초한 병렬연산을 가능하게 하여 데이터 처리 속도를 향상시킬 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 결정된 최종 특징점에 기초한 애플리케이션 서비스를 수행할 수 있다. (S111)
자세히, 실시예에서 키포인트 애플리케이션(111)은, 상기 컴퓨팅 장치(100) 상에서 동작하는 타 키포인트 애플리케이션 및/또는 외부의 컴퓨팅 디바이스(예컨대, 소정의 타 컴퓨팅 장치(100) 및/또는 서버 등) 상에서 동작하는 외부 키포인트 애플리케이션과 연동하여, 상기 결정된 최종 특징점에 기초한 다양한 애플리케이션 서비스를 수행할 수 있다.
이때, 실시예에 따른 상기 타 키포인트 애플리케이션 및/또는 외부 키포인트 애플리케이션은, 모바일 환경에서 동작하는 애플리케이션을 포함할 수 있다.
실시예로, 키포인트 애플리케이션(111)은, 상기 결정된 최종 특징점을 포함하는 타겟객체 트래킹 정보(예컨대, 상기 타겟객체 이미지, 상기 최종 특징점, 관련 프로세스 모델 및/또는 정보 데이터 등)를 데이터베이스화하여 저장할 수 있다.
이때, 실시예에서 키포인트 애플리케이션(111)은, 상술된 바와 같이 복수의 분할영역별 최종 특징점들을 각각의 분할영역에 매칭하여 상기 타겟객체 트래킹 정보로 저장할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 타겟객체 트래킹 정보를 상기 타 키포인트 애플리케이션 및/또는 외부 키포인트 애플리케이션으로 제공할 수 있다.
이때, 상기 최종 특징점에 관련된 각종 데이터를 제공받은 타 키포인트 애플리케이션 및/또는 외부 키포인트 애플리케이션은, 상기 수신된 데이터를 기초로 이미지 기반 객체 검출 및/또는 추적 서비스, 증강현실 서비스, 자율주행 서비스, 슬램(SLAM) 서비스 및/또는 로봇제어 서비스 등을 포함하는 다양한 애플리케이션 서비스를 제공하기 위한 기능 동작을 수행할 수 있다.
실시예로, 상기 타 키포인트 애플리케이션 및/또는 외부 키포인트 애플리케이션은, 상기 제공된 타겟객체 트래킹 정보를 기초로 해당하는 타겟객체를 트래킹하기 위하여, 소정의 촬영 이미지를 상기 타겟객체 트래킹 정보에 따라서 복수의 분할영역으로 분류하고, 상기 복수의 분할영역별로 각각 설정된 최종 특징점에 기초한 병렬연산을 수행하여 이미지 트래킹을 수행할 수 있다.
이처럼, 키포인트 애플리케이션(111)은, 상기 타 키포인트 애플리케이션 및/또는 외부 키포인트 애플리케이션과 연동하여 상기 결정된 최종 특징점에 기초한 각종 애플리케이션 서비스를 수행할 수 있다.
이와 같이, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내 타겟객체에 대한 스케일 및/또는 시점 등이 변화하거나 각종 노이즈(예컨대, 블러나 빛번짐 등)가 발생하더라도 상기 객체에 대한 검출 및/또는 추적 성능의 저하를 방지하는 강건한 특징점을 제공하고, 상기 제공된 강건한 특징점을 이용하여 상술된 바와 같은 각종 애플리케이션 서비스가 구현되게 함으로써, 보다 정확하고 신뢰성 있는 데이터에 기반한 상기 애플리케이션 서비스(예컨대, 객체 검출 및/또는 추적 서비스, 증강현실 서비스, 자율주행 서비스, 슬램(SLAM) 서비스 및/또는 로봇제어 서비스 등)가 구현되게 할 수 있고, 이를 통해 그 성능 및 품질을 제고할 수 있다.
- 모바일 환경에서 실시간 트래킹을 위한 키포인트를 선택하는 다른 방법
한편, 이하에서는 본 발명의 실시예에 따른 키포인트 애플리케이션(111)이 모바일 환경에서 실시간 트래킹을 위한 키포인트를 선택하는 다른 방법을 첨부된 도면들을 참조하여 상세히 설명한다. 이때, 전술된 설명과 중복되는 기재는 요약되거나 생략될 수 있다.
도 7은 본 발명의 다른 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 본 발명의 실시예에서 키포인트 애플리케이션(111)은, 타겟객체(Target object)를 촬영한 타겟객체 이미지(TOI)를 획득할 수 있다. (S201)
즉, 실시예에서 키포인트 애플리케이션(111)은, 특징점(Key point)을 설정하고자 하는 대상 객체인 타겟객체를 촬영한 타겟객체 이미지(TOI)를 획득할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 획득된 타겟객체 이미지(TOI)를 분할할 수 있다. (S203)
도 8은 본 발명의 다른 실시예에 따른 타겟객체 이미지(TOI) 내 임시 특징점(TKP)을 추출하는 방법을 설명하기 위한 도면의 일례이다.
자세히, 도 8을 참조하면, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI)에 대한 기 설정된 그리드 분할(Grid division)을 수행하여 상기 타겟객체 이미지(TOI)를 상기 기 설정된 이미지 분할구역별로 분리할 수 있다.
예를 들면, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI)에 대한 기 설정된 그리드 분할을 수행하여 상기 타겟객체 이미지(TOI)를 '4행 3열(4 by 3)'로 분리할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 분할된 타겟객체 이미지 내 임시 특징점(TKP)을 추출할 수 있다. (S205)
자세히, 도 8을 더 참조하면, 실시예에서 키포인트 애플리케이션(111)은, 소정의 특징 검출기(Feature detector)와 연동하여 상기 분할된 타겟객체 이미지(DI)(이하, 분할 이미지) 내 복수의 임시 특징점(TKP)을 추출할 수 있다.
여기서, 실시예에 따른 상기 특징 검출기는, 상기 타겟객체에 대한 피처(예컨대, 엣지(Edge) 및/또는 코너(Corner) 등) 포인트를 상기 임시 특징점(TKP)으로서 추출할 수 있다.
이때, 상기 특징 검출기는, 상기 추출된 임시 특징점(TKP)별 검출강도를 나타내는 피처 스코어(Feature score)를 상기 임시 특징점(TKP) 각각에 대하여 함께 산출할 수 있다.
이러한 특징 검출기는, 예시적으로 FastFeatureDetector, MSER, SimpleBlobDetector 및/또는 GFTTDetector 등과 같은 알고리즘에 기반하여 구현될 수 있다. 다만, 이는 일례일 뿐 이에 한정되는 것은 아니다.
즉, 실시예에서 키포인트 애플리케이션(111)은, 상기 특징 검출기와 연동하여 상기 분할 이미지(DI) 내 복수의 임시 특징점(TKP)과, 상기 임시 특징점(TKP)별 피처 스코어를 획득할 수 있다.
이때, 실시예에서 키포인트 애플리케이션(111)은, 상기 분리된 분할구역별로 기 설정된 조건을 충족하는 적어도 하나의 임시 특징점(TKP)을 추출할 수 있다.
실시예로, 키포인트 애플리케이션(111)은, 기 설정된 피처 스코어(예컨대, 소정의 수치 등) 이상 및/또는 기 설정된 개수 이상의 조건을 충족하는 적어도 하나의 임시 특징점(TKP)을 상기 분리 이미지 내 분할구역별로 추출할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 추출된 임시 특징점(TKP) 및 분포기준에 따른 확정 특징점(CKP)을 결정할 수 있다. (S207)
자세히, 실시예에서 키포인트 애플리케이션(111)은, 상기 추출된 임시 특징점(TKP)이 소정의 분포기준을 충족하면 해당 임시 특징점(TKP)을 확정 특징점(CKP)으로 결정할 수 있다.
여기서, 실시예에 따른 상기 분포기준은, 소정의 이미지(실시예에서, 상기 분리 이미지)에 대하여 결정되는 적어도 하나 이상의 확정 특징점(CKP)이 해당 이미지 내에서 소정의 간격 및/또는 개수에 따라서 고르게 분산되어 위치하도록 상기 복수의 임시 특징점(TKP)을 필터링하는 기준을 의미할 수 있다.
보다 상세히, 실시예에서 키포인트 애플리케이션(111)은, 1) 기 설정된 개수만큼의 임시 특징점(TKP)을 상기 확정 특징점(CKP)으로 결정할 수 있다.
구체적으로, 키포인트 애플리케이션(111)은, 상기 복수의 임시 특징점(TKP)을 상기 복수의 임시 특징점(TKP) 각각에 대한 피처 스코어가 높은 순(즉, 내림차순)으로 정렬할 수 있고, 상기 정렬된 복수의 임시 특징점(TKP) 중에서 기 설정된 개수(N)만큼의 상위 N개의 임시 특징점(TKP)을 추출할 수 있다.
그리고 키포인트 애플리케이션(111)은, 상기 추출된 상위 N개의 임시 특징점(TKP)을 확정 특징점(CKP)으로 결정할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 복수의 임시 특징점(TKP) 중에서 상기 확정 특징점(CKP)으로 미결정된 나머지 임시 특징점을 제거하는 필터링을 수행할 수 있다.
또한, 도 4를 더 참조하면, 실시예에서 키포인트 애플리케이션(111)은, 2) 상호 기 설정된 거리(d) 이내에 위치하는 임시 특징점(TKP)을 필터링하여 상기 확정 특징점(CKP)을 결정할 수 있다.
자세히, 키포인트 애플리케이션(111)은, 상기 복수의 임시 특징점(TKP)을 상기 복수의 임시 특징점(TKP) 각각에 대한 피처 스코어가 높은 순(즉, 내림차순)으로 정렬할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 정렬된 복수의 임시 특징점(TKP) 중에서 현재 피처 스코어가 가장 높은 임시 특징점(MP1)을 제1 확정 특징점으로 결정할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 결정된 제1 확정 특징점으로부터 기 설정된 거리(d) 이내 위치하는 복수의 임시 특징점(TKP)을 검출할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 검출된 복수의 임시 특징점(TKP) 중에서 상기 제1 확정 특징점을 제외한 나머지 임시 특징점(EP1)을 필터링할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 필터링된 나머지 임시 특징점(EP1) 중에서 현재 피처 스코어가 가장 높은 임시 특징점을 제2 확정 특징점으로 결정할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 결정된 제2 확정 특징점으로부터 기 설정된 거리(d) 이내 위치하는 복수의 임시 특징점(TKP)을 검출할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 검출된 복수의 임시 특징점(TKP) 중에서 상기 제1 및 제2 확정 특징점을 제외한 나머지 임시 특징점(EP1)을 필터링할 수 있다.
계속해서, 키포인트 애플리케이션(111)은, 상기 현재 피처 스코어가 가장 높은 임시 특징점(MP1)을 기초로 확정 특징점을 결정하는 단계와 필터링하는 단계를 반복하여 제3 내지 제N 확정 특징점을 결정할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 분리 이미지 내 분할구역별 특징점 최대개수를 기 설정할 수 있다.
다시 말해서, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내 분할구역별로 최대한으로 포함 가능한 확정 특징점(CKP)의 개수를 기 설정할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 분리된 분할구역별로 포함하는 적어도 하나 이상의 상기 제1 내지 제N 확정 특징점의 개수가, 해당 분할구역에 대하여 기 설정된 특징점 최대개수(MN)에 도달하면, 해당 분할영역 내 나머지 임시 특징점을 필터링할 수 있다.
또는, 키포인트 애플리케이션(111)은, 상기 분리된 분할구역별로 포함하는 적어도 하나 이상의 임시 특징점(TKP)을 해당 임시 특징점(TKP) 각각에 대한 피처 스코어가 높은 순(즉, 내림차순)으로 정렬할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 정렬된 분할구역별 적어도 하나 이상의 임시 특징점(TKP) 중에서, 해당 분할구역에 대하여 기 설정된 특징점 최대개수(MN)만큼의 상위 MN개의 임시 특징점(MP2)을 추출할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 추출된 상위 MN개의 임시 특징점(MP2)을 확정 특징점(CKP)으로 결정할 수 있고, 상기 확정 특징점(CKP)으로 미결정된 나머지 임시 특징점(EP2)을 제거하는 필터링을 수행할 수 있다.
이처럼, 키포인트 애플리케이션(111)은, 상술된 바와 같은 분포기준을 기초로 상기 타겟객체 이미지(TOI)에 대하여 결정되는 적어도 하나 이상의 확정 특징점(CKP)이 해당 이미지 내에서 고르게 분산되어 위치하도록 상기 복수의 임시 특징점(TKP)을 필터링할 수 있고, 이를 통해 상기 이미지 내 특징점들을 이용하여 구현되는 각종 객체 검출 및/또는 추적 서비스의 성능과 품질을 향상시킬 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 결정된 확정 특징점(CKP)을 평가하고 추가 특징점(AKP)을 설정할 수 있다. (S209)
자세히, 실시예에서 키포인트 애플리케이션(111)은, 상기 이미지 분할구역별로 결정된 적어도 하나 이상의 확정 특징점(CKP)의 개수가 해당 분할구역에 대한 특징점 최대개수를 충족하는지 평가할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 복수의 분할영역별 확정 특징점의 개수가 모두 해당하는 분할영역에 대하여 기 설정된 특징점 최대개수에 도달하면, 상기 확정 특징점을 결정하는 단계(S105)를 종료할 수 있다.
또한, 도 6을 더 참조하면, 실시예에서 키포인트 애플리케이션(111)은, 상기 평가 결과에 따라서 해당하는 분할구역별 추가 특징점(AKP)을 설정할 수 있다.
자세히, 키포인트 애플리케이션(111)은, 소정의 분할구역이 해당 분할구역에 대한 특징점 최대개수를 불충한다고 판단한 경우(즉, 소정의 분할구역에 대하여 결정된 적어도 하나 이상의 확정 특징점(CKP)의 개수가 해당 분할구역의 특징점 최대개수에 미달한 경우), 상기 확정 특징점(CKP)의 개수가 특징점 최대개수에 미달한 분할구역(미달 분할구역)에 대한 추가 특징점(AKP)을 설정할 수 있다.
보다 상세히, 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내에서 상기 미달 분할구역을 나타내는 이미지(미달 부분 이미지(SI))를 기초로, 전술된 S103 단계에서의 임시 특징점(TKP) 추출 프로세스를 재수행할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 미달 부분 이미지(SI)를 기초로 임시 특징점(TKP) 추출 프로세스를 재수행하여 추출된 복수의 임시 특징점(TKP)(이하, 2차 임시 특징점)을 기초로, 전술된 S105 단계에서의 확정 특징점(CKP) 결정 프로세스를 재수행할 수 있다.
즉, 키포인트 애플리케이션(111)은, 상기 추출된 2차 임시 특징점(TKP) 및 상기 분포기준에 따라서 상기 미달 부분 이미지(SI)(즉, 미달 분할구역)에 대한 확정 특징점(CKP)을 결정할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 2차 임시 특징점(TKP)을 기초로 결정된 확정 특징점(CKP)(이하, 2차 확정 특징점)을 상기 추가 특징점(AKP)으로 설정할 수 있다.
그리고 키포인트 애플리케이션(111)은, 상기 설정된 추가 특징점(AKP)을 상기 미달 분할구역에 대한 확정 특징점(CKP)에 더 포함시킬 수 있다.
그리하여 키포인트 애플리케이션(111)은, 상기 미달 분할구역을 해당 분할구역에 대해 기 설정된 특징점 최대개수를 충족하는 도달 분할구역으로 전환할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 추가 특징점(AKP)이 더 포함된 확정 특징점(CKP)의 개수가 해당 분할구역에 대한 특징점 최대개수를 충족하는지 재평가할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 재평가의 결과 해당 분할구역이 해당 분할구역에 대한 특징점 최대개수를 충족한다고 판단되면, 추가 특징점(AKP)을 설정하는 프로세스를 스킵(skip)할 수 있다.
반면, 키포인트 애플리케이션(111)은, 상기 재평가의 결과 해당 미달 분할구역이 해당 분할구역에 대한 특징점 최대개수를 여전히 불충한다고 판단되면, 상기 미달 분할구역 내에서 필터링되어 제거된 적어도 하나 이상의 임시 특징점(TKP)(이하, 제거 특징점)에 기초하여 상기 특징점 최대개수를 충족하게 할 수 있다.
자세히, 키포인트 애플리케이션(111)은, 상기 적어도 하나 이상의 제거 특징점 중에서, 상기 특징점 최대개수를 충족하기 위해 필요한 특징점 개수만큼을 피처 스코어가 높은 순으로 검출할 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 검출된 적어도 하나 이상의 제거 특징점을 다시 해당하는 미달 분할구역으로 복원할 수 있다.
즉, 키포인트 애플리케이션(111)은, 상기 재평가의 결과 해당 미달 분할구역이 해당 분할구역에 대한 특징점 최대개수를 여전히 불충한다고 판단되면, 상기 미달 분할구역 내에서 제거되었던 적어도 하나 이상의 제거 특징점 중에서 피처 스코어가 높은 적어도 하나 이상의 제거 특징점을 다시 복귀시킬 수 있다.
또한, 키포인트 애플리케이션(111)은, 상기 복귀된 제거 특징점을 상기 미달 분할구역에 대하여 결정된 확정 특징점(CKP)에 추가 특징점(AKP)으로서 더 포함시킬 수 있다.
그리하여 키포인트 애플리케이션(111)은, 상기 미달 분할구역을 해당 분할구역에 대해 기 설정된 특징점 최대개수를 충족하는 도달 분할구역으로 전환할 수 있다.
한편, 실시예에서 키포인트 애플리케이션(111)은, 소정의 분할구역이 해당 분할구역에 대한 특징점 최대개수를 충족한다고 판단한 경우(즉, 소정의 분할구역에 대하여 결정된 적어도 하나 이상의 확정 특징점(CKP)의 개수가 해당 분할구역의 특징점 최대개수에 도달한 경우), 본 S107 단계 즉, 결정된 확정 특징점(CKP)을 평가하고 추가 특징점(AKP)을 설정하는 프로세스를 종료할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI)에 대한 최종 특징점을 결정할 수 있다. (S211)
즉, 실시예에서 키포인트 애플리케이션(111)은, 상기 타겟객체 이미지(TOI) 내 분할구역별로 상술된 바와 같이 결정된 확정 특징점(CKP)(실시예에서, 추가 특징점(AKP)을 더 포함할 수 있음)을 상기 타겟객체 이미지(TOI)에 대한 최종 특징점으로 결정할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 결정된 최종 특징점에 기초한 애플리케이션 서비스를 수행할 수 있다. (S213)
자세히, 실시예에서 키포인트 애플리케이션(111)은, 상기 컴퓨팅 장치(100) 상에서 동작하는 타 키포인트 애플리케이션 및/또는 외부의 컴퓨팅 디바이스(예컨대, 소정의 타 컴퓨팅 장치(100) 및/또는 서버 등) 상에서 동작하는 외부 키포인트 애플리케이션과 연동하여, 상기 결정된 최종 특징점에 기초한 다양한 애플리케이션 서비스(예컨대, 객체 검출 및/또는 추적 서비스, 증강현실 서비스, 자율주행 서비스, 슬램(SLAM) 서비스 및/또는 로봇제어 서비스 등)를 수행할 수 있다.
실시예로, 키포인트 애플리케이션(111)은, 상기 결정된 최종 특징점을 포함하는 타겟객체 트래킹 정보(예컨대, 상기 타겟객체 이미지, 상기 최종 특징점, 관련 프로세스 모델 및/또는 정보 데이터 등)를 데이터베이스화하여 저장할 수 있다.
이때, 실시예에서 키포인트 애플리케이션(111)은, 상술된 바와 같이 복수의 분할영역별 최종 특징점들을 각각의 분할영역에 매칭하여 상기 타겟객체 트래킹 정보로 저장할 수 있다.
또한, 실시예에서 키포인트 애플리케이션(111)은, 상기 타겟객체 트래킹 정보를 상기 타 키포인트 애플리케이션 및/또는 외부 키포인트 애플리케이션으로 제공할 수 있다.
이때, 상기 최종 특징점에 관련된 각종 데이터를 제공받은 타 키포인트 애플리케이션 및/또는 외부 키포인트 애플리케이션은, 상기 수신된 데이터를 기초로 이미지 기반 객체 검출 및/또는 추적 서비스, 증강현실 서비스, 자율주행 서비스, 슬램(SLAM) 서비스 및/또는 로봇제어 서비스 등을 포함하는 다양한 애플리케이션 서비스를 제공하기 위한 기능 동작을 수행할 수 있다.
실시예로, 상기 타 키포인트 애플리케이션 및/또는 외부 키포인트 애플리케이션은, 상기 제공된 타겟객체 트래킹 정보를 기초로 해당하는 타겟객체를 트래킹하기 위하여, 소정의 촬영 이미지를 상기 타겟객체 트래킹 정보에 따라서 복수의 분할영역으로 분류하고, 상기 복수의 분할영역별로 각각 설정된 최종 특징점에 기초한 병렬연산을 수행하여 이미지 트래킹을 수행할 수 있다.
이와 같이 키포인트 애플리케이션(111)은, 상기 타 키포인트 애플리케이션 및/또는 외부 키포인트 애플리케이션과 연동하여 상기 결정된 최종 특징점에 기초한 각종 애플리케이션 서비스를 수행할 수 있다.
이상과 같이, 본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법은, 이미지 내 목표로 하는 객체에 대한 키포인트(Key point)를 상기 이미지 내에서 고르게 분산되어 위치하도록 추출함으로써, 상기 이미지 내 목표로 하는 객체에 대한 스케일(scale) 및/또는 시점(view point) 등이 변화하거나 각종 노이즈(예컨대, 블러나 빛번짐 등)가 발생하더라도 상기 객체에 대한 검출 및/또는 추적 성능의 저하를 방지하는 강건한 키포인트를 제공할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법은, 위와 같은 강건한 키포인트를 제공하여 이에 기초한 각종 애플리케이션 서비스(예컨대, 객체 검출 및/또는 추적 서비스, 증강현실 서비스, 자율주행 서비스, 슬램(SLAM) 서비스 및/또는 로봇제어 서비스 등)가 구현되게 함으로써, 보다 정확하고 신뢰성 있는 특징점 데이터를 이용한 각종 애플리케이션 서비스를 실현함과 동시에 그 성능 및 품질을 제고할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법은, 이미지를 소정의 구역으로 분할하고 상기 분할된 구역별로 매칭하여 상기 목표로 하는 객체에 대한 키포인트를 제공함으로써, 상기 제공된 키포인트에 기초한 객체 검출 및/또는 추적 프로세스를 수행할 시 상기 분할된 구역별 키포인트에 기초한 병렬연산을 가능하게 하여 데이터 처리 속도를 증진시킬 수 있는 효과가 있다.
한편, 이상에서 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.

Claims (11)

  1. 컴퓨팅 장치의 적어도 하나의 프로세서에 의하여 실행되는 키포인트 애플리케이션이 모바일 환경에서 실시간 트래킹을 위한 키포인트를 선택하는 방법으로서,
    타겟객체를 촬영한 타겟객체 이미지를 획득하는 단계;
    상기 획득된 타겟객체 이미지에서 복수의 임시 특징점을 추출하는 단계;
    상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 확정 특징점을 결정하는 단계;
    상기 확정 특징점을 상기 타겟객체 이미지에 대한 최종 특징점으로 설정하는 단계;
    상기 타겟객체 이미지에 대해 설정된 상기 최종 특징점을 포함하는 타겟객체 트래킹 정보를 저장하는 단계; 및
    상기 타겟객체 트래킹 정보를 상기 타겟객체 트래킹을 통한 소정의 기능을 실행하는 모바일 환경의 애플리케이션에 제공하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
  2. 제1 항에 있어서,
    상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 확정 특징점을 결정하는 단계는,
    상기 타겟객체 이미지 내에서 특징점들 사이의 간격에 따른 제1 분포기준에 따라서 임시 특징점을 필터링하는 단계와,
    확정 특징점의 최대개수인 제2 분포기준에 따라서 임시 특징점을 필터링하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
  3. 제2 항에 있어서,
    상기 타겟객체 이미지 내에서 특징점들 사이의 간격에 따른 제1 분포기준에 따라서 임시 특징점을 필터링하는 단계는,
    상기 복수의 임시 특징점 중 현재 피처 스코어가 가장 높은 임시 특징점을 제1 확정 특징점으로 결정하는 단계와,
    상기 결정된 제1 확정 특징점으로부터 기 설정된 거리 내에 위치하는 임시 특징점을 필터링하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
  4. 제3 항에 있어서,
    상기 타겟객체 이미지 내에서 특징점들 사이의 간격에 따른 제1 분포기준에 따라서 임시 특징점을 필터링하는 단계는,
    상기 필터링된 복수의 임시 특징점에서 현재 피처 스코어가 가장 높은 임시 특징점을 제2 확정 특징점으로 결정하는 단계와,
    상기 제2 확정 특징점으로부터 기 설정된 거리 내에 위치하는 임시 특징점을 필터링하는 단계와,
    상기 확정 특징점을 결정하는 단계와 필터링하는 단계를 반복하여 제3 내지 제N 확정 특징점을 결정하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
  5. 제4 항에 있어서,
    상기 확정 특징점의 최대개수인 제2 분포기준에 따라서 임시 특징점을 필터링하는 단계는,
    상기 타겟객체 이미지를 복수의 영역으로 분할하여 복수의 분할영역을 결정하는 단계와,
    상기 제1 내지 제N 확정 특징점 중 제1 분할영역에 포함된 확정 특징점의 개수가 상기 확정 특징점의 최대개수에 도달하면, 상기 제1 분할영역 내 남은 임시 특징점을 필터링하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
  6. 제5 항에 있어서,
    상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 확정 특징점을 결정하는 단계는,
    상기 복수의 분할영역 각각에 결정된 확정 특징점의 개수가 모두 상기 확정 특징점의 최대개수에 도달하면, 상기 확정 특징점을 결정하는 단계를 종료하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
  7. 제5 항에 있어서,
    상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 확정 특징점을 결정하는 단계는,
    상기 복수의 분할영역 중 결정된 확정 특징점의 개수가 상기 확정 특징점의 최대개수에 미달하고, 상기 추출된 임시 특징점이 모두 필터링된 제2 분할영역을 검출하는 단계와,
    상기 검출된 제2 분할영역을 나타내는 미달 부분 이미지에서 복수의 임시 특징점을 재추출하는 단계와,
    상기 재추출된 복수의 임시 특징점 중 상기 기 설정된 분포기준에 따라서 필터링하여 추가 특징점을 결정하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
  8. 제7 항에 있어서,
    상기 확정 특징점을 상기 타겟객체 이미지에 대한 최종 특징점으로 설정하는 단계는,
    상기 결정된 추가 특징점을 포함하여 상기 타겟객체 이미지에 대한 최종 특징점을 설정하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
  9. 제6 항에 있어서,
    상기 타겟객체 이미지에 대해 설정된 상기 최종 특징점을 포함하는 타겟객제 트래킹 정보를 저장하는 단계는,
    상기 복수의 분할영역 별로 분류된 최종 특징점들을 각각의 분할영역에 매칭하여 상기 타겟객체 트래킹 정보로 저장하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
  10. 제9 항에 있어서,
    상기 타겟객체 트래킹 정보를 상기 타겟객체 트래킹을 통한 소정의 기능을 실행하는 모바일 환경의 애플리케이션에 제공하는 단계는,
    상기 모바일 환경의 애플리케이션이 상기 타겟객체를 트래킹시 촬영된 이미지를 복수의 분할영역으로 분류하고, 상기 복수의 분할영역 별로 병렬연산하여 각각 설정된 최종 특징점을 통해 이미지 트래킹하도록 상기 타겟객체 트래킹 정보를 제공하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
  11. 컴퓨팅 장치의 적어도 하나의 프로세서에 의하여 실행되는 키포인트 애플리케이션이 모바일 환경에서 실시간 트래킹을 위한 키포인트를 선택하는 방법으로서,
    타겟객체를 촬영한 타겟객체 이미지를 획득하는 단계;
    상기 획득된 타겟객체 이미지를 기 설정된 영역으로 분할하는 단계;
    상기 분할된 타겟객체 이미지 내 상기 타겟객체에 대한 복수의 임시 특징점을 추출하는 단계;
    상기 추출된 복수의 임시 특징점을 기 설정된 분포기준에 따라서 필터링하여 상기 분할된 영역별로 확정 특징점을 결정하는 단계;
    상기 확정 특징점을 상기 타겟객체 이미지에 대한 최종 특징점으로 설정하는 단계;
    상기 타겟객체 이미지에 대해 설정된 상기 최종 특징점을 포함하는 타겟객체 트래킹 정보를 저장하는 단계; 및
    상기 타겟객체 트래킹 정보를 상기 타겟객체 트래킹을 통한 소정의 기능을 실행하는 모바일 환경의 애플리케이션에 제공하는 단계를 포함하는
    모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법.
KR1020210187936A 2021-12-27 2021-12-27 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법 KR20230098944A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210187936A KR20230098944A (ko) 2021-12-27 2021-12-27 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법
EP22216176.2A EP4202854A1 (en) 2021-12-27 2022-12-22 Methods for selecting key-points for real-time tracking in a mobile environment
US18/146,731 US20230206467A1 (en) 2021-12-27 2022-12-27 Methods for selecting key-points for real-time tracking in a mobile environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210187936A KR20230098944A (ko) 2021-12-27 2021-12-27 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법

Publications (1)

Publication Number Publication Date
KR20230098944A true KR20230098944A (ko) 2023-07-04

Family

ID=84568808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210187936A KR20230098944A (ko) 2021-12-27 2021-12-27 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법

Country Status (3)

Country Link
US (1) US20230206467A1 (ko)
EP (1) EP4202854A1 (ko)
KR (1) KR20230098944A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102173955B1 (ko) 2019-03-21 2020-11-04 한국항공대학교산학협력단 객체 추적을 위한 특징점 검출 장치 및 그 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101775591B1 (ko) * 2013-06-11 2017-09-06 퀄컴 인코포레이티드 데이터베이스 생성의 목적을 위한 대화식 및 자동 3-d 오브젝트 스캐닝 방법
US9406137B2 (en) * 2013-06-14 2016-08-02 Qualcomm Incorporated Robust tracking using point and line features

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102173955B1 (ko) 2019-03-21 2020-11-04 한국항공대학교산학협력단 객체 추적을 위한 특징점 검출 장치 및 그 방법

Also Published As

Publication number Publication date
EP4202854A1 (en) 2023-06-28
US20230206467A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
JP6043856B2 (ja) Rgbdカメラを用いた頭部ポーズ推定
US9390506B1 (en) Selective object filtering and tracking
EP3084577B1 (en) Selection and tracking of objects for display partitioning and clustering of video frames
CN106663196B (zh) 用于识别主体的方法、系统和计算机可读存储介质
EP2619728B1 (en) An adaptable framework for cloud assisted augmented reality
US9008366B1 (en) Bio-inspired method of ground object cueing in airborne motion imagery
EP3206163B1 (en) Image processing method, mobile device and method for generating a video image database
AU2016203594A1 (en) Local caching for object recognition
CN105830062A (zh) 用于编码对象阵型的系统、方法及设备
US9171222B2 (en) Image processing device, image capturing device, and image processing method for tracking a subject in images
CN112149636A (zh) 用于检测目标物体的方法、装置、电子设备及存储介质
WO2018063608A1 (en) Place recognition algorithm
US11568631B2 (en) Method, system, and non-transitory computer readable record medium for extracting and providing text color and background color in image
US8836799B2 (en) Method to reject false positives detecting and tracking image objects
US20140232748A1 (en) Device, method and computer readable recording medium for operating the same
US20130107065A1 (en) Inertial sensor aided stationary object detection in videos
KR20230098944A (ko) 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법
KR101834084B1 (ko) 다중 객체 추적 방법 및 장치
KR101646580B1 (ko) 하체 검출/추적 장치 및 방법
CN111819567A (zh) 使用语义特征来匹配图像的方法和装置
CN114341946A (zh) 识别方法、装置、电子设备及存储介质
KR102431122B1 (ko) 맵 타겟 추적 방법 및 그 시스템
US10671881B2 (en) Image processing system with discriminative control
KR20190143666A (ko) 이미지를 위치 데이터로 변환하여 제공하는 방법과 시스템 및 비-일시적인 컴퓨터 판독 가능한 기록 매체
KR102234311B1 (ko) 이미지 특징 추출 방법 및 시스템