一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

人机交互系统、方法及智能机器人与流程

2022-03-16 05:24:06 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,尤其涉及一种人机交互系统、方法及智能机器人。


背景技术:

2.人工智能技术是用于模拟、延伸和扩展人的智能的技术科学。其中运用人工智能技术中的深度卷积神经网络可以更好地提取用户特征,使得智能机器能够更准确的根据用户特征识别用户行为,从而便于与用户进行人机交互。
3.目前,智能机器大部分只有语音识别功能和联网功能,如智能音箱和智能扫地机器人等,人机交互功能较为单一。但是由于深度卷积神经网络的复杂度以及运算量非常大,对边缘设备具有较高要求,考虑到边缘设备落地成本问题,所以实际部署到智能机器人硬件上的深度卷积神经网络,通常难以实现基于用户人脸特征,实时、高效和准确的识别用户身份并快速作出交互动作。


技术实现要素:

4.本技术提供了一种人机交互系统、方法及智能机器人,以解决现有深度卷积神经网络在智能机器人上的人脸识别效果差的技术问题。
5.为了解决上述技术问题,本技术实施例提供了一种应用于智能机器人的人机交互系统,所述人机交互系统包括图像采集模块、模型加速模块、模型推理模块和交互功能模块;
6.所述图像采集模块,用于基于预设的初始化策略,对智能机器人的摄像头进行参数初始化,并控制所述摄像头采集与所述智能机器人进行交互时的用户人脸图像;
7.所述模型加速模块,用于对预设的人脸识别模型进行模型转换,得到tensorrt模型,并基于所述tensorrt模型,创建模型运行引擎;
8.所述模型推理模块,用于基于所述模型运行引擎,对所述用户人脸图像进行识别推理,得到推理结果;
9.所述交互功能模块,用于根据所述推理结果,向用户反馈交互动作信息。
10.本实施例通过图像采集模块基于预设初始化策略,对智能机器人的摄像头进行参数初始化,以能够采用模型测试时的方式采用图像,保证数据集质量,从而保证人脸识别结果的准确度;通过模型加速模块对预设的人脸识别模型进行模型转换,以降低模型复杂度,提高人脸识别速度以及降低适配该模型的硬件成本;以及通过模型推理模块和交互功能模型,实现智能机器人与用户交互。
11.在一实施例中,所述模型加速模块,具体包括:
12.转换单元,用于对所述人脸识别模型进行层间融合和精度校准,得到所述tensorrt模型;
13.序列化单元,用于对所述tensorrt模型进行序列化,得到优化文件,并将所述优化文件存储至预设存储空间;
14.创建单元,用于读取所述预设存储空间中的优化文件,并对所述优化文件进行反序列化,以及根据反序列化后的所述优化文件,创建所述模型运行引擎。
15.在一实施例中,所述模型推理模块,具体包括:
16.检测单元,用于对所述用户人脸图像进行人脸特征提取,得到第一人脸特征,并根据所述第一人脸特征,检测所述用户人脸图像中的人脸区域和人脸关键点;
17.对齐单元,用于利用普氏分析法,对所述用户人脸图像中的人脸区域进行角度矫正,以及对所述用户人脸图像中的人脸关键点进行对齐变换,得到目标人脸图像;
18.确定单元,用于对所述目标人脸图像进行人脸特征提取,得到第二人脸特征,并根据所述第二人脸特征,确定所述用户人脸图像对应的推理结果。
19.在一实施例中,所述检测单元,具体包括:
20.第一提取子单元,用于对所述用户人脸图像进行整体特征提取,得到整体特征;
21.第二提取子单元,用于根据所述整体特征提取用户人脸图像的多尺度特征,得到多尺度特征图;
22.输出子单元,用于基于ssh算法,根据所述多尺度特征图,输出所述用户人脸图像的人脸区域和人脸关键点。
23.在一实施例中,所述对齐单元,具体包括:
24.第一确定子单元,用于基于最小二乘法,确定所述用户人脸图像中的人脸区域与预设标准区域之间的人脸倾斜角度;
25.旋转子单元,用于根据所述人脸倾斜角度,对所述用户人脸图像中的人脸区域进行旋转变换;
26.对齐子单元,用于对旋转变换后的所述用户人脸图像中的人脸关键点进行对齐变换,得到所述目标人脸图像。
27.在一实施例中,所述确定单元,具体包括:
28.增强子单元,用于对所述目标人脸图像进行水平翻转,并对翻转前和翻转后的两张所述目标人脸图像进行拼接,得到目标拼接图像;
29.第三提取子单元,用于对所述目标拼接图像进行人脸特征提取,得到所述第二人脸特征;
30.查询子单元,用于遍历预设的人脸数据库,查询与所述第二人脸特征的相似度最高,且相似度大于预设阈值的目标特征id;
31.第二确定子单元,用于根据所述目标特征id,确定所述用户人脸图像对应的推理结果。
32.在一实施例中,所述交互功能模块,具体包括:
33.运动控制单元,用于根据所述推理结果中的用户位置信息,控制所述智能机器人运动至靠近用户的目标位置;
34.语音单元,用于将预设语音信息与所述推理结果中的用户身份信息进行结合,得到目标语音信息,向用户播报所述目标语音信息;
35.表情控制单元,用于根据所述推理结果中的用户表情信息,模拟用户表情。
36.第二方面,本技术实施例提供一种人机交互方法,应用于智能机器人,方法包括:
37.基于预设的初始化策略,对摄像头进行参数初始化,并控制所述摄像头采集与所
述智能机器人进行交互时的用户人脸图像;
38.对预设的人脸识别模型进行模型转换,得到tensorrt模型,并基于所述tensorrt模型,创建模型运行引擎;
39.基于所述模型运行引擎,对所述用户人脸图像进行识别推理,得到推理结果;
40.根据所述推理结果,向用户反馈交互动作信息。
41.在一实施例中,所述对预设的人脸识别模型进行模型转换,得到tensorrt模型,并基于所述tensorrt模型,创建模型运行引擎,包括:
42.对所述人脸识别模型进行层间融合和精度校准,得到所述tensorrt模型;
43.对所述tensorrt模型进行序列化,得到优化文件,并将所述优化文件存储至预设存储空间;
44.读取所述预设存储空间中的优化文件,并对所述优化文件进行反序列化,以及根据反序列化后的所述优化文件,创建所述模型运行引擎。
45.第三方面,本技术实施例提供一种智能机器人,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器执行所述计算机程序时实现如第二方面所述的人机交互方法。
46.需要说明的是,上述第二方面和第三方面的有益效果请参见第一方面的相关描述,在此不再赘述。
附图说明
47.图1为本技术实施例提供的人机交互系统的结构示意图;
48.图2为本技术实施例提供的人机交互方法的流程示意图;
49.图3为本技术实施例提供的智能机器人的结构示意图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.如相关技术记载,智能机器大部分只有语音识别功能和联网功能,如智能音箱和智能扫地机器人等,人机交互功能较为单一。但是由于深度卷积神经网络的复杂度以及运算量非常大,对边缘设备具有较高要求,考虑到边缘设备落地成本问题,所以实际部署到智能机器人硬件上的深度卷积神经网络,通常难以实现基于用户人脸特征,实时、高效和准确的识别用户身份并快速作出交互动作。
52.为此,本技术实施例提供一种人机交互系统、方法及智能机器人,通过图像采集模块基于预设初始化策略,对智能机器人的摄像头进行参数初始化,以能够采用模型测试时的方式采用图像,保证数据集质量,从而保证人脸识别结果的准确度;通过模型加速模块对预设的人脸识别模型进行模型转换,以降低模型复杂度,提高人脸识别速度以及降低适配该模型的硬件成本;以及通过模型推理模块和交互功能模型,实现智能机器人与用户交互。
53.参照图1,图1为本技术实施例提供的一种应用于智能机器人的人机交互系统的结
构示意图,所述人机交互系统包括图像采集模块101、模型加速模块102、模型推理模块103和交互功能模块104;
54.所述图像采集模块101,用于基于预设的初始化策略,对智能机器人的摄像头进行参数初始化,并控制所述摄像头采集与所述智能机器人进行交互时的用户人脸图像。
55.由于深度学习模型的性能需要依托于大数据,需要保证数据集质量,而在机器人领域,由于软硬件设计安装环节不同,模型训练前采集数据的设备与模型使用和测试时采集数据的设备不同,在数据采集上存在较大差异,影响模型性能。本实施例通过初始化策略对智能机器人进行初始化,以降低数据采集时造成的数据差异。
56.所述模型加速模块102,用于对预设的人脸识别模型进行模型转换,得到tensorrt模型,并基于所述tensorrt模型,创建模型运行引擎。
57.在部署机器人的模型推理模块时,由于训练得到的人脸识别模型可能会很大,参数很多,而且部署的机器性能存在差异,导致推理速度慢,延迟高。所以为了降低成本,通过模型加速模块利用tensorrt对模型转换。tensorrt是一个高性能的深度学习推理(inference)优化器,能够对训练好的模型进行优化,为深度学习应用提供低延迟、高吞吐率的部署推理。tensorrt可用于对超大规模数据中心、嵌入式平台或自动驾驶平台进行推理加速。
58.所述模型推理模块103,用于基于所述模型运行引擎,对所述用户人脸图像进行识别推理,得到推理结果。
59.通过基于tensorrt模型创建的模型运行引擎,对用户人脸图像进行hi识别推理,能够提高识别速度。可选地,上述识别推理过程可以包括人脸区域和关键点检测、人脸矫正对齐以及人脸表征与识别。
60.所述交互功能模块104,用于根据所述推理结果,向用户反馈交互动作信息。
61.上述推理结果包括但不限于用户身份信息和用户表情信息等。
62.在一实施例中,在图1所示实施例的基础上,所述模型加速模块102,具体包括:
63.转换单元,用于对所述人脸识别模型进行层间融合和精度校准,得到所述tensorrt模型;
64.序列化单元,用于对所述tensorrt模型进行序列化,得到优化文件,并将所述优化文件存储至预设存储空间;
65.创建单元,用于读取所述预设存储空间中的优化文件,并对所述优化文件进行反序列化,以及根据反序列化后的所述优化文件,创建所述模型运行引擎。
66.在本实施例中,示例性地,模型通过tensorrt加速的过程,包括:
67.tensorrt安装,确认好设备的cuda版本;将训练好的模型从pytorch模型转为通用的onnx格式;
68.将onnx格式的模型转为tensorrt模型进行加速和部署,在模型转换时会完成优化过程中的层间融合和精度校准,该步骤的输出是一个针对特定gpu平台和网络模型的优化过的tensorrt模型,这个tensorrt模型可以序列化存储到磁盘或内存中;
69.测试engine模型,将上面步骤中的模型文件反序列化,并创建一个runtime engine(即模型运行引擎),然后就可以输入数据(比如测试集或数据集之外的图片),然后输出分类向量结果或检测结果。
70.在一实施例中,在图1所示实施例的基础上,所述模型推理模块103,具体包括:
71.检测单元,用于对所述用户人脸图像进行人脸特征提取,得到第一人脸特征,并根据所述第一人脸特征,检测所述用户人脸图像中的人脸区域和人脸关键点。
72.对齐单元,用于利用普氏分析法,对所述用户人脸图像中的人脸区域进行角度矫正,以及对所述用户人脸图像中的人脸关键点进行对齐变换,得到目标人脸图像;
73.确定单元,用于对所述目标人脸图像进行人脸特征提取,得到第二人脸特征,并根据所述第二人脸特征,确定所述用户人脸图像对应的推理结果。
74.在本实施例中,检测单元对应用于人脸区域和关键点检测过程,对齐单元对应用于人脸矫正对齐过程,确定单元对应用于人脸表征与识别过程。
75.可选地,所述检测单元,具体包括:
76.第一提取子单元,用于对所述用户人脸图像进行整体特征提取,得到整体特征;
77.第二提取子单元,用于根据所述整体特征提取多尺度特征,得到多尺度特征图;
78.输出子单元,用于基于ssh算法,根据所述多尺度特征图,输出所述用户人脸图像的人脸区域和人脸关键点。
79.在本实施例中,人脸区域和关键点检测所采用的神经网络模型可以是retinaface模型,将该retinaface模型封装到上述检测单元,以实现人脸区域和关键点检测过程。其中该retinaface模型包含:mobilenet或resnet等深度卷积神经网络作为主干网络提取图片整体特征;采用fpn特征金字塔提取多尺度特征;引入ssh算法的context modeling方法,输出人脸分类的分数、边界框(即人脸区域)、关键点回归的output head部分以及multiloss函数(分别是分类(focal loss),boundingbox回归(iou loss),人脸关键点)。
80.示例性地,retinaface网络训练时的具体流程,包括:
81.step1,数据加载、预处理以及初始化模型的参数。其中数据加载为加载图片和label中的信息,并转为pytorch训练的格式进行数据归一化;初始化模型参数为对模型的主干网络backbonenet、fpn特征金字塔网络、ssh detection module和全连接网络层fullnet进行初始化。
82.step2,模型对样本数据进行处理,输出embedding,embedding包含分类分数(概率值)、边界框坐标和关键点坐标;
83.step3,根据embedding和标签数据,计算损失函数;
84.step4,根据损失函数,反向传播调整模型参数,直到模型收敛,得到检测单元的。
85.示例性地,检测单元的推理过程包括:读取视频帧,将视频帧图像裁剪为(640
×
640)或(320
×
320)的图像尺寸;将裁剪后的图像输入网络backbone模块进行特征提取,根据提取到的特征输出人脸区域的关键点位置、分数以及多个人脸anchor,然后对anchor执行nms(非极大值抑制)操作,选取质量最高的人脸框(即人脸区域);将人脸框以及其对应的关键点根据比例都还原到原始帧对应的位置上并显示。
86.在一实施例中,在图1所示实施例的基础上,所述对齐单元,具体包括:
87.第一确定子单元,用于基于最小二乘法,确定所述用户人脸图像中的人脸区域与预设标准区域之间的人脸倾斜角度;
88.旋转子单元,用于根据所述人脸倾斜角度,对所述用户人脸图像中的人脸区域进行旋转变换;
89.对齐子单元,用于对旋转变换后的所述用户人脸图像中的人脸关键点进行对齐变换,得到所述目标人脸图像。
90.在本实施例中,人脸矫正对齐采用普氏变换算法,将普氏分析法封装到对齐单元,以使对齐单元实现人脸矫正对齐过程。普氏分析法是一种用来分析形状分布的方法。数学上来讲,就是不断迭代,寻找标准形状,并利用最小二乘法寻找每个样本形状到这个标准形状的仿射变化方式。本实施例将角度倾斜的人脸,按照迭代出来的一个标准模板进行矫正裁剪为统一尺寸的人脸图像。其中求仿射变化的参数的对象为人脸关键点的点集和标注模板的关键点点集。普氏分析的作用为对原始数据的预处理,目的是获取更好的局部变化模型作为后续模型的学习基础,图像经过该方法处理,通过归一化变化,人脸的结构越来越明显,即脸部特征簇的位置越来越接近他们的平均位置。
91.示例性地,对齐单元中普氏分析法的具体实现流程,包括:
92.step1,求每个样本点i(i=1,2,...,n)(即五个人脸关键点位置:左眼、右眼、鼻子以及嘴的两角)在n幅图像中的均值;
93.step2,对所有形状的大小进行归一化,将每个样本点减去其对应均值;
94.step3,根据去中心化数据,计算每幅图像中形状的重心;
95.step4,根据重心和角度,将标准和样本形状对齐在一起,使得两个形状的普氏距离最小。
96.具体地,通过计算每幅图像中所有归一化样本点的平均值得到每个图像的标准形状canonical shape;利用最小二乘法求每个图像中样本形状到标准形状的旋转角度;根据旋转角度,对样本形状做旋转变化,得到和标准形状对齐的新的形状;重复以上步骤,直到达到指定循环次数或者前后两次迭代之间canonical shape的绝对范数满足一定阈值。
97.在一实施例中,所述确定单元,具体包括:
98.增强子单元,用于对所述目标人脸图像进行水平翻转,并对翻转前和翻转后的两张所述目标人脸图像进行拼接,得到目标拼接图像;
99.第三提取子单元,用于对所述目标拼接图像进行人脸特征提取,得到所述第二人脸特征;
100.查询子单元,用于遍历预设的人脸数据库,查询与所述第二人脸特征的相似度最高,且相似度大于预设阈值的目标特征id;
101.第二确定子单元,用于根据所述目标特征id,确定所述用户人脸图像对应的推理结果。
102.在本实施例中,人脸表征与识别过程选用arcface人脸识别模型,将该arcface人脸识别模型封装到确定单元,以确定单元实现人脸表征与识别过程。arcface人脸识别模型采用一种新的度量函数additional margin metric loss,求两个特征之间的余弦距离,然后强化类间差距,提升识别效果。其主要包括:通过mobilenet或resnetir等深度卷积神经网络,提取已对齐矫正人脸图像的特征;将提取到的特征与数据库中的已知人脸特征求余弦相似度,进而匹配出最为接近的一个已知用户id(目标特征id)。
103.示例性地,arcface人脸识别模型的理流程包括:
104.step1.将人脸图像作增强处理:对图片进行水平翻转,并对翻转后的两张图像进行拼接,得到拼接图像;
105.step2.提取拼接图像的512维特征,作为人脸表示;
106.step3.人脸特征匹配:遍历数据库中的特征信息,获取与待识别特征相似度最高(大于预设定阈值)的目标特征id,并将匹配到id输出显示。
107.在一实施例中,所述交互功能模块104,具体包括:
108.运动控制单元,用于根据所述推理结果中的用户位置信息,控制所述智能机器人运动至靠近用户的目标位置;
109.语音单元,用于将预设语音信息与所述推理结果中的用户身份信息进行结合,得到目标语音信息,向用户播报所述目标语音信息;
110.表情控制单元,用于根据所述推理结果中的用户表情信息,模拟用户表情。
111.在本实施例中,交互功能模块包括运动控制模块、语音模块、表情控制模块等,根据推理结果对用户做出相应的交互动作,比如通过运动控制模块接近用户,通过表情控制模块模拟人类表情以及在语音模块播放语音时报出用户姓名。
112.参照图2,图2示出了本技术实施例提供一种人机交互方法的流程示意图,该方法可应用于智能机器人.如图2所示,该方法包括步骤s201至s204。
113.步骤s201,基于预设的初始化策略,对摄像头进行参数初始化,并控制所述摄像头采集与所述智能机器人进行交互时的用户人脸图像;
114.步骤s202,对预设的人脸识别模型进行模型转换,得到tensorrt模型,并基于所述tensorrt模型,创建模型运行引擎;
115.步骤s203,基于所述模型运行引擎,对所述用户人脸图像进行识别推理,得到推理结果;
116.步骤s204,根据所述推理结果,向用户反馈交互动作信息。
117.在一实施例中,在图2所示实施例的基础上,上述步骤s202,包括:
118.对所述人脸识别模型进行层间融合和精度校准,得到所述tensorrt模型;
119.对所述tensorrt模型进行序列化,得到优化文件,并将所述优化文件存储至预设存储空间;
120.读取所述预设存储空间中的优化文件,并对所述优化文件进行反序列化,以及根据反序列化后的所述优化文件,创建所述模型运行引擎。
121.应理解,本实施例的人机交互方法的步骤解释可参见图1实施例对人机交互系统的相关描述,在此不再赘述。
122.图3为本技术一实施例提供的智能机器人的结构示意图。如图3所示,该实施例的智能机器人3包括:至少一个处理器30(图3中仅示出一个)处理器、存储器31以及存储在所述存储器31中并可在所述至少一个处理器30上运行的计算机程序32,所述处理器30执行所述计算机程序32时实现上述任意方法实施例中的步骤。
123.该智能机器人可包括但不仅限于处理器30、存储器31。本领域技术人员可以理解,图3仅仅是智能机器人3的举例,并不构成对智能机器人3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
124.所称处理器30可以是中央处理单元(central processing unit,cpu),该处理器30还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集
成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
125.所述存储器31在一些实施例中可以是所述智能机器人3的内部存储单元,例如智能机器人3的硬盘或内存。所述存储器31在另一些实施例中也可以是所述智能机器人3的外部存储设备,例如所述智能机器人3上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器31还可以既包括所述智能机器人3的内部存储单元也包括外部存储设备。所述存储器31用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
126.另外,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的步骤。
127.本技术实施例提供了一种计算机程序产品,当计算机程序产品在智能机器人上运行时,使得智能机器人执行时实现上述各个方法实施例中的步骤。
128.在本技术所提供的几个实施例中,可以理解的是,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意的是,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
129.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
130.以上所述的具体实施例,对本技术的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本技术的具体实施例而已,并不用于限定本技术的保护范围。特别指出,对于本领域技术人员来说,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献