Giter VIP home page Giter VIP logo

Comments (13)

Haloooch avatar Haloooch commented on May 14, 2024 1

100% agree and part of my hesitance of suggesting it was the different workflow between products. But if you think you can do it in the same way across all 3 then perfect!

from double-take.

jakowenko avatar jakowenko commented on May 14, 2024 1

@Haloooch, good news. I've made some progress on this over the last few days. Hoping to get a beta build of it ready by end of week.

from double-take.

Haloooch avatar Haloooch commented on May 14, 2024 1

Just tested and working perfect! I like the idea of adding labels. Thx.

from double-take.

jakowenko avatar jakowenko commented on May 14, 2024

The API currently supports this and may solve your issue. There isn't a way to do it from the UI currently.

/api/train/add/:name will add all images from the/.storage/train folder and /api/train/remove/:name will remove all trained images. This only applies to whatever detectors are currently configured at the time of hitting the API.

from double-take.

Haloooch avatar Haloooch commented on May 14, 2024

Was just going to log this as an enhancement but see it's already here. I was thinking you could add this functionality to the 'Files' view. Implement the multiple select (clicking on the image) that is on the 'Matches' view along with the 'Train' dropdown, but with a new dropdown or tick box called 'Remove' (or something like that).

from double-take.

jakowenko avatar jakowenko commented on May 14, 2024

@Haloooch, I was hoping to implement it similar to how you described, but the ability to remove specific images varies per detection service. CompreFace and Facebox both allow you to remove specific images, but DeepStack only allows you to remove the entire trained person, as far as I can tell.

I may just have to allow the multiselect for CompreFace and Facebox and then just have a single button to remove the entire DeepStack name.

Do you think something like that would work?

from double-take.

Haloooch avatar Haloooch commented on May 14, 2024

I use DeepStack so it's a shame to hear it doesn't allow the per image option, I would however still love the ability to simply click a button and remove a person. As such your suggestion sounds like a great enhancement.

I didn't know at least DeepStack saved all trained images, which you have made visible through the 'Files' menu option. Since DeepStack doesn't let you delete one image that's been trained would there be a way to delete person but then re-train using selected images? Trying to work out the UI workflow:

  • If no images selected and button clicked to delete then that person deleted
  • If one or more images selected and button clicked to delete person, person deleted but selected images used to recreate person

(As I type this its all starting to sound quite complex and confusing, not sure if it's worth it....)

from double-take.

jakowenko avatar jakowenko commented on May 14, 2024

I like what you are proposing, I was thinking of a similar solution. It does become a little complicated to have to retrain the entire person each time, but that's probably the only way to really do it in an elegant way.

Maybe I'll do CompreFace and Facebox the same way to just keep it consistent. This would be a killer feature if implemented correctly.

from double-take.

jakowenko avatar jakowenko commented on May 14, 2024

I'll try to get this into the next release in some form and we can then tweak it from there.

from double-take.

jakowenko avatar jakowenko commented on May 14, 2024

@Haloooch the newest beta build includes a lot of cool features. I would love some feedback from you and any suggestions you may have. Here's a screenshot of what it looks like so far.

Screen Shot 2021-07-15 at 2 51 49 AM

Let me try to walk you through how it is currently setup.

The red trash button on the right side untrains / deletes images from multiple subjects. If the image is currently trained it will remove that subject entirely and retrain it with the other trained images.

Screen Shot 2021-07-15 at 3 07 25 AM

If the image is untrained by doing the previous step and you click the same button it will then remove it.

Screen Shot 2021-07-15 at 3 07 48 AM

So a trained image goes from trained -> untrained -> deleted

If you select a name from the dropdown you can do one of three things.

  • Upload a new image from your file system. You can even use your phone camera which will allow you to use some high quality photos for training.
  • Sync and retrain the model. This deletes the current user from the configured detectors and then takes all the images from the /train/${name} folder to retrain the model.
  • Ability to completely untrain a user. This will not remove the images, but they will go into the untrained state and then can be selected and deleted if wanted.

from double-take.

Haloooch avatar Haloooch commented on May 14, 2024

I completed extensive testing of this last night, pleased to say it 'just works'! Very cool feature, thank you.
When I first read your instructions above it did sound overly complicated, equally when playing with it, I didn't need to think ok which button do I click on now, but after a few seconds it all became intuitive.

I didn't find a single bug.

I do have one possible enhancement:

  1. Navigate to Train Screen
  2. select a trained image and click delete (to untrain)
  3. now re-select that image once untrained
  4. add the ability to train that image for a different person

If I'm correct you cannot currently do this, all you can do is retrain that image to the originally trained person.

Thank you again, really amazing work.

from double-take.

jakowenko avatar jakowenko commented on May 14, 2024

Hey @Haloooch, I'm so happy to hear it's working well for you. There's a little refactoring I need to do, but I tested it pretty extensively as well. Glad to hear you haven't ran into any issues.

I initially didn't have labels on the buttons so it would scale down to mobile and I wouldn't have to worry about it breaking to a new line. For larger screens I added these so it's more clear what the buttons do and I try to make it clear in the confirmation box what will happen too.

I was able to squeeze your enhancement in tonight as well. Let me know if this is what you had in mind. Here's a screenshot of how it works. For any untrained image you can select a name from the dropdown and train it for that user.

The latest beta build should include this.

Screen Shot 2021-07-16 at 2 59 49 AM

from double-take.

jakowenko avatar jakowenko commented on May 14, 2024

Closing as this is now included in release v0.9.0.

from double-take.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.