I. Introduction
The shadow is a ubiquitous physical phenomenon in nature and is formed when direct illumination is blocked by an object. Shadows often degrade the performance of some computer vision tasks, such as segmentation, detection, recognition, and tracking [1], [2], [3], [4], [5], [6], [7], [8], [9], [10]. Shadow removal can be incorporated into these tasks to improve their robustness to direct illumination variations. Early approaches [11], [12], [13], [14], [15], [16], [17] determined illumination parameters to remove shadows by physically modeling them. These methods, however, highly rely on prior knowledge (such as illumination conditions and gradients [11], [18], [19]), and often work poorly in the umbra or penumbra regions.