本发明涉及计算机技术领域,尤其涉及一种牲畜的数量确定方法、终端及计算机存储介质。
背景技术:
随着养殖业的快速发展,为提高经济效益,越来越多的养殖户开始进行大批量养殖。养殖户在养殖牲畜的过程中,需要对牲畜的数量进行监控。目前,通常是由人工进行牲畜数量盘点。但人工盘点牲畜数量耗时较长,效率低;并且人工盘点牲畜数量的过程中,会由于牲畜移动造成漏数、重复数的情况,导致人工盘点牲畜数量的准确性低。
技术实现要素:
本发明实施例所要解决的技术问题在于,提供一种牲畜的数量确定方法、终端及计算机存储介质,可以自动识别牲畜的数量,有效提高确定牲畜数量的效率和准确率。
第一方面,本发明实施例提供了一种牲畜的数量确定方法,所述方法包括:
获取多个摄像设备采集的视频数据;
根据所述视频数据获取目标图像,所述目标图像中包括多个所述牲畜,所述目标图像为彩色图像;
获取所述目标图像对应的灰度图像和单通道图像;
利用第一识别模型对所述灰度图像进行处理,得到所述目标图像中的牲畜的第一数量;
利用第二识别模型对所述单通道图像进行处理,得到所述目标图像中的牲畜的第二数量;
根据所述第一数量和所述第二数量确定所述目标图像中的牲畜的目标数量。
在一实施方式中,所述根据所述第一数量和所述第二数量确定所述目标图像中的牲畜的目标数量,包括:
基于线性回归模型对所述第一数量和所述第二数量进行预测,得到所述目标图像中的牲畜的目标数量;
其中,所述线性回归模型是根据所述第一识别模型以及所述第二识别模型输出的历史数量训练得到的。
在一实施方式中,所述第一识别模型和所述第二识别模型为卷积神经网络模型,所述第一识别模型和所述第二识别模型均包括两级卷积神经网络,所述两级卷积神经网络为第一级卷积神经网络和第二级卷积神经网络;其中,所述第一级卷积神经网络包括至少两个并行的子网络,每个子网络包括m层卷积层,所述m层卷积层对应多个扩张率;所述第二级卷积神经网络包括n层卷积层,所述n层卷积层对应多个扩张率;所述m和n为大于1的整数。
在一实施方式中,所述m层卷积层的前s层卷积层的扩张率相等,对于第s+1层卷积层到第m层卷积层中的任意一层卷积层,所述任意一层卷积层的扩张率均为前一层卷积层的扩张率的预设第一倍数,所述s为大于等于2,且小于所述m的整数;对于所述n层卷积层的前k层卷积层中的任意一层卷积层,所述任意一层卷积层的扩张率均为前一层卷积层的扩张率的预设第二倍数,所述k为大于等于2,且小于所述n的整数。
在一实施方式中,所述根据所述视频数据获取目标图像,包括:
分别从预设数量个摄像设备采集的视频数据中获取一张图像,其中,获取的预设数量张图像对应同一拍摄时间;
根据所述预设数量个摄像设备之间的位置关系将获取的预设数量张图像进行拼接,得到目标图像。
在一实施方式中,所述方法还包括:
获取作为样本的牲畜的历史视频数据,从所述历史视频数据中获取作为样本的牲畜的多张样本图像,所述多张样本图像是摄像设备在不同光线环境下采集到的;
分别将预设数量张样本图像进行拼接,得到多张训练图像;
获取各张训练图像对应的标注信息,所述标注信息包括训练图像中各个牲畜的坐标信息;
利用所述多张训练图像以及所述标注信息对初始识别模型进行训练,得到所述第一识别模型和所述第二识别模型。
在一实施方式中,所述利用所述多张训练图像以及所述标注信息对初始识别模型进行训练,得到所述第一识别模型和所述第二识别模型,包括:
获取各张训练图像对应的灰度图像,并利用所述各张训练图像对应的灰度图像和标注信息对初始识别模型进行训练,得到所述第一识别模型;
获取各张训练图像对应的单通道图像,并利用所述各张训练图像对应的单通道图像和标注信息对初始识别模型进行训练,得到所述第二识别模型。
在一实施方式中,所述利用所述各张训练图像对应的灰度图像和标注信息对初始识别模型进行训练,得到所述第一识别模型,包括:
将所述各张训练图像对应的灰度图像和标注信息输入初始识别模型,利用所述初始识别模型根据所述各张训练图像对应的灰度图像和标注信息确定各张灰度图像对应的密度图像,并根据所述密度图像确定各张训练图像中的牲畜的预测数量;
若检测到所述预测数量不满足收敛条件,则对所述初始识别模型中的参数进行调整,以使调整参数后的初始识别模型输出的预测数量满足所述收敛条件,其中,所述真实数量是根据所述标注信息确定的;
在所述调整参数后的初始识别模型输出的预测数量满足所述收敛条件时,将所述调整参数后的初始识别模型作为所述第一识别模型。
第二方面,本发明实施例提供了一种牲畜的数量确定装置,所述装置包括:
获取单元,用于获取多个摄像设备采集的视频数据;
第一处理单元,用于根据所述视频数据获取目标图像,所述目标图像中包括多个所述牲畜,所述目标图像为彩色图像;
所述第一处理单元,还用于获取所述目标图像对应的灰度图像和单通道图像;
第二处理单元,用于利用第一识别模型对所述灰度图像进行处理,得到所述目标图像中的牲畜的第一数量;
所述第二处理单元,还用于利用第二识别模型对所述单通道图像进行处理,得到所述目标图像中的牲畜的第二数量;
所述第二处理单元,还用于根据所述第一数量和所述第二数量确定所述目标图像中的牲畜的目标数量。
第三方面,本发明实施例提供了一种终端,包括处理器、通信接口和存储器,其中,所述处理器、所述通信接口和所述存储器相互连接,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行上述第一方面所述的牲畜的数量确定方法。
第四方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的牲畜的数量确定方法。
本发明实施例通过根据多个摄像设备采集的视频数据获取包括多个牲畜的目标图像,利用第一识别模型对目标图像的灰度图像进行处理,得到该多个牲畜的第一数量,利用第二识别模型对目标图像的单通道图像进行处理,得到该多个牲畜的第二数量,根据该第一数量和第二数量确定该多个牲畜的目标数量,从而可以自动识别牲畜的数量,有效提高确定牲畜数量的效率和准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种牲畜数量识别的场景图;
图2是本发明实施例提供的一种牲畜的数量确定方法的流程示意图;
图3是本发明实施例提供的一种拼接图像的示意图;
图4是本发明实施例提供的一种识别模型的架构示意图;
图5是本发明实施例提供的一种识别模型的训练方法的流程示意图;
图6是本发明实施例提供的一种牲畜的数量确定装置的结构示意图;
图7是本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
目前,通常是由人工进行牲畜数量盘点。但人工盘点牲畜数量耗时较长,效率低;并且人工盘点牲畜数量的过程中,会由于牲畜移动造成漏数、重复数的情况,导致人工盘点牲畜数量的准确性低。基于此,本发明实施例提供了一种牲畜的数量确定方法,用于快速确定牲畜的数量。其中,如图1所示,牲畜所处的养殖环境中配置有多个摄像设备,用于采集牲畜所处养殖环境的视频数据;所述牲畜的数量确定方法可以实现在如个人电脑、笔记本电脑、智能手机、平板电脑等数据处理终端中,所述终端与摄像设备连接,可从摄像设备中获取牲畜所处养殖环境的视频数据。
具体地,所述牲畜的数量确定方法包括:终端获取多个摄像设备采集的牲畜所处养殖环境的视频数据,并根据该视频数据获取目标图像,目标图像为包括多个牲畜的彩色图像。终端获取目标图像对应的灰度图像和单通道图像,并利用第一识别模型对该灰度图像进行处理,得到目标图像中的牲畜的第一数量;利用第二识别模型对该单通道图像进行处理,得到目标图像中的牲畜的第二数量。其中,第一识别模型和第二识别模型均为卷积神经网络模型。最后,终端根据该第一数量和第二数量确定目标图像中的牲畜的目标数量。通过上述方式,可以实现确定牲畜数量的自动化和智能化,有效提高确定牲畜数量的效率和准确率。以下分别进行详细说明。
请参阅图2,图2为本发明实施例提供的一种牲畜的数量确定方法的流程示意图,所述牲畜的数量确定方法可以包括:
s201、获取多个摄像设备采集的视频数据。
本发明实施例中,该多个摄像设备预先设置在牲畜所处养殖环境中的不同位置,用于采集牲畜所处养殖环境的视频数据;该多个摄像设备的视角可覆盖牲畜所处的整个养殖环境。在一实施方式中,终端与摄像设备建立有通信连接,可以是有线连接,也可以是无线连接。其中,可以是摄像设备采集到视频数据之后,自行将采集到的视频数据发送给终端;也可以是终端向摄像设备发送视频数据上传指令,摄像设备响应于该视频数据上传指令将采集到的视频数据发送给终端。在另一实施方式中,可以是摄像设备采集到视频数据之后,将视频数据存储到预先设置在牲畜所处养殖环境中的存储设备,终端从该存储设备中获取摄像设备采集到的视频数据。
在一实施例中,该多个摄像设备配置的是广角镜头,从而可通过少量的摄像设备即可覆盖牲畜所处的整个养殖环境,在一定程度上降低成本。
s202、所述终端根据所述视频数据获取目标图像,所述目标图像中包括多个所述牲畜,所述目标图像为彩色图像。
本发明实施例中,终端根据该多个摄像设备之间的位置关系,从该多个摄像设备中确定预设数量个位置相邻的摄像设备;分别从该预设数量个位置相邻的摄像设备采集的视频数据中获取一张图像,其中,获取的预设数量张图像对应同一拍摄时间;根据该预设数量个位置相邻的摄像设备之间的位置关系将获取的预设数量张图像进行拼接,得到目标图像。该目标图像为包括多个牲畜的三通道彩色图像。需要说明的是,同一拍摄时间是指拍摄时间一致或者接近。
例如,预设数量为4,终端从牲畜所处养殖环境中放置的多个摄像设备中确定4个位置相邻的摄像设备,该四个位置相邻的摄像设备为第一摄像设备、第二摄像设备、第三摄像设备和第四摄像设备,并且在该四个位置相邻的摄像设备形成的区域中,第一摄像设备、第二摄像设备、第三摄像设备、第四摄像设备分别处于于该区域中的左上角、右上角、左下角、右下角的位置。如图3所示的4张图像,假设图像301、302、303、304分别是第一摄像设备、第二摄像设备、第三摄像设备以及第四摄像设备在同一拍摄时间采集的,则在图像拼接过程中,将图像301、302、303、304分别放置于拼接图像中的左上角、右上角、左下角以及右下角的位置,即形成如图3所示的目标图像。
s203、所述终端获取所述目标图像对应的灰度图像和单通道图像。其中,所述单通道图像包括r(红)单通道图像、g(绿)单通道图像、b(蓝)单通道图像中的一种或者多种。
s204、所述终端利用第一识别模型对所述灰度图像进行处理,得到所述目标图像中的牲畜的第一数量。
本发明实施例中,终端将目标图像对应的灰度图像输入第一识别模型,利用第一识别模型对该灰度图像中的牲畜进行识别,并标记该灰度图像中各个牲畜的位置以及获取各位置的坐标;对获取到的坐标进行高斯平滑滤波处理,得到密度数据;根据该密度数据确定该灰度图像对应的密度图像,并统计该密度图像中的像素点的和值;根据该和值得到目标图像中的牲畜的第一数量。在一实施方式中,用于进行高斯平滑滤波处理的高斯平滑公式如下所示:
其中,u,v为牲畜在图像中的坐标;e为自然指数;σ是正态分布的标准偏差,也即是模糊半径,σ是预先设置的数值;g(u,v)为坐标点(u,v)经过高斯平滑滤波处理后的结果。高斯平滑滤波处理可以将表示牲畜位置的坐标点模糊成多个点,进而得到密度数据。
本发明实施例中,第一识别模型是根据作为样本的牲畜的样本图像对应的灰度图像以及样本图像对应的标注信息训练得到的,标注信息包括样本图像中各个牲畜的坐标信息。第一识别模型为卷积神经网络模型,且包括两级卷积神经网络,该两级卷积神经网络为第一级卷积神经网络和第二级卷积神经网络,第一级卷积神经网络的输出与第二级卷积神经网络的输入连接。其中,该第一级卷积神经网络包括至少两个并行的子网络,每个子网络包括m层卷积层,该m层卷积层对应多个扩张率;该第二级卷积神经网络包括n层卷积层,该n层卷积层对应多个扩张率。m和n均为大于1的整数。
在一实施例中,m为大于2的整数,n为大于或等于2的整数。该m层卷积层的前s层卷积层的扩张率相等,对于第s+1层卷积层到第m层卷积层中的任意一层卷积层,该任意一层卷积层的扩张率均为前一层卷积层的扩张率的预设第一倍数。s为大于等于2,且小于m的整数。对于该n层卷积层的前k层卷积层中的任意一层卷积层,该任意一层卷积层的扩张率均为前一层卷积层的扩张率的预设第二倍数。k为大于等于2,且小于n的整数。在另一实施例中,该第一级卷积神经网络中的第一数量个子网络所对应的卷积核大小均为d×d;该第一级卷积神经网络中的第二数量个子网络所对应的卷积核大小均为y×y。d和y不同,且均为大于或等于1的正整数。
s205、所述终端利用第二识别模型对所述单通道图像进行处理,得到所述目标图像中的牲畜的第二数量。
本发明实施例中,所述单通道图像包括r单通道图像、g单通道图像、b单通道图像中的一种或者多种;并且,r单通道图像、g单通道图像和b单通道图像分别对应一个第二识别模型。针对任意一种单通道图像,终端获取与该单通道图像匹配的第二识别模型对该单通道图像进行处理,得到目标图像中的牲畜的一个第二数量。具体地,终端将该单通道图像输入与其匹配的第二识别模型,利用第二识别模型对该单通道图像中的牲畜进行识别,并标记该单通道图像中各个牲畜的位置以及获取各位置的坐标;对获取到的坐标进行高斯平滑滤波处理,得到密度数据;根据该密度数据确定该单通道图像对应的密度图像,并统计该密度图像中的像素点的和值;根据该和值得到目标图像中的牲畜的一个第二数量。
其中,r单通道图像对应的第二识别模型是根据作为样本的牲畜的样本图像对应的r单通道图像以及样本图像对应的标注信息训练得到的。g单通道图像对应的第二识别模型是根据作为样本的牲畜的样本图像对应的g单通道图像以及样本图像对应的标注信息训练得到的。b单通道图像对应的第二识别模型是根据作为样本的牲畜的样本图像对应的b通道图像以及样本图像对应的标注信息训练得到的。各个第二识别模型的架构与前文所述的第一识别模型的架构相同。
为更好的理解本发明实施例中的识别模型,下面举例进行说明。请一并参见图4,为本发明实施例提供的一种识别模型的架构示意图。其中,图4中的灰色平面表示卷积核,灰色平面下方的数字为扩张率,长方体表示经过前方卷积核计算后的结果,最左边的i代表输入的图像,最右边的d代表密度图。如图4所示,识别模型包括第一级卷积神经网络和第二级卷积神经网络,第一卷积神经网络的输出与第二级卷积神经网络的输出连接。第一级卷积神经网络中的每一行表示一个子网络,可见,第一级卷积神经网络包括5个并行的子网络,该5个并行的子网络中有2个子网络的卷积核大小为5×5,有3个子网络的卷积核大小为5×5。各个子网络包括4层卷积层,并且第1层卷积层和第2层卷积层的扩张率相同,第3层卷积层的扩张率为第2层卷积层的扩张率的2倍,第4层卷积层的扩张率为第3层卷积层的扩张率的2倍。第二级卷积神经网络包括5层卷积层,前4层卷积层的卷积核大小为3×3,第5层卷积层的卷积核大小为1×1;前4层卷积层的扩张率分别为2,4,8,16;第5层卷积层的扩张率为1。
在一实施例中,终端利用第一识别模型对目标图像对应的灰度图像进行处理之前,将该灰度图像的尺寸大小缩放为参考尺寸大小;然后利用第一识别模型对尺寸调整后的灰度图像进行处理,得到目标图像中的牲畜的第一数量。参考尺寸例如是1024*1024。同理,终端利用第二识别模型对目标图像对应的单通道图像进行处理之前,将该单通道图像的尺寸大小调整为参考尺寸大小;然后利用第二识别模型对尺寸调整后的单通道图像进行处理,得到目标图像中的牲畜的第二数量。
s206、所述终端根据所述第一数量和所述第二数量确定所述目标图像中的牲畜的目标数量。
本发明实施例中,终端利用线性回归模型对该第一数量和第二数量进行预测,得到目标图像中的牲畜的目标数量。其中,该线性回归模型是根据第一识别模型以及第二识别模型输出的历史数量训练得到的。
在一实施例中,终端在显示界面播放该视频数据的过程中,在显示界面中显示目标图像的同时显示目标图像中的牲畜的目标数量,以使牲畜养殖场的运营人员可以及时了解到牲畜的数量。在又一实施例中,终端确定出目标图像中的牲畜的目标数量之后,获取预先记录的养殖环境中的牲畜的总数量,并检测该目标数量是否与预先记录的牲畜的总数量一致;若不一致,则输出牲畜数量异常的提示信息。通过上述方式,可以在检测到牲畜的数量异常,例如牲畜的数量意外减少时向牲畜养殖场的运营人员进行预警。
本发明实施例通过预先设置的多个摄像设备采集牲畜的视频数据,根据该视频数据获取包括多个牲畜的目标图像,并利用识别模型对目标图像中的牲畜的数量进行识别,可以实现确定牲畜数量的自动化和智能化,有效提高确定牲畜数量的效率,从而有效减少牲畜养殖场的运营人员的工作量。另外,本发明实施例利用多种识别模型分别对目标图像的灰度图像和单通道图像中的牲畜的数量进行识别,并根据各个识别模型识别出的牲畜数量以及线性回归模型确定最终的数量,可有效提高确定牲畜数量的准确率。另外,本发明实施例还可以进行牲畜数量变化的监控预警,有利于牲畜养殖场的运营人员及时了解到牲畜数量异常的情况。
前文介绍了牲畜的数量确定过程,下面对识别模型的训练过程进行介绍。请参阅图5,为本发明实施例提供的一种识别模型的训练方法的流程示意图,所述方法可以包括:
s501、终端获取作为样本的牲畜的历史视频数据,从所述历史视频数据中获取作为样本的牲畜的多张样本图像。
本发明实施例中,该多张样本图像是摄像设备在不同光线环境下采集到的,并且所对应的采集时间不同。将摄像设备在不同采集时间以及不同光线环境下采集到的多张图像作为训练识别模型的样本图像,可增加样本图像的多样性,有利于提高识别模型的识别稳定度识别准确性。其中,终端在获取到多张样本图像之后,获取各张样本图像对应的标注信息,该标注信息包括样本图像中各个牲畜的坐标信息。终端可以是接收用户针对样本图像中的牲畜的人工标记操作,标记操作生成的标记点用于指示牲畜在样本图像中的位置;并将标记操作生成的标记点在样本图像中的坐标作为牲畜的坐标,从而得到样本图像的标注信息。
s502、所述终端分别将预设数量张样本图像进行拼接,得到多张训练图像。
本发明实施例中,终端从该多张样本图像中随机选择预设数量张样本图像,并将该预设数量张样本图像进行拼接,得到一张训练图像;重复上述步骤,以得到多张训练图像。将多张样本图像拼接成一张训练图像,有利于提高识别模型的训练速度。
s503、所述终端获取各张训练图像对应的标注信息。
本发明实施例中,所述标注信息包括训练图像中各个牲畜的坐标信息。由于训练图像是由预设数量张样本图像拼接而成的,故牲畜在训练图像中的坐标与在样本图像中的坐标不同,需要将牲畜在样本图像中的坐标进行映射调整,以得到牲畜在训练图像中的坐标。
例如,假设预设数量为4,训练图像如图3所示,由样本图像301、302、303和304拼接而成。由于图像合并,需要将牲畜在上述4张图像中的原始坐标进行相应映射调整,得到牲畜在训练图像中的坐标。假设牲畜在样本图像中的原始坐标为(x,y),坐标映射后其在训练图像中的坐标为(x',y'),则相应坐标映射关系如下:对于样本图像301:x'=round(x/4),y'=round(y/4);对于样本图像302:x'=round(x/4)+w,y'=round(y/4);对于样本图像303:x'=round(x/4),y'=round(y/4)+h;对于样本图像304:x'=round(x/4)+w,y'=round(y/4)+h。其中,w和h分别为样本图像的宽和高。通过上述映射调整,可以获取到各张训练图像对应的标注信息。
s504、所述终端利用所述多张训练图像以及所述标注信息对初始识别模型进行训练,得到第一识别模型和第二识别模型。
本发明实施例中,终端获取各张训练图像对应的灰度图像,并利用各张训练图像对应的灰度图像和标注信息对初始识别模型进行训练,得到第一识别模型。其中,初始识别模型的架构与图4所示的模型架构相同。
在一实施方式中,终端将各张训练图像对应的灰度图像和标注信息输入初始识别模型,利用初始识别模型分别对各张灰度图像以及相应的标注信息进行处理,得到各张灰度图像的密度图像;统计各张密度图像中的像素点的和值,并根据统计得到的和值确定各张训练图像中的牲畜的预测数量。进一步地,根据预置的第一模型损失函数、各张训练图像中的牲畜的预测数量、以及各张训练图像中的牲畜的真实数量,检测初始识别模型识别出的预测数量是否满足收敛条件。其中,各张训练图像中的牲畜的真实数量可以是根据相应的标注信息确定的。在可行的实施方式中,第一模型损失函数如下:
其中,l1为模型损失,γ为尺度系数,n为训练图像的数量,yip为第i张训练图像中的牲畜的预测数量,yi为第i张训练图像中的牲畜的真实数量。利用上述第一模型损失函数计算各张训练图像中的牲畜的预测数量与真实数量之间的差值的平均值,即模型损失。若该平均值大于或等于预设数值,则确定初始识别模型识别出的预测数量不满足收敛条件;反之,则确定初始识别模型识别出的预测数量满足收敛条件。在初始识别模型识别出的预测数量不满足收敛条件时,对初始识别模型中的参数进行调整,以使调整参数后的初始识别模型输出的预测数量满足收敛条件;在调整参数后的初始识别模型输出的预测数量满足收敛条件时,将调整参数后的初始识别模型作为第一识别模型。
在一实施例中,为节省模型的训练时间,终端可以在利用各张训练图像对应的灰度图像和标注信息对初始识别模型进行训练之前,先将各灰度图像的尺寸大小缩放为参考尺寸大小;参考尺寸大小为w*h,w为宽,h为高。在一实施方式中,w和h相等。若灰度图像为正方形,则将灰度图像的原始宽和高缩小相同的倍数即可。若灰度图像不为正方形,则先根据灰度图像的长边对应的缩放倍数进行缩放,再对相应短边进行填充,得到参考尺寸大小的灰度图像。由于灰度图像的尺寸大小改变,故牲畜在缩放后的灰度图像中的坐标与在训练图像中的坐标不同,需要将牲畜在训练图像中的坐标进行映射调整,以得到牲畜在缩放后的灰度图像中的坐标。相应映射关系如下:
其中,x,y为牲畜在缩放后的灰度图像中的坐标,x0,y0为牲畜在训练图像中的坐标,w,h为缩放后的灰度图像的宽和高,w0,h0为训练图像的宽和高。通过上述映射调整,可以获取到缩放后的各张灰度图像对应的标注信息。进一步地,终端利用缩放后的各张灰度图像及其对应的标注信息对初始识别模型进行训练,得到第一识别模型。
本发明实施例中,终端获取各张训练图像对应的单通道图像,并利用各张训练图像对应的单通道图像和标注信息对初始识别模型进行训练,得到第二识别模型。具体地,终端获取各张训练图像对应的r单通道图像,并利用各张训练图像对应的r单通道图像和标注信息对初始识别模型进行训练,得到r单通道图像对应的第二识别模型。终端获取各张训练图像对应的g单通道图像,并利用各张训练图像对应的g单通道图像和标注信息对初始识别模型进行训练,得到g单通道图像对应的第二识别模型。终端获取各张训练图像对应的b单通道图像,并利用各张训练图像对应的b单通道图像和标注信息对初始识别模型进行训练,得到b单通道图像对应的第二识别模型。具体训练方式可参考前文描述,此处不再赘述。
本发明实施例中,在第一识别模型以及各个第二识别模型输出的预测数量满足收敛条件时,终端利用第一识别模型以及各个第二识别模型输出的预测数量对初始线性回归模型进行训练,得到训练后的线性回归模型。在一实施方式中,线性回归模型的表达式为:
f(x)=wt*x+b
其中,wt和b为模型参数。终端将第一识别模型以及各个第二识别模型输出的预测数量分别作为x变量输入上式,得到相应的目标数量f(x)。进一步地,终端利用预置的第二模型损失函数检测初始线性回归模型预测出的目标数量是否满足收敛条件。在可行的实施方式中,第二模型损失函数如下:
其中,l2为模型损失,f(xi)为初始线性回归模型针对识别模型输出的预测数量xi确定的目标数量,yi为识别模型输出的预测数量xi对应的真实数量;m为识别模型输出的预测数量的数目。利用上述第二模型损失函数计算初始线性回归模型的模型损失,若计算出的模型损失大于或等于目标数值,则确定初始线性回归模型预测出的目标数量不满足收敛条件;反之,则确定初始线性回归模型预测出的目标数量满足收敛条件。在初始线性回归模型预测出的目标数量不满足收敛条件时,对初始线性回归模型中的模型参数wt和b进行调整,以使调整模型参数后的线性回归模型预测出的目标数量满足收敛条件;在调整参数后的线性回归模型预测出的目标数量满足收敛条件时,将调整参数后的线性回归模型作为训练后的线性回归模型。
请参阅图6,图6为本发明实施例提供的一种牲畜的数量确定装置的结构示意图,其中,牲畜所处养殖环境中配置有多个摄像设备,用于采集牲畜所处养殖环境的视频数据,所述装置包括:
获取单元601,用于获取所述多个摄像设备采集的视频数据;
第一处理单元602,用于根据所述视频数据获取目标图像,所述目标图像中包括多个所述牲畜,所述目标图像为彩色图像;
所述第一处理单元602,还用于获取所述目标图像对应的灰度图像和单通道图像;
第二处理单元603,用于利用第一识别模型对所述灰度图像进行处理,得到所述目标图像中的牲畜的第一数量;
所述第二处理单元603,还用于利用第二识别模型对所述单通道图像进行处理,得到所述目标图像中的牲畜的第二数量;
所述第二处理单元603,还用于根据所述第一数量和所述第二数量确定所述目标图像中的牲畜的目标数量。
在一实施方式中,所述第二处理单元603根据所述第一数量和所述第二数量确定所述目标图像中的牲畜的目标数量时,具体用于:
基于线性回归模型对所述第一数量和所述第二数量进行预测,得到所述目标图像中的牲畜的目标数量;
其中,所述线性回归模型是根据所述第一识别模型以及所述第二识别模型输出的历史数量训练得到的。
在一实施方式中,所述第一识别模型和所述第二识别模型为卷积神经网络模型,所述第一识别模型和所述第二识别模型均包括两级卷积神经网络,所述两级卷积神经网络为第一级卷积神经网络和第二级卷积神经网络;其中,所述第一级卷积神经网络包括至少两个并行的子网络,每个子网络包括m层卷积层,所述m层卷积层对应多个扩张率;所述第二级卷积神经网络包括n层卷积层,所述n层卷积层对应多个扩张率;所述m和n为大于1的整数。
在一实施方式中,所述m层卷积层的前s层卷积层的扩张率相等,对于第s+1层卷积层到第m层卷积层中的任意一层卷积层,所述任意一层卷积层的扩张率均为前一层卷积层的扩张率的预设第一倍数,所述s为大于等于2,且小于所述m的整数;对于所述n层卷积层的前k层卷积层中的任意一层卷积层,所述任意一层卷积层的扩张率均为前一层卷积层的扩张率的预设第二倍数,所述k为大于等于2,且小于所述n的整数。
在一实施方式中,所述第一处理单元602根据所述视频数据获取目标图像时,具体用于:
分别从预设数量个摄像设备采集的视频数据中获取一张图像,其中,获取的预设数量张图像对应同一拍摄时间;
根据所述预设数量个摄像设备之间的位置关系将获取的预设数量张图像进行拼接,得到目标图像。
在一实施方式中,所述获取单元601,还用于获取作为样本的牲畜的历史视频数据,从所述历史视频数据中获取作为样本的牲畜的多张样本图像,所述多张样本图像是摄像设备在不同光线环境下采集到的;
所述第一处理单元602,还用于分别将预设数量张样本图像进行拼接,得到多张训练图像;
所述获取单元601,还用于获取各张训练图像对应的标注信息,所述标注信息包括训练图像中各个牲畜的坐标信息;
所述装置还包括训练单元604,用于利用所述多张训练图像以及所述标注信息对初始识别模型进行训练,得到所述第一识别模型和所述第二识别模型。
在一实施方式中,所述训练单元604,用于利用所述多张训练图像以及所述标注信息对初始识别模型进行训练,得到所述第一识别模型和所述第二识别模型时,具体用于:
获取各张训练图像对应的灰度图像,并利用所述各张训练图像对应的灰度图像和标注信息对初始识别模型进行训练,得到所述第一识别模型;
获取各张训练图像对应的单通道图像,并利用所述各张训练图像对应的单通道图像和标注信息对初始识别模型进行训练,得到所述第二识别模型。
在一实施方式中,所述训练单元604利用所述各张训练图像对应的灰度图像和标注信息对初始识别模型进行训练,得到所述第一识别模型时,具体用于:
将所述各张训练图像对应的灰度图像和标注信息输入初始识别模型,利用所述初始识别模型根据所述各张训练图像对应的灰度图像和标注信息确定各张灰度图像对应的密度图像,并根据所述密度图像确定各张训练图像中的牲畜的预测数量;
若检测到所述预测数量不满足收敛条件,则对所述初始识别模型中的参数进行调整,以使调整参数后的初始识别模型输出的预测数量满足所述收敛条件,其中,所述真实数量是根据所述标注信息确定的;
在所述调整参数后的初始识别模型输出的预测数量满足所述收敛条件时,将所述调整参数后的初始识别模型作为所述第一识别模型。
可以理解的是,本发明实施例的牲畜的数量确定装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本发明实施例通过根据多个摄像设备采集的视频数据获取包括多个牲畜的目标图像,利用第一识别模型对目标图像的灰度图像进行处理,得到该多个牲畜的第一数量,利用第二识别模型对目标图像的单通道图像进行处理,得到该多个牲畜的第二数量,根据该第一数量和第二数量确定该多个牲畜的目标数量,从而可以自动识别牲畜的数量,有效提高确定牲畜数量的效率和准确率。
请参阅图7,图7为本发明实施例提供的一种终端的结构示意图,本发明实施例中所描述的终端包括:处理器701、通信接口702、存储器703和用户接口704。其中,处理器701、通信接口702、存储器703和用户接口704可通过总线或其他方式连接,本发明实施例以通过总线连接为例。
所述处理器701可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np),图形处理器(graphicsprocessingunit,gpu),或者cpu、gpu和np的组合。处理器701也可以是多核cpu、多核gpu或多核np中用于实现通信标识绑定的核。
所述处理器701可以是硬件芯片。所述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。所述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。
所述通信接口702可用于收发信息或信令的交互,以及信号的接收和传递,通信接口702可以是收发器。所述存储器703可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的存储程序(比如文字存储功能、位置存储功能等);存储数据区可存储根据终端的使用所创建的数据(比如图像数据、文字数据)等,并可以包括应用存储程序等。此外,存储器703可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。所述用户接口704是实现用户与终端进行交互和信息交换的媒介,其具体体现可以包括用于输出的显示屏(display)以及用于输入的键盘(keyboard)、触控屏等等,需要说明的是,此处的键盘既可以为实体键盘,也可以为触屏虚拟键盘,还可以为实体与触屏虚拟相结合的键盘。
所述存储器703还用于存储程序指令。所述处理器701可以调用所述存储器703存储的程序指令,实现如本发明实施例所示的牲畜的数量确定方法。其中,牲畜所处养殖环境中配置有多个摄像设备,用于采集牲畜所处养殖环境的视频数据。具体地,所述处理器701调用存储在所述存储器703中的程序指令执行以下步骤:
通过所述通信接口702获取多个摄像设备采集的视频数据;
根据所述视频数据获取目标图像,所述目标图像中包括多个所述牲畜,所述目标图像为彩色图像;
获取所述目标图像对应的灰度图像和单通道图像;
利用第一识别模型对所述灰度图像进行处理,得到所述目标图像中的牲畜的第一数量;
利用第二识别模型对所述单通道图像进行处理,得到所述目标图像中的牲畜的第二数量;
根据所述第一数量和所述第二数量确定所述目标图像中的牲畜的目标数量。
本发明实施例中处理器执行的方法均从处理器的角度来描述,可以理解的是,本发明实施例中处理器要执行上述方法需要其他硬件结构的配合。本发明实施例对具体的实现过程不作详细描述和限制。
在一实施方式中,所述处理器701根据所述第一数量和所述第二数量确定所述目标图像中的牲畜的目标数量时,具体用于:基于线性回归模型对所述第一数量和所述第二数量进行预测,得到所述目标图像中的牲畜的目标数量;其中,所述线性回归模型是根据所述第一识别模型以及所述第二识别模型输出的历史数量训练得到的。
在一实施方式中,所述第一识别模型和所述第二识别模型为卷积神经网络模型,所述第一识别模型和所述第二识别模型均包括两级卷积神经网络,所述两级卷积神经网络为第一级卷积神经网络和第二级卷积神经网络;其中,所述第一级卷积神经网络包括至少两个并行的子网络,每个子网络包括m层卷积层,所述m层卷积层对应多个扩张率;所述第二级卷积神经网络包括n层卷积层,所述n层卷积层对应多个扩张率;所述m和n为大于1的整数。
在一实施方式中,所述m层卷积层的前s层卷积层的扩张率相等,对于第s+1层卷积层到第m层卷积层中的任意一层卷积层,所述任意一层卷积层的扩张率均为前一层卷积层的扩张率的预设第一倍数,所述s为大于等于2,且小于所述m的整数;对于所述n层卷积层的前k层卷积层中的任意一层卷积层,所述任意一层卷积层的扩张率均为前一层卷积层的扩张率的预设第二倍数,所述k为大于等于2,且小于所述n的整数。
在一实施方式中,所述处理器701根据所述视频数据获取目标图像时,具体用于:分别从预设数量个摄像设备采集的视频数据中获取一张图像,其中,获取的预设数量张图像对应同一拍摄时间;根据所述预设数量个摄像设备之间的位置关系将获取的预设数量张图像进行拼接,得到目标图像。
在一实施方式中,所述处理器701还用于:获取作为样本的牲畜的历史视频数据,从所述历史视频数据中获取作为样本的牲畜的多张样本图像,所述多张样本图像是摄像设备在不同光线环境下采集到的;分别将预设数量张样本图像进行拼接,得到多张训练图像;获取各张训练图像对应的标注信息,所述标注信息包括训练图像中各个牲畜的坐标信息;利用所述多张训练图像和所述标注信息对初始识别模型进行训练,得到所述第一识别模型和所述第二识别模型。
在一实施方式中,所述处理器701利用所述多张训练图像以及所述标注信息对初始识别模型进行训练,得到所述第一识别模型和所述第二识别模型时,具体用于:获取各张训练图像对应的灰度图像,并利用所述各张训练图像对应的灰度图像和标注信息对初始识别模型进行训练,得到所述第一识别模型;获取各张训练图像对应的单通道图像,并利用所述各张训练图像对应的单通道图像和标注信息对初始识别模型进行训练,得到所述第二识别模型。
在一实施方式中,所述处理器701利用所述各张训练图像对应的灰度图像和标注信息对初始识别模型进行训练,得到所述第一识别模型时,具体用于:将所述各张训练图像对应的灰度图像和标注信息输入初始识别模型,利用所述初始识别模型根据所述各张训练图像对应的灰度图像和标注信息确定各张灰度图像对应的密度图像,并根据所述密度图像确定各张训练图像中的牲畜的预测数量;若检测到所述预测数量不满足收敛条件,则对所述初始识别模型中的参数进行调整,以使调整参数后的初始识别模型输出的预测数量满足所述收敛条件,其中,所述真实数量是根据所述标注信息确定的;在所述调整参数后的初始识别模型输出的预测数量满足所述收敛条件时,将所述调整参数后的初始识别模型作为所述第一识别模型。
在一实施方式中,所述处理器701还用于:在通过所述用户接口704播放所述视频数据的过程中,在通过所述用户接口704显示目标图像的同时显示所述目标图像中的牲畜的目标数量,以使牲畜养殖场的运营人员可以及时了解到牲畜的数量。
具体实现中,本申请实施例中所描述的处理器701、通信接口702、存储器703和用户接口704可执行本发明实施例提供的牲畜的数量确定方法以及识别模型的训练方法中所描述的终端的实现方式,也可执行本申请实施例图6提供的牲畜的数量确定装置的实现方式,在此不再赘述。
本发明实施例通过根据多个摄像设备采集的视频数据获取包括多个牲畜的目标图像,利用第一识别模型对目标图像的灰度图像进行处理,得到该多个牲畜的第一数量,利用第二识别模型对目标图像的单通道图像进行处理,得到该多个牲畜的第二数量,根据该第一数量和第二数量确定该多个牲畜的目标数量,从而可以自动识别牲畜的数量,有效提高确定牲畜数量的效率和准确率。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述方法实施例所述的牲畜的数量确定方法以及识别模型的训练方法。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例所述的牲畜的数量确定方法以及识别模型的训练方法。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。