Matiasdelellis Facerecognition Versions Save

Nextcloud app that implement a basic facial recognition system.

v0.9.40

3 weeks ago

[0.9.40] - 2024-04-24

  • Enable PHP 8.3 and NC28
  • Add special modes to background_job command that allows images to be analyzed in multiple processes to improve speed.
  • Add special mode to sync-album command to generate combined albums with multiple people. PR #709

v0.9.31

8 months ago

Codename???? πŸ€”

imagen

[0.9.31] - 2023-08-24

  • Be sure to open the model before getting relevant info. Issue #423

[0.9.30] - 2023-08-23

  • Implement the Chinese Whispers Clustering algorithm in native PHP.
  • Open the model before requesting information. Issue #679
  • If Imaginary is configured, check that it is accessible before using it.
  • If Memories is installed, show people's photos in this app.
  • Add face thumbnail when search persons.
  • Disable auto rotate for HEIF images in imaginary. Issue #662
  • Add the option to print the progress in json format.

Why that meme as codename?

To the happiness of many (Issue https://github.com/matiasdelellis/facerecognition/issues/690, https://github.com/matiasdelellis/facerecognition/issues/688, https://github.com/matiasdelellis/facerecognition/issues/687, https://github.com/matiasdelellis/facerecognition/issues/685, https://github.com/matiasdelellis/facerecognition/issues/649, https://github.com/matiasdelellis/facerecognition/issues/632, https://github.com/matiasdelellis/facerecognition/issues/627, https://github.com/matiasdelellis/facerecognition/issues/625, etc..?), Implement the Chinese Whispers Clustering algorithm in native PHP, just means that we do not depend on the pdlib extension, but it goes without saying that its use is still highly recommended.

So, the application can be installed without pdlib or bzip2 installed. But if you want to use models 1, 2, 3, or 4 you still have to rely on these extensions.

Do you insist on not installing these extensions?. You must configure the external model and select model 5 here, and thus free yourself from these extensions. 😬

Well, You will understand that it is slower, however I must admit that with JIT enabled, it is quite acceptable, and this is the only reason why decided to publish it.

Some statistics

Just I added 2162 Big Bang Theory photos on my test server, resulting in 6059 faces, and I cluster them with both implementations..

Dlib: (Reference)

  • User time (seconds): 10.53
  • Maximum resident set size (kbytes): 245412

PHP:

  • User time (seconds): 45.45
  • Maximum resident set size (kbytes): 266060

Time: => 45.45/10.53 = 4,316239316

Memory: => 266060/245412 = 1,084136065

PHP + JIT User time (seconds): 16.20 Maximum resident set size (kbytes): 283760

Time: => 16.20/10.53 = 1,538461538

Memory: => 283760/245412 = 1,156259678

So, as you can see the php implementation is 3.3 times slower, but if you enable JIT, it's only 53 percent slower. I guess it's ok, and the memory didn't increase much. πŸ˜„

Note:

Once again I insist on recommending the use of local models (with dlib), and I invite those who want to use it to give a little love to the external model. 😬

v0.9.30

8 months ago

Codename???? πŸ€”

imagen

[0.9.30] - 2023-08-23

  • Implement the Chinese Whispers Clustering algorithm in native PHP.
  • Open the model before requesting information. Issue #679
  • If Imaginary is configured, check that it is accessible before using it.
  • If Memories is installed, show people's photos in this app.
  • Add face thumbnail when search persons.
  • Disable auto rotate for HEIF images in imaginary. Issue #662
  • Add the option to print the progress in json format.

Why that meme as codename?

To the happiness of many (Issue https://github.com/matiasdelellis/facerecognition/issues/690, https://github.com/matiasdelellis/facerecognition/issues/688, https://github.com/matiasdelellis/facerecognition/issues/687, https://github.com/matiasdelellis/facerecognition/issues/685, https://github.com/matiasdelellis/facerecognition/issues/649, https://github.com/matiasdelellis/facerecognition/issues/632, https://github.com/matiasdelellis/facerecognition/issues/627, https://github.com/matiasdelellis/facerecognition/issues/625, etc..?), Implement the Chinese Whispers Clustering algorithm in native PHP, just means that we do not depend on the pdlib extension, but it goes without saying that its use is still highly recommended.

So, the application can be installed without pdlib or bzip2 installed. But if you want to use models 1, 2, 3, or 4 you still have to rely on these extensions.

Do you insist on not installing these extensions?. You must configure the external model and select model 5 here, and thus free yourself from these extensions. 😬

Well, You will understand that it is slower, however I must admit that with JIT enabled, it is quite acceptable, and this is the only reason why decided to publish it.

Some statistics

Just I added 2162 Big Bang Theory photos on my test server, resulting in 6059 faces, and I cluster them with both implementations..

Dlib: (Reference)

  • User time (seconds): 10.53
  • Maximum resident set size (kbytes): 245412

PHP:

  • User time (seconds): 45.45
  • Maximum resident set size (kbytes): 266060

Time: => 45.45/10.53 = 4,316239316

Memory: => 266060/245412 = 1,084136065

PHP + JIT User time (seconds): 16.20 Maximum resident set size (kbytes): 283760

Time: => 16.20/10.53 = 1,538461538

Memory: => 283760/245412 = 1,156259678

So, as you can see the php implementation is 3.3 times slower, but if you enable JIT, it's only 53 percent slower. I guess it's ok, and the memory didn't increase much. πŸ˜„

Note:

Once again I insist on recommending the use of local models (with dlib), and I invite those who want to use it to give a little love to the external model. 😬

v0.9.20

11 months ago

Changelog

All notable changes to this project will be documented in this file.

[0.9.20] - 2023-06-14

  • Add support for (Now old) Nextcloud 26.
  • Add support to NC27 for early testing.
  • Clean some code an split great classed to improve maintenance.
  • Don't catch Imaginary exceptions. Issue #658
  • Update french translation thanks to JΓ©rΓ©mie Tarot.

Note:

This is a version made with a bit of shame. I'm short on time, and I was hoping to do a little more before release it, but that nextcloud publishes a new version before enabling the previous one, it presupposes this release. πŸ€¦πŸ»β€β™‚οΈ 😞

It's actually well tested in NC26, but I'd like to improve some things soon. Not so in NC27, I hope to hear your reports.. πŸ™ˆ

v0.9.12

1 year ago

[0.9.12] - 2023-03-25

  • Add support for using imaginary to create the temporary files. This add support for images heic, tiff, and many more. Issue #494, #215 and #348 among many other reports.
  • Memory optimization in face clustering task. Part of issue #339 In my tests, it reduces between 33% and 39% of memory, and as an additional improvement, there was also a reduction in time of around 19%. There are still several improvements to be made, but it is a good step.
  • Modernizes the construction of the javascript code. Issue #613
  • Fix Unhandled exception and Albums are not being created. Issue #634

Note:

About Imaginary, if it is installed correctly it works automatically, however you still have to select the types of files you want to read. So you must add this configuration in config/config.php

+ 'enabledFaceRecognitionMimetype' => array(
+    0 => 'image/jpeg',
+    1 => 'image/png',
+    2 => 'image/heic',
+    3 => 'image/tiff',
+    4 => 'image/webp', 
+ ),

Finally adds the --crawl-missing option to face:background_job that forces a search for the files to analyze the new allowed types. πŸ˜„

v0.9.11

1 year ago

Changelog

All notable changes to this project will be documented in this file.

[0.9.11] - 2022-12-28

  • Fix migrations on PostgreSQL. Issue #619 and #615
  • Fix OCS Api (API V1). Thanks to nkming2

[0.9.10] - 2022-12-12

  • Just bump version, to remove beta label and allow installing in NC25
  • Gratitude: @pulsejet, very kindly accept the integration of this application into your super cool photo gallery called Memories. If you didn't know about this project, I invite you to give it a try, that will pleasantly surprise you. :tada: Thanks again. :smiley:
  • New Russian translation thanks to Regardo.

Of course a photo is better than a thousand words. imagen imagen

v0.9.10

1 year ago

Changelog

All notable changes to this project will be documented in this file.

[0.9.10] - 2022-12-12

  • Just bump version, to remove beta label and allow installing in NC25
  • Gratitude: @pulsejet, very kindly accept the integration of this application into your super cool photo gallery called Memories. If you didn't know about this project, I invite you to give it a try, that will pleasantly surprise you. :tada: Thanks again. :smiley:
  • New Russian translation thanks to Regardo.

Of course a photo is better than a thousand words. imagen imagen

v0.9.10-beta.2

1 year ago

[0.9.10-beta.2] - 2022-11-17

Added

  • Adds an API version 2 that theoretically is enough for any client.
  • Note that can change minimally until we release the stable version.

Fixed

  • Only fix tests.

Changed

  • Use x, y, width, height to save face detections on database.

v0.9.10-beta.1

1 year ago

[0.9.10-beta.1] - 2022-09-27

Added

  • Support Nextcloud 25
  • A little love to the whole application to improve styles and texts.
  • Show the image viewer when click come image on our "gallery". Is press Control+Click it will open the file as before.
  • DonΒ΄t allow run two face:commands simultaneously to prevent errors.
  • Some optimizations on several queries of main view.
  • Add a new command face:sync-albums to create photos albums of persons.

Fixed

  • Rephrase I'm not sure button to better indicate what it does. Issue #544

Changed

  • Change Person to people since Persons in a very formal word of lawyers.
  • Edit people's names in the same side tab instead of using dialogs. This is really forced by changes to the viewer which retains focus, and avoids typing anywhere. It also has a regression that misses the autocomplete. :disapointed:
  • Typo fix. Just use plurals on stats table.
  • Show the faces of the latest photos, and sort photos by upload order.

Translations

  • Update German translation thanks to lollos78.
  • Update Italian (Italy) translation thanks to lollos78.
  • Update of many other translations. Thank you so much everyone.

Some new screenshots...

facerecognition-persons-view facerecognition-person-photos facerecognition-photos-integration

v0.9.5

2 years ago

Just fix to update NC24... πŸ™ˆ