This is a fascinating question. Recently a lot of scholars from all disciplines have been working on this topic - philosophy, history, and psychology. Here are some thoughts on each of these topics.
Perception is what humans experience and internalize. All people perceive differently based on their experience, cultural background, and stage of life. All people have their own perspectives. In this sense, there is nothing called objective reality.
Memory is the process by which people store information. It is important to note that memory is not perfect and changes over time. We can even say that people interpret their memories. For example, we often say that people have selective memories.
Imagination is often linked to the free thinking and steam of consciousness. This an acceptable starting point, but when we realize that human perception and memory is imperfect and that we often fill in the gaps, the difference between imagination and perception and memory are closer than they first appear.