<p>Tricky question. In my experience is better to just look for math resources on classic upsampling method, since deep learning papers and books tend to give them for granted, or not something related to AI (they are after all analytic methods). Another reason is probably that the math is not that hard, and already the wikipedia pages offer a good description of the basic methods
(<a href="https://en.wikipedia.org/wiki/Nearest-neighbor_interpolation" rel="nofollow noreferrer">nearest-neighbours</a>, <a href="https://en.wikipedia.org/wiki/Bilinear_interpolation" rel="nofollow noreferrer">bilinear interpolation</a>, <a href="https://en.wikipedia.org/wiki/Bicubic_interpolation" rel="nofollow noreferrer">bicubic interpolation</a>).</p>
<p>For some others interesting and more advance techniques I found useful this paper: <a href="https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.91.8726&amp;rep=rep1&amp;type=pdf" rel="nofollow noreferrer">Mathematical Techniques for Image Interpolation</a>
even though it's not exhaustive since it doesn't mention well known alternatives to bilinear or bicubic upsampling like <a href="https://en.wikipedia.org/wiki/Lanczos_resampling" rel="nofollow noreferrer">Lanczos</a>, so for completeness I would read also <a href="https://www.mdpi.com/2073-431X/8/2/30/htm" rel="nofollow noreferrer">A Study of Image Upsampling and Downsampling Filters
</a></p>
<p>Regarding the deep learning part, it's more valuable to search for papers that studies not the upsampling methods themselves, but the artifact they introduce, especially related to tasks like super-resolution. As a starting point I would dig into this <a href="https://distill.pub/2016/deconv-checkerboard/" rel="nofollow noreferrer">blogpost</a> and its references.</p>

CC BY-SA 4.0
2021-09-17T13:45:33.303Z
2021-09-17T13:45:33.303Z
Edoardo Guerriero
<p>In deep learning, we encounter the <strong>upsample</strong> blocks several times, especially when we deal with images.</p>
<p>Consider the following statements from description regarding <a href="https://pytorch.org/docs/stable/generated/torch.nn.Upsample.html" rel="nofollow noreferrer">UPSAMPLE</a> in PyTorch</p>
<blockquote>
<p>The algorithms available for upsampling are <strong>nearest neighbor and
linear, bilinear, bicubic and trilinear</strong> for 3D, 4D and 5D input
Tensor, respectively.</p>
</blockquote>
<p>Where can I read about these upsampling techniques in detail, especially in the context of deep learning?</p>

CC BY-SA 4.0
2021-09-17T13:33:42.230Z
They are just standard upsampling or *interpolation* techniques in computer graphics. Have you tried Google? For example, nearest-neighbour interpolation just copies the same pixel a bunch of times.
Criticize SE actions means ban
CC BY-SA 4.0
2021-09-17T13:35:32.803Z
I tried googling for upsampling techniques and found no single material that contains the information. @user253751
hanugm
CC BY-SA 4.0
2021-09-17T13:36:05.100Z
really? https://en.wikipedia.org/wiki/Nearest-neighbor_interpolation
Criticize SE actions means ban
CC BY-SA 4.0
2021-09-17T13:37:05.803Z
@user253751 It contains only one right? I want all of them together like a chapter or unit. Is there no such material?
hanugm
CC BY-SA 4.0
2021-09-17T13:58:16.270Z
https://en.wikipedia.org/wiki/Interpolation ?
Criticize SE actions means ban
CC BY-SA 4.0
2021-09-18T01:31:05.563Z
https://graphics.stanford.edu/courses/cs205a-13-fall/assets/notes/chapter11.pdf
hanugm
CC BY-SA 4.0
2021-09-18T01:31:41.047Z
@user253751 yeah, apt for intermediates.
hanugm
CC BY-SA 4.0
2021-09-18T01:38:41.383Z
https://www.ijert.org/research/a-comparison-study-on-different-interpolation-methods-based-on-satellite-images-IJERTV2IS60011.pdf
hanugm
CC BY-SA 4.0
2021-09-18T01:47:46.450Z
https://sisu.ut.ee/sites/default/files/imageprocessing/files/interpolation3.pdf
hanugm
<deep-learning><reference-request><upsampling>
Where can I read about upsampling methods in detail?
hanugm
# Where can I read about upsampling methods in detail?

(Asked by: username_0 on 2021-09-17)

In deep learning, we encounter the **upsample** blocks several times, especially when we deal with images.

Consider the following statements from description regarding [UPSAMPLE](https://pytorch.org/docs/stable/generated/torch.nn.Upsample.html) in PyTorch

> The algorithms available for upsampling are **nearest neighbor and
> linear, bilinear, bicubic and trilinear** for 3D, 4D and 5D input
> Tensor, respectively.

Where can I read about these upsampling techniques in detail, especially in the context of deep learning?

**Tags:** deep-learning, reference-request, upsampling

> **Comments:**
> **username_1**: They are just standard upsampling or *interpolation* techniques in computer graphics. Have you tried Google? For example, nearest-neighbour interpolation just copies the same pixel a bunch of times.  
> **username_0**: I tried googling for upsampling techniques and found no single material that contains the information. @user253751  
> **username_1**: really? https://en.wikipedia.org/wiki/Nearest-neighbor_interpolation  
> **username_0**: @user253751 It contains only one right? I want all of them together like a chapter or unit. Is there no such material?  
> **username_1**: https://en.wikipedia.org/wiki/Interpolation ?  
> **username_0**: https://graphics.stanford.edu/courses/cs205a-13-fall/assets/notes/chapter11.pdf  
> **username_0**: @user253751 yeah, apt for intermediates.  
> **username_0**: https://www.ijert.org/research/a-comparison-study-on-different-interpolation-methods-based-on-satellite-images-IJERTV2IS60011.pdf  
> **username_0**: https://sisu.ut.ee/sites/default/files/imageprocessing/files/interpolation3.pdf  

---

## 1 answers

### Answer by username_2 on 2021-09-17. Score: 2

Tricky question. In my experience is better to just look for math resources on classic upsampling method, since deep learning papers and books tend to give them for granted, or not something related to AI (they are after all analytic methods). Another reason is probably that the math is not that hard, and already the wikipedia pages offer a good description of the basic methods
([nearest-neighbours](https://en.wikipedia.org/wiki/Nearest-neighbor_interpolation), [bilinear interpolation](https://en.wikipedia.org/wiki/Bilinear_interpolation), [bicubic interpolation](https://en.wikipedia.org/wiki/Bicubic_interpolation)).

For some others interesting and more advance techniques I found useful this paper: [Mathematical Techniques for Image Interpolation](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.91.8726&rep=rep1&type=pdf)
even though it's not exhaustive since it doesn't mention well known alternatives to bilinear or bicubic upsampling like [Lanczos](https://en.wikipedia.org/wiki/Lanczos_resampling), so for completeness I would read also [A Study of Image Upsampling and Downsampling Filters](https://www.mdpi.com/2073-431X/8/2/30/htm)

Regarding the deep learning part, it's more valuable to search for papers that studies not the upsampling methods themselves, but the artifact they introduce, especially related to tasks like super-resolution. As a starting point I would dig into this [blogpost](https://distill.pub/2016/deconv-checkerboard/) and its references.


---

