CRF message passing as convolution operation I was reading the paper _Efficient Inference in Fully Connected CRFs with Gaussian Edge Potentials (Philipp Krähenbül and Vladen Koltun, in Proceedings of 25th Annual Conference on Neural Information Processing Systems (NIPS), 2011 pdf), and I didn't understand this equation (eq 5) in the paper:

I understand the first equation, but not the second one. If $k(f_i,f_j) = e^{-1*(f_i-f_j)^{2}}$, then $k(f_i,f_j)$ would return a scalar value between 0 and 1 ; 0 if $f_i$ and $f_j$ are far apart in the feature space, 1 otherwise. So, $k(f_i,f_j)Q_j$ adds a fraction of $Q_j$ to $Q_i$ . The first equation is clear. I don't understand how this leads to the 2nd equation. In the 2nd equation, the Gaussian kernel is now over $Q$  instead of being over $f_i,f_j$  and then multiplied by $f_i$. Where is the $f_j$? Can someone explain how the 2nd equation is derived from the first one?
$G \otimes Q$ would again return a value between 0 and 1, which is multiplied by $f_i$ (which is an n-dimensional feature vector). So the result of $(G \otimes Q)(f_i)$ would be an n-dimensional vector, and we subtract $Q_i$ (a scalar) from that. Am I misunderstanding something here?
I read the article. The meaning of the equation:
$$[G\otimes Q](f_i)$$ stand for $G$ convolution with $Q$ in the feature point $f_i$ and not multiplied by $f_i$. 

The $f_j$ is hidden inside the convolution operation. 

The actual operation is done using cross bilateral filter.
You can see more information on the Project site of the article.
You can also find a source code in this site.