小目标检测先查分辨率和标注
543 字
3 分钟
小目标检测先查分辨率和标注
小目标检测先查分辨率和标注
小目标检测差,不一定是模型不够大。很多时候是输入尺寸太小、标注框不准、训练集里小目标样本太少。
计算机视觉流程不能只看终端输出。图片能不能读、标注是否对齐、可视化是否正常,往往比训练命令本身更早暴露问题。
先看输入
先统计目标框面积占图片面积的比例,看看小目标到底有多少。再抽查小目标标注是否贴合,是否存在漏标。
我会先选少量图片做检查:一张正常图、一张边界图、一张容易失败的图。小样本跑通以后,再扩大到完整数据集。
示例代码
areas = []for box in boxes: x1, y1, x2, y2 = box areas.append((x2 - x1) * (y2 - y1) / (img_w * img_h))print(min(areas), sum(a < 0.01 for a in areas))可视化验收
- 保存至少一张中间结果图,而不是只打印数组形状。
- 检查坐标顺序,确认没有把
x/y和w/h混用。 - 抽查失败样本路径,避免批量流程悄悄跳过坏图。
- 如果结果要进入训练集,记录数据版本和处理脚本版本。
常见误差来源
常见误差来自 resize 后目标只剩几个像素、增强时把小目标裁掉、验证集小目标数量太少导致指标不稳定。
最小验收样例
我会固定一组小样本作为回归检查集。每次改处理脚本或训练配置,都先跑这组样本,确认输出图片、标注框或预测结果没有出现明显退化。
视觉任务的验收不能只依赖成功退出码。最少要打开一张输出图,并把失败样本单独记录下来。这样后续定位问题时,能从具体图片回到具体处理步骤。
小结
小目标检测先查分辨率和标注 的关键是让每一步都有可视化证据。视觉任务最终要回到图像本身,不能只信日志和指标。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!













