经过几天连续的开坑和读源代码,对 mmdetection 的配置流程了解的差不多了。考虑一个实例应用,尝试着将 FGSM
攻击算法的制作的对抗样本植入目标检测中,企图增加网络的鲁棒性,也就是一个自定义输出处理 Pipeline
的实际流程。之后会尝试自定义损失函数,支持简单的对抗训练,如 MART 算法等 1。
目标检测篇:MMDetection 推理使用与详细踩坑记录
本文字数: 16k 阅读时长 ≈ 15 分钟
最近喜欢上了听音乐,B 站关注了个 UP 主叫『咻咻满』,长得好看,戏腔唱『青花瓷』入坑了,也听了其它的『星辰大海』和『白月光和朱砂痣』,都挺好听。以后得关注点女 UP 了,看着多可爱,生活又不是只有代码。卧艹不对说回正题。
MMDetection 是一个基于 PyTorch 的目标检测开源工具箱 1,支持了众多主流的和最新的检测算法,例如 Faster R-CNN,Mask R-CNN,RetinaNet 等,官网也给出了详细的教程。既然如此,生命不息,开坑不止。前前后后被各种事情打断,大概花了一周搞懂了如何使用 MMdetection
去做检测的任务。本文收录:
- 安装
- 修改配置文件
- 调用模型与训练好的参数,进行推理
- 自定义训练
- 数据处理流程
注意,本文更多像是记录学习过程,这也是我第一次用这个工具,遇到问题一步一步的 debug 与记录,并不是直接的教程。且,本文程序大多能直接复制运行,需要对应到自己的路径。我希望读者看完本文后具有解决问题的能力,而不只是会解决问题。
神经网络中的数据问题
本文字数: 7.3k 阅读时长 ≈ 7 分钟
今日在写程序时,遇到了一个蜜汁 bug
,加载别人训练好的 ResNet18
,识别精度很低,只有 16%,但理论上而言应该有 92%,我也好奇那 80% 的准确率去哪里了。而程序和数据本身又无错误,所以来探究一下这是为什么。
对抗攻击篇:CW 攻击算法
本文字数: 3.6k 阅读时长 ≈ 3 分钟
五一闲的没事继续开坑,差不多也该做论文了。等看完一些经典的攻击算法后,做一些复现和对比实验,然后去看经典的防御算法。CW 算法是一种基于优化的攻击算法 1,而论文的创新点在于损失函数的定义与梯度的截断。
目标检测篇:目标检测快速训练与推理框架
本文字数: 8k 阅读时长 ≈ 7 分钟
最早在天池玩耍的时候接触到了目标检测。当时真的啥都不知道,头铁,一点点的开坑造轮子。后来再看前几名开源的程序,发现有很多库可以使用,切图,目标检测等,比如数据增强、目标检测都有现成的工具箱。所以想着,就先用调库的形式写一个简单的 baseline
,下一个任务直接用现成的代码,省点事,所以写了一个这样的简单的平台。
目标检测篇:FPN
本文字数: 5.9k 阅读时长 ≈ 5 分钟
目标检测篇:Faster R-CNN 系列
本文字数: 6.5k 阅读时长 ≈ 6 分钟
又来开计算机视觉的坑了,这次一定做好整理和记录,包括算法内容和程序。做好训练、保存和推理的框架,下次需要的时候直接用。做目标检测的东西,于是决定从 Fast R-CNN 重头来过了。其中,Fast R-CNN 只有理论,Faster-RCNN 部分含有代码,不过会在下一篇博客了。
既然是目标检测,就需要做两件事情,目标在哪,目标是什么。对于目标在哪的问题,可以让网络生成一个目标框,目标框有四部分组成:$(x,y,w,h)$,表示物体的起始点坐标和框的宽度与高度;对于目标是什么的问题,就是传统神经网络的多分类问题了。