Image for post
Image for post

There are over 80 ways of draping a saree. These are mostly styles based on the region. And with the region come the designs and the material. So, the permutations and combinations that one has to go through to choose “one perfect saree” are numerous. So, we set out to understand ‘What Women Want’ while choosing a saree. This was to better understand the social, economical and cultural perceptions towards the saree today and to attempt a solution using new technologies like AI & Vision computing to make the experience of buying that “One perfect saree” memorable, social and hassle-free.

Image for post
Image for post
Photo by Emile Guillemot on Unsplash

Benchmarks on Google Coral, Movidius Neural Compute Stick, Raspberry Pi and others


In an earlier article, we covered running PoseNet on Movidius. We saw that we were able to achieve 30FPS with acceptable accuracy. In this article we are going to evaluate PoseNet on the following mix of hardware:

  1. Raspberry Pi 3B
  2. Movidius NCS + RPi 3B
  3. Ryzen 3
  4. GTX1030 + Ryzen 3
  5. Movidius NCS + Ryzen 3
  6. Google Coral + RPi 3B
  7. Google Coral + Ryzen 3
  8. GTX1080 + i7 7th Gen

This is a comparison of PoseNet’s performance across hardware, to help decide which hardware to use…

Image for post
Image for post

An approach towards low cost computing on the edge for vision based AI applications


Pose estimation is a computer vision approach to detect various important parts of a human body in an image or video. It gives pixel locations of where eyes, elbows, arms, legs, etc are for one or more human bodies in an image. The algorithm gives locations of “joints” of a body. However pose is a broader subject where-from we are only focusing on human body pose estimation. None of the algorithms are perfect and are heavily dependent on the training data.

How is it useful?

Human pose detection on the…

Lessons from Fine Tuning a Convolutional Binary Classifier

Image for post
Image for post
Taken in a village Near Jaipur (Rajasthan, India) by Sanjay Kattimani

Fine tuning has been shown to be very effective in certain types of neural net based tasks such as image classification. Depending upon the dataset used to train the original model, the fine-tuned model can achieve a higher degree of accuracy with comparatively less data. Therefore, we have chosen to fine tune ResNet50 pre-trained on the ImageNet dataset provided by Google.

We are going to explore ways to train a neural network to detect cars, and optimise the model to achieve high accuracy. In technical terms, we are going to train a binary classifier which performs well under real-world conditions.

Image for post
Image for post
Photo by Zsolt Palatinus on Unsplash

Choosing a programming language(s) for a new product is an important strategic decision. It influences a lot of things and has long-term implications for hiring, culture and even the viability of a product.

But the first things to be considered is whether the language is viable for the particular problem statement you are trying to solve. Important questions are:

  • How suitable is the language for your particular use case?
  • Will it perform up to the mark?
  • Will it run on the targeted platform(s)?

These should be the primary questions. But there are more things that might influence your decision. Like:

Image for post
Image for post
Photo by David Clode on Unsplash

Movidius Neural Compute Stick

Intel makes a device which can be plugged into a Raspberry Pi3 (among other supported boards) to run neural networks with efficiency. The device is called Neural Compute Stick (NCS) and attaches over USB port. Intel provides with a toolchain which can be used to port Tensorflow and Caffe models to NCS supported format.

Choosing a network

We wanted to port our own custom trained model to NCS. The journey has been, well, insightful and interesting. The task we had at hand was of object detection. We wanted to use Tensorflow because of the familiarity we…

Image for post
Image for post
Photo by Diana Feil on Unsplash

Some of the legacy digital or analog meters used on the field are either too difficult or costly to replace. For example, old water/gas pipeline meters. Detecting pressure continuously is important for prevention of escalated events. We were looking for non-interventionist solutions and decided to experiment with CV+ML techniques. To start with we picked up digital meter reading. This blog post is part of a series of experiments about which we will update in subsequent posts.

Our tool set included: Raspberry Pi, PiCam and Movidius NCS.

Approaches considered

  1. Tesseract OCR
  2. Attention OCR
  3. MNIST

There are a few options to approach…

Last 2 years we have been working in a small distributed environment building useful software. Our youngest hacker is all but 22 and works from his village, near Indore, thanks to 4G. Our oldest hacker is a 43 year young lady.

At the core of what we do is to create the ‘useful’. We work with clients who share a similar philosophy.

So if you are somebody who likes creative problem solving, loves mathematics or patterns get in touch with us at We have fun in doing all the above while building ‘useful’ software.

We have a strong product engineering culture with a no BS approach towards getting things done. This could be using any tool, be it a programming language or a framework. Although we have our favorites, we pick what is best for the product.

For current openings:

Harish Krishnan — Oviyum


We are an outsourced product development studio. You can reach us at or visit our website

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store