视频分析设备、方法和计算机可读存储介质与流程

文档序号:11408186阅读:165来源:国知局
视频分析设备、方法和计算机可读存储介质与流程

本公开涉及视频分析领域,特别涉及通过视频分析对视频中的多个对象进行定位。



背景技术:

视频分析、尤其是对视频中出现的对象进行定位分析等存在跨学科的广泛应用。例如,在生物学的情境下,动物行为学是一个重要研究方向,对动物行为视频进行自动分析的算法被越来越多地应用到该领域。对该视频中的对象进行自动提取和分割是自动分析方法的重要步骤。但是,目前传统的提取算法一般存在定位精度差、对象位置漏检等问题,严重影响到流程的自动化。



技术实现要素:

本发明人意识到,现有的视频分析算法没有充分利用视频中对象之间的固有信息。有鉴于此,本公开提出了一种视频分析设备、方法和计算机可读存储介质。

根据本公开的一方面,提供了一种视频分析设备,其特征在于,包括:理想位置确定单元,被配置为利用视频中的多个对象的预定排列模式,确定所述多个对象的理想位置;几何变换建立单元,被配置为利用坐标变换方法,建立所述多个对象的初始位置到理想位置的几何变换;以及精确位置获得单元,被配置为根据所述几何变换的映射矩阵的逆变换,获得所述多个对象的精确位置。通过利用视频中多个对象的预定排列模式,根据本公开的各方面的视频分析设备、方法和计算机可读存储介质能够提高对视频中对象的定位精度。

在一种可能的实现方式中,所述预定排列模式包括大致中心对称的排列。

在一种可能的实现方式中,所述理想位置确定单元被配置为对于所述预定排列模式,指定其排列的方向、尺度和坐标原点,以确定理想情况下所述多个对象的理想位置。

在一种可能的实现方式中,所述几何变换包括仿射变换或透视变换;所述精确位置获得单元被配置为求解所述仿射变换或透视变换的映射矩阵的逆变换,将所述逆变换作用于所述多个对象的理想位置,以获得所述多个对象的精确位置。

在一种可能的实现方式中,所述多个对象是多个昆虫活动台,昆虫能够在所述昆虫活动台处活动,并且所述预定排列模式为正多边形排列。

在一种可能的实现方式中,所述视频分析设备还包括:初始位置获得单元,被配置为利用所述多个对象的形状信息,初步获得所述多个对象的位置作为所述初始位置,其中,初步获得所述多个对象的位置包括:从视频中提取多个帧,并检测所述多个帧中的所述多个对象的形状所在的位置,将所述位置聚类为所述对象的数目,获得所述初始位置。

根据本公开的另一方面,提供了一种视频分析方法,其特征在于,包括:利用视频中的多个对象的预定排列模式,确定所述多个对象的理想位置;利用坐标变换方法,建立所述多个对象的初始位置到理想位置的几何变换;根据所述几何变换的映射矩阵的逆变换,获得所述多个对象的精确位置。

在一种可能的实现方式中,所述视频分析方法还包括:利用所述多个对象的形状信息,初步获得所述多个对象的位置作为所述初始位置;其中,初步获得所述多个对象的位置包括:从视频中提取多个帧,并检测所述多个帧中的所述多个对象的形状所在的位置,将所述位置聚类为所述对象的数目,获得所述初始位置。

在一种可能的实现方式中,所述预定排列模式包括大致中心对称的排列。

在一种可能的实现方式中,利用视频中的多个对象的预定排列模式确定所述多个对象的理想位置包括:对于所述预定排列模式,指定其排列的方向、尺度和坐标原点,以确定理想情况下所述多个对象的理想位置。

在一种可能的实现方式中,所述几何变换包括仿射变换或透视变换;以及根据所述几何变换的映射矩阵的逆变换获得所述多个对象的精确位置包括:求解所述仿射变换或透视变换的映射矩阵的逆变换,将所述逆变换作用于所述多个对象的理想位置,以获得所述多个对象的精确位置。

在一种可能的实现方式中,所述多个对象是多个昆虫活动台,昆虫能够在所述昆虫活动台处活动,并且所述预定排列模式为正多边形排列。

根据本公开的另一方面,提供了一种视频分析设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。

根据本公开的另一方面,提供了一种计算机可读存储介质,该计算机程序被处理器执行时实现上述方法。

通过利用视频中多个对象的预定排列模式,根据本公开的各方面的视频分析设备、方法和计算机可读存储介质能够提高对视频中对象的定位精度。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出根据示例性实施方式的视频分析设备的示意装置框图。

图2示出根据一个具体实现例子示出的视频分析设备的示意细节框图。

图3示出根据示例性实施方式的视频分析方法的示意流程图。

图4示出根据一个具体实现例子示出的视频分析方法的示意细节流程图。

图5是根据一个具体实现例子示出的多个对象a~f按正六边形排列的示意图。

图6是根据示例性实施方式示出的视频分析设备1900的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

尽管本公开以生物领域所用的昆虫活动台(昆虫能够在该昆虫活动台处活动)作为视频中的定位对象进行示例性说明,但本领域技术人员容易理解,本公开同样适用于对各种不同领域的视频中的各类对象进行定位。

图1示出根据示例性实施方式的视频分析设备100的示意装置框图。视频分析设备100包括理想位置确定单元102、几何变换建立单元104和精确位置获得单元106。其中,理想位置确定单元102被配置为利用视频中的多个对象的预定排列模式,确定多个对象的理想位置。这里,预定排列模式可以是对象具有对于视频分析设备100而言已知的排列规律的任何排列模式。在一个具体示例中,预定排列模式包括大致中心对称的排列。本领域技术人员都了解,对象的排列在实际中很难达到几何上严格的中心对称。“大致中心对称”表示对象在本领域技术人员公知或普遍接受的误差范围内以中心对称方式排列。在一个具体示例中,优选地,预定排列模式可以包括方格排列或正方形排列、长方形排列(正方形和长方形排列可统称为矩形排列)、或者正六边形排列。当然,如本领域技术人员所能理解的,预定排列模式可以包括正八边形等其它正多边形排列。几何变换建立单元104被配置为利用坐标变换方法,建立多个对象的初始位置到理想位置的几何变换。精确位置获得单元106被配置为根据所述几何变换的映射矩阵的逆变换,获得所述多个对象的精确位置。

图2示出根据一个具体实现例子示出的视频分析设备200的示意细节框图。除理想位置确定单元102、几何变换建立单元104和精确位置获得单元106以外,视频分析设备200可以在视频分析设备100的基础上进一步包括初始位置获得单元202。在一个具体实现中,视频分析设备200接收输入视频。初始位置获得单元202从输入视频中提取多个帧,利用视频中的多个对象的形状信息,检测多个对象的形状所在的位置,将所述位置聚类为对象的数目,从而获得多个对象的形状所在的初始位置。由此,视频分析设备200可以初步获得该多个对象的初始位置。

图3示出根据示例性实施方式的视频分析方法的示意流程图。视频分析方法可以包括以下步骤。在步骤s302中,利用视频中的多个对象的预定排列模式,确定所述多个对象的理想位置。在步骤s304中,利用坐标变换方法,建立所述多个对象的初始位置到理想位置的几何变换。在步骤s306中,根据所述几何变换的映射矩阵的逆变换,获得多个对象的精确位置。

图4示出根据一个具体实现例子示出的视频分析方法的示意细节流程图。在一个具体实现例子中,本公开的视频分析方法可以应用于分析视频中的作为对象的昆虫活动台。但本领域技术人员显然能够理解,本公开所能分析的对象不以昆虫活动台为限。如图4所示,可以执行以下步骤。

●初步提取昆虫活动台的位置

从输入视频中提取若干帧,并检测其中的昆虫活动台形状所在的位置。例如,对于圆形昆虫活动台,可以使用霍夫圆变换算法。对于其他形状,可以采用与其他形状相对应的已知的形状检测算法。将检测到的昆虫活动台位置进行聚类,例如可以使用kmeans或者gmm等算法,得到n个聚类中心,即昆虫活动台的初始位置p1,p2,…,pn,其中n为昆虫活动台的数目。p1,p2,…,pn大致指向了昆虫活动台的位置。

对于已知的昆虫活动台排列方式,指定其排列的方向、尺度和坐标原点,并确定理想情况下活动台的位置。例如,在一个具体示例中,昆虫活动台可以按照方格排列。这时,可以假设昆虫活动台的理想位置分别为q1,q2,…,qn,其中qi=(mi,ni),mi和ni分别表示在方格排列中的行数和列数。当然,也可以指定其他的尺度、方向和坐标原点。在不同的坐标系下q1,q2,…,qn有不同的表示。例如,在另一个具体示例中,昆虫活动台的排列可以为正六边形排列。图5是根据一个具体实现例子示出的多个对象a~f按正六边形排列的示意图,正六边形的对称中心示出为o。这时,作为对象的示例的昆虫活动台的坐标可以表示为其中,m和n分别对应昆虫活动台沿oc方向和ob方向的行数和列数。应当理解,尺度可以表示例如为昆虫活动台的对象的预定排列模式在理想坐标系下的尺寸度量。在一个示例中,在预定排列模式为正六边形或矩形排列的情况下,尺度可以为正六边形或者矩形的边长在理想坐标系下的尺寸。在其它示例中,在预定排列模式为圆形排列的情况下,尺度可以为圆形的半径。

●建立昆虫活动台的初始位置p1,p2,…,pn和理想位置q1,q2,…,qn之间的映射关系。假设p1,p2,…,pn和一一对应,则存在映射a将点从初始坐标p1,p2,…,pn映射为理想坐标映射矩阵a可以表示透视变换或仿射变换。应当注意,旋转变换、剪切变换、平移变换、缩放变换、翻转变换等都可以通过仿射变换来实现,此处不再赘述。

设映射矩阵

得到超定方程

在一个具体示例中,例如可以根据最小二乘法求解映射矩阵a,并求解映射矩阵a的逆变换b。

●昆虫活动台的理想位置经过逆变换b作用,得到昆虫活动台的精确位置p’1,p’2,…,p’n,即

应当注意,事实上,本公开所应用于的视频及在视频中所分析的对象不以昆虫视频和昆虫活动台为限。用户完全可根据实际应用场景灵活设定选择,只要视频中的多个对象以预定排列模式排列即可。

图6是根据示例性实施方式示出的视频分析设备1900的框图。例如,装置1900可以被提供为一服务器。参照图5,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的模块,每一个模块对应于一组指令。此外,处理组件1922被配置为执行指令,以执行上述的视频分析方法。

装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(i/o)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

在示例性实施例中,还提供了一种包括指令的非易失性计算机可读存储介质,例如包括指令的存储器1932,上述指令可由装置1900的处理组件1922执行以完成上述方法。

本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

这样,通过充分利用预定排列模式信息,根据本公开上述实施例的视频分析设备、方法和计算机可读存储介质能够提高视频中对象定位的准确性。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1