A fast poisson image editing implementation that can utilize multi-core CPU or GPU to handle a high-resolution image input.

Overview

Poisson Image Editing - A Parallel Implementation

PyPI Docs Test

Jiayi Weng (jiayiwen), Zixu Chen (zixuc)

Poisson Image Editing is a technique that can fuse two images together without producing artifacts. Given a source image and its corresponding mask, as well as a coordination on the target image, the algorithm always yields amazing result.

This project aims to provide a fast poisson image editing algorithm (based on Jacobi Method) that can utilize multi-core CPU or GPU to handle a high-resolution image input.

Installation

Linux/macOS

# install cmake >= 3.4
# if you don't have sudo (like GHC), install cmake from source
# on macOS, type `brew install cmake`
$ pip install fpie

# or install from source
$ pip install .

Extensions

Backend EquSolver GridSolver Documentation Dependency for installation
NumPy ✔️ ✔️ docs pip install numpy
Numba ✔️ ✔️ docs pip install numba
GCC ✔️ ✔️ docs cmake, gcc
OpenMP ✔️ ✔️ docs cmake, gcc (on macOS you need to change clang to gcc-11)
CUDA ✔️ ✔️ docs nvcc
MPI ✔️ ✔️ docs pip install mpi4py and mpicc (on macOS: brew install open-mpi)
Taichi ✔️ ✔️ docs pip install taichi

After installation, you can use --check-backend option to verify:

$ fpie --check-backend
['numpy', 'numba', 'taichi-cpu', 'taichi-gpu', 'gcc', 'openmp', 'mpi', 'cuda']

The above output shows all extensions have successfully installed.

Usage

We have prepared the test suite to run:

$ cd tests && ./data.py

This script will download 8 tests from GitHub, and create 10 images for benchmarking (5 circle, 5 square). To run:

$ fpie -s test1_src.jpg -m test1_mask.jpg -t test1_tgt.jpg -o result1.jpg -h1 -150 -w1 -50 -n 5000 -g max
$ fpie -s test2_src.png -m test2_mask.png -t test2_tgt.png -o result2.jpg -h1 130 -w1 130 -n 5000 -g src
$ fpie -s test3_src.jpg -m test3_mask.jpg -t test3_tgt.jpg -o result3.jpg -h1 100 -w1 100 -n 5000 -g max
$ fpie -s test4_src.jpg -m test4_mask.jpg -t test4_tgt.jpg -o result4.jpg -h1 100 -w1 100 -n 5000 -g max
$ fpie -s test5_src.jpg -m test5_mask.png -t test5_tgt.jpg -o result5.jpg -h0 -70 -w0 0 -h1 50 -w1 0 -n 5000 -g max
$ fpie -s test6_src.png -m test6_mask.png -t test6_tgt.png -o result6.jpg -h1 50 -w1 0 -n 5000 -g max
$ fpie -s test7_src.jpg -t test7_tgt.jpg -o result7.jpg -h1 50 -w1 30 -n 5000 -g max
$ fpie -s test8_src.jpg -t test8_tgt.jpg -o result8.jpg -h1 90 -w1 90 -n 10000 -g max

Here are the results:

# Source image Mask image Target image Result image
1
2
3
4
5
6
7 /
8 /

GUI

$ fpie-gui -s test3_src.jpg -t test3_tgt.jpg -o result.jpg -b cuda -n 10000

We provide a simple GUI for real-time seamless cloning. You need to use your mouse to draw a rectangle on top of the source image, and click a point in target image. After that the result will automatically be generated. In the end, you can press ESC to terminate the program.

Backend and Solver

We have provided 7 backends. Each backend has two solvers: EquSolver and GridSolver. You can find the difference between these two solvers in the next section.

For different backend usage, please check out the related documentation here.

For other usage, please run fpie -h or fpie-gui -h to see the hint.

Benchmark Result

See benchmark result and report.

Algorithm Detail

The general idea is to keep most of gradient in source image, while matching the boundary of source image and target image pixels.

The gradient is computed by

After calculating the gradient in source image, the algorithm tries to solve the following problem: given the gradient and the boundary value, calculate the approximate solution that meets the requirement, i.e., to keep target image's gradient as similar as the source image. It can be formulated as , where , N is the number of pixels in the mask, A is a giant sparse matrix because each line of A only contains at most 4 non-zero value (neighborhood), b is the gradient from source image, and x is the result value.

N is always a large number, i.e., greater than 50k, so the Gauss-Jordan Elimination cannot be directly applied here because of the high time complexity O(N^3). People use Jacobi Method to solve the problem. Thanks to the sparsity of matrix A, the overall time complexity is O(MN) where M is the number of iteration performed by poisson image editing.

This project parallelizes Jacobi method to speed up the computation. To our best knowledge, there's no public project on GitHub that implements poisson image editing with either OpenMP, or MPI, or CUDA. All of them can only handle a small size image workload.

EquSolver vs GridSolver

Usage: --method {equ,grid}

EquSolver directly constructs the equations by re-labeling the pixel, and use Jacobi method to get the solution via .

GridSolver uses the same Jacobi iteration, however, it keeps the 2D structure of the original image instead of re-labeling the pixel in the mask. It may take some advantage when the mask region covers all of the image, because in this case GridSolver can save 4 read instructions by directly calculating the neighborhood's coordinate.

If the GridSolver's parameter is carefully tuned (--grid-x and --grid-y), it can always perform better than EquSolver with different backend configuration.

Gradient for PIE

Usage: -g {max,src,avg}

The PIE paper states some variant of gradient calculation such as Equ. 12: using the maximum gradient to perform "mixed seamless cloning". We also provide such an option in our program:

  • src: only use the gradient from source image
  • avg: use the average gradient of source image and target image
  • max: use the max gradient of source and target image

The following example shows the difference between these three methods:

# target image --gradient=src --gradient=avg --gradient=max
3
4
8

Miscellaneous (for 15-618 course project)

Project proposal and milestone

Final report and 5min video

You might also like...
A simplistic and efficient pure-python neural network library from Phys Whiz with CPU and GPU support.
A simplistic and efficient pure-python neural network library from Phys Whiz with CPU and GPU support.

A simplistic and efficient pure-python neural network library from Phys Whiz with CPU and GPU support.

Copy Paste positive polyp using poisson image blending for medical image segmentation
Copy Paste positive polyp using poisson image blending for medical image segmentation

Copy Paste positive polyp using poisson image blending for medical image segmentation According poisson image blending I've completely used it for bio

Unofficial pytorch implementation of the paper "Dynamic High-Pass Filtering and Multi-Spectral Attention for Image Super-Resolution"

DFSA Unofficial pytorch implementation of the ICCV 2021 paper "Dynamic High-Pass Filtering and Multi-Spectral Attention for Image Super-Resolution" (p

Implementation of 'lightweight' GAN, proposed in ICLR 2021, in Pytorch. High resolution image generations that can be trained within a day or two
Implementation of 'lightweight' GAN, proposed in ICLR 2021, in Pytorch. High resolution image generations that can be trained within a day or two

512x512 flowers after 12 hours of training, 1 gpu 256x256 flowers after 12 hours of training, 1 gpu Pizza 'Lightweight' GAN Implementation of 'lightwe

Implementation for HFGI: High-Fidelity GAN Inversion for Image Attribute Editing
Implementation for HFGI: High-Fidelity GAN Inversion for Image Attribute Editing

HFGI: High-Fidelity GAN Inversion for Image Attribute Editing High-Fidelity GAN Inversion for Image Attribute Editing Update: We released the inferenc

Very simple NCHW and NHWC conversion tool for ONNX. Change to the specified input order for each and every input OP. Also, change the channel order of RGB and BGR. Simple Channel Converter for ONNX.
Very simple NCHW and NHWC conversion tool for ONNX. Change to the specified input order for each and every input OP. Also, change the channel order of RGB and BGR. Simple Channel Converter for ONNX.

scc4onnx Very simple NCHW and NHWC conversion tool for ONNX. Change to the specified input order for each and every input OP. Also, change the channel

Img-process-manual -  Utilize Python Numpy and Matplotlib to realize OpenCV baisc image processing function
Img-process-manual - Utilize Python Numpy and Matplotlib to realize OpenCV baisc image processing function

Img-process-manual - Opencv Library basic graphic processing algorithm coding reproduction based on Numpy and Matplotlib library

Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation. Intel iHD GPU (iGPU) support. NVIDIA GPU (dGPU) support.
Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation. Intel iHD GPU (iGPU) support. NVIDIA GPU (dGPU) support.

mtomo Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation.

GrabGpu_py: a scripts for grab gpu when gpu is free

GrabGpu_py a scripts for grab gpu when gpu is free. WaitCondition: gpu_memory

Comments
  •  Legacy-install-failure installing fpie package #64

    Legacy-install-failure installing fpie package #64

    I had some problems with installing the fpie package. I already updated the wheel and installed the cmake package manually.

    image

    • OS: Ubuntu debian 18.04.6 LTS
    • CUDA 11.4
    • Nvidia RTX A5000 and Nvidia GeForce RTX 3090
    • Browser firefox
    opened by toonpeters 3
  • some questions about border treatment

    some questions about border treatment

    First of all, I highly appreciate this great work, which implements lots of methods to perform poisson image editing with different backends, where I really value the promising implementations of CUDA and Taichi which enable me to use poisson image editing during my deep network training although it isn't differentiate. Although it seems perfect right now, I may have a small issue about the special treatment of image boundary, because it's likely that the blending result is less satisfactory if the mask touches the image border.

    https://github.com/Trinkle23897/Fast-Poisson-Image-Editing/blob/d605cf90542ddac7cd47ae830f713510f1a5d935/fpie/process.py#L183-L187

    Since my mask will touch the image border, so the codes above will forcely set the mask value to 0 (instead of keeping the original 255). I think this is because the current implementation don't give a special treatment to this case, and therefore if the target image have wrong values inside the masked region (e.g. all zeros inside the mask) and we use gradient="src", the filled values will definitely affect the blending results because the filled values are also involved in the boundary constraints (some mask values are set to zero, see above).

    I wonder to know, if I want to address this, what should I do and modify the codes so as to keep the changes minimum?

    Thank you very much!

    question 
    opened by Karbo123 3
  • Batch processing

    Batch processing

    Hello, Is there any way to process images in batch? So let's say I have three folders, in which dst/src/masks are already rescaled and aligned and I just want to take triplets with the same name, blend them and output it in a separate folder. I also wonder whether solver reinitialization produces significant overhead if you do it one by one.

    question 
    opened by dmonkoff 1
  • fpie failed building in windows 11 / python 3.10.6

    fpie failed building in windows 11 / python 3.10.6

    Hello

    Here are my logs from anaconda virutal env terminal :

    pip install vie

    Here is the log

    (sd-inf) C:\Users\B\Desktop\stablediffusion\stablediffusion-infinity>pip install fpie Collecting fpie Using cached fpie-0.2.4.tar.gz (29 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: cmake>=3.4 in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from fpie) (3.24.1.1) Requirement already satisfied: opencv-python-headless>=4.2 in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from fpie) (4.6.0.66) Requirement already satisfied: numpy>=1.18 in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from fpie) (1.23.3) Requirement already satisfied: taichi>=1.0 in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from fpie) (1.1.3) Requirement already satisfied: numba>=0.51 in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from fpie) (0.56.3) Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from numba>=0.51->fpie) (0.39.1) Requirement already satisfied: setuptools in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from numba>=0.51->fpie) (63.4.1) Requirement already satisfied: sourceinspect>=0.0.4 in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from taichi>=1.0->fpie) (0.0.4) Requirement already satisfied: colorama in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from taichi>=1.0->fpie) (0.4.5) Requirement already satisfied: rich in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from taichi>=1.0->fpie) (12.6.0) Requirement already satisfied: dill in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from sourceinspect>=0.0.4->taichi>=1.0->fpie) (0.3.5.1) Requirement already satisfied: commonmark<0.10.0,>=0.9.0 in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from rich->taichi>=1.0->fpie) (0.9.1) Requirement already satisfied: pygments<3.0.0,>=2.6.0 in c:\users\b\anaconda3\envs\sd-inf\lib\site-packages (from rich->taichi>=1.0->fpie) (2.13.0) Building wheels for collected packages: fpie Building wheel for fpie (setup.py) ... error error: subprocess-exited-with-error

    × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [62 lines of output] running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-cpython-310 creating build\lib.win-amd64-cpython-310\fpie copying fpie\args.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\cli.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\gui.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\io.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\np_solver.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\numba_solver.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\process.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\taichi_solver.py -> build\lib.win-amd64-cpython-310\fpie copying fpie_init_.py -> build\lib.win-amd64-cpython-310\fpie running build_ext -- Building for: Visual Studio 16 2019 -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19044. -- The C compiler identification is MSVC 19.29.30146.0 -- The CXX compiler identification is MSVC 19.29.30146.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.36.0.windows.1") -- downloading/updating pybind11 -- pybind11 directory not found, cloning... Cloning into 'C:/Users/B/AppData/Local/Temp/pip-install-5bykcwlg/fpie_1af82193c262414a803966f640d8358b/pybind11'... -- Switched to a new branch 'stable' -- branch 'stable' set up to track 'origin/stable'.

      -- pybind11 v2.10.0
      -- Found PythonInterp: C:/Users/B/anaconda3/envs/sd-inf/python.exe (found suitable version "3.10.6", minimum required is "3.6")
      -- Found PythonLibs: C:/Users/B/anaconda3/envs/sd-inf/libs/python310.lib
      -- Performing Test HAS_MSVC_GL_LTCG
      -- Performing Test HAS_MSVC_GL_LTCG - Success
      -- Found OpenMP_C: -openmp (found version "2.0")
      -- Found OpenMP_CXX: -openmp (found version "2.0")
      -- Found OpenMP: TRUE (found version "2.0")
      -- Could NOT find MPI_C (missing: MPI_C_LIB_NAMES MPI_C_HEADER_DIR MPI_C_WORKS)
      -- Could NOT find MPI_CXX (missing: MPI_CXX_LIB_NAMES MPI_CXX_HEADER_DIR MPI_CXX_WORKS)
      -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)
      -- Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7 (found version "11.7")
      -- The CUDA compiler identification is NVIDIA 11.7.99
      -- Detecting CUDA compiler ABI info
      -- Detecting CUDA compiler ABI info - done
      -- Check for working CUDA compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7/bin/nvcc.exe - skipped
      -- Detecting CUDA compile features
      -- Detecting CUDA compile features - done
      -- Found PythonInterp: C:/Users/B/anaconda3/envs/sd-inf/python.exe (found suitable version "3.10.6", minimum required is "3")
      -- Found PythonLibs: C:/Users/B/anaconda3/envs/sd-inf/libs/python310.lib (found suitable version "3.10.6", minimum required is "3.10")
      -- Configuring done
      -- Generating done
      -- Build files have been written to: C:/Users/B/AppData/Local/Temp/pip-install-5bykcwlg/fpie_1af82193c262414a803966f640d8358b/build/temp.win-amd64-cpython-310/Release
      error: [WinError 2] Le fichier spécifié est introuvable
      [end of output]
    

    note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for fpie Running setup.py clean for fpie Failed to build fpie Installing collected packages: fpie Running setup.py install for fpie ... error error: subprocess-exited-with-error

    × Running setup.py install for fpie did not run successfully. │ exit code: 1 ╰─> [56 lines of output] running install C:\Users\B\anaconda3\envs\sd-inf\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running build running build_py creating build creating build\lib.win-amd64-cpython-310 creating build\lib.win-amd64-cpython-310\fpie copying fpie\args.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\cli.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\gui.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\io.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\np_solver.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\numba_solver.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\process.py -> build\lib.win-amd64-cpython-310\fpie copying fpie\taichi_solver.py -> build\lib.win-amd64-cpython-310\fpie copying fpie_init_.py -> build\lib.win-amd64-cpython-310\fpie running build_ext -- Building for: Visual Studio 16 2019 -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19044. -- The C compiler identification is MSVC 19.29.30146.0 -- The CXX compiler identification is MSVC 19.29.30146.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- pybind11 v2.10.0 -- Found PythonInterp: C:/Users/B/anaconda3/envs/sd-inf/python.exe (found suitable version "3.10.6", minimum required is "3.6") -- Found PythonLibs: C:/Users/B/anaconda3/envs/sd-inf/libs/python310.lib -- Performing Test HAS_MSVC_GL_LTCG -- Performing Test HAS_MSVC_GL_LTCG - Success -- Found OpenMP_C: -openmp (found version "2.0") -- Found OpenMP_CXX: -openmp (found version "2.0") -- Found OpenMP: TRUE (found version "2.0") -- Could NOT find MPI_C (missing: MPI_C_LIB_NAMES MPI_C_HEADER_DIR MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_LIB_NAMES MPI_CXX_HEADER_DIR MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND) -- Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7 (found version "11.7") -- The CUDA compiler identification is NVIDIA 11.7.99 -- Detecting CUDA compiler ABI info -- Detecting CUDA compiler ABI info - done -- Check for working CUDA compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7/bin/nvcc.exe - skipped -- Detecting CUDA compile features -- Detecting CUDA compile features - done -- Found PythonInterp: C:/Users/B/anaconda3/envs/sd-inf/python.exe (found suitable version "3.10.6", minimum required is "3") -- Found PythonLibs: C:/Users/B/anaconda3/envs/sd-inf/libs/python310.lib (found suitable version "3.10.6", minimum required is "3.10") -- Configuring done -- Generating done -- Build files have been written to: C:/Users/B/AppData/Local/Temp/pip-install-5bykcwlg/fpie_1af82193c262414a803966f640d8358b/build/temp.win-amd64-cpython-310/Release error: [WinError 2] Le fichier spécifié est introuvable [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

    × Encountered error while trying to install package. ╰─> fpie

    note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

    opened by francoisbonnard 12
Releases(v0.2.0)
Owner
Jiayi Weng
Graduated from THU-CST and [email protected]. Incoming
Jiayi Weng
PyTorch GPU implementation of the ES-RNN model for time series forecasting

Fast ES-RNN: A GPU Implementation of the ES-RNN Algorithm A GPU-enabled version of the hybrid ES-RNN model by Slawek et al that won the M4 time-series

Kaung 305 Jan 03, 2023
Earthquake detection via fiber optic cables using deep learning

Earthquake detection via fiber optic cables using deep learning Author: Fantine Huot Getting started Update the submodules After cloning the repositor

Fantine 4 Nov 30, 2022
This is an official implementation for "SimMIM: A Simple Framework for Masked Image Modeling".

SimMIM By Zhenda Xie*, Zheng Zhang*, Yue Cao*, Yutong Lin, Jianmin Bao, Zhuliang Yao, Qi Dai and Han Hu*. This repo is the official implementation of

Microsoft 674 Dec 26, 2022
Style-based Neural Drum Synthesis with GAN inversion

Style-based Drum Synthesis with GAN Inversion Demo TensorFlow implementation of a style-based version of the adversarial drum synth (ADS) from the pap

Sound and Music Analysis (SoMA) Group 29 Nov 19, 2022
A PyTorch implementation of "Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks" (KDD 2019).

ClusterGCN ⠀⠀ A PyTorch implementation of "Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks" (KDD 2019). A

Benedek Rozemberczki 697 Dec 27, 2022
Flask101 - FullStack Web Development with Python & JS - From TAQWA

Task: Create a CLI Calculator Step 0: Creating Virtual Environment $ python -m

Hossain Foysal 1 May 31, 2022
Sign Language is detected in realtime using video sequences. Our approach involves MediaPipe Holistic for keypoints extraction and LSTM Model for prediction.

RealTime Sign Language Detection using Action Recognition Approach Real-Time Sign Language is commonly predicted using models whose architecture consi

Rishikesh S 15 Aug 20, 2022
StyleGAN2 Webtoon / Anime Style Toonify

StyleGAN2 Webtoon / Anime Style Toonify Korea Webtoon or Japanese Anime Character Stylegan2 base high Quality 1024x1024 / 512x512 Generate and Transfe

121 Dec 21, 2022
Code for "Optimizing risk-based breast cancer screening policies with reinforcement learning"

Tempo: Optimizing risk-based breast cancer screening policies with reinforcement learning Introduction This repository was used to develop Tempo, as d

Adam Yala 12 Oct 11, 2022
Implementation of "Bidirectional Projection Network for Cross Dimension Scene Understanding" CVPR 2021 (Oral)

Bidirectional Projection Network for Cross Dimension Scene Understanding CVPR 2021 (Oral) [ Project Webpage ] [ arXiv ] [ Video ] Existing segmentatio

Hu Wenbo 135 Dec 26, 2022
Pytorch implementation of DeepMind's differentiable neural computer paper.

DNC pytorch This is a Pytorch implementation of DeepMind's Differentiable Neural Computer (DNC) architecture introduced in their recent Nature paper:

Yuanpu Xie 91 Nov 21, 2022
PyTorch DepthNet Training on Still Box dataset

DepthNet training on Still Box Project page This code can replicate the results of our paper that was published in UAVg-17. If you use this repo in yo

Clément Pinard 115 Nov 21, 2022
This is the official github repository of the Met dataset

The Met dataset This is the official github repository of the Met dataset. The official webpage of the dataset can be found here. What is it? This cod

Nikolaos-Antonios Ypsilantis 35 Dec 17, 2022
Official Implementation of "Third Time's the Charm? Image and Video Editing with StyleGAN3" https://arxiv.org/abs/2201.13433

Third Time's the Charm? Image and Video Editing with StyleGAN3 Yuval Alaluf*, Or Patashnik*, Zongze Wu, Asif Zamir, Eli Shechtman, Dani Lischinski, Da

531 Dec 20, 2022
TumorInsight is a Brain Tumor Detection and Classification model built using RESNET50 architecture.

A Brain Tumor Detection and Classification Model built using RESNET50 architecture. The model is also deployed as a web application using Flask framework.

Pranav Khurana 0 Aug 17, 2021
Systemic Evolutionary Chemical Space Exploration for Drug Discovery

SECSE SECSE: Systemic Evolutionary Chemical Space Explorer Chemical space exploration is a major task of the hit-finding process during the pursuit of

64 Dec 16, 2022
Convnet transfer - Code for paper How transferable are features in deep neural networks?

How transferable are features in deep neural networks? This repository contains source code necessary to reproduce the results presented in the follow

Jason Yosinski 143 Sep 13, 2022
🔮 Execution time predictions for deep neural network training iterations across different GPUs.

Habitat: A Runtime-Based Computational Performance Predictor for Deep Neural Network Training Habitat is a tool that predicts a deep neural network's

Geoffrey Yu 44 Dec 27, 2022
Implementation of the paper Recurrent Glimpse-based Decoder for Detection with Transformer.

REGO-Deformable DETR By Zhe Chen, Jing Zhang, and Dacheng Tao. This repository is the implementation of the paper Recurrent Glimpse-based Decoder for

Zhe Chen 33 Nov 30, 2022
SiT: Self-supervised vIsion Transformer

This repository contains the official PyTorch self-supervised pretraining, finetuning, and evaluation codes for SiT (Self-supervised image Transformer).

Sara Ahmed 275 Dec 28, 2022