StyleGAN AI generated images

Were most of the good images you got similar to this? Because it seems to me your model could be overfitting a bit on the belly and breasts. To solve that you could manually remove the nodes responsible for those(while that sounds stupid, that would force the rest of the network to compensate for that, and it generally ends up working better) or just do a bunch more random dropouts.

In regards to the arms, I’m still a bit at a loss on how to fix it. I’d have to have a look at your code, which is something I honestly haven’t had the time yet. I’ll be quite busy this and next week still, but I will try to find a bit of time to have a look in the weekend. I’m kinda getting hyped about this project too.

One question in the meantime: You said you are using different crops in your dataset per image, but are you also applying rotations when you are importing them in? I think those could help with the arms, and if you are already using them, maybe you could try pushing them a bit further.
That kinda helps with the problem of having a small dataset as well. It buffs up the number of images you got, and while that doesn’t really add any new information, it does help the network generalize better.

How should I go about doing rotations? Just shove the entire dataset into ImageMagick and tell it to rotate everything like 15deg? I know that by default it trains with mirroring on, not sure if it auto rotates as well but I didn’t see anything on it so I’d assume not.

Also as far as training on sequences, how would I go about doing something like that? Is there a way to manually label each step of the sequence? I am still woefully uneducated on how the code I’m using actually works so experimenting beyond what I can figure out with basic coding knowledge is difficult.

Other than that, nothing much has changed on my end. Added ~3k more images so the total fat/belly/thick dataset is ~13k images. Halting the training for a bit until I find some settings I should be changing or something like that.

How should I go about doing rotations? Just shove the entire dataset into ImageMagick and tell it to rotate everything like 15deg? I know that by default it trains with mirroring on, not sure if it auto rotates as well but I didn’t see anything on it so I’d assume not.

There is a class in tensorflow that does this for you. If I recall correctly it is called ImageDataGenerator or something like that, and it’s whole schtick is that it automatizes all pre-processing for you. I’m not sure how much of the code from stylegan you actually messed with, but if it is invariant to horizontal flipping I suspect it is already doing some pre-processing somewhere, possibly via ImgDataGen already, and if so it is just the case of adding rotation to the constructor call.

Still want to have a look at the code you played around with later, btw.

As for the wg sequences, my thought right now is to import the image tuples as just one entry to the dataset, and have them as different dimensions of the same entry(I will call it z from now on, even though that is not strictly correct since the image already has 3 color bytes as a z). I assume it won’t be something you can do out of the box, but tensorflow already works great with multi-dimensional data, so I don’t think it will complain much about that, it will just require a bit of finnagling to get the data in as we want.

Then comes the more iffy part of this approach: I am not 100% if you just run it buck naked(just the pure vanilla stylegan) it will be able to learn the patterns in the z dimension(the changes through time/images). I think it might, and I want to try it, since it is literally just running it as it already is. My guess is that it will either get confused with how to run the image convolutions over the extra dimension, or it might also get cheeky and automatically run standard vector space convolutions. I think the vector space ones might be able to learn on their own, because if you think about it, the z dimension displays patterns just the same as any 2D feature in an image. If it doesn’t automatically default to vector space convolutions, we will have to teach it how to do it ourselves.

Finally, there is also the possibility the vectorial pattern recognition won’t be able to do the job. This is a worst case scenario, because if this is the case we will have to think up another way to model the data ourselves. Maybe representing the combination of the both images as the difference between them would work for instance.

P.S.: I just noticed that you might have meant “how would I go about creating that dataset” with your second question. As I said before, right now the only thing we want is to have a bunch of sequences with good filenames so we don’t get lost. After that we will want to manually arrange them as tuples, at this point cropping them manually if required(like those that the whole sequence is a single file). To arrange them as tuples we have a few options, we can automatically encode them into json, we can convert them to raw and then append the z dimension after an arbitrary point in the file. Finally, we can try dropping each tuple into a folder, and TF already has a few ways in which it can automatimally understand directory structure when it is importing data. We would have to think which of the three is the best option for us depending on how we choose to structure our work.

I made a quick and dirty .zip of sequences, would still need cropping and a good bit of pruning to be actually usable. I think it is going to be quite the tall order to create a large enough dataset of sequences to reasonably train with. The number of sequences out there that keep the character mostly oriented the same way are fairly few, I think we would struggle to get more than ~1000 images worth of usable sequences.

The sequence .zip is Here mostly just as potential sequences with some organization (most the multi-image sequences are named appropriately, very few of the single image sequences are). A lot of them are probably less than idea as the character often moves around and this mostly just as an example.

1 Like

I have started sorting the pictures in what I believe are good, bad, needs some work (flipping images to match pose better or only keeping the poses that matches somewhat) and pregnancy (I’m not sure how useful they are) piles.

I also found this subreddit (about 1k pictures got downloaded) and I’m planning on going through these pictures to remove duplicates and whatnot.

1 Like

You are an absolute hero! Easiest way I’ve found to handle duplicates is a program called DupeGuru. If you end up using it, just make sure you set the Application mode to “Picture” or it will only find pictures that are 100% the same.

Edit: also I figure pregnancy is probably fine. I found that a lot of pregnancy pictures are ideal for training with because artists will have a non-belly picture and then a belly picture with the same pose.

1 Like

Vitality Spritepack.zip (2.6 MB)

Here are my sprites. Nude and clothed varieties for most of them. They come in a variety of heights and bodyweight distributions. I don’t know how useful this amount will be, but it took months for me to make these. Hopefully the generator will be able to make this process faster.

1 Like

As someone coming into this today, it’s fucking hilarious to read through. I love the project, your dedication, the little behind-the-scenes, but holy shit my dude, the images are killing me! The bad ones are a hoot and the abominations have me in stitches. I love this, if only for how unexpected some of the results are.

I want this project to succeed so that you’re happy with it, but I can’t get over how much fun the half-baked results are. Win or lose, you’re making a gem of a thread for us.

2 Likes

As someone who searches through Pixiv and Twitter once a month or so for new stuff, what would be the best way to drop the WG-sequences I find off for you? As you’ve got mass-grabbers and crawlers and those sorts of things, would it even be useful?

The easiest would be some sort of thing I could just drag-and-paste into, like some sort of shared, controlled document where people could upload images and they’d automatically get dropped if they’re dupes, but I don’t know if such a thing exists.

For example, I found these images on https://twitter.com/motimothi_bbw 's twitter, making them public images:



Is contributing this sort of thing useful, or is it redundant in the face of automated collection programs?

1 Like

https://volafile.org/ seems like a good option

Here is the room I created:
https://volafile.org/r/1q6wr6tzr

If I understand the service correctly, anyone with the link can upload files. We have 20GB of storage for free.
I am not sure with which frequency the data can remain there, but I think it might be the case that as long as at least one person is connected to the room, it will still be there.

I will upload some from my private collection there. Later we can think of how to sift through them.

For everyone that wants to help, remember:

  • We are only looking for sequence images.
  • Pregnancy is also in for now, and we can decide if we really want to include them later, but please refrain from adding single images.
  • I don’t know if this service will allow us to filter by when the files were added, so please stick to the following naming convention: YourUsernameHere-[sequence number]-[step in the sequence]
    So say I want to add my 8th sequence, the second file in it would be Ano-8-2

I’d say the shared document thing would be helpful for sure. Because I was originally just doing mass downloads for training data, I skipped a lot of individual artists/sequences because it would have taken a while to sort out with low payout. Now that we targeting sequences I think that it needs a more human touch.

Just saw the thing Ano posted, is it like a file sharing chat room?

I’m testing it out right now. It seems so.

So for the sequences to be valid:

Does the character depicted always need to be in the same general pose?

What should I do with multiple-stages in a single image sequences?

Also, should I upload the images that were in my image dump that are sequences here separately?

The characters can be in any pose, as long as it is a sequence.

If we need, we can then filter the ones in which the character changes too much out later.

I believe the model will be able to generalize a bit, but not sure to what extent, so for now it is better just to gather everything and filter later.

In regards to senquences in a single file, post them as a single entry for now. Say Ano-2-1 even if there are multiple stages in the file. We will need to crop them appropriately later.

As for your dump, I haven’t really looked at it. Since you probably know it better than anyone else, could you upload them again in this repository?

Also, the repository is pretty bare-bones, it doesn’t seem to have proper timestamps, and it doesn’t even allow you to make folders. But at least it lets anyone add files anonymously. My other option, Google Drive, would require people to log in to upload files, and that would not do here. I guess later when we have enough we can batch download everything in a room and organize it better somewhere else.

I went ahead and uploaded the .zip I put earlier with all the sequences I had before. Would you rather I put individual files or just zip them all together for the future? Also I accidentally just used the default name so I’m Hedone in there (sort of close to hedonist, which is vaguely appropriate I suppose).

I have absolutely no idea if you putting out a zip is a problem :neutral_face:

If it is not clear, I’m making this “crowdsourcing lewd images” up as I go along, haha. Sometimes it is just important to get the first foot out the door, and even if this solution isn’t perfect, at least it is a start.

For instance, I just thought that it is important that we delete this after we hit some milestone, because we have absolutely no rights to be sharing these images and we don’t want to accidentally make a big bank of sequence images with 0 attribution to the original author, right?

I think it would be more convenient for people to just zip their collections instead of naming all sequences like @Ano suggested. then they just have to name that zip after their username, a random string or whatever, basically making their zip file their folder. I think it’s important to make sharing as convenient as possible so people can be bothered to do it. it would also be (in my opinion) a more convenient way to download them.

the site says “Files expire after 2 days” so I think we wont get in too much trouble sharing this around since the files wont stay there forever (we just need to remember to download the files). though it would probably be better if we could limit who can download from there in some way, if it is possible.

It’s probably my fault that we’re uploading images the way we are because I asked for a way I could just drop them off when I find them rather than packing them into a zip for a big drop-off.

I know that sometimes I see sequences that don’t really do anything for me for whatever reason but since we’re looking for pretty much anything WG anime girl due to the need to build the database, I wanted something I could use to drop off images as I grab them rather than save images I wouldn’t care for and zip them up at later date.

well you do whatever you find the most convenient

I think I have all the files downloaded, it is a bit difficult to check with the free floating files. After removing duplicates (prioritizing keeping files with renamed filenames to keep it in order), we have about 1800 images worth of sequences which is a lot more than I was expecting. I suppose now the goal would be to create good crops for everything, get the filenames in order and figure out how to train using the sequences.

I can attempt to use the AI cropper I have been using but I’d imagine we are going to need a human touch to get good results. Is there a good way to crop a lot of photos manually quickly? Ideally we would be able to just quickly draw a box and it would crop and save.

As for file names, I suppose we should come up with a consistent file naming structure.

Then I’m going to need help hammering out the technical details on how we training off of all these sequences. Stuff like “How big should the final crop size be? 256? 512? 1024?” “is there a limit to the number of images we can have in a tuple? Will mismatched tuple sizes be an issue?” “Should we do transfer learning from one of the existing models or try to train purely off of what images we have?”.