机器人与用户的交互方法及装置
技术领域
本发明实施例属于人机交互领域,尤其涉及一种机器人与用户的交互方法及装置。
背景技术
机器人是自动执行工作的机器装置,它既可以接受人类指挥,又可以运行预先编排的程序,还可以根据以人工智能技术制定的原则纲领行动。
现有的机器人中,当检测到用户的声音信号时,根据声源定位技术估算出用户的位置方向,当接收到用户发出的前进指令后,控制自身往估算的位置方向转动。但由于发出指令的用户可能并不是该机器人的主人,因此,机器人可能执行非主人发出的指令,从而导致指令执行错误。
发明内容
本发明实施例提供了一种机器人与用户的交互方法及装置,旨在解决现有机器人仅根据接收的指令执行动作,可能执行到非主人发出的指令,从而导致指令执行错误的问题。
本发明实施例是这样实现的,一种机器人与用户的交互方法,所述方法包括:
接收到语音信号后,确定发出所述语音信号对应的初始方位;
将机器人从当前方位调整至所述初始方位,并获取所述初始方位对应的图像;
检测获取的图像是否存在人脸;
在获取的图像存在人脸时,识别所述人脸对应的用户是否为合法的用户;
在所述人脸对应的用户为合法的用户时,与所述合法的用户进行交互。
本发明实施例的另一目的在于提供一种机器人与用户的交互装置,所述装置包括:
语音信号接收单元,用于接收到语音信号后,确定发出所述语音信号对应的初始方位;
图像获取单元,用于将机器人从当前方位调整至所述初始方位,并获取所述初始方位对应的图像;
人脸检测单元,用于检测获取的图像是否存在人脸;
合法用户判断单元,用于在获取的图像存在人脸时,识别所述人脸对应的用户是否为合法的用户;
人机交互单元,用于在所述人脸对应的用户为合法的用户时,与所述合法的用户进行交互。
在本发明实施例中,由于只有在判断出人脸对应的用户为合法的用户时,才与所述合法的用户进行交互,因此,保证机器人执行的指令都为其主人发出的指令,从而提高了执行指令的精确性。
附图说明
图1是本发明第一实施例提供的一种机器人与用户的交互方法的流程图;
图2是本发明第一实施例提供的确定发出语音信号对应的具体位置的示意图;
图3是本发明第一实施例提供的根据获取的人脸在获取的图像的位置确定需调整的角度的示意图;
图4是本发明第二实施例提供的一种机器人与用户的交互装置。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,接收到语音信号后,确定发出所述语音信号对应的初始方位,将机器人从当前方位调整至所述初始方位,并获取所述初始方位对应的图像,检测获取的图像是否存在人脸,在获取的图像存在人脸时,识别所述人脸对应的用户是否为合法的用户,在所述人脸对应的用户为合法的用户时,与所述合法的用户进行交互。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的一种机器人与用户的交互方法的流程图,详述如下:
步骤S11,接收到语音信号后,确定发出所述语音信号对应的初始方位。
该步骤中,当接收到语音信号后,根据声源定位技术估算出所述语音信号对应的初始方位,例如,当接收的语音信号有多个时,根据定位技术估算出最强的语音信号对应的初始方位。
可选地,为了避免干扰,节省电量,所述步骤S11具体包括:
A1、接收到语音信号后,判断所述语音信号是否为唤醒指令。具体地,识别语音信号包含的词句含义,若语音信号包含的词句含义与预设的词句含义相同时,判定所述语音信号为唤醒指令,否则,判定所述语音信号不为唤醒指令。进一步地,语音信号包含的词句含义与预设的词句含义相同时,继续判断所述语音信号对应的音频和/或音色等与预存的音频和/或音色是否相同,若相同,判定所述语音信号为唤醒指令。
A2、在所述语音信号为唤醒指令时,确定发出所述语音信号对应的初始方位。
具体地,通过声源定位技术估算出语音信号对应的初始方位。当然,若需要确定发出语音信号对应的具体位置,则可利用接收到语音信号的时间差确定。例如,在机器人的身上设置4个麦克风,该4个麦克风的阵列采用四元十字阵列方式,且四个麦克风按照十字的方式摆布在一个平面之内,其中S代表声源的位置,M1,M2,M3,M4分别为四元十字阵列中四个阵元(即麦克风)的位置,如图2所示。其中,目标方位角为φ,声源仰角为θ(与组成的夹角),r为目标声源(即点S)到坐标原点O的距离,两个麦克风Mi与Mj接收到声音的时间差用tij表示,则通过下式可以确定发出所述语音信号对应的初始方位以及位置:
步骤S12,将机器人从当前方位调整至所述初始方位,并获取所述初始方位对应的图像。
当确定了初始方位后,若机器人的当前方位与所述初始方位不同,则将机器人从当前方位调整至所述初始方位,并通过图像获取装置,如摄像头、高清彩色摄像机等获取所述方位对应的图像,获取的图像可为2D图像,也可为3D图像。
步骤S13,检测获取的图像是否存在人脸。
具体地,通过人脸检测算法检测获取的图像算法存在人脸。
步骤S14,在获取的图像存在人脸时,识别所述人脸对应的用户是否为合法的用户。
可选地,所述步骤S14具体包括:
B1、获取所述人脸对应的用户的语音信号和/或图像。该步骤中,获取的人脸对应的用户的语音信号可为确定初始方位对应的语音信号,也可通过提示用户再次发出语音而获得的语音信号,同理,获取的人脸对应的用户的图像可为机器人在初始方位获得的人脸的图像,也可为再次拍摄获取的人脸的图像。
B2、在所述人脸对应的用户的语音信号与预设的语音信号和/或预设的图像相同时,判定所述人脸对应的用户为合法的用户,否则,判定所述人脸对应的用户为非法的用户。具体地,通过预设一个或多个语音信号和/或预设一个或多个图像,当获取的语音信号和/或图像与预设的语音信号和/或图像相同时,判定所述人脸对应的用户为合法的用户。当然,在判断两个语音信号是否相同时,可通过判断语音信号中的音频和/或音色等是否相同来判断。
可选地,为了使得机器人与用户的交流更自然和更逼真,可通过调整一定的角度使得机器人正面面对用户交流,增加了人机交互的智能性,此时,在所述识别所述人脸对应的用户是否为合法的用户时,包括:
根据所述人脸在获取的图像的位置确定需调整的角度;根据所述需调整的角度进行相应的调整。
具体地,首先确定根据哪个人脸在获取的图像的位置确定需调整的角度:在获取的图像存在人脸时,判断人脸的个数是否大于1;在人脸的个数大于1时,选择深度最小的人脸,并根据所述深度最小的人脸在获取的图像的位置确定需调整的角度;在人脸的个数等于1时,根据所述人脸在获取的图像的位置确定需调整的角度。当获取的图像存在多个人脸时,选择深度最小的人脸,并根据深度最小的人脸在获取的图像的位置确定需调整的角度。由于深度越小,其与机器人的距离越近,而与机器人的距离越近的用户为该机器人的主人的概率越大,因此,根据人脸的深度大小确定需调整的角度也越准确。由于在获取的图像只包括一个人脸时,该人脸通常为该机器人的主人,因此,只需根据该人脸在获取的图像的位置确定需调整的角度即可。
其次,确定需调整的角度:
确定人脸与获取的图像的中心点的距离c,以及,确定获取的图像的宽度a;根据下式确定需调整的角度:
其中,α为获取的图像的最左边或最右边与机器人的夹角,b为机器人与获取的图像的中心点的距离,β为需调整的角度,γ为机器人的视角。
如图3所示,B是机器人脸部的位置,P是用户的脸部位置,γ为机器人的视角,OP代表人脸与画面中心点的距离,长度用c表示。当机器人获取图像后,其能够确定c和a的值,再根据上述公式,则能够得到机器人的脸部和人的脸部的夹角β,在图3中,机器人需要向右转β的角度才能确保机器人和用户的脸是面对面的。当然,如果P点在O和C之间,则机器人就需要向左转动β的角度。
步骤S15,在所述人脸对应的用户为合法的用户时,与所述合法的用户进行交互。
该步骤中,只与合法的用户交互能够节省机器人的资源,也能够避免机器人被非法的用户操控,从而提高机器人的安全性。
为了进一步地提高机器人的安全性,在所述人脸对应的用户为非法的用户时,获取所述非法的用户的人脸图像,并将获取的所述非法的用户的人脸图像发送至指定的用户,比如发送至指定用户的移动终端等。进一步地,当发送至指定的用户之后,发出提示,以使用户及时查看。其中,该指定的用户通常为合法的用户。由于将非法的用户的人脸图像发送至指定的用户(如发送至机器人的主人),因此,使得指定的用户能够及时获知非法的用户正在尝试操作机器人,从而能够及时阻止非法的用户的动作。
本发明第一实施例中,接收到语音信号后,确定发出所述语音信号对应的初始方位,将机器人从当前方位调整至所述初始方位,并获取所述初始方位对应的图像,检测获取的图像是否存在人脸,在获取的图像存在人脸时,识别所述人脸对应的用户是否为合法的用户,在所述人脸对应的用户为合法的用户时,与所述合法的用户进行交互。由于只有在判断出人脸对应的用户为合法的用户时,才与所述合法的用户进行交互,因此,保证机器人执行的指令都为其主人发出的指令,从而提高了执行指令的精确性。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例二:
图4示出了本发明第二实施例提供的一种机器人与用户的交互装置的结构图,该机器人与用户的交互装置可用于各种机器人中。为了便于说明,仅示出了与本发明实施例相关的部分。
该机器人与用户的交互装置包括:语音信号接收单元41、图像获取单元42、人脸检测单元43、合法用户判断单元44、人机交互单元45。其中:
语音信号接收单元41,用于接收到语音信号后,确定发出所述语音信号对应的初始方位。
当接收到语音信号后,根据声源定位技术估算出所述语音信号对应的初始方位,例如,当接收的语音信号有多个时,根据定位技术估算出最强的语音信号对应的初始方位。
可选地,为了避免干扰,节省电量,所述语音信号接收单元41具体包括:
唤醒指令判断模块,用于接收到语音信号后,判断所述语音信号是否为唤醒指令。具体地,识别语音信号包含的词句含义,若语音信号包含的词句含义与预设的词句含义相同时,判定所述语音信号为唤醒指令,否则,判定所述语音信号不为唤醒指令。进一步地,语音信号包含的词句含义与预设的词句含义相同时,继续判断所述语音信号对应的音频和/或音色等与预存的音频和/或音色是否相同,若相同,判定所述语音信号为唤醒指令。
初始方位确定模块,用于在所述语音信号为唤醒指令时,确定发出所述语音信号对应的初始方位。
具体地,通过声源定位技术估算出语音信号对应的初始方位。当然,若需要确定发出语音信号对应的具体位置,则可利用接收到语音信号的时间差确定。例如,在机器人的身上设置4个麦克风,该4个麦克风的阵列采用四元十字阵列方式,且四个麦克风按照十字的方式摆布在一个平面之内,其中S代表声源的位置,M1,M2,M3,M4分别为四元十字阵列中四个阵元(即麦克风)的位置,如图2所示。其中,目标方位角为φ,声源仰角为θ(与组成的夹角),r为目标声源(即点S)到坐标原点O的距离,两个麦克风Mi与Mj接收到声音的时间差用tij表示,则通过下式可以确定发出所述语音信号对应的初始方位以及位置:
图像获取单元42,用于将机器人从当前方位调整至所述初始方位,并获取所述初始方位对应的图像。
当确定了初始方位后,若机器人的当前方位与所述初始方位不同,则将机器人从当前方位调整至所述初始方位,并通过图像获取装置,如摄像头、高清彩色摄像机等获取所述方位对应的图像,获取的图像可为2D图像,也可为3D图像。
人脸检测单元43,用于检测获取的图像是否存在人脸。
合法用户判断单元44,用于在获取的图像存在人脸时,识别所述人脸对应的用户是否为合法的用户。
可选地,所述合法用户判断单元44包括:
用户信息获取模块,用于获取所述人脸对应的用户的语音信号和/或图像。其中,获取的人脸对应的用户的语音信号可为确定初始方位对应的语音信号,也可通过提示用户再次发出语音而获得的语音信号,同理,获取的人脸对应的用户的图像可为机器人在初始方位获得的人脸的图像,也可为再次拍摄获取的人脸的图像。
用户的合法性判定模块,用于在所述人脸对应的用户的语音信号与预设的语音信号和/或预设的图像相同时,判定所述人脸对应的用户为合法的用户,否则,判定所述人脸对应的用户为非法的用户。具体地,通过预设一个或多个语音信号和/或预设一个或多个图像,当获取的语音信号和/或图像与预设的语音信号和/或图像相同时,判定所述人脸对应的用户为合法的用户。当然,在判断两个语音信号是否相同时,可通过判断语音信号中的音频和/或音色等是否相同来判断。
可选地,为了使得机器人与用户的交流更自然和更逼真,可通过调整一定的角度使得机器人正面面对用户交流,增加了人机交互的智能性,此时,该机器人与用户的交互装置包括:
调整的角度确定单元,用于根据所述人脸在获取的图像的位置确定需调整的角度。
具体地,所述调整的角度确定单元包括:
图像的信息确定模块,用于确定人脸与获取的图像的中心点的距离c,以及,确定获取的图像的宽度a。
角度计算模块,用于根据下式确定需调整的角度:
其中,α为获取的图像的最左边或最右边与机器人的夹角,b为机器人与获取的图像的中心点的距离,β为需调整的角度,γ为机器人的视角。
此外,在确定需调整的角度之前,所述调整的角度确定单元包括:确定根据哪个人脸在获取的图像的位置确定需调整的角度。具体地,在获取的图像存在人脸时,判断人脸的个数是否大于1;在人脸的个数大于1时,选择深度最小的人脸,并根据所述深度最小的人脸在获取的图像的位置确定需调整的角度;在人脸的个数等于1时,根据所述人脸在获取的图像的位置确定需调整的角度。
人机交互单元45,用于在所述人脸对应的用户为合法的用户时,与所述合法的用户进行交互。
为了进一步地提高机器人的安全性,该机器人与用户的交互装置包括:
非法的用户图像获取单元,用于在所述人脸对应的用户为非法的用户时,获取所述非法的用户的人脸图像,并将获取的所述非法的用户的人脸图像发送至指定的用户。进一步地,当发送至指定的用户之后,发出提示,以使用户及时查看。其中,该指定的用户通常为合法的用户。由于将非法的用户的人脸图像发送至指定的用户(如发送至机器人的主人),因此,使得指定的用户能够及时获知非法的用户正在尝试操作机器人,从而能够及时阻止非法的用户的动作。
本发明第二实施例中,由于只有在判断出人脸对应的用户为合法的用户时,才与所述合法的用户进行交互,因此,保证机器人执行的指令都为其主人发出的指令,从而提高了执行指令的精确性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。