CN111028222A - 视频检测方法和装置、计算机存储介质及相关设备 - Google Patents
视频检测方法和装置、计算机存储介质及相关设备 Download PDFInfo
- Publication number
- CN111028222A CN111028222A CN201911268905.6A CN201911268905A CN111028222A CN 111028222 A CN111028222 A CN 111028222A CN 201911268905 A CN201911268905 A CN 201911268905A CN 111028222 A CN111028222 A CN 111028222A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- video stream
- offset
- test
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 118
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 238000012360 testing method Methods 0.000 claims abstract description 181
- 238000012545 processing Methods 0.000 claims abstract description 119
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000013528 artificial neural network Methods 0.000 claims abstract description 47
- 230000001360 synchronised effect Effects 0.000 claims abstract description 36
- 238000013527 convolutional neural network Methods 0.000 claims description 21
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 238000010606 normalization Methods 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005259 measurement Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000011524 similarity measure Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/04—Diagnosis, testing or measuring for television systems or their details for receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本申请实施例公开了一种视频检测方法和装置、计算机存储介质及相关设备,属于TV板卡测试技术领域。其中,该方法包括:获取测试视频流和参考视频流;对测试视频流和参考视频流进行同步处理,确定测试视频流中的当前帧对应的参考帧,其中,参考帧是参考视频流中与当前帧同步的帧;利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。因此,本申请实施例可以实现视频画质异常的快速检测,提高检测效率、并降低检测成本,解决了相关技术中视频测试效率低且成本高的技术问题。
Description
技术领域
本申请涉及TV板卡测试领域,具体而言,涉及一种视频检测方法和装置、计算机存储介质及相关设备。
背景技术
TV板卡中信号处理链路复杂,在视频输出解码端,会出现画质异常的现象,如花屏、绿屏、黑屏、马赛克等。
为了避免画质异常,需要进行TV板卡测试,TV板卡测试包含ATV模拟电视、DTV数字电视、USB可插拔、OTT网络信号、HDMI信号等测试场景,每一种场景都包含不同比例的上述异常。目前主要依靠测试人员人眼观看屏幕测试板卡是否出现异常,人工成本高,且效率低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种视频检测方法和装置、计算机存储介质及相关设备,以至少解决相关技术中视频测试效率低且成本高的技术问题。
根据本申请实施例的第一方面,提供了一种视频检测方法,包括:获取测试视频流和参考视频流;对测试视频流和参考视频流进行同步处理,确定测试视频流中的当前帧对应的参考帧,其中,参考帧是参考视频流中与当前帧同步的帧;利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。
可选地,对测试视频流和参考视频流进行同步处理,确定测试视频流中的当前帧对应的参考帧包括:对测试视频流和参考视频流进行同步处理,确定目标偏移量;按照目标偏移量,从参考视频流中获取测试视频流中的当前帧对应的参考帧。
可选地,对测试视频流和参考视频流进行同步处理,确定目标偏移量包括:将参考视频流中的视频帧与测试视频流中的视频帧进行比较,确定第一偏移量,其中,第一偏移量用于表征测试视频中的视频帧相对于参考视频流中的视频帧的偏移量;按照第一偏移量,将参考视频流中的视频帧集合与测试视频流中的视频帧集合进行比较,确定第二偏移量,其中,第二偏移量用于表征测试视频中的视频帧集合相对于参考视频流中的视频帧集合的偏移量,视频帧集合包含以当前视频帧为中心的多个视频帧;获取第一偏移量和第二偏移量之和,得到目标偏移量。
可选地,将参考视频流中的视频帧与测试视频流中的视频帧进行比较,确定第一偏移量包括:获取参考视频流中的多个第一视频帧,其中,任意两个第一视频帧在参考视频流中的位置间隔相同;获取每个第一视频帧与测试视频流中的每个第二视频帧的相似度;获取相似度大于第一阈值的第一视频帧和第二视频帧,得到第一目标帧和第二目标帧;基于第一目标帧在参考视频流中的位置和第二目标帧在测试视频流中的位置,确定第一偏移量。
可选地,获取每个第一视频帧与测试视频流中的每个第二视频帧的相似度包括:获取每个第一视频帧和每个第二视频帧的归一化相关系数,得到相似度。
可选地,按照第一偏移量,将参考视频流中的视频帧集合与测试视频流中的视频帧集合进行比较,确定第二偏移量包括:获取参考视频流中以第一目标帧为中心的多个视频帧,得到第一视频帧集合;获取测试视频流中以第二目标帧为中心的多个视频帧,以第二目标帧之前的第一预设帧为中心的多个视频帧,以及以第二目标帧之后的第二预设帧为中心的多个视频帧,得到多个第二视频帧集合,其中,第一视频帧集合与每个第二视频帧集合中包含的视频帧的数量相同;获取第一视频帧集合与每个第二视频帧集合的相似度均值;获取最大相似度均值对应的第二视频帧集合,得到目标集合,其中,目标集合包含以第三目标帧为中心的多个视频帧;基于第二目标帧在测试视频流中的位置和第三目标帧在测试视频流中的位置,确定第二偏移量。
可选地,获取第一视频帧集合与每个第二视频帧集合的相似度均值包括:获取第一视频帧集合中每个视频帧与每个第二视频帧集合中对应帧的相似度,得到多个相似度;获取多个相似度的平均值,得到相似度均值。
可选地,利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果包括:利用孪生神经网络对当前帧和参考帧进行处理,得到当前帧与参考帧的相似度;在相似度大于等于第二阈值的情况下,确定检测结果为当前帧正常;在相似度小于第二阈值的情况下,确定检测结果为当前帧异常。
可选地,利用孪生神经网络对当前帧和参考帧进行处理,得到当前帧与参考帧的相似度包括:利用第一卷积神经网络对当前帧进行处理,得到当前帧的特征;利用第二卷积神经网络对参考帧进行处理,得到参考帧的特征,其中,第一卷积神经网络与第二卷积神经网络的权值和结构相同;利用相似性度量对当前帧的特征和参考帧的特征进行处理,得到当前帧与参考帧的相似度。
可选地,上述方法还包括:获取多组样本数据,其中,每组样本数据包括:第一视频帧,第二视频帧,及第一视频帧与第二视频帧的相似度;对多组样本数据进行预处理,得到处理后的多组样本数据;利用处理后的多组样本数据训练孪生神经网络。
可选地,对多组样本数据进行预处理,得到处理后的多组样本数据包括:对多组样本数据进行归一化处理;对归一化处理后的多组样本数据进行旋转,得到处理后的多组样本数据。
根据本申请实施例的第二方面,提供了一种视频检测方法,包括:获取测试视频流和参考视频流;对测试视频流和参考视频流进行同步处理,确定目标偏移量;按照目标偏移量,从参考视频流中获取测试视频流中的当前帧对应的参考帧;利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。
可选地,对测试视频流和参考视频流进行同步处理,确定目标偏移量包括:将参考视频流中的视频帧与测试视频流中的视频帧进行比较,确定第一偏移量,其中,第一偏移量用于表征测试视频中的视频帧相对于参考视频流中的视频帧的偏移量;按照第一偏移量,将参考视频流中的视频帧集合与测试视频流中的视频帧集合进行比较,确定第二偏移量,其中,第二偏移量用于表征测试视频中的视频帧集合相对于参考视频流中的视频帧集合的偏移量,视频帧集合包含以当前视频帧为中心的多个视频帧;获取第一偏移量和第二偏移量之和,得到目标偏移量。
可选地,利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果包括:利用孪生神经网络对当前帧和参考帧进行处理,得到当前帧与参考帧的相似度;在相似度大于等于第二阈值的情况下,确定检测结果为当前帧正常;在相似度小于第二阈值的情况下,确定检测结果为当前帧异常。
根据本申请实施例的第三方面,提供了一种视频检测装置,包括:获取模块,用于获取测试视频流和参考视频流;同步处理模块,用于对测试视频流和参考视频流进行同步处理,确定测试视频流中的当前帧对应的参考帧,其中,参考帧是参考视频流中与当前帧同步的帧;网络处理模块,用于利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。
根据本申请实施例的第四方面,提供了一种视频检测装置,包括:视频流获取模块,用于获取测试视频流和参考视频流;偏移量确定模块,用于对测试视频流和参考视频流进行同步处理,确定目标偏移量;参考帧获取模块,用于按照目标偏移量,从参考视频流中获取测试视频流中的当前帧对应的参考帧;网络处理模块,用于利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。
根据本申请实施例的第五方面,提供了一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法步骤。
根据本申请实施例的第六方面,提供了一种电子设备,包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的方法步骤。
在本申请实施例中,通过对测试视频流和参考视频流进行同步处理,可以确定测试视频流中的当前帧对应的参考帧,进一步利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,可以得到最终的检测结果。由于在双路视频流同步后进行逐帧对比异常检测,从而可以一次性判别所有画质异常类型,从而解决了相关技术中视频测试效率低且成本高的技术问题,实现视频画质异常的快速检测,达到了提高检测效率、并降低检测成本的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的第一种视频检测方法的流程图;
图2是根据本申请实施例的另一种视频检测方法的流程图;
图3是根据本申请实施例的样本采集硬件结构的示意图;
图4是根据本申请实施例的siamese网络结构的示意图;
图5是根据本申请实施例的单帧多帧配合视频流同步原理的示意图;
图6是根据本申请实施例的第二种视频检测方法的流程图;
图7是根据本申请实施例的一种视频检测方法的硬件环境示意图;
图8是根据本申请实施例的一种视频检测方法的示意图;
图9是根据本申请实施例的第一种视频检测装置的示意图;
图10是根据本申请实施例的第二种视频检测装置的示意图;
图11是根据本申请实施例的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
TV板卡中信号处理链路复杂,在视频输出解码端,会出现画质异常的现象。为了避免上述问题,需要对TV板卡进行测试,TV板卡测试包含ATV模拟电视、DTV数字电视、USB可插拔、OTT网络信号、HDMI信号等测试场景,每一种场景都包含不同比例的上述异常。目前主要依靠测试人员人眼观看屏幕测试板卡是否出现异常,人工成本高,且效率低。
为了解决上述技术问题,本申请实施例提供了一种视频检测方法和装置、计算机存储介质及相关设备。
实施例1
根据本申请实施例,提供了一种视频检测方法,该方法应用于TV板卡测试。
下面结合图1对本申请实施例提供的视频检测方法进行详细介绍。如图1所示,该方法包括如下步骤:
步骤S102,获取测试视频流和参考视频流;
测试视频流可以是待测试TV板卡输出的视频流,参考视频流可以是标准TV板卡输出的视频流。两个TV板卡输出相同的视频流,且参考视频流中包含的每个视频帧均不存在异常,从而通过将测试视频流中每个视频帧与参考视频流中相应的视频帧进行对比,可以确定测试视频流中的视频帧是否存在异常。
为了能够获取到TV板卡输出的视频流,可以通过采集卡对TV板卡输出的视频进行采集,进一步对采集到的视频进行解码,将得到的PC视频解码流作为测试视频流或参考视频流。
由于采集卡实时采集TV板卡输出的视频流,且视频帧检测的时间往往大于采集卡采集视频流的时间,为了能够及时对测试视频流中每个视频帧进行处理,可以新建两个队列,分别存储测试视频流和参考视频流,队列的长度为L,采集卡采集到的帧数据存入队列中,直到填满队列。
步骤S104,对测试视频流和参考视频流进行同步处理,确定测试视频流中的当前帧对应的参考帧,其中,参考帧是参考视频流中与当前帧同步的帧;
由于两个TV板卡输出视频流可能存在时间差异,如果直接获取相同存储位置的视频帧进行对比,可能会由于两个视频帧不是同一个时刻的视频帧,导致检测结果不准确。为了解决上述问题,需要对两个队列中存储的视频流进行同步处理,确定两个视频流中同一个时刻的视频帧,从而可以确定当前帧对应的参考帧。
为了能够对两路视频流进行同步处理,可以采用单帧扫描的方式,将两个队列中存储的视频帧进行单帧对比,通过计算两个视频帧的相似度可以确定两个视频帧是否为同一个时刻的视频帧。
但是,由于视频帧相邻连续帧画面内容本身相似度就很高,因此,通过单帧扫描可能会存在一两帧偏差。为了进一步提高同步的准确度,可以外加多帧约束进行矫正,从而得到更为准确的同步位置,并且提高同步处理的鲁棒性。
步骤S106,利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。
在对两个视频流进行同步处理之后,可以确定同一时刻的两个视频帧,进一步通过计算两个视频帧的相似度,可以确定测试视频流中的当前帧是否正常,得到最终的检测结果。
为了方便将两个队列行中的视频帧进行比较,在通过同步处理确定同步位置之后,可以以同步位置为基准,对存储参考视频流的队列中的视频帧进行更新。更新完成之后,计算两个队列中存储在相同位置的视频帧的相似度,完成异常检测。
为了能够更加准确地计算两个对比帧之间的相似度,可以构建孪生神经siamese网络,其中,siamese网络包括两个共享权重、结构相同的卷积神经网络ConvNet,并通过相似性度量Distance获得输入图像之间的相似性Similarity。
在本申请实施例中,通过对测试视频流和参考视频流进行同步处理,可以确定测试视频流中的当前帧对应的参考帧,进一步利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,可以得到最终的检测结果。在本申请实施例中,由于在双路视频流同步后进行逐帧对比异常检测,从而可以一次性判别所有画质异常类型,实现视频画质异常的快速检测,提高检测效率、并降低检测成本。
实施例2
如图2所示,该视频检测方法包括如下步骤:
步骤S202,获取多组样本数据,其中,每组样本数据包括:第一视频帧,第二视频帧,及第一视频帧与第二视频帧的相似度;
为了能够训练得到准确度最高的siamese网络,可以采集12万张两路同步队列和数据,其中正负样本对各占50%,不存在异常的当前帧和参考帧为正样本对,存在异常的当前帧和参考帧为负样本对。
可选地,如图3所示,样本采集方式描述如下:通过在待测板卡前置一个RF信号衰减器,分别按照1db~10db不等的衰减幅度,对RF信号进行衰减,待测流端就会出现类似马赛克等异常画面;间隔5s启动信号衰减器按钮,按照1db步长,依次衰减信号,可以得到很多的对应视频流;再根据本申请实施例中提供的同步方案进行同步,拆帧,人工标注正常样本对和异常样本对,即可实现训练数据样本集的采集。
步骤S204,对多组样本数据进行预处理,得到处理后的多组样本数据;
为了方便后续通过样本数据进行siamese网络训练,确保训练过程能够快速收敛,并确保训练好的siamese网络能够针对不同情况的图像进行处理,在采集到样本数据之后,可以进行数据预处理,具体处理方式如下:对多组样本数据进行归一化处理;对归一化处理后的多组样本数据进行旋转,得到处理后的多组样本数据。
首先,可以对所有数据进行均值、标准差归一化,将样本数据限定在处理需要范围内。然后随机对样本数据中的图像进行水平或垂直方向的旋转、角度在-5°~5°之间的旋转。
可选地,可通过开源计算视觉库opencv中的normalize函数进行归一化处理,通过opencv中的warpPerspective函数,设定warp函数为预定的旋转矩阵,实现图像旋转。
步骤S206,利用处理后的多组样本数据训练孪生神经网络;
本申请实施例中,可以采用全卷积siameseFC网络作为特征表示和决策网络。如图4所示,其中特征表示部分采用权值共享、结构一致的ConvNet网络,包括5个卷积层、2个池化层,每个卷积层后都有BN层、ReLU层(conv5除外)。相似度计算部分可以通过相似性度量Distance获得样本对之间的相似性,也即将样本对经过上述特征提取后获得的特征采用互相关操作计算两者之间的相似性分数Similarity。网络采用的损失函数为二分类交叉熵损失。将获取的相似度分数进行sigmoid转换为相似性概率值,然后与给定的标签一起输入到二分类交叉熵中计算损失,其中正样本标签为1,负样本标签为0。
模型过程如下:将12万对样本对按照6:2:2的分布将其划分为训练集7.2万:验证集2.4万:测试集2.4万。在训练阶段,共训练50个epoch,每个batch大小为64,为了保证每个batch的正负样本对数量均衡,设置了一个0~1之间的随机数,当随机数小于0.5时,取正样本对,否则取负样本对。梯度下降采用SGD,初始学习率为0.01,每10个epoch学习率衰减0.1。每训练一个epoch,进行一次验证,保存验证集性能最好的网络结构及其参数,用于后续异常检测。
模型测试过程如下:调用训练好的网络,测试阈值设置为0.5,当测试样本对相似度分数经过sigmoid变换后大于0.5时,判断为正常样本对,否则判断出现异常。
可选地,可以通过如下方式进行模型训练:
定义loss函数为ContrastiveLoss,以MobileNetV2为主干网络,输入一组patch,输出这一组样本的特征表示:
output1,output2=MobileNetV2(img0,img1);
然后计算输出表示之间的差异:
Diff=output1-output2;
并分别计算特征空间的欧氏距离和对比损失loss_contrastive;
euclidean_distance=torch.sqrt(torch.sum(torch.pow(diff,2),dim=1))
loss_contrastive=torch.mean((1-label)*torch.pow(euclidean_distance,2)+(label)*torch.pow(torch.clamp(self.margin-euclidean_distance,min=0.0),2))
代价函数contrastive loss描述如下:
其中d=||an-bn||2,代表两个样本之间的欧氏距离,y为两个样本是否匹配的标签。y=1表示两个样本相似或匹配,y=0表示不匹配,margin为设定阈值;
将所有的样本按patch输入到网络,使得最终的对比损失最小,即可完成网络的训练。
步骤S208,获取测试视频流和参考视频流;
可选地,通过开源计算机视觉库opencv中的VideoCapture类获取采集卡采集到的数据,通过vector<Mat>将采集卡采集到的数据存入队列中。
步骤S210,对测试视频流和参考视频流进行同步处理,确定测试视频流中的当前帧对应的参考帧,其中,参考帧是参考视频流中与当前帧同步的帧;
在本实施例中,可以通过如下方式确定参考帧:对测试视频流和参考视频流进行同步处理,确定目标偏移量;按照目标偏移量,从参考视频流中获取测试视频流中的当前帧对应的参考帧。
在本申请实施例中,可以通过测试视频流中的视频帧与参考视频流中的视频帧之间的偏移量确定测试视频流和参考视频流进行同步处理的同步位置。
为了避免相邻帧相似度极高带来的不稳定,双路视频单帧扫描的方式共同寻找可能的同步帧,进一步利用多帧滑窗的方式进行约束,从而确定最终的同步帧。双路视频同步方法如下:将参考视频流中的视频帧与测试视频流中的视频帧进行比较,确定第一偏移量,其中,第一偏移量用于表征测试视频中的视频帧相对于参考视频流中的视频帧的偏移量;按照第一偏移量,将参考视频流中的视频帧集合与测试视频流中的视频帧集合进行比较,确定第二偏移量,其中,第二偏移量用于表征测试视频中的视频帧集合相对于参考视频流中的视频帧集合的偏移量,视频帧集合包含以当前视频帧为中心的多个视频帧;获取第一偏移量和第二偏移量之和,得到偏移量。
在本申请实施例中,可以采用如下方式确定第一偏移量:获取参考视频流中的多个第一视频帧,其中,任意两个第一视频帧在参考视频流中的位置间隔相同;获取每个第一视频帧与测试视频流中的每个第二视频帧的相似度;获取相似度大于第一阈值的第一视频帧和第二视频帧,得到第一目标帧和第二目标帧;基于第一目标帧在参考视频流中的位置和第二目标帧在测试视频流中的位置,确定第一偏移量。
由于相邻帧的相似度极高,为了减少同步数据量,可以从参考视频流中选择部分视频帧进行单帧扫描,具体可以采用按照等差顺序取帧。另外,由于队列中存储的两路视频流可能不存在同一时刻的视频帧,因此,可以预先设置相似度阈值T1,即上述的第一阈值,如果两个视频帧的相似度超过该阈值,则可以确定两个视频帧能有可能是同一时刻的视频帧。
在本申请实施例的一个示例性实施例中,如图5所示,参考视频流为Video1,测试视频流为Video2。对于参考视频流,以队列中首尾帧为基准,等差顺序取帧,共取出M帧;以M帧中每一帧为基准分别遍历测试视频流中所有帧,分别计算M帧中每一帧与测试视频流中所有帧的相似度,确定遍历过程中相似度最大,并且相似度值大于第一阈值T1的视频帧,并记录offset1作为第一偏移量。例如,M帧中每一帧的位置用i表示,测试视频流中每一帧的位置用j表示,当参考视频流中第i帧与测试视频流中第j帧的相似度最大且大于第一阈值T1,则第一偏移量offset1=i-j。
目前相似度计算的方式有多种,在本申请实施例中,采用模板匹配方法确定图像与图像之间的相似度,也即,采用归一化互相关系数,归一化相关系数最大值即表示最佳匹配。基于上述方法,每个第一视频帧与测试视频流中的每个第二视频帧的相似度计算方法如下:获取每个第一视频帧和每个第二视频帧的归一化相关系数,得到相似度。
其中,归一化相关系数的公式描述如下:
其中,C表示相关系数矩阵,f表示第一视频帧,T表示第二视频帧,表示第一视频帧的均值,T表示第二视频帧的均值,i、j表示第二视频帧中每个像素点的横坐标、纵坐标,u、v表示第一视频帧中每个像素点的横坐标、纵坐标。
由于参考图像和测试图像为同尺寸,因此计算得到的相关系数矩阵C仅为一个元素,表示的就是参考图像和测试图像的相似度值。
进一步地,可以采用如下方式确定第二偏移量:获取参考视频流中以第一目标帧为中心的多个视频帧,得到第一视频帧集合;获取测试视频流中以第二目标帧为中心的多个视频帧,以第二目标帧之前的第一预设帧为中心的多个视频帧,以及以第二目标帧之后的第二预设帧为中心的多个视频帧,得到多个第二视频帧集合,其中,第一视频帧集合与每个第二视频帧集合中包含的视频帧的数量相同;获取第一视频帧集合与每个第二视频帧集合的相似度均值;获取最大相似度均值对应的第二视频帧集合,得到目标集合,其中,目标集合包含以第三目标帧为中心的多个视频帧;基于第二目标帧在测试视频流中的位置和第三目标帧在测试视频流中的位置,确定第二偏移量。
针对相邻帧的相似度极高的情况,可以预先设置视频帧集合中视频帧的数量,将视频帧集合作为约束帧组合,进一步确定第二偏移量。第一预设帧和第二预设帧与第二目标帧的间隔相同,可以预先根据检测需求进行设定,本申请对此不作具体限定。
在本申请实施例的一个示例性实施例中,如图5所示,在确定遍第一目标帧M1之后,获取以M1帧为中心的多个视频帧(总共M2个视频帧)作为约束帧组合,利用这个组合在测试视频流中,以第一偏移量为基准,确定第二目标帧,并获取以第二目标帧为中心的多个视频帧(总共为M2个视频帧作为约束帧组合),以第二目标帧之前且位置间隔M3的第一预设帧为中心的多个视频帧(总共为M2个视频帧)作为约束帧组合,以及以第二目标帧之后且位置间隔M3的第二预设帧为中心的多个视频帧(总共为M2个视频帧)作为约束帧组合。例如,参考视频流中约束帧组合以第i帧为中心,基于第i帧对应的第j帧,可以确定测试视频流中多个约束帧组合包括:以第j帧为中心的约束帧组合、以第(j-M3)帧为中心的约束帧组合,及以第(j+M3)帧为中心的约束帧组合。可以获取测试视频流中每个约束帧组合与参考视频流中的约束帧组合中所有帧的相似度均值,均值最大对应的位置作为第二偏移量offset2。例如,均值最大对应的约束帧组合为以第(j-M3)帧中心的约束帧组合,则第二偏移量offset2=j-(j-M3)=M3。
进一步地,在得到第一偏移量和第二偏移量之后,可以以M1帧中的大数对应的偏移位置,作为最终的偏移量offset=offset1+offset2例如,在确定offset1=i-j,offset2=M3之后,最终的offset=i-j+M3=i-(j-M3)。
由上可知,通过单帧扫描,可以确定参考视频流中第i帧与测试视频流中第j帧相对应,经过多帧约束矫正后,第i帧与测试视频流中第j-M3帧相对应。例如,参考测试流中第M帧的同步帧为测试视频流中地N帧。
在本申请实施例的一个示例性实施例中,视频帧集合的相似度均值可以通过如下方式得到:获取第一视频帧集合中每个视频帧与每个第二视频帧集合中对应帧的相似度,得到多个相似度;获取多个相似度的平均值,得到相似度均值。
由于视频帧集合共包含M2帧,可以按照队列中存储顺序,将两个视频帧集合中的视频帧一一对应,然后计算相似度的平均值,从而得到相似度均值。
可选地,使用开源计算机视觉库opencv中的matchTemplate函数选择归一化互相关函数参数TM_CCOEFF_NORMED,分别获取M2对帧之间的相似度值,然后分别对M2个相似度值求和,除以M2,即可得到M2帧的相似度均值。
步骤S212,利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。
在本申请实施例中,利用孪生神经网络得到检测结果的方式如下:利用孪生神经网络对当前帧和参考帧进行处理,得到当前帧与参考帧的相似度;在相似度大于等于第二阈值的情况下,确定检测结果为当前帧正常;在相似度小于第二阈值的情况下,确定检测结果为当前帧异常。
本实施例中,为了确定当前帧是否画质异常,可以预先设置相似度阈值T2,即上述的第二阈值,大于该阈值则判断当前帧正常,小于该阈值则判断当前帧画质异常。
在本申请实施例的一个示例性实施例中,利用孪生神经网络对当前帧和参考帧进行处理,得到当前帧与参考帧的相似度包括:利用第一卷积神经网络对当前帧进行处理,得到当前帧的特征;利用第二卷积神经网络对参考帧进行处理,得到参考帧的特征,其中,第一卷积神经网络与第二卷积神经网络的权值和结构相同;利用相似性度量对当前帧的特征和参考帧的特征进行处理,得到当前帧与参考帧的相似度。
如图4所示,siamese网络包括两个共享权重、结构相同的卷积神经网络ConvNet和相似性度量Distance,当前帧和参考帧可以作为两个输入,分别通过两个ConvNet得到各自的特征,然后通过相似性度量Distance得到两帧之间的相似性Similarity。
需要注意的是,由于篇幅所限,本申请中并没有穷举所有的实施方式,只要是不互相矛盾的特征,均可以自由随意组合,成为本申请可选的实施方式。
实施例3
根据本申请实施例,提供了一种视频检测方法,该方法应用于TV板卡测试。如图6所示,该方法包括如下步骤:
步骤S502,获取测试视频流和参考视频流;
步骤S504,对测试视频流和参考视频流进行同步处理,确定目标偏移量;
在本实施例中,确定目标偏移量的方式如下:将参考视频流中的视频帧与测试视频流中的视频帧进行比较,确定第一偏移量,其中,第一偏移量用于表征测试视频中的视频帧相对于参考视频流中的视频帧的偏移量;按照第一偏移量,将参考视频流中的视频帧集合与测试视频流中的视频帧集合进行比较,确定第二偏移量,其中,第二偏移量用于表征测试视频中的视频帧集合相对于参考视频流中的视频帧集合的偏移量,视频帧集合包含以当前视频帧为中心的多个视频帧;获取第一偏移量和第二偏移量之和,得到目标偏移量。
步骤S506,按照目标偏移量,从参考视频流中获取测试视频流中的当前帧对应的参考帧;
步骤S508,利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。
可选地,利用孪生神经网络得到当前帧的检测结果的具体方式如下:利用孪生神经网络对当前帧和参考帧进行处理,得到当前帧与参考帧的相似度;在相似度大于等于第二阈值的情况下,确定检测结果为当前帧正常;在相似度小于第二阈值的情况下,确定检测结果为当前帧异常。
在本申请实施例中,通过对测试视频流和参考视频流进行同步处理,可以确定测试视频流中的当前帧对应的参考帧,进一步利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,可以得到最终的检测结果,实现视频画质异常的快速检测,提高检测效率、并降低检测成本。
实施例4
本申请实施例提供的视频检测方法可以应用于TV板卡测试中,如图7所示,TV板卡通过采集卡与电子设备连接。具体的,采集卡采集TV板卡输出的视频流,并将解码后的视频流传输给电子设备进行处理。
当需要对TV板卡进行测试时,如图8所示,整个检测流程如下:同一个TV信号源输入到参考TV板卡和待测TV板卡中,分别通过采集卡采集TV板卡输出的视频,得到PC视频解码流,通过双路视频同步算法进行同步处理,得到参考图像和待测图像,进一步通过异常检测算法得到最终的检测结果。其中,双路视频流同步算法基于单帧扫描的结果,外加多帧约束的方式实现;异常检测算法通过siamese网络学习出来的相关相似度评价值实现。
实施例5
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
如图9所示,该视频检测装置可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。该装置包括:获取模块82、同步处理模块84和网络处理模块86。
获取模块82,用于获取测试视频流和参考视频流;
同步处理模块84,用于对测试视频流和参考视频流进行同步处理,确定测试视频流中的当前帧对应的参考帧,其中,参考帧是参考视频流中与当前帧同步的帧;
网络处理模块86,用于利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。
在本实施例上述基础上,同步处理模块包括:偏移量确定子模块,用于对测试视频流和参考视频流进行同步处理,确定目标偏移量;获取子模块,用于按照目标偏移量,从参考视频流中获取测试视频流中的当前帧对应的参考帧。
在本实施例上述基础上,偏移量确定子模块包括:第一偏移量确定单元,用于将参考视频流中的视频帧与测试视频流中的视频帧进行比较,确定第一偏移量,其中,第一偏移量用于表征测试视频中的视频帧相对于参考视频流中的视频帧的偏移量;第二偏移量确定单元,用于按照第一偏移量,将参考视频流中的视频帧集合与测试视频流中的视频帧集合进行比较,确定第二偏移量,其中,第二偏移量用于表征测试视频中的视频帧集合相对于参考视频流中的视频帧集合的偏移量,视频帧集合包含以当前视频帧为中心的多个视频帧;获取单元,用于获取第一偏移量和第二偏移量之和,得到目标偏移量。
在本实施例上述基础上,第一偏移量确定单元包括:第一获取子单元,用于获取参考视频流中的多个第一视频帧,其中,任意两个第一视频帧之间的间隔均相同;第二获取子单元,用于获取每个第一视频帧与测试视频流中的每个第二视频帧的相似度;第三获取子单元,用于获取相似度大于第一阈值的第一视频帧和第二视频帧,得到第一目标帧和第二目标帧;第一确定子单元,用于基于第一目标帧在参考视频流中的位置和第二目标帧在测试视频流中的位置,确定第一偏移量。
在本实施例上述基础上,第二获取子单元用于获取每个第一视频帧和每个第二视频帧的归一化相关系数,得到相似度。
在本实施例上述基础上,第二偏移量确定单元包括:第四获取子单元,用于获取参考视频流中以第一目标帧为中心的多个视频帧,得到第一视频帧集合;第五获取子单元,用于获取测试视频流中以第二目标帧为中心的多个视频帧,以第二目标帧之前的第一预设帧为中心的多个视频帧,以及以第二目标帧之后的第二预设帧为中心的多个视频帧,得到多个第二视频帧集合,其中,第一视频帧集合与每个第二视频帧集合中包含的视频帧的数量相同;第六获取子单元,用于获取第一视频帧集合与每个第二视频帧集合的相似度均值;第七获取子单元,用于获取最大相似度均值对应的第二视频帧集合,得到目标集合,其中,目标集合包含以第三目标帧为中心的多个视频帧;第二确定子单元,用于基于第二目标帧在测试视频流中的位置和第三目标帧在测试视频流中的位置,确定第二偏移量。
在本实施例上述基础上,第六获取子单元用于获取第一视频帧集合中每个视频帧与每个第二视频帧集合中对应帧的相似度,得到多个相似度;获取多个相似度的平均值,得到相似度均值。
在本实施例上述基础上,网络处理模块包括:网络处理子模块,用于利用孪生神经网络对当前帧和参考帧进行处理,得到当前帧与参考帧的相似度;结果确定子模块,用于在相似度大于等于第二阈值的情况下,确定检测结果为当前帧正常;在相似度小于第二阈值的情况下,确定检测结果为当前帧异常。
在本实施例上述基础上,网络处理子模块包括:第一处理单元,用于利用第一卷积神经网络对当前帧进行处理,得到当前帧的特征;第二处理单元,用于利用第二卷积神经网络对参考帧进行处理,得到参考帧的特征,其中,第一卷积神经网络与第二卷积神经网络的权值和结构相同;第三处理单元,用于利用相似性度量对当前帧的特征和参考帧的特征进行处理,得到当前帧与参考帧的相似度。
在本实施例上述基础上,该装置还包括:数据获取模块,用于获取多组样本数据,其中,每组样本数据包括:第一视频帧,第二视频帧,及第一视频帧与第二视频帧的相似度;预处理模块,用于对多组样本数据进行预处理,得到处理后的多组样本数据;训练模块,用于利用处理后的多组样本数据训练孪生神经网络。
在本实施例上述基础上,预处理模块包括:归一化子模块,用于对多组样本数据进行归一化处理;旋转子模块,用于对归一化处理后的多组样本数据进行旋转,得到处理后的多组样本数据。
需要说明的是,上述实施例提供的视频检测装置在执行视频检测方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频检测装置与视频检测方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
实施例6
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
如图10所示,该视频检测装置可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。该装置包括:视频流获取模块92、偏移量确定模块94、参考帧获取模块96和网络处理模块98。
视频流获取模块92,用于获取测试视频流和参考视频流;
偏移量确定模块94,用于对测试视频流和参考视频流进行同步处理,确定目标偏移量;
参考帧获取模块96,用于按照目标偏移量,从参考视频流中获取测试视频流中的当前帧对应的参考帧;
网络处理模块98,用于利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。
在本实施例上述基础上,偏移量确定模块包括:第一偏移量确定单元,用于将参考视频流中的视频帧与测试视频流中的视频帧进行比较,确定第一偏移量,其中,第一偏移量用于表征测试视频中的视频帧相对于参考视频流中的视频帧的偏移量;第二偏移量确定单元,用于按照第一偏移量,将参考视频流中的视频帧集合与测试视频流中的视频帧集合进行比较,确定第二偏移量,其中,第二偏移量用于表征测试视频中的视频帧集合相对于参考视频流中的视频帧集合的偏移量,视频帧集合包含以当前视频帧为中心的多个视频帧;获取单元,用于获取第一偏移量和第二偏移量之和,得到偏移量。
在本实施例上述基础上,网络处理模块包括:网络处理单元,用于利用孪生神经网络对当前帧和参考帧进行处理,得到当前帧与参考帧的相似度;结果确定单元,用于在相似度大于等于第二阈值的情况下,确定检测结果为当前帧正常;在相似度小于第二阈值的情况下,确定检测结果为当前帧异常。
需要说明的是,上述实施例提供的视频检测装置在执行视频检测方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频检测装置与视频检测方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
实施例7
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图8所示实施例的方法步骤,具体执行过程可以参见图1-图8所示实施例的具体说明,在此不进行赘述。
存储介质所在设备可以是计算机终端。
实施例8
如图11所示,所述电子设备1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种接口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及电子设备的操作应用程序。
在图11所示的电子设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的电子设备的操作应用程序,并具体执行以下操作:
获取测试视频流和参考视频流;对测试视频流和参考视频流进行同步处理,确定测试视频流中的当前帧对应的参考帧,其中,参考帧是参考视频流中与当前帧同步的帧;利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,得到当前帧的检测结果,其中,检测结果用于表征当前帧是否正常。
在一个实施例中,所述电子设备的操作***为windows***,在所述windows***中,所述处理器1001还执行以下步骤:
对测试视频流和参考视频流进行同步处理,确定目标偏移量;按照目标偏移量,从参考视频流中获取测试视频流中的当前帧对应的参考帧。
在一个实施例中,所述处理器1001还执行以下步骤:
将参考视频流中的视频帧与测试视频流中的视频帧进行比较,确定第一偏移量;按照第一偏移量,将参考视频流中的视频帧集合与测试视频流中的视频帧集合进行比较,确定第二偏移量;获取第一偏移量和第二偏移量之和,得到目标偏移量。
在一个实施例中,所述处理器1001还执行以下步骤:
获取参考视频流中的多个第一视频帧,其中,任意两个第一视频帧之间的间隔均相同;获取每个第一视频帧与测试视频流中的每个第二视频帧的相似度;获取相似度大于第一阈值的第一视频帧和第二视频帧,得到第一目标帧和第二目标帧;基于第一目标帧在参考视频流中的位置和第二目标帧在测试视频流中的位置,确定第一偏移量。
在一个实施例中,所述处理器1001还执行以下步骤:
获取每个第一视频帧和每个第二视频帧的归一化相关系数,得到相似度。
在一个实施例中,所述处理器1001还执行以下步骤:
获取参考视频流中以第一目标帧为中心的多个视频帧,得到第一视频帧集合;获取测试视频流中以第二目标帧为中心的多个视频帧,以第二目标帧之前的第一预设帧为中心的多个视频帧,以及以第二目标帧之后的第二预设帧为中心的多个视频帧,得到多个第二视频帧集合,其中,第一视频帧集合与每个第二视频帧集合中包含的视频帧的数量相同;获取第一视频帧集合与每个第二视频帧集合的相似度均值;获取最大相似度均值对应的第二视频帧集合,得到目标集合,其中,目标集合包含以第三目标帧为中心的多个视频帧;基于第二目标帧在测试视频流中的位置和第三目标帧在测试视频流中的位置,确定第二偏移量。
在一个实施例中,所述处理器1001还执行以下步骤:
获取第一视频帧集合中每个视频帧与每个第二视频帧集合中对应帧的相似度,得到多个相似度;获取多个相似度的平均值,得到相似度均值。
在一个实施例中,所述处理器1001还执行以下步骤:
利用孪生神经网络对当前帧和参考帧进行处理,得到当前帧与参考帧的相似度;在相似度大于等于第二阈值的情况下,确定检测结果为当前帧正常;在相似度小于第二阈值的情况下,确定检测结果为当前帧异常。
在一个实施例中,所述处理器1001还执行以下步骤:
利用第一卷积神经网络对当前帧进行处理,得到当前帧的特征;利用第二卷积神经网络对参考帧进行处理,得到参考帧的特征,其中,第一卷积神经网络与第二卷积神经网络的权值和结构相同;利用相似性度量对当前帧的特征和参考帧的特征进行处理,得到当前帧与参考帧的相似度。
在一个实施例中,所述处理器1001还执行以下步骤:
获取多组样本数据,其中,每组样本数据包括:第一视频帧,第二视频帧,及第一视频帧与第二视频帧的相似度;对多组样本数据进行预处理,得到处理后的多组样本数据;利用处理后的多组样本数据训练孪生神经网络。
在一个实施例中,所述处理器1001还执行以下步骤:
对多组样本数据进行归一化处理;对归一化处理后的多组样本数据进行旋转,得到处理后的多组样本数据。
通过对测试视频流和参考视频流进行同步处理,可以确定测试视频流中的当前帧对应的参考帧,进一步利用预先训练好的孪生神经网络对当前帧和参考帧进行处理,可以得到最终的检测结果,从而实现视频画质异常的快速检测,达到了提高检测效率、并降低检测成本的技术效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种视频检测方法,其特征在于,包括:
获取测试视频流和参考视频流;
对所述测试视频流和所述参考视频流进行同步处理,确定所述测试视频流中的当前帧对应的参考帧,其中,所述参考帧是所述参考视频流中与所述当前帧同步的帧;
利用预先训练好的孪生神经网络对所述当前帧和所述参考帧进行处理,得到所述当前帧的检测结果,其中,所述检测结果用于表征所述当前帧是否正常。
2.根据权利要求1所述的方法,其特征在于,对所述测试视频流和所述参考视频流进行同步处理,确定所述测试视频流中的当前帧对应的参考帧包括:
对所述测试视频流和所述参考视频流进行同步处理,确定目标偏移量;
按照所述目标偏移量,从所述参考视频流中获取所述测试视频流中的当前帧对应的参考帧。
3.根据权利要求2所述的方法,其特征在于,对所述测试视频流和所述参考视频流进行同步处理,确定目标偏移量包括:
将所述参考视频流中的视频帧与所述测试视频流中的视频帧进行比较,确定第一偏移量,其中,所述第一偏移量用于表征所述测试视频中的视频帧相对于所述参考视频流中的视频帧的偏移量;
按照所述第一偏移量,将所述参考视频流中的视频帧集合与所述测试视频流中的视频帧集合进行比较,确定第二偏移量,其中,所述第二偏移量用于表征所述测试视频中的视频帧集合相对于所述参考视频流中的视频帧集合的偏移量,所述视频帧集合包含以当前视频帧为中心的多个视频帧;
获取所述第一偏移量和所述第二偏移量之和,得到所述目标偏移量。
4.根据权利要求3所述的方法,其特征在于,将所述参考视频流中的视频帧与所述测试视频流中的视频帧进行比较,确定第一偏移量包括:
获取所述参考视频流中的多个第一视频帧,其中,任意两个第一视频帧在所述参考视频流中的位置间隔相同;
获取每个第一视频帧与所述测试视频流中的每个第二视频帧的相似度;
获取相似度大于第一阈值的第一视频帧和第二视频帧,得到第一目标帧和第二目标帧;
基于所述第一目标帧在所述参考视频流中的位置和所述第二目标帧在所述测试视频流中的位置,确定所述第一偏移量。
5.根据权利要求4所述的方法,其特征在于,获取每个第一视频帧与所述测试视频流中的每个第二视频帧的相似度包括:
获取所述每个第一视频帧和所述每个第二视频帧的归一化相关系数,得到所述相似度。
6.根据权利要求4所述的方法,其特征在于,按照所述第一偏移量,将所述参考视频流中的视频帧集合与所述测试视频流中的视频帧集合进行比较,确定第二偏移量包括:
获取所述参考视频流中以所述第一目标帧为中心的多个视频帧,得到第一视频帧集合;
获取所述测试视频流中以所述第二目标帧为中心的多个视频帧,以所述第二目标帧之前的第一预设帧为中心的多个视频帧,以及以所述第二目标帧之后的第二预设帧为中心的多个视频帧,得到多个第二视频帧集合,其中,所述第一视频帧集合与每个第二视频帧集合中包含的视频帧的数量相同;
获取所述第一视频帧集合与每个第二视频帧集合的相似度均值;
获取最大相似度均值对应的第二视频帧集合,得到目标集合,其中,所述目标集合包含以第三目标帧为中心的多个视频帧;
基于所述第二目标帧在所述测试视频流中的位置和所述第三目标帧在所述测试视频流中的位置,确定所述第二偏移量。
7.根据权利要求6所述的方法,其特征在于,获取所述第一视频帧集合与每个第二视频帧集合的相似度均值包括:
获取所述第一视频帧集合中每个视频帧与所述每个第二视频帧集合中对应帧的相似度,得到多个相似度;
获取所述多个相似度的平均值,得到所述相似度均值。
8.根据权利要求1所述的方法,其特征在于,利用预先训练好的孪生神经网络对所述当前帧和所述参考帧进行处理,得到所述当前帧的检测结果包括:
利用所述孪生神经网络对所述当前帧和所述参考帧进行处理,得到所述当前帧与所述参考帧的相似度;
在所述相似度大于等于第二阈值的情况下,确定所述检测结果为所述当前帧正常;
在所述相似度小于所述第二阈值的情况下,确定所述检测结果为所述当前帧异常。
9.根据权利要求8所述的方法,其特征在于,利用所述孪生神经网络对所述当前帧和所述参考帧进行处理,得到所述当前帧与所述参考帧的相似度包括:
利用第一卷积神经网络对所述当前帧进行处理,得到所述当前帧的特征;
利用第二卷积神经网络对所述参考帧进行处理,得到所述参考帧的特征,其中,所述第一卷积神经网络与所述第二卷积神经网络的权值和结构相同;
利用相似性度量对所述当前帧的特征和所述参考帧的特征进行处理,得到所述当前帧与所述参考帧的相似度。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取多组样本数据,其中,每组样本数据包括:第一视频帧,第二视频帧,及所述第一视频帧与所述第二视频帧的相似度;
对所述多组样本数据进行预处理,得到处理后的多组样本数据;
利用所述处理后的多组样本数据训练所述孪生神经网络。
11.根据权利要求10所述的方法,其特征在于,对所述多组样本数据进行预处理,得到处理后的多组样本数据包括:
对所述多组样本数据进行归一化处理;
对归一化处理后的多组样本数据进行旋转,得到所述处理后的多组样本数据。
12.一种视频检测方法,其特征在于,包括:
获取测试视频流和参考视频流;
对所述测试视频流和所述参考视频流进行同步处理,确定目标偏移量;
按照所述目标偏移量,从所述参考视频流中获取所述测试视频流中的当前帧对应的参考帧;
利用预先训练好的孪生神经网络对所述当前帧和所述参考帧进行处理,得到所述当前帧的检测结果,其中,所述检测结果用于表征所述当前帧是否正常。
13.根据权利要求12所述的方法,其特征在于,对所述测试视频流和所述参考视频流进行同步处理,确定目标偏移量包括:
将所述参考视频流中的视频帧与所述测试视频流中的视频帧进行比较,确定第一偏移量,其中,所述第一偏移量用于表征所述测试视频中的视频帧相对于所述参考视频流中的视频帧的偏移量;
按照所述第一偏移量,将所述参考视频流中的视频帧集合与所述测试视频流中的视频帧集合进行比较,确定第二偏移量,其中,所述第二偏移量用于表征所述测试视频中的视频帧集合相对于所述参考视频流中的视频帧集合的偏移量,所述视频帧集合包含以当前视频帧为中心的多个视频帧;
获取所述第一偏移量和所述第二偏移量之和,得到所述目标偏移量。
14.根据权利要求12所述的方法,其特征在于,利用预先训练好的孪生神经网络对所述当前帧和所述参考帧进行处理,得到所述当前帧的检测结果包括:
利用所述孪生神经网络对所述当前帧和所述参考帧进行处理,得到所述当前帧与所述参考帧的相似度;
在所述相似度大于等于第二阈值的情况下,确定所述检测结果为所述当前帧正常;
在所述相似度小于所述第二阈值的情况下,确定所述检测结果为所述当前帧异常。
15.一种视频检测装置,其特征在于,包括:
获取模块,用于获取测试视频流和参考视频流;
同步处理模块,用于对所述测试视频流和所述参考视频流进行同步处理,确定所述测试视频流中的当前帧对应的参考帧,其中,所述参考帧是所述参考视频流中与所述当前帧同步的帧;
网络处理模块,用于利用预先训练好的孪生神经网络对所述当前帧和所述参考帧进行处理,得到所述当前帧的检测结果,其中,所述检测结果用于表征所述当前帧是否正常。
16.一种视频检测装置,其特征在于,包括:
视频流获取模块,用于获取测试视频流和参考视频流;
偏移量确定模块,用于对所述测试视频流和所述参考视频流进行同步处理,确定目标偏移量;
参考帧获取模块,用于按照所述目标偏移量,从所述参考视频流中获取所述测试视频流中的当前帧对应的参考帧;
网络处理模块,用于利用预先训练好的孪生神经网络对所述当前帧和所述参考帧进行处理,得到所述当前帧的检测结果,其中,所述检测结果用于表征所述当前帧是否正常。
17.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1至14中任意一项的方法步骤。
18.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1至14中任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911268905.6A CN111028222B (zh) | 2019-12-11 | 2019-12-11 | 视频检测方法和装置、计算机存储介质及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911268905.6A CN111028222B (zh) | 2019-12-11 | 2019-12-11 | 视频检测方法和装置、计算机存储介质及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111028222A true CN111028222A (zh) | 2020-04-17 |
CN111028222B CN111028222B (zh) | 2023-05-30 |
Family
ID=70206009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911268905.6A Active CN111028222B (zh) | 2019-12-11 | 2019-12-11 | 视频检测方法和装置、计算机存储介质及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111028222B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153374A (zh) * | 2020-09-25 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 视频帧图像的测试方法、装置、设备、计算机存储介质 |
CN112183289A (zh) * | 2020-09-22 | 2021-01-05 | 北京金山云网络技术有限公司 | 一种花屏检测方法、装置、设备及介质 |
CN113095269A (zh) * | 2021-04-22 | 2021-07-09 | 云南中烟工业有限责任公司 | 一种基于孪生神经网络判别卷烟爆珠受潮程度的方法 |
CN113591592A (zh) * | 2021-07-05 | 2021-11-02 | 珠海云洲智能科技股份有限公司 | 水上目标识别方法、装置、终端设备及存储介质 |
WO2023245584A1 (zh) * | 2022-06-23 | 2023-12-28 | 北京小米移动软件有限公司 | 摄像组件测试方法、装置、电子设备及存储介质 |
WO2024103417A1 (zh) * | 2022-11-18 | 2024-05-23 | 中国科学院深圳先进技术研究院 | 行为识别方法、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887737A (zh) * | 2009-05-13 | 2010-11-17 | 鸿富锦精密工业(深圳)有限公司 | 影音芯片检测***及方法 |
US20110169963A1 (en) * | 2010-01-14 | 2011-07-14 | Stefan Winkler | Video alignment and calibration for video quality measurement |
CN104539936A (zh) * | 2014-11-12 | 2015-04-22 | 广州中国科学院先进技术研究所 | 一种监测监控视频出现雪花噪声的***和方法 |
CN105208379A (zh) * | 2015-10-20 | 2015-12-30 | 广州视源电子科技股份有限公司 | 一种检测视频端口的方法及设备 |
CN106899846A (zh) * | 2017-02-23 | 2017-06-27 | 广州视源电子科技股份有限公司 | 板卡测试方法、装置及*** |
CN107592523A (zh) * | 2017-08-22 | 2018-01-16 | 康佳集团股份有限公司 | 一种电视机图像一致性的检测方法、存储设备及检测装置 |
-
2019
- 2019-12-11 CN CN201911268905.6A patent/CN111028222B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887737A (zh) * | 2009-05-13 | 2010-11-17 | 鸿富锦精密工业(深圳)有限公司 | 影音芯片检测***及方法 |
US20110169963A1 (en) * | 2010-01-14 | 2011-07-14 | Stefan Winkler | Video alignment and calibration for video quality measurement |
CN104539936A (zh) * | 2014-11-12 | 2015-04-22 | 广州中国科学院先进技术研究所 | 一种监测监控视频出现雪花噪声的***和方法 |
CN105208379A (zh) * | 2015-10-20 | 2015-12-30 | 广州视源电子科技股份有限公司 | 一种检测视频端口的方法及设备 |
CN106899846A (zh) * | 2017-02-23 | 2017-06-27 | 广州视源电子科技股份有限公司 | 板卡测试方法、装置及*** |
CN107592523A (zh) * | 2017-08-22 | 2018-01-16 | 康佳集团股份有限公司 | 一种电视机图像一致性的检测方法、存储设备及检测装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112183289A (zh) * | 2020-09-22 | 2021-01-05 | 北京金山云网络技术有限公司 | 一种花屏检测方法、装置、设备及介质 |
CN112153374A (zh) * | 2020-09-25 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 视频帧图像的测试方法、装置、设备、计算机存储介质 |
CN113095269A (zh) * | 2021-04-22 | 2021-07-09 | 云南中烟工业有限责任公司 | 一种基于孪生神经网络判别卷烟爆珠受潮程度的方法 |
CN113591592A (zh) * | 2021-07-05 | 2021-11-02 | 珠海云洲智能科技股份有限公司 | 水上目标识别方法、装置、终端设备及存储介质 |
WO2023245584A1 (zh) * | 2022-06-23 | 2023-12-28 | 北京小米移动软件有限公司 | 摄像组件测试方法、装置、电子设备及存储介质 |
WO2024103417A1 (zh) * | 2022-11-18 | 2024-05-23 | 中国科学院深圳先进技术研究院 | 行为识别方法、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111028222B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111028222B (zh) | 视频检测方法和装置、计算机存储介质及相关设备 | |
CN108846365B (zh) | 视频中打架行为的检测方法、装置、存储介质及处理器 | |
CN110853033B (zh) | 基于帧间相似度的视频检测方法和装置 | |
US20190362171A1 (en) | Living body detection method, electronic device and computer readable medium | |
US20130279813A1 (en) | Adaptive interest rate control for visual search | |
CN108182421B (zh) | 视频分割方法和装置 | |
CN108337505B (zh) | 信息获取方法和装置 | |
US20210004587A1 (en) | Image detection method, apparatus, device and storage medium | |
CN108416902A (zh) | 基于差异识别的实时物体识别方法和装置 | |
CN111414948B (zh) | 目标对象检测方法和相关装置 | |
CN109145841A (zh) | 一种基于视频监控的异常事件的检测方法及装置 | |
CN113238972B (zh) | 一种图像检测方法、装置、设备及存储介质 | |
CN112434546A (zh) | 人脸活体检测方法及装置、设备、存储介质 | |
CN111597933A (zh) | 人脸识别方法和装置 | |
CN111814820B (zh) | 图像处理方法及装置 | |
CN108921138B (zh) | 用于生成信息的方法和装置 | |
CN113573044B (zh) | 视频数据处理方法、装置、计算机设备及可读存储介质 | |
CN113743378A (zh) | 一种基于视频的火情监测方法和装置 | |
CN110633630B (zh) | 一种行为识别方法、装置及终端设备 | |
CN117218633A (zh) | 一种物品检测方法、装置、设备及存储介质 | |
CN112883762A (zh) | 一种活体检测方法、装置、***及存储介质 | |
CN116546304A (zh) | 一种参数配置方法、装置、设备、存储介质及产品 | |
CN116415019A (zh) | 虚拟现实vr图像识别方法及装置、电子设备、存储介质 | |
CN115004245A (zh) | 目标检测方法、装置、电子设备和计算机存储介质 | |
CN113870210A (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 |