Automated Face Morphing | |||||||
|
|||||||
Directory | |||||||
Resources | |||||||
|
|||||||
Proposal | |||||||
With this project, I seek to automatically match features between two faces and then morph the faces using the feature points at control points. I use GrabCut to suppress features located outside of the person in the portrait. I then use Multi-Image matching modified to define corresponding points between less exact matches of feature points. Finally, I morph the two faces using the corresponding points. | |||||||
Algorithm | |||||||
| |||||||
Foreground Extraction | |||||||
Things I did not do that were in the GrabCut:
|
|||||||
![]() |
|||||||
Automatic correspondence | |||||||
Things I did not do that were in Brown, et. al:
Adjustments I made:
|
|||||||
![]() |
|||||||
Results | |||||||
My implementation of GrabCut worked well on the easiest cases (all of the class photos). Since I did not implement multiple iterations or user updates it does not work well on harder cases. Below is a failure case.
Automatic correspondence did not work as robustly as I had hoped, though I was pleasantly suprised by how well it worked on similar looking people. Below is the best result. Tristan and Tim looked quite similar the day we took the photos.
Face morphing worked as well as it ever has. |
|||||||
Conclusion and Future Work | |||||||
GrabCut was quite useful for suppressing features outside of the portraits, however, more work needs to be done so I can recover portraits from images with arbitrary backgrounds. Soft border matting probably won't be necessary because I am not using the mask for compositing, just feature suppression.
My assumptions about correspondece between faces was not entirely correct. Though I never expected luminance features to work well between Tom Hanks and Wesley Snipes, I did expect adding edge features to the luminance to help solve that problem. Perhaps more features are needed. I want this to work between two images without any foreknowledge so that it can morph between arbitrary foreground objects. Though, since I do most want this to work between faces, template matching features (eyes, nose, mouth, ears, etc.) may work better. Future Work
|