【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} \]

与原式形式基本一致。

posted @ 2023-10-14 16:28  Edlinf  阅读(73)  评论(0编辑  收藏  举报