CN110442749A - 视频帧处理方法及装置 - Google Patents
视频帧处理方法及装置 Download PDFInfo
- Publication number
- CN110442749A CN110442749A CN201910651319.3A CN201910651319A CN110442749A CN 110442749 A CN110442749 A CN 110442749A CN 201910651319 A CN201910651319 A CN 201910651319A CN 110442749 A CN110442749 A CN 110442749A
- Authority
- CN
- China
- Prior art keywords
- video frame
- feature
- video
- cnn
- target
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 31
- 238000003672 processing method Methods 0.000 title claims description 10
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000013527 convolutional neural network Methods 0.000 claims description 323
- 238000013139 quantization Methods 0.000 claims description 26
- 238000012163 sequencing technique Methods 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 21
- 230000006835 compression Effects 0.000 claims description 17
- 238000007906 compression Methods 0.000 claims description 17
- 238000000513 principal component analysis Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 abstract description 15
- 206010073653 Visual perseveration Diseases 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000012549 training Methods 0.000 description 11
- 230000004043 responsiveness Effects 0.000 description 10
- 238000000605 extraction Methods 0.000 description 8
- 238000012216 screening Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000013480 data collection Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/75—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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/045—Combinations of networks
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- 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/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- 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
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- 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/48—Matching video sequences
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Library & Information Science (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Image Analysis (AREA)
Abstract
本申请公开一种视频处理方法及装置,其中,视频处理方法包括:获取目标视频帧的CNN特征和目标视频帧的局部特征,对目标视频帧的CNN特征进行降维处理,获取目标视频帧的降维CNN特征;从多个样本视频帧中获取第一视频帧,第一视频帧的降维CNN特征与目标视频帧的降维CNN特征之间的距离符合第一预设条件;获取第一视频帧的局部特征;计算第一视频帧的局部特征和目标视频帧的局部特征之间的匹配度;若匹配度符合第二预设条件,将第一视频帧作为目标视频帧的重复视频帧。采用本申请的技术方案,可以提高重复视频帧检测的准确度。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种视频帧处理方法及装置。
背景技术
随着信息技术的发展,多媒体技术也应运而生,用户可以通过互联网观看各种视频网站发布的视频,同时用户也可以向视频网站上传视频。
在实现本发明过程中,发明人发现现有视频网站的视频库中存储了海量的视频。为了避免重复视频存储在视频库中,通常会对重复视频进行检测,而对重复视频的检测过程中,重复视频帧的检测就显得尤其重要。
发明内容
本发明实施例提供一种视频帧处理方法及装置,可以实现重复视频帧的检测,并且准确度高。
第一方面,本发明实施例提供了一种视频帧处理方法,包括:
获取目标视频帧的卷积神经网络CNN特征和所述目标视频帧的局部特征,所述目标视频帧的局部特征包括所述目标视频帧的第一关键点和与所述第一关键点对应的特征描述子;
对所述目标视频帧的CNN特征进行降维处理,获取所述目标视频帧的降维CNN特征;
从多个样本视频帧中获取第一视频帧,所述第一视频帧的降维CNN特征与所述目标视频帧的降维CNN特征之间的距离符合第一预设条件;
获取所述第一视频帧的局部特征,所述第一视频帧的局部特征包括所述第一视频帧中的第二关键点和与所述第二关键点对应的特征描述子;
计算所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度;
若所述匹配度符合第二预设条件,将所述第一视频帧作为所述目标视频帧的重复视频帧。
在一种可能的设计中,所述获取目标视频帧的卷积神经网络CNN特征,包括:
获取待查询视频;
对所述待查询视频进行等间隔视频截图,获得目标视频帧,所述目标视频帧为对所述待查询视频进行等间隔视频截图得到的多个视频帧中的任意一个视频帧;
将所述目标视频帧输入CNN网络进行处理,获得所述目标视频帧的CNN特征。
在一种可能的实现方式中,所述从多个样本视频帧中获取第一视频帧,包括:
获取样本视频的CNN特征索引,所述样本视频包括所述多个样本视频帧,所述CNN特征索引用于表示根据所述多个样本视频帧的降维CNN特征聚类形成的多个聚类,每个所述聚类包含聚类中心和所述聚类中的至少一个样本视频帧的降维CNN特征;
计算所述目标视频帧的降维CNN特征和所述多个聚类中每个聚类的聚类中心之间的距离,并将距离最近的聚类中心所对应的聚类作为目标聚类;
计算所述目标视频帧的降维CNN特征和所述目标聚类包含的至少一个样本视频帧中每个样本视频帧的降维CNN特征之间的距离,并将距离最近的降维CNN特征所对应的样本视频帧作为第一视频帧。
在一种可能的实现方式中,所述目标视频帧的局部特征包括m个第一关键点以及和所述m个关键点对应的m个第一特征描述子,一个所述第一关键点对应一个所述第一特征描述子,所述第一视频帧的局部特征包含n个第二关键点以及和所述n个第二关键点对应的n个第二特征描述子,一个所述第二关键点对应一个所述第二特征描述子,所述m为大于或者等于2的自然数,所述n为大于或者等于2的自然数;
所述计算所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度,包括:
针对每个所述第一特征描述子,获取所述n个第二特征描述子中每个第二特征描述子与所述第一特征描述子之间的n个距离;
按照从大到小的先后顺序,将所述n个距离排序形成排序队列;
获取所述排序队列中排序在最后的k个距离,所述k为大于或者等于2的自然数;
根据所述k个距离,确定所述第一特征描述子是与所述第一视频帧匹配的有效描述子;
根据所述m个第一特征描述子中是有效描述子的数量,确定所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度。
在一种可能的实现方式中,所述获取目标视频帧的卷积神经网络CNN特征和局部特征之前,还包括:
获取所述多个样本视频帧的CNN特征;
采用主成分分析PCA矩阵对所述多个样本视频帧的CNN特征进行降维处理,获得所述多个样本视频帧的降维CNN特征;
对所述多个样本视频帧的降维CNN特征进行k-means聚类,形成多个聚类,每个所述聚类包含至少一个样本视频帧的降维CNN特征;
对每个所述聚类包含的至少一个样本视频帧的降维CNN特征进行量化压缩,获得所述聚类对应的压缩后的CNN特征;
根据所述多个聚类、每个所述聚类对应的压缩后的CNN特征以及每个所述聚类的聚类中心,生成样本视频的CNN特征索引。
在一种可能的实现方式中,所述目标视频帧属于待查询视频,且所述目标视频帧在所述待查询视频中的播放时间点为第一播放时间点,所述第一视频帧属于样本视频中的目标视频,所述将所述第一视频帧作为所述目标视频帧的重复视频帧,包括:
获取所述第一视频帧的帧标识;
查找所述第一视频帧的帧标识对应于所述目标视频的第二播放时间点,并将所述目标视频中第二播放时间点的视频帧作为所述待查询视频中第一播放时间点的视频帧的重复视频帧。
在一种可能的实现方式中,所述方法还包括,
若所述待查询视频与所述目标视频所有重复视频帧的帧数量大于第二阈值,且所述所有重复视频帧中满足连续分布条件的重复视频帧分别分布于所述待查询视频的第一时间段和所述目标视频的第二时间段,将所述待查询视频中所述第一时间段的视频和所述目标视频中所述第二时间段的视频确定为重复视频段,所述第一时间段包括所述第一播放时间点,所述第二时间段包括所述第二播放时间点,所述连续分布条件包括相邻重复视频帧的时间差小于第三阈值。
第二方面,本发明实施例提供一种视频帧处理装置,包括:
第一获取模块,用于获取目标视频帧的卷积神经网络CNN特征和所述目标视频帧的局部特征,所述目标视频帧的局部特征包括所述目标视频帧的第一关键点和与所述第一关键点对应的特征描述子;
降维处理模块,用于对所述目标视频帧的CNN特征进行降维处理,获取所述目标视频帧的降维CNN特征;
第二获取模块,用于从多个样本视频帧中获取第一视频帧,所述第一视频帧的降维CNN特征与所述目标视频帧的降维CNN特征之间的距离符合第一预设条件;
第三获取模块,用于获取所述第一视频帧的局部特征,所述第一视频帧的局部特征包括所述第一视频帧中的第二关键点和与所述第二关键点对应的特征描述子;
计算模块,用于计算所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度;
第一确定模块,用于若所述匹配度符合第二预设条件,将所述第一视频帧作为所述目标视频帧的重复视频帧。
在一种可能的实现方式中,所述第一获取模块具体用于获取待查询视频;对所述待查询视频进行等间隔视频截图,获得目标视频帧,所述目标视频帧为对所述待查询视频进行等间隔视频截图得到的多个视频帧中的任意一个视频帧;将所述目标视频帧输入CNN网络进行处理,获得所述目标视频帧的CNN特征。
在一种可能的设计中,所述第二获取模块包括:
第一获取单元,用于获取样本视频的CNN特征索引,所述样本视频包括所述多个样本视频帧,所述CNN特征索引用于表示根据所述多个样本视频帧的降维CNN特征聚类形成的多个聚类,每个所述聚类包含聚类中心和所述聚类中的至少一个样本视频帧的降维CNN特征;
第一计算单元,用于计算所述目标视频帧的降维CNN特征和所述多个聚类中每个聚类的聚类中心之间的距离,并将距离最近的聚类中心所对应的聚类作为目标聚类;
第二计算单元,用于计算所述目标视频帧的降维CNN特征和所述目标聚类包含的至少一个样本视频帧中每个样本视频帧的降维CNN特征之间的距离,并将距离最近的降维CNN特征所对应的样本视频帧作为第一视频帧。
在一种可能的实现方式中,所述目标视频帧的局部特征包括m个第一关键点以及和所述m个关键点对应的m个第一特征描述子,一个所述第一关键点对应一个所述第一特征描述子,所述第一视频帧的局部特征包含n个第二关键点以及和所述n个第二关键点对应的n个第二特征描述子,一个所述第二关键点对应一个所述第二特征描述子,所述m为大于或者等于2的自然数,所述n为大于或者等于2的自然数;所述计算模块包括:
第二获取单元,用于针对每个所述第一特征描述子,获取所述n个第二特征描述子中每个第二特征描述子与所述第一特征描述子之间的n个距离;
排序单元,用于按照从大到小的先后顺序,将所述n个距离排序形成排序队列;
第三获取单元,用于获取所述排序队列中排序在最后的k个距离,所述k为大于或者等于2的自然数;
第一确定单元,用于根据所述k个距离,确定所述第一特征描述子是与所述第一视频帧匹配的有效描述子;
第二确定单元,用于根据所述m个第一特征描述子中是有效描述子的数量,确定所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度。
在一种可能的实现方式中,所述装置还包括:
第四获取模块,用于获取所述多个样本视频帧的CNN特征;
降维处理模块,用于采用主成分分析PCA矩阵对所述多个样本视频帧的CNN特征进行降维处理,获得所述多个样本视频帧的降维CNN特征;
聚类模块,用于对所述多个样本视频帧的降维CNN特征进行k-means聚类,形成多个聚类,每个所述聚类包含至少一个样本视频帧的降维CNN特征;
量化压缩模块,用于对每个所述聚类包含的至少一个样本视频帧的降维CNN特征进行量化压缩,获得所述聚类对应的压缩后的CNN特征;
生成模块,用于根据所述多个聚类、每个所述聚类对应的压缩后的CNN特征以及每个所述聚类的聚类中心,生成样本视频的CNN特征索引。
在一种可能的实现方式中,所述目标视频帧属于待查询视频,且所述目标视频帧在所述待查询视频中的播放时间点为第一播放时间点,所述第一视频帧属于样本视频中的目标视频,所述第一确定模块包括:
第四获取单元,用于获取所述第一视频帧的帧标识;
第三确定单元,用于查找所述第一视频帧的帧标识对应于所述目标视频的第二播放时间点,并将所述目标视频中第二播放时间点的视频帧作为所述待查询视频中第一播放时间点的视频帧的重复视频帧。
在一种可能的实现方式中,所述装置还包括:
第二确定模块,用于若所述待查询视频与所述目标视频所有重复视频帧的帧数量大于第二阈值,且所述所有重复视频帧中满足连续分布条件的重复视频帧分别分布于所述待查询视频的第一时间段和所述目标视频的第二时间段,将所述待查询视频中所述第一时间段的视频和所述目标视频中所述第二时间段的视频确定为重复视频段,所述第一时间段包括所述第一播放时间点,所述第二时间段包括所述第二播放时间点,所述连续分布条件包括相邻重复视频帧的时间差小于第三阈值。
第三方面,本发明实施例提供一种视频帧处理装置,所述视频帧处理装置包括处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行第一方面所述的方法。
第四方面,本发明实施例提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行第一方面所述的方法。
本发明实施例中,通过目标视频帧的降维CNN特征与样本视频帧之间的降维CNN特征之间的距离作第一层筛选,再进一步通过目标视频帧的局部特征与第一视频帧的局部特征之间的匹配度作第二层筛选,从而准确的检测到目标视频帧的重复视频帧,准确度高。
附图说明
为了说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种视频帧处理方法的流程图;
图2为本发明实施例提供的一种CNN特征索引的生成流程示意图;
图3为本发明实施例提供的一种提取视频帧双重特征的流程图;
图4为本发明实施例提供的一种检索重复视频的示意图;
图5为本发明实施例提供的一种视频帧处理装置的结构示意图;
图6为本发明实施例提供的另一种视频帧处理装置的结构示意图;
图7为本发明实施例提供的又一种视频帧处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
下面将结合附图1-附图4,对本发明实施例提供的视频帧处理方法进行详细介绍。
请参见图1,为本发明实施例提供了一种视频帧处理方法的流程示意图。如图1所示,本发明实施例的所述视频帧处理方法可以包括以下步骤S101-步骤S106。
S101,获取目标视频帧的卷积神经网络CNN特征和所述目标视频帧的局部特征,所述目标视频帧的局部特征包括所述目标视频帧的第一关键点和与所述第一关键点对应的特征描述子;
S102,对所述目标视频帧的CNN特征进行降维处理,获取所述目标视频帧的降维CNN特征;
在一个实施例中,目标视频帧可以是待查询视频中的任意一个视频帧,或者,目标视频帧可以是需要进行比较的一个单独的图片帧。若目标视频帧是待查询视频中的视频帧,则是将待查询视频等间隔视频截图,生成多个视频帧,目标视频帧可以是该多个视频帧中的任意一个。通常对待查询视频的截图间隔应该小于需要比较的数据库中的样本视频的截图间隔,即对待查询视频采用较高的频率截图,例如每秒5帧,以确保可以与库内的样本视频帧匹配。更优的,截图的时间点可以随机抖动,以避免出现所有待查询视频帧都恰巧与库内样本视频帧间隔较大的极端情况。
获取目标视频帧的卷积神经网络(Convolutional Neural Network,CNN)特征和目标视频帧的局部特征,目标视频帧的局部特征即是目标视频帧中提取的关键点的特征描述子,目标视频帧中提取的关键点即是目标视频帧中与邻近像素点的像素值差异较大的像素点,比如,目标视频帧的图像中的棱角。
可选的,获取目标视频帧的CNN特征的获取方式可以是,选取一个在大规模通用图片数据集(imagenet,open-images,或ml-images数据集)上预训练得到的CNN网络,将目标视频帧输入该CNN网络,将最后一个或多个卷积层输出的特征图做池化处理(pooling),得到目标视频帧的原始CNN特征。该CNN特征是一个具有固定长度的浮点型向量,具有较高的维数(例如2048维)。在获取目标视频帧的CNN特征后,可以利用主成分分析(Principalcomponents analysis,PCA)矩阵对该CNN特征进行降维处理,获得该目标视频帧的降维CNN特征。
可选的,获取目标视频帧的局部特征的获取方式可以是,可选用SIFT、SURF、ORB、AKAZE、BRISK等局部特征提取器中的任意一种提取器进行局部特征的提取。根据测试,BRISK相对而言准确率和速度都高。通常,若使用默认参数提取的局部特征会包含大量的关键点和相应的特征描述子。为节约存储空间,可将关键点按响应度(response)进行排序,只保留响应度最高的数十个关键点和相应的特征描述子,其中一个关键点对应一个特征描述子。
更优的,对于某些纹理较为平滑的视频帧,可能检测出的关键点过少,可以一次或多次降低检测阈值,直到检测出足够的关键点。
S103,从多个样本视频帧中获取第一视频帧,所述第一视频帧的降维CNN特征与所述目标视频帧的降维CNN特征之间的距离符合第一预设条件;
在一个实施例中,从数据库中已经存储的样本视频帧中选择与目标视频帧的降维CNN特征之间距离最近的K个样本视频帧,第一视频帧可以是该K个样本视频帧中的任意一个。数据库中已经存储的样本视频帧为多个样本视频的样本视频帧,可选的,将每个样本视频等间隔截图,可以得到多个样本视频帧,截图的间隔取决于期望达到的时间分辨率。例如,如果需要检出5s及以上的片段重复,那么截图的间隔应小于5s。
从该多个样本视频帧中选择K个样本视频帧,该K个样本视频帧的降维CNN特征与目标视频帧的降维CNN特征之间距离最近,即该K个样本视频帧的降维CNN特征与目标视频帧的降维CNN特征之间的K个距离排序在所有样本视频帧的降维CNN特征与目标视频帧的降维CNN特征之间的距离中前K位,其中,该所有样本视频帧的降维CNN特征与目标视频帧的降维CNN特征之间的距离按照距离从小到大的顺序进行排序。
其中,选择距离最近的K个样本视频帧的选择方式可以是,首先获取样本视频的CNN特征索引,该样本视频包括库内所有的样本视频,即根据库内所有样本视频的样本视频帧的降维CNN特征可以生成一个CNN特征索引。该CNN特征索引是一个结构体,它用于表示库内所有样本视频的样本视频帧的降维CNN特征聚类形成的多个聚类,每个聚类包含聚类中心和该聚类中的至少一个样本视频帧的降维CNN特征。然后计算目标视频帧的降维CNN特征和上述多个聚类帧每个聚类的聚类中心之间的距离,并将距离最近的聚类中心所对应的聚类作为目标聚类,可选的,目标聚类可以包括一个聚类或者多个聚类,若是包括多个聚类,则可以是该多个聚类的聚类中心与目标视频帧的降维CNN特征之间的距离排序在最前。最后计算目标视频帧的降维CNN特征与目标聚类所包含的至少一个样本视频帧中每个样本视频帧的降维CNN特征之间的距离,并将距离最近的K个样本视频帧中任意一个视频帧作为第一视频帧,即存在K个第一视频帧。
可选的,由于CNN特征索引内的降维CNN特征已经经过降维和量化压缩处理,因此计算出的距离一般是近似的,因此,可以从数据库中动态读取所存储的目标聚类所包含的至少一个样本视频帧的原始的CNN特征进行计算排序,得到距离最近的K个样本视频帧,作为K个第一视频帧。
进一步可选的,还可以对该K个第一视频帧进行筛选,比如,距离超过一定阈值,则直接剔除掉。
对于上述实施例所提及的CNN特征索引生成方法可以参照图2,如图所示,CNN特征索引生成流程如图所示,包括步骤S21-S25;
S21,获取所述多个样本视频帧的CNN特征;
在一个实施例中,根据库内所有样本视频所包含的样本视频帧生成CNN特征索引,将库内视频等间隔截图,生成相应的样本视频帧,截图的间隔取决于期望达到的时间分辨率。例如,如果需要检出5s及以上的片段重复,那么截图的间隔应小于5s。
提取所划分的多个样本视频帧中每个样本视频帧的CNN特征。具体可选的,选取一个在大规模通用图片数据集(imagenet,open-images,或ml-images数据集)上预训练得到的CNN网络。将提取的每个样本视频帧分别输入该CNN网络,将最后一个或多个卷积层输出的特征图做池化处理(pooling),得到视频帧的CNN特征,该CNN特征是一个具有固定长度的浮点型向量,具有较高的维数(例如2048维)。
进一步可选的,还可以分别提取库内所有样本视频的样本视频帧的局部特征,可选用SIFT、SURF、ORB、AKAZE、BRISK等局部特征提取器中的一种进行局部特征的提取。根据测试,BRISK相对而言准确率和速度都高,通常使用默认参数提取的局部特征包含大量的关键点和相应的特征描述子。为节约存储空间,可将关键点按响应度(response)进行排序,只保留响应度最高的数十个关键点和相应的特征描述子。更优的,对于某些纹理较为平滑的视频帧,可能检测出的关键点过少,可以一次或多次降低检测阈值,直到检出足够的关键点和相应的特征描述子。
当提取了所有样本视频的样本视频帧的CNN特征和局部特征后,可以根据样本视频的视频id、视频帧id建立数据库,将(视频id,视频帧id,视频帧时间点,CNN特征,局部特征)信息元组上传数据库。假设视频总长度为10万小时,5秒一帧截图,CNN特征为2048维单精度浮点数(占用8KB空间),局部特征为128个BRISK特征描述子(约占用128x64Byte=8KB空间),数据库大小约为1.07TB,可以在单机上部署。
如图3所示,即是本发明实施例提供的一种CNN特征和局部特征提取示意图,如图所示,对库内视频进行截图,得到样本视频帧,进一步通过CNN网络计算得到CNN特征图,进一步对CNN特征图进行池化处理,即得到样本视频帧的CNN特征,同时,对样本视频帧进行局部特征提取,得到样本视频帧的局部特征,进一步通过响应度排序和过滤的方式,对局部特征进行筛选,得到筛选后样本视频帧的局部特征。将样本视频帧的CNN特征、局部特征上传数据库进行存储。
S22,采用主成分分析PCA矩阵对所述多个样本视频帧的CNN特征进行降维处理,获得所述多个样本视频帧的降维CNN特征;
在一个实施例中,从数据库中读出全部或部分样本视频帧的原始CNN特征加载到内存中,并利用加载到内存中的原始CNN特征训练PCA矩阵,该PCA矩阵可以在降低CNN特征维数的同时,尽可能保留原有信息。可选的,通过对PCA矩阵的特征值(eigenvalue)开平方再取倒数,该PCA矩阵附带数据白化效果。
当训练得到PCA矩阵后,将数据库中的全部样本视频帧的原始CNN特征一次性或者分批加载到内存中,并利用训练得到的PCA矩阵对全部样本视频帧的原始CNN特征进行降维处理,获得该全部样本视频帧的降维CNN特征。
S23,对所述多个样本视频帧的降维CNN特征进行k-means聚类,形成多个聚类,每个所述聚类包含至少一个样本视频帧的降维CNN特征;
在一个实施例中,依据欧氏距离或余弦距离,对全部样本视频帧的降维CNN特征进行k-means聚类,得到N个聚类和对应的聚类中心,每个聚类包含至少一个样本视频帧的降维CNN特征。
S24,对每个所述聚类包含的至少一个样本视频帧的降维CNN特征进行量化压缩,获得所述聚类对应的压缩后的CNN特征;
在一个实施例中,对每个聚类包含的样本视频帧的降维CNN特征进行量化压缩,可选的,可以利用标量量化(scalar quantization)或者乘积量化(product quantization),将每个聚类包含的样本视频帧的降维CNN特征进一步压缩。例如如果使用标量量化,可以把样本视频帧的降维CNN特征的每个维度从4字节的浮点数压缩到1字节的整数。
S25,根据所述多个聚类、每个所述聚类对应的压缩后的CNN特征以及每个所述聚类的聚类中心,生成样本视频的CNN特征索引。
在一个实施例中,根据k-means聚类形成的N个聚类、该N个聚类的聚类中心、每个聚类对应的压缩后的CNN特征,可以生成库内样本视频的CNN特征索引,该CNN特征索引是一个结构体,通过该CNN特征索引可以得到上述N个聚类、该N个聚类的聚类中心以及每个聚类对应的压缩后的CNN特征。
假设样本视频总长度为10万小时,5秒一帧截图,PCA降维到256,且使用标量量化,CNN特征索引最终大小约100,000 x 60 x 12 x 256Byte=17GB,可以在单机的内存上生成。
S104,获取所述第一视频帧的局部特征,所述第一视频帧的局部特征包括所述第一视频帧中的第二关键点和与所述第二关键点对应的特征描述子;
在一个实施例中,当从所有样本视频帧中,获取第一视频帧后,需要进一步通过局部特征进行验证。获取第一视频帧的局部特征的获取方式可以是,从上述步骤S21中所建立的数据库中提取第一视频帧的局部特征。可选的,可以根据第一视频帧所属视频id、该第一视频帧id从数据库帧查找对应的局部特征。第一视频帧的局部特征包括在该第一视频帧中提取的第二关键点和第二关键点对应的特征描述子,第一视频帧中提取的关键点可以是第一视频帧中与邻近像素点的像素值差异较大的像素点,比如第一视频帧中的棱角部分。
可选的,若包括K个第一视频帧,则需要获取该K个第一视频帧中每个第一视频帧的局部特征。
S105,计算所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度;
S106,若所述匹配度符合第二预设条件,将所述第一视频帧作为所述目标视频帧的重复视频帧。
在一个实施例中,若存在K个第一视频帧,需要计算该K个第一视频帧中每个第一视频帧的局部特征和目标视频帧的局部特征之间的匹配度,若第一视频帧的局部特征和目标视频帧的局部特征之间的匹配度大于第一阈值,则确定该第一视频帧与目标视频帧为重复视频帧。
计算第一视频帧的局部特征与目标视频帧的局部特征之间的匹配度的计算方式可以是,比如目标视频帧的局部特征包含m个第一关键点对应的m个第一特征描述子,一个第一关键点对应一个第一特征描述子,比如第一特征描述子可以用Ai(i=1,2,…m)表示,第一视频帧的局部特征包含n个第二关键点对应的n个第二特征描述子,一个第二关键点对应一个第二特征描述子,比如第二特征描述子可以用Bj(j=1,2,…n)表示,所述m为大于或者等于2的自然数,所述n为大于或者等于2的自然数。
针对每个第一特征描述子Ai,获取n个第二特征描述子Bj中每个第二特征描述子与第一特征描述子之间的n个距离。按照从大到小的先后顺序,将该n个距离排序形成排序队列,获取该排序队列帧排序在最后的k个距离,即距离最近的k个距离,根据该k个距离,确定第一特征描述子是与第一视频帧匹配的有效描述子。比如k=2,即对每个Ai找到与其距离最近的Bj1(距离为Di,j,1)和距离第二近的Bj2(距离为Di,j,2),若Di,j,1<r*Di,j,2(r可在0.6-0.9间取值),则认为第一特征描述子Ai是与第一视频帧匹配的有效匹配子。
进一步根据目标视频帧中m个第一特征描述子中是有效描述子的数量,确定所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度。比如最终的匹配度可以是,匹配度=有效描述子的数量/max(m,n)。
若存在K个第一视频帧,即待查询目标视频帧与多个样本视频帧均可能是重复视频帧,则需要验证目标视频帧与该K个第一视频帧中每个第一视频帧之间的匹配度,以确定目标视频帧与第一视频帧是否为重复视频帧。
当确定了目标视频帧与第一视频帧为重复视频帧后,可以进一步定位重复视频帧所在的播放时间点,以及该重复视频帧来自于样本视频中的哪一个视频。比如目标视频帧为待查询视频的第一播放时间点的视频帧,可以获取该第一视频帧的帧标识,从数据库中查找该第一视频帧的帧标识对应于目标视频的第二播放时间点,需要说明的是,若存在K个第一视频帧,则该K个第一视频帧可能对应于不同的视频的不同播放时间点。
进一步可选的,若所述待查询视频与所述目标视频所有重复视频帧的帧数量大于第二阈值,且所述所有重复视频帧中满足连续分布条件的重复视频帧分别分布于所述待查询视频的第一时间段和所述目标视频的第二时间段,将所述待查询视频中所述第一时间段的视频和所述目标视频中所述第二时间段的视频确定为重复视频段,所述第一时间段包括所述第一播放时间点,所述第二时间段包括所述第二播放时间点,所述连续分布条件包括相邻重复视频帧的时间差小于第三阈值。
在一个实施例帧,目标视频帧是待查询视频中的任意一个视频帧,在对待查询视频所包含的所有视频帧均与库内样本视频的样本视频帧进行比较,确定是否为重复视频帧。待查询视频与目标视频所有重复视频帧的帧数量大于第二阈值,该帧数量可以由待查询视频中确定为重复视频帧的帧数量决定,比如,待查询视频中100个视频帧与库内的样本视频帧为重复视频帧,则重复视频帧的帧数量为100,并且重复视频帧中满足连续分布条件的重复视频帧分别分布于待查询视频的第一时间段和目标视频的第二时间段,将待查询视频中第一时间段的视频和目标视频中第二时间段的视频确定为重复视频段。其中,连续分布条件可以是相邻重复视频帧的时间差小于第三阈值,即重复视频帧基本连续集中分布在待查询视频的第一时间段和目标视频的第二时间段。
当样本视频的数量进一步增大,如超过百万小时,受制于内存大小和查询速度的要求,在单机上实现重复视频帧的确定将比较困难,则可以拓展至多机分布式部署。假设有P台计算机可供部署,具体方法如下:将库内样本视频的样本视频帧平均分配到在P台计算机上,并行提取各自分配到的样本视频帧的CNN特征和局部特征,各个计算机将所得到的CNN特征和局部特征上传数据库。该数据库应当采用可支持海量数据的方案,例如云端存储。
从数据库中读出部分CNN特征到一台计算机的内存中,并根据读出的该部分CNN特征训练得到PCA矩阵、k-means聚类和量化压缩的参数,将所得到的PCA矩阵、k-means聚类参数和量化压缩的参数共享到所有的计算机上。
P台计算机上各自读取总量/P个CNN特征,既不遗漏也不重叠。根据共享的参数和各自读取的CNN特征进行聚类,分别在各自内存上建立CNN特征索引,每个计算机上的CNN特征索引不同。查询重复视频时,在一台或多台计算机上计算待查询视频帧的CNN特征和局部特征,然后将得到的CNN特征和局部特征发送到所有计算机,各个计算机并行计算该待查询视频帧的CNN特征与各自计算机的CNN特征索引所指示的各个聚类中CNN特征之间的距离,并将各自计算的距离发送给一台计算机,该计算机根据距离进行重排序,取距离最短的K个结果,确定K个第一视频帧,进一步通过局部特征的匹配确定是否为重复视频帧。
本发明实施例中,通过目标视频帧的降维CNN特征与样本视频帧之间的降维CNN特征之间的距离作第一层筛选,再进一步通过目标视频帧的局部特征与第一视频帧的局部特征之间的匹配度作第二层筛选,从而准确的检测到目标视频帧的重复视频帧,准确度高。
请参照图4,为本发明实施例提供的一种重复视频帧的检测流程图,如图所示,首先对待查询视频进行截图,得到视频帧,进一步通过CNN网络计算、池化以及降维的处理过程,得到视频帧的CNN特征。根据库内视频CNN特征索引,进行最邻近搜索以及过滤操作,得到距离视频帧的CNN特征距离最近的样本视频帧,作为第一视频帧,为了确定第一视频帧是否为重复视频帧,需要进一步通过局部特征进行验证。即从数据库内读取第一视频帧的局部特征。
同时,对视频帧进行局部特征提取,根据响应度排序和过滤,得到视频帧的局部特征。计算视频帧的局部特征和库内第一视频帧的局部特征之间的匹配度,若匹配度大于阈值,则进一步确定第一视频帧来自的视频id和时间点。
请参见图5,为本发明实施例提供了一种视频帧处理装置的结构示意图。如图5所示,本发明实施例的所述视频帧处理装置可以包括:
第一获取模块11,用于获取目标视频帧的卷积神经网络CNN特征和所述目标视频帧的局部特征,所述目标视频帧的局部特征包括所述目标视频帧的第一关键点和与所述第一关键点对应的特征描述子;
降维处理模块12,用于对所述目标视频帧的CNN特征进行降维处理,获取所述目标视频帧的降维CNN特征;
在一个实施例中,目标视频帧可以是待查询视频中的任意一个视频帧,或者,目标视频帧可以是需要进行比较的一个单独的图片帧。若目标视频帧是待查询视频中的视频帧,则是将待查询视频等间隔视频截图,生成多个视频帧,目标视频帧可以是该多个视频帧中的任意一个。通常对待查询视频的截图间隔应该小于需要比较的数据库中的样本视频的截图间隔,即对待查询视频采用较高的频率截图,例如每秒5帧,以确保可以与库内的样本视频帧匹配。更优的,截图的时间点可以随机抖动,以避免出现所有待查询视频帧都恰巧与库内样本视频帧间隔较大的极端情况。
获取目标视频帧的卷积神经网络(Convolutional Neural Network,CNN)特征和目标视频帧的局部特征,目标视频帧的局部特征即是目标视频帧中提取的关键点的特征描述子,目标视频帧中提取的关键点即是与邻近像素点的像素值差异较大的像素点,比如,目标视频帧的图像中的棱角。
可选的,获取目标视频帧的CNN特征的获取方式可以是,选取一个在大规模通用图片数据集(imagenet,open-images,或ml-images数据集)上预训练得到的CNN网络,将目标视频帧输入该CNN网络,将最后一个或多个卷积层输出的特征图做池化处理(pooling),得到目标视频帧的CNN特征。该CNN特征是一个具有固定长度的浮点型向量,具有较高的维数(例如2048维)。可选的,在获取目标视频帧的原始CNN特征后,可以利用主成分分析(Principal components analysis,PCA)矩阵对该原始CNN特征进行降维。
可选的,获取目标视频帧的局部特征的获取方式可以是,可选用SIFT、SURF、ORB、AKAZE、BRISK等局部特征提取器中的任意一种提取器进行局部特征的提取。根据测试,BRISK相对而言准确率和速度都高。通常,若使用默认参数提取的局部特征会包含大量的关键点和相应的特征描述子。为节约存储空间,可将关键点按响应度(response)进行排序,只保留响应度最高的数十个关键点和相应的特征描述子,其中一个关键点对应一个特征描述子。
更优的,对于某些纹理较为平滑的视频帧,可能检测出的关键点过少,可以一次或多次降低检测阈值,直到检测出足够的关键点。
第二获取模块13,用于从多个样本视频帧中获取第一视频帧,所述第一视频帧的降维CNN特征与所述目标视频帧的降维CNN特征之间的距离符合第一预设条件;
可选的,第二获取模块可包括第一获取单元、第一计算单元以及第二计算单元;
第一获取单元,用于获取样本视频的CNN特征索引,所述样本视频包括所述多个样本视频帧,所述CNN特征索引用于表示根据所述多个样本视频帧的降维CNN特征聚类形成的多个聚类,每个所述聚类包含聚类中心和所述聚类中的至少一个样本视频帧的降维CNN特征;
第一计算单元,用于计算所述目标视频帧的降维CNN特征和所述多个聚类中每个聚类的聚类中心之间的距离,并将距离最近的聚类中心所对应的聚类作为目标聚类;
第二计算单元,用于计算所述目标视频帧的降维CNN特征和所述目标聚类包含的至少一个样本视频帧中每个样本视频帧的降维CNN特征之间的距离,并将距离最近的降维CNN特征所对应的样本视频帧作为第一视频帧。
在一个实施例中,从数据库中已经存储的样本视频帧中选择与目标视频帧的降维CNN特征之间距离最近的K个样本视频帧,第一视频帧可以是该K个样本视频帧中的任意一个。数据库中已经存储的样本视频帧为多个样本视频的样本视频帧,可选的,将每个样本视频等间隔截图,可以得到多个样本视频帧,截图的间隔取决于期望达到的时间分辨率。例如,如果需要检出5s及以上的片段重复,那么截图的间隔应小于5s。
从该多个样本视频帧中选择K个样本视频帧,该K个样本视频帧的降维CNN特征与目标视频帧的降维CNN特征之间距离最近,即该K个样本视频帧的降维CNN特征与目标视频帧的降维CNN特征之间的K个距离排序在所有样本视频帧的降维CNN特征与目标视频帧的降维CNN特征之间的距离中前K位,其中,该所有样本视频帧的降维CNN特征与目标视频帧的降维CNN特征之间的距离按照距离从小到大的顺序进行排序。
其中,选择距离最近的K个样本视频帧的选择方式可以是,首先获取样本视频的CNN特征索引,该样本视频包括库内所有的样本视频,即根据库内所有样本视频的样本视频帧的降维CNN特征可以生成一个降维CNN特征索引。该CNN特征索引是一个结构体,它用于表示库内所有样本视频的样本视频帧的降维CNN特征聚类形成的多个聚类,每个聚类包含聚类中心和该聚类中的至少一个样本视频帧的降维CNN特征。然后计算目标视频帧的降维CNN特征和上述多个聚类帧每个聚类的聚类中心之间的距离,并将距离最近的聚类中心所对应的聚类作为目标聚类,可选的,目标聚类可以包括一个聚类或者多个聚类,若是包括多个聚类,则可以是该多个聚类的聚类中心与目标视频帧的降维CNN特征之间的距离排序在最前。最后计算目标视频帧的降维CNN特征与目标聚类所包含的至少一个样本视频帧中每个样本视频帧的降维CNN特征之间的距离,并将距离最近的K个样本视频帧中任意一个视频帧作为第一视频帧,即存在K个第一视频帧。
可选的,由于CNN特征索引内的降维CNN特征已经经过降维和量化压缩处理,因此计算出的距离一般是近似的,因此,可以从数据库中动态读取所存储的目标聚类所包含的至少一个样本视频帧的原始的CNN特征进行计算排序,得到距离最近的K个样本视频帧,作为K个第一视频帧。
进一步可选的,还可以对该K个第一视频帧进行筛选,比如,距离超过一定阈值,则直接剔除掉。
第三获取模块14,用于获取所述第一视频帧的局部特征,所述第一视频帧的局部特征包括所述第一视频帧中的第二关键点和与所述第二关键点对应的特征描述子;
在一个实施例中,当从所有样本视频帧中,确定了与待查询目标视频帧为第一视频帧后,需要进一步通过局部特征进行验证。获取第一视频帧的局部特征的获取方式可以是,从上述步骤S21中所建立的数据库中提取第一视频帧的局部特征。可选的,可以根据第一视频帧所属视频id、该第一视频帧id从数据库帧查找对应的局部特征。第一视频帧的局部特征包括在该第一视频帧中提取的第二关键点以及和第二关键点对应的第二特征描述子,第一视频帧中提取的第二关键点可以是第一视频帧中与邻近像素点的像素值差异较大的像素点,比如第一视频帧中的棱角部分。
可选的,若包括K个第一视频帧,则需要获取该K个第一视频帧中每个样本视频帧的局部特征。
计算模块15,用于计算所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度;
可选的,计算模块15可包括第二获取单元、排序单元、第三获取单元、第一确定单元以及第二确定单元;
第二获取单元,用于针对每个所述第一特征描述子,获取所述n个第二特征描述子中每个第二特征描述子与所述第一特征描述子之间的n个距离;
排序单元,用于按照从大到小的先后顺序,将所述n个距离排序形成排序队列;
第三获取单元,用于获取所述排序队列中排序在最后的k个距离,所述k为大于或者等于2的自然数;
第一确定单元,用于根据所述k个距离,确定所述第一特征描述子是与所述第一视频帧匹配的有效描述子;
第二确定单元,用于根据所述m个第一特征描述子中是有效描述子的数量,确定所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度。
第一确定模块16,用于若所述匹配度符合第二预设条件,将所述第一视频帧作为所述目标视频帧的重复视频帧。
可选的,第一确定模块可包括第四获取单元和第三确定单元;
第四获取单元,用于获取所述第一视频帧的帧标识;
第三确定单元,用于查找所述第一视频帧的帧标识对应于所述多个视频中的目标视频,以及所述第一视频帧的帧标识对应于所述目标视频的第二播放时间点,并将所述待查询视频中第一播放时间点的视频帧与所述目标视频中第二播放时间点的视频帧确定为重复视频帧。
在一个实施例中,若存在K个第一视频帧,需要计算该K个第一视频帧中每个第一视频帧的局部特征和目标视频帧的局部特征之间的匹配度,若第一视频帧的局部特征和目标视频帧的局部特征之间的匹配度大于第一阈值,则确定该第一视频帧与目标视频帧为重复视频帧。
计算第一视频帧的局部特征与目标视频帧的局部特征之间的匹配度的计算方式可以是,比如目标视频帧的局部特征包含m个第一关键点对应的m个第一特征描述子,一个第一关键点对应一个第一特征描述子,比如第一特征描述子可以用Ai(i=1,2,…m)表示,第一视频帧的局部特征包含n个第二关键点对应的n个第二特征描述子,一个第二关键点对应一个第二特征描述子,比如第二特征描述子可以用Bj(j=1,2,…n)表示,所述m为大于或者等于2的自然数,所述n为大于或者等于2的自然数。
针对每个第一特征描述子Ai,获取n个第二特征描述子Bj中每个第二特征描述子与第一特征描述子之间的n个距离。按照从大到小的先后顺序,将该n个距离排序形成排序队列,获取该排序队列帧排序在最后的k个距离,即距离最近的k个距离,根据该k个距离,确定第一特征描述子是与第一视频帧匹配的有效描述子。比如k=2,即对每个Ai找到与其距离最近的Bj1(距离为Di,j,1)和距离第二近的Bj2(距离为Di,j,2),若Di,j,1<r*Di,j,2(r可在0.6-0.9间取值),则认为第一特征描述子Ai是与第一视频帧匹配的有效匹配子。
进一步根据目标视频帧中m个第一特征描述子中是有效描述子的数量,确定所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度。比如最终的匹配度可以是,匹配度=有效描述子的数量/max(m,n)。
若存在K个第一视频帧,即待查询目标视频帧与多个样本视频帧均可能是重复视频帧,则需要验证目标视频帧与该K个第一视频帧中每个第一视频帧之间的匹配度,以确定目标视频帧与第一视频帧是否为重复视频帧。
当确定了目标视频帧与第一视频帧为重复视频帧后,可以进一步定位重复视频帧所在的播放时间点,以及该重复视频帧来自于样本视频中的哪一个视频。比如目标视频帧为待查询视频的第一播放时间点的视频帧,可以获取该第一视频帧的帧标识,从数据库中查找该第一视频帧的帧标识对应于目标视频的第二播放时间点,需要说明的是,若存在K个第一视频帧,则该K个第一视频帧可能对应于不同的视频的不同播放时间点。
本发明实施例中,首先获取待查询目标视频帧的CNN特征和局部特征,再从多个样本视频帧帧选择与目标视频帧的CNN特征之间距离最近的样本视频帧,作为第一视频帧,然后获取第一视频帧的局部特征,最后计算第一视频帧的局部特征和目标视频帧的局部特征之间的匹配度,若匹配度大于第一阈值,确定该第一视频帧与目标视频帧为重复视频帧。这种方式先通过CNN特征作第一层筛选,再进一步通过局部特征的匹配作第二层筛选,从而准确的确定目标视频帧与样本视频帧是否为重复视频帧,准确度高。
具体执行步骤可以参见前述图1方法实施例的描述,此处不在赘述。
如图6所示,为本发明实施例提供的另一种视频帧处理装置的结构示意图,如图所示,本发明实施例提供的视频帧处理装置包括:第一获取模块21、降维处理模块22、第二获取模块23、第三获取模块24、计算模块25、第一确定模块26、第四获取模块27、降维处理模块28、聚类模块29、量化压缩模块30、生成模块31以及第二确定模块32;其中,第一获取模块21、降维处理模块22、第二获取模块23、第三获取模块24、计算模块25、第一确定模块26请参照图5实施例的描述,在此不再赘述。
第四获取模块27,用于获取所述多个样本视频帧的CNN特征;
在一个实施例中,根据库内所有样本视频所包含的样本视频帧生成CNN特征索引,将库内视频等间隔截图,生成相应的样本视频帧,截图的间隔取决于期望达到的时间分辨率。例如,如果需要检出5s及以上的片段重复,那么截图的间隔应小于5s。
提取所划分的多个样本视频帧中每个样本视频帧的CNN特征。具体可选的,选取一个在大规模通用图片数据集(imagenet,open-images,或ml-images数据集)上预训练得到的CNN网络。将提取的每个样本视频帧分别输入该CNN网络,将最后一个或多个卷积层输出的特征图做池化处理(pooling),得到视频帧的原始CNN特征,该原始CNN特征是一个具有固定长度的浮点型向量,具有较高的维数(例如2048维)。
进一步可选的,还可以分别提取库内所有样本视频的样本视频帧的局部特征,可选用SIFT、SURF、ORB、AKAZE、BRISK等局部特征提取器中的一种进行局部特征的提取。根据测试,BRISK相对而言准确率和速度都高,通常使用默认参数提取的局部特征包含大量的关键点和相应的特征描述子。为节约存储空间,可将关键点按响应度(response)进行排序,只保留响应度最高的数十个关键点和相应的特征描述子。更优的,对于某些纹理较为平滑的视频帧,可能检测出的关键点过少,可以一次或多次降低检测阈值,直到检出足够的关键点和相应的特征描述子。
当提取了所有样本视频的样本视频帧的CNN特征和局部特征后,可以根据样本视频的视频id、视频帧id建立数据库,将(视频id,视频帧id,视频帧时间点,CNN特征,局部特征)信息元组上传数据库。假设视频总长度为10万小时,5秒一帧截图,CNN特征为2048维单精度浮点数(占用8KB空间),局部特征为128个BRISK特征描述子(约占用128x64Byte=8KB空间),数据库大小约为1.07TB,可以在单机上部署。
如图3所示,即是本发明实施例提供的一种CNN特征和局部特征提取示意图,如图所示,对库内视频进行截图,得到样本视频帧,进一步通过CNN网络计算得到CNN特征图,进一步对CNN特征图进行池化处理,即得到样本视频帧的CNN特征,同时,对样本视频帧进行局部特征提取,得到样本视频帧的局部特征,进一步通过响应度排序和过滤的方式,对局部特征进行筛选,得到筛选后样本视频帧的局部特征。将样本视频帧的CNN特征、局部特征上传数据库进行存储。
降维处理模块28,用于采用主成分分析PCA矩阵对所述多个样本视频帧的CNN特征进行降维处理,获得所述多个样本视频帧的低维度CNN特征;
在一个实施例中,从数据库中读出全部或部分样本视频帧的原始CNN特征加载到内存中,并利用加载到内存中的原始CNN特征训练PCA矩阵,该PCA矩阵可以在降低CNN特征维数的同时,尽可能保留原有信息。可选的,通过对PCA矩阵的特征值(eigenvalue)开平方再取倒数,该PCA矩阵附带数据白化效果。
当训练得到PCA矩阵后,将数据库中的全部样本视频帧的原始CNN特征一次性或者分批加载到内存中,并利用训练得到的PCA矩阵对全部样本视频帧的原始CNN特征进行降维处理,获得该全部样本视频帧的降维CNN特征。
聚类模块29,用于对所述多个样本视频帧的降维CNN特征进行k-means聚类,形成多个聚类,每个所述聚类包含至少一个样本视频帧的降维CNN特征;
在一个实施例中,依据欧氏距离或余弦距离,对全部样本视频帧的低维度CNN特征进行k-means聚类,得到N个聚类和对应的聚类中心,每个聚类包含至少一个样本视频帧的降维CNN特征。
量化压缩模块30,用于对每个所述聚类包含的至少一个样本视频帧的降维CNN特征进行量化压缩,获得所述聚类对应的压缩后的CNN特征;
在一个实施例中,对每个聚类包含的样本视频帧的降维CNN特征进行量化压缩,可选的,可以利用标量量化(scalar quantization)或者乘积量化(product quantization),将每个聚类包含的样本视频帧的降维CNN特征进一步压缩。例如如果使用标量量化,可以把样本视频帧的降维CNN特征的每个维度从4字节的浮点数压缩到1字节的整数。
生成模块31,用于根据所述多个聚类、每个所述聚类对应的压缩后的CNN特征以及每个所述聚类的聚类中心,生成样本视频的CNN特征索引。
在一个实施例中,根据k-means聚类形成的N个聚类、该N个聚类的聚类中心、每个聚类对应的压缩后的CNN特征,可以生成库内样本视频的CNN特征索引,该CNN特征索引是一个结构体,通过该CNN特征索引可以得到上述N个聚类、该N个聚类的聚类中心以及每个聚类对应的压缩后的CNN特征。
假设样本视频总长度为10万小时,5秒一帧截图,PCA降维到256,且使用标量量化,CNN特征索引最终大小约100,000 x 60 x 12 x 256Byte=17GB,可以在单机的内存上生成。
第二确定模块32,用于若所述待查询视频与所述目标视频所有重复视频帧的帧数量大于第二阈值,且所述所有重复视频帧中满足连续分布条件的重复视频帧分别分布于所述待查询视频的第一时间段和所述目标视频的第二时间段,将所述待查询视频中所述第一时间段的视频和所述目标视频中所述第二时间段的视频确定为重复视频段,所述第一时间段包括所述第一播放时间点,所述第二时间段包括所述第二播放时间点,所述连续分布条件包括相邻重复视频帧的时间差小于第三阈值。
在一个实施例帧,目标视频帧是待查询视频中的任意一个视频帧,在对待查询视频所包含的所有视频帧均与库内样本视频的样本视频帧进行比较,确定是否为重复视频帧。待查询视频与目标视频所有重复视频帧的帧数量大于第二阈值,该帧数量可以由待查询视频中确定为重复视频帧的帧数量决定,比如,待查询视频中100个视频帧与库内的样本视频帧为重复视频帧,则重复视频帧的帧数量为100,并且重复视频帧中满足连续分布条件的重复视频帧分别分布于待查询视频的第一时间段和目标视频的第二时间段,将待查询视频中第一时间段的视频和目标视频中第二时间段的视频确定为重复视频段。其中,连续分布条件可以是相邻重复视频帧的时间差小于第三阈值,即重复视频帧基本连续集中分布在待查询视频的第一时间段和目标视频的第二时间段。
本发明实施例中,通过目标视频帧的降维CNN特征与样本视频帧之间的降维CNN特征之间的距离作第一层筛选,再进一步通过目标视频帧的局部特征与第一视频帧的局部特征之间的匹配度作第二层筛选,从而准确的检测到目标视频帧的重复视频帧,准确度高。
具体执行步骤可以参见前述图1方法实施例的描述,此处不在赘述。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1所示实施例的方法步骤,具体执行过程可以参见图1所示实施例的具体说明,在此不进行赘述。
请参照图7,为本发明实施例提供的另一种视频帧处理装置的结构示意图,如图7所示,所述视频帧处理装置1000可以包括:至少一个处理器1001,例如CPU,至少一个通信接口1003,存储器1004,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。通信接口1003可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1004可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机存储介质的存储器1004中可以包括操作***、网络通信模块以及程序指令。
在图7所示的视频帧处理装置1000中,处理器1001可以用于加载存储器1004中存储的程序指令,并具体执行以下操作:
获取目标视频帧的卷积神经网络CNN特征和所述目标视频帧的局部特征,所述目标视频帧的局部特征包括所述目标视频帧的第一关键点和与所述第一关键点对应的特征描述子;
对所述目标视频帧的CNN特征进行降维处理,获取所述目标视频帧的降维CNN特征;
从多个样本视频帧中获取第一视频帧,所述第一视频帧的降维CNN特征与所述目标视频帧的降维CNN特征之间的距离符合第一预设条件;
获取所述第一视频帧的局部特征,所述第一视频帧的局部特征包括所述第一视频帧中的第二关键点和与所述第二关键点对应的特征描述子;
计算所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度;
若所述匹配度符合第二预设条件,将所述第一视频帧作为所述目标视频帧的重复视频帧。
可选的,所述获取目标视频帧的卷积神经网络CNN特征,包括:
获取待查询视频;
对所述待查询视频进行等间隔视频截图,获得目标视频帧,所述目标视频帧为对所述待查询视频进行等间隔视频截图得到的多个视频帧中的任意一个视频帧;
将所述目标视频帧输入CNN网络进行处理,获得所述目标视频帧的CNN特征。
可选的,所述从多个样本视频帧中获取第一视频帧,包括:
获取样本视频的CNN特征索引,所述样本视频包括所述多个样本视频帧,所述CNN特征索引用于表示根据所述多个样本视频帧的降维CNN特征聚类形成的多个聚类,每个所述聚类包含聚类中心和所述聚类中的至少一个样本视频帧的降维CNN特征;
计算所述目标视频帧的降维CNN特征和所述多个聚类中每个聚类的聚类中心之间的距离,并将距离最近的聚类中心所对应的聚类作为目标聚类;
计算所述目标视频帧的降维CNN特征和所述目标聚类包含的至少一个样本视频帧中每个样本视频帧的降维CNN特征之间的距离,并将距离最近的降维CNN特征所对应的样本视频帧作为第一视频帧。
可选的,所述目标视频帧的局部特征包括m个第一关键点以及和所述m个关键点对应的m个第一特征描述子,一个所述第一关键点对应一个所述第一特征描述子,所述第一视频帧的局部特征包含n个第二关键点以及和所述n个第二关键点对应的n个第二特征描述子,一个所述第二关键点对应一个所述第二特征描述子,所述m为大于或者等于2的自然数,所述n为大于或者等于2的自然数;
所述计算所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度,包括:
针对每个所述第一特征描述子,获取所述n个第二特征描述子中每个第二特征描述子与所述第一特征描述子之间的n个距离;
按照从大到小的先后顺序,将所述n个距离排序形成排序队列;
获取所述排序队列中排序在最后的k个距离,所述k为大于或者等于2的自然数;
根据所述k个距离,确定所述第一特征描述子是与所述第一视频帧匹配的有效描述子;
根据所述m个第一特征描述子中是有效描述子的数量,确定所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度。
可选的,所述获取目标视频帧的卷积神经网络CNN特征和局部特征之前,还包括:
获取所述多个样本视频帧的CNN特征;
采用主成分分析PCA矩阵对所述多个样本视频帧的CNN特征进行降维处理,获得所述多个样本视频帧的降维CNN特征;
对所述多个样本视频帧的降维CNN特征进行k-means聚类,形成多个聚类,每个所述聚类包含至少一个样本视频帧的降维CNN特征;
对每个所述聚类包含的至少一个样本视频帧的降维CNN特征进行量化压缩,获得所述聚类对应的压缩后的CNN特征;
根据所述多个聚类、每个所述聚类对应的压缩后的CNN特征以及每个所述聚类的聚类中心,生成样本视频的CNN特征索引。
可选的,所述目标视频帧属于待查询视频,且所述目标视频帧在所述待查询视频中的播放时间点为第一播放时间点,所述第一视频帧属于样本视频中的目标视频,所述将所述第一视频帧作为所述目标视频帧的重复视频帧,包括:
获取所述第一视频帧的帧标识;
查找所述第一视频帧的帧标识对应于所述目标视频的第二播放时间点,并将所述目标视频中第二播放时间点的视频帧作为所述待查询视频中第一播放时间点的视频帧的重复视频帧。
可选的,处理器1001还可以用于加载存储器1004中存储的程序指令,用于执行以下操作:
若所述待查询视频与所述目标视频所有重复视频帧的帧数量大于第二阈值,且所述所有重复视频帧中满足连续分布条件的重复视频帧分别分布于所述待查询视频的第一时间段和所述目标视频的第二时间段,将所述待查询视频中所述第一时间段的视频和所述目标视频中所述第二时间段的视频确定为重复视频段,所述第一时间段包括所述第一播放时间点,所述第二时间段包括所述第二播放时间点,所述连续分布条件包括相邻重复视频帧的时间差小于第三阈值。
需要说明的是,具体执行过程可以参见图1所示方法实施例的具体说明,在此不进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
Claims (14)
1.一种视频帧处理方法,其特征在于,包括:
获取目标视频帧的卷积神经网络CNN特征和所述目标视频帧的局部特征,所述目标视频帧的局部特征包括所述目标视频帧的第一关键点和与所述第一关键点对应的特征描述子;
对所述目标视频帧的CNN特征进行降维处理,获取所述目标视频帧的降维CNN特征;
从多个样本视频帧中获取第一视频帧,所述第一视频帧的降维CNN特征与所述目标视频帧的降维CNN特征之间的距离符合第一预设条件;
获取所述第一视频帧的局部特征,所述第一视频帧的局部特征包括所述第一视频帧中的第二关键点和与所述第二关键点对应的特征描述子;
计算所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度;
若所述匹配度符合第二预设条件,将所述第一视频帧作为所述目标视频帧的重复视频帧。
2.如权利要求1所述的方法,其特征在于,所述获取目标视频帧的卷积神经网络CNN特征,包括:
获取待查询视频;
对所述待查询视频进行等间隔视频截图,获得目标视频帧,所述目标视频帧为对所述待查询视频进行等间隔视频截图得到的多个视频帧中的任意一个视频帧;
将所述目标视频帧输入CNN网络进行处理,获得所述目标视频帧的CNN特征。
3.如权利要求1所述的方法,其特征在于,所述从多个样本视频帧中获取第一视频帧,包括:
获取样本视频的CNN特征索引,所述样本视频包括所述多个样本视频帧,所述CNN特征索引用于表示根据所述多个样本视频帧的降维CNN特征聚类形成的多个聚类,每个所述聚类包含聚类中心和所述聚类中的至少一个样本视频帧的降维CNN特征;
计算所述目标视频帧的降维CNN特征和所述多个聚类中每个聚类的聚类中心之间的距离,并将距离最近的聚类中心所对应的聚类作为目标聚类;
计算所述目标视频帧的降维CNN特征和所述目标聚类包含的至少一个样本视频帧中每个样本视频帧的降维CNN特征之间的距离,并将距离最近的降维CNN特征所对应的样本视频帧作为第一视频帧。
4.如权利要求3所述的方法,其特征在于,所述目标视频帧的局部特征包括m个第一关键点以及和所述m个关键点对应的m个第一特征描述子,一个所述第一关键点对应一个所述第一特征描述子,所述第一视频帧的局部特征包含n个第二关键点以及和所述n个第二关键点对应的n个第二特征描述子,一个所述第二关键点对应一个所述第二特征描述子,所述m为大于或者等于2的自然数,所述n为大于或者等于2的自然数;
所述计算所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度,包括:
针对每个所述第一特征描述子,获取所述n个第二特征描述子中每个第二特征描述子与所述第一特征描述子之间的n个距离;
按照从大到小的先后顺序,将所述n个距离排序形成排序队列;
获取所述排序队列中排序在最后的k个距离,所述k为大于或者等于2的自然数;
根据所述k个距离,确定所述第一特征描述子是与所述第一视频帧匹配的有效描述子;
根据所述m个第一特征描述子中是有效描述子的数量,确定所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度。
5.如权利要求3或4所述的方法,其特征在于,所述获取目标视频帧的卷积神经网络CNN特征和局部特征之前,还包括:
获取所述多个样本视频帧的CNN特征;
采用主成分分析PCA矩阵对所述多个样本视频帧的CNN特征进行降维处理,获得所述多个样本视频帧的降维CNN特征;
对所述多个样本视频帧的降维CNN特征进行k-means聚类,形成多个聚类,每个所述聚类包含至少一个样本视频帧的降维CNN特征;
对每个所述聚类包含的至少一个样本视频帧的降维CNN特征进行量化压缩,获得所述聚类对应的压缩后的CNN特征;
根据所述多个聚类、每个所述聚类对应的压缩后的CNN特征以及每个所述聚类的聚类中心,生成样本视频的CNN特征索引。
6.如权利要求1所述的方法,其特征在于,所述目标视频帧属于待查询视频,且所述目标视频帧在所述待查询视频中的播放时间点为第一播放时间点,所述第一视频帧属于样本视频中的目标视频,所述将所述第一视频帧作为所述目标视频帧的重复视频帧,包括:
获取所述第一视频帧的帧标识;
查找所述第一视频帧的帧标识对应于所述目标视频的第二播放时间点,并将所述目标视频中第二播放时间点的视频帧作为所述待查询视频中第一播放时间点的视频帧的重复视频帧。
7.如权利要求6所述的方法,其特征在于,所述方法还包括,
若所述待查询视频与所述目标视频所有重复视频帧的帧数量大于第二阈值,且所述所有重复视频帧中满足连续分布条件的重复视频帧分别分布于所述待查询视频的第一时间段和所述目标视频的第二时间段,将所述待查询视频中所述第一时间段的视频和所述目标视频中所述第二时间段的视频确定为重复视频段,所述第一时间段包括所述第一播放时间点,所述第二时间段包括所述第二播放时间点,所述连续分布条件包括相邻重复视频帧的时间差小于第三阈值。
8.一种视频帧处理装置,其特征在于,包括:
第一获取模块,用于获取目标视频帧的卷积神经网络CNN特征和所述目标视频帧的局部特征,所述目标视频帧的局部特征包括所述目标视频帧的第一关键点和与所述第一关键点对应的特征描述子;
降维处理模块,用于对所述目标视频帧的CNN特征进行降维处理,获取所述目标视频帧的降维CNN特征;
第二获取模块,用于从多个样本视频帧中获取第一视频帧,所述第一视频帧的降维CNN特征与所述目标视频帧的降维CNN特征之间的距离符合第一预设条件;
第三获取模块,用于获取所述第一视频帧的局部特征,所述第一视频帧的局部特征包括所述第一视频帧中的第二关键点和与所述第二关键点对应的特征描述子;
计算模块,用于计算所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度;
第一确定模块,用于若所述匹配度符合第二预设条件,将所述第一视频帧作为所述目标视频帧的重复视频帧。
9.如权利要求8所述的装置,其特征在于,所述第一获取模块具体用于获取待查询视频;对所述待查询视频进行等间隔视频截图,获得目标视频帧,所述目标视频帧为对所述待查询视频进行等间隔视频截图得到的多个视频帧中的任意一个视频帧;将所述目标视频帧输入CNN网络进行处理,获得所述目标视频帧的CNN特征。
10.如权利要求8所述的装置,其特征在于,所述第二获取模块包括:
第一获取单元,用于获取样本视频的CNN特征索引,所述样本视频包括所述多个样本视频帧,所述CNN特征索引用于表示根据所述多个样本视频帧的降维CNN特征聚类形成的多个聚类,每个所述聚类包含聚类中心和所述聚类中的至少一个样本视频帧的降维CNN特征;
第一计算单元,用于计算所述目标视频帧的降维CNN特征和所述多个聚类中每个聚类的聚类中心之间的距离,并将距离最近的聚类中心所对应的聚类作为目标聚类;
第二计算单元,用于计算所述目标视频帧的降维CNN特征和所述目标聚类包含的至少一个样本视频帧中每个样本视频帧的降维CNN特征之间的距离,并将距离最近的降维CNN特征所对应的样本视频帧作为第一视频帧。
11.如权利要求10所述的装置,其特征在于,所述目标视频帧的局部特征包括m个第一关键点以及和所述m个关键点对应的m个第一特征描述子,一个所述第一关键点对应一个所述第一特征描述子,所述第一视频帧的局部特征包含n个第二关键点以及和所述n个第二关键点对应的n个第二特征描述子,一个所述第二关键点对应一个所述第二特征描述子,所述m为大于或者等于2的自然数,所述n为大于或者等于2的自然数;所述计算模块包括:
第二获取单元,用于针对每个所述第一特征描述子,获取所述n个第二特征描述子中每个第二特征描述子与所述第一特征描述子之间的n个距离;
排序单元,用于按照从大到小的先后顺序,将所述n个距离排序形成排序队列;
第三获取单元,用于获取所述排序队列中排序在最后的k个距离,所述k为大于或者等于2的自然数;
第一确定单元,用于根据所述k个距离,确定所述第一特征描述子是与所述第一视频帧匹配的有效描述子;
第二确定单元,用于根据所述m个第一特征描述子中是有效描述子的数量,确定所述第一视频帧的局部特征和所述目标视频帧的局部特征之间的匹配度。
12.如权利要求10或11所述的装置,其特征在于,所述装置还包括:
第四获取模块,用于获取所述多个样本视频帧的CNN特征;
降维处理模块,用于采用主成分分析PCA矩阵对所述多个样本视频帧的CNN特征进行降维处理,获得所述多个样本视频帧的降维CNN特征;
聚类模块,用于对所述多个样本视频帧的降维CNN特征进行k-means聚类,形成多个聚类,每个所述聚类包含至少一个样本视频帧的降维CNN特征;
量化压缩模块,用于对每个所述聚类包含的至少一个样本视频帧的降维CNN特征进行量化压缩,获得所述聚类对应的压缩后的CNN特征;
生成模块,用于根据所述多个聚类、每个所述聚类对应的压缩后的CNN特征以及每个所述聚类的聚类中心,生成样本视频的CNN特征索引。
13.如权利要求8所述的装置,其特征在于,所述目标视频帧属于待查询视频,且所述目标视频帧在所述待查询视频中的播放时间点为第一播放时间点,所述第一视频帧属于样本视频中的目标视频,所述第一确定模块包括:
第四获取单元,用于获取所述第一视频帧的帧标识;
第三确定单元,用于查找所述第一视频帧的帧标识对应于所述目标视频的第二播放时间点,并将所述目标视频中第二播放时间点的视频帧作为所述待查询视频中第一播放时间点的视频帧的重复视频帧。
14.如权利要求13所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于若所述待查询视频与所述目标视频所有重复视频帧的帧数量大于第二阈值,且所述所有重复视频帧中满足连续分布条件的重复视频帧分别分布于所述待查询视频的第一时间段和所述目标视频的第二时间段,将所述待查询视频中所述第一时间段的视频和所述目标视频中所述第二时间段的视频确定为重复视频段,所述第一时间段包括所述第一播放时间点,所述第二时间段包括所述第二播放时间点,所述连续分布条件包括相邻重复视频帧的时间差小于第三阈值。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910651319.3A CN110442749B (zh) | 2019-07-18 | 2019-07-18 | 视频帧处理方法及装置 |
KR1020227005421A KR20220032627A (ko) | 2019-07-18 | 2019-10-30 | 프레임 처리방법 및 장치 |
PCT/CN2019/114271 WO2021007999A1 (zh) | 2019-07-18 | 2019-10-30 | 视频帧处理方法及装置 |
US17/575,140 US20220139085A1 (en) | 2019-07-18 | 2022-01-13 | Method and apparatus for video frame processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910651319.3A CN110442749B (zh) | 2019-07-18 | 2019-07-18 | 视频帧处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442749A true CN110442749A (zh) | 2019-11-12 |
CN110442749B CN110442749B (zh) | 2023-05-23 |
Family
ID=68430885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910651319.3A Active CN110442749B (zh) | 2019-07-18 | 2019-07-18 | 视频帧处理方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220139085A1 (zh) |
KR (1) | KR20220032627A (zh) |
CN (1) | CN110442749B (zh) |
WO (1) | WO2021007999A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112507875A (zh) * | 2020-12-10 | 2021-03-16 | 上海连尚网络科技有限公司 | 一种用于检测视频重复度的方法与设备 |
CN113780319A (zh) * | 2020-09-27 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 闭环检测方法及装置、计算机可存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868441B2 (en) * | 2020-09-22 | 2024-01-09 | Nbcuniversal Media, Llc | Duplicate frames detection |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631932A (zh) * | 2013-12-06 | 2014-03-12 | 中国科学院自动化研究所 | 一种对重复视频进行检测的方法 |
US20140133310A1 (en) * | 2012-11-14 | 2014-05-15 | Stmicroelectronics S.R.L. | Method for extracting features from a flow of digital video frames, and corresponding system and computer program product |
CN106021575A (zh) * | 2016-05-31 | 2016-10-12 | 北京奇艺世纪科技有限公司 | 一种视频中同款商品检索方法及装置 |
CN108363771A (zh) * | 2018-02-08 | 2018-08-03 | 杭州电子科技大学 | 一种面向公安侦查应用的图像检索方法 |
CN109871490A (zh) * | 2019-03-08 | 2019-06-11 | 腾讯科技(深圳)有限公司 | 媒体资源匹配方法、装置、存储介质和计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229710A (zh) * | 2017-05-27 | 2017-10-03 | 深圳市唯特视科技有限公司 | 一种基于局部特征描述符的视频分析方法 |
CN109543735A (zh) * | 2018-11-14 | 2019-03-29 | 北京工商大学 | 视频拷贝检测方法及其*** |
-
2019
- 2019-07-18 CN CN201910651319.3A patent/CN110442749B/zh active Active
- 2019-10-30 WO PCT/CN2019/114271 patent/WO2021007999A1/zh active Application Filing
- 2019-10-30 KR KR1020227005421A patent/KR20220032627A/ko unknown
-
2022
- 2022-01-13 US US17/575,140 patent/US20220139085A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140133310A1 (en) * | 2012-11-14 | 2014-05-15 | Stmicroelectronics S.R.L. | Method for extracting features from a flow of digital video frames, and corresponding system and computer program product |
CN103631932A (zh) * | 2013-12-06 | 2014-03-12 | 中国科学院自动化研究所 | 一种对重复视频进行检测的方法 |
CN106021575A (zh) * | 2016-05-31 | 2016-10-12 | 北京奇艺世纪科技有限公司 | 一种视频中同款商品检索方法及装置 |
CN108363771A (zh) * | 2018-02-08 | 2018-08-03 | 杭州电子科技大学 | 一种面向公安侦查应用的图像检索方法 |
CN109871490A (zh) * | 2019-03-08 | 2019-06-11 | 腾讯科技(深圳)有限公司 | 媒体资源匹配方法、装置、存储介质和计算机设备 |
Non-Patent Citations (1)
Title |
---|
王领: "基于内容的视频拷贝检测", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113780319A (zh) * | 2020-09-27 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 闭环检测方法及装置、计算机可存储介质 |
CN113780319B (zh) * | 2020-09-27 | 2024-07-19 | 北京沃东天骏信息技术有限公司 | 闭环检测方法及装置、计算机可存储介质 |
CN112507875A (zh) * | 2020-12-10 | 2021-03-16 | 上海连尚网络科技有限公司 | 一种用于检测视频重复度的方法与设备 |
Also Published As
Publication number | Publication date |
---|---|
KR20220032627A (ko) | 2022-03-15 |
CN110442749B (zh) | 2023-05-23 |
WO2021007999A1 (zh) | 2021-01-21 |
US20220139085A1 (en) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhong et al. | An end-to-end dense-inceptionnet for image copy-move forgery detection | |
Liu et al. | Progressive neural architecture search | |
JP7183385B2 (ja) | ノード分類方法、モデル訓練方法並びに、その装置、機器及びコンピュータプログラム | |
CN108595585B (zh) | 样本数据分类方法、模型训练方法、电子设备及存储介质 | |
Liu et al. | Learning spatio-temporal representations for action recognition: A genetic programming approach | |
US8526728B2 (en) | Establishing clusters of user preferences for image enhancement | |
CN103116766B (zh) | 一种基于增量神经网络和子图编码的图像分类方法 | |
CN106228188A (zh) | 聚类方法、装置及电子设备 | |
CN110442749A (zh) | 视频帧处理方法及装置 | |
CN110659207A (zh) | 基于核谱映射迁移集成的异构跨项目软件缺陷预测方法 | |
Li et al. | A supervised clustering and classification algorithm for mining data with mixed variables | |
CN112132279B (zh) | 卷积神经网络模型压缩方法、装置、设备及存储介质 | |
CN110598065A (zh) | 一种数据挖掘方法、装置和计算机可读存储介质 | |
CN110163262A (zh) | 模型训练方法、业务处理方法、装置、终端及存储介质 | |
CN110119477A (zh) | 一种信息推送方法、装置和存储介质 | |
Zhang et al. | Hybrid handcrafted and learned feature framework for human action recognition | |
Liong et al. | Automatic traditional Chinese painting classification: A benchmarking analysis | |
CN111340213B (zh) | 神经网络的训练方法、电子设备、存储介质 | |
CN108596118B (zh) | 一种基于人工蜂群算法的遥感影像分类方法及*** | |
Kwasigroch et al. | Deep neural network architecture search using network morphism | |
CN113160886A (zh) | 基于单细胞Hi-C数据的细胞类型预测*** | |
CN116883740A (zh) | 相似图片识别方法、装置、电子设备和存储介质 | |
CN111797973A (zh) | 确定模型结构的方法、装置和电子*** | |
CN111414863A (zh) | 一种增强型集成遥感影像分类方法 | |
CN109446408A (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 |