cleanvision icon indicating copy to clipboard operation
cleanvision copied to clipboard

Expose methods for calculating statistics on individual images for on the fly evaluation

Open sanjanag opened this issue 1 year ago • 3 comments

Motivation

Sometimes statistics on images like blurriness, brightness, entropy need to be monitored in a streaming setting for each individual image. For example, measuring entropy of images in an inference pipeline. Right now CleanVision only supports issue detection in images in a batch setting.

Goal

The goal here is to expose calculation of statistics like entropy, brightness, etc, for individual images from the package wrapped inside a module.

Code Details

The methods exist in a private module src/cleanvision/issue_managers/image_property.py. The main methods here for calculating statistics and scores: calculate and get_scores can be found for each property.

API

from cleanvision.utils import get_entropy, get_low_information_score

entropy = get_entropy(image) # PIL image
low_information_score = get_low_information_score(image) # PIL image

sanjanag avatar Jul 13 '23 12:07 sanjanag

Hello @sanjanag! As per my understanding, we need to create individual files for each property (blurriness, brightness, entropy) inside utils directory. Further, the methods in these files are written same as in image_property.py. Correct?

manulpatel avatar Jul 13 '23 12:07 manulpatel

Hi @manulpatel ! No, we don't need to create individual files for each property, expose all of them from the same module. There's no need to copy over code as well, you just need to internally call the methods in image_property.py appropriately.

sanjanag avatar Jul 13 '23 13:07 sanjanag

Related to: https://github.com/cleanlab/cleanvision/issues/209

jwmueller avatar Jul 13 '23 15:07 jwmueller