Welcome to NISQ-Seg, the official repository for the paper "Qubit-efficient Variational Quantum Algorithms for Image Segmentation", accepted at the Quantum Computing and Engineering 2024 (QCE'24) conference by IEEE. This repository provides the full pipeline for reproducing the experimental results and demonstrations of the three primary encoding methods introduced in the paper:
- Parametric Gate Encoding (PGE)
- Ancilla Basis Encoding (ABE)
- Adaptive Cost Encoding (ACE)
These quantum techniques are optimized for Noisy Intermediate-Scale Quantum (NISQ) devices and demonstrate efficient qubit usage for graph-based image segmentation tasks.
The preprint is available on arXiv.
NISQ-Seg/
│
├── notebooks/
│ ├── abe_experiment.ipynb # ABE experiments and results
│ ├── ace_experiment.ipynb # ACE experiments and results
│ ├── pge_experiment.ipynb # PGE experiments and results
│ ├── paper_figures.ipynb # For generating paper figures
│ ├── read_results.ipynb # Parsing and analyzing results
│
├── src/
│ ├── __init__.py # Init file for encodings and utilities
│ ├── abe.py # Ancilla Basis Encoding implementation
│ ├── ace.py # Adaptive Cost Encoding implementation
│ ├── graph_utils.py # Utility functions for graph generation
│ ├── pge.py # Parametric Gate Encoding implementation
│
├── plots/ # All generated experiment plots
│
├── results/ # Folder to store experimental results
│
├── _repo_data/ # Data folder for README images
│ ├── author_image.jpg # Author image
│ ├── VQA_segmentation_overview.jpg # Overview of segmentation technique
│ └── AdaptiveCostEncoding.jpg # ACE visualization
│
├── README.md # Project documentation (you're reading this!)
├── requirements.txt # Python dependencies
└── LICENSE # License (GNU LGPL2.1)
└── tutorial.ipynb # Full pipeline tutorial for 2x2 image
git clone https://github.com/supreethmv/NISQ-Seg.git
cd NISQ-Seg
All required Python libraries are listed in the requirements.txt
file. Install them using the following command:
pip install -r requirements.txt
The dependencies include essential quantum libraries (like Qiskit), optimization libraries (like SciPy), and plotting tools (like Matplotlib).
Explore the different encoding methods by running the provided Jupyter notebooks:
tutorial.ipynb
: A walkthrough of the image segmentation pipeline for a 2x2 image.
pge_experiment.ipynb
: Experiments with Parametric Gate Encoding (PGE).abe_experiment.ipynb
: Experiments with Ancilla Basis Encoding (ABE).ace_experiment.ipynb
: Experiments with Adaptive Cost Encoding (ACE).
If you find this code useful in your research, please cite the following paper:
@article{venkatesh2024qubit,
title={Qubit-efficient Variational Quantum Algorithms for Image Segmentation},
author={Venkatesh, Supreeth Mysore and Macaluso, Antonio and Nuske, Marlon and Klusch, Matthias and Dengel, Andreas},
journal={arXiv preprint arXiv:2405.14405},
year={2024}
}
Supreeth Mysore Venkatesh
For any inquiries, please reach out to:
- Email: [email protected]
- LinkedIn: Supreeth Mysore Venkatesh
- Website: www.supreethmv.com