CN110235138A - 用于外观搜索的系统和方法 - Google Patents
用于外观搜索的系统和方法 Download PDFInfo
- Publication number
- CN110235138A CN110235138A CN201780085044.0A CN201780085044A CN110235138A CN 110235138 A CN110235138 A CN 110235138A CN 201780085044 A CN201780085044 A CN 201780085044A CN 110235138 A CN110235138 A CN 110235138A
- Authority
- CN
- China
- Prior art keywords
- image
- video
- learning machine
- computer
- confidence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 121
- 238000004590 computer program Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 67
- 238000004458 analytical method Methods 0.000 claims description 54
- 238000003860 storage Methods 0.000 claims description 45
- 238000013528 artificial neural network Methods 0.000 claims description 17
- 238000013527 convolutional neural network Methods 0.000 claims description 13
- 241000406668 Loxodonta cyclotis Species 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 8
- 210000004218 nerve net Anatomy 0.000 claims description 2
- 239000013598 vector Substances 0.000 description 78
- 238000005520 cutting process Methods 0.000 description 42
- 238000001514 detection method Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 31
- 230000000007 visual effect Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 14
- 238000007726 management method Methods 0.000 description 13
- 238000012549 training Methods 0.000 description 13
- 210000005036 nerve Anatomy 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000004438 eyesight Effects 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 7
- 230000001052 transient effect Effects 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 241001465754 Metazoa Species 0.000 description 5
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000005611 electricity Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000005021 gait Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- 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/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/143—Sensing or illuminating at different wavelengths
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- 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/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- 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/56—Extraction of image or video features relating to colour
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- 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/44—Event detection
-
- 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/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/192—Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
- G06V30/194—References adjustable by an adaptive method, e.g. learning
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/4223—Cameras
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4662—Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
- H04N21/4666—Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user
Abstract
提供了一种外观搜索系统,包括被配置为捕获现场的视频的一个或多个摄像头,该视频具有对象的图像。该系统包括存储器和一个或多个处理器,该存储器包括计算机程序代码,其存储在存储器上并被配置为当由一个或多个处理器执行时使得一个或多个处理器执行方法。该方法包括识别对象的图像内的一个或多个对象。该方法还包括实现学习机,该学习机被配置为生成所识别的对象的签名并生成感兴趣对象的签名。该系统还包括网络,其被配置为将对象的图像从摄像头发送到一个或多个处理器。该方法还包括将所识别的对象的签名与感兴趣对象的签名进行比较,以生成所识别的对象的相似性得分,并且基于相似性得分发送用于在显示器上呈现对象的一个或多个图像的指令。
Description
相关申请
本申请要求于2016年12月5日提交的美国临时专利申请No.62/430,292和2017年6月30日提交的美国临时专利申请No.62/527,894的权益,这两个专利申请均通过引用整体结合于此。
技术领域
本主题涉及视频监视,并且更具体地涉及识别视频监视系统的视频中的感兴趣的对象。
背景技术
计算机实现的视觉对象分类(也称为对象识别)涉及对由摄像头捕获的静止图像或运动视频中发现的现实对象的视觉表示的分类。通过执行视觉对象分类,在静止图像或运动视频中找到的每个视觉对象根据其类型(例如,人、车辆或动物)进行分类。
自动安全和监视系统通常使用视频摄像头或其他图像捕获设备或传感器来收集诸如视频或视频连续镜头的图像数据。在最简单的系统中,显示由图像数据表示的图像以供安全人员同时进行筛选和/或记录由图像数据表示的图像以供在发现安全漏洞之后查看。在那些系统中,检测和分类感兴趣的视觉对象的任务由人观察者执行。当系统本身能够部分或完全执行对象检测和分类时,会发生显着的进步。
在典型的监视系统中,人们可能对检测在环境中移动的诸如人、车辆、动物等的对象感兴趣。然而,如果例如儿童在大型购物中心丢失,则安全人员人工查看丢失的儿童的视频镜头可能非常耗时。计算机实现的在由摄像头捕获的图像数据表示的图像中检测对象可以显着地促进安全人员检查相关视频片段的任务,以便及时地找到丢失的儿童。
话虽如此,检测和识别对象以及哪些对象是相似的计算机实现的视频分析需要大量的计算资源,尤其是当期望的准确度增加时。如果可以分布处理以优化资源利用,则将有助于计算机实现。
发明内容
在本公开的第一方面,提供了一种外观搜索系统,其包括一个或多个被配置为捕获现场的视频的摄像头,该视频具有对象的图像。该系统包括一个或多个处理器和存储器,其包括计算机程序代码,所述计算机程序代码存储在存储器上并且被配置为在由一个或多个处理器执行时使得一个或多个处理器执行方法。该方法包括识别对象的图像内的一个或多个对象。该方法还包括实现学习机,该学习机被配置为生成所识别的对象的签名并生成感兴趣对象的签名。该系统还包括网络,该网络被配置为将对象的图像从摄像头发送到一个或多个处理器。该方法还包括将所识别的对象的签名与感兴趣对象的签名进行比较,以生成所识别的对象的相似性得分,并且基于相似性得分发送用于在显示器上呈现对象的一个或多个图像的指令。
该系统还可以包括存储系统,用于存储所识别的对象的所生成的签名和视频。
所实现的学习机可以是第二学习机,并且识别可以由一个或多个处理器实现的第一学习机执行。
第一和第二学习机可以包括神经网络。神经网络可以包括卷积神经网络。神经网络或卷积神经网络可以包括训练模型。
该系统还可以包括用于运行第一和第二学习机的一个或多个图形处理单元。
一个或多个摄像头还可以被配置为使用视频分析来捕获对象的图像。
所述一个或多个摄像头还可以被配置为通过对象的分类来过滤对象的图像。一个或多个摄像头还可以被配置为识别包括人类对象的一个或多个图像,并且网络还可以被配置为仅将所识别的图像发送到一个或多个处理器。
对象的图像可以包括视频的图像帧的部分。图像帧的部分可以包括图像帧的第一图像部分,第一图像部分至少包括对象。图像帧的部分可以包括图像帧的第二图像部分,第二图像部分大于第一图像部分。第一学习机可以被配置成为第二学习机勾勒第二图像部分内的一个或多个或全部对象。
一个或多个摄像头还可以被配置为生成参考坐标,以允许从对象的图像的视频中提取。存储系统可以被配置为存储参考坐标。
一个或多个摄像头还可以被配置为从一段时间内捕获的视频中选择一个或多个图像,以获得对象的一个或多个图像。
对象的识别可以包括勾勒图像中的一个或多个对象。
识别可以包括识别至少一个图像内的多个对象;并且将至少一个图像划分为多个划分图像,每个划分图像包括所识别对象之一的至少一部分。该方法还可以包括:对于每个所识别的对象:确定置信度水平;如果置信度水平不满足置信要求,则使得由第一学习机执行识别和划分;或者如果置信度水平满足置信要求,则使得由第二学习机执行识别和划分。
一个或多个摄像头还可以包括用于确定置信度水平的一个或多个视频分析模块。
在本公开的另一方面,提供了一种方法,其包括捕获现场的视频,该视频具有对象的图像。该方法还包括识别对象的图像内的一个或多个对象。该方法还包括使用学习机生成所识别的对象的签名以及感兴趣对象的签名。该方法还包括通过将所识别的对象的签名与感兴趣对象的第一签名进行比较来生成所识别的对象的相似性得分。该方法还包括基于相似性得分在显示器上呈现对象的一个或多个图像。
该方法可以进一步包括执行以上结合本公开的第一方面描述的任何步骤或操作。
在本公开的另一方面,提供了一种计算机可读介质,在其上存储有计算机程序代码,该计算机程序代码可由一个或多个处理器执行,并且被配置为在由一个或多个处理器执行时使得一个或多个处理器执行方法。该方法包括捕获现场的视频,该视频具有对象的图像。该方法还包括识别对象的图像内的一个或多个对象。该方法还包括使用学习机生成所识别的对象的签名以及感兴趣对象的签名。该方法还包括通过将所识别的对象的签名与感兴趣对象的第一签名进行比较来生成所识别对象的相似性得分。该方法还包括基于相似性得分在显示器上呈现对象的一个或多个图像。
由一个或多个一个或多个处理器执行的方法可以进一步包括执行以上结合本公开的第一方面描述的任何步骤或操作。
在本公开的另一方面,提供了一种系统,其包括:一个或多个摄像头,其被配置为捕获现场的视频。该系统还包括一个或多个处理器和存储器,其包括计算机程序代码,所述计算机程序代码存储在存储器上,并且被配置为在由一个或多个处理器执行时使得一个或多个处理器执行方法。该方法包括从视频中提取片段,其中片段包括对象的图像。该方法还包括识别至少一个片段内的多个对象。该方法还包括将至少一个片段划分为多个划分片段,每个划分片段包括所识别的对象之一的至少一部分。
该方法还可以包括实现学习机,该学习机被配置为生成所识别的对象的签名并生成感兴趣对象的签名。学习机可以是第二学习机,并且识别和划分可以由一个或多个处理器实现的第一学习机执行。该方法还可以包括:对于每个所识别的对象:确定置信度水平;如果置信度水平不满足置信要求,则使得由第一学习机执行识别和划分;或者如果置信度水平满足置信要求,则使得由第二学习机执行识别和划分。一个或多个摄像头可以包括用于确定置信度水平的一个或多个视频分析模块。
至少一个片段可包括至少一个填充片段。每个填充片段可以包括视频的图像帧的第一图像部分。至少一个片段还可包括至少一个非填充片段。每个非填充片段可以包括视频的图像帧的第二图像部分,第二图像部分小于第一图像部分。
在本公开的另一方面,提供了一种计算机可读介质,在其上存储有计算机程序代码,该计算机程序代码可由一个或多个处理器执行,并且被配置为在由一个或多个处理器执行时使得一个或多个处理器执行方法。该方法包括获得现场的视频。该方法还包括从视频中提取片段,其中片段包括对象的图像。该方法还包括识别至少一个片段内的多个对象。该方法还包括将至少一个片段划分为多个划分片段,每个划分片段包括所识别的对象之一的至少一部分。
由一个或多个处理器执行的方法可以进一步包括执行上面结合前一所述系统描述的任何步骤或操作。
在本公开的另一方面,提供了一种外观搜索系统,其包括:用于捕获现场的视频的摄像头,所述视频具有对象的图像;具有学习机的处理器,用于从与视频相关联的对象的图像生成签名,并用于从感兴趣对象的第一图像生成第一签名;用于将对象的图像从摄像头发送到处理器的网络;以及存储系统,用于存储所生成的对象的签名和相关视频;其中,处理器还将来自图像的签名与感兴趣对象的第一签名进行比较,以生成相似性得分,并进一步准备具有较高相似性得分的对象的图像,以便在显示器上呈现给用户。
根据一些示例实施例,学习机是神经网络。
根据一些示例实施例,神经网络是卷积神经网络。
根据一些示例实施例,神经网络是训练模型。
根据一些示例实施例,图形处理单元用于运行学习机。
根据一些示例实施例,在摄像头处捕获对象的图像并使用摄像头处的视频分析来处理对象的图像。
根据一些示例实施例,在被发送到处理器之前,通过在摄像头处对象类型的分类来过滤对象的图像。
根据一些示例实施例,发送到处理器的对象类型是人。
根据一些示例实施例,从视频捕获对象的图像的摄像头还包括捕获视频内的图像的参考坐标,使得可以基于参考坐标从视频中提取对象的图像。
根据一些示例实施例,从视频中提取的图像被删除,并且存储系统存储签名、参考坐标和视频。
根据一些示例实施例,视频分析选择在一段时间内的对象的一个或多个图像以表示该一段时间的对象的捕获图像。
在本公开的另一方面,提供了一种外观搜索在由摄像头捕获的视频中的感兴趣对象的计算机实现的方法,该方法包括:从由摄像头所拍摄的视频中提取对象的图像;通过网络将对象的图像和视频发送到处理器;由处理器使用学习机从对象图像生成签名;将对象的签名和视频,与该对象相关联地,存储在存储系统中;由处理器使用学习机从任何感兴趣对象的图像生成签名;由处理器将来自存储系统中的图像的签名与感兴趣对象的签名进行比较,以生成每次比较的相似性得分;准备具有较高相似性得分的对象的图像,以便在显示器上呈现给用户。
在本公开的另一方面,提供了一种外观搜索在由摄像头捕获的视频中的感兴趣对象的计算机实现的方法,该方法包括:从由摄像头拍摄的视频中提取对象的图像;通过网络将对象的图像和视频发送到处理器;由处理器使用学习机从对象的图像生成签名,其中对象的图像包括感兴趣对象的图像;将对象的签名和视频,与对象相关联地,存储在存储系统中;在存储系统中搜索感兴趣对象的图像的实例;针对感兴趣对象的图像的实例,从存储器中检索感兴趣对象的签名;由处理器将来自存储系统中的图像的签名与感兴趣对象的签名进行比较,以生成每次比较的相似性得分;并且准备具有较高相似性得分的对象的图像,以便在显示器上呈现给用户。
在本公开的另一方面,提供了一种非暂时性计算机可读存储介质,在其上存储有指令,当由处理器执行时,使得处理器执行用于外观搜索在由摄像头捕获的视频中的感兴趣对象的方法,该方法包括:从由摄像头拍摄的视频中提取对象的图像;通过网络将对象的图像和视频发送到处理器;由处理器使用学习机从对象的图像生成签名,其中对象的图像包括感兴趣对象的图像;将对象的签名和视频,与对象相关联地,存储在存储系统中;在存储系统中搜索感兴趣对象的图像的实例;针对感兴趣对象的图像实例,从存储器中检索感兴趣对象的签名;由处理器将来自存储系统中的图像的签名与感兴趣对象的签名进行比较,以生成每次比较的相似性得分;以及准备具有较高相似性得分的对象的图像,以便在显示器上呈现给用户。
附图说明
详细描述参考以下附图,其中:
图1示出了根据示例实施例的视频捕获和回放系统的连接设备的框图;
图2A示出了根据一个示例实施例的视频捕获和回放系统的一组操作模块的框图;
图2B示出了根据一个特定示例实施例的视频捕获和回放系统的一组操作模块的框图,其中视频分析模块224、视频管理模块232和存储设备240完全在一个或多个图像捕获设备108上实现;
图3示出了用于对由视频捕获设备捕获的视频的一个或多个图像帧执行视频分析的方法的示例实施例的流程图;
图4示出了用于执行外观匹配以在由视频捕获设备(摄像头)捕获的视频的一个或多个图像帧上定位感兴趣对象的方法的示例实施例的流程图;
图5示出了图4的示例实施例的流程图,其显示了用于在客户端处执行外观匹配以定位感兴趣对象的记录视频的外观搜索的细节;
图6示出了图4的示例实施例的流程图,其显示了用于在客户端420处执行外观匹配以定位在所选时间之前或之后的感兴趣对象的记录视频的定时外观搜索的细节;
图7示出了在存储之前的对象简档的示例元数据和用于存储的大小缩小的对象简档的框图;
图8示出了图4的示例实施例的现场和裁剪的边界框;
图9示出了根据一个示例实施例的视频分析模块的一组操作子模块的框图;
图10A示出了根据一个示例实施例的用于生成特征向量的过程的框图;
图10B示出了根据替换示例实施例的用于生成特征向量的备选过程的框图;
图11示出了生成裁剪的边界框的示例实施例的流程图;和
图12示出了由摄像头、由分析模块生成的填充的裁剪边界框和裁剪边界框所看到的图像的示例。
应当理解,为了说明的简单和清楚,附图中所示的元件不一定按比例绘制。例如,为了清楚起见,一些元件的尺寸可能相对于其他元件被夸大。此外,在认为适当的情况下,附图标记可以在附图中重复以指示对应或类似的元件。
具体实施方式
阐述了许多具体细节,以便提供对本文描述的示例性实施例的透彻理解。然而,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实践本文描述的实施例。在其他情况下,没有详细描述众所周知的方法、过程和组件,以突出这里描述的实施例。此外,该描述不应被视为以任何方式限制本文描述的实施例的范围,而是仅描述本文描述的各种实施例的实施方式。
当与权利要求和/或说明书中的术语“包括”或“包含”结合使用时,词语“一”或“一个”可以表示“一个”,但它也与“一个或多个”、“至少一个”和“一个或多于一个”的含义一致,除非内容另有明确规定。类似地,除非内容另有明确规定,否则词语“另一个”可以表示至少第二个或更多个。
如本文所使用的术语“耦合”、“耦合”或“连接”可具有若干不同含义,这取决于使用这些术语的上下文。例如,术语耦合、耦合或连接可以具有机械或电内涵。例如,如本文所使用的,术语耦合、耦合或连接取决于具体情况可以指示两个元件或设备彼此直接连接或通过一个或多个中间元件或设备经由电元件、电信号或机械元件彼此连接。
这里,图像可以包括多个连续图像帧,其一起形成由视频捕获设备捕获的视频。每个图像帧可以由像素矩阵表示,每个像素具有像素图像值。例如,像素图像值可以是灰度(例如,0到255)上的数值或者彩色图像的多个数值。用于表示图像数据中的像素图像值的颜色空间的示例包括RGB、YUV、CYKM、YCBCR 4:2:2、YCBCR 4:2:0图像。
本文中的“元数据”或其变体是指通过计算机实现的包括视频中的图像的图像分析获得的信息。例如,处理视频可以包括但不限于图像处理操作、分析、管理、压缩、编码、存储、发送和/或回放视频数据。分析视频可以包括分割图像帧的区域并检测视觉对象、跟踪和/或分类位于由图像数据表示的捕获现场内的视觉对象。图像数据的处理还可以导致关于图像数据或图像内捕获的视觉对象的附加信息被输出。例如,这种附加信息通常被理解为元数据。元数据还可以用于图像数据的进一步处理,例如在图像帧中的检测到的对象周围绘制边界框。
如所属领域的技术人员将了解,本文中所描述的各种实例实施例可体现为方法、系统或计算机程序产品。因此,各种示例实施例可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)的形式或者组合软件和硬件方面的实施例,这些实施例通常可以在本文中称为“电路”、“模块”或“系统”。此外,各种示例实施例可以采用计算机可用存储介质上的计算机程序产品的形式,其具有在介质中体现的计算机可用程序代码。
可以使用任何合适的计算机可用或计算机可读介质。计算机可用或计算机可读介质可以是例如但不限于电子、磁、光、电磁、红外或半导体系统、装置、设备或传播介质。在本文件的上下文中,计算机可用或计算机可读介质可以是能够包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备使用或与之结合使用的任何介质。
用于执行各种示例实施例的操作的计算机程序代码可以用面向对象的编程语言编写,诸如Java、Smalltalk、C++、Python等。然而,用于执行各种示例实施例的操作的计算机程序代码也可以用传统的过程编程语言编写,例如“C”编程语言或类似的编程语言。程序代码可以完全在计算机上执行,部分在计算机上执行,作为独立的软件包,部分在计算机上并且部分在远程计算机上,或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过局域网(LAN)或广域网(WAN)连接到计算机,或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。
下面参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述各种示例实施例。将理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机程序指令实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机的处理器或其他可编程数据处理装置执行的指令创建用于实现流程图和/或框图框中指定的功能/动作的装置。
这些计算机程序指令还可以存储在计算机可读存储器中,该计算机可读存储器可以指示计算机或其他可编程数据处理装置以特定方式起作用,使得存储在计算机可读存储器中的指令产生包括实现流程图和/或框图框中指定的功能/动作的指令的制造品。
还可以将计算机程序指令加载到计算机或其他可编程数据处理装置上,以使得在计算机或其他可编程装置上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图框中指定的功能/动作的步骤。
现在参考图1,其中示出了根据示例实施例的视频捕获和回放系统100的连接设备的框图。例如,视频捕获和回放系统100可以用作视频监视系统。视频捕获和回放系统100包括执行本文描述的过程和功能的硬件和软件。
视频捕获和回放系统100包括至少一个视频捕获设备108,其可操作以捕获多个图像并产生表示多个捕获图像的图像数据。视频捕获设备108或摄像头108是图像捕获设备并且包括安全视频摄像头。
每个视频捕获设备108包括用于捕获多个图像的至少一个图像传感器116。视频捕获设备108可以是数字视频摄像头,并且图像传感器116可以将捕获的光输出为数字数据。例如,图像传感器116可以是CMOS、NMOS或CCD。在一些实施例中,视频捕获设备108可以是连接到编码器的模拟摄像头。
至少一个图像传感器116可操作以捕获一个或多个频率范围内的光。例如,至少一个图像传感器116可操作以捕获基本上对应于可见光频率范围的范围内的光。在其他示例中,至少一个图像传感器116可操作以捕获可见光范围之外的光,例如红外和/或紫外范围内的光。在其他示例中,视频捕获设备108可以是多传感器摄像头,其包括可操作以捕获不同频率范围内的光的两个或更多个传感器。
至少一个视频捕获设备108可以包括专用摄像头。应当理解,这里的专用摄像头指的是其主要特征是捕获图像或视频的摄像头。在一些示例实施例中,专用摄像头可以执行与捕获的图像或视频相关联的功能,例如但不限于处理由其产生的图像数据或由另一个视频捕获设备108产生的图像数据。例如,专用摄像头可以是监视摄像头,诸如平移-倾斜-变焦摄像头、半球形摄像头、吸顶式摄像头、盒式摄像头和子弹摄像头中的任何一个。
另外地或替代地,至少一个视频捕获设备108可包括嵌入式摄像头。应当理解,这里的嵌入式摄像头指的是嵌入在设备内的摄像头,该设备可操作以执行与捕获的图像或视频无关的功能。例如,嵌入式摄像头可以是在笔记本电脑、平板电脑、无人机设备、智能电话、视频游戏控制台或控制器中的任何一个上找到的摄像头。
每个视频捕获设备108包括一个或多个处理器124、耦合到处理器的一个或多个存储器设备132以及一个或多个网络接口。存储器设备可以包括在执行程序指令期间使用的本地存储器(例如,随机存取存储器和高速缓冲存储器)。处理器执行计算机程序指令(例如,操作系统和/或应用程序),其可以存储在存储器设备中。
在各种实施例中,处理器124可以由具有一个或多个电路单元的任何合适的处理电路实现,所述一个或多个电路单元包括数字信号处理器(DSP)、图形处理单元(GPU)、嵌入式处理器等,以及独立或并行操作的其任何合适的组合(包括可能冗余操作)。这种处理电路可以由一个或多个集成电路(IC)实现,所述一个或多个集成电路(IC)包括由单片集成电路(MIC)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其任何适当的组合实现。附加地或替代地,这种处理电路可以实现为例如可编程逻辑控制器(PLC)。处理器可以包括用于存储诸如数字数据的存储器的电路,并且可以例如包括存储器电路或者与存储器电路有线通信。
在各种示例实施例中,耦合到处理器电路的存储器设备132可操作以存储数据和计算机程序指令。通常,存储器设备是数字电子集成电路的全部或一部分,或者由多个数字电子集成电路形成。例如,存储器设备可以实现为只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存存储器、一个或多个闪存驱动器、通用串行总线(USB)连接的存储器单元、磁存储器、光存储器、磁光存储器等或其任何组合。存储器设备可操作以将存储器存储为易失性存储器、非易失性存储器、动态存储器等或其任何组合。
在各种示例实施例中,图像捕获设备108的多个组件可以在片上系统(SOC)内一起实现。例如,处理器124、存储器设备116和网络接口可以在SOC内实现。此外,当以这种方式实现时,通用处理器以及GPU和DSP中的一个或多个可以在SOC内一起实现。
继续图1,至少一个视频捕获设备108中的每一个连接到网络140。每个视频捕获设备108可操作以输出表示其捕获的图像的图像数据并通过网络传输图像数据。
应该理解,网络140可以是提供数据接收和传输的任何合适的通信网络。例如,网络140可以是局域网、外部网络(例如,WAN或互联网)或其组合。在其他示例中,网络140可以包括云网络。
在一些示例中,视频捕获和回放系统100包括处理设备148。处理设备148可操作以处理由视频捕获设备108输出的图像数据。处理设备148还包括一个或多个处理器和耦合到处理器(CPU)的一个或多个存储器设备。处理设备148还可以包括一个或多个网络接口。为了便于说明,仅示出了一个处理设备148;然而,应该理解,视频捕获和回放系统100可以包括任何合适数量的处理设备148。
例如,并且如图所示,处理设备148连接到视频捕获设备108,视频捕获设备108可以没有存储器132或CPU124来处理图像数据。处理设备148还可以连接到网络140。
根据一个示例性实施例,并且如图1所示,视频捕获和回放系统100包括至少一个工作站156(例如,服务器),每个工作站具有包括图形处理单元(GPU)的一个或多个处理器。至少一个工作站156还可以包括存储器。工作站156从至少一个视频捕获设备108接收图像数据并执行图像数据的处理。工作站156还可以发送用于管理和/或控制一个或多个图像捕获设备108的命令。工作站156可以从视频捕获设备108接收原始图像数据。附加或另外地,工作站156可以接收已经经历了一些中间处理(例如在视频捕获设备108和/或处理设备148处的处理)的图像数据。工作站156还可以从图像数据接收元数据并执行图像数据的进一步处理。
应当理解,虽然图1中示出了单个工作站156,但是工作站可以实现为多个工作站的聚合。
视频捕获和回放系统100还包括连接到网络140的至少一个客户端设备164。客户端设备164由一个或多个用户使用以与视频捕获和回放系统100交互。因此,客户端设备164包括至少一个显示设备和至少一个用户输入设备(例如,鼠标、键盘或触摸屏)。客户端设备164可操作以在其显示设备上显示用于显示信息,接收用户输入和回放视频的用户界面。例如,客户端设备可以是个人计算机、膝上型计算机、平板电脑、个人数据助理(PDA)、蜂窝电话、智能电话、游戏设备和其他移动设备中的任何一个。
客户端设备164可操作以通过网络140接收图像数据,并且还可操作以回放所接收的图像数据。客户端设备164还可以具有用于处理图像数据的功能。例如,客户端设备164的处理功能可以限于与回放所接收的图像数据的能力有关的处理。在其他示例中,可以在工作站和一个或多个客户端设备164之间共享图像处理功能。
在一些示例中,可以在没有工作站156的情况下实现图像捕获和回放系统100。因此,可以在一个或多个视频捕获设备108上完全执行图像处理功能。或者,在两个或更多个视频捕获设备108、处理设备148和客户端设备164中,可以共享图像处理功能。
现在参考图2A,其中示出了根据一个示例实施例的视频捕获和回放系统100的操作模块的集合200的框图。如图1所示,操作模块可以在视频捕获和回放系统100的一个或多个设备上以硬件、软件或软件和硬件两者实现。
操作模块组200包括至少一个视频捕获模块208。例如,每个视频捕获设备108可以实现视频捕获模块208。视频捕获模块208可操作以控制视频捕获设备108的一个或多个组件(例如,传感器116)以捕获图像。
操作模块组200包括图像数据处理模块的子集216。例如,并且如图所示,图像数据处理模块的子集216包括视频分析模块224和视频管理模块232。
视频分析模块224接收图像数据并分析图像数据以确定所捕获的图像或视频和/或在由图像或视频表示的现场中找到的对象的属性或特性。基于所做出的确定,视频分析模块224可以进一步输出提供关于确定的信息的元数据。由视频分析模块224做出的确定的示例可以包括前景/背景分割、对象检测、对象跟踪、对象分类、虚拟绊网、异常检测、面部检测、面部识别、车牌识别、识别对象“被遗忘”或“被删除”和商业智能中的一个或多个。然而,应当理解,本领域中已知的其他视频分析功能也可以由视频分析模块224实现。
视频管理模块232接收图像数据并对与视频传输、回放和/或存储有关的图像数据执行处理功能。例如,视频管理模块232可以处理图像数据以允许根据带宽要求和/或容量来传输图像数据。视频管理模块232还可以根据将要回放视频的客户端设备164的回放能力(例如客户端设备164的处理能力和/或显示器的分辨率)来处理图像数据。视频管理模块232也可以根据视频捕获和回放系统100内的存储容量处理图像数据,以存储图像数据。
应当理解,根据一些示例实施例,视频处理模块的子集216可以仅包括视频分析模块224和视频管理模块232中的一个。
操作模块组200还包括存储模块的子集240。例如,并且如图所示,存储模块的子集240包括视频存储模块248和元数据存储模块256。视频存储模块248存储图像数据,其可以是由视频管理模块处理的图像数据。元数据存储模块256存储从视频分析模块224输出的信息数据。
应当理解,虽然视频存储模块248和元数据存储模块256被示为单独的模块,但是它们可以在相同的硬件存储设备内实现,由此实现逻辑规则以将存储的视频与存储的元数据分离。在其他示例实施例中,视频存储模块248和/或元数据存储模块256可以在其中可以实现分布式存储方案的多个硬件存储设备内实现。
该操作模块组还包括至少一个视频回放模块264,其可操作以接收图像数据并将图像数据回放为视频。例如,视频回放模块264可以在客户端设备164上实现。
操作模块组200可以在图像捕获设备108、处理设备148、工作站156和客户端设备164中的一个或多个上实现。在一些示例实施例中,操作模块可以完全在单个设备上实现。例如,视频分析模块224可以完全在工作站156上实现。类似地,视频管理模块232可以完全在工作站156上实现。
在其他示例实施例中,可以在第一设备上部分地实现操作模块组200的一些功能,而可以在第二设备上实现操作模块的其他功能。例如,视频分析功能可以在图像捕获设备108、处理设备148和工作站156中的一个或多个之间分开。类似地,视频管理功能可以在一个或多个图像捕获设备108、处理设备148和工作站156之间分开。
现在参考图2B,其中示出了根据一个特定示例实施例的视频捕获和回放系统100的操作模块组200的框图,其中视频分析模块224、视频管理模块232和存储设备240完全在一个或多个图像捕获设备108上实现视频分析模块224、视频管理模块232和存储设备240也可以完全在处理设备148上实现。
应当理解,允许图像数据(视频)处理模块的子集216在视频捕获和回放系统100的单个设备上或不同设备上实现允许构建系统100的灵活性。
例如,可以选择使用具有某些功能的特定设备与缺少这些功能的另一设备。当集成来自不同方(例如,制造商)的设备或改进现有的视频捕获和回放系统时,这可能是有用的。
现在参考图3,其中示出了用于对视频捕获设备108捕获的视频的一个或多个图像帧执行视频分析的方法350的示例实施例的流程图。视频分析由视频分析模块224执行,以确定捕获的图像或视频和/或在视频中捕获的现场中找到的视觉对象的属性或特性。
在300处,将视频的至少一个图像帧分割成前景区域和背景区域。分割将对应于所捕获的现场中的移动对象(或先前移动的对象)的图像帧的区域与现场的静止区域分离。
在302处,基于300的分割来检测由图像帧表示的现场中的一个或多个前景视觉对象。例如,任何离散的连续前景区域或“斑点(blob)”可被识别为现场中的前景视觉对象。例如,仅将大于特定大小(例如,像素数量)的连续前景区域识别为现场中的前景视觉对象。
可以进一步生成与检测到的一个或多个前景区域有关的元数据。元数据可以定义图像帧内的前景视觉对象或对象的位置、参考坐标。例如,位置元数据可以进一步用于生成(例如,当编码视频或回放视频时)勾勒检测到的前景视觉对象的边界框。提取边界框内的图像,称为裁剪边界框(也称为“片段”),以包含在元数据中,元数据以及相关视频可在网络140上的其他设备(例如工作站156)处进一步处理。简而言之,裁剪的边界框或者片段是包含检测到的前景视觉对象的视频的图像帧的裁剪部分。提取的图像,即裁剪的边界框,也可以小于边界框中的图像,或者可以比边界框中的图像大。例如,被提取的图像的大小应该接近已经检测到的对象的实际边界而不是在已经检测到的对象的实际边界之外。边界框通常是矩形的,但也可以是紧密地勾勒对象的不规则的形状。例如,边界框可以紧密跟随人类对象的边界(轮廓)。
在另一个实施例中,所提取图像的大小大于已检测到的对象的实际边界,这里称为填充的裁剪边界框(也称为“填充片段”)。例如,填充的裁剪边界框可以是边界框的面积的两倍,使得它全部或部分地包括与检测到的前景视觉对象接近或重叠的对象。为了更加清晰,填充的裁剪边界框具有比边界框内的对象图像的裁剪边界框大的图像(此处称为非填充的裁剪边界框)。为清楚起见,这里使用的裁剪边界框包括填充的裁剪边界框和非填充的裁剪边界框。应当理解,填充的裁剪边界框的图像尺寸可以从稍大(例如,大10%)到变化大得多(例如,大1000%)。
虽然这里的实施例将填充的裁剪边界框描述为具有额外像素的扩展非填充的裁剪边界框,同时仍保持原始非填充的裁剪边界框的参考坐标,但是可以在水平轴而不是垂直轴中更多地添加扩展或额外像素。此外,额外像素的扩展可以关于相对于对象的轴对称或不对称。非填充的裁剪边界框的对象可以在填充的裁剪边界框以及非填充的裁剪边界框中居中,但是一些实施例可以使这些对象偏离中心。
在一些实施例中,裁剪的边界框(包括填充的裁剪边界框和非填充的裁剪边界框)可以是视频的图像帧的参考坐标,而不是视频的图像帧的实际提取图像。然后可以在需要时从图像帧中提取裁剪的边界框图像。由摄像头108看到的图像,填充的裁剪边界框和从填充的裁剪边界框导出的裁剪边界框被发送到视频分析模块224,视频分析模块224可以例如在服务器上处理裁剪边界框。
可以将视觉指示符添加到图像帧以可视地识别检测到的一个或多个前景视觉对象中的每一个。视觉指示符可以是围绕图像帧内的一个或多个前景视觉对象中的每一个的边界框。
在一些示例实施例中,视频分析还可以包括在304处对在302处检测到的前景视觉对象(或对象)进行分类。例如,可以执行模式识别以对前景视觉对象进行分类。前景视觉对象可以按类别分类,例如人、汽车或动物。另外地或替代地,可以通过动作对视觉对象进行分类,例如视觉对象的移动和移动方向。还可以确定其他分类器,例如颜色、大小、方向等。在更具体的示例中,对视觉对象进行分类可以包括基于面部检测识别人并识别文本,例如牌照。视觉分类可以根据共同拥有的美国专利No.8,934,709中描述的系统和方法来执行,该专利的全部内容通过引用结合于此。
视频分析还可以包括在306处检测事件是否已经发生以及事件的类型。检测事件可以基于一个或多个前景视觉对象的分类与一个或多个预定义规则的比较。该事件可能是异常检测或商业智能中的事件,例如是否已触发视频绊线,一个区域中存在的人数,现场中的对象是否“被遗忘”或现场中是否有对象已被删除。
在306处,视频分析的示例可以被设置为仅检测人,并且在这样的检测时,利用每个裁剪的边界框的参考坐标来提取人类对象的裁剪的边界框,以包括在元数据中,元数据以及相关视频可以在其他设备(例如,网络140上的工作站156)处进一步处理310。
现在参考图4,其中示出了用于执行外观匹配以在由视频捕获设备108(摄像头108)捕获的视频的一个或多个图像帧上定位感兴趣对象的方法400的示例实施例的流程图。摄像头108在一段时间内捕获视频。时间可能超过数小时、数天或数月,可能分布在多个视频文件或分段上。这里使用的“视频”的含义包括具有相关元数据的视频文件和视频分段,其具有时间指示并且在存在多于一个摄像头的情况下识别哪个摄像头108。视频的处理被分成多个阶段并被分布以优化资源利用和索引,以便随后搜索感兴趣的对象(或人)。然后,用户可以查看在搜索中发现的感兴趣的人的视频。
摄像头108捕获现场402的视频。现场402在摄像头108的视野内。视频由摄像头108中的视频分析模块224处理,以产生具有裁剪边界框404的元数据。视频分析模块224执行对象检测和分类,并且还从最佳地表示现场402中的对象的视频生成图像(裁剪的边界框)。在该示例中,被分类为人类或人的对象的图像被从视频中提取并作为裁剪的边界框404被包括在元数据中,以进行进一步的识别处理。具有裁剪的边界框404和视频的元数据通过网络140被发送到服务器406。服务器406可以是工作站156或客户端设备164。
在服务器406处,存在明显更多的资源以进一步处理408裁剪的边界框108和生成的特征向量(或“签名”或“二进制表示”)410以表示现场402中的对象。例如,处理408在本领域中称为特征描述器。
在计算机视觉中,特征描述器通常被称为接收图像并经由图像变换,输出特征描述或特征向量的算法。特征描述器将信息(即,图像)编码成一系列数字,以充当可用于将一个特征与另一个特征区分开的数字“指纹”。理想情况下,此信息在图像变换下是不变的,以便可以在同一对象的另一个图像中再次找到这些特征。特征描述器算法的示例是SIFT(尺度不变特征变换)、HOG(定向梯度的直方图)和SURF(加速鲁棒特征)。
特征向量是数字特征(数字)的n维向量,其表示可以由计算机处理的对象的图像。通过将一个对象的一个图像的特征向量与另一个图像的特征向量进行比较,计算机可实现的过程可以确定一个图像和另一个图像是否是同一对象的图像。图像签名(或特征向量,或嵌入或表示等)是由(例如卷积)神经网络计算的多维向量。
通过计算由摄像头108捕获的两个图像的两个特征向量之间的欧几里德距离,计算机可实现的过程能够确定相似性得分以指示两个图像可能有多相似。神经网络被训练使得它们为图像计算的特征向量对于相似图像是接近的(低欧几里德距离)而对于不相似图像是远的(高欧几里德距离)。为了检索相关图像,将查询图像的特征向量与数据库414中的图像的特征向量进行比较。搜索结果可以通过它们与查询图像的距离(在0和1之间的值)的升序来示出。例如,相似性得分可以是从0和1之间的值转换的百分比。
在该示例实现中,处理408使用学习机来处理裁剪的边界框404以生成在视频中捕获的对象的图像的特征向量或签名。学习机例如是神经网络,例如在图形处理单元(GPU)上运行的卷积神经网络(CNN)。可以使用包含数百万对相似和不相似图像的训练数据集来训练CNN。例如,CNN是一种用对比度损失功能训练以训练神经网络的孪生神经网络架构。Bromley、Jane等人的“Signature verification using a“Siamese”time delay neuralnetwork.”International Journal of Pattern Recognition and ArtificialIntelligence 7.04(1993):669-688(“使用‘孪生’延时神经网络进行签名验证”,国际模式识别与人工智能杂志7.04(1993):669-688)中描述了孪生神经网络的示例,其内容通过引用整体并入本文。
处理408在所谓的批量学习中部署训练模型,其中所有训练在用于外观搜索系统之前完成。在该实施例中,训练模型是具有一组可能参数的卷积神经网络学习模型。对于给定的学习模型,存在无限的可能的参数集。可以使用优化方法(例如随机梯度下降)和数值梯度计算方法(例如反向传播)来找到最小化我们的目标函数(AKA损失函数)的参数集。对比损失函数用作目标函数。定义此函数使得当当前训练的模型不太准确时(指定高距离为类似对,或低距离为不类似对)它取高值,并且当当前训练的模型更准确(指定低距离为类似对,或高距离为不类似对)时,它取低值。因此,训练过程减少到最小化问题。找到最准确模型的过程是训练过程,具有参数集的结果模型是训练模型,并且一旦将其部署到外观搜索系统上,参数集就不会改变。
处理408的替代实施例是使用所谓的在线机器学习算法来部署学习机。学习机将在处理408中用初始参数集部署,然而,外观搜索系统将基于一些事实来源(例如,在选择感兴趣的对象的图像时的用户反馈)继续更新模型的参数。这种学习机还包括其他类型的神经网络以及卷积神经网络。
由处理408处理人类对象的裁剪的边界框404以生成特征向量410。特征向量410被索引412并与视频一起存储在数据库414中。特征向量410还与参考坐标相关联,其中人类对象的裁剪的边界框404可位于视频中。数据库414存储包括将具有时间戳和摄像头标识的视频以及关联的元数据与裁剪的边界框404的特征向量410和参考坐标一起存储到裁剪的边界框404在视频中所在的位置。
为了在视频中定位特定人,生成感兴趣的人的特征向量。从数据库414中提取与感兴趣的人的特征向量类似的特征向量416。将提取的特征向量416与阈值相似性得分进行比较418,并且将超过阈值的特征向量416提供给客户端420以便呈现给用户。客户端420还具有视频回放模块264,以供用户查看与提取的特征向量416相关联的视频。
更详细地,训练的模型用预定距离函数训练,该预定距离函数用于比较计算的特征向量。当训练模型部署在外观搜索系统中时,使用相同的距离函数。距离函数是特征向量之间的欧几里德距离,其中特征向量被归一化以具有单位范数,因此所有特征向量位于单位范数超球面上。在计算检测到的对象的特征向量并将其存储在数据库中之后,使用精确的最近邻居搜索来搜索类似对象:穷举地评估从查询的特征向量(感兴趣对象的特征向量)到感兴趣的时间范围中的所有其他向量的距离。返回的搜索结果按其到查询特征向量的距离的降序排列。
在替代实施例中,可以使用近似最近邻居搜索。它类似于它的“精确”对应物,但它在不查看所有结果的情况下检索最可能的类似结果。这样更快,但可能会引入漏报。近似最近邻居的示例可以使用特征向量的散列的索引。在特征向量的数量大的情况下,例如当搜索时间范围长时,近似最近邻居搜索可以更快。
为了更加确定,应理解“感兴趣的对象”包括“感兴趣的人”并且“感兴趣的人”包括“感兴趣的对象”。
现在参考图5,其中示出了图4的示例实施例的流程图,其示出了用于在客户端420处执行外观匹配以定位感兴趣对象的记录视频的外观搜索500的细节。为了启动对感兴趣对象的外观搜索,需要感兴趣对象的特征向量,以便在数据库414中搜索相似的特征向量。在外观搜索500中,示出了两种启动外观搜索的示例方法。
在发起外观搜索500的第一方法中,在客户端420处接收502感兴趣对象的图像,其中将其发送到处理408以生成504感兴趣对象的特征向量。在第二方法中,用户在数据库414中搜索514感兴趣对象的图像,并检索516感兴趣对象的特征向量,该特征向量是先前在处理视频以便存储在数据库414中时生成的。
然后,根据第一方法或第二方法,对数据库414进行搜索506查找与感兴趣对象的特征向量相比具有超过阈值的相似性得分(例如,其可能是70%)的候选特征向量。接收508候选特征向量的图像,然后在客户端420处呈现供用户选择510是或可能是感兴趣对象的候选特征向量的图像。客户端420跟踪列表中的所选择的图像。该列表具有已被用户选择为感兴趣对象的图像。可选地,用户在选择510处还可以从列表中移除已经被用户选择随后被认为是不正确的图像。
利用选择510处对感兴趣对象的新图像(或多个图像)进行的每次选择,在数据库414处搜索506新图像的特征向量,并且在客户端420处呈现感兴趣对象的新候选图像以供用户再次选择510新图像,这些新图像是或可能是感兴趣的对象。外观搜索500的该搜索循环可以继续直到用户决定已经定位了感兴趣对象的足够多图像并且结束搜索512。然后,用户可以例如查看或下载与列表上的图像相关联的视频。
现在参考图6,其中示出了图4的示例实施例的流程图,其显示了定时外观搜索600的细节,用于在客户端420处执行外观匹配以在所选择的时间之前或之后定位感兴趣对象的记录视频。通过找到更接近当前时间的图像并且及时追溯以定位谁可能丢下了已经无人看管的行李,这种类型的搜索对于找到例如丢失的行李非常有用。
为了启动对感兴趣对象的外观搜索,需要感兴趣对象的特征向量,以便在数据库414中搜索相似特征向量。在定时外观搜索600中,与外观搜索500一样;示出了用于启动定时外观搜索的两个示例方法。在启动外观搜索600的第一方法中,在客户端420处接收602感兴趣对象的图像,在客户端420,将感兴趣对象的图像被发送到处理408以生成604感兴趣对象的特征向量。在第二方法中,用户在数据库414中搜索614感兴趣对象的图像,并检索616感兴趣对象的特征向量,特征向量是先前在存储在数据库414中之前处理视频时生成的。
根据第一方法或第二方法,定时外观搜索600被设置618以时间向后或向前搜索。利用第一方法,可以由用户人工设置搜索时间。利用第二方法,搜索开始时间被设置为摄像头108捕获图像的时间。在该示例中,定时外观搜索600被设置为时间向后搜索以便例如找到更靠近当前时间的丢失的儿童。在另一个示例中,定时外观搜索600可以被设置为在用户希望例如确定谁可能丢下了已经无人看管的行李(感兴趣的对象)时时间向前搜索。
然后,与感兴趣对象的特征向量相比,对于具有超过阈值(例如,可能是80%)的相似性得分的候选特征向量,从搜索时间开始时间向后搜索606数据库414。接收608候选特征向量的图像,然后在客户端420处呈现供用户从是或可能是感兴趣对象的图像的候选特征向量的图像中选择610一个图像。客户端420跟踪列表中的所选择的图像。该列表包括用户已选择为感兴趣对象的图像。可选地,用户在选择610处可以从列表中移除已经被用户选择随后被认为是不正确的图像。
在选择610处每次选择感兴趣对象的新图像时,在数据库414处从搜索时间开始时间向后搜索606新图像的特征向量。搜索时间是在新的图像由摄像头108捕获时的时间。感兴趣对象的新的候选图像在客户端420处呈现,以供用户再次选择610是或可能是感兴趣对象的另一个新的图像。定时外观搜索600的该搜索循环可以继续直到用户决定已经找到感兴趣对象的足够多图像并且结束搜索612。然后,用户可以例如查看或下载与列表上的图像相关联的视频。虽然该示例用于时间向后搜索,但是时间向前搜索是相似的,除了针对从搜索时间向前的,或搜索时间之前发生的,命中,过滤数据库414的搜索。
现在参考图7,其中示出了由摄像头108发送到服务器406的具有裁剪的边界框404的对象简档702的示例元数据的框图以及具有由裁剪的边界框404的特征向量708替换的图像706的裁剪的边界框404的对象简档704以供存储在数据库14中。通过存储具有特征向量708而不是图像706的对象简档704,能够节省一些存储空间,因为图像706的文件大小大于特征向量708的文件大小。结果,可以实现数据存储的显着节省,因为裁剪的边界框通常可以非常大且数量多。
对象简档702和对象简档704中的数据710的内容例如包括时间戳、帧数、现场的宽度和高度以像素为单位的分辨率、以像素为单位的宽度和高度以及以字节为单位的行宽的步幅的帧的分段掩码、分类(人、车辆、其他)、按分类百分比表示的置信度、标准化传感器坐标中的框(围绕成型对象的边界框)的宽度和高度、以像素为单位的图像宽度和高度以及图像步幅(以字节为单位的行宽)、图像的分段掩码、方向以及图像框的x和y坐标。特征向量708是图像706的二进制表示(在由零和1组成的意义上的二进制),具有例如48维:48个浮点数。取决于用于生成特征向量的学习机,维数可以更大或更小。虽然更高的维度通常具有更高的精度,但是所需的计算资源也可能非常高。
可以使用参考坐标从记录的视频中重新提取裁剪的边界框404或图像706,因此除了视频之外不必保存裁剪的边界框404。例如,参考坐标可以包括时间戳、帧数和框。例如,参考坐标只是带有相关视频文件的时间戳,其中时间戳具有足够的精度以追溯到原始图像帧,并且时间戳没有足够的精度来追溯到原始图像帧,接近原始图像帧的图像帧可能足够好,因为视频中时间接近的图像帧通常非常相似。
尽管该示例实施例具有用图像替换特征向量的对象简档704,但是其他实施例可以使用传统方法来压缩图像。
现在参考图8,其中示出了图4的示例实施例的现场402和裁剪的边界框404。在现场402中示出了三个被检测到的人。它们的图像802、806、808由摄像头108提取并作为裁剪的边界框404发送到服务器406。图像802、806、808是一段时间内视频中三个人的代表图像。视频中的三个人处于运动状态,因此他们捕获的图像在给定的一段时间内将是不同的。为了将图像过滤为可管理的数字,选择代表性图像(或多个图像)作为裁剪的边界框404以进行进一步处理。
现在参考图9,其中示出了根据一个示例实施例的视频分析模块224的一组操作子模块的框图。视频分析模块224包括用于执行各种任务的多个模块。例如,视频分析模块224包括用于检测出现在视频捕获设备108的视野中的对象的对象检测模块904。对象检测模块904可以采用任何已知的对象检测方法,例如运动检测和斑点检测。对象检测模块904可以包括题为“Methods and Systems for Detecting Objects of Interested in Spatio-Temporal Signals”(“用于检测时空信号中的感兴趣对象的方法和系统”)的美国专利No.7,627,171中描述的系统并使用其中的检测方法,其全部内容通过引用结合于此。
视频分析模块224还包括连接或耦合到对象检测模块904的对象跟踪模块908。对象跟踪模块908可操作以临时关联由对象检测模块908检测到的对象的实例。对象跟踪模块908可以包括题为“Object Matching for Tracking,Indexing,and Search”(“用于跟踪、索引和搜索的对象匹配”)的美国专利No.8,224,029中描述的系统并使用其中的方法,其全部内容通过引用结合于此。对象跟踪模块908生成与其跟踪的视觉对象相对应的元数据。元数据可以对应于表示对象外观或其他特征的视觉对象的签名。元数据被发送到服务器406以进行处理。
视频分析模块224还包括对象分类模块916,其对来自对象检测模块904的检测到的对象进行分类并连接到对象跟踪模块908。对象分类模块916可以在内部包括瞬时对象分类模块918和时间对象分类模块912。瞬时对象分类模块918基于对象的单个实例确定视觉对象的类型(例如,人、车辆或动物)。对瞬时对象分类模块916的输入优选地是感兴趣的视觉对象所在的图像的子区域(例如,在边界框内)而不是整个图像帧。将图像帧的子区域输入到分类模块916的好处是不需要分析整个现场用于分类,从而需要较少的处理能力。视频分析模块224可以例如过滤掉除人以外的所有对象类型以进行进一步处理。
时间对象分类模块912还可以在一段时间内维护对象的类别(例如,人、车辆或动物)信息。时间对象分类模块912在对象的生命期期间的一段时间内平均由瞬时对象分类模块918提供的对象的瞬时类别信息。换句话说,时间对象分类模块912基于其在多个帧中的外观来确定对象类型。例如,对人行走方式的步态分析可以用于对人进行分类,或者对人的腿进行分析可以用于对骑车人进行分类。时间对象分类模块912可以组合关于对象的轨迹的信息(例如,轨迹是平滑的还是混乱的,或者对象是移动的还是静止的)以及由瞬时对象分类模块918在多个帧上平均做出的分类的置信度信息。例如,可以基于对象的轨迹的平滑度来调整由对象分类模块916确定的分类置信度值。时间对象分类模块912可以将对象分配给未知类,直到由瞬时对象分类模块918对视觉对象进行了足够的次数分类并且已经收集了预定数量的统计数据。在对对象进行分类时,时间对象分类模块912还可以考虑对象在视野中已经存在多长时间。时间对象分类模块912可以基于上述信息做出关于对象的类别的最终结论。时间对象分类模块912还可以使用滞后方法来改变对象的类别。更具体地,可以设置阈值以将对象的分类从未知类转换为确定类别,并且该阈值可以大于相反转换的阈值(例如,从人到未知)。对象分类模块916可以生成与对象的类别相关的元数据,并且元数据可以存储在数据库414中。时间对象分类模块912可以聚合由瞬时对象分类模块918进行的分类。
在替代布置中,对象分类模块916被放置在对象检测模块904之后并且在对象跟踪模块908之前,使得在对象跟踪之前发生对象分类。在另一替代布置中,对象检测、跟踪、时间分类和分类模块904、908、912和916如上所述相互关联。在另一替代实施例中,视频分析模块224可以使用面部识别(如本领域中已知的)来检测人图像中的面部并因此提供置信度水平。这样的实施例的外观搜索系统可以包括使用图像的特征向量或面部的裁剪的边界框而不是整个人,如图8所示。这些面部特征向量可以单独使用或与整个对象的特征向量结合使用。此外,对象的部分的特征向量可以类似地单独使用或与整个对象的特征向量结合使用。例如,对象的一部分可以是人的耳朵的图像。用于识别个体的耳朵识别在本领域中是已知的。
在视频的每个图像帧中,视频分析模块224检测对象并提取每个对象的图像。从这些图像中选择的图像被称为对象的终结。对象的终结旨在选择每个对象在其在现场中的生命周期期间的视觉外观的最佳表示。终结用于提取签名/特征向量,其可以进一步用于查询其他终结以在外观搜索设置中检索最接近的匹配。
理想地,可以在对象的生命周期的每个帧上生成对象的终结。如果这样做,则计算要求可能太高以致外观搜索当前不实用,因为甚至一秒钟的视频中存在许多图像帧。以下是在一段时间内过滤可能的终结或从对象的可能图像中选择图像以在一段时间内表示对象以便减少计算要求的示例。
当对象(人)进入现场402时,对象检测模块904将其检测为对象。然后,对象分类模块916将对象分类为具有对象为人的置信度水平的人或人类。对象跟踪模块908通过摄像头108捕获的视频的每个图像帧在现场402中跟踪对象。对象也可以在其被跟踪时通过轨道号识别。
在每个图像帧中,从图像帧中提取围绕对象的边界框内的对象的图像,并且图像是裁剪的边界框。例如,对于每个图像帧,对象分类模块916提供对象为人类的置信度水平人。作为另一个示例性实施例,其中对象分类模块916提供对象的分类为人类的相对低的置信度(例如),然后提取填充的裁剪边界框,使得服务器处的更加计算密集的对象检测和分类模块(例如,处理408)在生成特征向量之前解析对象填充的裁剪边界框。更高计算密集的对象检测和分类模块可以是另一个神经网络,用于从另一个重叠或紧密相邻的对象中解析或提取对象。相对低的置信度水平(例如50%)还可以用来指示在生成特征向量之前应当进一步处理哪些裁剪的边界框或填充的裁剪边界框以解决问题,例如边界框内的其他对象。视频分析模块224保持一定数量的裁剪边界框的列表,例如在现场402中跟踪对象时具有最高置信度水平的前10个裁剪边界框。当对象跟踪模块908丢失对象的轨迹时或者当对象离开现场时,从10个裁剪的边界框的列表中选择裁剪的边界框404,其显示具有最大数量的前景像素(或对象像素)的对象。将裁剪的边界框404与元数据一起发送到服务器406以进行进一步处理。裁剪的边界框404表示在该跟踪的时间段上的对象的图像。置信度水平用于拒绝裁剪的边界框,其可能不代表对象的良好图片,例如当对象穿过阴影时。或者,可以从前10个裁剪的边界框的列表中挑选一个以上的裁剪的边界框,以便发送到服务器406。例如,也可以发送由最高置信度水平选择的另一个裁剪的边界框。
前10个裁剪的边界框的列表是一个实现。或者,作为进一步的示例,列表可以仅是5个裁剪的边界框或20个裁剪的边界框。此外,从裁剪的边界框列表中选择作为裁剪边界框404发送的裁剪边界框可以周期性地而不是仅在丢失跟踪之后发生。或者,从列表中选择的裁剪的边界框可以基于最高置信度水平而不是最大数量的对象像素。或者,视频分析模块224可以位于服务器406(工作站156)、处理设备148,客户端设备164或者在摄像头外的其他设备处。
上面提到的裁剪的边界框选择标准是通过单个裁剪的边界框表示对象寿命的问题的可能解决方案。以下是另一个选择标准。
或者,可以通过使用由对象分类模块916的高度估计算法提供的信息来执行n个裁剪的边界框的前10个的过滤。高度估计模块基于在一段时间内观察到的头部(顶部)和脚部(底部)位置创建同源性矩阵。在此,学习同源性的时段被称为学习阶段。得到的同源性进一步用于估计出现在特定位置处的真实对象的高度,并与在该位置处观察到的对象的高度进行比较。一旦学习完成,高度估计模块提供的信息可以用于通过比较在捕获了裁剪的边界框的位置处裁剪的边界框的高度与预期高度来过滤出前n个列表中的裁剪边界框。该过滤方法旨在作为裁剪边界框的拒绝标准,其可以是由对象分类模块916报告的具有高置信度的误报。然后可以通过由对象捕获的前景像素的数量进一步对所得到的过滤的裁剪边界框进行排序。这种多阶段过滤标准不仅确保了对象的终结具有高分类置信度,而且还符合其位置处的预期对象的尺寸,此外,还具有由对象检测模块904报告的大量前景像素。与由单独应用的任何上述标准产生的裁剪边界框相比,来自多阶段过滤标准的所得裁剪边界框可以更好地表示对象在帧中在其生命周期期间的外观。这里的机器学习模块包括本领域已知的机器学习算法。
现在参考图10A,其中示出了根据另一个示例实施例的图4的处理408的框图。处理408接收对象的图像(裁剪的边界框,包括填充的裁剪边界框)404,其中由第一神经网络1010处理它以检测、分类和勾勒在裁剪的边界框404中的对象。第一神经网络1010和第二神经网络1030例如是卷积神经网络。例如,第一神经网络1010针对剪辑404的给定的裁剪边界框检测零个、一个、两个或更多个人类(如分类的)。如果为零,则表示没有检测到人类对象并且初始分类(在摄像头108处)是不正确的,并且不应该为给定的裁剪边界框生成特征向量410(结束1020)。如果检测到一个人类对象,则应进一步处理给定的裁剪边界框。在给定的裁剪边界框是填充的裁剪边界框的情况下,给定的裁剪边界框的对象的图像可选地在尺寸上减小到与其他非填充的裁剪边界框一样在对象的边界框内。如果在给定的裁剪边界框中检测到两个或更多(2+)个人类,则在该实施例中,针对新的裁剪边界框从图像帧中提取最接近在图像帧中的“对象”的中心(或最接近中心)的坐标的对象的图像,以替换裁剪的边界框404中的给定裁剪的边界框以进行进一步处理。
第一神经网络1010输出对象(裁剪的边界框)1040的轮廓图像,以供第二神经网络1030处理,以生成与裁剪的边界框404相关联的特征向量410。示例第一神经网络1010是单射多盒检测器(SSD),如本领域中已知的。
现在参考图10B,其中示出的是根据另一个示例实施例的图4的处理408的框图。处理408接收对象的图像(包括填充的裁剪边界框的裁剪边界框)404,其中比较器1050确定与裁剪的边界框404相关联的置信度水平。来自摄像头108的裁剪的边界框404具有如由摄像头108处的视频分析模块确定的关联的元数据(例如,置信度水平)。
在给定的裁剪边界框的置信度水平相对较低(例如,低于50%)的情况下,根据图10A中的实施例从第一神经网络1010开始并且以特征向量410结束处理给定的裁剪边界框。在给定的裁剪边界框的置信度水平相对较高(例如在50%及以上)的情况下,给定的裁剪边界框由第二神经网络1030直接处理并绕过第一神经网络1010以生成特征向量410。
描述在摄像头108处提取填充的裁剪边界框的实施例包括将对象的所有图像提取为填充的裁剪边界框,而其他实施例仅在对于相关分类对象的置信度水平相对较低时提取填充的裁剪边界框。注意,第一神经网络1010可以处理填充和非填充的裁剪边界框以获得更好的准确性,并且一些实现可以在计算资源可用的情况下使第一神经网络处理所有的裁剪边界框。虽然第一神经网络1010可以处理所有填充的裁剪边界框,但是它也可以处理具有较低置信度水平的一部分非填充的裁剪边界框的。由比较器1050设置的阈值置信度水平可以低于为在摄像头108处提取填充的裁剪边界框而设置的阈值置信度水平。在一些实施例中,一些填充的裁剪边界框也可以跳过第一神经网络1010的处理,并且直接转到第二神经网络1030,尤其是当计算资源与服务器406上的其他功能捆绑在一起时。因此,可以根据在服务器406处可用的计算资源的量来设置由第一神经网络处理的裁剪边界框的数量。
现在参考图11,其中示出了根据另一个示例性实施例的图11A和11B的处理408的流程图。对于具有三个人类对象的给定裁剪边界框1110(无论是非填充还是填充),第一神经网络1010检测三个人类对象中的每一个并将三个人类对象中的图像分别勾勒为裁剪边界框1120、1130、1140。然后,由第二神经网络1030生成裁剪边界框1120、1130、1140的特征向量。裁剪边界框1120、1130、1140及其相关联的特征向量替换在索引412和数据库414中的裁剪边界框404的给定的裁剪边界框1110。在具有包含多个对象的图像的替代实施例中,仅保留最大重叠的对象(裁剪边界框1130)并丢弃其他裁剪边界框。
因此,在实施例中,对象检测分两个阶段执行:(1)摄像头108执行不太准确但功率有效的对象检测,并将填充的对象裁剪边界框发送到服务器406。填充裁剪的边界框给服务器端算法更多的像素背景来执行对象检测,并允许服务器端算法恢复被摄像头端算法截断的对象部分;然后(2)服务器406使用更精确但功率密集的算法在填充的裁剪边界框上执行对象检测。
这提供了网络带宽使用之间的折衷,因为承载对象裁剪的边界框的网络流可能具有非常低的带宽。除非使用视频编解码器(这将需要在服务器406上进行视频解码),否则在这种环境中以高帧速率发送全帧将是不切实际的。
如果对编码视频流(如用于视频记录的编码视频流)执行服务器端对象检测,则在运行对象检测算法之前需要执行视频解码。然而,解码多个视频流所需的计算要求可能太高而不实用。
因此,在该实施例中,摄像头108执行“近似”对象检测并使用相对低带宽的通信信道将相关的填充的裁剪边界框发送到服务器,因此摄像头108使用较少计算机密集的算法来创建可能包含感兴趣对象的填充的裁剪边界框。
虽然以上描述提供了以人类对象作为感兴趣的主要对象的实施例的示例,但是应当理解,从对象中提取裁剪的边界框,从它们计算特征向量表示以及使用此特征向量作为基础来与来自其他对象的特征向量进行比较的基本方法对于所考虑的对象的类别是不可知的。例如,样本对象可包括袋子、背包或手提箱。因此,可以使用如本文所述的特征和/或功能来实现用于定位车辆、动物和无生命对象的外观搜索系统,而不脱离所描述的实施例的操作的精神和原理。
虽然以上描述提供了实施例的示例,但是应当理解,在不脱离所描述的实施例的操作的精神和原理的情况下,所描述的实施例的一些特征和/或功能易于修改。因此,以上描述的内容旨在以非限制性的方式进行说明,并且本领域技术人员将理解,在不脱离所附权利要求限定的本发明的范围的情况下,可以进行其他变型和修改。此外,本文描述的任何实施例的任何特征可以适当地与本文描述的任何其他实施例的任何其他特征组合。
Claims (72)
1.一种外观搜索系统,包括:
一个或多个摄像头,其被配置为捕获现场的视频,所述视频具有对象的图像;
存储器和一个或多个处理器,所述存储器包括计算机程序代码,所述计算机程序代码存储在所述存储器上并且被配置为在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的方法:
识别所述对象的所述图像内的所述对象中的一个或多个对象;和
实现学习机,所述学习机被配置为生成所识别的对象的签名并生成感兴趣对象的签名;和
网络,所述网络被配置为将所述对象的所述图像从所述摄像头发送到所述一个或多个处理器,
其中,所述方法还包括:
将所识别的对象的所述签名与所述感兴趣对象的所述签名进行比较,以生成针对所识别的对象的相似性得分;和
基于所述相似性得分来发送用于在显示器上呈现所述对象中的一个或多个图像的指令。
2.根据权利要求1所述的系统,还包括存储系统,用于存储所述视频和所生成的所识别的对象的签名。
3.根据权利要求1或2所述的系统,其中所实现的学习机是第二学习机,并且其中所述识别由通过所述一个或多个处理器实现的第一学习机执行。
4.根据权利要求3所述的系统,其中所述第一学习机和所述第二学习机包括神经网络。
5.根据权利要求4所述的系统,其中所述神经网络包括卷积神经网络。
6.根据权利要求3-5中任一项所述的系统,还包括用于运行所述第一学习机和所述第二学习机的一个或多个图形处理单元。
7.根据权利要求1-6中任一项所述的系统,其中所述一个或多个摄像头还被配置为使用视频分析来捕获所述对象的所述图像。
8.根据权利要求1-7中任一项所述的系统,其中所述一个或多个摄像头还被配置为通过所述对象的分类来过滤所述对象的所述图像。
9.根据权利要求8所述的系统,其中所述一个或多个摄像头还被配置为识别所述图像中的包括人类对象的一个或多个图像,并且其中所述网络还被配置为仅将所识别的图像发送到所述一个或多个处理器。
10.根据权利要求1-9中任一项所述的系统,其中所述对象的所述图像包括所述视频的图像帧的部分。
11.根据权利要求10所述的系统,其中所述图像帧的所述部分包括所述图像帧的第一图像部分,所述第一图像部分至少包括所述对象。
12.根据权利要求11所述的系统,其中所述图像帧的所述部分包括所述图像帧的第二图像部分,所述第二图像部分大于所述第一图像部分。
13.根据权利要求12所述的系统,其中所述第一学习机被配置用来为所述第二学习机勾勒所述对象中的在所述第二图像部分内的一个或多个对象。
14.根据权利要求12所述的系统,其中所述第一学习机被配置用来为所述第二学习机勾勒在所述第二图像部分内的所述对象。
15.根据权利要求1-14中任一项所述的系统,其中所述一个或多个摄像头还被配置为生成参考坐标,用于允许从所述对象的所述图像的所述视频进行提取。
16.根据权利要求15所述的系统,其中所述存储系统被配置为存储所述参考坐标。
17.根据权利要求1-16中任一项所述的系统,其中所述一个或多个摄像头还被配置为从在一段时间内捕获的所述视频中选择一个或多个图像,以用于获得所述对象的所述图像中的一个或多个图像。
18.根据权利要求1-17中任一项所述的系统,其中所述对象的识别包括勾勒在所述图像中的所述对象中的一个或多个对象。
19.根据权利要求1-18中任一项所述的系统,其中所述识别包括:
识别在所述图像中的至少一个图像内的所述对象中的多个对象;和
将所述至少一个图像划分为多个划分图像,每个划分图像包括所识别的对象之一的至少一部分。
20.根据权利要求19所述的系统,其中所述方法还包括:
对于每个所识别的对象:
确定置信度水平;和
如果所述置信度水平不满足置信要求,则使得由所述第一学习机执行所述识别和所述划分;或者
如果所述置信度水平满足所述置信要求,则使得由所述第二学习机执行所述识别和所述划分。
21.根据权利要求20所述的系统,其中所述一个或多个摄像头还包括用于确定所述置信度水平的一个或多个视频分析模块。
22.一种方法,包括:
捕获现场的视频,所述视频具有对象的图像;
识别所述对象的所述图像内的所述对象中的一个或多个对象;
使用学习机生成所识别的对象的签名以及感兴趣对象的签名;
通过将所识别的对象的所述签名与所述感兴趣对象的第一签名进行比较,生成针对所识别的对象的相似性得分;和
基于所述相似性得分在显示器上呈现所述对象的所述图像中的一个或多个图像。
23.根据权利要求22所述的方法,还包括存储所述视频和所生成的所识别的对象的签名。
24.根据权利要求22或23所述的方法,其中所述学习机是第二学习机,并且其中所述识别由通过所述一个或多个处理器实现的第一学习机执行。
25.根据权利要求24所述的方法,其中所述第一学习机和所述第二学习机包括神经网络。
26.根据权利要求25所述的方法,其中所述神经网络包括卷积神经网络。
27.根据权利要求22-26中任一项所述的方法,其中所述捕获包括使用视频分析。
28.根据权利要求22-27中任一项所述的方法,还包括通过对所述对象进行分类来过滤所述对象的所述图像。
29.根据权利要求28所述的方法,其中所述方法还包括识别所述图像中的包括人类对象的一个或多个图像。
30.根据权利要求22-29中任一项所述的方法,其中所述对象的所述图像包括所述视频的图像帧的部分。
31.根据权利要求30所述的方法,其中所述图像帧的所述部分包括所述图像帧的第一图像部分,所述第一图像部分至少包括所述对象。
32.根据权利要求31所述的方法,其中所述图像帧的所述部分包括所述图像帧的第二图像部分,所述第二图像部分大于所述第一图像部分。
33.根据权利要求32所述的方法,其中所述第一学习机被配置用来为所述第二学习机勾勒所述对象中的在所述第二图像部分内的一个或多个对象。
34.根据权利要求33所述的方法,其中所述第一学习机被配置用来为所述第二学习机勾勒在所述第二图像部分内的所述对象。
35.根据权利要求22-34中任一项所述的方法,还包括生成参考坐标,用于允许从所述对象的所述图像的所述视频进行提取。
36.根据权利要求35所述的方法,还包括存储所述参考坐标。
37.根据权利要求22-36中任一项所述的方法,还包括从在一段时间内捕获的所述视频中选择一个或多个图像,以用于获得所述对象的所述图像中的一个或多个图像。
38.根据权利要求22-37中任一项所述的方法,其中所述对象的识别包括勾勒所述图像中的所述对象中的一个或多个对象。
39.根据权利要求22-38中任一项所述的方法,其中所述识别包括:
识别在所述图像中的至少一个图像内的所述对象中的多个对象;和
将所述至少一个图像划分为多个划分图像,每个划分图像包括所识别的对象之一的至少一部分。
40.根据权利要求39所述的方法,其中所述方法还包括:
对于每个所识别的对象:
确定置信度水平;和
如果所述置信度水平不满足置信要求,则使得由所述第一学习机执行所述识别和所述划分;或者
如果所述置信度水平满足所述置信要求,则使得由所述第二学习机执行所述识别和所述划分。
41.一种计算机可读介质,在其上存储有计算机程序代码,所述计算机程序代码能够由一个或多个处理器执行,并且被配置为在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的方法:
捕获现场的视频,所述视频具有对象的图像;
识别所述对象的所述图像内的所述对象中的一个或多个对象;
使用学习机生成所识别的对象的签名以及感兴趣对象的签名;
通过将所识别的对象的所述签名与所述感兴趣对象的第一签名进行比较,生成针对所识别的对象的相似性得分;和
基于所述相似性得分在显示器上呈现所述对象的所述图像中的一个或多个图像。
42.根据权利要求41所述的计算机可读介质,其中所述方法还包括存储所述视频和所生成的所识别的对象的签名。
43.根据权利要求41或42所述的计算机可读介质,其中所述学习机是第二学习机,并且其中所述识别由第一学习机执行。
44.根据权利要求43所述的计算机可读介质,其中所述第一学习机和所述第二学习机包括神经网络。
45.根据权利要求44所述的计算机可读介质,其中所述神经网络包括卷积神经网络。
46.根据权利要求41-45中任一项所述的计算机可读介质,其中所述捕获包括使用视频分析。
47.根据权利要求41-46中任一项所述的计算机可读介质,其中所述方法还包括通过对所述对象进行分类来过滤所述对象的所述图像。
48.根据权利要求47所述的计算机可读介质,其中所述方法还包括识别所述图像中的包括人类对象的一个或多个图像。
49.根据权利要求41-48中任一项所述的计算机可读介质,其中所述对象的所述图像包括所述视频的图像帧的部分。
50.根据权利要求49所述的计算机可读介质,其中所述图像帧的所述部分包括所述图像帧的第一图像部分,所述第一图像部分至少包括所述对象。
51.根据权利要求50所述的计算机可读介质,其中所述图像帧的所述部分包括所述图像帧的第二图像部分,所述第二图像部分大于所述第一图像部分。
52.根据权利要求51所述的计算机可读介质,其中所述第一学习机被配置用来为所述第二学习机勾勒所述对象中的在所述第二图像部分内的一个或多个对象。
53.根据权利要求52所述的计算机可读介质,其中所述第一学习机被配置用来为所述第二学习机勾勒在所述第二图像部分内的所述对象。
54.根据权利要求41-53中任一项所述的计算机可读介质,其中所述方法还包括生成参考坐标,用于允许从所述对象的所述图像的所述视频进行提取。
55.根据权利要求54所述的计算机可读介质,其中所述方法还包括存储所述参考坐标。
56.根据权利要求41-55中任一项所述的计算机可读介质,其中所述方法还包括从在一段时间内捕获的视频中选择一个或多个图像,以用于获得所述对象的所述图像中的一个或多个图像。
57.根据权利要求41-56中任一项所述的计算机可读介质,其中所述对象的识别包括勾勒所述图像中的所述对象中的一个或多个对象。
58.根据权利要求41-57中任一项所述的计算机可读介质,其中所述识别包括:
识别所述图像中的至少一个图像内的所述对象中的多个对象;和
将所述至少一个图像划分为多个划分图像,每个划分图像包括所识别的对象之一的至少一部分。
59.根据权利要求58所述的计算机可读介质,其中所述方法还包括:
对于每个所识别的对象:
确定置信度水平;和
如果所述置信度水平不满足置信要求,则使得由所述第一学习机执行所述识别和所述划分;或者
如果所述置信度水平满足所述置信要求,则使得由所述第二学习机执行所述识别和所述划分。
60.一种系统,包括:
一个或多个摄像头,其被配置为捕获现场的视频;和
存储器和一个或多个处理器,所述存储器包括计算机程序代码,所述计算机程序代码存储在所述存储器上并且被配置为在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的方法:
从所述视频中提取片段,其中所述片段包括对象的图像;
识别所述片段中的至少一个片段内的多个对象;和
将所述至少一个片段划分为多个划分片段,每个划分片段包括所识别的对象之一的至少一部分。
61.根据权利要求60所述的系统,其中所述方法还包括:
实现学习机,所述学习机被配置为生成所识别的对象的签名并生成感兴趣对象的签名。
62.根据权利要求61所述的系统,其中所述学习机是第二学习机,并且其中所述识别和所述划分由通过所述一个或多个处理器实现的第一学习机执行。
63.根据权利要求62所述的系统,其中所述方法还包括:
对于每个所识别的对象:
确定置信度水平;和
如果所述置信度水平不满足置信要求,则使得由所述第一学习机执行所述识别和所述划分;或者
如果所述置信度水平满足所述置信要求,则使得由所述第二学习机执行所述识别和所述划分。
64.根据权利要求63所述的系统,其中所述一个或多个摄像头包括用于确定所述置信度水平的一个或多个视频分析模块。
65.根据权利要求60-64中任一项所述的系统,其中所述至少一个片段包括至少一个填充片段,其中每个填充片段包括所述视频的图像帧的第一图像部分。
66.根据权利要求65所述的系统,其中所述至少一个片段还包括至少一个非填充片段,其中每个非填充片段包括所述视频的图像帧的第二图像部分,所述第二图像部分小于所述第一图像部分。
67.一种计算机可读介质,在其上存储有计算机程序代码,所述计算机程序代码能够由一个或多个处理器执行并且被配置为在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的方法:
获取现场的视频;
从所述视频中提取片段,其中所述片段包括对象的图像;
识别所述片段中的至少一个片段内的多个对象;和
将所述至少一个片段划分为多个划分片段,每个划分片段包括所识别的对象之一的至少一部分。
68.根据权利要求67所述的计算机可读介质,其中所述方法还包括:
实现学习机,其被配置为生成所识别的对象的签名并生成感兴趣对象的签名。
69.根据权利要求68所述的计算机可读介质,其中所述学习机是第二学习机,并且其中所述识别和所述划分由通过所述一个或多个处理器实现的第一学习机执行。
70.根据权利要求69所述的计算机可读介质,其中所述方法还包括:
对于每个所识别的对象:
确定置信度水平;和
如果所述置信度水平不满足置信要求,则使得由所述第一学习机执行所述识别和所述划分;或者
如果所述置信度水平满足所述置信要求,则使得由所述第二学习机执行所述识别和所述划分。
71.根据权利要求67-70中任一项所述的计算机可读介质,其中所述至少一个片段包括至少一个填充片段,其中每个填充片段包括所述视频的图像帧的第一图像部分。
72.根据权利要求71所述的计算机可读介质,其中所述至少一个片段还包括至少一个非填充片段,其中每个非填充片段包括所述视频的图像帧的第二图像部分,所述第二图像部分小于所述第一图像部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310980005.4A CN117095349A (zh) | 2016-12-05 | 2017-12-05 | 外观搜索系统、方法和非暂时性计算机可读介质 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662430292P | 2016-12-05 | 2016-12-05 | |
US62/430,292 | 2016-12-05 | ||
US201762527894P | 2017-06-30 | 2017-06-30 | |
US62/527,894 | 2017-06-30 | ||
PCT/CA2017/051469 WO2018102919A1 (en) | 2016-12-05 | 2017-12-05 | System and method for appearance search |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310980005.4A Division CN117095349A (zh) | 2016-12-05 | 2017-12-05 | 外观搜索系统、方法和非暂时性计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110235138A true CN110235138A (zh) | 2019-09-13 |
CN110235138B CN110235138B (zh) | 2023-09-05 |
Family
ID=62243913
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780085044.0A Active CN110235138B (zh) | 2016-12-05 | 2017-12-05 | 用于外观搜索的系统和方法 |
CN202310980005.4A Pending CN117095349A (zh) | 2016-12-05 | 2017-12-05 | 外观搜索系统、方法和非暂时性计算机可读介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310980005.4A Pending CN117095349A (zh) | 2016-12-05 | 2017-12-05 | 外观搜索系统、方法和非暂时性计算机可读介质 |
Country Status (10)
Country | Link |
---|---|
US (2) | US10726312B2 (zh) |
EP (1) | EP3549063A4 (zh) |
JP (3) | JP2020503604A (zh) |
KR (1) | KR102560308B1 (zh) |
CN (2) | CN110235138B (zh) |
AU (2) | AU2017372905B2 (zh) |
CA (2) | CA3000127C (zh) |
IL (1) | IL267115B (zh) |
MX (1) | MX2019006588A (zh) |
WO (1) | WO2018102919A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021072645A1 (en) * | 2019-10-15 | 2021-04-22 | Motorola Solutions, Inc. | Video analytics conflict detection and mitigation |
CN114079820A (zh) * | 2020-08-19 | 2022-02-22 | 安霸国际有限合伙企业 | 在摄像机设备上借助于神经网络输入的以感兴趣的事件/对象为中心的间隔拍摄视频生成 |
EP4148581A1 (en) * | 2021-09-10 | 2023-03-15 | Axis AB | Verification of updated analytical procedures in monitoring systems |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018033156A1 (zh) * | 2016-08-19 | 2018-02-22 | 北京市商汤科技开发有限公司 | 视频图像的处理方法、装置和电子设备 |
US10318827B2 (en) * | 2016-12-19 | 2019-06-11 | Waymo Llc | Object detection neural networks |
US10229322B2 (en) * | 2017-04-06 | 2019-03-12 | Ants Technology (Hk) Limited | Apparatus, methods and computer products for video analytics |
EP3610410A1 (en) * | 2017-04-14 | 2020-02-19 | Koninklijke Philips N.V. | Person identification systems and methods |
EP3652934A4 (en) * | 2017-09-01 | 2021-03-24 | Percipient.ai Inc. | IDENTIFYING INDIVIDUALS IN A DIGITAL FILE USING MEDIA ANALYSIS TECHNIQUES |
US11284062B2 (en) * | 2017-09-05 | 2022-03-22 | Texas Instruments Incorporated | Automotive display validation |
CN107679466B (zh) * | 2017-09-21 | 2021-06-15 | 百度在线网络技术(北京)有限公司 | 信息输出方法和装置 |
CA3078245A1 (en) * | 2017-10-02 | 2019-04-11 | Sensen Networks Group Pty Ltd | System and method for machine learning-driven object detection |
US11475351B2 (en) * | 2017-11-15 | 2022-10-18 | Uatc, Llc | Systems and methods for object detection, tracking, and motion prediction |
US11455801B2 (en) | 2017-12-05 | 2022-09-27 | Avigilon Corporation | Generating signatures within a network that includes a plurality of computing devices of varying processing capabilities |
US10417501B2 (en) * | 2017-12-06 | 2019-09-17 | International Business Machines Corporation | Object recognition in video |
CN108399381B (zh) * | 2018-02-12 | 2020-10-30 | 北京市商汤科技开发有限公司 | 行人再识别方法、装置、电子设备和存储介质 |
US11100350B2 (en) | 2018-02-19 | 2021-08-24 | Avigilon Corporation | Method and system for object classification using visible and invisible light images |
US20210034837A1 (en) * | 2018-02-27 | 2021-02-04 | Homo Mimicus Co., Ltd | Remote control system and method to support separate operation of an animal, and animal wearable multi-use module platform system |
US20190279043A1 (en) | 2018-03-06 | 2019-09-12 | Tazi AI Systems, Inc. | Online machine learning system that continuously learns from data and human input |
JP6760318B2 (ja) * | 2018-03-14 | 2020-09-23 | オムロン株式会社 | 顔画像識別システム、識別器生成装置、識別装置、画像識別システム、及び識別システム |
US11526549B2 (en) | 2018-03-23 | 2022-12-13 | Motorola Solutions, Inc. | Method and system for interfacing with a user to facilitate an image search for an object-of-interest |
US20190304102A1 (en) * | 2018-03-30 | 2019-10-03 | Qualcomm Incorporated | Memory efficient blob based object classification in video analytics |
US10776672B2 (en) | 2018-04-25 | 2020-09-15 | Avigilon Corporation | Sensor fusion for monitoring an object-of-interest in a region |
US11157524B2 (en) * | 2018-05-18 | 2021-10-26 | At&T Intellectual Property I, L.P. | Automated learning of anomalies in media streams with external feed labels |
US10635944B2 (en) * | 2018-06-15 | 2020-04-28 | Google Llc | Self-supervised robotic object interaction |
WO2019245359A1 (en) * | 2018-06-21 | 2019-12-26 | N.V. Nutricia | Method and system for characterizing stool patterns of young infants |
EP3807782A4 (en) * | 2018-07-17 | 2022-03-23 | Avigilon Corporation | APPEARANCE SEARCH BASED ON A HASH |
US11080337B2 (en) | 2018-07-31 | 2021-08-03 | Marvell Asia Pte, Ltd. | Storage edge controller with a metadata computational engine |
US11055854B2 (en) * | 2018-08-23 | 2021-07-06 | Seoul National University R&Db Foundation | Method and system for real-time target tracking based on deep learning |
BR102018067756A8 (pt) * | 2018-09-04 | 2022-12-06 | Univ Estadual Campinas Unicamp | Sistema de gerenciamento e método de identificação de animais |
US10643667B2 (en) * | 2018-09-11 | 2020-05-05 | Avigilon Corporation | Bounding box doubling as redaction boundary |
CA3112321A1 (en) | 2018-09-18 | 2020-03-26 | Focal Systems, Inc. | Product onboarding machine |
US11423648B2 (en) * | 2018-09-27 | 2022-08-23 | Ncr Corporation | Item recognition processing over time |
GB2577689B (en) * | 2018-10-01 | 2023-03-22 | Digital Barriers Services Ltd | Video surveillance and object recognition |
GB2611949B (en) * | 2018-10-01 | 2023-08-09 | Digital Barriers Services Ltd | Video surveillance and object recognition |
US11443165B2 (en) * | 2018-10-18 | 2022-09-13 | Deepnorth Inc. | Foreground attentive feature learning for person re-identification |
US10504027B1 (en) * | 2018-10-26 | 2019-12-10 | StradVision, Inc. | CNN-based learning method, learning device for selecting useful training data and test method, test device using the same |
US11055874B2 (en) * | 2018-10-30 | 2021-07-06 | Ncr Corporation | Image processing for tracking actions of individuals |
TWI686748B (zh) * | 2018-12-07 | 2020-03-01 | 國立交通大學 | 人流分析系統及人流分析方法 |
EP3797512A1 (en) * | 2018-12-18 | 2021-03-31 | Rovi Guides, Inc. | Systems and methods for automated tracking using a client device |
WO2020131037A1 (en) * | 2018-12-18 | 2020-06-25 | Rovi Guides, Inc. | Systems and methods for automated tracking on a handheld device using a remote camera |
US10769915B2 (en) * | 2018-12-31 | 2020-09-08 | TCL Research America Inc. | Privacy preserving camera |
WO2020149001A1 (ja) * | 2019-01-17 | 2020-07-23 | 日本電気株式会社 | 情報処理装置、制御方法、及びプログラム |
JP7151795B2 (ja) * | 2019-01-31 | 2022-10-12 | 日本電気株式会社 | データストリーム割り当て方法、システムおよびプログラム |
KR102246408B1 (ko) | 2019-02-14 | 2021-05-18 | 엔에이치엔 주식회사 | 딥러닝 기반 유사상품 제공방법 |
KR102391817B1 (ko) * | 2019-02-18 | 2022-04-29 | 주식회사 아이도트 | 딥 러닝 시스템 |
US10915786B2 (en) * | 2019-02-28 | 2021-02-09 | Sap Se | Object detection and candidate filtering system |
EP3935832A4 (en) | 2019-02-28 | 2023-06-07 | Stats Llc | SYSTEM AND METHOD FOR CALIBRATION OF MOBILE CAMERAS CAPTURING BROADCAST VIDEO |
US20200342291A1 (en) * | 2019-04-23 | 2020-10-29 | Apical Limited | Neural network processing |
US11195172B2 (en) * | 2019-07-24 | 2021-12-07 | Capital One Services, Llc | Training a neural network model for recognizing handwritten signatures based on different cursive fonts and transformations |
US11586682B2 (en) | 2019-07-30 | 2023-02-21 | Motorola Solutions, Inc. | Method and system for enhancing a VMS by intelligently employing access control information therein |
US20210049500A1 (en) * | 2019-08-15 | 2021-02-18 | Oath Inc. | Model training framework |
CN112714349B (zh) * | 2019-10-24 | 2023-06-27 | 阿里巴巴集团控股有限公司 | 数据处理方法、商品展示方法和视频播放方法 |
US11238314B2 (en) * | 2019-11-15 | 2022-02-01 | Salesforce.Com, Inc. | Image augmentation and object detection |
FR3104774B1 (fr) * | 2019-12-11 | 2022-01-07 | Bull Sas | Procédé de suivi d’un élément, dispositif électronique et produit programme d’ordinateur associés |
US11216666B2 (en) * | 2019-12-11 | 2022-01-04 | Fujifilm Business Innovation Corp. | Understanding normality of an environment using semantic information from images |
US20210200826A1 (en) * | 2019-12-26 | 2021-07-01 | Motorola Solutions, Inc. | Appearance search for incident response |
US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
CN111353585A (zh) * | 2020-02-25 | 2020-06-30 | 北京百度网讯科技有限公司 | 神经网络模型的结构搜索方法和装置 |
KR102462733B1 (ko) * | 2020-03-03 | 2022-11-04 | 한국과학기술연구원 | 샴 네트워크를 활용하는 강인한 다중 객체 검출 장치 및 방법 |
CN111782633A (zh) * | 2020-06-29 | 2020-10-16 | 北京百度网讯科技有限公司 | 数据处理方法、装置及电子设备 |
US11443510B2 (en) | 2020-08-03 | 2022-09-13 | Motorola Solutions, Inc. | Method, system and computer program product that provides virtual assistance in facilitating visual comparison |
KR102253989B1 (ko) * | 2020-08-19 | 2021-05-20 | 이노뎁 주식회사 | 딥러닝 객체 검출기를 이용한 cctv 영상의 객체 추적 방법 |
KR102375509B1 (ko) * | 2020-09-07 | 2022-03-17 | 주식회사 한글과컴퓨터 | 복수의 포맷 변환 서버들에 문서의 포맷 변환을 위한 작업 할당을 수행하는 문서 파일의 포맷 변환 작업 할당 장치 및 그 동작 방법 |
TWI812888B (zh) * | 2020-10-14 | 2023-08-21 | 財團法人工業技術研究院 | 影像辨識方法及影像辨識系統 |
CN112040325B (zh) * | 2020-11-02 | 2021-01-29 | 成都睿沿科技有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
CN112330711B (zh) * | 2020-11-26 | 2023-12-05 | 北京奇艺世纪科技有限公司 | 模型生成方法、信息提取方法、装置及电子设备 |
US11509832B2 (en) | 2020-12-01 | 2022-11-22 | Western Digital Technologies, Inc. | Low light surveillance system with dual video streams |
BR112023011476A2 (pt) | 2020-12-15 | 2024-02-06 | Selex Es Inc | Sistemas e métodos para rastreamento de assinaturas eletrônicas |
US11900662B2 (en) | 2020-12-16 | 2024-02-13 | Here Global B.V. | Method, apparatus, and computer program product for training a signature encoding module and a query processing module to identify objects of interest within an image utilizing digital signatures |
US20220188547A1 (en) * | 2020-12-16 | 2022-06-16 | Here Global B.V. | Method, apparatus, and computer program product for identifying objects of interest within an image captured by a relocatable image capture device |
US11829192B2 (en) | 2020-12-23 | 2023-11-28 | Here Global B.V. | Method, apparatus, and computer program product for change detection based on digital signatures |
US11587253B2 (en) | 2020-12-23 | 2023-02-21 | Here Global B.V. | Method, apparatus, and computer program product for displaying virtual graphical data based on digital signatures |
US11830103B2 (en) | 2020-12-23 | 2023-11-28 | Here Global B.V. | Method, apparatus, and computer program product for training a signature encoding module and a query processing module using augmented data |
CN112581544B (zh) * | 2020-12-30 | 2022-04-19 | 易思维(杭州)科技有限公司 | 基于参数优化的无公共视场相机标定方法 |
CN112818808B (zh) * | 2021-01-27 | 2024-01-19 | 南京大学 | 一种结合两个向量嵌入空间的高精度步态识别方法 |
US11496671B2 (en) | 2021-02-19 | 2022-11-08 | Western Digital Technologies, Inc. | Surveillance video streams with embedded object data |
IL305407A (en) * | 2021-02-22 | 2023-10-01 | Briefcam Ltd | A method and system for visual analysis and evaluation of interaction with customers on the website |
US20230073717A1 (en) * | 2021-09-09 | 2023-03-09 | Selex Es Inc. | Systems And Methods For Electronic Surveillance |
EP4187505A1 (en) * | 2021-11-26 | 2023-05-31 | Cattle Eye Ltd | A method and system for the identification of animals |
US20230260166A1 (en) * | 2022-02-17 | 2023-08-17 | Revieve Oy | Method and system for dynamic cropping of full body pose images |
US20240062529A1 (en) * | 2022-08-18 | 2024-02-22 | Microsoft Technology Licensing, Llc | Determining media documents embedded in other media documents |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101622652A (zh) * | 2007-02-08 | 2010-01-06 | 行为识别系统公司 | 行为识别系统 |
US8170280B2 (en) * | 2007-12-03 | 2012-05-01 | Digital Smiths, Inc. | Integrated systems and methods for video-based object modeling, recognition, and tracking |
CN104106260A (zh) * | 2011-11-22 | 2014-10-15 | 派尔高公司 | 基于地理图的控制 |
CN105210083A (zh) * | 2013-03-15 | 2015-12-30 | 霍罗杰克股份有限公司 | 用于查验和分析细胞学标本的系统和方法 |
CN105210114A (zh) * | 2013-05-06 | 2015-12-30 | 赫尔克里士公司 | 用于分析涂料添加剂性能的设备和方法 |
CN105359186A (zh) * | 2013-06-04 | 2016-02-24 | 赫尔实验室有限公司 | 用于检测场景中的感兴趣的对象的系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001005967A (ja) * | 1999-06-21 | 2001-01-12 | Matsushita Electric Ind Co Ltd | 画像送信装置及びニューラルネットワーク |
US7627171B2 (en) | 2003-07-03 | 2009-12-01 | Videoiq, Inc. | Methods and systems for detecting objects of interest in spatio-temporal signals |
US7809722B2 (en) * | 2005-05-09 | 2010-10-05 | Like.Com | System and method for enabling search and retrieval from image files based on recognized information |
DE112009000480T5 (de) | 2008-03-03 | 2011-04-07 | VideoIQ, Inc., Bedford | Dynamische Objektklassifikation |
JP5353147B2 (ja) * | 2008-09-22 | 2013-11-27 | オムロン株式会社 | 顔照合システム |
US8831090B2 (en) * | 2008-11-18 | 2014-09-09 | Avigilon Corporation | Method, system and apparatus for image capture, analysis and transmission |
JP5455361B2 (ja) * | 2008-12-22 | 2014-03-26 | 富士フイルム株式会社 | オートフォーカスシステム |
US8886206B2 (en) | 2009-05-01 | 2014-11-11 | Digimarc Corporation | Methods and systems for content processing |
CN105531995B (zh) * | 2013-05-10 | 2019-01-08 | 罗伯特·博世有限公司 | 用于使用多个摄像机进行对象和事件识别的系统和方法 |
JP2015002553A (ja) * | 2013-06-18 | 2015-01-05 | キヤノン株式会社 | 情報処理システムおよびその制御方法 |
AU2013242830B2 (en) * | 2013-10-10 | 2016-11-24 | Canon Kabushiki Kaisha | A method for improving tracking in crowded situations using rival compensation |
US9646131B2 (en) * | 2014-06-27 | 2017-05-09 | Oracle International Corporation | Intelligent image processing for enterprise applications |
AU2014240213B2 (en) * | 2014-09-30 | 2016-12-08 | Canon Kabushiki Kaisha | System and Method for object re-identification |
-
2017
- 2017-12-05 CA CA3000127A patent/CA3000127C/en active Active
- 2017-12-05 CA CA3077830A patent/CA3077830C/en active Active
- 2017-12-05 US US15/832,654 patent/US10726312B2/en active Active
- 2017-12-05 JP JP2019529970A patent/JP2020503604A/ja not_active Withdrawn
- 2017-12-05 EP EP17877733.0A patent/EP3549063A4/en active Pending
- 2017-12-05 CN CN201780085044.0A patent/CN110235138B/zh active Active
- 2017-12-05 WO PCT/CA2017/051469 patent/WO2018102919A1/en active Application Filing
- 2017-12-05 CN CN202310980005.4A patent/CN117095349A/zh active Pending
- 2017-12-05 MX MX2019006588A patent/MX2019006588A/es unknown
- 2017-12-05 KR KR1020197019166A patent/KR102560308B1/ko active IP Right Grant
- 2017-12-05 AU AU2017372905A patent/AU2017372905B2/en active Active
-
2019
- 2019-06-05 IL IL267115A patent/IL267115B/en unknown
-
2020
- 2020-06-22 US US16/908,026 patent/US11113587B2/en active Active
-
2021
- 2021-10-20 JP JP2021171909A patent/JP7317919B2/ja active Active
-
2022
- 2022-10-13 AU AU2022252799A patent/AU2022252799B2/en active Active
-
2023
- 2023-07-19 JP JP2023117547A patent/JP2023145558A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101622652A (zh) * | 2007-02-08 | 2010-01-06 | 行为识别系统公司 | 行为识别系统 |
US8170280B2 (en) * | 2007-12-03 | 2012-05-01 | Digital Smiths, Inc. | Integrated systems and methods for video-based object modeling, recognition, and tracking |
CN104106260A (zh) * | 2011-11-22 | 2014-10-15 | 派尔高公司 | 基于地理图的控制 |
CN105210083A (zh) * | 2013-03-15 | 2015-12-30 | 霍罗杰克股份有限公司 | 用于查验和分析细胞学标本的系统和方法 |
CN105210114A (zh) * | 2013-05-06 | 2015-12-30 | 赫尔克里士公司 | 用于分析涂料添加剂性能的设备和方法 |
CN105359186A (zh) * | 2013-06-04 | 2016-02-24 | 赫尔实验室有限公司 | 用于检测场景中的感兴趣的对象的系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021072645A1 (en) * | 2019-10-15 | 2021-04-22 | Motorola Solutions, Inc. | Video analytics conflict detection and mitigation |
US11831947B2 (en) | 2019-10-15 | 2023-11-28 | Motorola Solutions, Inc. | Video analytics conflict detection and mitigation |
CN114079820A (zh) * | 2020-08-19 | 2022-02-22 | 安霸国际有限合伙企业 | 在摄像机设备上借助于神经网络输入的以感兴趣的事件/对象为中心的间隔拍摄视频生成 |
EP4148581A1 (en) * | 2021-09-10 | 2023-03-15 | Axis AB | Verification of updated analytical procedures in monitoring systems |
Also Published As
Publication number | Publication date |
---|---|
JP2023145558A (ja) | 2023-10-11 |
IL267115A (en) | 2019-08-29 |
US11113587B2 (en) | 2021-09-07 |
KR102560308B1 (ko) | 2023-07-27 |
EP3549063A1 (en) | 2019-10-09 |
CN117095349A (zh) | 2023-11-21 |
AU2022252799A1 (en) | 2022-11-03 |
US20200320356A1 (en) | 2020-10-08 |
AU2017372905A1 (en) | 2019-07-04 |
CA3077830C (en) | 2023-03-07 |
WO2018102919A1 (en) | 2018-06-14 |
CA3000127C (en) | 2020-06-02 |
JP7317919B2 (ja) | 2023-07-31 |
MX2019006588A (es) | 2019-10-09 |
IL267115B (en) | 2022-04-01 |
US20180157939A1 (en) | 2018-06-07 |
EP3549063A4 (en) | 2020-06-24 |
US10726312B2 (en) | 2020-07-28 |
KR20190099443A (ko) | 2019-08-27 |
CN110235138B (zh) | 2023-09-05 |
AU2017372905B2 (en) | 2022-08-11 |
AU2022252799B2 (en) | 2023-09-28 |
JP2022023887A (ja) | 2022-02-08 |
CA3077830A1 (en) | 2018-06-05 |
JP2020503604A (ja) | 2020-01-30 |
CA3000127A1 (en) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110235138A (zh) | 用于外观搜索的系统和方法 | |
US10628683B2 (en) | System and method for CNN layer sharing | |
US11386284B2 (en) | System and method for improving speed of similarity based searches | |
JP4553650B2 (ja) | 画像グループの表現方法および表現方法によって導出される記述子、探索方法、装置、コンピュータプログラム、ならびに記憶媒体 | |
US10846554B2 (en) | Hash-based appearance search | |
Stefanidis et al. | Summarizing video datasets in the spatiotemporal domain | |
JP6909657B2 (ja) | 映像認識システム | |
AU2019303730B2 (en) | Hash-based appearance search | |
US20240087365A1 (en) | Systems and methods for identifying an object of interest from a video sequence | |
Chitteti et al. | Real-Time Conceptual Video Interpretation for Surveillance Systems using Euclidean Norms. | |
KR20230076716A (ko) | 객체 맥락화를 이용한 영상 검색 시스템 | |
KR20230077586A (ko) | 객체 맥락화 데이터 저장 시스템 및 방법 | |
KR20180041401A (ko) | 동영상 생성 장치 및 방법 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: British Columbia Applicant after: AVIGILON Corp. Address before: British Columbia Applicant before: Avi Green |
|
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220831 Address after: Illinois, America Applicant after: MOTOROLA SOLUTIONS, Inc. Address before: British Columbia Applicant before: AVIGILON Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |