0%

之前在学 C++ 的时候,第一个例子大概是:

1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int main(){
cout << "hello world" << endl;
return 0;
}
// 或者
#include <iostream>
int main(){
std::cout << "hello world" << std::endl;
return 0;
}

当时也没多想,std 这个东西是什么。后来在接触了其它库后,发现也需要 std 的配合使用,如 std::sort()。今日来仔细研究下名称空间这个东西。

不能继续开坑了,得整理一下。最近在刷二分法,思路很简单,细节是魔鬼。时而减一时而不用,仿佛在面向玄学编程,所以特意来整理一下。本文参考

在对抗攻击中,有人尝试着去用对抗样本攻击目标检测的网络。但是,检测网络与分类网络不同,检测网络还有检测器,存在 RPN、ROI-Align 以及边界框回归器等。而分类接受的图像来自检测器的输出,并不是原始的输入。所以只在图片上产生细微的扰动很可能不起做作用 1。所以衍生出了一些基于 patch (补丁)的攻击。

论文好像是 2020 年底传到 arxiv 1 的,还比较新。正好最近遇到的问题是类别数量是长尾分布,恰好最近看到 mmdetection 也支持了这个损失函数,索性来看一看这篇论文,算是做个论文笔记吧。不过为了能更容易理解论文的思想,没有按照原论文的内容结构进行整理。

之前了解到,可变形卷积 DCN(Deformable Convolutional Networks)是上分常用小技巧,所以把论文找来读了一下,V1 和 V2 两个版本都读了一下,个人感觉以及他人复现的结果显示 1 ,V1写的很好且够用,V2 写的实在是晕头转向。感觉还挺有创意,后期准备复现后,以后可能会用到。

不同于 FCN 的语义分割,Mask R-CNN 是用于实体分割的。借鉴 FCN 的思想,通过在 Faster R-CNN 的用于边界框识别分支上添加了一个并行的用于预测目标掩码的分支 Mask,在实现目标检测的同时,实现实例分割(object instance segmentation),即把每个目标像素分割出来。而 Faster R-CNN 和 FCN 在之前介绍过,所以本文的重点将会放在损失函数的设计和 ROI-Align 上。

实体分割不同于语义分割的是,不仅要检测出所属类别,还要区分同一类别下的不同实例。

CV 系列的论文和程序得一点点开坑了。目前准备的计划任务是:FCN,OHEM,Mask RCNN,YOLO,Focal loss,Seesaw loss。别问,问就是网上一点点查阅得到的,然后写写代码。

2022 年回来填坑,因为之前接了一个语义分割的项目,所以看了一些相关的论文,当时整理的内容都在草稿里躺着,今天想起来,于是决定补充到这个博客里。注意:我看一些 github 的第三方不错的实现,多多少少在模型结构上和原论文不完全一致,因此网络结构部分略写了。