Yet another dataset captioning tool with watermark erasing tools.

Finally i made somewhat proper readme so it can be presented.
One of my struggles with lora training is watermarks, you will find watermarks in my loras over my cold dead body. When i started i removed them by hand in image editor. Works fine but very time consuming. I needed it automated.
Then I happened upon adetailer and yolo models and started digging. I got a hold of the first training script and wrote event some inferencing scripts to label and remove them with big-lama. This was massive jump in speed but it was a collection of tools not a one so it worked but was quite annoying.
My workflow was deduplicate images with czkawka > remove bs or bad images by looking at them > Label some images with crazy watermark (they are not equal in removal difficulty) with labelImg for bboxes in simple rectagular shaped watermark cases or Label studio for polygons for hard shapes > train yolo model with yolo_train script > inference new model over all images > inpaint with lama script or comfyui script > tag images with taggui > finally i can train lora.
I got tired just writing it. Animations are worse but not by much.
So it was time code some stuff, I wrote some lil ugly Qt app but even this was better, with it i combined training, inferencing and inpainting into one app. But it could it to be better.
Vibecoding it is. I interacted with llms on my job since the beggining and got taste of lies and laziness. So i wrote big ass file describing application interface and functions and let it rip. Of course it didn't work initially but manual testing and asking llm got it to work.
So now that i used it for quite some time and squashed most annoying (to me) bugs I present:
https://github.com/Gebsfrom404/label-to-dataset
It combines labeling images so they can used for training yolo model or modified. If there is not much of watermark burden i skip to modify tab. (Do not mind images, I just grabbed some prompts from civitai)
Modify tab has one purpose - clean, split and crop images. For cleaning i use big-lama but also it can use comfyui workflow with whatever models but you probably should modify them to your models and paths. Then images can be saved in place or elsewhere.
Caption tab is obvious but has some features that specifically i didn't see elsewhere - creating and restoring tag snapshots and generating images to compare them side-by-side, auto completions for tags so i use proper tags faster and avoid spelling mistakes, also fast insertions where tag is bound to 0-9 buttons so it works like windows clipboard history but faster.
This tab is where i spent most of the time and where most features reside.
Train tab is for training yolo models (duh), Imagine I have 1k images with the same watermark, i go to label tab, label 50 images, press "Proceed to Train" enter model name and hit train, once it finishes I return to label tab, select freshly trained model and hit auto label unlabeled, filter images with no labels to see if they are ok and transfer to modify > press modify all > press save modified in place. What would have taken me about 5-8 hours done in 1 with most of it without me needing to be here.
Extras stuff - just stuff I thought would be useful but turned out to be not really. By the time i implemented them i could run commands in terminal in my sleep.
Manage - when you 5k images and you want to filter by your favourite girl Zecora. There is plenty apps for this but i do not want another app. No screenshot here.
If it will be useful for you as it is for me, great, maybe your feedback will make something painfully obvious for me and i will improve my life with it.
Now for questions that may arise:
Why lm studio and not something like ollama? Duckling syndrome mostly, my experience with lm studio was great.
How do I use comfy ui workflows? Open Comfy-workflows folder and drag relevant workflow as example into your comfyui instance change whatever missing and export in api format. I don't know how to make it less painful.
Why those captioning models? animatimm/convtext2_huge.dbv4-full is best at the moment for tag like captioning and I do not want to keep track of ten billion models like taggui does now. Just use Comfy workflow for captioning or lmstudio with vision model at this point.
What are the controls? Hold LMB on I icon, all shortcuts should be here. If something is not obvious to unusability it failure on my part, too bad i guess.
Does it for compute poor? I have no idea honestly, it should but not guaranteed.
There is no roadmap there is just me adding features too painful to not have.