Giter Club home page Giter Club logo

Comments (4)

thaoshibe avatar thaoshibe commented on May 26, 2024 2

Appreciate your question!
Resolution is not a fundamental constraint of CPM. We can use a higher resolution for sharper images.
For example, by using 512x512 UV maps, we can get higher resolution images, as shown in the following figure.

higher_resolution
(From left to right: 256x256 UV map (as shown in the paper), 512x512 UV map, and reference image)

from cpm.

Yijunmaverick avatar Yijunmaverick commented on May 26, 2024

Thanks for the quick reply. Is 512 UV map obtained by another PRNet model or some upsampling technique? I may want to try ever larger size :)

from cpm.

thaoshibe avatar thaoshibe commented on May 26, 2024

For the 512x512 UV map, I used the same PRNet model (no need to retrain).
There's will be another face_ind_512.txt, uv_kpt_ind_512.txt files. (As your request, I'll upload it later).


But it worth noting about this method:

  • [01] Basic (As shown in the paper):
    Input -> UV (256) -> Color (256) | Pattern (256) -> Output Image (256)
  • [02] Higher resolution UV (As shown in previous figure):
    Input -> UV (512) -> Color (256) | Pattern (256)-> Output Image (512)
    (Upsampling used in Pattern Mask & Color transferred TsmC)
  • [3] "Wholesome" Solution:
    Input -> UV (512) -> Color (512) | Pattern (512) -> Output Image (512)

I'm using [2] because that requires no re-train step (PRNet, Color, Pattern).
To be specific, I do use upsampling for intermediate output (Color Transferred (bicubic resize), Pattern Mask (nearest neighbor resize)). (See attached image)
image
(Getting higher resolution, based on [2])


You might wonder why didn't I use [3]? Isn't it the best solution?
To do [3], we'll need to re-train Color Branch & Pattern Branch.
It's feasible, but I haven't done the job due to: time-efficiency (it'll be super slow), dataset (most of the makeup datasets are 256x256 only), etc. ugh!

Hope this helps!

from cpm.

Yijunmaverick avatar Yijunmaverick commented on May 26, 2024

Got it, thanks for explanation. The upsampling makes sense.

from cpm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.