神经网络模型优化系统及方法
文献发布时间:2023-06-19 09:32:16
技术领域
本发明涉及深度学习目标检测技术领域,尤其涉及一种神经网络模型优化系统及方法。
背景技术
随着深度学习技术的快速发展,基于深度学习的目标检测方法也在多个领域中都得到了广泛应用,在垃圾检测领域更是凸显深度学习的优势。许多研究学者提出了许多经典算法和网络架构,或者基于前人的基础做出有效的改进措施,例如2015年的Shaoqin Ren等人所提出的经典Faster R-CNN网络。
中国专利申请CN108985328A公开了一种用于判别角膜溃烂的深度学习模型的构建方法及其系统,其对角膜测试图像进行处理,利用AlexNet和VGGNet来获取不同的深度学习模型,并在此之后,通过不断调整深度学习模型的各类参数来获取新的深度学习模型,在每次调整后,均以识别率更高的深度学习模型作为基础与下次调整后的进行比较,因此能够针对深度学习模型的各项参数分别进行优化。该专利申请通过训练过程的不断学习模型参数来获取最优网络,从而达到不错的分类效果。
类似于上述专利申请,现有技术中往往是针对模型的检测结果进行参数的修改,通过修改后的模型检测结果若有提高就完成任务,若修改后的检测效果不好则重新修改模型网络结构或参数,并不能进行细致的分析和得出修改方向。以垃圾检测为例子,大部分研究人员只顾着使用当下新兴的技术去提升网络模型的检测结果,虽然大部分情况下检测效果有所提升,但这并不是最好的改进方案。例如,知道残差网络能够提升网络模型的最终检测结果,便在没有充分考虑网络架构和待检测目标的特征的前提下,只顾增加残差结构块的数量,并没有合理的改进思路和方向。
发明内容
本发明的目的在于提供一种神经网络模型优化系统及方法,以给网络模型的改进思路和方向提供参考。
为实现上述目的,本发明提供了一种神经网络模型优化系统,包括第一分析模块、第二分析模块以及反馈模块。其中,所述第一分析模块用于依据神经网络模型输出的检测框预测类别与真实的目标类别的比对结果以及IoU数量划分图像的检测结果。所述第二分析模块用于计算各检测框与对应的标注框的交并比IoU值,根据所述IoU值与对应的IoU阈值的大小判断正负例,并计算各个目标类别的AP值。所述反馈模块提供一用于接受输入的可视化操作界面,并依据输入信息输出对应的检测图像。
与现有技术相比,本发明的神经网络模型优化系统通过第一分析模块划分网络模型的检测结果,使得用户可以快速了解各个类别目标的图像检测结果的好坏情况,能够在最快的时间内对网络模型的检测能力有基本的认知;通过第二分析模块以IoU值为基础对网络模型进行更深入的挖掘,进而使得用户可以参考反馈的结果分析导致网络模型检测结果好坏的可能原因,以实现有依据、有方向的模型改进策略。
具体地,所述检测结果包括检测成功、检测失败、重复检测以及误检;若所述预测类别与目标类别相同,所述检测结果则为检测成功;若无法检测出图像中的目标,所述检测结果则为检测失败;若所述IoU数量过大而导致对目标重复检测,所述检测结果则为重复检测;若所述预测类别与目标类别不同,所述检测结果则为误检。
具体地,所述神经网络模型优化系统还包括输出获取模块,所述输出获取模块用于获取神经网络模型输出的检测框坐标、预测类别以及该预测类别对应的置信度。所述神经网络模型采用非极大值抑制处理后选取置信度较大的几个类别作为该检测框的预测类别。
较佳地,所述第二分析模块获取神经网络模型的检测框坐标,将所述检测框坐标转换为宽度和高度,并依据所述检测框的宽度和高度大小设置对应的所述IoU阈值。
较佳地,所述第二分析模块对各个目标类别的AP值进行加权计算获得神经网络模型的得分,并输出所述得分。
具体地,所述输入信息包括检测结果、目标类别、所述IoU阈值之至少一者。
较佳地,所述第二分析模块包括第一IoU检索模块,所述第一IoU检索模块用于依据所述反馈模块接收到的目标类别和所述IoU阈值输出对应的检测图像以及该检测图像中该目标类别对应的IoU值。
较佳地,所述第二分析模块还包括第二IoU检索模块,所述第二IoU检索模块用于依据所述反馈模块接收到的所述IoU阈值输出对应的检测图像以及该检测图像中所有的IoU值。
为实现上述目的,本发明还提供了一种神经网络模型优化方法,包括:
提供一神经网络模型优化系统,所述神经网络模型优化系统包括第一分析模块、第二分析模块以及反馈模块。
通过所述第一分析模块依据神经网络模型输出的检测框预测类别与真实的目标类别的比对结果以及IoU数量划分图像的检测结果。
通过所述第二分析模块计算各检测框与对应的标注框的交并比IoU值,根据所述IoU值与对应的IoU阈值的大小判断正负例,并计算各个目标类别的AP值。
通过所述反馈模块提供一用于接受输入的可视化操作界面,并依据输入信息输出对应的检测图像。
与现有技术相比,本发明通过第一分析模块划分网络模型的检测结果,使得用户可以快速了解各个类别目标的图像检测结果的好坏情况,能够在最快的时间内对网络模型的检测能力有基本的认知;通过第二分析模块以IoU值为基础对网络模型进行更深入的挖掘,进而使得用户可以参考反馈的结果分析导致网络模型检测结果好坏的可能原因,以实现有依据、有方向的模型改进策略。
具体地,所述检测结果包括检测成功、检测失败、重复检测以及误检;若所述预测类别与目标类别相同,所述检测结果则为检测成功;若无法检测出图像中的目标,所述检测结果则为检测失败;若所述IoU数量过大而导致对目标重复检测,所述检测结果则为重复检测;若所述预测类别与目标类别不同,所述检测结果则为误检。
具体地,所述神经网络模型优化系统还包括输出获取模块,通过所述输出获取模块获取神经网络模型输出的检测框坐标、预测类别以及该预测类别对应的置信度。所述神经网络模型采用非极大值抑制处理后选取置信度较大的几个类别作为该检测框的预测类别。
较佳地,通过所述第二分析模块获取神经网络模型的检测框坐标,将所述检测框坐标转换为宽度和高度,并依据所述检测框的宽度和高度大小设置对应的所述IoU阈值。
较佳地,通过所述第二分析模块对各个目标类别的AP值进行加权计算获得神经网络模型的得分,并输出所述得分。
具体地,所述输入信息包括检测结果、目标类别、所述IoU阈值之至少一者。
较佳地,所述第二分析模块包括第一IoU检索模块,通过所述第一IoU检索模块依据所述反馈模块接收到的目标类别和所述IoU阈值输出对应的检测图像以及该检测图像中该目标类别对应的IoU值。
较佳地,所述第二分析模块还包括第二IoU检索模块,通过所述第二IoU检索模块依据所述反馈模块接收到的所述IoU阈值输出对应的检测图像以及该检测图像中所有的IoU值。
附图说明
图1为本发明神经网络模型优化系统的组成框图。
图2为本发明反馈模块提供的可视化操作界面的示意图。
具体实施方式
为了详细说明本发明的技术内容、构造特征,以下结合具体实施方式并配合附图作进一步说明。
本发明涉及神经网络模型优化系统及方法,其基于网络模型的检测结果数据来反馈网络模型存在的不足之处,用户可以参考反馈的数据获得网络模型的改进思路和改进方向,从而有助于获得性能更优良的神经网络模型。以下,将参考附图详细描述本发明。
图1示出了本发明神经网络模型优化系统100一实施例的组成结构框图,如图1所示,神经网络模型优化系统100包括第一分析模块10、第二分析模块20以及反馈模块30。其中,第一分析模块10用于依据神经网络模型输出的检测框预测类别与真实的目标类别的比对结果以及IoU数量划分图像的检测结果。第二分析模块20用于计算各检测框与对应的标注框的交并比IoU值(Intersection Over Union),根据IoU值与对应的IoU阈值的大小判断正负例,并计算各个目标类别的AP值。同时,第二分析模块20保存IoU值、AP值、目标正负例等信息。反馈模块30提供一用于接受输入的可视化操作界面31,并依据输入信息输出对应的检测图像(如图2所示)。
其中,图像的检测结果包括检测成功(MATCH)、检测失败(NO MATCH FOUND)、重复检测(REPEATED MATCH)以及误检(INSUFFICIENT OVERLAP)。具体的,若预测类别与目标类别相同,检测结果则为检测成功。若无法检测出图像中的目标,检测结果则为检测失败,该检测结果可以是由于摄像头存在摄像故障没有正常拍摄到图像或者网络模型没能区分检测图像中的前景部分和背景部分所导致的。若算法中预设的IoU数量阈值过大,导致对待检测目标的IoU数量过多(神经网络模型输出较多的检测框)而导致重复检测浪费计算资源,检测结果则为重复检测。若预测类别与目标类别不同,检测结果则为误检。其中,目标类别可以通过人为手动输入,也可以是神经网络模型的训练集数据中便带有目标类别信息。
在该实施例中,神经网络模型优化系统100还包括输出获取模块40和可视化模块50(如图2所示)。其中,该输出获取模块40用于获取神经网络模型输出的检测框坐标、预测类别以及该预测类别对应的置信度。具体而言,神经网络模型结合YOLOv4算法的特征提取网络和待检测图像进行目标的检测框的输出,其采用非极大值抑制处理(NMS)后,对于每个检测框,选取置信度较大的几个类别作为该检测框的预测类别,并将各个检测框的预测类别、该预测类别对应的置信度值以及检测框坐标进行打包,并输出成JSON文件。在一些实施例中,神经网络模型还基于预测类别及对应的置信度,将小于置信度阈值的值归0以排除预测结果不好的检测框,然后再分类别地对置信度值采用非极大值抑制处理,重新确定目标的最大概率类别,以此来进一步保证检测结果的可靠性。
附带一提的是,具体实施中可以通过下列步骤进行神经网络模型的训练,以获取最优的神经网络模型,再通过本发明的网络模型优化系统100对该最优的神经网络模型的性能进行分析,以给用户改进神经网络模型提供参考。步骤(1)获取待分类目标的目标图像数据集,目标图像数据集包括待分类目标深度图像和待分类目标多光谱图像;步骤(2)将待分类目标深度图像和待分类目标多光谱图像作图像配准处理;步骤(3)对配准后目标深度图像和配准后目标多光谱图像作分类标注处理;步骤(4)将标注后目标深度图像和标注后目标多光谱图像加载至基于Pytorch框架的YOLOv4神经网络中作模型训练,同时记录训练的loss函数值和精确度,并生成最优神经网络模型。
输出获取模块40输出的JSON文件会被加载到可视化模块50,通过可视化模块50对检测框的信息(预测类别、置信度值、检测框坐标等)进行可视化,以便于算法技术人员查看。此外,可视化模块50将检测框的坐标和预测类别打包成xml格式保存,以备第二分析模块20调用。
在一实施例中,第二分析模块20结合JSON文件和xml文件,将检测框的坐标转换为宽度和高度,依据检测框的宽度和高度尺寸大小设置对应的IoU阈值。与常用固定IoU阈值和针对目标类别固定IoU阈值不同,第二分析模块20对检测框中预测到的不同大小的检测目标使用不同IoU阈值,可降低固定IoU阈值和针对目标类别固定IoU阈值这两种常见方法对网络模型检测精度的影响,可以提升模型的学习能力。
具体的,在该实施例中,依据表一确定各个检测框对应的IoU阈值。
表一
即是,当m小于0时,IoU阈值为0.2。当m在区间[40,120)时,IoU阈值为m/200。当m在区间[120,420)时,IoU阈值为m/1500+0.52。当m大于420时,IoU阈值为0.8。
第二分析模块20通过IoU值与IoU阈值的比较结果判断正例(T)和负例(F),当IoU值超过对应的IoU阈值时则认为匹配成功,判断为正例;若IoU值低于对应的IoU阈值,则判断为负例。接着,结合目标类别就可以得到TP(网络模型预测正确的正样本)、TF(网络模型预测正确的负样本)、FP(网络模型预测错误的正样本)、FN(网络模型预测错误的负样本)。接着,再根据TP、TF、FP、FN计算出网络模型的Recall(召回率)和Precision(精确率)。然后,根据Recall(召回率)和Precision(精确率)制作出P-R曲线,其中横轴为召回率,纵轴为精确率,P-R曲线与坐标轴围城的面积即为平均精度AP(Average Precision)(现有技术)。
在该实施例中,第二分析模块20对各个目标类别的AP值进行加权计算获得神经网络模型的得分,并输出该得分,以供用户对网络模型的性能进行评估。其是结合企业对不同目标类别的容忍度来计算得分,而不是使用通用求和平均的方式进行计算。具体计算方式如下:
其中,score为网络模型得分,i为目标类别下标,c为目标类别数量,ki为第i个目标类别的权重,APi为第i个目标类别的AP值。
输入信息包括检测结果、目标类别、IoU阈值之至少一者。例如,用户可在可视化操作界面31中输入待查找的目标的类别名,同时输入待查找目标的IoU阈值范围,最终第二分析模块20可借由反馈模块30输出属于该IoU阈值范围内的可视化检测图像,便于用户观察IOU阈值对网络模型检测结果的影响程度。再例如,用户可在可视化操作界面31中输入某一检测结果(检测成功、检测失败、重复检测以及误检),最终第一分析模块10可借由反馈模块30输出对应的可视化检测图像。再例如,用户可在可视化操作界面31中输入某一类别信息以及检测结果,最终神经网络模型优化系统100可输出对应的目标图像,用户可据此分析网络模型对该目标类别的检测能力。其中,目标类别可以为例如木棍(wood)、纺织物(textiles)、泡沫(foam)、塑料(plastic)、混泥土(Concrete)、玻璃(glass)、金属(metal)等。
在查找IoU阈值范围内的同类别目标图像时,反馈模块30将每一种类别目标的IoU阈值从高到低依次排序,同时也进行IoU阈值范围内的目标图像的筛选。反馈模块30借由排序算法可以实现用户对某一类别目标的快速检索和快速可视化。
如图1所示,第二分析模块20包括第一IoU检索模块21和第二IoU检索模块22,第一IoU检索模块21用于依据反馈模块30接收到的目标类别和IoU阈值输出对应的检测图像以及该检测图像中该目标类别对应的IoU值,以便于用户对某一类别目标的IOU进行针对性的分析。第二IoU检索模块22用于依据反馈模块30接收到IoU阈值输出对应的检测图像以及该检测图像中所有的IoU值,可以更便捷地浏览检测图像中的所有类别目标信息,继而对图像进行全面分析。
在一些实施例中,第一分析模块10还记录测试loss函数值并输出,以供用户结合loss函数值规划针对loss计算的改进方向。此外,第一分析模块10还通过可视化模块50对预测框坐标和真实的目标坐标进行可视化,以供算法技术人员对比两者的区别,进而便于初步了解网络模型的检测能力。
综上,本发明的神经网络模型优化系统100通过第一分析模块10划分网络模型的检测结果,使得用户可以快速了解各个类别目标的图像检测结果的好坏情况,能够在最快的时间内对网络模型的检测能力有基本的认知;通过第二分析模块20以IoU值为基础对网络模型进行更深入的挖掘,进而使得用户可以参考反馈的结果(IOU值、AP、模型得分、LOSS等)分析导致网络模型检测结果好坏的可能原因(例如,数据集中某一类别目标样本过少、网络模型参数初始化问题、Loss函数优化问题、网络模型架构选择问题等),以实现有依据、有方向的模型改进策略。例如,可以根据各类别目标每个IoU阈值范围内,这一类目标的检测识别正确率的大小来评估该网络模型对这一类别目标的检测能力,以制定对应的模型改善方案。
本发明还提供一种神经网络模型优化方法,具体包括:
提供一神经网络模型优化系统100,所述神经网络模型优化系统100包括第一分析模块10、第二分析模块20以及反馈模块30(如图1所示)。
通过所述第一分析模块10依据神经网络模型输出的检测框预测类别与真实的目标类别的比对结果以及IoU数量划分图像的检测结果。其中,图像的检测结果包括检测成功(MATCH)、检测失败(NO MATCH FOUND)、重复检测(REPEATED MATCH)以及误检(INSUFFICIENT OVERLAP)。具体的,若预测类别与目标类别相同,检测结果则为检测成功。若无法检测出图像中的目标,检测结果则为检测失败,该检测结果可以是由于摄像头存在摄像故障没有正常拍摄到图像或者网络模型没能区分检测图像中的前景部分和背景部分所导致的。若算法中预设的IoU数量阈值过大,导致对待检测目标的IoU数量过多(神经网络模型输出较多的检测框)而导致重复检测浪费计算资源,检测结果则为重复检测。若预测类别与目标类别不同,检测结果则为误检。其中,目标类别可以通过人为手动输入,也可以是神经网络模型的训练集数据中便带有目标类别信息。
通过所述第二分析模块20计算各检测框与对应的标注框的交并比IoU值,根据所述IoU值与对应的IoU阈值的大小判断正负例,并计算各个目标类别的AP值。同时,保存IoU值、AP值、目标正负例等信息。
通过所述反馈模块30提供一用于接受输入的可视化操作界面31,并依据输入信息输出对应的检测图像。其中,输入信息包括检测结果、目标类别、IoU阈值之至少一者(如图2所示)。
在该实施例中,神经网络模型优化系统100还包括输出获取模块40和可视化模块50(如图1所示)。其中,通过该输出获取模块40获取神经网络模型输出的检测框坐标、预测类别以及该预测类别对应的置信度。通过可视化模块50对检测框的信息(预测类别、置信度值、检测框坐标等)进行可视化,以便于算法技术人员查看。此外,还通过可视化模块50将检测框的坐标和预测类别打包成xml格式保存,以备第二分析模块20调用。
在一实施例中,通过第二分析模块20将检测框的坐标转换为宽度和高度,并依据检测框的宽度和高度尺寸大小设置对应的IoU阈值。与常用固定IoU阈值和针对目标类别固定IoU阈值不同,第二分析模块20对检测框中预测到的不同大小的检测目标使用不同IoU阈值,可降低固定IoU阈值和针对目标类别固定IoU阈值这两种常见方法对网络模型检测精度的影响,可以提升模型的学习能力。
在该实施例中,还通过第二分析模块20对各个目标类别的AP值进行加权计算获得神经网络模型的得分,并输出该得分,以供用户对网络模型的性能进行评估。
在查找IoU阈值范围内的同类别目标图像时,反馈模块30是将每一种类别目标的IoU阈值从高到低依次排序,同时也进行IoU阈值范围内的目标图像的筛选。反馈模块30借由排序算法可以实现用户对某一类别目标的快速检索和快速可视化。
在该实施例中,第二分析模块20包括第一IoU检索模块21和第二IoU检索模块22(如图1所示),通过第一IoU检索模块21依据反馈模块30接收到的目标类别和IoU阈值输出对应的检测图像以及该检测图像中该目标类别对应的IoU值,以便于用户对某一类别目标的IOU进行针对性的分析。通过第二IoU检索模块22依据反馈模块30接收到IoU阈值输出对应的检测图像以及该检测图像中所有的IoU值,可以更便捷地浏览检测图像中的所有类别目标信息,继而对图像进行全面分析。
在一些实施例中,还通过第一分析模块10记录测试loss函数值并输出,以供用户结合loss函数值规划针对loss计算的改进方向。此外,还通过第一分析模块10对预测框坐标和真实的目标坐标进行可视化,以供用户对比两者的区别,进而便于初步了解网络模型的检测能力。
综上,本发明通过第一分析模块10划分网络模型的检测结果,使得用户可以快速了解各个类别目标的图像检测结果的好坏情况,能够在最快的时间内对网络模型的检测能力有基本的认知;通过第二分析模块20以IoU值为基础对网络模型进行更深入的挖掘,进而使得用户可以参考反馈的结果(IOU值、AP、模型得分、LOSS等)分析导致网络模型检测结果好坏的可能原因(例如,数据集中某一类别目标样本过少、网络模型参数初始化问题、Loss函数优化问题、网络模型架构选择问题等),以实现有依据、有方向的模型改进策略。例如,可以根据各类别目标每个IoU阈值范围内,这一类目标的检测识别正确率的大小来评估该网络模型对这一类别目标的检测能力,以制定对应的模型改善方案。
以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。
- 神经网络模型优化系统及方法
- 一种基于网络视频结构化服务器的神经网络模型优化系统