一种应用于可穿戴设备的AI推理调度方法、及其相关设备
未命名
08-07
阅读:129
评论:0

一种应用于可穿戴设备的ai推理调度方法、及其相关设备
技术领域
1.本技术涉及图像处理技术领域,尤其涉及一种应用于可穿戴设备的ai推理调度方法、装置、计算机设备及存储介质。
背景技术:
2.面向可穿戴设备的实时ai推理问题,最近的技术有zhao t等提出的名为“移动加速”的方法,该方法通过减小深度残差网络的卷积核大小和使用混合精度训练,减少计算和内存需求,显著提高深度残差网络在移动设备上的运行效率;另外一种是yi.j等的基于可穿戴摄像头的人脸识别系统,该系统是将深度学习模型部署在基于fpga的计算平台上,能够在人群密集的城市区域快速地实现高的人员识别准确率。
3.然而,申请人发现传统的实时ai推理调度方法在可穿戴设备上的实时ai推理都各有弊端。尽管zhao t等的加速方法可以降低网络的计算和内存需求,但在某些移动终端设备上,仍然可能存在计算能力和内存限制。因此在实际应用中需要根据具体情况选择合适的网络结构和移动设备。而yi.j等虽然在系统中加速了ai推理,但该系统是直接将深度学习模型推理任务卸载到fpga的计算平台上,没有考虑连续场景下系统情况,没有充分利用系统其他资源和研究网络资源对系统的影响。因而面向可穿戴设备的实时ai推理问题是需要考虑可穿戴设备的局限性以及充分考虑系统资源的实时ai推理问题。由于zhao t和yi.j等并没有将以上两点都考虑进来,由此可见,传统的实时ai推理调度方法并没有很好解决可穿戴设备的实时ai推理问题。
技术实现要素:
4.本技术实施例的目的在于提出一种应用于可穿戴设备的ai推理调度方法、装置、计算机设备及存储介质,以解决传统的实时ai推理调度方法并没有很好满足可穿戴设备的实时ai推理问题。
5.为了解决上述技术问题,本技术实施例提供一种应用于可穿戴设备的ai推理调度方法,采用了如下所述的技术方案:
6.接收可穿戴设备发送的当前图像帧;
7.若所述当前图像帧为第一帧图像,则将所述当前图像帧确定为prfm帧;
8.获取第一系统状态信息;
9.根据剪枝优化调度算法以及所述第一系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第一调度决策;
10.根据所述第一调度决策进行模型推理任务调度操作,得到第一推理结果。
11.进一步的,其特征在于,在所述接收可穿戴设备发送的当前图像帧的步骤之后,还包括下述步骤:
12.若所述当前图像帧不为所述第一帧图像,则根据特征匹配的调度算法计算所述当前图像帧与所述prfm帧的关键点匹配数量;
13.若所述关键点匹配数量满足预设的匹配数量条件,则将所述第一推理结果作为所述当前图像帧的推理结果。
14.进一步的,在所述若所述当前图像帧不为所述第一帧图像,则根据特征匹配的调度算法计算所述当前图像帧与所述prfm帧的关键点匹配数量的步骤之后,还包括下述步骤:
15.若所述关键点匹配数量不满足所述匹配数量条件,则将所述当前图像帧确定为所述prfm帧;
16.获取第二系统状态信息;
17.根据剪枝优化调度算法以及所述第二系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第二调度决策;
18.根据所述第二调度决策进行模型推理任务调度操作,得到第二推理结果。进一步的,所述根据特征匹配的调度算法计算所述当前图像帧与所述prfm帧的关键点匹配数量的步骤,具体包括下述步骤:
19.根据orb检测器对所述当前图像帧进行关键点检测操作以及描述符获取操作,得到当前帧关键点以及与所述当前帧关键点相对应的当前帧关键点描述符;
20.根据knnmatch函数获取所述当前帧关键点描述符与所述prfm帧的关键点描述符的初始关键点匹配数量;
21.根据lowe对所述初始关键点匹配数量进行过滤操作,得到所述关键点匹配数量。
22.5.根据权利要求1所述的应用于可穿戴设备的ai推理调度方法,其特征在于,所述第一系统状态信息包括实时网络带宽、网络延迟以及系统计算资源,所述根据剪枝优化调度算法以及所述第一系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第一调度决策的步骤,具体包括下述步骤:
23.根据所述实时网络带宽、所述网络延迟以及所述系统计算资源计算模型调度的数网络传输时间以及模型推理时间;
24.根据所述数网络传输时间以及所述模型推理时间预测推理时间最短的调度决策,得到所述第一调度决策。
25.为了解决上述技术问题,本技术实施例还提供一种应用于可穿戴设备的ai推理调度装置,采用了如下所述的技术方案:
26.图像帧获取模块,用于接收可穿戴设备发送的当前图像帧;
27.第一prfm帧确定模块,用于若所述当前图像帧为第一帧图像,则将所述当前图像帧确定为prfm帧;
28.第一状态信息获取模块,用于获取第一系统状态信息;
29.第一决策计算模块,用于根据剪枝优化调度算法以及所述第一系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第一调度决策;
30.第一任务调度模块,用于根据所述第一调度决策进行模型推理任务调度操作,得到第一推理结果。
31.进一步的,所述装置还包括:
32.匹配计算模块,用于若所述当前图像帧不为所述第一帧图像,则根据特征匹配的调度算法计算所述当前图像帧与所述prfm帧的关键点匹配数量;
33.推理结果确认模块,用于若所述关键点匹配数量满足预设的匹配数量条件,则将所述第一推理结果作为所述当前图像帧的推理结果。
34.进一步的,所述装置还包括:
35.第二prfm帧确定模块,用于若所述关键点匹配数量不满足所述匹配数量条件,则将所述当前图像帧确定为所述prfm帧;
36.第二状态信息获取模块,用于获取第二系统状态信息;
37.第二决策计算模块,用于根据剪枝优化调度算法以及所述第二系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第二调度决策;
38.第二任务调度模块,用于根据所述第二调度决策进行模型推理任务调度操作,得到第二推理结果。
39.为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:
40.包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的应用于可穿戴设备的ai推理调度方法的步骤。
41.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
42.所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的应用于可穿戴设备的ai推理调度方法的步骤。
43.本技术提供了一种应用于可穿戴设备的ai推理调度方法,包括:接收可穿戴设备发送的当前图像帧;若所述当前图像帧为第一帧图像,则将所述当前图像帧确定为prfm帧;获取第一系统状态信息;根据剪枝优化调度算法以及所述第一系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第一调度决策;根据所述第一调度决策进行模型推理任务调度操作,得到第一推理结果。与现有技术相比,本技术在获取到可穿戴设备发送的当前图像帧后,判断可穿戴设备是否获取到一帧图像,如果是该帧是第一帧,则直接记录该帧为prfm帧,接着获取系统实时带宽、网络延迟和系统计算资源状态。最后执行剪枝优化调度算法获得该帧在系统中的调度决策,能满足可穿戴设备的ai推理实时性要求,剪枝优化调度算法能在短时间内得到当前系统状态下推理时间最小的调度决策,可以很好解决可穿戴设备的实时ai推理问题。
附图说明
44.为了更清楚地说明本技术中的方案,下面将对本技术实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1是本技术可以应用于其中的示例性系统架构图;
46.图2是本技术实施例一提供的应用于可穿戴设备的ai推理调度方法的实现流程图;
47.图3是图2中步骤s201之后的一种具体实施方式的流程图;
48.图4是图3中步骤s301之后的一种具体实施方式的流程图;
49.图5是图3中步骤s301的一种具体实施方式的流程图;
50.图6是图2中步骤s204的一种具体实施方式的流程图;
51.图7是本技术实施例一提供的剪枝优化调度算法的示意图;
52.图8是本技术实施例一提供的调度算法的示意图;
53.图9是本技术实施例二提供的应用于可穿戴设备的ai推理调度装置的结构示意图;
54.图10是根据本技术的计算机设备的一个实施例的结构示意图。
具体实施方式
55.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
56.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
57.为了使本技术领域的人员更好地理解本技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
58.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
59.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
60.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
61.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
62.需要说明的是,本技术实施例所提供的应用于可穿戴设备的ai推理调度方法一般由服务器/终端设备执行,相应地,应用于可穿戴设备的ai推理调度装置一般设置于服务器/终端设备中。
63.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
64.实施例一
65.继续参考图2,示出了本技术实施例一提供的应用于可穿戴设备的ai推理调度方法的实现流程图,为了便于说明,仅示出与本技术相关的部分。
66.上述的应用于可穿戴设备的ai推理调度方法,包括步骤s201、步骤s202、步骤s203、步骤s204以及步骤s205。
67.在步骤s201中,接收可穿戴设备发送的当前图像帧。
68.在步骤s202中,若当前图像帧为第一帧图像,则将当前图像帧确定为prfm帧。
69.在步骤s203中,获取第一系统状态信息。
70.在步骤s204中,根据剪枝优化调度算法以及第一系统状态信息对prfm帧进行调度决策计算操作,得到当前图像帧的第一调度决策。
71.在步骤s205中,根据第一调度决策进行模型推理任务调度操作,得到第一推理结果。
72.在本技术实施例中,对系统中模型推理任务的调度和管理,以实现推理任务执行时间最短和最大化系统利用率,这样的过程就是系统任务调度的过程。考虑到不同模型在系统中不同计算平台的推理时间差异,以及网络延迟与网络带宽的影响,这样就产生了一个面向可穿戴设备的实时ai推理的调度问题。
73.定义为3*3的矩阵,表示模型i调度的计算平台和模型j调度的计算平台之间的带宽,当两个模型调度所在计算平台一致时,假设带宽无限大。i(xi)为3*3的矩阵,表示模型i调度在xi时的模型推理时间。
74.latencyxi,xj表示xi与xj之间的网络延迟,当xi与xj相等时,latencyxi,xj为0,表示不存在网络延迟。而cxi,xj,它表示从模型i调度的计算平台xi向模型j调度的计算平台xj发送数据的网络传输时间,当模型i和模型j的调度平台一致时,cxi,xj为0。数据的网络传输时间可以按以下公式计算:
[0075][0076]
由于body模型和context模型是独立关系,所以使用tasynch表示body模型和context模型部分的推理时间。tasynch的取值为body模型和context模型从可穿戴设备传输模型输入数据到模型调度平台的网络传输时间加上模型在调度平台的推理时间加上提取的特征数据传输到emotic模型调度所在平台的网络传输时间总和的最大值,可以按以下公式计算:
[0077][0078]
而接收body模型和context模型推理特征的emotic模型,它的推理时间用tsync表示,它等于emotic模型调度的计算平台x3上的推理时间和从x3计算平台传输情绪推理结果数据到x4(即可穿戴设备)的网络传输时间,具体的数学公式表达如下:
[0079][0080]
基于以上定义与参数说明,可以用以下公式描述:
[0081][0082]
xi∈0,1,2
[0083]
其中t
asynch
和t
sync
分别用公式(2)和(3)计算。
[0084]
本技术所要解决的问题即公式(4),所描述的推理时间的实时问题。
[0085]
在本技术实施例中,在获取到可穿戴设备发送的当前图像帧后,首先判断可穿戴设备是否获取到的图像帧是否为当前算法执行的第一帧,如果该帧是第一帧,则直接记录该帧为prfm帧,接着获取系统实时带宽、网络延迟和系统计算资源状态。最后执行剪枝优化调度算法获得该帧在系统中的调度决策并回到可穿戴设备的是否获得一帧的判断。
[0086]
在本技术实施例中,提供了一种应用于可穿戴设备的ai推理调度方法,包括:接收可穿戴设备发送的当前图像帧;若所述当前图像帧为第一帧图像,则将所述当前图像帧确定为prfm帧;获取第一系统状态信息;根据剪枝优化调度算法以及所述第一系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第一调度决策;根据所述第一调度决策进行模型推理任务调度操作,得到第一推理结果。与现有技术相比,本技术在获取到可穿戴设备发送的当前图像帧后,判断可穿戴设备是否获取到一帧图像,如果是该帧是第一帧,则直接记录该帧为prfm帧,接着获取系统实时带宽、网络延迟和系统计算资源状态。最后执行剪枝优化调度算法获得该帧在系统中的调度决策,能满足可穿戴设备的ai推理实时性要求,剪枝优化调度算法能在短时间内得到当前系统状态下推理时间最小的调度决策,可以很好解决可穿戴设备的实时ai推理问题。
[0087]
继续参阅图3,示出了图2中步骤s201之后的一种具体实施方式的流程图,为了便于说明,仅示出与本技术相关的部分。
[0088]
在本实施例的一些可选的实现方式中,在步骤s201之后,还包括:步骤s301以及步骤s302。
[0089]
在步骤s301中,若当前图像帧不为第一帧图像,则根据特征匹配的调度算法计算当前图像帧与prfm帧的关键点匹配数量;
[0090]
在步骤s302中,若关键点匹配数量满足预设的匹配数量条件,则将第一推理结果作为当前图像帧的推理结果。
[0091]
在本技术实施例中,计算当前图像帧与prfm帧的关键点匹配数量可以是根据orb检测器对当前图像帧进行关键点检测操作以及描述符获取操作,得到当前帧关键点以及与当前帧关键点相对应的当前帧关键点描述符;根据knnmatch函数获取当前帧关键点描述符与prfm帧的关键点描述符的初始关键点匹配数量;根据lowe对初始关键点匹配数量进行过滤操作,得到关键点匹配数量。
[0092]
在本技术实施例中,如果当前图像帧不为第一帧图像,则执行基于特征匹配的调度算法,判断该帧与prfm帧的关键点匹配数量情况,如果满足关键点匹配数量关系(例如,关键点匹配数量≥0.3*该帧关键点数量),则直接使用prfm帧的ai推理结果,回到可穿戴设备是否获得一帧的判断。
[0093]
继续参阅图4,示出了图3中步骤s301之后的一种具体实施方式的流程图,为了便于说明,仅示出与本技术相关的部分。
[0094]
在本实施例的一些可选的实现方式中,在步骤s301之后,还包括:步骤s401、步骤s402、步骤s403以及步骤s404。
[0095]
在步骤s401中,若关键点匹配数量不满足匹配数量条件,则将当前图像帧确定为prfm帧;
[0096]
在步骤s402中,获取第二系统状态信息;
[0097]
在步骤s403中,根据剪枝优化调度算法以及第二系统状态信息对prfm帧进行调度决策计算操作,得到当前图像帧的第二调度决策;
[0098]
在步骤s404中,根据第二调度决策进行模型推理任务调度操作,得到第二推理结果。
[0099]
在本技术实施例中,如果关键点匹配数量不满足匹配数量条件,则将该帧设置为prfm帧,然后获取系统实时网络带宽、网络延迟和系统计算资源状况。最后执行剪枝优化调度算法获得该帧的调度策略,并回到可穿戴设备是否获得一帧的判断。
[0100]
继续参阅图5,示出了图3中步骤s301的一种具体实施方式的流程图,为了便于说明,仅示出与本技术相关的部分。
[0101]
在本实施例的一些可选的实现方式中,步骤s301具体包括:步骤s501、步骤s502以及步骤s503。
[0102]
在步骤s501中,根据orb检测器对当前图像帧进行关键点检测操作以及描述符获取操作,得到当前帧关键点以及与当前帧关键点相对应的当前帧关键点描述符;
[0103]
在步骤s502中,根据knnmatch函数获取当前帧关键点描述符与prfm帧的关键点描述符的初始关键点匹配数量;
[0104]
在步骤s503中,根据lowe对初始关键点匹配数量进行过滤操作,得到关键点匹配数量。
[0105]
在本技术实施例中,关于基于特征匹配的调度算法,它是使用opencv的orb检测器进行关键点检测和获取描述符。然后使用opencv的knnmatch函数返回当前帧每个关键点描述符与prfm帧关键点的两个最佳匹配。最后,使用lowe过滤关键点匹配。lowe过滤关键点匹配是一个简单易懂的数学原理。由于关键点的匹配可能会由于描述符内大多数变量都有相似的值导致与实际匹配无关,所以需要对两个最佳匹配点进行区分以认为最佳匹配点是有效匹配的,而不是巧合。lowe过滤关键点匹配所使用的公式是:distance1《distance2*constant。distance1表示最佳匹配的描述符计算距离,distance2表示次佳匹配的描述符计算距离,而constant是一个常量,根据经验所得,取0.7。当满足此公式时,lowe认为最佳匹配点与次佳匹配点有足够的差异,认为最佳匹配点是满足匹配要求的。最后,如果关键点匹配数量达到当前帧关键点数量的30%时,认为满足特征匹配,无需进行后面的流程,返回到是否从可穿戴设备获取到一帧。
[0106]
继续参阅图6,示出了图2中步骤s204的一种具体实施方式的流程图,为了便于说明,仅示出与本技术相关的部分。
[0107]
在本实施例的一些可选的实现方式中,第一系统状态信息包括实时网络带宽、网络延迟以及系统计算资源,步骤s204具体包括:步骤s601以及步骤s602。
[0108]
在步骤s601中,根据实时网络带宽、网络延迟以及系统计算资源计算模型调度的数网络传输时间以及模型推理时间;
[0109]
在步骤s602中,根据数网络传输时间以及模型推理时间预测推理时间最短的调度决策,得到第一调度决策。
[0110]
在本技术实施例中,关于剪枝优化调度算法,它将网络实时带宽、网络实时延迟和系统计算资源作为输入,然后根据它们计算出模型调度到不同计算平台时的数据网络传输时间和模型推理时间。接着,遍历组合模型调度到不同计算平台时的ai推理时间,得到预测推理时间最短的某调度决策,该调度决策就是剪枝优化调度算法的返回量,比如body模型调度到可穿戴设备、context模型调度到云服务器、emotic模型调度到边缘服务器时计算该调度下的ai推理时间。之所以能够进行剪枝,是因为body模型和context模型从移动终端传输模型输入数据到模型调度平台的网络传输时间加上模型在调度平台的推理时间加上提取的特征数据传输到emotic模型调度所在平台的网络传输时间总和的最大值已经大于当前记录的最小预测推理时间,后面的计算是可以避免的,如图7中的交叉表示emotic模型的预测推理时间可以避免。
[0111]
在实际应用中,
①
可穿戴设备获取一帧frame1,它是当前系统中的第一帧,所以将该帧设置为prfm帧,然后获取当前系统的带宽、延迟和计算资源。然后使用剪枝优化调度算法根据这些数据计算frame1的调度策略。假设body模型调度到边缘服务器、context模型调度到云服务器、emotic模型调度在边缘服务器。那么就要将模型的输入数据传输到body模型和context模型,然后将模型的推理结果传输到emotic模型所在的边缘服务器。emotic模型接收其他两个模型的推理结果作为输入,然后输出ai推理结果,最后将结果返回到可穿戴设备。记录frame1帧在系统中获得ai推理结果的时间;
②
可穿戴设备获取一帧frame2,因为frame2帧不是第一帧,然后经过基于特征匹配的调度算法计算后,frame2与frame1满足该算法的要求,所以frame2直接使用frame1的模型推理结果,不进行后续的剪枝优化调度算法和调度后的推理过程。记录frame2帧在系统中获得ai推理结果的时间,主要是基于特征匹配的调度算法执行时间;
③
可穿戴设备获取到frame3后,因为frame3帧不是第一帧,并且执行基于特征匹配的调度算法计算后,与prfm帧(此时为frame1)不满足特征匹配要求,所以将frame3帧设置为prfm帧,然后获取系统的带宽、延迟和系统计算资源情况,执行剪枝优化调度算法。最后返回到流程图中的是否从可穿戴设备获取到一帧。记录frame3帧在系统中获得ai推理结果的时间;
④
frame4帧与frame3帧的执行过程一致,frame4不满足与prfm帧的基于特征匹配的调度算法要求,所以设置frame4帧为prfm帧,然后获取系统的带宽、延迟和系统计算资源情况,执行剪枝优化调度算法。最后返回到流程图中的是否从可穿戴设备获取到一帧。依然记录该帧在系统中获得ai推理结果时间;
⑤
直到可穿戴设备没有获取到帧图像,该算法流程结束,最终,我们得到在这段时间内帧的平均推理时间以及每一帧的调度决策。
[0112]
在本技术实施例中,在本技术系统上的连续场景如图8所示,时间轴上的加粗黑点表示帧刷新的时间点,且可穿戴设备是30hz的摄像头,所以加粗黑点之间的时间轴间隔表示33.3ms。左侧表示连续场景中的帧,它们依次经过33.3ms时刷新显示。图中间表示各帧在系统中完整情绪推理时间的组成部分,分别表示为基于特征匹配时间(包括orb检测器、knnmatch函数和lowe关键点匹配过滤)、调度算法执行时间、body模型在所调度的计算平台的推理时间、context模型在所调度的计算平台的推理时间、emotic模型在所调度的计算平台的推理时间、数据在网络中传输时间、空闲部分。方块的长短代表了此部分执行时间长
短,例如frame4的方块(代表调度算法执行时间)比frame1的方块长一些,说明frame4的调度算法执行时间比frame1的调度算法执行时间要长一点。
[0113]
综上所述,本技术提出了一种面向可穿戴设备的实时ai推理调度算法,能够根据当前帧的关键点匹配数量关系决定是否进行下一步调度。如果满足关键点匹配要求,则不需要后续的剪枝优化调度算法的执行,大大减少该帧的ai推理时间,且节省了网络资源。否则,收集实时网络带宽、网络延迟和系统计算资源情况,对该帧进行ai推理的调度。其中关键技术点是特征匹配与剪枝优化的调度算法,该算法能满足可穿戴设备的ai推理实时性要求,剪枝优化调度算法能在短时间内得到当前系统状态下推理时间最小的调度决策,同时特征匹配与剪枝优化的调度算法能获得较好的ai推理准确率。在可穿戴设备的ai推理程序中应用我们的调度算法来进行模型推理任务调度以达到实时要求。比如可穿戴设备上考虑场景上下文的情绪推理应用程序,它会包括多个ai模型,并且它们在云服务器和边缘服务器上的推理时间更短,这种情况下可以使用我们提出的调度算法,它将分析帧的关键点特征做调度,以及分析系统实时网络带宽、网络延迟、计算机资源进行模型推理任务调度,以满足帧的情绪推理实时要求。
[0114]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
[0115]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0116]
实施例二
[0117]
进一步参考图9,作为对上述图2所示方法的实现,本技术提供了一种应用于可穿戴设备的ai推理调度装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0118]
如图9所示,本实施例的应用于可穿戴设备的ai推理调度装置200包括:图像帧获取模块210、第一prfm帧确定模块220、第一状态信息获取模块230、第一决策计算模块240以及第一任务调度模块250。其中:
[0119]
图像帧获取模块210,用于接收可穿戴设备发送的当前图像帧;
[0120]
第一prfm帧确定模块220,用于若当前图像帧为第一帧图像,则将当前图像帧确定为prfm帧;
[0121]
第一状态信息获取模块230,用于获取第一系统状态信息;
[0122]
第一决策计算模块240,用于根据剪枝优化调度算法以及第一系统状态信息对prfm帧进行调度决策计算操作,得到当前图像帧的第一调度决策;
[0123]
第一任务调度模块250,用于根据第一调度决策进行模型推理任务调度操作,得到
第一推理结果。
[0124]
在本技术实施例中,提供了一种应用于可穿戴设备的ai推理调度装置200,包括:图像帧获取模块210、第一prfm帧确定模块220、第一状态信息获取模块230、第一决策计算模块240以及第一任务调度模块250.与现有技术相比,本技术在获取到可穿戴设备发送的当前图像帧后,判断可穿戴设备是否获取到一帧图像,如果是该帧是第一帧,则直接记录该帧为prfm帧,接着获取系统实时带宽、网络延迟和系统计算资源状态。最后执行剪枝优化调度算法获得该帧在系统中的调度决策,能满足可穿戴设备的ai推理实时性要求,剪枝优化调度算法能在短时间内得到当前系统状态下推理时间最小的调度决策,可以很好解决可穿戴设备的实时ai推理问题。
[0125]
在本实施例的一些可选的实现方式中,上述应用于可穿戴设备的ai推理调度装置200还包括:匹配计算模块以及推理结果确认模块,其中:
[0126]
匹配计算模块,用于若当前图像帧不为第一帧图像,则根据特征匹配的调度算法计算当前图像帧与prfm帧的关键点匹配数量;
[0127]
推理结果确认模块,用于若关键点匹配数量满足预设的匹配数量条件,则将第一推理结果作为当前图像帧的推理结果。
[0128]
在本实施例的一些可选的实现方式中,上述应用于可穿戴设备的ai推理调度装置200还包括:第二prfm帧确定模块、第二状态信息获取模块、第二决策计算模块以及第二任务调度模块,其中:
[0129]
第二prfm帧确定模块,用于若关键点匹配数量不满足匹配数量条件,则将当前图像帧确定为prfm帧;
[0130]
第二状态信息获取模块,用于获取第二系统状态信息;
[0131]
第二决策计算模块,用于根据剪枝优化调度算法以及第二系统状态信息对prfm帧进行调度决策计算操作,得到当前图像帧的第二调度决策;
[0132]
第二任务调度模块,用于根据第二调度决策进行模型推理任务调度操作,得到第二推理结果。
[0133]
在本实施例的一些可选的实现方式中,上述匹配计算模块包括:描述符获取子模块、初始匹配数量获取子模块以及过滤子模块,其中:
[0134]
描述符获取子模块,用于根据orb检测器对当前图像帧进行关键点检测操作以及描述符获取操作,得到当前帧关键点以及与当前帧关键点相对应的当前帧关键点描述符;
[0135]
初始匹配数量获取子模块,用于根据knnmatch函数获取当前帧关键点描述符与prfm帧的关键点描述符的初始关键点匹配数量;
[0136]
过滤子模块,用于根据lowe对初始关键点匹配数量进行过滤操作,得到关键点匹配数量。
[0137]
在本实施例的一些可选的实现方式中,第一系统状态信息包括实时网络带宽、网络延迟以及系统计算资源,上述第一决策计算模块240包括:时间计算子模块以及调度决策预测子模块,其中:
[0138]
时间计算子模块,用于根据实时网络带宽、网络延迟以及系统计算资源计算模型调度的数网络传输时间以及模型推理时间;
[0139]
调度决策预测子模块,用于根据数网络传输时间以及模型推理时间预测推理时间
最短的调度决策,得到第一调度决策。
[0140]
为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图10,图10为本实施例计算机设备基本结构框图。
[0141]
所述计算机设备300包括通过系统总线相互通信连接存储器310、处理器320、网络接口330。需要指出的是,图中仅示出了具有组件310-330的计算机设备300,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
[0142]
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
[0143]
所述存储器310至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器310可以是所述计算机设备300的内部存储单元,例如该计算机设备300的硬盘或内存。在另一些实施例中,所述存储器310也可以是所述计算机设备300的外部存储设备,例如该计算机设备300上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器310还可以既包括所述计算机设备300的内部存储单元也包括其外部存储设备。本实施例中,所述存储器310通常用于存储安装于所述计算机设备300的操作系统和各类应用软件,例如应用于可穿戴设备的ai推理调度方法的计算机可读指令等。此外,所述存储器310还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0144]
所述处理器320在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器320通常用于控制所述计算机设备300的总体操作。本实施例中,所述处理器320用于运行所述存储器310中存储的计算机可读指令或者处理数据,例如运行所述应用于可穿戴设备的ai推理调度方法的计算机可读指令。
[0145]
所述网络接口330可包括无线网络接口或有线网络接口,该网络接口330通常用于在所述计算机设备300与其他电子设备之间建立通信连接。
[0146]
本技术提供的计算机设备,在获取到可穿戴设备发送的当前图像帧后,判断可穿戴设备是否获取到一帧图像,如果是该帧是第一帧,则直接记录该帧为prfm帧,接着获取系统实时带宽、网络延迟和系统计算资源状态。最后执行剪枝优化调度算法获得该帧在系统中的调度决策,能满足可穿戴设备的ai推理实时性要求,剪枝优化调度算法能在短时间内得到当前系统状态下推理时间最小的调度决策,可以很好解决可穿戴设备的实时ai推理问题。
[0147]
本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的应用于可穿戴设备的ai推理调度方法的步骤。
[0148]
本技术提供的计算机可读存储介质,在获取到可穿戴设备发送的当前图像帧后,判断可穿戴设备是否获取到一帧图像,如果是该帧是第一帧,则直接记录该帧为prfm帧,接着获取系统实时带宽、网络延迟和系统计算资源状态。最后执行剪枝优化调度算法获得该帧在系统中的调度决策,能满足可穿戴设备的ai推理实时性要求,剪枝优化调度算法能在短时间内得到当前系统状态下推理时间最小的调度决策,可以很好解决可穿戴设备的实时ai推理问题。
[0149]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
[0150]
显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。
技术特征:
1.一种应用于可穿戴设备的ai推理调度方法,其特征在于,包括下述步骤:接收可穿戴设备发送的当前图像帧;若所述当前图像帧为第一帧图像,则将所述当前图像帧确定为prfm帧;获取第一系统状态信息;根据剪枝优化调度算法以及所述第一系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第一调度决策;根据所述第一调度决策进行模型推理任务调度操作,得到第一推理结果。2.根据权利要求1所述的应用于可穿戴设备的ai推理调度方法,其特征在于,在所述接收可穿戴设备发送的当前图像帧的步骤之后,还包括下述步骤:若所述当前图像帧不为所述第一帧图像,则根据特征匹配的调度算法计算所述当前图像帧与所述prfm帧的关键点匹配数量;若所述关键点匹配数量满足预设的匹配数量条件,则将所述第一推理结果作为所述当前图像帧的推理结果。3.根据权利要求2所述的应用于可穿戴设备的ai推理调度方法,其特征在于,在所述若所述当前图像帧不为所述第一帧图像,则根据特征匹配的调度算法计算所述当前图像帧与所述prfm帧的关键点匹配数量的步骤之后,还包括下述步骤:若所述关键点匹配数量不满足所述匹配数量条件,则将所述当前图像帧确定为所述prfm帧;获取第二系统状态信息;根据剪枝优化调度算法以及所述第二系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第二调度决策;根据所述第二调度决策进行模型推理任务调度操作,得到第二推理结果。4.根据权利要求2所述的应用于可穿戴设备的ai推理调度方法,其特征在于,所述根据特征匹配的调度算法计算所述当前图像帧与所述prfm帧的关键点匹配数量的步骤,具体包括下述步骤:根据orb检测器对所述当前图像帧进行关键点检测操作以及描述符获取操作,得到当前帧关键点以及与所述当前帧关键点相对应的当前帧关键点描述符;根据knnmatch函数获取所述当前帧关键点描述符与所述prfm帧的关键点描述符的初始关键点匹配数量;根据lowe对所述初始关键点匹配数量进行过滤操作,得到所述关键点匹配数量。5.根据权利要求1所述的应用于可穿戴设备的ai推理调度方法,其特征在于,所述第一系统状态信息包括实时网络带宽、网络延迟以及系统计算资源,所述根据剪枝优化调度算法以及所述第一系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第一调度决策的步骤,具体包括下述步骤:根据所述实时网络带宽、所述网络延迟以及所述系统计算资源计算模型调度的数网络传输时间以及模型推理时间;根据所述数网络传输时间以及所述模型推理时间预测推理时间最短的调度决策,得到所述第一调度决策。6.一种应用于可穿戴设备的ai推理调度装置,其特征在于,包括:
图像帧获取模块,用于接收可穿戴设备发送的当前图像帧;第一prfm帧确定模块,用于若所述当前图像帧为第一帧图像,则将所述当前图像帧确定为prfm帧;第一状态信息获取模块,用于获取第一系统状态信息;第一决策计算模块,用于根据剪枝优化调度算法以及所述第一系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第一调度决策;第一任务调度模块,用于根据所述第一调度决策进行模型推理任务调度操作,得到第一推理结果。7.根据权利要求6所述的应用于可穿戴设备的ai推理调度装置,其特征在于,所述装置还包括:匹配计算模块,用于若所述当前图像帧不为所述第一帧图像,则根据特征匹配的调度算法计算所述当前图像帧与所述prfm帧的关键点匹配数量;推理结果确认模块,用于若所述关键点匹配数量满足预设的匹配数量条件,则将所述第一推理结果作为所述当前图像帧的推理结果。8.根据权利要求7所述的应用于可穿戴设备的ai推理调度装置,其特征在于,所述装置还包括:第二prfm帧确定模块,用于若所述关键点匹配数量不满足所述匹配数量条件,则将所述当前图像帧确定为所述prfm帧;第二状态信息获取模块,用于获取第二系统状态信息;第二决策计算模块,用于根据剪枝优化调度算法以及所述第二系统状态信息对所述prfm帧进行调度决策计算操作,得到所述当前图像帧的第二调度决策;第二任务调度模块,用于根据所述第二调度决策进行模型推理任务调度操作,得到第二推理结果。9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至5中任一项所述的应用于可穿戴设备的ai推理调度方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的应用于可穿戴设备的ai推理调度方法的步骤。
技术总结
本申请实施例属于人工智能中的图像处理技术领域,涉及一种应用于可穿戴设备的AI推理调度方法、及其相关设备,该方法包括:接收可穿戴设备发送的当前图像帧;若当前图像帧为第一帧图像,则将当前图像帧确定为PrFm帧;获取第一系统状态信息;根据剪枝优化调度算法以及第一系统状态信息对PrFm帧进行调度决策计算操作,得到当前图像帧的第一调度决策;根据第一调度决策进行模型推理任务调度操作,得到第一推理结果。本申请通过收集实时网络带宽、网络延迟和系统计算资源情况,对该帧进行AI推理的调度,通过剪枝优化的调度算法能在短时间内得到当前系统状态下推理时间最小的调度决策,从而满足穿戴设备的AI推理实时性要求。而满足穿戴设备的AI推理实时性要求。而满足穿戴设备的AI推理实时性要求。
技术研发人员:周池 许哲明 肖遥 马晨琳 罗秋明 王毅 毛睿
受保护的技术使用者:深圳大学
技术研发日:2023.05.05
技术公布日:2023/8/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/