KR102617213B1 - 소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치 - Google Patents

소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치 Download PDF

Info

Publication number
KR102617213B1
KR102617213B1 KR1020220152262A KR20220152262A KR102617213B1 KR 102617213 B1 KR102617213 B1 KR 102617213B1 KR 1020220152262 A KR1020220152262 A KR 1020220152262A KR 20220152262 A KR20220152262 A KR 20220152262A KR 102617213 B1 KR102617213 B1 KR 102617213B1
Authority
KR
South Korea
Prior art keywords
frame image
search frame
tracking
resolution
viewing window
Prior art date
Application number
KR1020220152262A
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 PCT/KR2022/018565 priority Critical patent/WO2024005279A1/ko
Priority to PCT/KR2022/019010 priority patent/WO2024071516A1/ko
Priority to US18/340,318 priority patent/US20240005530A1/en
Priority to US18/340,311 priority patent/US20240005529A1/en
Application granted granted Critical
Publication of KR102617213B1 publication Critical patent/KR102617213B1/ko

Links

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
    • 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/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • 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/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
    • 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/761Proximity, similarity or dissimilarity measures
    • 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/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Studio Devices (AREA)

Abstract

본 발명의 일 기술적 측면에 따른 소프트웨어 기반의 트래킹 제공 방법은, 카메라 모듈을 포함하는 컴퓨팅 장치에서 수행되는 객체 트래킹 제공 방법으로서, 상기 카메라 모듈로부터 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 단계, 뷰잉 윈도우에 대한 제2 해상도를 설정하는 단계, 상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 단계 및 상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 단계를 포함한다. 상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 일 수 있다.

Description

소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치 {Software-based object tracking method and computing device therefor}
본 발명은 소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치에 관한 것이다.
컴퓨팅 장치의 발전에 따라 컴퓨팅 장치의 소형화 및 휴대성이 증진되고 있으며, 사용자에게 보다 친화적인 컴퓨팅 환경이 개발되고 있다.
이러한 컴퓨팅 환경에서 사용자의 주요 관심으로서, 촬영 중인 영상에서 관심 객체에 대한 트래킹 기능이 있다.
종래의 경우, 객체 트래킹을 위해서는, 여러 촬영 장비를 이용하거나, 또는 촬영 장비를 물리적으로 구동시키는 것이 필요하다.
그러나, 이는 소형화 및 휴대화 된 컴퓨팅 장치 환경에서 적용이 어렵고, 별도의 장비가 요구되는 한계가 있다.
본 출원의 일 기술적 측면은 상기한 종래 기술의 문제점을 해결하기 위한 것으로, 본 출원에 개시되는 일 실시예에 따르면, 일정한 방향으로 고정되어 촬영된 영상에 대하여 소프트웨어를 기반으로 객체에 대한 트래킹을 효과적으로 제공하는 것을 목적으로 한다.
본 출원에 개시되는 일 실시예에 따르면, 추적 객체를 식별하는 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 이용하여 프레임 이미지 내에서 추적 객체를 식별하고, 추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥 러닝 모델을 이용하여 추적 객체의 동일성을 판단하도록 함으로써, 객체의 식별 및 동일성 판단을 빠르고 정확하게 수행하도록 하는 것을 목적으로 한다.
본 출원에 개시되는 일 실시예에 따르면, 연속하는 프레임 이미지에서의 뷰잉 윈도우의 위치적 임계성을 기초로 뷰잉 윈도우를 재설정하도록 함으로써, 오류 또는 타 객체의 오 인식에 의한 뷰잉 윈도우 설정의 오차를 방지하여 보다 높은 트래킹 성능을 제공하는 것을 목적으로 한다.
본 출원의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 출원의 일 기술적 측면은 소프트웨어 기반의 트래킹 제공 방법을 제안한다. 상기 소프트웨어 기반의 트래킹 제공 방법은, 카메라 모듈을 포함하는 컴퓨팅 장치에서 수행되는 객체 트래킹 제공 방법으로서, 상기 카메라 모듈로부터 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 단계, 뷰잉 윈도우에 대한 제2 해상도를 설정하는 단계, 상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 단계 및 상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 단계를 포함한다. 상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 일 수 있다.
본 출원의 일 기술적 측면은 소프트웨어 기반의 트래킹 제공 방법의 다른 예를 제안한다. 상기 소프트웨어 기반의 트래킹 제공 방법의 다른 예는, 기 설정된 전방 방향으로 고정되어 촬영 프레임 이미지를 생성하는 카메라 모듈을 포함하는 컴퓨팅 장치에서 수행되는 객체 트래킹 제공 방법으로서, 상기 카메라 모듈로부터 제1 해상도로 연속하여 촬영된 복수의 촬영 프레임 이미지를 제공받는 단계, 상기 복수의 촬영 프레임 이미지에서 적어도 일부를 선별하여 적어도 하나의 탐색 프레임 이미지를 선정하는 단계, 상기 적어도 하나의 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 단계 및 상기 적어도 하나의 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 적어도 하나의 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 각각 설정하는 단계를 포함할 수 있다.
본 출원의 다른 일 기술적 측면은 저장 매체를 제안한다. 상기 저장 매체는, 컴퓨터 판독 가능한 인스트럭션들(instructions)을 저장하고 있는 저장 매체이다. 상기 인스트럭션들은, 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금, 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 동작, 뷰잉 윈도우에 대한 제2 해상도를 설정하는 동작, 상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 동작 및 상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 동작을 수행하도록 한다. 상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 일 수 있다.
본 출원의 다른 일 기술적 측면은 컴퓨팅 장치를 제안한다. 상기 컴퓨팅 장치는, 카메라 모듈, 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함한다. 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 카메라 모듈로부터 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받고, 뷰잉 윈도우에 대한 제2 해상도를 설정하고, 상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하고, 상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정한다. 상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 일 수 있다.
상기한 과제의 해결 수단은, 본 출원의 특징을 모두 열거한 것은 아니다. 본 출원의 과제 해결을 위한 다양한 수단들은 이하의 상세한 설명의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 출원에 개시되는 일 실시예에 따르면, 본 출원에 개시되는 일 실시예에 따르면, 일정한 방향으로 고정되어 촬영된 영상에 대하여 소프트웨어를 기반으로 객체에 대한 트래킹을 효과적으로 제공할 수 있는 효과가 있다.
본 출원에 개시되는 일 실시예에 따르면, 추적 객체를 식별하는 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 이용하여 프레임 이미지 내에서 추적 객체를 식별하고, 추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥 러닝 모델을 이용하여 추적 객체의 동일성을 판단하도록 함으로써, 객체의 식별 및 동일성 판단을 빠르고 정확하게 수행하도록 할 수 있는 효과가 있다.
본 출원에 개시되는 일 실시예에 따르면, 연속하는 프레임 이미지에서의 뷰잉 윈도우의 위치적 임계성을 기초로 뷰잉 윈도우를 재설정하도록 함으로써, 오류 또는 타 객체의 오 인식에 의한 뷰잉 윈도우 설정의 오차를 방지하여 보다 높은 트래킹 성능을 제공 할 수 있는 효과가 있다.
도 1은 본 출원의 일 실시예에 따른 소프트웨어 기반의 객체 트래킹이 수행되는 컴퓨팅 장치의 일 예를 설명하는 도면이다.
도 2는 본 출원의 일 실시예에 따른 컴퓨팅 장치의 예시적인 컴퓨팅 운영 환경을 설명하는 도면이다.
도 3은 본 출원의 일 실시예에 따른 소프트웨어 기반의 객체 트래킹 제공 방법을 설명하는 순서도이다.
도 4 내지 도 6은 도 3에 도시된 소프트웨어 기반의 객체 트래킹 제공 방법을 설명하기 위한 도면이다.
도 7은 본 출원의 일 실시예에 따른 컴퓨팅 장치의 제어적 기능 블록을 설명하는 블록 구성도이다.
도 8은 도 7에 도시된 탐색 프레임 선별모듈에서 수행되는 객체 트래킹 제공 방법의 일 실시예를 설명하는 순서도이고, 도 9는 도 8에 도시된 일 실시예를 설명하기 위한 도면이다.
도 10은 도 7에 도시된 탐색 프레임 선별모듈에서 수행되는 객체 트래킹 제공 방법의 다른 일 실시예를 설명하는 순서도이고, 도 11은 도 10에 도시된 다른 일 실시예를 설명하기 위한 도면이다.
도 12는 도 7에 도시된 객체 탐지모듈에서 수행되는 객체 트래킹 제공 방법의 일 실시예를 설명하는 순서도이다.
도 13은 도 7에 도시된 객체 탐지모듈에서 수행되는 객체 트래킹 제공 방법의 다른 일 실시예를 설명하는 순서도이고, 도 14 및 도 15는 도 13에 도시된 다른 일 실시예를 설명하기 위한 도면이다.
도 16은 도 7에 도시된 윈도우 설정모듈에서 수행되는 객체 트래킹 제공 방법의 일 실시예를 설명하는 순서도이다.
도 17은 도 7에 도시된 윈도우 설정모듈에서 수행되는 객체 트래킹 제공 방법의 다른 일 실시예를 설명하는 순서도이고, 도 18 내지 도 20은 도 17에 도시된 다른 일 실시예를 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태들을 설명한다.
그러나, 본 발명의 실시형태는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명하는 실시 형태로 한정되는 것은 아니다. 또한, 본 발명의 실시형태는 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다.
즉, 전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 이하에서 본 발명에 따른 시스템을 설명하기 위하여 다양한 구성요소 및 그의 하부 구성요소에 대하여 설명하고 있다. 이러한 구성요소 및 그의 하부 구성요소들은, 하드웨어, 소프트웨어 또는 이들의 조합 등 다양한 형태로서 구현될 수 있다. 예컨대, 각 요소들은 해당 기능을 수행하기 위한 전자적 구성으로 구현되거나, 또는 전자적 시스템에서 구동 가능한 소프트웨어 자체이거나 그러한 소프트웨어의 일 기능적인 요소로 구현될 수 있다. 또는, 전자적 구성과 그에 대응되는 구동 소프트웨어로 구현될 수 있다.
본 명세서에 설명된 다양한 기법은 하드웨어 또는 소프트웨어와 함께 구현되거나, 적합한 경우에 이들 모두의 조합과 함께 구현될 수 있다. 본 명세서에 사용된 바와 같은 "부(Unit)", "서버(Server)" 및 "시스템(System)" 등의 용어는 마찬가지로 컴퓨터 관련 엔티티(Entity), 즉 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어 또는 실행 시의 소프트웨어와 등가로 취급할 수 있다. 또한, 본 발명의 시스템에서 실행되는 각 기능은 모듈단위로 구성될 수 있고, 하나의 물리적 메모리에 기록되거나, 둘 이상의 메모리 및 기록매체 사이에 분산되어 기록될 수 있다.
본 출원의 다양한 실시 예들은 기기(machine)-예를 들어, 사용자 단말(100)이나 컴퓨팅 장치(300)-에 의해 읽을 수 있는 저장 매체(storage medium)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예를 들어, 프로그램)로서 구현될 수 있다. 예를 들면, 프로세서(301)는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 장치가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예를 들어, 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
본 발명의 실시형태를 설명하기 위하여 다양한 순서도가 개시되고 있으나, 이는 각 단계의 설명의 편의를 위한 것으로, 반드시 순서도의 순서에 따라 각 단계가 수행되는 것은 아니다. 즉, 순서도에서의 각 단계는, 서로 동시에 수행되거나, 순서도에 따른 순서대로 수행되거나, 또는 순서도에서의 순서와 반대의 순서로도 수행될 수 있다.
도 1은 본 출원의 일 실시예에 따른 소프트웨어 기반의 객체 트래킹이 수행되는 컴퓨팅 장치의 일 예를 설명하는 도면이다.
도 1을 참조하면, 컴퓨팅 장치(100)는 전방 방향으로 고정되어 촬영을 수행한다. 컴퓨팅 장치(100)는 전방에 대한 촬영 이미지 중에서 객체를 식별하고, 촬영된 이미지 전체(10) 중에서 객체를 중심으로 하는 사용자 단말에 표시되는 표시용 윈도우 영역(11)-이하, 뷰잉 윈도우(11)라 칭함-를 추출하여 사용자 단말에 표시(101)한다.
컴퓨팅 장치(100)는 전방의 촬영 이미지의 각 프레임-이하, 촬영 이미지 프레임이라 칭함-에서 객체가 이동하는 것에 대응하여 뷰잉 윈도우(11)를 변경함으로써, 사용자에게 소프트웨어 기반의 객체 트래킹 기능을 제공할 수 있다. 즉, 본 출원에서 컴퓨팅 장치(100)는 기 설정된 촬영 이미지 프레임의 해상도 보다 작도록 뷰잉 윈도우(11) 해상도를 설정하고, 고정된 전방방향으로 촬영되는 촬영 이미지 프레임 내에서 객체가 이동함에 따라 뷰잉 윈도우를 변경하도록 설정함으로써, 컴퓨팅 장치(100)에 대한 카메라부의 물리적인 회전이나 변동 없이도 사용자에게 소프트웨어 기반의 객체 트래킹 기능을 제공할 수 있다.
이러한, 컴퓨팅 장치(100)는 카메라를 포함하며, 사용자가 휴대 가능한 전자 기기일 수 있다. 예를 들어, 컴퓨팅 장치(100)는 스마트 폰(smart phone), 휴대폰, 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등 일 수 있다.
도 2는 본 출원의 일 실시예에 따른 컴퓨팅 장치의 예시적인 컴퓨팅 운영 환경을 설명하는 도면이다.
도 2를 참조하면, 컴퓨팅 장치(100)는 통신부(110), 카메라부(120), 출력부(130), 메모리(140), 전원 공급부(150) 및 프로세서(160)를 포함한다. 도 2에 도시된 구성요소들은 컴퓨팅 장치기를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 컴퓨팅 장치기는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
통신부(110)는, 컴퓨팅 장치(100)와 무선 통신 시스템 사이, 컴퓨팅 장치(100)와 다른 컴퓨팅 장치 사이 등의 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 이러한 통신부(110)는, 이동통신 모듈(211), 무선 인터넷 모듈(212) 및 근거리 통신모듈(213)을 포함할 수 있다. 근거리 통신모듈(213)은 유선 또는 무선으로 단말기 거치대(100)과 통신 연결을 수행할 수 있다. 예컨대, 근거리 통신모듈(213)은 블루투스등의 근거리 무선통신 모듈 또는 RS232와 같은 유선 통신모듈을 포함할 수 있다.
카메라부(120) 또는 카메라 모듈은 적어도 하나의 카메라를 포함할 수 있다. 카메라부(120)는 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
일 예로, 카메라부(120)는 제1 카메라(221) 내지 제2 카메라(222)를 포함할수 있다. 제1 카메라(221) 또는 제2 카메라(222)는 컴퓨팅 장치(100)의 전방 영상을 촬영할 수 있다.
출력부(130)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이(131) 및 스피커(132)를 포함할 수 있다. 디스플레이(131)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 컴퓨팅 장치(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 컴퓨팅 장치(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
전원공급부(150)는 프로세서(160)의 제어 하에서, 외부의 전원 또는 내부의 전원을 인가 받아 컴퓨팅 장치(100)에 포함된 각 구성요소들에 전원을 공급한다. 이러한 전원공급부(150)는 배터리를 포함하며, 배터리는 내장형 배터리 또는 교체가능한 형태의 배터리가 될 수 있다.
프로세서(160)는 메모리(140)에 저장된 응용 프로그램, 즉, 어플리 케이션을 구동하기 위하여, 도 2와 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(160)는 응용 프로그램의 구동을 위하여, 컴퓨팅 장치(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수있다.
프로세서(160)는 메모리(140)에 저장된 인스트럭션들(instructions)을 실행하여 어플리케이션을 구동할 수 있다. 이하에서는, 프로세서(160)가 어플리케이션을 구동하여 제어, 지시 또는 기능의 주체로서 표현하나, 이는, 프로세서(160)가 메모리(140)에 저장된 인스트럭션 또는 어플리케이션을 구동하여 동작하는 것을 의미한다.
상술한 각 구성요소들 중 적어도 일부는, 이하에서 설명되는 다양한실시 예들에 따른 컴퓨팅 장치(100)의 동작, 제어 또는 제어방법을 구현하기 위하여 서로 협력하여 동작할 수 있다. 또한, 컴퓨팅 장치(100)의 동작, 제어, 또는 제어방법은 메모리(140)에 저장된 적어도 하나의 응용 프로그램의 구동에 의하여 컴퓨팅 장치 상에서 구현 될 수 있다.
프로세서(160)는 응용 프로그램과 관련된 동작 외에도, 통상적으로 컴퓨팅 장치(100)의 전반적인 동작을 제어한다. 프로세서(260)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(240)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다. 프로세서(160)는 하나의 프로세서 또는 복수의 프로세서로 구현 가능하다.
이하에서 설명하는 도 7의 구성요소들은 메모리(240)에 저장된 인스트럭션에 따라 프로세서(260)에서 구현되는 기능 또는 소프트웨어 모듈일 수 있다.
한편, 상술한 실시예에 따른 컴퓨팅 장치(100)에서 수행되는 제어 방법은 프로그램으로 구현되어 컴퓨팅 장치(100)에 제공될 수 있다. 예컨대, 컴퓨팅 장치(100)의 제어 방법을 포함하는 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
도 3은 본 출원의 일 실시예에 따른 소프트웨어 기반의 객체 트래킹 제공 방법을 설명하는 순서도이고, 도 4 내지 도 6은 도 3에 도시된 소프트웨어 기반의 객체 트래킹 제공 방법을 설명하기 위한 도면이다. 도 3에 도시된 소프트웨어 기반의 객체 트래킹 제공 방법은 도 2에 도시된 컴퓨팅 장치(100)의 프로세서(160)의 구동에 의하여 수행되는 각 단계로 설명된다.
도 3을 참조하면, 프로세서(160)는, 카메라 모듈을 제어하여 전방 방향에 대한 프레임 이미지를 생성하도록 하여 이를 제공받는다(S310). 카메라 모듈은, 추적 객체의 존재 및 이동 여부에 무관하게 기 설정된 전방 방향으로 고정되어 제1 해상도로 촬영하여 프레임 이미지를 생성한다. 도 4는 이러한 예를 도시하며, 프레임 이미지(401) 내에 객체(402)가 존재하도록 촬영되고 있는 것을 도시한다.
프로세서(160)는, 카메라 모듈에서 촬영되는 제1 해상보다 낮은 해상도를 가지도록 뷰잉 윈도우의 제2 해상도를 설정할 수 있다(S320). 일 예로, 뷰잉 윈도우의 해상도는 사용자의 입력을 기초로 결정될 수 있다. 다른 예로, 프로세서(160)는, 추적 객체의 프레임 이미지에서의 크기에 따라 객체 트래킹 기능의 제공 중에 뷰잉 윈도우의 해상도를 동적으로 변경할 수 있다.
프로세서(160)는, 프레임 이미지 내에 추적 객체가 존재하는지 식별할하고(S330), 프레임 이미지 내에서의 추적 객체의 위치를 기초로, 추적 객체를 포함하는 프레임 이미지의 일부 영역을 뷰잉 윈도우로서 설정할 수 있다(S340). 도 5는 이러한 예를 도시하며, 프레임 이미지(501)에서 추적 객체(502)를 식별한 후에, 탐색 개체를 중심으로 뷰잉 윈도우(503)를 설정할 수 있다. 프로세서(160)는, 사용자 디스플레이 인터페이스를 이용하여 뷰잉 윈도우를 표시 할 수 있다(S350). 즉, 사용자 디스플레이 인터페이스에서는 촬영된 전체 프레임 이미지가 아닌, 뷰잉 윈도우(503)만 표시되고, 뷰잉 윈도우를 제외한 나머지 영역(505)는 사용자 디스플레이 인터페이스에 표시되지 않을 수 있다.
프로세서(160)는, 카메라 모듈에서 촬영되는 연속되는 프레임 이미지-이를 촬영 프레임 이미지라 함-의 전체 또는 적어도 일부에 대하여 뷰잉 윈도우를 설정하는 상술한 과정을 반복적으로 수행할 수 있다. 도 6은 도 5에서 일정 시간이 흐른 뒤에 촬영된 촬영 프레임 이미지(601)를 도시하며, 도 5와 도 6을 비교하면 추적 객체(602)가 위치 A에서 위치 B로 이동한 것을 알 수 있다. 프로세서(160)는, 추적 객체(602)의 이동에 대응하여 뷰잉 윈도우(603)의 위치를 재 설정할 수 있으며, 그에 따라 도 5의 뷰잉 윈도우(503)와 도 6의 뷰잉 윈도우(603)가 다르게 설정된 것을 알 수 있다.
이하 도 7 내지 도 20을 참조하여, 프로세서(260)의 다양한 제어적 특징에 대하여 설명한다.
도 7은 프로세서(160)에서 수행되는 기능들을 설명하기 위한 블록 구성도로서, 도 7에 도시된 구성요소, 즉, 각 모듈들은 메모리(240)에 저장된 인스트럭션에 따라 프로세서(260)에서 구현되는 각 기능 또는 소프트웨어 모듈일 수 있다. 다만, 이하에서는 프로세서(160)의 각 모듈들이 제어, 지시 또는 기능의 주체로서 표현하나, 이는, 프로세서(160)가 메모리(140)에 저장된 인스트럭션 또는 어플리케이션을 구동하여 동작하는 것을 의미한다.
도 7을 참조하면, 프로세서(160)는 탐색 프레임 선별모듈(161), 객체 탐지모듈(162), 윈도우 설정모듈(613) 및 인터페이스 모듈(164)를 포함할 수 있다.
탐색 프레임 선별모듈(161)은 뷰잉 윈도우를 설정할 프레임 이미지-이를 탐색 프레임 이미지라 칭함-를 결정할 수 있다. 카메라 모듈은 기 설정된 프레임 레이트로 촬영하여 촬영 프레임 이미지를 생성하고, 이를 탐색 프레임 선별모듈(161)에 제공한다(S810). 탐색 프레임 선별모듈(161)은 촬영 프레임 이미지 중 적어도 일부를 선별하여 뷰잉 윈도우를 설정하는 탐색 프레임 이미지로서 결정할 수 있다.
일 예로, 탐색 프레임 선별모듈(161)은 촬영 프레임 이미지의 전체를 탐색 프레임 이미지로 설정할 수 있다. 이러한 예는, 컴퓨팅 장치(100)가 충분한 리소스를 가지는 경우에 적합하다.
다른 예로, 탐색 프레임 선별모듈(161)은 촬영 프레임 이미지 중에서 일부를 선정하여 탐색 프레임 이미지로 설정할 수 있다. 모바일 컴퓨팅 환경 등에서는 컴퓨팅 리소스가 제한될 수 있으므로 이러한 다른 예가 적합하다.
일 실시예로서, 도 8은 이러한 탐색 프레임 선별모듈(161)에 의해 수행되는 탐색 프레임 선별 방법의 일 예를 개시하고 있다. 도 8을 참조하면, 탐색 프레임 선별모듈(161)은 기 설정된 프레임 레이트로 촬영하여 촬영 프레임 이미지를 카메라 모듈로부터 제공받는다(S810). 탐색 프레임 선별모듈(161)은 상기 프레임 레이트보다 낮은 빈도를 가지는 시간 간격으로 탐색 프레임 이미지를 설정할 수 있다. 즉, 탐색 프레임 선별모듈(161)은 복수의 연속된 촬영 프레임 이미지 중에서 기 설정된 시간 간격으로 프레임 이미지를 선별하고(S820), 선별된 프레임 이미지를 탐색 프레임 이미지로 설정할 수 있다(S830). 도9는 이러한 실시예를 설명하는 도면으로서, 그림 (a)는 카메라 모듈에서 연속적으로 촬영된 촬영 프레임 이미지 1 내지 12를 도시하고, 그림 (b)는 그 중에서 탐색 프레임 선별모듈(161)에 의하여 탐색 프레임 이미지로 선별된 프레임 이미지 1, 4, 7. 10을 표시하고 있다. 도 8 및 9의 일 실시예에서는, 균등한 시간 간격으로 탐색 프레임 이미지가 선별된다.
다른 일 실시예로서, 도 10은 이러한 탐색 프레임 선별모듈(161)에 의해 수행되는 탐색 프레임 선별 방법의 다른 일 예를 개시하고 있다. 도 10을 참조하면, 탐색 프레임 선별모듈(161)은 기 설정된 프레임 레이트로 촬영하여 촬영 프레임 이미지를 카메라 모듈로부터 제공받는다(S1010). 탐색 프레임 선별모듈(161)은 이전의 제1 탐색 프레임 이미지 상에서의 추적 객체의 제1 위치를 확인하고(S1020), 현재의 제2 탐색 프레임 이미지 상에서의 추적 객체의 제2 위치를 확인한다(S1030). 탐색 프레임 선별모듈(161)은 이전의 제1 탐색 프레임 이미지 상에서의 추적 객체의 제1 위치와 현재의 제2 탐색 프레임 이미지 상에서의 추적 객체의 제2 위치 간의 차이에 따라, 다음 탐색 프레임 이미지를 결정할 수 있다. 즉, 탐색 프레임 선별모듈(161)은 추적 객체의 이동이 빠르면 다음 탐색 프레임 이미지를 보다 빨리 선정하도록 할 수 있다. 도11은 이러한 실시예를 설명하는 도면으로서, 그림 (a)는 카메라 모듈에서 연속적으로 촬영된 촬영 프레임 이미지 1 내지 12를 도시하고, 그림 (b)는 그 중에서 탐색 프레임 선별모듈(161)에 의하여 탐색 프레임 이미지로 선별된 프레임 이미지 1, 4, 6, 9, 12, 14를 표시하며, 그림 (c)는 이전 탐색 프레임 이미지에서의 객체 위치와 현재 탐색 프레임 이미지에서의 객체 간의 거리를 나타낸다. 탐색 프레임 이미지 4를 선정한 후, 탐색 프레임 선별모듈(161)은 이전 탐색 프레임 이미지 1과 현재 탐색 프레임 이미지 4에서의 객체 간 이동 거리-예컨대, 추적 객체가 이동한 단위 픽셀(ex. 10픽셀 등) 수 등-를 산출한 결과 60으로 결정되었으며, 이는 이동거리의 기준 (ex. 40)을 초과하였으므로, 탐색 프레임 이미지의 선정 빈도를 보다 높여서 6번째 촬영 프레임 이미지를 탐색 프레임 이미지로 선정하고 있다. 한편, 6번째 프레임 이미지 및 9번째 프레임 이미지에서는 추적 객체의 이동거리가 40, 30으로서 기준 이하이므로 9번째, 12번째 프레임 이미지를 선정하고 있다. 한편, 12번째 프레임 이미지에서는 추적 객체의 이동거리가 70이므로 이동거리의 기준 (ex. 40)을 초과하였으므로, 탐색 프레임 이미지의 선정 빈도를 보다 높여서 14번째 촬영 프레임 이미지를 탐색 프레임 이미지로 선정하고 있다. 이와 같이, 추적 객체의 뷰잉 윈도우 상의 이동 거리에 따라 뷰잉 윈도우의 선정 빈도를 조절함으로써 소프트웨어 기반의 트래킹을 보다 원활하게 수행할 수 있다.
다시 도 7을 참조하면, 객체 탐지모듈(162)은 이러한 탐색 프레임 이미지에서 추적 객체가 존재하는지 식별할 수 있다.
일 실시예에서, 도 12에 도시된 예와 같이, 객체 탐지모듈(162)은 딥 러닝 기반의 객체 탐지를 수행할 수 있다. 도 12를 참조하면, 객체 탐지모듈(162)은 추적 객체와 연관된 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 구비할 수 있다(S1210). 제1 딥 러닝 모델은 추적 객체가 표시된 다량의 학습 데이터로 학습한 인공 신경망 모델일 수 있으며, 이러한 인공신경망의 구조는 CNN, RNN 등 다양한 모델이 적용될 수 있다. 객체 탐지모듈(162)은 제1 딥 러닝 모델을 이용하여, 탐색 프레임 이미지 내에 존재하는 추적 객체를 식별할 수 있다(S1220). 객체 탐지모듈(162)은 탐색 프레임 이미지 내에서 식별된 추적 객체에 바운딩 박스를 표시할 수 있고(S1230), 윈도우 설정모듈(613)는 이러한 바운딩 박스를 기초로 뷰윙 윈도우를 설정할 수 있다.
추적 객체의 예로, 사람의 얼굴, 사람의 몸통, 사람 전체의 형상 등 사람과 관련된 것 외에도, 승마, 강아지 등과 같이 다양한 객체가 추적 객체로 설정될 수 있다. 이는, 제1 딥 러닝 모델의 학습 데이터에 따라 추적 객체가 설정되기 때문이다. 제1 딥 러닝 모델은, 설정에 따라 하나 또는 몇몇의 객체 중 적어도 일부를 검출하도록 학습되는 등 다양하게 학습 및 추적이 가능하다.
일 실시예에서, 도 13에 도시된 예와 같이, 객체 탐지모듈(162)은 별도의 딥 러닝 모델을 이용하여 이전 추적 객체와 현재 추적 객체의 동일성을 판단할 수 있다. 이는 제1 딥 러닝 모델은 객체를 식별하여 구분하는 것이므로, 동일하지 않은 객체, 예컨대, 사람을 모두 추적객체로서 식별하게 되며, 따라서, 본 실시예에서는 별도의 제2 딥 러닝 모델을 이용하여 동일한 객체, 예컨대, 동일한 사람만을 추적 객체로서 설정하도록 할 수 있다. 도 13을 살펴보면, 객체 탐지모듈(162)은 추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥 러닝 모델을 구비할 수 있다(S1310). 제2 딥 러닝 모델은 추적 객체의 외형적 특징을 기초로 유사도를 판단하도록 다량의 학습 데이터로 학습한 인공 신경망 모델일 수 있다. 객체 탐지모듈(162)은 제2 딥 러닝 모델을 이용하여, 제1 탐색 프레임 이미지에서 식별된 제1 추적 객체의 외형적 특징과 연관된 제1 특징 데이터를 생성하고(S1320), 제2 탐색 프레임 이미지에서 식별된 제2 추적 객체의 외형적 특징과 연관된 제2 특징 데이터를 생성할 수 있다(S1330). 객체 탐지모듈(162)은 제1 특징 데이터와 제2 특징 데이터 간의 유사도를 기초로 제1 추적 객체와 제2 추적 객체가 동일 객체인지 판단할 수 있다(S1340). 실시예에 따라, 객체 탐지모듈(162)은 특징 데이터를 생성하지 않고 바로 유사도 판단을 위한 데이터-예컨대, 특징 벡터-를 생성하여 동일 객체인지 판단할 수도 있다. 도 14 및 도 15는 이러한 예를 도시하고 있다. 도 14의 예에서, 제1 탐색 프레임 이미지(1401)에서 추적 객체(1402)가 탐지되면 그를 기초로 뷰잉 윈도우(1403)가 설정된다. 도 15는 도 14 이후의 제2 탐색 프레임 이미지(1401)이다. 객체 탐지모듈(162)은 제2 탐색 프레임 이미지(1501)에서 2개의 객체(1502, 1504)를 탐지할 수 있다. 객체 탐지모듈(162)은 제1 탐색 프레임 이미지(1401)에서의 제1 추적 객체(1402)와 제2 탐색 프레임 이미지(1501)에서 2개의 객체(1502, 1504)에 대하여 동일 객체인지 판단하여 제2 추적 객체(1502)를 결정할 수 있고, 제2 추적 객체(1502)를 기초로 뷰잉 윈도우(1503)가 설정됨을 알 수 있다.
다시 도 7을 참조하면, 윈도우 설정모듈(613)은 객체 탐지모듈(162)에서 제공된 정보-예컨대, 바운딩 박스-를 기초로, 탐색 프레임 이미지에서 적어도 일부 영역을 뷰잉 윈도우로서 설정할 수 있다.
도 16은 이러한 윈도우 설정모듈(613)의 동작을 설명하는 순서도로서, 도 16을 참조하면, 윈도우 설정모듈(613)은 객체 탐지모듈(162)에서 제공된 정보-예컨대, 바운딩 박스-를 기초로, 탐색 프레임 이미지 내에서의 추적 객체의 위치를 확인할 수 있다(S1610). 윈도우 설정모듈(613)은 추적 객체의 위치를 기준으로, 제2 해상도에 해당하는 탐색 프레임 이미지의 일부를 추출하고(S1620), 추출된 탐색 프레임 이미지의 일부를 뷰잉 윈도우로서 설정할 수 있다(S1630).
윈도우 설정모듈(613)은 탐색 프레임 이미지가 아닌 촬영 프레임 이미지에 대해서는, 최신의 탐색 프레임 이미지에서 결정된 뷰잉 윈도우를 동일하게 설정할 수 있다. 이는, 모든 촬영 프레임 이미지가 아닌 일부를 탐색 프레임 이미지로 설정한 경우에 해당된다. 예컨대, 제1 탐색 프레임 이미지 이후에 연속되어 표시되는 적어도 하나의 비 탐색 프레임 이미지에는, 제1 탐색 프레임 이미지에서 결정된 뷰잉 윈도우가 동일하게, 즉, 동일한 위치로 설정될 수 있다.
일 실시예에서, 도 17에 도시된 예와 같이, 윈도우 설정모듈(613)은 이전의 탐색 프레임 이미지에서의 뷰잉 윈도우와 현재의 탐색 프레임 이미지에서의 뷰잉 윈도우가 일정 이상 이격되어 있는 경우에 이를 보정할 수 있다. 도 17 내지 도 20을 참조하여 설명한다. 윈도우 설정모듈(613)은 제1 탐색 프레임 이미지(도 18, 1801)에 대한 제1 뷰잉 윈도우(1803)를 설정하고(S1710), 제2 탐색 프레임 이미지(도 19, 1901)에 대한 제2 뷰잉 윈도우(1903)를 설정할 수 있다(S1720). 윈도우 설정모듈(613)은 제1 뷰잉 윈도우와 제2 뷰잉 윈도우 간의 위치적 임계성을 판단하여(S1730), 위치적 임계성을 만족하는지 판단할 수 있다(S1740). 위치적 임계성은 탐색 프레임 간의 시간 간격(예컨대, 프레임 레이트의 수)에 비례하여 설정되는 뷰잉 윈도우의 변동 거리로 설정될 수 있다. 도 19의 예에서, 윈도우 설정모듈(613)은 좌상단 모서리를 기준으로 제1 탐색 프레임 이미지에서의 제1 뷰잉 윈도우의 위치(도 19, 1803)와 제2 탐색 프레임 이미지에서 선정된 제2 뷰잉 윈도우(1904) 간의 거리 △Lt1을 산출하여 이를 기초로 위치적 임계성을 판단한다. 도 19의 예에서는 위치적 임계성을 벗어난 예이며, 윈도우 설정모듈(613)은, 도 20에 도시된 예와 같이, 이전의 제1 탐색 프레임 이미지에서의 제1 뷰잉 윈도우의 위치(1803)를 기초로, 제2 뷰잉 윈도우(1903)를 재설정할 수 있다. 위치적 임계성을 만족하는 경우에는, 윈도우 설정모듈(613)은 제2 뷰잉 윈도우를 유지하도록 한다(S1750). 이러한 실시예는, 외형적으로 유사한 객체가 동시에 감지되어 오류가 발생하는 경우, 뷰잉 윈도우 자체만을 이용하여 보정하도록 함으로써, 트래킹의 오류를 방지할 수 있다.
일 실시예에서, 윈도우 설정모듈(613)은 추적 객체의 크기에 대응하여 뷰잉 윈도우의 크기를 조절할 수 있다. 예컨대, 제1 탐색 프레임 이미지에서의 제1 추적 객체보다 제2 탐색 프레임 이미지에서의 제2 추적 객체의 사이즈가 일정 이상 줄어든 경우가 발생할 수 있다. 윈도우 설정모듈(613)은 그러한 줄어든 비율을 반영하여, 제1 탐색 프레임 이미지에서의 제1 뷰잉 윈도우의 크기보다 제2 탐색 프레임 이미지에서의 제2 뷰잉 윈도우의 크기가 작아지도록 설정할 수 있다. 예컨대, 사람 객체가 컴퓨팅 장치에서 멀어지는 방향으로 이동하는 경우가 이에 해당하며, 이러한 경우 뷰잉 윈도우의 크기를 줄여 뷰잉 윈도우 대비 사람 객체의 크기가 유지되도록 제어할 수 있다.
인터페이스 모듈(164)은 윈도우 설정모듈(613)에서 제공되는 뷰잉 윈도우를 기초로, 사용자 디스플레이 인터페이스를 표시할 수 있다.
일 예로, 사용자 디스플레이 인터페이스의 해상도와 뷰잉 윈도우의 해상도는 상이할 수 있고, 인터페이스 모듈(164)은 사용자 디스플레이 인터페이스의 해상도에 대응하도록 뷰잉 윈도우의 해상도를 확대 또는 축소할 수 있다. 이는, 뷰잉 윈도우의 해상도는 가변 가능하므로, 뷰잉 윈도우의 절대적인 크기에 제한되지 않고, 사용자 디스플레이 인터페이스의 해상도에 맞추어 뷰잉 윈도우의 해상도를 확대 또는 축소하여 처리하도록 함으로써, 사용자에게 줌인 줌 아웃과 같은 효과를 제공할 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고 후술하는 특허청구범위에 의해 한정되며, 본 발명의 구성은 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 그 구성을 다양하게 변경 및 개조할 수 있다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.
[사사]
본 발명은 대한민국 정부가 지원한 다음 연구과제의 지원을 받아 창작된 것이다.
연구과제 정보
부처명: 과학기술정보통신부
연구사업명: 2022년 SW고성장클럽
자율과제명: 오토 트래킹 기술 및 HW/SW 고도화를 통한 채널 확대 및 신규 시장 개척
주관기관:(주)쓰리아이
연구기간:2022.03.01~2022.11.30
100 : 컴퓨팅 장치 200 :크레들
110 : 통신부 120 : 카메라부
130 : 출력부 140 : 메모리
150 : 전원 공급부 160 : 프로세서
161 : 탐색 프레임 선별모듈 162 : 객체 탐지모듈
163 : 윈도우 설정모듈 164 : 인터페이스 모듈

Claims (20)

  1. 카메라 모듈을 포함하는 컴퓨팅 장치에서 수행되는 객체 트래킹 제공 방법으로서,
    상기 카메라 모듈로부터 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 단계;
    뷰잉 윈도우에 대한 제2 해상도를 설정하는 단계;
    상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 단계; 및
    상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 단계; 를 포함하고,
    상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 인,
    상기 카메라 모듈은,
    상기 추적 객체의 존재 및 이동 여부에 무관하게 기 설정된 전방 방향으로 고정되어 상기 제1 해상도로 촬영하여 상기 탐색 프레임 이미지를 생성하고,
    상기 뷰잉 윈도우는,
    사용자 단말에 표시되는 표시용 윈도우 영역으로서, 상기 제1 해상도로 촬영된 상기 탐색 프레임 이미지 전체 중에서 상기 추적 객체를 기초로 설정되는 상기 탐색 프레임 이미지의 일부 영역인,
    소프트웨어 기반의 객체 트래킹 제공 방법.
  2. 제1항에 있어서, 상기 소프트웨어 기반의 객체 트래킹 제공 방법은,
    사용자 디스플레이 인터페이스를 이용하여 상기 뷰잉 윈도우를 표시하는 단계; 를 더 포함하는,
    소프트웨어 기반의 객체 트래킹 제공 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 탐색 프레임 이미지의 상기 제1 해상도는 기 설정되어 고정된 것 이고,
    상기 뷰잉 윈도우의 상기 제2 해상도는 객체 트래킹 기능의 제공 중에 변동 가능한 것인,
    소프트웨어 기반의 객체 트래킹 제공 방법.
  5. 제1항에 있어서, 상기 카메라 모듈에 의해 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 단계는,
    상기 카메라 모듈로부터 기 설정된 프레임 레이트로 복수의 연속된 촬영 프레임 이미지를 제공받는 단계; 및
    상기 복수의 연속된 촬영 프레임 이미지 중에서 일부 프레임 이미지를 선별하여 상기 탐색 프레임 이미지로서 설정하는 단계; 를 포함하는,
    소프트웨어 기반의 객체 트래킹 제공 방법.
  6. 제1항에 있어서, 상기 프레임 이미지 내에 객체가 존재하는지 식별하는 단계는,
    추적 객체와 연관된 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 이용하여, 상기 탐색 프레임 이미지 내에서 상기 추적 객체를 식별하는 단계; 를 포함하는,
    소프트웨어 기반의 객체 트래킹 제공 방법.
  7. 제6항에 있어서, 상기 프레임 이미지 내에 객체가 존재하는지 식별하는 단계는,
    제1 탐색 프레임 이미지에서 식별된 제1 추적 객체와, 제2 탐색 프레임 이미지에서 식별된 제2 추적 객체가 동일한 객체인지 판단하는 단계; 를 더 포함하는,
    소프트웨어 기반의 객체 트래킹 제공 방법.
  8. 제7항에 있어서, 상기 제2 탐색 프레임 이미지에서 식별된 제2 추적 객체가 동일한 객체인지 판단하는 단계는,
    추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥러닝 모델을 이용하여, 상기 제1 탐색 프레임 이미지에서 식별된 상기 제1 추적 객체의 외형적 특징과 연관된 제1 특징 데이터를 생성하는 단계;
    상기 제2 탐색 프레임 이미지에서 식별된 상기 제2 추적 객체의 외형적 특징과 연관된 제2 특징 데이터를 생성하는 단계; 및
    상기 제1 추적 객체의 상기 제1 특징 데이터와 상기 제2 추적 객체의 상기 제2 특징 데이터 간의 유사도를 기초로, 상기 제1 추적 객체와 상기 제2 추적 객체가 동일 객체인지 판단하는 단계; 를 포함하는,
    소프트웨어 기반의 객체 트래킹 제공 방법.
  9. 제2항에 있어서, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 단계는,
    상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 확인하는 단계;
    상기 추적 객체의 위치를 기준으로 상기 제2 해상도에 해당하는 상기 탐색 프레임 이미지의 일부를 추출하는 단계; 및
    추출된 상기 탐색 프레임 이미지의 일부를 상기 뷰잉 윈도우로서 설정하는 단계; 를 포함하는,
    소프트웨어 기반의 객체 트래킹 제공 방법.
  10. 제9항에 있어서, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 단계는,
    제1 탐색 프레임 이미지에 대한 제1 뷰잉 윈도우와, 제2 탐색 프레임 이미지에 대한 제2 뷰잉 윈도우 간의 위치적 임계성을 판단하는 단계; 및
    상기 위치적 임계성을 만족하지 않는 경우, 상기 제1 뷰잉 윈도우를 기초로 상기 제2 뷰잉 윈도우를 재 설정하는 단계; 를 포함하는,
    소프트웨어 기반의 객체 트래킹 제공 방법.
  11. 기 설정된 전방 방향으로 고정되어 촬영 프레임 이미지를 생성하는 카메라 모듈을 포함하는 컴퓨팅 장치에서 수행되는 객체 트래킹 제공 방법으로서,
    카메라 모듈로부터 제1 해상도로 연속하여 촬영된 복수의 촬영 프레임 이미지를 제공받는 단계;
    상기 복수의 촬영 프레임 이미지에서 적어도 일부를 선별하여 적어도 하나의 탐색 프레임 이미지를 선정하는 단계;
    상기 적어도 하나의 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 단계; 및
    상기 적어도 하나의 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 적어도 하나의 탐색 프레임 이미지의 일부 영역을 뷰잉 윈도우로서 각각 설정하는 단계; 를 포함하고,
    상기 카메라 모듈은,
    상기 추적 객체의 존재 및 이동 여부에 무관하게 기 설정된 전방 방향으로 고정되어 상기 제1 해상도로 촬영하여 상기 탐색 프레임 이미지를 생성하고,
    상기 뷰잉 윈도우는,
    사용자 단말에 표시되는 표시용 윈도우 영역으로서, 상기 제1 해상도로 촬영된 상기 탐색 프레임 이미지 전체 중에서 상기 추적 객체를 기초로 설정되는 상기 탐색 프레임 이미지의 일부 영역인,
    소프트웨어 기반의 객체 트래킹 제공 방법.
  12. 컴퓨터 판독 가능한 인스트럭션들(instructions)을 저장하고 있는 저장 매체에 있어서,
    상기 인스트럭션들은, 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금,
    카메라 모듈로부터 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 동작;
    뷰잉 윈도우에 대한 제2 해상도를 설정하는 동작;
    상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 동작; 및
    상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 동작; 을 수행하도록 하고,
    상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 인,
    상기 카메라 모듈은,
    상기 추적 객체의 존재 및 이동 여부에 무관하게 기 설정된 전방 방향으로 고정되어 상기 제1 해상도로 촬영하여 상기 탐색 프레임 이미지를 생성하고,
    상기 뷰잉 윈도우는,
    사용자 단말에 표시되는 표시용 윈도우 영역으로서, 상기 제1 해상도로 촬영된 상기 탐색 프레임 이미지 전체 중에서 상기 추적 객체를 기초로 설정되는 상기 탐색 프레임 이미지의 일부 영역인,
    저장 매체.
  13. 컴퓨팅 장치로서,
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    카메라 모듈로부터 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받고,
    뷰잉 윈도우에 대한 제2 해상도를 설정하고,
    상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하고,
    상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하며,
    상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 이고,
    상기 카메라 모듈은,
    상기 추적 객체의 존재 및 이동 여부에 무관하게 기 설정된 전방 방향으로 고정되어 상기 제1 해상도로 촬영하여 상기 탐색 프레임 이미지를 생성하고,
    상기 뷰잉 윈도우는,
    사용자 단말에 표시되는 표시용 윈도우 영역으로서, 상기 제1 해상도로 촬영된 상기 탐색 프레임 이미지 전체 중에서 상기 추적 객체를 기초로 설정되는 상기 탐색 프레임 이미지의 일부 영역인,
    컴퓨팅 장치.
  14. 제13항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 하나 이상의 인스트럭션을 실행함으로써,
    사용자 디스플레이 인터페이스를 제공하여 상기 뷰잉 윈도우를 표시하는,
    컴퓨팅 장치.
  15. 삭제
  16. 제13항에 있어서,
    상기 탐색 프레임 이미지의 상기 제1 해상도는 기 설정되어 고정된 것이고,
    상기 뷰잉 윈도우의 상기 제2 해상도는 객체 트래킹 기능의 제공 중에 변동 가능한 것인,
    컴퓨팅 장치.
  17. 제13항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 카메라 모듈로부터 기 설정된 프레임 레이트로 복수의 연속된 촬영 프레임 이미지를 제공받고,
    상기 복수의 연속된 촬영 프레임 이미지 중에서 일부 프레임 이미지를 선별하여 상기 탐색 프레임 이미지로서 설정하는,
    컴퓨팅 장치.
  18. 제13항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 하나 이상의 인스트럭션을 실행함으로써,
    추적 객체와 연관된 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 이용하여, 상기 탐색 프레임 이미지 내에서 상기 추적 객체를 식별하고,
    제1 탐색 프레임 이미지에서 식별된 제1 추적 객체와, 제2 탐색 프레임 이미지에서 식별된 제2 추적 객체가 동일한 객체인지 판단하는,
    컴퓨팅 장치.
  19. 제18항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 하나 이상의 인스트럭션을 실행함으로써,
    추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥러닝 모델을 이용하여, 상기 제1 탐색 프레임 이미지에서 식별된 상기 제1 추적 객체의 외형적 특징과 연관된 제1 특징 데이터를 생성하고,
    상기 제2 탐색 프레임 이미지에서 식별된 상기 제2 추적 객체의 외형적 특징과 연관된 제2 특징 데이터를 생성하며,
    상기 제1 추적 객체의 상기 제1 특징 데이터와 상기 제2 추적 객체의 상기 제2 특징 데이터 간의 유사도를 기초로, 상기 제1 추적 객체와 상기 제2 추적 객체가 동일 객체인지 판단하는,
    컴퓨팅 장치.
  20. 제13항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 하나 이상의 인스트럭션을 실행함으로써,
    제1 탐색 프레임 이미지에 대한 제1 뷰잉 윈도우와, 제2 탐색 프레임 이미지에 대한 제2 뷰잉 윈도우 간의 위치적 임계성을 판단하고,
    상기 위치적 임계성을 만족하지 않는 경우, 상기 제1 뷰잉 윈도우를 기초로 상기 제2 뷰잉 윈도우를 재 설정하는,
    컴퓨팅 장치.
KR1020220152262A 2022-06-29 2022-11-15 소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치 KR102617213B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2022/018565 WO2024005279A1 (ko) 2022-06-29 2022-11-23 소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치
PCT/KR2022/019010 WO2024071516A1 (ko) 2022-09-30 2022-11-29 객체 고정이 가능한 객체 트래킹 제공 방법 및 그를 위한 휴대 단말
US18/340,318 US20240005530A1 (en) 2022-06-29 2023-06-23 Locked-on target based object tracking method and portable terminal therefor
US18/340,311 US20240005529A1 (en) 2022-06-29 2023-06-23 Software-based object tracking method and computing device therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220080041 2022-06-29
KR20220080041 2022-06-29

Publications (1)

Publication Number Publication Date
KR102617213B1 true KR102617213B1 (ko) 2023-12-27

Family

ID=89377536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220152262A KR102617213B1 (ko) 2022-06-29 2022-11-15 소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치

Country Status (2)

Country Link
KR (1) KR102617213B1 (ko)
WO (1) WO2024005279A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016127571A (ja) * 2015-01-08 2016-07-11 キヤノン株式会社 カメラシステム、表示制御装置、表示制御方法、及びプログラム
KR20180097944A (ko) * 2017-02-24 2018-09-03 재단법인대구경북과학기술원 공유 특징맵을 이용한 다중 객체 추적 장치 및 그 방법
KR20210024124A (ko) * 2018-12-29 2021-03-04 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 목표 객체 검출 방법 및 장치, 전자 디바이스 및 기록 매체
JP2021124669A (ja) * 2020-02-07 2021-08-30 キヤノン株式会社 電子機器
KR20220059194A (ko) * 2020-11-02 2022-05-10 삼성전자주식회사 대상 객체에 적응적인 객체 추적 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220052620A (ko) * 2020-10-21 2022-04-28 삼성전자주식회사 객체 추적 방법 및 이를 수행하는 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016127571A (ja) * 2015-01-08 2016-07-11 キヤノン株式会社 カメラシステム、表示制御装置、表示制御方法、及びプログラム
KR20180097944A (ko) * 2017-02-24 2018-09-03 재단법인대구경북과학기술원 공유 특징맵을 이용한 다중 객체 추적 장치 및 그 방법
KR20210024124A (ko) * 2018-12-29 2021-03-04 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 목표 객체 검출 방법 및 장치, 전자 디바이스 및 기록 매체
JP2021124669A (ja) * 2020-02-07 2021-08-30 キヤノン株式会社 電子機器
KR20220059194A (ko) * 2020-11-02 2022-05-10 삼성전자주식회사 대상 객체에 적응적인 객체 추적 방법 및 장치

Also Published As

Publication number Publication date
WO2024005279A1 (ko) 2024-01-04

Similar Documents

Publication Publication Date Title
EP3467707B1 (en) System and method for deep learning based hand gesture recognition in first person view
US11481923B2 (en) Relocalization method and apparatus in camera pose tracking process, device, and storage medium
US10394318B2 (en) Scene analysis for improved eye tracking
US10410046B2 (en) Face location tracking method, apparatus, and electronic device
US9542585B2 (en) Efficient machine-readable object detection and tracking
KR102114377B1 (ko) 전자 장치에 의해 촬영된 이미지들을 프리뷰하는 방법 및 이를 위한 전자 장치
EP3800528A1 (en) Pose prediction with recurrent neural networks
US10825197B2 (en) Three dimensional position estimation mechanism
WO2019205868A1 (zh) 相机姿态追踪过程的重定位方法、装置、设备及存储介质
US11070729B2 (en) Image processing apparatus capable of detecting moving objects, control method thereof, and image capture apparatus
KR101647969B1 (ko) 사용자 시선을 검출하기 위한 사용자 시선 검출 장치 및 그 방법과, 그 방법을 실행하기 위한 컴퓨터 프로그램
JP2017523498A (ja) 効率的なフォレストセンシングに基づくアイトラッキング
JP7182020B2 (ja) 情報処理方法、装置、電子機器、記憶媒体およびプログラム
US11902677B2 (en) Patch tracking image sensor
CN111724412A (zh) 确定运动轨迹的方法、装置及计算机存储介质
CN112087728B (zh) 获取Wi-Fi指纹空间分布的方法、装置和电子设备
KR102617213B1 (ko) 소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치
US20240005529A1 (en) Software-based object tracking method and computing device therefor
US9761009B2 (en) Motion tracking device control systems and methods
US11330166B2 (en) Method of automatically photographing an image, image processing device and image processing system performing the same
CN114600162A (zh) 用于捕捉摄像机图像的场景锁定模式
KR20240045946A (ko) 객체 고정이 가능한 객체 트래킹 제공 방법 및 그를 위한 휴대 단말
JP7479803B2 (ja) 画像処理装置及び画像処理方法
KR20240045743A (ko) 영상 합성기능 제공 방법 및 그를 위한 컴퓨팅 장치
CN115885316A (zh) 身高检测方法、装置及存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant