C0untFloyd / roop-unleashed

Evolved Fork of roop with Web Server and lots of additions
GNU Affero General Public License v3.0
2.04k stars 471 forks source link

[SUGGESTIONS] - for nicer workflow within Roop Unleashed #825

Closed AlonDan closed 1 week ago

AlonDan commented 1 month ago

1. Save as Default:

I'm using the amazing "DFL XSeg" all the time, So every time I launch Roop Unleashed, I must unfold "Advanced Masking" then Select it manually.

Same for the same specific "Input faces" I always drag and drop (fsz files) It will be nice to load the specific "DEFAULT" selected input faces models as soon as Roop Unleashed launches or even maybe add our own collections via PRESETS. The way ROPE does that is via directories, if that's will make things easier on the code side (I'm not a programmer but just a designer) it will be nice to have a Sub-Directory that will contain the (fsz files) and it will load them to the Input Faces.

Since there is already a "Settings" tab, it will be nice to add these options:


2. Reorder "Input Faces" via Drag & Drop:

Based on my understanding the main way that multiple faces works on the SOURCE (Input Faces) is from LEFT to RIGHT. The problem is there is no way to re-order them, the only way is to remove and load to make the order needed... it feels like a primitive way to reorder especially on a session with more than one swapping target video tests.

A nice solution is to be able to DRAG & DROP the order them, unless there is a different way to do so similar to ROPE which is selecting INPUT and it's TARGET one by one, whatever works will be better than the current state.


Thank you for your hard work! I hope that you will consider to add these options for the next update πŸ™

CassySpencer commented 1 month ago

100% agree!

C0untFloyd commented 1 month ago

Hey, welcome back @AlonDan πŸ˜ƒ When I saw your name, I remembered there is still no SAM masking in roop but I don't think it is still necessary.

  1. You requested part of it almost a year ago here -> https://github.com/C0untFloyd/roop-unleashed/issues/126. My opinion is still the same. I know face fusion has this but man, it's a time waster to implement and I never had a problem with changing 2-3 options upon startup. Are you guys swapping faces 24/7?!? Anyway, perhaps you didn't notice that roop remembers the last used folder(s) and also supports drag and drop. So what I'm doing is I always use the same folder for input faces (by clicking on the input box and for the target images/videos which can be different folders I drag and drop them into the target box (to prevent changing the remembered input path). This works good enough for me so far. To remember collections of assigned input -> target faces I have something in mind like collections of facesets, which could be saved and reloaded. No time estimate for this though. If I had to choose between your options I'd implement a save all settings button instead of more UI specifications in the settings tab.
  2. unless there is a different way to do so similar to ROPE which is selecting INPUT and it's TARGET one by one,

I'm not sure I fully understand this. Of course you can select input and target faces one by one. Select input image, face gets detected and added, click on the 'x', image gets removed but detected face stays. Before or after that you can select your target video, click on use target face, select the one you want. Select a new input image, new face gets added. Click again on use target face, another face gets added. The order how you select them doesn't matter. But the final order once swapping starts is from left to right, yes. Drag and drop for re-ordering can't be done, the component from gradio doesn't allow this and so far there is no other better component to display the faces.

AlonDan commented 1 month ago

Hi @C0untFloyd Thanks for the detailed reply, I appreciate it.

Sure I noticed it supported drag & drop, that's what I mean I drag and drop every session or more than many times a session because of the fixed LEFT to RIGHT order, it's a bit weird when doing it more than once, need to wait for it to reload again instead of just once at startup.

I'm not doing swapping 24/7 and I'm only using it for as many tests as I can per session, trying to help sharing my experience and ideas to improve :)

It would be nice if that specific directory path (whatever the user select) will be the one that will just load with Roop Unleashed, but if it's complicated... oh well, it's just easier to add faces / replace / switch / rename in a specific directory while launching Roop Unleashed just load what's exist. maybe even will refresh/reload the directory with a button in case updating it while using Roop Unleashed.

I agree, SAVE ALL settings will sure do the job! πŸ‘


when having multiple faces on target video, select SPECIFIC multiple faces to fit SPECIFIC from the video target is something I couldn't do on the current version, the only way via REFERENCE current frame was only via the RIGHT to LEFT order of the source... that's why I suggested allow to Drag & Drop to reorder the input faces (after loaded to Roop Unleashed). Maybe I just don't understand how it's currently works.

I gave ROPE as example because it's the most simplistic visual way / user friendly in that area, First you load ALL INPUTS (from a directory like I suggested earlier) then you load the TARGET video and if it's having MANY faces, when scanning, it will show ALL FACES just like we do in Roop Unleashed when using the REFERENCE from current frame feature. But the difference is that you can choose specific SOURCE input face to match SPECIFIC target face in the video and change in matter of 1 click.

Sorry that my comparison isn't the best, I just think ROPE nailed it with the drag & drop better than Face Fusion which is more confusing than easy in many parts... while ROOP Unleashed is more simplify that's why I like it so much, you sure doing a wonderful job! I love this project that's why it's my favorite and I would like to improve it user-friendly wise if I can ❀

In conclusion, the whole LEFT to RIGHT order is fine as long if we will be able to DRAG and DROP could make things so much nicer and easier but... You mentioned it's not allowed in Gradio so the other way is to redesign the way it works which probably is not going to be easy (I'm not a programmer I can't tell)


One way to do it is similar to ROPE (in a way) After loading INPUT faces, and recognize the TARGET faces as well on the right window next to it. Allow to select each one via NUMBERS, so if Face_1 will match Face_1 in both, it will be the one to be LOCKED on for the rest of the video, but then the user can change their mind and make Face_1 to match to Face_4 There are many ways to do it:

Obviously what I suggest is just UI/UX but not actual code solutions sadly I can't really help beside of that, but I do have LOTS of ideas to improve I just don't want to flood you with too many, it's already too much.

Anyhow, Please keep up the good work! I'll be happy to help test upcoming versions / updates and give feedback or if you need extra ideas, feel free to talk to me πŸ‘

github-actions[bot] commented 2 weeks ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

C0untFloyd commented 1 week ago

Drag and drop still isn't possible in the gallery component and typing numbers....nooooo! πŸ˜„ I've added left/right buttons now to be able to change the swapping order (although I still don't quite get why so many people want to reorder). πŸ€·β€β™‚οΈ See https://github.com/C0untFloyd/roop-unleashed/discussions/880

PS: I can't really judge your english as I'm no native speaker myself but to me it's perfectly fine.

AlonDan commented 1 week ago

First of all thank you @C0untFloyd ❀

The reason for many faces is for test and comparison, and loading each time takes much longer in my machine (an old one with low VRAM) so loading once and then change faces and their order is SO MUCH EASIER now with the "MOVE" addition, thank you!


Also, I found something that I hope you can fix (or bring back to how it was the version before):

Usually on the "Preview Image" I used to Right Click and open the image in a new TAB so I can COMPARE (especially when I flip many faces like mentioned above) and then I just flip between tabs to see the differences if it's different faces, or same face with different properties it's easier for comparison.

Now with the new version, it's not possible anymore because Right Click will open a "Save As" and suggested image.webp file... even when my file is a video, or any image file such as JPG, PNG.

Is there a way on the settings to bring this back to just OPEN without the auto-saving? or maybe it's something in the code you can tweak back?

Thanks ahead! πŸ™

Please keep up the good work, every version is just more awesome than the latest one πŸ’™