KR102198337B1 - 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 매체. - Google Patents

전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 매체. Download PDF

Info

Publication number
KR102198337B1
KR102198337B1 KR1020180157170A KR20180157170A KR102198337B1 KR 102198337 B1 KR102198337 B1 KR 102198337B1 KR 1020180157170 A KR1020180157170 A KR 1020180157170A KR 20180157170 A KR20180157170 A KR 20180157170A KR 102198337 B1 KR102198337 B1 KR 102198337B1
Authority
KR
South Korea
Prior art keywords
image frame
image
image frames
frames
network model
Prior art date
Application number
KR1020180157170A
Other languages
English (en)
Other versions
KR20200075069A (ko
Inventor
최준권
강상규
정동진
한규춘
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180157170A priority Critical patent/KR102198337B1/ko
Priority to PCT/KR2019/017180 priority patent/WO2020116983A1/en
Priority to EP19893413.5A priority patent/EP3821372A4/en
Priority to CN201980080530.2A priority patent/CN113168543A/zh
Priority to US16/707,105 priority patent/US11558545B2/en
Publication of KR20200075069A publication Critical patent/KR20200075069A/ko
Application granted granted Critical
Publication of KR102198337B1 publication Critical patent/KR102198337B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • G06K9/6201
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • G06K9/46
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/48Matching video sequences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/617Upgrading or updating of programs or applications for camera control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N5/23229
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

전자 장치를 개시한다. 본 전자 장치는, 카메라, 카메라와 전기적으로 연결되어 카메라를 제어하는 프로세서, 프로세서와 전기적으로 연결되며, 이미지 프레임이 입력되면 입력된 이미지 프레임과 기설정된 특징 정보와의 매칭 정도를 판단하도록 학습된 네트워크 모델이 저장된 메모리를 포함하고, 프로세서는, 메모리에 저장된 적어도 하나의 명령어를 실행함으로써, 카메라를 통해 복수의 이미지 프레임이 촬영되는 동안에, 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여 대표 이미지 프레임을 식별하고, 복수의 이미지 프레임 중에서 식별된 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여 베스트 이미지 프레임을 식별하고, 식별된 베스트 이미지 프레임을 제공한다.

Description

전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 매체. { ELECTRONIC APPARATUS, CONTROLLING METHOD OF ELECTRONIC APPARATUS, AND COMPUTER READABLE MEDIUM }
본 개시는 전자 장치에 관한 것이다. 보다 상세하게는, 사용자가 촬영한 영상 내에서 가장 적절한(사용자가 원하는) 순간에 촬영된 베스트 이미지를 제공하기 위한 전자 장치에 관한 것이다.
아울러, 본 개시는, 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(Artificial Intelligence, AI) 시스템 및 그 응용에 따라 복수의 이미지 중 베스트 이미지를 선정함에 있어, 그 연산 과정을 최적화하기 위한 전자 장치 및 그 제어 방법에 관한 것이다.
야구 선수의 배트가 공과 만나는 순간, 화면 속 인물이 미소 짓는 순간 등 사용자가 남기고자 하는 좋은 순간을 포착하여 사진을 촬영하는 것은 일반인들에게 쉽지 않은 일이다. 셔터를 누르는 순간과 실제 촬영이 이루어지는 순간 간의 딜레이 문제도 있지만, 무엇보다 좋은 순간이 언제 발생할지 예측하는 것 자체가 쉽지 않기 때문이다.
이러한 불편을 해결하기 위해, 종래에 다양한 기술들이 제시되어 왔다.
일 예로, 특정시간 동안 연속적으로 이미지들을 촬영하고 촬영된 이미지들 중 사용자가 가장 원하는 사진을 고르도록 하는 전자 장치가 제공된 바 있다. 그러나, 촬영의 결과물로 다수의 불필요한 이미지들이 메모리에 남게 되고, 그 중에서 하나의 이미지를 고르는 수고를 사용자가 직접 해야한다는 단점이 있었다.
또한, 이미지 속 하나 이상의 객체가 기설정된 구도와 매칭되는 순간(ex. 야구 선수의 배트가 공과 만나기 위한 특정 선상에 위치한 순간) 사진을 촬영하도록 구현된 촬영 장치가 제공된 바 있으나, 정해진 구도상에서만 효용성이 있다는 점에서 활용범위가 매우 제한적이었고, 해당 구도를 유지하기 위해 삼각대 등의 설치가 필수적이라는 단점도 있었다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥 러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
예를 들어, 다양한 이미지를 통해 학습된 인공지능 모델에 기초하여, 입력된 이미지가 특정 요소를 포함하는지 및/또는 기설정된 특징 내지 이미지와 어느 정도로 매칭되는지 등을 판단할 수 있다.
본 개시는, 영상이 촬영되기만 하면, 사용자가 직접 셔터를 누르지 않더라도, 해당 영상에 포함되는 복수의 이미지 프레임 중 가장 적절한 베스트 이미지 프레임을 식별하여 제공하는 전자 장치를 제공함에 그 목적이 있다.
아울러, 본 개시는, 기학습된 인공지능 모델을 이용하여, 사용자가 원하는 하나 이상의 상황에 대응되는 이미지 프레임을 자동적으로 제공하는 전자 장치를 제공함에도 그 목적이 있다.
특히, 연산 속도가 제한적일 수밖에 없는 인공지능 모델을 이용하여 영상 내 복수의 이미지 프레임을 분석함에 있어, 베스트 이미지 프레임을 최대한 빠른 속도로 제공하기 위한 최적의 방식을 이용하는 전자 장치를 제공함에도 목적이 있다.
본 개시의 일 실시 예에 따른 전자 장치는, 카메라, 상기 카메라와 전기적으로 연결되어 상기 카메라를 제어하는 프로세서, 상기 프로세서와 전기적으로 연결되며, 이미지 프레임이 입력되면 상기 입력된 이미지 프레임과 기설정된 특징 정보와의 매칭 정도를 판단하도록 학습된 네트워크 모델이 저장된 메모리를 포함하고, 상기 메모리는, 적어도 하나의 명령어를 포함하며, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써, 상기 카메라를 통해 복수의 이미지 프레임이 촬영되는 동안에, 상기 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여 대표 이미지 프레임을 식별하고, 상기 복수의 이미지 프레임 중에서 상기 식별된 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여 베스트 이미지 프레임을 식별하고, 상기 식별된 베스트 이미지 프레임을 제공한다.
이 경우, 상기 선택된 이미지 프레임들은, 상기 복수의 이미지 프레임 중에서 일정한 시간 간격으로 촬영된 이미지 프레임들을 포함하며, 상기 일정한 시간 간격은, 상기 학습된 네트워크 모델의 판단 속도에 기초하여 결정될 수 있다.
그리고, 상기 프로세서는, 상기 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 매칭 정도에 대응되는 스코어를 획득하고, 상기 획득된 스코어가 기설정된 임계 값 이상인 이미지 프레임들 중에서 가장 높은 스코어를 갖는 상기 대표 이미지 프레임을 식별할 수 있다.
이때, 상기 프로세서는, 상기 대표 이미지 프레임이 포함된 상기 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 매칭 정도에 대응되는 스코어를 획득하고, 상기 획득된 스코어 중에서 가장 높은 스코어를 갖는 상기 베스트 이미지 프레임을 식별할 수도 있다.
한편, 상기 프로세서는, 상기 복수의 이미지 프레임의 해상도를 낮춰 저화질의 복수의 이미지 프레임을 획득하고, 상기 저화질의 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 저화질의 대표 이미지 프레임을 식별하고, 상기 복수의 이미지 프레임 중에서 상기 저화질의 대표 이미지 프레임에 대응되는 상기 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 베스트 이미지 프레임을 식별할 수 있다.
그리고, 상기 프로세서는, 상기 선택된 이미지 프레임들 중 제1 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 기설정된 임계 값 미만이면, 상기 복수의 이미지 프레임 중에서 상기 제1 이미지 프레임 이전의 이미지 프레임을 삭제하고, 상기 제1 이미지 프레임의 스코어가 상기 기설정된 임계 값 이상이면 상기 제1 이미지 프레임을 상기 대표 이미지 프레임으로 식별할 수 있다.
이 경우, 상기 프로세서는, 상기 제1 이미지 프레임의 스코어가 상기 기설정된 임계 값 이상이고, 상기 선택된 이미지 프레임들 중 상기 제1 이미지 프레임 다음의 제2 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 제1 이미지 프레임의 스코어보다 크면, 상기 복수의 이미지 프레임 중 상기 제1 이미지 프레임 이전의 이미지 프레임들을 삭제하고, 상기 제2 이미지 프레임을 상기 대표 이미지 프레임으로 식별할 수 있다.
또한, 상기 프로세서는, 상기 선택된 이미지 프레임들의 상기 매칭 정도에 기초하여 상기 복수의 이미지를 복수의 이벤트로 구분하고, 상기 복수의 이벤트별로, 상기 베스트 이미지 프레임을 식별할 수도 있다.
이때, 상기 프로세서는, 상기 선택된 이미지 프레임들 중, 제1 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 기설정된 임계 값 이상이고, 상기 제1 이미지 프레임 이후에 촬영된 제2 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 기설정된 임계 값 미만이며, 상기 제2 이미지 프레임 이후에 촬영된 제3 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 기설정된 임계 값 이상인 경우, 상기 제1 이미지 프레임과 상기 제3 이미지 프레임은 서로 다른 이벤트에 대응되는 것으로 판단할 수 있다.
그리고, 상기 학습된 네트워크 모델은, 상기 특징 정보에 매칭되는 복수의 이미지 및 상기 특징 정보에 매칭되지 않는 복수의 이미지에 기초하여 학습되고, 상기 특징 정보는, 이미지에 포함된 하나 이상의 객체, 상기 객체의 행동, 상기 객체의 표정 및 상기 이미지에 대응되는 상황 중 적어도 하나와 관련될 수 있다.
본 개시의 일 실시 예에 따라, 이미지 프레임이 입력되면 상기 입력된 이미지 프레임과 기설정된 특징 정보와의 매칭 정도를 판단하도록 학습된 네트워크 모델이 저장된 메모리를 포함하는 전자 장치의 제어 방법은, 카메라를 통해 복수의 이미지 프레임이 촬영되는 동안에, 상기 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여 대표 이미지 프레임을 식별하는 단계, 상기 복수의 이미지 프레임 중에서 상기 식별된 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여 베스트 이미지 프레임을 식별하는 단계, 상기 식별된 베스트 이미지 프레임을 제공하는 단계를 포함한다.
이때, 상기 대표 이미지 프레임을 식별하는 단계는, 상기 학습된 네트워크 모델의 판단 속도에 기초하여 결정된 일정한 시간 간격으로 촬영된 상기 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용할 수 있다.
그리고, 상기 대표 이미지 프레임을 식별하는 단계는, 상기 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 매칭 정도에 대응되는 스코어를 획득하고, 상기 획득된 스코어가 기설정된 임계 값 이상인 이미지 프레임들 중에서 가장 높은 스코어를 갖는 상기 대표 이미지 프레임을 식별할 수도 있다.
이 경우, 상기 베스트 이미지 프레임을 식별하는 단계는, 상기 대표 이미지 프레임이 포함된 상기 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 매칭 정도에 대응되는 스코어를 획득하고, 상기 획득된 스코어 중에서 가장 높은 스코어를 갖는 상기 베스트 이미지 프레임을 식별할 수 있다.
한편, 본 제어 방법은, 상기 복수의 이미지 프레임의 해상도를 낮춰 저화질의 복수의 이미지 프레임을 획득하는 단계, 상기 저화질의 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 저화질의 대표 이미지 프레임을 식별하는 단계를 더 포함하고, 상기 베스트 이미지 프레임을 식별하는 단계는, 상기 복수의 이미지 프레임 중에서 상기 저화질의 대표 이미지 프레임에 대응되는 상기 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 베스트 이미지 프레임을 식별할 수도 있다.
그리고, 상기 대표 이미지 프레임을 식별하는 단계는, 상기 선택된 이미지 프레임들 중 제1 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 기설정된 임계 값 미만이면, 상기 복수의 이미지 프레임 중에서 상기 제1 이미지 프레임 이전의 이미지 프레임을 삭제하고, 상기 제1 이미지 프레임의 스코어가 상기 기설정된 임계 값 이상이면 상기 제1 이미지 프레임을 상기 대표 이미지 프레임으로 식별할 수 있다.
이때, 상기 대표 이미지 프레임을 식별하는 단계는, 상기 제1 이미지 프레임의 스코어가 상기 기설정된 임계 값 이상이고, 상기 선택된 이미지 프레임들 중 상기 제1 이미지 프레임 다음의 제2 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 제1 이미지 프레임의 스코어보다 크면, 상기 복수의 이미지 프레임 중 상기 제1 이미지 프레임 이전의 이미지 프레임들을 삭제하고, 상기 제2 이미지 프레임을 상기 대표 이미지 프레임으로 식별할 수도 있다.
또한, 본 제어 방법은, 상기 선택된 이미지 프레임들의 상기 매칭 정도에 기초하여 상기 복수의 이미지를 복수의 이벤트로 구분하는 단계를 더 포함하고, 상기 베스트 이미지 프레임을 식별하는 단계는, 상기 복수의 이벤트별로, 상기 베스트 이미지 프레임을 식별할 수 있다.
이때, 상기 복수의 이미지를 상기 복수의 이벤트로 구분하는 단계는, 상기 선택된 이미지 프레임들 중, 제1 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 기설정된 임계 값 이상이고, 상기 제1 이미지 프레임 이후에 촬영된 제2 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 기설정된 임계 값 미만이며, 상기 제2 이미지 프레임 이후에 촬영된 제3 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 기설정된 임계 값 이상인 경우, 상기 제1 이미지 프레임과 상기 제3 이미지 프레임은 서로 다른 이벤트에 대응되는 것으로 판단할 수 있다.
본 개시의 일 실시 예에 따른 컴퓨터 판독 가능 매체에는, 이미지 프레임이 입력되면 상기 입력된 이미지 프레임과 기설정된 특징 정보와의 매칭 정도를 판단하도록 학습된 네트워크 모델이 저장된 메모리를 포함하는 전자 장치의 프로세서에 의해 실행되어, 상기 전자 장치로 하여금, 카메라를 통해 복수의 이미지 프레임이 촬영되는 동안에, 상기 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여 대표 이미지 프레임을 식별하는 단계, 상기 복수의 이미지 프레임 중에서 상기 식별된 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여 베스트 이미지 프레임을 식별하는 단계, 상기 식별된 베스트 이미지 프레임을 제공하는 단계를 포함하는 동작을 수행하도록 하는 컴퓨터 명령어가 저장되어 있다.
본 개시에 따른 전자 장치는, 영상이 촬영되기만 하면, 사용자가 직접 셔터를 누르지 않더라도, 해당 영상에 포함되는 복수의 이미지 프레임 중 가장 적절한 베스트 이미지 프레임을 자동으로 식별하여 제공한다는 효과가 있다.
또한, 본 개시에 따른 전자 장치는, 기학습된 인공지능 모델을 이용함으로써, 사용자가 원하는 하나 이상의 상황에 정확히 매칭되는 이미지 프레임을 제공할 수 있다는 효과도 있다. 특히, 연산 속도가 제한적일 수밖에 없는 인공지능 모델을 이용하여 영상 내 복수의 이미지 프레임을 분석함에 있어, 본 개시에 따른 최적의 방식을 이용하기 때문에, 베스트 이미지 프레임을 제공하는 속도가 빠르다는 장점이 있다.
도 1은 본 개시에 따른 전자 장치가 베스트 이미지 프레임을 제공하는 과정을 전자 장치의 사용자가 바라보는 시점으로 개략적으로 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 3은 복수의 이미지 프레임 중 선택된 이미지 프레임을 분석하는 일 실시 예를 설명하기 위한 도면,
도 4는 저화질의 복수의 이미지 프레임을 분석하여 베스트 이미지 프레임이 포함된 구간을 찾고, 해당 구간에 포함된 프레임들을 고화질 분석하여 베스트 이미지 프레임을 식별하는 일 실시 예를 설명하기 위한 도면,
도 5는 베스트 이미지 프레임이 포함된 구간 및 베스트 이미지 프레임을 식별하기 위해, 학습된 네트워크 모델을 통해 판단된 각 이미지 프레임의 스코어를 이용하는 일 예를 설명하기 위한 그래프들,
도 6은 복수의 이미지 프레임이 복수 개의 이벤트를 포함한 결과 베스트 이미지 프레임이 복수 개인 경우의 일 예를 설명하기 위한 그래프들,
도 7은 영상을 구성하는 복수의 이미지 프레임이 촬영되는 동안에, 실시간으로 베스트 이미지 프레임이 포함된 구간을 찾아내기 위한 구체적인 과정의 일 예를 설명하기 위한 그래프들,
도 8은 인공지능 모델을 학습시키거나 및/또는 학습된 인공지능 모델을 이용하기 위한 프로세서의 구성의 일 실시 예를 설명하기 위한 블록도,
도 9는 도 8에 있어, 프로세서에 포함된 데이터 학습부 및 데이터 인식부의 구성을 보다 상세하게 설명하기 위한 블록도들,
도 10은 본 개시의 다양한 실시 예에 따른 전자 장치의 상세한 구성을 설명하기 위한 블록도,
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 순서도,
도 12는 복수의 이미지 프레임을 저화질 분석하여 베스트 이미지 프레임이 포함된 구간을 찾기 위한 일 예를 설명하기 위한 순서도,
도 13은 영상을 구성하는 복수의 이미지 프레임이 촬영되는 동안에, 실시간으로 베스트 이미지 프레임이 포함된 구간을 찾아내기 위한 구체적인 과정의 일 예를 설명하기 위한 알고리즘, 그리고
도 14는 영상을 촬영하기 시작하여 베스트 이미지 프레임을 제공하기까지 전체 과정의 일 예를 설명하기 위한 알고리즘이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 개시에 따른 전자 장치가 베스트 이미지 프레임을 제공하는 과정을 사용자가 바라보는 시점으로 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 사용자가 특정 애플리케이션을 실행시키거나 및/또는 특정한 버튼/유저 인터페이스를 선택함으로써 전자 장치(10)의 카메라를 통한 영상(20) 촬영이 시작될 수 있다. 그리고, 촬영되는 영상(20)은 전자 장치(10)의 디스플레이에 디스플레이될 수 있다. 도 1을 참조하면, 촬영되는 영상(20)은 야구선수가 배트로 공을 치는 순간을 포함하는 영상이다. 이때, 사용자는, 현재 전자 장치(10)의 디스플레이를 통해 보여지고 있는 장면들이 영상 데이터로서 저장 및 분석되고 있다는 사실에 대해서는 인지하지 못할 수 있다.
그리고, 전자 장치(10)는 촬영된 영상(20)에 포함되는 이미지 프레임들 중 사용자가 가장 포착하고 싶은 순간의 이미지 프레임, 즉 공이 배트에 맞는 순간을 촬영한 이미지 프레임(30)을 선별하여 사용자에게 제공할 수 있다.
이 경우, 영상 촬영을 종료하기 위한 사용자 명령이 전자 장치(10)에 입력되거나, 촬영 도중에 기설정된 수의 베스트 이미지 프레임(30)을 찾았거나, 촬영 시간이 기설정된 시간을 초과한 경우 등에 영상 촬영이 종료될 수 있다. 그리고, 영상 촬영이 종료되는 순간과 거의 동시에 또는 그로부터 아주 짧은 시간 안에 베스트 이미지 프레임이 사용자에게 제공될 수 있다.
또한, 전자 장치(10)는, 촬영된 영상에 포함되는 복수의 이미지 프레임 중 베스트 이미지 프레임(30)을 제외한 이미지 프레임들은 모두 자동적으로 삭제하여 사용자가 해당 이미지 프레임들을 수동으로 삭제하는 불편을 방지할 수 있다.
이렇듯, 본 개시에 따른 전자 장치는, 사용자가 전자 장치의 카메라 및 디스플레이를 이용하여 특정 장면을 포함하는 영상을 촬영하기만 하면, 사용자가 셔터를 누를 필요도 없이, 촬영된 영상에 포함된 복수의 이미지 프레임 중 사용자가 원하는 순간을 포착한 베스트 이미지 프레임을 빠르게 제공할 수 있다는 효과가 있다.
이하에서는, 도 1을 통해 설명한 기능을 수행하기 위한 전자 장치의 구성 및 기술적 동작에 대해서 다양한 실시 예를 통해 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 블록도이다.
전자 장치(100)는 휴대폰, 스마트폰, 디지털 카메라, 데스크탑 PC, 노트북 PC, 태블릿 PC, 키오스크, 스티커 사진 촬영 기기, CCTV, 자동차 내 카메라 시스템 등 영상을 촬영하고 촬영된 영상에 포함된 하나 이상의 이미지 프레임을 처리할 수 있는 다양한 전자 기기로 구현될 수 있다.
도 2를 참조하면, 전자 장치(100)는 카메라(110), 프로세서(120) 및 메모리(130)를 포함할 수 있다.
카메라(110)는 하나 이상의 이미지를 촬영하기 위한 구성으로, 하나 이상의 이미지 센서(도시되지 않음)를 포함하는 디지털 카메라로 구현될 수 있다. 카메라(110)는 전자 장치(100)에 하나 이상 포함될 수 있다.
이미지 센서는 주변 광을 인식하기 위해 복수의 광센서를 포함할 수 있으며, 광센서는 입력된 광을 전기 신호로 변환하기 위한 구성으로, 광 다이오드로 구현될 수 있다.
이미지 센서는 CCD(Charge Coupled Device), CMOS(Complementary Metal-Oxide-Semiconductor) 등으로 구현될 수 있고, 다만 이에 한정되는 것은 아니다.
카메라(110)에 구비된 광센서의 수에 따라 카메라(110)를 통해 촬영된 이미지의 해상도가 결정될 수 있다. 이때, 전자 장치(100)는 프로세서(120)의 제어를 받는 이미지 처리부(도시되지 않음) 등을 통해, 촬영된 이미지의 해상도를 조정하거나 또는 촬영된 이미지와 해상도가 다른 새로운 이미지를 생성할 수도 있다.
전자 장치(100)는, 카메라(110)를 통해 개별적인 이미지를 하나씩 촬영할 뿐만 아니라, 일정한 간격으로 복수의 이미지를 순차적으로 촬영할 수도 있다. 이때, 일정한 간격으로 촬영된 복수의 이미지는 하나 이상의 영상을 구성하는 복수의 이미지 프레임일 수 있다.
프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 이를 위해, 프로세서(120)는 RAM(Random Access Memory)(도시되지 않음), ROM(Read Only Memory)(도시되지 않음), CPU(central processing unit)(도시되지 않음), GPU(Graphic processing unit)(도시되지 않음) 및 시스템 버스(도시되지 않음) 등을 포함할 수 있으며, 전자 장치(100)에 포함된 하나 이상의 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다.
프로세서(120)는 메모리(130)에 저장된 하나 이상의 명령어를 실행시켜 전자 장치(100)에 포함된 하나 이상의 구성요소들을 제어하거나, 하드웨어적인 회로 내지는 칩으로서 하나 이상의 구성요소들을 제어하거나, 또는 소프트웨어 및 하드웨어의 결합으로서 하나 이상의 구성요소들을 제어할 수 있다.
프로세서(120)는 카메라(110) 및 메모리(130)를 포함한 전자 장치(100) 내 다양한 구성요소들과 전기적으로 연결되어 이들을 제어할 수 있다.
메모리(130)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 명령 또는 데이터를 저장하기 위한 구성이다.
이를 위해, 메모리(130)는 비휘발성 메모리(ex: 하드 디스크, SSD(Solid state drive), 플래시 메모리), 휘발성 메모리 등으로 구현될 수 있다.
메모리(130)에는, 이미지 프레임이 입력되면, 입력된 이미지 프레임과 기설정된 특징 정보와의 매칭 정도를 판단하도록 학습된 네트워크 모델이 저장되어 있을 수 있다.
학습된 네트워크 모델은, 특징 정보에 매칭되는 복수의 이미지를 통해 학습되어, 입력된 이미지가 해당 특징 정보와 매칭되는 정도를 판단할 수 있다.
특징 정보는, 이미지에 포함된 하나 이상의 객체, 객체의 행동, 객체의 표정 및 이미지에 대응되는 상황 중 적어도 하나와 관련되는 것일 수 있다. 예를 들어, 특징 정보에 매칭되는 이미지는, 웃는 사람을 포함하는 이미지, 카메라를 응시하는 고양이/개 등 동물을 포함하는 이미지, 여러 사람이 점프한 순간을 담은 이미지, 야구 선수의 배트가 공을 치는 순간을 담은 이미지 등 다양하게 기설정될 수 있다.
즉, 학습된 네트워크 모델은, 예로, 웃는 사람을 포함하는 복수의 이미지를 통해 학습되어, 입력된 이미지가 웃는 사람과 매칭되는 정도를 판단할 수 있다.
입력된 이미지가 특징 정보에 매칭되는 정도는, 예를 들어 입력된 이미지 속 사람이 웃고 있는 정도가 클수록, 입력된 이미지 속에서 여러 사람이 점프한 높이가 클수록 더 클 수 있다.
네트워크 모델은, 특징 정보에 매칭되는 복수의 이미지 및 특징 정보에 매칭되지 않는 복수의 이미지를 이용하여 학습될 수도 있다.
예를 들어, 입력된 이미지가 웃는 사람이라는 특징 정보와 매칭되는 정도를 보다 정확히 판단하기 위해, 웃는 사람을 포함하는 복수의 이미지뿐만 아니라, 웃지 않는 사람을 포함하는 복수의 이미지, 웃는 만화 캐릭터를 포함하는 복수의 이미지 등을 모두 이용하여 학습될 수 있다. 그리고, 옅은 미소를 지은 사람을 포함하는 복수의 이미지, 적당히 웃은 사람을 포함하는 복수의 이미지, 박장대소하는 사람을 포함하는 복수의 이미지 등을 통해 학습되어, 입력된 이미지가 웃는 사람이라는 특징 정보와 얼마나 매칭되는지를 수치로서 판단할 수 있다.
네트워크 모델은, 해당 네트워크 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 네트워크 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 네트워크 모델은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있다. 네트워크 모델은 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 네트워크 모델은, 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다.
네트워크 모델은, DNN(Deep Neural Network) 방식을 통해 학습될 수 있으며, 이미지에 대한 분석을 위해 이미지 내에서 하나 이상의 객체를 식별하기 위한 Object Detection Model로 구현될 수 있다. 구체적으로, 네트워크 모델은 CNN(Convolutional Neural Network), RCNN(Regional Convolutional Neural Network) 등을 이용할 수 있으나 이에 한정되는 것은 아니다.
본 개시의 일 실시 예에 따른 프로세서(120)는, 학습된 네트워크 모델을 이용하여 하나 이상의 이미지 프레임과 기설정된 특징 정보와의 매칭 정도를 각각 판단(분석)할 수 있고, 매칭 정도를 수치화한 스코어(score)를 획득할 수도 있다.
프로세서(120)가 네트워크 모델을 학습시키는 경우도 상정할 수 있는데, 네트워크 모델을 학습시키거나 및/또는 네트워크 모델을 이용하여 이미지를 분석하기 위한 프로세서(120)의 구체적인 구성에 대해서는 도 8 내지 도 9를 통해 후술한다.
프로세서(120)는 카메라(110)를 통해 촬영된 영상에 포함되는 복수의 이미지 프레임에 대해, 학습된 네트워크 모델을 이용하여 기설정된 특징 정보와의 매칭 정도를 판단하고, 매칭 정도가 상대적으로 큰 하나 이상의 이미지 프레임을 베스트 이미지 프레임으로 식별하여, 이를 사용자에게 제공할 수 있다. 예를 들어, 촬영된 영상에 포함되는 복수의 이미지 프레임 중, 웃는 사람이라는 특징 정보와의 매칭 정도가 가장 큰 이미지 프레임을, 베스트 이미지 프레임으로서 디스플레이하도록 및/또는 저장하도록 전자 장치(100)를 제어할 수 있다.
한편, 본 개시에 따른 네트워크 모델은 하나 이상의 외부 장치(도시되지 않음)를 통해 학습된 이후 전자 장치(100)의 메모리(130)에 저장된 것일 수도 있고, 프로세서(120)에 의해 학습되어 메모리(130)에 저장된 것일 수도 있다.
또한, 네트워크 모델이 전자 장치(100)에 저장되지 않고 외부 장치(도시되지 않음)에 저장되는 한편, 단지 전자 장치(100)로부터 하나 이상의 이미지 프레임에 대한 데이터가 외부 장치에 전송되면, 네트워크 모델이 각 이미지와 기설정된 특징 정보 간의 매칭 정도를 판단한 결과가 외부 장치로부터 전자 장치(100)로 수신될 수도 있다.
다만, 일반적으로 전자 장치(100), 예를 들어 스마트폰의 사용자는, 스마트폰을 통해 촬영된 개인적 이미지 내지는 영상이 단지 베스트 이미지 프레임을 식별하기 위한 목적으로 외부 장치(도시되지 않음)로 전송되는 상황을 원하지 않을 수도 있다. 그리고, 이미지 프레임에 대한 데이터가 전자 장치(100)로부터 외부 장치(도시되지 않음)에 전송되고, 판단 결과가 다시 전자 장치(100)로 수신되는 등의 과정에 따른 시간의 소요 및 통신 상태에 따른 변수도 무시할 수 없다.
따라서, 본 개시에 따른 학습된 네트워크 모델의 학습 장소는 크게 중요하지 않지만, 학습된 네트워크 모델이 전자 장치(100)의 메모리(130)에 저장되어 있음으로 인해서, 촬영된 영상에 포함되는 복수의 이미지 프레임 중 베스트 이미지 프레임을 식별하는 과정, 즉 네트워크 모델을 이용하는 과정이 전자 장치(100) 내에서 직접 수행될 수 있도록 하는 것에 의미가 없지 않다.
다만, 전자 장치(100)가 개인이 사용하는 스마트폰인 경우 또는 특정 장소에서 사용되는 PC인 경우 등에 있어, 전자 장치(100)의 메모리(130)에 저장된 인공지능 모델 및 프로세서(120)가 각 이미지 프레임을 분석하는 속도에도 한계가 있기 때문에, 적절한 베스트 이미지 프레임을 빠른 속도로 제공하기 위한 기술적 동작이 필요하다. 이하 관련된 구체적인 실시 예를 설명한다.
프로세서(120)는, 카메라(110)를 통해 복수의 이미지 프레임이 촬영되는 동안에, 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 학습된 네트워크 모델에 적용하여 매칭 정도를 획득할 수 있다. 즉, 복수의 이미지 프레임이 촬영되는 동안에 복수의 이미지 프레임을 모두 분석하는 것이 아니라, 그 중 일부의 프레임들만 분석할 수 있다.
구체적으로, 프로세서(120)는 복수의 이미지 프레임 중에서 일정한 시간 간격으로 촬영된 이미지 프레임들을 선택하고, 일단은 선택된 이미지 프레임들에 대해서만 매칭 정도를 획득할 수 있다.
이때, 일정한 시간 간격은, 학습된 네트워크 모델의 판단 속도에 따라 결정된 것일 수 있다. 일 예로, 해당 시간 간격은, 프로세서(120)가 하나의 이미지 프레임을 네트워크 모델에 적용하여 매칭 정도를 획득하는 데에 걸리는 시간과 같거나 더 클 수 있다.
도 3은 복수의 이미지 프레임 중 선택된 이미지 프레임들을 분석하는 일 실시 예를 설명하기 위한 도면이다.
도 3은 영상에 있어 330 msec 동안 10개의 이미지 프레임이 촬영되는 상황을 가정한 것이다. 또한, 도 3은, 학습된 네트워크 모델이 하나의 이미지 프레임과 특징 정보 간의 매칭 정도를 판단하는 데에 걸리는 시간이 대략 160 msec인 상황을 가정한다.
도 3을 참조하면, 네트워크 모델의 분석 속도를 고려한 결과, 5개의 이미지 프레임마다 하나씩의 이미지 프레임만이 분석의 대상이 되는 것을 알 수 있다.
즉, 프로세서(120)는 네트워크 모델의 분석 속도에 따라 복수의 이미지 프레임 중 일부의 이미지 프레임들만을 분석하게 되고, 이로써, 복수의 이미지 프레임이 순차적으로 촬영되는 속도에 맞게 복수의 이미지 프레임의 전 구간을 대략적으로 분석할 수 있게 된다.
프로세서(120)는, 획득된 매칭 정도에 기초하여 대표 이미지 프레임을 식별할 수 있다. 구체적으로, 선택된 이미지 프레임들을 학습된 네트워크 모델에 적용하여 매칭 정도에 대응되는 스코어를 획득하고, 획득된 스코어가 가장 높은 대표 이미지 프레임을 식별할 수 있다. 또는, 획득된 스코어가 기설정된 임계 값 이상인 이미지 프레임들 중에서 가장 높은 스코어를 갖는 대표 이미지 프레임을 식별할 수 있다.
이때, 임계 값은 기설정된 것일 수 있으며, 전자 장치(100)의 유저 인터페이스를 통해 수신된 사용자 명령에 따라 설정될 수도 있다. 예를 들어, 사용자가, 친구의 아주 크게 웃는 모습을 포착한 이미지를 제공받기 원하는 경우, 사용자는 전자 장치(100)의 유저 인터페이스를 통해 임계 값을 상대적으로 높게 설정할 수 있을 것이다.
이때, 유저 인터페이스는 전자 장치(100)의 디스플레이(도시되지 않음)에 표시된 스크롤바 등의 그래픽 유저 인터페이스 항목을 포함하는 한편, 사용자의 터치나 음성 등에 따라 임계 값이 증가/감소되고, 증가/감소된 결과가 스크롤바의 위치로 표시될 수 있다. 다만, 이에 한정되는 것은 아니다.
그리고, 프로세서(120)는, 복수의 이미지 프레임 중에서 식별된 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 학습된 네트워크 모델에 적용하여 매칭 정도를 획득할 수 있다. 이 경우, 획득된 매칭 정도에 기초하여 베스트 이미지 프레임을 식별하고, 식별된 베스트 이미지 프레임을 제공할 수 있다.
구체적으로, 프로세서(120)는, 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 학습된 네트워크 모델에 적용하여 매칭 정도에 대응되는 스코어를 획득하고, 획득된 스코어 중에서 가장 높은 스코어를 갖는 이미지 프레임을 베스트 이미지 프레임으로서 식별할 수 있다.
대표 이미지 프레임이 포함된 특정 구간은, 기설정된 것일 수 있다. 예를 들어, 대표 이미지 프레임보다 기설정된 시간 또는 프레임 수만큼 이전에 촬영된 이미지 프레임부터, 대표 이미지 프레임보다 기설정된 시간 또는 프레임 수만큼 이후에 촬영된 이미지 프레임을 포함하는 구간일 수 있다.
한편, 프로세서(120)는, 복수의 이미지 프레임의 해상도를 낮춰 저화질의 복수의 이미지 프레임을 획득한 뒤, 이를 이용하여 상술한 특정 구간을 식별할 수도 있다.
이 경우, 프로세서(120)는 저화질의 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 학습된 네트워크 모델에 적용하여 저화질의 대표 이미지 프레임을 식별할 수 있다. 그리고, 복수의 이미지 프레임 중에서 저화질의 대표 이미지 프레임에 대응되는 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 학습된 네트워크 모델에 적용하여 베스트 이미지 프레임을 식별할 수 있다.
즉, 프로세서(120)는, 베스트 이미지 프레임이 포함된 특정 구간을 찾는 과정에서는 선택된 이미지 프레임들을 저화질로 분석하고, 해당 구간 내에서 베스트 이미지 프레임을 식별하는 과정에서는 해당 구간에 속한 각 프레임들을 앞선 과정보다 고화질로 분석할 수 있다. 그 결과, 복수의 이미지 프레임이 촬영됨과 동시에 베스트 이미지 프레임이 포함되는 특정 구간이 식별되는 과정이 진행되고, 식별된 구간에 속한 상대적으로 적은 수의 이미지 프레임들을 고화질로 정밀하게 분석할 수 있으며, 베스트 이미지 프레임은 고화질의 이미지로서 정확하고 신속하게 제공될 수 있다.
다만, 프로세서(120)가, 복수의 이미지 프레임들 중 선택된 이미지 프레임들을 저화질로 분석하여 베스트 이미지 프레임이 포함된 특정 구간을 찾고, 해당 구간 내에 포함되는 이미지 프레임들에 대해서도 저화질로 분석하여 베스트 이미지 프레임을 식별하는 경우도 가능하다.
도 4는 저화질의 복수의 이미지 프레임 중 적어도 일부를 분석하여 베스트 이미지 프레임이 포함된 구간을 찾고, 해당 구간에 포함된 프레임들을 고화질 분석하여 베스트 이미지 프레임을 식별하는 일 실시 예를 설명하기 위한 도면이다.
도 4를 참조하면, 카메라를 통해 영상, 즉 복수의 이미지 프레임의 촬영이 시작되면(S401), 프로세서(120)는 복수의 이미지 프레임, 즉 영상(451)을 녹화하여(S402) 저장해둘 수 있다. 이때, 복수의 이미지 프레임은 고화질로 촬영된 것일 수 있고, 영상(451) 역시 고화질의 복수의 이미지 프레임일 수 있다.
그리고, 복수의 이미지 프레임이 촬영되는 동안에, 프로세서(120)는 각각의 이미지 프레임의 해상도를 줄여 저화질의 복수의 이미지 프레임(452)을 획득할 수 있다(S403).
이때, 복수의 이미지 프레임이 촬영됨과 동시에, 저화질의 복수의 이미지 프레임(452)은 전자 장치(100)의 디스플레이(도시되지 않음)를 통해 순차적으로 디스플레이되어 영상으로 제공될 수 있으며, 그 결과 사용자는 현재 카메라(110)를 통해 사용자가 보고 있는 장면, 즉 촬영 중인 장면을 (저화질로) 확인할 수 있다.
그리고, 프로세서(120)는 Event Analyzer(410)를 이용하여, 저화질의 복수의 이미지 프레임 중 선택된 이미지 프레임들을 분석할 수 있다(S404). 구체적으로, 복수의 이미지 프레임이 촬영되는 동안에, 선택된 이미지 프레임들을 순차적으로 학습된 네트워크 모델에 적용하여 매칭 정도에 대응되는 스코어를 각각 획득할 수 있다. Event Analyzer(410)는 메모리(130)에 저장된 컴퓨터 명령어 및/또는 회로로 구현될 수 있으며, 프로세서(120)에 포함되거나 또는 별도로 구현되어 그 제어를 받을 수 있다.
이때, 프로세서(120)는, 선택된 이미지 프레임 중 스코어가 임계 값 이상이면서 스코어가 가장 높은 프레임을 (저화질의) 대표 이미지 프레임으로서 식별할 수 있다. 이 경우, 프로세서(120)는 저화질의 대표 이미지 프레임 및/또는 저화질의 대표 이미지 프레임을 포함하는 특정 구간의 식별 정보, 즉 태그 데이터(453)를 획득할 수 있다(S405). 이때, 프로세서(120)는, 저화질의 복수의 이미지 프레임 중, 해당 구간을 제외한 나머지 구간에 포함되는 이미지 프레임들은 모두 저장하지 않거나 삭제할 수 있다. 또는, 태그 데이터(453)를 획득하기 위해 이용할 뿐, 저화질의 복수의 이미지 프레임을 모두 저장하지 않거나 삭제할 수 있다.
도 4를 참조하면, 프로세서(120)는, Frame Finder(420)를 이용하여, 태그 데이터(453)를 고화질의 영상, 즉 고화질의 복수의 이미지 프레임(451)에 적용하고(S406), 그 결과 태그 데이터(453)에 대응되는 구간에 포함되는 (고화질의) 이미지 프레임들(454)을 추출할 수 있다(S407). 이 경우, 프로세서(120)는, 고화질의 복수의 이미지 프레임(451) 중, 해당 구간을 제외한 고화질의 이미지 프레임들은 모두 삭제할 수 있다. 한편, Frame Finder(420)는 메모리(130)에 저장된 컴퓨터 명령어 및/또는 회로로 구현될 수 있으며, 프로세서(120)에 포함되거나 또는 별도로 구현되어 그 제어를 받을 수 있다.
그리고, 프로세서(120)는, Event Analyzer(410)를 이용하여 고화질의 이미지 프레임들(454)을 네트워크 모델에 적용 및 분석한 뒤(S408), 이미지 프레임들(454) 중 스코어가 가장 높은 프레임을 베스트 이미지 프레임(455)으로서 식별할 수 있다. 그리고, 베스트 이미지 프레임(455)을 제공하도록 전자 장치(100)를 제어할 수 있다.
한편, 도 4를 참조하면, 태그 데이터(453)를 이용하여 고화질의 이미지 프레임들(454)을 추출하고, 추출된 고화질의 이미지 프레임들(454)을 분석하는 동작 등이 영상의 촬영이 종료된 이후에 수행되는 것으로 도시된 것을 확인할 수 있다. 그러나, 이미 태그 데이터(453)가 획득된 상태라면, 영상의 촬영이 종료되기 전에도 상술한 동작들이 시작될 수 있다.
도 5는 베스트 이미지 프레임이 포함된 구간 및 베스트 이미지 프레임을 식별하기 위해, 네트워크 모델을 통해 판단된 각 이미지 프레임의 스코어를 이용하는 일 예를 설명하기 위한 그래프들이다.
도 5의 (a)는 베스트 이미지 프레임을 포함하는 구간(High Score Region)을 식별하는 과정을 설명하기 위한 그래프, 도 5의 (b)는 High Score Region 내에서 베스트 이미지 프레임을 식별하는 과정을 설명하기 위한 그래프이다. 도 5의 (a) 및 (b)에 있어서, 가로축은 각 이미지 프레임이 촬영된 순서, 세로축은 각 이미지 프레임을 네트워크 모델에 적용한 결과 획득된 스코어이다.
도 5의 (a)를 참조하면, 프로세서(120)는 복수의 이미지 프레임이 순차적으로 촬영됨과 동시에, 복수의 이미지 프레임 중 선택된 이미지 프레임들의 스코어를 획득할 수 있다. 이때, 선택된 이미지 프레임들은, 촬영된 당시보다 해상도가 낮아진 이미지 프레임들일 수 있다.
도 5의 (a)는 선택된 이미지 프레임들이, 복수의 이미지 프레임들에 있어서 5개의 이미지 프레임당 하나씩의 이미지 프레임인 경우, 즉 선택된 이미지 프레임들은 복수의 이미지 프레임 중 5번째, 10번째, 15번째, ... 촬영된 이미지 프레임들인 경우를 상정한다. 다만, 일 예일 뿐 이에 한정되는 것이 아님은 자명하다.
도 5의 (a)를 참조하면, 선택된 이미지 프레임들 중 스코어가 임계 값(Threshold)보다 높은 이미지 프레임들의 스코어를 비교했을 때, 40번째로 촬영된 이미지 프레임의 스코어가 가장 높기 때문에, 프로세서(120)는 40번째로 촬영된 이미지 프레임을 대표 이미지 프레임으로 식별할 수 있다. 그리고, 대표 이미지 프레임을 중심으로, 35번째 촬영된 이미지 프레임부터 45번째 촬영된 이미지 프레임까지의 구간을, 베스트 이미지 프레임이 포함된 특정 구간(High Score Region)으로 식별할 수 있다. 다만, 대표 이미지 프레임을 중심으로 특정 구간을 식별함에 있어, 구간의 범위는 다양하게 기설정될 수 있다.
도 5의 (b)를 참조하면, 프로세서(120)는 High Score Region에 포함되는 모든 이미지 프레임을 네트워크 모델에 적용하여, 각각의 스코어를 획득할 수 있다. 그리고, 그 중 가장 스코어가 높은 39번째 촬영된 이미지 프레임을, 베스트 이미지 프레임으로 식별할 수 있다. 이때, 프로세서(120)는 High Score Region에 대응되는 모든 이미지 프레임을, 촬영 당시와 동일하거나 또는 그에 준하는 고화질로 분석할 수 있다. 일 예로, 40번째 촬영된 이미지 프레임은, 도 5의 (a)에서도 네트워크 모델에 적용되고 도 5의 (b)에서도 네트워크 모델에 적용되지만, 도 5의 (a)에서는 저화질로 도 5의 (b)에서는 고화질로 적용될 수 있다.
한편, 전자 장치(100)는, 한 번의 영상 촬영에 있어서, 베스트 이미지 프레임을 복수 개 제공할 수도 있다.
여기서, 프로세서(120)는, 선택된 이미지 프레임들의 매칭 정도에 기초하여 복수의 이미지를 복수의 이벤트로 구분할 수 있다. 그리고, 복수의 이벤트별로, 베스트 이미지 프레임을 각각 식별하여 제공할 수 있다. 예를 들어, 영상이 촬영되는 동안 영상 속에서 특정한 사람이 웃었다가 - 웃음을 그쳤다가 - 다시 웃는 경우, 프로세서(120)는, 처음 웃는 순간에 대응되는 이미지 프레임들 중에서 하나의 베스트 이미지 프레임을 식별하고, 다시 웃는 순간에 대응되는 이미지 프레임들 중에서 다른 하나의 베스트 이미지 프레임을 식별할 수 있다. 한편, 상술한 예는 두 가지 이벤트가 모두 동일한 특징 정보(웃는 사람)에 대응되는 경우이지만, 복수의 이벤트는 서로 다른 특징 정보에 대응될 수도 있다.
구체적으로, 프로세서(120)는, 선택된 이미지 프레임들 중, 제1 이미지 프레임의 매칭 정도에 대응되는 스코어가 기설정된 임계 값 이상이고, 제1 이미지 프레임 이후에 촬영된 제2 이미지 프레임의 매칭 정도에 대응되는 스코어가 기설정된 임계 값 미만이며, 제2 이미지 프레임 이후에 촬영된 제3 이미지 프레임의 매칭 정도에 대응되는 스코어가 기설정된 임계 값 이상인 경우, 제1 이미지 프레임과 제3 이미지 프레임은 서로 다른 이벤트에 대응되는 것으로 판단할 수 있다.
도 6은 복수의 이미지 프레임이 복수 개의 이벤트를 포함한 결과, 베스트 이미지 프레임이 복수 개 제공되는 일 예를 설명하기 위한 그래프들이다.
도 6의 (a)는 복수의 이미지 프레임들 중 선택된 이미지 프레임들이 네트워크 모델에 적용된 결과 획득된 스코어를 나타낸 것이다. 가로축은 각 이미지 프레임이 촬영된 순서, 세로축은 각 이미지 프레임의 스코어이다.
도 6의 (a)를 참조하면, 30번째 촬영된 이미지 프레임 근처에서 스코어가 임계 값을 초과하는 첫 번째 High Score Region이 식별된 후, 그 후 촬영된 이미지 프레임들의 스코어가 임계 값(Threshold) 미만이었다가, 95번째 촬영된 이미지 프레임 근처에서 스코어가 임계 값을 초과하는 두 번째 High Score Region이 식별되었다는 것을 확인할 수 있다.
그리고, 도 6의 (b)을 참조하면, 첫 번째 High Score Region에 속하는 이미지 프레임들이 고화질로 분석된 결과 그 중 스코어가 가장 높은 제1 베스트 이미지 프레임이 식별될 수 있다.
그리고, 도 6의 (c)를 참조하면, 두 번째 High Score Region에 속하는 이미지 프레임들이 고화질로 분석된 결과 그 중 스코어가 가장 높은 제2 베스트 이미지 프레임이 식별될 수 있다.
한편, 프로세서(120)는 이벤트가 기설정된 수만큼 식별된 경우, 영상의 촬영을 종료하도록 카메라(110)를 제어할 수 있다. 다만, 이에 한정되는 것은 아니고, 촬영을 종료하기 위한 사용자 명령이 수신되거나, 영상의 촬영 시간이 기설정된 시간을 초과하는 경우 영상의 촬영을 종료하도록 카메라(110)를 제어할 수 있다. 또한, 촬영된 영상에 포함되는 복수의 이미지 프레임의 프레임 수가 기설정된 수를 초과하는 경우에 영상의 촬영을 종료하도록 카메라(110)를 제어할 수도 있다.
한편, 프로세서(120)는, 선택된 이미지 프레임들 중 제1 이미지 프레임의 매칭 정도에 대응되는 스코어가 기설정된 임계 값 미만이면, 복수의 이미지 프레임 중에서 제1 이미지 프레임 이전의 이미지 프레임을 삭제하고, 제1 이미지 프레임의 스코어가 기설정된 임계 값 이상이면 제1 이미지 프레임을 대표 이미지 프레임으로 식별할 수 있다.
이 경우, 프로세서는, 제1 이미지 프레임의 스코어가 기설정된 임계 값 이상이고, 선택된 이미지 프레임들 중 제1 이미지 프레임 다음의 제2 이미지 프레임의 매칭 정도에 대응되는 스코어가 제1 이미지 프레임의 스코어보다 크면, 복수의 이미지 프레임 중 제1 이미지 프레임 이전의 이미지 프레임들을 삭제하고, 제2 이미지 프레임을 대표 이미지 프레임으로 식별할 수 있다.
관련하여, 도 7은 영상을 구성하는 복수의 이미지 프레임이 촬영되는 동안에, 실시간으로 베스트 이미지 프레임이 포함된 특정 구간을 찾아내기 위한 구체적인 과정의 일 예를 설명하기 위한 그래프들이다. 도 7에서 순차적으로 분석되는 프레임들은, 복수의 이미지 프레임 전체가 아니라, 그 중 선택된 이미지 프레임들이다.
도 7은, 베스트 이미지 프레임이 포함된 특정 구간(High Score Region)의 범위가, 복수의 이미지 프레임에서 선택된 이미지 프레임들 중, 대표 이미지 프레임(선택된 이미지 프레임들 중 스코어가 가장 높은 이미지 프레임)과 가장 비슷한 시간에 촬영된 두 이미지 프레임을 기준으로 판단되는 경우를 상정한다.
구체적으로, 도 7은, 선택된 프레임들 중에서 Max Score 프레임(702), Max Score 프레임(702)보다 먼저 촬영된 프레임들 중 Max Score 프레임(702)과 가장 비슷한 시간에 촬영된 Start Point 프레임(701), Max Score 프레임(702)보다 후에 촬영된 프레임들 중 Max Score 프레임(702)과 가장 비슷한 시간에 촬영된 Ending Point 프레임(703)을 찾는 알고리즘의 일 예이다.
도 7의 (a)를 참조하면, 프로세서(120)는 선택된 이미지 프레임들을 촬영된 순서에 따라 순차적으로 분석할 수 있다. 이때, 아직 Max Score 프레임(702)에 해당하는 이미지 프레임이 없는 이상, 스코어가 임계 값(Threshold Level)에 미치지 못하는 이미지 프레임들 이전의 이미지 프레임들은 모두 저장하지 않거나 또는 저장되었더라도 삭제할 수 있다.
프로세서(120)는 스코어가 처음으로 임계 값을 넘는 이미지 프레임이 나오면, 해당 이미지 프레임을 Max Score 프레임(702)으로 지정하고, 해당 이미지 프레임 바로 전의 이미지 프레임을 Start Point 프레임(701)으로 지정할 수 있다. 이때, 만약 Max Score 프레임(702) 다음이 Max Score 프레임(702)보다 스코어가 작은 이미지 프레임이라면, Max Score 프레임(702) 다음의 이미지 프레임을 End Point 프레임(703)으로 지정할 수 있다.
다만, Max Score 프레임(702) 이후에 Max Score 프레임(702)보다 스코어가 더 높은 이미지 프레임이 나오면, 도 7의 (b)와 같이, 스코어가 더 높은 이미지 프레임을 Max Score 프레임(702)으로 새롭게 지정하고, 새롭게 지정된 Max Score 프레임(702) 바로 이전의 이미지 프레임을 Start Point 프레임(701)으로 지정할 수 있다. 그리고, Max Score 프레임(702) 다음이 Max Score 프레임(702)보다 스코어가 작은 이미지 프레임이라면, Max Score 프레임(702) 다음의 이미지 프레임을 End Point 프레임(703)으로 지정할 수 있다.
도 7의 (c) 내지 (f)를 통해, 상술한 과정이 선택된 이미지 프레임들의 촬영 순서에 따라 선택된 이미지 프레임들 모두에 대해 수행된 결과, 최종적으로 지정된 Start Point 프레임(701) 및 End Point 프레임(703)을 기준으로 High Score Region이 식별될 수 있다. 그 결과, 프로세서(120)는 복수의 이미지 프레임 중 High Score Region에 포함되는 모든 이미지 프레임들을, 고화질로 네트워크 모델에 적용하여 베스트 이미지 프레임을 식별 및 제공할 수 있다.
한편, 도 7에서는 도시되지 않았으나, 만약 Start Point 프레임(701) 및 Max Score 프레임(702)이 지정된 상태에서 스코어가 임계 값 미만인 이미지 프레임이 나오고, 그 후에 스코어가 임계 값 이상인 이미지 프레임이 새롭게 등장한다면, 앞서 지정된 Max Score 프레임(702)과 별도의 이벤트에 포함되는 새로운 Max Score 프레임, Start Point 프레임, End Point 프레임을 지정하기 위하여, 도 7을 통해 상술한 과정들을 반복할 수 있다.
한편, 상술한 실시 예들은 대표 이미지 프레임을 식별하는 과정에서 복수의 이미지 프레임 중 선택된 이미지 프레임들만을 네트워크 모델에 적용하는 내용을 개시하였으나, 저화질의 복수의 이미지 프레임을 모두 네트워크 모델에 적용하여 대표 이미지 프레임을 식별하는 실시 예도 가능하다.
도 8은 인공지능 모델을 학습시키거나 및/또는 학습된 인공지능 모델을 이용하기 위한 프로세서(120)의 구성의 일 실시 예를 설명하기 위한 블록도이다.
도 8을 참조하면, 프로세서(120)는 데이터 학습부(810) 및 데이터 인식부(820)를 포함할 수 있다. 한편, 도 8과 달리, 프로세서(120)는 데이터 학습부(810)는 포함하지 않고 데이터 인식부(820)는 포함할 수도 있다.
데이터 학습부(810)는 네트워크 모델이 소정의 상황 판단(예를 들어, 입력된 이미지가 어떠한 특징 정보에 주로 매칭되는지, 매칭되는 정도는 어느 정도인지 판단 등)을 위한 기준을 갖도록 생성 또는 학습시킬 수 있다. 데이터 학습부(810)는 소정의 상황을 판단하기 위하여, 학습 데이터를 네트워크 모델에 적용하여, 판단 기준을 갖는 네트워크 모델을 생성할 수 있다.
일 예로, 데이터 학습부(810)는 특징 정보 및 복수의 이미지와 관련된 학습 데이터를 이용하여 네트워크 모델을 생성 또는 학습시킬 수 있다.
데이터 인식부(820)는 인식 데이터에 기초하여 상황을 판단할 수 있다. 데이터 인식부(820)는 학습된 네트워크 모델을 이용하여, 소정의 인식 데이터로부터 상황을 판단할 수 있다. 데이터 인식부(820)는 기설정된 기준에 따라 소정의 인식 데이터를 획득하고, 획득된 인식 데이터를 입력 값으로 하여 네트워크 모델에 적용함으로써, 소정의 인식 데이터에 기초한 소정의 상황을 판단할 수 있다(또는, 추정(estimate)할 수 있다).
또한, 획득된 인식 데이터를 입력 값으로서 네트워크 모델에 적용하여 출력된 결과 값은, 네트워크 모델을 갱신하는데 이용될 수 있다.
예로, 데이터 인식부(820)는, 하나 이상의 이미지와 관련된 인식 데이터를 입력 값으로 네트워크 모델에 적용함으로써, 해당 이미지가 어떤 특징 정보에 매칭되는지 그리고 해당 특징 정보에 어느 정도로 매칭되는지에 대한 판단 결과를 획득할 수 있다.
데이터 학습부(810)의 적어도 일부 및 데이터 인식부(820)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(810) 및 데이터 인식부(820)중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전자 장치(100)에 탑재될 수 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 데이터 학습부(810) 및 데이터 인식부(820)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
데이터 학습부(810) 및 데이터 인식부(820)는 전자 장치(100)에 탑재될 수도 있고, 또는 전자 장치(100) 및 외부 장치(도시되지 않음)에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(810) 및 데이터 인식부(820) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 외부의 서버에 포함될 수 있다. 또한, 데이터 학습부(810) 및 데이터 인식부(820)는 유선 또는 무선으로 통하여, 데이터 학습부(810)가 구축한 모델 정보를 데이터 인식부(820)로 제공할 수도 있고, 데이터 인식부(820)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(810)로 제공될 수도 있다.
도 9는 도 8에 있어, 프로세서(120)에 포함되는 데이터 학습부(810) 및 데이터 인식부(820)의 구성을 보다 상세하게 설명하기 위한 블록도들이다.
도 9의 (a)는, 데이터 학습부(810)의 구성에 대한 일 실시 예를 나타내는 블록도이다. 도 9의 (a)를 참조하면, 데이터 학습부(810)는 데이터 획득부(811) 및 모델 학습부(814)를 포함할 수 있다. 또한, 데이터 학습부(810)는 전처리부(812), 학습 데이터 선택부(813) 및 모델 평가부(815) 중 적어도 하나를 선택적으로 더 포함할 수도 있다.
데이터 획득부(811)는 상황 판단을 위한 학습을 위하여 필요한 학습 데이터를 획득할 수 있다.
학습 데이터는 데이터 학습부(810) 또는 전자 장치(100)의 제조사에 의하여 수집 또는 테스트된 데이터일 수도 있다. 예로, 학습 데이터는, 기설정된 하나 이상의 특징 정보 및 복수의 이미지에 대한 데이터일 수 있다.
모델 학습부(814)는 학습 데이터를 이용하여, 네트워크 모델이 소정의 상황을 어떻게 판단할지에 관한 판단 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(814)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 네트워크 모델을 학습시킬 수 있다. 또는, 모델 학습부(814)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 네트워크 모델을 학습시킬 수 있다.
또한, 네트워크 모델은, 모델 학습부(814)를 통해, 상황 판단을 위하여 어떤 학습 데이터를 이용해야 하는지에 대한 선별 기준에 대해 학습될 수도 있다. 예로, 각 특징 정보와 이미지 간의 매칭 정도를 판단하기 위해, 특징 정보별로 이미지의 어떤 속성을 주로 이용해야 하는지에 대한 기준에 대해 학습될 수 있다.
지도 학습을 통하여 네트워크 모델을 학습시키는 경우, 판단 기준으로서, 분석의 대상인 자원 및 특정 기능을 실행할 실행 자원이 학습 데이터로서 추가될 수 있다.
한편, 네트워크 모델은 미리 구축되어, 모델 학습부(814)의 학습에 의하여 업데이트되는 모델일 수 있다. 이 경우, 네트워크 모델은 기본 학습 데이터(예를 들어, 샘플 이미지 등)을 입력 받아 미리 구축된 상태일 수 있다.
다양한 실시예에 따르면, 모델 학습부(814)는 미리 구축된 네트워크 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 네트워크 모델을 학습할 네트워크 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입별로 기분류되어 있을 수 있으며, 네트워크 모델은 데이터의 타입별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 특징 정보별 학습 대상으로 분류된 복수의 이미지일 수 있다.
또한, 모델 학습부(814)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 네트워크 모델을 학습시킬 수 있다.
또한, 모델 학습부(814)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 네트워크 모델을 학습시킬 수 있다.
또한, 네트워크 모델이 학습되면, 모델 학습부(814)는 학습된 네트워크 모델을 저장할 수 있다. 이 경우, 모델 학습부(814)는 학습된 네트워크 모델을 전자 장치(100)의 메모리(130)에 저장할 수 있다. 또는, 모델 학습부(814)는 학습된 데이네트워크 모델을 전자 장치(100)와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
데이터 학습부(810)는 네트워크 모델의 인식 결과를 향상시키거나, 네트워크 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 전처리부(812) 및 학습 데이터 선택부(813)를 더 포함할 수도 있다.
전처리부(812)는 상황 판단을 위한 학습에 이용하기 위하여 데이터 획득부(811)에서 획득된 데이터를 전처리할 수 있다.
예로, 전처리부(812)는 모델 학습부(814)가 네트워크 모델의 학습을 위한 데이터를 이용하는 것이 용이하도록, 획득된 데이터를 기정의된 포맷으로 가공할 수 있다. 예를 들어, 전처리부(812)는 데이터 획득부(811)에 의해 획득된 영상 데이터를 기설정된 포맷의 영상 데이터로 가공할 수 있다. 전처리된 데이터는 학습 데이터로서 모델 학습부(814)에 제공될 수 있다.
또는, 학습 데이터 선택부(813)가 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선별적으로 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(814)에 제공될 수 있다. 학습 데이터 선택부(813)는 기설정된 선별 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선별할 수 있다. 또한, 학습 데이터 선택부(813)는 모델 학습부(814)에 의한 학습에 의해 기설정된 선별 기준에 따라 학습에 필요한 학습 데이터를 선별할 수도 있다. 본 개시의 일 실시 예로, 학습 데이터 선택부(813)는 입력된 영상 데이터 중 배경을 제외한 사람이 포함된 영역만을 선택할 수 있다.
데이터 학습부(810)는 네트워크 모델의 인식 결과를 향상시키기 위하여, 모델 평가부(815)를 더 포함할 수도 있다.
모델 평가부(815)는 네트워크 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(814)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 네트워크 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(815)는 평가 데이터에 대한 학습된 네트워크 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 네트워크 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(815)는 학습된 네트워크 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 네트워크 모델이 복수 개가 존재하는 경우, 모델 평가부(815)는 각각의 학습된 네트워크 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 네트워크 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(815)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종적인 네트워크 모델로서 결정할 수 있다.
전술한, 데이터 획득부(811), 전처리부(812), 학습 데이터 선택부(813), 모델 학습부(814) 및 모델 평가부(815) 중 적어도 하나는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(811), 전처리부(812), 학습 데이터 선택부(813), 모델 학습부(814) 및 모델 평가부(815) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(811), 전처리부(812), 학습 데이터 선택부(813), 모델 학습부(814) 및 모델 평가부(815)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(811), 전처리부(812), 학습 데이터 선택부(813), 모델 학습부(814) 및 모델 평가부(815) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(811), 전처리부(812), 학습 데이터 선택부(813), 모델 학습부(814) 및 모델 평가부(815) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(811), 전처리부(812), 학습 데이터 선택부(813), 모델 학습부(814) 및 모델 평가부(815) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 9의 (b)는, 데이터 인식부(820)의 구성에 대한 일 실시 예를 나타내는 블록도이다. 도 9의 (b)를 참조하면, 데이터 인식부(820)는 데이터 획득부(821) 및 인식 결과 제공부(824)를 포함할 수 있다. 또한, 데이터 인식부(820)는 전처리부(822), 인식 데이터 선택부(823) 및 모델 갱신부(825) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
데이터 획득부(821)는 상황 판단에 필요한 인식 데이터를 획득할 수 있다.
인식 결과 제공부(824)는 데이터 획득부(821)에서 획득된 데이터를 입력 값으로 학습된 네트워크 모델에 적용하여 상황을 판단할 수 있다. 인식 결과 제공부(824)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 예를 들어, 획득된 데이터가 특정한 이미지인 경우, 해당 이미지가 기설정된 특징 정보 중 어떤 특징 정보에 매칭되는지, 어느 정도로 매칭되는지 인식 내지는 판단한 결과를 제공할 수 있다.
인식 결과 제공부(824)는 후술할 전처리부(822)에서 전처리된 데이터를 입력 값으로 학습된 네트워크 모델에 적용하여 획득된 인식 결과를 제공할 수 있다. 또는, 인식 결과 제공부(824)는 후술할 인식 데이터 선택부(823)에 의해 선택된 데이터를 입력 값으로 네트워크 모델에 적용하여 인식 결과를 제공할 수 있다.
데이터 인식부(820)는 네트워크 모델의 인식 결과를 향상시키거나, 인식 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 전처리부(822) 및 인식 데이터 선택부(823)를 더 포함할 수도 있다.
전처리부(822)는 상황 판단을 위한 인식에 이용하기 위하여 데이터 획득부(821)에서 획득된 데이터를 전처리할 수 있다.
전처리부(822)는 인식 결과 제공부(824)가 상황 판단을 위한 데이터의 이용이 용이하도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다. 특히, 본 개시의 일 실시예에 따르면, 데이터 획득부(821)는 특징 정보와의 매칭 정도를 판단하기 위해 영상 데이터를 획득하고, 전처리부(822)는, 영상 데이터를 기정의된 포맷으로 전처리할 수 있다.
인식 데이터 선택부(823)는 전처리된 데이터 중에서 상황 판단에 필요한 인식 데이터를 선택할 수 있다. 선택된 인식 데이터는 인식 결과 제공부(824)에게 제공될 수 있다. 인식 데이터 선택부(823)는 기 설정된 선별 기준에 따라, 전처리된 데이터 중에서 상황 판단에 필요한 인식 데이터를 선별할 수 있다. 또한, 인식 데이터 선택부(823)는 전술한 모델 학습부(814)에 의한 학습에 의해 기설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(825)는 인식 결과 제공부(824)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 네트워크 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(825)는 인식 결과 제공부(824)에 의해 제공되는 인식 결과를 모델 학습부(814)에게 제공함으로써, 모델 학습부(814)가 네트워크 모델을 갱신하도록 제어할 수 있다.
전술한, 데이터 인식부(820) 내의 데이터 획득부(821), 전처리부(822), 인식 데이터 선택부(823), 인식 결과 제공부(824) 및 모델 갱신부(825) 중 적어도 하나는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(821), 전처리부(822), 인식 데이터 선택부(823), 인식 결과 제공부(824) 및 모델 갱신부(825) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(821), 전처리부(822), 인식 데이터 선택부(823), 인식 결과 제공부(824) 및 모델 갱신부(825)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(821), 전처리부(822), 인식 데이터 선택부(823), 인식 결과 제공부(824) 및 모델 갱신부(825) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(821), 전처리부(822), 인식 데이터 선택부(823), 인식 결과 제공부(824) 및 모델 갱신부(825) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(821), 전처리부(822), 인식 데이터 선택부(823), 인식 결과 제공부(824) 및 모델 갱신부(825) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 10은 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 상세한 구성을 설명하기 위한 블록도이다.
도 10을 참조하면, 전자 장치(100)는 카메라(110), 프로세서(120), 메모리(130) 외에도 통신부(140), 입출력 포트(150), 사용자 입력부(160), 디스플레이(170), 음성 출력부(180) 중 적어도 하나를 더 포함할 수 있다.
통신부(140)는 외부 장치(도시되지 않음)와 무선 혹은 유선으로 데이터 통신을 수행하기 위한 수단이다. 프로세서(120)는 통신부(140)를 이용하여 각종 외부 기기와 통신을 수행할 수 있다.
무선 통신 방식으로 외부 장치와 데이터 통신을 수행할 경우, 통신부(140)는 와이파이 다이렉트(WIFI DIRECT) 통신 모듈, 블루투스(bluetooth)모듈, 적외선 통신(IrDA, infrared data association)모듈, NFC(Near Field Communication)모듈, 지그비(Zigbee) 모듈, 셀룰러 통신모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈 중 적어도 하나를 포함할 수 있다.
유선 통신 방식으로 외부 장치와 데이터 통신을 수행할 경우, 통신부(140)는 동축 케이블, 광섬유 케이블 등과 연결되어 LAN(Local Area Network) 통신을 수행함으로써 다양한 데이터를 송수신할 수도 있다.
프로세서(120)는 통신부(140)를 통해 외부 장치(도시되지 않음)와 하나 이상의 이미지 또는 영상에 대한 데이터를 주고받을 수 있다.
전자 장치(100)는 통신부(140)를 통해 외부로부터 복수의 이미지 프레임에 대한 데이터를 수신하고, 복수의 이미지 프레임 중 베스트 이미지 프레임을 식별할 수 있다. 또한, 전자 장치(100)는 통신부(140)를 통해 베스트 이미지 프레임에 대한 데이터를 외부 장치(도시되지 않음)로 전송할 수도 있다.
예로, 전자 장치(100)가 휴대폰 또는 스마트폰으로 구현되어 서버인 외부 장치와 통신부(140)를 통한 통신이 가능한 경우, 전자 장치(100)는 서버인 외부 장치로부터 하나 이상의 이미지 프레임을 포함하는 영상 데이터를 수신하고, 해당 영상에 포함되는 복수의 이미지 프레임 중 베스트 이미지 프레임을 식별할 수도 있다.
한편, 통신부(140)는, 전자 장치(100)를 제어하기 위한 원격 제어 장치(도시되지 않음) 등과 데이터를 송수신하기 위한 제1 통신부(도시되지 않음) 및 외부 서버(도시되지 않음)와 데이터를 송수신하기 위한 제2 통신부(도시되지 않음)를 각각 별도로 포함할 수도 있다. 이때, 제1 통신부(도시되지 않음)는 이더넷 모뎀, 와이파이 모듈, 블루투스 모듈 등으로 구현되는 한편, 제2 통신부는 별도의 와이파이 모듈 또는 이더넷 모듈 등으로 구현될 수도 있다.
입출력 포트(150)를 통해, 전자 장치(100)는 외부로부터 이미지에 대한 신호/데이터를 수신하거나 또는 외부에 이미지에 대한 데이터/신호를 전송할 수 있다.
이를 위해, 입출력 포트(150)는 HDMI 포트, 디스플레이 포트, RGB 포트, DVI(Digital Visual Interface) 포트, 썬더볼트 및 컴포넌트 포트 등 유선 포트로 구현될 수 있다.
입출력 포트(150)는 HDMI 포트나 썬더볼트 등으로 구현되어 이미지 및 음성 신호를 함께 전송하도록 구현될 수도 있지만, 이미지 신호를 전송하는 제1 포트 및 음성 신호를 전송하는 제2 포트가 각각 별도로 구현된 것일 수도 있다.
입출력 포트(150)는 USB와 같은 인터페이스 모듈을 포함할 수 있으며, 이 같은 인터페이스 모듈을 통해 PC와 같은 외부 단말 장치와 물리적으로 연결되어 음성 또는 이미지 데이터를 송수신하거나 혹은 펌웨어 업그레이드를 수행하기 위한 펌웨어 데이터를 송수신할 수도 있다.
전자 장치(100)는 입출력 포트(150)를 통해 외부로부터 복수의 이미지 프레임에 대한 데이터를 수신하고, 복수의 이미지 프레임 중 베스트 이미지 프레임을 식별할 수 있다. 또한, 전자 장치(100)는 입출력 포트(150)를 통해 베스트 이미지 프레임에 대한 데이터를 외부 장치(도시되지 않음)로 전송할 수도 있다.
한편, 상술하였듯, 통신부(140) 또는 입출력 포트(150)를 통해 외부로부터 영상에 대한 데이터, 즉 복수의 이미지 프레임에 대한 데이터를 수신할 수 있는 경우, 전자 장치(100)가 복수의 이미지 프레임을 직접 촬영하지 않아도 복수의 이미지 프레임에 대한 데이터를 획득할 수 있으므로, 도 2와 달리, 전자 장치(100)가 카메라(110)를 포함하지 않는 경우도 가능하다. 또한, 도시되지는 않았으나, 전자 장치(100)가 방송 수신부(도시되지 않음)를 포함하는 경우에도, 마찬가지일 수 있다. 이는, 사용자가 전자 장치(100)와 유/무선 연결된 외부 장치(도시되지 않음)에 구비된 카메라(도시되지 않음)를 통해 영상을 촬영하는 경우에 해당할 수 있다.
사용자 입력부(160)는 전자 장치(100)가 사용자로부터 명령 또는 정보를 포함하는 사용자 입력을 수신할 수 있게 하는 구성이다.
전자 장치(100)는 사용자 입력부(160)를 통해 영상의 촬영을 시작 또는 종료하기 위한 사용자 입력을 수신할 수 있다. 또한, 사용자 입력부(160)를 통해, 선택된 이미지 프레임들의 스코어와 비교될 임계 값을 조정하기 위한 사용자 입력을 수신할 수도 있다.
사용자 입력부(160)는 사용자 입력을 수신하기 위한 하나 이상의 버튼, 키보드, 마우스(이상 도시되지 않음) 등을 포함할 수도 있다. 사용자 입력부(160)는 사용자 입력을 터치 형태로 입력받기 위해, 디스플레이(170)와 함께 구현된 터치 패널(도시되지 않음) 또는 별도의 터치 패드(도시되지 않음)를 포함할 수 있다.
사용자 입력부(160)는 촬영을 시작/종료하기 위한 명령에 대응되는 사용자 입력을 음성으로 입력받기 위해 마이크(도시되지 않음)를 포함할 수도 있다.
디스플레이(170)는 프로세서(120)의 제어에 따라 하나 이상의 이미지를 표시하기 위한 구성이다. 이를 위해, 디스플레이(170)는 LCD(Liquid Crystal Display), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diodes), TOLED(Transparent OLED) 등으로 구현될 수 있다. LCD로 구성되는 경우, 디스플레이(170) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로(도시되지 않음), 백라이트 유닛(도시되지 않음) 등도 함께 포함될 수 있다.
한편, 디스플레이(170)는 사용자의 터치 조작을 감지할 수 있는 터치 패널이 포함된 터치스크린 형태로 구현될 수도 있으며, 이 경우 사용자 입력부(160)에 포함되는 것으로 볼 수 있다.
프로세서(120)는 카메라(110)를 통해 영상이 촬영되는 동시에, 촬영되는 영상을 디스플레이하도록 디스플레이(170)를 제어할 수 있다. 구체적으로는, 촬영된 영상(복수의 이미지 프레임)의 해상도를 낮춘 저화질의 영상을 디스플레이하도록 디스플레이(170)를 제어할 수 있다.
또한, 프로세서(120)는, 복수의 이미지 프레임 중에서 식별된 하나 이상의 베스트 이미지 프레임을 디스플레이하도록 디스플레이(170)를 제어할 수 있다.
음성 출력부(180)는 프로세서(120)의 제어에 따라 특정한 음성을 출력하기 위한 구성이다. 음성 출력부(180)는 스피커(190) 및/또는 헤드폰/이어폰 출력 단자(도시되지 않음)로 구현될 수 있다.
프로세서(120)는 영상 촬영에 대한 가이드를 음성 형태로 제공하도록 음성 출력부(180)를 제어할 수 있다.
이하 도 11 내지 도 14를 통해서는, 본 개시에 따른 전자 장치의 제어 방법을 설명한다.
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 순서도이다. 본 전자 장치는, 이미지 프레임이 입력되면 입력된 이미지 프레임과 기설정된 특징 정보와의 매칭 정도를 판단하도록 학습된 네트워크 모델이 저장된 메모리를 포함할 수 있다.
도 11을 참조하면, 본 제어 방법은, 카메라를 통해 복수의 이미지 프레임이 촬영되는 동안에, 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여 대표 이미지 프레임을 식별할 수 있다(S1110). 이때, 선택된 이미지 프레임들은, 학습된 네트워크 모델의 판단 속도에 기초하여 결정된 일정한 시간 간격으로 촬영된 것일 수 있다. 다만, 이에 한정되는 것은 아니어서, 시간 간격이 반드시 일정해야 하는 것은 아니고, 다만 S1110 단계에서 복수의 이미지 프레임을 모두 분석(네트워크 모델에 적용)하지 않을 수 있다는 점이 중요하다.
구체적으로, 선택된 이미지 프레임들을 학습된 네트워크 모델에 적용하여 매칭 정도에 대응되는 스코어를 획득하고, 획득된 스코어가 기설정된 임계 값 이상인 이미지 프레임들 중에서 가장 높은 스코어를 갖는 대표 이미지 프레임을 식별할 수 있다.
그리고, 복수의 이미지 프레임 중에서 식별된 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을, 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여 베스트 이미지 프레임을 식별할 수 있다(S1120).
구체적으로, 대표 이미지 프레임이 포함된 상술한 특정 구간 내의 이미지 프레임들을 학습된 네트워크 모델에 적용하여 매칭 정도에 대응되는 스코어를 획득하고, 획득된 스코어 중에서 가장 높은 스코어를 갖는 베스트 이미지 프레임을 식별할 수 있다.
그리고, 식별된 베스트 이미지 프레임을 제공할 수 있다(S1130). 이때, 베스트 이미지 프레임을 전자 장치의 메모리에 저장하거나, 베스트 이미지 프레임에 대한 데이터를 외부 장치로 전송하거나 또는 베스트 이미지 프레임을 디스플레이할 수 있다.
한편, 도 11에 있어, 대표 이미지 프레임을 식별하는(S1110) 과정은 저화질 분석으로, 베스트 이미지 프레임을 식별하는(S1120) 과정은 S1110 과정에 비해 고화질 분석으로 수행할 수 있다.
관련하여, 도 12는 복수의 이미지 프레임을 저화질 분석하여 베스트 이미지 프레임이 포함된 구간을 찾는 일 예를 설명하기 위한 순서도이다.
도 12를 참조하면, 본 제어 방법은, 복수의 이미지 프레임의 해상도를 낮춰 저화질의 복수의 이미지 프레임을 획득할 수 있다(S1210). 이때, 저화질의 복수의 이미지 프레임은 획득과 동시에 디스플레이되어 영상으로 제공될 수도 있다.
그리고, 저화질의 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 학습된 네트워크 모델에 적용하여 저화질의 대표 이미지 프레임을 식별할 수 있다(S1220). 이때, 선택된 이미지 프레임들은, 네트워크 모델의 판단 속도에 따라 결정된 시간 간격에 따라 선택된 것일 수 있다.
그리고, 복수의 이미지 프레임 중에서 저화질의 대표 이미지 프레임에 대응되는 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을, 학습된 네트워크 모델에 적용하여 베스트 이미지 프레임을 식별할 수 있다(S1230). 이때, 대표 이미지 프레임이 포함된 해당 구간 내의 이미지 프레임들은, 저화질의 복수의 이미지 프레임보다 고화질일 수 있다. 그리고, 최종적으로 식별된 베스트 이미지 프레임 역시 마찬가지로 저화질의 복수의 이미지 프레임보다 고화질일 수 있다.
한편, 도 11에 있어 대표 이미지 프레임을 식별하는(S1110) 과정은, 이하 동작들을 포함할 수 있다.
구체적으로, 선택된 이미지 프레임들 중 제1 이미지 프레임의 매칭 정도에 대응되는 스코어가 기설정된 임계 값 미만이면, 복수의 이미지 프레임 중에서 제1 이미지 프레임 이전의 이미지 프레임을 삭제하고, 제1 이미지 프레임의 스코어가 기설정된 임계 값 이상이면 제1 이미지 프레임을 대표 이미지 프레임으로 식별할 수 있다.
이때, 만약 제1 이미지 프레임의 스코어가 기설정된 임계 값 이상이고, 선택된 이미지 프레임들 중 제1 이미지 프레임 다음의 제2 이미지 프레임의 매칭 정도에 대응되는 스코어가 제1 이미지 프레임의 스코어보다 크면, 복수의 이미지 프레임 중 제1 이미지 프레임 이전의 이미지 프레임들을 삭제하고, 제2 이미지 프레임을 대표 이미지 프레임으로 식별할 수 있다.
이와 관련하여, 도 13은 영상을 구성하는 복수의 이미지 프레임이 촬영되는 동안에, 실시간으로, 선택된 이미지 프레임들을 분석하여 선택된 이미지 프레임들 중 대표 이미지 프레임(Max Score 프레임)을 식별하고, 대표 이미지 프레임을 기준으로 베스트 이미지 프레임이 포함된 구간을 찾아내는 구체적인 과정의 일 예를 설명하기 위한 알고리즘을 나타낸다.
도 13을 참조하면, 먼저 i번째(i=1부터) 촬영된 이미지 프레임을 네트워크 모델에 적용하여 스코어를 획득할 수 있다(S1305, S1310).
i번째 이미지 프레임의 스코어가 임계 값보다 큰 경우(S1315 - Y), i번째 이미지 프레임을 저장할 수 있다(S1330). 이때, i번째 이미지 프레임의 태그 데이터를 저장할 수도 있다.
그리고, 저장된 프레임 중 i번째 이미지 프레임의 스코어가 가장 큰 지 여부를 식별할 수 있다(S1335).
만약 그렇다면(S1335 - Y), i번째 프레임을 Max Score 프레임으로 지정하고 'i - n'번째 이미지 프레임을 Starting 포인트로 저장할 수 있다(S1340). 다만, i번째 이미지 프레임이 선택된 프레임들 중 첫 번째로 분석되는 이미지 프레임인 경우(도 13에서는 i = 1인 경우), 'i - n'번째 이미지 프레임은 존재하지 않기 때문에, i번째 프레임을 Max Score 프레임으로 지정하기만 하면 된다.
만약 그렇지 않다면(S1335 - N), 'i - n'번째 이미지 프레임이 Max Score 프레임인지 식별할 수 있다(S1345). 이때, 'i - n'번째 이미지 프레임이 현재 Max Score 프레임이라면(S1345 - Y), i번째 프레임을 Ending 포인트로 지정할 수 있다(S1350). 반면, 'i - n'번째 이미지 프레임이 현재 Max Score 프레임이 아니라면(S1345 - N), 저장된 i번째 프레임을 삭제할 수 있다(S1355). 이때, i번째 프레임에 대한 태그 데이터를 삭제할 수 있다.
이렇듯, i번째 이미지 프레임에 대하여 S1315 - N, S1340, S1355, S1350 중 하나의 동작이 수행되면, 선택된 이미지 프레임들 중 i번째 이미지 프레임 다음으로 촬영된 이미지 프레임인 'i + n'번째 이미지 프레임에 대해 상술한 과정들을 수행할 수 있다(S1320 - S1325 - S1310 - ~~~). 다만, 마지막으로 촬영된 이미지 프레임의 순서가 'i + n'보다 작은 경우(S1325 - Y), 즉 촬영이 종료된 경우, 선택된 이미지 프레임들에 대한 분석을 종료할 수 있다. 이때, 'n'은 네트워크 모델의 분석 속도 및 복수의 이미지 프레임의 촬영 간격에 따라 기설정된 프레임 수일 수 있다. 예를 들어, 앞서 설명한 도 3의 경우, 'n'은 '5'이다.
도 13과 같은 과정을 거쳐 Starting 포인트 및 Ending 포인트가 최종적으로 결정되면, Starting 포인트 및 Ending 포인트를 기준으로 설정된 구간 내의 이미지 프레임들을 모두 분석하여 베스트 이미지 프레임을 식별할 수 있다.
다만, 베스트 이미지 프레임이 속한 구간을 식별하는 동작이, Max Score 프레임 전후의 Starting 포인트 및 Ending 포인트를 이용하는 도 13의 실시 예에만 한정되는 것은 아니고, 이 외에도 다양한 알고리즘이 이용될 수 있다.
한편, 본 제어 방법은, 선택된 이미지 프레임들의 매칭 정도에 기초하여 복수의 이미지를 복수의 이벤트로 구분하고, 구분된 복수의 이벤트별로, 베스트 이미지 프레임을 각각 식별할 수도 있다.
이 경우, 선택된 이미지 프레임들 중, 제1 이미지 프레임의 매칭 정도에 대응되는 스코어가 기설정된 임계 값 이상이고, 제1 이미지 프레임 이후에 촬영된 제2 이미지 프레임의 매칭 정도에 대응되는 스코어가 기설정된 임계 값 미만이며, 제2 이미지 프레임 이후에 촬영된 제3 이미지 프레임의 매칭 정도에 대응되는 스코어가 기설정된 임계 값 이상인 경우, 제1 이미지 프레임과 제3 이미지 프레임은 서로 다른 이벤트에 대응되는 것으로 판단할 수 있다.
한편, 베스트 이미지 프레임이 포함된 구간을 식별하기 위한 과정에 대해서만 구체적으로 다룬 도 13과 달리, 도 14는, 영상을 촬영하기 시작하여 베스트 이미지 프레임을 제공하기까지 전체 과정에 대한 일 예를 설명하기 위한 알고리즘이다.
도 14를 참조하면, 영상의 촬영이 시작되면(S1410), 영상에 대한 녹화를 수행한다(S1420). 구체적으로는, 영상에 포함되는 복수의 이미지 프레임을 저장할 수 있으며, 이때, 영상에 대한 녹화를 수행한다는 것을 사용자에게 알리지 않을 수 있다. 이때, 촬영된 고화질 영상을 그대로 녹화한 복수의 이미지 프레임 및 촬영된 고화질 영상보다 해상도가 낮은 저화질의 복수의 이미지 프레임이 각기 별도로 저장될 수도 있다.
그리고, 영상에 대한 장면 분석을 수행할 수 있다(S1430). 구체적으로, 복수의 이미지 프레임 중 선택된 이미지 프레임들을 네트워크 모델에 적용하여, 선택된 이미지 프레임들 각각이 특징 정보에 매칭되는 정도를 나타내는 스코어를 획득할 수 있다. 이때, 선택된 이미지 프레임들은 저화질의 이미지 프레임들일 수 있다.
이러한 과정(S1430)은, 촬영이 종료될 때까지, 선택된 이미지 프레임들 각각에 대해 촬영 순서에 따라 순차적으로 수행될 수 있다(S1450).
한편, 선택된 이미지 프레임들 각각의 스코어를 획득한 결과, 스코어에 따른 태그 데이터를 생성할 수 있다(S1440). 이때, 태그 데이터는, 선택된 이미지 프레임들 중 스코어가 가장 높은 (스코어가 임계 값보다 큰 경우) 대표 이미지 프레임의 식별 정보를 포함할 수 있다.
그리고, 태그 데이터에 따라, 특정 구간에 포함되는 프레임들을 식별할 수 있다(S1460). 구체적으로는, 녹화된 (고화질) 영상에 포함되는 복수의 이미지 프레임 중, 태그 데이터에 대응되는 대표 이미지 프레임을 포함하는 구간에 속하는 이미지 프레임들을 식별할 수 있다.
이후, 식별된 이미지 프레임들 중 흔들림 정도가 기설정된 값 미만인 이미지 프레임들을 분석하여(S1470 - S1480), 그 중 스코어가 가장 큰 베스트 이미지 프레임을 식별 및 제공할 수 있다(S1490).
한편, 도 11 내지 도 14를 통해 상술한 전자 장치의 제어 방법은, 도 2 및 도 10을 통해 도시 및 설명한 전자 장치(100)를 통해 구현될 수 있다. 또는, 전자 장치(100) 및 하나 이상의 외부 장치(도시되지 않음)를 포함하는 시스템을 통해 구현될 수도 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(Programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processor), 제어기(controller), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessor), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서(120) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치(100)의 처리 동작을 상술한 특정 기기가 수행하도록 한다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
100: 전자 장치 110: 카메라
120: 프로세서 130: 메모리
140: 통신부 150: 입출력 포트
160: 사용자 입력부 170: 디스플레이
180: 음성 출력부

Claims (20)

  1. 전자 장치에 있어서,
    카메라;
    상기 카메라와 전기적으로 연결되어 상기 카메라를 제어하는 프로세서; 및
    상기 프로세서와 전기적으로 연결되며, 이미지 프레임이 입력되면 상기 입력된 이미지 프레임과 기설정된 특징 정보와의 매칭 정도를 판단하도록 학습된 네트워크 모델이 저장된 메모리;를 포함하고,
    상기 메모리는, 적어도 하나의 명령어를 포함하며,
    상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 카메라를 통해 복수의 이미지 프레임이 촬영되는 동안에, 상기 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여, 상기 선택된 이미지 프레임들 중 대표 이미지 프레임을 식별하고,
    상기 복수의 이미지 프레임 중에서 상기 식별된 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여, 상기 특정 구간 내의 이미지 프레임들 중 베스트 이미지 프레임을 식별하고,
    상기 식별된 베스트 이미지 프레임을 제공하는, 전자 장치.
  2. 제1항에 있어서,
    상기 선택된 이미지 프레임들은,
    상기 복수의 이미지 프레임 중에서 일정한 시간 간격으로 촬영된 이미지 프레임들을 포함하며,
    상기 일정한 시간 간격은, 상기 학습된 네트워크 모델의 판단 속도에 기초하여 결정되는, 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 매칭 정도에 대응되는 스코어를 획득하고, 상기 획득된 스코어가 기설정된 임계 값 이상인 이미지 프레임들 중에서 가장 높은 스코어를 갖는 상기 대표 이미지 프레임을 식별하는, 전자 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 대표 이미지 프레임이 포함된 상기 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 매칭 정도에 대응되는 스코어를 획득하고, 상기 획득된 스코어 중에서 가장 높은 스코어를 갖는 상기 베스트 이미지 프레임을 식별하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 이미지 프레임의 해상도를 낮춰 저화질의 복수의 이미지 프레임을 획득하고, 상기 저화질의 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 저화질의 대표 이미지 프레임을 식별하고, 상기 복수의 이미지 프레임 중에서 상기 저화질의 대표 이미지 프레임에 대응되는 상기 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 베스트 이미지 프레임을 식별하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 선택된 이미지 프레임들 중 제1 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 기설정된 임계 값 미만이면, 상기 복수의 이미지 프레임 중에서 상기 제1 이미지 프레임 이전의 이미지 프레임을 삭제하고, 상기 제1 이미지 프레임의 스코어가 상기 기설정된 임계 값 이상이면 상기 제1 이미지 프레임을 상기 대표 이미지 프레임으로 식별하는, 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 제1 이미지 프레임의 스코어가 상기 기설정된 임계 값 이상이고, 상기 선택된 이미지 프레임들 중 상기 제1 이미지 프레임 다음의 제2 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 제1 이미지 프레임의 스코어보다 크면, 상기 복수의 이미지 프레임 중 상기 제1 이미지 프레임 이전의 이미지 프레임들을 삭제하고, 상기 제2 이미지 프레임을 상기 대표 이미지 프레임으로 식별하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 선택된 이미지 프레임들의 상기 매칭 정도에 기초하여 상기 복수의 이미지를 복수의 이벤트로 구분하고, 상기 복수의 이벤트별로, 상기 베스트 이미지 프레임을 식별하는, 전자 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 선택된 이미지 프레임들 중, 제1 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 기설정된 임계 값 이상이고, 상기 제1 이미지 프레임 이후에 촬영된 제2 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 기설정된 임계 값 미만이며, 상기 제2 이미지 프레임 이후에 촬영된 제3 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 기설정된 임계 값 이상인 경우, 상기 제1 이미지 프레임과 상기 제3 이미지 프레임은 서로 다른 이벤트에 대응되는 것으로 판단하는, 전자 장치.
  10. 제1항에 있어서,
    상기 학습된 네트워크 모델은,
    상기 특징 정보에 매칭되는 복수의 이미지 및 상기 특징 정보에 매칭되지 않는 복수의 이미지에 기초하여 학습되고,
    상기 특징 정보는, 이미지에 포함된 하나 이상의 객체, 상기 객체의 행동, 상기 객체의 표정 및 상기 이미지에 대응되는 상황 중 적어도 하나와 관련되는, 전자 장치.
  11. 이미지 프레임이 입력되면 상기 입력된 이미지 프레임과 기설정된 특징 정보와의 매칭 정도를 판단하도록 학습된 네트워크 모델이 저장된 메모리를 포함하는 전자 장치의 제어 방법에 있어서,
    카메라를 통해 복수의 이미지 프레임이 촬영되는 동안에, 상기 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여, 상기 선택된 이미지 프레임들 중 대표 이미지 프레임을 식별하는 단계;
    상기 복수의 이미지 프레임 중에서 상기 식별된 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여, 상기 특정 구간 내의 이미지 프레임들 중 베스트 이미지 프레임을 식별하는 단계; 및
    상기 식별된 베스트 이미지 프레임을 제공하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 대표 이미지 프레임을 식별하는 단계는,
    상기 학습된 네트워크 모델의 판단 속도에 기초하여 결정된 일정한 시간 간격으로 촬영된 상기 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하는, 제어 방법.
  13. 제11항에 있어서,
    상기 대표 이미지 프레임을 식별하는 단계는,
    상기 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 매칭 정도에 대응되는 스코어를 획득하고,
    상기 획득된 스코어가 기설정된 임계 값 이상인 이미지 프레임들 중에서 가장 높은 스코어를 갖는 상기 대표 이미지 프레임을 식별하는, 제어 방법.
  14. 제13항에 있어서,
    상기 베스트 이미지 프레임을 식별하는 단계는,
    상기 대표 이미지 프레임이 포함된 상기 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 매칭 정도에 대응되는 스코어를 획득하고,
    상기 획득된 스코어 중에서 가장 높은 스코어를 갖는 상기 베스트 이미지 프레임을 식별하는, 제어 방법.
  15. 제11항에 있어서,
    상기 복수의 이미지 프레임의 해상도를 낮춰 저화질의 복수의 이미지 프레임을 획득하는 단계; 및
    상기 저화질의 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 저화질의 대표 이미지 프레임을 식별하는 단계;를 더 포함하고,
    상기 베스트 이미지 프레임을 식별하는 단계는,
    상기 복수의 이미지 프레임 중에서 상기 저화질의 대표 이미지 프레임에 대응되는 상기 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 상기 베스트 이미지 프레임을 식별하는, 제어 방법.
  16. 제11항에 있어서,
    상기 대표 이미지 프레임을 식별하는 단계는,
    상기 선택된 이미지 프레임들 중 제1 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 기설정된 임계 값 미만이면, 상기 복수의 이미지 프레임 중에서 상기 제1 이미지 프레임 이전의 이미지 프레임을 삭제하고,
    상기 제1 이미지 프레임의 스코어가 상기 기설정된 임계 값 이상이면 상기 제1 이미지 프레임을 상기 대표 이미지 프레임으로 식별하는, 제어 방법.
  17. 제16항에 있어서,
    상기 대표 이미지 프레임을 식별하는 단계는,
    상기 제1 이미지 프레임의 스코어가 상기 기설정된 임계 값 이상이고, 상기 선택된 이미지 프레임들 중 상기 제1 이미지 프레임 다음의 제2 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 제1 이미지 프레임의 스코어보다 크면, 상기 복수의 이미지 프레임 중 상기 제1 이미지 프레임 이전의 이미지 프레임들을 삭제하고, 상기 제2 이미지 프레임을 상기 대표 이미지 프레임으로 식별하는, 제어 방법.
  18. 제11항에 있어서,
    상기 선택된 이미지 프레임들의 상기 매칭 정도에 기초하여 상기 복수의 이미지를 복수의 이벤트로 구분하는 단계;를 더 포함하고,
    상기 베스트 이미지 프레임을 식별하는 단계는,
    상기 복수의 이벤트별로, 상기 베스트 이미지 프레임을 식별하는, 제어 방법.
  19. 제18항에 있어서,
    상기 복수의 이미지를 상기 복수의 이벤트로 구분하는 단계는,
    상기 선택된 이미지 프레임들 중, 제1 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 기설정된 임계 값 이상이고, 상기 제1 이미지 프레임 이후에 촬영된 제2 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 기설정된 임계 값 미만이며, 상기 제2 이미지 프레임 이후에 촬영된 제3 이미지 프레임의 상기 매칭 정도에 대응되는 스코어가 상기 기설정된 임계 값 이상인 경우, 상기 제1 이미지 프레임과 상기 제3 이미지 프레임은 서로 다른 이벤트에 대응되는 것으로 판단하는, 제어 방법.
  20. 이미지 프레임이 입력되면 상기 입력된 이미지 프레임과 기설정된 특징 정보와의 매칭 정도를 판단하도록 학습된 네트워크 모델이 저장된 메모리를 포함하는 전자 장치의 프로세서에 의해 실행되어, 상기 전자 장치로 하여금,
    카메라를 통해 복수의 이미지 프레임이 촬영되는 동안에, 상기 복수의 이미지 프레임 중에서 선택된 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여, 상기 선택된 이미지 프레임들 중 대표 이미지 프레임을 식별하는 단계;
    상기 복수의 이미지 프레임 중에서 상기 식별된 대표 이미지 프레임이 포함된 특정 구간 내의 이미지 프레임들을 상기 학습된 네트워크 모델에 적용하여 획득된 매칭 정도에 기초하여, 상기 특정 구간 내의 이미지 프레임들 중 베스트 이미지 프레임을 식별하는 단계; 및
    상기 식별된 베스트 이미지 프레임을 제공하는 단계;를 포함하는 동작을 수행하도록 하는 컴퓨터 명령어가 저장된 컴퓨터 판독 가능 매체.
KR1020180157170A 2018-12-07 2018-12-07 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 매체. KR102198337B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180157170A KR102198337B1 (ko) 2018-12-07 2018-12-07 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 매체.
PCT/KR2019/017180 WO2020116983A1 (en) 2018-12-07 2019-12-06 Electronic apparatus, controlling method of electronic apparatus, and computer readable medium
EP19893413.5A EP3821372A4 (en) 2018-12-07 2019-12-06 ELECTRONIC DEVICE, CONTROL METHODS OF AN ELECTRONIC DEVICE, AND COMPUTER-READABLE MEDIUM
CN201980080530.2A CN113168543A (zh) 2018-12-07 2019-12-06 电子装置、电子装置的控制方法和计算机可读介质
US16/707,105 US11558545B2 (en) 2018-12-07 2019-12-09 Electronic apparatus, controlling method of electronic apparatus, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180157170A KR102198337B1 (ko) 2018-12-07 2018-12-07 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 매체.

Publications (2)

Publication Number Publication Date
KR20200075069A KR20200075069A (ko) 2020-06-26
KR102198337B1 true KR102198337B1 (ko) 2021-01-04

Family

ID=70972576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180157170A KR102198337B1 (ko) 2018-12-07 2018-12-07 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 매체.

Country Status (5)

Country Link
US (1) US11558545B2 (ko)
EP (1) EP3821372A4 (ko)
KR (1) KR102198337B1 (ko)
CN (1) CN113168543A (ko)
WO (1) WO2020116983A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102410286B1 (ko) * 2021-11-19 2022-06-22 주식회사 씨앤에이아이 딥러닝에 기반하여 낙상 사고를 감지하는 방법 및 그 전자장치

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111946A (ja) * 1996-10-04 1998-04-28 Matsushita Electric Ind Co Ltd 画像追跡装置
US7664389B2 (en) 2007-05-21 2010-02-16 Sony Ericsson Mobile Communications Ab System and method of photography using desirable feature recognition
JP2010239169A (ja) 2007-08-08 2010-10-21 Panasonic Corp 撮像装置
JP4720810B2 (ja) 2007-09-28 2011-07-13 富士フイルム株式会社 画像処理装置、撮像装置、画像処理方法及び画像処理プログラム
JP5072757B2 (ja) * 2008-07-24 2012-11-14 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP5483863B2 (ja) * 2008-11-12 2014-05-07 キヤノン株式会社 情報処理装置およびその制御方法
US8289400B2 (en) 2009-06-05 2012-10-16 Apple Inc. Image capturing device having continuous image capture
KR101669463B1 (ko) 2010-03-18 2016-10-26 삼성전자주식회사 지능형 카메라
KR101721226B1 (ko) 2010-12-23 2017-04-10 삼성전자주식회사 사용자가 원하는 시점의 정지 영상을 획득할 수 있는 디지털 영상 신호 처리 장치 및 이의 제어 방법
US20120300092A1 (en) 2011-05-23 2012-11-29 Microsoft Corporation Automatically optimizing capture of images of one or more subjects
KR101906827B1 (ko) * 2012-04-10 2018-12-05 삼성전자주식회사 연속 사진 촬영 장치 및 방법
WO2013160524A1 (en) * 2012-04-25 2013-10-31 Nokia Corporation Imaging
KR101383988B1 (ko) * 2012-11-28 2014-04-10 정영규 3차원 카메라를 이용한 객체 인식 시스템 및 방법
JP5888614B2 (ja) * 2013-03-21 2016-03-22 カシオ計算機株式会社 撮像装置、映像コンテンツ生成方法、及び、プログラム
KR102097781B1 (ko) * 2013-09-06 2020-05-29 에스케이 텔레콤주식회사 객체 정보 제공 장치 및 방법
US9774779B2 (en) * 2014-05-21 2017-09-26 Google Technology Holdings LLC Enhanced image capture
WO2016109450A1 (en) * 2014-12-29 2016-07-07 Neon Labs Inc. Selecting a high-valence representative image
KR20170009037A (ko) 2015-07-15 2017-01-25 삼성전자주식회사 영상 컨텐츠 제공 장치 및 영상 컨텐츠 제공 방법
US10671895B2 (en) 2016-06-30 2020-06-02 Microsoft Technology Licensing, Llc Automated selection of subjectively best image frames from burst captured image sequences
KR20180055708A (ko) * 2016-11-16 2018-05-25 삼성전자주식회사 이미지를 처리하는 전자 장치 및 방법
US10445586B2 (en) * 2017-12-12 2019-10-15 Microsoft Technology Licensing, Llc Deep learning on image frames to generate a summary
CN108198177A (zh) 2017-12-29 2018-06-22 广东欧珀移动通信有限公司 图像获取方法、装置、终端及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102410286B1 (ko) * 2021-11-19 2022-06-22 주식회사 씨앤에이아이 딥러닝에 기반하여 낙상 사고를 감지하는 방법 및 그 전자장치

Also Published As

Publication number Publication date
KR20200075069A (ko) 2020-06-26
WO2020116983A1 (en) 2020-06-11
EP3821372A4 (en) 2021-09-15
US20200186703A1 (en) 2020-06-11
EP3821372A1 (en) 2021-05-19
US11558545B2 (en) 2023-01-17
CN113168543A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
KR102453169B1 (ko) 디바이스가 이미지를 보정하는 방법 및 그 디바이스
KR102425578B1 (ko) 객체를 인식하는 방법 및 장치
US20200236425A1 (en) Method and apparatus for filtering video
US11113532B2 (en) Artificial intelligence apparatus for recognizing object and method therefor
KR102359391B1 (ko) 디바이스가 이미지를 보정하는 방법 및 그 디바이스
US11556302B2 (en) Electronic apparatus, document displaying method thereof and non-transitory computer readable recording medium
EP3605409A1 (en) Electronic device and operation method therefor
US20220067421A1 (en) Image processing apparatus and method for style transformation
KR102304701B1 (ko) 사용자의 음성 입력에 대한 답변을 제공하는 방법 및 장치
KR20200010993A (ko) 보완된 cnn을 통해 이미지 속 얼굴의 속성 및 신원을 인식하는 전자 장치.
US20200065560A1 (en) Signal retrieval apparatus, method, and program
US11825278B2 (en) Device and method for auto audio and video focusing
KR102396794B1 (ko) 전자 장치 및 이의 제어 방법
US11145088B2 (en) Electronic apparatus and method for controlling thereof
KR20200080418A (ko) 단말기 및 그의 동작 방법
KR102198337B1 (ko) 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 매체.
CN109986553B (zh) 一种主动交互的机器人、系统、方法及存储装置
US10917721B1 (en) Device and method of performing automatic audio focusing on multiple objects
KR20200084428A (ko) 동영상을 제작하는 방법 및 그에 따른 장치
KR20200084395A (ko) 영상에서 오브젝트를 인식하는 전자 장치 및 그 동작 방법
CN115525188A (zh) 拍摄方法和电子设备
KR20210048270A (ko) 복수 객체에 대한 오디오 포커싱 방법 및 장치
US20230386185A1 (en) Statistical model-based false detection removal algorithm from images
EP4283529A1 (en) Method for training an object recognition model in a computing device
KR102663375B1 (ko) 음성 및 영상 자동 포커싱 방법 및 장치

Legal Events

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