Current methods for registering image regions perform well for simple transformations or large image regions. In this paper, we present a new method that is better able to handle small image regions as they deform with non-linear transformations. We introduce difference decompositon, a novel approach to solving the registration problem. The method is a generalization of previous methods and can better handle non-linear transforms. Although the methods are general, we focus on projective transformations and introduce piecewise-projective transformations for modeling the motions of non-planar objects. We conclude with examples from our prototype implementation.