Brief introduction to steerable pyramids.
Note that this tutorial uses the implementation of the steerable pyramids found
in pyrtools, which is
built using numpy. For most uses, however, you probably want the version
implemented in
plenoptic, which is
built using pytorch
and thus has automatic differentiation (as well as being
GPU-compliant and thus, faster). The use is slightly different, but the ideas
covered here should serve you well (you can see plenoptic's
tutorial
for details on how to use its steerable pyramid implementation).
See requirements.txt
(you can install them with pip install -r requirements.txt
). You'll also need
jupyter if you wish to view the
notebook
- Brian Wandell's Foundations of Vision, chapter 8 (the rest of the book is helpful if you want to understand the basics of the visual system).
- Adelson et al, 1984, "Pyramid methods in image processing".
- Freeman and Adelson, 1991, "The Desig and Use of Steerable Filters"
- Simoncelli and Freeman, 1995, "The Steerable Pyramid: A Flexible Architecture for Multi-Scale Derivative Computation"
- Notes from David Heeger on steerable filters
- Notes from Eero Simoncelli on the Steerable Pyramid
- Lectures and course notes from the NYU Mathematical Tools for Data Science course, the "Beyond Fourier" lectures.