CN112613594B - 算法编排方法、装置、计算机设备及存储介质 - Google Patents
算法编排方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112613594B CN112613594B CN202011538160.3A CN202011538160A CN112613594B CN 112613594 B CN112613594 B CN 112613594B CN 202011538160 A CN202011538160 A CN 202011538160A CN 112613594 B CN112613594 B CN 112613594B
- Authority
- CN
- China
- Prior art keywords
- individual
- individuals
- algorithm
- population
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 493
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000012545 processing Methods 0.000 claims abstract description 119
- 230000035772 mutation Effects 0.000 claims description 74
- 230000008569 process Effects 0.000 claims description 54
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 7
- 238000013468 resource allocation Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 18
- 239000011159 matrix material Substances 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种算法编排方法、装置、计算机设备及存储介质,涉及数据处理领域,解决了现有技术中无法及时确定图像采集算法的资源以及图像采集设备的采集时间间隔的问题。该方法包括:算法编排装置根据差分进化算法优化第一种群,确定满足约束条件的目标个体;算法编排装置能够及时的确定各个算法的资源分配,以及各个图像采集装置的采集时间间隔。这样,算法编排装置可以根据目标个体为各个算法分配计算资源以及为各个图像采集装置配置采集时间间隔提供依据。
Description
技术领域
本申请涉及图像处理领域,特别是涉及算法编排方法、装置、计算机设备及存储介质。
背景技术
通常,图像处理装置根据不同的图像处理算法对不同类型的图像(如人脸图像、车辆抓拍图像等)或者来自不同图像采集设备的图像进行处理。不同图像处理算法的分析速度和占用的资源不同。
在监控场景中,为了实现及时分析更多数量的图像,需要合理设置图像采集算法的资源以及图像采集设备的采集时间间隔(该采集时间间隔会影响到图像采集算法的资源)。但是,目前还不存在及时确定图像采集算法的资源以及图像采集设备的采集时间间隔的方法。
发明内容
本申请提供了一种算法编排方法、装置、计算机设备及存储介质,解决了现有技术中无法及时确定图像采集算法的资源以及图像采集设备的采集时间间隔的问题。
为解决上述技术问题,本申请根据如下技术方案:
第一方面,本申请提供了一种算法编排方法,包括:确定第一种群,该种群中包括n个个体。该n个个体可以视为确定各个算法的计算资源分配以及确定图像采集设备的采集时间间隔的n个解。该n个个体满足图像采集装置和计算资源分配的约束条件。根据差分进化算法处理该n个个体,得到满足目标约束条件的目标个体和目标种群。可以根据该目标个体,确定为各个算法分配的计算资源,以及各个图像采集装置在不同时间段的拍摄时间间隔。
基于上述技术方案,本申请提供的算法编排方法,能够根据差分进化算法优化第一种群,确定满足约束条件的目标个体。这样,能够及时的确定各个算法的资源分配,以及各个图像采集装置的采集时间间隔,从而为各个算法分配计算资源以及为各个图像采集装置配置采集时间间隔提供依据。
结合上述第一方面,在一种可能的实现方式中,约束条件包括第一约束条件,第一约束条件包括个体的第一数值小于或等于第一阈值;第一数值用于表征图像处理时长大于最大时延的图像数量。差分进化算法包括第一差分进化算法。该方法还包括:根据第一差分进化算法处理第一种群,直到确定出第一目标种群为止,第一目标种群包括满足第一约束条件的第一个体;基于第一目标种群,确定目标个体。
基于此,以处理图像超时(也即图像处理时长大于最大时延)的数量为约束条件优化第一种群,可以降低处理图像超时的数量。
结合上述第一方面,在一种可能的实现方式中,该方法还包括:S1、生成第二个体,第二个体为对当前种群中的第一最优个体的目标算法在目标时间段的计算资源调整后得到的个体,目标算法为所有算法中目标时间段首个出现图像处理时长大于最大时延的算法;第一最优个体为当前种群中第一数值最小的个体;S2、对当前种群中的每个个体执行处理操作,以得到处理后的第二种群;处理操作包括第一变异操作、交叉操作和选择操作;第一变异操作中的变异向量包括当前种群中随机选择的个体;若第二种群和第二个体中不包括第一个体,则对第二种群执行S1以及S2,直到第二种群和第二个体中包括第一个体,则第二种群和第二个体构成第一目标种群。
基于此,根据第一差分进化算法处理第一种群时,每次差分进化的迭代过程中,均针对第一最优个体的计算资源分配进行优化,可以提高根据第一差分进化算法处理第一种群的计算效率,降低的计算量和计算时间。
结合上述第一方面,在一种可能的实现方式中,约束条件还包括第二约束条件,第二约束条件包括个体的第二数值满足预设条件,第二数值用于表征处理图像的数量;差分进化算法还包括第二差分进化算法。
该方法还包括:根据第二差分进化算法处理第二种群,直到确定出第二目标种群为止,第二目标种群包括同时满足第一约束条件和第二约束条件的第三个体;其中,第二差分进化算法包括第二变异操作,第二变异操作中的变异向量包括第二最优个体;第二最优个体为当前待处理的个体中第一数值最小,且第二数值最大的个体;基于第二目标种群,确定目标个体。
基于此,在第一差分进化算法的基础上,根据第二差分进化算法对第二种群进行处理,在目标个体对应的第一数值小于或等于第一阈值的情况下,使目标个体对应的第二数值尽可能的增加,提高了处理图像的工作效率。
结合上述第一方面,在一种可能的实现方式中,该方法还包括:确定待分析个体和随机个体,待分析个体为第二目标种群的所有个体中排名指数满足预设筛选条件的个体;根据第三差分进化算法处理待分析个体,直到确定出第三目标种群;第三目标种群包括第四个体,第四个体同时满足第一约束条件和第二约束条件;其中,第三差分进化算法包括第三变异操作,第三变异操作中的变异向量包括从第一处理个体(待分析个体和随机个体,或者处理后的待分析个体和随机个体)中随机选择的m个个体;m为正整数;基于第三目标种群,确定目标个体。
结合上述第一方面,在一种可能的实现方式中,该方法还包括:根据第一差分进化算法和第二差分进化算法对随机个体进行处理,以及根据第四差分进化算法处理待分析个体,直到处理后的待分析个体和处理后的随机个体中出现第五个体,第五个体同时满足第一约束条件和第二约束条件;确定第五个体为目标个体;第四差分进化算法包括第四变异操作,第四变异操作中的变异向量包括从第二处理个体中随机选择的m个个体;m为正整数;第二处理个体包括随机个体;或者,处理后的随机个体。
基于上述技术方案,由于根据第二差分进化算法对第二种群进行处理确定的目标个体可能收敛到种群中的局部最优解,因此,在根据第二差分进化算法对第二种群进行处理之后,剔除处理后种群中排名较差的解,同时引入新的随机解,并再次根据第一差分进化算法和第二差分进化算法进行处理,直至确定的目标个体的第二数值在多次迭代过程中增加较少,此时确定目标个体收敛至全局最优解。
第二方面,本申请提供了一种算法编排装置,该装置包括确定单元和处理单元。
确定单元,用于确定第一种群;第一种群包括n个个体,个体包括每一算法在不同时间段占用的资源大小,以及每一算法对应的各个图像采集装置在不同时间段的采集时间间隔;个体中,所有算法在同一个时间段内占用的资源的大小小于或等于资源最大值,一种算法对应的任一个图像采集装置在一个时间段的采集时间间隔处于一种算法对应的任一个图像采集装置在一个时间段的采集时间间隔范围内;n为正整数。
处理单元,用于根据差分进化算法处理第一种群,直到确定出包括满足约束条件的目标个体的目标种群。
处理单元,还用于参考目标个体,配置每一算法占用的资源大小以及每一算法对应的图像采集装置的采集时间间隔。
结合上述第二方面,在一种可能的实现方式中,处理单元,还用于:根据第一差分进化算法处理第一种群,直到确定出第一目标种群为止,第一目标种群包括满足第一约束条件的第一个体;基于第一目标种群,确定目标个体。
结合上述第二方面,在一种可能的实现方式中,处理单元,还用于:S1、生成第二个体,第二个体为对当前种群中的第一最优个体的目标算法在目标时间段的计算资源调整后得到的个体,目标算法为所有算法中目标时间段首个出现图像处理时长大于最大时延的算法;第一最优个体为当前种群中第一数值最小的个体;S2、对当前种群中的每个个体执行处理操作,以得到处理后的第二种群;处理操作包括第一变异操作、交叉操作和选择操作;第一变异操作中的变异向量包括当前种群中随机选择的个体;若第二种群和第二个体中不包括第一个体,则对第二种群执行S1以及S2,直到第二种群和第二个体中包括第一个体,则第二种群和第二个体构成第一目标种群。
结合上述第二方面,在一种可能的实现方式中,处理单元,还用于:根据第二差分进化算法处理第二种群,直到确定出第二目标种群为止,第二目标种群包括同时满足第一约束条件和第二约束条件的第三个体;其中,第二差分进化算法包括第二变异操作,第二变异操作中的变异向量包括第二最优个体;第二最优个体为当前待处理的个体中第一数值最小,且第二数值最大的个体;基于第二目标种群,确定目标个体。
结合上述第二方面,在一种可能的实现方式中,处理单元,还用于:确定待分析个体和随机个体,待分析个体为第二目标种群的所有个体中排名指数满足预设筛选条件的个体;根据第三差分进化算法处理待分析个体,直到确定出第三目标种群;第三目标种群包括第四个体,第四个体同时满足第一约束条件和第二约束条件;其中,第三差分进化算法包括第三变异操作,第三变异操作中的变异向量包括从第一处理个体(待分析个体和随机个体,或者处理后的待分析个体和随机个体)和随机个体中随机选择的m个个体;m为正整数;基于第三目标种群,确定目标个体。
结合上述第二方面,在一种可能的实现方式中,处理单元,还用于:根据第一差分进化算法和第二差分进化算法对随机个体进行处理,以及根据第四差分进化算法处理待分析个体,直到处理后的待分析个体和处理后的随机个体中出现第五个体,第五个体同时满足第一约束条件和第二约束条件;确定第五个体为目标个体;第四差分进化算法包括第四变异操作,第四变异操作中的变异向量包括从第二处理个体中随机选择的m个个体;m为正整数;第二处理个体包括随机个体;或者,处理后的随机个体。
第三方面,本申请提供一种计算机设备,该计算机设备包括存储器和处理器。存储器和处理器,存储器用于存储计算机程序,处理器用于执行所述计算机程序,以执行如第一方面及其任一种可能的设计方式所述的算法编排方法。
第四方面,本申请提供一种芯片系统,该芯片系统应用于算法编排装置;所述芯片系统包括一个或多个接口电路,以及一个或多个处理器。所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述算法编排装置的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令。当所述处理器执行所述计算机指令时,所述算法编排装置执行如第一方面及其任一种可能的设计方式所述的算法编排方法。
第五方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行如第一方面及其任一种可能的设计方式所述的算法编排方法。
第六方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令,当所述计算机指令在算法编排装置上运行时,使得所述算法编排装置执行如第一方面及其任一种可能的设计方式所述的算法编排方法。
本申请中第三方面到第六方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第六方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种监控系统的系统架构示意图;
图2为本申请实施例提供的一种算法编排方法的结构示意图;
图3为本申请实施例提供的另一种算法编排方法的流程示意图;
图4为本申请实施例提供的又一种算法编排方法的流程示意图;
图5为本申请实施例提供的又一种算法编排方法的流程示意图;
图6为本申请实施例提供的又一种算法编排方法的流程示意图;
图7为本申请实施例提供的一种算法编排装置的结构示意图;
图8为本申请实施例提供的一种算法编排装置的硬件结构示意图;
图9为本申请实施例提供的又一种算法编排装置的硬件结构示意图。
具体实施方式
在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,根据“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在现有技术中,每个图像采集装置所监控的区域不同,活动目标在各个区域出现的频率不同。因此,各个图像采集装置需要根据活动目标在其所监控的区域内出现的频率,设置相应的采集时间间隔。例如,在活动目标出现频率高的区域内,图像采集装置需要设置较小的采集时间间隔,以便及时采集活动目标的活动情况。在活动目标出现频率低的区域内,图像采集装置需要设置较小的采集时间间隔,降低图像采集装置的功耗。
此外,活动目标在不同时间段内的出现的频率也可能不同,因此,在不同的时间段内,也需要为图像采集装置设置不同的采集时间间隔。在活动目标不会出现的时间段内,图像采集装置将无需采集图像,此时可以不为图像采集装置设置采集时间间隔,是图像采集装置进入非工作状态。
在图像采集装置根据其采集时间间隔和运行时间采集图像之后,图像采集装置向算法编排装置发送采集到的图像。
算法编排装置在接收到图像之后,根据图像类型(例如,行人、车辆、人脸)的不同,根据不同的算法对图像进行分析。算法编排装置根据不同算法分析图像的计算速度不同,且不同算法需要分析的图像的数量不同。
以下,算法编排装置中各个算法的计算速度,图像采集装置的采集时间间隔,以及图像采集装置的运行时间进行举例说明:
算法编排装置中具有m个算法,算法编排装置的计算资源的数量为L。算法编排装置为每个算法分配相应的计算资源,算法编排装置为m个算法分配的计算资源满足约束条件a。
约束条件a为:算法编排装置在每个时间段内为m个算法分配的计算资源的总数量小于或等于L。
该m个算法中的每个算法对应一个或多个区域内的图像采集装置,一个区域内包括一个或多个图像采集装置。该m中算法对应的计算速度分别为:[s1,…si…,sm],si表示该m种算法中的第i种算法的计算速度。该m种算法对应的区域的数量分别记为:[r1,…ri…,rm],ri表示第i种算法对应的区域的数量;第i种算法在每个区域内对应的图像采集装置的数量分别记为:L、m、i均为正整数。
其中,算法编排装置为每个算法分配的计算资源需要满足约束条件a。
图像采集装置的采集时间间隔需要满足约束条件b。
约束条件b为:图像采集装置的采集时间间隔位于对应的采集时间间隔区间内。
具体来说,由于不同区域的图像采集装置所需要的采集时间间隔不同,因此,每个区域的图像采集装置可以对应不同的采集时间间隔区间,每个图像采集装置的采集时间间隔需要处于其对应的采集时间间隔区间中。
举例来说,第i种算法中的各个区域设置的最大采集时间间隔为:最小采集时间间隔为:/>第i种算法对应的各个区域内的图像采集装置采集图像的间隔需要小于或等于该区域对应的最大采集时间间隔,大于或等于最小采集时间间隔。
具体的,对于第i种算法对应的第ri个区域的图像采集装置,其采集图像的时间间隔应大于或等于且小于或等于/>
图像采集装置的运行时间满足需要满足约束条件c。
约束条件c为:图像采集装置的运行时间位于运行时间区间内。
具体来说,由于不同区域的图像采集装置的运行时间不同,因此每个区域的图像采集装置确可以对应不同的运行时间区间,每个图像采集装置的运行时间需要处于其对应的运行时间区间中。
举例来说,第i种算法中的各个区域内的图像采集装置的运行时间的开始时间为:结束时间为:/>也即是说,第i种算法对应的各个区域内的图像采集装置在运行时间的开始时间点开始工作,在运行时间的结束时间点结束工作,在开始时间和结束时间以外的时间,该区域的图像采集装置不进行工作。
具体的,对于第i种算法对应的第ri个区域的图像采集装置,其在至/>时间段内进行图像采集工作,在/>至/>时间段以外的时间段,不进行图像采集工作。
算法编排装置运行算法处理图像需要满足约束条件d。
约束条件d为:算法编排装置运行各个算法处理目标图像的时间小于各个算法对应的最大延迟时间。
具体来说,为了保证算法编排装置能够在规定时间内运行各个算法完成图像处理,算法编排装置可以为各个算法确定对应的处理图像的最大延迟时间。
举例来说,m个算法对应的处理图像的最大延迟时间分别为:记为:[maxW1,…,maxWm]。每个算法处理的图像从图像被采集到开始计时,到算法编排装置处理完成该图像的时间不能超过对应的最大延迟时间。
具体的,对于第i种算法,算法编排装置根据第i种算法处理图像时,每张图像的采集时间与算法编排装置处理完成该图像的时间之差需小于或等于maxWi。若图像的采集时间与算法编排装置处理完成该图像的时间之差大于maxWi,则记录一次算法编排装置处理图像超时。
需要指出的是,上述以区域为单位,对图像采集装置进行了划分,在实际执行过程中,也可以直接以图像采集装置为单位进行划分。例如,各个算法直接与图像采集装置相对应,而不需与区域相对应。同样的,时间间隔和运行时间等也可以直接与图像采集装置相对应。这样,可以得到更加精确地计算结果。
但是,相较于以区域为单位进行处理,以图像采集装置为单位进行处理会产生更大的计算量,相应的也需要花费更多的计算时间。
在实际进行处理时,是以区域为单位进行处理,还是以图像采集装置为单位进行处理,可以根据实际需求确定,本申请对此不做限定。
当前,为各个算法分配计算资源,以及为各个图像采集装置设置采集时间间隔,需要满足以上约束条件a、约束条件b、约束条件c、以及约束条件d。
也即是说,各个算法在预设时间段内分配的计算资源之和小于等于L;图像采集装置的采集时间间隔需要位于其对应的采集时间间隔区间内;图像采集装置在其对应的运行时间内保持运行。相应的,算法编排装置在每个时间段内为m个算法分配的计算资源的总数量小于或等于L,算法编排装置运行每个算法处理图像的时间不能超过该算法对应的处理图像的最大延迟时间。
因此,如何为算法编排装置中的各个算法分配计算资源,以及确定各个图像采集装置的采集时间间隔,是一个NP难(non-deterministic polynomial hard)的问题。
为了解决上述技术问题,本申请提供了一种算法编排方法。算法编排装置以处理图像超时的次数为优化目标,根据差分进化算法对各个算法的资源分配,以及各个图像采集装置的采集时间间隔进行优化,及时地确定出目标个体。这样,算法编排装置即可根据该目标个体的每一算法在不同时间段占用的资源大小以及所述每一算法在不同时间段对应的采集时间间隔,为每一算法在各个时间段内分配不同的计算资源,以及为每一算法对应的图像采集装置指示相应的采集时间间隔。
本申请提供的算法编排方法,可以应用于监控系统100中,图1示出了该监控系统100的一种结构。如图1所示,本申请实施例提供的监控系统100包括:算法编排装置10,以及一个或多个图像采集装置20。
算法编排装置10与图像采集装置20通信连接。图像采集装置可以分布在不同的区域内,在图像采集装置的数量较多时,可以以区域对图像采集装置进行划分。在同一个区域内的图像采集装置可以具有相同的采集时间间隔,运行时间等参数。
其中,算法编排装置10为具有图像处理能力的设备,能够获取图像采集装置20采集的图像,并对图像进行分析。算法编排装置10还可以对图像采集装置20进行管理,例如确定各个图像采集装置的采集时间间隔,运行时间等。
算法编排装置10可以为各种个人计算机、笔记本电脑、智能手机、平板电脑等计算设备,本申请对此不做限定。
图像采集装置20用于采集图像,并将采集到的图像发送给算法编排装置10。图像采集装置20可以为用于采集图像的设备,例如:相机、抓拍机、摄像机,摄像头等,本申请对此不做限定。
下面结合附图对本申请实施例提供的算法编排方法进行描述。
如图2所示,本申请提供的算法编排方法包括以下S200、S201以及S202:
S200、算法编排装置确定第一种群。
所述第一种群包括n个个体,所述个体包括每一算法在不同时间段占用的资源大小,以及所述每一算法对应的各个图像采集装置在不同时间段的采集时间间隔;所述个体中,所有算法在同一个时间段内占用的资源的大小小于或等于资源最大值,一种算法对应的任一个图像采集装置在一个时间段的采集时间间隔处于所述一种算法对应的所述任一个图像采集装置在所述一个时间段的采集时间间隔范围内;n为正整数;
也即是说,第一种群中的n个个体,可以视为n个用于为各个算法在不同时间段分配计算资源,以及为各个算法对应的采集装置在不同时间段分配采集时间间隔的解。
一种可能的实现方式中,算法编排装置确定的第一种群中的n个个体,满足以上约束条件a、约束条件b和约束条件c。上述约束条件d为本申请的一个优化目标,对于该n个个体是否满足上述约束条件d,本申请不做限定。
第一种群中的n个个体可以为算法编排装置根据以上约束条件a、约束条件b和约束条件c随机生成的n个个体。
S201、算法编排装置根据差分进化算法处理第一种群,直到确定出包括满足约束条件的目标个体的目标种群。
其中,目标个体用于为配置每一算法占用的资源大小以及每一算法对应的采集时间间隔提供参考。
一种可能的实现方式中,目标约束条件至少包括第一数值小于或等于第一阈值;第一数值用于表征图像处理时长大于最大时延的数量。
示例性的,第一预设值的大小为0。此时,算法编排装置根据目标个体为各个算法分配计算资源,以及为各个图像采集装置设置采集时间间隔后。算法编排装置在进行图像处理的过程中,处理图像超时的次数为0。也即是说,图像处理装置在进行图像处理时,不发生处理图像超时的事件。
S202、算法编排装置参考目标个体,配置每一算法占用的资源大小以及每一算法图像采集装置的采集时间间隔。
具体来说,算法编排装置根据目标个体所表征的各个算法对应的计算资源,为各个算法分配相应的计算资源。
以及,算法编排装置为图像采集装置指示目标个体所表征的各个图像采集装置的采集时间间隔。图像采集装置根据指示的采集时间间隔采集图像。图像采集装置向算法编排装置发送采集到的图像。
算法编排装置接收到各个图像采集装置发送的图像之后,根据与该图像采集装置对应的算法对该图像进行分析。算法编排装置根据各个算法进行图像分析所根据的计算资源的数量为上述算法编排装置根据目标个体为该算法分配的计算资源的数量。
基于上述技术方案,本申请提供的算法编排方法,算法编排装置能够根据差分进化算法优化第一种群,确定满足约束条件的目标个体。这样,算法编排装置能够及时的确定各个算法的资源分配,以及各个图像采集装置的采集时间间隔,从而为各个算法分配计算资源以及为各个图像采集装置配置采集时间间隔提供依据。
在S200的一种可能的实现方式中,算法编排装置确定的第一种群中包括n个个体。
该n个个体中的每个个体均包括m+1个矩阵,其中,该m+1个矩阵中的第1个矩阵用于表征m种算法中的第1种算法对应的各个区域的采集时间间隔。该m+1个矩阵中的第i个矩阵用于表征m种算法中的第i种算法对应的各个区域的采集时间间隔;该m个矩阵中的第m个矩阵用于表征m种算法中的第m种算法对应的各个区域的采集时间间隔。
该m+1个矩阵中的第m+1个矩阵用于表征算法编排装置在各个预设时间段内为各个算法分配的计算资源的矩阵。
示例性的,第i种算法对应的第i个矩阵满足下述矩阵1,第m+1个矩阵满足下述矩阵2。
其中,表示算法编排装置在第c个时间段内为第ri个区域的图像采集装置设置的采集时间间隔。
其中,表示算法编排装置在第c个时间段内为第m个算法分配的计算资源。
需要说明的是,矩阵1中的各个元素均满足该区域的图像采集装置的采集时间间隔,以及图像采集装置的运行时间。
矩阵2中的每一列的元素之和均小于或等于L。也即是说,算法编排装置在预设时间段内为各个算法分配的计算资源之和,小于或等于算法编排装置的总计算资源L。
结合图2,如图3所示,在S201的一种可能的实现方式中,S201可以通过以下S300和S301实现。
S300、算法编排装置根据第一差分进化算法处理第一种群,直到确定出第一目标种群为止。
需要指出的是,在S300中,本申请中所记载的约束条件包括第一约束条件。第一约束条件包括:个体的第一数值小于或等于第一阈值。
第一数值用于表征图像处理时长大于最大时延的图像数量。
一种可能的实现方式中,算法编排装置可以根据预先设置好的算法或函数,确定每个个体的第一数值。例如,第一差分进化算法的适应度函数用于确定第一数值,算法编排装置可以根据第一差分进化算法的适应度函数确定每个个体的第一数值。
又一种可能的实现方式中,算法编排装置可以根据各个个体指示图像采集装置进行图像采集,算法编排装置根据个体进行图像处理,并根据实际产生的超时次数,确定各个个体对应的第一数值。
一种具体的实现方式中,S300可以通过以下步骤1、步骤2、以及步骤3实现:
步骤1、算法编排装置生成第二个体。
其中,步骤1与本申请中记载的S1相对应。
第二个体为对当前种群中的最优个体的目标算法在目标时间段的计算资源调整后得到的个体。目标算法为所有算法中目标时间段首个出现图像处理时长大于最大时延的算法。最优个体为当前种群中第一数值最小的个体。
算法编排装置可以通过增加当前种群中的最优个体中发生处理超时的算法对应的计算资源,确定第二个体。
具体来说,算法编排装置确定根据当前种群中的最优个体进行图像采集以及图像处理时,算法编排装置在根据何种算法进行图像处理时产生了超时,算法编排装置记录该超时情况,并增加为在该超时对应的算法(可以是所有超时算法中第一个产生超时的算法,也可以是所有超时的算法中的全部或部分算法)分配的计算资源,以消除该超时情况。
这样,算法编排装置对种群中的最优个体中的超时情况进行有针对性的计算资源调整,可以大大提高算法编排装置对种群进行优化的效率。
需要指出的是,第一种群中可能包括一个或多个最优个体。算法编排装置确定的第二个体的数量与最优个体相同。本申请主要以第一种群中包括一个最优个体,算法编排装置确定的第二个体的数量同样为一个为例进行说明。在第五个体和第二个体的数量为多个时,其实现方式可以参照第五个体和第二个体的数量为一个实现,本申请对此不在赘述。
步骤2、算法编排装置对当前种群中的每个个体执行处理操作,以得到处理后的第二种群。
步骤2与本申请中记载的S2相对应。
其中,处理操作包括第一变异操作、交叉操作和选择操作。
对于第一变异操作:该第一变异操作中的变异向量包括当前种群中随机选择的个体。
在根据差分进化算法处理种群时,需要对种群进行迭代处理,直至确定出满足要求的个体。本申请中所记载的当前种群为当前迭代过程中待处理的种群。对于非首次迭代而言,当前种群为上一次迭代所产生的种群。
一种示例,第一变异操作中的变异向量包括上一次迭代所产生的三个随机个体。具体的,算法编排装置从上一次迭代所产生的种群中,随机选择三个个体。算法编排装置确定该三个随机选择的个体构成第一变异操作中的变异向量。
对于交叉操作:算法编排装置以随机数或者时间段为选择条件,在随机数小于交叉概率或者个体中选择的时间段为预先确定时间段的情况下,算法编排装置确定交叉后的个体为变异个体,在其他情况下,算法编排装置确定交叉后的个体为变异前的个体。
对于选择操作:算法编排装置确定交叉后的个体的第一数值,以及变异前的个体的第一数值。
在在交叉后的个体的第一数值小于变异前的个体的数值的情况下,算法编排装置确定选择后的个体为上述交叉后的个体。在交叉后的个体的第一数值大于或等于变异前的个体的第一数值的情况下,算法编排装置确定选择后的个体为变异前的个体。变异前的个体为进行变异之前的个体。
算法编排装置执行n次第一变异操作、交叉操作和选择操作,确定n个个体中每个体对应的下一代个体。
这样,算法编排装置确定n个个体对应的下一代个体,得到的下一代个体对应的第一数值更小,进而降低了算法编排装置处理图像超时的数量。
步骤3、若第二种群和第二个体中不包括第一个体,则算法编排装置对第二种群执行步骤1以及步骤2,直到第二种群和第二个体中包括第一个体,则第二种群和第二个体构成第一目标种群。
需要指出的是,以上步骤1和步骤2为算法编排装置循环执行的步骤,该循环截止的条件为第二个体和第二种群中出现了第一个体。
也即是说,在算法编排装置循环执行步骤1和步骤2的过程中,若出现第一数值小于或等于第一阈值的第一个体,则算法编排装置停止该循环,将当前确定的第二种群和第二个体构成第一目标种群。否则,算法编排装置继续循环执行以上步骤1和步骤2。
这样,算法编排装置在每一次差分进化算法的迭代过程中,都能针对当前代个体中的最优个体进行计算资源的分配优化得到第二个体。算法编排装置同时从根据差分进化算法确定的第二种群和第二个体中判断是否存在第一个体,可以大大提高算法编排装置确定第一个体的效率。
需要指出的是,为了避免算法编排装置循环执行以上步骤1和步骤2的次数过多,导致占用算法编排装置较多的计算资源和计算时间,算法编排装置可以预先设定循环次数,在算法编排装置循环执行以上步骤1和步骤2的次数达到该循环次数的情况下,无论第二种群和第二个体中是否出现第一个体,算法编排装置均结束该循环。在该循环结束之后,算法编排装置可以报错,以指示无法确定第一个体。
S301、算法编排装置基于第一目标种群,确定目标个体。
需要指出的是,算法编排装置基于第一目标种群确定目标个体,包括以下情况1和情况2两种情况,分别为:情况1、算法编排装置确定第一目标种群中的第一个体为目标个体;情况2、算法编排装置根据第二差分进化算法处理第二种群,确定目标个体。
以下,分别对情况1和情况2进行具体说明:
情况1、算法编排装置确定第一目标种群中的第一个体为目标个体。
具体来说,算法编排装置确定第一目标种群中的第一个体之后,将第一个体作为目标个体。在此之后,算法编排装置根据目标个体配置每一算法占用的资源大小以及每一算法对应图像采集装置的采集时间间隔。
基于上述技术方案,算法编排装置根据第一差分进化算法对第一种群进行处理确定出可以使算法编排装置处理图像时处理超时的次数小于或等于第一阈值的目标个体。算法编排装置参考该目标个体,配置每一算法占用的资源大小以及每一算法对应图像采集装置的采集时间间隔,可以使得算法编排装置在处理图像采集装置采集的图像时,能够及时的处理各个图像采集装置采集的图像,降低算法编排装置处理图像超时的次数。
情况2、算法编排装置根据第二差分进化算法处理第二种群,确定目标个体。
结合图3,如图4所示,在情况2中,S301具体可以通过以下S400和S401实现:
S400、算法编排装置根据第二差分进化算法处理第二种群,直到确定出第二目标种群为止。
其中,第二目标种群包括同时满足第一约束条件和第二约束条件的第三个体。
第二差分进化算法包括第二变异操作,所述第二变异操作中的变异向量包括第二最优个体;所述第二最优个体为当前待处理的个体中第一数值最小,且第二数值最大的个体。这样,算法编排装置在根据第二差分进化算法迭代处理第二种群的过程中,每次迭代均针对当前的第二最优个体优化,提高了优化效率以及确定第二目标种群的效率。
需要指出的是,在情况2中,本申请中的约束条件除包括第一约束条件外,还包括第二约束条件。第二约束条件包括:个体的第二数值满足预设条件。第二数值用于表征处理图像的数量。
一种可能的实现方式中,第二数值满足的预设条件包括以下至少一项:
预设条件a、算法编排装置根据第二差分进化算法处理第二种群时的迭代次数大于第一预设迭代次数。
预设条件b、算法编排装置第二差分进化算法处理第二种群时,连续多次迭代过程中确定的最优个体对应的第二数值的增长小于第二阈值。
一种示例,算法编排装置在连续5次迭代确定的最优个体对应的第二数值之间的差小于或等于3时,确定该连续5次迭代过程中的第5次迭代确定的最优个体对应的第二数值为第二预设值。算法编排装置输出该第5次迭代的结果,并将该结果作为上述第三种群。
需要说明的是,第二差分进化算法与第一差分进化算法存在区别。
一种可能的实现方式中,第二差分进化算法与上述第一差分进化算法的区别包括以下至少一项:
区别a、第二差分进化算法与第一差分进化算法的适应度函数不同。
第一差分进化算法的适应度函数用于计算种群中个体的第一数值。
第二差分进化算法的适应度函数用于计算种群中个体的第一数值和第二数值。
区别b、第二差分进化算法与第一差分进化算法的变异操作不同。
第一差分进化算法中的第一变异操作也可称为随机变异操作,用于从上一次迭代所产生的多个个体中随机选择多个个体,构成变异向量。
例如,从上一次迭代所产生的多个个体中随机选择三个个体,构成变异向量。
第二差分计算算法中的第二变异操作也可称为最佳变异操作,用于从上一次迭代所产生的多个个体中选择最优个体,并随机选择一个或多个个体,构成变异向量。
例如,从上一次迭代所产生的多个个体中选择其中的最优个体,并随机选择两个个体构成变异向量。
区别c、第二差分进化算法中无需循环执行以上步骤1中生成第二个体的过程。
可选的,S400具体可以通过以下步骤a、步骤b、以及步骤c实现。
步骤a、算法编排装置对当前种群中的每个个体执行处理操作,以得到处理后的个体。
处理操作包括第二变异操作、交叉操作和选择操作。
对于第二变异操作:
一种可能的实现方式中,算法编排装置从上一次迭代过程中确定的个体中选择最优个体,以及随机选择两个其他的个体,算法编排装置确定该三个个体构成第二变异操作中的变异向量。
算法编排装置执行n次变异过程,确定n个个体中每个个体对应的变异后的个体。
对于交叉操作和选择操作,步骤a中的交叉操作和选择操作与上述步骤2中相同,此处不再赘述。
步骤b、算法编排装置根据处理后的个体,确定新一代种群。
步骤c、若新一代种群不包括第二个体,则对新一代种群执行步骤a以及步骤b,直到确定出第三个体为止。
S401、算法编排装置基于第二目标种群,确定目标个体。
需要指出的是,算法编排装置根据第二目标种群,确定目标个体,包括以下情况2.1和情况2.2两种情况,分别为:情况2.1、算法编排装置确定第二目标种群中的第三个体为目标个体;情况2.2、算法编排装置进一步处理第二目标种群,确定目标个体。
以下,分别对情况2.1和情况2.2进行具体说明:
情况2.1、算法编排装置确定第二目标种群中的第三个体为目标个体。
具体来说,算法编排装置确定第二目标种群中的第三个体之后,将第三个体作为目标个体。在此之后,算法编排装置根据目标个体配置每一算法占用的资源大小以及每一算法对应图像采集装置的采集时间间隔。
基于上述技术方案,算法编排装置根据第二差分进化算法对第二种群进行进一步处理之后,确定出即可以使算法编排装置处理图像时处理超时的次数小于或等于第一阈值,又可以使算法编排装置处理的图像数量尽可能多的目标个体。算法编排装置参考该目标个体,配置每一算法占用的资源大小以及每一算法对应图像采集装置的采集时间间隔,可以使得算法编排装置在处理图像采集装置采集的图像时,即可以及时的处理各个图像采集装置采集的图像,又可以使算法编排装置处理尽可能多的图像,从而提高算法编排装置的处理图像的能力。
相较于情况1,算法编排装置根据情况2.1中确定的目标个体配置所述每一算法占用的资源大小以及所述每一算法对应的图像采集装置的采集时间间隔,可以提高算法编排装置处理图像的数量。
情况2.2、算法编排装置进一步处理第二目标种群,确定目标个体。
在情况2.2中,具体包括情况2.2.1和情况2.2.2两种情况。
结合图4,如图5所示,在情况2.2.1中,S401具体可以通过以下S500、S501和S502实现。
S500、算法编排装置确定待分析个体和随机个体。
待分析个体为第二目标种群的所有个体中排名指数满足预设筛选条件的个体。
待分析个体为根据第二差分进化算法得到的所有个体中排名指数满足预设筛选条件的个体,排名指数用于表征第一数值和第二数值。随机个体为随机生成的个体。待分析个体和随机个体之和为n。
上述排名指数根据个体对应的第一数值和第二数值确定。
具体来说,算法编排装置首先根据各个个体的第一数值对各个个体进行排名,第一数值越小的个体的排名越高。对于第一数值相同的个体,算法编排装置根据个体的第二数值进行排名,第二数值越大的个体的排名越高,根据该方法算法编排装置完成对全部n个个体的排名。
在确定各个个体的排名之后,算法编排装置选择排名靠前(例如排名为前70%的个体,具体比例可根据实际需求配置)的个体为待分析个体。
算法编排装置确定随机个体的方式与算法编排装置确定第一种群中的n个个体的方式类似,本申请不在赘述。
S501、算法编排装置根据第三差分进化算法处理待分析个体,直到确定出第三目标种群。
第三目标种群包括第四个体,第四个体同时满足第一约束条件和第二约束条件。
其中,第三差分进化算法包括第三变异操作,第三变异操作中的变异向量包括从第一处理个体(待分析个体和随机个体,或者处理后的待分析个体和随机个体)中随机选择的m个个体;m为正整数。此外,第三变异操作中的变异向量还包括对待分析个体迭代时,前一次迭代产生的最优解。
根据上述对第二差分进化算法和第三差分进化算法的描述可以看出,第三差分进化算法与第二差分进化算法的区别在于:
第二差分进化算法中第二变异操作的变异向量包括当前待处理的个体中第一数值最小、且第二数值最大的个体(即第二最优个体),以及包括当前待处理的个体中随机选取的至少一个个体。
第三差分进化算法的第三变异操作的变异向量包括从第一处理个体(待分析个体和随机个体,或者处理后的待分析个体和随机个体)中随机选择的m个个体,以及对待分析个体迭代时,前一次迭代产生的最优解。
可以看出,在第三差分进化算法中,算法编排装置可以每次针对最优解进行优化,同时还引入了随机个体,加大了多样性,避免最终确定的最优解局部收敛。
第三差分进化算法与第二差分进化算法的其他过程类似,关于第三差分进化算法的其他实现过程可以参照上述第二差分进化算法,本申请对此不在赘述。
S502、算法编排装置基于第三目标种群,确定目标个体。
具体来说,算法编排装置确定第三目标种群中的第四个体之后,将第四个体作为目标个体。在此之后,算法编排装置根据目标个体配置每一算法占用的资源大小以及每一算法对应图像采集装置的采集时间间隔。
结合图4,如图6所示,在情况2.2.2中,S401具体可以通过以下S600和S601实现。
S600、算法编排装置根据第一差分进化算法和第二差分进化算法对随机个体进行处理,以及根据第四差分进化算法处理待分析个体,直到处理后的待分析个体和处理后的随机个体中出现第五个体。
该第五个体同时满足第一约束条件和第二约束条件。
其中,第四差分进化算法包括第四变异操作,第四变异操作中的变异向量包括从第二处理个体中随机选择的m个个体;m为正整数。第二处理个体包括随机个体;或者,处理后的随机个体;
具体的,算法编排装置在首次根据第四差分进化算法处理待分析个体时,第四差分进化算法中的变异向量中的第二处理个体包括随机个体。算法编排装置在非首次根据第四差分进化算法处理待分析个体时,第四差分进化算法中的变异向量中的第二处理个体包括处理后的随机个体。
处理后的随机个体指的是根据第一差分进化算法和第二差分进化算法迭代随机个体的过程中,前一次迭代所产生的个体。
根据上述描述可知,第三差分计算算法与第四差分计划算法的区别在于:
第三差分进化算法中选择变异向量所包括的个体的范围为:前一次迭代后产生的个体和随机个体。
第四差分进化算法中选择变异向量所包括的个体的范围为:随机个体在前一次迭代后产生的个体。
具体来说,算法编排装置根据第四差分进化算法处理待分析个体,确定待分析个体中的第四个体。算法编排装置根据第一差分进化算法和第二差分计算算法依次处理随机个体,确定随机个体中的第六个体,第六个体为随机个体中第一数值小于或等于第一阈值,且第二数值满足预设条件的个体。
算法编排装置确定每次迭代过程中,第四个体和第六个体中排名指数更高的个体为第七个体。在连续多次迭代过程中第七个体的排名指数变化小于一定值或者迭代次数到达预设次数的情况下,算法编排装置将当前确定的第七个体作为第五个体。
S601、算法编排装置确定第五个体为目标个体。
基于上述技术方案,为避免算法编排装置确定的目标个体为收敛到局部最优解的个体,算法编排装置对第二目标种群进行优化,筛选出第二目标种群中排名指数较高的个体,同时引入随机个体,在进行多次差分进化,使得最终确定的目标个体接近或者等于全局最优解,提高了算法编排装置确定的目标个体为全局最有解的可能性。
相较于情况2.1,在情况2.2中,算法编排装置确定的目标个体更接近于全局最优解,算法编排装置根据情况2.2中确定的目标个体配置所述每一算法占用的资源大小以及所述每一算法对应的图像采集装置的采集时间间隔。可以进一步降低算法编排装置处理图像超时的次数,提高算法编排装置处理的图像的数量。
本申请上述实施例中的各个方案在不矛盾的前提下,均可以进行结合。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对算法编排装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图7示出了上述实施例中所涉及的算法编排装置(记为算法编排装置70)的一种可能的结构示意图,该算法编排装置70包括确定单元700、处理单元701和通信单元702,还可以包括存储单元703。图7所示的结构示意图可以用于示意上述实施例中所涉及的算法编排装置的结构。
当图7所示的结构示意图用于示意上述实施例中所涉及的算法编排装置的结构时,确定单元用于对算法编排装置的动作进行控制管理,例如控制算法编排装置执行图2中的S200,图3中的S200,图4中的S200,图5中的S200,以及图6中的S200,和/或本申请实施例中所描述的其他过程中的算法编排装置执行的动作。
处理单元701用于对算法编排装置的动作进行控制管理,例如,控制算法编排装置执行图2中的S200、S201和S202,图3中的S300、S301和S202,图4中的S200、S300、S400、S401和S202,图5中的S200、S300、S400、S500、S501、S502和S202,图6中的S200、S300、S400、S600、S601和S202,和/或本申请实施例中所描述的其他过程中的算法编排装置执行的动作。处理单元701可以通过通信单元702与其他设备通信,例如,与图1中示出的图像采集装置通信。存储单元703用于存储算法编排装置的程序代码和数据。
当图7所示的结构示意图用于示意上述实施例中所涉及的算法编排装置的结构时,算法编排装置70可以是算法编排装置,也可以是算法编排装置内的芯片。
其中,当算法编排装置70为算法编排装置时,处理单元701可以是处理器或控制器,通信单元702可以是通信接口、收发器、收发机、收发电路、收发装置等。其中,通信接口是统称,可以包括一个或多个接口。存储单元703可以是存储器。当算法编排装置70为算法编排装置内的芯片时,处理单元701可以是处理器或控制器,通信单元702可以是输入接口和/或输出接口、管脚或电路等。存储单元703可以是该芯片内的存储单元(例如,寄存器、缓存等),也可以是算法编排装置内的位于该芯片外部的存储单元(例如,只读存储器(read-only memory,简称ROM)、随机存取存储器(random access memory,简称RAM)等)。
其中,通信单元也可以称为收发单元。算法编排装置70中的具有收发功能的天线和控制电路可以视为算法编排装置70的通信单元702,具有处理功能的处理器可以视为算法编排装置70的处理单元701。可选的,通信单元702中用于实现接收功能的器件可以视为接收单元,接收单元用于执行本申请实施例中的接收的步骤,接收单元可以为接收机、接收器、接收电路等。
图7中的集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。存储计算机软件产品的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
图7中的单元也可以称为模块,例如,处理单元可以称为处理模块。
本申请实施例还提供了一种计算机设备(记为计算机设备80)的硬件结构示意图,参见图8或图9,该计算机设备80包括处理器801,可选的,还包括与处理器801连接的存储器802。
在第一种可能的实现方式中,参见图8,计算机设备80还包括收发器803。处理器801、存储器802和收发器803通过总线相连接。收发器803用于与其他设备或通信网络通信。可选的,收发器803可以包括发射机和接收机。收发器803中用于实现接收功能的器件可以视为接收机,接收机用于执行本申请实施例中的接收的步骤。收发器803中用于实现发送功能的器件可以视为发射机,发射机用于执行本申请实施例中的发送的步骤。
基于第一种可能的实现方式,图8所示的结构示意图可以用于示意上述实施例中所涉及的计算机设备的结构。
当图8所示的结构示意图用于示意上述实施例中所涉及的计算机设备的结构时,处理器801用于对计算机设备的动作进行控制管理,例如,处理器801用于支持计算机设备执行图2中的S200、S201和S202,图3中的S200、S300、S301和S202,图4中的S200、S300、S400、S401和S202,图5中的S200、S300、S400、S500、S501、S502和S202,图6中的S200、S300、S400、S600、S601和S202,和/或本申请实施例中所描述的其他过程中的计算机设备执行的动作。处理器801可以通过收发器803与其他设备通信,例如,与图1中示出的图像采集装置通信。存储器802用于存储计算机设备的程序代码和数据。
在第二种可能的实现方式中,处理器801包括逻辑电路以及输入接口和输出接口中的至少一个。其中,输出接口用于执行相应方法中的发送的动作,输入接口用于执行相应方法中的接收的动作。
基于第二种可能的实现方式,参见图9,图9所示的结构示意图可以用于示意上述实施例中所涉及的计算机设备80的结构。
当图9所示的结构示意图用于示意上述实施例中所涉及的计算机设备的结构时,处理器801用于对计算机设备的动作进行控制管理,例如,处理器801用于支持计算机设备执行图2中的S200、S201和S202,图3中的S200、S300、S301和S202,图4中的S200、S300、S400、S401和S202,图5中的S200、S300、S400、S500、S501、S502和S202,图6中的S200、S300、S400、S600、S601和S202,和/或本申请实施例中所描述的其他过程中的计算机设备执行的动作。处理器801可以通过输入接口和输出接口中的至少一个与其他设备通信,例如,与图1中示出的图像采集装置通信。存储器802用于存储计算机设备的程序代码和数据。
其中,图8和图9也可以示意计算机设备中的芯片系统。该情况下,上述计算机设备执行的动作可以由该芯片系统实现,具体所执行的动作可参见上文,在此不再赘述。图8和图9也可以示意计算机设备中的芯片系统。该情况下,上述计算机设备执行的动作可以由该芯片系统实现,具体所执行的动作可参见上文,在此不再赘述。
在实现过程中,本实施例提供的方法中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在实际实现时,确定单元700处理单元701可以由图8或图9所示的处理器801调用存储器803中的程序代码来实现。其具体的执行过程可参考图2至图6所示的算法编排方法部分的描述,这里不再赘述。
本申请中的处理器可以包括但不限于以下至少一种:中央处理单元(centralprocessing unit,CPU)、微处理器、数字信号处理器(DSP)、微控制器(microcontrollerunit,MCU)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。该处理器可以是个单独的半导体芯片,也可以跟其他电路一起集成为一个半导体芯片,例如,可以跟其他电路(如编解码电路、硬件加速电路或各种总线和接口电路)构成一个SoC(片上系统),或者也可以作为一个ASIC的内置处理器集成在所述ASIC当中,该集成了处理器的ASIC可以单独封装或者也可以跟其他电路封装在一起。该处理器除了包括用于执行软件指令以进行运算或处理的核外,还可进一步包括必要的硬件加速器,如现场可编程门阵列(field programmable gate array,FPGA)、PLD(可编程逻辑器件)、或者实现专用逻辑运算的逻辑电路。
本申请实施例中的存储器,可以包括如下至少一种类型:只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically erasable programmable read-only memory,EEPROM)。在某些场景下,存储器还可以是只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述任一方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方法。
本申请实施例还提供了一种芯片,该芯片包括处理器和接口电路,该接口电路和该处理器耦合,该处理器用于运行计算机程序或指令,以实现上述方法,该接口电路用于与该芯片之外的其它模块进行通信。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,简称SSD))等。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种算法编排方法,其特征在于,包括:
确定第一种群;所述第一种群包括n个个体,所述个体包括每一算法在不同时间段占用的资源大小,以及所述每一算法对应的各个图像采集装置在运行时间区间中不同时间段的采集时间间隔;所述个体中,所有算法在同一个时间段内占用的资源的大小小于或等于资源最大值,一种算法对应的任一个图像采集装置在一个时间段的采集时间间隔处于所述一种算法对应的所述任一个图像采集装置在所述一个时间段的采集时间间隔范围内;n为正整数;
根据差分进化算法处理所述第一种群,直到确定出包括满足约束条件的目标个体的目标种群;所述约束条件包括第一约束条件,所述第一约束条件包括所述个体的表征图像处理时长大于最大时延的图像数量的第一数值小于或等于第一阈值;
参考所述目标个体,配置所述每一算法占用的资源大小以及所述每一算法对应的图像采集装置的采集时间间隔。
2.根据权利要求1所述的算法编排方法,其特征在于,所述差分进化算法包括第一差分进化算法;
所述根据所述差分进化算法处理所述第一种群,直到确定出包括满足约束条件的目标个体的目标种群,包括:
根据所述第一差分进化算法处理所述第一种群,直到确定出第一目标种群为止,所述第一目标种群包括满足所述第一约束条件的第一个体;
基于所述第一目标种群,确定所述目标个体。
3.根据权利要求2所述的算法编排方法,其特征在于,所述根据所述第一差分进化算法处理所述第一种群,直到确定出第一目标种群为止,包括:
S1、生成第二个体,所述第二个体为对当前种群中的第一最优个体的目标算法在目标时间段的计算资源调整后得到的个体,所述目标算法为所有算法中所述目标时间段首个出现图像处理时长大于最大时延的算法;所述第一最优个体为所述当前种群中第一数值最小的个体;
S2、对所述当前种群中的每个个体执行处理操作,以得到处理后的第二种群;所述处理操作包括第一变异操作、交叉操作和选择操作;所述第一变异操作中的变异向量包括所述当前种群中随机选择的个体;
若所述第二种群和所述第二个体中不包括所述第一个体,则对所述第二种群执行所述S1以及所述S2,直到所述第二种群和所述第二个体中包括所述第一个体,则所述第二种群和所述第二个体构成第一目标种群。
4.根据权利要求3所述的算法编排方法,其特征在于,所述约束条件还包括第二约束条件,所述第二约束条件包括所述个体的第二数值满足预设条件,所述第二数值用于表征处理图像的数量;
所述差分进化算法还包括第二差分进化算法;
所述基于所述第一目标种群,确定所述目标个体,包括:
根据第二差分进化算法处理所述第二种群,直到确定出第二目标种群为止,所述第二目标种群包括同时满足所述第一约束条件和所述第二约束条件的第三个体;其中,所述第二差分进化算法包括第二变异操作,所述第二变异操作中的变异向量包括第二最优个体;所述第二最优个体为当前待处理的个体中第一数值最小,且第二数值最大的个体;
基于所述第二目标种群,确定所述目标个体。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第二目标种群,确定所述目标个体,包括:
确定待分析个体和随机个体,所述待分析个体为所述第二目标种群的所有个体中排名指数满足预设筛选条件的个体;
根据第三差分进化算法处理所述待分析个体,直到确定出第三目标种群;所述第三目标种群包括第四个体,所述第四个体同时满足所述第一约束条件和所述第二约束条件;其中,所述第三差分进化算法包括第三变异操作,所述第三变异操作中的变异向量包括从第一处理个体中随机选择的m个个体;m为正整数;所述第一处理个体包括所述待分析个体和所述随机个体;或者,所述第一处理个体包括处理后的待分析个体和所述随机个体;
基于所述第三目标种群,确定所述目标个体。
6.根据权利要求4所述的方法,其特征在于,所述基于所述第二目标种群,确定所述目标个体,包括:
确定待分析个体和随机个体,所述待分析个体为所述第二目标种群的所有个体中排名指数满足预设筛选条件的个体;
根据所述第一差分进化算法和所述第二差分进化算法对所述随机个体进行处理,以及根据第四差分进化算法处理所述待分析个体,直到处理后的所述待分析个体和处理后的所述随机个体中出现第五个体,所述第五个体同时满足所述第一约束条件和所述第二约束条件;所述第四差分进化算法包括第四变异操作,所述第四变异操作中的变异向量包括从第二处理个体中随机选择的m个个体;m为正整数;所述第二处理个体包括所述随机个体;或者,所述第二处理个体包括处理后的随机个体;
确定所述第五个体为所述目标个体。
7.一种算法编排装置,其特征在于,包括:处理单元和确定单元;
所述确定单元,用于确定第一种群;所述第一种群包括n个个体,所述个体包括每一算法在不同时间段占用的资源大小,以及所述每一算法在运行时间区间中不同时间段对应图像采集装置的采集时间间隔;所述个体中,所有算法在同一个时间段内占用的资源的大小小于或等于资源最大值,一种算法在一个时间段对应的采集时间间隔处于所述一种算法在所述一个时间段的采集时间间隔范围内;n为正整数;
所述处理单元,用于根据差分进化算法处理所述第一种群,直到确定出包括满足约束条件的目标个体的目标种群;所述约束条件包括第一约束条件,所述第一约束条件包括所述个体的表征图像处理时长大于最大时延的图像数量的第一数值小于或等于第一阈值;
所述处理单元,还用于参考所述目标个体,配置所述每一算法占用的资源大小以及所述每一算法对应图像采集装置的采集时间间隔。
8.根据权利要求7所述的算法编排装置,其特征在于,所述差分进化算法包括第一差分进化算法;
所述处理单元用于根据所述差分进化算法处理所述第一种群,直到确定出包括满足约束条件的目标个体的目标种群,包括:根据所述第一差分进化算法处理所述第一种群,直到确定出第一目标种群为止,所述第一目标种群包括满足所述第一约束条件的第一个体;基于所述第一目标种群,确定所述目标个体;
所述处理单元具体用于:执行S1和S2;所述S1、生成第二个体,所述第二个体为对当前种群中的第一最优个体的目标算法在目标时间段的计算资源调整后得到的个体,所述目标算法为所有算法中所述目标时间段首个出现图像处理时长大于最大时延的算法;所述第一最优个体为所述当前种群中第一数值最小的个体;所述S2、对所述当前种群中的每个个体执行处理操作,以得到处理后的第二种群;所述处理操作包括第一变异操作、交叉操作和选择操作;所述第一变异操作中的变异向量包括所述当前种群中随机选择的个体;以及具体用于:若所述第二种群和所述第二个体中不包括所述第一个体,则对所述第二种群执行所述S1以及所述S2,直到所述第二种群和所述第二个体中包括所述第一个体,则所述第二种群和所述第二个体构成第一目标种群;
所述约束条件还包括第二约束条件,所述第二约束条件包括所述个体的第二数值满足预设条件,所述第二数值用于表征处理图像的数量;
所述差分进化算法还包括第二差分进化算法;
所述处理单元用于基于所述第一目标种群,确定所述目标个体,包括:根据第二差分进化算法处理所述第二种群,直到确定出第二目标种群为止,所述第二目标种群包括同时满足所述第一约束条件和所述第二约束条件的第三个体;其中,所述第二差分进化算法包括第二变异操作,所述第二变异操作中的变异向量包括第二最优个体;所述第二最优个体为当前待处理的个体中第一数值最小,且第二数值最大的个体;基于所述第二目标种群,确定所述目标个体;
所述处理单元用于基于所述第二目标种群,确定所述目标个体,包括:确定待分析个体和随机个体,所述待分析个体为所述第二目标种群的所有个体中排名指数满足预设筛选条件的个体;根据第三差分进化算法处理所述待分析个体,直到确定出第三目标种群;所述第三目标种群包括第四个体,所述第四个体同时满足所述第一约束条件和所述第二约束条件;其中,所述第三差分进化算法包括第三变异操作,所述第三变异操作中的变异向量包括从第一处理个体中随机选择的m个个体;m为正整数;所述第一处理个体包括所述待分析个体和所述随机个体;或者,所述第一处理个体包括处理后的待分析个体和所述随机个体;基于所述第三目标种群,确定所述目标个体;
所述处理单元用于基于所述第二目标种群,确定所述目标个体,包括:根据所述第一差分进化算法和所述第二差分进化算法对所述随机个体进行处理,以及根据第四差分进化算法处理所述待分析个体,直到处理后的所述待分析个体和处理后的所述随机个体中出现第五个体,所述第五个体同时满足所述第一约束条件和所述第二约束条件;所述第四差分进化算法包括第四变异操作,所述第四变异操作中的变异向量包括从第二处理个体中随机选择的m个个体;m为正整数;所述第二处理个体包括所述随机个体;或者,处理后的随机个体;确定所述第五个体为所述目标个体。
9.一种计算机设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,以执行权利要求1-6中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1-6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538160.3A CN112613594B (zh) | 2020-12-23 | 2020-12-23 | 算法编排方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538160.3A CN112613594B (zh) | 2020-12-23 | 2020-12-23 | 算法编排方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112613594A CN112613594A (zh) | 2021-04-06 |
CN112613594B true CN112613594B (zh) | 2024-02-09 |
Family
ID=75244898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011538160.3A Active CN112613594B (zh) | 2020-12-23 | 2020-12-23 | 算法编排方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112613594B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324854A (zh) * | 2008-07-21 | 2008-12-17 | 武汉理工大学 | 一种基于并行遗传算法的网格资源分配方法 |
CN111178487A (zh) * | 2019-12-20 | 2020-05-19 | 广东省能源集团有限公司 | 电力优化调度方法、装置、计算机设备和存储介质 |
CN111208794A (zh) * | 2020-02-22 | 2020-05-29 | 江南大学 | 基于差分进化算法的离散制造车间静态调度优化方法 |
CN111813543A (zh) * | 2020-06-18 | 2020-10-23 | 浙江大华技术股份有限公司 | 一种自适应调度方法、设备及计算机可读存储介质 |
-
2020
- 2020-12-23 CN CN202011538160.3A patent/CN112613594B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324854A (zh) * | 2008-07-21 | 2008-12-17 | 武汉理工大学 | 一种基于并行遗传算法的网格资源分配方法 |
CN111178487A (zh) * | 2019-12-20 | 2020-05-19 | 广东省能源集团有限公司 | 电力优化调度方法、装置、计算机设备和存储介质 |
CN111208794A (zh) * | 2020-02-22 | 2020-05-29 | 江南大学 | 基于差分进化算法的离散制造车间静态调度优化方法 |
CN111813543A (zh) * | 2020-06-18 | 2020-10-23 | 浙江大华技术股份有限公司 | 一种自适应调度方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112613594A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7328379B2 (ja) | 畳み込み効率を向上させる方法、システム、及び装置 | |
CN113242568B (zh) | 一种不确定网络环境中的任务卸载和资源分配方法 | |
US8238924B2 (en) | Real-time optimization of allocation of resources | |
KR20220127878A (ko) | 신경망을 위한 적응 검색 방법 및 장치 | |
CN106802772B (zh) | 数据回收的方法、装置及固态硬盘 | |
CN110058943B (zh) | 用于电子设备的内存优化方法和设备 | |
CN113869521A (zh) | 构建预测模型的方法、装置、计算设备和存储介质 | |
KR20210147240A (ko) | 모바일 엣지 컴퓨팅을 활용하는 모바일 증강현실 서비스의 모바일 단말 에너지 최적화 방법 및 시스템 | |
JP2019067084A (ja) | 情報処理システム、情報処理装置、及び、転送先決定方法 | |
CN112613594B (zh) | 算法编排方法、装置、计算机设备及存储介质 | |
WO2021238508A1 (zh) | 一种数据处理的方法、装置和设备 | |
US11003508B2 (en) | Apparatus and methods for load balancing across a network of nodes | |
JP2008516320A (ja) | メモリフレームのサイズを決定する方法および装置 | |
CN114281474A (zh) | 一种资源调节方法及装置 | |
JP2022039617A (ja) | 時系列予測システム、時系列予測方法及びコンピュータプログラム | |
CN110928692A (zh) | 一种任务处理方法、装置及电子设备 | |
CN115774800B (zh) | 基于numa架构的时变图处理方法、电子设备、介质 | |
US11797850B2 (en) | Weight precision configuration method and apparatus, computer device and storage medium | |
US20220236899A1 (en) | Information processing apparatus, information processing method, and computer-readable recording medium storing information processing program | |
JP7278120B2 (ja) | 無線通信装置、無線通信方法、および、プログラム | |
CN117971742A (zh) | 基于传输序列的芯片数据传输方法和装置 | |
US9990235B2 (en) | Determining tasks to be performed by a modular entity | |
CN114116154A (zh) | 任务调度方法、装置和设备 | |
CN117319373A (zh) | 数据传输方法、装置、电子设备和计算机可读存储介质 | |
CN116775237A (zh) | 任务调度方法、装置、网络设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |