# LightTransfer **Repository Path**: yu_shaonian/light-transfer ## Basic Information - **Project Name**: LightTransfer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-01 - **Last Updated**: 2026-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **LightTransfer** LightTransfer 是一个用于“视频全局光照迁移”的 项目。当前实现重点解决白天视频到夜晚、月光、傍晚等整体光照风格转换: - 输入视频或连续帧目录,输出重光照后的视频或帧目录。 - 对曝光、色温、饱和度、阴影色调、天空、高光、暗角和胶片颗粒做统一调节。 - 对每帧亮度统计做 EMA 时间平滑,降低视频闪烁。 - 可保留原视频音频,需要系统安装 `ffmpeg`。 - 可选接入 [nv-tlabs/LuxDiT](https://github.com/nv-tlabs/LuxDiT) 做 HDR 环境光估计,再用 `analyze-envmap` 汇总光照统计。 ## **安装** ``` cd /Users/leiguojun/research/LightTransfer python3 -m venv .venv source .venv/bin/activate pip install -U pip pip install -e . ``` 如果要保留音频,还需要安装 `ffmpeg`: ``` pip install ffmpeg ``` 视频输入: ``` lighttransfer run \ -i input/day.mp4 \ -o output/night.mp4 \ --preset configs/day_to_night.yaml \ --keep-audio ``` 连续帧目录输入: ``` lighttransfer run \ -i frames/day \ -o frames/night \ --preset moonlight ``` 输出调试图,包括输入帧、输出帧、天空 mask、高光 mask 等: ``` lighttransfer run \ -i input/day.mp4 \ -o output/night_debug.mp4 \ --preset day_to_night \ --debug-dir output/debug \ --debug-every 15 ``` ## **常用参数** ``` lighttransfer run -i input.mp4 -o night.mp4 --preset day_to_night \ --exposure-ev -2.6 \ --temperature-shift -0.25 \ --saturation 0.65 \ --sky-strength 0.95 \ --grain 0.008 \ --max-width 1280 ``` 参数含义: - `exposure_ev`:整体曝光,负数变暗。 - `target_mid_luma`:目标中间调亮度;配合 `auto_exposure_strength` 做轻微自动曝光。 - `temperature_shift`:负数偏冷蓝,正数偏暖。 - `sky_strength` / `sky_darken`:天空区域夜化强度。 - `highlight_boost` / `highlight_warmth`:保留或增强高光,让夜景不死黑。 - `temporal_smoothing`:帧间亮度平滑,值越大越稳,但响应越慢。 LuxDiT 可选工作流 先按 LuxDiT 官方说明准备 repo、环境和权重,然后运行: ``` lighttransfer luxdit-estimate \ --luxdit-root third_party/LuxDiT \ --input-dir frames/day \ --output-dir output/luxdit \ --data-type video \ --summary-json output/luxdit/lighting_summary.json ``` 如果 LuxDiT 后续修改了参数名,可以用 `--extra-arg` 透传: ``` lighttransfer luxdit-estimate \ --luxdit-root third_party/LuxDiT \ --input-dir frames/day \ --output-dir output/luxdit \ --extra-arg=--transformer_path \ --extra-arg checkpoints/luxdit_video ``` 也可以单独汇总已有 HDR/LDR 环境光贴图: ```Bash lighttransfer analyze-envmap \ -i output/luxdit/hdr \ -o output/luxdit/lighting_summary.json ``` ## **项目结构** ```Plain configs/ 预设参数 src/lighttransfer/ cli.py 命令行入口 relight.py 核心全局重光照算法 masks.py 天空、肤色、暗角 mask video.py 视频和连续帧处理 envmap.py 环境光贴图统计 luxdit_adapter.py LuxDiT 外部调用适配器 tests/ NumPy 级别单元测试 ``` 参考资料: - [LuxDiT GitHub](https://github.com/nv-tlabs/LuxDiT) - [LuxDiT project page](https://research.nvidia.com/labs/toronto-ai/LuxDiT/) - [LuxDiT arXiv](https://arxiv.org/abs/2509.03680)