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

Using a Keras Long Short-Term Memory (LSTM) Model to Predict Stock Prices

Articles

Editor’s note: This tutorial illustrates how to get started forecasting time series with LSTM models. Stock market data is a great choice for this because it’s quite regular and widely available to everyone. Please don’t take this as financial advice or use it to make any trades of your own.

In this tutorial, we’ll build a Python deep learning model that will predict the future behavior of stock prices. We assume that the reader is familiar with the concepts of deep learning in Python, especially Long Short-Term Memory.

Continue reading Using a Keras Long Short-Term Memory (LSTM) Model to Predict Stock Prices

Using foreground services for executing long-running processes in Android

Articles

In my last blog, I talked about how devs can use Kotlin coroutines to efficiently handle long-running tasks in their apps:

The method outlined works well when the user is using your app, but as soon as the user exits the app, the system kills the app and all the processes spawned by it. I faced this issue while working on AfterShoot when I had to run my machine learning model through all of a given user’s images.

Continue reading Using foreground services for executing long-running processes in Android