Projects

Academic Projects

Face Detection using Aggregate Channel Features

Apr 2019

Aggregate Channel Features [1] are computed on image patches. An SVM is trained to classify the patches as Face or Non-Face.

[1] Bin Yang et al. "Aggregate channel features for multi-view face detection", IEEE International Joint Conference on Biometrics.
Cryptography using Neural Networks using Adversarial Training

Mar-Apr 2019

A typical Cryptography setup consisting of Alice (transmitter), Bob (receiver) and Eve (Eavesdropper) is used. Neural Networks are used for all 3 (Alice, Bob and Eve). A passphrase and a key is inputted to Alice who outputs a ciphertext. This is passed to both Bob and Eve. Bob additionally has access to the original key used by Alice. Eve acts as an adversary. Alice and Bob are trained to communicate securely while Eve is trained to decrypt the ciphertext. When all 3 networks converge, a secure communication channel is obtained [1]. This is a joint project with Chandrasekhar S and Sandesh Rao M.

[1] Martin Abadi et al. "Learning to Protect Communications with Adversarial Neural Cryptography", arXiv e-prints arXiv:1610.06918.
VGG-19 Features as Full Reference - Image Quality Assessment (FR-IQA) metric

Nov 2018

A VGG19 network [1] pretrained on ImageNet-1K dataset is used. The features extracted (by an intermediate layer) for both reference and test image are compared [2]. L2 difference between these 2 feature vectors is used as a FR-IQA metric. This is evaluated on LIVE IQA dataset [3].

[1] Karen Simonyan et al. "Very Deep Convolutional Networks for Large-Scale Image Recognition", ICLR 2015.
[2] Christian Ledig et al. "Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network", CVPR 2017.
[3] Hamid Sheikh et al. "A Statistical Evaluation of Recent Full Reference Image Quality Assessment Algorithms", TIP 2006.
Intra-Campus Wi-Fi Calling System

Jan-May 2016

A system is developed to make voice calls and transmit messages within a campus using just Wi-Fi and no internet. TCP is used to transmit packets. Voice Activity Detection to suppress non-voice packets is used to decrease delay and increase performance. A server is developed to connect calls and an Android App is developed for client-side. This is a joint project with Aaditya Ravindran and Lakshmi Tejas M.


Two digit Decimal Adder-Subtracter using Logic Gates

Nov 2013

Two numbers (2 digit in decimal number system) are inputted using switches. BCD encoders are used to convert the numbers to BCD number system. For addition, BCD added is used. For subtraction, a BCD subtracter is designed. After the operation, the values are converted back to Decimal system using BCD decoders. The result is displayed on Seven-Segment displays.


Miscellaneous

Token Generator

Sep-Oct 2014

During a science exhibition, some games were organized to attract the crowd. To play each game, a person needs to submit a token. Instead of directly giving token, a Token Generator was designed based on Ring Counter. A switch is used to stop the counter. The state in which the counter stops determines the number of tokens given to the person.


Android Apps

2014-2016

Developed a few android apps, among which some of them have been published on Google Play Store.

  1. Finance Manager: Helps managing the finances of individuals, with added features such as statistics, automatic entry of transactions from bank messages, export to PDF and backup/restore. This is developed in Java using Android Studio.
  2. One Touch Settings: Adds a button panel is notification drawer to control frequently used settings

Many more here.