KR20210010270A - 로봇 및 그의 기동어 인식 방법 - Google Patents

로봇 및 그의 기동어 인식 방법 Download PDF

Info

Publication number
KR20210010270A
KR20210010270A KR1020190114461A KR20190114461A KR20210010270A KR 20210010270 A KR20210010270 A KR 20210010270A KR 1020190114461 A KR1020190114461 A KR 1020190114461A KR 20190114461 A KR20190114461 A KR 20190114461A KR 20210010270 A KR20210010270 A KR 20210010270A
Authority
KR
South Korea
Prior art keywords
robot
processor
sound
starting word
sensitivity
Prior art date
Application number
KR1020190114461A
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 US16/865,224 priority Critical patent/US11577379B2/en
Publication of KR20210010270A publication Critical patent/KR20210010270A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • 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
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/026Acoustical sensing devices
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Manipulator (AREA)

Abstract

본 발명의 실시 예에 따른 로봇은, 상기 로봇의 주변에서 발생하는 사운드에 대응하는 사운드 신호를 획득하는 마이크로폰, 카메라, 상기 로봇의 웨이크 업 시 소정 화면을 출력하는 디스플레이, 또는 소정 사운드를 출력하는 스피커 중 적어도 하나를 포함하는 출력부, 및 획득된 사운드 신호로부터, 상기 사운드에 사람의 음성이 포함되어 있는지 여부를 인식하고, 인식 결과 상기 사운드에 사람의 음성이 포함된 경우 상기 카메라를 활성화하고, 상기 활성화된 카메라에 의해 획득되는 영상으로부터 사람의 존재 여부를 인식하고, 상기 사람의 존재 여부에 대한 인식 결과에 기초하여 기동어 인식 감도를 설정하고, 설정된 기동어 인식 감도에 기초하여, 상기 마이크로폰을 통해 획득되는 사용자의 음성 데이터로부터 기동어의 포함 여부를 인식하는 프로세서를 포함한다.

Description

로봇 및 그의 기동어 인식 방법{ROBOT AND METHOD FOR RECOGNIZINIG WAKE-UP WORD THEREOF}
본 발명은 로봇 및 그의 기동어 인식 방법에 관한 것이다.
로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계로서, 로봇의 응용분야는 대체로 산업용, 의료용, 우주용, 해저용 등 다양한 분야로 분류된다. 최근에는 음성이나 제스쳐 등을 통해 인간과 커뮤니케이션이나 인터랙션을 수행할 수 있는 커뮤니케이션 로봇이 증가되는 추세이다.
이러한 커뮤니케이션 로봇은 특정 장소에 배치되어 이용자에게 각종 정보를 안내하는 안내 로봇이나, 가정에 구비되는 홈 로봇 등 다양한 종류의 로봇을 포함할 수 있다. 또한, 커뮤니케이션 로봇은 학습자와의 인터랙션을 통해 상기 학습자의 학습을 지도하거나 보조하는 교육용 로봇을 포함할 수 있다.
커뮤니케이션 로봇은 동작의 미 수행중에는 대기 상태로 진입하여 전력 소모를 최소화하고, 사용자로부터 발화되는 기동어(trigger word 또는 wake-up word)가 감지되는 경우 웨이크 업 상태로 전환하여 소정 동작을 제공할 수 있다.
한편, 커뮤니케이션 로봇의 주변 환경에 따라 소음 정도가 달라질 수 있고, 소음의 크기가 상대적으로 큰 경우 사용자의 기동어 발화가 원활히 인식되지 않음으로써 사용자의 불편을 초래할 수 있다.
본 발명이 해결하고자 하는 과제는, 주변의 소음 정도와 관계없이 기동어의 원활한 인식이 가능한 로봇을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는, 주변의 소음 특성에 따라 기동어의 인식 감도를 가변할 수 있는 로봇을 구현하는 것이다.
본 발명의 실시 예에 따른 로봇은, 상기 로봇의 주변에서 발생하는 사운드에 대응하는 사운드 신호를 획득하는 마이크로폰, 카메라, 상기 로봇의 웨이크 업 시 소정 화면을 출력하는 디스플레이, 또는 소정 사운드를 출력하는 스피커 중 적어도 하나를 포함하는 출력부, 및 획득된 사운드 신호로부터, 상기 사운드에 사람의 음성이 포함되어 있는지 여부를 인식하고, 인식 결과 상기 사운드에 사람의 음성이 포함된 경우 상기 카메라를 활성화하고, 상기 활성화된 카메라에 의해 획득되는 영상으로부터 사람의 존재 여부를 인식하고, 상기 사람의 존재 여부에 대한 인식 결과에 기초하여 기동어 인식 감도를 설정하고, 설정된 기동어 인식 감도에 기초하여, 상기 마이크로폰을 통해 획득되는 사용자의 음성 데이터로부터 기동어의 포함 여부를 인식하는 프로세서를 포함한다.
상기 프로세서는, 상기 획득된 영상으로부터 사람이 인식되는 경우, 상기 기동어 인식 감도를 제1 레벨로 설정할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 획득된 영상으로부터 기준 인원 수 이 상의 사람들이 인식되는 경우, 상기 기동어 인식 감도를 상기 제1 레벨보다 높은 감도를 갖도록 설정할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 획득된 영상으로부터 사람이 인식되지 않는 경우, 상기 기동어 인식 감도를 상기 제1 레벨보다 낮은 제2 레벨로 설정할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 획득된 영상으로부터 사람이 인식되지 않는 경우, 상기 사운드 신호에 기초하여 사운드 크기를 측정하고, 측정된 사운드 크기에 기초하여 상기 기동어 인식 감도를 설정할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 측정된 사운드 크기가 기준 크기보다 큰 경우, 상기 기동어 인식 감도를 상기 제1 레벨보다 낮은 제2 레벨로 설정하고, 상기 측정된 사운드 크기가 상기 기준 크기보다 작은 경우, 상기 기동어 인식 감도를 상기 제1 레벨보다 높은 제3 레벨로 설정할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 사운드 신호 중, 사람의 음성에 대응하는 주파수 대역의 신호 성분에 기초하여 상기 사운드 내에 상기 사람의 음성의 포함 여부를 인식할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 사운드 내에 상기 사람의 음성이 포함되지 않은 것으로 인식되는 경우, 상기 사운드 신호에 기초하여 사운드 크기를 측정하고, 측정된 사운드 크기가 클수록 상기 기동어 인식 감도를 낮게 설정할 수 있다.
실시 예에 따라, 상기 로봇은 조도를 측정하는 조도 센서를 더 포함하고, 상기 프로세서는, 상기 조도 센서의 센싱값이 기준 센싱값보다 낮은 경우 상기 설정된 기동어 인식 감도를 증가시키고, 상기 조도 센서의 센싱값이 상기 기준 센싱값보다 높은 경우, 상기 설정된 기동어 인식 감도를 감소시킬 수 있다.
실시 예에 따라, 상기 프로세서는 상기 음성 데이터로부터 사용자의 발화에 포함된 음절, 문자, 및 단어 중 적어도 하나를 인식하고, 인식된 음절, 문자, 및 단어 중 적어도 하나와 상기 기동어를 비교하고, 비교 결과, 및 상기 기동어 인식 감도에 기초하여 상기 음성 데이터로부터 상기 기동어의 포함 여부를 인식할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 인식된 음절, 문자, 및 단어 중 적어도 하나와 상기 기동어 사이의 매칭률을 획득하고, 획득된 매칭률이 현재 설정된 기동어 인식 감도의 매칭률 기준보다 높은 경우, 상기 음성 데이터에 상기 기동어가 포함된 것으로 인식할 수 있다.
실시 예에 따라, 상기 프로세서는 머신 러닝 기반으로 학습된 학습 모델을 포함하는 메모리를 더 포함하고, 상기 학습 모델을 통해, 상기 음성 데이터로부터 추출되는 특징점들로부터 상기 음절, 문자, 및 단어 중 적어도 하나를 인식할 수 있다.
실시 예에 따라, 상기 프로세서는 상기 음성 데이터에 상기 기동어가 포함된 것으로 인식된 경우, 상기 로봇을 웨이크 업 시킴에 따라 상기 소정 화면 또는 상기 소정 사운드 중 적어도 하나를 출력하도록 상기 출력부를 제어할 수 있다.
실시 예에 따라, 상기 로봇은 서버와 연결하기 위한 통신부를 더 포함하고, 상기 프로세서는, 상기 획득된 사운드 신호를 상기 서버로 전송하고, 상기 획득된 음성 데이터를 상기 서버로 전송하고, 상기 서버로부터 상기 음성 데이터의 인식 결과에 기초한 웨이크 업 제어 신호를 수신하고, 수신된 웨이크 업 제어 신호에 기초하여 상기 출력부를 제어할 수 있다.
본 발명의 실시 예에 따른 로봇을 이용한 기동어 인식 방법은, 로봇의 마이크로폰을 통해 사운드 신호를 획득하는 단계; 획득된 사운드 신호로부터 사람의 음성의 포함 여부를 인식하는 단계; 사람의 음성이 포함된 것으로 인식된 경우, 상기 로봇에 포함된 카메라를 활성화하는 단계; 활성화된 카메라에 의해 획득된 영상으로부터 사람의 존재 여부를 인식하는 단계; 인식 결과에 기초하여 기동어 인식 감도를 설정하는 단계; 설정된 기동어 인식 감도에 기초하여, 상기 마이크로폰을 통해 획득되는 사용자의 음성 데이터로부터 기동어의 포함 여부를 인식하는 단계; 및 상기 음성 데이터에 상기 기동어가 포함된 것으로 인식된 경우, 상기 로봇이 웨이크 업 되는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 서버는, 로봇으로부터, 상기 로봇의 주변에서 발생하는 사운드에 대응하는 사운드 신호를 수신하는 통신부, 및 수신된 사운드 신호로부터 사람의 음성이 인식된 경우, 상기 통신부를 통해 상기 로봇으로부터 로봇 주변의 영상을 수신하고, 수신된 영상으로부터 사람의 존재 여부를 인식하고, 인식 결과에 기초하여 기동어 인식 감도를 설정하고, 설정된 기동어 인식 감도에 기초하여, 상기 통신부를 통해 수신되는 사용자의 음성 데이터로부터 기동어의 포함 여부를 인식하는 프로세서를 포함한다.
본 발명의 실시 예에 따르면, 로봇 또는 그와 연결되는 서버는 로봇 주변의 소음 특성에 따라 기동어 인식 감도를 가변함으로써, 다양한 상황에서도 기동어를 원활히 인식할 수 있다. 이에 따라, 기동어의 인식률 저하에 따른 사용자의 번거로움이나 불편을 효과적으로 감소시킬 수 있다.
또한, 로봇은 획득된 사운드에 사람의 음성이 포함된 것으로 감지된 경우에만 카메라를 활성화시켜 사람의 존재 여부를 인식할 수 있으므로, 카메라가 항상 활성화되는 경우에 비해 전력 소비량을 효과적으로 감소시킬 수 있다.
도 1은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 장치를 나타낸다.
도 2는 본 발명의 일 실시 예에 따른 로봇과 연결되는 AI 서버를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 시스템을 나타낸다.
도 4는 본 발명의 일 실시 예에 따른 로봇이 소정 공간에 배치되는 모습을 나타낸 예시도이다.
도 5는 본 발명의 일 실시 예에 따른 로봇의 제어 구성을 나타내는 블록도이다.
도 6은 본 발명의 일 실시 예에 따른 로봇의 기동어 인식 동작을 개략적으로 설명하기 위한 플로우차트이다.
도 7은 로봇이 주변 소음에 의해 사용자의 발화를 정확히 인식하지 못하는 상황을 보여주는 예시도이다.
도 8은 본 발명의 일 실시 예에 따른 로봇의 기동어 인식 감도 설정 동작 및 기동어 인식 동작을 보다 상세히 설명하기 위한 플로우차트이다.
도 9는 로봇이 사용자의 발화에 따른 음성 신호를 처리하여 기동어를 인식하는 동작을 설명하기 위한 도면이다.
도 10 내지 도 11은 음성 신호의 인식 결과와 관련된 예들을 나타낸 도면이다.
도 12는 본 발명의 일 실시 예에 따른 로봇의 기동어 인식 동작을 개략적으로 설명하기 위한 플로우차트이다.
도 13은 본 발명의 일 실시 예에 따른 로봇의 기동어 인식 감도 설정 동작 및 기동어 인식 동작을 보다 상세히 설명하기 위한 플로우차트이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명한다. 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.
로봇은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.
로봇은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, 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)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
도 1은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 장치를 나타낸다.
AI 장치(100)는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 데스크탑 컴퓨터, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다.
도 1을 참조하면, AI 장치(100)는 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 메모리(170) 및 프로세서(180) 등을 포함할 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 다른 AI 장치(100a 내지 100e)나 AI 서버(200) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(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) 등이 있다.
입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.
이때, 입력부(120)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
이때, 러닝 프로세서(130)는 AI 서버(200)의 러닝 프로세서(240)과 함께 AI 프로세싱을 수행할 수 있다.
이때, 러닝 프로세서(130)는 AI 장치(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(170), AI 장치(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센싱부(140)는 다양한 센서들을 이용하여 AI 장치(100) 내부 정보, AI 장치(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 센싱부(140)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
이때, 출력부(150)에는 시각 정보를 출력하는 디스플레이부, 청각 정보를 출력하는 스피커, 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
메모리(170)는 AI 장치(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(170)는 입력부(120)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, AI 장치(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(180)는 AI 장치(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(180)는 러닝 프로세서(130) 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 AI 장치(100)의 구성 요소들을 제어할 수 있다.
이때, 프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(180)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
이때, 프로세서(180)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, AI 서버(200)의 러닝 프로세서(240)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 AI 장치(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서(130)에 저장하거나, AI 서버(200) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, AI 장치(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, AI 장치(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
도 2는 본 발명의 일 실시 예에 따른 로봇과 연결되는 AI 서버를 나타낸다.
도 2를 참조하면, AI 서버(200)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, AI 서버(200)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, AI 서버(200)는 AI 장치(100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
AI 서버(200)는 통신부(210), 메모리(230), 러닝 프로세서(240) 및 프로세서(260) 등을 포함할 수 있다.
통신부(210)는 AI 장치(100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(230)는 모델 저장부(231)를 포함할 수 있다. 모델 저장부(231)는 러닝 프로세서(240)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 231a)을 저장할 수 있다.
러닝 프로세서(240)는 학습 데이터를 이용하여 인공 신경망(231a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 AI 서버(200)에 탑재된 상태에서 이용되거나, AI 장치(100) 등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(230)에 저장될 수 있다.
프로세서(260)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 로봇을 포함하는 AI 시스템을 나타낸다.
도 3을 참조하면, AI 시스템(1)은 AI 서버(200), 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 중에서 적어도 하나 이상이 클라우드 네트워크(10)와 연결된다. 여기서, AI 기술이 적용된 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 등을 AI 장치(100a 내지 100e)라 칭할 수 있다.
클라우드 네트워크(10)는 클라우드 컴퓨팅 인프라의 일부를 구성하거나 클라우드 컴퓨팅 인프라 안에 존재하는 네트워크를 의미할 수 있다. 여기서, 클라우드 네트워크(10)는 3G 네트워크, 4G 또는 LTE(Long Term Evolution) 네트워크 또는 5G 네트워크 등을 이용하여 구성될 수 있다.
즉, AI 시스템(1)을 구성하는 각 장치들(100a 내지 100e, 200)은 클라우드 네트워크(10)를 통해 서로 연결될 수 있다. 특히, 각 장치들(100a 내지 100e, 200)은 기지국을 통해서 서로 통신할 수도 있지만, 기지국을 통하지 않고 직접 서로 통신할 수도 있다.
AI 서버(200)는 AI 프로세싱을 수행하는 서버와 빅 데이터에 대한 연산을 수행하는 서버를 포함할 수 있다.
AI 서버(200)는 AI 시스템(1)을 구성하는 AI 장치들인 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 중에서 적어도 하나 이상과 클라우드 네트워크(10)을 통하여 연결되고, 연결된 AI 장치들(100a 내지 100e)의 AI 프로세싱을 적어도 일부를 도울 수 있다.
이때, AI 서버(200)는 AI 장치(100a 내지 100e)를 대신하여 머신 러닝 알고리즘에 따라 인공 신경망을 학습시킬 수 있고, 학습 모델을 직접 저장하거나 AI 장치(100a 내지 100e)에 전송할 수 있다.
이때, AI 서버(200)는 AI 장치(100a 내지 100e)로부터 입력 데이터를 수신하고, 학습 모델을 이용하여 수신한 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성하여 AI 장치(100a 내지 100e)로 전송할 수 있다.
또는, AI 장치(100a 내지 100e)는 직접 학습 모델을 이용하여 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수도 있다.
이하에서는, 상술한 기술이 적용되는 AI 장치(100a 내지 100e)의 다양한 실시 예들을 설명한다. 여기서, 도 3에 도시된 AI 장치(100a 내지 100e)는 도 1에 도시된 AI 장치(100)의 구체적인 실시 예로 볼 수 있다.
로봇(100a)은 AI 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
로봇(100a)은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇(100a)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇(100a)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
여기서, 로봇(100a)은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
로봇(100a)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇(100a)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇(100a)에서 직접 학습되거나, AI 서버(200) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇(100a)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(200) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇(100a)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇(100a)을 주행시킬 수 있다.
맵 데이터에는 로봇(100a)이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 로봇(100a)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇(100a)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 로봇이 소정 공간에 배치되는 모습을 나타낸 예시도이다.
본 발명의 실시 예에 따른 로봇(100a)은 가정, 학교, 카페, 공공기관 등의 다양한 장소에 배치될 수 있다. 즉, 로봇(100a)은 상기 장소에서 사용자와의 커뮤니케이션이나 인터랙션을 통해 사용자에게 정보 또는 콘텐츠를 제공하거나 특정 행위를 유도하는 등의 동작을 수행하는 커뮤니케이션 로봇에 해당할 수 있다.
예컨대, 도 4를 참조하면 로봇(100a)은 카페에 배치되어 카페를 이용하는 고객들에게 다양한 정보나 서비스를 제공할 수 있다.
로봇(100a)은 특정 고객(사용자)의 기동어 발화에 응답하여 웨이크 업 되어, 상기 사용자에게 서비스를 제공할 수 있다. 예컨대, 로봇(100a)은 웨이크 업 됨에 따라 디스플레이(152)를 통해 소정 화면을 출력하거나, 사운드 출력부(154; 예컨대 스피커)를 통해 소정 사운드를 출력할 수 있다.
이를 위해, 로봇(100a)은 사용자의 음성 또는 로봇 주변의 소리 등을 획득하는 적어도 하나의 마이크로폰(124a~124c)을 포함할 수 있다. 또한, 로봇(100a)은 그래픽 또는 텍스트를 출력하는 디스플레이(152)나, 음성이나 음향을 출력하는 사운드 출력부(154; 예컨대 스피커)를 통해 상기 사용자에게 정보를 제공할 수 있다.
한편, 상기 카페에는 다른 사람들의 대화, 음향 시설로부터 출력되는 음향(음악 등), 기계의 구동에 따른 소음이 존재할 수 있다. 이 경우, 로봇(100a)은 마이크로폰(124a~124c)을 통해 사용자의 음성과 소음을 함께 수신하게 되고, 소음의 크기나 특성에 따라 사용자의 음성이 원활히 인식되지 않는 문제가 발생할 수 있다.
사용자의 음성이 원활히 인식되지 않는 경우 로봇(100a)이 웨이크 업 되지 않을 수 있고, 이 경우 사용자는 기동어를 여러 번 반복하여 발화해야 하는 등 사용 상의 불편을 느낄 수 있다.
이 경우 본 발명의 실시 예에 따른 로봇(100a)은 주변에서 발생하는 소음의 크기나 특성에 따라 기동어의 인식 감도를 조절함으로써, 사용자의 기동어를 보다 효과적으로 인식할 수 있다. 이와 관련된 로봇(100a)의 구성 및 동작에 대해 이하 도 5 내지 도 11을 참조하여 설명한다.
도 5는 본 발명의 일 실시 예에 따른 로봇의 제어 구성을 나타내는 블록도이다.
도 5를 참조하면, 로봇(100a)은 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 회전 기구(160), 메모리(170), 및 프로세서(180)를 포함할 수 있다. 도 5에 도시된 구성들은 설명의 편의를 위한 일례로서, 로봇(100a)은 도 5에 도시된 구성들보다 많거나 적은 구성들을 포함할 수 있다.
한편, 도 1의 AI 장치(100)와 관련된 내용은 본 발명의 로봇(100a)에도 유사하게 적용되는 바, 도 1에서 상술한 내용과 중복되는 내용은 생략한다.
통신부(110)는 로봇(100a)을 네트워크를 통해 서버, 이동 단말기, 다른 로봇 등과 연결하기 위한 통신 모듈들을 포함할 수 있다. 상기 통신 모듈들 각각은 도 1에서 상술한 통신 기술 중 어느 하나를 지원할 수 있다.
예컨대, 로봇(100a)은 공유기 등의 액세스 포인트를 통해 네트워크와 연결될 수 있다. 이에 따라, 로봇(100a)은 입력부(120)나 센싱부(140) 등을 통해 획득되는 각종 정보를, 상기 네트워크를 통해 서버나 이동 단말기로 제공할 수 있다. 상기 서버로 전송되는 정보는 상기 서버에 저장되거나, 상기 서버와 연결된 다른 전자 기기(이동 단말기, 로봇 등)로 전송될 수 있다.
입력부(120)는 다양한 종류의 데이터를 획득하는 적어도 하나의 입력 수단을 포함할 수 있다. 예컨대, 상기 적어도 하나의 입력 수단은 버튼이나 다이얼 등의 물리 입력 수단, 터치 패드나 터치 패널과 같은 터치 입력부(122), 사용자의 음성이나 로봇(100a) 주변의 소리 등을 수신하는 마이크로폰(124) 등을 포함할 수 있다. 사용자는 입력부(120)를 통해 각종 요청이나 명령을 로봇(100a)으로 입력할 수 있다.
프로세서(180)는 로봇(100a) 주변의 소음에 대응하는 사운드 데이터를 마이크로폰(124)을 통해 획득할 수 있다. 프로세서(180)는 상기 사운드 데이터의 사운드 크기(dB)나 특성(종류)을 확인하고, 확인 결과에 기초하여 기동어의 인식 감도를 설정할 수 있다.
실시 예에 따라, 음성이나 사운드의 인식 동작이 로봇(100a)과 연결된 서버에 의해 수행되는 경우, 프로세서(180)는 획득된 사운드 데이터를 서버로 전송할 수 있다. 서버는 수신된 사운드 데이터의 사운드 크기나 특성(종류)을 확인하고, 확인 결과에 기초하여 기동어의 인식 감도를 설정할 수 있다.
한편, 프로세서(180)는 마이크로폰(124)을 통해 수신되는 사용자의 음성 데이터를 상기 통신부(110)를 통해 서버로 전송할 수 있다. 서버는 상기 음성 데이터를 분석하여 상기 음성 데이터 내의 기동어나 명령어, 요청 등을 인식하고, 인식 결과를 로봇(100a)으로 제공할 수 있다.
예컨대, 서버는 음성 데이터 내의 특징점들을 추출하고, 추출된 특징점들을 음성 데이터베이스 내의 단어 또는 문자 각각의 특징점과 비교함으로써, 음성 데이터 내에 포함된 기동어나 명령어, 요청 등을 인식할 수 있다.
또는, 로봇(100a)의 프로세서(180)가 메모리(170)에 저장된 음성 데이터베이스를 이용하여 상기 음성 데이터 내의 기동어나 명령어, 요청 등을 직접 인식할 수도 있다.
실시 예에 따라, 상기 서버는 도 2에서 상술한 AI 서버(200)로 구현될 수 있고, 이 경우 서버는 러닝 프로세서(240)을 통해 학습된 모델(인공신경망(231a))을 통해 상기 음성 데이터 내의 시동어, 명령어, 요청 등을 인식할 수 있다. 프로세서(180)는 상기 인식 결과에 기초하여 동작 모드를 전환하거나, 명령어 또는 요청을 처리할 수 있다.
실시 예에 따라, 프로세서(180)는 로봇(100a) 내의 러닝 프로세서(130)에 의해 학습된 모델을 통해, 상기 음성 데이터 내의 기동어, 명령어, 요청 등을 직접 인식할 수도 있다. 또는, 프로세서(180)는 상기 서버로부터 상기 학습된 모델에 대응하는 데이터를 수신하여 메모리(170)에 저장하고, 저장된 데이터를 통해 상기 음성 데이터 내의 시동어, 명령어, 요청 등을 인식할 수도 있다.
즉, 본 발명의 실시 예에 따르면 사용자의 음성 데이터는 로봇(100a) 또는 그와 연결되는 서버에 의해 인식될 수 있다.
센싱부(140)는 로봇(100a) 주변의 다양한 정보를 센싱하는 적어도 하나의 센서를 포함할 수 있다. 예컨대 센싱부(140)는 카메라(142), 근접 센서(144), 조도 센서(146), 터치 센서(147), 및 자이로 센서(자이로스코프; 148) 등의 다양한 센서들을 포함할 수 있다.
카메라(142)는 로봇(100a) 주변의 영상을 획득할 수 있다. 실시 예에 따라, 프로세서(180)는 카메라(142)를 통해 사용자의 얼굴을 포함하는 이미지를 획득하여 사용자를 인식하거나, 사용자의 제스쳐나 표정 등을 획득할 수 있다.
근접 센서(144)는 로봇(100a) 주변에 사용자 등의 오브젝트가 접근함을 감지할 수 있다. 예컨대, 근접 센서(144)에 의해 사용자의 접근이 감지되는 경우, 프로세서(180)는 출력부(150)를 통해 초기 화면이나 초기 음성을 출력하여 사용자로 하여금 로봇(100a)의 사용을 유도할 수 있다.
조도 센서(146)는 로봇(100a)이 배치된 공간의 밝기를 감지할 수 있다. 프로세서(180)는 상기 조도 센서(146)의 감지 결과 및/또는 시간대 정보에 기초한 다양한 동작을 수행하도록 구성들을 제어할 수 있다.
터치 센서(147)는 사용자의 신체 일부가 로봇(100a)의 소정 영역에 접촉됨을 감지할 수 있다. 예컨대, 상기 터치 센서(147)는 로봇(100a)의 헤드부, 구체적으로 디스플레이(152)를 포함하는 얼굴 영역의 상방 또는 후방에 배치될 수 있으나, 반드시 그러한 것은 아니다.
자이로 센서(148)는 로봇(100a)의 회전각이나 기울기 등을 감지할 수 있다. 프로세서(180)는 자이로 센서(148)의 감지 결과에 기초하여 로봇(100a)이 향하는 방향을 인식하거나, 외부로부터의 충격 등을 감지할 수 있다. 예컨대, 자이로 센서(148)는 로봇(100a)의 바디부 내에 구비될 수 있으나, 반드시 그러한 것은 아니다.
출력부(150)는 로봇(100a)의 동작이나 상태, 로봇(100a)에서 실행되는 각종 서비스, 프로그램, 애플리케이션 등과 관련된 각종 정보 또는 콘텐츠를 출력할 수 있다. 또한, 출력부(150)는 사용자와의 인터랙션을 수행하기 위한 각종 메시지나 정보를 출력할 수 있다.
출력부(150)는 디스플레이(152), 사운드 출력부(154), 및 광 출력부(156) 등을 포함할 수 있다.
디스플레이(152)는 상술한 각종 정보나 메시지를 그래픽 형태로 출력할 수 있다. 실시 예에 따라, 디스플레이(152)는 터치 입력부(122)와 함께 터치 스크린 형태로 구현될 수 있고, 이 경우 디스플레이(152)는 출력 수단뿐만 아니라 입력 수단으로서도 기능할 수 있다.
사운드 출력부(154)는 상기 각종 정보나 메시지를 음성이나 음향 형태로 출력할 수 있다. 예컨대, 사운드 출력부(154)는 스피커를 포함할 수 있다.
광 출력부(156)는 LED 등의 광원으로 구현될 수 있다. 프로세서(180)는 광 출력부(156)를 통해 로봇(100a)의 상태 등을 나타낼 수 있다. 실시 예에 따라, 광 출력부(156)는 보조적인 출력 수단으로서 디스플레이(152) 및/또는 사운드 출력부(154)와 함께 각종 정보를 사용자에게 제공할 수도 있다.
회전 기구(160)는 로봇(100a)을 수직 축을 기준으로 회전시키기 위한 구성들(모터 등)을 포함할 수 있다. 프로세서(180)는 상기 회전 기구(160)를 제어하여 로봇(100a)을 회전시킴으로써, 로봇(100a)의 디스플레이(152) 및 카메라(142)가 향하는 방향을 변경시킬 수 있다.
실시 예에 따라, 회전 기구(160)는 로봇(100a)을 전후 방향으로 소정 각도 틸팅시키기 위한 구성들을 더 포함할 수도 있다.
메모리(170)는 로봇(100a)에 포함된 구성 요소들의 동작을 제어하기 위한 제어 데이터, 입력부(120)를 통해 획득된 입력이나 센싱부(140)를 통해 획득되는 정보에 기초한 동작을 수행하기 위한 데이터 등의 각종 데이터가 저장될 수 있다.
또한, 메모리(170)에는 프로세서(180)에 포함된 적어도 하나의 프로세서나 컨트롤러에 의해 실행되는 소프트웨어 모듈이나 애플리케이션 등의 프로그램 데이터가 저장될 수 있다.
한편, 메모리(170)에는 사운드 데이터의 사운드 크기 및 특성(종류)을 확인하고, 확인 결과에 기초하여 기동어의 인식 감도를 설정하기 위한 알고리즘이 저장될 수 있다.
또한, 본 발명의 실시 예에 따른 메모리(170)에는 사용자의 음성 데이터를 인식하기 위한 알고리즘이나 음성 데이터베이스가 저장될 수 있다. 또는, 메모리(170)에는 러닝 프로세서(130) 또는 서버의 러닝 프로세서(240)에 의해 학습되는 머신 러닝 기반의 학습 모델이 저장될 수도 있다.
이러한 메모리(170)는 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기를 포함할 수 있다.
프로세서(180)는 로봇(100a)의 동작을 제어하는 적어도 하나의 프로세서나 컨트롤러 등을 포함할 수 있다. 구체적으로, 프로세서(180)는 적어도 하나의 CPU, AP(application processor), 마이크로컴퓨터(또는 마이컴), 집적 회로, ASIC(application specific integrated circuit) 등을 포함할 수 있다.
프로세서(180)는 로봇(100a)에 포함된 구성들의 전반적인 동작을 제어할 수 있다. 실시 예에 따라, 프로세서(180)는 카메라(142)를 통해 획득되는 이미지 신호를 처리하여 이미지 데이터를 생성하는 ISP, 디스플레이(152)의 동작을 제어하는 디스플레이 컨트롤러를 포함하는 통합 프로세서로 구현될 수 있다.
이하 도 6 내지 도 11을 통해, 로봇(100a)의 기동어 인식감도 설정 및 기동어 인식 동작과 관련된 실시 예들을 설명한다.
도 6은 본 발명의 실시 예에 따른 로봇의 기동어 인식 동작을 개략적으로 설명하기 위한 플로우차트이다.
도 6을 참조하면, 로봇(100a)은 마이크로폰(124)을 통해 로봇(100a)의 주변에서 발생하는 소음에 대응하는 사운드 데이터를 획득할 수 있다(S100).
로봇(100a)은 대기 상태에서도 기동어의 인식을 위해 마이크로폰(124)을 활성화시킬 수 있다.
마이크로폰(124)이 활성화됨에 따라, 프로세서(180)는 주변에서 발생하는 소음에 대응하는 사운드 데이터를 획득할 수 있다.
로봇(100a)은 획득된 사운드 데이터에 기초하여, 사운드 크기를 측정하고, 사운드의 종류(특성)를 인식할 수 있다(S110).
상기 사운드 데이터는 상기 소음에 대응하는 사운드 신호를 포함할 수 있다. 프로세서(180)는 상기 사운드 데이터에 포함된 사운드 신호의 진폭에 기초하여 사운드 크기를 측정할 수 있다. 예컨대, 프로세서(180)는 상기 사운드 크기를 데시벨(dB) 단위와 같은 기준 크기에 상대적인 크기의 형태로 나타낼 수 있다.
또한, 프로세서(180)는 사운드 신호를 주파수 대역별로 분석함으로써, 상기 사운드의 종류를 인식할 수 있다. 예컨대, 프로세서(180)는 상기 소음에 사람의 음성이 포함되어 있는지 여부를 기준으로 상기 사운드의 종류를 구분할 수 있다.
로봇(100a)은 측정된 사운드 크기 및 인식된 사운드 종류에 기초하여, 기동어 인식 감도를 설정할 수 있다(S120).
상기 기동어 인식 감도는, 사용자가 발화한 음성에 기동어가 포함된 것으로 판단하는 정도를 의미할 수 있다.
예컨대, 기동어 인식 감도는, 사용자가 발화한 음성으로부터 인식되는 음절, 문자, 또는 단어와, 기 등록된 기동어에 대응하는 음절, 문자, 또는 단어 사이의 매칭율과 관련될 수 있다. 이 경우, 기동어 인식 감도가 높을수록, 기동어로 판단되는 매칭율의 기준이 증가할 수 있다. 반면, 기동어 인식 감도가 낮을수록 상기 매칭율의 기준이 감소할 수 있다.
실시 예에 따라, 기동어 인식 감도는 사용자가 발화한 음성에 대응하는 신호(음성 신호)로부터 추출되는 특징점들과, 기동어에 대응하는 음성 신호의 특징점들 간의 매칭율과 관련될 수 있다.
실시 예에 따라, 기동어 인식 감도는 기동어가 아닌 유사 단어가 발화되었을 때, 상기 발화된 유사 단어를 기동어가 아닌 것으로 정확히 인식하는 확률과 연관될 수 있다. 예컨대, 기동어 인식 감도가 높은 경우, 상기 발화된 유사 단어를 기동어가 아닌 것으로 인식하는 확률이 증가할 수 있다. 이에 따라, 상기 유사 단어의 발화 시 로봇(100a)이 웨이크 업 되는 횟수가 감소할 수 있다. 반면, 기동어 인식 감도가 낮은 경우, 상기 발화된 유사 단어를 기동어가 아닌 것으로 인식하는 확률이 감소할 수 있다. 이에 따라, 상기 유사 단어의 발화 시 로봇(100a)이 웨이크 업 되는 횟수가 증가할 수 있다.
실시 예에 따라, 기동어 인식 감도는 음성 신호로부터 인식되는 단어(텍스트)의 각 음절 또는 문자와, 등록된 기동어의 각 음절 또는 문자 간의 순서 매칭율과도 관련될 수 있다.
예컨대, 프로세서(180)는 측정된 사운드 크기가 클수록, 기동어 인식 감도를 낮게 설정할 수 있다. 즉, 주변 소음에 의해 사용자의 기동어 중 일부가 인식되지 않아 매칭율이 낮더라도, 프로세서(180)는 기동어가 입력된 것으로 판단하여 로봇(100a)을 웨이크 업 시킬 수 있다.
반면, 측정된 사운드 크기가 낮은 경우, 즉 조용한 환경에서는, 프로세서(180)는 사용자의 기동어가 보다 정확히 인식될 경우, 즉 매칭율이 소정 수치 이상인 경우에만 로봇(100a)을 웨이크 업 시킬 수 있다.
그리고, 프로세서(180)는 소음 내에 사람들의 음성이 포함된 경우의 기동어 인식 감도를, 사람들의 음성이 포함되지 않은 경우의 기동어 인식 감도보다 높게 설정할 수 있다. 이에 따라, 기동어가 포함되지 않은 음성(사용자들 간의 대화 등)에 반응하여 로봇(100a)이 웨이크 업 되는 횟수를 감소시킬 수 있다.
로봇(100a)은 설정된 기동어 인식 감도에 기초하여, 사용자의 발화에 대응하는 음성 데이터 내에 기동어가 포함되어 있는지 여부를 인식할 수 있다(S130).
프로세서(180)는 음성 데이터의 음성 신호로부터 인식되는 음절, 문자, 또는 단어와, 상기 기동어에 대응하는 음절, 문자, 또는 단어를 비교하여 매칭율을 확인할 수 있다. 확인된 매칭율이 현재 설정된 기동어 인식 감도에 따른 매칭율 기준 이상인 경우, 프로세서(180)는 상기 음성 데이터 내에 기동어가 포함된 것으로 인식할 수 있다.
상기 음성 데이터 내에 기동어가 포함된 것으로 인식되는 경우, 프로세서(180)는 로봇(100a)을 대기 상태에서 웨이크 업 상태로 전환할 수 있다. 웨이크 업 상태로 전환된 로봇(100a)은 사용자가 추가로 발화하는 음성으로부터 명령이나 요청 등을 획득하고, 획득된 명령이나 요청에 기초하여 동작을 수행하거나 정보를 제공하는 등의 서비스를 수행할 수 있다.
도 7은 로봇이 주변 소음에 의해 사용자의 발화를 정확히 인식하지 못하는 상황을 보여주는 예시도이다.
도 7을 참조하면, 로봇(100a)은 대기 상태에서도 마이크로폰(124a~124c)의 활성화를 유지할 수 있다.
이 경우, 로봇(100a)은 로봇(100a)이 배치된 공간으로부터 발생하는 소음에 대응하는 사운드 데이터(NOISE)를 지속적으로 획득할 수 있다.
한편, 사용자(700)는 로봇(100a)을 이용하기 위해 로봇(100a)의 기동어(WW; 예컨대 “Hey Cloi”)를 발화할 수 있다.
프로세서(180)는 마이크로폰(124a~124c)을 통해 기동어(WW)를 포함하는 음성 데이터(VOICE)를 획득할 수 있다. 다만, 음성 데이터(VOICE)의 획득 시, 프로세서(180)는 소음에 대응하는 사운드 데이터(NOISE)를 함께 획득할 수 있다.
프로세서(180)는 상기 소음으로 인해 상기 음성 데이터(VOICE) 내의 기동어(WW)를 모두 인식하지 못할 수 있다. 예컨대, 프로세서(180)는 “Hey Cloi” 중 “Hey loi”만을 인식할 수 있다.
프로세서(180)가 기동어(WW)가 모두 인식되지 않았음을 이유로 사용자(700)의 기동어 발화에 응답하지 않는 경우, 사용자(700)는 기동어(WW)를 재차 발화하여야 하는 불편함을 겪을 수 있고, 로봇(100a)에 대한 만족도가 저하될 수 있다.
따라서, 로봇(100a)은 상기 소음에 대응하는 사운드의 크기 및 종류에 기초하여 기동어 인식 감도를 조절함으로써, 기동어(WW)가 모두 인식되지 않더라도 기동어(WW)가 발화된 것으로 간주하여 웨이크 업 될 수 있다.
이하 도 8을 참조하여 로봇(100a)의 기동어 인식 감도 설정과 관련된 보다 구체적인 실시 예를 설명한다.
도 8은 본 발명의 실시 예에 따른 로봇의 기동어 인식 감도 설정 동작 및 기동어 인식 동작을 보다 상세히 설명하기 위한 플로우차트이다.
도 8에서는 로봇(100a)에 설정되는 기동어 인식 감도가 제1 레벨, 제2 레벨, 및 제3 레벨 중 어느 하나인 것으로 가정하여 설명한다. 다만, 실시 예에 따라 설정가능한 레벨의 수는 보다 많거나 적을 수 있다.
도 8을 참조하면, 로봇(100a)은 획득된 사운드 데이터의 사운드 크기를 측정할 수 있다(S200).
도 6에서 상술한 바와 같이, 프로세서(180)는 상기 사운드 데이터에 포함된 사운드 신호의 진폭에 기초하여 사운드 크기를 측정할 수 있다. 예컨대, 프로세서(180)는 상기 사운드 크기를 데시벨(dB) 단위와 같은 기준 크기에 상대적인 크기의 형태로 나타낼 수 있다.
측정된 사운드 크기가 기설정된 기준 크기보다 작은 경우(S210의 YES), 로봇(100a)은 기동어 인식 감도를 제1 레벨로 설정할 수 있다(S220).
예컨대, 제1 레벨은 조용한 환경에서의 기동어 인식 감도일 수 있다. 즉, 프로세서(180)는 측정된 사운드 크기가 기준 크기보다 작은 경우에는, 로봇(100a)이 배치된 공간의 소음 환경이 조용한 환경인 것으로 인식하여, 기동어 인식 감도를 제1 레벨로 설정할 수 있다.
상기 제1 레벨은 S250 단계 및 S260 단계에서 후술할 제2 레벨 및 제3 레벨 보다 높은 기동어 인식 감도일 수 있다. 즉, 프로세서(180)는 측정된 사운드 크기가 기설정된 기준 크기보다 작은 경우, 기동어 인식 감도를 가장 높은 레벨로 설정할 수 있다.
일례로, 제1 레벨은 사용자의 음성과 기동어 간의 매칭률 기준이 98%일 수 있으나, 이는 자유롭게 변경될 수 있다.
반면, 측정된 사운드 크기가 기설정된 기준 크기 이상인 경우(S210의 NO), 로봇(100a)은 상기 획득된 사운드 데이터로부터 사운드 종류를 인식할 수 있다(S230).
도 6에서 상술한 바와 같이, 프로세서(180)는 사운드 데이터에 포함된 사운드 신호를 주파수 대역별로 분석함으로써, 상기 사운드의 종류를 인식할 수 있다. 본 발명의 실시 예에 따르면, 프로세서(180)는 상기 소음에 사람의 음성이 포함되어 있는지 여부를 기준으로 상기 사운드의 종류를 구분할 수 있다.
예컨대, 프로세서(180)는 전체 사운드 신호 중, 사람의 음성에 대응하는 주파수 대역(예컨대 200Hz ~ 3.5kHz)의 성분 비율이 기준 비율 이상인 경우, 상기 사운드 데이터에 사람의 음성이 포함된 것으로 인식할 수 있다.
인식 결과, 사운드 데이터에 사람의 음성이 포함된 경우(S240의 YES), 로봇(100a)은 기동어 인식 감도를 제2 레벨로 설정할 수 있다(S250).
반면, 사운드 데이터에 사람의 음성이 포함되지 않은 경우(S240의 NO), 로봇(100a)은 기동어 인식 감도를 제3 레벨로 설정할 수 있다(S260).
예컨대, 제2 레벨은 사람들의 대화로 인한 소음이 발생하는 환경에서의 기동어 인식 감도일 수 있다. 즉, 프로세서(180)는 사운드 데이터에 사람의 음성이 포함된 것으로 인식된 경우, 로봇(100a)의 기동어 인식 감도를 제2 레벨로 설정할 수 있다.
실시 예에 따라, 프로세서(180)는 사운드 데이터에 포함된 음성의 특성에 기초하여 사람의 수를 추정할 수 있다. 예컨대, 프로세서(180)는 사운드 데이터로부터 주파수 분석 등을 통해 적어도 한 명의 사람이 발화한 음성 각각을 인식함으로써, 사람의 수를 추정할 수 있다. 이 경우, 프로세서(180)는 추정된 사람의 수가 기준 인원 수 이상인 경우의 기동어 인식 감도를 상기 제2 레벨보다 높게 설정할 수도 있다. 또는, 프로세서(180)는 추정된 사람의 수가 증가할수록 상기 기동어 인식 감도를 높게 설정할 수도 있다.
그리고, 제3 레벨은 사람들의 대화가 아닌 다른 요인(기계 등)으로 인한 소음이 발생하는 환경에서의 기동어 인식 감도일 수 있다. 즉, 프로세서(180)는 사운드 데이터에 사람의 음성이 포함되지 않은 것으로 인식되는 경우, 로봇(100a)의 기동어 인식 감도를 제3 레벨로 설정할 수 있다.
상기 제2 레벨은 제1 레벨의 기동어 인식 감도보다는 낮고, 제3 레벨의 기동어 인식 감도보다는 높을 수 있다.
즉, 프로세서(180)는 로봇(100a)을 사용하려는 사람이 없음에도 불구하고 주변 사람들의 대화에 포함된 음성으로 인해 로봇(100a)이 웨이크 업 되는 것을 방지하기 위해, 기동어 인식 감도를 제3 레벨보다 높은 제2 레벨로 설정할 수 있다.
일례로, 제2 레벨은 사용자의 음성과 기동어 간의 매칭률 기준이 92%일 수 있고, 제3 레벨은 상기 매칭률 기준이 85%일 수 있으나, 반드시 그러한 것은 아니다.
비록 도시되지는 않았으나, 로봇(100a)은 조도 센서(146)의 센싱값에 기초하여 상기 기동어 인식 감도를 추가로 조절할 수도 있다. 예컨대, 야간의 경우 주간에 비해 소음의 정도가 낮을 수 있다.
조도 센서(146)의 센싱값이 기준 센싱값보다 낮은 경우(예컨대, 야간), 프로세서(180)는 설정된 기동어 인식 감도를 증가시킬 수 있다. 예컨대, 현재 설정된 기동어 인식 감도가 제2 레벨인 상태에서, 프로세서(180)는 조도 센서(146)의 센싱값이 기준 센싱값보다 낮은 경우 기동어 인식 감도를 제1 레벨과 제2 레벨 사이의 레벨로 설정할 수 있다. 반면, 조도 센서(146)의 센싱값이 기준 센싱값보다 높은 경우(예컨대, 주간), 프로세서(180)는 기동어 인식 감도를 제2 레벨과 제3 레벨 사이의 레벨로 설정할 수 있다.
로봇(100a)은 사용자가 발화한 음성에 대응하는 음성 데이터를 수신하고(S270), 설정된 기동어 인식 감도에 기초하여 상기 수신된 음성 데이터 내에 기동어가 포함되어 있는지 여부를 인식할 수 있다(S280).
S270 단계 내지 S280 단계와 관련된 내용은 이하 도 9 내지 도 11을 참조하여 보다 상세히 설명한다.
한편, 도 8에 도시된 동작들 중 적어도 일부는 로봇(100a)과 연결되는 서버(예컨대 AI 서버(200))에 의해 수행될 수도 있다. 이 경우, 로봇(100a)은 획득된 사운드 데이터를 서버(200)로 전송하고, 서버(200)의 프로세서(260)는 상술한 S200 단계 내지 S260 단계를 수행하여 기동어 인식 감도를 설정할 수 있다.
그리고, 로봇(100a)은 사용자가 발화한 음성 데이터를 서버(200)로 전송하고, 서버(200)는 설정된 기동어 인식 감도에 따라 상기 음성 데이터 내의 기동어 포함 여부를 인식하고, 인식 결과에 기초한 웨이크 업 제어 신호를 로봇(100a)으로 전송할 수 있다. 로봇(100a)은 수신된 웨이크 업 제어 신호에 기초하여 웨이크 업 되거나 웨이크 업 되지 않을 수 있다.
도 9는 로봇이 사용자의 발화에 따른 음성 신호를 처리하여 기동어를 인식하는 동작을 설명하기 위한 도면이다. 도 10 내지 도 11은 음성 신호의 인식 결과와 관련된 예들을 나타낸 도면이다.
도 9를 참조하면, 프로세서(180)는 사용자의 발화에 따른 음성 데이터(VOICE)를 마이크로폰(124)을 통해 획득할 수 있다.
프로세서(180)는 메모리(170)에 저장된 음성 인식 프로그램이나 알고리즘에 기초하여, 상기 음성 데이터(VOICE)로부터 음성을 인식할 수 있다.
프로세서(180)는 수신된 음성 데이터(VOICE)의 음성 신호 특성에 기초하여 음성 인식 구간을 추출(910)할 수 있다.
프로세서(180)는 마이크로폰(124)을 통해 로봇(100a) 주변에서 발생하는 사운드 데이터를 지속적으로 획득할 수 있다. 이 때, 사용자가 음성을 발화하는 시점에서, 수신되는 사운드 데이터에 음성 데이터(VOICE)가 포함됨에 따라, 신호의 특성이 변화할 수 있다.
예컨대, 프로세서(180)는 상기 신호의 특성이 변화하는 시점부터, 상기 특성의 변화가 종료되는 시점까지의 신호를 추출함으로써, 상기 음성 데이터(VOICE)에 대응하는 인식구간을 추출할 수 있다.
프로세서(180)는 추출된 음성 데이터(VOICE)에 대응하는 음성 신호의 노이즈를 제거(920)할 수 있다. 예컨대, 프로세서(180)는 band pass 필터 등을 이용하여 사람의 음성에 대응하는 주파수 대역(예컨대 200Hz 내지 3.5kHz)을 제외한 나머지 주파수 대역의 신호 성분을 제거할 수 있다. 또는, 프로세서(180)는 음성 데이터(VOICE)의 획득 이전에 수신된 사운드 신호의 성분을 상기 음성 신호로부터 제거함으로써 노이즈를 제거할 수도 있다. 노이즈 제거와 관련된 다양한 방식들은 이미 널리 공지된 바, 이에 대한 설명은 생략하기로 한다.
프로세서(180)는 노이즈 제거된 음성 신호로부터, 음성 신호에 포함된 음절, 문자, 또는 단어 등의 인식을 위한 특징점들을 추출(930)할 수 있다. 예컨대, 상기 특징점들은 신호 세기, 주파수 특성, 신호 또는 주파수 패턴에 기초하여 추출될 수 있다.
프로세서(180)는, 추출된 특징점들을 메모리(170)에 저장된 음성모델 데이터베이스(950)에 포함된 특징점들과 비교하고(940), 비교 결과에 기초하여 음성 데이터(VOICE)에 포함된 음절, 문자, 또는 단어의 인식 결과를 출력(960)할 수 있다.
음성모델 데이터베이스(950)에는 음절, 문자, 또는 단어들 각각의 특징점들에 대한 데이터가 저장될 수 있다. 프로세서(180)는 음성 신호로부터 추출된 특징점들 각각을, 음성모델 데이터베이스(950)에 포함된 특징점들과 비교하고, 비교 결과 매칭되는 특징점에 대응하는 음절, 문자, 또는 단어를 획득할 수 있다.
실시 예에 따라, 프로세서(180)는 추출된 특징점들을 머신 러닝 기반의 학습 모델로 입력함으로써, 상기 특징점들에 대응하는 음절, 문자, 또는 단어의 인식 결과를 획득할 수도 있다. 상기 학습 모델은 로봇(100a)의 러닝 프로세서(130) 또는 서버(200)의 러닝 프로세서(240)에 의해 학습된 것일 수 있다.
프로세서(180)는 출력된 인식 결과에 포함된 음절, 문자, 또는 단어를, 기 설정된 기동어와 비교하여 매칭률을 획득할 수 있다.
프로세서(180)는 획득된 매칭률이 현재 설정된 기동어 인식 감도의 매칭률 기준 이상인 경우, 음성 데이터(VOICE)에 기동어가 포함된 것으로 인식하여 로봇(100a)을 웨이크 업 시킬 수 있다.
도 10을 참조하면, 프로세서(180)는 마이크로폰(124)을 통해 사용자가 발화한 제1 음성 데이터를 획득할 수 있다.
프로세서(180)는 획득된 제1 음성 데이터에 포함된 제1 음성 신호(VS1)로부터 사용자의 발화에 포함된 문자들을 인식할 수 있다.
예컨대, 사용자의 발화 시 노이즈가 충분히 낮고, 사용자가 기동어를 정상적으로 발화한 경우, 프로세서(180)는 제1 음성 신호(VS1)로부터 문자들 “Hey Cloi”를 인식할 수 있다.
프로세서(180)는 인식된 문자들 “Hey Cloi”과 기설정된 기동어 “Hey Cloi”를 비교할 수 있다. 비교 결과, 인식된 문자들과 기설정된 기동어의 문자들이 완전히 일치하므로, 프로세서(180)는 사용자가 기동어를 발화한 것으로 인식하여 로봇(100a)을 웨이크 업 시킬 수 있다.
도 10과 같이 인식된 문자들과 기설정된 기동어가 완전히 일치하는 경우에는, 로봇(100a)은 설정된 기동어 인식 감도와 관계없이 웨이크 업 될 것이다.
반면, 도 11을 참조하면, 프로세서(180)는 마이크로폰(124)을 통해 사용자가 발화한 제2 음성 데이터를 획득할 수 있다.
프로세서(180)는 획득된 제2 음성 데이터에 포함된 제2 음성 신호(VS2)로부터 사용자가 발화한 문자들을 인식할 수 있다.
예컨대, 사용자의 발화 도중 소정 시점에서 노이즈가 발생한 경우, 제2 음성 신호(VS2)에는 노이즈 신호(NS)가 포함될 수 있다. 상기 노이즈 신호(NS)에 의해, 프로세서(180)는 제2 음성 신호(VS2)로부터 “Hey loi”만을 인식할 수 있다.
프로세서(180)는 인식된 문자들 “Hey loi”과 기설정된 기동어 “Hey Cloi”를 비교하여 매칭률을 획득할 수 있다. 비교 결과, 인식된 문자들과 기설정된 기동어의 문자들 간의 매칭률은 약 85.7%일 수 있다.
프로세서(180)는 획득된 매칭률과 현재 설정된 기동어 인식 감도에 기초하여 로봇(100a)의 웨이크 업 여부를 결정할 수 있다.
예컨대, 기동어 인식 감도가 제1 레벨인 경우, 매칭률 기준은 98%일 수 있다. 이 경우, 프로세서(180)는 획득된 매칭률이 상기 매칭률 기준보다 낮으므로, 사용자의 발화에 기동어가 포함되지 않은 것으로 인식하고, 로봇(100a)을 웨이크 업 시키지 않을 수 있다.
또한, 기동어 인식 감도가 제2 레벨인 경우, 매칭률 기준은 92%일 수 있다. 프로세서(180)는 상기 획득된 매칭률이 매칭률 기준보다 낮으므로, 사용자의 발화에 기동어가 포함되지 않은 것으로 인식하고, 로봇(100a)을 웨이크 업 시키지 않을 수 있다.
반면, 기동어 인식 감도가 제3 레벨인 경우, 매칭률 기준은 85%일 수 있다. 이 경우, 프로세서(180)는 획득된 매칭률이 상기 매칭률 기준보다 높으므로, 사용자의 발화에 기동어가 포함된 것으로 인식하고, 로봇(100a)을 웨이크 업 시킬 수 있다.
즉, 프로세서(180)는 주변의 소음 환경에 따라 설정된 기동어 인식 감도에 따라, 동일한 매칭률에 대해 로봇(100a)을 웨이크 업 시키거나 웨이크 업 시키지 않을 수 있다. 특히, 주변의 소음이 심한 경우 프로세서(180)는 기동어 인식 감도를 낮춤으로써, 매칭률이 낮더라도 로봇(100a)을 웨이크 업 시킬 수 있다.
도 12는 본 발명의 일 실시 예에 따른 로봇의 기동어 인식 동작을 개략적으로 설명하기 위한 플로우차트이다.
도 6 및 도 8에서 상술한 실시 예와 달리, 도 12 내지 도 13에 도시된 실시 예에서는, 로봇(100a)은 카메라(142)를 이용하여 주변의 사운드(소음 등) 중 사람이 발화한 음성이 포함되어 있는지 여부를 보다 정확히 인식할 수 있다.
도 12를 참조하면, 로봇(100a)은 마이크로폰(124)을 통해 로봇(100a)의 주변에서 발생하는 사운드에 대응하는 사운드 신호를 획득할 수 있다(S300).
마이크로폰(124)이 활성화됨에 따라, 프로세서(180)는 주변에서 발생하는 사운드에 대응하는 사운드 신호(또는 사운드 데이터)를 획득할 수 있다.
로봇(100a)은 획득된 사운드 신호에 기초하여 사운드의 종류(특성)를 인식할 수 있다(S310).
예컨대, 프로세서(180)는 사운드 신호의 주파수 특성, 진폭 특성 등에 따라 사운드의 종류를 인식할 수 있다. 일례로, 프로세서(180)는 사운드 신호를 주파수 대역별로 분석함으로써, 상기 사운드의 종류를 인식할 수 있다.
구체적으로, 프로세서(180)는 상기 사운드 신호에 사람의 음성에 해당하는 성분이 포함되어 있는지 여부를 기준으로 상기 사운드의 종류를 구분할 수 있다.
로봇(100a)은 인식된 사운드 종류에 기초하여 카메라(142)를 활성화할 수 있다(S320). 로봇(100a)은 활성화된 카메라(142)에 의해 획득된 영상에 기초하여 기동어 인식 감도를 설정할 수 있다(S330).
프로세서(180)는 사운드 신호로부터 사람의 음성이 인식되는 경우, 비활성화 상태인 카메라(142)를 활성화할 수 있다.
카메라(142)는 활성화됨에 따라 로봇(100a) 주변의 소정 영역의 영상을 획득할 수 있다. 예컨대, 프로세서(180)는 활성화된 카메라(142)를 제어하여 기준 시간 동안의 영상을 획득할 수 있다.
프로세서(180)는 획득된 영상에 기초하여 기동어 인식 감도를 설정할 수 있다. 예컨대, 프로세서(180)는 기 공지된 영상 인식 기법을 통해 상기 획득된 영상으로부터 사람의 존재 여부를 인식하고, 사람의 존재 유무에 따라 기동어 인식 감도를 서로 다르게 설정할 수 있다.
도 6 등에서 상술한 바와 같이, 상기 기동어 인식 감도는 사용자가 발화한 음성에 기동어가 포함된 것으로 판단하는 정도를 의미할 수 있다.
프로세서(180)는 상기 영상으로부터 사람의 존재가 인식되는 경우의 기동어 인식 감도를, 사람의 존재가 인식되지 않는 경우의 기동어 인식 감도보다 높게 설정할 수 있다. 이에 따라, 기동어가 포함되지 않은 음성(사용자들 간의 대화 등)에 반응하여 로봇(100a)이 웨이크 업 되는 횟수가 감소될 수 있다.
즉, 프로세서(180)는 획득된 사운드 신호로부터 사람의 음성이 인식된 경우, 추가로 카메라(142)를 통해 획득된 영상으로부터 로봇(100a) 주변의 사람 존재 여부를 인식함으로써, 사람이 발화한 음성을 보다 정확히 인식할 수 있다. 특히, 프로세서(180)는 사운드 신호로부터 사람의 음성이 인식된 경우에 카메라(142)를 활성화함으로써, 카메라(142)가 활성화 상태를 유지하는 것에 비해 전력 소모를 효과적으로 절약할 수 있다.
실시 예에 따라, 프로세서(180)는 상기 영상으로부터 기준 인원 수 이상의 사람들이 인식되는 경우의 기동어 인식 감도를, 기준 인원 수 미만의 사람이 인식된 경우의 기동어 인식 감도보다 높게 설정할 수도 있다.
실시 예에 따라, 프로세서(180)는 상기 영상으로부터 인식되는 사람의 수가 증가할수록 상기 기동어 인식 감도를 높게 설정할 수도 있다.
로봇(100a)은 설정된 기동어 인식 감도에 기초하여, 사용자의 발화에 대응하는 음성 데이터 내에 기동어가 포함되어 있는지 여부를 인식할 수 있다(S340).
상기 음성 데이터 내에 기동어가 포함된 것으로 인식되는 경우, 프로세서(180)는 로봇(100a)을 대기 상태에서 웨이크 업 상태로 전환할 수 있다.
로봇(100a)이 웨이크 업 됨에 따라, 디스플레이(152)를 통해 소정 화면이 출력되거나, 사운드 출력부(154)를 통해 소정 사운드가 출력될 수 있다.
웨이크 업 상태로 전환된 로봇(100a)은 사용자가 추가로 발화하는 음성으로부터 명령이나 요청 등을 획득하고, 획득된 명령이나 요청에 기초하여 동작을 수행하거나 정보를 제공하는 등의 서비스를 수행할 수 있다.
도 13은 본 발명의 일 실시 예에 따른 로봇의 기동어 인식 감도 설정 동작 및 기동어 인식 동작을 보다 상세히 설명하기 위한 플로우차트이다.
도 13을 참조하면, 로봇(100a)은 획득된 사운드 신호로부터 사운드의 종류(특성)를 인식할 수 있다(S400).
S400 단계에 대해서는 도 12의 S310 단계에서 상술한 바 있으므로, 이에 대한 설명은 생략하기로 한다.
상기 사운드에 사람의 음성이 포함된 것으로 인식된 경우(S410의 YES), 로봇(100a)은 비활성화 상태인 카메라(142)를 활성화하고, 활성화된 카메라(142)를 통해 로봇 주변의 영상을 획득할 수 있다(S420).
카메라(142)는 활성화됨에 따라 로봇(100a) 주변의 소정 영역의 영상을 획득할 수 있다. 예컨대, 프로세서(180)는 활성화된 카메라(142)를 제어하여 기준 시간 동안의 영상을 획득할 수 있다.
실시 예에 따라, 프로세서(180)는 회전 기구(160)를 제어하여 로봇(100a)을 회전시키면서 상기 영상을 획득함으로써, 로봇 주변의 다양한 영역을 포함하는 영상을 획득할 수도 있다.
다른 실시 예에 따라, 프로세서(180)는 복수의 마이크로폰들(124a~124c; 도 4 참조)을 통해 획득된 사운드 신호로부터 사운드 발생 방향을 추정할 수 있다. 이 경우, 프로세서(180)는 카메라(142)가 상기 추정된 사운드 발생 방향을 향하도록 회전 기구(160)를 제어하고, 카메라(142)를 통해 영상을 획득할 수도 있다.
로봇(100a)은 획득된 영상으로부터 사람의 존재 유무를 인식할 수 있다(S430).
프로세서(180)는 기 공지된 영상 인식 기법을 통해, 상기 획득된 영상으로부터 사람의 존재 유무를 인식할 수 있다.
상기 영상으로부터 사람이 인식된 경우(S440의 YES), 로봇(100a)은 기동어 인식 감도를 제2 레벨로 설정할 수 있다(S450).
상기 제2 레벨은 도 8에서 상술한 제2 레벨에 해당할 수 있다.
즉, 프로세서(180)는 획득된 사운드 신호로부터 사람의 음성이 인식된 경우, 추가로 카메라(142)를 통해 획득된 영상으로부터 로봇(100a) 주변의 사람 존재 여부를 인식함으로써, 사람이 발화한 음성을 보다 정확히 인식할 수 있다.
실시 예에 따라, 프로세서(180)는 상기 영상으로부터 기준 인원 수 이상의 사람들이 인식되는 경우의 기동어 인식 감도를, 기준 인원 수 미만의 사람이 인식된 경우의 기동어 인식 감도(예컨대 제2 레벨)보다 높게 설정할 수도 있다.
실시 예에 따라, 프로세서(180)는 상기 영상으로부터 인식되는 사람의 수가 증가할수록 상기 기동어 인식 감도를 높게 설정할 수도 있다.
반면, 상기 사운드에 사람의 음성이 포함되지 않은 것으로 인식된 경우(S410의 NO), 또는 상기 영상으로부터 사람이 인식되지 않은 경우(S440의 NO), 로봇(100a)은 상기 사운드가 사람에 의해 발생하지 않은 것으로 판단하여 기동어 인식 감도를 설정할 수 있다.
도 13에서는 상기 영상으로부터 사람이 인식되지 않는 경우, 사운드 크기에 기초하여 기동어 인식 감도를 설정하는 예가 도시되어 있다(S460 내지 S480). 구체적으로, 프로세서(180)는 사운드 신호로부터 사운드 크기를 측정할 수 있다. 프로세서(180)는 측정된 사운드 크기가 기준 크기보다 작은 경우(S460의 YES), 기동어 인식 감도를 제1 레벨로 설정할 수 있다(S470). 반면, 측정된 사운드 크기가 기준 크기보다 큰 경우(S460의 NO), 프로세서(180)는 기동어 인식 감도를 제3 레벨로 설정할 수 있다(S480). 상기 제1 레벨 및 상기 제3 레벨은 도 8에서 상술한 제1 레벨 및 제3 레벨에 해당할 수 있다.
그러나, 실시 예에 따라서는, 상기 영상으로부터 사람이 인식되지 않은 경우, 로봇(100a)은 사운드 크기와 관계없이 상기 기동어 인식 감도를 상기 제2 레벨보다 낮게 설정할 수도 있다. 즉, 로봇(100a)은 사운드 내에 사람의 음성이 포함된 경우의 기동어 인식 감도를, 사람의 음성이 포함되지 않은 경우의 기동어 인식 감도보다 높게 설정할 수 있다. 이에 따라, 기동어가 포함되지 않은 음성(사용자들 간의 대화 등)에 반응하여 로봇(100a)이 잘못 웨이크 업 되는 횟수를 효과적으로 감소시킬 수 있다.
또한, 도 8에서 상술한 바와 같이, 로봇(100a)은 조도 센서(146)의 센싱값에 기초하여 상기 기동어 인식 감도를 추가로 조절할 수도 있다.
로봇(100a)은 사용자가 발화한 음성에 대응하는 음성 데이터를 수신하고(S490), 설정된 기동어 인식 감도에 기초하여 상기 수신된 음성 데이터 내에 기동어가 포함되어 있는지 여부를 인식할 수 있다(S500).
도 13에 도시된 동작들 중 적어도 일부는 로봇(100a)과 연결되는 서버(예컨대 AI 서버(200))에 의해 수행될 수도 있다. 이 경우, 로봇(100a)은 획득된 사운드 신호를 서버(200)로 전송하고, 서버(200)의 프로세서(260)는 상술한 S400 단계 내지 S480 단계를 수행하여 기동어 인식 감도를 설정할 수 있다.
그리고, 로봇(100a)은 사용자가 발화한 음성 데이터를 서버(200)로 전송하고, 서버(200)는 설정된 기동어 인식 감도에 따라 상기 음성 데이터 내의 기동어 포함 여부를 인식하고, 인식 결과에 기초한 웨이크 업 제어 신호를 로봇(100a)으로 전송할 수 있다. 로봇(100a)은 수신된 웨이크 업 제어 신호에 기초하여 웨이크 업 되거나 웨이크 업 되지 않을 수 있다.
본 발명의 실시 예에 따르면, 로봇(100a) 또는 서버(200)는 로봇(100a) 주변의 소음 정도에 따라 기동어 인식 감도를 가변함으로써, 주변의 소음 정도와 관계없이 기동어를 원활히 인식할 수 있다. 이에 따라, 기동어의 인식률 저하에 따른 사용자의 번거로움이나 불편을 효과적으로 감소시킬 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 로봇에 있어서,
    상기 로봇의 주변에서 발생하는 사운드에 대응하는 사운드 신호를 획득하는 마이크로폰;
    카메라;
    상기 로봇의 웨이크 업 시 소정 화면을 출력하는 디스플레이, 및 소정 사운드를 출력하는 스피커 중 적어도 하나를 포함하는 출력부; 및
    획득된 사운드 신호로부터, 상기 사운드에 사람의 음성이 포함되어 있는지 여부를 인식하고,
    인식 결과 상기 사운드에 사람의 음성이 포함된 경우 상기 카메라를 활성화하고,
    상기 활성화된 카메라에 의해 획득되는 영상으로부터 사람의 존재 여부를 인식하고,
    상기 사람의 존재 여부에 대한 인식 결과에 기초하여 기동어 인식 감도를 설정하고,
    설정된 기동어 인식 감도에 기초하여, 상기 마이크로폰을 통해 획득되는 사용자의 음성 데이터로부터 기동어의 포함 여부를 인식하는 프로세서를 포함하는 로봇.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 획득된 영상으로부터 사람이 인식되는 경우, 상기 기동어 인식 감도를 제1 레벨로 설정하는 로봇.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 획득된 영상으로부터 기준 인원수 이상의 사람들이 인식되는 경우, 상기 기동어 인식 감도를 상기 제1 레벨보다 높은 감도를 갖도록 설정하는 로봇.
  4. 제2항에 있어서,
    상기 프로세서는,
    상기 획득된 영상으로부터 사람이 인식되지 않는 경우, 상기 기동어 인식 감도를 상기 제1 레벨보다 낮은 제2 레벨로 설정하는 로봇.
  5. 제2항에 있어서,
    상기 프로세서는,
    상기 획득된 영상으로부터 사람이 인식되지 않는 경우, 상기 사운드 신호에 기초하여 사운드 크기를 측정하고,
    측정된 사운드 크기에 기초하여 상기 기동어 인식 감도를 설정하는 로봇.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 측정된 사운드 크기가 기준 크기보다 큰 경우, 상기 기동어 인식 감도를 상기 제1 레벨보다 낮은 제2 레벨로 설정하고,
    상기 측정된 사운드 크기가 상기 기준 크기보다 작은 경우, 상기 기동어 인식 감도를 상기 제1 레벨보다 높은 제3 레벨로 설정하는 로봇.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 사운드 신호 중, 사람의 음성에 대응하는 주파수 대역의 신호 성분에 기초하여 상기 사운드 내에 상기 사람의 음성의 포함 여부를 인식하는 로봇.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 사운드 내에 상기 사람의 음성이 포함되지 않은 것으로 인식되는 경우, 상기 사운드 신호에 기초하여 사운드 크기를 측정하고,
    측정된 사운드 크기가 클수록 상기 기동어 인식 감도를 낮게 설정하는 로봇.
  9. 제1항에 있어서,
    조도를 측정하는 조도 센서를 더 포함하고,
    상기 프로세서는,
    상기 조도 센서의 센싱값이 기준 센싱값보다 낮은 경우 상기 설정된 기동어 인식 감도를 증가시키고,
    상기 조도 센서의 센싱값이 상기 기준 센싱값보다 높은 경우, 상기 설정된 기동어 인식 감도를 감소시키는 로봇.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 음성 데이터로부터 사용자의 발화에 포함된 음절, 문자, 및 단어 중 적어도 하나를 인식하고,
    인식된 음절, 문자, 및 단어 중 적어도 하나와 상기 기동어를 비교하고,
    비교 결과, 및 상기 기동어 인식 감도에 기초하여 상기 음성 데이터로부터 상기 기동어의 포함 여부를 인식하는 로봇.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 인식된 음절, 문자, 및 단어 중 적어도 하나와 상기 기동어 사이의 매칭률을 획득하고,
    획득된 매칭률이 현재 설정된 기동어 인식 감도의 매칭률 기준보다 높은 경우, 상기 음성 데이터에 상기 기동어가 포함된 것으로 인식하는 로봇.
  12. 제10항에 있어서,
    상기 프로세서는,
    머신 러닝 기반으로 학습된 학습 모델을 포함하는 메모리를 더 포함하고,
    상기 학습 모델을 통해, 상기 음성 데이터로부터 추출되는 특징점들로부터 상기 음절, 문자, 및 단어 중 적어도 하나를 인식하는 로봇.
  13. 제1항에 있어서,
    상기 프로세서는,
    상기 음성 데이터에 상기 기동어가 포함된 것으로 인식된 경우, 상기 로봇을 웨이크 업 시킴에 따라 상기 소정 화면 또는 상기 소정 사운드 중 적어도 하나를 출력하도록 상기 출력부를 제어하는 로봇.
  14. 제1항에 있어서,
    서버와 연결하기 위한 통신부를 더 포함하고,
    상기 프로세서는,
    상기 획득된 사운드 신호를 상기 서버로 전송하고,
    상기 획득된 음성 데이터를 상기 서버로 전송하고,
    상기 서버로부터 상기 음성 데이터의 인식 결과에 기초한 웨이크 업 제어 신호를 수신하고,
    수신된 웨이크 업 제어 신호에 기초하여 상기 출력부를 제어하는 로봇.
  15. 로봇의 마이크로폰을 통해 사운드 신호를 획득하는 단계;
    획득된 사운드 신호로부터 사람의 음성의 포함 여부를 인식하는 단계;
    사람의 음성이 포함된 것으로 인식된 경우, 상기 로봇에 포함된 카메라를 활성화하는 단계;
    활성화된 카메라에 의해 획득된 영상으로부터 사람의 존재 여부를 인식하는 단계;
    인식 결과에 기초하여 기동어 인식 감도를 설정하는 단계;
    설정된 기동어 인식 감도에 기초하여, 상기 마이크로폰을 통해 획득되는 사용자의 음성 데이터로부터 기동어의 포함 여부를 인식하는 단계; 및
    상기 음성 데이터에 상기 기동어가 포함된 것으로 인식된 경우, 상기 로봇이 웨이크 업 되는 단계를 포함하는 로봇을 이용한 기동어 인식 방법.
  16. 제15항에 있어서,
    상기 기동어 인식 감도를 설정하는 단계는,
    상기 획득된 영상으로부터 사람이 인식된 경우의 기동어 인식 감도를, 상기 사람이 인식되지 않은 경우의 기동어 인식 감도보다 높게 설정하는 단계를 포함하는 로봇을 이용한 기동어 인식 방법.
  17. 제15항에 있어서,
    상기 기동어 인식 감도를 설정하는 단계는,
    상기 획득된 영상으로부터 사람이 인식되지 않는 경우, 상기 사운드 신호에 기초하여 사운드 크기를 측정하는 단계; 및
    측정된 사운드 크기에 기초하여 상기 기동어 인식 감도를 설정하는 단계를 포함하는 로봇을 이용한 기동어 인식 방법.
  18. 제17항에 있어서,
    상기 측정된 사운드 크기에 기초하여 상기 기동어 인식 감도를 설정하는 단계는,
    상기 사운드 크기가 기준 크기보다 큰 경우, 상기 사람이 인식된 경우의 기동어 인식 감도보다 낮은 기동어 인식 감도를 설정하는 단계; 및
    상기 사운드 크기가 상기 기준 크기보다 작은 경우, 상기 사람이 인식된 경우의 기동어 인식 감도보다 높은 기동어 인식 감도를 설정하는 단계를 포함하는 로봇을 이용한 기동어 인식 방법.
  19. 제15항에 있어서,
    상기 기동어 인식 감도를 설정하는 단계는,
    상기 로봇의 조도 센서를 통해 측정되는 센싱값에 기초하여, 설정된 기동어 인식 감도를 증가 또는 감소시키는 단계를 더 포함하는 로봇을 이용한 기동어 인식 방법.
  20. 로봇으로부터, 상기 로봇의 주변에서 발생하는 사운드에 대응하는 사운드 신호를 수신하는 통신부; 및
    수신된 사운드 신호로부터 사람의 음성이 인식된 경우, 상기 통신부를 통해 상기 로봇으로부터 로봇 주변의 영상을 수신하고,
    수신된 영상으로부터 사람의 존재 여부를 인식하고,
    인식 결과에 기초하여 기동어 인식 감도를 설정하고,
    설정된 기동어 인식 감도에 기초하여, 상기 통신부를 통해 수신되는 사용자의 음성 데이터로부터 기동어의 포함 여부를 인식하는 프로세서를 포함하는 서버.
KR1020190114461A 2019-07-19 2019-09-18 로봇 및 그의 기동어 인식 방법 KR20210010270A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/865,224 US11577379B2 (en) 2019-07-19 2020-05-01 Robot and method for recognizing wake-up word thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
WOPCT/KR2019/008984 2019-07-19
PCT/KR2019/008984 WO2021015308A1 (ko) 2019-07-19 2019-07-19 로봇 및 그의 기동어 인식 방법

Publications (1)

Publication Number Publication Date
KR20210010270A true KR20210010270A (ko) 2021-01-27

Family

ID=74192934

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190114461A KR20210010270A (ko) 2019-07-19 2019-09-18 로봇 및 그의 기동어 인식 방법

Country Status (3)

Country Link
US (1) US11577379B2 (ko)
KR (1) KR20210010270A (ko)
WO (1) WO2021015308A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102456438B1 (ko) * 2022-07-13 2022-10-19 (주)인티그리트 인공지능을 활용한 비주얼 웨이크 업 시스템
WO2024080495A1 (en) * 2022-10-10 2024-04-18 Samsung Electronics Co., Ltd. System and method for false wake-up suppression

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10866783B2 (en) * 2011-08-21 2020-12-15 Transenterix Europe S.A.R.L. Vocally activated surgical control system
CN110164423B (zh) * 2018-08-06 2023-01-20 腾讯科技(深圳)有限公司 一种方位角估计的方法、设备及存储介质
KR20200144366A (ko) * 2019-06-18 2020-12-29 엘지전자 주식회사 로봇을 위한 기동어 인식 모델의 생성
WO2021015308A1 (ko) * 2019-07-19 2021-01-28 엘지전자 주식회사 로봇 및 그의 기동어 인식 방법
US11386888B2 (en) * 2020-07-17 2022-07-12 Blue Ocean Robotics Aps Method of adjusting volume of audio output by a mobile robot device
US11605390B2 (en) * 2020-09-01 2023-03-14 Malihe Eshghavi Systems, methods, and apparatus for language acquisition using socio-neuorocognitive techniques
CN113782012B (zh) * 2021-09-10 2024-03-08 北京声智科技有限公司 一种唤醒模型训练方法、唤醒方法及电子设备
CN114023335A (zh) * 2021-11-08 2022-02-08 阿波罗智联(北京)科技有限公司 语音控制方法、装置、电子设备及存储介质
CN113858216B (zh) * 2021-12-01 2022-02-22 南开大学 一种机器人跟随方法、装置及***

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4204541B2 (ja) * 2004-12-24 2009-01-07 株式会社東芝 対話型ロボット、対話型ロボットの音声認識方法および対話型ロボットの音声認識プログラム
US20130278631A1 (en) * 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
US8964298B2 (en) * 2010-02-28 2015-02-24 Microsoft Corporation Video display modification based on sensor input for a see-through near-to-eye display
US20120315016A1 (en) * 2011-06-12 2012-12-13 Hei Tao Fung Multi-Purpose Image and Video Capturing Device
US9812128B2 (en) * 2014-10-09 2017-11-07 Google Inc. Device leadership negotiation among voice interface devices
CN105845135A (zh) * 2015-01-12 2016-08-10 芋头科技(杭州)有限公司 一种机器人***的声音识别***及方法
KR20160123613A (ko) * 2015-04-16 2016-10-26 엘지전자 주식회사 로봇 청소기
KR102549216B1 (ko) * 2015-11-02 2023-06-30 삼성전자 주식회사 사용자 프로파일을 생성하기 위한 전자 장치 및 방법
KR102392113B1 (ko) * 2016-01-20 2022-04-29 삼성전자주식회사 전자 장치 및 전자 장치의 음성 명령 처리 방법
US9972320B2 (en) * 2016-08-24 2018-05-15 Google Llc Hotword detection on multiple devices
US10546583B2 (en) * 2017-08-30 2020-01-28 Amazon Technologies, Inc. Context-based device arbitration
US20200294401A1 (en) * 2017-09-04 2020-09-17 Nng Software Developing And Commercial Llc. A Method and Apparatus for Collecting and Using Sensor Data from a Vehicle
KR102044526B1 (ko) * 2017-12-01 2019-11-13 엘지전자 주식회사 인공지능에 기반하여 음성 인식을 향상시키는 방법 및 이를 구현하는 장치
TWI651714B (zh) * 2017-12-22 2019-02-21 隆宸星股份有限公司 語音選項選擇系統與方法以及使用其之智慧型機器人
US10762900B2 (en) * 2018-03-07 2020-09-01 Microsoft Technology Licensing, Llc Identification and processing of commands by digital assistants in group device environments
US20200267936A1 (en) * 2019-02-26 2020-08-27 Bao Tran Pet monitoring
KR102224994B1 (ko) * 2019-05-21 2021-03-08 엘지전자 주식회사 음성 인식 방법 및 음성 인식 장치
US11393491B2 (en) * 2019-06-04 2022-07-19 Lg Electronics Inc. Artificial intelligence device capable of controlling operation of another device and method of operating the same
WO2021015308A1 (ko) * 2019-07-19 2021-01-28 엘지전자 주식회사 로봇 및 그의 기동어 인식 방법
KR20210056603A (ko) * 2019-11-11 2021-05-20 엘지전자 주식회사 로봇 및 그의 제어 방법
US20210192314A1 (en) * 2019-12-18 2021-06-24 Nvidia Corporation Api for recurrent neural networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102456438B1 (ko) * 2022-07-13 2022-10-19 (주)인티그리트 인공지능을 활용한 비주얼 웨이크 업 시스템
WO2024080495A1 (en) * 2022-10-10 2024-04-18 Samsung Electronics Co., Ltd. System and method for false wake-up suppression

Also Published As

Publication number Publication date
US11577379B2 (en) 2023-02-14
WO2021015308A1 (ko) 2021-01-28
US20210016431A1 (en) 2021-01-21

Similar Documents

Publication Publication Date Title
US11577379B2 (en) Robot and method for recognizing wake-up word thereof
US11358285B2 (en) Robot and method of recognizing mood using the same
US11663516B2 (en) Artificial intelligence apparatus and method for updating artificial intelligence model
KR102635811B1 (ko) 사운드 데이터를 처리하는 시스템 및 시스템의 제어 방법
US11126833B2 (en) Artificial intelligence apparatus for recognizing user from image data and method for the same
KR102246936B1 (ko) 음성 인식 방법 및 음성 인식 장치
US11495214B2 (en) Artificial intelligence device for providing voice recognition service and method of operating the same
US11164586B2 (en) Artificial intelligence apparatus and method for recognizing utterance voice of user
US11029803B2 (en) Robot
US11568239B2 (en) Artificial intelligence server and method for providing information to user
US11450326B2 (en) Device for recognizing voice content, server connected thereto, and method for recognizing voice content
US11376742B2 (en) Robot and method of controlling the same
US11583998B2 (en) Robot and method of controlling same
US11769508B2 (en) Artificial intelligence apparatus
US11810575B2 (en) Artificial intelligence robot for providing voice recognition function and method of operating the same
US11554499B2 (en) Robot and method for controlling the same
US11548144B2 (en) Robot and controlling method thereof
US11322134B2 (en) Artificial intelligence device and operating method thereof
US11464380B2 (en) Artificial intelligence cleaner and operating method thereof
KR20210097346A (ko) 끝점 검출을 위한 인공 지능 장치