Lama-cleaner: Image inpainting tool powered by LaMa

Overview

Lama-cleaner: Image inpainting tool powered by LaMa

This project is mainly used for selfhosting LaMa model, some interaction improvements may be added later.

example

Quick Start

  • Install requirements: pip3 install -r requirements.txt
  • Start server: python3 main.py --device=cuda --port=8080

Development

Fronted

Frontend code are modified from cleanup.pictures, You can experience their great online services here.

  • Install dependencies:cd lama_cleaner/app/ && yarn
  • Start development server: yarn dev
  • Build: yarn build

Docker

Run within a Docker container. Set the CACHE_DIR to models location path. Optionally add a -d option to the docker run command below to run as a daemon.

Build Docker image

docker build -f Dockerfile -t lamacleaner .

Run Docker (cpu)

docker run -p 8080:8080 -e CACHE_DIR=/app/models -v  $(pwd)/models:/app/models -v $(pwd):/app --rm lamacleaner python3 main.py --device=cpu --port=8080

Run Docker (gpu)

docker run --gpus all -p 8080:8080 -e CACHE_DIR=/app/models -v $(pwd)/models:/app/models -v $(pwd):/app --rm lamacleaner python3 main.py --device=cuda --port=8080

Then open http://localhost:8080

Comments
  • Out of memory

    Out of memory

    I have 6GB memory in gtx2060. trying to use a 1024x659 image. used smallest brush with just one stroke getting this memory error

    RuntimeError: CUDA out of memory. Tried to allocate 16.00 MiB (GPU 0; 6.00 GiB total capacity; 4.02 GiB already allocated; 0 bytes free; 4.38 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
    

    is it that memory taxing or there is an error?

    opened by rahmanshaber 13
  • LDM Running out of memory

    LDM Running out of memory

    I understand that the LDM model is intensive but I think something peculiar is happening. It always OOM's on the 3rd stroke. I tried lowering the steps but it doesn't matter. No matter what the step size is or the stroke size is, the model crashes on the 3rd stroke with an OOM.

    Wondering if there might be a fix for that? I'm on a RTX3080.

    opened by blessedcoolant 11
  • Did not find CUDA device on your computer

    Did not find CUDA device on your computer

    I have installed cuda, but the WARNING-- “Did not find CUDA device on your computer, fallback to cpu tasks.py:86 Start as desktop app? [y/n] (y):” so,How to use GPU to run this program

    opened by gaoxuxu110 10
  • Add a configuration to toggle automatic or manual mode

    Add a configuration to toggle automatic or manual mode

    I'd love it if there was a manual "Clean up" button, rather than having to select everything within one selection.

    For example, I'd mask several different items, and then click on Clean up, rather than mask the first one -> wait for clean up > mask the second one > wait for clean up, and so on...

    Also, sometimes when zoomed in, I can't reach and mask all of the object so I have to let go of the mouse click which automatically starts the clean up process, rather than letting me continue it and then manually deciding when to clean up

    Hope this makes sense :)

    opened by lucellent 10
  • Complete GUI Refactor

    Complete GUI Refactor

    This patch brings in a massive number of changes to the frontend of the application. Please feel free to discuss the proposed changes with me at any time.

    Implemented Recoil as a state management system.

    Why Recoil? It is a robust library built by developers at Facebook for state management. It has an extremely simple API for implementation that is in sync with React syntax compared to any other state management system out there and works amazingly well. While the official release status is beta as it becomes fully featured, the library is already used in various systems at Facebook and is very stable for the use cases of this application.

    Why global state management? One of the major issues I saw with the current file structure is that there is minimal code splitting and it makes further development of the frontend a cumbersome task. I have broken down the frontend into various easy to access components isolating the GUI from the logic. To avoid prop drilling, we need global state management to handle the necessary tasks. This will also facilitate the addition of any new features greatly.

    Code Splitting. Majority of the components that can be isolated in the application have now been done so.

    All New Custom CSS & Removal of Tailwind

    While Tailwind is a great way to deploy beautiful interfaces quickly, anyone trying to stylize the application further needs to be familiar with Tailwind which makes it harder for more people to work on it. Not to mention, I am not a particular fan of flooding JSX elements with inline CSS classes. That makes reading the code extremely hard and bloats up component code drastically.

    As a replacement to Tailwind, I implemented a custom styling system using SCSS as a developer dependency.

    In the new system, all the general and shared styles are in the styles folder and all the component styles are in the same folder as the component for easy access. The _index.scss file now acts as a central import for every other stylesheet that needs to be loaded.

    What Changed?

    • The entire application looks and feels like the current implementation with minimal changes.
    • The green (#bdff01) highlight used in the application has now been changed to a bright yellow (rgb(255, 190, 0)) because I felt it better suited the new Dark Mode (see below).
    • The swipe bar for comparing before and after images has now been removed and instead the comparison is a smooth fade effect. I felt this was better to analyze image changes rather than a swiper. // Can add the swipe back if needed.

    Dark Mode

    A brand new Dark Mode has been added for the application. Users can enable and disable by tapping the button in the header or by using the Shift + D hotkey.

    Other New Features

    • When the editor image is now zoomed out to its default size, the image now also gets centered back.
    • Various minor bug and QoL fixes

    TODO - Stuff I might work on next

    • The currently used react-zoom-pinch-pan module is not mobile friendly. It does not allow brush strokes. Need to figure out a way to fix this.
    • Further optimization of the frontend code with better code splitting and performance.
    • When using the LaMa model, the first stroke has a delayed response from the backend but the ones that follow are almost immediate. I believe this is happening because of the initialization of the model on the first stroke. I wonder if either of us can look at it and see if this can somehow be preloaded so the user experience is smooth from the first stroke.
    • Enable threading for the desktop application mode so flaskwebgui does not block the main applications Python console.
    opened by blessedcoolant 9
  • [Feature Request] Support for passing in image path parameters to start

    [Feature Request] Support for passing in image path parameters to start

    When used as a local tool, most of the time you may only need to process a single photo, and it could be a bit more convenient if it could support passing in the image path at startup, eliminating the need to manually select the path. Let's say the following.

    python3 main.py --device=cuda --port=8080 --model=lama --image path/example.jpg
    
    python3 main.py --device=cuda --port=8080 --model=ldm --ldm-steps=50 --image path/example.jpg
    
    opened by photkey 9
  • 0.15.0 windows not working

    0.15.0 windows not working

    I updated from V0.14.0 to V0.15.0 and try to run it using: python main.py

    (lama015) C:\Users\username\Documents\Ai_Ml\lama-cleaner-0.15>python main.py OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.

    I installed it using conda new env and installed pytorch conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch

    I wax using 0.14.0 and it was working perfictly with almost 0 issues something had changed cusing this.

    opened by Tobe2d 8
  • Error when editing images above 2k

    Error when editing images above 2k

    It seems to error out on larger images when editing the original size. 3840x2880 3648x5472 2299x3065

    I've attached the error outputs: err2.txt err1.txt

    I'm on CUDA 11.1 (I've tried 11.3/11.5 too) and have also tried torch 1.9-1.10, with the same errors occurring on my RTX 3080 GPU. I'm using the Docker setup but with the torch replaced with the cuda 11.1+ version. Selecting 2k or 1080p usually results in it working properly (I believe sometimes 2k will throw an error, but then will work)

    opened by amooose 8
  • New resizing bug introduced

    New resizing bug introduced

    https://user-images.githubusercontent.com/71787427/163864876-0ab01a33-4d0c-4d2f-9c0e-ee69606ab2a3.mp4

    The image resizes itself auto zooms out when the mouse is released.Previously it was keeping the zoom level. It is doing it with multi stroke as well.

    and this is how thee old version acts:

    https://user-images.githubusercontent.com/71787427/163869321-ed254ddf-7229-4c47-9b75-d2046d5645f9.mp4

    opened by FlowDownTheRiver 7
  • error:03000086:digital envelope routines::initialization error

    error:03000086:digital envelope routines::initialization error

    I just installed yarn.

    When trying to run the frontend using "yarn start" or trying to do "yarn build" on Windows 10, I get an error:

    D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app>"C:\Program Files\nodejs\node_modules\corepack\shims\yarn" start i 「wds」: Project is running at http://192.168.56.1/ i 「wds」: webpack output is served from i 「wds」: Content not from webpack is served from D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app\public i 「wds」: 404s will fallback to / Starting the development server...

    D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app\node_modules\react-scripts\scripts\start.js:19 throw err; ^

    Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19) at Object.createHash (node:crypto:133:10) at module.exports (D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app\node_modules\webpack\lib\util\createHash.js:135:53) at NormalModule._initBuildHash (D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app\node_modules\webpack\lib\NormalModule.js:417:16) at D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app\node_modules\webpack\lib\NormalModule.js:452:10 at D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app\node_modules\webpack\lib\NormalModule.js:323:13 at D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app\node_modules\loader-runner\lib\LoaderRunner.js:367:11 at D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app\node_modules\loader-runner\lib\LoaderRunner.js:233:18 at context.callback (D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app\node_modules\loader-runner\lib\LoaderRunner.js:111:13) at D:\py\lama-cleaner\lama-cleaner-main\lama-cleaner-main\lama_cleaner\app\node_modules\babel-loader\lib\index.js:59:103 { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' }

    Node.js v18.12.1


    I want to modify the server code to not be a server and to run on automatically modified images with automatically generated masks, the only reason I'm trying to run the frontend is to try to figure out some default/good values for some of the config variables:

    config = Config( ldm_steps=form["ldmSteps"], ldm_sampler=form["ldmSampler"], hd_strategy=form["hdStrategy"], zits_wireframe=form["zitsWireframe"], hd_strategy_crop_margin=form["hdStrategyCropMargin"], hd_strategy_crop_trigger_size=form["hdStrategyCropTrigerSize"], hd_strategy_resize_limit=form["hdStrategyResizeLimit"], prompt=form["prompt"], use_croper=form["useCroper"], croper_x=form["croperX"], croper_y=form["croperY"], croper_height=form["croperHeight"], croper_width=form["croperWidth"], sd_mask_blur=form["sdMaskBlur"], sd_strength=form["sdStrength"], sd_steps=form["sdSteps"], sd_guidance_scale=form["sdGuidanceScale"], sd_sampler=form["sdSampler"], sd_seed=form["sdSeed"], cv2_flag=form["cv2Flag"], cv2_radius=form['cv2Radius'] )

    opened by inhahe 5
  • Keep object inside mask

    Keep object inside mask

    Hi:

    Is it possible to use lama-cleaner to do the opposite of inpainting, that is, to keep the object selected with a mask?

    I have tried substracting the inpainted image to the original, but that process leaves a lot of noise. Since the model is trained to remove structures, what is needed to train another model which leaves them (and removes the background)?

    I would be very grateful for any hint on how to solve this problem.

    (PD: I don't know if this is the appropiate space for this kind of question, I apologize in advance if that is not the case)

    Thanks in advance!

    opened by Atsui75 5
  • how can I get the download url of the cleaned image?

    how can I get the download url of the cleaned image?

    Thanks for looking this question ! When I click the download icon , the cleaned image can be downloaded successfully. But I want get the image output url. I check in js files like '2.ee9dcc6c.chunk.js' and 'main.5cf6948e.chunk.js' and try to find the cleaned image download url, but I failed. Anybody know how can do it? Thanks again!

    opened by yinghao2016 1
  • Getting black image only

    Getting black image only

    Hi, I am only getting a black blob where the mask is drawn instead of an image when using the SD1.5 and Paint by Example tools. I have the dreaded MSI 1660 Super GPU with 6gb VRAM. I added the --sd-disable-nsfw command line argument. Attached is the error message I get. Any solutions?

    Thanks LamaCleaner Error

    help wanted 
    opened by wirra55 6
  • painting isn't working

    painting isn't working

    Hello, whenever I try to paint then either the software just blackens the marked area or transforms it, but it never painted the things I asked it to. What can I do? I have an RTX 3070 Ti 8GB

    opened by shalevc1098 1
Releases(0.31.0)
  • 0.31.0(Jan 8, 2023)

    Happy new year 🎆 ! I just recovered from COVID and it's been really hard to be sick, hope everyone is doing well.

    File Manager

    https://user-images.githubusercontent.com/3998421/211202244-57093aef-7d76-4ce6-91e0-c63cb0211755.mov

    I realize that some users will use this tool to process lots of photos and I thought a FileManager would be helpful. Users can search images by name, and browser images in both the image directory and the output directory. To enable the FileManager, set two command line args when starting Lama Cleaner

    • --input: a directory contains images you want to clean up
    • --output-dir: The directory where you want to save the resulting image when clicking the download button on the web page, the resulting image will download to the output directory. A folder will be created in this directory to store the thumbnails

    SD/PaintByExample Image Resize

    https://user-images.githubusercontent.com/3998421/211202340-4ac928ff-23fe-49a2-9b4b-dea31c16bd99.mov

    Resize the image before inpainting, then scale up the inpainting area to fill the origin area, the area outside the mask will not lose quality. This option can be used to save vRAM.

    cpu_offload

    new command line arg: --cpu-offload for sd/paint_by_example model, offloads all models to CPU, reducing vRAM usage.

    According to diffusers's document, vRAM can be reduced to 2GB, but that doesn't seem to be the case in my tests, you can try it yourself.

    Stable Diffusion 1.5

    No more huggingface access token is needed at the first download time

    Source code(tar.gz)
    Source code(zip)
  • 0.30.2(Jan 4, 2023)

  • 0.30.1(Jan 3, 2023)

    On some GPU(https://github.com/Sanster/lama-cleaner/issues/167) sd model might get a black image, it's probably because of fp16 precision, add a new --no-half option to the startup command, please upgrade to 0.30.1 to use this arg(for one-click installer, rerun win_config.bat will install the newest version of lama-cleaner)

    Source code(tar.gz)
    Source code(zip)
  • 0.30.0(Dec 11, 2022)

    Paint by Example

    New model --model paint_by_example from https://github.com/Fantasy-Studio/Paint-by-Example.

    This model is really interesting, you can use an example image to guide the model to generate similar content and no prompt is needed. I like the bunny one most, which one do you like? Click the bunny image to see how to use this model, have fun!

    | Original Image | Example Image | Result Image | |----|------|-------| ||||

    |cat|bird| |--|--| |jack_sparrow_cleanup_cat|jack_sparrow_cleanup_bird|

    |bear|panda| |--|--| |jack_sparrow_cleanup_bear|jack_sparrow_cleanup_panda|

    Source code(tar.gz)
    Source code(zip)
  • 0.29.0(Dec 4, 2022)

    img

    • New model --model sd2 : Stable Diffusion 2
    • New sampler dpm++: DPMSolverMultistepScheduler Empirically, sampling by DPM-Solver with only 20 steps can generate high-quality samples, and it can generate quite good samples even in only 10 steps.
    • New device --device mps: M1/M2 Apple Silicon support, make sure your torch version is 1.13.0. In theory, Lama Cleaner's code is device agnostic, but I don't have an M1 device to test it on, so if you encounter any problems, please try to provide a full screenshot of the error when opening an issue. Or just submit a PR to fix the problem, I'd appreciate it! ☮️ ✌️
    Source code(tar.gz)
    Source code(zip)
  • 0.28.0(Dec 2, 2022)

    Stable Diffusion

    • Add match histogram option https://github.com/Sanster/lama-cleaner/pull/143, Match the inpainting result histogram to the source image histogram, which will improve the inpainting quality for some images.
    • Add --sd-enable-xformers command line arg https://github.com/Sanster/lama-cleaner/pull/146, which gives a big boost in speed while also reducing GPU memory usage significantly. To use this option you need to Install https://github.com/facebookresearch/xformers first

    Interactive Segmentation

    In this release, Lama Cleaner integrates with a small model(so it can run on CPU) from ClickSEG. I have wanted to add this feature for a long time, it's fun and useful in many scenarios.

    The basic operation process is as follows:

    • Enable Interactive Segmentation by clicking the button on the bottom toolbar, or by shortcut i
    • Left click meaning position click (include things you want to mask)
    • Right click meaning negative click(exclude things you want to mask)
    • Complete the mask with the brush (If the result of interactive segmentation is not so good)
    • Inpainting!

    https://user-images.githubusercontent.com/3998421/205301195-f497922a-1037-4501-a865-d140a7455331.mp4

    Source code(tar.gz)
    Source code(zip)
  • 0.27.1(Nov 21, 2022)

    Manga inpainting model from: https://github.com/msxie92/MangaInpainting

    Manga model works better on high-quality manga image then LaMa model.

    Original Image

    manga

    | Model | 1080x740 | 1470x1010 | |--------|------------|------------| |Manga|manga_1080x740|manga_1470x1010| |LaMa|lama_1080x740|lama_1470x1010|

    Source code(tar.gz)
    Source code(zip)
  • 0.26.1(Nov 16, 2022)

  • 0.26.0(Nov 16, 2022)

    • Add upload mask button. Once uploaded, you can rerun inpainting with the current mask by clicking the play button. The mask must have the same shape as the image. image mask example(white area is mask area): overture-creations-5sI6fQgYIuo_mask

    • Better error message when CUDA OOM

    • Add --disable-model-switch when start server. Disable model switch from frontend

    • sd1.5

      • Faster model loading thanks to diffusers 0.7.0 update:
      • Negative Prompt
      • Add k_euler and k_euler_a sampler
      • Make the cropper easier to drag and resize: https://github.com/Sanster/lama-cleaner/pull/111
    Source code(tar.gz)
    Source code(zip)
  • 0.25.0(Nov 8, 2022)

    • remove torch.amp.autocast in sd1.5, run 25% faster(tested on 3080)
    • remove Strength from the sd side panel, it has nothing to do with inpainting
    • fix the flaskwebgui version
    Source code(tar.gz)
    Source code(zip)
  • win_one_click_installer(Oct 27, 2022)

  • one_click_installer(Oct 24, 2022)

  • 0.24.2(Oct 23, 2022)

  • 0.24.0(Oct 20, 2022)

    • Add stable-diffusion-inpainting model(sd.5) from https://github.com/runwayml/stable-diffusion. Compared to sd1.4 it has better results
    • new example video 🎉

    https://user-images.githubusercontent.com/3998421/196976498-ba1ad3ab-fa18-4c55-965f-5c6683141375.mp4

    Source code(tar.gz)
    Source code(zip)
  • 0.23.0(Oct 9, 2022)

    1. Bug Fix: correctly pass cv2 config to the server
    2. Feature: press alt/opt and move the mouse left/right to change brush size

    https://user-images.githubusercontent.com/3998421/194760412-581eaa69-12bf-4f33-b8fa-d89d131d1a23.mov

    Source code(tar.gz)
    Source code(zip)
  • 0.22.0(Oct 8, 2022)

    1. Remove the landing page, now you can direct drag the image to the editor

    https://user-images.githubusercontent.com/3998421/194713446-c22e8320-1f12-4910-814b-ae2b0f1a3ade.mov

    https://user-images.githubusercontent.com/3998421/194713757-21b637a1-fc5d-408a-987b-337627a3f33b.mov

    1. Use ctrl+v to paste an image to the editor

    https://user-images.githubusercontent.com/3998421/194713285-0dd5b826-46f7-44d8-b228-8d395d68fdc6.mov

    Source code(tar.gz)
    Source code(zip)
  • 0.21.0(Sep 30, 2022)

    Add three args for sd1.4

    | Name | Description | Default | |-------------------|-------------------------------------------------------------------------------------------------------------------------------| -------- | | --sd-run-local | Once the model are downloaded, you can pass this arg and remove --hf_access_token | | | --sd-disable-nsfw | Disable stable-diffusion NSFW checker. | | | --sd-cpu-textencoder | Always run stable-diffusion TextEncoder model on CPU. | |

    Source code(tar.gz)
    Source code(zip)
  • 0.20.1(Sep 27, 2022)

  • 0.20.0(Sep 25, 2022)

  • 0.19.0(Sep 25, 2022)

  • 0.18.0(Sep 22, 2022)

    To use sd1.4 you need to get an access token from https://huggingface.co/docs/hub/security-tokens

    https://user-images.githubusercontent.com/3998421/192548839-9d0cbfc5-6bf7-4a5a-b556-446878696bdf.mp4

    You need the right prompt and a lot of luck to get good results. Here are some of my test results

    overture-creations-5sI6fQgYIuo

    astronaut

    cat

    fox

    ironman

    Source code(tar.gz)
    Source code(zip)
  • 0.17.0(Sep 5, 2022)

    • [Bug fix] resize strategy will lose some edge mask area
    • Add model from https://github.com/SHI-Labs/FcF-Inpainting

    ||Lama|FcF| |-----|-----|-----| |texture|texture_lama|texture_fcf|

    Source code(tar.gz)
    Source code(zip)
  • 0.16.0(Aug 24, 2022)

  • 0.15.0(Jul 24, 2022)

    High-Resolution Strategy configuration

    Each model has its own independent High-Resolution Strategy configuration.

    Download Mask

    Enable download inpainting mask when download result

    image

    New Model: ZITS

    | Original Image | ZITS | LaMa | | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | zits_original | zits_compare_zits | zits_compare_lama |

    Image is from ZITS paper. I didn't find a good example to show the advantages of ZITS and let me know if you have a good example. There can also be possible problems with my code, if you find them, please let me know too!

    Source code(tar.gz)
    Source code(zip)
  • 0.14.0(Jun 29, 2022)

    • Redo: Now you can Redo the inpainting result
    image
    • Gradually Inpainting(enabled by default): Perform inpainting on the last inpainting result, this makes it possible to further improve the inpainting result. It also helps to keep unmasked previous inpainting regions unchanged
    image
    • Start New change to Upload New: upload new file at editor page
    image Source code(tar.gz)
    Source code(zip)
  • 0.13.0(Jun 12, 2022)

  • 0.12.0(May 27, 2022)

    • bug fix: fix sizeLimit reset after inpainting.
    • ldm model fp16 support, use less GPU memory. Benchmark on 3090

    |Image size| GPU memory| |-----------|-------------| | 720x519 | 6147mb| |1080x778|17499mb|

    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Apr 24, 2022)

    • Manual inpainting mode: It is convenient to use when there are many target objects
    • In manual mode you can undo strokes
    image

    https://user-images.githubusercontent.com/3998421/164982322-4f0baa60-3b38-4ec7-9ea3-36bb0d152117.mp4

    Source code(tar.gz)
    Source code(zip)
  • 0.9.3(Apr 19, 2022)

  • 0.9.2(Apr 18, 2022)

Owner
Qing
Don't Panic. Here is your towel.
Qing
My implementation of Image Inpainting - A deep learning Inpainting model

Image Inpainting What is Image Inpainting Image inpainting is a restorative process that allows for the fixing or removal of unwanted parts within ima

Joshua V Evans 1 Dec 12, 2021
CVPR 2021: "Generating Diverse Structure for Image Inpainting With Hierarchical VQ-VAE"

Diverse Structure Inpainting ArXiv | Papar | Supplementary Material | BibTex This repository is for the CVPR 2021 paper, "Generating Diverse Structure

null 152 Nov 4, 2022
codes for Image Inpainting with External-internal Learning and Monochromic Bottleneck

Image Inpainting with External-internal Learning and Monochromic Bottleneck This repository is for the CVPR 2021 paper: 'Image Inpainting with Externa

null 97 Nov 29, 2022
The pytorch implementation of the paper "text-guided neural image inpainting" at MM'2020

TDANet: Text-Guided Neural Image Inpainting, MM'2020 (Oral) MM | ArXiv This repository implements the paper "Text-Guided Neural Image Inpainting" by L

LisaiZhang 75 Dec 22, 2022
[ICCV'2021] Image Inpainting via Conditional Texture and Structure Dual Generation

[ICCV'2021] Image Inpainting via Conditional Texture and Structure Dual Generation

Xiefan Guo 122 Dec 11, 2022
[ACM MM 2021] Diverse Image Inpainting with Bidirectional and Autoregressive Transformers

Diverse Image Inpainting with Bidirectional and Autoregressive Transformers Installation pip install -r requirements.txt Dataset Preparation Given the

Yingchen Yu 25 Nov 9, 2022
Facial Image Inpainting with Semantic Control

Facial Image Inpainting with Semantic Control In this repo, we provide a model for the controllable facial image inpainting task. This model enables u

Ren Yurui 8 Nov 22, 2021
Unofficial pytorch implementation of 'Image Inpainting for Irregular Holes Using Partial Convolutions'

pytorch-inpainting-with-partial-conv Official implementation is released by the authors. Note that this is an ongoing re-implementation and I cannot f

Naoto Inoue 525 Jan 1, 2023
Incremental Transformer Structure Enhanced Image Inpainting with Masking Positional Encoding (CVPR2022)

Incremental Transformer Structure Enhanced Image Inpainting with Masking Positional Encoding by Qiaole Dong*, Chenjie Cao*, Yanwei Fu Paper and Supple

Qiaole Dong 190 Dec 27, 2022
MAT: Mask-Aware Transformer for Large Hole Image Inpainting

MAT: Mask-Aware Transformer for Large Hole Image Inpainting (CVPR2022, Oral) Wenbo Li, Zhe Lin, Kun Zhou, Lu Qi, Yi Wang, Jiaya Jia [Paper] News This

null 254 Dec 29, 2022
Implementation for "Seamless Manga Inpainting with Semantics Awareness" (SIGGRAPH 2021 issue)

Seamless Manga Inpainting with Semantics Awareness [SIGGRAPH 2021](To appear) | Project Website | BibTex Introduction: Manga inpainting fills up the d

null 101 Jan 1, 2023
Probabilistic Tracklet Scoring and Inpainting for Multiple Object Tracking

Probabilistic Tracklet Scoring and Inpainting for Multiple Object Tracking (CVPR 2021) Pytorch implementation of the ArTIST motion model. In this repo

Fatemeh 38 Dec 12, 2022
Implementation for our ICCV2021 paper: Internal Video Inpainting by Implicit Long-range Propagation

Implicit Internal Video Inpainting Implementation for our ICCV2021 paper: Internal Video Inpainting by Implicit Long-range Propagation paper | project

null 202 Dec 30, 2022
PyTorch Implement of Context Encoders: Feature Learning by Inpainting

Context Encoders: Feature Learning by Inpainting This is the Pytorch implement of CVPR 2016 paper on Context Encoders 1) Semantic Inpainting Demo Inst

null 321 Dec 25, 2022
official Pytorch implementation of ICCV 2021 paper FuseFormer: Fusing Fine-Grained Information in Transformers for Video Inpainting.

FuseFormer: Fusing Fine-Grained Information in Transformers for Video Inpainting By Rui Liu, Hanming Deng, Yangyi Huang, Xiaoyu Shi, Lewei Lu, Wenxiu

null 77 Dec 27, 2022
Implementation of the master's thesis "Temporal copying and local hallucination for video inpainting".

Temporal copying and local hallucination for video inpainting This repository contains the implementation of my master's thesis "Temporal copying and

David Álvarez de la Torre 1 Dec 2, 2022
Official code for "Towards An End-to-End Framework for Flow-Guided Video Inpainting" (CVPR2022)

E2FGVI (CVPR 2022) English | 简体中文 This repository contains the official implementation of the following paper: Towards An End-to-End Framework for Flo

Media Computing Group @ Nankai University 537 Jan 7, 2023