From 03494941b6316efa4f59b3a4a0eb27619d978c98 Mon Sep 17 00:00:00 2001 From: Pontus Ebelin Date: Tue, 9 Apr 2024 20:57:24 +0200 Subject: [PATCH] Final commit for v1.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Changed the Python version of ꟻLIP so that it leverages the C++ code through [pybind11](https://github.com/pybind/pybind11). - Results (only evaluation, not including file load/save, etc; measured on an AMD Ryzen Threadripper 3970X 32-Core Processor, 3693 MHz, with 32 Cores and 64 Logical Processors): - 20-47x faster for LDR/HDR CPU. - Timings for 1920x1080 images: - Python/LDR: 77 ms - Python/HDR: 1007 ms - **NOTE**: The Python version can currently _not_ run the CUDA version of ꟻLIP (see issue [#22](https://github.com/NVlabs/flip/issues/22)). - **NOTE**: The Python tool now uses the C++ tool. Compared to before, you will need to change `_` to `-` when calling flip.py (e.g., `python flip.py -r reference.exr -t test.exr --start_exposure 3` is now `python flip.py -r reference.exr -t test.exr --start-exposure 3`; see `python flip.py -h`). - The Python version of ꟻLIP can now be installed using `pip` (run `pip install -r requirements.txt .` from the `python` folder). - The code for the C++/CUDA tool is now in `FLIPToolHelpers.h`. - **NOTE**: The fourth `evaluate()` function in `FLIP.h` now takes two additional arguments: `computeMeanError` and `meanError`. Furthermore, its list of arguments has been partly reordered. - **NOTE**: The median computation (used for automatic start and stop expsoure computations in HDR-ꟻLIP) in the C++/CUDA code has been changed, sometimes causing a minor change in results but always resulting in a significant speedup. The tests have been updated following this change. - Timings for 1920x1080 images (only evaluation, not including file load/save, etc, *but* measured with another GPU and including more code than the numbers presented in the v1.2 update, so the numbers are not directly comparable; measured on an AMD Ryzen Threadripper 3970X 32-Core Processor, 3693 MHz, with 32 Cores and 64 Logical Processors and an NVIDIA RTX 4090 GPU): - CPP/LDR: 86 ms - CPP/HDR: 1179 ms - CUDA/LDR: 8 ms - CUDA/HDR: 131 ms - Added check for OpenMP for CMake build. - Overlapped histograms are now available in the C++ tool code. These are created when one reference and _two_ test images are input, together with the `--histogram` flag. - Text file output are now available in the C++ tool code. These are created when the `--textfile` flag is input. - The Python and C++ tests now use the same targets. --- README.md | 4 +--- cpp/README.md | 6 +++--- misc/versionList.md | 14 ++++++++++---- python/README.md | 6 +++--- pytorch/README.md | 2 +- 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index ed9a0a7..ce71184 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ ![Teaser image](images/teaser.png "Teaser image") -# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.3) - -**NOTE**: we are working on a new version of FLIP, namely v1.4, but we screwed up a bit, so please use this commit `d3f25e6` (v1.3 with some fixes) until the title on this page says (v1.4). +# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.4) By [Pontus Ebelin](https://research.nvidia.com/person/pontus-ebelin), diff --git a/cpp/README.md b/cpp/README.md index 37db6dd..d487d77 100644 --- a/cpp/README.md +++ b/cpp/README.md @@ -1,4 +1,4 @@ -# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.3) +# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.4) By [Pontus Ebelin](https://research.nvidia.com/person/pontus-ebelin), Jim Nilsson, @@ -125,9 +125,9 @@ Invoking HDR-FLIP FLIP between reference image and test image : Mean: 0.283478 Weighted median: 0.339430 - 1st weighted quartile: 0.251123 + 1st weighted quartile: 0.251122 3rd weighted quartile: 0.434673 - Min: 0.003118 + Min: 0.003123 Max: 0.962022 Evaluation time: seconds ``` diff --git a/misc/versionList.md b/misc/versionList.md index 49c4c22..f777902 100644 --- a/misc/versionList.md +++ b/misc/versionList.md @@ -5,16 +5,22 @@ changed for the different versions of ꟻLIP: # Version 1.4 (commit nnnnnnn) - Changed the Python version of ꟻLIP so that it leverages the C++ code through [pybind11](https://github.com/pybind/pybind11). - - Results (only evaluation, not including file load/save, etc): - - 19-34x faster for LDR/HDR CPU (measured on an AMD Ryzen Threadripper 3970X 32-Core Processor, 3693 MHz, with 32 Cores and 64 Logical Processors). + - Results (only evaluation, not including file load/save, etc; measured on an AMD Ryzen Threadripper 3970X 32-Core Processor, 3693 MHz, with 32 Cores and 64 Logical Processors): + - 20-47x faster for LDR/HDR CPU. - Timings for 1920x1080 images: - - Python/LDR: 81 ms - - Python/HDR: 1370 ms + - Python/LDR: 77 ms + - Python/HDR: 1007 ms - **NOTE**: The Python version can currently _not_ run the CUDA version of ꟻLIP (see issue [#22](https://github.com/NVlabs/flip/issues/22)). - **NOTE**: The Python tool now uses the C++ tool. Compared to before, you will need to change `_` to `-` when calling flip.py (e.g., `python flip.py -r reference.exr -t test.exr --start_exposure 3` is now `python flip.py -r reference.exr -t test.exr --start-exposure 3`; see `python flip.py -h`). - The Python version of ꟻLIP can now be installed using `pip` (run `pip install -r requirements.txt .` from the `python` folder). - The code for the C++/CUDA tool is now in `FLIPToolHelpers.h`. - **NOTE**: The fourth `evaluate()` function in `FLIP.h` now takes two additional arguments: `computeMeanError` and `meanError`. Furthermore, its list of arguments has been partly reordered. +- **NOTE**: The median computation (used for automatic start and stop expsoure computations in HDR-ꟻLIP) in the C++/CUDA code has been changed, sometimes causing a minor change in results but always resulting in a significant speedup. The tests have been updated following this change. + - Timings for 1920x1080 images (only evaluation, not including file load/save, etc, *but* measured with another GPU and including more code than the numbers presented in the v1.2 update, so the numbers are not directly comparable; measured on an AMD Ryzen Threadripper 3970X 32-Core Processor, 3693 MHz, with 32 Cores and 64 Logical Processors and an NVIDIA RTX 4090 GPU): + - CPP/LDR: 86 ms + - CPP/HDR: 1179 ms + - CUDA/LDR: 8 ms + - CUDA/HDR: 131 ms - Added check for OpenMP for CMake build. - Overlapped histograms are now available in the C++ tool code. These are created when one reference and _two_ test images are input, together with the `--histogram` flag. - Text file output are now available in the C++ tool code. These are created when the `--textfile` flag is input. diff --git a/python/README.md b/python/README.md index 46b7f15..2f68e73 100644 --- a/python/README.md +++ b/python/README.md @@ -1,4 +1,4 @@ -# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.3) +# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.4) By [Pontus Ebelin](https://research.nvidia.com/person/pontus-ebelin), Jim Nilsson, @@ -106,9 +106,9 @@ Invoking HDR-FLIP FLIP between reference image and test image : Mean: 0.283478 Weighted median: 0.339430 - 1st weighted quartile: 0.251123 + 1st weighted quartile: 0.251122 3rd weighted quartile: 0.434673 - Min: 0.003119 + Min: 0.003123 Max: 0.962022 Evaluation time: seconds ``` diff --git a/pytorch/README.md b/pytorch/README.md index 7481983..927c416 100644 --- a/pytorch/README.md +++ b/pytorch/README.md @@ -1,4 +1,4 @@ -# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.3) +# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.4) By [Pontus Ebelin](https://research.nvidia.com/person/pontus-ebelin), Jim Nilsson,