引导阅读模型集成是提高模型功能的常用方法,但通常还会增加推理时间。
您可以看到它在对象检测中的有效性。
简介集成机器学习模型是提高模型功能的常用方法,已被用于多种场景,因为它们结合了多个模型的决策以提高整体性能,但是当涉及到DNN(深度神经网络)目标检测模型时,它会不只是合并结果那么简单。
集成要求为了在任何模型中均获得良好的结果,需要满足某些条件(数据,超参数)。
但是在实际情况下,您可能会得到错误的训练数据,或者可能很难找到合适的超参数。
在这些情况下,综合性能差的多个模型可以帮助您获得所需的结果。
从某种意义上说,集成学习可以被认为是通过执行大量附加计算来弥补学习算法不足的一种方法。
另一方面,另一个选择是在非集成系统上进行更多的学习。
对于计算,存储或通信资源的相同增加,使用两种或多种方法的集成系统可能比使用单个方法增加资源的方法更有效地提高了总体准确性。
看起来不错,有什么缺点吗?由于预测框是基于多个模型绘制的,因此调试或理解预测更加困难。
推理时间根据模型和所用模型的数量而增加。
尝试不同的模型以获取正确的模型集非常耗时。
不同的模型集成或方法:如果至少由一个模型生成一个框,则将其考虑。
AND方法:如果所有模型产生相同的盒子,则认为它是盒子(如果IOU> 0.5)。
一致性方法:如果大多数模型产生相同的帧,则将其视为一个帧,即,如果有m个模型并且(m / 2 + 1)个模型产生的帧相同,则认为该帧有效。
加权融合:这是一种替代NMS的新方法,并指出了其缺点。
不同的集成方法在上面的示例中,OR方法预测了所有必需的对象框架,但也得到了假阳性结果。
一致方法错过了马匹,而AND方法错过了马匹和狗。
验证为了计算不同的积分方法,我们将跟踪以下参数:Truepositive:预测框与gt FalsePositives匹配:预测框错误FalseNegatives:无预测,但gt存在。
精度:衡量您的预测的准确性。
换句话说,预测正确的百分比[TP /(TP + FP)]调用:测量gt预测的[TP /(TP + FN)]的百分比平均精度:精确调用图曲线下的面积。
为了了解集成的工作原理,我们提供了独立模型的实验结果。
1.YoloV3:2. FasterR-CNN-ResNeXt101 [X101-FPN]:集成实验1.OR- [YoloV3,X101-FPN]如果仔细观察,FP的数量增加了,从而降低了准确性。
同时,TP数量的增加反过来又增加了召回率。
这是使用OR方法时可以观察到的一般趋势。
2.AND-[YoloV3,X101-FPN]与使用OR方法观察到的相反,在AND方法中,我们最终获得了更高的精度和更低的查全率,因为几乎所有误报都被删除了,因为大多数FP YoloV3和X101不同。
检测帧的加权融合在NMS方法中,如果帧的IoU大于某个阈值,则认为该帧属于单个对象。
因此,帧的过滤过程取决于单个IoU阈值的选择,这会影响模型的性能。
但是,设置此阈值是很棘手的:如果并排有多个对象,则其中一个将被删除。
NMS丢弃冗余帧,因此它无法有效地从不同模型生成平均局部预测。
NMS和WBF之间的主要区别是WBF使用所有盒子而不是丢弃它们。
在上面的示例中,红色框是groundtruth,蓝色框是由多个模型做出的预测。
请注意,NMS如何删除冗余框,但是WBF通过考虑所有预测框来创建一个全新的框(融合框)。
3.WeightedBoxesFusion-[Yolov3,X101-FPN] YoloV3和X101-FPN的重量比分别为2:1。
我们还尝试增加X101-FPN的比例(由于其更好的性能),但是在性能上没有发现任何显着差异。
从我们阅读的加权融合论文中,作者注意到AP的增加,但是如您所见,WBFYoloV3和X101-FPN并不比OR方法好很多。
我们已经注意到,大多数实验都涉及至少3个或更多模型。
4.WeightedBoxesFusio
● 什么是算法?