之前了解到,可变形卷积 DCN(Deformable Convolutional Networks)是上分常用小技巧,所以把论文找来读了一下,V1 和 V2 两个版本都读了一下,个人感觉以及他人复现的结果显示 1 ,V1写的很好且够用,V2 写的实在是晕头转向。感觉还挺有创意,后期准备复现后,以后可能会用到。
实例分割篇:Mask R-CNN
本文字数: 2.2k 阅读时长 ≈ 2 分钟
不同于 FCN 的语义分割,Mask R-CNN 是用于实体分割的。借鉴 FCN 的思想,通过在 Faster R-CNN 的用于边界框识别分支上添加了一个并行的用于预测目标掩码的分支 Mask,在实现目标检测的同时,实现实例分割(object instance segmentation),即把每个目标像素分割出来。而 Faster R-CNN 和 FCN 在之前介绍过,所以本文的重点将会放在损失函数的设计和 ROI-Align 上。
实体分割不同于语义分割的是,不仅要检测出所属类别,还要区分同一类别下的不同实例。
分割篇系列:FCN,DeepLab,UNet,PAN 和 UperNet
本文字数: 4.9k 阅读时长 ≈ 4 分钟
CV 系列的论文和程序得一点点开坑了。目前准备的计划任务是:FCN,OHEM,Mask RCNN,YOLO,Focal loss,Seesaw loss。别问,问就是网上一点点查阅得到的,然后写写代码。
2022 年回来填坑,因为之前接了一个语义分割的项目,所以看了一些相关的论文,当时整理的内容都在草稿里躺着,今天想起来,于是决定补充到这个博客里。注意:我看一些 github 的第三方不错的实现,多多少少在模型结构上和原论文不完全一致,因此网络结构部分略写了。
目标检测篇:自定义 MMDetection 的 Pipeline
本文字数: 9.2k 阅读时长 ≈ 8 分钟
经过几天连续的开坑和读源代码,对 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,而论文的创新点在于损失函数的定义与梯度的截断。