Modeling & Deploying Object Detection Based Recommenders to the Web

Articles

Detecting objects, classifying them, and then keeping track of them is the biggest advancement in the deep learning area. There are many use cases of object detection in our day-to-day life; some examples are judging human behavior, activity trackers, some use in public sectors, crime detection, and many more.

In this article, I will help you deploy your own custom object detection based recommendation system to the web. In the end, you can interact with your real-time object detection and recommendation model using your web interface. Finally, you can host it over the cloud to access it everywhere, even with your mobile devices.

Continue reading Modeling & Deploying Object Detection Based Recommenders to the Web

Upload images in React Native apps using Firebase and Firestore

Articles

With React Native, you can build cross-platform mobile applications using JavaScript as the primary programming language. Each of your mobile apps may contain single or multiple user interfaces to serve a wide range of purposes.

One such user interface is to upload images. In this tutorial, we’ll build a small demo app that allows the user to upload an image with associated details to Firebase’s real-time database Firestore and create a collection called posts. This collection of posts for the demo app will consist of an image and its title.

Continue reading Upload images in React Native apps using Firebase and Firestore

My MangaGAN: Building My First Generative Adversarial Network

Articles

n this post, we will learn to develop a generative adversarial network (GAN) for generating realistic manga or anime characters.

I’ve always been amazed by vivid animations, especially Manga and their bold looks and strokes. Wouldn’t it be awesome to be able to draw a few ourselves, to experience the thrill of creating them with the help of a self-developed neural network?!

Continue reading My MangaGAN: Building My First Generative Adversarial Network

Make Your Own Deepfake Video in a Few Easy Steps

Articles

If you’re reading this article, then you’ve likely seen or heard about a particular AI algorithm called deepfakes. Much of this hype has comes as a result of major apps like Snapchat, FaceApp, or Instagram using this algorithm to create entertaining content.

In this article, I’ll show you how to quickly and easily create your own deepfake video. To do this, I’ll be using the implementation for the research effort First Order Motion Model for Image Animation, developed by Aliaksandr Siarohin, Stéphane Lathuilière, Sergey Tulyakov, Elisa Ricci, and Nicu Sebe.

Continue reading Make Your Own Deepfake Video in a Few Easy Steps

Running NumPy in Android Devices using the Kivy Python Framework

Articles

This tutorial discusses running the popular Python library NumPy (Numerical Python) in Android devices on top of the Kivy framework. The tutorial covers the Kivy installation, a brief introduction to Kivy, installation of python-4-android and Buildozer for building Android applications, and finally running NumPy in Android.

Python is one of the most popular data science tools due to the availability of powerful libraries that make building applications much easier. Some tasks, such as image classification, require writing many lines of code in programming languages such as C or Java, but Python decouples the user from many unnecessary details. It provides a simpler interface to do complex tasks. The simplicity extends to building machine learning models using a few lines of code. This makes Python a key tool for data scientists.

Continue reading Running NumPy in Android Devices using the Kivy Python Framework

Deprecating AsyncTask in Android with Kotlin Coroutines

Articles

Processing background work and tasks is something that’s used in almost all mobile apps. Keeping the UI or main thread free from too many complex operations and offloading all the heavy lifting to background threads isn’t only considered a good development practice, but it’s also crucial if you want to make an app that provides a fluid and engaging user experience.

Continue reading Deprecating AsyncTask in Android with Kotlin Coroutines

Research Guide for Depth Estimation with Deep Learning

Articles

Depth estimation is a computer vision task designed to estimate depth from a 2D image. The task requires an input RGB image and outputs a depth image. The depth image includes information about the distance of the objects in the image from the viewpoint, which is usually the camera taking the image.

Some of the applications of depth estimation include smoothing blurred parts of an image, better rendering of 3D scenes, self-driving cars, grasping in robotics, robot-assisted surgery, automatic 2D-to-3D conversion in film, and shadow mapping in 3D computer graphics, just to mention a few.

Continue reading Research Guide for Depth Estimation with Deep Learning

Artificial Art: How GANs are making machines creative

Articles

Generative algorithms have opened a new window for AI applications. Machine learning has traditionally been concerned with classifying/learning the behavior of a certain process, without trying to mimic it, or more precisely; without generating a similar behavior.

We all witnessed the evolution of style transfer applications such as FaceApp, where a given image could be altered to generate different features such as beard, hair, age, or even smiles and laughs.

Continue reading Artificial Art: How GANs are making machines creative

Research Guide: Model Distillation Techniques for Deep Learning

Articles

Knowledge distillation is a model compression technique whereby a small network (student) is taught by a larger trained neural network (teacher). The smaller network is trained to behave like the large neural network. This enables the deployment of such models on small devices such as mobile phones or other edge devices. In this guide, we’ll look at a couple of papers that attempt to tackle this challenge.

Continue reading Research Guide: Model Distillation Techniques for Deep Learning