实战解析:真实AI场景下,极小目标检测与精度提升( 三 )


比如我们取SSD、YOLO、Faster RCNN等 , 就发现Faster RCNN达到了最好的效果—0.812 。 怎么进一步优化呢?
针对上述难点1 , 业界有Anchor自适应算法可以解决这类问题:
实战解析:真实AI场景下,极小目标检测与精度提升
本文插图
△Anchor自适应算法概览
我们重点介绍差分进化算法、超参优化算法这两种具有通用性的技术 。
1、差分进化算法
其特点是简单、高效、可拓展 。 搜索超参是anchor的高宽比和尺度 , 优化目标是所有检测框与匹配的anchor的iou总和最大 。
算法上 , 第一步是初始化种群 。 第二步是开始迭代的差分进化 , 保留优秀个体 , 淘汰劣质个体 。 包含变异-交叉-选择3个操作:
变异:从种群中随机挑选两个个体 , 用一定的规则去产生一个变异个体;
交叉:变异个体与事先指定的某个目标个体进行参数混合 , 生成实验个体;
选择:将实验个体的优化指标与目标个体进行对比 , 保留优化指标较好的个体;
以上3个操作迭代循环 , 实现优胜劣汰的能力 。
这个方案的优点就是速度快 , 无需训练模型 , 并且可以广泛的适用于各种检测模型 , 这种算法已经在EasyDL经典版上集成优化了 。
2、超参优化算法
其特点是优化目标和训练模型是一致的 。 优化目标是训练中的模型指标(AP)最优 , 可以运用贝叶斯优化、进化算法等超参优化算法 。
优点是以模型评估指标作为优化的目标 , 效果更佳 , 并可广泛适用于各种检测模型 。
其缺点是比较耗费计算资源 。 但是相关算法能力已经在EasyDL专业版集成 , 用户可以通过EasyDL专业版创建项目 , 实现自动超参搜索 。
实战解析:真实AI场景下,极小目标检测与精度提升
本文插图
货架挡板检测优化—anchor优化
我们将anchor自适应的方法应用在本案例上 。 相对于默认ratios来说 , 自适应算法收出了5个比例 , 也就是说5个比例比较适合于这个模型 。

实战解析:真实AI场景下,极小目标检测与精度提升
本文插图
我们用anchor自适应的算法进行优化 , 效果从0.812提升到0.87 。
那么如何进一步优化?我们之前提到了难点2(背景杂乱)和难点3(数据稀缺) , 现在继续采用自动数据增强的方案 , 去优化数据本身 。
实战解析:真实AI场景下,极小目标检测与精度提升
本文插图
△自动数据增强算法概览
以PBA为例 , 其特点是灵活、可拓展 。
实战解析:真实AI场景下,极小目标检测与精度提升
本文插图
如图 , 起两个进程分别训练模型 , 训练模型的主要参数一是超参 , 另外一个是权重(模型本身的参数) 。
通过第一步训练 , 第二步需在某一个时间点 , 比较两个进程的效果 , 效果更优的进程就会取代效果差的进程的权重 。 第三步 , 直接复制权重 。 第四步 , 扰动原来的超参 , 产生一组新的超参 , 并继续训练 。
迭代循环这个训练流程 , 就可以产生一个增强算子的调度组合 , 并且是比较适合于这个数据集本身的 。
实战解析:真实AI场景下,极小目标检测与精度提升
本文插图
EasyDL也上线了自动数据增强搜索的能力 , 基于百度自研的分布式智能搜索的能力 , 目前支持PBA算法 。 算子方面 , 支持图像分类和物体检测两种 , 开放了超过40种的算子 。
利于优化成一个工业级的搜索算法 , 搜索的效率更高 。 在EasyDL线上的多场景模型精度上 , 平均提升了7%以上 。


推荐阅读