一种移动物体的识别方法、装置、及存储介质与流程

文档序号:21982352发布日期:2020-08-25 19:18阅读:340来源:国知局
一种移动物体的识别方法、装置、及存储介质与流程

本文涉及计算机领域,尤指一种移动物体的识别方法、装置、及存储介质。



背景技术:

随着人们生活水平的提高,卫生安全变得越来越重要,卫生安全中,食品安全是很重要的一块。厨房卫生安全是食品安全的重要组成部分,而在厨房卫生安全中,老鼠带来的危险是非常高的。但是一方面,我们难以时刻监视厨房中是否出现老鼠,另一方面,捕鼠器、老鼠药是有效的除鼠手段,但是在没有看到老鼠的情况下,难以确定捕鼠器、老鼠药的放置地点,除鼠的效率会低很多。所以,监视厨房是否出现老鼠,并在出现老鼠的时候地位老鼠的移动轨迹就变得非常重要。本发明针对的是夜间视频,而且为了加大算法的可行性,每个视频的长度一般为一分钟到两分钟。过长的视频需要被切分成短视频。短视频保证了视频的整体背景变化很小。

现有技术中,一般采用的为基于深度学习的图片分类模型进行判断,对于一张图片,如果图片中有老鼠,就判断整张图片的类别为老鼠。可是使用常用的图像分类模型,如resnet,densenet等。但厨房视频图像中,老鼠只占图片的一个很小的区域。一方面,如果模型要很好的识别图片中的老鼠,使用的深度学习模型需要很大,计算量和存储都会变大很多。另一方面,如果模型效果要好的话,需要海量的数据,同时因为不同厨房背景差异大,即使训练得到效果好的分类模型,也难以保证模型的泛化能力。此外,对整张图片做分类就没法对老鼠定位了,也无法得到老鼠的移动轨迹图。

现有技术中,也会采用基于深度学习的目标检测模型,该模型能够有效的识别图片中的目标,以及定位目标的位置。通过训练一个关于老鼠的深度学习目标检测模型,如faster-rcnn,ssd,yolo-v3等可以有效的识别图片中的老鼠,达到检测视频中的老鼠的目的。但是,一方面,对于同一个店铺的厨房,可以训练一个有效的目标检模型,但是这个模型在其它的店铺很可能效果就很差了。一个目标检测模型,不仅需要判断图片中哪些是老鼠,还需要判断哪些不是老鼠,不同的店铺中,店铺的背景差异很大,所以使用深度学习目标检测模型效果并不好。如果希望训练一个泛化能力很好的目标检测模型,那么就需要很多很多不同背景下的老鼠图片,而这很难达到。另一方面,目标检测模型计算量都比较大,这种模型如果同时部署到很多店铺的话,需要的计算成本也很高。

现有技术中,还会混合高斯背景建模和基于深度学习的图片分类模型,主要包括两个部分:

a)混合高斯背景建模,在运动目标检测提取中,背景目标对于目标的识别和跟踪至关重要。而混合高斯背景建模适合于在摄像机固定的情况下从图像序列中分离出背景和前景。在摄像机固定的情况下,背景的变化是缓慢的,而且大都是光照,风等等的影响,通过对背景建模,对一幅给定图像分离前景和背景,一般来说,前景就是运动物体,从而达到运动物品检测的目的。

b)基于深度学习的图片分类模型,常用的图像分类网络,如resnet、vgg16、densenet等,可以通过对一张图片打上类别标记,然后训练一个分类模型,以此识别给定图片的类别。基于移动检测得到的小区域图片做分类,需要的模型就会比较小,模型泛化能力也会比直接使用分类模型好很多。

餐厅厨房场景下,摄像头是固定摄像头,背景变化也比较小,移动物品检测算法效果会比较好。通过结合混合高斯背景建模的移动物品检测模型以及图像分类模型可以有效的检测视频中的老鼠,并定位老鼠的位置。先检测视频中移动的物品所在的位置,然后使用图片分类模型对图片做分类,判断该移动物品是不是老鼠,以此判断视频中是否出现老鼠,以及老鼠的位置。

但是,上述深度学习分类模型受限于训练数据和模型效果,模型也难以达到完美的效果。而在厨房中,会有冰箱,插排,各种电器的闪光,加上各种钢铁的反光,这些东西因为移动检测算法的不完美,有时候会将这些光误检为移动物品,再加上有些光亮很像老鼠的眼睛,所有也容易将这些物品误检为老鼠。

所以,为了训练一个泛化能力强,效果也很好,且不容易对视频中各种因为光亮变化导致的误检。除了针对图片本身,还需要基于物体的移动轨迹来排除那些非老鼠的闪光轨迹,正确判断移动物品是否是老鼠。



技术实现要素:

本申请提供了一种移动物体的识别方法、装置、及存储介质,能够达到较准确的识别移动物体的目的。

本申请提供了一种移动物体的识别方法,包括:采集视频;检测所采集的视频中的移动物体的运动轨迹;确定所检测到的运动轨迹中,每个移动区域与该运动轨迹所包含的多个移动区域的中心位置之间的第一距离,根据多个所述第一距离得到所述运动轨迹的类内距离;其中,移动区域是指所述视频包含的帧图片中,组成所述运动轨迹的矩形区域;对于类内距离符合预定条件的运动轨迹,采用预先训练好的图片分类模型,对所述视频中该运动轨迹对应的每一张图片进行识别,根据识别结果确定所述视频中是否包含指定物体。

与相关技术相比,本申请实施例通过确定运动轨迹的类内距离对移动物体的可能情形进行识别,再采用图片分类模型进行进一步的确认,从而能够提高对应移动物体的识别准确性。

在一个示例性实施例中,本申请实施例通过确定运动轨迹的类内距离对移动物体的,对非指定物体的闪光轨迹进行排除,从而能够提高对应移动物体的识别准确性。

在一个示例性实施例中,本申请实施例通过图片分类模型对每帧帧图片的预测值进行预定方式的处理,从而能够得到移动轨迹的预测结果。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。

附图说明

附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1本申请实施例移动物体的识别方法流程图;

图2本申请实施例移动物体的识别装置模块示意图;

图3本申请实施例基于具体场景下的移动物体识别视频图片示意图;

图4本申请实施例基于具体场景下的光的折射图片;

图5本申请实施例基于具体场景下的光的闪光图片。

具体实施方式

本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。

本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。

此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。

如图1所示,本申请提供一种移动物体的识别方法,包括如下操作:

s1、采集视频;

在一个示例性实施例中,视频采集可以通过摄像设备进行采集。例如,当需要识别厨房中的老鼠时,可以通过固定安装在厨房中的摄像头,采集厨房中的视频。

在一个示例性实施例中,对于老鼠检测场景,为了降低计算量,假定只检测夜间活动的老鼠。因为白天的时候,厨房中很多人的活动信息,这时候如果做移动物品检测,会检测到很多物品在移动,然后之后深度学习模型就需要做很多的判断,计算量会大很多。所以摄像头需要有红外线摄像的功能,红外线摄像能在夜间也采集得到清楚的图片,之后的模型处理可以基于红外线摄像开启后采集的视频做处理。

s2、检测所采集的视频中的移动物体的运动轨迹;

在一个示例性实施例中,采用混合高斯模型检测视频中的移动物品的运动轨迹。混合高斯背景建模的主要原理是构建视频中的背景,然后对于每一帧的图片,一方面将该图片与背景做差别检测,以此检测图片中的“前景”,该前景即为认为的移动物品;另一方面,使用该图片去更新背景,得到新的背景。

s3、确定所检测到的运动轨迹中,每个移动区域与该运动轨迹所包含的多个移动区域的中心位置之间的第一距离,根据多个所述第一距离得到所述运动轨迹的类内距离;其中,移动区域是指所述视频包含的帧图片中,组成所述运动轨迹的矩形区域;

在一个示例性实施例中,混合高斯模型检测得到的移动区域为移动轨迹对应帧图中的矩形区域,该区域是移动物体出现的区域,一般用rectangle表示,一条轨迹a按照顺序移动区域包括rectangle1,rectangle2,…,rectanglen。每一个矩形rectangle对应了一帧图片中的截图。

在一个示例性实施例中,一帧图片中的移动区域可能包括一个,也可能包括多个。

如图3所示,该图形为采集的视频中一帧图片,图片中的矩形区域为移动区域,w表示的是整个图的长,h表示的是整个图的宽。(x,y)表示的是左上角的坐标(默认整个图的左上角的坐标是(0,0),(dx,dy)分别为移动区域的长和宽。

在一个示例性实施中,操作s3中所述该运动轨迹所包含的多个移动区域的中心位置是指该运动轨迹所包含的多个移动区域位置的平均值;

在一个示例性实施中,操作s3中所述根据多个第一距离得到所述运动轨迹的类内距离,包括:所述运动轨迹的类内距离根据所述多个第一距离取平均值得到;所述该运动轨迹所包含的多个移动区域的中心位置是指该运动轨迹所包含的多个移动区域位置的平均值,计算公式如下:

其中,a表示运动轨迹;distance_sequential(a)表示运动轨迹a的帧图片中移动区域之间的类内距离;n表示运动轨迹所对应的移动区域的个数;i运动轨迹中各移动区域的顺序号。

上述公式通过以下推理得到:

假设rectangle1=(x1,y1,dx1,dy1,w,h),rectangle2=(x2,y2,dx2,dy2,w,h),定义两个矩形rectangle1和rectangle2之间的距离。

首先,两个rectangle的中心点的距离由横坐标间的距离和纵坐标间的距离决定:

然后,两个矩形框之间的距离:

c)定义一条轨迹的“中心点”(即中心位置)以及“类内距离”,轨迹a的类内距离为:假设轨迹a=[rectangle1,rectangle2,...,rectanglen]:轨迹a的中心点为(center_x,center_y),其中:

轨迹a的类内距离为:

在其他实施方式中,所述运动轨迹的类内距离可以根据部分移动区域与中心位置之间的距离取平均值获取,也可以通过部取分移动区域与中心位置之间的距离的中位数获取,也可以通过筛查异常值之后取平均值获取等等方式。

本申请实施例通过对移动轨迹的类内距离的确定,可以区分移动物体。例如,在检测老鼠的实际应用场景中,视频中记录的移动物体除了老鼠可能存在冰箱,插排,各种电器的闪光,各种钢铁的反光等情况,这些情况有时候会误检为移动物品,有些光亮很像老鼠的眼睛,所以也容易将这些物品误检为老鼠,如图4、图5所示;本申请实施例通过确定移动物体运动轨迹的类内距离,从而确定移动物体可能是上述的情况,从而排除误报。

s4、对于类内距离符合预定条件的运动轨迹,采用预先训练好的图片分类模型,对所述视频中该运动轨迹对应的每一张图片进行识别,根据识别结果确定所述视频中是否包含指定物体。

一般的,移动轨迹里面的图片一般是帧图片部分截图,在其他方式中也可以直接采用帧图片。

在一个示例性实施例中,预先采用基于卷积网络的图像分类模型,如resnet,densenet等等。

在一个示例性实施例中,所述图片分类模型是采用对移动区域是否包含指定物体进行标注后的样本数据训练得到的。

在一个示例性实施例中,所述方法还包括操作:s5:判断所述运动轨迹的类内距离是否符合预定条件。

在一个示例性实施例中,上述操作s5包括如下操作:

s50、将所述运动轨迹的类内距离与预设最小类内距离进行比较;

s51、当所述运动轨迹的类内距离小于预设最小类内距离,则确定所述运动轨迹的类内距离不符合预定条件;

s52当所述运动轨迹的类内距离大于或等于预设最小类内距离,则确定所述运动轨迹的类内距离符合预定条件。

在一个示例性实施例中,所述方法还包括s6:对于类内距离不符合预定条件的运动轨迹,确定所述视频中不包含指定物体。

例如,在检测老鼠的应用场景中,可以根据研究预先定义“最小类内距离”(min_distance),比如min_distance=0.15。当distance_winthin_class(a)<min_distance的时候,认为该轨迹不可能是老鼠,很可能是因为闪光造成的移动物品误检。当distance_winthin_class(a)≥min_distance的时候,以图片分类模型的预测结果为准。

上述对于类内距离不符合预定条件的运动轨迹确定为不包含指定物体结果,但是对于类内距离符合预定条件的运动轨迹不能直接得出结果,需要进一步判断,需要采用图片分类模型进行进一步的预测。

故,在一个示例性实施例中,上述操作s4所述对于类内距离符合预定条件的运动轨迹,采用预先训练好的图片分类模型,对所述视频中该运动轨迹对应的每一张图片进行识别,根据识别结果确定所述视频中是否包含指定物体,包括如下操作:

s41、对所述运动轨迹对应的每一张图片是否包含所述指定移动物体进行预测,得到所述运动轨迹对应的每一张图片包含指定移动物体的预测结果值;

s42、根据每一张图片包含指定移动物体的预测结果值,采用预定方式得到所述运动轨迹包含所述指定移动物体的预测结果值;

s43、根据所得到的所述运动轨迹包含所述指定移动物体的预测结果值,确定所述视频中是否包含指定物体。

例如,在上述检测老鼠的应用场景中,当distance_winthin_class(a)≥min_distance的时候,使用模型训练模块中训练并存储的分类模型,对轨迹a中的所有图片做预测。假设rectangle1,rectangle2,…,rectanglen对应的预测结果分别为[pred1,pred2,,,,predn],其中predi是一个0-1之间的数,越接近1,表示这张图中越可能包含老鼠。。

因为上述是对每帧帧图片的结果进行的预测,而没有对整个移动轨迹的进行预测,故需要采用预定方式对移动轨迹进行预测。

在一个示例性实施例中,采用对所述运动轨迹对应所有帧图片包含指定移动物体的预测结果值求平均值的方式确定所述运动轨迹包含所述指定移动物体的预测结果值;或者,在另一个示例性实施例中,采用所述运动轨迹对应所有帧图片中排序在前的指定数量帧图片预测结果值求平均值的方式确定

例如,在上述检测老鼠的应用场景中,所述具有所述运动轨迹的视频图像包含移动物体的预测结果值。结合这些结果得到一个统一的结果,比如使用:

或者假设[pred1,pred2,,,,predn]从大到小的排列结果是[pred1’,pred2’,,,,predn’],即pred1’>=pred2’>=predn’,定义:

或者使用中位数:

median_pred=median([pred1,pred2,,,,predn])

等等方法可以得到一个0到1之间的数。以该值作为轨迹a中的移动物品是否为老鼠的预测值。

在一个示例性实施例中,上述方法还包括:当确定所述视频中是否包含指定物体,基于该移动轨迹绘制所述指定物体的移动轨迹图。

如上述老鼠的示例中,当轨迹a的预测结果大于给定的阈值,如0.5的时候,判断轨迹a中的移动物品为老鼠。基于轨迹a绘制老鼠的移动轨迹图。

如图2所示,本申请提供一种移动物体的识别装置,包括:

视频采集模块10,用于采集视频;

检测模块20,用于检测所采集的视频中的移动物体的运动轨迹;

有序类内距离确定模块30,用于确定所检测到的运动轨迹中,每个移动区域与该运动轨迹所包含的多个移动区域的中心位置之间的第一距离,根据多个所述第一距离得到所述运动轨迹的类内距离;其中,移动区域是指所述视频包含的帧图片中,组成所述运动轨迹的矩形区域;

图片分类模块40,用于对于类内距离符合预定条件的运动轨迹,采用预先训练好的图片分类模型,对所述视频中该运动轨迹对应的每一张图片进行识别,根据识别结果确定所述视频中是否包含指定物体。

本申请还提供一种移动物体的识别装置,包括处理器和存储器,其特征在于,所述存储器中存储有用于定向投放内容的程序;所述处理器用于读取所述用于定向投放内容的程序,执行上述中任一项所述的方法。

本申请还提供一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述中任一项所述的方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

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