Code Monkey home page Code Monkey logo

quantum-image-processing's Introduction

This project is based on the following paper: https://arxiv.org/abs/1812.11042

Abstract

An implementation of the quantum fourier transform circuit using IBM Qiskit for image processing purposes. This would theoretically speed up significantly operations relevant to computer vision.

Introduction

An important mathematical function used in computer vision is the Fourier Transform which typically accompanies Convolutional Neural Networks (CNNs) in deciphering the content of images by a computer. Despite there being efficient algorithms such as the Fast Fourier Transform (FFT) which speed up image processing classically, there exist other, more efficient methods of doing so by utilising a Quantum Fourier Transform (QFT) circuit.

Encoding Images

In order for the circuit to work, the images must be assimilated into qubits rather than classical bits. There are two methods of encoding image pixels into a qubit, both of which use $2N+1$ qubits.

Flexible Representation of Quantum Images (FRQI)

This methods involves the encoding of the intensity values of each pixel into the amplitudes of the quantum state of every qubit. This allows for the direct application of the QFT circuit onto the qubits.

Novel Enhanced Quantum Representation (NEQR)

Alternatively, the intensity of individual pixels can be encoded into the basis states of each qubit with NEQR.

Challenges

The aforementioned methods suffer from several issues related to encoding and decoding. Namely, both require the use of square images i.e. images that have square dimensions. In addition, the uncertainty within qubits presents issues when decoding information classically. Also, both require an amount of qubits to codify the positions of pixels relative to the original classical image. A method which solves these issues is Quantum Image Representation Through Two-Dimensional Quantum States and Normalised Amplitude (2D-QSNA). This uses $M+N$ qubits to encode images.

Implementation

Qubit Initialisation

This project will utilise FRQI together with a QFT circuit. Firstly, all qubits will be initialised, after which each is brought into superposition. The intensities of pixels will then be encoded by rotating the generated superposition states. Thus, this part will require Hadamard, phase shift, and CNOT gates combined.

Applying the QFT

After all qubits are initialised and encoded with information, they will then be subject to the QFT circuit. The fact that FRQI is being utilised, will facilitate the application of the QFT since the algorithm acts natively on probability amplitudes. For this, the same types of gates as used in FRQI will be used.

quantum-image-processing's People

Contributors

ica574 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.