In the last few months, I have been spending most of my time creating a search engine using Elasticsearch. The team decided to go with this technology based on its simple REST APIs, distributed nature, speed, and scalability.

I started prototyping in Python. It was easy to port most of the implementation’s components to Elasticsearch; however, there is a custom ranking model that is not available in the similarity module. The complexity of the algorithm is high. It would take forever to apply it to all the retrieved documents in a search.

The rescore functionality was the solution to the…


In this tutorial, we will implement the Deep CNN-Based Blind Image Quality Predictor (DIQA) methodology proposed by Jongio Kim, Anh-Duc Nguyen, and Sanghoon Lee [1]. Also, I will go through the following TensorFlow 2.0 concepts:

  • Download and prepare a dataset using a builder.
  • Define a TensorFlow input pipeline to pre-process the dataset records using the API.
  • Create the CNN model using the tf.keras functional API.
  • Define a custom training loop for the objective error map model.
  • Train the objective error map and subjective score model.
  • Use the trained subjective score model to make predictions.

Note: Some of the…


As visual creatures, humans are sensitive to visual signal impairments such as blockiness, blurriness, noisiness, and transmission loss. Thus, I have focused my research on finding how image quality affects user behavior in web applications. Lately, several studies test the effect of low-quality images on web sites. Cornell University [4] shows that poor pictures negatively impact the user experience, website conversion ratio, how long people stay on the website, and trust/credibility. They use a deep neural network model trained with a publicly available dataset from The objective is to measure the effect of image quality in sales and perceived…

Property Finder is a real estate marketplace in the Middle East, and our purpose is to help consumers find the perfect home. Our user experience is optimized to enable users to effortlessly navigate through an extensive set of property choices without leaving their home. After picking their preferred options, we also provide easy ways for users to contact real estate agents who can help further.

Some months ago, I decided to buy a new laptop with enough power to crunch data. At that time, I also had a desktop with a GTX 1070, but I stopped using it because of the convenience of my new laptop. Having a GPU like the GTX 1070 dusting is not the best idea. Thus, searching on the internet I found that there are some External Graphics Card Dock that enables the capability to connect an external GPU via Thunderbolt 3.

I bought the Asus XG Station PRO. It is compatible with Windows 10 64-bit and macOS High Sierra 10.13.4…


The common goal of feature extraction is to represent the raw data as a reduced set of features that better describe their main features and attributes [1]. This way, we can reduce the dimensionality of the original input and use the new features as an input to train pattern recognition and classification techniques.

Although there are several features that we can extract from a picture, Local Binary Patterns (LBP) is a theoretically simple, yet efficient approach to grayscale and rotation invariant texture classification. …

Image quality is a notion that highly depends on observers. Generally,
it is linked to the conditions in which it is viewed; therefore, it is a highly subjective topic. Image quality assessment aims to quantitatively represent the human perception of quality. These metrics are commonly used to analyze the performance of algorithms in different fields of computer vision like image compression, image transmission, and image processing [1].

Image quality assessment (IQA) is mainly divided into two areas of research (1) reference-based evaluation and (2) no-reference evaluation. The main difference is that reference-based methods depend on a high-quality image as a…

Ricardo Ocampo

Data Scientist, I research and blog about machine learning in my spare time

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