VinAIResearch / CPM

💄 Lipstick ain't enough: Beyond Color-Matching for In-the-Wild Makeup Transfer (CVPR 2021)
https://thaoshibe.github.io/CPM
Apache License 2.0
367 stars 58 forks source link

higher resolution #6

Closed Yijunmaverick closed 3 years ago

Yijunmaverick commented 3 years ago

Thanks for sharing.

Is it possible to run this method on higher-resolution input? or 256 only?

thaoshibe commented 3 years ago

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)

Yijunmaverick commented 3 years ago

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 :)

thaoshibe commented 3 years ago

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:

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!

Yijunmaverick commented 3 years ago

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