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

来源:互联网 发布:js制作简单的树形菜单 编辑:程序博客网 时间:2024/05/17 05:38

  • 背景介绍
  • 本文贡献
  • 实现方法
    • 数据采集
    • 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。
图1

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

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

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

图2

1. 数据采集

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

2. F的初始化

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

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

其中x~iy~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

ROC曲线


  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. ↩
1 0
原创粉丝点击