1. Introduction
Specular highlights are very common in the real world, but they are usually undesirable in photographs, since they can degrade the image quality. In daily life, users often want to achieve the specular-free image from an image. For example, specular highlights in facial or document images sweep away skin details or meaningful texture patterns which are very important to users. Removing specular highlights from a single image enables recovering visual content with better perceptibility. Moreover, it has many related applications such as recoloring [1], light source estimation [11], recognition of specular objects [18], and intrinsic image decomposition [31]. Thus, specular highlight removal is a long-standing and challenging problem in computer vision and computer graphics.