IAM

OPENSOURCEFAN STUDYING
STUDYINGCOMPUTERSCIENCEANDMATH COMPUTERSCIENCE

Check out the latest superpixel benchmark — Superpixel Benchmark (2016) — and let me know your opinion! @david_stutz
05thMAY2016

READING

S. Vedula, S. Baker, P. Rander, R. T. Collins, T. Kanade. Three-Dimensional Scene Flow. Transactions on Pattern Analysis and Machine Intelligence, 2005.

A fundamental assumption in optical flow is brightness constancy. Let $\boldsymbol{x} = (x, y, z)$ be a point on a moving surface and $\boldsymbol{u} = (u, v)$ its projection onto the image plane:

$u = \frac{P_1 (x, y, z, 1)^T}{P_3 (x, y, z, 1)^T}$(1)

$v = \frac{P_2 (x, y, z, 1)^T}{P_3 (x, y, z, 1)^T}$(2)

where $P = (P_1, P_2, P_3)^T \in \mathbb{R}^{3 \times 4}$ projection matrix. Optical flow is the change of $\boldsymbol{u}$ with respect to $t$: $\frac{\partial \boldsymbol{u}}{\partial t}$. Similarly, scene flow is the change of $\boldsymbol{x}$ with respect to $t$: $\frac{\partial \boldsymbol{x}}{\partial t}$.

The brightness constancy condition can be derived by considering the net radiance of light at point $(x, y, z)^T$ at time $t$ denoted by $\boldsymbol{r}(x, y, z; t)$. Assuming $\boldsymbol{x}$ to lie on a Lambertian surface with normal $\boldsymbol{n}(\boldsymbol{x};t)$, the registered intensity is proportional to the albedo $\rho(\boldsymbol{x};t)$:

$I(\boldsymbol{u}; t) = -K \rho(\boldsymbol{x}; t) \left(\boldsymbol{n}(\boldsymbol{x};t)^T \boldsymbol{r}(\boldsymbol{x};t)\right)$(3)

where $K$ depends on the camera (and $\boldsymbol{u}$ and $\boldsymbol{x}$ are related as in Equations (1) and (2)). Assuming that the albedo does not change, i.e. $\frac{\partial \rho}{\partial t} = 0$, the basis of optical flow algorithms is the time derivative of Equation (3):

$\frac{\partial I}{\partial t} = \nabla_\boldsymbol{u} I^T \frac{\partial \boldsymbol{u}}{\partial t} + \frac{\partial I}{\partial t} = - K \rho(\boldsymbol{x}) \frac{\partial}{\partial t}\left( \boldsymbol{n}(\boldsymbol{x}; t)^T \boldsymbol{r}(\boldsymbol{x};t)\right)$.

where $\nabla_\boldsymbol{u}$ denotes the spatial gradient. Vedula et al. mention two cases where $\frac{\partial}{\partial t}\left(\boldsymbol{n}(\boldsymbol{x}; t)^T \boldsymbol{r}(\boldsymbol{x};t)\right) = 0$ can be assumed:

  • the illumination is constant;
  • or the surface normal does not change suddenly

Then, the well-known brightness constancy assumption is

$\nabla_u I \frac{\partial \boldsymbol{u}}{\partial t} + \frac{\partial I}{\partial t} = 0$

where $\nabla_u I$ is the spatial gradient of $I$.

The relationship between the optical flow $\frac{\partial \boldsymbol{u}}{\partial t}$ and the scene flow $\frac{\partial \boldsymbol{x}}{\partial t}$ is given by the Jacobian matrix $\frac{\partial \boldsymbol{u}}{\partial \boldsymbol{x}}$:

$\frac{\partial \boldsymbol{u}}{\partial t} = \frac{\partial \boldsymbol{u}}{\partial \boldsymbol{x}} \frac{\partial \boldsymbol{x}}{\partial t}$.

In this sense, the brightness constancy condition can be rewritten as

$\nabla_u I \left(\frac{\partial \boldsymbol{u}}{\partial \boldsymbol{x}} \frac{\partial \boldsymbol{x}}{\partial t}\right) + \frac{\partial I}{\partial t} = 0.$(4)

Differentiating Equation (3) with respect to $\boldsymbol{x}$ yields:

$\nabla_\boldsymbol{u} \frac{\partial \boldsymbol{u}}{\partial \boldsymbol{x}} = - K \cdot \nabla_\boldsymbol{x} \left(\rho(\boldsymbol{n}(\boldsymbol{x};t)^T \boldsymbol{r}(\boldsymbol{x};t)\right)$.

As the right-hand side only depends on the scene (i.e. albedo, scene structure and illumination), $\frac{\partial \boldsymbol{x}}{\partial t}$ need to be constant in order for Equation (4) to hold. Therefore, for any number of points on the same surface, the corresponding copies of Equation (4) will be linearly depending. This mans that it is impossible to compute scene flow independently for points on the same surface.

What is your opinion on the summarized work? Or do you know related work that is of interest? Let me know your thoughts in the comments below or using the following platforms: