CN111684460B - 检测人类对象的姿态的系统和方法 - Google Patents
检测人类对象的姿态的系统和方法 Download PDFInfo
- Publication number
- CN111684460B CN111684460B CN201980011325.0A CN201980011325A CN111684460B CN 111684460 B CN111684460 B CN 111684460B CN 201980011325 A CN201980011325 A CN 201980011325A CN 111684460 B CN111684460 B CN 111684460B
- Authority
- CN
- China
- Prior art keywords
- human
- pose
- determining
- head
- frame
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- 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
- 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
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
一种用于运动检测的系统可以包括:至少一个包括一组指令的存储介质;以及至少一个与所述至少一个存储介质通信的处理器。当执行一组指令时,至少一个处理器可以被配置为使系统从至少一个摄像机获取与空间的视频场景有关的数据;检测视频场景中的对象;将对象分为人类对象或非人类对象;当对象被分为人类对象时,追踪人类对象的运动;并根据人类对象的运动确定视频场景中人类对象的姿态。
Description
交叉引用
本申请要求2018年4月27日提交的美国临时专利申请No.62/664,064的优先权,其全部内容通过引用合并于此。
技术领域
本申请通常涉及监控系统中的运动检测,并且更具体地,涉及用于检测视频中人类对象姿态的系统和方法。
背景技术
一些视频监控系统可以自动检测场景中感兴趣的事件和潜在威胁。例如,这样的系统可以检测和追踪进入或离开区域(例如,禁区,商店,办公楼)的对象。在其他应用中,还需要一些更细的粒度,例如,对人类对象的姿态或人类对象的姿态变化的检测。例如,在配备有远程教育系统的教室中,检测教室中学生和/或老师的姿态对于监控教室很重要。因此,期望提供一种基于视频监控来检测人类对象的姿态(或人类对象的姿态变化)的系统和方法。
发明内容
根据本申请的一方面,提供了一种运动检测的系统。该系统可以包括一个或以上存储介质和一个或以上处理器。所述一个或以上存储介质可以包含一组指令。所述一个或以上处理器用于与所述一个或以上存储介质通信。当执行所述指令时,至少一个处理器可以被配置为使系统从至少一个摄像机获取与空间的视频场景有关的数据;检测视频场景中的对象;将对象分为人类对象或非人类对象;当对象被分为人类对象时,追踪人类对象的运动;并根据人类对象的运动确定视频场景中人类对象的姿态。
在一些实施例中,至少一个处理器可以进一步使系统在视频场景中检测人类对象的头部;追踪人类对象的头部的运动;确定人类对象的头部从视频场景的第一帧的第一位置到第二帧的第二位置的运动轨迹;确定运动轨迹的长度和方向;获取至少一个摄像机的相机标定模型;根据运动轨迹的长度和相机标定模型确定运动轨迹的物理长度;并根据运动轨迹的物理长度和运动轨迹的方向确定视频场景中人类对象的姿态。
在一些实施例中,至少一个处理器可以进一步使系统判断运动轨迹的物理长度是否大于第一阈值;响应于确定运动轨迹的物理长度大于第一阈值,确定运动轨迹的方向是向上还是向下;如果运动轨迹的方向向下,则将视频场景的第二帧中的人类对象的姿态确定为坐立姿态,并将视频场景的第一帧中的人类对象的姿态确定为站立姿态;如果运动轨迹方向向上,则将视频场景第二帧中人类对象的姿态确定为站立姿态,将视频场景第一帧中人类对象的姿态确定为坐立姿态。
在一些实施例中,至少一个处理器还可以使系统确定第一帧中第一位置处的人类对象的头部尺寸;根据相机标定模型,确定人类对象的头部在第一帧中的第一位置对应的人类对象的头部在空间中的第一物理位置;基于参考数据集、人类对象的头部在第一帧中的第一位置以及人类对象的头部在空间中的第一物理位置,获取第一帧中位于第一位置的平均头部尺寸,其中第一位置处的平均头部尺寸可以对应于处于坐立姿态时的至少两个人类对象的头部尺寸的平均值;确定平均头部尺寸和第一帧中头部尺寸的差值;确定差值是否大于第二阈值;响应于确定差值大于第二阈值,将第一帧中人类对象的姿态确定为站立姿态;以及响应于确定差值不大于第二阈值,将第一帧中人类对象的姿态确立为坐立姿态。
在一些实施例中,可以基于学习过程生成相机标定模型,学习过程可以包括获取与空间的视频场景有关的样本数据,该样本数据与处于坐立姿态时的至少两个人类对象相关联;检测至少两个人类对象的至少两个头部;追踪至少两个头部的运动;确定至少两个人类对象在视频场景的样本帧中至少两个不同位置处处于坐立姿态时的至少两个平均头部尺寸;确定至少两个人类对象在空间中的至少两个相应物理位置处于坐立姿态时的至少两个平均物理头部尺寸;以及通过将样本帧中至少两个不同位置处的至少两个平均头部尺寸与空间中至少两个相应物理位置处的至少两个平均物理头部尺寸相关联来生成相机标定模型。
在一些实施例中,至少一个处理器可以进一步使系统使用神经网络模型至少部分地的基于人类对象的行为来确定人类对象在空间中的角色。
在一些实施例中,至少一个处理器还可以进一步被配置为使系统执行至少一项:确定与对象有关的运动特征;确定视频场景中背景变化;或确定与对象相关的人体特征。
根据本申请的另一方面,提供一种可以在计算设备上实现的运动检测方法。该计算设备可以包括至少一个处理器和至少一个计算机可读存储介质。该方法可以包括从至少一个摄像机获取与空间的视频场景有关的数据;检测视频场景中的对象;将对象分为人类对象或非人类对象;当对象被分为人类对象时,追踪人类对象的运动;并根据人类对象的运动确定视频场景中人类对象的姿态。
根据本申请的另一方面,提供了一种包含计算机程序产品的非临时性计算机可读介质。该计算机程序产品可以包括指令,该指令被配置为使计算设备从至少一个摄像机获取与空间的视频场景相关数据的指令;检测视频场景中的对象;将对象分为人类对象或非人类对象;当对象被分为人类对象时,追踪人类对象的运动;并根据人类对象的运动确定视频场景中人类对象的姿态。
本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:
图1是根据本申请一些实施例所示的示例性视频监控系统的示意图;
图2是根据本申请的一些实施例所示的用于处理视频数据的示例性流程的示意图;
图3是根据本申请的一些实施例所示的示例性姿态确定模块的示意图;
图4-A和图4-B是根据本申请的一些实施例所示的用于确定人类对象的姿态的示例性流程图;
图5-A和图5-B是根据本申请的一些实施例所示的用于确定人类对象的姿态的示例性流程500的流程图;
图6是根据本申请的一些实施例所示的示例性相机标定模型生成单元的示意图;
图7是根据本申请的一些实施例所示的用于生成相机标定模型的示例性流程的流程图;
图8是根据本申请的一些实施例所示的示例性视频监控系统的示意图;
图9是根据本申请的一些实施例所示的示例性计算设备的示例性硬件和/或软件部件的示意图;以及
图10是根据本申请的一些实施例所示的示例性移动设备的示例性硬件和/或软件部件的示意图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所公开的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其它实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其它特征、整体、步骤、操作、组件、部件和/或其组合的情况。
应当理解,本文使用的“系统”、“引擎”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或组件的一种方法。但是,如果这些术语达到相同的目的,则可以被其他表达替换。
通常,本文使用的词“模块”或“单元”是指体现在硬件或固件中的逻辑,或指软件指令的集合。本文描述的模块或单元可以作为软件和/或硬件实现,并且可以被存储在任何类型的非暂时性计算机可读介质或其他存储设备中。在一些实施例中,软件模块/单元可以被编译并连接到可执行程序中。将意识到,软件模块可以是可从其它模块/单元或从其自身调用的,和/或可以响应于检测到的事件或中断而被调用。配置用于在计算设备上执行的软件模块/单元/区块(例如,如图9所示的处理器910)可以被提供在计算机可读介质上,诸如光盘、数字视频盘、闪存驱动器、磁盘或任何其他有形介质或作为数字下载(并且可以原始地以压缩或可安装的格式存储,在执行之前需要安装、解压缩或解密)。这里的软件代码可以被部分的或全部的储存在执行操作的计算设备的存储设备中,并应用在计算设备的操作之中。软件指令可以被嵌入到固件中,例如EPROM。还将意识到,硬件模块/单元可以被包括在连接的逻辑组件中,例如门和触发器和/或可以包括在诸如可编程门阵列或处理器之类的可编程单元中。本文描述的模块/单元或计算设备功能可以被实现为软件模块/单元,但是可以用硬件或固件来表示。通常,本文描述的模块/单元是指可以与其他模块/单元组合或者分成子模块/子单元的逻辑模块/单元,尽管它们的物理组织或存储。该描述可以适用于系统、引擎或其一部分。
应当理解的是,当单元,引擎或模块被称为“在…上”、“连接到”或“耦合到”另一单元、引擎、模块时,其可以直接在、连接或耦合到另一单元、引擎、模块上、或者与另一单元、引擎、模块通信、或者可以存在单元、引擎、模块,除非上下文明确提示另有例外。在本申请中,术语“和/或”可包括任何一个或以上相关所列条目或其组合。
根据以下对附图的描述,本申请的这些和其它的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其它操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。
本申请的一方面涉及基于与人类对象有关的视频来检测人类对象的姿态(例如,坐立姿态、站立姿态)的系统和方法。根据本申请,所述系统和方法可以基于视频帧之间人类对象头部的运动轨迹的物理长度来确定人类对象的姿态。该系统和方法可以基于运动轨迹和相机标定模型确定运动轨迹的物理长度。该系统和方法可以基于学习过程来确定相机标定模型。所述系统和方法还可基于视频帧中的某位置处的人类对象的头部尺寸来确定人类对象的姿态。
图1是根据本申请的一些实施例所示的示例性视频监控系统100的示意图。如图1所示,视频监控系统100可以包括至少摄像机110、处理引擎120、一个或多个终端130以及数据存储器140。
摄像机110可以对空间102进行监控。空间102可以是室内空间或室外空间。室内空间可以包括教室、商店、办公室、仓库、旅馆房间等。室外空间可以包括街道、公园等。在一些实施例中,摄像机110可以捕获与空间102的视频场景有关的数据。空间102的视频场景可以包括空间102中感兴趣对象。例如,空间102可以是诸如教室的室内空间。教室的视频场景可以包括一个或以上人类对象(例如,老师、学生)、一个或以上非人类对象(例如,桌子、投影仪、黑板、电视、墙壁、窗户等)。与空间102的视频场景相关的数据可以包括视频数据。视频数据可以包括视频、图像、音频、图表、动画等。摄像机110可以将所捕获的与空间102的视频场景有关的数据发送到视频监控系统100的其他组件。在一些实施例中,摄像机110可以将所捕获的与空间102的视频场景有关的数据发送给处理引擎120进行处理。例如,处理引擎120可以基于捕获的数据在空间102的视频场景中检测一个或以上人类对象。在一些实施例中,摄像机110可以将所捕获的与空间102的视频场景有关的数据发送到数据存储器140进行存储。
在一些实施例中,摄像机110可以包括数字摄像机、彩色相机、单色相机、相机、便携式摄像机、个人计算机(PC)相机、网络摄像头、红外(IR)摄像机、闭路电视(CCTV)摄像机、紫外线摄像机、热摄像机、移、倾斜、变焦(PTZ)相机、4K摄像机等,或其任意组合。视频监控系统100中的至少一个摄像机110的数量没有限制。仅作为示例,空间102可以是教室。至少一个摄像机110可以包括两个摄像机110以对教室进行监控。两个摄像机110中的第一摄像机110可以监控教室中的学生,并且两个摄像机中的第二摄像机110可以监控教室中的黑板和/或老师。
处理引擎120可以处理数据。可以从视频监控系统100的其他组件(例如,摄像机110、一个或多个终端130或数据存储器140)获取数据。例如,处理引擎120可以从摄像机110获取与空间102的视频场景有关的视频数据。通过处理视频数据,处理引擎120可以检测视频场景中的对象、对对象进行分类、追踪被分类的人类对象的运动和/或在视频场景中确定被分类的人类对象的姿态。在一些实施例中,处理引擎120可以包括一个或以上硬件处理器,例如中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图像处理单元(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。如图1所示,处理引擎120可以包括数据获取模块103、对象检测模块105、对象分类模块107、对象追踪模块109和姿态确定模块111。
在一些实施例中,数据获取模块103可以从摄像机110获取与空间102的视频场景有关的数据。在一些实施例中,与空间102的视频场景相关的数据可以包括视频。如本文所使用的,视频可以指代以模拟和/或数字形式表示的电影。在一些实施例中,视频可以包含多个帧。帧(也称为视频帧)可以指视频中的特定图像、静止图像或其他离散单元。在一些实施例中,数据获取模块103可以通过摄像机110与数据获取模块103之间的直接连接从摄像机110获取与视频场景有关的数据。直接连接可以包括,例如通用串行总线(USB)接口、IEEE1394接口、RS-232接口等。在一些实施例中,数据获取模块103可以通过包括因特网、局域网(LAN)、广域网(WAN)等或其任何组合从摄像机110获取与视频场景有关的数据。
在一些实施例中,数据获取模块103可以将与空间102的视频场景相关的数据发送到处理引擎120的其他组件(和/或视频监控系统100)以进行处理。例如,数据获取模块103可以将与空间102的视频场景有关的数据发送到对象检测模块105,以检测视频场景中的对象。又例如,数据获取模块103可以将与空间102的视频场景有关的数据发送到数据存储器140进行存储。
对象检测模块105可以检测空间102的视频场景中的对象。对象可以是人类对象或非人类对象。例如,空间102可以是教室。对象可以包括人、桌子、投影仪、电视、黑板、墙、窗户等。在一些实施例中,对象检测模块105可以将检测到的对象发送到对象分类模块107中。
在一些实施例中,对象检测模块105可以检测到与从数据获取模块103获取的视频场景相关的视频中的对象。在一些实施例中,对象检测模块105可以基于与对象有关的运动特征来检测与视频场景有关的视频中的对象。该视频可以包括多个帧。对象中的运动特征可以包括对象在多个帧中的出现、对象在多个帧中的消失、对象在多个帧之间的运动等。当对象检测模块105在多个帧中确定或检测到至少一个运动特征时,可以检测到对象。在一些实施例中,对象检测模块105可以使用包括,例如三帧差异算法的运动检测算法来确定与对象有关的运动特征。在一些实施例中,基于视频场景中的背景变化,对象检测模块105可以检测视频中的对象。对象检测模块105可以基于从数据获取模块103获取的输入视频帧来构建背景图像。背景变化可以包括对背景图像的更改,即背景图像可以是动态的。动态背景图像可以基于输入的视频帧被连续地构建和更新。当新的背景图像的像素与先前构建的背景图像不同时,对象检测模块105可以检测到对象。在一些实施例中,对象检测模块105可以使用变化检测算法来确定视频场景中的背景变化,该算法包括,例如随机背景建模算法。在一些实施例中,对象检测模块105可以基于与对象有关的外部特征来检测与视频场景有关的视频中的对象。外部特征可能包括人体特征,例如人体头部、人脸、人体皮肤、手、手臂、手指、拇指、人脚、肘、膝盖等。例如,当对象检测模块105确定在与视频场景相关的视频中的人体特征时,对象检测模块105可以在视频场景中检测到对象(例如,人)。外部特征还可能包含边缘特征。例如,当对象检测模块105在与视频场景相关的视频中确定具有四个边缘的区域时,对象检测模块105可以在视频场景中检测到对象(例如,黑板,电视)。在一些实施例中,对象检测模块105可以使用诸如肤色检测算法、面部检测算法、头部检测算法、边缘检测算法等算法来确定与对象相关的外部特征。
对象分类模块107可以对对象检测模块105检测到的对象进行分类。在一些实施例中,对象分类模块107可以将对象分类为人类对象或非人类对象。在一些实施例中,对象分类模块107可基于人体特征(例如人体头部、人脸、人体皮肤、手、手臂、手指、拇指、人脚、肘、膝盖)将对象归为人类对象。在一些实施例中,对象分类模块107可以使用对象分类算法115对对象检测模块105检测到的对象进行分类。在一些实施例中,对象分类算法115可以包括神经网络算法、线性判别算法、决策树算法、朴素贝叶斯算法等。在一些实施例中,对象分类模块107可以将分类后的人类对象发送给对象追踪模块109,以追踪人类对象的运动。
在一些实施例中,对象分类模块107还可以使用神经网络模型基于人类对象的行为来确定人类对象的角色。例如,空间102可以是教室。对象分类模块107可以使用神经网络模型将经常在教室的讲台周围移动的人类对象确定为教师。对象分类模块107可以使用神经网络模型来将穿着相同颜色衣服的人类对象确定为学生。在一些实施例中,可以使用视频监控系统100的历史数据(例如,过去两个月内的历史视频数据)来训练神经网络模型。在一些实施例中,对象分类模块107还可以使用历史数据来确定面部检测算法。对象分类模块107可以使用面部检测算法来快速确定人类对象的角色。
对象追踪模块109可以追踪由对象分类模块107分类的人类对象的运动。在一些实施例中,对象追踪模块109可以在与视频场景有关的视频的多个帧中追踪人类对象的整个身体的运动。例如,对象追踪模块109可以在多个帧中追踪人类对象的身体轮廓。又例如,对象追踪模块109可以在多个帧中追踪人类对象的估计重心。再例如,对象追踪模块109可以在多个帧中追踪人类对象的身体轮廓的中心。在一些实施例中,对象追踪模块109可以在与视频场景有关的视频的多个帧中追踪人类对象的一部分(例如,人类对象的头部)的运动。例如,对象追踪模块109可以在多个帧中追踪人类对象的头部的轮廓。又例如,对象追踪模块109可以在多个帧中追踪人类对象的头部的轮廓的中心。对象追踪模块109可以确定多个帧中人类对象的匹配关系以追踪人类对象的运动。在一些实施例中,对象追踪模块109可以基于对象追踪算法117追踪人类对象的运动。对象追踪算法117可以包括基于估计的追踪算法、基于特征的追踪算法、基于模型的追踪算法、基于区域的追踪算法、基于运动轮廓的追踪算法等,或者其组合。基于估计的追踪算法可以包括卡尔曼滤波算法、粒子滤波算法等。基于特征的追踪算法可以利用对象的特征(例如,形状、纹理、颜色、边缘等)来追踪对象。基于区域的追踪算法可以包括Camshift算法、基于内核的追踪算法、信赖域追踪算法等。基于运动轮廓的追踪算法可以包括应用Snake模型、隐马尔可夫模型(HMM)等。在一些实施例中,对象追踪模块109可以将追踪到的人类对象发送到姿态确定模块111上以确定人类对象的姿态。
姿态确定模块111可以在空间102的视频场景中确定人类对象(由对象分类模块107分类和/或由对象追踪模块109追踪的人类对象)的姿态。人类对象的姿态是指人类对象使身体抵抗重力直立的姿态。人类对象的姿态可以包括坐立姿态、站立姿态或卧位姿态。姿态确定模块111可以基于与视频场景有关的视频来确定视频场景中的人类对象的姿态。在一些实施例中,姿态确定模块111可以基于帧之间的人类对象的头部的运动轨迹和相机标定模型确定人类对象的姿态。在一些实施例中,姿态确定模块111可以基于视频帧中某位置处的人类对象的头部尺寸来确定人类对象的姿态。可以在图3及其描述中找到关于姿态确定模块111和人类对象姿态确定的详细描述。
终端130可以连接到摄像机110、处理引擎120和/或数据存储器140和/或与之通信。例如,终端130可以从处理引擎120获取处理后的视频帧。又例如,终端130可以获取由摄像机110获取的视频数据,并将该视频数据发送至处理引擎120。在一些实施例中,终端130可以包括移动设备、平板电脑、笔记本电脑等,或其任意组合。例如,移动设备可以包括手机、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备、笔记本电脑、平板电脑、台式机等,或其任何组合。在一些实施例中,终端130可以包括输入设备、输出设备等。输入设备可以包括字母数字和其它按键,可以通过键盘、触摸屏(例如,带有触觉输入或触觉反馈)、语音输入、眼球追踪输入、大脑监控系统或任何其它类似的输入机制。通过输入设备接收的输入信息可以被发送到处理引擎120以进行进一步处理。其他类型的输入设备可以包括光标控制设备,例如鼠标、轨迹球或光标方向键等。输出设备可以包括显示器、扬声器、打印机等,或其任意组合。显示器可以显示信息。该信息可以包括文本、音频、视频、图像等,或其任何组合。例如,从摄像机110捕获的视频可以显示在显示器的窗口上。又例如,显示器可以显示从处理引擎120获取的经处理的带有图形(例如,正方形图标、线条)的视频数据以突出显示一个或以上对象,例如处于站立姿态时的学生或老师。在一些实施例中,显示器可以包括至少两个分别显示不同信息的窗口。例如,显示器的一个窗口可以以一种分辨率显示教室的全景场景,显示器的至少一个其他窗口可以以不同的分辨率显示聚焦在处于站立姿态时的至少一个人类对象上的部分场景。在一些实施例中,显示器可以包括液晶显示器(LCD)、发光二极管显示器(LED)、有机发光二极管显示器(OLED)、量子LED显示器(QLED)、平板显示器或曲面屏幕、阴极射线管(CRT)、3D显示器,等离子显示面板、触摸屏等,或其任意组合。
数据存储器140可以存储数据。数据可以从摄像机110、处理引擎120、终端130和/或视频监控系统100的任何其他组件获取。数据可以包括图像数据、视频数据、与图像数据和视频数据相关联的元数据、指令数据等。在一些实施例中,数据存储器140可以连接到处理引擎120和/或与处理引擎120通信。处理引擎120可以访问存储在数据存储器140中的数据。例如,数据存储器140可以存储从数据获取模块103获取的历史视频数据。对象分类模块107可基于存储在数据存储器140中的历史视频数据训练神经网络模型。神经网络模型可以用于人类对象或非人类对象的分类和/或人类对象的角色(例如,老师、学生)的确定。在一些实施例中,数据存储装置140可以包括硬盘驱动器、固态驱动器、可移动存储驱动器(例如闪存磁盘驱动器、光盘驱动器等)、数字录像机等,或其组合。
视频监控系统100中的组件可以经由有线连接或无线连接彼此连接或彼此通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙TM、紫蜂TM、近场通信(NFC)等或其任意组合。
该描述旨在是说明性的,而不是限制本申请的范围。许多替代、修改和变化对本领域普通技术人员将是显而易见的。本文描述的示例性实施方式的特征、结构、方法和其它特征可以以各种方式组合以获得另外的和/或替代的示例性实施例。然而,这些变化和修改不会背离本申请的范围。例如,处理引擎120还可以包括用来存储从处理引擎120的其他组件(例如,数据获取模块103、对象检测模块105)获取的数据的存储模块。
图2是根据本申请的一些实施例所示的用于处理视频数据的示例性流程200的示意图。流程200可以在视频监控系统100(和/或图8所示的视频监控系统800)中实现。例如,流程200可以作为一组指令存储在数据存储器140中,并由处理引擎120(例如,图1中所示的处理引擎120中的一个或多个模块、图9所示的计算设备900、图10所示的移动设备1000的CPU 1008或GPU 1006)调用和/或执行。以下所示流程操作仅出于说明的目的。在一些实施例中,流程200可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,图2所示和以下描述的流程的操作顺序并非旨在限制。
在202中,数据获取模块103可以从至少一个摄像机(例如,图1所示的摄像机110)获取与空间(例如,图1所示的空间102)的视频场景有关的数据。在一些实施例中,与空间视频场景相关的数据可以包括视频。该视频可以包括多个帧。例如,该空间为教室。数据获取模块103可以从位于教室前面的至少一个摄像机和位于教室后面的至少一个摄像机中获取与教室的视频场景相关的视频。
在204中,对象检测模块105可以检测视频场景中的对象。在一些实施例中,对象检测模块105可以检测包含与视频场景有关的多个帧的视频中的对象。在一些实施例中,对象检测模块105可以基于与对象有关的运动特征、视频场景的背景变化和/或与对象有关的外部特征来检测视频场景中的对象。检测对象的详细说明可以在本申请的其他地方(例如,图1及其说明)找到。
在206中,对象分类模块107可以将对象分为人类对象或非人类对象。在一些实施例中,对象分类模块107可基于人类对象的人体特征(例如,人体头部、人脸、人体皮肤、手、手臂、手指、拇指、人脚、肘、膝盖)将对象分为人类对象。在一些实施例中,对象分类模块107可以使用对象分类算法115将对象分为人类对象或非人类对象,如本申请中其他地方(例如,图1及其描述)所述。
在208中,当对象被分为人类对象时,对象追踪模块109可以追踪人类对象的运动。在一些实施例中,对象追踪模块109可以在与视频场景有关的视频的多个帧中追踪人类对象的整个身体的运动。例如,对象追踪模块109可以在多个帧中追踪人类对象的身体轮廓。又例如,对象追踪模块109可以在多个帧中追踪人类对象的估计重心。再例如,对象追踪模块109可以在多个帧中追踪人类对象的身体轮廓的中心。在一些实施例中,对象追踪模块109可以在与视频场景有关的视频的多个帧中追踪人类对象的一部分(例如,人类对象的头部)的运动。例如,对象追踪模块109可以在多个帧中追踪人类对象的头部的轮廓。又例如,对象追踪模块109可以在多个帧中追踪人类对象的头部的轮廓的中心。在一些实施例中,对象追踪模块109可以基于图1所示的对象追踪算法117来追踪人类对象的运动。
在210中,姿态确定模块111可以基于人类对象的运动来确定视频场景中的人类对象的姿态。人类对象的姿态可以包括坐立姿态、站立姿态等。姿态确定模块111可以基于与视频场景有关的视频来确定视频场景中的人类对象的姿态。在一些实施例中,姿态确定模块111可以基于帧之间人类对象的头部的运动轨迹和相机标定模型确定人类对象的姿态。在一些实施例中,姿态确定模块111可以基于帧中的位置处的人类对象的头部尺寸和帧中的位置处的平均头部尺寸来确定人类对象的姿态。确定人类对象的姿态的详细描述将在图3、图4-A、图4-B和/或图5及其描述中找到。
该描述旨在是说明性的,而不是限制本申请的范围。许多替代、修改和变化对本领域普通技术人员将是显而易见的。本文描述的示例性实施方式的特征、结构、方法和其它特征可以以各种方式组合以获得另外的和/或替代的示例性实施例。然而,这些变化和修改不会背离本申请的范围。例如,流程200可以包括存储操作202-210中生成的中间数据(例如,与视频场景有关的数据、分类的结果等)。
图3是根据本申请的一些实施例所示的示例性姿态确定模块111的示意图。姿态确定模块111可以包括人体头部监控单元302、人体头部追踪单元304、确定单元306和相机标定模型生成单元308。在一些实施例中,人体头部监控单元302、人体头部追踪单元304、确定单元306和/或相机标定模型生成单元308可以通过无线连接(例如,网络)、有线连接或其组合。
人体头部监控单元302可以在空间(例如,教室)的视频场景中检测人类对象的头部。在一些实施例中,人体头部的监控单元302可以基于与视频场景有关的数据来检测视频场景中的人类对象的头部。与视频场景有关的数据可以是包括从处理引擎120的其他组件获取的多个帧的视频。例如,人体头部监控单元302可以在从对象追踪模块109发送的多个帧中检测人类对象的头部。在一些实施例中,人体头部的监控单元302可以基于头部的特征(例如,头部的形状或头部的位置)在多个帧中检测人类对象的头部。例如,人类对象的头部的形状在多个帧中可以看起来像一个椭圆。又例如,人类对象的头部始终位于人类对象的顶部。在一些实施例中,人体头部监控单元302可以与姿态确定模块111的其他组件连接和/或通信。例如,人体头部监控单元302可以将检测到的人类对象头部发送到人体头部追踪单元304以追踪人类对象的头部。
人体头部追踪单元304可以追踪由人体头部监控单元302检测到的人类对象的头部的运动。人体头部追踪单元304可以在多个帧中追踪人类对象头部的运动。例如,人体头部追踪单元304可以在多个帧中追踪人类对象头部的轮廓。又例如,人体头部追踪单元304可以在多个帧中追踪人类对象头部的轮廓中心。在一些实施例中,人体头部追踪单元304可以基于图1所示的对象追踪算法117来追踪人类对象头部的运动。在一些实施例中,人体头部追踪单元304可以连接到姿态确定模块111的其他组件和/或与其通信。例如,人体头部追踪单元304可以将追踪到的人类对象的头部发送到确定单元306,以确定人类对象的姿态。
确定单元306可以确定由人体头部追踪单元304追踪到的和/或由人体头部监控单元302检测到的人类对象的姿态。如图3所示,确定单元306可以包括帧信息确定子单元361、相机标定模型获取子单元363和物理信息确定子单元365。
帧信息确定子单元361可以确定多个帧中的人类对象的头部的信息。在一些实施例中,多个帧中的人类对象的头部信息可以包括人类对象的头部的运动轨迹。运动轨迹可以指的是人类对象的头部在多个帧中遵循的路径。例如,运动轨迹可以包括人类对象的头部从第一帧的第一位置到第二帧的第二位置的运动轨迹。在一些实施例中,第一帧中的第一位置和第二帧中的第二位置可以对应于头部轮廓中心的位置。
在一些实施例中,多个帧中的人类对象的头部的信息还可以包括运动轨迹的长度和方向。例如,帧信息确定子单元361可以确定从第一帧中的第一位置到第二帧中的第二位置的运动轨迹的长度和方向。在一些实施例中,第一帧中的第一位置可以用二维(2D)图像坐标系(具有x轴和y轴的坐标系)中的坐标值(x1,y1)表示,第二帧中的第二位置可以用2D图像坐标系中的坐标值(x2,y2)表示。2D图像坐标系可以是与图像或帧相对应的坐标系。运动轨迹可以用从2D图像坐标中的坐标值(x1,y1)到坐标值(x2,y2)的向量表示。运动轨迹的长度可以指向量的大小,而运动轨迹的方向可以指箭头所示的向量的方向。向量的方向还可以通过向量与x轴正半轴之间的角度来描述。运动轨迹的详细描述可以在图4-A和/或图4-B及其描述中找到。
在一些实施例中,多个帧中的人类对象的头部信息还可以包括多个帧中的人类对象的头部的尺寸,例如,人类对象在第一帧中第一位置处的头部尺寸、人类对象在第二帧中的第二位置处的头部尺寸。头部的形状在多个帧中可以看起来像一个椭圆。人类对象的头部尺寸可以包括与椭圆的长轴对应的头部长度,以及与椭圆的短轴对应的头部宽度。
相机标定模型获取子单元363可以获取用于捕获与视频场景有关的视频的摄像机的相机标定模型。摄像机中的相机标定模型可以是三维(3D)世界坐标系中的物理信息与二维图像坐标系中的信息之间转换的数学表示。3D世界坐标系可以是与空间相对应的坐标系。3D世界坐标系中的物理信息可以包括空间中的信息(例如,空间中的物理位置)、空间中的物理尺寸(例如,空间中的长度)等。2D图像坐标系中的信息可以包括多个帧中的信息,诸如在一帧中的位置、一帧中的尺寸(例如,一帧中某处的长度)等。在一些实施例中,摄像机的相机标定模型可以表示为包含摄像机的固有参数和/或外部参数的相机矩阵。摄像机的固有参数可以包括摄像机的焦距、摄像机的主点等。摄像机的外部参数可以包括安装在空间中的摄像机的位置和/或取向。在一些实施例中,相机标定模型获取子单元363可以从相机标定模型生成单元308获取相机标定模型。
物理信息确定子单元365可以基于由相机标定模型获取子单元363发送的相机标定模型和由帧信息确定子单元361发送的多个帧中人类对象的头部信息,来确定空间中的人类对象的头部的物理信息。人类对象的头部的物理信息可以包括空间中头部的物理位置、空间中的头部的物理尺寸(例如,空间中头部的物理长度、空间中头部的物理宽度)、空间中头部的运动轨迹的物理长度等。如帧信息确定子单元361所描述的,头部的运动轨迹可以从第一帧中的第一位置到第二帧中的第二位置。第一帧中的第一位置可以对应于空间中的第一物理位置,第二帧中的第二位置可以对应于空间中的第二物理位置。因此,运动轨迹的物理长度可以是空间中第一物理位置和第二物理位置之间的距离。确定运动轨迹的物理长度的详细描述可以在图4-A和/或图4-B及其描述中找到。
在一些实施例中,确定单元306可以基于人类对象的头部的运动轨迹来确定人类对象的姿态。在一些实施例中,确定单元306可以基于多个帧中的头部尺寸来确定人类对象的姿态。确定人类对象的姿态的详细描述可以在图4-A、图4-B、图5-A和/或图5-B及其描述中找到。
相机标定模型生成单元308可以生成或确定摄像机的相机标定模型。在一些实施例中,相机标定模型生成单元308可以基于学习过程来生成相机标定模型。相机标定模型的生成的详细描述可在图6和/或图7及其描述中将找到。
该描述旨在是说明性的,而不是限制本申请的范围。许多替代、修改和变化对本领域普通技术人员将是显而易见的。本文描述的示例性实施方式的特征、结构、方法和其它特征可以以各种方式组合以获得另外的和/或替代的示例性实施例。然而,这些变化和修改不会背离本申请的范围。例如,可以将人体头部监控单元302和人体头部追踪单元304集成到单个单元中以检测和追踪人类对象的头部。
图4-A和图4-B是根据本申请的一些实施例所示的用于确定人类对象的姿态的流程400的流程图。可以在视频监控系统100(和/或图8所示的视频监控系统800)中实现流程400。例如,流程400可以作为一组指令存储在数据存储装置140中,并由处理引擎120(例如,图1中所示的处理引擎120中的一个或多个模块、图9所示的计算设备900的处理器910、图10所示的移动设备1000的CPU 1008或GPU 1006)调用和/或执行。以下所示流程的操作仅出于说明的目的。在一些实施例中,流程400可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,图4-A和图4-B所示以及以下所述的流程操作的顺序并非旨在限制。
在402中,人体头部监控单元302可以检测空间的视频场景中的人类对象的头部。在一些实施例中,人体头部监控单元302可以检测与空间视频场景有关的视频中的人类对象的头部。例如,该空间可以是教室。人体头部监控单元302可以检测记录教室视频场景的视频中的人类对象(例如,教室中的学生和/或老师)的头部。在一些实施例中,人体头部监控单元302可以基于头部的特征(例如头部的形状或头部的位置)在视频的多个帧中检测人类对象的头部。例如,人体头部检测单元302可以将多个帧中的椭圆形状确定为人类对象的头部。又例如,人体头部监控单元302可以将始终位于人类对象顶部的对象确定为人类对象的头部。
在404中,人体头部追踪单元304可以追踪人类对象头部的运动。在一些实施例中,人体头部追踪单元304可以在多个帧中追踪人类对象头部的运动。例如,人体头部追踪单元304可以在多个帧中追踪人类对象的头部的轮廓。又例如,人体头部追踪单元304可以在多个帧中追踪人类对象的头部的轮廓的中心。在一些实施例中,人体头部追踪单元304可以基于图1所示的对象追踪算法117来追踪人类对象的头部的运动。
在406中,帧信息确定子单元361可以确定人类对象的头部从视频场景中第一帧中的第一位置到第二帧的第二位置的运动轨迹。运动轨迹可以是指人类对象的头部从第一帧中的第一位置到第二帧中的第二位置所遵循的路径。在一些实施例中,第一帧中的第一位置和第二帧中的第二位置可以对应于头部轮廓中心的位置。
在408中,帧信息确定子单元361可以确定运动轨迹的长度和方向。在一些实施例中,可以将第一帧中的第一位置用具有x轴和y轴的二维图像坐标系中的坐标值(x1,y1)来表示,并且可以将第二帧中的第二位置用2D图像坐标系中的坐标值(x2,y2)来表示。运动轨迹可以表示为在二维图像坐标系中从坐标值(x1,y1)到坐标值(x2,y2)的向量。运动轨迹的长度可以指向量的大小,即坐标值(x1,y1)和坐标值(x2,y2)之间的距离。运动轨迹的方向可以指用箭头表示的向量的方向。在一些实施例中,向量的方向还可以通过向量与2D图像坐标系x轴的正半轴之间的角度来描述。当角度在0度和180度之间的范围内时,运动轨迹的方向可以是向上。当角度在180度和360度之间的范围内时,运动轨迹的方向可以是向下。
在410中,相机标定模型获取子单元363可以获取至少一个摄像机的相机标定模型。至少一个摄像机可以捕获与空间的视频场景有关的视频。在一些实施例中,相机标定模型获取子单元363可以从相机标定模型生成单元308获取相机标定模型。相机标定模型生成单元308可基于使用与空间的视频场景相关的样本数据的学习过程来生成相机标定模型。样本数据可以与处于坐立姿态时的至少两个人类对象相关联。相机标定模型的生成的详细描述可以在图6和图7及其描述中将找到。
处理引擎120可以继续处理节点A 411并且执行从图4-B所示的节点A 411开始的至少一些操作。
在412中,物理信息确定子单元365可以基于运动轨迹的长度和相机标定模型来确定运动轨迹的物理长度。在一些实施例中,物理信息确定子单元365可以基于在操作408中确定的运动轨迹的长度和相机标定模型直接计算运动轨迹的物理长度。
在一些实施例中,如结合操作406和操作408所述,头部的运动轨迹可以从第一帧中的第一位置到第二帧中的第二位置。第一帧中的第一位置可以用2D图像坐标系中的坐标值(x1,y1)表示,第二帧中的第二位置可以用2D图像坐标系中的坐标值(x2,y2)表示。第一帧中的第一位置可以对应于空间中的第一物理位置,第二帧中的第二位置可以对应于空间中的第二物理位置。在一些实施例中,空间中头部的第一物理位置可以用3D世界坐标系中的坐标值(X1,Y1,Z1)表示,空间中头部的第二物理位置可以用3D世界坐标系中的坐标值(X2,Y2,Z2)表示。在一些实施例中,相机标定模型可以表示为包括至少一个摄像机的固有参数和/或外部参数的相机矩阵。物理信息确定子单元365可以通过将坐标值(x1,y1)乘以相机矩阵来计算并确定坐标值(X1,Y1,Z1),并且可以通过将坐标值(x2,y2)乘以相机矩阵计算并确定坐标值(X2,Y2,Z2)。然后,物理信息确定子单元365可以通过计算坐标值(X1,Y1,Z1)和坐标值(X2,Y2,Z2)之间的距离来确定空间中的运动轨迹的物理长度。
在414中,确定单元306可以确定运动轨迹的物理长度是否大于第一阈值。第一阈值可以是视频监控系统100的默认设置,或者可以在不同情况下进行调整。
响应于确定运动轨迹的物理长度的物理长度不大于第一阈值,则处理引擎120可以基于416中人类对象的头部尺寸来确定人类对象的姿态。在图5-A和/或图5-B及其描述中可以找到基于人类对象的头部尺寸来确定人类对象姿态的详细描述。
响应于确定运动轨迹的物理长度大于第一阈值,在418中姿态确定模块111可以进一步确定运动轨迹的方向是向上或向下。如果运动轨迹的方向向下(即,与运动轨迹相对应的角度在180度至360度的范围内),则在420中姿态确定模块111可以将视频场景的第二帧中的人类对象的姿态确定为坐立姿态,并将视频场景的第一帧中人类对象的姿态确定为站立姿态。如果运动轨迹的方向向上(即,与运动轨迹相对应的角度在0度至180度之间的范围内),则在422中姿态确定模块111可以将视频场景的第二帧中的人类对象的姿态确定为站立姿态,并将视频场景的第一帧中人类对象的姿态确定为坐立姿态。
在一些实施例中,流程400所示的空间可以是教室。通过执行流程400,姿态确定模块111可以确定学生和/或教师的姿态。例如,当学生站起来回答问题时,姿态确定模块111(和/或视频监控系统100)可以确定学生的姿态从坐立姿态变为站立姿态。
该描述旨在是说明性的,而不是限制本申请的范围。许多替代、修改和变化对本领域普通技术人员将是显而易见的。本文描述的示例性实施方式的特征、结构、方法和其它特征可以以各种方式组合以获得另外的和/或替代的示例性实施例。然而,这些变化和修改不会背离本申请的范围。例如,操作406和操作408可以组合成用于确定运动轨迹和/或运动轨迹的长度和方向的独立步骤。
图5-A和图5-B是根据本申请的一些实施例所示的用于确定人类对象的姿态的示例性流程500的流程图。可以在视频监控系统100(和/或图8所示的视频监控系统800)中实现流程500。例如,流程500可以作为一组指令存储在数据存储器140中,并且由处理引擎120(例如,图1中所示的处理引擎120中的一个或多个模块、图9所示的计算设备900、图10所示的移动设备1000的CPU 1008或GPU 1006)调用和/或执行。以下所示流程的操作仅出于说明的目的。在一些实施例中,流程500可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,图5-A和图5-B所示以及以下描述的流程d操作顺序并非旨在限制。在一些实施例中,可以通过在流程400中执行一个或多个操作来实现流程400中的操作416。
在502,人体头部监控单元302可以检测空间的视频场景中的人类对象的头部。在一些实施例中,人体头部监控单元302可以检测包括与视频场景有关的多个帧的视频中的人类对象的头部。操作502可以与流程400中的操作402类似,因此在此不再赘述。
在504中,人体头部追踪单元304可以追踪人类对象头部的运动。操作504可以与流程400中的操作404类似,因此在此不再赘述。
在506中,相机标定模型获取子单元363可以获取至少一个摄像机的相机标定模型。至少一个摄像机可以捕获与空间的视频场景有关的视频。操作506可以与流程400中的操作410类似,因此在此不再赘述。
在508中,帧信息确定子单元361可以确定视频场景中的第一帧中的第一位置处的人类对象的头部尺寸。头部的形状在多个帧中可以是椭圆形。人类对象的头部尺寸可以包括与椭圆的长轴对应的头部长度,以及与椭圆的短轴对应的头部宽度。在一些实施例中,第一帧中的第一位置可以对应于头部的轮廓中心的位置。
在510中,物理信息确定子单元365可以基于相机标定模型,确定人类对象的头部在第一帧中的第一位置对应的人类对象的头部在空间中的第一物理位置。在一些实施例中,第一帧中的第一位置可以用二维图像坐标系中的坐标值(x,y)表示。人类对象的头部在空间中的第一物理位置可以用与第一帧中的第一位置相对应的3D世界坐标系中的坐标值(X,Y,Z)表示。在一些实施例中,相机标定模型可以用包括至少一个摄像机的固有参数和/或外部参数的相机矩阵表示。物理信息确定子单元365可以通过将坐标值(x,y)乘以相机矩阵来确定3D世界坐标系中的坐标值(X,Y,Z)。
在512中,确定单元306可以基于参考数据集、人类对象的头部在第一帧中的第一位置以及人类对象的头部在空间中的第一物理位置,获取第一帧中第一位置处的平均头部尺寸。第一位置处的平均头部尺寸可以对应于至少两个人类对象处于坐立姿态时的头部尺寸的平均值。平均头部尺寸可以包括至少两个人类对象处于坐立姿态时的头部长度的平均值和/或至少两个人类对象处于坐立姿态时头部宽度的平均值。如本文中所使用的,至少两个人类对象处于坐立姿态时的头部长度的平均值可以被称为平均头部长度,并且至少两个人类对象处于坐立姿态时的头部宽度的平均值可以被称为平均头部宽度。参考数据集可以包括在至少两个人类对象在图像帧的至少两个不同位置处处于坐立姿态时的至少两个平均头部尺寸,以及在空间中至少两个不同位置处处于坐立姿态时的至少两个平均物理头部尺寸。在一帧中某位置处的平均头部尺寸可以对应于空间中某物理位置处的平均头部尺寸。在一些实施例中,参考数据集可以表示和/或存储在各种数据结构中,例如,查找表、堆栈、树、图等。根据第一帧中人类对象的头部的第一位置和在空间中人类对象头部的第一物理位置,确定单元306可以搜索参考数据集以获取第一帧中第一位置处的平均头部尺寸。参考数据集可以基于学习过程来生成。参考数据集的详细说明将在图7及其说明中找到。
处理引擎120可以继续到节点B 513,并且执行从图5-B中所示的节点B 513开始的至少一些操作。
在514中,姿态确定模块111可以确定第一帧中的平均头部尺寸和第一帧中头部尺寸的差值。所述差值可以包括平均头部长度和第一帧中的头部长度之间的第一差值,以及平均头部宽度和第一帧中的头部宽度之间的第二差值。
在516,姿态确定模块111可以确定差值是否大于第二阈值。第二阈值可以是视频监控系统100的默认设置,或者可以在不同情况下进行调整。在一些实施例中,姿态确定模块111可以确定第一差值和第二差值是否都大于第二阈值。
响应于确定差值大于第二阈值(即,第一差值和第二差值均大于第二阈值),则在518中姿态确定模块111可以将人类对象在第一帧中第一位置处的姿态确定为站立姿态。另一方面,响应于确定差值不大于第二阈值(即,第一差值或第二差值中的至少一个不大于第二阈值),则在520中姿态确定模块111可以将人类对象在第一帧中第一位置处的姿态确定为坐立姿态。
该描述旨在是说明性的,而不是限制本申请的范围。许多替代、修改和变化对本领域普通技术人员将是显而易见的。本文描述的示例性实施方式的特征、结构、方法和其它特征可以以各种方式组合以获得另外的和/或替代的示例性实施例。然而,这些变化和修改不会背离本申请的范围。例如,操作506和操作508的顺序可以互换。
图6是根据本申请的一些实施例所示的示例性相机标定模型生成单元308的示意图。相机标定模型生成单元308可以包括样本数据获取子单元602、人体头部检测子单元604、人体头部追踪子单元606,确定子单元608和生成子单元610。在一些实施例中,样本数据获取子单元602、人体头部检测子单元604、人体头部追踪子单元606,确定子单元608和/或生成子单元610可以经由无线连接(例如,网络),有线连接或其组合而彼此连接和/或彼此通信。
样本数据获取子单元602可以获取与空间的视频场景相关的样本数据。样本数据可以与处于坐立姿态时的至少两个人类对象相关联。例如,该空间可以是教室。教室的视频场景可能包括一个或多个学生(和/或教师)。样本数据可以包括视频数据,例如视频、图像、音频、图表、动画等。例如,样本数据可以是包括多个帧的视频。如本文所使用的,样本数据中的帧也可以被称为样本帧。在一些实施例中,样本数据获取子单元602可以从至少一个摄像机(例如,摄像机110)获取样本数据。如本申请中其他部分所述(例如,图1及其描述),安装在空间中的至少一个摄像机可以捕获与空间视频场景有关的样本数据,并通过直接连接或网络将捕获的样本数据传输到样本数据获取子单元602。在一些实施例中,样本数据获取子单元602可以从数据存储器140或外部数据存储器(未示出)获取样本数据。在一些实施例中,样本数据获取子单元602可以获取一段时间内(例如,过去一小时、过去一天、过去一个月等)的样本数据。在一些实施例中,样本数据获取子单元602可以将与空间的视频场景有关的样本数据发送到人体头部检测子单元604以检测至少两个人类对象的至少两个头部。
人体头部检测子单元604可以检测至少两个人类对象的至少两个头部。人体头部检测子单元604可以检测样本数据的多个帧中的至少两个人类对象的至少两个头部。在一些实施例中,人体头部检测子单元604可以基于头部的特征(例如头部的形状或头部的位置)来检测至少两个人类对象的至少两个头部。例如,人体头部检测子单元604可以将多个帧中的椭圆形状确定为人类对象的头部。又例如,人体头部检测子单元604可以将始终位于人类对象顶部的对象确定为人类对象的头部。在一些实施例中,人体头部检测子单元604可以与相机标定模型生成单元308的其他组件连接和/或通信。例如,人体头部检测子单元604可以将至少两个检测到的至少两个人类对象的头部发送到人体头部追踪子单元606以追踪至少两个头部。
人体头部追踪子单元606可以追踪由人体头部检测子单元604检测到的至少两个头部的运动。人体头部追踪子单元606可以追踪多个帧中的至少两个头部的运动。人体头部追踪子单元606可以类似于图3的人体头部追踪单元304,因此这里不再重复其描述。在一些实施例中,人体头部追踪子单元606可以将至少两个人类对象的至少两个追踪的头部发送到确定子单元608用于确定至少两个头部的信息。
确定子单元608可以确定在样本数据的样本帧中的至少两个不同位置处处于坐立姿态至少两个人类对象的至少两个平均头部尺寸。样本帧中某个位置处处于坐立姿态时的至少两个人类对象的平均头部尺寸可以包括该位置处处于坐立姿态时的至少两个人类对象的头部长度的平均值和/或该位置处处于站立姿态时的至少两个人类对象的头部的宽度的平均值。对于样本帧中的至少两个不同位置中的每一个,确定子单元608可以使用例如统计算法来确定样本帧中的处于坐立姿态时的至少两个人类对象的平均头部尺寸。示例性统计算法可以包括统计中值算法、直方图算法等。
确定子单元608还可以确定在空间中的处于坐立姿态时的至少两个人类对象的至少两个平均物理头部尺寸。空间中的物理位置处于坐立姿态时的至少两个人类对象的平均物理头部尺寸可以包括空间中物理位置处的至少两个人类对象的头部的物理长度的平均值和/或空间中物理位置处的至少两个人类对象的头部的物理宽度的平均值。对于空间中的至少两个相应的物理位置,确定子单元608可以使用例如统计算法(例如,统计中值算法、直方图算法等)确定空间中的处于坐立姿态时的至少两个人类对象的平均物理头部尺寸。
样本帧中的至少两个位置中的每一个可以对应于空间中的至少两个物理位置之一。在一些实施例中,可以将样本帧中的至少两个不同位置的每一个位置用2D图像坐标系中的坐标值(x,y)来表示,并且将空间中的至少两个相应物理位置处的每一个可以用3D世界坐标系中的坐标值(X,Y,Z)表示。在一些实施例中,确定子单元608可以将在样本帧中的至少两个不同位置处的至少两个平均头部尺寸和在空间中的至少两个不同物理位置处的至少两个平均物理头部尺寸发送至生成子单元610用于生成相机标定模型。
生成子单元610可以生成摄像机(例如,捕获样本数据的摄像机)的相机标定模型。生成子单元610可以通过将样本帧中的至少两个不同位置处的至少两个平均头部尺寸与空间中的至少两个不同物理位置处的至少两个平均物理头部尺寸相关联来生成相机标定模型。样本帧中某位置的平均头部尺寸可以对应于空间中某物理位置的平均头部尺寸。生成子单元610可以基于确定样本帧中至少两个不同位置处的至少两个平均头部尺寸与空间中至少两个不同物理位置处的至少两个平均物理头部尺寸之间的转换关系来生成相机标定模型。摄像机的相机标定模型可以指的是3D世界坐标系中的物理信息与2D图像坐标系中的信息之间的转换的数学表示。3D世界坐标系可以是与空间相对应的坐标系。3D世界坐标系中的物理信息可以包括空间中的信息,例如空间中的物理位置、空间中的物理尺寸(例如,空间中的长度)等。2D图像坐标系中的信息可以包括多个帧中的信息,例如在一帧中的位置、在一帧中的尺寸(例如,在一帧中位置的长度)等。在一些实施例中,摄像机的相机标定模型可以表示为包含摄像机的固有参数和/或外部参数的相机矩阵。摄像机的固有参数可以包括摄像机的焦距、摄像机的主点等。摄像机的外部参数可以包括安装在空间中的摄像机的位置和/或取向。
在一些实施例中,样本帧中至少两个不同位置处的至少两个平均头部尺寸和空间中至少两个不同物理位置处的至少两个平均物理头部尺寸可以形成参考数据集。在一些实施例中,参考数据集可以表示为和/或存储在各种数据结构中,例如,查找表、堆栈、树、图等。
该描述旨在是说明性的,而不是限制本申请的范围。许多替代、修改和变化对本领域普通技术人员将是显而易见的。本文描述的示例性实施方式的特征、结构、方法和其它特征可以以各种方式组合以获得另外的和/或替代的示例性实施例。然而,这些变化和修改不会背离本申请的范围。例如,人体头部检测子单元604和人体头部追踪子单元606可以集成到单个子单元中以检测和追踪至少两个头部。
图7是根据本申请的一些实施例所示的用于生成相机标定模型的示例性流程700的流程图。可以在视频监控系统100(和/或图8所示的视频监控系统800)中实现流程700。例如,流程700可以作为一组指令存储在数据存储装置140中,并且由处理引擎120(例如,图1中所示的处理引擎120的一个或以上模块、图9所示的计算设备900、图10所示的移动设备1000的CPU 1008或GPU 1006)调用和/或执行。以下所示流程的操作仅出于说明的目的。在一些实施例中,流程700可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,图7所示和以下描述的流程操作的顺序并非旨在限制。
在702中,样本数据获取子单元602可以获取与空间的视频场景有关的样本数据。样本数据(例如,包括多个帧的视频)可以与处于坐立姿态时的至少两个人类对象相关联。在一些实施例中,样本数据获取子单元602可以从进行空间监控的至少一个摄像机获取样本数据。在一些实施例中,样本数据获取子单元602可以从数据存储器140、处理引擎120中的存储模块(未示出)或外部数据源(未示出)获取样本数据。在一些实施例中,样本数据获取子单元602可以获取在一段时间内(例如,过去一小时、过去一天、过去一个月等)的样本数据。
在704中,人体头部检测子单元604可以检测至少两个人类对象的至少两个头部。人体头部检测子单元604可以检测样本数据的多个帧中至少两个人类对象的至少两个头部。操作704可以与流程400中的操作402类似,因此在此不再赘述。
在706中,人体头部追踪子单元606可以追踪至少两个头部的运动。人体头部追踪子单元606可以追踪多个帧中的至少两个头部的运动。操作706可以与流程400中的操作404相似,因此在此不再赘述。
在708中,确定子单元608可以确定在视频场景的样本帧中至少两个不同位置处处于坐立姿态时至少两个人类对象的两个平均头部尺寸。对于样本帧中的至少两个不同位置中的每一个位置,确定子单元608可以使用统计算法(例如,统计中值算法、直方图算法)确定样本帧中处于坐立姿态时的至少两个人类对象的平均头部尺寸。
在710中,确定子单元608可以确定在空间中至少两个不同物理位置处处于坐立姿态时至少两个人类对象的至少两个平均物理头部尺寸。对于空间中的至少两个不同物理位置的每一个物理尺寸,确定子单元608可以使用统计算法来确定空间中的处于坐立姿态时的至少两个人类对象的平均物理头部尺寸。
在712中,生成子单元610可以通过将样本帧中的至少两个不同位置处的至少两个平均头部尺寸和在空间中至少两个不同物理位置处的至少两个平均物理头部尺寸相关联来生成相机标定模型。相机标定模型可以是捕获的样本数据的相机标定模型。样本帧中某位置处的平均头部尺寸可以对应于空间中某物理位置处的平均头部尺寸。生成子单元610可以基于确定样本帧中至少两个不同位置处的至少两个平均头部尺寸与空间中至少两个不同物理位置处的至少两个平均物理头部尺寸之间的转换关系来生成相机标定模型。
在一些实施例中,相机标定模型生成单元308可基于机器学习算法(包括,例如,基于实例的学习算法、回归分析算法、正则化算法等)执行流程700中的一个或多个操作(例如,操作708、操作710)。
该描述旨在是说明性的,而不是限制本申请的范围。许多替代、修改和变化对本领域普通技术人员将是显而易见的。本文描述的示例性实施方式的特征、结构、方法和其它特征可以以各种方式组合以获得另外的和/或替代的示例性实施例。然而,这些变化和修改不会背离本申请的范围。例如,操作708和操作710可以组合成独立的步骤。
图8是根据本申请的一些实施例所示的示例性视频监控系统800的示意图。在一些实施例中,视频监控系统800可以用于实现如上所述的一个或多个流程,例如,流程200、流程400、流程500和/或流程700。如图8所示,视频监控系统800可以包括一个或多个摄像机810、处理引擎820、存储设备830、网络840以及一个或多个终端850。在一些实施例中,摄像机810、处理引擎820、存储设备830和/或终端850可以通过无线连接(例如,网络840)、有线连接或其组合互相连接和/或通信。视频监控系统800中的组件之间的连接可以是可变的。仅作为示例,如图8所示,摄像机810可以通过网络840连接到处理引擎820。又例如,摄像机810可以直接连接到处理引擎820。再例如,存储设备830可以通过网络840连接到处理引擎820,如图8所示,或者直接连接到处理引擎820。作为又一示例,终端850可以通过网络840连接到处理引擎820,如图8所示,或者直接连接到处理引擎820。
摄像机810可以对空间和/或空间的视频场景进行监控。在一些实施例中,该空间可以是室内空间或室外空间。室内空间可以包括例如教室、商店、办公室、仓库、旅馆房间等。室外空间可以包括例如街道、公园等。空间的视频场景可包括感兴趣对象。例如,该空间可以是教室。教室的视频场景可以包括一个或以上人类对象(例如,老师、学生)以及一个或以上非人类对象(例如,桌子、投影仪、黑板、电视、墙壁、窗户)。
摄像机810可以包括位于空间的不同位置处的一个或以上摄像机。例如,该空间可以是教室。教室前面可以至少有一个摄像机用来监控教室里的学生,教室后面可以至少有2个摄像机来监控黑板和/或教室里的老师。在一些实施例中,摄像机810可以包括数字摄像机、彩色相机、单色相机、相机、便携式摄像机、个人计算机(PC)相机、摄像头、红外(IR)摄像机、闭路电视(CCTV)相机、热像仪摄像机、平移、倾斜、变焦(PTZ)相机、4K摄像机等,或其任意组合。
处理引擎820可以处理从摄像机810、存储设备830和/或终端850获取的数据和/或信息。例如,处理引擎820可以基于由摄像机810收集的数据来确定人类对象的姿态。在一些实施例中,处理引擎820可以是单个服务器或服务器组。服务器组可以是集中式或分布式的。在一些实施例中,处理引擎820可以是本地的或远程的。例如,处理引擎820可以经由网络840访问来自摄像机810、存储设备830和/或终端850的信息和/或数据。又例如,处理引擎820可以直接连接到摄像机810、存储设备830和/或终端850以访问信息和/或数据。在一些实施例中,处理引擎820可以在云平台上实现。例如,云平台可以包括私有云、公共云、混合云、社区云、分布式云、云间、多云等,或其任意组合。在一些实施例中,处理引擎820可以由如图9所示的计算设备900或如图10所示的移动设备1000来实现。
存储设备830可以存储数据、指令和/或任何其它信息。在一些实施例中,存储设备830可以存储从摄像机810、处理引擎820和/或终端850获取的数据。在一些实施例中,存储设备830可以存储由处理引擎820可以执行或用来执行本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备830可包括大容量存储器、可移动存储器、易失性读写内存、只读内存(ROM)等或其任意组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写内存可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取内存(DRAM)、双倍数据速率同步动态随机存取内存(DDR SDRAM)、静态随机存取内存(SRAM)、晶闸管随机存取内存(T-RAM)和零电容随机存取内存(Z-RAM)等。示例性ROM可以包括掩模型只读内存(MROM)、可编程只读内存(PROM)、可擦除可编程随机内存(EPROM)、电可擦除可编程内存(EEPROM),光盘只读内存(CD-ROM)和数字多功能磁盘只读内存等。在一些实施例中,可以在本申请中其它地方描述的云平台上实现存储设备830。
在一些实施例中,存储设备830可以连接到网络840,以与视频监控系统800中的一个或多个其他组件(例如,处理引擎820、终端850)通信。视频监控系统800中的一个或多个组件可以通过网络840访问存储在存储设备830中的数据或指令。在一些实施例中,存储设备830可以是处理引擎820的一部分。
网络840可以包括可促进视频监控系统800的信息和/或数据的交换的任何合适的网络。在一些实施例中,一个或多个视频监控系统800的组件(例如,摄像机810、处理引擎820、存储设备830、终端850)可以经由网络840与视频监控系统800的一个或多个其他组件传输信息和/或数据。例如,处理引擎820可以经由网络840从摄像机810获取视频数据。又例如,处理引擎820可以通过网络840从终端850获取用户指令。网络840可以是和/或包括公共网络(例如,互联网)、私有网络(例如,局部区域网络(LAN)、广域网网络(WAN)等)、有线网络(例如,以太网网络)、无线网络(例如802.11网络、Wi-Fi网络等)、蜂窝网络(例如,长期演进(LTE)网络)、帧中继网络、虚拟私人网络(VPN)、卫星网络、电话网络、路由器、集线器、交换机、服务器计算机和/或其任意组合。例如,网络840可以包括电缆网络、有线网络、光纤网络、电信网络、内联网、无线局部区域网络(WLAN)、大都市区网络(MAN)、公用交换电话网络(PSTN)、蓝牙TM网络、紫蜂TM网络、近场通信(NFC)网络等,或其任意组合。在一些实施例中,网络840可以包括一个或以上网络接入点。例如,网络840可以包括诸如基站和/或互联网交换点的有线和/或无线网络接入点,视频监控系统800的一个或多个组件可以通过有线和/或无线网络接入点连接到网络840以交换数据和/或信息。
终端850可以连接到摄像机810、处理引擎820和/或存储设备830和/或与之通信。例如,终端850可以从处理引擎820获取处理后的视频帧。又例如,终端850可以获取经由摄像机810获取视频数据,并将该视频数据发送至处理引擎820进行处理。在一些实施例中,终端850可以包括移动设备、平板电脑、笔记本电脑等,或其任意组合。例如,移动设备可以包括手机、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备、笔记本电脑、平板电脑、台式机等,或其任何组合。在一些实施例中,终端850可以包括输入设备、输出设备等。输入设备可以包括字母数字和其它按键,可以通过键盘、触摸屏(例如,带有触觉输入或触觉反馈)、语音输入、眼睛追踪输入、大脑检测系统或任何其它类似的输入机制。通过输入设备接收到的输入信息可以经由例如总线传输到处理引擎820,以进行进一步处理。其他类型的输入设备可以包括光标控制设备,例如鼠标、轨迹球或光标方向键等。输出设备可以包括显示器、扬声器、打印机等,或其任意组合。在一些实施例中,终端850可以是处理引擎820的一部分。
该描述旨在是说明性的,而不是限制本申请的范围。许多替代、修改和变化对本领域普通技术人员将是显而易见的。本文描述的示例性实施方式的特征、结构、方法和其它特征可以以各种方式组合以获得另外的和/或替代的示例性实施例。然而,这些变化和修改不会背离本申请的范围。
图9是根据本申请的一些实施例所示的示例性计算设备900的示例性硬件和/或软件部件的示意图,该计算设备可以实现处理引擎820(和/或处理引擎120)的功能。在一些实施例中,图1中的处理引擎120和/或图8中的处理引擎820可以在计算设备900上实现。如图9所示,计算设备900可以包括处理器910、存储器920、输入/输出(I/O)930和通信端口940。
处理器910可以执行计算机指令(例如,程序代码),并根据本申请描述的技术执行处理引擎820的功能。所述计算机指令可以包括例如执行在此描述的特定功能的常规、程序、对象、组件、数据结构、流程、模块和功能。例如,处理器910可以处理从摄像机810、存储设备830、终端850和/或视频监控系统800的任何其他组件获取的视频数据。在一些实施例中,处理器910可以包括一个或以上硬件处理器,诸如微控制器、微处理器、精简指令集计算机(RISC)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高阶RISC机器(ARM)、可编程逻辑器件(PLD)、能够执行一个或以上功能的任何电路或处理器等,或其任何组合。
仅仅为了说明,在计算设备900中仅描述了一个处理器。然而,应该注意的是,本申请中的计算设备900还可以包括多个处理器,由此执行的运行和/或方法步骤如本申请中所描述的一个处理器也可以由多个处理器联合地或单独地执行。例如,如果在本申请中计算设备900的处理器执行操作A和操作B两者,则应该理解,操作A和操作B也可以由计算设备900中的两个或以上不同的处理器共同地或单独地执行(例如,第一处理器执行操作A并且第二处理器执行操作B,或者第一处理器和第二处理器共同执行操作A和B)。
存储器920可以存储从视频监控系统800或视频监控系统100的组件获取的数据/信息。在一些实施例中,存储器920可包括大容量存储器、可移动存储器、易失性读写内存、只读内存(ROM)等或其任意组合。例如,大容量存储器可以包括磁盘、光盘、固态硬盘等。可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘和磁带等。易失性读写内存可以包括随机存取内存(RAM)。RAM可以包括动态RAM(DRAM)、双倍速率同步动态RAM(DDRSDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容RAM(Z-RAM)等。ROM可以包括掩码ROM(MROM)、可编程ROM(PROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字多功能磁盘ROM等。在一些实施例中,存储器920可以存储一个或以上程序和/或指令以执行本申请中描述的示例性方法。例如,存储器920可以存储用于处理引擎820或处理引擎120的程序,用于确定人类对象的姿态。
I/O 930可以输入和/或输出信号,数据、信息等。在一些实施例中,I/O 930可以实现与处理引擎820或处理引擎120用户交互。在一些实施例中,I/O 930可以包括输入设备和输出设备。示例性的输入设备可以包括键盘、鼠标、触控屏幕、麦克风等,或其任何组合。示例性的输出设备可以包括显示设备、扬声器、打印机、投影机等,或其任何组合。显示设备的示例可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面屏幕、电视设备、阴极射线管(CRT)、触摸屏屏幕等或其组合。
通信端口940可以连接到网络(例如,网络840)以促进数据通信。例如,通信端口940可以在处理引擎820、摄像机810、存储设备830和/或终端850之间建立连接。又例如,通信端口940可以在处理引擎120、摄像机110、数据存储器140和/或终端130之间建立连接。该连接可以是有线连接、无线连接、可以实现数据传输和/或接收的任何其它通信连接和/或这些连接的组合。有线连接可以包括例如电缆、光缆、电话线等,或其组合。无线连接可以包括例如蓝牙TM链接、Wi-Fi链接、WiMax链接、WLAN链接、紫蜂TM链接、移动网络链接(例如,3G、4G、5G等)等或其组合。在一些实施例中,通信端口940可以是和/或包括标准化的通信端口,诸如RS232、RS485等。在一些实施例中,通信端口940可以是专门设计的通信端口。例如,通信端口940可以根据医学数字成像和通信(DICOM)协议来设计。
图10是根据本申请的一些实施例所示的示例性移动设备1000的示例性硬件和/或软件部件的示意图,该示例性移动设备1000可以实现终端850(和/或终端130、处理引擎120和/或处理引擎820)的功能。如图10所示,移动设备1000可以包括通信平台1002、显示器1004、图形处理单元(GPU)1006、中央处理单元(CPU)1008、I/O 1010、内存1012以及储存器1018。在一些实施例中,任意其它合适的部件,包括但不限于系统总线或控制器(未示出),也可以被包括于移动设备1000中。在一些实施例中,移动操作系统1014(例如,iOSTM,AndroidTM,Windows PhoneTM等)和一个或以上应用程序1016可从存储器1018下载至内存1012以及由CPU 1008执行。应用程序1016可以包括浏览器或任何其他合适的移动应用程序,用于接收和呈现与视频处理有关的信息或处理引擎820或处理引擎120的其他信息。与信息流的用户交互可以通过I/O 1010实现,并通过网络840提供给处理引擎820和/或视频监控系统800的其他组件。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。这类修改、改进和修正在本申请中被建议,所以所述类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的流程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件实施、可以完全由软件(包括固件、常驻软件、微代码等)实施、也可以由硬件和软件组合实施。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
本申请各部分操作所需的计算机程序代码可以使用任意一种或以上程序设计语言编写,包括面向对象程序设计语言(例如,Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C语言、VB.NET、Python等)、常规程序化程序设计语言(例如,C程序设计语言、Visual Basic、Fortran2103、Perl、COBOL2102、PHP、ABAP)、动态成语设计语言(例如,Python、Ruby和Groovy),或其他程序设计语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其它名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,尽管上述各种组件的实现可以体现在硬件设备中,但也可以实现为纯软件解决方案,例如,在现有服务器或移动设备上的安装。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请的实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。相反,发明的主体应具备比上述单一实施例更少的特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
本文中提及的所有专利、专利申请、专利申请公布和其它材料(如论文、书籍、说明书、出版物、文件、事物等)均在此通过引用的方式全部并入本文以达到所有目的,与上述文件相关的任何起诉文档记录、与本文件不一致或冲突的任何上述文件或对迟早与本文件相关的权利要求书的广泛范畴有限定作用的任何上述文件除外。举例来说,如果在描述、定义和/或与任何所结合的材料相关联的术语的使用和与本文件相关联的术语之间存在任何不一致或冲突,则描述、定义和/或在本文件中使用的术语以本文件为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其它的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。
Claims (17)
1.一种运动检测系统,包括:
至少一个存储介质,包括一组指令;
至少一个与所述至少一个存储介质通信的处理器,其中当执行所述一组指令时,所述至少一个处理器被配置为使所述系统:
从至少一个摄像机获取与空间的视频场景有关的数据;
检测所述视频场景中的对象;
将所述对象分为人类对象或非人类对象;
当所述对象被分为人类对象时,
追踪所述人类对象的运动;以及
根据所述人类对象的所述运动,确定所述视频场景中所述人类对象的姿态;
为了根据所述人类对象的所述运动和所述至少一个摄像机的相机标定模型,确定所述视频场景中所述人类对象的姿态,所述至少一个处理器进一步被配置为使所述系统:
检测所述视频场景中所述人类对象的头部;
追踪所述人类对象的所述头部的运动;
确定所述人类对象的所述头部从所述视频场景的第一帧的第一位置到第二帧的第二位置的运动轨迹;
确定所述运动轨迹的长度和方向;
获取所述至少一个摄像机的相机标定模型;
根据所述运动轨迹的长度和所述相机标定模型确定所述运动轨迹的物理长度;以及
根据所述运动轨迹的所述物理长度和所述运动轨迹的所述方向确定所述视频场景中所述人类对象的所述姿态。
2.根据权利要求1所述的系统,其特征在于,所述至少一个处理器进一步被配置为使所述系统:
确定所述运动轨迹的所述物理长度是否大于第一阈值;
响应于确定所述运动轨迹的所述物理长度大于所述第一阈值,
确定所述运动轨迹的所述方向是向上还是向下;
如果所述运动轨迹的所述方向向下,则将所述视频场景的所述第二帧中的所述人类对象的所述姿态确定为坐立姿态,并将所述视频场景的所述第一帧中的所述人类对象的所述姿态确定为站立姿态;以及
如果所述运动轨迹的所述方向向上,则将所述视频场景的所述第二帧中的所述人类对象的所述姿态确定为所述站立姿态,并将所述视频场景的所述第一帧中的所述人类对象的所述姿态确定为所述坐立姿态。
3.根据权利要求2所述的系统,其特征在于,响应于所述运动轨迹的所述物理长度不大于所述第一阈值的确定结果,所述至少一个处理器进一步被配置为使所述系统:
确定所述人类对象在所述第一帧中位于所述第一位置的头部尺寸;
根据所述相机标定模型,确定所述人类对象的所述头部在所述第一帧中的所述第一位置对应的所述人类对象的所述头部在所述空间中第一物理位置;
基于参考数据集、所述人类对象的所述头部在所述第一帧中的所述第一位置以及所述人类对象的所述头部在所述空间的所述第一物理位置,获取所述第一帧中位于所述第一位置的平均头部尺寸,其中所述第一位置处的所述平均头部尺寸对应于处于所述坐立姿态时的至少两个人类对象的所述头部尺寸的平均值;
确定所述平均头部尺寸和所述第一帧中所述头部尺寸的差值;
确定所述差值是否大于第二阈值;
响应于确定所述差值大于所述第二阈值,将所述第一帧中所述人类对象的所述姿态确定为所述站立姿态;以及
响应于确定所述差值不大于所述第二阈值,将所述第一帧中所述人类对象的所述姿态确定为所述坐立姿态。
4.根据权利要求1所述的系统,其中,所述相机标定模型是基于学习过程而生成的,所述学习过程包括:
获取与所述空间的所述视频场景有关的样本数据,所述样本数据与处于所述坐立姿态时的至少两个人类对象相关联;
检测所述至少两个人类对象的至少两个头部;
追踪所述至少两个头部的运动;
确定所述至少两个人类对象在所述视频场景的样本帧中的至少两个不同位置处处于所述坐立姿态时的至少两个平均头部尺寸;
确定所述至少两个人类对象在所述空间中的至少两个不同物理位置处处于所述坐立姿态时的至少两个平均物理头部尺寸;以及
通过将所述样本帧中的所述至少两个不同位置处的所述至少两个平均头部尺寸与所述空间中的所述至少两个不同物理位置处的所述至少两个平均物理头部尺寸相关联来生成所述相机标定模型。
5.根据权利要求1所述的系统,其特征在于,所述至少一个处理器进一步被配置为使所述系统:
使用神经网络模型至少部分地基于所述人类对象的行为确定所述人类对象在所述空间中的角色。
6.根据权利要求1所述的系统,其特征在于,为了检测所述视频场景中的所述对象,所述至少一个处理器进一步被配置为使所述系统执行以下至少一项:
确定与所述对象有关的运动特征;
确定所述视频场景中的背景变化;或者
确定与所述对象有关的外部特征。
7.根据权利要求1所述的系统,其特征在于,为了将所述对象分为人类对象或非人类对象,所述至少一个处理器进一步被配置为使所述系统确定与所述对象相关的人体特征。
8.一种在计算设备上实现的运动检测方法,所述计算设备包括至少一个处理器和至少一个计算机可读存储介质,所述方法包括:
从至少一个摄像机获取与空间的视频场景有关的数据;
检测所述视频场景中的对象;
将所述对象分为人类对象或非人类对象;
当所述对象被分为人类对象时,
追踪所述人类对象的运动;以及
根据所述人类对象的所述运动,确定所述视频场景中的所述人类对象的姿态;
根据所述人类对象的所述运动和所述至少一个摄像机的相机标定模型,来确定所述视频场景中的所述人类对象的姿态包括:
检测所述视频场景中所述人类对象的头部;
追踪所述人类对象的所述头部的运动;
确定所述人类对象的所述头部从所述视频场景中第一帧的第一位置到第二帧的第二位置的运动轨迹;
确定所述运动轨迹的长度和方向;
获取所述至少一个摄像机的相机标定模型;
根据所述运动轨迹的长度和所述相机标定模型确定所述运动轨迹的物理长度;以及
根据所述运动轨迹的所述方向和所述运动轨迹的所述物理长度,确定所述视频场景中所述人类对象的所述姿态。
9.根据权利要求8所述的方法,还包括:
确定所述运动轨迹的所述物理长度是否大于第一阈值;
响应于确定所述运动轨迹的所述物理长度大于所述第一阈值,
确定所述运动轨迹的所述方向是向上还是向下;
如果所述运动轨迹的所述方向向下,则将所述视频场景的所述第二帧中的所述人类对象的所述姿态确定为坐立姿态,并将所述视频场景中的所述第一帧中所述人类对象的所述姿态确定为站立姿态;以及
如果所述运动轨迹的所述方向向上,则将所述视频场景的所述第二帧中的所述人类对象的所述姿态确定为所述站立姿态,并将所述视频场景中的所述第一帧中的所述人类对象的所述姿态确定为所述坐立姿态。
10.根据权利要求8所述的方法,其特征在于,响应于所述运动轨迹的所述物理长度不大于第一阈值的确定结果,所述方法还包括:
确定所述第一帧中位于所述第一位置的所述人类对象的头部尺寸;
根据所述相机标定模型,确定所述人类对象的所述头部的在所述第一帧中的所述第一位置对应的所述人体对象的所述头部在所述空间中第一物理位置;
基于参考数据集、所述人类对象的所述头部在所述第一帧中的所述第一位置以及所述人类对象的所述头部在所述空间的所述第一物理位置,获取所述第一帧中位于所述第一位置的平均头部尺寸,其中所述第一位置处的所述平均头部尺寸对应于处于坐立姿态时的至少两个人类对象的所述头部尺寸的平均值;
确定所述平均头部尺寸和所述第一帧中所述头部尺寸差值;
确定所述差值是否大于第二阈值;
响应于确定所述差值大于所述第二阈值,将所述第一帧中的所述人类对象的所述姿态确定为站立姿态;以及
响应于确定所述差值不大于所述第二阈值,将所述第一帧中所述人类对象的所述姿态确定为所述坐立姿态。
11.根据权利要求8所述的方法,其特征在于,所述相机标定模型是基于学习过程生成的,所述学习过程包括:
获取与所述空间的所述视频场景有关的样本数据,所述样本数据与处于坐立姿态时的至少两个人类对象相关联;
检测所述至少两个人类对象的至少两个头部;
追踪所述至少两个头部的运动;
确定所述至少两个人类对象在所述视频场景的样本帧中至少两个不同位置处处于所述坐立姿态时的至少两个平均头部尺寸;
确定所述至少两个人类对象在所述空间中的至少两个不同物理位置处于所述坐立姿态时的至少两个平均物理头部尺寸;以及
通过将所述样本帧中的所述至少两个不同位置处的所述至少两个平均头部尺寸与所述空间中的所述至少两个不同物理位置处的所述至少两个平均物理头部尺寸相关联来生成所述相机标定模型。
12.根据权利要求8所述的方法,还包括:
使用神经网络模型至少部分地基于所述人类对象的行为确定所述人类对象在所述空间中的角色。
13.根据权利要求8所述的方法,其特征在于,所述检测所述视频场景中的所述对象包括以下至少一项:
确定与所述对象有关的运动特征;
确定所述视频场景中的背景变化;或者
确定与所述对象有关的外部特征。
14.根据权利要求8所述的方法,其特征在于,将所述对象分为人类对象或非人类对象包括确定与所述对象相关的人体特征。
15.一种包含计算机程序产品的非临时性计算机可读介质,其中所述计算机程序产品包含一组指令,所述指令可以使计算机设备执行:
从至少一个摄像机获取与一个空间的视频场景有关的数据;
检测所述视频场景中的对象;
将所述对象分为人类对象或非人类对象;
当所述对象被分为人类对象时,
追踪所述人类对象的运动;以及
根据所述人类对象的所述运动,确定所述视频场景中所述人类对象的姿态;
为了根据所述人类对象的所述运动和所述至少一个摄像机的相机标定模型,来确定所述视频场景中的所述人类对象的姿态,所述指令被进一步配置为使所述计算机设备:
检测所述视频场景中的所述人类对象的头部;
追踪所述人类对象的所述头部的运动;
确定所述人类对象的所述头部从所述视频的第一帧的第一位置到第二帧的第二位置的运动轨迹;
确定所述运动堆积的长度和方向;
获取所述至少一个摄像机的相机标定模型;
根据所述运动轨迹和所述相机标定模型确定所述运动轨迹的物理长度;以及
根据所述运动轨迹的所述方向和所述运动轨迹的所述物理长度确定所述视频场景中所述人类对象的所述姿态。
16.根据权利要求15所述的非暂时性计算机可读介质,其特征在于,所述指令被进一步配置为使所述计算机设备:
确定所述运动轨迹的所述物理长度是否大于第一阈值;
响应于确定所述运动轨迹的所述物理长度大于所述第一阈值,
确定所述运动轨迹的所述方向是向上还是向下;
如果所述运动轨迹的所述方向向下,则将所述视频场景的所述第二帧中的所述人类对象的所述姿态确定为坐立姿态,并将所述视频场景的所述第一帧中的所述人类对象的所述姿态确定为站立姿态;以及
如果所述运动轨迹的所述方向向上,则将所述视频场景的所述第二帧中的所述人类对象的所述姿态确定为所述站立姿态,并将所述视频场景的所示第一帧中的所述人类对象的所述姿态确定为所述坐立姿态。
17.根据权利要求16所述的非暂时性计算机可读介质,其特征在于,响应于所述运动轨迹的所述物理长度不大于所述第一阈值的确定结果,所述指令被进一步配置为使所述计算机设备:
确定所述第一帧中位于所述第一位置的所述人类对象的头部尺寸;
根据所述相机标定模型,确定所述人类对象的所述头部在所述第一帧中的所述第一位置对应的所述人类对象的所述头部在所述空间中的第一物理位置;
基于参考数据集、所述人类对象的所述头部在所述第一帧中的所述第一位置以及所述人类对象的所述头部在所述空间的所述第一物理位置,获取所述第一帧中位于所述第一位置的平均头部尺寸,其中所述第一位置处的所述平均头部尺寸对应于处于所述坐立姿态时的至少两个人类对象的所述头部尺寸的平均值;
确定所述平均头部尺寸和所述第一帧中所述头部尺寸的差值;
确定所述差值是否大于第二阈值;
响应于确定所述差值大于所述第二阈值,将所述第一帧中所述人类对象的所述姿态确定为所述站立姿态;以及
响应于确定所述差值不大于所述第二阈值,将所述第一帧中所述人类对象的所述姿态确定为所述坐立姿态。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862664064P | 2018-04-27 | 2018-04-27 | |
US62/664,064 | 2018-04-27 | ||
PCT/CN2019/084381 WO2019206239A1 (en) | 2018-04-27 | 2019-04-25 | Systems and methods for detecting a posture of a human object |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111684460A CN111684460A (zh) | 2020-09-18 |
CN111684460B true CN111684460B (zh) | 2023-09-22 |
Family
ID=68294833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980011325.0A Active CN111684460B (zh) | 2018-04-27 | 2019-04-25 | 检测人类对象的姿态的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11783635B2 (zh) |
CN (1) | CN111684460B (zh) |
WO (1) | WO2019206239A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020141588A1 (ja) * | 2019-01-02 | 2020-07-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 情報処理装置、情報処理方法及びプログラム |
CN111259824B (zh) * | 2020-01-19 | 2023-04-14 | 成都依能科技股份有限公司 | 基于教室尺寸自动生成扫描路径的方法 |
CN111898552B (zh) * | 2020-07-31 | 2022-12-27 | 成都新潮传媒集团有限公司 | 一种判别人员关注目标物的方法、装置及计算机设备 |
EP4016376A1 (en) * | 2020-12-18 | 2022-06-22 | Toyota Jidosha Kabushiki Kaisha | Computer-implemented process monitoring method |
CN113378762B (zh) * | 2021-06-25 | 2023-08-08 | 宁波星巡智能科技有限公司 | 坐姿智能监测方法、装置、设备及存储介质 |
US20230004740A1 (en) * | 2021-06-30 | 2023-01-05 | Ubtech North America Research And Development Center Corp | Human lying posture detection method and mobile machine using the same |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499128A (zh) * | 2008-01-30 | 2009-08-05 | 中国科学院自动化研究所 | 基于视频流的三维人脸动作检测和跟踪方法 |
CN102968802A (zh) * | 2012-11-28 | 2013-03-13 | 无锡港湾网络科技有限公司 | 一种基于视频监控的运动目标分析跟踪方法及系统 |
CN105938540A (zh) * | 2015-03-03 | 2016-09-14 | 富士通株式会社 | 行为检测方法和行为检测设备 |
CN107038415A (zh) * | 2017-03-08 | 2017-08-11 | 内蒙古智诚物联股份有限公司 | 一种基于人工智能视频的异常行为检测方法、系统及装置 |
CN107066975A (zh) * | 2017-04-17 | 2017-08-18 | 合肥工业大学 | 基于深度传感器的视频识别与跟踪系统及其方法 |
CN107087211A (zh) * | 2017-03-30 | 2017-08-22 | 北京奇艺世纪科技有限公司 | 一种主持人镜头检测方法及装置 |
CN107166645A (zh) * | 2017-05-18 | 2017-09-15 | 厦门瑞为信息技术有限公司 | 一种基于室内场景分析的空调控制方法 |
CN206674094U (zh) * | 2017-04-17 | 2017-11-24 | 上海景瑞信息技术有限公司 | 基于人脸识别的摄像机自动控制系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6720949B1 (en) | 1997-08-22 | 2004-04-13 | Timothy R. Pryor | Man machine interfaces and applications |
US7940937B2 (en) | 1999-10-28 | 2011-05-10 | Clive Smith | Transducer for sensing body sounds |
US20050265580A1 (en) | 2004-05-27 | 2005-12-01 | Paul Antonucci | System and method for a motion visualizer |
US20090041297A1 (en) | 2005-05-31 | 2009-02-12 | Objectvideo, Inc. | Human detection and tracking for security applications |
US7801330B2 (en) | 2005-06-24 | 2010-09-21 | Objectvideo, Inc. | Target detection and tracking from video streams |
US7613324B2 (en) * | 2005-06-24 | 2009-11-03 | ObjectVideo, Inc | Detection of change in posture in video |
CN101419499B (zh) | 2008-11-14 | 2010-06-02 | 东南大学 | 基于摄像头和话筒的多媒体人机交互方法 |
US9047751B2 (en) * | 2010-01-07 | 2015-06-02 | Nikon Corporation | Image determining device to determine the state of a subject |
JP2013521576A (ja) | 2010-02-28 | 2013-06-10 | オスターハウト グループ インコーポレイテッド | 対話式ヘッド取付け型アイピース上での地域広告コンテンツ |
US9165190B2 (en) * | 2012-09-12 | 2015-10-20 | Avigilon Fortress Corporation | 3D human pose and shape modeling |
EP3309748A4 (en) * | 2015-06-10 | 2018-06-06 | Konica Minolta, Inc. | Image processing system, image processing device, image processing method, and image processing program |
US10262423B2 (en) * | 2016-03-29 | 2019-04-16 | Verily Life Sciences Llc | Disease and fall risk assessment using depth mapping systems |
-
2019
- 2019-04-25 WO PCT/CN2019/084381 patent/WO2019206239A1/en active Application Filing
- 2019-04-25 CN CN201980011325.0A patent/CN111684460B/zh active Active
-
2020
- 2020-09-30 US US17/039,791 patent/US11783635B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499128A (zh) * | 2008-01-30 | 2009-08-05 | 中国科学院自动化研究所 | 基于视频流的三维人脸动作检测和跟踪方法 |
CN102968802A (zh) * | 2012-11-28 | 2013-03-13 | 无锡港湾网络科技有限公司 | 一种基于视频监控的运动目标分析跟踪方法及系统 |
CN105938540A (zh) * | 2015-03-03 | 2016-09-14 | 富士通株式会社 | 行为检测方法和行为检测设备 |
CN107038415A (zh) * | 2017-03-08 | 2017-08-11 | 内蒙古智诚物联股份有限公司 | 一种基于人工智能视频的异常行为检测方法、系统及装置 |
CN107087211A (zh) * | 2017-03-30 | 2017-08-22 | 北京奇艺世纪科技有限公司 | 一种主持人镜头检测方法及装置 |
CN107066975A (zh) * | 2017-04-17 | 2017-08-18 | 合肥工业大学 | 基于深度传感器的视频识别与跟踪系统及其方法 |
CN206674094U (zh) * | 2017-04-17 | 2017-11-24 | 上海景瑞信息技术有限公司 | 基于人脸识别的摄像机自动控制系统 |
CN107166645A (zh) * | 2017-05-18 | 2017-09-15 | 厦门瑞为信息技术有限公司 | 一种基于室内场景分析的空调控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019206239A1 (en) | 2019-10-31 |
US20210019506A1 (en) | 2021-01-21 |
US11783635B2 (en) | 2023-10-10 |
CN111684460A (zh) | 2020-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111684460B (zh) | 检测人类对象的姿态的系统和方法 | |
Chang et al. | Matterport3d: Learning from rgb-d data in indoor environments | |
US20230019607A1 (en) | Systems and methods for moving content between virtual and physical displays | |
US10572970B2 (en) | Extracting 2D floor plan from 3D GRID representation of interior space | |
US20190392630A1 (en) | Automated understanding of three dimensional (3d) scenes for augmented reality applications | |
Wan et al. | 3D SMoSIFT: three-dimensional sparse motion scale invariant feature transform for activity recognition from RGB-D videos | |
CN109284737A (zh) | 一种用于智慧教室的学生行为分析和识别系统 | |
US20200160049A1 (en) | Age classification of humans based on image depth and human pose | |
US10401947B2 (en) | Method for simulating and controlling virtual sphere in a mobile device | |
Min et al. | A scene recognition and semantic analysis approach to unhealthy sitting posture detection during screen-reading | |
CN112070052A (zh) | 一种间距监测方法、装置、系统及存储介质 | |
Xie et al. | Integration of GIS and moving objects in surveillance video | |
Dong et al. | Stitching videos from a fisheye lens camera and a wide-angle lens camera for telepresence robots | |
Gomes et al. | Multi-human fall detection and localization in videos | |
Alanazi et al. | Human fall detection using 3D multi-stream convolutional neural networks with fusion | |
Mahbub et al. | Advances in human action, activity and gesture recognition | |
Savran et al. | Face pose alignment with event cameras | |
Ruget et al. | Pixels2pose: Super-resolution time-of-flight imaging for 3d pose estimation | |
Boonsongsrikul et al. | Real-time human motion tracking by tello EDU drone | |
Yang et al. | Error-Resistant Movement Detection Algorithm for the Elderly with Smart Mirror | |
Ni et al. | An improved kernelized correlation filter based visual tracking method | |
Yang et al. | Simultaneous active camera array focus plane estimation and occluded moving object imaging | |
Kacete et al. | Head pose free 3D gaze estimation using RGB-D camera | |
Kushwaha et al. | Collaborative 3d target tracking in distributed smart camera networks for wide-area surveillance | |
Drahanský et al. | Thermal Imaging Detection System: A Case Study for Indoor Environments |
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 |