您的位置:首页 > 其它

Unsupervised Learning of Edges 论文阅读

2018-01-12 14:32 513 查看
之前了解了深度学习中有监督方式做边缘检测,其中提到这篇无监督的文章,来瞅瞅。先通读了一遍,感觉内容很丰富,很多地方可能理解的不准确。

有意思的一点是,文章的作者有Piotr Dollar,是最早提出利用数据驱动进行边缘检测的大佬之一,现在大家有监督做的如火如荼,他又要来无监督。

之前的无监督主要是利用人为提取的特征,人工设定响应。现在的无监督往往基于神经网络等具有优秀特征提取能力的模型,因此其关注点在于如何人工生成训练数据。

文章思路:以生物学知识为依据,利用运动边缘来训练图像边缘检测器。

无监督框架:



因为要利用运动信息,所以输入是两幅相邻帧图像(I,I’),和利用DeepMatching得到的匹配关系M。

初始化:确定边缘检测器ε,初始化边缘E(图像梯度)

接下来是循环过程,分成四步:

1. 根据两幅图像(I,I’),E和M,得到光流场估计F

2. 对光流场进行伪彩化,并对伪彩图像利用ε进行边缘检测,得到运动边缘G

3. 利用G对边缘检测器ε进行训练

4. 训练后的ε对于图像得到新的边缘E

每一步的具体内容:

1. 光流场估计:EpicFlow能够利用边缘映射和semi-dense matches,获得dense matches。这是目前最好的光流检测方法。

2. 运动边缘检测:从光流场检测运动边缘一般来说是有一定困难的。文章提出对光流场进行伪彩化,然后利用已有的边缘检测器对其进行边缘检测。Note: 由于两幅图像是运动的,所以边缘检测器对伪彩光流直接得到的运动边缘和原始图像边缘有一定程度的不对齐。文章利用SLIC super-pixels(能够覆盖绝大多数边缘)和运动边缘进行匹配,对能够匹配的运动边缘进行shift,同时放弃没有被匹配的边缘。作者提到,为什么要放弃那些边缘?因为以Video数据监督,会有大量的训练数据,所以希望在训练时,输入的都是正确性很高的。但是这样也会放弃一些图像较弱的边缘。这个影响会在后续讨论。

3. 训练:得到运动边缘后,正样本是其中具有较高分数的,负样本是其中较低分数处随机采用得到。理论上:运动边缘处是图像边缘,但是图像边缘也可能会出现在非运动边缘处,因此随机采样的结果可能是包含了运动边缘的。不过文章提到由于边缘的稀疏性,这种情况发生的概率较小。对于模棱两可的运动边缘(中等分数),训练中不考虑。

数据清洗:

视频数据的量是巨大的,文章选择最promising的帧用于运动检测。利用ORB描述子去除缓慢运动的,剧烈运动的和有全局改变的运动。

以上,有两点启发:

1. 近来看到一些网络利用ImageNet的预训练模型中卷积的输出完成其他任务,觉得很多CV任务之间所依赖的特征关联性确实很大。所以在训练网络时,如果目标问题的监督信息不易获得,是否可以考虑利用相近目标的监督信息进行训练,然后在网络结构上针对目标问题进行改进。

2. 无监督的缺点是明显的,但是不要忽视其优点,考虑利用大量的数据,提取简单可靠的部分来提升网络的效果。

边缘检测器:

1. 基于结构森林的Structured Edge(SE)

文章采用结构来自Fast edge detection using structured forests,秒了一眼作者,又是Piotr Dollar。

2. 基于深度网络的Holistic Edge(HE)

文章按照Holistically-nested edge detection的结构进行边缘检测。为了便于训练,去除了每一阶段的loss,只使用最后single loss。在训练中,尝试了ImageNet的预训练模型和随机初始化两种方式。为了提高收敛性,去除了模糊的样本,并放弃了具有最高loss的负样本(按照Scalable High Quality Object Detection中的动机)。

实验结果:

从网络框架中可以看到,模型的输出有运动边缘,图像边缘和光流场三类。当然运动边缘和光流场是模型的副产品,但是文章仍然对这些结果进行了比较。而且将得到的边缘检测网络作为预训练权重测试了其对目标检测网络的效果。

1. 运动边缘检测



Video Segmentation Benchmark (VSB)中每20帧图像有运动边缘的GT。其中SE[HE]-IMAGE表示利用图像边缘训练的边缘检测器。SE[HE]-VIDEO表示文章框架下的边缘检测器。值得注意的是,因为文章的目标是高准确的运动边缘,所以其precision at 20% recall(P20)值显示了这一特性。

2. 图像边缘检测



Berkeley Segmentation Dataset and Benchmark (BSDS)有200张训练图像,100张验证图像和200张测试图像。文章首先回答了一个问题,能够通过运动边缘检测器训练图像边缘检测器?利用VSB中的监督信息训练SE和HE。结果是肯定的。然后展示了文章框架的结果。注意VIDEO的结果要优于VSB,文章认为这是由于VSB的数据集大小导致。

另一点值得注意的是,使用ImageNet预训练模型的结果优于随机初始化。这说明两点,1)目标级别的信息对于边缘检测是有帮助的;2)说明文章的框架没有能挖掘网络的全部潜力。

3. 光流场



文章认为结果差距不大,即使利用真实的运动边缘,也没有明显 提升。这说明在当前matches方法下,EpicFlow的结果已经饱和。

4. 目标检测



实验在PASCAL VOC2007上利用Fast R-CNN完成。可以看到相对于Scratch,基于边缘检测网络的预训练模型能够有不少的提升,但是ImageNet的初始化效果仍然是更好的。

总结讨论

1. 边缘检测中,无监督训练方法为什么不能超过有监督方法?

从理论上来说,video能够提供充分的语料库,从而拥有“无限的”训练数据,能够训练出更好的边缘检测器。目前的限制可能有以下几点:1)现有的光流方法和文章框架对于弱图像边缘的忽略;2)提升边缘检测不提升光流检测的效果,因此框架的提升不能被继续放大;3)不准确的训练数据,尤其是丢失的正样本和错误的负样本损害了训练过程。

2. 这样的无监督学习方法捕捉到了目标层面的信息吗?

很多边缘信息只有对目标有所了解之后才可以被确定。文章的实验结果揭露了这样一个观点:一方面ImageNet的预训练模型对于边缘检测有提高,可能是因为带入了目标级别的信息,另一方面,利用边缘检测网络同样能够提高目标检测的效果。

从方法角度看,迂回的解决问题的思路值得借鉴,神经网络的监督方法。

从实践角度开,实验的开展以及结果的讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐