Repository renamed from ComfyUI-Deep-Exemplar-based-Video-Colorization to ComfyUI-Reference-Based-Video-Colorization to better reflect the comprehensive nature of this toolkit. ## Major Features ### Dual Implementation - ColorMNet (2024) - Modern DINOv2-based approach - Deep Exemplar (2019) - Classic CVPR method - 4 total nodes (2 video, 2 image) ### Modern Components - Multiple feature encoders: VGG19, DINOv2 (ViT-S/B/L), CLIP (ViT-B) - Advanced post-processing: color-matcher, WLS, guided, bilateral filters - Silent auto-installer for dependencies (timm, CLIP, color-matcher) - Comprehensive tooltips on all node parameters ### Performance Optimizations - torch.compile support (15-25% speedup on PyTorch 2.0+) - FP16 mixed precision support - CUDA graphs compatibility handling - Multiple memory modes for ColorMNet ## Bug Fixes - Fix torch.compile CUDA graphs compatibility - Fix ColorMNet model property assignment issue - Remove unsupported disable_cudagraphs parameter - Add proper error handling and graceful fallbacks ## Documentation - Comprehensive user guides and technical documentation - Performance optimization guides - Migration guides - Integration documentation - Auto-installer documentation All URLs updated to: https://github.com/jonstreeter/ComfyUI-Reference-Based-Video-Colorization 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
5.7 KiB
5.7 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.0.0] - 2025-11-13
🎉 Major Release - Dual Implementation
This release includes a complete rewrite with two colorization methods available side-by-side!
Added
ColorMNet Implementation (New)
- ✨ ColorMNet Video Colorization Node - Modern memory-based temporal colorization
- ✨ ColorMNet Image Colorization Node - Single image colorization
- 🚀 DINOv2-based feature extraction for superior quality
- ⚙️ Multiple memory modes (balanced, low_memory, high_quality)
- ⚡ FP16 mixed precision support for faster processing
- 📊 Performance reports with timing and FPS metrics
- 🎯 Automatic model download (~500MB DINOv2 model)
- 📈 Real-time progress bars in ComfyUI interface
Deep Exemplar Implementation (Enhanced Original)
- ✨ Deep Exemplar Video Colorization Node - Original CVPR 2019 method
- ✨ Deep Exemplar Image Colorization Node - Classic exemplar-based approach
- 📊 Performance reports with timing and FPS metrics
- 📈 Real-time progress bars in ComfyUI interface
- 🎯 Automatic model download for all checkpoints
- 🔧 Enhanced WLS filtering with configurable parameters
Infrastructure
- 📦 Automatic checkpoint downloading for all models
- 🔄 Lazy loading of VGG19 models to prevent import-time errors
- 🐛 Fixed relative import issues across all modules
- 📁 Proper extraction of Deep Exemplar checkpoint ZIP files
- 🎨 Example workflow with both methods for comparison
- 📸 Workflow screenshot for README
- 📚 Comprehensive documentation updates
Fixed
- 🐛 ColorMNet greyscale output issue - proper RGB reference passing
- 🐛 ColorMNet color saturation - normalized reference ab channels
- 🐛 Progress bar not working in ColorMNet nodes
- 🐛 Import errors with absolute vs relative paths
- 🐛 VGG19 model loading at module import time
- 🐛 Deep Exemplar checkpoint extraction path issues
- 🐛 Missing auto-download for Deep Exemplar models
Changed
- 📝 Complete README rewrite with both implementations
- 🏗️ Reorganized project structure for clarity
- 🎯 Node display names clarified: "(New)" for ColorMNet, "(Original)" for Deep Exemplar
- 🔧 Improved error messages and logging
- ⚡ Optimized memory usage and performance
Technical Details
ColorMNet Fixes
- Reference Image Processing - Changed from grayscale (L×3) to full RGB
- Color Space Normalization - Proper LAB ab channel normalization (÷110)
- Output Denormalization - Correct scaling from [-1,1] to LAB range (×110)
- Progress Updates - Added
set_progress()calls for UI updates
Deep Exemplar Improvements
- Auto-download System - Downloads from GitHub releases automatically
- ZIP Extraction - Proper handling of nested directory structure
- VGG Loading - Lazy initialization with correct absolute paths
- Import Fixes - All relative imports (
.and..) instead of absolute
Performance Reports
All four nodes now output optional STRING reports containing:
- Processing time and FPS
- Frame count and resolution
- Configuration parameters used
- Enable/disable status of features
Performance
Example Benchmarks (768x432, 240 frames):
- ColorMNet (balanced, FP16): ~5.3 FPS, 45s total
- Deep Exemplar (half-res, propagation): ~4.6 FPS, 52s total
[1.0.0] - 2024-XX-XX
Initial Release
- Initial Deep Exemplar implementation
- Basic video and image colorization nodes
- Manual model download required
- WLS filtering support
Migration Guide
From 1.x to 2.0
Good News: Both old and new implementations are available!
Changes:
- Node Names: Original nodes renamed to "Deep Exemplar ... (Original)"
- New Nodes: "ColorMNet ... (New)" nodes added
- Outputs: All nodes now have optional
performance_reportoutput - Auto-download: Models download automatically on first use
Existing Workflows:
- Will continue to work with Deep Exemplar nodes
- Consider trying ColorMNet for comparison
- Performance reports are optional (can be ignored)
Recommended Actions:
- Update ComfyUI custom node
- Try the new example workflow
- Compare ColorMNet vs Deep Exemplar quality
- Review performance reports to optimize settings
Future Roadmap
Planned Features
- Batch processing optimization
- Memory-efficient streaming mode
- Additional colorization algorithms
- Color palette transfer utilities
- Integration with temporal smoothing nodes
Under Consideration
- Web UI for reference image search
- Automatic reference selection
- Multi-reference blending
- Training script for custom models
- Real-time preview mode
Version Support
| Version | Status | Support Until | Notes |
|---|---|---|---|
| 2.0.x | ✅ Active | Ongoing | Current release |
| 1.0.x | ⚠️ Legacy | 2025-12-31 | Security fixes only |
Breaking Changes
2.0.0
- Node display names changed (internal IDs unchanged)
- New output socket added (backwards compatible)
- Model paths changed (auto-downloaded)
Migration: Update nodes in workflow to see new names. Existing connections work unchanged.
Contributors
Thanks to everyone who contributed to this release!
- ColorMNet integration and bugfixes
- Deep Exemplar enhancements
- Documentation improvements
- Testing and feedback
For detailed technical changes, see the commit history.