本发明涉及服务机器人交互技术领域,具体地说是一种基于多模态的服务机器人交互方法、系统及存储介质。
背景技术:
近年来,随着人工智能技术的快速发展,服务机器人成为产业界关注的一个热点,各种服务机器人层出不穷。
现有技术中在人与服务机器人交互的过程中,智能设备往往是固定不动的,如果用户与智能设备之间的距离较远时,不仅语音信号的识别受影响,而且会导致用户的体验感比较差。
目前服务机器人的交互方式和智能手机的交互比较相似,主要通过语音的方式进行基于固地场景交互,这种方式无法感知对话者当前所处的环境信息比如:天气、地理位置、日期、目前所处的姿态或者姿势等信息以及人物的一些信息比如,用户的年龄、性别、情绪、情感等,历史信息比如,与用户的交互历史、用户喜好等等,只能机械地回答问题,难以满足不同年龄、不同性别、不同情绪以及不同天气、地理位置、不同姿势或姿态下的用户的需求。故如何突破服务机器人现有的简单交互模式,让服务机器人变得更加智能,更有针对性地与人交互,提升用户与服务机器人的体验成为服务机器人行业亟需解决的技术问题。
技术实现要素:
本发明的技术任务是提供一种基于多模态的服务机器人交互方法、系统及存储介质,来解决如何突破服务机器人现有的简单交互模式,让服务机器人变得更加智能,更有针对性地与人交互,提升用户与服务机器人的体验的问题。
本发明的技术任务是按以下方式实现的,一种基于多模态的服务机器人交互方法,该方法具体如下:
利用声纹识别或人脸识别进行用户认证;
实时监测并采集用户发出的语音信号以及对话的交互逻辑控制;
对采集的语音信号进行语音识别;
判断当前声音来源并控制服务机器人移动到说话人面前;
通过语音识别的文本以及当前环境的信息并结合当前对话的上下文信息,服务机器人做出相应的回答。
作为优选,服务机器人移动到说话人面前还包括如下情况:
当服务机器人有需要完成的指定任务时,则给服务机器人下发预先设定好的命令,使服务机器人完成指定任务。
作为优选,利用声纹识别进行用户认证具体如下:
声纹识别:用户通过按钮朗读一串具体的数字,服务机器人通过获取的语音片段提取语音特征并输入到声纹库中;根据阈值大小判断是否在声纹库中并判断是哪个用户的声纹:
若在且识别到具体用户,则启动服务功能;
若不在,则不启动服务功能;
或,
利用人脸识别进行用户认证具体如下:通过对人脸进行拍照,把提取的人脸特征与人脸特征库进行比对,根据相似度判断是哪个人:
若识别出具体用户,则启动功能服务;
若未识别出具体用户,则不启动功能服务。
作为优选,实时监测并采集用户发出的语音信号以及对话的交互逻辑控制具体如下:
离线唤醒:通过按钮或者呼叫唤醒词的方式,唤醒服务机器人,进行对话;若服务机器人检测到唤醒词,则断开当前播放的声音,并提示开始录音;
声音采集:对用户的声音进行录制采集,并把结果以文件方式保存下来,录音结束后,先提示结束录音,再把文件进行下一步的语音识别;
对采集的语音信号进行语音识别具体如下:
调用云端的语音识别模型,把语音转成文字信息;
输入一段语音片段,云端将识别的文字信息返回到服务机器人。
更优地,判断当前声音来源并控制机器人移动到说话人面前具体如下:
检测到的当前说话者的声音,判断声音来源,并计算出角度信息;
服务机器人通过导航地图信息以及获取的方向信息和距离信息,转向并向当前说话者的方向进行移动,具体如下:通过服务机器人的定位信息,计算出说话者在地图的位置信息,再通过路径规划算法a*得到规划路径信息,控制服务机器人底盘移动到说话者跟前;
通过服务机器人的超声波信号,在离当前说话者到达预设距离时,服务机器人停下,与当前说话者进行交谈并拍照做进一步的识别,此种方式得到更友好的交互体验及声音识别的更高的准确率。
作为优选,检测到的当前说话者的声音,判断声音来源,并计算出角度信息具体如下:
通过拾音设备检测到声源的方向后,服务机器人调整方向;
通过单目摄像头获取并计算出服务机器人与说话者的距离信息,并判断距离是否在阈值内:
若是,则不移动;
若否,则根据人在单目摄像头中成像的高度信息和预设比例,计算出服务机器人到说话者的实际距离,为了防止机器人离人员太近,再用实际距离减去预设距离得出服务机器人的移动距离,确保保持服务机器人与说话者之间一定的距离。
更优地,通过语音识别的文本以及当前环境的语义信息、人物的用户画像信息并结合当前对话的上下文信息,机器人做出相应的回答具体如下:
通过获取服务机器人导航地图的环境语义信息,对用户进行用户画像建模;其中,环境语境信息包括服务机器人目前所在的位置、推算出当前说话者所在的位置(厨房或卫生间)、当前的姿态或姿势、当前时间、通过第三方获取的天气状况、通过用户的历史对话记录信息以及已有的用户信息;
结合当前的对话的上下文信息,服务机器人完成用户的指令;其中,上下文信息包括当前说话者所在的位置信息、天气情况、当前的时间以及当前说话者的人物画像、年龄、性别、喜好及当前的情绪状态;比如用户要求播放一首音乐,要结合当前说话者所在的位置信息、天气情况、当前的时间;当前说话者的人物画像,年龄、性别、喜好、当前的情绪状态等;来给用户推荐一首歌曲。
一种基于多模态的服务机器人交互系统,该系统包括,
安全认证模块,用于利用声纹识别或人脸识别进行用户认证;
语音交互模块,用于实时监测并采集用户发出的语音信号以及对话的交互逻辑控制,具体是指唤醒词识别、声源定位、用户声音采集、声音合成及播放;
对话管理模块,用于对采集的语音信号进行语音识别,具体是指语言理解、对话上下文的状态信息管理、候选排序策略以及语言生成;对话管理模块包括,
技能模块,用于查天气、播放音乐及查火车票;
问答模块,用于通过语音识别的文本以及当前环境的信息并结合当前对话的上下文信息,服务机器人做出相应的回答;具体是指基于知识的问答;
任务型模块,用于多轮对话,完成具体的任务;
闲聊模块,用于聊天;
机器人移动模块,用于建图导航以及服务机器人的底盘运动控制,并判断当前声音来源并控制服务机器人移动到说话人面前。
更优地,所述机器人移动模块的工作过程具体如下:
(一)、到达新环境后,服务机器人对当前的环境做地图的构建,地图是指激光雷达和视觉的融合后的地图;
(二)、从地图中了解丰富的语义地图信息,地图信息是指每个位置的信息,哪个地方有什么东西,如门、窗、桌子在什么地方;
(三)、底盘运动控制利用驱动器对服务机器人的移动进行前后、左右、旋转的控制;
(四)、通过服务机器人的超声波信号,在离当前说话者到达预设距离时,服务机器人停下,与当前说话者进行交谈并拍照做进一步的识别;其中,预设距离获取具体如下:
(1)、通过拾音设备检测到声源的方向后,服务机器人调整方向;
(2)、通过单目摄像头获取并计算出服务机器人与说话者的距离信息,并判断距离是否在阈值内:
①、若是,则不移动;
②、若否,则根据人在单目摄像头中成像的高度信息和预设比例,计算出服务机器人到说话者的实际距离,为了防止机器人离人员太近,再用实际距离减去预设距离得出服务机器人的移动距离,确保保持服务机器人与说话者之间一定的距离。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的基于多模态的服务机器人交互方法。
本发明的基于多模态的服务机器人交互方法、系统及存储介质具有以下优点:
(一)本发明通过声源定位判断声音方向,自动移动到当前说话者面前,交互过程更自然、更亲切;
(二)本发明的服务机器人回答问题时,结合机器人导航地图的环境语义信息,通过用户的历史对话记录得到用户画像信息,以及对话的上下文信息做出回答;
(三)本发明提高了准确率,利用深度学习训练的模型,方向判定、身份证检测以及文本行的检测和识别等都有很大的提升。
附图说明
下面结合附图对本发明进一步说明。
附图1为基于多模态的服务机器人交互方法的流程框图;
附图2为基于多模态的服务机器人交互系统的结构框图。
具体实施方式
参照说明书附图和具体实施例对本发明的基于多模态的服务机器人交互方法、系统及存储介质作以下详细地说明。
实施例1:
如附图1所示,本发明的基于多模态的服务机器人交互方法,该方法具体如下:
s1、利用声纹识别或人脸识别进行用户认证;
s2、实时监测并采集用户发出的语音信号以及对话的交互逻辑控制;
s3、对采集的语音信号进行语音识别;
s4、判断当前声音来源并控制服务机器人移动到说话人面前;
s5、通过语音识别的文本以及当前环境的信息并结合当前对话的上下文信息,服务机器人做出相应的回答。
本实施例中步骤s4的服务机器人移动到说话人面前还包括如下情况:
当服务机器人有需要完成的指定任务时,则给服务机器人下发预先设定好的命令,使服务机器人完成指定任务。
本实施例中步骤s1的利用声纹识别进行用户认证具体如下:
(1)、用户通过按钮朗读一串具体的数字,服务机器人通过获取的语音片段提取语音特征并输入到声纹库中;
(2)、根据阈值大小判断是否在声纹库中并判断是哪个用户的声纹:
①、若在且识别到具体用户,则启动服务功能;
②、若不在,则不启动服务功能。
本实施例中步骤s2的实时监测并采集用户发出的语音信号以及对话的交互逻辑控制具体如下:
s201、离线唤醒:通过按钮或者呼叫唤醒词的方式,唤醒服务机器人,进行对话;若服务机器人检测到唤醒词,则断开当前播放的声音,并提示开始录音;
s202、声音采集:对用户的声音进行录制采集,并把结果以文件方式保存下来,录音结束后,先提示结束录音,再把文件进行下一步的语音识别;
本实施例中步骤s3的对采集的语音信号进行语音识别具体如下:
s301、调用云端的语音识别模型,把语音转成文字信息;
s302、输入一段语音片段,云端将识别的文字信息返回到服务机器人。
本实施例中步骤s4的判断当前声音来源并控制机器人移动到说话人面前具体如下:
s401、检测到的当前说话者的声音,判断声音来源,并计算出角度信息;具体如下:
s40101、通过拾音设备检测到声源的方向后,服务机器人调整方向;
s40102、通过单目摄像头获取并计算出服务机器人与说话者的距离信息,并判断距离是否在阈值内:
①、若是,则不移动;
②、若否,则根据人在单目摄像头中成像的高度信息和预设比例,计算出服务机器人到说话者的实际距离,为了防止机器人离人员太近,再用实际距离减去预设距离得出服务机器人的移动距离,确保保持服务机器人与说话者之间一定的距离;
s402、服务机器人通过导航地图信息以及获取的方向信息和距离信息,转向并向当前说话者的方向进行移动,具体如下:通过机器人的定位信息,可以计算出说话者在地图的位置信息,然后通过路径规划算法a*得到规划路径信息,控制机器人底盘移动到说话者跟前。
s403、通过服务机器人的超声波信号,在离当前说话者到达预设距离时,服务机器人停下,与当前说话者进行交谈并拍照做进一步的识别,此种方式得到更友好的交互体验及声音识别的更高的准确率。
本实施例中步骤s5的通过语音识别的文本以及当前环境的语义信息、人物的用户画像信息并结合当前对话的上下文信息,机器人做出相应的回答具体如下:
s501、通过获取服务机器人导航地图的环境语义信息,对用户进行用户画像建模;其中,环境语境信息包括服务机器人目前所在的位置、推算出当前说话者所在的位置(厨房或卫生间)、当前的姿态或姿势、当前时间、通过第三方获取的天气状况、通过用户的历史对话记录信息以及已有的用户信息;
s502、结合当前的对话的上下文信息,服务机器人完成用户的指令;其中,上下文信息包括当前说话者所在的位置信息、天气情况、当前的时间以及当前说话者的人物画像、年龄、性别、喜好及当前的情绪状态;比如用户要求播放一首音乐,要结合当前说话者所在的位置信息、天气情况、当前的时间;当前说话者的人物画像,年龄、性别、喜好、当前的情绪状态等;来给用户推荐一首歌曲。
实施例2:
本实施例中步骤s1的利用声纹识别进行用户认证具体如下:
通过对人脸进行拍照,把提取的人脸特征与人脸特征库进行比对,根据相似度判断是哪个人:
若识别出具体用户,则启动功能服务;
若未识别出具体用户,则不启动功能服务。
实施例3:
本实施例中基于多模态的服务机器人交互系统,该系统包括,
安全认证模块,用于利用声纹识别或人脸识别进行用户认证;
语音交互模块,用于实时监测并采集用户发出的语音信号以及对话的交互逻辑控制,具体是指唤醒词识别、声源定位、用户声音采集、声音合成及播放;
对话管理模块,用于对采集的语音信号进行语音识别,具体是指语言理解、对话上下文的状态信息管理、候选排序策略以及语言生成;其中,对话管理模块包括,
技能模块,用于查天气、播放音乐、查火车票等;
问答模块,用于通过语音识别的文本以及当前环境的信息并结合当前对话的上下文信息,服务机器人做出相应的回答;具体是指基于知识的问答,一般是某某的妻子是谁;某某的身高多高;
任务型模块,用于多轮对话,完成具体的任务。一般是如下:
用户:送水杯给小明;
机器人:请问送到哪个房间;
用户:书房;
机器人:好的;
闲聊模块,用于一般的聊天。
当问答模块接受到用户语音文本后,通过自然语言处理后对文本语义理解后,判断命中哪一个模块,完成相应的问答。
上下文信息主要是用在多轮对话中,任务型模块和闲聊模块,记录下每次对话的信息;环境信息包括时间、地点及天气。
用于某些个技能模块,如播放音乐,不同的技能用到不同的环境信息。
主要用到的用户信息:年龄、性别、喜好、情绪状态;情绪通过摄像头分析人脸获得;
比如用户要求播放一首音乐,要结合当前说话者所在的位置信息、天气情况、当前的时间;当前说话者年龄、性别、喜好、当前的情绪状态等;
机器人移动模块,用于建图导航以及服务机器人的底盘运动控制,并判断当前声音来源并控制服务机器人移动到说话人面前。
本实施例中机器人移动模块的工作过程具体如下:
(一)、到达新环境后,服务机器人对当前的环境做地图的构建,地图是指激光雷达和视觉的融合后的地图;
(二)、从地图中了解丰富的语义地图信息,地图信息是指每个位置的信息,哪个地方有什么东西,如门、窗、桌子在什么地方;
(三)、底盘运动控制利用驱动器对服务机器人的移动进行前后、左右、旋转的控制;
(四)、通过服务机器人的超声波信号,在离当前说话者到达预设距离时,服务机器人停下,与当前说话者进行交谈并拍照做进一步的识别;其中,预设距离获取具体如下:
(1)、通过拾音设备检测到声源的方向后,服务机器人调整方向;
(2)、通过单目摄像头获取并计算出服务机器人与说话者的距离信息,并判断距离是否在阈值内:
①、若是,则不移动;
②、若否,则根据人在单目摄像头中成像的高度信息和预设比例,计算出服务机器人到说话者的实际距离,为了防止机器人离人员太近,再用实际距离减去预设距离得出服务机器人的移动距离,确保保持服务机器人与说话者之间一定的距离。
实施例4:
本发明实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的基于多模态的服务机器人交互方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-rym、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
本文用于企业家、创业者技术爱好者查询,结果仅供参考。