Fully convolutional deep neural network to remove transparent overlays from images

Overview

Warning! The architecture used in this project does not generalize well. You may want to check https://dmitryulyanov.github.io/deep_image_prior. This inpainting technique will likely give you better results.

Fully convolutional watermark removal attack

Deep learning architecture to remove transparent overlays from images.

example

Top: left is with watermark, middle is reconstruction and right is the mask the algo predicts (the neural net was never trained using text or this image)

Bottom: Pascal dataset image reconstructions. When the watermarked area is saturated, the reconstruction tends to produce a gray color.

Design choices

At train time, I generate a mask. It is a rectangle with randomly generated parameters (height, width, opacity, black/white, rotation). The mask is applied to a picture and the network is trained to find what was added. The loss is abs(prediction, image_perturbations)**1/2. It is not on the entire picture. An area around the mask is used to make the problem more tractable.

The network architecture does not down-sample the image. The prediction with a down-sampling network were not accurate enough. To have a large enough receptive field and not blow up the compute, I use dilated convolution. So concretely, I have a densenet style block, a bunch of dilated convolutions and final convolution to output a picture (3 channels). I did not spend much time doing hyper-parameters optimization. There's room to get better results using the current architecture.

Limitations: this architectures does not generalize to watermarks that are too different from the one generated with create_mask and it produces decent results only when the overlay is applied in an additive fashion.

Usage

This project uses Tensorflow. Install packages withpip install -r requirements.txt

You will need the jpeg library to compile Pillow from source: sudo apt-get install libjpeg-dev zlib1g-dev

You will also need to download the pascal dataset (used by default) from http://host.robots.ox.ac.uk/pascal/VOC/voc2012/ or CIFAR10 python version from https://www.cs.toronto.edu/~kriz/cifar.html (use flag --dataset=dataset_cifar). Make sure the extract the pascal dataset under a directory called data. The project directory should then have the directory cifar-10-batches-py and/or data/VOCdevkit/VOC2012/JPEGImages. If you want to use your own images, place them in data/VOCdevkit/VOC2012/JPEGImages/.

To train the network python3 watermarks.py --logdir=save/. It starts to produce some interesting results after 12000 steps.

To use the network for inference, you can run python watermarks.py --image assets/cat.png --selection assets/cat-selection.png this will create a new image output.png.

Pretrained weights

Here you can find the weights: https://github.com/marcbelmont/cnn-watermark-removal/files/1594328/data.zip put them in /tmp/

Comments
  • TypeError: Input 'filenames' of 'TFRecordDataset' Op has type float32 that does not match expected type of string

    TypeError: Input 'filenames' of 'TFRecordDataset' Op has type float32 that does not match expected type of string

    I added my 25 images with watermark custom images in data/VOCdevkit/VOC2012/JPEGImages as described and trained using given command.

    In the last line return (next_element, [iterator.make_initializer(x) for x in [train, val]]) this portion of the code gives above error.

    def dataset_split(dataset_fn, split): # import pdb; pdb.set_trace(); records = get_records() split = int(len(records) * split) train, val = dataset_fn(records[:split]), dataset_fn(records[split:]) iterator = tf.contrib.data.Iterator.from_structure( train.output_types, train.output_shapes) # import ipdb; ipdb.set_trace(); next_element = iterator.get_next() return (next_element, [iterator.make_initializer(x) for x in [train, val]])

    What could be the issue? Thanks.

    opened by kmrabhay 7
  • Add model.ckpt

    Add model.ckpt

    Could you please add model.ckpt that you have trained to avoid personal full dataset training as well? I assume using this model with transfer learning way: get a pre-trained model, set up training on my own dataset to reach the best result

    opened by iamtodor 6
  • how should I create corresponding selection pngs based on my own images?

    how should I create corresponding selection pngs based on my own images?

    Hi, I ran a problem when trying to test your pre-trained model on my own image, and I'm a little confused by the cat-selection.png. I know that the model can work well when corresponding selection.png is provided. But I noticed that cat.png and cat-selection.png have completely different sizes. How does the model know the corresponding relationship between two images. I tried to change the size of cat-selection.png and the outcome did become worse, so I'm pretty sure that there's something I didn't notice. Can anyone answer my question?

    opened by muyue1238 4
  • Little bug reminder

    Little bug reminder

    1 watermarks.py line 12 should be tf.flags.DEFINE_string('logdir', '/log', 'Log directory') 2 you should build an directory named 'data' and put the traindata in that 3 training cost lots of time

    opened by huhaoranak47 4
  • Question: Using the trained CNN

    Question: Using the trained CNN

    I just found your repo and tried to use the CNN on a dataset of images, but I ran into a problem.

    As described in the README I installed the dependencies with pip, downloaded the training material into the data/ folder and trained the CNN with the given command.

    The part I don't understand right now is how I can use the trained CNN for my images. Hopefully you can help me with that.

    opened by felixwoestmann 4
  • need brief video tutorial link

    need brief video tutorial link

    i am not familiar tensorflow-python, but i'd love to try running this interesting project.

    will anyone post steps to run it ( video tutorial would be extremely helpful )

    opened by xncx 3
  • python watermarks.py --image assets/output.png --selection assets/cat-selection.png?

    python watermarks.py --image assets/output.png --selection assets/cat-selection.png?

    what does the output.png look like when run python watermarks.py --image assets/output.png --selection assets/cat-selection.png? my output.png still has the watermark and it looks like a part of source image.

    opened by FancyXun 3
  • Saver restore fix and improvements

    Saver restore fix and improvements

    Hi, first of all thanks for project 👍

    This branch includes below updates :

    • Exception has been added for saver restore operation because of The passed save_path is not a valid checkpoint: tmp/model.ckpt error.

    • Method docs has been added.

    • .idea folders has been ignored for pyCharm.

    opened by rnglab 2
  • Validation/Testing takes a lot of time (More than 10 hours)

    Validation/Testing takes a lot of time (More than 10 hours)

    I trained on dataset of 192 images. Train size = 192*0.8/2 = 153 and training on 39 images. I started training on google cloud with 24 GB Ram . 100 epoch completed with in 15 min but while evaluating after 100 epoch .. It is taking a lot of time. Its been 9 hours since evaluation part started after 100 epoch and its still not completed.

    What can be done to speed it up? Thanks.

    opened by kmrabhay 1
  • test.py found errors

    test.py found errors

    ======================================================================`
    ERROR: test_inference_voc (__main__.WatermarkTest)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/ubuntu/anaconda3/envs/watermark/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1323, in _do_call
        return fn(*args)
      File "/home/ubuntu/anaconda3/envs/watermark/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1302, in _run_fn
        status, run_metadata)
      File "/home/ubuntu/anaconda3/envs/watermark/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 473, in __exit__
        c_api.TF_GetCode(self.status.status))
    tensorflow.python.framework.errors_impl.NotFoundError: Key conv2d_9/kernel not found in checkpoint
    	 [[Node: save_1/RestoreV2_117 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save_1/Const_0_0, save_1/RestoreV2_117/tensor_names, `save_1/RestoreV2_117/shape_and_slices)]]
    

    How to solve this error? Why is it happening? Thanks

    opened by megagosha 1
  • Where to place training Data?

    Where to place training Data?

    I'm not exactly sure where to place training data, if it should be in a specific format or not. Error message: Source images are missing!

    Please document these into the README.md file. Its quite stressful to try and find.

    opened by Skarlett 1
  • error

    error

    Shayna&Jared@laptopv1 MINGW64 ~/Desktop/g $ git clone https://github.com/marcbelmont/cnn-watermark-removal.git fatal: bad config line 1 in file C:/Users/Shayna&Jared/.gitconfig

    Shayna&Jared@laptopv1 MINGW64 ~/Desktop/g $ man git config bash: man: command not found

    Shayna&Jared@laptopv1 MINGW64 ~/Desktop/g $ git -h fatal: bad config line 1 in file C:/Users/Shayna&Jared/.gitconfig

    Shayna&Jared@laptopv1 MINGW64 ~/Desktop/g $ git clone https://github.com/marcbelmont/cnn-watermark-removal.git Cloning into 'cnn-watermark-removal'... remote: Enumerating objects: 95, done. remote: Counting objects: 100% (7/7), done. remote: Compressing objects: 100% (7/7), done. Receiving objects: 100% (95/95), 1.49 MiB | 352.00 KiB/s, done.eceiving objects: 90% (86/95), 1.37 MiB | 330.00 KiB/s

    Resolving deltas: 100% (41/41), done.

    Shayna&Jared@laptopv1 MINGW64 ~/Desktop/g $ pip install -r requirements.txt ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'

    Shayna&Jared@laptopv1 MINGW64 ~/Desktop/g $ ls cnn-watermark-removal/

    Shayna&Jared@laptopv1 MINGW64 ~/Desktop/g $ cd cnn-watermark-removal/

    Shayna&Jared@laptopv1 MINGW64 ~/Desktop/g/cnn-watermark-removal $ ls assets/ dataset.py Pipfile Pipfile.lock README.md requirements.txt tests.py watermarks.py

    Shayna&Jared@laptopv1 MINGW64 ~/Desktop/g/cnn-watermark-removal $ pip install -r requirements.txt Collecting matplotlib==3.1.1 Downloading matplotlib-3.1.1.tar.gz (37.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 37.8/37.8 MB 1.4 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Collecting numpy==1.16.0 Downloading numpy-1.16.0.zip (5.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1/5.1 MB 800.7 kB/s eta 0:00:00 Preparing metadata (setup.py) ... done Collecting Pillow==4.1.0 Downloading Pillow-4.1.0.tar.gz (11.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.3/11.3 MB 688.8 kB/s eta 0:00:00 Preparing metadata (setup.py) ... done ERROR: Could not find a version that satisfies the requirement tensorflow==1.14.0 (from versions: 2.8.0rc1, 2.8.0, 2.8.1, 2.8.2, 2.8.3, 2.9.0rc0, 2.9.0rc1, 2.9.0rc2, 2.9.0, 2.9.1, 2.9.2, 2.10.0rc0, 2.10.0rc1, 2.10.0rc2, 2.10.0rc3, 2.10.0)
    ERROR: No matching distribution found for tensorflow==1.14.0

    Shayna&Jared@laptopv1 MINGW64 ~/Desktop/g/cnn-watermark-removal $

    opened by jareddarkweb 0
  • Bump pygments from 2.4.2 to 2.7.4

    Bump pygments from 2.4.2 to 2.7.4

    Bumps pygments from 2.4.2 to 2.7.4.

    Release notes

    Sourced from pygments's releases.

    2.7.4

    • Updated lexers:

      • Apache configurations: Improve handling of malformed tags (#1656)

      • CSS: Add support for variables (#1633, #1666)

      • Crystal (#1650, #1670)

      • Coq (#1648)

      • Fortran: Add missing keywords (#1635, #1665)

      • Ini (#1624)

      • JavaScript and variants (#1647 -- missing regex flags, #1651)

      • Markdown (#1623, #1617)

      • Shell

        • Lex trailing whitespace as part of the prompt (#1645)
        • Add missing in keyword (#1652)
      • SQL - Fix keywords (#1668)

      • Typescript: Fix incorrect punctuation handling (#1510, #1511)

    • Fix infinite loop in SML lexer (#1625)

    • Fix backtracking string regexes in JavaScript/TypeScript, Modula2 and many other lexers (#1637)

    • Limit recursion with nesting Ruby heredocs (#1638)

    • Fix a few inefficient regexes for guessing lexers

    • Fix the raw token lexer handling of Unicode (#1616)

    • Revert a private API change in the HTML formatter (#1655) -- please note that private APIs remain subject to change!

    • Fix several exponential/cubic-complexity regexes found by Ben Caller/Doyensec (#1675)

    • Fix incorrect MATLAB example (#1582)

    Thanks to Google's OSS-Fuzz project for finding many of these bugs.

    2.7.3

    ... (truncated)

    Changelog

    Sourced from pygments's changelog.

    Version 2.7.4

    (released January 12, 2021)

    • Updated lexers:

      • Apache configurations: Improve handling of malformed tags (#1656)

      • CSS: Add support for variables (#1633, #1666)

      • Crystal (#1650, #1670)

      • Coq (#1648)

      • Fortran: Add missing keywords (#1635, #1665)

      • Ini (#1624)

      • JavaScript and variants (#1647 -- missing regex flags, #1651)

      • Markdown (#1623, #1617)

      • Shell

        • Lex trailing whitespace as part of the prompt (#1645)
        • Add missing in keyword (#1652)
      • SQL - Fix keywords (#1668)

      • Typescript: Fix incorrect punctuation handling (#1510, #1511)

    • Fix infinite loop in SML lexer (#1625)

    • Fix backtracking string regexes in JavaScript/TypeScript, Modula2 and many other lexers (#1637)

    • Limit recursion with nesting Ruby heredocs (#1638)

    • Fix a few inefficient regexes for guessing lexers

    • Fix the raw token lexer handling of Unicode (#1616)

    • Revert a private API change in the HTML formatter (#1655) -- please note that private APIs remain subject to change!

    • Fix several exponential/cubic-complexity regexes found by Ben Caller/Doyensec (#1675)

    • Fix incorrect MATLAB example (#1582)

    Thanks to Google's OSS-Fuzz project for finding many of these bugs.

    Version 2.7.3

    (released December 6, 2020)

    ... (truncated)

    Commits
    • 4d555d0 Bump version to 2.7.4.
    • fc3b05d Update CHANGES.
    • ad21935 Revert "Added dracula theme style (#1636)"
    • e411506 Prepare for 2.7.4 release.
    • 275e34d doc: remove Perl 6 ref
    • 2e7e8c4 Fix several exponential/cubic complexity regexes found by Ben Caller/Doyensec
    • eb39c43 xquery: fix pop from empty stack
    • 2738778 fix coding style in test_analyzer_lexer
    • 02e0f09 Added 'ERROR STOP' to fortran.py keywords. (#1665)
    • c83fe48 support added for css variables (#1633)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump pillow from 6.2.0 to 8.1.1

    Bump pillow from 6.2.0 to 8.1.1

    Bumps pillow from 6.2.0 to 8.1.1.

    Release notes

    Sourced from pillow's releases.

    8.1.1

    https://pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html

    8.1.0

    https://pillow.readthedocs.io/en/stable/releasenotes/8.1.0.html

    Changes

    Dependencies

    Deprecations

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    8.1.1 (2021-03-01)

    • Use more specific regex chars to prevent ReDoS. CVE-2021-25292 [hugovk]

    • Fix OOB Read in TiffDecode.c, and check the tile validity before reading. CVE-2021-25291 [wiredfool]

    • Fix negative size read in TiffDecode.c. CVE-2021-25290 [wiredfool]

    • Fix OOB read in SgiRleDecode.c. CVE-2021-25293 [wiredfool]

    • Incorrect error code checking in TiffDecode.c. CVE-2021-25289 [wiredfool]

    • PyModule_AddObject fix for Python 3.10 #5194 [radarhere]

    8.1.0 (2021-01-02)

    • Fix TIFF OOB Write error. CVE-2020-35654 #5175 [wiredfool]

    • Fix for Read Overflow in PCX Decoding. CVE-2020-35653 #5174 [wiredfool, radarhere]

    • Fix for SGI Decode buffer overrun. CVE-2020-35655 #5173 [wiredfool, radarhere]

    • Fix OOB Read when saving GIF of xsize=1 #5149 [wiredfool]

    • Makefile updates #5159 [wiredfool, radarhere]

    • Add support for PySide6 #5161 [hugovk]

    • Use disposal settings from previous frame in APNG #5126 [radarhere]

    • Added exception explaining that repr_png saves to PNG #5139 [radarhere]

    • Use previous disposal method in GIF load_end #5125 [radarhere]

    ... (truncated)

    Commits
    • 741d874 8.1.1 version bump
    • 179cd1c Added 8.1.1 release notes to index
    • 7d29665 Update CHANGES.rst [ci skip]
    • d25036f Credits
    • 973a4c3 Release notes for 8.1.1
    • 521dab9 Use more specific regex chars to prevent ReDoS
    • 8b8076b Fix for CVE-2021-25291
    • e25be1e Fix negative size read in TiffDecode.c
    • f891baa Fix OOB read in SgiRleDecode.c
    • cbfdde7 Incorrect error code checking in TiffDecode.c
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • how to train my cifar-10-batches-py?

    how to train my cifar-10-batches-py?

    I mkdir 'cifar-10-batches-py' and copy the data "data_batch_*". after that, I run the script "python watermarks.py --logdir=./save " but I got this error:

    '' Traceback (most recent call last): File "watermarks.py", line 311, in tf.app.run() File "lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 40, in run _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef) File "lib/python3.6/site-packages/absl/app.py", line 303, in run _run_main(main, args) File "lib/python3.6/site-packages/absl/app.py", line 251, in _run_main sys.exit(main(argv)) File "watermarks.py", line 306, in main train(sess, globals()[FLAGS.dataset]) File "watermarks.py", line 189, in train next_image, iterator_inits = dataset_split(dataset, .8) File "cnn-watermark-removal/dataset.py", line 70, in dataset_split records = get_records() File "cnn-watermark-removal/dataset.py", line 64, in get_records convert_to_record() File "cnn-watermark-removal/dataset.py", line 181, in convert_to_record writer.close() AttributeError: 'NoneType' object has no attribute 'close'

    ''

    1. So do you have any idea about this? Does the cifar-10-batches-py data need something mask like 'cat-selection.png'?
    2. If I want to train with my own data(like flowers with watermark), so what should I prepare? Can you list them? just like (1)original img, (2)mask png (3)watermark img? like this?

    thx a lot!

    opened by Asuna88 0
  • module 'tensorflow' has no attribute 'Dataset'

    module 'tensorflow' has no attribute 'Dataset'

    !python watermarks.py --image assets/cat.png --selection assets/cat-selection.png --dataset=dataset_cifar --batch_size 32

    WARNING:tensorflow:From watermarks.py:298: The name tf.app.run is deprecated. Please use tf.compat.v1.app.run instead.
    
    WARNING:tensorflow:From watermarks.py:282: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.
    
    W1109 16:02:22.012408 140498710181760 deprecation_wrapper.py:119] From watermarks.py:282: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.
    
    2020-11-09 16:02:22.025011: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
    2020-11-09 16:02:22.028714: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2249995000 Hz
    2020-11-09 16:02:22.028934: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x32032c0 executing computations on platform Host. Devices:
    2020-11-09 16:02:22.028963: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): <undefined>, <undefined>
    Traceback (most recent call last):
      File "watermarks.py", line 298, in <module>
        tf.app.run()
      File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/platform/app.py", line 40, in run
        _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
      File "/usr/local/lib/python3.6/dist-packages/absl/app.py", line 300, in run
        _run_main(main, args)
      File "/usr/local/lib/python3.6/dist-packages/absl/app.py", line 251, in _run_main
        sys.exit(main(argv))
      File "watermarks.py", line 289, in main
        lambda: dataset_paths([FLAGS.selection]))
      File "watermarks.py", line 117, in inference
        next_image, iterator_init = dataset()
      File "watermarks.py", line 286, in <lambda>
        lambda: dataset_paths([FLAGS.image]),
      File "/content/cnn-watermark-removal/dataset.py", line 50, in dataset_paths
        dataset = tf.Dataset.from_tensor_slices(tf.constant(paths))
      File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/util/deprecation_wrapper.py", line 106, in __getattr__
        attr = getattr(self._dw_wrapped_module, name)
    AttributeError: module 'tensorflow' has no attribute 'Dataset'
    
    opened by AlexRMU 1
Owner
Marc Belmont
Marc Belmont
An image base contains 490 images for learning (400 cars and 90 boats), and another 21 images for testingAn image base contains 490 images for learning (400 cars and 90 boats), and another 21 images for testing

SVM Données Une base d’images contient 490 images pour l’apprentissage (400 voitures et 90 bateaux), et encore 21 images pour fait des tests. Prétrait

Achraf Rahouti 3 Nov 30, 2021
End-to-End Object Detection with Fully Convolutional Network

This project provides an implementation for "End-to-End Object Detection with Fully Convolutional Network" on PyTorch.

null 472 Dec 22, 2022
Dewarping Document Image By Displacement Flow Estimation with Fully Convolutional Network.

Dewarping Document Image By Displacement Flow Estimation with Fully Convolutional Network

null 111 Dec 27, 2022
Dewarping Document Image By Displacement Flow Estimation with Fully Convolutional Network

Dewarping Document Image By Displacement Flow Estimation with Fully Convolutional Network

null 39 Aug 2, 2021
A PyTorch implementation for V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation

A PyTorch implementation of V-Net Vnet is a PyTorch implementation of the paper V-Net: Fully Convolutional Neural Networks for Volumetric Medical Imag

Matthew Macy 606 Dec 21, 2022
Convolutional neural network that analyzes self-generated images in a variety of languages to find etymological similarities

This project is a convolutional neural network (CNN) that analyzes self-generated images in a variety of languages to find etymological similarities. Specifically, the goal is to prove that computer vision can be used to identify cognates known to exist, and perhaps lead linguists to evidence of unknown cognates.

null 1 Feb 3, 2022
Transparent Transformer Segmentation

Transparent Transformer Segmentation Introduction This repository contains the data and code for IJCAI 2021 paper Segmenting transparent object in the

谢恩泽 140 Jan 2, 2023
RGB-D Local Implicit Function for Depth Completion of Transparent Objects

RGB-D Local Implicit Function for Depth Completion of Transparent Objects [Project Page] [Paper] Overview This repository maintains the official imple

NVIDIA Research Projects 43 Dec 12, 2022
The official PyTorch implementation of the paper: *Xili Dai, Xiaojun Yuan, Haigang Gong, Yi Ma. "Fully Convolutional Line Parsing." *.

F-Clip — Fully Convolutional Line Parsing This repository contains the official PyTorch implementation of the paper: *Xili Dai, Xiaojun Yuan, Haigang

Xili Dai 115 Dec 28, 2022
Another pytorch implementation of FCN (Fully Convolutional Networks)

FCN-pytorch-easiest Trying to be the easiest FCN pytorch implementation and just in a get and use fashion Here I use a handbag semantic segmentation f

Y. Dong 158 Dec 21, 2022
PyTorch Implementation of Fully Convolutional Networks. (Training code to reproduce the original result is available.)

pytorch-fcn PyTorch implementation of Fully Convolutional Networks. Requirements pytorch >= 0.2.0 torchvision >= 0.1.8 fcn >= 6.1.5 Pillow scipy tqdm

Kentaro Wada 1.6k Jan 7, 2023
Another pytorch implementation of FCN (Fully Convolutional Networks)

FCN-pytorch-easiest Trying to be the easiest FCN pytorch implementation and just in a get and use fashion Here I use a handbag semantic segmentation f

Y. Dong 158 Dec 21, 2022
Generating Anime Images by Implementing Deep Convolutional Generative Adversarial Networks paper

AnimeGAN - Deep Convolutional Generative Adverserial Network PyTorch implementation of DCGAN introduced in the paper: Unsupervised Representation Lear

Rohit Kukreja 23 Jul 21, 2022
This repository implements and evaluates convolutional networks on the Möbius strip as toy model instantiations of Coordinate Independent Convolutional Networks.

Orientation independent Möbius CNNs This repository implements and evaluates convolutional networks on the Möbius strip as toy model instantiations of

Maurice Weiler 59 Dec 9, 2022
CoSMA: Convolutional Semi-Regular Mesh Autoencoder. From Paper "Mesh Convolutional Autoencoder for Semi-Regular Meshes of Different Sizes"

Mesh Convolutional Autoencoder for Semi-Regular Meshes of Different Sizes Implementation of CoSMA: Convolutional Semi-Regular Mesh Autoencoder arXiv p

Fraunhofer SCAI 10 Oct 11, 2022
EPSANet:An Efficient Pyramid Split Attention Block on Convolutional Neural Network

EPSANet:An Efficient Pyramid Split Attention Block on Convolutional Neural Network This repo contains the official Pytorch implementaion code and conf

Hu Zhang 175 Jan 7, 2023
Implementation of character based convolutional neural network

Character Based CNN This repo contains a PyTorch implementation of a character-level convolutional neural network for text classification. The model a

Ahmed BESBES 248 Nov 21, 2022
An implementation of the research paper "Retina Blood Vessel Segmentation Using A U-Net Based Convolutional Neural Network"

Retina Blood Vessels Segmentation This is an implementation of the research paper "Retina Blood Vessel Segmentation Using A U-Net Based Convolutional

Srijarko Roy 23 Aug 20, 2022
Scripts for training an AI to play the endless runner Subway Surfers using a supervised machine learning approach by imitation and a convolutional neural network (CNN) for image classification

About subwAI subwAI - a project for training an AI to play the endless runner Subway Surfers using a supervised machine learning approach by imitation

null 82 Jan 1, 2023