Sequential Gallery
This repository offers an implementation of Sequential Gallery and a library for its core algorithm, sequential plane search. It is about a human-in-the-loop Bayesian optimization; see our SIGGRAPH 2020 paper for details.
This repository includes the followings.
sps
: a C++ library for the sequential-plane-search algorithm, which is an extension of preferential Bayesian optimization [Brochu+, NIPS 2007; Koyama+, SIGGRAPH 2017].sequential-gallery
: a desktop application combining the sequential-plane-search algorithm and a grid-view interface for achieving efficient human-in-the-loop visual design optimization.pysps
: Python bindings ofsps
.
Publication
Yuki Koyama, Issei Sato, and Masataka Goto. 2020. Sequential Gallery for Interactive Visual Design Optimization. ACM Trans. Graph. 39, 4 (July 2020), pp.88:1--88:12. DOI: https://doi.org/10.1145/3386569.3392444
The software is provided mainly for researchers who want to use or extend the method described in the above paper. We also expect that the software is useful for developers who plan to use the method in their software.
Project Page
https://koyama.xyz/project/sequential_gallery/
Dependencies
Library (sps
):
- sequential-line-search (git submodule)
- Eigen (
brew install eigen
/sudo apt install libeigen3-dev
) - mathtoolbox (git submodule)
- timer (git submodule)
Application (sequential-gallery
):
- Qt5 (
brew install qt@5
/sudo apt install qt5-default
) - string-util (git submodule)
- visoptslider (git submodule)
- enhancer (git submodule)
Python bindings (pysps
):
- pybind11 (git submodule)
Experiment:
- optimization-test-functions (git submodule)
Test:
- Google Test (git submodule)
Prerequisites
Eigen (3.x.x) and Qt (5.x.x) need to be installed beforehand.
macOS:
brew install eigen qt@5
Ubuntu 18.04:
sudo apt install libeigen3-dev qt5-default
Build
git clone https://github.com/yuki-koyama/sequential-gallery.git --recursive
cd sequential-gallery
mkdir build
cd build
cmake ../
make
Implementation Notes
Code Format
clang-format -i ./app/*.*pp ./exp/*.*pp ./test/*.*pp ./sps/**/*.*pp ./python-bindings/*.*pp
Copyright
Copyright (c) 2021 National Institute of Advanced Industrial Science and Technology (AIST) - [email protected]
License
MIT License. See the LICENSE
file for details.
Contributing
Pull requests are highly welcome. Please be aware that any contribution to this repository will be licensed under the above license condition.