技术领域
本发明涉及深度学习领域,尤其涉及基于深度学习的宠物行为识别方法及系统。
背景技术
宠物不仅能给人们带来精神上的愉悦,还能让人精神放松,对现在快节奏的生活有很多益处。随着人们生活水平的提高,饲养宠物的数量也在不断增加,根据《2021年中国宠物行业白皮书》的统计,截止到2021年,我国饲养的宠物猫达到5800多万只,宠物狗达到5400多万只,而且该报告显示,宠物在家庭的地位也在不断上升,很多家庭将宠物作为家庭的一员。但是宠物无法用语言与人类沟通,人们只能通过宠物的一些动作简单判断宠物的情绪、状态,然而,很多时候人们会出现判断错误的情况,例如猫咪好奇某个东西和打算偷袭时的动作、表情十分相似,有时候很难分辨,而且不同品种、甚至相同品种不同个体的宠物,其表达感情的动作都有差别,对于宠物的行为研究甚至已经称为了一门学科,即动物行为分析学。
人工智能的发展给宠物动作、行为自动分析带来了可能,将拍摄的视频或者照片输入深度学习模型,深度学习模型可以自动分析宠物的行为。图片的深度学习具有很高的识别率,已经能够满足平常如植物病虫害等应用场景。但是仅凭单张图片无法确定宠物的动作,例如猫咪匍匐身体,有可能仅仅是伸懒腰,也可能是准备攻击,对宠物动作的识别需要对拍摄的宠物视频进行分析。在对视频中宠物行为分析时,需要首先对深度学习模型进行训练,为了提高识别率,对C3D卷积神经网络的训练是根据制作好的较为标准的宠物视频进行训练的。
但是用户在使用训练好的C3D卷积神经网络识别宠物动作时,拍摄的视频无法达到训练样本集的标准,例如前几秒是其他镜头,然后移动到宠物,而且在拍摄过程中可能出现抖动等,用户的情况也各不相同,有的拍摄的时间长,有的则比较短,无法要求用户拍摄很标准的宠物视频,导致出现较大的误识别率的情况,用户体验差,甚至会出现几次误识别后,用户弃用的情况。
发明内容
为了解决用户在进行宠物行为识别中,上传的视频不统一,导致宠物行为识别准确率低的问题。
首先,本发明提供了一种基于深度学习的宠物行为分析方法,所述方法包括以下步骤:
S1,获取用户拍摄的宠物视频,提取所述宠物视频的I帧,对于每个I帧,判断I帧是否满足预设条件,若不满足预设条件,则删除所述I帧及相关帧,得到处理后的视频;
S2,计算处理后的视频中GOP个数和视频帧个数,若所述视频帧个数大于第一阈值,则计算所述第一阈值与所述视频帧个数的比值,根据所述比值确定每个GOP中删除指定类型帧的个数,得到视频帧序列;
若所述视频帧个数小于第二阈值,则计算所述第二阈值与所述视频帧个数的比值,根据所述比值确定每个GOP中增加指定类型帧的个数,得到视频帧序列;
否则,将S1中处理后的视频的帧的序列作为视频帧序列;
S3,提取所述视频帧序列的Y通道图像序列,利用Y通道图像序列和深度学习模型,识别宠物的行为。
进一步地,所述对于每个I帧,判断I帧是否满足预设条件,若不满足预设条件,则删除所述I帧及相关帧,得到处理后的视频,具体为:
采用目标检测方法检测所述I帧图像的宠物目标,判断是否检测到宠物,若没有检测到宠物,或者检测到宠物但是宠物在所述I帧图像的占比小于第一预设值,则所述I帧不满足预设条件;
识别不满足预设条件的I帧是否是IDR帧,若是,则删除所述I帧以及所述I帧到下一个I帧之间所有帧,并将下一个I帧转换为IDR帧;若否,删除所述I帧以及所述I帧到下一个I帧之间所有帧,并将所述I帧前连续的n个B帧删除,所述连续的n个B帧的最后一个B帧是所述I帧的上一帧,n为自然数。
进一步地,所述根据所述比值确定每个GOP中删除指定类型帧的个数,得到视频帧序列,具体为:
对于每个GOP,根据公式d1=(1-k
进一步地,所述根据所述比值确定每个GOP中增加指定类型帧的个数,得到视频帧序列,具体为:
对于每个GOP,根据公式d2=(k
进一步地,所述第一阈值和所述第二阈值根据深度学习模型的训练样本集确定,具体为:建立所述训练样本集的视频帧个数的直方图,对所述直方图进行正态分布拟合,计算置信水平为β的置信空间,所述置信空间的上边界值为所述第一阈值,所述置信空间的下边界值为所述第二阈值。
进一步地,根据测试样本集得到所述深度学习模型的准确率k
其次,本发明还提供了一种基于深度学习的宠物行为识别系统,所述系统包括以下模块:
宠物视频第一处理模块,用于获取用户拍摄的宠物视频,提取所述宠物视频的I帧,对于每个I帧,判断I帧是否满足预设条件,若不满足预设条件,则删除所述I帧及相关帧,得到处理后的视频;
宠物视频第二处理模块,用于计算处理后的视频中GOP个数和视频帧个数,若所述视频帧个数大于第一阈值,则计算所述第一阈值与所述视频帧个数的比值,根据所述比值确定每个GOP中删除指定类型帧的个数,得到视频帧序列;
若所述视频帧个数小于第二阈值,则计算所述第二阈值与所述视频帧个数的比值,根据所述比值确定每个GOP中增加指定类型帧的个数,得到视频帧序列;
否则,将S1中处理后的视频的帧的序列作为视频帧序列;
行为识别模块,用于提取所述视频帧序列的Y通道图像序列,利用Y通道图像序列和深度学习模型,识别宠物的行为。
进一步地,所述对于每个I帧,判断I帧是否满足预设条件,若不满足预设条件,则删除所述I帧及相关帧,得到处理后的视频,具体为:
采用目标检测方法检测所述I帧图像的宠物目标,判断是否检测到宠物,若没有检测到宠物,或者检测到宠物但是宠物在所述I帧图像的占比小于第一预设值,则所述I帧不满足预设条件;
识别不满足预设条件的I帧是否是IDR帧,若是,则删除所述I帧以及所述I帧到下一个I帧之间所有帧,并将下一个I帧转换为IDR帧;若否,删除所述I帧以及所述I帧到下一个I帧之间所有帧,并将所述I帧前连续的n个B帧删除,所述连续的n个B帧的最后一个B帧是所述I帧的上一帧,n为自然数。
进一步地,所述第一阈值和所述第二阈值根据深度学习模型的训练样本集确定,具体为:建立所述训练样本集的视频帧个数的直方图,对所述直方图进行正态分布拟合,计算置信水平为β的置信空间,所述置信空间的上边界值为所述第一阈值,所述置信空间的下边界值为所述第二阈值;其中,β=k
最后,本发明提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。
本发明针对在宠物行为识别中,用户上传的宠物视频差异大,导致识别率低的问题,提出了一种基于深度学习的宠物行为识别方法及系统,首先,去除宠物视频中没有宠物或者宠物在视频中不明显的视频帧,然后根据深度学习模型训练样本集的特征,删除宠物视频中的B帧,或B帧和P帧,或者增加宠物视频的B帧或P帧,以此实现用户上传视频的标准化,使得用户上传的视频和训练样本集的视频接近,达到提高深度学习模型识别的正确率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为实施例一的流程图;
图2为删除IDR帧及相关帧示意图;
图3为删除I帧及相关帧示意图;
图4为本发明一个实施例的架构图;
图5为本发明的模块结构图。
具体实施方式
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
H264编码是当前使用最为广泛的视频压缩方法,手机拍摄的视频、电影网站的电影以及直播中都会使用H264编码。在H264编码中,视频帧分为I帧、P帧、B帧,其中I帧又称为关键帧,采用帧内编码,P帧和B帧采用帧间编码,P帧参考前一参考帧,B帧参考前一以及后一参考帧,B帧不能为参考帧。在实际应用中,用户上传的视频都是经过H264编码的宠物视频。
具体实施例一
本发明提供了一种基于深度学习的宠物行为分析方法,如图1所示,所述方法包括以下步骤:
S1,获取用户拍摄的宠物视频,提取所述宠物视频的I帧,对于每个I帧,判断I帧是否满足预设条件,若不满足预设条件,则删除所述I帧及相关帧,得到处理后的视频;
深度学习模型的建立包括构建深度学习模型,对深度模型进行训练,对训练后的深度模型进行验证。在一个具体的实施例中,深度学习模型为C3D卷积神经网络,相较于2D卷积神经网络,3D ConvNets增加了时空特性,卷积核采用3×3×3的结构,非常适合对视频行为的检测。
I帧是关键帧,不仅是P帧和B帧的参考帧,而且由于采用帧内预测,相较于P帧和B帧,I帧与原图的误差更小,而且在场景切换时,会在视频中插入I帧,也即I帧是不同场景的分界,通过判断I帧是否满足预设条件,可以去除所述I帧及相关帧,相关帧为P帧或B帧。
S2,计算处理后的视频中GOP个数和视频帧个数,若所述视频帧个数大于第一阈值,则计算所述第一阈值与所述视频帧个数的比值,根据所述比值确定每个GOP中删除指定类型帧的个数,得到视频帧序列;
若所述视频帧个数小于第二阈值,则计算所述第二阈值与所述视频帧个数的比值,根据所述比值确定每个GOP中增加指定类型帧的个数,得到视频帧序列;
否则,将S1中处理后的视频的帧的序列作为视频帧序列;
在经过步骤S1处理后的宠物视频,视频帧都和宠物相关,但是处理后的视频帧有两种比较特殊的情况,一种是处理后的宠物视频很长,例如几分钟,另外一种是处理后的宠物视频很短,例如1-3s,无论宠物视频过长还是过短,都和训练样本集误差较大,影响识别率,如猫咪踩奶是一个反复的动作,仅仅1-3s无法反应踩奶行为,有可能在1-3s内仅仅踩了一次或者两次,这就很容易将猫咪踩奶行为识别为其他行为。对此,本发明进一步根据GOP个数和视频帧个数对宠物视频进一步处理,其中,GOP(Group of Pictures)是两个IDR帧之间所有的视频帧,每个GOP是一个独立视频,可以完成解码等。
若第一阈值为300,第二阈值为120,步骤S1处理后的视频为900帧时,则计算得到第一阈值与视频帧个数的比值为300/900=1/3,根据比值1/3删除每个GOP中指定的类型帧;若步骤S1处理后的视频为60帧,则计算得到第二阈值与视频帧个数的比值为120/60=2,根据比值2增加每个GOP中指定类型帧的个数;若步骤S1处理后的视频为200,则无需删除或增加步骤S1处理后的视频。
在实际应用中发现,用户上传的视频都满足视频帧个数大于或等于第二阈值,而且增加视频帧涉及到帧间预测,计算量大,在一个具体实施例中,当服务器负载高时,步骤S2,仅包括删除或者不改变视频帧个数。
S3,提取所述视频帧序列的Y通道图像序列,利用Y通道图像序列和深度学习模型,识别宠物的行为。
H264是以YUV色彩模式压缩视频,Y通道表示亮度,也即灰度,在深度学习中,使用Y通道即可满足要求,因此步骤S2得到视频帧序列的Y通道图像进行深度学习的识别。
在提取所述视频帧序列的Y通道图像序列后,还可以对Y通道图像序列进行预处理,预处理包括但不限于分辨率的改变、ROI区域提取,由于在训练深度学习模型中使用的视频分辨率相似甚至相同,当用户拍摄的宠物视频分辨率过大或者拍摄的宠物视频中宠物目标过小时,通过分辨率的改变或者ROI区域的提取,使用户拍摄的宠物视频接近训练样本集的视频分辨率,如都转换为和训练样本集相同的320*240。
在一个具体实施例中,所述对于每个I帧,判断I帧是否满足预设条件,若不满足预设条件,则删除所述I帧及相关帧,得到处理后的视频,具体为:
采用目标检测方法检测所述I帧图像的宠物目标,判断是否检测到宠物,若没有检测到宠物,或者检测到宠物但是宠物在所述I帧图像的占比小于第一预设值,则所述I帧不满足预设条件;
识别不满足预设条件的I帧是否是IDR帧,若是,则删除所述I帧以及所述I帧到下一个I帧之间所有帧,并将下一个I帧转换为IDR帧;若否,删除所述I帧以及所述I帧到下一个I帧之间所有帧,并将所述I帧前连续的n个B帧删除,所述连续的n个B帧的最后一个B帧是所述I帧的上一帧,n为自然数。
I帧涉及到场景的切换,当I帧没有宠物或者宠物在I帧图像中很小时,对宠物行为是识别正确率会较低,假设不满足预设条件的I帧为IDR帧,删除所述I帧和相关帧的情况如图2所示;假设不满足预设条件的I帧不是IDR帧,删除所述I帧和相关帧的情况如图3所示。假设经过步骤S1处理后的视频帧序列为:P IDR P B I B P B P IDR,当第一个IDR帧不满足预设条件时,将所述视频帧序列中的“IDR P B”序列删除,同时将“IDR P B”的下一个I帧转换为IDR帧,最终的结果为:P IDR B P B P IDR,如图2所示。当第一个上述序列的第一个I帧不满足预设条件时,将“B I B P B P”序列删除,最终的结果为:P IDR P IDR,如图3所示。虽然IDR帧是一种特殊是I帧,但是为了区分二者,在本发明中,如非特殊说明,I帧和IDR帧是两种帧。
当用户上传的宠物视频中宠物在每一帧图像中的占比都很小时,会出现将所有帧都删除,也即无法识别的情况,为了避免这种情况,在一个实施例中,第一预设值与宠物视频的视频帧个数和宠物视频分辨率相关,第一预设值随着宠物视频帧个数的增大而增大,随着宠物视频分辨率的增大而减小。
在一个实施例中,所述根据所述比值确定每个GOP中删除指定类型帧的个数,得到视频帧序列,具体为:
对于每个GOP,根据公式d1=(1-k
在一个实施例中,所述根据所述比值确定每个GOP中增加指定类型帧的个数,得到视频帧序列,具体为:
对于每个GOP,根据公式d2=(k
需要注意的是,删除指定类型视频帧和增加指定类型视频帧,二者所指的指定类型可以相同,也可以不同。
仍以上面实施例的数据进行说明,即第一阈值为300,第二阈值为120,步骤S1处理后的视频为900帧时,则计算得到第一阈值与视频帧个数的比值为300/900=1/3,若第一个GOP包括100帧图像,则根据公式d1=(1-k
在一个优选的实施例中,当第一个GOP的100帧图像中B帧超过66个时,则对第一个GOP的所有帧排序,若有连续的B帧则删除其中一个,若为单独的一个B帧,则直接删除B帧,然后迭代,直至删除66个B帧。
当第一个GOP的100帧图像中B帧个数为30,P帧个数为40,则首先删除全部B帧,然后按照上述方式删除P帧。所述按照上述方式删除P帧,具体为:若有连续的P帧则删除其中一个,若为单独的一个P帧,则直接删除P帧,然后迭代,直至删除40个P帧。
当第一个GOP的100帧图像B帧个数为30,P帧个数为30,则直接删除全部的B帧和P帧。
在另外一个优选的实施例中,当第一个GOP的100帧图像中B帧超过66个时,则按照B帧在GOP的位置,对第一个GOP的所有B帧排序,按照等间隔删除66个B帧,代码如下:
若步骤S1处理后的视频为60帧,则计算得到第二阈值与视频帧个数的比值为120/60=2,根据比值2增加每个GOP中指定类型帧的个数;根据公式d2=(k
训练样本集越多,深度学习模型的识别率越高,训练样本集包含几万个样本,甚至几十万的样本,训练样本的时长不尽相同,从几秒到几分钟不等,对应的视频帧数也不同。所述第一阈值和所述第二阈值根据深度学习模型的训练样本集确定,具体为:建立所述训练样本集的视频帧个数的直方图,对所述直方图进行正态分布拟合,计算置信水平为β的置信空间,所述置信空间的上边界值为所述第一阈值,所述置信空间的下边界值为所述第二阈值。置信水平为β通常取0.9,置信水平越高,则宠物视频的帧数和训练样本集的偏差越大,可以识别的宠物视频的帧数范围越大,在一个具体实施例中,根据测试样本集得到所述深度学习模型的准确率k
具体实施例二
本发明有两种架构模式,一种是客户端-服务器模式,如图5所示,用户通过移动手持终端将拍摄的宠物视频上传到服务器,有服务器执行宠物行为的识别操作;另外一种是客户端模式,在客户端-服务器模式中,用户在使用移动手持终端将拍摄的宠物视频上传到服务器后,服务器执行宠物行为识别,在客户端模式中,宠物行为识别是在移动手持终端中执行,本发明不对具体的架构模式做限定。
本发明还提供了一种基于深度学习的宠物行为识别系统,所述系统包括以下模块:
宠物视频第一处理模块,用于获取用户拍摄的宠物视频,提取所述宠物视频的I帧,对于每个I帧,判断I帧是否满足预设条件,若不满足预设条件,则删除所述I帧及相关帧,得到处理后的视频;
宠物视频第二处理模块,用于计算处理后的视频中GOP个数和视频帧个数,若所述视频帧个数大于第一阈值,则计算所述第一阈值与所述视频帧个数的比值,根据所述比值确定每个GOP中删除指定类型帧的个数,得到视频帧序列;
若所述视频帧个数小于第二阈值,则计算所述第二阈值与所述视频帧个数的比值,根据所述比值确定每个GOP中增加指定类型帧的个数,得到视频帧序列;
否则,将S1中处理后的视频的帧的序列作为视频帧序列;
行为识别模块,用于提取所述视频帧序列的Y通道图像序列,利用Y通道图像序列和深度学习模型,识别宠物的行为。行为识别模块又称为深度学习模型模块,是利用训练好的深度学习模型对Y通道图像序列进行宠物行为的识别。
进一步地,所述对于每个I帧,判断I帧是否满足预设条件,若不满足预设条件,则删除所述I帧及相关帧,得到处理后的视频,具体为:
采用目标检测方法检测所述I帧图像的宠物目标,判断是否检测到宠物,若没有检测到宠物,或者检测到宠物但是宠物在所述I帧图像的占比小于第一预设值,则所述I帧不满足预设条件;
识别不满足预设条件的I帧是否是IDR帧,若是,则删除所述I帧以及所述I帧到下一个I帧之间所有帧,并将下一个I帧转换为IDR帧;若否,删除所述I帧以及所述I帧到下一个I帧之间所有帧,并将所述I帧前连续的n个B帧删除,所述连续的n个B帧的最后一个B帧是所述I帧的上一帧,n为自然数。
进一步地,所述根据所述比值确定每个GOP中删除指定类型帧的个数,得到视频帧序列,具体为:
对于每个GOP,根据公式d1=(1-k
进一步地,所述根据所述比值确定每个GOP中增加指定类型帧的个数,得到视频帧序列,具体为:
对于每个GOP,根据公式d2=(k
进一步地,所述第一阈值和所述第二阈值根据深度学习模型的训练样本集确定,具体为:建立所述训练样本集的视频帧个数的直方图,对所述直方图进行正态分布拟合,计算置信水平为β的置信空间,所述置信空间的上边界值为所述第一阈值,所述置信空间的下边界值为所述第二阈值;其中,β=k
具体实施例三
本发明提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如具体实施例一所述的方法。
以上所描述的装置实施例仅仅是示意性的,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
相关知识
一种基于深度学习的宠物行为识别方法及系统
一种基于深度学习的宠物行为识别方法及系统与流程
宠物行为心理学的研究和训练方法.docx
浅谈《宠物行为与训导》课教学活动与学习活动设计过程
基于宠物猫行为语言的互动式家具设计研究
基于SSH技术的宠物救助系统的设计与实现
一款宠物狗无线感知交互系统让人和动物的社交网络成真
行为学与心理学对动物学习活动的研究成果在宠物训练领域中的应用
动物行为检测计算机视觉
我在B站搞学习——有趣的动物行为学
网址: 一种基于深度学习的宠物行为识别方法及系统 https://m.mcbbbk.com/newsview4831.html
上一篇: 宠物养护与经营专业 主要学习什么 |
下一篇: 【喵呜·行为】什么时候你会需要猫 |