CN113228626B - 视频监控系统和方法 - Google Patents
视频监控系统和方法 Download PDFInfo
- Publication number
- CN113228626B CN113228626B CN201880100531.4A CN201880100531A CN113228626B CN 113228626 B CN113228626 B CN 113228626B CN 201880100531 A CN201880100531 A CN 201880100531A CN 113228626 B CN113228626 B CN 113228626B
- Authority
- CN
- China
- Prior art keywords
- face
- interest
- frame
- tracked
- current 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
Images
Classifications
-
- 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/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
-
- 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
- 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
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- 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/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30232—Surveillance
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Closed-Circuit Television Systems (AREA)
- Image Analysis (AREA)
Abstract
提供了用于跟踪视频监控中的对象的系统和方法。一种方法可以包括:获取包括至少两个连续帧的视频;从所述至少两个连续帧中获取当前帧,其中在所述当前帧的至少两个先前帧中识别感兴趣的对象;从所述至少两个先前帧中获取至少两个模板帧;以及使用相关滤波器基于所述至少两个模板帧来识别所述当前帧中与所述感兴趣的对象相关的位置。
Description
技术领域
本说明书一般涉及视频监控,更具体地,涉及用于在视频监控中跟踪对象的系统和方法。
背景技术
随着视频监控技术的开发和广泛应用,对象跟踪(例如,人脸跟踪)广泛应用于各种环境场景,并为后续对象优化(例如,人脸优化)和对象识别(例如,人脸识别)提供关键技术支持。通常,基于两个连续帧之间与人脸区域相关的重叠区域的百分比来跟踪视频中的人脸。当由于人脸被遮挡或模糊而在帧中没有检测到人脸时,可以使用目标跟踪算法来确定人脸在随后的帧中的位置。
目标跟踪算法主要提取帧中目标区域的关键特征。然而,作为非刚性对象,人脸的运动状态是不确定的。出现在不同视频序列中的同一个人的脸可能具有不同的形状,这使得选择该人的模板特征变得困难。模板特征的选择可能影响人位置的确定,从而进一步影响该人在不同视频序列中移动时人脸跟踪的准确性。
发明内容
本说明书的第一方面介绍了一种用于跟踪视频监控中的对象的系统。该系统可以包括:至少一种存储介质,其中包括用于跟踪视频监控中的对象的一组指令;以及至少一个与所述存储介质通信的处理器。当执行所述一组指令时,所述至少一个处理器可以被指示用于:获取包括至少两个连续帧的视频;从所述至少两个连续帧中获取当前帧,其中在所述当前帧的至少两个先前帧中识别感兴趣的对象;从所述至少两个先前帧中获取至少两个模板帧;使用相关滤波器基于所述至少两个模板帧来识别所述当前帧中与所述感兴趣的对象相关的位置。
在一些实施例中,所述至少一个处理器还被指示用于:基于与所述当前帧中识别到的所述感兴趣的对象相关的位置来识别所述当前帧的一个或以上后续帧中的所述感兴趣的对象。
在一些实施例中,所述感兴趣的对象是感兴趣的人,并且所述至少一个处理器还被指示用于:从视频中获取一个或以上被跟踪人脸;基于所述当前帧确定一个或以上人脸区域;从所述一个或以上被跟踪人脸中选择一个被跟踪人脸;从所述一个或以上人脸区域中选择一个人脸区域;以及确定所述人脸区域是否与所述被跟踪人脸相关。
在一些实施例中,所述至少一个处理器还被指示用于:响应于所述人脸区域与所述被跟踪人脸相关的确定,将所述人脸区域与对应于所述被跟踪人脸的感兴趣的人相关;以及使用所述人脸区域更新所述当前帧中的所述被跟踪人脸。
在一些实施例中,所述至少一个处理器还被指示用于:响应于所述人脸区域与所述被跟踪人脸不相关的确定,基于所述相关滤波器识别所述当前帧中与所述感兴趣的人相关的位置;以及使用所述识别到的位置更新所述当前帧中的所述被跟踪人脸。
在一些实施例中,为了确定所述人脸区域是否与所述被跟踪人脸相关,所述至少一个处理器还被指示用于:确定所述人脸区域和所述被跟踪人脸之间的重叠区域的百分比是否超过重叠阈值;以及响应于所述重叠区域的百分比超过所述重叠阈值的确定,确定所述人脸区域与所述被跟踪人脸相关。
在一些实施例中,所述感兴趣的对象是感兴趣的人,并且为了获取所述至少两个模板帧,所述至少一个处理器还被指示用于:基于所述当前帧的先前帧来确定与所述感兴趣的人相关的匹配时段;以及基于匹配时段确定至少两个模板帧,其中在至少两个模板帧中识别感兴趣的人。
在一些实施例中,为了识别所述位置,所述至少一个处理器还被指示用于:基于与所述当前帧相关的参考帧确定所述当前帧中的搜索区域;使用所述相关滤波器基于所述搜索区域和所述至少两个模板帧确定至少两个候选人脸区域;以及基于所述至少两个候选人脸区域识别所述当前帧中与所述感兴趣的人相关的位置。
在一些实施例中,所述参考帧是所述当前帧旁边的先前帧。
在一些实施例中,所述至少两个模板帧包括所述匹配时段中的第一帧、所述匹配时段中的中间一帧、以及所述匹配时段中的最后一帧。
根据本说明书的第二方面,一种操作一个或以上服务器用于跟踪视频监控中的对象的方法可以包括:获取包括至少两个连续帧的视频;从所述至少两个连续帧中获取当前帧,其中在所述当前帧的至少两个先前帧中识别感兴趣的对象;从所述至少两个先前帧中获取至少两个模板帧;以及使用相关滤波器基于所述至少两个模板帧来识别所述当前帧中与所述感兴趣的对象相关的位置。
根据本说明书的第三方面,一种非暂时性计算机可读介质,其中包括用于在视频监控中跟踪对象的至少一组指令,其特征在于,当由一个或以上电子设备中的至少一个处理器执行时,所述至少一组指令指示所述至少一个处理器:获取包括至少两个连续帧的视频;从所述至少两个连续帧中获取当前帧,其中在所述当前帧的至少两个先前帧中识别感兴趣的对象;从所述至少两个先前帧中获取至少两个模板帧;以及使用相关滤波器基于所述至少两个模板帧来识别所述当前帧中与所述感兴趣的对象相关的位置。
本说明书的一部分附加特性可以在以下描述中进行说明。通过对以下描述和对应附图的研究或者对实施例的生产或操作的了解,本说明书的一部分附加特性对于本领域技术人员是明显的。本说明书的特征可以通过对以下描述的具体实施例的各个方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本说明书将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。附图未按比例绘制。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:
图1是根据本说明书的一些实施例所示的示例性对象跟踪系统的示意图;
图2是根据本说明书的一些实施例所示的示例性计算设备的示例性硬件和/或软件组件的示意图;
图3是根据本说明书的一些实施例所示的示例性用户设备的示例性组件的示意图;
图4是根据本说明书的一些实施例所示的示例性服务器的框图;
图5是根据本说明书的一些实施例所示的用于跟踪对象的示例性过程的流程图;
图6是根据本说明书的一些实施例所示的用于跟踪对象的示例性过程的流程图;
图7是根据本说明书的一些实施例所示的基于相关滤波器跟踪对象的示例性过程的流程图;以及
图8是根据本说明书的一些实施例所示的在三个连续帧上跟踪感兴趣的人的示例性过程的示意图。
具体实施方式
为了更清楚地说明本说明书的实施例的技术方案,以下将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,以下描述中的附图仅仅是本说明书的一些示例或实施例。对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构和操作。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。需进一步理解的是,本说明书中使用的术语“包括”和/或“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,还可以包括其它的步骤和元素。
根据本说明书的一些实施例,系统的一些模块可以以各种方式被提及,然而,可以在客户端和/或服务器中使用和操作任意数量的不同模块。这些模块仅用于举例说明,并不用于限制本说明书的范围。在系统和方法的不同方面可以使用不同的模块。
根据本说明书的一些实施例,流程图用于说明系统执行的操作。应当理解的是,前面或以下的操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或以上操作。
参考附图描述本说明书的实施例的技术方案,如下所述。显然,所描述的实施例不是穷举性的,也不是限制性的。基于本说明书中提出的实施例,本领域普通技术人员在没有作出创造性劳动的情况下获取的其他实施例,均在本说明书的范围内。
本说明书的一个方面涉及用于跟踪视频中的一个或以上对象的系统和方法。所述系统和方法可以选择视频中的至少两个帧作为模板,用于在当前帧中的感兴趣的对象被遮挡或无法识别时预测当前帧中的感兴趣的对象的位置。所述位置可用于跟踪视频中感兴趣的对象。被选择作为模板的至少两个帧可以包括感兴趣的对象的不同特征(例如,感兴趣的人的脸部的不同形态),并且感兴趣的对象可以在所选择的至少两个帧中被识别(例如,所选择的至少两个帧中的每一帧包括感兴趣的对象的识别位置或识别区域)。所述系统和方法可根据相关滤波器,基于所述感兴趣的对象在所述至少两个帧中的识别位置或识别区域,来确定所述感兴趣的对象在当前帧中的位置。利用所述感兴趣的对象在所述至少两个帧中的不同特征,所述系统和方法可以提高在视频中跟踪对象的鲁棒性。
图1是根据本说明书的一些实施例所示的示例性对象跟踪系统的示意图。对象跟踪系统100可以被配置为处理图像或由至少两个图像(也称为“帧”)组成的视频。如图所示,对象跟踪系统100可以包括视频源101、编码器104、缓冲器管理器105、缓冲器106、发射器107、终端108(或至少两个终端108)、网络112和网络存储设备113(或至少两个网络存储设备113)。
视频源101可以通过网络112将视频发送到终端108。视频源101可以自己生成视频或者通过视频传输站点生成视频。视频源101可以包括相机102和/或服务器103。
相机102可以被配置为执行对感兴趣的区域(AOI)或感兴趣的对象的监控。在一些实施例中,相机102可以是静止的视频传感器。本文所使用的视频传感器可指用于视觉记录的设备。视频传感器可以捕获与AOI或感兴趣的对象相关的图像数据。图像数据可以包括视频、图像或其组合。本文所使用的术语“视频”可以指以模拟和/或数字形式表示的动态图片。例如,视频可以包括影片、来自相机或其他观察者的图像序列、计算机生成的图像序列等,或其组合。本文所使用的序列(也称为帧)可以指视频内的特定图像或其他离散单元。视频传感器可以在摄影机中实现。摄影机可以包括彩色摄像机、数字摄像机、摄像机、PC摄像机、网络摄像机、红外(IR)摄像机、微光摄像机、热摄像机、CCTV摄像机、摇摄、俯仰摄影机、变焦(PTZ)摄像机、视频感测设备、互联网协议(IP)摄像机等,或其组合。图像可以是三维(3D)图像或二维(2D)图像。
在一些实施例中,相机102可以包括相机处理电路。相机处理电路可以被配置为处理与本说明书中的相机102有关的数据和/或信息和/或控制相机102中的一个或以上组件(例如,透镜,快门)。例如,相机处理电路可以自动确定相机102的曝光参数的值,例如曝光时间、曝光增益和光圈尺寸。相机处理电路还可以调整相机102拍摄的图像的质量,例如图像的锐度。再例如,相机处理电路可以确定相机102是否检测到人。响应于确定检测到了人,相机处理电路可以使用相机102捕获人的正脸。在一些实施例中,相机处理电路可以在相机102的本地或远程。例如,相机处理电路可以经由网络112与相机102通信。作为另一示例,相机处理电路可以集成到相机102中。
在一些实施例中,相机102可以包括存储设备。存储设备可以存储数据、指令和/或任何其他信息。在一些实施例中,存储设备可以存储从处理设备获取的数据。例如,存储设备可以存储捕获的图像。在一些实施例中,存储设备可以存储数据和/或指令,处理设备可以执行或使用这些数据和/或指令来执行本说明书中描述的示例性方法。在一些实施例中,存储设备可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等,或其任意组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写内存可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取内存(DRAM)、双倍数据速率同步动态随机存取内存(DDRSDRAM)、静态随机存取内存(SRAM)、晶闸管随机存取内存(T-RAM)和零电容随机存取内存(Z-RAM)等。示例性ROM可包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字多功能磁盘ROM等。除了捕获的图像之外,帧信息、在本发明中提取的特征以及一些其他中间数据也可以保存在存储设备中。
服务器103可以处理从相机102、网络存储设备113等获取的数据和/或信息。例如,服务器103可以从相机102和/或网络存储设备113获取图像数据(例如,图像、视频等)。服务器103可以基于图像数据跟踪对象(例如,人脸)。例如,服务器103可以识别一帧图像中感兴趣的人的人脸。服务器103可以基于相邻帧中的人脸的位置信息,在不同帧中跟踪对应于同一感兴趣的人的人脸。
在一些实施例中,服务器103可以获取包括至少两个连续帧的视频。例如,服务器103可以经由网络112从相机102和/或网络存储设备113获取视频。服务器103可以在视频的第一帧中识别包括人脸的人脸区域,并且在随后的帧中跟踪与所述人脸对应的感兴趣的人。例如,服务器103可以基于人脸检测算法来识别人脸区域,其中每个人脸区域是一个人脸识别框。服务器103可以基于与当前帧相邻的前一帧中的人脸区域和当前帧中的人脸区域之间的重叠区域的百分比来跟踪当前帧中的感兴趣的人。
在一些实施例中,感兴趣的人可以在当前帧中至少部分被遮挡,并且基于重叠区域的百分比在当前帧中无法被跟踪。响应于基于重叠区域的百分比在当前帧中无法跟踪感兴趣的人的确定,服务器103可以使用相关滤波器确定当前帧中与感兴趣的人相关的位置。相关滤波器可以基于对应于感兴趣的人的至少两个人脸图像(例如,至少两个帧,每个帧包括对应于感兴趣的人的人脸区域)来构造。所述至少两个人脸图像可以以不同姿势描述感兴趣的人,并且包括比单个人脸图像更多的感兴趣的人的面部特征。服务器103可以对当前帧中的指定区域执行相关滤波,以根据特征确定至少两个人脸图像中与感兴趣的人对应的人脸区域与指定区域之间的相似度。所述至少两个人脸图像中的一个的人脸区域与所述指定区域之间的相似度可以包括对应于所述人脸区域和所述指定区域中的不同位置的至少两个相似度,其中,所述至少两个相似度中的每一个表示在所述人脸区域中的一个位置的图像数据与在所述指定区域中的一个位置的图像数据之间的相似度。服务器103可以基于具有最大相似度的位置来确定与感兴趣的人相关的位置。与当前帧中的感兴趣的人相关的位置可用于跟踪当前帧的后续帧中的感兴趣的人。
在一些实施例中,响应于确定基于重叠区域的百分比不能在至少两个连续帧中跟踪感兴趣的人,服务器103可以确定感兴趣的人在视频中消失并且可能不再需要被跟踪。
在一些实施例中,服务器103可以是工作站或服务器。例如,服务器103可以是单个服务器或服务器组。所述服务器组可以是集中式或分布式的。在一些实施例中,服务器103可以是本地的或远程的。例如,服务器103可以经由网络112访问存储在相机102和/或网络存储设备113中的信息和/或数据。作为另一示例,服务器103可以直接连接到相机102和/或网络存储设备113以访问存储的信息和/或数据。在一些实施例中,服务器103可以在云平台上实现。仅作为示例,云平台可包括私有云、公共云、混合云、社区云、分布式云、云间云、多云等,或其组合。
在通过网络112发送视频之前,视频源101可以将视频发送到编码器104进行编码,或者将视频通过缓冲管理器105发送到缓冲器106。例如,由视频源101提供的视频可以相对较大(例如,原始视频数据、以低压缩率编码的视频),因此在传输之前,视频源101可以将视频发送到编码器104以进行压缩。作为另一示例,由视频源101提供的视频可以大小适当,并且视频源101可以通过缓冲器管理器105直接将视频发送到缓冲器106以进行视频传输。
编码器104可以是来自视频源101的远程设备或者在视频源101中的本地设备。在通过网络112发送视频之前,编码器104可以对由视频源101提供的视频进行编码。通过编码,可以压缩和/或加密要发送的视频。例如,编码器104可以使用用于视频压缩的算法对视频进行编码,使得用于传输视频的成本(例如,时间成本、资源成本、财务成本)可以显著降低。可选地或附加地,编码器104可以使用用于视频加密的算法对视频进行编码,以便可以安全地传输视频,并且未经许可的用户无法观看视频。编码器104可以逐帧编码视频帧并生成至少两个编码过的视频帧。编码器104可以通过缓冲器管理器105将编码过的视频帧发送到缓冲器106。可选地或附加地,缓冲器管理器105可以从编码器104获取编码过的视频帧。在一些实施例中,编码器104可以使用基于运动图像专家组(MPEG)的编码技术对要发送的视频进行编码。
要发送的视频帧和/或图像可以以视频帧缓冲队列的形式存储在缓冲器106中,视频帧缓冲队列可以由缓冲器管理器105管理。缓冲器106可以使用基于队列的数据结构来缓冲要发送的视频。
缓冲器106可以是用于缓冲要通过网络112传输的视频的存储设备。它可以是来自视频源101的远程设备或者在视频源101中的本地设备,例如相机102的存储介质。缓冲器106可包括大容量存储设备、可移动存储设备、易失性读写存储器、只读存储器(ROM)等,或其任意组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(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等。
发射器107可以将缓冲在缓冲器106中的视频或视频帧发送到网络112。发射器107可以响应于从视频源101、缓冲器管理器105、终端108等或其组合发送的指令来发送视频或视频帧。可选地或附加地,发射器107可以自发地发送存储在缓冲器106中的视频或视频帧。发射器107可以通过一个或以上网络连接(有线和/或无线)将视频或视频帧通过网络112发送到终端108。
在一些实施例中,发射器107可以确定网络112的传输性能。例如,发射器107可以监控其数据发送速率以确定传输性能。
终端108可以通过网络112接收发送的视频和/或与注册者的图像相关的信息。终端108可以使用解码算法(例如,通过安装在终端108上的视频播放器)解码发送的视频或视频帧,并向用户显示视频。解码算法可以对应于编码器104使用的编码算法。
终端108可以是各种形式的。例如,终端108可以包括移动设备109、平板电脑110、笔记本电脑111等,或其任意组合。在一些实施例中,移动设备109可包括可穿戴设备、移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,可穿戴设备可包括手镯、脚套、眼镜、头盔、手表、衣服、背包、智能配件等,或其任意组合。在一些实施例中,移动设备可包括移动电话、个人数字助理(PDA)、笔记本电脑、平板电脑、台式机等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括GoogleGlassTM、anOculusRiftTM、aHololensTM、aGearVRTM等。在一些实施例中,终端108可以是处理引擎的一部分。
网络112可以包括能够促进将由视频源101提供的视频传输到终端108的任何合适的网络。网络112可以是和/或包括公用网络(例如,因特网)、专用网络(例如,局域网(LAN)、广域网(WAN))、有线网络(例如,以太网)、无线网络(例如,802.11网络、Wi-Fi网络)、蜂窝网络(例如,长期演进(LTE)网络),帧中继网络、虚拟专用网(“VPN”)、卫星网络、电话网络、路由器、集线器、交换机、服务器计算机和/或其任意组合。仅仅作为示例,网络112可以包括电缆网络、有线网络、光纤网络、电信网络、内部网、无线局域网(WLAN)、城域网(MAN)、公共电话交换网(PSTN)、蓝牙TM网络,ZigBeeTM网络、近场通信(NFC)网络等,或其任意组合。在一些实施例中,网络112可以包括一个或以上网络接入点。例如,网络112可以包括有线和/或无线网络接入点,例如基站和/或因特网交换点,通过这些接入点可以将视频源101提供的视频发送到终端108。
在一些实施例中,网络112可以包括一个或以上网络存储设备113。网络存储设备113可以是用于缓冲或缓存在网络112中传输的数据的设备。在终端108接收之前,由发射器107发送的视频或视频帧可以在一个或以上网络存储设备113中被缓冲或存储。注册者图像可以在一个或以上网络存储设备113中缓冲或存储。网络存储设备113可以是服务器、集线器、网关等或其组合。
可以注意到,编码器104、缓冲管理器105、缓冲器106和发射器中的一个或以上可以是独立设备,或者是集成到视频源101或另一个独立设备中的模块。例如,编码器104、缓冲器105、缓冲器106和发射器107中的一个或以上可以集成到相机102或服务器103中。作为另一示例,编码器104、缓冲器管理器105、缓冲器106和发射器107可以包括在视频处理引擎中,视频处理引擎可以通过直接有线连接、网络112或未示出的另一网络与视频源101通信。作为另一示例,编码器104可以是独立设备(例如,计算机或服务器),而缓冲管理器105、缓冲器106和发射器107可以包括在另一个独立设备中。
图2是根据本说明书的一些实施例所示的示例性计算设备的示例性硬件和/或软件组件的示意图。例如,计算设备200可以是服务器103、相机102的相机处理电路和/或专用于视频或图像处理的电子设备。编码器104和缓冲器管理器105也可以在计算设备200上实现。如图2所示,计算设备200可以包括处理器222、存储器227、输入/输出(I/O)226和通信端口225。
处理器222(例如,逻辑电路)可以执行计算机指令(例如,程序代码)并根据本文描述的技术执行功能。例如,处理器222可以包括其中的接口电路和处理电路。接口电路可被配置为从总线(图2中未示出)接收电子信号,其中所述电子信号对结构化数据和/或指令进行编码以供处理电路处理。所述处理电路可以进行逻辑运算计算,然后确定结论、结果和/或被编码为电子信号的指令。然后,接口电路可以通过总线从处理电路发出电子信号。
计算机指令可以包括例如例程、程序、对象、组件、数据结构、过程、模块和功能,它们执行本文所描述的特定功能。在一些实施例中,处理器222可以包括一个或以上硬件处理器,例如微控制器、微处理器、精简指令集计算机(RISC)、专用集成电路(ASICs)、专用指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级RISC机器(ARM)、可编程逻辑器件(PLD)、能够执行一个或以上功能的任何电路或处理器等,或其任意组合。
仅仅为了说明,在计算设备200中仅描述了一个处理器。然而,应该注意,本说明书中的计算设备200还可以包括多个处理器,因此由如本说明书中所述的一个处理器执行的操作和/或方法操作也可以由多个处理器联合或单独执行。例如,如果在本说明书中,计算设备200的处理器执行操作A和操作B,应该理解,操作A和操作B也可以由计算设备200中的两个或以上不同的处理器共同或单独地执行(例如,第一处理器执行操作A和第二处理器执行操作B,或者第一和第二处理器联合执行操作A和B)。
存储器227可以存储从视频源101、编码器104、缓冲器管理器105、缓冲器106、发射器107、终端108、网络112、网络存储设备113和/或对象跟踪系统100的任何其他组件获取的数据/信息。在一些实施例中,存储器222可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等,或其任意组合。例如,大容量存储器可以包括磁盘、光盘、固态驱动器等。可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。易失性读写存储器可以包括随机存取存储器(RAM),其可以包括动态RAM(DRAM)、双数据速率同步动态RAM(DDR-SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容RAM(Z-RAM)等。ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字多功能磁盘ROM等。在一些实施例中,存储器222可以存储一个或以上程序和/或指令以执行本说明书中描述的示例性方法。
输入/输出226可以输入和/或输出信号、数据、信息等。在一些实施例中,输入/输出226可以包括输入设备和输出设备。输入设备的示例可包括键盘、鼠标、触摸屏、麦克风等,或其组合。输出设备的示例可以包括显示设备、扬声器、打印机、投影仪等,或其组合。显示设备的示例可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面屏幕、电视装置、阴极射线管(CRT)、触摸屏等,或其组合。
通信端口225可以连接到网络(例如,网络112)以促进数据通信。通信端口225可以在视频源101、编码器104、缓冲器管理器105、缓冲器106、发射器107、终端108、网络112、网络存储设备113和/或对象跟踪系统100的任何其他组件之间建立连接。所述连接可以是有线连接、无线连接、能够实现数据传输和/或接收的任何其他通信连接和/或这些连接的任意组合。有线连接可以包括例如电缆、光缆、电话线等,或其任意组合。无线连接可以包括例如BluetoothTM连接、Wi-FiTM连接、WiMaxTM连接、WLAN连接、ZigBee连接、移动网络连接(例如3G、4G、5G)等,或其组合。在一些实施例中,通信端口2400可以是和/或包括标准化的通信端口,例如RS232、RS485等。在一些实施例中,通信端口225可以是专门设计的通信端口。
图3是根据本说明书的一些实施例所示的示例性用户设备组件的示意图。如图3所示,用户设备300可以包括通信平台320、显示器310、图形处理单元(GPU)330、中央处理单元(CPU)330、I/O端口350、内存360和存储器390。在一些实施例中,包括但不限于系统总线或控制器(未示出)的任何其他合适组件也可以包括在用户设备300中。在一些实施例中,移动操作系统370(例如,iOSTM,AndroidTM,WindowsPhoneTM)和一个或以上应用程序380可以从存储器390加载到内存360中,以便由处理器340执行。用户设备300可以是终端108的实施例。应用380可以包括视频播放器,用于通过网络112接收由视频源101提供的视频并解码所接收的视频。
为了实施本说明书描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述的一个或以上组件的硬件平台。具有用户接口元素的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。若计算机被适当的程序化,计算机亦可用作服务器。
图4是根据本说明书的一些实施例所示的示例性服务器103的框图。服务器103可以包括获取模块410、人脸确定模块420、重叠确定模块430、相关模块440和存储模块450。服务器103可以包括更多或更少的组件而不丧失通用性。例如,两个模块可以组合成单个模块,或者一个模块可以被分成两个或以上模块。作为另一示例,一个或以上模块可驻留在不同的计算设备(例如,台式机、笔记本电脑、移动设备、平板计算机、可穿戴计算设备等,或其组合)上。作为又一示例,服务器103可以在图2所示的计算设备200上实现。
在这里以及本说明书全篇,可以以众多不同的方式和硬件、软件或者以硬件和软件的不同组合来实现模块。例如,模块实现的全部或部分可以是处理电路,该处理电路可以包括指令处理器的部分或全部,指令处理器可以包括例如中央处理单元(CPU)、微控制器、微处理器;或者专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、其他电子元件;或者作为包括离散逻辑或其他电路组件的电路,所述其他电路组件包括模拟电路组件、数字电路组件或两者皆有;或其任意组合。例如,电路可以包括离散的互连硬件组件,或者可以组合在单个集成电路管芯上,分布在多个集成电路管芯之间,或者实现在公共封装中的多个集成电路管芯的多芯片模块(MCM)中。
获取模块410可以获取与跟踪对象有关的信息和/或数据。例如,获取模块410可以获取包括至少两个连续帧的视频。视频可以从例如实时馈送(例如,相机102)、存储设备(例如,网络存储器113、计算设备228的存储器227、存储器390)、基于IEEE1394的接口、视频数字化器、计算机图形引擎、网络连接等或其组合中获取。视频的至少两个连续帧可以是任意图像格式,例如RAW格式(指未处理或最小处理的图像数据)、TIFF(标记的输入文件格式)、JPEG(联合摄影专家组)格式、GIF(图形交换格式)或BMP格式(指位图格式),以及任意图像分辨率。在一些实施例中,视频可以由配置成监控感兴趣的区域(AOI)的监控系统拍摄。所述视频可以在至少两个连续帧中捕获至少两个对象。所述至少两个对象中的一些可以是静态对象,并且所述静态对象在所述至少两个连续帧中的位置可以相同。所述至少两个对象中的一些可以是动态对象,并且所述动态对象在所述至少两个连续帧中的位置可以不同。监控系统可以被配置为基于至少两个连续帧中的一个或以上对象的位置来跟踪一个或以上感兴趣的对象。在一些实施例中,至少两个连续帧可以是时间连续的。
在一些实施例中,获取模块410可以将图像发送到服务器103的其他模块用于进一步处理。例如,获取模块410可以将视频发送到人脸确定模块420,用于确定视频的每个帧的一个或以上人脸区域。作为另一示例,获取模块410可以将当前帧发送到重叠确定模块430和/或用于跟踪感兴趣的人的相关模块。作为示例,获取模块410可以将帧发送到存储模块450,用于存储在本地数据库或远程数据库中。
在一些实施例中,获取模块410可以从至少两个连续帧中获取当前帧。当前帧可以是要跟踪对象的帧。在一些实施例中,获取模块410可以从当前帧的至少两个先前帧获取至少两个模板帧。本说明书中的术语“先前帧”可以指在当前帧之前获取的任何帧,并且可以不限于当前帧旁边的先前帧。模板框可以是包括感兴趣的对象的多个特征的框。例如,可以在至少两个模板帧中的每一个中识别感兴趣的对象。在一些实施例中,获取模块410可以从包括至少两个连续帧的视频中获取一个或以上被跟踪人脸。一个或以上被跟踪人脸可以是在视频的至少两个连续帧中的一个或以上中被识别和跟踪的一个或以上感兴趣的人的人脸。在一些实施例中,获取模块410可以获取对应于被跟踪人脸的感兴趣的人。
人脸确定模块420可以被配置为为至少两个连续帧中的每一个确定一个或以上人脸区域。一个或以上人脸区域中的每一个可以是包括感兴趣的人的人脸的所有特征的区域。一个或以上人脸区域可被配置为识别视频中出现的一个或以上感兴趣的人。如本文所使用的,帧的一个或以上人脸区域可以指该帧中的人脸的位置信息及其图像数据。例如,人脸确定模块420可以基于人脸检测算法识别帧的一个或以上人脸区域,其中,帧的一个或以上人脸区域中的每一个是帧中的人脸识别框。
人脸确定模块420可以被配置为为除了第一帧以外的至少两个连续帧中的每一帧确定一个或以上被跟踪人脸。所述一个或以上被跟踪人脸可以是在视频的至少两个连续帧中的一个或以上中被识别和跟踪的一个或以上感兴趣的人的人脸。例如,人脸确定模块420可以将当前帧的一个或以上人脸区域确定为当前帧的后一帧的一个或以上被跟踪人脸。在一些实施例中,一个或以上被跟踪人脸可以被配置为跟踪视频中出现的一个或以上感兴趣的人。对于整个视频,人脸确定模块420可以为视频中出现的每个感兴趣的人确定对应的被跟踪人脸集。所述被跟踪人脸集可以包括对应于同一感兴趣的人在不同帧中的被跟踪人脸。
重叠确定模块430可以被配置为确定人脸区域是否与被跟踪人脸相关(人脸区域和被跟踪人脸是否对应于同一感兴趣的人)。重叠确定模块430可以基于重叠区域确定方法确定人脸区域是否与被跟踪人脸相关。例如,如果人脸区域和被跟踪人脸之间的重叠区域的百分比超过重叠阈值,则重叠确定模块430可以确定人脸区域与被跟踪人脸相关。
相关模块440可以被配置为识别与感兴趣的对象相关的位置。例如,相关模块440可以使用相关滤波器识别与当前帧的被跟踪人脸对应的感兴趣的人。所述位置可用于在当前帧的一个或以上后续帧中识别感兴趣的人。响应于没有人脸区域相对于被跟踪人脸具有相对高的重叠区域百分比(与重叠阈值相比)的确定,相关模块440可确定与被跟踪人脸相对应的感兴趣的人在当前帧中可以至少部分被遮挡或消失,并且可以使用相关滤波器确定感兴趣的人在当前帧中的位置。
相关模块440可以使用相关滤波器基于至少两个模板帧来识别当前帧中与感兴趣的人相关的位置。在一些实施例中,模板帧可以是包括感兴趣的人的至少两个特征的帧。感兴趣的对象的至少两个特征可以是感兴趣的人的特征部分。在一些实施例中,相关模块440可以在至少两个先前帧中的每个帧中提取感兴趣的人的特征,并且从至少两个先前帧中选择至少两个帧作为至少两个模板帧。在一些实施例中,相关模块440可以确定与感兴趣的人相关的匹配时段,并基于匹配时段确定至少两个模板帧。在一些实施例中,相关模块440可以基于参考帧中的被跟踪人脸来确定当前帧中的搜索区域,并且使用相关滤波器基于搜索区域和至少两个模板帧来确定至少两个候选人脸区域。相关模块440可以基于至少两个候选人脸区域来识别与感兴趣的人相关的位置,并更新下一帧的被跟踪人脸。
存储模块450可以被配置为存储与视频相关的数据、指令和/或任何其他信息。例如,存储模块450可以存储视频、一个或以上人脸区域、一个或以上被跟踪人脸、至少两个模板帧等,或者其任意组合。在一些实施例中,存储模块450可以存储从服务器103、终端108和/或相机102获取的数据。在一些实施例中,存储模块450可以存储服务器103可以执行或用于执行本说明书中描述的示例性方法的数据和/或指令。在一些实施例中,存储模块450可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等,或其组合。在一些实施例中,如本说明书其他地方所述,存储模块450可以在云平台上实现。在一些实施例中,存储模块450可以连接到服务器103中的一个或以上其他组件和/或与之通信。服务器103中的一个或以上组件可以访问存储在存储模块450中的数据或指令。
应当注意的是,对服务器103的述描述仅仅是为了说明目的而提供,并且不能被认为是唯一的实施例。对于本领域普通技术人员而言,可以在本说明书一些实施例的指导下进行各种变化和修改。然而,这些变化和修改并不超出本说明书的一些实施例的保护范围。
图5是根据本说明书的一些实施例的用于跟踪对象的示例性过程500的流程图。在一些实施例中,可以在如图1所示的对象跟踪系统100上实现过程500。例如,过程500可以以指令的形式存储在存储介质(例如,网络存储设备113或计算设备228的存储器227)中,并且由服务器103调用和/或执行。下面呈现的过程500中的操作旨在说明。在一些实施例中,过程500可以用一个或以上未描述的附加操作来完成,和/或不使用所讨论的一个或以上操作。另外,如图5所示和下面所描述的过程500的操作的顺序不是限制性的。
在502中,服务器103可以获取包括至少两个连续帧的视频。操作502可以由获取模块410执行。在一些实施例中,视频可以从例如实时馈送(例如,相机102)、存储设备(例如,网络存储器113、计算设备228的存储器227、存储器390)、基于IEEE1394的接口、视频数字化器、计算机图形引擎、网络连接等或其组合中获取。例如,服务器103可以从编码器104获取视频。例如,服务器103可以从在监控状态下工作的静态视频传感器(例如,相机102)获取视频。视频的至少两个连续帧可以是任意图像格式,例如RAW格式(指未处理或最小处理的图像数据)、TIFF(标记的输入文件格式)、JPEG(联合摄影专家组)格式、GIF(图形交换格式)或BMP格式(指位图格式),以及任意图像分辨率。
在一些实施例中,在监控状态下工作的相机102可以是被配置为监控感兴趣的区域(AOI)的监控系统的一部分。由相机102拍摄的视频可以在至少两个连续帧中捕获至少两个对象。至少两个对象可以包括人(例如,人的脸)、车辆、物品等,或其组合。所述至少两个对象中的一些可以是静态对象,并且所述静态对象在所述至少两个连续帧中的位置可以相同。所述至少两个对象中的一些可以是动态对象,并且所述动态对象在所述至少两个连续帧中的位置可以不同。监控系统可以被配置为基于至少两个连续帧中的一个或以上对象的位置来跟踪一个或以上感兴趣的对象。在一些实施例中,至少两个连续帧可以是时间连续的。
在504中,服务器103可以从至少两个连续帧中获取当前帧。操作504可以由获取模块410执行。在一些实施例中,服务器103可以按时间顺序获取至少两个连续帧中的每一个。例如,服务器103可以根据拍摄帧的时间点获取帧,拍摄帧越早,获取帧越早。在一些实施例中,当前帧可以是至少两个连续帧中的任何一帧。在当前帧中,可以跟踪感兴趣的对象。例如,在当前帧中,感兴趣的对象可以被识别。或者,在当前帧中,感兴趣的对象可以被遮挡并不被识别。在一些实施例中,可以结合图6中的操作616来确定当前帧。在一些实施例中,可以在当前帧的至少两个先前帧中识别感兴趣的对象。例如,在当前帧之前,有10个先前帧。感兴趣的对象可以在10个先前帧中的至少两帧中被识别。或者,感兴趣的对象可以仅在当前帧的一个先前帧中被识别。例如,在当前帧之前,只有一个先前帧,并且感兴趣的对象可以在仅一个先前帧中被识别。本说明书中的术语“先前帧”可以指在当前帧之前获取的任何帧,并且可以不限于当前帧旁边的先前帧。
如本文所使用的,识别帧中的感兴趣的对象可指确定感兴趣的对象在帧中的位置。感兴趣的对象可以是移动对象,并且移动对象在不同帧中的位置可以变化。在一些实施例中,可以基于重叠区域确定方法来确定感兴趣的对象的位置。关于重叠区域确定方法的详细描述可以在本说明书的其他地方(例如,图6及其描述)找到。在一些实施例中,可以基于相关滤波器(也称为主动跟踪法)来确定感兴趣的对象的位置。关于主动跟踪法的详细描述可以在本说明书的其他地方(例如,图7及其描述)找到。
在506中,服务器103可以从至少两个先前帧中获取至少两个模板帧。操作506可由获取模块410执行。在一些实施例中,模板帧可以是包括感兴趣的对象的多个特征的帧。感兴趣的对象的至少两个特征可以是感兴趣的对象的特色部分。例如,至少两个特征可以包括感兴趣的对象的一个或多个组件、感兴趣的对象的形状(或感兴趣的对象的一个或以上组件的形状)、感兴趣的对象的大小(或感兴趣的对象的一个或以上组件的大小)等,或其任意组合。在一些实施例中,至少两个模板帧中的每一个可以包括感兴趣的对象的不同特征。例如,在至少两个模板帧中的每一个中,感兴趣的对象可以具有不同的形态或不同的姿势。在一些实施例中,服务器103可以在至少两个先前帧中的每一帧中提取感兴趣的对象的特征,并且从至少两个先前帧中选择至少两个帧作为至少两个模板帧。在一些实施例中,服务器103可以首先从至少两个先前帧中选择至少两个帧作为至少两个模板帧,然后在至少两个模板帧中的每一个中提取感兴趣的对象的特征。
在一些实施例中,至少两个先前帧可以是至少两个连续帧。可以基于重叠区域确定方法在至少两个连续帧中的每一帧中识别感兴趣的对象。在一些实施例中,至少两个先前帧也可以被称为感兴趣的对象的匹配帧集,其中至少两个先前帧可以在匹配帧集中按时间顺序排列。拍摄匹配帧集的时间段可以被称为匹配时段。关于匹配时段的详细描述可以在本说明书的其他地方(例如,在图7及其描述中)找到。
在一些实施例中,服务器103可以选择匹配帧集的第一帧和最后一帧作为至少两个模板帧的一部分或全部。以匹配帧集5为例,服务器103可以选择匹配帧集中的第一帧和第五帧作为至少两个模板帧。作为另一示例,服务器103还可以选择匹配帧集中的第一、第三和第五帧作为至少两个模板帧。在一些实施例中,模板帧的数量可以是对象跟踪系统100的默认设置,或者可以在不同情况下调整。例如,模板帧的数量可以是常数(例如,2、3、4)。在匹配帧中的帧的数量小于模板帧的数量的情况下,服务器103可以将匹配帧中的帧的数量确定为模板帧的数量。例如,当匹配帧集仅包括一帧且模板帧的数量为3时。服务器103可以仅选择一帧作为模板帧。
在508中,服务器103可以识别与当前帧中的感兴趣的对象相关的位置。在一些实施例中,服务器103可以使用相关滤波器基于至少两个模板帧来识别所述位置。在一些实施例中,所述位置还可用于在当前帧的一个或以上后续帧中识别感兴趣的对象。操作508可以由获取模块410执行。在一些实施例中,与当前帧中的感兴趣的对象相关的位置可以是当前帧中的感兴趣的对象的预测位置。服务器103可以基于所述位置跟踪感兴趣的对象。示例性相关滤波算法可包括通过核检测跟踪的循环结构算法(CSK)、时空上下文学习算法(STC)、核化相关滤波算法(KCF)、判别相关滤波算法(DCF)、判别尺度空间跟踪滤波算法(DSST)、比例自适应多特征算法(SAMF)、最小输出平方和误差算法(MOSSE)、多存储跟踪器算法(MUSTer)等,或其任意组合。例如,服务器103可以使用至少两个模板帧中的感兴趣的对象的图像数据、当前帧相邻的前一帧中的感兴趣的对象的位置信息和当前帧作为相关滤波器的输入,以获取至少两个输出。每个输出可以对应于至少两个模板帧中的一个。每个输出可以指当前帧中的位置(例如,点)。当前帧在所述位置的图像数据可以与描述感兴趣的对象的模板帧的图像数据产生产生最大响应。关于使用相关滤波器基于至少两个模板帧在帧中识别与感兴趣的对象相关的位置的详细描述可以在本说明书的其他地方(例如,图7及其描述)找到。
应当注意的是,过程500的以上描述仅仅出于说明的目的而提供,不旨在被理解为唯一的实施例。对于本领域普通技术人员而言,可以在本说明书一些实施例的指导下进行各种变化和修改。在一些实施例中,可以减少或增加一些操作。然而,这些变化和修改可能不会脱离本说明书的一些实施例的保护。例如,可以在示例性过程500中添加一个或以上其他可选操作(例如,存储操作)。在存储操作中,服务器103可以将视频、至少两个模板帧、与感兴趣的对象相关的位置存储在本说明书其他地方公开的任何存储设备(例如,网络存储设备113或计算设备228的存储器227)中。
图6是根据本说明书的一些实施例所示的用于跟踪对象的示例性过程600的流程图。在一些实施例中,可以在如图1所示的对象跟踪系统100上实现过程600。例如,过程600可以以指令的形式存储在存储介质(例如,网络存储设备113或计算设备228的存储器227)中,并且由服务器103调用和/或执行。以下展示的过程600中的操作旨在说明。在一些实施例中,过程600可以用一个或以上未描述的附加操作来完成,和/或不使用讨论过的一个或以上操作。另外,如图6所示和以下所描述的过程600的操作顺序可以不是限制性的。
在602中,服务器103可以从包括至少两个连续帧的视频中获取一个或以上被跟踪人脸。操作602可以由获取模块410执行。一个或以上被跟踪人脸可以是在视频的至少两个连续帧中的一个或以上帧中被识别和跟踪的一个或以上感兴趣的人的人脸。在一些实施例中,一个或以上被跟踪人脸可以被配置为跟踪视频中出现的一个或以上感兴趣的人。除了视频的第一帧之外,至少两个连续帧中的每一帧可以具有一个或以上对应的被跟踪人脸,因为帧的一个或以上被跟踪人脸是基于所述帧相邻的先前帧来确定的。帧的一个或以上被跟踪人脸中的每一个可对应于所述帧中需要被跟踪的感兴趣的人(也称为跟踪目标)。对于整个视频,服务器103可以为视频中出现的每个感兴趣的人确定对应的被跟踪人脸集。被跟踪人脸集可以包括对应于同一感兴趣的人的不同帧中的被跟踪人脸。基于被跟踪的人脸集,服务器103可以通过确定至少两个连续帧中每个感兴趣的人的位置(例如,每个感兴趣的人的人脸位置)来跟踪视频中的一个或以上感兴趣的人。
如本文所使用的,当前帧的一个或以上被跟踪人脸可以包括当前帧相邻的先前帧中的一个或以上人脸的位置信息及其图像数据。例如,第一帧可能没有被跟踪人脸,因为没有关于第一帧的先前帧。在一些实施例中,帧中人脸的位置信息可以表示在帧中描述人脸的人脸识别框的位置。例如,人脸的位置信息可以是人脸的人脸识别框的坐标。可以基于人脸检测算法确定人脸识别框。人脸检测算法可以被配置为从图像中提取所有人脸并确定人脸的位置。示例性人脸检测算法可以包括Hough变换方法、Reisfeld的对称算子核、直接判别分析算法、从Walshlet金字塔提取的特征、混合颜色和频率特征方法、多级块截断编码方法、基于偏最小二乘的方法,Vilola-Jones目标检测框架、可变形零件模型(DPM)、支持向量机(SVM)等,或其任意组合。在一些实施例中,可以基于相关滤波器来确定帧中人脸的位置信息。
以视频中的第一帧为例,假设在第一帧中识别出两个人脸识别框,则服务器103可以将两个识别出的人脸识别框的位置信息确定为视频的第二帧的两个被跟踪人脸。第二帧的第一跟踪人脸可以包括第一帧的第一人脸识别框(对应于第一感兴趣的人)的位置信息,第二帧的第二跟踪人脸可以包括第一帧的第二人脸识别框(对应于第二感兴趣的人)的位置信息。
在一些实施例中,服务器103可以将视频中出现的一个或以上人指定为一个或以上感兴趣的人,并将与一个或以上感兴趣的人对应的人脸区域确定为一个或以上被跟踪人脸,而不是跟踪视频中出现的所有人。在一些实施例中,在获取一个或以上被跟踪人脸之后,可以将一个或以上被跟踪人脸存储在任何存储设备(例如,网络存储设备113或计算设备228的存储器227)中。在一些实施例中,服务器103可以用跟踪ID标记一个或以上被跟踪人脸中的每一个。
在604中,服务器103可以从视频中依次获取帧,并基于所述帧确定一个或以上人脸区域。操作604可以由获取模块410执行。服务器103可以按时间顺序获取帧。一个或以上人脸区域中的每一个可以是包括感兴趣的人的人脸的所有特征的区域。一个或以上人脸区域可以被用于识别视频中出现的一个或以上感兴趣的人。至少两个连续帧中的每一个可以具有一个或以上人脸区域。帧的一个或以上人脸区域中的每一个可以对应于帧中出现的感兴趣的人。如本文所使用的,帧的一个或以上人脸区域可以指帧中的人脸的位置信息及其图像数据。服务器103可以通过确定在帧中描述人脸的人脸识别框来确定人脸在帧中的位置信息。例如,服务器103可以将人脸识别框在帧中的位置和帧中的人脸确定为帧中的人脸区域。作为另一示例,服务器103可以提取感兴趣的人的面部特征,并且确定包括所提取的面部特征的全部或部分的区域作为帧中的人脸区域。在一些实施例中,在确定一个或以上人脸区域之后,可以将一个或以上人脸区域存储在任何存储设备(例如,网络存储设备113或计算设备228的存储器227)中。在一些实施例中,服务器103可以用人脸ID标记一个或以上人脸区域中的每一个。
在606中,服务器103可以从一个或以上被跟踪人脸中选择一个被跟踪人脸。操作606可以由人脸确定模块420执行。在一些实施例中,服务器103可以根据预定规则从一个或以上被跟踪人脸中选择被跟踪人脸。例如,服务器103可以根据一个或以上被跟踪人脸中的每一个的跟踪ID从一个或多个被跟踪人脸中选择一个被跟踪人脸。作为另一示例,服务器103可以根据存储在存储器中的存储顺序从一个或以上被跟踪人脸中选择被跟踪人脸。
在选择一个人脸区域中,服务器103可以从一个或以上人脸区域中选择一个人脸区域。操作608可以由人脸确定模块420执行。在一些实施例中,服务器103可以根据预定规则从一个或以上人脸区域中选择一个人脸区域。例如,服务器103可以根据一个或以上人脸区域中的每一个的人脸ID从一个或多个人脸区域中选择一个人脸区域。作为另一示例,服务器103可以根据存储在存储器中的存储顺序从一个或以上人脸区域中选择一个人脸区域。
在610中,服务器103可以确定人脸区域是否与被跟踪人脸相关。操作610可以由重叠确定模块430执行。服务器103可以根据重叠区域确定方法确定人脸区域是否与被跟踪人脸相关。例如,如果人脸区域和被跟踪人脸之间的重叠区域的百分比超过重叠阈值,则服务器103可以确定人脸区域与被跟踪人脸相关。在一些实施例中,重叠阈值可以是对象跟踪系统100的默认设置,或者可以在不同情况下调整。例如,重叠阈值可以是25%、50%、95%等。响应于人脸区域与被跟踪人脸相关的确定,过程600可以进行到612;否则,过程600可以进行到操作614。
在一些实施例中,人脸区域和被跟踪人脸之间的重叠区域的百分比可以由等式(1)表示如下:
其中P是指人脸区域和被跟踪人脸之间的重叠区域的百分比,areao是指人脸区域和被跟踪人脸之间的重叠面积,areaF是指人脸区域的面积,areaT是指被跟踪人脸的面积。
在一些实施例中,人脸区域和被跟踪人脸之间的重叠区域的百分比可以由等式(2)表示如下:
服务器103可以通过根据被跟踪人脸的位置信息将被跟踪人脸(例如,被跟踪人脸的区域)放置在当前帧上来确定人脸区域和被跟踪人脸之间的重叠区域。服务器103可以将所放置的被跟踪人脸和人脸区域之间的重叠部分的区域确定为人脸区域和被跟踪人脸之间的重叠区域。在一些实施例中,服务器103可以通过计算帧的框架内的像素数来确定帧的框架的部分区域。例如,服务器103可以确定与人脸区域的像素具有相同位置的被跟踪人脸的像素的数量,作为人脸区域和被跟踪人脸之间的重叠区域。
在612中,服务器103可以将人脸区域与对应于被跟踪人脸的感兴趣的人相关联。服务器103可以进一步用人脸区域更新被跟踪人脸。操作612可以由重叠确定模块430执行。响应于人脸区域和被跟踪人脸之间的重叠区域的百分比超过重叠阈值的确定,服务器103可以确定与被跟踪人脸相对应的感兴趣的人可以仍然在当前帧中,并且感兴趣的人可以从当前帧相邻的先前帧向当前帧移动一点。如本文所使用的,对应于被跟踪人脸的感兴趣的人意味着被跟踪人脸的图像数据描述了感兴趣的人。服务器103可以通过将当前帧的人脸区域确定为当前帧的下一帧的被跟踪人脸,来用所述人脸区域更新被跟踪人脸。
在614中,响应于人脸区域与被跟踪人脸不相关的确定,服务器103可以确定是否已经选择了所有人脸区域。操作614可以由人脸确定模块420执行。响应于已选择所有人脸区域的确定,过程600可进行到616;否则,过程600可以进行到操作608。在一些实施例中,响应于未选择所有人脸区域的确定,服务器103可基于重叠区域确定方法在606中选择帧中的另一人脸区域以确定所选择的另一人脸区域是否与所选择的被跟踪人脸相关。通过执行608、610和614,服务器103可以基于重叠区域确定方法确定帧中的每个人脸区域是否与帧相邻的先前帧中的被跟踪人脸之一相关。
在616中,服务器103可以使用相关滤波器识别与感兴趣的人相关的位置。服务器103可以基于所识别到的位置进一步更新被跟踪人脸。操作616可以由相关模块440执行。响应于没有人脸区域相对于被跟踪人脸具有相对高的重叠区域百分比(与重叠阈值相比)的确定,服务器103可以确定与被跟踪的人脸相对应的感兴趣的人可能在当前帧中至少部分被遮挡或者消失,并且可以使用相关滤波器确定感兴趣的人在当前帧中的位置。关于使用相关滤波器识别与感兴趣的人相关的位置的详细描述可以在本说明书的其他地方(例如,图7及其描述)找到。在一些实施例中,服务器103可以用识别的位置将被跟踪人脸更新为与当前帧相邻的后续帧的被跟踪人脸。
在618中,服务器103可以确定是否已选择所有被跟踪人脸。操作618可以由人脸确定模块420执行。响应于已选择所有被跟踪人脸的确定,过程600可以进行到620;否则,过程600可以进行到操作606。通过执行返回606,服务器103可以确定每个被跟踪人脸是否与帧中的人脸区域之一相关。
在620中,服务器103可以确定所有人脸区域中的至少一个人脸区域是否已经与感兴趣的人相关联。操作620可以由人脸确定模块420执行。响应于已选择所有被跟踪人脸的确定,过程600可进行到602;否则,过程600可以进行到操作622。通过执行返回602,服务器103可以进入下一帧以跟踪对象。
在622中,响应于至少一个人脸区域尚未与感兴趣的人相关的确定,服务器103可以将至少一个人脸区域添加到一个或以上被跟踪人脸。在一些实施例中,尚未与感兴趣的人相关联的至少一个人脸区域中的每一个表示至少一个人脸区域中的每一个表示一个新出现的感兴趣的人出现的感兴趣的人。操作622可以由人脸确定模块420执行。响应于至少一个人脸区域尚未与对应于当前帧的一个或以上被跟踪人脸的感兴趣的人中的任何一个相关联的确定,服务器103可以确定至少一个人脸区域对应于第一次出现在视频中的感兴趣的人。服务器103可以将与至少一个人脸区域相对应的感兴趣的人确定为新的跟踪目标。对于至少一个人脸区域中的每一个,服务器103可以创建新的被跟踪人脸,其中新创建的被跟踪人脸包括与新出现的感兴趣的人相对应的人脸区域的位置信息及其图像数据。在622之后,服务器103可以通过执行返回602而进入下一帧以跟踪对象。
出于说明目的,本公开以单个帧为例,应当注意的是,除了第一帧之外,服务器103还可以对至少两个连续帧中的每一个执行过程600。例如,响应于当前帧不是视频中的最后一帧的确定,可以在当前帧的下一帧上再次执行过程600。例如,服务器103可以获得基于当前帧更新的一个或以上新的被跟踪人脸(即,下一帧的一个或以上被跟踪人脸),并根据过程600处理下一帧。
应当注意的是,过程600的以上描述仅仅出于说明的目的而提供,不旨在被理解为是唯一的实施例。对于本领域普通技术人员而言,可以在本说明书一些实施例的指导下进行各种变化和修改。在一些实施例中,可以减少或增加一些操作。然而,这些变化和修改可能不会脱离本说明书的一些实施例的保护。在存储操作中,服务器103可以将一个或以上被跟踪人脸、一个或以上人脸区域、与感兴趣的对象相关的位置存储在本说明书其他地方公开的任何存储设备(例如,网络存储设备113或计算设备228的存储227)中。应当注意的是,感兴趣的人仅仅是感兴趣的对象的一个示例,其他对象,例如车辆、物品等,也可以作为感兴趣的对象被跟踪。并且所述感兴趣的人的人脸也仅仅是所述感兴趣的人的特征的示例,所述人的诸如身体、腿或任意其他身体部分的其它特征也可以被跟踪。
图7是根据本说明书的一些实施例所示的用于基于相关滤波器跟踪对象的示例性过程700的流程图。在一些实施例中,可以在如图1所示的对象跟踪系统100上实现过程700。例如,过程700可以以指令的形式存储在存储介质(例如,网络存储设备113或计算设备228的存储器227)中,并且由服务器103调用和/或执行。以下展示的过程600中的操作是说明性的。在一些实施例中,过程700可以用一个或以上未描述的附加操作来完成,和/或不使用讨论过的一个或以上操作。另外,如图7所示和以下所描述的过程700的操作顺序可以不是限制性的。
在702中,服务器103可以获取与被跟踪人脸A相对应的感兴趣的人A。操作702可以由获取模块410执行。服务器103可以基于被跟踪人脸A在视频中跟踪感兴趣的人。
在从包括至少两个连续帧的视频中获取当前帧中,服务器103可以从包括至少两个连续帧的视频获取当前帧。在一些实施例中,可以在当前帧的至少两个先前帧中识别感兴趣的人A。操作704可以由获取模块410执行。在一些实施例中,当前帧的被跟踪人脸A可以与操作616中说明的情况相同,并且感兴趣的人A可能在当前帧中至少部分地被遮挡或消失。基于重叠区域确定方法,在当前帧中可能识别不到与感兴趣的人A对应的人脸区域。
在706中,服务器103可以基于当前帧的先前帧来确定与感兴趣的人A相关联的匹配时段。操作706可由相关模块440执行。如结合图5所述,匹配时段可以是拍摄匹配帧集的时间段。感兴趣的人A的匹配帧集可以包括至少一个连续帧,并且可以基于重叠区域确定方法在至少一个连续帧中的每一帧中识别感兴趣的人A。视频的第一帧可能是一个例外。例如,当基于重叠区域确定方法在视频的第二到第五帧中识别出感兴趣的人时,服务器103可以将第一到第五帧确定为匹配帧集。在一些实施例中,服务器103可以根据过程600确定匹配时段。例如,服务器103可以使用重叠区域标签标记在操作616中确定的被跟踪人脸,并且基于重叠区域确定方法确定在当前帧中识别到的与在操作616中确定的被跟踪人脸相对应的感兴趣的人。服务器103可以基于至少两个连续帧的重叠区域标签来确定匹配时段。当在视频的第二到第八帧中识别出感兴趣的人并且只有第三到第六帧和第八帧具有重叠区域标签时,服务器103可以将第三到第六帧确定为匹配帧集。由于第八帧相对于第六帧不连续,服务器103可以从匹配帧集中排除第八帧。
在708中,服务器103可以根据匹配时段确定至少两个模板帧。在一些实施例中,可以在至少两个模板帧中识别感兴趣的人A。操作708可以由相关模块440执行。在一些实施例中,服务器103可以在匹配时段中选择至少两个模板帧。例如,服务器103可以选择匹配时段中的第一帧、中间一帧和最后一帧作为至少两个模板帧。作为另一示例,服务器103可以选择匹配时段中的第一帧和最后一帧作为至少两个模板帧。作为又一示例,服务器103可以处理匹配时段中的每一帧,并且选择包括不同特征和/或形态的两个或以上帧作为至少两个模板帧。关于确定至少两个模板帧的详细描述可以在本说明书的其他地方(例如,在图5及其描述中)找到。
在710中,服务器103可以基于参考帧中的被跟踪人脸A来确定当前帧中的搜索区域。参考帧可以是与当前帧相邻的先前帧。操作710可以由相关模块440执行。服务器103可以基于被跟踪人脸A的位置信息来确定搜索区域。例如,搜索区域可以是当前帧中相对于与参考帧的被跟踪人脸A相对应的人脸识别框放大的人脸识别框,其中两个人脸识别框的中心位于相同的位置。如本文所使用的,第一帧中的第一点和第二帧中的第二点位于相同位置可以是指当两帧重叠时,第一点和第二点重叠。在一些实施例中,服务器103可以基于放大度来确定搜索区域。放大度可以是对象跟踪系统100的默认设置,或者可以在不同情况下调整。例如,放大度可以是1.5、2、2.5等。
在712中,服务器103可以使用相关滤波器基于所述搜索区域和所述至少两个模板帧来确定至少两个候选人脸区域。操作712可以由相关模块440执行。在一些实施例中,服务器103可以为至少两个模板帧中的每一个确定候选人脸区域。以模板帧为例,服务器103可以将当前帧的搜索区域输入到相关滤波器中以获得响应点的位置信息的输出,其中,相关滤波器基于与模板帧的感兴趣的人A相对应的人脸区域来构造。响应点可以称为中心位置,其中响应点的图像数据与描述感兴趣的人A的模板帧的图像数据(例如,人脸区域的图像数据)产生最大响应。服务器103可以将响应点确定为候选人脸区域的中心。
示例性相关滤波算法可包括通过核检测跟踪的循环结构算法(CSK)、时空上下文学习算法(STC)、核化相关滤波算法(KCF)、判别相关滤波算法(DCF)、判别尺度空间跟踪滤波算法(DSST)、尺度自适应多特征算法(SAMF)、最小输出平方和误差算法(MOSSE)、多存储跟踪器算法(MUSTer)等,或其任意组合。例如,服务器103可以使用基于KCF确定的相关滤波器。KCF可以是基于相似度度量的最大化的迭代定位过程。服务器103可以对模板帧的人脸区域进行采样,并基于采样数据训练回归模型。回归模型可以确定输入图像数据的每个像素的响应值。服务器103可以将搜索区域的图像数据输入到回归模型中,并且确定具有最大响应的像素作为候选人脸区域的中心。
在一些实施例中,服务器103可以提取特征集,所述特征集与眼睛、鼻子、耳朵、头发、嘴巴或其任意组合的特征相关。服务器103可以使用相关滤波器来确定模板帧的人脸区域的图像数据与关于特征集的搜索区域的图像数据之间的相似度。相关滤波器的输出可以表示与具有最高相似度的图像数据相对应的中心位置。
在714中,服务器103可以识别当前帧中被跟踪人脸的位置,并基于所述至少两个候选人脸区域更新下一帧的被跟踪人脸。操作714可以由相关模块440执行。在一些实施例中,服务器103可以基于具有最大响应的候选人脸区域来更新被跟踪人脸。例如,服务器103可以将被跟踪人脸的位置信息确定为以具有最大响应的候选人脸区域为中心的框的位置信息。在一些实施例中,服务器103可以基于至少两个候选人脸区域的平均值更新被跟踪人脸。例如,服务器103可以将被跟踪人脸的位置信息确定为以至少两个候选人脸区域的平均值为中心的框的位置信息。框的大小可以是对象跟踪系统100的默认设置,或者可以在不同情况下调整。例如,服务器103可以基于至少两个模板帧的人脸区域的大小来确定框的大小。
在716中,服务器103可以确定是否已经基于相关滤波器确定参考帧的被跟踪人脸A。操作716可以由相关模块440执行。在一些实施例中,可以基于重叠区域确定方法来确定参考帧的被跟踪人脸A,并且可以用重叠区域标签来标记参考帧的被跟踪人脸A。在一些实施例中,可以基于相关滤波器来确定参考帧的被跟踪人脸A。如果参考帧的被跟踪人脸A不具有重叠区域标签,则服务器103可以基于相关滤波器确定参考帧的被跟踪人脸A。响应于基于相关滤波器确定参考帧的被跟踪人脸A的确定,过程700可以进行到718;否则,过程700可以进行到操作720。
在718中,服务器103可以更新主动跟踪失败的数量。操作718可由相关模块440执行。主动跟踪失败的数量可以用于记录被跟踪人脸集中,基于相关滤波器确定的被跟踪人脸的数量。在一些实施例中,服务器103可以确定主动跟踪失败的数量是否超过主动跟踪阈值。响应于主动跟踪失败的数量超过主动跟踪阈值的确定,服务器103可以确定使用相关滤波器确定的与感兴趣的人相关的位置可能不够精确,无法表示感兴趣的人在后续帧中的位置。在一些实施例中,响应于主动跟踪失败的数量超过主动跟踪阈值的确定,服务器103可以确定感兴趣的人可能在视频的当前帧中消失。响应于被跟踪人脸集的主动跟踪失败的数量超过主动跟踪阈值的确定,服务器103可以删除相应的被跟踪人脸集。在一些实施例中,主动跟踪阈值可以表示感兴趣的人A的被跟踪人脸A已经在视频中消失了很长时间。服务器103可以从系统100的存储器中删除感兴趣的人A的被跟踪人脸A。主动跟踪阈值可以是对象跟踪系统100的默认设置,或者可以在不同情况下调整。例如,主动跟踪阈值可以是5、7、10等。
在720中,服务器103可以识别与当前帧中的被跟踪人脸B相对应的下一个感兴趣的人,或者处理当前帧的下一帧。操作720可以由相关模块440执行。
应当注意的是,过程700的以上描述仅仅出于说明的目的而提供,不旨在被理解为唯一的实施例。对于本领域普通技术人员而言,可以在本说明书一些实施例的指导下进行各种变化和修改。在一些实施例中,可以减少或添加一些操作。然而,这些变化和修改可能不会脱离本说明书的一些实施例的保护。例如,服务器103可以将响应值超过响应阈值的区域确定为候选人脸区域,而不是将中心位置确定为候选人脸区域。
图8是根据本说明书的一些实施例所示的用于在三个连续帧上跟踪感兴趣的人的示例性过程的示意图。
图8中展示了三个连续帧806、808和810。在第一帧806中,可以使用人脸识别方法来识别感兴趣的人804-1。例如,服务器103可以确定第一帧806中的人脸区域812。服务器103可以将第一帧806中的人脸区域812确定为第二帧808中的被跟踪人脸。在帧808中,感兴趣的人804-2可以被静态遮挡物802遮挡,并且不能被服务器103识别为人脸区域。服务器103使用重叠区域确定方法可能找不到与第二帧808的被跟踪人脸相关的人脸区域。服务器103可以使用相关滤波器在第二帧808中确定与感兴趣的人804-2相关的主动跟踪区域814。例如,服务器103可以发现感兴趣的人804-1与感兴趣的人804-2的未遮挡部分之间的相似度,并基于所述相似度确定主动跟踪区域814。服务器103可以将主动跟踪区域814确定为第三帧810的被跟踪人脸。服务器103可以在第三帧810中使用人脸识别方法来确定人脸区域816。服务器103可以确定人脸区域816与第三帧810的被跟踪人脸相关,并且即使当感兴趣的人804-2被遮挡并且在第二帧808中不能被跟踪时,感兴趣的人804-3是与感兴趣的人804-1相同的人。
上文已对基本概念做了描述,显然,对于阅读此说明书后的本领域的普通技术人员来说,以上发明披露仅作为示例,并不构成对本说明书的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。例如“一个实施例”、“一实施例”、和“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。因此,本说明书的各个方面可以全部由硬件、全部由软件(包括固件、驻留软件、微代码等)或由软件和硬件的组合来实现,这些软件和硬件在本文中通常被称为“模块”、“单元”、“组件”、“设备”或“系统”。此外,本说明书的一些方面可以采取计算机程序产品的形式,该计算机程序产品体现在一个或更多计算机可读介质中,所述计算机可读介质上有计算机可读程序代码。
计算机可读信号介质可以包含一个内含有计算机程序代码的传播数据信号,例如,在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何以上介质的组合。
用于执行本申请的一些方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,包括面向对象的编程语言,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python之类的;传统的过程编程语言,例如“C”编程语言、visualbasic、Fortran2003、Perl、COBOL2002、PHP、ABAP;动态编程语言,例如Python、Ruby和Groovy;或者其他编程语言。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者可以与外部计算机建立连接(例如,通过使用网络服务提供商的网络)或在云计算环境中或作为服务提供,例如,软件服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其它名称的使用,并非用于限定本说明书流程和方法的顺序。尽管以上披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,尽管以上各种组件的实现可以体现在硬件设备中,但也可以实现为纯软件解决方案,例如,在现有服务器或移动设备上的安装。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本说明书的实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本说明书的该不应被解释为反映要求保护的主题需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于以上披露的单个实施例的全部特征。
Claims (19)
1.一种用于在视频监控中跟踪对象的系统,包括:
至少一种存储介质,其中包括用于在视频监控中跟踪所述对象的一组指令;以及
至少一个与所述存储介质通信的处理器,其特征在于,当执行所述一组指令时,所述至少一个处理器被指示用于:
获取包括至少两个连续帧的视频;
从所述至少两个连续帧中获取当前帧,其中在所述当前帧的至少两个先前帧中识别感兴趣的对象,将所述感兴趣的对象的人脸区域确定为被跟踪人脸;
基于与所述当前帧相关的参考帧中的被跟踪人脸确定所述当前帧中的搜索区域,所述搜索区域为所述当前帧相对于与所述参考帧中的被跟踪人脸相对应的人脸识别框放大的人脸识别框;
从所述至少两个先前帧中获取至少两个模板帧,所述至少两个模板帧包括所述感兴趣对象的多个特征;以及
使用相关滤波器基于所述搜索区域和所述至少两个模板帧确定至少两个候选人脸区域;
基于所述至少两个候选人脸区域识别所述当前帧中的被跟踪人脸的位置,并基于所述至少两个候选人脸区域更新下一帧的被跟踪人脸。
2.根据权利要求1所述的系统,其特征在于,所述至少一个处理器还被指示用于:
基于与所述当前帧中识别到的所述感兴趣的对象相关的位置来识别所述当前帧的一个或以上后续帧中的所述感兴趣的对象。
3.根据权利要求1所述的系统,其特征在于,所述感兴趣的对象是感兴趣的人,并且所述至少一个处理器还被指示用于:
从视频中获取一个或以上被跟踪人脸;
基于所述当前帧确定一个或以上人脸区域;
从所述一个或以上被跟踪人脸中选择一个被跟踪人脸;
从所述一个或以上人脸区域中选择一个人脸区域;以及
确定所述人脸区域是否与所述被跟踪人脸相关。
4.根据权利要求3所述的系统,其特征在于,所述至少一个处理器还被指示用于:
响应于所述人脸区域与所述被跟踪人脸相关的确定,将所述人脸区域与对应于所述被跟踪人脸的感兴趣的人相关;以及
使用所述人脸区域更新所述当前帧中的所述被跟踪人脸。
5.根据权利要求3所述的系统,其特征在于,所述至少一个处理器还被指示用于:
响应于所述人脸区域与所述被跟踪人脸不相关的确定,基于所述相关滤波器识别所述当前帧中与所述感兴趣的人相关的位置;以及
使用所述识别位置更新所述当前帧中的所述被跟踪人脸。
6.根据权利要求3所述的系统,其特征在于,为了确定所述人脸区域是否与所述被跟踪人脸相关,所述至少一个处理器还被指示用于:
确定所述人脸区域和所述被跟踪人脸之间的重叠区域的百分比是否超过重叠阈值;以及
响应于所述重叠区域的百分比超过所述重叠阈值的确定,确定所述人脸区域与所述被跟踪人脸相关。
7.根据权利要求1所述的系统,其特征在于,所述感兴趣的对象是感兴趣的人,并且为了获取所述至少两个模板帧,所述至少一个处理器还被指示用于:
基于所述当前帧的先前帧来确定与所述感兴趣的人相关的匹配时段;以及
基于所述匹配时段确定所述至少两个模板帧,其中在所述至少两个模板帧中识别所述感兴趣的人。
8.根据权利要求1所述的系统,其特征在于,所述参考帧是与所述当前帧相邻的先前帧。
9.根据权利要求7所述的系统,其特征在于,所述至少两个模板帧包括所述匹配时段中的第一帧、所述匹配时段中的中间一帧、以及所述匹配时段中的最后一帧。
10.一种用于在视频监控中跟踪对象的方法,包括:
获取包括至少两个连续帧的视频;
从所述至少两个连续帧中获取当前帧,其中在所述当前帧的至少两个先前帧中识别感兴趣的对象,将所述感兴趣的对象的人脸区域确定为被跟踪人脸;
基于与所述当前帧相关的参考帧中的被跟踪人脸确定所述当前帧中的搜索区域,所述搜索区域为所述当前帧相对于与所述参考帧中的被跟踪人脸相对应的人脸识别框放大的人脸识别框;
从所述至少两个先前帧中获取至少两个模板帧,所述至少两个模板帧包括所述感兴趣对象的多个特征;以及
使用相关滤波器基于所述搜索区域和所述至少两个模板帧确定至少两个候选人脸区域;
基于所述至少两个候选人脸区域识别所述当前帧中的被跟踪人脸的位置,并基于所述至少两个候选人脸区域更新下一帧的被跟踪人脸。
11.根据权利要求10所述的方法,还包括:
基于与所述当前帧中识别到的所述感兴趣的对象相关的位置来识别所述当前帧的一个或以上后续帧中的所述感兴趣的对象。
12.根据权利要求10所述的方法,其特征在于,所述感兴趣的对象是感兴趣的人,并且所述方法还包括:
从视频中获取一个或以上被跟踪人脸;
基于所述当前帧确定一个或以上人脸区域;
从所述一个或以上被跟踪人脸中选择一个被跟踪人脸;
从所述一个或以上人脸区域中选择一个人脸区域;以及
确定所述人脸区域是否与所述被跟踪人脸相关。
13.根据权利要求12所述的方法,还包括:
响应于所述人脸区域与所述被跟踪人脸相关的确定,将所述人脸区域与对应于所述被跟踪人脸的感兴趣的人相关;以及
使用所述人脸区域更新所述当前帧中的所述被跟踪人脸。
14.根据权利要求12所述的方法,还包括:
响应于所述人脸区域与所述被跟踪人脸不相关的确定,基于所述相关滤波器识别所述当前帧中与所述感兴趣的人相关的位置;以及
使用所述识别到的位置更新所述当前帧中的所述被跟踪人脸。
15.根据权利要求12所述的方法,其特征在于,确定所述人脸区域是否与所述被跟踪人脸相关包括:
确定所述人脸区域和所述被跟踪人脸之间的重叠区域的百分比是否超过重叠阈值;以及
响应于所述重叠区域的百分比超过所述重叠阈值的确定,确定所述人脸区域与所述被跟踪人脸相关。
16.根据权利要求10所述的方法,其特征在于,所述感兴趣的对象是感兴趣的人,并且获取所述至少两个模板帧包括:
基于所述当前帧的先前帧来确定与所述感兴趣的人相关的匹配时段;以及
基于所述匹配时段确定所述至少两个模板帧,其中在所述至少两个模板帧中识别所述感兴趣的人。
17.根据权利要求10所述的方法,其特征在于,所述参考帧是与所述当前帧相邻的先前帧。
18.根据权利要求16所述的方法,其特征在于,所述至少两个模板帧包括所述匹配时段中的第一帧、所述匹配时段中的中间一帧、以及所述匹配时段中的最后一帧。
19.一种非暂时性计算机可读介质,包括用于在视频监控中跟踪对象的至少一组指令,其特征在于,当由一个或以上电子设备中的至少一个处理器执行时,所述至少一组指令指示所述至少一个处理器:
获取包括至少两个连续帧的视频;
从所述至少两个连续帧中获取当前帧,其中在所述当前帧的至少两个先前帧中识别感兴趣的对象,将所述感兴趣的对象的人脸区域确定为被跟踪人脸;
基于与所述当前帧相关的参考帧中的被跟踪人脸确定所述当前帧中的搜索区域,所述搜索区域为所述当前帧相对于与所述参考帧中的被跟踪人脸相对应的人脸识别框放大的人脸识别框;
从所述至少两个先前帧中获取至少两个模板帧,所述至少两个模板帧包括所述感兴趣对象的多个特征;以及
使用相关滤波器基于所述搜索区域和所述至少两个模板帧确定至少两个候选人脸区域;
基于所述至少两个候选人脸区域识别所述当前帧中的被跟踪人脸的位置,并基于所述至少两个候选人脸区域更新下一帧的被跟踪人脸。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/125287 WO2020133330A1 (en) | 2018-12-29 | 2018-12-29 | Systems and methods for video surveillance |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113228626A CN113228626A (zh) | 2021-08-06 |
CN113228626B true CN113228626B (zh) | 2023-04-07 |
Family
ID=71129551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880100531.4A Active CN113228626B (zh) | 2018-12-29 | 2018-12-29 | 视频监控系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210319234A1 (zh) |
CN (1) | CN113228626B (zh) |
WO (1) | WO2020133330A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102311798B1 (ko) * | 2019-12-12 | 2021-10-08 | 포항공과대학교 산학협력단 | 다중 객체 추적 방법 및 장치 |
US11574477B2 (en) * | 2021-03-08 | 2023-02-07 | Adobe Inc. | Highlight video generated with adaptable multimodal customization |
CN113223083B (zh) * | 2021-05-27 | 2023-08-15 | 北京奇艺世纪科技有限公司 | 一种位置确定方法、装置、电子设备及存储介质 |
CN114693912B (zh) * | 2022-03-10 | 2024-03-05 | 山东大学齐鲁医院 | 具有眼球追踪功能的内镜检查系统、存储介质及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469443A (zh) * | 2015-08-13 | 2017-03-01 | 微软技术许可有限责任公司 | 机器视觉特征跟踪系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004046647A (ja) * | 2002-07-12 | 2004-02-12 | Univ Waseda | 動画像データに基づく移動物体追跡方法及び装置 |
CN100426317C (zh) * | 2006-09-27 | 2008-10-15 | 北京中星微电子有限公司 | 多姿态人脸检测与追踪系统及方法 |
US7869631B2 (en) * | 2006-12-11 | 2011-01-11 | Arcsoft, Inc. | Automatic skin color model face detection and mean-shift face tracking |
JP5488076B2 (ja) * | 2010-03-15 | 2014-05-14 | オムロン株式会社 | 対象物追跡装置、対象物追跡方法、および制御プログラム |
US8928813B2 (en) * | 2010-10-28 | 2015-01-06 | Microsoft Corporation | Methods and apparatus for reducing structured noise in video |
CN103034841B (zh) * | 2012-12-03 | 2016-09-21 | Tcl集团股份有限公司 | 一种人脸追踪方法及系统 |
CN103259962B (zh) * | 2013-04-17 | 2016-02-17 | 深圳市捷顺科技实业股份有限公司 | 一种目标追踪方法和相关装置 |
CN104036237B (zh) * | 2014-05-28 | 2017-10-10 | 中国人民解放军海军总医院 | 基于在线预测的旋转人脸的检测方法 |
CN104346811B (zh) * | 2014-09-30 | 2017-08-22 | 深圳市华尊科技股份有限公司 | 基于视频图像的目标实时追踪方法及其装置 |
CN105512627B (zh) * | 2015-12-03 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 一种关键点的定位方法及终端 |
US10489660B2 (en) * | 2016-01-21 | 2019-11-26 | Wizr Llc | Video processing with object identification |
CN106650682B (zh) * | 2016-12-29 | 2020-05-01 | Tcl集团股份有限公司 | 一种人脸追踪的方法及装置 |
US11068741B2 (en) * | 2017-12-28 | 2021-07-20 | Qualcomm Incorporated | Multi-resolution feature description for object recognition |
CN109558815A (zh) * | 2018-11-16 | 2019-04-02 | 恒安嘉新(北京)科技股份公司 | 一种实时多人脸的检测及跟踪方法 |
-
2018
- 2018-12-29 CN CN201880100531.4A patent/CN113228626B/zh active Active
- 2018-12-29 WO PCT/CN2018/125287 patent/WO2020133330A1/en active Application Filing
-
2021
- 2021-06-24 US US17/304,740 patent/US20210319234A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469443A (zh) * | 2015-08-13 | 2017-03-01 | 微软技术许可有限责任公司 | 机器视觉特征跟踪系统 |
Also Published As
Publication number | Publication date |
---|---|
US20210319234A1 (en) | 2021-10-14 |
WO2020133330A1 (en) | 2020-07-02 |
CN113228626A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113228626B (zh) | 视频监控系统和方法 | |
US10489660B2 (en) | Video processing with object identification | |
US20210365707A1 (en) | Maintaining fixed sizes for target objects in frames | |
US11238272B2 (en) | Method and apparatus for detecting face image | |
WO2019100608A1 (zh) | 摄像装置、人脸识别的方法、系统及计算机可读存储介质 | |
US20220222776A1 (en) | Multi-Stage Multi-Reference Bootstrapping for Video Super-Resolution | |
CN108141568B (zh) | Osd信息生成摄像机、合成终端设备及共享系统 | |
WO2020233397A1 (zh) | 在视频中对目标进行检测的方法、装置、计算设备和存储介质 | |
US20160255357A1 (en) | Feature-based image set compression | |
WO2021017282A1 (en) | Systems and methods for image clustering | |
US10163212B2 (en) | Video processing system and method for deformation insensitive tracking of objects in a sequence of image frames | |
KR20170015639A (ko) | 디지털 영상 내의 얼굴 인식을 통한 개인 식별 시스템 및 방법 | |
US11990010B2 (en) | Methods and apparatuses for early warning of climbing behaviors, electronic devices and storage media | |
KR20190093799A (ko) | Cctv를 통한 실시간 실종자 얼굴 인식 시스템 및 그 방법 | |
CN109002776B (zh) | 人脸识别方法、系统、计算机设备和计算机可读存储介质 | |
US11605220B2 (en) | Systems and methods for video surveillance | |
TW202244680A (zh) | 位置姿勢獲取方法、電子設備及電腦可讀儲存媒體 | |
WO2023279799A1 (zh) | 对象识别方法、装置和电子系统 | |
CN109785439B (zh) | 人脸素描图像生成方法及相关产品 | |
CN116824641A (zh) | 姿态分类方法、装置、设备和计算机存储介质 | |
EP3699865B1 (en) | Three-dimensional face shape derivation device, three-dimensional face shape deriving method, and non-transitory computer readable medium | |
WO2022257778A1 (zh) | 拍摄装置状态识别方法、装置、计算机设备和存储介质 | |
US11200407B2 (en) | Smart badge, and method, system and computer program product for badge detection and compliance | |
US12033082B2 (en) | Maintaining fixed sizes for target objects in frames | |
WO2022086028A1 (ko) | 전자 장치 및 이의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |