All Projects → shinseung428 → Imagecompletion_incompletedata

shinseung428 / Imagecompletion_incompletedata

Licence: mit
Image completion network using incomplete data

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Imagecompletion incompletedata

Imgnotes
Extension of the jQuery imgViewer plugin to add markers and notes to the image
Stars: ✭ 98 (-10.09%)
Mutual labels:  image
Qr Code With Logo
带头像(logo)的二维码(qrcode)生成工具,无jQuery依赖,自由调整大小
Stars: ✭ 104 (-4.59%)
Mutual labels:  image
Hdimageview
一个加载高清大图支持缩放的控件
Stars: ✭ 107 (-1.83%)
Mutual labels:  image
Shtab
↔️ Automagic shell tab completion for Python CLI applications
Stars: ✭ 99 (-9.17%)
Mutual labels:  completion
Grid
The Guardian’s image management system
Stars: ✭ 1,380 (+1166.06%)
Mutual labels:  image
Vscam
Photography, Communication & Share - Minimalist picture sharing app.
Stars: ✭ 105 (-3.67%)
Mutual labels:  image
React Background Slideshow
Sexy tiled background slideshow for React 🔥
Stars: ✭ 98 (-10.09%)
Mutual labels:  image
Jhform
JhForm - 自定义表单工具,更加简单,快捷的创建表单、设置页面
Stars: ✭ 108 (-0.92%)
Mutual labels:  image
Dataminingnotesandpractice
记录我学习数据挖掘过程的笔记和见到的奇技,持续更新~
Stars: ✭ 103 (-5.5%)
Mutual labels:  machinelearning
Gift
Go Image Filtering Toolkit
Stars: ✭ 1,473 (+1251.38%)
Mutual labels:  image
File Icon
Get the icon of a file or app as a PNG image (macOS)
Stars: ✭ 100 (-8.26%)
Mutual labels:  image
Awesome Anomaly Detection
A curated list of awesome anomaly detection resources
Stars: ✭ 1,378 (+1164.22%)
Mutual labels:  machinelearning
Serverless Image Processor
AWS Lambda image processor
Stars: ✭ 106 (-2.75%)
Mutual labels:  image
Qimage Mac
Mac 版本的 Markdown 一键贴图工具,基于 Alfred 实现,支持本地文件、截图、网络图片一键上传七牛云,使用简单方便
Stars: ✭ 99 (-9.17%)
Mutual labels:  image
Picfit
An image resizing server written in Go
Stars: ✭ 1,589 (+1357.8%)
Mutual labels:  image
Hdc.caffe
Complete Code for "Hard-Aware-Deeply-Cascaded-Embedding"
Stars: ✭ 98 (-10.09%)
Mutual labels:  image
Bimg
Go package for fast high-level image processing powered by libvips C library
Stars: ✭ 1,394 (+1178.9%)
Mutual labels:  image
Gis
gis (go image server) go 实现的图片服务,实现基本的上传,下载,存储,按比例裁剪等功能
Stars: ✭ 108 (-0.92%)
Mutual labels:  image
Piqa
PyTorch Image Quality Assessement package
Stars: ✭ 108 (-0.92%)
Mutual labels:  image
Icat
icat (Image cat) outputs images in 256-color capable terminals.
Stars: ✭ 106 (-2.75%)
Mutual labels:  image

Learning to complete images using incomplete data

Most of the image completion and generative models require fully-observed samples to train the network. However, as it's stated in the ambientGAN paper, obtaining high resolution samples can be very expensive or impractical for some applications.

The model in this project combines ideas from the following works:

  • AmbientGAN
  • Globally and Locally Consistent Image Completion

The AmbientGAN model enables training a generative model directly from noisy or incomplete samples. The generator in the model successfully predicts samples from the true distribution with the use of a measurement function.

On the other hand, the model in Globally and Locally Consistent Image Completion uses fully-observed samples to train the network. The completion network first uses mse loss to pre-train the weights and further uses a discriminator loss to fully train the network.

By combining the ideas presented in ambientGAN and GLCIC paper, the network presented in this project learns to fill incomplete regions using only incomplete data (e.g. images randomly blocked by 28 x 28 patch).

Network

Alt text

Method

Let's assume that we have incomplete samples and we know the type of noise added to the samples.
Instead of using a random latent vector as an input, the completion network gets masked image as an input. Assuming that the completion network successfully generates the masked region, the generated patch is combined together with the input image using the mask information Xg.

Next, the completed image Xg is fed into the measurement function. As described in the AmbientGAN paper, the measurement function tries to simulate the random measurements on the generated objects Xg. This is possible since we know the type of noise added to the fully-observed images. We can create a measurement function that could simulate the noise added to the image.

The resulting image Yg after the measurement function and the incomplete samples Yr are then passed on to the discriminator that distinguishes real measurements from the fake measurements. As the completion network and the discriminator network are trained adversarially, the completion network learns to generate patches that goes well with the incomplete samples.

Dataset

CelebA dataset was used in this project. To create incomplete dataset, the original CelebA image was center cropped by 32x32 patch and was resized to 64x64. Then 28x28 patch was added randomly to the image. The blocked regions were filled with ones.

Alt text

Training

$ python train.py 

To continue training

$ python train.py --continue_training=True

Results

Alt text
Alt text

Conclusion

The resulting images show that the presented model learns to fill incompelte regions. There are some images filled with artifacts and inconsistent colors, but in general the completion network learns to generate patches that goes well with the input image.

Possible Improvements

  • Post-processing to fix color inconsistency

Related Projects

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].