【CV】图像去雾物理模型推导
经典大气散射模型描述如下:
\[I(x)=J(x)t(x)+A(1-t(x)),
\]
其中\(I(x)\)为带雾图像,\(J(x)\)为清晰图像,\(t(x)\)为透射率,\(A\)为全局全局背景光。通常定义
\[t(x)=e^{-\beta d(x)},
\]
其中\(\beta\)为大气散射系数,\(d(x)\)为相机到物体深度。
我们从体渲染角度来考虑带雾图像模型,参考nerf写法,简化的体渲染方程为:
\[I(\mathbf{r})=\int_n^fT(t)\sigma(\mathbf{r}(t))C(\mathbf{r}(t),\mathbf{d})\mathbf{d}t+T(f)I_0\\
T(t)=\exp(-\int_n^t\sigma(\mathbf{r}(p))\mathbf{d}p).
\]
其中\(\sigma\)为衰减率,\(C\)为辐射强度,\(I_0\)为背景光。
于是我们假定雾的衰减率为\(\sigma_0\),辐射强度为\(C_0\),物体深度为\(d(x)\),原式可以化为
\[T(t)=\exp(-\int_n^{d(x)}\sigma_0\mathbf{d}p)\exp(-\int_{d(x)}^t\sigma(\mathbf{r}(p))\mathbf{d}p)=e^{-(d(x)-n)\sigma_0}e^{-\int_{d(x)}^t\sigma(\mathbf{r}(p))\mathbf{d}p}
\]
令\(\hat{T}(t)=e^{-\int_{d(x)}^t\sigma(\mathbf{r}(p))\mathbf{d}p}\),于是有
\[\begin{aligned}
I(x)&=\int_n^{d(x)}T(t)\sigma_0C_0\mathbf{d}t+\int_{d(x)}^fT(t)\sigma(\mathbf{r}(t))C(\mathbf{r}(t),\mathbf{d})\mathbf{d}t+T(f)I_0 \\
&=\sigma_0C_0\int_n^{d(x)}e^{-(t-n)\sigma_0}\mathbf{d}t+e^{-(d(x)-n)\sigma_0}\int_{d(x)}^f\hat{T}(t)\sigma(\mathbf{r}(t))C(\mathbf{r}(t),\mathbf{d})\mathbf{d}t+e^{-(d(x)-n)\sigma_0}\hat{T}(f) \\
&=C_0\left[1-e^{-(d(x)-n)\sigma_0}\right]+e^{-(d(x)-n)\sigma_0}J(x)
\end{aligned}
\]
与原式形式基本一致。