KR20210069462A - 로봇을 위한 음원 위치 추정 - Google Patents

로봇을 위한 음원 위치 추정 Download PDF

Info

Publication number
KR20210069462A
KR20210069462A KR1020190159323A KR20190159323A KR20210069462A KR 20210069462 A KR20210069462 A KR 20210069462A KR 1020190159323 A KR1020190159323 A KR 1020190159323A KR 20190159323 A KR20190159323 A KR 20190159323A KR 20210069462 A KR20210069462 A KR 20210069462A
Authority
KR
South Korea
Prior art keywords
sound
spot
sound spot
robot
information
Prior art date
Application number
KR1020190159323A
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 KR1020190159323A priority Critical patent/KR20210069462A/ko
Priority to US17/099,682 priority patent/US11641543B2/en
Publication of KR20210069462A publication Critical patent/KR20210069462A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/003Controls for manipulators by means of an audio-responsive input
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/302Electronic adaptation of stereophonic sound system to listener position or orientation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Robotics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mechanical Engineering (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Manipulator (AREA)

Abstract

적어도 하나의 사운드 스팟의 사운드 스팟 정보에 기반하여 음원의 위치를 추정하는 로봇 및 음원 위치 추정 방법이 개시된다. 로봇은 5G 통신 환경에서 다른 전자 기기들 및 서버와 통신할 수 있다.

Description

로봇을 위한 음원 위치 추정{SOUND SOURCE LOCALIZATION FOR ROBOT}
본 발명은 로봇을 위한 음원 위치 추정 방법 및 이와 같은 방법에 따라 음원의 위치를 추정하는 로봇에 관한 것이다.
최근 일상 생활에서 편리하게 사용할 수 있는 로봇이 활발하게 개발되고 있다. 이와 같은 로봇은 가정, 학교 및 공공장소 등에서 사람과의 인터랙션을 통해 사람의 일상 생활을 돕는다. 로봇과 사람의 인터랙션을 위한 인터페이스 방식으로 음성 인식 기술이 널리 활용되고 있다.
음원이 발생하는 위치를 추적하는 방법으로서 현재 다양한 방법이 개발 및 사용되고 있다. 음원이 발생하는 위치를 추적하는 방법으로는 신호의 세기를 측정하고 거리에 따른 경로 손실을 고려하여 음원의 위치를 찾아내는 방법, 두 개 이상의 음원수신부로의 도달각(AOA; Angle Of Arrival)을 이용하여 음원의 위치를 찾아내는 방법, 공간 스펙트럼을 이용하는 방법, 음원 전달 시간을 이용하여 음원의 위치를 찾아내는 방법 등이 있다.
여러 사운드가 동시에 발생하는 환경에서 효과적으로 음원의 위치를 추적할 수 있는 기술이 필요하다.
본 발명의 일 과제는 여러 사운드가 동시에 발생하는 환경에서 음원 위치 추정을 수행하는 로봇을 제공하는 것이다.
본 발명의 일 과제는 일상에서 발생하는 사운드에 대한 시간 효율적인 음원 위치 추정 방법을 제공하는 것이다.
본 발명의 일 과제는 입력 사운드에 대한 정밀한 반응이 가능한 로봇을 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 일 실시예는 사운드가 발생할 가능성이 있는 장소 및 사운드가 발생한 장소를 미리 저장해서 음원 탐색에 활용하는 로봇을 제공한다.
이를 위하여 로봇은, 입력 사운드의 유발이 가능한 잠재적인 공간적 위치에 대응하는 사운드 스팟에 대한 사운드 스팟 정보를 저장하는 메모리 및 메모리와 연결된 프로세서를 포함하고, 프로세서는, 사운드 스팟 정보에 기반하여 입력 사운드를 유발한 음원을 찾기 위한 탐색 영역을 결정하고, 사운드 스팟 정보에 기반하여 정해진 탐색 순서에 따라 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색하고, 탐색의 결과에 기반하여 적어도 하나의 사운드 스팟 중에서 음원이 위치한 타겟 사운드 스팟을 결정하도록 구성될 수 있다.
상기 과제를 달성하기 위하여, 일 실시예는 음원 위치를 추정함에 있어서 사운드 발생의 이력 및 사운드 발생 가능성에 기반하여 음원 위치를 추정하는 음원 위치 추정 방법을 제공한다.
이를 위하여 음원 위치 추정 방법은, 입력 사운드의 유발이 가능한 잠재적인 공간적 위치에 대응하는 사운드 스팟에 대한 사운드 스팟 정보에 기반하여 입력 사운드를 유발한 음원을 찾기 위한 탐색 영역을 결정하는 단계, 사운드 스팟 정보에 기반하여 정해진 탐색 순서에 따라 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색하는 단계 및 탐색의 결과에 기반하여 적어도 하나의 사운드 스팟 중에서 음원이 위치한 타겟 사운드 스팟을 결정하는 단계를 포함할 수 있다.
상기 과제를 달성하기 위하여, 일 실시예는 입력 사운드에 대한 액션을 수행하는 로봇을 제공한다.
구체적으로 로봇은 타겟 사운드 스팟에서의 음원의 위치에 기반하여 입력 사운드에 대한 액션을 결정할 수 있다.
본 발명에서 이루고자 하는 기술적 과제들의 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시예에 의하면 여러 사운드가 동시에 발생하는 환경에서 효과적인 음원 위치 추정이 가능하다.
본 발명의 실시예에 의하면 시간 효율적인 음원 위치 추정이 가능하다.
본 발명의 실시예에 의하면 입력 사운드에 대한 정밀한 반응이 가능하므로 인터랙션의 만족도가 향상된다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 본 발명이 속한 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 로봇의 동작 환경의 예시도이다.
도 2는 일 실시예에 따른 로봇의 블록도이다.
도 3은 일 실시예에 따른 음원 위치 추정 방법의 흐름도이다.
도 4는 일 실시예에 따른 사운드 스팟 정보를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 음원 위치 추정 방법의 흐름도이다.
도 6은 일 실시예에 따른 사운드 스팟 정보 생성과정의 흐름도이다.
도 7은 일 실시예에 따른 음원 위치 추정 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 음원 위치 추정 방법의 흐름도이다.
도 9는 일 실시예에 따른 서버의 블록도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일유사한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
도 1은 일 실시예에 따른 로봇 동작 환경의 예시도이다.
로봇 동작 환경은 로봇(100), 단말(200), 서버(300) 및 이들을 연결하는 네트워크(400)를 포함할 수 있다. 도 1에 도시된 기기들 이외에 다양한 전자 기기들이 네트워크(400)를 통해 서로 연결되어 동작할 수 있다.
로봇(100)은 입력 사운드를 감지하고 감지된 입력 사운드에 반응한다. 여기서 반응은 입력 사운드를 유발한 음원의 위치를 찾고, 찾은 음원의 위치를 향하여 로봇(100)의 시야를 설정하는 것을 포함한다.
음원은 사운드를 유발하는 객체를 의미한다. 예를 들어 음원은 TV, 청소기, 세탁기 및 에어컨 등의 각종 가전 제품, 및 다양한 악기와 같이 사운드를 유발하는 것이 예정되어 있는 객체를 포함할 수 있다. 예를 들어 음원은 의자, 테이블, 개수대, 문, 창문 및 커튼과 같이 다양한 생활 소음을 유발할 수 있는 객체를 포함할 수 있다. 예를 들어 음원은 음성 명령어를 발화하는 사용자, 홈 로봇 및 반려 동물을 포함할 수 있다.
로봇(100)은 입력 사운드를 유발한 음원의 위치를 찾기 위하여 사운드 스팟을 우선 탐색할 수 있다. 사운드 스팟은 로봇(100)이 위치한 공간에서 이전에 사운드가 발생하였거나 이후에 사운드가 발생가능할 것으로 예상되는 장소 및 사물을 포함한다.
로봇(100)은 공간 내에 위치한 사운드 스팟에 대한 사운드 스팟 정보에 기반하여 입력 사운드를 유발한 음원의 위치를 찾을 수 있다.
사운드 스팟 정보는 사운드 스팟에 대한 정보를 의미한다. 사운드 스팟 정보에 대하여는 도 4를 참조하여 후술한다.
로봇(100)은 사운드 스팟 정보에 기반하여 입력 사운드를 유발한 음원의 위치를 찾고 입력 사운드에 대한 반응을 결정할 수 있다. 또한, 로봇(100)은 입력 사운드에 대하여 결정된 반응에 따라 동작할 수 있다. 추가적으로 로봇(100)은 결정된 반응에 따른 동작의 결과를 단말(200)로 전송할 수 있다.
예를 들어 로봇(100)은 사운드 스팟 정보에 기반하여 기동어를 발화한 사용자의 위치를 찾고 기동어에 대한 반응으로서 사용자의 얼굴을 응시할 수 있다.
예를 들어 로봇(100)은 사운드 스팟 정보에 기반하여 소음을 유발한 객체의 위치를 찾고 소음에 대한 반응으로서 소음을 유발한 객체 및 그 주변을 관찰하고, 관찰 결과에 따른 알림을 단말(200)로 전송할 수 있다.
서버(300)는 사운드 스팟 정보를 저장 및 관리할 수 있다. 서버(300)는 사운드 스팟 정보를 갱신하고 갱신된 사운드 스팟 정보를 로봇(100)에게 전송할 수 있다.
서버(300)는 로봇(100)이 감지한 입력 사운드를 수신하고, 서버(300)에 저장된 사운드 스팟 정보에 기반하여 입력 사운드를 유발한 음원의 위치를 찾고, 로봇(100)에게 전송할 수 있다.
로봇(100)은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.
로봇(100)은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.
로봇(100)은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
로봇(100)은 AI 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇, 홈 로봇 등으로 구현될 수 있다.
로봇(100)은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇(100)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇(100)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
여기서, 로봇(100)은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
로봇(100)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇(100)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇(100)에서 직접 학습되거나, 서버(300) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇(100)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, 서버(300) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇(100)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나를 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇(100)을 주행시킬 수 있다.
맵 데이터에는 로봇(100)이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 로봇(100)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇(100)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
여기서 인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로서, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
단말(200)은 사용자 또는 운영자가 조작하는 전자 기기로서, 사용자는 단말(200)을 이용하여 로봇(100)의 제어를 위한 어플리케이션을 구동하거나 서버(300)를 포함한 외부 장치에 설치된 어플리케이션에 접속할 수 있다.
단말(200)은 네트워크(400)를 통해 로봇(100) 및/또는 서버(300)로부터 로봇(100)의 상태 정보 등을 수신할 수 있다.
단말(200)은 탑재된 어플리케이션을 통해 로봇(100)을 모니터링하는 기능을 사용자에게 제공할 수 있다.
단말(200)은 컴퓨팅 장치(미도시)의 기능을 수행할 수 있는 통신 단말을 포함할 수 있다. 단말(200)은 사용자가 조작하는 데스크 탑 컴퓨터, 스마트폰, 노트북, 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 단말(200)은 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 기기일 수 있다. 단말(200)은 상술한 내용에 제한되지 아니하며, 웹 브라우징이 가능한 단말은 제한 없이 사용될 수 있다.
서버(300)는 사운드 스팟 정보를 저장 및 제공하는 데이터베이스 서버일 수 있다. 서버(300)는 로봇(100)으로부터 입력 사운드를 수신하고, 서버(300)에 저장된 사운드 스팟 정보에 기반하여 수신된 입력 사운드를 유발한 음원의 위치를 결정하고 이를 로봇(100)에게 제공하는 애플리케이션 서버일 수 있다.
서버(300)는 단말(200)에 설치된 애플리케이션 또는 웹 브라우저를 이용하여 로봇(100)을 모니터링할 수 있도록 하는 웹 서버 또는 애플리케이션 서버를 포함할 수 있다. 서버(300)는 각종 인공 지능 알고리즘을 적용하는데 필요한 빅데이터 및 로봇 제어에 관한 데이터를 제공하는 데이터베이스 서버일 수 있다.
네트워크(400)는 로봇(100)과 단말(200)과 서버(300)를 연결하는 역할을 수행할 수 있다. 이러한 네트워크(400)는 예컨대 LANs(local area networks), WANs(wide area networks), MANs(metropolitan area networks), ISDNs(integrated service digital networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 이에 한정되는 것은 아니다. 또한 네트워크(400)는 근거리 통신 및/또는 원거리 통신을 이용하여 정보를 송수신할 수 있다. 여기서 근거리 통신은 블루투스(Bluetooth), RFID(radio frequency identification), 적외선 통신(IrDA, infrared data association), UWB(ultra-wideband), ZigBee, Wi-Fi (wireless fidelity) 기술을 포함할 수 있고, 원거리 통신은 CDMA(code division multiple access), FDMA(frequency division multiple access), TDMA(time division multiple access), OFDMA(orthogonal frequency division multiple access), SC-FDMA(single carrier frequency division multiple access) 기술을 포함할 수 있다.
네트워크(400)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(400)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(400)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 네트워크(400)는 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망 및/또는 5G 통신을 지원할 수 있다.
도 2는 일 실시예에 따른 로봇의 블록도이다.
로봇(100)은 통신부(110), 입력부(120), 러닝 프로세서(130), 센서(140), 출력부(150), 메모리(160) 및 프로세서(170)를 포함할 수 있다. 도 2에 도시된 구성요소는 로봇(100)을 구현하는데 있어서 필수적인 것은 아니어서, 로봇(100)은 위에서 열거된 구성요소 보다 많거나, 또는 적은 구성요소를 가질 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 다른 AI 장치나 서버(300) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다. 여기서 AI 장치는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다.
통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth??), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다. 통신부(110)는 다양한 방식의 통신을 위한 데이터의 송수신 기능을 수행하기 위한 송신기, 수신기, 트랜시버, 모뎀, 포트, 컨트롤러 및 안테나 등을 포함할 수 있다.
통신부(110)는 프로세서(170)의 제어 하에 외부 전자 기기에서 감지한 입력 사운드 데이터를 수신할 수 있다. 예를 들어 외부 전자 기기는 마이크로폰을 구비한 전자 기기로서 공간에서 발생하는 사운드를 감지하고 감지된 사운드에 대한 데이터를 로봇(100)에게 전송할 수 있다. 여기서 외부 전자 기기는 인공지능 스피커, 데스크 탑 컴퓨터, 스마트폰, 노트북, 태블릿 PC, 스마트 TV, 휴대폰, PDA, 랩톱, 미디어 플레이어, 마이크로 서버, GPS 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 외부 전자 기기는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 기기일 수 있으나, 이에 제한되지 않는다.
통신부(110)는 프로세서(170)의 제어 하에 서버(300)와 통신할 수 있다. 통신부(110)는 프로세서(170)의 제어 하에 입력 사운드에 대한 데이터를 서버(300)로 전송할 수 있다. 통신부(110)는 프로세서(170)의 제어 하에 서버(300)로부터 입력 사운드를 유발한 음원의 위치 정보를 수신할 수 있다.
통신부(110)는 프로세서(170)의 제어 하에 단말(200)과 통신할 수 있다. 통신부(110)는 프로세서(170)의 제어 하에 입력 사운드에 대한 반응의 결과를 단말(200)에게 전송할 수 있다. 입력 사운드에 대한 반응의 결과를 수신한 단말(200)은 이를 사용자에게 출력할 수 있다.
입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.
이때, 입력부(120)는 영상 신호 입력을 위한 카메라(121), 오디오 신호를 수신하기 위한 마이크로폰(122), 사용자로부터 정보를 입력 받기 위한 키보드/키패드(미도시) 등을 포함할 수 있다. 여기서, 카메라(121)나 마이크로폰(122)을 센서로 취급하여, 카메라(121)나 마이크로폰(122)으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
로봇(100)은 마이크로폰(122)으로 주변에서 발생하는 사운드를 감지할 수 있다. 로봇(100)은 마이크로폰(122)으로 입력 사운드를 감지할 수 있다. 예를 들어 로봇(100)은 프로세서(170)의 제어 하에 마이크로폰(122)이 감지한 주변 사운드를 노이즈 제거 필터를 통해 전처리하여 입력 사운드를 획득할 수 있다.
로봇(100)은 프로세서(170)의 제어 하에 카메라(121)를 통해 주변 영상을 획득할 수 있다. 로봇(100)은 프로세서(170)의 제어 하에 카메라(121)를 통해 공간 내의 특정 영역의 영상을 획득할 수 있다. 예를 들어 로봇(100)은 프로세서(170)의 제어 하에 카메라(121)를 통해 입력 사운드에 대응하여 결정된 탐색 영역의 영상을 획득할 수 있다. 예를 들어 로봇(100)은 프로세서(170)의 제어 하에 카메라(121)를 통해 입력 사운드에 대응하여 결정된 사운드 스팟의 영상을 획득할 수 있다. 프로세서(170)는 카메라(121)를 통해 획득한 영상으로부터 입력 특징점을 추출할 수 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(170) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로서 입력 특징점(input feature)을 추출할 수 있다.
러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다. 예를 들어 학습 모델은 서버(200) 또는 로봇(100)에 탑재되어 사물을 인식하는 데에 이용될 수 있다. 예를 들어 학습 모델은 입력 영상으로부터 사물을 인식하는 사물 인식 모델을 포함할 수 있다.
이때, 러닝 프로세서(130)는 서버(300)의 러닝 프로세서(320)와 함께 AI 프로세싱을 수행할 수 있다.
러닝 프로세서(130)는 로봇(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(160), 로봇(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센서(140)는 다양한 센서들을 이용하여 로봇(100) 내부 정보, 로봇(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다. 센서(140)는 하나 이상의 센서를 포함할 수 있다.
이때, 센서(140)는 이미지 센서, 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다 및 레이더 등을 포함할 수 있다.
한편, 센서(140)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 센서(140)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(170) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로서 입력 특징점(input feature)을 추출할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
이때, 출력부(150)에는 시각 정보를 출력하는 디스플레이(151), 청각 정보를 출력하는 스피커(152), 촉각 정보를 출력하는 햅틱 모듈(미도시) 등이 포함될 수 있다.
디스플레이(151)는 프로세서(170)의 제어 하에 입력 사운드에 대한 반응으로서 메시지를 출력할 수 있다. 스피커(152)는 프로세서(170)의 제어 하에 입력 사운드에 대한 반응으로서 음성 메시지 또는 알림음을 출력할 수 있다.
메모리(160)는 로봇(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(160)는 입력부(120)에서 획득한 입력 데이터, 센서(140)에서 획득한 센서 정보, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
메모리(160)는 입력 사운드의 유발이 가능한 잠재적인 공간적 위치에 대응하는 사운드 스팟에 대한 사운드 스팟 정보를 저장할 수 있다. 사운드 스팟 정보는 프로세서(170)의 제어 하에 입력 사운드를 유발한 음원의 위치를 결정하는 데에 이용될 수 있다. 메모리(160)에 저장된 사운드 스팟 정보는 프로세서(170)의 제어 하에 생성 및 갱신될 수 있다.
메모리(160)는 사물 인식 모델을 저장할 수 있다. 메모리(160)에 저장된 사물 인식 모델은 프로세서(170)의 제어 하에 영상으로부터 사운드 스팟을 인식하는 데에 이용될 수 있다. 프로세서(170)는 통신부(110)를 통해 서버(300)로부터 사물 인식 모델을 수신하여 메모리(160)에 저장할 수 있다. 프로세서(170)는 통신부(110)를 통해 서버(300)로부터 사물 인식 모델에 대한 업데이트 정보를 수신하고 수신된 업데이트 정보를 메모리(160)에 저장된 사물 인식 모델에 반영할 수 있다.
메모리(160)는 학습 모델을 저장할 수 있다. 메모리(160)에 저장된 학습 모델은 프로세서(170)의 제어 하에 적어도 하나의 사운드 스팟 중에서 타겟 사운드 스팟을 결정하고 타겟 사운드 스팟에서 음원의 위치를 찾는 데에 이용될 수 있다. 프로세서(170)는 통신부(110)를 통해 서버(300)로부터 학습 모델을 수신하여 메모리(160)에 저장할 수 있다. 프로세서(170)는 통신부(110)를 통해 서버(300)로부터 학습 모델에 대한 업데이트 정보를 수신하고 수신된 업데이트 정보를 메모리(160)에 저장된 학습 모델에 반영할 수 있다.
그밖에 메모리(160)는 로봇(100)이 위치한 공간의 맵 데이터를 저장할 수 있다.
메모리(160)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 이에 한정되는 것은 아니다. 이러한 메모리(160)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD, CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다.
프로세서(170)는 일종의 중앙처리장치로서 메모리(160)에 탑재된 제어 소프트웨어를 구동하여 로봇(100)의 동작을 제어할 수 있다. 프로세서(170)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 프로세서(170)는 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로서, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 이에 한정되는 것은 아니다. 프로세서(170)는 하나 이상의 프로세서를 포함할 수 있다.
프로세서(170)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, 로봇(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(170)는 로봇(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(170)는 러닝 프로세서(130) 또는 메모리(160)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 로봇(100)의 구성 요소들을 제어할 수 있다.
이때, 프로세서(170)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(170)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
이때, 프로세서(170)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, 서버(300)의 러닝 프로세서(320)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(170)는 로봇(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(160) 또는 러닝 프로세서(130)에 저장하거나, 서버(300) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(170)는 메모리(160)에 저장된 응용 프로그램을 구동하기 위하여, 로봇(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(170)는 상기 응용 프로그램의 구동을 위하여, 로봇(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
프로세서(170)는 메모리(160)와 연결된다. 여기서 연결되었다는 것은 제어 신호 및 데이터의 송수신이 가능한 물리적/논리적 경로가 존재한다는 것을 의미한다.
프로세서(170)는, 메모리(160)에 저장된 사운드 스팟 정보에 기반하여 입력 사운드를 유발한 음원을 찾기 위한 탐색 영역을 결정하고, 사운드 스팟 정보에 기반하여 정해진 탐색 순서에 따라 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색하고, 탐색의 결과에 기반하여 적어도 하나의 사운드 스팟 중에서 음원이 위치한 타겟 사운드 스팟을 결정하도록 구성될 수 있다. 여기서 프로세서(170)가 어떠한 동작을 수행하도록 구성된다는 것의 의미는, 프로세서(170)가 메모리(160)에 저장된 일련의 명령어들을 실행하여 해당 동작을 수행하도록 설정된다는 것을 의미한다.
프로세서(170)는 탐색 영역을 결정하기 위하여, 사운드 스팟의 분포 정보에 기반하여 탐색 영역을 결정하도록 더 구성될 수 있다.
프로세서(170)는 입력 사운드의 속성과 매칭되는 사운드 스팟 속성을 가지는 사운드 스팟의 분포 정보에 기반하여 탐색 영역을 결정하도록 더 구성될 수 있다.
프로세서(170)는 사운드 스팟의 위치 정보에 기반하여 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 결정하도록 더 구성될 수 있다.
프로세서(170)는 적어도 하나의 사운드 스팟의 사운드 스팟 스코어에 기반하여 적어도 하나의 사운드 스팟에 대한 탐색 순서를 결정하도록 더 구성될 수 있다.
프로세서(170)는 적어도 하나의 사운드 스팟 중에서 입력 사운드의 속성과 매칭되는 사운드 스팟 속성을 가지는 사운드 스팟을 우선 탐색하도록 더 구성될 수 있다.
프로세서(170)는 탐색 영역의 영상을 획득하고, 적어도 하나의 사운드 스팟의 식별 정보에 기반하여 탐색 영역으로부터 적어도 하나의 사운드 스팟에 각각 대응하는 적어도 하나의 이미지 영역을 추출하고, 적어도 하나의 이미지 영역 중에서 음원이 위치한 상기 타겟 사운드 스팟을 결정하도록 더 구성될 수 있다.
프로세서(170)는 적어도 하나의 사운드 스팟의 식별 정보에 기반하여 적어도 하나의 이미지 영역에서 음원의 위치를 찾도록 더 구성될 수 있다. 프로세서(170)는 입력 사운드의 속성에 기반하여 적어도 하나의 이미지 영역에서 음원의 위치를 찾도록 더 구성될 수 있다.
프로세서(170)는 타겟 사운드 스팟에서의 음원의 위치에 기반하여 입력 사운드에 대한 액션을 결정하도록 더 구성될 수 있다.
프로세서(170)는 적어도 하나의 후보 사운드 스팟 중에서 탐색 영역에 위치한 후보 사운드 스팟을 탐색하도록 더 구성될 수 있다.
프로세서(170)는 공간의 영상을 획득하고, 메모리(160)에 저장된 사물 인식 모델을 이용하여 공간의 영상으로부터 적어도 하나의 후보 사운드 스팟을 인식하고, 적어도 하나의 후보 사운드 스팟의 사운드 스팟 정보를 생성하도록 더 구성될 수 있다.
프로세서(170)는 결정된 타겟 사운드 스팟의 사운드 스팟 스코어를 갱신하도록 더 구성될 수 있다.
도 3은 일 실시예에 따른 음원 위치 추정 방법의 흐름도이다.
실시예에 따른 음원 위치 추정 방법은 입력 사운드의 유발이 가능한 잠재적인 공간적 위치에 대응하는 사운드 스팟에 대한 사운드 스팟 정보에 기반하여 입력 사운드를 유발한 음원을 찾기 위한 탐색 영역을 결정하는 단계(510), 사운드 스팟 정보에 기반하여 정해진 탐색 순서에 따라 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색하는 단계(530) 및 탐색의 결과에 기반하여 적어도 하나의 사운드 스팟 중에서 음원이 위치한 타겟 사운드 스팟을 결정하는 단계(550)를 포함할 수 있다.
이하에서는 도 4를 참조하여 사운드 스팟 정보에 대하여 살펴본다.
도 4는 일 실시예에 따른 사운드 스팟 정보를 설명하기 위한 도면이다.
사운드 스팟은 입력 사운드의 유발이 가능한 잠재적인 공간적 위치를 의미한다. 로봇(100)은 프로세서(170)의 제어 하에 메모리(160)에 사운드 스팟에 대한 사운드 스팟 정보(600)를 저장한다.
사운드 스팟 정보(600)는 사운드 스팟의 분포 정보(600a), 식별 정보(600b), 사운드 스팟 속성(600c), 사운드 스팟 유형(600d) 및 사운드 스팟 스코어(600e)를 포함할 수 있다.
사운드 스팟의 분포 정보(600a)는 각 공간별 사운드 스팟의 분포에 대한 정보를 의미한다. 사운드 스팟의 분포 정보(600a)는 공간 내에서의 사운드 스팟의 위치 정보 및 각 공간에 위치한 사운드 스팟의 개수를 포함할 수 있다. 예를 들어 거실에 대한 사운드 스팟의 분포 정보(600a)는 거실에 위치한 사운드 스팟의 개수 및 위치 정보를 포함할 수 있다.
사운드 스팟의 식별 정보(600b)는 영상에서 사운드 스팟을 식별하기 위한 정보를 의미한다. 예를 들어 사운드 스팟의 식별 정보(600b)는 사운드 스팟의 이미지를 포함할 수 있다. 예를 들어 사운드 스팟의 식별 정보(600b)는 사운드 스팟의 이미지에서 추출된 특징점 정보를 포함할 수 있다. 예를 들어 사운드 스팟의 식별 정보(600b)는 사운드 스팟의 식별자를 포함할 수 있다.
사운드 스팟 속성(600c)은 사운드 스팟에서 발생가능한 사운드의 속성에 따른 정보를 의미한다. 일 예에서 사운드 스팟 속성(600c)은 사용자가 머물 가능성이 있는 장소 및 사물에 해당하는 유저 사운드 스팟 및 이벤트가 발생가능한 장소 및 사물에 해당하는 컨텍스트 사운드 스팟을 포함한다.
사운드 스팟은 유저 사운드 스팟 또는 컨텍스트 사운드 스팟 중 하나에 해당하거나 또는 유저 사운드 스팟 및 컨텍스트 사운드 스팟 모두에 해당할 수 있다. 예를 들어 쇼파, 의자, 식탁 및 침대 등은 유저 사운드 스팟으로 분류될 수 있다. 예를 들어 싱크대, TV, 화장실, 가스레인지, 알람, 유리창, 초인종, 유리컵 및 전기 콘센트 등은 컨텍스트 사운드 스팟으로 분류될 수 있다. 예를 들어 식탁, 싱크대 및 화장실 등은 유저 사운드 스팟인 동시에 컨텍스트 사운드 스팟에 해당할 수 있다.
사운드 스팟 유형(600d)은 해당 사운드 스팟이 후보 사운드 스팟인 지 여부를 나타내는 정보이다. 후보 사운드 스팟은 잠재적으로 사운드가 발생할 가능성이 있다고 판단된 장소 및 사물을 의미한다.
입력 사운드에 대하여 음원 위치 추정 방법을 수행한 결과 후보 사운드 스팟이 해당 입력 사운드에 대한 타겟 사운드 스팟으로 결정된 경우, 프로세서(170)는 타겟 사운드 스팟으로 결정된 후보 사운드 스팟의 사운드 스팟 유형(600d)을 후보 사운드 스팟에서 사운드 스팟으로 변경할 수 있다.
사운드 스팟 스코어(600e)는 사운드 스팟에서 사운드가 발생할 가능성에 대한 지표로서, 적어도 하나의 사운드 스팟에 대한 탐색 순서 결정의 기준이 될 수 있다.
예를 들어 사운드 스팟 스코어(600e)는 사운드 스팟에서 사운드가 발생한 빈도에 대응할 수 있다. 다시 말하면, 사운드 스팟 스코어(600e)는 음원 추정 방법의 수행 결과 사운드 스팟이 타겟 사운드 스팟으로 결정된 횟수에 대응할 수 있다. 예를 들어 쇼파의 사운드 스팟 스코어(600e)가 침대의 사운드 스팟 스코어(600e)보다 더 크다면, 쇼파에서 사운드가 발생한 빈도가 더 높다는 것을 의미한다. 이 경우 실시예에 따른 음원 위치 추정 방법은 음원의 위치를 찾기 위하여 사운드 스팟 스코어(600e)가 더 높은 쇼파를 침대보다 우선하여 탐색할 수 있다.
예를 들어 사운드 스팟 스코어(600e)는 사운드 발생 확률 값으로 결정될 수 있다. 다시 말하면, 사운드 스팟 스코어(600e)는 누적된 사운드 스팟에 대한 음원 위치 추정 결과에 기반하여 결정되는 사운드 스팟의 사운드 발생 가능성에 대한 확률값일 수 있다. 이 경우 실시예에 따른 음원 위치 추정 방법은 사운드 발생 가능성에 대한 확률값이 더 높은 사운드 스팟을 우선하여 탐색할 수 있다.
메모리(160)는 복수의 사운드 스팟의 사운드 스팟 정보(600)를 저장할 수 있다. 사운드 스팟 정보(600)는 적어도 하나의 후보 사운드 스팟의 사운드 스팟 정보(600)를 포함할 수 있다. 후보 사운드 스팟의 사운드 스팟 유형(600d)은 후보 사운드 스팟임을 표시하는 값으로 할당될 수 있다. 후보 사운드 스팟의 사운드 스팟 스코어(600e)는 초기에 0으로 설정될 수 있다. 즉, 후보 사운드 스팟은 사운드 스팟 유형(600d) 또는 사운드 스팟 스코어(600e)에 저장된 값에 따라 후보 사운드 스팟이 아닌 정규 사운드 스팟과 구별될 수 있다.
다시 도 3으로 돌아와서, 단계(510)에서 프로세서(170)는 사운드 스팟 정보(600)에 기반하여 입력 사운드를 유발한 음원을 찾기 위한 탐색 영역을 결정할 수 있다.
단계(510)에서 프로세서(170)는 메모리(160)에 저장된 사운드 스팟 정보(600)에 기반하여 입력 사운드를 유발한 음원의 위치를 찾기 위한 탐색 영역을 결정할 수 있다.
로봇(100)은 입력 사운드를 수신한 경우 입력 사운드를 유발한 음원의 위치를 찾기 위하여 탐색 동작을 수행할 영역을 결정한다. 로봇(100)은 마이크로폰(122)을 통해 입력 사운드를 감지하거나 통신부(110)를 통해 외부 기기에서 감지한 입력 사운드 데이터를 수신할 수 있다. 탐색 영역은 탐색 동작을 수행할 영역에 대응한다. 예를 들어 탐색 영역은 현재 로봇(100)의 위치를 기준으로 탐색 반경 범위 및 탐색 방향 범위로 정의될 수 있다. 예를 들어 탐색 영역은 현재 로봇(100)이 위치한 공간(예를 들어 거실)을 중심으로 주변에 위치한 공간(예를 들어 침실 및 주방)으로 정의될 수 있다.사운드 스팟 정보(600)는 사운드 스팟의 분포 정보(600a)를 포함하고, 단계(510)에서 프로세서(170)는 사운드 스팟의 분포 정보(600a)에 기반하여 탐색 영역을 결정할 수 있다. 예를 들어 프로세서(170)는 사운드 스팟의 개수가 가장 많은 공간을 우선적인 탐색 영역으로 결정할 수 있다. 예를 들어 프로세서(170)는 사운드 스팟이 가장 밀집된 탐색 방향 범위를 우선적인 탐색 영역으로 결정할 수 있다.
단계(510)에서 프로세서(170)는 입력 사운드의 속성과 매칭되는 사운드 스팟 속성을 가지는 사운드 스팟의 분포 정보에 기반하여 탐색 영역을 결정할 수 있다. 다시 말하면, 프로세서(170)는 입력 사운드의 속성에 따라 사운드 스팟 속성을 고려하여 사운드 스팟의 분포 정보(600a)를 활용할 수 있다. 예를 들어 입력 사운드가 사람의 목소리인 경우 프로세서(170)는 사운드 스팟 속성(600c)이 유저 사운드 스팟인 사운드 스팟의 분포 정보(600a)에 기반하여 탐색 영역을 결정할 수 있다.
단계(530)에서 프로세서(170)는 단계(510)에서 결정된 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색할 수 있다. 단게(530)에서 프로세서(170)는 사운드 스팟 정보에 기반하여 정해진 탐색 순서에 따라 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색할 수 있다.
단계(530)에서 프로세서(170)는 단계(510)에서 결정된 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 결정한다. 이를 위하여 프로세서(170)는 사운드 스팟의 분포 정보(600a)에 포함된 사운드 스팟의 위치 정보를 활용할 수 있다. 즉, 프로세서(170)는 사운드 스팟의 위치 정보에 기반하여 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 결정할 수 있다.
단계(530)에서 프로세서(170)는 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색한다.
사운드 스팟을 탐색한다는 것은 사운드 스팟의 위치 정보에 기반하여 사운드 스팟을 향해 로봇(100)의 시야를 설정하고, 사운드 스팟의 영상을 획득하고, 획득한 영상을 분석하여 음원의 위치를 찾는 동작을 포함할 수 있다. 여기서 로봇(100의 시야는 카메라(121) 및/또는 이미지 센서에 해당할 수 있다.
프로세서(170)는 사운드 스팟의 위치 정보에 기반하여 사운드 스팟을 향해 카메라(121) 및/또는 이미지 센서를 지향하고, 해당 사운드 스팟의 영상을 획득할 수 있다.
프로세서(170)는 개별적인 사운드 스팟의 영상을 직접 획득하는 대신에, 탐색 영역을 향해 카메라(121) 및/또는 이미지 센서를 지향 및 이동하면서 탐색 영역을 스캐닝하여 탐색 영역의 영상을 획득하고, 획득한 영상으로부터 각 사운드 스팟에 대응하는 이미지 영역을 추출할 수도 있다.
예를 들어, 단계(530)에서 프로세서(170)는 카메라(121) 및/또는 이미지 센서를 통해 탐색 영역의 영상을 획득하고, 사운드 스팟의 식별 정보(600b)에 기반하여 탐색 영역의 영상으로부터 적어도 하나의 사운드 스팟에 각각 대응하는 적어도 하나의 이미지 영역을 추출할 수 있다.
즉, 프로세서(170)는 사운드 스팟의 식별 정보(600b)에 저장된 사운드 스팟의 이미지 또는 특징점 정보에 기반하여 탐색 영역의 영상으로부터 각 사운드 스팟에 대응하는 이미지 영역을 추출할 수 있다.
후술할 단계(550)에서 프로세서(170)는 단계(530)에서 추출된 적어도 하나의 이미지 영역 중에서 타겟 사운드 스팟을 결정할 수 있다.
단계(530)에서 프로세서(170)는 적어도 하나의 사운드 스팟을 탐색 순서에 따라 순차적으로 탐색할 수 있다. 예를 들어 프로세서(170)는 사운드 스팟 스코어(600e)에 기반하여 적어도 하나의 사운드 스팟에 대한 탐색 순서를 결정할 수 있다. 예를 들어 프로세서(170)는 적어도 하나의 사운드 스팟 중에서 입력 사운드의 속성과 매칭되는 사운드 스팟 속성(600c)을 가지는 사운드 스팟을 우선 탐색할 수 있다. 예를 들어 프로세서(170)는 사운드 스팟의 위치 정보에 기반하여 가장 가까운 사운드 스팟을 우선적으로 탐색할 수 있다.
이로써 여러 사운드가 동시에 발생하는 환경에서 효과적인 음원 위치 추정 및 시간 효율적인 음원 위치 추정이 가능하다.
단계(550)에서 프로세서(170)는 단계(530)의 탐색의 결과에 기반하여 단계(530)에서 탐색한 적어도 하나의 사운드 스팟 중에서 음원이 위치한 타겟 사운드 스팟을 결정할 수 있다.
프로세서(170)는 단계(550)에서, 단계(530)에서 탐색한 적어도 하나의 사운드 스팟의 식별 정보(600b)에 기반하여 단계(530)에서 추출한 적어도 하나의 이미지 영역에서 음원의 위치를 찾을 수 있다. 이를테면 프로세서(170)는 사운드 스팟의 식별 정보(600b)에 포함된 사운드 스팟의 이미지 및/또는 특징점 정보와 사운드 스팟에 대응하여 추출된 이미지 영역을 비교하여 음원의 위치를 찾을 수 있다. 예를 들어 창문 깨지는 소리를 입력 사운드로서 감지하고 음원 위치를 추정하는 경우, '창문'의 식별 정보에 저장된 이미지와 단계(530)에서의 탐색 결과로 '창문'에 대응하여 추출된 이미지를 비교하여 창문이 깨진 상태를 발견하고 음원의 위치를 '창문'으로 찾을 수 있다. 이를 위하여 프로세서(170)는 단계(550)에서, 메모리(160)에 저장된 인공 신경망에 기반한 학습 모델을 이용하여 단계(530)에서 추출한 적어도 하나의 이미지 영역에서 음원의 위치를 찾을 수 있다.
프로세서(170)는 단계(550)에서, 입력 사운드의 속성에 기반하여 단계(530)에서 추출한 적어도 하나의 이미지 영역에서 음원의 위치를 찾을 수 있다. 이를테면 프로세서(170)는 입력 사운드가 사용자의 음성인 경우, 적어도 하나의 이미지 영역에 사용자의 이미지가 포함되어 있는 지를 분석하여 사용자의 위치를 찾을 수 있다.
추가적으로 실시예에 따른 음원 위치 추정 방법은 입력 사운드에 대한 액션을 결정하는 단계(570)를 더 포함할 수 있다.
단계(570)에서 프로세서(170)는 단계(550)에서 결정된 타겟 사운드 스팟에서의 음원의 위치에 기반하여 입력 사운드에 대한 액션을 결정할 수 있다. 여기서 입력 사운드에 대한 액션은 입력 사운드에 대한 로봇(100)의 반응에 대응한다.
단계(570)에서 프로세서(170)는 단계(550)에서 결정된 타겟 사운드 스팟에서의 음원의 위치를 결정할 수 있다.
예를 들어 입력 사운드가 사용자의 음성이고, 사용자가 있는 장소를 타겟 사운드 스팟으로 결정한 경우, 프로세서(170)는 카메라(121) 및/또는 이미지 센서를 통한 비전 인식을 수행하여 타겟 사운드 스팟에서 사용자의 위치를 결정할 수 있다. 여기서 사용자의 위치는 사용자의 얼굴 위치일 수 있다.
예를 들어 입력 사운드가 창문 깨지는 소리이고, 창문을 타겟 사운드 스팟으로 결정한 경우, 프로세서(170)는 카메라(121) 및/또는 이미지 센서를 통한 비전 인식을 수행하여 타겟 사운드 스팟에서 유리창 파손을 확인하고 음원의 위치를 결정할 수 있다. 여기서 음원의 위치는 창문의 깨진 위치일 수 있다.
단계(570)에서 프로세서(170)는 결정된 음원의 위치에 기반하여 입력 사운드에 대한 액션을 결정할 수 있다.
예를 들어 음원이 사용자인 경우, 프로세서(170)는 사용자의 얼굴을 향하여 틸팅(tilting)하고, 로봇(100)의 시선을 사용자 얼굴을 바라보도록 조정하는 액션을 수행하도록 결정할 수 있다.
예를 들어 음원이 창문인 경우, 프로세서(170)는 로봇(100)의 시선을 창문을 바라보도록 조정하고, 깨진 창문을 카메라(121) 및/또는 이미지 센서를 이용하여 촬영하여 통신부(110)를 통해 단말(200) 및 서버(300)로 전송할 수 있다. 이 경우 프로세서(170)는 디스플레이(151)를 점멸하거나 경고 메시지를 디스플레이(151)에 출력하고, 스피커(152)를 통해 경고음을 출력할 수 있다.
이로써 입력 사운드에 대한 정밀한 반응이 가능하므로 인터랙션의 만족도가 향상될 수 있다.
추가적으로 실시예에 따른 음원 위치 추정 방법은 타겟 사운드 스팟의 사운드 스팟 스코어를 갱신하는 단계(590)를 더 포함할 수 있다.
단계(590)에서 프로세서(170)는 타겟 사운드 스팟의 사운드 스팟 스코어를 갱신하여 메모리(160)에 저장할 수 있다. 예를 들어 프로세서(170)는 타겟 사운드 스팟의 사운드 스팟 스코어를 증가(예를 들어 1을 더함)시킬 수 있다.
도 5는 일 실시예에 따른 음원 위치 추정 방법의 흐름도이다.
도 3을 참조하여 단계(530)에서 프로세서(170)는 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색한다. 일 예에서 프로세서(170)는 단계(530)에서 사운드 스팟 유형(600d)이 후보 사운드 스팟이 아닌 정규 사운드 스팟을 탐색한다. 일 예에서 프로세서(170)는 단계(530)에서 메모리(160)에 저장된 복수의 사운드 스팟 정보 중에서 사운드 스팟 스코어가 0보다 더 큰 사운드 스팟 정보를 가지는 사운드 스팟을 탐색한다.
추가적으로 단계(530)의 탐색 결과로 음원의 위치를 찾지 못한 경우, 단계(540)에서 후보 사운드 스팟을 탐색한다.
단계(540)에서 프로세서(170)는 적어도 하나의 후보 사운드 스팟 중에서 탐색 영역에 위치한 후보 사운드 스팟을 탐색할 수 있다. 프로세서(170)는 도 3을 참조하여 전술한 단계(530)과 동일한 방식으로 탐색 영역에 위치한 후보 사운드 스팟을 탐색한다.
단계(550)에서 단계(530) 및 단계(540)의 탐색 결과에 따라 음원이 위치한 타겟 사운드 스팟을 결정할 수 있다. 타겟 사운드 스팟이 후보 사운드 스팟 중에서 결정된 경우, 프로세서(170)는 결정된 후보 사운드 스팟의 사운드 스팟 스코어(600e)를 단계(590)에 따라 갱신하고 사운드 스팟 유형(600d)을 정규 사운드 스팟으로 변경한다.
도 6은 일 실시예에 따른 사운드 스팟 정보 생성과정의 흐름도이다.
로봇(100)은 인공 신경망에 기반한 사물 인식 모델을 메모리(160)에 저장할 수 있다. 예를 들어 사물 인식 모델은 딥러닝 기반의 객체 검출 기법을 구현한 모델로서 YoLO(You only Look Once), SSD(Single Shot Detector), Tensorflow Object Detection 및 CNN(Convolutional Neural Network) 등을 이용할 수 있다. 로봇(100)은 메모리(160)에 저장된 사물 인식 모델을 이용하여 음원 위치 추정을 위해 사용할 사운드 스팟 정보를 생성할 수 있다.
단계(500)에서 프로세서(170)는 메모리(160)에 저장된 사물 인식 모델을 이용하여 적어도 하나의 후보 사운드 스팟을 인식할 수 있다
단계(500)에서 프로세서(170)는 카메라(121) 및/또는 이미지 센서를 통해 로봇(100)이 위치한 공간의 영상을 획득할 수 있다. 프로세서(170)는 메모리(160)에 저장된 사물 인식 모델을 이용하여, 공간의 영상으로부터 적어도 하나의 후보 사운드 스팟을 인식할 수 있다.
구체적으로 단계(500)에서 프로세서(170)는 공간의 영상으로부터 사물 인식 모델을 이용하여 장소 및 사물을 인식할 수 있다. 인식된 장소 및 사물을 각각 후보 사운드 스팟으로 결정할 수 있다.
단계(505)에서 프로세서(170)는 단계(500)에서 인식된 적어도 하나의 후보 사운드 스팟의 사운드 스팟 정보를 생성할 수 있다. 이를 위하여 프로세서(160)는 기준 데이터베이스에 기반하여 후보 사운드 스팟의 사운드 스팟 정보(600)를 생성하고 이를 메모리(160)에 저장할 수 있다. 여기서 기준 데이터베이스는 다양한 장소 및 사물의 목록 및 속성을 저장한 데이터베이스를 의미한다. 프로세서(170)는 인식된 장소 및 사물의 속성에 따라 후보 사운드 스팟의 사운드 스팟 속성(600c)을 라벨링할 수 있다.로봇(100)은 주기적으로 단계(500) 및 단계(505)를 수행할 수 있다. 예를 들어 로봇(100)은 매일 한번씩 단계(500) 및 단계(505)를 수행할 수 있다.
도 7은 일 실시예에 따른 음원 위치 추정 방법을 설명하기 위한 도면이다.
도 7은 예시적인 거실의 영상을 도시한다. 도시된 예시적인 거실은 3인 쇼파(SPOT1), 1인 쇼파(SPOT2), 의자(SPOT3), 창문(SPOT4) 및 테이블(SPOT5)의 예시적인 사운드 스팟을 포함한다고 가정한다. 예를 들어 3인 쇼파(SPOT1)의 사운드 스팟 스코어(600e)는 4이고, 의자(SPOT3)의 사운드 스팟 스코어(600e)는 6이고, 1인 쇼파(SPOT2), 창문(SPOT4) 및 테이블(SPOT5)은 후보 사운드 스팟으로서 사운드 스팟 스코어(600e)가 0이라고 가정한다.
이하에서 도 8을 참조하여 도 7에 도시된 예시적인 거실에서의 실시예에 따른 음원 위치 추정 방법의 동작 과정을 살펴본다.
도 8은 일 실시예에 따른 음원 위치 추정 방법의 흐름도이다.
단계(710)에서 로봇(100)은 입력 사운드를 감지한다.
단계(720)에서 로봇(100)은 도 3을 참조하여 전술한 단계(510)에 따라 메모리(160)에 저장된 사운드 스팟 정보에 기반하여 입력 사운드를 유발한 음원을 찾기 위한 탐색 영역을 결정한다.
단계(730) 및 단계(740)에서 로봇(100)은 도 3을 참조하여 전술한 단계(530)에 따라 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색한다.
단계(730)에서 로봇(100)은 탐색 영역쪽으로 시야를 설정하고 탐색 영역의 영상 및/또는 개별 사운드 스팟의 영상을 획득한다.
단계(740)에서 로봇(100)은 탐색 영역에 위치한 적어도 하나의 사운드 스팟에서 음원을 찾기 위한 탐색을 수행한다.
단계(750)에서 로봇(100)은 도 5를 참조하여 전술한 단계(540)에 따라 탐색 영역에 위치한 적어도 하나의 후보 사운드 스팟을 탐색한다.
단계(760)에서 로봇(100)은 단계(740) 및/또는 단계(750)의 탐색 결과에 따라 사운드 스팟 정보에 기반하여 음원이 위치한 타겟 사운드 스팟을 결정한다.
단계(770)에서 로봇(100)은 도 3을 참조하여 전술한 단계(570)에 따라 입력 사운드에 대한 액션을 결정 및 수행한다.
추가적으로 로봇(100)은 도 3을 참조하여 전술한 단계(590)에 따라 타겟 사운드 스팟의 사운드 스팟 스코어(600e)를 갱신할 수 있다.
이하에서 도 7의 예시적인 거실을 참조하여 실시예에 따른 음원 위치 추정 방법의 흐름에 대하여 살펴본다.
예를 들어 사용자가 거실의 1인 쇼파(SPOT2)에 앉아서 '헤이 클로이'라고 발화한 경우, 로봇(100)은 단계(710)에서 해당 발화를 입력 사운드로 감지한다.
단계(720)에서 사운드 스팟의 분포 정보(600a)에 기반하여 우선적으로 탐색할 영역으로 거실을 결정한다고 가정한다.
단계(730)에서 로봇(100)은 시야를 거실쪽으로 설정하고 거실의 영상 및/또는 개별 사운드 스팟의 영상을 획득한다.
단계(740)에서 로봇(100)은 거실에 위치한 적어도 하나의 사운드 스팟 중에서 사운드 스팟 스코어(600e)가 높은 곳을 우선적으로 탐색한다. 즉 사운드 스팟 스코어(600e)의 내림차순으로 거실에 위치한 적어도 하나의 사운드 스팟을 탐색한다. 즉, 로봇(100)은 의자(SPOT3)를 우선 탐색하고 다음으로 3인 쇼파(SPOT1)을 탐색한다.
단계(750)에서 로봇(100)은 단계(740)에서 사용자를 찾지 못한 경우, 탐색 영역에 위치한 후보 사운드 스팟인 1인 쇼파(SPOT2), 창문(SPOT4) 및 테이블(SPOT5)을 탐색한다. 로봇(100)은 1인 쇼파(SPOT2)에서 사용자를 발견한다.
단계(760)에서 로봇(100)은 1인 쇼파(SPOT2)를 타겟 사운드 스팟으로 결정하고, 단계(770)에서 입력 사운드에 대한 액션을 수행한다. 예를 들어 로봇(100)은 틸팅으로 사용자 얼굴을 바라보도록 시야를 조정하고 '네'라고 응답할 수 있다.
단계(780)에서 로봇(100)은 1인 쇼파(SPOT2)의 사운드 스팟 스코어(600e)를 증가시키고 사운드 스팟 유형(600d)을 정규 사운드 스팟으로 변경한다.
다른 예에서 거실의 유리창이 깨지고 도둑이 침입한 경우, 로봇(100)은 단계(710)에서 유리창이 깨지는 소리를 입력 사운드로 감지한다.
단계(720)에서 사운드 스팟의 분포 정보(600a)에 기반하여 우선적으로 탐색할 영역으로 거실을 결정한다고 가정한다.
단계(730)에서 로봇(100)은 시야를 거실쪽으로 설정하고 거실의 영상 및/또는 개별 사운드 스팟의 영상을 획득한다.
단계(740)에서 로봇(100)은 거실에 위치한 적어도 하나의 사운드 스팟 중에서 사운드 스팟 스코어(600e)가 높은 곳을 우선적으로 탐색한다. 즉 사운드 스팟 스코어(600e)의 내림차순으로 거실에 위치한 적어도 하나의 사운드 스팟을 탐색한다. 즉, 로봇(100)은 의자(SPOT3)를 우선 탐색하고 다음으로 3인 쇼파(SPOT1)을 탐색한다.
단계(750)에서 로봇(100)은 단계(740)에서 이벤트를 찾지 못한 경우, 탐색 영역에 위치한 후보 사운드 스팟인 1인 쇼파(SPOT2), 창문(SPOT4) 및 테이블(SPOT5)을 탐색한다. 로봇(100)은 창문(SPOT4)에서 유리창 파손이라는 이벤트를 발견한다.
단계(760)에서 로봇(100)은 창문(SPOT4)을 타겟 사운드 스팟으로 결정하고, 단계(770)에서 입력 사운드에 대한 액션을 수행한다. 예를 들어 로봇(100)은 깨진 유리창의 영상을 획득하여 단말(200) 및/또는 서버(300)로 전송한다. 로봇(100)은 또한 디스플레이(151) 및/또는 스피커(152)로 경고 메시지를 출력할 수 있다.
단계(780)에서 로봇(100)은 창문(SPOT4)의 사운드 스팟 스코어(600e)를 증가시키고 사운드 스팟 유형(600d)을 정규 사운드 스팟으로 변경한다.
도 9는 일 실시예에 따른 서버의 블록도이다.
서버(300)는 로봇(100)을 관제하는 관제 서버를 의미할 수 있다. 서버(300)는 복수의 로봇(100)을 모니터링하는 중앙 관제 서버일 수 있다. 서버(300)는 로봇(100)의 상태 정보를 저장 및 관리할 수 있다. 예를 들어 상태 정보는 로봇(100)의 위치 정보, 수행 중인 액션 정보 및 배터리 잔량 정보 등을 포함할 수 있다.
서버(300)는 사운드 스팟 정보를 저장 및 관리할 수 있다. 서버(300)는 사운드 스팟 정보를 갱신하고 갱신된 사운드 스팟 정보를 로봇(100)에게 전송할 수 있다.
서버(300)는 로봇(100)이 감지한 입력 사운드를 수신하고, 서버(300)에 저장된 사운드 스팟 정보에 기반하여 입력 사운드를 유발한 음원의 위치를 찾고, 로봇(100)에게 전송할 수 있다.
한편 서버(300)는 로봇(100)으로부터 입력 사운드에 대한 액션 수행의 결과를 수신할 수 있다. 예를 들어 서버(300)는 로봇(100)으로부터 이벤트 발생 및 경고 메시지를 수신할 수 있다. 서버(300)는 수신한 이벤트 정보 및 경고 메시지를 단말(200)에게 전송할 수 있다.
서버(300)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, 서버(300)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, 서버(300)는 로봇(100)과 같은 AI 장치의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
서버(300)는 통신부(310), 메모리(330), 러닝 프로세서(320) 및 프로세서(340) 등을 포함할 수 있다.
통신부(310)는 로봇(100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(330)는 모델 저장부(331)를 포함할 수 있다. 모델 저장부(331)는 러닝 프로세서(320)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 331a)을 저장할 수 있다.
러닝 프로세서(320)는 학습 데이터를 이용하여 인공 신경망(331a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 서버(300)에 탑재된 상태에서 이용되거나, 로봇(100) 등의 외부 장치에 탑재되어 이용될 수도 있다. 예를 들어 학습 모델은 서버(200)에 탑재되거나 로봇(100)에 탑재되어 타겟 사운드 스팟을 결정하는 데에 활용될 수 있다. 예를 들어 학습 모델은 서버(200)에 탑재되거나 로봇(100)에 탑재되어 타겟 사운드 스팟에서 음원의 위치를 찾는 데에 활용될 수 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(330)에 저장될 수 있다.
프로세서(340)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 청구의 범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 청구의 범위뿐만 아니라 이 청구의 범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
앞에서, 본 발명의 특정한 실시예가 설명되고 도시되었지만 본 발명은 기재된 실시예에 한정되는 것이 아니고, 이 기술 분야에서 통상의 지식을 가진 자는 본 발명의 사상 및 범위를 벗어나지 않고서 다른 구체적인 실시예로 다양하게 수정 및 변형할 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 범위는 설명된 실시예에 의하여 정하여 질 것이 아니고 청구범위에 기재된 기술적 사상에 의해 정하여져야 할 것이다.
100: 로봇
200: 단말
300: 서버
400: 네트워크

Claims (20)

  1. 입력 사운드의 유발이 가능한 잠재적인 공간적 위치에 대응하는 사운드 스팟에 대한 사운드 스팟 정보를 저장하는 메모리; 및
    상기 메모리와 연결된 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 사운드 스팟 정보에 기반하여 상기 입력 사운드를 유발한 음원을 찾기 위한 탐색 영역을 결정하고,
    상기 사운드 스팟 정보에 기반하여 정해진 탐색 순서에 따라 상기 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색하고,
    상기 탐색의 결과에 기반하여 상기 적어도 하나의 사운드 스팟 중에서 상기 음원이 위치한 타겟 사운드 스팟을 결정하도록 구성되는,
    로봇.
  2. 제 1 항에 있어서,
    상기 사운드 스팟 정보는 사운드 스팟의 분포 정보를 포함하고,
    상기 프로세서는,
    상기 탐색 영역을 결정하기 위하여,
    상기 분포 정보에 기반하여 상기 탐색 영역을 결정하도록 더 구성되는,
    로봇.
  3. 제 2 항에 있어서,
    상기 사운드 스팟 정보는 사운드 스팟 속성을 포함하고,
    상기 프로세서는,
    상기 입력 사운드의 속성과 매칭되는 사운드 스팟 속성을 가지는 사운드 스팟의 분포 정보에 기반하여 상기 탐색 영역을 결정하도록 더 구성되는,
    로봇.
  4. 제 1 항에 있어서,
    상기 사운드 스팟 정보는 사운드 스팟의 위치 정보를 더 포함하고,
    상기 프로세서는,
    상기 위치 정보에 기반하여 상기 탐색 영역에 위치한 상기 적어도 하나의 사운드 스팟을 결정하도록 더 구성되는,
    로봇.
  5. 제 1 항에 있어서,
    상기 사운드 스팟 정보는 사운드 스팟 스코어를 더 포함하고,
    상기 프로세서는,
    상기 적어도 하나의 사운드 스팟의 사운드 스팟 스코어에 기반하여 상기 탐색 순서를 결정하도록 더 구성되는,
    로봇.
  6. 제 1 항에 있어서,
    상기 사운드 스팟 정보는 사운드 스팟 속성을 더 포함하고,
    상기 프로세서는,
    상기 적어도 하나의 사운드 스팟 중에서 상기 입력 사운드의 속성과 매칭되는 사운드 스팟 속성을 가지는 사운드 스팟을 우선 탐색하도록 더 구성되는,
    로봇.
  7. 제 1 항에 있어서,
    상기 사운드 스팟 정보는 사운드 스팟의 식별 정보를 더 포함하고,
    상기 프로세서는,
    상기 탐색 영역의 영상을 획득하고,
    상기 적어도 하나의 사운드 스팟의 식별 정보에 기반하여 상기 영상으로부터 상기 적어도 하나의 사운드 스팟에 각각 대응하는 적어도 하나의 이미지 영역을 추출하고,
    상기 적어도 하나의 이미지 영역 중에서 상기 음원이 위치한 상기 타겟 사운드 스팟을 결정하도록 더 구성되는,
    로봇.
  8. 제 7 항에 있어서,
    상기 프로세서는,
    상기 적어도 하나의 사운드 스팟의 식별 정보에 기반하여 상기 적어도 하나의 이미지 영역에서 상기 음원의 위치를 찾도록 더 구성되는,
    로봇.
  9. 제 7 항에 있어서,
    상기 프로세서는,
    상기 입력 사운드의 속성에 기반하여 상기 적어도 하나의 이미지 영역에서 상기 음원의 위치를 찾도록 더 구성되는,
    로봇.
  10. 제 1 항에 있어서,
    상기 프로세서는,
    상기 타겟 사운드 스팟에서의 상기 음원의 위치에 기반하여 상기 입력 사운드에 대한 액션을 결정하도록 더 구성되는,
    로봇.
  11. 제 1 항에 있어서,
    상기 사운드 스팟 정보는 적어도 하나의 후보 사운드 스팟의 사운드 스팟 정보를 포함하는,
    로봇.
  12. 제 11 항에 있어서,
    상기 프로세서는,
    상기 적어도 하나의 후보 사운드 스팟 중에서 상기 탐색 영역에 위치한 후보 사운드 스팟을 탐색하도록 더 구성되는,
    로봇.
  13. 제 11 항에 있어서,
    상기 메모리는 인공 신경망에 기반한 사물 인식 모델을 더 저장하고,
    상기 프로세서는,
    공간의 영상을 획득하고,
    상기 사물 인식 모델을 이용하여 상기 영상으로부터 상기 적어도 하나의 후보 사운드 스팟을 인식하고,
    상기 적어도 하나의 후보 사운드 스팟의 사운드 스팟 정보를 생성하도록 더 구성되는,
    로봇.
  14. 제 1 항에 있어서,
    상기 사운드 스팟 정보는 사운드 스팟 스코어를 포함하고,
    상기 프로세서는,
    결정된 상기 타겟 사운드 스팟의 사운드 스팟 스코어를 갱신하도록 더 구성되는,
    로봇.
  15. 입력 사운드의 유발이 가능한 잠재적인 공간적 위치에 대응하는 사운드 스팟에 대한 사운드 스팟 정보에 기반하여 상기 입력 사운드를 유발한 음원을 찾기 위한 탐색 영역을 결정하는 단계;
    상기 사운드 스팟 정보에 기반하여 정해진 탐색 순서에 따라 상기 탐색 영역에 위치한 적어도 하나의 사운드 스팟을 탐색하는 단계; 및
    상기 탐색의 결과에 기반하여 상기 적어도 하나의 사운드 스팟 중에서 상기 음원이 위치한 타겟 사운드 스팟을 결정하는 단계
    를 포함하는,
    음원 위치 추정 방법.
  16. 제 15 항에 있어서,
    상기 사운드 스팟 정보는,
    사운드 스팟의 분포 정보, 식별 정보, 사운드 스팟 속성, 사운드 스팟 유형 및 사운드 스팟 스코어
    를 포함하는,
    음원 위치 추정 방법.
  17. 제 15 항에 있어서,
    상기 탐색 영역을 결정하는 단계는,
    상기 입력 사운드의 속성과 매칭되는 사운드 스팟 속성을 가지는 사운드 스팟의 분포 정보에 기반하여 상기 탐색 영역을 결정하는 단계
    를 포함하는,
    음원 위치 추정 방법.
  18. 제 15 항에 있어서,
    상기 탐색하는 단계는,
    상기 적어도 하나의 사운드 스팟의 사운드 스팟 스코어에 기반하여 상기 적어도 하나의 사운드 스팟을 순차적으로 탐색하는 단계
    를 포함하는,
    음원 위치 추정 방법.
  19. 제 15 항에 있어서,
    상기 탐색 영역의 영상을 획득하는 단계; 및
    상기 적어도 하나의 사운드 스팟의 식별 정보에 기반하여 상기 영상으로부터 상기 적어도 하나의 사운드 스팟에 각각 대응하는 적어도 하나의 이미지 영역을 추출하는 단계;
    를 포함하고,
    상기 타겟 사운드 스팟을 결정하는 단계는,
    상기 적어도 하나의 이미지 영역 중에서 상기 음원이 위치한 상기 타겟 사운드 스팟을 결정하는 단계
    를 포함하는,
    음원 위치 추정 방법.
  20. 제 15 항에 있어서,
    상기 타겟 사운드 스팟의 사운드 스팟 정보를 갱신하는 단계
    를 더 포함하는,
    음원 위치 추정 방법.
KR1020190159323A 2019-12-03 2019-12-03 로봇을 위한 음원 위치 추정 KR20210069462A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190159323A KR20210069462A (ko) 2019-12-03 2019-12-03 로봇을 위한 음원 위치 추정
US17/099,682 US11641543B2 (en) 2019-12-03 2020-11-16 Sound source localization for robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190159323A KR20210069462A (ko) 2019-12-03 2019-12-03 로봇을 위한 음원 위치 추정

Publications (1)

Publication Number Publication Date
KR20210069462A true KR20210069462A (ko) 2021-06-11

Family

ID=76090992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190159323A KR20210069462A (ko) 2019-12-03 2019-12-03 로봇을 위한 음원 위치 추정

Country Status (2)

Country Link
US (1) US11641543B2 (ko)
KR (1) KR20210069462A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113601511B (zh) * 2021-08-17 2023-03-14 北京百度网讯科技有限公司 机器人控制方法、装置、电子设备、机器人及服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100586893B1 (ko) * 2004-06-28 2006-06-08 삼성전자주식회사 시변 잡음 환경에서의 화자 위치 추정 시스템 및 방법
US20210232150A1 (en) * 2018-05-15 2021-07-29 Sony Corporation Control device, control method, and program

Also Published As

Publication number Publication date
US11641543B2 (en) 2023-05-02
US20210168547A1 (en) 2021-06-03

Similar Documents

Publication Publication Date Title
US11663516B2 (en) Artificial intelligence apparatus and method for updating artificial intelligence model
US11328717B2 (en) Electronic device, operating method thereof, system having plural artificial intelligence devices
KR102384643B1 (ko) 전자 장치 및 그 제어 방법
US11393470B2 (en) Method and apparatus for providing speech recognition service
US11170778B2 (en) Conversational control system and method for registering external device
US11568239B2 (en) Artificial intelligence server and method for providing information to user
US11605379B2 (en) Artificial intelligence server
KR20190107621A (ko) 상황 인식에 기반한 어플리케이션 추천을 위한 장치 및 제어 방법
KR20210010270A (ko) 로봇 및 그의 기동어 인식 방법
US11501250B2 (en) Refrigerator for providing information on item using artificial intelligence and method of operating the same
US11210567B2 (en) Artificial intelligence apparatus and method for recognizing object
US11398222B2 (en) Artificial intelligence apparatus and method for recognizing speech of user in consideration of user's application usage log
US11328718B2 (en) Speech processing method and apparatus therefor
US11482210B2 (en) Artificial intelligence device capable of controlling other devices based on device information
US20210194717A1 (en) Integrated control method and system for home appliance using artificial intelligence
US20220338281A1 (en) Artificial intelligence device for providing device control function based on interworking between devices and method therefor
KR20190094319A (ko) 음성 추출 필터를 이용하여 음성 제어를 수행하는 인공 지능 장치 및 그 방법
KR20210048382A (ko) 음성 분석 방법 및 장치
US11854059B2 (en) Smart apparatus
KR20210069462A (ko) 로봇을 위한 음원 위치 추정
US11867791B2 (en) Artificial intelligence apparatus for determining path of user and method for the same
US20230197073A1 (en) Guide robot and operation method thereof
US20190371149A1 (en) Apparatus and method for user monitoring
US20210405148A1 (en) An artificial intelligence apparatus for providing service based on path of user and method for the same
US20210187739A1 (en) Robot and robot system

Legal Events

Date Code Title Description
A201 Request for examination