| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This repository is part of a collection of three repositories. See the links below for the related projects.
ColorTransferLab is a web-based user interface for the application of color transfer, style transfer, and colorization algorithms on different data types, including Images, Videos, Point Clouds, Meshes, Light Fields, Volumetric Videos, and Gaussian Splattings, with the possibility to visualize these data types. Additionally, 20 evaluation metrics are included to assess color transfer results. It is based on our previous tool ColorTransferLab.
This tool is based on WebRTC communication between the client, which is the User Interface, and the compute node, which applies computations using the Python library ColorTransferLib. This library contains available algorithms and image quality assessment metrics.
This system consists of four components: Client, Web Server, Signaling Server, and Compute Node, which will be explained in the following sections.
The client is the user interface, served by a web server available at https://potechius.com/ColorTransferLab or self-hosted. It allows users to visualize data and connect to an available Compute Node to apply the aforementioned algorithms.
To connect two instances, such as the client and compute node, within this WebRTC-based setup, the signaling server announces them to each other. The server is available at https://signal.potechius.com and also displays a list of available instances when accessed via a browser.
This instance must be provided by the user (see Section 2: Usage). It supplies the necessary data and computational power to apply the algorithms. It is a Python instance with an installed version of ColorTransferLib.
The above image illustrates the three stages of the compute node:
In this setup, the signaling server is provided via https://signal.potechius.com, and the user interface is served through the web server at https://potechius.com/ColorTransferLab. The only instance that must be provided by the user is the compute node. Notably, both the signaling server and the web server are included in this repository and can be self-hosted. The following steps must be followed to run the compute node and test the application.
Clone the repository and go into the directory
git clone git@github.com:hpotechius/ColorTransferLab.git cd ColorTransferLab
Create and activate an environment env using Python3.12
python3.12 -m venv env source env/bin/activate
Install the necessary packages
pip install -r ComputeNode/requirements.txt
Run the Compute Node
cd ComputeNode python main_computenode.py
Connect to Signal Server
Connect to Compute Node
If you want to run ColorTransferLab completely locally, you have to run also the Signal Server and the Webserver.
git clone https://github.com/hpotechius/ColorTransferLab
cd SignalingServer python3.12 -m venv env source env/bin/activate pip install -r requirements.txt python main_signalingserver.py
The signal server will be available at http://localhost:8071.
In the file WebServer/src/config.json change the variable signalServerURL to http://localhost:8071.
cd WebServer npm install npm run dev
The tool will be available at http://localhost:5173/ColorTransferLab.
In the file ComputeNode/main_computenode.py change the Variable SIGNAL_SERVER from https://signal.potechius.com to http://localhost:8071.
SIGNAL_SERVER = "http://localhost:8071" # SIGNAL_SERVER = "https://signal.potechius.com"
cd ComputeNode python3.12 -m venv env source env/bin/activate pip install -r requirements.txt pip install git+https://github.com/facebookresearch/detectron2.git@main # Optional: To enable semantic segmentation support pip install git+https://github.com/facebookresearch/sam3.git
Figure 1: Supported data types. Note: Palette Transfer is not currently available.
Video 1: Usage of the ColorTransferLab interface.
Video 2: Usage of the User Study interface.
If you utilize this code in your research, kindly provide a citation:
@inproceeding{potechius2023,
author={Herbert Potechius, Thomas Sikora, Gunasekaran Raja, Sebastian Knorr},
title={A software test bed for sharing and evaluating color transfer algorithms for images and 3D objects},
year={2023},
booktitle={European Conference on Visual Media Production (CVMP)},
doi={10.1145/3626495.3626509}
}
@article{potechius2025,
author = {Herbert Potechius, Thomas Sikora, Sebastian Knorr},
title = {ColorTransferLabV2: a software testbed for multi-modal color transfer, colorization, and style transfer},
journal = {Journal of Electronic Imaging},
editor = {SPIE},
year = {2025},
volume = {34},
issue = {5},
pages = {1-31},
doi = {10.1117/1.JEI.34.5.051002},
url = {https://doi.org/10.1117/1.JEI.34.5.051002}
}
| Back | FazBrowse Home | New Git URL |