All Projects → rohitrango → Automatic Watermark Detection

rohitrango / Automatic Watermark Detection

Project for Digital Image Processing

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Automatic Watermark Detection

Gasyori100knock
image processing codes to understand algorithm
Stars: ✭ 1,988 (+163.66%)
Mutual labels:  jupyter-notebook, numpy, image-processing
Boxdetection
A Box detection algorithm for any image containing boxes.
Stars: ✭ 104 (-86.21%)
Mutual labels:  jupyter-notebook, numpy, image-processing
Imaginary
Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing
Stars: ✭ 4,107 (+444.69%)
Mutual labels:  image-processing, watermark
Stats Maths With Python
General statistics, mathematical programming, and numerical/scientific computing scripts and notebooks in Python
Stars: ✭ 381 (-49.47%)
Mutual labels:  jupyter-notebook, numpy
Pytablewriter
pytablewriter is a Python library to write a table in various formats: CSV / Elasticsearch / HTML / JavaScript / JSON / LaTeX / LDJSON / LTSV / Markdown / MediaWiki / NumPy / Excel / Pandas / Python / reStructuredText / SQLite / TOML / TSV.
Stars: ✭ 422 (-44.03%)
Mutual labels:  jupyter-notebook, numpy
Thesemicolon
This repository contains Ipython notebooks and datasets for the data analytics youtube tutorials on The Semicolon.
Stars: ✭ 345 (-54.24%)
Mutual labels:  jupyter-notebook, numpy
Pytorch Tutorials Examples And Books
PyTorch1.x tutorials, examples and some books I found 【不定期更新】整理的PyTorch 1.x 最新版教程、例子和书籍
Stars: ✭ 346 (-54.11%)
Mutual labels:  jupyter-notebook, numpy
Deep learning nlp
Keras, PyTorch, and NumPy Implementations of Deep Learning Architectures for NLP
Stars: ✭ 407 (-46.02%)
Mutual labels:  jupyter-notebook, numpy
Python
This repository helps you understand python from the scratch.
Stars: ✭ 285 (-62.2%)
Mutual labels:  jupyter-notebook, numpy
Hidt
Official repository for the paper "High-Resolution Daytime Translation Without Domain Labels" (CVPR2020, Oral)
Stars: ✭ 513 (-31.96%)
Mutual labels:  jupyter-notebook, image-processing
Dsp Theory
Theory of digital signal processing (DSP): signals, filtration (IIR, FIR, CIC, MAF), transforms (FFT, DFT, Hilbert, Z-transform) etc.
Stars: ✭ 437 (-42.04%)
Mutual labels:  jupyter-notebook, numpy
Tensor Sensor
The goal of this library is to generate more helpful exception messages for numpy/pytorch matrix algebra expressions.
Stars: ✭ 532 (-29.44%)
Mutual labels:  jupyter-notebook, numpy
Pythonfromspace
Python Examples for Remote Sensing
Stars: ✭ 344 (-54.38%)
Mutual labels:  jupyter-notebook, image-processing
Numpy neural network
仅使用numpy从头开始实现神经网络,包括反向传播公式推导过程; numpy构建全连接层、卷积层、池化层、Flatten层;以及图像分类案例及精调网络案例等,持续更新中... ...
Stars: ✭ 339 (-55.04%)
Mutual labels:  jupyter-notebook, numpy
Python Notlarim
Python notes in Turkish.
Stars: ✭ 356 (-52.79%)
Mutual labels:  jupyter-notebook, numpy
Gdrl
Grokking Deep Reinforcement Learning
Stars: ✭ 304 (-59.68%)
Mutual labels:  jupyter-notebook, numpy
Workshopscipy
A workshop for scientific computing in Python. ( December 2017 )
Stars: ✭ 391 (-48.14%)
Mutual labels:  jupyter-notebook, numpy
Notes Python
中文 Python 笔记
Stars: ✭ 6,127 (+712.6%)
Mutual labels:  jupyter-notebook, numpy
Data Science Hacks
Data Science Hacks consists of tips, tricks to help you become a better data scientist. Data science hacks are for all - beginner to advanced. Data science hacks consist of python, jupyter notebook, pandas hacks and so on.
Stars: ✭ 273 (-63.79%)
Mutual labels:  jupyter-notebook, numpy
Pysynth
Several simple music synthesizers in Python 3. Input from ABC or MIDI files is also supported.
Stars: ✭ 279 (-63%)
Mutual labels:  jupyter-notebook, numpy

Automatic watermark detection and removal

This was a project that was built as part of project for CS663 (Digital Image Processing). This is a crude Python implementation of the paper "On The Effectiveness Of Visible Watermarks", Tali Dekel, Michael Rubinstein, Ce Liu and William T. Freeman, Conference on Computer Vision and Pattern Recongnition (CVPR), 2017.

Rough sketch of the algorithm

A watermarked image J is obtained by imposing a watermark W over an unwatermarked image I with a blend factor . Specifically, we have the following equation:

Where p = (x, y) is the pixel location. For a set of K images, we have:

Although we have a lot of unknown quantities (), we can make use of the structural properties of the image to determine its location and estimate its structure. The coherency of and W over all the images can be exploited to solve the above problem with good accuracy. The steps followed to determine these values are:

  • Initial watermark estimation and detection
  • Estimating the matted watermark
  • Compute the median of the watermarked image gradients, independently in the x and y directions, at every pixel location p.
  • Crop W_m to remove boundary regions by computing its magnitude and taking the bounding box of the edge map. The initial estimated watermark is estimated using Poisson reconstruction. Here is an estimated watermark using a dataset of 450+ Fotolia images.
watermark_est
  • Watermark detection: Obtain a verbose edge map (using Canny edge detector) and compute its Euclidean distance transform, which is then correlated with to get the Chamfer distance from each pixel to the closest edge. Lastly, the watermark position is taken to be the pixel with minimum distance in the map.

Multi-image matting and reconstruction

  • Estimate keeping fixed.
  • Watermark update - Update the value of keeping the rest fixed.
  • Matte update - Update the value of keeping the rest fixed.

Please refer to the paper and supplementary for a more in-depth description and derivation of the algorithm.

Results

Here are some of the results for watermarked and watermark removed images:




However, this is a rough implementation and the removal of watermark leaves some "traces" in form of texture distortion or artifacts. I believe this can be corrected by appropriate parameter tuning.

More information

For more information, refer to the original paper here

Disclaimer

I do not encourage or endorse piracy by making this project public. The code is free for academic/research purpose. Please feel free to send pull requests for bug fixes/optimizations, etc.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].