Generate new images based on a dataset of images
Yes, there are plenty ways to do this, what you basically want is to interpolate between the two. 

This is current state-of-the-art for solving problems like yours: https://github.com/carpedm20/BEGAN-tensorflow

Also keep an eye out for my question here: 2D Image-based Avatar Animation With Expressions / Image-To-Image Translation

If I end up using the ML approach, you could very well also use it with tiles instead of faces and be able to adjust the likeness. I will link to my project in my question.