发明内容
本公开的目的是提供一种准确、可靠的人机交互方法、装置、存储介质及电子设备。
为了实现上述目的,根据本公开的第一方面,提供一种人机交互方法,所述方法包括:
获取用户在输入第一语音信息的过程中的视频数据;
将所述视频数据输入至答案生成模型网络,获得所述答案生成模型网络输出的与所述第一语音信息对应的答案信息,其中,所述答案生成模型网络包括:分离模型、人脸信息提取模型、语音识别模型、人脸信息序列生成模型以及答案生成模型,所述人脸信息提取模型的输入与所述分离模型的图像输出耦合,所述语音识别模型的输入与所述分离模型的语音输出耦合,所述人脸信息序列生成模型的输入与所述人脸信息提取模型的输出耦合,所述答案生成模型的输入分别与所述人脸信息序列生成模型的输出及所述语音识别模型的输出耦合;所述分离模型用于从所述视频数据中分离出图像数据和语音数据,所述图像数据包括多帧图像;所述人脸信息提取模型用于从每帧图像中提取人脸信息;所述语音识别模型用于确定所述语音数据对应的文本信息;所述人脸信息序列生成模型用于根据从每帧图像中提取出的所述人脸信息,生成人脸信息序列;所述答案生成模型用于根据所述人脸信息序列和所述文本信息,生成所述答案信息;
输出所述答案信息。
可选地,所述答案生成模型网络是根据多个历史视频数据、以及与每个历史视频数据一一对应的历史答案数据训练得到的。
可选地,所述人脸信息提取模型包括人脸区域提取模型和人脸特征识别模型,所述人脸区域提取模型用于提取每帧图像中的人脸区域图像;所述人脸特征识别模型的输入与所述人脸区域提取模型的输出耦合,用于根据所述人脸区域图像,识别出所述人脸区域图像对应的所述人脸信息。
可选地,所述人脸信息包括人脸特征信息和面部动作强度信息,所述人脸信息序列生成模型用于根据从每帧图像中提取出的所述人脸特征信息生成人脸特征信息序列,并根据从每帧图像中提取出的所述面部动作强度信息生成面部动作强度信息序列;
所述答案生成模型用于根据所述人脸特征信息序列、所述面部动作强度信息序列和所述文本信息,生成所述答案信息。
可选地,所述输出所述答案信息,包括:
对所述答案信息进行语音合成,获得第二语音信息;
输出所述第二语音信息。
可选地,所述答案信息包括与所述文本信息和表情数据,所述输出所述答案信息包括:
对所述文本信息进行语音合成,获得第二语音信息;
在机器人上输出所述第二语音信息,并展现所述表情数据。
根据本公开的第二方面,提供一种人机交互装置,所述装置包括:
第一获取模块,用于获取用户在输入第一语音信息的过程中的视频数据;
第二获取模块,用于将所述视频数据输入至答案生成模型网络,获得所述答案生成模型网络输出的与所述第一语音信息对应的答案信息,其中,所述答案生成模型网络包括:分离模型、人脸信息提取模型、语音识别模型、人脸信息序列生成模型以及答案生成模型,所述人脸信息提取模型的输入与所述分离模型的图像输出耦合,所述语音识别模型的输入与所述分离模型的语音输出耦合,所述人脸信息序列生成模型的输入与所述人脸信息提取模型的输出耦合,所述答案生成模型的输入分别与所述人脸信息序列生成模型的输出及所述语音识别模型的输出耦合;所述分离模型用于从所述视频数据中分离出图像数据和语音数据,所述图像数据包括多帧图像;所述人脸信息提取模型用于从每帧图像中提取人脸信息;所述语音识别模型用于确定所述语音数据对应的文本信息;所述人脸信息序列生成模型用于根据从每帧图像中提取出的所述人脸信息,生成人脸信息序列;所述答案生成模型用于根据所述人脸信息序列和所述文本信息,生成所述答案信息;
输出模块,用于输出所述答案信息。
可选地,所述答案生成模型网络是根据多个历史视频数据、以及与每个历史视频数据一一对应的历史答案数据训练得到的。
可选地,所述人脸信息提取模型包括人脸区域提取模型和人脸特征识别模型,所述人脸区域提取模型用于提取每帧图像中的人脸区域图像;所述人脸特征识别模型的输入与所述人脸区域提取模型的输出耦合,用于根据所述人脸区域图像,识别出所述人脸区域图像对应的所述人脸信息。
可选地,所述人脸信息包括人脸特征信息和面部动作强度信息,所述人脸信息序列生成模型用于根据从每帧图像中提取出的所述人脸特征信息生成人脸特征信息序列,并根据从每帧图像中提取出的所述面部动作强度信息生成面部动作强度信息序列;
所述答案生成模型用于根据所述人脸特征信息序列、所述面部动作强度信息序列和所述文本信息,生成所述答案信息。
可选地,所述输出模块包括:
第一合成子模块,用于对所述答案信息进行语音合成,获得第二语音信息;
第一输出子模块,用于输出所述第二语音信息。
可选地,所述答案信息包括与所述文本信息和表情数据,所述输出模块包括:
第二合成子模块,用于对所述文本信息进行语音合成,获得第二语音信息;
第二输出子模块,用于在机器人上输出所述第二语音信息,并展现所述表情数据。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面任一所述方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以上述第一方面任一所述方法的步骤。
在上述技术方案中,通过获取用户在输入语音信息的过程中的视频数据,将视频数据分离成图像数据和音频数据,进而可以通过音频数据获得对应的文本信息,并根据图像数据获得用户的人脸信息,从而根据文本信息和人脸信息序列获得答案信息并输出。通过上述技术方案,可以充分利用用户在输入语音信息时对应的人脸信息,从而可以结合人脸信息对用户输入的语音信息进行准确地语义分析,提高对用户输入的语音信息的分析准确度,进而保证输出的答案信息的准确度,提高人机交互方法的适用范围和可靠性,提升用户使用体验。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1所示,为根据本公开的一种实施方式提供的人机交互方法的流程图。如图1所示,所述方法包括:
在S11中,获取用户在输入第一语音信息的过程中的视频数据。
其中,可以通过摄像头拍摄该视频数据。在一实施例中,该方法可以应用于机器人设备,则该摄像头可以是安装在该机器人设备上的,可以在确定用户输入第一语音信息开始时拍摄对应用户的视频数据,并将该视频数据发送至机器人的处理器进行处理。在另一实施例中,该方法可以应用于终端,如手机、平板、虚拟机器人等,则摄像头可以是安装在终端上的。在另一实施例中,该方法可以应用于服务器,则在摄像头拍摄到视频数据时,将该视频数据发送至服务器进行后续处理。
在S12中,将视频数据输入至答案生成模型网络,获得答案生成模型网络输出的与第一语音信息对应的答案信息。其中,如图2所示,答案生成模型网络10包括:分离模型101、人脸信息提取模型102、语音识别模型103、人脸信息序列生成模型104以及答案生成模型105,所述人脸信息提取模型102的输入与所述分离模型101的图像输出耦合,所述语音识别模型103的输入与所述分离模型101的语音输出耦合,所述人脸信息序列生成模型104的输入与所述人脸信息提取模型102的输出耦合,所述答案生成模型105的输入分别与所述人脸信息序列生成模型104的输出及所述语音识别模型103的输出耦合。
其中,所述分离模型101用于从所述视频数据中分离出图像数据和语音数据,所述图像数据包括多帧图像;所述人脸信息提取模型用于从每帧图像中提取人脸信息;所述语音识别模型用于确定所述语音数据对应的文本信息;所述人脸信息序列生成模型用于根据从每帧图像中提取出的所述人脸信息,生成人脸信息序列;所述答案生成模型用于根据所述人脸信息序列和所述文本信息,生成所述答案信息。
可选地,所述人脸信息序列生成模型在根据从每帧图像中提取出的所述人脸信息,生成人脸信息序列时,在一实施例中,可以根据提取出的全部图像的人脸信息生成该人脸信息序列。在另一实施例中,可以先确定出各个目标图像对应的人脸信息,进而根据各个目标图像对应的人脸信息生成该人脸信息序列。示例地,目标图像的总帧数N可以预先进行设置,则可以在生成人脸信息序列时,从与语音数据对应的各帧图像的人脸信息中平均选取N张图像对应的人脸信息(即,目标图像的人脸信息),以用于生成人脸信息序列。又例如,可以根据语音数据对应的语速信息从语音数据对应的各帧图像的人脸信息中选取目标图像的人脸信息,其中,语速越快,选取目标图像的时间间隔越短。由此,通过上述技术方案,一方面可以有效降低数据处理量,也可以有效保证生成的人脸信息序列的准确度,为后续答案生成模型提供准确的数据支持。
可选地,所述答案生成模型网络是根据多个历史视频数据、以及与每个历史视频数据一一对应的历史答案数据训练得到的。示例地,该答案生成模型网络包含的多个模型可以同时进行训练,该答案生成模型网络可以通过如下训练方式进行训练。
选择其中一个历史视频数据,输入分离模型,获得该历史视频数据对应的图像数据和语音数据。其中,可以通过现有的图像提取和音频提取算法实现分离,本公开在此不再赘述。之后,将图像数据输入人脸信息提取模型,以提取出图像数据中每帧图像对应的人脸信息,并将该人脸信息输入人脸信息序列生成模型以生成该历史视频数据对应的人脸信息序列。将音频数据输入语音识别模型,获得对应的文本信息。其中,在训练该答案生成模型网络时,答案生成模型的输入为与该历史视频数据对应的历史答案数据,并通过答案生成模型网络的损失值更新该答案生成模型网络,从而实现对该答案生成模型网络包含的各个模型的参数更新。示例地,该答案生成模型网络的损失值可以是该答案生成模型的输出与该历史视频数据对应的历史答案数据之间的损失值。之后通过重新输入多个历史视频数据及其对应的历史答案数据对该答案生成模型网络进行迭代更新,直至该答案生成模型网络的损失值小于预设阈值或迭代次数满足预设次数,完成该答案生成模型网络的训练。
因此,通过上述多个历史视频数据、以及与每个历史视频数据一一对应的历史答案数据等训练数据,可以对答案生成模型网络进行训练。并且,通过答案生成模型网络的损失值整体更新该答案生成模型网络包含的各个模型的参数,也可以进一步保证分离模型、人脸信息提取模型、人脸信息序列生成模型以及语音识别模型的准确度,进而保证人脸信息序列和文本信息的准确度,提升答案生成模型网络输出结果的准确度,保证用户使用体验。
在确定出答案信息之后,在S13中,输出答案信息。
在上述技术方案中,通过获取用户在输入语音信息的过程中的视频数据,将视频数据分离成图像数据和音频数据,进而可以通过音频数据获得对应的文本信息,并根据图像数据获得用户的人脸信息,从而根据文本信息和人脸信息序列获得答案信息并输出。其中,用户在数据语音信息的过程中的面部表情的变化与用户输入的语音信息的语义特征息息相关,用户面部表情为正向情感时,其对应的语义特征也是正向情感。通过上述技术方案,可以充分利用用户在输入语音信息时对应的人脸信息,从而可以结合人脸信息对用户输入的语音信息进行准确地语义分析,提高对用户输入的语音信息的分析准确度,进而保证输出的答案信息的准确度,提高人机交互方法的适用范围和可靠性,提升用户使用体验。
可选地,所述人脸信息提取模型包括人脸区域提取模型和人脸特征识别模型,所述人脸区域提取模型用于提取每帧图像中的人脸区域图像;所述人脸特征识别模型的输入与所述人脸区域提取模型的输出耦合,用于根据所述人脸区域图像,识别出所述人脸区域图像对应的所述人脸信息。
在该实施例中,通过先提取人脸区域图像,可以有效避免其他区域对人脸信息提取的干扰。之后,再从人脸区域图像中提取出所述人脸信息,一方面可以有效减少提取人脸信息时所需要的数据计算量,另一方面也可以有效保证人脸信息提取的准确性,进而可以提高答案生成模型网络的准确性。
可选地,所述人脸信息包括人脸特征信息和面部动作强度信息,所述人脸信息序列生成模型用于根据从每帧图像中提取出的所述人脸特征信息生成人脸特征信息序列,并根据从每帧图像中提取出的所述面部动作强度信息生成面部动作强度信息序列;
所述答案生成模型用于根据所述人脸特征信息序列、所述面部动作强度信息序列和所述文本信息,生成所述答案信息。
其中,人脸特征信息可以为用于表示面部表情的特征,如关键点提取等;面部动作强度信息可以为表示面部表情运动幅度的特征,其中,可以通过open-face算法获得面部动作强度信息,open-face算法为现有技术,在此不再赘述。
在上述技术方案中,在提取人脸信息时,不仅考虑了面部表情特征,更加考虑了面部表情运动幅度特征,从而可以更加准确地获得用户在输入语音数据时的面部表情,便于准确分析用户意图,从而为分析语音数据的语义特征提供参考,在保证人脸信息全面性的同时,提高答案生成模型网络输出结果的准确度,进一步提升用户使用体验。
可选地,在一实施例中,在S13中,输出答案信息,可以是将该答案信息对应的文本信息进行显示,以便于用户查看,并进行下一次对话。
可选地,在另一实施例中,在S13中,输出答案信息,可以包括:
对所述答案信息进行语音合成,获得第二语音信息;
输出所述第二语音信息。
在该实施例中,可以通过语音的方式输出答案信息。其中,语音合成方式为现有技术,在此不再赘述。在上述技术方案中,在用户输入语音信息后,可以通过对该用户输入语音消息时的视频数据进行分析,从而获得与该输入的语音信息对应的答案信息,并通过语音信息的方式对该答案信息进行输出,可以实现与用户的实时对话,提高人机交互的便利性,增加人机交互的多样性和舒适性,进一步提升用户使用体验。
其中,在通过机器人设备或终端中的虚拟机器人(以下,统称机器人)进行人机交互时,用户通过与机器人进行语音对话而实现人机交互。在该实施例中,机器人可以与用户进行语音交互,同时机器人也可以支持展示面部表情,基于此,本公开还提供以下实施例。
可选地,在另一实施例中,所述答案信息包括与所述文本信息和表情数据,在S13中,输出答案信息可以包括:
对所述文本信息进行语音合成,获得第二语音信息;
在机器人上输出所述第二语音信息,并展现所述表情数据。
在一实施例中,用户可以通过本公开提供的方法实现与机器人的人机交互。作为示例,展现表情数据,可以是根据表情数据控制机器人的面部表情。示例地。如文本信息对应“今天天气晴朗”,表情数据对应笑脸,则可以在机器人输出语音信息的同时,控制机器人显示笑脸。示例地,可以是控制机器人的面部区域通过显示灯的方式组成显示笑脸,或者是根据表情数据对应控制面部的关键点以控制机器人展示该面部表情。作为另一示例,展现表情数据,也可以是根据表情数据控制机器人输出对应的表情。示例地,该表情数据对应笑脸,则在该实施例中,可以根据表情数据,控制机器人输出一个笑脸的表情包或者表情符号。
在另一实施例中,该方法应用于服务器,则服务器可以将该第二语音信息和表情数据发送至机器人进而控制机器人输出第二语音信息并展示该面部表情。其具体实施方式与上文类似,在此不再赘述。
通过上述实施方式,在进行人机交互的时候,不仅可以给用户以语音回复对话,还可以控制机器人展示对应的表情,使得与用户的交互更加现实化,增强人机交互的舒适度,进一步提升用户使用体验。
本公开还提供一种人机交互装置,如图3所示,所述装置20包括:
第一获取模块201,用于获取用户在输入第一语音信息的过程中的视频数据;
第二获取模块202,用于将所述视频数据输入至答案生成模型网络,获得所述答案生成模型网络输出的与所述第一语音信息对应的答案信息,其中,所述答案生成模型网络包括:分离模型、人脸信息提取模型、语音识别模型、人脸信息序列生成模型以及答案生成模型,所述人脸信息提取模型的输入与所述分离模型的图像输出耦合,所述语音识别模型的输入与所述分离模型的语音输出耦合,所述人脸信息序列生成模型的输入与所述人脸信息提取模型的输出耦合,所述答案生成模型的输入分别与所述人脸信息序列生成模型的输出及所述语音识别模型的输出耦合;所述分离模型用于从所述视频数据中分离出图像数据和语音数据,所述图像数据包括多帧图像;所述人脸信息提取模型用于从每帧图像中提取人脸信息;所述语音识别模型用于确定所述语音数据对应的文本信息;所述人脸信息序列生成模型用于根据从每帧图像中提取出的所述人脸信息,生成人脸信息序列;所述答案生成模型用于根据所述人脸信息序列和所述文本信息,生成所述答案信息;
输出模块203,用于输出所述答案信息。
可选地,所述答案生成模型网络是根据多个历史视频数据、以及与每个历史视频数据一一对应的历史答案数据训练得到的。
可选地,所述人脸信息提取模型包括人脸区域提取模型和人脸特征识别模型,所述人脸区域提取模型用于提取每帧图像中的人脸区域图像;所述人脸特征识别模型的输入与所述人脸区域提取模型的输出耦合,用于根据所述人脸区域图像,识别出所述人脸区域图像对应的所述人脸信息。
可选地,所述人脸信息包括人脸特征信息和面部动作强度信息,所述人脸信息序列生成模型用于根据从每帧图像中提取出的所述人脸特征信息生成人脸特征信息序列,并根据从每帧图像中提取出的所述面部动作强度信息生成面部动作强度信息序列;
所述答案生成模型用于根据所述人脸特征信息序列、所述面部动作强度信息序列和所述文本信息,生成所述答案信息。
可选地,所述输出模块包括:
第一合成子模块,用于对所述答案信息进行语音合成,获得第二语音信息;
第一输出子模块,用于输出所述第二语音信息。
可选地,所述答案信息包括与所述文本信息和表情数据,所述输出模块包括:
第二合成子模块,用于对所述文本信息进行语音合成,获得第二语音信息;
第二输出子模块,用于在机器人上输出所述第二语音信息,并展现所述表情数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种电子设备700的框图。其中,该电子设备可以是机器人设备或终端及虚拟机器人等。如图4所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的人机交互方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的人机交互方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的人机交互方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的人机交互方法。
图5是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图5,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的人机交互方法。
另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的人机交互方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的人机交互方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的人机交互方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。