From 74bbced307848a610fc4584781ff6136d06f4d6a Mon Sep 17 00:00:00 2001 From: Barzan Hayati Date: Mon, 22 Sep 2025 16:56:48 +0000 Subject: [PATCH] Add face detection models with git lfs --- .gitattributes | 3 + .gitignore | 2 + .../face_allignment/1/model.onnx | 3 + .../face_allignment/1/model.plan | 3 + .../face_allignment/config.pbtxt | 3 + face_post_process/face_embeding/1/model.onnx | 3 + face_post_process/face_embeding/1/model.plan | 3 + face_post_process/face_embeding/config.pbtxt | 3 + .../face_recognition/config.pbtxt | 3 + face_post_process/face_warp/1/model.py | 203 ++++++++++++++++++ face_post_process/face_warp/config.pbtxt | 3 + face_post_process/face_warp/requirements.txt | 2 + face_post_process/shahab.jpg | Bin 0 -> 118613 bytes face_post_process/test.py | 29 +++ face_post_process/test2.py | 51 +++++ 15 files changed, 314 insertions(+) create mode 100644 .gitattributes create mode 100644 face_post_process/face_allignment/1/model.onnx create mode 100644 face_post_process/face_allignment/1/model.plan create mode 100644 face_post_process/face_allignment/config.pbtxt create mode 100644 face_post_process/face_embeding/1/model.onnx create mode 100644 face_post_process/face_embeding/1/model.plan create mode 100644 face_post_process/face_embeding/config.pbtxt create mode 100644 face_post_process/face_recognition/config.pbtxt create mode 100644 face_post_process/face_warp/1/model.py create mode 100644 face_post_process/face_warp/config.pbtxt create mode 100644 face_post_process/face_warp/requirements.txt create mode 100644 face_post_process/shahab.jpg create mode 100644 face_post_process/test.py create mode 100644 face_post_process/test2.py diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..746120a --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +*.onnx filter=lfs diff=lfs merge=lfs -text +*.plan filter=lfs diff=lfs merge=lfs -text +*.pbtxt filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index ee31109..4093d40 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ build* CMakeLists.txt.user +__pycache__/ +*.pyc diff --git a/face_post_process/face_allignment/1/model.onnx b/face_post_process/face_allignment/1/model.onnx new file mode 100644 index 0000000..7102624 --- /dev/null +++ b/face_post_process/face_allignment/1/model.onnx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c72127f2cc0b17f7d2d8626ecc2a544aa0a138fe138d082ab7c4c217d74970f6 +size 109446440 diff --git a/face_post_process/face_allignment/1/model.plan b/face_post_process/face_allignment/1/model.plan new file mode 100644 index 0000000..2365899 --- /dev/null +++ b/face_post_process/face_allignment/1/model.plan @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:790c8fc9dfb39f3552eb4e76075e48ff0b92d9e79be9ebdfc6d70c686e4aeda3 +size 59224540 diff --git a/face_post_process/face_allignment/config.pbtxt b/face_post_process/face_allignment/config.pbtxt new file mode 100644 index 0000000..aea0820 --- /dev/null +++ b/face_post_process/face_allignment/config.pbtxt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b09a4985a89fb0a6ecc4ffbd30beb91013101315e68674f87da6a659aa5919e8 +size 500 diff --git a/face_post_process/face_embeding/1/model.onnx b/face_post_process/face_embeding/1/model.onnx new file mode 100644 index 0000000..baf56d5 --- /dev/null +++ b/face_post_process/face_embeding/1/model.onnx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91f5fb93931901456c0d79d87def8b2dbdc7c0d4343122d22faecd6b9364be93 +size 260718443 diff --git a/face_post_process/face_embeding/1/model.plan b/face_post_process/face_embeding/1/model.plan new file mode 100644 index 0000000..fa8cc03 --- /dev/null +++ b/face_post_process/face_embeding/1/model.plan @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ade14618a895be9551c43403707ced5a2a8e3fa579cc73ba7647b1da254faea1 +size 414621820 diff --git a/face_post_process/face_embeding/config.pbtxt b/face_post_process/face_embeding/config.pbtxt new file mode 100644 index 0000000..546115a --- /dev/null +++ b/face_post_process/face_embeding/config.pbtxt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e38a5af547dce4a2ac7563cc0c6a2407629018b6641153150064fd60e23b300e +size 438 diff --git a/face_post_process/face_recognition/config.pbtxt b/face_post_process/face_recognition/config.pbtxt new file mode 100644 index 0000000..fc5eaed --- /dev/null +++ b/face_post_process/face_recognition/config.pbtxt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b9788dd18519fc05b46c07cedcd8642e848f31517314b512b4447917190c30a +size 986 diff --git a/face_post_process/face_warp/1/model.py b/face_post_process/face_warp/1/model.py new file mode 100644 index 0000000..a9bb759 --- /dev/null +++ b/face_post_process/face_warp/1/model.py @@ -0,0 +1,203 @@ +# -*- coding: utf-8 -*- +""" +Triton Python Backend: Face Warp / Alignment + +This model warps each input face crop from 160x160 to a canonical 112x112 +aligned face using 5 facial keypoints. Intended to bridge your +`face_allignment` → `face_embeding` pipeline. + +Inputs (batched): + input : FP32 [N,3,160,160] NCHW face crops. + landmarks : FP32 [N,5,2] pixel coords (x,y) in 160x160 image space. + scale : FP32 [N] or [1] (optional) per-sample zoom; >1 zooms in. + +Outputs: + output : FP32 [N,3,112,112] NCHW aligned faces. + # matrix : FP32 [N,2,3] optional affine matrices (commented out below). + +Notes: + * Color order is preserved; no channel swapping. + * Value range is preserved; if your downstream embedding model expects + normalization (mean/std), perform that there (or in an ensemble step). + * The canonical 5-point template is scaled from a 96x112 source template + to 112x112 output width/height; matches typical ArcFace preprocessing. +""" + +import os +import json +import numpy as np +import cv2 + +import triton_python_backend_utils as pb_utils + + +# --------------------------------------------------------------------------- # +# Utility: build canonical destination template once and reuse # +# --------------------------------------------------------------------------- # +def _canonical_template(output_w: int, output_h: int, scale_factor: float) -> np.ndarray: + """ + Compute canonical destination 5-point template scaled to the desired output + size and zoomed by `scale_factor`. + + Returns: + (5,2) float32 array of (x,y) coords in output image space. + """ + # Canonical template as provided (nominal crop 96x112). + # Order: left_eye, right_eye, nose, left_mouth, right_mouth + reference_points = np.array( + [ + [30.2946, 51.6963], + [65.5318, 51.5014], + [48.0252, 71.7366], + [33.5493, 92.3655], + [62.7299, 92.2041], + ], + dtype=np.float32, + ) + default_crop_size = np.array([96.0, 112.0], dtype=np.float32) # (w, h) + + # Scale to target output size + scale_xy = np.array([output_w, output_h], dtype=np.float32) / default_crop_size + dst_kps = reference_points * scale_xy + + # Apply zoom about the center + center = dst_kps.mean(axis=0, keepdims=True) + dst_kps = (dst_kps - center) * scale_factor + center + return dst_kps.astype(np.float32) + + +def _estimate_affine(src_kps: np.ndarray, dst_kps: np.ndarray) -> np.ndarray: + """ + Estimate 2x3 affine transformation mapping src_kps -> dst_kps. + + Uses cv2.estimateAffinePartial2D with LMEDS for robustness. + """ + # cv2 expects shape (N,2). Ensure contiguous float32. + M, _ = cv2.estimateAffinePartial2D(src_kps, dst_kps, method=cv2.LMEDS) + if M is None: + # Fallback: identity with translation to keep image valid. + M = np.array([[1.0, 0.0, 0.0], + [0.0, 1.0, 0.0]], dtype=np.float32) + return M.astype(np.float32) + + +def _warp_image_nchw(img_chw: np.ndarray, M: np.ndarray, out_w: int, out_h: int) -> np.ndarray: + """ + Warp a single NCHW FP32 image using affine matrix M into out size W,H. + + Args: + img_chw: (3,H,W) float32 + M: (2,3) float32 + out_w, out_h: ints + + Returns: + (3,out_h,out_w) float32 aligned image. + """ + # Convert to HWC for cv2.warpAffine (expects HxW xC, BGR/RGB agnostic) + img_hwc = np.transpose(img_chw, (1, 2, 0)) # H,W,C + warped = cv2.warpAffine( + img_hwc, + M, + dsize=(out_w, out_h), # (width, height) + flags=cv2.INTER_CUBIC, + borderMode=cv2.BORDER_REPLICATE, + ) + # Back to NCHW + warped_chw = np.transpose(warped, (2, 0, 1)) + return warped_chw.astype(np.float32) + + +class TritonPythonModel: + """ + Triton entrypoint class. One instance per model instance. + """ + + def initialize(self, args): + """ + Called once when the model is loaded. + """ + # Parse model config to get default scale factor (if provided). + model_config = json.loads(args['model_config']) + params = model_config.get('parameters', {}) + self.default_scale = float(params.get('scale_factor', {}).get('string_value', '1.0')) + + # Output dimensions from config; we assume fixed 112x112. + # (We could parse from config but we'll hardcode to match pbtxt.) + self.out_w = 112 + self.out_h = 112 + + # Precompute base canonical template for default scale (will adjust per‑sample if needed). + self.base_template = _canonical_template(self.out_w, self.out_h, 1.0) + self.embeding_model_name = "face_embeding" + + def execute(self, requests): + responses = [] + + for request in requests: + # ---- Fetch tensors ---- + in_img_tensor = pb_utils.get_input_tensor_by_name(request, "input") + in_lmk_tensor = pb_utils.get_input_tensor_by_name(request, "landmarks") + score_tensor = pb_utils.get_input_tensor_by_name(request, "score") + + + imgs = in_img_tensor.as_numpy() # [B,3,160,160] + lmks = in_lmk_tensor.as_numpy() # [B,5,2] + scores = score_tensor.as_numpy() # [B,1] + + + + # Ensure batch dimension + if imgs.ndim == 3: + imgs = imgs[np.newaxis, ...] + if lmks.ndim == 2: + lmks = lmks[np.newaxis, ...] + if scores.ndim == 1: + scores = scores[np.newaxis, ...] + + batch_size = imgs.shape[0] + aligned_imgs = [] + valid_indices = [] + + # Allocate output buffer + embedding_out = np.zeros((batch_size, 512), dtype=np.float32) + embedding_tensor_list = [pb_utils.Tensor("output", embedding_out)] + + for i in range(batch_size): + score = max(0.0, scores[i][0]) + # score = scores[i][0] + if score < 0.9: + continue # Skip, leave embedding as zero + src_img = imgs[i] + src_kps = lmks[i].astype(np.float32) + + # Align + dst_kps = self.base_template + M = _estimate_affine(src_kps, dst_kps) + warped = _warp_image_nchw(src_img, M, self.out_w, self.out_h) + + aligned_imgs.append(warped) + valid_indices.append(i) + + # Only call embeding model if there are valid samples + if aligned_imgs: + aligned_batch = np.stack(aligned_imgs) # shape: [valid_N, 3, 112, 112] + + infer_input = pb_utils.Tensor("input", aligned_batch) + inference_request = pb_utils.InferenceRequest( + model_name=self.embeding_model_name, + requested_output_names=["output"], + inputs=[infer_input] + ) + inference_response = inference_request.exec() + + embedding_tensor_list = inference_response.output_tensors() + + responses.append(pb_utils.InferenceResponse(output_tensors=embedding_tensor_list)) + + return responses + + def finalize(self): + """ + Called when the model is being unloaded. Nothing to clean up here. + """ + return \ No newline at end of file diff --git a/face_post_process/face_warp/config.pbtxt b/face_post_process/face_warp/config.pbtxt new file mode 100644 index 0000000..1b7d169 --- /dev/null +++ b/face_post_process/face_warp/config.pbtxt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91f819bb4160084c18306177969a845a996841154442869649fb99c433b80934 +size 736 diff --git a/face_post_process/face_warp/requirements.txt b/face_post_process/face_warp/requirements.txt new file mode 100644 index 0000000..80d4dfa --- /dev/null +++ b/face_post_process/face_warp/requirements.txt @@ -0,0 +1,2 @@ +opencv-python-headless==4.10.0.84 +numpy==1.26.4 \ No newline at end of file diff --git a/face_post_process/shahab.jpg b/face_post_process/shahab.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e683d72b7387e16d3e6506d37208942225d1e91d GIT binary patch literal 118613 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�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
G~L7aj{K*n_yMzUMPc4gFWdu121w6aK%DPY5X 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 literal 0 HcmV?d00001 diff --git a/face_post_process/test.py b/face_post_process/test.py new file mode 100644 index 0000000..132c15f --- /dev/null +++ b/face_post_process/test.py @@ -0,0 +1,29 @@ +import numpy as np +import tritonclient.http as httpclient + +# Connect to Triton +client = httpclient.InferenceServerClient(url="localhost:8089") + +# Prepare dummy input image (e.g., normalized float32 [0,1]) +input_data = np.random.rand(1, 3, 160, 160).astype(np.float32) + +# Create Triton input +input_tensor = httpclient.InferInput("input", input_data.shape, "FP32") +input_tensor.set_data_from_numpy(input_data) + +# Declare expected outputs +output_names = ["embedding", "bbox", "score", "landmarks"] +output_tensors = [httpclient.InferRequestedOutput(name) for name in output_names] + +# Send inference request +response = client.infer( + model_name="face_recognition", + inputs=[input_tensor], + outputs=output_tensors +) + +# Parse and print outputs +for name in output_names: + output = response.as_numpy(name) + print(f"{name}: shape={output.shape}, dtype={output.dtype}") + print(output) diff --git a/face_post_process/test2.py b/face_post_process/test2.py new file mode 100644 index 0000000..f28a47e --- /dev/null +++ b/face_post_process/test2.py @@ -0,0 +1,51 @@ +import numpy as np +import tritonclient.http as httpclient +import cv2 # or use PIL.Image if preferred +from pathlib import Path + +# Path to current .py file +current_file = Path(__file__) +current_dir = current_file.parent.resolve() + +# ----------------------------- +# Load JPEG and preprocess +# ----------------------------- +image_path = current_dir / "shahab.jpg" # path to your JPEG file +img = cv2.imread(image_path) # BGR, shape: (H, W, 3) +img = cv2.resize(img, (160, 160)) # resize to 160x160 +img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # convert to RGB +img = img.astype(np.float32) / 255.0 # normalize to [0, 1] + +# Change to NCHW (3, 160, 160) +img_chw = np.transpose(img, (2, 0, 1)) + +# Add batch dim: (1, 3, 160, 160) +input_data = img_chw[np.newaxis, :] + +# ----------------------------- +# Prepare Triton HTTP client +# ----------------------------- +client = httpclient.InferenceServerClient(url="localhost:9000") + +# Prepare input tensor +input_tensor = httpclient.InferInput("input", input_data.shape, "FP32") +input_tensor.set_data_from_numpy(input_data) + +# Prepare expected outputs +output_names = ["embedding", "bbox", "score", "landmarks"] +output_tensors = [httpclient.InferRequestedOutput(name) for name in output_names] + +# Send inference request +response = client.infer( + model_name="face_recognition", + inputs=[input_tensor], + outputs=output_tensors +) + +# ----------------------------- +# Print outputs +# ----------------------------- +for name in output_names: + output = response.as_numpy(name) + print(f"{name}: shape={output.shape}, dtype={output.dtype}") + print(output)