Deep Nude Celebs ONLY

Anyone else here use Grey's Secret Room? I create a new email each time to get tokens but now the providers keep blocking me for making too many accounts. Any advice on what I could do would be appreciated.
 

fudefrak

Well-Known Member
Your work is high quality. Could you please explain how you use control net for nudifying? I've never used it before

Part of the reason my work is high quality is because I train my own models. Full models, not Loras. I have over 700 images of Emma Watson and over 700 images of nude women and porn shots that I include in my dataset, all custom cropped/padded with custom written descriptions for each image. I then generate an inpainting model based on my own model. Each model is focused on a particular celebrity.

It's a complicated process. I'll explain in a spoiler tag to avoid cluttering the thread:

First of all, the sampler I use is "DPM++ 2S a Karras" for every step below:

First, I crop the image to remove extra space around the edges of the person I'm making a deepnude of, so that I'm not wasting GPU resources on parts of the image I don't need for the generation, and the model generally performs better when the images start out cropped this way too. When I'm done, I will place the finished nude in the original uncropped image.

I load up the cropped image into img2img, and I set the resolution so that the shorter dimension is 512, and it matches the aspect ratio. That is because the models are trained on 512x512 images, and perform the best when the shorter dimension matches that resolution, so it's good to start there and work our way up.

Next, I trace all the visible parts of her skin, as well as any other details I think I will need to preserve in the inpainting area. I use a black backdrop and a white brush, and save that as my first controlnet pattern:

Control 1.png

This is loaded into my first controlnet slot, set to scribble, and 1.0 weight. I also make sure to select "just resize" to avoid any scaling issues.

Sometimes at this point I will load up my original (non-inpainting) model, and try to generate an image using this ControlNet. Sometimes what's generated here can help me trace the rest of the body. Sometimes it doesn't line up well with the rest of the body, in which case I have a couple options:

1. Try to draw a guess at her body. If clothing is tight, this isn't too hard.

2. Use an openpose controlnet to help guide the generation into something that fits her pose better, and then trace that and make adjustments where things don't line up perfectly.

Either way, in the end, I'm left with a full body "scribble":

control 2.png

I load this into my second ControlNet slot, once again select scribble, and "just resize", but this time I use a 0.5 weight, so that the traced image is only used as a guide, rather than being fully strict. This seems especially important for the smaller details like nipples and bellybutton, because too high a weight sometimes causes other things being drawn in those areas, like gold coin nips lol.

Then, I go back to photoshop and trace the area that I want to remove as a mask. I feather the edges so that I will be able to blend the generated image back into the original:

mask.png

Then I load up my inpainting model. I use the inpainting-upload tab to make use of the mask. I type in a prompt that fits the style of the image, and generate. In this case, it was probably "a professional nude photo of Emma Watson"

Sometimes I get something good on the first attempt, sometimes I have to try a few times. After I find something I like, I then reuse the same seed and try to regenerate it at 150 steps, to see if it improves the image. Sometimes it does, sometimes it doesn't. Sometimes I need to mix elements of both images together.

Now, I take the image that I generated that is 512x, and I paste that into photoshop, scale it to the right size, and use my above mask as a layer mask to blend it with the original image. Now I have something that looks decent, but is blurry. I save this as a new "base" image, which I then import into img2img, replacing the original image.

I then also replace my second controlnet and add a third:

In both slots, I import the 512x generated image (including if I made any modifications in photoshop to it)

In the second slot, I use the lineart controlnet model, with the lineart realistic preprocessor. I set the weight to 0.25

In the third slot, I use the tile controlnet model, with the default tile preprocessor. I also set the weight to 0.25

Again, make sure all controlnets are using the "just resize" option to avoid misaligned details.

Now, I switch to my non-inpaint model. With the tile ControlNet specifically, it should encourage the new model to keep the correct colors and details in the right areas. It isn't always perfect, but works WAY better if you have something decent in the tile slot than if you just go straight to the non-inpaint model first.

At this point, I need to figure out how big of a render my final image will be. I zoom in on the original image in photoshop. Are the pixels crystal clear? Then I'll try to render an image as close to that resolution as I can. I've unlocked A1111 to allow up to 3072x per dimension. Above that causes problems for my machine. If the pixels are not super clear, I'll figure out approximately how much of a blur there is on the image, and use that as a scaling factor. For example, if each edge is about 2px wide, then I will render at half the resolution of the original image.

If the final render is going to be MUCH larger than my 512x image (like over 2x as wide/tall) then I will first generate another 512x image using the non-inpaint model. This is because this model tends to do details better than the inpaint model, and tends to understand anatomy and proportions best. If I'm able to come up with something better than the inpaint model gave my, I will replace the images loaded into the second and third ControlNet slots with the new generation.

Then I change the resolution to my final resolution. If that final resolution is not massively larger than my 512x render, then I will leave ControlNet settings where they are. If it is a very large image (like this one was) then I will change the Tile ControlNet (third slot) to 0.5 weight, to help preserve details and proportions better, as the bigger the output image, the more difficult it is for SD1.5-based models to render correctly, but the Tile ControlNet in particular is great at upscaling. Although too much weight does sometimes cause weird artifacts, so 0.5 seems like a good balance between being told what to do and having the AI generate its own ideas.

From here, I render a 20 step render at the final resolution. If I'm not happy with it, I will make several other attempts until I find one I'm happiest with. Then I will use the seed from the image I liked the best, and regenerate at 150 steps. If the final resolution is very high, this can take quite a while. My biggest renders I think took over 30 minutes to generate at this point.

Then again, if the 150 step version looks better than the 20 step, I'll go with that. Or I may blend different parts together. Then I take that and I past it into my photoshop project, using the same layer mask again. Disable any layers I'm no longer using, like the low res one from earlier.

Sometimes at this point I need to do some color correcting, so I use the smart select to select the body, and color balance to help tweak the shadows/mids/highlights to more accurate colors, and may do other adjustments like content aware fill, liquify, etc. DON'T use Generative Fill. It won't work and could get you in trouble. There are sometimes ways around this by hiding/cropping parts of the image that would be triggered as nudity first, and then generating and unhiding/uncropping the other stuff, still risky though I don't advise it unless it's necessary.

If I'm happy, I save. If there's still more to do, I may make a smaller mask covering areas that need fixing, load the current composite into img2img, and generate new images focusing on the problem areas. I may also reduce resolution if the highest resolution isn't working for those areas.

Also, when I render at a smaller resolution and scale up, I like to use photoshop's "smart sharpen" with a radius matching the scale factor I used, minus 1. So if I scale down resolution by 1.5x for example, then smart sharpen will use a 0.5px radius. With 100% power. This tends to look more realistic than other sharpening options.

It has taken me a lot of iteration to finally come to a process that I'm able to do fairly consistently, and now I'm so used to doing it almost every day that the only thing that's really time consuming is the generation itself, especially the 150 step generations at high resolution. If you skip the 150 step generations, you could probably cut the time consumed considerably and still get great results most of the time.
 
Last edited:
Top