Help face swap with OpenCV

Is it possible to use OpenСV in vvvv gamma to replace a face from one photo to another and at least slightly even out the face tone and remove highlights if the light does not fall well on the face? I understand that there is a search for face points, but I do not quite understand how to combine this. I mean this option: GitHub - iperov/DeepFaceLive: Real-time face swap for PC streaming or video calls . Can you tell me how to implement this correctly and is it possible to do this using the ready-made OpenСV package?

I’d assume you’d be able to get to some result using the features available through VL.OpenCV.

It would probably take quite a while of tinkering to get some results, so unless someone has already done this and wants to share, no.

But if you take the first steps and show us where you get to and what you’re stuck with, we can probably point you in a direction.

I would assume that VL.MediaPipe Face Landmark Detection would have also potential to look into, as it’s much faster and better trained as the OpenCV face tracking.

Getting the face landmarks, as well as theor translation and rotation works, but applying those to an individual other face mesh (or also 3d mask/mesh) might be a demanding task.

Here’s a demo on the website:

Choose the Grid Renderer as Display Mode to see the grid.

Thank you! I’ll try to do as close as possible and if I have any questions, I’ll write.

This helped me a lot in understanding, I will most likely work in this direction.