PROBLEM SOLVED: - Forehead and excess hair from source no longer appear - Face swap now targets ONLY core facial features - Your original forehead and hairline preserved PRECISE FACE MASKING: - create_precise_face_mask() using 106-point landmarks - Excludes forehead area (upper 25% of face) - Starts mask from eyebrow level, not forehead - Only swaps: eyes, nose, cheeks, chin, jaw CORE FEATURES TARGETED: - Eyes area (left and right eye regions) - Eyebrows (as top boundary, not forehead) - Nose and mouth areas - Cheeks and jawline - NO forehead or hair swapping EXPECTED RESULTS: - No more excess hair from source image - Your original forehead and hairline kept - Clean face swap of just facial features - Natural look when looking down or up - Perfect for different hair coverage between source/target TECHNICAL APPROACH: - Uses facial landmarks for precision - Convex hull masking for core features only - Soft Gaussian blur for natural edges - Fallback method if landmarks unavailable |
||
---|---|---|
.. | ||
__init__.py | ||
core.py | ||
face_enhancer.py | ||
face_swapper.py |