Unsupervised Learning of Edges 论文阅读

本文介绍了一种基于视频的无监督边缘检测方法,该方法利用运动信息训练图像边缘检测器,提出了利用光流场进行伪彩化以辅助边缘检测的技术,并探讨了训练过程中数据清洗的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前了解了深度学习中有监督方式做边缘检测,其中提到这篇无监督的文章,来瞅瞅。先通读了一遍,感觉内容很丰富,很多地方可能理解的不准确。
有意思的一点是,文章的作者有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的预训练模型对于边缘检测有提高,可能是因为带入了目标级别的信息,另一方面,利用边缘检测网络同样能够提高目标检测的效果。


从方法角度看,迂回的解决问题的思路值得借鉴,神经网络的监督方法。
从实践角度开,实验的开展以及结果的讨论。

<think>好的,我现在需要帮助用户解决关于无监督学习中可能对称的可变形3D模型损失函数的改进方法的问题。首先,我需要理解用户的具体需求。用户提到的关键词包括无监督学习、对称性、可变形3D模型以及损失函数的改进技术。接下来,我需要回忆相关知识,并结合现有的文献来组织答案。 首先,无监督学习在3D模型中的应用通常涉及自动编码器或生成对抗网络等结构,这些方法不需要标注数据,适合处理可变形物体。对称性在这里可能指的是几何对称性,比如左右对称的物体,这在损失函数设计中需要考虑,以提高模型的泛化能力和重建精度。 接下来,损失函数的改进技术可能包括对称性约束、几何一致性、对抗训练等。例如,对称损失函数可以通过比较原始形状和其镜像对称形状的差异来设计。此外,几何一致性损失可以确保变形后的模型保持物理合理性,如平滑变形和体积保持。 然后,我需要查阅相关的文献。根据用户提供的引用,引用[1]提到了生成形状模型在轮廓空间中的应用,这可能与形状重建和对称性处理有关。引用[2]讨论了单目密集3D重建,可能涉及动态场景中的变形模型,这对可变形3D模型的损失函数设计有参考价值。 现在,我需要将这些点整合成结构化的回答。可能需要分点讨论损失函数的设计策略,并结合对称性的利用方法。同时,需要确保使用正确的中文术语和LaTeX格式的数学表达式,如对称损失函数的具体公式,比如$L_{sym} = ||S(x) - \hat{x}||_2^2$,其中$S(x)$是对称变换后的形状,$\hat{x}$是重建后的形状。 还要考虑用户可能需要进一步的问题,比如如何平衡不同的损失项,或者具体的实现技巧。因此,生成相关问题时要涵盖这些潜在的需求,例如对称性检测方法、多任务学习的应用,以及如何处理动态场景中的变形。 最后,检查是否所有数学表达式都正确使用$...$或$$...$$格式,确保回答符合系统级指令的要求,并且引用正确标注。需要避免任何Markdown格式,保持回答自然流畅,结构清晰。</think>### 无监督学习中对称可变形3D模型损失函数改进方法 在无监督学习框架下,针对可能对称的可变形3D模型,损失函数设计需要结合几何对称性、形状一致性及变形规律。以下是主要改进技术: #### 1. **对称性约束损失** 通过显式编码几何对称性,强制模型在潜在空间中保留对称特性: - **对称重建损失**:对输入形状$x$及其对称变换$S(x)$施加一致性约束: $$L_{sym} = \| S(G(z)) - G(S(z)) \|_2^2$$ 其中$G$为生成模型,$z$为潜在编码[^1]。 - **对称对抗损失**:在判别器中引入对称鉴别器,判断生成形状是否满足对称性。 #### 2. **几何一致性损失** - **变形场平滑约束**:对变形场$T$施加正则化: $$L_{smooth} = \sum_{i,j} \| T(p_i) - T(p_j) \|^2 \cdot w_{ij}$$ 其中$w_{ij}$表示相邻点$p_i,p_j$的权重。 - **体积保持约束**:通过雅可比行列式惩罚非刚性变形: $$L_{vol} = \sum \| \det(J_T(p)) - 1 \|^2$$ #### 3. **多模态自监督信号** - **轮廓空间对齐**:利用生成形状模型在轮廓空间中的投影差异作为监督信号: $$L_{sil} = \text{IoU}(\text{Proj}(G(z)), \text{Proj}(x))$$ - **动态场景约束**:对于动态变形,引入两视角间的光流一致性约束[^2]。 #### 4. **分层潜在编码** 将潜在空间分解为对称参数$z_{sym}$与非对称变形$z_{def}$: $$ z = [z_{sym}; z_{def}] $$ 通过解耦编码,可独立优化对称相关特征。 #### 5. **概率对称建模** 引入概率对称检测模块,自动推断对称概率分布: $$ P(sym) = f_{\theta}(x) $$ 动态调整对称约束强度,适应部分对称或噪声数据。 ### 实现示例(伪代码) ```python def loss_function(x, x_recon, T, z): # 对称重建损失 sym_loss = torch.norm(sym_transform(x_recon) - recon_sym_x)**2 # 变形平滑损失 grad_T = torch.autograd.grad(T, inputs=points, create_graph=True) smooth_loss = grad_T.norm(dim=-1).mean() # 多视角一致性 view1, view2 = render_multiview(x_recon) photo_loss = SSIM(view1, view2) return sym_loss + 0.1*smooth_loss + 0.5*photo_loss ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值