我读Fine-Grained Change Detection of Misaligned Scenes with Varied Illuminations

  • 背景介绍
  • 本文贡献
  • 实现方法
    • 数据采集
    • FtextbfF的初始化
    • Normal-aware lighting correction
    • 相机几何校正
    • Low-rank变化检测
    • Coarse-to-fine优化以及最终结果
  • 实验结果

背景介绍

文章标题:Fine-Grained Change Detection of Misaligned Scenes with Varied Illuminations,ICCV 2015,暂无主页,PDF,Code&Dataset1。

本文贡献

所有的变化检测都是针对大尺度、且识别的主体具有显著性的图片进行检测,本文提出的方法可以在毫米级别对差异进行检测。本文起点是相机已经对同一场景拍摄了两组照片2,每组照片相机参数不变,环境光变化。这样子变化检测就可以认为只由一下三个方面影响:

  1. 环境光
  2. 相机+镜头的几何畸变
  3. 被拍摄物体的真实变化

本文就针对以上三点提出了一种从粗到精细、最终使用最小化rank进行变化检测的方法。

实现方法

在讲述方法前,先回顾一下本文目标、前提条件、以及难点。目标是做精细的变化检测,前提条件是相同位置拍摄的两组图片,且两幅图片位置相差几乎很小,每组照片有 K+1 幅图像构成,分别为单纯环境光,与加上了 K 个方向的有向光拍摄,这样子好处就是可以对细微变化检测(并且简单方便够便宜)3,见图1。

难点就是上面说的三个影响因素,我们记一下符号表示:

意义 符号
上一次的照片组 X ,每一列为一幅图片
这一次的照片组 Y ,每一列为一幅图片
环境光不同 L
相机+镜头的几何畸变 F
真实场景的变化 C

本文使用到的方法是coarse-to-fine的方法迭代的对上面的三个影响因素求解。为保证结果的准确性,先简单介绍了一下相机重定位的原理。整体流程见图2。

我读Fine-Grained Change Detection of Misaligned Scenes with Varied Illuminations_第1张图片

1. 数据采集

就是相机重定位的过程,假设上一次拍了一组照片 X ,这次需要排到几乎相同位置的一组照片 Y ,相信很多有摄影经验的人都知道这是很困难的,因为手抖一下相片都会模糊,这时隔好几个月或者一年的两张照片怎么能一样。这里我们通过不断的调整相机的姿态完成,使用到了单应矩阵(homography matrix),假设上一次拍的图片是 Rb ,这一次当前图片 Rr ,相机姿态是 Ic ,我们有单应矩阵使得 Rr=HRb ,通过单应矩阵 H 来调整相机姿态是 Ic ,循环拍摄-调整几次之后我们就得到了一个基本相同的 Rb Rr

2. F 的初始化

因为 X Y 中图片的光照是一一对应的,可以先假设有一个全局的环境光打在一幅图片 xiR3×N 上,形成 Aixi+bi ,即 yi 的近似。其中的

[A^i,b^i]=argminAi,bi||Aix~i+biy~i||2F

其中 x~i y~i 是SIFT匹配点对的RGB值形成的矩阵。这个方程就是一个最小二乘法求映射的,把 X 转化为了 XF

3. Normal-aware lighting correction

上小节假设加的是全局环境光,本小节假设加了局域光,用到Lambertian reflectance model,对每个像素 p ,有 Ip=np,ωρpL(ω)dω 。就是像素在照片上显示的颜色=物体与发现夹角余弦 × 反射率 × 入射光。加了一个局域入射光,就变成了这个样子:

xLFp=np,ωρp(Lx(ω)+Lv(ω))dω=xFp+Lvp=yp

第二个等号后面,第一项 xFp 是上小节处理过后的图片的像素 p 位置的值,第二项 Lvp 是文章假设局域光对像素点的影响。
Li=argminLvp(xiFp+Lvpyip)2exp(Cpσ)+αpqωpq(LvpLvq)2

第一个求和符号保证的是拟合程度高,其中 Cp 表示上次检测时,此像素变化情况,如果接近1则表示上次变化很大,进而 exp(Cpσ) 接近于零。也就是说,对于变化区域不用追求光照一致化,免得光照矫正把微小变化给搞没了。
第二个求和符号项鼓励局域光平滑性好。 pq 表示相邻的像素, ωpq 就是两个像素的相似度,求法是使用色度(照片颜色除以光强)。
于是我们得到局域光调整过后的图片 XL

4. 相机几何校正

引用自Sift flow: Dense correspondence across scenes and its applications,改了一下能量方程:

E(F)=i,p||xiL(p+Fp)yi(p)||1exp(Cpσ)+βp||Fp||22+pqmin(γ||FpFq||1,d)

具体实现可以看一下被引用的文章 4。本文里说使用1小节中的方法就可以初始化 F 了。
此步骤后图片的标记变为 XLF

5. Low-rank变化检测

重点来啦,各位请打起精神,这一节我们就会得到一个变化概率图像。
首先,两组图像根据环境光两两匹配,对第i对图像我们就有两列矩阵 Oi=[XiLF,Yi] ,第一列是上一节处理图像(拉长变成了一列),第二列为本次拍摄的图片。于是有 O=[O1,...,OK+1]R3N×2(K+1)

然后建立了目标方程:

argminZ,E||Z||+λ||E||1+κ||TE||2Fs.t.O=Z+E

Z 表示不变部分, E 表示非常离散的变化部分, T=diag(A,A,A) 表示像素的相邻关系,如果两个像素 pq 相邻,有 App=Aqq=1,Apq=Aqp=1 ,使用拉格朗日乘子法,目标方程变为:
argminZ,E||Z||+λ||J||1+κ||TE||2F+Φ(Y1,OZE)+Φ(Y2,YE)

稍微解释一下, Y1,Y2 是拉格朗日算子, Φ(Y,Z)=μ2||Y||2F+Y+Z ,使用ALM算法求解 5[^cite3]。

最后把 E 取平均值得到差异概率矩阵 C

6. Coarse-to-fine优化以及最终结果

图2很直观,差不多3到5个循环3-5小节的步骤就能结果收敛,这时候简单的对 C 一个阈值分割就可以得到结果,本文却没这样做。而用了金字塔模型构造了所有层的平局值 Call ,然后用线性SVM分类,像素特征是周围 7×7 网格的线性排列。这样就有了最终结果。

实验结果

颐和园数据集 Dp

Method F1 Re Pr Sp FRR FNR PWC
SC_SOBS A 0.03 0.90 0.01 0.09 0.91 0.10 89.80
SC_SOBS M 0.02 0.97 0.01 0.03 0.97 0.03 96.21
SC_SOBS LFA 0.11 0.34 0.06 0.95 0.05 0.66 5.62
SC_SOBS LFM 0.16 0.20 0.14 0.99 0.01 0.80 1.92
SubSENSE A 0.02 0.55 0.02 0.60 0.40 0.45 39.41
SubSENSE M 0.02 0.93 0.01 0.20 0.80 0.07 78.85
SubSENSE LFA 0.08 0.04 0.05 0.99 0.01 0.96 1.81
SubSENSE LFM 0.07 0.22 0.04 0.95 0.05 0.78 5.85
Ours (D&T) 0.34 0.28 0.52 1.00 0.00 0.72 0.92
Ours (SVM) 0.51 0.53 0.47 0.99 0.01 0.47 1.02

实验室内壁画试块数据集 Db

Method F1 Re Pr Sp FRR FNR PWC
SC_SOBS A 0.03 0.31 0.02 0.69 0.31 0.69 31.52
SC_SOBS M 0.03 0.36 0.02 0.65 0.35 0.64 35.07
SC_SOBS LFA 0.02 0.02 0.03 0.99 0.01 0.98 1.99
SC_SOBS LFM 0.09 0.08 0.14 0.99 0.01 0.92 2.01
SubSENSE A 0.24 0.50 0.31 0.72 0.28 0.50 28.32
SubSENSE M 0.23 0.67 0.19 0.66 0.34 0.33 34.01
SubSENSE LFA 0.06 0.03 0.26 1.00 0.00 0.97 1.43
SubSENSE LFM 0.28 0.21 0.50 0.99 0.01 0.79 1.62
Ours (D&T) 0.45 0.40 0.56 1.00 0.00 0.60 1.23
Ours (SVM) 0.53 0.62 0.48 0.99 0.01 0.38 1.41

雕像数据集 Ds

Method F1 Re Pr Sp FRR FNR PWC
SC_SOBS A 0.01 0.59 0.00 0.78 0.22 0.41 22.29
SC_SOBS M 0.01 0.66 0.00 0.73 0.27 0.34 27.41
SC_SOBS LFA 0.19 0.34 0.14 1.00 0.00 0.66 0.31
SC_SOBS LFM 0.27 0.44 0.19 1.00 0.00 0.56 0.24
SubSENSE A 0.02 0.83 0.01 0.88 0.12 0.17 12.13
SubSENSE M 0.01 0.98 0.00 0.66 0.34 0.02 34.28
SubSENSE LFA 0.27 0.28 0.34 0.99 0.01 0.72 1.57
SubSENSE LFM 0.12 0.77 0.07 0.95 0.05 0.23 5.37
Ours (D&T) 0.53 0.78 0.43 1.00 0.00 0.22 0.28
Ours (SVM) 0.51 0.86 0.39 1.00 0.00 0.14 0.29

金字塔模型不同层数的 F-1 measure

Dataset 1 Level 2 Levels 3 Levels
Dp 0.3595 0.4476 0.5134
Db 0.3907 0.4897 0.5254
Ds 0.4236 0.6737 0.5118

我读Fine-Grained Change Detection of Misaligned Scenes with Varied Illuminations_第2张图片

  1. 这篇文章主要作者均为本人研究生所在项目组人员,一作是小编的导师,二三四作是师弟,五作是师娘,六作为项目负责人。本项目源自敦煌研究院联合天津大学共同完成的一个文物保护项目,本项目的目标是对敦煌壁画进行病害监测,部分内容涉密。 ↩
  2. 共分为两步,粗定位和精细定位,粗定位的两种方法已经申请发明专利,精细定位方法涉及多极几何,软硬件均为本文作者与孙高工、岳师弟共同完成。 ↩
  3. 另外一种对细微变化检测的方式是使用相机从多角度拍摄后3D建模,但是多光照和多相机姿态太太太具有挑战性了,并且3D建模的变化检测结果误差太大(不能保证pixel-level的检测,你懂的)。 ↩
  4. Liu, Ce, Jenny Yuen, and Antonio Torralba. “Sift flow: Dense correspondence across scenes and its applications.” Pattern Analysis and Machine Intelligence, IEEE Transactions on 33.5 (2011): 978-994. ↩
  5. Lin, Zhouchen, et al. “Fast convex optimization algorithms for exact recovery of a corrupted low-rank matrix.” Computational Advances in Multi-Sensor Adaptive Processing (CAMSAP) 61 (2009).
    [^cite3]: Liu, Guangcan, et al. “Robust recovery of subspace structures by low-rank representation.” Pattern Analysis and Machine Intelligence, IEEE Transactions on 35.1 (2013): 171-184. ↩

你可能感兴趣的:(文物保护-变化检测)