MogensR commited on
Commit
7060451
·
1 Parent(s): 7fef383

Update two_stage_processor.py

Browse files
Files changed (1) hide show
  1. two_stage_processor.py +8 -4
two_stage_processor.py CHANGED
@@ -11,6 +11,7 @@
11
  import pickle
12
  import logging
13
  from pathlib import Path
 
14
 
15
  logger = logging.getLogger(__name__)
16
 
@@ -83,8 +84,11 @@ def _prog(pct: float, desc: str):
83
 
84
  # Save masks for potential reuse
85
  mask_file = self.mask_cache_dir / f"{Path(output_path).stem}_masks.pkl"
86
- with open(mask_file, 'wb') as f:
87
- pickle.dump(masks, f)
 
 
 
88
 
89
  _prog(1.0, "Stage 1 complete: Green screen created")
90
  return output_path, f"Green screen created: {frame_count} frames"
@@ -209,6 +213,7 @@ def _extract_person_mask(self, frame):
209
  def _refine_mask(self, frame, mask):
210
  """Refine mask using MatAnyone if available"""
211
  if self.matanyone_model is None:
 
212
  return mask
213
 
214
  try:
@@ -216,6 +221,7 @@ def _refine_mask(self, frame, mask):
216
  # This would depend on your MatAnyone implementation
217
  return mask
218
  except:
 
219
  return mask
220
 
221
  def _apply_greenscreen_hard(self, frame, mask, green_bg):
@@ -277,8 +283,6 @@ def process_full_pipeline(self, video_path, background, final_output,
277
  """
278
  Run the complete two-stage pipeline
279
  """
280
- import tempfile
281
-
282
  # Stage 1: Create green screen
283
  greenscreen_path = tempfile.mktemp(suffix='_greenscreen.mp4')
284
  gs_result, gs_msg = self.stage1_extract_to_greenscreen(
 
11
  import pickle
12
  import logging
13
  from pathlib import Path
14
+ import tempfile
15
 
16
  logger = logging.getLogger(__name__)
17
 
 
84
 
85
  # Save masks for potential reuse
86
  mask_file = self.mask_cache_dir / f"{Path(output_path).stem}_masks.pkl"
87
+ try:
88
+ with open(mask_file, 'wb') as f:
89
+ pickle.dump(masks, f)
90
+ except Exception as e:
91
+ logger.warning(f"Failed to save masks: {e}")
92
 
93
  _prog(1.0, "Stage 1 complete: Green screen created")
94
  return output_path, f"Green screen created: {frame_count} frames"
 
213
  def _refine_mask(self, frame, mask):
214
  """Refine mask using MatAnyone if available"""
215
  if self.matanyone_model is None:
216
+ logger.warning("MatAnyone not available, using original mask")
217
  return mask
218
 
219
  try:
 
221
  # This would depend on your MatAnyone implementation
222
  return mask
223
  except:
224
+ logger.warning("MatAnyone refinement failed, using original mask")
225
  return mask
226
 
227
  def _apply_greenscreen_hard(self, frame, mask, green_bg):
 
283
  """
284
  Run the complete two-stage pipeline
285
  """
 
 
286
  # Stage 1: Create green screen
287
  greenscreen_path = tempfile.mktemp(suffix='_greenscreen.mp4')
288
  gs_result, gs_msg = self.stage1_extract_to_greenscreen(