Files
subraoulandClaude 59e2bb7106 Fix naming in README title: Enhancement → Enhancer
Match repository and package naming consistency.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 13:17:52 -08:00

223 lines
7.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ComfyUI Bit Depth Enhancer
Custom nodes for bit-depth enhancement and banding removal in ComfyUI.
## Description
This package provides nodes for enhancing 8-bit images to 16-bit with reduced banding artifacts. Includes both classical image processing methods and deep learning approaches.
**All nodes support batch processing.**
## Nodes
### 1. Bit Depth Enhancement (Classical)
Classical image processing methods for bit-depth enhancement. No ML models required.
**Methods:**
- **Bilateral+Dither** - Edge-aware filtering with Floyd-Steinberg dithering
- **Gradient Domain** - Gradient-space processing for smooth transitions
- **Multi-scale Fusion** - Laplacian pyramid decomposition
- **Fast Edge-Aware** - Guided filter for fast processing
**Parameters:**
| Parameter | Type | Range | Description |
|-----------|------|-------|-------------|
| `image` | IMAGE | - | Input image |
| `method` | STRING | 4 options | Enhancement algorithm |
| `strength` | FLOAT | 0.0-1.0 | Enhancement intensity (default: 0.7) |
| `preserve_edges` | BOOLEAN | - | Maintain edge sharpness (default: True) |
### 2. Save 16-bit TIFF
Export enhanced images as 16-bit TIFF files.
**Parameters:**
| Parameter | Type | Options | Description |
|-----------|------|---------|-------------|
| `images` | IMAGE | - | Input images |
| `filename_prefix` | STRING | - | Output filename prefix |
| `color_profile` | STRING | 4 options | Color space (sRGB, Adobe RGB, ProPhoto RGB, Linear) |
### 3. ABCD Bit-Depth Enhancement (8→16)
Deep learning model for 8-bit to 16-bit enhancement using the ABCD (Arbitrary Bitwise Coefficient for De-quantization) architecture.
**Based on:** [ABCD - Learning to Restore Compressed Images with Arbitrary Bit-depth](https://github.com/WooKyoungHan/ABCD)
**Paper:** CVPR 2023
ABCD uses coordinate-based implicit neural representation to reconstruct quantized images across arbitrary bit-depths. Three model architectures available:
- **SwinIR-ABCD** (Recommended) - Swin Transformer-based, highest quality (130h training, 4 GPUs)
- **RDN-ABCD** - Residual Dense Network, balanced performance (82h training, 2 GPUs)
- **EDSR-ABCD** - Enhanced Deep Residual, fastest processing (65h training, 1 GPU)
**Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `image` | IMAGE | Input 8-bit image |
| `model` | STRING | Model architecture (SwinIR-ABCD, RDN-ABCD, EDSR-ABCD) |
### 4. deepDeband (Banding Removal)
Deep learning model specifically trained for banding artifact removal using gradient-domain processing.
**Based on:** [deepDeband - Deep Gradient-Domain Image Debanding](https://github.com/RaymondLZhou/deepDeband)
**Paper:** ICIP 2022
Trained on 51,490 pairs of pristine and banded image patches (256×256). Two model variants:
- **deepDeband-w** (Recommended) - Uses weighted bilateral patch fusion for smoother results
- **deepDeband-f** - Direct patch processing, faster but may show seams
**Important:** These models were trained on real images and video frames. They may produce banding artifacts on synthetic images (3D renders, gradients, vector graphics).
**Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `image` | IMAGE | Input image with banding |
| `model` | STRING | Model variant (deepDeband-w, deepDeband-f) |
| `strength` | FLOAT | Debanding intensity (0.0-1.0, default: 1.0) |
| `tile_size` | INT | Tile size for processing (default: 256) |
| `tile_overlap` | INT | Overlap between tiles (default: 128) |
## Installation
1. Navigate to ComfyUI custom nodes directory:
```bash
cd ComfyUI/custom_nodes
```
2. Clone this repository:
```bash
git clone https://github.com/subraoul/ComfyUI_Bit-Depth-Enhancer.git
cd ComfyUI_Bit-Depth-Enhancer
```
3. Install dependencies:
```bash
pip install -e .
```
4. Restart ComfyUI
**Note:** This package is published to the ComfyUI Registry! You can also install manually following the instructions below.
### Dependencies
- Python 3.9+
- PyTorch 2.0+
- OpenCV 4.8+
- NumPy 1.24+
- scipy 1.11+
- tifffile 2023.0+
## Model Setup
Deep learning nodes require model checkpoints. Models should be placed in the ComfyUI models directory:
```
ComfyUI/models/bit_depth_enhancement/
├── abcd/
│ ├── edsr_abcd.pth
│ ├── rdn_abcd.pth
│ └── swinir_abcd.pth
└── deepdeband/
├── deepDeband_w.pth
└── deepDeband_f.pth
```
### ABCD Models
Download from Google Drive (original ABCD repository):
- **EDSR-ABCD**: [Download](https://drive.google.com/file/d/1LAe1KUPe8MuOP_NRwBMfQ5W32o37Ln6W/view?usp=sharing)
- **RDN-ABCD**: [Download](https://drive.google.com/file/d/1tj7HiSpDxuHdEFQYG_EwWncDisfT_k88/view?usp=sharing)
- **SwinIR-ABCD**: [Download](https://drive.google.com/file/d/1zBGLttDMET7CQcj729sZyPKOVWpMyyMZ/view?usp=sharing)
Rename downloaded files to match the expected names and place in `ComfyUI/models/bit_depth_enhancement/abcd/`
### deepDeband Models
Download from GitHub (original deepDeband repository):
1. Navigate to [deepDeband checkpoints](https://github.com/RaymondLZhou/deepDeband/tree/master/pytorch-CycleGAN-and-pix2pix/checkpoints)
2. Download from subdirectories:
- `deepDeband-w/latest_net_G.pth` → rename to `deepDeband_w.pth`
- `deepDeband-f/latest_net_G.pth` → rename to `deepDeband_f.pth`
3. Place in `ComfyUI/models/bit_depth_enhancement/deepdeband/`
**Note:** You only need the generator weights (`latest_net_G.pth`), not the discriminator (`latest_net_D.pth`).
## Basic Usage
### Classical Enhancement Workflow
```
Load Image → Bit Depth Enhancement (Classical) → Save 16-bit TIFF
```
**Recommended Settings:**
- Method: Bilateral+Dither (general use) or Multi-scale Fusion (best quality)
- Strength: 0.7
- Preserve Edges: True
- Color Profile: sRGB (web) or Adobe RGB (print)
### ABCD Deep Learning Workflow
```
Load Image → ABCD Bit-Depth Enhancement → Save Image
```
**Recommended:** Use SwinIR-ABCD for best quality results.
### deepDeband Workflow
```
Load Image → deepDeband → Save Image
```
**Recommended:** Use deepDeband-w with default settings. Lower strength (0.5-0.7) for subtle enhancement.
**Warning:** Avoid using deepDeband on synthetic/rendered images as it may introduce artifacts.
## Known Limitations
- Classical methods cannot recover dynamic range not present in source
- Processing time scales with image resolution
- Deep learning models require GPU for reasonable performance
- Source image quality matters - heavily compressed JPEGs benefit less
- deepDeband may produce artifacts on synthetic/3D rendered images
## Output Format
- **Classical + Save 16-bit TIFF**: True 16-bit TIFF files (65,535 levels per channel)
- **Deep learning nodes**: Standard ComfyUI IMAGE output (can be saved with any ComfyUI save node)
## References
This implementation is based on the following research:
### ABCD
- **Paper:** "Arbitrary Bit-Depth Quantization for Image Restoration"
- **Repository:** https://github.com/WooKyoungHan/ABCD
- **Conference:** CVPR 2023
- **Authors:** WooKyoung Han et al.
### deepDeband
- **Paper:** "Deep Gradient-Domain Image Debanding"
- **Repository:** https://github.com/RaymondLZhou/deepDeband
- **Conference:** ICIP 2022
- **Authors:** Raymond L. Zhou, Shahrukh Athar, Zhongling Wang, Zhou Wang
## License
MIT License - see [LICENSE](LICENSE) file for details.
## Credits
**Author:** raoul-ubuntu
**Built with:**
- [ComfyUI](https://github.com/comfyanonymous/ComfyUI)
- [PyTorch](https://pytorch.org/)
- [OpenCV](https://opencv.org/)
## Support
Report issues or request features at: [GitHub Issues](https://github.com/subraoul/ComfyUI_Bit-Depth-Enhancer/issues)