  The focus of recent research has shifted from merely improving the metrics
based performance of Deep Neural Networks (DNNs) to DNNs which are more
interpretable to humans. The field of eXplainable Artificial Intelligence (XAI)
has observed various techniques, including saliency-based and concept-based
approaches. These approaches explain the model's decisions in simple human
understandable terms called Concepts. Concepts are known to be the thinking
ground of humans}. Explanations in terms of concepts enable detecting spurious
correlations, inherent biases, or clever-hans. With the advent of concept-based
explanations, a range of concept representation methods and automatic concept
discovery algorithms have been introduced. Some recent works also use concepts
for model improvement in terms of interpretability and generalization. We
provide a systematic review and taxonomy of various concept representations and
their discovery algorithms in DNNs, specifically in vision. We also provide
details on concept-based model improvement literature marking the first
comprehensive survey of these methods.
