[PR #2180] [MERGED] feat: facial recognition #9422

Closed
opened 2026-02-05 14:04:27 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/immich-app/immich/pull/2180
Author: @jrasm91
Created: 4/5/2023
Status: Merged
Merged: 5/17/2023
Merged by: @alextran1502

Base: mainHead: feat/facial-recognition


📝 Commits (10+)

  • 8dea894 feat: facial recognition
  • 2fff748 Merge branch 'main' into feat/facial-recognition
  • 20143ce Merge branch 'main' of github.com:immich-app/immich into feat/facial-recognition
  • ee0c27f clean up
  • d2f12b2 Facial recognition job is now run
  • feeab63 ml/add database table (#2317)
  • 3baad0b Merge branch 'main' of github.com:immich-app/immich into feat/facial-recognition
  • 435db2e feat(ml): add core functions for facial recognition (#2332)
  • 867fc09 Move to FastAPI (#2333)
  • 1bda207 Merge branch 'main' of github.com:immich-app/immich into feat/facial-recognition

📊 Changes

107 files changed (+3943 additions, -133 deletions)

View changed files

📝 machine-learning/.dockerignore (+3 -1)
📝 machine-learning/.gitignore (+167 -1)
📝 machine-learning/Dockerfile (+2 -1)
📝 machine-learning/src/main.py (+56 -15)
📝 mobile/openapi/.openapi-generator/FILES (+9 -0)
📝 mobile/openapi/README.md (+7 -0)
📝 mobile/openapi/doc/AllJobStatusResponseDto.md (+1 -0)
📝 mobile/openapi/doc/AssetResponseDto.md (+1 -0)
mobile/openapi/doc/PersonApi.md (+291 -0)
mobile/openapi/doc/PersonResponseDto.md (+17 -0)
mobile/openapi/doc/PersonUpdateDto.md (+15 -0)
📝 mobile/openapi/lib/api.dart (+3 -0)
mobile/openapi/lib/api/person_api.dart (+261 -0)
📝 mobile/openapi/lib/api_client.dart (+4 -0)
📝 mobile/openapi/lib/model/all_job_status_response_dto.dart (+11 -3)
📝 mobile/openapi/lib/model/asset_response_dto.dart (+10 -3)
📝 mobile/openapi/lib/model/job_name.dart (+3 -0)
mobile/openapi/lib/model/person_response_dto.dart (+125 -0)
mobile/openapi/lib/model/person_update_dto.dart (+109 -0)
📝 mobile/openapi/test/all_job_status_response_dto_test.dart (+5 -0)

...and 80 more files

📄 Description

Continuation of #641

TODO

  • Faces metadata to be saved in new asset faces table
  • Face embeddings to be to pushed to typesense, a vector database, to enable similarity distance queries
  • Auto-link/associate faces to people
  • Track people, with abilities to label (merge, link to a user, etc. to come in a future PR)
  • Generate and serve optimized face images (ideally from the original images, not the resized thumbnail)
  • Integrate faces into the web/mobile app (follow-up PR)
  • Search by people/faces
  • Search by people/faces using search bar
  • New admin job/queue for tracking and regenerating face embeddings
  • Unit tests for person service
  • Unit tests for facial recognition service

image
image
image
image


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/immich-app/immich/pull/2180 **Author:** [@jrasm91](https://github.com/jrasm91) **Created:** 4/5/2023 **Status:** ✅ Merged **Merged:** 5/17/2023 **Merged by:** [@alextran1502](https://github.com/alextran1502) **Base:** `main` ← **Head:** `feat/facial-recognition` --- ### 📝 Commits (10+) - [`8dea894`](https://github.com/immich-app/immich/commit/8dea8946387453822790f7f2ad09f6c6836d1605) feat: facial recognition - [`2fff748`](https://github.com/immich-app/immich/commit/2fff7487772068f8d5b47f5360cd31c1dd560c47) Merge branch 'main' into feat/facial-recognition - [`20143ce`](https://github.com/immich-app/immich/commit/20143ceddf4f333e54d1527735a857b474ea067b) Merge branch 'main' of github.com:immich-app/immich into feat/facial-recognition - [`ee0c27f`](https://github.com/immich-app/immich/commit/ee0c27f9496ad3e8649ad1381a6535198c53c0d9) clean up - [`d2f12b2`](https://github.com/immich-app/immich/commit/d2f12b2ecc9469f49ccb102525041137d1653ad4) Facial recognition job is now run - [`feeab63`](https://github.com/immich-app/immich/commit/feeab63f67335305d1ec12039c06f5116a431297) ml/add database table (#2317) - [`3baad0b`](https://github.com/immich-app/immich/commit/3baad0b2a14c0eff2f102f0f0f2d8b461ca1eba1) Merge branch 'main' of github.com:immich-app/immich into feat/facial-recognition - [`435db2e`](https://github.com/immich-app/immich/commit/435db2e1b41decbb76da64353e2f4b35510e6215) feat(ml): add core functions for facial recognition (#2332) - [`867fc09`](https://github.com/immich-app/immich/commit/867fc095073a8879d7d65e6055ed36c1faee74c8) Move to FastAPI (#2333) - [`1bda207`](https://github.com/immich-app/immich/commit/1bda207045f0ffd4f78c9ba472bc48c1838373e2) Merge branch 'main' of github.com:immich-app/immich into feat/facial-recognition ### 📊 Changes **107 files changed** (+3943 additions, -133 deletions) <details> <summary>View changed files</summary> 📝 `machine-learning/.dockerignore` (+3 -1) 📝 `machine-learning/.gitignore` (+167 -1) 📝 `machine-learning/Dockerfile` (+2 -1) 📝 `machine-learning/src/main.py` (+56 -15) 📝 `mobile/openapi/.openapi-generator/FILES` (+9 -0) 📝 `mobile/openapi/README.md` (+7 -0) 📝 `mobile/openapi/doc/AllJobStatusResponseDto.md` (+1 -0) 📝 `mobile/openapi/doc/AssetResponseDto.md` (+1 -0) ➕ `mobile/openapi/doc/PersonApi.md` (+291 -0) ➕ `mobile/openapi/doc/PersonResponseDto.md` (+17 -0) ➕ `mobile/openapi/doc/PersonUpdateDto.md` (+15 -0) 📝 `mobile/openapi/lib/api.dart` (+3 -0) ➕ `mobile/openapi/lib/api/person_api.dart` (+261 -0) 📝 `mobile/openapi/lib/api_client.dart` (+4 -0) 📝 `mobile/openapi/lib/model/all_job_status_response_dto.dart` (+11 -3) 📝 `mobile/openapi/lib/model/asset_response_dto.dart` (+10 -3) 📝 `mobile/openapi/lib/model/job_name.dart` (+3 -0) ➕ `mobile/openapi/lib/model/person_response_dto.dart` (+125 -0) ➕ `mobile/openapi/lib/model/person_update_dto.dart` (+109 -0) 📝 `mobile/openapi/test/all_job_status_response_dto_test.dart` (+5 -0) _...and 80 more files_ </details> ### 📄 Description Continuation of #641 ## TODO - [x] Faces metadata to be saved in new asset faces table - [x] Face embeddings to be to pushed to typesense, a vector database, to enable similarity distance queries - [x] Auto-link/associate faces to people - [x] Track people, with abilities to label (merge, link to a user, etc. to come in a future PR) - [x] Generate and serve optimized face images (ideally from the original images, not the resized thumbnail) - [x] ~Integrate faces into the web/mobile app~ (follow-up PR) - [x] Search by people/faces - [x] Search by people/faces using search bar - [x] New admin job/queue for tracking and regenerating face embeddings - [x] Unit tests for person service - [x] Unit tests for facial recognition service ![image](https://github.com/immich-app/immich/assets/4334196/f05dc3e4-6b96-4b49-960c-33e0ca988ad2) ![image](https://github.com/immich-app/immich/assets/4334196/13730bdb-6a0f-42dd-a43c-833d3f9303aa) ![image](https://github.com/immich-app/immich/assets/4334196/e76fa252-58bb-435c-9fe2-f5d143ea3139) ![image](https://github.com/immich-app/immich/assets/4334196/650a95e9-7974-4a4e-a019-d01fd888e208) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 14:04:27 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#9422