matiasdelellis / facerecognition

Nextcloud app that implement a basic facial recognition system.
GNU Affero General Public License v3.0
521 stars 47 forks source link

Small disclaimer, announcement, or rather just want to share my concerns... #593

Open matiasdelellis opened 2 years ago

matiasdelellis commented 2 years ago

I will not comment on other applications, or add links, own or third parties..

First of all, for my part, I continue to work in the same way, in my free time trying to make the best application. However, the matter is this... This app will soon lose a bit of meaning when Nextcloud officially offers this feature integrated into the photos app, but via another app.

/comment off /catharsis on?

I insist on defending this application, the selected dependencies, the selected neural networks, and all those complicated configurations that it needs to work. I still think that this is the right way to go, however, it seems that the battle is being lost because the consensus seems to be that this is a very complicated application.

I emphasize again that the facial recognition task is inherently difficult, and any shortcut leads to errors. Surely nothing serious.. As long as they are personal data, these errors can result just in a joke, and probably only lead to the uninstallation of the application.. But when we work with shared files, we hope to also share our images with our loved ones. If we share photos that we didn't want to share, it stops being fun.

I already commented this several times, but if Google (Training a model with 500 million photos, working on all the GPU farms you can imagine) still makes mistakes, still asks for help to improve its results, and still takes time every time that we upload a new photo, why do we think we can be better? provide instant results and 100% automatic without configuring anything??? This is to say the least, a little optimistic.

Again, surely nothing serious... But when these errors occur, the most common response is, that we are an opensource project, that we work in our spare time, and we kindly invite them to do a PR that fix the report. Meanwhile, we try to do the most beautiful things, but that do not fix any important problems, because the important thing is to bring technology closer. It must be cutting-edge technology that attracts new users, this leads to attracting developers, and perhaps at some point we will live from this.

The excuse that we are a free software project, and that we do our best to bring this technology closer are just that, excuses.

/catharsis off.. haha

I must admit that I never did enough to officially integrate Nextcloud (Actually don't even try), I just tried to make a good application, that brings the technology closer (Yes, as well), that offers good results, but within the limitations of the API offered by Nextcloud. Regarding the integration with photos, I always expected that them add something like virtual folders, and commented on several issues without any response..That led me to show a list of photos with a solution that was not the most popular but that allowed me to develop the application and demonstrate its operation. It seems that I should have proposed to hardcode so that a single application shows results, instead of ideally thinking of other applications.

Well... We got to the point where we have competition, and it will be much better integrated, and it's probably a losing battle.. In general operation, we are much more advanced, in terms of results as well, but the integration of another application undermines the whole meaning of this development.

So? Don't know. Beyond these worries, again, I will continue to work in the same way, as much as I can, trying to make the best application. We'll see what happens with everything...

stalker314314 commented 2 years ago

I didn't know about this app (recognize?). Sorry to hear that, but do note this: a. Your app is first one when someone searches internet for "nextcloud face recognition" b. "Recognize" app have same requirements (4Gb) and same speed (only advantage is that is more easily discovered) c. Your design decisions probably heavily influenced/inspired their choices d. You still have person clusterization that I didn't see there

At the end, it is your decision. I am not on this project anymore, but I like to think that we influenced whole Nextcloud ecosystem to create this Recognize app, both with ideas and technical design! And I had fun while I was working on this, so I have nothing to regret:) And I met you here, who were kind and supportive enough to allow me to experiment! I still see this app as very good architecture blueprint to create other Nextcloud apps that has same heavy background processing (face emotion, finding duplicate images...) and as a standalone face recognition app that has lot to offer. Again, it is your decision, but IMHO, no need for catharsis:) and be proud what you achieved!

muebau commented 2 years ago

Yes I think the work done was very important to start a process. I think there are many things that can be done like a dedicated "AI" app which would provide the face/clustering/age/emotion functionality for future additional features.

I think a hardware accelerated plugin could be part of such an app. There is much to do and the work of this project founded a lot more than just 'yet another app for Nextcloud'.

socketdown commented 1 year ago

Thank you for your hard work. I really appreciate this app.

I'll definitely keep using it. Not because it does something unique, but rather because of this projects ideology. And I believe this is a huge advantage in the Nextcloud scene. Running a Nextcloud instance on dedicated hardware (how else would you meet the minimum memory requirements of this app?) makes no economic sense compared to commercial solutions. Not to mention the time spent playing sysadmin.

That being said, I really hope this project will continue.

Also I really hope to donate some time during summer break and submit a pull request. Haven't come around to it yet with uni and work eating up most of my day.

gb-123-git commented 1 year ago

Well... after using both apps (this one as well as 'Recognize') , IMHO this one is better (detection + clusterisation) at this moment.

So I do hope that you keep up the good work !

matiasdelellis commented 1 year ago

Hello everyone, Excuse me for not answering trying to be respectful to everyone. 😉

Well, I've been experimenting a bit, and here is a small summary of the comparison.

Given the strength of the results, it gave me a little energy to continue, However, I already commented on it elsewhere, it is not a matter of spitting on the ceiling (I don't know if it's the best phrase here... 🤔 ). Today the results are better, but we still have things pending, and they can always improve.

Within this new impulse, we got the integration with memories. This is a new photo gallery developed by @pulsejet, which I invite you to support to continue with this great application. 😄

gb-123-git commented 1 year ago

@matiasdelellis - No need to further compare [Face-Recognition-vs-Recognize] (I already told you yours is better) ( I am saying this since you have written 'to be continued' in your comparison.

I think your time would be better utilized focusing on development. Leave the testing/comparison to us users... :P

gb-123-git commented 1 year ago

@matiasdelellis - These is one thing that can make your app fly higher than the nexcloud's one. If you can somehow manage to package your application in a docker and make nextcloud app pass on the image for recognition to the docker. Just like what imaginary does for generating previews. This will also help ease all the installation woes.

I dunno if its possible though

lippoliv commented 1 year ago

@matiasdelellis I'm quiet new to your application. I'm even new to nextcloud, used owncloud for years. Now I migrate. Having a better workflow of image / contact information is a big goal.

I started with recognize, it was easy to setup. But serious features where missing, simple things like search faces. It made me spend some hours to setup your application.

Yes there are some hickups and still I have some questions, but I like your thinking I guess: The application is doing the heavy lifting. Not perfect, but good. And then it integrates with memories, where I can have a very charming view of the collected data. I even have pictures in my car's display now, if someone calls me, because I use nextcloud contacts on my phone and setting photos there is so easy, as I now have access to images for persons.

With all that said: Thank you for all your efforts and all the time you spend without getting paid. I use Face Recognition for just a week, but I think with every new release, I will like it more :)

Other apps will have a hard time to make me switch, especially because I have currently pretty much controll about how faces are grouped.

Chuckame commented 1 year ago

Hey, after tried recognize and facerecognition, it's a BIG no-go for recognize, even for ui or features. It recognized a monkey as the same face as all black people, and this is not configurable, not like facerecognition with the clustering threshold.

Also, your app is much more configurable, and except for the installation that can be tricky, I never get an issue.

Last but not least, it is natively compatible with the nextcloud Photos app from nk ming https://gitlab.com/nkming2/nc-photos.

florealcab commented 9 months ago

I tried recognized too (I used face recognition before), and I go back to that app, because recognize make a loooot of mistakes in my photos and is not configurable so... thank you for making this app and please continue as it's the best face recognition app!

Congrats!

axeljerabek commented 8 months ago

Facerecognition beats recognize by far. I use it since years on any kind of device, even the tiny Raspberries, without a flaw. The only thing I am missing: Save the faces once they got recognized!

I have half a million photos in there, compiled dlib with cuda support and this thing works hell fast and stable. I use it also for professional photograohy and share pictures to the outside world. Facerecognition is not to remove anymore. Recognize does not even detect faces in close-up portraits! Every third picture is not recognized as a face, although you basically cannot have a better face as with professional light and a Sigma 85mm 1.4 glass on a Sony A7IV. Facerecognition finds every face, I never worry about this. As said, the only thing that I am missing: Keep the once detected faces in their cluster or auto-recluster those and do not open the whole box of Pandora again and detect them again. Please find a workaround for this :) Once I upload new pictures, I have to click through many thousand again and manually add them to a person again. Recognize does not work with a GPU at all, in case you have a pretty up-to-date system with up-to-date Nvidia drivers and the 12.3 cuda environment. Recognize only works with the 11.2 cuda parts, which is not an option on my system, since I always have the newest drivers, just out of security reasons and I need the newer FFmpegs on it. 11.2 is no option at all.

Facerecognition is one of the best features on the Nextcloud in general. I could uninstall anything else, but not Facerecognition. Working with customers, sharing with family, have all pictures of one person at hand immediately is crucial for me.

Keep up your work. Recognize is crippled and will never be at a top level app. Also, their development slowed down in the past few month. No fixes, nothing new, same old behaviour. Asking questions in their github issue department is nothing they take care of.

Great work and congrats!