推理实现方法、网络、电子设备及存储介质与流程

文档序号:29617676发布日期:2022-04-13 12:18阅读:70来源:国知局
推理实现方法、网络、电子设备及存储介质与流程

1.本发明实施例涉及人工智能技术领域,特别涉及一种推理实现方法、网络、电子设备及存储介质。


背景技术:

2.终端设备要实现人工智能通常需要经过感知、推理等过程,例如机器人在需要抓取房间内的某个物体时,机器人通常需要调用自身或外设的一些传感器来采集房间内的图像,以感知当前环境进行感知,然后基于感知到的环境中障碍物的分布情况和目标抓取物体的位置进行推理,得到运动规划结果,然后按照运动规划结果进行执行,直到抓取目标物体,完成抓取任务。
3.然而,终端设备进行推理后,得到的结果不一定理想,例如当置信度较低时,终端会判定推理失败。而终端设备一旦推理失败,就会放弃相关任务,导致用户体验很差。


技术实现要素:

4.本发明实施例的目的在于提供一种推理实现方法、网络、电子设备及存储介质,能够大大提高终端设备推理成功的概率和准确率,使得用户体验得到提升。
5.为达到上述目的,本发明的实施例提供了一种推理实现方法,应用于边缘节点,包括:接收下级边缘节点和/或终端设备在推理失败的情况下发送的第一推理请求,所述第一推理请求携带待推理数据和推理类型;根据所述推理类型调用相应的目标推理模型对所述待推理数据进行推理;在推理成功的情况下,将所述目标推理模型输出的推理结果返回给相应的所述下级边缘节点和/或所述终端设备;在推理失败的情况下,根据所述待推理数据和所述推理类型生成第二推理请求,并将所述第二推理请求发送给上级边缘节点和/或云端节点,将所述上级边缘节点和/或所述云端节点返回的推理结果下发给相应的所述下级边缘节点和/或所述终端设备。
6.为达到上述目的,本发明的实施例还提供了一种推理实现方法,应用于终端设备,包括:根据接收到的推理任务进行数据采集,得到待推理数据;根据所述推理任务的推理类型调用相应的目标推理模型对所述待推理数据进行推理;在推理失败的情况下,根据所述待推理数据和所述推理类型生成推理请求并将所述推理请求发送给边缘节点和/或云端节点,供所述边缘节点和/或云端节点根据所述推理请求返回推理结果。
7.为达到上述目的,本发明的实施例还提供了一种推理实现方法,应用于云端节点,包括:接收边缘节点和/或终端设备在推理失败的情况下发送的推理请求,所述推理请求携带待推理数据和推理类型;根据所述推理类型调用相应的目标推理模型对所述待推理数据进行推理;在推理成功的情况下,将所述目标推理模型输出的推理结果返回给所述边缘节点,供所述边缘节点将接收到的推理结果发送给终端设备,和/或,将所述目标推理模型输出的推理结果返回给所述终端设备;在推理失败的情况下,将推理失败响应返回给所述边缘节点,供所述边缘节点将接收到的推理失败响应发送给所述终端设备,和/或,将所述推
理失败响应返回给所述终端设备。
8.为达到上述目的,本发明的实施例还提供了一种智能分发网络,所述智能分发网络包括一个云端节点、若干终端设备和若干边缘节点,所述边缘节点、所述终端设备和所述云端节点分别用于执行如上所述的推理实现方法。
9.为达到上述目的,本发明的实施例还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上任一项所述的推理实现方法。
10.为达到上述目的,本发明的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的推理实现方法。
11.本发明实施例提供的推理实现方法,在终端设备推理失败的情况下,可以向边缘节点和/或云端节点发送推理请求,以便边缘节点和/或云端节点根据推理请求进行推理并返回推理结果,特别地,在边缘节点也推理失败的情况下,还可以继续向该边缘节点的上级边缘节点和/或云端中心节点发送理请求,以便上级边缘节点和/或云端节点根据推理请求进行推理并返回推理结果。也就是说,将推理划分为由低到高的终端设备、至少一个边缘节点和云端节点的多个层次,优先使用终端设备本体推理,辅助以边缘节点推理、云端节点推理进行补充,实现了多级智能,当前层次失败时可以向上一层次请求以在上一层次继续进行推理,直到推理成功,得到可执行的推理结果,大大提高终端设备推理成功的概率和准确率,提升了用户体验。并且逐级向上请求,避免了单一节点的处理压力过大,减少了上行带宽,加快了处理效率以及向下响应的速度。此外,相对于单一地依赖各个终端设备自身,还能够避免终端设备自身一旦推理失败就放弃执行任务的情况,并且由于可以依赖边缘节点或云端节点推理得到的推理结果来执行任务,边缘节点和云端节点的计算能力也会比终端设备更好,因此,任务的完成率更高、准确性也更高。
附图说明
12.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
13.图1是本发明一实施例中提供的推理实现方法的流程图;
14.图2是本发明另一实施例中提供的推理实现方法的流程图;
15.图3是本发明另一实施例中提供的推理实现方法的流程图;
16.图4是本发明另一实施例中提供的推理实现方法的交互流程图;
17.图5是本发明另一实施例中提供的推理实现方法的交互流程图;
18.图6是本发明另一实施例中提供的推理实现方法的交互流程图;
19.图7是本发明另一实施例中提供的推理实现方法的交互流程图;
20.图8是本发明另一实施例中提供的智能分发网络的结构示意图;
21.图9是本发明另一实施例中提供的电子设备的结构示意图。
具体实施方式
22.由背景技术可知,目前的终端设备在进行推理时仅依赖于终端设备自身,一旦推理失败,就直接放弃执行任务,用户体验很差。
23.为解决上述问题,本发明实施例提供了一种推理实现方法,应用于边缘节点,包括:接收下级边缘节点和/或终端设备在推理失败的情况下发送的第一推理请求,所述第一推理请求携带待推理数据和推理类型;根据所述推理类型调用相应的目标推理模型对所述待推理数据进行推理;在推理成功的情况下,将所述目标推理模型输出的推理结果返回给相应的所述下级边缘节点和/或所述终端设备;在推理失败的情况下,根据所述待推理数据和所述推理类型生成第二推理请求,并将所述第二推理请求发送给上级边缘节点和/或云端节点,将所述上级边缘节点和/或所述云端节点返回的推理结果下发给相应的所述下级边缘节点和/或所述终端设备。
24.本发明实施例提供的推理实现方法,在终端设备推理失败的情况下,可以向边缘节点和/或云端节点发送推理请求,以便边缘节点和/或云端节点根据推理请求进行推理并返回推理结果,特别地,在边缘节点也推理失败的情况下,还可以继续向该边缘节点的上级边缘节点和/或云端中心节点发送推理请求,以便上级边缘节点和/或云端节点根据推理请求进行推理并返回推理结果。也就是说,将推理划分为由低到高的终端设备、至少一个边缘节点和云端节点的多个层次,优先使用终端设备本体推理,辅助以边缘节点推理、云端节点推理进行补充,实现了多级智能,当前层次失败时可以向上一层次请求以在上一层次继续进行推理,直到推理成功,得到可执行的推理结果,大大提高终端设备推理成功的概率和准确率,提升了用户体验。并且逐级向上请求,避免了单一节点的处理压力过大,减少了上行带宽,加快了处理效率以及向下响应的速度。此外,相对于单一地依赖各个终端设备自身,还能够避免终端设备自身一旦推理失败就放弃执行任务的情况,并且由于可以依赖边缘节点或云端节点推理得到的推理结果来执行任务,边缘节点和云端节点的计算能力也会比终端设备更好,因此,任务的完成率更高、准确性也更高。
25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本发明而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本发明所要求保护的技术方案。
26.以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
27.本发明实施例一方面提供了一种推理实现方法,应用于边缘节点,其流程如图1所示。
28.步骤101,接收下级边缘节点和/或终端设备在推理失败的情况下发送的第一推理请求,第一推理请求携带待推理数据和推理类型。
29.本实施例不对待推理数据和推理类型进行限定,待推理数据可以是以下数据中的一种或组合:音频数据、视频数据、文本数据、图像数据等,推理类型可以识别、定位、路径规划等,特别地,本实施例也不对待推理数据的格式进行限定,如图像数据可以是灰色图像、深度图像或彩色图像等,音频可以是aiff(audio interchange file format)格式或midi(musical instrument digital interface)格式等,此处就不再一一赘述了。
30.并且,本实施例中的推理失败是指推理模型输出的结果出现以下情形:推理结果不可被执行、推理结果的置信度低于预设置信度阈值或者根据推理结果预估的任务成功率低于预设成功率等。
31.特别地,推理类型还可以进一步限定到模型类型,如用于识别的推理模型可以有人脸识别模型、物体识别模型等,人脸识别模型可以进一步分为facenet网络模型、多任务卷积神经网络(multi-task convolutional neural network,mtcnn)等。
32.可以理解的是,下级边缘节点、终端设备等能够与本边缘节点之间建立通信连接。当下级边缘节点、终端设备等推理失败的情况下,不会直接放弃执行相关任务,而是向上级节点即本边缘节点,发送第一推理请求,以请求本边缘节点进行推理,边缘节点在接收到第一推理请求后,对第一推理请求进行解析,得到待推理数据和推理类型。
33.需要说明的是,本实施例中的边缘节点是除终端设备和云端节点之外的所有节点,而不仅仅包括与终端设备之间具有通信链路的节点。
34.还需要说明的是,本实施例不对下级边缘节点以及终端设备的数量进行限定,可以是一个或多个,即可以接收来自一个或多个下级边缘节点分别发送的第一推理请求,也可以接收来自一个或多个下级边缘节点分别发送的第一推理请求,还可以接收来自至少一个下级边缘节点和至少一个终端设备分别发送的第一推理请求,特别地,一个下级边缘节点或一个终端设备也可以同时发送多个第一推理请求,这些推理请求的待推理数据和推理类型可以相同也可以不同。此处也不再一一赘述了。
35.步骤102,根据推理类型调用相应的目标推理模型对待推理数据进行推理。
36.本实施例中,边缘节点中已存储有若干训练好的推理模型,这些推理模型包括若干推理类型的至少一个推理模型,如边缘节点中存储有2个用于识别的推理模型、3个用于路径规划的推理模型。
37.在一些例子中,根据推理类型调用相应的目标推理模型对待推理数据进行推理可以通过如下方式实现:根据推理类型在已存储的推理模型中进行匹配;在匹配成功的情况下,将匹配到的推理模型作为目标推理模型并将待推理数据输入到目标推理模型中,特别地,可能根据推理模型匹配到至少两个推理模型,此时,各个推理模型还携带优先级标签,将匹配到的推理模型作为所述目标推理模型,包括:将优先级标签指示的优先级最高的推理模型作为目标推理模型;在匹配失败的情况下,根据推理类型向上级边缘节点和/或云端节点请求推理模型,上级边缘节点和/或云端节点在接收到请求后,根据推理类型从自身当前已存储的推理模型中查找相应的推理模型并下发,而边缘节点在接收到上级边缘节点和/或云端节点返回的推理模型后,将上级边缘节点和/或云端节点返回的推理模型作为目标推理模型并将待推理数据输入到目标推理模型中,可以理解的是,上级边缘节点和/或云端节点返回的推理模型的数量为1,即当上级边缘节点和/或云端节点查找出1个推理模型时,下发该推理模型;当上级边缘节点和/或云端节点查找出若干推理模型时,选择优先级最高的推理模型下发,而不是查找到的所有推理模型,减少下发推理模型时使用的流量,避免边缘节点存储过多推理模型占用内存而影响系统性能。
38.需要说明的是,上述例子中的优先级标签是根据推理模型被存储的时长和/或推理模型的准确率设置的,其中,优先级标签指示的是属于同一推理类型的推理模型之间的优先级,而不是所有已存储的推理模型的优先级。例如,按照预设的周期对已存储的推理模
型的准确率等因素进行评估,将某个或某些准确率低于预设阈值的推理模型的优先级降低,此时,还可以继续向上级边缘节点和/或云端节点请求优先级被降低的推理模型所属推理类型的新的推理模型,而上级边缘节点和/或云端节点返回的新的推理模型将会被设置有更高的优先级,而当推理模型的优先级超过预设优先级时,则判定该推理模型失效并删除该推理模型;或者,实时检测已存储的推理模型的已被存储的时长是否超过预设时长阈值,将超过预设时长阈值的推理模型的优先级降低等。
39.可以理解的是,为了避免存储过多的推理模型而影响系统性能,还可以检测推理模型是否不会被调用或调用输出的结果不可靠,即检测是否失效,以便删除失效的推理模型。因此,推理实现方法还包括:根据预设的失效条件检测已存储的推理模型是否失效;失效条件包括已存储时间超过预设的有效时长和/或准确率低于预设阈值;在检测到至少一个已存储的推理模型失效的情况下,删除失效的推理模型。例如可以检测已存储的推理模型的生存时间值(time to live,ttl)是否为0,认定ttl为0的推理模型失效;或者,检测已存储的推理模型的是否较长时间内未被使用,认定较长时间内未被使用的推理模型失效;或者,检测推理模型的准确率较低,认定准确率较低的推理模型失效。当然,以上仅为具体的距离说明,实际还可以认定优先级低于某一级别的推理模型失效、按照优先级由高到低进行排序的情况下认定位于前n(n为正整数)个之外的推理模型失效等,此处就不再一一赘述了。
40.还需要说明的是,已存储的推理模型可以是边缘节点向上级边缘节点和/或云端节点请求的,还可以是上级边缘节点和/或云端节点主动下发的,因此,推理实现方法还包括:接收上级边缘节点和/或所述云端节点主动下发的推理模型并存储,其中,主动下发可以是周期性主动下发,也可以设置一些触发条件,如某一推理类型的推理模型中至少两个最新的推理模型均未下发过或者接收到管理者的下发指令等。类似地,边缘节点还会主动向下级边缘节点和/或终端设备下发已存储的推理模型中优先级最高的推理模型,因此,推理实现方法还包括:向下级边缘节点和/或终端设备主动下发推理模型。
41.步骤103,检测推理是否成功,若是,执行步骤104,若否,执行步骤105。
42.如步骤101中对推理失败的说明,检测推理是否成功可以通过检测推理模型输出的结果,即推理结果是否可执行、置信度是否高于预设置信度阈值并且根据推理结果预估的任务成功率是否高于预设成功率等,即检测推理结果是否能够以较高的成功率执行。
43.步骤104,将目标推理模型输出的推理结果返回给相应的下级边缘节点和/或终端设备。
44.在一些例子中,根据所述推理类型调用相应的目标推理模型对所述待推理数据进行推理之后,推理实现方法还包括:在推理成功的情况下,将待推理数据的特征信息上报给所述上级边缘节点和/或所述云端节点,以在云端节点根据待推理数据的特征信息离线训练推理模型。
45.可以理解的是,在云端节点离线训练推理模型的情况下,云端节点期望接收到尽量多的用于训练的特征数据,因此,在另一些例子中,推理实现方法还包括:接收下级边缘节点和/或终端设备在推理成功的情况下发送的待推理数据的特征信息;将待推理数据的特征信息发送给上级边缘节点和/或云端节点。从而能够为云端节点的推理模型训练构建容量尽量大的训练集,提高推理模型的准确性。其中,待推理数据的特征信息可以设置一个
特征提取模型进行特征提取得到,也可以是推理模型在进行推理的过程中提取出来的,本实施例不对特征信息的获取方式进行限定。
46.步骤105,根据待推理数据和推理类型生成第二推理请求,并将第二推理请求发送给上级边缘节点和/或云端节点,将上级边缘节点和/或云端节点返回的推理结果下发给相应的下级边缘节点和/或终端设备。
47.需要说明的是,本实施例中的“第一推理请求”、“第二推理请求”是为了对边缘节点接收到的推理请求和发送出去的推理请求进行区分,即第一推理请求指示边缘节点接收到的推理请求,第二推理请求指示边缘节点发送出去的推理请求,而不对推理请求构成来自终端设备还是边缘节点等的限定。
48.本发明实施例另一方面还提供了一种推理实现方法,应用于终端设备,其中终端设备可以是机器人、手机、计算机等用户侧的电子设备,其流程如图2所示。
49.步骤201,根据接收到的推理任务进行数据采集,得到待推理数据。
50.本实施例提供的推理实现方法与第一个方法实施例提供的推理实现方法大致相同,以下主要对不同的部分进行说明。
51.本实施例中,终端设备会接收到来自用户的控制指令,如机器人会接受到用户控制终端或者机器人供应商的云平台等设备的指令,指示机器人执行任务,如物体识别、路径规划等,此时,机器人完成指令指示的任务需要经过感知、推理和执行三个过程,数据采集就是通过调用相关的传感器来对环境等进行感知,以便根据感知到的信息进行推理,因此,采集到的数据即为待推理数据,待推理数据也是推理模型的输入;当用户通过操作鼠标启动某个程序对用户上传的图片进行物体识别时,计算机加载图片来感知图片并运行相关程序,对图片中的物体进行识别等,此处就不再一一赘述了。
52.步骤202,根据推理任务的推理类型调用相应的目标推理模型对待推理数据进行推理。
53.在一些例子中,根据推理任务的推理类型调用相应的目标推理模型对待推理数据进行推理,可以通过如下方式实现:根据推理类型在已存储的推理模型中进行匹配;在匹配成功的情况下,将匹配到的推理模型作为目标推理模型并将待推理数据输入到目标推理模型中;在匹配失败的情况下,根据推理类型向边缘节点和/或云端节点请求推理模型,将边缘节点和/或云端节点返回的推理模型作为目标推理模型并将待推理数据输入到标推理模型中。
54.匹配到的推理模型可能有多个,具体地说,匹配到的推理模型包括多个携带优先级标签的推理模型,此时,将匹配到的推理模型作为目标推理模型,包括:将优先级标签指示的优先级最高的推理模型作为目标推理模型。其中,优先级标签是根据推理模型被存储的时长和/或推理模型的准确率设置的。
55.需要说明的是,已存储的推理模型包括向上级边缘节点请求的推理模型以及上级边缘节点主动下发的推理模型。因此,在另一些例子中,推理实现方法还包括:接收边缘节点和/或云端节点主动下发的推理模型并存储。
56.还需要说明的是,为了避免存储的模型过多而影响终端设备的运行,因此,还会对已存储的推理模型进行检测,确定是否存在失效的推理模型,进而可以删除已失效的推理模型。因此,在另一些例子中,推理实现方法还包括:根据预设的失效条件检测已存储的推
理模型是否失效;失效条件包括已存储时间超过预设的有效时长和/或准确率低于预设阈值;在检测到至少一个已存储的推理模型失效的情况下,删除失效的推理模型。
57.步骤203,检测推理是否成功,若是,执行步骤204,若否,执行步骤205。
58.步骤204,将待推理数据的特征信息经过边缘节点上报给云端节点,或者,将待推理数据的特征信息发送给云端节点,供云端节点根据接收到的待推理数据的特征信息离线训练推理模型。
59.可以理解的是,终端节点可能是与云端节点直接通信连接,也可能是通过至少一个边缘节点与云端节点连接,如终端节点与边缘节点通信连接,边缘节点与云端节点通信连接。相应地,本实施例中,终端节点可能先将待推理数据的特征信息发送给边缘节点,边缘节点接收后会直接向上级边缘节点或/云端节点转发接收到的待推理数据的特征信息,直到云端节点接收到该特征信息,终端节点也可能直接将待推理数据的特征信息发送给云端节点。
60.步骤205,根据待推理数据和推理类型生成推理请求并将推理请求发送给边缘节点和/或云端节点,供边缘节点和/或云端节点根据推理请求返回推理结果。
61.需要说明的是,边缘节点返回的推理结果不一定是接收到推理请求的边缘节点进行推理得到的结果,还可能是该边缘节点的上级边缘节点或云端节点进行推理得到的结果,同样也会经由该边缘节点反馈回来。
62.本发明实施例另一方面还提供了一种推理实现方法,应用于云端节点,其流程如图3所示。
63.步骤301,接收边缘节点和/或终端节点在推理失败的情况下发送的推理请求,推理请求携带待推理数据和推理类型。
64.本实施例提供的推理实现方法与第一个方法实施例提供的推理实现方法大致相同,以下主要对不同的部分进行说明。
65.步骤302,根据推理类型调用相应的目标推理模型对待推理数据进行推理。
66.在一些例子中,根据推理类型调用相应的目标推理模型对待推理数据进行推理,可以通过如下方式实现:根据推理类型在已存储的推理模型中进行匹配;将匹配到的推理模型作为标推理模型并将待推理数据输入到目标推理模型中。特别地,匹配到的推理模型可能有多个,即匹配到的推理模型包括多个携带优先级标签的推理模型,此时,将匹配到的推理模型作为目标推理模型,包括:将先级标签指示的优先级最高的推理模型作为目标推理模型。其中,优先级标签是根据推理模型的生成时间和/或推理模型的准确率设置的。
67.此外,为了避免存储过多不会被调用或者调用时输出结果不理想的推理模型,还需要检测已存储的推理模型是否失效,以便删除失效的推理模型,释放存储空间,避免影响系统性能。因此,在另一些例子中,推理实现方法还包括:根据预设的失效条件检测已存储的推理模型是否失效;失效条件包括已存储时间超过预设的有效时长和/或准确率低于预设阈值;在检测到至少一个已存储的推理模型失效的情况下,删除失效的推理模型。
68.步骤303,检测推理是否成功,若是,执行步骤304,若否,执行步骤305。
69.步骤304,将目标推理模型输出的推理结果返回给边缘节点,供边缘节点将接收到的推理结果发送给终端设备,和/或,将目标推理模型输出的推理结果返回给终端设备。
70.步骤305,将推理失败响应返回给边缘节点,供边缘节点将接收到的推理失败响应
发送给终端设备,和/或,将推理失败响应返回给终端设备。
71.可以理解的是,为了让云端节点能够构建容量尽量大的训练推理模型的训练集,在推理成功的情况下,边缘节点和终端设备均会向上传输推理成功的待推理数据的特征信息,直到云端节点接收到该特征信息,因此,在一些例子中,推理实现方法还包括:接收边缘节点和/或终端设备在推理成功的情况下发送的待推理数据的特征信息。
72.进而,云端节点还会根据接收到的推理数据及其特征信息进行推理模型训练,因此,在另一些例子中,推理实现方法还包括:根据预设时长内接收到的属于不同推理类别的推理数据和/或推理数据的特征信息离线训练推理模型,得到不同推理类别的推理模型。例如约定在每个月的第一天进行推理模型训练,训练过程包括,对上个月接收到的待推理数据及其特征按照推理类型进行划分,得到各种推理类型对应的训练数据,其中,待推理数据还需要进一步仅特征提取以便得到特征信息,然后利用特征信息按照预定义的初始模型进行训练,特别地,每个推理类型可以采用多种训练方式、多种初始模型训练,得到多个推理模型,此处就不再一一赘述了。
73.可以理解的是,为了帮助边缘节点、终端设备能够更好地进行推理,需要为边缘节点、终端提供更新后的推理模型,避免出现推理模型由于不太新、训练数据滞后,不能够适应当前的推理任务,导致推理总是出错而导致大部分推理处理压力均集中在云端节点上的问题,因此,在另一些例子中,推理实现方法还包括:向边缘节点和/或终端设备主动下发推理模型。
74.为了便于本领域技术人员更好地理解上述方法实施例提供的推理实现方法,以下将以识别场景且终端设备为机器人为例,对终端设备、边缘节点以及云端节点在不同的层次上推理成功时的执行过程进行说明。
75.在机器人本体推理成功的场景下,如图4所示,推理实现方法包括:
76.步骤401,机器人根据用户下发的识别指令对目标区域进行拍摄,得到目标图像。
77.步骤402,机器人从已存储的推理模型中匹配出用于物体识别的推理模型并将匹配到的推理模型中优先级最高的推理模型作为目标推理模型。
78.步骤403,机器人调用目标推理模型处理目标图像,得到目标图像中目标物体的名称及置信度。
79.步骤404,在根据置信度判定识别成功的情况下,机器人向边缘节点发送目标图像的特征信息。
80.步骤405,边缘节点将接收到的目标图像的特征信息转发给云端节点。
81.步骤406,云端节点存储目标图像的特征信息。
82.在机器人本体推理失败且边缘节点推理成功的场景下,如图5所示,推理实现方法包括:
83.步骤501,机器人根据用户下发的识别指令对目标区域进行拍摄,得到目标图像。
84.步骤502,机器人从已存储的推理模型中匹配出用于物体识别的一个推理模型并将匹配到的推理模型作为第一目标推理模型。
85.步骤503,机器人调用目标推理模型处理目标图像,得到目标图像中目标物体的第一名称及第一置信度。
86.步骤504,在根据第一置信度判定识别失败的情况下,机器人向边缘节点发送第一
推理请求,第一推理请求携带目标图像和指示推理类型为物体识别的信息。
87.步骤505,边缘节点接收第一推理请求并解析出目标图像和指示推理类型为物体识别的信息。
88.步骤506,边缘节点从已存储的推理模型中匹配出用于物体识别的推理模型并将匹配到的推理模型中优先级最高的推理模型作为第二目标推理模型。
89.步骤507,边缘节点调用第二目标推理模型处理目标图像,得到目标图像中目标物体的第二名称及第二置信度。
90.步骤508,在根据第二置信度判定识别成功的情况下,边缘节点向上级边缘节点发送目标图像的特征信息。
91.步骤509,上级边缘节点将接收到的目标图像的特征信息转发给云端节点。
92.步骤510,云端节点接收并存储目标图像的特征信息。
93.步骤511,边缘节点将目标物体的第二名称转发给机器人。
94.在机器人本体失败且边缘节点匹配目标推理模型失败的场景下,如图6所示,推理实现方法包括:
95.步骤601,机器人根据用户下发的识别指令对目标区域进行拍摄,得到目标图像。
96.步骤602,机器人从已存储的推理模型中匹配出用于物体识别的一个推理模型并将匹配到的推理模型作为第一目标推理模型。
97.步骤603,机器人调用目标推理模型处理目标图像,得到目标图像中目标物体的第一名称及第一置信度。
98.步骤604,在根据第一置信度判定识别失败的情况下,机器人向边缘节点发送第一推理请求,第一推理请求携带目标图像和指示推理类型为物体识别的信息。
99.步骤605,边缘节点接收第一推理请求并解析出目标图像和指示推理类型为物体识别的信息。
100.步骤606,边缘节点从已存储的推理模型中匹配出用于物体识别的推理模型。
101.步骤607,在匹配失败的情况下,边缘节点向云端节点请求用于物体识别的推理模型。
102.步骤608,云端节点在接收到请求模型的请求后,将优先级最高的用于物体识别的推理模型下发给边缘节点。
103.步骤609,边缘节点调用云端节点返回的推理模型处理目标图像,得到目标图像中目标物体的第二名称及第二置信度。
104.步骤610,在根据第二置信度判定识别成功的情况下,边缘节点向云端节点发送目标图像的特征信息。
105.步骤611,云端节点接收并保存目标图像的特征信息。
106.步骤612,边缘节点向机器人发送第二名称。
107.在机器人本体以及边缘节点均匹配目标推理模型失败的场景下,如图7所示,推理实现方法包括:
108.步骤701,机器人根据用户下发的识别指令对目标区域进行拍摄,得到目标图像。
109.步骤702,机器人从已存储的推理模型中匹配出用于物体识别的推理模型。
110.步骤703,在匹配失败的情况下,机器人向边缘节点请求用于物体识别的推理模
型。
111.步骤704,边缘节点在接收到机器人发送的请求后,从已存储的推理模型中匹配用于物体识别的推理模型。
112.步骤705,在匹配失败的情况下,边缘节点向云端节点请求用于物体识别的推理模型。
113.步骤706,云端节点在接收到边缘节点发送的请求后,从已存储的推理模型中匹配出优先级最高的用于物体识别的推理模型。
114.步骤707,云端节点将匹配到的推理模型下发给边缘节点。
115.步骤708,边缘节点将接收到的推理模型转发给机器人。
116.步骤709,机器人调用接收到的推理模型处理目标图像,得到目标图像中目标物体的名称及置信度。
117.步骤710,在根据置信度判定识别成功的情况下,机器人向边缘节点发送目标图像的特征信息。
118.步骤711,边缘节点将接收到的目标图像的特征信息转发给云端节点。
119.步骤712,云端节点接收并保存目标图像的特征信息。
120.需要说明的是,以上仅为具体举例说明,在其他例子中,机器人还可以通过边缘节点、上级边缘节点以及上上级边缘节点将特征信息发送给云端节点。此外,上述例子中并未涉及主动下发推理模型、推理模型训练、云端节点接收机器人采集的数据而不是特征信息、机器人直接与云端通信连接以便直接向云端节点上传待推理数据的特征信息或直接向云端节点请求推理模型等场景,在其他例子中,机器人、边缘节点等还接收上级节点下发的推理模型;机器人、各级边缘节点均推理失败,目标图像将被传输至云端节点以进行推理,云端节点在推理成功的情况下,向各级边缘节点和机器人反馈推理结果,在推理不成功的情况下,向各级边缘节点和机器人反馈推理失败的响应;云端节点还根据接收到的各种目标图像训练推理模型等,此处就不再一一赘述了。
121.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
122.本发明实施例另一方面还提供了一种智能分发网络,如图8所示,包括:一个云端节点、若干终端设备和若干边缘节点。
123.其中,云端节点用于接收边缘节点和/或终端设备在推理失败的情况下发送的推理请求,推理请求携带待推理数据和推理类型;根据推理类型调用相应的目标推理模型对待推理数据进行推理;在推理成功的情况下,将目标推理模型输出的推理结果返回给边缘节点,供边缘节点将接收到的推理结果发送给终端设备,和/或,将目标推理模型输出的推理结果返回给终端设备;在推理失败的情况下,将推理失败响应返回给边缘节点,供边缘节点将接收到的推理失败响应发送给终端设备,和/或,将推理失败响应返回给终端设备。终端设备用于根据接收到的推理任务进行数据采集,得到待推理数据;根据推理任务的推理类型调用相应的目标推理模型对待推理数据进行推理;在推理失败的情况下,根据待推理数据和推理类型生成推理请求并将推理请求发送给边缘节点和/或云端节点,供边缘节点
和/或云端节点根据推理请求返回推理结果。边缘节点用于接收下级边缘节点和/或终端设备在推理失败的情况下发送的第一推理请求,第一推理请求携带待推理数据和推理类型;根据推理类型调用相应的目标推理模型对待推理数据进行推理;在推理成功的情况下,将目标推理模型输出的推理结果返回给相应的下级边缘节点和/或终端设备;在推理失败的情况下,根据待推理数据和推理类型生成第二推理请求,并将第二推理请求发送给上级边缘节点和/或云端节点,将上级边缘节点和/或云端节点返回的推理结果下发给相应的下级边缘节点和/或终端设备。
124.由此不难看出,智能分发网络实际是一个集中训练、分布式推理的网络,由云端中心,及中心节点进行推理模型的训练,将待推理数据、各级边缘节点或终端设备上传的待推理数据的特征信息集中到云端节点以在云端节点训练各类推理模型,而各级边缘节点和终端设备存储的推理模型来自于上级节点下发或主动向上级节点请求,在进行推理时,一旦当前节点推理失败,则向上级节点发送推理请求,直到请求被传达至云端节点,即优先使用终端设备本体识别,辅助以边缘识别、云端识别为补充的方式,以实现多级智能;提升了识别准确率以及响应速度,同时通过逐级处理减少了上行带宽,最终实现用户体验的提升。
125.此外,相对于内容分发网络(content delivery network,cdn),智能分发网络能够实现智能的推理模型进行管理,且数据传输过程中分发的是智能应用镜像、应用运行配置管理以及应用关联数据的转移。更加复杂、更加灵活多变;并且通过智能分发网络,可以快速地将云端智能下沉到边缘,还可以快速的将边缘的智能转移至云端,使得特定智能可以更加自由、更加高效地运行在整个智能分发网络中,打破了云边端的应用鸿沟,还能够将云端智能下沉到边缘来换取带宽节省、降低时延,将边缘的智能转移至云端来换取更强的处理性能、更大的数据集合和数据共享,实现更高效的智能;以及,智能分发网络以终端设备为源点,自下而上的网络流量占据主要,考虑到智能机器的平均上行网络流量是平均下行网络流量的10-100倍,因此,可以充分利用上行流量,提高推理效率,可以有效的降低骨干网上行带宽,达到提升骨干网带宽利用率并节省成本的目的。
126.不难发现,本实施例与方法实施例相对应,本实施例可与方法实施例互相配合实施。方法实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在方法实施例中。
127.值得一提的是,通过将利用智能分发网络中的边缘节点对待推理数据进行处理,减少了上传到智能分发网络云端的上行骨干网络流量,节省了带宽;针对智能分发网络中终端设备处理能力不足的情况,将数据在智能分发网络中的各级边缘节点进行处理,而智能分发网络中的边缘节点不需要训练推理模型,减少了算力的消耗;并且智能分发网络中的云端节点通过集中的训练,获取到更充足的样本空间,利用智能分发网络云端更强大的算力,训练出来的模型的准确率更高;智能分发网络边缘节点动态从云端获取特征信息库,以保证使用最新的特征信息库的。
128.还值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
129.本发明实施例另一方面还提供了一种电子设备,如图9所示,包括:至少一个处理
器901;以及,与至少一个处理器901通信连接的存储器902;其中,存储器902存储有可被至少一个处理器901执行的指令,指令被至少一个处理器901执行,以使至少一个处理器901能够执行上述任一方法实施例所描述的推理实现方法。
130.其中,存储器902和处理器901采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器901和存储器902的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器901处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传输给处理器901。
131.处理器901负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器902可以被用于存储处理器901在执行操作时所使用的数据。
132.本发明实施方式另一方面还提供了一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述任一方法实施例所描述的推理实现方法。
133.即,本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
134.本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1