1
0
Fork 0
mirror of https://github.com/deepfakes/faceswap synced 2025-06-06 17:45:56 -04:00

Training preview: Correctly display blur/kernel amount on mask

This commit is contained in:
torzdf 2024-06-02 16:25:30 +01:00
parent 1f4fcff5dd
commit c8652ecaac

View file

@ -672,24 +672,23 @@ class _Samples(): # pylint:disable=too-few-public-methods
list
List of :class:`numpy.ndarray` faces with the opaque mask layer applied
"""
orig_masks = 1 - np.rint(masks)
orig_masks = 1. - masks
masks3: list[np.ndarray] | np.ndarray = []
if faces[-1].shape[-1] == 4: # Mask contained in alpha channel of predictions
pred_masks = [1 - np.rint(face[..., -1])[..., None] for face in faces[-2:]]
pred_masks = [1. - face[..., -1][..., None] for face in faces[-2:]]
faces[-2:] = [face[..., :-1] for face in faces[-2:]]
masks3 = [orig_masks, *pred_masks]
else:
masks3 = np.repeat(np.expand_dims(orig_masks, axis=0), 3, axis=0)
retval: list[np.ndarray] = []
alpha = 1.0 - self._mask_opacity
for previews, compiled_masks in zip(faces, masks3):
overlays = previews.copy()
overlays[np.where((compiled_masks == 1.).all(axis=3))] = self._mask_color
retval.append(np.array([cv2.addWeighted(img, alpha, ovl, self._mask_opacity, 0)
for img, ovl in zip(previews, overlays)]))
overlays3 = np.ones_like(faces) * self._mask_color
for previews, overlays, compiled_masks in zip(faces, overlays3, masks3):
compiled_masks *= self._mask_opacity
overlays *= compiled_masks
previews *= (1. - compiled_masks)
retval.append(previews + overlays)
logger.debug("masked shapes: %s", [faces.shape for faces in retval])
return retval