工业视觉中的目标检测——兼谈天池大赛优胜方案
点击我爱计算机视觉标星,更快获取CVML新技术
目标检测是计算机视觉领域研究最火热的方向,这从计算机视觉顶会CVPR相关论文数量就能看得出来。
目标检测应用范围广泛,上至卫星遥感,下至自动驾驶,大到鲸鱼保护,小到生物细胞分析,都有其用武之地。
我们在论文中常见的MS COCO数据集,多以生活类自然场景中的目标为主,如下图:
做一个通用的目标检测器,当然很有意思,但在工业视觉领域有很多特定的目标,如果能解决好了,往往非常具有商业价值。
CV君有好几位朋友创业方向都选择了工业视觉,这个领域商业化模式清晰,足够垂直,国家也鼓励工业 4.0 。一套自动化的产品瑕疵(缺陷)检测系统,一年就可以帮工厂省几百万甚至上千万资金。
阿里天池平台曾经举办过大量的数据竞赛,让人印象深刻的计算机视觉比赛比如津南数字制造算法挑战赛【赛场二】X光图像的违禁物品检测分割,2018广东工业智造大数据创新大赛—智能算法赛铝型材表面瑕疵识别,和最近刚上线的百万奖金!天池发起广东工业制造创新大赛赛场一:布匹疵点智能识别,都与目标检测相关。
布匹疵点智能识别比赛图像示例
布匹疵点智能识别比赛目标标注
比赛嘛,当然是追求高精度,下面将结合一些最新的论文和天池上目标检测相关比赛的优胜方案,谈谈如何提高模型精度。
首先要推荐的是亚马逊李沐团队的论文及代码:
Bag of Freebies for Training Object Detection Neural Networks
https://arxiv.org/abs/1902.04103v1
https://github.com/dmlc/gluon-cv
作者们在文章主要公布了以下训练实用技巧:
1.视觉一致的Image Mixup(Visually Coherent Image Mixup for Object De- tection)
Image Mixup已经成功用于图像分类的样本增广,在很多比赛中也经常被冠军所用,做法非常简单,图像简单按照比例进行像素混合,如下图:
同样,将带有目标的两幅图像也可以像素混合,生成新的图像含有含有原来的目标,用在目标检测的Image Mixup示意如下:
2.分类头标签平滑(Classification Head Label Smoothing)
3.数据预处理(Data Pre-processing)
主要是随机几何变换和颜色扰动。
4.训练调度程序改造(Training Scheduler Revamping)
改进学习率的衰减方法,使用cosine schedule 代替step schedule取得了更好的结果,如下图:
5.同步批归一化(Synchronized Batch Normalization)
为了方便多GPU训练(如果你有多个GPU的话。。。)。
6.随机形状训练(Random shapes training for single-stage object detection networks)
通过组合以上目标检测训练技巧,训练Faster RCNN和YOLOv3之后,获得的精度增益,相同的算法最多竟有+4.0%AP的增长(COCO数据集)!
另外,研究往届比赛的优胜方案也能对我们有所启发。
冠军们使用什么框架?
商汤开源的mmdetection和Facebook开源的Detectron是被提及最多的目标检测框架,它们本身实现了大量state-of-the-art算法,而且用户众多,有问题也比较容易解决,是大家快速参与比赛的首选。
https://github.com/open-mmlab/mmdetection
https://github.com/facebookresearch/Detectron
选择哪一种目标检测算法?
这时候不能不提到 Cascade RCNN,曾经在多个比赛中斩获冠军。
Cascade R-CNN升级!目标检测制霸COCO,实例分割超越Mask R-CNN
目前也是COCO数据集上的最高分获得者。
但也不能完全迷信论文里的state-of-the-art,在铝型材表面瑕疵识别比赛中,冠军使用模型的基础结构是Faster RCNN(但是也做了大量改进)。
详见:
https://tianchi.aliyun.com/forum/postDetail?spm=5176.12586969.1002.3.743c4cb2ixWGxm&postId=38469
数据增广和模型融合是必不可少的!
所有的优胜团队都会提到数据增广,图像翻转、旋转、平移、颜色扰动等。
尤其是处理类别不平衡问题,有时候甚至成为比赛获胜的关键。
在目标检测领域还有一大难点是小目标的检测,这里强烈推荐大家参考论文:
Augmentation for small object detection
https://arxiv.org/abs/1902.07296
通过造数据的方式使得小目标类别在整体更均衡,可以有效改进算法效果。
模型融合也是非常关键的,大家可以从铝型材表面瑕疵识别冠军方案的这张图中看出来:
天池优胜方案链接:
https://tianchi.aliyun.com/competition/entrance/231703/forum
https://tianchi.aliyun.com/competition/entrance/231682/forum
鼓励大家去天池玩一下布匹疵点智能检测比赛,在实际问题中提高技术水平!
工业视觉交流群
关注计算机视觉在工业智能制造的落地,欢迎加入专属交流群,扫码添加CV君拉你入群,(如已为CV君其他账号好友请直接私信)
(请务必注明:工业视觉)
喜欢在QQ交流的童鞋,可以加52CV官方QQ群:805388940。
(不会时时在线,如果没能及时通过验证还请见谅)
长按关注我爱计算机视觉
工业视觉中的目标检测——兼谈天池大赛优胜方案相关推荐
- 基于视觉Transformer的目标检测
基于视觉Transformer的目标检测 无卷积骨干网络:金字塔Transformer,提升目标检测/分割等任务精度 https://github.com/whai362/PVT 例如,在参数数量相当 ...
- 工业视觉中如何定量分析镜头光学性能
工业视觉中如何定量分析镜头光学性能 1.MTF的理解 如果不知道MTF可以点击看下 MTF (调制传递函数) 光学传递函数(OTF)包括调制传递函数(MTF)和相位传递函数(PTF)两部分,其中MTF ...
- X射线图像中的目标检测
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 1 动机和背景 每天有数百万人乘坐地铁.民航飞机等公共交通工具,因 ...
- OpenI启智社区开源算法框架推荐——新一代工业视觉无监督异常检测框架“READ”
工业缺陷检测是工业届非常重要且不可或缺的一项任务,由于工业场景异常缺陷多种多样,传统的机器视觉算法很难实现对缺陷特征完整的建模和迁移,算法复用相对困难,同时要求区分工况,从而造成大量的人力成本的浪费. ...
- 拥挤场景中的目标检测
拥挤场景中的目标检测 Detection in Crowded Scenes: One Proposal, Multiple Predictions 论文链接: https://arxiv.org/a ...
- 无人驾驶中的目标检测--MODNet: Moving Object Detection Network for Autonomous Driving
MODNet: Moving Object Detection Network with Motion and Appearance for Autonomous Driving 这里讲视频动作识别中 ...
- 致敬YOLO!华科提出YOLOS:基于视觉Transformer的目标检测
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 导读 本文是华科&地平线关于Transformer的迁移学习.泛化性能方面的深度思考.重点揭示 ...
- 一文详解工业视觉中的光源及应用
来源丨新机器视觉 光源 机器视觉系统主要由三部分组成:图像的获取.图像的处理和分析.输出或显示.而图像的获取是机器视觉的核心,图像的获取系统则是由光源.镜头.相机三部分组成.光源的选取与打光合理与否可 ...
- CODA:自动驾驶中道路目标检测的极端情况数据集
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨计算机视觉深度学习和自动驾驶 2022年3月arXiv论文"CODA: A Real- ...
最新文章
- eclipse 创建maven web项目
- 如今全球超级计算机运算速度排名,截至2019年(或2018年),全球超级计算机运算速度排名第一的是?...
- 阿里上市,四大洲8个国家的十位代表敲锣;全球首款支持5G双卡双待的芯片发布;撕裂者3990X:桌面史上第一次64核128线程……...
- 石头剪子布蜥蜴史波克python_C++字符串——石头剪刀布
- 奇安信代码安全实验室帮助 RedHat 修复两个 oVirt 漏洞,获官方致谢
- Python基础教程 第六章 学习笔记
- 对数组的操作splice() 和slice() 用法和区别
- IDEA 插件开发 发送弹框提示信息
- 秋天下载中心统计系统 入门安装
- 陈风莲(帮别人名字作诗)
- MessagingTimeout: Timed out waiting for a reply to message ID
- oracle recover 状态,Oracle RAC undotbs表空间recover状态的恢复
- elementui实现横向时间轴_element ui step组件在另一侧加时间轴显示
- 获取股票历史数据(2)——数据保存/数据可视化
- Mac item2 配色,大小写敏感及常用快捷键
- win10蓝屏自动修复解决方案
- 操作系统实战 45 讲:运行HelloOS界面
- 核电站计算机专业是干什么的,什么叫核电站?它是干什么用的呢?
- 注重医院患者院后随访提高医疗质量
- 几十个炫酷可视化数据分析网站你值得拥有
热门文章
- E. 数好多好多猴(南阳理工oj—21新生第二场招新赛)
- 四舍五入算法 php,3种PHP实现四舍五入的方法
- php属性赋值吗,php – 设置类中属性的默认值
- nginx 访问图片404_Nginx系列:安全下载模块
- 贪吃蛇大作战html5,贪吃蛇大作战5.0.1
- 没有匹配的验证协议_ORA-28040:没有匹配的验证协议
- 石头剪刀布程序流程图_“剪刀、石头、布”也能救命?临安区社会福利中心开展海姆立克急救法培训...
- 算算是第几天的C语言程序,计算当日是该年的第几天---C语言
- mysql中文问号 linux,解决Linux系统下Mysql数据库中文显示成问号的问题
- 计算机组成800H是多大,73计算机组成原理模拟题三(2019年)更新北理工20春答案...