Proposal Title | Problem Statement | contributors | Plan of Action | Implementation details | Project Report | Project Slides | Video | Conclusion |
The implementation of the project can be accessed via the following link: here.
Also access the implemented code notebook.
Author | Linkedin profile |
---|---|
Shisheer S Kaushik(M23IQT0063) | Kaushik |
Thirumalai M(M23IQT008) | Thiru |
Haris Ansari(M23IQT003) | Haris |
Sumit Kumar(M23IQT007) | Sumit |
QCNN - Automated Medical Image Diagnostics using QML
In the realm of image classification, the endeavor to harness the capabilities of Quantum Convolution Neural
Networks (QCNN) emerges as an intriguing challenge. Our mission is to delve into the unique convergence of
quantum computing and image analysis. Specifically, we aim to implement a model classifying face image
data set to predict disorders (i.e.,Parkinson’s, Autism, etc), And to unravel the mysteries of QCNN
architecture and its application in classifying images, while keeping a keen focus on the medical dataset and
targeted towards disorders. Furthermore, we endeavor to draw comparisons between the QCNN and its
classical counterpart, the Convolution Neural Network (CNN).
Our project’s primary objectives include:
• Building a diagnostic model for medical images.
• Employing Convolution Neural Networks (CNNs) and transfer learning techniques.
• Understanding the CNN in terms of Quantum Gates and circuits
• Comparing the results between Classical CNN and QCNN.
• Enabling real-time image interpretation to expedite the diagnostic process.
To successfully execute our project, we propose a structured plan of action:
Week 1: Literature Survey and Data Preparation
• Analyzing critically and concisely earlier research and literature related QCNN.
• Gain a thorough understanding of medical data set and its unique challenges.Preprocess the dataset,
ensuring it’s structured and cleaned.
Week 2: Quantum Circuit Design
• Begin the design of quantum circuits for the QCNN model. Translate Convolution and pooling layers
into quantum gate operations.
• Implement a QCNN architecture designed for 4 qubits. Verify that the circuits match the classical CNN
layers in functionality.
Week 3: Quantum Model Training
• Set up the training pipeline for the QCNN. Define loss functions and optimization strategies for
quantum parameters.
• Train the QCNN, aiming to minimize the loss function through iterations. Evaluate its performance on
the training data.
Week 4: Testing, Evaluation and Comparison
• Employ a dedicated test dataset to assess the QCNN’s image classification capabilities. Calculate
accuracy, precision, and recall.
• Create a comparative analysis with a classical CNN model for image classification, focusing on their
respective performance.
By adhering to this 4-week plan, we aim to unravel the potential of Quantum Convolution Neural Networks
in image classification and shed light on their quantum prowess in comparison to traditional approaches.
First steps to run locally
Create a conda environment with the required dependencies:
conda env create -n quantumproj environment.yml && conda activate quantumproj
Installing pennylane :
python3 -m pip install -U pennylane --upgrade
PennyLane comes with high performance built-in simulators, such as default.qubit
, default.mixed
, and lightning.qubit
. In addition, it supports additional quantum simulators and quantum hardware via an array of plugins. Visit the plugins page for details. As a instance, to use 'qiskit' :
python3 -m pip install -U pennylane-qiskit
Final step, installing PySCF (no support for native Windows platform, see issue #750):
python3 -m pip install -U qiskit-nature[pyscf]
Alternatively, one can install the required dependencies via the package_list.txt file:
conda create -yn quantumproj python==3.9.11 && conda activate quantumproj
conda update -yn base -c defaults conda && conda install -yc conda-forge pip==22.1.2
python3 -m pip install --user --upgrade pip && python3 -m pip install -r requirements.txt
Contributions to the repository are always welcome! If you have any ideas for new projects or would like to contribute to an existing one, please feel free to open a pull request.
This work is licensed under a Apache v2.0 license.
Created and maintained by @Shisheer S Kaushik.