CN112686109A - 离线视频文件的提取方法、装置、电子设备及存储介质 - Google Patents
离线视频文件的提取方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112686109A CN112686109A CN202011534498.1A CN202011534498A CN112686109A CN 112686109 A CN112686109 A CN 112686109A CN 202011534498 A CN202011534498 A CN 202011534498A CN 112686109 A CN112686109 A CN 112686109A
- Authority
- CN
- China
- Prior art keywords
- video file
- offline video
- image
- thread
- extracting
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000000605 extraction Methods 0.000 claims abstract description 140
- 238000001514 detection method Methods 0.000 claims abstract description 84
- 230000007958 sleep Effects 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 13
- 230000006266 hibernation Effects 0.000 claims description 10
- 230000005059 dormancy Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 abstract description 22
- 238000013135 deep learning Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 230000004617 sleep duration Effects 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000019371 dormancy process Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本公开提出了一种离线视频文件的提取方法、装置、电子设备以及可读存储介质,涉及图像处理技术领域,尤其涉及计算机视觉、深度学习及云平台技术领域,具体实现方案为获取所述离线视频文件的第一帧率,以及所述离线视频文件的目标检测线程所允许的最大检测帧率;基于所述第一帧率和所述最大检测帧率,配置所述离线视频文件的读取速度;启动图像提取线程,并由所述图像提取线程,基于所述读取速度从所述离线视频文件中提取图像帧。本公开中可以基于最大检测帧率,灵活地配置离线视频文件的读取速度,使得离线视频文件的读取速度与硬件资源相关,进而能够对硬件资源合理分配的目的。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及计算机视觉、深度学习及云平台技术领域。
背景技术
针对视频的目标检测,主要有两类输入源,一种是实时视频流,另一种是离线视频文件。离线视频文件是摄像头之前录制或其他方式产生的视频文件。
在对离线视频文件进行目标检测时,首先需要提取出离线视频文件中的图像帧,再对图像帧进行目标检测。如何从离线视频文件中提取图像帧是关注的热点问题。
发明内容
本公开提供了一种用于离线视频文件的提取方法、装置、电子设备以及存储介质、计算机程序产品。
根据本公开的一方面,提出了一种离线视频文件的提取方法,包括获取所述离线视频文件的第一帧率,以及所述离线视频文件的目标检测线程所允许的最大检测帧率;基于所述第一帧率和所述最大检测帧率,配置所述离线视频文件的读取速度;启动图像提取线程,并由所述图像提取线程,基于所述读取速度从所述离线视频文件中提取图像帧。
根据本公开的第二方面,提出了一种离线视频文件的提取装置,包括获取模块,用于获取所述离线视频文件的第一帧率,以及所述离线视频文件的目标检测线程所允许的最大检测帧率;配置模块,用于基于所述第一帧率和所述最大检测帧率,配置所述离线视频文件的读取速度;提取模块,用于启动图像提取线程,并由所述图像提取线程,基于所述读取速度从所述离线视频文件中提取图像帧。
根据本公开的第三方面,提出了一种电子设备,其中,电子设备包括处理器和存储器;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述实施例提出的离线视频提取方法中任一的离线视频文件的提取方法。
根据本公开的第四方面,提出了一种计算机可读存储介质,其上存储有计算机程序,包括该程序被处理器执行时实现如上述实施例提出的离线视频提取方法中任一的提取方法。计算机程序产品,包括当所述计算机程序产品中的指令处理器执行时实现如上述第一方面提出的离线视频提取方法中任一的提取方法。
根据本公开的第五方面,提出了一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令处理器执行时实现如上述方面提出的离线视频文件的提取方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开一实施例的离线视频文件提取方法的流程示意图;
图2是根据本公开另一实施例的离线视频文件提取方法的流程示意图;
图3是根据本公开另一实施例的离线视频文件提取方法的流程示意图;
图4是根据本公开另一实施例的离线视频文件提取方法的流程示意图;
图5是根据本公开一实施例的目标检测方法的流程示意图;
图6是根据本公开一实施例的离线视频文件提取装置的框图;
图7是根据本公开另一实施例的离线视频文件提取装置的框图;
图8是根据本公开一实施例的电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图像处理(Image Processing),用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。
深度学习(Deep Learning,简称DL),是机器学习(Machine Learning,简称ML)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能。深度学习是学习样本数据的内在律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
计算机视觉(Computer Vision),是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。这里所指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。
云平台(Cloud Computing Platform)是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力。云计算平台可以划分为三类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。
图1是根据本公开第一实施例的离线视频文件提取方法的流程示意图,详细步骤包括:
S101,获取离线视频文件的第一帧率,以及离线视频文件的目标检测线程所允许的最大检测帧率。
本公开实施例中,设置两个线程,其中一个线程用于从离线视频文件中提取图像帧,可以称为图像提取线程,另一个线程对图像帧进行目标检测,可以称为目标检测线程。
本公开实施例中,从离线视频文件的配置信息中可以提取到第一帧率。可选地,先获取用于对离线视频文件中图像中的目标进行检测的检测设备的设备参数,从该设备参数中可以获取到目标检测线程的最大检测帧率。在一些实现中,可以根据离线视频文件的配置信息中检测设备的标识,基于该标识可以获取到检测设备的设备参数,进而从该设备参数中可以获取到目标检测线程的最大检测帧率。
S102,基于第一帧率和最大检测帧率,配置离线视频文件的读取速度。
可选地,基于离线视频文件的第一帧率和最大检测帧率,确定离线视频文件的读取倍速配置范围,在读取倍数配置范围内,对读取速度进行配置。
本公开实施例中,离线视频文件的读取速度需限定在目标检测线程的最大检测速度范围内。根据目标离线视频文件的第一帧率和最大检测帧率,计算可知目标检测线程的最大检测速度。假设离线视频文件的第一帧率为q,目标检测线程的最大检测帧率为w,则离线视频文件的最大读取速度的配置倍数为r=w/q。可选地,可以在0~r之间选取一个值,作为用于配置读取速度的倍数值。
需要说明的是,离线视频文件的基础速度为A,配置离线视频文件的读取速度,可以通过倍数值进行配置,在倍数值为j时,若j≤r,则读取速度为jA,若j>r,则读取速度依然为rA,其中rA为允许的最大读取速度。
S103,启动图像提取线程,并由图像提取线程,基于读取速度从离线视频文件中提取图像帧。
在配置了离线视频文件的读取速度后,可以启动图像提取线程,该图像提取线程按照配置的读取速度,从离线视频文件中提取图像帧。
可选地,离线视频文件的格式可以包括以下格式:动态图像专家组(MmovingPicture Experts Ggroup,MPEG)标准的格式(如mp4)、音频视频交错格式(Audio VideoInterleaved,AVI)、流媒体格式(Flash Video,FLV)等,首先根据对离线视频文件的封装格式进行解封装操作,得到一帧编码图像数据,进而将读取到的编码图像数据送入解码器进行解码,得到基于颜色编码的YUV格式的图像帧,其中,“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma)。
需要说明的是,目标检测线程采用了深度学习框架进行目标检测,深度学习框架一般都需要色彩模式的帧数据,其中色彩模式可以为ARGB或者BGRA,其中,“A”代表透明度(Alpha)、“R”代表红色(Red)、“G”代表绿色(Green)、“B”代表蓝色(Blue)。因此,本公开需要将解码出YUV格式的图像帧送入颜色空间进行转换,以获取到ARGB或者BGRA格式的图像帧。
可选地,在获取到提取的图像帧后,需要将提取的图像帧缓存至缓冲区,以便于目标检测线程从缓冲区中读取提取图像帧进行目标检测。
本公开提出的离线视频文件的提取方法,获取离线视频文件的第一帧率,以及离线视频文件的目标检测线程所允许的最大检测帧率,基于第一帧率和最大检测帧率,配置离线视频文件的读取速度,启动图像提取线程,并由图像提取线程,基于该读取速度从离线视频文件中提取图像帧。本公开中基于离线视频文件的第一帧率和最大检测帧率设置离线视频文件的读取速度,由于考虑目标检测线程所允许的最大检测帧率,其中该最大检测帧率往往是由目标检测设备的硬件资源确定的,在本公开中可以基于最大检测帧率,灵活地配置离线视频文件的读取速度,使得离线视频文件的读取速度与硬件资源相关,进而能够对硬件资源合理分配的目的。并且基于读取速度可以预知一个离线视频文件完成目标检测所需的时间,即使在不同服务器上,可以通过配置读取速度,使得同一视频文件在不同服务器上可以具有同样处理时间的效果。
为进一步理解上述实施例所述的,图像提取线程基于离线视频文件的读取速度提取图像帧的过程中,如图2所示,图2是根据本公开第二实施例的离线视频文件提取方法的流程示意图,详细步骤如下:
S201,在图像提取线程提取过程中,识别离线视频文件的首个图像帧,并获取首个图像帧对应的第一时间参数。
实现中,离线视频文件中的首个图像帧会携带一个视频起始标识,基于这个起始标识可以确定出图像是否为图像帧。
离线视频文件中的每个图像帧中会携带一个时间戳,该时间戳为图像帧在离线视频文件中的播放时刻。
本公开实施例中,在图像提取线程提取过程中,当识别到首个图像帧,可以记录首个图像帧的第一时间戳,以及提取首个图像帧时的第一系统时间。进一步地,将第一时间戳和第一系统时间,作为首个图像帧对应的第一时间参数。
S202,获取当前提取的目标图像帧的第二时间参数。
图像提取线程不断地从离线视频文件中提取图像帧,本公开实施例中,将当前提取的图像帧,称为目标图像帧。与首个图像帧的第一时间参数类似,可以获取到目标图像帧的第二时间参数,即目标图像帧的第二时间戳和第二系统时间,其中第二系统时间为当前提取目标图像帧的时刻。
S203,基于第一时间参数和第二时间参数,判断图像提取线程是否需要进入休眠状态。
本公开实施例中,第二系统时间和第一系统时间之间的第一时间差,第二时间戳和第一时间戳之间的第二时间差。进一步地,根据第一时间差和第二时间差的大小关系可判断目标图像帧是否在当前时刻进行缓存处理。
当第二时间差小于或者等于第一时间差时,说明此时提取的目标帧图像的当前提取时间等于或者晚于第二时间戳,此时目标离线视频文件的读取速度并未不会对缓存区造成负担,则可以继续利用图像提取线程继续提取图像帧,也就是说,图像提取线程无需进入休眠状态,并且可以直接将目标图像帧缓存至缓存区。
当第二时间差大于第一时间差,说明此时提取的目标图像帧的提取时间早于第二时间戳,目标离线视频文件的当前读取速度较快,若继续保持图像提取线程处于工作状态,则可能会对缓存区造成拥堵。
本公开实施例中,为图像提取线程设置休眠机制,通过该休眠机制进一步来平衡该线程读取速度,在提取速度较快时使图像提取线程进入休眠状态,这样可以暂停提取图像帧,相应地降低了读取速度,而且由于图像提取线程进入休眠状态,则会暂停目标图像帧缓存至缓存区,从而可以降低缓存区的压力。
为进一步理解上述实施例所述的,图3是根据本公开第三实施例的离线视频文件提取方法的流程示意图,该离线视频文件提取方法包括以下步骤:
S301,在图像提取线程提取过程中,识别离线视频文件的首个图像帧,并获取首个图像帧对应的第一时间参数。
S302,获取当前提取的目标图像帧的第二时间参数。
S303,获取第二系统时间和第一系统时间之间的第一时间差,以及第二时间戳和第一时间戳之间的第二时间差。
S304,响应于第二时间差小于或者等于第一时间差,则确定图像提取线程无需进入休眠状态。
步骤S301~S304的具体介绍可参见上述实施例相关内容的记载,此处不再赘述。
S305,将目标图像帧缓存至缓存区。
本公开实施例中,缓存区的容量已设定为固定大小,根据目标图像帧之前缓存入缓存区的视频帧的大小和处理速度,可获取缓存区的剩余容量,以判断目标图像帧是否可以进入缓存区。
若缓存区域的剩余容量小于目标图像帧的数据量,则等待预设时长后进行缓存。
本公开实施例中,已设定线程中目标图像帧在等待状态下的等待时长,线程根据已设定的等待时长作为循环扫描的时间间隔,不间断的获取缓存区的剩余容量。
S306,响应于第二时间差大于第一时间差,则确定图像提取线程需要进入休眠状态。
步骤S306的具体介绍可参见上述实施例相关内容的记载,此处不再赘述。
S307,获取第二时间差与第一时间差之间的差值,将差值作为图像提取线程的休眠时长。
本公开实施例中,目标提取线程进入休眠状态后,目标图像帧处于等待状态,基于第一时间差和第二时间差的差值,确认线程休眠时长,通过两个时间差的差值来确定休眠时长,并非设置的固定休眠时长,可以根据图像帧提取过程的快慢,动态地调整图像提取线程的休眠时长,使得图像提取线程的休眠时长与图像帧提取过程紧密相关。
S308,按照休眠时长休眠图像提取线程,其中,图像提取线程休眠过程中停止对目标图像帧的缓存。
在确定了休眠时长后,图像提取线程就会进入休眠,即停止继续从离线视频文件中提取后续图像帧。而且由于图像提取线程处于休眠过程,则会停止对目标图像帧的缓存,即不将目标图像帧缓存至缓存区内。由于图像提取线程的提取速度较快,相应地提取的图像帧也会较多,可能会对缓存区造成拥堵,本公开中在图像提取线程进入休眠可以暂缓对缓存区的缓存冲击,降低拥堵情况的出现。
S309,响应于图像提取线程休眠结束,则更新第二时间参数中的第二系统时间。
本公开实施例中,目标提取线程在休眠结束后重新获取目标图像帧的第二系统时间,根据第二系统时间和第二时间戳,更新第二时间参数,并返回步骤303,即基于第一时间参数和更新后的第二时间参数,重新判断图像提取线程是否需要再次进入休眠状态。
本公开实施例中,根据更新后的第二时间参数和第一时间参数,重新获取第一时间差,可以调整第一时间差与第二时间差之间的大小,如果第一时间差小于或者等于第一时间差,则确定图像提取线程无需进入休眠状态,即可以执行休眠时暂停的后续操作,即将目标图像帧缓存至缓存区内。
如果仍然第一时间差大于第一时间差,则确定图像提取线程仍然需要进入休眠状态,即可以再次休眠图像提取线程,以进一步缓解缓存压力。本公开通过上述休眠机制,能够降低图像帧的提取速度,进而能够降低向缓存区发送的图像帧数量,避免出现缓存区出现缓存压力过大的问题。
为更好理解上述实施例,结合图4进一步说明,图4是根据本公开第四实施例的离线视频文件的提取方法的流程示意图。
在上述实施例中的基础之上,在提取到图像帧缓存至缓存区之后,还可以对图像帧进行目标检测。
如图4所示,离线视频文件的提取方法包括以下步骤:
S401,配置离线视频文件的读取速度。
关于读取速度的配置过程,可参见上述实施例中相关内容的记载,此处不再赘述。
为了排查离线视频文件读取速度配置是否存在异常的情况,可选地,判断读取速度是否小于或者等于0,若小于或者等于0,则调整离线视频文件的读取速度为1.0倍速。可选地,判断读取速度是否大于允许的最大读取速度,若超过允许的最大读取速度,则调整离线视频文件的读取速度为允许的最大读取速度。
S402,启动图像提取线程,并由图像提取线程,基于读取速度从离线视频文件中提取图像帧。
S403,根据离线视频文件封装格式进行解封装,以获取图像帧。
S404,在图像提取线程提取过程中,识别离线视频文件的首个图像帧,并获取首个图像帧对应的第一时间参数。
S405,获取当前提取的目标图像帧的第二时间参数。
S406,获取第二系统时间和第一系统时间之间的第一时间差,以及第二时间戳和第一时间戳之间的第二时间差。
S407,响应于第二时间差小于或者等于第一时间差,则确定图像提取线程无需进入休眠状态。
S408,将目标图像帧缓存至缓存区。
S409,响应于第二时间差大于第一时间差,则确定图像提取线程需要进入休眠状态。
S410,获取第二时间差与第一时间差之间的差值,将差值作为图像提取线程的休眠时长。
S411,按照休眠时长休眠图像提取线程,其中,图像提取线程休眠过程中停止对目标图像帧的缓存。
在确定了休眠时长后,图像提取线程就会进入休眠,即停止继续从离线视频文件中提取后续图像帧。而且由于图像提取线程处于休眠过程,则会停止对目标图像帧的缓存,即不将目标图像帧缓存至缓存区内。由于图像提取线程的提取速度较快,相应地提取的图像帧也会较多,可能会对缓存区造成拥堵,本公开中在图像提取线程进入休眠可以暂缓对缓存区的缓存冲击,降低拥堵情况的出现。
S412,响应于图像提取线程休眠结束,则更新第二时间参数中的第二系统时间。
本公开实施例中,在获取到更新第二时间参数,返回步骤406,即基于第一时间参数和更新后的第二时间参数,重新判断图像提取线程是否需要再次进入休眠状态。
S413、由目标检测线程,对提取的图像帧进行目标检测。
需要说明的是,目标检测线程与图像提取线程同步运行,在图像提取线程提取图像帧的过程中,目标检测线程从缓存区内读取缓存的图像帧,对图像帧进行目标检测,基于该目标检测的结果进行图像分类识别,或者图像模型的训练等。
图5为目标检测线程对图像帧进行目标检测的流程示意图。如图5所示,包括以下步骤:
S501,判断缓存区是否为空,若为空则执行S502,若非空则执行步骤S503。
S502,等待预设时长,并返回S501。
S503,从缓存区读取图像帧。
S504,判断图像帧是否符合目标检测策略,若符合,则执行步骤S505,若不符合,则执行S506。
可选地,目标检测策略包括全帧检测、跳帧检测。
S505,对图像帧进行检测,获取检测结果。
S506,丢弃当前读取的图像帧。
本公开中可以灵活地配置离线视频文件的读取速度,使得离线视频文件的读取速度与硬件资源相关,进而能够对硬件资源合理分配的目的,并且基于读取速度可以预知一个离线视频文件完成目标检测所需的时间,即使在不同服务器上,可以通过配置读取速度,使得同一视频文件在不同服务器上可以具有同样处理时间的效果。
进一步地,为图像提取线程设置休眠机制,通过该休眠机制进一步来平衡该线程读取速度,在提取速度较快时使图像提取线程进入休眠状态,这样可以暂停提取图像帧,相应地降低了读取速度,而且由于图像提取线程进入休眠状态,则会暂停目标图像帧缓存至缓存区,从而可以降低缓存区的压力。
与上述几种实施例提供的离线视频文件的提取方法相对应,本公开的一个实施例还提供一种离线视频文件的提取装置,由于本公开实施例提供的离线视频文件的提取装置与上述几种实施例提供的离线视频文件的提取方法相对应,因此在离线视频文件的提取方法的实施方式也适用于本公开实施例提供的离线视频文件的提取装置,在下述实施例中不再详细描述。
图6是根据本公开一实施例的离线视频文件的提取装置的结构示意图。如图6所示,离线视频文件的提取装置600包括获取模块61、配置模块62和提取模块63。其中:
获取模块61,用于获取离线视频文件的第一帧率,以及离线视频文件的目标检测线程所允许的最大检测帧率。
配置模块62,用于基于第一帧率和最大检测帧率,配置离线视频文件的读取速度。
提取模块63,用于启动图像提取线程,并由图像提取线程,基于读取速度从离线视频文件中提取图像帧。
本公开中可以灵活地配置离线视频文件的读取速度,使得离线视频文件的读取速度与硬件资源相关,进而能够对硬件资源合理分配的目的,并且基于读取速度可以预知一个离线视频文件完成目标检测所需的时间,即使在不同服务器上,可以通过配置读取速度,使得同一视频文件在不同服务器上可以具有同样处理时间的效果。
图7是根据本公开另一个实施例的离线视频文件的提取装置的结构示意图。如图7所示,离线视频文件的提取装置700包括获取模块71、配置模块72、提取模块73、识别模块74、参数获取模块75、休眠模块76、更新模块77、缓存模块78和目标检测模块79。
需要说明的是,获取模块71、配置模块72和提取模块73与获取模块61、配置模块62和提取模块63具有相同的结构和功能。
可选地,识别模块74,用于在图像提取线程提取过程中,识别离线视频文件的首个图像帧;
参数获取模块75,用于获取首个图像帧对应的第一时间参数,以及获取当前提取的目标图像帧的第二时间参数;
休眠模块76,用于基于第一时间参数和第二时间参数,判断目标提取线程是否需要进入休眠状态。
可选地,休眠模块76,进一步地用于获取第二系统时间和第一系统时间之间的第一时间差,以及第二时间戳和第一时间戳之间的第二时间差;响应于第二时间差小于或者等于第一时间差,则图像提取线程确认无需进入休眠状态;响应于第二时间差大于第一时间差,则图像提取线程确认进入休眠状态。
可选地,休眠模块76,进一步地用于获取第二时间差与第一时间差之间的差值,将差值作为图像提取线程的休眠时长;按照休眠时长休眠图像提取线程,其中,图像提取线程休眠过程中停止对目标图像帧的缓存。
可选地,更新模块77,用于响应于图像提取线程休眠结束,则更新第二时间参数中的第二系统时间;
休眠模块76,进一步用于基于第一时间参数和更新后的第二时间参数,重新判断图像提取线程是否需要再次进入休眠状态。
可选地,缓存模块78,用于响应于图像提取线程无需进入休眠状态,则目标图像帧缓存至缓存区。
可选地,配置模块72,进一步用于基于离线视频文件的第一帧率和最大检测帧率,确定离线视频文件的读取倍速配置范围;在读取倍数配置范围内,对读取速度进行配置。
可选地,目标检测模块79,用于由目标检测线程,对提取的图像帧进行目标检测。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如离线视频文件的提取方法。例如,在一些实施例中,离线视频文件的提取方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的离线视频文件的提取方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行离线视频文件的提取方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务端可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(“Virtual Private Server”,或简称“VPS”)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合区块链的服务器
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种离线视频文件的提取方法,包括:
获取所述离线视频文件的第一帧率,以及所述离线视频文件的目标检测线程所允许的最大检测帧率;
基于所述第一帧率和所述最大检测帧率,配置所述离线视频文件的读取速度;
启动图像提取线程,并由所述图像提取线程,基于所述读取速度从所述离线视频文件中提取图像帧。
2.根据权利要求1所述的离线视频文件的提取方法,其中,所述由所述图像提取线程,所述基于所述读取速度从所述离线视频文件中提取帧图像,包括:
在所述图像提取线程提取过程中,识别所述离线视频文件的首个图像帧,并获取所述首个图像帧对应的第一时间参数;
获取当前提取的目标图像帧的第二时间参数;
基于所述第一时间参数和所述第二时间参数,判断所述图像提取线程是否需要进入休眠状态。
3.根据权利要求2所述的离线视频文件的提取方法,其中,所述第一时间参数包括所述首个图像帧对应的第一系统时间和第一时间戳,所述第二时间参数包括所述目标图像帧对应的第二系统时间和第二时间戳,则基于所述第一时间参数和所述第二时间参数,判断所述图像提取线程是否需要进入休眠状态,包括:
获取所述第二系统时间和所述第一系统时间之间的第一时间差,以及所述第二时间戳和所述第一时间戳之间的第二时间差;
响应于所述第二时间差小于或者等于所述第一时间差,则确定所述图像提取线程无需进入休眠状态;
响应于所述第二时间差大于所述第一时间差,则确定所述图像提取线程需要进入休眠状态。
4.根据权利要求3所述的离线视频文件的提取方法,其中,所述确定所述图像提取线程需要进入休眠状态之后,包括:
获取所述第二时间差与所述第一时间差之间的差值,将所述差值作为所述图像提取线程的休眠时长;
按照所述休眠时长休眠所述图像提取线程,其中,所述图像提取线程休眠过程中停止对所述目标图像帧的缓存。
5.根据权利要求4所述的离线视频文件的提取方法,其中,所述按照所述休眠时长休眠所述图像提取线程之后,还包括:
响应于所述图像提取线程休眠结束,则更新所述第二时间参数中的所述第二系统时间;
基于所述第一时间参数和更新后的所述第二时间参数,重新判断判断所述图像提取线程是否需要再次进入休眠状态。
6.根据权利要求3-5任一项所述的离线视频文件的提取方法,其中,还包括:
响应于所述图像提取线程无需进入休眠状态,则将所述目标图像帧缓存至缓存区。
7.根据权利要求1-5任一项所述的离线视频文件的提取方法,其中,所述基于所述第一帧率和所述最大检测帧率,配置所述离线视频文件的读取速度,包括:
基于所述离线视频文件的第一帧率和所述最大检测帧率,确定所述离线视频文件的读取倍速配置范围;
在所述读取倍数配置范围内,对所述读取速度进行配置。
8.根据权利要求1所述的离线视频文件的提取方法,其中,所述基于所述读取速度从所述离线视频文件中提取图像帧之后,还包括:
由目标检测线程,对提取的图像帧进行目标检测。
9.一种离线视频文件的提取装置,包括:
获取模块,用于获取所述离线视频文件的第一帧率,以及所述离线视频文件的目标检测线程所允许的最大检测帧率;
配置模块,用于基于所述第一帧率和所述最大检测帧率,配置所述离线视频文件的读取速度;
提取模块,用于启动图像提取线程,并由所述图像提取线程,基于所述读取速度从所述离线视频文件中提取图像帧。
10.根据权利要求9所述的离线视频文件的提取装置,其中,还包括:
识别模块,用于在所述图像提取线程提取过程中,识别所述离线视频文件的首个图像帧;
参数获取模块,用于获取所述首个图像帧对应的第一时间参数,以及获取当前提取的目标图像帧的第二时间参数;
休眠模块,用于基于所述第一时间参数和所述第二时间参数,判断所述目标帧图像是否需要进行休眠状态。
11.根据权利要求10所述的离线视频文件的提取装置,其中,所述第一时间参数包括所述首个图像帧对应的第一系统时间和第一时间戳,所述第二时间参数包括所述目标图像帧对应的第二系统时间和第二时间戳;
所述休眠模块,进一步用于:
获取所述第二系统时间和所述第一系统时间之间的第一时间差,以及所述第二时间戳和所述第一时间戳之间的第二时间差;
响应于所述第二时间差小于或者等于所述第一时间差,则确定所述图像提取线程无需进入休眠状态;
响应于所述第二时间差大于所述第一时间差,则确定所述图像提取线程需要进入休眠状态。
12.根据权利要求11所述的离线视频文件的提取装置,其中,所述休眠模块,进一步用于:
获取所述第二时间差与所述第一时间差之间的差值,将所述差值作为所述图像提取线程的休眠时长;
按照所述休眠时长休眠所述图像提取线程,其中,所述图像提取线程休眠过程中停止对所述目标图像帧的缓存。
13.根据权利要求12所述的离线视频文件的提取装置,其中,还包括:
更新模块,用于响应于所述图像提取线程休眠结束,则更新所述第二时间参数中的所述第二系统时间;
所述休眠模块,进一步用于基于所述第一时间参数和更新后的所述第二时间参数,重新判断所述图像提取线程是否需要再次进入休眠状态。
14.根据权利要求11-13任一项所述的离线视频文件的提取装置,其中,还包括:
缓存模块,用于响应于所述图像提取线程无需进入休眠状态,则所述目标图像帧缓存至缓存区。
15.根据权利要求9-13任一项所述的离线视频文件的提取装置,其中,所述配置模块,进一步用于:
基于所述离线视频文件的第一帧率和所述最大检测帧率,确定所述离线视频文件的读取倍速配置范围;
在所述读取倍数配置范围内,对所述读取速度进行配置。
16.根据权利要求9所述的离线视频文件的提取装置,其中,还包括:
目标检测模块,用于由目标检测线程,对提取的图像帧进行目标检测。
17.一种电子设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-8中任一所述的离线视频文件的提取方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的离线视频文件的提取方法。
19.一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令处理器执行时实现如权利要求1-8中任一所述的离线视频文件的提取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011534498.1A CN112686109B (zh) | 2020-12-22 | 2020-12-22 | 离线视频文件的提取方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011534498.1A CN112686109B (zh) | 2020-12-22 | 2020-12-22 | 离线视频文件的提取方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112686109A true CN112686109A (zh) | 2021-04-20 |
CN112686109B CN112686109B (zh) | 2024-06-21 |
Family
ID=75450881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011534498.1A Active CN112686109B (zh) | 2020-12-22 | 2020-12-22 | 离线视频文件的提取方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112686109B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115619923A (zh) * | 2022-09-30 | 2023-01-17 | 北京百度网讯科技有限公司 | 用于虚拟对象的渲染方法、装置、电子设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012041082A1 (zh) * | 2010-09-27 | 2012-04-05 | 深圳市融创天下科技股份有限公司 | 一种视频解码和播放的方法、装置、系统和终端设备 |
CN102932640A (zh) * | 2012-11-08 | 2013-02-13 | 天津市亚安科技股份有限公司 | 一种视频流帧率的控制方法 |
US20150124675A1 (en) * | 2013-11-04 | 2015-05-07 | Qualcomm Incrporated | Methods and systems for mobile device clock management |
WO2018085982A1 (zh) * | 2016-11-08 | 2018-05-17 | 深圳市大疆创新科技有限公司 | 视频录制方法、装置及拍摄设备 |
CN111131734A (zh) * | 2018-10-31 | 2020-05-08 | 中移物联网有限公司 | 一种视频录制方法及装置、终端、存储介质 |
-
2020
- 2020-12-22 CN CN202011534498.1A patent/CN112686109B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012041082A1 (zh) * | 2010-09-27 | 2012-04-05 | 深圳市融创天下科技股份有限公司 | 一种视频解码和播放的方法、装置、系统和终端设备 |
CN102932640A (zh) * | 2012-11-08 | 2013-02-13 | 天津市亚安科技股份有限公司 | 一种视频流帧率的控制方法 |
US20150124675A1 (en) * | 2013-11-04 | 2015-05-07 | Qualcomm Incrporated | Methods and systems for mobile device clock management |
WO2018085982A1 (zh) * | 2016-11-08 | 2018-05-17 | 深圳市大疆创新科技有限公司 | 视频录制方法、装置及拍摄设备 |
CN111131734A (zh) * | 2018-10-31 | 2020-05-08 | 中移物联网有限公司 | 一种视频录制方法及装置、终端、存储介质 |
Non-Patent Citations (2)
Title |
---|
王咸锋;: "一种基于OpenCV提高文件拍摄流畅性的方法和系统", 计算机与数字工程, no. 05, 20 May 2017 (2017-05-20) * |
裴旭明;李文艳;朱正航;康凯;: "一种无线传感器网络中汇聚节点的本地时钟和传感器节点的RTC时钟同步校准的方法", 计算机科学, no. 02, 15 February 2017 (2017-02-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115619923A (zh) * | 2022-09-30 | 2023-01-17 | 北京百度网讯科技有限公司 | 用于虚拟对象的渲染方法、装置、电子设备以及存储介质 |
CN115619923B (zh) * | 2022-09-30 | 2023-12-12 | 北京百度网讯科技有限公司 | 用于虚拟对象的渲染方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112686109B (zh) | 2024-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112633384B (zh) | 基于图像识别模型的对象识别方法、装置和电子设备 | |
CN108235116B (zh) | 特征传播方法和装置、电子设备和介质 | |
WO2022252488A1 (zh) | 一种图像压缩方法、装置、电子设备及可读存储介质 | |
CN112929695B (zh) | 视频去重方法、装置、电子设备和存储介质 | |
CN113163260B (zh) | 一种视频帧输出控制方法、装置及电子设备 | |
EP3410302A1 (en) | Graphic instruction data processing method, apparatus and system | |
US20240005625A1 (en) | Image processing method and apparatus, electronic device and storage medium | |
CN113365146B (zh) | 用于处理视频的方法、装置、设备、介质和产品 | |
WO2020108010A1 (zh) | 视频处理方法、装置、电子设备以及存储介质 | |
CN112686109B (zh) | 离线视频文件的提取方法、装置、电子设备及存储介质 | |
CN113961289A (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN117880579A (zh) | 画面控制的方法及装置、电子设备和存储介质 | |
US20120005587A1 (en) | Performing Remoting Operations For Different Regions Of A Display Surface At Different Rates | |
CN116567246A (zh) | Avc编码方法和装置 | |
CN113627363B (zh) | 视频文件的处理方法、装置、设备以及存储介质 | |
CN113724355B (zh) | 用于视频的图表绘制方法、装置及电子设备 | |
CN115174774A (zh) | 一种深度图像的压缩方法、装置、设备及存储介质 | |
CN113988294A (zh) | 训练预测网络的方法、图像处理方法和装置 | |
CN113660495A (zh) | 实时视频流压缩方法、装置、电子设备以及存储介质 | |
CN114694007A (zh) | 一种视频结构化处理方法及视频结构化引擎 | |
CN112541472B (zh) | 一种目标检测方法、装置及电子设备 | |
CN112911299A (zh) | 一种视频码率控制方法、装置、电子设备和存储介质 | |
CN117528141A (zh) | 视频编码方法、装置、电子设备、存储介质及程序产品 | |
CN114549697B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN114863143B (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 |