  Image colorization is the process of estimating RGB colors for grayscale
images or video frames to improve their aesthetic and perceptual quality. Deep
learning techniques for image colorization have progressed notably over the
last decade, calling the need for a systematic survey and benchmarking of these
techniques. This article presents a comprehensive survey of recent
state-of-the-art deep learning-based image colorization techniques, describing
their fundamental block architectures, inputs, optimizers, loss functions,
training protocols, and training data \textit{etc.} It categorizes the existing
colorization techniques into seven classes and discusses important factors
governing their performance, such as benchmark datasets and evaluation metrics.
We highlight the limitations of existing datasets and introduce a new dataset
specific to colorization. Using the existing datasets and our new one, we
perform an extensive experimental evaluation of existing image colorization
methods. Finally, we discuss the limitations of existing methods and recommend
possible solutions as well as future research directions for this rapidly
evolving topic of deep image colorization. Dataset and codes for evaluation are
publicly available at https://github.com/saeed-anwar/ColorSurvey
