KR20190095200A - 영상 내 물체 인식 장치 및 방법 - Google Patents

영상 내 물체 인식 장치 및 방법 Download PDF

Info

Publication number
KR20190095200A
KR20190095200A KR1020190091090A KR20190091090A KR20190095200A KR 20190095200 A KR20190095200 A KR 20190095200A KR 1020190091090 A KR1020190091090 A KR 1020190091090A KR 20190091090 A KR20190091090 A KR 20190091090A KR 20190095200 A KR20190095200 A KR 20190095200A
Authority
KR
South Korea
Prior art keywords
image
change amount
result
neural network
determining
Prior art date
Application number
KR1020190091090A
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 KR1020190091090A priority Critical patent/KR20190095200A/ko
Publication of KR20190095200A publication Critical patent/KR20190095200A/ko
Priority to US16/577,973 priority patent/US20200013190A1/en

Links

Images

Classifications

    • G06K9/00711
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • G06K9/4652
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • 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/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

영상 내 물체 인식 장치 및 방법이 개시된다. 영상 내 물체 인식 장치는 카메라 모듈로부터 입력된 제1 영상에 대해, 영상 내 물체 인식을 위해 기 훈련된 딥 뉴럴 네트워크 알고리즘을 수행하는 단계와 설정된 주기에 따라 상기 제1 영상 이후에 상기 카메라 모듈로부터 입력된, 제2 영상과 상기 제1 영상 사이의 영상 변화량을 파악하는 단계와, 상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과, 상기 제1 영상으로부터 물체(object)가 검출되었으면, 파악된 상기 영상 변화량에 기초하여, 제2 영상에서 상기 검출된 물체의 위치를 추적하는 단계를 포함할 수 있다.

Description

영상 내 물체 인식 장치 및 방법{APPARATUS AND METHOD FOR RECOGNIZING OBJECT IN IMAGE}
본 발명은 딥 뉴럴 네트워크(DNN: Deep Neural Network) 알고리즘과 함께, 옵티컬 플로우(optical flow)를 이용하여, 복수의 영상으로부터 움직이는 물체를 검출하고, 검출된 물체의 위치를 추적하는 영상 내 물체 인식 장치 및 방법에 관한 것이다.
딥러닝 기반의 물체 인식 방법은 미리 훈련된 딥 뉴럴 네트워크 알고리즘을 통해, 영상 내 물체를 검출하고, 상기 물체의 위치를 추적할 수 있다. 그러나, 딥러닝 기반의 물체 인식 방법은 필요한 연산량이 많고, 이에 따라 높은 성능의 연산장치 및 소비전력이 요구된다.
또한, 딥러닝 기반의 물체 인식 방법은 영상 수가 많아지거나, 또는 영상 내 해상도가 높을수록 딥 뉴럴 네트워크 알고리즘에서 사용되는 연산량이 급격히 증가하여, 연산 속도가 느려질 수 있다.
선행기술은 감시 카메라로 촬영된 영상에 대해 인공지능 딥 러닝 기술 기반으로 객체를 검출하는 방법을 개시하고 있으며, 감시 카메라로 촬영된 영상에 대해 검출 딥러닝 네트워크, 인식 딥러닝 네트워크 및 추적 딥러닝 네트워크를 이용하여 객체를 추적할 수 있다. 이러한 선행기술은 다수의 딥러닝 네트워크를 이용하여, 영상으로부터 객체를 추적 함에 따라, 연산량 또한 증가할 수 밖에 없다.
따라서, 연산량이 비교적 적으면서도 물체의 위치를 추적할 수 있는 기술이 필요하다.
선행 기술: 한국공개특허 제10-2018-0107930호
본 발명은 입력된 영상에 대해 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 영상으로부터 물체가 검출되면, 이후 입력되는 영상에 대해, 딥 뉴럴 네트워크 알고리즘에 비해 연산량이 적은 옵티컬 플로우를 수행하여, 상기 물체의 위치를 추적 함으로써, 영상 수가 많아지더라도 비교적 적은 연산량으로 물체의 위치를 추적하는 것을 목적으로 한다.
또한, 본 발명은 입력된 영상에 대해, 옵티컬 플로우를 수행하여 물체가 존재할 가능성이 있는 영역을 확인하고, 상기 확인된 영역에 대해 딥 뉴럴 네트워크 알고리즘을 수행 함으로써, 영상 전체 대신 한정된 영역에 딥 뉴럴 네트워크 알고리즘을 수행하여, 영상 전체에 상기 딥 뉴럴 네트워크 알고리즘을 수행하는 것 보다 연산량을 한층 감소시키는 것을 목적으로 한다.
상기의 목적을 이루기 위한, 본 발명의 일실시예는, 영상 내 물체를 인식하기 위한 방법으로서, 카메라 모듈로부터 입력된 제1 영상에 대해, 영상 내 물체 인식을 위해 기 훈련된 딥 뉴럴 네트워크(DNN: Deep Neural Network) 알고리즘을 수행하는 단계와, 설정된 주기에 따라 상기 제1 영상 이후에 상기 카메라 모듈로부터 입력된, 제2 영상과 상기 제1 영상 사이의 영상 변화량을 파악하는 단계와, 상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과 상기 제1 영상으로부터 물체(object)가 검출되었으면, 파악된 상기 영상 변화량에 기초하여, 상기 제2 영상에서 상기 검출된 물체의 위치를 추적하는 단계를 포함하는, 영상 내 물체 인식 방법일 수 있다.
본 발명의 일실시예는, 상기 영상 변화량을 파악하는 단계 이후에, 상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 단계를 더 포함하고, 상기 검출된 물체의 위치를 추적하는 단계는, 상기 신뢰성 판단 결과, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 보다 낮을 경우, 상기 영상 변화량 파악 결과에 기초하여, 상기 물체의 위치를 추정하고, 상기 추정된 물체의 위치가 포함되도록 상기 제2 영상에 제1 관심 영역을 설정하는 단계와, 상기 설정된 제1 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 제2 영상으로부터 상기 물체의 위치를 추적하는 단계를 포함하는, 영상 내 물체 인식 방법일 수 있다.
본 발명의 일실시예는, 상기 영상 변화량을 파악하는 단계가, 상기 영상 변화량을 파악하기 위해 옵티컬 플로우(optical flow)를 이용하여 이동 벡터를 산출하는 단계를 포함하는, 영상 내 물체 인식 방법일 수 있다.
본 발명의 일실시예는, 상기 영상 변화량을 파악하는 단계 이후에, 상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 단계를 더 포함하고, 상기 옵티컬 플로우를 이용하여 이동 벡터를 산출하는 단계가, 상기 제1 영상 및 상기 제2 영상을 비교한 결과에 기초하여, 상기 제1 영상 및 상기 제2 영상 내 각 픽셀별 이동 벡터를 산출하고, 설정된 방향별 색상을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득하는 단계와, 상기 각 픽셀별 이동 벡터에 대응하는 색상에 기초하여, 옵티컬 플로우 영상을 생성하는 단계를 포함하고, 상기 신뢰성을 판단하는 단계가, 상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역에서, 에러를 나타내는 색상을 가진 픽셀이 기준치 이상 존재하는 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단하는 단계를 포함하는, 영상 내 물체 인식 방법일 수 있다.
본 발명의 일실시예는, 상기 영상 변화량을 파악하는 단계 이후에, 상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 단계를 더 포함하고, 상기 옵티컬 플로우를 이용하여 이동 벡터를 산출하는 단계가, 상기 제1 영상 및 상기 제2 영상을 비교한 결과에 기초하여, 상기 제1 영상 및 상기 제2 영상 내 각 픽셀별 이동 벡터를 산출하고, 설정된 방향별 색상을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득하는 단계와, 상기 각 픽셀별 이동 벡터에 대응하는 색상에 기초하여, 옵티컬 플로우 영상을 생성하는 단계를 포함하고, 상기 신뢰성을 판단하는 단계가, 상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역 내의 픽셀들에 결정된 색상의 종류 수가 설정치 이상일 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단하는 단계를 포함하는, 영상 내 물체 인식 방법일 수 있다.
본 발명의 일실시예는, 상기 영상 변화량을 파악하는 단계 이후에, 상기 제1 영상으로부터 상기 물체가 검출되지 않았으면, 상기 영상 변화량 파악 결과에 기초하여, 새로운 물체에 대한 움직임 여부를 확인하는 단계와, 상기 확인 결과, 상기 새로운 물체에 대한 움직임이 존재하는 것으로 확인되면, 상기 새로운 물체의 위치가 포함되도록 상기 제2 영상에 제2 관심 영역을 설정하는 단계와, 상기 설정된 제2 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 제2 영상으로부터 상기 새로운 물체를 검출하는 단계를 더 포함하는, 영상 내 물체 인식 방법일 수 있다.
본 발명의 일실시예는, 상기 검출된 물체의 위치를 추적하는 단계가, 상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과로부터 상기 물체의 초기 위치를 획득하고, 상기 영상 변화량 파악 결과로부터 상기 물체의 이동 거리를 획득하는 단계와, 상기 물체의 이동 거리 및 상기 물체의 초기 위치에 기초하여, 상기 물체의 위치를 추적하는 단계를 포함하는, 영상 내 물체 인식 방법일 수 있다.
본 발명의 일실시예는, 상기 물체의 이동 거리 및 상기 주기를 이용하여, 상기 물체의 이동 속도를 산출하는 단계와, 상기 물체의 이동 속도가 설정된 속도 이상일 경우, 경고 알림을 발생하는 단계를 더 포함하는, 영상 내 물체 인식 방법일 수 있다.
본 발명의 일실시예는, 상기 제2 영상 이후에 입력되는 복수의 영상에 대해, 상기 영상 변화량을 파악하는 단계를 수행하여, 상기 물체의 위치를 추적하되, 설정된 기간 마다 상기 영상 변화량을 파악하는 단계 대신, 상기 딥 뉴럴 네트워크 알고리즘을 수행하는 단계를 더 포함하는, 영상 내 물체 인식 방법일 수 있다.
본 발명의 일실시예는, 상기 물체의 위치 추적 결과, 상기 물체가 '정지 상태'로 판단되는 경우, 상기 영상 변화량을 파악하는 단계를 수행하는 주기를 설정된 시간 만큼 증가시키는 단계를 더 포함하는, 영상 내 물체 인식 방법일 수 있다.
상기의 목적을 이루기 위한, 본 발명의 일실시예는, 영상 내 물체를 인식하기 위한 장치로서, 카메라 모듈로부터 입력된 제1 영상에 대해, 영상 내 물체 인식을 위해 기 훈련된 딥 뉴럴 네트워크 알고리즘을 수행하고, 설정된 주기에 따라 상기 제1 영상 이후에 상기 카메라 모듈로부터 입력된, 제2 영상과 상기 제1 영상 사이의 영상 변화량을 파악하는 수행부와, 상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과, 상기 제1 영상으로부터 물체가 검출되었으면, 파악된 상기 영상 변화량에 기초하여, 상기 제2 영상에서 상기 검출된 물체의 위치를 추적하는 프로세서를 포함하는, 영상 내 물체 인식 장치일 수 있다.
본 발명의 일실시예는, 상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 판단부를 더 포함하고, 상기 프로세서가, 상기 신뢰성 판단 결과, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 보다 낮을 경우, 상기 영상 변화량 파악 결과에 기초하여, 상기 물체의 위치를 추정하고, 상기 추정된 물체의 위치가 포함되도록 상기 제2 영상에 제1 관심 영역을 설정하는 설정부와, 상기 설정된 제1 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 제2 영상으로부터 상기 물체의 위치를 추적하는 추적부를 포함하는, 영상 내 물체 인식 장치일 수 있다.
본 발명의 일실시예는, 상기 수행부가, 상기 영상 변화량을 파악하기 위해 옵티컬 플로우를 이용하여 이동 벡터를 산출하는, 영상 내 물체 인식 장치일 수 있다.
본 발명의 일실시예는, 상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 판단부를 더 포함하고, 상기 수행부가, 상기 제1 영상 및 상기 제2 영상을 비교한 결과에 기초하여, 상기 제1 영상 및 상기 제2 영상 내 각 픽셀별 이동 벡터를 산출하고, 설정된 방향별 색상을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득한 후, 상기 각 픽셀별 이동 벡터에 대응하는 색상에 기초하여, 옵티컬 플로우 영상을 생성하고, 상기 판단부가, 상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역에서, 에러를 나타내는 색상을 가진 픽셀이 기준치 이상 존재하는 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단하는, 영상 내 물체 인식 장치일 수 있다.
본 발명의 일실시예는, 상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 판단부를 더 포함하고, 상기 수행부가, 상기 제1 영상 및 상기 제2 영상을 비교한 결과에 기초하여, 상기 제1 영상 및 상기 제2 영상 내 각 픽셀별 이동 벡터를 산출하고, 설정된 방향별 색상을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득한 후, 상기 각 픽셀별 이동 벡터에 대응하는 색상에 기초하여, 옵티컬 플로우 영상을 생성하고, 상기 판단부가, 상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역 내의 픽셀들에 결정된 색상의 종류 수가 설정치 이상일 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단하는, 영상 내 물체 인식 장치일 수 있다.
본 발명의 일실시예는, 상기 프로세서가, 상기 제1 영상으로부터 상기 물체가 검출되지 않았으면, 상기 영상 변화량 파악 결과에 기초하여, 새로운 물체에 대한 움직임 여부를 확인하고, 상기 확인 결과, 상기 새로운 물체에 대한 움직임이 존재하는 것으로 확인되면, 상기 새로운 물체의 위치가 포함되도록 상기 제2 영상에 제2 관심 영역을 설정하는 설정부와, 상기 설정된 제2 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 제2 영상으로부터 상기 새로운 물체를 검출하는 추적부를 포함하는, 영상 내 물체 인식 장치일 수 있다.
본 발명의 일실시예는, 상기 프로세서가, 상기 제2 영상 이후에 입력되는 복수의 영상에 대해, 상기 영상 변화량을 파악하여, 상기 물체의 위치를 추적하되, 설정된 기간 마다 상기 영상 변화량 파악 대신, 상기 딥 뉴럴 네트워크 알고리즘을 수행하고, 상기 설정된 기간은 상기 주기보다 길게 설정되는 영상 내 물체 인식 장치일 수 있다.
본 발명의 일실시예는, 상기 프로세서가, 상기 물체의 위치 추적 결과, 상기 물체가 '정지 상태'로 판단되는 경우, 상기 영상 변화량을 파악하는 주기를 설정된 시간 만큼 증가시키는, 영상 내 물체 인식 장치일 수 있다.
본 발명에 따르면, 입력된 영상에 대해 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 영상으로부터 물체가 검출되면, 이후 입력되는 영상에 대해, 딥 뉴럴 네트워크 알고리즘에 비해 연산량이 적은 옵티컬 플로우를 수행하여, 상기 물체의 위치를 추적 함으로써, 영상 수가 많아지더라도 비교적 적은 연산량으로 물체의 위치를 추적할 수 있다.
또한, 본 발명에 의해서는, 입력된 영상에 대해, 옵티컬 플로우를 수행하여 물체가 존재할 가능성이 있는 영역을 확인하고, 상기 확인된 영역에 대해 딥 뉴럴 네트워크 알고리즘을 수행 함으로써, 영상 전체 대신 한정된 영역에 딥 뉴럴 네트워크 알고리즘을 수행하여, 영상 전체에 상기 딥 뉴럴 네트워크 알고리즘을 수행하는 것 보다 연산량을 한층 감소시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 영상 내 물체 인식 장치의 구성을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 영상에 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 영상으로부터 물체를 검출하는 일례를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 영상 간의 영상 변화량을 파악하기 위해 옵티컬 플로우를 이용하는 일례를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 영상 내 일부 영역에 대해 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 영상으로부터 물체를 검출하는 일례를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 영상 내 일부 영역에 대해 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 영상으로부터 새로운 물체를 검출하는 일례를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 최초 영상으로부터 물체를 인식하는 방법을 나타내는 흐름도이다.
도 7은 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 최초 영상 이후에 입력되는 후속 영상으로부터 물체를 인식하는 방법을 나타내는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서 기술되는 차량은, 자동차, 오토바이를 포함하는 개념일 수 있다. 이하에서는, 차량에 대해 자동차를 위주로 기술한다.
본 명세서에서 기술되는 차량은, 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량 등을 모두 포함하는 개념일 수 있다.
도 1은 본 발명의 일실시예에 따른 영상 내 물체 인식 장치의 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 영상 내 물체 인식 장치(100)는 카메라 모듈(101), 수행부(102), 판단부(103) 및 프로세서(104)를 포함할 수 있다.
카메라 모듈(101)은 설정된 주기에 따라, 영상을 생성할 수 있다. 이때, 카메라 모듈(101)은 동일한 위치에서 동일한 각도로 설정된 주기 마다 물체를 촬영하여 영상을 생성하고, 생성된 영상을 차례대로 수행부(102)에 전달할 수 있다.
수행부(102)는 카메라 모듈(101)로부터 영상으로부터 물체(예컨대, 차량)를 검출하기 위한 과정을 수행할 수 있다.
구체적으로, 수행부(102)는 카메라 모듈(101)로부터 입력된 제1 영상에 대해, 영상 내 물체 인식을 위해 기 훈련된 딥 뉴럴 네트워크 알고리즘을 수행할 수 있다.
또한, 수행부(102)는 설정된 주기에 따라 상기 제1 영상 이후에 카메라 모듈(101)로부터 입력된, 제2 영상과 상기 제1 영상 사이의 영상 변화량을 파악할 수 있다. 이때, 수행부(102)는 상기 영상 변화량을 파악하기 위해 옵티컬 플로우를 이용하여 이동 벡터를 산출할 수 있다. 구체적으로, 수행부(102)는 상기 제1 영상 및 상기 제2 영상을 비교한 결과에 기초하여, 상기 제1 영상 및 상기 제2 영상 내 각 픽셀별 이동 벡터를 산출할 수 있다. 수행부(102)는 설정된 방향별 색상(예컨대, 3시 방향: 적색, 9시 방향: 청색)을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득하고, 설정된 거리별 색상의 세기(예컨대, 거리가 길수록 색상의 세기가 진함)를 고려하여 상기 이동 벡터의 크기에 대응하는 색상의 세기를 획득할 수 있다. 이후, 수행부(102)는 상기 각 픽셀별 이동 벡터에 대응하는 색상 및 색상의 세기에 기초하여, 옵티컬 플로우 영상을 생성할 수 있다.
판단부(103)는 제1 영상 및 제2 영상 사이의 상기 영상 변화량 파악 결과에 대한 신뢰성을 판단할 수 있다. 이때, 판단부(103)는 상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역에서, 에러를 나타내는 색상(예컨대, 검은색)을 가진 픽셀이 기준치 이상 존재하는 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단할 수 있다.
상기 신뢰성을 판단하는 다른 일례로서, 판단부(103)는 상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역 내의 픽셀들에 결정된 색상의 종류 수가 설정치(예컨대, 5개) 이상일 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단할 수 있다. 즉, 판단부(103)는 상기 옵티컬 플로우 영상 내 물체 영역에서 각 픽셀이 다양한 종류의 색상을 가지는 경우, 상이한 방향으로의 움직임 분포를 의미하여, 물체의 위치 추적에 상기 옵티컬 플로우 영상을 이용하는 것이 적합하지 않은 것으로 판단할 수 있다.
프로세서(104)는 상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과에 기초하여, 상기 제1 영상으로부터 물체를 검출할 수 있다. 이때, 프로세서(104)는 상기 물체 검출시, 상기 물체의 종류 및 위치 또한 검출할 수 있다.
또한, 프로세서(104)는 상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과, 상기 제1 영상으로부터 물체가 검출되었으면, 제1 영상 및 제2 영상 사이의 상기 영상 변화량에 기초하여, 상기 제2 영상에서 상기 검출된 물체의 위치를 추적할 수 있다. 이때, 프로세서(104)는 상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과로부터 상기 물체의 초기 위치를 획득하고, 상기 영상 변화량 파악 결과로부터 상기 물체의 이동 거리를 획득할 수 있다. 이후, 프로세서(104)는 상기 물체의 이동 거리 및 상기 물체의 초기 위치에 기초하여, 상기 물체의 위치를 추적할 수 있다.
프로세서(104)는 상기 물체의 이동 거리 및 카메라 모듈(101)에서 영상이 생성되는 주기(또는, 카메라 모듈로부터 영상이 입력되는 주기)를 이용하여, 상기 물체의 이동 속도를 산출할 수 있으며, 상기 물체의 이동 속도가 설정된 속도 이상일 경우, 경고 알림을 발생 함으로써, 상기 물체를 피할 수 있게 하여, 상기 물체로 인해 발생할 수 있는 사고를 미연에 방지할 수 있게 한다.
한편, 프로세서(104)는 판단부(103)에서의 상기 영상 변화량 파악 결과에 대한 신뢰성 판단 결과에 따라, 상기 물체의 위치 추적시, 상기 제1 영상 및 제2 영상 사이의 영상 변화량을 이용하거나, 또는 제2 영상의 일부 영역에 상기 딥 뉴럴 네트워크 알고리즘을 이용할 수 있다. 즉, 프로세서(104)는 상기 신뢰성 판단 결과, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 이상일 경우, 상기 영상 변화량이 물체의 위치를 추적하기에 충분한 것으로 인지하여, 상기 제1 영상 및 제2 영상 사이의 영상 변화량에 기초하여, 상기 검출된 물체의 위치를 추적할 수 있다.
반면, 프로세서(104)는 상기 신뢰성 판단 결과, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 보다 낮을 경우, 상기 영상 변화량이 물체의 위치를 추적하기에 충분하지 않은 것으로 인지하여, 제2 영상의 일부 영역에 상기 딥 뉴럴 네트워크 알고리즘을 사용하여, 상기 검출된 물체의 위치를 추적할 수 있다.
이러한 프로세서(104)는 설정부(105) 및 추적부(106)를 포함할 수 있다.
설정부(105)는 판단부(103)에서의 상기 영상 변화량 파악 결과에 대한 신뢰성 판단 결과, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 보다 낮을 경우, 상기 영상 변화량 파악 결과에 기초하여, 상기 물체의 위치를 추정하고, 상기 추정된 물체의 위치가 포함되도록 상기 제2 영상에 제1 관심 영역을 설정할 수 있다.
또한, 설정부(105)는 상기 제1 영상으로부터 상기 물체가 검출되지 않았으면, 상기 영상 변화량 파악 결과에 기초하여, 새로운 물체에 대한 움직임 여부를 확인하고, 상기 확인 결과, 상기 새로운 물체에 대한 움직임이 존재하는 것으로 확인되면, 상기 새로운 물체의 위치가 포함되도록 상기 제2 영상에 제2 관심 영역을 설정할 수 있다.
추적부(106)는 설정부(105)에 의해, 상기 제2 영상에서 제1 관심 영역이 설정되면, 상기 설정된 제1 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하고, 상기 수행 결과에 기초하여 상기 제2 영상으로부터 상기 물체의 위치를 추적할 수 있다.
또한, 추적부(106)는 설정부(105)에 의해, 상기 제2 영상에서 제2 관심 영역이 설정되면, 상기 설정된 제2 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하고, 상기 수행 결과에 기초하여 상기 제2 영상으로부터 상기 새로운 물체를 검출할 수 있다. 이때, 추적부(106)는 새로운 물체를 검출시, 상기 새로운 물체의 종류 및 위치 또한 검출할 수 있다.
또한, 프로세서(104)는 수행부(102)를 통해, 상기 제2 영상 이후에 입력되는 복수의 영상에 대해, 영상 변화량(복수의 영상 사이의 영상 변화량, 또는 제1 영상과 복수의 각 영상 사이의 영상 변화량)을 파악하여, 상기 물체의 위치를 추적하되, 설정된 기간 마다 상기 영상 변화량 파악 대신, 상기 딥 뉴럴 네트워크 알고리즘을 수행 함으로써, 연산량을 감소시키면서도 물체의 위치를 정확하게 추적할 수 있게 한다. 여기서, 상기 설정된 기간은 영상이 입력되는 주기보다 길게 설정될 수 있다.
예컨대, 프로세서(104)는 입력된 영상에 대해, 30초 마다 상기 딥 뉴럴 네트워크 알고리즘을 수행할 수 있다. 구체적으로, 프로세서(104)는 제1 영상에 대해 딥 뉴럴 네트워크 알고리즘을 수행하고, 제2 영상 내지 제10 영상에 대해 영상 변화량 파악을 위해 옵티컬 플로우를 수행 함에 따라 30초가 경과하면, 제11 영상에 대해 딥 뉴럴 네트워크 알고리즘을 수행할 수 있다. 이때, 프로세서(104)는 제2 영상이 입력되면, 이전 영상인 제1 영상 및 제2 영상 사이의 영상 변화량 파악을 위해 옵티컬 플로우를 수행하여, 제2 영상으로부터 물체의 위치를 추적하고, 제3 영상이 입력되면, 이전 영상인 제2 영상 및 제3 영상 사이(또는, 딥 뉴럴 네트워크 알고리즘을 수행한 영상인 제1 영상 및 제3 영상 사이)의 영상 변화량 파악을 위해 옵티컬 플로우를 수행하여, 제3 영상으로부터 물체의 위치를 추적할 수 있다. 반면, 프로세서(104)는 제11 영상이 입력되면, 제11 영상에 대해 딥 뉴럴 네트워크 알고리즘을 수행하여, 제11 영상으로부터 물체의 위치를 추적할 수 있다.
또한, 프로세서(104)는 상기 물체의 위치 추적 결과, 상기 물체가 '정지 상태'로 판단되는 경우, 상기 영상 변화량을 파악하는 주기(또는, 카메라 모듈(101)에서 영상이 생성되는 주기)를 설정된 시간 만큼 증가시켜, 처리 대상이 되는 영상의 수를 줄임으로써, 연산량을 감소시킬 수 있다. 이때, 프로세서(104)는 상기 옵티컬 플로우 영상에서 정지를 나타내는 색상(예컨대, 흰색)을 가진 픽셀이 기준치 이상 존재하는 경우, 상기 물체를 '정지 상태'로 판단할 수 있다.
본 발명의 일실시예에 따른 영상 내 물체 인식 장치(100)는 영상 내 물체 인식을 위해 기 훈련된 딥 뉴럴 네트워크 알고리즘을 이용하여, 먼저 입력된 영상에서 물체가 검출되면, 상기 영상 이후에 입력되는 영상에 대해, 딥 뉴럴 네트워크 알고리즘에 비해 연산량이 적은 옵티컬 플로우를 이용하여 물체의 위치를 추적 함으로써, 비교적 적은 연산량으로 물체의 위치를 정확하게 추적할 수 있다.
또한, 본 발명의 일실시예에 따른 영상 내 물체 인식 장치(100)는 카메라 모듈(101)를 포함할 수 있으나, 이에 한정되지 않고 외부에 위치하는 카메라 모듈로부터 주기적으로 영상을 입력받고, 상기 입력된 영상으로부터 물체의 위치를 추적할 수 있다.
본 발명의 일실시예에 따른 영상 내 물체 인식 장치(100)는 예컨대, 자율주행 차량에 적용될 수 있으며, 주행 시야를 촬영한 영상으로부터 신규 차량의 검출 및 위치 추적을 효과적으로 수행할 수 있다.
도 2는 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 영상에 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 영상으로부터 물체를 검출하는 일례를 도시한 도면이다.
도 2를 참조하면, 영상 내 물체 인식 장치는 카메라 모듈로부터 제1 영상(201)이 입력되면, 입력된 제1 영상(201)에 대해, 영상 내 물체 인식을 위해 기 훈련된 딥 뉴럴 네트워크 알고리즘(202)을 수행하여, 제1 영상(201)으로부터 물체로서, 차량(203)을 검출할 수 있다. 이때, 영상 내 물체 인식 장치는 상기 물체의 종류(예컨대, 차량) 및 위치 또한 획득할 수 있다.
여기서, 상기 딥 뉴럴 네트워크 알고리즘(202)은 입력값으로서 제1 영상(201)이 입력되면, 출력값으로서 제1 영상(201) 내 차량(203)을 출력할 수 있다.
한편, 입력층과 출력층 사이에 복수의 은닉층을 포함하는 딥 뉴럴 네트워크 알고리즘은, 기계 학습 기술의 한 종류인 딥러닝을 구현하는 대표적인 인공 신경망일 수 있다.
한편, 용어 '딥러닝'은 용어 '심층 학습'과 혼용되어 사용될 수 있다.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 인공 신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다.
훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화 할 수 있다.
한편, 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(a trained model)이라 명칭 할 수 있다.
다음은 인공 신경망의 학습 방식에 대하여 설명한다.
인공 신경망의 학습 방식은 크게, 지도 학습, 비 지도 학습, 준 지도 학습(Semi-Supervised Learning), 강화 학습(Reinforcement Learning)으로 분류될 수 있다.
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법이다.
그리고 이렇게 유추되는 함수 중, 연속 적인 값을 출력하는 것을 회귀분석(Regression)이라 하고, 입력 벡터의 클래스(class)를 예측하여 출력하는 것을 분류(Classification)라고 할 수 있다.
지도 학습에서는, 훈련 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킨다.
여기서 레이블이란, 훈련 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다.
본 명세서에서는 훈련 데이터가 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과값)을 레이블 또는 레이블링 데이터(labeling data)이라 명칭 한다.
또한 본 명세서에서는, 인공 신경망의 학습을 위하여 훈련 데이터에 레이블을 설정하는 것을, 훈련 데이터에 레이블링 데이터를 레이블링(labeling) 한다고 명칭 한다.
이 경우 훈련 데이터와 훈련 데이터에 대응하는 레이블)은 하나의 트레이닝 셋(training set)을 구성하고, 인공 신경망에는 트레이닝 셋의 형태로 입력될 수 있다.
한편, 훈련 데이터는 복수의 특징(feature)을 나타내고, 훈련 데이터에 레이블이 레이블링 된다는 것은 훈련 데이터가 나타내는 특징에 레이블이 달린다는 것을 의미할 수 있다. 이 경우 훈련 데이터는 입력 객체의 특징을 벡터 형태로 나타낼 수 있다.
인공 신경망은 훈련 데이터와 레이블링 데이터를 이용하여, 훈련 데이터와 레이블링 데이터의 연관 관계에 대한 함수를 유추할 수 있다. 그리고, 인공 신경망에서 유추된 함수에 대한 평가를 통해 인공 신경망의 파라미터가 결정(최적화)될 수 있다.
비 지도 학습은 기계 학습의 일종으로, 훈련 데이터에 대한 레이블이 주어지지 않는다.
구체적으로, 비 지도 학습은, 훈련 데이터 및 훈련 데이터에 대응하는 레이블의 연관 관계 보다는, 훈련 데이터 자체에서 패턴을 찾아 분류하도록 인공 신경망을 학습시키는 학습 방법일 수 있다.
비 지도 학습의 예로는, 군집화 또는 독립 성분 분석(Independent Component Analysis)을 들 수 있다.
본 명세서에서 용어 '군집화'는 용어 '클러스터링'과 혼용되어 사용될 수 있다.
비지도 학습을 이용하는 인공 신경망의 일례로 생성적 적대 신경망(GAN: Generative Adversarial Network), 오토 인코더(AE: Autoencoder)를 들 수 있다.
생성적 적대 신경망이란, 생성기(generator)와 판별기(discriminator), 두 개의 서로 다른 인공지능이 경쟁하며 성능을 개선하는 머신 러닝 방법이다.
이 경우 생성기는 새로운 데이터를 창조하는 모형으로, 원본 데이터를 기반으로 새로운 데이터를 생성할 수 있다.
또한 판별기는 데이터의 패턴을 인식하는 모형으로, 입력된 데이터가 원본 데이터인지 또는 생성기에서 생성한 새로운 데이터인지 여부를 감별하는 역할을 수행할 수 있다.
그리고, 생성기는 판별기를 속이지 못한 데이터를 입력 받아 학습하며, 판별기는 생성기로부터 속은 데이터를 입력 받아 학습할 수 있다. 이에 따라 생성기는 판별기를 최대한 잘 속이도록 진화할 수 있고, 판별기는 원본 데이터와 생성기에 의해 생성된 데이터를 잘 구분하도록 진화할 수 있다.
오토 인코더는 입력 자체를 출력으로 재현하는 것을 목표로 하는 신경망이다.
오토 인코더는 입력층, 적어도 하나의 은닉층 및 출력층을 포함한다.
이 경우 은닉 계층의 노드 수가 입력 계층의 노드 수보다 적으므로 데이터의 차원이 줄어들게 되며, 이에 따라 압축 또는 인코딩이 수행되게 된다.
또한, 은닉 계층에서 출력한 데이터는 출력 계층으로 들어간다. 이 경우 출력 계층의 노드 수는 은닉 계층의 노드 수보다 많으므로, 데이터의 차원이 늘어나게 되며, 이에 따라 압축 해제 또는 디코딩이 수행되게 된다.
한편, 오토 인코더는 학습을 통해 뉴런의 연결 강도를 조절함으로써 입력 데이터가 은닉층 데이터로 표현된다. 은닉층에서는 입력층보다 적은 수의 뉴런으로 정보를 표현하는데 입력 데이터를 출력으로 재현할 수 있다는 것은, 은닉층이 입력 데이터로부터 숨은 패턴을 발견하여 표현했다는 것을 의미할 수 있다.
준 지도 학습은 기계 학습의 일종으로, 레이블이 주어진 훈련 데이터와 레이블이 주어지지 않은 훈련 데이터를 모두 사용하는 학습 방법을 의미할 수 있다.
준 지도 학습의 기법 중 하나로, 레이블이 주어지지 않은 훈련 데이터의 레이블을 추론한 후 추론된 라벨을 이용하여 학습을 수행하는 기법이 있으며, 이러한 기법은 레이블링에 소요되는 비용이 큰 경우에 유용하게 사용될 수 있다.
강화 학습은, 에이전트(Agent)가 매 순간 어떤 행동을 해야 좋을지 판단할 수 있는 환경이 주어진다면, 데이터 없이 경험으로 가장 좋을 길을 찾을 수 있다는 이론이다.
강화 학습은 주로 마르코프 결정 과정(MDP: Markov Decision Process)에 의하여 수행될 수 있다.
마르코프 결정 과정을 설명하면, 첫 번째로 에이전트가 다음 행동을 하기 위해 필요한 정보들이 구성된 환경이 주어지며, 두 번째로 그 환경에서 에이전트가 어떻게 행동할지 정의하고, 세 번째로 에이전트가 무엇을 잘하면 보상(reward)를 주고 무엇을 못하면 벌점(penalty)을 줄지 정의하며, 네 번째로 미래의 보상이 최고점에 이를 때까지 반복 경험하여 최적의 정책(policy)을 도출하게 된다.
인공 신경망은 모델의 구성, 활성 함수(Activation Function), 손실 함수(Loss Function) 또는 비용 함수(Cost Function), 학습 알고리즘, 최적화 알고리즘 등에 의해 그 구조가 특정되며, 학습 전에 하이퍼파라미터(Hyperparameter)가 미리 설정되고, 이후에 학습을 통해 모델 파라미터(Model Parameter)가 설정되어 내용이 특정될 수 있다.
예컨대, 인공 신경망의 구조를 결정하는 요소에는 은닉층의 개수, 각 은닉층에 포함된 은닉 노드의 개수, 입력 특징 벡터(Input Feature Vector), 대상 특징 벡터(Target Feature Vector) 등이 포함될 수 있다.
하이퍼파라미터는 모델 파라미터의 초기값 등과 같이 학습을 위하여 초기에 설정하여야 하는 여러 파라미터들을 포함한다. 그리고, 모델 파라미터는 학습을 통하여 결정하고자 하는 여러 파라미터들을 포함한다.
예컨대, 하이퍼파라미터에는 노드 간 가중치 초기값, 노드 간 편향 초기값, 미니 배치(Mini-batch) 크기, 학습 반복 횟수, 학습률(Learning Rate) 등이 포함될 수 있다. 그리고, 모델 파라미터에는 노드 간 가중치, 노드 간 편향 등이 포함될 수 있다.
손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표(기준)로 이용될 수 있다. 인공 신경망에서 학습은 손실 함수를 줄이기 위하여 모델 파라미터들을 조작하는 과정을 의미하며, 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다.
손실 함수는 주로 평균 제곱 오차(MSE: Mean Squared Error) 또는 교차 엔트로피 오차(CEE, Cross Entropy Error)를 사용할 수 있으며, 본 발명이 이에 한정되지는 않는다.
교차 엔트로피 오차는 정답 레이블이 원 핫 인코딩(one-hot encoding)된 경우에 사용될 수 있다. 원 핫 인코딩은 정답에 해당하는 뉴런에 대하여만 정답 레이블 값을 1로, 정답이 아닌 뉴런은 정답 레이블 값이 0으로 설정하는 인코딩 방법이다.
머신 러닝 또는 딥러닝에서는 손실 함수를 최소화하기 위하여 학습 최적화 알고리즘을 이용할 수 있으며, 학습 최적화 알고리즘에는 경사 하강법(GD: Gradient Descent), 확률적 경사 하강법(SGD: Stochastic Gradient Descent), 모멘텀(Momentum), NAG(Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam 등이 있다.
경사 하강법은 현재 상태에서 손실 함수의 기울기를 고려하여 손실 함수값을 줄이는 방향으로 모델 파라미터를 조정하는 기법이다.
모델 파라미터를 조정하는 방향은 스텝(step) 방향, 조정하는 크기는 스텝 사이즈(size)라고 칭한다.
이때, 스텝 사이즈는 학습률을 의미할 수 있다.
경사 하강법은 손실 함수를 각 모델 파라미터들로 편미분하여 기울기를 획득하고, 모델 파라미터들을 획득한 기울기 방향으로 학습률만큼 변경하여 갱신할 수 있다.
확률적 경사 하강법은 학습 데이터를 미니 배치로 나누고, 각 미니 배치마다 경사 하강법을 수행하여 경사 하강의 빈도를 높인 기법이다.
Adagrad, AdaDelta 및 RMSProp는 SGD에서 스텝 사이즈를 조절하여 최적화 정확도를 높이는 기법이다. SGD에서 모멘텀 및 NAG는 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다. Adam은 모멘텀과 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다. Nadam은 NAG와 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다.
인공 신경망의 학습 속도와 정확도는 인공 신경망의 구조와 학습 최적화 알고리즘의 종류뿐만 아니라, 하이퍼파라미터에 크게 좌우되는 특징이 있다. 따라서, 좋은 학습 모델을 획득하기 위하여는 적당한 인공 신경망의 구조와 학습 알고리즘을 결정하는 것뿐만 아니라, 적당한 하이퍼파라미터를 설정하는 것이 중요하다.
통상적으로 하이퍼파라미터는 실험적으로 다양한 값으로 설정해가며 인공 신경망을 학습시켜보고, 학습 결과 안정적인 학습 속도와 정확도를 제공하는 최적의 값으로 설정한다.
도 3은 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 영상 간의 영상 변화량을 파악하기 위해 옵티컬 플로우를 이용하는 일례를 도시한 도면이다.
도 3을 참조하면, 영상 내 물체 인식 장치는 딥 뉴럴 네트워크 알고리즘을 이용하여, 제1 영상(301)으로부터 차량(302)을 검출한 후, 설정된 주기에 따라 카메라 모듈로부터 제2 영상(303)이 입력되면, 제1 영상(301) 및 제2 영상(303) 사이의 영상 변화량을 파악하고, 파악된 상기 영상 변화량에 기초하여, 제1 영상(301)으로부터 검출된 차량(302)의 위치를, 제2 영상(303)에서 추적할 수 있다.
이때, 영상 내 물체 인식 장치는 상기 영상 변화량을 파악하기 위해 옵티컬 플로우를 이용하여 이동 벡터를 산출할 수 있다. 구체적으로, 영상 내 물체 인식 장치는 제1 영상(301) 및 제2 영상(302)을 비교한 결과에 기초하여, 제1 영상(301) 및 상기 제2 영상(303) 내 각 픽셀별 이동 벡터를 산출할 수 있다. 영상 내 물체 인식 장치는 설정된 방향별 색상(예컨대, 3시 방향: 적색, 9시 방향: 청색)을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득하고, 설정된 거리별 색상의 세기(예컨대, 거리가 길수록 색상의 세기가 진함)를 고려하여 상기 이동 벡터의 크기에 대응하는 색상의 세기를 획득할 수 있다. 이후, 영상 내 물체 인식 장치는 상기 각 픽셀별 이동 벡터에 대응하는 색상 및 색상의 세기에 기초하여, 옵티컬 플로우 영상(304)을 생성하고, 옵티컬 플로우 영상(304)에서 각 픽셀이 가지는 색상의 종류 및 색상의 세기에 기초하여, 차량(302)의 위치를 추적할 수 있다.
상기 옵티컬 플로우 영상 생성시, 영상 내 물체 인식 장치는 제1 영상(301) 및 제2 영상(303) 간에 이동하지 않은 픽셀에 대해 예컨대, 정지를 나타내는 색상인'흰색'으로 생성할 수 있으며, 이동 벡터가 산출되지 않은 픽셀에 대해 예컨대, 에러를 나타내는 색상인'검은색'으로 생성할 수 있다.
도 4는 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 영상 내 일부 영역에 대해 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 영상으로부터 물체를 검출하는 일례를 도시한 도면이다.
도 4를 참조하면, 영상 내 물체 인식 장치는 딥 뉴럴 네트워크 알고리즘을 이용하여, 제1 영상(도시하지 않음)으로부터 차량을 검출한 후, 설정된 주기에 따라, 카메라 모듈로부터 제2 영상(401)이 입력되면, 제1 영상 및 제2 영상(401) 사이의 영상 변화량을 파악하고, 파악된 영상 변화량에 기초하여, 제1 영상으로부터 검출된 차량(402)의 위치를 추적할 수 있다.
이때, 영상 내 물체 인식 장치는 딥 뉴럴 네트워크 알고리즘을 이용하여, 제1 영상으로부터 차량(402)이 검출되었으나, 제1 영상 및 제2 영상(401) 사이의 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 보다 낮을 경우, 차량(402)이 존재할 가능성이 있는 제2 영상(401) 내 일부 영역에 대해, 딥 뉴럴 네트워크 알고리즘을 수행할 수 있다.
구체적으로, 영상 내 물체 인식 장치는 제1 영상 및 제2 영상(401) 사이의 영상 변화량 파악 결과에 기초하여, 차량의 위치를 추정할 수 있다. 이때, 영상 내 물체 인식 장치는 상기 영상 변화량을 파악하기 위해 옵티컬 플로우를 이용하여 제1 영상 및 제2 영상(401) 내 각 픽셀별 이동 벡터를 산출하고, 산출된 이동 벡터의 방향 및 크기에 기초하여, 옵티컬 플로우 영상(403)을 생성할 수 있다. 이후, 영상 내 물체 인식 장치는 옵티컬 플로우 영상(403)에서 차량의 위치(404)를 추정하고, 상기 추정된 차량의 위치(404)가 포함되도록 제2 영상(401)에 제1 관심 영역(405)을 설정할 수 있다. 영상 내 물체 인식 장치는 제1 관심 영역(405)에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 제2 영상(401)으로부터 차량(402)의 위치를 추적할 수 있다.
영상 내 물체 인식 장치는 제2 영상(401) 전체 대신 물체가 존재할 가능성이 있는 한정된 영역 즉, 제1 관심 영역(405)에 상기 딥 뉴럴 네트워크 알고리즘을 수행 함으로써, 제2 영상(401) 전체에 상기 딥 뉴럴 네트워크 알고리즘을 수행하는 것에 비해 연산량을 감소시킬 수 있다.
도 5는 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 영상 내 일부 영역에 대해 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 영상으로부터 새로운 물체를 검출하는 일례를 도시한 도면이다.
도 5를 참조하면, 영상 내 물체 인식 장치는 제1 영상(501) 수신 후, 카메라 모듈로부터 제2 영상(502)이 입력되면, 제1 영상(501) 및 제2 영상(502) 사이의 영상 변화량을 파악하고, 제1 영상(501)으로부터 차량(도시하지 않음)이 검출되었으면, 상기 파악된 영상 변화량에 기초하여, 제1 영상(501)으로부터 검출된 차량의 위치를 추적할 수 있다. 이때, 영상 내 물체 인식 장치는 상기 영상 변화량을 파악하기 위해 옵티컬 플로우를 이용하여 제1 영상(501) 및 제2 영상(502) 내 각 픽셀별 이동 벡터를 산출하고, 산출된 이동 벡터의 방향 및 크기에 기초하여, 옵티컬 플로우 영상(503)을 생성할 수 있다.
한편, 영상 내 물체 인식 장치는 제1 영상(501)으로부터 차량이 검출되지 않았으면, 제1 영상(501) 및 제2 영상(502) 사이의 상기 영상 변화량에 기초하여, 새로운 물체에 대한 움직임 여부를 확인할 수 있다.
영상 내 물체 인식 장치는 옵티컬 플로우 영상(503)에 기초하여, 새로운 물체로서, 신규 차량에 대한 움직임이 존재하는 것으로 확인되면, 옵티컬 플로우 영상(503)로부터 신규 차량의 위치(504)를 추정하고, 추정된 신규 차량의 위치(504)가 포함되도록 제2 영상(502)에 제2 관심 영역(505)을 설정할 수 있다.
영상 내 물체 인식 장치는 제2 관심 영역(505)에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 제2 영상(502)으로부터 신규 차량을 검출할 수 있다. 이때, 영상 내 물체 인식 장치는 신규 차량 검출시, 신규 차량의 위치를 검출할 수 있다.
이하, 도 6 및 도 7을 참조하여, 본 발명의 일실시예에 따른 영상 내 물체 인식 방법에 대해 설명한다. 이때, 영상 내 물체 인식 방법을 수행하는 영상 내 물체 인식 장치는 설정된 주기 마다, 외부에 위치하는 카메라 모듈에 의해 생성되는 영상을 입력받거나, 또는 내부에 위치하는 카메라 모듈을 이용하여 영상을 생성할 수 있다.
도 6은 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 최초 영상으로부터 물체를 인식하는 방법을 나타내는 흐름도이다.
도 6을 참조하면, 단계(601)에서, 영상 내 물체 인식 장치는 카메라 모듈로부터 입력된 최초 영상으로서, 제1 영상을 입력받을 수 있다.
단계(602)에서, 영상 내 물체 인식 장치는 상기 제1 영상에 대해, 영상 물체 인식을 위해 기 훈련된 딥 뉴럴 네트워크 알고리즘 수행한다.
단계(603)에서, 영상 내 물체 인식 장치는 상기 딥 뉴럴 네트워크 알고리즘 수행 결과, 제1 영상으로부터 물체를 검출할 수 있다. 이때, 영상 내 물체 인식 장치는 상기 물체 검출시, 상기 물체의 종류 및 위치 또한 검출할 수 있다.
도 7은 본 발명의 일실시예에 따른 영상 내 물체 인식 장치에서 최초 영상 이후에 입력되는 후속 영상으로부터 물체를 인식하는 방법을 나타내는 흐름도이다.
도 7을 참조하면, 단계(701)에서, 영상 내 물체 인식 장치는 카메라 모듈에 의해, 최초 영상 이후에 생성되는 후속 영상으로서, 제2 영상을 입력받을 수 있다.
단계(702)에서, 영상 내 물체 인식 장치는 최초 영상으로서 입력된 제1 영상과 후속 영상으로서 입력된 제2 영상 사이의 영상 변화량을 파악할 수 있다. 이때, 영상 내 물체 인식 장치는 상기 영상 변화량을 파악하기 위해 옵티컬 플로우를 이용하여 이동 벡터를 산출할 수 있다. 구체적으로, 영상 내 물체 인식 장치는 상기 제1 영상 및 상기 제2 영상을 비교한 결과에 기초하여, 상기 제1 영상 및 상기 제2 영상 내 각 픽셀별 이동 벡터를 산출할 수 있다.
이후, 영상 내 물체 인식 장치는 설정된 방향별 색상(예컨대, 3시 방향: 적색, 9시 방향: 청색)을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득하고, 설정된 거리별 색상의 세기(예컨대, 거리가 길수록 색상의 세기가 진함)를 고려하여 상기 이동 벡터의 크기에 대응하는 색상의 세기를 획득할 수 있다. 영상 내 물체 인식 장치는 상기 각 픽셀별 이동 벡터에 대응하는 색상 및 색상의 세기에 기초하여, 옵티컬 플로우 영상을 생성할 수 있다.
단계(703)에서, 영상 내 물체 인식 장치는 상기 제1 영상에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과, 상기 제1 영상으로부터 물체가 검출되었으면, 상기 영상 변화량 파악 결과에 대한 신뢰성을 판단 함으로써, 상기 영상 변화량이 물체의 위치를 추적하기에 충분한지를 확인할 수 있다.
이때, 영상 내 물체 인식 장치는 상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역에서, 에러를 나타내는 색상(예컨대, 검은색)을 가진 픽셀이 기준치 이상 존재하는 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단할 수 있다.
다른 일례로서, 영상 내 물체 인식 장치는 상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역 내의 픽셀들에 결정된 색상의 종류 수가 설정치(예컨대, 5개) 이상일 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단할 수 있다. 즉, 영상 내 물체 인식 장치는 상기 옵티컬 플로우 영상 내 물체 영역에서 각 픽셀이 다양한 종류의 색상을 가지는 경우, 상이한 방향으로의 움직임 분포를 의미하여, 물체의 위치 추적에 상기 옵티컬 플로우 영상을 이용하는 것이 적합하지 않은 것으로 판단할 수 있다.
단계(704)에서, 영상 내 물체 인식 장치는 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 이상일 경우, 상기 영상 변화량이 물체의 위치를 추적하기에 충분한 것으로 인지하여, 단계(705)에서, 제1 영상 및 제2 영상 사이의 상기 영상 변화량에 기초하여, 상기 검출된 물체의 위치를 추적할 수 있다. 이때, 영상 내 물체 인식 장치는 상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과로부터 상기 물체의 초기 위치를 획득하고, 상기 영상 변화량 파악 결과로부터 상기 물체의 이동 거리를 획득할 수 있다. 이후, 영상 내 물체 인식 장치는 상기 물체의 이동 거리 및 상기 물체의 초기 위치에 기초하여, 상기 물체의 위치를 추적할 수 있다.
영상 내 물체 인식 장치는 상기 물체의 이동 거리 및 상기 주기를 이용하여, 상기 물체의 이동 속도를 산출할 수 있으며, 상기 물체의 이동 속도가 설정된 속도 이상일 경우, 경고 알림을 발생 함으로써, 상기 물체를 피할 수 있게 하여, 상기 물체로 인해 발생할 수 있는 사고를 미연에 방지할 수 있게 한다.
상기 단계(704)에서, 영상 내 물체 인식 장치는 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 보다 낮을 경우, 상기 영상 변화량이 물체의 위치를 추적하기에 충분하지 않은 것으로 인지하여, 단계(706)에서, 물체가 존재할 가능성이 있는 제2 영상 내 일부 영역에 대해, 딥 뉴럴 네트워크 알고리즘을 수행할 수 있다. 구체적으로, 영상 내 물체 인식 장치는 제1 영상 및 제2 영상 사이의 상기 영상 변화량 파악 결과에 기초하여, 상기 물체의 위치를 추정할 수 있다. 영상 내 물체 인식 장치는 상기 추정된 물체의 위치가 포함되도록 상기 제2 영상에 제1 관심 영역을 설정한 후, 제1 관심 영역에 대해 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 제2 영상으로부터 상기 물체의 위치를 추적할 수 있다.
상기 단계(703)에서, 영상 내 물체 인식 장치는 상기 제1 영상에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과, 상기 제1 영상으로부터 물체가 검출되지 않았으면, 제1 영상 및 제2 영상 사이의 상기 영상 변화량에 기초하여, 새로운 물체에 대한 움직임 여부를 확인할 수 있다.
단계(707)에서, 영상 내 물체 인식 장치는 상기 새로운 물체에 대한 움직임이 존재하는 것으로 확인되면, 단계(708)에서, 새로운 물체가 존재할 가능성이 있는 제2 영상 내 일부 영역에 대해, 딥 뉴럴 네트워크 알고리즘을 수행할 수 있다. 구체적으로, 영상 내 물체 인식 장치는 제1 영상 및 제2 영상 사이의 상기 영상 변화량 파악 결과에 기초하여, 상기 새로운 물체의 위치를 추정하고, 상기 추정된 새로운 물체의 위치가 포함되도록 상기 제2 영상에 제2 관심 영역을 설정할 수 있다. 영상 내 물체 인식 장치는 상기 제2 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 제2 영상으로부터 상기 새로운 물체를 검출할 수 있다.
한편, 영상 내 물체 인식 장치는 상기 물체의 위치 추적 결과, 상기 물체가 '정지 상태'로 판단되는 경우, 상기 영상 변화량을 파악하는 주기(또는, 카메라 모듈에서 영상이 생성되는 주기)를 설정된 시간 만큼 증가시켜, 처리 대상이 되는 영상의 수를 줄임으로써, 연산량을 감소시킬 수 있다.
단계(709)에서, 영상 내 물체 인식 장치는 제2 영상 이후에 다음 영상을 입력받을 수 있으며, 상기 입력된 다음 영상에 대해, 702 내지 708 단계를 반복적으로 수행할 수 있다.
이때, 영상 내 물체 인식 장치는 상기 제2 영상 이후 입력되는 복수의 영상에 대해, 영상 변화량을 파악하는 단계를 수행하여, 상기 물체의 위치를 추적하되, 설정된 기간(예컨대, 30초) 마다 영상 변화량을 파악하는 단계 대신, 상기 딥 뉴럴 네트워크 알고리즘을 수행 함으로써, 연산량을 감소시키면서도 물체의 위치를 정확하게 추적할 수 있게 한다. 여기서, 상기 설정된 기간은 영상이 입력되는 주기보다 길게 설정될 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 프로세서 또는 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100: 영상 내 물체 인식 장치
101: 카메라 모듈
102: 수행부
103: 판단부
104: 프로세서
105: 설정부
106: 추적부

Claims (18)

  1. 영상 내 물체를 인식하기 위한 방법으로서,
    카메라 모듈로부터 입력된 제1 영상에 대해, 영상 내 물체 인식을 위해 기 훈련된 딥 뉴럴 네트워크(DNN: Deep Neural Network) 알고리즘을 수행하는 단계;
    설정된 주기에 따라 상기 제1 영상 이후에 상기 카메라 모듈로부터 입력된, 제2 영상과 상기 제1 영상 사이의 영상 변화량을 파악하는 단계; 및
    상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과 상기 제1 영상으로부터 물체(object)가 검출되었으면, 파악된 상기 영상 변화량에 기초하여, 상기 제2 영상에서 상기 검출된 물체의 위치를 추적하는 단계를 포함하는,
    영상 내 물체 인식 방법.
  2. 제1항에 있어서,
    상기 영상 변화량을 파악하는 단계 이후에,
    상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 단계를 더 포함하고,
    상기 검출된 물체의 위치를 추적하는 단계는,
    상기 신뢰성 판단 결과, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 보다 낮을 경우,
    상기 영상 변화량 파악 결과에 기초하여, 상기 물체의 위치를 추정하고, 상기 추정된 물체의 위치가 포함되도록 상기 제2 영상에 제1 관심 영역을 설정하는 단계; 및
    상기 설정된 제1 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 제2 영상으로부터 상기 물체의 위치를 추적하는 단계를 포함하는,
    영상 내 물체 인식 방법.
  3. 제 1 항에 있어서,
    상기 영상 변화량을 파악하는 단계는,
    상기 영상 변화량을 파악하기 위해 옵티컬 플로우(optical flow)를 이용하여 이동 벡터를 산출하는 단계를 포함하는,
    영상 내 물체 인식 방법.
  4. 제3항에 있어서,
    상기 영상 변화량을 파악하는 단계 이후에,
    상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 단계를 더 포함하고,
    상기 옵티컬 플로우를 이용하여 이동 벡터를 산출하는 단계는,
    상기 제1 영상 및 상기 제2 영상을 비교한 결과에 기초하여, 상기 제1 영상 및 상기 제2 영상 내 각 픽셀별 이동 벡터를 산출하고, 설정된 방향별 색상을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득하는 단계; 및
    상기 각 픽셀별 이동 벡터에 대응하는 색상에 기초하여, 옵티컬 플로우 영상을 생성하는 단계를 포함하고,
    상기 신뢰성을 판단하는 단계는,
    상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역에서, 에러를 나타내는 색상을 가진 픽셀이 기준치 이상 존재하는 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단하는 단계를 포함하는,
    영상 내 물체 인식 방법.
  5. 제3항에 있어서,
    상기 영상 변화량을 파악하는 단계 이후에,
    상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 단계를 더 포함하고,
    상기 옵티컬 플로우를 이용하여 이동 벡터를 산출하는 단계는,
    상기 제1 영상 및 상기 제2 영상을 비교한 결과에 기초하여, 상기 제1 영상 및 상기 제2 영상 내 각 픽셀별 이동 벡터를 산출하고, 설정된 방향별 색상을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득하는 단계; 및
    상기 각 픽셀별 이동 벡터에 대응하는 색상에 기초하여, 옵티컬 플로우 영상을 생성하는 단계를 포함하고,
    상기 신뢰성을 판단하는 단계는,
    상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역 내의 픽셀들에 결정된 색상의 종류 수가 설정치 이상일 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단하는 단계를 포함하는,
    영상 내 물체 인식 방법.
  6. 제1항에 있어서,
    상기 영상 변화량을 파악하는 단계 이후에,
    상기 제1 영상으로부터 상기 물체가 검출되지 않았으면, 상기 영상 변화량 파악 결과에 기초하여, 새로운 물체에 대한 움직임 여부를 확인하는 단계;
    상기 확인 결과, 상기 새로운 물체에 대한 움직임이 존재하는 것으로 확인되면, 상기 새로운 물체의 위치가 포함되도록 상기 제2 영상에 제2 관심 영역을 설정하는 단계; 및
    상기 설정된 제2 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 제2 영상으로부터 상기 새로운 물체를 검출하는 단계를 더 포함하는,
    영상 내 물체 인식 방법.
  7. 제1항에 있어서,
    상기 검출된 물체의 위치를 추적하는 단계는,
    상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과로부터 상기 물체의 초기 위치를 획득하고, 상기 영상 변화량 파악 결과로부터 상기 물체의 이동 거리를 획득하는 단계; 및
    상기 물체의 이동 거리 및 상기 물체의 초기 위치에 기초하여, 상기 물체의 위치를 추적하는 단계를 포함하는,
    영상 내 물체 인식 방법.
  8. 제7항에 있어서,
    상기 물체의 이동 거리 및 상기 주기를 이용하여, 상기 물체의 이동 속도를 산출하는 단계; 및
    상기 물체의 이동 속도가 설정된 속도 이상일 경우, 경고 알림을 발생하는 단계를 더 포함하는,
    영상 내 물체 인식 방법.
  9. 제1항에 있어서,
    상기 제2 영상 이후에 입력되는 복수의 영상에 대해, 상기 영상 변화량을 파악하는 단계를 수행하여, 상기 물체의 위치를 추적하되, 설정된 기간 마다 상기 영상 변화량을 파악하는 단계 대신, 상기 딥 뉴럴 네트워크 알고리즘을 수행하는 단계를 더 포함하고,
    상기 설정된 기간은 상기 주기보다 길게 설정되는,
    영상 내 물체 인식 방법.
  10. 제1항에 있어서,
    상기 물체의 위치 추적 결과, 상기 물체가 '정지 상태'로 판단되는 경우, 상기 영상 변화량을 파악하는 단계를 수행하는 주기를 설정된 시간 만큼 증가시키는 단계를 더 포함하는,
    영상 내 물체 인식 방법.
  11. 영상 내 물체를 인식하기 위한 장치로서,
    카메라 모듈로부터 입력된 제1 영상에 대해, 영상 내 물체 인식을 위해 기 훈련된 딥 뉴럴 네트워크 알고리즘을 수행하고, 설정된 주기에 따라 상기 제1 영상 이후에 상기 카메라 모듈로부터 입력된, 제2 영상과 상기 제1 영상 사이의 영상 변화량을 파악하는 수행부; 및
    상기 딥 뉴럴 네트워크 알고리즘을 수행한 결과 상기 제1 영상으로부터 물체가 검출되었으면, 파악된 상기 영상 변화량에 기초하여, 상기 제2 영상에서 상기 검출된 물체의 위치를 추적하는 프로세서를 포함하는,
    영상 내 물체 인식 장치.
  12. 제11항에 있어서,
    상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 판단부를 더 포함하고,
    상기 프로세서는,
    상기 신뢰성 판단 결과, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 보다 낮을 경우,
    상기 영상 변화량 파악 결과에 기초하여, 상기 물체의 위치를 추정하고, 상기 추정된 물체의 위치가 포함되도록 상기 제2 영상에 제1 관심 영역을 설정하는 설정부; 및
    상기 설정된 제1 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 제2 영상으로부터 상기 물체의 위치를 추적하는 추적부를 포함하는,
    영상 내 물체 인식 장치.
  13. 제11항에 있어서,
    상기 수행부는,
    상기 영상 변화량을 파악하기 위해 옵티컬 플로우를 이용하여 이동 벡터를 산출하는,
    영상 내 물체 인식 장치.
  14. 제13항에 있어서,
    상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 판단부를 더 포함하고,
    상기 수행부는,
    상기 제1 영상 및 상기 제2 영상을 비교한 결과에 기초하여, 상기 제1 영상 및 상기 제2 영상 내 각 픽셀별 이동 벡터를 산출하고, 설정된 방향별 색상을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득한 후, 상기 각 픽셀별 이동 벡터에 대응하는 색상에 기초하여, 옵티컬 플로우 영상을 생성하고,
    상기 판단부는,
    상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역에서, 에러를 나타내는 색상을 가진 픽셀이 기준치 이상 존재하는 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단하는,
    영상 내 물체 인식 장치.
  15. 제13항에 있어서,
    상기 영상 변화량 파악 결과에 대한 신뢰성을 판단하는 판단부를 더 포함하고,
    상기 수행부는,
    상기 제1 영상 및 상기 제2 영상을 비교한 결과에 기초하여, 상기 제1 영상 및 상기 제2 영상 내 각 픽셀별 이동 벡터를 산출하고, 설정된 방향별 색상을 고려하여 상기 이동 벡터의 방향에 대응하는 색상을 획득한 후, 상기 각 픽셀별 이동 벡터에 대응하는 색상에 기초하여, 옵티컬 플로우 영상을 생성하고,
    상기 판단부는,
    상기 옵티컬 플로우 영상 내에서 상기 물체에 대응하는 물체 영역을 확인하고, 상기 물체 영역 내의 픽셀들에 결정된 색상의 종류 수가 설정치 이상일 경우, 상기 영상 변화량 파악 결과에 대한 신뢰성이 미리 정해진 임계치 미만인 것으로 판단하는,
    영상 내 물체 인식 장치.
  16. 제11항에 있어서,
    상기 프로세서는,
    상기 제1 영상으로부터 상기 물체가 검출되지 않았으면,
    상기 영상 변화량 파악 결과에 기초하여, 새로운 물체에 대한 움직임 여부를 확인하고, 상기 확인 결과, 상기 새로운 물체에 대한 움직임이 존재하는 것으로 확인되면, 상기 새로운 물체의 위치가 포함되도록 상기 제2 영상에 제2 관심 영역을 설정하는 설정부; 및
    상기 설정된 제2 관심 영역에 대해, 상기 딥 뉴럴 네트워크 알고리즘을 수행하여, 상기 제2 영상으로부터 상기 새로운 물체를 검출하는 추적부를 포함하는,
    영상 내 물체 인식 장치.
  17. 제11항에 있어서,
    상기 프로세서는,
    상기 제2 영상 이후에 입력되는 복수의 영상에 대해, 상기 영상 변화량을 파악하여, 상기 물체의 위치를 추적하되, 설정된 기간 마다 상기 영상 변화량 파악 대신, 상기 딥 뉴럴 네트워크 알고리즘을 수행하고,
    상기 설정된 기간은 상기 주기보다 길게 설정되는,
    영상 내 물체 인식 장치.
  18. 제11항에 있어서,
    상기 프로세서는,
    상기 물체의 위치 추적 결과, 상기 물체가 '정지 상태'로 판단되는 경우, 상기 영상 변화량을 파악하는 주기를 설정된 시간 만큼 증가시키는,
    영상 내 물체 인식 장치.
KR1020190091090A 2019-07-26 2019-07-26 영상 내 물체 인식 장치 및 방법 KR20190095200A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190091090A KR20190095200A (ko) 2019-07-26 2019-07-26 영상 내 물체 인식 장치 및 방법
US16/577,973 US20200013190A1 (en) 2019-07-26 2019-09-20 Apparatus and method for recognizing object in image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190091090A KR20190095200A (ko) 2019-07-26 2019-07-26 영상 내 물체 인식 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20190095200A true KR20190095200A (ko) 2019-08-14

Family

ID=67622529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190091090A KR20190095200A (ko) 2019-07-26 2019-07-26 영상 내 물체 인식 장치 및 방법

Country Status (2)

Country Link
US (1) US20200013190A1 (ko)
KR (1) KR20190095200A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102108549B1 (ko) * 2019-12-06 2020-05-07 최원일 타일 및 위생 도기의 유통 관리 방법 및 장치
WO2021125550A1 (en) * 2019-12-20 2021-06-24 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device.
WO2022239931A1 (ko) * 2021-05-12 2022-11-17 삼성전자 주식회사 전자 장치 및 전자 장치에서 이미지 촬영 방법
US11669565B2 (en) 2021-02-22 2023-06-06 Si Analytics Co., Ltd. Method and apparatus for tracking object
KR20230129751A (ko) 2022-03-02 2023-09-11 한국과학기술원 게임데이터 학습 딥러닝 기반 소형 객체 탐지 방법 및 장치
US11915432B2 (en) 2020-01-16 2024-02-27 Samsung Electronics Co., Ltd. Method and apparatus for tracking target
US12002218B2 (en) 2020-11-26 2024-06-04 Samsung Electronics Co., Ltd. Method and apparatus with object tracking

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
CN109561257B (zh) * 2019-01-18 2020-09-18 深圳看到科技有限公司 画面对焦方法、装置、终端及对应的存储介质
KR102410634B1 (ko) * 2021-10-15 2022-06-22 도시공유플랫폼 주식회사 인공지능 기반 무인 판매 서비스 제공 방법, 장치 및 시스템
CN114612503A (zh) * 2022-05-13 2022-06-10 深圳市巨力方视觉技术有限公司 一种基于机器视觉的图像处理式运动监测系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180107930A (ko) 2017-03-23 2018-10-04 한국과학기술원 딥 러닝을 이용한 인공지능 기반 영상 감시 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180107930A (ko) 2017-03-23 2018-10-04 한국과학기술원 딥 러닝을 이용한 인공지능 기반 영상 감시 방법 및 시스템

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102108549B1 (ko) * 2019-12-06 2020-05-07 최원일 타일 및 위생 도기의 유통 관리 방법 및 장치
WO2021125550A1 (en) * 2019-12-20 2021-06-24 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device.
US11915432B2 (en) 2020-01-16 2024-02-27 Samsung Electronics Co., Ltd. Method and apparatus for tracking target
US12002218B2 (en) 2020-11-26 2024-06-04 Samsung Electronics Co., Ltd. Method and apparatus with object tracking
US11669565B2 (en) 2021-02-22 2023-06-06 Si Analytics Co., Ltd. Method and apparatus for tracking object
WO2022239931A1 (ko) * 2021-05-12 2022-11-17 삼성전자 주식회사 전자 장치 및 전자 장치에서 이미지 촬영 방법
KR20230129751A (ko) 2022-03-02 2023-09-11 한국과학기술원 게임데이터 학습 딥러닝 기반 소형 객체 탐지 방법 및 장치

Also Published As

Publication number Publication date
US20200013190A1 (en) 2020-01-09

Similar Documents

Publication Publication Date Title
KR20190095200A (ko) 영상 내 물체 인식 장치 및 방법
US8126833B2 (en) Detecting anomalous events using a long-term memory in a video analysis system
Chen et al. An advanced moving object detection algorithm for automatic traffic monitoring in real-world limited bandwidth networks
KR101731461B1 (ko) 객체에 대한 행동 탐지 장치 및 이를 이용한 행동 탐지 방법
KR102212217B1 (ko) 충돌을 효과적으로 방지하는 자율 주행 차량 및 이를 제어하는 제어 장치 및 방법
Andrews Sobral et al. Highway traffic congestion classification using holistic properties
Huang et al. Automatic moving object extraction through a real-world variable-bandwidth network for traffic monitoring systems
EP2468005A2 (en) Background model for complex and dynamic scenes
Mersch et al. Maneuver-based trajectory prediction for self-driving cars using spatio-temporal convolutional networks
Aköz et al. Traffic event classification at intersections based on the severity of abnormality
CN107292918B (zh) 基于视频在线学习的跟踪方法和装置
US20220215661A1 (en) System and method for providing unsupervised domain adaptation for spatio-temporal action localization
Rabiee et al. IVOA: Introspective vision for obstacle avoidance
Ippalapally et al. Object detection using thermal imaging
Raja et al. SPAS: Smart pothole-avoidance strategy for autonomous vehicles
Kuhn et al. Introspective failure prediction for autonomous driving using late fusion of state and camera information
CN111626198A (zh) 自动驾驶场景下基于Body Pix的行人运动检测方法
Madan et al. Temporal cues from socially unacceptable trajectories for anomaly detection
KR20130091441A (ko) 물체 추적 장치 및 그 제어 방법
US20230077207A1 (en) Close following detection using machine learning models
CN110333517B (zh) 障碍物感知方法、装置及存储介质
Zernetsch et al. Cyclist intention detection: A probabilistic approach
Chauhan et al. Detection of Reckless Driving using Deep Learning
Ratre et al. Deep imbalanced data learning approach for video anomaly detection
KR102609572B1 (ko) 동영상 예측 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램

Legal Events

Date Code Title Description
A201 Request for examination