CN116225877A - 一种性能测试方法、装置、电子设备和存储介质 - Google Patents
一种性能测试方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116225877A CN116225877A CN202310269079.7A CN202310269079A CN116225877A CN 116225877 A CN116225877 A CN 116225877A CN 202310269079 A CN202310269079 A CN 202310269079A CN 116225877 A CN116225877 A CN 116225877A
- Authority
- CN
- China
- Prior art keywords
- camera
- information
- scene
- target algorithm
- service
- 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.)
- Pending
Links
- 238000011056 performance test Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 title claims description 65
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 228
- 238000012360 testing method Methods 0.000 claims abstract description 144
- 238000012545 processing Methods 0.000 claims abstract description 125
- 230000008569 process Effects 0.000 claims description 28
- 238000013515 script Methods 0.000 claims description 23
- 238000005286 illumination Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000006399 behavior Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种性能测试方法、装置、电子设备和存储介质,涉及测试技术领域,尤其涉及图像处理技术领域。具体实现方案为:获得测试视频流的流地址;创建以流地址为视频流输出地址的虚拟摄像头;根据虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法;创建使用目标算法对虚拟摄像头采集的视频进行视频处理的任务;指示部署有目标算法的服务执行任务,以对目标算法进行性能测试。应用本公开实施例提供的方案可以提高对各视频处理算法进行性能测试的效率。
Description
技术领域
本公开涉及测试技术领域,尤其涉及图像处理技术领域。
背景技术
视频处理平台部署有多种视频处理算法,可以使用这些视频处理算法对各种场景下的视频进行处理。为保证视频处理平台上线后能够正常工作,需要对视频处理平台部署的视频处理算法进行性能测试。
现有技术中,一般由工作人员手动对各视频处理算法进行测试。
发明内容
本公开提供了一种性能测试方法、装置、电子设备和存储介质。
根据本公开的一方面,提供了一种性能测试方法,包括:
获得测试视频流的流地址;
创建以所述流地址为视频流输出地址的虚拟摄像头;
根据所述虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法;
创建使用所述目标算法对所述虚拟摄像头采集的视频进行视频处理的任务;
指示部署有所述目标算法的服务执行所述任务,以对所述目标算法进行性能测试。
根据本公开的另一方面,提供了一种性能测试装置,包括:
流地址获得模块,用于获得测试视频流的流地址;
摄像头创建模块,用于创建以所述流地址为视频流输出地址的虚拟摄像头;
目标算法选择模块,用于根据所述虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法;
任务创建模块,用于创建使用所述目标算法对所述虚拟摄像头采集的视频进行视频处理的任务;
第一服务指示模块,用于指示部署有所述目标算法的服务执行所述任务,以对所述目标算法进行性能测试。
根据本公开的再一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述性能测试方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述性能测试方法。
根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述性能测试方法。
由以上可见,本公开实施例提供的方案中,创建能够输出视频流的虚拟摄像头,根据虚拟摄像头的信息,选择目标算法,创建使用目标算法的任务,并指示部署有目标算法的服务执行上述任务来对虚拟摄像头的视频进行处理,实现对目标算法的性能测试。这样,通过部署有视频处理算法的服务执行视频处理算法对应的任务,能够实现对各种视频处理算法进行性能测试,无需工作人员手动测试,从而提高对各视频处理算法进行性能测试的效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的一种性能测试方法的流程示意图;
图2是本公开实施例提供的另一种性能测试方法的流程示意图;
图3是本公开实施例提供的一种测试结果生成方法的流程示意图;
图4是本公开实施例提供的再一种性能测试方法的流程示意图;
图5是本公开实施例提供的一种性能测试装置的结构示意图;
图6是用来实现本公开实施例的性能测试方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面对本公开实施例所提供的方案的应用场景进行举例说明。
视频处理平台可以实现视觉追踪、视频帧优化等计算机视频处理技术。基于上述计算机视频处理技术,视频处理平台可以对摄像头采集的视频进行解析,通过调用视频处理平台中的一个或多个视频处理算法可以实现目标拍摄、车辆识别、车辆行为检测、天气检测、水务监测、人员行为检测以及目标统计等功能。
在本公开实施例中,视频处理平台可以提供多种服务用于实现上述功能。因为各种服务可以调用视频处理平台中部署的一个或多个算法,也就是,同一视频处理算法可能被多种服务调用,所以对于同一视频处理算法,需要通过调用不同的服务来对视频处理算法进行性能测试,这样,可以测试视频处理算法在不同服务中的性能。又因为,在不同服务之间,用于部署不同服务的设备的类型以及设备硬件种类可能都不相同,因此,在对视频处理算法进行性能测试的过程中,还需要对视频处理算法在不同设备类型和不同设备硬件上的计算资源消耗信息进行统计,这样,可以得到算法在不同服务、不同设备下的性能。
下面对本公开实施例所提供方案的执行主体进行说明。
本公开实施例所提供方案的执行主体可以是用于进行性能测试的服务,也可以是需要进行性能测试的部署有视频处理算法的服务自身。为便于表述,将本公开实施例所提供方案的执行主体称为测试服务。
下面通过具体实施例对本公开实施例提供的性能测试方法进行详细说明。
本公开的一个实施例中,参见图1,图1提供了一种性能测试方法的流程示意图。上述方法包括以下步骤S101-S105。
步骤S101:获得测试视频流的流地址。
其中,测试视频可以包括预先拍摄的现实场景的视频。通过预先在多个时间、地点对多种目标进行拍摄,得到多种预先拍摄的视频。当需要进行测试时,从上述预先拍摄的视频中选择用于进行测试的测试视频。测试视频流可以通过获得上述测试视频的流数据的方式得到。
下面对步骤S101的实现方式进行说明。
一种实现方式中,测试服务可以将测试视频传输给流媒体服务,流媒体服务可以基于指定的传输协议对上述测试视频进行循环推流并将生成的流地址返回到测试服务。这样,测试服务可以获得测试视频的流地址。其中,流媒体服务可以基于ffmpeg(FastForward Mpeg,一种多媒体视频处理工具)工具进行循环推流。指定的传输协议可以是rtmp(Real Time Messaging Protocol,实时消息传输协议)等。在流媒体服务进行循环推流的情况下,测试服务可以在性能测试结束后,指示流媒体服务结束循环推流。
另一种实现方式中,测试服务还可以使用视频处理工具,按照指定的传输协议对测试视频进行循环推流,并生成输出测试视频流的流地址,得到测试视频流的流地址。
步骤S101中获得的流地址的数量可以是一个也可以是多个,既可以获得同一测试视频的多个流地址,也可以针对同一测试视频获得一个流地址,本公开并不对此进行限定。
步骤S102:创建以上述流地址为视频流输出地址的虚拟摄像头。
其中,虚拟摄像头以流地址为视频流输出地址,这样,虚拟摄像头可以用于模拟在工作过程中持续输出视频流的真实摄像头。
一种实现方式中,测试服务可以创建摄像头对象,为摄像头对象配置摄像头的工作参数和物理参数,这样摄像头对象拥有摄像头的属性,另外,将上述流地址作为摄像头对象的视频流的输出地址,这样摄像头对象看似能够输出视频流了,综合以上,摄像头对象可以模拟摄像头进行视频采集并输出视频流的过程。鉴于上述情况,可以将上述完成参数配以以及地址配置后的摄像头对象称为虚拟摄像头。
步骤S102中创建的虚拟摄像头的数量可以是一个也可以是多个,测试服务可以基于获得的一个流地址创建一个虚拟摄像头,也可以基于获得的流地址中的一个流地址创建多个虚拟摄像头,本公开并不对此进行限定。
步骤S102的其它实现方式将在下文实施例中进行说明,这里暂不详述。
步骤S103:根据上述虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法。
其中,摄像头信息可以包括为虚拟摄像头预设的工作参数和物理参数信息,也可以包括根据上述测试视频获得的视频参数。例如,摄像头信息可以包括:虚拟摄像头的标识、虚拟摄像头的型号、虚拟摄像头的安装位置、虚拟摄像头的工作职能信息、虚拟摄像头采集的视频的分辨率、帧率、码率、虚拟摄像头的预设工作参数和物理参数、摄像头采集的视频的场景信息等。
下面对步骤S103的实现方式进行说明。
一种实现方式中,测试服务可以根据预设的摄像头信息与视频处理算法之间的对应关系、以及上述虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法。
由前面的描述可以看出,摄像头信息中可以包括多种信息,鉴于此,在选择目标算法过程中可以使用摄像头信息中的一种多种信息。
例如,摄像头信息中包括工作职能信息,其中,工作职能可以理解为摄像头所采集的视频的用途,如,车牌识别、行为识别等,这样可以基于预设的工作职能与视频处理算法之间的对应关系和上述虚拟摄像头的摄像头信息中记录的工作职能信息,从视频处理算法中选择目标算法。
再例如,摄像头信息中包括视频的分辨率和帧率,这样可以根据摄像头信息中包括的视频的分辨率、帧率和视频处理算法的输入视频条件,从视频处理算法中选择能够处理上述分辨率和帧率所属视频的目标算法。
步骤S103的其它实现方式将在下文实施例中进行说明,这里暂不详述。
步骤S104:创建使用目标算法对上述虚拟摄像头采集的视频进行视频处理的任务。
其中,进行视频处理的任务可以包括:目标拍摄、车辆识别、车辆行为检测、天气检测、水务监测、行为检测以及目标统计等,任务的具体内容依据应用场景确定,本公开并不对此进行限定。
一种实现方式中,测试服务可以根据目标算法的标识和上述流地址,创建使用目标算法对虚拟摄像头采集的视频进行视频处理的任务。其中,任务包括目标算法的标识和流地址,这样部署有目标算法的服务可以根据目标算法的标识确定需要调用的算法,根据流地址获得待处理的视频。
步骤S104中创建的任务的数量可以是一个也可以是多个。测试服务可以针对同一摄像头创建一个任务,也可以针对同一摄像头创建多种不同的任务。
步骤S104的其它实现方式将在下文实施例中进行说明,这里暂不详述。
步骤S105:指示部署有目标算法的服务执行上述任务,以对目标算法进行性能测试。
下面对步骤S105的实现方式进行说明。
一种实现方式中,在已创建针对相同虚拟摄像头的多种任务的情况下,测试服务可以指示部署有目标算法的服务执行多个任务,其中,上述任务是针对同一虚拟摄像头采集的视频进行视频处理的任务。具体的,上述部署有目标算法的服务可以使用多线程技术,针对同一虚拟摄像头执行多个任务,提高性能测试的效率,与实际应用场景更加接近。
另一种实现方式中,在已创建针对不同虚拟摄像头的同类任务的情况下,测试服务按照任务数量随时间递增的方式,指示部署有目标算法的服务执行上述任务,其中,同类任务为:针对相同视频处理算法的任务。可见,测试服务指示部署有目标算法的服务随时间提高针对相同视频处理算法的任务的数量,这样,可以实现对同一种视频处理算法的压力测试,可以测试视频处理算法在不同压力下的性能参数等信息,还可以测试视频处理算法能够承受的压力上限以及不同压力下视频处理算法对硬件资源的需求情况。
具体的,测试服务可以指示部署有目标算法的服务启动上述任务的实例,以对目标算法进行性能测试。
下面对任务数量增加的实现方式进行说明。
任务数量随时间递增的方式可以是阶梯型递增,也可以是线性递增,还可以是指数型递增等等。例如,测试服务可以在1秒到100秒的时间段内指示部署有目标算法的服务执行1个任务,在101秒到200秒的时间段内指示上述服务执行5个任务,在201秒到300秒的时间段内指示上述服务执行10个任务。测试服务也可以在300秒内以每10秒增加一个任务的速度指示上述服务执行的任务。
对目标算法进行性能测试可以包括:目标算法在不同设备上的资源消耗量、在不同设备上的运行速度、调用该目标算法的单一任务消耗的资源与任务数量之间的关系等。
其中,不同设备可以理解为设备的硬件型号不同的设备,例如,GPU型号不同的设备、CPU型号、芯片类型不同的设备等。
可见,本公开实施例提供的方案可以针对部署有视频处理算法的服务在不同设备类型、芯片类型、显卡类型的情况下,同时对多个视频处理算法在不同场景下的性能进行测试,不需要再针对每一个算法在每一个场景下的性能一一进行测试,提高对各视频处理算法进行性能测试的效率。
由以上可见,本公开实施例提供的方案中,创建能够输出视频流的虚拟摄像头,根据虚拟摄像头的信息,选择目标算法,创建使用目标算法的任务,并指示部署有目标算法的服务执行上述任务来对虚拟摄像头的视频进行处理,实现对目标算法的性能测试。这样,通过部署有视频处理算法的服务执行视频处理算法对应的任务,能够实现对各种视频处理算法进行性能测试,无需工作人员手动测试,从而提高对各视频处理算法进行性能测试的效率。
另外,在结束性能测试后,测试服务可以删除创建的虚拟摄像头、删除创建的任务,测试服务还可以指示上述部署有目标算法的服务删除产生的日志等,避免在生产环境或测试环境遗留测试数据。
本公开实施例提供的方案还可以以功能模块的形式接入到流水线,也就是上述功能模块接入流水线后,基于本公开实施例提供的方案工作,这样可以在流水线上配置针对上述功能模块的性能测试脚本。若需要进行性能测试,可以启动性能测试脚本指示上述功能模块进行性能测试,这样更加便于进行性能测试。
本公开的一个实施例中,参见图2,图2提供了另一种性能测试方法的流程示意图。上述方法包括以下步骤S201-S206,其中,步骤S102可以通过以下步骤S202-S203实现。
步骤S201:获得测试视频流的流地址。
步骤S202:获得实际场景中已布设摄像头和/或待布设摄像头的摄像头信息。
其中,上述实际场景中已布设摄像头可以包括实际中已经安装的摄像头,上述实际场景中待布设摄像头可以包括摄像头布局计划中待安装的摄像头。
下面对步骤S202的实现方式进行说明。
一种实现方式中,已布设的摄像头的摄像头信息可以预先录入到数据库中,若测试服务需要摄像头信息,可以从上述数据库中获得上述摄像头在实际场景中的摄像头信息。对于待布设的摄像头,可以将待布设摄像头的规划信息预先存储到数据库中,若测试服务需要摄像头信息,可以从数据库中获得预设的摄像头信息。
另一种实现方式中,测试服务可以根据已布设摄像头和/或待布设摄像头采集的视频的视频信息,获得摄像头信息,这种情况下摄像头信息可以包括虚拟摄像头采集的视频的分辨率、帧率、码率等信息。例如,从数据库中获得已布设摄像头采集的视频,并根据已采集的视频获得上述视频的分辨率、帧率、码率等信息。
步骤S203:根据所获得摄像头信息,创建以上述流地址为视频流输出地址的虚拟摄像头。
一种实现方式中,测试服务可以创建摄像头对象,为摄像头对象配置上述摄像头信息。将上述流地址作为摄像头对象的视频流的输出地址,这样摄像头对象可以模拟摄像头进行视频采集并输出视频流的过程。鉴于上述情况,可以将上述完成参数配以以及地址配置后的摄像头对象称为虚拟摄像头。配置有上述摄像头信息的虚拟摄像头能够模拟实际场景中的摄像头。
步骤S204:根据上述虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法。
步骤S205:创建使用目标算法对上述虚拟摄像头采集的视频进行视频处理的任务。
步骤S206:指示部署有目标算法的服务执行上述任务,以对目标算法进行性能测试。
其中,步骤S201与步骤S101相似,步骤S204与步骤S103相似,步骤S205与步骤S104相似,步骤S206与步骤S105相似,这里暂不详述。
由以上可见,创建虚拟摄像头的过程中结合实际场景中的摄像头的信息,使得到的虚拟摄像头可以更合理的模拟真实场景中的摄像头,使得性能测试的结果更加贴合实际的应用场景。
本公开的一个实施例中,上述摄像头信息包括:摄像头工作参数和/或摄像头所布设场景的场景信息。
一种情况下,摄像头工作参数和场景信息可以是预设的信息。另一种情况下,可以根据测试视频的拍摄场景,获得摄像头场景信息,根据测试视频的视频参数,获得摄像头工作参数。再一种情况下,可以根据实际场景中已布设摄像头和/或待布设摄像头预先存储的摄像头信息获得摄像头工作参数和场景信息。
例如,工作参数可以包括以下信息中的至少一项:
摄像头采集的视频的分辨率、帧率和码率,摄像头的硬件类型,摄像头的工作时间段等。
场景信息可以包括以下信息中的至少一项:
场景类型、场景的地理位置和场景的光照状态信息。
其中,场景类型可以包括摄像头采集的视频所表征的场景的类型,例如,学校正门、十字路口、高速路段、商场内部、停车场、小区内、楼道、工厂厂区以及景区等等。场景的地理位置为场景类型所属场景的地理位置,例如,可以通过经纬度坐标来表征场景的地理位置。场景的光照状态信息可以包括:摄像头采集的场景中的光照状态。例如,可以通过优、合格以及不佳来表征光照状态。例如:摄像头的场景为地下停车场,光线可能较暗,则光照状态信息为合格,若摄像头的场景为商场内,光照状态信息在商场开启期间为优,光照状态信息在商场关闭后为不佳。若摄像头的场景位于室外,则光照状态信息有可能在日出后、日落前为优,在日落后、日出前为不佳。若摄像头信息表明该摄像头具有红外拍摄功能,且摄像头在光照状态不佳的情况下可以切换到红外拍摄,那么光照状态信息可以为合格。这样,结合真实的、详细的场景信息,可以使得视频处理算法处理与更适合该算法的场景,使得视频处理算法的性能测试更加贴合实际的应用情况。
由以上可见,摄像头的信息结合了工作参数和场景信息,使得模拟摄像头的信息与真实摄像头的信息更加接近,基于更真实的虚拟摄像头进行的性能测试与现实场景更加贴近,提高性能测试的准确性。
下面对本公开实施例中选择目标算法的实现方式进行说明。
一种实现方式中,在摄像头信息包括工作参数和场景信息的情况下,步骤S103和步骤S204都可以通过以下步骤A-B实现。
其中,虚拟摄像头对应的场景信息和工作参数可以是预设的,也可以根据虚拟摄像头对应的测试视频获得的。
步骤A:根据虚拟摄像头对应的场景信息,确定虚拟摄像头对应布设场景的场景任务。
下面对步骤A的实现方式进行说明。
方式一
测试服务可以根据虚拟摄像头对应的场景信息,确定虚拟摄像头的工作场景,根据预先存储的工作场景与场景任务的对应关系,确定虚拟摄像头的场景任务。例如,测试服务根据场景信息确定虚拟摄像头的工作场景为十字路口,十字路口场景下的场景任务可以包括:车辆数量统计、车辆行为检测、行人行为检测、驾驶员行为检测以及人脸识别等。那么,可以确定上述十字路口场景下的场景任务中至少一种作为上述虚拟摄像头的场景任务。
方式二
在场景信息包括以下信息中的至少一项:场景类型、场景的地理位置和场景的光照状态信息的情况下,确定虚拟摄像头对应布设场景的场景任务。
下面根据上述场景类型、场景的地理位置或场景的光照状态信息对确定虚拟摄像头对应布设场景的场景任务的具体方式进行说明。
若场景信息包括场景类型,测试服务则可以根据虚拟摄像头的场景类型与场景任务的对应关系,确定虚拟摄像头的场景任务。例如,场景类型表明摄像头的场景为商场室内,预先设置的对应关系中记录了商场室内这一场景类型对应的场景任务包括人脸识别、人员行为检测等,这样,人脸识别、人员行为检测等可以作为该虚拟摄像头的场景任务。但是,天气识别、车辆识别等不符合场景类型的场景任务,不应该作为该摄像头的场景任务。
若场景信息包括场景的地理位置,测试服务可以根据场景信息中场景的地理位置,获得该虚拟摄像头所属区域的气候信息,并且场景信息表明该摄像头处于室外时,可以根据气候信息,确定该摄像头的场景任务。例如,测试服务可以根据气候信息,确定降雨检测、降雪检测、结霜检测以及沙尘检测等场景任务作为该虚拟摄像头的场景任务。
另外,场景的地理位置信息可以与摄像头信息中的其它信息结合,获得虚拟摄像头的拍摄角度,测试服务再根据拍摄角度,确定场景任务,例如,若拍摄的车辆大多为车辆的车尾,那么该虚拟摄像头的场景任务可以包括:车辆数量统计、车牌识别等。该虚拟摄像头的场景任务可以不包括:驾驶员行为识别等场景任务。
若场景信息包括场景的光照状态信息,测试服务还可以根据场景的光照状态信息,确定场景任务。例如,在光照状态信息不佳的情况下,可以选择对视频亮度、清晰程度要求较低的场景任务。
在场景信息包括场景类型和场景的地理位置的情况下,测试服务可以按照该上述两种确定虚拟摄像头对应布设场景的场景任务的方式,确定既符合场景类型与场景任务对应关系,又符合地理位置的场景任务。
在场景信息包括场景类型和场景的光照状态信息的情况下,测试服务可以按照该上述两种确定虚拟摄像头对应布设场景的场景任务的方式,确定既符合场景类型与场景任务对应关系,又适合在指定光照状态下工作的场景任务。
在场景信息包括场景的地理位置和场景的光照状态信息的情况下,测试服务可以按照该上述两种确定虚拟摄像头对应布设场景的场景任务的方式,确定既符合地理位置,又适合在指定光照状态下工作的场景任务。
另外,若摄像头信息是从实际场景中已布设摄像头和/或待布设摄像头的摄像头信息获得的,那么,也可以根据已布设摄像头和/或待布设摄像头的摄像头信息中的真实的场景信息,确定虚拟摄像头对应布设场景的场景任务。其中,确定场景任务的实现方式与上述实施例相似,这里不再详述。
步骤B:根据虚拟摄像头对应的摄像头工作参数,从视频处理算法中选择执行上述场景任务的目标算法。
下面对步骤B的实现方式进行说明。
一种方式中,由于不同硬件、不同型号的摄像头采集的视频可能不同,并且,不同的视频处理算法能够处理的视频的参数不同,例如,视频处理算法对视频的格式、视频的分辨率等存在要求。所以,选择出的视频处理算法的输入视频参数需要与虚拟摄像头对应的摄像头工作参数相同。或者,虚拟摄像头对应的摄像头工作参数位于选择出的视频处理算法的输入视频参数的适配范围内,将上述选择出的视频处理算法作为目标算法。
进一步的,测试服务还可以在按照上述方式选择出视频处理算法后,再根据场景信息,进一步从上述视频处理算法中选择与场景信息对应的目标算法。例如,在虚拟摄像头的场景信息表明该摄像头位于室外,且摄像头部署的地理区域降水较多,这种情况下,可以选择面对画面模糊,视线受阻的视频也可以有较好效果的目标算法。另外,也可以选择未知性能的目标算法,这样可以对目标算法的抗干扰能力、鲁棒性进行测试。可以根据实际的测试需求,选择目标算法。
由以上可见,根据场景信息确定虚拟摄像头的场景任务,在根据摄像头工作参数,选择执行场景任务的目标算法,可以将场景信息和任务相结合、将工作参数与目标算法相结合,对算法进行更贴合实际应用场景、更准确的测试。
本公开的另一个实施例中,在摄像头信息包括工作参数和场景信息的情况下,且步骤S103和步骤S204都通过上述步骤A-B实现,那么,步骤S104或步骤S205中,测试服务可以创建使用目标算法对虚拟摄像头采集的视频进行视频处理的场景任务。
本公开的一个实施例中,参见图3,图3提供了一种测试结果生成方法的流程示意图。上述方法包括以下步骤S301-S303。
步骤S301:向上述服务提供配置脚本。
其中,可以通过配置脚本,配置需要服务采集的进程信息、资源信息等,上述部署有目标算法的服务可以根据配置脚本确定需要采集的信息。例如,采集各个docker(一种开源应用容器引擎)容器的进程的信息、系统服务的进程的信息、GPU显存、GPU利用率等信息。
一种实现方式中,测试服务可以预先将配置脚本提供给上述服务。
另一种实现方式中,测试服务可以在性能测试的过程中,将配置脚本提供给上述服务。
步骤S302:指示上述服务在执行上述任务过程中按照配置脚本采集数据。
步骤S302可以在性能测试开始前执行,步骤S302也可以在性能测试过程中执行,本公开不限定步骤S302与其它步骤的执行顺序。
在性能测试结束后,测试服务还可以指示部署有目标算法的服务删除配置脚本,以及采集的相关数据和日志。
步骤S303:获得上述服务采集的数据,并根据所获得的数据,生成测试结果。
一种实现方式中,可以指示上述服务将采集的数据存储在服务中的预设的存储空间,若测试服务需要获得上述服务采集的数据,可以访问预设的存储空间获得上述数据
另外,可以依据所获得的数据,确定每一路虚拟摄像头占用的计算资源的信息、用于执行每一任务的服务占用的计算资源随时间变化的信息,并对所确定的信息进行展示。具体的,可以以图表的形式展示所确定的上述信息,也可以以折线图的形式展示所确定的上述信息。这样,可以直观的看到每一路摄像头占用的计算资源量,可以看到各个时间段有无服务占用计算资源异常的情况。
由以上可见,基于配置脚本采集测试数据,增加了服务采集测试数据的可控性,从而能够得到更加准确、与测试需求更加匹配的测试结果。
另一种实现方式中,对所获得的数据进行分析,获得以下信息项中至少一项,并基于所获得的信息项生成测试结果:
目标算法能够支持的最大摄像头路数,
目标算法的视频处理性能随摄像头数量变化的描述信息,
目标算法的计算资源消耗信息,
目标算法处理每一路摄像头所采集视频的稳定性描述信息。
一种实现方式中,可以根据采集的数据中针对每路摄像头输出的处理结果,分析得到目标算法在当前设备中针对一路摄像头采集的视频进行处理所消耗的计算资源信息,根据当前设备的总计算资源信息,计算得到目标算法在当前设备中能支持的最大摄像头路数。其中,当前设备可以理解为部署有目标算法,并在性能测试中执行使用目标算法的任务的设备。
另外,对于其它信息,测试服务可以根据采集到的数据中的各个服务挂载的日志路径,确定上述服务的日志,对日志进行统计计算得到目标算法的视频处理性能随摄像头数量变化的描述信息、目标算法的计算资源消耗信息和目标算法处理每一路摄像头所采集视频的稳定性描述信息。
其中,目标算法能够支持的最大摄像头路数可以表征该目标算法在当前设备中能够承受的计算压力极限。但是,最大摄像头路数也可以结合其它信息,对目标算法的性能进行判断,若该目标算法消耗的计算资源已经接近部署该目标算法的服务所属的设备的极限,那么,就有可能是设备性能限制了目标算法能够支持的最大摄像头路数。若在目标算法消耗的计算资源未接近部署该目标算法的服务所属的设备的极限的情况下,上述目标算法能够支持的最大摄像头路数有可能是目标算法真实的最大摄像头路数的承受极限。
目标算法的视频处理性能随摄像头数量变化的描述信息可以包括:部署有目标算法的服务针对每一路摄像头的视频进行处理后输出的视频的帧率、处理延迟。上述帧率、画面清晰度指标可以表征随这摄像头数量的变化,目标算法的视频处理性能是否发生了改变。
目标算法的计算资源消耗信息可以包括:目标算法占用的CPU资源信息、GPU资源信息、内存资源信息等,计算资源消耗信息可以直观的表明目标算法占用的计算资源。
目标算法处理每一路摄像头的视频的稳定性描述信息可以包括:目标算法处理后的摄像头采集的视频与未处理的摄像头采集的视频之间的时延、目标算法处理后的摄像头的视频的丢帧率。上述指标可以用于表征目标算法处理每一路摄像头的视频的稳定性。
这样,在多个方面、多个角度对目标算法的性能进行分析、可以得到更准确、更全面的性能测试结果。
本公开的一个实施例中,参见图4,图4提供了再一种性能测试方法的流程示意图。上述方法包括以下步骤S401-S409。
步骤S401:测试服务向流媒体服务传输测试视频。
步骤S402:测试服务获得测试视频流的流地址。
步骤S403:测试服务创建以上述流地址为视频流输出地址的虚拟摄像头。
步骤S404:测试服务根据上述虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法。
步骤S405:测试服务创建使用目标算法对上述虚拟摄像头采集的视频进行视频处理的任务。
步骤S406:测试服务指示部署有目标算法的服务执行上述任务,以对目标算法进行性能测试。
步骤S407:测试服务向上述服务提供配置脚本,指示上述服务在执行上述任务过程中按照配置脚本采集数据。
参见图4,图4中的部署有目标算法的服务中的视频处理流程1和视频处理流程2为例,配置脚本可以采集部署有目标算法的服务中的两种视频处理流程中各个服务的计算资源信息、服务资源信息以及参数。例如,非线性视频处理的服务资源信息、视频处理服务的服务资源信息、目标追随的输出视频的帧率指标和服务资源信息、策略流程的服务资源信息、相关算子的服务资源信息等。也可以获得部署有目标算法的服务所属设备的计算资源信息。
另外,上述服务可以将上述获得的数据存储到数据库中,以使得测试服务需要的时候可以从数据库中获得。
步骤S407在性能测试结束前执行,除此之外,本公开实施例不限定步骤S407与上述步骤S401-S406的执行顺序。
步骤S408:测试服务删除虚拟摄像头,删除任务,指示流媒体服务结束循环推流,指示部署有目标算法的服务删除配置脚本和产生的日志。
这样可以释放测试服务的系统资源,避免部署有目标算法的服务在生产环境或测试环境遗留测试数据。
步骤S409:测试服务获得上述服务采集的数据,并根据所获得的数据,生成测试结果。
其中,步骤S402与S101相似,步骤S403与S102相似,步骤S404与S103相似,步骤S405与S104相似,步骤S406与S105相似,步骤S407与S301-S302相似,步骤S409与S303相似,这里不再详述。
根据本公开的另一方面,参见图5,图5提供了一种性能测试装置的结构示意图。上述装置包括:
流地址获得模块501,用于获得测试视频流的流地址;
摄像头创建模块502,用于创建以上述流地址为视频流输出地址的虚拟摄像头;
目标算法选择模块503,用于根据上述虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法;
任务创建模块504,用于创建使用上述目标算法对上述虚拟摄像头采集的视频进行视频处理的任务;
第一服务指示模块505,用于指示部署有上述目标算法的服务执行上述任务,以对上述目标算法进行性能测试。
由以上可见,本公开实施例提供的方案中,创建能够输出视频流的虚拟摄像头,根据虚拟摄像头的信息,选择目标算法,创建使用目标算法的任务,并指示部署有目标算法的服务执行上述任务来对虚拟摄像头的视频进行处理,实现对目标算法的性能测试。这样,通过部署有视频处理算法的服务执行视频处理算法对应的任务,能够实现对各种视频处理算法进行性能测试,无需工作人员手动测试,从而提高了对各视频处理算法进行性能测试的效率。
本公开的一个实施例中,上述摄像头创建模块502,具体用于获得实际场景中已布设摄像头和/或待布设摄像头的摄像头信息;根据所获得摄像头信息,创建以上述流地址为视频流输出地址的虚拟摄像头。
由以上可见,创建虚拟摄像头的过程中结合实际场景中的摄像头的信息,使得得到的虚拟摄像头可以更合理的模拟真实场景中的摄像头,使得性能测试的结果更加贴合实际的应用场景。
本公开的一个实施例中,上述摄像头信息包括:摄像头工作参数和/或摄像头所布设场景的场景信息。
由以上可见,摄像头的信息结合了工作参数和场景信息,使得模拟摄像头的信息与真实摄像头的信息更加接近,基于更真实的虚拟摄像头进行的性能测试与现实场景更加贴近,提高性能测试的准确性。
本公开的一个实施例中,在上述摄像头信息包括工作参数和场景信息的情况下,上述目标算法选择模块,具体用于根据上述虚拟摄像头对应的场景信息,确定上述虚拟摄像头对应布设场景的场景任务;根据上述虚拟摄像头对应的摄像头工作参数,从视频处理算法中选择执行上述场景任务的目标算法。
由以上可见,根据场景信息确定虚拟摄像头的场景任务,在根据摄像头工作参数,选择执行场景任务的目标算法,可以将场景信息和任务相结合、将工作参数与目标算法相结合,对算法进行更贴合实际应用场景、更准确的测试。
本公开的一个实施例中,所述场景信息包括以下信息中的至少一项:
场景类型、场景的地理位置和场景的光照状态信息。
这样,结合真实的、详细的场景信息,可以使得视频处理算法处理与更适合该算法的场景,使得视频处理算法的性能测试更加贴合实际的应用情况。
本公开的一个实施例中,上述第一服务指示模块505,具体用于在已创建针对不同虚拟摄像头的同类任务的情况下,按照任务数量随时间递增的方式指示部署有所述目标算法的服务执行所述任务,其中,所述同类任务为:针对相同视频处理算法的任务。
可见,测试服务指示部署有目标算法的服务随时间提高针对相同视频处理算法的任务的数量,这样,可以实现对同一种视频处理算法的压力测试,可以测试视频处理算法在不同压力下的性能参数等信息,还可以测试视频处理算法能够承受的压力上限以及不同压力下视频处理算法对硬件资源的需求情况。
本公开的一个实施例中,上述装置还包括:
脚本提供模块,用于向上述服务提供配置脚本;
第二服务指示模块,用于指示上述服务在执行上述任务过程中按照上述配置脚本采集数据;
测试结果生成模块,用于获得上述服务采集的数据,并根据所获得的数据,生成测试结果。
由以上可见,基于配置脚本采集测试数据,增加了服务采集测试数据的可控性,从而能够得到更加准确、与测试需求更加匹配的测试结果。
本公开的一个实施例中,上述测试结果生成模块,具体用于对所获得的数据进行分析,获得以下信息项中至少一项,并基于所获得的信息项生成测试结果:
目标算法能够支持的最大摄像头路数;
目标算法的视频处理性能随摄像头数量变化的描述信息;
目标算法的计算资源消耗信息;
目标算法处理每一路摄像头所采集视频的稳定性描述信息。
这样,在多个方面、多个角度对目标算法的性能进行分析、可以得到更准确、更全面的性能测试结果。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
需要说明的是,本实施例中的二维人脸图像来自于公开数据集。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的再一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述性能测试方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述性能测试方法。
根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述性能测试方法。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如方法性能测试。例如,在一些实施例中,方法性能测试可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的方法性能测试的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法性能测试。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种性能测试方法,包括:
获得测试视频流的流地址;
创建以所述流地址为视频流输出地址的虚拟摄像头;
根据所述虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法;
创建使用所述目标算法对所述虚拟摄像头采集的视频进行视频处理的任务;
指示部署有所述目标算法的服务执行所述任务,以对所述目标算法进行性能测试。
2.根据权利要求1所述的方法,其中,所述创建以所述流地址为视频流输出地址的虚拟摄像头,包括:
获得实际场景中已布设摄像头和/或待布设摄像头的摄像头信息;
根据所获得摄像头信息,创建以所述流地址为视频流输出地址的虚拟摄像头。
3.根据权利要求1或2所述的方法,其中,
所述摄像头信息包括:摄像头工作参数和/或摄像头所布设场景的场景信息。
4.根据权利要求3所述的方法,其中,在所述摄像头信息包括工作参数和场景信息的情况下,所述根据所述虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法,包括:
根据所述虚拟摄像头对应的场景信息,确定所述虚拟摄像头对应布设场景的场景任务;
根据所述虚拟摄像头对应的摄像头工作参数,从视频处理算法中选择执行所述场景任务的目标算法。
5.根据权利要求3所述的方法,其中,
所述场景信息包括以下信息中的至少一项:
场景类型、场景的地理位置、场景的光照状态信息。
6.根据权利要求1或2所述的方法,其中,所述指示部署有所述目标算法的服务执行所述任务,包括:
在已创建针对不同虚拟摄像头的同类任务的情况下,按照任务数量随时间递增的方式指示部署有所述目标算法的服务执行所述任务,其中,所述同类任务为:针对相同视频处理算法的任务。
7.根据权利要求1或2所述的方法,所述方法还包括:
向所述服务提供配置脚本;
指示所述服务在执行所述任务过程中按照所述配置脚本采集数据;
获得所述服务采集的数据,并根据所获得的数据,生成测试结果。
8.根据权利要求7所述的方法,其中,所述根据所获得的数据,生成测试结果,包括:
对所获得的数据进行分析,获得以下信息项中至少一项,并基于所获得的信息项生成测试结果:
所述目标算法能够支持的最大摄像头路数;
所述目标算法的视频处理性能随摄像头数量变化的描述信息;
所述目标算法的计算资源消耗信息;
所述目标算法处理每一路摄像头所采集视频的稳定性描述信息。
9.一种性能测试装置,包括:
流地址获得模块,用于获得测试视频流的流地址;
摄像头创建模块,用于创建以所述流地址为视频流输出地址的虚拟摄像头;
目标算法选择模块,用于根据所述虚拟摄像头的摄像头信息,从视频处理算法中选择目标算法;
任务创建模块,用于创建使用所述目标算法对所述虚拟摄像头采集的视频进行视频处理的任务;
第一服务指示模块,用于指示部署有所述目标算法的服务执行所述任务,以对所述目标算法进行性能测试。
10.根据权利要求9所述的装置,其中,
所述摄像头创建模块,具体用于获得实际场景中已布设摄像头和/或待布设摄像头的摄像头信息;根据所获得摄像头信息,创建以所述流地址为视频流输出地址的虚拟摄像头。
11.根据权利要求9或10所述的装置,其中,
所述摄像头信息包括:摄像头工作参数和/或摄像头所布设场景的场景信息。
12.根据权利要求11所述的装置,其中,
在所述摄像头信息包括工作参数和场景信息的情况下,所述目标算法选择模块,具体用于根据所述虚拟摄像头对应的场景信息,确定所述虚拟摄像头对应布设场景的场景任务;根据所述虚拟摄像头对应的摄像头工作参数,从视频处理算法中选择执行所述场景任务的目标算法。
13.根据权利要求11所述的装置,其中,
所述场景信息包括以下信息中的至少一项:
场景类型、场景的地理位置和场景的光照状态信息。
14.根据权利要求9或10所述的装置,其中,
所述服务指示模块,具体用于在已创建针对不同虚拟摄像头的同类任务的情况下,按照任务数量随时间递增的方式指示部署有所述目标算法的服务执行所述任务,其中,所述同类任务为:针对相同视频处理算法的任务。
15.根据权利要求9或10所述的装置,所述装置还包括:
脚本提供模块,用于向所述服务提供配置脚本;
第二服务指示模块,用于指示所述服务在执行所述任务过程中按照所述配置脚本采集数据;
测试结果生成模块,用于获得所述服务采集的数据,并根据所获得的数据,生成测试结果。
16.根据权利要求15所述的装置,其中,
所述测试结果生成模块,具体用于对所获得的数据进行分析,获得以下信息项中至少一项,并基于所获得的信息项生成测试结果:
所述目标算法能够支持的最大摄像头路数;
所述目标算法的视频处理性能随摄像头数量变化的描述信息;
所述目标算法的计算资源消耗信息;
所述目标算法处理每一路摄像头所采集视频的稳定性描述信息。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310269079.7A CN116225877A (zh) | 2023-03-15 | 2023-03-15 | 一种性能测试方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310269079.7A CN116225877A (zh) | 2023-03-15 | 2023-03-15 | 一种性能测试方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116225877A true CN116225877A (zh) | 2023-06-06 |
Family
ID=86578610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310269079.7A Pending CN116225877A (zh) | 2023-03-15 | 2023-03-15 | 一种性能测试方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116225877A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116634208A (zh) * | 2023-07-26 | 2023-08-22 | 合肥英特灵达信息技术有限公司 | 一种业务算法调度方法、系统、装置、终端及存储介质 |
-
2023
- 2023-03-15 CN CN202310269079.7A patent/CN116225877A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116634208A (zh) * | 2023-07-26 | 2023-08-22 | 合肥英特灵达信息技术有限公司 | 一种业务算法调度方法、系统、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108830837B (zh) | 一种用于检测钢包溶蚀缺陷的方法和装置 | |
US20180096459A1 (en) | System, method, and apparatus for data processing and display | |
US20180372914A1 (en) | Local weather forecast | |
CN111177222A (zh) | 模型测试方法、装置及计算设备、存储介质 | |
CN112200077A (zh) | 基于智慧交通的人工智能图像处理方法及系统 | |
CN116225877A (zh) | 一种性能测试方法、装置、电子设备和存储介质 | |
CN113111825B (zh) | 施工监控方法和装置、电子设备和存储介质 | |
CN112699754B (zh) | 信号灯识别方法、装置、设备以及存储介质 | |
CN114627239B (zh) | 包围盒生成方法、装置、设备及存储介质 | |
CN110619807A (zh) | 生成全局热力图的方法和装置 | |
CN117094660A (zh) | 一种基于数字孪生技术的施工监控方法及系统 | |
CN113094325A (zh) | 设备部署方法、装置、计算机系统和计算机可读存储介质 | |
CN109712197B (zh) | 一种机场跑道网格化标定方法及系统 | |
CN111062970A (zh) | 一种基于热力图的轨迹生成方法及系统 | |
CN115453661B (zh) | 气象预报方法、装置、设备以及存储介质 | |
CN109469962A (zh) | 一种空调化霜方法、装置和存储介质 | |
CN114596362A (zh) | 一种高点摄像头坐标计算方法、装置、电子设备及介质 | |
CN116994122A (zh) | 建筑物拾取方法、装置、设备及存储介质 | |
CN113810665A (zh) | 视频处理方法、装置、设备、存储介质及产品 | |
JP6857696B2 (ja) | 決定装置、プログラム、システム、及び決定方法 | |
CN113362227A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN113078729A (zh) | 应用于变电站的操作检测方法、装置、电子设备及介质 | |
CN112750300A (zh) | 道路交叉路口的延误指标数据获取方法和装置 | |
CN113189890B (zh) | 无人机目标定位的仿真方法及装置 | |
CN111881240B (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 |