Image Classification on Android using OpenCV

Articles

This tutorial uses the popular computer vision library OpenCV for building an image classifier that runs on Android devices.

The overall process looks like this. First, the color histogram of the hue channel from the HSV color space is extracted from the image dataset. Next, an artificial neural network (ANN) is built and trained by such features and then saved for later use in an Android app. An Android Studio project is then created, which imports the Android release of OpenCV. After being imported successfully, the saved trained ANN is loaded for making predictions.

Continue reading Image Classification on Android using OpenCV

TensorFlow MLIR: An Introduction

Articles

Currently, different domains of machine learning software and hardware have different compiler infrastructures. There are number of challenges posed by this dynamic, including:

MLIR seeks to address this software fragmentation by building a reusable and extensible compiler infrastructure. In this piece, we’ll look at a conceptual view of MLIR.

MLIR seeks to promote the design and implementation of code generators, optimizers, and translators at various stages of abstraction across different application domains. The need for MLIR arose from the realization that modern machine learning frameworks have different runtimes, compilers, and graph technologies. For example, TensorFlow itself has different compilers for different frameworks.

Continue reading TensorFlow MLIR: An Introduction

Swift 5: Memory Management

Articles

It would be great if we as devs got to play with limitless memory and never had to care about working with it judiciously. Unfortunately, that isn’t true, and hence, we have to behave like a renter to the OS—rent the memory for a while, use the memory, and then hand it back.

Swift is a smart language, and it knows that many devs don’t like handing the memory back to the environment; hence, it keeps track of the allocated memory using a mechanism called ARC (automatic reference counting).

Continue reading Swift 5: Memory Management

Introduction to CameraX on Android

Articles

Developing with the camera on Android can be difficult. When we need to develop a camera-based application, we need to do a lot of manual work, and we need to do handle a lot of complex things with the Camera API, like handling preview screens, image rotations, and much more

At Google IO 2019, Google added another powerful tool for camera development in Android called CameraX as part of Jetpack.

Continue reading Introduction to CameraX on Android

Learn how to display and manage notifications in Android

Articles

In this post, we are going to investigate a relatively newer field in deep learning which involves graphs — a very important and widely used data structure. This post encompasses the basics of graphs, the amalgamation of graphs and deep learning, and a basic idea about graph neural networks and their applications. We will also briefly discuss on how to build graphs with a Python library called NetworkX

Continue reading Learn how to display and manage notifications in Android

Machine Learning in Dask

Articles

Processing a couple of gigabytes of data on one’s laptop is usually an uphill task, unless the laptop has high RAM and a whole lot of compute power.

That notwithstanding, data scientists still have to look for alternative solutions to deal with this problem. Some of the hacks involve tweaking Pandas to enable it to process huge datasets, buying a GPU machine, or purchasing compute power on the cloud. In this piece, we’ll see how we can use Dask to work with large datasets on our local machines.

Continue reading “Machine Learning in Dask”

Customize Google Maps In Android

Articles

You’ve got a great product, and you want to match this up with the way your mobile application looks and feels. This kind of consistency matters for creating engaging user experiences. And let’s say, in this app, you need to use maps in a way that fits your brand.

Luckily, there’s a way to easily create custom styles on Google Maps. With custom styling, you can change the look and feel of your map according to your desired needs.

Continue reading Customize Google Maps In Android