CN112955900B - 智能视频监控系统和方法 - Google Patents

智能视频监控系统和方法 Download PDF

Info

Publication number
CN112955900B
CN112955900B CN201980070424.6A CN201980070424A CN112955900B CN 112955900 B CN112955900 B CN 112955900B CN 201980070424 A CN201980070424 A CN 201980070424A CN 112955900 B CN112955900 B CN 112955900B
Authority
CN
China
Prior art keywords
objects
interest
moving object
detection result
video
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.)
Active
Application number
CN201980070424.6A
Other languages
English (en)
Other versions
CN112955900A (zh
Inventor
张忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Truthvision Inc
Original Assignee
Truthvision Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Truthvision Inc filed Critical Truthvision Inc
Publication of CN112955900A publication Critical patent/CN112955900A/zh
Application granted granted Critical
Publication of CN112955900B publication Critical patent/CN112955900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/188Capturing isolated or intermittent images triggered by the occurrence of a predetermined event, e.g. an object reaching a predetermined position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30232Surveillance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Signal Processing (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Image Analysis (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

一种方法可以包括获取由视觉传感器采集的视频,该视频包括至少两个帧,并且在所述至少两个帧的至少一部分中检测所述视频的一个或多个对象。该方法还可以包括使用训练后的自学习模型确定与一个或多个对象相关联的第一检测结果。该方法还可以包括至少部分地基于第一检测结果,从一个或多个对象中选择目标感兴趣运动对象。训练后的自学习模型可以基于视觉传感器采集的至少两个训练样本来提供。

Description

智能视频监控系统和方法
交叉引用
本申请要求2018年10月25日提交的美国临时申请号62/750795和62/750797的优先权,其内容均通过引用并入本文。
技术领域
本申请一般涉及用于视频监控系统的系统和方法,更具体地涉及用于智能运动检测系统和方法。
背景技术
视频监控系统已广泛应用于各种环境,如建筑物、地铁站、机场、城市街道、车辆等。视频监控系统通常包括用于捕获视频的多个摄像机。捕获的视频通常由观察者或用户核查,以检测环境中发生的情况和/或监视环境中对象的行为。
然而,在某些情况下,相机是长时间录制,因此需要观察者或用户花费长时间才能查看视频,以便不错过重要信息。随着视频监控系统和摄像机的多样性,人们对视频的审查既不经济也不高效。但是,目前的自动检测系统不准确和/或昂贵。因此,期望能够提供视频监控和分析系统,能够高效且有效地识别采集视频中的对象,了解视频中对象(和/或对象的行为)之间发生了什么,并且基于观察生成警报或通知。
发明内容
根据本申请的一个方面,提供了一种用于视频监控系统。该系统可以包括一个存储设备,所述存储设备存储一组指令;以及至少一个处理器,所述至少一个处理器被配置为与所述存储设备通信,其中,当执行所述一组指令时,所述至少一个处理器用于引起所述系统执行以下操作。该系统可以获取由视觉传感器采集的视频,所述视频包括至少两个帧。该系统可以在所述至少两个帧的至少一部分中检测所述视频中的一个或多个对象。该系统可以使用训练后的自学习模型确定与所述一个或多个对象相关联的第一检测结果。该系统可以至少部分地基于所述第一检测结果,从所述一个或多个对象中选择目标感兴趣运动对象。所述训练后的自学习模型基于所述视觉传感器采集的至少两个训练样本来提供。
在一些实施例中,所述至少一个处理器用于引起所述系统执行以下操作:使用对象检测模型检测所述视频中的一个或多个对象。
在一些实施例中,所述对象检测模型基于深度学习模型构建。
在一些实施例中,为了至少部分地基于所述第一检测结果,从所述一个或多个对象中选择目标感兴趣运动对象,所述至少一个处理器用于引起所述系统执行以下操作。该系统可以基于至少两个帧的至少一部分确定与一个或多个对象相关联的一个或多个行为特征。该系统可以基于与所述一个或多个对象中的每一个对象相关联的一个或多个行为特征,确定与所述一个或多个对象中的每一个对象相关联的第二检测结果。该系统可以基于所述第一检测结果和所述第二检测结果,从所述一个或多个对象中确定所述目标感兴趣运动对象。
在一些实施例中,为了基于所述至少两个帧的至少一部分,确定与所述一个或多个对象相关联的一个或多个行为特征,该系统可以基于所述至少两个帧的至少一部分和在上一次校准中确定的视觉传感器的先前校准模型,确定所述一个或多个行为特征。
在一些实施例中,所述一个或多个对象的所述一个或多个行为特征包括速度、加速度、轨迹、运动幅度、方向、运动频率或语音信息中的至少一个。
在一些实施例中,所述训练后的自学习模型由一个过程生成,所述过程可以包括获取至少两个训练样本。所述至少两个训练样本中的每个训练样本可以包括由所述视觉传感器采集的历史视频。所述过程可以包括从所述至少两个训练样本中的每一个训练样本检测所述历史视频中的一个或多个运动对象。所述过程可以包括使用与检测到的所述一个或多个运动对象相关联的信息训练自学习模型以获得所述训练后的自学习模型。
在一些实施例中,与所述检测到的一个或多个运动对象相关联的信息包括以下中的至少一个:所述检测到的一个或多个运动对象被所述历史视频记录时的时间信息;与所述检测到的一个或多个运动对象相关的空间信息;所述检测到的一个或多个运动对象被所述历史视频记录时的天气信息;或者所述检测到的一个或多个运动对象的运动信息。
在一些实施例中,所述训练后的自学习模型包括第一部分和第二部分,所述第一部分与不同场景的参考知识相关,所述第二部分与从所述训练后的自学习模型的训练过程中生成的经学习的知识相关。
在一些实施例中,所述不同场景的参考知识可以包括出现在所述不同场景中的每个场景中的一个或多个对象的特征。
在一些实施例中,所述第一检测结果可以包括一个或多个第一候选感兴趣运动对象,所述第二检测结果可以包括一个或多个第二候选感兴趣运动对象,以及为了基于所述第一检测结果和所述第二检测结果,从所述一个或多个对象中确定所述目标感兴趣运动对象,所述至少一个处理器用于引起所述系统执行以下操作。该系统可以从所述一个或多个第一候选感兴趣运动对象和所述一个或多个第二候选感兴趣运动对象中指定一个相同的候选感兴趣运动对象作为所述目标感兴趣运动对象。
在一些实施例中,所述第一检测结果可以包括所述一个或多个对象中的每一个对象是感兴趣运动对象的第一概率,所述第二检测结果可以包括所述一个或多个对象中的每一个对象是感兴趣运动对象的第二概率,并且为了基于所述第一检测结果和所述第二检测结果,从所述一个或多个对象中确定所述目标感兴趣运动对象,该系统可以指定具有超过第一阈值的第一概率和超过第二阈值的第二概率的运动对象作为所述目标感兴趣运动对象。
在一些实施例中,该系统可以响应于从所述视频中检测到所述目标感兴趣运动对象,生成与所述目标感兴趣运动对象的检测相关的反馈。该系统可以将所述与目标感兴趣运动对象的检测相关的反馈发送到终端。
在一些实施例中,所述第一检测结果可以包括一个或多个第一候选感兴趣运动对象,所述第二检测结果可以包括一个或多个第二候选感兴趣运动对象,并且为了基于所述第一检测结果和所述第二检测结果,从所述一个或多个对象中确定所述目标感兴趣运动对象。该系统可以从所述一个或多个第一候选感兴趣运动对象和所述一个或多个第二候选感兴趣运动对象中指定一个相同的候选感兴趣运动对象作为所述目标感兴趣运动对象。
在一些实施例中,所述第一检测结果可以包括所述一个或多个对象中的每一个对象是感兴趣运动对象的第一概率,所述第二检测结果可以包括所述一个或多个对象中的每一个对象是感兴趣运动对象的第二概率,并且为了基于所述第一检测结果和所述第二检测结果,从所述一个或多个对象中确定所述目标感兴趣运动对象,所述至少一个处理器用于引起所述系统执行以下操作。该系统可以指定具有超过第一阈值的第一概率和超过第二阈值的第二概率的运动对象作为所述目标感兴趣运动对象。
在一些实施例中,所述至少一个处理器可以用于引起所述系统执行其他操作。响应于从所述视频中检测到目标感兴趣对象,所述至少一个处理器可以用于引起所述系统生成与目标感兴趣对象的检测有关的反馈。所述至少一个处理器可以用于引起所述系统将所述与目标感兴趣运动对象的检测相关的反馈发送到终端。
在一些实施例中,所述至少一个处理器可以用于引起所述系统执行其他操作。响应于对所述视频中的一个或多个对象的至少一部分中的每一个对象的检测,所述至少一个处理器可以用于引起所述系统生成候选反馈,其中每个候选反馈与所述一个或多个对象中的一个对象的检测有关。所述至少一个处理器可以用于引起所述系统基于所述第一检测结果和所述第二检测结果中的至少一个,从所述候选反馈中确定目标反馈。所述至少一个处理器可以用于引起所述系统将所述目标反馈发送到终端。
在一些实施例中,所述反馈或所述目标反馈可以包括指示存在运动对象的通知。
在一些实施例中,至少一个处理器可以进一步用于引起系统执行其他操作。该系统可以基于所述目标感兴趣运动对象,确定所述视觉传感器的校准模型。所述校准模型可以描述所述视觉传感器的二维(2D)坐标系和三维(3D)坐标系之间的转换关系。
在一些实施例中,为了基于所述目标感兴趣运动对象来确定所述视觉传感器的校准模型,所述至少一个处理器还可以用于引起所述系统执行所述其他操作。所述至少一个处理器还可以用于引起所述系统基于所述至少两个帧的所述至少一部分,确定由所述2D坐标系表示的所述目标感兴趣运动对象中的至少一个的特征的估计值。所述至少一个处理器还可以用于引起所述系统基于所述估计值和由3D坐标系表示的所述目标感兴趣运动对象中的至少一个的特征的参考值,确定所述校准模型。
在一些实施例中,所述至少一个目标感兴趣运动对象的特征可以包括所述至少一个目标感兴趣运动对象的至少一部分的物理尺寸。
在一些实施例中,所述目标感兴趣运动对象可以包括运动异常的人、运动异常的车辆或运动异常的动物中的至少一个。
在一些实施例中,所述反馈或所述目标反馈可以包括指示存在运动对象的通知。
在一些实施例中,至少一个处理器可以进一步用于引起系统执行其他操作。至少一个处理器可以进一步用于引起系统基于所述目标感兴趣运动对象,确定所述视觉传感器的校准模型。所述校准模型可以描述所述视觉传感器的二维(2D)坐标系和三维(3D)坐标系之间的转换关系。
在一些实施例中,为了基于所述目标感兴趣运动对象来确定所述视觉传感器的校准模型,所述至少一个处理器还可以用于引起所述系统执行所述其他操作。所述至少一个处理器还可以用于引起所述系统基于所述至少两个帧的所述至少一部分,确定由所述2D坐标系表示的所述目标感兴趣运动对象中的至少一个的特征估计值。所述至少一个处理器还可以用于引起所述系统基于所述估计值和由3D坐标系表示的所述目标感兴趣运动对象中的至少一个的特征的参考值,确定所述校准模型。
在一些实施例中,所述目标感兴趣运动对象中的至少一个的特征可以包括所述目标感兴趣运动对象中的至少一个的至少一部分的物理尺寸。
在一些实施例中,所述目标感兴趣运动对象包括运动异常的人、运动异常的车辆或运动异常的动物中的至少一个。
根据本申请的一个方面,提供了一种用于视频监控的方法。该方法可以在具有用于异常场景检测的至少一个处理器和至少一个计算机可读存储介质的计算设备上实现。该方法可以包括获取由视觉传感器采集的视频,所述视频包括至少两个帧。该方法可以包括在所述至少两个帧的至少一部分中检测所述视频中的一个或多个对象。该方法可以包括使用训练后的自学习模型确定与所述一个或多个对象相关联的第一检测结果。该方法可以包括至少部分地基于所述第一检测结果,从所述一个或多个对象中选择目标感兴趣运动对象。可以基于所述视觉传感器采集的至少两个训练样本,提供所述训练后的自学习模型。
根据本申请的一个方面,提供了一种用于视频监控的非暂时性计算机可读介质。所述非暂时性计算机可读介质可以包括获取由视觉传感器采集的视频,所述视频包括至少两个帧。所述非暂时性计算机可读介质可以包括在所述至少两个帧的至少一部分中检测所述视频中的一个或多个对象。所述非暂时性计算机可读介质可以包括使用训练后的自学习模型确定与所述一个或多个对象相关联的第一检测结果。所述非暂时性计算机可读介质可以包括至少部分地基于所述第一检测结果,从所述一个或多个对象中选择目标感兴趣运动对象,其中基于所述视觉传感器采集的至少两个训练样本提供所述训练后的自学习模型。
根据本申请的一个方面,提供了一种用于视频监控的设备。每个设备的一个或多个视觉传感器可以包括一个存储一组指令的存储设备。所述至少一个处理器可以被配置为与所述存储设备通信。其中,当执行所述一组指令时,所述至少一个处理器可以用于引起所述系统执行以下操作。所述至少一个处理器可以用于引起所述系统获取由所述一个或多个视觉传感器中的一个采集的视频,所述视频包括至少两个帧。所述至少一个处理器可以用于引起所述系统基于所述至少两个帧的至少一部分,从所述视频中检测一个或多个对象。所述至少一个处理器可以用于引起所述系统基于训练后的自学习模型确定与一个或多个对象相关联的第一检测结果。所述至少一个处理器可以用于引起所述系统至少部分地基于所述第一检测结果,从所述一个或多个对象中选择目标感兴趣运动对象。
本申请的一部分附加特征可以在以下描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特征对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:
图1是根据本申请的一些实施例示出的处理设备的示意图;
图2是根据本申请的一些实施例示出的用于视频监控的示例性过程的流程图;
图3是根据本申请的一些实施例示出的感兴趣运动对象确定模块的示例性硬件和/或软件组件的框图;
图4是根据本申请的一些实施例的用于确定感兴趣运动对象的示例性过程的流程图;
图5是根据本申请的一些实施例示出的自学习模型单元的示例性硬件和/或软件组件的框图;
图6是根据本申请的一些实施例示出的用于训练自学习模型的示例性过程的流程图;
图7是根据本申请一些实施例示出的视频监控系统的示意图;
图8是根据本申请的一些实施例示出的可以在其上实现处理引擎的计算设备的示例性硬件和/或软件组件的示意图;以及
图9是根据本申请的一些实施例示出的可以在其上实现终端的移动设备的示例性硬件和/或软件组件的示意图。
具体实施方式
以下描述是为了使本领域技术人员能够实施和使用本申请,并且在特定应用的上下文及其要求中提供。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请不限于所示的实施例,而是符合与权利要求一致的最宽的范围。
本申请中所使用的术语仅出于描述特定示例实施例的目的,而非限制性的。如本申请使用的单数形式“一”、“一个”及“该”同样可以包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中使用的术语“包括”、“包含”仅提示存在所述特征、整数、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其它特征、整数、步骤、操作、组件、部件和/或其组合的情况。
根据以下对附图的描述,本申请的这些和其他的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
用于本申请的流程图示出了根据本申请的一些实施例实现的系统的操作。可以明确地理解,可以不按顺序实现流程图的操作。相反,操作可以以反向的顺序或同时实现。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。
术语“乘客”、“请求者”、“服务请求者”、和“客户”可互换地用于指代个人,实体或工具可以请求或订购服务。此外,本申请中的术语“驱动者”,“提供者”,“服务提供者”和“供应商”可互换地使用,以指代可以提供服务或便于提供服务的个人,实体或工具。本申请中的术语“用户”用于指可以请求服务、订购服务、提供服务或促进提供服务的个人、实体或工具。在本申请中,术语“请求者”和“请求者终端”可以互换使用,术语“提供者”和“提供者终端”可以互换使用。
术语“请求”、“服务”在本申请中的“服务请求”和“订单”可互换地用于指代可以由乘客、请求者、服务请求者、客户、驾驶员,提供者、服务提供者、供应商等或其任何组合。取决于上下文、乘客、请求者、服务请求者、客户、驱动程序、提供者、服务提供者或供应商中的任何人都可以接受服务请求。在一些实施例中,服务请求由驾驶员、提供者、服务提供者或供应商接受。服务请求可以是收费的或免费的。
本申请中使用的定位技术可以基于全球定位系统(GPS)、全球导航卫星系统(GLONASS)、罗盘导航系统(COMPASS)、伽利略定位系统、准天顶卫星系统(QZSS)、无线保真(WiFi)定位技术等或其任意组合。以上定位系统中的一个或以上可以在本申请中交换使用。
本申请的一个方面涉及用于视频监控的系统和方法。该系统可以获取包括由视觉传感器采集的至少两个帧的视频。系统可以在至少两个帧的至少一部分中检测所述视频中的一个或多个对象。系统可以用训练后的自学习模型确定与一个或多个对象相关联的第一检测结果。训练后的自学习模型可以从环境周围的历史视频中学习,分析和学习在环境中捕获的实时视频和/或预测环境的未来视频。因此,使用自学习技术,可能需要标记至少两个训练样本的一部分,这可以降低计算和成本。使用由视觉传感器获取的至少两个训练样本来获得训练后的自学习模型以及使用训练后的自学习模型来处理由视觉传感器采集的视频可以提高使用训练后自学习模型对检测对象的预测结果的准确性。
在一些实施例中,系统可以分析从视频检测到的对象的行为特征,以进一步预测检测到的对象的类别,其可以进一步提高检测到的对象的预测结果的准确性。在一些实施例中,系统可以基于预测结果自动校准视觉传感器,这可以提高视觉传感器校准的精度并降低校准成本。例如,系统可以确定在视频帧中表示的检测对象的特征(例如,尺寸)的估计值。系统可以基于特征的估计值和特征的参考值(或已知值)来确定视觉传感器的校准模型。
为了说明的目的,本申请描述了用于视频监控系统的系统和方法。应当注意,下面描述的视频监控系统700仅用于说明目的,而不是旨在限制本申请的范围。
图1是根据本申请的一些实施例示出的处理设备的示意图。如图所示,处理设备100(例如,处理设备740)可以包括数据获取模块102、对象检测模块104、感兴趣运动对象确定模块106、反馈模块108和校准模块110。在一些实施例中,数据获取模块102、对象检测模块104、感兴趣运动对象确定模块106、反馈模块108和校准模块110可以通过无线连接(例如,网络)、有线连接或其组合相互连接和/或通信。
数据获取模块102可以获取用于对象检测的数据和/或信息。在一些实施例中,数据获取模块102可以获取由视觉传感器采集的一个或多个视频。在一些实施例中,数据获取模块102可以获取用于对象检测的一个或多个模型和/或算法。例如,数据获取模块102可以获取对象检测模型和/或算法、用于对象检测的训练后的机器学习模型等。作为另一示例,数据获取模块102可以获取用于对象检测的训练后的自学习模型。
在一些实施例中,数据获取模块102可以进一步获取一个或多个功能块以及与模型(例如,用于对象检测的训练后的自学习模型,也称为初步视频监控模型)相关联的一个或多个参数或约束。一个或多个功能块可作为“背景知识”集成到初步视频监控模型中或由其实现。一个或多个参数或约束可以作为“世界的一般属性”集成到初步视频监控模型中或由其实现。一个或多个功能块可以是对应于特定功能的训练子模型。例如,可以预先训练对象识别功能块来识别视频中的特定类型的对象,包括但不限于车辆的车轮、车辆的牌照、人脸、站立的人、人头、人的肩膀等。应当注意,初步视频监控模型可以在没有一个或多个功能块的情况下进行训练,但是训练可能持续更长的时间。
对象检测模块104可以从由视觉传感器采集的视频中检测一个或多个对象。在一些实施例中,对象检测模块104可以使用由数据获取模块102获取的一个或多个对象检测算法112从视频中检测和/或识别所述视频中的对象(例如,一个或多个运动对象)。在一些实施例中,对象检测模块104可以使用训练后的用于对象检测的机器学习模型来检测视频帧中的对象。在深度学习模型的基础上,可以构造训练后的目标检测机器学习模型。在一些实施例中,对象检测模块104可以在视频的每一帧中使用,例如,一个边界框,标记从视频中检测到的一个或多个对象中的每一个对象。
感兴趣运动对象确定模块106可以从一个或多个对象中选择目标感兴趣运动对象。如本文所用,感兴趣运动对象可以指视频中某个类别的对象,例如,车辆或其一部分(例如,车辆的车轮、车辆的车牌)、人或其一部分(例如,人脸、人的头部、人的头部、人类等)或运动、状态和/或方式的异常的运动对象。运动对象的运动、状态和/或方式的异常也可以称为运动对象的行为的异常。在一些实施例中,感兴趣运动对象确定模块106可以使用训练后的自学习模型确定与一个或多个运动对象相关联的第一检测结果。在一些实施例中,第一检测结果可以包括从一个或多个对象中选择的一个或多个感兴趣运动对象。
在一些实施例中,感兴趣运动对象确定模块106可以基于第一检测结果和第二检测结果确定目标感兴趣运动对象。在一些实施例中,第一检测结果可以包括一个或多个对象中的每一个对象是感兴趣运动对象的概率。感兴趣运动对象确定模块106可以将其概率在一个或多个对象中最大或超过阈值的一个或多个对象中的一个指定为目标感兴趣运动对象。
在一些实施例中,可以基于第一检测结果和第二检测结果来确定目标感兴趣运动对象。第二检测结果可以通过对象的行为分析来确定。如本文所使用的,行为分析可指确定对象的行为或运动是正常的还是异常的。对象的行为可以由对象的一个或多个动作、对象的声音等来定义。对象的行为分析可以通过分析对象的运动特征来执行。在一些实施例中,第一检测结果可以包括一个或多个第一候选感兴趣运动对象,并且第二检测结果可以包括一个或多个第二候选感兴趣运动对象。感兴趣运动对象确定模块106可以从一个或多个第一候选感兴趣运动对象和一个或多个第二候选感兴趣运动对象中指定一个相同的候选感兴趣运动对象作为目标感兴趣运动对象。
在一些实施例中,感兴趣运动对象确定模块106可以基于采集的视频的至少两个视频帧来检测一个或多个已识别对象的运动。例如,智能运动检测系统可以比较至少两个视频帧中对象的位置、形状、尺寸,以确定一个或多个已识别对象的运动。仅仅作为示例,对象的运动可以包括但不限于从一侧到另一侧运动、向上跳跃、蹲下、旋转等,并且可以由各种参数来描述,这些参数包括距离、速度、方向、形状或尺寸的变化、强度和/或运动轨迹。感兴趣运动对象确定模块106可以被配置为分析采集的视频中的对象的运动。具体地,感兴趣运动对象确定模块106可以确定对象的运动是正常的还是异常的。在一些实施例中,如果对象的运动与意外事故(例如,故意破坏、爆炸、建筑物倒塌、盗窃等)有关,则可将其确定为异常。或者,如果对象通常情况下不进行该运动,则可将其确定为异常。例如,感兴趣运动对象确定模块106可以获取对象或特定类型的对象通常执行的运动或动作(也称为正常运动或正常动作)。如果在采集的视频中注意到对象或特定类型的对象在预定时间段之后不执行“正常”运动或动作,或者执行与“正常”运动不同的运动(通常相反),则感兴趣运动对象确定模块106可以确定对象的运动是异常的。在一些实施例中,当智能运动检测系统连续监视环境时,感兴趣运动对象确定模块106可以检测并推测“正常”运动。或者,可以从外部资源(例如,数据库)或观察者获取“正常”运动。
反馈模块108可以生成与目标感兴趣运动对象的检测有关的反馈。在一些实施例中,反馈模块108可以生成候选反馈,每个候选反馈都与运动对象的检测有关,并且基于第一检测结果和/或第二检测结果中的至少一个从候选反馈中确定目标反馈。在一些实施例中,反馈模块108可进一步验证目标反馈是否为错误反馈。在一些实施例中,反馈模块108可以将反馈或与目标感兴趣运动对象的检测有关的目标反馈发送到终端。
反馈模块108可被配置为滤除错误警报。错误警报是指视频中发生的动作不需要报警(无害)或动作正常时,由警报生成模块生成的报警。反馈模块108可采集其认为是错误警报的警报,并经由通信模块将其输出给观察者(例如,住户)以进一步验证。如果观察者确认警报是正确的,则当以后注意到视频中相同或相似对象的相同或相似运动时,警报生成模块可能会生成类似的报警。如果观察者确认警报不正确,则反馈模块108可以将警报确定为错误警报,并且当将来注意到视频中相同或相似对象的相同或相似运动时过滤掉警报。在一些实施例中,反馈模块108可以不需要观察者验证警报,但是引起警报的“异常”运动(即,智能运动检测系统主要认为异常的运动)被反复注意到时自动确认警报是错误警报。
校准模块110可以基于目标感兴趣运动对象来确定视觉传感器的校准模型。在一些实施例中,校准模块110可以基于目标感兴趣运动对象的至少一部分的特征来确定视觉传感器的参数。具体地,校准模块110可以确定由应用于由视觉传感器采集的视频帧的2D坐标系表示的目标感兴趣运动对象的至少一部分的特征的在视频帧中的估计值。校准模块110可以确定由应用于视觉传感器的3D坐标系表示的目标感兴趣运动对象的至少一部分的特征的参考值。在一些实施例中,校准模块110可以基于估计值和参考值进一步确定校准模块。在一些实施例中,校准模块110可以识别视频中具有已知尺寸和形状的对象。
该描述旨在说明,而不是限制本申请的范围。许多替代方案、修改和变化对于本领域技术人员来说是显而易见的。本文描述的示例性实施例的特征、结构、方法和其他特征可以以各种方式组合以获得附加和/或替代示例性实施例。然而,这些变化和修改并不脱离本申请的范围。
图2是根据本申请的一些实施例示出的用于视频监控的示例性过程200的流程图。在一些实施例中,图2所示的过程200的一个或多个操作可以在图7所示的视频监控系统700中实现。例如,图2所示的过程200可以以指令的形式存储在存储设备780中,并且由处理设备740(例如,图8所示的计算设备800的处理器810、图9所示的移动设备900的GPU 930或CPU940)调用和/或执行。
在202中,处理设备100可以获取由视觉传感器采集的视频。操作202可由数据获取模块102执行。视频可以包括至少两个帧。至少两个帧的至少一部分可以包括一个或多个对象。一个或多个对象可以是静态对象(例如,博物馆中的珍品)或移动或运动对象(例如,无人工厂的装配线上的产品)或其任何组合。如本文所使用的,术语“视频”可指以模拟和/或数字形式表示的动态图像。例如,视频可以包括电视、电影、照相机或其他观察设备中的图像帧、计算机生成的图像帧等,或其组合。帧可以指视频中的特定图像或其他离散单元。视觉传感器可指用于视觉记录的设备。例如,视觉传感器可以包括彩色摄像机、数字摄像机、摄像机、便携式摄像机、PC(Personal Computer)摄像机、网络摄像机、红外(IR)摄像机、微光摄像机、热摄像机、闭路电视摄像机、摇摄、倾斜、变焦(PTZ)摄像机、视频感测设备等,或其组合。视觉传感器可以位于视频监控系统700内或位于视频监控系统700外。例如,视频监控系统700可以包括照相机。视觉传感器和处理器(例如,处理设备740)可以安装在相机内。作为另一示例,视频监控系统700可以包括诸如服务器的处理设备100(例如,如图7所述的处理设备740)。视觉传感器和处理设备(例如,如图7所述的处理设备740)可以在物理上彼此分离。处理设备可以经由网络(例如,网络750)从处理设备(例如,处理设备740)获取视频。在一些实施例中,视频可以从视觉传感器720、存储设备780、终端760或任何其他外部存储设备获取。例如,处理设备100可以直接从视觉传感器720获取视频。
在204中,处理设备100可以检测至少两个帧的至少一部分中的一个或多个对象。操作204可由对象检测模块104执行。在至少两个帧的至少一部分中检测到的一个或多个对象可以是静态对象(例如,博物馆中的珍品)或运动对象(例如,无人工厂的装配线上的产品)或其任何组合。例如,静态对象可以包括树、云、草等。运动对象可以包括车辆、行人、动物等。在一些实施例中,处理设备100可以使用一个或多个对象检测算法112检测和/或识别帧中的对象。示例性对象检测算法可包括帧间差分算法、背景差分算法、光流算法等,或其组合。例如,背景差分算法可以包括时间差分算法、平均滤波算法、W4算法、高斯混合模型算法等。在一些实施例中,可以使用用于训练后的对象检测机器学习模型在视频帧中检测对象。在深度学习模型的基础上,可以构造训练后的对象检测机器学习模型。例如,深度学习模型可以包括可变形部件模型(DPM)、过热网络、空间金字塔池化网络(SPPNet)、卷积神经网络(CNN)、基于候选区域的卷积神经网络(R-CNN)、全卷积网络(FCN)、YOLO(you onlylook once)网络等,或其任何组合。如本文所使用的,对象的检测可以包括确定对象的参数(例如,位置、尺寸和/或形状),和/或基于所述参数和/或标记所述对象的警报编号使用,例如围绕对象边界的矩形框(例如,边界框)描述在视频中或者所述至少两个帧中的至少一部分的每一帧中的对象。在一些实施例中,对象的检测可以包括在不同帧中确定和/或识别同一对象。在一些实施例中,对象的检测还可以包括基于所确定的参数确定对象的类别。例如,处理设备100可以将一个或多个对象的第一部分识别为人,将一个或多个对象的第二部分识别为汽车。作为另一示例,处理设备100可以将视频上的一个或多个对象的第三部分识别为人脸,将第四部分识别为汽车的车轮。在一些实施例中,处理设备100可以通过在数据库中搜索被识别人的面部来确定环境中被识别人的标识信息(例如,姓名、性别、年龄、ID号)。在一些实施例中,处理设备100可以通过在数据库中搜索汽车的车牌号来确定环境中已识别汽车的标识信息(例如,品牌、型号、车主姓名)。
在206中,处理设备100可以利用训练后的自学习模型确定与一个或多个对象相关联的第一检测结果。操作206可由对象检测模块104执行。在一些实施例中,第一检测结果可以包括从在操作204中检测到的一个或多个对象中选择的一个或多个感兴趣运动对象。如本文所使用的,对象是指数字和/或模拟视频和/或图像中实际物品/人的数字和/或模拟表示。如本文所使用的,感兴趣运动对象可指视频中的特定类别的对象,例如,车辆或其部分(例如,车辆的车轮、车辆的牌照)、人或其部分(例如,人脸、人的头部、人的肩膀等)或者运动、状态和/或方式的异常的运动对象。关于运动对象的运动、状态和/或方式的异常也可以被称为运动对象的行为的异常。例如,如果运动对象执行了某一动作,而同一类别的一个或多个运动对象在预定的过去时间段内未执行该动作或执行与该动作不同动作(通常相反),则运动对象可能存在行为的异常。作为另一示例,如果运动对象在预定的时段之后不执行某一动作,则运动对象可能存在行为的异常。在一些实施例中,第一检测结果可以包括在操作204中检测到的一个或多个对象中的至少一个是感兴趣运动对象的概率。
在一些实施例中,处理设备100可以将具有一个或多个标记对象的视频输入/传输到训练后的自学习模型中。训练后的自学习模型可以通过处理带有一个或多个标记对象的视频来输出第一检测结果。训练后的自学习模型可被配置成预测和/或确定对象的类别和/或对象是否存在行为的异常。在一些实施例中,训练后的自学习模型可以包括通过从历史图像数据(例如,由视觉传感器采集的视频)学习而获得的知识库。训练后的自学习模型可以基于知识库预测和/或确定对象是否是感兴趣运动对象。知识库可以包括与历史图像数据中记录的场景相关联的规则模式。例如,与场景相关联的规则模式可以包括场景中出现的一个或多个对象的习惯、自然规律、场景中出现的一个或多个对象的运动特征、场景或场景中出现的对象的固有属性等。在一些实施例中,可以根据时间、天气、位置等来学习规则模式。例如,训练后的自学习模型可以学习视觉传感器在不同时间、不同天气条件下捕获的不同场景中出现的不同对象的规则模式(例如,运动特征)。例如,可将场景确定为一般结果,如室内、室外、上午、下午、下雨等。或者,可将场景确定为详细结果,如上午9-10点的健身房、下午3-4点的图书馆。训练后的自学习模型可以通过确定运动对象违反或不同于规则模式来确定感兴趣运动对象或运动对象行为的异常。例如,训练后的自学习模型可以从安装在监狱中的视觉传感器采集的历史视频中学习监狱中的囚犯每天晚上8点睡觉。然而,如果监狱里的囚犯在某一天晚上8点左右走动,直到晚上9点才睡觉。训练后的自学习模型可以判断监狱的行为(关于睡眠时间)是异常的。另一个例子是,训练后的自学习模型可以从安装在房子里的视觉传感器采集的历史视频中学习,从周一到周五,房子里的人每天早上8点出门。但是,如果房子里的人在星期一到星期五的某一天没有出门,训练后的自学习模型可以判断房子里的人的行为是异常的。作为又一示例,训练后的自学习模型可以从安装在屋外的视觉传感器采集的历史视频中学习进进出出的每个人的外观特征(例如,身高、头发长度、穿着习惯等)或行为特征。然而,如果一个想要进入房子的特定的人不满足通过训练后的自学习模型学习到的每个人的外表特征(例如,身高、头发长度、穿着习惯等)或行为特征,训练后的自学习模型可以判断特定该人的行为是异常的。关于自学习模型的更多描述可以在本申请的其他地方找到。例如,参见图6及其相关描述。
在208中,处理设备100可以至少部分地基于第一检测结果从一个或多个对象中选择目标感兴趣运动对象。操作208可由感兴趣运动对象确定模块106执行。目标感兴趣运动对象可包括运动异常的人、运动异常的车辆或运动异常的动物中的至少一个。
在一些实施例中,可以仅通过训练后的自学习模型来确定目标感兴趣运动对象。例如,第一检测结果可以包括一个或多个对象中的每一个对象是感兴趣运动对象的概率。处理设备740可以将概率在一个或多个对象中最大或超过阈值的一个或多个对象中的一个指定为目标感兴趣运动对象。
在一些实施例中,可以基于第一检测结果和第二检测结果来确定目标感兴趣运动对象。第二检测结果可以通过对象的行为分析来确定。如本文所使用的,行为分析可指确定对象的行为或运动是正常的还是异常的。对象的行为可以由对象的一个或多个动作、对象的声音等来定义。对象的行为分析可以通过分析对象的运动特征来执行。在一些实施例中,第一检测结果可以包括一个或多个第一候选感兴趣运动对象,并且第二检测结果可以包括一个或多个第二候选感兴趣运动对象。感兴趣运动对象确定模块106可以从一个或多个第一候选感兴趣运动对象和一个或多个第二候选感兴趣运动对象中指定一个相同的候选感兴趣运动对象作为目标感兴趣运动对象。
在一些实施例中,第二检测结果可以包括一个或多个对象中的每一个对象是感兴趣运动对象的第二概率。感兴趣运动对象确定模块106可以将具有超过第一阈值的第一概率和超过第二阈值的第二概率的运动对象指定为目标感兴趣运动对象。关于对象的行为分析的更多描述可以在本申请的其他地方找到。例如,参见图4及其相关描述。第一检测结果可以包括一个或多个对象中的每一个对象是感兴趣运动对象的第一概率。
在210中,响应于从视频中检测到目标感兴趣运动对象,处理设备100可以生成与目标感兴趣运动对象的检测有关的反馈。操作210可由反馈模块108执行。在一些实施例中,反馈或目标反馈可包括指示存在运动对象或感兴趣运动对象的通知。通知可以是文本、语音、图像、视频等形式,或其任何组合。在一些实施例中,与目标感兴趣运动对象的检测有关的通知可以是对视频监控系统700的观察者的警报,以通知异常情况(即,异常)。异常状况可包括破坏、爆炸、建筑物倒塌、盗窃、异常行为等,例如,如果使用视频监控系统700监视房屋的门,视频监控系统700可以学习到户主每天使用钥匙等开门。当它注意到未知的人通过用斧头将门打开时,反馈模块108可以向户主产生警报。警报器可包括通过安装在房屋内的相应设备产生的声音、光、振动等,或任何组合。
在一些实施例中,响应于从视频中检测到一个或多个对象(例如,运动对象)的至少一部分中的每一个,反馈模块108可以生成候选反馈,每个候选反馈都与运动对象的检测有关,以及基于第一检测结果和/或第二检测结果中的至少一个,从候选反馈中确定目标反馈。例如,如果基于第一检测结果和/或第二检测结果确定的运动对象是感兴趣运动对象,则处理设备100可以将对应于该对象的候选反馈指定为正确反馈或正反馈(即,目标反馈)。如果基于第一检测结果和/或第二检测结果确定的运动对象不是感兴趣运动对象,则反馈模块108可以将与该对象对应的候选反馈指定为错误反馈或负反馈。错误反馈可以包括错误警报。错误警报可以是指不需要对视频中发生的事情(无害)进行警报的警报。例如,当反馈模块108注意到一只猫或一只松鼠(首先认为它可能是罪犯)跳进房子的窗户时,可能产生错误警报。作为另一示例,反馈模块108可在其注意到树的阴影(首先认为可能是罪犯)穿过房屋的窗户时产生错误警报。在一些实施例中,反馈模块108或观察者可进一步验证目标反馈是否为错误反馈。例如,反馈模块108可以采集其认为是错误警报的警报,并将它们发送给观测者(例如,户主)以进一步验证。如果观察者确认警报是正确的,则反馈模块108可以在将来视频中注意到相同的事情时生成类似的警报。如果观察者确认警报不正确,则反馈模块108可以将警报确定为错误警报,并且当在将来视频中注意到类似的事情时过滤掉警报。在一些实施例中,反馈模块108可以不需要观察者来验证警报,但是可以在引起警报的事物被反复注意时自动确认警报是错误警报。例如,如果反馈模块108在每天日落时当树的阴影穿过房屋的窗户时生成警报。反馈模块108可以确定警报是错误警报(即使它不知道警报是由无害的树的阴影引起的,也可以相信罪犯不会每天同时到家),并且当在视频中注意到类似的事情时过滤掉警报。
在一些实施例中,处理设备100可以将反馈或与目标感兴趣运动对象的检测有关的目标反馈发送到终端。终端可以是用户或警察局的移动设备。在一些实施例中,与反馈或目标反馈相关联的视频可以与反馈或目标反馈一起发送给用户或警察局。
在212中,可以基于目标感兴趣运动对象,确定视觉传感器的校准模型。操作212可由校准模块110执行。在一些实施例中,视觉传感器可以是视觉传感器720或其一部分。校准模型可以描述应用于视频帧的2D坐标系(也称为图像坐标系)和应用于视觉传感器的3D坐标系(也称为传感器坐标系)之间的转换关系。例如,校准模型可用于将2D坐标系中的点的坐标转换为3D坐标系中的点的坐标。校准模型可由视觉传感器的参数(例如,固有参数、外在参数或失真参数)来定义。例如,与视觉传感器相关联的参数可以包括固有矩阵、焦距、焦点的位置、径向失真的参数、切向失真的参数、旋转矩阵、平移向量、重投影误差等。
在一些实施例中,校准模块110可以基于目标感兴趣运动对象(例如,人的面部)的至少一部分的特征来确定视觉传感器的参数(即,校准模型)。在一些实施例中,目标感兴趣运动对象的至少一部分的特征可以包括目标感兴趣运动对象的至少一部分的物理尺寸。物理尺寸可包括高度、宽度、长度、高宽比等,或其任何组合。具体地,处理设备100可以确定由2D坐标系表示的目标感兴趣运动对象的至少一部分的特定特征在视频帧中的估计值。处理设备100可以确定由3D坐标系表示的目标感兴趣运动对象的至少一部分的特定特征的参考值。在一些实施例中,处理设备100可以基于估计值和参考值进一步确定校准模型。在一些实施例中,处理设备100可以从视频监控系统700的一个或多个组件(例如,存储设备780、视觉传感器720和/或终端760)获取参考值。在一些实施例中,用户可以向视频监控系统700提供参考值。处理设备100可以访问存储设备并检索参考值。可选地,处理设备100可经由网络750从另一来源获取参考值(例如,汽车牌照的长度)。另一源可包括网站、数据库、系统和/或可包括参考值的任何其他源。例如,处理设备100可以从汽车供应商网站获取与车辆有关的信息(例如,轿车的平均长度、卡车拖车的车轮的平均宽度)。在一些实施例中,校准模块110可以基于视频帧确定目标感兴趣运动对象的至少一部分在应用于视频帧的2D坐标系中的估计值。例如,对应于对象高度的估计值可以是2D坐标系中对象顶部的点的坐标和对象底部的点的坐标之间的距离。估计值(例如,1.25cm)可对应于参考值。例如,与成年男性的身高相对应的估计值可与成年男性的平均身高(例如,1.75米)相关联。作为另一示例,对应于本田SUV的长度的估计值可与本田SUV的已知长度(例如,4.5m)相关联。
在一些实施例中,处理设备100可以识别视频中具有已知尺寸和形状的对象,例如,人体、人脸等。因为视频中对象的尺寸取决于其实际尺寸(已知)和与视觉传感器相关联的参数,可以获取与视觉传感器相关联的参数。在一些实施例中,由于例如风、动物等原因,视觉传感器在使用过程中可能会稍微移动。校准模型可以通过在移动前后比较视频帧(不一定包括具有已知尺寸和形状的对象)来重新校准与视觉传感器相关联的参数。例如,校准模型可以比较运动前后视频帧中相同对象的位置、尺寸、形状、方向(甚至不知道其实际尺寸),以重新校准与视觉传感器相关联的参数。视觉传感器的移动可基于重新校准的参数进一步确定。
该描述旨在说明,而不是限制本申请的范围。许多替代方案、修改和变化对于本领域技术人员来说是显而易见的。本文描述的示例性实施例的特征、结构、方法和其他特征可以以各种方式组合以获取附加和/或替代示例性实施例。然而,这些变化和修改并不脱离本申请的范围。在一些实施例中,过程200中的操作可被划分为多个操作。例如,过程200可以包括过滤掉错误警报的操作。在一些实施例中,过程200还可以包括存储在操作204-212期间生成的数据(例如,被检测对象、第一检测结果、第二检测结果、目标感兴趣运动对象等)。在一些实施例中,可以省略操作212。
图3是根据本申请的一些实施例示出的示例性感兴趣运动对象确定模块的示意图。如图所示,感兴趣运动对象确定模块106可以包括自学习模型单元302、行为分析单元304和目标对象确定单元306。在一些实施例中,自学习模型单元302、行为分析单元304和目标对象确定单元306可以通过无线连接(例如,网络)、有线连接或其组合相互连接和/或通信。
自学习模型单元302可以获取训练后的自学习模型,并使用训练后的自学习模型确定与一个或多个运动对象相关联的第一检测结果。例如,自学习模型单元302可以将具有一个或多个标记对象的视频输入/传输到训练后的自学习模型中。训练后的自学习模型可以通过处理带有一个或多个标记对象的视频来输出第一检测结果。在一些实施例中,自学习模型单元302可以使用由视觉传感器采集的至少两个训练样本来训练机器学习模型(或初步视频监控模型)来获得训练后的自学习模型。训练后的自学习模型可被配置成预测和/或确定对象的类别和/或对象是否存在行为的异常。在一些实施例中,训练后的自学习模型可以包括通过从历史图像数据(例如,由视觉传感器采集的视频)学习而获得的知识库。训练后的自学习模型可以基于知识库预测和/或确定对象是否是感兴趣运动对象。知识库可以包括与历史图像数据中记录的场景相关联的规则模式。例如,与场景相关联的规则模式可以包括场景中出现的一个或多个对象的习惯、自然规律、场景中出现的一个或多个对象的运动特征、场景或场景中出现的对象的固有属性等,这些规律可以根据时间、天气、地点等来学习。
行为分析单元304可以基于至少两个帧的至少一部分来确定与一个或多个对象相关联的一个或多个行为特征,并且基于与一个或多个对象中的每一个对象相关联的一个或多个行为特征来确定与一个或多个对象中的每一个对象相关联的第二检测结果。在一些实施例中,第二检测结果可以包括一个或多个第二候选感兴趣运动对象。在一些实施例中,第二检测结果可以包括一个或多个对象中的每一个对象是感兴趣运动对象的第二概率。感兴趣运动对象可以是指行为异常或运动异常的对象。在一些实施例中,行为分析单元304可以基于采集至少两个帧的视觉传感器的先前校准模型来确定与对象相关联的行为特征。
在一些实施例中,行为分析单元304可以从视频学习对象或特定类型的对象周期性地执行的运动或动作。周期可以是一小时、一天、一周、一个月、一年等,以响应对象或特定类型的对象在预定的周期之后不执行动作的通知,或者对象执行不同的(通常相反的)动作,行为分析模块可以确定对象的行为异常。例如,行为分析模块可以从视频中了解到,监狱里的囚犯应该每晚8点睡觉,因为他们总是在晚上8点之前睡觉。然而,行为分析模块注意到监狱里的囚犯在某一天晚上8点走动,直到晚上9点才睡觉。行为分析模块可以确定监狱的行为(关于睡眠时间)异常。作为响应,行为分析模块可经由通信模块将异常行为输出到监视器(例如监狱看守)以进一步验证。如果监视器确认行为异常,行为分析模块可能不会改变其关于囚犯应在晚上8点睡觉的知识。如果监视器确认行为正常,行为分析模块可以学习一个新的知识,即晚上8点或9点(或两者之间)睡觉都是正常行为。在一些实施例中,行为分析模块可以不需要监视器来验证其对异常行为的确定,但是可以在反复注意到该行为时自动确认该行为是正常的。例如,如果行为分析模块反复注意到囚犯在晚上9点睡觉而没有受到狱警的惩罚,行为分析模块可以学习出一个新的知识,即晚上8点或9点(或两者之间)睡觉都是正常的行为,并在未来确定囚犯晚上9点睡觉时的行为是正常的。
目标对象确定单元306可以基于第一检测结果和第二检测结果从一个或多个对象确定目标感兴趣运动对象。在一些实施例中,如操作208中所述,处理设备100可以从一个或多个第一候选感兴趣运动对象和一个或多个第二候选感兴趣运动对象指定一个相同的候选感兴趣运动对象作为目标感兴趣运动对象。在一些实施例中,如操作208中所述,目标感兴趣运动对象确定单元310可以将具有超过第一阈值的第一概率和超过第二阈值的第二概率的运动对象指定为目标感兴趣运动对象。
该描述旨在说明,而不是限制本申请的范围。许多替代方案、修改和变化对于本领域技术人员来说是显而易见的。本文描述的示例性实施例的特征、结构、方法和其他特征可以以各种方式组合以获得附加和/或替代示例性实施例。然而,这些变化和修改并不脱离本申请的范围。
图4是根据本申请的一些实施例示出的用于运动对象检测的示例性流程图。在一些实施例中,过程500可以实现为存储在存储ROM 230或RAM 240中的一组指令(例如,应用程序)。图4中的处理器220和/或模块可以执行指令集,并且当执行指令时,处理器220和/或模块可以被配置为执行过程500。下面呈现的所示过程的操作旨在是说明性的。在一些实施例中,过程500可以通过一个或多个未描述的其他操作和/或不通过本文讨论的一个或多个操作来完成。另外,如图5所示和下面所述的处理的操作的顺序不打算是限制性的。
在402中,处理设备100可以基于至少两个帧的至少一部分,确定与一个或多个对象相关联的一个或多个行为特征。操作402可由行为分析单元304执行。
如结合图2所示的操作204所述,可以从至少两个帧的至少一部分检测一个或多个对象。如本文所使用的,对象的行为特征可指与对象的运动或动作相关的特征。仅作为示例,对象的运动可以包括从一侧到另一侧的运动、向上跳跃、蹲下、旋转等,并且可以由各种参数来描述,这些参数包括距离、速度、方向、形状或尺寸的变化、强度、运动轨迹、加速度、运动轨迹幅度、运动频率,或语音信息等,或其任何组合。在一些实施例中,处理设备100可以从视频中得知对象或特定类型的对象周期性地执行的运动或动作。期间可以是一小时、一天、一周、一个月、一年等。
在一些实施例中,处理设备100可以基于采集至少两个帧的视觉传感器的先前校准模型来确定与对象相关联的行为特征。先前校准模型可以是在视觉传感器的先前校准(例如,上一次校准)中确定。例如,可以基于由训练后的自学习模型执行的最近一次运动检测中检测到的一个或多个对象来确定先前的校准模型。关于视觉传感器的先前校准模型(例如,如图2中所述的校准模型)的更多描述可以在本申请的其他地方找到。例如,参见图2及其相关描述。处理设备100可以确定对象在从中检测到对象的至少两个帧的至少一部分中的每个帧中的位置。对象在帧中的位置可以表示为应用于帧的第一坐标系(即,图像坐标系)中的坐标。至少两个帧可以应用相同的第一坐标系。处理设备100可以确定对象在第二坐标系(例如,地理坐标系、世界坐标系、传感器坐标系等)中的地理位置。处理设备100可以将与至少两个帧的至少一部分中的每一帧相对应的第一坐标系中的对象的坐标转换为第二坐标系中的坐标。处理设备100可以基于对象在第二坐标系中的地理位置来确定对象的行为特征。例如,处理设备100可以将与至少两个帧的至少一部分中的每个帧对应的对象在第二坐标系中的地理坐标进行连接确定运动轨迹。作为另一示例,地理位置传感器可以通过比较与至少两个连续视频帧相对应的对象的地理位置来确定运动幅度。
在一些实施例中,可以使用高精度的先前校准模型来获取对象的更精确的行为特征。在一些实施例中,可以在执行操作402之前,在基于由视觉传感器采集的图像数据执行的先前校准中确定或校准先前校准模型,如图2中的操作212所述。例如,可以基于从图像数据检测到的对象的特征(例如,尺寸)的估计值和对象的特征(例如,尺寸)的已知值来确定先前的校准模型。因此,对象的检测精度可以提高基于被检测对象确定和/或校准的先前校准模型的精度。将自学习模型与行为分析相结合,可以提高目标检测的精度,从而提高先前校准模型的精度。
在404中,处理设备100可以基于与一个或多个对象中的每一个对象相关联的一个或多个行为特征,确定与一个或多个对象中的每一个对象相关联的第二检测结果。操作404可由行为分析单元304执行。在一些实施例中,第二检测结果可以包括一个或多个第二候选感兴趣运动对象。在一些实施例中,第二检测结果可以包括一个或多个对象中的每一个对象是感兴趣运动对象的第二概率。感兴趣运动对象可以是指其行为异常或运动异常的对象。
在一些实施例中,如果对象的运动或动作与意外事故(如故意破坏、爆炸、建筑物倒塌、盗窃等)有关,则可将其确定为异常。或者,如果对象通常情况下不进行某一动作,则可将其确定为异常。在一些实施例中,行为分析单元304可以获取对象或特定类型的对象通常执行的运动或动作(也称为正常运动或正常动作)。响应于对象或特定类型的对象在预定时段之后不执行“正常”运动或动作的通知,或者执行与“正常”运动不同的运动(通常相反),行为分析单元304可以确定对象的行为异常。处理设备100还可以确定对象可以是第二检测结果中第二候选感兴趣运动对象。在一些实施例中,处理设备100可以将异常行为输出给待进一步验证的观察者。如果观察者确认行为异常,则处理设备100可以确定对象可以是第二检测结果中的第二候选感兴趣运动对象。如果观察者确认行为正常,则处理设备100可以确定对象不是第二检测结果中的第二候选感兴趣运动对象。例如,处理设备100可以从视频中得知监狱中的囚犯应该在每晚8点睡觉,因为他们总是在每晚8点之前睡觉。然而,行为分析单元304注意到,监狱里的囚犯在某一天晚上8点走动,直到晚上9点才睡觉。行为分析单元304可以确定囚犯的行为(关于睡眠时间)异常。处理设备100还可以确定囚犯是第二检测结果中的第二候选感兴趣运动对象。作为响应,行为分析单元304可以将囚犯的异常行为输出给要进一步验证的观察者(例如狱警)。如果观察者确认囚犯的行为异常,则行为分析单元304可以不改变其关于囚犯应该在晚上8点睡觉的知识,并且确定囚犯是第二候选感兴趣运动对象。如果观察者确认囚犯的行为是正常的,则行为分析单元304可以学习到在晚上8点或9点(或其间)睡觉是正常行为的新知识,并且确定囚犯不是第二候选感兴趣运动对象。在一些实施例中,行为分析单元304可以不需要观察者验证其异常行为的确定,但是可以在反复注意到该行为时自动确认该行为是正常的。例如,如果行为分析单元304反复注意到囚犯在晚上9点睡觉而没有受到狱警的惩罚,行为分析单元304可以学习到在晚上8点或9点(或其间)睡觉是正常行为的新知识,并且确定囚犯将来在晚上9点睡觉时的行为是正常的。在一些实施例中,当视频监控系统700连续监视环境时,行为分析单元304可以检测并得出“正常”运动。或者,可以从外部资源(例如,数据库)或观察者获取“正常”运动。
在406中,基于第一检测结果和第二检测结果,从一个或多个对象中确定目标感兴趣运动对象。操作406可以由目标对象确定单元306执行。
如结合图2所示的操作206所述,可以获取第一检测结果。例如,处理设备100可以将具有一个或多个标记对象的视频输入/传输到训练后的自学习模型中。训练后的自学习模型可以通过处理带有一个或多个标记对象的视频来输出第一检测结果。在一些实施例中,如操作208中所述,处理设备100可以从一个或多个第一候选感兴趣运动对象和一个或多个第二候选感兴趣运动对象中指定一个相同的候选感兴趣运动对象作为目标感兴趣运动对象。在一些实施例中,如操作208中所述,目标感兴趣运动对象确定单元310可以将具有超过第一阈值的第一概率和超过第二阈值的第二概率的运动对象指定为目标感兴趣运动对象。
该描述旨在说明,而不是限制本申请的范围。许多替代方案、修改和变化对于本领域技术人员来说是显而易见的。本文描述的示例性实施例的特征、结构、方法和其他特征可以以各种方式组合以获得附加和/或替代示例性实施例。然而,这些变化和修改并不脱离本申请的范围。在一些实施例中,过程400中的操作可被划分为多个操作。例如,过程200可以包括检测一个或多个对象的动作或运动的操作。在一些实施例中,过程200还可以包括存储在操作402-406期间生成的数据(例如,行为特征、第二检测结果、目标感兴趣运动对象等)。
应该注意的是,上述描述仅仅是为了说明的目的,并不是为了限制本申请的范围。对于本领域的普通技术人员,可以根据本申请的教导进行多种变化或修改。然而,这些变化和修改并不脱离本申请的范围。例如,一个或多个其它可选操作(例如,存储操作)可被添加到过程400中的其它地方。在存储操作中,处理设备100可以将与运动对象相关联的信息和/或数据(例如,行为特征)存储在本申请其他地方公开的存储设备(例如,存储设备780)中。作为另一实例,过程400可进一步包括获取视觉传感器的校准模型。
图5是示出根据本申请的一些实施例的示例性处理设备的示意图。如图所示,处理设备500(例如,处理设备740)可以包括获取模块502、对象检测模块504、训练模块506和存储模块508。在一些实施例中,获取模块502、对象检测模块504、训练模块506和存储模块508可以通过无线连接(例如,网络)、有线连接或其组合相互连接和/或通信。在一些实施例中,处理设备100和处理设备500可以是相同的处理设备。在一些实施例中,处理设备100和处理设备500可以是不同的处理设备。
获取模块502可以获取至少两个训练样本,每个训练样本包括由视觉传感器采集的历史视频。在一些实施例中,至少两个训练样本可由视觉传感器在历史时段(例如,一小时、一天、一周、一个月等)中采集。在一些实施例中,历史视频可由视觉传感器通过记录子时段(例如,小时、一天、一周、一个月等)的场景(例如,与室内和/或室外环境相关的场景)来采集。历史视频可以包括至少两个视频帧或图片。至少一些视频帧可以包括一个或多个对象。一个或多个对象可以是静态对象(例如,博物馆中的珍品)或运动对象(例如,无人工厂装配线上的产品、车辆、行人)或其任何组合。
对象检测模块504可以针对至少两个训练样本中的每一个从历史视频中检测一个或多个对象。在一些实施例中,对象检测模块504可以使用与对象检测模块104类似的用于对象检测的对象检测算法和/或训练后的机器学习模型从历史视频中检测一个或多个对象。在一些实施例中,可以通过边界框在历史视频的至少一部分视频帧中的每一个视频帧中标记检测到的一个或多个对象。边界框可以是指在一帧中包围检测到的对象的至少一部分的框。边界框可以是任何形状和/或尺寸。例如,边界框可以具有正方形、矩形、三角形、多边形、圆、椭圆、不规则形状等形状。在不同的帧中呈现的同一对象可以用相同的编号指定,也可以用相同颜色的边框标记。
训练模块506可基于所述至少两个训练样本训练自学习模型以获得所训练后的自学习模型。训练模块506可以基于至少两个训练样本来训练自学习模型(也称为自学模型),每个训练样本具有一个或多个标记的对象。具有一个或多个标记对象的至少两个训练样本中的每一个样本可以作为训练过程中的自学习模型的输入。训练模块506可以学习与从至少两个训练样本的第一部分中的每一个中检测到的一个或多个对象相关联的信息。训练模块506可以基于与一个或多个标记和/或检测到的对象相关联的信息来训练自学习模型。与检测到的对象相关联的信息可以包括检测到的对象被历史视频记录时的时间信息、与检测到的对象相关联的空间信息、检测到的对象被历史视频记录时的天气信息、或者检测到的运动对象的运动信息等。
存储模块508可以存储信息。这些信息可以包括程序、软件、算法、数据、文本、编号、图像和一些其他信息。例如,信息可以包括训练样本、训练后的机器学习模型、初始机器学习模型、训练算法等。
该描述旨在说明,而不是限制本申请的范围。许多替代方案、修改和变化对于本领域技术人员来说是显而易见的。本文描述的示例性实施例的特征、结构、方法和其他特征可以以各种方式组合以获得附加和/或替代示例性实施例。然而,这些变化和修改并不脱离本申请的范围。例如,可以省略存储模块508。作为另一示例,处理设备500可以包括处理设备100中描述的其他模块。
图6是根据本申请的一些实施例示出的用于训练自学习模型的示例性过程的流程图。在一些实施例中,过程600可由视频监控系统100执行。例如,过程600可以实现为存储在存储设备(例如,存储设备780、存储器820、存储器970)中的一组指令(例如,应用程序)。在一些实施例中,处理设备740(例如,计算设备800的处理器、移动设备900的CPU 940和/或图5所示的一个或多个模块)可以执行指令集,并且相应地指示任何处理器执行过程600。在一些实施例中,用于对象检测的自学习模型的训练可以由安装在视觉传感器中的处理器(例如,处理设备100)基于视觉传感器采集的图像数据来执行。还可以由安装在视觉传感器中的处理器(例如,处理设备100)执行训练后的自学习模型对对象检测的应用。在一些实施例中,用于对象检测的自学习模型的训练可以由与视觉传感器分离的服务器(例如,处理设备740)基于视觉传感器采集的图像数据来执行。在一些实施例中,可执行过程600的一个或多个操作以实现如结合图2所述的操作206的至少一部分。出于说明目的,下文描述用于训练视频监控系统的自学习模型的过程600的实现。
在602中,处理设备100(例如,获取模块502)可以获取至少两个训练样本,每个训练样本包括由视觉传感器采集的历史视频。在一些实施例中,至少两个训练样本可由视觉传感器在历史时段(例如,一小时、一天、一周、一个月等)中采集。在一些实施例中,历史视频可由视觉传感器通过记录子时段(例如,小时、一天、一周、一个月等)的场景(例如,与室内和/或室外环境相关的场景)来采集。历史视频可以包括至少两个视频帧或图片。至少一些视频帧可以包括一个或多个对象。一个或多个对象可以是静态对象(例如,博物馆中的珍品)或运动对象(例如,无人工厂装配线上的产品、车辆、行人)或其任何组合。至少两个帧中的每一帧可对应于用于记录采集帧被采集的时间的时间戳。在一些实施例中,由视觉传感器记录的场景可以包括背景和前景。在一些实施例中,背景可以表示一个或多个静态对象(例如,建筑物、路灯等),其位置可以不改变。前景可以表示一个或多个运动对象(例如,行人、车辆、动物等)。对于不同的条件,场景中出现的一个或多个对象可能不同。例如,当视觉传感器在雨天记录与室外环境相关的场景时,该场景可以表示雨滴。博物馆关闭后,当视觉传感器在晚上11:00后记录与博物馆有关的场景时,只有少数工作人员可以定期巡视博物馆并出现在场景中。如果场景与房屋入口相关,则具有一个或多个特定特征(例如,高度)的一个或多个运动对象在特定时间段进入和/或离开房屋可出现在场景中。如果场景与道路有关,则天空、天际线、树木、云等可能会出现在场景中。如果场景与道路有关,则天空、天际线、树木、云等可能会出现在场景中。
在一些实施例中,处理设备100可以实时地从视觉传感器获取至少两个训练样本。如本文所使用的,实时获取至少两个训练样本可以指的是当视觉传感器生成至少两个训练样本时(或之前),可以按照一个采集频率(也称为采集速度或采样频率)采集和/或采样至少两个训练样本并且将其发送到处理设备100。采集频率可以由操作员或根据系统100的默认设置来设置。在一些实施例中,处理设备100可以周期性地获取至少两个训练样本。例如,处理设备100可以在一定时间内,例如,每天、每小时等,从存储设备780、安装在视觉传感器中的存储设备等获取至少两个训练样本。
在604中,处理设备100(例如,对象检测模块504和/或行为分析单元304)可以针对至少两个训练样本中的每一个从历史视频中检测一个或多个对象。在一些实施例中,处理设备100可以使用如图2所述的用于对象检测的对象检测算法和/或训练后的机器学习模型从历史视频中检测一个或多个对象。在一些实施例中,可以通过边界框在历史视频的至少一部分视频帧中的每一个视频帧中标记从历史视频中检测到的一个或多个对象。边界框可以是指在一帧中包围检测到的对象的至少一部分的框。边界框可以是任何形状和/或尺寸。例如,边界框可以具有正方形、矩形、三角形、多边形、圆、椭圆、不规则形状等形状。在不同的帧中呈现的同一对象可以用相同的编号指定,也可以用相同颜色的边框标记。
在一些实施例中,处理设备100可以从历史视频检测到的一个或多个对象中确定一个或多个运动对象。在一些实施例中,处理设备100可以分析如图4所示的操作404中所描述的一个或多个对象中的每一个对象的行为特征。行为特征可以由各种参数来描述,这些参数包括距离、速度、方向、形状或尺寸的变化、强度和/或运动轨迹、加速度、轨迹、运动幅度、运动频率或语音信息等,或其任何组合。例如,如果处理设备100确定与两帧相对应的对象的位置的距离超过阈值,则处理设备100可以确定对象是运动对象。在一些实施例中,处理设备100可以基于所确定的参数来确定对象的估计类别。例如,如果对象的速度超过阈值(例如,40km/h),则处理设备100可以确定对象是汽车。作为另一示例,如果对象的速度在一个范围内(例如,1km/h-4km/h),则处理设备100可以确定对象是行人。在一些实施例中,处理设备100可以基于一个或多个对象中的每个对象的行为特征来进一步确定一个或多个对象中的每个对象是否是感兴趣运动对象。例如,处理设备100可以确定速度超过阈值(例如,100km/h)的对象是感兴趣的运动对象。
在一些实施例中,至少两个训练样本可以包括第一部分和第二部分。第一部分中的每个训练样本可以包括表示特定类别的对象(例如,车辆、人、动物等)的历史视频。第二部分中的每个训练样本可以包括不表示特定类别的对象的历史视频。例如,如果第一部分中的每个训练样本包括表示车辆的历史视频,则第二部分中的每个训练样本可以包括表示树、道路、路灯的历史视频等。至少两个训练样本中的每一个可以包括具有可以被标记的一个或多个对象的历史视频。
在606中,处理设备100(例如,训练模块506)可以基于至少两个训练样本训练自学习模型以获得训练后的自学习模型。
处理设备100可以基于至少两个训练样本来训练自学习模型(也称为自学模型),每个训练样本具有一个或多个标记的对象。具有一个或多个标记对象的至少两个训练样本中的每一个样本可以作为训练过程中的自学习模型的输入。处理设备100可以学习与从至少两个训练样本的第一部分中的每一个中检测到的一个或多个对象相关联的信息。处理设备100可以基于与一个或多个标记和/或检测到的对象相关联的信息来训练自学习模型。与检测到的对象相关联的信息可以包括当检测到的对象被历史视频记录时的时间信息、与检测到的对象相关联的空间信息、检测到的对象被历史视频记录时的天气信息、或者检测到的对象的信息等。与检测到的对象相关联的时间信息可以包括当检测到的对象出现在由视觉传感器记录的场景中时的时间点和/或时间段。与检测到的对象相关联的空间信息可以包括检测到的对象的位置(例如,地理位置)和/或检测到的对象和参考对象之间的位置关系。例如,空间信息可以包括被检测对象的运动轨迹,即,被检测对象的位置随时间的变化。作为又一示例,如果检测到的对象是静态对象,则检测到的对象的位置可以基本上保持不变。如果检测到的对象是运动对象,则检测到的对象的位置可以改变。与检测到的对象相关联的运动信息可以包括检测到的对象的运动的一个或多个参数(即,运动参数)。例如,运动信息可以包括被检测对象的速度、加速度、轨迹、运动幅度、方向、运动频率或其他信息。
在自学习模型的训练过程中,自学习模型可以从与从至少两个训练样本中的每一个检测到的一个或多个对象相关联的信息中学习和/或概括与历史视频记录的场景相关联的规则模式。所学习的和/或概括的规则模式可以形成与视觉传感器所记录的内容相关联的知识库。知识库也可以被称为场景侧写,用于描述视觉传感器所记录的场景。例如,规则模式可以包括对象的习惯、自然规律、对象的运动特征、对象或场景的固有属性等。对象的习惯可以包括穿着习惯、惯例等。对象的固有属性可以包括外观特征(例如,身高、头发颜色、尺寸、形状等)。场景的固有属性可以包括一个或多个参数或约束,也可以包括典型对象的尺寸和形状,例如人脸、人体等。自然规律可以包括自然现象,例如,人和汽车在地面上、夜晚通常比白天暗、视频中的人可以是垂直的(站着的)或水平的(躺着的)而汽车通常是水平的等。可以根据时间、天气、地点等来学习规则模式。例如,自学习模型可以学习在不同的时间、不同的地点、不同的天气等,视觉传感器捕捉到的场景中出现的不同对象的规则模式(例如,运动特征)。例如,可以将场景确定为一般结果,例如,室内、室外、上午、下午、下雨等,场景可以被确定为详细的结果,例如,上午9点到10点的健身房、下午3点到4点的图书馆等。在一些实施例中,与特定场景相关联的对象,例如,与室外场景相关联的电线杆、与健身房相关联的跑步机等,可以被学习为固有属性。
在一些实施例中,可以基于机器学习模型来构造自学习模型,例如,深度学习模型(例如,可变形部件模型(DPM)、过热网络、空间金字塔池化网络(SPPNet)、卷积神经网络(CNN)、基于候选区域的卷积神经网络(R-CNN)、全卷积网络(FCN)、YOLO(you only lookonce)网络等)、回归模型(例如,支持向量机)。在一些实施例中,自学习模型可包括使用自学习多实例学习算法、稀疏非负模式学习算法、指数族稀疏编码算法等。在一些实施例中,在自学习模型的训练过程中,处理设备100可以使用,例如稀疏编码优化算法来提取检测对象的图像特征。图像特征可以被描述为描述对象的图像特征的一个或多个基本向量。然后,处理设备100可以使用支持向量机(例如,SVM)基于基本向量训练自学习模型。最后,处理设备100可以使用训练后的分类器来预测要分类的对象的类别。
在一些实施例中,训练后的自学习模型包括与不同场景的参考知识相关的第一部分和与从训练后的自学习模型的训练过程中生成的学习知识相关的第二部分。参考知识可以包括与场景相关联的公共知识或固有知识。参考知识也可以被称为背景知识。参考知识可以描述世界的一般属性。世界的一般属性可以包括室外场景可以包括草地、道路、天空、车辆、电线杆等,室内场景可以包括天花板、墙壁、椅子、沙发等,世界的一般属性还可以包括典型对象的尺寸和形状,如人的脸、人的身体等,世界的一般属性可以进一步包括自然现象,例如,人和车都在地上、夜晚通常比白天暗、人可以在视频中垂直(站立)或水平(躺着)而车通常是水平的等。
在608中,处理设备100(例如,获取模块502)可以更新训练后的自学习模型的训练集。在610中,处理设备100(例如,训练模块506)可以使用更新的训练集更新训练后的自学习模型。在一些实施例中,视觉传感器可以连续地采集视频。在安装视觉传感器之后的短时间内,视觉传感器采集的至少两个训练样本可能不足以训练自学习模型,例如,至少两个训练样本的计数或数目小于阈值,以提高精度。换句话说,与视频采集的场景相关联的知识库可能包括较差的准确性。随着视觉传感器采集到的视频数据的增加,训练样本可能会增加,训练后的自学习模型的精度可能会提高。
在一些实施例中,处理设备100可以获取在训练后的自学习模型的最后一次训练之后的时间段内由视觉传感器采集的新视频数据。新视频数据可用于更新训练后的自学习模型的训练集。例如,处理设备100可以使用新视频数据来替换在训练后的自学习模型的最后一次训练中使用的训练数据。在一些实施例中,处理设备100可以实时更新训练后的自学习模型的训练集。例如,安装在视觉传感器中的处理设备100可以实时地获取由视觉传感器采集的新视频数据,并且使用新视频数据来连续地训练训练后的自学习模型。在一些实施例中,处理设备100可以周期性地更新训练后的自学习模型的训练集,例如,一天、一周、一个月等,处理设备100可以响应于接收到更新训练后的自学习模型的请求来更新训练后的自学习模型的训练集。
在一些实施例中,训练后的自学习模型可以重新提交给处理设备100。重新提交的自学习模型可由处理设备100改进以使其得到优化(例如,在使用训练后的自学习模型时具有更高的精度)。如本文所公开的,一个或多个分类器可以使用自学习模型来生成一个或多个对象的图像特征。训练后的自学习模型可以采集多个运动对象的采集图像特征,并且可以基于它们生成新模型。这里,可以基于处理设备100使用的原始自学习模型并基于原始自学习模型生成新的自学习模型来更新基于原始标记样本生成的原始模型。可以使用新的未标记样本和原始标记样本的组合来训练自学习模型。
在一些实施例中,在操作606中获取的训练后的自学习模型可用于确定和/或检测一个或多个感兴趣的运动对象。处理设备100可以生成与检测到的感兴趣的运动相对应的警报。处理设备100可以基于预测结果和/或警报来更新训练后的自学习模型的训练集。例如,处理设备100可以采集警报并将其输出给观察者(例如,户主)以进一步验证。如果观察者确认警报不正确,则处理设备100可以将警报确定为错误警报,并且当将来在视频中注意到类似的事情时过滤掉警报。在一些实施例中,处理设备100可以不需要观察者来验证警报,但是可以在引起警报的事物被反复注意时自动确认警报是错误警报。例如,如果处理设备100在每天日落时当树木的阴影穿过房屋的窗户时产生警报。处理设备100可以确定警报是错误警报(即使它不知道警报是由无害的树的阴影引起的,它也可以相信罪犯不会每天同时到家),并且当在视频中注意到类似的事情时过滤掉警报。处理设备100可以使用与错误警报相对应的视频来更新训练集。
图7是根据本申请的一些实施例示出的视频监控系统700的示意图。如图所示,视频监控系统700可以包括视觉传感器720、处理设备740、网络750、一个或多个终端760和存储设备780。在一些实施例中,视觉传感器720、处理设备740、存储设备780和/或终端760可以通过无线连接(例如,网络750)、有线连接或其组合相互连接和/或通信。视频监控系统700中的组件之间的连接可以是可变的。仅作为示例,如图7所示,视觉传感器720可以通过网络750连接到处理设备740。作为另一示例,视觉传感器720可以直接连接到处理设备740。作为另一示例,如图7所示,存储设备780可以通过网络750连接到处理设备740,或者直接连接到处理设备740。作为又一示例,终端760可以通过网络750连接到处理设备740,如图7所示,或者直接连接到处理设备740。
视觉传感器720可被设置以采集一个或多个图像数据(例如,视频、图像等)。在一些实施例中,视觉传感器720可以设置在室内或室外。例如,视觉传感器可位于家中、商场、街道、公园、地铁站、博物馆等处。在一些实施例中,视觉传感器720可从视频中检测一个或多个对象。例如,对象可以包括人、车辆、动物、物理对象等,或其组合。
在一些实施例中,视觉传感器720也可以称为摄像机。如本文所使用的,视觉传感器或摄像机可指用于视觉记录的设备。例如,摄像机可以包括彩色摄像机、数字摄像机、摄像机、便携式摄像机、PC(Personal Computer)摄像机、网络摄像机、红外(IR)摄像机、微光摄像机、热摄像机、闭路电视(CCTV)摄像机、摇摄、倾斜、变焦(PTZ)摄像机、视频感测设备等,或其组合。在一些实施例中,视觉传感器720可以安装在各种地方以监视感兴趣的区域。在一些实施例中,视觉传感器720可嵌入无人机(UAV)。在一些实施例中,视觉传感器720可以集成到终端760中。
处理设备740可以处理从视觉传感器720、存储设备780和/或终端760获取的数据和/或信息。处理设备740可以执行与处理设备100相同的一个或多个功能,如本申请的其他地方所述。例如,处理设备740可以根据由视觉传感器720采集的图像数据确定目标感兴趣运动对象。作为另一示例,处理设备740可以基于用于对象检测的自学习模型和/或从图像数据检测到的一个或多个对象的行为特征来确定目标感兴趣运动对象。用于对象检测的自学习模型可以由处理设备740或与处理设备740不同的另一处理设备从视觉传感器720采集的历史图像数据学习来获取。作为又一示例,处理设备740可以基于目标感兴趣运动对象或从图像数据检测到的任何其他对象来校准视觉传感器720。在一些实施例中,处理设备740可以响应于检测一个或多个运动对象而生成反馈。
用于对象检测的自学习模型可以基于例如由视觉传感器720采集的图像数据不时地(例如,周期性地或非周期性地)更新。在一些实施例中,可以在相同的处理设备(例如,安装在视觉传感器720上的处理器)上执行用于对象检测的自学习模型的确定和/或更新以及应用。在一些实施例中,用于对象检测的自学习模型的确定和/或更新可以在处理设备(例如,安装在视觉传感器720上的处理器)上执行,而用于对象检测的自学习模型的应用可以在不同的处理设备上执行。在一些实施例中,用于对象检测的自学习模型的确定和/或更新可以在与使用自学习模型进行对象检测的系统100不同的系统的处理设备上执行。例如,可以在供应商的第一系统上执行用于对象检测的自学习模型的确定和/或更新,该供应商提供和/或维护这样的机器学习模型和/或可以访问用于确定和/或更新用于对象检测的自学习模型的训练样本,而利用自学习模型进行对象检测可以在供应商的客户机的第二系统上执行。在一些实施例中,可以响应于对象检测的请求在线执行用于对象检测的自学习模型的确定和/或更新。在一些实施例中,可以离线执行用于对象检测的自学习模型的确定和/或更新。在一些实施例中,处理设备740可以是单个服务器或服务器组。服务器组可以是集中式的,也可以是分布式的。在一些实施例中,处理设备740可以是本地的或远程的。例如,处理设备740可以经由网络750访问来自监视设备120、存储设备780和/或终端760的信息和/或数据。作为另一示例,处理设备740可以直接连接到视觉传感器720、终端760和/或存储设备780以访问信息和/或数据。在一些实施例中,处理设备740可以在云平台上实现。例如,云平台可以包括私有云、公共云、混合云、社区云、分布式云、云间云、多层云等,或者其组合。在一些实施例中,处理设备740可以由具有如图8所述的一个或多个组件的计算设备800来实现。
存储设备780可以存储数据、指令和/或任何其他信息。在一些实施例中,存储设备780可以存储从处理设备740和终端760获取的数据。在一些实施例中,存储设备780可以存储数据和/或指令,处理设备740可以执行或使用这些数据和/或指令来执行本申请中描述的示例性方法。在一些实施例中,存储设备780可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等,或其任何组合。示例性大容量存储器可包括磁盘、光盘、固态磁盘等。示例性可移动存储器可包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写存储器可包括随机存取存储器(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDR-SDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,存储设备780可以在云平台上实现,如本申请其他地方所述。
在一些实施例中,存储设备780可以连接到网络750以与视频监控系统700中的一个或多个其他组件(例如,处理设备740、终端760等)通信。视频监控系统700中的一个或多个组件可以经由网络750访问存储设备780中存储的数据或指令。在一些实施例中,存储设备780可以是处理设备740的一部分。
终端760可以连接到视觉传感器720、处理设备740和/或存储设备780和/或与之通信。例如,终端760可以从处理设备740获取反馈。作为另一示例,反馈可包括指示存在运动对象的通知(例如,警报)。响应于经由终端760接收到通知,用户可以确定运动对象是否是感兴趣运动对象,例如是否具有关于运动对象的行为的异常。终端760可以将用户的确定发送到处理设备740。如果用户确认通知是正确的,则处理设备740可以在其将来注意到图像数据中的相同事物时生成类似的通知。如果用户确认通知是不正确的,则处理设备740可以将该通知确定为虚假通知,并且当将来在视频中注意到类似的事情时过滤掉该通知。处理设备740还可以通过从错误通知中学习来更新用于对象检测的自学习模型,并且学习运动对象不是感兴趣运动对象。在一些实施例中,终端760可包括移动设备、平板计算机、膝上型计算机等或其任何组合。例如,移动设备可包括移动电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备、膝上型计算机、平板计算机、台式机等,或其任何组合。在一些实施例中,终端760可包括输入设备、输出设备等。输入设备可包括可通过键盘、触摸屏(例如,具有触觉或触觉反馈)、语音输入、眼球跟踪输入、大脑监控系统输入的字母数字键和其他键,或任何其他类似的输入机制。通过输入设备接收的输入信息可以经由例如总线被发送到处理设备740以进行进一步处理。其他类型的输入设备可包括光标控制设备,例如鼠标、轨迹球或光标方向键等。输出设备可包括显示器、扬声器、打印机等,或其组合。在一些实施例中,终端760可以是处理设备740的一部分。
网络750可包括可促进视频监控系统700的信息和/或数据交换的任何适当网络。在一些实施例中,视频监控系统700的一个或多个组件(例如,视觉传感器720、处理设备740、存储设备780、终端760等)可经由网络750与视频监控系统700的一个或多个其他组件通信信息和/或数据。例如,处理设备740可以经由网络750从监视设备120获取图像数据。作为另一示例,处理设备740可以经由网络750从终端760获取用户指令。网络750可以是和/或包括公用网络(例如,因特网)、专用网络(例如,局域网(LAN)、广域网(WAN))等)、有线网络(例如,以太网)、无线网络(例如,802.11网络、Wi-Fi网络等)、蜂窝网络(例如,长期演进(LTE)网络),帧中继网络、虚拟专用网(VPN)、卫星网络、电话网络、路由器、集线器、交换机、服务器计算机和/或其任何组合。例如,网络750可以包括电缆网络、有线网络、光纤网络、电信网络、内部网、无线局域网(WLAN)、城域网(MAN)、公共电话交换网(PSTN)、蓝牙网络,网络、近场通信(NFC)网络等,或其任何组合。在一些实施例中,网络750可以包括一个或多个网络接入点。例如,网络750可以包括有线和/或无线网络接入点,例如基站和/或因特网交换点,通过这些接入点,视频监控系统700的一个或多个组件可以连接到网络750以交换数据和/或信息。
视频监控系统700的上述描述旨在是说明性的,而不是限制本申请的范围。许多替代方案、修改和变化对于本领域技术人员来说是显而易见的。本文描述的示例性实施例的特征、结构、方法和其他特征可以以各种方式组合以获取附加和/或替代示例性实施例。例如,存储设备780可以是包括诸如公共云、私有云、社区和混合云等云计算平台的数据存储器。然而,这些变化和修改不脱离本申请的范围。
图8是根据本申请的一些实施例示出的可以在其上实现处理引擎的计算设备800的示例性硬件和/或软件组件的示意图。
计算设备800可用于实现如本文所述的视频监控系统700的任何组件。例如,处理设备740和/或终端750可分别通过其硬件、软件程序、固件或其组合在计算设备800上实现。尽管仅示出了一个这样的计算设备,但是为了方便起见,可以在多个类似平台上以分布式方式实现与本文所描述的视频监控系统700相关的计算机功能,以分配处理负载。如图8所示,计算设备800可以包括处理器810、存储器820、输入/输出(I/O)830和通信端口840。
处理器810可根据本文所述的技术执行计算机指令(例如,程序代码)并执行处理设备740的功能。计算机指令可以包括例如例程、程序、对象、组件、数据结构、过程、模块和功能,它们执行本文所描述的特定功能。例如,处理器810可以处理从视觉传感器720、终端760、存储设备780和/或视频监控系统700的任何其他组件获取的图像数据。在一些实施例中,处理器810可以包括一个或多个硬件处理器,例如微控制器、微处理器、精简指令集计算机(RISC)、专用集成电路(ASICs)、专用指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU),物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级RISC机器(ARM)、可编程逻辑器件(PLD)、能够执行一个或多个功能的任何电路或处理器等,或其任何组合。
仅用于说明,在计算设备800中仅描述了一个处理器。然而,应当注意,本申请中的计算设备800还可以包括多个处理器,因此,如本申请中所描述的由一个处理器执行的操作和/或方法操作也可以由多个处理器共同或单独执行。例如,如果在本申请中,计算设备800的处理器同时执行操作A和操作B,则应当理解,操作A和操作B也可以由计算设备800中的两个或多个不同的处理器联合地或分别地执行(例如,第一处理器执行操作A,第二处理器执行操作B,或者第一和第二处理器联合执行操作A和B)。
存储设备780可以存储从视觉传感器720、终端760、存储设备780和/或视频监控系统700的任何其他组件获取的数据/信息。在一些实施例中,存储设备780可包括大容量存储设备、可移动存储设备、易失性读写存储器、只读存储器(ROM)等,或其任何组合。在一些实施例中,存储设备780可以存储一个或多个程序和/或指令以执行本申请中描述的示例性方法。例如,存储设备780可以存储用于处理设备740执行的程序以生成自学习模型。
I/O 830可以输入和/或输出信号、数据、信息等。在一些实施例中,I/O 830可以启用与处理设备740的用户交互。在一些实施例中,I/O 830可以包括输入设备和输出设备。输入设备可包括可经由键盘、触摸屏(例如,具有触觉或触觉反馈)、语音输入、眼睛跟踪输入、大脑监控系统或任何其它可比较的输入机制输入的字母数字键和其它键。通过输入设备接收的输入信息可以经由例如总线发送到另一组件(例如,处理设备740)以进行进一步处理。其他类型的输入设备可以包括光标控制设备,例如鼠标、轨迹球或光标方向键等。输出设备可以包括显示器(例如,液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲屏、电视设备、阴极射线管(CRT),触摸屏)、扬声器、打印机等,或其组合。
通信端口840可以连接到网络(例如,网络750)以促进数据通信。通信端口840可以在处理设备740和视觉传感器720、终端760和/或存储设备780之间建立连接。该连接可以是有线连接、无线连接、能够实现数据传输和/或接收的任何其他通信连接和/或这些连接的任何组合。有线连接可包括例如电缆、光缆、电话线等,或其任何组合。无线连接可以包括例如蓝牙连接、/>链接、一个/>链路、WLAN链路、m链路、移动网络链路(例如3G、4G、5G)等,或其组合。在一些实施例中,通信端口840可以是和/或包括标准化的通信端口,例如RS232、RS485等。在一些实施例中,通信端口840可以是专门设计的通信端口。例如,可以根据数字成像和医学通信(DICOM)协议来设计通信端口840。
图9是根据本申请的一些实施例示出的可以在其上实现终端的移动设备900的示例性硬件和/或软件组件的示意图。
在一些实施例中,可以在移动设备900上实现视频监控系统700的一个或多个组件(例如,终端760和/或处理设备740)。
如图9所示,移动设备900可以包括通信平台910、显示器920、图形处理单元(GPU)930、中央处理单元(CPU)940、I/O 950、内存960和存储器970。在一些实施例中,包括但不限于系统总线或控制器(未示出)的任何其他合适组件也可以包括在移动设备900中。在一些实施例中,移动操作系统980(例如,安卓/>Windows电话/>)并且可以将一个或多个应用990从存储器970加载到内存960中,以便由CPU 940执行。应用990可以包括浏览器或任何其他合适的移动应用,用于从处理设备740接收和呈现与图像处理有关的信息或其他信息。与信息流的用户交互可经由I/O 950实现,并经由网络750提供给处理设备740和/或视频监控系统700的其他组件。
示例一
智能运动检测系统可以在博物馆中实现。博物馆可包括位于博物馆特定位置的多个藏品。在智能探测系统中,可将多个藏品指定为相对静止对象。智能检测系统可以检测博物馆中藏品的运动和/或其他对象(如工作人员、参观者)的运动。例如,在晚上11:00,博物馆可能会关闭,只有少数工作人员(或称为观察员)可以定期巡查藏品。当智能运动检测系统检测到有人进入博物馆时,智能运动检测系统会产生报警。智能运动检测系统可确定被检测到的人是否为博物馆工作人员。例如,智能运动检测系统可以通过识别被检测到的人的面部和/或工作服来确定被检测到的人是否是博物馆的工作人员。在一些实施例中,被检测到的人可以是博物馆的新职员并且不穿工作服,感兴趣运动对象确定模块106可以进一步分析被检测到的人的运动。例如,感兴趣运动对象确定模块106可以检测到被检测的人正在移动藏品。响应于确定一个或多个藏品被检测到的人移动,通信模块可以将警报发送给博物馆的观察者。作为另一示例,感兴趣运动对象确定模块106可以将被检测到的人的运动与工作人员的正常运动进行比较,以确定他的运动是否异常或者他是否只是像其他工作人员一样巡逻。
示例二
该智能运动检测系统可在医院中实施以用于患者监视和警报。以癫痫患者(或癫痫发作的人)为例,智能运动检测系统可以捕获癫痫患者的视频,在捕获的视频中分析癫痫患者的运动,并在检测到异常运动时立即向癫痫患者的外部医生或观察者发送报警。例如,当智能运动检测系统检测到癫痫患者执行异常运动时,警报生成模块可以生成警报。反馈模块108可以进一步确定异常运动是与癫痫发作有关还是与正常活动(例如,跳舞、跳跃)有关。响应于确定异常运动与癫痫发作有关,智能运动检测系统可以确定患者有癫痫,并且通信模块可以向外部医生或观察者发送警报。在医生不在或者癫痫患者不在医院的情况下,通信模块可以为癫痫患者拨紧急号码。相应于确定异常运动与癫痫发作不相关,智能运动检测系统可以确定警报是错误警报,并且通信模块可以不将警报发送给医生。
示例三
智能运动检测系统可以在无人工厂中实现,用于监控装配线。无人工厂通常包括多条每天24小时生产的装配线。在一些实施例中,当其中一条装配线突然故障时,无人工厂的生产可能受到影响,并且可能需要手动干预。智能运动检测系统可以向工厂的监视器发出警报。例如,装配线上可能有多个产品正在向装配线上的一个或多个位置传送,智能运动检测系统可以连续检测产品的运动。当其中一条装配线发生故障时,产品可能会从装配线上脱落或异常移动。感兴趣运动对象确定模块106可以检测产品的异常运动,并且警报生成模块可以生成警报。例如,反馈模块108可以通过确定脱落位置是否实际是装配线上的期望位置来确定警报是否是错误警报。响应于确定脱落位置是装配线上的期望位置,反馈模块108可以将警报指定为错误警报并过滤掉警报。响应于确定脱落位置不是装配线上的任何期望位置,反馈模块108可以将警报指定为真实警报,并且通信模块可以将警报发送到工厂的监视器。
示例四
可在车辆上实施智能运动检测系统,以监测车辆本身和/或周围交通的运动。例如,智能运动检测系统可以捕获车辆的视频,并且可以基于捕获的视频确定车辆的运动。车辆的运动可以包括速度、方向和/或车辆的运动轨迹。仅仅作为示例,如果车辆速度超过限速,车辆在不允许的情况下向左或向右转弯,和/或车辆以“s”形移动(这可能表示驾驶员可能喝醉或疲劳),则可以确定车辆运动异常。在一些实施例中,如果周围车辆转向车辆当前行驶的车道,和/或前面的车辆突然停止,则可以确定周围交通异常。当智能运动检测系统检测到异常运动时,智能运动检测系统可产生警报以通知车辆驾驶员。
为了实现本申请中描述的各种模块、单元和功能,可以将计算机硬件平台用作本文所描述的一个或多个元件的硬件平台。具有用户接口元件的计算机可用于实现个人计算机(PC)或任何其它类型的工作站或终端设备。如果适当地编程,计算机也可以充当服务器。
在这样描述了基本概念之后,对于本领域的技术人员来说,在阅读了本详细公开之后,可以相当清楚地看到,前述详细公开仅旨在以示例的方式呈现,而不是限制性的。可能发生各种改变、改进和修改,并且这些改变、改进和修改是针对本领域技术人员的,尽管本文未明确说明。这些改变、改进和修改意在由本申请提出,并且在本申请的示例性实施例的精神和范围内。
同时,本申请使用了特定词语描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特征。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行,可以完全由软件(包括固件、常驻软件、微码等)执行,也可以由硬件和软件组合执行。以上硬件或软件均可被称为“模块”、“单元”、“组件”、“设备”或“系统”。此外,本申请的各方面可以采用计算机程序产品的形式,该计算机程序产品体现在具有计算机可读程序代码包含在其上的一个或以上非暂时性计算机可读介质中。
计算机可读信号介质可能包含一个内含有计算机可读程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等,或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频识别等,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或以上程序语言编写,包括面向主体编程语言(如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等)、常规程序化编程语言(如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP)、动态编程语言(如Python、Ruby和Groovy)或其他编程语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN)、或连接至外部计算机(例如通过因特网)、或在云计算环境中、或作为服务使用(如软件即服务(SaaS))。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述申请中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于申请的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为要求保护的主题所需要的特征比每个权利要求中所明确记载的特征多。相反,要求保护的主题的特征要少于上述所披露的单个实施例的全部特征。

Claims (22)

1.一个系统,包括:
一个存储设备,所述存储设备存储一组指令;以及
至少一个处理器,所述至少一个处理器被配置为与所述存储设备通信,其中,当执行所述一组指令时,所述至少一个处理器用于引起所述系统执行以下操作:
获取由视觉传感器采集的视频,所述视频包括至少两个帧;
在所述至少两个帧的至少一部分中检测所述视频中的一个或多个对象;
使用训练后的自学习模型确定与所述一个或多个对象相关联的第一检测结果,其中,所述第一检测结果包括感兴趣运动对象检测结果;所述训练后的自学习模型包括知识库,所述知识库包括根据运动对象相关联的信息学习得到的与历史图像数据中记录的场景相关联的规则模式,所述训练后的自学习模型通过确定对象违反或不同于所述规则模式来确定对象的所述第一检测结果;以及
至少部分地基于所述第一检测结果,从所述一个或多个对象中选择目标感兴趣运动对象,其中,所述训练后的自学习模型基于所述视觉传感器采集的至少两个训练样本来提供。
2.根据权利要求1所述的系统,其特征在于,为了在所述至少两个帧的至少一部分中检测所述视频中的一个或多个对象,所述至少一个处理器用于引起所述系统执行以下操作:
使用对象检测模型检测所述视频中所述的一个或多个对象。
3.根据权利要求2所述的系统,其特征在于,所述对象检测模型基于深度学习模型构建。
4.如权利要求1至3中任一项所述的系统,其中,为了至少部分地基于所述第一检测结果,从所述一个或多个对象中选择目标感兴趣运动对象,所述至少一个处理器用于引起所述系统执行以下操作:
基于所述至少两个帧的至少一部分,确定与所述一个或多个对象相关联的一个或多个行为特征;
基于与所述一个或多个对象中的每一个对象相关联的一个或多个行为特征,确定与所述一个或多个对象中的每一个对象相关联的第二检测结果;以及
基于所述第一检测结果和所述第二检测结果,从所述一个或多个对象中确定所述目标感兴趣运动对象。
5.根据权利要求4所述的系统,其中,为了基于所述至少两个帧的至少一部分,确定与所述一个或多个对象相关联的一个或多个行为特征,所述至少一个处理器用于引起所述系统执行以下操作:
基于所述至少两个帧的至少一部分和在上一次校准中确定的视觉传感器的先前校准模型,确定所述一个或多个行为特征。
6.根据权利要求4或5所述的系统,其特征在于,所述一个或多个对象的所述一个或多个行为特征包括速度、加速度、轨迹、运动幅度、方向、运动频率或语音信息中的至少一个。
7.根据权利要求1至6中任一权利要求所述的系统,其特征在于,所述训练后的自学习模型由一个过程生成,所述过程包括:
获取至少两个训练样本,所述至少两个训练样本中的每个训练样本包括由所述视觉传感器采集的历史视频;
从所述至少两个训练样本中的每一个训练样本检测所述历史视频中的一个或多个运动对象;以及
使用与检测到的一个或多个运动对象相关联的信息训练自学习模型以获得所述训练后的自学习模型。
8.根据权利要求7所述的系统,其特征在于,与所述检测到的一个或多个运动对象相关联的信息包括以下中的至少一个:
所述检测到的一个或多个运动对象被所述历史视频记录时的时间信息;
与所述检测到的一个或多个运动对象相关的空间信息;
所述检测到的一个或多个运动对象被所述历史视频记录时的天气信息;或者
所述检测到的一个或多个运动对象的运动信息。
9.根据权利要求1至8中任一权利要求所述的系统,其特征在于,所述训练后的自学习模型包括第一部分和第二部分,所述第一部分与不同场景的参考知识相关,所述第二部分与从所述训练后的自学习模型的训练过程中生成的经学习的知识相关。
10.根据权利要求9所述的系统,其特征在于,所述不同场景的参考知识包括出现在所述不同场景中的每个场景中的一个或多个对象的特征。
11.如权利要求4至10中任一权利要求所述的系统,其特征在于,所述第一检测结果包括一个或多个第一候选感兴趣运动对象,第二检测结果包括一个或多个第二候选感兴趣运动对象,以及为了基于所述第一检测结果和所述第二检测结果,从所述一个或多个对象中确定所述目标感兴趣运动对象,所述至少一个处理器用于引起所述系统执行以下操作:
从所述一个或多个第一候选感兴趣运动对象和所述一个或多个第二候选感兴趣运动对象中指定一个相同的候选感兴趣运动对象作为所述目标感兴趣运动对象。
12.根据权利要求4至10中任一权利要求所述的系统,其特征在于,所述第一检测结果包括所述一个或多个对象中的每一个对象是感兴趣运动对象的第一概率,第二检测结果包括所述一个或多个对象中的每一个对象是感兴趣运动对象的第二概率,并且为了基于所述第一检测结果和所述第二检测结果,从所述一个或多个对象中确定所述目标感兴趣运动对象,所述至少一个处理器用于引起所述系统执行以下操作:
指定具有超过第一阈值的第一概率和超过第二阈值的第二概率的运动对象作为所述目标感兴趣运动对象。
13.根据权利要求1至12任一项所述的系统,其特征在于,所述至少一个处理器用于引起所述系统执行其他操作,包括:
响应于从所述视频中检测到所述目标感兴趣运动对象,生成与所述目标感兴趣运动对象的检测相关的反馈;以及
将与所述目标感兴趣运动对象的检测相关的反馈发送到终端。
14.根据权利要求4至12任一项所述的系统,其特征在于,所述至少一个处理器用于引起所述系统执行其他操作,包括:
响应于对所述视频中的一个或多个对象的至少一部分中的每一个对象的检测,生成候选反馈,其中,每个候选反馈与所述一个或多个对象中的一个对象的检测有关;
基于所述第一检测结果和第二检测结果中的至少一个,从所述候选反馈中确定目标反馈;以及
将所述目标反馈发送到终端。
15.根据权利要求13或14所述的系统,其特征在于,所述反馈或所述目标反馈包括指示存在运动对象的通知。
16.根据权利要求1至15任一项所述的系统,其特征在于,至少一个处理器进一步用于引起系统执行其他操作,包括:
基于所述目标感兴趣运动对象,确定所述视觉传感器的校准模型,所述校准模型描述所述视觉传感器的二维(2D)坐标系和三维(3D)坐标系之间的转换关系。
17.根据权利要求16所述的系统,其特征在于,为了基于所述目标感兴趣运动对象来确定所述视觉传感器的校准模型,所述至少一个处理器还用于引起所述系统执行所述其他操作,所述其他操作包括:
基于所述至少两个帧的至少一部分,确定由所述2D坐标系表示的所述目标感兴趣运动对象中的至少一个的特征的估计值;以及
基于所述估计值和由3D坐标系表示的所述目标感兴趣运动对象的至少一个的特征的参考值,确定所述校准模型。
18.根据权利要求17所述的系统,其特征在于,所述目标感兴趣运动对象中的至少一个的特征包括所述目标感兴趣运动对象中的至少一个的至少一部分的物理尺寸。
19.根据权利要求1至18任一项所述的系统,其特征在于,其中所述目标感兴趣运动对象包括运动异常的人、运动异常的车辆或运动异常的动物中的至少一个。
20.一种在计算设备上实现的方法,其具有用于异常场景检测的至少一个处理器和至少一个计算机可读存储介质,该方法包括:
获取由视觉传感器采集的视频,所述视频包括至少两个帧;
在所述至少两个帧的至少一部分中检测所述视频中的一个或多个对象;
使用训练后的自学习模型确定与所述一个或多个对象相关联的第一检测结果,其中,所述第一检测结果包括感兴趣运动对象检测结果;所述训练后的自学习模型包括知识库,所述知识库包括根据运动对象相关联的信息学习得到的与历史图像数据中记录的场景相关联的规则模式,所述训练后的自学习模型通过确定对象违反或不同于所述规则模式来确定对象的所述第一检测结果;以及
至少部分地基于所述第一检测结果,从所述一个或多个对象中选择目标感兴趣运动对象,其中所述训练后的自学习模型基于所述视觉传感器采集的至少两个训练样本来提供。
21.一种非暂时性计算机可读介质,包括:
由至少一个处理器执行的指令,使得至少一个处理器实现一种方法,包括:
获取由视觉传感器采集的视频,所述视频包括至少两个帧;
在所述至少两个帧的至少一部分中检测所述视频中的一个或多个对象;
使用训练后的自学习模型确定与所述一个或多个对象相关联的第一检测结果,其中,所述第一检测结果包括感兴趣运动对象检测结果;所述训练后的自学习模型包括知识库,所述知识库包括根据运动对象相关联的信息学习得到的与历史图像数据中记录的场景相关联的规则模式,所述训练后的自学习模型通过确定对象违反或不同于所述规则模式来确定对象的所述第一检测结果;以及
至少部分地基于所述第一检测结果,从所述一个或多个对象中选择目标感兴趣运动对象,其中所述训练后的自学习模型基于所述视觉传感器采集的至少两个训练样本来提供。
22.一种设备,包括:
一个或多个视觉传感器,每个视觉传感器包括:
一个存储设备,所述存储设备存储一组指令;以及
至少一个处理器,所述至少一个处理器被配置为与所述存储设备通信,其中,当执行所述一组指令时,所述至少一个处理器用于引起系统执行以下操作:
获取由所述一个或多个视觉传感器中的一个视觉传感器采集的视频,所述视频包括至少两个帧;
基于所述至少两个帧的至少一部分,从所述视频中检测一个或多个对象;
基于训练后的自学习模型,确定与一个或多个对象相关联的第一检测结果,其中,所述第一检测结果包括感兴趣运动对象检测结果;所述训练后的自学习模型包括知识库,所述知识库包括根据运动对象相关联的信息学习得到的与历史图像数据中记录的场景相关联的规则模式,所述训练后的自学习模型通过确定对象违反或不同于所述规则模式来确定对象的所述第一检测结果;以及
至少部分地基于所述第一检测结果,从所述一个或多个对象中选择目标感兴趣运动对象。
CN201980070424.6A 2018-10-25 2019-10-25 智能视频监控系统和方法 Active CN112955900B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862750795P 2018-10-25 2018-10-25
US201862750797P 2018-10-25 2018-10-25
US62/750,797 2018-10-25
US62/750,795 2018-10-25
PCT/CN2019/113176 WO2020083355A1 (en) 2018-10-25 2019-10-25 Systems and methods for intelligent video surveillance

Publications (2)

Publication Number Publication Date
CN112955900A CN112955900A (zh) 2021-06-11
CN112955900B true CN112955900B (zh) 2023-08-04

Family

ID=70330939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980070424.6A Active CN112955900B (zh) 2018-10-25 2019-10-25 智能视频监控系统和方法

Country Status (2)

Country Link
CN (1) CN112955900B (zh)
WO (1) WO2020083355A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022055229A (ja) 2020-09-28 2022-04-07 横河電機株式会社 監視用デバイス、学習装置、方法およびプログラム
US11538247B2 (en) 2020-09-29 2022-12-27 Wipro Limited Method and system for manufacturing operations workflow monitoring using structural similarity index based activity detection
CN112287998A (zh) * 2020-10-27 2021-01-29 佛山市南海区广工大数控装备协同创新研究院 一种低光照条件下进行目标检测的方法
CN112633057B (zh) * 2020-11-04 2024-01-30 北方工业大学 一种公交车内异常行为智能监控方法
CN112686090B (zh) * 2020-11-04 2024-02-06 北方工业大学 一种公交车内异常行为智能监控系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101622652A (zh) * 2007-02-08 2010-01-06 行为识别系统公司 行为识别系统
CN105760849A (zh) * 2016-03-09 2016-07-13 北京工业大学 基于视频的目标对象行为数据获取方法及装置
CN108062349A (zh) * 2017-10-31 2018-05-22 深圳大学 基于视频结构化数据及深度学习的视频监控方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080260212A1 (en) * 2007-01-12 2008-10-23 Moskal Michael D System for indicating deceit and verity
US20130266925A1 (en) * 2012-01-30 2013-10-10 Arizona Board Of Regents On Behalf Of The University Of Arizona Embedded Conversational Agent-Based Kiosk for Automated Interviewing
EP2963593A1 (en) * 2014-07-02 2016-01-06 Sara Penco Method for the classification, cataloging and tracking of valuable assets, in particular works of art world
CN108447076B (zh) * 2018-03-16 2021-04-06 清华大学 基于深度增强学习的多目标跟踪方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101622652A (zh) * 2007-02-08 2010-01-06 行为识别系统公司 行为识别系统
CN105760849A (zh) * 2016-03-09 2016-07-13 北京工业大学 基于视频的目标对象行为数据获取方法及装置
CN108062349A (zh) * 2017-10-31 2018-05-22 深圳大学 基于视频结构化数据及深度学习的视频监控方法和系统

Also Published As

Publication number Publication date
US20210241468A1 (en) 2021-08-05
WO2020083355A1 (en) 2020-04-30
CN112955900A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN112955900B (zh) 智能视频监控系统和方法
US11443555B2 (en) Scenario recreation through object detection and 3D visualization in a multi-sensor environment
US10708548B2 (en) Systems and methods for video analysis rules based on map data
US20210191979A1 (en) Distributed video storage and search with edge computing
US20160042621A1 (en) Video Motion Detection Method and Alert Management
US11295140B2 (en) Methods and systems for determining object activity within a region of interest
EP3343443B1 (en) Object detection for video camera self-calibration
US20220319183A1 (en) System for tracking and visualizing objects and a method therefor
Pavlidis et al. Urban surveillance systems: from the laboratory to the commercial world
US10366509B2 (en) Setting different background model sensitivities by user defined regions and background filters
JP2004537790A (ja) 移動対象物評価システムおよび方法
CN108932273B (zh) 图片筛选方法及装置
US11113841B1 (en) Self-learning three-dimensional boundaries from images
CN104159067A (zh) 基于3dgis与实景视频相结合的智能监控系统和方法
KR102333143B1 (ko) 무인 계수 서비스 제공 시스템
Giyenko et al. Application of convolutional neural networks for visibility estimation of CCTV images
US20220044558A1 (en) Method and device for generating a digital representation of traffic on a road
US11126189B2 (en) Active off-vehicle notification to autonomous-driving vehicle
US11210529B2 (en) Automated surveillance system and method therefor
EP3940666A1 (en) Digital reconstruction method, apparatus, and system for traffic road
US12008794B2 (en) Systems and methods for intelligent video surveillance
CN203968263U (zh) 基于3dgis与实景视频相结合的智能监控系统
CA3236887A1 (en) Identifying regions of interest in an imaging field of view
Morris et al. Contextual activity visualization from long-term video observations
Shukla et al. Real-Time Parking Space Detection and Management with Artificial Intelligence and Deep Learning System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant