A character pack LoRA for all the main girls from the VN Katawa Shoujo by 4LeafStudios. Trained on PonyXL, should be compatible with all Pony-based merges. Update: new version trained on IllustriousXL, should work with its merges too.
The common trigger word is katawa shoujo, present in all images in the dataset. The uniform can be prompted with yamaku high school uniform. Also, game cg might bring the style closer to the original game's sprites and backgrounds. The prompts for the specific girls are as follows:
Shizune:
hakamichi shizune, short hair, blue hair, blue eyes, eyeglasses.Hanako:
ikezawa hanako, long hair, hair over one eye, purple hair, purple eyes, burn scar.Lilly:
satou lilly, long hair, blonde hair, hair bow, blue eyes, blind.Emi:
ibarazaki emi, long hair, twintails, hair bobbles, blonde hair, green eyes, amputee, double amputee, prosthesis. For her track uniform, usegym uniform, red buruma. In the Illustrious version,legless amputee, running bladeshas been added for better control.Rin:
tezuka rin, short hair, red hair, green eyes, armless amputee, double amputee, tied sleeves. Don't forget to remove thetied sleevestag if she's not wearing a shirt.Misha:
mikado shiina, long hair, drill hair, pink hair, brown eyes.
I haven't tested the resulting LoRA too extensively, but it very much met my expectations when generating the preview images, so I'm happy with this. If generating multiple characters in the same image, I highly recommend using WebUI extensions like Forge Couple. Feel free to share your generations and (hopefully positive) feedback.
I really wanted somebody to make it, but eventually decided to give it a try myself, and I'm quite happy with the results. Especially so given that this is my first character LoRA. The dataset consists of Gelbooru images with the katawa_shoujo tag, pruned via my own tooling to contain slightly under 1000 images of good composition with at least one of the girls in focus. The dataset was slightly imbalanced (350+ images of Hanako vs. about 200 for everyone else), and Civitai on-site trainer, to my knowledge, doesn't allow tinkering with sub-datasets to rectify the issue, but I think it turned out fine. No automatic tagging was used, instead I kept the scraped Gelbooru tags with some preprocessing. (On a side note, it turns out a jupyter notebook, a pandas dataframe and some utility classes and accessors make for a much more convenient dataset editing and tagging tool than most GUI-based ones I'm familiar with). I deduced the appropriate training params based on a few character LoRAs made by other people. The key thing was a high dim and alpha (32 both), very high learning rate (1.0), default bucket size (5, unlike the usual 1-2 I previously aimed for) and some noise offset (still not sure how it affects the result though). Ended up taking around 2500 buzz, but seems worth it for 6 characters. As usual, I'm open to advice and suggestions. (Not taking commissions, though. I don't feel that I have enough time to train LoRAs regularly, nor do I have the buzz for it). This time, unlike with my style LoRAs, I'm also publishing the training data, so if you feel you can do better at this, then by all means, you're welcome to use it.
I highly recommend you check out the VN if you haven't:
Description
Mostly the same dataset. I tried to address some issues with Emi's running prosthetics, so there's now a couple new tags added to her. Also, if you experience issue with Emi's or Rin's anatomy, use no arms, no legs, armless amputee, legless amputee in the positives or negatives correspondingly.
FAQ
Comments (2)
How to train a loRA based off multiple characters?
I'm not really an expert in the subject, so there might be nuances I'm unfamiliar with, but I'd say it's pretty much the same as for a single character. You just have to make sure every character is properly and consistently tagged. Describing their features, as opposed to just their names, helps against trait cross-bleeding. Honestly, just grabbing the gelbooru tags for the dataset seems to make a great starting point. I personally did just that, but then did some preprocessing with a script, such as formatting tags with spaces instead of underscores, removing irrelevant metadata tags, dropping some images based on quality and dataset balance (ideally you want about the same number of occurences for each character), etc.. Generally speaking, the idea is that LoRA training learns everything it is taught. If the dataset sufficiently illustrates a tag, it will be recognized. This goes for characters, styles, concepts, anything.






