暖夏少年|在物体检测中搞定小目标
作者:Jacob Solawetz
编译:ronghuaiyang
导读在计算机视觉中 , 检测小目标是最有挑战的问题之一 。 本文给出了一些有效的策略 。
从无人机上看到的小目标
为了提高你的模型在小目标上的性能 , 我们推荐以下技术:
- 提高图像采集的分辨率
- 增加模型的输入分辨率
- tile你的图像
- 通过增强生成更多数据
- 自动学习模型anchors
- 过滤掉无关的类别
查看AP_S、AP_M、AP_L以了解最新的模型 。 小物体检测是很难的!
以Efficient为例 , 小目标的AP只有12% , 大目标的AP为51% 。 这几乎是五倍的差异!那么 , 为什么检测小物体如此困难呢?
这一切都归结于模型 。 目标检测模型通过在卷积层中对像素进行聚合来形成特征 。
物体检测中的特征聚合
在网络的末端 , 基于损失函数进行预测 , 损失函数根据预测值和ground truth之间的差异对所有像素进行加和 。
YOLO中的损失函数
如果ground truth框不大 , 则在进行训练时信号会很小 。 此外 , 小物体最有可能有数据标记错误 , 他们的识别可能被忽略 。
从经验和理论上讲 , 小物体是很难的 。
提升图像采集的分辨率分辨率 , 分辨率 , 分辨率……都是分辨率的锅 。
非常小的物体的边界框中可能只包含几个像素 , 这意味着增加图像的分辨率可以增加探测器可以从那个小盒子中形成的丰富特征 , 这是非常重要的 。
因此 , 我们建议尽可能提高采集图像的分辨率 。
提高模型的输入分辨率一旦你有了更高分辨率的图像 , 你就可以放大模型的输入分辨率 。 警告:这将导致大型模型需要更长的时间来训练 , 并且当你开始部署时 , 也会更慢地进行推断 。 你可能需要实验来找出速度与性能之间的正确权衡 。
在训练YOLOv4中 , 你可以通过改变配置文件中的图像大小来轻松缩放输入分辨率 。
[net] batch=64 subdivisions=36 width={YOUR RESOLUTION WIDTH HERE} height={YOUR RESOLUTION HEIGHT HERE} channels=3 momentum=0.949 decay=0.0005 angle=0 saturation = 1.5 exposure = 1.5 hue = .1learning_rate=0.001 burn_in=1000 max_batches=6000 policy=steps steps=4800.0,5400.0 scales=.1,.1
你也可以在训练YOLOv5中通过改变训练命令中的图像尺寸参数来轻松缩放你的输入分辨率:!python train.py --img {YOUR RESOLUTON SIZE HERE} --batch 16 --epochs 10 --data '../data.yaml' --cfg ./models/custom_yolov5s.yaml --weights '' --name yolov5s_results--cache
对图像进行Tiling检测小物体的另一个重要策略是将图像切割后形成batch , 这个操作叫做tile , 作为预处理步骤 。 tile可以有效地将检测器聚焦在小物体上 , 但允许你保持所需的小输入分辨率 , 以便能够运行快速推断 。
- 金戈鐵馬|特朗普力挺铁杆支持者,枪杀两人的少年没错?抗议活动不断发酵
- 少年|央视要搞选秀,热搜沸了!网友提名他当导师,点赞数第一
- 暖夏少年|2020电脑硬盘销量排行榜:七彩虹加入战局,硬是打倒了金士顿
- 少年一梦|2020畅销手机排行,iPhone无人超越,安卓旗舰全线溃败
- 少年帮|进入倒计时,华为突然宣布,供应链将迎来“洗牌”?
- 上线|原创央视也搞成团选秀!《上线吧!华彩少年》有哪些优势?粉丝放心了
- 海报|央视首档少年成团选秀节目《上线吧!华彩少年》开始全球招募
- 少年帮|正式确认?中科院宣布决定,纯国产“龙芯”即将来临
- 光一样的少年|面对后起之秀,苏泊尔不玩价格战,以一抵八多功能破壁机倍受追捧
- 中国新闻网|专家澄清:视觉训练不能治疗青少年真性近视