CN112784673A - 用于抽取视频数据的计算*** - Google Patents
用于抽取视频数据的计算*** Download PDFInfo
- Publication number
- CN112784673A CN112784673A CN202011248113.5A CN202011248113A CN112784673A CN 112784673 A CN112784673 A CN 112784673A CN 202011248113 A CN202011248113 A CN 202011248113A CN 112784673 A CN112784673 A CN 112784673A
- Authority
- CN
- China
- Prior art keywords
- frames
- video data
- batch
- frame
- computing system
- 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
- 239000013598 vector Substances 0.000 claims abstract description 57
- 230000002085 persistent effect Effects 0.000 claims abstract description 31
- 230000015654 memory Effects 0.000 claims abstract description 27
- 238000013507 mapping Methods 0.000 claims abstract description 8
- 238000013528 artificial neural network Methods 0.000 claims description 32
- 238000013527 convolutional neural network Methods 0.000 claims description 24
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 230000006403 short-term memory Effects 0.000 claims description 4
- 230000007787 long-term memory Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 36
- 238000001514 detection method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000012549 training Methods 0.000 description 16
- 238000010801 machine learning Methods 0.000 description 14
- 230000009467 reduction Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000003909 pattern recognition Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 238000013179 statistical model Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003054 catalyst Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000012733 comparative method Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N5/926—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation
- H04N5/9261—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation involving data reduction
-
- 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/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural 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
- 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/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/76—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries based on eigen-space representations, e.g. from pose or different illumination conditions; Shape manifolds
-
- 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
- G06V20/47—Detecting features for summarising video content
-
- 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/49—Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23109—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/2312—Data placement on disk arrays
-
- 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/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Signal Processing (AREA)
- Biodiversity & Conservation Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
公开了用于抽取视频数据的计算***。所述用于抽取视频数据的计算***,包括:处理器;持久性存储***,结合到处理器;以及存储器,存储指令,所述指令在被处理器执行时使得处理器通过以下操作来抽取视频数据的一批帧:接收视频数据的所述一批帧;通过特征提取器将所述一批帧映射到特征空间中的对应的特征向量,所述对应的特征向量中的每个特征向量具有比所述一批帧中的对应的帧的尺寸小的尺寸;基于特征向量中的所述对应的特征向量之间的不相似性,从视频数据的所述多个帧选择一组不相似帧;以及将选择的一组不相似帧存储在持久性存储***中,选择的一组不相似帧的大小小于视频数据的所述批一帧中的帧的数量。
Description
本申请要求于2019年11月11日提交到美国专利商标局的第62/933,827号美国临时专利申请和于2020年01月29日提交到美国专利商标局的第16/776,266号美国专利申请的优先权和权益,这些申请的全部公开通过引用包含于此。
技术领域
本公开的实施例的方面涉及用于在收集视频数据以用于训练机器学习***(诸如,计算机视觉***)的领域中包括实时数据缩减的方法和***。
背景技术
机器学习***通常基于在大量训练数据上训练的基础统计模型来计算预测或答案,训练数据表示这样的***将遇到的输入的范围。
作为一个示例,一些自动驾驶车辆使用相机来检测周围对象。一种用于对象检测的技术是利用深度学习的有监督的机器学习(例如,深度神经网络)。在这样的方法中,安装在自动驾驶车辆上的相机实时拍摄街景的图像,并且将图像供应给被训练成自动检测场景内的对象和对场景内的对象进行分类的一个或多个统计模型(例如,深度神经网络)。这基本上实时地向自动驾驶算法提供车辆的周围(诸如,自动驾驶车辆附近的行人、道路危险、路缘、路面标记和其他车辆的位置)的语义表示。进而,自动驾驶算法可使用关于检测的对象的信息来控制车辆(诸如,减慢和停止车辆以避免与穿过车辆的路径行走的行人碰撞)。
为了生成用于训练计算机视觉***的统计模型的训练数据,在通过各种条件(例如,不同类型的交通、天气、道路类型、停车场、停车楼等)驾驶车辆时,从摄像机拍摄大量(例如,成千上万的)图像。然后,这些收集的图像可通过人类注释者手动地注释(例如,通过手动地指定标记有在遮挡区域内描绘的对象的边界框或其他遮挡)。
发明内容
本公开的实施例的方面涉及用于实时地减少为了训练机器学习***的目的而拍摄的数据的***和方法。
根据本公开的一个实施例,一种用于抽取视频数据的计算***,包括:处理器;持久性存储***,结合到处理器;以及存储器,存储指令,所述指令在被处理器执行时使得处理器通过以下操作来抽取视频数据的一批帧:接收视频数据的所述一批帧;通过特征提取器将所述一批帧映射到特征空间中的对应的特征向量,所述特征向量中的每个特征向量具有比所述一批帧中的对应的帧的尺寸小的尺寸;基于所述特征向量中的对应的特征向量之间的不相似性,从视频数据的所述多个帧选择一组不相似帧;以及将选择的一组不相似帧存储在持久性存储***中,选择的一组不相似帧的大小小于视频数据的所述一批帧中的帧的数量。
使得处理器选择一组帧的所述指令可包括在被处理器执行时使得处理器进行以下操作的指令:从视频数据的所述一批帧随机地选择第一参考帧;从所述一批帧丢弃第一组帧,第一组帧具有在与第一参考帧对应的第一特征向量的相似性阈值距离内的对应的特征向量;从视频数据的所述多个帧选择第二参考帧,第二参考帧具有第二特征向量,其中,第一特征向量与第二特征向量之间的距离可大于所述相似性阈值距离;以及从所述一批帧丢弃第二组帧,第二组帧具有在第二特征向量的相似性阈值距离内的对应的特征向量,其中,选择的一组不相似帧可包括第一参考帧和第二参考帧,并且排除第一组帧和第二组帧。
特征提取器可包括神经网络。神经网络可包括卷积神经网络(CNN)。
所述计算***和持久性存储***可在车辆上,并且视频数据的所述一批帧可以是由安装在车辆上的摄像机拍摄的视频数据的流的一部分,摄像机被配置为拍摄车辆的周围的图像。
视频数据的所述一批帧可在具有与拍摄间隔对应的长度的第一时间段被拍摄,视频数据的流可包括:视频数据的第二批帧,视频数据的第二批帧对应于在具有与拍摄间隔对应的长度的第二时间段期间拍摄的视频数据,第二时间段紧接在第一时间段之后,并且所述计算***可被配置为:映射所述一批帧,以在与拍摄间隔对应的时间量内抽取视频数据的所述一批帧。
存储器还可存储用于基于不确定性度量从选择的一组不相似帧去除帧的指令,所述指令包括在被处理器执行时使得处理器执行以下操作的指令:将选择的一组不相似帧中的每个帧供应给对象检测器,对象检测器包括用于计算多组边界框的卷积神经网络(CNN),所述多组边界框标识帧的描绘多个对象类中的每个对象类的实例的部分,每组边界框中的每个边界框具有相关联的置信度分数;基于所述多组边界框和相关联的置信度分数来计算选择的一组不相似帧中的每个帧的不确定性分数;以及从选择的一组不相似帧去除具有不满足不确定性阈值的不确定性分数的一组帧,其中,选择的一组不相似帧可被存储在持久性存储***中并且排除具有不满足不确定性阈值的不确定性分数的所述一组帧。
对象检测器还可包括长短期记忆(LSTM)神经网络。
用于计算不确定性分数的指令可包括在被处理器执行时使得处理器针对每个帧进行以下操作的指令:识别与帧的同一部分对应且与不同对象类对应的最高的两个相关联的置信度分数;以及将所述最高的两个相关联的置信度分数进行比较,其中,当所述最高的两个相关联的置信度分数之间的差小时,不确定性分数可为高,并且其中,当所述最高的两个相关联的置信度分数之间的差大时,不确定性分数可为低。
特征提取器可包括对象检测器的卷积神经网络(CNN)。
根据本公开的一个实施例,一种用于抽取视频数据的计算***,包括:处理器;持久性存储***,结合到处理器;以及存储器,存储指令,所述指令在被处理器执行时使得处理器通过以下操作来抽取视频数据的一批帧:接收视频数据的所述一批帧;将视频数据的所述批一帧中的每个帧供应给对象检测器,对象检测器包括用于计算多组边界框的卷积神经网络,所述多组边界框标识帧的描绘多个对象类中的每个对象类的实例的部分,每组边界框中的每个边界框具有相关联的置信度分数;基于所述多组边界框和相关联的置信度分数来计算视频数据的所述一批帧中的每个帧的不确定性分数;从视频数据的所述一批帧选择一组不确定帧,其中,所述一组不确定帧中的每个帧的不确定性分数满足不确定性阈值;以及将选择的一组不确定帧存储在持久性存储***中,选择的不确定帧的数量小于视频数据的所述一批帧中的帧的数量。
对象检测器还可包括:长短期记忆(LSTM)神经网络。
用于计算不确定性分数的指令可包括在被处理器执行时使得处理器针对每个帧进行以下操作的指令:识别与帧的同一部分对应且与不同对象类对应的最高的两个相关联的置信度分数;以及将所述最高的两个相关联的置信度分数进行比较,其中,当所述最高的两个相关联的置信度分数之间的差小时,不确定性分数可为高,并且其中,当所述最高的两个相关联的置信度分数之间的差大时,不确定性分数可为低。
所述计算***和持久性存储***可在车辆上,并且视频数据的所述一批可以是由安装在车辆上的摄像机拍摄的视频数据的流的一部分,摄像机被配置为拍摄车辆的周围的图像。
视频数据的所述一批帧可在具有与拍摄间隔对应的长度的第一时间段被拍摄,其中,视频数据的流可包括:视频数据的第二批帧,视频数据的第二批帧对应于在具有与拍摄间隔对应的长度的第二时间段期间拍摄的视频数据,第二时间段紧接在第一时间段之后,并且其中,所述计算***可被配置为:在与拍摄间隔对应的时间量内抽取视频数据的所述一批帧。
根据本公开的一个实施例,一种用于抽取视频数据的计算***,包括:处理器;持久性存储***,结合到处理器;以及存储器,存储指令,所述指令在被处理器执行时使得处理器通过以下操作来抽取视频数据的一批帧:接收视频数据的所述一批帧;通过特征提取器将视频数据的所述一批帧映射到特征空间中的对应的特征向量,所述特征向量中的每个特征向量具有比所述一批帧中的对应的帧的尺寸小的尺寸;基于所述特征向量计算多个不相似性分数,所述多个不相似性分数中的每个不相似性分数对应于所述一批帧中的一个帧;将视频数据的所述一批帧中的每个帧供应给对象检测器,对象检测器包括用于计算多组边界框的卷积神经网络,所述多组边界框标识帧的描绘多个对象类中的每个对象类的实例的部分,每组边界框中的每个边界框具有相关联的置信度分数;基于所述多组边界框和相关联的置信度分数来计算多个不确定性分数,所述多个不确定性分数中的每个不确定性分数对应于所述一批的帧中的一个帧;通过对所述多个不相似性分数中的相关联的不相似性分数和所述多个不确定性分数中的相关联的不确定性分数进行聚合来计算每个帧的总分数;从视频数据的所述一批帧中选择一组帧,其中,选择的帧中的每个帧的总分数满足总帧阈值;以及将选择的一组帧存储在持久性存储***中,选择的一组帧的数量小于视频数据的所述一批帧中的帧的数量。
用于计算不确定性分数的指令可包括在被处理器执行时使得处理器针对每个帧进行以下操作的指令:识别与帧的同一部分对应和与不同对象类对应的最高的两个相关联的置信度分数;以及将所述最高的两个相关联的置信度分数进行比较,其中,当所述最高的两个相关联的置信度分数之间的差小时,不确定性分数可为高,并且其中,当所述最高的两个相关联的置信度分数之间的差大时,不确定性分数可为低。
所述计算***和持久性存储***可在车辆上,并且视频数据的所述一批可以是由安装在车辆上的摄像机拍摄的视频数据的流的一部分,摄像机可被配置为拍摄车辆的周围的图像。
视频数据的所述一批帧可在具有与拍摄间隔对应的长度的第一时间段被拍摄,视频数据的流可包括:视频数据的第二批帧,视频数据的第二批帧对应于在具有与拍摄间隔对应的长度的第二时间段期间拍摄的视频数据,第二时间段紧接在第一时间段之后,并且所述计算***可被配置为:在与拍摄间隔对应的时间量内抽取视频数据的所述批一帧。
特征提取器可包括对象检测器的卷积神经网络。
附图说明
附图与说明书一起示出本公开的示例性实施例,并且附图与说明书一起用于解释本公开的原理。
图1是描绘根据本公开的一个实施例的视频拍摄和数据缩减***的框图。
图2是描绘根据本公开的一个实施例的用于减少拍摄的数据的方法的流程图。
图3是根据本公开的一个实施例的基于相似性丢弃帧的基于特征空间相似性的帧选择模块的示意性框图。
图4是描绘根据本公开的一个实施例的用于通过基于相似性丢弃帧来进行帧选择的方法的流程图。
图5是根据本公开的一个实施例的基于不确定性丢弃帧的基于不确定性的帧选择模块的示意性框图。
图6是描绘根据本公开的一个实施例的用于通过基于不确定性分数丢弃帧来进行帧选择的方法的流程图。
图7是根据本公开的一个实施例的用于顺序地基于相似性和不确定性两者选择帧的方法的流程图。
图8是根据本公开的一个实施例的用于并行地基于相似性和不确定性两者选择帧的方法的流程图。
图9是示出根据本公开的一个实施例的计算***的框图。
具体实施方式
在下面的详细描述中,仅通过说明的方式示出和描述本公开的特定示例性实施例。如本领域技术人员将认识到的,公开可以以许多不同的形式实现,并且不应被解释为限于在此阐述的实施例。在附图和下面的讨论中,相同的参考标号表示相同的组件。
通常,机器学习模型的监督训练涉及大量标记的训练数据。在用于收集用于自动驾驶车辆的计算机视觉***的训练数据的比较方法中,相机被安装到车辆上并且在通过各种区域的驾驶期间和在各种驾驶条件下(例如,以30至60帧每秒(fps)的速率,其中,每个帧通常对应于单个静止图像)拍摄视频数据。然后,拍摄的视频可由人类注释者审阅,人类注释者可诸如通过在特定的预先选择的对象类别(例如,汽车、卡车、行人、墙壁、树木、路标、交通信号等)的实例的周围绘制框来标记视频数据。
在一些情况下,在驾驶期间拍摄的所有视频被存储。然而,存储在驾驶期间拍摄的所有视频数据需要大量的车内数据存储,这可能是昂贵的。此外,因为人类注释者可能需要查看和标记数以百万计个帧,所以手动标记大量数据是代价非常高的。
在一些情况下,驾驶员(或其他人类操作员)可手动地激活或去激活相机以选择性地记录驾驶的一部分的视频剪辑。然而,因为驾驶员的识别值得记录的场景与激活相机之间的延迟可导致重要数据被丢失,所以这可能是低效率的。此外,由驾驶员手动选择的场景将受到驾驶员的偏差的影响,并且可能实际上无法反映将会最有用于提供将会提高训练的机器学习模型的性能的附加数据的类型的场景。
通常,收集与已经收集的数据不相似的数据是有益的(例如,与先前拍摄的数据相似的数据可能是冗余的)。继续上面的示例,描绘对象的多样性并且与先前收集的视频剪辑不相似的视频剪辑和图像可比描绘如先前所见的基本上相同的对象和布置的视频剪辑更有益。这样的更“显著”的剪辑通常在提高训练的机器学习模型的性能中具有更大的影响。
因此,本公开的实施例的方面涉及通过选择数据的更显著部分保留以用于训练机器学习模型来执行数据缩减(data reduction)或抽取(decimation)。本公开的实施例的一些方面在资源受限环境(例如,具有有限数据存储容量或数据传输带宽的环境)内通过选择性地保持数据流的多个部分并且丢弃数据流的其他部分(例如,抽取数据流),来实现智能自动和连续实时的数据拍摄。通过选择数据流的多个部分来减少或抽取数据降低了存储成本并且还降低了人类注释成本,同时保留了获得用于提高训练的算法的性能的附加数据的益处。
虽然本公开的实施例在此主要参照在安装在车辆上并且拍摄关于车辆的附近的环境的数据的摄像机的上下文中的视频数据的减少或抽取来描述,但是本公开的实施例不限于此,并且还可应用于减少存储在其他数据收集上下文中的数据。
根据本公开的一个实施例,自动化图像和/或视频拍摄方法连续地监视由摄像机拍摄的场景,并且仅选择和存储重要的剪辑和图像(例如,视频的帧),当使用选择的视频的重要的帧重新训练机器学习模型时,重要的剪辑和图像被***预测以导致机器学习模型的性能的提高。
图1是描绘根据本公开的一个实施例的被描绘为在车辆105上的视频拍摄和数据缩减***100的框图。图1中所示的视频拍摄和数据缩减***100包括一个或多个摄像机110。在一些实施例中,摄像机110以帧速率(诸如,30帧每秒)拍摄(包括二维静止帧的序列或流的)视频。摄像机110通常在操作期间(即,在车辆105的行驶过程中)连续地拍摄图像。计算***130包括存储从摄像机110接收的(包括帧的流的)视频数据的缓冲存储器150(例如,动态随机存取存储器或DRAM)。
在一些实施例中,视频拍摄和数据缩减***100与对象检测***(例如,在同一车辆上的同一计算***130或不同计算***上运行的对象检测和/或场景分割***)结合工作。对象检测***可用于检测对摄像机110可见的对象和将对摄像机110可见的对象进行分类,并且由对象检测做出的检测可用作车辆的自动驾驶***的输入。
在一些实施例中,计算***130将主动学习(active learning)和新颖性检测(novelty detection)处理应用于存储在缓冲存储器150中的视频数据的帧,以便选择数据流的显著部分(例如,显著帧),数据流的显著部分在被注释或标记之后,被预测为在对象检测***使用包括这些选择和标记的显著部分的训练集被重新训练时,提高对象检测***的性能。计算***130将帧的选择的子集写入持久性存储***170。适当的持久性存储***170的示例将包括大容量存储***,大容量存储***可包括一个或多个闪存单元和/或一个或多个硬盘驱动器,大容量存储***可由控制器(诸如,独立磁盘冗余阵列(redundant arrayof independent disk)或RAID控制器、网络附接存储控制器、存储区域网络控制器等)操作。作为另一示例,持久性存储***170可包括计算机联网装置(例如,蜂窝、WiFi和/或以太网),计算机联网装置(例如,蜂窝、WiFi和/或以太网)用于将接收的数据发送到未在车辆105上的持久性存储装置(例如,经由网络发送所有拍摄的数据可能是不实际的,但是发送抽取的数据可以是可行的)。未被选择(例如,未被写入永久存储***170)的帧被认为是冗余的并且被丢弃(例如,在缓冲存储器中被重写)。
图2是描绘根据本公开的一个实施例的用于减少拍摄的视频数据的方法的流程图。在操作210,计算***130接收一批数据。继续上面的示例,在一些实施例中,所述一批数据对应于由摄像机在拍摄间隔I期间拍摄的一批视频帧(例如,静止图像)。摄像机110可以以恒定速率fs(例如,30帧每秒至60帧每秒)拍摄数据,因此,每个拍摄间隔I包括fs×I个帧。拍摄间隔I的长度可取决于缓冲存储器150的大小T(例如,分配以存储视频数据的单批fs×I个帧的空间的量)和用于选择用于存储的帧的技术的处理速度,使得所述一批数据的处理可在下一批数据在操作210从摄像机110被接收之前被完成。因此,针对拍摄间隔I的长度和缓冲存储器150的大小的特定参数可取决于包括用于选择帧的技术(例如,用于选择帧的处理的算法时间复杂性可约束批的大小)以及计算***130在执行方法200(例如,执行用于存储的图像帧的选择)时的性能的细节。
在操作230,计算***130将当前一批帧存储在缓冲存储器150中。计算***130可在这些帧从一个或多个摄像机110被接收时,存储这些帧(例如,存储包括独立的静止帧或静止图像的视频的流)。在一些实施例中,缓冲存储器150包括存储多批数据(例如,至少两批数据)的足够的空间,使得***可继续接收多批数据并且将接收的多批数据存储在缓冲存储器150中,同时还实时处理当前帧。
在操作250,计算***130基于选择的子集更显著的预测(例如,当基于选择的数据训练机器学习模型时,更有可能提高机器学习模型的性能)来选择视频数据的所述一批帧的子集。这个在此也可被称为减少数据或过滤数据或抽取数据。子集在此将被称为选择的帧的集合(collection),其中,选择的帧的数量小于输入的所述一批帧中的帧的数量(例如,选择的帧的基数小于输入的所述一批帧的基数)。下面将更详细地描述本公开的用于执行预测(例如,确定数据的显著性)的实施例。
在操作270,计算***130将选择的帧存储在持久性存储***170中或写入持久性存储***170中。持久性存储***170(例如,在整个车辆105的摄像机110收集数据的驾驶期间和在车辆105的摄像机110收集数据的驾驶结束之后)持久性地或非暂时地存储选择的帧。
在操作290,计算***130确定是否继续拍摄数据。这个确定可基于例如计算***130是否已经接收到暂停或停止拍摄数据的命令而做出。如果计算***130将继续拍摄数据,则计算***130继续操作210以从摄像机110接收视频数据的下一批帧,其中,视频数据的下一批帧对应于紧接在视频数据的前一批帧之后的(具有对应于(例如,等于)拍摄间隔I的长度的长度的)时间段。如果计算***130将停止拍摄数据,则该方法终止。
根据本公开的一些实施例,摄像机110连续地拍摄图像。因此,视频数据被连续地接收,其中,每批视频数据在拍摄间隔I期间被拍摄。这样,包括在操作250从所述一批帧选择帧以用于存储的方法200的每次迭代在不长于拍摄间隔I的时间量内完成,使得计算***130的计算资源可用于处理视频数据的与在具有对应于(例如,等于)拍摄间隔I的长度的第二时间段期间拍摄的帧对应的下一批帧。
基于特征空间中的帧相似性的帧选择
根据本公开的一些实施例,计算***130通过选择在特征空间中彼此不相似的帧来选择帧(例如,在图2的250)。在一些实施例中,这等同于丢弃特征空间中的与“参考”帧相似的帧。通常,因为相似的示例是冗余的,所以呈现彼此基本上相同的许多训练示例将不会引起训练的机器学习***的性能的显著提高。因此,本公开的实施例的方面涉及通过去除冗余的帧且仅保持不相似的帧来增大训练数据的收集的效率。
图3是根据本公开的一个实施例的基于相似性丢弃帧的基于特征空间相似性的帧选择模块300的示意性框图。图4是描绘根据本公开的一个实施例的用于通过基于特征空间中的相似性丢弃帧来进行帧选择的方法的流程图。
参照图3和图4,在操作410,计算***130接收(例如,存储在缓冲存储器150中的)视频数据的一批N个帧302。在操作430,计算***130将数据的所述一批帧302供应给基于特征空间相似性的帧选择模块300的特征提取器310,特征提取器310从所述一批帧提取特征向量330,每个特征向量对应于数据的所述一批帧中的一个帧。这也可被称为将帧映射到特征空间(或潜在空间)中,其中,特征空间具有比数据的帧的原始图像空间的秩低的秩(或特征向量具有比输入图像的尺寸(dimension)小的尺寸)。例如,每个帧可具有2048×2048像素的图像分辨率(例如,尺寸),但每个特征向量可具有256×256像素的尺寸。例如,在这样的布置中,特征向量的尺寸将比特征向量的对应的帧的尺寸小64倍。换句话说,特征向量的对应的帧的尺寸是特征向量的尺寸的64倍。
这样,特征向量可被认为是压缩或概括数据的每个帧的内容,使得即使帧中的对应的像素的内容显著不同,在内容方面基本上相似的两个帧也被映射到相似的特征向量。例如,因为同一其他车辆、行人、静止对象可在两个图像中可见,所以在一个瞬间的场景的图像可在语义上与一秒后的场景的图像基本上相似。然而,当以像素级比较两个图像时,因为图像内的每个对象的位置可能已经移动(例如,两个图像之间共有的所有对象可能由于车辆105沿着街道的运动以及对象的运动而平移),所以两个图像可能非常不同。此外,在具有比输入图像空间低的秩的特征空间中比较数据的两个帧是低计算强度的(例如,因为存在更少的用于比较的值),从而使得数据选择的实时性能(例如,通过调整特征向量的大小)更易于处理。
在本公开的一些实施例中,在计算***130上运行的特征提取器310通过将帧供应给神经网络来从所述帧提取特征向量330。特征提取器310可对应于对象检测器神经网络的初始阶段,对象检测器神经网络被训练为识别图像内的对象的实例并计算标识那些对象的位置的边界框。对象检测器神经网络可包括与长短期记忆(LSTM)组合的卷积神经网络(CNN)。在这种情况下,在计算最终结果之前(例如,在计算边界框的位置之前),提取的特征对应于网络的中间层的激活(或输出)。例如,继续包括被训练为计算包含输入图像中的各种类的对象的实例的标记的边界框的深度卷积神经网络的计算机视觉***的以上示例,特征提取器310可对应于适当的“骨干(backbone)”卷积神经网络(CNN)。骨干CNN可在标准训练语料库(诸如,ImageNet(参见例如,Deng、Jia等“ImageNet:大规模分层图像数据库(ImageNet:A large-scale hierarchical image database)”2009IEEE计算机视觉和模式识别会议.IEEE,2009.))上被预先训练。骨干神经网络的示例包括:MobileNetV2(参见例如,Sandler、Mark等“MobileNetV2:反向残差和线性瓶颈(MobileNetV2:Invertedresiduals and linear bottlenecks)”IEEE计算机视觉和模式识别会议集.2018.)、MobileNetV3(参见例如,Howard、Andrew等“搜索MobileNetV3(Searching forMobileNetV3)”arXiv preprint arXiv:1905.02244(2019).)、MnasNet(参见例如,Tan、Mingxing等“MnasNet:移动平台感知神经架构搜索(MnasNet:Platform-aware neuralarchitecture search for mobile)”IEEE计算机视觉和模式识别会议集.2019.)和Xception(参见例如,Chollet、“Xception:具有深度可分离卷积的深度学习(Xception:Deep learning with depthwise separable convolutions)”IEEE计算机视觉和模式识别会议文集.2017)。在一些实施例中,特征提取器310还包括残差神经网络,残差神经网络包括多个训练的残差模块(或残差层),其中,残差神经网络用骨干神经网络的输出供应,并且最后的残差模块的输出被作为输入帧的提取的特征或提取的特征向量。
在一些实施例中,特征提取器310对应于与视频拍摄和数据缩减***100相关联的对象检测***的神经网络的一部分。例如,如果对象检测***包括卷积神经网络和骨干神经网络(诸如,MobileNetV3),则特征提取器310可包括相同的骨干神经网络。
在本公开的应用于不同上下文(诸如,音频处理或自然语言处理)的其他实施例中,不同的特征提取器可被应用以适合于域的方式执行特征提取。例如,在音频处理中,对频谱特征(例如,频域中的音频信号)进行操作的循环神经网络可用作特征提取器的组件。
在操作450,计算***130使用相似性排序模块350基于特征向量之间的不相似性从所述一批参考帧选择一个或多个参考帧。在一些实施例中,计算***130从缓冲存储器150中的数据的帧302之中随机地选择种子帧(seed frame),然后基于与那些帧(例如,帧302)对应的特征向量来识别在特征空间中彼此不相似或远离(例如,满足不相似阈值)的一组帧。在一些实施例中,迭代算法(诸如,k中心贪婪(k-Center-Greedy)技术(参见例如,Sener、Ozan和Silvio Savarese.“卷积神经网络的主动学***均相似性(例如,对于F和F1两者的最低平均相似性)的帧被选择。帧(例如,附加帧)可继续以这种方式被添加,直到K个帧被选择。根据另一实施例,种子帧被随机地选择,并且距该种子帧的相似性距离针对该帧周围的邻域中的所有其余帧被计算,其中,对其余帧的评分基于计算的相似性距离被完成。参考帧将具有最大分数(例如,与参考帧自身最相似)。
例如,在本公开的一些实施例中,在用于选择参考帧的处理的每次迭代期间,数据的所述一批帧中的一个帧被随机地选择。将该帧的特征向量与其他参考帧的特征向量进行比较(一组参考帧可通过随机地选择第一参考帧被初始化)以计算一个或多个相似性分数。在一些实施例中,使用例如两个特征向量之间的L1范数(或曼哈顿距离)或L2范数(或欧几里得距离)来计算来自这两个特征向量的比较的相似性分数。如果当前帧的特征向量的相似性分数无法满足不相似性阈值(例如,具有与当前参考帧中的一个过度相似的特征向量),则当前帧被丢弃。否则,当前帧被添加到选择的参考帧的集合。结果,所有参考帧不相似在于:所有参考帧的相似性分数指示所有参考帧在特征空间中彼此至少分开阈值距离(或分数),并且计算***130丢弃与参考帧基本上相似的(例如,具有使参考帧放置在特征空间中的至少一个参考帧的阈值距离内的相似性分数的)一组帧,使得选择的参考帧排除丢弃的帧。
参考帧的数量可基于期望的数据缩减水平被配置。例如,如果间隔包括三百个帧并且90%的数据缩减(例如,保持30个帧)被期望,则参考帧的数量可被设置为30。在操作470中,计算***130丢弃剩余的帧(例如,未被选择为参考帧或“非参考”帧的帧)。例如,在一个示例中,计算***130可从视频数据的所述一批帧随机地选择第一参考帧;从所述一批帧丢弃第一组帧,第一组帧具有在与第一参考帧对应的第一特征向量的相似性阈值距离内的对应的特征向量;从所述一批帧选择第二参考帧,第二参考帧具有第二特征向量,其中,第一特征向量与第二特征向量之间的距离大于所述相似性阈值距离;以及从所述一批帧丢弃第二组帧,第二组帧具有在第二特征向量的相似性阈值距离内的对应的特征向量,其中,选择的一组不相似帧包括第一参考帧和第二参考帧,并且排除第一组帧和第二组帧。因此,参考帧通过基于特征空间相似性的帧选择模块300输出作为选择的帧352。
因此,根据本公开的一个实施例,基于特征空间相似性的帧选择模块300涉及用于通过选择所述一批数据中的与其他数据不同(不相似)的代表性数据或参考数据并且丢弃与选择的代表性数据相似的冗余数据来减少拍摄的数据的一种方法400。
基于帧不确定性的帧选择
根据本公开的一个实施例,计算***130通过选择训练的对象检测器针对其输出高不确定性的帧来选择帧(例如,在图2的操作250),因此,附加训练示例将有助于训练对象检测器以在竞争的可能检测之间进行区分(例如,在两个类(诸如,“行人”与“骑车人”)之间进行区分)。
图5是根据本公开的一个实施例的基于不确定性丢弃帧的基于不确定性的帧选择模块500的示意性框图。图6是描绘根据本公开的一个实施例的用于通过基于不确定性分数丢弃帧来进行帧选择的方法的流程图。
参照图5和图6,在操作610,计算***130接收(例如,存储在缓冲存储器150中的)输入帧502的一批M个帧。在操作630中,计算***130将M个帧中的每个帧供应给K类对象检测器510,K类对象检测器510被配置为针对每个帧输出K组边界框530(为了方便起见,图5示出帧i至帧i+M被顺序地供应给K类对象检测器510,以针对帧i和帧i+M分别计算多组边界框531和边界框539以及针对帧i与帧i+M之间的所有帧计算多组边界框),其中,每组边界框对应于K类对象检测器510被训练以检测的K个不同类中的一个类。在每组边界框内,例如,对于K类中的第j类,每个边界框对应于检测的第j类的实例的位置。每个边界框还与边界框描绘第j类的实例的概率或置信度分数(confidence score)相关联。(参见例如,Aghdam、HamedH等“深度检测神经网络的主动学习(Active Learning for Deep Detection NeuralNetworks)”IEEE国际计算机视觉会议集.2019)。
在操作650,计算***130使用不确定性测量模块550基于K类中的每个类的多组边界框和相关联的概率来计算每个帧的不确定性分数。在一些实施例中,逐像素方法用于比较分割图的每个像素的最高的两个置信度检测。在一些实施例中,仅在选择的多组边界框上计算不确定性分数,选择的多组边界框被聚合(aggregate)在一起(一个框建议将仅具有一个相关联的类概率)。在例如Brust、Clemens-Alexander、和JoachimDenzler“深度对象检测的主动学习(Active learning for deep objectdetection)”arXiv preprint arXiv:1809.09875(2018)中描述了用于计算不确定性度量的技术,其全部公开通过引用包含于此。例如,“v1vs2”或“裕量采样(margin sampling)”可用作最高的两个分数类c1和c2的度量:
其中,表示边界框(或图像)x描绘类ci的实例的概率或置信度分数。当针对特定边界框(或图像)x(或来自两个不同类的重叠边界框,或针对特定像素)的最高的两个分数类c1与c2之间的置信度分数的差小时,那么示例可接近决策边界(decisionboundary)(例如,更不确定)并且因此具有高的不确定性分数,高的不确定性分数对应于用于训练的更显著或有用的示例(例如,使得示例可使用边界框x的正确类被手动地注释,并且标记的示例可用于重新训练机器学习***)。例如,在一个示例中,计算***130可针对每个帧识别与帧的同一部分对应且与不同对象类对应的最高的两个相关联的置信度分数;以及将所述最高的两个相关联置的信度分数进行比较。所述最高的两个相关联置的信度分数之间的差越小,不确定性分数越高,所述最高的两个相关联的置信度分数之间的差越大,不确定性分数越低。然后,这些检测度量可根据各种技术遍及不同组的类被聚合,诸如,针对帧x中的所有边界框(或检测)D计算所有v1vs2的和vSum(x):
另一选项是遍及帧x中的检测计算平均值vAvg(x),例如:
另一选项是遍及帧x中的检测计算最大值vMax(x),例如:
在操作670中,如果不确定性满足不确定性阈值(例如,在k类对象检测器510的针对该帧的输出中存在足够高的不确定性),则计算***130选择用于存储的帧作为用于进一步训练的有用的示例。如果不确定性分数无法满足不确定性阈值,则该帧被丢弃。
因此,根据本公开的一个实施例,基于不确定性的帧选择模块500涉及一种方法600,方法600用于通过选择K类对象检测器510针对其具有高不确定性(例如,K类对象检测器510针对其无法很好地执行)的数据,并且丢弃K类对象检测器510针对其具有低不确定性的数据(例如,训练的K类对象检测器510针对其已经很好地执行的输入),来减少拍摄的数据。
根据本公开的一些实施例,计算***130使用基于特征空间相似性的帧选择模块300和基于不确定性的帧选择模块500以及对应的方法,单独地(如上所述)或以各种组合(诸如,串行地(例如,顺序地)和并行地)从所述一批帧中选择帧(例如,在图2的操作250)。
例如,在一些实施例中,基于特征空间相似性的帧选择模块300和基于不确定性的帧选择模块500被串联使用。在这样的实施例中,基于特征空间相似性的帧选择模块300去除所述一批帧内的重复帧,从而减少呈现给基于不确定性的帧选择模块500的帧的数量,并且从而还减少基于不确定性的帧选择模块500上的计算负载。在一些情况下,诸如当由基于不确定性的帧选择模块500使用的处理具有超线性算法时间和/或空间复杂度时,减小所述一组输入帧502的大小(或数量)可对***是否可实时进行操作具有显著影响。在一些实施例中,相似性阈值被配置,使得选择的数量的帧允许基于不确定性的帧选择模块500在时间约束内(例如,在拍摄间隔I的时段内)完成帧选择。
在一些实施例中,基于特征空间相似性的帧选择模块300的输出的选择的帧352作为输入的一批M个帧502被供应给基于不确定性的帧选择模块500,这进一步减少将被存储在持久性存储***170中的帧(例如,选择的帧552)的数量。更明确地,图7是根据本公开的一个实施例的用于顺序地基于相似性和不确定性两者选择帧的方法700的流程图。如图7中所示,一批帧(例如,由摄像机110在拍摄间隔I期间拍摄的一批原始视频数据)被计算***130处理,以在操作7300基于特征空间中的相似性(例如,分别根据图3中所示的基于特征空间相似性的帧选择模块300和图4中所示的方法400)选择帧。然后,计算***130通过在操作7600基于不确定性选择(根据特征空间中的帧的(不)相似性选择的)结果帧的子集来处理结果帧(例如,进一步减少数据),以基于相似性度量(例如,基于不相似性)和不确定性度量两者选择帧。
在一些实施例中,基于特征空间相似性的帧选择模块300和基于不确定性的帧选择模块500分别计算从摄像机110接收的数据的所有帧的相似性分数和不确定性分数,而不是选择帧。对每个帧的相似性分数与对应的帧的不确定性分数进行聚合或组合,以计算每个帧的总分数,其中,具有满足阈值的总分数的帧被选择并被存储在持久性存储***170中,并且具有不满足阈值的总分数的帧被丢弃。
图8是根据本公开的一个实施例的用于并行地基于不相似性和不确定性两者选择帧的方法800的流程图。如图8中所示,在操作8300,计算***130与上面关于图3和图4描述的方式相似的方式,基于特征空间中的不相似性对数据的一批帧进行评分,以基于那些不相似性度量(例如,帧与设置的一批帧中的选择的参考帧有多不相似)来计算每帧的分数。在各种实施例中,欧几里得(L2)距离、曼哈顿(L1)距离或余弦距离(或余弦相似性)用于计算特征空间中的相似性分数。此外,在操作8600,计算***130还以与上面关于图5和图6描述的方式基本相似的方式,基于不确定性来对数据的所述一批(基于特征空间中的不相似性而被评分的同一批)帧进行评分,以基于不确定性来计算每帧的分数。在操作8700,计算***130对每个帧xi的不相似性分数d(xi)和不确定性分数u(xi)进行聚合以计算每个帧的总分数o(xi)。在一些实施例中,这是两个分数的线性组合,例如:
o(xi)=αd(xi)+(1-α)u(xi)
其中,α是控制不相似性分数和不确定性分数的相对权重的参数。然而,本公开的实施例不限于此,并且用于对两个分数进行聚合的其他技术可被替代地使用。
在操作8800,计算***130确定帧的总分数是否满足总帧阈值。如果总帧阈值被满足,则该帧被选择用于存储在持久性存储***170中。如果总帧阈值未被满足,则该帧被丢弃。
在一些实施例中,基于特征空间相似性的帧选择模块300的特征提取器310对应于基于不确定性的帧选择模块500的对象检测器的神经网络的一部分。例如,如果K类对象检测器510***包括卷积神经网络和骨干神经网络(诸如,MobileNetV3),则基于特征空间相似性的帧选择模块300的特征提取器310可包括相同的骨干神经网络。
图9是示出根据本公开的一个实施例的计算***130的框图。如图9中所示,根据一个实施例的计算***130包括处理器132和存储器134,其中,处理器132可以是:通用中央处理器(CPU)(例如,具有一个或多个核)、图形处理器(GPU)、现场可编程门阵列(FPGA)、神经处理器(NPU)或神经网络处理器(NNP)(例如,具有被定制为使用神经网络执行推断的架构的处理器)、或神经形态处理器。例如,神经网络的参数(例如,权重和偏置)和神经网络架构可被存储在连接到处理器132的非暂时性存储器中,其中,处理器132通过从存储器加载参数和神经网络架构而使用神经网络执行推断。作为另一示例,在FPGA的情况下,可使用位文件(bitfile)以具有网络架构和权重的非暂时性方式来配置FPGA。存储器134可包括用于存储所述一批数据(例如,从一或多个摄像机110接收的视频数据的所述一批帧)的缓冲存储器150。计算***130还可包括协处理器136,协处理器136可包括:(具有一个或多个核的)通用CPU、GPU、FPGA、NPU、NNP、或神经形态处理器。例如,协处理器136可被单独地配置为执行(以及加速或分流(offload))与特征提取器310、K类对象检测器510等相关联的计算。如上所述,计算***130可被配置为将由计算***130选择的数据存储在持久性存储***170中。此外,存储器134存储指令,所述指令在被处理器132和/或协处理器136执行时实现根据本公开的实施例描述的模块和方法。
这样,本公开的实施例的方面涉及用于数据缩减的***和方法。虽然已经结合特定示例性实施例描述了本公开,但是将理解,公开不限于公开的实施例,而是相反,意在覆盖包括在所附权利要求及其等同物的范围内的各种修改和等同布置。
Claims (20)
1.一种用于抽取视频数据的计算***,包括:
处理器;
持久性存储***,结合到处理器;以及
存储器,存储指令,所述指令在被处理器执行时使得处理器被配置为执行抽取视频数据的一批帧,抽取视频数据的一批帧的步骤包括:
接收视频数据的所述一批帧;
通过特征提取器将所述一批帧映射到特征空间中的对应的特征向量,所述对应的特征向量中的每个特征向量具有比所述一批帧中的对应的帧的尺寸小的尺寸;
基于所述对应的特征向量之间的不相似性,从视频数据的所述一批帧选择一组不相似帧;以及
将选择的一组不相似帧存储在持久性存储***中,选择的一组不相似帧的数量小于视频数据的所述一批帧中的帧的数量。
2.根据权利要求1所述的计算***,其中,选择一组不相似帧的步骤包括:
从视频数据的所述一批帧随机地选择第一参考帧;
从所述一批帧丢弃第一组帧,第一组帧具有在与第一参考帧对应的第一特征向量的相似性阈值距离内的对应的特征向量;
从所述一批帧选择第二参考帧,第二参考帧具有第二特征向量,其中,第一特征向量与第二特征向量之间的距离大于所述相似性阈值距离;以及
从所述一批帧丢弃第二组帧,第二组帧具有在第二特征向量的相似性阈值距离内的对应的特征向量,
其中,选择的一组不相似帧包括第一参考帧和第二参考帧,并且排除第一组帧和第二组帧。
3.根据权利要求1所述的计算***,其中,特征提取器包括神经网络。
4.根据权利要求3所述的计算***,其中,神经网络包括卷积神经网络。
5.根据权利要求1所述的计算***,其中,所述计算***在车辆上,并且
其中,视频数据的所述一批帧是由安装在车辆上的摄像机拍摄的视频数据的流的一部分,摄像机被配置为拍摄车辆的周围的图像。
6.根据权利要求5所述的计算***,其中,视频数据的所述一批帧在具有与拍摄间隔对应的长度的第一时间段被拍摄,
其中,视频数据的流包括:视频数据的第二批帧,视频数据的第二批帧对应于在具有与拍摄间隔对应的长度的第二时间段期间拍摄的视频数据,第二时间段紧接在第一时间段之后,并且
其中,所述计算***被配置为:映射所述一批帧,以在与拍摄间隔对应的时间量内抽取视频数据的所述一批帧。
7.根据权利要求1至6中的任意一项所述的计算***,其中,抽取视频数据的一批帧的步骤还包括:基于不确定性度量从选择的一组不相似帧去除帧,基于不确定性度量从选择的一组不相似帧去除帧的步骤包括:
将选择的一组不相似帧中的每个帧供应给对象检测器,对象检测器包括用于计算多组边界框的卷积神经网络,所述多组边界框标识帧的描绘多个对象类中的每个对象类的实例的部分,每组边界框中的每个边界框具有相关联的置信度分数;
基于所述多组边界框和相关联的置信度分数来计算选择的一组不相似帧中的每个帧的不确定性分数;以及
从选择的一组不相似帧去除具有不满足不确定性阈值的不确定性分数的一组帧,
其中,存储在持久性存储***中的选择的一组不相似帧排除具有不满足不确定性阈值的不确定性分数的所述一组帧。
8.根据权利要求7所述的计算***,其中,对象检测器还包括长短期记忆神经网络。
9.根据权利要求7所述的计算***,其中,计算不确定性分数的步骤包括针对每个帧:
识别与帧的同一部分对应且与不同对象类对应的最高的两个相关联的置信度分数;以及
将所述最高的两个相关联的置信度分数进行比较,
其中,所述最高的两个相关联的置信度分数之间的差越小,不确定性分数越高,并且
其中,所述最高的两个相关联的置信度分数之间的差越大,不确定性分数越低。
10.根据权利要求7所述的计算***,其中,特征提取器包括对象检测器的卷积神经网络。
11.一种用于抽取视频数据的计算***,包括:
处理器;
持久性存储***,结合到处理器;以及
存储器,存储指令,所述指令在被处理器执行时使得处理器被配置为执行抽取视频数据的一批帧,抽取视频数据的一批帧的步骤包括:
接收视频数据的所述一批帧;
将视频数据的所述一批帧中的每个帧供应给对象检测器,对象检测器包括用于计算多组边界框的卷积神经网络,所述多组边界框标识帧的描绘多个对象类中的每个对象类的实例的部分,每组边界框中的每个边界框具有相关联的置信度分数;
基于所述多组边界框和相关联的置信度分数来计算视频数据的所述一批帧中的每个帧的不确定性分数;以及
从视频数据的所述一批帧选择一组不确定帧,其中,所述一组不确定帧中每个帧的不确定性分数满足不确定性阈值,
将选择的一组不确定帧存储在持久性存储***中,选择的一组不确定帧的数量小于视频数据的所述一批帧中的帧的数量。
12.根据权利要求11所述的计算***,其中,对象检测器还包括:长短期记忆神经网络。
13.根据权利要求11所述的计算***,其中,计算不确定性分数的步骤包括针对每个帧:
识别与帧的同一部分对应且与不同对象类对应的最高的两个相关联的置信度分数;以及
将所述最高的两个相关联的置信度分数进行比较,
其中,所述最高的两个相关联的置信度分数之间的差越小,不确定性分数越高,并且
其中,所述最高的两个相关联的置信度分数之间的差越大,不确定性分数越低。
14.根据权利要求11至13中的任意一项所述的计算***,其中,所述计算***在车辆上,并且
其中,视频数据的所述一批帧是由安装在车辆上的摄像机拍摄的视频数据的流的一部分,摄像机被配置为拍摄车辆的周围的图像。
15.根据权利要求14所述的计算***,其中,视频数据的所述一批帧在具有与拍摄间隔对应的长度的第一时间段被拍摄,
其中,视频数据的流包括:视频数据的第二批帧,视频数据的第二批帧对应于在具有与拍摄间隔对应的长度的第二时间段期间拍摄的视频数据,第二时间段紧接在第一时间段之后,并且
其中,所述处理器被配置为:在与拍摄间隔对应的时间量内抽取视频数据的所述一批帧。
16.一种用于抽取视频数据的计算***,包括:
处理器;
持久性存储***,结合到处理器;以及
存储器,存储指令,所述指令在被处理器执行时使得处理器被配置为执行抽取视频数据的一批帧,抽取视频数据的一批帧的步骤包括:
接收视频数据的所述一批帧;
通过特征提取器将视频数据的所述一批帧映射到特征空间中的对应的特征向量,所述对应的特征向量中的每个特征向量具有比所述一批帧中的对应的帧的尺寸小的尺寸;
基于所述对应的特征向量计算多个不相似性分数,所述多个不相似性分数中的每个不相似性分数对应于所述一批帧中的一个帧;
将视频数据的所述一批帧中的每个帧供应给对象检测器,对象检测器包括用于计算多组边界框的卷积神经网络,所述多组边界框标识帧的描绘多个对象类中的每个对象类的实例的部分,每组边界框中的每个边界框具有相关联的置信度分数;
基于所述多组边界框和相关联的置信度分数来计算多个不确定性分数,所述多个不确定性分数中的每个不确定性分数对应于所述一批帧中的一个帧;
通过对所述多个不相似性分数中的相关联的不相似性分数和所述多个不确定性分数中的相关联的不确定性分数进行聚合来计算每个帧的总分数;
从视频数据的所述一批帧选择一组帧,其中,选择的一组帧中的每个帧的总分数满足总帧阈值;以及
将选择的一组帧存储在持久性存储***中,选择的一组帧的数量小于视频数据的所述一批帧中的帧的数量。
17.根据权利要求16所述的计算***,其中,计算不确定性分数的步骤包括针对每个帧:
识别与帧的同一部分对应且与不同对象类对应的最高的两个相关联的置信度分数;以及
将所述最高的两个相关联的置信度分数进行比较,
其中,所述最高的两个相关联的置信度分数之间的差越小,不确定性分数越高,并且
其中,所述最高的两个相关联的置信度分数之间的差越大,不确定性分数越低。
18.根据权利要求16或17所述的计算***,其中,所述计算***在车辆上,并且
其中,视频数据的所述一批帧是由安装在车辆上的摄像机拍摄的视频数据的流的一部分,摄像机被配置为拍摄车辆的周围的图像。
19.根据权利要求18所述的计算***,其中,视频数据的所述一批帧在具有与拍摄间隔对应的长度的第一时间段被拍摄,
其中,视频数据的流包括:视频数据的第二批帧,视频数据的第二批帧对应于在具有与拍摄间隔对应的长度的第二时间段期间拍摄的视频数据,第二时间段紧接在第一时间段之后,并且
其中,所述处理器被配置为:在与拍摄间隔对应的时间量内抽取视频数据的所述一批帧。
20.根据权利要求16或17所述的计算***,其中,特征提取器包括对象检测器的卷积神经网络。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962933827P | 2019-11-11 | 2019-11-11 | |
US62/933,827 | 2019-11-11 | ||
US16/776,266 | 2020-01-29 | ||
US16/776,266 US11288515B2 (en) | 2019-11-11 | 2020-01-29 | Methods and systems for real-time data reduction |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112784673A true CN112784673A (zh) | 2021-05-11 |
Family
ID=75750499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011248113.5A Pending CN112784673A (zh) | 2019-11-11 | 2020-11-10 | 用于抽取视频数据的计算*** |
Country Status (2)
Country | Link |
---|---|
US (2) | US11288515B2 (zh) |
CN (1) | CN112784673A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505737A (zh) * | 2021-07-26 | 2021-10-15 | 浙江大华技术股份有限公司 | 前景图像的确定方法及装置、存储介质、电子装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11961298B2 (en) * | 2019-02-22 | 2024-04-16 | Google Llc | Memory-guided video object detection |
KR102657904B1 (ko) * | 2020-05-12 | 2024-04-17 | 한국전자통신연구원 | 뉴럴 네트워크에서의 다중 레벨 단계적 양자화 방법 및 장치 |
US11445168B1 (en) * | 2020-09-30 | 2022-09-13 | Amazon Technologies, Inc. | Content-adaptive video sampling for cost-effective quality monitoring |
US20220138596A1 (en) * | 2020-11-02 | 2022-05-05 | Adobe Inc. | Increasing efficiency of inferencing digital videos utilizing machine-learning models |
CN113792600B (zh) * | 2021-08-10 | 2023-07-18 | 武汉光庭信息技术股份有限公司 | 一种基于深度学习的视频抽帧方法和*** |
US20230251396A1 (en) * | 2022-02-08 | 2023-08-10 | King Fahd University Of Petroleum And Minerals | Event detection and de-noising method for passive seismic data |
US20230260251A1 (en) * | 2022-02-17 | 2023-08-17 | Robert Bosch Gmbh | Automated key frame selection |
DE102022133819A1 (de) * | 2022-12-19 | 2024-06-20 | Dspace Gmbh | Verfahren und System zum kriterienbasierten Extrahieren von Bilddaten |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7769513B2 (en) | 2002-09-03 | 2010-08-03 | Automotive Technologies International, Inc. | Image processing for vehicular applications applying edge detection technique |
US8195598B2 (en) * | 2007-11-16 | 2012-06-05 | Agilence, Inc. | Method of and system for hierarchical human/crowd behavior detection |
US8213680B2 (en) | 2010-03-19 | 2012-07-03 | Microsoft Corporation | Proxy training data for human body tracking |
US8934722B2 (en) | 2011-09-19 | 2015-01-13 | Given Imaging Ltd. | System and method for classification of image data items based on indirect user input |
US11074495B2 (en) * | 2013-02-28 | 2021-07-27 | Z Advanced Computing, Inc. (Zac) | System and method for extremely efficient image and pattern recognition and artificial intelligence platform |
US8311973B1 (en) | 2011-09-24 | 2012-11-13 | Zadeh Lotfi A | Methods and systems for applications for Z-numbers |
EP3238015A4 (en) * | 2014-12-22 | 2019-01-23 | Robert Bosch GmbH | VISUAL CONTEXT SENSITIVE SYSTEM BASED ON A FIRST PERSON CAMERA |
US9858496B2 (en) | 2016-01-20 | 2018-01-02 | Microsoft Technology Licensing, Llc | Object detection and classification in images |
CN107230187B (zh) * | 2016-03-25 | 2022-05-24 | 北京三星通信技术研究有限公司 | 多媒体信息处理的方法和装置 |
WO2018058321A1 (en) * | 2016-09-27 | 2018-04-05 | SZ DJI Technology Co., Ltd. | Method and system for creating video abstraction from image data captured by a movable object |
US10809376B2 (en) * | 2017-01-06 | 2020-10-20 | Massachusetts Institute Of Technology | Systems and methods for detecting objects in underwater environments |
CN110249304B (zh) * | 2017-01-19 | 2023-05-23 | 三星电子株式会社 | 电子设备的视觉智能管理 |
EP3399465A1 (en) * | 2017-05-05 | 2018-11-07 | Dassault Systèmes | Forming a dataset for fully-supervised learning |
US10572773B2 (en) * | 2017-05-05 | 2020-02-25 | Intel Corporation | On the fly deep learning in machine learning for autonomous machines |
EP3625677A4 (en) * | 2017-05-14 | 2021-04-21 | Digital Reasoning Systems, Inc. | SYSTEMS AND METHODS FOR QUICKLY CREATING, MANAGING AND SHARING LEARNING MODELS |
US10803323B2 (en) | 2017-05-16 | 2020-10-13 | Samsung Electronics Co., Ltd. | Electronic device and method of detecting driving event of vehicle |
US10127438B1 (en) * | 2017-08-07 | 2018-11-13 | Standard Cognition, Corp | Predicting inventory events using semantic diffing |
US20190138967A1 (en) * | 2017-11-03 | 2019-05-09 | Drishti Technologies, Inc. | Workspace actor coordination systems and methods |
US10761538B2 (en) * | 2018-02-26 | 2020-09-01 | Fedex Corporate Services, Inc. | Systems and methods for enhanced collision avoidance on logistics ground support equipment using multi-sensor detection fusion |
US10747224B2 (en) * | 2018-06-19 | 2020-08-18 | Toyota Research Institute, Inc. | Debugging an autonomous driving machine learning model |
US10846554B2 (en) * | 2018-07-17 | 2020-11-24 | Avigilon Corporation | Hash-based appearance search |
US10902616B2 (en) * | 2018-08-13 | 2021-01-26 | Nvidia Corporation | Scene embedding for visual navigation |
CA3111455C (en) * | 2018-09-12 | 2023-05-09 | Avigilon Coporation | System and method for improving speed of similarity based searches |
US11204417B2 (en) * | 2019-05-08 | 2021-12-21 | GM Global Technology Operations LLC | Selective attention mechanism for improved perception sensor performance in vehicular applications |
US10814815B1 (en) * | 2019-06-11 | 2020-10-27 | Tangerine Innovation Holding Inc. | System for determining occurrence of an automobile accident and characterizing the accident |
-
2020
- 2020-01-29 US US16/776,266 patent/US11288515B2/en active Active
- 2020-11-10 CN CN202011248113.5A patent/CN112784673A/zh active Pending
-
2022
- 2022-03-16 US US17/696,441 patent/US11775827B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505737A (zh) * | 2021-07-26 | 2021-10-15 | 浙江大华技术股份有限公司 | 前景图像的确定方法及装置、存储介质、电子装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210142068A1 (en) | 2021-05-13 |
US11288515B2 (en) | 2022-03-29 |
US11775827B2 (en) | 2023-10-03 |
US20220207876A1 (en) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112784673A (zh) | 用于抽取视频数据的计算*** | |
CN107851191B (zh) | 用于图像中的对象检测的基于上下文的先验 | |
Simhambhatla et al. | Self-driving cars: Evaluation of deep learning techniques for object detection in different driving conditions | |
US20180114071A1 (en) | Method for analysing media content | |
Bisio et al. | A systematic review of drone based road traffic monitoring system | |
Andrews Sobral et al. | Highway traffic congestion classification using holistic properties | |
US11461992B2 (en) | Region of interest selection for object detection | |
JP2016219004A (ja) | 一般物体提案を用いる複数物体の追跡 | |
CN111126401A (zh) | 一种基于上下文信息的车牌字符识别方法 | |
CN113361533A (zh) | 重叠遮挡的目标物的分割识别方法及*** | |
CN115620393A (zh) | 一种面向自动驾驶的细粒度行人行为识别方法及*** | |
CN116129291A (zh) | 一种面向无人机畜牧的图像目标识别方法及其装置 | |
Chen et al. | Investigating low level features in CNN for traffic sign detection and recognition | |
CN115527133A (zh) | 一种基于目标密度信息的高分图像背景优化方法 | |
Zhang et al. | Traffic lane detection using fcn | |
EP4332910A1 (en) | Behavior detection method, electronic device, and computer readable storage medium | |
Wozniak et al. | Deep embeddings-based place recognition robust to motion blur | |
WO2023105800A1 (en) | Object detection device, object detection method, and object detection system | |
KR102566614B1 (ko) | 영상에 포함된 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램 | |
US20230012137A1 (en) | Pedestrian search method, server, and storage medium | |
CN114445787A (zh) | 非机动车重识别方法及相关设备 | |
KR20210056899A (ko) | 실시간 데이터 감소를 위한 시스템들 및 방법들 | |
CN114092818A (zh) | 语义分割方法、装置、电子设备及存储介质 | |
Gao | A one-stage detector for extremely-small objects based on feature pyramid network | |
US20240233369A9 (en) | Utilizing machine learning models to classify vehicle trajectories and collect road use data in real-time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210511 |
|
WD01 | Invention patent application deemed withdrawn after publication |