Skip to content

Commit

Permalink
Merge pull request #11 from Gemmstone/owner-development
Browse files Browse the repository at this point in the history
Owner development
  • Loading branch information
Gemmstone authored Aug 13, 2024
2 parents 0cab3e1 + 3ca2645 commit ce4457f
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 29 deletions.
2 changes: 1 addition & 1 deletion Core/Settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -967,7 +967,7 @@ def update_(self, force_hide=False):
title = f"{filename}"

thumbnail_path = os.path.join(
os.path.dirname(route), "thumbs", os.path.basename(
self.res_dir, os.path.dirname(route), "thumbs", os.path.basename(
route.replace(".gif", ".png").replace(".webp", ".png")
)
) if route != "General Settings" else None
Expand Down
3 changes: 2 additions & 1 deletion Core/ShortcutsManager.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from netifaces import AF_INET, ifaddresses, interfaces
from websockets.exceptions import ConnectionClosedOK, ConnectionClosedError
from twitchAPI.type import AuthScope, ChatEvent
from Core.faceTracking import process_frame
from Core.faceTracking import process_frame, load_data_face_tracking
from urllib.parse import urlparse, unquote
from PyQt6 import QtWidgets, QtCore, uic
from PyQt6.QtGui import QIcon, QImage
Expand Down Expand Up @@ -348,6 +348,7 @@ def run(self):
if self.cap is not None:
self.cap.release()
if self.tracking_mode == 'face':
load_data_face_tracking()
self.cap = cv2.VideoCapture(self.camera if self.camera is not None else 0)

while self._running:
Expand Down
40 changes: 26 additions & 14 deletions Core/faceTracking.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,36 @@
Modifications and additional functionalities have been added to suit the specific needs of this project.
"""

warnings.filterwarnings("ignore", category=UserWarning)
model = None
face_mesh = None
buffer_size = None
pitch_buffer = None
yaw_buffer = None
roll_buffer = None
cols = None

# Load the model
model = pickle.load(open('Core/model.pkl', 'rb'))

# Define columns for DataFrame
cols = []
for pos in ['nose_', 'forehead_', 'left_eye_', 'mouth_left_', 'chin_', 'right_eye_', 'mouth_right_']:
for dim in ('x', 'y'):
cols.append(pos + dim)
def load_data_face_tracking():
global model, face_mesh, buffer_size, pitch_buffer, yaw_buffer, roll_buffer, cols

face_mesh = mp.solutions.face_mesh.FaceMesh(min_detection_confidence=0.5, min_tracking_confidence=0.5)
warnings.filterwarnings("ignore", category=UserWarning)

# Initialize buffers for smoothing
buffer_size = 3 # Adjust the buffer size as needed
pitch_buffer = deque(maxlen=buffer_size)
yaw_buffer = deque(maxlen=buffer_size)
roll_buffer = deque(maxlen=buffer_size)
# Load the model
model = pickle.load(open('Core/model.pkl', 'rb'))

# Define columns for DataFrame
cols = []
for pos in ['nose_', 'forehead_', 'left_eye_', 'mouth_left_', 'chin_', 'right_eye_', 'mouth_right_']:
for dim in ('x', 'y'):
cols.append(pos + dim)

face_mesh = mp.solutions.face_mesh.FaceMesh(min_detection_confidence=0.5, min_tracking_confidence=0.5)

# Initialize buffers for smoothing
buffer_size = 3 # Adjust the buffer size as needed
pitch_buffer = deque(maxlen=buffer_size)
yaw_buffer = deque(maxlen=buffer_size)
roll_buffer = deque(maxlen=buffer_size)


def extract_features(img, face_mesh):
Expand Down
22 changes: 12 additions & 10 deletions Data/current.json
Original file line number Diff line number Diff line change
@@ -1,30 +1,32 @@
[
"Assets/Chereverie/eyebrows/eyebrows_003.png",
"Assets/Chereverie/eyebrows/eyebrows_004.png",
"Assets/Chereverie/left eye/left eye_001.png",
"Assets/Chereverie/left eye/left eye_058.png",
"Assets/Chereverie/mouth/[mouth]_007.PNG",
"Assets/Chereverie/mouth/[mouth]_009.PNG",
"Assets/Chereverie/mouth/[mouth]_013.PNG",
"Assets/Chereverie/right eye/right eye_001.png",
"Assets/Chereverie/right eye/right eye_058.png",
"Assets/Chereverie/ahoge/ahoge_027.png",
"Assets/Chereverie/bangs/bangs_171.png",
"Assets/Chereverie/body/body_068.png",
"Assets/Chereverie/Controllers/hands_017.png",
"Assets/Chereverie/eyebrows/eyebrows_003.png",
"Assets/Chereverie/eyebrows/eyebrows_004.png",
"Assets/Chereverie/face assc/face assc_036.png",
"Assets/Chereverie/freckles/freckles_001.png",
"Assets/Chereverie/freckles/freckles_002.png",
"Assets/Chereverie/glasses/glasses_064.png",
"Assets/Chereverie/hairback/hairback_189.png",
"Assets/Chereverie/hairbows/hairbows_360.png",
"Assets/Chereverie/left eye/left eye_001.png",
"Assets/Chereverie/left eye/left eye_058.png",
"Assets/Chereverie/mouth/[mouth]_007.PNG",
"Assets/Chereverie/mouth/[mouth]_009.PNG",
"Assets/Chereverie/mouth/[mouth]_013.PNG",
"Assets/Chereverie/nose/[nose]_012.PNG",
"Assets/Chereverie/overshirts/overshirts_109.png",
"Assets/Chereverie/ponytails/ponytails_143.png",
"Assets/Chereverie/ponytails/ponytails_144.png",
"Assets/Chereverie/right eye/right eye_001.png",
"Assets/Chereverie/right eye/right eye_058.png",
"Assets/Chereverie/short bangs/short bangs_099.png",
"Assets/Chereverie/side pieces/side pieces_017.png",
"Assets/Chereverie/side pieces/side pieces_018.png",
"Assets/Chereverie/undershirt style/undershirt style_040.png",
"Assets/Chereverie/undershirts/undershirts_136.png"
"Assets/Chereverie/undershirts/undershirts_136.png",
"Assets/Chereverie/wings/wings_011.png",
"Assets/Chereverie/wings/wings_012.png"
]
2 changes: 1 addition & 1 deletion Data/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"volume threshold": 11,
"volume threshold": 17,
"scream threshold": 65,
"delay threshold": 4,
"microphone selection": 6,
Expand Down
5 changes: 3 additions & 2 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2343,7 +2343,7 @@ def image_generator(self, output_name, method=1, savingModel=0, custom_file_list
size_counter = Counter()

for file_data in files:
file_route = file_data["route"]
file_route = os.path.join(res_dir, file_data["route"])
rotation = file_data["rotation"]
posZ = file_data["posZ"]
posX = file_data["posX"]
Expand Down Expand Up @@ -2390,7 +2390,8 @@ def image_generator(self, output_name, method=1, savingModel=0, custom_file_list

elif method == 2:
for file_data in files:
file_route = file_data["route"]
file_route = os.path.join(res_dir, file_data["route"])
print(file_route)
rotation = file_data["rotation"]
posZ = file_data["posZ"]
posX = file_data["posX"]
Expand Down

0 comments on commit ce4457f

Please sign in to comment.