CN121438077A - 基于离线视频的算法验证方法、装置、设备及存储介质 - Google Patents
基于离线视频的算法验证方法、装置、设备及存储介质Info
- Publication number
- CN121438077A CN121438077A CN202511546240.6A CN202511546240A CN121438077A CN 121438077 A CN121438077 A CN 121438077A CN 202511546240 A CN202511546240 A CN 202511546240A CN 121438077 A CN121438077 A CN 121438077A
- Authority
- CN
- China
- Prior art keywords
- detection
- algorithm
- video
- verified
- offline video
- 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
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及一种基于离线视频的算法验证方法、装置、设备及存储介质。方法包括:响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频;其中,目标离线视频关联有预先配置的至少一个待验证检测算法和每个待验证检测算法各自对应的算法参数;并发开启待验证检测算法对目标离线视频的拉流等待;通过推流工具,将目标离线视频推流至流媒体服务器生成模拟实时视频流,使得各待验证检测算法拉取模拟实时视频流,并结合各自对应的算法参数执行检测,得到各自对应的检测结果;将待验证检测算法的检测结果实时传输至前端,以便在前端完成待验证检测算法的验证。采用本申请,可以有效解决传统抽帧检测的时序失真与多算法适配性差两大难题。
Description
技术领域
本申请涉及视觉检测技术领域,特别是涉及一种基于离线视频的算法验证方法、装置、设备及存储介质。
背景技术
在视觉检测领域,为降低检测算法(如目标检测、行为识别、异常事件检测)在线部署的风险,常需借助离线视频模拟真实场景,对算法的准确性、稳定性进行前置验证。当前主流的离线算法验证方案主要是抽帧检测,即对离线视频按固定间隔抽取帧图像,将抽帧图像输入算法完成验证。
但是这种验证方式存在一定不足:抽帧会破坏视频帧间的固定时间间隔与天然顺序,无法还原目标运动轨迹、速度变化等动态特征,导致算法对动态场景的检测结果与在线实时流场景偏差显著;不同检测算法对输入帧率、抽帧策略需求差异大,单一抽帧方案无法兼容多算法。
因此,亟需一种新的基于离线视频的算法验证方法。
发明内容
基于此,有必要针对上述技术问题,提供一种基于离线视频的算法验证方法、装置、计算机设备、计算机可读存储介质以及计算机程序产品,能够有效解决传统抽帧检测的时序失真与多算法适配性差两大核心痛点。
第一方面,本申请提供了一种基于离线视频的算法验证方法,包括:
响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频;其中,目标离线视频关联有预先配置的至少一个待验证检测算法和每个待验证检测算法各自对应的算法参数;
并发开启待验证检测算法对目标离线视频的拉流等待;
通过推流工具,将目标离线视频推流至流媒体服务器生成模拟实时视频流,使得各待验证检测算法拉取模拟实时视频流,并结合各自对应的算法参数执行检测,得到各自对应的检测结果;
将待验证检测算法的检测结果实时传输至前端,以便在前端完成待验证检测算法的验证。
第二方面,本申请提供了一种基于离线视频的算法验证装置,包括:
数据确定模块,用于响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频;其中,目标离线视频关联有预先配置的至少一个待验证检测算法和每个待验证检测算法各自对应的算法参数;
拉流等待模块,用于并发开启待验证检测算法对目标离线视频的拉流等待;
推流检测模块,用于通过推流工具,将目标离线视频推流至流媒体服务器生成模拟实时视频流,使得各待验证检测算法拉取模拟实时视频流,并结合各自对应的算法参数执行检测,得到各自对应的检测结果;
结果反馈模块,用于将待验证检测算法的检测结果实时传输至前端,以便在前端完成待验证检测算法的验证。
第三方面,本申请提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行该计算机程序时实现上述的方法中的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法中的步骤。
第五方面,本申请提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述的方法中的步骤。
上述基于离线视频的算法验证方法、装置、计算机设备、计算机可读存储介质以及计算机程序产品,目标离线视频预先关联每个待验证检测算法及其独立算法参数,为算法个性化处理提供配置依据;并发开启拉流等待确保所有算法同步就绪,避免因启动时差导致漏帧;通过推流工具将离线视频推流至流媒体服务器后生成的模拟实时视频流完整保留了帧的时序连续性与时间戳完整性;流媒体服务器可将同一模拟实时视频流分发至多个待验证检测算法,各待验证检测算法基于自身算法参数从流中提取所需帧,无需重复推流解码。
附图说明
图1为本申请实施例提供的一种基于离线视频的算法验证方法的应用环境图;
图2为本申请实施例提供的一种基于离线视频的算法验证方法的流程示意图;
图3为本申请实施例提供的一种基于离线视频的算法验证装置的结构框图;
图4为本申请实施例提供的一种计算机设备的内部结构图;
图5为本申请实施例提供的另一种计算机设备的内部结构图;
图6为本申请实施例提供的一种计算机可读存储介质的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的基于离线视频的算法验证方法,可以应用于如图1所示的应用环境中。其中,终端102通过通信网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备及便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,本申请实施例提供了一种基于离线视频的算法验证方法,以该方法应用于图1中的终端102或服务器104为例进行说明。可以理解的是,计算机设备可以包括终端和服务器中的至少一种。该方法包括以下步骤:
S201、响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频;其中,目标离线视频关联有预先配置的至少一个待验证检测算法和每个待验证检测算法各自对应的算法参数。
其中,算法验证定时任务是为控制基于离线视频算法验证的启动时机、避免资源过载而预设的调度触发机制(可周期性触发或事件性触发),核心作用是管控算法验证任务的启动节奏。检测状态为待检测是指目标离线视频处于未启动验证状态,是筛选可启动离线视频的核心依据,确保无重复检测或冲突检测。待验证检测算法是指预先为目标离线视频配置的、需通过该离线视频验证性能的检测算法集合(如目标检测算法、行为识别算法、异常事件检测算法),是验证的主体对象。算法参数是指为每个待验证检测算法单独配置的个性化性能参数(如感兴趣区域ROI和抽帧策略),确保不同算法可按自身需求执行检测。
在一些实施例中,业务端响应预设的验证调度触发信号(定时/手动产生),筛选处于待检测状态的目标离线视频,同步获取目标离线视频预先绑定的至少一个待验证检测算法及其专属算法参数,为后续多待验证检测算法并行检测提供包括检测对象(视频)、检测主体(算法)和检测规则(算法参数)在内的完整基础数据。
而在具体实现时,先配置算法验证定时任务,例如通过任务调度工具设置周期性触发规则,触发算法验证定时任务;算法验证定时任务启动后,访问检测视频表,执行查询语句,筛选检测状态为待检测的目标离线视频;进而,从检测视频表中读取目标离线视频绑定的至少一个待验证检测算法和每个待验证检测算法的算法参数;其中,检测视频表中至少存储有离线视频的检测状态、离线视频绑定的待验证检测算法及其算法参数。
本申请实施例通过定时任务与状态筛选,避免验证任务无序启动,保障系统资源稳定;通过预配置的算法与参数确保检测过程无参数缺失/错误,避免因配置问题导致的检测结果失真。
S202、并发开启待验证检测算法对目标离线视频的拉流等待。
其中,并发开启是指同时启动所有待验证检测算法的流接收准备流程,核心是保障多算法的同步就绪。拉流等待是指待验证检测算法与流媒体服务器建立连接前的就绪状态,此时算法已加载参数、初始化协议库,仅等待接收视频流,避免流推送后算法未就绪导致漏帧。
在一些实施例中,针对目标离线视频关联的所有待验证检测算法,业务端同时启动各自的流接收准备流程,使各待验证检测算法进入可即时拉取视频流的就绪状态,为后续同步接收模拟实时视频流、避免时序丢失奠定基础。
具体实现时,业务端可通过多线程/多进程机制,为每个待验证检测算法启动独立的进程/线程,避免单算法故障(如崩溃)影响其他算法;将目标视频关联的流媒体服务器的拉流地址传递给各算法进程/线程,待验证检测算法通过对应协议库向服务器发起连接请求,进入等待接收流状态。
本申请实施例中,还可以为拉流等待设置超时阈值(如15秒),若某待验证检测算法超时未进入拉流等待状态,则标记该待验证检测算法拉流准备失败,并记录错误日志,不影响其他算法继续等待。需要说明的是,针对存在待验证检测算法拉流准备失败情况,可触发预设的容错处理机制进行处理。
本申请实施例并发就绪确保所有待验证检测算法在流推送前同步待命,避免串行启动导致部分算法漏收初始帧,破坏视频流的时序连续性;而且并发方式可以缩短检测流程的准备阶段耗时,提高整体的检测效率。
S203、通过推流工具,将目标离线视频推流至流媒体服务器生成模拟实时视频流,使得各待验证检测算法拉取模拟实时视频流,并结合各自对应的算法参数执行检测,得到各自对应的检测结果。
其中,推流工具是用于将离线视频文件转换为符合流媒体协议的流数据,并推送至流媒体服务器的工具(例如FFmpeg),核心是实现离线视频文件到实时流的转换。模拟实时视频流是指保留离线视频原帧率、帧间时间间隔与时序顺序的流数据,其帧到达节奏与在线实时流完全一致,可还原动态场景特征。
在一些实施例中,业务端利用流转换工具将目标离线视频转换为保留实时时序特征的流数据,推送至流媒体服务器生成可共享的模拟实时视频流;各待验证算法从流媒体服务器拉取该流数据,并依据自身专属算法参数执行检测逻辑,实现一视频多算法并行检测。
具体实现时,推流工具可以从目标离线视频的存储路径,按照一定帧率读取目标离线视频并推送到流媒体服务器的指定接口;流媒体服务器可以实时监听该指定接口,并对通过该指定接口接收的推流数据进行解析,生成可被多待验证检测算法并发拉取的模拟实时视频流;各就绪的待验证检测算法按自身算法参数处理流数据,得到各自对应的检测结果;示例性的,目标检测算法全帧拉取模拟实时视频流,直接输入检测模型进行处理,输出目标坐标、类别与置信度等信息;行为识别算法从模拟实时视频流中每拉取2帧丢弃1帧,仅将有效帧输入行为模型进行处理,输出目标行为(如奔跑、跌倒);所有待验证检测算法均按ROI参数裁剪模拟实时视频流的视频帧,仅对感兴趣区域(如监控画面中的通道)执行检测,减少无效计算。
本申请实施例中,模拟实时视频流保留原离线视频的帧间时间间隔与顺序,解决传统抽帧检测破坏动态特征的核心缺陷,使检测结果贴近在线场景。各算法按专属算法参数处理流数据,突破单一抽帧方案无法兼容多算法的限制,实现一视频验证多算法,提升验证效率。流媒体服务器共享流数据,避免多算法重复解码离线视频,降低计算资源消耗。
S204、将待验证检测算法的检测结果实时传输至前端,以便在前端完成待验证检测算法的验证。
其中,检测结果实时传输是指业务端将算法检测过程中产生的结果即时传递至前端,而非检测结束后批量传输,核心是即时反馈。前端是用户上传、配置离线视频、展示检测结果与验证状态的用户交互界面。
在一些实施例中,在待验证算法执行检测的过程中,通过实时通信机制将检测结果即时传递至前端,通过界面可视化展示,供用户评估算法性能,最终完成算法验证判断。具体实现时,业务端通过长连接协议建立与前端的通信通道,待验证检测算法每生成一个检测结果,立即推送到前端;前端可视化展示检测结果时,可通过播放器同步播放目标离线视频,叠加检测结果标注(如用红色矩形框标记目标、文字标注类别与置信度)。验证评估时,可以对比前端展示的算法结果与人工标注的真值数据,计算核心指标(如行为识别的准确率),若指标达到预设阈值,则判定算法通过验证;反之则标记未通过并定位缺陷(如小目标漏检)。
可以理解的是,通过实时传输与展示结果,避免传统方案等待全流程结束才能查看结果的低效问题,用户可快速定位算法在特定场景的缺陷,缩短问题排查周期。
本申请实施例方案,目标离线视频预先关联每个待验证检测算法及其独立参数,为算法个性化处理提供配置依据;并发开启拉流等待确保所有算法同步就绪,避免因启动时差导致漏帧;通过推流工具将离线视频推流至流媒体服务器后生成的模拟实时视频流完整保留了帧的时序连续性与时间戳完整性;流媒体服务器可将同一模拟实时视频流分发至多个待验证检测算法,各待验证检测算法基于自身参数从流中提取所需帧,无需重复推流解码;而且由于检测结果是待验证检测算法基于模拟实时视频流生成,与在线场景高度一致,为检测算法在线部署提供可靠的前置评估依据,降低部署风险。
在一些实施例中,响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频之前,方法还包括:
响应于用户通过前端表单上传离线视频,将离线视频保存在预设视频存储路径,并将离线视频的检测状态配置为待检测;
响应于用户在前端为离线视频配置的待验证检测算法和待验证检测算法的算法参数,建立离线视频、待验证检测算法和算法参数之间的关联关系;其中,算法参数包括抽帧策略和感兴趣区域中的至少一种。
其中,前端表单上传是指用户通过前端界面的表单组件(含文件选择、提交按钮等)发起的离线视频文件传输操作,是用户向业务端输入离线视频的交互入口。预设视频存储路径用于存放上传离线视频的固定存储位置,确保视频文件管理的规范性与可追溯性。待验证检测算法是用户根据验证需求选定的、需通过当前离线视频测试性能的检测算法(如目标检测算法、行为识别算法),是验证的主体对象。算法参数是为每个待验证算法单独设置的性能调节参数,包括抽帧策略和感兴趣区域;其中,抽帧策略是指待验证检测算法从视频流中提取有效帧的规则;感兴趣区域ROI是待验证检测算法重点检测的画面区域。关联关系是指通过数据结构或数据库设计,将离线视频、待验证算法、算法参数三者绑定,确保检测时算法能精准获取自身参数。
具体的,前端页面通过文件选择组件提供离线视频选择功能,通过提交按钮组件提供离线视频上传功能,用户基于文件选择组件和提交按钮组件发起离线视频提交操作,前端将离线视频以数据提交请求的方式发送到业务端指定接口;业务端接收到包括离线视频的数据提交请求后,验证离线视频的合法性(例如验证离线视频的格式和大小);通过输入输出操作(即I/O操作)将离线视频文件存储至预设的存储位置;进而在检测视频表中插入一个用于记录新存储的离线视频相关信息的新纪录条目,其中,离线视频相关信息包括离线视频的状态(待检测)以及标识等数据,为后续配置与调度提供基础数据支撑。
前端还为已上传离线视频提供配置入口,展示可选择的待验证检测算法列表(如目标检测、行为识别、异常检测),用户勾选待验证检测算法后,针对每个算法显示算法参数表单,用户可以通过下拉选择的方式确定抽帧策略,通过视频预览画面的框选功能,确定感兴趣区域。用户确认配置后,前端将配置数据以预设数据格式提交至业务端接口。业务端对接收的配置数据进行解析,并在检测视频表中建立离线视频、待验证算法、算法参数之间的对应关系,如此使得每个待验证检测算法可按专属算法参数对目标视频执行验证,为后续差异化检测奠定基础。
本实施例支持为同一视频配置多种算法及专属算法参数,突破传统单一参数方案的局限性,满足多算法差异化验证需求。
在一些实施例中,并发开启待验证检测算法对目标离线视频的拉流等待之前,方法还包括:
将目标离线视频的检测状态由待检测调整为检测中,并记录检测开始时间。
其中,检测状态是业务端为离线视频定义的生命周期状态,是任务调度、用户查看进度的核心依据,检测状态包括待检测、检测中、检测失败和检测完成;检测开始时间是记录目标离线视频启动检测的具体时间戳,是后续计算检测耗时、追溯任务执行节点的时间基准。
具体的,在算法验证定时任务确定目标离线视频后、调用算法启动拉流等待前,由业务端发起状态更新请求,通过执行更新语句,在检测视频表定位目标离线视频,调整目标离线视频的状态字段(例如将目标离线视频的检测状态由待检测调整为检测中)并写入检测开始时间。将目标离线视频的检测状态调整为检测中,状态可被算法验证定时任务识别为非待检测,避免同一离线视频被多次启动验证,防止资源浪费。检测开始时间为后续分析检测耗时、算法效率提供精准时间基准,便于优化算法性能。
在一些实施例中,响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频,包括:
响应于算法验证定时任务的启动,遍历用户上传的所有离线视频当前的检测状态;
若当前处于检测中的离线视频的数量小于预设数量阈值,则确定预设数量阈值与当前处于检测中的离线视频的数量之间的差值;
从检测状态为待检测的所有离线视频中,选出数量小于差值的离线视频作为目标离线视频。
具体的,按照预设的周期性/手动触发的任务调度机制,启动算法验证定时任务,进而在检测视频表中对所有离线视频的当前状态进行全量扫描,获取待检测、检测中、检测失败、检测完成四类状态的视频数量与具体列表,是后续阈值判断与目标筛选的基础数据来源。进一步的,将当前处于检测中的离线视频数量与预设数量阈值进行比较;其中,预设数量阈值是预先配置的同时允许执行检测的最大离线视频数量,是控制系统资源负载的核心参数,避免多视频同时检测导致资源过载;如果当前处于检测中的离线视频的数量小于预设数量阈值,确定预设数量阈值与当前处于检测中的离线视频数量之间的差值;其中,差值表示当前正在执行验证的视频数量与预设数量阈值的差额,代表系统当前可新增启动检测的离线视频数量上限;从检测状态为待检测的所有离线视频中,随机选出或按照上传时间先后顺序选出数量小于差值的离线视频作为目标离线视频。如果当前处于检测中的离线视频数量不小于预设数量阈值,则结束本次的算法验证定时任务。
通过阈值控制,避免检测中视频数量超标;差值计算为按需启动检测提供依据,避免低负载时资源闲置、高负载时任务卡顿,平衡资源利用率与系统稳定性。
在一些实施例中,通过推流工具,将目标离线视频推流至流媒体服务器生成模拟实时视频流,包括:
根据推流参数,构建目标离线视频的推流指令;其中,推流参数至少包括目标离线视频的存储路径、视频标识、推拉流地址和原帧率;
响应于推流指令的执行,通过推流工具,将目标离线视频推流至流媒体服务器生成模拟实时视频流。
其中,目标离线视频的存储路径用于精准定位待推流的目标离线视频;视频标识是唯一标记该视频的标识,用于避免与其他视频流混淆;推拉流地址是流媒体服务器的流接收地址,既是推流目标地址,也是后续算法拉流的唯一入口;原帧率是离线视频的原始帧速率,是推流时还原实时时序的核心参数。推流指令是符合推流工具语法规则的可执行命令字符串,用于驱动推流工具完成目标离线视频到模拟实时视频流的转换与推送。模拟实时视频流是保留目标离线视频原帧率、帧间时间间隔与时序顺序的流数据,其帧到达节奏与在线实时流完全一致,可还原目标运动轨迹、速度等动态特征,解决传统抽帧检测的时序失真问题。流媒体服务器是接收推流工具推送的流数据并进行协议解析、流缓存与分发的服务器。
具体的,根据获取的目标离线视频对应的推流参数(存储路径、视频标识、推拉流地址、原帧率),按照推流工具的语法规范,将推流参数映射为结构化的可执行推流指令,确保指令能精准驱动工具按实时时序推送视频流。在生成推流指令后,还可以对推流指令进行合法性校验,例如通过语法检查工具或测试执行验证指令有效性(如检查路径是否存在、地址格式是否正确),若校验失败则返回参数错误提示。进一步的,响应于推流指令的执行,驱动推流工具根据目标离线视频的存储路径读取目标离线视频,并转换为流数据推送至流媒体服务器,流媒体服务器接收到推流工具推送的流数据后,解析流数据,生成可被多待验证检测算法并发拉取的模拟实时视频流。
本实施例中,生成的模拟实时视频流保留原视频的帧间时间间隔与顺序,还原目标动态特征,使待验证检测算法的检测结果与在线场景高度一致,突破传统抽帧检测的核心缺陷。
在一些实施例中,通过推流工具,将目标离线视频推流至流媒体服务器生成模拟实时视频流之后,方法还包括:
响应于目标离线视频的推流正常结束,则将目标离线视频的检测状态由检测中调整为检测完成,并记录检测结束时间;或者,
响应于目标离线视频的推流异常,则将目标离线视频的检测状态由检测中调整为检测失败。
具体的,可以根据推流工具的退出返回码确定目标离线视频的推流是正常结束,还是推流异常;或者,实时解析推流工具的输出日志,根据日志中包括的表征推流是否正常的关键词,确定目标离线视频的推流是正常结束,还是目标离线视频存在推流异常。进而,如果推流正常结束,则将目标离线视频的检测状态由检测中调整为检测完成,并记录检测结束时间;反之,则将目标离线视频的检测状态由检测中调整为检测失败,并结束对应的定时任务。通过及时更新目标离线视频的检测状态,避免出现推流已完成但检测状态仍为检测中的数据混乱,减少对后续定时任务执行的影响。
在一些实施例中,方法还包括:
针对检测状态为检测完成或检测失败的目标离线视频,响应于用户在前端为目标离线视频配置新的待验证检测算法或新的算法参数,更新目标离线视频、待验证检测算法和算法参数之间的关联关系,并将目标离线视频的检测状态由检测完成或检测失败调整为待检测。
其中,新的待验证检测算法指新增或替换前次的检测算法(如前次用目标检测算法,本次新增行为识别算法);新的算法参数可以是对已有待验证检测算法的算法参数进行修改后得到,也可以是新增待验证检测算法的算法参数。
具体的,针对状态为检测完成或检测失败的目标离线视频,响应用户在前端发起的新增/替换待验证检测算法或修改已有待验证检测算法参数的操作,业务端先验证配置的合法性,再更新离线视频、待验证检测算法和算法参数之间的关联关系,最后将目标离线视频状态重置为待检测,使其具备重新参与定时任务调度、启动新一次验证的条件。
本实施例无需用户重新上传离线视频(尤其大视频文件),仅需更新算法或参数即可启动新验证,节省上传时间与存储资源(避免重复存储同一视频),解决传统方案重新验证需重新上传的痛点。
在一些实施例中,将待验证检测算法的检测结果实时传输至前端,包括:
通过WebSocket的交互方式,将待验证检测算法的检测结果实时传输至前端。
其中,WebSocket的交互方式是基于HTML5标准的全双工(双向实时)通信协议,其核心特征是一次TCP连接建立后,前端与业务端可持续双向传输数据,无需反复发起连接请求。
本实施例通过建立前端(用户交互端)与业务端的WebSocket长连接,业务端实时捕获待验证检测算法生成的检测结果,以结构化格式通过已建立的长连接主动推送至前端;前端接收检测结果数据后即时解析,通过可视化方式呈现结果,实现算法检测、结果传输、前端展示的实时闭环,支撑用户对算法性能的即时评估。
应该理解的是,虽然如上述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种基于离线视频的算法验证装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于离线视频的算法验证装置实施例中的具体限定可以参见上文中对于基于离线视频的算法验证方法的限定,在此不再赘述。
如图3所示,本申请实施例提供了一种基于离线视频的算法验证装置300,包括:
数据确定模块301,用于响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频;其中,目标离线视频关联有预先配置的至少一个待验证检测算法和每个待验证检测算法各自对应的算法参数;
拉流等待模块302,用于并发开启待验证检测算法对目标离线视频的拉流等待;
推流检测模块303,用于通过推流工具,将目标离线视频推流至流媒体服务器生成模拟实时视频流,使得各待验证检测算法拉取模拟实时视频流,并结合各自对应的算法参数执行检测,得到各自对应的检测结果;
结果反馈模块304,用于将待验证检测算法的检测结果实时传输至前端,以便在前端完成待验证检测算法的验证。
在一些实施例中,基于离线视频的算法验证装置还包括:
第一配置模块,用于响应于用户通过前端表单上传离线视频,将离线视频保存在预设视频存储路径,并将离线视频的检测状态配置为待检测;
第二配置模块,用于响应于用户在前端为离线视频配置的待验证检测算法和待验证检测算法的算法参数,建立离线视频、待验证检测算法和算法参数之间的关联关系;其中,算法参数包括抽帧策略和感兴趣区域中的至少一种。
在一些实施例中,基于离线视频的算法验证装置还包括:
第一状态修改模块,用于将目标离线视频的检测状态由待检测调整为检测中,并记录检测开始时间;其中,检测状态包括待检测、检测中、检测失败和检测完成;
在响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频方面,数据确定模块301具体用于:
响应于算法验证定时任务的启动,遍历用户上传的所有离线视频当前的检测状态;
若当前处于检测中的离线视频的数量小于预设数量阈值,则确定预设数量阈值与当前处于检测中的离线视频的数量之间的差值;
从检测状态为待检测的所有离线视频中,选出数量小于差值的离线视频作为目标离线视频。
在一些实施例中,在通过推流工具,将目标离线视频推流至流媒体服务器生成模拟实时视频流方面,推流检测模块303具体用于:
根据推流参数,构建目标离线视频的推流指令;其中,推流参数至少包括目标离线视频的存储路径、视频标识、推拉流地址和原帧率;
响应于推流指令的执行,通过推流工具,将目标离线视频推流至流媒体服务器生成模拟实时视频流。
在一些实施例中,基于离线视频的算法验证装置还包括:
第二状态修改模块,用于响应于目标离线视频的推流正常结束,则将目标离线视频的检测状态由检测中调整为检测完成,并记录检测结束时间;或者,
第三状态修改模块,用于响应于目标离线视频的推流异常,则将目标离线视频的检测状态由检测中调整为检测失败。
在一些实施例中,基于离线视频的算法验证装置还包括:
重复配置模块,用于针对检测状态为检测完成或检测失败的目标离线视频,响应于用户在前端为目标离线视频配置新的待验证检测算法或新的算法参数,更新目标离线视频、待验证检测算法和算法参数之间的关联关系,并将目标离线视频的检测状态由检测完成或检测失败调整为待检测。
在一些实施例中,在将待验证检测算法的检测结果实时传输至前端方面,结果反馈模块304具体用于:
通过WebSocket的交互方式,将待验证检测算法的检测结果实时传输至前端。
上述基于离线视频的算法验证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于或独立于计算机设备中的处理器,也可以以软件形式存储于计算机设备中的存储器,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)及通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储实现基于离线视频的算法验证方法相关的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的基于离线视频的算法验证方法中的步骤。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元及输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现上述的基于离线视频的算法验证方法中的步骤。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏;该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4或图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,如图6所示提供了一种计算机可读存储介质的内部结构图,计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(FerroelectricRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandom Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于离线视频的算法验证方法,其特征在于,包括:
响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频;其中,所述目标离线视频关联有预先配置的至少一个待验证检测算法和每个所述待验证检测算法各自对应的算法参数;
并发开启所述待验证检测算法对所述目标离线视频的拉流等待;
通过推流工具,将所述目标离线视频推流至流媒体服务器生成模拟实时视频流,使得各所述待验证检测算法拉取所述模拟实时视频流,并结合各自对应的算法参数执行检测,得到各自对应的检测结果;
将所述待验证检测算法的检测结果实时传输至前端,以便在所述前端完成所述待验证检测算法的验证。
2.根据权利要求1所述的方法,其特征在于,所述响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频之前,所述方法还包括:
响应于用户通过前端表单上传离线视频,将所述离线视频保存在预设视频存储路径,并将所述离线视频的检测状态配置为待检测;
响应于用户在所述前端为所述离线视频配置的待验证检测算法和所述待验证检测算法的算法参数,建立所述离线视频、所述待验证检测算法和所述算法参数之间的关联关系;其中,所述算法参数包括抽帧策略和感兴趣区域中的至少一种。
3.根据权利要求1所述的方法,其特征在于,所述并发开启所述待验证检测算法对所述目标离线视频的拉流等待之前,所述方法还包括:
将所述目标离线视频的检测状态由待检测调整为检测中,并记录检测开始时间;其中,所述检测状态包括待检测、检测中、检测失败和检测完成;
所述响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频,包括:
响应于算法验证定时任务的启动,遍历用户上传的所有离线视频当前的检测状态;
若当前处于检测中的离线视频的数量小于预设数量阈值,则确定所述预设数量阈值与所述当前处于检测中的离线视频的数量之间的差值;
从检测状态为待检测的所有离线视频中,选出数量小于所述差值的离线视频作为目标离线视频。
4.根据权利要求1所述的方法,其特征在于,所述通过推流工具,将所述目标离线视频推流至流媒体服务器生成模拟实时视频流,包括:
根据推流参数,构建所述目标离线视频的推流指令;其中,所述推流参数至少包括所述目标离线视频的存储路径、视频标识、推拉流地址和原帧率;
响应于所述推流指令的执行,通过推流工具,将所述目标离线视频推流至流媒体服务器生成模拟实时视频流。
5.根据权利要求1所述的方法,其特征在于,所述通过推流工具,将所述目标离线视频推流至流媒体服务器生成模拟实时视频流之后,所述方法还包括:
响应于所述目标离线视频的推流正常结束,则将所述目标离线视频的检测状态由检测中调整为检测完成,并记录检测结束时间;或者,
响应于所述目标离线视频的推流异常,则将所述目标离线视频的检测状态由检测中调整为检测失败。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
针对检测状态为检测完成或检测失败的目标离线视频,响应于用户在所述前端为所述目标离线视频配置新的待验证检测算法或新的算法参数,更新所述目标离线视频、所述待验证检测算法和所述算法参数之间的关联关系,并将所述目标离线视频的检测状态由检测完成或检测失败调整为待检测。
7.根据权利要求1所述的方法,其特征在于,所述将所述待验证检测算法的检测结果实时传输至前端,包括:
通过WebSocket的交互方式,将所述待验证检测算法的检测结果实时传输至前端。
8.一种基于离线视频的算法验证装置,其特征在于,包括:
数据确定模块,用于响应于算法验证定时任务的启动,确定检测状态为待检测的目标离线视频;其中,所述目标离线视频关联有预先配置的至少一个待验证检测算法和每个所述待验证检测算法各自对应的算法参数;
拉流等待模块,用于并发开启所述待验证检测算法对所述目标离线视频的拉流等待;
推流检测模块,用于通过推流工具,将所述目标离线视频推流至流媒体服务器生成模拟实时视频流,使得各所述待验证检测算法拉取所述模拟实时视频流,并结合各自对应的算法参数执行检测,得到各自对应的检测结果;
结果反馈模块,用于将所述待验证检测算法的检测结果实时传输至前端,以便在所述前端完成所述待验证检测算法的验证。
9.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511546240.6A CN121438077A (zh) | 2025-10-28 | 2025-10-28 | 基于离线视频的算法验证方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511546240.6A CN121438077A (zh) | 2025-10-28 | 2025-10-28 | 基于离线视频的算法验证方法、装置、设备及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN121438077A true CN121438077A (zh) | 2026-01-30 |
Family
ID=98534494
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202511546240.6A Pending CN121438077A (zh) | 2025-10-28 | 2025-10-28 | 基于离线视频的算法验证方法、装置、设备及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN121438077A (zh) |
-
2025
- 2025-10-28 CN CN202511546240.6A patent/CN121438077A/zh active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10657032B2 (en) | Systems and methods for monitoring performance of applications | |
| US20240269549A1 (en) | Systems and methods for measuring input latency for cloud gaming applications | |
| CN111858318B (zh) | 一种响应时间的测试方法、装置、设备和计算机存储介质 | |
| CN112203042B (zh) | 一种云桌面操作响应时间测试方法、系统、设备及介质 | |
| US12161942B2 (en) | Videogame telemetry data and game asset tracker for session recordings | |
| WO2024119471A1 (zh) | 算法测试方法及算法测试平台、计算机可读存储介质 | |
| CN110489379A (zh) | 飞行器试飞综合显示及数据分析评估平台 | |
| CN113535535A (zh) | 游戏服务器的测试方法、装置、系统和计算机存储介质 | |
| CN121438077A (zh) | 基于离线视频的算法验证方法、装置、设备及存储介质 | |
| CN119848129A (zh) | 业务数据的处理方法和装置、存储介质及电子设备 | |
| CN119396367A (zh) | 数据库切换方法、装置、计算机设备、可读存储介质和程序产品 | |
| CN116358899B (zh) | 一种自动驾驶事件测试方法、系统、设备和介质 | |
| CN110569184A (zh) | 一种测试方法及终端设备 | |
| CN117453529A (zh) | 一种基于元宇宙的自动化测试方法及系统 | |
| CN103139610A (zh) | 集群视频同步播放的方法和装置 | |
| CN115643431A (zh) | 请求处理方法、装置、计算机设备及存储介质 | |
| CN114510412A (zh) | 用例生成方法、装置和计算机可读存储介质及电子设备 | |
| CN120091126B (zh) | 基于深度神经网络与分布式计算的app响应时间分析方法 | |
| CN116028376B (zh) | 基于流量录制快速生成接口自动化用例的方法 | |
| CN120002670B (zh) | 控制指令响应方法、装置、计算机设备和存储介质 | |
| CN119026051B (zh) | 电力领域的系统分析方法、装置、计算机设备、可读存储介质和程序产品 | |
| JP7649416B1 (ja) | プログラム、情報処理装置、及び方法 | |
| CN117950983A (zh) | 用户界面测试方法、装置、电子设备和存储介质 | |
| CN120956848A (zh) | 回溯方法、装置、计算机设备、可读存储介质和程序产品 | |
| US10091291B2 (en) | Synchronizing a source, response and comment presentation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication |