nrtk.impls.perturb_image.generic.water_droplet_perturber

Defines WaterDropletPerturber for physics-based, photorealistic water droplet effects on images.

WaterDropletPerturber Implementation based on the work from these source papers: (1) https://openaccess.thecvf.com/content_ICCVW_2019/papers/PBDL/Hao_Learning_From_Synthetic_Photorealistic_Raindrop_for_Single_Image_Raindrop_Removal_ICCVW_2019_paper.pdf (2) https://www.giss.nasa.gov/pubs/abs/er05000f.html

For additional research regarding Water Droplet modeling, please refer to this paper: https://www.cvlibs.net/publications/Roser2010ACCVWORK.pdf

Classes:

WaterDropletPerturber: Implements the physics-based, photorealistic water/rain droplet model, utilizing Scipy, Shapely, and GeoPandas functionalities.

Dependencies:
  • Scipy for image processing.

  • Shapely and GeoPandas for Curve generation related operations.

  • nrtk.interfaces.perturb_image.PerturbImage as the base interface for image perturbation.

Example usage:

size_range = (0.0, 1.0) num_drops = 20 perturber = WaterDropletPerturber(size_range=size_range, num_drops=num_drops) perturbed_image, boxes = perturber.perturb(image, boxes)

Notes:
  • The boxes returned from perturb are identical to the boxes passed in.

Classes

Bezier

Class that computes the Bezier curve based on the segment information.

WaterDropletPerturber

Implements the physics-based, photorealistic water/rain droplet model.