Skip to content

Deep Learning in Practice with Python and LUA homework

Notifications You must be signed in to change notification settings

kekesidavid/DeepPurple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image Inpainting for Regular Holes Using Partial Convolutions

Abstract

Image inpainting is the process of restorating a missing, undesired or damaged part of an image. Initially, the technical faults of early cameras (scratches, stains) were corrected by experts while the development of photos. Although nowadays the manipulation of images happens digitally, the proper way of inpainting still requires skilled hands. Many effort have been made to solve the automatization of this method. In this paper we represent our work on applying a model based on partial convolutions to fill missing parts of images with natural looking content.

Team

Logo

Király Zoltán [G24TCR]:

  • adatok előkészítése (méretezés, maszkolás)
  • hálózat elkészítése
  • cloud environent beüzemelése
  • hálózat tanítása

Sándor Mátyás [YHMJTY]:

  • datasetek felkutatása
  • hálózat továbbtanítása checkpoint-ból
  • hiperparaméter optimalizáció

Kékesi Dávid [J9PCWO]:

  • tudományterület feltérképezése
  • adatok beszerzése
  • desktop environment beüzemelése
  • hálózat továbbtanítása checkpoint-ból

Requirements

  • Python 3.6
  • TensorFlow 1.13
  • Keras 2.2.4
  • OpenCV and NumPy (maszkoláshoz)
  • ImageIO (adatelőkészítéshez)

Részletes specifikáció a spec-file.txt fájlban.

How to use

  • VGG16 letöltése és bemásolása a Data mappába VGG16 download

  • a notebooks/network_and_training.ipynb celláinak futtatása a Train model alcímig

    STAGE1 (initial training)

    #Initial weights set from vgg16 pretrained model
    model = PConvUnet(img_rows=256, img_cols=256, vgg_weights='./data/pytorch_vgg16.h5')

    Futtassuk a fenti kódot a VGG16 súlyainak betöltéséhez! Majd a model.fit_generator kezdetű cellát a tanításhoz 60-70 epoch hosszan.

    STAGE2 (fine tuning)

    #Load trained model
    model = PConvUnet(img_rows=256, img_cols=256)
    model.load("./data/log/weights/weights.95-0.90.h5",train_bn=True,lr=0.00015)

    Futtassuk a fenti kódot ModelCheckpoint betöltéséhez! (a fájlnév helyére értelemszerűen az kerüljön amit be szeretnénk tölteni, és másoljuk a path-ban lévő mappába) Majd a model.fit_generator kezdetű cellát a tanításhoz 50-60 epoch hosszan, 0.00005 LearningRate mellett.

    Predictions

    #Load trained model
    model = PConvUnet(img_rows=256, img_cols=256)
    model.load("./data/log/weights/weights.95-0.90.h5",train_bn=True,lr=0.00015)

    Futtassuk a fenti kódot ModelCheckpoint betöltéséhez az előzőekhez hasonlóan! Futtassuk az utolsó cellát a predikciók generálásához! A generált képek a data/log/test_samples mappába kerülnek.

Last Checkpoint

A teljes training elvégzését követően a hálózatunk súlyai az alábbi linken elérhető fájlban találhatóak: weights download

Results

R1 R2 R3 R4

About

Deep Learning in Practice with Python and LUA homework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published