PrashanthB461 commited on
Commit
aec75f4
·
verified ·
1 Parent(s): c2a3f79

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -26
app.py CHANGED
@@ -398,10 +398,6 @@ class AttendanceSystem:
398
  buffer_key = f"{x}_{y}_{w}_{h}"
399
  current_time = time.time()
400
 
401
- # Create a buffer key for this face location
402
- buffer_key = f"{x}_{y}_{w}_{h}"
403
- current_time = time.time()
404
-
405
  if self.known_face_embeddings:
406
  # Find best match using euclidean distance
407
  match_index, match_distance = self._find_best_match(embedding_array)
@@ -414,15 +410,6 @@ class AttendanceSystem:
414
  worker_name = self.known_face_names[match_index]
415
  color = (0, 255, 0) # Green for recognized
416
 
417
- # Use buffer for consistent detections
418
- if buffer_key not in self.face_recognition_buffer:
419
- self.face_recognition_buffer[buffer_key] = {'count': 1, 'last_time': current_time, 'worker_id': worker_id}
420
- else:
421
- self.face_recognition_buffer[buffer_key]['count'] += 1
422
- self.face_recognition_buffer[buffer_key]['last_time'] = current_time
423
-
424
- color = (0, 255, 0) # Green for recognized
425
-
426
  # Use buffer for consistent detections
427
  if buffer_key not in self.face_recognition_buffer:
428
  self.face_recognition_buffer[buffer_key] = {'count': 1, 'last_time': current_time, 'worker_id': worker_id}
@@ -447,6 +434,7 @@ class AttendanceSystem:
447
  color = (0, 165, 255) # Orange for potential new worker
448
  print(f" -> Attempting auto-registration...")
449
  new_worker = self._register_worker_auto(face_image, embedding)
 
450
  worker_id, worker_name = new_worker[0], new_worker[1]
451
  color = (0, 255, 0) # Change to green after successful registration
452
  if self.mark_attendance(worker_id, worker_name):
@@ -458,6 +446,7 @@ class AttendanceSystem:
458
  color = (0, 165, 255) # Orange for new worker
459
  print(" -> No known faces in database. Auto-registering...")
460
  new_worker = self._register_worker_auto(face_image, embedding)
 
461
  worker_id, worker_name = new_worker[0], new_worker[1]
462
  color = (0, 255, 0) # Change to green after successful registration
463
  if self.mark_attendance(worker_id, worker_name):
@@ -650,16 +639,4 @@ def create_interface():
650
  else:
651
  if attendance_system.last_processed_frame is not None:
652
  final_frame = cv2.cvtColor(attendance_system.last_processed_frame, cv2.COLOR_BGR2RGB)
653
- final_log_md = "\n".join(reversed(attendance_system.final_log)) or "Processing complete. No log entries."
654
- yield final_frame, final_log_md
655
- else:
656
- yield None, "System stopped. Go to 'Controls & Status' to start."
657
- time.sleep(0.1)
658
-
659
- demo.load(fn=update_ui_generator, outputs=[video_output, session_log_display])
660
- return demo
661
-
662
- if __name__ == "__main__":
663
- app = create_interface()
664
- app.queue()
665
- app.launch(server_name="0.0.0.0", server_port=7860, show_error=True, debug=True)
 
398
  buffer_key = f"{x}_{y}_{w}_{h}"
399
  current_time = time.time()
400
 
 
 
 
 
401
  if self.known_face_embeddings:
402
  # Find best match using euclidean distance
403
  match_index, match_distance = self._find_best_match(embedding_array)
 
410
  worker_name = self.known_face_names[match_index]
411
  color = (0, 255, 0) # Green for recognized
412
 
 
 
 
 
 
 
 
 
 
413
  # Use buffer for consistent detections
414
  if buffer_key not in self.face_recognition_buffer:
415
  self.face_recognition_buffer[buffer_key] = {'count': 1, 'last_time': current_time, 'worker_id': worker_id}
 
434
  color = (0, 165, 255) # Orange for potential new worker
435
  print(f" -> Attempting auto-registration...")
436
  new_worker = self._register_worker_auto(face_image, embedding)
437
+ if new_worker:
438
  worker_id, worker_name = new_worker[0], new_worker[1]
439
  color = (0, 255, 0) # Change to green after successful registration
440
  if self.mark_attendance(worker_id, worker_name):
 
446
  color = (0, 165, 255) # Orange for new worker
447
  print(" -> No known faces in database. Auto-registering...")
448
  new_worker = self._register_worker_auto(face_image, embedding)
449
+ if new_worker:
450
  worker_id, worker_name = new_worker[0], new_worker[1]
451
  color = (0, 255, 0) # Change to green after successful registration
452
  if self.mark_attendance(worker_id, worker_name):
 
639
  else:
640
  if attendance_system.last_processed_frame is not None:
641
  final_frame = cv2.cvtColor(attendance_system.last_processed_frame, cv2.COLOR_BGR2RGB)
642
+ final_log_md = "\n".join(reversed(attendance_system.final_log)) o