CN116682035A - 一种高帧率视频缺陷的检测方法、装置、设备和程序产品 - Google Patents
一种高帧率视频缺陷的检测方法、装置、设备和程序产品 Download PDFInfo
- Publication number
- CN116682035A CN116682035A CN202310484083.5A CN202310484083A CN116682035A CN 116682035 A CN116682035 A CN 116682035A CN 202310484083 A CN202310484083 A CN 202310484083A CN 116682035 A CN116682035 A CN 116682035A
- Authority
- CN
- China
- Prior art keywords
- video
- defect
- frame
- frames
- neural network
- 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
- 230000007547 defect Effects 0.000 title claims abstract description 205
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000003062 neural network model Methods 0.000 claims description 62
- 238000001514 detection method Methods 0.000 claims description 60
- 238000012549 training Methods 0.000 claims description 29
- 230000002950 deficient Effects 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 238000007781 pre-processing Methods 0.000 claims description 10
- 239000012634 fragment Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 19
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000000737 periodic effect Effects 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种高帧率视频缺陷的检测方法、装置、设备和程序产品,涉及视频处理技术领域。一种高帧率视频缺陷的检测方法,包括:通过多个子进程分别获取视频文件中的视频帧;检测所述视频帧中至少两种缺陷类型对应的缺陷帧;根据所述缺陷帧确定所述视频文件中存在缺陷的时段。根据本申请的实施例,可自动快速检测到高帧率视频文件中的缺陷帧。
Description
技术领域
本申请涉及视频处理技术领域,具体而言,涉及一种高帧率视频缺陷的检测方法、装置、设备和程序产品。
背景技术
现阶段,高帧率视频从视频帧率的角度可以提供更顺畅、更连续的观看体验,已逐渐替代了画面不连贯的低帧率视频,成为人们所追求的高标准视频的目标。
受限于拍摄设备的能力,目前大多数高帧率视频是在相机拍摄的低帧率视频的基础上由插帧算法生成而来。而在插帧生成的过程中,不可避免的会出现一些缺陷帧,当某一个片段中存在较多缺陷帧时,就会带来视觉上的卡顿与不连续。
发明内容
根据本申请的一方面,提供一种高帧率视频缺陷的检测方法,包括:通过多个子进程分别获取视频文件中的视频帧;检测所述视频帧中至少两种缺陷类型对应的缺陷帧;根据所述缺陷帧确定所述视频文件中存在缺陷的时段。
根据一些实施例,通过多个子进程分别获取视频文件中的视频帧,包括:初始化预设视频片段数量的子进程;通过所述预设视频片段数量的所述子进程分段提取所述视频文件中的视频帧。
根据一些实施例,通过已初始化的所述子进程分段提取所述视频文件中的视频帧,包括:采用预设的抽帧条件,通过已初始化的所述子进程分段抽取所述视频文件中的视频帧;对所述视频帧进行数据格式转换,得到目标视频帧。
根据一些实施例,所述检测所述视频帧中至少两种缺陷类型对应的缺陷帧包括:基于预设的分组条件,将所述视频文件中的目标视频帧分为多个视频帧组;针对任一所述视频帧组,将所述视频帧组输入所述至少两种缺陷类型分别对应的神经网络模型;基于所述神经网络模型输出的检测结果,确定所述视频帧组中至少两种缺陷类型对应的缺陷帧。
根据一些实施例,所述基于所述神经网络模型输出的检测结果,确定所述视频帧组中至少两种缺陷类型对应的缺陷帧,包括:针对所述视频帧组中的任一视频帧,基于所述神经网络模型输出的缺陷帧概率,确定所述视频帧是否为所述神经网络模型对应缺陷类型的缺陷帧;在所述神经网络模型输出的缺陷帧概率大于预设第一阈卷号:230072CI
值的情况下,将所述视频帧确定为所述神经网络模型对应缺陷类型的缺陷帧。
根据一些实施例,所述方法还包括:获取存在缺陷的训练视频片段,所述训练视频片段包含正常帧和所述缺陷类型对应的所述缺陷帧;按预设比例由所述训练视频片段中抽取正常帧和所述缺陷帧,以组成训练数据集;采用所述训练数据集,训练所述缺陷类型对应的神经网络模型,至模型收敛。
根据一些实施例,根据所述缺陷帧确定所述视频文件中存在缺陷的时段,包括:根据所述缺陷帧对应的预设序号,确定所述缺陷帧在所述视频文件中的位置;基于所述视频文件的帧率,将所述视频文件分为多个时间片段;基于所述缺陷帧在所述视频文件中的位置,分别分析所述时间片段中缺陷帧的占比;确定所述缺陷帧的占比大于预设第二阈值的时间片段,作为所述视频文件中存在缺陷的时段。
根据本申请的一方面,提供一种高帧率视频缺陷的检测装置,包括:预处理模块,初始化预设视频片段数量的子进程;通过所述预设视频片段数量的所述子进程分段获取视频文件中的视频帧;对所述视频帧进行数据格式转换,以获得目标视频帧;将所述目标视频帧分为多个视频帧组;运算模块,用于设置所述视频帧中至少两种缺陷类型分别对应的神经网络模型;对所述神经网络模型分别进行训练;通过已训练的所述神经网络模型确定任一所述视频帧组中至少两种缺陷类型对应的缺陷帧;统计模块,用于根据所述缺陷帧确定所述视频文件中存在缺陷的时段。
根据本申请的一方面,提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得一个或多个处理器实现如前述的方法。
根据本申请的一方面,提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现如前述的方法。
根据本申请的实施例,可自动快速检测高帧率视频文件中的缺陷帧,并获得视频文件中存在缺陷的视频片段以及对应的缺陷类型,以便于对存在缺陷的视频片段进行替换或重新生产,确保视频文件的观感体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1示出根据本申请示例实施例的一种高帧率视频缺陷的检测方法的流程图。
图2示出根据本申请示例实施例的视频帧读取的示意图。
图3示出根据本申请示例实施例的神经网络模型的示意图。
卷号:230072CI
图4示出根据本申请示例实施例的一种高帧率视频缺陷的检测装置的框图。
图5示出根据本申请示例实施例的电子设备的框图。
具体实施方式
本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有这些特定细节中的一个或更多,或者可以采用其它的方式、组元、材料、装置或操作等。在这些情况下,将不详细示出或描述公知结构、方法、装置、实现、材料或者操作。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
本申请提供一种高帧率视频缺陷的检测方法、装置、设备和程序产品,可自动快速地识别出视频文件中的缺陷帧,加快高帧率视频文件的审核速度,保证高帧率视频文件的观感体验。
下面将参照附图,对根据本申请实施例的一种高帧率视频缺陷的检测方法、装置、设备和程序产品进行详细说明。
本申请涉及如下术语:
大运动缺陷帧:在高帧率视频生成过程中,插帧模型在复杂运动场景(如跑步、卷号:230072CI
打斗等)下生成的缺陷帧。
周期性缺陷帧:在高帧率视频生成过程中,插帧模型在具有周期性纹理区域的画面(如栅栏、条纹衫等)下生成的缺陷帧。
OSD抖动缺陷帧:在高帧率视频生成过程中,插帧模型在画面中文字变化的场景(如字幕转化等)下生成的缺陷帧。
图1示出根据本申请示例实施例的一种高帧率视频缺陷的检测方法的流程图。
在使用插帧算法生成高帧率的视频文件后,为避免在播放高帧率的视频文件的过程中因存在较多缺陷帧导致的视觉上的卡顿与不连续,检测装置通过设置多个子进程快速读取视频文件,并通过神经网络模型自动检测出视频文件中出现缺陷帧的时段和缺陷类型,以进行缺陷帧的处理。
如图1所示,在步骤S110中,检测装置通过多个子进程分别获取视频文件中的视频帧。
例如,在步骤S110中,检测装置通过多个子进程分段读取视频文件中的视频帧,并对读取到的视频帧进行数据处理,以用于输入神经网络模型。
检测装置将获取到的高帧率的视频文件按预设视频片段数量解析成多个视频片段。
检测装置从主进程中初始化多个子进程,其中子进程的数量为预设视频片段数量,可通过各子进程同时读取各视频片段中的视频帧,以加快读取速度。检测装置还初始化一个可在多个子进程之间进行数据通信的视频帧队列,以存储各子进程读取到的视频帧。
检测装置通过已进行初始化的预设视频片段数量的子进程分段读取视频文件中各视频片段的视频帧,并对视频帧进行排序,以获得各视频帧对应的预设序号,预设序号为各视频帧在视频文件中的原始位置信息。
检测装置通过已进行初始化的预设视频片段数量的子进程根据预设的抽帧条件分段对视频文件中各视频片段的视频帧进行抽帧,以对通过抽帧获得的视频帧进行缺陷帧检测。
检测装置将经过抽帧获得的视频帧进行数据格式转换,以获得目标视频帧。
检测装置按预设的分组条件对视频文件中的目标视频帧进行划分以形成多个视频帧组。
检测装置将经过抽帧及数据格式转换后的多个视频帧组暂存于视频帧队列。
根据一些实施例,检测装置可通过OpenCV对完整的视频文件进行解析,并将视频文件划分为n个视频片段,n为预设视频片段数量且n为正整数。同时,检测装置按预设视频片段数量初始化n个子进程和一个视频帧队列,并通过n个子进程分段读取n个视频片段中的视频帧。检测装置对多个视频帧进行排序,以获得各视频卷号:230072CI
帧对应的预设序号。
根据一些实施例,检测装置可通过各已初始化的各子进程对视频文件中的视频帧分段按预设的抽帧条件(如每2帧采1帧)进行均匀地抽帧,其中通过抽帧获得的视频帧用于缺陷帧检测。而后,检测装置通过各子进程对经过抽帧后获得的视频帧进行数据格式转换,以得到目标视频帧,使得目标视频帧的数据格式与神经网络模型可处理的数据格式相同。
根据一些实施例,检测装置通过各子进程将经过数据格式转换的目标视频帧按预设的分组条件划分为多个视频帧组,其中,各视频帧组包含的视频帧数量可根据实际情况调整。而后,检测装置通过各子进程将视频帧组存入已初始化的视频帧队列的队尾,并不断向视频帧队列的队尾追加存储数据。
在步骤S120中,检测装置检测视频帧中至少两种缺陷类型对应的缺陷帧。
例如,在步骤S120中,检测装置将通过子进程读取到的已经过数据处理的任一视频帧组输入至少两种缺陷类型分别对应的神经网络模型,并通过神经网络模型确定视频帧组中的缺陷帧以及缺陷帧对应的缺陷类型。
检测装置先根据视频帧的至少两种缺陷类型设置分别对应的神经网络模型,并使用包括按预设比例抽取的正常帧和缺陷帧的训练视频片段对已设置的神经网络模型进行训练,以更新神经网络模型的参数。
在神经网络模型训练完成后,检测装置通过主进程从视频帧队列的队首获取到已经过数据处理的视频帧组。检测装置将视频帧组输入至少两种缺陷类型分别对应的神经网络模型,以通过各神经网络模型获得视频组中任一视频帧为神经网络模型对应缺陷类型的缺陷帧的概率。
通过视频组中任一视频帧为缺陷帧的概率,检测装置确定视频帧是否为神经网络模型对应的缺陷类型的缺陷帧,并且获取缺陷帧的预设序号。
根据一些实施例,视频帧的缺陷类型可包括大运动缺陷、周期性缺陷和OSD抖动缺陷。检测装置可根据视频帧的缺陷类型设置对应的卷积神经网络模型(例如EfficientNet分类模型)。
根据一些实施例,检测装置将经过数据处理的由正常帧和缺陷帧组成的训练数据集输入缺陷类型对应的神经网络模型并进行前向传播,计算模型的预测结果与人工标注的真实标签值的交叉熵损失;进而,检测装置将训练数据集进行反向传播,以更新神经网络模型的参数,直至模型收敛。
根据一些实施例,检测装置将视频帧组输入视频帧的缺陷类型对应的神经网络模型,以获得当前视频帧组中任一视频帧为视频帧的缺陷类型对应的缺陷帧的概率。在神经网络模型输出的此视频帧为缺陷帧的概率大于预设第一阈值的情况下,检测装置确定此视频帧为缺陷帧,并获得缺陷帧对应的视频帧的缺陷类型以及缺陷帧的预设序号。预设第一阈值可根据实际需求进行调整。
卷号:230072CI
在步骤S130中,检测装置根据缺陷帧确定视频文件中存在缺陷的时段。
例如,在步骤S130中,检测装置根据已确定的缺陷帧对应的预设序号确定缺陷帧在视频文件中的位置,并根据缺陷帧的位置和视频文件的帧率获得视频文件包括的多个时间片段中缺陷帧的占比,并通过缺陷帧的占比确定视频文件中存在缺陷的时段。
检测装置将已确定的缺陷帧按预设序号排列。因预设序号为子进程对视频文件进行分段读取时各视频帧排序所对应的序号,检测装置可根据缺陷帧的预设序号确定缺陷帧在视频文件中的位置。
检测装置根据视频文件的视频帧率获取视频文件中的多个时间片段。
检测装置对各时间片段内预设数量的视频帧中存在的已确定位置的缺陷帧进行统计,并根据统计结果分别获得缺陷帧在各时间片段内包含的视频帧中的占比。
在当前时间片段内缺陷帧的占比大于预设第二阈值的情况下,检测装置确定当前时间片段为缺陷帧聚集的时段,即视频文件中存在缺陷的时段。
根据一些实施例,检测装置可根据缺陷帧对应的预设序号按从小到大的顺序对已确定的缺陷帧重新进行排序,以对缺陷帧在视频文件中的位置。
根据一些实施例,基于已重新排序的缺陷帧,检测装置可按照待检测的视频文件的原始视频帧率获得用于进行直方图统计的预设数量的视频帧以及对应的多个时间片段。例如,若视频文件的原始视频帧率为60帧/秒,检测装置以60个视频帧为预设数量,以1秒为一个时间片段,对已确定位置的缺陷帧进行直方图统计,以获得每60个视频帧中缺陷帧的数量,进而获得1秒的时间片段(即60个视频帧)内的缺陷帧的占比。
根据一些实施例,检测装置可按实际需求设定预设第二阈值T,以筛选缺陷帧占比大于T的时段。检测装置将缺陷帧占比大于T的时间片段作为视频文件存在缺陷的时段。
根据本申请的实施例,可通过神经网络模型自动检测高帧率视频中的缺陷帧,并采用多进程分段读取视频帧的方式提高了检测速度,实现了高帧率视频的及时审核。
图2示出根据本申请示例实施例的视频帧读取的示意图。
如图2所示,检测装置对视频文件100进行解析,将视频文件100划分为n个视频片段,其中包括视频片段1、视频片段2……视频片段n,n为预设视频片段数量且n为正整数。
在对视频文件100进行解析的同时,检测装置对子进程300和视频帧队列400进行初始化。子进程300包括与视频文件100对应的预设视频片段数量的n个子进程,如子进程1、子进程2……子进程n。视频帧队列400用于暂存子进程300读取卷号:230072CI的视频帧数据。
n个子进程分段读取n个视频片段中的视频帧,并对已读取的视频帧进行排序,以获得各视频帧对应的预设序号,其中预设序号为各视频帧在视频文件中的原始位置信息。
各子进程根据预设的抽帧条件对视频文件中的视频帧分段进行抽帧,例如,各子进程可按照每2帧采1帧的方法均匀地进行抽帧。
进一步地,各子进程将经过抽帧后获得的视频帧进行数据格式转换,获得目标视频帧,以将视频帧转换为神经网络模型可处理的数据格式。例如,子进程将经过抽帧后获得的视频帧进行下采样,将视频帧的分辨率降低至360P等。
在进行数据格式转换后,各子进程按预设的分组条件将经过数据格式转换的目标视频帧划分为多个视频帧组。例如,各视频帧组的预设的分组条件可设定为64个视频帧为一个视频帧组,即各子进程将64个经过数据格式转换的目标视频帧作为一个视频帧组。
各子进程将经过处理的视频帧组存入已初始化的视频帧队列400的队尾,并不断向视频帧队列400的队尾追加存储数据。
进而,主进程200从视频帧队列400的队首读取经过处理的视频帧组,并推送至神经网络模型,以用于确定视频帧组中的缺陷帧。主进程200不断从视频帧队列400的队首读取视频帧组直至视频帧队列400为空。
图3示出根据本申请示例实施例的神经网络模型的示意图。
如图3所示,检测装置根据视频帧的至少两种缺陷类型设置对应的神经网络模型500。
根据一些实施例,神经网络模型500可包括大运动缺陷模型510、周期性缺陷模型520和OSD抖动缺陷模型530,分别用于对相应的视频帧的缺陷类型(即大运动缺陷帧、周期性缺陷帧和OSD抖动缺陷帧)进行判定。
在通过神经网络模型500确定缺陷帧之前,检测装置对神经网络模型500进行训练。
根据一些实施例,检测装置首先分别获取存在缺陷(如大运动缺陷、周期性缺陷和OSD抖动缺陷)的训练视频片段,并从训练视频片段中人工抽取正常帧和视频帧的缺陷类型对应的缺陷帧,其中,正常帧标注为0,缺陷帧标注为1。检测装置按预设比例(如1:1)将抽取的正常帧和缺陷帧组成训练数据集。
根据一些实施例,检测装置对训练数据集进行数据处理,以将其转换为神经网络模型500可处理的数据格式。
例如,检测装置将训练数据集中的视频帧进行下采样处理,以将视频帧的分辨率降低至360P。
卷号:230072CI
又例如,检测装置对训练数据集中的视频帧进行随机的水平翻转和垂直翻转处理,以增加神经网络模型500训练的数据量。
再例如,检测装置对训练数据集中的视频帧进行标准化处理,将视频帧的像素值映射到[0,1]区间内,以便于神经网络模型500的训练过程中进行模型拟合。
检测装置将经过数据处理的训练数据集分别输入神经网络模型500中相应的模型并进行前向传播,计算模型的预测结果与人工标注的真实标签值(即对正常帧和缺陷帧的标注)的交叉熵损失;进而,检测装置将训练数据集进行反向传播,以更新神经网络模型500中相应的模型的参数,直至模型收敛。
在神经网络模型500中的模型训练完成后,检测装置将从视频帧队列获取到的已经过数据处理的视频帧组输入大运动缺陷模型510、周期性缺陷模型520和OSD抖动缺陷模型530,并通过大运动缺陷模型510及预设第一阈值确定当前视频帧组中是否存在大运动缺陷帧,通过周期性缺陷模型520及预设第一阈值确定当前视频帧组中是否存在周期性缺陷帧,以及通过OSD抖动缺陷模型530及预设第一阈值确定当前视频帧组中是否存在OSD抖动缺陷帧。
以确定大运动缺陷帧为例,假设输入大运动缺陷模型510的视频帧组中包含有64个视频帧,检测装置通过大运动缺陷模型510对当前视频帧组中的64个视频帧中的任一视频帧是否为大运动缺陷帧进行推断,并获取当前帧为大运动缺陷帧的概率。
设定预设第一阈值为0.5,在当前帧为大运动缺陷帧的概率大于0.5的情况下,检测装置确定当前帧为大运动缺陷帧,并获得当前帧的预设序号。
以此类推,检测装置可获得周期性缺陷帧、OSD抖动缺陷帧以及各自对应的预设序号。
在当前视频帧组中的任一视频帧均经过神经网络模型500中的模型的检测后,检测装置输出当前视频组中的已确定的缺陷帧以及缺陷帧对应的缺陷类型和预设序号。
图4示出根据本申请示例实施例的一种高帧率视频缺陷的检测装置的框图。
如图4所示,检测装置800包括预处理模块810、运算模块820和统计模块830。
预处理模块810获取已生成的高帧率的视频文件,并将视频文件解析为预设视频片段数量的视频片段。预处理模块810还初始化预设视频片段数量的多个子进程和一个视频帧队列,其中,视频帧队列可存储子进程读取的视频帧。
预处理模块810通过多个子进程分段读取视频文件中各视频片段中的视频帧,并对已读取的视频帧进行排序,以获取视频帧各自对应的预设序号。
预处理模块810通过多个子进程按预设的抽帧条件对视频文件中的视频帧进行抽帧,并将经过抽帧后获得的视频帧进行数据格式转换,以获得目标视频帧。
卷号:230072CI
预处理模块810通过多个子进程将经过数据格式转换的目标视频帧划分为多个视频帧组,以完成对视频帧的预处理。
预处理模块810通过多个子进程将完成预处理的视频帧组暂存至视频帧队列。
运算模块820根据视频帧的至少两种缺陷类型对应设置神经网络模型,并预先对神经网络模型分别进行训练。
在神经网络模型经过训练后,运算模块820通过主进程从视频帧队列中读取已经过处理的视频帧组,并将读取到的视频帧组输入视频帧的至少两种缺陷类型对应的神经网络模型。
运算模块820通过至少两种缺陷类型对应的神经网络模型分别获得当前视频帧组中的任一视频帧为神经网络模型对应缺陷类型的缺陷帧的概率。
在当前视频帧为缺陷帧的概率大于预设第一阈值的情况下,运算模块820确定当前视频帧为神经网络模型对应缺陷类型的缺陷帧,并获得缺陷帧对应的缺陷类型和预设序号。
统计模块830按序号对已确定的缺陷帧按预设序号进行排序,确定缺陷帧在视频文件中的位置,并根据视频文件的视频帧率获得视频文件中的多个时间片段以及各时间片段内预设数量的视频帧,对已确定位置的缺陷帧在预设数量的视频帧内的占比进行直方图统计。
统计模块830根据统计结果获得各时间片段内缺陷帧的占比,并根据缺陷帧的占比与预设第二阈值的比对结果筛选出视频文件中缺陷帧的占比大于预设第二阈值的时间片段。
统计模块830将缺陷帧的占比大于预设第二阈值的时间片段确定为视频文件中的缺陷帧聚集的时段,即视频文件中存在缺陷的时段。
图5示出根据本申请示例实施例的电子设备的框图。
如图5所示,电子设备600仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书描述的根据本申请各种示例性实施方式的方法。例如,处理单元610可以执行如图1中所示的方法。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
卷号:230072CI
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端或者网络设备等)执行根据本申请实施例的方法。
软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以卷号:230072CI
用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现前述功能。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
根据本申请的一些实施例,本申请的技术方案可实现高帧率视频文件中的缺陷帧的自动检测,并通过设置多进程的方法提高了检测速度,在保证高帧率视频文件的观感体验的同时降低了人力及时间成本。
以上对本申请实施例进行了详细介绍,以上实施例的说明仅用于帮助理解本申请的方法及其核心思想。同时,本领域技术人员依据本申请的思想,基于本申请的具体实施方式及应用范围上做出的改变或变形之处,都属于本申请保护的范围。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种高帧率视频缺陷的检测方法,其特征在于,包括:
通过多个子进程分别获取视频文件中的视频帧;
检测所述视频帧中至少两种缺陷类型对应的缺陷帧;
根据所述缺陷帧确定所述视频文件中存在缺陷的时段。
2.根据权利要求1所述的方法,其特征在于,通过多个子进程分别获取视频文件中的视频帧,包括:
初始化预设视频片段数量的子进程;
通过所述预设视频片段数量的所述子进程分段提取所述视频文件中的视频帧。
3.根据权利要求2所述的方法,其特征在于,通过已初始化的所述子进程分段提取所述视频文件中的视频帧,包括:
采用预设的抽帧条件,通过已初始化的所述子进程分段抽取所述视频文件中的视频帧;
对所述视频帧进行数据格式转换,得到目标视频帧。
4.根据权利要求1所述的方法,其特征在于,所述检测所述视频帧中至少两种缺陷类型对应的缺陷帧包括:
基于预设的分组条件,将所述视频文件中的目标视频帧分为多个视频帧组;
针对任一所述视频帧组,将所述视频帧组输入所述至少两种缺陷类型分别对应的神经网络模型;
基于所述神经网络模型输出的检测结果,确定所述视频帧组中至少两种缺陷类型对应的缺陷帧。
5.根据权利要求4所述的方法,其特征在于,所述基于所述神经网络模型输出的检测结果,确定所述视频帧组中至少两种缺陷类型对应的缺陷帧,包括:
针对所述视频帧组中的任一视频帧,基于所述神经网络模型输出的缺陷帧概率,确定所述视频帧是否为所述神经网络模型对应缺陷类型的缺陷帧;
在所述神经网络模型输出的缺陷帧概率大于预设第一阈值的情况下,将所述视频帧确定为所述神经网络模型对应缺陷类型的缺陷帧。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取存在缺陷的训练视频片段,所述训练视频片段包含正常帧和所述缺陷类型卷号:230072CI
对应的所述缺陷帧;
按预设比例由所述训练视频片段中抽取正常帧和所述缺陷帧,以组成训练数据集;
采用所述训练数据集,训练所述缺陷类型对应的神经网络模型,至模型收敛。
7.根据权利要求1所述的方法,其特征在于,根据所述缺陷帧确定所述视频文件中存在缺陷的时段,包括:
根据所述缺陷帧对应的预设序号,确定所述缺陷帧在所述视频文件中的位置;
基于所述视频文件的帧率,将所述视频文件分为多个时间片段;
基于所述缺陷帧在所述视频文件中的位置,分别分析所述时间片段中缺陷帧的占比;
确定所述缺陷帧的占比大于预设第二阈值的时间片段,作为所述视频文件中存在缺陷的时段。
8.一种高帧率视频缺陷的检测装置,其特征在于,包括:
预处理模块,初始化预设视频片段数量的子进程;通过所述预设视频片段数量的所述子进程分段获取视频文件中的视频帧;对所述视频帧进行数据格式转换,以获得目标视频帧;将所述目标视频帧分为多个视频帧组;
运算模块,用于设置所述视频帧中至少两种缺陷类型分别对应的神经网络模型;对所述神经网络模型分别进行训练;通过已训练的所述神经网络模型确定任一所述视频帧组中至少两种缺陷类型对应的缺陷帧;
统计模块,用于根据所述缺陷帧确定所述视频文件中存在缺陷的时段。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310484083.5A CN116682035A (zh) | 2023-04-28 | 2023-04-28 | 一种高帧率视频缺陷的检测方法、装置、设备和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310484083.5A CN116682035A (zh) | 2023-04-28 | 2023-04-28 | 一种高帧率视频缺陷的检测方法、装置、设备和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116682035A true CN116682035A (zh) | 2023-09-01 |
Family
ID=87782643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310484083.5A Pending CN116682035A (zh) | 2023-04-28 | 2023-04-28 | 一种高帧率视频缺陷的检测方法、装置、设备和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116682035A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893952A (zh) * | 2024-03-15 | 2024-04-16 | 视睿(杭州)信息科技有限公司 | 基于深度学习的视频马赛克缺陷检测方法 |
-
2023
- 2023-04-28 CN CN202310484083.5A patent/CN116682035A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893952A (zh) * | 2024-03-15 | 2024-04-16 | 视睿(杭州)信息科技有限公司 | 基于深度学习的视频马赛克缺陷检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112990191B (zh) | 一种基于字幕视频的镜头边界检测与关键帧提取方法 | |
US10304458B1 (en) | Systems and methods for transcribing videos using speaker identification | |
Cavallaro et al. | Video object extraction based on adaptive background and statistical change detection | |
CN109472260B (zh) | 一种基于深度神经网络的移除图像内台标和字幕的方法 | |
CN111954060B (zh) | 弹幕蒙版的渲染方法、计算机设备及可读存储介质 | |
CN101535941B (zh) | 自适应视频呈现的方法和装置 | |
CN111954052B (zh) | 显示弹幕信息的方法、计算机设备及可读存储介质 | |
CN111954053A (zh) | 获取蒙版帧数据的方法、计算机设备及可读存储介质 | |
CN110677718B (zh) | 一种视频识别方法和装置 | |
CN110458126B (zh) | 一种受电弓状态监测方法及装置 | |
WO2015165524A1 (en) | Extracting text from video | |
CN116682035A (zh) | 一种高帧率视频缺陷的检测方法、装置、设备和程序产品 | |
CN111310507A (zh) | 识别码的识别方法、装置及设备 | |
CN113361462B (zh) | 视频处理和字幕检测模型的方法及装置 | |
CN113705300A (zh) | 音转文训练语料的获取方法、装置、设备以及存储介质 | |
CN111901536A (zh) | 基于场景识别的视频剪辑方法、系统、设备及存储介质 | |
CN114758271A (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
CN113542909A (zh) | 视频处理方法、装置、电子设备及计算机存储介质 | |
CN108985244B (zh) | 一种电视节目类型识别方法及装置 | |
CN113452996A (zh) | 一种视频编码、解码方法及装置 | |
CN111954082B (zh) | 蒙版文件结构、蒙版文件的读取方法、计算机设备及可读存储介质 | |
CN113496176A (zh) | 动作识别方法、装置以及电子设备 | |
US11928855B2 (en) | Method, device, and computer program product for video processing | |
US20150373301A1 (en) | Input file transformer | |
CN115019138A (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 |