Spaces:
Runtime error
Runtime error
During investigation of compatibility issues with [WASasquatch's FreeU_Advanced](https://github.com/WASasquatch/FreeU_Advanced/tree/main) and [blepping's jank HiDiffusion](https://github.com/blepping/comfyui_jankhidiffusion) nodes I stumbled upon some quite hard problems. There are `FreeU` nodes in ComfyUI, but no such for HiDiffusion, so I decided to implement RAUNet on base of my BrushNet implementation. **blepping**, I am sorry. :) | |
### RAUNet | |
What is RAUNet? I know many of you saw and generate images with a lot of limbs, fingers and faces all morphed together. | |
The authors of HiDiffusion invent simple, yet efficient trick to alleviate this problem. Here is an example: | |
![example workflow](example/RAUNet1.png?raw=true) | |
[workflow](example/RAUNet_basic.json) | |
The left picture is created using ZavyChromaXL checkpoint on 2048x2048 canvas. The right one uses RAUNet. | |
In my experience the node is helpful but quite sensitive to its parameters. And there is no universal solution - you should adjust them for every new image you generate. It also lowers model's imagination, you usually get only what you described in the prompt. Look at the example: in first you have a forest in the background, but RAUNet deleted all except fox which is described in the prompt. | |
From the [paper](https://arxiv.org/abs/2311.17528): Diffusion models denoise from structures to details. RAU-Net introduces additional downsampling and upsampling operations, leading to a certain degree of information loss. In the early stages of denoising, RAU-Net can generate reasonable structures with minimal impact from information loss. However, in the later stages of denoising when generating fine details, the information loss in RAU-Net results in the loss of image details and a degradation in quality. | |
### Parameters | |
There are two independent parts in this node: DU (Downsample/Upsample) and XA (CrossAttention). The four parameters are the start and end steps for applying these parts. | |
The Downsample/Upsample part lowers models degrees of freedom. If you apply it a lot (for more steps) the resulting images will have a lot of symmetries. | |
The CrossAttension part lowers number of objects which model tracks in image. | |
Usually you apply DU and after several steps apply XA, sometimes you will need only XA, you should try it yourself. | |
### Compatibility | |
It is compatible with BrushNet and most other nodes. | |
This is ControlNet example. The lower image is pure model, the upper is after using RAUNet. You can see small fox and two tails in lower image. | |
![example workflow](example/RAUNet2.png?raw=true) | |
[workflow](example/RAUNet_with_CN.json) | |
The node can be implemented for any model. Right now it can be applied to SD15 and SDXL models. |