本发明涉及图像目标识别与人工智能交叉领域,具体地,涉及基于网络模型鸟类种群识别分析方法及系统。尤其地,涉及一种基于yolov3和googlenet网络模型的鸟类种群智能识别分析方法与系统。
背景技术:
::随着工业社会的发展给自然界带来的越来越沉重的负担,使得我国整个生态环境遭遇了前所未有的挑战。生态环境的保护日益受到重视,人们开始重建一些物种的保护基地和措施。例如,鸟类对栖息环境非常敏感,尽管已经开展了湿地保护等措施,但是如何识别和统计鸟种数量的变化和种群多样性的问题亟待解决。然而,在鸟类保护区中,由于鸟类移动性较大,栖息地难以确定并且保护区环境复杂多变,如何高效实时准确的检测统计出现的鸟类仍旧是一个极大的挑战。本文提出的一种基于yolov3与googlenet网络模型的鸟类种群智能识别分析方法与系统,能够实时地根据用户拍摄的鸟类视频识别出鸟类种类,能够很好地解决这个问题。同时,在航空产业中,鸟类识别问题也有着重要应用。鸟类和飞机在空中相撞导致的飞行事故,重者可使发动机失去动力,甚至使飞机坠毁,造成重大人员伤亡。故实时侦测空中是否存在鸟类对于飞机的安全航行而言,也有重要意义。传统的鸟类识别的算法多是基于鸟的外形、红外热成像技术获取的静态图像特征等方式达到鸟类种类识别的目的。这些方法的缺陷在于,识别过程复杂,且识别效果不高。而此前利用深度学习网络来识别鸟类的方法受制于鸟类样本数量的多少,并且由于场地中草丛,石头等噪声种类繁多,数量巨大,往往采集识别到的噪声数量远多于鸟类数量,实用场景下非常受限。中国专利公开号为cn105631469a的专利记载了一种“一种多层稀疏编码特征的鸟类图像识别方法”,公开日为2016年06月01日。该技术首先在局部图像块的r,g,b三通道上利用级联多层稀疏编码结构提取稀疏编码特征,并使用svm作为分类器进行分类判决。然后使用编码值最小化重构误差,更新字典,建立识别模型。但该技术存在耗时过长,实时性不强且实用性不广的问题。中国专利公开号为cn108509939a的专利记载了一种“一种基于深度学习的鸟类识别方法”,公开日为2018年09月07日。该技术建立两个阶段的训练框架,在第一阶段,利用在公开数据集上训练好的深度网络训练鸟类数据集,获得对鸟类数据集的微调模型;第二阶段,在自建的红树林滨海湿地数据集上微调第一阶段的模型,获得对于红树林滨海湿地特定鸟类的分类模型。但该技术存在使用场景受限,且识别依旧存在一定误差的问题。目前没有发现在鸟类识别分类问题上比此技术适用场景更广,效率更高,准确率更高的方法,也尚未收集到国内外类似的资料。技术实现要素:针对现有技术中存在的上述不足,本发明的目的是提供一种基于yolov3和googlenet网络模型鸟类种群识别分析方法,解决了现有方法中存在的识别结果中噪声过多过杂问题,极大提高了利用深度学习模型进行鸟类识别的效率,识别准确率高,且能实时输出、更新识别结果,适用于多种场景。根据本发明提供的一种基于网络模型鸟类种群识别分析方法,包括:样本数据库建立步骤:建立训练图片样本数据库,得到用于训练googlenet网络模型的样本数据库;目标检测网络训练步骤:使用开源预训练数据,得到yolov3目标检测网络a;种类判别网络训练步骤:用不同种类图片样本训练googlenet网络模型,得到精确判别鸟类种类googlenet网络b;视频解帧步骤:对实时输入的待识别视频解帧成待识别图片流;鸟类识别步骤:对得到的图片流中的图片,每隔预设帧数选取一帧图片,输入yolov3目标检测网络a,检测图片中是否有鸟类并输出检测结果;分割提取步骤:若检测结果为存在鸟类,则将该图片按照检测结果进行分割提取,并输出分割出的鸟类图片;若检测结果为不存在鸟类,则返回鸟类识别步骤继续执行;种类识别步骤:将获得的分割出的鸟类图片输入googlenet网络b,识别得到图片包含的鸟类种类,并从图片识别结果流中输出最终识别结果。优选地,所述样本数据库建立步骤:用数据库工具制作样本管理工具建立包含不同种类鸟类图片的样本数据库a;所述数据库工具包括:mysql、sqlite、mariadb、perconaserver、postgresql、microsoftaccess、microsoftsqlserver、googlefusiontables、filemaker、oracle数据库、sybase、dbase、clipper、foxpro和foshub。优选地,所述样本数据库建立步骤:建立包含不同种类鸟类图片的样本数据库a包括如下步骤:步骤a:用mysql制作能够实现建立、管理用户数据库功能的样本管理工具;步骤b:在样本管理工具中新建图片数据库;步骤c:在新建图片数据库中新建图片类别;步骤d:录入图片样本记录,每个图片样本记录均包括样本id、样本名称和样本路径;其中,样本数据库a包含多种不同种类的鸟类图片。优选地,所述目标检测网络训练步骤:将预训练好的数据加载至yolov3目标检测网络模型,获得yolov3目标检测网络a。优选地,所述种类判别网络训练步骤包括:样本记录读取步骤:从样本数据库a中读出图片样本记录;googlenet网络获取步骤:以图片样本作为训练数据,以样本id作为标签,训练googlenet网络模型,得到精确判别鸟类种类googlenet网络b。优选地,所述鸟类识别步骤包括:输入图片获取步骤:对图片流每隔多个帧选取1帧作为的输入图片;图片检测步骤:将输入图片输入yolov3目标检测网络a,对输入图片进行鸟类目标检测,检测图片中是否存在鸟类。根据本发明提供的一种基于网络模型鸟类种群识别分析系统,包括:样本数据库建立模块:建立训练图片样本数据库,得到用于训练googlenet网络模型的样本数据库;目标检测网络训练模块:使用开源预训练数据,得到yolov3目标检测网络a;种类判别网络训练模块:用不同种类图片样本训练googlenet网络模型,得到精确判别鸟类种类googlenet网络b;视频解帧模块:对实时输入的待识别视频解帧成待识别图片流;鸟类识别模块:对得到的图片流中的图片,每隔预设帧数选取一帧图片,输入yolov3目标检测网络a,检测图片中是否有鸟类并输出检测结果;分割提取模块:若检测结果为存在鸟类,则将该图片按照检测结果进行分割提取,并输出分割出的鸟类图片;若检测结果为不存在鸟类,则调用鸟类识别模块;种类识别模块:将获得的分割出的鸟类图片输入googlenet网络b,识别得到图片包含的鸟类种类,并从图片识别结果流中输出最终识别结果。优选地,所述样本数据库建立模块:用数据库工具制作样本管理工具建立包含不同种类鸟类图片的样本数据库a;所述数据库工具包括:mysql、sqlite、mariadb、perconaserver、postgresql、microsoftaccess、microsoftsqlserver、googlefusiontables、filemaker、oracle数据库、sybase、dbase、clipper、foxpro和foshub;所述样本数据库建立模块:建立包含不同种类鸟类图片的样本数据库a包括如下模块:模块a:用mysql制作能够实现建立、管理用户数据库功能的样本管理工具;模块b:在样本管理工具中新建图片数据库;模块c:在新建图片数据库中新建图片类别;模块d:录入图片样本记录,每个图片样本记录均包括样本id、样本名称和样本路径;其中,样本数据库a包含多种不同种类的鸟类图片。优选地,所述目标检测网络训练模块:将预训练好的数据加载至yolov3目标检测网络模型,获得yolov3目标检测网络a;所述种类判别网络训练模块包括:样本记录读取模块:从样本数据库a中读出图片样本记录;googlenet网络获取模块:以图片样本作为训练数据,以样本id作为标签,训练googlenet网络模型,得到精确判别鸟类种类googlenet网络b。优选地,所述鸟类识别模块包括:输入图片获取模块:对图片流每隔多个帧选取1帧作为的输入图片;图片检测模块:将输入图片输入yolov3目标检测网络a,对输入图片进行鸟类目标检测,检测图片中是否存在鸟类。与现有技术相比,本发明具有如下的有益效果:1、本发明采用了yolov3目标检测网络模型与googlenet网络模型结合,将鸟类识别问题划分为两个阶段,第一阶段为利用yolov3目标检测模型对画面中的鸟类进行提取,第二阶段为利用googlenet网络模型,对识别提取出的鸟类图片进行分类。该发明极大的解决了原有的基于深度学习的鸟类识别方法中存在的识别噪声数量过多,准确率不高,样本分类过于复杂的问题。且识别可信度高,能达到实时识别的效果。能够很好的应用于上文中提到的保护区鸟类识别统计和航空安全检测等多种应用场景。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:图1为本发明提供的基于yolov3与googlenet网络模型的鸟类种群智能识别分析方法与系统的模型框架示意图。图2为本发明提供的用样本管理工具建立训练图片样本数据库的流程示意图。图3为本发明提供的每个样本记录的组成表示示意图。图4为本发明提供的googlenet网络结构模型示意图。图5为本发明提供的googlenet网络结构模型图中inception模块结构示意图。图6为本发明提供的根据图片识别结果流输出识别结果的流程示意图。具体实施方式下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。根据本发明提供的一种基于网络模型鸟类种群识别分析方法,包括:样本数据库建立步骤:建立训练图片样本数据库,得到用于训练googlenet网络模型的样本数据库;目标检测网络训练步骤:使用开源预训练数据,得到yolov3目标检测网络a;种类判别网络训练步骤:用不同种类图片样本训练googlenet网络模型,得到精确判别鸟类种类googlenet网络b;视频解帧步骤:对实时输入的待识别视频解帧成待识别图片流;鸟类识别步骤:对得到的图片流中的图片,每隔预设帧数选取一帧图片,输入yolov3目标检测网络a,检测图片中是否有鸟类并输出检测结果;分割提取步骤:若检测结果为存在鸟类,则将该图片按照检测结果进行分割提取,并输出分割出的鸟类图片;若检测结果为不存在鸟类,则返回鸟类识别步骤继续执行;种类识别步骤:将获得的分割出的鸟类图片输入googlenet网络b,识别得到图片包含的鸟类种类,并从图片识别结果流中输出最终识别结果。具体地,所述样本数据库建立步骤:用数据库工具制作样本管理工具建立包含不同种类鸟类图片的样本数据库a;所述数据库工具包括:mysql、sqlite、mariadb、perconaserver、postgresql、microsoftaccess、microsoftsqlserver、googlefusiontables、filemaker、oracle数据库、sybase、dbase、clipper、foxpro和foshub。具体地,所述样本数据库建立步骤:建立包含不同种类鸟类图片的样本数据库a包括如下步骤:步骤a:用mysql制作能够实现建立、管理用户数据库功能的样本管理工具;步骤b:在样本管理工具中新建图片数据库;步骤c:在新建图片数据库中新建图片类别;步骤d:录入图片样本记录,每个图片样本记录均包括样本id、样本名称和样本路径;其中,样本数据库a包含多种不同种类的鸟类图片。具体地,所述目标检测网络训练步骤:将预训练好的数据加载至yolov3目标检测网络模型,获得yolov3目标检测网络a。具体地,所述种类判别网络训练步骤包括:样本记录读取步骤:从样本数据库a中读出图片样本记录;googlenet网络获取步骤:以图片样本作为训练数据,以样本id作为标签,训练googlenet网络模型,得到精确判别鸟类种类googlenet网络b。具体地,所述鸟类识别步骤包括:输入图片获取步骤:对图片流每隔多个帧选取1帧作为的输入图片;.图片检测步骤:将输入图片输入yolov3目标检测网络a,对输入图片进行鸟类目标检测,检测图片中是否存在鸟类。本发明提供的基于网络模型鸟类种群识别分析系统,可以通过本发明给的基于网络模型鸟类种群识别分析方法的步骤流程实现。本领域技术人员可以将所述基于网络模型鸟类种群识别分析方法,理解为所述基于网络模型鸟类种群识别分析系统的一个优选例。根据本发明提供的一种基于网络模型鸟类种群识别分析系统,包括:样本数据库建立模块:建立训练图片样本数据库,得到用于训练googlenet网络模型的样本数据库;目标检测网络训练模块:使用开源预训练数据,得到yolov3目标检测网络a;种类判别网络训练模块:用不同种类图片样本训练googlenet网络模型,得到精确判别鸟类种类googlenet网络b;视频解帧模块:对实时输入的待识别视频解帧成待识别图片流;鸟类识别模块:对得到的图片流中的图片,每隔预设帧数选取一帧图片,输入yolov3目标检测网络a,检测图片中是否有鸟类并输出检测结果;分割提取模块:若检测结果为存在鸟类,则将该图片按照检测结果进行分割提取,并输出分割出的鸟类图片;若检测结果为不存在鸟类,则调用鸟类识别模块;种类识别模块:将获得的分割出的鸟类图片输入googlenet网络b,识别得到图片包含的鸟类种类,并从图片识别结果流中输出最终识别结果。具体地,所述样本数据库建立模块:用数据库工具制作样本管理工具建立包含不同种类鸟类图片的样本数据库a;所述数据库工具包括:mysql、sqlite、mariadb、perconaserver、postgresql、microsoftaccess、microsoftsqlserver、googlefusiontables、filemaker、oracle数据库、sybase、dbase、clipper、foxpro和foshub;所述样本数据库建立模块:建立包含不同种类鸟类图片的样本数据库a包括如下模块:模块a:用mysql制作能够实现建立、管理用户数据库功能的样本管理工具;模块b:在样本管理工具中新建图片数据库;模块c:在新建图片数据库中新建图片类别;模块d:录入图片样本记录,每个图片样本记录均包括样本id、样本名称和样本路径;其中,样本数据库a包含多种不同种类的鸟类图片。具体地,所述目标检测网络训练模块:将预训练好的数据加载至yolov3目标检测网络模型,获得yolov3目标检测网络a;所述种类判别网络训练模块包括:样本记录读取模块:从样本数据库a中读出图片样本记录;googlenet网络获取模块:以图片样本作为训练数据,以样本id作为标签,训练googlenet网络模型,得到精确判别鸟类种类googlenet网络b。具体地,所述鸟类识别模块包括:输入图片获取模块:对图片流每隔多个帧选取1帧作为的输入图片;进一步地,相隔帧数的取值与该系统所在的设备的计算性能以及视频中鸟类运动的速度有关,最优值为2;图片检测模块:将输入图片输入yolov3目标检测网络a,对输入图片进行鸟类目标检测,检测图片中是否存在鸟类。下面通过优选例,对本发明进行更为具体地说明。优选例1:如图1所示,本实施例提供了一种基于googlenet网络模型的鸟类种群智能识别分析方法,其步骤主要包括:步骤s1,建立训练图片样本数据库,得到用于训练googlenet网络模型的样本数据库;步骤s2,使用开源预训练数据,得到yolov3目标检测网络a;步骤s3,用不同种类图片样本训练googlenet网络模型,得到精确判别鸟类种类googlenet网络b;步骤s4,对实时输入的待识别视频解帧成待识别图片流;步骤s5,对步骤s4中得到的图片流中的图片,每两帧取一次,依次输入yolov3目标检测网络a,检测图片中是否有鸟类;步骤s6,若步骤s5中判断为是,则将该图片按照检测结果进行分割提取;步骤s7,将s6中分割出的鸟类图片输入googlenet网络b,识别得到图片包含的鸟类种类,并从图片识别结果流中输出最终识别结果。所述步骤1包括如下步骤:1)用mysql(关系型数据库管理系统)制作可实现建立、管理用户数据库功能的样本管理工具;用样本管理工具建立训练样本数据库的流程如图2所示,利用此样本管理工具可以很方便的实现录入、删除、修改样本记录。2)在样本管理工具中新建图片数据库;3)在新建图片数据库中新建图片类别;4)录入图片样本记录,如图3所示,每个图片样本记录包含样本id、样本名称和样本路径;其中,中样本数据库包含44种不同种类的鸟类图片,图片样本记录中的样本id即为鸟类种类标签。所述步骤2包括如下步骤:步骤2.1,将预训练好的数据加载至yolov3目标检测网络模型;步骤s2.2,得到可部署的yolov3目标检测网络模型。yolo的核心思想就是利用整张图作为网络的输入,直接在输出层回归边界框的位置及其所属的类别。整体来看,yolo算法采用一个单独的cnn模型实现端到端的目标检测,整个系统如图4所示:首先将输入图片重构到448x448大小,然后送入cnn网络,最后处理网络预测结果得到检测的目标。相比r-cnn算法,其是一个统一的框架,其速度更快。所述步骤3包括如下步骤:步骤3.1,从步骤1.1中的样本数据库1中读出图片样本记录,包含样本路径和样本id等;步骤3.2,以图片样本作为训练数据,样本id作为标签,训练googlenet网络模型;深度学习神经网络模型近年来在图像识别领域取得了巨大成功,一般来说,提升网络性能最直接的办法就是增加网络深度和宽度,这也就意味着巨量的参数,但是巨量参数容易产生过拟合,也会大大增加计算量。一种解决方法是:将全连接和部分卷积转化为稀疏连接。然而,使用随机稀疏连接可能导致稀疏数据的不均匀,大大降低了计算机软硬件的计算效率。问题的关键就转变为:如何既保持网络结构的稀疏性,又能利用密集矩阵的高计算性能。googlenet网络模型的主要思想就是通过构建密集的块结构来近似最优的稀疏结构,从而达到提高性能而又不大量增加计算量的目的。googlenet网络模型的结构图如图5与图6所示,该模型共22层,相比于其他热门深度学习网络模型,如alexnet和vgg等小很多,性能优越。所述步骤4中,用opencv工具(跨平台计算机视觉库)将实时输入的待识别视频解帧成待识别图片流。所述步骤7包括如下步骤:步骤s7.1,将s6中分割所得的图片送入googlenet网络模型进行识别分类;步骤s7.2,输出识别分类结果;本实施例极大地解决了原有的基于深度学习的鸟类识别方法中存在的识别噪声数量过多,准确率不高,样本分类过于复杂的问题。且识别可信度高,能达到实时识别的效果。能够很好的应用于上文中提到的保护区鸟类识别统计和航空安全检测等多种应用场景。以上所述的具体实施例,对本发明的解决的技术问题、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。当前第1页12当前第1页12