Portfolio

Some of my researches & projects are available on my Github, feel free to check it out!

Research Experiences

Self-supervised Image Denoising on Single Noisy Images (2020)

Inspired by NVIDIA's research paper, this research aimed to solve image denoising problem using a self-supervised approach, which doesn't require clean target images. This approach is important since in real-life scenario, clean images are not always available.

In this case, the proposed method is divided into 2 parts. The first part is applying the mixture of densenet to produce the prior clean target representation. After that, the second part is to do Bayesian inference using the previous obtained prior, to produce posterior mean estimation which resembles with the clean image representation that we seek to restore. This method currently achieved better results than state-of-the-art methods in terms of image quality assessment.

Link : notebook .

ODBTC Image Reconstruction using Self-Attention Generative Adversarial Network (2019)

This research aimed to perform image reconstruction from ordered dithering block truncation coding (ODBTC), which is one of the image compression techniques that often left grainy spots as the result of extreme quantization.

To solve this problem, generative adversarial network (GAN) is applied together with self-attention mechanism. This approach showed better results as it could the previous state-of-the-art conventional method, both from quantitative results and perceptual results.

Twitter Sentiment Analysis of 2017 DKI Jakarta's Election (2017)

This research aimed to analyse sentiments on DKI Jakarta's (Indonesia capital city) governor candidates in 2017 election on social media using natural language processing (NLP) and machine learning, specifically support vector machine (SVM).

Results showed that sentiments among candidates' supporters can be classified into 3 major sentiments, which were positive, negative, and neutral.

Link : paper - notebook

Personal Projects

Image Compression Kit (Python packages)

This is a simple python packages which consists of some image compression methods: halftoning and block truncation coding (BTC). Halftoning is a method to quantize an image into 0 or 1 (black or white), which is often used in printing application. Block truncation coding is quite similar with halftoning, it also quantizes an image into 2 values, but in this case, it's either the maximum value or minimum value (which is determined based on a formula).

For halftoning, this package covers several popular halftoning methods: error diffusion (ED), ordered dithering (OD), dot diffusion (DD), and direct binary search (DBS) using its efficient implementation.

As for BTC, this package also covers several popular BTC methods: basic BTC, error diffusion BTC (EDBTC), ordered dithering BTC (ODBTC), and dot diffusion BTC (DDBTC).

Link : PyPI - Github .

RSNA Pneumonia Challenge - Kaggle

This was an inclass project (Machine Learning and Bioimaging), which required me and my friends to compete in one of the challenges in Kaggle, RSNA Pneumonia Detection Challenge. In this challenge, we're tasked to build an algorithm to detect a visual signal for pneumonia in medical images. Specifically, the algorithm needs to automatically locate lung opacities on chest radiographs.

In this case, we applied residual network to find the region of interests (ROI), and then calculate the mean intersection over union (mIOU).

Link : Notebook .

Traffic Accidents Data Extraction from Twitter

This was a project submitted into Gemastik 9 (Indonesian Students Competition in Information Technology and Communication Field) which was held by Indonesia's Ministry of Research, Technology, and Higher Education (Kemenristekdikti) in 2017. In this project, me and my friends aimed to extract tweets (using Twitter developer API) from Indonesians regarding traffic accidents, and pinpoint its locations on the map (using Google maps API).

To extract the accidents' locations, first we need to determine whether the tweets are indeed valid or not (really contain information about traffic accidents and its locations). The classification was done by Multinomial Naive Bayes. After the classification part was done, we can extract the location using a grid search, and tag the location on the map.