What is this bilinear interpolation kernel in the paper PersonLab: Person Pose Estimation and Instance Segmentation with a Bottom-Up, Part-Based, Geometric Embedding Model page 6 equation (1)?

Here it is: $$ h_k(x) = \frac{1}{\pi R^2}\sum_{i=1:N}p_k(x_i)B(x_i+S_k(x_i)-x) $$ where:

  • $x$, $x_i$ are image coordinates (2-D vectors).
  • $h_k \colon \mathbb{R}^2 \mapsto \mathbb{R}$ localized heatmaps obtained by a sort of Hough voting.
  • $S_k \colon \mathbb{R}^2 \mapsto \mathbb{R}$ offest vectors
  • $p_k \colon \mathbb{R}^2 \mapsto \mathbb{R}^2$ heatmaps
  • $B(.)$ denotes the bilinear interpolation kernel.

This is a form of Hough voting: each point i in the image crop grid casts a vote with its estimate for the position of every keypoint, with the vote being weighted by the probability that it is in the disk of influence of the corresponding keypoint

I guess bilinear interpolation kernel is a class of function and not an actual one (I may be wrong).

But if it is bilinear why does it only take one argument in the equation?

Maybe this is bilinear 1D interpolation, interpolating between the coordinates of 2-D vector?

Otherwise this formula doesn't make sense.


1 Answer 1


When I read «bilinear interpolation kernel» in image processing, I assume that they mean bilinear image imterpolation: y(n+t) = (t-1)x(n) + tx(n+1)

If you decide upon a fixed uniform upsampling factor and standard dsp «zero-fill then lowpass filter» upsampling, the convolution kernel turns out to be samples of a triangular waveform.


  • $\begingroup$ I've added more details about the equation members to make more sense of it. $\endgroup$
    – Abitbol
    Commented Mar 12, 2020 at 9:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.