FaceXLib (Universal Python 3.12 / 3.13 / 3.14 Compatible Build)
Universal, pure-Python wheel distribution for facexlib (v0.3.0), optimized for modern Python runtime environments (Python 3.10 through Python 3.14+).
Original upstream repository: xinntao/facexlib
Overview
facexlib is a foundational computer vision library providing standardized face processing modules (detection, alignment, parsing, tracking, assessment, and restoration preprocessing) widely utilized across AI generation and restoration ecosystems, including ComfyUI, Stable Diffusion WebUI Forge, GFPGAN, CodeFormer, RestoreFormer, IOPaint, and ReActor.
Standard upstream releases pin legacy dependencies (specifically numba and restrictive filterpy builds) that frequently fail to compile or install on modern Python releases (Python 3.12, 3.13, and 3.14). This universal build solves those environment blockers while preserving 100% API and functional compatibility.
Key Improvements in this Release
- Numba-Free / Safe JIT Fallback:
- Upstream
data_association.pyhard-requirednumba.jit, causing installation and import failures in Python 3.12+ environments where prebuilt Numba wheels were unavailable. - Replaced with a graceful fallback wrapper (
try ... except ImportError) that defaults to native vectorized NumPy/SciPy operations when Numba is not installed.
- Upstream
- Cleaned & Minimal Dependency Tree:
- Removed strict dependency pins. Core requirements are lightweight and modern:
numpyopencv-pythonPillowscipytqdm
- Removed strict dependency pins. Core requirements are lightweight and modern:
- Universal Pure-Python Wheel (
py3-none-any.whl):- Platform-independent (Windows, Linux, macOS) and architecture-independent (x86_64, ARM64/Apple Silicon).
- Zero C/C++ compilation requirements during
pip install.
Installation
Direct Install via pip
pip install https://huggingface.co/ussoewwin/facexlib/resolve/main/facexlib-0.3.0-py3-none-any.whl
In requirements.txt
facexlib @ https://huggingface.co/ussoewwin/facexlib/resolve/main/facexlib-0.3.0-py3-none-any.whl
Core Capabilities
| Module | Available Backends / Models | Typical Use Case |
|---|---|---|
detection |
RetinaFace (resnet50, mobile0.25), YOLOv5-face |
High-precision face bounding box & 5-point landmark detection |
alignment |
5-point similarity transformation, cropped affine warping | Face normalization for restoration models (GFPGAN / CodeFormer) |
parsing |
BiSeNet (19-class semantic segmentation) | Hair, skin, eye, mouth, and accessory segmentation |
tracking |
SORT with Kalman Filter | Real-time temporal face association in video pipelines |
assessment |
HyperIQA, MUSIQ | No-reference image and facial perceptual quality evaluation |
recognition |
ArcFace | Deep facial feature extraction and verification |
Quick Start Example
1. Face Detection & Landmark Extraction
import cv2
import torch
from facexlib.detection import init_detection_model, detect_faces
# Initialize RetinaFace detector (auto-downloads weights on first run)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
det_net = init_detection_model("retinaface_resnet50", half=False, device=device)
# Load image (BGR)
img = cv2.imread("input.jpg")
# Detect faces
with torch.no_grad():
bboxes = detect_faces(det_net, img, device=device)
print(f"Detected {len(bboxes)} faces.")
# bboxes format: [[x1, y1, x2, y2, score, landmark_5x2...], ...]
2. Face Semantic Parsing (BiSeNet)
import torch
from facexlib.parsing import init_parsing_model, parsenet
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
parse_net = init_parsing_model(model_name="bisenet", device=device)
# Input: Cropped & aligned 512x512 face tensor
with torch.no_grad():
# out tensor contains 19-class segmentation logits
pass
Automatic Weight Management
Pretrained model weights continue to be automatically fetched and cached in standard local directories on demand:
- Windows:
%USERPROFILE%/.cache/facexlib/weights/ - Linux / macOS:
~/.cache/facexlib/weights/
License
- Library & Code: MIT License.
- Underlying Model Checkpoints: Subject to their respective original licenses (RetinaFace, BiSeNet, ArcFace, etc.).