Photo by Ilya Pavlov on Unsplash



HELLO!

Find a list of some of my notable projects that I undertook after 2014. During my inital years, as a typical student, I hardly documented or used version control for my projects.

need no git

I now regret my naivety and have started using version control locally and GitHub as well. For now, I have managed to scrap links and details of my previous projects and have provided them in the list alongwith a small story to provide my motivation behind these projects.




  • Visual Search - This project was done during my time as a Data Science intern at Merkle-Sokrati. This involved implementing a three way Siamese network where the replicated network is a combination of a deep and multiple shallow neural networks. This network is defined here :
    https://arxiv.org/abs/1404.4661
    This task was implemented with a apparel recommendation application in mind. I was able to come up with improvements to the model architecture as well as an intelligent workaround to automate the labelled data generation task. Details of this project can be found in my 4 part writeup starting here. Image below is a screenshot of the testing UI I set up in Flask to validate my model.

    vs




  • CTR prediction : This was one of my major projects. I undertook this projects alongside Pranav, Shivani and Rudra. An application for the model in the project and guidance was provided by Harshad Saykhedkar.
    Digital marketing is a growing industry with annual spends running in billions of dollars.

    shirt A advertisement, as shown in the figure above, is a very visual medium and the chances of interaction by the viewer depends as much on the image as much on the actual price of the product. This project aimed to identify what made images clickabe and score multiple images of a single product on their clickability. A convolutional autoencoder in conjunction with a convolutional neural network were used to identify features that make (or do not make) images clickable. Some examples :

    GOOD

    good

    BAD

    bad




  • Deep Learning, the BLACKBOX : The buzz of deep learning as a solution to artificial intelligence was on and I too was a part of it. I started with multiple blogs online, courses on Coursera, YouTube, etc. and books. Graduating to a convolutional neural network, I found these models hard to visualize and interpret. Thus, I wrote a generic module to help me visualize all my models.

1 2 3 MORE BELOW




  • MNIST for Marathi : Marathi is the world’s 19th most spoken language. Marathi also happens to be my mother tongue, and is spoken in most of western India (the state of Maharashtra). Data collection of a MNIST like marathi character recognition task was undertaken by Prof. D.T. Mane, my project guide at Pune Institute of Computer Technology, for his PhD project. I assisted him in taking this further, by providing a deep learning solution capable of giving acceptable (94%) digit classification results. Unlike MNIST, this dataset had scarce and low quality labelled data and hence an intelligent architectural change was included in the solution. More below. Some intermediate results. PS. Marathi digit for 2 is very similar

4 5 6 7




  • Traffic Density Detection : Graduating from toy Deep Learning problems onto real world problems. Traffic is a problem most of us city dwelling folks experience on a daily basis and thus seemed like a good idea for a deep learning application. With the help of Prof. D.T. Mane, I was able to come up with a sufficiently large (tens of minutes) dataset of manually labelled footage collected at road junctions and over-passes in Pune a.k.a. Oxford of the East. Detailed results and anlysis of this project are available at https://github.com/ashirgao/Traffic-Intelligence. Future plan for this project is to deploy this model alongside a number plate recognition model on Raspberry Pi using TensorFlow for ARM or GEMM at various juntions in the city to get highly accurate traffic updates for intelligent routing. Some examples of the data samples collected :

    traffictraffictraffic




  • Taking a break from computer vision model, I started reading up on deep learning architectures commonly used in NLP (temporal data). Reinforcement learning was making big waves and OpenAI had just launched Gym. With such daily advancements in not just AI or deep learning but related fields especially in distributed computing (BLOCKCHAINS, democrataizing H/W, AI and a lot more; Ethereum FTW), it is very easy to fall behind the current updates in related fields. Thus, I implemented fun projects in a variety of these domains of computer applications to keep myself updated of these developments. Training a wod2vec model on Game of Throne book was among the project that provided interesting results and was a cool geeky conversation topic.





  • Convolutional AutoEncoders : This unsupervised architecture features in multiple future projects of mine. In my opinion, these models are an excellent alternative to transfer learning and fit a use-case when one has little labelled data but plenty of un-labelled data (from the same distribution).




  • Face recognition using PCA : An application was developed for human face recognition using Principal Component Analysis. The application was tested on 100 people and a data-set containing 1000+ images was generated and labelled. The accuracy obtained was in the range of 72%-75% depending on the lighting conditions at the time of testing. Programming environment used - MatLab.




  • My first laptop suddenly started having heating issues. (Configuration : 256GB storage, 2GB RAM and Intel Atom Processor. It was a triple booted: capable of running Xubuntu, Arch Linux and Windows 7). Thus, I wrote a Linux Standard Base Init script to log individual CPU core and HDD temperatures every 2 seconds over every session to find the cause of the heating. I ended up buying a new laptop. The old laptop now functions as a Network Attached Storage.

    old&new




  • IoT solution deployed in real world : Given my interest in operating systems and embedded system architecture, I indulged myself a Raspberry Pi 2. Within a month, it found multiple applications as a media server (KODI + Wi-Fi Audio broadcasting), FTP server, print server etc. only to find its permanent home, deployed as part of an air gapped system responsible for controlling my buildings lighting. Picture coming soon. (ESP 8266 integration on its way)

    esp 8266




  • A system similar in working to the aforementioned system, in combination with MQTT broker service provided by IBM Bluemix (now part of IBM Cloud) and a pretty UI system was coded in a span of 24hrs for a hackathon organised my Persistent Pvt. Ltd. in line with the ‘Digital India’ vision outlined by Honourable Prime Minister Narendra Modi. Hardware used for this solution was an Arduino Uno interfaced with a network shield and an ultrasonic sensor.

    ultrasonic




  • Online 2 player code vs code framework : I was an active participant in activities conducted at my college IEEE branch. Credenz, our annual technical event, sees particiaption from all over the country. My branch is the honoured recipient of the “Outstanding Student Branch IC Award, 2015”. My notable contribution was to a biannual sub-event called XOdia. It involved building an online 2 player game where participants would submit a code script to play their parts. I and my fellow colleagues built the backend, validation and scoring framework in Python using the Django framework.

    I. EnSquare
    The game consists of two player making either horizontal or vertical edges between any 2 consecutive dots in a 2-dimensional grid of dots. When more than two edges of a 1x1 box are occupied by same player he gets a point for that square and he captures the remaining edge of that box. The player with maximum points wins.
    II. Grow
    This game consists of a grid. Players start from a leaf node and go on occupying further branches. One branch leads to two branches in next move. The player with larger tree or the player with maximum number of edges wins the game.




More coming soon….

Experiment link