From c00e9454085ef3e96b98a1ded81aad6a3b95d849 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期四, 31 七月 2025 22:20:08 +0800
Subject: [PATCH] add video matting
---
auto_media_publisher/modifiers/face_swap/face_analyser.py | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/auto_media_publisher/modifiers/face_swap/face_analyser.py b/auto_media_publisher/modifiers/face_swap/face_analyser.py
index 1c4538b..f6556f3 100644
--- a/auto_media_publisher/modifiers/face_swap/face_analyser.py
+++ b/auto_media_publisher/modifiers/face_swap/face_analyser.py
@@ -4,9 +4,7 @@
import numpy
from insightface.app import FaceAnalysis
from insightface.app.common import Face
-
-from gfpgan.utils import GFPGANer
-from .typing import Frame # 浣犲凡鏈夊畾涔�
+import numpy as np
SIMILAR_FACE_DISTANCE: float = 0.45 # < 0.4 鍚屼竴浜� 0.4 -0.6 澶ф鏄悓涓�浜� >0.6 涓嶆槸鍚屼竴涓�
@@ -25,14 +23,14 @@
else:
return 'cpu'
- def get_many_faces(self,frame: Frame) -> Optional[List[Face]]:
+ def get_many_faces(self,frame: np.ndarray) -> Optional[List[Face]]:
try:
return self._analyser.get(frame)
except Exception as e:
print(f"{e}")
return None
- def get_one_face(self,frame: Frame, position: int = 0) -> Optional[Face]:
+ def get_one_face(self,frame: np.ndarray, position: int = 0) -> Optional[Face]:
many_faces = self.get_many_faces(frame)
if many_faces:
try:
@@ -42,7 +40,7 @@
return None
- def find_similar_face(self,frame: Frame, reference_face: Face) -> Optional[Face]:
+ def find_similar_face(self,frame: np.ndarray, reference_face: Face) -> Optional[Face]:
many_faces = self.get_many_faces(frame)
if many_faces:
for face in many_faces:
--
Gitblit v1.9.1