Version 11 (modified by Mina, 14 months ago) (diff)

Added weighted_greyedge patch link


This page shows the results from the student projects that were part of GSoC 2018.


Color Constancy Filter

Description: Color constancy is the ability of the human visual system that ensures the perception of the color of objects to remain relatively constant under varying illumination conditions. A color constancy filter would basically be applied on images with various degrees of damage to restore original colors as close as possible.


  • Image restoring filter by photographers.
  • Pre-processing step for computer vision algorithms that utilizes image colors.

Outcome: Low-level image statistics Grey Edge algorithm was implemented alongside with Weighted Grey Edge improvement.

Commit Links:

Mentor: Thilo Borgmann (thilo.borgmann AT mail DOT de)

Student: Mina Sami (minas.gorgy AT gmail DOT com)


Heavily damaged sample:

Corrected by Grey Edge:

Corrected by Weighted Grey Edge:

Super Resolution filter

Description: Super resolution methods aim to recover high-resolution images from low-resolution images. These methods find direct application in many areas such as medical imaging, security and surveillance imaging, HDTV, satellite imaging. This project goal was to implement machine-learning-based super-resolution upscaling filter.

Results: The basis of this project was the result of the qualification task implementing SRCNN model for image super-resolution ( commit). Contributions of the GSoC period include:

  • Introduction of DNN inference module ( commit). This module includes interface for model loading and execution as well as simple backend, which supports layers required for the super resolution filter.
  • Introduction of TensorFlow backend to DNN inference module ( commit). It implements backend executing binary TensorFlow models using TensorFlow framework.
  • Implementation of ESPCN model for super resolution ( commit). This model shows better results in terms of restoration accuracy and speed.
  • Various improvements and fixes of the DNN module and the super resolution filter. Commits: 1, 2, 3, 4, 5.

Scripts for model training and evaluation as well as generation of model files, suitable for the super resolution filter, are provided in the repository. In addition to SRCNN and ESPCN models, VESPCN and VSRNet models were trained and evaluated, but they were not implemented in the super resolution filter due to low increase in restoration accuracy.

Future work: After the GSoC period resnet-based models will be evaluated. If their upscaling quality is good, one of them will be added to the super resolution filter.

Mentor: Pedro Souza (bygrandao AT gmail DOT com)

Student: Sergey Lavrushkin (dualfal AT gmail DOT com)

OpenCL support for Libavfilter

Description: The main goal is to add more OpenCL filter support to libavfilter, increasing the scope of operations which can be offloaded to the GPU.

Results: During the GSoC period there were implemented various number of OpenCL filters:

Mentor: Mark Thompson (sw AT jkqxz DOT net)

Student: Danil Iashchenko (danyaschenko AT gmail DOT com)