refactor: remove face embedding architecture - single Qdrant _faces collection
- Delete FaceEmbeddingDb module (face_embedding_db.rs) - Stub match_faces_iterative, generate_seed_embeddings, tmdb_match_handler - Remove sync_trace_embeddings, populate_face_embeddings_to_qdrant - Remove embedding from face.json output (face_processor.py) - Remove embedding from PG UPDATE (store_traced_faces.py) - Remove workspace traces staging (checkin.rs, qdrant_workspace.rs) - Fix tests: add pose_angle to Face, hand_nodes to TkgResult Disabled functions (need reimplement with _faces): - match_faces_iterative (identity agent) - generate_seed_embeddings (TMDb seeds) - tmdb_match_handler (TMDb matching) - cluster_face_embeddings, search_similar_faces - merge_traces_within_cuts
This commit is contained in:
@@ -225,8 +225,9 @@ class FaceProcessorVision:
|
||||
if face_img.size == 0:
|
||||
continue
|
||||
|
||||
# CoreML embedding
|
||||
emb = self.extract_face_embedding(face_img)
|
||||
# CoreML embedding - TODO: push to Qdrant _faces collection instead
|
||||
# emb = self.extract_face_embedding(face_img)
|
||||
emb = None
|
||||
if emb is not None:
|
||||
embed_count += 1
|
||||
|
||||
@@ -240,7 +241,6 @@ class FaceProcessorVision:
|
||||
faces.append({
|
||||
"x": x, "y": y, "width": w, "height": h,
|
||||
"confidence": face.get("confidence", 0.5),
|
||||
"embedding": emb,
|
||||
"pose_angle": {
|
||||
"angle": pose_angle,
|
||||
"roll": pose_info.get("roll", 0),
|
||||
@@ -262,20 +262,17 @@ class FaceProcessorVision:
|
||||
|
||||
if len(face_data["frames"]) % 100 == 0:
|
||||
elapsed = time.time() - t0
|
||||
print(f"[FACE_V2] {len(face_data['frames'])} frames, {embed_count} embeddings, {elapsed:.0f}s")
|
||||
print(f"[FACE_V2] {len(face_data['frames'])} frames, {elapsed:.0f}s")
|
||||
if self.publisher:
|
||||
pct = int(len(face_data["frames"]) * 100 / max(len(frames), 1))
|
||||
if pct > last_pct:
|
||||
last_pct = pct
|
||||
self.publisher.progress("face", len(face_data["frames"]), len(frames),
|
||||
f"{embed_count} faces", embed_count, "faces")
|
||||
"", 0, "faces")
|
||||
|
||||
self.video.release()
|
||||
|
||||
# Finalize
|
||||
face_data["metadata"]["status"] = "completed"
|
||||
face_data["metadata"]["total_embeddings"] = embed_count
|
||||
face_data["metadata"]["embedder"] = "coreml_facenet"
|
||||
|
||||
# Convert dict frames to list for Rust FaceResult format
|
||||
frames_list = []
|
||||
|
||||
Reference in New Issue
Block a user