# NexFace
**NexFace** is a modular face recognition library built on top of modern deep learning models. It supports face detection, embedding extraction, clustering, and identification using ONNX, FaceNet, and Scikit-learn-compatible algorithms.
---
## π Features
- β
**Face Detection** (YuNet with OpenCV & ONNX)
- β
**Face Embedding Extraction** (FaceNet `.h5`)
- β
**Clustering** (DBSCAN & HDBSCAN)
- β
**Recognition via Prototypes**
- β
Clean and extensible object-oriented design
---
## π§ How It Works
1. **Face Detection**:
Uses YuNet ONNX model via `cv2.FaceDetectorYN`.
2. **Embedding Extraction**:
FaceNet model (Keras `.h5`) extracts 128-D facial embeddings.
3. **Clustering & Prototypes**:
Cluster face embeddings via DBSCAN or HDBSCAN.
Compute cluster centers (prototypes) for recognition.
4. **Recognition**:
New face embeddings are compared against cluster prototypes using cosine or Euclidean similarity.
---
> You can also install using `pip install -r requirements.txt`.
---
## π To Do
- [ ] Add ArcFace / InsightFace support
- [ ] Improve alignment and augmentation
- [ ] Evaluation metrics (precision, recall, etc.)
---
## π§βπ» Author
**Fatih DaΔdeviren**
[fatihdagdeviren21@gmail.com](mailto:fatihdagdeviren21@gmail.com)
GitHub: [github.com/fatihdagdeviren](https://github.com/fatihdagdeviren)
Raw data
{
"_id": null,
"home_page": "https://github.com/fatihdagdeviren/NexFace",
"name": "nexface",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Fatih Dagdeviren",
"author_email": "fatihdagdeviren21@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/be/af/7110ea060f550cf87fbb358e647b9d01bf8c4d45f45706ab8a38f68072e8/nexface-0.0.9.tar.gz",
"platform": null,
"description": "\r\n# NexFace\r\n\r\n**NexFace** is a modular face recognition library built on top of modern deep learning models. It supports face detection, embedding extraction, clustering, and identification using ONNX, FaceNet, and Scikit-learn-compatible algorithms.\r\n\r\n---\r\n\r\n## \ud83d\ude80 Features\r\n\r\n- \u2705 **Face Detection** (YuNet with OpenCV & ONNX)\r\n- \u2705 **Face Embedding Extraction** (FaceNet `.h5`)\r\n- \u2705 **Clustering** (DBSCAN & HDBSCAN)\r\n- \u2705 **Recognition via Prototypes**\r\n- \u2705 Clean and extensible object-oriented design\r\n\r\n---\r\n\r\n## \ud83e\udde0 How It Works\r\n\r\n1. **Face Detection**: \r\n Uses YuNet ONNX model via `cv2.FaceDetectorYN`.\r\n\r\n2. **Embedding Extraction**: \r\n FaceNet model (Keras `.h5`) extracts 128-D facial embeddings.\r\n\r\n3. **Clustering & Prototypes**: \r\n Cluster face embeddings via DBSCAN or HDBSCAN. \r\n Compute cluster centers (prototypes) for recognition.\r\n\r\n4. **Recognition**: \r\n New face embeddings are compared against cluster prototypes using cosine or Euclidean similarity.\r\n\r\n---\r\n> You can also install using `pip install -r requirements.txt`.\r\n\r\n---\r\n\r\n## \ud83d\udccc To Do\r\n\r\n- [ ] Add ArcFace / InsightFace support\r\n- [ ] Improve alignment and augmentation\r\n- [ ] Evaluation metrics (precision, recall, etc.)\r\n\r\n---\r\n\r\n## \ud83e\uddd1\u200d\ud83d\udcbb Author\r\n\r\n**Fatih Da\u011fdeviren** \r\n[fatihdagdeviren21@gmail.com](mailto:fatihdagdeviren21@gmail.com)\r\n\r\nGitHub: [github.com/fatihdagdeviren](https://github.com/fatihdagdeviren)\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A face recognition and embedding extraction library",
"version": "0.0.9",
"project_urls": {
"Homepage": "https://github.com/fatihdagdeviren/NexFace"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "1cfb8d4d530f8103d0e0579727fff199ed4e65fb836365ce390342718eb94dae",
"md5": "4558818d06c5b250bbc384ccb1effbc2",
"sha256": "aa374afd9c5fe02a8f460ec1c36946be4afbd5b724ac10fc939ba182a029b99d"
},
"downloads": -1,
"filename": "nexface-0.0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4558818d06c5b250bbc384ccb1effbc2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 85086405,
"upload_time": "2025-07-12T10:05:24",
"upload_time_iso_8601": "2025-07-12T10:05:24.469758Z",
"url": "https://files.pythonhosted.org/packages/1c/fb/8d4d530f8103d0e0579727fff199ed4e65fb836365ce390342718eb94dae/nexface-0.0.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "beaf7110ea060f550cf87fbb358e647b9d01bf8c4d45f45706ab8a38f68072e8",
"md5": "6032b388daee498064c9eb383975394f",
"sha256": "28c4277fbe8b520043427a0b841eda7e28cab91b61b0914b53a0a90befe2e56d"
},
"downloads": -1,
"filename": "nexface-0.0.9.tar.gz",
"has_sig": false,
"md5_digest": "6032b388daee498064c9eb383975394f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 85081772,
"upload_time": "2025-07-12T10:06:48",
"upload_time_iso_8601": "2025-07-12T10:06:48.416050Z",
"url": "https://files.pythonhosted.org/packages/be/af/7110ea060f550cf87fbb358e647b9d01bf8c4d45f45706ab8a38f68072e8/nexface-0.0.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-12 10:06:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fatihdagdeviren",
"github_project": "NexFace",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "nexface"
}